[med-svn] [snap-aligner] 01/01: Imported Upstream version 0.18~1.0~beta.18
Michael Crusoe
misterc-guest at moszumanska.debian.org
Sun Sep 20 04:08:23 UTC 2015
This is an automated email from the git hooks/post-receive script.
misterc-guest pushed a commit to branch upstream
in repository snap-aligner.
commit 7e016afa3b06c04aecc8602dab3a1e45aee888df
Author: Michael R. Crusoe <michael.crusoe at gmail.com>
Date: Sat Sep 19 20:16:13 2015 -0700
Imported Upstream version 0.18~1.0~beta.18
---
.gitignore | 47 +
COPYING | 13 +
LICENSE | 202 +
Makefile | 79 +
README.md | 27 +
SNAPLib/AlignerContext.cpp | 510 +
SNAPLib/AlignerContext.h | 166 +
SNAPLib/AlignerOptions.cpp | 975 +
SNAPLib/AlignerOptions.h | 129 +
SNAPLib/AlignerStats.cpp | 111 +
SNAPLib/AlignerStats.h | 80 +
SNAPLib/AlignmentResult.cpp | 107 +
SNAPLib/AlignmentResult.h | 93 +
SNAPLib/ApproximateCounter.cpp | 40 +
SNAPLib/ApproximateCounter.h | 30 +
SNAPLib/Bam.cpp | 1841 +
SNAPLib/Bam.h | 439 +
SNAPLib/BaseAligner.cpp | 1583 +
SNAPLib/BaseAligner.h | 341 +
SNAPLib/BiasTables.cpp | 78991 +++++++++++++++++++
SNAPLib/BigAlloc.cpp | 572 +
SNAPLib/BigAlloc.h | 177 +
SNAPLib/BufferedAsync.cpp | 223 +
SNAPLib/BufferedAsync.h | 66 +
SNAPLib/ChimericPairedEndAligner.cpp | 208 +
SNAPLib/ChimericPairedEndAligner.h | 101 +
SNAPLib/CommandProcessor.cpp | 182 +
SNAPLib/CommandProcessor.h | 29 +
SNAPLib/Compat.cpp | 2217 +
SNAPLib/Compat.h | 516 +
SNAPLib/DataReader.cpp | 2535 +
SNAPLib/DataReader.h | 210 +
SNAPLib/DataWriter.cpp | 876 +
SNAPLib/DataWriter.h | 271 +
SNAPLib/Error.cpp | 89 +
SNAPLib/Error.h | 34 +
SNAPLib/FASTA.cpp | 198 +
SNAPLib/FASTA.h | 49 +
SNAPLib/FASTQ.cpp | 669 +
SNAPLib/FASTQ.h | 213 +
SNAPLib/FileFormat.h | 108 +
SNAPLib/FixedSizeMap.h | 296 +
SNAPLib/FixedSizeSet.h | 131 +
SNAPLib/FixedSizeVector.h | 72 +
SNAPLib/GenericFile.cpp | 109 +
SNAPLib/GenericFile.h | 75 +
SNAPLib/GenericFile_Blob.cpp | 125 +
SNAPLib/GenericFile_Blob.h | 66 +
SNAPLib/GenericFile_HDFS.cpp | 382 +
SNAPLib/GenericFile_HDFS.h | 106 +
SNAPLib/GenericFile_map.cpp | 71 +
SNAPLib/GenericFile_map.h | 43 +
SNAPLib/GenericFile_stdio.cpp | 94 +
SNAPLib/GenericFile_stdio.h | 44 +
SNAPLib/Genome.cpp | 492 +
SNAPLib/Genome.h | 309 +
SNAPLib/GenomeIndex.cpp | 2067 +
SNAPLib/GenomeIndex.h | 299 +
SNAPLib/GzipDataWriter.cpp | 439 +
SNAPLib/GzipDataWriter.h | 101 +
SNAPLib/HashTable.cpp | 343 +
SNAPLib/HashTable.h | 219 +
SNAPLib/Histogram.cpp | 103 +
SNAPLib/Histogram.h | 55 +
SNAPLib/IntersectingPairedEndAligner.cpp | 1423 +
SNAPLib/IntersectingPairedEndAligner.h | 476 +
SNAPLib/LandauVishkin.cpp | 766 +
SNAPLib/LandauVishkin.h | 512 +
SNAPLib/MultiInputReadSupplier.cpp | 298 +
SNAPLib/MultiInputReadSupplier.h | 111 +
SNAPLib/PairedAligner.cpp | 657 +
SNAPLib/PairedAligner.h | 91 +
SNAPLib/PairedEndAligner.h | 62 +
SNAPLib/PairedReadMatcher.cpp | 433 +
SNAPLib/ParallelTask.cpp | 144 +
SNAPLib/ParallelTask.h | 299 +
SNAPLib/PriorityQueue.h | 117 +
SNAPLib/ProbabilityDistance.cpp | 135 +
SNAPLib/ProbabilityDistance.h | 56 +
SNAPLib/RangeSplitter.cpp | 260 +
SNAPLib/RangeSplitter.h | 132 +
SNAPLib/Read.cpp | 53 +
SNAPLib/Read.h | 860 +
SNAPLib/ReadReader.cpp | 57 +
SNAPLib/ReadSupplierQueue.cpp | 729 +
SNAPLib/ReadSupplierQueue.h | 221 +
SNAPLib/ReadWriter.cpp | 548 +
SNAPLib/SAM.cpp | 1721 +
SNAPLib/SAM.h | 236 +
SNAPLib/SNAPLib.vcxproj | 276 +
SNAPLib/SNAPLib.vcxproj.filters | 342 +
SNAPLib/Seed.cpp | 56 +
SNAPLib/Seed.h | 200 +
SNAPLib/SeedSequencer.cpp | 109 +
SNAPLib/SeedSequencer.h | 388 +
SNAPLib/SingleAligner.cpp | 304 +
SNAPLib/SingleAligner.h | 63 +
SNAPLib/SortedDataWriter.cpp | 507 +
SNAPLib/Tables.cpp | 94 +
SNAPLib/Tables.h | 64 +
SNAPLib/Util.cpp | 177 +
SNAPLib/Util.h | 538 +
SNAPLib/VariableSizeMap.h | 665 +
SNAPLib/VariableSizeVector.h | 250 +
SNAPLib/WindowsFileMapper.h | 36 +
SNAPLib/directions.h | 36 +
SNAPLib/exit.cpp | 42 +
SNAPLib/exit.h | 30 +
SNAPLib/mapq.cpp | 45 +
SNAPLib/mapq.h | 68 +
SNAPLib/options.h | 32 +
SNAPLib/stdafx.cpp | 8 +
SNAPLib/stdafx.h | 53 +
SNAPLib/targetver.h | 8 +
apps/ComputeROC/.gitignore | 2 +
apps/ComputeROC/ComputeROC.cpp | 431 +
apps/ComputeROC/ComputeROC.vcxproj | 173 +
apps/ComputeROC/ComputeROC.vcxproj.filters | 33 +
apps/ComputeROC/stdafx.cpp | 8 +
apps/ComputeROC/stdafx.h | 5 +
apps/ComputeROC/targetver.h | 8 +
apps/DistanceHist/DistanceHist.cpp | 234 +
apps/DistanceHist/DistanceHist.vcxproj | 173 +
apps/DistanceHist/DistanceHist.vcxproj.filters | 33 +
apps/DistanceHist/stdafx.cpp | 8 +
apps/DistanceHist/stdafx.h | 50 +
apps/DistanceHist/targetver.h | 8 +
apps/ExtractReads/ExtractReads.cpp | 109 +
apps/ExtractReads/ExtractReads.vcxproj | 171 +
apps/ExtractReads/ExtractReads.vcxproj.filters | 33 +
apps/ExtractReads/stdafx.cpp | 8 +
apps/ExtractReads/stdafx.h | 5 +
apps/ExtractReads/targetver.h | 8 +
apps/RandomizePIfastq/GoodRandom.cpp | 159 +
apps/RandomizePIfastq/GoodRandom.h | 33 +
apps/RandomizePIfastq/RandomizePIfastq.cpp | 177 +
apps/RandomizePIfastq/RandomizePIfastq.vcxproj | 175 +
.../RandomizePIfastq.vcxproj.filters | 39 +
apps/RandomizePIfastq/stdafx.cpp | 8 +
apps/RandomizePIfastq/stdafx.h | 5 +
apps/RandomizePIfastq/targetver.h | 8 +
apps/SNAPCommand/SNAPCommand.cpp | 105 +
apps/SNAPCommand/SNAPCommand.vcxproj | 162 +
apps/SNAPCommand/SNAPCommand.vcxproj.filters | 30 +
apps/SNAPCommand/stdafx.cpp | 8 +
apps/SNAPCommand/stdafx.h | 50 +
apps/ToFASTQ/ToFASTQ.cpp | 223 +
apps/ToFASTQ/ToFASTQ.vcxproj | 162 +
apps/ToFASTQ/ToFASTQ.vcxproj.filters | 30 +
apps/ToFASTQ/stdafx.cpp | 8 +
apps/ToFASTQ/stdafx.h | 5 +
apps/snap/Main.cpp | 33 +
apps/snap/snap.vcxproj | 184 +
apps/snap/snap.vcxproj.filters | 30 +
apps/snap/stdafx.cpp | 8 +
apps/snap/stdafx.h | 50 +
apps/stringz/GoodRandom.cpp | 159 +
apps/stringz/GoodRandom.h | 33 +
apps/stringz/stdafx.cpp | 8 +
apps/stringz/stdafx.h | 5 +
apps/stringz/stringz.cpp | 245 +
apps/stringz/stringz.vcxproj | 177 +
apps/stringz/stringz.vcxproj.filters | 39 +
apps/stringz/targetver.h | 8 +
apps/wc/stdafx.cpp | 8 +
apps/wc/stdafx.h | 5 +
apps/wc/targetver.h | 8 +
apps/wc/wc.cpp | 259 +
apps/wc/wc.vcxproj | 173 +
apps/wc/wc.vcxproj.filters | 33 +
docs/Manual.docx | Bin 0 -> 37458 bytes
docs/Manual.pdf | Bin 0 -> 213231 bytes
docs/QuickStart.docx | Bin 0 -> 20352 bytes
docs/QuickStart.pdf | Bin 0 -> 57172 bytes
import/libhdfs.lib | Bin 0 -> 499840 bytes
import/pdclibhdfs/inc/exception.h | 172 +
import/pdclibhdfs/inc/expect.h | 120 +
import/pdclibhdfs/inc/hdfs.h | 768 +
import/pdclibhdfs/inc/hdfs_test.h | 39 +
import/pdclibhdfs/inc/jni_helper.h | 128 +
import/pdclibhdfs/inc/native_mini_dfs.h | 104 +
import/pdclibhdfs/inc/stdint.h-xx | 259 +
import/pdclibhdfs/inc/uthash.h | 948 +
import/pdclibhdfs/libhdfs.sln | 26 +
import/pdclibhdfs/libhdfs/ReadMe.txt | 37 +
import/pdclibhdfs/libhdfs/libhdfs.vcxproj | 165 +
import/pdclibhdfs/libhdfs/libhdfs.vcxproj.filters | 66 +
import/pdclibhdfs/libhdfs/stdafx.cpp | 8 +
import/pdclibhdfs/libhdfs/stdafx.h | 14 +
import/pdclibhdfs/libhdfs/targetver.h | 8 +
import/pdclibhdfs/src/.cmake.state | Bin 0 -> 746068 bytes
import/pdclibhdfs/src/LICENSE.txt | 271 +
import/pdclibhdfs/src/NOTICE.txt | 2 +
import/pdclibhdfs/src/TstOpsHdfs.tdprj.xml | 40 +
import/pdclibhdfs/src/TstReadHdfs.tdprj.xml | 40 +
import/pdclibhdfs/src/TstWriteHdfs.tdprj.xml | 40 +
import/pdclibhdfs/src/exception.c | 232 +
import/pdclibhdfs/src/hdfs.c | 3016 +
import/pdclibhdfs/src/jni_helper.c | 1181 +
import/pdclibhdfs/src/makefile.twb | 88 +
import/pdclibhdfs/src/makefile.twb.options | 5 +
import/pdclibhdfs/src/native_mini_dfs.c | 274 +
import/pdclibhdfs/src/pdclibhdfs.tdprj.xml | 196 +
import/pdclibhdfs/src/test_libhdfs_ops.c | 582 +
import/pdclibhdfs/src/test_libhdfs_read.c | 79 +
import/pdclibhdfs/src/test_libhdfs_threaded.c | 310 +
import/pdclibhdfs/src/test_libhdfs_write.c | 103 +
import/pdclibhdfs/src/test_native_mini_dfs.c | 41 +
import/zconf.h | 511 +
import/zlib.h | 1768 +
import/zlibstat.lib | Bin 0 -> 773824 bytes
scripts/testhdfs.bat | 28 +
snap.sln | 189 +
tests/.gitignore | 1 +
tests/EventTest.cpp | 137 +
tests/LandauVishkinTest.cpp | 129 +
tests/ProbabilityDistanceTest.cpp | 70 +
tests/TestLib.cpp | 43 +
tests/TestLib.h | 152 +
tests/bin/ValidateSamFile.jar | Bin 0 -> 976301 bytes
tests/bin/diff.exe | Bin 0 -> 68608 bytes
tests/bin/grep.exe | Bin 0 -> 81408 bytes
tests/bin/gzip.exe | Bin 0 -> 50688 bytes
tests/bin/msys-1.0.dll | Bin 0 -> 743240 bytes
tests/bin/samtools.exe | Bin 0 -> 460800 bytes
tests/bin/sort.exe | Bin 0 -> 22528 bytes
tests/datatest.py | 109 +
tests/datatest/.gitignore | 1 +
tests/datatest/ValidateSamFile.jar | Bin 0 -> 947804 bytes
tests/datatest/correct-fq-datatest.sam | 5 +
tests/datatest/correct-fq-datatest2.sam | 6 +
tests/datatest/correct-sam-datatest.sam | 6 +
tests/datatest/correct-sam-datatest2.sam | 7 +
tests/datatest/datatest.bam | Bin 0 -> 612 bytes
tests/datatest/datatest.fa | 3 +
tests/datatest/datatest.fq | 8 +
tests/datatest/datatest.sam | 6 +
tests/datatest/datatest2.fa | 6 +
tests/dup_reads.py | 42 +
tests/filetest.py | 175 +
tests/main.cpp | 7 +
tests/tests.vcxproj | 172 +
tests/tests.vcxproj.filters | 39 +
243 files changed, 133510 insertions(+)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7bcbe86
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,47 @@
+# Compiled Object files
+*.slo
+*.lo
+*.o
+*.obj
+
+# Compiled Dynamic libraries
+*.so
+
+# Compiled Static libraries
+*.lai
+*.la
+*.a
+
+~*
+*~
+
+*.swp
+*.swo
+*.o
+*.d
+*.exe
+
+# Visual Studio files
+*.sdf
+*.opensdf
+*.vcxproj.user
+*.suo
+ipch
+obj
+*.vsp
+*.vspx
+*.psess
+*.tlog
+*.lastbuildstate
+*.pch
+*.idb
+*.pdb
+*.log
+*.unsuccessfulbuild
+
+# Compiled binaries
+/snap
+/unit_tests
+/SNAPCommand
+/SNAP
+/snap-aligner
diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..c234b11
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,13 @@
+Copyright 2012, Regents of the University of California.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..0f3cda8
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,79 @@
+ifndef CXXFLAGS
+ CXXFLAGS = -O3 -Wno-format
+endif
+
+CXXFLAGS += -MMD -ISNAPLib -msse
+
+LDFLAGS += -pthread
+
+#LIBHDFS_HOME = ../hadoop-2.2.0-src/hadoop-hdfs-project/hadoop-hdfs/src/main/native/libhdfs
+#JAVA_HOME = /usr/lib/jvm/java-7-oracle
+
+ifdef LIBHDFS_HOME
+ CXXFLAGS += -DSNAP_HDFS -I$(LIBHDFS_HOME)
+ LDFLAGS += -L$(LIBHDFS_HOME) -L$(JAVA_HOME)/jre/lib/amd64/server -L$(JAVA_HOME)/jre/lib/amd64
+ LIBS += -lhdfs -ljvm
+endif
+
+UNAME := $(shell uname)
+
+ifeq ($(UNAME), Linux)
+ LIBS += -lrt -lz
+endif
+
+ifeq ($(UNAME), Darwin)
+ LIBS += -lz
+endif
+
+CXX = g++
+
+LIB_SRC = $(wildcard SNAPLib/*.cpp)
+LIB_OBJ = $(patsubst %.cpp, %.o, $(LIB_SRC))
+
+SNAP_SRC = $(wildcard apps/snap/*.cpp)
+TEST_SRC = $(wildcard tests/*.cpp)
+ROC_SRC = $(wildcard apps/ComputeROC/*.cpp)
+SNAPCOMMAND_SRC = $(wildcard apps/SNAPCommand/*.cpp)
+
+SNAP_OBJ = $(patsubst %.cpp, %.o, $(SNAP_SRC))
+TEST_OBJ = $(patsubst %.cpp, %.o, $(TEST_SRC))
+ROC_OBJ = $(patsubst %.cpp, %.o, $(ROC_SRC))
+SNAPCOMMAND_OBJ = $(patsubst %.cpp, %.o, $(SNAPCOMMAND_SRC))
+
+ALL_OBJ = $(LIB_OBJ) $(SNAP_OBJ) $(TEST_OBJ) $(SNAPCOMMAND_OBJ)
+
+DEPS = $(pathsubst %.o, %.d, $(ALL_OBJ))
+
+EXES = snap-aligner unit_tests SNAPCommand
+
+default: $(EXES)
+
+-include $(pathsubst %.o, %.d, $(ALL_OBJ))
+
+$(OBJS): %.o : %.cpp
+ $(CXX) -o $@ $(CXXFLAGS) -c $<
+
+snap-aligner: $(LIB_OBJ) $(SNAP_OBJ)
+ $(CXX) -o $@ $(CXXFLAGS) -Itests $(LDFLAGS) $^ $(LIBS)
+
+SNAPCommand: $(LIB_OBJ) $(SNAPCOMMAND_OBJ)
+ echo SNAPCOMMAND_OBJ is $(SNAPCOMMAND_OBJ)
+ echo SNAP_OBJ is $(SNAP_OBJ)
+ $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) $^ $(LIBS)
+
+snapxl:
+ make clean
+ make snap CXXFLAGS="-DLONG_READS $(CXXFLAGS)"
+ mv snap snapxl
+ make clean
+
+roc: $(LIB_OBJ) $(ROC_OBJ)
+ $(CXX) -o $@ $(CXXFLAGS) -Itests $(LDFLAGS) $^ $(LIBS)
+
+unit_tests: $(LIB_OBJ) $(TEST_OBJ)
+ $(CXX) -o $@ $(CXXFLAGS) -Itests $(LDFLAGS) $^ $(LIBS)
+
+clean:
+ rm -f $(ALL_OBJ) $(DEPS) $(EXES) snap SNAP
+
+.phony: clean default
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..27be663
--- /dev/null
+++ b/README.md
@@ -0,0 +1,27 @@
+# SNAP
+
+Scalable Nucleotide Alignment Program - <http://snap.cs.berkeley.edu>
+
+## Overview
+
+SNAP is a fast and accurate aligner for short DNA reads. It is optimized for
+modern read lengths of 100 bases or higher, and takes advantage of these reads
+to align data quickly through a hash-based indexing scheme.
+
+## Documentation
+
+A quick start guide and user manual are available in the `docs` folder, with
+additional documentation at <http://snap.cs.berkeley.edu>.
+
+## Building
+
+SNAP runs on Windows, Linux and Mac OS X.
+
+For Windows, we provide a Visual C++ project, `snap.sln`. Requirements:
+- Visual Studio 2012 (11.0)
+
+For Linux and OS X, simply type `make`. Requirements:
+- g++ version 4.6
+- zlib 1.2.8 from http://zlib.net/
+
+
diff --git a/SNAPLib/AlignerContext.cpp b/SNAPLib/AlignerContext.cpp
new file mode 100644
index 0000000..90a0646
--- /dev/null
+++ b/SNAPLib/AlignerContext.cpp
@@ -0,0 +1,510 @@
+/*++
+
+
+Module Name:
+
+ AlignerContext.cpp
+
+Abstract:
+
+ Common parameters for running single & paired alignment.
+
+Authors:
+
+ Ravi Pandya, May, 2012
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+ Integrated from SingleAligner.cpp & PairedAligner.cpp
+
+--*/
+
+#include "stdafx.h"
+#include "Compat.h"
+#include "options.h"
+#include "AlignerOptions.h"
+#include "AlignerContext.h"
+#include "AlignerStats.h"
+#include "BaseAligner.h"
+#include "FileFormat.h"
+#include "exit.h"
+#include "PairedAligner.h"
+#include "Error.h"
+#include "Util.h"
+#include "CommandProcessor.h"
+
+using std::max;
+using std::min;
+
+//
+// Save the index & index directory globally so that we don't need to reload them on multiple runs.
+//
+GenomeIndex *g_index = NULL;
+char *g_indexDirectory = NULL;
+
+AlignerContext::AlignerContext(int i_argc, const char **i_argv, const char *i_version, AlignerExtension* i_extension)
+ :
+ index(NULL),
+ writerSupplier(NULL),
+ options(NULL),
+ stats(NULL),
+ extension(i_extension != NULL ? i_extension : new AlignerExtension()),
+ readWriter(NULL),
+ argc(i_argc),
+ argv(i_argv),
+ version(i_version),
+ perfFile(NULL)
+{
+}
+
+AlignerContext::~AlignerContext()
+{
+ delete extension;
+ if (NULL != perfFile) {
+ fclose(perfFile);
+ }
+}
+
+void AlignerContext::runAlignment(int argc, const char **argv, const char *version, unsigned *argsConsumed)
+{
+ options = parseOptions(argc, argv, version, argsConsumed, isPaired());
+
+ if (NULL == options) { // Didn't parse correctly
+ *argsConsumed = argc;
+ return;
+ }
+
+#ifdef _MSC_VER
+ useTimingBarrier = options->useTimingBarrier;
+#endif
+
+ if (!initialize()) {
+ return;
+ }
+ extension->initialize();
+
+ if (! extension->skipAlignment()) {
+ WriteStatusMessage("Aligning.\n");
+
+ beginIteration();
+
+ runTask();
+
+ finishIteration();
+
+ printStatsHeader();
+
+ printStats();
+
+ nextIteration(); // This probably should get rolled into something else; it's really cleanup code, not "next iteration"
+ }
+
+ extension->finishAlignment();
+ PrintBigAllocProfile();
+ PrintWaitProfile();
+}
+
+ void
+AlignerContext::initializeThread()
+{
+ stats = newStats(); // separate copy per thread
+ stats->extra = extension->extraStats();
+ readWriter = writerSupplier != NULL ? writerSupplier->getWriter() : NULL;
+ extension = extension->copy();
+}
+
+ void
+AlignerContext::runThread()
+{
+ extension->beginThread();
+ runIterationThread();
+ if (readWriter != NULL) {
+ readWriter->close();
+ delete readWriter;
+ }
+ extension->finishThread();
+}
+
+ void
+AlignerContext::finishThread(AlignerContext* common)
+{
+ common->stats->add(stats);
+ delete stats;
+ stats = NULL;
+ delete extension;
+ extension = NULL;
+}
+
+ bool
+AlignerContext::initialize()
+{
+ if (g_indexDirectory == NULL || strcmp(g_indexDirectory, options->indexDir) != 0) {
+ delete g_index;
+ g_index = NULL;
+ delete g_indexDirectory;
+ g_indexDirectory = new char [strlen(options->indexDir) + 1];
+ strcpy(g_indexDirectory, options->indexDir);
+
+ if (strcmp(options->indexDir, "-") != 0) {
+ WriteStatusMessage("Loading index from directory... ");
+
+ fflush(stdout);
+ _int64 loadStart = timeInMillis();
+ index = GenomeIndex::loadFromDirectory((char*) options->indexDir, options->mapIndex, options->prefetchIndex);
+ if (index == NULL) {
+ WriteErrorMessage("Index load failed, aborting.\n");
+ return false;
+ }
+ g_index = index;
+
+ _int64 loadTime = timeInMillis() - loadStart;
+ WriteStatusMessage("%llds. %u bases, seed size %d\n",
+ loadTime / 1000, index->getGenome()->getCountOfBases(), index->getSeedLength());
+ } else {
+ WriteStatusMessage("no alignment, input/output only\n");
+ }
+ } else {
+ index = g_index;
+ }
+
+ maxHits_ = options->maxHits;
+ maxDist_ = options->maxDist;
+ extraSearchDepth = options->extraSearchDepth;
+ noUkkonen = options->noUkkonen;
+ noOrderedEvaluation = options->noOrderedEvaluation;
+ noTruncation = options->noTruncation;
+ maxSecondaryAlignmentAdditionalEditDistance = options->maxSecondaryAlignmentAdditionalEditDistance;
+ maxSecondaryAlignments = options->maxSecondaryAlignments;
+ maxSecondaryAlignmentsPerContig = options->maxSecondaryAlignmentsPerContig;
+
+ if (maxSecondaryAlignmentAdditionalEditDistance < 0 && (maxSecondaryAlignments < 1000000 || maxSecondaryAlignmentsPerContig > 0)) {
+ WriteErrorMessage("You set -omax and/or -mpc without setting -om. They're meaningful only in the context of -om, so you probably didn't really mean to do that.\n");
+ soft_exit(1);
+ }
+ minReadLength = options->minReadLength;
+
+ if (index != NULL && (int)minReadLength < index->getSeedLength()) {
+ WriteErrorMessage("The min read length (%d) must be at least the seed length (%d), or there's no hope of aligning reads that short.\n", minReadLength, index->getSeedLength());
+ return false;
+ }
+
+ if (options->perfFileName != NULL) {
+ perfFile = fopen(options->perfFileName,"a");
+ if (NULL == perfFile) {
+ WriteErrorMessage("Unable to open perf file '%s'\n", options->perfFileName);
+ return false;
+ }
+ }
+
+ DataSupplier::ThreadCount = options->numThreads;
+
+ return true;
+}
+
+ void
+AlignerContext::printStatsHeader()
+{
+ WriteStatusMessage("Total Reads Aligned, MAPQ >= %2d Aligned, MAPQ < %2d Unaligned Too Short/Too Many Ns %%Pairs\tReads/s Time in Aligner (s)\n", MAPQ_LIMIT_FOR_SINGLE_HIT, MAPQ_LIMIT_FOR_SINGLE_HIT);
+}
+
+ void
+AlignerContext::beginIteration()
+{
+ writerSupplier = NULL;
+ alignStart = timeInMillis();
+ clipping = options->clipping;
+ totalThreads = options->numThreads;
+ bindToProcessors = options->bindToProcessors;
+ maxDist = maxDist_;
+ maxHits = maxHits_;
+ numSeedsFromCommandLine = options->numSeedsFromCommandLine;
+ seedCoverage = options->seedCoverage;
+ minWeightToCheck = options->minWeightToCheck;
+ if (stats != NULL) {
+ delete stats;
+ }
+ stats = newStats();
+ stats->extra = extension->extraStats();
+ extension->beginIteration();
+
+ memset(&readerContext, 0, sizeof(readerContext));
+ readerContext.clipping = options->clipping;
+ readerContext.defaultReadGroup = options->defaultReadGroup;
+ readerContext.genome = index != NULL ? index->getGenome() : NULL;
+ readerContext.ignoreSecondaryAlignments = options->ignoreSecondaryAlignments;
+ readerContext.ignoreSupplementaryAlignments = options->ignoreSecondaryAlignments; // Maybe we should split them out
+ DataSupplier::ExpansionFactor = options->expansionFactor;
+
+ typeSpecificBeginIteration();
+
+ if (UnknownFileType != options->outputFile.fileType) {
+ const FileFormat* format;
+ if (SAMFile == options->outputFile.fileType) {
+ format = FileFormat::SAM[options->useM];
+ } else if (BAMFile == options->outputFile.fileType) {
+ format = FileFormat::BAM[options->useM];
+ } else {
+ //
+ // This shouldn't happen, because the command line parser should catch it. Perhaps you've added a new output file format and just
+ // forgoten to add it here.
+ //
+ WriteErrorMessage("AlignerContext::beginIteration(): unknown file type %d for '%s'\n", options->outputFile.fileType, options->outputFile.fileName);
+ soft_exit(1);
+ }
+ format->setupReaderContext(options, &readerContext);
+
+ writerSupplier = format->getWriterSupplier(options, readerContext.genome);
+ ReadWriter* headerWriter = writerSupplier->getWriter();
+ headerWriter->writeHeader(readerContext, options->sortOutput, argc, argv, version, options->rgLineContents, options->outputFile.omitSQLines);
+ headerWriter->close();
+ delete headerWriter;
+ }
+}
+
+ void
+AlignerContext::finishIteration()
+{
+ extension->finishIteration();
+
+ if (NULL != writerSupplier) {
+ writerSupplier->close();
+ delete writerSupplier;
+ writerSupplier = NULL;
+ }
+
+ alignTime = /*timeInMillis() - alignStart -- use the time from ParallelTask.h, that may exclude memory allocation time*/ time;
+}
+
+ bool
+AlignerContext::nextIteration()
+{
+ //
+ // This thing is a vestage of when we used to allow parameter ranges.
+ //
+ typeSpecificNextIteration();
+ return false;
+}
+
+extern char *FormatUIntWithCommas(_uint64 val, char *outputBuffer, size_t outputBufferSize); // Relying on the one in Util.h results in an "internal compiler error" for Visual Studio.
+
+//
+// Take an integer and a percentage, and turn it into a string of the form "number (percentage%)<padding>" where
+// number has commas and the whole thing is padded out with spaces to a specific length.
+//
+char *numPctAndPad(char *buffer, _uint64 num, double pct, size_t desiredWidth, size_t bufferLen)
+{
+ _ASSERT(desiredWidth < bufferLen); // < to leave room for trailing null.
+
+ FormatUIntWithCommas(num, buffer, bufferLen);
+ const size_t percentageBufferSize = 100; // Plenty big enough for any value
+ char percentageBuffer[percentageBufferSize];
+
+ sprintf(percentageBuffer, " (%.02f%%)", pct);
+ if (strlen(percentageBuffer) + strlen(buffer) >= bufferLen) {
+ WriteErrorMessage("numPctAndPad: overflowed output buffer\n");
+ soft_exit(1);
+ }
+
+ strcat(buffer, percentageBuffer);
+ for (size_t x = strlen(buffer); x < desiredWidth; x++) {
+ strcat(buffer, " ");
+ }
+
+ return buffer;
+}
+
+ void
+AlignerContext::printStats()
+{
+ double usefulReads = max((double) stats->usefulReads, 1.0);
+
+ const size_t strBufLen = 50; // Way more than enough for 64 bit numbers with commas
+ char tooShort[strBufLen];
+ char single[strBufLen];
+ char multi[strBufLen];
+ char unaligned[strBufLen];
+ char numReads[strBufLen];
+ char readsPerSecond[strBufLen];
+ char alignTimeString[strBufLen];
+
+ WriteStatusMessage("%-14s %s %s %s %s %.02f%%%\t%-9s %s\n",
+ FormatUIntWithCommas(stats->totalReads, numReads, strBufLen),
+ numPctAndPad(single, stats->singleHits, 100.0 * stats->singleHits / stats->totalReads, 22, strBufLen),
+ numPctAndPad(multi, stats->multiHits, 100.0 * stats->multiHits / stats->totalReads, 22, strBufLen),
+ numPctAndPad(unaligned, stats->notFound, 100.0 * stats->notFound / stats->totalReads, 22, strBufLen),
+ numPctAndPad(tooShort, stats->totalReads - stats->usefulReads, 100.0 * (stats->totalReads - stats->usefulReads) / max(stats->totalReads, (_int64)1), 22, strBufLen),
+ 100.0 * stats->alignedAsPairs / stats->totalReads,
+ FormatUIntWithCommas((unsigned _int64)(1000 * stats->totalReads / max(alignTime, (_int64)1)), readsPerSecond, strBufLen), // Aligntime is in ms
+ FormatUIntWithCommas((alignTime + 500) / 1000, alignTimeString, strBufLen)
+ );
+
+ if (NULL != perfFile) {
+ fprintf(perfFile, "%d\t%d\t%0.2f%%\t%0.2f%%\t%0.2f%%\t%0.2f%%\t%0.2f%%\t%lld\t%lld\tt%.0f\n",
+ maxHits_, maxDist_,
+ 100.0 * usefulReads / max(stats->totalReads, (_int64) 1),
+ 100.0 * stats->singleHits / stats->totalReads,
+ 100.0 * stats->multiHits / stats->totalReads,
+ 100.0 * stats->notFound / stats->totalReads,
+ stats->lvCalls,
+ 100.0 * stats->alignedAsPairs / stats->totalReads,
+ stats->totalReads,
+ (1000.0 * usefulReads) / max(alignTime, (_int64) 1));
+
+ fprintf(perfFile,"\n");
+ }
+
+
+#if TIME_HISTOGRAM
+ WriteStatusMessage("Per-read alignment time histogram:\nlog2(ns)\tcount\ttotal time (ns)\n");
+ for (int i = 0; i < 31; i++) {
+ WriteStatusMessage("%d\t%lld\t%lld\n", i, stats->countByTimeBucket[i], stats->nanosByTimeBucket[i]);
+ }
+#endif // TIME_HISTOGRAM
+
+
+ stats->printHistograms(stdout);
+
+#ifdef TIME_STRING_DISTANCE
+ WriteStatusMessage("%llds, %lld calls in BSD noneClose, not -1\n", stats->nanosTimeInBSD[0][1]/1000000000, stats->BSDCounts[0][1]);
+ WriteStatusMessage("%llds, %lld calls in BSD noneClose, -1\n", stats->nanosTimeInBSD[0][0]/1000000000, stats->BSDCounts[0][0]);
+ WriteStatusMessage("%llds, %lld calls in BSD close, not -1\n", stats->nanosTimeInBSD[1][1]/1000000000, stats->BSDCounts[1][1]);
+ WriteStatusMessage("%llds, %lld calls in BSD close, -1\n", stats->nanosTimeInBSD[1][0]/1000000000, stats->BSDCounts[1][0]);
+ WriteStatusMessage("%llds, %lld calls in Hamming\n", stats->hammingNanos/1000000000, stats->hammingCount);
+#endif // TIME_STRING_DISTANCE
+
+ extension->printStats();
+}
+
+
+
+ AlignerOptions*
+AlignerContext::parseOptions(
+ int i_argc,
+ const char **i_argv,
+ const char *i_version,
+ unsigned *argsConsumed,
+ bool paired)
+{
+ argc = i_argc;
+ argv = i_argv;
+ version = i_version;
+
+ AlignerOptions *options;
+
+ if (paired) {
+ options = new PairedAlignerOptions("snap paired <index-dir> <inputFile(s)> [<options>] where <input file(s)> is a list of files to process.\n");
+ } else {
+ options = new AlignerOptions("snap single <index-dir> <inputFile(s)> [<options>] where <input file(s)> is a list of files to process.\n");
+ }
+
+ options->extra = extension->extraOptions();
+ if (argc < 3) {
+ WriteErrorMessage("Too few parameters\n");
+ options->usage();
+ delete options;
+ return NULL;
+ }
+
+ options->indexDir = argv[1];
+ struct InputList {
+ SNAPFile input;
+ InputList* next;
+ } *inputList = NULL;
+
+ //
+ // Now build the input array and parse options.
+ //
+
+ bool inputFromStdio = false;
+
+ int i;
+ int nInputs = 0;
+ for (i = 2; i < argc; i++) { // Starting at 2 skips single/paired and the index
+
+ if (',' == argv[i][0] && '\0' == argv[i][1]) {
+ i++; // Consume the comma
+ break;
+ }
+
+ int argsConsumed;
+ SNAPFile input;
+ if (SNAPFile::generateFromCommandLine(argv+i, argc-i, &argsConsumed, &input, paired, true)) {
+ if (input.isStdio) {
+ if (CommandPipe != NULL) {
+ WriteErrorMessage("You may not use stdin/stdout in daemon mode\n");
+ delete options;
+ return NULL;
+ }
+
+ if (inputFromStdio) {
+ WriteErrorMessage("You specified stdin ('-') specified for more than one input, which isn't permitted.\n");
+ delete options;
+ return NULL;
+ } else {
+ inputFromStdio = true;
+ }
+ }
+
+ InputList *listEntry = new InputList;
+ listEntry->input = input;
+ listEntry->next = inputList;
+ inputList = listEntry; // Yes, this puts them in backwards. a) We reverse them at the end and b) it doesn't matter anyway
+
+ nInputs++;
+ i += argsConsumed - 1;
+ continue;
+ }
+
+ bool done;
+ int oldI = i;
+ if (!options->parse(argv, argc, i, &done)) {
+ WriteErrorMessage("Didn't understand options starting at %s\n", argv[oldI]);
+ options->usage();
+ delete options;
+ return NULL;
+ }
+
+ if (done) {
+ i++; // For the ',' arg
+ break;
+ }
+ }
+
+ if (0 == nInputs) {
+ WriteErrorMessage("No input files specified.\n");
+ delete options;
+ return NULL;
+ }
+
+ if (options->maxDist + options->extraSearchDepth >= MAX_K) {
+ WriteErrorMessage("You specified too large of a maximum edit distance combined with extra search depth. The must add up to less than %d.\n", MAX_K);
+ WriteErrorMessage("Either reduce their sum, or change MAX_K in LandauVishkin.h and recompile.\n");
+ delete options;
+ return NULL;
+ }
+
+ if (options->maxSecondaryAlignmentAdditionalEditDistance > (int)options->extraSearchDepth) {
+ WriteErrorMessage("You can't have the max edit distance for secondary alignments (-om) be bigger than the max search depth (-D)\n");
+ delete options;
+ return NULL;
+ }
+
+ options->nInputs = nInputs;
+ options->inputs = new SNAPFile[nInputs];
+ for (int j = nInputs - 1; j >= 0; j --) {
+ // The loop runs backwards so that we reverse the reversing that we did when we built it. Not that it matters anyway.
+ _ASSERT(NULL != inputList);
+ options->inputs[j] = inputList->input;
+ InputList *dying = inputList;
+ inputList = inputList->next;
+ delete dying;
+ }
+ _ASSERT(NULL == inputList);
+
+ *argsConsumed = i;
+ return options;
+}
diff --git a/SNAPLib/AlignerContext.h b/SNAPLib/AlignerContext.h
new file mode 100644
index 0000000..5226788
--- /dev/null
+++ b/SNAPLib/AlignerContext.h
@@ -0,0 +1,166 @@
+/*++
+
+Module Name:
+
+ AlignerContext.h
+
+Abstract:
+
+ Common parameters for running single & paired alignment.
+
+Authors:
+
+ Ravi Pandya, May, 2012
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+ Integrated from SingleAligner.cpp & PairedAligner.cpp
+
+--*/
+
+#pragma once
+#include "stdafx.h"
+#include "Genome.h"
+#include "RangeSplitter.h"
+#include "AlignerOptions.h"
+#include "AlignerStats.h"
+#include "ParallelTask.h"
+#include "GenomeIndex.h"
+
+class AlignerExtension;
+
+
+/*++
+ Common context state shared across threads during alignment process
+--*/
+class AlignerContext : public TaskContextBase
+{
+public:
+
+ AlignerContext(int i_argc, const char **i_argv, const char *i_version, AlignerExtension* i_extension = NULL);
+
+ ~AlignerContext();
+
+ // running alignment
+
+ void runAlignment(int argc, const char **argv, const char *version, unsigned *nArgsConsumed);
+
+ // ParallelTask template
+
+ void initializeThread();
+
+ void runThread();
+
+ void finishThread(AlignerContext* common);
+
+ void printStatsHeader();
+
+ void printStats();
+
+ void beginIteration();
+
+ void finishIteration();
+
+ // advance to next iteration in range, return false when past end
+ bool nextIteration();
+
+ // overrideable by concrete single/paired alignment subclasses
+
+ // parse options from the command line
+ AlignerOptions* parseOptions(int argc, const char **argv, const char *version, unsigned *argsConsumed, bool paired);
+
+ // initialize from options
+ virtual bool initialize();
+
+ // new stats object
+ virtual AlignerStats* newStats() = 0;
+
+ // instantiate and run a parallel task
+ virtual void runTask() = 0;
+
+ // run single thread within single iteration
+ virtual void runIterationThread() = 0;
+
+ virtual void typeSpecificBeginIteration() = 0;
+ virtual void typeSpecificNextIteration() = 0;
+
+ virtual bool isPaired() = 0;
+
+ friend class AlignerContext2;
+
+ // common state across all threads
+ GenomeIndex *index;
+ ReadWriterSupplier *writerSupplier;
+ ReaderContext readerContext;
+ _int64 alignStart;
+ _int64 alignTime;
+ AlignerOptions *options;
+ AlignerStats *stats;
+ AlignerExtension *extension;
+ unsigned maxDist;
+ unsigned numSeedsFromCommandLine;
+ double seedCoverage;
+ unsigned minWeightToCheck;
+ int maxHits;
+ bool detailedStats;
+ ReadClippingType clipping;
+ unsigned extraSearchDepth;
+ int argc;
+ const char **argv;
+ const char *version;
+ FILE *perfFile;
+ bool noUkkonen;
+ bool noOrderedEvaluation;
+ bool noTruncation;
+ int maxSecondaryAlignmentAdditionalEditDistance;
+ int maxSecondaryAlignments;
+ int maxSecondaryAlignmentsPerContig;
+ unsigned minReadLength;
+
+
+ // iteration variables
+ int maxHits_;
+ int maxDist_;
+
+ // Per-thread context state used during alignment process
+ ReadWriter *readWriter;
+};
+
+// abstract class for extending base context
+
+class AlignerExtension
+{
+public:
+
+ virtual ~AlignerExtension() {}
+
+ virtual AbstractOptions* extraOptions() { return NULL; }
+
+ virtual AbstractStats* extraStats() { return NULL; }
+
+ virtual bool skipAlignment() { return false; }
+
+ virtual void initialize() {}
+
+ virtual void beginIteration() {}
+
+ virtual AlignerExtension* copy() { return new AlignerExtension(); }
+
+ virtual void beginThread() {}
+
+ virtual bool runIterationThread(PairedReadSupplier* supplier, AlignerContext* threadContext) { return false; }
+
+ virtual bool runIterationThread(ReadSupplier* supplier, AlignerContext* threadContext) { return false; }
+
+ virtual void finishThread() {}
+
+ virtual void finishIteration() {}
+
+ virtual void printStats() {}
+
+ virtual void finishAlignment() {}
+};
diff --git a/SNAPLib/AlignerOptions.cpp b/SNAPLib/AlignerOptions.cpp
new file mode 100644
index 0000000..85ee223
--- /dev/null
+++ b/SNAPLib/AlignerOptions.cpp
@@ -0,0 +1,975 @@
+/*++
+
+Module Name:
+
+ AlignerOptions.cpp
+
+Abstract:
+
+ Common parameters for running single & paired alignment.
+
+Authors:
+
+ Ravi Pandya, May, 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Integrated from SingleAligner.cpp & PairedAligner.cpp
+
+--*/
+
+#include "stdafx.h"
+#include "options.h"
+#include "AlignerOptions.h"
+#include "FASTQ.h"
+#include "SAM.h"
+#include "Bam.h"
+#include "exit.h"
+#include "Error.h"
+#include "BaseAligner.h"
+#include "CommandProcessor.h"
+
+AlignerOptions::AlignerOptions(
+ const char* i_commandLine,
+ bool forPairedEnd)
+ :
+ commandLine(i_commandLine),
+ indexDir(NULL),
+ similarityMapFile(NULL),
+ numThreads(GetNumberOfProcessors()),
+ bindToProcessors(true),
+ ignoreMismatchedIDs(false),
+ clipping(ClipBack),
+ sortOutput(false),
+ noIndex(false),
+ noDuplicateMarking(false),
+ noQualityCalibration(false),
+ sortMemory(0),
+ filterFlags(0),
+ explorePopularSeeds(false),
+ stopOnFirstHit(false),
+ useM(true),
+ gapPenalty(0),
+ extra(NULL),
+ rgLineContents("@RG\tID:FASTQ\tPL:Illumina\tPU:pu\tLB:lb\tSM:sm"),
+ perfFileName(NULL),
+ useTimingBarrier(false),
+ extraSearchDepth(2),
+ defaultReadGroup("FASTQ"),
+ seedCountSpecified(false),
+ minWeightToCheck(1),
+ numSeedsFromCommandLine(0),
+ ignoreSecondaryAlignments(true),
+ maxSecondaryAlignmentAdditionalEditDistance(-1),
+ maxSecondaryAlignments(0x7fffffff),
+ maxSecondaryAlignmentsPerContig(-1), // -1 means don't limit
+ preserveClipping(false),
+ expansionFactor(1.0),
+ noUkkonen(false),
+ noOrderedEvaluation(false),
+ noTruncation(false),
+ minReadLength(DEFAULT_MIN_READ_LENGTH),
+ maxDistFraction(0.0),
+ mapIndex(false),
+ prefetchIndex(false),
+ writeBufferSize(16 * 1024 * 1024)
+{
+ if (forPairedEnd) {
+ maxDist = 15;
+ seedCoverage = 0;
+ numSeedsFromCommandLine = 8;
+ maxHits = 300;
+ } else {
+ maxDist = 14;
+ numSeedsFromCommandLine = 25;
+ maxHits = 300;
+ seedCoverage = 0;
+ }
+
+ initializeLVProbabilitiesToPhredPlus33();
+}
+
+ void
+AlignerOptions::usage()
+{
+ usageMessage();
+}
+
+ void
+AlignerOptions::usageMessage()
+{
+ WriteErrorMessage(
+ "Usage: \n%s\n"
+ "Options:\n"
+ " -o filename output alignments to filename in SAM or BAM format, depending on the file extension or\n"
+ " explicit type specifier (see below). Use a dash with an explicit type specifier to write to\n"
+ " stdout, so for example -o -sam - would write SAM output to stdout\n"
+ " -d maximum edit distance allowed per read or pair (default: %d)\n"
+ " -n number of seeds to use per read\n"
+ " -sc Seed coverage (i.e., readSize/seedSize). Floating point. Exclusive with -n. (default uses -n)\n"
+ " -h maximum hits to consider per seed (default: %d)\n"
+ " -ms minimum seed matches per location (default: %d)\n"
+ " -t number of threads (default is one per core)\n"
+ " -b bind each thread to its processor (this is the default)\n"
+ " --b Don't bind each thread to its processor (note the double dash)\n"
+ " -P disables cache prefetching in the genome; may be helpful for machines\n"
+ " with small caches or lots of cores/cache\n"
+ " -so sort output file by alignment location\n"
+ " -sm memory to use for sorting in Gb\n"
+ " -x explore some hits of overly popular seeds (useful for filtering)\n"
+ " -f stop on first match within edit distance limit (filtering mode)\n"
+ " -F filter output (a=aligned only, s=single hit only (MAPQ >= %d), u=unaligned only, l=long enough to align (see -mrl))\n"
+ " -S suppress additional processing (sorted BAM output only)\n"
+ " i=index, d=duplicate marking\n"
+#if USE_DEVTEAM_OPTIONS
+ " -I ignore IDs that don't match in the paired-end aligner\n"
+#ifdef _MSC_VER // Only need this on Windows, since memory allocation is fast on Linux
+ " -B Insert barrier after per-thread memory allocation to improve timing accuracy\n"
+#endif // _MSC_VER
+#endif // USE_DEVTEAM_OPTIONS
+ " -Cxx must be followed by two + or - symbols saying whether to clip low-quality\n"
+ " bases from front and back of read respectively; default: back only (-C-+)\n"
+ " -M indicates that CIGAR strings in the generated SAM file should use M (alignment\n"
+ " match) rather than = and X (sequence (mis-)match). This is the default\n"
+ " -= use the new style CIGAR strings with = and X rather than M. The opposite of -M\n"
+ " -G specify a gap penalty to use when generating CIGAR strings\n"
+ " -pf specify the name of a file to contain the run speed\n"
+ " --hp Indicates not to use huge pages (this may speed up index load and slow down alignment) This is the default\n"
+ " -hp Indicates to use huge pages (this may speed up alignment and slow down index load).\n"
+ " -D Specifies the extra search depth (the edit distance beyond the best hit that SNAP uses to compute MAPQ). Default 2\n"
+ " -rg Specify the default read group if it is not specified in the input file\n"
+ " -R Specify the entire read group line for the SAM/BAM output. This must include an ID tag. If it doesn't start with\n"
+ " '@RG' SNAP will add that. Specify tabs by \\t. Two backslashes will generate a single backslash.\n"
+ " backslash followed by anything else is illegal. So, '-R @RG\\tID:foo\\tDS:my data' would generate reads\n"
+ " with defualt tag foo, and an @RG line that also included the DS:my data field.\n"
+ " -sa Include reads from SAM or BAM files with the secondary (0x100) or supplementary (0x800) flag set; default is to drop them.\n"
+ " -om Output multiple alignments. Takes as a parameter the maximum extra edit distance relative to the best alignment\n"
+ " to allow for secondary alignments\n"
+ " -omax Limit the number of alignments per read generated by -om. This means that if -om would generate more\n"
+ " than -omax secondary alignments, SNAP will write out only the best -omax of them, where 'best' means\n"
+ " 'with the lowest edit distance'. Ties are broken arbitrarily.\n"
+ " -mpc Limit the number of alignments generated by -om to this many per contig (chromosome/FASTA entry);\n"
+ " 'mpc' means 'max per contig; default unlimited. This filter is applied prior to -omax. The primary alignment\n"
+ " is counted.\n"
+ " -pc Preserve the soft clipping for reads coming from SAM or BAM files\n"
+ " -xf Increase expansion factor for BAM and GZ files (default %.1f)\n"
+ " -hdp Use Hadoop-style prefixes (reporter:status:...) on error messages, and emit hadoop-style progress messages\n"
+ " -mrl Specify the minimum read length to align, reads shorter than this (after clipping) stay unaligned. This should be\n"
+ " a good bit bigger than the seed length or you might get some questionable alignments. Default %d\n"
+ " -map Use file mapping to load the index rather than reading it. This might speed up index loading in cases\n"
+ " where SNAP is run repatedly on the same index, and the index is larger than half of the memory size\n"
+ " of the machine. On some operating systems, loading an index with -map is much slower than without if the\n"
+ " index is not in memory. You might consider adding -pre to prefetch the index into system cache when loading\n"
+ " with -map when you don't expect the index to be in cache.\n"
+ " -pre Prefetch the index into system cache. This is only meaningful with -map, and only helps if the index is not\n"
+ " already in memory and your operating system is slow at reading mapped files (i.e., some versions of Linux,\n"
+ " but not Windows).\n"
+ " -lp Run SNAP at low scheduling priority (Only implemented on Windows)\n"
+#ifdef LONG_READS
+ " -dp Edit distance as a percentage of read length (single only, overrides -d)\n"
+#endif
+ " -nu No Ukkonen: don't reduce edit distance search based on prior candidates. This option is purely for\n"
+ " evalutating the performance effect of using Ukkonen's algorithm rather than Smith-Waterman, and specifying\n"
+ " it will slow down execution without improving the alignments.\n"
+ " -no No Ordering: don't order the evalutation of reads so as to select more likely candidates first. This option\n"
+ " is purely for evaluating the performance effect of the read evaluation order, and specifying it will slow\n"
+ " down execution without improving alignments.\n"
+ " -nt Don't truncate searches based on missed seed hits. This option is purely for evaluating the performance effect\n"
+ " of candidate truncation, and specifying it will slow down execution without improving alignments.\n"
+ " -wbs Write buffer size in megabytes. Don't specify this unless you've gotten an error message saying to make it bigger. Default 16.\n"
+ ,
+ commandLine,
+ maxDist,
+ maxHits,
+ minWeightToCheck,
+ MAPQ_LIMIT_FOR_SINGLE_HIT,
+ expansionFactor,
+ DEFAULT_MIN_READ_LENGTH);
+
+ if (extra != NULL) {
+ extra->usageMessage();
+ }
+
+ WriteErrorMessage("\n\n"
+ "You may process more than one alignment without restarting SNAP, and if possible without reloading\n"
+ "the index. In order to do this, list on the command line all of the parameters for the first\n"
+ "alignment, followed by a comma (separated by a space from the other parameters) followed by the\n"
+ "parameters for the next alignment (including single or paired). You may have as many of these\n"
+ "as you please. If two consecutive alignments use the same index, it will not be reloaded.\n"
+ "So, for example, you could do 'snap single hg19-20 foo.fq -o foo.sam , paired hg19-20 end1.fq end2.fq -o paired.sam'\n"
+ "and it would not reload the index between the single and paired alignments.\n",
+ "SNAP doesn't parse the options for later runs until the earlier ones have completed, so if you make\n"
+ "an error in one, it may take a while for you to notice. So, be careful (or check back shortly after\n"
+ "you think each run will have completed).\n\n");
+
+ WriteErrorMessage("When specifying an input or output file, you can simply list the filename, in which case\n"
+ "SNAP will infer the type of the file from the file extension (.sam or .bam for example),\n"
+ "or you can explicitly specify the file type by preceeding the filename with one of the\n"
+ " following type specifiers (which are case sensitive):\n"
+ " -fastq\n"
+ " -compressedFastq\n"
+ " -sam\n"
+ " -bam\n"
+ " -pairedFastq\n"
+ " -pairedInterleavedFastq\n"
+ " -pairedCompressedInterleavedFastq\n"
+ "\n"
+ "So, for example, you could specify -bam input.file to make SNAP treat input.file as a BAM file,\n"
+ "even though it would ordinarily assume a FASTQ file for input or a SAM file for output when it\n"
+ "doesn't recoginize the file extension.\n"
+ "In order to use a file name that begins with a '-' and not have SNAP treat it as a switch, you must\n"
+ "explicitly specify the type. But really, that's just confusing and you shouldn't do it.\n"
+ "Input and output may also be from/to stdin/stdout. To do that, use a - for the input or output file\n"
+ "name and give an explicit type specifier. So, for example, \n"
+ "snap single myIndex -fastq - -o -sam -\n"
+ "would read FASTQ from stdin and write SAM to stdout.\n"
+ );
+}
+
+ bool
+AlignerOptions::parse(
+ const char** argv,
+ int argc,
+ int& n,
+ bool *done)
+{
+ *done = false;
+
+ if (strcmp(argv[n], "-d") == 0) {
+ if (n + 1 < argc) {
+ maxDist = atoi(argv[n+1]);
+ n++;
+ return true;
+ }
+ } else if (strcmp(argv[n], "-n") == 0) {
+ if (n + 1 < argc) {
+ if (seedCountSpecified) {
+ WriteErrorMessage("-sc and -n are mutually exclusive. Please use only one.\n");
+ return false;
+ }
+ seedCountSpecified = true;
+ numSeedsFromCommandLine = atoi(argv[n+1]);
+ n++;
+ return true;
+ }
+ } else if (strcmp(argv[n], "-sc") == 0) {
+ if (n + 1 < argc) {
+ if (seedCountSpecified) {
+ WriteErrorMessage("-sc and -n are mutually exclusive. Please use only one.\n");
+ return false;
+ }
+ seedCountSpecified = true;
+ seedCoverage = atof(argv[n+1]);
+ numSeedsFromCommandLine = 0;
+ n++;
+ return true;
+ }
+ } else if (strcmp(argv[n], "-ms") == 0) {
+ if (n + 1 < argc) {
+ minWeightToCheck = (unsigned) atoi(argv[n+1]);
+ if (minWeightToCheck > 1000) {
+ fprintf(stderr, "-ms must be between 1 and 1000\n");
+ return false;
+ }
+ n++;
+ return true;
+ }
+ } else if (strcmp(argv[n], "-h") == 0) {
+ if (n + 1 < argc) {
+ maxHits = atoi(argv[n+1]);
+ n++;
+ return true;
+ }
+ } else if (strcmp(argv[n], "-c") == 0) { // conf diff is deprecated, but we just ignore it rather than throwing an error.
+ if (n + 1 < argc) {
+ n++;
+ return true;
+ }
+ } else if (strcmp(argv[n], "-a") == 0) { // adaptive conf diff is deprecated, but we just ignore it rather than throwing an error.
+ if (n + 1 < argc) {
+ n++;
+ return true;
+ }
+ } else if (strcmp(argv[n], "-t") == 0) {
+ if (n + 1 < argc) {
+ numThreads = atoi(argv[n+1]);
+ n++;
+ return true;
+ }
+ } else if (strcmp(argv[n], "-o") == 0) {
+ int argsConsumed;
+ if (!SNAPFile::generateFromCommandLine(argv + n + 1, argc - n - 1, &argsConsumed, &outputFile, false, false)) {
+ WriteErrorMessage("Must have a file specifier after -o\n");
+ return false;
+ }
+ if (outputFile.isStdio) {
+ AlignerOptions::outputToStdout = true;
+ }
+ n += argsConsumed;
+ return true;
+ } else if (strcmp(argv[n], "-P") == 0) {
+ doAlignerPrefetch = false;
+ return true;
+ } else if (strcmp(argv[n], "-b") == 0) {
+ bindToProcessors = true;
+ return true;
+ } else if (strcmp(argv[n], "--b") == 0) {
+ bindToProcessors = false;
+ return true;
+ } else if (strcmp(argv[n], "-so") == 0) {
+ sortOutput = true;
+ return true;
+ } else if (strcmp(argv[n], "-map") == 0) {
+ mapIndex = true;
+ return true;
+ } else if (strcmp(argv[n], "-pre") == 0) {
+ prefetchIndex = true;
+ return true;
+ }
+ else if (strcmp(argv[n], "-S") == 0) {
+ if (n + 1 < argc) {
+ n++;
+ for (const char* p = argv[n]; *p; p++) {
+ switch (*p) {
+ case 'i':
+ noIndex = true;
+ break;
+ case 'd':
+ noDuplicateMarking = true;
+ break;
+ case 'q':
+ noQualityCalibration = true;
+ break;
+ default:
+ return false;
+ }
+ }
+ return true;
+ }
+ } else if (strcmp(argv[n], "-sm") == 0) {
+ if (n + 1 < argc && argv[n+1][0] >= '0' && argv[n+1][0] <= '9') {
+ sortMemory = atoi(argv[n+1]);
+ n++;
+ return true;
+ }
+ } else if (strcmp(argv[n], "-F") == 0) {
+ if (n + 1 < argc) {
+ n++;
+ if (strcmp(argv[n], "a") == 0) {
+ if (0 != filterFlags) {
+ WriteErrorMessage("Specified -F %s after a previous -F option. Choose one (or put -F b after -F %s)\n", argv[n], argv[n]);
+ return false;
+ }
+ filterFlags = FilterSingleHit | FilterMultipleHits | FilterTooShort;
+ } else if (strcmp(argv[n], "s") == 0) {
+ if (0 != filterFlags) {
+ WriteErrorMessage("Specified -F %s after a previous -F option. Choose one (or put -F b after -F %s)\n", argv[n], argv[n]);
+ return false;
+ }
+ filterFlags = FilterSingleHit | FilterTooShort;
+ } else if (strcmp(argv[n], "u") == 0) {
+ if (0 != filterFlags) {
+ WriteErrorMessage("Specified -F %s after a previous -F option. Choose one (or put -F b after -F %s)\n", argv[n], argv[n]);
+ return false;
+ }
+ filterFlags = FilterUnaligned | FilterTooShort;
+ } else if (strcmp(argv[n], "l") == 0) {
+ if (0 != filterFlags) {
+ WriteErrorMessage("Specified -F %s after a previous -F option. Choose one (or put -F b after -F %s)\n", argv[n], argv[n]);
+ return false;
+ }
+ filterFlags = FilterSingleHit | FilterMultipleHits | FilterUnaligned;
+ } else if (strcmp(argv[n], "b") == 0) {
+ // ignore paired-end option(s)
+ } else {
+ WriteErrorMessage("Unknown option type after -F: %s\n", argv[n]);
+ return false;
+ }
+ return true;
+ }
+ } else if (strcmp(argv[n], "-x") == 0) {
+ explorePopularSeeds = true;
+ return true;
+ } else if (strcmp(argv[n], "-f") == 0) {
+ stopOnFirstHit = true;
+ return true;
+#if USE_DEVTEAM_OPTIONS
+ } else if (strcmp(argv[n], "-I") == 0) {
+ ignoreMismatchedIDs = true;
+ return true;
+#ifdef _MSC_VER
+ } else if (strcmp(argv[n], "-B") == 0) {
+ useTimingBarrier = true;
+ return true;
+#endif // _MSC_VER
+#endif // USE_DEVTEAM_OPTIONS
+ } else if (strcmp(argv[n], "-M") == 0) {
+ useM = true;
+ return true;
+ } else if (strcmp(argv[n], "-=") == 0) {
+ useM = false;
+ return true;
+ } else if (strcmp(argv[n], "-sa") == 0) {
+ ignoreSecondaryAlignments = false;
+ return true;
+ } else if (strcmp(argv[n], "-om") == 0) {
+ if (n + 1 >= argc) {
+ WriteErrorMessage("-om requires an additional value\n");
+ return false;
+ }
+ //
+ // Check that the parameter is actually numeric. This is to avoid having someone do "-om -anotherSwitch" and
+ // having the additional switch silently consumed here.
+ //
+ if (argv[n + 1][0] < '0' || argv[n + 1][0] > '9') {
+ WriteErrorMessage("-om requires a numerical parameter.\n");
+ return false;
+ }
+ maxSecondaryAlignmentAdditionalEditDistance = atoi(argv[n + 1]);
+
+ n++;
+
+ return true;
+ } else if (strcmp(argv[n], "-omax") == 0) {
+ if (n + 1 >= argc) {
+ WriteErrorMessage("-omax requires an additional value\n");
+ return false;
+ }
+
+ maxSecondaryAlignments = atoi(argv[n + 1]);
+
+ if (maxSecondaryAlignments <= 0) {
+ WriteErrorMessage("-omax must be strictly positive\n");
+ }
+
+ n++;
+
+ return true;
+ } else if (strcmp(argv[n], "-mpc") == 0) {
+ if (n + 1 >= argc) {
+ WriteErrorMessage("-mpc requires an additional value\n");
+ return false;
+ }
+
+ maxSecondaryAlignmentsPerContig = atoi(argv[n + 1]);
+
+ if (maxSecondaryAlignmentsPerContig <= 0) {
+ WriteErrorMessage("-mpc must be strictly positive\n");
+ return false;
+ }
+
+ n++;
+
+ return true;
+ } else if (strcmp(argv[n], "-wbs") == 0) {
+ if (n + 1 >= argc) {
+ WriteErrorMessage("-wbs requires an additional value\n");
+ return false;
+ }
+ //
+ // Check that the parameter is actually numeric. This is to avoid having someone do "-wbs -anotherSwitch" and
+ // having the additional switch silently consumed here.
+ //
+ if (argv[n + 1][0] < '0' || argv[n + 1][0] > '9') {
+ WriteErrorMessage("-wbs requires a numerical parameter.\n");
+ return false;
+ }
+ writeBufferSize = atoi(argv[n + 1]) * 1024 * 1024;
+
+ if (writeBufferSize <= 0) {
+ WriteErrorMessage("-wbs must be bigger than zero");
+ return false;
+ }
+
+ n++;
+
+ return true;
+ } else if (strcmp(argv[n], "-xf") == 0) {
+ if (n + 1 < argc) {
+ n++;
+ expansionFactor = (float)atof(argv[n]);
+ return expansionFactor > 0;
+ }
+ } else if (strcmp(argv[n], "-pc") == 0) {
+ preserveClipping = true;
+ return true;
+ } else if (strcmp(argv[n], "-G") == 0) {
+ if (n + 1 < argc) {
+ gapPenalty = atoi(argv[n+1]);
+ if (gapPenalty < 1) {
+ WriteErrorMessage("Gap penalty must be at least 1.\n");
+ soft_exit(1);
+ }
+ n++;
+ return true;
+ } else {
+ WriteErrorMessage("Must have the gap penalty value after -G\n");
+ }
+ } else if (strcmp(argv[n], "-mrl") == 0) {
+ if (n + 1 < argc) {
+ n++;
+ minReadLength = atoi(argv[n]);
+ return minReadLength > 0;
+ }
+ } else if (strcmp(argv[n], "-dp") == 0) {
+ if (n + 1 < argc) {
+ n++;
+ maxDistFraction = (float) (0.01 * atof(argv[n]));
+ return (! isPaired()) && maxDistFraction > 0.0 && maxDistFraction < 1.0;
+ }
+ } else if (strcmp(argv[n], "-R") == 0) {
+ if (n + 1 < argc) {
+ //
+ // Check the line for sanity. It must consist either of @RG\t<fields> or just <fields> (in which
+ // case we add the @RG part). It must contain a field called ID. Fields are separated by tabs.
+ // We don't require that the fields be things that are listed in the SAM spec, however, because
+ // new ones might be added.
+ //
+ bool needsRG = !(argv[n+1][0] == '@' && argv[n+1][1] == 'R' && argv[n+1][2] == 'G' && argv[n+1][3] == '\\' && argv[n+1][4] == 't');
+ const unsigned buflen = (unsigned) (strlen(argv[n + 1]) + 1 + (needsRG ? 4 : 0));
+ char *buffer = new char[buflen];
+ char *copyToPtr = buffer;
+ const char *copyFromPtr = argv[n+1];
+ if (needsRG) {
+ memcpy(copyToPtr, "@RG\t", 4);
+ copyToPtr += 4;
+ }
+
+ //
+ // First copy the line, converting \t into tabs.
+ //
+
+ bool pendingBackslash = false;
+
+ while (*copyFromPtr != '\0') {
+ if (pendingBackslash) {
+ if (*copyFromPtr == 't' || *copyFromPtr == '\\') {
+ _ASSERT((unsigned)(copyToPtr - buffer) < buflen);
+ *copyToPtr = (*copyFromPtr == 't') ? '\t' : '\\';
+ copyToPtr++;
+ copyFromPtr++;
+ pendingBackslash = false;
+ } else {
+ WriteErrorMessage("Unrecognized escape character in -R parameter. A backslash must be followed by a t or another backslash.\n");
+ return false;
+ }
+ } else {
+ //
+ // Emit the character literally unless it's a backslash.
+ //
+ pendingBackslash = *copyFromPtr == '\\';
+
+ if (!pendingBackslash) {
+ _ASSERT((unsigned)(copyToPtr - buffer) < buflen);
+ *copyToPtr = *copyFromPtr;
+ copyToPtr++;
+ }
+
+ copyFromPtr++;
+ }
+ } // while
+ _ASSERT((unsigned)(copyToPtr - buffer) < buflen);
+ *copyToPtr = '\0'; // Null terminate the string
+
+ //
+ // Now run through the line looking for <tab>ID:..., and use that to set the default read group.
+ //
+ int bytesAlong = 0;
+ defaultReadGroup = NULL;
+ for (int i = 0; NULL == defaultReadGroup && i < strlen(buffer); i++) {
+ switch (bytesAlong) {
+ case 0:
+ if (buffer[i] == '\t') {
+ bytesAlong = 1;
+ }
+ break;
+
+ case 1:
+ if (buffer[i] == 'I') {
+ bytesAlong = 2;
+ } else {
+ bytesAlong = 0;
+ }
+ break;
+
+ case 2:
+ if (buffer[i] == 'D') {
+ bytesAlong = 3;
+ } else {
+ bytesAlong = 0;
+ }
+ break;
+
+ case 3:
+ if (buffer[i] == ':') {
+ if (NULL != defaultReadGroup) {
+ WriteErrorMessage("read group string specified with -R contained more than one ID field.\n");
+ return false;
+ }
+ //
+ // The ID tag starts at i+1.
+ //
+ int idTagSize = 0;
+ for (idTagSize = 0; buffer[i + 1 + idTagSize] != '\t' && buffer[i + 1 + idTagSize] != '\0'; idTagSize++) {
+ // This loop body intentionally left blank.
+ }
+
+ if (0 == idTagSize) {
+ WriteErrorMessage("The ID tag on the read group line specified by -R must not be empty\n");
+ return false;
+ }
+ char *newReadGroup = new char[idTagSize + 1]; // +1 for null.
+ memcpy(newReadGroup, buffer + i + 1, idTagSize);
+ newReadGroup[idTagSize] = '\0';
+ defaultReadGroup = newReadGroup; // +1 for null.
+
+ } else {
+ bytesAlong = 0;
+ }
+ break;
+
+ default:
+ WriteErrorMessage("Invalid bytesAlong = %d", bytesAlong);
+ soft_exit(1);
+ } // switch
+ } // for
+
+ if (NULL == defaultReadGroup) {
+ WriteErrorMessage("The string specified after -R must include an ID field.\n");
+ return false;
+ }
+
+ rgLineContents = buffer; // This leaks, but so what?
+ n++;
+ return true;
+
+ } else {
+ WriteErrorMessage("-R requires a value");
+ return false;
+ }
+ } else if (strcmp(argv[n], "-pf") == 0) {
+ if (n + 1 < argc) {
+ perfFileName = argv[n+1];
+ n++;
+ return true;
+ } else {
+ WriteErrorMessage("Must specify the name of the perf file after -pf\n");
+ }
+ } else if (strcmp(argv[n], "-rg") == 0) {
+ if (n + 1 < argc) {
+ char *newReadGroup = new char[strlen(argv[n+1]) + 1];
+ strcpy(newReadGroup, argv[n+1]);
+ defaultReadGroup = newReadGroup;
+ n++;
+ static const char* format = "@RG\tID:%s\tPL:Illumina\tPU:pu\tLB:lb\tSM:sm";
+ char* s = new char[1 + strlen(defaultReadGroup) + strlen(format)];
+ sprintf(s, format, defaultReadGroup);
+ rgLineContents = s;
+ return true;
+ } else {
+ WriteErrorMessage("Must specify the default read group after -rg\n");
+ }
+ } else if (strcmp(argv[n], "--hp") == 0) {
+ BigAllocUseHugePages = false;
+ return true;
+ } else if (strcmp(argv[n], "-hp") == 0) {
+ BigAllocUseHugePages = true;
+ return true;
+ } else if (strcmp(argv[n], "-hdp") == 0) {
+ AlignerOptions::useHadoopErrorMessages = true;
+ return true;
+ } else if (strcmp(argv[n], "-lp") == 0) {
+ SetToLowSchedulingPriority();
+ return true;
+ } else if (strcmp(argv[n], "-nu") == 0) {
+ noUkkonen = true;
+ return true;
+ } else if (strcmp(argv[n], "-no") == 0) {
+ noOrderedEvaluation = true;
+ return true;
+ } else if (strcmp(argv[n], "-nt") == 0) {
+ noTruncation = true;
+ return true;
+ } else if (strcmp(argv[n], "-D") == 0) {
+ if (n + 1 < argc) {
+ extraSearchDepth = atoi(argv[n+1]);
+ n++;
+ return true;
+ } else {
+ WriteErrorMessage("Must specify the desired extra search depth after -D\n");
+ }
+ } else if (strlen(argv[n]) >= 2 && '-' == argv[n][0] && 'C' == argv[n][1]) {
+ if (strlen(argv[n]) != 4 || '-' != argv[n][2] && '+' != argv[n][2] ||
+ '-' != argv[n][3] && '+' != argv[n][3]) {
+
+ WriteErrorMessage("Invalid -C argument.\n\n");
+ return false;
+ }
+
+ if ('-' == argv[n][2]) {
+ if ('-' == argv[n][3]) {
+ clipping = NoClipping;
+ } else {
+ clipping = ClipBack;
+ }
+ } else {
+ if ('-' == argv[n][3]) {
+ clipping = ClipFront;
+ } else {
+ clipping = ClipFrontAndBack;
+ }
+ }
+ return true;
+ } else if (strcmp(argv[n], ",") == 0) {
+ //
+ // End of args for this run.
+ //
+ *done = true;
+ return true;
+ } else if (extra != NULL) {
+ return extra->parse(argv, argc, n, done);
+ }
+ return false;
+}
+
+ bool
+AlignerOptions::passFilter(
+ Read* read,
+ AlignmentResult result,
+ bool tooShort)
+{
+ if (filterFlags == 0) {
+ return true;
+ }
+ if (tooShort && (filterFlags & FilterTooShort) == 0) {
+ return false;
+ }
+ switch (result) {
+ case NotFound:
+ case UnknownAlignment:
+ return (filterFlags & FilterUnaligned) != 0;
+ case SingleHit:
+ return (filterFlags & FilterSingleHit) != 0;
+ case MultipleHits:
+ return (filterFlags & FilterMultipleHits) != 0;
+ default:
+ return false; // shouldn't happen!
+ }
+}
+
+ PairedReadSupplierGenerator *
+SNAPFile::createPairedReadSupplierGenerator(int numThreads, bool quicklyDropUnpairedReads, const ReaderContext& context)
+{
+ _ASSERT(fileType == SAMFile || fileType == BAMFile || fileType == InterleavedFASTQFile || secondFileName != NULL); // Caller's responsibility to check this
+
+ switch (fileType) {
+ case SAMFile:
+ return SAMReader::createPairedReadSupplierGenerator(fileName, numThreads, quicklyDropUnpairedReads, context);
+
+ case BAMFile:
+ return BAMReader::createPairedReadSupplierGenerator(fileName,numThreads, quicklyDropUnpairedReads, context);
+
+ case FASTQFile:
+ return PairedFASTQReader::createPairedReadSupplierGenerator(fileName, secondFileName, numThreads, context, isCompressed);
+
+ case InterleavedFASTQFile:
+ return PairedInterleavedFASTQReader::createPairedReadSupplierGenerator(fileName, numThreads, context, isCompressed);
+
+ default:
+ _ASSERT(false);
+ WriteErrorMessage("SNAPFile::createPairedReadSupplierGenerator: invalid file type (%d)\n", fileType);
+ soft_exit(1);
+ return NULL;
+ }
+}
+
+ ReadSupplierGenerator *
+SNAPFile::createReadSupplierGenerator(int numThreads, const ReaderContext& context)
+{
+ _ASSERT(secondFileName == NULL);
+ switch (fileType) {
+ case SAMFile:
+ return SAMReader::createReadSupplierGenerator(fileName, numThreads, context);
+
+ case BAMFile:
+ return BAMReader::createReadSupplierGenerator(fileName,numThreads, context);
+
+ case FASTQFile:
+ return FASTQReader::createReadSupplierGenerator(fileName, numThreads, context, isCompressed);
+
+ default:
+ _ASSERT(false);
+ WriteErrorMessage("SNAPFile::createReadSupplierGenerator: invalid file type (%d)\n", fileType);
+ soft_exit(1);
+ return NULL;
+ }
+}
+
+ bool
+SNAPFile::generateFromCommandLine(const char **args, int nArgs, int *argsConsumed, SNAPFile *snapFile, bool paired, bool isInput)
+{
+ snapFile->fileName = NULL;
+ snapFile->secondFileName = NULL;
+ snapFile->isCompressed = false;
+ *argsConsumed = 0;
+ snapFile->isStdio = false;
+
+ if (0 == nArgs) {
+ return false;
+ }
+
+ //
+ // Check to see if this is an explicit file type.
+ //
+ if ('-' == args[0][0] && '\0' != args[0][1]) { // starts with - but isn't just a - (which means to use stdio without a type specifier)
+ if (1 == nArgs) {
+ return false;
+ }
+
+ if (!strcmp(args[1], "-")) {
+ snapFile->isStdio = true;
+ }
+
+ if (!strcmp(args[0], "-fastq") || !strcmp(args[0], "-compressedFastq")) {
+ if (!isInput) {
+ WriteErrorMessage("%s is not a valid output file type.\n", args[0]);
+ return false;
+ }
+
+ if (paired && nArgs < 3) {
+ WriteErrorMessage("Expected a pair of fastQ files, but instead just got one\n");
+ return false;
+ }
+
+
+ snapFile->isCompressed = !strcmp(args[0], "-compressedFastq");
+
+ if (paired) {
+ if (nArgs < 3) {
+ WriteErrorMessage("paired FASTQ requires two consecutive input files, and the last item on your command line is the first half of a FASTQ pair.\n");
+ return false;
+ }
+ snapFile->fileType = FASTQFile;
+ snapFile->secondFileName = args[2];
+ if (!strcmp("-", args[2])) {
+ if (snapFile->isStdio) {
+ WriteErrorMessage("Can't have both halves of paired FASTQ files be stdin ('-'). Did you mean to use the interleaved FASTQ type?\n");
+ return false;
+ }
+ snapFile->isStdio = true;
+ }
+ *argsConsumed = 3;
+ } else {
+ snapFile->fileType = FASTQFile;
+ *argsConsumed = 2;
+ }
+ } else if (!strcmp(args[0], "-sam")) {
+ snapFile->fileType = SAMFile;
+ *argsConsumed = 2;
+ } else if (!strcmp(args[0], "-samNoSQ") && !isInput) { // No header is only valid for output file types
+ snapFile->fileType = SAMFile;
+ snapFile->omitSQLines = true;
+ *argsConsumed = 2;
+ } else if (!strcmp(args[0], "-bam")) {
+ snapFile->fileType = BAMFile;
+ snapFile->isCompressed = true;
+ *argsConsumed = 2;
+ } else if (!strcmp(args[0], "-pairedInterleavedFastq") || !strcmp(args[0], "-pairedCompressedInterleavedFastq")) {
+ if (!paired) {
+ WriteErrorMessage("Specified %s for a single-end alignment. To treat it as single-end, just use ordinary fastq (or compressed fastq, as appropriate)\n", args[0]);
+ return false;
+ }
+
+ snapFile->fileType = InterleavedFASTQFile;
+ snapFile->isCompressed = !strcmp(args[0], "-pairedCompressedInterleavedFastq");
+ *argsConsumed = 2;
+ } else {
+ //
+ // starts with '-' but isn't a file-type specifier
+ //
+ return false;
+ }
+ snapFile->fileName = args[1];
+ return true;
+ }
+
+ //
+ // Just a filename. Infer the type.
+ //
+
+ *argsConsumed = 1;
+ snapFile->fileName = args[0];
+ snapFile->isStdio = '-' == args[0][0] && '\0' == args[0][1];
+
+ if (util::stringEndsWith(args[0], ".sam")) {
+ snapFile->fileType = SAMFile;
+ snapFile->isCompressed = false;
+ } else if (util::stringEndsWith(args[0], ".bam")) {
+ snapFile->fileType = BAMFile;
+ snapFile->isCompressed = true;
+ } else if (!isInput) {
+ //
+ // No default output file type.
+ //
+ WriteErrorMessage("You specified an output file with name '%s', which doesn't end in .sam or .bam, and doesn't have an explicit type\n"
+ "specifier. There is no default output file type. Consider doing something like '-o -bam %s'\n", args[0], args[0]);
+ return false;
+ } else if (util::stringEndsWith(args[0], ".fq") || util::stringEndsWith(args[0], ".fastq") ||
+ util::stringEndsWith(args[0], ".fq.gz") || util::stringEndsWith(args[0], ".fastq.gz") ||
+ util::stringEndsWith(args[0], ".fq.gzip") || util::stringEndsWith(args[0], ".fastq.gzip")) {
+
+ //
+ // It's a fastq input file (either by default or because it's got a .fq or .fastq extension, we don't
+ // need to check). See if it's also compressed.
+ //
+ snapFile->fileType= FASTQFile;
+ if (util::stringEndsWith(args[0], ".gz") || util::stringEndsWith(args[0], ".gzip")) {
+ snapFile->isCompressed = true;
+ } else {
+ snapFile->isCompressed = false;
+ }
+
+ snapFile->isStdio = !strcmp(args[0], "-");
+
+ if (paired) {
+ if (nArgs < 2) {
+ WriteErrorMessage("paired FASTQ requires two input files, and the last item on your command line is the first half of a FASTQ pair.\n");
+ return false;
+ }
+ snapFile->secondFileName = args[1];
+ if (!strcmp(args[1], "-")) {
+ if (snapFile->isStdio) {
+ WriteErrorMessage("Can't have both halves of paired FASTQ files be stdin ('-'). Did you mean to use the interleaved FASTQ type?\n");
+ return false;
+ }
+ if (CommandPipe != NULL) {
+ WriteErrorMessage("You may not write to stdout in daemon mode\n");
+ return false;
+ }
+ snapFile->isStdio = true;
+ }
+
+ *argsConsumed = 2;
+ }
+ } else {
+ if (snapFile->isStdio) {
+ WriteErrorMessage("Stdio IO always requires an explicit file type. So, for example, do 'snap single index-directory -fastq -' to read FASTQ from stdin\n");
+ } else {
+ WriteErrorMessage("Unknown file type for file name '%s', please specify file type with -fastq, -sam, -bam, etc.\n", snapFile->fileName);
+ }
+ return false;
+ }
+
+ return true;
+}
+
+ bool
+AlignerOptions::useHadoopErrorMessages= false;
+
+ bool
+AlignerOptions::outputToStdout = false;
+
diff --git a/SNAPLib/AlignerOptions.h b/SNAPLib/AlignerOptions.h
new file mode 100644
index 0000000..f578d44
--- /dev/null
+++ b/SNAPLib/AlignerOptions.h
@@ -0,0 +1,129 @@
+/*++
+
+Module Name:
+
+ AlignerOptions.h
+
+Abstract:
+
+ Common parameters for running single & paired alignment.
+
+Authors:
+
+ Ravi Pandya, May, 2012
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+ Integrated from SingleAligner.cpp & PairedAligner.cpp
+
+--*/
+
+#pragma once
+
+#include "stdafx.h"
+#include "options.h"
+#include "Genome.h"
+#include "Read.h"
+
+#define MAPQ_LIMIT_FOR_SINGLE_HIT 10
+
+struct AbstractOptions
+{
+ virtual void usageMessage() = 0;
+
+ virtual bool parse(const char** argv, int argc, int& n, bool *done) = 0;
+};
+
+enum FileType {UnknownFileType, SAMFile, FASTQFile, BAMFile, InterleavedFASTQFile, CRAMFile}; // Add more as needed
+
+struct SNAPFile {
+ SNAPFile() : fileName(NULL), secondFileName(NULL), fileType(UnknownFileType), isStdio(false), omitSQLines(false) {}
+ const char *fileName;
+ const char *secondFileName;
+ FileType fileType;
+ bool isCompressed;
+ bool isStdio; // Only applies to the first file for two-file inputs
+ bool omitSQLines; // Special undocumented option for Charles Chiu's group. Mostly a bad idea.
+
+ PairedReadSupplierGenerator *createPairedReadSupplierGenerator(int numThreads, bool quicklyDropUnpairedReads, const ReaderContext& context);
+ ReadSupplierGenerator *createReadSupplierGenerator(int numThreads, const ReaderContext& context);
+ static bool generateFromCommandLine(const char **args, int nArgs, int *argsConsumed, SNAPFile *snapFile, bool paired, bool isInput);
+};
+
+struct AlignerOptions : public AbstractOptions
+{
+ AlignerOptions(const char* i_commandLine, bool forPairedEnd = false);
+
+ const char *commandLine;
+ const char *indexDir;
+ const char *similarityMapFile;
+ int numThreads;
+ unsigned maxDist;
+ float maxDistFraction;
+ unsigned numSeedsFromCommandLine;
+ double seedCoverage; // Exclusive with numSeeds; this is readSize/seedSize
+ bool seedCountSpecified; // Has either -n or -sc been specified? This bool is used to make sure they're not both specified on the command line
+ unsigned maxHits;
+ int minWeightToCheck;
+ bool bindToProcessors;
+ bool ignoreMismatchedIDs;
+ SNAPFile outputFile;
+ int nInputs;
+ SNAPFile *inputs;
+ ReadClippingType clipping;
+ bool sortOutput;
+ bool noIndex;
+ bool noDuplicateMarking;
+ bool noQualityCalibration;
+ unsigned sortMemory; // total output sorting buffer size in Gb
+ unsigned filterFlags;
+ bool explorePopularSeeds;
+ bool stopOnFirstHit;
+ bool useM; // Should we generate CIGAR strings using = and X, or using the old-style M?
+ unsigned gapPenalty; // if non-zero use gap penalty aligner
+ AbstractOptions *extra; // extra options
+ const char *rgLineContents;
+ const char *perfFileName;
+ bool useTimingBarrier;
+ unsigned extraSearchDepth;
+ const char *defaultReadGroup; // if not specified in input
+ bool ignoreSecondaryAlignments; // on input, default true
+ int maxSecondaryAlignmentAdditionalEditDistance;
+ int maxSecondaryAlignments;
+ int maxSecondaryAlignmentsPerContig;
+ bool preserveClipping;
+ float expansionFactor;
+ bool noUkkonen;
+ bool noOrderedEvaluation;
+ bool noTruncation;
+ unsigned minReadLength;
+ bool mapIndex;
+ bool prefetchIndex;
+ size_t writeBufferSize;
+
+ static bool useHadoopErrorMessages; // This is static because it's global (and I didn't want to push the options object to every place in the code)
+ static bool outputToStdout; // Likewise
+
+ void usage();
+
+ virtual void usageMessage();
+
+ virtual bool parse(const char** argv, int argc, int& n, bool *done);
+
+ enum FilterFlags
+ {
+ FilterUnaligned = 0x0001,
+ FilterSingleHit = 0x0002,
+ FilterMultipleHits = 0x0004,
+ FilterBothMatesMatch = 0x0008,
+ FilterTooShort = 0x0010
+ };
+
+ bool passFilter(Read* read, AlignmentResult result, bool tooShort);
+
+ virtual bool isPaired() { return false; }
+};
diff --git a/SNAPLib/AlignerStats.cpp b/SNAPLib/AlignerStats.cpp
new file mode 100644
index 0000000..9ba0f25
--- /dev/null
+++ b/SNAPLib/AlignerStats.cpp
@@ -0,0 +1,111 @@
+/*++
+
+Module Name:
+
+ AlignerStats.cpp
+
+Abstract:
+
+ Common statistics for running single & paired alignment.
+
+Authors:
+
+ Ravi Pandya, May, 2012
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+ Integrated from SingleAligner.cpp & PairedAligner.cpp
+
+--*/
+
+#include "stdafx.h"
+#include "options.h"
+#include "AlignerStats.h"
+
+AbstractStats::~AbstractStats()
+{}
+
+AlignerStats::AlignerStats(AbstractStats* i_extra)
+:
+ totalReads(0),
+ usefulReads(0),
+ singleHits(0),
+ multiHits(0),
+ notFound(0),
+ alignedAsPairs(0),
+ extra(i_extra),
+ lvCalls(0)
+{
+ for (int i = 0; i <= AlignerStats::maxMapq; i++) {
+ mapqHistogram[i] = 0;
+ }
+
+ for (int i = 0; i < maxMaxHits; i++) {
+ countOfBestHitsByWeightDepth[i] = 0;
+ countOfAllHitsByWeightDepth[i] = 0;
+ probabilityMassByWeightDepth[i] = 0;
+ }
+
+#if TIME_HISTOGRAM
+ for (unsigned i = 0; i < 31; i++) {
+ countByTimeBucket[i] = nanosByTimeBucket[i] = 0;
+ }
+#endif // TIME_HISTOGRAM
+
+}
+
+AlignerStats::~AlignerStats()
+{
+ if (extra != NULL) {
+ delete extra;
+ }
+}
+
+ void
+AlignerStats::printHistograms(
+ FILE* out)
+{
+ // nothing
+ if (extra != NULL) {
+ extra->printHistograms(out);
+ }
+}
+
+ void
+AlignerStats::add(
+ const AbstractStats* i_other)
+{
+ AlignerStats* other = (AlignerStats*) i_other;
+ totalReads += other->totalReads;
+ usefulReads += other->usefulReads;
+ singleHits += other->singleHits;
+ multiHits += other->multiHits;
+ notFound += other->notFound;
+ alignedAsPairs += other->alignedAsPairs;
+ lvCalls += other->lvCalls;
+
+ if (extra != NULL && other->extra != NULL) {
+ extra->add(other->extra);
+ }
+
+ for (int i = 0; i <= AlignerStats::maxMapq; i++) {
+ mapqHistogram[i] += other->mapqHistogram[i];
+ }
+
+ for (int i = 0; i < maxMaxHits; i++) {
+ countOfBestHitsByWeightDepth[i] += other->countOfBestHitsByWeightDepth[i];
+ countOfAllHitsByWeightDepth[i] += other->countOfAllHitsByWeightDepth[i];
+ probabilityMassByWeightDepth[i] = other->probabilityMassByWeightDepth[i];
+ }
+
+#if TIME_HISTOGRAM
+ for (unsigned i = 0; i < 31; i++) {
+ countByTimeBucket[i] += other->countByTimeBucket[i];
+ nanosByTimeBucket[i] += other->nanosByTimeBucket[i];
+ }
+#endif // TIME_HISTOGRAM
+}
diff --git a/SNAPLib/AlignerStats.h b/SNAPLib/AlignerStats.h
new file mode 100644
index 0000000..625182a
--- /dev/null
+++ b/SNAPLib/AlignerStats.h
@@ -0,0 +1,80 @@
+/*++
+
+Module Name:
+
+ AlignerStats.h
+
+Abstract:
+
+ Common statistics for running single & paired alignment.
+
+Authors:
+
+ Ravi Pandya, May, 2012
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+ Integrated from SingleAligner.cpp & PairedAligner.cpp
+
+--*/
+
+#define TIME_HISTOGRAM 0
+
+#pragma once
+#include "stdafx.h"
+#include "Compat.h"
+
+struct AbstractStats
+{
+ virtual ~AbstractStats();
+
+ virtual void add(const AbstractStats* other) = 0;
+
+ virtual void printHistograms(FILE* out) = 0;
+};
+
+//#define TIME_STRING_DISTANCE 1
+
+struct AlignerStats : public AbstractStats
+{
+ AlignerStats(AbstractStats* i_extra = NULL);
+
+ // TODO: This should also count both-aligned vs one-aligned etc.
+ _int64 totalReads;
+ _int64 usefulReads;
+ _int64 singleHits;
+ _int64 multiHits;
+ _int64 notFound;
+ _int64 alignedAsPairs;
+ _int64 lvCalls;
+ static const unsigned maxMapq = 70;
+ unsigned mapqHistogram[maxMapq+1];
+
+#if TIME_HISTOGRAM
+ //
+ // Histogram of alignment times. Time buckets are divided by powers-of-two nanoseconds, so time bucket 0 is
+ // <= 1 ns, time bucket 10 is <= 1.024 us, etc. Time bucket 30 is > 1s.
+ //
+ _int64 countByTimeBucket[31];
+ _int64 nanosByTimeBucket[31];
+#endif // TIME_HISTOGRAM
+
+
+ static const unsigned maxMaxHits = 50;
+ unsigned countOfBestHitsByWeightDepth[maxMaxHits];
+ unsigned countOfAllHitsByWeightDepth[maxMaxHits];
+ double probabilityMassByWeightDepth[maxMaxHits];
+
+ AbstractStats* extra;
+
+ virtual ~AlignerStats();
+
+ virtual void add(const AbstractStats* other);
+
+ virtual void printHistograms(FILE* out);
+};
+
diff --git a/SNAPLib/AlignmentResult.cpp b/SNAPLib/AlignmentResult.cpp
new file mode 100644
index 0000000..73f5868
--- /dev/null
+++ b/SNAPLib/AlignmentResult.cpp
@@ -0,0 +1,107 @@
+/*++
+
+Module Name:
+
+AlignmentResult.cpp
+
+Abstract:
+
+Code for SNAP genome alignment results
+
+Authors:
+
+Bill Bolosky, March, 2015
+
+Environment:
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "AlignmentResult.h"
+#include "GenomeIndex.h"
+
+
+
+ int
+SingleAlignmentResult::compareByContigAndScore(const void *first_, const void *second_)
+{
+ extern GenomeIndex *g_index; // Sorry, but no easy way to get this into here
+
+ const SingleAlignmentResult *first = (SingleAlignmentResult *)first_;
+ const SingleAlignmentResult *second = (SingleAlignmentResult *)second_;
+
+ int firstContig = g_index->getGenome()->getContigNumAtLocation(first->location);
+ int secondContig = g_index->getGenome()->getContigNumAtLocation(second->location);
+
+ if (firstContig < secondContig) {
+ return -1;
+ } else if (firstContig > secondContig) {
+ return 1;
+ } else if (first->score < second->score) {
+ return -1;
+ } else if (first->score > second->score) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+
+int
+ SingleAlignmentResult::compareByScore(const void *first_, const void *second_)
+{
+ const SingleAlignmentResult *first = (SingleAlignmentResult *)first_;
+ const SingleAlignmentResult *second = (SingleAlignmentResult *)second_;
+
+ if (first->score < second->score) {
+ return -1;
+ } else if (first->score > second->score) {
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+ int
+PairedAlignmentResult::compareByContigAndScore(const void *first_, const void *second_)
+{
+ extern GenomeIndex *g_index; // Sorry, but no easy way to get this into here
+
+ const PairedAlignmentResult *first = (PairedAlignmentResult *)first_;
+ const PairedAlignmentResult *second = (PairedAlignmentResult *)second_;
+
+ int firstContig = g_index->getGenome()->getContigNumAtLocation(first->location[0]);
+ int secondContig = g_index->getGenome()->getContigNumAtLocation(second->location[0]);
+
+ if (firstContig < secondContig) {
+ return -1;
+ } else if (firstContig > secondContig) {
+ return 1;
+ } else if (first->score < second->score) {
+ return -1;
+ } else if (first->score > second->score) {
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+int
+PairedAlignmentResult::compareByScore(const void *first_, const void *second_)
+{
+ const PairedAlignmentResult *first = (PairedAlignmentResult *)first_;
+ const PairedAlignmentResult *second = (PairedAlignmentResult *)second_;
+
+ int firstScore = first->score[0] + first->score[1];
+ int secondScore = second->score[0] + second->score[1];
+
+ if (firstScore < secondScore) {
+ return -1;
+ } else if (firstScore > secondScore) {
+ return 1;
+ } else {
+ return 0;
+ }
+}
\ No newline at end of file
diff --git a/SNAPLib/AlignmentResult.h b/SNAPLib/AlignmentResult.h
new file mode 100644
index 0000000..eb229fb
--- /dev/null
+++ b/SNAPLib/AlignmentResult.h
@@ -0,0 +1,93 @@
+/*++
+
+Module Name:
+
+ AlignmentResult.h
+
+Abstract:
+
+ Header for SNAP genome alignment results
+
+Authors:
+
+ Bill Bolosky, May, 2014
+
+Environment:
+
+ User mode service.
+
+ This class is NOT thread safe. It's the caller's responsibility to ensure that
+ at most one thread uses an instance at any time.
+
+Revision History:
+
+ Pulled out of other places in SNAP
+
+--*/
+
+#pragma once
+#include "Genome.h"
+#include "directions.h"
+
+class Read;
+
+enum AlignmentResult {NotFound, SingleHit, MultipleHits, UnknownAlignment}; // BB: Changed Unknown to UnknownAlignment because of a conflict w/Windows headers
+
+bool isAValidAlignmentResult(AlignmentResult result);
+
+
+inline const char *AlignmentResultToString(AlignmentResult result) {
+ switch (result) {
+ case NotFound: return "NotFound";
+ case SingleHit: return "SingleHit";
+ case MultipleHits: return "MultipleHits";
+ case UnknownAlignment: return "Unknown";
+ default: return "Unknown alignment result type";
+ }
+}
+
+struct SingleAlignmentResult {
+ AlignmentResult status;
+
+ GenomeLocation location; // Aligned genome location.
+ Direction direction; // Did we match the reverse complement?
+ int score; // score of each end if matched
+
+ int mapq; // mapping quality, encoded like a Phred score (but as an integer, not ASCII Phred + 33).
+
+ static int compareByContigAndScore(const void *first, const void *second); // qsort()-style compare routine
+ static int compareByScore(const void *first, const void *second); // qsort()-style compare routine
+};
+
+// Does an AlignmentResult represent a single location?
+inline bool isOneLocation(AlignmentResult result) {
+ return result == SingleHit;
+}
+
+const int NUM_READS_PER_PAIR = 2; // This is just to make it clear what the array subscripts are, it doesn't ever make sense to change
+
+struct PairedAlignmentResult {
+ AlignmentResult status[NUM_READS_PER_PAIR]; // SingleHit or CertainHit if aligned, MultipleHit if matches DB
+ // but not confidently aligned, or NotFound.
+
+ GenomeLocation location[NUM_READS_PER_PAIR];// Genome location of each read.
+
+ Direction direction[NUM_READS_PER_PAIR]; // Did we match the reverse complement? In general the two reads should have
+ // opposite orientations because they're part of the same original fragment,
+ // but it seems possible for a piece of the genome to get cut cleanly and flip
+ // in a translocation event, which would cause both ends of a fragment aligning
+ // there to be in the same orientation w.r.t. the reference genome.
+
+ int score[NUM_READS_PER_PAIR]; // score of each end if matched
+
+ int mapq[NUM_READS_PER_PAIR]; // mapping quality of each end, encoded like a Phred score (but as an integer, not ASCII Phred + 33).
+
+ bool fromAlignTogether; // Was this alignment created by aligning both reads together, rather than from some combination of single-end aligners?
+ bool alignedAsPair; // Were the reads aligned as a pair, or separately?
+ _int64 nanosInAlignTogether;
+ unsigned nLVCalls;
+ unsigned nSmallHits;
+
+ static int compareByContigAndScore(const void *first, const void *second); // qsort()-style compare routine
+ static int compareByScore(const void *first, const void *second); // qsort()-style compare routine
+};
\ No newline at end of file
diff --git a/SNAPLib/ApproximateCounter.cpp b/SNAPLib/ApproximateCounter.cpp
new file mode 100644
index 0000000..8ea1367
--- /dev/null
+++ b/SNAPLib/ApproximateCounter.cpp
@@ -0,0 +1,40 @@
+#include "stdafx.h"
+#include <math.h>
+#include "ApproximateCounter.h"
+
+using namespace std;
+
+
+ApproximateCounter::ApproximateCounter()
+{
+ buckets.resize(BUCKETS);
+}
+
+void ApproximateCounter::add(_uint64 value)
+{
+ _uint64 h = hash(value);
+ unsigned bucket = (unsigned) h % BUCKETS;
+ unsigned rest = (unsigned)(h >> SHIFT);
+ unsigned long firstZero;
+ if (rest == 0) {
+ firstZero = 64 - SHIFT;
+ } else {
+ CountTrailingZeroes(rest, firstZero);
+ }
+
+ buckets[bucket] |= (1LL << firstZero);
+}
+
+
+unsigned ApproximateCounter::getCount()
+{
+ double s = 0;
+ for (int i = 0; i < BUCKETS; i++) {
+ _uint64 r = 0;
+ while (r < 64 && (buckets[i] & (1LL << r)) != 0) {
+ r++;
+ }
+ s += r;
+ }
+ return (unsigned) (BUCKETS / 0.77351 * pow(2, s / BUCKETS));
+}
diff --git a/SNAPLib/ApproximateCounter.h b/SNAPLib/ApproximateCounter.h
new file mode 100644
index 0000000..dc2c6b6
--- /dev/null
+++ b/SNAPLib/ApproximateCounter.h
@@ -0,0 +1,30 @@
+#pragma once
+
+#include "Compat.h"
+
+// Counts the number of distinct items in a stream approximately using Flajolet-Martin.
+class ApproximateCounter
+{
+public:
+ ApproximateCounter();
+
+ void add(_uint64 value);
+
+ unsigned getCount();
+
+private:
+ static const int SHIFT = 9;
+ static const int BUCKETS = 1 << SHIFT;
+
+ std::vector<_uint64> buckets;
+
+ // MurmurHash3 finalization step from http://sites.google.com/site/murmurhash
+ inline _uint64 hash(_uint64 value) {
+ value ^= (value >> 33);
+ value *= 0xff51afd7ed558ccdLL;
+ value ^= (value >> 33);
+ value *= 0xc4ceb9fe1a85ec53LL;
+ value ^= (value >> 33);
+ return value;
+ }
+};
diff --git a/SNAPLib/Bam.cpp b/SNAPLib/Bam.cpp
new file mode 100644
index 0000000..47049a1
--- /dev/null
+++ b/SNAPLib/Bam.cpp
@@ -0,0 +1,1841 @@
+/*++
+
+Module Name:
+
+ Bam.cpp
+
+Abstract:
+
+ Binary Alignment Map (BAM) file writer and reader.
+
+Environment:
+
+ User mode service.
+
+ BamWriter and BamReader (and their subclasses) aren't thread safe.
+
+--*/
+
+#include "stdafx.h"
+#include "SAM.h"
+#include "BigAlloc.h"
+#include "Compat.h"
+#include "Read.h"
+#include "Bam.h"
+#include "Tables.h"
+#include "RangeSplitter.h"
+#include "ParallelTask.h"
+#include "ReadSupplierQueue.h"
+#include "Util.h"
+#include "FileFormat.h"
+#include "AlignerOptions.h"
+#include "exit.h"
+#include "VariableSizeMap.h"
+#include "PairedAligner.h"
+#include "GzipDataWriter.h"
+#include "Error.h"
+
+using std::max;
+using std::min;
+using util::strnchr;
+
+BAMReader::BAMReader(const ReaderContext& i_context) : ReadReader(i_context)
+{
+}
+
+BAMReader::~BAMReader()
+{
+}
+
+ bool
+BAMReader::getNextReadPair(
+ Read *read1,
+ Read *read2,
+ PairedAlignmentResult *alignmentResult,
+ unsigned *mapQ,
+ const char **cigar)
+{
+ return false;
+}
+
+ void
+BAMReader::init(
+ const char *fileName,
+ int bufferCount,
+ _int64 startingOffset,
+ _int64 amountOfFileToProcess)
+{
+ // todo: integrate supplier models
+ // might need up to 3x extra for expanded sequence + quality + cigar data
+ if (!strcmp("-", fileName)) {
+ data = DataSupplier::GzipBamStdio->getDataReader(bufferCount, MAX_RECORD_LENGTH, 3.0 * DataSupplier::ExpansionFactor, 0);
+ } else {
+ data = DataSupplier::GzipBamDefault->getDataReader(bufferCount, MAX_RECORD_LENGTH, 3.0 * DataSupplier::ExpansionFactor, 0);
+ }
+
+ if (! data->init(fileName)) {
+ WriteErrorMessage("Unable to read file %s\n", fileName);
+ soft_exit(1);
+ }
+
+ if (startingOffset == 0) {
+ readHeader(fileName);
+ }
+
+ _ASSERT(context.headerBytes > 0);
+ reinit(startingOffset, amountOfFileToProcess);
+ if ((size_t) startingOffset < context.headerBytes) {
+ _int64 bytesToSkip = context.headerBytes - startingOffset;
+
+ while (bytesToSkip > 0) {
+ char* p;
+ _int64 valid, start;
+ bool ok = data->getData(&p, &valid, &start);
+ if (!ok) {
+ WriteErrorMessage("failure reading file %s\n", fileName);
+ soft_exit(1);
+ }
+
+ _int64 bytesToSkipThisTime = __min(valid, bytesToSkip);
+ data->advance(bytesToSkipThisTime);
+ if (bytesToSkipThisTime > start) {
+ data->nextBatch();
+ }
+ data->getData(&p, &valid, &start);
+
+ bytesToSkip -= bytesToSkipThisTime;
+ }
+ }
+}
+
+ void
+BAMReader::readHeader(
+ const char* fileName)
+{
+ _ASSERT(context.header == NULL);
+ _int64 headerSize = 1024 * 1024; // 1M header initially
+
+ bool sawWholeHeader;
+ BAMHeader* header;
+ _int64 textHeaderSize;
+ char* buffer;
+
+ buffer = data->readHeader(&headerSize);
+
+ if (headerSize < sizeof(BAMHeader)) {
+ WriteErrorMessage("Malformed BAM file '%s', too small to conatain even a header.\n", fileName);
+ soft_exit(1);
+ }
+
+ header = (BAMHeader*)buffer;
+ if (header->magic != BAMHeader::BAM_MAGIC) {
+ WriteErrorMessage("BAMReader: Not a valid BAM file\n");
+ soft_exit(1);
+ }
+ textHeaderSize = header->l_text;
+
+ if (textHeaderSize + (_int64)sizeof(BAMHeader) > headerSize) {
+ headerSize = textHeaderSize + (_int64)sizeof(BAMHeader);
+ buffer = data->readHeader(&headerSize);
+ if (textHeaderSize + (_int64)sizeof(BAMHeader) > headerSize) {
+ WriteErrorMessage("Unable to read entire header of BAM file '%s', it may be malformed.\n", fileName);
+ soft_exit(1);
+ }
+
+ header = (BAMHeader*)buffer;
+ if (header->magic != BAMHeader::BAM_MAGIC) {
+ WriteErrorMessage("BAMReader: Not a valid BAM file\n");
+ soft_exit(1);
+ }
+
+ _ASSERT(textHeaderSize == header->l_text); // We got the same thing this time
+ }
+
+ if (!SAMReader::parseHeader(fileName, header->text(), header->text() + headerSize - sizeof(BAMHeader), context.genome, &textHeaderSize, &context.headerMatchesIndex, &sawWholeHeader)) {
+ WriteErrorMessage("BAMReader: failed to parse header on '%s'\n", fileName);
+ soft_exit(1);
+ }
+
+ if (!sawWholeHeader) {
+ WriteErrorMessage("We had the entire header loaded for file '%s', but it didn't parse correctly\n", fileName);
+ soft_exit(1);
+ }
+
+ int n_ref = header->n_ref();
+ BAMHeaderRefSeq* refSeq = header->firstRefSeq();
+ for (int i = 0; i < n_ref; i++, refSeq = refSeq->next()) {
+ // just advance
+ }
+
+ char* p = new char[textHeaderSize + 1];
+ memcpy(p, header->text(), textHeaderSize);
+ p[textHeaderSize] = 0;
+ context.header = p;
+ context.headerLength = textHeaderSize;
+ context.headerBytes = (char*) refSeq - buffer;
+}
+
+ BAMReader*
+BAMReader::create(
+ const char *fileName,
+ int bufferCount,
+ _int64 startingOffset,
+ _int64 amountOfFileToProcess,
+ const ReaderContext& context)
+{
+ BAMReader* reader = new BAMReader(context);
+ reader->init(fileName, bufferCount, startingOffset, amountOfFileToProcess);
+ return reader;
+}
+
+ void
+BAMReader::reinit(
+ _int64 startingOffset,
+ _int64 amountOfFileToProcess)
+{
+ data->reinit(startingOffset, amountOfFileToProcess);
+ extraOffset = 0;
+}
+
+ ReadSupplierGenerator *
+BAMReader::createReadSupplierGenerator(
+ const char *fileName,
+ int numThreads,
+ const ReaderContext& context)
+{
+ BAMReader* reader = create(fileName, ReadSupplierQueue::BufferCount(numThreads), 0, 0, context);
+ ReadSupplierQueue* queue = new ReadSupplierQueue((ReadReader*)reader);
+ queue->startReaders();
+ return queue;
+}
+
+ PairedReadSupplierGenerator *
+BAMReader::createPairedReadSupplierGenerator(
+ const char *fileName,
+ int numThreads,
+ bool quicklyDropUnmatchedReads,
+ const ReaderContext& context,
+ int matchBufferSize)
+{
+ BAMReader* reader = create(fileName,
+ ReadSupplierQueue::BufferCount(numThreads) + PairedReadReader::MatchBuffers, 0, 0, context);
+ PairedReadReader* matcher = PairedReadReader::PairMatcher(reader, quicklyDropUnmatchedReads);
+ ReadSupplierQueue* queue = new ReadSupplierQueue(matcher);
+ queue->startReaders();
+ return queue;
+}
+
+const char* BAMAlignment::CodeToSeq = "=ACMGRSVTWYHKDBN";
+const char *BAMAlignment::CodeToSeqRC = "NTGKCYWBASRDMHVN"; // Bill's best guess for things other than ATCG, not that it matters for SNAP
+_uint16 BAMAlignment::CodeToSeqPair[256];
+_uint16 BAMAlignment::CodeToSeqPairRC[256];
+_uint8 BAMAlignment::SeqToCode[256];
+const char* BAMAlignment::CodeToCigar = "MIDNSHP=X";
+_uint8 BAMAlignment::CigarToCode[256];
+_uint8 BAMAlignment::CigarCodeToRefBase[9] = {1, 0, 1, 1, 0, 0, 1, 1, 1};
+
+const _uint8 BAM_CIGAR_M = 0;
+const _uint8 BAM_CIGAR_I = 1;
+const _uint8 BAM_CIGAR_D = 2;
+const _uint8 BAM_CIGAR_N = 3;
+const _uint8 BAM_CIGAR_S = 4;
+const _uint8 BAM_CIGAR_H = 5;
+const _uint8 BAM_CIGAR_P = 6;
+const _uint8 BAM_CIGAR_EQUAL = 7;
+const _uint8 BAM_CIGAR_X = 8;
+
+BAMAlignment::_init BAMAlignment::_init_;
+
+ void
+BAMAlignment::decodeSeq(
+ char* o_sequence,
+ const _uint8* nibbles,
+ int bases)
+{
+
+
+ _uint16 *o_sequence_pairs = (_uint16 *)o_sequence;
+ int pairs = bases / 2;
+ for (int i = 0; i < pairs; i++) {
+ o_sequence_pairs[i] = CodeToSeqPair[nibbles[i]];
+ }
+
+ if (bases % 2 == 1) {
+ o_sequence[bases - 1] = CodeToSeq[nibbles[bases / 2] >> 4];
+ }
+
+#ifdef _DEBUG // Make sure the new one does the same thing as the old.
+ for (int i = 0; i < bases; i++) {
+ int bit = 1 ^ (i & 1);
+ int n = (*nibbles >> (bit << 2)) & 0xf; // extract nibble without branches
+ nibbles += 1 ^ bit;
+ _ASSERT(o_sequence[i] == BAMAlignment::CodeToSeq[n]);
+ }
+#endif // _DEBUG
+}
+ void
+BAMAlignment::decodeSeqRC(
+char* o_sequence,
+const _uint8* nibbles,
+int bases)
+{
+ _uint16 *o_sequence_pairs = (_uint16 *)o_sequence;
+ int pairs = bases / 2;
+ for (int i = 0; i < pairs; i++) {
+ o_sequence_pairs[pairs-i-1] = CodeToSeqPairRC[nibbles[i]];
+ }
+
+ if (bases % 2 == 1) {
+ o_sequence[0] = CodeToSeqRC[nibbles[bases / 2] >> 4];
+ }
+}
+ void
+BAMAlignment::decodeQual(
+ char* o_qual,
+ char* quality,
+ int bases)
+{
+ for (int i = 0; i < bases; i++) {
+ o_qual[i] = CIGAR_QUAL_TO_SAM[((_uint8*)quality)[i]];
+ }
+}
+
+ void
+BAMAlignment::decodeQualRC(
+ char* o_qual,
+ char* quality,
+ int bases)
+{
+ for (int i = 0; i < bases; i++) {
+ o_qual[bases-i-1] = CIGAR_QUAL_TO_SAM[((_uint8*)quality)[i]];
+ }
+}
+
+ bool
+BAMAlignment::decodeCigar(
+ char* o_cigar,
+ int cigarSize,
+ _uint32* cigar,
+ int ops)
+{
+ int i = 0;
+ _uint32 lastOp = 99999;
+ while (ops > 0 && i < cigarSize - 11) { // 9 decimal digits (28 bits) + 1 cigar char + null terminator
+ i += sprintf(o_cigar + i, "%u", *cigar >> 4);
+ _ASSERT((*cigar & 0xf) <= 8);
+ _uint32 op = *cigar & 0xf;
+ o_cigar[i++] = BAMAlignment::CodeToCigar[op];
+ _ASSERT(op != lastOp);
+ lastOp = op;
+ ops--;
+ cigar++;
+ }
+ o_cigar[i++] = 0;
+ return ops == 0;
+}
+
+ void
+BAMAlignment::getClippingFromCigar(
+ _uint32 *cigar,
+ int ops,
+ unsigned *o_frontClipping,
+ unsigned *o_backClipping,
+ unsigned *o_frontHardClipping,
+ unsigned *o_backHardClipping)
+{
+ *o_frontHardClipping = 0; // Gets overwritten if we have any
+ *o_frontClipping = 0;
+ *o_backHardClipping = 0;
+ *o_backClipping = 0;
+
+ if (0 == ops) return;
+
+ if ((*cigar & 0xf) == BAM_CIGAR_H) {
+ *o_frontHardClipping = *cigar >> 4;
+ cigar++;
+ ops--;
+ if (0 == ops) {
+ return; // What a strange cigar string, all hard clip!
+ }
+ }
+
+ if ((*cigar & 0xf) == BAM_CIGAR_S) {
+ *o_frontClipping = *cigar >> 4;
+ cigar++;
+ ops--;
+ if (0 == ops) {
+ return;
+ }
+ }
+
+ if ((cigar[ops - 1] & 0xf) == BAM_CIGAR_H) {
+ *o_backHardClipping = cigar[ops - 1] >> 4;
+ ops--;
+ if (0 == ops) {
+ return;
+ }
+ }
+
+ if ((cigar[ops - 1] & 0xf) == BAM_CIGAR_S) {
+ *o_backClipping = cigar[ops - 1] >> 4;
+ }
+}
+
+
+ void
+BAMAlignment::encodeSeq(
+ _uint8* encoded,
+ char* ascii,
+ int length)
+{
+ _uint8* p = encoded;
+ for (int i = 0; i + 1 < length; i += 2) {
+ *p++ = (BAMAlignment::SeqToCode[ascii[i]] << 4) | BAMAlignment::SeqToCode[ascii[i+1]];
+ }
+ if (length % 2) {
+ *p = BAMAlignment::SeqToCode[ascii[length - 1]] << 4;
+ }
+}
+
+ int
+BAMAlignment::l_ref()
+{
+ if (FLAG & SAM_UNMAPPED) {
+ return 0;
+ }
+ if (n_cigar_op == 0) {
+ return l_seq;
+ }
+ _uint32* p = cigar();
+ int len = 0;
+ static const int op_ref[16] = {1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0};
+ for (int i = 0; i < n_cigar_op; i++) {
+ _uint32 op = *p++;
+ len += op_ref[(op & 15)] * (op >> 4);
+ }
+ return len;
+}
+
+// static initializer
+BAMAlignment::_init::_init()
+{
+ memset(SeqToCode, 0, 256);
+ for (int i = 1; i < 16; i++) {
+ SeqToCode[CodeToSeq[i]] = i;
+ }
+
+ for (int i = 0; i < 256; i++) {
+ CodeToSeqPair[i] = CodeToSeq[i >> 4] | (CodeToSeq[i & 0xf] << 8); // If this looks backwards, recall that the machines are little-endian
+ CodeToSeqPairRC[i] = (CodeToSeqRC[i >> 4] << 8) | CodeToSeqRC[i & 0xf]; // Doubled backwards == forward
+ }
+
+ memset(CigarToCode, 0, 256);
+ for (int i = 1; i < 9; i++) {
+ CigarToCode[CodeToCigar[i]] = i;
+ }
+}
+
+ int
+BAMAlignment::reg2bin(
+ int beg,
+ int end)
+{
+ --end;
+ if (beg>>14 == end>>14) return ((1<<15)-1)/7 + (beg>>14);
+ if (beg>>17 == end>>17) return ((1<<12)-1)/7 + (beg>>17);
+ if (beg>>20 == end>>20) return ((1<<9)-1)/7 + (beg>>20);
+ if (beg>>23 == end>>23) return ((1<<6)-1)/7 + (beg>>23);
+ if (beg>>26 == end>>26) return ((1<<3)-1)/7 + (beg>>26);
+ return 0;
+}
+
+ int
+BAMAlignment::reg2bins(
+ int beg,
+ int end,
+ _uint16* list)
+{
+ int i = 0, k;
+ --end;
+ list[i++] = 0;
+ for (k = 1 + (beg>>26); k <= 1 + (end>>26); ++k) list[i++] = k;
+ for (k = 9 + (beg>>23); k <= 9 + (end>>23); ++k) list[i++] = k;
+ for (k = 73 + (beg>>20); k <= 73 + (end>>20); ++k) list[i++] = k;
+ for (k = 585 + (beg>>17); k <= 585 + (end>>17); ++k) list[i++] = k;
+ for (k = 4681 + (beg>>14); k <= 4681 + (end>>14); ++k) list[i++] = k;
+ return i;
+}
+
+#ifdef VALIDATE_BAM
+ void
+BAMAlignment::validate()
+{
+ _ASSERT(block_size < 0x100000); // sanity check, should be <1MB!
+ _ASSERT(size(l_read_name, n_cigar_op, l_seq, 0) <= block_size + sizeof(block_size));
+ _ASSERT(refID >= -1 && refID <= (int) 0x100000);
+ // todo: validate bin, requires more info
+ _ASSERT(MAPQ <= 80 || MAPQ == 255);
+ _ASSERT(FLAG <= 0x7ff);
+ _ASSERT(next_refID >= -1 && refID <= (int) 0x100000);
+ for (char* p = read_name(); p < read_name() + l_read_name - 1; p++) {
+ _ASSERT(*p >= ' ' && *p <= '~');
+ }
+ _ASSERT(read_name()[l_read_name - 1] == 0);
+ // can't validate seq, all values are valid (though some are unlikely!)
+ char* q = qual();
+ for (int i = 0; i < l_seq; i++) {
+ _ASSERT(q[i] >= -1 && q[i] <= 80);
+ }
+ BAMAlignAux* aux = firstAux();
+ for (; (char*)aux - (char*)firstAux() < auxLen(); aux = aux->next()) {
+ _ASSERT(aux->tag[0] >= ' ' && aux->tag[0] <= '~' && aux->tag[1] >= ' ' && aux->tag[1] <= '~');
+ _ASSERT(strchr("AcCsSiIfZHB", aux->val_type) != NULL);
+ }
+ _ASSERT((char*) aux - (char*) firstAux() == auxLen());
+}
+#endif
+
+ bool
+BAMReader::getNextRead(
+ Read *read,
+ AlignmentResult *alignmentResult,
+ GenomeLocation *genomeLocation,
+ bool *isRC,
+ unsigned *mapQ,
+ unsigned *flag,
+ bool ignoreEndOfRange,
+ const char **cigar)
+{
+ unsigned local_flag;
+ if (NULL == flag) {
+ flag = &local_flag;
+ }
+
+ do {
+ char* buffer;
+ _int64 bytes;
+ if (! data->getData(&buffer, &bytes)) {
+ data->nextBatch();
+ if (! data->getData(&buffer, &bytes)) {
+ return false;
+ }
+ extraOffset = 0;
+ }
+ BAMAlignment* bam = (BAMAlignment*) buffer;
+ if ((_uint64)bytes < sizeof(bam->block_size) || (_uint64)bytes < bam->size()) {
+ WriteErrorMessage("Insufficient buffer space for BAM file, increase -xf parameter\n");
+ soft_exit(1);
+ }
+ data->advance(bam->size());
+ size_t lineLength;
+ getReadFromLine(context.genome, buffer, buffer + bytes, read, alignmentResult, genomeLocation,
+ isRC, mapQ, &lineLength, flag, cigar, context.clipping);
+ unsigned auxLen = bam->auxLen();
+ read->setReadGroup(context.defaultReadGroup);
+ if (auxLen > 0) {
+ read->setAuxiliaryData((char*) bam->firstAux(), auxLen);
+ for (BAMAlignAux* aux = bam->firstAux(); aux < bam->endAux(); aux = aux->next()) {
+ if (aux->val_type == 'Z' && aux->tag[0] == 'R' && aux->tag[1] == 'G') {
+ read->setReadGroup(READ_GROUP_FROM_AUX);
+ break;
+ }
+ }
+ }
+ } while ((context.ignoreSecondaryAlignments && (*flag & SAM_SECONDARY)) ||
+ (context.ignoreSupplementaryAlignments && (*flag & SAM_SUPPLEMENTARY)));
+ _ASSERT(read->getData()[0]);
+ return true;
+}
+
+ void
+BAMReader::getReadFromLine(
+ const Genome *genome,
+ char *line,
+ char *endOfBuffer,
+ Read *read,
+ AlignmentResult *alignmentResult,
+ GenomeLocation *out_genomeLocation,
+ bool *isRC,
+ unsigned *mapQ,
+ size_t *lineLength,
+ unsigned *flag,
+ const char **cigar,
+ ReadClippingType clipping)
+{
+ _ASSERT(endOfBuffer - line >= sizeof(BAMHeader));
+ BAMAlignment* bam = (BAMAlignment*) line;
+ _ASSERT((size_t)(endOfBuffer - line) >= bam->size());
+ bam->validate();
+
+ GenomeLocation genomeLocation = bam->getLocation(genome);
+
+ if (NULL != out_genomeLocation) {
+ _ASSERT(-1 <= bam->refID && bam->refID < (int)genome->getNumContigs());
+ *out_genomeLocation = genomeLocation;
+ }
+
+ if (NULL != cigar) {
+ const char* cigarBuffer;
+ {
+ char *writableCigarBuffer = getExtra(min(MAX_K * 5, MAX_SEQ_LENGTH));
+ if (!BAMAlignment::decodeCigar(writableCigarBuffer, MAX_SEQ_LENGTH, bam->cigar(), bam->n_cigar_op)) {
+ cigarBuffer = ""; // todo: fail?
+ }
+ else {
+ cigarBuffer = writableCigarBuffer;
+ }
+ }
+ *cigar = cigarBuffer;
+ }
+
+ if (NULL != read) {
+ _ASSERT(bam->l_seq < MAX_SEQ_LENGTH);
+ char* seqBuffer = getExtra(bam->l_seq);
+ char* qualBuffer = getExtra(bam->l_seq);
+
+ unsigned originalFrontClipping, originalBackClipping, originalFrontHardClipping, originalBackHardClipping;
+
+ if (bam->FLAG & SAM_REVERSE_COMPLEMENT) {
+ BAMAlignment::decodeSeqRC(seqBuffer, bam->seq(), bam->l_seq);
+ BAMAlignment::decodeQualRC(qualBuffer, bam->qual(), bam->l_seq);
+
+ //
+ // Get the clipping, but reverse the outputs front/back because this is an RC read.
+ //
+ BAMAlignment::getClippingFromCigar(bam->cigar(), bam->n_cigar_op, &originalBackClipping, &originalFrontClipping, &originalBackHardClipping, &originalFrontHardClipping);
+ } else {
+ BAMAlignment::decodeSeq(seqBuffer, bam->seq(), bam->l_seq);
+ BAMAlignment::decodeQual(qualBuffer, bam->qual(), bam->l_seq);
+
+ BAMAlignment::getClippingFromCigar(bam->cigar(), bam->n_cigar_op, &originalFrontClipping, &originalBackClipping, &originalFrontHardClipping, &originalBackHardClipping);
+ }
+
+ const char *rnext;
+ unsigned rnextLen;
+ if (bam->next_refID < 0 || (genome != NULL && bam->next_refID >= genome->getNumContigs())) {
+ rnext = "*";
+ rnextLen = 1;
+ } else {
+ rnext = genome->getContigs()[bam->next_refID].name;
+ rnextLen = genome->getContigs()[bam->next_refID].nameLength;
+ }
+ read->init(bam->read_name(), bam->l_read_name - 1, seqBuffer, qualBuffer, bam->l_seq, genomeLocation, bam->MAPQ, bam->FLAG,
+ originalFrontClipping, originalBackClipping, originalFrontHardClipping, originalBackHardClipping, rnext, rnextLen, bam->next_pos + 1, true);
+ read->setBatch(data->getBatch());
+ read->clip(clipping);
+ }
+
+ if (NULL != alignmentResult) {
+ _ASSERT(bam->FLAG & SAM_UNMAPPED || bam->refID >= 0);
+ *alignmentResult = bam->FLAG & SAM_UNMAPPED ? NotFound : SingleHit; // todo: look at MAPQ?
+ }
+
+ if (NULL != isRC) {
+ *isRC = (bam->FLAG & SAM_REVERSE_COMPLEMENT) != 0;
+ }
+
+ if (NULL != mapQ) {
+ *mapQ = bam->MAPQ;
+ }
+
+ if (NULL != flag) {
+ *flag = bam->FLAG;
+ }
+
+
+}
+
+ char*
+BAMReader::getExtra(
+ _int64 bytes)
+{
+ char* extra;
+ _int64 limit;
+ data->getExtra(&extra, &limit);
+ _ASSERT(extra != NULL && bytes >= 0 && limit - extraOffset >= bytes);
+ if (limit - extraOffset < bytes) {
+ WriteErrorMessage("error: not enough space for expanding BAM file - increase expansion factor, currently -xf %.1f\n", DataSupplier::ExpansionFactor);
+ soft_exit(1);
+ }
+ char* result = extra + extraOffset;
+ extraOffset += max((_int64) 0, bytes);
+ return result;
+}
+
+
+class BAMFormat : public FileFormat
+{
+public:
+ BAMFormat(bool i_useM) : useM(i_useM) {}
+
+ virtual void getSortInfo(const Genome* genome, char* buffer, _int64 bytes, GenomeLocation* o_location, GenomeDistance* o_readBytes, int* o_refID, int* o_pos) const;
+
+ virtual void setupReaderContext(AlignerOptions* options, ReaderContext* readerContext) const
+ { FileFormat::setupReaderContext(options, readerContext, true); }
+
+ virtual ReadWriterSupplier* getWriterSupplier(AlignerOptions* options, const Genome* genome) const;
+
+ virtual bool writeHeader(
+ const ReaderContext& context, char *header, size_t headerBufferSize, size_t *headerActualSize,
+ bool sorted, int argc, const char **argv, const char *version, const char *rgLine, bool omitSQLines) const;
+
+ virtual bool writeRead(
+ const ReaderContext& context, LandauVishkinWithCigar * lv, char * buffer, size_t bufferSpace,
+ size_t * spaceUsed, size_t qnameLen, Read * read, AlignmentResult result,
+ int mapQuality, GenomeLocation genomeLocation, Direction direction, bool secondaryAlignment, int * o_addFrontClipping,
+ bool hasMate = false, bool firstInPair = false, Read * mate = NULL,
+ AlignmentResult mateResult = NotFound, GenomeLocation mateLocation = 0, Direction mateDirection = FORWARD,
+ bool alignedAsPair = false) const;
+
+private:
+
+ static int computeCigarOps(const Genome * genome, LandauVishkinWithCigar * lv,
+ char * cigarBuf, int cigarBufLen,
+ const char * data, unsigned dataLength, unsigned basesClippedBefore, unsigned extraBasesClippedBefore, unsigned basesClippedAfter,
+ unsigned frontHardClipping, unsigned backHardClipping,
+ GenomeLocation genomeLocation, bool isRC, bool useM, int * o_editDistance, int * o_addFrontClipping);
+
+ const bool useM;
+};
+
+const FileFormat* FileFormat::BAM[] = { new BAMFormat(false), new BAMFormat(true) };
+
+ void
+BAMFormat::getSortInfo(
+ const Genome* genome,
+ char* buffer,
+ _int64 bytes,
+ GenomeLocation* o_location,
+ GenomeDistance* o_readBytes,
+ int* o_refID,
+ int* o_pos) const
+{
+ BAMAlignment* bam = (BAMAlignment*) buffer;
+ _ASSERT((size_t) bytes >= sizeof(BAMAlignment) && bam->size() <= (size_t) bytes && bam->refID < genome->getNumContigs());
+ if (o_location != NULL) {
+ if (bam->refID < 0 || bam->refID >= genome->getNumContigs() || bam->pos < 0) {
+ if (bam->next_refID < 0 || bam->next_refID > genome->getNumContigs() || bam->next_pos < 0) {
+ *o_location = UINT32_MAX;
+ } else {
+ *o_location = genome->getContigs()[bam->next_refID].beginningLocation + bam->next_pos;
+ }
+ } else {
+ *o_location = genome->getContigs()[bam->refID].beginningLocation + bam->pos;
+ }
+ }
+ if (o_readBytes != NULL) {
+ *o_readBytes = (unsigned) bam->size();
+ }
+ if (o_refID != NULL) {
+ *o_refID = bam->refID;
+ }
+ if (o_pos != NULL) {
+ *o_pos = bam->pos;
+ }
+}
+
+ ReadWriterSupplier*
+BAMFormat::getWriterSupplier(
+ AlignerOptions* options,
+ const Genome* genome) const
+{
+ DataWriterSupplier* dataSupplier;
+ GzipWriterFilterSupplier* gzipSupplier =
+ DataWriterSupplier::gzip(true, BAM_BLOCK, max(1, options->numThreads - 1), false, options->sortOutput);
+ // (leave a thread free for main, and let OS map threads to cores to allow system IO etc.)
+ if (options->sortOutput) {
+ size_t len = strlen(options->outputFile.fileName);
+ // todo: this is going to leak, but there's no easy way to free it, and it's small...
+ char* tempFileName = (char*) malloc(5 + len);
+ strcpy(tempFileName, options->outputFile.fileName);
+ strcpy(tempFileName + len, ".tmp");
+ // todo: make markDuplicates optional?
+ DataWriter::FilterSupplier* filters = gzipSupplier;
+ if (! options->noDuplicateMarking) {
+ filters = DataWriterSupplier::markDuplicates(genome)->compose(filters);
+ }
+ if (! options->noIndex) {
+ char* indexFileName = (char*) malloc(5 + len);
+ strcpy(indexFileName, options->outputFile.fileName);
+ strcpy(indexFileName + len, ".bai");
+ filters = DataWriterSupplier::bamIndex(indexFileName, genome, gzipSupplier)->compose(filters);
+ }
+ dataSupplier = DataWriterSupplier::sorted(this, genome, tempFileName,
+ options->sortMemory * (1ULL << 30),
+ options->numThreads, options->outputFile.fileName, filters, options->writeBufferSize,
+ FileEncoder::gzip(gzipSupplier, options->numThreads, options->bindToProcessors));
+ } else {
+ dataSupplier = DataWriterSupplier::create(options->outputFile.fileName, options->writeBufferSize, gzipSupplier);
+ }
+ return ReadWriterSupplier::create(this, dataSupplier, genome);
+}
+
+ bool
+BAMFormat::writeHeader(
+ const ReaderContext& context,
+ char *header,
+ size_t headerBufferSize,
+ size_t *headerActualSize,
+ bool sorted,
+ int argc,
+ const char **argv,
+ const char *version,
+ const char *rgLine,
+ bool omitSQLines) const
+{
+ _ASSERT(!omitSQLines); // This is just for SAM files, at least for now.
+
+ if (headerBufferSize < BAMHeader::size(0)) {
+ return false;
+ }
+ size_t cursor = 0;
+ BAMHeader* bamHeader = (BAMHeader*) header;
+ bamHeader->magic = BAMHeader::BAM_MAGIC;
+ size_t samHeaderSize;
+ bool ok = FileFormat::SAM[0]->writeHeader(context, bamHeader->text(), headerBufferSize - BAMHeader::size(0), &samHeaderSize,
+ sorted, argc, argv, version, rgLine, omitSQLines);
+ if (! ok) {
+ return false;
+ }
+ bamHeader->l_text = (int)samHeaderSize;
+ cursor = BAMHeader::size((int)samHeaderSize);
+
+ // Write a RefSeq record for each chromosome / contig in the genome
+ // todo: handle null genome index case - reparse header & translate into BAM
+ bamHeader->n_ref() = 0; // in case of overflow or no genome
+ if (context.genome != NULL) {
+ const Genome::Contig *contigs = context.genome->getContigs();
+ int numContigs = context.genome->getNumContigs();
+ bamHeader->n_ref() = numContigs;
+ BAMHeaderRefSeq* refseq = bamHeader->firstRefSeq();
+ GenomeDistance genomeLen = context.genome->getCountOfBases();
+ for (int i = 0; i < numContigs; i++) {
+ int len = (int)strlen(contigs[i].name) + 1;
+ cursor += BAMHeaderRefSeq::size(len);
+ if (cursor > headerBufferSize) {
+ return false;
+ }
+ refseq->l_name = len;
+ memcpy(refseq->name(), contigs[i].name, len);
+ GenomeLocation start = contigs[i].beginningLocation;
+ GenomeLocation end = ((i + 1 < numContigs) ? contigs[i+1].beginningLocation : genomeLen) - context.genome->getChromosomePadding();
+ refseq->l_ref() = (int)(end - start);
+ refseq = refseq->next();
+ _ASSERT((char*) refseq - header == cursor);
+ }
+ }
+ *headerActualSize = cursor;
+ return true;
+}
+
+ bool
+BAMFormat::writeRead(
+ const ReaderContext& context,
+ LandauVishkinWithCigar * lv,
+ char * buffer,
+ size_t bufferSpace,
+ size_t * spaceUsed,
+ size_t qnameLen,
+ Read * read,
+ AlignmentResult result,
+ int mapQuality,
+ GenomeLocation genomeLocation,
+ Direction direction,
+ bool secondaryAlignment,
+ int *o_addFrontClipping,
+ bool hasMate,
+ bool firstInPair,
+ Read * mate,
+ AlignmentResult mateResult,
+ GenomeLocation mateLocation,
+ Direction mateDirection,
+ bool alignedAsPair) const
+{
+ const int MAX_READ = MAX_READ_LENGTH;
+ const int cigarBufSize = MAX_READ;
+ _uint32 cigarBuf[cigarBufSize];
+
+ int flags = 0;
+ const char *contigName = "*";
+ int contigIndex = -1;
+ GenomeDistance positionInContig = 0;
+ int cigarOps = 0;
+ const char *mateContigName = "*";
+ int mateContigIndex = -1;
+ GenomeDistance matePositionInContig = 0;
+ _int64 templateLength = 0;
+
+ char data[MAX_READ];
+ char quality[MAX_READ];
+
+ const char* clippedData;
+ unsigned fullLength;
+ unsigned clippedLength;
+ unsigned basesClippedBefore;
+ GenomeDistance extraBasesClippedBefore;
+ unsigned basesClippedAfter;
+ int editDistance;
+ int newAddFrontClipping = 0;
+
+ if (!SAMFormat::createSAMLine(context.genome, lv,
+ // outputs:
+ data, quality, MAX_READ, contigName, contigIndex,
+ flags, positionInContig, mapQuality, mateContigName, mateContigIndex, matePositionInContig, templateLength,
+ fullLength, clippedData, clippedLength, basesClippedBefore, basesClippedAfter,
+ // inputs:
+ qnameLen, read, result, genomeLocation, direction, secondaryAlignment, useM,
+ hasMate, firstInPair, alignedAsPair, mate, mateResult, mateLocation, mateDirection,
+ &extraBasesClippedBefore))
+ {
+ return false;
+ }
+ if (genomeLocation != InvalidGenomeLocation) {
+ cigarOps = computeCigarOps(context.genome, lv, (char*)cigarBuf, cigarBufSize * sizeof(_uint32),
+ clippedData, clippedLength, basesClippedBefore, (unsigned)extraBasesClippedBefore, basesClippedAfter,
+ read->getOriginalFrontHardClipping(), read->getOriginalBackHardClipping(),
+ genomeLocation, direction == RC, useM, &editDistance, o_addFrontClipping);
+ if (*o_addFrontClipping != 0) {
+ return false;
+ }
+ }
+
+ // Write the BAM entry
+ unsigned auxLen;
+ bool auxSAM;
+ char* aux = read->getAuxiliaryData(&auxLen, &auxSAM);
+ static bool warningPrinted = false;
+ bool translateReadGroupFromSAM = false;
+ if (aux != NULL && auxSAM) {
+ if (! warningPrinted) {
+ warningPrinted = true;
+ WriteErrorMessage("warning: translating optional data from SAM->BAM is not yet implemented, optional data will not appear in BAM\n");
+ }
+ if (read->getReadGroup() == READ_GROUP_FROM_AUX) {
+ for (char* p = aux; p != NULL && p < aux + auxLen; p = SAMReader::skipToBeyondNextFieldSeparator(p, aux + auxLen)) {
+ if (strncmp(p, "RG:Z:", 5) == 0) {
+ size_t fieldLen;
+ SAMReader::skipToBeyondNextFieldSeparator(p, aux + auxLen, &fieldLen);
+ aux = p;
+ auxLen = (unsigned) fieldLen;
+ translateReadGroupFromSAM = true;
+ break;
+ }
+ }
+ }
+ if (! translateReadGroupFromSAM) {
+ aux = NULL;
+ auxLen = 0;
+ }
+ }
+ size_t bamSize = BAMAlignment::size((unsigned)qnameLen + 1, cigarOps, fullLength, auxLen);
+ if (read->getReadGroup() != NULL && read->getReadGroup() != READ_GROUP_FROM_AUX) {
+ if (strcmp(read->getReadGroup(), context.defaultReadGroup) != 0) {
+ bamSize += 4 + strlen(read->getReadGroup());
+ } else {
+ bamSize += context.defaultReadGroupAuxLen;
+ }
+ }
+ bamSize += 12; // NM:C PG:Z:SNAP fields
+ if (bamSize > bufferSpace) {
+ return false;
+ }
+ BAMAlignment* bam = (BAMAlignment*) buffer;
+ bam->block_size = (int)bamSize - 4;
+ bam->refID = contigIndex;
+ if (positionInContig > INT32_MAX || matePositionInContig > INT32_MAX) {
+ WriteErrorMessage("Can't write read to BAM file because aligned position (or mate position) within contig > 2^31, which is the limit for the BAM format.\n");
+ soft_exit(1);
+ }
+ bam->pos = (int)(positionInContig - 1);
+
+ if (qnameLen > 254) {
+ WriteErrorMessage("BAM format: QNAME field must be less than 254 characters long, instead it's %lld\n", qnameLen);
+ soft_exit(1);
+ }
+ bam->l_read_name = (_uint8)qnameLen + 1;
+ bam->MAPQ = mapQuality;
+ int refLength = cigarOps > 0 ? 0 : fullLength;
+ for (int i = 0; i < cigarOps; i++) {
+ refLength += BAMAlignment::CigarCodeToRefBase[cigarBuf[i] & 0xf] * (cigarBuf[i] >> 4);
+ }
+ bam->bin = genomeLocation != InvalidGenomeLocation ? BAMAlignment::reg2bin((int)positionInContig-1, (int)positionInContig-1 + refLength) :
+ // unmapped is at mate's position, length 1
+ mateLocation != InvalidGenomeLocation ? BAMAlignment::reg2bin((int)matePositionInContig-1, (int)matePositionInContig) :
+ // otherwise at -1, length 1
+ BAMAlignment::reg2bin(-1, 0);
+ bam->n_cigar_op = cigarOps;
+ bam->FLAG = flags;
+ bam->l_seq = fullLength;
+ bam->next_refID = mateContigIndex;
+ bam->next_pos = (int)matePositionInContig - 1;
+ bam->tlen = (int)templateLength;
+ memcpy(bam->read_name(), read->getId(), qnameLen);
+ bam->read_name()[qnameLen] = 0;
+ memcpy(bam->cigar(), cigarBuf, cigarOps * 4);
+ BAMAlignment::encodeSeq(bam->seq(), data, fullLength);
+ for (unsigned i = 0; i < fullLength; i++) {
+ quality[i] -= '!';
+ }
+ memcpy(bam->qual(), quality, fullLength);
+ if (aux != NULL && auxLen > 0) {
+ if (((char*)bam->firstAux()) + auxLen > buffer + bufferSpace) {
+ return false;
+ }
+ if (! translateReadGroupFromSAM) {
+ memcpy(bam->firstAux(), aux, auxLen);
+ } else {
+ // hack, build just RG field from SAM opt field
+ BAMAlignAux* auxData = bam->firstAux();
+ auxData->tag[0] = 'R';
+ auxData->tag[1] = 'G';
+ auxData->val_type = 'Z';
+ memcpy(auxData->value(), aux + 5, auxLen - 5);
+ ((char*)auxData->value())[auxLen-5] = 0;
+ auxLen -= 1; // RG:Z:xxx -> RGZxxx\0
+ }
+ }
+ // RG
+ if (read->getReadGroup() != NULL && read->getReadGroup() != READ_GROUP_FROM_AUX) {
+ if (strcmp(read->getReadGroup(), context.defaultReadGroup) != 0) {
+ if ((char*)bam->firstAux() + auxLen + 4 + strlen(read->getReadGroup()) > buffer + bufferSpace) {
+ return false;
+ }
+ BAMAlignAux* rg = (BAMAlignAux*)(auxLen + (char*)bam->firstAux());
+ rg->tag[0] = 'R'; rg->tag[1] = 'G'; rg->val_type = 'Z';
+ strcpy((char*)rg->value(), read->getReadGroup());
+ auxLen += (unsigned)rg->size();
+ } else {
+ if ((char*)bam->firstAux() + auxLen + context.defaultReadGroupAuxLen > buffer + bufferSpace) {
+ return false;
+ }
+ memcpy((char*)bam->firstAux() + auxLen, context.defaultReadGroupAux, context.defaultReadGroupAuxLen);
+ auxLen += context.defaultReadGroupAuxLen;
+ }
+ }
+ // PG
+ BAMAlignAux* pg = (BAMAlignAux*) (auxLen + (char*) bam->firstAux());
+ pg->tag[0] = 'P'; pg->tag[1] = 'G'; pg->val_type = 'Z';
+ strcpy((char*) pg->value(), "SNAP");
+ auxLen += (unsigned) pg->size();
+ // NM
+ BAMAlignAux* nm = (BAMAlignAux*) (auxLen + (char*) bam->firstAux());
+ nm->tag[0] = 'N'; nm->tag[1] = 'M'; nm->val_type = 'C';
+ *(_uint8*)nm->value() = (_uint8)editDistance;
+ auxLen += (unsigned) nm->size();
+
+ if (NULL != spaceUsed) {
+ *spaceUsed = bamSize;
+ }
+ // debugging: _ASSERT(0 == memcmp(bam->firstAux()->tag, "RG", 2) && 0 == memcmp(bam->firstAux()->next()->tag, "PG", 2) && 0 == memcmp(bam->firstAux()->next()->next()->tag, "NM", 2));
+ bam->validate();
+ return true;
+}
+
+// Compute the CIGAR edit sequence operations in BAM format for a read against a given genome location
+// Returns number of operations (or 0 if there was a problem)
+// if returns with *o_addFrontClipping set non-zero, need to adjust front clipping & rerun
+ int
+BAMFormat::computeCigarOps(
+ const Genome * genome,
+ LandauVishkinWithCigar * lv,
+ char * cigarBuf,
+ int cigarBufLen,
+ const char * data,
+ unsigned dataLength,
+ unsigned basesClippedBefore,
+ unsigned extraBasesClippedBefore,
+ unsigned basesClippedAfter,
+ unsigned frontHardClipping,
+ unsigned backHardClipping,
+ GenomeLocation genomeLocation,
+ bool isRC,
+ bool useM,
+ int * o_editDistance,
+ int * o_addFrontClipping
+)
+{
+ GenomeDistance extraBasesClippedAfter = 0;
+ int used = 0;
+
+ unsigned clippingWordsBefore = ((basesClippedBefore + extraBasesClippedBefore > 0) ? 1 : 0) + ((frontHardClipping > 0) ? 1 : 0);
+ unsigned clippingWordsAfter = ((basesClippedAfter + extraBasesClippedAfter > 0) ? 1 : 0) + ((backHardClipping > 0) ? 1 : 0);
+
+ SAMFormat::computeCigar(BAM_CIGAR_OPS, genome, lv, cigarBuf + 4 * clippingWordsBefore, cigarBufLen - 4 * (clippingWordsBefore + clippingWordsAfter), data, dataLength, basesClippedBefore, extraBasesClippedBefore,
+ basesClippedAfter, &extraBasesClippedAfter, genomeLocation, useM, o_editDistance, &used, o_addFrontClipping);
+
+ if (*o_addFrontClipping != 0) {
+ return 0;
+ }
+
+ if (*o_editDistance == -2) {
+ WriteErrorMessage("WARNING: computeEditDistance returned -2; cigarBuf may be too small\n");
+ return 0;
+ } else if (*o_editDistance == -1) {
+ static bool warningPrinted = false;
+ if (!warningPrinted) {
+ WriteErrorMessage("WARNING: computeEditDistance returned -1; this shouldn't happen\n");
+ warningPrinted = true;
+ }
+ return 0;
+ } else {
+ //
+ // If we have hard clipping, add in the cigar string for it.
+ //
+ if (frontHardClipping > 0) {
+ *(_uint32*)cigarBuf = (frontHardClipping << 4) | BAMAlignment::CigarToCode['H'];
+ used += 4;
+ }
+ // Add some CIGAR instructions for soft-clipping if we've ignored some bases in the read.
+ if (basesClippedBefore + extraBasesClippedBefore > 0) {
+ *((_uint32*)cigarBuf + ((frontHardClipping > 0) ? 1 : 0)) = ((basesClippedBefore + extraBasesClippedBefore) << 4) | BAMAlignment::CigarToCode['S'];
+ used += 4;
+ }
+ if (basesClippedAfter + extraBasesClippedAfter > 0) {
+ *(_uint32*)(cigarBuf + used) = ((int)(basesClippedAfter + extraBasesClippedAfter) << 4) | BAMAlignment::CigarToCode['S'];
+ used += 4;
+ }
+
+ if (backHardClipping > 0) {
+ *(_uint32*)(cigarBuf + used) = (backHardClipping << 4) | BAMAlignment::CigarToCode['H'];
+ used += 4;
+ }
+ return used / 4;
+ }
+}
+
+class BAMFilter : public DataWriter::Filter
+{
+public:
+ BAMFilter(DataWriter::FilterType i_type) : Filter(i_type), offsets(1000), header(false) {}
+
+ virtual ~BAMFilter() {}
+
+ virtual void inHeader(bool flag)
+ { header = flag; }
+
+ virtual void onAdvance(DataWriter* writer, size_t batchOffset, char* data, GenomeDistance bytes, GenomeLocation location);
+
+ virtual size_t onNextBatch(DataWriter* writer, size_t offset, size_t bytes);
+
+protected:
+ virtual void onRead(BAMAlignment* bam, size_t fileOffset, int batchIndex) = 0;
+
+ BAMAlignment* getRead(size_t fileOffset);
+
+ BAMAlignment* getNextRead(BAMAlignment* read, size_t* o_fileOffset = NULL);
+
+ BAMAlignment* tryFindRead(size_t offset, size_t endOffset, const char* id, size_t* o_offset);
+
+private:
+ bool header;
+ VariableSizeVector<size_t> offsets;
+ DataWriter* currentWriter;
+ char* currentBuffer;
+ size_t currentBufferBytes; // # of valid bytes
+ size_t currentOffset; // logical file offset of beginning of current buffer
+};
+
+ size_t
+BAMFilter::onNextBatch(
+ DataWriter* writer,
+ size_t offset,
+ size_t bytes)
+{
+ bool ok = writer->getBatch(-1, ¤tBuffer, NULL, NULL, NULL, ¤tBufferBytes, ¤tOffset);
+ _ASSERT(ok);
+ currentWriter = writer;
+ int index = 0;
+ for (VariableSizeVector<size_t>::iterator i = offsets.begin(); i != offsets.end(); i++) {
+ onRead((BAMAlignment*) (currentBuffer + *i), currentOffset + *i, index++);
+ }
+ offsets.clear();
+ currentWriter = NULL;
+ currentBuffer = NULL;
+ currentBufferBytes = 0;
+ currentOffset = 0;
+ return bytes;
+}
+
+ void
+BAMFilter::onAdvance(
+ DataWriter* writer,
+ size_t batchOffset,
+ char* data,
+ GenomeDistance bytes,
+ GenomeLocation location)
+{
+ if (! header) {
+ offsets.push_back(batchOffset);
+ }
+}
+
+ BAMAlignment*
+BAMFilter::getRead(
+ size_t offset)
+{
+ if (offset >= currentOffset && offset < currentOffset + currentBufferBytes) {
+ return (BAMAlignment*) (currentBuffer + (offset - currentOffset));
+ }
+ for (int i = -2; ; i--) {
+ char* buffer;
+ size_t bufferFileOffset, bufferUsed; // logical
+ if (! currentWriter->getBatch(i, &buffer, NULL, NULL, NULL, &bufferUsed, &bufferFileOffset)) {
+ break;
+ }
+ if (offset >= bufferFileOffset && offset < bufferFileOffset + bufferUsed) {
+ return (BAMAlignment*) (buffer + (offset - bufferFileOffset));
+ }
+ }
+ return NULL;
+}
+
+ BAMAlignment*
+BAMFilter::getNextRead(
+ BAMAlignment* bam,
+ size_t* io_offset)
+{
+ char* p = (char*) bam;
+ size_t size = bam->size();
+ size_t oldOffset = *io_offset;
+ *io_offset += size;
+ if (p >= currentBuffer && p < currentBuffer + currentBufferBytes) {
+ p += bam->size();
+ if (p >= currentBuffer + currentBufferBytes) {
+ return NULL;
+ }
+ _ASSERT(*io_offset == currentOffset + (p - currentBuffer));
+ _ASSERT(((BAMAlignment*)p)->refID >= -1);
+ return (BAMAlignment*) p;
+ }
+ for (int i = -2; ; i--) {
+ char* buffer;
+ size_t bufferOffset, bufferUsed; // logical
+ if (! currentWriter->getBatch(i, &buffer, NULL, NULL, NULL, &bufferUsed, &bufferOffset)) {
+ break;
+ }
+ if (p >= buffer && p < buffer+ bufferUsed) {
+ p += size;
+ _ASSERT(*io_offset == bufferOffset + (p - buffer));
+ return p < buffer + bufferUsed? (BAMAlignment*) p : getRead(*io_offset);
+ }
+ }
+ return NULL;
+}
+
+ BAMAlignment*
+BAMFilter::tryFindRead(
+ size_t offset,
+ size_t endOffset,
+ const char* id,
+ size_t* o_offset)
+{
+ BAMAlignment* bam = getRead(offset);
+ while (bam != NULL && offset < endOffset) {
+ if (readIdsMatch(bam->read_name(), id)) {
+ if (o_offset != NULL) {
+ *o_offset = offset;
+ }
+ return bam;
+ }
+ bam = getNextRead(bam, &offset);
+ }
+ return NULL;
+}
+
+struct DuplicateReadKey
+{
+ DuplicateReadKey()
+ { memset(this, 0, sizeof(DuplicateReadKey)); }
+
+ DuplicateReadKey(const BAMAlignment* bam, const Genome* genome)
+ {
+ if (bam == NULL) {
+ locations[0] = locations[1] = UINT32_MAX;
+ isRC[0] = isRC[1] = false;
+ } else {
+ locations[0] = bam->getLocation(genome);
+ locations[1] = bam->getNextLocation(genome);
+ isRC[0] = (bam->FLAG & SAM_REVERSE_COMPLEMENT) != 0;
+ isRC[1] = (bam->FLAG & SAM_NEXT_REVERSED) != 0;
+ if (((((_uint64) GenomeLocationAsInt64(locations[0])) << 1) | (isRC[0] ? 1 : 0)) > ((((_uint64) GenomeLocationAsInt64(locations[1])) << 1) | (isRC[1] ? 1 : 0))) {
+ const GenomeLocation t = locations[1];
+ locations[1] = locations[0];
+ locations[0] = t;
+ const bool f = isRC[1];
+ isRC[1] = isRC[0];
+ isRC[0] = f;
+ }
+ }
+ }
+
+ bool operator==(const DuplicateReadKey& b) const
+ {
+ return locations[0] == b.locations[0] && locations[1] == b.locations[1] &&
+ isRC[0] == b.isRC[0] && isRC[1] == b.isRC[1];
+ }
+
+ bool operator!=(const DuplicateReadKey& b) const
+ {
+ return ! ((*this) == b);
+ }
+
+ bool operator<(const DuplicateReadKey& b) const
+ {
+ return locations[0] < b.locations[0] ||
+ (locations[0] == b.locations[0] &&
+ (locations[1] < b.locations[1] ||
+ (locations[1] == b.locations[1] &&
+ isRC[0] * 2 + isRC[1] < b.isRC[0] *2 + b.isRC[1])));
+ }
+
+
+ // required for use as a key in VariableSizeMap template
+ DuplicateReadKey(int x)
+ { locations[0] = locations[1] = x; isRC[0] = isRC[1] = false; }
+ bool operator==(int x) const
+ { return locations[0] == (_uint32) x && locations[1] == (_uint32) x; }
+ bool operator!=(int x) const
+ { return locations[0] != (_uint32) x || locations[1] != (_uint32) x; }
+ operator _uint64()
+ { return ((_uint64) (GenomeLocationAsInt64(locations[1]) ^ (isRC[1] ? 1 : 0))) << 32 | (_uint64) (GenomeLocationAsInt64(locations[0]) ^ (isRC[0] ? 1 : 0)); }
+
+ GenomeLocation locations[2];
+ bool isRC[2];
+};
+
+struct DuplicateMateInfo
+{
+ DuplicateMateInfo() { memset(this, 0, sizeof(DuplicateMateInfo)); }
+
+ size_t firstRunOffset; // first read in duplicate set
+ size_t firstRunEndOffset;
+ size_t bestReadOffset[4]; // file offsets of first/second/new first/old second best reads
+ int bestReadQuality[2]; // total quality of first/both best reads
+ char bestReadId[120];
+
+ void setBestReadId(const char* id) { strncpy(bestReadId, id, sizeof(bestReadId)); }
+ const char* getBestReadId() { return bestReadId; }
+};
+
+class BAMDupMarkFilter : public BAMFilter
+{
+public:
+ BAMDupMarkFilter(const Genome* i_genome) :
+ BAMFilter(DataWriter::ModifyFilter),
+ genome(i_genome), runOffset(0), runLocation(UINT32_MAX), runCount(0), mates()
+ {}
+
+ ~BAMDupMarkFilter()
+ {
+#ifdef USE_DEVTEAM_OPTIONS
+ if (mates.size() > 0) {
+ WriteErrorMessage("duplicate matching ended with %d unmatched reads:\n", mates.size());
+ for (MateMap::iterator i = mates.begin(); i != mates.end(); i = mates.next(i)) {
+ WriteErrorMessage("%u%s/%u%s\n", i->key.locations[0], i->key.isRC[0] ? "rc" : "", i->key.locations[1], i->key.isRC[1] ? "rc" : "");
+ }
+ }
+#endif
+ }
+
+ static bool isDuplicate(const BAMAlignment* a, const BAMAlignment* b)
+ { return a->pos == b->pos && a->refID == b->refID &&
+ ((a->FLAG ^ b->FLAG) & (SAM_REVERSE_COMPLEMENT | SAM_NEXT_REVERSED)) == 0; }
+
+protected:
+ virtual void onRead(BAMAlignment* bam, size_t fileOffset, int batchIndex);
+
+private:
+ static int getTotalQuality(BAMAlignment* bam);
+
+ const Genome* genome;
+ size_t runOffset; // offset in file of first read in run
+ GenomeLocation runLocation; // location in genome
+ int runCount; // number of aligned reads
+ typedef VariableSizeMap<DuplicateReadKey,DuplicateMateInfo,150,MapNumericHash<DuplicateReadKey>,70,0,-2> MateMap;
+ static const _uint64 RunKey = 0xffffffffc0000000UL;
+ static const _uint64 RunRC = 0x80000000;
+ static const _uint64 RunNextRC = 0x40000000;
+ static const _uint64 RunOffset = 0x3fffffff;
+ typedef VariableSizeVector<_uint64> RunVector;
+ RunVector run;
+ MateMap mates;
+};
+
+ void
+BAMDupMarkFilter::onRead(BAMAlignment* lastBam, size_t lastOffset, int)
+{
+ if ((lastBam->FLAG & SAM_SECONDARY) != 0) {
+ return; // ignore secondary aliignments; todo: mark them as dups too?
+ }
+ GenomeLocation location = lastBam->getLocation(genome);
+ GenomeLocation nextLocation = lastBam->getNextLocation(genome);
+ GenomeLocation logicalLocation = location != InvalidGenomeLocation ? location : nextLocation;
+ if (logicalLocation == UINT32_MAX) {
+ return;
+ }
+ if (logicalLocation == runLocation) {
+ runCount++;
+ } else {
+ // if there was more than one read with same location, then analyze the run
+ if (runCount > 1) {
+ // partition by duplicate key, find best read in each partition
+ size_t offset = runOffset;
+ run.clear();
+ // sort run by other coordinate & RC flags to get sub-runs
+ for (BAMAlignment* record = getRead(offset); record != NULL && record != lastBam; record = getNextRead(record, &offset)) {
+ // use opposite of logical location to sort records
+ _uint64 entry = record->getLocation(genome) == UINT32_MAX
+ ? (((_uint64) UINT32_MAX) << 32) |
+ ((record->FLAG & SAM_REVERSE_COMPLEMENT) ? RunNextRC : 0) |
+ ((record->FLAG & SAM_NEXT_REVERSED) ? RunRC : 0)
+ : (((_uint64) GenomeLocationAsInt64(record->getNextLocation(genome))) << 32) |
+ ((record->FLAG & SAM_REVERSE_COMPLEMENT) ? RunRC : 0) |
+ ((record->FLAG & SAM_NEXT_REVERSED) ? RunNextRC : 0);
+ entry |= (_uint64) ((offset - runOffset) & RunOffset);
+ _ASSERT(offset - runOffset <= RunOffset);
+ run.push_back(entry);
+ }
+ if (run.size() == 0) {
+ goto done; // todo: handle runs > n buffers (but should be rare!)
+ }
+ // ensure that adjacent half-mapped pairs stay together
+ std::stable_sort(run.begin(), run.end());
+ bool foundRun = false;
+ for (RunVector::iterator i = run.begin(); i != run.end(); i++) {
+ // skip singletons
+ if ((i == run.begin() || (*i & RunKey) != (*(i-1) & RunKey)) &&
+ (i + 1 == run.end() || (*i & RunKey) != (*(i+1) & RunKey))) {
+ continue;
+ }
+ offset = runOffset + (*i & RunOffset);
+ BAMAlignment* record = getRead(offset);
+ _ASSERT(record->refID >= -1 && record->refID < genome->getNumContigs()); // simple sanity check
+ // skip adjacent half-mapped pairs, they're not really runs
+ if (i + 1 < run.end() && readIdsMatch(record->read_name(), getRead(runOffset + (*(i+1) & RunOffset))->read_name())) {
+ i++;
+ continue;
+ }
+ foundRun = true;
+ DuplicateReadKey key(record, genome);
+ MateMap::iterator f = mates.find(key);
+ DuplicateMateInfo* info;
+ if (f == mates.end()) {
+ mates.put(key, DuplicateMateInfo());
+ info = &mates[key];
+ //fprintf(stderr, "add %u%s/%u%s -> %d\n", key.locations[0], key.isRC[0] ? "rc" : "", key.locations[1], key.isRC[1] ? "rc" : "", mates.size());
+ info->firstRunOffset = runOffset;
+ info->firstRunEndOffset = lastOffset;
+ } else {
+ info = &f->value;
+ }
+ int totalQuality = getTotalQuality(record);
+ size_t mateOffset = 0;
+ BAMAlignment* mate = NULL;
+ // optimize case for half-mapped pairs with adjacent reads
+ if ((record->FLAG & SAM_MULTI_SEGMENT) != 0) {
+ mate = tryFindRead(info->firstRunOffset, info->firstRunEndOffset, record->read_name(), &mateOffset);
+ if (mate == record) {
+ mate = NULL;
+ }
+ }
+ bool isSecond = mate != NULL;
+ if (isSecond) {
+ totalQuality += getTotalQuality(mate);
+ }
+ if (totalQuality > info->bestReadQuality[isSecond]) {
+ info->bestReadQuality[isSecond] = totalQuality;
+ info->bestReadOffset[isSecond] = offset;
+ if (isSecond) {
+ info->bestReadOffset[2] = mateOffset;
+ }
+ info->setBestReadId(record->read_name());
+ }
+ if (isSecond && readIdsMatch(info->getBestReadId(), record->read_name())) {
+ info->bestReadOffset[3] = offset;
+ }
+ }
+ if (! foundRun) {
+ goto done; // avoid useless looping
+ }
+ // go back and adjust flags
+ offset = runOffset;
+ VariableSizeVector<DuplicateMateInfo*>* failedBackpatch = NULL;
+ for (RunVector::iterator i = run.begin(); i != run.end(); i++) {
+ // skip singletons
+ if ((i == run.begin() || (*i & RunKey) != (*(i-1) & RunKey)) &&
+ (i + 1 == run.end() || (*i & RunKey) != (*(i+1) & RunKey))) {
+ continue;
+ }
+ offset = runOffset + (*i & RunOffset);
+ BAMAlignment* record = getRead(offset);
+ if (i + 1 < run.end() && readIdsMatch(record->read_name(), getRead(runOffset + (*(i+1) & RunOffset))->read_name())) {
+ i++;
+ continue;
+ }
+ DuplicateReadKey key(record, genome);
+ MateMap::iterator m = mates.find(key);
+ if (m == mates.end()) {
+ continue; // one end in a run, other not
+ }
+ DuplicateMateInfo* minfo = &m->value;
+ bool pass = minfo->bestReadQuality[1] != 0; // 1 for second pass, 0 for first pass
+ bool isSecond = minfo->firstRunOffset != runOffset;
+ static const int index[2][2] = {{0, 3}, {2, 1}};
+ if (offset != minfo->bestReadOffset[index[pass][isSecond]]) {
+ // Picard markDuplicates will not mark unmapped reads
+ if ((record->FLAG & SAM_UNMAPPED) == 0) {
+ record->FLAG |= SAM_DUPLICATE;
+ }
+ } else if (pass == 1 && minfo->bestReadOffset[2] != 0 && minfo->bestReadOffset[0] != 0 && minfo->bestReadOffset[2] != minfo->bestReadOffset[0]) {
+ // backpatch reads in first matelist if they're still in memory
+ BAMAlignment* oldBest = getRead(minfo->bestReadOffset[0]);
+ BAMAlignment* newBest = getRead(minfo->bestReadOffset[2]);
+ if (oldBest != NULL && newBest != NULL) {
+ oldBest->FLAG &= ~SAM_DUPLICATE;
+ newBest->FLAG |= SAM_DUPLICATE;
+ } else {
+ if (failedBackpatch == NULL) {
+ failedBackpatch = new VariableSizeVector<DuplicateMateInfo*>();
+ }
+ failedBackpatch->push_back(minfo);
+ }
+ }
+ }
+
+ // fixup any that failed
+ if (failedBackpatch != NULL) {
+ for (VariableSizeVector<DuplicateMateInfo*>::iterator i = failedBackpatch->begin(); i != failedBackpatch->end(); i++) {
+ // couldn't go back and patch first set to have correct best for second set
+ // so patch second set to have same best as first set even though it's not really the best
+ BAMAlignment* trueBestSecond = getRead((*i)->bestReadOffset[1]);
+ BAMAlignment* firstBestSecond = getRead((*i)->bestReadOffset[3]);
+ _ASSERT(trueBestSecond != NULL && firstBestSecond != NULL);
+ if (trueBestSecond != NULL && firstBestSecond != NULL) {
+ trueBestSecond->FLAG &= ~SAM_DUPLICATE;
+ firstBestSecond->FLAG |= ~SAM_DUPLICATE;
+ }
+ }
+ }
+
+ // clean up
+ for (RunVector::iterator i = run.begin(); i != run.end(); i++) {
+ // skip singletons
+ if ((i == run.begin() || (*i & RunKey) != (*(i-1) & RunKey)) &&
+ (i + 1 == run.end() || (*i & RunKey) != (*(i+1) & RunKey))) {
+ continue;
+ }
+ offset = runOffset + (*i & RunOffset);
+ BAMAlignment* record = getRead(offset);
+ if (i + 1 < run.end() && readIdsMatch(record->read_name(), getRead(runOffset + (*(i+1) & RunOffset))->read_name())) {
+ i++;
+ continue;
+ }
+ DuplicateReadKey key(record, genome);
+ MateMap::iterator m = mates.find(key);
+ if (m != mates.end() && m->value.firstRunOffset != runOffset) {
+ mates.erase(key);
+ //fprintf(stderr, "erase %u%s/%u%s -> %d\n", key.locations[0], key.isRC[0] ? "rc" : "", key.locations[1], key.isRC[1] ? "rc" : "", mates.size());
+ }
+ }
+ }
+done:
+ runLocation = logicalLocation;
+ runOffset = lastOffset;
+ runCount = 1;
+ }
+ // todo: preserve this across batches - need to block-copy entire memory for reads
+}
+
+ int
+BAMDupMarkFilter::getTotalQuality(
+ BAMAlignment* bam)
+{
+ int result = 0;
+ _uint8* p = (_uint8*) bam->qual();
+ for (int i = 0; i < bam->l_seq; i++) {
+ int q = *p++;
+ result += (q != 255) * q; // avoid branch?
+ }
+ return result;
+}
+
+class BAMDupMarkSupplier : public DataWriter::FilterSupplier
+{
+public:
+ BAMDupMarkSupplier(const Genome* i_genome) :
+ FilterSupplier(DataWriter::ReadFilter), genome(i_genome) {}
+
+ virtual DataWriter::Filter* getFilter()
+ { return new BAMDupMarkFilter(genome); }
+
+ virtual void onClosing(DataWriterSupplier* supplier) {}
+ virtual void onClosed(DataWriterSupplier* supplier) {}
+
+private:
+ const Genome* genome;
+};
+
+ DataWriter::FilterSupplier*
+DataWriterSupplier::markDuplicates(const Genome* genome)
+{
+ return new BAMDupMarkSupplier(genome);
+}
+
+class BAMIndexSupplier;
+
+class BAMIndexFilter : public BAMFilter
+{
+public:
+ BAMIndexFilter(BAMIndexSupplier* i_supplier)
+ : BAMFilter(DataWriter::ReadFilter), supplier(i_supplier) {}
+
+protected:
+ virtual void onRead(BAMAlignment* bam, size_t fileOffset, int batchIndex);
+
+private:
+ BAMIndexSupplier* supplier;
+};
+
+class BAMIndexSupplier : public DataWriter::FilterSupplier
+{
+public:
+ BAMIndexSupplier(const char* i_indexFileName, const Genome* i_genome, GzipWriterFilterSupplier* i_gzipSupplier) :
+ FilterSupplier(DataWriter::ReadFilter),
+ indexFileName(i_indexFileName),
+ genome(i_genome),
+ gzipSupplier(i_gzipSupplier),
+ lastRefId(-1),
+ lastBin(0), binStart(0), lastBamEnd(0)
+ {
+ refs = genome ? new RefInfo[genome->getNumContigs()] : NULL;
+ readCounts[0] = readCounts[1] = 0;
+ }
+
+ virtual DataWriter::Filter* getFilter()
+ { return new BAMIndexFilter(this); }
+
+ virtual void onClosing(DataWriterSupplier* supplier) {}
+ virtual void onClosed(DataWriterSupplier* supplier);
+
+private:
+
+ friend class BAMIndexFilter;
+
+ struct BAMChunk {
+ BAMChunk() : start(0), end(0) {}
+ BAMChunk(const BAMChunk& a) : start(a.start), end(a.end) {}
+
+ _uint64 start, end;
+ };
+ typedef VariableSizeVector<BAMChunk> ChunkVec;
+ typedef VariableSizeMap<_uint32,ChunkVec,150,MapNumericHash<_uint32>,80,-1,-2> BinMap;
+ typedef VariableSizeVector<_uint64> LinearMap;
+ struct RefInfo {
+ BinMap bins;
+ LinearMap intervals;
+ };
+
+ RefInfo* getRefInfo(int refId);
+
+ void onRead(BAMAlignment* bam, size_t fileOffset, int batchIndex);
+
+ void addChunk(int refId, _uint32 bin, _uint64 start, _uint64 end);
+
+ void addInterval(int refId, int begin, int end, _uint64 fileOffset);
+
+ const char* indexFileName;
+ const Genome* genome;
+ int lastRefId;
+ _uint32 lastBin;
+ _uint64 binStart;
+ _uint64 firstBamStart;
+ _uint64 lastBamEnd;
+ _uint64 readCounts[2]; // mapped, unmapped
+ RefInfo* refs;
+ GzipWriterFilterSupplier* gzipSupplier;
+};
+
+ void
+BAMIndexFilter::onRead(
+ BAMAlignment* bam,
+ size_t fileOffset,
+ int batchIndex)
+{
+ supplier->onRead(bam, fileOffset, batchIndex);
+}
+
+ DataWriter::FilterSupplier*
+DataWriterSupplier::bamIndex(
+ const char* indexFileName,
+ const Genome* genome,
+ GzipWriterFilterSupplier* gzipSupplier)
+{
+ return new BAMIndexSupplier(indexFileName, genome, gzipSupplier);
+}
+
+ void
+BAMIndexSupplier::onRead(
+ BAMAlignment* bam,
+ size_t fileOffset,
+ int batchIndex)
+{
+ //fprintf(stderr, "index onRead %d:%d+%d @ %lld %d\n", bam->refID, bam->pos, bam->l_ref(), fileOffset, batchIndex);
+ if (bam->refID != lastRefId) {
+ if (lastRefId != -1) {
+ addChunk(lastRefId, BAMAlignment::BAM_EXTRA_BIN, firstBamStart, lastBamEnd);
+ addChunk(lastRefId, BAMAlignment::BAM_EXTRA_BIN, readCounts[0], readCounts[1]);
+ readCounts[0] = readCounts[1] = 0;
+ }
+ firstBamStart = fileOffset;
+ }
+ readCounts[(bam->FLAG & SAM_UNMAPPED) ? 1 : 0]++;
+ if (bam->refID != lastRefId || bam->bin != lastBin || lastRefId == -1) {
+ addChunk(lastRefId, lastBin, binStart, fileOffset);
+ lastBin = bam->bin;
+ lastRefId = bam->refID;
+ binStart = fileOffset;
+ }
+ if (! (bam->FLAG & SAM_UNMAPPED)) {
+ _ASSERT(bam->pos != -1 && bam->refID != -1);
+ addInterval(bam->refID, bam->pos, bam->pos + bam->l_ref() - 1, fileOffset);
+ }
+ lastBamEnd = fileOffset + bam->size();
+}
+
+ void
+BAMIndexSupplier::onClosed(
+ DataWriterSupplier* supplier)
+{
+ // add final chunk
+ if (lastRefId != -1) {
+ addChunk(lastRefId, lastBin, binStart, lastBamEnd);
+ addChunk(lastRefId, BAMAlignment::BAM_EXTRA_BIN, firstBamStart, lastBamEnd);
+ addChunk(lastRefId, BAMAlignment::BAM_EXTRA_BIN, readCounts[0], readCounts[1]);
+ }
+
+ // write out index file
+ FILE* index = fopen(indexFileName, "wb");
+ char magic[4] = {'B', 'A', 'I', 1};
+ fwrite(magic, sizeof(magic), 1, index);
+ _int32 n_ref = genome->getNumContigs();
+ fwrite(&n_ref, sizeof(n_ref), 1, index);
+
+ for (int i = 0; i < n_ref; i++) {
+ RefInfo* info = getRefInfo(i);
+ _int32 n_bin, n_intv;
+ if (info == NULL) {
+ n_bin = 0;
+ fwrite(&n_bin, sizeof(n_bin), 1, index);
+ n_intv = 0;
+ fwrite(&n_intv, sizeof(n_intv), 1, index);
+ continue;
+ }
+ n_bin = info->bins.size();
+ fwrite(&n_bin, sizeof(n_bin), 1, index);
+ for (BinMap::iterator j = info->bins.begin(); j != info->bins.end(); j = info->bins.next(j)) {
+ _uint32 bin = j->key;
+ fwrite(&bin, sizeof(bin), 1, index);
+ _int32 n_chunk = (_int32) j->value.size();
+ fwrite(&n_chunk, sizeof(n_chunk), 1, index);
+ if (bin != BAMAlignment::BAM_EXTRA_BIN) {
+ for (ChunkVec::iterator k = j->value.begin(); k != j->value.end(); k++) {
+ _uint64 chunk[2] = {gzipSupplier->toVirtualOffset(k->start), gzipSupplier->toVirtualOffset(k->end)};
+ fwrite(&chunk, sizeof(chunk), 1, index);
+ }
+ } else {
+ _uint64 chunk[2] = {gzipSupplier->toVirtualOffset(j->value[0].start), gzipSupplier->toVirtualOffset(j->value[0].end)};
+ fwrite(&chunk, sizeof(chunk), 1, index);
+ chunk[0] = j->value[1].start;
+ chunk[1] = j->value[1].end;
+ fwrite(&chunk, sizeof(chunk), 1, index);
+ }
+ }
+ n_intv = (_int32) info->intervals.size();
+ fwrite(&n_intv, sizeof(n_intv), 1, index);
+ for (LinearMap::iterator m = info->intervals.begin(); m != info->intervals.end(); m++) {
+ _uint64 ioffset = gzipSupplier->toVirtualOffset(*m);
+ fwrite(&ioffset, sizeof(ioffset), 1, index);
+ }
+ }
+ fclose(index);
+}
+
+ BAMIndexSupplier::RefInfo*
+BAMIndexSupplier::getRefInfo(
+ int refId)
+{
+ return refId >= 0 && refId < genome->getNumContigs() ? &refs[refId] : NULL;
+}
+
+ void
+BAMIndexSupplier::addChunk(
+ int refId,
+ _uint32 bin,
+ _uint64 start,
+ _uint64 end)
+{
+ RefInfo* info = getRefInfo(refId);
+ if (info == NULL) {
+ return;
+ }
+ ChunkVec* chunks = info->bins.tryFind(bin);
+ if (chunks == NULL) {
+ ChunkVec empty;
+ info->bins.tryAdd(bin, empty, &chunks);
+ }
+ BAMChunk chunk;
+ chunk.start = start;
+ chunk.end = end;
+ chunks->push_back(chunk);
+}
+
+ void
+BAMIndexSupplier::addInterval(
+ int refId,
+ int begin,
+ int end,
+ _uint64 fileOffset)
+{
+ RefInfo* info = getRefInfo(refId);
+ if (info == NULL) {
+ return;
+ }
+ int slot = end <= 0 ? 0 : ((end - 1) / 16384);
+ if (slot >= info->intervals.size()) {
+ for (_int64 i = info->intervals.size(); i < slot; i++) {
+ info->intervals.push_back(UINT64_MAX);
+ }
+ info->intervals.push_back(fileOffset);
+ }
+}
+
+ bool
+BgzfHeader::validate(char* buffer, size_t bytes)
+{
+ char* p;
+ for (p = buffer; p - buffer < (_int64)bytes; ) {
+ BgzfHeader* h = (BgzfHeader*) p;
+ unsigned bsize = h->BSIZE() + 1;
+ unsigned isize = h->ISIZE();
+ if (bsize == 0 || bsize > BAM_BLOCK || isize > BAM_BLOCK ||
+ bsize > max(2 * isize, isize+1000) || ! h->validate(bsize, isize)) {
+ return false;
+ }
+ p += bsize;
+ }
+ return p == buffer + bytes;
+}
+
+ bool
+BgzfHeader::validate(
+ size_t compressed,
+ size_t uncompressed)
+{
+ return ID1 == 0x1f && ID2 == 0x8b && CM == 8 && FLG == 4 &&
+ MTIME == 0 && XFL == 0 && OS == 0 &&
+ ISIZE() == uncompressed&&
+ BSIZE() + 1 == compressed;
+}
+
+const int BAMReader::MAX_SEQ_LENGTH = MAX_READ_LENGTH;
+const int BAMReader::MAX_RECORD_LENGTH = MAX_READ_LENGTH * 8;
diff --git a/SNAPLib/Bam.h b/SNAPLib/Bam.h
new file mode 100644
index 0000000..438753f
--- /dev/null
+++ b/SNAPLib/Bam.h
@@ -0,0 +1,439 @@
+/*++
+
+Module Name:
+
+ Bam.h
+
+Abstract:
+
+ Binary Alignment Map (BAM) file writer.
+
+Environment:
+
+ User mode service.
+
+ This class is NOT thread safe. It's the caller's responsibility to ensure that
+ at most one thread uses an instance at any time.
+
+--*/
+
+#pragma once
+
+#include "Compat.h"
+#include "LandauVishkin.h"
+#include "PairedEndAligner.h"
+#include "VariableSizeVector.h"
+#include "BufferedAsync.h"
+#include "SAM.h"
+#include "Read.h"
+#include "DataReader.h"
+
+// for debugging file I/O, validate BAM records on input & output
+//#define VALIDATE_BAM
+
+// BAM format layout
+// SAM Format Specification v1.4-r985
+
+// header information in each BGZF compression block
+
+#define BAM_BLOCK 65536
+
+#pragma pack(push, 1)
+struct BAMHeaderRefSeq;
+struct BAMHeader
+{
+ static const _uint32 BAM_MAGIC = 0x014d4142; // 'BAM\1'
+ _uint32 magic;
+
+ _int32 l_text;
+
+ char* text() // not necessarily null terminated
+ { return sizeof(magic) + sizeof(l_text) + (char*) this; }
+
+ _int32& n_ref()
+ { return * (_int32*) (l_text + text()); }
+
+ BAMHeaderRefSeq* firstRefSeq()
+ { return (BAMHeaderRefSeq*) (size(l_text) + (char*) this); }
+
+ BAMHeader()
+ : magic(BAM_MAGIC), l_text(0)
+ {}
+
+ size_t size()
+ { return size(l_text); }
+
+ // bytes required for a given text length, not including reference sequence blocks
+ static size_t size(_int32 ltext)
+ { return sizeof(BAMHeader) + sizeof(_int32)/*n_ref*/ + ltext; }
+};
+
+// header information for each reference sequence record
+struct BAMHeaderRefSeq
+{
+ _int32 l_name;
+
+ char* name()
+ { return 4 + (char*) this; }
+
+ _int32& l_ref()
+ { return * (_int32*) (l_name + name()); }
+
+ BAMHeaderRefSeq* next()
+ { return (BAMHeaderRefSeq*) (size(l_name) + (char*) this); }
+
+ static size_t size(_int32 l_name)
+ { return sizeof(l_name) + sizeof(_int32)/*l_ref*/ + l_name; }
+};
+
+// information for each alignment record
+struct BAMAlignAux;
+struct BAMAlignment
+{
+ _int32 block_size;
+ _int32 refID;
+ _int32 pos;
+ _uint8 l_read_name;
+ _uint8 MAPQ;
+ _uint16 bin;
+ _uint16 n_cigar_op;
+ _uint16 FLAG;
+ _int32 l_seq;
+ _int32 next_refID;
+ _int32 next_pos;
+ _int32 tlen;
+
+ char* read_name()
+ { return sizeof(tlen) + (char*) &this->tlen; }
+
+ _uint32* cigar()
+ { return (_uint32*) (l_read_name + read_name()); }
+
+ _uint8* seq()
+ { return (_uint8*) (n_cigar_op + cigar()); }
+
+ char* qual()
+ { return (char*) ((l_seq + 1) / 2 + seq()); }
+
+ BAMAlignAux* firstAux()
+ { return (BAMAlignAux*) (l_seq + qual()); }
+
+ unsigned auxLen()
+ { return (unsigned) (size() - ((char*) firstAux() - (char*) this)); }
+
+ BAMAlignAux* endAux()
+ { return (BAMAlignAux*) (auxLen() + (char*) firstAux()); }
+
+ size_t size()
+ { return block_size + sizeof(block_size); }
+
+ static size_t size(unsigned l_read_name, unsigned n_cigar_op, unsigned l_seq, unsigned l_aux)
+ { return sizeof(BAMAlignment) + l_read_name + n_cigar_op * sizeof(_uint32) + (l_seq + 1) / 2 + l_seq + l_aux; }
+
+ // conversions
+
+ static const char* CodeToSeq;
+ static const char* CodeToSeqRC;
+ static _uint16 CodeToSeqPair[256];
+ static _uint16 CodeToSeqPairRC[256];
+ static _uint8 SeqToCode[256];
+ static const char* CodeToCigar;
+ static _uint8 CigarToCode[256];
+ static _uint8 CigarCodeToRefBase[9];
+ static int GetCigarOpCode(_uint32 op) { return op & 0xf; }
+ static int GetCigarOpCount(_uint32 op) { return op >> 4; }
+
+ static void decodeSeq(char* o_sequence, const _uint8* nibbles, int bases);
+ static void decodeQual(char* o_qual, char* quality, int bases);
+ static void decodeSeqRC(char* o_sequence, const _uint8* nibbles, int bases);
+ static void decodeQualRC(char* o_qual, char* quality, int bases);
+ static bool decodeCigar(char* o_cigar, int cigarSize, _uint32* cigar, int ops);
+ static void getClippingFromCigar(_uint32 *cigar, int ops, unsigned *o_frontClipping, unsigned *o_backClipping, unsigned *o_frontHardClipping, unsigned *o_backHardClipping);
+
+ static void encodeSeq(_uint8* nibbles, char* ascii, int length);
+
+ int l_ref(); // length of reference aligned to read
+
+ class _init { public: _init(); };
+ static _init _init_;
+
+ // binning
+
+ static const _uint32 BAM_EXTRA_BIN = 37450; // extra bin for metadata
+
+ /* calculate bin given an alignment covering [beg,end) (zero-based, half-close-half-open) */
+ static int reg2bin(int beg, int end);
+ /* calculate the list of bins that may overlap with region [beg,end) (zero-based) */
+ static const int MAX_BIN = (((1<<18)-1)/7);
+ static int reg2bins(int beg, int end, _uint16* list/*[MAX_BIN]*/);
+
+ // absoluate genome locations
+
+ GenomeLocation getLocation(const Genome* genome) const
+ { return genome == NULL || pos < 0 || refID < 0 || refID >= genome->getNumContigs() || (FLAG & SAM_UNMAPPED)
+ ? UINT32_MAX : (genome->getContigs()[refID].beginningLocation + pos); }
+
+ GenomeLocation getNextLocation(const Genome* genome) const
+ { return next_pos < 0 || next_refID < 0 || (FLAG & SAM_NEXT_UNMAPPED) ? UINT32_MAX : (genome->getContigs()[next_refID].beginningLocation + next_pos); }
+
+#ifdef VALIDATE_BAM
+ void validate();
+#else
+ inline void validate() {} // inline noop
+#endif
+};
+
+#define INT8_VAL_TYPE 'c'
+#define UINT8_VAL_TYPE 'C'
+#define INT16_VAL_TYPE 's'
+#define UINT16_VAL_TYPE 'S'
+#define INT32_VAL_TYPE 'i'
+#define UINT32_VAL_TYPE 'I'
+#define FLOAT_VAL_TYPE 'f'
+#define CHAR_VAL_TYPE 'A'
+#define STRING_VAL_TYPE 'Z'
+#define HEX_VAL_TYPE 'H'
+#define ARRAY_VAL_TYPE 'B'
+
+// header for each auxiliary data field
+struct BAMAlignAux
+{
+ char tag[2];
+ char val_type;
+
+ // accessors for single-valued fields
+
+ void* value()
+ { return 3 + (char*) this; }
+
+ _int8 int8Value()
+ { _ASSERT(val_type == INT8_VAL_TYPE); return * (_int8*) value(); }
+
+ _uint8 uint8Value()
+ { _ASSERT(val_type == UINT8_VAL_TYPE); return * (_uint8*) value(); }
+
+ _int16 int16Value()
+ { _ASSERT(val_type == INT16_VAL_TYPE); return * (_int16*) value(); }
+
+ _uint16 uint16Value()
+ { _ASSERT(val_type == UINT16_VAL_TYPE); return * (_uint16*) value(); }
+
+ _int32 int32Value()
+ { _ASSERT(val_type == INT32_VAL_TYPE); return * (_int32*) value(); }
+
+ _uint32 uint32Value()
+ { _ASSERT(val_type == UINT32_VAL_TYPE); return * (_uint32*) value(); }
+
+ float floatValue()
+ { _ASSERT(val_type == FLOAT_VAL_TYPE); return * (float*) value(); }
+
+ // accessors for array fields
+
+ _int32 count()
+ { _ASSERT(val_type == ARRAY_VAL_TYPE); return * (_uint32*) (1 + (char*) value()); }
+
+ char arrayValType()
+ { _ASSERT(val_type == ARRAY_VAL_TYPE); return * (char*) value(); }
+
+ void* data()
+ { _ASSERT(val_type == ARRAY_VAL_TYPE); return 5 + (char*) value(); }
+
+ _int8* int8Array()
+ { _ASSERT(arrayValType() == INT8_VAL_TYPE); return (_int8*) data(); }
+
+ _uint8* uint8Array()
+ { _ASSERT(arrayValType() == UINT8_VAL_TYPE); return (_uint8*) data(); }
+
+ _int16* int16Array()
+ { _ASSERT(arrayValType() == INT16_VAL_TYPE); return (_int16*) data(); }
+
+ _uint16* uint16Array()
+ { _ASSERT(arrayValType() == UINT16_VAL_TYPE); return (_uint16*) data(); }
+
+ _int32* int32Array()
+ { _ASSERT(arrayValType() == INT32_VAL_TYPE); return (_int32*) data(); }
+
+ _uint32* uint32Array()
+ { _ASSERT(arrayValType() == UINT32_VAL_TYPE); return (_uint32*) data(); }
+
+ float* floatArray()
+ { _ASSERT(arrayValType() == FLOAT_VAL_TYPE); return (float*) data(); }
+
+ // compute overall size
+
+ size_t size()
+ {
+ return val_type == STRING_VAL_TYPE ? strlen((const char*) value()) + 4
+ : val_type == ARRAY_VAL_TYPE ? size(arrayValType(), count())
+ : size(val_type);
+ }
+
+ static size_t size(char val_type)
+ { return 3 + valueSize(val_type); }
+
+ static size_t size(char array_val_type, _uint32 count)
+ { return 8 + valueSize(array_val_type) * (size_t) count; }
+
+ static size_t valueSize(char val_type)
+ {
+ switch (val_type) {
+
+ case INT8_VAL_TYPE:
+ case UINT8_VAL_TYPE:
+ case CHAR_VAL_TYPE:
+ return 1;
+
+ case INT16_VAL_TYPE:
+ case UINT16_VAL_TYPE:
+ return 2;
+
+ case INT32_VAL_TYPE:
+ case UINT32_VAL_TYPE:
+ case FLOAT_VAL_TYPE:
+ return 4;
+
+ case ARRAY_VAL_TYPE:
+ case STRING_VAL_TYPE:
+ case HEX_VAL_TYPE:
+ default:
+ // todo: remove? log?
+ _ASSERT(false);
+ return 1;
+ }
+ }
+
+ BAMAlignAux* next()
+ { return (BAMAlignAux*) (size() + (char*) this); }
+};
+
+struct BgzfExtra
+{
+ _uint8 SI1;
+ _uint8 SI2;
+ _uint16 SLEN;
+
+ void* data()
+ { return this + 1; }
+
+ BgzfExtra* nextExtra()
+ { return (BgzfExtra*) (SLEN + (char*) data()); }
+};
+
+struct BgzfHeader
+{
+ _uint8 ID1; // 0x1f
+ _uint8 ID2; // 0x8b (magic numbers)
+ _uint8 CM; // Compression method (8 == deflate)
+ _uint8 FLG; // flags
+ _uint32 MTIME; // Mod time
+ _uint8 XFL; // extra flags
+ _uint8 OS; // operating system
+ _uint16 XLEN; // extra length
+
+ BgzfExtra* firstExtra()
+ { return (BgzfExtra*) (sizeof(_uint16) + (char*) &this->XLEN); }
+
+ _uint16 BSIZE()
+ {
+ for (BgzfExtra* x = firstExtra(); (char*) x < XLEN + (char*) firstExtra(); x = x->nextExtra()) {
+ if (x->SI1 == 66 && x->SI2 == 67) {
+ _ASSERT(x->SLEN == 2);
+ return * (_uint16*) x->data();
+ }
+ }
+ _ASSERT(false);
+ return 0;
+ }
+
+ _uint32 ISIZE()
+ {
+ _uint32 result = * (_uint32*) (BSIZE() - 3 + (char*) this);
+ _ASSERT(result <= BAM_BLOCK);
+ return result;
+ }
+
+ bool validate(size_t compressed, size_t uncompressed);
+
+ static bool validate(char* buffer, size_t bytes);
+};
+
+
+#pragma pack(pop)
+
+
+class BAMReader : public PairedReadReader, public ReadReader {
+public:
+
+ BAMReader(const ReaderContext& i_context);
+
+ virtual ~BAMReader();
+
+ void init(const char *fileName, int bufferCount, _int64 startingOffset, _int64 amountOfFileToProcess);
+
+ virtual bool getNextRead(Read *readToUpdate)
+ {
+ return getNextRead(readToUpdate, NULL, NULL, NULL, NULL, NULL, false, NULL);
+ }
+
+ virtual bool getNextRead(Read *read, AlignmentResult *alignmentResult, GenomeLocation *genomeLocation, bool *isRC, unsigned *mapQ,
+ unsigned *flag, const char **cigar)
+ {
+ return getNextRead(read,alignmentResult,genomeLocation,isRC,mapQ,flag,false,cigar);
+ }
+
+ //
+ // In getNextReadPair mapQ points to an array of two unsigneds.
+ //
+ virtual bool getNextReadPair(Read *read1, Read *read2, PairedAlignmentResult *alignmentResult, unsigned *mapQ, const char **cigar);
+
+ //
+ // The PairedReadReader version of getNextReadPair, which throws away the alignment, mapQ and cigar values.
+ //
+ bool getNextReadPair(Read *read1, Read *read2)
+ {
+ return getNextReadPair(read1,read2,NULL,NULL,NULL);
+ }
+
+ void holdBatch(DataBatch batch)
+ { data->holdBatch(batch); }
+
+ bool releaseBatch(DataBatch batch)
+ { return data->releaseBatch(batch); }
+
+ virtual ReaderContext* getContext()
+ { return ((ReadReader*)this)->getContext(); }
+
+ static BAMReader* create(const char *fileName, int bufferCount,
+ _int64 startingOffset, _int64 amountOfFileToProcess,
+ const ReaderContext& context);
+
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess);
+
+ static ReadSupplierGenerator *createReadSupplierGenerator(const char *fileName, int numThreads, const ReaderContext& context);
+
+ static PairedReadSupplierGenerator *createPairedReadSupplierGenerator(const char *fileName, int numThreads, bool quicklyDropUnmatchedReads,
+ const ReaderContext& context, int matchBufferSize = 5000);
+
+ static const int MAX_SEQ_LENGTH;
+ static const int MAX_RECORD_LENGTH;
+
+protected:
+
+ virtual bool getNextRead(Read *read, AlignmentResult *alignmentResult,
+ GenomeLocation *genomeLocation, bool *isRC, unsigned *mapQ, unsigned *flag, bool ignoreEndOfRange, const char **cigar);
+
+ void getReadFromLine(const Genome *genome, char *line, char *endOfBuffer, Read *read, AlignmentResult *alignmentResult,
+ GenomeLocation *genomeLocation, bool *isRC, unsigned *mapQ,
+ size_t *lineLength, unsigned *flag, const char **cigar, ReadClippingType clipping);
+
+private:
+ void readHeader(const char* fileName);
+
+
+ char* getExtra(_int64 bytes);
+
+ DataReader* data;
+ //unsigned n_ref; // number of reference sequences
+ //unsigned* refOffset; // array mapping ref sequence ID to contig location
+ _int64 extraOffset; // offset into extra data
+};
diff --git a/SNAPLib/BaseAligner.cpp b/SNAPLib/BaseAligner.cpp
new file mode 100644
index 0000000..eb9fb4c
--- /dev/null
+++ b/SNAPLib/BaseAligner.cpp
@@ -0,0 +1,1583 @@
+/*++
+
+Module Name:
+
+ BaseAligner.cpp
+
+Abstract:
+
+ SNAP genome aligner
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+ This class is NOT thread safe. It's the caller's responsibility to ensure that
+ at most one thread uses an instance at any time.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#include "stdafx.h"
+#include "BaseAligner.h"
+#include "Compat.h"
+#include "LandauVishkin.h"
+#include "BigAlloc.h"
+#include "mapq.h"
+#include "SeedSequencer.h"
+#include "exit.h"
+#include "AlignerOptions.h"
+#include "Error.h"
+
+using std::min;
+
+#ifdef TRACE_ALIGNER // If you turn this on, then stdout writing won't work.
+#define TRACE printf
+#else
+#define TRACE(...) {}
+#endif
+
+BaseAligner::BaseAligner(
+ GenomeIndex *i_genomeIndex,
+ unsigned i_maxHitsToConsider,
+ unsigned i_maxK,
+ unsigned i_maxReadSize,
+ unsigned i_maxSeedsToUseFromCommandLine,
+ double i_maxSeedCoverage,
+ unsigned i_minWeightToCheck,
+ unsigned i_extraSearchDepth,
+ bool i_noUkkonen,
+ bool i_noOrderedEvaluation,
+ bool i_noTruncation,
+ int i_maxSecondaryAlignmentsPerContig,
+ LandauVishkin<1>*i_landauVishkin,
+ LandauVishkin<-1>*i_reverseLandauVishkin,
+ AlignerStats *i_stats,
+ BigAllocator *allocator) :
+ genomeIndex(i_genomeIndex), maxHitsToConsider(i_maxHitsToConsider), maxK(i_maxK),
+ maxReadSize(i_maxReadSize), maxSeedsToUseFromCommandLine(i_maxSeedsToUseFromCommandLine),
+ maxSeedCoverage(i_maxSeedCoverage), readId(-1), extraSearchDepth(i_extraSearchDepth),
+ explorePopularSeeds(false), stopOnFirstHit(false), stats(i_stats),
+ noUkkonen(i_noUkkonen), noOrderedEvaluation(i_noOrderedEvaluation), noTruncation(i_noTruncation),
+ minWeightToCheck(max(1u, i_minWeightToCheck)), maxSecondaryAlignmentsPerContig(i_maxSecondaryAlignmentsPerContig)
+/*++
+
+Routine Description:
+
+ Constructor for the BaseAligner class. Aligners align reads against an indexed genome.
+
+Arguments:
+
+ i_genomeIndex - The index against which to do the alignments
+ i_maxHitsToConsider - The maximum number of hits to use from a seed lookup. Any lookups that return more
+ than this are ignored.
+ i_maxK - The largest string difference to consider for any comparison.
+ i_maxReadSize - Bound on the number of bases in any read. There's no reason to make it tight, it just affects a little memory allocation.
+ i_maxSeedsToUse - The maximum number of seeds to use when aligning any read (not counting ones ignored because they resulted in too many
+ hits). Once we've looked up this many seeds, we just score what we've got.
+ i_maxSeedCoverage - The maximum number of seeds to use expressed as readSize/seedSize
+ i_extraSearchDepth - How deeply beyond bestScore do we search?
+ i_noUkkonen - Don't use Ukkonen's algorithm (i.e., don't reduce the max edit distance depth as we score candidates)
+ i_noOrderedEvaluation-Don't order evaluating the reads by the hit count in order to drive down the max edit distance more quickly
+ i_noTruncation - Don't truncate searches based on count of disjoint seed misses
+ i_maxSecondaryAlignmentsPerContig - Maximum secondary alignments per contig; -1 means don't limit this
+ i_landauVishkin - an externally supplied LandauVishkin string edit distance object. This is useful if we're expecting repeated computations and use the LV cache.
+ i_reverseLandauVishkin - the same for the reverse direction.
+ i_stats - an object into which we report out statistics
+ allocator - an allocator that's used to allocate our local memory. This is useful for TLB optimization. If this is supplied, the caller
+ is responsible for deallocation, we'll not deallocate any dynamic memory in our destructor.
+
+ --*/
+{
+ hadBigAllocator = allocator != NULL;
+
+ nHashTableLookups = 0;
+ nLocationsScored = 0;
+ nHitsIgnoredBecauseOfTooHighPopularity = 0;
+ nReadsIgnoredBecauseOfTooManyNs = 0;
+ nIndelsMerged = 0;
+
+ genome = genomeIndex->getGenome();
+ seedLen = genomeIndex->getSeedLength();
+ doesGenomeIndexHave64BitLocations = genomeIndex->doesGenomeIndexHave64BitLocations();
+
+ probDistance = new ProbabilityDistance(SNP_PROB, GAP_OPEN_PROB, GAP_EXTEND_PROB); // Match Mason
+
+ if ((i_landauVishkin == NULL) != (i_reverseLandauVishkin == NULL)) {
+ WriteErrorMessage("Must supply both or neither of forward & reverse Landau-Vishkin objects. You tried exactly one.\n");
+ soft_exit(1);
+ }
+
+ if (i_landauVishkin == NULL) {
+ if (allocator) {
+ landauVishkin = new (allocator) LandauVishkin<>;
+ reverseLandauVishkin = new (allocator) LandauVishkin<-1>;
+ } else {
+ landauVishkin = new LandauVishkin<>;
+ reverseLandauVishkin = new LandauVishkin<-1>;
+ }
+ ownLandauVishkin = true;
+ } else {
+ landauVishkin = i_landauVishkin;
+ reverseLandauVishkin = i_reverseLandauVishkin;
+ ownLandauVishkin = false;
+ }
+
+ unsigned maxSeedsToUse;
+ if (0 != maxSeedsToUseFromCommandLine) {
+ maxSeedsToUse = maxSeedsToUseFromCommandLine;
+ } else {
+ maxSeedsToUse = (int)(maxSeedCoverage * maxReadSize / genomeIndex->getSeedLength());
+ }
+
+ numWeightLists = maxSeedsToUse + 1;
+
+ candidateHashTablesSize = (maxHitsToConsider * maxSeedsToUse * 3)/2; // *1.5 for hash table slack
+ hashTableElementPoolSize = maxHitsToConsider * maxSeedsToUse * 2 ; // *2 for RC
+
+ if (allocator) {
+ rcReadData = (char *)allocator->allocate(sizeof(char) * maxReadSize * 2); // The *2 is to allocte space for the quality string
+ } else {
+ rcReadData = (char *)BigAlloc(sizeof(char) * maxReadSize * 2); // The *2 is to allocte space for the quality string
+ }
+
+ rcReadQuality = rcReadData + maxReadSize;
+
+ if (allocator) {
+ reversedRead[FORWARD] = (char *)allocator->allocate(sizeof(char) * maxReadSize * 4 + 2 * MAX_K); // Times 4 to also hold RC version and genome data (+2MAX_K is for genome data)
+ } else {
+ reversedRead[FORWARD] = (char *)BigAlloc(sizeof(char) * maxReadSize * 4 + 2 * MAX_K); // Times 4 to also hold RC version and genome data (+2MAX_K is for genome data)
+ }
+
+ rcReadData = (char *)BigAlloc(sizeof(char) * maxReadSize);
+
+ // treat everything but ACTG like N
+ for (unsigned i = 0; i < 256; i++) {
+ nTable[i] = 1;
+ rcTranslationTable[i] = 'N';
+ }
+ reversedRead[RC] = reversedRead[FORWARD] + maxReadSize;
+
+ rcTranslationTable['A'] = 'T';
+ rcTranslationTable['G'] = 'C';
+ rcTranslationTable['C'] = 'G';
+ rcTranslationTable['T'] = 'A';
+ rcTranslationTable['N'] = 'N';
+
+ memset(nTable, 0, sizeof(nTable));
+
+ nTable['N'] = 1;
+
+ if (allocator) {
+ seedUsed = (BYTE *)allocator->allocate((sizeof(BYTE) * (maxReadSize + 7 + 128) / 8)); // +128 to make sure it extends at both
+ } else {
+ seedUsed = (BYTE *)BigAlloc((sizeof(BYTE) * (maxReadSize + 7 + 128) / 8)); // +128 to make sure it extends at both
+ }
+
+ seedUsedAsAllocated = seedUsed; // Save the pointer for the delete.
+ seedUsed += 8; // This moves the pointer up an _int64, so we now have the appropriate before buffer.
+
+ nUsedHashTableElements = 0;
+
+ if (allocator) {
+ candidateHashTable[FORWARD] = (HashTableAnchor *)allocator->allocate(sizeof(HashTableAnchor) * candidateHashTablesSize);
+ candidateHashTable[RC] = (HashTableAnchor *)allocator->allocate(sizeof(HashTableAnchor) * candidateHashTablesSize);
+ weightLists = (HashTableElement *)allocator->allocate(sizeof(HashTableElement) * numWeightLists);
+ hashTableElementPool = (HashTableElement *)allocator->allocate(sizeof(HashTableElement) * hashTableElementPoolSize); // Allocte last, because it's biggest and usually unused. This puts all of the commonly used stuff into one large page.
+ hitCountByExtraSearchDepth = (unsigned *)allocator->allocate(sizeof(*hitCountByExtraSearchDepth) * extraSearchDepth);
+ if (maxSecondaryAlignmentsPerContig > 0) {
+ hitsPerContigCounts = (HitsPerContigCounts *)allocator->allocate(sizeof(*hitsPerContigCounts) * genome->getNumContigs());
+ memset(hitsPerContigCounts, 0, sizeof(*hitsPerContigCounts) * genome->getNumContigs());
+ } else {
+ hitsPerContigCounts = NULL;
+ }
+ } else {
+ candidateHashTable[FORWARD] = (HashTableAnchor *)BigAlloc(sizeof(HashTableAnchor) * candidateHashTablesSize);
+ candidateHashTable[RC] = (HashTableAnchor *)BigAlloc(sizeof(HashTableAnchor) * candidateHashTablesSize);
+ weightLists = (HashTableElement *)BigAlloc(sizeof(HashTableElement) * numWeightLists);
+ hashTableElementPool = (HashTableElement *)BigAlloc(sizeof(HashTableElement) * hashTableElementPoolSize);
+ hitCountByExtraSearchDepth = (unsigned *)BigAlloc(sizeof(*hitCountByExtraSearchDepth) * extraSearchDepth);
+ if (maxSecondaryAlignmentsPerContig > 0) {
+ hitsPerContigCounts = (HitsPerContigCounts *)BigAlloc(sizeof(*hitsPerContigCounts) * genome->getNumContigs());
+ memset(hitsPerContigCounts, 0, sizeof(*hitsPerContigCounts) * genome->getNumContigs());
+ }
+ else {
+ hitsPerContigCounts = NULL;
+ }
+ }
+
+ for (unsigned i = 0; i < hashTableElementPoolSize; i++) {
+ hashTableElementPool[i].init();
+ }
+
+ for (unsigned i = 0; i < maxSeedsToUse + 1; i++) {
+ weightLists[i].init();
+ }
+
+ for (Direction rc = 0; rc < NUM_DIRECTIONS; rc++) {
+ memset(candidateHashTable[rc],0,sizeof(HashTableAnchor) * candidateHashTablesSize);
+ }
+ hashTableEpoch = 0;
+
+
+}
+
+
+#ifdef _DEBUG
+bool _DumpAlignments = false;
+#endif // _DEBUG
+
+ void
+BaseAligner::AlignRead(
+ Read *inputRead,
+ SingleAlignmentResult *primaryResult,
+ int maxEditDistanceForSecondaryResults,
+ int secondaryResultBufferSize,
+ int *nSecondaryResults,
+ int maxSecondaryResults,
+ SingleAlignmentResult *secondaryResults // The caller passes in a buffer of secondaryResultBufferSize and it's filled in by AlignRead()
+ )
+/*++
+
+Routine Description:
+
+ Align a particular read, possibly constraining the search around a given location.
+
+Arguments:
+
+ read - the read to align
+ primaryResult - the best alignment result found
+ maxEditDistanceForSecondaryResults - How much worse than the primary result should we look?
+ secondaryResultBufferSize - the size of the secondaryResults buffer. If provided, it must be at least maxK * maxSeeds * 2.
+ nRescondaryResults - returns the number of secondary results found
+ maxSecondaryResults - limit the number of secondary results to this
+ secondaryResults - returns the secondary results
+
+
+Return Value:
+
+ true if there was enough space in secondaryResults, false otherwise
+
+--*/
+{
+ memset(hitCountByExtraSearchDepth, 0, sizeof(*hitCountByExtraSearchDepth) * extraSearchDepth);
+
+ if (NULL != nSecondaryResults) {
+ *nSecondaryResults = 0;
+ }
+
+ firstPassSeedsNotSkipped[FORWARD] = firstPassSeedsNotSkipped[RC] = 0;
+ smallestSkippedSeed[FORWARD] = smallestSkippedSeed[RC] = 0x8fffffffffffffff;
+ highestWeightListChecked = 0;
+
+ unsigned maxSeedsToUse;
+ if (0 != maxSeedsToUseFromCommandLine) {
+ maxSeedsToUse = maxSeedsToUseFromCommandLine;
+ } else {
+ maxSeedsToUse = (int)(2 * maxSeedCoverage * inputRead->getDataLength() / genomeIndex->getSeedLength()); // 2x is for FORWARD/RC
+ }
+
+ primaryResult->location = InvalidGenomeLocation; // Value to return if we don't find a location.
+ primaryResult->direction = FORWARD; // So we deterministically print the read forward in this case.
+ primaryResult->score = UnusedScoreValue;
+ primaryResult->status = NotFound;
+
+ unsigned lookupsThisRun = 0;
+
+ popularSeedsSkipped = 0;
+
+ //
+ // A bitvector for used seeds, indexed on the starting location of the seed within the read.
+ //
+ if (inputRead->getDataLength() > maxReadSize) {
+ WriteErrorMessage("BaseAligner:: got too big read (%d > %d)\n"
+ "Increase MAX_READ_LENGTH at the beginning of Read.h and recompile\n", inputRead->getDataLength(), maxReadSize);
+ soft_exit(1);
+ }
+
+ if ((int)inputRead->getDataLength() < seedLen) {
+ //
+ // Too short to have any seeds, it's hopeless.
+ // No need to finalize secondary results, since we don't have any.
+ //
+ return;
+ }
+
+#ifdef TRACE_ALIGNER
+ printf("Aligning read '%.*s':\n%.*s\n%.*s\n", inputRead->getIdLength(), inputRead->getId(), inputRead->getDataLength(), inputRead->getData(),
+ inputRead->getDataLength(), inputRead->getQuality());
+#endif
+
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("BaseAligner: aligning read ID '%.*s', data '%.*s'\n", inputRead->getIdLength(), inputRead->getId(), inputRead->getDataLength(), inputRead->getData());
+ }
+#endif // _DEBUG
+
+ //
+ // Clear out the seed used array.
+ //
+ memset(seedUsed, 0, (inputRead->getDataLength() + 7) / 8);
+
+ unsigned readLen = inputRead->getDataLength();
+ const char *readData = inputRead->getData();
+ const char *readQuality = inputRead->getQuality();
+ unsigned countOfNs = 0;
+ for (unsigned i = 0; i < readLen; i++) {
+ char baseByte = readData[i];
+ char complement = rcTranslationTable[baseByte];
+ rcReadData[readLen - i - 1] = complement;
+ rcReadQuality[readLen - i - 1] = readQuality[i];
+ reversedRead[FORWARD][readLen - i - 1] = baseByte;
+ reversedRead[RC][i] = complement;
+ countOfNs += nTable[baseByte];
+ }
+
+ if (countOfNs > maxK) {
+ nReadsIgnoredBecauseOfTooManyNs++;
+ // No need to finalize secondary results, since we don't have any.
+ return;
+ }
+
+ //
+ // Block off any seeds that would contain an N.
+ //
+ if (countOfNs > 0) {
+ int minSeedToConsiderNing = 0; // In English, any word can be verbed. Including, apparently, "N."
+ for (int i = 0; i < (int) readLen; i++) {
+ if (BASE_VALUE[readData[i]] > 3) {
+ int limit = __min(i + seedLen - 1, readLen-1);
+ for (int j = __max(minSeedToConsiderNing, i - (int) seedLen + 1); j <= limit; j++) {
+ SetSeedUsed(j);
+ }
+ minSeedToConsiderNing = limit+1;
+ if (minSeedToConsiderNing >= (int) readLen)
+ break;
+ }
+ }
+ }
+
+ Read reverseComplimentRead;
+ Read *read[NUM_DIRECTIONS];
+ read[FORWARD] = inputRead;
+ read[RC] = &reverseComplimentRead;
+ read[RC]->init(NULL, 0, rcReadData, rcReadQuality, readLen);
+
+ clearCandidates();
+
+ //
+ // Initialize the bases table, which represents which bases we've checked.
+ // We have readSize - seeds size + 1 possible seeds.
+ //
+ unsigned nPossibleSeeds = readLen - seedLen + 1;
+ TRACE("nPossibleSeeds: %d\n", nPossibleSeeds);
+
+ unsigned nextSeedToTest = 0;
+ unsigned wrapCount = 0;
+ lowestPossibleScoreOfAnyUnseenLocation[FORWARD] = lowestPossibleScoreOfAnyUnseenLocation[RC] = 0;
+ mostSeedsContainingAnyParticularBase[FORWARD] = mostSeedsContainingAnyParticularBase[RC] = 1; // Instead of tracking this for real, we're just conservative and use wrapCount+1. It's faster.
+ bestScore = UnusedScoreValue;
+ secondBestScore = UnusedScoreValue;
+ nSeedsApplied[FORWARD] = nSeedsApplied[RC] = 0;
+ lvScores = 0;
+ lvScoresAfterBestFound = 0;
+ probabilityOfAllCandidates = 0.0;
+ probabilityOfBestCandidate = 0.0;
+
+ scoreLimit = maxK + extraSearchDepth; // For MAPQ computation
+
+ while (nSeedsApplied[FORWARD] + nSeedsApplied[RC] < maxSeedsToUse) {
+ //
+ // Choose the next seed to use. Choose the first one that isn't used
+ //
+ if (nextSeedToTest >= nPossibleSeeds) {
+ //
+ // We're wrapping. We want to space the seeds out as much as possible, so if we had
+ // a seed length of 20 we'd want to take 0, 10, 5, 15, 2, 7, 12, 17. To make the computation
+ // fast, we use use a table lookup.
+ //
+ wrapCount++;
+ if (wrapCount >= seedLen) {
+ //
+ // We tried all possible seeds without matching or even getting enough seeds to
+ // exceed our seed count. Do the best we can with what we have.
+ //
+#ifdef TRACE_ALIGNER
+ printf(stderr, "Calling score with force=true because we wrapped around enough\n");
+#endif
+ score(
+ true,
+ read,
+ primaryResult,
+ maxEditDistanceForSecondaryResults,
+ secondaryResultBufferSize,
+ nSecondaryResults,
+ secondaryResults);
+
+#ifdef _DEBUG
+ if (_DumpAlignments) printf("\tFinal result score %d MAPQ %d (%e probability of best candidate, %e probability of all candidates) at %u\n",
+ primaryResult->score, primaryResult->mapq, probabilityOfBestCandidate, probabilityOfAllCandidates, primaryResult->location);
+#endif // _DEBUG
+ finalizeSecondaryResults(*primaryResult, nSecondaryResults, secondaryResults, maxSecondaryResults, maxEditDistanceForSecondaryResults, bestScore);
+ return;
+ }
+ nextSeedToTest = GetWrappedNextSeedToTest(seedLen, wrapCount);
+
+ mostSeedsContainingAnyParticularBase[FORWARD] = mostSeedsContainingAnyParticularBase[RC] = wrapCount + 1;
+ }
+
+ while (nextSeedToTest < nPossibleSeeds && IsSeedUsed(nextSeedToTest)) {
+ //
+ // This seed is already used. Try the next one.
+ //
+ TRACE("Skipping due to IsSeedUsed\n");
+ nextSeedToTest++;
+ }
+
+ if (nextSeedToTest >= nPossibleSeeds) {
+ //
+ // Unusable seeds have pushed us past the end of the read. Go back around the outer loop so we wrap properly.
+ //
+ TRACE("Eek, we're past the end of the read\n");
+ continue;
+ }
+
+ SetSeedUsed(nextSeedToTest);
+
+ if (!Seed::DoesTextRepresentASeed(read[FORWARD]->getData() + nextSeedToTest, seedLen)) {
+ continue;
+ }
+
+ Seed seed(read[FORWARD]->getData() + nextSeedToTest, seedLen);
+
+ _int64 nHits[NUM_DIRECTIONS]; // Number of times this seed hits in the genome
+ const GenomeLocation *hits[NUM_DIRECTIONS]; // The actual hits (of size nHits)
+ GenomeLocation singletonHits[NUM_DIRECTIONS]; // Storage for single hits (this is required for 64 bit genome indices, since they might use fewer than 8 bytes internally)
+
+ const unsigned *hits32[NUM_DIRECTIONS];
+
+ if (doesGenomeIndexHave64BitLocations) {
+ genomeIndex->lookupSeed(seed, &nHits[FORWARD], &hits[FORWARD], &nHits[RC], &hits[RC], &singletonHits[FORWARD], &singletonHits[RC]);
+ } else {
+ genomeIndex->lookupSeed32(seed, &nHits[FORWARD], &hits32[FORWARD], &nHits[RC], &hits32[RC]);
+ }
+
+ nHashTableLookups++;
+ lookupsThisRun++;
+
+
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("\tSeed offset %2d, %4d hits, %4d rcHits.", nextSeedToTest, nHits[0], nHits[1]);
+ for (int rc = 0; rc < 2; rc++) {
+ for (unsigned i = 0; i < __min(nHits[rc], 5); i++) {
+ printf(" %sHit at %9llu.", rc == 1 ? "RC " : "", doesGenomeIndexHave64BitLocations ? hits[rc][i] : (_int64)hits32[rc][i]);
+ }
+ }
+ printf("\n");
+ }
+#endif // _DEUBG
+
+#ifdef TRACE_ALIGNER
+ printf("Looked up seed %.*s (offset %d): hits=%u, rchits=%u\n",
+ seedLen, inputRead->getData() + nextSeedToTest, nextSeedToTest, nHits[0], nHits[1]);
+ for (int rc = 0; rc < 2; rc++) {
+ if (nHits[rc] <= maxHitsToConsider) {
+ printf("%sHits:", rc == 1 ? "RC " : "");
+ for (unsigned i = 0; i < nHits[rc]; i++)
+ printf(" %u", hits[rc][i]);
+ printf("\n");
+ }
+ }
+#endif
+
+ bool appliedEitherSeed = false;
+
+ for (Direction direction = 0; direction < NUM_DIRECTIONS; direction++) {
+ if (nHits[direction] > maxHitsToConsider && !explorePopularSeeds) {
+ //
+ // This seed is matching too many places. Just pretend we never looked and keep going.
+ //
+ nHitsIgnoredBecauseOfTooHighPopularity++;
+ popularSeedsSkipped++;
+ smallestSkippedSeed[direction] = __min(nHits[direction], smallestSkippedSeed[direction]);
+ } else {
+ if (0 == wrapCount) {
+ firstPassSeedsNotSkipped[direction]++;
+ }
+
+ //
+ // Update the candidates list with any hits from this seed. If lowest possible score of any unseen location is
+ // more than best_score + confDiff then we know that if this location is newly seen then its location won't ever be a
+ // winner, and we can ignore it.
+ //
+
+ unsigned offset;
+ if (direction == FORWARD) {
+ offset = nextSeedToTest;
+ } else {
+ //
+ // The RC seed is at offset ReadSize - SeedSize - seed offset in the RC seed.
+ //
+ // To see why, imagine that you had a read that looked like 0123456 (where the digits
+ // represented some particular bases, and digit' is the base's complement). Then the
+ // RC of that read is 6'5'4'3'2'1'. So, when we look up the hits for the seed at
+ // offset 0 in the forward read (i.e. 012 assuming a seed size of 3) then the index
+ // will also return the results for the seed's reverse complement, i.e., 3'2'1'.
+ // This happens as the last seed in the RC read.
+ //
+ offset = readLen - seedLen - nextSeedToTest;
+ }
+
+ const unsigned prefetchDepth = 30;
+ _int64 limit = min(nHits[direction], (_int64)maxHitsToConsider) + prefetchDepth;
+ for (unsigned iBase = 0 ; iBase < limit; iBase += prefetchDepth) {
+ //
+ // This works in two phases: we launch prefetches for a group of hash table lines,
+ // then we do all of the inserts, and then repeat.
+ //
+
+ _int64 innerLimit = min((_int64)iBase + prefetchDepth, min(nHits[direction], (_int64)maxHitsToConsider));
+ if (doAlignerPrefetch) {
+ for (unsigned i = iBase; i < innerLimit; i++) {
+ if (doesGenomeIndexHave64BitLocations) {
+ prefetchHashTableBucket(GenomeLocationAsInt64(hits[direction][i]) - offset, direction);
+ } else {
+ prefetchHashTableBucket(hits32[direction][i] - offset, direction);
+ }
+ }
+ }
+
+ for (unsigned i = iBase; i < innerLimit; i++) {
+ //
+ // Find the genome location where the beginning of the read would hit, given a match on this seed.
+ //
+ GenomeLocation genomeLocationOfThisHit;
+ if (doesGenomeIndexHave64BitLocations) {
+ genomeLocationOfThisHit = hits[direction][i] - offset;
+ } else {
+ genomeLocationOfThisHit = hits32[direction][i] - offset;
+ }
+
+ Candidate *candidate = NULL;
+ HashTableElement *hashTableElement;
+
+ findCandidate(genomeLocationOfThisHit, direction, &candidate, &hashTableElement);
+
+ if (NULL != hashTableElement) {
+ if (!noOrderedEvaluation) { // If noOrderedEvaluation, just leave them all on the one-hit weight list so they get evaluated in whatever order
+ incrementWeight(hashTableElement);
+ }
+ candidate->seedOffset = offset;
+ _ASSERT((unsigned)candidate->seedOffset <= readLen - seedLen);
+ } else if (lowestPossibleScoreOfAnyUnseenLocation[direction] <= scoreLimit || noTruncation) {
+ _ASSERT(offset <= readLen - seedLen);
+ allocateNewCandidate(genomeLocationOfThisHit, direction, lowestPossibleScoreOfAnyUnseenLocation[direction],
+ offset, &candidate, &hashTableElement);
+ }
+ }
+ }
+ nSeedsApplied[direction]++;
+ appliedEitherSeed = true;
+ } // not too popular
+ } // directions
+
+#if 1
+ nextSeedToTest += seedLen;
+#else // 0
+
+ //
+ // If we don't have enough seeds left to reach the end of the read, space out the seeds more-or-less evenly.
+ //
+ if ((maxSeedsToUse - (nSeedsApplied[FORWARD] + nSeedsApplied[RC]) + 1) * seedLen + nextSeedToTest < nPossibleSeeds) {
+ _ASSERT((nPossibleSeeds + nextSeedToTest) / (maxSeedsToUse - (nSeedsApplied[FORWARD] + nSeedsApplied[RC]) + 1) > seedLen);
+ nextSeedToTest += (nPossibleSeeds + nextSeedToTest) / (maxSeedsToUse - (nSeedsApplied[FORWARD] + nSeedsApplied[RC]) + 1);
+ } else {
+ nextSeedToTest += seedLen;
+ }
+
+#endif // 0
+
+
+ if (appliedEitherSeed) {
+ //
+ // And finally, try scoring.
+ //
+ if (score(
+ false,
+ read,
+ primaryResult,
+ maxEditDistanceForSecondaryResults,
+ secondaryResultBufferSize,
+ nSecondaryResults,
+ secondaryResults)) {
+
+#ifdef _DEBUG
+ if (_DumpAlignments) printf("\tFinal result score %d MAPQ %d at %u\n", primaryResult->score, primaryResult->mapq, primaryResult->location);
+#endif // _DEBUG
+
+ finalizeSecondaryResults(*primaryResult, nSecondaryResults, secondaryResults, maxSecondaryResults, maxEditDistanceForSecondaryResults, bestScore);
+ return;
+ }
+ }
+ }
+
+ //
+ // Do the best with what we've got.
+ //
+#ifdef TRACE_ALIGNER
+ printf("Calling score with force=true because we ran out of seeds\n");
+#endif
+ score(
+ true,
+ read,
+ primaryResult,
+ maxEditDistanceForSecondaryResults,
+ secondaryResultBufferSize,
+ nSecondaryResults,
+ secondaryResults);
+
+#ifdef _DEBUG
+ if (_DumpAlignments) printf("\tFinal result score %d MAPQ %d (%e probability of best candidate, %e probability of all candidates) at %u\n", primaryResult->score, primaryResult->mapq, probabilityOfBestCandidate, probabilityOfAllCandidates, primaryResult->location);
+#endif // _DEBUG
+
+ finalizeSecondaryResults(*primaryResult, nSecondaryResults, secondaryResults, maxSecondaryResults, maxEditDistanceForSecondaryResults, bestScore);
+ return;
+}
+
+ bool
+BaseAligner::score(
+ bool forceResult,
+ Read *read[NUM_DIRECTIONS],
+ SingleAlignmentResult *primaryResult,
+ int maxEditDistanceForSecondaryResults,
+ int secondaryResultBufferSize,
+ int *nSecondaryResults,
+ SingleAlignmentResult *secondaryResults)
+/*++
+
+Routine Description:
+
+ Make progress in scoring a possibly partial alignment. This is a private method of the BaseAligner class that's used
+ only by AlignRead.
+
+ It does a number of things. First, it computes the lowest possible score of any unseen location. This is useful
+ because once we have a scored hit that's more than confDiff better than all unseen locations, there's no need to
+ lookup more of them, we can just score what we've got and be sure that the answer is right (unless errors have
+ pushed the read to be closer to a wrong location than to the correct one, in which case it's hopeless).
+
+ It then decides whether it should score a location, and if so what one to score. It chooses the unscored
+ location that's got the highest weight (i.e., appeared in the most hash table lookups), since that's most
+ likely to be the winner. If there are multiple candidates with the same best weight, it breaks the tie using
+ the best possible score for the candidates (which is determined when they're first hit). Remaining ties are
+ broken arbitrarily.
+
+ It merges indels with scored candidates. If there's an insertion or deletion in the read, then we'll get very
+ close but unequal results out of the hash table lookup for parts of the read on opposite sides of the
+ insertion or deletion. This throws out the one with the worse score.
+
+ It then figures out if we have a definitive answer, and says what that is.
+
+Arguments:
+
+ forceResult - should we generate an answer even if it's not definitive?
+ read - the read we're aligning in both directions
+ result - returns the result if we reach one
+ singleHitGenomeLocation - returns the location in the genome if we return a single hit
+ hitDirection - if we return a single hit, indicates its direction
+ candidates - in/out the array of candidates that have hit and possibly been scored
+ mapq - returns the map quality if we've reached a final result
+ secondary - returns secondary alignment locations & directions (optional)
+
+Return Value:
+
+ true iff we've reached a result. When called with forceResult, we'll always return true.
+
+--*/
+{
+#ifdef TRACE_ALIGNER
+ printf("score() called with force=%d nsa=%d nrcsa=%d best=%u bestloc=%u 2nd=%u\n",
+ forceResult, nSeedsApplied[FORWARD], nSeedsApplied[RC], bestScore, bestScoreGenomeLocation, secondBestScore);
+ //printf("Candidates:\n");
+ //for (int i = 0; i < nCandidates; i++) {
+ // Candidate* c = candidates + i;
+ // printf(" loc=%u rc=%d weight=%u minps=%u scored=%d score=%u r=%u-%u\n",
+ // c->genomeLocation, c->isRC, c->weight, c->minPossibleScore, c->scored,
+ // c->score, c->minRange, c->maxRange);
+ //}
+ //printf("\n\n");
+#endif
+
+ if (0 == mostSeedsContainingAnyParticularBase[FORWARD] && 0 == mostSeedsContainingAnyParticularBase[RC]) {
+ //
+ // The only way we can get here is if we've tried all of the seeds that we're willing
+ // to try and every one of them generated too many hits to process. Give up.
+ //
+ _ASSERT(forceResult);
+ primaryResult->status = NotFound;
+ primaryResult->mapq = 0;
+ return true;
+ }
+
+ //
+ // Recompute lowestPossibleScore.
+ //
+ for (Direction direction = 0; direction < 2; direction++) {
+ if (0 != mostSeedsContainingAnyParticularBase[direction]) {
+ lowestPossibleScoreOfAnyUnseenLocation[direction] =
+ __max(lowestPossibleScoreOfAnyUnseenLocation[direction],
+ nSeedsApplied[direction] / mostSeedsContainingAnyParticularBase[direction]);
+ }
+ }
+
+#ifdef TRACE_ALIGNER
+ printf("Lowest possible scores for unseen locations: %d (fwd), %d (RC)\n",
+ lowestPossibleScoreOfAnyUnseenLocation[FORWARD],
+ lowestPossibleScoreOfAnyUnseenLocation[RC]);
+#endif
+
+ unsigned weightListToCheck = highestUsedWeightList;
+
+ do {
+ //
+ // Grab the next element to score, and score it.
+ //
+
+ while (weightListToCheck > 0 && weightLists[weightListToCheck].weightNext == &weightLists[weightListToCheck]) {
+ weightListToCheck--;
+ highestUsedWeightList = weightListToCheck;
+ }
+
+ if ((__min(lowestPossibleScoreOfAnyUnseenLocation[FORWARD],lowestPossibleScoreOfAnyUnseenLocation[RC]) > scoreLimit && !noTruncation) || forceResult) {
+ if (weightListToCheck< minWeightToCheck) {
+ //
+ // We've scored all live candidates and excluded all non-candidates, or we've checked enough that we've hit the cutoff. We have our
+ // answer.
+ //
+ primaryResult->score = bestScore;
+ if (bestScore <= maxK) {
+ primaryResult->location = bestScoreGenomeLocation;
+ primaryResult->mapq = computeMAPQ(probabilityOfAllCandidates, probabilityOfBestCandidate, bestScore, popularSeedsSkipped);
+ if (primaryResult->mapq >= MAPQ_LIMIT_FOR_SINGLE_HIT) {
+ primaryResult->status = SingleHit;
+ } else {
+ primaryResult->status = MultipleHits;
+ }
+ return true;
+ } else {
+ primaryResult->status = NotFound;
+ primaryResult->mapq = 0;
+ return true;
+ }
+ }
+ //
+ // Nothing that we haven't already looked up can possibly be the answer. Score what we've got and exit.
+ //
+ forceResult = true;
+ } else if (weightListToCheck == 0) {
+ //
+ // No candidates, look for more.
+ //
+ return false;
+ }
+
+ HashTableElement *elementToScore = weightLists[weightListToCheck].weightNext;
+ _ASSERT(!elementToScore->allExtantCandidatesScored);
+ _ASSERT(elementToScore->candidatesUsed != 0);
+ _ASSERT(elementToScore != &weightLists[weightListToCheck]);
+
+ if (doAlignerPrefetch) {
+ //
+ // Our prefetch pipeline is one loop out we get the genome data for the next loop, and two loops out we get the element to score.
+ //
+ _mm_prefetch((const char *)(elementToScore->weightNext->weightNext), _MM_HINT_T2); // prefetch the next element, it's likely to be the next thing we score.
+ genome->prefetchData(elementToScore->weightNext->baseGenomeLocation);
+ }
+
+ if (elementToScore->lowestPossibleScore <= scoreLimit) {
+
+ unsigned long candidateIndexToScore;
+ _uint64 candidatesMask = elementToScore->candidatesUsed;
+ while (_BitScanForward64(&candidateIndexToScore,candidatesMask)) {
+ _uint64 candidateBit = ((_uint64)1 << candidateIndexToScore);
+ candidatesMask &= ~candidateBit;
+ if ((elementToScore->candidatesScored & candidateBit) != 0) {
+ // Already scored it, or marked it as scored due to using ProbabilityDistance
+ continue;
+ }
+
+ bool anyNearbyCandidatesAlreadyScored = elementToScore->candidatesScored != 0;
+
+ elementToScore->candidatesScored |= candidateBit;
+ _ASSERT(candidateIndexToScore < hashTableElementSize);
+ Candidate *candidateToScore = &elementToScore->candidates[candidateIndexToScore];
+
+ GenomeLocation genomeLocation = elementToScore->baseGenomeLocation + candidateIndexToScore;
+ GenomeLocation elementGenomeLocation = genomeLocation; // This is the genome location prior to any adjustments for indels
+
+ //
+ // We're about to run edit distance computation on the genome. Launch a prefetch for it
+ // so that it's in cache when we do (or at least on the way).
+ //
+ if (doAlignerPrefetch) {
+ genomeIndex->prefetchGenomeData(genomeLocation);
+ }
+
+ unsigned score = -1;
+ double matchProbability = 0;
+ unsigned readDataLength = read[elementToScore->direction]->getDataLength();
+ GenomeDistance genomeDataLength = readDataLength + MAX_K; // Leave extra space in case the read has deletions
+ const char *data = genome->getSubstring(genomeLocation, genomeDataLength);
+
+#if 0 // This only happens when we're in the padding region, and genomeLocations there just lead to problems. Just say no.
+ if (NULL == data) {
+ //
+ // We're up against the end of a chromosome. Reduce the extra space enough that it isn't too
+ // long. We're willing to reduce it to less than the length of a read, because the read could
+ // butt up against the end of the chromosome and have insertions in it.
+ //
+ const Genome::Contig *contig = genome->getContigAtLocation(genomeLocation);
+
+ if (contig != NULL) {
+ GenomeLocation endLocation;
+ if (genomeLocation + readDataLength + MAX_K >= GenomeLocation(0) + genome->getCountOfBases()) {
+ endLocation = GenomeLocation(0) + genome->getCountOfBases();
+ } else {
+ const Genome::Contig *nextContig = genome->getNextContigAfterLocation(genomeLocation);
+ _ASSERT(contig->beginningLocation <= genomeLocation && contig != nextContig);
+
+ endLocation = nextContig->beginningLocation;
+ }
+ genomeDataLength = endLocation - genomeLocation - 1;
+ if (genomeDataLength >= readDataLength - MAX_K) {
+ data = genome->getSubstring(genomeLocation, genomeDataLength);
+ _ASSERT(NULL != data);
+ }
+ }
+ }
+
+#endif // 0
+ if (data != NULL) {
+ Read *readToScore = read[elementToScore->direction];
+
+ _ASSERT(candidateToScore->seedOffset + seedLen <= readToScore->getDataLength());
+
+ //
+ // Compute the distance separately in the forward and backward directions from the seed, to allow
+ // arbitrary offsets at both the start and end.
+ //
+ double matchProb1, matchProb2;
+ int score1, score2;
+ // First, do the forward direction from where the seed aligns to past of it
+ int readLen = readToScore->getDataLength();
+ int seedLen = genomeIndex->getSeedLength();
+ int seedOffset = candidateToScore->seedOffset; // Since the data is reversed
+ int tailStart = seedOffset + seedLen;
+
+ _ASSERT(!memcmp(data+seedOffset, readToScore->getData() + seedOffset, seedLen));
+
+ int textLen = (int)__min(genomeDataLength - tailStart, 0x7ffffff0);
+ score1 = landauVishkin->computeEditDistance(data + tailStart, textLen, readToScore->getData() + tailStart, readToScore->getQuality() + tailStart, readLen - tailStart,
+ scoreLimit, &matchProb1);
+
+ if (score1 == -1) {
+ score = -1;
+ } else {
+ // The tail of the read matched; now let's reverse match the reference genome and the head
+ int limitLeft = scoreLimit - score1;
+ int genomeLocationOffset;
+ score2 = reverseLandauVishkin->computeEditDistance(data + seedOffset, seedOffset + MAX_K, reversedRead[elementToScore->direction] + readLen - seedOffset,
+ read[OppositeDirection(elementToScore->direction)]->getQuality() + readLen - seedOffset, seedOffset, limitLeft, &matchProb2,
+ &genomeLocationOffset);
+
+ if (score2 == -1) {
+ score = -1;
+ } else {
+ score = score1 + score2;
+ // Map probabilities for substrings can be multiplied, but make sure to count seed too
+ matchProbability = matchProb1 * matchProb2 * pow(1 - SNP_PROB, seedLen);
+
+ //
+ // Adjust the genome location based on any indels that we found.
+ //
+ genomeLocation += genomeLocationOffset;
+
+ //
+ // We could mark as scored anything in between the old and new genome offsets, but it's probably not worth the effort since this is
+ // so rare and all it would do is same time.
+ //
+ }
+ }
+ } else { // if we had genome data to compare against
+ matchProbability = 0;
+ }
+#ifdef TRACE_ALIGNER
+ printf("Computing distance at %u (RC) with limit %d: %d (prob %g)\n",
+ genomeLocation, scoreLimit, score, matchProbability);
+#endif
+
+
+#ifdef _DEBUG
+ if (_DumpAlignments) printf("Scored %9u weight %2d limit %d, result %2d %s\n", genomeLocation, elementToScore->weight, scoreLimit, score, elementToScore->direction ? "RC" : "");
+#endif // _DEBUG
+
+ candidateToScore->score = score;
+
+ nLocationsScored++;
+ lvScores++;
+ lvScoresAfterBestFound++;
+
+ //
+ // Handle the special case where we just scored a different offset for a region that's already been scored. This can happen when
+ // there are indels in the read. In this case, we want to treat them as a single aignment, not two different ones (which would
+ // cause us to lose confidence in the alignment, since they're probably both pretty good).
+ //
+ if (anyNearbyCandidatesAlreadyScored) {
+ if (elementToScore->bestScore < score || elementToScore->bestScore == score && matchProbability <= elementToScore->matchProbabilityForBestScore) {
+ //
+ // This is a no better mapping than something nearby that we already tried. Just ignore it.
+ //
+ continue;
+ }
+ } else {
+ _ASSERT(elementToScore->matchProbabilityForBestScore == 0.0);
+ }
+
+ elementToScore->bestScoreGenomeLocation = genomeLocation;
+
+ //
+ // Look up the hash table element that's closest to the genomeLocation but that doesn't
+ // contain it, to check if this location is already scored.
+ //
+ // We do this computation in a strange way in order to avoid generating a branch instruction that
+ // the processor's branch predictor will get wrong half of the time. Think about it like this:
+ // The genome location lies in a bucket of size hashTableElementSize. Its offset in the bucket
+ // is genomeLocation % hashTableElementSize. If we take that quantity and integer divide it by
+ // hashTableElementSize / 2, we get 0 if it's in the first half and 1 if it's in the second. Double that and subtract
+ // one, and you're at the right place with no branches.
+ //
+ HashTableElement *nearbyElement;
+ GenomeLocation nearbyGenomeLocation;
+ if (-1 != score) {
+ nearbyGenomeLocation = elementGenomeLocation + (2*(GenomeLocationAsInt64(elementGenomeLocation) % hashTableElementSize / (hashTableElementSize/2)) - 1) * (hashTableElementSize/2);
+ _ASSERT((GenomeLocationAsInt64(elementGenomeLocation) % hashTableElementSize >= (hashTableElementSize/2) ? elementGenomeLocation + (hashTableElementSize/2) : elementGenomeLocation - (hashTableElementSize/2)) == nearbyGenomeLocation); // Assert that the logic in the above comment is right.
+
+ findElement(nearbyGenomeLocation, elementToScore->direction, &nearbyElement);
+ } else {
+ nearbyElement = NULL;
+ }
+
+ if (NULL != nearbyElement && nearbyElement->candidatesScored != 0) {
+ //
+ // Just because there's a "nearby" element doesn't mean it's really within the maxMergeDist. Check that now.
+ //
+ if (!genomeLocationIsWithin(genomeLocation, nearbyElement->bestScoreGenomeLocation, maxMergeDist)) {
+
+ //
+ // There's a nearby element, but its best score is too far away to merge. Forget it.
+ //
+ nearbyElement = NULL;
+ }
+
+ if (NULL != nearbyElement) {
+ if (nearbyElement->bestScore < score || nearbyElement->bestScore == score && nearbyElement->matchProbabilityForBestScore >= matchProbability) {
+ //
+ // Again, this no better than something nearby we already tried. Give up.
+ //
+ continue;
+ }
+ anyNearbyCandidatesAlreadyScored = true;
+ probabilityOfAllCandidates = __max(0.0, probabilityOfAllCandidates - nearbyElement->matchProbabilityForBestScore);
+ nearbyElement->matchProbabilityForBestScore = 0; // keeps us from backing it out twice
+ }
+ }
+
+ probabilityOfAllCandidates = __max(0.0, probabilityOfAllCandidates - elementToScore->matchProbabilityForBestScore); // need the max due to floating point lossage.
+ probabilityOfAllCandidates += matchProbability; // Don't combine this with the previous line, it introduces floating point unhappiness.
+ elementToScore->matchProbabilityForBestScore = matchProbability;
+ elementToScore->bestScore = score;
+
+ if (bestScore > score ||
+ (bestScore == score && matchProbability > probabilityOfBestCandidate)) {
+
+ //
+ // We have a new best score. The old best score becomes the second best score, unless this is the same as the best or second best score
+ //
+
+ if ((secondBestScore == UnusedScoreValue || !(secondBestScoreGenomeLocation + maxMergeDist > genomeLocation && secondBestScoreGenomeLocation < genomeLocation + maxMergeDist)) &&
+ (bestScore == UnusedScoreValue || !(bestScoreGenomeLocation + maxMergeDist > genomeLocation && bestScoreGenomeLocation < genomeLocation + maxMergeDist)) &&
+ (!anyNearbyCandidatesAlreadyScored || (GenomeLocationAsInt64(bestScoreGenomeLocation) / maxMergeDist != GenomeLocationAsInt64(genomeLocation) / maxMergeDist &&
+ GenomeLocationAsInt64(secondBestScoreGenomeLocation) / maxMergeDist != GenomeLocationAsInt64(genomeLocation) / maxMergeDist))) {
+ secondBestScore = bestScore;
+ secondBestScoreGenomeLocation = bestScoreGenomeLocation;
+ secondBestScoreDirection = primaryResult->direction;
+ }
+
+ //
+ // If we're tracking secondary alignments, put the old best score in as a new secondary alignment
+ //
+ if (NULL != secondaryResults && (int)(bestScore - score) <= maxEditDistanceForSecondaryResults) { // bestScore is initialized to UnusedScoreValue, which is large, so this won't fire if this is the first candidate
+ if (secondaryResultBufferSize <= *nSecondaryResults) {
+ WriteErrorMessage("Out of secondary result buffer in BaseAliner::score(), which shouldn't be possible");
+ soft_exit(1);
+ }
+
+ SingleAlignmentResult *result = &secondaryResults[*nSecondaryResults];
+ result->direction = primaryResult->direction;
+ result->location = bestScoreGenomeLocation;
+ result->mapq = 0;
+ result->score = bestScore;
+ result->status = MultipleHits;
+
+ _ASSERT(result->score != -1);
+
+ (*nSecondaryResults)++;
+ }
+
+ bestScore = score;
+ probabilityOfBestCandidate = matchProbability;
+ _ASSERT(probabilityOfBestCandidate <= probabilityOfAllCandidates);
+ bestScoreGenomeLocation = genomeLocation;
+ primaryResult->location = bestScoreGenomeLocation;
+ primaryResult->score = bestScore;
+ primaryResult->direction = elementToScore->direction;
+
+ lvScoresAfterBestFound = 0;
+ } else {
+ if (secondBestScore > score) {
+ //
+ // A new second best.
+ //
+ secondBestScore = score;
+ secondBestScoreGenomeLocation = genomeLocation;
+ secondBestScoreDirection = elementToScore->direction;
+ }
+
+ //
+ // If this is close enough, record it as a secondary alignment.
+ //
+ if (-1 != maxEditDistanceForSecondaryResults && NULL != secondaryResults && (int)(bestScore - score) <= maxEditDistanceForSecondaryResults && score != -1) {
+ if (secondaryResultBufferSize <= *nSecondaryResults) {
+ WriteErrorMessage("Out of secondary result buffer in BaseAliner::score(), which shouldn't be possible");
+ soft_exit(1);
+ }
+
+ SingleAlignmentResult *result = &secondaryResults[*nSecondaryResults];
+ result->direction = elementToScore->direction;
+ result->location = genomeLocation;
+ result->mapq = 0;
+ result->score = score;
+ result->status = MultipleHits;
+
+ _ASSERT(result->score != -1);
+
+ (*nSecondaryResults)++;
+ }
+ }
+
+ if (stopOnFirstHit && bestScore <= maxK) {
+ // The user just wanted to find reads that match the database within some distance, but doesn't
+ // care about the best alignment. Stop now but mark the result as MultipleHits because we're not
+ // confident that it's the best one. We don't support mapq in this secnario, because we haven't
+ // explored enough to compute it.
+ primaryResult->status = MultipleHits;
+ primaryResult->mapq = 0;
+ return true;
+ }
+
+ // Update scoreLimit since we may have improved bestScore or secondBestScore
+ if (!noUkkonen) { // If we've turned off Ukkonen, then don't drop the score limit, just leave it at maxK + extraSearchDepth always
+ scoreLimit = min(bestScore, maxK) + extraSearchDepth;
+ } else {
+ _ASSERT(scoreLimit == maxK + extraSearchDepth);
+ }
+ } // While candidates exist in the element
+ } // If the element could possibly affect the result
+
+ //
+ // Remove the element from the weight list.
+ //
+ elementToScore->allExtantCandidatesScored = true;
+ elementToScore->weightNext->weightPrev = elementToScore->weightPrev;
+ elementToScore->weightPrev->weightNext = elementToScore->weightNext;
+ elementToScore->weightNext = elementToScore->weightPrev = elementToScore;
+
+ } while (forceResult);
+
+ return false;
+}
+
+
+ void
+BaseAligner::prefetchHashTableBucket(GenomeLocation genomeLocation, Direction direction)
+{
+ HashTableAnchor *hashTable = candidateHashTable[direction];
+
+ _uint64 lowOrderGenomeLocation;
+ _uint64 highOrderGenomeLocation;
+
+ decomposeGenomeLocation(genomeLocation, &highOrderGenomeLocation, &lowOrderGenomeLocation);
+
+ _uint64 hashTableIndex = hash(highOrderGenomeLocation) % candidateHashTablesSize;
+
+ _mm_prefetch((const char *)&hashTable[hashTableIndex], _MM_HINT_T2);
+}
+
+ bool
+BaseAligner::findElement(
+ GenomeLocation genomeLocation,
+ Direction direction,
+ HashTableElement **hashTableElement)
+{
+ HashTableAnchor *hashTable = candidateHashTable[direction];
+
+ _uint64 lowOrderGenomeLocation;
+ _uint64 highOrderGenomeLocation;
+
+ decomposeGenomeLocation(genomeLocation, &highOrderGenomeLocation, &lowOrderGenomeLocation);
+
+ _uint64 hashTableIndex = hash(highOrderGenomeLocation) % candidateHashTablesSize;
+ HashTableAnchor *anchor = &hashTable[hashTableIndex];
+ if (anchor->epoch != hashTableEpoch) {
+ //
+ // It's empty.
+ //
+ *hashTableElement = NULL;
+ return false;
+ }
+
+ HashTableElement *lookedUpElement = anchor->element;
+ while (NULL != lookedUpElement && lookedUpElement->baseGenomeLocation != highOrderGenomeLocation) {
+ lookedUpElement = lookedUpElement->next;
+ }
+ *hashTableElement = lookedUpElement;
+ return lookedUpElement != NULL;
+}
+
+
+ void
+BaseAligner::findCandidate(
+ GenomeLocation genomeLocation,
+ Direction direction,
+ Candidate **candidate,
+ HashTableElement **hashTableElement)
+/*++
+
+Routine Description:
+
+ Find a candidate in the hash table, optionally allocating it if it doesn't exist (but the element does).
+
+Arguments:
+
+ genomeLocation - the location of the candidate we'd like to look up
+ candidate - The candidate that was found or created
+ hashTableElement - the hashTableElement for the candidate that was found.
+ allocateNew - if this doesn't already exist, should we allocate it?
+
+--*/
+{
+ _uint64 lowOrderGenomeLocation;
+
+ decomposeGenomeLocation(genomeLocation, NULL, &lowOrderGenomeLocation);
+ if (!findElement(genomeLocation, direction, hashTableElement)) {
+ *hashTableElement = NULL;
+ *candidate = NULL;
+ return;
+ }
+
+ _uint64 bitForThisCandidate = (_uint64)1 << lowOrderGenomeLocation;
+
+ *candidate = &(*hashTableElement)->candidates[lowOrderGenomeLocation];
+
+ (*hashTableElement)->allExtantCandidatesScored = (*hashTableElement)->allExtantCandidatesScored && ((*hashTableElement)->candidatesUsed & bitForThisCandidate);
+ (*hashTableElement)->candidatesUsed |= bitForThisCandidate;
+
+}
+
+bool doAlignerPrefetch = true;
+
+ void
+BaseAligner::allocateNewCandidate(
+ GenomeLocation genomeLocation,
+ Direction direction,
+ unsigned lowestPossibleScore,
+ int seedOffset,
+ Candidate ** candidate,
+ HashTableElement ** hashTableElement)
+/*++
+
+Routine Description:
+
+Arguments:
+
+Return Value:
+
+--*/
+{
+ HashTableAnchor *hashTable = candidateHashTable[direction];
+
+ _uint64 lowOrderGenomeLocation;
+ _uint64 highOrderGenomeLocation;
+
+ decomposeGenomeLocation(genomeLocation, &highOrderGenomeLocation, &lowOrderGenomeLocation);
+
+ unsigned hashTableIndex = hash(highOrderGenomeLocation) % candidateHashTablesSize;
+
+ HashTableAnchor *anchor = &hashTable[hashTableIndex];
+ if (doAlignerPrefetch) {
+ _mm_prefetch((const char *)anchor, _MM_HINT_T2); // Prefetch our anchor. We don't have enough computation to completely hide the prefetch, but at least we get some for free here.
+ }
+ HashTableElement *element;
+
+#if DBG
+ element = hashTable[hashTableIndex].element;
+
+ while (anchor->epoch == hashTableEpoch && NULL != element && element->genomeLocation != highOrderGenomeLocation) {
+ element = element->next;
+ }
+ _ASSERT(NULL == element || anchor->epoch != hashTableEpoch);
+#endif // DBG
+
+ _ASSERT(nUsedHashTableElements < hashTableElementPoolSize);
+ element = &hashTableElementPool[nUsedHashTableElements];
+ nUsedHashTableElements++;
+
+ if (doAlignerPrefetch) {
+ //
+ // Fetch the next candidate so we don't cache miss next time around.
+ //
+ _mm_prefetch((const char *)&hashTableElementPool[nUsedHashTableElements], _MM_HINT_T2);
+ }
+
+ element->candidatesUsed = (_uint64)1 << lowOrderGenomeLocation;
+ element->candidatesScored = 0;
+ element->lowestPossibleScore = lowestPossibleScore;
+ element->direction = direction;
+ element->weight = 1;
+ element->baseGenomeLocation = highOrderGenomeLocation;
+ element->bestScore = UnusedScoreValue;
+ element->allExtantCandidatesScored = false;
+ element->matchProbabilityForBestScore = 0;
+
+ //
+ // And insert it at the end of weight list 1.
+ //
+ element->weightNext = &weightLists[1];
+ element->weightPrev = weightLists[1].weightPrev;
+ element->weightNext->weightPrev = element;
+ element->weightPrev->weightNext = element;
+
+ *candidate = &element->candidates[lowOrderGenomeLocation];
+ (*candidate)->seedOffset = seedOffset;
+ *hashTableElement = element;
+
+ highestUsedWeightList = __max(highestUsedWeightList,(unsigned)1);
+
+ if (anchor->epoch == hashTableEpoch) {
+ element->next = anchor->element;
+ } else {
+ anchor->epoch = hashTableEpoch;
+ element->next = NULL;
+ }
+ anchor->element = element;
+
+}
+
+BaseAligner::~BaseAligner()
+/*++
+
+Routine Description:
+
+Arguments:
+
+Return Value:
+
+--*/
+{
+ delete probDistance;
+
+ if (hadBigAllocator) {
+ //
+ // Since these got allocated with the alloator rather than new, we want to call
+ // their destructors without freeing their memory (which is the responsibility of
+ // the owner of the allocator).
+ //
+ if (ownLandauVishkin) {
+ if (NULL != landauVishkin) {
+ landauVishkin->~LandauVishkin();
+ }
+ if (NULL != reverseLandauVishkin) {
+ reverseLandauVishkin->~LandauVishkin();
+ }
+ }
+ } else {
+
+ if (ownLandauVishkin) {
+ if (NULL != landauVishkin) {
+ delete landauVishkin;
+ }
+
+ if (NULL != reverseLandauVishkin) {
+ delete reverseLandauVishkin;
+ }
+ }
+
+ BigDealloc(rcReadData);
+ rcReadData = NULL;
+
+ BigDealloc(reversedRead[FORWARD]);
+ reversedRead[FORWARD] = NULL;
+ reversedRead[RC] = NULL;
+
+ BigDealloc(seedUsedAsAllocated);
+ seedUsed = NULL;
+
+ BigDealloc(candidateHashTable[FORWARD]);
+ candidateHashTable[FORWARD] = NULL;
+
+ BigDealloc(candidateHashTable[RC]);
+ candidateHashTable[RC] = NULL;
+
+ BigDealloc(weightLists);
+ weightLists = NULL;
+
+ BigDealloc(hashTableElementPool);
+ hashTableElementPool = NULL;
+
+ if (NULL != hitsPerContigCounts) {
+ BigDealloc(hitsPerContigCounts);
+ hitsPerContigCounts = NULL;
+ }
+ }
+}
+
+BaseAligner::HashTableElement::HashTableElement()
+{
+ init();
+}
+
+ void
+BaseAligner::HashTableElement::init()
+{
+ weightNext = NULL;
+ weightPrev = NULL;
+ next = NULL;
+ candidatesUsed = 0;
+ baseGenomeLocation = 0;
+ weight = 0;
+ lowestPossibleScore = UnusedScoreValue;
+ bestScore = UnusedScoreValue;
+ direction = FORWARD;
+ allExtantCandidatesScored = false;
+ matchProbabilityForBestScore = 0;
+}
+
+ void
+BaseAligner::Candidate::init()
+{
+ score = UnusedScoreValue;
+}
+
+ void
+BaseAligner::clearCandidates() {
+ hashTableEpoch++;
+ nUsedHashTableElements = 0;
+ highestUsedWeightList = 0;
+ for (unsigned i = 1; i < numWeightLists; i++) {
+ weightLists[i].weightNext = weightLists[i].weightPrev = &weightLists[i];
+ }
+}
+
+ void
+BaseAligner::incrementWeight(HashTableElement *element)
+{
+ if (element->allExtantCandidatesScored) {
+ //
+ // It's already scored, so it shouldn't be on a weight list.
+ //
+ _ASSERT(element->weightNext == element);
+ _ASSERT(element->weightPrev == element);
+ return;
+ }
+ //
+ // It's possible to have elements with weight > maxSeedsToUse. This
+ // happens when a single seed occurs more than once within a particular
+ // element (imagine an element with bases ATATATATATATATAT..., it will
+ // match the appropriate seed at offset 0, 2, 4, etc.) If that happens,
+ // just don't let the weight get too big.
+ //
+ if (element->weight >= numWeightLists - 1) {
+ return;
+ }
+
+ //
+ // Remove it from its existing list.
+ //
+ element->weightNext->weightPrev = element->weightPrev;
+ element->weightPrev->weightNext = element->weightNext;
+
+ element->weight++;
+ highestUsedWeightList = __max(highestUsedWeightList,element->weight);
+
+ //
+ // And insert it at the tail of the new list.
+ //
+ element->weightNext = &weightLists[element->weight];
+ element->weightPrev = weightLists[element->weight].weightPrev;
+ element->weightNext->weightPrev = element;
+ element->weightPrev->weightNext = element;
+}
+
+ size_t
+BaseAligner::getBigAllocatorReservation(GenomeIndex *index, bool ownLandauVishkin, unsigned maxHitsToConsider, unsigned maxReadSize,
+ unsigned seedLen, unsigned numSeedsFromCommandLine, double seedCoverage, int maxSecondaryAlignmentsPerContig)
+{
+ unsigned maxSeedsToUse;
+ if (0 != numSeedsFromCommandLine) {
+ maxSeedsToUse = numSeedsFromCommandLine;
+ } else {
+ maxSeedsToUse = (unsigned)(maxReadSize * seedCoverage / seedLen);
+ }
+ size_t candidateHashTablesSize = (maxHitsToConsider * maxSeedsToUse * 3)/2; // *1.5 for hash table slack
+ size_t hashTableElementPoolSize = maxHitsToConsider * maxSeedsToUse * 2 ; // *2 for RC
+ size_t contigCounters;
+ if (maxSecondaryAlignmentsPerContig > 0) {
+ contigCounters = sizeof(HitsPerContigCounts)* index->getGenome()->getNumContigs();
+ } else {
+ contigCounters = 0;
+ }
+
+ return
+ contigCounters +
+ sizeof(_uint64) * 14 + // allow for alignment
+ sizeof(BaseAligner) + // our own member variables
+ (ownLandauVishkin ?
+ LandauVishkin<>::getBigAllocatorReservation() +
+ LandauVishkin<-1>::getBigAllocatorReservation() : 0) + // our LandauVishkin objects
+ sizeof(char) * maxReadSize * 2 + // rcReadData
+ sizeof(char) * maxReadSize * 4 + 2 * MAX_K + // reversed read (both)
+ sizeof(BYTE) * (maxReadSize + 7 + 128) / 8 + // seed used
+ sizeof(HashTableElement) * hashTableElementPoolSize + // hash table element pool
+ sizeof(HashTableAnchor) * candidateHashTablesSize * 2 + // candidate hash table (both)
+ sizeof(HashTableElement) * (maxSeedsToUse + 1); // weight lists
+}
+
+ void
+BaseAligner::finalizeSecondaryResults(
+ SingleAlignmentResult primaryResult,
+ int *nSecondaryResults, // in/out
+ SingleAlignmentResult *secondaryResults,
+ int maxSecondaryResults,
+ int maxEditDistanceForSecondaryResults,
+ int bestScore)
+{
+ //
+ // There's no guarantee that the results are actually within the bound; the aligner records anything that's
+ // within the bound when it's scored, but if we subsequently found a better fit, then it may no longer be
+ // close enough. Get rid of those now.
+ //
+ // NB: This code is very similar to code at the end of IntersectingPairedEndAligner::align(). Sorry.
+ //
+
+ int worstScoreToKeep = min((int)maxK, bestScore + maxEditDistanceForSecondaryResults);
+
+ int i = 0;
+ while (i < *nSecondaryResults) {
+ if (secondaryResults[i].score > worstScoreToKeep) {
+ //
+ // This one is too bad to keep. Move the last one from the array here and decrement the
+ // count. Don't move up i, because the one we just moved in may also be too
+ // bad.
+ //
+ secondaryResults[i] = secondaryResults[(*nSecondaryResults)-1];
+ (*nSecondaryResults)--;
+ } else {
+ i++;
+ }
+ }
+
+ if (maxSecondaryAlignmentsPerContig > 0 && primaryResult.status != NotFound) {
+ //
+ // Run through the results and count the number of results per contig, to see if any of them are too big.
+ //
+
+ bool anyContigHasTooManyResults = false;
+
+ int primaryResultContigNum = genome->getContigNumAtLocation(primaryResult.location);
+ hitsPerContigCounts[primaryResultContigNum].hits = 1;
+ hitsPerContigCounts[primaryResultContigNum].epoch = hashTableEpoch;
+
+ for (i = 0; i < *nSecondaryResults; i++) {
+ int contigNum = genome->getContigNumAtLocation(secondaryResults[i].location);
+ if (hitsPerContigCounts[contigNum].epoch != hashTableEpoch) {
+ hitsPerContigCounts[contigNum].epoch = hashTableEpoch;
+ hitsPerContigCounts[contigNum].hits = 0;
+ }
+
+ hitsPerContigCounts[contigNum].hits++;
+ if (hitsPerContigCounts[contigNum].hits > maxSecondaryAlignmentsPerContig) {
+ anyContigHasTooManyResults = true;
+ break;
+ }
+ }
+
+ if (anyContigHasTooManyResults) {
+ //
+ // Just sort them all, in order of contig then hit depth.
+ //
+ qsort(secondaryResults, *nSecondaryResults, sizeof(*secondaryResults), SingleAlignmentResult::compareByContigAndScore);
+
+ //
+ // Now run through and eliminate any contigs with too many hits. We can't use the same trick at the first loop above, because the
+ // counting here relies on the results being sorted. So, instead, we just copy them as we go.
+ //
+ int currentContigNum = -1;
+ int currentContigCount = 0;
+ int destResult = 0;
+
+ for (int sourceResult = 0; sourceResult < *nSecondaryResults; sourceResult++) {
+ int contigNum = genome->getContigNumAtLocation(secondaryResults[sourceResult].location);
+ if (contigNum != currentContigNum) {
+ currentContigNum = contigNum;
+ currentContigCount = (contigNum == primaryResultContigNum) ? 1 : 0;
+ }
+
+ currentContigCount++;
+
+ if (currentContigCount <= maxSecondaryAlignmentsPerContig) {
+ //
+ // Keep it. If we don't get here, then we don't copy the result and
+ // don't increment destResult. And yes, this will sometimes copy a
+ // result over itself. That's harmless.
+ //
+ secondaryResults[destResult] = secondaryResults[sourceResult];
+ destResult++;
+ }
+ } // for each source result
+ *nSecondaryResults = destResult;
+ }
+ } // if maxSecondaryAlignmentsPerContig > 0
+
+ if (*nSecondaryResults > maxSecondaryResults) {
+ qsort(secondaryResults, *nSecondaryResults, sizeof(*secondaryResults), SingleAlignmentResult::compareByScore);
+ *nSecondaryResults = maxSecondaryResults; // Just truncate it
+ }
+}
+
+ unsigned
+BaseAligner::getMaxSecondaryResults(unsigned maxSeedsToUse, double maxSeedCoverage, unsigned maxReadSize, unsigned maxHits, unsigned seedLength)
+{
+
+ if (0 != maxSeedsToUse) {
+ return maxHits * maxSeedsToUse * NUM_DIRECTIONS; // Can't have more alignments than total possible hits
+ } else {
+ return (unsigned)((maxSeedCoverage * maxReadSize + seedLength) / seedLength) * maxHits * NUM_DIRECTIONS;
+ }
+}
diff --git a/SNAPLib/BaseAligner.h b/SNAPLib/BaseAligner.h
new file mode 100644
index 0000000..61a24cb
--- /dev/null
+++ b/SNAPLib/BaseAligner.h
@@ -0,0 +1,341 @@
+/*++
+
+Module Name:
+
+ BaseAligner.h
+
+Abstract:
+
+ Header for SNAP genome aligner
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+ This class is NOT thread safe. It's the caller's responsibility to ensure that
+ at most one thread uses an instance at any time.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#pragma once
+
+#include "AlignmentResult.h"
+#include "LandauVishkin.h"
+#include "BigAlloc.h"
+#include "ProbabilityDistance.h"
+#include "AlignerStats.h"
+#include "directions.h"
+#include "GenomeIndex.h"
+
+extern bool doAlignerPrefetch;
+
+class BaseAligner {
+public:
+
+ BaseAligner(
+ GenomeIndex *i_genomeIndex,
+ unsigned i_maxHitsToConsider,
+ unsigned i_maxK,
+ unsigned i_maxReadSize,
+ unsigned i_maxSeedsToUse,
+ double i_maxSeedCoverage,
+ unsigned i_minWeightToCheck,
+ unsigned i_extraSearchDepth,
+ bool i_noUkkonen,
+ bool i_noOrderedEvaluation,
+ bool i_noTruncation,
+ int i_maxSecondaryAlignmentsPerContig,
+ LandauVishkin<1>*i_landauVishkin = NULL,
+ LandauVishkin<-1>*i_reverseLandauVishkin = NULL,
+ AlignerStats *i_stats = NULL,
+ BigAllocator *allocator = NULL);
+
+ static unsigned getMaxSecondaryResults(unsigned maxSeedsToUse, double maxSeedCoverage, unsigned maxReadSize, unsigned maxHits, unsigned seedLength);
+
+ virtual ~BaseAligner();
+
+ void
+ AlignRead(
+ Read *read,
+ SingleAlignmentResult *primaryResult,
+ int maxEditDistanceForSecondaryResults,
+ int secondaryResultBufferSize,
+ int *nSecondaryResults,
+ int maxSecondaryResults, // The most secondary results to return; always return the best ones
+ SingleAlignmentResult *secondaryResults // The caller passes in a buffer of secondaryResultBufferSize and it's filled in by AlignRead()
+ ); // Retun value is true if there was enough room in the secondary alignment buffer for everything that was found.
+
+
+ //
+ // Statistics gathering.
+ //
+
+ _int64 getNHashTableLookups() const {return nHashTableLookups;}
+ _int64 getLocationsScored() const {return nLocationsScored;}
+ _int64 getNHitsIgnoredBecauseOfTooHighPopularity() const {return nHitsIgnoredBecauseOfTooHighPopularity;}
+ _int64 getNReadsIgnoredBecauseOfTooManyNs() const {return nReadsIgnoredBecauseOfTooManyNs;}
+ _int64 getNIndelsMerged() const {return nIndelsMerged;}
+ void addIgnoredReads(_int64 newlyIgnoredReads) {nReadsIgnoredBecauseOfTooManyNs += newlyIgnoredReads;}
+
+ const char *getRCTranslationTable() const {return rcTranslationTable;}
+
+ inline int getMaxK() const {return maxK;}
+
+ inline void setMaxK(int maxK_) {maxK = maxK_;}
+
+ inline void setReadId(int readId_) {readId = readId_;}
+
+ const char *getName() const {return "Base Aligner";}
+
+ inline bool checkedAllSeeds() {return popularSeedsSkipped == 0;}
+
+ void *operator new(size_t size) {return BigAlloc(size);}
+ void operator delete(void *ptr) {BigDealloc(ptr);}
+
+ void *operator new(size_t size, BigAllocator *allocator) {_ASSERT(size == sizeof(BaseAligner)); return allocator->allocate(size);}
+ void operator delete(void *ptr, BigAllocator *allocator) {/* do nothing. Memory gets cleaned up when the allocator is deleted.*/}
+
+ inline bool getExplorePopularSeeds() {return explorePopularSeeds;}
+ inline void setExplorePopularSeeds(bool newValue) {explorePopularSeeds = newValue;}
+
+ inline bool getStopOnFirstHit() {return stopOnFirstHit;}
+ inline void setStopOnFirstHit(bool newValue) {stopOnFirstHit = newValue;}
+
+ static size_t getBigAllocatorReservation(GenomeIndex *index, bool ownLandauVishkin, unsigned maxHitsToConsider, unsigned maxReadSize, unsigned seedLen,
+ unsigned numSeedsFromCommandLine, double seedCoverage, int maxSecondaryAlignmentsPerContig);
+
+private:
+
+ bool hadBigAllocator;
+
+ LandauVishkin<> *landauVishkin;
+ LandauVishkin<-1> *reverseLandauVishkin;
+ bool ownLandauVishkin;
+
+ ProbabilityDistance *probDistance;
+
+ // Maximum distance to merge candidates that differ in indels over.
+#ifdef LONG_READS
+ static const unsigned maxMergeDist = 64; // Must be even and <= 64
+#else
+ static const unsigned maxMergeDist = 48; // Must be even and <= 64
+#endif
+ char rcTranslationTable[256];
+
+ _int64 nHashTableLookups;
+ _int64 nLocationsScored;
+ _int64 nHitsIgnoredBecauseOfTooHighPopularity;
+ _int64 nReadsIgnoredBecauseOfTooManyNs;
+ _int64 nIndelsMerged;
+
+ //
+ // A bitvector indexed by offset in the read indicating whether this seed is used.
+ // This is here to avoid doing a memory allocation in the aligner.
+ //
+ BYTE *seedUsed;
+ BYTE *seedUsedAsAllocated; // Use this for deleting seedUsed.
+
+ inline bool IsSeedUsed(unsigned indexInRead) const {
+ return (seedUsed[indexInRead / 8] & (1 << (indexInRead % 8))) != 0;
+ }
+
+ inline void SetSeedUsed(unsigned indexInRead) {
+ seedUsed[indexInRead / 8] |= (1 << (indexInRead % 8));
+ }
+
+ struct Candidate {
+ Candidate() {init();}
+ void init();
+
+ unsigned score;
+ int seedOffset;
+ };
+
+ static const unsigned hashTableElementSize = maxMergeDist; // The code depends on this, don't change it
+
+ void decomposeGenomeLocation(GenomeLocation genomeLocation, _uint64 *highOrder, _uint64 *lowOrder)
+ {
+ *lowOrder = (_uint64)GenomeLocationAsInt64(genomeLocation) % hashTableElementSize;
+ if (NULL != highOrder) {
+ *highOrder = (_uint64)GenomeLocationAsInt64(genomeLocation) - *lowOrder;
+ }
+ }
+
+ struct HashTableElement {
+ HashTableElement();
+ void init();
+
+ //
+ // Doubly linked list for the weight buckets.
+ //
+ HashTableElement *weightNext;
+ HashTableElement *weightPrev;
+
+ //
+ // Singly linked list for the hash table buckets.
+ //
+ HashTableElement *next;
+
+ _uint64 candidatesUsed; // Really candidates we still need to score
+ _uint64 candidatesScored;
+
+ GenomeLocation baseGenomeLocation;
+ unsigned weight;
+ unsigned lowestPossibleScore;
+ unsigned bestScore;
+ GenomeLocation bestScoreGenomeLocation;
+ Direction direction;
+ bool allExtantCandidatesScored;
+ double matchProbabilityForBestScore;
+
+ Candidate candidates[hashTableElementSize];
+ };
+
+ //
+ // Clearing out all of the pointers in the hash tables is expensive relative to running
+ // an alignment, because usually the table is much bigger than the number of entries in it.
+ // So, we avoid that expense by simply not clearing out the table at all. Instead, along with
+ // the pointers we keep an epoch number. There's a corresponding epoch number in the
+ // BaseAligner object, and if the two differ then the hash table bucket is empty. We increment
+ // the epoch number in the BaseAligner at the beginning of each alignment, thus effectively
+ // clearing the hash table from the last run.
+ //
+ struct HashTableAnchor {
+ HashTableElement *element;
+ _int64 epoch;
+ };
+
+ _int64 hashTableEpoch;
+
+ unsigned nUsedHashTableElements;
+ unsigned hashTableElementPoolSize;
+ HashTableElement *hashTableElementPool;
+
+ const HashTableElement emptyHashTableElement;
+
+ unsigned candidateHashTablesSize;
+ HashTableAnchor *candidateHashTable[NUM_DIRECTIONS];
+
+ HashTableElement *weightLists;
+ unsigned highestUsedWeightList;
+
+ static inline _uint64 hash(_uint64 key) {
+ key = key * 131; // Believe it or not, we spend a long time computing the hash, so we're better off with more table entries and a dopey function.
+ return key;
+ }
+
+ static const unsigned UnusedScoreValue = 0xffff;
+
+ // MAPQ parameters, currently not set to match Mason. Using #define because VC won't allow "static const double".
+#define SNP_PROB 0.001
+#define GAP_OPEN_PROB 0.001
+#define GAP_EXTEND_PROB 0.5
+
+ //
+ // Storage that's used during a call to AlignRead, but that's also needed by the
+ // score function. Since BaseAligner is single threaded, it's easier just to make
+ // them member variables than to pass them around.
+ //
+ unsigned lowestPossibleScoreOfAnyUnseenLocation[NUM_DIRECTIONS];
+ unsigned mostSeedsContainingAnyParticularBase[NUM_DIRECTIONS];
+ unsigned nSeedsApplied[NUM_DIRECTIONS];
+ unsigned bestScore;
+ GenomeLocation bestScoreGenomeLocation;
+ unsigned secondBestScore;
+ GenomeLocation secondBestScoreGenomeLocation;
+ int secondBestScoreDirection;
+ unsigned scoreLimit;
+ unsigned lvScores;
+ unsigned lvScoresAfterBestFound;
+ double probabilityOfAllCandidates;
+ double probabilityOfBestCandidate;
+ int firstPassSeedsNotSkipped[NUM_DIRECTIONS];
+ _int64 smallestSkippedSeed[NUM_DIRECTIONS];
+ unsigned highestWeightListChecked;
+
+ double totalProbabilityByDepth[AlignerStats::maxMaxHits];
+ void updateProbabilityMass();
+
+ bool
+ score(
+ bool forceResult,
+ Read *read[NUM_DIRECTIONS],
+ SingleAlignmentResult *primaryResult,
+ int maxEditDistanceForSecondaryResults,
+ int secondaryResultBufferSize,
+ int *nSecondaryResults,
+ SingleAlignmentResult *secondaryResults);
+
+ void clearCandidates();
+
+ bool findElement(GenomeLocation genomeLocation, Direction direction, HashTableElement **hashTableElement);
+ void findCandidate(GenomeLocation genomeLocation, Direction direction, Candidate **candidate, HashTableElement **hashTableElement);
+ void allocateNewCandidate(GenomeLocation genomeLoation, Direction direction, unsigned lowestPossibleScore, int seedOffset, Candidate **candidate, HashTableElement **hashTableElement);
+ void incrementWeight(HashTableElement *element);
+ void prefetchHashTableBucket(GenomeLocation genomeLocation, Direction direction);
+
+ const Genome *genome;
+ GenomeIndex *genomeIndex;
+ unsigned seedLen;
+ unsigned maxHitsToConsider;
+ unsigned maxK;
+ unsigned maxReadSize;
+ unsigned maxSeedsToUseFromCommandLine; // Max number of seeds to look up in the hash table
+ double maxSeedCoverage; // Max seeds to used expressed as readSize/seedSize this is mutually exclusive with maxSeedsToUseFromCommandLine
+ unsigned minWeightToCheck;
+ unsigned extraSearchDepth;
+ unsigned numWeightLists;
+ bool noUkkonen;
+ bool noOrderedEvaluation;
+ bool noTruncation;
+ bool doesGenomeIndexHave64BitLocations;
+ int maxSecondaryAlignmentsPerContig;
+
+ struct HitsPerContigCounts {
+ _int64 epoch; // Used hashTableEpoch, for the same reason
+ int hits;
+ };
+
+ HitsPerContigCounts *hitsPerContigCounts; // How many alignments are we reporting for each contig. Used to implement -mpc, otheriwse unallocated.
+
+ char *rcReadData;
+ char *rcReadQuality;
+ char *reversedRead[NUM_DIRECTIONS];
+
+ unsigned nTable[256];
+
+ int readId;
+
+ // How many overly popular (> maxHits) seeds we skipped this run
+ unsigned popularSeedsSkipped;
+
+ bool explorePopularSeeds; // Whether we should explore the first maxHits hits even for overly
+ // popular seeds (useful for filtering reads that come from a database
+ // with many very similar sequences).
+
+ bool stopOnFirstHit; // Whether to stop the first time a location matches with less than
+ // maxK edit distance (useful when using SNAP for filtering only).
+
+ AlignerStats *stats;
+
+ unsigned *hitCountByExtraSearchDepth; // How many hits at each depth bigger than the current best edit distance.
+ // So if the current best hit has edit distance 2, then hitCountByExtraSearchDepth[0] would
+ // be the count of hits at edit distance 2, while hitCountByExtraSearchDepth[2] would be the count
+ // of hits at edit distance 4.
+
+ void finalizeSecondaryResults(
+ SingleAlignmentResult primaryResult,
+ int *nSecondaryResults, // in/out
+ SingleAlignmentResult *secondaryResults,
+ int maxSecondaryResults,
+ int maxEditDistanceForSecondaryResults,
+ int bestScore);
+};
diff --git a/SNAPLib/BiasTables.cpp b/SNAPLib/BiasTables.cpp
new file mode 100644
index 0000000..c68b9fb
--- /dev/null
+++ b/SNAPLib/BiasTables.cpp
@@ -0,0 +1,78991 @@
+/*++
+
+Module Name:
+
+ BiasTables.cpp
+
+Abstract:
+
+ Headers for the index builder for the SNAP sequencer
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#include "stdafx.h"
+#include "GenomeIndex.h"
+
+static double hg19_biasTable16_4_large[] = {
+0.254
+};
+
+static double hg19_biasTable17_4_large[] = {
+0.865,0.479,0.287,0.142
+};
+
+static double hg19_biasTable18_4_large[] = {
+1.651,1.163,0.790,1.059,0.782,0.624,0.464,0.514,0.628,0.079,
+0.360,0.419,0.337,0.249,0.129,0.079
+};
+
+
+static double hg19_biasTable19_4_large[] = {
+2.965,1.703,1.192,1.948,1.701,1.301,1.013,1.179,1.427,0.184,
+0.779,1.106,1.361,1.205,0.831,1.467,1.226,0.947,0.563,0.741,
+0.859,0.721,0.579,0.576,0.735,0.109,0.533,0.649,0.554,0.655,
+0.424,0.632,0.793,0.788,0.536,0.686,0.076,0.090,0.070,0.088,
+0.596,0.078,0.392,0.511,0.419,0.536,0.396,0.523,0.564,0.318,
+0.262,0.430,0.371,0.286,0.207,0.273,0.247,0.021,0.144,0.190,
+0.170,0.102,0.073,0.052
+};
+
+static double hg19_biasTable20_4_large[] = {
+4.920,2.660,1.990,3.590,2.420,1.690,1.330,1.750,2.110,0.228,
+1.050,1.630,2.550,2.060,1.320,2.460,2.630,1.860,1.150,1.590,
+1.770,1.330,1.160,1.190,1.580,0.193,1.130,1.340,1.210,1.340,
+0.934,1.440,1.690,1.570,1.150,1.620,0.173,0.185,0.149,0.239,
+1.180,0.152,0.816,1.090,0.971,1.290,0.937,1.420,1.980,1.070,
+0.950,1.870,1.500,1.170,0.940,1.450,1.240,0.123,0.829,1.280,
+1.540,1.110,1.220,2.460,1.980,1.280,0.740,1.190,1.320,1.100,
+0.744,0.808,0.940,0.129,0.523,0.742,0.799,0.887,0.500,0.910,
+1.270,1.060,0.554,0.717,0.972,0.773,0.642,0.630,0.867,0.157,
+0.627,0.784,0.559,0.748,0.457,0.650,0.813,0.930,0.550,0.725,
+0.092,0.139,0.102,0.103,0.776,0.130,0.557,0.726,0.519,0.853,
+0.560,0.750,0.746,0.513,0.370,0.662,0.768,0.720,0.490,0.713,
+0.625,0.065,0.421,0.637,0.599,0.563,0.516,0.987,1.300,0.779,
+0.539,0.769,1.030,0.845,0.705,0.740,0.927,0.137,0.526,0.690,
+0.706,0.712,0.559,0.931,0.089,0.100,0.052,0.069,0.087,0.118,
+0.092,0.071,0.084,0.032,0.088,0.085,0.074,0.123,0.070,0.095,
+0.659,0.711,0.516,0.592,0.072,0.087,0.077,0.080,0.632,0.094,
+0.398,0.516,0.411,0.606,0.505,0.600,0.552,0.376,0.334,0.498,
+0.631,0.562,0.471,0.590,0.581,0.063,0.447,0.602,0.484,0.452,
+0.514,0.780,0.998,0.452,0.346,0.651,0.453,0.292,0.250,0.326,
+0.469,0.046,0.231,0.365,0.558,0.387,0.296,0.637,0.556,0.394,
+0.252,0.352,0.371,0.314,0.237,0.262,0.315,0.031,0.221,0.301,
+0.295,0.308,0.208,0.341,0.305,0.266,0.191,0.274,0.022,0.021,
+0.016,0.025,0.225,0.020,0.150,0.212,0.194,0.209,0.173,0.242,
+0.284,0.138,0.120,0.213,0.144,0.103,0.080,0.115,0.131,8.64e-3,
+0.078,0.109,0.108,0.060,0.044,0.032
+};
+
+static double hg19_biasTable21_4_large[] = {
+8.140,3.930,3.150,5.960,3.900,2.420,2.020,2.680,3.590,0.364,
+1.660,2.610,4.940,3.720,2.260,4.110,3.870,2.360,1.610,2.200,
+2.440,1.590,1.400,1.500,2.200,0.216,1.370,1.650,1.900,1.850,
+1.370,2.060,2.780,2.020,1.560,2.360,0.242,0.199,0.168,0.310,
+1.670,0.168,1.050,1.410,1.530,1.770,1.370,2.020,3.890,1.810,
+1.660,3.340,2.660,1.800,1.530,2.470,2.050,0.182,1.260,1.920,
+2.800,1.770,1.940,3.740,4.430,2.480,1.520,2.480,2.760,1.940,
+1.390,1.560,2.010,0.254,1.000,1.440,1.790,1.850,1.020,1.850,
+2.720,2.000,1.110,1.450,1.860,1.300,1.150,1.140,1.820,0.268,
+1.170,1.510,1.200,1.460,0.923,1.280,1.870,1.860,1.180,1.530,
+0.200,0.212,0.170,0.199,1.740,0.241,1.150,1.490,1.130,1.700,
+1.190,1.460,1.670,1.120,0.779,1.370,1.710,1.410,0.996,1.390,
+1.430,0.134,0.907,1.340,1.370,1.200,1.180,2.160,2.860,1.380,
+1.090,1.680,2.170,1.470,1.300,1.510,2.170,0.273,0.928,1.350,
+1.790,1.570,1.130,2.180,0.220,0.189,0.117,0.174,0.208,0.204,
+0.164,0.173,0.202,0.048,0.167,0.186,0.219,0.321,0.167,0.264,
+1.320,1.200,1.080,1.240,0.146,0.132,0.163,0.184,1.250,0.175,
+0.856,1.040,0.902,1.250,1.060,1.220,1.240,0.789,0.748,1.200,
+1.530,1.210,1.100,1.440,1.350,0.151,0.972,1.350,1.290,1.210,
+1.280,2.060,3.430,1.370,1.120,2.350,1.490,0.894,0.849,1.150,
+1.730,0.175,0.766,1.240,2.410,1.580,1.160,2.700,2.210,1.460,
+1.020,1.480,1.510,1.150,0.985,1.130,1.430,0.140,0.952,1.320,
+1.550,1.570,1.070,1.810,1.410,1.220,1.050,1.420,0.128,0.106,
+0.115,0.154,1.200,0.119,0.859,1.190,1.110,1.360,1.200,1.590,
+2.100,1.140,1.050,2.100,1.290,0.936,0.919,1.380,1.760,0.142,
+1.190,1.910,2.470,1.930,2.050,3.910,3.010,1.830,1.270,2.100,
+1.740,1.360,1.010,1.150,1.230,0.149,0.643,0.992,1.340,1.300,
+0.812,1.440,1.910,1.480,0.923,1.150,1.410,1.160,1.030,0.929,
+1.060,0.163,0.861,0.984,0.734,0.950,0.679,0.976,1.020,1.090,
+0.754,0.967,0.118,0.152,0.111,0.141,0.726,0.102,0.580,0.712,
+0.592,0.842,0.654,0.938,1.090,0.631,0.561,0.974,1.080,0.958,
+0.669,0.898,0.728,0.083,0.503,0.731,0.885,0.685,0.752,1.440,
+1.930,1.470,0.720,1.100,1.390,1.350,0.800,0.811,0.908,0.142,
+0.498,0.705,0.712,0.891,0.481,0.858,1.330,1.260,0.641,0.754,
+1.030,0.716,0.739,0.684,0.926,0.208,0.672,0.849,0.539,0.862,
+0.529,0.679,0.872,1.190,0.652,0.791,0.122,0.229,0.145,0.131,
+0.887,0.190,0.644,0.823,0.532,1.110,0.691,0.855,0.704,0.566,
+0.377,0.600,0.844,0.954,0.548,0.674,0.672,0.082,0.448,0.657,
+0.571,0.615,0.518,0.963,1.230,0.807,0.520,0.769,1.120,1.020,
+0.836,0.787,0.902,0.151,0.527,0.686,0.676,0.789,0.577,0.952,
+0.090,0.133,0.066,0.084,0.116,0.200,0.148,0.096,0.105,0.066,
+0.137,0.112,0.070,0.172,0.088,0.100,0.778,0.917,0.716,0.736,
+0.113,0.156,0.136,0.110,0.790,0.159,0.600,0.705,0.484,0.927,
+0.753,0.789,0.637,0.446,0.421,0.611,0.877,0.953,0.765,0.839,
+0.746,0.094,0.619,0.809,0.592,0.635,0.740,1.090,1.130,0.637,
+0.478,0.812,0.683,0.501,0.410,0.501,0.627,0.065,0.330,0.497,
+0.750,0.601,0.456,0.946,0.980,0.858,0.563,0.746,0.787,0.845,
+0.625,0.684,0.659,0.100,0.539,0.714,0.611,0.955,0.561,0.850,
+0.623,0.668,0.543,0.686,0.057,0.074,0.056,0.070,0.541,0.067,
+0.465,0.612,0.471,0.676,0.630,0.802,0.779,0.475,0.438,0.720,
+0.630,0.569,0.441,0.635,0.699,0.065,0.523,0.827,0.876,0.836,
+0.868,1.510,1.910,1.220,0.849,1.420,1.010,0.821,0.569,0.772,
+0.922,0.101,0.493,0.699,0.909,0.802,0.504,0.938,1.450,1.230,
+0.652,0.894,1.090,0.918,0.755,0.727,1.040,0.147,0.832,0.883,
+0.688,0.951,0.554,0.835,0.916,1.080,0.799,0.959,0.115,0.146,
+0.117,0.170,0.764,0.126,0.552,0.685,0.522,0.905,0.572,0.842,
+0.894,0.590,0.482,0.919,0.801,0.740,0.555,0.818,0.787,0.088,
+0.558,0.847,0.827,0.686,0.766,1.570,0.115,0.102,0.058,0.086,
+0.116,0.137,0.076,0.080,0.076,0.019,0.056,0.065,0.063,0.088,
+0.049,0.081,0.104,0.127,0.057,0.066,0.130,0.163,0.109,0.085,
+0.101,0.047,0.129,0.102,0.057,0.107,0.057,0.070,0.068,0.118,
+0.075,0.073,0.019,0.045,0.043,0.021,0.094,0.039,0.110,0.103,
+0.052,0.122,0.081,0.091,0.089,0.069,0.048,0.091,0.120,0.153,
+0.099,0.125,0.085,0.017,0.077,0.107,0.078,0.083,0.080,0.146,
+1.010,0.704,0.456,0.547,0.810,0.827,0.686,0.594,0.779,0.142,
+0.588,0.629,0.522,0.643,0.533,0.741,0.079,0.110,0.052,0.054,
+0.076,0.119,0.103,0.056,0.089,0.040,0.108,0.080,0.061,0.119,
+0.073,0.075,0.651,0.837,0.549,0.553,0.082,0.121,0.097,0.082,
+0.679,0.116,0.355,0.486,0.369,0.645,0.517,0.571,0.524,0.403,
+0.333,0.433,0.643,0.717,0.552,0.599,0.687,0.094,0.632,0.704,
+0.476,0.548,0.611,0.830,0.844,0.488,0.345,0.604,0.521,0.373,
+0.284,0.355,0.524,0.058,0.324,0.473,0.556,0.463,0.339,0.699,
+0.866,0.722,0.424,0.564,0.686,0.673,0.490,0.455,0.645,0.082,
+0.541,0.645,0.555,0.707,0.477,0.673,0.625,0.663,0.459,0.607,
+0.059,0.075,0.052,0.064,0.611,0.073,0.495,0.615,0.477,0.695,
+0.557,0.715,0.644,0.407,0.358,0.564,0.521,0.472,0.369,0.483,
+0.678,0.063,0.602,0.771,0.726,0.688,0.714,1.120,1.720,0.744,
+0.560,1.190,0.632,0.387,0.323,0.501,0.601,0.055,0.276,0.492,
+0.847,0.565,0.391,0.904,0.741,0.417,0.268,0.443,0.417,0.262,
+0.224,0.301,0.407,0.033,0.230,0.348,0.370,0.312,0.228,0.428,
+0.567,0.443,0.312,0.584,0.046,0.039,0.029,0.069,0.360,0.032,
+0.206,0.345,0.350,0.367,0.269,0.505,0.765,0.380,0.358,0.813,
+0.468,0.315,0.281,0.524,0.443,0.034,0.267,0.474,0.652,0.423,
+0.455,1.130,0.888,0.519,0.324,0.572,0.556,0.430,0.297,0.361,
+0.420,0.044,0.232,0.356,0.394,0.385,0.229,0.463,0.575,0.421,
+0.214,0.327,0.448,0.359,0.239,0.279,0.363,0.040,0.248,0.338,
+0.272,0.303,0.183,0.314,0.371,0.358,0.219,0.347,0.030,0.037,
+0.026,0.037,0.329,0.036,0.216,0.328,0.267,0.356,0.235,0.389,
+0.409,0.246,0.195,0.383,0.365,0.310,0.225,0.391,0.310,0.026,
+0.200,0.336,0.332,0.292,0.266,0.550,0.490,0.260,0.196,0.298,
+0.347,0.245,0.211,0.278,0.316,0.036,0.175,0.262,0.274,0.243,
+0.212,0.385,0.028,0.023,0.014,0.022,0.022,0.026,0.018,0.021,
+0.020,3.59e-3,0.018,0.024,0.022,0.027,0.018,0.030,0.259,0.244,
+0.161,0.240,0.019,0.019,0.016,0.027,0.239,0.024,0.151,0.211,
+0.179,0.218,0.191,0.270,0.256,0.166,0.146,0.227,0.250,0.191,
+0.165,0.253,0.255,0.020,0.177,0.277,0.226,0.184,0.220,0.363,
+0.524,0.202,0.156,0.307,0.196,0.120,0.102,0.145,0.206,0.018,
+0.099,0.172,0.259,0.165,0.138,0.328,0.226,0.130,0.084,0.137,
+0.136,0.101,0.077,0.102,0.118,8.24e-3,0.078,0.122,0.125,0.108,
+0.082,0.161,0.173,0.131,0.089,0.153,9.87e-3,8.09e-3,5.22e-3,0.012,
+0.125,8.63e-3,0.076,0.120,0.117,0.110,0.091,0.145,0.194,0.078,
+0.070,0.136,0.084,0.057,0.044,0.070,0.078,3.97e-3,0.045,0.068,
+0.069,0.031,0.026,0.019
+};
+
+static double hg19_biasTable22_4_large[] = {
+15.4,5.960,4.400,9.020,6.010,3.350,2.840,3.940,5.930,0.553,
+2.530,3.940,8.530,5.870,3.620,6.610,6.670,3.510,2.450,3.410,
+3.650,2.210,1.940,2.040,3.540,0.290,1.940,2.440,3.070,2.670,
+2.020,3.140,5.090,3.240,2.580,3.840,0.400,0.317,0.256,0.493,
+2.760,0.257,1.590,2.140,2.620,2.850,2.090,3.060,7.650,3.180,
+3.170,6.440,4.700,3.100,2.760,4.620,3.630,0.295,2.050,3.230,
+5.140,2.990,3.110,5.640,7.070,3.300,2.100,3.450,3.580,2.340,
+1.660,1.990,2.930,0.311,1.320,1.960,2.600,2.460,1.400,2.480,
+4.050,2.520,1.450,1.940,2.340,1.550,1.270,1.290,2.360,0.253,
+1.340,1.750,1.600,1.680,1.180,1.590,2.850,2.460,1.530,2.100,
+0.253,0.225,0.170,0.228,2.290,0.242,1.320,1.720,1.480,2.020,
+1.360,1.820,2.660,1.670,1.230,2.150,2.430,1.810,1.360,1.910,
+2.230,0.180,1.270,1.880,2.130,1.710,1.610,2.920,4.980,2.040,
+1.810,2.600,2.940,1.730,1.630,1.910,2.780,0.330,1.230,1.990,
+2.560,2.160,1.650,3.220,0.342,0.242,0.155,0.234,0.246,0.211,
+0.163,0.182,0.238,0.044,0.165,0.228,0.297,0.377,0.215,0.358,
+2.030,1.610,1.450,1.680,0.188,0.149,0.144,0.196,1.680,0.194,
+1.050,1.330,1.260,1.530,1.360,1.560,1.990,1.210,1.160,1.850,
+2.230,1.620,1.390,1.920,2.020,0.196,1.380,1.990,1.820,1.700,
+1.780,2.910,6.960,2.500,2.090,4.520,2.560,1.430,1.450,1.890,
+3.030,0.286,1.280,2.150,4.050,2.630,2.080,4.950,4.100,2.480,
+1.750,2.500,2.460,1.700,1.490,1.680,2.400,0.190,1.470,2.150,
+2.660,2.430,1.830,3.120,2.480,1.950,1.630,2.270,0.202,0.154,
+0.164,0.218,1.900,0.155,1.280,1.780,1.790,1.960,1.710,2.310,
+3.880,2.030,1.860,3.740,2.090,1.460,1.420,2.210,2.880,0.201,
+1.830,2.990,3.880,2.830,2.930,5.760,7.000,3.980,2.700,4.520,
+3.410,2.490,1.930,2.240,2.580,0.287,1.260,2.040,2.830,2.600,
+1.680,2.970,4.000,3.170,1.790,2.310,2.570,1.940,1.710,1.650,
+2.060,0.264,1.450,1.850,1.470,1.710,1.250,1.890,2.240,2.350,
+1.610,2.010,0.243,0.314,0.205,0.276,1.490,0.181,1.110,1.310,
+1.190,1.670,1.230,1.760,2.490,1.370,1.280,2.140,2.330,1.950,
+1.380,1.860,1.560,0.173,0.964,1.470,1.790,1.360,1.490,2.890,
+4.230,3.120,1.470,2.270,2.700,2.460,1.480,1.530,1.880,0.257,
+0.959,1.400,1.450,1.760,0.983,1.710,2.600,2.360,1.190,1.390,
+1.800,1.100,1.240,1.110,1.690,0.269,1.180,1.520,0.991,1.440,
+0.983,1.230,1.890,2.540,1.360,1.660,0.224,0.379,0.240,0.262,
+1.730,0.327,1.210,1.500,1.040,2.290,1.250,1.570,1.570,1.210,
+0.809,1.290,1.750,1.780,1.080,1.340,1.490,0.163,0.847,1.260,
+1.170,1.240,0.990,1.850,2.770,1.820,1.200,1.770,2.270,1.930,
+1.730,1.580,1.850,0.269,1.110,1.540,1.380,1.540,1.280,1.990,
+0.196,0.284,0.134,0.181,0.187,0.284,0.220,0.157,0.186,0.077,
+0.208,0.212,0.139,0.281,0.173,0.207,1.740,2.040,1.760,1.600,
+0.231,0.307,0.236,0.205,1.630,0.269,1.280,1.480,0.997,1.900,
+1.610,1.550,1.380,0.972,0.958,1.300,1.790,1.960,1.490,1.660,
+1.580,0.182,1.340,1.740,1.130,1.240,1.490,2.060,2.560,1.380,
+1.070,1.770,1.520,1.040,0.935,1.070,1.300,0.125,0.675,1.060,
+1.520,1.160,0.944,1.950,2.180,1.900,1.230,1.600,1.560,1.550,
+1.230,1.320,1.330,0.157,1.060,1.510,1.180,1.580,1.120,1.750,
+1.470,1.500,1.260,1.550,0.127,0.154,0.110,0.147,1.210,0.133,
+0.986,1.310,1.040,1.420,1.300,1.650,1.810,1.050,1.040,1.640,
+1.380,1.190,0.925,1.370,1.620,0.146,1.170,1.870,1.940,1.820,
+1.930,3.170,4.500,2.430,1.850,2.970,1.810,1.380,1.030,1.350,
+1.910,0.199,0.915,1.380,2.000,1.760,1.040,2.030,3.100,2.420,
+1.420,1.920,1.830,1.480,1.350,1.310,2.050,0.252,1.350,1.610,
+1.490,1.860,1.080,1.670,2.100,2.280,2.360,2.210,0.231,0.283,
+0.241,0.346,1.400,0.187,0.961,1.210,1.070,1.730,1.060,1.620,
+2.210,1.370,1.360,2.380,1.760,1.590,1.260,1.790,1.650,0.174,
+1.080,1.690,1.910,1.520,1.650,3.770,0.293,0.242,0.137,0.215,
+0.229,0.245,0.137,0.153,0.179,0.038,0.108,0.142,0.159,0.222,
+0.127,0.193,0.257,0.287,0.138,0.163,0.228,0.269,0.174,0.148,
+0.223,0.064,0.183,0.190,0.145,0.258,0.127,0.167,0.172,0.263,
+0.189,0.186,0.031,0.066,0.056,0.039,0.201,0.057,0.202,0.203,
+0.126,0.275,0.155,0.186,0.260,0.191,0.150,0.277,0.320,0.380,
+0.259,0.334,0.219,0.036,0.176,0.241,0.226,0.232,0.209,0.395,
+1.980,1.300,0.925,1.130,1.390,1.280,1.120,1.010,1.700,0.323,
+1.100,1.270,1.150,1.370,1.060,1.460,0.169,0.206,0.099,0.112,
+0.126,0.177,0.134,0.092,0.224,0.123,0.168,0.150,0.147,0.297,
+0.140,0.153,1.260,1.660,1.110,1.060,0.150,0.238,0.177,0.146,
+1.390,0.240,0.840,1.010,0.772,1.350,1.030,1.060,1.120,0.843,
+0.767,0.942,1.270,1.450,1.130,1.230,1.440,0.213,1.260,1.440,
+0.980,1.200,1.180,1.590,1.930,1.020,0.752,1.350,1.130,0.748,
+0.586,0.719,1.270,0.132,0.639,1.010,1.380,1.100,0.760,1.610,
+2.150,1.690,1.000,1.360,1.490,1.410,0.999,0.984,1.700,0.228,
+1.110,1.450,1.430,1.750,1.080,1.560,1.460,1.550,1.120,1.370,
+0.147,0.194,0.123,0.146,1.450,0.177,1.010,1.340,1.090,1.620,
+1.180,1.590,1.750,1.060,1.030,1.400,1.410,1.270,0.965,1.240,
+1.740,0.174,1.390,1.910,1.920,1.820,1.730,2.900,5.500,2.490,
+1.940,4.200,1.910,1.190,1.050,1.400,1.940,0.181,0.884,1.540,
+3.090,1.980,1.390,3.180,2.320,1.300,0.907,1.550,1.240,0.756,
+0.717,0.907,1.420,0.116,0.755,1.170,1.330,1.070,0.787,1.470,
+2.050,1.540,1.270,2.210,0.175,0.149,0.116,0.261,1.230,0.110,
+0.674,1.110,1.210,1.250,0.868,1.690,3.010,1.440,1.590,3.940,
+1.830,1.250,1.200,2.140,1.710,0.134,1.070,1.800,2.630,1.700,
+1.870,4.840,3.370,1.980,1.270,2.350,2.040,1.510,1.070,1.330,
+1.690,0.178,0.870,1.410,1.610,1.590,0.987,1.850,2.260,1.630,
+0.880,1.400,1.540,1.270,0.872,0.997,1.520,0.196,0.940,1.380,
+1.190,1.410,0.767,1.300,1.650,1.510,0.994,1.590,0.128,0.151,
+0.111,0.167,1.420,0.150,0.918,1.350,1.170,1.570,0.995,1.600,
+2.040,1.160,1.010,2.060,1.790,1.510,1.170,1.890,1.570,0.129,
+1.020,1.630,1.730,1.500,1.380,2.770,2.100,1.230,0.931,1.480,
+1.590,1.070,0.984,1.270,1.670,0.217,0.990,1.420,1.400,1.300,
+1.180,1.950,0.153,0.139,0.083,0.139,0.110,0.119,0.094,0.102,
+0.143,0.033,0.122,0.179,0.141,0.189,0.118,0.180,1.300,1.290,
+0.936,1.320,0.111,0.114,0.109,0.144,1.360,0.152,0.859,1.160,
+0.985,1.300,1.130,1.440,1.340,0.906,0.861,1.400,1.500,1.230,
+1.130,1.640,1.720,0.167,1.200,1.840,1.400,1.320,1.450,2.360,
+3.490,1.510,1.250,2.410,1.540,0.990,0.963,1.170,1.830,0.159,
+0.870,1.480,2.380,1.580,1.370,3.310,1.840,1.220,0.830,1.400,
+1.170,0.860,0.792,0.976,1.320,0.108,0.882,1.460,1.450,1.360,
+1.000,1.880,2.010,1.720,1.280,2.120,0.154,0.132,0.099,0.180,
+1.790,0.143,1.130,1.770,1.760,1.950,1.630,2.400,3.330,1.650,
+1.630,3.450,2.180,1.750,1.490,2.340,2.810,0.173,2.000,3.340,
+4.360,2.900,3.160,5.700,4.380,2.660,2.060,3.370,2.730,1.810,
+1.340,1.610,2.160,0.254,1.100,1.670,2.670,2.290,1.350,2.270,
+2.620,1.900,1.170,1.440,1.940,1.420,1.110,1.070,1.540,0.185,
+1.110,1.270,1.120,1.290,0.975,1.320,1.450,1.300,0.959,1.280,
+0.153,0.144,0.122,0.182,1.000,0.126,0.690,0.802,0.857,1.120,
+0.904,1.180,1.900,1.040,0.852,1.680,1.700,1.240,0.934,1.380,
+1.220,0.135,0.788,1.160,1.470,1.100,1.190,2.110,3.050,2.010,
+1.100,1.630,2.330,1.700,0.998,1.060,1.560,0.255,0.887,1.130,
+1.180,1.480,0.769,1.300,2.050,1.760,0.875,1.080,1.580,1.260,
+0.936,0.913,1.450,0.283,1.120,1.360,0.819,1.250,0.756,0.991,
+1.170,1.400,0.782,0.894,0.172,0.195,0.153,0.133,1.360,0.242,
+0.921,0.991,0.741,1.370,0.903,0.968,0.961,0.764,0.473,0.748,
+1.200,1.050,0.708,0.869,0.999,0.115,0.688,0.935,0.846,0.888,
+0.855,1.390,1.600,0.982,0.653,0.963,1.550,1.120,0.866,0.943,
+1.320,0.194,0.658,0.898,0.930,0.976,0.721,1.300,0.131,0.150,
+0.086,0.109,0.170,0.199,0.131,0.121,0.134,0.050,0.127,0.140,
+0.102,0.205,0.114,0.150,0.767,0.863,0.659,0.679,0.101,0.107,
+0.095,0.107,0.817,0.135,0.637,0.760,0.522,0.820,0.735,0.798,
+0.724,0.519,0.464,0.669,0.968,0.877,0.671,0.865,0.908,0.123,
+0.713,0.915,0.744,0.849,0.907,1.300,1.770,0.832,0.626,1.250,
+0.920,0.582,0.456,0.619,0.987,0.116,0.467,0.728,1.110,0.850,
+0.612,1.430,1.470,1.160,0.745,1.050,1.210,1.080,0.765,0.862,
+0.911,0.118,0.702,0.993,0.791,1.060,0.703,1.110,0.781,0.736,
+0.637,0.822,0.083,0.074,0.086,0.098,0.704,0.094,0.529,0.719,
+0.577,0.823,0.693,0.890,1.120,0.678,0.637,1.120,0.754,0.652,
+0.557,0.783,1.030,0.098,0.754,1.170,1.270,1.190,1.220,2.200,
+2.770,1.900,1.270,1.910,1.960,1.740,1.150,1.180,1.160,0.158,
+0.641,0.937,1.180,1.240,0.758,1.290,1.950,1.680,0.971,1.100,
+1.710,1.570,1.290,1.060,1.080,0.206,0.918,1.060,0.661,1.050,
+0.711,0.970,0.907,1.110,0.777,0.873,0.119,0.173,0.135,0.141,
+0.678,0.113,0.593,0.628,0.564,0.819,0.644,0.853,0.916,0.575,
+0.485,0.873,1.010,1.050,0.672,0.833,0.679,0.084,0.507,0.670,
+0.884,0.665,0.711,1.300,1.930,1.690,0.759,1.030,1.580,1.840,
+0.907,0.843,0.997,0.177,0.625,0.804,0.673,0.983,0.505,0.903,
+1.390,1.370,0.706,0.741,0.933,0.566,0.739,0.680,0.953,0.286,
+0.792,0.978,0.492,1.020,0.586,0.710,0.855,1.370,0.691,0.756,
+0.147,0.329,0.187,0.146,0.887,0.234,0.710,0.872,0.485,1.270,
+0.806,0.866,0.645,0.592,0.375,0.539,0.889,1.230,0.601,0.704,
+0.702,0.107,0.560,0.763,0.537,0.686,0.573,0.976,1.260,0.961,
+0.572,0.763,1.440,1.480,1.030,0.887,1.050,0.203,0.640,0.791,
+0.675,0.956,0.656,0.980,0.111,0.191,0.093,0.100,0.184,0.369,
+0.245,0.131,0.146,0.114,0.188,0.153,0.073,0.264,0.115,0.110,
+0.856,1.170,0.789,0.763,0.167,0.259,0.194,0.140,0.864,0.195,
+0.729,0.811,0.481,1.090,0.922,0.840,0.630,0.492,0.438,0.579,
+1.070,1.380,1.010,0.970,0.898,0.133,0.795,0.933,0.627,0.759,
+0.894,1.150,1.020,0.654,0.454,0.721,0.765,0.617,0.411,0.483,
+0.636,0.072,0.352,0.490,0.653,0.572,0.416,0.822,0.977,1.030,
+0.637,0.787,0.970,1.280,0.796,0.826,0.708,0.143,0.616,0.786,
+0.492,0.950,0.572,0.769,0.612,0.797,0.606,0.676,0.067,0.105,
+0.072,0.078,0.536,0.083,0.548,0.630,0.428,0.732,0.709,0.788,
+0.714,0.480,0.412,0.657,0.625,0.690,0.500,0.645,0.672,0.070,
+0.556,0.802,0.769,0.863,0.891,1.400,1.670,1.250,0.801,1.310,
+1.070,0.860,0.572,0.759,0.876,0.111,0.481,0.662,0.846,0.883,
+0.506,0.919,1.500,1.510,0.675,0.921,1.270,1.220,0.861,0.853,
+1.190,0.218,0.983,1.040,0.676,1.200,0.578,0.856,0.810,1.150,
+0.751,0.926,0.119,0.165,0.130,0.182,0.733,0.135,0.553,0.694,
+0.479,0.920,0.574,0.842,0.791,0.574,0.439,0.895,0.820,0.836,
+0.604,0.879,0.771,0.101,0.592,0.865,0.788,0.714,0.767,1.600,
+0.115,0.114,0.056,0.081,0.158,0.184,0.108,0.093,0.095,0.031,
+0.069,0.077,0.066,0.115,0.065,0.093,0.120,0.194,0.074,0.085,
+0.194,0.313,0.184,0.131,0.148,0.123,0.178,0.155,0.066,0.173,
+0.077,0.087,0.071,0.162,0.094,0.080,0.037,0.100,0.085,0.037,
+0.126,0.080,0.179,0.143,0.058,0.173,0.115,0.101,0.074,0.072,
+0.045,0.083,0.156,0.223,0.126,0.155,0.094,0.028,0.109,0.123,
+0.072,0.092,0.092,0.146,1.060,0.955,0.525,0.644,0.966,1.170,
+0.796,0.722,1.010,0.211,0.839,0.878,0.601,0.855,0.632,0.895,
+0.100,0.215,0.078,0.073,0.115,0.245,0.163,0.092,0.132,0.086,
+0.198,0.140,0.071,0.179,0.099,0.095,0.674,1.230,0.654,0.632,
+0.111,0.252,0.158,0.115,0.894,0.227,0.581,0.743,0.436,1.020,
+0.680,0.721,0.550,0.511,0.386,0.518,0.837,1.250,0.770,0.875,
+0.998,0.188,0.975,1.010,0.563,0.787,0.804,1.040,0.897,0.624,
+0.392,0.704,0.592,0.469,0.314,0.405,0.641,0.081,0.381,0.627,
+0.635,0.605,0.380,0.860,1.090,1.210,0.579,0.728,1.060,1.280,
+0.754,0.733,0.999,0.177,0.857,1.080,0.685,1.140,0.660,0.918,
+0.718,0.980,0.630,0.714,0.077,0.128,0.086,0.085,0.818,0.144,
+0.694,0.851,0.558,1.100,0.715,0.907,0.715,0.543,0.424,0.721,
+0.690,0.710,0.503,0.656,0.911,0.106,0.896,1.120,0.910,1.030,
+0.981,1.480,1.680,0.893,0.678,1.350,0.856,0.549,0.445,0.727,
+0.790,0.077,0.379,0.693,0.959,0.714,0.531,1.120,1.040,0.732,
+0.410,0.659,0.654,0.493,0.379,0.526,0.607,0.065,0.388,0.600,
+0.529,0.508,0.370,0.653,0.694,0.624,0.435,0.745,0.059,0.056,
+0.042,0.097,0.487,0.052,0.312,0.482,0.438,0.512,0.371,0.683,
+0.900,0.499,0.483,1.110,0.627,0.469,0.404,0.866,0.631,0.054,
+0.404,0.741,0.890,0.600,0.657,1.680,1.440,0.965,0.584,0.981,
+1.110,0.958,0.753,0.764,0.882,0.117,0.538,0.800,0.751,0.882,
+0.497,0.949,1.090,0.976,0.463,0.679,1.060,1.050,0.643,0.733,
+0.912,0.165,0.655,0.919,0.640,0.922,0.504,0.802,0.641,0.812,
+0.479,0.675,0.075,0.117,0.082,0.108,0.734,0.110,0.560,0.746,
+0.552,0.922,0.570,0.826,0.688,0.505,0.411,0.811,0.854,0.887,
+0.642,1.360,0.718,0.080,0.592,0.877,0.704,0.729,0.692,1.330,
+0.918,0.617,0.414,0.618,0.810,0.708,0.543,0.651,0.834,0.118,
+0.534,0.731,0.616,0.652,0.564,0.962,0.066,0.078,0.038,0.058,
+0.063,0.107,0.068,0.061,0.062,0.021,0.069,0.077,0.055,0.092,
+0.060,0.082,0.543,0.658,0.426,0.563,0.057,0.075,0.059,0.080,
+0.672,0.105,0.506,0.655,0.445,0.728,0.591,0.745,0.541,0.429,
+0.370,0.576,0.684,0.674,0.554,0.827,0.858,0.118,0.689,0.962,
+0.636,0.675,0.792,1.180,1.190,0.646,0.483,0.892,0.613,0.466,
+0.361,0.473,0.704,0.075,0.385,0.635,0.769,0.579,0.487,1.130,
+0.901,0.659,0.396,0.621,0.653,0.633,0.456,0.554,0.605,0.062,
+0.462,0.680,0.590,0.633,0.470,0.909,0.761,0.711,0.518,0.806,
+0.065,0.061,0.044,0.078,0.710,0.074,0.540,0.784,0.677,0.879,
+0.732,1.040,1.100,0.629,0.601,1.190,0.854,0.799,0.647,1.020,
+1.070,0.087,0.937,1.420,1.510,1.270,1.390,2.010,2.760,1.550,
+1.380,2.260,1.650,1.140,0.987,1.210,1.470,0.152,0.738,1.100,
+1.770,1.470,0.918,1.580,1.480,1.030,0.722,0.937,1.090,0.742,
+0.726,0.769,0.897,0.107,0.601,0.703,0.772,0.831,0.635,0.895,
+1.180,0.917,0.669,1.000,0.103,0.086,0.076,0.139,0.708,0.075,
+0.517,0.697,0.599,0.742,0.621,0.877,1.350,0.682,0.557,1.130,
+0.992,0.708,0.594,0.908,0.761,0.066,0.493,0.719,0.980,0.600,
+0.763,1.480,2.240,1.430,0.873,1.390,1.640,1.310,1.050,1.050,
+1.130,0.155,0.586,0.811,0.956,1.100,0.588,1.030,1.550,1.350,
+0.706,0.869,1.230,0.830,0.889,0.822,1.240,0.229,0.782,1.020,
+0.711,1.010,0.557,0.756,1.130,1.270,0.805,0.990,0.136,0.160,
+0.134,0.156,1.120,0.175,0.869,1.220,0.680,1.140,0.840,0.967,
+0.944,0.647,0.434,0.764,1.110,0.990,0.697,0.960,0.805,0.083,
+0.541,0.847,0.753,0.697,0.711,1.340,1.470,0.773,0.577,0.917,
+1.390,1.020,0.950,0.996,1.760,0.217,0.649,0.823,1.070,1.030,
+0.690,1.190,0.135,0.138,0.078,0.110,0.152,0.153,0.140,0.134,
+0.170,0.043,0.147,0.135,0.147,0.267,0.121,0.178,0.781,0.768,
+0.745,0.796,0.103,0.099,0.168,0.153,0.841,0.139,0.616,0.667,
+0.517,0.868,0.684,0.732,0.664,0.441,0.408,0.615,0.985,0.840,
+0.898,0.984,0.819,0.100,0.641,0.801,0.774,0.738,0.765,1.180,
+1.450,0.643,0.511,1.020,0.760,0.502,0.491,0.616,0.898,0.095,
+0.392,0.591,1.140,0.827,0.574,1.240,1.110,0.823,0.552,0.769,
+0.871,0.686,0.649,0.707,0.853,0.098,0.593,0.759,0.832,0.948,
+0.608,0.997,0.810,0.783,0.685,0.880,0.082,0.073,0.080,0.111,
+0.767,0.084,0.599,0.802,0.668,0.916,0.847,1.040,1.080,0.624,
+0.556,1.080,0.733,0.551,0.603,0.861,1.090,0.097,0.778,1.200,
+1.490,1.200,1.330,2.440,0.151,0.112,0.089,0.112,0.119,0.111,
+0.085,0.097,0.084,0.015,0.050,0.069,0.087,0.104,0.062,0.093,
+0.139,0.130,0.117,0.100,0.141,0.138,0.154,0.119,0.094,0.031,
+0.094,0.086,0.070,0.099,0.074,0.085,0.074,0.097,0.063,0.074,
+0.015,0.022,0.020,0.018,0.063,0.016,0.065,0.071,0.043,0.077,
+0.064,0.077,0.080,0.053,0.044,0.075,0.096,0.094,0.071,0.088,
+0.066,0.011,0.051,0.070,0.072,0.060,0.072,0.124,0.133,0.134,
+0.067,0.087,0.135,0.173,0.121,0.101,0.085,0.027,0.056,0.065,
+0.056,0.090,0.052,0.068,0.148,0.207,0.090,0.085,0.182,0.180,
+0.182,0.133,0.142,0.076,0.121,0.120,0.063,0.134,0.074,0.079,
+0.086,0.151,0.085,0.082,0.028,0.078,0.054,0.028,0.152,0.070,
+0.142,0.161,0.058,0.151,0.110,0.097,0.070,0.059,0.039,0.059,
+0.107,0.135,0.089,0.090,0.075,0.016,0.063,0.079,0.054,0.065,
+0.064,0.107,0.096,0.072,0.047,0.060,0.117,0.138,0.128,0.088,
+0.122,0.034,0.091,0.073,0.062,0.096,0.065,0.083,0.014,0.029,
+0.015,0.015,0.030,0.063,0.056,0.026,0.032,0.039,0.075,0.030,
+0.011,0.038,0.023,0.017,0.076,0.112,0.102,0.089,0.023,0.047,
+0.061,0.025,0.140,0.074,0.134,0.105,0.053,0.157,0.119,0.093,
+0.061,0.047,0.045,0.059,0.107,0.138,0.132,0.112,0.094,0.026,
+0.104,0.109,0.062,0.105,0.092,0.118,0.114,0.090,0.060,0.092,
+0.079,0.069,0.058,0.066,0.080,0.011,0.045,0.059,0.095,0.087,
+0.070,0.126,0.139,0.150,0.090,0.109,0.149,0.167,0.138,0.132,
+0.129,0.031,0.127,0.119,0.101,0.176,0.106,0.137,0.072,0.094,
+0.081,0.089,0.011,0.020,0.018,0.017,0.089,0.021,0.091,0.105,
+0.066,0.115,0.135,0.121,0.095,0.068,0.056,0.093,0.081,0.085,
+0.073,0.092,0.101,0.014,0.089,0.124,0.115,0.124,0.137,0.217,
+1.370,0.969,0.679,1.090,0.885,0.781,0.520,0.670,0.716,0.083,
+0.462,0.571,0.604,0.539,0.398,0.656,1.100,0.956,0.539,0.673,
+1.010,0.858,0.818,0.674,0.916,0.136,0.947,0.848,0.499,0.745,
+0.493,0.659,0.749,0.941,0.647,0.783,0.110,0.148,0.140,0.169,
+0.822,0.171,0.667,0.716,0.442,0.875,0.545,0.711,0.659,0.450,
+0.345,0.654,0.683,0.643,0.535,0.725,0.711,0.085,0.577,0.810,
+0.623,0.552,0.635,1.200,0.098,0.097,0.048,0.073,0.117,0.170,
+0.087,0.088,0.067,0.020,0.062,0.065,0.046,0.068,0.039,0.064,
+0.090,0.111,0.054,0.054,0.133,0.145,0.128,0.087,0.096,0.042,
+0.192,0.113,0.043,0.080,0.051,0.054,0.066,0.123,0.089,0.071,
+0.019,0.049,0.067,0.024,0.101,0.050,0.142,0.123,0.045,0.114,
+0.082,0.079,0.076,0.057,0.039,0.072,0.106,0.139,0.111,0.116,
+0.080,0.017,0.080,0.125,0.058,0.064,0.066,0.117,1.010,0.688,
+0.472,0.472,0.885,0.961,0.901,0.647,0.753,0.139,0.698,0.634,
+0.433,0.569,0.562,0.663,0.083,0.125,0.069,0.056,0.093,0.153,
+0.185,0.069,0.095,0.040,0.153,0.098,0.053,0.112,0.090,0.075,
+0.712,0.813,0.634,0.591,0.101,0.121,0.141,0.106,0.654,0.119,
+0.274,0.399,0.325,0.548,0.536,0.544,0.471,0.358,0.314,0.361,
+0.663,0.714,0.647,0.625,0.646,0.097,0.699,0.696,0.412,0.506,
+0.630,0.767,0.757,0.468,0.354,0.537,0.531,0.413,0.320,0.347,
+0.479,0.059,0.361,0.451,0.442,0.404,0.322,0.577,0.815,0.757,
+0.474,0.530,0.806,0.859,0.731,0.525,0.666,0.098,0.731,0.719,
+0.502,0.726,0.549,0.634,0.676,0.803,0.570,0.700,0.078,0.115,
+0.083,0.095,0.754,0.107,0.793,0.839,0.483,0.818,0.706,0.796,
+0.602,0.417,0.345,0.555,0.597,0.586,0.457,0.569,0.734,0.078,
+0.789,0.892,0.696,0.741,0.809,1.130,1.330,0.667,0.489,0.951,
+0.654,0.439,0.354,0.516,0.573,0.059,0.285,0.461,0.711,0.529,
+0.370,0.807,0.834,0.498,0.313,0.465,0.516,0.338,0.311,0.370,
+0.432,0.038,0.298,0.396,0.363,0.344,0.270,0.457,0.630,0.532,
+0.341,0.576,0.056,0.050,0.040,0.081,0.475,0.047,0.305,0.473,
+0.414,0.474,0.381,0.616,0.765,0.418,0.347,0.707,0.545,0.387,
+0.337,0.593,0.503,0.043,0.310,0.532,0.676,0.467,0.506,1.140,
+1.300,0.860,0.504,0.884,0.936,0.827,0.582,0.658,0.649,0.076,
+0.423,0.580,0.579,0.619,0.361,0.724,0.989,0.828,0.417,0.586,
+0.909,0.724,0.611,0.618,0.666,0.082,0.603,0.694,0.427,0.541,
+0.360,0.541,0.668,0.801,0.497,0.656,0.067,0.096,0.082,0.090,
+0.692,0.094,0.570,0.812,0.481,0.782,0.549,0.788,0.763,0.503,
+0.380,0.670,0.774,0.716,0.569,0.834,0.635,0.067,0.477,0.799,
+0.589,0.575,0.539,1.030,1.020,0.592,0.418,0.586,0.777,0.649,
+0.602,0.662,0.705,0.095,0.460,0.643,0.528,0.550,0.521,0.839,
+0.077,0.069,0.041,0.055,0.067,0.093,0.078,0.067,0.056,0.014,
+0.066,0.077,0.049,0.078,0.056,0.073,0.634,0.731,0.491,0.632,
+0.063,0.073,0.072,0.095,0.744,0.107,0.525,0.690,0.440,0.685,
+0.621,0.726,0.599,0.427,0.401,0.532,0.735,0.644,0.650,0.806,
+0.689,0.073,0.644,0.921,0.571,0.562,0.732,1.030,1.030,0.486,
+0.393,0.698,0.529,0.368,0.330,0.405,0.569,0.065,0.321,0.499,
+0.601,0.443,0.393,0.851,0.734,0.498,0.336,0.501,0.554,0.481,
+0.426,0.451,0.466,0.043,0.408,0.577,0.446,0.458,0.408,0.637,
+0.716,0.695,0.505,0.776,0.058,0.063,0.045,0.080,0.751,0.072,
+0.640,0.917,0.623,0.779,0.741,0.937,0.962,0.522,0.477,0.961,
+0.738,0.640,0.557,0.810,0.875,0.067,0.765,1.180,1.090,0.859,
+1.040,1.570,2.660,1.200,1.030,2.260,1.080,0.625,0.533,0.805,
+1.040,0.090,0.415,0.754,1.710,1.180,0.642,1.390,1.030,0.542,
+0.399,0.612,0.579,0.323,0.298,0.367,0.560,0.042,0.317,0.388,
+0.599,0.528,0.337,0.591,0.777,0.524,0.404,0.740,0.063,0.043,
+0.035,0.081,0.447,0.035,0.242,0.386,0.479,0.475,0.363,0.655,
+1.290,0.571,0.526,1.100,0.758,0.464,0.398,0.697,0.616,0.045,
+0.353,0.581,0.980,0.584,0.621,1.510,1.230,0.597,0.391,0.742,
+0.642,0.382,0.284,0.394,0.478,0.045,0.211,0.356,0.568,0.458,
+0.253,0.564,0.656,0.395,0.233,0.374,0.387,0.231,0.198,0.257,
+0.386,0.034,0.193,0.296,0.358,0.307,0.201,0.351,0.513,0.392,
+0.274,0.442,0.039,0.031,0.023,0.040,0.410,0.041,0.190,0.319,
+0.358,0.397,0.269,0.419,0.520,0.313,0.217,0.441,0.411,0.291,
+0.203,0.342,0.368,0.026,0.197,0.351,0.425,0.323,0.313,0.700,
+0.959,0.411,0.336,0.607,0.638,0.369,0.329,0.491,0.649,0.066,
+0.213,0.377,0.744,0.525,0.323,0.792,0.065,0.041,0.028,0.051,
+0.049,0.035,0.031,0.045,0.049,5.89e-3,0.025,0.040,0.083,0.081,
+0.038,0.081,0.421,0.315,0.295,0.410,0.035,0.025,0.026,0.044,
+0.345,0.033,0.183,0.273,0.331,0.348,0.287,0.414,0.453,0.267,
+0.258,0.466,0.466,0.316,0.284,0.446,0.422,0.043,0.242,0.409,
+0.503,0.391,0.399,0.773,1.290,0.479,0.404,0.919,0.535,0.289,
+0.289,0.435,0.681,0.057,0.273,0.458,1.230,0.650,0.433,1.110,
+0.721,0.395,0.305,0.482,0.414,0.266,0.255,0.337,0.473,0.034,
+0.252,0.397,0.638,0.534,0.330,0.652,0.513,0.396,0.340,0.520,
+0.038,0.027,0.026,0.044,0.417,0.030,0.247,0.381,0.446,0.456,
+0.400,0.613,0.891,0.444,0.419,0.913,0.525,0.339,0.327,0.530,
+0.692,0.048,0.418,0.724,1.160,0.816,0.852,1.890,1.320,0.726,
+0.545,1.010,0.727,0.497,0.374,0.506,0.546,0.056,0.259,0.437,
+0.687,0.610,0.353,0.717,0.823,0.507,0.397,0.532,0.562,0.387,
+0.391,0.393,0.435,0.047,0.357,0.390,0.361,0.392,0.287,0.452,
+0.485,0.427,0.296,0.481,0.044,0.044,0.032,0.056,0.325,0.035,
+0.221,0.341,0.293,0.361,0.289,0.485,0.547,0.303,0.264,0.486,
+0.488,0.380,0.277,0.423,0.342,0.031,0.209,0.343,0.443,0.327,
+0.353,0.755,0.881,0.554,0.303,0.542,0.586,0.479,0.296,0.360,
+0.367,0.043,0.173,0.282,0.372,0.369,0.204,0.412,0.604,0.505,
+0.251,0.362,0.509,0.358,0.280,0.320,0.373,0.051,0.231,0.316,
+0.281,0.338,0.207,0.313,0.402,0.425,0.247,0.369,0.042,0.049,
+0.032,0.043,0.390,0.051,0.230,0.351,0.281,0.407,0.281,0.432,
+0.349,0.250,0.166,0.309,0.369,0.356,0.207,0.300,0.281,0.024,
+0.169,0.284,0.295,0.269,0.247,0.498,0.582,0.306,0.214,0.361,
+0.446,0.342,0.300,0.342,0.384,0.051,0.183,0.269,0.356,0.338,
+0.229,0.474,0.032,0.032,0.018,0.030,0.035,0.043,0.033,0.033,
+0.029,9.49e-3,0.033,0.031,0.032,0.052,0.027,0.040,0.348,0.330,
+0.257,0.340,0.032,0.034,0.031,0.040,0.331,0.047,0.201,0.283,
+0.242,0.359,0.292,0.391,0.335,0.210,0.190,0.334,0.387,0.344,
+0.298,0.392,0.343,0.032,0.230,0.356,0.328,0.291,0.337,0.604,
+0.610,0.313,0.238,0.452,0.310,0.213,0.186,0.251,0.340,0.031,
+0.167,0.256,0.451,0.332,0.252,0.543,0.485,0.340,0.243,0.365,
+0.344,0.304,0.255,0.316,0.319,0.035,0.228,0.320,0.362,0.494,
+0.270,0.453,0.319,0.299,0.240,0.355,0.025,0.025,0.021,0.030,
+0.272,0.025,0.203,0.302,0.260,0.320,0.336,0.448,0.437,0.250,
+0.229,0.401,0.344,0.277,0.225,0.329,0.368,0.029,0.250,0.426,
+0.509,0.428,0.458,0.883,0.772,0.432,0.316,0.559,0.360,0.281,
+0.175,0.280,0.364,0.031,0.172,0.265,0.402,0.289,0.185,0.374,
+0.521,0.368,0.199,0.316,0.344,0.254,0.188,0.214,0.323,0.033,
+0.256,0.279,0.276,0.307,0.198,0.333,0.369,0.359,0.219,0.354,
+0.041,0.038,0.025,0.050,0.266,0.030,0.160,0.256,0.215,0.309,
+0.218,0.370,0.376,0.231,0.166,0.350,0.306,0.247,0.171,0.290,
+0.315,0.029,0.192,0.336,0.356,0.269,0.301,0.642,0.040,0.029,
+0.022,0.030,0.032,0.029,0.016,0.022,0.022,3.41e-3,0.016,0.019,
+0.023,0.025,0.015,0.029,0.030,0.026,0.013,0.018,0.039,0.034,
+0.018,0.020,0.024,5.32e-3,0.032,0.024,0.019,0.025,0.017,0.023,
+0.022,0.025,0.015,0.021,3.58e-3,5.22e-3,4.09e-3,3.62e-3,0.024,5.08e-3,
+0.020,0.028,0.018,0.031,0.027,0.045,0.030,0.020,0.013,0.030,
+0.033,0.034,0.019,0.032,0.025,3.48e-3,0.018,0.033,0.027,0.025,
+0.025,0.052,0.431,0.249,0.167,0.223,0.299,0.260,0.222,0.224,
+0.255,0.037,0.176,0.212,0.216,0.233,0.203,0.321,0.026,0.024,
+0.013,0.017,0.023,0.023,0.018,0.015,0.021,4.90e-3,0.033,0.021,
+0.022,0.032,0.029,0.029,0.272,0.288,0.193,0.236,0.025,0.027,
+0.023,0.026,0.268,0.031,0.133,0.195,0.163,0.239,0.200,0.255,
+0.248,0.168,0.134,0.196,0.253,0.232,0.183,0.226,0.283,0.027,
+0.233,0.281,0.230,0.218,0.260,0.388,0.410,0.212,0.146,0.271,
+0.224,0.154,0.121,0.164,0.232,0.022,0.144,0.205,0.259,0.198,
+0.151,0.320,0.363,0.250,0.153,0.235,0.247,0.204,0.148,0.162,
+0.237,0.021,0.201,0.238,0.250,0.267,0.202,0.299,0.322,0.272,
+0.182,0.287,0.024,0.022,0.015,0.023,0.262,0.022,0.184,0.253,
+0.260,0.285,0.253,0.341,0.326,0.182,0.160,0.265,0.222,0.183,
+0.143,0.202,0.310,0.023,0.248,0.330,0.351,0.296,0.322,0.525,
+1.010,0.350,0.254,0.579,0.290,0.164,0.129,0.233,0.279,0.022,
+0.117,0.224,0.397,0.254,0.168,0.432,0.336,0.166,0.101,0.181,
+0.174,0.105,0.081,0.122,0.169,0.012,0.089,0.147,0.162,0.129,
+0.093,0.195,0.267,0.187,0.120,0.262,0.018,0.015,9.84e-3,0.027,
+0.157,0.012,0.079,0.156,0.166,0.161,0.117,0.245,0.379,0.176,
+0.152,0.349,0.213,0.129,0.112,0.220,0.208,0.014,0.114,0.235,
+0.328,0.206,0.220,0.593,0.368,0.179,0.119,0.226,0.185,0.122,
+0.083,0.125,0.140,0.011,0.070,0.120,0.156,0.125,0.079,0.186,
+0.215,0.132,0.071,0.123,0.146,0.109,0.062,0.094,0.120,8.67e-3,
+0.071,0.112,0.107,0.099,0.064,0.133,0.156,0.115,0.069,0.139,
+9.48e-3,8.34e-3,4.81e-3,0.011,0.128,9.50e-3,0.067,0.124,0.117,0.127,
+0.085,0.172,0.176,0.095,0.077,0.160,0.141,0.097,0.069,0.132,
+0.126,8.09e-3,0.068,0.137,0.153,0.120,0.113,0.271,0.287,0.132,
+0.110,0.168,0.177,0.110,0.096,0.150,0.159,0.014,0.070,0.123,
+0.158,0.124,0.101,0.221,0.014,9.76e-3,5.52e-3,9.83e-3,9.36e-3,8.28e-3,
+5.78e-3,9.10e-3,7.83e-3,8.56e-4,5.04e-3,8.11e-3,0.012,0.011,7.82e-3,0.016,
+0.150,0.124,0.083,0.143,8.61e-3,7.51e-3,5.62e-3,0.012,0.128,0.010,
+0.073,0.108,0.110,0.115,0.101,0.165,0.162,0.101,0.084,0.136,
+0.136,0.098,0.080,0.137,0.139,8.85e-3,0.088,0.145,0.140,0.103,
+0.125,0.227,0.392,0.122,0.091,0.193,0.113,0.065,0.054,0.085,
+0.120,8.27e-3,0.054,0.099,0.166,0.099,0.078,0.209,0.142,0.074,
+0.046,0.078,0.078,0.057,0.040,0.058,0.069,3.99e-3,0.040,0.067,
+0.079,0.062,0.046,0.103,0.107,0.074,0.049,0.093,4.56e-3,3.73e-3,
+2.21e-3,5.56e-3,0.073,4.05e-3,0.042,0.071,0.075,0.062,0.055,0.098,
+0.137,0.042,0.039,0.079,0.043,0.026,0.022,0.040,0.042,1.86e-3,
+0.025,0.040,0.040,0.015,0.016,0.014
+};
+
+static double hg19_biasTable23_4_large[] = {
+37.1,9.830,6.110,13.4,10.000,4.670,3.840,5.860,8.690,0.741,
+3.350,5.200,13.3,8.090,5.580,10.1,11.2,4.990,3.510,4.980,
+5.320,2.840,2.590,2.810,5.240,0.365,2.560,3.340,4.830,3.590,
+2.820,4.730,9.250,5.190,3.890,5.940,0.655,0.468,0.350,0.751,
+4.260,0.371,2.400,3.240,4.280,4.240,2.910,4.560,13.7,5.340,
+5.260,10.7,7.430,4.800,4.090,7.480,6.060,0.462,3.120,5.050,
+9.060,4.690,4.700,8.580,13.2,5.340,3.320,5.520,5.740,3.330,
+2.350,2.820,4.730,0.444,1.830,2.930,4.270,3.700,2.010,3.790,
+6.490,3.500,2.010,2.820,3.440,2.090,1.660,1.740,3.510,0.298,
+1.730,2.300,2.410,2.160,1.450,2.210,4.920,3.780,2.300,3.310,
+0.350,0.287,0.214,0.318,3.310,0.301,1.760,2.470,2.380,2.870,
+1.830,2.780,4.450,2.590,1.920,3.470,3.560,2.490,1.990,2.770,
+3.440,0.243,1.740,2.730,3.470,2.560,2.250,4.450,10.000,3.460,
+3.000,4.470,4.940,2.690,2.470,3.010,4.790,0.495,1.910,3.240,
+4.300,3.340,2.550,5.360,0.609,0.366,0.243,0.393,0.423,0.328,
+0.237,0.288,0.382,0.053,0.239,0.355,0.500,0.552,0.328,0.601,
+3.550,2.540,2.260,2.840,0.313,0.209,0.200,0.315,2.690,0.252,
+1.490,2.040,2.080,2.290,1.870,2.410,3.490,2.010,1.930,3.220,
+3.820,2.500,2.160,3.080,3.130,0.270,2.080,3.010,2.910,2.460,
+2.590,4.410,14.4,4.790,3.870,8.400,4.730,2.470,2.420,3.260,
+5.910,0.560,2.330,4.090,7.940,4.880,3.810,9.630,7.410,4.240,
+2.970,4.400,4.410,2.850,2.410,2.890,4.430,0.303,2.510,3.910,
+5.170,4.270,3.310,5.970,4.630,3.460,2.700,3.900,0.358,0.252,
+0.223,0.355,3.260,0.232,1.890,2.920,3.170,3.260,2.740,3.880,
+7.320,3.800,3.200,6.730,3.690,2.440,2.250,3.730,4.770,0.299,
+2.800,4.700,6.340,4.200,4.220,8.230,12.3,6.010,3.930,6.740,
+4.920,3.150,2.410,2.910,3.760,0.378,1.590,2.760,4.170,3.640,
+2.160,4.010,5.650,3.690,2.180,3.020,3.380,2.180,1.890,2.010,
+2.620,0.274,1.550,2.260,2.030,2.030,1.450,2.530,3.600,3.260,
+2.070,2.960,0.334,0.340,0.222,0.356,2.050,0.209,1.380,1.750,
+1.700,2.200,1.560,2.490,3.810,1.870,1.790,3.020,3.210,2.460,
+1.730,2.520,2.280,0.229,1.200,1.960,2.560,1.770,1.840,3.840,
+6.760,4.380,2.060,3.300,3.750,2.850,1.730,1.840,2.660,0.293,
+1.110,1.790,2.140,2.290,1.200,2.210,3.660,2.650,1.370,1.790,
+2.310,1.330,1.340,1.300,2.060,0.237,1.160,1.680,1.280,1.500,
+0.995,1.410,2.800,3.160,1.510,2.070,0.257,0.369,0.183,0.216,
+2.100,0.300,1.280,1.720,1.350,2.410,1.330,1.990,2.250,1.550,
+0.988,1.660,2.190,2.020,1.130,1.490,2.100,0.178,0.931,1.560,
+1.600,1.420,1.100,2.330,4.480,2.570,1.690,2.780,3.320,2.410,
+2.050,2.140,2.540,0.308,1.240,2.080,2.050,2.000,1.550,2.890,
+0.271,0.280,0.152,0.326,0.230,0.293,0.201,0.179,0.206,0.055,
+0.178,0.244,0.186,0.292,0.173,0.266,2.480,2.610,1.990,2.160,
+0.264,0.266,0.206,0.233,1.990,0.249,1.330,1.750,1.300,2.010,
+1.650,1.990,1.900,1.210,1.150,1.730,2.360,2.120,1.660,2.020,
+1.860,0.178,1.410,2.030,1.540,1.410,1.740,2.660,4.350,1.970,
+1.640,2.800,2.410,1.490,1.340,1.520,2.100,0.186,0.951,1.690,
+2.530,1.750,1.350,3.060,3.310,2.330,1.700,2.490,2.200,1.940,
+1.480,1.670,1.750,0.175,1.290,2.300,1.700,2.010,1.450,2.550,
+2.450,2.290,1.870,2.370,0.195,0.190,0.137,0.202,1.810,0.164,
+1.270,1.890,1.550,1.930,1.670,2.420,2.920,1.580,1.560,2.530,
+2.070,1.610,1.300,1.930,2.310,0.174,1.500,2.530,2.850,2.350,
+2.420,4.210,8.600,3.620,3.440,4.820,2.880,1.880,1.500,2.000,
+3.540,0.303,1.430,2.140,3.280,2.590,1.560,3.100,4.640,2.930,
+1.850,2.530,2.400,1.600,1.440,1.530,2.790,0.264,1.540,1.980,
+2.060,2.220,1.270,2.170,3.170,3.000,2.190,2.910,0.321,0.351,
+0.236,0.423,1.970,0.234,1.100,1.660,1.670,2.450,1.370,2.540,
+3.380,1.970,1.790,3.240,2.570,2.200,1.580,2.410,2.530,0.246,
+1.440,2.460,2.900,2.090,2.320,5.730,0.493,0.332,0.214,0.337,
+0.326,0.278,0.167,0.204,0.256,0.042,0.130,0.194,0.235,0.277,
+0.157,0.272,0.354,0.282,0.161,0.196,0.271,0.249,0.168,0.161,
+0.248,0.048,0.163,0.195,0.176,0.242,0.121,0.190,0.247,0.307,
+0.177,0.224,0.035,0.058,0.042,0.038,0.232,0.053,0.163,0.215,
+0.177,0.313,0.164,0.260,0.385,0.248,0.186,0.371,0.408,0.439,
+0.278,0.394,0.304,0.037,0.205,0.316,0.325,0.277,0.269,0.568,
+3.270,1.870,1.370,1.740,2.090,1.660,1.330,1.420,2.360,0.313,
+1.360,1.840,1.760,1.640,1.380,2.010,0.252,0.246,0.111,0.149,
+0.164,0.189,0.131,0.114,0.205,0.047,0.157,0.171,0.198,0.253,
+0.147,0.189,1.930,2.130,1.320,1.440,0.191,0.269,0.151,0.178,
+1.840,0.276,0.898,1.250,1.140,1.700,1.160,1.380,1.730,1.160,
+0.962,1.270,1.720,1.720,1.250,1.520,1.950,0.230,1.460,1.930,
+1.360,1.480,1.390,2.060,3.220,1.540,1.170,2.110,1.870,1.080,
+0.833,1.110,1.940,0.184,0.979,1.600,2.250,1.600,1.140,2.480,
+3.330,2.390,1.360,1.950,2.210,1.760,1.250,1.340,2.090,0.198,
+1.350,1.960,2.070,2.140,1.380,2.140,2.330,2.190,1.520,2.090,
+0.210,0.229,0.139,0.212,2.020,0.238,1.310,2.130,1.710,2.270,
+1.610,2.430,2.560,1.430,1.430,1.920,2.050,1.690,1.340,1.760,
+2.490,0.221,1.800,2.690,2.860,2.380,2.340,4.210,11.6,4.560,
+3.690,8.830,3.570,1.980,1.850,2.690,3.670,0.328,1.570,2.900,
+6.420,3.660,2.450,5.880,4.250,2.140,1.500,2.540,2.090,1.160,
+1.090,1.440,2.390,0.175,1.280,2.020,2.260,1.720,1.230,2.440,
+3.900,2.760,1.870,3.770,0.306,0.241,0.172,0.432,2.120,0.184,
+0.992,1.890,2.210,2.160,1.360,2.980,5.260,2.440,2.500,6.310,
+3.090,2.040,1.890,3.590,3.050,0.238,1.840,3.290,4.870,3.020,
+3.250,9.040,6.400,3.400,2.260,4.550,3.670,2.350,1.660,2.330,
+2.990,0.273,1.370,2.420,2.900,2.570,1.560,3.070,4.020,2.330,
+1.400,2.270,2.470,1.720,1.220,1.500,2.380,0.262,1.320,2.080,
+1.900,1.910,1.050,1.960,3.080,2.480,1.470,2.650,0.202,0.197,
+0.127,0.239,2.300,0.213,1.280,2.150,2.040,2.410,1.470,2.750,
+3.710,1.930,1.640,3.500,2.930,2.300,1.650,2.940,2.770,0.194,
+1.650,2.770,3.140,2.320,2.280,4.910,3.690,2.080,1.600,2.740,
+2.690,1.670,1.470,2.070,2.660,0.299,1.420,2.260,2.410,2.090,
+1.670,3.030,0.263,0.202,0.127,0.222,0.176,0.162,0.129,0.152,
+0.196,0.030,0.159,0.294,0.221,0.244,0.149,0.265,2.220,2.030,
+1.360,2.020,0.169,0.144,0.117,0.195,2.320,0.200,1.120,1.610,
+1.700,1.870,1.570,2.090,2.280,1.460,1.330,2.180,2.350,1.700,
+1.520,2.360,2.590,0.224,1.570,2.610,2.180,1.860,1.930,3.380,
+6.630,2.630,2.210,4.350,2.760,1.640,1.880,2.010,3.120,0.263,
+1.550,2.590,4.420,2.770,2.330,5.660,3.110,1.870,1.320,2.190,
+1.950,1.310,1.170,1.470,2.030,0.143,1.300,2.290,2.440,2.090,
+1.500,2.940,3.510,2.860,1.980,3.250,0.241,0.183,0.133,0.254,
+2.850,0.204,1.600,2.730,2.990,3.060,2.390,3.660,5.540,2.590,
+2.440,5.190,3.390,2.550,2.090,3.410,4.210,0.230,2.720,4.680,
+6.740,4.130,4.210,8.480,10.7,5.970,4.550,7.500,6.280,3.730,
+2.780,3.410,4.770,0.518,2.200,3.460,5.960,4.830,2.820,4.770,
+5.250,3.710,2.230,2.660,3.620,2.490,1.990,1.980,3.110,0.310,
+2.020,2.390,2.270,2.400,1.790,2.610,3.120,2.770,1.930,2.680,
+0.312,0.276,0.212,0.356,2.060,0.230,1.230,1.590,1.830,2.330,
+1.680,2.430,4.040,2.160,1.720,3.520,3.430,2.510,1.770,2.830,
+2.630,0.308,1.520,2.390,3.070,2.270,2.400,4.300,6.710,4.190,
+2.110,3.250,5.730,3.340,1.890,2.050,3.250,0.481,1.520,2.130,
+2.430,2.960,1.410,2.580,3.980,3.120,1.470,1.830,2.910,1.920,
+1.490,1.520,2.580,0.388,1.770,2.200,1.540,2.070,1.210,1.830,
+2.500,2.720,1.390,1.720,0.366,0.281,0.205,0.224,2.210,0.318,
+1.510,1.820,1.470,2.520,1.580,1.920,2.040,1.500,0.873,1.500,
+2.380,1.890,1.120,1.550,1.870,0.193,1.230,1.770,1.670,1.730,
+1.550,2.700,3.580,2.120,1.330,2.070,3.520,2.420,1.670,1.920,
+2.930,0.388,1.290,1.930,2.070,2.010,1.400,2.690,0.291,0.306,
+0.163,0.222,0.397,0.425,0.230,0.238,0.263,0.072,0.223,0.269,
+0.220,0.396,0.197,0.300,1.640,1.840,1.240,1.390,0.200,0.187,
+0.142,0.198,1.580,0.223,1.160,1.560,1.070,1.560,1.200,1.460,
+1.530,1.070,0.854,1.340,2.040,1.790,1.240,1.700,1.740,0.216,
+1.340,1.750,1.470,1.600,1.610,2.430,3.930,1.880,1.410,2.900,
+2.060,1.230,0.934,1.290,2.220,0.263,1.020,1.690,2.470,1.780,
+1.310,3.140,3.180,2.510,1.560,2.210,2.530,2.150,1.550,1.690,
+1.910,0.214,1.430,2.050,1.710,2.100,1.410,2.310,1.740,1.580,
+1.320,1.740,0.193,0.141,0.179,0.206,1.370,0.149,0.995,1.390,
+1.210,1.650,1.300,1.770,2.400,1.380,1.170,2.310,1.550,1.260,
+1.110,1.590,2.090,0.180,1.450,2.320,2.650,2.360,2.350,4.350,
+6.220,4.040,2.790,4.130,4.340,3.530,2.360,2.480,2.450,0.314,
+1.250,1.940,2.490,2.530,1.500,2.670,3.860,3.190,1.810,2.100,
+3.330,2.580,2.230,1.940,2.070,0.321,1.600,2.000,1.260,1.760,
+1.220,2.010,1.930,2.290,1.560,1.830,0.235,0.298,0.230,0.271,
+1.320,0.190,1.100,1.260,1.050,1.620,1.230,1.760,1.950,1.160,
+0.982,1.760,2.060,2.000,1.320,1.700,1.420,0.180,0.964,1.370,
+1.640,1.310,1.370,2.610,3.840,3.280,1.460,1.980,3.220,3.230,
+1.590,1.540,1.940,0.294,1.120,1.470,1.330,1.840,0.937,1.540,
+2.550,2.350,1.160,1.240,1.600,0.687,1.140,1.030,1.660,0.360,
+1.290,1.720,0.845,1.560,0.944,1.180,1.640,2.590,1.210,1.400,
+0.238,0.395,0.228,0.220,1.600,0.325,1.250,1.610,0.926,2.240,
+1.370,1.620,1.250,1.110,0.651,0.982,1.620,2.010,0.955,1.220,
+1.320,0.171,0.977,1.510,1.000,1.200,0.981,1.810,2.800,2.060,
+1.180,1.660,3.270,3.180,2.000,1.860,2.160,0.408,1.230,1.720,
+1.420,2.080,1.250,2.050,0.214,0.337,0.157,0.198,0.390,0.588,
+0.347,0.224,0.255,0.145,0.316,0.263,0.145,0.560,0.187,0.205,
+1.720,2.320,1.450,1.460,0.371,0.427,0.262,0.236,1.650,0.305,
+1.320,1.580,0.914,1.990,1.580,1.560,1.250,1.000,0.840,1.110,
+2.440,3.010,1.950,1.910,1.690,0.225,1.350,1.740,1.200,1.410,
+1.550,2.140,2.280,1.420,0.988,1.610,1.690,1.330,0.833,1.010,
+1.310,0.149,0.713,1.100,1.400,1.230,0.841,1.770,2.030,2.020,
+1.290,1.710,1.970,2.370,1.440,1.450,1.360,0.248,1.190,1.600,
+0.975,1.890,1.060,1.520,1.390,1.760,1.360,1.500,0.164,0.201,
+0.134,0.155,1.030,0.139,1.000,1.230,0.862,1.430,1.240,1.540,
+1.560,0.975,0.820,1.350,1.360,1.350,1.070,1.270,1.340,0.126,
+0.991,1.510,1.570,1.650,1.600,2.690,3.850,2.720,1.840,2.830,
+2.590,1.830,1.290,1.690,2.050,0.242,1.030,1.520,1.960,1.910,
+1.230,2.150,3.100,2.940,1.310,1.840,2.460,2.180,1.550,1.630,
+2.640,0.386,1.860,2.130,1.390,2.090,1.140,1.780,1.770,2.460,
+1.360,1.890,0.226,0.302,0.210,0.345,1.560,0.260,1.090,1.580,
+1.080,1.930,1.120,2.120,1.730,1.190,0.859,1.790,1.720,1.720,
+1.120,1.710,1.760,0.208,1.260,1.940,1.700,1.390,1.580,3.410,
+0.267,0.232,0.120,0.176,0.412,0.340,0.220,0.195,0.189,0.051,
+0.132,0.167,0.147,0.228,0.179,0.241,0.215,0.283,0.116,0.138,
+0.311,0.396,0.230,0.205,0.257,0.125,0.251,0.258,0.118,0.243,
+0.126,0.153,0.146,0.300,0.148,0.153,0.051,0.117,0.090,0.052,
+0.225,0.108,0.244,0.258,0.120,0.309,0.199,0.225,0.162,0.142,
+0.086,0.165,0.285,0.386,0.203,0.263,0.195,0.042,0.201,0.256,
+0.155,0.177,0.193,0.307,2.420,2.120,1.130,1.430,2.290,2.680,
+1.650,1.600,2.320,0.469,2.360,2.280,1.350,1.820,1.400,1.930,
+0.205,0.442,0.144,0.143,0.238,0.548,0.271,0.175,0.246,0.122,
+0.319,0.263,0.141,0.327,0.176,0.176,1.400,2.610,1.280,1.310,
+0.220,0.409,0.234,0.219,1.940,0.440,1.190,1.630,0.963,2.130,
+1.360,1.500,1.140,1.140,0.750,0.994,1.790,2.910,1.460,1.630,
+2.100,0.383,2.130,2.060,1.130,1.610,1.580,1.950,1.960,1.280,
+0.854,1.530,1.350,1.020,0.668,0.901,1.380,0.173,0.862,1.510,
+1.330,1.250,0.838,1.820,2.240,2.430,1.150,1.460,2.230,2.860,
+1.390,1.450,1.960,0.317,1.650,2.080,1.390,2.230,1.280,1.770,
+1.510,2.100,1.330,1.500,0.161,0.243,0.157,0.173,1.780,0.299,
+1.460,1.850,1.210,2.300,1.510,1.970,1.390,1.030,0.808,1.320,
+1.320,1.420,1.000,1.250,1.840,0.205,1.780,2.190,1.800,1.930,
+1.840,2.740,3.880,1.950,1.510,3.020,1.890,1.130,0.964,1.620,
+1.760,0.170,0.778,1.590,2.160,1.550,1.040,2.410,2.310,1.600,
+0.857,1.420,1.370,0.974,0.772,1.130,1.340,0.131,0.827,1.580,
+1.180,1.010,0.714,1.440,1.490,1.390,0.815,1.480,0.121,0.113,
+0.076,0.185,0.971,0.102,0.571,1.070,0.952,1.100,0.734,1.500,
+1.980,1.070,0.924,2.150,1.320,0.989,0.764,1.590,1.310,0.109,
+0.772,1.600,1.830,1.230,1.380,3.480,3.310,2.070,1.300,2.140,
+2.600,1.920,1.660,1.700,1.930,0.238,1.060,1.730,1.620,1.820,
+1.150,2.050,2.260,1.840,0.883,1.340,2.020,1.770,1.130,1.370,
+1.840,0.301,1.170,1.830,1.260,1.680,0.901,1.630,1.350,1.720,
+0.850,1.240,0.138,0.193,0.117,0.169,1.390,0.206,1.050,1.630,
+1.190,1.970,1.140,1.830,1.430,1.030,0.788,1.440,1.720,1.730,
+1.070,1.840,1.450,0.145,1.140,1.790,1.490,1.460,1.440,2.730,
+2.120,1.420,0.962,1.440,1.860,1.570,1.160,1.460,1.940,0.262,
+1.160,1.710,1.420,1.450,1.240,2.160,0.144,0.156,0.080,0.125,
+0.140,0.215,0.138,0.126,0.128,0.033,0.123,0.163,0.120,0.184,
+0.116,0.170,1.280,1.490,0.872,1.230,0.128,0.144,0.101,0.158,
+1.510,0.203,0.981,1.380,1.040,1.540,1.180,1.530,1.210,0.978,
+0.779,1.230,1.550,1.470,1.040,1.630,1.760,0.227,1.370,1.900,
+1.360,1.390,1.550,2.360,2.750,1.420,1.100,2.060,1.400,1.030,
+0.784,1.030,1.610,0.171,0.882,1.520,1.730,1.260,1.110,2.550,
+1.940,1.390,0.856,1.360,1.470,1.310,0.904,1.120,1.280,0.112,
+0.904,1.460,1.360,1.320,1.020,1.840,1.910,1.720,1.160,1.760,
+0.218,0.133,0.093,0.160,1.620,0.159,1.180,1.790,1.590,2.050,
+1.600,2.330,2.480,1.430,1.300,2.600,2.160,1.810,1.400,2.000,
+2.440,0.192,2.060,3.090,3.370,2.600,2.860,4.060,7.200,3.230,
+3.220,4.840,3.440,2.160,1.920,2.320,3.740,0.335,1.430,2.060,
+4.020,3.110,1.750,3.210,2.780,1.740,1.170,1.660,1.940,1.190,
+1.160,1.310,1.750,0.188,1.040,1.250,1.450,1.430,1.020,1.590,
+2.810,1.850,1.320,1.920,0.222,0.172,0.142,0.272,1.450,0.142,
+0.920,1.240,1.280,1.490,1.140,1.700,2.970,1.500,1.210,2.460,
+2.270,1.580,1.280,2.000,1.620,0.145,0.966,1.490,2.160,1.320,
+1.600,3.160,5.050,2.760,1.820,2.940,3.330,2.320,2.040,2.190,
+2.640,0.338,1.150,1.690,2.150,2.390,1.140,2.160,2.740,1.980,
+1.150,1.540,2.010,1.190,1.350,1.470,2.420,0.500,1.240,1.600,
+1.360,1.860,0.884,1.350,2.390,2.400,1.520,1.970,0.264,0.254,
+0.220,0.278,2.050,0.260,1.360,1.800,1.360,2.020,1.380,1.730,
+2.050,1.310,0.918,1.720,2.310,1.930,1.400,1.910,1.660,0.161,
+1.010,1.550,1.510,1.370,1.370,2.540,3.640,1.580,1.270,2.040,
+3.090,2.040,2.040,2.080,6.020,0.581,1.450,1.850,2.790,2.160,
+1.420,2.650,0.299,0.246,0.149,0.234,0.322,0.289,0.253,0.279,
+0.419,0.077,0.227,0.253,0.341,0.513,0.212,0.348,1.570,1.430,
+1.260,1.410,0.190,0.172,0.170,0.226,1.540,0.233,0.963,1.130,
+1.030,1.640,1.040,1.250,1.400,0.852,0.790,1.260,2.030,1.640,
+1.430,1.880,1.640,0.182,1.070,1.410,1.550,1.390,1.370,2.270,
+3.720,1.460,1.230,2.540,1.820,1.130,1.100,1.550,2.770,0.277,
+0.987,1.530,3.280,2.050,1.280,3.140,2.590,1.590,1.180,1.740,
+2.030,1.360,1.430,1.620,2.120,0.205,1.170,1.630,2.120,1.940,
+1.180,2.090,1.790,1.570,1.430,1.880,0.181,0.141,0.147,0.233,
+1.540,0.158,1.070,1.550,1.440,1.830,1.470,2.080,2.600,1.350,
+1.230,2.520,1.700,1.230,1.240,1.930,2.370,0.196,1.570,2.560,
+3.730,2.700,2.940,5.940,0.432,0.264,0.200,0.285,0.306,0.244,
+0.190,0.235,0.236,0.035,0.114,0.161,0.239,0.261,0.140,0.228,
+0.321,0.233,0.164,0.209,0.286,0.234,0.231,0.248,0.191,0.039,
+0.162,0.168,0.131,0.178,0.128,0.187,0.196,0.215,0.142,0.178,
+0.040,0.040,0.035,0.042,0.146,0.026,0.120,0.144,0.104,0.172,
+0.123,0.173,0.208,0.131,0.107,0.193,0.257,0.235,0.178,0.229,
+0.175,0.023,0.116,0.175,0.177,0.140,0.166,0.290,0.355,0.284,
+0.155,0.241,0.315,0.329,0.240,0.286,0.222,0.052,0.116,0.168,
+0.153,0.225,0.110,0.177,0.296,0.295,0.153,0.179,0.303,0.244,
+0.267,0.288,0.257,0.076,0.176,0.211,0.121,0.210,0.120,0.160,
+0.213,0.303,0.188,0.192,0.050,0.085,0.073,0.051,0.244,0.075,
+0.199,0.217,0.115,0.265,0.182,0.197,0.184,0.143,0.097,0.161,
+0.282,0.331,0.216,0.223,0.180,0.026,0.129,0.175,0.133,0.145,
+0.144,0.255,0.262,0.165,0.111,0.155,0.294,0.297,0.263,0.211,
+0.359,0.075,0.169,0.163,0.173,0.231,0.144,0.209,0.028,0.042,
+0.025,0.029,0.054,0.086,0.077,0.050,0.059,0.046,0.070,0.048,
+0.024,0.071,0.035,0.033,0.173,0.240,0.209,0.193,0.044,0.071,
+0.070,0.048,0.283,0.116,0.205,0.197,0.126,0.364,0.191,0.177,
+0.154,0.104,0.104,0.143,0.263,0.310,0.268,0.268,0.204,0.039,
+0.181,0.197,0.145,0.176,0.181,0.254,0.356,0.244,0.174,0.268,
+0.234,0.184,0.160,0.192,0.266,0.034,0.129,0.175,0.316,0.258,
+0.186,0.369,0.395,0.337,0.250,0.300,0.415,0.392,0.370,0.362,
+0.377,0.064,0.279,0.322,0.307,0.454,0.257,0.360,0.202,0.239,
+0.208,0.232,0.029,0.043,0.034,0.042,0.224,0.040,0.196,0.243,
+0.171,0.276,0.235,0.290,0.290,0.186,0.157,0.268,0.244,0.235,
+0.196,0.258,0.278,0.030,0.217,0.316,0.349,0.317,0.337,0.586,
+3.050,1.700,1.300,2.000,1.720,1.340,0.970,1.240,1.520,0.173,
+0.926,1.090,1.320,1.160,0.811,1.300,1.970,1.520,0.921,1.180,
+1.620,1.280,1.220,1.080,1.600,0.215,1.420,1.380,0.922,1.210,
+0.827,1.140,1.710,1.980,1.570,1.680,0.248,0.275,0.444,0.353,
+1.800,0.248,1.110,1.320,1.000,1.770,1.000,1.410,1.410,0.927,
+0.779,1.570,1.450,1.250,1.370,1.570,1.550,0.165,1.070,1.510,
+1.290,1.070,1.210,2.350,0.223,0.187,0.103,0.166,0.229,0.275,
+0.160,0.172,0.140,0.033,0.101,0.121,0.103,0.139,0.078,0.132,
+0.165,0.162,0.083,0.095,0.195,0.202,0.169,0.139,0.158,0.054,
+0.175,0.160,0.082,0.122,0.076,0.095,0.165,0.251,0.311,0.168,
+0.043,0.076,0.310,0.055,0.192,0.068,0.210,0.197,0.099,0.211,
+0.143,0.152,0.179,0.123,0.100,0.187,0.239,0.283,0.400,0.274,
+0.176,0.029,0.150,0.207,0.125,0.129,0.135,0.230,1.910,1.310,
+0.889,1.010,1.850,1.950,1.630,1.350,1.650,0.289,1.270,1.280,
+0.901,1.110,1.000,1.290,0.161,0.221,0.116,0.107,0.193,0.317,
+0.332,0.141,0.185,0.071,0.271,0.188,0.106,0.199,0.143,0.135,
+1.450,1.680,1.260,1.260,0.209,0.253,0.253,0.263,1.560,0.288,
+0.629,0.913,0.713,1.270,1.030,1.080,0.990,0.709,0.618,0.807,
+1.400,1.450,1.210,1.430,1.370,0.198,1.280,1.320,0.812,0.989,
+1.100,1.380,1.630,0.968,0.749,1.200,1.160,0.874,0.617,0.752,
+1.120,0.140,0.774,1.050,1.030,0.897,0.644,1.210,1.710,1.510,
+0.902,1.030,1.670,1.740,1.440,1.070,1.480,0.217,1.400,1.480,
+1.220,1.500,0.995,1.260,1.480,1.800,1.170,1.480,0.181,0.267,
+0.178,0.251,1.660,0.272,1.500,1.650,1.060,1.770,1.380,1.610,
+1.270,0.850,0.694,1.120,1.380,1.300,0.924,1.240,1.510,0.164,
+1.400,1.670,1.410,1.430,1.450,2.110,3.180,1.460,1.110,2.140,
+1.430,0.893,0.746,1.080,1.300,0.137,0.599,0.984,1.770,1.160,
+0.804,1.720,1.820,1.040,0.683,1.020,1.000,0.682,0.596,0.750,
+0.887,0.079,0.565,0.843,0.772,0.673,0.523,0.932,1.460,1.550,
+0.825,1.330,0.128,0.123,0.101,0.188,1.000,0.104,0.561,0.914,
+0.977,1.090,0.752,1.250,1.830,1.060,0.874,1.820,1.260,0.900,
+0.867,1.480,1.160,0.099,0.665,1.140,1.670,1.050,1.190,2.580,
+3.180,2.020,1.240,2.260,2.100,1.880,1.290,1.550,1.580,0.176,
+0.903,1.370,1.460,1.470,0.850,1.750,2.130,1.630,0.893,1.340,
+1.720,1.510,1.150,1.310,1.400,0.163,1.050,1.450,0.981,1.110,
+0.753,1.180,1.690,2.010,1.480,1.600,0.154,0.208,0.328,0.208,
+1.470,0.189,1.160,1.620,1.160,1.760,1.190,1.760,1.790,1.210,
+1.020,1.740,1.830,1.730,1.560,1.940,1.510,0.139,1.070,1.640,
+1.430,1.330,1.250,2.340,2.180,1.370,1.020,1.390,1.830,1.560,
+1.360,1.530,1.670,0.229,1.040,1.550,1.240,1.260,1.110,1.940,
+0.180,0.181,0.094,0.138,0.177,0.272,0.175,0.165,0.134,0.036,
+0.151,0.176,0.122,0.184,0.120,0.166,1.440,1.970,1.090,1.490,
+0.145,0.186,0.145,0.257,1.520,0.223,0.989,1.350,1.060,1.770,
+1.210,1.470,1.340,1.000,0.853,1.230,1.700,1.530,1.420,1.970,
+1.550,0.155,1.300,1.730,1.360,1.330,1.580,2.140,2.760,1.250,
+1.110,1.910,1.390,0.969,0.873,1.050,1.610,0.210,0.861,1.460,
+1.480,1.060,0.909,2.180,2.020,1.470,0.874,1.320,1.530,1.350,
+1.080,1.170,1.260,0.120,1.060,1.500,1.250,1.170,0.981,1.610,
+1.850,1.900,1.280,1.960,0.167,0.196,0.122,0.221,1.820,0.199,
+1.450,2.120,1.630,2.050,1.750,2.260,2.590,1.380,1.250,2.520,
+2.010,1.960,1.390,2.080,2.230,0.175,1.740,2.810,3.000,2.160,
+2.470,4.100,8.040,3.800,3.350,7.290,3.630,2.000,1.790,2.600,
+3.650,0.317,1.400,2.500,6.420,4.060,2.130,4.620,3.140,1.550,
+1.180,1.820,1.810,0.986,0.893,1.110,1.870,0.133,1.010,1.220,
+1.770,1.440,0.873,1.600,2.600,1.670,1.260,2.290,0.215,0.139,
+0.114,0.260,1.460,0.114,0.767,1.220,1.580,1.520,1.070,2.050,
+5.050,2.020,1.800,3.780,2.640,1.590,1.390,2.400,2.200,0.165,
+1.250,2.030,3.520,2.030,2.110,5.260,3.930,1.800,1.230,2.350,
+2.010,1.110,0.866,1.230,1.680,0.160,0.675,1.150,2.080,1.630,
+0.798,1.850,2.020,1.140,0.700,1.150,1.110,0.591,0.565,0.779,
+1.310,0.142,0.617,0.889,1.150,0.964,0.567,1.020,1.830,1.380,
+0.981,1.520,0.147,0.100,0.082,0.136,1.330,0.107,0.617,0.966,
+1.240,1.230,0.853,1.370,1.880,1.030,0.819,1.600,1.440,0.962,
+0.742,1.160,1.280,0.085,0.660,1.140,1.460,1.090,1.010,2.410,
+3.610,1.390,1.160,2.230,2.200,1.200,1.100,1.730,2.770,0.257,
+0.811,1.350,3.070,1.950,1.130,2.910,0.259,0.141,0.104,0.203,
+0.185,0.125,0.110,0.175,0.203,0.021,0.095,0.149,0.338,0.299,
+0.130,0.298,1.440,1.070,1.020,1.430,0.124,0.081,0.082,0.154,
+1.180,0.108,0.557,0.857,1.170,1.170,0.845,1.290,1.530,0.841,
+0.897,1.620,1.550,0.997,0.933,1.560,1.340,0.109,0.763,1.270,
+1.700,1.290,1.280,2.560,5.150,1.780,1.570,3.720,2.040,1.060,
+1.020,1.710,3.190,0.263,1.160,1.920,6.660,3.050,1.850,5.060,
+2.850,1.430,1.200,1.940,1.670,1.010,0.991,1.380,2.080,0.142,
+1.030,1.570,2.910,2.160,1.260,2.550,2.030,1.470,1.350,2.010,
+0.155,0.102,0.106,0.177,1.700,0.115,0.945,1.490,1.840,1.790,
+1.370,2.250,3.710,1.750,1.640,3.570,2.090,1.360,1.270,2.150,
+2.820,0.183,1.650,2.910,5.190,3.530,3.260,7.760,5.150,2.670,
+1.970,3.830,2.860,1.790,1.420,1.920,2.290,0.234,0.960,1.640,
+2.880,2.680,1.300,2.720,3.130,1.770,1.260,2.060,2.120,1.350,
+1.220,1.410,1.570,0.163,1.310,1.390,1.330,1.390,0.970,1.690,
+1.990,1.780,1.170,1.910,0.196,0.176,0.122,0.220,1.260,0.136,
+0.827,1.300,1.220,1.500,1.050,1.860,2.210,1.230,1.070,1.970,
+2.050,1.530,1.120,1.720,1.480,0.141,0.895,1.470,1.830,1.290,
+1.410,2.920,3.550,2.060,1.210,2.300,2.320,1.680,1.140,1.450,
+1.550,0.178,0.654,1.180,1.620,1.700,0.783,1.680,2.260,1.690,
+0.897,1.380,1.780,1.170,0.993,1.210,1.410,0.171,0.801,1.160,
+1.030,1.190,0.714,1.160,1.710,1.840,1.040,1.530,0.210,0.236,
+0.155,0.198,1.480,0.190,0.851,1.240,1.160,1.650,1.040,1.680,
+1.520,1.100,0.762,1.350,1.700,1.740,0.977,1.280,1.160,0.102,
+0.667,1.160,1.210,1.060,0.938,2.040,2.800,1.330,0.942,1.680,
+2.000,1.380,1.240,1.530,1.890,0.245,0.806,1.100,1.760,1.640,
+1.010,2.100,0.149,0.134,0.082,0.146,0.154,0.168,0.135,0.153,
+0.145,0.038,0.129,0.133,0.157,0.244,0.115,0.175,1.530,1.540,
+1.180,1.490,0.148,0.155,0.128,0.173,1.460,0.216,0.819,1.160,
+1.080,1.730,1.100,1.560,1.530,0.874,0.876,1.460,1.750,1.560,
+1.330,1.720,1.500,0.134,0.940,1.420,1.460,1.230,1.350,2.410,
+3.180,1.520,1.230,2.290,1.550,0.994,0.893,1.220,1.810,0.164,
+0.860,1.270,2.610,1.790,1.250,2.890,2.420,1.640,1.290,1.880,
+1.780,1.440,1.330,1.530,1.710,0.178,1.200,1.580,1.950,2.330,
+1.340,2.210,1.640,1.530,1.270,1.830,0.134,0.128,0.097,0.157,
+1.400,0.127,0.992,1.490,1.390,1.680,1.320,2.130,2.400,1.290,
+1.180,2.090,1.830,1.430,1.170,1.600,1.950,0.145,1.270,2.140,
+2.800,2.150,2.100,4.120,3.110,1.790,1.240,2.390,1.640,1.170,
+0.803,1.270,1.630,0.151,0.750,1.210,1.870,1.410,0.929,1.750,
+2.350,1.640,0.925,1.480,1.480,1.070,0.840,0.959,1.540,0.161,
+0.985,1.270,1.280,1.430,0.865,1.490,1.780,1.850,1.230,1.860,
+0.224,0.208,0.158,0.274,1.480,0.163,0.883,1.460,1.150,1.650,
+1.000,1.940,1.770,1.140,0.906,1.850,1.510,1.280,0.950,1.520,
+1.750,0.163,1.030,1.790,1.850,1.330,1.450,3.200,0.196,0.148,
+0.089,0.184,0.174,0.154,0.090,0.129,0.126,0.020,0.073,0.109,
+0.137,0.154,0.097,0.175,0.144,0.128,0.064,0.100,0.136,0.150,
+0.091,0.098,0.123,0.024,0.106,0.119,0.096,0.124,0.073,0.114,
+0.130,0.176,0.112,0.142,0.021,0.035,0.040,0.026,0.167,0.033,
+0.119,0.169,0.114,0.193,0.123,0.299,0.167,0.120,0.086,0.185,
+0.190,0.211,0.144,0.199,0.160,0.019,0.112,0.176,0.158,0.138,
+0.133,0.286,2.000,1.230,0.829,1.190,1.530,1.390,1.060,1.220,
+1.470,0.223,0.973,1.140,1.170,1.310,1.210,1.730,0.136,0.140,
+0.069,0.100,0.115,0.147,0.103,0.087,0.127,0.031,0.168,0.118,
+0.124,0.187,0.122,0.147,1.350,1.830,1.040,1.330,0.141,0.183,
+0.128,0.157,1.510,0.192,0.742,1.020,0.883,1.430,1.040,1.340,
+1.280,0.921,0.731,1.060,1.420,1.440,1.070,1.330,1.610,0.161,
+1.350,1.460,1.200,1.260,1.380,1.980,2.040,1.070,0.794,1.520,
+1.230,0.862,0.634,0.911,1.350,0.129,0.828,1.170,1.640,1.180,
+1.030,1.870,2.140,1.510,0.986,1.460,1.490,1.380,0.996,1.050,
+1.660,0.156,1.230,1.500,1.740,1.810,1.240,1.840,1.900,1.890,
+1.270,1.940,0.164,0.235,0.127,0.182,1.740,0.172,1.240,1.670,
+1.670,2.000,1.590,2.180,1.840,1.120,1.010,1.630,1.520,1.430,
+1.010,1.390,2.010,0.159,1.580,2.020,2.220,2.000,2.000,3.260,
+6.160,2.260,1.820,3.990,2.100,1.200,1.020,1.760,2.090,0.174,
+0.947,1.760,3.110,1.930,1.330,3.340,2.520,1.330,0.854,1.490,
+1.380,0.856,0.718,1.040,1.420,0.116,0.975,1.330,1.290,1.070,
+0.834,1.560,2.090,2.120,1.050,2.190,0.156,0.154,0.093,0.232,
+1.320,0.124,0.723,1.320,1.430,1.460,0.991,2.040,3.200,1.650,
+1.450,3.360,1.870,1.230,1.110,2.150,1.880,0.139,1.180,2.310,
+3.490,1.960,2.110,5.820,2.790,1.490,1.040,2.090,1.620,1.130,
+0.856,1.240,1.320,0.116,0.642,1.210,1.500,1.270,0.835,2.040,
+1.780,1.130,0.643,1.150,1.160,0.830,0.603,0.878,1.150,0.098,
+0.756,1.160,1.000,0.985,0.693,1.280,1.500,1.360,0.878,1.520,
+0.100,0.109,0.080,0.131,1.300,0.119,0.757,1.330,1.290,1.590,
+0.998,2.040,1.850,1.090,0.953,1.930,1.620,1.230,0.932,1.650,
+1.430,0.100,0.881,1.580,1.780,1.400,1.340,3.040,3.040,1.660,
+1.390,2.050,2.130,1.490,1.330,1.980,2.150,0.228,1.070,1.760,
+2.090,1.740,1.570,3.290,0.187,0.165,0.096,0.166,0.136,0.143,
+0.110,0.140,0.130,0.019,0.105,0.144,0.173,0.191,0.126,0.241,
+1.920,1.940,1.310,2.080,0.137,0.137,0.102,0.200,1.820,0.171,
+1.020,1.570,1.530,1.870,1.490,2.300,2.260,1.510,1.340,2.060,
+2.270,1.740,1.520,2.390,2.250,0.176,1.690,2.450,2.200,1.760,
+2.170,3.600,5.840,2.160,1.820,3.760,2.230,1.450,1.210,1.810,
+2.690,0.205,1.340,2.410,3.860,2.390,2.100,5.940,3.320,2.000,
+1.310,2.180,2.240,1.930,1.260,1.670,2.330,0.152,1.360,2.210,
+2.520,2.130,1.620,3.300,3.260,2.730,2.000,3.370,0.178,0.171,
+0.114,0.235,2.780,0.195,1.920,3.110,3.090,3.150,2.820,4.430,
+6.430,2.840,2.720,5.840,3.360,2.520,2.110,3.700,4.150,0.234,
+2.990,5.340,6.910,3.980,4.430,8.120,6.850,3.650,2.620,4.760,
+4.040,2.540,1.880,2.320,3.810,0.407,1.600,2.470,4.570,3.660,
+1.970,3.300,4.660,2.800,1.570,2.050,2.750,1.850,1.370,1.360,
+2.330,0.227,1.260,1.570,1.750,1.780,1.180,1.770,2.780,2.360,
+1.520,2.060,0.264,0.268,0.187,0.304,1.810,0.214,1.060,1.300,
+1.550,2.140,1.310,1.800,4.120,1.960,1.720,3.020,2.910,2.100,
+1.700,2.550,2.190,0.209,1.200,1.840,2.630,1.830,1.760,2.960,
+4.700,2.420,1.320,2.210,2.810,2.150,1.280,1.450,2.220,0.277,
+0.893,1.340,1.640,1.790,0.843,1.460,3.240,2.290,1.030,1.360,
+2.080,1.570,1.070,1.020,1.840,0.261,1.000,1.340,1.060,1.450,
+0.779,1.030,1.820,2.080,1.000,1.290,0.185,0.243,0.146,0.162,
+1.830,0.266,1.060,1.270,0.979,1.790,1.010,1.270,1.520,1.110,
+0.702,1.150,1.670,1.490,0.889,1.170,1.600,0.163,0.930,1.270,
+1.290,1.230,1.060,1.780,2.390,1.300,0.866,1.340,1.890,1.200,
+1.040,1.130,1.700,0.240,0.739,1.190,1.310,1.290,0.911,1.690,
+0.209,0.187,0.093,0.130,0.174,0.165,0.122,0.117,0.166,0.044,
+0.119,0.160,0.154,0.257,0.127,0.196,1.160,1.150,0.911,0.878,
+0.137,0.133,0.113,0.126,1.170,0.209,0.645,0.803,0.674,1.070,
+0.743,0.800,1.120,0.768,0.637,0.912,1.410,1.150,0.868,1.140,
+1.360,0.165,0.953,1.210,1.020,1.130,1.060,1.520,3.310,1.380,
+0.977,2.040,1.500,0.885,0.790,1.030,1.560,0.156,0.624,1.110,
+2.000,1.430,1.020,2.340,2.750,1.740,1.040,1.380,1.760,1.270,
+0.999,1.030,1.480,0.146,0.874,1.240,1.380,1.580,0.995,1.650,
+1.390,1.290,1.060,1.280,0.140,0.123,0.180,0.144,1.210,0.128,
+0.763,1.060,1.030,1.370,1.040,1.270,1.970,1.150,0.994,1.820,
+1.280,1.010,0.942,1.300,1.770,0.158,1.120,1.800,2.020,1.810,
+1.710,3.020,4.520,3.150,1.840,2.840,2.670,2.310,1.520,1.610,
+1.880,0.244,0.936,1.380,1.730,1.910,1.140,1.800,3.140,3.490,
+1.360,1.590,2.250,1.920,1.440,1.300,1.490,0.242,1.010,1.280,
+0.949,1.340,0.818,1.180,1.600,2.360,1.150,1.280,0.233,0.427,
+0.190,0.213,1.300,0.201,1.020,1.030,0.858,1.460,1.030,1.230,
+1.660,1.060,0.839,1.260,1.850,1.890,1.030,1.260,1.190,0.206,
+0.719,1.010,1.280,1.090,1.010,1.900,3.110,2.690,1.060,1.470,
+2.230,2.550,1.230,1.110,1.520,0.265,0.718,0.989,0.956,1.470,
+0.724,1.130,2.100,2.460,0.901,0.985,1.750,1.210,1.190,0.931,
+1.440,0.314,0.876,1.150,0.726,1.380,0.741,0.839,1.350,2.520,
+0.961,1.040,0.222,0.534,0.213,0.175,1.680,0.450,1.050,1.290,
+0.805,2.360,1.040,1.190,1.050,0.996,0.515,0.761,1.500,1.920,
+0.773,0.897,1.300,0.196,0.666,0.923,0.894,1.190,0.714,1.280,
+1.680,1.420,0.719,0.975,1.730,1.660,1.230,1.040,1.240,0.224,
+0.766,0.940,0.738,1.050,0.794,1.060,0.158,0.330,0.104,0.114,
+0.174,0.291,0.198,0.116,0.171,0.103,0.173,0.167,0.082,0.231,
+0.118,0.119,1.220,1.620,1.830,1.050,0.269,0.300,0.236,0.170,
+1.420,0.279,0.962,1.080,0.626,1.440,1.050,0.944,0.911,0.698,
+0.609,0.794,1.480,1.700,1.160,1.180,1.260,0.174,0.974,1.180,
+0.736,0.969,0.977,1.230,1.450,0.917,0.596,0.925,1.010,0.797,
+0.723,0.640,0.849,0.091,0.396,0.584,0.817,0.726,0.529,0.961,
+1.480,1.620,0.817,0.929,1.200,1.350,0.847,0.827,1.150,0.161,
+0.676,0.896,0.700,1.240,0.682,0.961,0.953,1.260,0.882,0.928,
+0.105,0.159,0.098,0.104,0.952,0.137,0.737,0.928,0.660,1.110,
+0.980,1.050,1.120,0.777,0.602,0.897,1.030,1.040,0.638,0.905,
+1.250,0.177,0.814,1.210,1.210,1.400,1.220,1.850,2.220,1.610,
+0.928,1.600,1.270,1.100,0.684,0.860,1.080,0.141,0.549,0.833,
+1.090,1.110,0.580,1.100,2.020,2.170,0.990,1.170,1.430,1.320,
+0.908,0.867,1.340,0.222,0.872,1.030,0.833,1.320,0.685,0.968,
+1.280,1.750,1.030,1.240,0.172,0.239,0.147,0.213,1.040,0.164,
+0.636,0.814,0.681,1.280,0.670,0.991,1.190,0.801,0.661,1.090,
+1.190,1.080,0.706,0.951,1.080,0.133,0.652,1.030,1.120,1.010,
+0.962,2.180,0.162,0.172,0.074,0.120,0.165,0.227,0.104,0.107,
+0.134,0.041,0.076,0.094,0.093,0.168,0.072,0.107,0.175,0.310,
+0.100,0.115,0.209,0.326,0.155,0.127,0.170,0.073,0.139,0.141,
+0.087,0.208,0.090,0.105,0.104,0.220,0.102,0.104,0.033,0.081,
+0.053,0.030,0.158,0.068,0.141,0.133,0.081,0.240,0.113,0.120,
+0.120,0.108,0.068,0.111,0.218,0.278,0.151,0.171,0.160,0.035,
+0.115,0.145,0.124,0.149,0.118,0.215,1.060,0.864,0.527,0.667,
+0.957,0.947,0.912,0.652,1.140,0.206,0.619,0.711,0.613,0.808,
+0.592,0.741,0.105,0.175,0.070,0.068,0.099,0.153,0.112,0.064,
+0.124,0.054,0.105,0.103,0.079,0.175,0.090,0.085,0.770,1.220,
+0.686,0.637,0.114,0.186,0.138,0.100,1.050,0.230,0.562,0.743,
+0.501,1.200,0.715,0.687,0.669,0.541,0.421,0.482,0.852,1.010,
+0.732,0.705,1.120,0.211,0.760,0.883,0.613,0.987,0.717,0.929,
+1.050,0.661,0.416,0.824,0.745,0.515,0.383,0.432,0.999,0.098,
+0.341,0.565,0.808,0.650,0.410,0.851,1.300,1.220,0.646,0.770,
+1.070,1.080,0.722,0.665,1.040,0.148,0.675,0.875,0.813,1.150,
+0.670,0.871,0.928,1.200,0.751,0.818,0.118,0.170,0.103,0.103,
+1.130,0.190,0.689,0.898,0.710,1.270,0.768,0.961,1.010,0.676,
+0.596,0.721,0.958,0.973,0.706,0.797,1.290,0.151,0.951,1.270,
+1.140,1.310,1.060,1.720,2.570,1.470,0.996,1.990,1.130,0.825,
+0.582,0.760,1.070,0.122,0.480,0.861,1.520,1.200,0.717,1.620,
+1.310,0.939,0.524,0.969,0.825,0.568,0.416,0.538,0.757,0.080,
+0.384,0.630,0.658,0.681,0.405,0.754,1.130,1.070,0.624,1.100,
+0.116,0.121,0.072,0.148,0.799,0.081,0.402,0.618,0.673,0.833,
+0.523,0.898,1.440,0.784,0.689,1.520,1.040,0.785,0.595,0.984,
+0.919,0.085,0.561,0.904,1.380,1.010,0.976,2.440,2.130,1.500,
+0.808,1.450,1.570,1.410,0.743,0.938,1.290,0.175,0.592,0.970,
+1.100,1.390,0.636,1.160,1.580,1.590,0.651,1.090,1.390,1.400,
+0.760,0.831,1.190,0.203,0.687,1.050,0.802,1.240,0.560,0.923,
+0.982,1.200,0.565,0.868,0.102,0.158,0.085,0.114,1.080,0.152,
+0.686,0.901,0.769,1.380,0.765,1.030,0.999,0.724,0.507,0.918,
+1.200,1.200,0.718,1.100,1.060,0.108,0.667,0.983,1.030,1.040,
+0.843,1.610,1.120,0.832,0.474,0.781,0.971,0.731,0.585,0.703,
+1.070,0.204,0.585,0.912,0.795,0.916,0.652,1.080,0.087,0.119,
+0.050,0.086,0.074,0.098,0.065,0.064,0.111,0.045,0.087,0.155,
+0.080,0.154,0.070,0.108,0.719,0.864,0.605,0.664,0.082,0.094,
+0.125,0.090,0.853,0.125,0.492,0.712,0.533,0.909,0.741,0.801,
+0.706,0.540,0.424,0.649,0.941,0.824,0.701,0.865,1.050,0.165,
+0.652,0.988,0.756,0.889,0.771,1.240,1.890,0.886,0.608,1.190,
+0.959,0.658,0.469,0.638,1.490,0.120,0.442,0.797,1.360,0.942,
+0.705,1.620,1.040,0.774,0.457,0.782,0.839,0.650,0.517,0.637,
+0.867,0.092,0.497,0.930,0.764,0.886,0.552,1.020,1.180,1.130,
+0.702,1.080,0.107,0.103,0.072,0.108,1.200,0.115,0.685,1.080,
+1.020,1.350,1.070,1.380,1.690,0.972,0.788,1.640,1.350,1.250,
+0.886,1.280,1.720,0.128,1.110,1.900,2.200,1.760,1.720,3.270,
+3.960,2.610,1.810,2.920,2.730,2.150,1.320,1.520,2.150,0.290,
+1.070,1.650,2.310,2.280,1.160,1.990,2.900,2.350,1.220,1.490,
+2.530,2.030,1.340,1.220,1.740,0.252,1.280,1.430,1.090,1.500,
+0.977,1.260,1.310,1.380,0.901,1.130,0.152,0.177,0.137,0.178,
+1.010,0.152,0.701,0.749,0.766,1.200,0.808,1.040,1.610,0.962,
+0.783,1.400,1.500,1.320,0.951,1.250,1.150,0.145,0.746,1.060,
+1.300,1.070,1.070,1.820,3.110,2.170,1.020,1.660,2.420,2.180,
+1.080,1.120,1.640,0.291,0.904,1.120,1.110,1.550,0.668,1.120,
+2.350,2.430,0.922,1.260,2.160,1.960,1.150,1.090,1.700,0.438,
+1.390,1.710,0.874,1.690,0.753,0.972,1.080,1.650,0.777,0.828,
+0.172,0.295,0.207,0.152,1.290,0.310,1.060,1.030,0.697,1.670,
+0.953,0.979,0.806,0.733,0.467,0.638,1.170,1.320,0.935,0.863,
+1.010,0.148,0.708,1.010,0.778,0.954,0.889,1.350,1.370,0.967,
+0.562,0.812,1.480,1.250,0.860,0.890,1.390,0.230,0.668,0.867,
+0.791,0.989,0.640,1.110,0.119,0.173,0.089,0.102,0.176,0.240,
+0.152,0.123,0.155,0.079,0.155,0.158,0.091,0.241,0.111,0.137,
+0.639,0.885,0.639,0.575,0.103,0.138,0.108,0.104,0.837,0.173,
+0.667,0.730,0.436,0.876,0.614,0.616,0.643,0.510,0.522,0.559,
+0.895,0.956,0.634,0.791,0.893,0.156,0.685,0.870,0.632,0.880,
+0.822,1.100,1.520,0.732,0.494,1.010,0.837,0.570,0.382,0.525,
+0.914,0.098,0.387,0.583,0.991,0.815,0.531,1.250,1.370,1.190,
+0.677,0.883,1.360,1.290,0.773,0.825,0.954,0.145,0.679,0.948,
+0.687,1.140,0.611,0.945,0.670,0.736,0.664,0.717,0.073,0.086,
+0.099,0.088,0.689,0.102,0.577,0.699,0.502,0.838,0.630,0.754,
+1.020,0.696,0.809,1.010,0.683,0.705,0.563,0.712,1.010,0.116,
+0.712,1.050,1.090,1.220,1.080,1.880,2.780,2.060,1.200,1.810,
+2.160,2.220,1.290,1.240,1.210,0.188,0.685,0.935,1.060,1.290,
+0.671,1.120,2.110,2.110,1.090,1.150,2.190,2.440,1.860,1.320,
+1.200,0.275,1.040,1.160,0.646,1.220,0.683,0.893,0.942,1.370,
+0.838,0.875,0.139,0.242,0.174,0.161,0.834,0.167,0.774,0.744,
+0.734,1.020,0.707,0.858,0.856,0.610,0.480,0.785,1.070,1.300,
+0.750,0.844,0.676,0.099,0.562,0.683,1.160,0.759,0.692,1.210,
+2.130,1.820,0.710,0.925,1.650,2.160,0.932,0.829,1.150,0.235,
+0.660,0.782,0.662,1.100,0.456,0.759,1.290,1.260,0.580,0.645,
+0.679,0.537,0.581,0.510,0.972,0.416,0.696,0.898,0.445,1.200,
+0.518,0.604,0.769,1.630,0.681,0.700,0.166,0.556,0.246,0.166,
+1.030,0.354,0.794,1.000,0.509,1.670,0.861,0.902,0.547,0.623,
+0.361,0.449,0.949,1.710,0.664,0.724,0.764,0.159,0.636,0.810,
+0.548,0.841,0.558,0.969,1.150,1.070,0.608,0.681,1.520,1.930,
+1.150,0.945,1.080,0.243,0.707,0.795,0.583,1.050,0.655,0.854,
+0.111,0.259,0.130,0.104,0.240,0.617,0.305,0.165,0.181,0.178,
+0.234,0.182,0.075,0.344,0.133,0.111,0.727,1.330,0.821,0.716,
+0.166,0.373,0.243,0.159,0.941,0.257,0.779,0.888,0.443,1.350,
+0.931,0.822,0.536,0.511,0.406,0.494,1.100,1.770,1.150,1.040,
+0.997,0.178,0.948,1.010,0.587,0.862,0.915,1.080,0.909,0.652,
+0.401,0.629,0.776,0.747,0.396,0.450,0.687,0.083,0.330,0.430,
+0.598,0.583,0.367,0.659,0.928,1.230,0.696,0.735,1.210,1.980,
+0.881,0.858,0.834,0.193,0.635,0.792,0.479,1.190,0.578,0.714,
+0.585,0.954,0.630,0.657,0.074,0.167,0.096,0.091,0.628,0.127,
+0.736,0.762,0.422,0.930,0.860,0.860,0.633,0.541,0.379,0.587,
+0.650,0.929,0.502,0.675,0.751,0.100,0.625,0.810,0.698,0.956,
+0.954,1.370,1.710,1.390,0.752,1.220,1.270,1.120,0.605,0.863,
+1.010,0.137,0.505,0.674,0.815,0.927,0.460,0.885,1.850,2.190,
+0.773,1.060,1.940,1.890,1.190,1.120,1.440,0.310,1.190,1.230,
+0.709,1.370,0.619,0.888,0.917,1.460,0.775,1.010,0.189,0.249,
+0.142,0.208,0.929,0.199,0.622,0.791,0.551,1.220,0.596,0.818,
+0.806,0.635,0.414,0.829,1.120,1.170,0.627,0.887,0.877,0.137,
+0.652,0.949,0.803,0.845,0.770,1.540,0.145,0.151,0.061,0.091,
+0.200,0.305,0.141,0.125,0.151,0.051,0.090,0.093,0.073,0.154,
+0.070,0.105,0.166,0.353,0.100,0.137,0.338,0.639,0.332,0.218,
+0.234,0.265,0.276,0.230,0.079,0.260,0.094,0.103,0.100,0.249,
+0.113,0.094,0.077,0.199,0.117,0.050,0.175,0.138,0.224,0.183,
+0.072,0.274,0.149,0.111,0.082,0.089,0.043,0.072,0.329,0.404,
+0.151,0.168,0.120,0.048,0.139,0.146,0.077,0.116,0.098,0.148,
+1.090,1.240,0.575,0.688,1.200,1.630,0.959,0.825,1.220,0.291,
+0.815,0.845,0.599,0.996,0.633,0.865,0.135,0.418,0.115,0.095,
+0.180,0.449,0.251,0.130,0.193,0.150,0.262,0.180,0.081,0.260,
+0.120,0.107,0.693,1.450,0.687,0.653,0.145,0.313,0.184,0.132,
+1.110,0.330,0.629,0.879,0.468,1.350,0.714,0.734,0.550,0.569,
+0.355,0.506,0.999,1.560,0.839,0.942,1.190,0.254,1.150,1.160,
+0.563,0.965,0.811,1.030,0.864,0.672,0.377,0.723,0.650,0.550,
+0.329,0.407,0.719,0.096,0.376,0.590,0.591,0.606,0.344,0.812,
+1.270,1.860,0.685,0.779,1.540,1.930,1.040,0.937,1.450,0.300,
+1.120,1.300,0.751,1.500,0.739,0.953,0.797,1.290,0.833,0.802,
+0.099,0.203,0.123,0.105,1.040,0.232,0.888,1.030,0.583,1.460,
+0.810,0.938,0.741,0.640,0.443,0.742,0.765,0.968,0.584,0.728,
+1.130,0.151,1.090,1.280,0.897,1.270,1.020,1.460,1.470,0.901,
+0.585,1.150,0.882,0.658,0.415,0.674,0.760,0.087,0.368,0.645,
+0.828,0.716,0.396,0.991,1.140,0.926,0.422,0.682,0.830,0.695,
+0.435,0.585,0.638,0.085,0.380,0.586,0.482,0.578,0.308,0.609,
+0.698,0.720,0.399,0.698,0.070,0.073,0.043,0.095,0.550,0.070,
+0.312,0.480,0.424,0.587,0.350,0.599,0.793,0.508,0.380,0.897,
+0.626,0.545,0.361,0.720,0.595,0.061,0.364,0.648,0.773,0.606,
+0.553,1.390,1.440,1.080,0.530,0.898,1.260,1.360,0.749,0.824,
+1.080,0.171,0.583,0.829,0.752,1.100,0.480,0.930,1.240,1.440,
+0.510,0.780,1.610,1.880,0.919,0.961,1.240,0.305,0.810,1.120,
+0.720,1.380,0.553,0.849,0.634,1.020,0.472,0.604,0.117,0.204,
+0.103,0.114,0.864,0.165,0.653,0.777,0.555,1.170,0.656,0.771,
+0.542,0.479,0.326,0.572,0.942,1.180,0.591,0.971,0.763,0.108,
+0.600,0.818,0.616,0.747,0.621,1.120,0.883,0.725,0.386,0.548,
+0.942,0.960,0.624,0.682,1.000,0.161,0.572,0.742,0.599,0.742,
+0.522,0.869,0.069,0.123,0.042,0.059,0.082,0.175,0.090,0.074,
+0.086,0.038,0.083,0.091,0.055,0.120,0.064,0.080,0.486,0.746,
+0.417,0.499,0.067,0.105,0.075,0.082,0.790,0.158,0.576,0.745,
+0.426,0.881,0.581,0.676,0.481,0.455,0.308,0.485,0.730,0.850,
+0.568,0.777,0.962,0.207,0.745,0.953,0.578,0.828,0.709,1.020,
+1.080,0.667,0.392,0.755,0.613,0.526,0.318,0.437,0.721,0.074,
+0.371,0.552,0.706,0.577,0.428,0.965,0.855,0.770,0.367,0.558,
+0.766,0.881,0.492,0.626,0.820,0.097,0.503,0.690,0.586,0.729,
+0.472,0.837,0.743,0.761,0.493,0.691,0.070,0.078,0.050,0.080,
+0.769,0.097,0.595,0.805,0.603,0.960,0.748,0.942,0.964,0.632,
+0.502,1.000,0.864,0.989,0.640,0.961,1.130,0.115,0.920,1.360,
+1.340,1.330,1.280,1.730,2.140,1.500,1.240,1.910,1.660,1.300,
+1.010,1.110,1.380,0.164,0.655,1.030,1.580,1.420,0.808,1.390,
+1.440,1.180,0.843,0.889,1.140,0.846,0.772,0.715,0.907,0.128,
+0.599,0.715,0.692,0.874,0.661,0.879,1.030,1.000,0.635,0.937,
+0.108,0.110,0.086,0.145,0.710,0.094,0.476,0.764,0.543,0.771,
+0.549,0.826,1.190,0.676,0.529,0.996,1.070,0.881,0.658,0.910,
+0.733,0.077,0.538,0.702,0.924,0.652,0.772,1.350,2.150,1.690,
+0.894,1.320,1.910,1.800,1.270,1.120,1.200,0.197,0.583,0.738,
+0.911,1.220,0.586,0.967,1.650,1.850,0.796,0.902,1.540,1.280,
+1.170,0.919,1.400,0.314,0.814,1.020,0.729,1.350,0.630,0.793,
+1.180,1.710,0.871,1.070,0.186,0.289,0.202,0.202,1.350,0.285,
+1.060,1.350,0.680,1.530,0.965,1.040,0.879,0.699,0.415,0.709,
+1.490,1.500,0.803,1.030,0.877,0.113,0.561,0.797,0.748,0.773,
+0.709,1.280,1.190,0.774,0.505,0.813,1.420,1.160,0.994,1.010,
+1.540,0.269,0.567,0.728,0.980,1.130,0.624,1.050,0.118,0.161,
+0.077,0.130,0.153,0.189,0.154,0.145,0.207,0.076,0.129,0.135,
+0.139,0.338,0.127,0.177,0.715,0.816,0.651,0.726,0.118,0.135,
+0.135,0.147,0.881,0.206,0.561,0.614,0.516,1.060,0.602,0.674,
+0.588,0.412,0.340,0.553,0.952,0.962,0.778,0.962,0.797,0.120,
+0.736,0.708,0.724,0.749,0.704,1.230,1.210,0.615,0.449,0.892,
+0.715,0.496,0.463,0.595,0.824,0.098,0.338,0.510,1.090,0.878,
+0.513,1.160,1.050,1.010,0.539,0.774,0.894,0.826,0.715,0.794,
+1.030,0.171,0.567,0.747,0.847,1.260,0.615,0.980,0.726,0.834,
+0.670,0.838,0.086,0.094,0.094,0.121,0.797,0.113,0.637,0.828,
+0.658,1.030,0.804,0.994,0.970,0.630,0.521,1.020,0.722,0.616,
+0.622,0.862,1.070,0.116,0.820,1.110,1.440,1.330,1.370,2.320,
+0.125,0.122,0.121,0.101,0.123,0.150,0.094,0.092,0.083,0.021,
+0.052,0.063,0.074,0.103,0.059,0.081,0.153,0.191,0.203,0.112,
+0.191,0.219,0.209,0.128,0.124,0.069,0.131,0.108,0.063,0.144,
+0.087,0.087,0.079,0.167,0.077,0.077,0.022,0.044,0.033,0.025,
+0.078,0.031,0.087,0.086,0.048,0.105,0.078,0.084,0.078,0.065,
+0.050,0.075,0.117,0.143,0.096,0.102,0.079,0.018,0.074,0.084,
+0.083,0.076,0.095,0.127,0.134,0.185,0.078,0.083,0.179,0.321,
+0.184,0.110,0.104,0.051,0.074,0.069,0.055,0.120,0.078,0.068,
+0.197,0.352,0.136,0.106,0.330,0.385,0.361,0.189,0.236,0.195,
+0.176,0.161,0.085,0.258,0.110,0.094,0.103,0.263,0.119,0.100,
+0.059,0.246,0.133,0.050,0.189,0.151,0.206,0.170,0.062,0.266,
+0.173,0.126,0.072,0.080,0.046,0.060,0.161,0.266,0.136,0.115,
+0.102,0.032,0.090,0.086,0.060,0.094,0.083,0.120,0.081,0.087,
+0.048,0.074,0.137,0.210,0.168,0.113,0.157,0.073,0.096,0.077,
+0.059,0.146,0.070,0.079,0.021,0.060,0.027,0.043,0.059,0.150,
+0.124,0.050,0.078,0.128,0.096,0.057,0.016,0.088,0.040,0.025,
+0.081,0.165,0.153,0.113,0.045,0.113,0.119,0.045,0.215,0.192,
+0.192,0.142,0.065,0.295,0.151,0.106,0.063,0.057,0.050,0.065,
+0.134,0.230,0.187,0.140,0.129,0.057,0.157,0.122,0.062,0.108,
+0.109,0.130,0.087,0.088,0.051,0.075,0.074,0.078,0.060,0.062,
+0.077,0.015,0.041,0.051,0.083,0.098,0.059,0.104,0.151,0.289,
+0.104,0.134,0.181,0.253,0.191,0.180,0.199,0.083,0.124,0.133,
+0.114,0.321,0.120,0.140,0.067,0.128,0.093,0.089,0.016,0.039,
+0.031,0.022,0.118,0.048,0.135,0.140,0.068,0.169,0.139,0.125,
+0.081,0.075,0.053,0.082,0.080,0.110,0.081,0.092,0.115,0.023,
+0.111,0.128,0.106,0.143,0.144,0.192,1.370,1.070,0.736,1.090,
+1.170,1.200,0.714,0.816,0.889,0.125,0.475,0.628,0.705,0.713,
+0.452,0.746,1.190,1.240,0.695,0.795,1.390,1.270,1.340,0.917,
+1.140,0.219,0.976,0.925,0.571,1.000,0.604,0.759,0.854,1.370,
+0.821,1.010,0.155,0.258,0.186,0.252,1.400,0.534,0.768,0.920,
+0.565,1.620,0.676,0.859,0.732,0.541,0.386,0.727,0.891,0.946,
+0.674,0.958,0.837,0.142,0.643,0.962,0.745,0.788,0.757,1.380,
+0.112,0.143,0.061,0.088,0.218,0.388,0.156,0.130,0.098,0.039,
+0.084,0.093,0.057,0.103,0.052,0.082,0.121,0.189,0.084,0.076,
+0.244,0.311,0.303,0.158,0.165,0.111,0.217,0.172,0.062,0.154,
+0.082,0.078,0.086,0.229,0.114,0.098,0.043,0.141,0.110,0.050,
+0.184,0.173,0.232,0.202,0.064,0.241,0.140,0.116,0.083,0.074,
+0.045,0.079,0.164,0.248,0.141,0.163,0.108,0.037,0.117,0.137,
+0.068,0.094,0.086,0.135,0.876,0.927,0.453,0.480,1.230,1.640,
+1.380,0.830,0.926,0.235,0.764,0.703,0.472,0.776,0.614,0.711,
+0.092,0.202,0.091,0.070,0.156,0.312,0.493,0.116,0.145,0.104,
+0.244,0.137,0.071,0.187,0.115,0.096,0.755,1.280,0.818,0.711,
+0.163,0.284,0.296,0.172,0.983,0.256,0.438,0.661,0.405,1.000,
+0.834,0.734,0.515,0.478,0.349,0.407,0.925,1.280,1.040,0.884,
+0.912,0.181,0.859,0.863,0.497,0.743,0.766,0.900,0.747,0.541,
+0.361,0.556,0.659,0.606,0.403,0.419,0.575,0.086,0.391,0.513,
+0.548,0.536,0.351,0.667,0.994,1.150,0.619,0.631,1.260,1.620,
+1.510,0.821,0.989,0.206,0.969,0.964,0.819,1.190,0.730,0.851,
+0.890,1.530,0.779,0.873,0.151,0.289,0.171,0.148,1.160,0.237,
+1.280,1.280,0.651,1.380,0.984,1.030,0.675,0.566,0.400,0.627,
+0.801,0.982,0.661,0.754,0.980,0.137,1.000,1.140,0.811,1.060,
+0.979,1.350,1.330,0.784,0.542,1.000,0.803,0.629,0.461,0.646,
+0.681,0.085,0.298,0.514,0.779,0.689,0.388,1.030,0.888,0.662,
+0.370,0.503,0.695,0.463,0.401,0.429,0.487,0.058,0.311,0.430,
+0.407,0.458,0.300,0.491,0.719,0.763,0.419,0.681,0.077,0.082,
+0.058,0.109,0.592,0.084,0.339,0.525,0.498,0.705,0.583,0.776,
+0.858,0.504,0.388,0.740,0.711,0.552,0.433,0.723,0.566,0.057,
+0.353,0.570,0.821,0.641,0.597,1.330,1.500,1.240,0.640,1.080,
+1.510,1.620,0.933,0.978,0.875,0.149,0.563,0.748,0.688,0.935,
+0.457,0.874,1.390,1.600,0.616,0.802,1.860,1.490,1.140,1.010,
+1.050,0.212,0.815,1.030,0.624,1.060,0.617,0.766,0.904,1.510,
+0.689,0.913,0.138,0.256,0.150,0.170,1.100,0.235,0.910,1.190,
+0.729,1.590,0.903,1.140,0.820,0.658,0.481,0.779,1.170,1.270,
+0.887,1.310,0.908,0.115,0.684,0.979,0.753,0.868,0.732,1.320,
+1.020,0.971,0.481,0.681,1.160,1.120,0.899,0.872,0.964,0.201,
+0.588,0.853,0.572,0.804,0.583,0.930,0.079,0.119,0.049,0.069,
+0.113,0.171,0.147,0.097,0.088,0.042,0.104,0.120,0.057,0.123,
+0.074,0.091,0.729,1.100,0.653,0.786,0.113,0.175,0.146,0.148,
+0.999,0.208,0.703,0.916,0.528,1.110,0.851,0.919,0.655,0.547,
+0.423,0.603,1.050,1.120,1.040,1.250,0.913,0.135,0.805,1.050,
+0.680,0.801,0.902,1.230,1.060,0.615,0.420,0.768,0.689,0.533,
+0.435,0.512,0.683,0.084,0.358,0.578,0.735,0.626,0.478,1.040,
+0.864,0.800,0.403,0.589,0.792,0.787,0.662,0.636,0.702,0.086,
+0.506,0.777,0.565,0.718,0.527,0.840,0.870,1.120,0.666,0.990,
+0.091,0.127,0.079,0.120,1.130,0.149,0.960,1.370,0.816,1.290,
+1.070,1.270,1.130,0.731,0.587,1.210,1.030,1.080,0.844,1.180,
+1.210,0.116,1.020,1.570,1.400,1.330,1.350,1.880,2.160,1.280,
+1.100,2.300,1.250,0.812,0.626,0.917,1.230,0.120,0.478,0.886,
+1.800,1.390,0.692,1.530,1.280,0.819,0.559,0.790,0.800,0.510,
+0.413,0.484,0.727,0.072,0.428,0.508,0.798,0.838,0.499,0.842,
+0.979,0.780,0.549,0.907,0.081,0.070,0.051,0.108,0.614,0.060,
+0.326,0.515,0.647,0.763,0.494,0.916,1.360,0.686,0.592,1.200,
+0.907,0.632,0.496,0.832,0.778,0.068,0.540,0.678,1.180,0.781,
+0.786,1.760,1.590,0.909,0.523,1.030,1.060,0.698,0.450,0.603,
+0.732,0.084,0.292,0.509,0.781,0.747,0.358,0.789,0.942,0.759,
+0.358,0.549,0.649,0.531,0.351,0.423,0.641,0.078,0.301,0.470,
+0.579,0.645,0.340,0.545,0.669,0.671,0.412,0.651,0.061,0.074,
+0.047,0.071,0.642,0.085,0.342,0.512,0.576,0.971,0.461,0.660,
+0.668,0.482,0.305,0.627,0.617,0.534,0.321,0.519,0.559,0.049,
+0.337,0.494,0.628,0.562,0.492,1.010,1.070,0.567,0.421,0.765,
+0.812,0.542,0.460,0.687,0.862,0.113,0.300,0.518,0.892,0.754,
+0.419,0.974,0.071,0.064,0.035,0.067,0.061,0.057,0.043,0.060,
+0.068,0.015,0.035,0.054,0.106,0.142,0.053,0.107,0.497,0.507,
+0.393,0.536,0.051,0.050,0.042,0.062,0.520,0.069,0.292,0.382,
+0.452,0.597,0.387,0.537,0.521,0.356,0.304,0.581,0.587,0.499,
+0.377,0.587,0.563,0.061,0.352,0.513,0.654,0.557,0.529,1.010,
+1.420,0.607,0.477,1.140,0.669,0.398,0.363,0.580,0.960,0.096,
+0.333,0.591,1.690,0.992,0.550,1.440,0.884,0.619,0.399,0.657,
+0.587,0.443,0.367,0.492,0.702,0.072,0.349,0.537,1.020,1.110,
+0.526,1.010,0.661,0.635,0.495,0.742,0.055,0.047,0.045,0.068,
+0.592,0.054,0.378,0.562,0.682,0.787,0.599,0.938,1.120,0.666,
+0.569,1.220,0.685,0.517,0.464,0.739,0.953,0.079,0.610,1.010,
+1.600,1.290,1.290,2.700,2.000,1.280,0.962,1.610,1.300,1.020,
+0.687,0.891,0.976,0.123,0.500,0.744,1.090,1.120,0.571,1.150,
+1.480,1.140,0.884,0.964,1.230,1.020,0.806,0.782,0.934,0.152,
+1.020,0.826,0.629,1.040,0.599,0.842,0.893,1.080,0.630,0.953,
+0.102,0.136,0.087,0.140,0.700,0.105,0.531,0.803,0.598,0.896,
+0.643,1.040,0.948,0.613,0.500,0.925,1.000,0.968,0.622,0.941,
+0.704,0.084,0.489,0.706,0.899,0.715,0.733,1.430,1.530,1.230,
+0.575,0.981,1.260,1.260,0.696,0.744,0.791,0.132,0.372,0.553,
+0.681,0.875,0.438,0.772,1.340,1.540,0.589,0.760,1.360,1.200,
+0.826,0.853,1.000,0.229,0.587,0.764,0.621,1.160,0.515,0.722,
+0.805,1.190,0.647,0.856,0.117,0.217,0.143,0.139,0.955,0.187,
+0.636,0.841,0.625,1.240,0.831,1.010,0.718,0.640,0.390,0.699,
+0.940,1.210,0.605,0.806,0.742,0.086,0.473,0.711,0.706,0.759,
+0.606,1.150,0.924,0.632,0.363,0.641,0.911,0.895,0.647,0.771,
+0.921,0.190,0.412,0.521,0.664,0.940,0.440,0.847,0.065,0.102,
+0.048,0.084,0.091,0.157,0.102,0.098,0.114,0.074,0.086,0.083,
+0.079,0.256,0.072,0.095,0.647,0.879,0.618,0.691,0.085,0.130,
+0.101,0.109,0.871,0.205,0.502,0.677,0.513,1.110,0.664,0.779,
+0.634,0.498,0.397,0.662,0.885,1.120,0.773,0.914,0.842,0.099,
+0.564,0.777,0.668,0.717,0.704,1.190,0.964,0.613,0.432,0.764,
+0.614,0.498,0.384,0.507,0.790,0.095,0.344,0.497,1.040,0.948,
+0.483,1.030,1.000,1.090,0.615,0.834,0.893,1.000,0.740,0.858,
+1.090,0.229,0.624,0.805,1.180,3.000,0.777,1.230,0.648,0.811,
+0.593,0.790,0.065,0.093,0.066,0.085,0.753,0.106,0.609,0.870,
+0.625,1.100,0.767,1.030,0.860,0.627,0.505,0.819,0.759,0.809,
+0.556,0.780,0.944,0.096,0.680,1.080,1.140,1.230,1.090,1.930,
+1.270,0.879,0.546,1.040,0.771,0.707,0.394,0.601,0.710,0.077,
+0.333,0.545,0.713,0.631,0.373,0.773,1.090,0.977,0.478,0.721,
+0.964,0.830,0.579,0.588,0.811,0.118,0.566,0.671,0.563,0.838,
+0.486,0.727,0.794,0.992,0.660,0.922,0.102,0.134,0.090,0.156,
+0.774,0.125,0.566,0.723,0.528,0.975,0.584,0.880,0.758,0.540,
+0.388,0.800,0.741,0.724,0.467,0.735,0.793,0.096,0.527,0.854,
+0.847,0.758,0.743,1.520,0.076,0.079,0.040,0.072,0.079,0.125,
+0.045,0.062,0.054,0.013,0.036,0.048,0.049,0.072,0.036,0.068,
+0.072,0.098,0.037,0.048,0.111,0.185,0.078,0.071,0.078,0.032,
+0.079,0.078,0.046,0.096,0.048,0.058,0.051,0.091,0.048,0.055,
+0.013,0.033,0.021,0.014,0.084,0.034,0.103,0.084,0.048,0.118,
+0.069,0.080,0.060,0.056,0.033,0.067,0.089,0.127,0.062,0.088,
+0.072,0.018,0.063,0.086,0.068,0.077,0.062,0.120,0.779,0.654,
+0.342,0.452,0.713,0.817,0.577,0.564,0.689,0.136,0.404,0.498,
+0.465,0.654,0.488,0.729,0.061,0.094,0.038,0.044,0.068,0.108,
+0.079,0.050,0.071,0.033,0.071,0.063,0.055,0.125,0.067,0.079,
+0.581,1.020,0.529,0.565,0.084,0.145,0.104,0.087,0.866,0.161,
+0.413,0.605,0.419,0.917,0.607,0.676,0.539,0.491,0.325,0.447,
+0.715,0.900,0.635,0.674,0.890,0.121,0.645,0.779,0.592,0.729,
+0.696,0.987,0.786,0.477,0.326,0.597,0.542,0.439,0.319,0.421,
+0.587,0.070,0.343,0.493,0.605,0.563,0.385,0.776,0.888,0.826,
+0.456,0.616,0.765,0.818,0.593,0.552,0.795,0.116,0.577,0.723,
+0.688,1.080,0.670,0.897,1.030,1.050,0.726,0.803,0.132,0.133,
+0.144,0.095,0.944,0.122,0.731,0.945,0.822,1.140,0.856,1.060,
+0.799,0.589,0.488,0.737,0.730,0.747,0.627,0.696,1.050,0.102,
+0.866,1.160,1.040,1.100,1.030,1.620,1.960,0.863,0.655,1.390,
+0.878,0.559,0.410,0.764,0.810,0.080,0.331,0.674,1.060,0.788,
+0.464,1.220,0.978,0.615,0.330,0.558,0.655,0.454,0.332,0.472,
+0.554,0.054,0.308,0.497,0.477,0.504,0.301,0.621,0.770,0.736,
+0.426,0.845,0.070,0.074,0.046,0.109,0.605,0.063,0.319,0.560,
+0.581,0.674,0.437,0.840,1.000,0.563,0.451,1.040,0.670,0.505,
+0.405,0.756,0.694,0.058,0.402,0.798,1.090,0.772,0.712,1.950,
+1.310,0.815,0.507,0.994,0.851,0.719,0.422,0.646,0.621,0.069,
+0.313,0.558,0.622,0.664,0.354,0.845,0.944,0.807,0.334,0.557,
+0.811,0.836,0.393,0.548,0.672,0.087,0.425,0.616,0.492,0.689,
+0.359,0.708,0.623,0.694,0.345,0.608,0.050,0.077,0.038,0.064,
+0.684,0.081,0.459,0.651,0.567,0.840,0.494,0.839,0.713,0.503,
+0.372,0.732,0.709,0.647,0.399,0.738,0.678,0.063,0.421,0.720,
+0.767,0.900,0.596,1.440,1.110,0.928,0.508,0.739,0.862,0.718,
+0.558,0.768,0.861,0.127,0.423,0.704,0.746,0.765,0.620,1.180,
+0.076,0.148,0.037,0.059,0.059,0.077,0.051,0.061,0.057,0.017,
+0.045,0.065,0.065,0.102,0.052,0.106,0.700,0.874,0.494,0.739,
+0.064,0.084,0.059,0.086,0.846,0.111,0.511,0.770,0.586,0.903,
+0.705,0.991,0.804,0.660,0.458,0.770,0.914,0.886,0.682,1.020,
+1.080,0.106,0.709,1.090,0.902,0.869,0.889,1.560,1.750,0.828,
+0.604,1.240,0.832,0.583,0.456,0.673,0.991,0.090,0.469,0.854,
+1.320,0.956,0.747,1.890,1.220,1.000,0.487,0.803,0.964,0.927,
+0.582,0.765,0.931,0.087,0.575,1.010,0.903,1.050,0.658,1.630,
+1.130,1.130,0.832,1.230,0.083,0.089,0.086,0.111,1.280,0.110,
+0.879,1.520,1.170,1.440,1.250,1.860,2.080,1.090,0.936,2.020,
+1.350,1.150,0.953,1.700,1.770,0.121,1.310,2.350,2.230,1.700,
+1.740,2.580,4.170,2.090,1.960,3.300,2.210,1.330,1.320,1.490,
+2.550,0.230,1.240,1.700,3.040,2.210,1.450,2.420,2.520,1.520,
+1.180,1.460,1.590,1.040,1.030,0.921,1.590,0.151,1.060,1.170,
+1.250,1.280,1.030,1.300,2.100,1.220,1.180,1.490,0.161,0.127,
+0.122,0.197,1.220,0.111,0.745,0.926,1.090,1.190,0.974,1.200,
+2.500,1.150,1.230,2.360,1.790,1.270,1.180,1.690,1.370,0.116,
+0.930,1.270,1.830,1.150,1.320,2.140,2.390,1.390,0.933,1.340,
+1.450,0.999,0.804,0.881,1.130,0.133,0.793,0.934,0.987,1.050,
+0.759,1.070,1.650,1.190,0.746,0.866,0.981,0.678,0.677,0.618,
+1.090,0.142,0.777,0.929,0.707,0.856,0.784,0.825,1.050,0.982,
+0.687,0.837,0.108,0.100,0.091,0.114,0.882,0.101,0.628,0.750,
+0.576,0.883,0.650,0.705,0.995,0.683,0.517,0.841,1.000,0.785,
+0.647,0.865,0.902,0.078,0.661,0.869,0.840,0.722,0.791,1.230,
+2.020,0.785,1.000,1.040,1.380,0.782,0.809,0.832,1.160,0.148,
+0.606,0.872,1.050,0.966,0.782,1.250,0.141,0.107,0.075,0.093,
+0.107,0.093,0.078,0.076,0.102,0.023,0.082,0.099,0.123,0.182,
+0.108,0.142,0.853,0.691,0.647,0.670,0.079,0.065,0.074,0.082,
+0.759,0.089,0.582,0.616,0.579,0.701,0.809,0.682,0.744,0.472,
+0.483,0.713,0.874,0.679,0.622,0.803,0.857,0.088,0.658,0.917,
+0.741,0.727,0.826,1.230,2.390,0.838,0.799,1.420,0.930,0.550,
+0.624,0.651,0.954,0.094,0.494,0.720,1.230,0.909,0.761,1.590,
+1.490,0.943,0.727,0.901,0.941,0.680,0.641,0.635,0.899,0.081,
+0.646,0.790,0.920,0.965,0.738,1.080,0.906,0.745,0.616,0.819,
+0.071,0.058,0.062,0.079,0.683,0.059,0.528,0.676,0.637,0.735,
+0.693,0.824,1.320,0.681,0.682,1.270,0.673,0.464,0.530,0.748,
+1.080,0.083,0.768,1.190,1.420,1.090,1.230,2.210,3.210,2.030,
+1.510,2.330,1.820,1.430,1.240,1.300,1.380,0.167,0.783,1.200,
+1.520,1.440,1.020,1.650,2.280,1.870,1.200,1.360,1.600,1.320,
+1.300,1.070,1.480,0.233,1.200,1.330,0.924,1.240,0.949,1.170,
+1.160,1.190,1.090,1.140,0.131,0.167,0.145,0.173,0.807,0.100,
+0.689,0.752,0.626,0.947,0.743,0.957,1.300,0.687,0.729,1.150,
+1.370,1.120,0.900,1.110,0.845,0.091,0.614,0.857,0.919,0.763,
+0.937,1.590,2.220,1.850,0.926,1.290,1.700,1.660,1.070,1.090,
+1.100,0.167,0.697,0.882,0.811,1.070,0.647,0.965,1.580,1.570,
+0.905,0.915,1.060,0.634,0.909,0.769,1.190,0.209,1.030,1.170,
+0.626,1.010,0.845,0.878,1.080,1.600,1.130,1.220,0.142,0.250,
+0.250,0.282,1.060,0.208,0.916,1.020,0.629,1.670,0.893,0.977,
+0.854,0.697,0.556,0.761,1.080,1.130,0.889,1.010,0.777,0.097,
+0.610,0.790,0.613,0.734,0.673,1.090,1.590,1.130,0.808,1.070,
+1.400,1.360,1.360,1.030,1.190,0.199,0.854,1.130,0.791,1.050,
+0.932,1.230,0.129,0.206,0.107,0.115,0.129,0.213,0.192,0.115,
+0.136,0.062,0.187,0.166,0.092,0.234,0.153,0.153,1.090,1.330,
+1.080,1.040,0.135,0.197,0.198,0.148,1.120,0.203,1.060,1.080,
+0.680,1.510,1.430,1.130,0.816,0.584,0.743,0.749,1.090,1.210,
+1.130,1.090,1.000,0.131,1.060,1.210,0.644,0.837,1.100,1.320,
+1.370,0.812,0.628,0.986,0.799,0.622,0.577,0.637,0.673,0.071,
+0.429,0.614,0.757,0.687,0.584,1.080,1.380,1.300,0.838,1.020,
+1.040,1.090,0.944,0.958,0.867,0.113,0.851,1.030,0.755,1.140,
+0.844,1.180,0.769,0.851,0.756,0.907,0.070,0.094,0.077,0.095,
+0.663,0.078,0.647,0.777,0.601,0.871,0.896,0.990,0.952,0.580,
+0.628,0.891,0.763,0.667,0.583,0.803,0.877,0.079,0.782,1.170,
+1.060,1.100,1.380,1.920,2.100,1.330,0.991,1.490,0.930,0.798,
+0.621,0.708,0.957,0.111,0.540,0.725,1.010,0.960,0.617,1.070,
+1.850,1.640,0.992,1.160,1.190,1.110,0.962,0.844,1.450,0.197,
+1.080,1.140,0.886,1.300,0.753,1.020,1.300,1.540,2.530,1.410,
+0.146,0.202,0.212,0.236,0.884,0.124,0.764,0.813,0.574,1.040,
+0.748,0.899,1.170,0.810,0.887,1.310,0.988,1.070,0.901,1.080,
+0.958,0.105,0.759,1.010,0.988,0.874,1.010,1.910,0.164,0.159,
+0.097,0.126,0.161,0.174,0.109,0.104,0.114,0.025,0.084,0.093,
+0.091,0.147,0.091,0.117,0.176,0.219,0.114,0.114,0.167,0.199,
+0.146,0.108,0.187,0.055,0.173,0.154,0.098,0.215,0.110,0.119,
+0.113,0.200,0.185,0.134,0.022,0.051,0.052,0.034,0.164,0.043,
+0.200,0.175,0.080,0.212,0.126,0.120,0.158,0.130,0.113,0.170,
+0.227,0.311,0.228,0.265,0.145,0.029,0.145,0.177,0.138,0.179,
+0.157,0.243,1.150,0.820,0.600,0.632,0.824,0.894,0.805,0.599,
+1.110,0.302,0.894,0.825,0.632,1.050,0.757,0.868,0.110,0.155,
+0.077,0.075,0.090,0.144,0.111,0.064,0.237,0.175,0.162,0.119,
+0.098,0.302,0.119,0.106,0.717,1.110,0.822,0.641,0.101,0.192,
+0.158,0.102,0.917,0.165,0.698,0.692,0.434,0.820,0.747,0.638,
+0.589,0.496,0.504,0.548,0.808,1.030,0.880,0.908,0.846,0.148,
+0.940,0.921,0.531,0.728,0.793,0.913,1.010,0.568,0.438,0.692,
+0.611,0.452,0.366,0.380,0.656,0.076,0.398,0.532,0.628,0.603,
+0.458,0.838,1.340,1.100,0.694,0.865,0.985,1.070,0.733,0.650,
+1.470,0.234,0.889,1.050,0.887,1.340,0.793,1.020,0.778,0.897,
+0.746,0.774,0.089,0.119,0.089,0.089,0.915,0.100,0.723,0.796,
+0.581,0.952,0.733,0.888,1.000,0.660,0.637,0.813,0.946,0.757,
+0.596,0.724,0.972,0.109,0.912,1.130,1.050,1.150,1.040,1.510,
+2.270,1.080,0.892,1.630,0.846,0.566,0.536,0.620,0.883,0.084,
+0.437,0.677,1.220,0.864,0.675,1.370,1.150,0.700,0.524,0.743,
+0.661,0.443,0.454,0.499,0.848,0.080,0.444,0.621,0.717,0.630,
+0.438,0.730,0.950,0.730,0.756,1.080,0.089,0.077,0.073,0.132,
+0.593,0.056,0.380,0.560,0.535,0.640,0.463,0.787,1.340,0.665,
+0.813,1.760,0.911,0.684,0.686,1.070,0.874,0.069,0.558,0.855,
+1.170,0.828,0.934,2.160,1.660,1.040,0.714,1.110,1.070,0.819,
+0.757,0.692,0.874,0.097,0.554,0.750,0.775,0.822,0.603,0.987,
+1.270,0.996,0.565,0.775,0.875,0.751,0.590,0.586,0.989,0.141,
+0.676,0.868,0.691,0.936,0.510,0.740,0.863,0.854,0.695,0.902,
+0.074,0.094,0.099,0.110,0.811,0.090,0.637,0.827,0.606,0.927,
+0.615,0.863,1.070,0.621,0.606,1.050,1.010,0.894,0.793,1.070,
+0.842,0.081,0.626,0.919,0.878,0.921,0.818,1.440,1.240,0.701,
+0.596,0.813,0.976,0.708,0.703,0.793,1.070,0.141,0.759,0.903,
+0.800,0.791,0.875,1.190,0.095,0.093,0.061,0.090,0.074,0.083,
+0.074,0.072,0.101,0.025,0.100,0.109,0.096,0.140,0.097,0.122,
+0.761,0.807,0.627,0.873,0.072,0.080,0.082,0.108,0.849,0.105,
+0.652,0.811,0.574,0.865,0.813,0.953,0.768,0.548,0.559,0.872,
+0.927,0.819,0.838,1.190,1.180,0.115,0.902,1.340,0.875,0.898,
+1.010,1.490,1.780,0.791,0.681,1.190,0.807,0.564,0.541,0.633,
+0.889,0.083,0.506,0.795,1.140,0.821,0.787,1.690,1.010,0.689,
+0.510,0.790,0.663,0.496,0.509,0.587,0.860,0.071,0.616,0.917,
+0.883,0.862,0.663,1.130,1.110,0.984,0.829,1.380,0.102,0.082,
+0.072,0.126,1.050,0.088,0.805,1.120,1.000,1.180,1.080,1.510,
+1.960,0.974,1.040,2.080,1.350,1.050,0.978,1.480,1.770,0.115,
+1.400,2.180,2.740,1.830,2.140,3.290,0.205,0.140,0.120,0.163,
+0.148,0.113,0.100,0.101,0.125,0.019,0.108,0.124,0.128,0.124,
+0.094,0.117,0.160,0.131,0.098,0.098,0.132,0.112,0.113,0.085,
+0.109,0.025,0.105,0.103,0.081,0.107,0.100,0.102,0.092,0.084,
+0.077,0.083,0.014,0.016,0.016,0.016,0.064,0.012,0.065,0.060,
+0.054,0.075,0.082,0.075,0.113,0.071,0.067,0.108,0.119,0.107,
+0.085,0.104,0.083,0.012,0.076,0.085,0.087,0.074,0.092,0.132,
+0.183,0.152,0.107,0.126,0.167,0.155,0.124,0.092,0.127,0.035,
+0.206,0.180,0.082,0.132,0.155,0.129,0.175,0.200,0.109,0.096,
+0.153,0.157,0.144,0.105,0.181,0.074,0.177,0.185,0.078,0.163,
+0.124,0.111,0.084,0.128,0.080,0.074,0.024,0.041,0.040,0.019,
+0.123,0.043,0.114,0.105,0.056,0.132,0.093,0.076,0.071,0.077,
+0.047,0.061,0.109,0.110,0.086,0.091,0.089,0.017,0.098,0.101,
+0.068,0.078,0.092,0.120,0.117,0.072,0.059,0.065,0.178,0.095,
+0.094,0.079,0.097,0.020,0.072,0.074,0.061,0.079,0.070,0.090,
+0.014,0.021,0.016,0.011,0.021,0.029,0.029,0.015,0.018,0.014,
+0.028,0.020,0.011,0.028,0.019,0.016,0.060,0.071,0.067,0.054,
+0.013,0.017,0.022,0.013,0.074,0.024,0.092,0.075,0.041,0.082,
+0.090,0.069,0.050,0.036,0.038,0.048,0.077,0.078,0.078,0.079,
+0.074,0.016,0.085,0.086,0.054,0.069,0.090,0.101,0.129,0.061,
+0.051,0.086,0.074,0.047,0.047,0.054,0.069,0.010,0.045,0.056,
+0.075,0.067,0.056,0.107,0.117,0.104,0.080,0.091,0.103,0.108,
+0.090,0.083,0.085,0.017,0.085,0.101,0.069,0.103,0.079,0.107,
+0.064,0.065,0.063,0.072,9.20e-3,0.010,0.012,0.010,0.063,0.012,
+0.060,0.075,0.046,0.075,0.090,0.082,0.083,0.052,0.053,0.088,
+0.063,0.055,0.054,0.070,0.086,0.011,0.087,0.122,0.099,0.099,
+0.119,0.189,0.169,0.140,0.100,0.125,0.146,0.157,0.122,0.106,
+0.093,0.020,0.067,0.082,0.085,0.101,0.076,0.096,0.160,0.170,
+0.111,0.095,0.172,0.190,0.194,0.124,0.127,0.051,0.160,0.142,
+0.065,0.115,0.140,0.115,0.071,0.103,0.090,0.070,0.016,0.037,
+0.032,0.019,0.061,0.020,0.077,0.062,0.047,0.076,0.073,0.070,
+0.066,0.045,0.044,0.064,0.091,0.108,0.080,0.079,0.078,0.013,
+0.061,0.067,0.060,0.056,0.071,0.098,0.174,0.217,0.100,0.101,
+0.203,0.348,0.174,0.116,0.119,0.041,0.107,0.099,0.062,0.118,
+0.074,0.093,0.187,0.294,0.145,0.108,0.188,0.174,0.214,0.157,
+0.178,0.122,0.226,0.212,0.069,0.186,0.137,0.156,0.094,0.232,
+0.127,0.105,0.036,0.130,0.086,0.044,0.129,0.079,0.147,0.135,
+0.053,0.199,0.132,0.104,0.066,0.072,0.052,0.060,0.111,0.199,
+0.112,0.105,0.082,0.024,0.099,0.100,0.052,0.081,0.086,0.109,
+0.116,0.098,0.065,0.070,0.149,0.191,0.182,0.098,0.114,0.033,
+0.101,0.102,0.057,0.098,0.088,0.095,0.022,0.048,0.028,0.018,
+0.043,0.111,0.138,0.033,0.037,0.058,0.077,0.048,0.011,0.047,
+0.036,0.023,0.144,0.195,0.152,0.115,0.050,0.094,0.098,0.037,
+0.158,0.073,0.196,0.147,0.095,0.191,0.219,0.135,0.083,0.049,
+0.057,0.056,0.119,0.175,0.182,0.122,0.120,0.034,0.160,0.131,
+0.055,0.086,0.133,0.121,0.093,0.065,0.051,0.073,0.067,0.064,
+0.055,0.054,0.058,8.49e-3,0.046,0.051,0.055,0.057,0.049,0.082,
+0.122,0.137,0.088,0.086,0.120,0.176,0.149,0.111,0.096,0.031,
+0.116,0.119,0.055,0.121,0.092,0.102,0.060,0.088,0.078,0.071,
+9.07e-3,0.021,0.019,0.012,0.066,0.017,0.088,0.080,0.045,0.082,
+0.103,0.084,0.064,0.045,0.047,0.060,0.061,0.070,0.060,0.068,
+0.070,0.011,0.082,0.101,0.071,0.093,0.121,0.150,0.118,0.102,
+0.074,0.097,0.077,0.080,0.065,0.066,0.072,0.013,0.054,0.055,
+0.059,0.072,0.049,0.064,0.130,0.166,0.095,0.086,0.139,0.164,
+0.149,0.107,0.147,0.052,0.179,0.143,0.062,0.147,0.082,0.084,
+0.077,0.132,0.147,0.094,0.016,0.034,0.045,0.028,0.105,0.030,
+0.127,0.104,0.040,0.096,0.085,0.073,0.060,0.052,0.049,0.075,
+0.078,0.092,0.100,0.103,0.081,0.016,0.081,0.091,0.061,0.069,
+0.081,0.126,0.013,0.021,0.014,0.011,0.024,0.042,0.034,0.018,
+0.015,0.011,0.023,0.015,7.31e-3,0.020,0.017,0.012,0.023,0.058,
+0.026,0.016,0.049,0.097,0.076,0.034,0.036,0.063,0.082,0.049,
+0.012,0.049,0.026,0.019,0.013,0.047,0.042,0.018,0.013,0.053,
+0.065,0.019,0.050,0.047,0.128,0.065,0.011,0.049,0.043,0.020,
+8.98e-3,0.012,0.010,0.010,0.024,0.046,0.044,0.034,0.019,0.012,
+0.037,0.028,0.011,0.018,0.020,0.021,0.092,0.099,0.066,0.055,
+0.089,0.152,0.146,0.078,0.111,0.041,0.146,0.116,0.052,0.114,
+0.105,0.094,0.016,0.046,0.023,0.013,0.029,0.074,0.067,0.024,
+0.038,0.053,0.115,0.045,0.012,0.042,0.034,0.018,0.078,0.239,
+0.148,0.081,0.029,0.149,0.099,0.030,0.139,0.084,0.192,0.134,
+0.043,0.151,0.139,0.089,0.051,0.054,0.056,0.068,0.108,0.228,
+0.176,0.193,0.123,0.049,0.195,0.149,0.052,0.096,0.123,0.113,
+0.076,0.064,0.044,0.066,0.055,0.052,0.042,0.040,0.063,0.012,
+0.049,0.061,0.051,0.063,0.046,0.078,0.114,0.142,0.086,0.087,
+0.132,0.184,0.139,0.099,0.150,0.049,0.165,0.165,0.074,0.159,
+0.116,0.106,0.070,0.121,0.094,0.079,0.017,0.035,0.033,0.015,
+0.113,0.037,0.134,0.124,0.053,0.143,0.108,0.108,0.075,0.056,
+0.051,0.069,0.189,0.092,0.074,0.087,0.101,0.019,0.130,0.127,
+0.085,0.122,0.118,0.147,0.161,0.098,0.077,0.126,0.110,0.070,
+0.072,0.112,0.101,0.011,0.049,0.086,0.101,0.082,0.070,0.122,
+0.111,0.083,0.058,0.073,0.082,0.066,0.065,0.072,0.083,0.012,
+0.063,0.079,0.067,0.070,0.058,0.078,0.076,0.072,0.067,0.090,
+8.69e-3,9.29e-3,9.75e-3,0.016,0.061,8.23e-3,0.050,0.063,0.045,0.063,
+0.053,0.078,0.102,0.060,0.070,0.136,0.084,0.066,0.068,0.131,
+0.098,9.28e-3,0.061,0.117,0.109,0.080,0.095,0.230,0.186,0.150,
+0.112,0.133,0.158,0.147,0.247,0.123,0.125,0.024,0.111,0.126,
+0.095,0.130,0.101,0.130,0.190,0.197,0.108,0.121,0.184,0.202,
+0.168,0.140,0.169,0.043,0.174,0.196,0.103,0.198,0.115,0.130,
+0.101,0.158,0.128,0.124,0.016,0.033,0.041,0.030,0.143,0.029,
+0.165,0.164,0.076,0.164,0.116,0.124,0.111,0.084,0.082,0.125,
+0.142,0.156,0.167,0.226,0.121,0.019,0.130,0.163,0.112,0.132,
+0.134,0.200,0.102,0.072,0.057,0.070,0.097,0.098,0.105,0.089,
+0.108,0.022,0.101,0.106,0.066,0.087,0.098,0.115,0.011,0.015,
+9.49e-3,0.011,0.016,0.028,0.023,0.015,0.016,9.31e-3,0.025,0.022,
+0.011,0.021,0.019,0.016,0.069,0.110,0.091,0.086,0.013,0.025,
+0.027,0.020,0.108,0.032,0.119,0.116,0.055,0.127,0.127,0.113,
+0.074,0.056,0.061,0.081,0.098,0.109,0.122,0.151,0.187,0.026,
+0.152,0.213,0.092,0.103,0.141,0.168,0.137,0.085,0.066,0.103,
+0.079,0.065,0.063,0.071,0.080,0.011,0.057,0.082,0.087,0.075,
+0.073,0.143,0.103,0.084,0.058,0.079,0.086,0.088,0.079,0.083,
+0.084,0.012,0.081,0.107,0.078,0.096,0.080,0.122,0.093,0.102,
+0.086,0.117,0.011,0.013,0.012,0.015,0.102,0.016,0.103,0.129,
+0.083,0.132,0.124,0.150,0.138,0.081,0.088,0.159,0.132,0.108,
+0.106,0.151,0.155,0.015,0.167,0.220,0.205,0.179,0.227,0.284,
+1.780,1.160,1.000,1.620,1.180,0.878,0.838,0.996,1.010,0.109,
+0.722,0.913,1.260,1.090,0.818,1.210,1.240,0.907,0.619,0.819,
+0.961,0.684,0.760,0.717,0.779,0.086,0.610,0.665,0.665,0.733,
+0.602,0.753,0.791,0.719,0.602,0.776,0.077,0.070,0.073,0.112,
+0.608,0.064,0.561,0.636,0.458,0.580,0.583,0.688,0.857,0.449,
+0.393,0.773,0.638,0.479,0.438,0.614,0.576,0.050,0.434,0.572,
+0.674,0.382,0.591,1.040,1.650,1.150,0.712,1.050,1.210,1.020,
+0.839,0.783,0.838,0.113,0.564,0.720,0.684,0.814,0.507,0.763,
+1.430,1.370,0.722,0.796,1.100,0.759,0.923,0.724,1.180,0.185,
+0.947,1.220,0.633,0.915,0.579,0.692,0.872,1.090,0.815,0.832,
+0.115,0.138,0.135,0.146,1.120,0.181,1.050,1.590,0.643,1.040,
+0.881,0.873,0.653,0.491,0.356,0.533,0.845,0.784,0.612,0.765,
+0.645,0.070,0.539,0.824,0.588,0.542,0.617,1.010,1.170,0.646,
+0.505,0.737,1.140,0.899,0.882,0.858,1.050,0.144,0.714,0.752,
+0.731,0.821,0.663,0.965,0.128,0.136,0.087,0.105,0.156,0.155,
+0.160,0.131,0.140,0.038,0.235,0.152,0.123,0.264,0.138,0.174,
+0.723,0.758,0.993,0.899,0.103,0.100,0.319,0.220,0.890,0.149,
+0.888,0.791,0.460,0.807,0.866,0.736,0.540,0.412,0.400,0.498,
+0.866,0.762,1.100,0.964,0.690,0.092,0.703,0.774,0.612,0.592,
+0.758,0.960,1.060,0.468,0.392,0.717,0.552,0.408,0.397,0.436,
+0.547,0.062,0.335,0.451,0.697,0.602,0.510,0.878,0.916,0.724,
+0.503,0.647,0.749,0.633,0.599,0.579,0.671,0.079,0.712,0.741,
+0.639,0.883,0.601,0.918,0.709,0.710,0.689,0.737,0.075,0.070,
+0.092,0.102,0.760,0.085,0.696,0.824,0.570,0.837,0.999,0.953,
+0.794,0.490,0.457,0.793,0.562,0.447,0.558,0.692,0.845,0.089,
+0.742,1.050,1.070,0.930,1.110,1.860,0.122,0.101,0.073,0.097,
+0.102,0.101,0.090,0.095,0.070,0.013,0.049,0.059,0.072,0.081,
+0.062,0.082,0.130,0.139,0.103,0.109,0.151,0.153,0.228,0.144,
+0.103,0.034,0.116,0.103,0.086,0.107,0.093,0.089,0.059,0.081,
+0.063,0.063,0.013,0.022,0.023,0.018,0.063,0.018,0.085,0.078,
+0.039,0.074,0.074,0.073,0.058,0.040,0.035,0.052,0.072,0.071,
+0.061,0.065,0.048,8.81e-3,0.046,0.058,0.052,0.045,0.062,0.099,
+0.110,0.127,0.065,0.071,0.112,0.141,0.118,0.079,0.076,0.023,
+0.060,0.061,0.045,0.073,0.048,0.056,0.150,0.236,0.103,0.084,
+0.157,0.149,0.189,0.109,0.158,0.081,0.164,0.148,0.061,0.136,
+0.087,0.082,0.074,0.146,0.087,0.073,0.025,0.062,0.053,0.026,
+0.233,0.099,0.226,0.278,0.075,0.168,0.124,0.099,0.052,0.047,
+0.034,0.041,0.076,0.099,0.075,0.069,0.061,0.014,0.065,0.081,
+0.040,0.051,0.058,0.077,0.090,0.073,0.054,0.056,0.117,0.147,
+0.154,0.089,0.098,0.028,0.153,0.087,0.051,0.082,0.079,0.077,
+0.015,0.031,0.019,0.014,0.033,0.066,0.070,0.027,0.029,0.036,
+0.165,0.039,0.011,0.037,0.033,0.019,0.077,0.120,0.121,0.094,
+0.026,0.053,0.096,0.029,0.143,0.078,0.223,0.130,0.051,0.154,
+0.176,0.109,0.051,0.045,0.044,0.048,0.095,0.126,0.150,0.103,
+0.082,0.025,0.127,0.101,0.048,0.074,0.100,0.100,0.091,0.077,
+0.056,0.083,0.062,0.059,0.052,0.056,0.055,8.60e-3,0.044,0.051,
+0.063,0.067,0.071,0.098,0.121,0.128,0.088,0.096,0.137,0.165,
+0.138,0.115,0.106,0.026,0.198,0.122,0.079,0.152,0.121,0.135,
+0.064,0.088,0.087,0.078,9.78e-3,0.021,0.023,0.015,0.085,0.024,
+0.110,0.107,0.065,0.115,0.222,0.123,0.068,0.052,0.048,0.067,
+0.060,0.065,0.065,0.071,0.074,0.012,0.085,0.109,0.084,0.094,
+0.134,0.172,1.160,1.040,0.718,1.130,0.797,0.761,0.516,0.632,
+0.686,0.078,0.531,0.585,0.505,0.451,0.371,0.561,1.150,1.090,
+0.603,0.700,1.160,0.989,0.988,0.739,1.150,0.170,1.340,1.140,
+0.519,0.854,0.561,0.670,0.707,0.936,0.647,0.684,0.109,0.155,
+0.130,0.155,0.791,0.132,0.990,0.850,0.408,0.798,0.647,0.695,
+0.556,0.393,0.296,0.502,0.596,0.596,0.472,0.586,0.688,0.084,
+0.649,0.870,0.540,0.490,0.620,1.040,0.096,0.103,0.056,0.073,
+0.121,0.161,0.099,0.103,0.079,0.023,0.103,0.083,0.045,0.070,
+0.049,0.062,0.106,0.142,0.073,0.065,0.178,0.185,0.169,0.111,
+0.137,0.058,0.455,0.191,0.047,0.101,0.073,0.063,0.078,0.144,
+0.088,0.072,0.023,0.056,0.054,0.026,0.133,0.060,0.234,0.169,
+0.051,0.134,0.112,0.091,0.070,0.055,0.035,0.059,0.103,0.137,
+0.097,0.110,0.083,0.020,0.103,0.163,0.056,0.064,0.071,0.116,
+1.230,0.668,0.563,0.432,0.829,0.928,0.874,0.633,0.775,0.150,
+0.981,0.693,0.403,0.585,0.727,0.642,0.097,0.143,0.106,0.068,
+0.099,0.172,0.146,0.070,0.128,0.056,0.256,0.133,0.057,0.141,
+0.152,0.087,0.750,0.706,0.697,0.520,0.112,0.114,0.171,0.091,
+0.505,0.111,0.263,0.243,0.250,0.399,0.510,0.448,0.404,0.314,
+0.334,0.281,0.533,0.594,0.659,0.486,0.586,0.100,0.845,0.667,
+0.341,0.452,0.677,0.706,0.692,0.421,0.336,0.454,0.461,0.368,
+0.293,0.300,0.420,0.052,0.393,0.409,0.330,0.334,0.327,0.464,
+0.802,0.789,0.531,0.528,0.786,0.898,0.672,0.515,0.736,0.116,
+0.938,0.812,0.445,0.784,0.706,0.601,0.618,0.726,0.599,0.613,
+0.076,0.117,0.096,0.088,0.768,0.114,1.030,0.877,0.430,0.824,
+0.795,0.749,0.508,0.369,0.322,0.459,0.556,0.543,0.460,0.497,
+0.677,0.080,0.919,0.901,0.607,0.681,0.842,1.000,1.150,0.636,
+0.453,0.856,0.593,0.439,0.350,0.487,0.545,0.058,0.328,0.473,
+0.600,0.492,0.363,0.684,0.849,0.544,0.328,0.453,0.563,0.379,
+0.378,0.390,0.515,0.046,0.354,0.432,0.346,0.365,0.282,0.421,
+0.550,0.509,0.334,0.508,0.056,0.054,0.044,0.080,0.469,0.050,
+0.395,0.547,0.367,0.470,0.406,0.581,0.637,0.368,0.284,0.542,
+0.474,0.370,0.298,0.491,0.450,0.041,0.303,0.524,0.534,0.412,
+0.466,0.949,1.180,0.869,0.525,0.791,0.926,0.831,0.673,0.675,
+0.664,0.081,0.572,0.649,0.514,0.588,0.375,0.656,1.120,1.010,
+0.554,0.665,1.060,0.911,0.923,0.768,0.934,0.121,1.140,0.983,
+0.460,0.673,0.456,0.588,0.652,0.916,0.527,0.612,0.077,0.125,
+0.091,0.105,0.809,0.126,0.863,1.080,0.452,0.893,0.689,0.809,
+0.784,0.539,0.353,0.561,0.771,0.789,0.602,0.802,0.622,0.080,
+0.585,0.975,0.528,0.565,0.555,0.960,1.070,0.669,0.478,0.594,
+0.842,0.786,0.828,0.831,0.836,0.115,0.680,0.733,0.557,0.637,
+0.712,0.882,0.091,0.095,0.069,0.069,0.093,0.134,0.139,0.103,
+0.086,0.024,0.123,0.107,0.061,0.119,0.099,0.093,0.758,0.929,
+0.706,0.708,0.090,0.107,0.141,0.117,1.210,0.211,0.922,1.040,
+0.536,0.976,0.990,0.912,0.584,0.479,0.436,0.508,0.803,0.791,
+0.895,0.883,0.795,0.099,0.928,1.110,0.565,0.637,0.907,1.080,
+0.934,0.489,0.383,0.623,0.509,0.399,0.362,0.399,0.533,0.058,
+0.367,0.466,0.592,0.444,0.449,0.764,0.800,0.592,0.435,0.542,
+0.628,0.604,0.570,0.534,0.552,0.057,0.565,0.686,0.489,0.558,
+0.561,0.689,0.756,0.789,0.602,0.790,0.069,0.077,0.070,0.091,
+0.920,0.099,0.959,1.180,0.657,0.913,0.973,1.060,0.907,0.535,
+0.503,0.879,0.770,0.689,0.684,0.836,0.905,0.079,0.998,1.320,
+1.050,0.869,1.190,1.500,1.840,0.971,0.898,1.720,0.910,0.581,
+0.518,0.695,0.834,0.075,0.399,0.668,1.190,0.916,0.589,1.130,
+1.000,0.580,0.445,0.601,0.608,0.372,0.381,0.405,0.577,0.048,
+0.372,0.435,0.564,0.578,0.385,0.585,0.676,0.519,0.443,0.673,
+0.064,0.048,0.045,0.084,0.422,0.035,0.295,0.397,0.388,0.434,
+0.408,0.611,0.952,0.464,0.532,0.920,0.689,0.443,0.401,0.621,
+0.550,0.045,0.361,0.571,0.788,0.502,0.602,1.430,1.300,0.718,
+0.501,0.829,0.719,0.477,0.362,0.450,0.507,0.049,0.282,0.438,
+0.523,0.467,0.310,0.601,0.774,0.512,0.321,0.441,0.485,0.299,
+0.284,0.301,0.485,0.043,0.294,0.429,0.408,0.383,0.273,0.424,
+0.504,0.421,0.339,0.437,0.039,0.039,0.030,0.044,0.454,0.040,
+0.265,0.434,0.381,0.428,0.343,0.451,0.474,0.301,0.228,0.410,
+0.424,0.349,0.242,0.369,0.383,0.029,0.258,0.441,0.423,0.337,
+0.371,0.733,1.090,0.477,0.394,0.596,0.757,0.473,0.418,0.547,
+0.635,0.071,0.265,0.452,0.639,0.526,0.389,0.770,0.079,0.054,
+0.038,0.057,0.063,0.049,0.043,0.051,0.059,9.67e-3,0.043,0.056,
+0.083,0.103,0.055,0.092,0.528,0.405,0.426,0.522,0.048,0.038,
+0.046,0.060,0.469,0.053,0.304,0.412,0.401,0.479,0.477,0.556,
+0.531,0.330,0.324,0.512,0.562,0.430,0.410,0.555,0.583,0.093,
+0.376,0.593,0.552,0.524,0.555,0.922,1.300,0.478,0.412,0.874,
+0.555,0.332,0.330,0.470,0.581,0.051,0.291,0.467,0.904,0.564,
+0.443,0.975,0.824,0.503,0.365,0.543,0.495,0.356,0.330,0.388,
+0.514,0.042,0.339,0.497,0.625,0.651,0.411,0.738,0.557,0.441,
+0.405,0.573,0.042,0.035,0.039,0.053,0.438,0.034,0.315,0.437,
+0.484,0.495,0.535,0.666,0.873,0.457,0.451,0.943,0.530,0.370,
+0.389,0.606,0.704,0.058,0.500,0.831,1.020,0.788,0.955,1.880,
+1.830,1.100,0.853,1.450,1.090,0.835,0.709,0.846,0.786,0.086,
+0.438,0.723,0.957,0.866,0.611,1.130,1.310,0.895,0.699,0.893,
+0.943,0.705,0.987,0.809,0.813,0.097,0.694,0.790,0.623,0.699,
+0.587,0.792,0.713,0.631,0.528,0.711,0.066,0.073,0.066,0.095,
+0.552,0.065,0.460,0.624,0.404,0.577,0.560,0.810,0.786,0.430,
+0.422,0.677,0.757,0.598,0.490,0.662,0.492,0.047,0.363,0.591,
+0.624,0.500,0.607,1.210,1.400,1.010,0.594,0.900,1.040,0.913,
+0.639,0.706,0.672,0.086,0.395,0.560,0.620,0.649,0.412,0.729,
+1.150,1.010,0.586,0.743,1.010,0.654,0.688,0.628,0.941,0.159,
+0.649,0.820,0.576,0.778,0.514,0.645,0.653,0.758,0.527,0.649,
+0.073,0.097,0.069,0.078,0.863,0.134,0.633,0.914,0.496,0.858,
+0.639,0.860,0.511,0.387,0.299,0.469,0.608,0.599,0.403,0.531,
+0.479,0.052,0.386,0.686,0.451,0.451,0.482,0.840,0.981,0.596,
+0.448,0.643,0.927,0.813,0.771,0.749,0.745,0.114,0.531,0.703,
+0.579,0.629,0.539,0.888,0.068,0.082,0.048,0.069,0.087,0.118,
+0.103,0.083,0.073,0.028,0.150,0.094,0.064,0.125,0.080,0.095,
+0.642,0.705,0.629,0.722,0.074,0.097,0.100,0.099,0.742,0.136,
+0.638,0.798,0.490,0.906,0.903,0.951,0.555,0.389,0.388,0.618,
+0.757,0.765,0.778,0.873,0.680,0.085,0.649,0.893,0.563,0.620,
+0.839,1.220,1.040,0.593,0.486,0.904,0.569,0.443,0.423,0.578,
+0.587,0.057,0.369,0.552,0.667,0.557,0.527,0.979,1.000,0.801,
+0.564,0.776,0.748,0.745,0.665,0.733,0.705,0.086,0.722,0.878,
+0.673,0.953,0.724,1.000,0.573,0.597,0.586,0.717,0.051,0.062,
+0.066,0.072,0.555,0.063,0.561,0.731,0.495,0.712,1.050,1.020,
+0.709,0.461,0.452,0.709,0.612,0.541,0.479,0.667,0.640,0.058,
+0.598,0.959,0.827,0.753,1.020,1.640,1.650,0.869,0.718,1.040,
+0.699,0.586,0.429,0.571,0.696,0.065,0.416,0.546,0.750,0.530,
+0.386,0.694,1.120,0.872,0.478,0.653,0.850,0.657,0.552,0.539,
+0.839,0.097,0.852,0.776,0.597,0.731,0.529,0.746,0.680,0.809,
+0.537,0.689,0.079,0.100,0.079,0.111,0.630,0.087,0.502,0.621,
+0.458,0.816,0.665,0.758,0.659,0.450,0.350,0.630,0.639,0.576,
+0.434,0.609,0.654,0.069,0.514,0.856,0.699,0.574,0.752,1.360,
+0.097,0.075,0.107,0.078,0.075,0.079,0.057,0.060,0.054,9.71e-3,
+0.063,0.056,0.051,0.061,0.047,0.066,0.083,0.092,0.047,0.051,
+0.132,0.110,0.080,0.069,0.085,0.025,0.149,0.099,0.052,0.088,
+0.065,0.066,0.046,0.074,0.049,0.050,0.010,0.020,0.018,0.011,
+0.074,0.021,0.086,0.087,0.045,0.109,0.116,0.085,0.059,0.047,
+0.034,0.058,0.088,0.094,0.068,0.082,0.062,0.012,0.063,0.103,
+0.059,0.061,0.073,0.111,1.020,0.638,0.481,0.494,0.802,0.781,
+0.889,0.601,0.662,0.123,0.664,0.612,0.488,0.628,0.696,0.752,
+0.074,0.087,0.051,0.048,0.079,0.092,0.079,0.050,0.075,0.026,
+0.158,0.081,0.062,0.116,0.134,0.082,0.752,0.840,0.754,0.636,
+0.093,0.119,0.124,0.088,0.852,0.141,0.478,0.671,0.435,0.792,
+0.814,0.738,0.544,0.440,0.395,0.457,0.712,0.769,0.745,0.649,
+0.709,0.103,0.869,0.908,0.518,0.627,0.818,1.010,0.914,0.535,
+0.374,0.593,0.532,0.424,0.368,0.393,0.577,0.063,0.442,0.566,
+0.523,0.477,0.421,0.735,0.957,0.806,0.505,0.651,0.743,0.755,
+0.564,0.518,0.770,0.090,0.896,0.899,0.649,0.930,0.796,0.852,
+0.693,0.747,0.572,0.694,0.061,0.083,0.068,0.073,0.805,0.088,
+0.764,0.918,0.605,1.010,1.140,1.050,0.773,0.485,0.449,0.620,
+0.607,0.586,0.535,0.592,0.850,0.079,0.928,1.140,0.867,0.868,
+1.070,1.460,1.800,0.787,0.556,1.110,0.653,0.428,0.335,0.520,
+0.651,0.062,0.340,0.543,0.826,0.586,0.422,0.950,0.885,0.506,
+0.285,0.468,0.527,0.333,0.277,0.362,0.546,0.044,0.327,0.456,
+0.433,0.391,0.308,0.512,0.670,0.558,0.368,0.698,0.065,0.059,
+0.040,0.096,0.460,0.044,0.293,0.497,0.455,0.514,0.402,0.640,
+0.848,0.415,0.370,0.789,0.538,0.361,0.315,0.568,0.537,0.040,
+0.346,0.659,0.757,0.511,0.638,1.520,1.100,0.652,0.534,0.738,
+0.649,0.511,0.404,0.480,0.497,0.049,0.353,0.492,0.513,0.474,
+0.344,0.684,0.827,0.592,0.339,0.490,0.674,0.502,0.397,0.441,
+0.609,0.060,0.494,0.609,0.433,0.496,0.344,0.551,0.521,0.518,
+0.330,0.511,0.040,0.049,0.035,0.051,0.527,0.055,0.422,0.622,
+0.442,0.623,0.522,0.754,0.606,0.393,0.316,0.562,0.541,0.445,
+0.351,0.541,0.534,0.047,0.390,0.701,0.569,0.469,0.539,1.040,
+1.180,0.647,0.484,0.680,0.849,0.663,0.591,0.758,0.828,0.098,
+0.495,0.696,0.730,0.688,0.652,1.100,0.077,0.067,0.041,0.060,
+0.067,0.073,0.054,0.061,0.060,0.010,0.061,0.067,0.071,0.091,
+0.067,0.096,0.811,0.846,0.608,0.771,0.064,0.074,0.069,0.089,
+0.948,0.112,0.687,0.939,0.648,0.948,0.937,1.180,0.795,0.608,
+0.485,0.724,0.829,0.729,0.733,0.938,0.934,0.085,0.810,1.230,
+0.759,0.735,0.890,1.470,1.720,0.711,0.507,0.979,0.682,0.480,
+0.408,0.552,0.783,0.068,0.436,0.694,1.060,0.725,0.661,1.470,
+1.090,0.718,0.471,0.710,0.786,0.743,0.487,0.582,0.790,0.061,
+0.621,0.860,0.816,0.787,0.660,1.080,0.990,0.869,0.637,1.000,
+0.066,0.066,0.048,0.084,1.000,0.078,0.796,1.200,0.933,1.110,
+1.140,1.610,1.610,0.755,0.672,1.420,0.976,0.755,0.682,1.050,
+1.250,0.079,1.070,1.740,1.690,1.110,1.420,2.300,3.720,1.910,
+1.570,3.740,1.650,0.971,0.878,1.350,1.900,0.157,0.782,1.410,
+3.340,2.150,1.190,2.620,1.760,0.880,0.680,1.030,0.944,0.529,
+0.459,0.559,0.958,0.060,0.465,0.681,0.980,0.737,0.560,0.997,
+1.370,0.799,0.703,1.280,0.098,0.068,0.055,0.137,0.695,0.052,
+0.354,0.577,0.800,0.734,0.552,0.959,2.690,0.947,0.989,2.350,
+1.540,0.894,0.809,1.520,1.040,0.071,0.542,0.969,1.760,0.975,
+0.942,2.110,1.830,0.791,0.567,1.020,0.815,0.492,0.390,0.536,
+0.741,0.062,0.319,0.521,0.765,0.622,0.381,0.770,0.992,0.523,
+0.336,0.510,0.488,0.274,0.252,0.294,0.516,0.034,0.251,0.379,
+0.442,0.347,0.273,0.437,0.763,0.521,0.381,0.601,0.049,0.037,
+0.028,0.050,0.572,0.045,0.252,0.394,0.408,0.405,0.289,0.476,
+0.898,0.475,0.370,0.697,0.731,0.492,0.368,0.569,0.560,0.036,
+0.277,0.480,0.616,0.451,0.415,0.886,1.260,0.566,0.490,0.844,
+0.753,0.411,0.414,0.552,0.749,0.073,0.307,0.536,0.866,0.605,
+0.506,1.080,0.087,0.058,0.037,0.067,0.052,0.042,0.034,0.045,
+0.055,5.88e-3,0.030,0.049,0.090,0.086,0.053,0.102,0.559,0.382,
+0.360,0.486,0.042,0.026,0.026,0.046,0.412,0.033,0.224,0.316,
+0.376,0.356,0.347,0.465,0.615,0.352,0.342,0.592,0.623,0.412,
+0.366,0.532,0.599,0.047,0.329,0.548,0.611,0.504,0.530,1.030,
+2.120,0.732,0.685,1.710,0.761,0.411,0.478,0.639,1.010,0.077,
+0.385,0.674,1.440,0.807,0.664,1.660,1.120,0.642,0.478,0.780,
+0.603,0.396,0.364,0.466,0.638,0.040,0.358,0.572,0.798,0.623,
+0.485,0.909,0.735,0.518,0.464,0.723,0.051,0.035,0.035,0.060,
+0.546,0.035,0.357,0.532,0.573,0.536,0.485,0.756,1.350,0.620,
+0.629,1.360,0.688,0.466,0.451,0.750,0.960,0.055,0.542,0.989,
+1.540,1.040,1.060,2.580,1.960,0.948,0.715,1.400,0.848,0.531,
+0.438,0.603,0.695,0.057,0.287,0.566,0.954,0.705,0.459,0.982,
+1.010,0.573,0.401,0.610,0.532,0.342,0.313,0.356,0.455,0.040,
+0.265,0.394,0.413,0.401,0.293,0.514,0.585,0.426,0.354,0.553,
+0.047,0.040,0.030,0.056,0.337,0.029,0.186,0.276,0.347,0.370,
+0.267,0.458,0.740,0.405,0.375,0.727,0.588,0.401,0.325,0.499,
+0.392,0.030,0.221,0.380,0.575,0.385,0.430,0.929,1.070,0.638,
+0.328,0.633,0.558,0.413,0.271,0.355,0.404,0.036,0.187,0.335,
+0.432,0.395,0.224,0.503,0.593,0.419,0.221,0.328,0.349,0.179,
+0.191,0.225,0.312,0.027,0.186,0.277,0.263,0.274,0.183,0.315,
+0.494,0.405,0.267,0.395,0.034,0.033,0.022,0.035,0.314,0.034,
+0.164,0.264,0.268,0.367,0.215,0.363,0.476,0.305,0.226,0.425,
+0.388,0.312,0.223,0.325,0.326,0.024,0.169,0.317,0.337,0.303,
+0.244,0.552,0.780,0.460,0.314,0.543,0.502,0.334,0.332,0.388,
+0.496,0.050,0.235,0.381,0.489,0.390,0.321,0.623,0.045,0.052,
+0.023,0.041,0.030,0.034,0.026,0.030,0.031,6.63e-3,0.024,0.034,
+0.039,0.047,0.029,0.047,0.458,0.379,0.310,0.415,0.030,0.036,
+0.022,0.034,0.293,0.027,0.183,0.258,0.272,0.317,0.293,0.363,
+0.425,0.286,0.276,0.449,0.400,0.376,0.285,0.402,0.383,0.029,
+0.276,0.419,0.359,0.311,0.374,0.646,0.781,0.411,0.320,0.590,
+0.409,0.257,0.242,0.327,0.396,0.030,0.184,0.324,0.542,0.338,
+0.294,0.681,0.550,0.430,0.275,0.436,0.327,0.292,0.241,0.324,
+0.281,0.024,0.221,0.341,0.329,0.329,0.263,0.466,0.416,0.301,
+0.305,0.443,0.025,0.022,0.018,0.032,0.294,0.023,0.200,0.288,
+0.317,0.316,0.303,0.455,0.554,0.275,0.313,0.555,0.370,0.284,
+0.241,0.402,0.467,0.032,0.292,0.550,0.644,0.548,0.566,1.110,
+1.460,0.759,0.517,1.100,0.526,0.370,0.276,0.441,0.579,0.054,
+0.270,0.472,0.756,0.621,0.344,0.770,0.943,0.583,0.361,0.643,
+0.464,0.321,0.352,0.381,0.540,0.050,0.310,0.415,0.555,0.583,
+0.334,0.582,0.644,0.556,0.556,0.756,0.057,0.053,0.044,0.094,
+0.347,0.033,0.194,0.284,0.343,0.444,0.288,0.478,0.883,0.474,
+0.514,1.060,0.579,0.434,0.382,0.682,0.489,0.042,0.281,0.507,
+0.742,0.534,0.571,1.440,0.092,0.063,0.035,0.070,0.051,0.044,
+0.027,0.039,0.047,6.77e-3,0.023,0.038,0.056,0.061,0.033,0.066,
+0.072,0.053,0.027,0.044,0.046,0.038,0.027,0.032,0.046,6.29e-3,
+0.029,0.038,0.050,0.055,0.030,0.052,0.050,0.051,0.036,0.055,
+4.51e-3,6.19e-3,5.07e-3,6.24e-3,0.037,5.24e-3,0.025,0.032,0.036,0.048,
+0.029,0.048,0.098,0.061,0.050,0.111,0.084,0.079,0.056,0.096,
+0.052,5.71e-3,0.033,0.062,0.078,0.071,0.057,0.132,0.695,0.384,
+0.268,0.389,0.385,0.305,0.266,0.304,0.515,0.063,0.279,0.374,
+0.463,0.422,0.310,0.541,0.049,0.042,0.021,0.033,0.029,0.030,
+0.023,0.023,0.040,7.70e-3,0.027,0.031,0.050,0.057,0.031,0.047,
+0.391,0.393,0.280,0.334,0.036,0.034,0.029,0.033,0.322,0.035,
+0.165,0.228,0.241,0.307,0.245,0.324,0.417,0.293,0.268,0.382,
+0.401,0.362,0.283,0.380,0.426,0.040,0.312,0.415,0.375,0.343,
+0.367,0.605,0.728,0.355,0.258,0.497,0.370,0.241,0.208,0.257,
+0.448,0.044,0.213,0.376,0.585,0.453,0.283,0.668,0.693,0.475,
+0.278,0.463,0.400,0.345,0.243,0.283,0.425,0.037,0.273,0.403,
+0.522,0.497,0.312,0.544,0.480,0.435,0.282,0.454,0.038,0.049,
+0.024,0.037,0.380,0.032,0.234,0.346,0.359,0.435,0.335,0.522,
+0.667,0.389,0.357,0.583,0.455,0.377,0.280,0.426,0.570,0.045,
+0.401,0.630,0.749,0.613,0.603,1.190,2.080,0.907,0.725,1.600,
+0.668,0.404,0.361,0.499,0.710,0.054,0.325,0.565,1.220,0.703,
+0.547,1.310,0.830,0.402,0.312,0.589,0.407,0.222,0.242,0.312,
+0.507,0.031,0.246,0.390,0.523,0.360,0.310,0.589,0.767,0.487,
+0.519,0.948,0.055,0.039,0.037,0.092,0.438,0.031,0.248,0.407,
+0.474,0.412,0.324,0.673,1.430,0.604,0.770,2.200,0.739,0.433,
+0.485,0.946,0.652,0.042,0.393,0.672,1.130,0.656,0.757,2.030,
+1.140,0.584,0.394,0.784,0.546,0.370,0.271,0.384,0.519,0.040,
+0.251,0.437,0.563,0.464,0.318,0.668,0.692,0.398,0.227,0.395,
+0.390,0.264,0.199,0.264,0.399,0.030,0.231,0.357,0.406,0.330,
+0.223,0.416,0.564,0.428,0.305,0.580,0.033,0.031,0.023,0.046,
+0.418,0.029,0.216,0.364,0.405,0.396,0.264,0.519,0.818,0.416,
+0.404,0.917,0.601,0.433,0.389,0.729,0.504,0.035,0.292,0.529,
+0.656,0.564,0.478,1.030,0.806,0.408,0.316,0.554,0.518,0.319,
+0.295,0.437,0.564,0.056,0.307,0.474,0.537,0.422,0.414,0.763,
+0.049,0.038,0.023,0.045,0.030,0.027,0.023,0.029,0.038,4.16e-3,
+0.027,0.039,0.047,0.046,0.033,0.056,0.454,0.376,0.297,0.476,
+0.029,0.023,0.023,0.041,0.389,0.032,0.257,0.360,0.342,0.364,
+0.332,0.520,0.540,0.325,0.339,0.599,0.532,0.376,0.360,0.591,
+0.621,0.040,0.397,0.627,0.564,0.447,0.559,0.967,1.430,0.614,
+0.519,1.090,0.591,0.356,0.345,0.482,0.713,0.058,0.342,0.624,
+1.050,0.653,0.595,1.590,0.773,0.513,0.321,0.596,0.418,0.295,
+0.273,0.365,0.478,0.032,0.307,0.516,0.589,0.512,0.383,0.766,
+0.780,0.612,0.486,0.874,0.048,0.041,0.029,0.063,0.695,0.044,
+0.383,0.631,0.715,0.686,0.573,0.969,1.550,0.699,0.750,1.680,
+0.928,0.684,0.612,1.050,1.240,0.063,0.799,1.460,2.170,1.350,
+1.470,2.820,1.830,1.060,0.958,1.590,1.060,0.638,0.552,0.710,
+0.889,0.091,0.511,0.766,1.320,1.010,0.660,1.160,1.100,0.677,
+0.507,0.676,0.714,0.448,0.402,0.435,0.571,0.052,0.413,0.492,
+0.516,0.505,0.423,0.614,0.672,0.498,0.410,0.615,0.062,0.047,
+0.042,0.076,0.426,0.048,0.279,0.353,0.426,0.451,0.389,0.547,
+0.977,0.499,0.418,0.878,0.882,0.530,0.415,0.672,0.525,0.044,
+0.345,0.522,0.752,0.498,0.560,1.090,1.280,0.742,0.529,0.754,
+0.734,0.506,0.377,0.448,0.618,0.084,0.445,0.557,0.555,0.606,
+0.400,0.668,0.846,0.549,0.369,0.484,0.515,0.363,0.329,0.359,
+0.551,0.059,0.422,0.532,0.352,0.397,0.331,0.443,0.518,0.486,
+0.320,0.409,0.057,0.052,0.039,0.047,0.791,0.121,0.331,0.401,
+0.381,0.527,0.348,0.401,0.484,0.350,0.224,0.384,0.539,0.395,
+0.274,0.409,0.460,0.043,0.279,0.399,0.411,0.375,0.380,0.666,
+0.800,0.398,0.314,0.479,0.632,0.369,0.359,0.420,0.505,0.063,
+0.269,0.371,0.455,0.424,0.347,0.675,0.056,0.046,0.030,0.047,
+0.048,0.050,0.037,0.043,0.043,9.32e-3,0.033,0.044,0.043,0.066,
+0.044,0.066,0.369,0.306,0.281,0.317,0.037,0.030,0.031,0.041,
+0.345,0.039,0.227,0.284,0.262,0.322,0.337,0.401,0.363,0.234,
+0.222,0.359,0.437,0.341,0.301,0.400,0.426,0.041,0.298,0.416,
+0.389,0.385,0.461,0.706,0.908,0.384,0.311,0.601,0.422,0.252,
+0.227,0.317,0.460,0.049,0.220,0.345,0.549,0.396,0.299,0.712,
+0.666,0.446,0.323,0.505,0.458,0.386,0.292,0.399,0.381,0.039,
+0.282,0.428,0.373,0.425,0.330,0.554,0.378,0.311,0.268,0.409,
+0.032,0.025,0.026,0.041,0.315,0.034,0.210,0.316,0.284,0.342,
+0.324,0.463,0.572,0.315,0.298,0.598,0.379,0.294,0.257,0.398,
+0.484,0.038,0.354,0.575,0.668,0.550,0.621,1.230,1.270,0.765,
+0.564,0.913,0.764,0.576,0.417,0.482,0.519,0.052,0.251,0.401,
+0.654,0.538,0.367,0.660,0.870,0.615,0.387,0.505,0.612,0.479,
+0.398,0.404,0.421,0.053,0.322,0.411,0.317,0.418,0.306,0.436,
+0.395,0.368,0.301,0.384,0.038,0.044,0.034,0.049,0.252,0.028,
+0.183,0.230,0.248,0.287,0.248,0.373,0.459,0.271,0.230,0.476,
+0.447,0.419,0.266,0.377,0.302,0.027,0.202,0.292,0.413,0.297,
+0.332,0.650,0.879,0.678,0.335,0.519,0.632,0.664,0.345,0.378,
+0.384,0.049,0.235,0.343,0.338,0.395,0.228,0.486,0.704,0.621,
+0.326,0.398,0.499,0.278,0.317,0.359,0.387,0.062,0.294,0.391,
+0.259,0.404,0.246,0.352,0.434,0.463,0.272,0.346,0.054,0.063,
+0.038,0.048,0.345,0.053,0.232,0.317,0.224,0.419,0.290,0.365,
+0.377,0.283,0.186,0.312,0.405,0.444,0.249,0.321,0.309,0.030,
+0.207,0.298,0.267,0.292,0.251,0.476,0.637,0.378,0.250,0.385,
+0.550,0.451,0.364,0.363,0.459,0.075,0.238,0.307,0.356,0.378,
+0.294,0.494,0.063,0.056,0.027,0.045,0.049,0.071,0.047,0.039,
+0.050,0.026,0.041,0.041,0.030,0.074,0.035,0.042,0.453,0.415,
+0.313,0.359,0.049,0.053,0.043,0.046,0.342,0.046,0.250,0.296,
+0.244,0.375,0.385,0.390,0.349,0.224,0.222,0.341,0.426,0.429,
+0.358,0.396,0.389,0.040,0.307,0.396,0.326,0.325,0.429,0.592,
+0.533,0.299,0.220,0.366,0.341,0.237,0.187,0.240,0.300,0.029,
+0.165,0.233,0.343,0.258,0.226,0.436,0.518,0.395,0.260,0.372,
+0.376,0.406,0.306,0.389,0.293,0.049,0.244,0.324,0.238,0.342,
+0.264,0.370,0.289,0.294,0.235,0.302,0.022,0.025,0.020,0.029,
+0.229,0.022,0.196,0.247,0.215,0.281,0.343,0.383,0.393,0.222,
+0.216,0.364,0.299,0.269,0.218,0.312,0.315,0.026,0.252,0.400,
+0.409,0.413,0.448,0.747,0.785,0.545,0.369,0.684,0.397,0.313,
+0.219,0.309,0.360,0.037,0.202,0.295,0.422,0.381,0.249,0.450,
+0.633,0.498,0.275,0.408,0.408,0.376,0.282,0.310,0.421,0.053,
+0.371,0.380,0.316,0.467,0.257,0.392,0.358,0.415,0.343,0.456,
+0.039,0.047,0.052,0.077,0.265,0.035,0.205,0.247,0.198,0.322,
+0.320,0.333,0.418,0.274,0.237,0.505,0.344,0.303,0.288,0.445,
+0.313,0.031,0.235,0.363,0.396,0.335,0.400,0.870,0.039,0.037,
+0.020,0.035,0.038,0.041,0.025,0.027,0.026,5.39e-3,0.020,0.026,
+0.028,0.036,0.021,0.036,0.043,0.044,0.021,0.027,0.047,0.059,
+0.034,0.033,0.039,0.011,0.040,0.037,0.028,0.046,0.024,0.034,
+0.024,0.037,0.032,0.030,5.50e-3,0.011,0.015,8.40e-3,0.034,9.55e-3,
+0.045,0.039,0.021,0.040,0.034,0.034,0.037,0.029,0.021,0.044,
+0.047,0.056,0.050,0.069,0.031,5.44e-3,0.030,0.042,0.032,0.035,
+0.035,0.066,0.505,0.371,0.237,0.301,0.354,0.389,0.284,0.285,
+0.388,0.060,0.265,0.340,0.288,0.358,0.278,0.445,0.036,0.043,
+0.022,0.028,0.029,0.047,0.035,0.026,0.034,9.25e-3,0.040,0.038,
+0.030,0.053,0.033,0.041,0.321,0.442,0.277,0.287,0.034,0.069,
+0.051,0.040,0.313,0.049,0.198,0.252,0.184,0.334,0.285,0.322,
+0.295,0.236,0.203,0.277,0.355,0.446,0.322,0.384,0.412,0.051,
+0.341,0.425,0.297,0.326,0.388,0.571,0.477,0.313,0.194,0.361,
+0.271,0.220,0.146,0.193,0.303,0.033,0.170,0.282,0.360,0.318,
+0.199,0.478,0.508,0.426,0.242,0.361,0.376,0.427,0.270,0.300,
+0.363,0.045,0.324,0.463,0.336,0.468,0.291,0.462,0.357,0.378,
+0.258,0.350,0.029,0.036,0.026,0.034,0.312,0.036,0.244,0.323,
+0.274,0.414,0.304,0.432,0.403,0.278,0.226,0.429,0.364,0.294,
+0.229,0.335,0.424,0.038,0.390,0.554,0.524,0.521,0.533,0.930,
+0.926,0.451,0.381,0.760,0.429,0.250,0.227,0.373,0.399,0.033,
+0.203,0.357,0.543,0.354,0.320,0.628,0.485,0.274,0.192,0.317,
+0.279,0.192,0.163,0.236,0.284,0.022,0.194,0.278,0.272,0.216,
+0.196,0.336,0.365,0.282,0.245,0.439,0.026,0.022,0.021,0.052,
+0.239,0.020,0.181,0.244,0.229,0.230,0.217,0.376,0.515,0.260,
+0.299,0.691,0.342,0.218,0.233,0.528,0.338,0.024,0.230,0.405,
+0.522,0.319,0.387,1.010,0.733,0.435,0.297,0.545,0.444,0.352,
+0.298,0.338,0.376,0.037,0.248,0.379,0.407,0.379,0.242,0.489,
+0.522,0.351,0.205,0.318,0.403,0.331,0.227,0.299,0.364,0.035,
+0.274,0.379,0.344,0.319,0.236,0.378,0.345,0.341,0.253,0.395,
+0.027,0.033,0.035,0.053,0.333,0.033,0.233,0.342,0.287,0.358,
+0.254,0.419,0.420,0.264,0.243,0.539,0.423,0.359,0.355,0.954,
+0.352,0.028,0.276,0.460,0.399,0.373,0.362,0.761,0.493,0.267,
+0.212,0.334,0.373,0.270,0.232,0.311,0.356,0.042,0.233,0.339,
+0.318,0.299,0.278,0.519,0.031,0.025,0.015,0.025,0.022,0.030,
+0.020,0.023,0.021,4.04e-3,0.024,0.028,0.025,0.032,0.023,0.038,
+0.280,0.270,0.211,0.294,0.021,0.024,0.021,0.034,0.283,0.031,
+0.221,0.296,0.220,0.297,0.284,0.394,0.305,0.206,0.210,0.321,
+0.326,0.280,0.265,0.422,0.474,0.039,0.336,0.546,0.368,0.318,
+0.439,0.692,0.670,0.334,0.263,0.489,0.325,0.222,0.190,0.253,
+0.364,0.037,0.195,0.332,0.431,0.301,0.262,0.644,0.501,0.304,
+0.205,0.327,0.304,0.258,0.214,0.272,0.261,0.021,0.224,0.339,
+0.298,0.300,0.226,0.497,0.397,0.327,0.269,0.469,0.026,0.025,
+0.019,0.039,0.343,0.027,0.250,0.381,0.369,0.396,0.374,0.578,
+0.653,0.331,0.350,0.710,0.441,0.368,0.340,0.604,0.574,0.038,
+0.481,0.776,0.911,0.716,0.797,1.260,1.120,0.590,0.510,0.942,
+0.593,0.374,0.300,0.431,0.483,0.047,0.231,0.426,0.695,0.555,
+0.340,0.639,0.559,0.330,0.235,0.355,0.374,0.232,0.195,0.264,
+0.279,0.027,0.173,0.225,0.293,0.284,0.216,0.346,0.486,0.327,
+0.226,0.449,0.035,0.024,0.019,0.047,0.235,0.019,0.152,0.245,
+0.226,0.257,0.231,0.345,0.676,0.276,0.219,0.479,0.390,0.236,
+0.190,0.337,0.291,0.020,0.157,0.264,0.395,0.221,0.280,0.609,
+0.828,0.457,0.285,0.525,0.533,0.359,0.280,0.333,0.330,0.032,
+0.164,0.269,0.344,0.327,0.196,0.393,0.527,0.376,0.200,0.294,
+0.373,0.215,0.203,0.243,0.292,0.027,0.188,0.264,0.224,0.225,
+0.158,0.254,0.407,0.345,0.217,0.334,0.034,0.032,0.024,0.039,
+0.303,0.030,0.204,0.377,0.213,0.294,0.241,0.340,0.431,0.250,
+0.151,0.299,0.392,0.308,0.207,0.336,0.288,0.022,0.169,0.305,
+0.299,0.250,0.256,0.534,0.539,0.296,0.211,0.384,0.459,0.311,
+0.278,0.351,0.429,0.047,0.172,0.264,0.376,0.369,0.235,0.463,
+0.044,0.048,0.022,0.036,0.041,0.037,0.034,0.039,0.036,5.45e-3,
+0.027,0.034,0.045,0.066,0.034,0.057,0.295,0.247,0.217,0.284,
+0.029,0.022,0.027,0.036,0.255,0.026,0.150,0.210,0.192,0.267,
+0.222,0.279,0.284,0.183,0.154,0.256,0.372,0.273,0.272,0.344,
+0.311,0.029,0.193,0.323,0.326,0.293,0.286,0.492,0.578,0.273,
+0.202,0.425,0.294,0.190,0.200,0.236,0.289,0.028,0.137,0.217,
+0.404,0.303,0.226,0.487,0.419,0.311,0.201,0.296,0.298,0.222,
+0.209,0.251,0.251,0.022,0.176,0.252,0.294,0.291,0.234,0.380,
+0.348,0.307,0.234,0.364,0.032,0.022,0.024,0.037,0.277,0.024,
+0.191,0.290,0.270,0.332,0.339,0.428,0.477,0.276,0.223,0.458,
+0.303,0.200,0.224,0.340,0.475,0.033,0.271,0.476,0.621,0.475,
+0.518,1.010,0.057,0.035,0.025,0.039,0.035,0.028,0.020,0.028,
+0.025,3.11e-3,0.013,0.025,0.030,0.034,0.021,0.035,0.040,0.029,
+0.028,0.028,0.032,0.027,0.026,0.026,0.021,3.25e-3,0.017,0.019,
+0.019,0.023,0.019,0.029,0.025,0.023,0.016,0.026,2.88e-3,3.16e-3,
+2.87e-3,3.90e-3,0.016,2.15e-3,0.013,0.019,0.014,0.019,0.017,0.025,
+0.033,0.017,0.015,0.029,0.030,0.026,0.018,0.028,0.020,2.28e-3,
+0.013,0.022,0.025,0.020,0.023,0.049,0.041,0.030,0.016,0.025,
+0.034,0.036,0.022,0.021,0.019,3.15e-3,0.011,0.016,0.017,0.020,
+0.013,0.022,0.037,0.042,0.018,0.022,0.042,0.041,0.026,0.028,
+0.025,6.10e-3,0.019,0.022,0.018,0.024,0.016,0.021,0.025,0.029,
+0.017,0.022,3.93e-3,7.38e-3,5.03e-3,4.30e-3,0.028,6.68e-3,0.023,0.038,
+0.015,0.027,0.024,0.028,0.027,0.018,0.011,0.021,0.028,0.029,
+0.019,0.025,0.021,2.68e-3,0.015,0.026,0.018,0.019,0.019,0.037,
+0.032,0.019,0.013,0.020,0.028,0.025,0.024,0.022,0.022,3.58e-3,
+0.014,0.018,0.018,0.021,0.016,0.026,3.11e-3,4.32e-3,2.04e-3,2.71e-3,
+4.34e-3,6.58e-3,4.98e-3,3.67e-3,3.03e-3,2.05e-3,6.38e-3,4.23e-3,1.85e-3,4.24e-3,
+3.04e-3,3.87e-3,0.025,0.024,0.021,0.028,3.72e-3,4.94e-3,6.10e-3,4.37e-3,
+0.025,5.87e-3,0.020,0.023,0.015,0.027,0.025,0.027,0.021,0.014,
+0.014,0.022,0.031,0.030,0.027,0.031,0.027,4.37e-3,0.022,0.044,
+0.023,0.042,0.026,0.043,0.037,0.028,0.019,0.030,0.024,0.019,
+0.019,0.020,0.022,2.32e-3,0.012,0.018,0.029,0.027,0.024,0.042,
+0.039,0.032,0.021,0.032,0.035,0.036,0.028,0.035,0.024,3.23e-3,
+0.022,0.026,0.026,0.034,0.028,0.041,0.024,0.025,0.021,0.030,
+2.76e-3,3.37e-3,3.50e-3,4.22e-3,0.021,3.08e-3,0.020,0.026,0.021,0.028,
+0.047,0.041,0.033,0.023,0.018,0.034,0.026,0.023,0.021,0.031,
+0.033,3.20e-3,0.023,0.040,0.039,0.041,0.044,0.083,0.619,0.371,
+0.272,0.477,0.327,0.243,0.166,0.255,0.268,0.025,0.157,0.225,
+0.249,0.206,0.157,0.283,0.470,0.304,0.179,0.262,0.340,0.244,
+0.219,0.225,0.285,0.031,0.321,0.273,0.192,0.245,0.177,0.269,
+0.283,0.282,0.182,0.291,0.034,0.038,0.028,0.053,0.226,0.028,
+0.212,0.245,0.156,0.246,0.194,0.294,0.292,0.178,0.132,0.270,
+0.263,0.218,0.172,0.288,0.286,0.027,0.218,0.348,0.271,0.220,
+0.266,0.584,0.036,0.028,0.015,0.024,0.027,0.029,0.018,0.022,
+0.017,3.37e-3,0.013,0.018,0.015,0.019,0.011,0.022,0.029,0.026,
+0.014,0.016,0.029,0.025,0.019,0.019,0.019,4.78e-3,0.028,0.021,
+0.012,0.018,0.012,0.017,0.020,0.026,0.015,0.021,3.11e-3,6.06e-3,
+5.46e-3,4.29e-3,0.022,6.46e-3,0.045,0.044,0.013,0.025,0.021,0.024,
+0.031,0.020,0.012,0.028,0.033,0.037,0.022,0.036,0.027,4.27e-3,
+0.025,0.070,0.022,0.021,0.023,0.052,0.420,0.257,0.180,0.206,
+0.316,0.288,0.286,0.229,0.261,0.036,0.215,0.239,0.181,0.209,
+0.210,0.305,0.029,0.035,0.016,0.019,0.026,0.034,0.028,0.019,
+0.025,6.14e-3,0.031,0.027,0.018,0.030,0.028,0.027,0.301,0.286,
+0.228,0.259,0.031,0.028,0.035,0.030,0.247,0.032,0.104,0.167,
+0.144,0.188,0.203,0.236,0.216,0.144,0.130,0.168,0.277,0.241,
+0.208,0.232,0.245,0.028,0.249,0.297,0.191,0.196,0.270,0.368,
+0.359,0.215,0.156,0.250,0.230,0.170,0.138,0.146,0.198,0.020,
+0.139,0.187,0.205,0.172,0.144,0.278,0.331,0.268,0.165,0.227,
+0.291,0.263,0.190,0.185,0.217,0.023,0.237,0.255,0.190,0.243,
+0.205,0.266,0.305,0.276,0.224,0.320,0.025,0.028,0.023,0.030,
+0.280,0.029,0.287,0.340,0.206,0.291,0.272,0.356,0.298,0.190,
+0.156,0.278,0.254,0.216,0.174,0.238,0.327,0.028,0.322,0.394,
+0.338,0.335,0.365,0.575,0.691,0.296,0.226,0.458,0.298,0.174,
+0.153,0.233,0.249,0.022,0.120,0.201,0.320,0.226,0.175,0.372,
+0.384,0.192,0.131,0.206,0.212,0.130,0.118,0.160,0.182,0.013,
+0.131,0.178,0.166,0.143,0.125,0.224,0.324,0.202,0.132,0.260,
+0.023,0.016,0.012,0.032,0.220,0.016,0.132,0.218,0.190,0.181,
+0.166,0.300,0.365,0.182,0.149,0.325,0.245,0.152,0.135,0.253,
+0.232,0.016,0.132,0.257,0.305,0.201,0.230,0.569,0.592,0.317,
+0.190,0.364,0.335,0.236,0.187,0.233,0.252,0.021,0.142,0.219,
+0.255,0.244,0.144,0.314,0.380,0.255,0.135,0.218,0.273,0.199,
+0.161,0.198,0.226,0.016,0.165,0.226,0.158,0.162,0.121,0.216,
+0.290,0.257,0.150,0.261,0.020,0.022,0.014,0.027,0.267,0.024,
+0.200,0.323,0.191,0.242,0.198,0.331,0.356,0.203,0.151,0.301,
+0.312,0.251,0.194,0.326,0.259,0.022,0.184,0.385,0.270,0.236,
+0.232,0.495,0.595,0.230,0.180,0.282,0.340,0.233,0.221,0.283,
+0.287,0.032,0.169,0.283,0.244,0.232,0.225,0.409,0.035,0.020,
+0.013,0.020,0.022,0.025,0.020,0.021,0.017,2.75e-3,0.017,0.025,
+0.018,0.025,0.019,0.029,0.302,0.258,0.189,0.283,0.021,0.019,
+0.017,0.029,0.258,0.026,0.188,0.276,0.189,0.243,0.231,0.337,
+0.329,0.192,0.246,0.277,0.330,0.244,0.236,0.326,0.297,0.027,
+0.268,0.458,0.276,0.242,0.325,0.518,0.528,0.224,0.183,0.338,
+0.248,0.154,0.144,0.184,0.259,0.026,0.141,0.227,0.282,0.198,
+0.180,0.408,0.327,0.186,0.130,0.219,0.227,0.172,0.148,0.183,
+0.178,0.013,0.160,0.232,0.183,0.177,0.171,0.285,0.351,0.282,
+0.218,0.372,0.023,0.020,0.015,0.032,0.319,0.023,0.259,0.408,
+0.282,0.302,0.304,0.450,0.482,0.243,0.223,0.463,0.334,0.261,
+0.228,0.372,0.415,0.027,0.334,0.551,0.508,0.402,0.478,0.806,
+1.770,0.640,0.507,1.220,0.499,0.280,0.228,0.394,0.470,0.037,
+0.177,0.341,0.788,0.580,0.294,0.705,0.482,0.238,0.163,0.285,
+0.244,0.134,0.112,0.164,0.226,0.014,0.126,0.167,0.275,0.235,
+0.151,0.280,0.374,0.229,0.168,0.348,0.025,0.016,0.013,0.035,
+0.195,0.013,0.097,0.170,0.207,0.199,0.165,0.314,0.597,0.264,
+0.223,0.524,0.336,0.194,0.167,0.323,0.258,0.017,0.143,0.251,
+0.444,0.258,0.277,0.728,0.581,0.253,0.166,0.339,0.252,0.141,
+0.109,0.162,0.182,0.014,0.075,0.142,0.223,0.165,0.103,0.253,
+0.284,0.150,0.089,0.162,0.158,0.087,0.068,0.102,0.142,8.06e-3,
+0.069,0.111,0.144,0.106,0.083,0.157,0.222,0.150,0.106,0.191,
+0.013,9.53e-3,7.63e-3,0.015,0.155,0.010,0.065,0.119,0.143,0.134,
+0.110,0.186,0.237,0.130,0.089,0.191,0.175,0.117,0.081,0.145,
+0.153,9.26e-3,0.079,0.148,0.182,0.134,0.136,0.333,0.439,0.178,
+0.145,0.298,0.271,0.144,0.128,0.216,0.223,0.022,0.078,0.167,
+0.313,0.230,0.138,0.390,0.025,0.016,0.010,0.022,0.019,0.012,
+0.011,0.018,0.016,1.26e-3,7.38e-3,0.016,0.033,0.030,0.014,0.036,
+0.193,0.128,0.118,0.182,0.014,8.48e-3,8.22e-3,0.017,0.131,9.75e-3,
+0.062,0.110,0.143,0.135,0.117,0.203,0.219,0.119,0.110,0.225,
+0.210,0.124,0.112,0.197,0.176,0.013,0.094,0.189,0.234,0.169,
+0.175,0.389,0.624,0.232,0.192,0.456,0.243,0.128,0.137,0.202,
+0.265,0.020,0.119,0.209,0.469,0.263,0.200,0.508,0.315,0.162,
+0.126,0.218,0.173,0.106,0.104,0.143,0.177,0.011,0.101,0.172,
+0.263,0.202,0.146,0.295,0.247,0.189,0.145,0.248,0.016,0.011,
+9.85e-3,0.018,0.177,0.011,0.104,0.176,0.206,0.200,0.198,0.317,
+0.439,0.212,0.201,0.470,0.260,0.154,0.151,0.258,0.330,0.019,
+0.190,0.346,0.572,0.370,0.434,1.020,0.589,0.286,0.195,0.421,
+0.263,0.163,0.113,0.177,0.195,0.016,0.084,0.161,0.271,0.221,
+0.132,0.299,0.296,0.159,0.119,0.184,0.178,0.113,0.103,0.122,
+0.134,9.52e-3,0.081,0.112,0.130,0.118,0.088,0.168,0.188,0.127,
+0.089,0.167,0.012,9.43e-3,7.11e-3,0.016,0.108,8.03e-3,0.061,0.101,
+0.109,0.108,0.092,0.174,0.232,0.115,0.096,0.204,0.173,0.113,
+0.086,0.149,0.122,8.83e-3,0.068,0.122,0.176,0.132,0.133,0.336,
+0.373,0.196,0.103,0.205,0.196,0.139,0.080,0.111,0.118,9.70e-3,
+0.049,0.094,0.141,0.118,0.072,0.164,0.207,0.150,0.068,0.118,
+0.158,0.114,0.068,0.098,0.102,8.87e-3,0.051,0.083,0.101,0.097,
+0.061,0.113,0.154,0.121,0.073,0.131,0.010,9.30e-3,5.54e-3,0.010,
+0.119,9.72e-3,0.056,0.100,0.098,0.112,0.091,0.152,0.148,0.088,
+0.058,0.123,0.125,0.103,0.063,0.105,0.100,6.79e-3,0.051,0.094,
+0.120,0.103,0.096,0.212,0.260,0.114,0.085,0.167,0.153,0.098,
+0.086,0.124,0.121,0.012,0.054,0.105,0.144,0.117,0.086,0.204,
+0.011,8.11e-3,4.57e-3,0.010,8.50e-3,9.61e-3,6.24e-3,8.64e-3,6.17e-3,8.93e-4,
+4.80e-3,8.12e-3,0.011,0.012,6.44e-3,0.013,0.159,0.115,0.084,0.143,
+0.011,7.65e-3,7.16e-3,0.013,0.107,8.93e-3,0.054,0.091,0.102,0.115,
+0.096,0.167,0.155,0.085,0.075,0.152,0.153,0.105,0.093,0.151,
+0.126,9.47e-3,0.077,0.141,0.149,0.128,0.136,0.294,0.277,0.125,
+0.098,0.202,0.128,0.080,0.070,0.102,0.132,0.010,0.068,0.107,
+0.189,0.134,0.121,0.242,0.188,0.117,0.083,0.138,0.117,0.097,
+0.072,0.107,0.096,7.15e-3,0.066,0.105,0.131,0.133,0.097,0.178,
+0.151,0.136,0.086,0.152,9.24e-3,8.29e-3,5.73e-3,0.011,0.095,7.73e-3,
+0.072,0.110,0.109,0.115,0.138,0.200,0.200,0.106,0.098,0.188,
+0.160,0.106,0.090,0.152,0.157,0.010,0.107,0.182,0.232,0.195,
+0.211,0.481,0.454,0.238,0.162,0.314,0.184,0.123,0.079,0.145,
+0.209,0.015,0.087,0.138,0.214,0.148,0.089,0.200,0.277,0.162,
+0.091,0.161,0.161,0.104,0.079,0.103,0.145,0.011,0.104,0.124,
+0.143,0.145,0.093,0.183,0.215,0.163,0.092,0.179,0.016,0.013,
+8.62e-3,0.021,0.113,9.78e-3,0.062,0.108,0.100,0.131,0.087,0.169,
+0.241,0.122,0.086,0.198,0.157,0.110,0.082,0.155,0.155,0.011,
+0.085,0.160,0.191,0.145,0.162,0.367,0.020,0.013,6.86e-3,0.013,
+0.013,9.39e-3,5.33e-3,9.34e-3,9.63e-3,8.93e-4,4.78e-3,7.67e-3,0.011,9.67e-3,
+5.55e-3,0.014,0.013,9.70e-3,4.56e-3,7.75e-3,0.014,9.34e-3,4.84e-3,7.67e-3,
+8.19e-3,1.01e-3,6.93e-3,7.69e-3,9.00e-3,9.37e-3,5.59e-3,0.011,0.011,8.67e-3,
+4.63e-3,8.99e-3,9.30e-4,1.01e-3,7.00e-4,1.01e-3,8.38e-3,9.71e-4,7.28e-3,9.87e-3,
+6.98e-3,9.20e-3,6.62e-3,0.011,0.017,9.59e-3,5.59e-3,0.015,0.014,0.012,
+6.85e-3,0.014,0.011,1.10e-3,6.13e-3,0.015,0.013,0.012,0.011,0.026,
+0.252,0.130,0.086,0.137,0.162,0.120,0.091,0.128,0.127,0.015,
+0.075,0.113,0.125,0.124,0.097,0.201,0.012,8.86e-3,4.71e-3,8.31e-3,
+9.93e-3,8.18e-3,5.46e-3,7.10e-3,8.01e-3,1.00e-3,6.08e-3,7.44e-3,0.011,0.012,
+9.96e-3,0.014,0.147,0.125,0.092,0.144,9.72e-3,9.23e-3,7.92e-3,0.012,
+0.124,0.011,0.069,0.096,0.089,0.110,0.095,0.140,0.145,0.089,
+0.075,0.123,0.136,0.111,0.084,0.121,0.149,0.011,0.103,0.149,
+0.139,0.115,0.145,0.248,0.267,0.128,0.087,0.172,0.146,0.092,
+0.066,0.105,0.130,0.011,0.079,0.119,0.149,0.111,0.083,0.203,
+0.201,0.124,0.074,0.130,0.146,0.098,0.066,0.085,0.111,7.66e-3,
+0.085,0.115,0.132,0.127,0.095,0.174,0.170,0.136,0.094,0.168,
+9.53e-3,8.49e-3,5.79e-3,0.011,0.130,9.26e-3,0.097,0.132,0.130,0.142,
+0.123,0.193,0.198,0.105,0.092,0.166,0.120,0.095,0.072,0.110,
+0.172,0.011,0.133,0.178,0.204,0.160,0.188,0.339,0.811,0.249,
+0.163,0.391,0.177,0.094,0.075,0.139,0.163,0.012,0.068,0.127,
+0.240,0.155,0.099,0.264,0.198,0.092,0.052,0.104,0.097,0.060,
+0.040,0.066,0.086,5.38e-3,0.046,0.076,0.093,0.070,0.050,0.114,
+0.161,0.098,0.066,0.154,8.62e-3,6.35e-3,4.20e-3,0.014,0.086,5.81e-3,
+0.044,0.086,0.094,0.086,0.068,0.148,0.243,0.109,0.093,0.227,
+0.125,0.074,0.065,0.136,0.117,7.08e-3,0.062,0.127,0.201,0.130,
+0.134,0.375,0.245,0.109,0.063,0.132,0.108,0.068,0.042,0.070,
+0.077,5.03e-3,0.036,0.066,0.090,0.069,0.042,0.105,0.128,0.074,
+0.034,0.070,0.080,0.067,0.028,0.052,0.061,3.56e-3,0.034,0.057,
+0.063,0.052,0.033,0.079,0.096,0.061,0.038,0.087,4.65e-3,3.76e-3,
+2.02e-3,5.65e-3,0.071,4.04e-3,0.031,0.065,0.070,0.063,0.045,0.101,
+0.114,0.057,0.043,0.107,0.076,0.055,0.036,0.082,0.074,4.20e-3,
+0.036,0.075,0.105,0.073,0.064,0.180,0.194,0.076,0.061,0.102,
+0.103,0.058,0.048,0.091,0.081,6.61e-3,0.037,0.070,0.092,0.072,
+0.056,0.139,6.52e-3,3.97e-3,2.16e-3,4.88e-3,3.98e-3,3.60e-3,2.36e-3,4.44e-3,
+3.10e-3,2.56e-4,1.90e-3,3.48e-3,5.23e-3,5.33e-3,3.44e-3,8.02e-3,0.092,0.065,
+0.047,0.090,4.27e-3,3.10e-3,2.48e-3,6.16e-3,0.066,4.26e-3,0.044,0.058,
+0.065,0.059,0.059,0.102,0.104,0.059,0.055,0.090,0.077,0.052,
+0.043,0.082,0.078,4.40e-3,0.051,0.088,0.091,0.060,0.081,0.152,
+0.305,0.081,0.056,0.125,0.066,0.035,0.029,0.049,0.063,4.47e-3,
+0.032,0.058,0.092,0.056,0.043,0.126,0.074,0.036,0.022,0.040,
+0.035,0.022,0.019,0.032,0.032,1.71e-3,0.020,0.034,0.041,0.031,
+0.024,0.060,0.060,0.035,0.026,0.051,1.99e-3,1.44e-3,1.01e-3,2.81e-3,
+0.037,1.73e-3,0.024,0.039,0.042,0.031,0.032,0.059,0.090,0.020,
+0.019,0.039,0.019,0.012,0.011,0.021,0.022,9.19e-4,0.015,0.025,
+0.024,8.94e-3,0.012,0.014
+};
+
+static double hg19_biasTable24_4_large[] = {
+104.0,21.4,11.5,25.3,18.4,7.330,5.470,9.110,12.2,0.939,
+4.920,6.880,19.1,11.1,8.610,16.2,20.7,7.780,5.250,7.480,
+8.020,3.640,3.370,3.840,7.260,0.467,3.370,4.410,7.510,5.030,
+4.120,7.030,15.0,7.220,5.530,7.890,0.951,0.597,0.448,0.986,
+5.260,0.457,3.470,4.390,6.010,5.440,3.660,5.940,22.9,8.220,
+8.410,15.3,10.6,6.210,5.560,10.4,9.830,0.645,4.600,7.490,
+15.6,6.990,6.600,12.0,24.3,8.000,4.840,8.830,8.530,4.520,
+3.100,4.050,7.140,0.550,2.380,4.130,6.660,5.080,2.820,5.560,
+10.2,4.760,2.630,3.930,4.650,2.670,1.940,2.170,5.050,0.332,
+2.100,3.010,3.610,2.820,1.810,3.060,7.750,5.260,3.190,4.940,
+0.464,0.336,0.236,0.434,4.510,0.367,2.200,3.230,3.470,3.660,
+2.400,3.960,7.440,3.930,2.850,5.280,4.990,3.280,2.300,3.880,
+5.050,0.307,2.210,3.780,5.670,3.750,3.030,6.680,19.4,5.770,
+5.170,7.800,8.100,4.090,3.760,5.040,7.470,0.681,2.720,4.830,
+6.920,5.080,3.730,8.240,1.070,0.569,0.378,0.613,0.657,0.457,
+0.331,0.435,0.556,0.060,0.299,0.489,0.822,0.798,0.466,0.929,
+5.850,3.740,3.540,4.140,0.457,0.291,0.285,0.462,4.160,0.342,
+2.140,3.120,3.420,3.320,2.620,3.730,5.900,3.240,3.160,5.090,
+5.780,3.680,3.060,4.610,4.700,0.347,2.560,4.160,4.680,3.580,
+3.630,6.530,26.7,8.040,6.500,14.9,8.160,3.940,3.930,5.550,
+10.4,0.891,3.650,6.520,13.7,7.980,6.040,15.8,12.1,6.600,
+4.430,6.870,6.820,4.490,3.620,4.470,6.840,0.414,3.480,5.770,
+8.670,6.850,5.020,9.630,8.140,5.690,4.440,6.310,0.583,0.378,
+0.349,0.555,5.060,0.335,2.800,4.430,5.160,5.020,4.090,6.070,
+13.6,7.280,5.230,11.3,6.000,3.730,3.320,5.890,7.620,0.439,
+3.960,6.980,10.1,6.030,6.020,12.6,25.0,11.1,6.550,11.6,
+8.380,4.880,3.680,4.740,6.170,0.570,2.310,4.370,7.020,5.760,
+3.220,6.300,9.550,5.830,3.250,4.650,4.940,2.980,2.560,2.950,
+3.770,0.334,2.120,3.250,3.180,2.730,1.900,3.550,6.230,4.740,
+3.320,4.900,0.503,0.452,0.296,0.535,2.890,0.267,1.740,2.500,
+2.720,3.200,2.090,3.820,6.560,2.860,2.960,4.870,5.030,3.360,
+2.570,3.940,3.390,0.260,1.590,2.910,4.200,2.590,2.590,5.920,
+11.6,6.400,3.030,5.300,5.600,3.720,2.180,2.600,3.880,0.352,
+1.400,2.520,3.330,3.010,1.710,3.350,5.800,3.640,1.860,2.590,
+3.260,1.820,1.660,1.700,2.780,0.257,1.440,2.210,1.920,1.870,
+1.270,1.940,4.530,4.210,2.140,3.270,0.327,0.370,0.212,0.292,
+2.810,0.340,1.610,2.250,1.960,2.840,1.660,2.810,3.560,2.180,
+1.430,2.500,2.980,2.340,1.390,1.970,2.550,0.194,1.080,2.020,
+2.400,1.800,1.350,3.360,8.100,4.410,2.740,4.640,5.130,3.560,
+3.060,3.480,3.940,0.414,1.750,3.140,3.390,2.960,2.320,4.650,
+0.445,0.427,0.200,0.338,0.298,0.372,0.242,0.242,0.264,0.053,
+0.204,0.342,0.297,0.350,0.224,0.401,3.900,3.610,2.630,3.190,
+0.320,0.323,0.249,0.318,2.730,0.292,1.640,2.410,2.080,2.720,
+2.130,3.030,3.130,1.890,1.790,2.790,3.470,2.830,2.270,3.000,
+2.630,0.216,1.730,2.800,2.490,1.970,2.500,4.230,7.570,3.220,
+2.500,4.660,3.970,2.210,1.840,2.390,3.420,0.272,1.410,2.620,
+4.360,2.740,2.070,4.830,5.140,3.440,2.340,3.430,3.060,2.630,
+1.980,2.370,2.420,0.219,1.720,3.770,2.600,2.810,1.980,3.800,
+4.110,3.270,2.800,3.690,0.278,0.232,0.177,0.288,2.560,0.208,
+1.640,2.600,2.440,2.730,2.340,3.510,5.100,2.470,2.370,4.060,
+3.300,2.310,1.810,2.900,3.300,0.220,1.940,3.590,4.660,3.510,
+3.440,6.380,19.1,6.090,7.640,8.590,4.900,3.020,2.570,3.440,
+5.570,0.460,2.520,3.720,5.600,4.270,2.780,5.430,8.250,4.360,
+3.230,4.140,3.860,2.360,2.240,2.390,4.250,0.345,2.310,3.040,
+3.470,3.200,1.990,3.440,5.770,4.610,4.030,4.940,0.516,0.468,
+0.349,0.656,3.120,0.362,1.610,2.590,2.830,3.970,2.190,4.080,
+5.870,2.950,3.160,5.360,4.100,3.010,2.460,3.840,3.960,0.348,
+2.170,3.790,4.990,3.350,3.750,9.560,0.953,0.554,0.365,0.575,
+0.495,0.416,0.236,0.320,0.404,0.056,0.203,0.313,0.393,0.433,
+0.279,0.477,0.626,0.479,0.281,0.318,0.440,0.387,0.244,0.247,
+0.378,0.057,0.240,0.279,0.304,0.355,0.193,0.306,0.436,0.451,
+0.287,0.362,0.047,0.064,0.046,0.053,0.356,0.071,0.221,0.315,
+0.289,0.469,0.253,0.413,0.674,0.392,0.309,0.633,0.621,0.588,
+0.370,0.639,0.475,0.052,0.302,0.486,0.570,0.432,0.437,0.970,
+6.140,3.130,2.260,2.830,3.410,2.480,2.040,2.290,4.040,0.455,
+1.980,2.680,3.430,2.610,2.190,3.230,0.444,0.405,0.176,0.232,
+0.253,0.239,0.175,0.173,0.314,0.056,0.204,0.238,0.364,0.367,
+0.229,0.305,3.280,3.130,2.150,2.320,0.275,0.284,0.191,0.267,
+2.930,0.465,1.060,1.670,1.880,2.600,1.690,2.140,2.840,1.870,
+1.570,2.110,2.680,2.300,1.900,2.370,2.940,0.299,1.720,2.650,
+2.220,2.100,2.070,3.350,5.860,2.770,1.960,3.500,3.210,1.740,
+1.380,1.800,3.350,0.290,1.640,2.550,4.030,2.710,2.030,4.270,
+5.730,4.420,2.220,3.070,3.640,2.530,1.890,2.050,3.260,0.269,
+2.060,3.140,3.360,3.130,2.330,3.610,3.770,3.310,2.290,3.260,
+0.306,0.295,0.181,0.306,3.080,0.425,1.810,3.300,2.650,3.330,
+2.410,3.790,4.220,2.320,2.270,2.960,3.070,2.370,1.850,2.630,
+3.750,0.313,2.480,3.900,4.500,3.360,3.550,6.390,25.1,8.590,
+7.030,18.6,6.870,3.690,3.500,5.260,6.600,0.564,2.930,5.560,
+11.3,6.630,4.650,11.5,8.120,3.740,2.750,4.500,3.650,1.970,
+1.900,2.430,3.950,0.260,2.180,3.390,3.960,2.780,2.110,4.310,
+8.190,5.080,3.590,7.240,0.616,0.449,0.322,0.866,3.890,0.334,
+1.760,3.470,4.170,4.030,2.520,5.780,10.4,4.440,4.790,12.7,
+5.760,3.550,3.400,6.950,5.520,0.382,3.230,6.230,9.300,5.450,
+5.890,18.4,12.3,6.080,3.860,7.680,6.390,4.060,2.660,3.970,
+5.180,0.411,2.350,4.010,5.200,4.290,2.830,5.450,7.480,4.030,
+2.530,3.800,4.200,2.860,2.060,2.400,4.060,0.310,2.170,3.190,
+3.540,3.040,1.800,3.340,6.040,4.320,2.630,4.880,0.332,0.294,
+0.186,0.404,4.030,0.326,2.170,3.580,3.820,4.150,2.710,5.100,
+7.340,3.570,3.120,6.860,5.240,3.960,2.730,5.320,5.100,0.306,
+3.000,4.960,6.280,4.090,4.300,9.440,6.950,3.870,2.910,5.110,
+4.730,2.890,2.520,3.850,4.500,0.439,2.260,3.670,4.300,3.410,
+2.760,5.260,0.471,0.371,0.224,0.375,0.296,0.255,0.202,0.258,
+0.295,0.038,0.224,0.344,0.384,0.374,0.234,0.432,4.130,3.350,
+2.280,3.370,0.269,0.198,0.160,0.306,3.300,0.280,1.580,2.500,
+2.870,3.110,2.310,3.510,4.180,2.530,2.280,3.790,4.070,2.730,
+2.410,3.910,4.300,0.287,2.390,4.080,3.850,2.950,3.090,5.720,
+13.0,4.880,4.140,7.800,4.950,2.820,4.240,3.730,5.240,0.411,
+2.830,4.460,8.110,4.830,4.210,10.1,5.570,3.380,2.260,3.720,
+3.370,2.170,1.930,2.410,3.230,0.203,2.100,3.530,4.200,3.410,
+2.530,4.920,6.100,4.600,3.260,5.310,0.355,0.260,0.197,0.391,
+4.380,0.289,2.380,4.290,4.890,4.740,3.580,5.760,9.770,4.190,
+3.770,8.020,5.190,3.740,2.970,5.040,6.230,0.302,3.870,6.600,
+10.5,5.790,5.890,11.1,20.5,10.1,7.320,12.3,10.5,5.360,
+3.840,4.800,7.090,0.695,2.950,5.140,9.210,6.850,4.090,7.120,
+8.250,4.970,3.080,3.660,4.800,2.980,2.470,2.490,3.950,0.341,
+2.440,3.000,3.170,2.900,2.280,3.430,4.970,3.770,2.600,3.870,
+0.452,0.327,0.261,0.483,2.670,0.259,1.470,2.020,2.620,2.970,
+2.220,3.350,6.280,2.950,2.490,5.080,5.120,3.130,2.430,4.010,
+3.530,0.346,1.870,2.990,4.400,2.920,3.090,5.800,10.000,5.410,
+2.750,4.650,6.610,3.630,2.080,2.640,4.050,0.441,1.650,2.680,
+3.370,3.480,1.850,3.510,5.660,3.780,1.780,2.430,3.450,2.020,
+1.600,1.730,3.080,0.355,1.770,2.410,2.100,2.360,1.400,2.280,
+3.430,3.080,1.680,2.380,0.407,0.255,0.188,0.266,2.510,0.287,
+1.490,1.960,2.000,2.730,1.860,2.510,2.940,1.880,1.180,2.160,
+2.920,2.080,1.200,2.010,2.360,0.196,1.300,1.980,2.390,2.110,
+2.010,3.700,6.070,3.160,2.010,3.370,4.870,3.050,2.300,2.950,
+3.940,0.445,1.520,2.480,3.310,2.790,1.900,4.000,0.433,0.367,
+0.235,0.307,0.417,0.386,0.274,0.297,0.305,0.058,0.225,0.306,
+0.325,0.451,0.243,0.414,2.390,2.440,1.610,1.960,0.237,0.194,
+0.159,0.256,2.010,0.233,1.370,2.060,1.600,1.950,1.510,2.050,
+2.240,1.440,1.210,1.960,2.920,2.090,1.580,2.310,2.330,0.244,
+1.620,2.200,2.270,2.180,2.170,3.430,6.400,2.620,2.040,4.340,
+2.750,1.600,1.300,1.880,3.240,0.351,1.310,2.340,3.570,2.410,
+1.750,4.460,4.700,3.170,2.100,2.980,3.240,2.360,2.110,2.250,
+2.450,0.228,1.700,2.600,2.490,2.580,1.860,3.230,2.780,2.250,
+1.880,2.420,0.236,0.168,0.254,0.281,1.770,0.169,1.180,1.720,
+1.770,2.190,1.700,2.270,3.650,1.900,1.550,3.250,2.150,1.520,
+1.410,2.080,2.650,0.203,1.740,2.800,3.740,2.950,3.020,5.800,
+10.4,6.240,4.080,6.710,6.350,5.180,2.920,3.350,3.560,0.415,
+1.560,2.780,3.780,3.620,2.080,3.840,5.700,4.150,2.350,2.960,
+3.990,2.990,2.330,2.230,2.560,0.316,1.720,2.400,1.700,1.940,
+1.460,2.300,2.900,2.920,2.100,2.830,0.279,0.314,0.236,0.348,
+1.600,0.199,1.170,1.500,1.410,1.930,1.510,2.380,2.940,1.590,
+1.420,2.680,2.840,2.360,1.720,2.320,1.830,0.191,1.130,1.720,
+2.200,1.570,1.720,3.460,5.690,4.250,1.970,2.900,3.900,3.340,
+1.610,1.860,2.350,0.283,1.130,1.760,1.830,2.120,1.240,2.070,
+3.670,2.720,1.340,1.610,2.140,0.844,1.200,1.190,1.930,0.321,
+1.300,1.850,1.110,1.630,1.060,1.440,2.220,2.770,1.410,1.890,
+0.235,0.318,0.176,0.221,1.730,0.278,1.140,1.550,1.180,2.190,
+1.460,1.950,1.670,1.330,0.817,1.340,1.850,1.910,0.940,1.350,
+1.520,0.154,0.922,1.420,1.300,1.270,1.060,2.070,4.390,2.920,
+1.560,2.440,4.190,3.790,2.380,2.440,2.520,0.359,1.270,1.910,
+1.970,2.060,1.560,2.760,0.298,0.358,0.160,0.223,0.346,0.606,
+0.331,0.232,0.200,0.081,0.216,0.238,0.151,0.308,0.178,0.232,
+2.210,2.590,1.760,1.920,0.335,0.382,0.232,0.266,1.780,0.266,
+1.290,1.820,1.190,2.060,1.620,2.060,1.690,1.140,1.090,1.510,
+2.790,2.660,2.080,2.240,1.900,0.205,1.290,1.950,1.630,1.600,
+1.880,2.920,3.470,1.940,1.350,2.290,2.280,1.610,1.020,1.310,
+1.720,0.164,0.794,1.280,1.870,1.450,1.070,2.290,2.910,2.310,
+1.560,2.040,2.270,2.530,1.640,1.730,1.370,0.184,1.220,1.780,
+1.220,1.630,1.240,1.890,2.080,2.150,2.110,2.130,0.177,0.204,
+0.148,0.188,1.190,0.138,1.050,1.370,1.160,1.640,1.510,2.020,
+2.290,1.240,1.070,1.850,1.680,1.460,1.120,1.500,1.560,0.130,
+0.992,1.740,2.110,1.900,1.910,3.490,6.660,3.990,2.870,4.600,
+3.540,2.420,1.930,2.480,2.860,0.311,1.430,2.220,2.910,2.720,
+2.160,3.480,4.840,3.930,1.830,2.770,3.270,2.500,1.890,2.040,
+3.170,0.367,2.120,2.630,2.000,2.480,1.600,2.560,2.670,3.080,
+1.790,2.680,0.283,0.307,0.224,0.421,1.850,0.265,1.100,1.760,
+1.550,2.520,1.490,2.800,2.620,1.640,1.310,2.670,2.360,1.960,
+1.460,2.290,2.210,0.232,1.450,2.330,2.410,1.900,2.380,4.990,
+0.375,0.304,0.154,0.252,0.386,0.327,0.195,0.221,0.218,0.042,
+0.143,0.204,0.201,0.265,0.395,0.484,0.295,0.328,0.135,0.173,
+0.353,0.381,0.219,0.228,0.258,0.089,0.223,0.243,0.150,0.232,
+0.144,0.194,0.189,0.301,0.146,0.191,0.040,0.078,0.056,0.046,
+0.216,0.080,0.189,0.229,0.157,0.327,0.226,0.274,0.228,0.169,
+0.113,0.235,0.342,0.352,0.199,0.297,0.212,0.037,0.186,0.255,
+0.202,0.212,0.258,0.396,3.610,2.890,1.490,2.060,3.200,3.050,
+2.050,2.260,3.000,0.482,2.040,2.470,1.890,2.240,1.840,2.750,
+0.265,0.468,0.174,0.177,0.247,0.402,0.239,0.184,0.246,0.097,
+0.242,0.241,0.184,0.325,0.198,0.227,1.890,2.930,1.470,1.710,
+0.220,0.327,0.197,0.251,2.130,0.378,1.140,1.710,1.260,2.260,
+1.570,1.930,1.590,1.300,0.961,1.350,2.060,2.500,1.560,1.960,
+2.380,0.316,1.790,2.150,1.500,1.760,2.020,2.690,2.880,1.780,
+1.060,1.930,1.800,1.150,0.808,1.110,1.850,0.194,0.996,1.590,
+1.820,1.580,1.180,2.400,3.170,3.060,1.450,1.920,2.860,2.500,
+1.510,1.690,2.300,0.280,1.740,2.360,1.820,2.330,1.590,2.360,
+1.950,2.320,1.360,1.830,0.179,0.210,0.138,0.184,1.950,0.338,
+1.460,1.950,1.490,2.470,1.740,2.470,1.940,1.340,1.030,1.860,
+1.580,1.480,1.080,1.520,2.290,0.231,1.960,2.540,2.350,2.290,
+2.370,3.700,7.160,3.040,2.410,4.950,2.710,1.640,1.350,2.220,
+2.630,0.240,1.160,2.550,3.320,2.310,1.690,3.970,3.960,2.170,
+1.340,2.250,2.060,1.310,1.110,1.540,1.880,0.150,1.130,2.450,
+1.720,1.300,0.996,2.120,2.610,2.110,1.340,2.420,0.185,0.162,
+0.114,0.284,1.450,0.140,0.776,1.490,1.560,1.700,1.130,2.430,
+3.530,1.640,1.570,3.500,2.030,1.360,1.170,2.450,1.910,0.145,
+1.090,2.290,2.900,1.840,2.030,5.600,5.500,2.990,1.710,3.120,
+3.420,2.400,1.560,2.070,2.770,0.279,1.370,2.440,2.440,2.390,
+2.140,3.230,3.480,2.360,1.200,1.890,2.750,2.070,1.380,1.690,
+2.310,0.223,1.360,2.100,1.820,1.780,1.170,2.030,2.020,2.110,
+1.140,1.800,0.167,0.207,0.121,0.211,1.870,0.245,1.180,1.890,
+1.940,3.010,1.700,2.790,2.180,1.370,1.190,2.140,2.290,2.020,
+1.330,2.500,1.970,0.171,1.450,2.240,2.210,2.050,2.170,3.900,
+3.750,2.310,1.500,2.320,2.940,2.330,1.700,2.270,3.010,0.352,
+1.560,2.580,2.250,2.060,1.840,3.350,0.246,0.233,0.122,0.187,
+0.180,0.239,0.176,0.166,0.165,0.031,0.142,0.210,0.178,0.223,
+0.154,0.252,2.230,2.080,1.230,1.750,0.172,0.162,0.121,0.203,
+1.890,0.225,1.200,1.840,1.610,2.100,1.570,2.340,1.950,1.340,
+1.150,1.790,2.310,1.810,1.440,2.240,2.380,0.227,1.700,2.430,
+2.130,1.830,2.230,3.550,4.970,2.130,1.640,3.070,2.150,1.420,
+1.210,1.570,2.450,0.230,1.250,2.300,2.760,1.830,1.650,3.900,
+3.170,1.980,1.250,1.980,2.140,1.610,1.200,1.530,1.900,0.139,
+1.190,2.020,2.010,1.710,1.400,2.640,2.860,2.340,1.610,2.490,
+0.224,0.158,0.114,0.210,2.110,0.187,1.480,2.260,2.270,2.650,
+2.110,3.220,3.850,2.000,1.800,3.840,2.860,2.190,1.770,2.670,
+3.200,0.214,2.480,3.870,4.810,3.300,3.620,5.340,14.5,5.370,
+6.920,8.490,5.220,3.050,2.920,3.460,7.930,0.537,2.440,3.320,
+6.600,4.950,2.730,5.220,4.450,2.680,1.930,2.590,2.710,1.550,
+1.550,1.750,2.690,0.217,1.400,1.770,2.280,1.930,1.460,2.420,
+6.610,3.040,2.020,2.950,0.373,0.239,0.202,0.401,2.280,0.208,
+1.480,1.820,2.040,2.190,1.750,2.660,5.050,2.340,1.960,3.930,
+3.430,2.130,1.880,2.980,2.370,0.199,1.530,2.200,3.400,2.000,
+2.350,4.790,7.920,3.790,2.650,4.430,4.170,2.620,2.420,2.700,
+3.370,0.333,1.400,2.410,2.900,2.870,1.460,2.980,3.880,2.370,
+1.390,2.030,2.360,1.170,1.370,1.540,2.500,0.248,1.300,1.770,
+1.740,1.780,0.987,1.690,3.510,3.020,1.860,2.900,0.296,0.243,
+0.204,0.323,2.370,0.252,1.470,2.100,1.720,2.300,1.620,2.320,
+2.910,1.700,1.240,2.440,2.770,2.070,1.670,2.420,1.960,0.159,
+1.160,1.860,2.010,1.660,1.630,3.440,5.420,2.340,1.890,3.180,
+4.090,2.640,2.510,2.930,4.650,0.475,1.500,2.240,3.230,2.760,
+1.910,3.850,0.440,0.326,0.201,0.326,0.402,0.334,0.298,0.390,
+0.370,0.059,0.232,0.289,0.408,0.555,0.265,0.475,2.350,1.900,
+1.660,2.040,0.245,0.186,0.210,0.308,1.760,0.208,1.070,1.410,
+1.510,1.950,1.400,1.860,2.250,1.320,1.180,1.980,3.060,2.200,
+1.970,2.690,2.140,0.207,1.290,1.880,2.510,2.070,2.040,3.640,
+5.710,2.210,1.860,3.900,2.540,1.590,1.620,2.340,3.390,0.390,
+1.350,2.170,3.960,2.850,1.860,4.480,3.870,2.280,1.670,2.550,
+2.850,1.780,1.960,2.370,2.540,0.237,1.440,2.150,2.800,2.250,
+1.620,3.070,2.810,2.330,2.200,2.930,0.265,0.187,0.201,0.339,
+2.100,0.197,1.420,2.080,2.150,2.550,2.090,3.130,4.080,2.050,
+1.800,3.770,2.480,1.640,1.630,2.650,3.480,0.267,2.130,3.520,
+5.980,4.010,4.200,8.980,0.725,0.422,0.352,0.486,0.435,0.326,
+0.247,0.321,0.392,0.057,0.158,0.249,0.384,0.417,0.207,0.347,
+0.442,0.317,0.260,0.299,0.347,0.250,0.260,0.257,0.253,0.039,
+0.170,0.213,0.191,0.224,0.157,0.246,0.323,0.273,0.182,0.253,
+0.045,0.040,0.034,0.048,0.190,0.027,0.134,0.175,0.154,0.217,
+0.157,0.252,0.323,0.181,0.158,0.279,0.336,0.261,0.217,0.300,
+0.231,0.025,0.160,0.218,0.259,0.186,0.233,0.415,0.513,0.351,
+0.206,0.353,0.348,0.318,0.215,0.254,0.248,0.039,0.116,0.246,
+0.202,0.235,0.125,0.225,0.389,0.314,0.163,0.222,0.327,0.210,
+0.226,0.240,0.258,0.048,0.158,0.210,0.155,0.192,0.125,0.176,
+0.259,0.303,0.187,0.247,0.041,0.058,0.050,0.046,0.231,0.054,
+0.164,0.206,0.140,0.241,0.174,0.225,0.232,0.158,0.113,0.205,
+0.275,0.263,0.200,0.232,0.175,0.021,0.116,0.175,0.164,0.156,
+0.151,0.289,0.386,0.226,0.154,0.230,0.359,0.329,0.279,0.266,
+0.306,0.051,0.170,0.181,0.204,0.242,0.173,0.280,0.036,0.046,
+0.027,0.033,0.051,0.074,0.063,0.047,0.042,0.026,0.058,0.043,
+0.028,0.054,0.035,0.037,0.228,0.262,0.210,0.232,0.043,0.057,
+0.060,0.052,0.226,0.054,0.179,0.194,0.148,0.289,0.208,0.228,
+0.228,0.137,0.132,0.209,0.333,0.316,0.289,0.316,0.226,0.032,
+0.176,0.223,0.215,0.222,0.234,0.377,0.544,0.353,0.237,0.413,
+0.310,0.229,0.196,0.262,0.325,0.040,0.151,0.232,0.377,0.333,
+0.258,0.524,0.556,0.394,0.288,0.403,0.498,0.429,0.403,0.443,
+0.415,0.053,0.267,0.385,0.375,0.449,0.291,0.470,0.306,0.311,
+0.267,0.336,0.034,0.037,0.030,0.047,0.277,0.042,0.215,0.289,
+0.244,0.337,0.291,0.400,0.447,0.261,0.208,0.388,0.320,0.261,
+0.217,0.310,0.376,0.035,0.261,0.405,0.536,0.441,0.450,0.856,
+5.150,2.640,2.270,3.200,2.660,1.870,1.290,1.720,2.220,0.234,
+1.470,1.630,2.020,1.710,1.310,1.980,3.190,2.120,1.330,1.750,
+2.310,1.570,1.440,1.380,1.950,0.223,1.510,1.690,1.380,1.560,
+1.130,1.640,2.760,2.770,1.690,2.310,0.318,0.307,0.232,0.400,
+2.340,0.367,1.250,1.590,1.550,2.600,1.280,2.010,2.220,1.320,
+1.040,2.510,1.980,1.520,1.210,1.870,2.220,0.198,1.350,1.880,
+1.850,1.450,1.620,3.200,0.356,0.257,0.146,0.250,0.314,0.328,
+0.159,0.190,0.170,0.032,0.105,0.141,0.144,0.165,0.103,0.185,
+0.239,0.193,0.102,0.123,0.235,0.206,0.172,0.152,0.172,0.042,
+0.158,0.161,0.113,0.127,0.091,0.128,0.210,0.270,0.152,0.194,
+0.040,0.057,0.049,0.044,0.201,0.057,0.183,0.194,0.121,0.228,
+0.142,0.195,0.260,0.156,0.112,0.264,0.279,0.278,0.177,0.269,
+0.207,0.026,0.141,0.218,0.164,0.148,0.159,0.290,3.180,1.880,
+1.240,1.500,2.600,2.640,1.720,1.670,2.200,0.325,1.250,1.550,
+1.340,1.450,1.260,1.750,0.227,0.272,0.130,0.145,0.244,0.500,
+0.206,0.165,0.191,0.064,0.178,0.174,0.141,0.227,0.177,0.173,
+2.080,2.090,1.480,1.840,0.233,0.269,0.227,0.415,1.710,0.274,
+0.631,1.010,0.945,1.600,1.150,1.380,1.540,0.996,0.848,1.210,
+1.900,1.760,1.420,1.840,1.710,0.195,1.280,1.490,1.150,1.260,
+1.340,1.830,2.670,1.470,1.080,1.780,1.720,1.210,0.773,0.967,
+1.560,0.186,0.879,1.250,1.380,1.240,0.851,1.640,2.490,1.850,
+1.170,1.410,2.150,2.220,1.390,1.240,1.830,0.220,1.360,1.660,
+1.500,1.750,1.220,1.650,2.130,2.350,1.470,1.960,0.234,0.266,
+0.173,0.267,2.190,0.496,1.560,1.830,1.450,2.450,1.810,2.180,
+1.860,1.130,0.945,1.490,1.870,1.540,1.130,1.480,1.940,0.194,
+1.570,1.890,1.910,1.760,1.870,2.760,5.370,2.390,1.850,3.410,
+2.240,1.370,1.080,1.520,2.040,0.202,0.916,1.560,2.810,1.790,
+1.190,2.750,3.280,1.560,1.080,1.620,1.560,0.914,0.805,1.060,
+1.280,0.099,0.794,1.200,1.280,0.967,0.756,1.460,2.530,2.130,
+1.150,2.070,0.197,0.160,0.115,0.268,1.650,0.150,0.813,1.380,
+1.540,1.670,1.190,2.050,3.200,1.680,1.380,2.860,2.010,1.300,
+1.140,1.980,1.780,0.142,1.000,1.670,2.550,1.570,1.780,4.070,
+5.300,3.050,1.810,3.250,3.100,3.030,1.520,2.020,2.290,0.208,
+1.160,1.810,2.190,1.950,1.210,2.480,3.500,2.180,1.260,1.940,
+2.370,1.690,1.360,1.680,1.850,0.157,1.220,1.810,1.470,1.330,
+0.959,1.630,2.450,2.400,1.380,2.190,0.198,0.208,0.147,0.238,
+1.920,0.201,1.310,2.000,1.610,2.220,1.530,2.520,2.850,1.660,
+1.350,2.430,2.620,2.060,1.500,2.360,2.070,0.155,1.290,2.020,
+2.020,1.660,1.710,3.230,3.670,2.100,1.560,2.180,2.740,2.170,
+1.760,2.220,2.290,0.280,1.290,2.270,1.920,1.860,1.610,3.090,
+0.276,0.234,0.137,0.203,0.227,0.290,0.199,0.211,0.159,0.037,
+0.159,0.202,0.182,0.260,0.179,0.243,2.200,2.400,1.440,2.170,
+0.199,0.228,0.194,0.365,2.040,0.318,1.210,1.740,1.720,3.240,
+1.650,2.210,2.200,1.470,1.310,1.910,2.520,2.060,1.920,2.680,
+2.270,0.193,1.710,2.320,2.250,1.990,2.320,3.270,4.420,1.760,
+1.490,2.740,1.960,1.200,1.140,1.480,2.370,0.275,1.150,2.000,
+1.990,1.460,1.240,3.070,3.080,1.880,1.310,1.990,2.200,1.640,
+1.410,1.580,1.730,0.143,1.480,2.060,1.800,1.570,1.410,2.340,
+2.820,2.710,1.710,2.790,0.221,0.217,0.153,0.296,2.490,0.260,
+1.830,2.710,2.370,2.890,2.360,3.240,3.910,1.990,1.800,3.780,
+2.710,2.210,1.800,2.870,3.070,0.210,2.320,3.790,4.520,2.990,
+3.490,6.010,18.2,7.560,6.540,15.1,6.570,3.590,3.400,4.860,
+7.000,0.604,2.600,4.710,14.7,8.480,4.070,8.930,5.820,2.870,
+2.250,3.470,2.950,1.540,1.560,1.930,3.420,0.212,1.740,2.140,
+3.490,2.600,1.660,3.100,5.200,3.200,2.280,4.180,0.397,0.242,
+0.207,0.475,2.720,0.199,1.340,2.070,3.090,2.800,1.950,3.860,
+11.8,4.080,3.490,7.000,4.940,2.820,2.650,4.400,4.010,0.286,
+2.060,3.560,6.640,3.750,3.770,9.620,7.540,3.200,2.160,4.310,
+3.500,1.770,1.390,1.980,2.860,0.234,1.040,1.930,3.260,2.590,
+1.300,3.080,3.550,1.840,1.100,1.940,1.820,0.887,0.836,1.160,
+2.010,0.130,0.904,1.370,1.890,1.410,0.871,1.610,3.270,2.150,
+1.560,2.650,0.214,0.140,0.128,0.224,2.500,0.191,0.975,1.570,
+2.310,2.190,1.360,2.350,3.390,1.680,1.410,2.690,2.230,1.440,
+1.380,1.940,2.020,0.125,0.997,1.810,2.450,1.820,1.630,3.960,
+7.350,2.490,2.040,4.070,3.910,2.110,1.910,3.220,3.800,0.361,
+1.200,2.200,4.860,3.240,1.900,5.170,0.479,0.234,0.175,0.344,
+0.297,0.192,0.183,0.297,0.292,0.026,0.138,0.237,0.550,0.451,
+0.215,0.515,2.560,1.770,1.720,2.530,0.208,0.127,0.139,0.268,
+1.750,0.158,0.795,1.310,2.140,1.970,1.300,2.210,2.830,1.530,
+1.620,2.980,2.690,1.660,1.620,2.730,2.150,0.168,1.180,1.990,
+3.100,2.290,2.150,4.440,9.220,3.140,2.600,6.330,3.400,1.790,
+1.720,2.940,4.770,0.377,1.780,3.180,9.530,4.680,2.990,8.550,
+4.820,2.390,2.000,3.250,2.710,1.600,1.640,2.280,3.200,0.198,
+1.600,2.590,4.700,3.310,2.090,4.360,3.690,2.620,2.460,3.510,
+0.276,0.170,0.200,0.314,3.030,0.196,1.650,2.570,3.330,3.270,
+2.430,4.190,7.080,3.220,2.910,6.430,3.850,2.320,2.190,3.810,
+4.950,0.308,2.880,4.950,9.690,6.770,5.760,14.3,9.930,4.920,
+3.630,7.400,4.990,2.980,2.350,3.370,4.250,0.416,1.510,2.920,
+5.550,5.600,2.310,4.930,5.580,3.030,2.220,4.010,3.360,1.930,
+1.880,2.290,2.670,0.237,1.570,2.280,2.440,2.340,1.530,3.100,
+3.710,3.070,1.920,3.330,0.313,0.250,0.181,0.352,2.170,0.203,
+1.200,1.980,2.260,2.520,1.690,3.270,4.240,2.170,1.920,3.430,
+3.390,2.300,1.850,2.820,2.460,0.204,1.350,2.320,3.170,2.070,
+2.170,4.950,6.470,3.360,1.980,4.510,3.570,2.210,1.520,2.080,
+2.400,0.216,0.945,2.140,2.740,2.390,1.240,2.830,3.820,2.540,
+1.280,2.390,2.750,1.420,1.250,1.550,2.140,0.186,1.000,1.620,
+1.770,1.580,0.986,1.740,2.820,2.620,1.560,2.610,0.260,0.246,
+0.232,0.343,2.230,0.228,1.100,1.790,1.970,2.280,1.460,2.690,
+2.580,1.730,1.230,2.200,2.400,2.020,1.500,1.860,1.650,0.121,
+0.878,1.570,2.030,1.570,1.350,3.000,5.290,2.370,1.650,3.210,
+3.370,2.120,1.880,2.640,2.720,0.311,1.110,1.770,2.890,2.490,
+1.610,3.640,0.254,0.202,0.121,0.234,0.212,0.209,0.166,0.204,
+0.174,0.032,0.129,0.178,0.252,0.280,0.150,0.272,2.570,2.330,
+1.840,2.510,0.215,0.196,0.183,0.261,2.090,0.217,1.120,1.720,
+1.930,2.480,1.650,2.620,2.660,1.450,1.500,2.620,2.830,2.250,
+2.040,2.600,2.300,0.187,1.320,2.130,2.630,2.030,2.210,4.250,
+6.170,2.680,1.960,4.190,2.650,1.610,1.420,2.100,2.970,0.246,
+1.250,2.160,4.250,2.790,2.020,5.070,4.130,2.500,1.970,3.250,
+2.740,2.110,1.980,2.490,2.500,0.206,1.510,2.440,3.120,3.010,
+2.000,3.720,3.030,2.620,2.180,3.270,0.209,0.176,0.140,0.251,
+2.460,0.189,1.540,2.470,2.520,2.790,2.150,3.720,4.560,2.290,
+2.020,3.760,3.030,2.150,1.690,2.450,3.340,0.226,1.970,3.660,
+5.120,3.800,3.590,7.350,5.420,3.040,2.220,4.270,2.970,1.970,
+1.330,2.130,2.810,0.242,1.310,2.080,3.550,2.590,1.820,3.080,
+4.290,2.580,1.520,2.450,2.400,1.550,1.270,1.500,2.360,0.217,
+1.450,1.940,2.300,2.200,1.360,2.440,3.030,2.900,1.790,3.060,
+0.297,0.309,0.194,0.406,2.110,0.222,1.210,2.210,1.830,2.560,
+1.510,3.230,3.140,1.960,1.630,3.150,2.410,2.130,1.470,2.490,
+2.510,0.219,1.450,2.570,2.840,2.070,2.270,5.060,0.340,0.234,
+0.147,0.334,0.259,0.223,0.132,0.199,0.205,0.023,0.105,0.174,
+0.230,0.224,0.153,0.284,0.255,0.189,0.098,0.166,0.200,0.185,
+0.122,0.146,0.180,0.027,0.140,0.171,0.159,0.169,0.102,0.180,
+0.199,0.248,0.133,0.213,0.023,0.035,0.029,0.035,0.242,0.036,
+0.135,0.228,0.170,0.266,0.170,0.614,0.270,0.186,0.135,0.299,
+0.254,0.264,0.172,0.292,0.213,0.022,0.138,0.225,0.228,0.197,
+0.194,0.447,3.540,2.020,1.390,2.090,2.460,2.160,1.650,1.950,
+2.250,0.288,1.250,1.690,1.900,1.910,1.630,2.720,0.224,0.208,
+0.097,0.155,0.155,0.194,0.115,0.117,0.155,0.030,0.147,0.138,
+0.192,0.230,0.147,0.212,2.310,3.400,1.660,2.210,0.184,0.246,
+0.150,0.230,2.090,0.232,0.892,1.330,1.320,1.940,1.300,1.950,
+2.250,1.630,1.220,1.800,2.100,2.010,1.510,1.960,2.390,0.196,
+1.810,2.000,1.850,1.690,1.870,3.020,3.530,1.830,1.300,2.570,
+2.040,1.390,1.000,1.440,2.160,0.191,1.180,1.820,2.570,1.820,
+1.400,2.970,3.560,2.200,1.470,2.270,2.190,1.870,1.360,1.450,
+2.330,0.183,1.550,2.080,2.570,2.420,1.720,2.810,2.730,2.950,
+1.840,2.990,0.209,0.321,0.169,0.240,2.370,0.233,1.550,2.220,
+2.190,2.830,2.230,3.270,2.960,1.770,1.540,2.520,2.210,1.960,
+1.410,1.980,2.840,0.206,2.080,2.640,3.220,2.860,2.800,4.730,
+12.2,4.010,3.430,7.300,3.790,2.120,1.730,2.940,3.770,0.295,
+1.740,3.110,5.380,3.580,2.310,6.280,4.750,2.230,1.490,2.650,
+2.290,1.310,1.260,1.740,2.420,0.210,2.630,2.830,2.340,1.770,
+1.340,2.690,3.790,3.090,1.820,3.890,0.260,0.233,0.157,0.403,
+2.320,0.197,1.420,2.410,2.520,2.490,1.720,3.720,6.030,2.910,
+2.700,6.250,3.310,2.080,1.920,3.800,3.150,0.217,2.030,4.030,
+5.580,3.350,3.540,10.4,4.890,2.480,1.700,3.450,2.670,1.850,
+1.200,1.810,2.270,0.159,1.000,1.890,2.520,1.930,1.310,3.030,
+3.160,1.810,1.020,1.880,1.830,1.240,0.899,1.310,1.780,0.115,
+1.110,1.750,1.700,1.380,0.953,1.900,2.510,1.930,1.230,2.480,
+0.145,0.142,0.088,0.196,2.000,0.161,1.120,1.990,2.040,2.320,
+1.520,3.430,3.190,1.750,1.590,3.320,2.470,1.810,1.420,2.690,
+2.180,0.133,1.360,2.350,2.790,2.050,2.130,4.880,5.410,2.890,
+2.390,3.500,3.630,2.390,2.150,3.330,3.320,0.318,1.640,2.710,
+3.440,2.670,2.280,4.720,0.300,0.272,0.154,0.244,0.199,0.185,
+0.153,0.201,0.174,0.021,0.144,0.199,0.273,0.253,0.162,0.327,
+3.260,3.050,2.070,3.150,0.201,0.202,0.138,0.282,2.620,0.221,
+1.390,2.250,2.490,2.840,2.180,3.540,3.900,2.480,2.260,3.450,
+3.590,2.620,2.370,3.750,3.480,0.240,2.420,3.540,3.580,2.600,
+3.200,5.460,10.3,3.430,2.840,5.820,3.590,2.150,1.880,2.830,
+4.230,0.283,1.980,3.420,6.160,3.520,3.110,8.260,5.220,3.030,
+1.980,3.390,3.340,2.740,1.840,2.400,3.310,0.191,1.920,3.060,
+3.720,2.930,2.270,4.820,5.060,4.160,2.800,4.910,0.247,0.217,
+0.148,0.314,3.880,0.241,2.600,4.240,4.410,4.360,3.750,6.300,
+10.3,4.460,3.760,8.670,4.900,3.440,2.910,5.460,5.700,0.305,
+3.880,7.090,10.2,5.770,5.750,13.1,17.4,9.010,6.020,11.2,
+9.620,5.540,4.070,5.030,8.490,0.842,3.580,5.440,10.6,7.970,
+4.410,7.380,11.5,6.270,3.400,4.480,5.830,3.730,2.710,2.820,
+4.930,0.443,2.550,3.270,3.910,3.670,2.440,3.780,6.270,5.230,
+3.310,4.470,0.562,0.532,0.374,0.628,3.740,0.390,2.070,2.690,
+3.280,4.350,2.660,3.750,9.390,4.480,3.820,6.500,6.210,4.350,
+3.660,5.390,4.700,0.411,2.420,3.890,5.730,3.820,3.640,6.150,
+10.3,4.330,2.330,4.370,5.780,4.020,2.390,2.800,4.480,0.485,
+1.580,2.490,3.400,3.170,1.530,2.650,6.570,3.930,1.740,2.430,
+3.810,2.620,1.820,1.750,3.580,0.426,1.690,2.370,2.170,2.650,
+1.340,1.830,3.850,4.180,1.930,2.550,0.336,0.381,0.236,0.292,
+3.550,0.422,1.840,2.310,1.990,3.320,1.880,2.400,3.240,2.280,
+1.350,2.270,3.250,2.700,1.540,2.230,3.050,0.266,1.610,2.350,
+2.700,2.320,2.030,3.530,5.240,2.760,1.740,2.860,3.980,2.420,
+2.260,2.540,3.450,0.450,1.400,2.440,2.710,2.650,1.770,3.590,
+0.422,0.391,0.181,0.268,0.336,0.298,0.237,0.238,0.297,0.063,
+0.199,0.289,0.320,0.483,0.235,0.393,2.380,2.320,1.830,1.810,
+0.246,0.219,0.204,0.256,2.060,0.255,1.100,1.550,1.380,1.990,
+1.390,1.650,2.400,1.630,1.420,1.930,2.940,2.280,1.760,2.440,
+2.660,0.273,1.470,2.380,2.230,2.200,2.130,3.260,7.020,2.890,
+2.050,4.350,3.150,1.780,1.660,2.180,3.210,0.300,1.230,2.200,
+4.320,2.980,2.070,4.830,5.200,3.610,2.120,2.960,3.360,2.430,
+2.190,2.210,2.820,0.252,1.680,2.390,2.920,3.150,2.050,3.370,
+2.990,2.650,2.470,2.610,0.273,0.232,0.519,0.302,2.350,0.222,
+1.480,2.070,2.170,2.780,2.150,2.610,4.170,2.450,2.080,3.730,
+2.610,2.000,2.040,2.610,3.620,0.295,2.180,3.600,4.240,3.540,
+3.530,6.110,10.2,7.120,3.770,6.030,5.920,4.660,2.980,3.360,
+3.770,0.438,1.680,2.600,3.780,3.750,2.060,3.550,7.560,9.470,
+3.030,3.590,4.560,3.750,2.620,2.650,2.950,0.429,1.780,2.460,
+2.050,2.560,1.440,2.270,3.490,4.950,2.300,2.620,0.469,0.852,
+0.322,0.408,2.340,0.319,1.600,1.880,1.730,2.830,1.720,2.330,
+3.460,2.260,1.640,2.540,3.850,3.780,2.010,2.530,2.210,0.273,
+1.290,1.960,2.600,2.150,1.950,3.740,6.280,5.040,1.910,2.800,
+4.440,4.120,2.040,1.960,2.710,0.386,1.160,1.680,1.800,2.450,
+1.230,1.950,4.140,4.340,1.550,1.700,2.930,1.610,1.770,1.430,
+2.460,0.419,1.340,1.780,1.370,2.130,1.210,1.440,2.650,4.180,
+1.620,1.950,0.348,0.606,0.318,0.301,2.820,0.564,1.630,2.100,
+1.480,3.730,1.650,2.040,2.110,1.800,0.928,1.380,2.690,2.870,
+1.280,1.550,2.070,0.251,1.060,1.510,1.840,2.130,1.270,2.400,
+3.560,3.210,1.360,2.040,3.410,3.110,2.300,2.150,2.320,0.374,
+1.230,1.670,1.470,1.940,1.410,2.060,0.360,0.799,0.172,0.207,
+0.259,0.403,0.272,0.193,0.238,0.115,0.219,0.251,0.155,0.348,
+0.180,0.214,2.340,3.050,1.810,1.730,0.298,0.424,0.292,0.262,
+2.280,0.381,1.480,1.930,1.220,2.540,1.730,1.820,1.850,1.440,
+1.100,1.530,2.730,3.090,2.060,2.250,2.230,0.277,1.610,2.210,
+1.500,1.840,1.870,2.510,3.130,2.000,1.190,1.920,2.170,1.520,
+1.150,1.260,1.590,0.159,0.675,1.080,1.700,1.430,0.997,1.920,
+3.040,3.360,1.510,1.810,2.200,2.320,1.530,1.570,1.690,0.208,
+1.060,1.560,1.320,2.020,1.150,1.770,1.990,2.300,1.540,1.710,
+0.181,0.246,0.165,0.187,1.750,0.208,1.280,1.680,1.340,2.030,
+1.840,1.980,2.350,1.480,1.150,1.750,2.070,1.930,1.210,1.790,
+2.210,0.221,1.480,2.310,2.500,2.480,2.350,3.630,5.190,3.520,
+2.090,3.590,2.860,2.450,1.480,1.790,2.250,0.286,1.140,1.680,
+2.410,2.350,1.260,2.350,4.740,4.670,2.410,2.600,3.170,3.060,
+1.890,1.790,2.740,0.401,1.640,1.930,1.850,2.580,1.410,1.930,
+2.990,3.640,2.500,2.760,0.362,0.476,0.300,0.429,2.150,0.336,
+1.160,1.560,1.480,2.810,1.380,2.060,2.670,1.740,1.580,2.330,
+2.520,2.200,1.500,1.930,2.150,0.239,1.240,1.970,2.390,2.060,
+1.950,4.470,0.364,0.387,0.154,0.269,0.370,0.456,0.201,0.212,
+0.266,0.063,0.143,0.182,0.201,0.325,0.150,0.219,0.401,0.827,
+0.198,0.249,0.435,0.765,0.297,0.269,0.330,0.108,0.244,0.250,
+0.190,0.389,0.177,0.208,0.230,0.410,0.203,0.213,0.051,0.115,
+0.075,0.050,0.305,0.100,0.244,0.241,0.168,0.456,0.220,0.235,
+0.277,0.227,0.141,0.238,0.475,0.501,0.290,0.342,0.277,0.052,
+0.193,0.269,0.264,0.277,0.236,0.434,2.280,1.810,1.100,1.480,
+1.950,1.870,2.260,1.420,2.130,0.372,1.170,1.310,1.280,1.580,
+1.240,1.500,0.217,0.366,0.123,0.130,0.185,0.267,0.186,0.119,
+0.206,0.066,0.146,0.153,0.158,0.311,0.161,0.164,1.540,2.310,
+1.280,1.230,0.199,0.301,0.218,0.186,2.080,0.399,0.991,1.270,
+1.100,2.640,1.340,1.320,1.400,1.090,0.873,0.967,1.700,1.910,
+1.340,1.360,1.940,0.282,1.140,1.490,1.170,1.640,1.300,1.760,
+2.230,1.410,0.882,1.650,1.580,1.040,0.809,0.865,1.610,0.170,
+0.641,1.030,1.520,1.270,0.862,1.710,2.840,2.670,1.290,1.520,
+2.310,2.250,1.400,1.310,1.930,0.255,1.240,1.580,1.590,2.130,
+1.380,1.720,1.910,2.280,1.300,1.510,0.210,0.297,0.176,0.190,
+2.270,0.452,1.180,1.640,1.390,2.540,1.390,1.810,2.110,1.310,
+1.130,1.380,1.880,1.820,1.240,1.530,2.410,0.263,1.550,2.280,
+2.260,2.300,1.960,3.220,5.820,3.180,2.240,4.560,2.620,1.920,
+1.320,1.670,2.380,0.264,1.090,1.950,3.480,2.640,1.710,3.900,
+2.810,2.030,1.150,2.440,1.760,1.270,0.858,1.100,1.570,0.164,
+0.762,1.300,1.490,1.340,0.840,1.560,2.590,2.410,1.490,2.470,
+0.267,0.277,0.161,0.352,1.790,0.175,0.840,1.350,1.600,1.890,
+1.210,2.100,3.190,1.760,1.590,3.450,2.160,1.600,1.270,2.170,
+1.990,0.164,1.130,1.990,2.990,2.040,2.120,5.570,4.660,3.380,
+1.700,3.110,3.580,3.160,1.510,1.910,2.760,0.333,1.220,1.970,
+2.410,2.600,1.450,2.490,3.440,3.510,1.250,2.140,2.830,2.890,
+1.430,1.600,2.500,0.392,1.400,2.000,1.760,2.250,1.120,1.740,
+2.160,2.440,1.200,1.850,0.197,0.280,0.156,0.226,2.340,0.281,
+1.350,1.770,1.670,2.740,1.660,2.140,2.250,1.530,1.100,2.010,
+2.520,2.330,1.430,2.220,2.200,0.187,1.320,1.970,2.230,1.960,
+1.780,3.350,2.390,1.910,1.060,1.720,2.060,1.530,1.270,1.520,
+2.230,0.437,1.110,1.730,1.610,1.910,1.350,2.180,0.195,0.323,
+0.107,0.168,0.145,0.191,0.115,0.116,0.265,0.132,0.144,0.232,
+0.166,0.346,0.129,0.202,1.490,1.650,1.060,1.280,0.150,0.159,
+0.135,0.156,1.630,0.214,0.860,1.340,1.090,1.810,1.160,1.570,
+1.530,1.140,0.899,1.320,1.990,1.710,1.250,1.700,2.010,0.248,
+1.120,1.910,1.560,1.610,1.460,2.520,3.980,1.880,1.320,2.480,
+1.990,1.290,0.979,1.330,2.260,0.195,0.830,1.500,2.680,1.860,
+1.450,3.290,2.230,1.690,0.889,1.450,1.690,1.300,0.954,1.140,
+1.700,0.208,0.932,1.700,1.540,1.740,1.120,2.010,2.540,2.270,
+1.400,2.210,0.197,0.196,0.122,0.209,2.230,0.222,1.300,2.130,
+2.060,2.760,1.960,2.660,3.600,2.030,1.610,3.400,2.700,2.620,
+1.620,2.540,3.370,0.230,2.090,3.750,4.510,3.390,3.400,6.250,
+9.150,5.800,3.930,6.300,6.110,4.450,2.730,3.100,4.750,0.583,
+2.180,3.670,5.210,4.710,2.510,4.240,6.720,5.130,2.570,3.110,
+5.630,3.900,2.490,2.330,3.680,0.480,2.480,2.890,2.430,3.040,
+1.950,2.600,2.900,2.830,1.840,2.300,0.323,0.324,0.269,0.349,
+1.980,0.273,1.260,1.490,1.600,2.460,1.630,2.150,3.590,2.010,
+1.560,2.840,3.280,2.540,1.890,2.500,2.240,0.272,1.440,2.120,
+2.610,2.130,2.230,3.850,6.340,3.980,1.890,3.520,4.840,3.910,
+1.970,2.170,3.180,0.481,1.550,2.110,2.230,2.790,1.330,2.170,
+4.830,4.670,1.630,2.420,3.770,2.960,1.880,1.830,3.250,0.730,
+2.150,3.030,1.770,3.010,1.380,1.720,2.250,3.040,1.430,1.630,
+0.296,0.434,0.289,0.274,2.380,0.471,1.750,1.810,1.390,3.040,
+1.790,1.840,1.690,1.370,0.760,1.240,2.210,2.240,1.150,1.530,
+1.850,0.231,1.220,1.620,1.590,1.780,2.090,2.800,2.960,1.980,
+1.120,1.740,3.030,2.520,1.770,1.910,2.800,0.423,1.310,1.770,
+1.690,2.060,1.290,2.340,0.242,0.340,0.169,0.203,0.303,0.382,
+0.271,0.235,0.290,0.105,0.245,0.283,0.186,0.431,0.200,0.271,
+1.290,1.720,1.190,1.120,0.185,0.215,0.174,0.193,1.600,0.273,
+1.180,1.380,0.943,1.700,1.170,1.250,1.230,1.020,0.883,1.120,
+1.860,1.830,1.280,1.590,1.790,0.250,1.250,1.660,1.370,1.770,
+1.660,2.310,3.170,1.490,1.010,2.200,1.650,1.110,0.805,1.120,
+1.880,0.190,0.734,1.150,2.030,1.610,1.030,2.430,2.740,2.390,
+1.390,1.810,2.460,2.250,1.610,1.750,1.930,0.252,1.280,1.800,
+1.450,2.230,1.200,1.930,1.480,1.480,1.530,1.430,0.149,0.150,
+0.297,0.186,1.360,0.170,1.080,1.300,1.050,1.650,1.320,1.540,
+2.200,1.290,1.290,1.940,1.360,1.250,1.330,1.470,1.940,0.199,
+1.390,2.000,2.230,2.350,2.190,3.850,5.400,4.120,2.320,3.650,
+4.350,4.310,2.310,2.320,2.480,0.337,1.240,1.810,2.110,2.400,
+1.280,2.200,4.320,4.370,2.110,2.230,3.980,4.420,2.610,2.150,
+2.250,0.422,1.720,2.040,1.240,2.110,1.210,1.650,1.870,2.660,
+1.540,1.740,0.238,0.392,0.262,0.291,1.520,0.263,1.350,1.380,
+1.040,1.880,1.300,1.700,1.680,1.220,0.909,1.550,2.070,2.350,
+1.410,1.600,1.230,0.163,1.090,1.290,1.410,1.310,1.280,2.210,
+3.900,3.340,1.320,1.750,3.010,3.570,1.520,1.410,2.020,0.352,
+1.040,1.260,1.120,1.800,0.781,1.280,2.340,2.140,0.924,1.100,
+0.965,0.408,0.743,0.656,1.580,0.544,1.040,1.420,0.711,1.650,
+0.798,0.964,1.440,2.800,1.180,1.260,0.251,0.631,0.304,0.261,
+1.860,0.500,1.300,1.560,0.947,2.870,1.470,1.610,0.992,1.070,
+0.595,0.767,1.640,2.430,1.020,1.210,1.320,0.221,1.050,1.230,
+0.963,1.360,0.978,1.470,2.210,2.070,0.967,1.380,2.930,3.590,
+2.040,1.900,1.910,0.362,1.160,1.430,1.090,1.690,1.190,1.640,
+0.192,0.444,0.160,0.175,0.309,0.665,0.379,0.238,0.232,0.156,
+0.275,0.251,0.116,0.393,0.192,0.183,1.360,2.390,1.390,1.290,
+0.247,0.500,0.306,0.253,1.700,0.370,1.310,1.610,0.893,2.370,
+1.540,1.650,1.030,0.955,0.753,0.977,2.050,3.010,1.990,1.940,
+1.780,0.261,1.570,1.870,1.150,1.530,1.670,2.120,1.780,1.280,
+0.748,1.220,1.500,1.360,0.714,0.886,1.230,0.133,0.541,0.719,
+1.030,1.010,0.686,1.220,1.780,2.280,1.200,1.330,2.100,2.950,
+1.520,1.530,1.320,0.244,0.981,1.280,0.858,1.750,0.987,1.310,
+1.170,1.760,1.180,1.220,0.124,0.243,0.154,0.167,1.130,0.194,
+1.240,1.350,0.853,1.730,1.780,1.800,1.250,0.995,0.679,1.090,
+1.180,1.540,0.910,1.220,1.270,0.152,1.050,1.430,1.280,1.630,
+1.850,2.630,3.780,3.130,1.630,2.700,2.930,2.350,1.290,1.770,
+2.040,0.267,1.000,1.390,1.790,1.920,1.080,1.920,4.300,4.950,
+1.750,2.380,4.570,3.560,2.590,2.360,2.920,0.528,2.230,2.410,
+1.590,2.650,1.360,1.880,1.940,3.070,1.660,2.010,0.384,0.479,
+0.334,0.466,1.800,0.376,1.250,1.510,1.220,2.700,1.300,1.730,
+1.770,1.330,0.937,1.670,2.820,2.420,1.500,1.910,1.780,0.250,
+1.260,1.740,1.690,1.770,1.670,3.160,0.239,0.325,0.117,0.186,
+0.384,0.494,0.245,0.233,0.235,0.068,0.149,0.160,0.146,0.275,
+0.173,0.212,0.343,0.826,0.189,0.295,0.655,0.759,0.579,0.449,
+0.382,0.257,0.401,0.361,0.160,0.394,0.165,0.184,0.156,0.427,
+0.238,0.205,0.095,0.234,0.158,0.101,0.279,0.173,0.450,0.366,
+0.128,0.449,0.273,0.211,0.198,0.167,0.088,0.142,1.000,0.742,
+0.338,0.365,0.220,0.065,0.228,0.240,0.155,0.203,0.197,0.276,
+2.140,2.850,1.030,1.300,2.420,3.370,1.880,1.670,2.360,0.530,
+1.420,1.550,1.180,1.870,1.180,1.670,0.293,1.120,0.206,0.175,
+0.356,0.774,0.365,0.239,0.302,0.170,0.332,0.250,0.148,0.415,
+0.196,0.192,1.320,2.870,1.270,1.170,0.247,0.491,0.258,0.223,
+2.160,0.551,1.090,1.530,0.958,2.620,1.350,1.390,1.010,1.150,
+0.654,0.898,1.970,2.910,1.520,1.630,2.210,0.390,1.860,1.980,
+1.060,1.700,1.550,1.940,1.760,1.500,0.698,1.210,1.490,1.110,
+0.607,0.816,1.530,0.183,0.663,1.020,1.210,1.170,0.660,1.430,
+2.940,4.770,1.410,1.650,4.000,3.880,2.000,2.340,3.180,0.516,
+1.990,2.310,1.620,2.790,1.420,1.890,1.680,2.570,1.270,1.360,
+0.193,0.328,0.189,0.190,1.870,0.377,1.440,1.750,1.130,2.720,
+1.410,1.720,1.480,1.260,0.807,1.320,1.520,1.750,1.050,1.330,
+2.010,0.248,1.790,2.160,1.700,2.300,1.920,2.700,3.280,2.040,
+1.330,2.480,1.970,1.400,0.914,1.410,1.660,0.180,0.759,1.380,
+1.850,1.520,0.924,2.270,2.440,1.920,0.945,1.520,1.820,1.330,
+0.914,1.300,1.300,0.151,0.734,1.180,1.070,1.080,0.655,1.270,
+1.470,1.540,0.863,1.370,0.143,0.147,0.098,0.204,1.120,0.139,
+0.639,0.982,1.010,1.280,0.837,1.340,1.750,1.060,0.868,1.890,
+1.410,1.120,0.839,1.570,1.230,0.114,0.709,1.300,1.700,1.220,
+1.210,3.070,2.880,2.360,1.100,1.810,2.560,2.540,1.450,1.600,
+2.120,0.297,1.160,1.640,1.590,2.090,1.410,2.110,2.540,2.890,
+1.020,1.570,3.200,2.860,1.800,1.800,2.130,0.380,1.450,1.880,
+1.370,2.000,1.050,1.460,1.210,1.900,1.060,1.290,0.193,0.339,
+0.218,0.250,1.700,0.288,1.310,1.490,1.190,2.230,1.480,1.600,
+1.170,0.921,0.676,1.160,2.320,2.210,1.290,1.940,1.510,0.173,
+1.070,1.500,1.280,1.350,1.300,2.240,1.950,1.750,0.800,1.130,
+2.060,2.110,1.310,1.420,2.420,0.340,1.160,1.550,1.400,1.620,
+1.150,1.840,0.159,0.341,0.088,0.121,0.168,0.309,0.164,0.141,
+0.182,0.057,0.141,0.160,0.118,0.218,0.124,0.158,0.978,1.420,
+0.804,0.940,0.119,0.165,0.122,0.148,1.440,0.249,0.994,1.360,
+0.868,1.640,1.080,1.350,1.020,0.910,0.615,0.929,1.480,1.610,
+1.120,1.510,1.750,0.233,1.280,1.760,1.280,1.370,1.450,2.120,
+2.390,1.550,0.814,1.520,1.300,1.060,0.632,0.890,1.490,0.144,
+0.667,1.010,1.510,1.170,0.884,1.860,1.830,1.790,0.764,1.190,
+1.640,1.600,0.955,1.220,2.090,0.228,0.905,1.310,1.240,1.390,
+0.934,1.580,1.620,1.530,0.958,1.430,0.128,0.136,0.091,0.153,
+1.350,0.164,1.060,1.440,1.190,1.780,1.360,1.760,2.080,1.270,
+0.981,2.050,1.670,1.810,1.190,1.980,2.100,0.189,1.590,2.500,
+2.630,2.350,2.450,3.460,4.910,3.450,2.960,4.270,3.700,2.730,
+2.170,2.360,3.300,0.366,1.490,2.280,3.530,3.140,1.750,2.960,
+3.420,2.700,2.400,2.060,2.460,1.770,1.650,1.490,2.180,0.255,
+1.280,1.490,1.580,1.860,1.480,1.940,2.440,2.280,1.510,2.180,
+0.242,0.234,0.188,0.318,1.620,0.199,1.060,1.340,1.270,1.750,
+1.270,1.840,2.810,1.620,1.240,2.280,2.380,1.850,1.490,2.030,
+1.730,0.172,1.520,1.670,2.140,1.490,2.020,3.140,4.670,3.350,
+1.780,2.710,4.000,3.310,2.330,2.230,2.410,0.340,1.070,1.440,
+1.840,2.360,1.200,1.990,3.390,3.290,1.510,1.710,2.870,2.140,
+2.040,1.660,2.620,0.419,1.400,1.820,1.480,2.390,1.190,1.550,
+2.610,3.810,1.860,2.400,0.339,0.488,0.335,0.398,2.730,0.502,
+2.000,2.300,1.470,3.090,1.910,2.150,1.850,1.420,0.856,1.480,
+2.490,2.430,1.480,2.110,1.770,0.190,1.110,1.530,1.610,1.500,
+1.470,2.700,2.670,1.630,1.040,1.820,3.010,2.440,2.100,2.370,
+2.530,0.404,1.070,1.460,1.890,2.030,1.350,2.310,0.247,0.291,
+0.149,0.221,0.295,0.352,0.278,0.288,0.299,0.082,0.215,0.248,
+0.260,0.520,0.243,0.363,1.580,1.720,1.310,1.670,0.239,0.242,
+0.255,0.308,1.710,0.290,1.120,1.250,1.360,2.040,1.350,1.600,
+1.370,0.924,0.741,1.330,2.120,1.980,1.590,2.110,1.670,0.213,
+1.120,1.500,1.900,1.680,1.640,3.490,2.640,1.290,0.980,2.050,
+1.470,1.010,0.983,1.340,1.540,0.181,0.678,1.050,2.050,1.680,
+1.070,2.400,2.270,1.920,1.130,1.630,1.870,1.740,1.540,1.770,
+1.760,0.231,1.080,1.470,1.610,2.100,1.200,1.980,1.680,1.850,
+1.580,1.940,0.187,0.191,0.201,0.260,1.720,0.221,1.380,1.750,
+1.540,2.220,1.770,2.290,2.150,1.350,1.110,2.220,1.440,1.190,
+1.240,1.750,2.180,0.220,1.660,2.270,3.220,2.800,2.850,4.940,
+0.291,0.271,0.294,0.232,0.268,0.278,0.188,0.194,0.193,0.038,
+0.107,0.138,0.174,0.221,0.130,0.184,0.349,0.404,0.690,0.283,
+0.360,0.379,0.377,0.245,0.264,0.119,0.276,0.240,0.135,0.278,
+0.187,0.187,0.160,0.292,0.168,0.168,0.036,0.069,0.055,0.046,
+0.158,0.050,0.165,0.160,0.097,0.213,0.174,0.189,0.176,0.131,
+0.118,0.166,0.241,0.275,0.196,0.212,0.168,0.035,0.319,0.219,
+0.169,0.161,0.375,0.298,0.264,0.302,0.134,0.160,0.329,0.406,
+0.242,0.169,0.175,0.059,0.110,0.122,0.104,0.190,0.129,0.130,
+0.341,0.519,0.212,0.176,0.515,0.396,0.404,0.250,0.329,0.163,
+0.218,0.221,0.152,0.350,0.165,0.161,0.195,0.436,0.206,0.197,
+0.073,0.224,0.140,0.068,0.301,0.168,0.286,0.247,0.114,0.424,
+0.282,0.219,0.134,0.141,0.083,0.112,0.243,0.349,0.198,0.187,
+0.173,0.039,0.147,0.145,0.112,0.153,0.152,0.205,0.177,0.180,
+0.092,0.140,0.262,0.358,0.319,0.269,0.222,0.076,0.157,0.136,
+0.108,0.198,0.143,0.167,0.037,0.090,0.041,0.041,0.077,0.165,
+0.158,0.070,0.076,0.104,0.115,0.065,0.024,0.088,0.057,0.040,
+0.165,0.304,0.239,0.196,0.066,0.144,0.159,0.068,0.281,0.151,
+0.300,0.241,0.128,0.388,0.304,0.213,0.140,0.115,0.097,0.135,
+0.265,0.404,0.313,0.265,0.237,0.071,0.249,0.237,0.149,0.209,
+0.229,0.313,0.198,0.173,0.108,0.169,0.156,0.153,0.118,0.139,
+0.146,0.024,0.075,0.102,0.154,0.172,0.124,0.219,0.305,0.413,
+0.205,0.242,0.355,0.469,0.366,0.359,0.288,0.080,0.208,0.243,
+0.183,0.403,0.211,0.266,0.152,0.252,0.186,0.192,0.029,0.055,
+0.046,0.038,0.226,0.065,0.246,0.268,0.151,0.322,0.291,0.269,
+0.181,0.153,0.111,0.174,0.165,0.210,0.154,0.185,0.239,0.037,
+0.218,0.270,0.233,0.283,0.307,0.411,3.170,2.380,1.900,2.420,
+2.970,2.340,1.520,1.720,1.950,0.261,0.974,1.340,1.530,1.570,
+1.060,1.650,2.840,2.810,1.720,1.740,3.120,2.600,2.730,1.940,
+2.400,0.433,1.960,1.880,1.270,2.150,1.380,1.680,1.960,3.270,
+1.810,2.260,0.364,0.604,0.374,0.539,4.460,2.530,1.650,1.990,
+1.410,4.950,1.510,1.890,1.800,1.210,0.854,1.570,2.030,1.970,
+1.440,1.940,1.930,0.350,1.440,1.930,1.640,1.650,1.780,2.780,
+0.258,0.260,0.124,0.179,0.770,0.526,0.284,0.238,0.193,0.053,
+0.145,0.187,0.124,0.188,0.105,0.164,0.246,0.353,0.163,0.143,
+0.487,0.509,0.571,0.309,0.297,0.153,0.334,0.305,0.116,0.278,
+0.155,0.147,0.169,0.434,0.198,0.184,0.077,0.193,0.135,0.080,
+0.339,0.232,0.366,0.348,0.127,0.457,0.258,0.221,0.181,0.144,
+0.086,0.155,0.361,0.409,0.245,0.301,0.207,0.056,0.203,0.236,
+0.135,0.166,0.169,0.241,1.920,1.830,0.897,0.981,2.710,3.590,
+2.400,1.730,1.900,0.456,1.370,1.400,0.996,1.570,1.190,1.480,
+0.192,0.408,0.159,0.129,0.303,0.643,0.463,0.198,0.255,0.146,
+0.315,0.215,0.127,0.346,0.207,0.189,1.670,2.860,1.740,1.530,
+0.337,0.558,0.536,0.351,2.120,0.487,0.828,1.350,0.952,2.230,
+1.790,1.600,1.150,1.100,0.750,0.874,1.970,2.700,2.120,1.820,
+1.890,0.341,1.610,1.650,1.050,1.500,1.570,1.900,1.610,1.130,
+0.752,1.120,1.440,1.490,0.803,0.838,1.140,0.168,0.734,1.000,
+0.972,1.070,0.682,1.290,2.140,2.540,1.300,1.260,2.850,4.830,
+2.600,1.670,2.010,0.392,1.660,1.780,1.270,2.310,1.350,1.620,
+2.080,3.080,1.620,1.810,0.413,0.541,0.343,0.297,2.720,0.523,
+2.920,2.760,1.380,2.860,2.010,2.100,1.420,1.110,0.802,1.210,
+1.800,1.960,1.330,1.460,1.980,0.255,1.970,2.180,1.560,1.960,
+1.870,2.470,2.940,1.720,1.210,2.040,1.760,1.230,0.958,1.200,
+1.560,0.167,0.621,1.100,1.710,1.420,0.851,2.280,2.060,1.400,
+0.860,1.080,1.590,0.868,0.742,0.815,1.080,0.108,0.573,0.934,
+0.978,0.937,0.652,1.060,1.570,1.640,0.893,1.460,0.181,0.166,
+0.125,0.229,1.410,0.227,0.743,1.140,1.150,1.570,1.640,1.930,
+1.870,1.090,0.813,1.550,1.690,1.110,0.895,1.430,1.270,0.118,
+0.746,1.240,1.830,1.310,1.340,2.860,3.250,2.440,1.330,2.020,
+3.450,2.720,1.820,1.850,1.810,0.244,1.060,1.500,1.420,1.760,
+0.948,1.760,3.090,2.980,1.260,1.540,4.410,2.650,2.230,1.960,
+1.990,0.329,1.440,1.850,1.340,1.870,1.160,1.520,1.860,2.950,
+1.330,1.780,0.280,0.421,0.250,0.316,2.190,0.407,1.760,2.300,
+1.420,2.840,1.840,2.290,1.800,1.340,0.935,1.510,2.500,2.390,
+1.680,2.500,1.830,0.200,1.310,1.810,1.570,1.550,1.430,2.580,
+2.130,1.810,0.928,1.300,2.450,2.350,1.880,1.810,1.930,0.331,
+1.130,1.930,1.220,1.550,1.230,2.010,0.177,0.238,0.098,0.134,
+0.228,0.303,0.259,0.184,0.168,0.064,0.177,0.217,0.120,0.230,
+0.152,0.188,1.610,2.350,1.480,1.760,0.229,0.322,0.364,0.301,
+2.230,0.393,1.430,1.910,1.240,2.360,1.850,2.050,1.450,1.180,
+0.944,1.280,2.240,2.280,2.290,2.480,1.950,0.247,1.650,2.270,
+1.600,1.630,1.970,2.730,2.160,1.160,0.801,1.470,1.330,0.969,
+0.853,1.000,1.370,0.143,0.649,1.090,1.380,1.100,0.904,1.910,
+1.790,1.490,0.825,1.210,1.650,1.640,1.230,1.210,1.540,0.160,
+0.950,1.440,1.070,1.330,1.060,1.560,1.830,2.230,1.320,2.050,
+0.194,0.229,0.157,0.246,2.360,0.285,1.920,2.700,1.690,2.570,
+2.070,2.560,2.220,1.400,1.140,2.430,1.960,1.920,1.600,2.280,
+2.320,0.200,1.900,2.980,2.710,2.340,2.530,3.490,5.220,2.970,
+2.450,5.000,2.790,1.780,1.370,1.900,2.880,0.270,1.030,1.870,
+4.210,3.200,1.530,3.290,2.820,1.770,1.290,1.700,1.650,1.030,
+0.830,1.000,1.690,0.154,0.930,1.140,1.800,1.870,1.100,1.830,
+2.170,1.780,1.170,1.990,0.183,0.153,0.110,0.232,1.360,0.129,
+0.660,1.010,1.460,1.770,1.090,2.100,3.230,1.580,1.310,2.610,
+2.010,1.410,1.090,1.730,1.710,0.142,0.968,1.440,2.550,1.730,
+1.700,3.820,3.720,2.010,1.130,2.420,2.750,1.470,0.903,1.330,
+1.600,0.166,0.577,1.100,1.680,1.580,0.762,1.710,2.080,1.530,
+0.710,1.170,1.370,1.020,0.665,0.857,1.410,0.146,0.606,0.987,
+1.280,1.440,0.734,1.130,1.540,1.540,0.887,1.430,0.135,0.153,
+0.094,0.147,1.480,0.212,0.664,0.984,1.440,2.980,0.955,1.410,
+1.530,1.140,0.666,1.390,1.270,1.080,0.649,1.070,1.190,0.094,
+0.626,0.965,1.410,1.280,1.020,2.120,2.330,1.180,0.842,1.690,
+1.820,1.180,0.977,1.770,1.580,0.193,0.517,0.998,1.690,1.410,
+0.823,2.000,0.150,0.126,0.072,0.138,0.130,0.110,0.086,0.139,
+0.122,0.021,0.061,0.102,0.195,0.232,0.100,0.211,1.050,1.010,
+0.763,1.130,0.106,0.098,0.083,0.129,1.010,0.122,0.481,0.691,
+1.080,1.320,0.744,1.120,1.140,0.764,0.655,1.290,1.310,1.080,
+0.808,1.240,1.160,0.112,0.647,1.020,1.490,1.190,1.110,2.210,
+3.120,1.250,1.010,2.650,1.390,0.816,0.776,1.340,1.760,0.164,
+0.623,1.210,2.920,1.770,1.100,2.900,1.880,1.200,0.836,1.430,
+1.240,0.888,0.796,1.060,1.270,0.108,0.660,1.040,1.740,1.710,
+0.996,1.930,1.400,1.270,1.050,1.560,0.111,0.096,0.098,0.141,
+1.170,0.104,0.739,1.090,1.430,1.740,1.250,2.000,2.420,1.310,
+1.170,2.490,1.430,1.070,0.949,1.500,1.950,0.155,1.430,2.050,
+3.300,2.780,2.610,5.390,4.640,2.910,2.150,3.650,2.790,2.120,
+1.470,1.940,2.300,0.261,1.040,1.650,2.420,2.450,1.230,2.510,
+3.330,2.400,2.490,2.290,2.500,1.970,1.620,1.620,2.100,0.322,
+2.370,2.290,1.390,2.170,1.300,2.010,1.960,2.380,1.410,2.070,
+0.211,0.267,0.194,0.292,1.500,0.207,1.070,1.530,1.330,1.940,
+1.380,2.300,2.070,1.320,1.120,1.990,2.140,1.930,1.340,1.960,
+1.460,0.167,1.470,1.640,1.850,1.520,1.780,3.130,3.310,2.420,
+1.130,2.240,2.540,2.140,1.260,1.470,1.550,0.215,0.697,1.100,
+1.380,1.570,0.912,1.560,2.700,2.740,1.110,1.590,2.570,1.700,
+1.410,1.430,1.860,0.312,1.030,1.400,1.260,1.920,0.979,1.400,
+1.700,2.410,1.490,1.890,0.221,0.322,0.388,0.334,1.780,0.309,
+1.130,1.490,1.310,2.400,1.730,2.060,1.520,1.310,0.822,1.410,
+1.950,2.070,1.330,1.530,1.370,0.138,0.880,1.240,1.500,1.510,
+1.320,2.260,1.930,1.290,0.741,1.680,1.900,1.720,1.350,2.650,
+1.520,0.247,0.695,1.010,1.170,1.400,0.809,1.620,0.127,0.192,
+0.089,0.160,0.162,0.256,0.172,0.238,0.148,0.060,0.132,0.137,
+0.126,0.277,0.116,0.163,1.350,1.700,1.140,1.390,0.180,0.251,
+0.192,0.232,1.580,0.275,0.968,1.370,1.240,2.200,1.250,1.640,
+1.390,1.090,0.842,1.470,1.990,2.650,1.560,1.910,1.700,0.185,
+1.080,1.560,1.610,1.490,1.500,2.650,2.130,1.220,0.849,1.630,
+1.300,0.959,0.793,1.190,1.500,0.151,0.611,0.975,1.660,1.400,
+0.887,1.930,2.070,1.960,1.180,1.760,1.790,1.850,1.500,1.810,
+1.640,0.235,1.020,1.440,1.570,2.720,1.210,1.990,1.360,1.670,
+1.180,1.600,0.131,0.169,0.125,0.168,1.530,0.182,1.140,1.680,
+1.340,2.210,1.460,2.090,1.880,1.300,1.080,1.720,1.600,1.740,
+1.070,1.540,1.930,0.178,1.370,2.260,2.380,2.360,2.330,3.940,
+2.900,1.990,1.340,2.350,1.910,1.540,0.950,1.360,1.710,0.176,
+0.747,1.210,1.720,1.500,0.904,1.720,2.580,2.130,1.190,1.570,
+2.090,1.750,1.230,1.260,1.740,0.236,1.250,1.480,1.290,1.830,
+1.150,1.600,1.850,2.290,1.500,2.210,0.220,0.283,0.194,0.356,
+1.770,0.309,1.110,1.560,1.250,2.250,1.340,2.120,1.770,1.220,
+0.937,1.810,1.640,1.500,1.080,1.610,1.770,0.199,1.200,1.840,
+1.930,1.670,1.790,3.380,0.172,0.165,0.081,0.162,0.208,0.212,
+0.096,0.134,0.119,0.022,0.071,0.108,0.111,0.149,0.086,0.160,
+0.161,0.214,0.080,0.103,0.215,0.313,0.154,0.144,0.150,0.049,
+0.176,0.179,0.098,0.183,0.100,0.123,0.106,0.193,0.097,0.120,
+0.021,0.049,0.035,0.027,0.153,0.053,0.138,0.148,0.098,0.244,
+0.133,0.184,0.140,0.120,0.074,0.146,0.203,0.226,0.130,0.182,
+0.149,0.028,0.118,0.167,0.141,0.147,0.137,0.261,1.850,1.560,
+0.760,1.020,1.640,1.830,1.260,1.290,1.410,0.264,0.778,1.050,
+1.050,1.310,0.940,1.720,0.145,0.216,0.075,0.098,0.130,0.215,
+0.132,0.097,0.127,0.048,0.114,0.116,0.114,0.222,0.126,0.184,
+1.300,2.440,1.170,1.240,0.163,0.272,0.205,0.174,1.730,0.301,
+0.769,1.170,0.925,1.930,1.200,1.500,1.230,1.220,0.748,1.000,
+1.550,1.940,1.350,1.420,1.750,0.221,1.290,1.530,1.240,1.470,
+1.400,2.050,1.720,1.120,0.732,1.320,1.240,1.000,0.730,0.944,
+1.210,0.144,0.717,1.070,1.230,1.190,0.837,1.700,2.060,1.880,
+1.010,1.340,1.670,1.890,1.240,1.110,1.560,0.194,1.050,1.370,
+1.350,2.010,1.290,1.940,1.800,2.280,1.560,1.730,0.221,0.266,
+0.387,0.200,1.910,0.238,1.510,1.910,1.420,2.320,1.730,2.240,
+1.710,1.230,1.040,1.500,1.550,1.560,1.360,1.340,2.070,0.197,
+1.740,2.230,2.080,2.160,2.130,3.230,4.620,1.920,1.540,3.040,
+2.030,1.240,0.904,1.570,1.960,0.183,0.771,1.490,2.550,1.830,
+1.090,2.820,2.240,1.360,0.753,1.230,1.450,0.958,0.709,0.988,
+1.220,0.107,0.749,1.100,1.070,1.070,0.618,1.380,1.820,1.720,
+1.010,1.920,0.164,0.165,0.106,0.252,1.400,0.137,0.755,1.320,
+1.370,1.570,1.090,2.190,2.300,1.240,1.040,2.350,1.490,1.050,
+0.892,1.650,1.570,0.127,0.936,1.830,2.410,1.690,1.630,4.590,
+2.930,1.810,1.110,1.960,1.920,1.480,0.878,1.330,1.430,0.137,
+0.679,1.180,1.380,1.370,0.836,1.880,2.170,1.770,0.720,1.210,
+1.720,1.520,0.830,1.140,1.340,0.145,0.866,1.260,1.060,1.280,
+0.756,1.420,1.440,1.570,0.766,1.350,0.103,0.134,0.075,0.131,
+1.350,0.146,0.820,1.310,1.190,1.690,1.100,1.890,1.710,1.140,
+0.872,1.690,1.550,1.260,0.911,1.570,1.480,0.112,0.973,1.530,
+1.630,1.410,1.370,2.960,2.660,2.280,1.160,1.650,2.050,1.680,
+1.340,1.870,1.920,0.262,0.922,1.530,1.630,1.650,1.270,2.510,
+0.201,0.503,0.096,0.132,0.133,0.160,0.110,0.127,0.121,0.032,
+0.091,0.131,0.134,0.193,0.102,0.208,1.650,2.070,1.160,1.630,
+0.135,0.183,0.128,0.186,1.880,0.221,1.070,1.670,1.330,1.970,
+1.580,2.280,1.910,1.660,1.100,1.760,2.090,2.180,1.630,2.350,
+2.280,0.214,1.570,2.340,2.040,1.800,1.990,3.480,3.970,1.880,
+1.340,2.730,1.920,1.300,1.020,1.510,2.250,0.188,1.030,1.790,
+2.850,1.980,1.600,4.060,2.960,2.680,1.160,1.860,2.310,2.120,
+1.270,1.590,2.020,0.173,1.230,2.160,1.860,2.010,1.360,2.760,
+2.590,2.720,1.770,2.750,0.177,0.187,0.177,0.230,2.740,0.228,
+1.980,3.460,2.520,3.080,2.710,4.210,4.510,2.510,2.080,4.470,
+2.930,2.330,2.040,3.200,3.720,0.226,2.740,4.840,4.690,3.170,
+3.570,5.120,11.1,4.830,5.360,8.450,4.680,2.680,2.660,3.040,
+6.770,0.501,2.530,3.440,6.790,4.610,2.980,5.330,5.480,2.950,
+2.350,3.130,3.100,1.910,1.820,1.810,3.220,0.299,1.930,2.330,
+2.650,2.280,1.810,2.620,6.510,2.590,2.810,3.520,0.378,0.266,
+0.252,0.444,2.280,0.199,1.410,1.990,2.130,2.140,1.700,2.370,
+5.710,2.440,2.840,5.280,3.910,2.700,2.330,3.530,2.780,0.216,
+1.620,2.460,3.940,2.230,2.480,4.330,4.680,2.350,1.730,2.490,
+2.460,1.570,1.410,1.590,2.120,0.213,1.000,1.390,1.850,1.790,
+1.230,1.850,2.980,1.880,1.310,1.560,1.640,1.020,1.050,1.050,
+1.900,0.194,1.160,1.450,1.340,1.350,1.270,1.350,2.230,1.720,
+1.330,1.780,0.178,0.159,0.170,0.259,1.670,0.160,1.040,1.300,
+1.080,1.430,1.150,1.340,2.010,1.180,0.949,1.680,1.770,1.330,
+1.070,1.600,1.630,0.120,0.938,1.440,1.690,1.220,1.300,2.210,
+4.930,1.310,3.100,2.210,2.680,1.500,1.650,1.680,2.480,0.301,
+0.988,1.530,2.170,2.010,1.260,2.270,0.317,0.201,0.166,0.205,
+0.214,0.170,0.146,0.153,0.206,0.037,0.150,0.178,0.279,0.360,
+0.184,0.276,1.730,1.410,1.370,1.410,0.152,0.126,0.129,0.168,
+1.450,0.143,0.948,1.150,1.200,1.270,1.210,1.280,1.600,0.978,
+1.030,1.540,1.770,1.360,1.220,1.620,1.710,0.156,1.070,1.670,
+1.560,1.400,1.470,2.410,5.080,1.760,1.860,3.340,1.990,1.160,
+1.510,1.460,2.160,0.204,1.010,1.510,2.870,2.030,1.570,3.490,
+3.370,2.100,1.590,2.040,2.130,1.430,1.380,1.390,1.970,0.168,
+1.340,1.680,2.220,2.070,1.490,2.360,1.890,1.440,1.380,1.930,
+0.153,0.115,0.141,0.184,1.410,0.110,1.010,1.370,1.430,1.480,
+1.400,1.750,2.770,1.490,1.530,2.920,1.510,1.020,1.160,1.630,
+2.450,0.175,1.460,2.410,3.210,2.360,2.390,4.810,7.610,4.340,
+3.230,5.140,3.690,2.580,2.270,2.540,3.100,0.353,1.510,2.410,
+3.410,3.030,1.980,3.490,4.670,3.660,2.440,2.750,2.950,2.260,
+2.170,1.980,3.180,0.581,2.150,2.490,2.010,2.610,1.970,2.480,
+2.730,2.580,2.690,2.720,0.299,0.337,0.313,0.425,1.690,0.199,
+1.280,1.480,1.520,1.880,1.440,1.970,2.970,1.450,1.680,2.580,
+3.140,2.300,1.900,2.410,1.720,0.165,1.110,1.620,2.050,1.550,
+1.840,3.320,4.120,3.080,1.550,2.270,2.630,2.220,1.560,1.640,
+1.950,0.253,0.996,1.420,1.480,1.780,1.180,1.810,2.640,2.440,
+1.440,1.560,1.560,0.769,1.260,1.200,1.930,0.295,1.440,1.780,
+1.080,1.600,1.690,1.730,2.160,2.590,2.310,3.020,0.258,0.326,
+0.651,0.957,1.760,0.284,1.370,1.600,1.050,2.140,1.470,1.760,
+1.700,1.200,1.020,1.580,1.890,1.710,1.800,2.310,1.310,0.137,
+0.868,1.260,1.160,1.180,1.110,1.990,3.450,2.360,1.720,2.120,
+2.730,2.400,2.540,2.040,2.390,0.371,1.500,1.850,1.690,2.280,
+1.670,2.340,0.259,0.385,0.193,0.219,0.217,0.311,0.284,0.198,
+0.228,0.079,0.318,0.254,0.191,0.397,0.249,0.285,2.190,2.300,
+1.910,1.900,0.226,0.288,0.276,0.257,1.800,0.290,1.570,1.780,
+1.140,2.240,1.950,1.880,1.710,1.200,1.110,1.450,2.040,2.170,
+1.910,2.030,1.890,0.213,1.570,2.050,1.280,1.520,1.740,2.450,
+2.990,1.750,1.410,2.140,1.630,1.240,1.150,1.310,1.490,0.155,
+0.854,1.210,1.810,1.570,1.210,2.420,2.850,2.520,1.700,2.060,
+2.000,1.920,1.900,1.840,1.710,0.208,1.710,2.010,1.700,2.150,
+1.600,2.350,1.650,1.550,1.570,1.950,0.139,0.158,0.147,0.205,
+1.260,0.133,1.190,1.460,1.210,1.550,1.570,1.910,2.030,0.997,
+1.190,1.800,1.530,1.270,1.090,1.600,1.790,0.148,1.400,2.280,
+2.250,2.170,2.200,3.700,5.390,3.010,2.640,3.810,1.960,1.530,
+1.320,1.560,2.190,0.242,1.110,1.580,2.310,2.120,1.360,2.500,
+4.070,3.470,2.370,2.580,2.490,2.080,1.920,1.750,3.110,0.398,
+2.230,2.440,2.120,2.550,1.570,2.090,4.060,3.850,12.7,5.000,
+0.400,0.452,0.750,0.760,2.080,0.282,1.770,1.750,1.340,2.210,
+1.810,2.110,2.800,1.810,2.950,3.860,2.110,2.050,2.350,2.300,
+2.080,0.214,1.440,2.040,2.270,1.800,2.180,4.420,0.380,0.322,
+0.207,0.299,0.283,0.301,0.188,0.221,0.229,0.044,0.140,0.180,
+0.194,0.289,0.191,0.264,0.367,0.421,0.248,0.250,0.319,0.362,
+0.268,0.213,0.340,0.085,0.298,0.288,0.221,0.418,0.217,0.240,
+0.273,0.411,0.635,0.387,0.039,0.080,0.110,0.085,0.272,0.064,
+0.274,0.286,0.160,0.348,0.253,0.246,0.346,0.259,0.304,0.480,
+0.423,0.556,0.502,0.599,0.269,0.043,0.230,0.306,0.290,0.285,
+0.285,0.528,2.420,1.560,1.140,1.280,1.520,1.570,1.450,1.230,
+2.000,0.343,1.350,1.460,1.220,1.570,1.290,1.640,0.215,0.267,
+0.138,0.146,0.153,0.254,0.172,0.117,0.237,0.071,0.203,0.176,
+0.175,0.322,0.207,0.199,1.300,2.040,1.570,1.280,0.170,0.353,
+0.220,0.197,1.480,0.239,1.020,1.150,0.778,1.370,1.260,1.140,
+1.140,0.944,0.998,1.120,1.400,1.930,1.510,1.890,1.370,0.193,
+1.280,1.390,0.997,1.220,1.260,1.600,2.140,1.150,0.953,1.440,
+1.150,0.820,0.702,0.778,1.270,0.136,0.739,1.050,1.360,1.160,
+0.867,1.700,2.780,2.180,1.430,1.790,1.920,2.040,1.420,1.260,
+1.980,0.240,1.520,2.020,1.780,2.130,1.540,2.070,1.650,1.750,
+1.650,1.570,0.163,0.213,0.174,0.178,1.540,0.170,1.230,1.400,
+1.100,1.580,1.310,1.690,2.130,1.290,1.280,1.570,1.520,1.460,
+1.130,1.490,1.860,0.204,1.510,2.000,2.110,2.120,1.910,3.030,
+5.880,2.590,2.280,4.240,1.980,1.220,1.200,1.450,2.130,0.211,
+0.994,1.600,3.090,2.190,1.560,3.440,2.750,1.530,1.230,1.830,
+1.510,0.944,0.952,1.170,1.930,0.202,0.949,1.360,2.000,1.550,
+0.983,1.710,2.820,1.960,2.870,3.610,0.260,0.197,0.221,0.430,
+1.520,0.139,0.944,1.420,1.420,1.510,1.150,2.050,3.510,1.630,
+2.490,5.740,2.240,1.480,1.700,2.830,1.850,0.142,1.170,1.960,
+2.960,1.870,2.160,5.690,3.980,2.220,1.600,2.630,2.210,1.540,
+1.280,1.460,1.910,0.200,1.050,1.580,1.750,1.720,1.310,2.210,
+2.930,2.000,1.300,1.880,1.750,1.390,1.120,1.240,2.250,0.327,
+1.370,1.830,1.670,2.110,1.100,1.600,2.210,1.920,2.020,2.420,
+0.165,0.198,0.194,0.269,1.710,0.171,1.170,1.610,1.380,1.800,
+1.350,1.910,2.560,1.400,1.630,2.930,2.070,1.800,1.760,2.230,
+1.710,0.141,1.140,1.720,1.940,1.620,1.710,3.110,2.820,1.520,
+1.230,1.720,1.990,1.360,1.360,1.620,2.430,0.273,1.270,1.850,
+1.910,1.700,1.540,2.480,0.218,0.191,0.120,0.194,0.143,0.153,
+0.132,0.141,0.195,0.037,0.159,0.196,0.223,0.279,0.172,0.255,
+1.620,1.630,1.280,1.640,0.137,0.155,0.144,0.192,1.580,0.183,
+1.080,1.440,1.210,1.610,1.480,1.860,1.660,1.120,1.200,1.820,
+1.880,1.630,1.610,2.260,2.050,0.173,1.490,2.230,1.880,1.580,
+1.840,3.080,4.380,1.790,1.560,2.790,1.750,1.170,1.180,1.350,
+2.050,0.185,1.050,1.670,2.770,1.910,1.640,3.820,2.380,1.520,
+1.130,1.850,1.490,1.170,1.080,1.260,1.730,0.135,1.230,1.880,
+2.110,1.810,1.370,2.500,2.650,2.200,1.860,2.730,0.205,0.170,
+0.147,0.259,2.240,0.180,1.670,2.250,2.310,2.510,2.180,3.280,
+4.990,2.320,2.480,5.220,3.010,2.360,2.130,3.320,4.000,0.239,
+2.900,4.720,6.740,4.220,5.020,8.100,0.602,0.365,0.336,0.458,
+0.360,0.247,0.221,0.234,0.338,0.040,0.188,0.244,0.343,0.308,
+0.207,0.289,0.427,0.310,0.240,0.254,0.307,0.239,0.239,0.195,
+0.262,0.041,0.226,0.241,0.207,0.234,0.249,0.260,0.295,0.216,
+0.203,0.236,0.039,0.032,0.033,0.039,0.157,0.022,0.142,0.148,
+0.138,0.166,0.160,0.182,0.318,0.165,0.183,0.286,0.331,0.240,
+0.208,0.261,0.196,0.022,0.154,0.195,0.219,0.168,0.207,0.330,
+0.434,0.298,0.269,0.315,0.313,0.240,0.200,0.179,0.243,0.043,
+0.172,0.212,0.182,0.228,0.221,0.221,0.377,0.338,0.216,0.206,
+0.274,0.228,0.229,0.195,0.296,0.072,0.274,0.292,0.171,0.257,
+0.347,0.250,0.203,0.227,0.158,0.172,0.036,0.041,0.044,0.033,
+0.252,0.045,0.162,0.184,0.115,0.224,0.173,0.159,0.172,0.123,
+0.095,0.138,0.219,0.180,0.137,0.178,0.180,0.022,0.133,0.177,
+0.169,0.151,0.179,0.252,0.285,0.162,0.165,0.173,0.282,0.206,
+0.195,0.177,0.225,0.044,0.139,0.162,0.150,0.196,0.145,0.225,
+0.037,0.045,0.044,0.032,0.038,0.046,0.047,0.030,0.036,0.018,
+0.052,0.035,0.026,0.058,0.043,0.042,0.139,0.168,0.157,0.139,
+0.023,0.027,0.032,0.026,0.148,0.033,0.144,0.152,0.094,0.161,
+0.164,0.157,0.122,0.082,0.094,0.122,0.172,0.162,0.162,0.194,
+0.164,0.025,0.144,0.167,0.130,0.146,0.183,0.234,0.329,0.141,
+0.135,0.237,0.162,0.110,0.122,0.136,0.176,0.023,0.098,0.136,
+0.200,0.173,0.133,0.283,0.321,0.254,0.210,0.255,0.250,0.242,
+0.236,0.215,0.218,0.036,0.215,0.248,0.191,0.247,0.202,0.292,
+0.182,0.161,0.184,0.227,0.020,0.020,0.028,0.030,0.154,0.023,
+0.126,0.172,0.121,0.179,0.260,0.228,0.213,0.121,0.136,0.240,
+0.143,0.109,0.136,0.173,0.212,0.022,0.179,0.257,0.245,0.227,
+0.268,0.442,0.467,0.346,0.255,0.349,0.336,0.305,0.249,0.245,
+0.244,0.043,0.145,0.191,0.242,0.258,0.209,0.259,0.409,0.367,
+0.256,0.245,0.356,0.349,0.359,0.269,0.296,0.078,0.304,0.296,
+0.154,0.254,0.455,0.346,0.194,0.257,0.231,0.204,0.035,0.069,
+0.060,0.046,0.153,0.032,0.142,0.141,0.153,0.176,0.166,0.175,
+0.191,0.115,0.121,0.177,0.254,0.257,0.195,0.199,0.152,0.021,
+0.120,0.143,0.148,0.133,0.175,0.254,0.392,0.368,0.200,0.231,
+0.337,0.408,0.242,0.206,0.225,0.055,0.154,0.173,0.141,0.215,
+0.146,0.222,0.347,0.425,0.235,0.213,0.280,0.167,0.281,0.252,
+0.308,0.131,0.296,0.343,0.143,0.313,0.280,0.479,0.202,0.354,
+0.237,0.233,0.046,0.100,0.085,0.070,0.221,0.074,0.199,0.209,
+0.106,0.296,0.221,0.222,0.138,0.118,0.101,0.126,0.199,0.251,
+0.184,0.205,0.148,0.028,0.136,0.167,0.109,0.150,0.149,0.240,
+0.294,0.214,0.159,0.171,0.310,0.334,0.348,0.217,0.252,0.061,
+0.227,0.216,0.135,0.209,0.195,0.232,0.047,0.073,0.045,0.034,
+0.053,0.113,0.128,0.046,0.056,0.048,0.122,0.065,0.022,0.073,
+0.061,0.050,0.201,0.304,0.269,0.207,0.051,0.102,0.098,0.052,
+0.226,0.076,0.269,0.229,0.104,0.258,0.274,0.223,0.135,0.101,
+0.106,0.121,0.223,0.298,0.301,0.244,0.259,0.043,0.240,0.235,
+0.125,0.166,0.246,0.261,0.251,0.167,0.135,0.186,0.166,0.139,
+0.138,0.134,0.145,0.019,0.102,0.124,0.151,0.148,0.125,0.231,
+0.355,0.317,0.230,0.230,0.279,0.334,0.437,0.296,0.229,0.056,
+0.293,0.290,0.153,0.262,0.225,0.271,0.152,0.195,0.195,0.185,
+0.016,0.032,0.030,0.025,0.140,0.028,0.175,0.175,0.105,0.174,
+0.220,0.208,0.163,0.105,0.107,0.152,0.140,0.145,0.130,0.162,
+0.168,0.021,0.160,0.232,0.187,0.218,0.262,0.368,0.321,0.252,
+0.194,0.291,0.186,0.175,0.140,0.160,0.172,0.028,0.113,0.129,
+0.158,0.169,0.128,0.174,0.346,0.379,0.237,0.223,0.332,0.321,
+0.311,0.237,0.323,0.080,0.353,0.306,0.164,0.285,0.194,0.208,
+0.215,0.327,0.597,0.318,0.039,0.066,0.119,0.077,0.209,0.049,
+0.188,0.210,0.095,0.210,0.169,0.175,0.161,0.128,0.166,0.235,
+0.193,0.204,0.262,0.261,0.182,0.029,0.161,0.200,0.160,0.156,
+0.195,0.331,0.028,0.038,0.023,0.026,0.037,0.059,0.043,0.032,
+0.025,0.015,0.030,0.026,0.017,0.037,0.037,0.029,0.048,0.088,
+0.043,0.034,0.084,0.113,0.097,0.054,0.062,0.063,0.107,0.078,
+0.026,0.084,0.046,0.042,0.027,0.079,0.086,0.048,0.018,0.055,
+0.084,0.029,0.057,0.045,0.086,0.077,0.018,0.076,0.059,0.039,
+0.022,0.021,0.022,0.030,0.050,0.074,0.075,0.077,0.032,0.014,
+0.050,0.043,0.021,0.031,0.036,0.044,0.203,0.223,0.143,0.135,
+0.187,0.299,0.281,0.186,0.240,0.072,0.254,0.312,0.112,0.205,
+0.221,0.269,0.032,0.083,0.040,0.025,0.047,0.107,0.090,0.040,
+0.056,0.054,0.108,0.064,0.023,0.070,0.063,0.037,0.156,0.528,
+0.280,0.189,0.049,0.258,0.100,0.061,0.231,0.100,0.254,0.241,
+0.090,0.275,0.238,0.185,0.108,0.117,0.117,0.180,0.207,0.515,
+0.290,0.518,0.196,0.057,0.270,0.262,0.106,0.166,0.216,0.230,
+0.196,0.159,0.108,0.162,0.123,0.111,0.090,0.094,0.150,0.025,
+0.111,0.141,0.127,0.142,0.112,0.191,0.294,0.352,0.218,0.216,
+0.316,0.393,0.311,0.230,0.305,0.078,0.332,0.375,0.187,0.332,
+0.291,0.268,0.168,0.256,0.215,0.190,0.024,0.057,0.044,0.031,
+0.207,0.054,0.227,0.242,0.115,0.251,0.208,0.219,0.158,0.129,
+0.125,0.177,0.165,0.183,0.156,0.213,0.204,0.032,0.241,0.255,
+0.191,0.237,0.255,0.342,0.517,0.291,0.228,0.399,0.318,0.183,
+0.171,0.308,0.293,0.032,0.132,0.243,0.294,0.237,0.183,0.361,
+0.331,0.225,0.165,0.222,0.222,0.157,0.167,0.199,0.229,0.030,
+0.159,0.219,0.205,0.192,0.149,0.222,0.265,0.226,0.253,0.319,
+0.027,0.025,0.027,0.054,0.175,0.021,0.138,0.182,0.142,0.180,
+0.147,0.236,0.316,0.171,0.252,0.523,0.238,0.171,0.194,0.403,
+0.250,0.023,0.158,0.304,0.325,0.218,0.255,0.694,0.538,0.406,
+0.277,0.381,0.381,0.350,0.377,0.295,0.334,0.062,0.266,0.344,
+0.258,0.346,0.266,0.357,0.532,0.486,0.294,0.344,0.449,0.418,
+0.365,0.347,0.450,0.092,0.436,0.505,0.299,0.508,0.288,0.349,
+0.309,0.434,0.390,0.383,0.038,0.066,0.074,0.075,0.350,0.061,
+0.296,0.379,0.214,0.408,0.308,0.349,0.319,0.221,0.251,0.430,
+0.358,0.362,0.414,0.653,0.327,0.040,0.288,0.370,0.283,0.303,
+0.340,0.524,0.274,0.202,0.149,0.187,0.238,0.242,0.246,0.230,
+0.289,0.056,0.220,0.272,0.187,0.220,0.224,0.303,0.029,0.035,
+0.023,0.027,0.033,0.054,0.050,0.034,0.036,0.015,0.045,0.043,
+0.032,0.052,0.041,0.042,0.179,0.272,0.226,0.218,0.026,0.047,
+0.048,0.043,0.240,0.057,0.235,0.255,0.144,0.279,0.265,0.292,
+0.179,0.138,0.158,0.214,0.234,0.245,0.272,0.360,0.284,0.036,
+0.281,0.347,0.235,0.207,0.309,0.416,0.431,0.245,0.193,0.303,
+0.218,0.171,0.171,0.188,0.231,0.028,0.152,0.217,0.258,0.216,
+0.191,0.405,0.327,0.242,0.169,0.233,0.232,0.237,0.252,0.229,
+0.248,0.030,0.230,0.284,0.233,0.258,0.219,0.328,0.277,0.275,
+0.246,0.322,0.026,0.030,0.028,0.039,0.270,0.037,0.255,0.304,
+0.228,0.335,0.317,0.389,0.430,0.236,0.261,0.489,0.314,0.264,
+0.279,0.408,0.393,0.033,0.386,0.535,0.581,0.458,0.583,0.749,
+4.560,2.320,2.300,3.320,2.270,1.550,1.460,1.590,2.170,0.213,
+1.280,1.570,2.440,2.030,1.380,2.170,2.520,1.680,1.180,1.580,
+1.750,1.170,1.300,1.170,1.510,0.161,1.130,1.160,1.220,1.350,
+1.060,1.390,1.760,1.520,1.200,1.690,0.178,0.150,0.142,0.233,
+1.380,0.132,0.953,1.280,0.920,1.160,1.020,1.290,1.890,0.943,
+0.859,1.640,1.460,1.060,0.858,1.260,1.280,0.107,0.805,1.050,
+1.390,0.785,1.130,1.940,3.050,1.960,1.170,1.800,2.010,1.620,
+1.240,1.260,1.540,0.180,0.848,1.130,1.230,1.400,0.878,1.290,
+2.370,1.860,1.090,1.220,1.740,1.070,1.320,1.060,1.810,0.254,
+1.430,1.620,1.060,1.350,0.951,1.080,1.680,1.920,1.300,1.510,
+0.196,0.215,0.208,0.248,1.660,0.243,1.430,2.470,1.020,1.730,
+1.390,1.440,1.270,0.836,0.660,0.981,1.490,1.210,0.953,1.260,
+1.220,0.109,0.821,1.200,1.100,0.909,0.962,1.650,2.630,1.330,
+1.100,1.840,2.360,1.970,1.780,1.870,2.250,0.297,2.090,1.700,
+1.580,1.670,1.420,2.150,0.287,0.275,0.193,0.242,0.291,0.278,
+0.294,0.245,0.275,0.069,1.100,0.329,0.254,0.494,0.313,0.390,
+1.570,1.530,2.380,2.020,0.191,0.172,0.341,0.309,1.490,0.215,
+1.350,1.380,0.934,1.510,1.470,1.430,1.180,0.795,0.925,1.150,
+1.780,1.460,2.050,1.870,1.290,0.144,1.160,1.390,1.220,1.130,
+1.400,1.920,2.350,0.984,0.828,1.550,1.120,0.835,0.875,0.920,
+1.210,0.137,0.790,1.010,1.610,1.370,1.340,2.020,1.890,1.460,
+1.080,1.420,1.490,1.180,1.250,1.140,1.340,0.162,2.410,1.660,
+1.360,1.790,1.270,2.150,1.400,1.450,1.650,1.770,0.152,0.133,
+0.171,0.216,1.330,0.153,1.240,1.620,1.150,1.580,1.600,1.850,
+1.610,0.941,0.930,1.700,1.080,0.799,1.060,1.380,1.580,0.136,
+1.220,1.960,2.150,1.730,1.950,3.550,0.292,0.216,0.170,0.223,
+0.218,0.188,0.166,0.179,0.161,0.026,0.103,0.125,0.159,0.182,
+0.137,0.182,0.266,0.254,0.194,0.212,0.271,0.253,0.368,0.224,
+0.200,0.056,0.215,0.181,0.134,0.203,0.180,0.187,0.126,0.170,
+0.126,0.140,0.025,0.040,0.036,0.034,0.119,0.031,0.122,0.134,
+0.077,0.146,0.123,0.139,0.129,0.087,0.077,0.119,0.157,0.145,
+0.115,0.139,0.106,0.016,0.081,0.104,0.112,0.092,0.118,0.209,
+0.212,0.219,0.104,0.127,0.179,0.191,0.163,0.119,0.122,0.030,
+0.088,0.095,0.081,0.119,0.083,0.104,0.233,0.274,0.149,0.131,
+0.238,0.171,0.261,0.150,0.228,0.091,0.221,0.195,0.106,0.194,
+0.146,0.150,0.125,0.223,0.142,0.141,0.034,0.068,0.072,0.045,
+0.194,0.081,0.203,0.231,0.090,0.226,0.176,0.155,0.101,0.079,
+0.068,0.081,0.125,0.135,0.114,0.118,0.096,0.018,0.089,0.107,
+0.076,0.083,0.092,0.136,0.197,0.151,0.128,0.137,0.231,0.274,
+0.303,0.185,0.213,0.055,0.720,0.230,0.120,0.191,0.191,0.177,
+0.033,0.059,0.042,0.028,0.055,0.095,0.112,0.043,0.056,0.052,
+0.992,0.080,0.021,0.071,0.087,0.042,0.144,0.210,0.240,0.188,
+0.040,0.069,0.120,0.046,0.210,0.086,0.329,0.211,0.097,0.252,
+0.248,0.186,0.106,0.092,0.091,0.108,0.178,0.216,0.257,0.193,
+0.152,0.034,0.213,0.170,0.099,0.147,0.169,0.194,0.219,0.179,
+0.128,0.183,0.139,0.125,0.115,0.115,0.134,0.019,0.123,0.127,
+0.155,0.169,0.171,0.257,0.270,0.270,0.198,0.216,0.285,0.315,
+0.301,0.243,0.230,0.058,0.985,0.287,0.182,0.323,0.282,0.368,
+0.139,0.184,0.191,0.193,0.019,0.033,0.035,0.029,0.164,0.038,
+0.192,0.211,0.127,0.212,0.261,0.243,0.151,0.109,0.097,0.146,
+0.121,0.126,0.119,0.147,0.158,0.021,0.150,0.209,0.176,0.179,
+0.219,0.339,2.290,1.920,1.380,2.190,1.660,1.380,1.030,1.240,
+1.380,0.157,0.904,1.120,1.110,0.963,0.787,1.180,2.510,2.120,
+1.280,1.480,2.540,1.770,2.230,1.540,2.150,0.299,2.390,1.920,
+1.150,1.610,1.320,1.460,1.530,2.060,1.500,1.530,0.239,0.305,
+0.267,0.337,1.520,0.269,1.690,1.610,0.885,1.650,1.250,1.380,
+1.140,0.799,0.630,1.060,1.220,1.110,0.906,1.200,1.320,0.153,
+1.140,1.440,1.190,0.918,1.190,1.920,0.194,0.195,0.104,0.150,
+0.268,0.281,0.182,0.177,0.137,0.036,0.153,0.141,0.088,0.125,
+0.091,0.128,0.245,0.263,0.144,0.129,0.528,0.308,0.304,0.196,
+0.247,0.097,0.754,0.346,0.104,0.192,0.158,0.127,0.141,0.276,
+0.176,0.147,0.049,0.095,0.090,0.051,0.238,0.097,0.343,0.375,
+0.099,0.257,0.210,0.185,0.139,0.102,0.070,0.115,0.200,0.231,
+0.159,0.202,0.154,0.031,0.160,0.230,0.113,0.109,0.124,0.194,
+2.450,1.380,1.070,0.956,1.810,1.900,1.800,1.250,1.660,0.314,
+1.750,1.350,0.879,1.190,1.710,1.350,0.203,0.291,0.203,0.145,
+0.223,0.346,0.306,0.147,0.234,0.108,0.442,0.232,0.132,0.299,
+0.460,0.203,1.660,1.640,1.700,1.330,0.260,0.278,0.389,0.239,
+1.130,0.243,0.568,0.585,0.577,0.964,1.150,0.959,0.846,0.677,
+0.706,0.649,1.220,1.340,1.450,1.130,1.200,0.194,1.510,1.240,
+0.717,0.915,1.360,1.380,1.490,0.854,0.705,0.944,0.952,0.731,
+0.578,0.603,0.894,0.113,0.694,0.802,0.741,0.766,0.759,1.010,
+1.700,1.620,1.170,1.110,1.620,1.840,1.410,1.010,1.480,0.235,
+1.680,1.500,0.987,1.660,1.990,1.330,1.330,1.570,1.310,1.330,
+0.164,0.235,0.200,0.192,1.570,0.239,1.720,1.610,0.851,1.600,
+1.480,1.410,1.020,0.713,0.644,0.890,1.070,1.030,0.877,1.000,
+1.320,0.143,1.470,1.510,1.140,1.230,1.480,1.680,2.540,1.290,
+0.950,1.870,1.280,0.859,0.709,1.060,1.270,0.133,0.647,0.963,
+1.420,1.090,0.807,1.520,1.870,1.110,0.659,1.050,1.280,0.692,
+0.784,0.866,1.050,0.088,0.602,0.775,0.797,0.760,0.592,0.888,
+1.310,1.200,0.802,1.210,0.147,0.125,0.104,0.195,1.060,0.123,
+0.742,1.210,0.976,1.150,0.863,1.270,1.460,0.809,0.626,1.250,
+1.130,0.775,0.641,1.100,0.977,0.083,0.578,0.988,1.210,0.865,
+0.913,1.940,2.500,1.750,1.050,1.600,1.860,1.660,1.270,1.280,
+1.310,0.158,0.988,1.190,1.030,1.110,0.705,1.300,2.350,1.960,
+1.060,1.380,2.310,1.690,1.630,1.520,1.730,0.230,2.150,1.880,
+0.951,1.290,0.929,1.140,1.410,1.910,1.270,1.360,0.174,0.263,
+0.202,0.228,1.600,0.267,1.640,2.060,0.967,1.860,1.460,1.670,
+1.800,1.150,0.803,1.240,1.670,1.510,1.180,1.650,1.280,0.135,
+1.060,1.550,1.100,1.070,1.080,1.870,2.340,1.590,0.991,1.270,
+1.890,1.950,2.060,1.700,1.740,0.241,1.310,1.500,1.250,1.430,
+1.420,1.940,0.213,0.216,0.150,0.159,0.216,0.300,0.391,0.215,
+0.176,0.057,0.275,0.218,0.154,0.429,0.249,0.217,1.630,1.870,
+1.720,1.550,0.195,0.222,0.492,0.267,2.410,0.419,1.600,1.870,
+1.180,2.070,1.860,1.790,1.240,0.963,0.956,1.090,1.670,1.590,
+2.110,1.860,1.670,0.190,1.640,2.220,1.250,1.290,1.770,2.310,
+2.040,1.020,0.789,1.330,1.100,0.839,0.758,0.795,1.120,0.117,
+0.670,0.918,1.210,0.894,0.832,1.570,1.900,1.360,0.974,1.290,
+1.460,1.490,1.350,1.110,1.200,0.129,1.090,1.340,1.090,1.290,
+1.220,1.440,1.570,1.600,1.280,1.610,0.149,0.160,0.161,0.187,
+1.790,0.200,1.660,2.010,1.270,1.760,1.800,1.970,1.850,1.030,
+0.985,1.760,1.480,1.280,1.300,1.670,1.740,0.143,1.660,2.340,
+2.050,1.640,2.090,2.760,5.010,2.260,1.990,3.750,2.090,1.260,
+1.080,1.440,1.960,0.182,0.851,1.480,2.740,2.130,1.240,2.520,
+2.200,1.190,1.040,1.290,1.260,0.738,0.780,0.812,1.260,0.099,
+0.732,0.931,1.200,1.150,0.777,1.270,1.570,1.160,1.000,1.470,
+0.154,0.111,0.103,0.185,0.941,0.080,0.567,0.821,0.840,0.959,
+0.848,1.300,2.330,1.060,1.600,2.070,1.570,0.947,0.860,1.320,
+1.220,0.092,0.755,1.190,1.730,1.050,1.250,2.940,3.030,1.520,
+0.992,1.800,1.510,1.020,0.692,0.948,1.150,0.107,0.559,0.934,
+1.170,1.050,0.648,1.260,1.560,0.931,0.608,0.895,0.996,0.594,
+0.544,0.607,0.981,0.087,0.561,0.804,0.855,0.784,0.567,0.814,
+1.140,0.870,0.608,0.922,0.087,0.078,0.060,0.095,0.936,0.104,
+0.479,0.792,0.833,1.030,0.645,0.911,1.090,0.602,0.506,0.885,
+0.873,0.623,0.462,0.750,0.824,0.056,0.458,0.768,0.933,0.678,
+0.712,1.430,2.470,1.160,0.860,1.380,1.800,2.100,1.050,1.380,
+1.480,0.176,0.623,1.100,1.490,1.250,0.845,1.810,0.174,0.118,
+0.083,0.132,0.139,0.141,0.095,0.115,0.137,0.021,0.122,0.129,
+0.195,0.229,0.119,0.220,1.080,0.852,0.934,1.210,0.102,0.095,
+0.090,0.135,0.880,0.093,0.507,0.767,0.831,1.010,0.799,1.070,
+1.160,0.722,0.834,1.190,1.300,0.962,0.881,1.250,1.160,0.113,
+0.646,1.110,1.170,0.967,1.030,1.880,3.220,1.140,0.948,2.070,
+1.270,0.993,0.824,1.260,1.470,0.133,0.686,1.260,2.370,1.460,
+1.030,2.500,1.890,1.090,0.817,1.280,1.130,0.846,0.739,0.903,
+1.310,0.103,0.859,1.260,1.580,1.630,0.935,1.960,1.300,0.973,
+1.000,1.440,0.096,0.078,0.095,0.131,0.941,0.078,0.660,1.000,
+0.965,1.130,1.050,1.510,2.120,1.030,1.110,2.450,1.230,0.808,
+0.843,1.370,1.740,0.120,1.110,1.900,2.380,1.790,2.000,4.290,
+4.660,2.630,2.080,3.530,2.620,1.880,1.640,2.010,1.990,0.218,
+1.010,1.800,2.420,2.240,1.540,2.940,2.960,1.930,1.570,2.040,
+2.090,1.550,2.360,1.710,1.940,0.212,1.410,1.720,1.470,1.600,
+1.340,1.890,1.760,1.580,1.220,1.800,0.162,0.176,0.147,0.223,
+1.270,0.148,0.908,1.310,1.010,1.410,1.210,1.880,1.940,1.070,
+1.130,1.720,1.860,1.400,1.110,1.580,1.210,0.110,0.768,1.340,
+1.510,1.190,1.350,3.020,3.190,2.200,1.230,1.980,2.140,1.700,
+1.230,1.520,1.440,0.170,0.782,1.230,1.450,1.360,0.934,1.700,
+2.400,1.900,1.160,1.520,2.180,1.270,1.430,1.240,1.770,0.260,
+1.180,1.610,1.420,1.540,1.070,1.420,1.500,1.560,1.010,1.550,
+0.147,0.177,0.140,0.186,1.510,0.223,1.020,1.530,1.080,1.710,
+1.240,1.830,1.250,0.841,0.708,1.120,1.310,1.150,0.791,1.170,
+1.020,0.094,0.715,1.220,1.070,0.960,0.952,1.800,2.360,1.410,
+1.350,1.600,2.130,1.840,2.060,1.890,1.720,0.279,1.810,2.290,
+1.410,1.610,1.270,2.220,0.157,0.180,0.116,0.153,0.190,0.243,
+0.212,0.182,0.169,0.056,0.806,0.255,0.152,0.271,0.196,0.222,
+1.520,1.490,1.340,1.550,0.158,0.194,0.192,0.208,1.500,0.249,
+1.230,1.630,1.070,1.860,1.570,1.950,1.350,0.901,0.896,1.460,
+1.790,1.730,1.610,1.920,1.510,0.169,1.280,1.880,1.310,1.410,
+1.610,2.740,2.540,1.470,1.200,1.990,1.390,1.090,1.100,1.340,
+1.500,0.146,0.947,1.580,1.780,1.480,1.210,2.610,2.330,1.900,
+1.290,1.860,1.780,1.760,1.610,1.810,1.620,0.198,2.260,2.170,
+1.640,2.260,1.620,2.420,1.490,1.450,1.370,1.790,0.119,0.136,
+0.137,0.171,1.280,0.140,1.200,1.660,1.140,1.470,1.740,2.320,
+1.810,1.100,1.090,1.720,1.470,1.300,1.030,1.550,1.520,0.133,
+1.230,2.170,1.950,1.620,2.050,3.840,3.130,1.940,1.410,2.340,
+1.770,1.330,1.090,1.390,1.790,0.165,0.861,1.270,1.830,1.290,
+0.886,1.580,2.650,2.010,1.110,1.540,2.270,1.510,1.330,1.280,
+1.990,0.225,1.590,1.710,1.510,1.720,1.240,1.680,1.540,1.980,
+1.500,1.720,0.187,0.242,0.201,0.274,1.440,0.227,1.130,1.400,
+1.180,1.930,1.600,1.680,1.530,1.040,0.902,1.540,1.420,1.270,
+0.988,1.380,1.530,0.148,1.140,1.670,1.650,1.280,1.860,3.120,
+0.209,0.188,0.123,0.208,0.220,0.203,0.145,0.162,0.132,0.023,
+0.097,0.126,0.128,0.153,0.099,0.169,0.224,0.242,0.110,0.133,
+0.492,0.290,0.199,0.178,0.200,0.055,0.244,0.218,0.141,0.216,
+0.156,0.157,0.113,0.182,0.113,0.127,0.026,0.046,0.043,0.029,
+0.169,0.049,0.187,0.198,0.105,0.234,0.188,0.185,0.143,0.114,
+0.082,0.149,0.199,0.208,0.130,0.200,0.159,0.024,0.119,0.182,
+0.139,0.131,0.152,0.245,2.200,1.410,1.090,1.130,1.930,1.860,
+2.780,1.540,1.510,0.270,1.280,1.360,1.100,1.400,1.850,1.780,
+0.173,0.191,0.111,0.112,0.217,0.227,0.196,0.117,0.158,0.054,
+0.221,0.154,0.154,0.262,0.474,0.207,1.500,1.820,1.470,1.430,
+0.229,0.267,0.217,0.197,1.650,0.252,0.851,1.220,0.895,1.570,
+1.450,1.480,1.250,1.110,0.879,1.080,2.120,2.280,1.460,1.490,
+1.550,0.211,1.470,1.660,1.140,1.290,1.500,2.000,2.020,1.200,
+0.829,1.360,1.200,1.000,0.938,0.926,1.210,0.140,0.913,1.180,
+1.190,1.170,0.984,1.620,2.250,1.840,1.180,1.530,1.770,1.870,
+1.340,1.200,1.740,0.207,1.820,1.940,1.580,2.220,2.270,2.090,
+1.640,1.770,1.280,1.620,0.137,0.184,0.150,0.168,1.740,0.185,
+1.440,1.850,1.260,1.880,1.800,2.060,1.830,1.180,1.070,1.430,
+1.430,1.440,1.130,1.420,1.940,0.175,1.870,2.360,1.810,1.760,
+2.130,2.940,5.000,2.020,1.440,2.830,1.760,1.060,0.879,1.340,
+1.900,0.196,0.939,1.400,2.280,1.660,1.190,2.480,2.370,1.290,
+0.718,1.230,1.420,0.863,0.687,1.010,1.490,0.115,0.792,1.100,
+1.210,1.030,0.704,1.250,1.900,1.610,1.040,1.940,0.225,0.199,
+0.128,0.297,1.330,0.130,0.772,1.250,1.520,1.580,1.080,1.770,
+2.120,0.934,0.918,2.000,1.360,0.834,0.747,1.360,1.310,0.094,
+0.808,1.450,2.010,1.300,1.590,4.010,2.970,1.770,1.360,1.930,
+1.760,1.520,1.230,1.330,1.290,0.133,0.831,1.240,1.380,1.200,
+0.921,1.770,2.330,1.650,0.863,1.320,1.960,1.380,0.972,1.200,
+1.530,0.149,1.120,1.540,1.160,1.310,0.846,1.390,1.390,1.370,
+0.878,1.370,0.108,0.132,0.088,0.146,1.340,0.148,1.240,1.530,
+1.170,1.630,1.290,1.970,1.630,0.995,0.884,1.550,1.360,1.070,
+0.863,1.410,1.360,0.098,0.992,1.520,1.530,1.090,1.290,2.620,
+3.030,1.640,1.230,1.650,2.260,1.760,1.670,1.960,2.060,0.234,
+1.170,1.760,1.870,1.690,1.550,2.780,0.213,0.193,0.104,0.157,
+0.201,0.270,0.159,0.170,0.161,0.028,0.133,0.172,0.198,0.254,
+0.182,0.257,2.030,2.060,1.410,1.830,0.168,0.218,0.188,0.230,
+2.270,0.270,1.410,1.990,1.670,2.280,2.070,2.620,2.070,1.510,
+1.190,1.820,2.220,1.970,1.770,2.350,2.400,0.197,1.720,2.810,
+1.990,1.750,1.910,3.500,4.760,1.910,1.280,2.510,1.850,1.350,
+1.010,1.360,2.150,0.182,1.080,1.700,2.820,1.890,1.590,3.860,
+2.960,2.180,1.130,1.820,2.310,3.090,1.270,1.510,2.050,0.175,
+1.370,2.070,2.150,1.990,1.600,2.710,2.590,2.290,1.590,2.500,
+0.166,0.205,0.122,0.214,2.420,0.194,1.820,2.620,2.430,2.750,
+2.560,3.620,4.500,2.040,1.780,3.880,2.420,1.920,1.720,2.680,
+3.190,0.200,2.470,4.070,4.700,2.910,3.270,5.870,10.1,5.900,
+4.980,11.8,5.260,3.100,2.800,4.160,6.210,0.499,2.560,4.400,
+11.4,6.700,3.750,7.860,6.060,2.840,2.310,3.390,3.050,1.770,
+1.470,1.790,3.250,0.208,1.550,2.350,3.160,2.360,1.800,3.200,
+4.870,2.800,2.550,4.410,0.341,0.248,0.199,0.476,2.340,0.173,
+1.240,1.890,2.600,2.410,1.860,3.120,11.0,3.300,3.650,8.360,
+5.260,3.180,2.810,5.200,3.510,0.233,1.770,3.080,5.890,3.100,
+3.160,6.450,5.570,2.340,1.690,3.130,2.360,1.340,1.110,1.450,
+2.250,0.174,0.894,1.450,2.290,1.770,1.130,2.160,3.120,1.560,
+1.080,1.540,1.480,0.864,0.754,0.865,1.650,0.106,0.783,1.130,
+1.360,1.060,0.856,1.240,2.530,1.640,1.270,2.080,0.157,0.111,
+0.091,0.179,1.950,0.129,0.814,1.200,1.230,1.180,0.927,1.490,
+2.700,1.340,1.030,2.030,2.080,1.360,0.940,1.510,1.560,0.094,
+0.661,1.170,1.780,1.210,1.140,2.290,4.220,1.810,1.650,2.830,
+2.370,1.280,1.370,1.710,2.280,0.220,0.939,1.610,2.710,1.890,
+1.460,3.210,0.304,0.194,0.133,0.229,0.168,0.130,0.115,0.143,
+0.173,0.019,0.104,0.161,0.284,0.269,0.166,0.319,1.850,1.310,
+1.200,1.560,0.139,0.090,0.083,0.147,1.310,0.101,0.679,0.975,
+1.260,1.150,1.030,1.470,2.140,1.150,1.120,1.970,2.020,1.300,
+1.140,1.690,1.740,0.128,0.929,1.520,1.940,1.620,1.590,3.090,
+8.110,2.450,2.520,7.600,2.620,1.370,1.820,2.390,3.310,0.260,
+1.370,2.300,5.140,2.690,2.130,5.440,3.910,2.160,1.740,2.850,
+2.040,1.280,1.420,1.640,2.180,0.134,1.280,2.050,2.820,2.090,
+1.700,3.090,2.640,1.830,1.740,2.690,0.180,0.121,0.142,0.229,
+1.880,0.119,1.310,1.690,1.990,1.830,1.740,2.520,4.610,2.170,
+2.240,5.170,2.420,1.570,1.570,2.660,3.310,0.182,1.820,3.190,
+5.620,3.590,3.640,8.450,6.310,2.930,2.290,4.430,2.580,1.570,
+1.280,1.840,2.190,0.183,0.877,1.690,2.930,2.170,1.390,2.960,
+3.140,1.800,1.320,1.920,1.560,0.965,0.894,1.040,1.410,0.134,
+0.779,1.200,1.290,1.190,0.903,1.580,2.060,1.410,1.330,1.980,
+0.166,0.147,0.119,0.212,1.170,0.101,0.589,0.864,1.140,1.220,
+0.836,1.440,2.670,1.680,1.390,2.680,2.170,1.470,1.190,1.770,
+1.320,0.102,0.648,1.170,1.930,1.240,1.340,2.950,3.270,1.930,
+1.030,1.960,1.650,1.140,0.760,1.080,1.210,0.107,0.542,0.939,
+1.280,1.130,0.694,1.510,1.680,1.200,0.620,0.962,0.883,0.382,
+0.489,0.610,0.906,0.081,0.526,0.791,0.754,0.766,0.648,1.010,
+1.540,1.240,0.954,1.570,0.110,0.099,0.134,0.248,1.010,0.126,
+0.514,0.840,0.799,1.020,0.663,1.090,1.550,0.987,0.713,1.370,
+1.170,0.909,0.702,1.100,0.945,0.066,0.448,0.830,1.010,0.829,
+0.688,1.600,2.700,1.640,1.210,1.900,1.690,1.130,1.350,1.420,
+1.580,0.163,0.844,1.330,1.550,1.330,1.120,2.110,0.169,0.203,
+0.086,0.140,0.096,0.107,0.093,0.102,0.106,0.018,0.100,0.122,
+0.128,0.151,0.100,0.166,1.700,1.230,1.090,1.410,0.115,0.125,
+0.079,0.117,0.936,0.089,0.596,0.855,0.923,0.982,0.868,1.170,
+1.570,0.959,0.951,1.500,1.390,1.330,0.981,1.330,1.400,0.104,
+0.804,1.290,1.230,1.070,1.180,2.090,2.760,1.510,1.210,2.170,
+1.320,0.942,0.860,1.120,1.320,0.108,0.718,1.160,1.930,1.190,
+1.010,2.450,1.920,1.540,0.950,1.480,1.060,0.867,0.855,1.110,
+0.925,0.079,0.812,1.260,1.150,1.080,0.897,1.580,1.510,0.956,
+1.150,1.580,0.088,0.073,0.066,0.116,0.893,0.067,0.690,0.933,
+1.060,0.985,1.020,1.480,1.970,0.853,1.110,1.900,1.250,0.981,
+0.810,1.370,1.470,0.099,0.904,1.630,2.260,1.950,1.910,3.720,
+5.870,2.620,1.900,4.140,1.800,1.250,0.937,1.560,2.010,0.187,
+0.902,1.590,2.740,2.200,1.190,2.840,3.380,1.980,1.270,2.210,
+1.590,1.040,0.977,1.220,1.900,0.151,0.996,1.390,2.100,1.730,
+1.160,1.980,2.640,2.070,3.170,3.360,0.222,0.186,0.202,0.408,
+1.390,0.123,0.744,1.050,1.260,1.540,0.935,1.700,3.360,1.760,
+2.490,4.880,2.050,1.440,1.570,2.730,1.740,0.145,0.972,1.750,
+2.690,1.850,1.950,5.280,0.388,0.234,0.133,0.275,0.179,0.152,
+0.091,0.146,0.173,0.022,0.080,0.136,0.214,0.217,0.123,0.249,
+0.274,0.200,0.103,0.168,0.161,0.139,0.094,0.111,0.175,0.021,
+0.106,0.140,0.199,0.185,0.116,0.204,0.207,0.191,0.169,0.242,
+0.017,0.020,0.017,0.028,0.149,0.018,0.090,0.119,0.137,0.175,
+0.102,0.185,0.380,0.223,0.213,0.521,0.296,0.269,0.209,0.411,
+0.191,0.019,0.114,0.199,0.285,0.232,0.199,0.478,2.340,1.290,
+0.895,1.360,1.280,0.999,0.942,1.060,1.790,0.203,0.899,1.290,
+1.560,1.300,1.100,1.880,0.168,0.140,0.073,0.118,0.090,0.092,
+0.073,0.074,0.136,0.018,0.079,0.100,0.180,0.171,0.105,0.167,
+1.320,1.390,0.914,1.150,0.126,0.115,0.085,0.118,1.010,0.105,
+0.460,0.672,0.761,0.927,0.716,1.070,1.460,1.110,0.927,1.340,
+1.320,1.210,0.943,1.390,1.340,0.121,0.839,1.170,1.200,1.070,
+1.110,1.870,2.360,1.160,0.919,1.730,1.160,0.722,0.686,0.848,
+1.530,0.141,0.717,1.240,2.070,1.420,0.912,2.200,2.260,1.440,
+0.946,1.560,1.290,0.999,0.843,0.920,1.420,0.108,0.906,1.330,
+1.880,1.510,1.040,1.920,1.610,1.330,0.969,1.490,0.121,0.113,
+0.079,0.127,1.170,0.094,0.745,1.070,1.150,1.290,0.987,1.660,
+2.310,1.300,1.280,1.960,1.500,1.190,0.991,1.500,1.870,0.151,
+1.240,1.900,2.570,2.000,1.940,3.790,8.140,3.410,2.820,6.580,
+2.470,1.440,1.340,1.910,2.790,0.210,1.230,2.140,4.990,2.830,
+2.050,5.180,3.170,1.540,1.210,2.380,1.480,0.799,0.826,1.180,
+1.750,0.113,0.871,1.370,2.190,1.340,1.140,2.230,3.440,2.100,
+2.850,4.630,0.238,0.165,0.173,0.457,1.880,0.131,1.170,1.680,
+2.020,1.690,1.300,2.720,6.900,2.890,4.220,14.0,3.240,1.880,
+2.220,4.930,2.740,0.181,1.640,2.930,5.170,2.740,3.190,9.450,
+4.590,2.210,1.490,3.160,2.050,1.320,0.932,1.460,2.050,0.147,
+0.941,1.630,2.260,1.710,1.220,2.540,2.790,1.450,0.896,1.620,
+1.410,0.951,0.735,1.000,1.610,0.116,0.873,1.390,1.680,1.340,
+0.894,1.680,2.460,1.710,1.460,2.690,0.134,0.122,0.092,0.208,
+1.760,0.114,0.864,1.420,1.620,1.570,1.040,2.090,3.470,1.700,
+1.840,4.580,2.280,1.670,1.480,3.070,1.990,0.114,1.030,1.920,
+2.640,1.940,1.750,3.960,3.150,1.640,1.260,2.210,2.000,1.190,
+1.100,1.650,2.340,0.203,1.150,1.820,2.180,1.580,1.530,2.820,
+0.198,0.144,0.093,0.182,0.109,0.101,0.094,0.111,0.170,0.018,
+0.097,0.148,0.193,0.180,0.120,0.219,1.950,1.680,1.250,1.960,
+0.117,0.100,0.085,0.163,1.500,0.132,0.866,1.360,1.320,1.430,
+1.210,2.060,2.180,1.350,1.370,2.470,2.120,1.480,1.420,2.290,
+2.100,0.134,1.270,2.110,2.100,1.620,2.010,3.470,5.750,2.390,
+2.210,4.610,2.350,1.370,1.430,1.880,2.830,0.212,1.290,2.320,
+4.410,2.460,2.140,5.530,2.960,1.720,1.310,2.440,1.690,1.140,
+1.200,1.480,1.870,0.112,1.200,1.950,2.410,1.840,1.480,3.020,
+3.270,2.430,2.070,3.550,0.198,0.149,0.127,0.257,2.630,0.160,
+1.470,2.380,2.890,2.730,2.230,3.770,6.750,3.080,3.350,7.550,
+3.970,2.820,2.800,4.600,4.770,0.236,2.900,5.230,9.220,5.490,
+5.980,10.8,7.150,4.180,3.620,6.210,3.970,2.300,1.990,2.530,
+3.430,0.329,1.660,2.620,5.150,3.700,2.450,4.190,4.550,2.520,
+1.940,2.570,2.590,1.600,1.470,1.580,2.230,0.202,1.530,1.890,
+2.080,1.800,1.640,2.290,2.880,1.970,1.670,2.530,0.277,0.189,
+0.167,0.297,1.630,0.145,0.907,1.260,1.610,1.590,1.390,1.980,
+4.270,1.890,1.740,3.540,4.220,2.280,1.700,2.570,2.080,0.166,
+1.200,1.920,3.010,1.800,2.080,4.140,5.080,2.660,2.060,2.970,
+2.640,1.670,1.250,1.580,2.120,0.231,1.130,1.660,2.320,2.030,
+1.460,2.530,3.500,1.900,1.380,1.820,1.840,1.130,1.180,1.270,
+1.830,0.186,1.290,1.650,1.430,1.350,1.330,1.600,1.950,1.630,
+1.090,1.560,0.195,0.147,0.132,0.176,3.190,0.271,0.928,1.210,
+1.330,1.580,1.200,1.450,1.910,1.140,0.815,1.450,2.010,1.290,
+0.902,1.410,1.630,0.117,0.842,1.280,1.650,1.240,1.390,2.460,
+3.160,1.590,1.320,2.000,2.460,1.550,1.470,1.730,2.000,0.251,
+1.020,1.440,1.880,1.710,1.380,2.680,0.238,0.201,0.137,0.217,
+0.186,0.184,0.155,0.184,0.161,0.033,0.133,0.171,0.182,0.260,
+0.175,0.267,1.480,1.230,1.100,1.310,0.145,0.114,0.116,0.172,
+1.360,0.136,0.771,1.040,1.070,1.240,1.240,1.630,1.570,0.913,
+0.905,1.530,1.800,1.320,1.210,1.750,1.630,0.150,1.050,1.440,
+1.590,1.480,1.670,2.740,3.810,1.370,1.220,2.660,1.730,0.959,
+0.971,1.350,1.830,0.196,0.869,1.400,2.350,1.630,1.200,2.810,
+2.810,1.750,1.390,2.420,1.840,1.400,1.320,1.710,1.520,0.150,
+1.160,1.730,1.630,1.690,1.350,2.310,1.710,1.290,1.240,1.900,
+0.142,0.102,0.146,0.203,1.440,0.162,0.832,1.220,1.230,1.470,
+1.470,1.810,2.400,1.200,1.200,2.540,1.460,1.010,1.080,1.640,
+1.990,0.149,1.410,2.150,2.760,2.120,2.480,4.570,5.140,3.090,
+2.300,3.800,2.880,2.080,1.580,1.820,2.080,0.221,1.050,1.540,
+2.720,2.300,1.700,2.640,3.520,2.340,1.530,2.030,2.170,1.640,
+1.510,1.500,1.610,0.201,1.200,1.630,1.270,1.460,1.510,1.810,
+1.690,1.520,1.330,1.680,0.170,0.190,0.143,0.206,1.020,0.116,
+0.669,0.828,1.170,1.160,0.993,1.390,2.110,1.190,1.050,1.950,
+2.100,2.030,1.120,1.540,1.220,0.111,0.722,1.100,1.760,1.200,
+1.320,2.570,3.370,2.390,1.330,2.080,2.310,2.080,1.180,1.410,
+1.440,0.178,0.834,1.170,1.320,1.490,0.961,1.850,2.570,2.030,
+1.130,1.490,1.610,0.744,1.110,1.280,1.410,0.215,1.030,1.380,
+0.984,1.370,1.050,1.600,1.580,1.610,1.050,1.420,0.153,0.206,
+0.137,0.184,1.270,0.186,0.760,1.010,0.832,1.450,1.020,1.360,
+1.280,0.939,0.774,1.130,1.310,1.400,0.857,1.160,1.080,0.099,
+0.665,1.020,1.000,1.000,0.886,1.770,2.730,1.510,1.140,1.560,
+2.480,1.790,1.720,1.520,1.700,0.276,1.040,1.230,1.410,1.530,
+1.220,2.050,0.294,0.239,0.132,0.197,0.221,0.278,0.279,0.193,
+0.184,0.084,0.218,0.179,0.130,0.339,0.163,0.192,1.650,1.600,
+1.260,1.430,0.184,0.226,0.171,0.193,1.240,0.176,0.921,1.090,
+0.851,1.360,1.280,1.470,1.470,0.927,0.943,1.350,1.780,1.770,
+1.590,1.670,1.600,0.155,1.130,1.420,1.360,1.400,1.690,2.370,
+2.320,1.280,1.030,1.650,1.510,0.951,0.947,1.110,1.270,0.122,
+0.710,1.020,1.520,1.120,0.934,1.950,2.410,1.650,1.260,1.730,
+1.720,1.540,2.020,2.050,1.220,0.177,1.150,1.500,1.120,1.410,
+1.100,1.610,1.220,1.180,0.991,1.280,0.093,0.099,0.088,0.126,
+0.879,0.087,0.773,0.941,0.867,1.080,1.180,1.430,1.630,0.874,
+0.882,1.450,1.140,0.991,0.864,1.220,1.270,0.101,0.931,1.500,
+1.720,1.710,1.840,3.000,3.750,2.370,1.720,3.620,1.720,1.300,
+0.957,1.370,1.590,0.171,0.843,1.220,1.880,1.700,1.130,2.050,
+2.900,2.070,1.230,1.880,1.680,1.400,1.180,1.310,1.740,0.213,
+1.490,1.600,1.430,1.890,1.140,1.740,1.640,1.810,2.040,2.130,
+0.177,0.200,0.238,0.355,1.190,0.145,0.808,1.070,0.840,1.310,
+0.890,1.390,1.880,1.210,1.280,2.630,1.580,1.290,1.480,2.160,
+1.400,0.141,0.989,1.520,1.860,1.400,1.640,3.630,0.184,0.169,
+0.093,0.160,0.151,0.169,0.099,0.121,0.116,0.023,0.085,0.108,
+0.132,0.168,0.119,0.174,0.199,0.194,0.098,0.127,0.182,0.207,
+0.146,0.142,0.163,0.045,0.174,0.165,0.135,0.213,0.116,0.158,
+0.115,0.176,0.149,0.144,0.021,0.042,0.047,0.039,0.169,0.040,
+0.122,0.154,0.090,0.170,0.125,0.147,0.166,0.124,0.102,0.226,
+0.202,0.225,0.202,0.314,0.145,0.022,0.124,0.171,0.144,0.139,
+0.151,0.265,2.100,1.620,1.060,1.410,1.570,1.720,1.380,1.420,
+1.710,0.268,1.220,1.600,1.240,1.450,1.260,2.050,0.159,0.214,
+0.099,0.133,0.125,0.210,0.160,0.128,0.149,0.039,0.161,0.169,
+0.138,0.220,0.148,0.188,1.250,2.070,1.200,1.400,0.142,0.363,
+0.167,0.203,1.270,0.203,0.779,1.050,0.753,1.360,1.080,1.440,
+1.170,0.993,0.897,1.380,1.500,2.140,1.360,2.170,1.500,0.193,
+1.260,1.580,1.170,1.250,1.530,2.350,2.120,1.420,0.939,1.740,
+1.140,0.870,0.658,0.845,1.410,0.150,0.787,1.230,1.500,1.320,
+1.010,2.040,2.260,2.010,1.150,1.700,1.730,1.810,1.420,1.390,
+1.640,0.201,1.460,2.090,1.510,1.910,1.360,2.150,1.650,1.660,
+1.200,1.590,0.120,0.148,0.119,0.158,1.270,0.147,1.030,1.330,
+1.020,1.580,1.270,1.780,1.710,1.190,1.050,1.960,1.290,1.210,
+0.997,1.520,1.680,0.150,1.600,2.090,2.070,1.940,2.150,3.520,
+4.810,2.250,1.910,4.130,2.130,1.150,1.080,1.800,2.100,0.173,
+1.000,1.700,2.740,1.860,1.480,3.160,2.430,1.280,0.966,1.620,
+1.250,0.819,0.817,1.110,1.340,0.104,0.873,1.270,1.370,1.030,
+0.925,1.600,2.030,1.460,1.370,2.330,0.143,0.114,0.107,0.277,
+1.290,0.104,0.921,1.150,1.170,1.150,0.946,1.810,2.840,1.400,
+1.840,4.290,1.730,1.110,1.240,2.960,1.810,0.129,1.100,1.950,
+2.890,1.680,1.910,5.170,3.580,2.230,1.430,2.600,2.090,1.700,
+1.310,1.600,1.930,0.197,1.220,1.930,2.020,1.920,1.280,2.460,
+2.670,1.750,1.060,1.670,1.780,1.450,1.140,1.420,1.860,0.186,
+1.410,1.980,1.700,1.630,1.190,1.790,1.790,1.740,1.320,2.060,
+0.133,0.158,0.136,0.264,1.990,0.177,1.040,1.600,1.400,1.760,
+1.230,2.030,2.110,1.310,1.320,2.950,1.970,1.700,1.620,3.750,
+1.870,0.143,1.250,2.120,1.970,1.660,1.760,3.530,2.420,1.410,
+1.100,1.720,1.820,1.370,1.270,1.650,1.910,0.222,1.210,1.760,
+1.690,1.540,1.510,2.620,0.163,0.141,0.087,0.147,0.110,0.141,
+0.138,0.130,0.112,0.020,0.120,0.139,0.136,0.175,0.128,0.193,
+1.400,1.480,1.170,1.680,0.104,0.123,0.104,0.183,1.370,0.153,
+1.050,1.410,1.090,1.450,1.370,2.130,1.560,1.070,1.120,1.870,
+1.620,1.440,1.420,2.290,1.710,0.142,1.430,2.060,1.780,1.390,
+2.120,3.420,3.580,1.800,1.550,2.840,1.620,1.100,1.140,1.340,
+1.850,0.184,1.050,1.680,2.310,1.580,1.420,3.190,2.740,1.600,
+1.170,1.830,1.550,1.260,1.540,1.510,1.420,0.121,1.420,1.740,
+1.650,1.460,1.260,2.110,2.170,1.730,1.550,2.620,0.148,0.119,
+0.110,0.215,1.760,0.141,1.300,1.830,1.850,1.960,1.990,2.850,
+3.600,1.850,1.920,4.050,2.230,1.720,1.800,2.950,2.650,0.171,
+2.170,3.470,4.470,3.060,3.910,5.400,3.840,2.470,2.280,3.970,
+2.520,1.540,1.340,1.770,2.060,0.205,1.010,1.740,2.960,2.320,
+1.520,2.770,2.550,1.450,1.140,1.590,1.590,0.966,0.979,1.240,
+1.350,0.125,0.800,1.070,1.340,1.270,0.976,1.570,2.080,1.590,
+1.100,1.890,0.175,0.125,0.100,0.219,1.140,0.104,0.726,1.080,
+1.070,1.250,1.050,1.510,2.790,1.340,1.110,2.380,1.890,1.220,
+0.961,1.720,1.650,0.109,0.767,1.210,1.890,1.170,1.310,2.750,
+3.790,1.970,1.300,2.430,2.400,1.490,1.270,1.510,1.620,0.154,
+0.742,1.210,1.630,1.450,1.050,1.830,2.400,1.480,0.884,1.280,
+1.570,0.794,0.921,1.080,1.390,0.122,0.834,1.090,1.060,0.998,
+0.713,1.100,1.840,1.690,1.090,1.620,0.179,0.157,0.130,0.198,
+1.500,0.198,0.907,1.460,0.985,1.540,1.120,1.470,1.890,1.160,
+0.752,1.490,1.870,1.440,0.989,1.600,1.410,0.104,0.730,1.260,
+1.430,1.320,1.150,2.250,2.760,1.600,1.110,1.820,2.320,1.760,
+1.650,1.780,2.190,0.257,1.120,1.550,1.880,1.800,1.420,2.570,
+0.247,0.350,0.144,0.192,0.215,0.212,0.227,0.201,0.193,0.036,
+0.280,0.210,0.238,0.357,0.214,0.314,1.570,1.350,1.480,1.690,
+0.163,0.137,0.157,0.211,1.440,0.196,0.944,1.130,1.120,1.900,
+1.440,1.560,1.480,0.926,0.876,1.400,1.920,1.500,1.420,1.830,
+1.450,0.174,1.020,1.470,1.650,2.280,1.630,2.510,2.860,1.270,
+1.030,2.060,1.430,0.915,1.100,1.190,1.530,0.154,0.792,1.260,
+2.140,1.550,1.280,2.540,2.150,1.540,1.030,1.480,1.450,1.210,
+1.280,1.310,1.290,0.118,1.200,1.390,1.490,1.450,1.310,1.970,
+1.750,1.560,1.520,2.330,0.177,0.123,0.141,0.225,1.430,0.134,
+1.130,1.530,1.480,1.740,1.850,2.220,2.340,1.380,1.240,2.600,
+1.480,0.984,1.170,1.740,2.010,0.153,1.400,2.390,3.010,2.400,
+2.680,4.870,0.258,0.184,0.144,0.213,0.184,0.150,0.114,0.147,
+0.139,0.022,0.076,0.116,0.174,0.237,0.130,0.195,0.214,0.159,
+0.225,0.164,0.173,0.142,0.166,0.148,0.135,0.025,0.109,0.118,
+0.112,0.142,0.113,0.160,0.137,0.131,0.102,0.143,0.021,0.020,
+0.018,0.025,0.103,0.018,0.076,0.105,0.080,0.121,0.098,0.142,
+0.172,0.112,0.095,0.174,0.179,0.155,0.119,0.178,0.142,0.022,
+0.092,0.133,0.147,0.149,0.143,0.268,0.200,0.152,0.089,0.142,
+0.153,0.146,0.108,0.109,0.101,0.016,0.056,0.083,0.087,0.106,
+0.085,0.125,0.175,0.169,0.098,0.109,0.178,0.156,0.141,0.136,
+0.134,0.028,0.105,0.112,0.091,0.115,0.085,0.113,0.129,0.145,
+0.097,0.129,0.020,0.030,0.025,0.024,0.148,0.041,0.107,0.144,
+0.074,0.150,0.118,0.135,0.127,0.089,0.061,0.111,0.136,0.141,
+0.099,0.130,0.110,0.013,0.070,0.104,0.093,0.113,0.093,0.169,
+0.187,0.136,0.090,0.118,0.176,0.193,0.197,0.145,0.152,0.030,
+0.209,0.141,0.114,0.160,0.134,0.180,0.019,0.032,0.020,0.020,
+0.027,0.044,0.048,0.026,0.027,0.015,0.147,0.036,0.014,0.039,
+0.033,0.025,0.163,0.159,0.179,0.192,0.027,0.035,0.042,0.031,
+0.173,0.039,0.140,0.145,0.110,0.234,0.176,0.170,0.137,0.098,
+0.096,0.132,0.194,0.218,0.176,0.192,0.159,0.038,0.140,0.164,
+0.174,0.679,0.192,0.257,0.215,0.171,0.114,0.174,0.137,0.117,
+0.117,0.119,0.131,0.017,0.097,0.119,0.181,0.177,0.145,0.262,
+0.251,0.193,0.142,0.185,0.212,0.210,0.219,0.217,0.164,0.027,
+0.285,0.194,0.165,0.227,0.186,0.251,0.149,0.148,0.149,0.205,
+0.016,0.019,0.018,0.028,0.135,0.021,0.135,0.167,0.119,0.174,
+0.194,0.225,0.189,0.131,0.111,0.204,0.142,0.128,0.115,0.175,
+0.172,0.018,0.136,0.216,0.220,0.276,0.245,0.427,2.730,1.700,
+1.430,2.280,1.630,1.170,0.907,1.270,1.360,0.123,0.767,1.090,
+1.230,1.020,0.986,1.480,2.280,1.560,0.984,1.360,1.840,1.240,
+1.330,1.310,1.640,0.170,1.300,1.320,1.040,1.310,1.050,1.480,
+1.450,1.640,1.200,1.630,0.196,0.210,0.179,0.324,1.240,0.173,
+1.310,1.300,0.794,1.350,1.060,1.400,1.460,0.909,0.824,1.530,
+1.480,1.170,1.000,1.790,1.540,0.143,1.570,1.720,1.400,1.140,
+1.730,2.740,0.182,0.146,0.083,0.135,0.165,0.168,0.118,0.128,
+0.096,0.020,0.072,0.089,0.084,0.107,0.078,0.132,0.158,0.143,
+0.071,0.091,0.199,0.147,0.137,0.118,0.120,0.030,0.150,0.124,
+0.072,0.105,0.078,0.094,0.114,0.169,0.107,0.123,0.024,0.040,
+0.032,0.032,0.135,0.045,0.280,0.228,0.069,0.149,0.122,0.130,
+0.163,0.106,0.076,0.154,0.194,0.210,0.135,0.223,0.137,0.020,
+0.145,0.195,0.114,0.118,0.133,0.228,2.020,1.270,1.040,1.110,
+1.870,1.790,2.460,1.400,1.460,0.232,1.160,1.410,1.010,1.190,
+1.300,1.890,0.161,0.187,0.107,0.108,0.168,0.226,0.223,0.120,
+0.155,0.043,0.185,0.152,0.108,0.190,0.174,0.170,1.580,1.700,
+1.360,1.480,0.173,0.195,0.216,0.194,1.290,0.186,0.609,0.909,
+0.691,1.120,1.090,1.210,1.100,0.821,0.724,0.919,1.560,1.520,
+1.370,1.390,1.290,0.167,1.400,1.370,0.998,1.170,1.480,1.870,
+1.910,1.120,0.871,1.270,1.170,0.874,0.878,0.801,1.090,0.117,
+0.744,1.000,1.030,0.941,0.812,1.480,1.880,1.520,1.060,1.240,
+1.700,1.640,1.420,1.090,1.350,0.161,1.390,1.410,1.090,1.440,
+1.320,1.540,1.590,1.660,1.460,1.700,0.142,0.168,0.156,0.183,
+1.530,0.183,1.900,1.950,0.993,1.520,1.610,1.780,1.530,0.987,
+0.897,1.400,1.370,1.190,1.110,1.390,1.770,0.156,1.720,1.930,
+1.700,1.740,1.930,2.670,3.300,1.480,1.190,2.310,1.520,0.857,
+0.771,1.150,1.350,0.122,0.650,1.060,1.680,1.250,1.060,2.050,
+2.070,1.070,0.704,1.140,1.170,0.684,0.708,0.963,1.030,0.074,
+0.620,0.882,0.909,0.829,0.724,1.200,1.730,1.260,0.848,1.560,
+0.137,0.105,0.084,0.200,1.200,0.101,0.827,1.270,1.030,1.110,
+0.982,1.640,2.270,1.160,0.973,2.150,1.460,0.925,0.817,1.580,
+1.370,0.104,0.920,1.820,1.790,1.270,1.390,3.150,3.440,1.900,
+1.200,2.130,2.030,1.460,1.170,1.430,1.580,0.145,0.892,1.320,
+1.530,1.460,0.984,1.890,2.290,1.560,0.867,1.350,1.760,1.330,
+1.220,1.380,1.400,0.118,1.110,1.420,1.000,1.100,0.841,1.320,
+2.030,1.770,1.120,1.790,0.154,0.166,0.117,0.195,1.550,0.182,
+1.350,1.900,1.120,1.670,1.300,2.010,2.610,1.430,1.100,1.990,
+2.110,1.690,1.320,2.160,1.650,0.137,1.210,2.020,1.620,1.530,
+1.480,2.900,3.540,1.520,1.160,1.740,2.220,1.670,2.010,1.850,
+1.940,0.244,1.160,1.910,1.550,1.720,1.630,3.020,0.253,0.157,
+0.124,0.153,0.167,0.193,0.443,0.184,0.124,0.030,0.157,0.222,
+0.132,0.233,0.153,0.224,1.920,1.860,1.420,1.920,0.151,0.150,
+0.197,0.217,1.800,0.224,1.280,1.790,1.220,1.870,1.580,2.150,
+2.020,1.320,1.630,1.800,2.090,1.720,1.940,2.290,1.870,0.179,
+1.690,2.640,1.730,1.730,2.200,3.220,3.010,1.350,1.160,1.950,
+1.510,0.958,0.942,1.110,1.670,0.177,0.879,1.400,1.700,1.240,
+1.100,2.560,2.290,1.380,0.986,1.510,1.680,1.320,1.490,1.350,
+1.310,0.106,1.110,1.640,1.300,1.300,1.180,1.910,2.220,1.920,
+1.580,2.360,0.162,0.142,0.125,0.215,2.000,0.170,1.810,2.450,
+1.680,1.960,2.040,2.510,2.940,1.520,1.480,2.980,2.140,1.640,
+1.750,2.540,2.470,0.162,2.140,3.340,3.120,2.480,3.090,4.630,
+10.5,3.870,3.310,7.410,3.320,1.890,1.500,2.350,3.340,0.266,
+1.360,2.410,5.480,3.910,2.120,4.690,3.560,1.770,1.210,1.990,
+1.770,0.981,0.893,1.210,1.860,0.121,0.945,1.260,2.160,1.760,
+1.160,2.080,2.670,1.740,1.320,2.670,0.196,0.134,0.108,0.264,
+1.670,0.144,0.795,1.240,1.720,1.690,1.470,2.280,4.430,2.050,
+1.790,4.300,2.610,1.490,1.330,2.410,2.100,0.139,1.160,1.970,
+3.740,2.030,2.350,5.530,4.360,1.940,1.280,2.590,2.010,1.220,
+0.886,1.260,1.520,0.141,0.653,1.160,1.770,1.380,0.901,2.000,
+2.280,1.240,0.768,1.270,1.280,0.684,0.646,0.856,1.250,0.102,
+0.638,0.930,1.230,0.933,0.729,1.260,1.840,1.390,0.886,1.670,
+0.137,0.131,0.077,0.146,2.220,0.633,0.680,1.080,1.310,2.110,
+0.928,1.450,1.850,1.050,0.769,1.580,1.470,0.997,0.736,1.230,
+1.390,0.133,0.684,1.170,1.540,1.190,1.230,2.430,3.480,1.640,
+1.160,2.200,2.440,3.330,1.260,1.880,1.990,0.227,0.700,1.390,
+2.600,1.910,1.230,3.190,0.219,0.143,0.087,0.173,0.165,0.185,
+0.106,0.166,0.145,0.015,0.084,0.143,0.265,0.244,0.124,0.306,
+1.550,1.140,1.050,1.590,0.130,0.122,0.085,0.163,1.250,0.125,
+0.579,0.996,1.240,1.320,1.130,1.670,1.840,1.000,0.985,1.960,
+1.830,1.240,1.050,1.770,1.530,0.113,0.828,1.510,2.000,1.520,
+1.540,3.210,5.410,1.950,1.650,3.950,2.130,1.600,1.250,1.810,
+2.500,0.202,1.130,2.060,4.710,2.470,1.860,4.660,2.970,1.490,
+1.160,1.970,1.560,1.090,0.956,1.340,1.730,0.107,0.997,1.700,
+2.540,1.950,1.410,2.820,2.180,1.620,1.420,2.450,0.148,0.110,
+0.100,0.200,1.720,0.140,1.120,1.810,1.990,2.120,2.120,3.100,
+4.260,2.020,2.090,6.000,2.330,1.440,1.460,2.620,3.190,0.193,
+1.900,3.390,5.460,3.740,4.450,10.000,4.220,2.230,1.590,3.310,
+2.170,1.380,1.010,1.480,1.820,0.154,0.808,1.410,2.430,1.960,
+1.420,2.700,2.450,1.440,1.070,1.690,1.480,1.010,1.020,1.100,
+1.530,0.114,0.812,1.090,1.320,1.260,0.905,1.620,1.700,1.240,
+0.861,1.600,0.123,0.111,0.077,0.162,1.030,0.091,0.568,0.924,
+1.090,1.180,0.963,1.700,2.010,1.140,0.950,1.960,1.640,1.260,
+0.846,1.450,1.240,0.108,0.717,1.300,1.810,1.560,1.470,3.470,
+2.810,1.680,0.941,1.780,1.620,1.180,0.740,1.040,1.140,0.099,
+0.491,0.893,1.250,1.100,0.753,1.620,1.750,1.200,0.611,1.060,
+1.130,0.781,0.603,0.850,1.010,0.090,0.568,0.817,1.010,0.874,
+0.621,1.130,1.440,1.170,0.708,1.330,0.104,0.101,0.071,0.119,
+1.350,0.171,0.599,1.040,0.984,1.280,0.960,1.520,1.300,0.856,
+0.647,1.220,1.230,1.020,0.656,1.080,1.030,0.080,0.567,1.090,
+1.190,1.060,1.000,1.950,2.360,1.160,0.933,1.600,1.610,1.280,
+1.150,1.490,1.330,0.161,0.796,1.380,1.480,1.400,1.000,2.340,
+0.125,0.097,0.063,0.112,0.099,0.122,0.093,0.125,0.084,0.016,
+0.164,0.117,0.118,0.161,0.093,0.165,1.600,1.220,1.010,1.460,
+0.120,0.114,0.094,0.149,1.210,0.119,0.678,1.100,1.090,1.360,
+1.100,1.750,1.620,0.953,0.890,1.660,1.720,1.600,1.220,1.770,
+1.370,0.132,0.908,1.550,1.630,1.950,1.600,3.180,2.840,1.440,
+1.090,2.150,1.420,0.975,0.880,1.180,1.560,0.139,0.817,1.360,
+2.180,1.650,1.210,2.900,2.430,1.390,1.000,1.670,1.370,1.140,
+0.953,1.520,1.260,0.114,1.050,1.470,1.620,1.720,1.190,2.250,
+1.570,1.320,1.100,1.800,0.101,0.091,0.073,0.143,1.170,0.096,
+0.904,1.370,1.280,1.380,1.380,2.360,2.370,1.220,1.180,2.370,
+1.660,1.260,1.030,1.720,1.820,0.127,1.260,2.180,2.720,2.090,
+2.440,5.190,4.250,2.520,1.940,3.670,2.270,1.580,1.120,1.760,
+2.650,0.192,1.090,1.650,2.490,1.820,1.270,2.680,3.180,2.120,
+1.250,2.070,2.100,1.420,1.140,1.420,2.150,0.174,1.430,1.670,
+2.060,2.060,1.460,2.400,2.480,2.260,1.460,2.500,0.228,0.209,
+0.156,0.335,1.680,0.161,0.997,1.450,1.450,1.930,1.540,2.270,
+2.670,1.560,1.290,2.880,2.210,1.510,1.250,2.270,2.190,0.175,
+1.600,2.360,2.670,2.060,3.550,5.330,0.235,0.181,0.116,0.223,
+0.201,0.175,0.104,0.184,0.152,0.018,0.080,0.133,0.150,0.171,
+0.103,0.252,0.183,0.159,0.079,0.129,0.192,0.164,0.101,0.131,
+0.140,0.020,0.142,0.149,0.135,0.154,0.103,0.187,0.141,0.147,
+0.083,0.147,0.017,0.022,0.016,0.023,0.145,0.028,0.109,0.146,
+0.107,0.174,0.124,0.188,0.208,0.142,0.095,0.243,0.213,0.196,
+0.121,0.245,0.163,0.019,0.116,0.202,0.197,0.184,0.211,0.395,
+3.050,1.780,1.250,1.770,2.330,2.040,1.750,1.760,2.000,0.269,
+1.150,1.930,1.750,1.950,1.570,3.500,0.168,0.157,0.085,0.134,
+0.176,0.155,0.112,0.111,0.136,0.024,0.119,0.133,0.174,0.227,
+0.168,0.264,1.800,2.070,1.580,1.940,0.164,0.187,0.147,0.204,
+1.640,0.186,0.884,1.380,1.170,1.620,1.480,2.090,1.870,1.450,
+1.140,1.770,2.110,2.100,1.490,1.890,2.010,0.195,1.620,2.160,
+1.840,1.770,2.260,3.620,3.390,1.920,1.340,2.470,2.060,1.440,
+1.080,1.520,1.970,0.177,1.310,1.920,2.140,1.720,1.350,3.130,
+3.100,2.240,1.400,2.280,2.400,1.840,1.300,1.520,2.120,0.171,
+1.710,2.130,2.310,2.440,1.850,3.130,2.420,2.310,1.710,2.630,
+0.165,0.170,0.138,0.248,2.260,0.185,1.830,2.600,1.940,2.380,
+2.350,3.220,2.850,1.770,1.570,2.680,1.960,1.690,1.430,2.010,
+2.770,0.201,2.490,3.310,3.120,2.750,3.330,5.450,11.3,3.700,
+2.610,6.080,3.120,1.770,1.380,2.460,3.110,0.230,1.450,2.430,
+4.390,2.910,2.320,5.310,3.790,1.960,1.140,2.160,2.070,1.340,
+0.957,1.580,2.040,0.128,1.070,1.620,1.990,1.630,1.210,2.420,
+3.340,2.320,1.540,3.750,0.206,0.168,0.113,0.333,2.080,0.163,
+1.190,1.960,2.250,2.340,1.700,3.430,5.100,2.600,2.130,5.720,
+2.810,1.860,1.570,3.400,2.980,0.216,1.900,3.390,5.190,4.080,
+3.880,11.3,5.270,2.700,1.880,3.540,2.780,1.940,1.320,2.000,
+2.070,0.151,1.070,1.870,2.340,1.940,1.360,3.140,3.570,2.330,
+1.110,2.090,2.490,2.370,1.120,1.880,1.910,0.134,1.210,1.880,
+1.710,1.680,1.130,2.280,2.860,2.080,1.250,3.100,0.152,0.140,
+0.083,0.230,2.040,0.171,1.200,2.050,1.940,2.240,1.570,3.160,
+3.350,1.910,1.430,3.500,2.380,1.880,1.330,2.970,2.370,0.149,
+1.450,2.640,3.030,2.650,2.300,5.550,5.460,2.600,2.040,3.160,
+3.680,2.350,2.000,3.020,3.220,0.296,1.660,2.980,3.300,2.670,
+2.450,5.370,0.238,0.196,0.106,0.194,0.186,0.173,0.144,0.187,
+0.142,0.017,0.121,0.186,0.224,0.223,0.155,0.347,3.230,2.740,
+1.980,3.350,0.192,0.171,0.139,0.289,2.810,0.229,1.960,2.800,
+2.460,2.820,2.790,4.650,3.970,2.540,2.170,3.800,3.510,2.770,
+2.440,4.170,3.810,0.242,2.820,4.450,3.940,3.010,4.160,7.300,
+12.2,4.160,2.990,6.720,4.050,2.490,1.920,3.060,4.660,0.316,
+2.110,3.840,6.520,4.120,3.270,9.840,5.250,3.180,1.840,3.550,
+3.340,2.470,1.730,2.720,3.150,0.183,1.980,3.250,3.910,3.120,
+2.440,5.680,4.970,3.840,2.750,5.220,0.232,0.204,0.148,0.361,
+4.170,0.246,2.920,4.670,4.740,4.460,4.510,7.840,11.6,4.290,
+3.400,9.190,4.060,2.930,2.940,6.250,5.610,0.296,3.990,7.880,
+8.630,4.870,5.370,14.7,14.4,5.030,2.740,5.850,6.320,3.030,
+2.370,3.080,5.210,0.491,1.840,3.070,6.970,4.760,2.890,4.550,
+7.200,3.650,2.300,3.150,3.900,2.400,1.970,1.900,3.390,0.284,
+1.690,2.160,2.650,2.300,1.700,2.680,5.150,3.860,2.490,3.880,
+0.451,0.394,0.264,0.516,2.780,0.281,1.450,2.060,2.640,3.000,
+1.760,2.720,6.880,2.990,2.820,5.830,4.630,3.130,2.490,4.370,
+3.270,0.292,1.680,2.780,4.210,2.490,2.460,4.240,9.200,4.090,
+2.180,3.580,4.660,2.850,1.820,2.010,2.980,0.332,1.230,1.880,
+2.440,2.400,1.320,2.220,4.740,2.920,1.420,1.960,2.800,1.950,
+1.330,1.370,2.390,0.261,1.220,1.620,1.480,1.570,0.977,1.460,
+3.000,2.810,1.450,2.070,0.259,0.251,0.168,0.232,2.080,0.233,
+1.150,1.610,1.350,1.940,1.200,1.770,2.500,1.620,1.050,1.830,
+2.460,1.830,1.200,1.650,1.990,0.165,1.030,1.580,1.770,1.460,
+1.390,2.510,4.770,2.170,1.690,2.510,3.650,2.130,1.760,1.880,
+2.710,0.324,1.170,1.980,2.130,1.900,1.470,2.720,0.379,0.275,
+0.156,0.238,0.351,0.326,0.189,0.200,0.267,0.051,0.186,0.259,
+0.278,0.378,0.216,0.339,2.250,1.950,1.490,1.770,0.275,0.193,
+0.179,0.229,1.650,0.205,1.190,1.460,1.120,1.530,1.260,1.400,
+2.040,1.280,1.120,1.820,3.230,1.950,1.550,1.900,1.960,0.193,
+1.320,1.870,1.710,1.560,1.590,2.380,7.210,2.820,2.100,4.520,
+3.060,1.620,1.380,1.790,3.180,0.347,1.270,2.170,3.560,2.490,
+1.900,4.310,4.530,2.750,1.820,2.590,3.010,2.160,1.540,1.690,
+2.900,0.224,1.500,2.290,2.740,2.610,1.880,3.070,2.630,2.240,
+1.610,2.290,0.254,0.194,0.166,0.231,1.890,0.161,1.110,1.760,
+1.720,2.040,1.550,2.150,3.830,1.900,1.580,3.290,2.440,1.570,
+1.320,1.980,2.730,0.194,1.520,2.720,3.270,2.460,2.230,4.040,
+7.470,4.420,2.660,4.380,3.710,2.620,1.680,1.760,2.280,0.275,
+1.020,1.710,2.390,2.510,1.500,2.460,4.210,3.230,1.760,2.180,
+3.180,2.230,1.670,1.570,2.020,0.252,1.210,1.690,1.360,1.620,
+1.100,1.720,2.470,2.820,1.520,2.180,0.291,0.328,0.208,0.282,
+1.300,0.162,0.902,1.180,1.050,1.590,1.030,1.650,2.330,1.260,
+1.130,1.940,2.330,1.960,1.260,1.610,1.340,0.145,0.740,1.170,
+1.500,1.080,1.170,2.170,5.090,4.280,1.570,2.330,3.330,2.960,
+1.550,1.420,1.850,0.272,0.825,1.200,1.370,1.810,0.865,1.420,
+3.100,2.690,1.200,1.430,2.340,1.390,1.390,1.220,1.670,0.262,
+1.000,1.350,0.944,1.340,0.776,1.000,2.030,2.790,1.140,1.480,
+0.255,0.399,0.203,0.196,1.500,0.294,0.913,1.290,0.853,1.950,
+1.000,1.490,1.460,1.170,0.643,1.030,1.830,1.910,0.955,1.090,
+1.300,0.148,0.644,1.030,0.929,1.010,0.776,1.450,2.670,1.850,
+1.120,1.580,2.790,2.320,1.760,1.470,1.670,0.237,0.838,1.280,
+1.160,1.360,1.030,1.690,0.194,0.249,0.121,0.161,0.248,0.365,
+0.220,0.154,0.178,0.063,0.154,0.197,0.116,0.224,0.133,0.178,
+1.820,2.460,1.430,1.580,0.274,0.322,0.235,0.223,1.590,0.234,
+1.110,1.350,0.831,1.600,1.300,1.400,1.240,0.913,0.749,1.080,
+2.060,2.100,1.510,1.500,1.450,0.163,0.993,1.450,1.080,1.090,
+1.280,1.770,2.420,1.200,0.935,1.500,1.640,1.140,0.793,0.891,
+1.250,0.125,0.535,0.934,1.280,1.040,0.744,1.570,2.090,1.820,
+1.190,1.500,1.730,1.850,1.140,1.190,1.250,0.144,0.840,1.340,
+0.952,1.360,0.939,1.470,1.640,1.980,1.240,1.530,0.173,0.198,
+0.116,0.159,1.400,0.140,0.890,1.330,0.971,1.470,1.120,1.540,
+1.700,1.060,0.927,1.400,1.420,1.280,0.960,1.210,1.560,0.162,
+0.947,1.650,1.680,1.640,1.570,2.400,3.460,2.270,1.420,2.330,
+1.830,1.300,0.857,1.160,1.480,0.173,0.681,1.150,1.490,1.480,
+0.794,1.640,2.750,2.050,1.260,1.490,1.620,1.240,0.972,0.967,
+1.760,0.208,0.998,1.210,1.070,1.490,0.739,1.260,1.680,2.170,
+1.270,1.710,0.215,0.276,0.182,0.300,1.150,0.153,0.645,1.050,
+0.897,1.510,0.826,1.600,1.660,1.060,0.949,1.590,1.450,1.370,
+1.000,1.430,1.360,0.153,0.791,1.370,1.390,1.090,1.420,2.980,
+0.254,0.218,0.139,0.205,0.261,0.223,0.121,0.136,0.139,0.030,
+0.082,0.117,0.115,0.170,0.091,0.152,0.224,0.205,0.119,0.130,
+0.203,0.212,0.134,0.112,0.167,0.050,0.124,0.146,0.099,0.184,
+0.079,0.117,0.140,0.251,0.123,0.143,0.033,0.066,0.043,0.032,
+0.155,0.046,0.113,0.162,0.103,0.229,0.116,0.189,0.196,0.133,
+0.102,0.182,0.260,0.320,0.205,0.239,0.174,0.027,0.127,0.181,
+0.161,0.157,0.173,0.301,1.640,1.160,0.735,1.000,1.420,1.350,
+0.878,0.838,1.320,0.214,0.914,1.190,0.760,0.971,0.702,0.993,
+0.158,0.187,0.079,0.088,0.134,0.190,0.116,0.082,0.140,0.045,
+0.125,0.136,0.102,0.182,0.093,0.112,1.100,1.940,0.851,0.834,
+0.166,0.414,0.134,0.133,1.050,0.205,0.545,0.793,0.586,1.170,
+0.726,0.784,0.879,0.704,0.503,0.620,1.130,1.480,0.815,0.929,
+1.090,0.148,0.771,0.980,0.646,0.872,0.767,0.915,1.750,0.936,
+0.637,1.220,1.210,0.742,0.464,0.626,1.160,0.123,0.557,0.850,
+1.030,0.864,0.572,1.190,2.110,1.580,0.859,1.090,1.520,1.390,
+0.843,0.837,1.270,0.163,0.876,1.210,1.110,1.480,0.799,1.170,
+1.420,1.690,1.050,1.300,0.157,0.233,0.116,0.158,1.200,0.162,
+0.869,1.700,0.914,1.480,1.050,1.440,1.520,0.847,0.811,1.010,
+1.360,1.280,0.822,1.040,1.440,0.152,1.150,1.520,1.420,1.440,
+1.350,1.970,4.960,2.540,1.820,3.890,2.010,1.180,0.938,1.390,
+1.680,0.182,0.732,1.360,2.610,1.950,1.170,2.630,2.360,1.390,
+0.933,1.360,1.310,0.826,0.661,0.789,1.270,0.121,0.704,1.140,
+1.150,1.160,0.666,1.260,1.810,1.650,0.983,1.790,0.166,0.145,
+0.099,0.216,1.030,0.100,0.487,0.944,1.230,1.150,0.708,1.450,
+2.570,1.320,1.290,2.830,1.710,1.240,1.020,1.800,1.480,0.123,
+0.897,1.600,2.350,1.480,1.680,3.950,3.620,2.340,1.430,3.450,
+2.510,1.740,1.110,1.630,1.680,0.193,0.808,1.520,1.460,1.590,
+0.875,1.700,2.490,1.720,0.957,1.650,1.810,1.410,0.840,1.020,
+1.460,0.251,0.857,1.530,1.050,1.380,0.652,1.190,1.650,1.730,
+0.875,1.480,0.137,0.167,0.099,0.161,1.310,0.150,0.742,1.280,
+1.040,1.470,0.863,1.630,1.970,1.070,0.851,1.690,1.830,1.650,
+1.060,1.750,1.520,0.126,0.886,1.470,1.490,1.280,1.410,2.470,
+1.980,1.170,0.913,1.420,1.800,1.200,0.914,1.210,1.550,0.217,
+0.993,1.670,1.270,1.300,1.010,1.600,0.177,0.137,0.079,0.139,
+0.135,0.149,0.100,0.108,0.131,0.031,0.150,0.482,0.127,0.174,
+0.099,0.186,1.260,1.540,0.877,1.160,0.127,0.153,0.092,0.144,
+1.280,0.146,0.666,1.040,0.913,1.300,0.915,1.190,1.330,0.890,
+0.815,1.180,1.590,1.310,1.130,1.520,1.540,0.141,0.928,1.520,
+1.140,1.130,1.140,1.690,3.190,1.460,1.120,2.230,1.680,1.030,
+0.811,1.080,1.860,0.167,0.784,1.350,2.060,1.450,1.190,2.660,
+1.900,1.230,0.764,1.200,1.320,1.040,0.764,0.935,1.240,0.104,
+0.839,1.710,1.430,1.340,0.897,1.650,2.040,1.990,1.200,1.830,
+0.198,0.162,0.095,0.170,1.700,0.139,1.020,1.680,1.720,1.950,
+1.440,2.090,2.710,1.510,1.250,2.620,2.240,1.810,1.250,1.950,
+2.490,0.160,1.600,2.640,3.450,2.410,2.350,4.070,6.550,4.160,
+2.840,4.770,5.070,3.240,2.020,2.390,3.180,0.398,1.560,2.320,
+3.600,3.270,1.800,2.890,3.750,3.320,1.740,2.060,3.300,2.620,
+1.720,1.650,2.420,0.311,1.610,1.770,1.510,1.890,1.300,1.790,
+2.070,2.350,1.470,1.850,0.250,0.276,0.190,0.276,1.540,0.199,
+0.933,1.110,1.160,1.670,1.190,1.560,2.460,1.420,1.070,2.060,
+2.500,2.090,1.240,1.890,1.800,0.373,0.992,1.510,1.850,1.540,
+1.460,2.480,5.250,3.560,1.510,2.430,7.600,3.390,1.610,1.710,
+2.480,0.364,1.150,1.550,1.550,2.170,0.972,1.770,3.190,3.050,
+1.230,1.590,2.930,2.080,1.350,1.370,2.060,0.388,1.540,1.780,
+1.110,1.760,0.943,1.430,1.620,2.150,0.992,1.170,0.290,0.279,
+0.205,0.186,1.570,0.278,1.020,1.170,0.917,1.850,1.090,1.280,
+1.300,1.090,0.531,0.891,1.800,1.640,0.789,1.120,1.250,0.155,
+0.784,1.080,1.000,1.110,1.010,1.690,2.450,1.790,0.916,1.370,
+3.840,2.900,1.420,1.590,2.090,0.329,0.976,1.260,1.220,1.390,
+0.936,1.630,0.262,0.360,0.133,0.192,0.639,0.700,0.230,0.244,
+0.236,0.086,0.204,0.240,0.159,0.323,0.154,0.219,1.290,2.160,
+1.080,1.170,0.232,0.233,0.153,0.205,1.320,0.237,1.120,1.510,
+0.730,1.320,0.991,1.110,0.974,0.898,0.673,0.944,1.790,1.720,
+1.000,1.340,1.350,0.213,1.230,1.430,1.000,1.210,1.120,1.600,
+2.510,1.370,0.923,2.020,1.600,1.160,0.661,0.887,1.420,0.197,
+0.754,1.060,1.420,1.110,0.844,1.800,2.420,2.200,1.170,1.740,
+2.570,2.590,1.230,1.360,1.440,0.205,1.070,1.460,1.070,1.540,
+0.950,1.500,1.210,1.360,1.030,1.340,0.236,0.153,0.240,0.226,
+0.998,0.147,0.700,1.060,0.780,1.340,0.827,1.190,1.580,1.020,
+0.919,1.530,1.210,1.080,0.890,1.140,1.400,0.151,0.960,1.560,
+1.680,1.850,1.490,2.700,4.310,3.230,2.120,2.820,3.800,3.340,
+1.870,1.880,1.700,0.265,0.906,1.370,1.490,1.710,1.040,1.660,
+2.990,3.020,1.490,1.560,3.650,3.020,1.980,1.710,1.710,0.352,
+1.350,1.600,0.875,1.420,0.920,1.230,1.420,2.080,1.320,1.340,
+0.249,0.332,0.248,0.243,0.963,0.177,0.840,0.886,0.657,1.260,
+0.915,1.160,1.260,0.807,0.670,1.120,1.690,1.800,1.070,1.320,
+1.120,0.183,0.678,0.871,1.160,0.924,0.893,1.570,3.000,2.960,
+1.120,1.430,3.360,3.870,1.490,1.350,1.520,0.288,0.859,1.030,
+0.886,1.430,0.662,0.994,2.270,2.610,1.150,1.080,1.680,0.892,
+1.270,1.060,1.550,0.464,1.240,1.540,0.643,1.460,0.779,0.879,
+1.260,2.450,0.970,1.060,0.256,0.507,0.274,0.215,1.170,0.308,
+0.920,1.140,0.595,1.730,1.100,1.170,0.884,0.929,0.455,0.642,
+1.450,2.110,0.889,1.070,0.964,0.164,0.777,1.060,0.657,0.887,
+0.706,1.160,1.900,1.690,0.796,1.090,3.320,3.730,1.840,1.500,
+1.530,0.312,0.894,1.070,0.838,1.250,0.921,1.240,0.206,0.395,
+0.144,0.170,0.648,0.947,0.440,0.243,0.209,0.148,0.262,0.248,
+0.096,0.306,0.157,0.153,1.690,2.580,1.300,1.240,0.627,0.563,
+0.333,0.252,1.470,0.326,1.140,1.230,0.673,1.730,1.550,1.170,
+0.938,0.829,0.668,0.784,2.790,2.920,2.030,1.680,1.440,0.217,
+1.120,1.290,0.902,1.120,1.230,1.440,1.470,1.050,0.638,1.080,
+1.400,1.310,0.616,0.685,0.868,0.110,0.477,0.638,0.797,0.797,
+0.537,0.948,1.590,1.970,1.080,1.370,2.090,3.050,1.380,1.290,
+0.938,0.197,0.874,1.120,0.576,1.220,0.781,1.020,1.140,1.920,
+1.050,1.150,0.203,0.261,0.147,0.140,0.810,0.135,0.779,0.934,
+0.559,1.110,0.956,1.060,1.120,0.815,0.629,0.880,1.160,1.290,
+1.200,0.995,0.929,0.107,0.745,1.050,1.090,1.200,1.180,1.660,
+2.260,1.900,1.020,1.530,2.240,1.460,0.864,1.130,1.140,0.161,
+0.590,0.899,1.000,1.150,0.620,1.130,2.180,2.490,0.952,1.240,
+2.030,2.050,1.240,1.300,1.660,0.351,1.370,1.530,0.817,1.550,
+0.707,1.110,1.000,1.870,0.935,1.140,0.171,0.277,0.181,0.266,
+0.940,0.196,0.727,1.150,0.567,1.290,0.682,1.220,0.886,0.703,
+0.456,0.902,1.070,1.280,0.778,1.110,1.000,0.144,0.777,1.260,
+0.848,0.785,0.860,1.860,0.254,0.180,0.084,0.119,0.617,0.350,
+0.221,0.167,0.145,0.044,0.099,0.116,0.092,0.159,0.089,0.120,
+0.172,0.282,0.103,0.114,0.318,0.431,0.237,0.190,0.196,0.140,
+0.240,0.221,0.078,0.206,0.090,0.105,0.105,0.292,0.130,0.115,
+0.065,0.163,0.130,0.054,0.169,0.113,0.192,0.225,0.081,0.247,
+0.164,0.178,0.087,0.096,0.051,0.089,0.201,0.337,0.171,0.202,
+0.121,0.038,0.135,0.173,0.085,0.109,0.114,0.179,1.530,1.590,
+0.690,0.880,1.720,2.230,1.300,1.110,1.610,0.426,3.460,2.520,
+0.728,1.260,0.970,1.120,0.168,0.488,0.118,0.116,0.235,0.505,
+0.289,0.157,0.210,0.138,0.330,0.252,0.092,0.276,0.142,0.127,
+1.040,2.730,1.070,0.941,0.220,0.453,0.254,0.193,1.380,0.401,
+0.871,1.160,0.584,1.670,1.010,1.040,0.664,0.799,0.442,0.568,
+1.300,2.160,1.110,1.210,1.470,0.280,1.240,1.250,0.648,1.030,
+0.955,1.110,1.410,0.915,0.500,0.861,0.987,0.780,0.443,0.554,
+0.860,0.128,0.649,0.801,0.737,0.851,0.501,0.977,1.740,2.150,
+0.872,1.050,1.890,2.490,1.240,1.200,1.420,0.313,1.370,1.540,
+0.876,1.690,0.915,1.150,1.140,1.910,0.975,1.070,0.153,0.246,
+0.147,0.147,1.230,0.249,1.050,1.320,0.735,1.690,1.020,1.260,
+0.826,0.723,0.567,0.813,0.945,1.170,0.817,0.898,1.190,0.158,
+1.190,1.380,1.020,1.250,1.120,1.560,2.080,1.240,0.830,1.620,
+1.340,0.834,0.565,0.932,0.949,0.106,0.412,0.897,1.130,0.861,
+0.517,1.210,1.540,1.080,0.543,0.916,1.030,0.880,0.543,0.745,
+0.819,0.104,0.535,1.450,0.673,0.679,0.409,0.838,0.849,1.010,
+0.506,0.829,0.086,0.090,0.056,0.119,0.512,0.067,0.337,0.648,
+0.502,0.640,0.401,0.772,1.030,0.617,0.479,1.080,0.794,0.679,
+0.457,0.919,0.691,0.071,0.420,0.887,0.878,0.656,0.683,1.660,
+2.100,1.490,0.807,1.420,2.430,1.690,1.110,1.290,1.270,0.180,
+0.711,1.090,0.886,1.180,0.597,1.080,1.570,1.530,0.660,0.970,
+1.650,1.760,0.961,1.070,1.160,0.204,0.854,1.220,0.745,1.220,
+0.589,0.934,0.874,1.620,0.568,0.770,0.118,0.211,0.111,0.135,
+0.845,0.157,0.650,0.984,0.612,1.210,0.668,1.050,0.801,0.675,
+0.442,0.754,1.200,1.450,0.798,1.330,0.855,0.108,0.681,1.030,
+0.768,0.853,0.789,1.470,1.350,1.010,0.584,0.876,1.580,1.460,
+0.902,1.060,1.260,0.205,0.883,1.150,0.800,0.936,0.771,1.180,
+0.105,0.140,0.056,0.089,0.151,0.253,0.126,0.106,0.100,0.036,
+0.103,0.148,0.076,0.141,0.084,0.109,0.869,1.380,0.668,0.858,
+0.135,0.165,0.104,0.136,1.070,0.191,0.747,1.000,0.632,1.210,
+0.850,1.030,0.745,0.672,0.478,0.699,1.200,1.230,0.806,1.150,
+1.320,0.259,0.909,1.240,0.788,1.000,0.963,1.300,1.680,0.971,
+0.655,1.380,1.030,0.847,0.509,0.699,0.956,0.116,0.492,0.856,
+0.891,0.755,0.597,1.340,1.440,1.160,0.582,0.962,1.250,1.330,
+0.719,0.847,0.848,0.095,0.617,0.995,0.816,0.920,0.657,1.140,
+1.590,1.390,0.800,1.170,0.358,0.130,0.087,0.129,1.130,0.134,
+0.819,1.160,0.954,1.400,1.010,1.430,1.490,0.978,0.771,1.520,
+1.790,1.430,0.966,1.290,1.580,0.185,1.180,1.880,1.890,1.690,
+1.610,2.220,3.250,1.890,1.490,2.540,2.350,1.620,1.220,1.470,
+1.640,0.211,0.824,1.140,2.060,1.860,0.966,1.690,1.840,1.450,
+0.784,1.130,1.560,1.010,0.860,1.070,1.060,0.136,0.735,0.861,
+0.828,0.980,0.691,1.030,1.200,1.240,0.785,1.170,0.148,0.136,
+0.100,0.183,0.830,0.099,0.545,0.732,0.697,0.996,0.674,1.000,
+1.580,0.822,0.671,1.330,1.430,1.080,0.769,1.160,0.869,0.094,
+0.525,0.843,1.080,0.756,0.868,1.710,3.190,1.990,1.170,1.850,
+2.820,2.040,1.950,2.210,1.910,0.259,0.779,1.070,1.240,1.520,
+0.753,1.290,1.990,1.750,0.858,1.250,1.690,1.000,1.120,1.700,
+1.530,0.270,0.863,1.110,0.806,1.200,0.643,0.907,1.430,1.750,
+0.997,1.270,0.221,0.235,0.185,0.252,1.270,0.199,0.908,1.120,
+0.716,1.390,0.897,1.120,1.160,0.778,0.503,0.928,1.610,1.430,
+0.896,1.340,0.971,0.112,0.628,1.040,0.780,0.820,0.766,1.560,
+2.110,1.100,0.730,1.190,2.460,1.710,1.510,1.400,2.240,0.301,
+0.749,0.973,1.440,1.370,0.848,1.470,0.208,0.206,0.101,0.179,
+0.268,0.272,0.188,0.216,0.233,0.060,0.150,0.167,0.179,0.350,
+0.146,0.209,1.160,1.240,0.844,0.992,0.171,0.157,0.150,0.191,
+0.971,0.166,0.667,0.777,0.581,1.100,0.748,0.878,0.891,0.587,
+0.460,0.796,1.510,1.340,0.994,1.300,1.050,0.139,0.665,0.844,
+0.864,0.932,0.864,1.300,1.980,0.865,0.625,1.320,1.130,0.700,
+0.594,0.780,1.210,0.143,0.507,0.763,1.310,0.987,0.652,1.480,
+1.660,1.210,0.729,1.210,1.350,1.020,0.823,0.991,1.120,0.135,
+0.683,0.928,0.962,1.100,0.675,1.130,1.100,1.150,0.891,1.170,
+0.134,0.115,0.111,0.167,0.966,0.111,0.630,0.905,0.830,1.200,
+0.899,1.210,1.480,0.842,0.740,1.440,1.130,0.903,0.795,1.170,
+1.330,0.133,0.903,1.480,2.040,1.800,1.750,3.200,0.213,0.167,
+0.113,0.154,0.210,0.185,0.130,0.170,0.118,0.024,0.066,0.084,
+0.125,0.166,0.078,0.118,0.210,0.198,0.118,0.149,0.272,0.223,
+0.202,0.233,0.139,0.042,0.119,0.126,0.081,0.134,0.092,0.134,
+0.125,0.198,0.098,0.128,0.049,0.047,0.033,0.037,0.100,0.024,
+0.084,0.098,0.062,0.123,0.086,0.111,0.120,0.082,0.063,0.111,
+0.195,0.197,0.122,0.148,0.102,0.016,0.073,0.096,0.099,0.080,
+0.094,0.156,0.222,0.222,0.097,0.168,0.268,0.327,0.224,0.494,
+0.162,0.060,0.078,0.111,0.088,0.182,0.079,0.118,0.237,0.300,
+0.135,0.177,0.310,0.280,0.295,0.499,0.222,0.097,0.147,0.184,
+0.081,0.202,0.101,0.152,0.142,0.263,0.136,0.141,0.055,0.108,
+0.073,0.061,0.177,0.078,0.149,0.156,0.073,0.213,0.141,0.148,
+0.111,0.094,0.056,0.090,0.208,0.265,0.162,0.186,0.122,0.024,
+0.095,0.128,0.079,0.102,0.088,0.159,0.151,0.116,0.064,0.094,
+0.240,0.270,0.208,0.152,0.176,0.052,0.097,0.095,0.085,0.141,
+0.093,0.112,0.026,0.048,0.024,0.034,0.065,0.111,0.092,0.053,
+0.054,0.055,0.063,0.047,0.014,0.052,0.033,0.026,0.134,0.212,
+0.142,0.146,0.055,0.087,0.083,0.050,0.177,0.082,0.172,0.150,
+0.070,0.221,0.149,0.127,0.096,0.077,0.063,0.089,0.226,0.287,
+0.234,0.207,0.148,0.036,0.141,0.134,0.089,0.123,0.122,0.149,
+0.165,0.124,0.075,0.118,0.136,0.113,0.079,0.102,0.114,0.018,
+0.057,0.079,0.108,0.111,0.083,0.152,0.245,0.285,0.150,0.200,
+0.289,0.314,0.229,0.232,0.208,0.052,0.160,0.189,0.130,0.245,
+0.145,0.183,0.134,0.205,0.148,0.154,0.026,0.043,0.032,0.037,
+0.147,0.033,0.129,0.150,0.097,0.182,0.143,0.161,0.156,0.114,
+0.086,0.141,0.151,0.156,0.130,0.146,0.155,0.023,0.127,0.172,
+0.181,0.192,0.195,0.300,1.510,1.030,0.668,1.110,1.100,1.010,
+0.597,0.788,0.833,0.122,0.537,0.608,0.822,0.782,0.464,0.698,
+1.220,1.160,0.613,0.767,1.180,0.998,0.897,0.781,1.060,0.192,
+1.630,0.977,0.531,0.865,0.560,0.674,0.964,1.710,0.847,1.050,
+0.179,0.227,0.167,0.245,0.863,0.148,0.684,0.806,0.499,1.010,
+0.571,0.810,0.718,0.564,0.400,0.786,0.874,0.854,0.581,0.911,
+0.763,0.105,0.685,0.848,0.626,0.567,0.615,1.190,0.126,0.127,
+0.063,0.101,0.177,0.264,0.120,0.144,0.086,0.029,0.076,0.082,
+0.060,0.093,0.046,0.075,0.115,0.139,0.060,0.074,0.161,0.170,
+0.142,0.129,0.117,0.053,0.161,0.131,0.050,0.092,0.053,0.063,
+0.088,0.196,0.100,0.103,0.035,0.077,0.057,0.041,0.115,0.051,
+0.126,0.124,0.066,0.151,0.087,0.106,0.096,0.076,0.046,0.097,
+0.166,0.220,0.127,0.180,0.099,0.022,0.105,0.132,0.065,0.076,
+0.073,0.129,1.130,0.875,0.512,0.573,1.380,1.490,1.080,0.908,
+1.020,0.216,0.768,0.758,0.512,0.731,0.606,0.688,0.117,0.180,
+0.077,0.077,0.165,0.265,0.189,0.118,0.141,0.075,0.204,0.130,
+0.060,0.153,0.098,0.089,0.976,1.430,0.866,0.966,0.190,0.266,
+0.230,0.242,0.980,0.251,0.417,0.610,0.450,1.040,0.719,0.779,
+0.601,0.469,0.375,0.573,1.130,1.270,0.965,1.520,0.928,0.182,
+0.878,0.890,0.508,0.712,0.713,0.851,0.980,0.599,0.422,0.687,
+0.729,0.565,0.384,0.482,0.627,0.087,0.398,0.564,0.507,0.492,
+0.330,0.591,1.180,1.050,0.552,0.636,1.170,1.310,0.850,0.762,
+0.923,0.165,0.954,0.919,0.578,0.957,0.623,0.675,1.050,1.540,
+0.807,1.170,0.143,0.231,0.141,0.359,0.969,0.164,0.855,0.964,
+0.609,1.160,0.825,0.926,0.743,0.570,0.409,0.678,1.010,1.100,
+0.636,1.060,0.930,0.130,0.847,0.940,0.807,0.977,0.870,1.120,
+1.540,0.915,0.575,1.180,1.000,0.628,0.421,0.615,0.780,0.090,
+0.313,0.489,1.300,0.710,0.400,0.904,1.100,0.765,0.418,0.652,
+0.693,0.515,0.368,0.487,0.532,0.063,0.451,0.513,0.435,0.469,
+0.310,0.518,0.877,1.870,0.480,0.823,0.089,0.124,0.056,0.122,
+0.513,0.076,0.290,0.485,0.534,0.667,0.399,0.678,1.020,0.820,
+0.450,0.953,0.760,0.634,0.431,0.782,0.591,0.060,0.374,0.613,
+0.836,0.585,0.611,1.350,1.810,1.290,0.709,1.360,1.480,1.460,
+0.866,1.060,0.984,0.136,0.563,0.896,0.790,0.902,0.467,0.958,
+1.380,1.300,0.591,0.978,1.280,1.160,0.842,1.060,0.970,0.147,
+0.762,1.070,0.582,0.833,0.490,0.785,0.974,1.480,0.682,0.990,
+0.115,0.190,0.114,0.161,0.842,0.135,0.676,1.000,0.619,1.110,
+0.676,1.120,1.030,0.756,0.536,0.947,1.230,1.290,0.813,1.240,
+0.890,0.096,0.677,1.040,0.746,0.801,0.681,1.300,1.440,1.060,
+0.581,0.821,1.470,1.250,1.020,1.110,1.190,0.193,0.677,0.980,
+0.721,0.833,0.666,1.060,0.148,0.144,0.066,0.101,0.161,0.228,
+0.151,0.150,0.106,0.035,0.123,0.149,0.077,0.139,0.084,0.108,
+1.110,1.440,0.824,1.280,0.139,0.174,0.141,0.352,1.050,0.174,
+0.651,0.905,0.634,1.140,0.852,0.994,0.883,0.674,0.550,0.747,
+1.320,1.230,1.070,1.550,1.030,0.124,0.865,1.030,0.778,0.886,
+0.981,1.190,1.610,0.784,0.603,1.040,0.917,0.651,0.510,0.631,
+0.954,0.137,0.475,0.816,0.701,0.585,0.477,1.120,1.400,1.030,
+0.571,0.848,1.180,1.100,0.775,0.852,0.871,0.101,0.822,1.110,
+0.747,0.804,0.653,0.970,1.400,1.520,0.883,1.370,0.142,0.163,
+0.102,0.202,1.290,0.150,0.993,1.370,1.020,1.460,1.200,1.450,
+1.560,0.889,0.712,1.430,1.410,1.440,0.982,1.370,1.400,0.120,
+1.090,1.650,1.650,1.380,1.510,2.410,3.500,2.050,1.600,3.270,
+2.310,1.340,0.992,1.380,1.860,0.183,0.742,1.280,2.740,2.170,
+1.120,2.300,1.830,1.060,0.675,1.020,1.310,0.798,0.580,0.697,
+1.040,0.086,0.536,0.683,0.914,0.857,0.491,0.856,1.240,1.080,
+0.704,1.260,0.135,0.111,0.083,0.156,0.769,0.073,0.408,0.680,
+0.832,0.947,0.599,1.110,2.280,1.090,0.912,1.840,1.570,1.100,
+0.815,1.330,1.100,0.100,0.624,1.060,1.670,1.090,1.130,2.680,
+2.160,1.110,0.691,1.260,1.460,0.848,0.639,0.846,0.958,0.105,
+0.420,0.665,1.510,1.070,0.478,1.020,1.320,0.832,0.448,0.747,
+0.832,0.468,0.412,0.629,0.713,0.072,0.356,0.528,0.649,0.598,
+0.338,0.591,0.877,0.768,0.537,0.838,0.085,0.071,0.059,0.091,
+0.640,0.058,0.317,0.497,0.583,0.695,0.465,0.784,0.946,0.522,
+0.406,0.751,0.912,0.648,0.420,0.693,0.612,0.048,0.337,0.634,
+0.669,0.607,0.535,1.260,1.850,0.883,0.625,1.170,1.600,0.931,
+0.750,1.010,1.290,0.144,0.416,0.691,1.350,1.100,0.612,1.400,
+0.159,0.105,0.068,0.133,0.158,0.118,0.083,0.130,0.115,0.016,
+0.064,0.092,0.159,0.184,0.080,0.172,0.940,0.776,0.664,0.862,
+0.091,0.069,0.061,0.102,0.680,0.071,0.338,0.530,0.560,0.722,
+0.487,0.705,0.845,0.537,0.502,0.865,1.050,0.755,0.601,0.940,
+0.829,0.083,0.473,0.719,0.828,0.794,0.688,1.300,2.400,0.915,
+0.734,1.680,1.220,0.630,0.519,0.797,1.270,0.115,0.554,0.841,
+2.180,1.260,0.826,2.020,1.500,0.891,0.662,1.110,1.070,0.728,
+0.553,0.818,0.964,0.081,0.532,0.807,1.100,1.050,0.651,1.230,
+1.030,0.861,0.733,1.040,0.096,0.074,0.066,0.104,0.875,0.067,
+0.474,0.748,0.861,0.992,0.678,1.090,1.880,1.060,0.890,1.750,
+1.250,0.914,0.712,1.170,1.420,0.114,0.879,1.460,2.380,1.980,
+1.720,3.700,3.050,1.840,1.230,2.360,2.190,1.440,1.060,1.330,
+1.390,0.175,0.613,0.994,1.680,1.800,0.852,1.610,2.440,1.470,
+0.911,1.490,2.130,1.280,1.060,1.220,1.130,0.147,0.709,0.991,
+0.919,1.090,0.684,1.130,1.360,1.540,0.849,1.420,0.191,0.185,
+0.118,0.190,0.823,0.113,0.543,0.872,0.776,1.080,0.764,1.260,
+1.480,0.912,0.685,1.310,1.830,1.420,0.888,1.260,0.931,0.094,
+0.587,0.978,1.120,0.824,0.951,1.790,2.380,1.680,0.792,1.450,
+2.070,1.730,1.070,1.580,1.200,0.185,0.462,0.759,1.140,1.710,
+0.600,1.210,1.920,1.720,0.789,1.230,1.850,1.350,1.060,1.520,
+1.220,0.204,0.676,0.964,0.764,1.170,0.608,0.934,1.180,1.580,
+0.811,1.150,0.178,0.252,0.168,0.195,1.040,0.185,0.623,0.904,
+0.765,1.330,0.838,1.310,0.982,0.794,0.471,0.887,1.380,1.510,
+0.847,1.060,0.819,0.095,0.498,0.965,0.828,0.886,0.688,1.460,
+1.590,0.945,0.534,0.948,1.580,1.230,0.950,1.060,1.020,0.170,
+0.473,0.626,0.868,0.963,0.606,1.110,0.114,0.116,0.063,0.122,
+0.162,0.193,0.134,0.141,0.107,0.039,0.092,0.111,0.091,0.177,
+0.090,0.118,1.110,1.320,0.851,1.050,0.147,0.167,0.130,0.158,
+1.070,0.165,0.635,0.854,0.628,1.180,0.812,1.020,0.970,0.635,
+0.569,0.942,1.500,1.560,1.160,1.310,1.230,0.122,0.744,1.040,
+0.886,0.872,0.939,1.460,1.490,0.813,0.597,1.110,0.974,0.723,
+0.535,0.679,0.876,0.094,0.426,0.624,1.030,0.842,0.600,1.270,
+1.540,1.260,0.786,1.280,1.470,1.300,0.959,1.090,1.030,0.144,
+0.676,1.010,0.971,1.460,0.795,1.270,1.020,1.180,0.856,1.150,
+0.107,0.121,0.082,0.113,0.923,0.099,0.642,0.920,0.762,1.110,
+0.832,1.200,1.370,0.865,0.718,1.180,1.240,1.100,0.754,0.938,
+1.220,0.113,0.815,1.240,1.490,1.390,1.310,2.250,1.430,1.090,
+0.654,1.360,1.010,0.849,0.501,0.847,0.771,0.095,0.376,0.635,
+0.921,0.816,0.444,0.928,1.290,1.120,0.517,0.917,1.010,0.808,
+0.544,0.593,0.832,0.112,0.677,0.742,0.608,0.903,0.460,0.834,
+1.010,1.350,0.819,1.130,0.252,0.183,0.150,0.214,0.739,0.110,
+0.493,1.050,0.569,1.020,0.604,1.580,0.930,0.768,0.499,1.090,
+1.000,0.998,0.667,1.050,0.875,0.101,0.582,1.050,0.947,0.774,
+0.829,1.820,0.106,0.088,0.050,0.105,0.171,0.128,0.065,0.085,
+0.068,0.015,0.045,0.066,0.078,0.094,0.064,0.111,0.088,0.094,
+0.039,0.069,0.106,0.137,0.072,0.074,0.073,0.021,0.085,0.081,
+0.049,0.084,0.046,0.073,0.075,0.123,0.105,0.098,0.023,0.037,
+0.063,0.025,0.103,0.028,0.079,0.139,0.067,0.139,0.088,0.354,
+0.086,0.077,0.049,0.102,0.127,0.168,0.134,0.145,0.088,0.013,
+0.075,0.107,0.082,0.084,0.078,0.189,1.030,0.749,0.453,0.658,
+0.970,0.992,0.703,0.750,0.781,0.147,0.866,0.703,0.528,0.707,
+0.596,0.818,0.084,0.106,0.053,0.075,0.091,0.125,0.088,0.068,
+0.091,0.036,0.295,0.107,0.063,0.123,0.091,0.086,0.766,1.180,
+0.660,0.807,0.108,0.160,0.114,0.118,0.823,0.143,0.430,0.591,
+0.466,0.928,0.618,0.861,0.662,0.528,0.396,0.574,0.949,1.040,
+0.711,0.933,0.878,0.111,1.200,0.890,0.623,0.735,0.817,1.050,
+1.020,0.607,0.413,0.786,0.730,0.575,0.384,0.511,0.629,0.072,
+0.454,0.564,0.711,0.588,0.436,0.835,1.230,1.020,0.590,0.920,
+0.971,1.050,0.650,0.685,0.859,0.116,0.970,0.888,0.737,1.040,
+0.738,0.932,1.000,1.350,0.839,1.200,0.150,0.321,0.127,0.176,
+0.904,0.129,0.656,0.964,0.789,1.160,0.857,1.200,0.920,0.702,
+0.534,0.882,0.947,1.150,0.661,0.905,1.030,0.110,0.908,1.040,
+1.050,1.150,1.120,1.630,3.000,1.420,0.914,2.350,1.230,0.781,
+0.531,1.040,1.060,0.101,0.428,0.837,1.450,1.100,0.639,1.580,
+1.410,0.967,0.486,0.936,0.912,0.652,0.419,0.641,0.745,0.072,
+0.401,0.643,0.638,0.757,0.388,0.778,1.340,2.980,0.631,1.290,
+0.103,0.167,0.056,0.141,0.648,0.099,0.344,0.676,0.681,0.836,
+0.495,1.120,1.740,1.330,0.727,1.710,1.090,0.886,0.592,1.200,
+0.927,0.082,0.625,1.230,1.540,1.010,1.070,2.900,1.540,0.912,
+0.549,1.160,1.050,0.790,0.485,0.714,0.730,0.076,0.334,0.679,
+0.766,0.753,0.429,1.230,1.180,0.887,0.431,0.853,0.837,0.709,
+0.430,0.628,0.745,0.081,0.477,0.791,0.562,0.715,0.429,0.883,
+0.868,1.060,0.536,0.924,0.068,0.090,0.078,0.095,0.679,0.078,
+0.422,0.786,0.647,0.983,0.591,1.520,1.010,0.641,0.479,0.949,
+1.010,0.849,0.602,0.981,0.769,0.064,0.505,0.876,0.859,0.799,
+0.720,1.750,1.750,1.100,0.734,1.230,1.430,1.060,0.805,1.210,
+1.140,0.146,0.647,0.932,1.020,0.998,0.854,1.540,0.132,0.118,
+0.060,0.114,0.109,0.124,0.077,0.103,0.082,0.018,0.095,0.101,
+0.088,0.137,0.077,0.136,1.240,1.390,0.864,1.420,0.110,0.111,
+0.083,0.164,1.060,0.128,0.633,0.952,0.841,1.210,0.970,1.340,
+1.350,0.903,0.802,1.130,1.650,1.280,1.020,1.480,1.440,0.151,
+1.330,1.430,1.200,1.090,1.370,1.890,2.870,1.210,0.887,1.850,
+1.320,0.968,0.680,0.963,1.310,0.117,0.644,1.130,1.780,1.270,
+1.020,2.600,2.020,1.320,0.750,1.320,1.520,1.670,0.848,1.060,
+1.360,0.110,0.860,1.280,1.250,1.270,0.887,1.710,1.950,1.890,
+1.160,2.000,0.134,0.148,0.089,0.156,1.550,0.129,1.050,1.740,
+1.650,1.900,1.620,2.490,3.130,1.600,1.290,2.850,2.040,1.650,
+1.220,2.070,2.270,0.156,1.620,2.850,3.520,2.440,2.470,4.780,
+6.680,3.210,2.290,3.920,3.780,2.730,1.890,2.160,3.430,0.394,
+1.370,2.220,3.880,3.390,1.700,2.800,4.380,3.020,1.600,2.000,
+3.250,2.410,1.590,1.430,2.240,0.269,1.280,1.510,1.530,1.790,
+1.130,1.670,2.700,2.550,1.520,1.940,0.287,0.337,0.218,0.322,
+1.770,0.258,0.989,1.220,1.440,2.470,1.180,1.730,3.480,1.800,
+1.550,2.510,2.790,2.290,1.700,2.340,1.870,0.207,1.040,1.540,
+2.270,1.650,1.530,2.560,4.910,3.130,1.470,2.340,3.370,2.930,
+1.550,1.630,2.290,0.335,0.938,1.390,1.540,1.980,0.898,1.470,
+4.190,3.320,1.250,1.600,2.970,2.500,1.430,1.300,2.140,0.392,
+1.210,1.580,1.090,1.780,0.852,1.110,1.940,2.550,1.100,1.400,
+0.229,0.376,0.203,0.198,2.010,0.374,1.250,1.380,0.995,2.160,
+1.140,1.350,1.480,1.190,0.672,1.040,1.930,1.940,0.975,1.200,
+1.590,0.195,0.998,1.140,1.180,1.250,1.060,1.590,2.090,1.230,
+0.793,1.170,2.020,1.390,1.100,1.040,1.630,0.247,0.688,1.110,
+1.140,1.180,0.808,1.370,0.197,0.196,0.091,0.129,0.208,0.226,
+0.142,0.120,0.185,0.062,0.128,0.180,0.139,0.266,0.126,0.177,
+1.230,1.270,0.847,0.817,0.151,0.177,0.143,0.129,1.110,0.203,
+0.683,0.854,0.570,1.080,0.745,0.684,0.954,0.740,0.601,0.779,
+1.460,1.350,0.925,1.050,1.250,0.166,0.790,1.100,0.963,1.060,
+0.923,1.250,2.820,1.260,0.809,1.720,1.420,0.887,0.684,0.892,
+1.480,0.150,0.542,1.080,1.630,1.200,0.861,1.970,2.270,1.690,
+0.895,1.230,1.900,1.510,0.935,0.962,1.580,0.171,0.807,1.230,
+1.190,1.490,0.877,1.420,1.350,1.280,0.919,1.150,0.169,0.147,
+0.148,0.140,1.120,0.133,0.722,1.010,0.897,1.310,0.916,1.130,
+1.660,1.080,0.955,1.490,1.230,1.110,0.896,1.100,1.630,0.180,
+0.985,1.540,1.780,1.730,1.400,2.430,4.530,3.310,1.830,2.780,
+2.820,2.800,1.630,1.520,1.660,0.268,0.884,1.280,1.520,2.070,
+1.380,1.770,3.280,3.550,1.430,1.590,2.920,2.720,1.740,1.420,
+1.620,0.309,1.080,1.320,0.919,1.500,0.881,1.190,1.530,2.590,
+1.190,1.330,0.248,0.454,0.243,0.236,1.250,0.252,1.040,0.980,
+0.749,1.570,0.932,1.190,1.590,1.060,0.761,1.090,1.890,2.100,
+1.050,1.220,1.020,0.222,0.639,0.832,1.070,1.010,0.872,1.600,
+3.310,3.510,1.120,1.530,2.880,4.040,1.580,1.290,1.520,0.353,
+0.737,0.998,0.904,1.730,1.000,1.190,2.670,3.820,1.140,1.180,
+2.690,2.170,1.760,1.300,1.780,0.508,0.980,1.280,0.780,1.840,
+0.831,0.880,1.450,3.310,1.030,1.100,0.323,0.957,0.320,0.231,
+2.040,0.829,1.170,1.390,0.854,3.370,1.120,1.240,1.180,1.180,
+0.506,0.708,2.020,2.870,1.010,1.070,1.270,0.286,0.660,0.840,
+0.829,1.550,0.697,1.110,1.490,1.340,0.606,0.874,1.940,2.200,
+1.430,1.050,1.280,0.259,0.736,0.874,0.661,1.040,0.731,0.913,
+0.146,0.311,0.101,0.127,0.238,0.493,0.287,0.146,0.249,0.159,
+0.213,0.206,0.086,0.266,0.138,0.123,1.140,1.910,1.130,0.996,
+0.250,0.465,0.320,0.199,1.530,0.376,1.130,1.190,0.562,1.630,
+1.070,0.877,0.926,0.735,0.533,0.678,1.680,2.340,1.420,1.250,
+1.390,0.231,1.000,1.170,0.812,1.110,0.934,1.150,1.210,0.847,
+0.474,0.744,0.986,0.895,0.569,0.528,0.977,0.105,0.318,0.507,
+0.682,0.657,0.451,0.807,1.350,1.660,0.755,0.896,1.460,1.910,
+0.940,0.884,2.010,0.250,0.629,0.870,0.723,1.270,0.646,0.863,
+0.918,1.490,0.790,0.862,0.123,0.238,0.121,0.113,0.975,0.183,
+0.757,0.905,0.602,1.240,1.130,1.060,0.970,0.850,0.554,0.755,
+1.020,1.320,0.672,0.834,1.510,0.384,0.783,1.050,1.120,1.740,
+1.200,1.610,1.780,1.460,0.796,1.350,1.200,1.130,0.663,0.823,
+0.911,0.129,0.442,0.761,0.827,0.961,0.497,0.933,1.810,2.090,
+0.907,1.070,1.550,1.550,1.000,0.878,1.280,0.261,0.882,1.000,
+0.682,1.360,0.655,0.860,1.270,2.140,1.020,1.140,0.188,0.311,
+0.180,0.233,1.020,0.189,0.687,0.775,0.605,1.280,0.659,0.931,
+1.020,0.764,0.535,0.865,1.160,1.230,0.674,0.888,0.909,0.133,
+0.610,0.891,0.974,0.873,0.824,1.850,0.127,0.164,0.070,0.106,
+0.172,0.295,0.115,0.103,0.137,0.048,0.081,0.093,0.075,0.157,
+0.069,0.094,0.164,0.285,0.119,0.123,0.241,0.396,0.188,0.130,
+0.181,0.101,0.163,0.161,0.072,0.231,0.096,0.097,0.106,0.285,
+0.121,0.108,0.045,0.141,0.087,0.043,0.173,0.103,0.175,0.158,
+0.076,0.288,0.124,0.125,0.102,0.107,0.059,0.096,0.220,0.387,
+0.179,0.178,0.143,0.040,0.124,0.135,0.105,0.154,0.112,0.191,
+0.847,0.781,0.396,0.520,1.040,1.110,0.777,0.583,1.240,0.217,
+0.568,0.699,0.498,0.750,0.481,0.600,0.096,0.182,0.071,0.062,
+0.121,0.217,0.139,0.072,0.137,0.075,0.113,0.121,0.066,0.182,
+0.089,0.080,0.708,1.340,0.692,0.564,0.132,0.259,0.178,0.109,
+1.020,0.263,0.567,0.804,0.421,1.140,0.732,0.619,0.526,0.484,
+0.346,0.373,0.855,1.150,0.794,0.671,0.915,0.168,0.644,0.755,
+0.472,0.755,0.568,0.664,0.896,0.631,0.347,0.749,0.769,0.564,
+0.328,0.370,1.650,0.123,0.289,0.516,0.767,0.584,0.326,0.676,
+1.160,1.220,0.575,0.632,1.150,1.280,0.748,0.646,1.040,0.174,
+0.612,0.862,0.646,1.170,0.592,0.790,0.880,1.280,0.715,0.698,
+0.165,0.227,0.123,0.104,1.040,0.174,0.681,0.865,0.613,1.310,
+0.720,0.847,0.831,0.647,0.556,0.546,0.996,1.150,0.700,0.705,
+1.180,0.162,0.907,1.110,0.923,1.300,0.901,1.320,2.080,1.350,
+0.861,1.680,0.997,0.774,0.483,0.647,0.851,0.106,0.364,0.716,
+1.200,1.000,0.574,1.330,1.150,0.903,0.463,0.795,0.819,0.611,
+0.386,0.458,0.626,0.076,0.341,0.559,0.522,0.599,0.352,0.649,
+1.090,1.070,0.531,0.935,0.100,0.106,0.061,0.123,0.627,0.075,
+0.366,0.517,0.522,0.682,0.420,0.698,1.270,0.766,0.597,1.280,
+1.020,0.824,0.530,0.877,0.772,0.080,0.549,0.763,1.260,0.902,
+0.833,2.010,1.790,1.470,0.752,1.400,1.510,1.570,0.727,0.946,
+1.170,0.170,0.543,0.909,0.878,1.210,0.534,0.965,1.540,1.810,
+0.656,1.310,1.540,1.830,0.840,0.901,1.140,0.219,0.687,1.130,
+0.670,1.260,0.572,0.878,0.956,1.420,0.563,0.818,0.112,0.223,
+0.107,0.125,0.988,0.178,0.724,0.883,0.668,1.420,0.720,0.937,
+0.825,0.697,0.438,0.751,1.220,1.520,0.730,1.060,0.891,0.113,
+0.620,0.855,0.823,0.952,0.712,1.330,1.010,0.734,0.410,0.660,
+0.980,0.847,0.566,0.634,1.090,0.266,0.700,1.240,0.677,0.870,
+0.551,0.933,0.078,0.096,0.045,0.082,0.084,0.134,0.070,0.070,
+0.100,0.040,0.108,0.311,0.066,0.131,0.066,0.118,0.667,0.946,
+0.549,0.604,0.089,0.126,0.099,0.095,0.868,0.156,0.530,0.834,
+0.477,0.958,0.680,0.736,0.597,0.524,0.374,0.510,0.933,0.932,
+0.700,0.794,0.933,0.126,0.602,0.900,0.618,0.781,0.652,0.957,
+1.890,0.871,0.501,1.010,1.020,0.771,0.407,0.595,2.890,0.187,
+0.411,0.755,1.460,0.893,0.580,1.340,0.957,0.755,0.391,0.643,
+0.926,0.820,0.497,0.631,0.915,0.091,0.476,1.140,0.663,0.808,
+0.471,1.020,1.190,1.170,0.665,0.953,0.138,0.128,0.076,0.114,
+1.120,0.118,0.670,1.000,0.852,1.280,0.898,1.180,1.410,0.916,
+0.660,1.350,1.470,1.360,0.811,1.140,1.570,0.138,0.990,1.620,
+1.890,1.650,1.460,2.700,4.090,2.660,1.690,2.790,2.830,2.610,
+1.330,1.560,1.940,0.306,1.020,1.570,2.020,2.340,1.070,1.850,
+2.990,2.750,1.310,1.660,2.970,3.020,1.570,1.410,1.840,0.329,
+1.490,1.550,1.030,1.680,1.020,1.260,1.310,1.570,0.980,1.170,
+0.163,0.236,0.158,0.205,1.000,0.188,0.800,0.789,0.697,1.240,
+0.806,0.994,1.430,0.916,0.727,1.240,1.480,1.500,0.930,1.290,
+0.960,0.140,0.680,0.918,1.080,0.969,0.944,1.530,3.310,2.610,
+1.010,1.710,3.020,3.000,1.210,1.240,1.770,0.353,1.030,1.250,
+1.090,1.740,0.658,1.110,2.760,3.190,1.140,1.820,3.370,3.460,
+1.540,1.460,2.190,0.711,2.230,2.480,0.996,2.280,0.911,1.080,
+1.090,2.000,0.842,0.894,0.217,0.446,0.252,0.184,1.460,0.412,
+1.220,1.070,0.745,1.830,1.020,0.986,0.772,0.787,0.430,0.616,
+1.350,1.810,0.758,0.938,0.987,0.179,0.698,0.855,0.743,0.953,
+0.778,1.140,1.380,1.040,0.608,0.833,1.850,1.690,1.010,0.997,
+1.590,0.273,0.708,0.901,0.762,1.040,0.636,1.080,0.127,0.207,
+0.105,0.121,0.230,0.385,0.190,0.157,0.195,0.122,0.195,0.198,
+0.096,0.279,0.125,0.147,0.687,1.120,0.869,0.675,0.137,0.219,
+0.162,0.141,1.070,0.268,0.886,0.922,0.463,1.140,0.726,0.685,
+0.565,0.577,1.030,0.689,1.030,1.270,0.798,0.963,0.983,0.199,
+0.767,0.923,0.607,0.998,0.821,1.030,1.330,0.703,0.480,0.984,
+0.861,0.674,0.379,0.519,0.941,0.104,0.361,0.565,0.853,0.747,
+0.469,1.150,1.310,1.320,0.709,0.952,1.510,1.890,0.861,0.937,
+1.080,0.190,0.751,1.070,0.632,1.220,0.596,0.944,0.612,0.819,
+0.597,0.663,0.084,0.119,0.094,0.095,0.779,0.135,0.617,0.755,
+0.505,0.936,0.606,0.728,0.920,0.791,1.720,1.170,0.693,0.885,
+0.638,0.743,0.971,0.135,0.710,0.997,1.010,1.230,1.010,1.700,
+3.270,2.290,1.260,1.830,2.270,2.650,1.290,1.190,1.130,0.198,
+0.620,0.837,0.875,1.230,0.618,0.975,2.120,2.370,1.040,1.160,
+2.360,3.450,1.700,1.340,1.250,0.348,1.030,1.130,0.583,1.300,
+0.640,0.819,0.977,1.740,1.040,0.950,0.165,0.358,0.229,0.194,
+0.809,0.216,0.880,0.741,0.495,1.100,0.724,0.816,0.826,0.642,
+0.480,0.743,1.100,1.670,0.774,0.868,0.607,0.105,0.510,0.599,
+0.760,0.682,0.597,1.000,2.140,1.730,0.600,0.796,1.370,2.210,
+0.784,0.706,0.962,0.232,0.516,0.598,0.530,1.050,0.386,0.611,
+0.931,0.875,0.424,0.524,0.447,0.869,0.409,0.451,0.740,0.437,
+0.514,0.625,0.280,0.976,0.380,0.420,0.714,1.790,0.702,0.673,
+0.197,0.903,0.347,0.211,0.903,0.383,0.697,0.816,0.414,1.610,
+0.791,0.763,0.493,0.618,0.339,0.384,0.966,2.280,0.740,0.784,
+0.669,0.178,0.554,0.702,0.477,0.853,0.477,0.654,1.020,1.040,
+0.454,0.610,1.680,2.520,1.310,1.010,1.070,0.252,0.693,0.761,
+0.512,0.947,0.616,0.770,0.114,0.314,0.114,0.123,0.321,1.210,
+0.439,0.252,0.215,0.256,0.285,0.236,0.067,0.336,0.155,0.122,
+0.818,1.660,0.926,0.790,0.239,0.595,0.362,0.216,1.080,0.342,
+0.831,0.964,0.473,1.710,1.020,0.843,0.519,0.575,0.461,0.496,
+1.360,2.510,1.530,1.240,1.090,0.225,1.050,1.030,0.597,0.962,
+0.970,1.040,0.772,0.632,0.315,0.499,0.759,0.938,0.368,0.404,
+0.712,0.093,0.295,0.367,0.460,0.529,0.298,0.531,0.900,1.480,
+0.644,0.781,1.420,3.230,1.040,1.060,0.926,0.250,0.664,0.841,
+0.428,1.240,0.602,0.689,0.564,1.220,0.644,0.633,0.100,0.279,
+0.142,0.111,0.709,0.179,0.856,0.838,0.402,1.050,0.944,0.864,
+0.584,0.620,0.422,0.537,0.680,1.340,0.582,0.717,0.738,0.125,
+0.640,0.742,0.605,0.948,1.150,1.250,1.450,1.370,0.631,1.060,
+1.270,1.370,0.621,0.996,1.170,0.149,0.443,0.620,0.659,0.890,
+0.407,0.752,1.670,2.420,0.805,1.160,2.130,2.890,1.360,1.340,
+1.480,0.400,1.360,1.340,0.644,1.640,0.648,0.857,0.830,1.760,
+0.810,0.873,0.170,0.395,0.174,0.227,0.960,0.260,0.711,0.855,
+0.501,1.340,0.595,0.742,0.641,0.661,0.347,0.690,0.988,1.700,
+0.638,0.909,0.809,0.162,0.682,0.909,0.656,0.804,0.672,1.310,
+0.117,0.163,0.061,0.092,0.235,0.459,0.182,0.157,0.256,0.067,
+0.105,0.108,0.073,0.168,0.075,0.093,0.167,0.421,0.124,0.227,
+0.441,1.290,0.465,0.278,0.261,0.315,0.360,0.281,0.081,0.349,
+0.117,0.118,0.091,0.385,0.141,0.099,0.077,0.373,0.191,0.070,
+0.202,0.209,0.279,0.241,0.075,0.359,0.172,0.117,0.063,0.130,
+0.044,0.071,0.243,0.783,0.186,0.215,0.129,0.070,0.164,0.161,
+0.071,0.141,0.098,0.138,0.883,1.060,0.443,0.530,1.300,2.070,
+1.040,0.811,1.240,0.325,0.871,0.845,0.532,1.010,0.582,0.742,
+0.114,0.355,0.112,0.091,0.226,0.752,0.333,0.164,0.237,0.215,
+0.301,0.215,0.078,0.311,0.133,0.111,0.675,1.680,0.745,0.623,
+0.173,0.445,0.247,0.157,1.140,0.384,0.659,0.907,0.462,1.550,
+0.766,0.726,0.445,0.567,0.348,0.438,1.120,2.080,1.020,1.160,
+1.220,0.297,1.070,1.110,0.513,1.010,0.770,0.934,0.748,0.610,
+0.292,0.548,0.659,0.684,0.303,0.369,0.699,0.106,0.354,0.496,
+0.475,0.580,0.299,0.645,1.200,1.870,0.707,0.751,1.760,2.900,
+1.300,1.080,1.480,0.415,1.300,1.460,0.674,1.720,0.802,0.968,
+0.969,1.630,0.768,0.707,0.124,0.312,0.154,0.121,1.190,0.313,
+1.080,1.170,0.572,1.700,0.867,0.953,0.650,0.654,0.420,0.633,
+0.755,1.280,0.648,0.763,1.100,0.186,1.140,1.210,0.789,1.300,
+0.968,1.290,1.250,0.856,0.492,1.010,0.842,0.766,0.379,0.617,
+0.648,0.084,0.311,0.558,0.664,0.646,0.323,0.855,1.050,1.010,
+0.397,0.650,0.896,1.070,0.452,0.571,0.559,0.089,0.365,0.548,
+0.406,0.584,0.270,0.514,0.719,0.839,0.430,0.733,0.071,0.103,
+0.050,0.103,0.471,0.071,0.319,0.437,0.339,0.521,0.310,0.488,
+0.666,0.498,0.331,0.870,0.604,0.685,0.334,0.693,0.508,0.058,
+0.322,0.560,0.592,0.522,0.440,1.070,1.190,1.140,0.498,0.853,
+1.370,1.850,0.830,0.917,1.230,0.198,0.620,0.815,0.664,1.080,
+0.444,0.792,1.260,1.920,0.596,1.050,1.980,3.510,1.240,1.300,
+1.180,0.324,0.919,1.150,0.646,1.430,0.612,0.811,0.624,1.440,
+0.528,0.621,0.114,0.362,0.139,0.141,0.841,0.209,0.703,0.783,
+0.500,1.310,0.660,0.703,0.465,0.556,0.337,0.533,0.985,1.860,
+0.670,1.190,0.742,0.139,0.619,0.770,0.546,0.800,0.554,0.989,
+0.855,0.721,0.371,0.505,1.100,1.290,0.750,0.723,0.988,0.193,
+0.610,0.782,0.558,0.784,0.498,0.786,0.070,0.120,0.048,0.064,
+0.112,0.333,0.132,0.094,0.097,0.061,0.109,0.122,0.055,0.146,
+0.073,0.087,0.507,0.940,0.498,0.524,0.096,0.181,0.120,0.105,
+0.938,0.242,0.816,0.946,0.468,1.140,0.708,0.751,0.437,0.482,
+0.322,0.430,0.862,1.180,0.746,0.902,1.100,0.198,0.892,1.050,
+0.578,0.934,0.747,1.000,0.970,0.620,0.334,0.661,0.659,0.693,
+0.319,0.428,0.726,0.078,0.303,0.473,0.609,0.535,0.370,0.862,
+0.851,0.814,0.364,0.563,0.936,1.460,0.595,0.686,0.714,0.106,
+0.498,0.736,0.513,0.780,0.468,0.923,0.909,0.899,0.527,0.660,
+0.106,0.119,0.070,0.100,0.804,0.123,0.702,0.831,0.561,1.010,
+0.769,0.927,0.795,0.614,0.451,0.881,0.950,1.190,0.639,0.946,
+1.200,0.139,0.882,1.310,1.180,1.300,1.200,1.820,2.170,1.610,
+1.300,1.860,1.880,1.580,1.090,1.120,1.270,0.172,0.616,0.943,
+1.420,1.360,0.793,1.310,1.710,1.670,0.833,0.976,1.520,1.190,
+0.960,0.850,0.946,0.168,0.645,0.718,0.691,1.030,0.794,1.040,
+1.100,1.340,0.710,1.090,0.133,0.146,0.110,0.166,0.761,0.115,
+0.487,0.629,0.513,0.848,0.554,0.787,1.130,0.671,0.537,0.963,
+1.100,0.974,0.699,0.935,0.670,0.078,0.431,0.612,0.854,0.625,
+0.730,1.330,2.490,2.410,1.040,1.520,2.600,2.980,1.860,1.500,
+1.430,0.270,0.627,0.777,0.946,1.410,0.752,1.040,2.350,3.340,
+1.130,1.220,2.250,2.210,1.800,1.310,2.060,0.558,1.090,1.250,
+0.875,1.970,0.831,0.914,1.260,2.290,1.040,1.230,0.236,0.452,
+0.286,0.267,1.590,0.388,1.310,1.440,0.690,1.890,1.210,1.150,
+0.884,0.800,0.455,0.749,1.470,1.830,0.995,1.190,0.914,0.139,
+0.579,0.840,0.718,0.832,0.769,1.300,1.290,0.990,0.492,0.948,
+1.890,1.560,1.150,1.150,1.680,0.358,0.550,0.739,1.140,1.410,
+0.659,1.020,0.151,0.281,0.095,0.256,0.211,0.290,0.193,0.209,
+0.276,0.116,0.131,0.149,0.160,0.457,0.155,0.176,0.858,1.160,
+0.760,0.939,0.171,0.215,0.193,0.206,1.030,0.281,0.619,0.700,
+0.524,1.330,0.737,0.776,0.662,0.497,0.364,0.636,1.190,1.360,
+0.991,1.200,0.969,0.161,0.565,0.702,0.717,0.815,0.708,1.050,
+1.240,0.718,0.413,0.843,0.811,0.578,0.470,0.584,0.799,0.110,
+0.308,0.468,0.996,0.837,0.489,1.040,1.210,1.670,0.595,1.020,
+1.110,1.130,0.851,1.060,1.200,0.260,0.556,0.757,0.789,1.400,
+0.670,0.933,0.764,1.020,0.779,0.930,0.108,0.134,0.127,0.157,
+0.917,0.151,0.694,0.874,0.672,1.240,0.902,1.030,0.949,0.692,
+0.545,0.990,0.829,0.793,0.710,0.944,1.080,0.141,0.769,1.090,
+1.370,1.440,1.290,2.090,0.137,0.161,0.181,0.116,0.147,0.231,
+0.125,0.106,0.089,0.030,0.056,0.066,0.069,0.120,0.074,0.090,
+0.197,0.302,0.169,0.140,0.302,0.390,0.321,0.191,0.180,0.111,
+0.159,0.136,0.077,0.215,0.118,0.106,0.115,0.362,0.108,0.101,
+0.039,0.082,0.054,0.035,0.100,0.051,0.112,0.100,0.047,0.141,
+0.093,0.095,0.086,0.084,0.053,0.074,0.155,0.208,0.132,0.121,
+0.092,0.024,0.074,0.083,0.085,0.084,0.107,0.142,0.163,0.307,
+0.102,0.100,0.271,0.680,0.329,0.179,0.142,0.091,0.086,0.084,
+0.062,0.181,0.159,0.082,0.317,0.689,0.219,0.165,0.562,0.904,
+0.738,0.351,0.474,0.456,0.270,0.242,0.131,0.515,0.169,0.120,
+0.140,0.482,0.181,0.141,0.117,0.618,0.249,0.089,0.287,0.277,
+0.299,0.240,0.076,0.426,0.261,0.165,0.086,0.108,0.058,0.065,
+0.204,0.447,0.221,0.160,0.129,0.052,0.106,0.100,0.068,0.128,
+0.104,0.130,0.093,0.118,0.055,0.149,0.194,0.337,0.227,0.169,
+0.218,0.125,0.112,0.092,0.074,0.223,0.083,0.081,0.035,0.107,
+0.043,0.134,0.106,0.314,0.209,0.100,0.120,0.190,0.117,0.086,
+0.024,0.132,0.052,0.034,0.110,0.248,0.181,0.181,0.079,0.213,
+0.189,0.075,0.300,0.267,0.273,0.196,0.091,0.450,0.209,0.140,
+0.073,0.073,0.059,0.085,0.194,0.389,0.293,0.201,0.188,0.091,
+0.187,0.144,0.070,0.141,0.127,0.126,0.083,0.118,0.045,0.075,
+0.076,0.102,0.062,0.065,0.080,0.020,0.038,0.044,0.066,0.093,
+0.052,0.086,0.225,0.714,0.131,0.258,0.246,0.413,0.267,0.327,
+0.286,0.130,0.131,0.148,0.112,0.369,0.129,0.140,0.073,0.180,
+0.112,0.104,0.025,0.071,0.048,0.034,0.156,0.083,0.173,0.167,
+0.072,0.227,0.169,0.139,0.078,0.090,0.055,0.079,0.094,0.150,
+0.098,0.099,0.123,0.036,0.115,0.126,0.097,0.166,0.156,0.178,
+1.370,1.260,0.677,1.070,1.390,1.970,0.836,0.918,0.985,0.170,
+0.490,0.657,0.771,0.813,0.444,0.771,1.430,1.710,0.772,0.946,
+1.930,1.860,1.900,1.160,1.340,0.322,1.190,1.050,0.597,1.270,
+0.660,0.808,0.901,1.770,1.040,1.140,0.197,0.364,0.270,0.330,
+1.120,0.276,0.860,1.000,0.490,1.330,0.726,0.857,0.710,0.576,
+0.415,0.704,0.981,1.200,0.790,1.020,0.778,0.151,0.631,0.999,
+0.702,0.741,0.714,1.340,0.137,0.234,0.076,0.109,0.325,0.973,
+0.248,0.198,0.139,0.067,0.115,0.134,0.068,0.144,0.068,0.100,
+0.172,0.320,0.124,0.113,0.367,0.600,0.546,0.250,0.248,0.206,
+0.329,0.244,0.075,0.239,0.115,0.102,0.101,0.354,0.169,0.138,
+0.069,0.264,0.187,0.079,0.239,0.212,0.330,0.272,0.072,0.309,
+0.192,0.145,0.086,0.096,0.055,0.085,0.203,0.391,0.211,0.218,
+0.126,0.051,0.143,0.163,0.071,0.110,0.098,0.148,0.876,1.020,
+0.451,0.481,1.560,2.070,1.390,0.887,1.040,0.292,0.784,0.710,
+0.480,0.892,0.604,0.664,0.114,0.282,0.099,0.090,0.223,0.494,
+0.392,0.142,0.191,0.163,0.237,0.152,0.069,0.242,0.123,0.104,
+0.867,1.650,1.040,0.823,0.223,0.444,0.437,0.216,1.080,0.311,
+0.445,0.687,0.431,1.260,0.984,0.824,0.556,0.513,0.383,0.413,
+1.200,1.810,1.370,1.060,0.988,0.229,0.858,0.880,0.472,0.788,
+0.808,0.873,0.761,0.547,0.348,0.553,0.759,0.738,0.408,0.422,
+0.549,0.096,0.347,0.451,0.492,0.535,0.342,0.641,1.150,1.510,
+0.668,0.691,1.600,2.130,1.540,0.969,1.120,0.292,1.040,0.995,
+0.684,1.410,0.851,0.930,1.010,1.850,0.984,1.010,0.181,0.393,
+0.241,0.198,1.350,0.308,1.650,1.400,0.677,1.660,1.180,1.100,
+0.665,0.594,0.397,0.590,0.940,1.280,0.799,0.831,0.992,0.177,
+1.030,1.080,0.761,1.190,0.975,1.210,1.240,0.851,0.485,0.948,
+0.833,0.839,0.459,0.627,0.632,0.102,0.279,0.519,0.704,0.684,
+0.345,1.320,0.934,0.859,0.367,0.505,0.744,0.621,0.464,0.428,
+0.469,0.075,0.410,0.402,0.342,0.512,0.321,0.488,0.716,1.070,
+0.470,0.707,0.087,0.121,0.069,0.116,0.585,0.090,0.338,0.496,
+0.480,0.729,0.456,0.694,0.753,0.536,0.386,0.659,0.683,0.642,
+0.438,0.671,0.505,0.061,0.309,0.504,0.764,0.621,0.535,1.260,
+1.600,1.750,0.728,1.220,1.990,3.290,1.280,1.250,0.999,0.229,
+0.664,0.882,0.658,1.070,0.517,0.921,1.770,2.780,0.841,1.030,
+2.180,2.560,1.690,1.330,1.380,0.357,1.100,1.360,0.643,1.400,
+0.950,0.929,1.100,2.640,0.978,1.200,0.189,0.499,0.252,0.252,
+1.390,0.363,1.230,1.500,0.743,2.040,1.100,1.330,0.823,0.859,
+0.604,0.764,1.410,1.940,1.170,1.530,0.997,0.155,0.789,1.080,
+0.714,0.973,0.766,1.360,1.170,1.660,0.504,0.660,1.670,1.660,
+1.140,0.989,1.330,0.411,0.712,1.120,0.644,1.170,0.606,0.921,
+0.102,0.181,0.058,0.092,0.169,0.298,0.220,0.134,0.128,0.078,
+0.138,0.164,0.065,0.181,0.088,0.104,0.874,1.560,0.842,0.903,
+0.172,0.317,0.231,0.210,1.270,0.336,0.897,1.100,0.578,1.490,
+1.060,1.020,0.661,0.640,0.469,0.574,1.380,1.620,1.450,1.420,
+1.060,0.189,0.898,1.110,0.656,0.905,0.941,1.220,1.140,0.732,
+0.430,0.733,0.836,0.726,0.488,0.535,0.746,0.116,0.358,0.572,
+0.711,0.713,0.465,1.030,0.961,1.040,0.440,0.630,1.040,1.150,
+0.848,0.786,0.825,0.122,0.606,0.859,0.594,0.869,0.594,0.872,
+1.030,1.510,0.868,1.140,0.124,0.197,0.123,0.158,1.310,0.213,
+1.280,1.590,0.842,1.550,1.270,1.410,1.090,0.796,0.592,1.100,
+1.260,1.430,1.040,1.290,1.240,0.138,1.120,1.600,1.350,1.340,
+1.360,1.800,1.840,1.210,0.949,1.890,1.270,0.932,0.605,0.856,
+1.080,0.119,0.399,0.739,1.560,1.230,0.597,1.290,1.330,0.963,
+0.520,0.747,0.951,0.717,0.469,0.514,0.719,0.093,0.382,0.468,
+0.713,0.854,0.451,0.731,0.848,0.862,0.512,0.865,0.087,0.093,
+0.060,0.117,0.607,0.068,0.294,0.462,0.585,0.772,0.452,0.809,
+1.170,0.633,0.515,1.020,0.911,0.717,0.507,0.795,0.641,0.062,
+0.348,0.547,1.020,0.683,0.698,1.640,1.690,1.140,0.558,1.080,
+1.270,1.050,0.600,0.712,0.758,0.104,0.300,0.516,0.829,0.808,
+0.394,0.755,1.160,1.150,0.418,0.623,0.899,0.876,0.469,0.528,
+0.757,0.123,0.343,0.527,0.664,0.787,0.352,0.546,0.646,0.810,
+0.439,0.666,0.072,0.112,0.071,0.092,0.609,0.084,0.346,0.461,
+0.486,0.824,0.503,0.639,0.617,0.476,0.276,0.576,0.680,0.690,
+0.360,0.571,0.497,0.051,0.261,0.431,0.563,0.525,0.508,0.959,
+1.090,0.598,0.369,0.722,0.932,0.697,0.522,0.681,0.829,0.129,
+0.259,0.439,0.792,0.784,0.373,0.795,0.076,0.081,0.037,0.087,
+0.072,0.086,0.052,0.066,0.077,0.024,0.037,0.052,0.094,0.154,
+0.052,0.091,0.555,0.686,0.414,0.550,0.064,0.083,0.055,0.073,
+0.544,0.095,0.263,0.366,0.398,0.663,0.387,0.484,0.475,0.394,
+0.296,0.598,0.629,0.717,0.411,0.610,0.601,0.081,0.279,0.450,
+0.559,0.559,0.450,0.838,1.280,0.561,0.391,0.922,0.696,0.437,
+0.353,0.499,0.774,0.082,0.261,0.433,1.360,0.796,0.457,1.090,
+0.852,0.704,0.359,0.637,0.630,0.571,0.381,0.501,0.643,0.083,
+0.311,0.471,0.745,0.931,0.480,0.802,0.592,0.710,0.480,0.677,
+0.066,0.061,0.050,0.069,0.587,0.064,0.323,0.489,0.574,0.768,
+0.532,0.771,0.965,0.633,0.517,1.050,0.685,0.590,0.466,0.691,
+0.818,0.078,0.498,0.837,1.330,1.180,1.110,2.160,1.820,1.380,
+1.140,1.470,1.360,1.320,0.792,0.927,0.886,0.139,0.431,0.670,
+0.897,1.120,0.548,1.050,1.670,1.610,0.834,0.991,1.700,1.710,
+1.070,0.989,1.080,0.231,0.858,0.858,0.646,1.250,0.631,0.821,
+1.000,1.680,0.757,1.070,0.145,0.235,0.136,0.182,0.786,0.146,
+0.578,0.816,0.574,1.020,0.705,1.010,0.961,0.703,0.491,0.873,
+1.250,1.450,0.773,0.969,0.687,0.091,0.487,0.667,0.854,0.693,
+0.757,1.340,1.630,1.720,0.624,0.957,1.640,2.200,1.020,0.976,
+0.877,0.202,0.398,0.554,0.644,1.090,0.574,0.767,1.920,2.830,
+0.837,0.998,2.190,2.590,1.410,1.350,1.490,0.500,0.810,0.986,
+0.747,1.840,0.644,0.785,0.928,1.940,1.030,1.160,0.185,0.516,
+0.316,0.248,1.130,0.307,0.812,0.996,0.609,1.600,1.240,1.180,
+0.781,0.847,0.466,0.744,1.280,2.120,1.010,1.090,0.808,0.129,
+0.525,0.818,0.706,0.902,0.679,1.170,0.863,0.699,0.327,0.677,
+1.050,1.210,0.814,0.814,0.989,0.250,0.432,0.487,0.566,0.950,
+0.415,0.703,0.085,0.150,0.061,0.187,0.138,0.295,0.155,0.152,
+0.167,0.109,0.101,0.105,0.077,0.283,0.082,0.103,0.760,1.150,
+0.698,0.837,0.124,0.226,0.154,0.149,1.070,0.291,0.603,0.763,
+0.485,1.300,0.718,0.765,0.634,0.543,0.395,0.666,1.100,1.650,
+0.944,1.020,1.060,0.142,0.615,0.799,0.629,0.759,0.678,1.030,
+0.759,0.564,0.320,0.575,0.559,0.522,0.336,0.415,0.665,0.086,
+0.265,0.358,0.670,0.624,0.345,0.698,1.000,1.520,0.550,0.914,
+1.060,1.380,0.832,1.010,1.060,0.248,0.530,0.726,0.773,1.880,
+0.643,0.920,0.630,1.040,0.626,0.796,0.089,0.144,0.091,0.096,
+0.772,0.141,0.617,0.848,0.506,1.160,0.749,0.890,0.745,0.606,
+0.431,0.688,0.768,0.964,0.553,0.663,0.878,0.114,0.603,0.884,
+0.911,1.150,0.938,1.530,1.080,0.988,0.507,0.996,0.895,0.998,
+0.437,0.664,0.653,0.084,0.296,0.499,0.597,0.611,0.303,0.657,
+1.220,1.320,0.528,0.761,1.480,1.260,0.810,0.720,0.949,0.175,
+0.657,0.732,0.538,0.977,0.487,0.715,0.804,1.250,0.943,1.020,
+0.135,0.192,0.132,0.195,0.790,0.146,0.581,0.769,0.480,1.080,
+0.606,0.832,0.713,0.571,0.388,0.778,0.875,0.913,0.527,0.767,
+0.710,0.106,0.471,0.781,0.743,0.718,0.671,1.370,0.070,0.098,
+0.041,0.072,0.108,0.260,0.057,0.074,0.061,0.018,0.040,0.051,
+0.045,0.084,0.038,0.064,0.085,0.141,0.047,0.059,0.176,0.338,
+0.118,0.102,0.100,0.058,0.105,0.096,0.049,0.122,0.065,0.063,
+0.056,0.148,0.070,0.067,0.023,0.067,0.039,0.022,0.097,0.049,
+0.093,0.097,0.048,0.145,0.080,0.092,0.056,0.067,0.035,0.065,
+0.110,0.190,0.086,0.100,0.072,0.022,0.067,0.090,0.061,0.080,
+0.066,0.115,0.648,0.640,0.305,0.396,0.805,1.020,0.628,0.567,
+0.676,0.154,0.392,0.451,0.383,0.652,0.398,0.566,0.064,0.117,
+0.043,0.045,0.098,0.171,0.097,0.061,0.092,0.054,0.083,0.071,
+0.049,0.150,0.064,0.068,0.640,1.250,0.656,0.620,0.125,0.236,
+0.156,0.108,0.985,0.233,0.441,0.649,0.417,1.200,0.699,0.659,
+0.486,0.499,0.320,0.416,0.867,1.210,0.762,0.701,0.854,0.143,
+0.623,0.723,0.502,0.733,0.660,0.789,0.661,0.460,0.294,0.530,
+0.594,0.528,0.321,0.394,0.509,0.071,0.278,0.382,0.487,0.509,
+0.311,0.586,0.897,1.000,0.463,0.579,1.000,1.140,0.689,0.588,
+0.853,0.162,0.577,0.680,0.597,1.130,0.618,0.777,1.060,1.200,
+1.040,0.818,0.340,0.198,0.221,0.119,1.070,0.168,0.817,0.992,
+0.683,1.290,0.885,0.958,0.690,0.574,0.485,0.631,1.000,0.931,
+0.865,0.699,0.961,0.122,0.785,0.976,0.851,1.110,0.951,1.260,
+1.680,0.844,0.573,1.290,0.924,0.669,0.396,0.802,0.670,0.077,
+0.260,0.557,0.872,0.724,0.377,1.070,0.911,0.697,0.321,0.523,
+0.738,0.626,0.352,0.471,0.512,0.065,0.277,0.424,0.420,0.518,
+0.261,0.551,0.723,0.950,0.433,0.784,0.067,0.084,0.044,0.099,
+0.628,0.071,0.290,0.517,0.508,0.639,0.356,0.704,0.889,0.580,
+0.407,0.916,0.663,0.567,0.391,0.712,0.626,0.058,0.340,0.719,
+0.924,0.680,0.603,1.700,1.180,0.869,0.487,0.907,0.942,1.080,
+0.437,0.633,0.587,0.081,0.288,0.509,0.530,0.641,0.307,0.751,
+1.030,1.070,0.381,0.599,0.967,1.450,0.497,0.641,0.741,0.121,
+0.450,0.653,0.505,0.782,0.395,0.869,0.734,1.440,0.473,0.648,
+0.067,0.181,0.056,0.080,0.829,0.129,0.404,0.692,0.538,0.936,
+0.475,0.823,0.647,0.603,0.398,0.666,0.759,0.901,0.471,0.770,
+0.706,0.072,0.395,0.738,0.706,0.780,0.551,1.360,1.040,1.200,
+0.501,0.669,0.963,0.873,0.573,0.739,0.858,0.189,0.414,0.643,
+0.619,0.787,0.604,0.934,0.078,0.128,0.036,0.063,0.071,0.114,
+0.062,0.070,0.064,0.028,0.052,0.070,0.059,0.123,0.056,0.096,
+0.748,1.060,0.548,0.775,0.084,0.125,0.082,0.102,0.944,0.155,
+0.546,0.787,0.570,1.040,0.749,0.911,0.705,0.663,0.414,0.649,
+0.990,1.070,0.791,1.000,1.140,0.120,0.732,1.020,0.798,0.890,
+0.808,1.260,1.480,0.785,0.553,1.100,0.841,0.659,0.444,0.617,
+0.872,0.091,0.378,0.686,1.050,0.845,0.613,1.540,1.190,0.992,
+0.469,0.790,1.120,1.260,0.711,0.872,0.927,0.105,0.564,0.962,
+0.822,1.040,0.652,1.380,1.130,1.280,1.180,1.220,0.112,0.124,
+0.162,0.129,1.270,0.133,0.911,1.410,1.060,1.520,1.250,1.660,
+1.730,1.040,0.850,1.790,1.430,1.310,1.070,1.570,1.610,0.131,
+1.180,2.140,1.880,1.550,1.420,2.300,2.630,1.820,1.590,2.790,
+2.140,1.360,1.280,1.380,1.980,0.226,1.180,1.670,2.470,2.060,
+1.210,2.010,2.330,1.580,1.240,1.480,1.710,1.250,1.240,1.000,
+1.590,0.170,1.110,1.200,1.110,1.240,0.954,1.190,1.650,1.280,
+1.130,1.460,0.161,0.148,0.138,0.208,1.120,0.115,0.636,0.821,
+1.070,1.120,0.873,1.100,2.150,1.010,1.090,2.210,1.720,1.280,
+1.170,1.590,1.380,0.120,0.784,1.080,1.730,1.040,1.100,1.800,
+2.210,1.440,0.912,1.300,1.830,1.220,0.855,0.897,1.100,0.157,
+1.020,1.220,0.893,1.070,0.662,0.979,1.630,1.290,0.776,0.941,
+1.110,0.861,0.743,0.659,1.140,0.169,0.831,0.997,0.662,0.892,
+0.593,0.755,1.020,1.060,0.696,0.818,0.117,0.135,0.119,0.118,
+0.921,0.125,0.593,0.706,0.543,0.918,0.708,0.657,0.892,0.606,
+0.481,0.773,1.030,0.896,0.692,0.844,1.020,0.094,0.657,0.818,
+0.916,0.728,0.715,1.100,1.650,0.858,0.808,0.915,1.730,0.881,
+0.841,0.816,1.110,0.158,0.554,0.771,0.983,0.985,0.700,1.110,
+0.137,0.125,0.076,0.095,0.130,0.118,0.100,0.088,0.111,0.032,
+0.088,0.110,0.112,0.206,0.120,0.140,0.785,0.708,0.719,0.660,
+0.090,0.083,0.109,0.094,0.677,0.095,0.530,0.591,0.506,0.706,
+1.260,0.689,0.653,0.447,0.444,0.624,0.882,0.764,0.678,0.780,
+0.743,0.094,0.578,0.769,0.664,0.735,0.824,1.050,2.130,0.816,
+0.697,1.260,0.971,0.558,0.567,0.630,0.873,0.090,0.481,0.689,
+1.100,0.856,0.636,1.400,1.540,1.050,0.737,0.938,1.020,0.823,
+0.790,0.744,0.987,0.105,0.681,0.860,0.835,1.050,0.684,1.020,
+0.819,0.781,0.608,0.789,0.077,0.070,0.072,0.089,0.646,0.069,
+0.620,0.796,0.576,0.745,0.716,0.770,1.190,0.695,0.662,1.170,
+0.694,0.539,0.601,0.795,0.984,0.087,0.811,1.210,1.270,1.140,
+1.100,1.890,2.870,2.100,1.480,2.200,2.120,1.920,1.460,1.390,
+1.290,0.191,0.824,1.210,1.350,1.430,0.958,1.590,2.470,2.250,
+1.420,1.590,2.000,1.930,1.760,1.440,1.610,0.282,1.530,1.670,
+0.907,1.380,0.982,1.240,1.110,1.480,1.130,1.170,0.158,0.237,
+0.198,0.198,0.738,0.111,0.718,0.780,0.505,0.896,0.698,0.897,
+1.170,0.702,0.694,1.120,1.430,1.370,1.010,1.190,0.887,0.107,
+0.629,0.817,0.844,0.745,0.933,1.460,2.190,2.220,1.030,1.260,
+2.540,2.530,1.420,1.160,1.180,0.234,0.786,0.973,0.811,1.190,
+0.633,0.969,1.770,2.170,1.150,1.090,1.530,1.140,1.360,1.090,
+1.550,0.373,1.390,1.510,0.668,1.320,0.845,0.899,1.150,2.230,
+1.190,1.140,0.210,0.483,0.333,0.242,1.080,0.271,0.930,1.000,
+0.543,1.670,0.925,0.973,0.835,0.811,0.544,0.729,1.300,1.770,
+1.200,1.130,0.865,0.136,0.700,0.864,0.606,0.815,0.673,1.110,
+1.500,1.250,0.905,1.020,1.720,1.910,2.010,1.240,1.280,0.251,
+0.901,1.080,0.777,1.170,1.010,1.340,0.139,0.279,0.140,0.137,
+0.191,0.384,0.369,0.176,0.195,0.124,0.270,0.217,0.101,0.325,
+0.200,0.183,1.130,1.740,1.370,1.270,0.189,0.357,0.363,0.220,
+1.280,0.306,1.320,1.280,0.631,1.760,1.850,1.310,0.742,0.638,
+0.617,0.756,1.320,1.850,1.600,1.360,1.120,0.185,1.210,1.300,
+0.658,0.925,1.230,1.360,1.180,0.806,0.581,0.864,0.808,0.692,
+0.620,0.637,0.633,0.076,0.399,0.571,0.677,0.660,0.529,1.030,
+1.420,1.910,0.950,1.050,1.180,1.540,1.480,1.260,1.030,0.171,
+0.911,1.070,0.728,1.380,0.828,1.210,0.748,1.040,0.805,0.908,
+0.083,0.145,0.104,0.108,0.653,0.101,0.651,0.777,0.532,0.937,
+0.822,0.895,0.876,0.645,0.598,0.829,0.752,0.832,0.646,0.844,
+0.849,0.104,0.772,1.120,0.964,1.200,1.260,1.720,1.600,1.230,
+0.792,1.160,0.936,0.842,0.669,0.673,0.804,0.113,0.456,0.648,
+0.820,0.900,0.556,0.919,1.730,1.870,0.941,1.060,1.320,1.340,
+1.120,0.895,1.490,0.242,1.140,1.170,0.841,1.550,0.700,0.930,
+1.050,1.630,1.970,1.350,0.153,0.254,0.332,0.307,0.784,0.131,
+0.604,0.742,0.483,0.993,0.674,0.793,0.991,0.844,0.781,1.140,
+0.941,1.090,1.130,1.280,0.876,0.108,0.661,0.901,0.884,0.831,
+0.899,1.600,0.130,0.149,0.087,0.100,0.211,0.199,0.157,0.099,
+0.095,0.027,0.082,0.092,0.077,0.147,0.119,0.106,0.153,0.239,
+0.113,0.107,0.197,0.263,0.188,0.119,0.175,0.074,0.200,0.169,
+0.094,0.265,0.103,0.106,0.107,0.239,0.299,0.162,0.031,0.081,
+0.126,0.054,0.152,0.055,0.153,0.155,0.072,0.218,0.135,0.112,
+0.135,0.133,0.123,0.154,0.229,0.361,0.370,0.343,0.140,0.036,
+0.153,0.182,0.124,0.191,0.170,0.217,0.923,0.825,0.586,0.546,
+0.787,1.050,0.865,0.580,0.833,0.220,0.770,0.833,0.493,0.886,
+0.689,0.865,0.104,0.192,0.092,0.078,0.100,0.202,0.164,0.081,
+0.146,0.084,0.181,0.127,0.083,0.261,0.130,0.117,0.688,1.340,
+0.899,0.674,0.115,0.359,0.242,0.133,0.823,0.181,0.620,0.628,
+0.349,0.867,0.714,0.554,0.536,0.539,0.581,0.533,0.747,1.360,
+1.170,1.110,0.720,0.153,0.790,0.777,0.441,0.754,0.749,0.795,
+0.894,0.535,0.378,0.574,0.540,0.471,0.324,0.333,0.572,0.071,
+0.309,0.442,0.522,0.576,0.360,0.831,1.180,1.180,0.682,0.775,
+0.986,1.300,0.849,0.677,1.080,0.174,0.874,0.994,0.747,1.440,
+0.732,1.030,0.781,0.977,0.737,0.658,0.099,0.161,0.118,0.096,
+1.540,0.136,0.638,0.706,0.577,0.954,0.622,0.699,0.880,0.708,
+0.666,0.674,0.768,0.877,0.646,0.721,0.940,0.153,0.813,0.963,
+0.988,1.810,0.942,1.310,1.820,0.982,0.765,1.330,0.811,0.574,
+0.587,0.574,0.751,0.081,0.387,0.631,1.060,0.826,0.536,1.200,
+1.040,0.712,0.448,0.649,0.649,0.466,0.422,0.456,0.752,0.079,
+0.433,0.611,0.722,0.670,0.375,0.668,0.853,0.709,0.684,0.976,
+0.082,0.084,0.082,0.132,0.502,0.050,0.305,0.498,0.449,0.533,
+0.394,0.680,1.230,0.698,0.749,1.610,0.902,0.760,0.704,1.120,
+0.759,0.068,0.476,0.783,1.090,0.764,0.857,1.950,1.440,1.010,
+0.751,1.010,1.200,0.943,1.470,0.784,0.785,0.105,0.525,0.766,
+0.678,0.828,0.584,0.929,1.140,1.100,0.552,0.772,0.978,0.978,
+0.746,0.646,0.999,0.167,0.754,0.981,0.730,1.220,0.497,0.746,
+0.850,0.987,1.010,1.110,0.095,0.134,0.245,0.177,0.791,0.100,
+0.547,0.805,0.565,0.903,0.636,0.846,0.976,0.653,0.611,1.080,
+1.100,1.100,1.140,1.520,0.838,0.086,0.599,0.918,0.815,0.814,
+0.848,1.420,1.080,0.665,0.550,0.689,1.000,0.828,0.795,0.794,
+0.996,0.166,0.712,0.911,0.717,0.816,0.757,1.130,0.093,0.099,
+0.063,0.092,0.084,0.114,0.101,0.081,0.104,0.031,0.119,0.133,
+0.091,0.168,0.099,0.129,0.780,0.936,0.675,0.815,0.091,0.118,
+0.113,0.131,0.911,0.141,0.659,0.876,0.551,0.972,0.854,0.959,
+0.697,0.595,0.579,0.848,0.981,1.000,0.978,1.230,1.080,0.123,
+0.862,1.210,0.787,0.841,0.986,1.400,1.560,0.761,0.605,1.070,
+0.817,0.625,0.519,0.625,0.863,0.086,0.468,0.738,1.010,0.801,
+0.706,1.640,1.020,0.741,0.492,0.730,0.698,0.622,0.550,0.596,
+0.841,0.085,0.634,0.981,0.782,0.950,0.620,1.130,1.110,1.070,
+0.799,1.210,0.118,0.109,0.088,0.137,1.190,0.102,0.808,1.170,
+0.924,1.160,0.981,1.380,1.770,1.070,1.000,1.940,1.460,1.270,
+1.070,1.500,1.730,0.137,1.510,2.340,2.420,1.910,1.980,3.050,
+0.147,0.124,0.108,0.135,0.166,0.136,0.108,0.101,0.110,0.024,
+0.175,0.200,0.105,0.116,0.084,0.103,0.147,0.150,0.105,0.103,
+0.159,0.167,0.149,0.108,0.108,0.036,0.124,0.114,0.071,0.116,
+0.090,0.097,0.079,0.095,0.083,0.085,0.017,0.024,0.025,0.021,
+0.063,0.018,0.069,0.061,0.048,0.074,0.069,0.068,0.090,0.062,
+0.056,0.101,0.114,0.105,0.089,0.105,0.091,0.016,0.068,0.078,
+0.078,0.070,0.078,0.116,0.188,0.191,0.119,0.123,0.254,0.235,
+0.172,0.123,0.146,0.049,0.280,0.405,0.071,0.139,0.124,0.126,
+0.198,0.287,0.152,0.133,0.222,0.275,0.229,0.152,0.219,0.114,
+0.249,0.264,0.081,0.203,0.119,0.116,0.096,0.192,0.113,0.093,
+0.053,0.097,0.089,0.032,0.197,0.087,0.143,0.121,0.064,0.184,
+0.117,0.083,0.066,0.072,0.051,0.060,0.149,0.175,0.123,0.121,
+0.103,0.027,0.112,0.111,0.066,0.086,0.091,0.107,0.128,0.102,
+0.059,0.061,0.442,0.158,0.137,0.116,0.126,0.031,0.085,0.091,
+0.062,0.087,0.073,0.091,0.018,0.036,0.023,0.014,0.042,0.058,
+0.058,0.026,0.027,0.030,0.042,0.034,0.012,0.042,0.026,0.019,
+0.067,0.100,0.092,0.067,0.022,0.036,0.045,0.022,0.087,0.041,
+0.122,0.097,0.040,0.108,0.116,0.083,0.045,0.041,0.051,0.050,
+0.097,0.113,0.113,0.102,0.084,0.028,0.102,0.097,0.051,0.089,
+0.094,0.103,0.122,0.070,0.053,0.082,0.105,0.058,0.050,0.070,
+0.073,0.013,0.054,0.067,0.069,0.071,0.056,0.112,0.134,0.138,
+0.095,0.108,0.146,0.174,0.136,0.119,0.106,0.031,0.113,0.135,
+0.066,0.135,0.092,0.126,0.065,0.087,0.080,0.092,0.014,0.020,
+0.022,0.017,0.081,0.025,0.078,0.140,0.044,0.099,0.113,0.103,
+0.080,0.061,0.080,0.099,0.064,0.075,0.074,0.089,0.088,0.016,
+0.107,0.205,0.091,0.115,0.124,0.182,0.155,0.160,0.107,0.116,
+0.188,0.255,0.165,0.127,0.099,0.030,0.084,0.093,0.069,0.105,
+0.073,0.090,0.188,0.246,0.153,0.126,0.262,0.356,0.343,0.239,
+0.158,0.105,0.237,0.223,0.060,0.145,0.128,0.114,0.075,0.150,
+0.114,0.080,0.028,0.071,0.070,0.031,0.071,0.036,0.113,0.082,
+0.036,0.092,0.081,0.073,0.063,0.049,0.044,0.064,0.110,0.161,
+0.110,0.097,0.198,0.027,0.083,0.087,0.057,0.061,0.074,0.092,
+0.205,0.316,0.147,0.116,0.337,0.626,0.315,0.161,0.162,0.080,
+0.158,0.146,0.067,0.157,0.094,0.093,0.291,0.596,0.274,0.175,
+0.345,0.448,0.460,0.295,0.321,0.340,0.448,0.382,0.087,0.338,
+0.195,0.156,0.125,0.478,0.215,0.128,0.084,0.390,0.237,0.072,
+0.175,0.155,0.219,0.169,0.054,0.276,0.189,0.122,0.077,0.124,
+0.070,0.065,0.186,0.468,0.217,0.155,0.115,0.048,0.148,0.140,
+0.055,0.114,0.100,0.114,0.119,0.134,0.080,0.074,0.239,0.357,
+0.335,0.142,0.155,0.061,0.143,0.134,0.055,0.126,0.110,0.119,
+0.035,0.108,0.064,0.032,0.107,0.328,0.483,0.086,0.085,0.172,
+0.171,0.113,0.016,0.089,0.067,0.039,0.126,0.284,0.218,0.133,
+0.079,0.225,0.243,0.070,0.190,0.149,0.298,0.195,0.053,0.234,
+0.255,0.136,0.060,0.061,0.069,0.059,0.178,0.338,0.356,0.188,
+0.188,0.068,0.255,0.185,0.064,0.113,0.175,0.144,0.087,0.076,
+0.057,0.073,0.084,0.097,0.076,0.061,0.069,0.014,0.052,0.056,
+0.054,0.061,0.050,0.089,0.130,0.229,0.125,0.116,0.183,0.356,
+0.314,0.185,0.150,0.073,0.167,0.172,0.059,0.178,0.113,0.140,
+0.069,0.138,0.106,0.085,0.017,0.049,0.041,0.022,0.087,0.033,
+0.126,0.105,0.043,0.104,0.110,0.089,0.063,0.054,0.060,0.060,
+0.071,0.113,0.097,0.086,0.084,0.020,0.108,0.122,0.067,0.108,
+0.146,0.169,0.091,0.099,0.069,0.070,0.087,0.104,0.092,0.070,
+0.063,0.018,0.051,0.054,0.049,0.084,0.074,0.055,0.133,0.218,
+0.107,0.093,0.193,0.268,0.245,0.151,0.166,0.105,0.243,0.170,
+0.070,0.240,0.097,0.089,0.076,0.175,0.253,0.108,0.027,0.075,
+0.125,0.052,0.101,0.053,0.116,0.109,0.037,0.127,0.088,0.068,
+0.049,0.052,0.058,0.067,0.089,0.124,0.215,0.133,0.080,0.022,
+0.089,0.092,0.055,0.075,0.082,0.107,0.015,0.033,0.023,0.013,
+0.042,0.085,0.089,0.033,0.020,0.021,0.036,0.025,8.96e-3,0.032,
+0.064,0.016,0.034,0.123,0.052,0.025,0.100,0.253,0.188,0.068,
+0.063,0.165,0.173,0.093,0.019,0.106,0.045,0.027,0.024,0.110,
+0.130,0.037,0.036,0.157,0.230,0.060,0.057,0.102,0.146,0.078,
+0.016,0.091,0.090,0.032,0.010,0.019,0.020,0.012,0.038,0.088,
+0.126,0.075,0.025,0.024,0.064,0.042,0.011,0.026,0.032,0.026,
+0.077,0.120,0.071,0.055,0.111,0.248,0.208,0.099,0.120,0.066,
+0.204,0.235,0.045,0.129,0.135,0.133,0.023,0.092,0.042,0.018,
+0.058,0.194,0.157,0.050,0.067,0.138,0.189,0.090,0.016,0.074,
+0.054,0.033,0.092,0.457,0.248,0.105,0.061,0.448,0.250,0.059,
+0.167,0.158,0.265,0.177,0.047,0.221,0.199,0.103,0.047,0.072,
+0.074,0.081,0.127,0.482,0.327,0.327,0.130,0.074,0.234,0.185,
+0.050,0.112,0.149,0.120,0.073,0.073,0.048,0.059,0.062,0.073,
+0.049,0.044,0.064,0.018,0.057,0.062,0.049,0.069,0.052,0.080,
+0.119,0.207,0.112,0.100,0.179,0.348,0.243,0.147,0.179,0.113,
+0.238,0.220,0.074,0.224,0.142,0.125,0.086,0.193,0.143,0.093,
+0.026,0.090,0.080,0.029,0.187,0.079,0.194,0.172,0.058,0.183,
+0.145,0.109,0.061,0.066,0.061,0.065,0.086,0.134,0.108,0.106,
+0.104,0.034,0.163,0.140,0.083,0.181,0.127,0.138,0.114,0.081,
+0.068,0.092,0.098,0.073,0.118,0.096,0.078,0.011,0.043,0.073,
+0.076,0.071,0.050,0.095,0.094,0.086,0.057,0.063,0.092,0.084,
+0.072,0.071,0.073,0.017,0.068,0.081,0.066,0.082,0.046,0.067,
+0.063,0.075,0.077,0.082,0.010,0.014,0.017,0.018,0.050,9.46e-3,
+0.044,0.057,0.034,0.056,0.047,0.067,0.083,0.056,0.061,0.118,
+0.080,0.076,0.079,0.138,0.082,0.010,0.054,0.095,0.086,0.068,
+0.084,0.182,0.161,0.160,0.192,0.124,0.214,0.214,0.844,0.192,
+0.122,0.032,0.136,0.134,0.076,0.146,0.136,0.118,0.177,0.269,
+0.139,0.137,0.233,0.334,0.273,0.184,0.199,0.083,0.253,0.252,
+0.107,0.351,0.135,0.132,0.102,0.219,0.250,0.174,0.028,0.075,
+0.130,0.071,0.136,0.043,0.147,0.162,0.065,0.195,0.140,0.127,
+0.103,0.095,0.100,0.133,0.180,0.247,0.325,0.425,0.121,0.028,
+0.150,0.172,0.090,0.130,0.142,0.196,0.086,0.075,0.060,0.060,
+0.117,0.146,0.164,0.104,0.108,0.034,0.112,0.127,0.057,0.098,
+0.098,0.109,0.014,0.024,0.015,0.014,0.026,0.060,0.048,0.026,
+0.023,0.025,0.045,0.040,0.011,0.033,0.025,0.020,0.075,0.168,
+0.132,0.100,0.026,0.064,0.070,0.036,0.147,0.070,0.178,0.157,
+0.062,0.189,0.182,0.135,0.064,0.065,0.070,0.080,0.121,0.182,
+0.188,0.195,0.146,0.038,0.186,0.189,0.077,0.114,0.153,0.159,
+0.107,0.080,0.059,0.086,0.081,0.078,0.077,0.077,0.075,0.012,
+0.053,0.074,0.067,0.070,0.068,0.123,0.099,0.095,0.064,0.077,
+0.099,0.125,0.110,0.096,0.084,0.021,0.097,0.124,0.068,0.108,
+0.078,0.119,0.105,0.132,0.101,0.118,0.020,0.025,0.025,0.022,
+0.127,0.027,0.127,0.159,0.078,0.152,0.141,0.145,0.114,0.088,
+0.087,0.137,0.135,0.142,0.127,0.161,0.149,0.022,0.182,0.222,
+0.162,0.181,0.204,0.236,1.830,1.240,0.973,1.510,1.310,1.040,
+0.995,0.989,1.030,0.130,0.841,0.911,1.190,1.170,0.746,1.190,
+1.560,1.220,0.829,1.160,1.440,1.080,1.310,1.120,1.110,0.180,
+0.841,0.857,0.723,1.040,0.686,0.897,0.900,0.937,0.729,1.060,
+0.109,0.112,0.120,0.168,0.661,0.086,0.542,0.635,0.476,0.745,
+0.596,0.736,0.939,0.529,0.431,0.941,0.848,0.712,0.577,0.759,
+0.698,0.071,0.433,0.614,0.755,0.469,0.608,1.140,1.730,1.310,
+0.764,1.070,1.510,1.420,1.100,0.999,1.120,0.197,0.687,0.888,
+0.777,1.060,0.574,0.871,1.740,1.940,0.963,1.120,1.550,1.220,
+1.370,1.050,2.350,0.624,1.520,1.880,0.861,1.690,0.727,0.858,
+0.995,1.500,0.977,1.070,0.177,0.243,0.237,0.218,1.260,0.255,
+1.130,1.330,0.564,1.290,0.977,0.899,0.712,0.600,0.410,0.640,
+1.060,1.120,0.861,1.020,0.839,0.116,0.644,0.889,0.653,0.669,
+0.665,1.100,1.300,0.840,0.562,0.769,1.600,1.370,1.340,1.200,
+1.360,0.236,0.775,0.970,0.881,1.230,0.795,1.230,0.159,0.204,
+0.121,0.154,0.233,0.272,0.311,0.224,0.219,0.084,0.237,0.237,
+0.161,0.457,0.185,0.247,0.923,1.130,2.180,1.880,0.185,0.186,
+1.310,0.762,1.040,0.206,0.902,0.922,0.534,1.150,1.060,0.951,
+0.635,0.488,0.552,0.677,1.210,1.110,2.690,1.930,0.853,0.143,
+0.781,0.943,0.705,0.796,0.883,1.120,1.310,0.543,0.449,0.769,
+0.662,0.499,0.469,0.516,0.598,0.080,0.360,0.525,0.745,0.774,
+0.468,0.998,1.100,0.988,0.616,0.903,1.010,0.995,0.912,0.835,
+0.893,0.147,0.765,1.010,0.737,1.360,0.677,1.220,0.747,0.904,
+0.812,0.928,0.109,0.119,0.170,0.175,0.795,0.114,0.730,0.979,
+0.633,1.130,0.907,1.240,0.909,0.578,0.521,1.050,0.718,0.646,
+0.867,0.960,0.934,0.108,0.766,1.330,1.170,1.210,1.180,2.040,
+0.127,0.127,0.083,0.111,0.133,0.146,0.152,0.125,0.085,0.024,
+0.058,0.076,0.076,0.107,0.068,0.105,0.191,0.239,0.182,0.289,
+0.289,0.309,0.591,0.342,0.198,0.108,0.205,0.180,0.089,0.217,
+0.132,0.125,0.073,0.137,0.093,0.097,0.025,0.045,0.048,0.035,
+0.086,0.035,0.110,0.107,0.050,0.124,0.098,0.109,0.067,0.053,
+0.041,0.067,0.100,0.118,0.099,0.093,0.067,0.016,0.058,0.073,
+0.059,0.067,0.080,0.123,0.131,0.182,0.084,0.087,0.179,0.250,
+0.219,0.123,0.136,0.074,0.092,0.091,0.058,0.140,0.067,0.072,
+0.238,0.410,0.205,0.175,0.312,0.353,0.403,0.222,0.564,0.435,
+0.388,0.333,0.127,0.455,0.154,0.124,0.111,0.281,0.146,0.114,
+0.059,0.175,0.142,0.058,0.231,0.169,0.270,0.227,0.072,0.278,
+0.210,0.140,0.073,0.075,0.047,0.054,0.131,0.208,0.152,0.117,
+0.105,0.039,0.110,0.119,0.052,0.089,0.087,0.100,0.103,0.103,
+0.063,0.071,0.193,0.271,0.294,0.145,0.151,0.059,0.138,0.111,
+0.068,0.131,0.104,0.102,0.028,0.070,0.043,0.032,0.084,0.192,
+0.214,0.071,0.076,0.116,0.163,0.098,0.020,0.087,0.066,0.038,
+0.112,0.231,0.227,0.189,0.069,0.155,0.387,0.087,0.231,0.171,
+0.325,0.220,0.073,0.279,0.286,0.182,0.068,0.062,0.066,0.069,
+0.169,0.253,0.354,0.198,0.137,0.060,0.209,0.159,0.065,0.115,
+0.154,0.134,0.104,0.088,0.068,0.080,0.077,0.081,0.070,0.065,
+0.063,0.014,0.048,0.056,0.063,0.082,0.067,0.111,0.158,0.214,
+0.126,0.144,0.211,0.306,0.251,0.186,0.176,0.069,0.172,0.181,
+0.099,0.263,0.147,0.182,0.076,0.139,0.113,0.107,0.019,0.050,
+0.049,0.029,0.125,0.044,0.146,0.157,0.068,0.172,0.163,0.150,
+0.076,0.064,0.054,0.084,0.076,0.102,0.100,0.096,0.093,0.019,
+0.104,0.137,0.093,0.130,0.140,0.186,0.911,1.060,0.629,0.959,
+1.100,1.210,0.748,0.744,0.660,0.097,0.507,0.562,0.504,0.503,
+0.375,0.561,1.460,1.650,0.869,0.939,2.270,1.720,2.080,1.180,
+1.550,0.333,2.510,1.590,0.585,1.240,0.728,0.804,0.730,1.310,
+0.797,0.837,0.174,0.283,0.239,0.242,0.849,0.190,0.992,1.010,
+0.383,1.030,0.730,0.765,0.578,0.454,0.311,0.539,0.768,0.870,
+0.672,0.755,0.822,0.114,0.690,0.850,0.536,0.582,0.670,1.150,
+0.098,0.131,0.063,0.080,0.187,0.303,0.182,0.138,0.097,0.044,
+0.136,0.103,0.048,0.098,0.058,0.074,0.155,0.257,0.127,0.103,
+0.361,0.393,0.375,0.201,0.303,0.190,1.390,0.464,0.066,0.208,
+0.132,0.098,0.088,0.252,0.135,0.105,0.054,0.153,0.147,0.058,
+0.191,0.136,0.330,0.263,0.058,0.213,0.159,0.113,0.096,0.080,
+0.043,0.068,0.151,0.247,0.162,0.172,0.112,0.038,0.147,0.158,
+0.066,0.092,0.095,0.135,1.170,0.876,0.569,0.457,1.210,1.630,
+1.400,0.936,0.987,0.262,1.210,0.898,0.453,0.839,0.825,0.743,
+0.140,0.274,0.147,0.097,0.213,0.439,0.363,0.145,0.238,0.183,
+0.539,0.245,0.080,0.279,0.204,0.126,0.923,1.280,1.070,0.739,
+0.197,0.288,0.371,0.172,0.798,0.237,0.314,0.424,0.352,0.794,
+0.866,0.662,0.482,0.420,0.428,0.350,0.859,1.170,1.210,0.825,
+0.888,0.213,1.290,1.000,0.422,0.681,0.967,0.882,0.743,0.502,
+0.369,0.482,0.609,0.561,0.405,0.374,0.480,0.077,0.418,0.430,
+0.360,0.424,0.337,0.503,1.030,1.280,0.702,0.669,1.330,1.780,
+1.240,0.844,1.180,0.272,1.520,1.280,0.565,1.350,0.842,0.792,
+0.787,1.140,0.818,0.817,0.124,0.255,0.183,0.149,1.000,0.194,
+1.130,1.060,0.491,1.170,0.930,0.874,0.582,0.481,0.378,0.555,
+0.732,0.910,0.646,0.684,0.855,0.128,1.070,1.050,0.711,0.979,
+0.946,1.030,1.110,0.684,0.429,0.799,0.690,0.571,0.412,0.508,
+0.602,0.074,0.316,0.478,0.623,0.545,0.352,0.758,1.010,0.705,
+0.404,0.531,0.861,0.559,0.632,0.524,0.681,0.083,0.462,0.500,
+0.406,0.524,0.304,0.474,0.609,0.677,0.385,0.624,0.077,0.087,
+0.069,0.114,0.557,0.071,0.373,0.577,0.415,0.575,0.432,0.684,
+0.819,0.493,0.298,0.617,0.591,0.543,0.381,0.637,0.510,0.056,
+0.326,0.533,0.593,0.500,0.523,1.120,1.370,1.150,0.638,0.914,
+1.340,1.310,1.090,0.912,0.921,0.137,0.720,0.802,0.580,0.789,
+0.431,0.764,1.620,1.690,0.886,0.963,1.840,1.690,1.860,1.410,
+1.910,0.366,2.610,1.890,0.687,1.290,0.706,0.832,0.873,1.530,
+0.735,0.836,0.144,0.275,0.207,0.191,1.090,0.229,1.080,1.430,
+0.550,1.330,0.900,1.060,1.390,0.927,0.465,0.710,1.150,1.400,
+0.984,1.220,0.892,0.176,0.802,1.100,0.687,0.845,0.718,1.280,
+1.430,1.160,0.748,0.787,1.370,1.500,1.930,1.630,1.080,0.200,
+0.904,1.020,0.673,0.892,0.817,1.100,0.190,0.178,0.193,0.129,
+0.195,0.321,0.454,0.237,0.163,0.072,0.242,0.232,0.091,0.216,
+0.145,0.148,1.090,1.670,1.020,1.030,0.190,0.255,0.309,0.233,
+2.200,0.539,1.210,1.510,0.769,1.840,1.340,1.270,0.769,0.701,
+0.597,0.641,1.270,1.400,1.550,1.370,1.160,0.196,1.250,1.460,
+0.702,0.936,1.160,1.350,1.090,0.602,0.435,0.691,0.650,0.566,
+0.536,0.543,0.612,0.078,0.401,0.531,0.630,0.545,0.455,0.909,
+1.100,0.858,0.662,0.709,0.954,1.090,1.070,0.852,0.802,0.110,
+0.790,1.020,0.637,0.856,0.658,0.916,0.947,1.200,0.753,1.020,
+0.116,0.157,0.125,0.147,1.210,0.181,1.200,1.440,0.766,1.310,
+1.230,1.360,1.060,0.676,0.551,1.000,1.040,1.110,0.980,1.130,
+1.100,0.119,1.230,1.550,1.230,1.170,1.410,1.700,1.760,1.040,
+0.888,1.660,1.030,0.768,0.625,0.761,0.956,0.099,0.427,0.718,
+1.230,1.040,0.615,1.170,1.160,0.769,0.539,0.748,0.828,0.584,
+0.583,0.563,0.734,0.081,0.470,0.559,0.668,0.847,0.448,0.688,
+0.719,0.626,0.504,0.844,0.082,0.074,0.065,0.113,0.452,0.048,
+0.287,0.405,0.442,0.550,0.422,0.699,1.020,0.512,0.477,1.040,
+0.855,0.617,0.506,0.797,0.592,0.057,0.351,0.607,0.933,0.616,
+0.631,2.170,1.300,0.795,0.535,0.871,0.915,0.672,0.465,0.609,
+0.565,0.068,0.314,0.536,0.551,0.537,0.330,0.625,0.876,0.675,
+0.549,0.690,0.616,0.445,0.395,0.405,0.693,0.107,0.374,0.551,
+0.447,0.554,0.321,0.467,0.536,0.554,0.353,0.500,0.056,0.070,
+0.045,0.060,0.493,0.057,0.264,0.401,0.407,0.518,0.351,0.463,
+0.515,0.324,0.241,0.472,0.528,0.503,0.309,0.471,0.433,0.046,
+0.284,0.533,0.461,0.381,0.374,0.780,1.160,0.582,0.483,0.704,
+0.991,0.674,0.583,0.780,0.756,0.109,0.310,0.541,0.717,0.696,
+0.452,0.864,0.094,0.079,0.056,0.083,0.092,0.089,0.072,0.076,
+0.086,0.024,0.054,0.078,0.100,0.164,0.063,0.116,0.566,0.561,
+0.554,0.678,0.067,0.069,0.100,0.104,0.523,0.080,0.311,0.436,
+0.405,0.649,0.479,0.575,0.570,0.424,0.373,0.642,0.742,0.673,
+0.650,0.788,0.972,0.296,0.483,0.710,0.663,0.905,0.618,1.030,
+1.570,0.553,0.534,0.965,0.648,0.410,0.402,0.564,0.635,0.063,
+0.347,0.534,0.908,0.616,0.447,1.040,1.040,0.649,0.457,0.748,
+0.671,0.552,0.453,0.548,0.657,0.068,0.421,0.649,0.701,0.883,
+0.478,0.960,0.619,0.541,0.454,0.679,0.056,0.052,0.048,0.080,
+0.448,0.045,0.424,0.497,0.471,0.621,0.502,0.714,1.010,0.538,
+0.564,1.270,0.673,0.518,0.537,0.984,0.815,0.092,0.573,0.967,
+1.210,1.040,1.060,2.140,2.000,1.400,0.957,1.640,1.420,1.270,
+1.060,1.220,0.977,0.140,0.541,0.915,1.130,1.170,0.733,1.340,
+1.900,1.560,1.200,1.540,1.630,1.410,2.130,1.570,1.310,0.252,
+1.080,1.260,0.842,1.290,0.875,1.040,0.847,1.010,0.717,0.945,
+0.111,0.164,0.140,0.167,0.688,0.118,0.635,0.831,0.476,0.908,
+0.714,0.998,0.900,0.571,0.473,0.783,1.040,1.040,0.742,0.931,
+0.593,0.077,0.466,0.796,0.728,0.715,0.738,1.410,1.760,1.520,
+0.873,1.300,1.830,1.860,1.220,1.560,0.978,0.219,0.585,0.827,
+0.739,1.040,0.595,0.950,1.930,1.960,1.640,2.050,1.890,1.510,
+1.450,1.260,1.940,0.624,1.280,1.600,0.847,1.760,0.897,0.999,
+0.942,1.420,0.816,0.994,0.166,0.298,0.184,0.176,1.070,0.264,
+0.863,1.200,0.573,1.490,0.951,1.190,0.699,0.599,0.464,0.688,
+1.100,1.340,0.802,0.971,0.760,0.124,0.649,1.520,0.606,0.736,
+0.717,1.190,1.220,0.863,0.571,0.916,1.530,1.590,1.380,1.380,
+1.050,0.214,0.690,0.852,0.782,0.960,0.763,1.130,0.114,0.174,
+0.109,0.145,0.195,0.344,0.288,0.193,0.155,0.101,0.183,0.192,
+0.102,0.281,0.149,0.158,0.933,1.310,1.010,1.200,0.161,0.272,
+0.277,0.225,1.200,0.289,1.010,1.190,0.631,1.550,1.290,1.290,
+0.781,0.563,0.565,1.010,1.350,1.660,1.730,1.660,1.060,0.185,
+1.060,1.380,0.767,0.950,1.270,1.700,1.130,0.716,0.615,0.910,
+0.719,0.643,0.567,0.670,0.740,0.084,0.477,0.617,0.723,0.686,
+0.619,1.090,1.390,1.310,0.843,1.150,1.210,1.510,1.200,1.150,
+1.190,0.222,0.977,1.310,0.918,1.820,1.110,1.420,0.737,1.050,
+0.860,1.010,0.083,0.139,0.111,0.126,0.800,0.124,0.789,1.030,
+0.589,1.090,1.040,1.240,0.889,0.622,0.579,0.956,0.842,0.945,
+0.730,1.040,0.828,0.100,0.803,1.310,1.020,1.130,1.280,2.050,
+1.320,1.030,0.688,1.090,0.937,0.953,1.070,1.040,0.840,0.101,
+0.418,0.600,0.894,0.699,0.445,0.736,1.440,1.540,0.665,0.872,
+1.380,1.280,1.100,0.895,1.200,0.211,1.120,1.150,0.774,1.230,
+0.656,0.851,0.773,1.250,0.826,0.885,0.120,0.230,0.212,0.192,
+0.808,0.224,0.623,0.826,0.622,2.020,0.790,0.875,0.691,0.532,
+0.372,0.653,0.767,0.906,0.723,0.793,0.789,0.109,0.575,0.875,
+0.807,0.839,0.815,1.410,0.083,0.092,0.069,0.078,0.108,0.140,
+0.107,0.098,0.066,0.017,0.055,0.061,0.057,0.086,0.051,0.075,
+0.107,0.179,0.075,0.087,0.181,0.234,0.174,0.122,0.144,0.083,
+0.226,0.175,0.064,0.166,0.083,0.085,0.057,0.137,0.077,0.068,
+0.020,0.064,0.056,0.025,0.104,0.056,0.127,0.127,0.056,0.221,
+0.142,0.108,0.064,0.061,0.039,0.064,0.100,0.161,0.108,0.115,
+0.081,0.023,0.088,0.119,0.075,0.088,0.088,0.127,1.040,0.853,
+0.520,0.562,1.100,1.380,1.170,0.831,0.876,0.219,0.894,0.794,
+0.546,0.920,0.834,0.862,0.106,0.189,0.083,0.074,0.151,0.266,
+0.195,0.104,0.139,0.093,0.277,0.141,0.083,0.249,0.154,0.115,
+0.858,1.390,0.921,0.768,0.150,0.296,0.239,0.150,1.120,0.271,
+0.587,0.843,0.497,1.310,1.010,0.850,0.621,0.566,0.443,0.508,
+1.030,1.380,1.130,0.956,1.020,0.198,1.140,1.120,0.629,0.895,
+1.050,1.120,0.944,0.647,0.422,0.634,0.678,0.638,0.444,0.466,
+0.582,0.086,0.518,0.566,0.528,0.584,0.493,0.785,1.270,1.350,
+0.720,0.866,1.230,1.520,0.955,0.808,1.240,0.227,1.500,1.390,
+0.826,1.660,1.210,1.230,0.854,1.200,0.739,0.851,0.105,0.195,
+0.126,0.124,1.030,0.165,0.931,1.100,0.655,1.420,1.080,1.110,
+0.899,0.617,0.534,0.733,0.790,0.944,0.724,0.877,1.040,0.127,
+1.130,1.350,1.010,1.170,1.250,1.570,1.840,0.864,0.569,1.110,
+0.780,0.579,0.479,0.639,0.722,0.078,0.336,0.584,0.968,0.708,
+0.436,1.050,1.100,0.734,0.358,0.565,0.791,0.549,0.417,0.499,
+0.727,0.078,0.400,0.630,0.531,0.593,0.341,0.599,0.745,0.745,
+0.423,0.797,0.077,0.081,0.056,0.112,0.523,0.067,0.314,0.561,
+0.530,0.755,0.438,0.756,0.973,0.569,0.441,0.957,0.710,0.568,
+0.445,0.777,0.682,0.061,0.436,0.790,0.976,0.706,0.736,1.820,
+1.180,0.817,0.671,0.832,0.861,0.799,0.760,0.664,0.588,0.074,
+0.382,0.608,0.592,0.635,0.401,0.786,1.060,0.973,0.484,0.678,
+0.971,0.913,0.652,0.684,0.966,0.145,0.726,0.949,0.551,0.858,
+0.459,0.729,0.669,0.886,0.476,0.673,0.065,0.114,0.072,0.086,
+0.650,0.098,0.499,0.753,0.524,0.948,0.631,1.030,0.734,0.538,
+0.364,0.648,0.720,0.760,0.546,0.801,0.681,0.075,0.534,0.888,
+0.746,0.665,0.649,1.410,1.350,0.898,0.630,0.777,1.280,1.150,
+0.979,1.130,0.993,0.162,0.682,0.934,0.873,0.975,0.838,1.320,
+0.105,0.120,0.070,0.085,0.116,0.160,0.138,0.110,0.090,0.029,
+0.103,0.113,0.095,0.159,0.096,0.135,1.140,1.450,0.874,1.100,
+0.120,0.180,0.139,0.161,1.410,0.249,0.996,1.350,0.889,1.750,
+1.320,1.560,0.988,0.840,0.637,0.903,1.260,1.310,1.210,1.460,
+1.360,0.167,1.200,1.670,1.000,1.120,1.190,1.860,1.970,0.891,
+0.606,1.120,0.947,0.737,0.555,0.735,0.971,0.100,0.524,0.860,
+1.290,0.973,0.783,1.850,1.490,1.110,0.667,0.967,1.260,1.370,
+0.876,0.959,1.200,0.125,0.915,1.310,1.080,1.270,0.888,1.580,
+1.340,1.320,0.862,1.350,0.110,0.127,0.087,0.140,1.330,0.136,
+1.060,1.560,1.170,1.680,1.460,2.000,1.950,1.050,0.884,1.820,
+1.400,1.250,1.020,1.590,1.590,0.124,1.470,2.250,2.050,1.490,
+1.700,2.500,2.680,1.730,1.390,3.000,1.780,1.130,0.931,1.340,
+1.930,0.202,0.849,1.490,3.140,2.670,1.170,2.420,1.960,1.080,
+0.792,1.190,1.180,0.794,0.577,0.700,1.130,0.094,0.556,0.790,
+1.020,1.040,0.626,1.110,1.520,1.110,0.873,1.470,0.124,0.106,
+0.085,0.180,0.802,0.077,0.401,0.641,0.931,0.997,0.643,1.060,
+2.440,1.060,1.140,2.540,1.700,1.190,0.971,1.750,1.100,0.090,
+0.576,1.030,1.910,1.190,1.030,2.170,2.130,1.070,0.728,1.300,
+1.190,0.790,0.559,0.785,0.925,0.103,0.509,0.746,0.905,0.882,
+0.475,0.958,1.250,0.789,0.482,0.720,0.730,0.498,0.383,0.441,
+0.699,0.065,0.373,0.548,0.537,0.531,0.353,0.581,0.871,0.755,
+0.530,0.778,0.074,0.075,0.055,0.084,0.844,0.099,0.353,0.501,
+0.496,0.594,0.403,0.584,1.030,0.654,0.548,0.922,0.996,0.869,
+0.620,0.875,0.787,0.063,0.446,0.675,0.829,0.672,0.614,1.250,
+1.610,0.714,0.606,0.985,1.120,0.645,0.592,0.775,0.979,0.105,
+0.397,0.708,0.988,0.816,0.623,1.230,0.109,0.082,0.051,0.087,
+0.082,0.079,0.051,0.066,0.076,0.013,0.046,0.071,0.103,0.133,
+0.070,0.121,0.772,0.547,0.560,0.635,0.069,0.052,0.053,0.070,
+0.518,0.055,0.324,0.402,0.438,0.501,0.519,0.582,0.823,0.476,
+0.488,0.800,0.949,0.713,0.570,0.778,0.750,0.070,0.443,0.697,
+0.784,0.768,0.720,1.280,2.230,0.857,0.773,1.700,0.912,0.537,
+0.572,0.775,1.060,0.096,0.455,0.786,1.490,0.921,0.752,1.760,
+1.300,0.852,0.582,0.955,0.821,0.647,0.474,0.632,0.770,0.065,
+0.458,0.725,0.844,0.835,0.599,1.060,0.957,0.675,0.606,0.849,
+0.072,0.054,0.061,0.087,0.642,0.055,0.858,0.664,0.631,0.638,
+0.615,0.815,1.560,0.790,0.767,1.560,0.900,0.651,0.618,0.982,
+1.120,0.077,0.728,1.230,1.770,1.320,1.200,2.740,2.370,1.390,
+0.934,1.770,1.250,0.924,0.657,0.856,0.862,0.090,0.393,0.752,
+1.160,1.070,0.663,1.350,1.470,0.995,0.783,1.010,0.907,0.707,
+0.557,0.615,0.668,0.072,0.444,0.622,0.573,0.665,0.458,0.773,
+0.794,0.797,0.563,0.829,0.079,0.092,0.063,0.106,0.442,0.051,
+0.275,0.389,0.435,0.575,0.392,0.659,1.000,0.574,0.547,1.020,
+0.922,0.750,0.532,0.837,0.528,0.049,0.308,0.558,0.749,0.574,
+0.613,1.280,1.450,1.040,0.482,0.864,1.030,0.982,0.477,0.621,
+0.585,0.072,0.301,0.488,0.558,0.640,0.322,0.724,0.913,0.805,
+0.401,0.528,0.723,0.519,0.423,0.477,0.525,0.071,0.353,0.482,
+0.396,0.561,0.306,0.501,0.706,0.814,0.477,0.647,0.067,0.108,
+0.064,0.081,0.472,0.078,0.269,0.397,0.387,0.630,0.340,0.549,
+0.696,0.586,0.388,0.667,0.691,0.760,0.482,0.667,0.513,0.050,
+0.278,0.543,0.480,0.538,0.378,0.845,0.956,0.609,0.421,0.710,
+0.825,0.668,0.571,0.622,0.672,0.088,0.340,0.539,0.610,0.629,
+0.473,0.896,0.062,0.074,0.039,0.064,0.060,0.098,0.059,0.059,
+0.061,0.020,0.046,0.061,0.058,0.099,0.047,0.076,0.654,0.682,
+0.576,0.682,0.070,0.096,0.061,0.069,0.503,0.059,0.348,0.439,
+0.395,0.557,0.536,0.601,0.591,0.531,0.426,0.676,0.796,1.330,
+0.561,0.714,0.630,0.062,0.427,0.652,0.540,0.568,0.568,0.983,
+0.968,0.583,0.415,0.754,0.596,0.435,0.362,0.572,0.515,0.047,
+0.248,0.424,0.732,0.494,0.406,1.000,0.726,0.677,0.393,0.627,
+0.529,0.603,0.421,0.580,0.424,0.053,0.307,0.476,0.455,0.600,
+0.358,0.676,0.588,0.564,0.464,0.632,0.045,0.050,0.036,0.058,
+0.401,0.038,0.453,0.433,0.401,0.463,0.437,0.621,0.786,0.460,
+0.482,0.770,0.564,0.552,0.429,0.647,0.648,0.057,0.447,0.867,
+0.894,0.878,0.828,1.620,1.590,0.948,0.589,1.170,0.688,0.547,
+0.366,0.607,0.720,0.081,0.346,0.576,0.864,0.846,0.406,0.960,
+1.140,0.847,0.460,0.803,0.694,0.552,0.411,0.546,0.721,0.088,
+0.483,0.605,0.741,0.976,0.426,0.787,0.759,0.819,0.748,0.996,
+0.085,0.094,0.087,0.167,0.463,0.051,0.296,0.399,0.417,0.612,
+0.386,0.669,0.953,0.607,0.637,1.320,0.740,0.620,0.555,1.040,
+0.602,0.062,0.388,0.660,0.831,0.679,0.701,1.720,0.094,0.075,
+0.040,0.076,0.074,0.076,0.042,0.055,0.055,0.011,0.031,0.048,
+0.060,0.080,0.039,0.079,0.079,0.078,0.035,0.055,0.067,0.073,
+0.042,0.047,0.060,0.014,0.047,0.055,0.061,0.091,0.037,0.064,
+0.053,0.074,0.057,0.072,8.04e-3,0.016,0.016,0.013,0.051,0.011,
+0.035,0.045,0.042,0.068,0.041,0.061,0.108,0.079,0.073,0.143,
+0.118,0.131,0.103,0.173,0.072,9.63e-3,0.049,0.084,0.091,0.088,
+0.080,0.166,0.734,0.502,0.312,0.477,0.538,0.561,0.420,0.433,
+0.643,0.092,0.360,0.485,0.505,0.564,0.376,0.674,0.060,0.066,
+0.032,0.045,0.049,0.066,0.043,0.040,0.057,0.015,0.045,0.051,
+0.059,0.088,0.043,0.061,0.514,0.629,0.445,0.489,0.057,0.091,
+0.064,0.061,0.508,0.065,0.269,0.358,0.317,0.468,0.345,0.443,
+0.511,0.431,0.421,0.501,0.565,0.748,0.485,0.622,0.583,0.066,
+0.392,0.532,0.448,0.504,0.481,0.754,0.781,0.456,0.294,0.578,
+0.483,0.384,0.235,0.334,0.535,0.061,0.233,0.430,0.659,0.613,
+0.313,0.812,0.804,0.629,0.362,0.575,0.602,0.607,0.369,0.435,
+0.528,0.059,0.370,0.542,0.614,0.707,0.387,0.706,0.634,0.618,
+0.431,0.562,0.059,0.077,0.045,0.060,0.610,0.049,0.317,0.439,
+0.440,0.583,0.402,0.638,0.843,0.545,0.550,0.703,0.606,0.600,
+0.427,0.593,0.771,0.074,0.534,0.791,0.933,0.921,0.763,1.430,
+2.250,1.030,0.792,1.720,0.828,0.544,0.446,0.620,0.806,0.074,
+0.381,0.692,1.490,0.885,0.606,1.630,1.050,0.553,0.390,0.714,
+0.563,0.353,0.286,0.411,0.603,0.048,0.339,0.507,0.690,0.542,
+0.368,0.755,0.929,0.692,0.719,1.370,0.078,0.064,0.057,0.154,
+0.499,0.042,0.304,0.547,0.547,0.531,0.401,0.864,1.630,0.776,
+1.090,2.940,0.963,0.660,0.680,1.500,0.760,0.058,0.516,0.878,
+1.360,0.832,1.020,2.540,1.330,0.754,0.489,0.982,0.814,0.613,
+0.453,0.600,0.622,0.063,0.353,0.603,0.695,0.628,0.410,0.932,
+0.875,0.632,0.324,0.574,0.566,0.504,0.301,0.407,0.549,0.060,
+0.374,0.538,0.565,0.571,0.315,0.579,0.701,0.606,0.483,0.890,
+0.053,0.058,0.051,0.096,0.545,0.048,0.292,0.533,0.493,0.558,
+0.360,0.714,1.050,0.612,0.610,1.600,0.953,0.790,0.696,1.700,
+0.695,0.056,0.444,0.882,0.880,0.758,0.756,1.650,1.010,0.535,
+0.422,0.757,0.772,0.565,0.471,0.748,0.801,0.088,0.447,0.719,
+0.744,0.614,0.549,1.090,0.071,0.054,0.035,0.069,0.048,0.054,
+0.039,0.051,0.057,7.40e-3,0.047,0.079,0.066,0.072,0.048,0.088,
+0.598,0.569,0.460,0.700,0.049,0.049,0.042,0.074,0.593,0.057,
+0.402,0.557,0.451,0.585,0.512,0.759,0.767,0.502,0.551,0.902,
+0.808,0.721,0.640,1.030,0.898,0.069,0.598,0.918,0.793,0.700,
+0.852,1.460,1.680,0.819,0.686,1.350,0.830,0.612,0.451,0.768,
+0.990,0.086,0.460,0.822,1.400,0.873,0.740,1.970,0.955,0.652,
+0.432,0.814,0.626,0.518,0.400,0.554,0.631,0.051,0.471,0.762,
+0.760,0.718,0.522,1.080,1.040,0.851,0.670,1.170,0.079,0.070,
+0.049,0.106,1.070,0.076,0.558,0.909,0.926,1.040,0.782,1.300,
+1.900,0.975,1.090,2.330,1.350,1.130,0.945,1.660,1.700,0.106,
+1.240,2.240,2.780,1.970,2.020,3.990,2.720,1.730,1.360,2.360,
+1.890,1.280,0.934,1.190,1.360,0.182,1.090,1.330,2.040,1.740,
+1.020,1.750,1.890,1.320,0.905,1.270,1.380,1.080,0.785,0.886,
+1.020,0.128,0.761,0.872,0.850,1.080,0.739,1.000,1.080,0.986,
+0.773,1.120,0.120,0.116,0.097,0.161,0.856,0.130,0.501,0.594,
+0.666,0.862,0.651,0.906,1.500,0.837,0.684,1.520,1.440,1.030,
+0.759,1.250,0.846,0.086,0.554,0.837,1.220,0.839,0.958,1.790,
+2.130,1.460,1.020,1.380,1.690,1.300,0.797,0.912,1.130,0.193,
+1.180,1.280,0.916,1.210,0.713,1.150,1.620,1.410,0.872,1.150,
+1.240,1.130,0.851,0.886,1.090,0.187,0.907,1.070,0.667,1.030,
+0.661,0.854,0.980,1.210,0.700,0.862,0.162,0.197,0.130,0.136,
+3.070,0.574,0.735,0.803,0.903,1.450,0.723,0.751,0.776,0.637,
+0.421,0.683,1.300,1.100,0.684,1.000,1.010,0.127,0.563,0.748,
+0.762,0.783,0.787,1.180,1.370,0.842,0.626,0.875,1.900,1.030,
+0.869,0.962,1.090,0.165,0.560,0.761,0.837,0.930,0.710,1.320,
+0.115,0.123,0.071,0.114,0.151,0.171,0.111,0.130,0.114,0.038,
+0.092,0.116,0.094,0.198,0.112,0.152,0.719,0.797,0.631,0.686,
+0.106,0.100,0.097,0.120,0.800,0.125,0.515,0.659,0.492,0.832,
+0.722,1.020,0.690,0.513,0.474,0.795,1.000,0.914,0.728,0.968,
+0.931,0.111,0.612,0.870,0.779,0.951,0.920,1.430,1.510,0.763,
+0.570,1.090,0.893,0.559,0.443,0.675,0.841,0.107,0.431,0.682,
+0.998,0.823,0.573,1.460,1.340,1.030,0.677,1.150,1.150,1.110,
+0.720,1.110,0.799,0.122,0.632,0.997,0.711,1.160,0.707,1.270,
+0.709,0.710,0.543,0.798,0.076,0.072,0.072,0.101,0.735,0.129,
+0.469,0.759,0.519,0.814,0.645,0.906,1.080,0.652,0.620,1.150,
+0.736,0.660,0.561,0.822,0.925,0.090,0.701,1.240,1.200,1.150,
+1.180,2.250,2.090,1.550,0.964,1.560,1.570,1.550,0.869,0.962,
+0.885,0.123,0.495,0.774,1.040,1.100,0.673,1.250,1.710,1.450,
+0.835,1.030,1.450,1.470,0.991,1.080,0.905,0.163,0.797,0.957,
+0.588,1.020,0.667,0.837,0.732,0.937,0.684,0.838,0.104,0.162,
+0.117,0.139,0.504,0.080,0.441,0.501,0.388,0.640,0.507,0.695,
+0.809,0.527,0.446,0.902,0.929,1.090,0.633,0.821,0.707,0.077,
+0.445,0.630,0.715,0.591,0.693,1.250,1.770,1.750,0.760,1.100,
+1.770,2.550,1.000,1.040,0.873,0.156,0.607,0.760,0.621,0.984,
+0.528,0.975,1.620,2.020,0.951,0.970,1.410,1.170,1.090,1.180,
+1.070,0.285,0.957,1.090,0.564,1.420,0.686,0.855,0.856,1.540,
+0.749,0.860,0.157,0.379,0.177,0.180,0.849,0.200,0.631,0.771,
+0.435,1.130,0.728,0.806,0.690,0.716,0.435,0.638,1.030,1.720,
+0.790,0.997,0.700,0.093,0.531,0.740,0.538,0.740,0.590,1.110,
+1.150,0.861,0.496,0.773,1.440,1.480,1.010,0.922,1.150,0.274,
+0.603,0.726,0.721,1.050,0.667,1.120,0.110,0.172,0.074,0.126,
+0.145,0.332,0.208,0.151,0.212,0.134,0.150,0.152,0.080,0.298,
+0.106,0.121,0.882,1.190,0.892,0.881,0.154,0.231,0.185,0.165,
+0.895,0.168,0.693,0.772,0.463,1.050,0.906,0.900,0.698,0.581,
+0.568,0.733,1.170,1.500,1.170,1.140,1.230,0.146,0.806,0.986,
+0.829,0.880,0.999,1.360,1.030,0.695,0.453,0.761,0.857,0.693,
+0.481,0.614,0.753,0.094,0.361,0.494,0.812,0.676,0.489,1.020,
+1.070,1.120,0.657,1.010,1.030,1.460,1.090,1.470,0.876,0.225,
+0.639,0.815,0.576,1.230,0.618,0.943,0.653,0.935,0.618,0.739,
+0.065,0.104,0.073,0.094,0.596,0.083,0.596,0.661,0.442,0.757,
+0.753,0.832,0.828,0.553,0.607,0.814,0.676,0.778,0.731,0.830,
+0.733,0.073,0.627,1.050,0.882,1.050,1.080,1.800,1.200,1.020,
+0.587,0.963,0.736,0.689,0.454,0.584,0.565,0.095,0.355,0.475,
+0.680,0.973,0.429,0.733,1.150,1.230,0.566,0.773,0.955,1.140,
+0.718,0.848,0.866,0.222,0.820,0.819,0.675,2.010,0.523,0.787,
+0.643,0.989,0.926,0.919,0.096,0.155,0.195,0.228,0.546,0.105,
+0.414,0.539,0.343,0.758,0.444,0.600,0.644,0.506,0.471,0.966,
+0.689,0.757,0.798,1.170,0.569,0.074,0.439,0.666,0.645,0.668,
+0.724,1.410,0.072,0.083,0.045,0.060,0.108,0.135,0.092,0.075,
+0.058,0.019,0.056,0.060,0.052,0.105,0.071,0.072,0.093,0.141,
+0.063,0.074,0.143,0.236,0.133,0.114,0.105,0.062,0.133,0.116,
+0.068,0.238,0.072,0.083,0.057,0.130,0.133,0.095,0.027,0.063,
+0.110,0.050,0.104,0.047,0.098,0.102,0.046,0.132,0.085,0.075,
+0.066,0.067,0.056,0.104,0.127,0.204,0.220,0.317,0.076,0.018,
+0.084,0.105,0.061,0.083,0.089,0.147,0.790,0.866,0.434,0.526,
+0.844,1.290,0.765,0.629,0.821,0.172,0.680,0.791,0.515,0.834,
+0.593,0.841,0.075,0.140,0.065,0.067,0.090,0.213,0.135,0.090,
+0.107,0.050,0.127,0.111,0.067,0.201,0.092,0.102,0.649,1.430,
+0.786,0.686,0.113,0.387,0.206,0.144,0.756,0.169,0.495,0.620,
+0.389,0.961,0.657,0.748,0.519,0.579,0.499,0.620,0.850,1.690,
+0.969,1.250,0.979,0.155,0.741,0.881,0.567,0.761,0.774,1.080,
+0.868,0.758,0.374,0.649,0.629,0.680,0.335,0.397,0.621,0.085,
+0.350,0.548,0.675,0.731,0.387,0.885,1.020,1.210,0.588,0.770,
+1.050,1.720,0.868,0.832,0.871,0.174,0.809,1.120,0.669,1.350,
+0.706,1.010,0.865,1.120,0.677,0.721,0.076,0.137,0.096,0.095,
+0.779,0.123,0.610,0.780,0.537,1.040,0.673,0.874,0.762,0.672,
+0.526,0.821,0.658,0.851,0.584,0.793,0.888,0.104,0.841,1.090,
+0.958,1.200,1.020,1.650,1.380,0.778,0.628,1.190,0.793,0.556,
+0.457,0.684,0.659,0.071,0.376,0.644,0.867,0.698,0.488,1.060,
+0.854,0.615,0.424,0.602,0.586,0.518,0.361,0.513,0.550,0.068,
+0.390,0.537,0.547,0.655,0.357,0.622,0.708,0.657,0.667,0.954,
+0.061,0.065,0.064,0.146,0.458,0.055,0.336,0.493,0.390,0.488,
+0.381,0.710,0.947,0.553,0.659,1.760,0.713,0.575,0.562,1.610,
+0.635,0.057,0.426,0.815,0.943,0.618,0.756,1.860,1.340,0.991,
+0.705,1.050,1.220,1.090,1.290,0.978,0.835,0.125,0.787,0.927,
+0.774,0.975,0.634,1.030,1.080,1.110,0.595,0.840,1.070,1.240,
+0.766,0.940,0.952,0.174,0.859,1.110,0.735,1.280,0.627,0.913,
+0.780,1.060,0.919,1.320,0.100,0.159,0.210,0.297,0.890,0.132,
+0.614,0.859,0.578,1.030,0.658,0.930,0.939,0.792,0.704,1.980,
+1.440,1.550,1.560,6.820,0.839,0.104,0.768,1.350,0.837,0.983,
+0.912,2.100,0.921,0.640,0.471,0.645,0.984,0.898,0.674,0.797,
+0.829,0.135,0.585,0.831,0.670,0.794,0.634,1.060,0.079,0.080,
+0.044,0.072,0.072,0.138,0.083,0.081,0.065,0.022,0.078,0.100,
+0.059,0.121,0.068,0.096,0.663,0.906,0.654,0.851,0.078,0.125,
+0.095,0.136,0.809,0.135,0.733,0.833,0.536,0.985,0.901,1.090,
+0.647,0.573,0.548,0.853,0.963,1.120,0.945,1.600,0.974,0.111,
+0.855,1.200,0.777,0.817,1.040,1.600,1.240,0.794,0.547,0.977,
+0.763,0.651,0.483,0.631,0.811,0.096,0.432,0.716,0.849,0.681,
+0.539,1.250,1.030,0.842,0.500,0.764,0.847,0.987,0.657,0.765,
+0.647,0.083,0.602,0.888,0.679,0.913,0.575,1.050,0.970,0.956,
+0.728,1.130,0.087,0.092,0.068,0.120,0.920,0.097,0.698,1.000,
+0.831,1.150,0.973,1.310,1.320,0.826,0.822,1.610,1.110,1.140,
+0.956,1.590,1.290,0.112,1.210,1.840,1.840,1.660,1.760,2.610,
+1.710,1.050,0.845,1.490,1.230,0.834,0.641,0.787,0.847,0.100,
+0.432,0.735,1.200,1.120,0.613,1.160,1.120,0.819,0.485,0.729,
+0.920,0.645,0.561,0.664,0.604,0.071,0.382,0.513,0.568,0.649,
+0.454,0.719,0.824,0.734,0.491,0.831,0.081,0.067,0.054,0.108,
+0.506,0.053,0.308,0.467,0.443,0.622,0.441,0.669,1.000,0.530,
+0.421,0.942,0.812,0.584,0.435,0.739,0.595,0.048,0.313,0.514,
+0.810,0.490,0.572,1.210,1.610,1.090,0.596,1.100,1.330,1.050,
+0.737,0.826,0.788,0.102,0.411,0.620,0.707,0.801,0.444,0.832,
+1.330,1.390,0.523,0.767,1.140,0.786,0.686,0.776,0.920,0.155,
+0.543,0.814,0.558,0.756,0.414,0.642,0.860,1.040,0.571,0.791,
+0.117,0.133,0.098,0.136,0.860,0.127,0.541,0.798,0.477,0.876,
+0.610,0.772,0.740,0.563,0.346,0.646,0.946,0.933,0.594,0.901,
+0.732,0.070,0.442,0.726,0.636,0.609,0.622,1.150,1.220,0.709,
+0.468,0.763,1.300,0.984,0.824,0.861,1.380,0.172,0.464,0.723,
+0.947,1.110,0.593,1.120,0.122,0.134,0.060,0.097,0.128,0.153,
+0.120,0.121,0.135,0.031,0.091,0.119,0.129,0.252,0.105,0.158,
+0.780,0.819,0.687,0.823,0.114,0.102,0.135,0.150,1.100,0.125,
+0.491,0.681,0.549,0.880,0.707,0.796,0.679,0.454,0.395,0.640,
+1.040,0.909,0.917,1.060,0.916,0.102,0.534,0.827,0.823,0.812,
+0.838,1.200,1.240,0.575,0.415,0.849,0.685,0.495,0.449,0.529,
+0.679,0.076,0.308,0.498,0.902,0.752,0.501,1.090,1.010,0.847,
+0.444,0.706,0.801,0.780,0.565,0.674,0.709,0.082,0.461,0.670,
+0.665,0.884,0.548,0.918,0.800,0.840,0.624,0.892,0.089,0.088,
+0.081,0.122,0.759,0.079,0.531,0.769,0.662,0.917,0.804,1.060,
+1.090,0.682,0.535,1.140,0.803,0.686,0.639,0.942,1.090,0.095,
+0.669,1.170,1.440,1.300,1.300,2.260,0.097,0.081,0.051,0.079,
+0.087,0.085,0.063,0.068,0.054,9.90e-3,0.032,0.050,0.069,0.093,
+0.050,0.088,0.092,0.094,0.065,0.073,0.103,0.112,0.128,0.098,
+0.065,0.017,0.049,0.058,0.050,0.080,0.052,0.072,0.052,0.068,
+0.043,0.062,9.40e-3,0.014,0.012,0.013,0.049,9.07e-3,0.036,0.053,
+0.031,0.059,0.042,0.066,0.059,0.043,0.034,0.064,0.076,0.086,
+0.052,0.074,0.052,6.62e-3,0.034,0.057,0.057,0.052,0.057,0.117,
+0.091,0.090,0.042,0.062,0.100,0.140,0.079,0.074,0.059,0.018,
+0.038,0.044,0.038,0.065,0.034,0.053,0.118,0.202,0.063,0.072,
+0.201,0.273,0.144,0.141,0.127,0.068,0.081,0.095,0.055,0.129,
+0.055,0.068,0.067,0.120,0.059,0.066,0.020,0.049,0.034,0.024,
+0.111,0.045,0.077,0.101,0.043,0.114,0.076,0.088,0.058,0.051,
+0.029,0.048,0.089,0.125,0.074,0.083,0.068,0.015,0.049,0.066,
+0.043,0.056,0.053,0.090,0.080,0.052,0.030,0.045,0.086,0.107,
+0.097,0.072,0.083,0.019,0.049,0.055,0.046,0.072,0.046,0.068,
+0.015,0.019,9.69e-3,0.013,0.022,0.047,0.036,0.021,0.021,0.018,
+0.031,0.025,7.21e-3,0.024,0.016,0.013,0.072,0.099,0.071,0.081,
+0.023,0.036,0.048,0.024,0.231,0.042,0.082,0.085,0.058,0.115,
+0.087,0.080,0.052,0.040,0.042,0.057,0.099,0.126,0.115,0.112,
+0.099,0.018,0.068,0.094,0.058,0.092,0.079,0.099,0.082,0.064,
+0.040,0.062,0.061,0.060,0.051,0.051,0.055,7.62e-3,0.030,0.042,
+0.064,0.065,0.049,0.094,0.103,0.111,0.058,0.088,0.108,0.169,
+0.093,0.109,0.087,0.021,0.072,0.088,0.063,0.127,0.072,0.107,
+0.058,0.081,0.063,0.087,0.012,0.021,0.016,0.022,0.087,0.017,
+0.069,0.088,0.051,0.095,0.088,0.117,0.082,0.059,0.047,0.085,
+0.070,0.081,0.066,0.096,0.082,0.011,0.066,0.100,0.093,0.110,
+0.107,0.189,1.030,0.805,0.494,0.829,0.830,0.733,0.453,0.579,
+0.553,0.066,0.338,0.427,0.513,0.434,0.326,0.551,0.963,0.868,
+0.424,0.603,1.050,0.863,0.811,0.665,0.731,0.121,0.779,0.732,
+0.433,0.752,0.439,0.645,0.577,0.860,0.581,0.699,0.096,0.147,
+0.113,0.171,0.531,0.083,0.449,0.536,0.315,0.647,0.451,0.617,
+0.571,0.427,0.324,0.588,0.637,0.655,0.474,0.738,0.742,0.076,
+0.493,0.676,0.556,0.520,0.655,1.270,0.079,0.077,0.035,0.056,
+0.092,0.139,0.071,0.074,0.049,0.015,0.041,0.047,0.034,0.055,
+0.029,0.051,0.081,0.115,0.042,0.047,0.129,0.137,0.104,0.085,
+0.076,0.036,0.129,0.100,0.034,0.074,0.043,0.052,0.049,0.113,
+0.058,0.061,0.018,0.049,0.040,0.025,0.068,0.031,0.085,0.086,
+0.032,0.089,0.066,0.064,0.064,0.055,0.034,0.068,0.102,0.158,
+0.087,0.129,0.073,0.016,0.075,0.104,0.052,0.063,0.077,0.133,
+0.837,0.670,0.434,0.428,0.977,1.110,1.320,0.720,0.760,0.145,
+0.649,0.640,0.459,0.624,0.556,0.662,0.090,0.139,0.060,0.062,
+0.123,0.214,0.169,0.084,0.106,0.050,0.148,0.118,0.056,0.132,
+0.088,0.081,0.793,1.130,0.843,0.703,0.129,0.182,0.202,0.134,
+0.744,0.142,0.310,0.487,0.358,0.723,0.711,0.631,0.514,0.422,
+0.386,0.408,0.934,1.050,0.973,0.842,0.720,0.115,0.769,0.791,
+0.470,0.611,0.813,0.903,0.740,0.502,0.391,0.552,0.611,0.524,
+0.493,0.391,0.493,0.064,0.337,0.421,0.453,0.438,0.328,0.580,
+0.881,0.930,0.478,0.585,1.030,1.210,0.791,0.654,0.745,0.127,
+0.829,0.853,0.488,0.932,0.593,0.718,0.798,1.010,0.819,0.888,
+0.092,0.155,0.115,0.124,0.795,0.122,0.780,0.863,0.495,0.954,
+0.788,0.876,0.687,0.531,0.439,0.732,0.746,0.820,0.638,0.772,
+0.942,0.106,0.859,0.929,0.825,1.100,0.937,1.250,1.280,0.630,
+0.442,0.868,0.642,0.465,0.338,0.473,0.532,0.059,0.273,0.449,
+0.694,0.539,0.371,0.806,0.858,0.540,0.318,0.496,0.572,0.441,
+0.362,0.416,0.484,0.049,0.312,0.467,0.388,0.455,0.312,0.545,
+0.639,0.590,0.405,0.660,0.063,0.066,0.048,0.101,0.490,0.050,
+0.311,0.527,0.425,0.502,0.385,0.691,0.796,0.463,0.363,0.792,
+0.609,0.525,0.372,0.743,0.594,0.053,0.364,0.621,0.708,0.504,
+0.592,1.340,1.380,0.880,0.480,0.918,1.040,0.914,0.617,0.708,
+0.681,0.081,0.439,0.684,0.578,0.699,0.385,0.810,1.130,0.977,
+0.423,0.679,0.994,0.924,0.722,0.767,0.815,0.106,0.648,0.986,
+0.457,0.693,0.415,0.689,0.785,1.040,0.528,0.795,0.091,0.145,
+0.084,0.136,0.714,0.104,0.580,0.909,0.483,0.885,0.636,0.911,
+0.908,0.641,0.435,0.813,1.020,1.100,0.752,1.310,0.766,0.095,
+0.657,1.250,0.679,0.744,0.749,1.530,2.650,0.811,0.543,0.761,
+1.220,1.110,1.010,0.988,0.919,0.148,0.650,1.380,0.685,0.753,
+0.647,1.180,0.399,0.110,0.068,0.114,0.111,0.174,0.141,0.115,
+0.094,0.027,0.121,0.399,0.065,0.112,0.079,0.144,1.090,1.100,
+0.754,0.959,0.104,0.126,0.123,0.146,1.120,0.176,0.716,1.090,
+0.628,1.090,0.942,1.130,1.070,0.601,0.920,0.887,1.140,1.040,
+1.120,1.290,0.987,0.119,0.928,1.460,0.839,0.824,1.120,1.520,
+1.320,0.615,0.493,0.850,0.731,0.549,0.471,0.604,0.759,0.095,
+0.411,0.735,0.717,0.600,0.506,1.170,1.290,0.697,0.446,0.762,
+0.827,0.869,0.656,0.719,0.640,0.073,0.632,1.310,0.535,0.706,
+0.552,1.060,1.060,1.080,0.791,1.250,0.092,0.104,0.080,0.136,
+1.090,0.115,0.903,1.330,0.869,1.240,1.140,1.420,1.300,0.759,
+0.680,1.510,1.110,1.020,0.938,1.320,1.220,0.103,1.100,1.700,
+1.450,1.380,1.490,2.330,3.100,1.360,1.050,2.450,1.220,0.793,
+0.594,0.868,1.170,0.117,0.475,0.834,1.860,1.420,0.726,1.630,
+1.340,0.834,0.517,0.854,0.802,0.533,0.397,0.513,0.694,0.061,
+0.371,0.485,0.864,0.879,0.490,0.831,0.965,0.763,0.534,1.050,
+0.082,0.069,0.052,0.119,0.541,0.049,0.275,0.474,0.666,0.690,
+0.484,0.878,1.460,0.726,0.631,1.480,0.987,0.711,0.527,0.959,
+0.716,0.061,0.397,0.752,1.210,0.784,0.839,2.130,1.580,0.831,
+0.520,1.010,0.879,0.605,0.421,0.542,0.562,0.061,0.266,0.457,
+0.647,0.589,0.331,0.716,0.995,0.676,0.358,0.597,0.631,0.439,
+0.317,0.456,0.545,0.053,0.276,0.445,0.501,0.488,0.325,0.557,
+0.661,0.595,0.358,0.638,0.056,0.057,0.041,0.066,0.620,0.087,
+0.237,0.413,0.478,0.619,0.366,0.558,0.636,0.405,0.277,0.590,
+0.599,0.507,0.322,0.573,0.450,0.039,0.267,0.499,0.615,0.485,
+0.473,0.996,1.250,0.589,0.452,0.823,0.976,0.632,0.625,0.779,
+0.836,0.100,0.271,0.517,0.996,0.900,0.459,1.090,0.091,0.069,
+0.040,0.079,0.081,0.070,0.065,0.080,0.074,9.23e-3,0.037,0.065,
+0.118,0.140,0.054,0.129,0.645,0.639,0.453,0.674,0.063,0.055,
+0.048,0.079,0.557,0.057,0.246,0.420,0.509,0.613,0.446,0.683,
+0.702,0.430,0.385,0.772,0.780,0.588,0.507,0.808,0.678,0.072,
+0.356,0.652,0.871,0.691,0.693,1.250,1.680,0.664,0.541,1.170,
+0.738,0.452,0.523,0.616,0.787,0.072,0.349,0.608,1.400,0.833,
+0.571,1.420,0.973,0.604,0.403,0.690,0.599,0.484,0.426,0.524,
+0.636,0.051,0.340,0.584,0.810,0.781,0.468,0.991,0.775,0.687,
+0.531,0.805,0.060,0.051,0.045,0.079,0.588,0.047,0.380,0.566,
+0.707,0.777,0.657,1.010,1.400,0.730,0.677,1.580,0.854,0.653,
+0.584,1.050,1.050,0.077,0.630,1.120,1.900,1.380,1.480,3.200,
+1.930,1.130,0.748,1.580,1.110,0.792,0.585,0.769,0.834,0.086,
+0.439,0.686,1.210,1.090,0.589,1.310,1.310,0.836,0.502,0.783,
+0.880,0.735,0.597,0.620,0.730,0.073,0.441,0.557,0.678,0.750,
+0.457,0.848,0.716,0.672,0.446,0.754,0.066,0.072,0.049,0.091,
+0.484,0.056,0.289,0.463,0.472,0.643,0.443,0.790,0.823,0.527,
+0.389,0.796,0.796,0.716,0.448,0.737,0.504,0.048,0.311,0.563,
+0.738,0.669,0.719,1.510,1.410,0.947,0.463,0.847,1.060,1.000,
+0.486,0.641,0.589,0.071,0.267,0.448,0.575,0.642,0.333,0.730,
+1.040,0.979,0.388,0.632,1.110,1.080,0.517,0.685,0.675,0.120,
+0.366,0.519,0.532,0.721,0.375,0.644,0.777,0.839,0.403,0.718,
+0.082,0.113,0.062,0.089,0.746,0.106,0.333,0.578,0.468,0.814,
+0.481,0.782,0.628,0.479,0.277,0.580,0.782,0.809,0.454,0.685,
+0.545,0.051,0.303,0.623,0.578,0.697,0.575,1.120,0.944,0.540,
+0.339,0.666,0.806,0.689,0.520,0.816,0.633,0.082,0.262,0.438,
+0.601,0.619,0.403,0.885,0.059,0.052,0.028,0.053,0.061,0.114,
+0.054,0.069,0.055,0.017,0.041,0.052,0.054,0.095,0.044,0.079,
+0.705,0.818,0.472,0.732,0.073,0.080,0.061,0.093,0.936,0.092,
+0.338,0.507,0.546,0.776,0.545,0.781,0.676,0.432,0.386,0.775,
+0.840,0.805,0.732,0.989,0.746,0.064,0.440,0.722,0.742,0.664,
+0.799,1.340,1.060,0.606,0.419,0.778,0.630,0.495,0.414,0.525,
+0.653,0.059,0.302,0.475,0.811,0.638,0.470,1.050,0.899,0.726,
+0.417,0.703,0.664,0.830,0.461,0.642,0.606,0.076,0.385,0.584,
+0.624,0.901,0.509,0.968,0.655,0.696,0.554,0.830,0.054,0.060,
+0.046,0.091,0.585,0.056,0.443,0.603,0.543,0.751,0.630,0.985,
+0.948,0.571,0.527,1.010,0.811,0.717,0.632,1.510,0.848,0.069,
+0.601,0.945,1.280,1.120,1.220,2.470,1.420,1.030,0.699,1.350,
+1.080,0.904,0.758,0.933,0.873,0.085,0.433,0.675,0.896,0.704,
+0.432,0.949,1.180,0.989,0.459,0.808,0.904,0.819,0.579,0.660,
+0.822,0.098,0.576,0.762,0.723,0.962,0.513,0.954,0.837,1.010,
+0.628,0.956,0.099,0.126,0.120,0.164,0.625,0.088,0.375,0.599,
+0.515,1.010,0.555,0.881,0.917,0.635,0.439,0.949,0.848,0.795,
+0.569,0.927,0.880,0.085,0.561,0.917,0.954,0.888,1.010,1.890,
+0.087,0.077,0.052,0.079,0.179,0.135,0.066,0.076,0.055,9.32e-3,
+0.032,0.048,0.056,0.063,0.036,0.078,0.072,0.080,0.033,0.052,
+0.089,0.108,0.055,0.066,0.063,0.016,0.056,0.070,0.055,0.079,
+0.046,0.077,0.051,0.073,0.042,0.059,9.46e-3,0.021,0.019,0.013,
+0.057,0.016,0.044,0.058,0.041,0.090,0.053,0.080,0.078,0.058,
+0.036,0.083,0.087,0.125,0.069,0.112,0.065,0.011,0.046,0.082,
+0.083,0.088,0.093,0.172,1.020,0.751,0.468,0.632,0.998,1.060,
+0.777,0.739,0.803,0.131,0.485,0.633,0.633,0.756,0.604,1.000,
+0.071,0.088,0.039,0.056,0.088,0.121,0.070,0.063,0.075,0.022,
+0.078,0.073,0.066,0.117,0.066,0.098,0.821,1.030,0.685,0.792,
+0.091,0.135,0.111,0.107,0.805,0.123,0.416,0.629,0.497,0.899,
+0.708,0.873,0.749,0.544,0.438,0.632,0.933,1.050,0.839,0.888,
+0.996,0.111,0.767,0.954,0.788,0.871,1.020,1.400,1.150,0.786,
+0.483,0.851,0.914,0.742,0.483,0.621,0.693,0.075,0.438,0.642,
+0.784,0.687,0.501,1.110,1.200,1.040,0.549,0.847,1.220,1.090,
+0.669,0.716,0.990,0.107,0.773,0.959,0.860,1.190,0.774,1.320,
+1.150,1.150,1.010,1.180,0.094,0.117,0.098,0.124,1.020,0.104,
+0.728,0.963,0.819,1.270,0.956,1.300,1.160,0.750,0.657,1.040,
+0.896,0.932,0.721,0.959,1.220,0.105,1.010,1.200,1.420,1.440,
+1.380,2.160,3.140,1.240,0.817,1.930,1.120,0.726,0.602,0.949,
+1.020,0.097,0.476,0.934,1.420,1.070,0.692,1.980,1.320,0.796,
+0.421,0.841,0.822,0.615,0.379,0.590,0.758,0.062,0.391,0.697,
+0.675,0.672,0.427,0.977,1.130,0.958,0.593,1.290,0.080,0.080,
+0.053,0.134,0.692,0.069,0.407,0.766,0.738,0.858,0.600,1.220,
+1.750,0.950,0.716,1.780,1.040,0.807,0.617,1.310,1.060,0.085,
+0.721,1.230,1.670,1.280,1.300,3.340,1.860,1.050,0.653,1.300,
+1.370,1.020,0.578,0.850,0.751,0.077,0.409,0.743,0.833,0.819,
+0.469,1.190,1.440,1.070,0.463,0.921,1.200,1.210,0.531,0.826,
+0.873,0.085,0.525,0.916,0.717,0.829,0.479,1.170,1.040,1.020,
+0.534,1.100,0.073,0.094,0.056,0.107,0.855,0.090,0.470,0.878,
+0.826,1.150,0.689,1.440,1.130,0.741,0.504,1.190,0.994,0.982,
+0.609,1.430,0.928,0.077,0.576,1.130,1.200,1.130,0.947,3.440,
+1.900,0.999,0.733,1.100,1.430,1.100,0.850,1.300,1.170,0.147,
+0.944,1.260,1.150,1.070,0.922,1.880,0.127,0.089,0.048,0.095,
+0.089,0.105,0.068,0.104,0.070,0.014,0.139,0.176,0.092,0.119,
+0.079,0.177,1.500,1.400,0.886,1.440,0.105,0.107,0.088,0.149,
+1.280,0.137,0.957,1.200,1.080,1.440,1.540,1.950,1.530,0.979,
+0.852,1.420,1.580,1.300,1.140,1.840,1.710,0.131,1.270,1.910,
+1.580,1.310,1.780,2.940,3.610,1.570,0.976,2.220,1.450,1.030,
+0.731,1.170,1.530,0.132,0.746,1.390,2.270,1.540,1.150,3.280,
+1.980,1.340,0.786,1.570,1.350,1.160,0.819,1.380,1.260,0.100,
+0.958,1.650,1.440,1.440,1.020,3.220,2.010,1.700,1.170,2.200,
+0.110,0.109,0.085,0.182,1.770,0.137,1.250,2.020,1.890,2.160,
+1.960,3.300,3.500,1.400,1.170,2.980,1.620,1.230,1.180,2.640,
+2.150,0.131,1.620,3.010,2.380,1.920,1.770,4.570,7.920,2.880,
+2.510,4.260,3.220,1.670,1.580,2.090,4.020,0.326,1.490,2.130,
+4.670,2.850,2.030,3.460,3.990,1.880,1.460,1.860,2.060,1.120,
+1.130,1.090,2.470,0.170,1.180,1.440,1.770,1.390,1.120,1.650,
+4.370,2.140,1.660,2.270,0.276,0.187,0.159,0.298,2.100,0.174,
+1.160,1.410,1.750,1.810,1.360,1.790,4.630,1.950,1.940,3.880,
+2.760,1.880,1.660,2.660,2.340,0.191,1.270,1.900,3.120,1.800,
+1.830,3.050,4.470,2.250,1.480,2.130,2.380,1.500,1.150,1.200,
+2.130,0.214,0.981,1.360,1.700,1.650,0.939,1.590,2.660,1.560,
+1.010,1.230,1.570,0.962,0.904,0.819,1.780,0.171,1.070,1.180,
+1.010,1.070,0.781,0.960,2.200,1.670,1.140,1.390,0.200,0.155,
+0.148,0.149,1.720,0.167,0.999,1.260,1.060,1.430,0.901,1.200,
+1.720,1.040,0.859,1.340,1.640,1.150,1.420,1.320,1.700,0.127,
+0.975,1.310,1.380,1.140,1.030,1.750,4.570,1.310,1.180,1.500,
+1.750,1.030,1.070,1.040,2.250,0.235,0.920,1.410,1.610,1.300,
+1.080,2.120,0.240,0.146,0.102,0.146,0.159,0.127,0.114,0.109,
+0.179,0.026,0.123,0.159,0.189,0.233,0.143,0.234,1.490,1.020,
+0.982,1.340,0.129,0.087,0.087,0.136,1.300,0.121,0.704,0.888,
+0.843,1.060,0.840,0.979,1.340,0.753,0.755,1.270,1.430,1.000,
+1.020,1.270,1.430,0.130,1.090,1.340,1.100,0.986,1.120,1.700,
+4.200,1.650,1.410,2.710,1.570,0.893,0.965,1.130,2.170,0.212,
+0.953,1.640,2.680,1.750,1.510,3.720,2.660,1.630,1.220,1.580,
+1.750,1.080,1.100,1.080,1.820,0.137,1.210,1.670,1.780,1.590,
+1.430,2.130,1.710,1.240,1.030,1.370,0.136,0.097,0.090,0.130,
+1.460,0.103,0.869,1.240,1.210,1.280,1.150,1.430,2.410,1.230,
+1.130,2.260,1.290,0.920,0.920,1.390,2.030,0.126,1.230,1.930,
+2.300,1.610,1.690,2.900,3.720,2.040,1.450,2.270,1.850,1.320,
+1.120,1.190,1.580,0.166,0.745,1.130,1.530,1.380,0.891,1.430,
+2.230,1.550,0.912,1.150,1.390,0.913,0.904,0.821,1.260,0.190,
+0.778,0.985,0.807,1.010,0.694,1.000,1.330,1.310,0.824,0.985,
+0.131,0.147,0.105,0.127,1.100,0.120,0.963,0.814,0.711,1.090,
+0.963,0.968,1.390,0.793,0.693,1.100,1.300,1.210,0.736,0.956,
+1.200,0.198,0.686,0.933,1.030,0.918,0.848,1.540,2.520,1.760,
+0.976,1.330,1.640,1.350,0.939,0.859,1.320,0.153,0.601,0.882,
+0.887,1.130,0.549,0.903,1.490,1.150,0.629,0.731,0.973,0.567,
+0.648,0.557,1.110,0.136,0.627,0.884,0.567,0.789,0.528,0.644,
+1.200,1.480,0.738,0.845,0.124,0.220,0.092,0.096,1.210,0.183,
+0.768,0.901,0.681,1.510,0.700,0.881,0.938,0.679,0.458,0.687,
+1.050,1.040,0.602,0.681,1.480,0.115,0.569,0.936,0.824,0.851,
+0.571,1.090,1.580,1.000,0.608,0.989,1.300,0.963,0.869,0.794,
+1.140,0.155,0.579,0.905,0.753,0.872,0.644,1.070,0.104,0.118,
+0.063,0.147,0.105,0.121,0.100,0.071,0.111,0.034,0.092,0.113,
+0.073,0.171,0.084,0.107,0.961,0.997,0.797,0.812,0.098,0.106,
+0.086,0.085,0.935,0.126,0.665,0.808,0.498,0.954,0.751,0.779,
+0.713,0.467,0.484,0.613,0.934,0.905,0.722,0.838,0.874,0.091,
+0.790,0.993,0.556,0.642,0.718,0.951,1.500,0.796,0.681,1.010,
+0.909,0.623,0.857,0.612,0.855,0.082,0.443,0.718,0.903,0.697,
+0.603,1.240,1.260,0.992,0.714,1.020,0.973,0.848,0.706,0.660,
+0.877,0.097,0.628,0.973,0.700,0.977,0.702,1.100,0.927,0.909,
+0.795,0.891,0.075,0.088,0.064,0.079,0.854,0.087,0.702,0.916,
+0.657,0.904,0.801,1.040,1.100,0.651,0.630,0.973,0.860,0.709,
+0.567,0.790,1.140,0.088,0.760,1.210,1.140,1.030,1.050,1.700,
+3.310,1.610,1.200,2.040,1.240,0.783,0.616,0.735,2.530,0.163,
+0.662,0.852,1.330,1.060,0.607,1.120,2.020,1.770,0.794,1.130,
+1.090,0.809,0.651,0.666,1.440,0.154,0.763,0.884,0.843,1.080,
+0.553,0.853,1.280,1.410,0.926,1.100,0.152,0.211,0.114,0.175,
+0.987,0.117,0.609,0.749,0.676,1.070,0.614,1.110,1.370,1.180,
+0.726,1.280,1.300,1.570,0.709,0.969,1.260,0.134,0.706,1.020,
+1.150,0.893,0.921,2.020,0.201,0.147,0.086,0.133,0.163,0.122,
+0.089,0.089,0.133,0.022,0.062,0.087,0.095,0.121,0.062,0.103,
+0.163,0.135,0.065,0.081,0.119,0.105,0.081,0.070,0.131,0.031,
+0.079,0.093,0.071,0.116,0.053,0.073,0.107,0.136,0.077,0.088,
+0.018,0.032,0.024,0.017,0.112,0.027,0.090,0.099,0.072,0.143,
+0.072,0.108,0.159,0.128,0.081,0.147,0.212,0.280,0.162,0.163,
+0.152,0.020,0.115,0.149,0.130,0.127,0.110,0.213,1.270,0.753,
+0.619,0.711,0.873,0.661,0.610,0.589,1.050,0.152,0.632,0.818,
+0.632,0.703,0.561,0.819,0.101,0.095,0.049,0.066,0.071,0.072,
+0.065,0.051,0.102,0.026,0.091,0.085,0.075,0.114,0.064,0.078,
+0.899,0.901,0.612,0.613,0.089,0.100,0.075,0.078,0.972,0.132,
+0.582,0.701,0.511,0.787,0.582,0.598,0.854,0.545,0.451,0.522,
+0.765,0.791,0.625,0.666,1.000,0.141,1.170,1.120,0.569,0.727,
+0.681,0.833,1.170,0.573,0.456,0.797,0.713,0.402,0.340,0.432,
+0.790,0.078,0.393,0.738,0.871,0.622,0.432,0.960,1.220,0.845,
+0.558,0.817,0.907,0.698,0.552,0.553,0.953,0.092,0.613,0.821,
+0.888,0.927,0.570,0.831,1.030,0.914,0.613,0.770,0.097,0.103,
+0.060,0.080,1.020,0.105,0.649,0.905,0.814,1.080,0.719,1.010,
+1.020,0.577,0.577,0.745,0.867,0.759,0.571,0.682,1.150,0.102,
+0.895,1.200,1.190,1.050,0.976,1.690,3.630,1.590,1.340,3.050,
+1.230,0.682,0.674,0.854,1.500,0.130,0.568,0.989,1.980,1.200,
+0.826,1.830,1.530,0.804,0.560,0.933,0.800,0.472,0.451,0.551,
+1.020,0.084,0.498,0.756,0.752,0.647,0.435,0.786,1.180,0.851,
+0.580,1.120,0.099,0.087,0.059,0.134,0.825,0.069,0.409,0.640,
+0.727,0.745,0.502,0.935,1.630,0.833,0.779,1.800,1.130,0.826,
+0.673,1.130,1.180,0.101,0.743,1.100,1.600,1.120,1.090,2.690,
+2.330,1.200,0.875,1.460,1.560,0.874,0.791,0.823,1.290,0.131,
+0.572,0.979,1.050,0.991,0.591,1.090,1.710,0.912,0.538,0.796,
+1.010,0.689,0.505,0.567,1.150,0.208,0.581,0.916,0.707,0.875,
+0.411,0.737,1.160,0.900,0.587,0.882,0.091,0.086,0.059,0.089,
+0.950,0.092,0.570,0.881,0.711,0.925,0.553,0.937,1.260,0.699,
+0.590,1.120,1.210,0.936,0.685,1.030,1.110,0.087,0.695,1.080,
+1.080,0.936,0.785,1.650,1.300,0.787,0.598,1.080,1.020,0.619,
+0.615,0.733,1.060,0.143,0.517,0.852,0.873,0.897,0.604,1.080,
+0.086,0.070,0.046,0.083,0.065,0.057,0.057,0.055,0.086,0.014,
+0.062,0.096,0.079,0.105,0.059,0.090,0.817,0.737,0.560,0.714,
+0.063,0.056,0.068,0.074,0.939,0.083,0.514,0.697,0.695,0.721,
+0.848,0.799,0.815,0.518,0.479,0.727,0.874,0.626,0.627,0.838,
+0.992,0.104,0.681,1.050,0.786,0.734,0.760,1.170,2.350,0.896,
+0.725,1.390,0.979,0.588,0.562,0.652,1.180,0.105,0.523,0.951,
+1.510,0.988,0.828,1.950,0.958,0.562,0.418,0.720,0.611,0.368,
+0.391,0.477,0.803,0.059,0.489,0.841,0.808,0.738,0.537,0.998,
+1.370,1.040,0.745,1.110,0.103,0.073,0.059,0.093,1.200,0.098,
+0.699,1.100,1.180,1.260,1.140,1.450,1.920,0.939,0.968,1.810,
+1.260,1.030,0.820,1.220,1.700,0.096,1.170,1.910,2.460,1.630,
+1.680,3.210,4.650,2.850,2.290,3.490,2.910,1.980,1.650,1.880,
+2.600,0.286,1.350,1.880,3.200,2.510,1.540,2.420,2.840,2.070,
+1.260,1.420,2.070,1.400,1.250,1.140,1.890,0.195,1.310,1.520,
+1.270,1.450,1.080,1.470,1.640,1.500,1.100,1.360,0.191,0.159,
+0.129,0.204,1.230,0.147,0.792,0.971,1.030,1.360,0.993,1.420,
+2.050,1.270,0.971,1.890,1.820,1.420,1.020,1.530,1.510,0.143,
+0.988,1.550,1.650,1.270,1.400,2.370,3.680,2.660,1.310,1.790,
+2.970,2.400,1.370,1.270,2.060,0.290,1.120,1.420,1.400,1.820,
+0.904,1.500,2.360,2.050,0.989,1.110,1.930,1.310,1.100,1.020,
+1.810,0.298,1.340,1.650,0.927,1.430,0.846,1.220,1.950,2.010,
+1.000,1.070,0.434,0.228,0.159,0.151,1.700,0.268,1.300,1.470,
+0.953,1.920,1.160,1.260,1.300,0.945,0.536,0.847,1.970,1.310,
+0.817,0.960,1.250,0.142,0.960,1.500,0.992,1.180,0.999,1.710,
+1.780,1.150,0.759,1.000,1.720,1.220,0.965,0.939,1.980,0.264,
+0.914,1.310,1.090,1.200,0.834,1.470,0.145,0.169,0.096,0.113,
+0.177,0.203,0.143,0.127,0.175,0.054,0.156,0.180,0.117,0.261,
+0.122,0.167,0.853,0.954,0.751,0.723,0.102,0.105,0.085,0.101,
+0.976,0.149,0.751,0.941,0.558,0.923,0.731,0.802,0.850,0.538,
+0.426,0.631,1.020,1.000,0.738,0.880,1.010,0.132,0.884,1.090,
+0.723,0.853,0.972,1.310,2.000,1.090,0.753,1.440,0.960,0.632,
+0.518,0.683,1.210,0.148,0.595,1.010,1.240,0.997,0.724,1.710,
+1.760,1.680,0.937,1.190,1.390,1.190,0.945,0.947,1.220,0.146,
+0.953,1.340,0.928,1.350,0.866,1.320,0.865,0.841,0.799,0.904,
+0.095,0.077,0.082,0.096,0.819,0.091,0.679,0.863,0.627,0.902,
+0.826,1.020,1.180,0.745,0.571,1.130,0.816,0.739,0.611,0.845,
+1.330,0.110,0.969,1.480,1.370,1.280,1.400,2.350,3.100,2.190,
+1.580,2.080,2.370,1.990,1.650,1.460,1.420,0.192,0.848,1.160,
+1.290,1.470,0.887,1.440,2.610,2.010,1.200,1.230,2.180,1.570,
+1.750,1.250,1.470,0.237,1.220,1.350,0.766,1.260,0.813,1.310,
+1.080,1.420,0.936,0.932,0.144,0.197,0.157,0.160,0.941,0.137,
+0.845,0.875,0.606,1.090,0.820,1.060,1.060,0.686,0.601,0.928,
+1.170,1.240,0.822,0.949,0.850,0.102,0.701,0.989,0.842,0.769,
+0.865,1.540,2.120,2.090,0.962,1.150,1.990,2.170,1.280,1.010,
+1.390,0.227,0.929,1.100,0.780,1.310,0.628,0.960,1.370,1.410,
+0.762,0.733,0.869,0.332,0.751,0.616,1.150,0.256,0.975,1.270,
+0.505,1.100,0.709,0.800,1.050,1.840,0.891,0.893,0.189,0.298,
+0.174,0.154,1.320,0.289,1.090,1.390,0.639,1.910,1.040,1.120,
+0.760,0.683,0.412,0.577,1.110,1.390,0.702,0.787,1.000,0.136,
+0.797,1.480,0.638,0.891,0.703,1.400,1.510,1.240,0.692,0.905,
+2.020,1.920,1.400,1.160,1.620,0.357,0.945,1.370,0.875,1.750,
+0.844,1.270,0.127,0.221,0.098,0.113,0.260,0.314,0.236,0.148,
+0.236,0.143,0.243,0.202,0.108,0.604,0.139,0.141,0.902,1.360,
+0.937,0.838,0.160,0.249,0.174,0.141,1.190,0.233,1.060,1.160,
+0.540,1.490,1.080,0.975,0.678,0.572,0.470,0.583,1.280,1.980,
+1.250,1.190,1.070,0.161,1.090,1.280,0.657,0.935,0.995,1.260,
+1.150,0.835,0.562,0.842,0.935,0.735,0.567,0.598,0.793,0.104,
+0.509,0.790,0.712,0.792,0.506,1.040,1.150,1.350,0.790,1.060,
+1.290,1.350,0.957,0.883,1.120,0.239,0.889,1.140,0.626,1.630,
+0.736,0.958,0.645,0.919,0.729,0.758,0.076,0.115,0.080,0.092,
+0.688,0.098,0.787,0.854,0.486,0.947,0.820,0.908,0.742,0.528,
+0.433,0.691,0.734,0.811,0.538,0.705,0.861,0.082,0.749,1.040,
+0.814,1.020,0.981,1.500,2.150,1.640,1.170,1.540,1.610,1.210,
+0.824,1.020,1.440,0.175,0.712,0.960,1.160,1.180,0.667,1.150,
+1.880,1.890,0.860,1.120,1.700,1.540,1.150,1.110,2.190,0.330,
+1.530,1.550,0.859,1.500,0.759,1.090,1.080,1.690,0.936,1.120,
+0.162,0.241,0.164,0.233,1.260,0.217,0.910,1.140,0.761,1.370,
+0.837,1.830,0.928,0.764,0.495,0.955,1.170,1.390,0.749,1.030,
+1.280,0.159,0.993,1.350,1.090,0.915,0.971,2.040,0.160,0.162,
+0.088,0.114,0.285,0.266,0.202,0.145,0.147,0.044,0.110,0.136,
+0.092,0.169,0.083,0.124,0.145,0.196,0.086,0.097,0.225,0.285,
+0.191,0.151,0.237,0.126,0.215,0.234,0.080,0.209,0.096,0.111,
+0.099,0.222,0.121,0.103,0.043,0.096,0.068,0.041,0.198,0.097,
+0.233,0.213,0.086,0.256,0.151,0.175,0.101,0.100,0.059,0.100,
+0.234,0.340,0.165,0.192,0.166,0.039,0.198,0.227,0.111,0.143,
+0.146,0.230,1.510,1.250,0.791,0.883,1.410,1.620,1.230,1.020,
+1.620,0.342,1.180,1.350,0.906,1.320,0.910,1.140,0.137,0.217,
+0.105,0.095,0.157,0.284,0.215,0.126,0.207,0.098,0.298,0.218,
+0.100,0.249,0.132,0.116,0.951,1.700,0.941,0.878,0.167,0.292,
+0.190,0.156,1.610,0.387,1.030,1.380,0.705,1.700,1.030,1.010,
+0.750,0.750,0.540,0.643,1.300,2.240,1.180,1.170,1.800,0.407,
+2.580,1.890,0.784,1.330,1.270,1.280,1.040,0.720,0.562,1.120,
+0.737,0.550,0.436,0.641,0.878,0.132,0.602,1.600,0.733,0.742,
+0.478,1.080,1.320,1.410,0.768,0.911,1.330,1.510,0.990,0.971,
+1.480,0.230,1.290,1.600,0.869,1.580,0.875,1.080,0.895,1.400,
+0.868,0.880,0.104,0.180,0.119,0.116,1.460,0.234,1.180,1.440,
+0.833,1.800,1.100,1.260,0.797,0.612,0.475,0.699,0.844,0.983,
+0.735,0.788,1.330,0.163,1.500,1.610,1.090,1.320,1.230,1.600,
+1.930,1.060,0.852,1.620,1.110,0.666,0.659,0.969,1.100,0.108,
+0.465,0.880,1.180,0.943,0.617,1.290,1.190,0.857,0.488,0.746,
+0.791,0.584,0.479,0.696,0.914,0.096,0.532,0.798,0.657,0.693,
+0.461,0.807,0.763,0.731,0.435,0.726,0.070,0.067,0.044,0.100,
+0.611,0.070,0.366,0.620,0.548,0.636,0.450,0.857,0.946,0.544,
+0.459,1.040,0.779,0.620,0.439,0.874,0.816,0.070,0.492,0.961,
+1.020,0.725,0.759,1.920,2.010,1.310,0.960,1.270,1.720,1.320,
+1.750,1.200,1.300,0.173,0.824,1.210,0.995,1.250,0.692,1.320,
+1.470,1.240,0.616,0.837,1.370,1.200,0.875,0.963,1.480,0.305,
+0.936,1.580,0.823,1.360,0.687,1.260,0.902,1.120,0.635,0.794,
+0.105,0.136,0.090,0.112,1.010,0.155,0.890,1.240,0.743,1.320,
+0.826,1.220,0.917,0.693,0.503,0.861,1.240,1.310,0.769,1.160,
+1.030,0.111,0.894,1.350,0.984,1.080,1.000,1.910,1.020,0.785,
+0.579,0.763,0.997,0.840,0.726,0.813,1.150,0.171,0.720,1.020,
+0.798,0.923,0.763,1.230,0.077,0.085,0.052,0.074,0.084,0.111,
+0.094,0.079,0.086,0.024,0.090,0.107,0.071,0.129,0.079,0.101,
+0.659,0.835,0.537,0.672,0.070,0.085,0.067,0.091,0.891,0.134,
+0.694,0.894,0.585,0.989,0.826,0.875,0.639,0.565,0.470,0.680,
+0.871,0.883,0.654,0.956,1.130,0.155,1.080,1.320,0.754,0.875,
+1.010,1.380,1.390,0.766,0.625,1.070,0.740,0.572,0.437,0.561,
+0.922,0.105,0.563,0.946,0.903,0.725,0.664,1.390,0.969,0.765,
+0.509,0.751,0.748,0.663,0.569,0.651,0.771,0.070,0.597,0.909,
+0.738,0.811,0.654,1.020,0.920,0.967,0.655,0.908,0.076,0.080,
+0.054,0.085,1.040,0.110,0.806,1.200,0.965,1.430,1.070,1.390,
+1.250,0.802,0.795,1.370,1.130,1.210,0.854,1.100,1.500,0.117,
+1.760,2.140,1.880,1.610,1.950,2.400,3.030,1.750,1.460,2.290,
+1.840,1.230,1.120,1.250,1.860,0.190,0.828,1.190,1.970,1.540,
+0.959,1.520,1.450,0.894,0.645,0.852,1.070,0.701,0.737,0.770,
+1.040,0.110,0.655,0.732,0.748,0.779,0.565,0.762,1.170,0.985,
+0.794,0.960,0.113,0.093,0.089,0.153,0.838,0.083,0.546,0.720,
+0.665,0.816,0.633,0.843,1.520,0.921,0.629,1.180,1.170,0.834,
+0.739,1.020,0.977,0.087,0.557,0.843,1.110,0.700,0.886,1.590,
+2.850,1.760,1.170,1.660,2.180,1.670,1.490,1.400,1.830,0.228,
+0.891,1.120,1.320,1.530,0.778,1.230,1.670,1.330,0.871,0.941,
+1.430,0.916,1.140,0.981,1.600,0.245,1.000,1.200,0.870,1.210,
+0.647,0.824,1.700,1.690,1.200,1.190,0.223,0.195,0.190,0.184,
+1.670,0.221,1.120,1.340,1.060,1.600,1.030,1.080,1.210,0.844,
+0.580,0.900,1.580,1.300,1.050,1.170,1.130,0.112,0.756,1.040,
+0.901,0.872,0.995,1.430,2.440,0.961,0.829,1.160,2.100,1.380,
+1.450,1.350,8.260,0.724,1.390,1.560,2.310,1.570,1.010,1.510,
+0.190,0.163,0.105,0.138,0.232,0.209,0.204,0.183,0.490,0.084,
+0.196,0.203,0.274,0.426,0.152,0.214,0.865,0.943,0.969,0.797,
+0.120,0.144,0.122,0.134,1.280,0.221,0.806,0.800,0.667,1.330,
+0.710,0.718,0.722,0.474,0.502,0.631,1.140,1.090,0.978,1.090,
+1.250,0.142,0.797,0.953,0.829,0.823,0.840,1.240,1.920,0.776,
+0.698,1.300,1.070,0.655,0.701,0.974,2.090,0.180,0.652,0.916,
+2.040,1.160,0.734,1.610,1.440,0.892,0.765,0.925,1.370,0.892,
+1.130,1.070,1.710,0.162,0.841,1.080,1.330,1.330,0.700,1.100,
+0.985,0.897,0.948,1.000,0.101,0.091,0.095,0.132,1.030,0.114,
+0.772,1.030,0.806,1.160,0.920,1.160,1.310,0.708,0.702,1.230,
+0.905,0.741,0.775,1.080,1.420,0.118,0.977,1.550,1.790,1.360,
+1.600,3.000,0.226,0.157,0.122,0.150,0.191,0.163,0.137,0.150,
+0.153,0.023,0.093,0.101,0.135,0.152,0.094,0.123,0.268,0.159,
+0.111,0.152,0.193,0.176,0.180,0.237,0.141,0.029,0.144,0.119,
+0.088,0.122,0.092,0.112,0.110,0.134,0.112,0.109,0.022,0.027,
+0.028,0.029,0.108,0.020,0.097,0.102,0.065,0.126,0.087,0.103,
+0.121,0.088,0.066,0.112,0.162,0.150,0.133,0.146,0.133,0.019,
+0.083,0.125,0.105,0.094,0.107,0.164,0.221,0.206,0.117,0.147,
+0.246,0.268,0.214,0.153,0.183,0.048,0.109,0.115,0.106,0.181,
+0.080,0.111,0.208,0.227,0.119,0.115,0.230,0.192,0.226,0.177,
+0.205,0.052,0.156,0.171,0.087,0.161,0.096,0.102,0.167,0.243,
+0.183,0.130,0.046,0.070,0.071,0.036,0.227,0.073,0.190,0.189,
+0.090,0.239,0.156,0.142,0.122,0.099,0.073,0.097,0.267,0.265,
+0.192,0.161,0.148,0.023,0.112,0.145,0.088,0.107,0.114,0.170,
+0.167,0.117,0.080,0.096,0.223,0.237,0.213,0.148,0.453,0.096,
+0.152,0.141,0.142,0.208,0.106,0.131,0.020,0.031,0.018,0.018,
+0.041,0.064,0.062,0.036,0.066,0.050,0.057,0.040,0.021,0.074,
+0.027,0.024,0.114,0.190,0.221,0.151,0.028,0.054,0.057,0.034,
+0.297,0.136,0.181,0.168,0.108,0.415,0.153,0.126,0.089,0.070,
+0.083,0.082,0.173,0.241,0.214,0.197,0.172,0.035,0.156,0.159,
+0.087,0.130,0.128,0.150,0.200,0.149,0.115,0.153,0.156,0.129,
+0.123,0.130,0.214,0.027,0.104,0.121,0.214,0.164,0.123,0.211,
+0.260,0.238,0.206,0.191,0.340,0.326,0.342,0.271,0.363,0.064,
+0.247,0.253,0.244,0.400,0.201,0.249,0.117,0.160,0.154,0.143,
+0.020,0.036,0.029,0.031,0.172,0.034,0.160,0.196,0.113,0.212,
+0.184,0.207,0.162,0.123,0.110,0.156,0.167,0.219,0.156,0.190,
+0.199,0.024,0.165,0.241,0.198,0.203,0.223,0.340,1.710,1.010,
+0.731,1.080,1.020,0.860,0.693,0.745,1.020,0.118,0.601,0.667,
+0.719,0.663,0.466,0.669,1.150,0.935,0.593,0.645,1.040,0.953,
+0.934,0.685,1.210,0.163,0.981,0.925,0.545,0.797,0.525,0.599,
+0.937,1.120,1.450,0.929,0.163,0.214,0.625,0.252,1.470,0.195,
+0.890,0.912,0.639,1.360,0.703,0.787,0.742,0.553,0.515,0.765,
+0.950,0.913,1.460,1.010,1.070,0.128,0.763,1.010,0.766,0.733,
+0.773,1.320,0.135,0.129,0.070,0.097,0.153,0.208,0.145,0.121,
+0.106,0.026,0.083,0.089,0.063,0.098,0.052,0.079,0.104,0.118,
+0.063,0.060,0.149,0.185,0.154,0.098,0.119,0.043,0.148,0.127,
+0.059,0.093,0.055,0.057,0.107,0.197,0.458,0.125,0.034,0.071,
+0.524,0.053,0.173,0.065,0.214,0.165,0.072,0.185,0.129,0.099,
+0.105,0.083,0.088,0.102,0.181,0.238,0.579,0.214,0.140,0.025,
+0.136,0.174,0.086,0.102,0.102,0.148,0.979,0.788,0.576,0.520,
+1.100,1.380,1.400,0.836,1.180,0.220,1.080,0.909,0.526,0.718,
+0.659,0.712,0.096,0.146,0.095,0.061,0.127,0.201,0.423,0.098,
+0.151,0.057,0.274,0.158,0.085,0.147,0.114,0.087,0.910,1.140,
+1.000,0.712,0.143,0.177,0.214,0.147,1.280,0.241,0.573,0.709,
+0.477,0.849,0.772,0.691,0.535,0.425,0.390,0.402,0.773,0.933,
+0.855,0.785,0.960,0.149,1.050,0.935,0.462,0.612,0.706,0.776,
+0.795,0.518,0.414,0.573,0.621,0.512,0.400,0.432,0.723,0.092,
+0.519,0.707,0.654,0.522,0.365,0.642,0.934,0.969,0.578,0.563,
+1.060,1.110,1.310,0.691,1.120,0.171,1.150,1.100,1.170,1.080,
+0.698,0.796,0.812,1.260,0.785,0.754,0.119,0.256,0.148,0.127,
+1.160,0.166,1.190,1.220,0.691,1.130,0.934,0.968,0.665,0.514,
+0.400,0.572,0.789,0.890,0.620,0.673,0.958,0.110,0.995,1.130,
+0.774,0.839,0.864,1.130,1.530,0.748,0.610,1.090,0.723,0.493,
+0.459,0.599,0.742,0.085,0.379,0.574,0.769,0.631,0.504,0.855,
+0.889,0.560,0.416,0.522,0.569,0.425,0.415,0.424,0.551,0.051,
+0.381,0.501,0.384,0.380,0.311,0.454,0.680,0.673,0.562,0.619,
+0.065,0.065,0.081,0.096,0.607,0.064,0.372,0.517,0.475,0.657,
+0.415,0.588,0.766,0.465,0.454,0.776,0.615,0.490,0.546,0.744,
+0.764,0.065,0.393,0.623,0.824,0.582,0.632,1.200,1.830,1.310,
+0.848,1.350,1.330,1.180,0.975,0.990,1.060,0.131,0.684,0.920,
+0.856,1.010,0.587,1.040,1.280,1.160,0.653,0.801,1.240,1.300,
+0.959,0.875,0.963,0.125,0.842,1.030,0.611,0.819,0.539,0.723,
+1.140,1.510,1.850,1.080,0.107,0.167,0.493,0.157,1.130,0.162,
+1.020,1.210,0.827,1.410,0.948,1.120,1.000,0.756,0.768,0.957,
+1.170,1.270,1.520,1.290,1.090,0.119,0.845,1.160,0.901,1.000,
+0.858,1.390,1.080,0.757,0.586,0.742,0.962,0.893,0.892,0.850,
+1.160,0.157,0.758,1.030,0.745,0.738,0.637,1.010,0.087,0.109,
+0.058,0.077,0.101,0.154,0.135,0.101,0.097,0.026,0.121,0.127,
+0.077,0.114,0.074,0.094,0.797,1.820,0.735,0.784,0.083,0.133,
+0.092,0.119,1.050,0.153,0.745,0.923,0.645,0.994,0.786,0.810,
+0.649,0.643,0.491,0.629,0.895,0.986,0.883,1.140,0.980,0.106,
+0.860,1.080,0.717,0.770,0.916,1.140,1.500,0.712,0.661,1.030,
+0.781,0.606,0.568,0.598,0.972,0.134,0.571,0.933,0.939,0.617,
+0.541,1.170,1.060,0.874,0.499,0.684,0.848,0.796,0.701,0.678,
+0.793,0.078,0.648,0.900,0.775,0.702,0.572,0.841,0.926,1.120,
+0.821,0.977,0.098,0.169,0.080,0.115,1.130,0.137,0.982,1.340,
+0.967,1.260,1.070,1.210,1.340,0.801,0.767,1.260,1.220,1.800,
+0.858,1.110,1.330,0.130,1.090,1.630,1.520,1.190,1.340,1.990,
+3.070,1.570,1.440,2.870,1.560,0.867,0.796,1.130,1.640,0.143,
+0.662,1.120,2.280,1.560,0.917,1.760,1.400,0.677,0.536,0.788,
+0.859,0.455,0.447,0.514,0.892,0.067,0.579,0.576,0.736,0.656,
+0.401,0.674,1.230,0.726,0.598,1.030,0.108,0.062,0.055,0.126,
+0.697,0.057,0.388,0.586,0.661,0.682,0.493,0.857,1.800,0.853,
+0.746,1.510,1.200,0.704,0.630,1.100,1.040,0.080,0.619,0.914,
+1.470,0.874,0.971,2.200,1.830,0.895,0.628,1.110,0.989,0.598,
+0.499,0.680,0.905,0.092,0.440,0.657,0.943,0.870,0.427,0.893,
+1.030,0.611,0.396,0.600,0.631,0.315,0.365,0.463,0.716,0.063,
+0.414,0.547,0.605,0.535,0.335,0.562,1.130,0.788,0.604,0.791,
+0.140,0.064,0.052,0.077,0.746,0.064,0.388,0.559,0.628,0.687,
+0.504,0.717,0.955,0.578,0.449,0.767,0.987,0.528,0.401,0.599,
+0.685,0.047,0.374,0.618,0.703,0.542,0.546,1.190,1.610,0.643,
+0.568,1.050,1.030,0.561,0.552,0.834,1.940,0.166,0.456,0.742,
+1.680,1.000,0.594,1.330,0.132,0.073,0.052,0.099,0.099,0.063,
+0.066,0.089,0.136,0.014,0.055,0.087,0.177,0.178,0.072,0.152,
+0.686,0.501,0.532,0.664,0.065,0.043,0.043,0.074,0.641,0.070,
+0.338,0.468,0.544,0.653,0.483,0.625,0.689,0.366,0.423,0.668,
+0.793,0.509,0.504,0.742,0.710,0.060,0.419,0.665,0.780,0.594,
+0.656,1.180,2.200,0.791,0.735,1.600,0.920,0.487,0.502,0.817,
+1.710,0.142,0.569,0.914,2.920,1.490,0.882,2.210,1.490,0.698,
+0.611,0.898,0.945,0.518,0.606,0.730,1.230,0.085,0.559,0.829,
+1.410,1.120,0.653,1.280,1.020,0.746,0.714,0.974,0.078,0.054,
+0.053,0.088,0.855,0.061,0.488,0.734,0.854,0.845,0.672,1.010,
+1.590,0.763,0.758,1.520,0.942,0.702,0.648,1.010,1.400,0.088,
+0.786,1.430,2.260,1.510,1.550,3.410,2.460,1.320,1.000,1.740,
+1.390,0.930,0.788,0.948,1.180,0.122,0.610,0.855,1.330,1.200,
+0.686,1.280,1.640,0.914,0.725,1.090,1.050,0.777,0.719,0.773,
+0.908,0.102,1.360,0.824,0.658,0.737,0.591,0.834,0.974,0.864,
+0.678,0.951,0.106,0.095,0.074,0.118,0.745,0.082,0.562,0.797,
+0.604,0.847,0.586,0.930,1.040,0.607,0.520,0.924,0.996,0.792,
+0.608,0.876,0.906,0.097,0.565,0.843,0.938,0.729,0.792,1.480,
+1.840,1.180,0.713,1.190,1.350,1.030,0.771,0.799,0.944,0.122,
+0.456,0.660,0.907,1.130,0.464,0.903,1.240,0.984,0.543,0.695,
+0.989,0.679,0.643,0.671,0.879,0.114,0.578,0.726,0.576,0.753,
+0.457,0.633,1.130,1.200,0.718,0.855,0.218,0.174,0.104,0.104,
+1.040,0.141,0.633,0.858,0.682,1.170,0.697,0.946,0.867,0.629,
+0.462,0.694,1.290,1.190,0.623,0.765,0.760,0.068,0.464,0.729,
+0.672,0.625,0.598,1.100,1.390,0.714,0.513,0.848,1.080,0.802,
+0.710,0.828,1.490,0.200,0.544,0.692,1.010,1.090,0.572,1.120,
+0.081,0.083,0.052,0.078,0.097,0.102,0.091,0.089,0.122,0.036,
+0.099,0.085,0.095,0.186,0.072,0.100,0.789,0.836,0.806,0.802,
+0.081,0.094,0.079,0.096,1.030,0.206,0.534,0.725,0.638,1.340,
+0.675,0.854,0.759,0.455,0.493,0.696,0.918,0.895,0.778,1.030,
+0.924,0.088,0.608,0.865,0.747,0.702,0.791,1.240,1.500,0.796,
+0.702,1.170,0.806,0.525,0.520,0.662,1.050,0.097,0.586,0.709,
+1.280,0.925,0.722,1.460,1.300,0.938,0.817,0.949,1.060,0.826,
+0.894,0.847,1.160,0.124,0.830,0.931,1.020,1.350,0.773,1.160,
+0.831,0.786,0.734,0.991,0.079,0.086,0.061,0.098,0.772,0.079,
+0.602,0.896,0.714,0.941,0.780,1.140,1.130,0.652,0.645,1.030,
+1.000,1.010,0.766,0.992,1.100,0.090,0.749,1.300,1.380,1.110,
+1.120,2.080,1.910,1.050,0.701,1.260,0.922,0.695,0.488,0.678,
+1.110,0.108,0.495,0.739,1.000,0.842,0.507,0.901,1.400,1.060,
+0.585,0.817,0.904,0.721,0.573,0.587,1.120,0.127,0.736,0.849,
+0.758,0.981,0.559,0.840,1.100,1.170,0.865,1.080,0.124,0.141,
+0.126,0.171,1.140,0.125,0.663,0.915,0.725,1.090,0.651,1.020,
+1.010,0.675,0.503,0.953,0.886,0.781,0.635,0.853,1.340,0.133,
+0.758,1.160,1.120,0.816,0.943,1.820,0.127,0.102,0.055,0.106,
+0.105,0.114,0.064,0.085,0.094,0.020,0.060,0.076,0.081,0.123,
+0.060,0.100,0.094,0.090,0.046,0.060,0.093,0.108,0.071,0.065,
+0.097,0.021,0.086,0.083,0.063,0.099,0.053,0.071,0.091,0.121,
+0.092,0.089,0.015,0.030,0.034,0.018,0.138,0.028,0.100,0.124,
+0.083,0.148,0.086,0.114,0.114,0.083,0.059,0.113,0.140,0.161,
+0.117,0.137,0.132,0.018,0.094,0.138,0.109,0.099,0.099,0.176,
+1.140,0.739,0.523,0.668,0.918,0.913,0.727,0.720,0.999,0.173,
+0.639,0.725,0.713,0.966,0.815,1.000,0.089,0.094,0.049,0.057,
+0.077,0.101,0.088,0.059,0.102,0.025,0.108,0.085,0.087,0.155,
+0.087,0.098,0.837,1.090,0.707,0.798,0.098,0.127,0.093,0.100,
+1.090,0.152,0.610,0.759,0.589,1.060,0.724,0.843,0.761,0.551,
+0.452,0.592,0.910,0.962,0.737,0.833,1.150,0.130,1.050,1.070,
+0.752,0.877,0.965,1.190,1.160,0.607,0.472,0.832,0.697,0.511,
+0.392,0.563,0.896,0.091,0.518,0.755,0.995,0.768,0.593,1.100,
+1.280,0.975,0.666,0.815,0.978,0.887,0.712,0.702,1.280,0.120,
+0.869,1.080,1.330,1.290,0.830,1.180,1.530,1.290,0.863,1.120,
+0.124,0.168,0.083,0.110,1.310,0.129,0.949,1.160,1.440,1.430,
+1.110,1.410,1.180,0.687,0.672,0.936,1.030,0.979,0.692,0.876,
+1.410,0.115,1.140,1.350,1.460,1.310,1.290,1.940,3.170,1.120,
+0.938,1.930,1.080,0.612,0.547,0.934,1.140,0.100,0.514,0.968,
+1.410,0.942,0.729,1.650,1.280,0.689,0.480,0.764,0.782,0.479,
+0.412,0.576,0.844,0.067,0.491,0.705,0.662,0.588,0.480,0.798,
+0.994,0.795,0.581,1.070,0.081,0.072,0.059,0.126,0.763,0.067,
+0.426,0.716,0.728,0.855,0.539,1.020,1.490,0.724,0.732,1.570,
+0.934,0.630,0.670,1.110,1.120,0.084,0.720,1.260,1.690,1.000,
+1.200,2.810,1.510,0.819,0.596,1.160,0.901,0.666,0.510,0.727,
+0.799,0.080,0.445,0.757,0.814,0.775,0.542,1.150,0.967,0.654,
+0.379,0.613,0.682,0.442,0.368,0.533,0.698,0.069,0.534,0.736,
+0.564,0.624,0.481,0.774,0.887,0.842,0.737,0.895,0.064,0.070,
+0.068,0.078,0.930,0.089,0.559,0.892,0.811,1.050,0.671,1.140,
+1.060,0.650,0.632,1.100,0.957,0.758,0.625,0.971,0.940,0.073,
+0.608,1.030,1.040,0.894,0.887,1.730,1.700,0.920,0.832,1.140,
+1.180,0.876,0.819,1.190,1.380,0.158,0.689,1.130,1.200,1.110,
+1.030,2.270,0.111,0.103,0.063,0.103,0.086,0.087,0.071,0.088,
+0.092,0.014,0.072,0.097,0.110,0.130,0.095,0.167,1.050,1.220,
+0.796,1.130,0.084,0.086,0.069,0.114,1.290,0.123,0.734,1.040,
+0.933,1.230,0.955,1.380,1.300,0.893,0.830,1.120,1.370,1.060,
+0.955,1.360,1.470,0.119,1.210,1.600,1.310,1.110,1.510,2.240,
+3.330,1.270,1.110,2.290,1.270,0.850,0.747,1.100,1.740,0.136,
+0.832,1.530,2.280,1.440,1.320,3.540,1.900,1.210,0.802,1.250,
+1.330,1.130,0.778,1.030,1.470,0.101,0.885,1.450,1.570,1.330,
+1.060,2.040,1.990,1.650,1.320,1.950,0.114,0.115,0.075,0.144,
+1.870,0.138,1.390,2.080,2.030,2.060,1.910,2.690,3.830,1.680,
+2.020,3.470,2.010,1.700,1.390,2.120,2.730,0.157,2.050,3.410,
+3.890,2.280,2.750,4.300,0.315,0.174,0.135,0.216,0.199,0.128,
+0.113,0.121,0.215,0.027,0.106,0.131,0.197,0.175,0.116,0.154,
+0.243,0.169,0.096,0.102,0.165,0.108,0.102,0.083,0.164,0.023,
+0.104,0.102,0.101,0.115,0.083,0.096,0.160,0.125,0.098,0.107,
+0.018,0.019,0.018,0.018,0.128,0.019,0.130,0.095,0.088,0.122,
+0.174,0.104,0.190,0.093,0.092,0.145,0.153,0.112,0.099,0.130,
+0.131,0.023,0.090,0.111,0.126,0.100,0.108,0.137,0.250,0.168,
+0.100,0.131,0.172,0.151,0.112,0.103,0.155,0.029,0.093,0.108,
+0.095,0.133,0.073,0.100,0.189,0.166,0.088,0.093,0.149,0.125,
+0.105,0.079,0.151,0.040,0.123,0.126,0.069,0.117,0.081,0.081,
+0.116,0.143,0.083,0.088,0.019,0.037,0.024,0.016,0.137,0.039,
+0.120,0.116,0.065,0.154,0.091,0.103,0.097,0.073,0.057,0.085,
+0.122,0.118,0.092,0.102,0.131,0.020,0.100,0.142,0.090,0.095,
+0.089,0.146,0.152,0.077,0.062,0.080,0.111,0.080,0.076,0.071,
+0.133,0.025,0.071,0.089,0.079,0.086,0.073,0.108,0.021,0.017,
+9.30e-3,0.010,0.020,0.017,0.015,0.011,0.019,0.010,0.019,0.017,
+0.012,0.024,0.014,0.016,0.070,0.068,0.062,0.057,0.011,0.013,
+0.013,0.010,0.116,0.030,0.072,0.068,0.049,0.084,0.066,0.059,
+0.067,0.043,0.038,0.054,0.081,0.078,0.065,0.075,0.093,0.018,
+0.139,0.092,0.060,0.074,0.084,0.095,0.177,0.083,0.066,0.115,
+0.093,0.060,0.069,0.063,0.116,0.012,0.052,0.083,0.119,0.091,
+0.078,0.149,0.185,0.121,0.080,0.087,0.177,0.094,0.086,0.073,
+0.129,0.017,0.089,0.108,0.098,0.121,0.083,0.121,0.088,0.086,
+0.083,0.083,0.012,0.012,0.014,0.012,0.112,0.017,0.081,0.094,
+0.074,0.098,0.085,0.088,0.114,0.067,0.060,0.101,0.084,0.066,
+0.063,0.095,0.127,0.013,0.094,0.143,0.117,0.112,0.114,0.190,
+0.243,0.200,0.124,0.155,0.190,0.172,0.145,0.110,0.170,0.032,
+0.093,0.140,0.109,0.136,0.125,0.124,0.200,0.251,0.112,0.105,
+0.189,0.160,0.171,0.104,0.152,0.052,0.148,0.129,0.068,0.129,
+0.088,0.083,0.109,0.167,0.109,0.086,0.023,0.049,0.034,0.020,
+0.264,0.042,0.220,0.127,0.088,0.199,0.327,0.122,0.104,0.089,
+0.065,0.081,0.141,0.180,0.098,0.091,0.233,0.136,0.114,0.135,
+0.102,0.187,0.109,0.137,0.229,0.234,0.108,0.122,0.204,0.301,
+0.179,0.122,0.160,0.049,0.104,0.114,0.072,0.144,0.070,0.091,
+0.176,0.237,0.104,0.093,0.185,0.151,0.185,0.107,0.178,0.078,
+0.157,0.173,0.066,0.167,0.108,0.086,0.126,0.319,0.122,0.109,
+0.040,0.162,0.057,0.028,0.207,0.097,0.187,0.185,0.093,0.382,
+0.161,0.139,0.089,0.091,0.053,0.068,0.150,0.266,0.112,0.097,
+0.180,0.040,0.105,0.140,0.082,0.138,0.081,0.160,0.117,0.104,
+0.055,0.068,0.142,0.150,0.142,0.083,0.118,0.035,0.091,0.097,
+0.053,0.111,0.076,0.081,0.022,0.049,0.015,0.013,0.037,0.057,
+0.051,0.016,0.037,0.046,0.052,0.035,8.94e-3,0.049,0.020,0.014,
+0.081,0.136,0.160,0.078,0.027,0.055,0.047,0.020,0.144,0.058,
+0.129,0.116,0.047,0.155,0.126,0.085,0.059,0.047,0.051,0.050,
+0.109,0.152,0.130,0.102,0.108,0.029,0.122,0.120,0.046,0.085,
+0.096,0.092,0.098,0.069,0.060,0.069,0.080,0.068,0.198,0.059,
+0.073,0.012,0.052,0.058,0.058,0.064,0.052,0.078,0.124,0.151,
+0.080,0.079,0.135,0.131,0.107,0.074,0.101,0.036,0.100,0.104,
+0.062,0.160,0.082,0.092,0.071,0.108,0.089,0.081,0.011,0.024,
+0.019,0.012,0.110,0.025,0.113,0.111,0.059,0.115,0.116,0.098,
+0.096,0.065,0.056,0.069,0.090,0.089,0.065,0.080,0.122,0.026,
+0.098,0.126,0.095,0.126,0.115,0.152,0.155,0.147,0.071,0.095,
+0.123,0.085,0.059,0.057,0.107,0.017,0.053,0.061,0.069,0.083,
+0.042,0.064,0.164,0.458,0.094,0.089,0.113,0.120,0.089,0.068,
+0.130,0.042,0.103,0.104,0.057,0.132,0.059,0.069,0.080,0.149,
+0.082,0.081,0.016,0.028,0.019,0.020,0.093,0.023,0.084,0.082,
+0.050,0.103,0.071,0.077,0.073,0.065,0.047,0.066,0.099,0.110,
+0.060,0.074,0.099,0.020,0.069,0.087,0.075,0.078,0.075,0.132,
+0.018,0.021,9.05e-3,0.011,0.024,0.032,0.021,0.015,0.020,0.016,
+0.015,0.015,8.40e-3,0.021,8.17e-3,0.010,0.021,0.042,0.014,0.012,
+0.028,0.042,0.030,0.017,0.029,0.030,0.034,0.027,9.32e-3,0.028,
+0.013,0.011,0.012,0.031,0.014,0.012,7.33e-3,0.024,0.018,6.54e-3,
+0.026,0.021,0.037,0.024,9.21e-3,0.034,0.021,0.016,0.011,0.012,
+7.62e-3,0.011,0.026,0.042,0.023,0.022,0.021,9.15e-3,0.023,0.024,
+0.012,0.017,0.015,0.023,0.077,0.073,0.042,0.051,0.074,0.083,
+0.090,0.051,0.102,0.029,0.077,0.066,0.044,0.070,0.057,0.055,
+0.011,0.026,0.011,8.00e-3,0.014,0.023,0.025,8.59e-3,0.021,0.018,
+0.028,0.018,8.15e-3,0.023,0.013,8.46e-3,0.062,0.111,0.071,0.054,
+0.016,0.034,0.031,0.013,0.125,0.052,0.099,0.096,0.041,0.111,
+0.091,0.063,0.051,0.042,0.037,0.035,0.071,0.100,0.086,0.066,
+0.121,0.031,0.135,0.107,0.049,0.086,0.077,0.075,0.069,0.044,
+0.031,0.067,0.049,0.036,0.034,0.030,0.072,0.011,0.033,0.048,
+0.056,0.049,0.032,0.058,0.093,0.103,0.058,0.059,0.088,0.096,
+0.076,0.056,0.107,0.026,0.084,0.090,0.081,0.107,0.064,0.070,
+0.074,0.102,0.073,0.061,0.011,0.028,0.017,0.010,0.113,0.030,
+0.097,0.099,0.065,0.117,0.086,0.080,0.071,0.048,0.045,0.049,
+0.071,0.085,0.062,0.059,0.118,0.019,0.107,0.116,0.086,0.102,
+0.092,0.124,0.177,0.112,0.075,0.134,0.081,0.061,0.049,0.052,
+0.089,0.012,0.041,0.068,0.107,0.088,0.056,0.103,0.097,0.097,
+0.045,0.066,0.061,0.047,0.043,0.046,0.072,9.05e-3,0.042,0.060,
+0.050,0.063,0.040,0.059,0.070,0.073,0.049,0.076,9.30e-3,0.011,
+7.79e-3,0.013,0.072,8.42e-3,0.040,0.053,0.048,0.066,0.053,0.066,
+0.091,0.052,0.050,0.102,0.082,0.065,0.052,0.077,0.083,0.012,
+0.052,0.074,0.103,0.091,0.078,0.164,0.169,0.125,0.073,0.106,
+0.137,0.125,0.084,0.084,0.130,0.027,0.074,0.098,0.090,0.149,
+0.065,0.094,0.143,0.141,0.067,0.087,0.132,0.135,0.087,0.082,
+0.132,0.037,0.100,0.142,0.067,0.138,0.061,0.083,0.085,0.112,
+0.059,0.076,0.014,0.025,0.015,0.014,0.113,0.026,0.094,0.104,
+0.071,0.144,0.087,0.099,0.085,0.062,0.048,0.074,0.113,0.119,
+0.077,0.105,0.109,0.015,0.085,0.108,0.092,0.116,0.086,0.150,
+0.087,0.079,0.041,0.066,0.078,0.065,0.062,0.057,0.108,0.025,
+0.063,0.080,0.079,0.094,0.066,0.096,7.88e-3,0.012,6.20e-3,0.012,
+9.11e-3,0.013,0.012,7.81e-3,0.012,7.25e-3,0.016,0.017,9.02e-3,0.016,
+0.011,0.012,0.057,0.078,0.092,0.063,0.010,0.014,0.030,0.012,
+0.084,0.020,0.068,0.074,0.052,0.086,0.203,0.090,0.053,0.042,
+0.040,0.051,0.080,0.075,0.101,0.078,0.121,0.036,0.096,0.102,
+0.066,0.095,0.098,0.104,0.136,0.068,0.049,0.085,0.070,0.052,
+0.044,0.048,0.114,0.011,0.043,0.073,0.098,0.078,0.071,0.133,
+0.077,0.056,0.039,0.059,0.061,0.047,0.051,0.055,0.079,0.010,
+0.054,0.084,0.068,0.080,0.058,0.091,0.090,0.094,0.074,0.089,
+0.013,0.012,0.012,0.010,0.129,0.018,0.086,0.131,0.093,0.129,
+0.255,0.158,0.127,0.071,0.069,0.119,0.108,0.101,0.088,0.103,
+0.158,0.015,0.123,0.177,0.185,0.152,0.182,0.265,0.230,0.175,
+0.128,0.168,0.178,0.159,0.116,0.112,0.155,0.032,0.102,0.122,
+0.148,0.158,0.090,0.121,0.200,0.179,0.107,0.105,0.206,0.166,
+0.160,0.111,0.154,0.043,0.148,0.139,0.084,0.143,0.095,0.107,
+0.097,0.116,0.084,0.083,0.016,0.025,0.021,0.018,0.088,0.025,
+0.081,0.074,0.057,0.101,0.078,0.089,0.104,0.073,0.067,0.099,
+0.116,0.113,0.083,0.097,0.102,0.017,0.079,0.113,0.089,0.082,
+0.086,0.132,0.230,0.209,0.101,0.131,0.209,0.239,0.141,0.108,
+0.158,0.048,0.125,0.124,0.080,0.150,0.093,0.105,0.201,0.272,
+0.115,0.113,0.230,0.231,0.171,0.133,0.198,0.106,0.202,0.222,
+0.073,0.185,0.103,0.145,0.112,0.212,0.100,0.082,0.040,0.081,
+0.061,0.028,0.167,0.095,0.203,0.172,0.067,0.233,0.137,0.128,
+0.069,0.072,0.045,0.056,0.134,0.137,0.116,0.093,0.111,0.032,
+0.112,0.302,0.065,0.098,0.097,0.236,0.101,0.081,0.048,0.060,
+0.137,0.116,0.096,0.078,0.159,0.041,0.088,0.089,0.061,0.103,
+0.063,0.084,0.015,0.026,0.014,0.012,0.042,0.056,0.034,0.020,
+0.032,0.032,0.044,0.030,0.011,0.051,0.018,0.016,0.056,0.083,
+0.067,0.047,0.016,0.026,0.023,0.013,0.085,0.038,0.101,0.089,
+0.039,0.088,0.072,0.059,0.072,0.039,0.031,0.037,0.073,0.092,
+0.072,0.067,0.086,0.026,0.099,0.097,0.047,0.075,0.079,0.092,
+0.105,0.059,0.042,0.075,0.062,0.044,0.033,0.042,0.073,0.011,
+0.042,0.052,0.069,0.068,0.043,0.090,0.116,0.113,0.068,0.075,
+0.141,0.122,0.086,0.081,0.100,0.027,0.089,0.108,0.059,0.128,
+0.066,0.085,0.059,0.070,0.164,0.092,8.42e-3,0.015,0.018,0.012,
+0.068,0.021,0.083,0.075,0.038,0.083,0.074,0.070,0.070,0.050,
+0.044,0.065,0.054,0.063,0.050,0.056,0.098,0.015,0.079,0.106,
+0.077,0.091,0.092,0.139,0.214,0.208,0.135,0.145,0.231,0.274,
+0.210,0.143,0.140,0.038,0.112,0.115,0.088,0.142,0.083,0.100,
+0.264,0.265,0.163,0.124,0.386,0.354,0.465,0.198,0.189,0.094,
+0.235,0.190,0.071,0.186,0.108,0.109,0.100,0.170,0.115,0.086,
+0.025,0.059,0.051,0.027,0.112,0.045,0.151,0.112,0.074,0.137,
+0.112,0.099,0.073,0.057,0.053,0.071,0.116,0.152,0.101,0.091,
+0.081,0.026,0.091,0.098,0.110,0.083,0.082,0.142,0.228,0.292,
+0.115,0.114,0.301,0.507,0.240,0.142,0.193,0.081,0.161,0.154,
+0.074,0.175,0.085,0.102,0.203,0.309,0.134,0.111,0.188,0.163,
+0.210,0.144,0.217,0.207,0.214,0.232,0.078,0.294,0.151,0.131,
+0.113,0.332,0.139,0.111,0.056,0.258,0.121,0.048,0.214,0.175,
+0.230,0.284,0.079,0.390,0.207,0.177,0.072,0.090,0.057,0.059,
+0.152,0.331,0.136,0.124,0.132,0.059,0.156,0.206,0.068,0.140,
+0.107,0.351,0.121,0.133,0.066,0.066,0.296,0.306,0.224,0.129,
+0.207,0.098,0.152,0.134,0.082,0.301,0.100,0.102,0.029,0.075,
+0.030,0.019,0.139,0.201,0.141,0.043,0.096,0.142,0.118,0.066,
+0.030,0.216,0.046,0.026,0.087,0.195,0.133,0.092,0.044,0.132,
+0.096,0.034,0.154,0.098,0.185,0.160,0.052,0.231,0.171,0.112,
+0.062,0.053,0.045,0.045,0.140,0.260,0.204,0.134,0.137,0.056,
+0.197,0.159,0.065,0.129,0.122,0.124,0.078,0.070,0.045,0.069,
+0.096,0.089,0.059,0.049,0.082,0.018,0.059,0.062,0.058,0.090,
+0.044,0.075,0.112,0.162,0.087,0.088,0.266,0.270,0.148,0.110,
+0.159,0.082,0.135,0.132,0.072,0.285,0.093,0.094,0.056,0.112,
+0.095,0.070,0.013,0.041,0.026,0.016,0.086,0.037,0.149,0.118,
+0.044,0.132,0.121,0.094,0.057,0.051,0.040,0.054,0.077,0.107,
+0.063,0.071,0.116,0.023,0.110,0.113,0.069,0.108,0.110,0.148,
+0.154,0.133,0.081,0.101,0.123,0.117,0.075,0.086,0.104,0.023,
+0.069,0.073,0.068,0.090,0.047,0.075,0.174,0.245,0.088,0.106,
+0.216,0.235,0.177,0.139,0.220,0.096,0.233,0.192,0.068,0.166,
+0.081,0.088,0.090,0.170,0.100,0.101,0.027,0.047,0.028,0.030,
+0.125,0.045,0.120,0.122,0.060,0.146,0.104,0.120,0.063,0.060,
+0.038,0.062,0.104,0.137,0.071,0.088,0.105,0.025,0.107,0.121,
+0.077,0.083,0.086,0.144,0.029,0.033,0.014,0.015,0.044,0.079,
+0.045,0.027,0.031,0.026,0.031,0.025,0.010,0.030,0.016,0.016,
+0.033,0.085,0.027,0.025,0.088,0.188,0.118,0.052,0.088,0.252,
+0.131,0.100,0.015,0.073,0.028,0.024,0.021,0.074,0.032,0.019,
+0.028,0.113,0.065,0.020,0.053,0.082,0.108,0.070,0.016,0.090,
+0.057,0.030,0.010,0.015,8.04e-3,9.36e-3,0.039,0.085,0.035,0.030,
+0.026,0.022,0.055,0.045,0.012,0.024,0.022,0.035,0.165,0.176,
+0.113,0.128,0.182,0.267,0.213,0.131,0.199,0.075,0.196,0.152,
+0.086,0.158,0.132,0.111,0.038,0.089,0.043,0.029,0.063,0.150,
+0.116,0.041,0.075,0.096,0.153,0.074,0.019,0.073,0.041,0.025,
+0.116,0.250,0.142,0.119,0.048,0.124,0.085,0.035,0.238,0.146,
+0.204,0.215,0.075,0.244,0.154,0.120,0.106,0.090,0.075,0.110,
+0.159,0.261,0.177,0.167,0.236,0.092,0.455,0.264,0.094,0.159,
+0.163,0.152,0.077,0.063,0.049,0.202,0.058,0.051,0.039,0.048,
+0.074,0.018,0.054,0.100,0.050,0.060,0.036,0.084,0.122,0.172,
+0.093,0.099,0.176,0.235,0.165,0.112,0.207,0.088,0.219,0.219,
+0.093,0.200,0.107,0.106,0.079,0.162,0.164,0.104,0.018,0.058,
+0.039,0.019,0.165,0.083,0.203,0.185,0.068,0.212,0.130,0.116,
+0.063,0.057,0.044,0.063,0.082,0.108,0.079,0.078,0.151,0.034,
+0.209,0.173,0.087,0.138,0.124,0.145,0.129,0.083,0.060,0.095,
+0.081,0.063,0.048,0.071,0.085,0.013,0.045,0.069,0.075,0.074,
+0.057,0.093,0.092,0.080,0.041,0.057,0.081,0.066,0.054,0.063,
+0.075,0.018,0.058,0.085,0.046,0.066,0.045,0.063,0.058,0.069,
+0.042,0.060,7.62e-3,0.010,6.71e-3,0.011,0.058,0.013,0.043,0.063,
+0.040,0.061,0.041,0.063,0.063,0.042,0.034,0.069,0.062,0.055,
+0.036,0.067,0.064,7.75e-3,0.046,0.077,0.073,0.061,0.059,0.146,
+0.212,0.124,0.070,0.092,0.152,0.170,0.133,0.126,0.133,0.034,
+0.095,0.129,0.073,0.133,0.062,0.101,0.146,0.178,0.072,0.094,
+0.193,0.248,0.148,0.135,0.201,0.093,0.167,0.343,0.080,0.211,
+0.087,0.129,0.084,0.153,0.075,0.076,0.022,0.053,0.030,0.022,
+0.128,0.046,0.147,0.152,0.070,0.192,0.109,0.115,0.063,0.056,
+0.038,0.057,0.117,0.163,0.088,0.114,0.103,0.023,0.112,0.143,
+0.073,0.104,0.090,0.161,0.075,0.068,0.046,0.055,0.093,0.105,
+0.088,0.074,0.110,0.028,0.088,0.096,0.057,0.086,0.069,0.088,
+8.71e-3,0.013,6.68e-3,8.54e-3,0.016,0.030,0.023,0.014,0.016,0.015,
+0.026,0.021,7.67e-3,0.025,0.013,0.012,0.050,0.092,0.057,0.059,
+0.012,0.024,0.020,0.015,0.102,0.041,0.114,0.111,0.044,0.116,
+0.092,0.082,0.047,0.043,0.036,0.048,0.077,0.089,0.072,0.088,
+0.130,0.033,0.138,0.134,0.058,0.090,0.089,0.102,0.085,0.057,
+0.040,0.074,0.054,0.049,0.036,0.041,0.071,9.32e-3,0.048,0.065,
+0.059,0.057,0.048,0.088,0.072,0.067,0.039,0.052,0.073,0.079,
+0.058,0.064,0.082,0.015,0.071,0.091,0.057,0.084,0.056,0.084,
+0.063,0.080,0.065,0.072,8.08e-3,0.013,0.010,0.010,0.094,0.024,
+0.100,0.121,0.062,0.136,0.106,0.108,0.082,0.057,0.054,0.086,
+0.083,0.106,0.084,0.091,0.126,0.016,0.163,0.169,0.131,0.145,
+0.159,0.177,0.156,0.115,0.091,0.118,0.118,0.108,0.094,0.091,
+0.115,0.019,0.070,0.090,0.106,0.108,0.073,0.091,0.096,0.088,
+0.062,0.061,0.093,0.077,0.085,0.068,0.087,0.026,0.078,0.075,
+0.056,0.076,0.060,0.063,0.077,0.076,0.064,0.069,0.011,0.011,
+0.015,0.016,0.060,0.014,0.063,0.123,0.038,0.067,0.057,0.064,
+0.089,0.052,0.040,0.059,0.075,0.064,0.058,0.067,0.064,9.65e-3,
+0.050,0.070,0.069,0.051,0.059,0.085,0.166,0.163,0.096,0.103,
+0.173,0.199,0.183,0.115,0.148,0.037,0.113,0.093,0.079,0.127,
+0.069,0.077,0.159,0.224,0.106,0.091,0.181,0.161,0.197,0.121,
+0.174,0.082,0.169,0.180,0.076,0.170,0.093,0.086,0.122,0.204,
+0.136,0.106,0.032,0.068,0.069,0.035,0.188,0.081,0.224,0.226,
+0.080,0.212,0.163,0.116,0.074,0.066,0.045,0.054,0.132,0.165,
+0.112,0.110,0.100,0.023,0.094,0.113,0.065,0.077,0.092,0.112,
+0.108,0.076,0.062,0.067,0.136,0.142,0.153,0.098,0.386,0.071,
+0.123,0.106,0.106,0.135,0.081,0.091,0.015,0.022,0.016,0.012,
+0.029,0.039,0.045,0.025,0.069,0.039,0.047,0.032,0.019,0.059,
+0.024,0.023,0.071,0.102,0.162,0.091,0.020,0.031,0.041,0.028,
+0.171,0.095,0.125,0.101,0.051,0.220,0.092,0.071,0.041,0.035,
+0.042,0.041,0.080,0.099,0.115,0.098,0.098,0.027,0.135,0.089,
+0.052,0.075,0.078,0.095,0.088,0.048,0.041,0.062,0.057,0.046,
+0.048,0.051,0.102,0.013,0.044,0.052,0.101,0.079,0.048,0.090,
+0.092,0.084,0.061,0.065,0.095,0.086,0.099,0.076,0.154,0.046,
+0.098,0.103,0.097,0.147,0.074,0.116,0.066,0.084,0.091,0.078,
+0.011,0.016,0.018,0.017,0.090,0.023,0.100,0.106,0.053,0.116,
+0.107,0.091,0.070,0.051,0.049,0.070,0.062,0.058,0.067,0.080,
+0.104,0.014,0.098,0.113,0.102,0.106,0.123,0.170,0.013,0.016,
+0.013,9.59e-3,0.018,0.029,0.022,0.014,0.015,7.52e-3,0.016,0.012,
+7.42e-3,0.015,0.010,8.92e-3,0.025,0.032,0.024,0.015,0.036,0.049,
+0.055,0.028,0.026,0.028,0.057,0.027,0.011,0.028,0.019,0.013,
+9.94e-3,0.021,0.016,9.63e-3,6.77e-3,0.015,0.015,6.56e-3,0.018,0.013,
+0.033,0.021,6.85e-3,0.022,0.019,0.012,8.79e-3,7.69e-3,5.85e-3,7.37e-3,
+0.017,0.025,0.022,0.014,0.015,7.92e-3,0.017,0.026,8.98e-3,0.014,
+0.012,0.014,0.023,0.039,0.020,0.013,0.044,0.087,0.073,0.028,
+0.028,0.023,0.036,0.021,8.34e-3,0.025,0.017,0.013,0.042,0.094,
+0.041,0.021,0.091,0.102,0.143,0.054,0.058,0.093,0.088,0.061,
+0.016,0.059,0.038,0.025,0.019,0.065,0.036,0.019,0.026,0.109,
+0.088,0.023,0.064,0.091,0.103,0.063,0.017,0.086,0.063,0.032,
+0.012,0.017,0.011,7.96e-3,0.043,0.077,0.050,0.027,0.025,0.016,
+0.036,0.026,0.011,0.020,0.021,0.027,0.014,0.018,0.013,7.73e-3,
+0.035,0.068,0.064,0.025,0.069,0.039,0.047,0.025,0.011,0.040,
+0.018,0.014,7.69e-3,0.026,0.012,6.54e-3,0.031,0.081,0.074,0.020,
+0.055,0.109,0.076,0.038,6.87e-3,0.048,0.021,9.69e-3,0.019,0.053,
+0.094,0.043,0.020,0.064,0.083,0.020,0.124,0.197,0.104,0.059,
+0.018,0.155,0.057,0.029,9.15e-3,0.012,0.014,8.82e-3,0.029,0.063,
+0.068,0.033,0.034,0.033,0.070,0.041,9.38e-3,0.023,0.028,0.021,
+8.98e-3,0.010,7.08e-3,8.61e-3,0.011,0.014,0.014,9.65e-3,0.014,4.16e-3,
+0.011,9.82e-3,0.012,0.013,8.77e-3,0.011,0.020,0.032,0.021,0.016,
+0.037,0.056,0.048,0.028,0.052,0.038,0.043,0.032,0.024,0.072,
+0.030,0.024,9.07e-3,0.024,0.025,0.016,4.66e-3,0.018,0.017,7.10e-3,
+0.030,0.024,0.053,0.041,0.011,0.040,0.040,0.022,9.92e-3,0.011,
+8.65e-3,9.94e-3,0.012,0.022,0.020,0.016,0.019,7.62e-3,0.029,0.025,
+0.014,0.021,0.024,0.022,0.116,0.100,0.067,0.080,0.101,0.130,
+0.099,0.079,0.095,0.020,0.075,0.067,0.056,0.071,0.047,0.051,
+0.094,0.127,0.079,0.061,0.139,0.164,0.210,0.104,0.163,0.056,
+0.213,0.143,0.061,0.118,0.079,0.069,0.080,0.143,0.128,0.092,
+0.023,0.050,0.057,0.038,0.189,0.071,0.170,0.146,0.072,0.309,
+0.105,0.091,0.057,0.049,0.039,0.057,0.114,0.122,0.115,0.120,
+0.112,0.029,0.115,0.158,0.072,0.151,0.094,0.119,0.015,0.025,
+0.013,0.011,0.034,0.078,0.054,0.026,0.021,0.017,0.031,0.021,
+8.15e-3,0.020,0.011,0.012,0.024,0.048,0.025,0.015,0.064,0.096,
+0.109,0.039,0.043,0.060,0.103,0.059,0.018,0.040,0.023,0.016,
+0.017,0.069,0.042,0.021,0.022,0.084,0.086,0.025,0.075,0.160,
+0.132,0.085,0.015,0.091,0.056,0.031,0.012,0.014,9.82e-3,9.99e-3,
+0.030,0.059,0.045,0.033,0.025,0.022,0.047,0.044,0.011,0.023,
+0.021,0.025,0.090,0.114,0.076,0.048,0.145,0.308,0.547,0.129,
+0.146,0.059,0.227,0.123,0.053,0.102,0.104,0.074,0.019,0.052,
+0.041,0.012,0.048,0.108,0.527,0.042,0.054,0.067,0.169,0.053,
+0.026,0.042,0.040,0.018,0.094,0.192,0.175,0.099,0.044,0.101,
+0.151,0.050,0.236,0.132,0.203,0.196,0.057,0.174,0.194,0.116,
+0.045,0.049,0.045,0.037,0.106,0.187,0.220,0.120,0.126,0.055,
+0.226,0.160,0.051,0.095,0.117,0.096,0.061,0.056,0.039,0.052,
+0.057,0.071,0.063,0.044,0.075,0.016,0.066,0.066,0.127,0.061,
+0.041,0.058,0.100,0.140,0.093,0.063,0.155,0.205,0.553,0.117,
+0.184,0.068,0.241,0.164,0.423,0.197,0.129,0.105,0.104,0.268,
+0.124,0.090,0.029,0.129,0.056,0.029,0.175,0.076,0.267,0.238,
+0.096,0.214,0.165,0.131,0.057,0.068,0.044,0.053,0.080,0.175,
+0.093,0.082,0.116,0.032,0.180,0.158,0.087,0.124,0.120,0.122,
+0.104,0.073,0.051,0.077,0.071,0.065,0.057,0.063,0.066,0.012,
+0.043,0.052,0.062,0.068,0.046,0.088,0.070,0.064,0.040,0.041,
+0.064,0.054,0.054,0.043,0.056,0.011,0.051,0.051,0.036,0.048,
+0.036,0.044,0.072,0.070,0.051,0.057,0.010,0.012,0.012,0.013,
+0.063,0.015,0.050,0.064,0.049,0.081,0.060,0.063,0.060,0.042,
+0.037,0.057,0.065,0.057,0.052,0.074,0.065,8.84e-3,0.046,0.066,
+0.070,0.066,0.059,0.105,0.141,0.141,0.081,0.101,0.151,0.191,
+0.153,0.114,0.113,0.030,0.107,0.107,0.069,0.122,0.064,0.093,
+0.142,0.197,0.094,0.089,0.221,0.222,0.209,0.135,0.151,0.059,
+0.183,0.185,0.072,0.159,0.092,0.090,0.104,0.214,0.156,0.110,
+0.026,0.072,0.064,0.034,0.169,0.074,0.203,0.211,0.095,0.273,
+0.174,0.144,0.082,0.076,0.062,0.078,0.132,0.176,0.154,0.169,
+0.141,0.034,0.141,0.176,0.078,0.120,0.101,0.137,0.088,0.088,
+0.053,0.059,0.111,0.142,0.157,0.097,0.120,0.034,0.115,0.115,
+0.057,0.088,0.080,0.091,0.013,0.021,0.010,0.013,0.024,0.044,
+0.058,0.022,0.023,0.021,0.044,0.041,9.46e-3,0.022,0.017,0.013,
+0.080,0.177,0.106,0.094,0.026,0.048,0.047,0.029,0.148,0.068,
+0.163,0.159,0.062,0.165,0.149,0.113,0.055,0.054,0.048,0.060,
+0.108,0.141,0.156,0.191,0.113,0.033,0.147,0.157,0.062,0.103,
+0.117,0.121,0.088,0.059,0.044,0.064,0.059,0.057,0.051,0.049,
+0.071,0.012,0.055,0.070,0.073,0.063,0.050,0.089,0.139,0.127,
+0.052,0.058,0.078,0.092,0.107,0.078,0.080,0.018,0.082,0.105,
+0.098,0.089,0.069,0.088,0.077,0.127,0.084,0.095,0.014,0.032,
+0.019,0.017,0.129,0.032,0.154,0.191,0.078,0.149,0.148,0.132,
+0.092,0.069,0.065,0.101,0.121,0.154,0.106,0.123,0.128,0.020,
+0.144,0.176,0.120,0.128,0.150,0.169,0.194,0.131,0.116,0.206,
+0.129,0.088,0.076,0.101,0.130,0.015,0.065,0.095,0.155,0.136,
+0.077,0.134,0.153,0.107,0.078,0.103,0.099,0.063,0.060,0.062,
+0.095,0.012,0.114,0.067,0.112,0.130,0.088,0.119,0.127,0.099,
+0.077,0.110,0.012,9.76e-3,7.92e-3,0.015,0.071,9.36e-3,0.048,0.070,
+0.079,0.093,0.070,0.101,0.133,0.080,0.072,0.123,0.108,0.070,
+0.060,0.099,0.088,9.59e-3,0.067,0.079,0.123,0.091,0.097,0.174,
+0.158,0.104,0.067,0.104,0.109,0.082,0.067,0.075,0.096,0.014,
+0.052,0.073,0.083,0.094,0.047,0.085,0.108,0.097,0.052,0.067,
+0.081,0.063,0.059,0.063,0.089,0.016,0.062,0.078,0.073,0.088,
+0.051,0.076,0.089,0.088,0.064,0.080,0.013,0.015,0.012,0.011,
+0.089,0.017,0.064,0.082,0.062,0.111,0.072,0.083,0.079,0.062,
+0.043,0.072,0.090,0.070,0.048,0.066,0.073,9.73e-3,0.053,0.078,
+0.068,0.065,0.065,0.117,0.113,0.064,0.052,0.083,0.096,0.065,
+0.062,0.076,0.145,0.021,0.053,0.073,0.113,0.093,0.059,0.113,
+9.73e-3,0.011,6.31e-3,9.00e-3,9.78e-3,9.63e-3,9.90e-3,9.11e-3,0.014,4.22e-3,
+9.82e-3,0.010,0.018,0.024,0.010,0.017,0.053,0.057,0.065,0.063,
+6.75e-3,7.90e-3,8.77e-3,9.36e-3,0.074,0.016,0.057,0.057,0.051,0.084,
+0.060,0.066,0.053,0.035,0.036,0.057,0.069,0.055,0.054,0.069,
+0.072,0.011,0.060,0.069,0.070,0.066,0.071,0.110,0.147,0.072,
+0.060,0.119,0.072,0.046,0.048,0.069,0.142,0.016,0.055,0.081,
+0.236,0.134,0.072,0.168,0.120,0.077,0.058,0.082,0.081,0.057,
+0.057,0.067,0.110,0.012,0.060,0.081,0.146,0.160,0.089,0.165,
+0.101,0.098,0.084,0.105,9.59e-3,8.75e-3,8.04e-3,0.011,0.083,9.88e-3,
+0.062,0.082,0.103,0.117,0.107,0.139,0.130,0.084,0.075,0.139,
+0.087,0.070,0.064,0.096,0.134,0.012,0.088,0.139,0.205,0.172,
+0.198,0.354,0.259,0.172,0.134,0.185,0.185,0.154,0.124,0.125,
+0.153,0.026,0.158,0.120,0.136,0.165,0.091,0.138,0.215,0.154,
+0.150,0.138,0.175,0.143,0.156,0.120,0.168,0.041,0.798,0.190,
+0.090,0.155,0.146,0.116,0.119,0.148,0.105,0.126,0.018,0.027,
+0.023,0.026,0.127,0.027,0.124,0.150,0.083,0.152,0.117,0.147,
+0.119,0.093,0.066,0.105,0.143,0.148,0.106,0.131,0.135,0.028,
+0.111,0.132,0.119,0.119,0.114,0.175,0.246,0.221,0.115,0.152,
+0.238,0.244,0.169,0.142,0.167,0.041,0.104,0.121,0.114,0.189,
+0.082,0.122,0.214,0.264,0.116,0.124,0.240,0.202,0.191,0.174,
+0.222,0.068,0.183,0.190,0.099,0.220,0.118,0.130,0.148,0.227,
+0.142,0.147,0.037,0.063,0.042,0.032,0.227,0.065,0.176,0.214,
+0.121,0.289,0.199,0.189,0.112,0.107,0.070,0.102,0.215,0.300,
+0.140,0.154,0.150,0.025,0.114,0.154,0.103,0.129,0.114,0.184,
+0.144,0.106,0.063,0.089,0.164,0.182,0.147,0.124,0.237,0.055,
+0.116,0.112,0.108,0.194,0.092,0.138,0.012,0.022,0.013,0.014,
+0.026,0.041,0.036,0.024,0.043,0.037,0.047,0.027,0.018,0.075,
+0.023,0.020,0.092,0.149,0.191,0.134,0.017,0.035,0.033,0.028,
+0.243,0.119,0.130,0.148,0.086,0.319,0.144,0.136,0.080,0.065,
+0.067,0.082,0.131,0.186,0.158,0.157,0.151,0.028,0.134,0.153,
+0.089,0.120,0.126,0.167,0.137,0.094,0.077,0.125,0.090,0.079,
+0.072,0.087,0.141,0.018,0.082,0.093,0.159,0.140,0.086,0.154,
+0.155,0.161,0.116,0.121,0.153,0.165,0.153,0.133,0.253,0.060,
+0.175,0.175,0.181,0.473,0.152,0.190,0.111,0.128,0.121,0.139,
+0.013,0.024,0.018,0.021,0.150,0.033,0.138,0.175,0.105,0.196,
+0.172,0.170,0.123,0.103,0.079,0.112,0.121,0.154,0.116,0.149,
+0.166,0.023,0.138,0.207,0.164,0.189,0.178,0.263,0.145,0.100,
+0.063,0.096,0.083,0.083,0.056,0.075,0.095,0.013,0.055,0.068,
+0.078,0.078,0.050,0.074,0.118,0.121,0.063,0.083,0.112,0.112,
+0.089,0.085,0.133,0.029,0.155,0.110,0.067,0.123,0.075,0.086,
+0.098,0.129,0.095,0.109,0.016,0.027,0.020,0.030,0.133,0.028,
+0.106,0.121,0.073,0.149,0.095,0.113,0.075,0.063,0.046,0.076,
+0.091,0.097,0.070,0.093,0.130,0.022,0.092,0.136,0.096,0.101,
+0.102,0.162,0.013,0.016,7.69e-3,0.011,0.014,0.024,0.012,0.012,
+0.012,4.60e-3,0.012,9.69e-3,8.40e-3,0.017,9.61e-3,9.84e-3,0.019,0.024,
+0.011,9.61e-3,0.026,0.048,0.027,0.017,0.023,0.018,0.034,0.022,
+0.011,0.025,0.014,0.013,0.013,0.025,0.014,0.011,5.08e-3,0.016,
+0.012,6.14e-3,0.025,0.021,0.031,0.026,0.013,0.034,0.024,0.016,
+0.011,0.012,7.33e-3,0.011,0.018,0.029,0.017,0.018,0.021,0.011,
+0.022,0.024,0.013,0.017,0.015,0.022,0.095,0.081,0.053,0.055,
+0.097,0.145,0.137,0.082,0.125,0.037,0.115,0.094,0.059,0.113,
+0.095,0.091,0.012,0.022,0.012,7.67e-3,0.018,0.038,0.042,0.013,
+0.024,0.019,0.041,0.023,0.013,0.033,0.023,0.015,0.094,0.159,
+0.104,0.085,0.023,0.047,0.038,0.022,0.170,0.058,0.119,0.134,
+0.066,0.172,0.129,0.107,0.067,0.059,0.048,0.054,0.108,0.155,
+0.138,0.109,0.160,0.041,0.183,0.155,0.079,0.117,0.133,0.137,
+0.120,0.064,0.047,0.073,0.066,0.060,0.047,0.053,0.094,0.013,
+0.065,0.078,0.090,0.082,0.059,0.094,0.122,0.115,0.074,0.080,
+0.110,0.130,0.117,0.087,0.164,0.032,0.145,0.142,0.160,0.186,
+0.125,0.129,0.391,0.193,0.119,0.117,0.030,0.043,0.023,0.017,
+0.210,0.038,0.167,0.183,0.294,0.212,0.167,0.166,0.116,0.076,
+0.086,0.088,0.102,0.122,0.090,0.097,0.174,0.022,0.174,0.200,
+0.154,0.165,0.161,0.205,0.222,0.103,0.082,0.142,0.102,0.068,
+0.059,0.105,0.106,0.013,0.051,0.092,0.113,0.094,0.064,0.129,
+0.115,0.080,0.049,0.070,0.088,0.059,0.053,0.068,0.087,0.010,
+0.074,0.078,0.065,0.076,0.052,0.082,0.084,0.082,0.055,0.096,
+9.78e-3,0.011,8.29e-3,0.015,0.078,0.011,0.051,0.081,0.068,0.093,
+0.062,0.101,0.108,0.064,0.060,0.110,0.083,0.063,0.061,0.101,
+0.100,0.010,0.069,0.118,0.138,0.103,0.106,0.230,0.143,0.099,
+0.066,0.111,0.101,0.092,0.067,0.088,0.086,0.013,0.055,0.084,
+0.074,0.092,0.061,0.102,0.119,0.100,0.051,0.068,0.122,0.103,
+0.065,0.079,0.100,0.020,0.098,0.109,0.067,0.107,0.066,0.099,
+0.080,0.097,0.069,0.085,9.13e-3,0.017,0.011,0.012,0.110,0.021,
+0.083,0.113,0.080,0.140,0.088,0.120,0.092,0.064,0.059,0.093,
+0.097,0.093,0.070,0.104,0.107,0.014,0.077,0.123,0.103,0.120,
+0.097,0.176,0.130,0.113,0.067,0.086,0.109,0.105,0.096,0.114,
+0.134,0.026,0.083,0.111,0.098,0.111,0.100,0.170,0.011,0.018,
+6.33e-3,9.25e-3,0.012,0.016,0.015,0.011,0.012,6.46e-3,0.015,0.016,
+0.011,0.019,0.012,0.021,0.090,0.128,0.086,0.104,0.012,0.017,
+0.017,0.016,0.145,0.030,0.105,0.135,0.084,0.153,0.134,0.152,
+0.096,0.078,0.069,0.091,0.127,0.128,0.118,0.146,0.162,0.024,
+0.143,0.176,0.117,0.125,0.152,0.210,0.213,0.106,0.087,0.145,
+0.096,0.073,0.068,0.091,0.141,0.014,0.076,0.127,0.164,0.134,
+0.105,0.257,0.159,0.130,0.071,0.105,0.123,0.118,0.084,0.101,
+0.139,0.018,0.106,0.160,0.132,0.154,0.114,0.210,0.165,0.160,
+0.121,0.164,0.014,0.018,0.012,0.017,0.205,0.027,0.167,0.253,
+0.181,0.223,0.214,0.264,0.263,0.143,0.152,0.254,0.182,0.163,
+0.139,0.218,0.269,0.022,0.223,0.357,0.295,0.242,0.266,0.337,
+2.690,1.450,1.190,1.990,1.520,1.020,1.050,1.060,1.720,0.164,
+1.010,1.250,2.040,1.640,1.150,1.690,1.810,1.190,0.890,0.995,
+1.180,0.797,0.841,0.684,1.310,0.130,0.986,0.969,0.905,1.170,
+0.945,0.976,1.200,0.950,0.946,0.994,0.105,0.094,0.098,0.133,
+1.210,0.105,0.755,0.782,0.791,1.050,0.859,0.920,1.740,0.893,
+0.923,1.610,1.230,0.931,0.937,1.250,1.070,0.097,0.880,1.120,
+1.240,0.914,1.140,1.620,1.860,1.260,0.857,1.120,1.140,0.932,
+0.747,0.797,0.976,0.127,0.667,0.808,0.798,0.948,0.835,0.952,
+1.400,1.160,0.693,0.719,0.868,0.638,0.679,0.537,1.090,0.192,
+0.865,0.930,0.574,0.854,0.825,0.724,0.824,0.924,0.689,0.656,
+0.080,0.096,0.082,0.086,0.817,0.100,0.736,0.758,0.494,0.939,
+0.660,0.619,0.777,0.667,0.459,0.662,0.841,0.723,0.595,0.741,
+0.798,0.076,0.716,0.832,0.644,0.651,0.748,1.030,1.220,0.606,
+0.610,0.760,0.878,0.636,0.671,0.635,0.933,0.128,0.633,0.870,
+0.669,0.793,0.701,0.993,0.101,0.086,0.064,0.070,0.074,0.081,
+0.067,0.060,0.090,0.025,0.085,0.095,0.083,0.160,0.092,0.111,
+0.739,0.597,0.558,0.529,0.063,0.054,0.066,0.067,0.722,0.090,
+0.746,0.637,0.483,0.677,0.671,0.588,0.549,0.377,0.423,0.551,
+0.636,0.530,0.544,0.622,0.734,0.076,0.733,0.852,0.551,0.568,
+0.735,0.943,1.400,0.556,0.569,0.900,0.562,0.383,0.385,0.405,
+0.634,0.065,0.382,0.522,0.748,0.634,0.599,1.060,0.851,0.624,
+0.540,0.569,0.590,0.493,0.452,0.405,0.609,0.060,0.513,0.581,
+0.553,0.676,0.581,0.714,0.639,0.652,0.489,0.542,0.050,0.049,
+0.049,0.051,0.565,0.052,0.527,0.553,0.454,0.596,0.600,0.619,
+0.947,0.480,0.477,0.833,0.390,0.302,0.358,0.490,0.767,0.059,
+0.660,0.900,0.968,0.734,0.939,1.530,2.150,1.560,1.140,1.710,
+1.310,1.140,1.060,1.040,1.030,0.127,0.693,1.050,1.090,1.080,
+0.812,1.170,1.640,1.440,0.889,0.959,1.200,1.020,1.090,0.816,
+1.130,0.150,1.050,1.050,0.661,0.942,0.741,0.847,0.809,0.898,
+0.887,0.804,0.088,0.137,0.116,0.114,0.695,0.090,0.739,0.689,
+0.469,0.909,0.706,0.751,0.876,0.537,0.566,0.790,0.910,0.851,
+0.692,0.814,0.642,0.084,0.582,0.762,0.611,0.592,0.751,1.180,
+1.840,1.780,0.926,1.280,1.440,1.680,1.150,1.320,1.050,0.169,
+0.780,0.919,0.674,1.030,0.624,0.843,1.380,1.440,0.874,0.859,
+0.928,0.547,0.904,0.694,1.150,0.196,1.170,1.220,0.522,0.961,
+0.765,0.721,0.939,1.610,1.230,1.060,0.122,0.239,0.189,0.180,
+1.200,0.259,1.230,1.240,0.783,2.580,1.070,1.010,0.736,0.676,
+0.567,0.620,1.020,1.060,0.771,0.837,0.777,0.099,0.711,0.822,
+0.520,0.761,0.698,0.944,1.110,0.885,0.656,0.951,1.140,1.200,
+1.190,0.852,1.110,0.203,0.950,1.270,0.577,0.893,0.846,0.973,
+0.106,0.179,0.101,0.100,0.116,0.185,0.163,0.098,0.136,0.060,
+0.198,0.169,0.071,0.231,0.143,0.124,1.080,1.380,1.100,0.952,
+0.152,0.207,0.204,0.137,1.330,0.239,1.330,1.260,0.813,2.120,
+1.480,1.120,0.786,0.513,1.030,0.650,0.953,1.080,1.120,0.967,
+0.972,0.134,1.250,1.260,0.504,0.766,1.080,1.130,0.872,0.565,
+0.467,0.753,0.581,0.471,0.446,0.479,0.496,0.056,0.412,0.513,
+0.485,0.498,0.449,0.720,1.020,0.943,0.674,0.791,0.842,0.891,
+0.717,0.703,0.738,0.099,0.778,0.883,0.547,0.974,0.714,0.900,
+0.585,0.743,0.652,0.676,0.057,0.079,0.066,0.073,0.634,0.081,
+0.707,0.755,0.537,0.892,0.966,0.859,0.724,0.542,0.535,0.650,
+0.573,0.539,0.492,0.606,0.716,0.063,0.781,0.973,0.791,0.853,
+1.120,1.490,1.680,1.120,0.843,1.150,0.747,0.697,0.575,0.550,
+0.800,0.095,0.560,0.588,0.738,0.818,0.510,0.799,1.520,1.390,
+0.894,0.957,1.000,1.010,0.940,0.705,1.230,0.195,1.140,1.030,
+0.675,1.190,0.724,0.813,0.861,1.170,1.090,0.867,0.102,0.163,
+0.139,0.156,0.788,0.125,1.000,0.886,0.471,1.020,0.757,0.761,
+0.833,0.608,0.588,0.912,0.794,0.941,0.723,0.893,0.816,0.100,
+0.864,0.977,0.740,0.749,0.896,1.500,0.154,0.166,0.106,0.114,
+0.137,0.191,0.118,0.104,0.123,0.030,0.105,0.097,0.079,0.157,
+0.094,0.109,0.176,0.241,0.125,0.116,0.159,0.205,0.158,0.107,
+0.195,0.071,0.213,0.169,0.083,0.220,0.117,0.109,0.102,0.203,
+0.134,0.104,0.022,0.058,0.045,0.029,0.159,0.057,0.387,0.263,
+0.080,0.275,0.148,0.126,0.138,0.126,0.095,0.137,0.233,0.356,
+0.219,0.256,0.143,0.035,0.188,0.198,0.130,0.226,0.162,0.224,
+1.050,0.766,0.603,0.584,0.813,0.880,0.856,0.541,1.460,0.599,
+1.290,0.886,0.617,1.550,0.844,0.828,0.103,0.160,0.083,0.073,
+0.090,0.138,0.118,0.057,0.440,0.482,0.238,0.153,0.102,0.572,
+0.128,0.102,0.755,1.050,0.979,0.620,0.108,0.152,0.192,0.095,
+1.260,0.241,1.140,0.919,0.492,0.976,0.923,0.698,0.505,0.419,
+0.483,0.460,0.695,0.888,0.922,0.716,1.060,0.209,1.370,1.100,
+0.510,0.765,0.878,0.847,0.822,0.466,0.384,0.548,0.584,0.441,
+0.360,0.313,0.583,0.087,0.428,0.518,0.487,0.570,0.383,0.640,
+1.100,0.963,0.657,0.751,0.866,0.964,0.700,0.564,1.720,0.455,
+1.040,1.100,0.773,1.570,0.753,0.828,0.621,0.790,0.675,0.621,
+0.071,0.117,0.087,0.076,0.840,0.105,0.906,0.910,0.535,0.954,
+0.782,0.804,0.745,0.500,0.575,0.678,0.650,0.660,0.539,0.585,
+0.876,0.098,1.010,1.120,0.851,0.913,0.954,1.230,1.630,0.792,
+0.681,1.120,0.603,0.411,0.421,0.419,0.683,0.061,0.373,0.499,
+0.796,0.619,0.588,0.932,0.801,0.524,0.424,0.511,0.506,0.338,
+0.448,0.374,0.660,0.060,0.403,0.492,0.446,0.458,0.375,0.516,
+0.591,0.485,0.443,0.587,0.059,0.055,0.049,0.079,0.445,0.048,
+0.371,0.459,0.382,0.552,0.386,0.549,0.838,0.450,0.539,0.999,
+0.670,0.522,0.527,0.711,0.798,0.061,0.496,0.705,0.799,0.707,
+0.720,1.420,1.330,0.904,0.641,0.854,0.855,0.767,0.633,0.596,
+0.788,0.089,0.561,0.678,0.598,0.739,0.606,0.837,1.100,0.870,
+0.510,0.635,0.776,0.672,0.586,0.528,0.860,0.121,0.698,0.834,
+0.514,0.769,0.482,0.615,0.709,0.772,0.522,0.638,0.066,0.094,
+0.067,0.084,0.750,0.100,0.917,0.951,0.531,1.060,0.627,0.757,
+0.864,0.534,0.460,0.732,0.992,0.911,0.725,0.907,0.747,0.096,
+0.667,0.923,0.768,1.240,0.761,1.220,0.942,0.588,0.595,0.742,
+0.827,0.623,0.682,0.690,1.000,0.150,0.921,0.856,0.632,0.721,
+0.822,0.966,0.078,0.085,0.063,0.077,0.068,0.077,0.073,0.068,
+0.108,0.037,0.116,0.114,0.082,0.142,0.094,0.101,0.651,0.736,
+0.650,0.879,0.068,0.077,0.085,0.104,0.891,0.115,0.857,0.913,
+0.546,0.906,0.870,0.900,0.622,0.458,0.494,0.698,0.802,0.753,
+0.824,1.030,1.410,0.142,1.080,1.640,0.758,0.974,0.989,1.240,
+1.290,0.593,0.546,0.822,0.634,0.449,0.427,0.457,0.667,0.065,
+0.450,0.678,0.802,0.629,0.649,1.190,0.718,0.508,0.419,0.580,
+0.503,0.371,0.447,0.458,0.751,0.073,0.585,0.795,0.709,0.767,
+0.571,0.845,0.804,0.776,0.726,1.110,0.111,0.070,0.067,0.109,
+0.918,0.081,0.793,1.030,0.845,1.060,1.040,1.180,1.290,0.674,
+0.850,1.500,0.997,0.838,0.781,1.160,1.420,0.096,1.250,1.780,
+2.210,1.460,1.690,2.360,0.149,0.119,0.099,0.124,0.122,0.100,
+0.099,0.094,0.106,0.018,0.084,0.095,0.104,0.109,0.103,0.104,
+0.134,0.120,0.085,0.079,0.118,0.096,0.110,0.075,0.112,0.032,
+0.113,0.100,0.073,0.114,0.094,0.092,0.067,0.073,0.073,0.061,
+0.011,0.013,0.015,0.014,0.058,0.012,0.066,0.059,0.042,0.065,
+0.065,0.064,0.089,0.071,0.056,0.083,0.086,0.077,0.071,0.081,
+0.071,0.011,0.081,0.085,0.067,0.063,0.095,0.107,0.165,0.161,
+0.100,0.104,0.162,0.184,0.147,0.094,0.134,0.044,0.136,0.145,
+0.090,0.172,0.298,0.191,0.179,0.231,0.121,0.090,0.161,0.172,
+0.170,0.110,0.280,0.138,0.230,0.234,0.086,0.248,0.143,0.110,
+0.082,0.145,0.091,0.066,0.022,0.043,0.044,0.020,0.112,0.051,
+0.159,0.130,0.061,0.156,0.115,0.079,0.067,0.118,0.048,0.055,
+0.112,0.120,0.094,0.092,0.099,0.023,0.120,0.130,0.063,0.082,
+0.106,0.123,0.081,0.060,0.047,0.051,0.094,0.087,0.095,0.063,
+0.089,0.022,0.079,0.076,0.046,0.076,0.074,0.077,0.011,0.018,
+0.014,9.19e-3,0.018,0.032,0.029,0.013,0.018,0.015,0.034,0.022,
+9.63e-3,0.030,0.020,0.015,0.057,0.073,0.069,0.047,0.015,0.019,
+0.024,0.012,0.085,0.029,0.137,0.093,0.043,0.089,0.107,0.072,
+0.051,0.034,0.034,0.037,0.068,0.075,0.080,0.067,0.080,0.018,
+0.110,0.099,0.047,0.064,0.098,0.087,0.086,0.048,0.039,0.062,
+0.050,0.037,0.035,0.036,0.050,8.52e-3,0.039,0.046,0.049,0.048,
+0.049,0.077,0.078,0.082,0.063,0.063,0.074,0.082,0.074,0.059,
+0.067,0.017,0.076,0.084,0.046,0.081,0.064,0.074,0.044,0.050,
+0.053,0.048,6.31e-3,8.50e-3,0.011,8.08e-3,0.048,0.011,0.065,0.058,
+0.035,0.060,0.072,0.066,0.061,0.042,0.038,0.062,0.042,0.047,
+0.042,0.050,0.076,0.011,0.079,0.094,0.076,0.078,0.103,0.150,
+0.129,0.121,0.090,0.100,0.125,0.150,0.130,0.104,0.083,0.018,
+0.070,0.087,0.063,0.084,0.064,0.072,0.136,0.147,0.096,0.074,
+0.147,0.151,0.168,0.097,0.121,0.048,0.174,0.129,0.062,0.110,
+0.090,0.079,0.058,0.088,0.091,0.057,0.014,0.033,0.033,0.016,
+0.059,0.021,0.093,0.062,0.035,0.072,0.076,0.061,0.053,0.036,
+0.037,0.050,0.067,0.084,0.070,0.067,0.053,0.012,0.065,0.063,
+0.042,0.047,0.064,0.076,0.153,0.245,0.104,0.100,0.204,0.436,
+0.203,0.130,0.129,0.048,0.129,0.109,0.053,0.126,0.083,0.087,
+0.160,0.247,0.141,0.098,0.151,0.129,0.192,0.120,0.176,0.106,
+0.267,0.218,0.057,0.166,0.127,0.096,0.092,0.225,0.149,0.117,
+0.036,0.116,0.095,0.058,0.162,0.104,0.208,0.185,0.069,0.272,
+0.165,0.111,0.065,0.065,0.052,0.051,0.110,0.174,0.124,0.109,
+0.090,0.027,0.122,0.113,0.049,0.080,0.109,0.107,0.092,0.086,
+0.059,0.063,0.136,0.188,0.183,0.089,0.120,0.036,0.110,0.107,
+0.051,0.106,0.085,0.078,0.020,0.046,0.024,0.015,0.043,0.092,
+0.086,0.027,0.039,0.052,0.084,0.048,0.011,0.056,0.033,0.018,
+0.284,0.295,0.208,0.151,0.096,0.125,0.124,0.051,0.277,0.102,
+0.312,0.232,0.224,0.330,0.325,0.211,0.156,0.051,0.072,0.056,
+0.140,0.192,0.198,0.121,0.119,0.037,0.203,0.153,0.055,0.087,
+0.140,0.114,0.058,0.048,0.043,0.063,0.051,0.053,0.044,0.047,
+0.045,7.44e-3,0.054,0.043,0.034,0.042,0.040,0.052,0.073,0.105,
+0.069,0.063,0.096,0.135,0.102,0.073,0.082,0.029,0.104,0.098,
+0.039,0.114,0.075,0.070,0.045,0.073,0.065,0.055,8.19e-3,0.019,
+0.018,0.010,0.067,0.019,0.100,0.079,0.041,0.085,0.122,0.078,
+0.048,0.037,0.035,0.043,0.044,0.053,0.049,0.054,0.060,9.78e-3,
+0.081,0.083,0.050,0.068,0.089,0.107,0.111,0.101,0.074,0.077,
+0.072,0.086,0.072,0.062,0.076,0.015,0.076,0.057,0.052,0.070,
+0.047,0.055,0.123,0.172,0.100,0.080,0.140,0.176,0.166,0.109,
+0.159,0.061,0.245,0.167,0.056,0.151,0.093,0.076,0.068,0.137,
+0.102,0.078,0.015,0.035,0.036,0.025,0.097,0.036,0.263,0.171,
+0.039,0.106,0.129,0.082,0.054,0.051,0.037,0.058,0.068,0.093,
+0.077,0.089,0.083,0.022,0.110,0.112,0.052,0.067,0.085,0.110,
+0.013,0.025,0.014,9.94e-3,0.023,0.053,0.035,0.018,0.016,0.014,
+0.033,0.020,6.79e-3,0.025,0.018,0.013,0.026,0.064,0.029,0.017,
+0.052,0.098,0.084,0.035,0.043,0.074,0.107,0.063,0.013,0.051,
+0.030,0.018,0.012,0.049,0.032,0.016,0.013,0.056,0.059,0.016,
+0.046,0.065,0.327,0.141,0.011,0.060,0.057,0.024,9.11e-3,0.014,
+9.23e-3,8.63e-3,0.024,0.056,0.040,0.029,0.021,0.016,0.057,0.043,
+0.014,0.022,0.024,0.022,0.094,0.098,0.070,0.051,0.092,0.154,
+0.163,0.075,0.127,0.052,0.214,0.116,0.052,0.148,0.117,0.088,
+0.018,0.052,0.027,0.014,0.030,0.079,0.076,0.023,0.052,0.070,
+0.213,0.066,0.011,0.051,0.039,0.018,0.088,0.186,0.178,0.082,
+0.035,0.091,0.125,0.029,0.214,0.136,0.359,0.202,0.052,0.186,
+0.185,0.101,0.051,0.051,0.057,0.046,0.101,0.180,0.200,0.118,
+0.185,0.081,0.338,0.201,0.057,0.128,0.156,0.122,0.062,0.055,
+0.039,0.060,0.048,0.052,0.045,0.036,0.054,0.013,0.056,0.064,
+0.040,0.059,0.038,0.059,0.095,0.128,0.080,0.075,0.112,0.165,
+0.134,0.089,0.156,0.054,0.206,0.184,0.063,0.161,0.105,0.086,
+0.057,0.112,0.088,0.063,0.013,0.034,0.034,0.014,0.121,0.048,
+0.186,0.147,0.050,0.144,0.114,0.089,0.051,0.044,0.043,0.051,
+0.083,0.084,0.069,0.065,0.100,0.024,0.162,0.139,0.069,0.109,
+0.116,0.119,0.124,0.081,0.065,0.093,0.091,0.064,0.056,0.096,
+0.093,9.51e-3,0.047,0.077,0.081,0.071,0.086,0.103,0.083,0.068,
+0.052,0.055,0.067,0.057,0.065,0.057,0.069,0.011,0.066,0.073,
+0.047,0.056,0.066,0.063,0.052,0.056,0.047,0.059,6.35e-3,7.83e-3,
+7.69e-3,0.011,0.046,8.38e-3,0.056,0.060,0.036,0.054,0.055,0.063,
+0.068,0.047,0.049,0.085,0.070,0.054,0.053,0.090,0.098,9.69e-3,
+0.060,0.121,0.084,0.073,0.079,0.174,0.156,0.137,0.093,0.109,
+0.128,0.146,0.141,0.108,0.118,0.024,0.112,0.123,0.082,0.130,
+0.109,0.127,0.171,0.187,0.103,0.105,0.170,0.187,0.175,0.134,
+0.151,0.043,0.184,0.215,0.081,0.167,0.113,0.114,0.086,0.144,
+0.099,0.094,0.015,0.033,0.033,0.024,0.124,0.034,0.316,0.247,
+0.072,0.179,0.128,0.113,0.091,0.075,0.063,0.086,0.138,0.157,
+0.144,0.162,0.119,0.022,0.154,0.201,0.134,0.170,0.140,0.182,
+0.088,0.062,0.053,0.060,0.086,0.086,0.100,0.078,0.103,0.022,
+0.124,0.111,0.054,0.082,0.097,0.099,9.61e-3,0.013,8.90e-3,8.54e-3,
+0.017,0.028,0.024,0.015,0.019,0.010,0.033,0.025,8.46e-3,0.021,
+0.020,0.014,0.061,0.097,0.091,0.080,0.012,0.024,0.025,0.021,
+0.113,0.037,0.162,0.135,0.052,0.131,0.139,0.109,0.083,0.052,
+0.059,0.070,0.089,0.104,0.126,0.137,0.362,0.043,0.214,0.370,
+0.091,0.113,0.153,0.163,0.095,0.060,0.051,0.072,0.061,0.050,
+0.047,0.053,0.060,9.40e-3,0.053,0.070,0.058,0.054,0.062,0.100,
+0.068,0.060,0.047,0.058,0.065,0.064,0.064,0.063,0.069,0.010,
+0.078,0.093,0.057,0.079,0.068,0.089,0.063,0.075,0.072,0.087,
+9.80e-3,0.011,0.011,0.011,0.087,0.016,0.107,0.121,0.068,0.116,
+0.126,0.119,0.096,0.059,0.070,0.112,0.092,0.088,0.092,0.111,
+0.144,0.014,0.183,0.216,0.163,0.137,0.206,0.219,1.200,1.090,
+0.998,1.450,1.140,0.919,0.926,1.230,0.978,0.110,0.830,0.982,
+1.210,1.090,1.040,1.220,1.030,0.901,0.610,0.693,0.878,0.673,
+0.737,0.700,0.722,0.082,0.661,0.680,0.724,0.671,0.622,0.658,
+0.673,0.654,0.675,0.634,0.064,0.062,0.073,0.097,0.586,0.066,
+0.786,0.641,0.444,0.541,0.683,0.639,0.705,0.371,0.357,0.597,
+0.458,0.362,0.407,0.520,0.450,0.040,0.448,0.554,0.537,0.290,
+0.566,0.869,1.650,1.310,0.841,1.070,1.300,1.170,1.030,0.870,
+0.879,0.141,0.666,0.829,0.678,0.851,0.592,0.748,1.540,1.840,
+0.871,0.843,1.210,0.872,1.140,0.836,1.200,0.197,1.150,1.780,
+0.670,0.986,0.670,0.746,0.961,1.250,1.220,0.862,0.137,0.169,
+0.180,0.154,1.640,0.276,1.680,2.010,1.030,1.320,1.170,0.921,
+0.673,0.540,0.393,0.490,0.905,0.895,0.746,0.822,0.682,0.078,
+0.665,1.020,0.589,0.540,0.694,0.973,1.060,0.641,0.580,0.624,
+1.090,0.909,0.951,0.813,1.050,0.143,0.745,0.759,0.608,0.709,
+0.653,0.799,0.120,0.149,0.104,0.096,0.170,0.172,0.172,0.134,
+0.150,0.042,0.182,0.171,0.113,0.251,0.135,0.151,0.741,0.826,
+0.879,0.676,0.103,0.114,0.174,0.127,1.150,0.186,1.590,1.070,
+0.472,0.891,1.200,0.784,0.470,0.424,0.403,0.402,0.774,0.792,
+0.895,0.790,0.727,0.095,0.957,0.900,0.540,0.542,0.848,0.923,
+0.811,0.407,0.376,0.631,0.469,0.369,0.356,0.391,0.454,0.051,
+0.321,0.389,0.527,0.442,0.413,0.641,0.778,0.647,0.502,0.547,
+0.697,0.618,0.598,0.527,0.615,0.070,0.608,0.695,0.514,0.716,
+0.535,0.689,0.705,0.698,0.737,0.628,0.071,0.073,0.101,0.089,
+0.755,0.090,0.957,0.845,0.511,0.854,1.380,0.858,0.671,0.454,
+0.448,0.624,0.479,0.427,0.499,0.589,0.778,0.073,0.787,1.010,
+0.882,0.747,1.090,1.670,0.111,0.105,0.083,0.091,0.102,0.113,
+0.101,0.109,0.073,0.016,0.066,0.064,0.079,0.082,0.070,0.072,
+0.135,0.168,0.120,0.088,0.161,0.172,0.196,0.132,0.117,0.036,
+0.152,0.112,0.171,0.116,0.111,0.097,0.064,0.093,0.086,0.064,
+0.015,0.026,0.029,0.020,0.092,0.024,0.156,0.118,0.053,0.085,
+0.112,0.086,0.053,0.041,0.039,0.047,0.068,0.073,0.066,0.062,
+0.048,0.012,0.065,0.073,0.047,0.042,0.068,0.091,0.121,0.170,
+0.094,0.079,0.132,0.188,0.159,0.094,0.091,0.033,0.087,0.084,
+0.050,0.089,0.060,0.064,0.200,0.425,0.141,0.103,0.195,0.193,
+0.246,0.137,0.182,0.088,0.219,0.208,0.073,0.153,0.110,0.106,
+0.103,0.203,0.136,0.091,0.037,0.081,0.077,0.035,0.594,0.228,
+0.537,0.696,0.180,0.291,0.197,0.142,0.054,0.056,0.043,0.041,
+0.091,0.119,0.101,0.085,0.081,0.019,0.096,0.115,0.047,0.056,
+0.072,0.081,0.103,0.088,0.073,0.060,0.131,0.179,0.184,0.101,
+0.111,0.034,0.133,0.095,0.048,0.084,0.087,0.077,0.017,0.041,
+0.023,0.016,0.036,0.078,0.080,0.032,0.033,0.046,0.096,0.044,
+0.013,0.042,0.034,0.020,0.108,0.155,0.174,0.107,0.034,0.070,
+0.110,0.033,0.198,0.105,0.444,0.200,0.061,0.193,0.267,0.144,
+0.060,0.049,0.060,0.045,0.103,0.150,0.177,0.117,0.099,0.031,
+0.196,0.138,0.050,0.073,0.132,0.118,0.070,0.068,0.053,0.096,
+0.055,0.058,0.053,0.065,0.049,8.52e-3,0.045,0.047,0.050,0.052,
+0.066,0.073,0.113,0.130,0.094,0.088,0.133,0.169,0.147,0.113,
+0.108,0.028,0.137,0.132,0.074,0.149,0.124,0.116,0.060,0.095,
+0.103,0.076,0.010,0.025,0.027,0.016,0.092,0.030,0.165,0.129,
+0.067,0.134,0.354,0.133,0.060,0.056,0.052,0.059,0.053,0.070,
+0.065,0.067,0.072,0.011,0.101,0.113,0.072,0.086,0.166,0.161,
+1.540,1.050,0.906,1.320,0.730,0.729,0.551,0.603,0.709,0.086,
+0.801,0.654,0.450,0.411,0.393,0.507,1.040,1.060,0.598,0.623,
+1.030,1.020,0.964,0.687,1.020,0.171,1.320,1.020,0.509,0.916,
+0.564,0.621,0.745,0.889,0.770,0.643,0.111,0.163,0.163,0.161,
+0.938,0.169,1.660,1.060,0.397,0.853,0.809,0.725,0.517,0.355,
+0.303,0.450,0.577,0.609,0.528,0.571,0.695,0.098,0.891,1.270,
+0.462,0.460,0.648,0.985,0.117,0.118,0.071,0.082,0.134,0.193,
+0.124,0.106,0.111,0.033,0.168,0.120,0.055,0.086,0.065,0.067,
+0.109,0.172,0.079,0.062,0.172,0.229,0.191,0.108,0.127,0.061,
+0.248,0.166,0.048,0.108,0.068,0.060,0.115,0.182,0.131,0.081,
+0.031,0.075,0.083,0.034,0.211,0.099,0.470,0.234,0.070,0.178,
+0.164,0.118,0.066,0.057,0.042,0.064,0.119,0.170,0.132,0.135,
+0.109,0.028,0.162,0.337,0.059,0.071,0.089,0.137,1.370,0.605,
+0.679,0.396,0.676,0.818,0.830,0.515,0.758,0.149,1.310,0.648,
+0.348,0.570,0.663,0.509,0.102,0.146,0.149,0.070,0.087,0.159,
+0.154,0.061,0.136,0.058,0.370,0.130,0.049,0.131,0.119,0.070,
+0.646,0.463,0.669,0.324,0.100,0.089,0.204,0.060,0.403,0.107,
+0.429,0.141,0.130,0.210,0.381,0.276,0.318,0.229,0.311,0.175,
+0.357,0.414,0.563,0.305,0.502,0.092,0.937,0.560,0.265,0.359,
+0.581,0.590,0.610,0.367,0.301,0.356,0.403,0.327,0.282,0.258,
+0.401,0.053,0.479,0.420,0.255,0.276,0.261,0.340,0.660,0.659,
+0.453,0.362,0.639,0.760,0.598,0.410,0.696,0.113,1.050,0.785,
+0.367,0.670,0.476,0.429,0.560,0.648,0.642,0.501,0.074,0.128,
+0.117,0.083,0.821,0.131,1.420,0.979,0.391,0.811,0.849,0.679,
+0.416,0.312,0.293,0.357,0.454,0.507,0.472,0.421,0.645,0.083,
+1.120,0.933,0.515,0.583,0.878,0.921,0.966,0.594,0.452,0.727,
+0.511,0.410,0.343,0.403,0.442,0.052,0.373,0.449,0.476,0.441,
+0.349,0.542,0.692,0.531,0.312,0.344,0.474,0.382,0.340,0.304,
+0.416,0.042,0.384,0.370,0.291,0.325,0.278,0.347,0.477,0.452,
+0.331,0.396,0.047,0.049,0.044,0.063,0.409,0.049,0.551,0.545,
+0.292,0.431,0.426,0.490,0.435,0.276,0.230,0.392,0.382,0.300,
+0.260,0.370,0.359,0.038,0.324,0.591,0.383,0.344,0.411,0.727,
+1.080,0.904,0.571,0.736,0.919,0.891,0.748,0.650,0.652,0.090,
+0.677,0.733,0.472,0.631,0.416,0.591,1.020,1.090,0.555,0.592,
+1.050,1.030,0.941,0.702,0.802,0.117,0.909,0.954,0.391,0.683,
+0.466,0.543,0.666,1.030,0.643,0.600,0.083,0.150,0.119,0.114,
+0.953,0.163,1.320,1.270,0.470,1.030,0.863,0.844,0.559,0.468,
+0.333,0.487,0.773,0.861,0.692,0.793,0.614,0.092,0.733,1.530,
+0.439,0.566,0.573,0.870,0.882,0.605,0.477,0.491,0.733,0.744,
+0.758,0.651,0.760,0.117,0.833,0.732,0.439,0.654,0.618,0.705,
+0.076,0.102,0.065,0.061,0.095,0.150,0.132,0.094,0.094,0.030,
+0.155,0.118,0.053,0.125,0.092,0.083,0.724,0.936,0.815,0.665,
+0.087,0.110,0.144,0.112,1.170,0.209,1.480,1.350,0.472,0.940,
+1.180,0.927,0.478,0.449,0.414,0.415,0.733,0.804,0.934,0.832,
+0.765,0.099,1.150,1.240,0.465,0.589,0.951,0.959,0.732,0.434,
+0.354,0.497,0.431,0.367,0.340,0.326,0.431,0.055,0.402,0.426,
+0.482,0.385,0.425,0.594,0.679,0.563,0.397,0.434,0.566,0.592,
+0.548,0.484,0.513,0.060,0.618,0.674,0.396,0.511,0.506,0.578,
+0.651,0.704,0.650,0.709,0.065,0.078,0.083,0.090,0.933,0.108,
+1.280,1.330,0.598,0.904,1.120,1.000,0.754,0.467,0.499,0.749,
+0.693,0.657,0.679,0.731,0.840,0.076,1.130,1.340,0.879,0.742,
+1.190,1.240,1.340,0.874,0.890,1.530,0.823,0.554,0.518,0.656,
+0.706,0.069,0.428,0.606,0.985,0.825,0.583,0.949,0.902,0.569,
+0.408,0.525,0.596,0.385,0.375,0.398,0.566,0.055,0.420,0.409,
+0.528,0.576,0.380,0.483,0.603,0.488,0.466,0.585,0.059,0.045,
+0.046,0.077,0.427,0.039,0.390,0.429,0.365,0.437,0.466,0.555,
+0.787,0.406,0.446,0.753,0.622,0.404,0.380,0.553,0.521,0.046,
+0.392,0.529,0.676,0.430,0.558,1.100,1.220,0.792,0.592,0.834,
+0.733,0.545,0.447,0.487,0.507,0.056,0.326,0.446,0.459,0.470,
+0.326,0.577,0.875,0.674,0.370,0.452,0.517,0.332,0.354,0.329,
+0.557,0.066,0.390,0.565,0.414,0.423,0.297,0.421,0.516,0.469,
+0.485,0.445,0.042,0.046,0.041,0.047,0.509,0.045,0.380,0.468,
+0.397,0.436,0.402,0.433,0.427,0.300,0.244,0.363,0.429,0.362,
+0.280,0.355,0.376,0.029,0.301,0.446,0.371,0.306,0.375,0.644,
+0.859,0.452,0.402,0.550,0.688,0.448,0.423,0.532,0.592,0.070,
+0.305,0.413,0.508,0.467,0.395,0.653,0.075,0.062,0.041,0.058,
+0.064,0.055,0.050,0.056,0.058,0.011,0.058,0.061,0.077,0.106,
+0.060,0.088,0.522,0.414,0.462,0.457,0.052,0.041,0.050,0.059,
+0.525,0.063,0.478,0.515,0.414,0.518,0.657,0.598,0.409,0.293,
+0.301,0.473,0.509,0.403,0.413,0.536,0.524,0.058,0.451,0.603,
+0.475,0.456,0.596,0.815,0.950,0.410,0.374,0.833,0.448,0.292,
+0.287,0.464,0.453,0.044,0.266,0.371,0.638,0.436,0.371,0.742,
+0.688,0.489,0.335,0.462,0.459,0.355,0.316,0.355,0.431,0.039,
+0.333,0.435,0.489,0.568,0.387,0.603,0.480,0.432,0.389,0.467,
+0.038,0.037,0.036,0.047,0.394,0.034,0.360,0.423,0.388,0.460,
+0.675,0.607,0.667,0.414,0.368,0.676,0.426,0.346,0.336,0.498,
+0.602,0.053,0.477,0.735,0.841,0.654,0.867,1.500,1.530,1.050,
+0.903,1.290,1.030,0.894,0.761,0.817,0.762,0.091,0.520,0.732,
+0.840,0.817,0.609,0.960,1.250,0.962,0.764,0.843,0.948,0.770,
+0.965,0.875,0.898,0.116,0.906,0.899,0.695,0.735,0.639,0.810,
+0.669,0.623,0.604,0.674,0.068,0.077,0.075,0.100,0.658,0.081,
+0.648,0.798,0.435,0.618,0.680,0.865,0.664,0.388,0.424,0.566,
+0.694,0.572,0.488,0.581,0.459,0.051,0.414,0.566,0.535,0.441,
+0.590,1.080,1.480,1.230,0.802,1.030,1.200,1.210,0.888,0.798,
+0.861,0.122,0.563,0.716,0.588,0.809,0.498,0.822,1.370,1.510,
+0.738,0.833,1.180,0.840,0.956,0.795,1.470,0.282,0.991,1.200,
+0.614,1.090,0.676,0.778,0.745,1.020,0.879,0.814,0.107,0.141,
+0.113,0.108,1.610,0.275,1.240,1.720,0.765,1.270,0.969,1.060,
+0.499,0.439,0.368,0.471,0.702,0.757,0.559,0.606,0.590,0.064,
+0.527,0.709,0.461,0.492,0.582,0.862,0.902,0.649,0.463,0.629,
+1.030,1.020,0.895,0.784,0.837,0.144,0.594,0.685,0.490,0.635,
+0.587,0.810,0.075,0.107,0.061,0.085,0.112,0.160,0.137,0.106,
+0.100,0.043,0.130,0.117,0.066,0.160,0.101,0.109,0.722,0.871,
+0.810,0.743,0.099,0.137,0.141,0.119,1.000,0.188,1.090,1.190,
+0.530,1.200,1.370,1.160,0.514,0.392,0.416,0.504,0.789,0.923,
+0.914,0.917,0.745,0.100,0.908,1.070,0.506,0.613,0.964,1.190,
+0.844,0.559,0.507,1.340,0.515,0.448,0.439,0.836,0.537,0.055,
+0.397,0.511,0.517,0.464,0.509,0.826,0.956,0.851,0.617,0.792,
+0.787,0.849,0.754,0.821,0.725,0.104,0.757,0.965,0.607,0.973,
+0.788,0.973,0.509,0.626,0.635,0.680,0.055,0.091,0.082,0.085,
+0.607,0.079,0.785,0.879,0.483,0.825,1.670,1.080,0.600,0.481,
+0.425,0.587,0.546,0.589,0.499,0.620,0.599,0.060,0.677,0.913,
+0.696,0.723,1.060,1.430,1.540,0.948,0.806,1.070,0.714,0.722,
+0.566,0.737,0.718,0.075,0.665,0.640,0.664,0.552,0.449,0.719,
+1.160,1.010,0.593,0.701,0.907,0.818,0.746,0.730,1.000,0.139,
+1.630,1.040,0.581,0.861,0.712,0.982,0.872,0.965,0.656,0.792,
+0.097,0.121,0.096,0.138,0.869,0.113,0.849,0.896,0.481,0.892,
+0.747,0.821,0.710,0.513,0.377,0.630,0.738,0.699,0.490,0.652,
+0.745,0.088,0.748,1.210,0.685,0.588,0.808,1.400,0.106,0.102,
+0.117,0.088,0.089,0.126,0.081,0.084,0.079,0.017,0.158,0.095,
+0.055,0.085,0.065,0.082,0.110,0.145,0.079,0.070,0.140,0.174,
+0.141,0.102,0.132,0.046,0.358,0.162,0.062,0.137,0.105,0.100,
+0.076,0.123,0.075,0.075,0.017,0.036,0.030,0.017,0.129,0.042,
+0.182,0.154,0.059,0.163,0.128,0.102,0.072,0.064,0.045,0.067,
+0.121,0.151,0.094,0.116,0.087,0.020,0.121,0.186,0.069,0.082,
+0.095,0.141,1.180,0.764,0.614,0.555,1.060,1.050,0.998,0.682,
+0.847,0.175,1.220,0.825,0.526,0.772,0.804,0.779,0.109,0.131,
+0.084,0.061,0.118,0.136,0.112,0.069,0.124,0.049,0.394,0.148,
+0.076,0.165,0.144,0.099,1.590,1.300,1.460,0.880,0.286,0.218,
+0.254,0.139,1.460,0.279,0.965,1.150,0.632,1.250,1.360,1.020,
+0.698,0.518,0.557,0.502,1.050,1.060,1.140,0.828,1.010,0.162,
+1.620,1.340,0.602,0.807,1.150,1.180,0.817,0.581,0.408,0.600,
+0.591,0.495,0.400,0.433,0.536,0.071,0.599,0.599,0.454,0.498,
+0.431,0.678,1.010,0.958,0.627,0.671,0.858,0.954,0.731,0.617,
+0.934,0.133,1.500,1.220,0.680,1.100,0.877,0.894,0.856,0.906,
+0.746,0.739,0.095,0.121,0.101,0.087,1.090,0.139,1.270,1.270,
+0.727,1.450,1.310,1.180,0.761,0.529,0.474,0.589,0.663,0.703,
+0.641,0.622,0.964,0.097,1.300,1.370,0.886,0.969,1.240,1.510,
+1.530,0.752,0.538,0.999,0.638,0.462,0.369,0.497,0.582,0.058,
+0.383,0.542,0.682,0.517,0.414,0.864,0.800,0.528,0.300,0.417,
+0.545,0.376,0.326,0.379,0.554,0.052,0.458,0.497,0.370,0.382,
+0.320,0.497,0.623,0.517,0.382,0.568,0.055,0.055,0.041,0.080,
+0.470,0.047,0.379,0.560,0.375,0.473,0.407,0.599,0.860,0.421,
+0.381,0.680,0.541,0.374,0.328,0.517,0.569,0.047,0.413,0.776,
+0.659,0.479,0.602,1.320,1.200,0.778,0.608,0.785,0.747,0.669,
+0.489,0.547,0.587,0.064,0.578,0.628,0.503,0.544,0.423,0.712,
+0.879,0.740,0.429,0.523,0.784,0.640,0.581,0.533,0.732,0.089,
+0.847,0.787,0.429,0.598,0.452,0.621,0.576,0.651,0.429,0.554,
+0.051,0.067,0.051,0.062,0.678,0.079,0.645,0.842,0.484,0.794,
+0.639,0.818,0.635,0.448,0.345,0.560,0.630,0.573,0.440,0.599,
+0.639,0.062,0.536,1.040,0.565,0.530,0.632,1.070,1.160,0.719,
+0.516,0.685,0.929,0.819,0.688,0.775,0.891,0.123,0.705,0.821,
+0.670,0.757,0.704,1.080,0.082,0.084,0.048,0.064,0.079,0.091,
+0.069,0.070,0.081,0.018,0.115,0.092,0.071,0.111,0.083,0.102,
+0.964,1.050,0.832,0.865,0.096,0.101,0.100,0.105,1.220,0.166,
+1.140,1.390,0.705,1.210,1.300,1.530,0.782,0.643,0.546,0.699,
+0.904,0.862,0.888,0.978,1.100,0.109,1.210,1.570,0.753,0.837,
+1.140,1.530,1.530,0.722,0.529,0.946,0.647,0.504,0.475,0.560,
+0.728,0.070,0.512,0.718,0.917,0.691,0.679,1.340,1.090,0.772,
+0.513,0.707,0.810,0.775,0.564,0.624,0.880,0.076,0.825,1.020,
+0.770,0.835,0.795,1.090,0.953,0.898,0.745,1.010,0.077,0.078,
+0.061,0.093,1.180,0.104,1.150,1.550,0.958,1.270,1.390,1.740,
+1.470,0.739,0.710,1.360,0.908,0.785,0.719,1.030,1.280,0.088,
+1.300,1.970,1.460,1.080,1.440,2.160,2.410,1.310,1.150,2.570,
+1.300,0.794,0.769,1.060,1.490,0.133,0.713,1.290,2.290,1.560,
+1.020,2.110,1.450,0.826,0.583,0.836,0.877,0.495,0.458,0.497,
+0.851,0.058,0.480,0.653,0.739,0.644,0.535,0.845,1.050,0.672,
+0.622,1.040,0.079,0.056,0.055,0.115,0.623,0.048,0.357,0.536,
+0.647,0.646,0.549,0.810,1.790,0.720,0.731,1.680,1.170,0.667,
+0.734,1.170,0.860,0.063,0.553,0.897,1.270,0.776,0.867,1.700,
+1.650,0.830,0.602,1.020,0.801,0.561,0.439,0.564,0.795,0.067,
+0.378,0.574,0.673,0.610,0.450,0.758,0.977,0.593,0.372,0.519,
+0.546,0.309,0.302,0.330,0.579,0.047,0.341,0.470,0.411,0.385,
+0.354,0.464,0.755,0.570,0.424,0.590,0.059,0.043,0.034,0.055,
+0.545,0.044,0.341,0.485,0.416,0.466,0.358,0.532,0.793,0.461,
+0.365,0.654,0.810,0.478,0.423,0.595,0.567,0.039,0.355,0.560,
+0.551,0.443,0.449,0.909,1.050,0.528,0.442,0.710,0.670,0.457,
+0.440,0.543,0.809,0.087,0.363,0.593,0.725,0.561,0.547,0.991,
+0.079,0.065,0.040,0.070,0.053,0.055,0.039,0.048,0.067,8.82e-3,
+0.041,0.059,0.084,0.095,0.064,0.103,0.504,0.379,0.348,0.436,
+0.041,0.029,0.029,0.045,0.449,0.038,0.307,0.379,0.361,0.386,
+0.388,0.456,0.467,0.365,0.315,0.439,0.510,0.424,0.387,0.448,
+0.614,0.051,0.423,0.599,0.528,0.468,0.562,0.937,1.550,0.634,
+0.542,1.140,0.612,0.392,0.375,0.498,1.110,0.079,0.400,0.606,
+1.070,0.674,0.654,1.380,0.947,0.624,0.453,0.724,0.571,0.435,
+0.352,0.434,0.619,0.043,0.391,0.581,0.661,0.598,0.475,0.818,
+0.615,0.522,0.420,0.606,0.047,0.041,0.033,0.053,0.538,0.037,
+0.371,0.517,0.554,0.540,0.502,0.720,1.080,0.553,0.523,1.060,
+0.541,0.421,0.404,0.656,0.845,0.055,0.570,0.985,1.280,0.925,
+1.000,2.730,1.910,1.020,0.763,1.470,0.952,0.648,0.586,0.697,
+0.763,0.070,0.384,0.729,0.987,0.766,0.520,1.010,1.070,0.696,
+0.442,0.687,0.644,0.445,0.445,0.437,0.551,0.048,0.383,0.506,
+0.461,0.525,0.368,0.571,0.537,0.496,0.402,0.547,0.046,0.052,
+0.036,0.057,0.389,0.036,0.278,0.357,0.397,0.444,0.364,0.508,
+0.645,0.388,0.363,0.677,0.579,0.455,0.368,0.500,0.420,0.040,
+0.316,0.459,0.596,0.405,0.473,0.977,1.140,0.760,0.407,0.824,
+0.644,0.542,0.390,0.482,0.485,0.048,0.280,0.512,0.438,0.483,
+0.282,0.587,0.673,0.511,0.292,0.416,0.436,0.214,0.260,0.287,
+0.408,0.037,0.287,0.426,0.289,0.337,0.242,0.361,0.568,0.530,
+0.385,0.476,0.045,0.052,0.033,0.042,0.411,0.051,0.286,0.424,
+0.350,0.615,0.332,0.484,0.492,0.336,0.278,0.529,0.476,0.390,
+0.312,0.402,0.395,0.032,0.261,0.431,0.378,0.390,0.324,0.697,
+0.728,0.463,0.304,0.518,0.549,0.390,0.347,0.400,0.608,0.062,
+0.294,0.465,0.446,0.400,0.345,0.580,0.041,0.046,0.025,0.042,
+0.038,0.045,0.034,0.040,0.037,8.11e-3,0.033,0.043,0.036,0.056,
+0.037,0.050,0.465,0.479,0.355,0.448,0.034,0.036,0.029,0.040,
+0.379,0.039,0.267,0.343,0.301,0.449,0.391,0.409,0.435,0.378,
+0.352,0.438,0.407,0.375,0.343,0.451,0.436,0.038,0.365,0.536,
+0.350,0.338,0.461,0.674,0.689,0.410,0.301,0.536,0.384,0.272,
+0.259,0.303,0.402,0.030,0.218,0.326,0.449,0.319,0.312,0.601,
+0.539,0.443,0.304,0.444,0.388,0.385,0.280,0.342,0.318,0.029,
+0.266,0.383,0.319,0.379,0.306,0.500,0.399,0.378,0.325,0.431,
+0.027,0.032,0.023,0.034,0.360,0.027,0.269,0.372,0.370,0.391,
+0.451,0.536,0.528,0.349,0.309,0.534,0.369,0.322,0.260,0.409,
+0.513,0.035,0.405,0.655,0.656,0.554,0.665,1.190,1.730,0.851,
+0.570,1.070,0.586,0.459,0.350,0.451,0.641,0.065,0.366,0.533,
+0.690,0.639,0.369,0.724,1.070,0.740,0.460,0.707,0.561,0.434,
+0.500,0.465,0.612,0.068,0.485,0.548,0.547,0.716,0.401,0.621,
+0.630,0.639,0.493,0.663,0.061,0.072,0.050,0.090,0.387,0.043,
+0.275,0.349,0.380,0.523,0.390,0.511,0.786,0.469,0.443,0.843,
+0.577,0.495,0.408,0.615,0.537,0.050,0.385,0.603,0.687,0.539,
+0.570,1.340,0.111,0.080,0.045,0.078,0.063,0.068,0.038,0.047,
+0.059,0.011,0.037,0.050,0.058,0.072,0.043,0.075,0.088,0.071,
+0.036,0.053,0.063,0.057,0.041,0.039,0.058,0.011,0.048,0.053,
+0.049,0.066,0.037,0.056,0.059,0.076,0.041,0.057,6.87e-3,0.016,
+8.13e-3,7.96e-3,0.049,9.59e-3,0.047,0.051,0.043,0.072,0.043,0.060,
+0.107,0.069,0.053,0.101,0.109,0.116,0.078,0.108,0.068,9.07e-3,
+0.053,0.089,0.082,0.100,0.065,0.141,0.831,0.474,0.359,0.457,
+0.486,0.402,0.350,0.358,0.675,0.110,0.467,0.521,0.547,0.578,
+0.417,0.686,0.057,0.056,0.030,0.041,0.038,0.050,0.037,0.029,
+0.067,0.020,0.049,0.049,0.061,0.089,0.043,0.058,0.476,0.509,
+0.400,0.395,0.048,0.056,0.050,0.044,0.495,0.062,0.285,0.372,
+0.335,0.448,0.408,0.433,0.444,0.334,0.353,0.431,0.507,0.528,
+0.410,0.457,0.650,0.067,0.544,0.652,0.466,0.464,0.520,0.745,
+0.974,0.413,0.281,0.544,0.490,0.347,0.220,0.279,0.523,0.059,
+0.282,0.509,0.603,0.582,0.307,0.694,0.811,0.564,0.355,0.544,
+0.496,0.552,0.325,0.348,0.591,0.066,0.402,0.560,0.597,0.708,
+0.391,0.623,0.623,0.848,0.380,0.515,0.077,0.223,0.041,0.051,
+0.569,0.073,0.375,0.519,0.491,0.676,0.524,0.676,0.719,0.472,
+0.403,0.615,0.576,0.720,0.348,0.495,0.724,0.066,0.587,0.874,
+0.857,0.757,0.761,1.370,2.010,0.936,0.753,1.430,0.631,0.423,
+0.394,0.439,0.698,0.058,0.356,0.560,1.020,0.649,0.616,1.190,
+0.811,0.438,0.341,0.593,0.447,0.252,0.310,0.346,0.526,0.037,
+0.320,0.469,0.483,0.389,0.407,0.614,0.675,0.467,0.424,0.726,
+0.052,0.040,0.036,0.076,0.454,0.034,0.261,0.421,0.471,0.427,
+0.343,0.633,1.070,0.513,0.571,1.400,0.631,0.392,0.460,0.710,
+0.607,0.044,0.427,0.675,0.965,0.641,0.711,1.660,1.220,0.714,
+0.491,0.853,0.634,0.489,0.359,0.450,0.571,0.054,0.341,0.536,
+0.578,0.574,0.451,0.794,0.781,0.494,0.278,0.456,0.515,0.339,
+0.274,0.345,0.473,0.039,0.321,0.472,0.411,0.397,0.280,0.481,
+0.599,0.560,0.336,0.568,0.040,0.043,0.029,0.051,0.493,0.041,
+0.320,0.483,0.469,0.534,0.355,0.612,0.819,0.454,0.429,0.802,
+0.710,0.519,0.567,0.759,0.562,0.054,0.419,0.658,0.700,0.904,
+0.557,1.080,0.839,0.432,0.362,0.614,0.566,0.366,0.358,0.474,
+0.649,0.086,0.394,0.545,0.575,0.512,0.489,0.842,0.050,0.040,
+0.029,0.053,0.036,0.035,0.030,0.036,0.057,6.96e-3,0.040,0.049,
+0.055,0.065,0.039,0.065,0.454,0.393,0.313,0.507,0.034,0.030,
+0.027,0.044,0.449,0.039,0.324,0.450,0.395,0.430,0.396,0.559,
+0.512,0.355,0.352,0.696,0.522,0.441,0.398,0.576,0.753,0.056,
+0.527,0.867,0.588,0.531,0.614,0.990,1.410,0.599,0.504,1.070,
+0.624,0.399,0.338,0.477,0.744,0.072,0.379,0.690,1.040,0.724,
+0.645,1.620,0.742,0.482,0.343,0.635,0.443,0.323,0.301,0.390,
+0.565,0.043,0.359,0.617,0.645,0.698,0.423,0.858,0.786,0.713,
+0.517,0.864,0.059,0.074,0.033,0.065,0.761,0.053,0.457,0.744,
+0.788,0.790,0.689,1.030,1.370,0.640,0.676,1.440,0.865,0.718,
+0.589,0.980,1.260,0.071,0.913,1.650,2.050,1.350,1.500,2.790,
+2.480,1.490,1.370,2.190,1.540,0.952,0.910,1.110,1.300,0.132,
+0.775,1.300,1.720,1.430,1.060,1.740,1.580,1.050,0.794,0.995,
+1.170,0.714,0.758,0.731,0.977,0.091,0.785,0.918,0.756,0.864,
+0.788,1.040,0.899,0.731,0.642,0.830,0.088,0.068,0.073,0.116,
+0.628,0.065,0.468,0.598,0.619,0.730,0.705,0.873,1.330,0.777,
+0.585,1.200,1.110,0.735,0.647,0.980,0.829,0.076,0.633,0.883,
+1.070,0.785,1.020,1.670,1.940,1.300,0.837,1.190,1.160,0.932,
+0.765,0.795,1.030,0.132,0.705,0.995,0.824,1.050,0.821,1.170,
+1.290,0.983,0.675,0.806,0.886,0.629,0.648,0.640,1.200,0.149,
+0.979,1.240,0.561,0.781,0.802,0.881,0.845,0.900,0.642,0.702,
+0.098,0.096,0.090,0.087,0.912,0.123,0.758,0.898,0.578,1.000,
+0.795,0.784,0.765,0.656,0.375,0.598,0.879,0.677,0.518,0.683,
+0.782,0.070,0.611,0.824,0.647,0.637,0.727,1.140,1.130,0.595,
+0.482,0.704,0.792,0.551,0.622,0.636,0.877,0.105,0.533,0.671,
+0.665,0.644,0.609,1.000,0.076,0.069,0.049,0.066,0.076,0.084,
+0.072,0.069,0.077,0.017,0.072,0.087,0.063,0.110,0.091,0.107,
+0.567,0.511,0.541,0.513,0.061,0.055,0.063,0.069,0.626,0.076,
+0.545,0.603,0.449,0.596,0.770,0.694,0.492,0.353,0.335,0.427,
+0.642,0.545,0.548,0.587,0.752,0.078,0.674,0.809,0.611,0.624,
+0.924,1.100,1.250,0.611,0.484,0.836,0.595,0.393,0.335,0.439,
+0.710,0.078,0.390,0.535,0.732,0.548,0.471,1.010,0.968,0.735,
+0.526,0.722,0.729,0.635,0.497,0.572,0.635,0.065,0.524,0.741,
+0.553,0.702,0.582,0.836,0.501,0.449,0.434,0.582,0.044,0.042,
+0.043,0.059,0.470,0.045,0.407,0.528,0.436,0.557,0.605,0.824,
+0.771,0.471,0.408,0.823,0.535,0.529,0.407,0.573,0.821,0.064,
+0.636,0.988,1.040,0.872,1.120,1.990,1.940,1.280,0.973,1.410,
+1.290,1.070,0.880,0.885,0.914,0.099,0.537,0.775,0.937,0.981,
+0.684,1.100,1.440,1.160,0.773,0.886,1.180,0.929,0.991,0.766,
+0.892,0.136,0.793,0.869,0.650,1.250,0.662,0.823,0.646,0.654,
+0.582,0.659,0.071,0.088,0.077,0.095,0.512,0.065,0.452,0.490,
+0.404,0.576,0.581,0.709,0.721,0.417,0.380,0.786,0.717,0.663,
+0.505,0.657,0.540,0.057,0.460,0.587,0.661,0.514,0.667,1.150,
+1.520,1.370,0.684,0.972,1.220,1.390,0.794,0.719,0.822,0.114,
+0.579,0.846,0.607,0.835,0.505,1.090,1.250,1.230,0.733,0.786,
+0.887,0.430,0.687,0.613,0.841,0.136,0.781,0.962,0.448,0.813,
+0.579,0.666,1.010,1.010,0.693,0.764,0.171,0.148,0.114,0.130,
+0.818,0.144,0.691,0.889,0.485,1.090,0.861,0.863,0.755,0.515,
+0.359,0.596,0.936,0.891,0.589,0.673,0.670,0.073,0.561,0.757,
+0.495,0.576,0.632,0.947,0.948,0.640,0.454,0.578,0.938,0.873,
+0.711,0.609,1.130,0.140,0.544,0.651,0.687,0.741,0.608,0.829,
+0.069,0.104,0.056,0.062,0.091,0.138,0.101,0.069,0.083,0.039,
+0.087,0.090,0.054,0.152,0.080,0.079,0.970,0.950,0.695,0.681,
+0.132,0.142,0.121,0.104,0.886,0.138,0.725,0.804,0.631,1.020,
+1.120,0.928,0.684,0.425,0.399,0.504,0.800,0.913,0.797,0.785,
+0.765,0.095,0.799,0.965,0.595,0.670,1.020,1.130,0.730,0.465,
+0.358,0.547,0.527,0.403,0.314,0.352,0.540,0.048,0.368,0.396,
+0.522,0.408,0.397,0.639,0.728,0.723,0.480,0.572,0.646,0.781,
+0.552,0.573,0.515,0.077,0.501,0.598,0.385,0.665,0.554,0.628,
+0.444,0.496,0.449,0.506,0.042,0.053,0.045,0.056,0.477,0.052,
+0.476,0.564,0.413,0.600,0.952,0.832,0.567,0.350,0.318,0.565,
+0.469,0.476,0.366,0.535,0.590,0.048,0.563,0.784,0.680,0.680,
+0.858,1.220,1.300,1.040,0.665,1.000,0.695,0.641,0.482,0.567,
+0.662,0.083,0.592,0.607,0.690,0.778,0.479,0.717,1.270,1.140,
+0.635,0.769,0.921,0.937,0.763,0.694,0.984,0.171,1.120,0.967,
+0.653,1.440,0.645,0.808,0.632,0.897,0.624,0.840,0.076,0.114,
+0.106,0.159,0.593,0.098,0.761,0.720,0.423,0.792,1.110,0.750,
+0.675,0.519,0.375,0.751,0.625,0.630,0.510,0.733,0.636,0.076,
+0.642,0.835,0.686,0.625,0.863,1.460,0.075,0.087,0.043,0.065,
+0.078,0.115,0.065,0.063,0.061,0.016,0.057,0.064,0.054,0.094,
+0.055,0.077,0.100,0.120,0.059,0.068,0.121,0.152,0.107,0.090,
+0.102,0.040,0.127,0.118,0.059,0.142,0.073,0.079,0.052,0.097,
+0.059,0.065,0.015,0.034,0.031,0.020,0.083,0.035,0.240,0.172,
+0.050,0.123,0.119,0.090,0.073,0.066,0.041,0.075,0.107,0.147,
+0.098,0.128,0.082,0.017,0.102,0.124,0.069,0.084,0.098,0.138,
+0.890,0.675,0.473,0.525,0.685,0.818,0.678,0.588,0.856,0.159,
+0.774,0.793,0.570,0.864,0.669,0.865,0.077,0.107,0.055,0.056,
+0.075,0.128,0.109,0.069,0.097,0.036,0.150,0.116,0.067,0.158,
+0.092,0.090,0.651,0.946,0.717,0.601,0.093,0.156,0.140,0.101,
+0.911,0.179,0.686,0.808,0.472,1.000,0.924,0.816,0.549,0.471,
+0.445,0.510,0.805,1.060,0.905,0.825,1.160,0.176,1.250,1.270,
+0.657,0.840,1.090,1.260,0.796,0.520,0.357,0.612,0.486,0.419,
+0.301,0.347,0.561,0.069,0.391,0.574,0.660,0.620,0.375,0.786,
+0.973,0.877,0.527,0.696,0.792,0.955,0.655,0.642,0.851,0.129,
+0.912,1.240,0.697,1.120,0.707,0.958,0.663,0.843,0.573,0.640,
+0.063,0.111,0.070,0.074,0.816,0.117,0.788,0.936,0.661,1.100,
+0.858,0.969,0.672,0.497,0.411,0.686,0.690,0.672,0.499,0.621,
+0.921,0.098,1.040,1.380,0.972,1.040,1.240,1.650,1.560,0.826,
+0.656,1.150,0.755,0.473,0.434,0.677,0.767,0.063,0.429,0.680,
+0.861,0.646,0.793,1.090,0.812,0.522,0.379,0.575,0.554,0.380,
+0.386,0.486,0.567,0.054,0.506,0.623,0.487,0.514,0.566,0.688,
+0.615,0.571,0.433,0.700,0.048,0.046,0.040,0.087,0.501,0.047,
+0.421,0.555,0.478,0.495,0.547,0.736,0.774,0.447,0.464,0.941,
+0.596,0.399,0.405,0.777,0.664,0.053,0.516,0.848,0.887,0.588,
+0.752,1.740,1.380,0.939,0.650,1.030,0.916,0.827,0.670,0.730,
+0.788,0.091,0.627,0.853,0.772,0.860,0.623,1.030,1.030,0.776,
+0.500,0.703,0.920,0.741,0.635,0.745,0.803,0.092,0.777,1.040,
+0.634,0.747,0.664,0.895,0.676,0.852,0.538,0.739,0.063,0.095,
+0.068,0.101,0.790,0.102,0.845,1.060,0.674,1.000,0.759,1.020,
+0.785,0.568,0.488,0.830,0.907,0.846,0.782,1.200,0.846,0.088,
+0.866,1.180,0.816,0.912,0.930,1.500,0.836,0.488,0.409,0.578,
+0.668,0.541,0.523,0.606,0.762,0.103,0.667,0.804,0.593,0.618,
+0.661,1.050,0.057,0.055,0.034,0.050,0.052,0.078,0.058,0.055,
+0.059,0.013,0.091,0.084,0.052,0.085,0.067,0.082,0.526,0.581,
+0.479,0.583,0.046,0.059,0.055,0.080,0.683,0.094,0.682,0.820,
+0.480,0.786,0.796,0.906,0.544,0.447,0.443,0.568,0.647,0.622,
+0.667,0.868,1.480,0.129,1.100,1.760,0.764,0.764,1.180,1.460,
+1.060,0.577,0.470,0.799,0.587,0.446,0.346,0.450,0.651,0.075,
+0.420,0.666,0.692,0.533,0.528,1.150,0.806,0.582,0.415,0.641,
+0.601,0.531,0.454,0.531,0.549,0.052,0.530,0.762,0.586,0.656,
+0.533,0.976,0.654,0.618,0.531,0.788,0.051,0.056,0.044,0.073,
+0.747,0.068,0.645,0.916,0.729,0.866,0.935,1.180,0.989,0.556,
+0.632,1.130,0.739,0.693,0.691,0.925,1.150,0.083,1.150,1.740,
+1.530,1.260,1.770,2.210,3.060,1.150,1.050,1.800,1.230,0.783,
+0.648,0.912,0.966,0.098,0.531,1.020,1.230,1.010,0.700,1.190,
+1.090,0.659,0.436,0.685,0.810,0.507,0.452,0.551,0.624,0.071,
+0.474,0.510,0.546,0.594,0.478,0.651,0.973,0.600,0.490,0.803,
+0.069,0.047,0.046,0.096,0.472,0.043,0.383,0.575,0.436,0.519,
+0.541,0.673,1.420,0.479,0.415,0.823,0.679,0.416,0.394,0.609,
+0.499,0.039,0.368,0.584,0.683,0.377,0.580,1.170,1.770,1.070,
+0.681,1.120,1.190,0.925,0.741,0.758,0.693,0.086,0.460,0.658,
+0.678,0.720,0.478,0.787,1.210,0.952,0.531,0.682,0.900,0.541,
+0.608,0.604,0.731,0.083,0.616,0.795,0.522,0.610,0.427,0.597,
+0.952,0.869,0.638,0.792,0.090,0.096,0.083,0.106,0.836,0.102,
+0.714,1.240,0.546,0.860,0.794,0.920,0.966,0.506,0.362,0.616,
+0.874,0.726,0.562,0.784,0.652,0.063,0.531,0.891,0.593,0.535,
+0.659,1.390,0.976,0.576,0.480,0.745,0.948,0.749,0.684,0.874,
+0.995,0.122,0.514,0.666,0.693,0.741,0.535,0.883,0.085,0.106,
+0.059,0.083,0.097,0.098,0.093,0.101,0.097,0.018,0.101,0.106,
+0.091,0.153,0.087,0.125,0.617,0.620,0.568,0.623,0.071,0.070,
+0.093,0.099,0.685,0.088,0.555,0.674,0.432,0.728,0.686,0.671,
+0.553,0.401,0.383,0.557,0.784,0.687,0.891,0.859,0.877,0.089,
+0.664,1.080,0.643,0.594,0.746,1.080,1.030,0.528,0.400,0.742,
+0.586,0.437,0.368,0.470,0.575,0.056,0.312,0.451,0.703,0.525,
+0.444,0.872,0.828,0.669,0.485,0.651,0.685,0.524,0.496,0.582,
+0.569,0.055,0.495,0.645,0.560,0.601,0.518,0.784,0.666,0.641,
+0.562,0.738,0.062,0.059,0.063,0.088,0.678,0.066,0.545,0.759,
+0.652,0.999,0.966,1.020,0.912,0.549,0.503,0.874,0.599,0.472,
+0.514,0.722,1.010,0.079,0.737,1.230,1.260,1.000,1.200,2.160,
+0.153,0.083,0.059,0.089,0.092,0.078,0.061,0.073,0.062,8.73e-3,
+0.047,0.101,0.066,0.077,0.052,0.079,0.101,0.080,0.057,0.066,
+0.089,0.084,0.080,0.076,0.063,0.012,0.079,0.066,0.063,0.070,
+0.058,0.070,0.055,0.055,0.047,0.057,6.56e-3,9.94e-3,9.28e-3,9.90e-3,
+0.041,6.89e-3,0.045,0.075,0.035,0.052,0.055,0.064,0.078,0.037,
+0.032,0.059,0.068,0.064,0.046,0.065,0.045,6.66e-3,0.038,0.075,
+0.055,0.043,0.055,0.112,0.108,0.096,0.052,0.066,0.104,0.120,
+0.088,0.067,0.057,0.013,0.047,0.056,0.044,0.062,0.042,0.060,
+0.122,0.177,0.067,0.068,0.129,0.113,0.112,0.092,0.091,0.027,
+0.098,0.098,0.054,0.082,0.060,0.068,0.076,0.102,0.063,0.071,
+0.016,0.033,0.027,0.018,0.118,0.037,0.110,0.193,0.054,0.112,
+0.116,0.098,0.070,0.047,0.033,0.051,0.091,0.101,0.076,0.083,
+0.071,0.013,0.063,0.106,0.051,0.054,0.064,0.117,0.063,0.047,
+0.030,0.043,0.076,0.083,0.074,0.066,0.071,0.015,0.047,0.061,
+0.040,0.056,0.044,0.064,7.48e-3,0.016,7.71e-3,9.13e-3,0.015,0.025,
+0.021,0.014,0.015,0.011,0.021,0.020,5.60e-3,0.016,0.013,0.011,
+0.063,0.085,0.071,0.072,0.012,0.023,0.029,0.017,0.095,0.030,
+0.094,0.109,0.045,0.103,0.105,0.086,0.051,0.038,0.039,0.054,
+0.085,0.106,0.108,0.118,0.095,0.021,0.108,0.249,0.051,0.074,
+0.086,0.124,0.071,0.061,0.042,0.061,0.053,0.050,0.040,0.045,
+0.048,7.00e-3,0.034,0.043,0.052,0.050,0.050,0.079,0.086,0.098,
+0.063,0.096,0.095,0.102,0.086,0.091,0.070,0.011,0.082,0.091,
+0.063,0.093,0.081,0.101,0.057,0.060,0.059,0.071,7.75e-3,0.013,
+0.013,0.012,0.066,0.012,0.071,0.090,0.054,0.090,0.162,0.109,
+0.069,0.050,0.045,0.071,0.059,0.060,0.058,0.068,0.081,9.05e-3,
+0.078,0.130,0.084,0.085,0.112,0.175,1.420,0.915,0.626,1.050,
+0.754,0.655,0.484,0.623,0.620,0.068,0.531,0.619,0.495,0.457,
+0.405,0.621,1.070,0.909,0.530,0.620,0.916,0.791,0.744,0.644,
+0.842,0.128,1.540,0.961,0.456,0.711,0.569,0.685,0.659,0.725,
+0.538,0.687,0.093,0.124,0.104,0.151,0.696,0.100,0.760,0.836,
+0.407,0.738,0.593,0.715,0.644,0.438,0.311,0.572,0.683,0.592,
+0.495,0.691,0.705,0.086,0.795,1.240,0.583,0.504,0.675,1.260,
+0.095,0.089,0.045,0.064,0.086,0.111,0.080,0.072,0.052,0.014,
+0.053,0.065,0.038,0.058,0.035,0.059,0.085,0.104,0.055,0.050,
+0.104,0.104,0.090,0.070,0.068,0.023,0.118,0.089,0.034,0.061,
+0.046,0.052,0.058,0.104,0.061,0.064,0.015,0.034,0.032,0.020,
+0.087,0.031,0.120,0.166,0.041,0.097,0.080,0.081,0.078,0.061,
+0.037,0.075,0.107,0.149,0.095,0.125,0.101,0.022,0.103,0.337,
+0.058,0.068,0.068,0.149,1.180,0.771,0.533,0.515,0.818,0.943,
+0.847,0.633,0.798,0.140,0.975,0.818,0.449,0.602,0.649,0.764,
+0.093,0.158,0.073,0.055,0.094,0.161,0.139,0.071,0.097,0.035,
+0.186,0.129,0.056,0.113,0.093,0.084,0.799,1.040,0.885,0.702,
+0.122,0.128,0.194,0.114,0.857,0.148,0.334,0.581,0.469,0.695,
+0.794,0.748,0.542,0.426,0.384,0.428,0.746,0.827,0.817,0.724,
+0.825,0.115,1.170,1.150,0.490,0.614,0.883,1.000,0.753,0.494,
+0.368,0.533,0.537,0.492,0.325,0.344,0.495,0.062,0.463,0.520,
+0.434,0.412,0.361,0.623,0.813,0.847,0.562,0.553,0.807,0.967,
+0.724,0.577,0.695,0.100,1.050,0.912,0.491,0.716,0.599,0.703,
+0.658,0.781,0.628,0.697,0.081,0.119,0.096,0.094,0.948,0.124,
+1.090,1.180,0.558,0.992,1.000,1.040,0.646,0.459,0.376,0.588,
+0.653,0.675,0.543,0.606,0.869,0.089,1.150,1.130,0.784,0.852,
+1.040,1.360,1.520,0.681,0.505,0.941,0.714,0.462,0.395,0.535,
+0.559,0.058,0.344,0.490,0.654,0.512,0.429,0.777,0.795,0.520,
+0.313,0.483,0.553,0.414,0.350,0.420,0.454,0.040,0.469,0.494,
+0.369,0.359,0.337,0.499,0.920,0.506,0.334,0.550,0.070,0.050,
+0.038,0.081,0.617,0.052,0.437,0.631,0.597,0.513,0.449,0.702,
+0.726,0.398,0.308,0.649,0.559,0.385,0.348,0.558,0.562,0.055,
+0.401,0.671,0.656,0.464,0.544,1.200,1.430,0.959,0.574,0.927,
+1.010,0.819,0.742,0.718,0.724,0.078,0.553,0.692,0.616,0.723,
+0.465,0.834,1.020,0.866,0.472,0.615,1.000,0.780,0.708,0.691,
+0.652,0.070,0.674,0.854,0.426,0.540,0.437,0.640,0.784,0.955,
+0.568,0.766,0.073,0.107,0.076,0.106,1.080,0.125,0.885,1.360,
+0.640,1.000,0.851,1.140,0.864,0.597,0.425,0.763,0.946,0.901,
+0.800,1.100,1.030,0.172,0.799,1.540,0.705,0.866,0.752,1.310,
+1.110,0.609,0.480,0.645,0.835,0.708,0.711,0.705,0.759,0.096,
+0.659,0.777,0.561,0.602,0.598,0.956,0.074,0.073,0.039,0.056,
+0.072,0.096,0.084,0.074,0.063,0.013,0.091,0.102,0.052,0.085,
+0.065,0.086,0.793,0.938,0.655,0.807,0.073,0.084,0.081,0.101,
+0.952,0.127,0.833,1.160,0.610,0.954,0.990,1.120,0.682,0.561,
+0.507,0.633,0.961,0.914,0.862,1.060,1.090,0.132,1.200,2.310,
+0.709,0.792,1.120,1.540,1.200,0.572,0.492,0.786,0.627,0.450,
+0.407,0.447,0.637,0.076,0.444,0.620,0.594,0.475,0.485,0.961,
+0.799,0.583,0.401,0.567,0.631,0.609,0.525,0.559,0.548,0.053,
+0.627,0.804,0.490,0.540,0.540,0.774,0.922,0.828,0.661,0.957,
+0.070,0.073,0.056,0.098,1.050,0.097,1.020,1.480,0.859,1.100,
+1.190,1.430,1.130,0.630,0.556,1.070,0.879,0.792,0.711,0.978,
+1.190,0.096,1.180,1.810,1.240,1.060,1.400,2.100,2.760,1.230,
+1.040,2.160,1.070,0.663,0.527,0.886,0.941,0.083,0.404,0.741,
+1.390,1.020,0.623,1.300,1.040,0.590,0.381,0.620,0.624,0.370,
+0.325,0.411,0.545,0.041,0.361,0.421,0.578,0.531,0.378,0.611,
+0.826,0.558,0.449,0.796,0.071,0.047,0.039,0.096,0.504,0.037,
+0.281,0.481,0.506,0.510,0.444,0.692,1.240,0.570,0.510,1.070,
+0.777,0.479,0.398,0.714,0.595,0.046,0.396,0.645,0.921,0.573,
+0.684,1.640,1.400,0.749,0.483,0.906,0.761,0.469,0.359,0.494,
+0.453,0.044,0.234,0.416,0.522,0.446,0.290,0.637,0.831,0.482,
+0.283,0.473,0.510,0.282,0.254,0.327,0.432,0.033,0.248,0.383,
+0.392,0.333,0.263,0.458,0.640,0.466,0.394,0.567,0.045,0.039,
+0.032,0.052,0.466,0.042,0.262,0.437,0.394,0.453,0.406,0.562,
+0.604,0.349,0.264,0.482,0.513,0.360,0.272,0.425,0.413,0.030,
+0.302,0.504,0.431,0.363,0.409,0.885,1.030,0.500,0.411,0.752,
+0.753,0.462,0.402,0.653,0.649,0.071,0.251,0.455,0.742,0.644,
+0.393,0.969,0.090,0.056,0.036,0.074,0.075,0.052,0.046,0.070,
+0.058,6.89e-3,0.033,0.057,0.099,0.109,0.055,0.118,0.512,0.402,
+0.377,0.509,0.044,0.032,0.033,0.059,0.433,0.042,0.259,0.408,
+0.425,0.498,0.433,0.619,0.547,0.366,0.327,0.605,0.606,0.411,
+0.405,0.629,0.517,0.045,0.364,0.650,0.576,0.482,0.521,1.030,
+1.350,0.639,0.432,0.949,0.538,0.340,0.312,0.479,0.609,0.055,
+0.293,0.477,0.951,0.594,0.477,1.140,0.808,0.465,0.339,0.555,
+0.463,0.316,0.283,0.380,0.460,0.034,0.298,0.462,0.598,0.532,
+0.403,0.750,0.605,0.524,0.430,0.582,0.040,0.035,0.033,0.051,
+0.504,0.039,0.317,0.508,0.570,0.659,0.615,0.856,1.000,0.537,
+0.496,1.010,0.606,0.409,0.402,0.640,0.851,0.055,0.580,1.010,
+1.420,1.020,1.210,2.580,1.670,0.901,0.638,1.260,0.923,0.637,
+0.483,0.637,0.690,0.067,0.489,0.675,0.837,0.689,0.514,0.982,
+0.968,0.586,0.431,0.637,0.687,0.493,0.548,0.567,0.571,0.053,
+0.729,0.594,0.527,0.493,0.449,0.675,0.567,0.443,0.360,0.592,
+0.047,0.044,0.035,0.070,0.411,0.042,0.306,0.505,0.390,0.487,
+0.428,0.694,0.708,0.371,0.316,0.662,0.596,0.448,0.327,0.533,
+0.455,0.041,0.314,0.528,0.644,0.477,0.514,1.180,1.250,0.800,
+0.463,0.795,0.836,0.634,0.431,0.524,0.496,0.051,0.282,0.456,
+0.527,0.521,0.328,0.653,0.879,0.716,0.355,0.513,0.718,0.455,
+0.393,0.473,0.602,0.064,0.392,0.524,0.447,0.486,0.337,0.540,
+0.629,0.598,0.432,0.612,0.060,0.061,0.042,0.063,0.649,0.075,
+0.405,0.683,0.476,0.664,0.553,0.767,0.555,0.374,0.259,0.486,
+0.586,0.514,0.360,0.509,0.475,0.043,0.310,0.531,0.518,0.451,
+0.445,0.915,0.803,0.430,0.331,0.513,0.636,0.494,0.408,0.507,
+0.554,0.065,0.273,0.406,0.491,0.455,0.414,0.779,0.042,0.041,
+0.026,0.051,0.048,0.061,0.043,0.049,0.040,9.02e-3,0.036,0.047,
+0.044,0.063,0.040,0.065,0.581,0.509,0.407,0.539,0.050,0.048,
+0.053,0.062,0.618,0.066,0.385,0.569,0.454,0.645,0.571,0.804,
+0.545,0.357,0.309,0.557,0.653,0.555,0.534,0.731,0.626,0.058,
+0.520,0.856,0.566,0.532,0.702,1.270,0.838,0.503,0.352,0.640,
+0.464,0.354,0.302,0.395,0.498,0.042,0.298,0.413,0.569,0.428,
+0.449,0.827,0.683,0.500,0.367,0.579,0.491,0.454,0.384,0.445,
+0.460,0.043,0.386,0.533,0.469,0.552,0.451,0.731,0.567,0.486,
+0.423,0.603,0.042,0.039,0.046,0.050,0.500,0.045,0.401,0.578,
+0.480,0.617,0.792,0.922,0.722,0.420,0.378,0.677,0.612,0.439,
+0.418,0.441,0.685,0.047,0.549,0.862,0.879,0.754,0.907,1.720,
+1.700,1.020,0.665,1.250,0.799,0.656,0.421,0.676,0.801,0.070,
+0.430,0.657,0.796,0.606,0.418,0.850,1.230,0.917,0.490,0.793,
+0.859,0.674,0.543,0.613,0.817,0.087,0.771,0.777,0.657,0.844,
+0.544,0.928,0.854,0.889,0.512,0.919,0.081,0.095,0.066,0.135,
+0.654,0.072,0.461,0.737,0.494,0.789,0.591,0.922,0.945,0.614,
+0.410,0.891,0.792,0.667,0.485,0.784,0.779,0.076,0.630,1.040,
+0.888,0.718,0.924,1.840,0.103,0.081,0.047,0.078,0.084,0.079,
+0.044,0.064,0.061,0.010,0.046,0.055,0.054,0.063,0.038,0.073,
+0.092,0.078,0.037,0.058,0.143,0.085,0.052,0.062,0.067,0.013,
+0.084,0.073,0.053,0.072,0.047,0.071,0.058,0.073,0.037,0.059,
+7.08e-3,0.016,9.23e-3,0.010,0.065,0.014,0.054,0.086,0.044,0.083,
+0.058,0.085,0.086,0.063,0.038,0.090,0.094,0.106,0.062,0.101,
+0.076,0.011,0.062,0.125,0.078,0.079,0.076,0.160,1.290,0.786,
+0.536,0.739,0.985,0.869,0.732,0.807,0.827,0.126,0.699,0.794,
+0.638,0.733,0.650,1.040,0.077,0.082,0.042,0.057,0.078,0.092,
+0.071,0.065,0.078,0.017,0.108,0.083,0.072,0.108,0.073,0.096,
+0.932,1.090,0.812,0.874,0.092,0.123,0.109,0.107,1.070,0.141,
+0.620,0.937,0.637,1.070,0.924,1.120,0.818,0.620,0.500,0.710,
+0.951,1.030,0.860,0.970,1.090,0.121,1.190,1.400,0.845,0.912,
+1.320,1.720,1.160,0.704,0.477,0.850,0.763,0.588,0.448,0.572,
+0.636,0.070,0.520,0.683,0.692,0.610,0.502,1.050,1.100,0.877,
+0.542,0.767,0.861,0.833,0.591,0.629,0.856,0.085,0.901,0.987,
+0.784,0.980,0.736,1.110,0.970,1.010,0.686,0.992,0.072,0.095,
+0.068,0.091,1.060,0.100,0.927,1.120,0.912,1.380,1.180,1.490,
+0.979,0.637,0.534,0.914,0.773,0.773,0.613,0.801,1.100,0.096,
+1.170,1.170,1.220,1.260,1.430,2.200,3.260,1.160,0.788,1.720,
+1.020,0.607,0.476,0.773,0.834,0.073,0.412,0.696,1.140,0.783,
+0.594,1.360,1.100,0.612,0.351,0.627,0.755,0.472,0.346,0.492,
+0.581,0.046,0.407,0.582,0.539,0.475,0.393,0.762,0.933,0.690,
+0.443,0.969,0.068,0.061,0.040,0.104,0.591,0.055,0.383,0.679,
+0.587,0.658,0.545,0.943,1.420,0.748,0.580,1.360,0.857,0.583,
+0.487,0.933,0.933,0.070,0.596,1.030,1.320,0.939,1.050,2.550,
+1.830,0.953,0.584,1.060,1.110,0.703,0.481,0.691,0.719,0.064,
+0.482,0.687,0.720,0.670,0.466,0.993,1.330,0.794,0.421,0.677,
+1.760,0.791,0.488,0.683,0.678,0.057,0.525,0.734,0.568,0.578,
+0.413,0.809,0.901,0.814,0.479,0.875,0.073,0.067,0.038,0.079,
+0.829,0.076,0.579,0.998,0.677,0.872,0.693,1.160,1.100,0.670,
+0.480,0.982,0.908,0.714,0.532,0.966,0.962,0.079,0.592,1.110,
+0.941,0.867,0.879,1.740,1.610,0.836,0.653,0.949,1.100,0.745,
+0.672,0.953,0.969,0.107,0.628,0.996,0.938,0.856,0.757,1.540,
+0.085,0.064,0.041,0.068,0.101,0.069,0.057,0.070,0.055,7.71e-3,
+0.056,0.076,0.074,0.087,0.062,0.115,1.080,0.989,0.731,1.100,
+0.071,0.072,0.059,0.104,1.100,0.114,0.850,1.170,0.870,1.150,
+1.130,1.640,1.190,0.819,0.695,1.070,1.150,0.961,0.867,1.350,
+1.340,0.110,1.210,1.970,1.200,1.080,1.590,2.640,3.000,1.080,
+0.782,1.650,0.981,0.642,0.556,0.847,1.020,0.089,0.587,1.040,
+1.500,1.050,0.935,2.370,1.370,0.848,0.554,0.981,0.937,0.717,
+0.565,0.776,0.899,0.063,0.676,1.070,0.995,0.948,0.763,1.550,
+1.410,1.090,0.839,1.500,0.075,0.074,0.051,0.113,1.330,0.095,
+1.050,1.720,1.390,1.510,1.600,2.490,2.740,0.934,0.863,2.120,
+1.150,0.905,0.791,1.540,1.610,0.099,1.300,2.580,1.900,1.420,
+1.880,4.210,6.330,2.230,1.760,4.850,2.790,1.360,1.340,2.200,
+3.040,0.244,1.100,2.030,5.960,3.160,1.990,4.030,2.820,1.300,
+1.030,1.570,1.530,0.752,0.762,0.878,1.640,0.097,0.744,1.080,
+1.740,1.150,0.859,1.690,2.750,1.480,1.210,2.190,0.177,0.116,
+0.091,0.236,1.390,0.100,0.639,0.995,1.600,1.360,0.979,1.700,
+5.260,1.860,1.930,4.430,2.590,1.670,1.430,2.820,1.940,0.140,
+0.953,1.690,3.350,1.680,1.750,3.700,3.390,1.350,1.010,1.580,
+1.440,0.767,0.604,0.776,1.390,0.115,0.502,0.893,1.370,1.090,
+0.550,1.200,1.700,0.819,0.539,0.793,0.855,0.441,0.402,0.452,
+0.856,0.060,0.391,0.570,0.715,0.545,0.386,0.656,1.410,0.922,
+0.602,0.943,0.077,0.049,0.040,0.074,0.793,0.057,0.366,0.612,
+0.704,0.734,0.459,0.779,1.360,0.748,0.591,1.230,0.999,0.629,
+0.526,0.816,0.947,0.062,0.433,0.845,1.100,0.795,0.664,1.540,
+2.460,0.901,0.829,1.320,1.230,0.587,0.581,0.797,1.360,0.123,
+0.478,0.913,1.560,1.010,0.758,1.800,0.146,0.080,0.056,0.097,
+0.090,0.058,0.049,0.068,0.088,9.57e-3,0.045,0.083,0.162,0.133,
+0.083,0.177,0.957,0.596,0.513,0.732,0.063,0.037,0.036,0.068,
+0.671,0.057,0.297,0.447,0.605,0.538,0.528,0.679,1.040,0.590,
+0.542,1.020,0.942,0.583,0.527,0.875,0.863,0.067,0.506,0.866,
+0.912,0.709,0.769,1.470,5.410,1.470,1.260,2.740,1.340,0.671,
+0.718,0.963,1.880,0.157,0.680,1.280,3.170,1.680,1.220,3.430,
+2.480,1.230,0.902,1.370,1.270,0.718,0.687,0.869,1.290,0.077,
+0.721,1.210,1.840,1.290,0.982,2.040,1.290,0.882,0.699,1.190,
+0.083,0.056,0.047,0.092,0.881,0.055,0.473,0.775,1.030,0.867,
+0.774,1.190,2.330,1.170,1.040,2.420,1.120,0.762,0.693,1.250,
+1.470,0.086,0.853,1.520,2.350,1.450,1.490,3.200,2.990,1.290,
+1.050,1.930,1.110,0.654,0.586,0.801,1.010,0.086,0.419,0.783,
+1.300,0.947,0.595,1.270,1.300,0.723,0.506,0.755,0.720,0.415,
+0.398,0.468,0.618,0.051,0.340,0.589,0.567,0.498,0.360,0.729,
+0.890,0.698,0.490,0.796,0.062,0.057,0.037,0.079,0.446,0.041,
+0.323,0.456,0.480,0.506,0.396,0.726,1.060,0.498,0.516,0.943,
+0.761,0.535,0.410,0.676,0.585,0.043,0.315,0.523,0.788,0.483,
+0.515,1.210,1.690,0.887,0.519,0.854,0.818,0.504,0.348,0.449,
+0.640,0.052,0.238,0.438,0.625,0.544,0.279,0.632,0.780,0.476,
+0.284,0.434,0.418,0.222,0.223,0.263,0.425,0.033,0.213,0.357,
+0.325,0.319,0.210,0.350,0.636,0.613,0.306,0.478,0.038,0.041,
+0.020,0.034,0.412,0.043,0.220,0.348,0.333,0.465,0.256,0.457,
+0.600,0.379,0.263,0.505,0.459,0.359,0.211,0.342,0.482,0.032,
+0.203,0.371,0.460,0.367,0.268,0.658,1.290,0.567,0.441,0.719,
+0.740,0.426,0.406,0.500,0.648,0.065,0.311,0.594,0.650,0.515,
+0.418,0.875,0.070,0.048,0.031,0.052,0.039,0.041,0.032,0.035,
+0.038,5.91e-3,0.029,0.048,0.050,0.058,0.036,0.067,0.607,0.482,
+0.538,0.525,0.043,0.029,0.027,0.040,0.440,0.042,0.255,0.366,
+0.335,0.410,0.423,0.498,0.519,0.284,0.299,0.484,0.497,0.336,
+0.304,0.433,0.402,0.030,0.325,0.474,0.420,0.333,0.481,0.757,
+1.510,0.547,0.537,0.930,0.671,0.386,0.378,0.470,0.687,0.053,
+0.300,0.557,0.906,0.532,0.408,1.060,1.230,0.574,0.483,0.679,
+0.598,0.477,0.419,0.490,0.492,0.037,0.365,0.698,0.602,0.530,
+0.409,0.817,0.636,0.486,0.418,0.641,0.040,0.031,0.024,0.044,
+0.408,0.030,0.256,0.450,0.414,0.426,0.405,0.674,0.833,0.419,
+0.429,0.794,0.563,0.376,0.340,0.576,0.616,0.040,0.443,0.803,
+0.858,0.656,0.719,1.420,1.990,0.974,0.782,1.450,0.787,0.482,
+0.401,0.617,0.915,0.080,0.366,0.623,1.180,0.792,0.422,0.980,
+1.220,0.731,0.428,0.720,0.589,0.344,0.325,0.406,0.753,0.059,
+0.348,0.517,0.633,0.607,0.345,0.640,0.867,0.751,0.477,0.859,
+0.077,0.097,0.043,0.104,0.513,0.050,0.266,0.414,0.502,0.634,
+0.354,0.690,1.120,0.593,0.513,1.160,0.750,0.578,0.420,0.733,
+0.813,0.065,0.383,0.727,0.983,0.663,0.662,1.890,0.132,0.081,
+0.052,0.088,0.084,0.060,0.039,0.053,0.072,8.96e-3,0.028,0.051,
+0.081,0.082,0.037,0.075,0.081,0.056,0.030,0.049,0.056,0.043,
+0.032,0.039,0.058,6.31e-3,0.029,0.042,0.050,0.055,0.026,0.051,
+0.061,0.060,0.034,0.059,6.89e-3,8.92e-3,4.45e-3,6.94e-3,0.047,6.62e-3,
+0.028,0.041,0.046,0.061,0.035,0.058,0.112,0.069,0.050,0.117,
+0.099,0.090,0.057,0.099,0.082,7.92e-3,0.046,0.083,0.096,0.075,
+0.066,0.167,0.943,0.492,0.335,0.515,0.509,0.336,0.316,0.398,
+0.606,0.067,0.301,0.481,0.519,0.430,0.396,0.655,0.063,0.047,
+0.024,0.038,0.030,0.028,0.024,0.026,0.040,5.37e-3,0.025,0.032,
+0.052,0.052,0.030,0.049,0.500,0.426,0.284,0.392,0.037,0.031,
+0.023,0.035,0.414,0.036,0.192,0.274,0.294,0.342,0.257,0.374,
+0.518,0.313,0.266,0.407,0.446,0.333,0.274,0.386,0.518,0.048,
+0.323,0.488,0.431,0.418,0.361,0.653,1.030,0.421,0.361,0.698,
+0.532,0.281,0.260,0.362,0.590,0.048,0.266,0.496,0.826,0.482,
+0.321,0.814,1.010,0.532,0.377,0.617,0.541,0.410,0.338,0.399,
+0.557,0.039,0.322,0.519,0.655,0.546,0.338,0.615,0.666,0.533,
+0.406,0.713,0.052,0.043,0.029,0.062,0.505,0.037,0.299,0.483,
+0.496,0.541,0.401,0.698,0.818,0.431,0.456,0.719,0.599,0.429,
+0.441,0.589,0.756,0.055,0.509,0.826,0.995,0.754,0.729,1.580,
+3.570,1.360,1.080,2.510,1.010,0.540,0.538,0.799,1.240,0.099,
+0.476,0.887,2.960,1.250,0.789,1.990,1.260,0.604,0.441,0.790,
+0.612,0.289,0.318,0.455,0.771,0.046,0.401,0.618,0.816,0.529,
+0.391,0.787,1.190,0.825,0.577,1.270,0.080,0.061,0.045,0.122,
+0.645,0.051,0.285,0.561,0.707,0.636,0.401,0.924,1.790,0.789,
+0.807,2.310,0.929,0.566,0.581,1.130,0.977,0.068,0.580,0.997,
+1.650,0.964,1.010,2.840,1.860,0.876,0.603,1.200,0.986,0.550,
+0.433,0.608,0.882,0.072,0.348,0.688,1.010,0.800,0.436,0.946,
+1.050,0.541,0.330,0.608,0.593,0.340,0.280,0.414,0.614,0.047,
+0.317,0.531,0.559,0.509,0.268,0.571,0.805,0.568,0.356,0.760,
+0.044,0.036,0.026,0.054,0.591,0.044,0.293,0.527,0.582,0.602,
+0.362,0.730,1.080,0.547,0.451,1.080,0.745,0.507,0.427,0.780,
+0.762,0.050,0.441,0.786,0.930,0.661,0.597,1.480,1.170,0.583,
+0.422,0.794,0.732,0.413,0.391,0.563,0.812,0.075,0.389,0.624,
+0.817,0.625,0.556,1.050,0.069,0.045,0.031,0.058,0.041,0.033,
+0.030,0.039,0.055,5.03e-3,0.037,0.053,0.067,0.064,0.044,0.079,
+0.659,0.529,0.379,0.624,0.044,0.028,0.036,0.048,0.882,0.056,
+0.344,0.422,0.535,0.452,0.517,0.640,0.718,0.429,0.405,0.726,
+0.649,0.387,0.407,0.694,0.783,0.046,0.454,0.772,0.767,0.535,
+0.618,1.170,2.330,0.853,0.719,1.640,0.857,0.497,0.542,0.653,
+1.070,0.082,0.466,0.869,1.720,0.957,0.794,2.130,1.050,0.556,
+0.444,0.777,0.621,0.378,0.380,0.506,0.679,0.044,0.411,0.721,
+0.871,0.665,0.475,1.040,1.110,0.827,0.643,1.170,0.062,0.043,
+0.036,0.078,0.893,0.051,0.457,0.791,1.000,0.914,0.763,1.290,
+2.150,0.931,0.938,2.210,1.190,0.816,0.847,1.420,1.540,0.071,
+0.953,1.740,2.880,1.630,1.720,4.320,2.850,1.480,1.330,2.420,
+1.390,0.809,0.668,0.986,1.300,0.114,0.541,0.941,1.940,1.410,
+0.795,1.540,1.380,0.853,0.544,0.746,0.846,0.476,0.402,0.475,
+0.753,0.052,0.395,0.571,0.693,0.632,0.446,0.740,0.873,0.740,
+0.478,0.848,0.066,0.052,0.036,0.087,0.500,0.041,0.255,0.393,
+0.637,0.615,0.411,0.738,1.300,0.720,0.558,1.290,0.893,0.672,
+0.477,0.856,0.778,0.059,0.379,0.672,1.070,0.719,0.716,1.470,
+1.800,0.941,0.529,0.878,0.996,0.623,0.350,0.496,0.799,0.104,
+0.326,0.508,0.749,0.772,0.335,0.711,0.892,0.565,0.292,0.409,
+0.551,0.315,0.244,0.305,0.511,0.054,0.284,0.427,0.380,0.407,
+0.241,0.425,0.627,0.576,0.277,0.411,0.066,0.037,0.024,0.038,
+0.438,0.041,0.241,0.337,0.397,0.487,0.286,0.448,0.562,0.401,
+0.234,0.458,0.560,0.412,0.242,0.371,0.485,0.036,0.254,0.411,
+0.503,0.483,0.366,0.770,0.965,0.454,0.323,0.560,0.679,0.364,
+0.290,0.426,0.679,0.068,0.239,0.453,0.631,0.479,0.347,0.780,
+0.065,0.048,0.027,0.046,0.052,0.041,0.030,0.043,0.048,6.23e-3,
+0.026,0.045,0.055,0.071,0.038,0.070,0.448,0.332,0.257,0.356,
+0.033,0.022,0.023,0.037,0.280,0.026,0.178,0.271,0.291,0.274,
+0.236,0.331,0.440,0.283,0.218,0.423,0.452,0.339,0.262,0.436,
+0.385,0.037,0.260,0.423,0.407,0.367,0.389,0.689,1.210,0.541,
+0.425,0.872,0.777,0.310,0.247,0.364,0.723,0.068,0.267,0.496,
+1.010,0.585,0.404,1.080,0.842,0.594,0.371,0.596,0.563,0.370,
+0.304,0.390,0.532,0.037,0.293,0.532,0.545,0.512,0.351,0.676,
+0.476,0.354,0.287,0.493,0.036,0.021,0.022,0.040,0.328,0.025,
+0.222,0.324,0.374,0.364,0.312,0.496,0.758,0.430,0.333,0.778,
+0.450,0.322,0.283,0.497,0.682,0.044,0.380,0.660,0.893,0.689,
+0.713,1.500,1.640,0.879,0.655,1.100,0.950,0.588,0.467,0.601,
+0.561,0.056,0.271,0.466,0.811,0.636,0.370,0.819,0.856,0.587,
+0.369,0.477,0.639,0.378,0.409,0.384,0.400,0.041,0.255,0.400,
+0.368,0.401,0.256,0.479,0.459,0.427,0.291,0.437,0.038,0.033,
+0.026,0.046,0.293,0.026,0.184,0.264,0.397,0.361,0.249,0.495,
+0.563,0.323,0.269,0.533,0.474,0.402,0.268,0.412,0.336,0.028,
+0.201,0.324,0.602,0.375,0.358,0.821,0.941,0.612,0.293,0.483,
+0.681,0.510,0.257,0.319,0.384,0.039,0.181,0.294,0.376,0.388,
+0.185,0.417,0.548,0.400,0.193,0.256,0.306,0.094,0.169,0.183,
+0.269,0.033,0.166,0.279,0.202,0.291,0.148,0.256,0.345,0.428,
+0.192,0.279,0.030,0.034,0.017,0.025,0.270,0.035,0.178,0.266,
+0.226,0.406,0.207,0.342,0.349,0.266,0.178,0.266,0.353,0.346,
+0.154,0.236,0.270,0.025,0.160,0.294,0.289,0.300,0.201,0.485,
+0.797,0.416,0.282,0.464,0.628,0.389,0.298,0.383,0.449,0.060,
+0.208,0.440,0.414,0.447,0.277,0.592,0.040,0.039,0.022,0.037,
+0.049,0.039,0.029,0.029,0.033,0.012,0.024,0.035,0.030,0.078,
+0.025,0.038,0.338,0.315,0.245,0.323,0.032,0.030,0.020,0.031,
+0.243,0.025,0.169,0.251,0.208,0.285,0.312,0.326,0.324,0.207,
+0.193,0.308,0.399,0.342,0.254,0.354,0.297,0.026,0.209,0.341,
+0.324,0.270,0.322,0.540,0.722,0.373,0.275,0.507,0.469,0.303,
+0.203,0.292,0.389,0.035,0.182,0.366,0.575,0.368,0.257,0.691,
+0.503,0.374,0.272,0.404,0.402,0.343,0.253,0.303,0.298,0.031,
+0.213,0.448,0.290,0.400,0.232,0.426,0.350,0.326,0.255,0.409,
+0.027,0.024,0.018,0.033,0.250,0.025,0.168,0.270,0.261,0.321,
+0.278,0.432,0.450,0.257,0.219,0.456,0.402,0.289,0.259,0.401,
+0.375,0.026,0.227,0.407,0.501,0.453,0.430,0.912,1.160,0.709,
+0.547,0.870,0.784,0.398,0.274,0.421,0.589,0.054,0.251,0.392,
+0.696,0.572,0.285,0.633,0.785,0.597,0.275,0.438,0.470,0.332,
+0.262,0.319,0.626,0.059,0.345,0.448,0.414,0.510,0.253,0.460,
+0.546,0.637,0.317,0.588,0.054,0.051,0.028,0.071,0.369,0.041,
+0.210,0.354,0.349,0.446,0.247,0.565,0.591,0.391,0.263,0.647,
+0.456,0.390,0.272,0.479,0.480,0.043,0.280,0.495,0.582,0.411,
+0.426,1.070,0.077,0.046,0.026,0.042,0.114,0.049,0.023,0.034,
+0.040,6.89e-3,0.019,0.029,0.046,0.049,0.022,0.048,0.042,0.036,
+0.017,0.023,0.044,0.045,0.023,0.029,0.041,8.34e-3,0.024,0.035,
+0.030,0.043,0.021,0.032,0.035,0.040,0.020,0.034,8.90e-3,6.56e-3,
+4.24e-3,5.08e-3,0.034,6.94e-3,0.024,0.031,0.029,0.042,0.027,0.041,
+0.047,0.033,0.021,0.049,0.055,0.052,0.029,0.048,0.039,4.76e-3,
+0.027,0.044,0.042,0.036,0.038,0.076,0.792,0.484,0.266,0.396,
+0.514,0.436,0.257,0.343,0.520,0.068,0.250,0.367,0.394,0.403,
+0.290,0.543,0.043,0.041,0.020,0.031,0.030,0.061,0.024,0.022,
+0.031,7.00e-3,0.024,0.029,0.031,0.045,0.024,0.034,0.317,0.397,
+0.206,0.297,0.029,0.032,0.019,0.032,0.329,0.037,0.151,0.237,
+0.210,0.305,0.211,0.306,0.328,0.255,0.192,0.292,0.347,0.360,
+0.224,0.326,0.411,0.046,0.341,0.392,0.309,0.319,0.310,0.493,
+0.640,0.349,0.269,0.517,0.427,0.249,0.194,0.274,0.423,0.037,
+0.206,0.393,0.531,0.368,0.251,0.668,0.563,0.451,0.246,0.372,
+0.439,0.599,0.239,0.298,0.413,0.040,0.265,0.416,0.407,0.481,
+0.267,0.465,0.399,0.420,0.318,0.479,0.031,0.029,0.022,0.036,
+0.374,0.035,0.265,0.376,0.344,0.458,0.327,0.538,0.475,0.303,
+0.233,0.450,0.406,0.292,0.237,0.348,0.498,0.037,0.397,0.566,
+0.608,0.525,0.510,0.901,1.170,0.555,0.431,0.941,0.567,0.295,
+0.254,0.516,0.541,0.044,0.226,0.457,0.802,0.481,0.304,0.783,
+0.624,0.466,0.228,0.396,0.337,0.205,0.190,0.314,0.373,0.030,
+0.229,0.360,0.408,0.290,0.202,0.433,0.448,0.369,0.214,0.479,
+0.029,0.023,0.016,0.049,0.267,0.022,0.155,0.298,0.297,0.305,
+0.196,0.449,0.627,0.345,0.289,0.785,0.382,0.245,0.216,0.497,
+0.411,0.028,0.221,0.487,0.635,0.391,0.438,1.150,0.914,0.464,
+0.285,0.546,0.763,0.372,0.257,0.361,0.457,0.045,0.203,0.397,
+0.511,0.481,0.218,0.541,0.521,0.360,0.165,0.292,0.430,0.293,
+0.171,0.283,0.403,0.059,0.196,0.408,0.338,0.386,0.188,0.441,
+0.338,0.314,0.161,0.309,0.030,0.025,0.012,0.028,0.306,0.031,
+0.197,0.337,0.309,0.367,0.211,0.429,0.404,0.272,0.192,0.434,
+0.397,0.313,0.208,0.399,0.377,0.027,0.241,0.418,0.427,0.354,
+0.333,0.745,0.644,0.356,0.254,0.438,0.401,0.298,0.227,0.344,
+0.481,0.049,0.278,0.409,0.431,0.367,0.342,0.665,0.032,0.027,
+0.016,0.029,0.023,0.032,0.021,0.024,0.024,3.15e-3,0.017,0.028,
+0.031,0.036,0.021,0.041,0.323,0.300,0.185,0.409,0.021,0.018,
+0.015,0.052,0.381,0.027,0.169,0.277,0.256,0.289,0.248,0.364,
+0.360,0.268,0.214,0.402,0.357,0.263,0.226,0.463,0.427,0.037,
+0.280,0.456,0.394,0.328,0.386,0.671,0.795,0.443,0.370,0.690,
+0.373,0.250,0.206,0.284,0.490,0.047,0.252,0.458,0.625,0.397,
+0.359,0.897,0.532,0.337,0.221,0.383,0.350,0.287,0.208,0.293,
+0.335,0.022,0.215,0.372,0.420,0.350,0.260,0.542,0.501,0.425,
+0.300,0.579,0.030,0.025,0.018,0.045,0.405,0.029,0.261,0.451,
+0.497,0.523,0.408,0.714,0.838,0.439,0.415,0.898,0.616,0.476,
+0.447,0.653,0.755,0.044,0.575,0.921,1.210,0.825,0.950,1.530,
+2.320,1.040,0.880,1.770,1.090,0.638,0.571,0.832,0.972,0.093,
+0.402,0.668,1.560,1.170,0.580,1.210,0.892,0.475,0.315,0.546,
+0.553,0.310,0.335,0.401,0.512,0.063,0.262,0.353,0.515,0.503,
+0.316,0.544,0.722,0.521,0.384,0.726,0.055,0.039,0.032,0.086,
+0.436,0.036,0.216,0.420,0.478,0.467,0.372,0.618,1.160,0.571,
+0.440,0.976,0.725,0.498,0.399,0.764,0.549,0.042,0.295,0.489,
+0.871,0.479,0.570,1.230,1.650,0.777,0.540,0.979,0.889,0.557,
+0.429,0.585,0.749,0.106,0.276,0.453,0.857,0.980,0.334,0.787,
+0.769,0.490,0.272,0.439,0.485,0.274,0.270,0.343,0.924,0.311,
+0.281,0.407,0.484,0.764,0.231,0.434,0.703,0.610,0.346,0.585,
+0.057,0.040,0.030,0.059,0.519,0.052,0.254,0.537,0.432,0.492,
+0.347,0.535,0.806,0.449,0.319,0.691,0.657,0.475,0.327,0.585,
+0.558,0.049,0.259,0.483,0.598,0.501,0.450,0.933,1.150,0.445,
+0.360,0.667,0.796,0.454,0.435,0.565,1.630,0.139,0.363,0.511,
+1.140,0.733,0.422,0.951,0.080,0.052,0.032,0.062,0.066,0.051,
+0.044,0.058,0.103,0.015,0.036,0.053,0.123,0.143,0.050,0.106,
+0.446,0.276,0.254,0.366,0.036,0.022,0.023,0.044,0.332,0.031,
+0.165,0.243,0.301,0.311,0.215,0.324,0.485,0.242,0.240,0.413,
+0.525,0.335,0.331,0.502,0.427,0.035,0.301,0.393,0.513,0.362,
+0.364,0.686,1.540,0.530,0.445,1.020,0.673,0.351,0.343,0.535,
+1.210,0.099,0.332,0.556,1.810,0.896,0.477,1.400,0.930,0.478,
+0.377,0.581,0.569,0.351,0.378,0.456,0.733,0.059,0.310,0.502,
+0.904,0.745,0.398,0.794,0.580,0.408,0.362,0.599,0.045,0.027,
+0.030,0.060,0.413,0.031,0.254,0.425,0.486,0.468,0.402,0.655,
+1.000,0.464,0.444,1.020,0.557,0.342,0.415,0.707,0.819,0.061,
+0.605,0.896,1.420,0.905,1.060,2.350,0.148,0.073,0.053,0.094,
+0.092,0.058,0.047,0.073,0.066,6.33e-3,0.026,0.043,0.084,0.075,
+0.039,0.080,0.081,0.049,0.036,0.050,0.057,0.041,0.043,0.053,
+0.040,5.06e-3,0.028,0.038,0.039,0.041,0.030,0.048,0.053,0.044,
+0.032,0.055,6.31e-3,5.56e-3,4.53e-3,9.55e-3,0.032,4.22e-3,0.021,0.035,
+0.034,0.039,0.029,0.049,0.072,0.042,0.036,0.073,0.066,0.055,
+0.042,0.072,0.048,4.87e-3,0.024,0.044,0.065,0.043,0.047,0.102,
+0.110,0.068,0.042,0.070,0.077,0.057,0.039,0.054,0.051,6.94e-3,
+0.019,0.033,0.051,0.057,0.024,0.054,0.068,0.051,0.031,0.041,
+0.051,0.033,0.034,0.049,0.055,0.014,0.024,0.037,0.033,0.048,
+0.021,0.037,0.055,0.059,0.032,0.048,5.91e-3,6.31e-3,5.06e-3,5.29e-3,
+0.044,7.31e-3,0.026,0.042,0.030,0.050,0.029,0.047,0.065,0.041,
+0.030,0.062,0.063,0.051,0.034,0.052,0.046,4.37e-3,0.026,0.045,
+0.046,0.040,0.038,0.091,0.081,0.040,0.029,0.045,0.061,0.050,
+0.046,0.048,0.080,0.010,0.028,0.037,0.064,0.059,0.037,0.075,
+5.16e-3,5.52e-3,3.63e-3,4.24e-3,5.58e-3,9.69e-3,6.71e-3,4.64e-3,6.25e-3,3.30e-3,
+5.58e-3,5.43e-3,5.89e-3,9.36e-3,4.12e-3,6.75e-3,0.040,0.035,0.031,0.038,
+4.37e-3,5.39e-3,4.49e-3,5.68e-3,0.038,6.89e-3,0.020,0.030,0.027,0.039,
+0.029,0.036,0.049,0.024,0.026,0.043,0.051,0.042,0.042,0.053,
+0.040,3.99e-3,0.031,0.043,0.043,0.037,0.041,0.076,0.145,0.082,
+0.061,0.104,0.078,0.051,0.047,0.062,0.101,0.010,0.040,0.059,
+0.175,0.102,0.067,0.156,0.127,0.079,0.066,0.084,0.095,0.075,
+0.074,0.079,0.089,9.69e-3,0.054,0.077,0.110,0.129,0.064,0.108,
+0.057,0.047,0.045,0.063,4.78e-3,5.77e-3,4.68e-3,7.12e-3,0.046,4.78e-3,
+0.033,0.050,0.050,0.057,0.059,0.082,0.100,0.055,0.052,0.098,
+0.070,0.052,0.064,0.088,0.080,6.43e-3,0.059,0.093,0.116,0.092,
+0.101,0.212,1.190,0.527,0.392,0.690,0.537,0.328,0.267,0.397,
+0.439,0.041,0.220,0.333,0.478,0.362,0.223,0.506,0.593,0.399,
+0.232,0.367,0.409,0.289,0.269,0.290,0.400,0.040,0.257,0.384,
+0.309,0.327,0.218,0.402,0.616,0.508,0.373,0.595,0.061,0.052,
+0.053,0.088,0.456,0.042,0.235,0.368,0.330,0.458,0.267,0.479,
+0.573,0.329,0.283,0.604,0.457,0.336,0.339,0.532,0.441,0.037,
+0.257,0.478,0.487,0.349,0.380,0.948,0.069,0.045,0.026,0.049,
+0.051,0.044,0.028,0.041,0.035,5.66e-3,0.018,0.029,0.038,0.040,
+0.019,0.044,0.040,0.032,0.016,0.024,0.038,0.032,0.024,0.027,
+0.035,8.94e-3,0.021,0.028,0.026,0.029,0.017,0.026,0.040,0.042,
+0.036,0.043,4.66e-3,6.31e-3,0.011,5.74e-3,0.033,6.43e-3,0.025,0.036,
+0.025,0.038,0.024,0.037,0.065,0.037,0.031,0.068,0.057,0.052,
+0.044,0.066,0.041,4.51e-3,0.027,0.050,0.042,0.034,0.034,0.075,
+0.624,0.388,0.264,0.340,0.453,0.373,0.327,0.405,0.446,0.058,
+0.271,0.343,0.307,0.299,0.294,0.480,0.043,0.054,0.026,0.029,
+0.034,0.042,0.038,0.026,0.033,7.06e-3,0.035,0.036,0.030,0.042,
+0.027,0.040,0.415,0.331,0.242,0.306,0.039,0.031,0.027,0.038,
+0.344,0.038,0.103,0.184,0.193,0.239,0.202,0.271,0.344,0.214,
+0.172,0.243,0.367,0.282,0.240,0.309,0.355,0.034,0.270,0.345,
+0.267,0.265,0.299,0.470,0.594,0.322,0.261,0.486,0.382,0.250,
+0.194,0.264,0.399,0.040,0.274,0.364,0.436,0.321,0.250,0.514,
+0.547,0.438,0.300,0.378,0.447,0.383,0.352,0.310,0.372,0.037,
+0.305,0.389,0.393,0.407,0.279,0.433,0.515,0.412,0.330,0.522,
+0.041,0.043,0.030,0.050,0.402,0.036,0.335,0.443,0.340,0.431,
+0.352,0.511,0.508,0.287,0.255,0.463,0.403,0.308,0.266,0.389,
+0.481,0.037,0.393,0.562,0.553,0.465,0.501,0.876,1.320,0.482,
+0.366,0.804,0.474,0.273,0.244,0.414,0.444,0.041,0.184,0.346,
+0.645,0.403,0.269,0.699,0.623,0.323,0.207,0.346,0.311,0.222,
+0.186,0.267,0.300,0.022,0.155,0.340,0.285,0.213,0.172,0.378,
+0.561,0.391,0.273,0.524,0.041,0.030,0.027,0.072,0.312,0.026,
+0.157,0.314,0.394,0.345,0.245,0.477,0.738,0.349,0.349,0.820,
+0.466,0.283,0.328,0.687,0.407,0.030,0.212,0.451,0.728,0.383,
+0.423,1.060,1.050,0.556,0.367,0.779,0.607,0.417,0.348,0.480,
+0.463,0.040,0.219,0.388,0.573,0.465,0.242,0.625,0.630,0.397,
+0.219,0.383,0.469,0.356,0.260,0.362,0.397,0.036,0.211,0.363,
+0.341,0.298,0.183,0.369,0.489,0.438,0.330,0.513,0.034,0.035,
+0.032,0.048,0.375,0.035,0.228,0.414,0.376,0.420,0.276,0.512,
+0.640,0.380,0.369,0.735,0.560,0.422,0.360,0.643,0.449,0.032,
+0.254,0.505,0.531,0.406,0.376,0.850,0.735,0.435,0.337,0.488,
+0.519,0.510,0.379,0.451,0.475,0.053,0.248,0.391,0.450,0.372,
+0.346,0.655,0.049,0.059,0.023,0.036,0.056,0.165,0.037,0.042,
+0.032,7.71e-3,0.025,0.034,0.039,0.045,0.026,0.047,0.405,0.464,
+0.253,0.420,0.030,0.045,0.021,0.043,0.373,0.032,0.203,0.324,
+0.293,0.332,0.296,0.419,0.456,0.304,0.253,0.430,0.487,0.375,
+0.342,0.550,0.448,0.033,0.329,0.574,0.472,0.373,0.469,0.767,
+1.030,0.457,0.408,0.778,0.492,0.345,0.296,0.382,0.582,0.067,
+0.283,0.507,0.653,0.413,0.352,0.911,0.664,0.415,0.267,0.453,
+0.459,0.493,0.313,0.370,0.405,0.029,0.267,0.441,0.452,0.373,
+0.303,0.578,0.630,0.532,0.391,0.735,0.043,0.045,0.028,0.063,
+0.532,0.041,0.359,0.645,0.568,0.599,0.509,0.771,1.050,0.480,
+0.446,1.030,0.693,0.521,0.447,0.787,0.803,0.051,0.569,1.020,
+1.260,0.834,0.928,1.740,2.790,1.310,1.310,2.860,1.330,0.684,
+0.644,1.010,1.390,0.100,0.501,0.935,2.410,1.430,0.784,1.820,
+1.140,0.498,0.388,0.663,0.653,0.310,0.315,0.428,0.668,0.046,
+0.320,0.424,0.658,0.525,0.282,0.560,0.942,0.541,0.440,0.923,
+0.065,0.037,0.031,0.087,0.520,0.035,0.254,0.469,0.609,0.507,
+0.357,0.783,1.830,0.749,0.716,1.700,0.938,0.518,0.471,0.917,
+0.879,0.057,0.461,0.783,1.510,0.785,0.777,2.210,1.420,0.597,
+0.457,0.850,0.670,0.331,0.255,0.401,0.626,0.056,0.253,0.397,
+0.906,0.668,0.302,0.735,0.681,0.353,0.244,0.390,0.335,0.162,
+0.171,0.247,0.502,0.080,0.195,0.290,0.431,0.370,0.192,0.373,
+0.706,0.549,0.330,0.551,0.045,0.025,0.018,0.038,0.454,0.030,
+0.182,0.351,0.466,0.387,0.274,0.499,0.742,0.390,0.307,0.679,
+0.492,0.281,0.215,0.401,0.559,0.032,0.227,0.428,0.634,0.413,
+0.376,1.010,1.320,0.502,0.458,0.869,0.711,0.346,0.353,0.610,
+1.310,0.105,0.340,0.552,1.540,0.789,0.440,1.210,0.081,0.044,
+0.034,0.064,0.051,0.032,0.030,0.054,0.076,7.06e-3,0.028,0.046,
+0.152,0.110,0.042,0.101,0.520,0.347,0.332,0.517,0.035,0.020,
+0.021,0.047,0.448,0.028,0.184,0.292,0.464,0.359,0.314,0.486,
+0.614,0.313,0.373,0.655,0.521,0.284,0.305,0.536,0.513,0.034,
+0.269,0.484,0.713,0.448,0.490,1.060,2.530,0.770,0.747,1.850,
+0.909,0.413,0.427,0.769,1.740,0.134,0.551,0.887,4.580,1.640,
+0.875,2.570,1.250,0.582,0.486,0.785,0.603,0.333,0.348,0.537,
+0.926,0.059,0.397,0.628,1.490,0.985,0.496,1.070,0.806,0.520,
+0.462,0.804,0.053,0.030,0.030,0.058,0.648,0.036,0.318,0.533,
+0.756,0.608,0.510,0.853,1.570,0.673,0.706,1.610,0.772,0.452,
+0.511,0.835,1.190,0.069,0.654,1.210,2.250,1.320,1.300,3.350,
+1.760,0.803,0.640,1.330,0.874,0.493,0.434,0.622,0.759,0.058,
+0.278,0.501,1.030,0.735,0.406,0.976,0.877,0.466,0.360,0.561,
+0.537,0.301,0.328,0.394,0.414,0.031,0.292,0.366,0.406,0.379,
+0.274,0.509,0.609,0.445,0.344,0.629,0.042,0.034,0.024,0.056,
+0.367,0.030,0.221,0.402,0.403,0.406,0.301,0.594,0.722,0.377,
+0.365,0.734,0.561,0.391,0.318,0.566,0.499,0.039,0.249,0.442,
+0.676,0.415,0.442,1.050,1.140,0.565,0.396,0.677,0.629,0.410,
+0.256,0.360,0.420,0.035,0.159,0.305,0.534,0.436,0.213,0.510,
+0.603,0.375,0.251,0.364,0.376,0.221,0.202,0.284,0.320,0.027,
+0.163,0.264,0.288,0.275,0.177,0.334,0.500,0.471,0.250,0.427,
+0.040,0.032,0.016,0.032,0.367,0.035,0.181,0.306,0.375,0.402,
+0.246,0.467,0.515,0.320,0.229,0.489,0.435,0.331,0.197,0.337,
+0.363,0.023,0.168,0.331,0.411,0.296,0.274,0.720,0.983,0.398,
+0.307,0.564,0.548,0.324,0.379,0.446,0.630,0.062,0.240,0.347,
+0.740,0.547,0.354,0.790,0.044,0.032,0.021,0.038,0.031,0.031,
+0.031,0.036,0.032,4.62e-3,0.021,0.028,0.052,0.063,0.027,0.052,
+0.483,0.395,0.291,0.439,0.030,0.024,0.021,0.037,0.360,0.030,
+0.174,0.285,0.333,0.370,0.290,0.477,0.545,0.274,0.274,0.489,
+0.461,0.310,0.319,0.456,0.427,0.027,0.233,0.396,0.517,0.353,
+0.406,0.822,1.320,0.563,0.478,0.917,0.572,0.320,0.318,0.440,
+0.768,0.060,0.360,0.480,1.350,0.815,0.511,1.220,0.909,0.514,
+0.422,0.621,0.531,0.378,0.375,0.475,0.610,0.050,0.401,0.515,
+0.834,0.913,0.470,0.789,0.555,0.419,0.370,0.611,0.035,0.027,
+0.026,0.042,0.429,0.029,0.258,0.431,0.490,0.464,0.405,0.753,
+0.881,0.426,0.442,0.813,0.609,0.407,0.524,0.601,0.692,0.039,
+0.408,0.730,1.080,0.729,0.732,1.590,1.330,0.611,0.458,0.925,
+0.560,0.354,0.281,0.462,0.607,0.045,0.244,0.425,0.800,0.486,
+0.314,0.725,0.796,0.480,0.312,0.554,0.458,0.288,0.245,0.300,
+0.483,0.040,0.258,0.384,0.488,0.455,0.298,0.559,0.681,0.558,
+0.359,0.671,0.075,0.049,0.031,0.075,0.482,0.039,0.239,0.426,
+0.446,0.507,0.311,0.632,0.690,0.393,0.315,0.730,0.547,0.360,
+0.276,0.516,0.604,0.047,0.335,0.629,0.762,0.476,0.499,1.300,
+0.070,0.042,0.034,0.055,0.049,0.036,0.024,0.038,0.041,4.51e-3,
+0.019,0.030,0.054,0.048,0.028,0.061,0.043,0.030,0.017,0.029,
+0.036,0.032,0.020,0.024,0.030,3.78e-3,0.020,0.026,0.031,0.031,
+0.018,0.037,0.044,0.040,0.024,0.041,5.06e-3,3.86e-3,2.51e-3,4.32e-3,
+0.039,3.97e-3,0.023,0.038,0.037,0.044,0.032,0.058,0.061,0.036,
+0.027,0.065,0.064,0.047,0.028,0.051,0.047,3.86e-3,0.025,0.049,
+0.056,0.041,0.038,0.092,0.825,0.402,0.282,0.440,0.515,0.354,
+0.299,0.450,0.509,0.058,0.268,0.409,0.470,0.431,0.388,0.786,
+0.043,0.034,0.018,0.029,0.028,0.028,0.021,0.023,0.032,4.32e-3,
+0.028,0.026,0.041,0.050,0.029,0.055,0.436,0.454,0.263,0.412,
+0.035,0.031,0.021,0.037,0.488,0.040,0.183,0.280,0.313,0.414,
+0.291,0.463,0.526,0.285,0.238,0.380,0.455,0.354,0.281,0.396,
+0.532,0.038,0.341,0.449,0.482,0.432,0.460,0.768,0.880,0.377,
+0.311,0.629,0.459,0.272,0.232,0.346,0.559,0.044,0.317,0.457,
+0.728,0.454,0.460,0.812,0.795,0.487,0.350,0.576,0.474,0.386,
+0.315,0.351,0.568,0.039,0.349,0.480,0.654,0.592,0.396,0.674,
+0.742,0.558,0.422,0.777,0.046,0.044,0.027,0.051,0.596,0.040,
+0.364,0.541,0.653,0.636,0.502,0.793,0.785,0.403,0.401,0.701,
+0.545,0.409,0.339,0.499,0.774,0.048,0.529,0.792,0.957,0.758,
+0.767,1.420,2.500,0.877,0.703,1.660,0.850,0.438,0.406,0.716,
+0.882,0.065,0.358,0.753,1.610,0.770,0.540,1.400,1.030,0.465,
+0.343,0.574,0.529,0.285,0.251,0.395,0.539,0.034,0.264,0.496,
+0.560,0.383,0.351,0.684,0.888,0.570,0.395,0.928,0.062,0.043,
+0.031,0.089,0.516,0.037,0.254,0.505,0.648,0.535,0.399,0.832,
+1.430,0.618,0.598,1.520,0.816,0.439,0.438,0.890,0.814,0.050,
+0.462,0.942,1.850,0.816,0.879,2.600,1.180,0.562,0.422,0.849,
+0.661,0.405,0.354,0.519,0.521,0.040,0.230,0.475,0.712,0.509,
+0.317,0.876,0.686,0.372,0.236,0.409,0.432,0.264,0.210,0.325,
+0.419,0.028,0.228,0.398,0.396,0.348,0.231,0.485,0.593,0.434,
+0.288,0.586,0.040,0.029,0.017,0.041,0.472,0.034,0.229,0.462,
+0.519,0.527,0.325,0.694,0.781,0.402,0.373,0.841,0.764,0.412,
+0.301,0.596,0.558,0.033,0.286,0.608,0.790,0.550,0.484,1.230,
+1.270,0.592,0.547,0.816,0.767,0.519,0.530,0.716,0.973,0.079,
+0.354,0.652,1.000,0.672,0.580,1.350,0.068,0.046,0.030,0.053,
+0.044,0.054,0.040,0.045,0.048,4.09e-3,0.026,0.044,0.072,0.062,
+0.037,0.090,0.720,0.592,0.425,0.807,0.041,0.035,0.026,0.060,
+0.656,0.045,0.305,0.533,0.581,0.567,0.479,0.838,0.940,0.600,
+0.500,0.848,0.800,0.563,0.495,0.869,0.824,0.054,0.535,0.937,
+0.940,0.676,0.801,1.500,2.660,0.935,0.802,1.760,0.956,0.574,
+0.511,0.773,1.250,0.083,0.579,1.080,1.940,1.090,0.890,2.920,
+1.490,0.773,0.535,0.920,0.913,0.688,0.481,0.674,1.050,0.053,
+0.530,0.895,1.210,0.903,0.660,1.450,1.460,1.030,0.806,1.520,
+0.065,0.052,0.036,0.088,1.140,0.066,0.686,1.240,1.360,1.220,
+1.150,1.950,3.210,1.270,1.250,2.950,1.590,1.040,0.910,1.710,
+1.990,0.095,1.330,2.460,3.640,1.830,2.180,3.800,2.620,1.420,
+1.170,2.280,1.610,0.943,0.748,1.050,1.730,0.172,0.718,1.220,
+2.200,1.690,0.905,1.640,1.820,1.010,0.654,0.895,1.010,0.581,
+0.501,0.538,0.975,0.075,0.489,0.682,0.800,0.733,0.516,0.810,
+1.220,0.854,0.603,0.927,0.100,0.078,0.062,0.118,0.775,0.083,
+0.538,0.598,0.767,0.840,0.638,0.860,2.070,0.863,0.827,1.600,
+1.310,0.822,0.690,1.200,1.020,0.090,0.548,0.909,1.310,0.886,
+0.852,1.560,2.040,0.948,0.614,1.060,1.020,0.702,0.465,0.597,
+0.948,0.106,0.396,0.612,0.787,0.844,0.392,0.751,1.180,0.760,
+0.437,0.608,0.680,0.443,0.366,0.390,0.670,0.065,0.351,0.534,
+0.453,0.514,0.325,0.472,0.750,0.684,0.381,0.542,0.059,0.063,
+0.038,0.057,0.703,0.092,0.371,0.549,0.425,0.678,0.373,0.561,
+0.696,0.455,0.323,0.591,0.652,0.512,0.344,0.511,0.703,0.059,
+0.363,0.583,0.604,0.561,0.463,0.872,1.140,0.527,0.407,0.632,
+0.754,0.415,0.355,0.446,0.758,0.100,0.328,0.527,0.659,0.575,
+0.449,0.816,0.098,0.065,0.037,0.055,0.063,0.045,0.036,0.042,
+0.068,0.015,0.041,0.061,0.069,0.100,0.053,0.091,0.510,0.454,
+0.407,0.412,0.051,0.049,0.035,0.045,0.664,0.172,0.273,0.331,
+0.380,0.557,0.324,0.393,0.588,0.343,0.272,0.456,0.585,0.420,
+0.321,0.477,0.642,0.082,0.416,0.543,0.492,0.554,0.484,0.762,
+1.720,0.631,0.483,1.010,0.698,0.381,0.354,0.467,0.759,0.074,
+0.307,0.546,1.040,0.733,0.519,1.230,1.650,0.792,0.508,0.651,
+0.829,0.509,0.387,0.441,0.674,0.057,0.387,0.579,0.656,0.711,
+0.459,0.839,0.632,0.542,0.406,0.595,0.053,0.043,0.037,0.057,
+0.594,0.064,0.324,0.492,0.533,0.605,0.466,0.619,1.070,0.536,
+0.477,0.981,0.606,0.439,0.402,0.674,0.860,0.066,0.532,0.936,
+1.030,0.908,0.873,1.670,1.900,1.110,0.794,1.280,1.030,0.747,
+0.596,0.679,0.843,0.089,0.451,0.683,0.811,0.824,0.496,0.893,
+1.050,0.864,0.460,0.591,0.746,0.503,0.524,0.465,0.532,0.061,
+0.383,0.518,0.393,0.502,0.349,0.522,0.607,0.694,0.468,0.543,
+0.072,0.094,0.061,0.074,0.560,0.070,0.625,0.523,0.472,0.632,
+0.639,0.651,0.759,0.410,0.431,0.652,0.765,0.612,0.416,0.548,
+0.544,0.069,0.373,0.478,0.693,0.493,0.506,0.974,1.350,0.914,
+0.447,0.655,0.722,0.713,0.422,0.442,0.664,0.082,0.307,0.447,
+0.481,0.626,0.269,0.555,0.718,0.657,0.328,0.419,0.512,0.316,
+0.343,0.332,0.508,0.064,0.329,0.473,0.306,0.484,0.276,0.363,
+0.519,0.783,0.371,0.427,0.055,0.115,0.041,0.049,0.624,0.096,
+0.380,0.607,0.342,0.786,0.400,0.533,0.418,0.372,0.221,0.401,
+0.479,0.577,0.252,0.345,0.560,0.058,0.281,0.439,0.401,0.456,
+0.313,0.619,0.805,0.486,0.320,0.431,0.639,0.489,0.407,0.395,
+0.524,0.079,0.375,0.453,0.362,0.459,0.393,0.523,0.055,0.075,
+0.040,0.043,0.054,0.058,0.047,0.037,0.050,0.015,0.052,0.055,
+0.033,0.079,0.043,0.048,0.500,0.528,1.450,0.520,0.096,0.066,
+0.081,0.054,0.694,0.103,0.358,0.406,0.300,0.578,0.470,0.410,
+0.394,0.269,0.315,0.373,0.563,0.509,0.397,0.442,0.531,0.056,
+0.427,0.507,0.313,0.395,0.434,0.560,0.740,0.378,0.293,0.483,
+0.434,0.327,0.365,0.315,0.375,0.037,0.224,0.311,0.435,0.346,
+0.283,0.512,0.750,0.632,0.378,0.428,0.474,0.432,0.330,0.343,
+0.367,0.044,0.330,0.424,0.317,0.529,0.333,0.485,0.421,0.482,
+0.433,0.451,0.036,0.041,0.029,0.038,0.422,0.047,0.287,0.415,
+0.302,0.452,0.387,0.487,0.570,0.342,0.294,0.472,0.493,0.374,
+0.268,0.418,0.582,0.050,0.393,0.622,0.590,0.623,0.584,0.984,
+1.140,0.817,0.434,0.807,0.549,0.425,0.269,0.402,0.535,0.060,
+0.255,0.406,0.580,0.533,0.267,0.553,0.879,1.130,0.356,0.545,
+0.503,0.381,0.293,0.350,0.593,0.077,0.349,0.456,0.393,0.565,
+0.287,0.475,0.531,0.635,0.365,0.634,0.069,0.069,0.041,0.088,
+0.455,0.050,0.257,0.363,0.332,0.487,0.276,0.446,0.600,0.366,
+0.296,0.616,0.595,0.423,0.292,0.466,0.554,0.057,0.291,0.527,
+0.580,0.494,0.476,1.140,0.089,0.063,0.029,0.052,0.059,0.062,
+0.034,0.053,0.052,0.012,0.025,0.038,0.048,0.076,0.029,0.052,
+0.064,0.085,0.033,0.045,0.062,0.060,0.041,0.047,0.058,0.014,
+0.039,0.047,0.036,0.071,0.028,0.044,0.041,0.059,0.030,0.041,
+0.013,0.012,7.60e-3,7.60e-3,0.052,0.012,0.033,0.044,0.034,0.071,
+0.032,0.046,0.053,0.041,0.028,0.055,0.086,0.080,0.046,0.068,
+0.067,0.010,0.041,0.060,0.058,0.064,0.049,0.101,0.556,0.378,
+0.239,0.319,0.368,0.331,0.288,0.270,0.511,0.077,0.257,0.328,
+0.315,0.365,0.262,0.374,0.043,0.056,0.025,0.033,0.029,0.037,
+0.031,0.023,0.043,0.010,0.035,0.038,0.036,0.064,0.033,0.037,
+0.351,0.446,0.308,0.310,0.036,0.043,0.043,0.034,0.395,0.060,
+0.201,0.292,0.215,0.399,0.283,0.308,0.336,0.253,0.195,0.252,
+0.359,0.358,0.283,0.310,0.528,0.071,0.347,0.425,0.316,0.472,
+0.356,0.512,0.543,0.293,0.198,0.420,0.326,0.215,0.173,0.220,
+0.382,0.038,0.170,0.293,0.451,0.330,0.209,0.473,0.603,0.461,
+0.304,0.411,0.412,0.361,0.282,0.307,0.453,0.046,0.295,0.403,
+0.428,0.488,0.288,0.433,0.443,0.497,0.377,0.464,0.043,0.048,
+0.034,0.045,0.493,0.050,0.282,0.410,0.373,0.497,0.347,0.493,
+0.539,0.330,0.305,0.423,0.449,0.384,0.341,0.407,0.667,0.059,
+0.514,0.686,0.639,0.647,0.594,1.030,1.370,0.712,0.479,0.991,
+0.500,0.337,0.263,0.370,0.524,0.053,0.227,0.408,0.749,0.592,
+0.326,0.761,0.650,0.425,0.248,0.442,0.370,0.213,0.187,0.269,
+0.393,0.036,0.187,0.318,0.321,0.360,0.192,0.407,0.519,0.436,
+0.283,0.604,0.054,0.049,0.034,0.072,0.416,0.034,0.177,0.299,
+0.324,0.380,0.233,0.446,0.743,0.354,0.325,0.784,0.539,0.349,
+0.284,0.483,0.459,0.038,0.266,0.458,0.681,0.513,0.471,1.230,
+1.160,0.617,0.370,0.692,0.648,0.488,0.311,0.413,0.594,0.078,
+0.252,0.436,0.573,0.766,0.287,0.561,0.709,0.536,0.317,0.515,
+0.565,0.414,0.327,0.383,0.512,0.083,0.255,0.443,0.373,0.594,
+0.227,0.439,0.438,0.423,0.233,0.410,0.045,0.044,0.030,0.047,
+0.446,0.049,0.241,0.386,0.355,0.564,0.290,0.474,0.498,0.336,
+0.228,0.463,0.523,0.435,0.295,0.540,0.512,0.045,0.292,0.489,
+0.522,0.496,0.393,0.819,0.558,0.337,0.221,0.385,0.412,0.270,
+0.243,0.319,0.449,0.059,0.246,0.345,0.401,0.409,0.355,0.577,
+0.038,0.033,0.024,0.038,0.027,0.027,0.029,0.026,0.034,5.16e-3,
+0.041,0.039,0.035,0.055,0.035,0.049,0.347,0.353,0.437,0.346,
+0.034,0.031,0.150,0.049,0.369,0.040,0.220,0.276,0.260,0.351,
+0.462,0.401,0.355,0.243,0.222,0.340,0.415,0.313,0.418,0.419,
+0.501,0.055,0.301,0.456,0.393,0.438,0.433,0.702,0.944,0.409,
+0.298,0.632,0.423,0.270,0.228,0.302,0.507,0.042,0.224,0.414,
+0.681,0.479,0.393,0.914,0.511,0.314,0.240,0.443,0.366,0.233,
+0.242,0.317,0.373,0.030,0.249,0.420,0.393,0.422,0.278,0.527,
+0.536,0.485,0.357,0.581,0.042,0.035,0.043,0.050,0.613,0.043,
+0.300,0.516,0.552,0.597,0.538,0.736,0.928,0.487,0.412,0.894,
+0.638,0.519,0.468,0.673,0.887,0.055,0.565,0.994,1.230,0.909,
+0.931,1.980,1.750,1.100,0.876,1.470,1.140,0.800,0.544,0.688,
+0.967,0.112,0.461,0.741,1.160,1.040,0.544,1.020,1.150,0.823,
+0.486,0.634,0.903,0.578,0.464,0.485,0.665,0.062,0.436,0.575,
+0.485,0.557,0.405,0.575,0.591,0.613,0.381,0.576,0.057,0.063,
+0.038,0.070,0.455,0.050,0.265,0.312,0.415,0.502,0.328,0.502,
+0.831,0.506,0.512,0.855,0.688,0.687,0.430,0.601,0.619,0.076,
+0.340,0.516,0.757,0.590,0.517,0.957,1.550,0.891,0.481,0.750,
+0.953,0.763,0.397,0.476,0.680,0.094,0.359,0.468,0.541,0.682,
+0.304,0.586,0.901,0.767,0.360,0.456,0.695,0.520,0.375,0.416,
+0.593,0.089,0.417,0.589,0.345,0.575,0.293,0.456,0.472,0.586,
+0.303,0.362,0.063,0.068,0.046,0.046,0.520,0.078,0.355,0.390,
+0.311,0.633,0.336,0.432,0.404,0.335,0.235,0.320,0.515,0.512,
+0.381,0.356,0.497,0.055,0.295,0.444,0.383,0.438,0.344,0.645,
+0.625,0.366,0.240,0.350,0.549,0.359,0.280,0.338,0.536,0.074,
+0.243,0.344,0.367,0.386,0.295,0.501,0.049,0.048,0.028,0.036,
+0.069,0.051,0.037,0.039,0.044,0.013,0.037,0.046,0.036,0.074,
+0.037,0.053,0.288,0.296,0.218,0.246,0.031,0.031,0.025,0.031,
+0.288,0.042,0.197,0.240,0.197,0.285,0.221,0.238,0.358,0.215,
+0.157,0.247,0.356,0.320,0.209,0.301,0.364,0.064,0.260,0.356,
+0.294,0.336,0.357,0.535,0.821,0.337,0.243,0.488,0.442,0.239,
+0.170,0.247,0.429,0.043,0.181,0.287,0.555,0.415,0.292,0.646,
+0.692,0.475,0.298,0.403,0.735,0.450,0.282,0.343,0.390,0.043,
+0.256,0.408,0.322,0.465,0.294,0.450,0.353,0.313,0.321,0.382,
+0.032,0.029,0.026,0.036,0.289,0.031,0.233,0.301,0.243,0.337,
+0.272,0.358,0.599,0.347,0.258,0.521,0.355,0.331,0.218,0.343,
+0.538,0.050,0.323,0.517,0.579,0.592,0.532,1.000,1.260,0.863,
+0.564,0.867,0.978,0.793,0.522,0.562,0.545,0.072,0.304,0.451,
+0.618,0.662,0.321,0.599,0.973,0.747,0.425,0.503,1.160,0.770,
+0.700,0.546,0.481,0.068,0.381,0.528,0.339,0.514,0.288,0.423,
+0.428,0.444,0.299,0.376,0.062,0.055,0.040,0.051,0.434,0.048,
+0.277,0.301,0.661,0.430,0.293,0.394,0.444,0.275,0.255,0.417,
+0.504,0.486,0.294,0.371,0.362,0.038,0.257,0.319,1.000,0.416,
+0.358,0.651,1.140,0.844,0.342,0.481,0.846,0.902,0.411,0.415,
+0.559,0.080,0.300,0.383,0.401,0.548,0.228,0.457,0.745,0.633,
+0.301,0.341,0.427,0.216,0.273,0.260,0.471,0.111,0.291,0.417,
+0.272,0.592,0.235,0.324,0.365,0.604,0.259,0.313,0.055,0.105,
+0.043,0.043,0.447,0.082,0.289,0.417,0.267,0.626,0.319,0.415,
+0.297,0.312,0.183,0.252,0.449,0.691,0.250,0.304,0.361,0.053,
+0.255,0.363,0.315,0.392,0.254,0.531,0.608,0.422,0.338,0.328,
+0.663,0.580,0.392,0.380,0.462,0.083,0.286,0.352,0.301,0.456,
+0.308,0.426,0.049,0.065,0.070,0.038,0.120,0.104,0.059,0.042,
+0.054,0.026,0.050,0.049,0.030,0.110,0.040,0.039,0.303,0.410,
+0.321,0.308,0.045,0.064,0.045,0.043,0.351,0.056,0.272,0.321,
+0.188,0.430,0.370,0.326,0.272,0.211,0.170,0.228,0.424,0.513,
+0.358,0.376,0.414,0.049,0.359,0.411,0.279,0.346,0.380,0.491,
+0.522,0.294,0.215,0.371,0.396,0.294,0.191,0.238,0.343,0.034,
+0.165,0.231,0.413,0.297,0.220,0.383,0.469,0.436,0.349,0.349,
+0.612,0.622,0.328,0.341,0.371,0.053,0.261,0.347,0.239,0.491,
+0.253,0.338,0.292,0.351,0.272,0.321,0.029,0.039,0.023,0.030,
+0.270,0.032,0.269,0.305,0.208,0.352,0.331,0.380,0.361,0.251,
+0.186,0.326,0.364,0.356,0.221,0.331,0.394,0.037,0.284,0.404,
+0.404,0.497,0.427,0.735,1.030,0.617,0.381,0.619,0.572,0.454,
+0.233,0.353,0.451,0.053,0.218,0.312,0.448,0.435,0.208,0.468,
+0.806,0.769,0.276,0.427,0.609,0.507,0.335,0.372,0.567,0.074,
+0.417,0.460,0.310,0.515,0.235,0.399,0.499,0.574,0.376,0.680,
+0.118,0.070,0.043,0.091,0.404,0.056,0.220,0.324,0.272,0.421,
+0.229,0.381,0.443,0.306,0.222,0.511,0.497,0.427,0.265,0.430,
+0.429,0.052,0.279,0.463,0.446,0.399,0.367,0.832,0.157,0.052,
+0.025,0.040,0.090,0.093,0.035,0.039,0.047,0.010,0.026,0.033,
+0.035,0.061,0.031,0.063,0.064,0.061,0.025,0.030,0.080,0.105,
+0.052,0.048,0.064,0.031,0.053,0.053,0.026,0.070,0.026,0.036,
+0.080,0.061,0.034,0.042,0.069,0.029,0.012,0.011,0.067,0.019,
+0.043,0.042,0.037,0.066,0.035,0.037,0.041,0.029,0.018,0.036,
+0.130,0.101,0.042,0.054,0.046,9.69e-3,0.040,0.049,0.036,0.042,
+0.036,0.065,0.599,0.468,0.291,0.358,0.496,0.545,0.318,0.344,
+0.508,0.092,0.300,0.358,0.309,0.427,0.277,0.438,0.048,0.073,
+0.037,0.036,0.047,0.080,0.051,0.037,0.051,0.020,0.058,0.050,
+0.033,0.078,0.036,0.040,0.331,0.495,0.281,0.328,0.048,0.063,
+0.040,0.045,0.415,0.071,0.204,0.336,0.196,0.435,0.253,0.312,
+0.304,0.243,0.166,0.277,0.400,0.484,0.296,0.407,0.552,0.075,
+0.438,0.510,0.294,0.416,0.335,0.504,0.497,0.287,0.205,0.415,
+0.312,0.220,0.150,0.217,0.337,0.037,0.193,0.326,0.347,0.294,
+0.189,0.520,0.549,0.501,0.281,0.348,0.525,0.514,0.336,0.338,
+0.490,0.065,0.409,0.515,0.323,0.535,0.292,0.432,0.368,0.478,
+0.525,0.529,0.042,0.046,0.042,0.052,0.432,0.056,0.342,0.429,
+0.288,0.524,0.341,0.447,0.409,0.289,0.251,0.446,0.402,0.372,
+0.272,0.399,0.616,0.056,0.521,0.662,0.523,0.610,0.526,0.847,
+0.844,0.421,0.282,0.599,0.417,0.277,0.179,0.332,0.372,0.035,
+0.162,0.319,0.450,0.350,0.186,0.523,0.545,0.361,0.178,0.327,
+0.343,0.226,0.161,0.254,0.303,0.029,0.164,0.272,0.238,0.276,
+0.138,0.338,0.347,0.294,0.181,0.386,0.037,0.024,0.014,0.041,
+0.263,0.023,0.126,0.232,0.218,0.255,0.140,0.303,0.431,0.245,
+0.192,0.473,0.326,0.228,0.170,0.350,0.316,0.027,0.196,0.345,
+0.427,0.330,0.299,0.783,1.030,0.468,0.244,0.457,0.607,0.539,
+0.251,0.329,0.451,0.060,0.223,0.344,0.395,0.532,0.203,0.453,
+0.568,0.466,0.181,0.279,0.591,0.507,0.249,0.316,0.519,0.094,
+0.278,0.432,0.348,0.646,0.224,0.420,0.351,0.353,0.180,0.289,
+0.091,0.051,0.024,0.040,0.379,0.047,0.226,0.319,0.271,0.433,
+0.234,0.343,0.295,0.215,0.158,0.281,0.432,0.398,0.220,0.379,
+0.364,0.039,0.272,0.385,0.320,0.354,0.293,0.556,0.417,0.266,
+0.178,0.276,0.371,0.321,0.216,0.291,0.358,0.049,0.224,0.308,
+0.271,0.300,0.229,0.437,0.025,0.025,0.015,0.022,0.024,0.035,
+0.019,0.023,0.024,5.87e-3,0.022,0.028,0.021,0.038,0.021,0.033,
+0.233,0.282,0.164,0.243,0.021,0.025,0.016,0.032,0.299,0.038,
+0.180,0.265,0.180,0.303,0.212,0.278,0.246,0.213,0.138,0.235,
+0.304,0.315,0.197,0.326,0.439,0.101,0.291,0.413,0.281,0.402,
+0.303,0.494,0.564,0.312,0.209,0.407,0.287,0.210,0.155,0.217,
+0.323,0.031,0.206,0.294,0.376,0.292,0.239,0.540,0.408,0.275,
+0.168,0.265,0.314,0.274,0.187,0.286,0.284,0.025,0.236,0.312,
+0.276,0.306,0.216,0.400,0.342,0.323,0.254,0.381,0.027,0.025,
+0.017,0.033,0.362,0.032,0.246,0.374,0.304,0.420,0.361,0.490,
+0.539,0.323,0.273,0.543,0.438,0.481,0.309,0.464,0.569,0.053,
+0.486,0.725,0.792,0.765,0.687,0.892,1.060,0.657,0.545,0.996,
+0.750,0.557,0.419,0.549,0.637,0.067,0.292,0.512,0.864,0.717,
+0.394,0.740,0.595,0.379,0.272,0.404,0.443,0.283,0.292,0.312,
+0.334,0.035,0.226,0.294,0.318,0.332,0.240,0.358,0.506,0.352,
+0.244,0.415,0.040,0.032,0.026,0.058,0.302,0.029,0.190,0.406,
+0.256,0.316,0.241,0.391,0.617,0.311,0.250,0.511,0.474,0.348,
+0.276,0.432,0.341,0.033,0.216,0.339,0.461,0.314,0.329,0.654,
+0.967,0.597,0.389,0.620,0.699,0.539,0.405,0.418,0.503,0.066,
+0.227,0.329,0.461,0.560,0.228,0.440,0.586,0.474,0.277,0.379,
+0.538,0.369,0.353,0.324,0.441,0.062,0.259,0.379,0.286,0.434,
+0.218,0.324,0.547,0.498,0.344,0.432,0.055,0.059,0.052,0.059,
+0.538,0.073,0.366,0.642,0.304,0.540,0.330,0.423,0.424,0.292,
+0.191,0.343,0.571,0.511,0.293,0.411,0.387,0.039,0.235,0.361,
+0.359,0.353,0.300,0.586,0.558,0.307,0.270,0.365,0.541,0.402,
+0.359,0.371,0.839,0.127,0.268,0.344,0.519,0.595,0.283,0.512,
+0.044,0.042,0.028,0.040,0.049,0.050,0.045,0.045,0.088,0.021,
+0.049,0.052,0.066,0.144,0.045,0.072,0.313,0.255,0.236,0.260,
+0.033,0.032,0.031,0.041,0.343,0.063,0.206,0.225,0.205,0.366,
+0.202,0.235,0.259,0.166,0.147,0.218,0.347,0.301,0.277,0.347,
+0.319,0.043,0.499,0.322,0.296,0.306,0.293,0.432,0.637,0.278,
+0.240,0.480,0.346,0.224,0.209,0.275,0.481,0.049,0.177,0.274,
+0.645,0.487,0.271,0.650,0.479,0.332,0.246,0.337,0.376,0.288,
+0.268,0.281,0.512,0.058,0.266,0.357,0.468,0.594,0.285,0.495,
+0.339,0.328,0.245,0.370,0.029,0.026,0.027,0.044,0.318,0.035,
+0.235,0.348,0.284,0.389,0.328,0.421,0.511,0.292,0.261,0.544,
+0.335,0.255,0.291,0.429,0.521,0.048,0.429,0.556,0.732,0.629,
+0.708,1.260,0.050,0.039,0.030,0.040,0.048,0.044,0.028,0.035,
+0.032,5.06e-3,0.017,0.025,0.036,0.039,0.021,0.033,0.048,0.041,
+0.041,0.031,0.051,0.044,0.041,0.034,0.030,7.88e-3,0.034,0.029,
+0.021,0.035,0.023,0.030,0.030,0.031,0.021,0.026,4.14e-3,6.23e-3,
+4.95e-3,5.91e-3,0.025,4.47e-3,0.023,0.031,0.019,0.030,0.025,0.030,
+0.033,0.024,0.021,0.034,0.040,0.039,0.028,0.039,0.027,3.59e-3,
+0.020,0.031,0.034,0.028,0.029,0.050,0.056,0.054,0.027,0.036,
+0.055,0.067,0.038,0.032,0.035,9.30e-3,0.023,0.023,0.025,0.042,
+0.020,0.029,0.054,0.067,0.033,0.032,0.078,0.067,0.055,0.043,
+0.048,0.018,0.035,0.039,0.024,0.053,0.027,0.031,0.036,0.055,
+0.036,0.031,8.67e-3,0.018,0.013,7.58e-3,0.055,0.019,0.043,0.047,
+0.022,0.060,0.039,0.039,0.032,0.028,0.018,0.027,0.052,0.072,
+0.034,0.039,0.036,7.31e-3,0.027,0.033,0.025,0.035,0.029,0.060,
+0.033,0.027,0.017,0.020,0.040,0.047,0.035,0.030,0.053,0.017,
+0.026,0.026,0.025,0.050,0.022,0.035,4.05e-3,7.65e-3,4.22e-3,4.14e-3,
+7.50e-3,0.014,0.013,6.39e-3,0.018,0.018,0.013,9.57e-3,3.89e-3,0.021,
+6.87e-3,5.91e-3,0.024,0.037,0.046,0.028,5.56e-3,0.012,0.012,6.98e-3,
+0.064,0.038,0.033,0.033,0.017,0.073,0.033,0.029,0.024,0.019,
+0.017,0.022,0.036,0.047,0.040,0.037,0.036,8.92e-3,0.047,0.038,
+0.023,0.033,0.033,0.052,0.044,0.035,0.025,0.038,0.032,0.028,
+0.022,0.026,0.036,5.64e-3,0.018,0.023,0.048,0.049,0.029,0.056,
+0.053,0.052,0.035,0.040,0.056,0.062,0.049,0.047,0.071,0.018,
+0.044,0.051,0.052,0.126,0.046,0.064,0.026,0.037,0.029,0.034,
+3.63e-3,6.02e-3,5.35e-3,5.60e-3,0.036,8.46e-3,0.032,0.043,0.026,0.050,
+0.048,0.047,0.039,0.030,0.023,0.039,0.033,0.035,0.030,0.038,
+0.047,6.20e-3,0.040,0.051,0.053,0.059,0.058,0.090,0.699,0.444,
+0.296,0.550,0.498,0.410,0.259,0.354,0.429,0.042,0.210,0.287,
+0.361,0.317,0.196,0.366,0.471,0.415,0.233,0.330,0.453,0.419,
+0.408,0.336,0.430,0.054,0.322,0.352,0.257,0.370,0.226,0.340,
+0.408,0.452,0.287,0.440,0.054,0.064,0.044,0.084,0.436,0.066,
+0.258,0.345,0.260,0.590,0.254,0.392,0.363,0.252,0.175,0.379,
+0.375,0.355,0.259,0.435,0.375,0.048,0.256,0.439,0.389,0.394,
+0.330,0.764,0.049,0.046,0.021,0.034,0.053,0.071,0.034,0.039,
+0.033,8.82e-3,0.023,0.025,0.026,0.040,0.018,0.032,0.035,0.040,
+0.020,0.024,0.054,0.057,0.050,0.037,0.044,0.012,0.043,0.041,
+0.021,0.039,0.022,0.027,0.035,0.054,0.028,0.036,8.27e-3,0.015,
+0.011,9.48e-3,0.048,0.018,0.045,0.050,0.026,0.067,0.033,0.038,
+0.041,0.029,0.018,0.038,0.056,0.067,0.037,0.057,0.041,7.83e-3,
+0.035,0.052,0.033,0.040,0.033,0.070,0.442,0.473,0.211,0.246,
+0.445,0.539,0.546,0.333,0.384,0.077,0.297,0.301,0.226,0.327,
+0.270,0.333,0.033,0.057,0.030,0.028,0.041,0.064,0.179,0.038,
+0.040,0.015,0.062,0.044,0.029,0.059,0.035,0.035,0.319,0.408,
+0.267,0.275,0.043,0.056,0.057,0.048,0.350,0.057,0.151,0.241,
+0.159,0.310,0.275,0.287,0.249,0.208,0.146,0.188,0.335,0.383,
+0.326,0.334,0.379,0.052,0.351,0.385,0.264,0.317,0.325,0.431,
+0.396,0.274,0.181,0.304,0.295,0.223,0.189,0.202,0.320,0.037,
+0.195,0.267,0.310,0.277,0.177,0.367,0.446,0.421,0.274,0.318,
+0.482,0.454,0.655,0.334,0.397,0.054,0.394,0.425,0.433,0.486,
+0.300,0.404,0.435,0.664,0.311,0.409,0.047,0.087,0.041,0.052,
+0.436,0.059,0.387,0.480,0.326,0.538,0.381,0.480,0.375,0.292,
+0.214,0.368,0.344,0.380,0.276,0.372,0.487,0.053,0.450,0.584,
+0.460,0.536,0.509,0.810,0.737,0.373,0.261,0.553,0.402,0.276,
+0.212,0.353,0.342,0.034,0.150,0.258,0.422,0.349,0.199,0.469,
+0.406,0.274,0.162,0.257,0.287,0.209,0.185,0.239,0.234,0.021,
+0.135,0.219,0.194,0.205,0.134,0.246,0.408,0.320,0.188,0.350,
+0.035,0.030,0.020,0.048,0.275,0.028,0.141,0.254,0.248,0.335,
+0.194,0.341,0.486,0.259,0.199,0.416,0.374,0.265,0.214,0.383,
+0.293,0.026,0.179,0.297,0.451,0.350,0.310,0.721,0.772,0.520,
+0.280,0.566,0.584,0.525,0.325,0.420,0.401,0.053,0.232,0.319,
+0.393,0.443,0.204,0.420,0.526,0.484,0.221,0.343,0.618,0.458,
+0.351,0.385,0.412,0.055,0.275,0.384,0.272,0.421,0.212,0.318,
+0.415,0.476,0.252,0.417,0.046,0.057,0.034,0.055,0.466,0.069,
+0.302,0.485,0.412,0.697,0.330,0.512,0.435,0.289,0.217,0.421,
+0.525,0.463,0.342,0.566,0.422,0.041,0.283,0.460,0.407,0.435,
+0.383,0.673,0.523,0.366,0.273,0.417,0.435,0.381,0.333,0.381,
+0.404,0.053,0.238,0.334,0.293,0.322,0.282,0.462,0.031,0.036,
+0.020,0.029,0.033,0.056,0.038,0.033,0.026,6.79e-3,0.029,0.037,
+0.026,0.043,0.025,0.036,0.322,0.383,0.229,0.329,0.036,0.040,
+0.028,0.044,0.364,0.050,0.235,0.349,0.227,0.418,0.290,0.381,
+0.340,0.251,0.190,0.312,0.437,0.389,0.352,0.487,0.396,0.044,
+0.337,0.465,0.341,0.369,0.402,0.590,0.584,0.311,0.232,0.461,
+0.360,0.254,0.212,0.268,0.352,0.038,0.189,0.317,0.447,0.345,
+0.265,0.613,0.419,0.343,0.190,0.319,0.329,0.310,0.271,0.294,
+0.283,0.029,0.220,0.376,0.295,0.342,0.237,0.443,0.452,0.504,
+0.290,0.489,0.036,0.044,0.022,0.049,0.518,0.052,0.367,0.626,
+0.439,0.651,0.487,0.645,0.689,0.396,0.325,0.689,0.543,0.509,
+0.404,0.606,0.669,0.059,0.543,0.859,0.856,0.888,0.773,1.170,
+1.190,0.642,0.611,1.350,0.653,0.380,0.309,0.515,0.659,0.056,
+0.278,0.527,1.010,0.752,0.387,0.901,0.651,0.358,0.265,0.434,
+0.384,0.201,0.196,0.245,0.350,0.027,0.231,0.271,0.404,0.385,
+0.252,0.451,0.517,0.356,0.266,0.479,0.035,0.028,0.021,0.051,
+0.318,0.025,0.182,0.297,0.341,0.351,0.248,0.492,0.758,0.372,
+0.331,0.713,0.462,0.304,0.250,0.463,0.433,0.036,0.328,0.400,
+0.664,0.437,0.425,0.993,0.798,0.386,0.255,0.500,0.419,0.250,
+0.180,0.267,0.362,0.035,0.150,0.259,0.401,0.365,0.169,0.424,
+0.419,0.275,0.169,0.260,0.276,0.181,0.144,0.187,0.272,0.023,
+0.140,0.217,0.261,0.244,0.150,0.288,0.354,0.282,0.194,0.323,
+0.027,0.020,0.015,0.029,0.307,0.025,0.165,0.297,0.269,0.295,
+0.203,0.357,0.370,0.224,0.153,0.323,0.285,0.208,0.135,0.240,
+0.297,0.022,0.187,0.270,0.326,0.260,0.233,0.538,0.565,0.278,
+0.264,0.419,0.374,0.228,0.224,0.329,0.491,0.055,0.199,0.323,
+0.533,0.413,0.239,0.608,0.035,0.025,0.017,0.030,0.026,0.020,
+0.017,0.028,0.032,4.51e-3,0.018,0.027,0.058,0.070,0.027,0.060,
+0.266,0.222,0.195,0.269,0.020,0.016,0.017,0.027,0.286,0.027,
+0.205,0.233,0.232,0.259,0.201,0.288,0.303,0.182,0.158,0.287,
+0.275,0.200,0.174,0.291,0.284,0.027,0.224,0.293,0.354,0.284,
+0.295,0.564,0.797,0.314,0.285,0.640,0.352,0.189,0.189,0.309,
+0.617,0.054,0.207,0.364,1.100,0.598,0.317,0.892,0.470,0.278,
+0.211,0.344,0.281,0.184,0.168,0.242,0.404,0.033,0.197,0.307,
+0.658,0.634,0.292,0.593,0.381,0.315,0.255,0.415,0.026,0.020,
+0.020,0.034,0.326,0.024,0.227,0.322,0.397,0.377,0.317,0.517,
+0.658,0.365,0.335,0.728,0.364,0.252,0.256,0.410,0.550,0.041,
+0.341,0.625,0.945,0.714,0.742,1.660,1.050,0.591,0.426,0.871,
+0.615,0.437,0.279,0.430,0.492,0.054,0.255,0.399,0.642,0.577,
+0.300,0.651,0.658,0.417,0.324,0.463,0.484,0.312,0.281,0.319,
+0.368,0.041,0.515,0.373,0.291,0.384,0.274,0.413,0.429,0.369,
+0.260,0.455,0.036,0.036,0.025,0.054,0.327,0.035,0.246,0.476,
+0.312,0.386,0.291,0.558,0.512,0.293,0.253,0.504,0.453,0.384,
+0.253,0.472,0.355,0.034,0.227,0.386,0.479,0.347,0.354,0.785,
+0.763,0.494,0.271,0.507,0.496,0.412,0.243,0.303,0.368,0.045,
+0.165,0.274,0.357,0.388,0.183,0.420,0.540,0.464,0.226,0.317,
+0.458,0.317,0.242,0.300,0.354,0.046,0.214,0.294,0.267,0.398,
+0.200,0.337,0.388,0.410,0.237,0.364,0.041,0.041,0.025,0.038,
+0.426,0.050,0.251,0.382,0.316,0.468,0.292,0.456,0.394,0.276,
+0.182,0.362,0.382,0.394,0.189,0.328,0.362,0.031,0.217,0.336,
+0.347,0.327,0.284,0.603,0.531,0.314,0.206,0.333,0.411,0.360,
+0.259,0.313,0.450,0.075,0.197,0.283,0.393,0.479,0.223,0.552,
+0.027,0.033,0.018,0.027,0.032,0.039,0.029,0.032,0.038,0.019,
+0.029,0.034,0.039,0.103,0.029,0.049,0.312,0.374,0.274,0.325,
+0.028,0.035,0.028,0.038,0.375,0.064,0.194,0.291,0.236,0.443,
+0.300,0.383,0.340,0.261,0.187,0.318,0.363,0.375,0.295,0.384,
+0.364,0.035,0.246,0.371,0.338,0.331,0.350,0.658,0.572,0.329,
+0.253,0.480,0.329,0.240,0.191,0.263,0.442,0.046,0.194,0.295,
+0.691,0.576,0.294,0.664,0.514,0.423,0.298,0.412,0.393,0.376,
+0.293,0.363,0.522,0.087,0.312,0.414,0.750,2.000,0.412,0.740,
+0.349,0.356,0.277,0.408,0.026,0.030,0.023,0.035,0.359,0.037,
+0.269,0.429,0.374,0.516,0.397,0.557,0.483,0.320,0.276,0.458,
+0.393,0.355,0.312,0.414,0.485,0.039,0.343,0.570,0.675,0.654,
+0.597,1.160,0.789,0.433,0.280,0.565,0.369,0.305,0.165,0.283,
+0.397,0.036,0.164,0.307,0.436,0.327,0.197,0.499,0.518,0.403,
+0.207,0.397,0.346,0.298,0.203,0.245,0.360,0.039,0.236,0.305,
+0.297,0.364,0.218,0.383,0.395,0.404,0.244,0.432,0.046,0.049,
+0.026,0.058,0.353,0.042,0.215,0.333,0.283,0.425,0.261,0.455,
+0.410,0.268,0.186,0.436,0.370,0.343,0.200,0.364,0.410,0.044,
+0.239,0.442,0.476,0.399,0.364,0.899,0.047,0.036,0.026,0.034,
+0.032,0.041,0.017,0.025,0.024,4.28e-3,0.014,0.022,0.027,0.032,
+0.016,0.037,0.028,0.029,0.013,0.021,0.034,0.052,0.018,0.021,
+0.029,6.00e-3,0.024,0.025,0.020,0.033,0.015,0.024,0.025,0.028,
+0.015,0.021,5.77e-3,6.25e-3,3.51e-3,3.55e-3,0.030,6.77e-3,0.028,0.033,
+0.026,0.043,0.027,0.033,0.032,0.024,0.015,0.033,0.042,0.052,
+0.020,0.039,0.031,5.62e-3,0.022,0.038,0.036,0.036,0.026,0.061,
+0.455,0.327,0.169,0.239,0.309,0.311,0.229,0.256,0.345,0.054,
+0.183,0.255,0.258,0.324,0.259,0.408,0.025,0.029,0.014,0.019,
+0.022,0.029,0.025,0.019,0.027,6.77e-3,0.025,0.024,0.028,0.049,
+0.027,0.037,0.286,0.380,0.213,0.268,0.029,0.038,0.028,0.033,
+0.398,0.048,0.196,0.302,0.220,0.366,0.276,0.348,0.307,0.219,
+0.157,0.240,0.315,0.331,0.242,0.317,0.455,0.046,0.295,0.400,
+0.352,0.377,0.357,0.572,0.491,0.240,0.166,0.328,0.256,0.198,
+0.148,0.216,0.353,0.035,0.189,0.282,0.371,0.296,0.200,0.446,
+0.448,0.328,0.218,0.318,0.324,0.298,0.261,0.273,0.400,0.041,
+0.291,0.379,0.389,0.489,0.336,0.463,0.816,0.516,0.318,0.442,
+0.059,0.044,0.027,0.038,0.515,0.045,0.325,0.463,0.690,0.541,
+0.434,0.600,0.502,0.321,0.266,0.443,0.363,0.327,0.244,0.389,
+0.606,0.046,0.461,0.664,0.678,0.608,0.563,1.010,1.140,0.463,
+0.347,0.804,0.464,0.261,0.214,0.428,0.464,0.040,0.188,0.402,
+0.635,0.438,0.263,0.721,0.541,0.295,0.166,0.312,0.323,0.192,
+0.157,0.266,0.297,0.023,0.157,0.294,0.265,0.245,0.160,0.342,
+0.430,0.366,0.228,0.474,0.038,0.035,0.023,0.056,0.298,0.028,
+0.145,0.307,0.323,0.346,0.214,0.449,0.586,0.305,0.255,0.607,
+0.388,0.263,0.226,0.422,0.379,0.030,0.206,0.445,0.638,0.434,
+0.386,1.120,0.752,0.402,0.263,0.579,0.434,0.314,0.208,0.344,
+0.334,0.032,0.165,0.305,0.378,0.358,0.176,0.469,0.472,0.359,
+0.157,0.285,0.375,0.310,0.162,0.261,0.321,0.032,0.198,0.310,
+0.249,0.312,0.160,0.339,0.319,0.288,0.151,0.321,0.025,0.028,
+0.013,0.029,0.327,0.029,0.203,0.329,0.314,0.411,0.221,0.432,
+0.398,0.249,0.185,0.394,0.430,0.319,0.172,0.367,0.334,0.031,
+0.189,0.357,0.427,0.569,0.293,0.797,0.609,0.362,0.289,0.441,
+0.400,0.291,0.260,0.388,0.485,0.050,0.211,0.401,0.486,0.406,
+0.358,0.743,0.034,0.029,0.015,0.029,0.024,0.026,0.019,0.032,
+0.026,3.80e-3,0.017,0.029,0.038,0.045,0.025,0.056,0.359,0.396,
+0.221,0.401,0.026,0.028,0.019,0.037,0.396,0.040,0.225,0.358,
+0.308,0.412,0.307,0.491,0.467,0.339,0.233,0.444,0.446,0.387,
+0.288,0.503,0.555,0.049,0.341,0.578,0.518,0.492,0.453,0.890,
+1.060,0.434,0.347,0.735,0.436,0.286,0.258,0.375,0.577,0.046,
+0.274,0.525,0.843,0.535,0.425,1.140,0.654,0.394,0.237,0.430,
+0.443,0.371,0.260,0.420,0.480,0.035,0.296,0.565,0.528,0.534,
+0.331,1.040,0.672,0.551,0.362,0.686,0.041,0.036,0.021,0.055,
+0.729,0.048,0.398,0.773,0.697,0.737,0.613,1.030,1.310,0.589,
+0.533,1.210,0.760,0.584,0.475,1.050,1.040,0.066,0.774,1.380,
+1.410,1.080,1.070,1.640,1.960,0.831,0.746,1.220,0.834,0.470,
+0.467,0.576,0.885,0.078,0.455,0.669,1.320,0.854,0.572,1.020,
+1.000,0.527,0.420,0.524,0.558,0.321,0.308,0.319,0.513,0.036,
+0.316,0.382,0.481,0.401,0.355,0.492,0.657,0.404,0.339,0.524,
+0.049,0.039,0.033,0.062,0.373,0.031,0.229,0.296,0.426,0.397,
+0.347,0.467,1.010,0.455,0.435,0.912,0.659,0.442,0.422,0.647,
+0.502,0.041,0.348,0.484,0.725,0.445,0.514,0.904,1.010,0.507,
+0.326,0.492,0.504,0.290,0.228,0.285,0.411,0.037,0.259,0.306,
+0.401,0.368,0.225,0.408,0.614,0.385,0.231,0.308,0.336,0.185,
+0.190,0.202,0.318,0.025,0.195,0.266,0.259,0.249,0.242,0.307,
+0.364,0.308,0.184,0.279,0.034,0.022,0.016,0.027,0.277,0.024,
+0.158,0.251,0.207,0.263,0.181,0.251,0.398,0.245,0.185,0.333,
+0.355,0.234,0.188,0.297,0.318,0.023,0.230,0.319,0.321,0.267,
+0.288,0.493,0.928,0.312,0.293,0.409,0.480,0.249,0.252,0.299,
+0.369,0.042,0.222,0.285,0.427,0.346,0.401,0.561,0.055,0.030,
+0.020,0.032,0.034,0.021,0.018,0.025,0.027,4.03e-3,0.019,0.027,
+0.046,0.052,0.039,0.054,0.304,0.203,0.180,0.231,0.024,0.015,
+0.016,0.024,0.246,0.025,0.143,0.188,0.235,0.212,0.241,0.255,
+0.300,0.171,0.163,0.275,0.341,0.215,0.191,0.299,0.320,0.026,
+0.236,0.379,0.302,0.262,0.311,0.538,1.250,0.349,0.342,0.606,
+0.381,0.201,0.221,0.251,0.370,0.033,0.192,0.279,0.512,0.340,
+0.335,0.709,0.612,0.304,0.254,0.338,0.327,0.189,0.200,0.220,
+0.295,0.022,0.192,0.255,0.348,0.313,0.272,0.437,0.396,0.246,
+0.200,0.295,0.023,0.016,0.014,0.024,0.240,0.017,0.150,0.236,
+0.244,0.249,0.235,0.336,0.583,0.251,0.250,0.515,0.268,0.148,
+0.181,0.280,0.397,0.026,0.278,0.450,0.580,0.394,0.519,0.974,
+1.290,0.702,0.531,0.856,0.615,0.417,0.357,0.432,0.467,0.047,
+0.241,0.396,0.615,0.537,0.384,0.660,0.816,0.554,0.351,0.463,
+0.493,0.353,0.332,0.319,0.412,0.042,0.291,0.376,0.321,0.338,
+0.281,0.413,0.409,0.307,0.259,0.339,0.033,0.033,0.025,0.039,
+0.242,0.026,0.169,0.226,0.211,0.282,0.230,0.352,0.506,0.232,
+0.235,0.445,0.438,0.302,0.249,0.349,0.286,0.027,0.193,0.308,
+0.358,0.273,0.356,0.645,0.882,0.565,0.284,0.439,0.482,0.374,
+0.246,0.306,0.351,0.036,0.194,0.263,0.347,0.354,0.200,0.352,
+0.561,0.411,0.243,0.283,0.295,0.142,0.201,0.199,0.298,0.032,
+0.214,0.290,0.238,0.259,0.205,0.292,0.333,0.353,0.219,0.283,
+0.027,0.031,0.021,0.027,0.271,0.034,0.196,0.278,0.202,0.420,
+0.212,0.296,0.300,0.213,0.164,0.256,0.298,0.237,0.162,0.222,
+0.240,0.022,0.169,0.241,0.242,0.227,0.215,0.392,0.745,0.344,
+0.243,0.348,0.450,0.326,0.308,0.298,0.336,0.039,0.211,0.286,
+0.286,0.292,0.310,0.455,0.043,0.041,0.022,0.032,0.033,0.035,
+0.030,0.027,0.027,6.56e-3,0.029,0.036,0.027,0.048,0.037,0.047,
+0.311,0.305,0.271,0.307,0.028,0.031,0.029,0.030,0.279,0.037,
+0.225,0.269,0.220,0.366,0.404,0.372,0.269,0.164,0.187,0.255,
+0.349,0.285,0.265,0.322,0.316,0.028,0.297,0.393,0.252,0.271,
+0.383,0.516,0.705,0.320,0.264,0.430,0.326,0.212,0.196,0.240,
+0.244,0.022,0.141,0.213,0.299,0.249,0.236,0.452,0.567,0.366,
+0.276,0.380,0.370,0.288,0.268,0.322,0.283,0.023,0.232,0.346,
+0.292,0.342,0.299,0.482,0.296,0.287,0.240,0.331,0.023,0.023,
+0.019,0.025,0.234,0.020,0.187,0.274,0.240,0.292,0.349,0.433,
+0.404,0.210,0.247,0.385,0.327,0.212,0.214,0.308,0.343,0.025,
+0.299,0.458,0.462,0.405,0.693,0.896,0.784,0.487,0.338,0.552,
+0.381,0.307,0.189,0.270,0.359,0.036,0.174,0.286,0.447,0.361,
+0.249,0.445,0.674,0.500,0.289,0.418,0.402,0.349,0.265,0.279,
+0.444,0.041,0.283,0.350,0.311,0.369,0.253,0.390,0.423,0.482,
+0.345,0.392,0.045,0.054,0.035,0.055,0.274,0.030,0.181,0.251,
+0.221,0.348,0.226,0.319,0.494,0.310,0.260,0.464,0.419,0.425,
+0.257,0.366,0.353,0.033,0.238,0.367,0.415,0.357,0.360,0.758,
+0.060,0.048,0.033,0.045,0.064,0.047,0.024,0.033,0.036,5.10e-3,
+0.022,0.029,0.039,0.042,0.027,0.041,0.056,0.053,0.028,0.034,
+0.045,0.048,0.029,0.028,0.046,7.10e-3,0.032,0.040,0.031,0.049,
+0.028,0.039,0.038,0.048,0.027,0.036,4.97e-3,6.56e-3,5.52e-3,5.29e-3,
+0.042,6.89e-3,0.030,0.039,0.026,0.056,0.031,0.036,0.062,0.043,
+0.031,0.053,0.084,0.078,0.046,0.063,0.045,7.33e-3,0.040,0.056,
+0.051,0.058,0.048,0.086,0.462,0.288,0.197,0.245,0.301,0.250,
+0.229,0.210,0.324,0.051,0.236,0.260,0.262,0.301,0.260,0.336,
+0.038,0.038,0.018,0.024,0.029,0.026,0.022,0.018,0.043,0.011,
+0.029,0.026,0.032,0.051,0.031,0.033,0.256,0.326,0.203,0.214,
+0.036,0.028,0.025,0.024,0.254,0.032,0.152,0.193,0.164,0.232,
+0.209,0.222,0.267,0.177,0.155,0.216,0.421,0.287,0.226,0.288,
+0.278,0.035,0.273,0.349,0.228,0.264,0.273,0.389,0.442,0.232,
+0.171,0.348,0.266,0.162,0.141,0.171,0.258,0.025,0.154,0.204,
+0.283,0.240,0.226,0.362,0.549,0.370,0.230,0.353,0.371,0.301,
+0.224,0.249,0.500,0.037,0.263,0.334,0.342,0.404,0.281,0.381,
+0.311,0.327,0.262,0.378,0.041,0.030,0.024,0.032,0.271,0.027,
+0.216,0.289,0.235,0.363,0.274,0.375,0.453,0.268,0.236,0.396,
+0.590,0.265,0.220,0.297,0.391,0.036,0.336,0.473,0.488,0.416,
+0.447,0.706,0.900,0.430,0.326,0.638,0.350,0.241,0.192,0.275,
+0.331,0.030,0.162,0.269,0.523,0.335,0.263,0.570,0.473,0.264,
+0.185,0.288,0.266,0.192,0.152,0.213,0.316,0.022,0.152,0.254,
+0.249,0.202,0.163,0.297,0.330,0.247,0.195,0.356,0.027,0.025,
+0.020,0.042,0.205,0.019,0.124,0.208,0.197,0.242,0.168,0.309,
+0.510,0.248,0.265,0.590,0.336,0.255,0.228,0.402,0.338,0.025,
+0.230,0.358,0.464,0.322,0.363,0.858,0.655,0.390,0.238,0.429,
+0.422,0.312,0.188,0.256,0.335,0.033,0.197,0.274,0.339,0.297,
+0.208,0.380,0.465,0.350,0.182,0.258,0.302,0.249,0.160,0.195,
+0.298,0.030,0.183,0.262,0.246,0.262,0.174,0.275,0.314,0.257,
+0.170,0.300,0.023,0.022,0.017,0.028,0.261,0.023,0.170,0.276,
+0.230,0.299,0.195,0.326,0.411,0.219,0.193,0.379,0.357,0.261,
+0.215,0.355,0.325,0.027,0.271,0.389,0.357,0.341,0.303,0.576,
+0.541,0.276,0.212,0.326,0.417,0.276,0.226,0.314,0.370,0.042,
+0.248,0.314,0.322,0.291,0.392,0.519,0.038,0.029,0.018,0.028,
+0.025,0.025,0.019,0.024,0.028,3.86e-3,0.025,0.033,0.034,0.039,
+0.033,0.048,0.294,0.266,0.196,0.329,0.023,0.019,0.018,0.035,
+0.281,0.025,0.207,0.286,0.215,0.272,0.275,0.390,0.326,0.210,
+0.207,0.386,0.383,0.275,0.281,0.541,0.439,0.036,0.319,0.577,
+0.354,0.335,0.402,0.671,0.778,0.332,0.276,0.539,0.366,0.255,
+0.227,0.308,0.366,0.033,0.213,0.332,0.495,0.337,0.345,0.741,
+0.417,0.257,0.195,0.322,0.258,0.162,0.176,0.232,0.320,0.021,
+0.219,0.341,0.353,0.308,0.266,0.483,0.460,0.383,0.326,0.684,
+0.034,0.026,0.022,0.052,0.393,0.029,0.274,0.456,0.395,0.436,
+0.416,0.691,0.819,0.386,0.414,0.882,0.558,0.383,0.408,0.658,
+0.721,0.041,0.521,0.886,1.160,0.738,0.884,1.460,0.088,0.044,
+0.042,0.056,0.049,0.036,0.029,0.031,0.038,4.51e-3,0.028,0.034,
+0.049,0.042,0.029,0.043,0.051,0.037,0.029,0.029,0.039,0.026,
+0.026,0.024,0.029,3.22e-3,0.024,0.026,0.027,0.029,0.026,0.032,
+0.028,0.024,0.020,0.030,2.78e-3,5.47e-3,3.20e-3,4.09e-3,0.019,2.13e-3,
+0.021,0.017,0.018,0.022,0.025,0.028,0.041,0.029,0.022,0.040,
+0.043,0.064,0.028,0.040,0.029,4.57e-3,0.028,0.031,0.033,0.030,
+0.030,0.052,0.060,0.038,0.028,0.035,0.040,0.029,0.022,0.022,
+0.030,5.10e-3,0.059,0.035,0.028,0.032,0.021,0.031,0.044,0.038,
+0.022,0.024,0.035,0.027,0.025,0.022,0.035,5.91e-3,0.028,0.034,
+0.022,0.028,0.023,0.028,0.023,0.025,0.015,0.020,3.11e-3,3.51e-3,
+3.03e-3,2.67e-3,0.023,3.41e-3,0.019,0.032,0.014,0.026,0.018,0.021,
+0.024,0.020,0.013,0.022,0.030,0.026,0.018,0.025,0.023,2.76e-3,
+0.024,0.028,0.023,0.025,0.023,0.040,0.046,0.019,0.016,0.021,
+0.034,0.019,0.018,0.020,0.023,3.26e-3,0.018,0.018,0.020,0.020,
+0.025,0.031,3.32e-3,2.99e-3,2.19e-3,2.47e-3,3.66e-3,3.61e-3,3.09e-3,2.51e-3,
+3.22e-3,8.98e-4,3.43e-3,3.51e-3,2.82e-3,4.66e-3,3.41e-3,3.80e-3,0.019,0.015,
+0.016,0.015,2.38e-3,1.82e-3,1.82e-3,2.13e-3,0.017,2.69e-3,0.014,0.014,
+0.013,0.017,0.020,0.020,0.016,0.011,0.011,0.016,0.024,0.018,
+0.016,0.021,0.021,2.97e-3,0.020,0.027,0.020,0.020,0.026,0.035,
+0.055,0.021,0.018,0.033,0.027,0.015,0.014,0.017,0.024,2.88e-3,
+0.013,0.017,0.030,0.022,0.020,0.041,0.039,0.027,0.022,0.029,
+0.032,0.024,0.021,0.021,0.027,3.63e-3,0.019,0.025,0.025,0.029,
+0.024,0.036,0.024,0.018,0.019,0.023,3.18e-3,2.05e-3,2.03e-3,2.69e-3,
+0.018,1.78e-3,0.013,0.019,0.017,0.021,0.025,0.027,0.034,0.019,
+0.017,0.032,0.026,0.017,0.017,0.025,0.029,2.53e-3,0.026,0.037,
+0.039,0.034,0.041,0.080,0.059,0.038,0.029,0.040,0.038,0.032,
+0.025,0.026,0.025,3.95e-3,0.017,0.020,0.027,0.029,0.020,0.029,
+0.046,0.036,0.024,0.025,0.042,0.036,0.032,0.025,0.026,6.12e-3,
+0.026,0.029,0.016,0.023,0.020,0.025,0.021,0.019,0.017,0.017,
+2.32e-3,3.78e-3,3.61e-3,2.88e-3,0.014,2.74e-3,0.013,0.014,9.61e-3,0.016,
+0.016,0.021,0.022,0.014,0.013,0.021,0.024,0.023,0.017,0.022,
+0.018,2.72e-3,0.016,0.019,0.019,0.018,0.020,0.034,0.056,0.048,
+0.023,0.028,0.044,0.058,0.029,0.026,0.028,4.95e-3,0.020,0.021,
+0.022,0.028,0.016,0.026,0.049,0.057,0.026,0.027,0.050,0.037,
+0.034,0.035,0.035,0.011,0.028,0.034,0.021,0.038,0.024,0.027,
+0.022,0.033,0.021,0.020,3.24e-3,8.23e-3,5.37e-3,4.45e-3,0.024,7.79e-3,
+0.021,0.029,0.012,0.035,0.024,0.024,0.021,0.017,0.012,0.022,
+0.025,0.032,0.018,0.020,0.020,3.38e-3,0.022,0.023,0.017,0.021,
+0.019,0.030,0.041,0.023,0.017,0.020,0.038,0.031,0.027,0.024,
+0.026,3.57e-3,0.018,0.021,0.017,0.021,0.022,0.028,3.91e-3,5.41e-3,
+3.76e-3,3.47e-3,6.25e-3,9.61e-3,9.07e-3,3.91e-3,3.93e-3,2.82e-3,6.83e-3,5.14e-3,
+1.88e-3,5.24e-3,4.62e-3,4.24e-3,0.026,0.030,0.027,0.028,5.06e-3,7.62e-3,
+6.62e-3,4.66e-3,0.025,6.94e-3,0.026,0.024,0.016,0.033,0.051,0.030,
+0.018,0.012,0.014,0.016,0.026,0.029,0.028,0.026,0.031,4.20e-3,
+0.030,0.031,0.016,0.022,0.036,0.036,0.038,0.021,0.016,0.026,
+0.020,0.016,0.014,0.017,0.018,1.69e-3,0.011,0.013,0.020,0.017,
+0.016,0.032,0.034,0.028,0.022,0.024,0.032,0.032,0.026,0.026,
+0.021,3.55e-3,0.021,0.028,0.018,0.027,0.024,0.032,0.019,0.022,
+0.021,0.021,2.26e-3,3.26e-3,2.76e-3,2.36e-3,0.018,2.80e-3,0.017,0.020,
+0.016,0.022,0.040,0.029,0.022,0.015,0.016,0.023,0.024,0.019,
+0.018,0.021,0.023,2.09e-3,0.023,0.032,0.028,0.031,0.044,0.060,
+0.045,0.029,0.023,0.030,0.024,0.019,0.014,0.016,0.020,2.36e-3,
+0.011,0.016,0.021,0.019,0.014,0.025,0.036,0.033,0.019,0.024,
+0.028,0.030,0.023,0.022,0.034,6.31e-3,0.029,0.032,0.018,0.026,
+0.019,0.025,0.024,0.027,0.021,0.024,3.95e-3,3.89e-3,5.08e-3,4.89e-3,
+0.022,3.28e-3,0.017,0.019,0.013,0.021,0.024,0.020,0.024,0.016,
+0.013,0.024,0.027,0.023,0.020,0.025,0.022,2.84e-3,0.018,0.024,
+0.024,0.021,0.024,0.044,4.09e-3,3.74e-3,3.78e-3,2.95e-3,5.91e-3,4.03e-3,
+3.38e-3,3.07e-3,2.82e-3,9.82e-4,3.18e-3,2.34e-3,2.47e-3,3.59e-3,2.05e-3,2.92e-3,
+5.66e-3,6.12e-3,3.30e-3,2.59e-3,6.29e-3,9.23e-3,5.95e-3,3.55e-3,4.28e-3,3.74e-3,
+6.10e-3,5.03e-3,2.30e-3,5.79e-3,3.80e-3,3.41e-3,3.11e-3,4.51e-3,3.61e-3,2.57e-3,
+1.63e-3,2.38e-3,3.43e-3,1.15e-3,8.84e-3,3.43e-3,8.77e-3,6.46e-3,2.09e-3,5.74e-3,
+5.97e-3,3.45e-3,2.17e-3,2.21e-3,1.52e-3,2.65e-3,6.98e-3,5.77e-3,4.83e-3,4.41e-3,
+3.05e-3,1.32e-3,4.64e-3,4.76e-3,2.47e-3,3.86e-3,3.30e-3,5.47e-3,0.034,0.030,
+0.017,0.017,0.025,0.028,0.025,0.020,0.027,6.54e-3,0.026,0.024,
+0.017,0.029,0.024,0.031,3.26e-3,5.72e-3,2.67e-3,2.63e-3,3.99e-3,6.81e-3,
+6.68e-3,3.09e-3,4.97e-3,3.74e-3,9.36e-3,5.33e-3,2.38e-3,5.62e-3,5.03e-3,3.30e-3,
+0.024,0.040,0.024,0.020,4.76e-3,7.62e-3,8.02e-3,3.80e-3,0.027,7.98e-3,
+0.022,0.023,0.012,0.028,0.026,0.023,0.023,0.015,0.012,0.017,
+0.045,0.030,0.028,0.026,0.030,6.10e-3,0.034,0.038,0.018,0.024,
+0.029,0.036,0.029,0.019,0.015,0.026,0.020,0.013,0.011,0.015,
+0.023,2.26e-3,0.013,0.019,0.020,0.021,0.017,0.032,0.039,0.034,
+0.019,0.029,0.039,0.034,0.026,0.024,0.038,5.74e-3,0.032,0.036,
+0.024,0.039,0.027,0.031,0.024,0.032,0.023,0.028,7.10e-3,4.20e-3,
+4.68e-3,3.34e-3,0.026,5.72e-3,0.025,0.029,0.019,0.043,0.032,0.040,
+0.037,0.018,0.015,0.027,0.152,0.025,0.022,0.027,0.039,4.14e-3,
+0.032,0.042,0.037,0.038,0.037,0.060,0.053,0.030,0.024,0.040,
+0.036,0.022,0.018,0.039,0.031,2.80e-3,0.013,0.026,0.036,0.027,
+0.019,0.040,0.035,0.024,0.016,0.023,0.024,0.019,0.015,0.024,
+0.025,2.61e-3,0.016,0.025,0.019,0.019,0.015,0.025,0.023,0.018,
+0.017,0.029,2.42e-3,2.21e-3,1.65e-3,3.74e-3,0.015,1.80e-3,0.013,0.019,
+0.014,0.018,0.016,0.025,0.035,0.020,0.021,0.042,0.029,0.020,
+0.020,0.041,0.032,2.11e-3,0.018,0.041,0.038,0.027,0.032,0.081,
+0.061,0.043,0.025,0.038,0.048,0.033,0.025,0.028,0.032,4.70e-3,
+0.023,0.030,0.035,0.035,0.026,0.039,0.051,0.043,0.023,0.030,
+0.043,0.041,0.027,0.030,0.035,5.01e-3,0.027,0.037,0.029,0.040,
+0.029,0.039,0.028,0.028,0.020,0.030,3.86e-3,3.09e-3,4.05e-3,3.82e-3,
+0.032,3.49e-3,0.025,0.034,0.021,0.036,0.025,0.034,0.035,0.022,
+0.020,0.035,0.040,0.030,0.029,0.045,0.033,3.45e-3,0.034,0.046,
+0.034,0.036,0.038,0.064,0.037,0.021,0.016,0.023,0.032,0.024,
+0.020,0.024,0.030,4.03e-3,0.022,0.029,0.022,0.025,0.032,0.043,
+2.97e-3,2.57e-3,1.94e-3,2.82e-3,3.01e-3,4.12e-3,3.15e-3,3.05e-3,2.99e-3,9.40e-4,
+3.97e-3,3.82e-3,2.42e-3,4.03e-3,4.66e-3,4.99e-3,0.020,0.024,0.017,0.023,
+2.76e-3,2.86e-3,2.86e-3,3.93e-3,0.025,3.57e-3,0.024,0.030,0.016,0.027,
+0.030,0.031,0.026,0.016,0.016,0.026,0.031,0.022,0.025,0.043,
+0.053,5.33e-3,0.039,0.091,0.028,0.030,0.042,0.062,0.048,0.029,
+0.022,0.038,0.028,0.022,0.019,0.025,0.026,3.34e-3,0.017,0.028,
+0.033,0.027,0.026,0.056,0.034,0.024,0.017,0.026,0.025,0.021,
+0.019,0.024,0.023,2.34e-3,0.022,0.031,0.026,0.028,0.027,0.047,
+0.031,0.030,0.025,0.042,2.99e-3,2.99e-3,2.13e-3,4.53e-3,0.029,3.18e-3,
+0.026,0.038,0.027,0.036,0.037,0.057,0.049,0.025,0.029,0.057,
+0.055,0.034,0.034,0.057,0.054,3.99e-3,0.049,0.076,0.077,0.067,
+0.083,0.121,0.816,0.492,0.415,0.806,0.465,0.333,0.289,0.391,
+0.401,0.040,0.246,0.408,0.574,0.473,0.319,0.555,0.486,0.292,
+0.202,0.307,0.313,0.192,0.191,0.240,0.252,0.021,0.178,0.229,
+0.249,0.246,0.225,0.309,0.350,0.253,0.191,0.311,0.025,0.020,
+0.017,0.039,0.206,0.019,0.161,0.293,0.202,0.206,0.216,0.304,
+0.370,0.173,0.142,0.317,0.241,0.163,0.146,0.248,0.231,0.017,
+0.152,0.240,0.317,0.162,0.233,0.457,0.698,0.410,0.293,0.491,
+0.444,0.303,0.243,0.262,0.297,0.029,0.176,0.276,0.283,0.291,
+0.170,0.322,0.528,0.364,0.240,0.296,0.354,0.203,0.231,0.218,
+0.338,0.030,0.224,0.332,0.229,0.262,0.184,0.255,0.334,0.302,
+0.215,0.322,0.030,0.031,0.025,0.056,0.349,0.049,0.317,1.040,
+0.199,0.305,0.264,0.393,0.265,0.173,0.117,0.217,0.304,0.245,
+0.169,0.270,0.230,0.021,0.182,0.359,0.249,0.209,0.229,0.436,
+0.445,0.210,0.157,0.278,0.355,0.245,0.228,0.267,0.319,0.035,
+0.166,0.227,0.277,0.267,0.236,0.363,0.042,0.032,0.021,0.031,
+0.045,0.035,0.032,0.034,0.035,6.10e-3,0.028,0.036,0.042,0.069,
+0.039,0.061,0.251,0.198,0.183,0.236,0.025,0.022,0.025,0.030,
+0.261,0.042,0.202,0.252,0.157,0.236,0.245,0.250,0.208,0.144,
+0.121,0.170,0.305,0.224,0.217,0.252,0.237,0.026,0.221,0.275,
+0.270,0.217,0.280,0.371,0.472,0.183,0.158,0.314,0.224,0.141,
+0.146,0.180,0.218,0.021,0.120,0.179,0.289,0.233,0.192,0.384,
+0.375,0.244,0.176,0.247,0.269,0.188,0.183,0.204,0.239,0.021,
+0.181,0.238,0.270,0.300,0.234,0.411,0.392,0.272,0.210,0.275,
+0.032,0.021,0.024,0.031,0.293,0.025,0.224,0.326,0.241,0.289,
+0.508,0.391,0.379,0.202,0.179,0.329,0.248,0.153,0.194,0.261,
+0.369,0.036,0.287,0.445,0.570,0.420,0.502,0.861,0.047,0.034,
+0.023,0.039,0.033,0.029,0.021,0.028,0.025,3.66e-3,0.012,0.019,
+0.025,0.026,0.019,0.027,0.037,0.029,0.019,0.022,0.033,0.029,
+0.030,0.025,0.021,4.64e-3,0.022,0.026,0.016,0.022,0.021,0.025,
+0.021,0.017,0.014,0.017,2.69e-3,3.74e-3,3.03e-3,3.45e-3,0.014,2.92e-3,
+0.014,0.019,0.010,0.018,0.021,0.020,0.023,0.012,0.011,0.017,
+0.023,0.018,0.016,0.020,0.014,1.90e-3,0.013,0.018,0.021,0.015,
+0.020,0.036,0.040,0.032,0.018,0.028,0.032,0.030,0.021,0.021,
+0.027,4.16e-3,0.013,0.016,0.017,0.019,0.012,0.018,0.039,0.038,
+0.020,0.022,0.032,0.024,0.027,0.021,0.025,6.12e-3,0.022,0.025,
+0.016,0.024,0.018,0.020,0.018,0.026,0.015,0.019,3.68e-3,6.73e-3,
+6.10e-3,4.05e-3,0.033,9.46e-3,0.030,0.068,0.013,0.029,0.023,0.027,
+0.017,0.012,8.82e-3,0.014,0.020,0.021,0.014,0.018,0.016,2.26e-3,
+0.015,0.026,0.014,0.014,0.016,0.027,0.028,0.018,0.013,0.016,
+0.029,0.028,0.027,0.021,0.022,4.22e-3,0.018,0.017,0.014,0.020,
+0.020,0.024,3.41e-3,4.49e-3,2.80e-3,2.74e-3,5.64e-3,7.08e-3,7.88e-3,4.18e-3,
+3.59e-3,3.28e-3,6.71e-3,5.01e-3,2.09e-3,5.97e-3,4.91e-3,4.26e-3,0.018,0.021,
+0.020,0.020,3.63e-3,6.08e-3,7.56e-3,3.86e-3,0.034,0.017,0.032,0.025,
+0.014,0.039,0.050,0.027,0.015,0.012,0.011,0.014,0.022,0.024,
+0.025,0.023,0.021,5.08e-3,0.025,0.025,0.016,0.019,0.028,0.031,
+0.040,0.029,0.020,0.030,0.023,0.018,0.016,0.018,0.018,2.24e-3,
+0.012,0.016,0.023,0.024,0.029,0.039,0.042,0.033,0.024,0.034,
+0.044,0.037,0.032,0.033,0.026,4.49e-3,0.025,0.030,0.027,0.038,
+0.038,0.047,0.032,0.025,0.026,0.025,3.53e-3,3.91e-3,6.37e-3,3.78e-3,
+0.024,5.52e-3,0.033,0.031,0.033,0.036,0.178,0.055,0.028,0.018,
+0.017,0.026,0.024,0.018,0.021,0.025,0.028,3.45e-3,0.027,0.044,
+0.041,0.037,0.061,0.080,0.476,0.433,0.290,0.460,0.312,0.249,
+0.170,0.248,0.278,0.026,0.170,0.231,0.234,0.194,0.147,0.255,
+0.462,0.349,0.211,0.267,0.366,0.286,0.263,0.243,0.415,0.046,
+0.324,0.421,0.194,0.271,0.185,0.261,0.270,0.292,0.188,0.243,
+0.034,0.037,0.029,0.044,0.265,0.033,0.263,0.308,0.191,0.288,
+0.232,0.312,0.239,0.154,0.112,0.210,0.237,0.203,0.166,0.225,
+0.257,0.026,0.218,0.358,0.289,0.219,0.266,0.493,0.035,0.035,
+0.018,0.027,0.034,0.035,0.021,0.037,0.022,4.49e-3,0.019,0.023,
+0.015,0.021,0.014,0.023,0.035,0.033,0.018,0.021,0.039,0.038,
+0.033,0.027,0.031,8.71e-3,0.045,0.036,0.016,0.023,0.017,0.019,
+0.027,0.031,0.018,0.021,4.51e-3,8.36e-3,7.33e-3,5.45e-3,0.029,9.73e-3,
+0.038,0.060,0.016,0.033,0.029,0.030,0.025,0.018,0.011,0.023,
+0.033,0.033,0.023,0.033,0.026,4.64e-3,0.025,0.062,0.025,0.021,
+0.023,0.055,0.525,0.265,0.204,0.181,0.296,0.280,0.263,0.241,
+0.276,0.043,0.337,0.269,0.169,0.201,0.257,0.289,0.032,0.038,
+0.028,0.022,0.027,0.037,0.030,0.020,0.037,9.71e-3,0.053,0.040,
+0.018,0.036,0.034,0.028,0.331,0.241,0.224,0.209,0.034,0.026,
+0.038,0.025,0.204,0.031,0.074,0.101,0.117,0.143,0.192,0.203,
+0.188,0.130,0.131,0.126,0.211,0.184,0.198,0.171,0.230,0.028,
+0.305,0.282,0.157,0.174,0.264,0.321,0.322,0.186,0.137,0.226,
+0.184,0.135,0.104,0.128,0.178,0.017,0.162,0.173,0.155,0.142,
+0.144,0.221,0.346,0.291,0.198,0.259,0.284,0.277,0.200,0.191,
+0.246,0.030,0.290,0.282,0.184,0.262,0.226,0.245,0.271,0.258,
+0.206,0.267,0.027,0.029,0.025,0.027,0.293,0.034,0.341,0.351,
+0.198,0.332,0.327,0.356,0.246,0.162,0.140,0.223,0.257,0.190,
+0.170,0.199,0.310,0.029,0.385,0.416,0.311,0.306,0.373,0.500,
+0.549,0.280,0.202,0.397,0.266,0.186,0.150,0.224,0.228,0.022,
+0.135,0.205,0.267,0.210,0.162,0.316,0.395,0.207,0.138,0.207,
+0.224,0.148,0.132,0.185,0.196,0.015,0.136,0.209,0.135,0.138,
+0.116,0.192,0.248,0.197,0.124,0.212,0.021,0.017,0.013,0.030,
+0.179,0.016,0.137,0.224,0.148,0.186,0.162,0.261,0.278,0.154,
+0.134,0.243,0.199,0.143,0.124,0.211,0.196,0.015,0.126,0.245,
+0.261,0.183,0.210,0.460,0.503,0.328,0.196,0.340,0.346,0.282,
+0.200,0.260,0.238,0.023,0.190,0.240,0.224,0.231,0.144,0.292,
+0.441,0.322,0.201,0.269,0.339,0.263,0.243,0.246,0.274,0.024,
+0.225,0.286,0.170,0.202,0.146,0.222,0.254,0.262,0.149,0.219,
+0.021,0.028,0.018,0.029,0.276,0.031,0.240,0.426,0.177,0.295,
+0.226,0.319,0.265,0.173,0.127,0.224,0.272,0.238,0.185,0.287,
+0.228,0.019,0.200,0.402,0.234,0.210,0.219,0.418,0.479,0.251,
+0.189,0.248,0.311,0.243,0.249,0.279,0.336,0.036,0.246,0.288,
+0.243,0.240,0.377,0.410,0.030,0.032,0.021,0.023,0.027,0.035,
+0.027,0.027,0.024,4.76e-3,0.028,0.030,0.021,0.034,0.032,0.032,
+0.306,0.304,0.212,0.268,0.026,0.024,0.025,0.031,0.377,0.049,
+0.275,0.344,0.203,0.328,0.364,0.369,0.249,0.181,0.163,0.219,
+0.305,0.252,0.265,0.326,0.296,0.029,0.344,0.438,0.252,0.253,
+0.383,0.486,0.468,0.221,0.187,0.310,0.234,0.169,0.154,0.180,
+0.246,0.025,0.168,0.219,0.307,0.209,0.241,0.375,0.354,0.226,
+0.169,0.247,0.250,0.205,0.187,0.212,0.211,0.016,0.226,0.275,
+0.216,0.208,0.249,0.308,0.362,0.329,0.238,0.353,0.026,0.025,
+0.020,0.032,0.385,0.033,0.354,0.541,0.312,0.402,0.412,0.508,
+0.455,0.251,0.226,0.431,0.362,0.288,0.271,0.376,0.430,0.033,
+0.418,0.614,0.538,0.425,0.592,0.814,1.000,0.457,0.438,0.970,
+0.406,0.236,0.215,0.352,0.399,0.030,0.173,0.313,0.616,0.413,
+0.267,0.561,0.466,0.237,0.183,0.286,0.243,0.133,0.130,0.172,
+0.243,0.015,0.144,0.182,0.260,0.220,0.164,0.265,0.320,0.212,
+0.179,0.302,0.024,0.017,0.016,0.035,0.184,0.013,0.119,0.185,
+0.176,0.173,0.173,0.281,0.455,0.204,0.201,0.436,0.291,0.187,
+0.162,0.282,0.250,0.018,0.155,0.263,0.364,0.225,0.271,0.616,
+0.586,0.309,0.219,0.390,0.287,0.171,0.133,0.175,0.228,0.018,
+0.110,0.181,0.261,0.196,0.127,0.273,0.338,0.186,0.132,0.186,
+0.194,0.111,0.102,0.120,0.199,0.011,0.110,0.158,0.186,0.147,
+0.113,0.189,0.228,0.170,0.135,0.193,0.013,0.013,8.34e-3,0.018,
+0.221,0.015,0.116,0.298,0.165,0.170,0.144,0.234,0.227,0.138,
+0.099,0.190,0.186,0.152,0.091,0.159,0.182,0.011,0.115,0.209,
+0.209,0.156,0.173,0.355,0.599,0.203,0.168,0.272,0.303,0.149,
+0.142,0.205,0.244,0.023,0.095,0.175,0.285,0.213,0.164,0.360,
+0.036,0.018,0.013,0.022,0.022,0.013,0.014,0.017,0.020,1.86e-3,
+0.011,0.018,0.034,0.034,0.019,0.037,0.293,0.164,0.179,0.231,
+0.018,0.011,0.013,0.020,0.202,0.017,0.113,0.181,0.178,0.179,
+0.209,0.271,0.301,0.133,0.138,0.207,0.227,0.147,0.145,0.210,
+0.214,0.017,0.155,0.277,0.264,0.201,0.263,0.452,0.638,0.215,
+0.181,0.401,0.270,0.133,0.137,0.191,0.259,0.021,0.126,0.196,
+0.401,0.251,0.193,0.446,0.362,0.196,0.157,0.236,0.195,0.122,
+0.145,0.153,0.204,0.013,0.127,0.187,0.276,0.257,0.173,0.302,
+0.292,0.200,0.177,0.254,0.018,0.012,0.017,0.020,0.201,0.013,
+0.132,0.197,0.241,0.196,0.264,0.315,0.429,0.213,0.195,0.390,
+0.238,0.152,0.171,0.242,0.310,0.020,0.216,0.382,0.491,0.353,
+0.453,0.948,0.891,0.447,0.355,0.686,0.432,0.297,0.227,0.319,
+0.328,0.029,0.161,0.278,0.452,0.362,0.243,0.486,0.537,0.286,
+0.229,0.321,0.315,0.192,0.227,0.234,0.264,0.020,0.229,0.268,
+0.218,0.218,0.200,0.311,0.337,0.214,0.196,0.277,0.022,0.019,
+0.017,0.028,0.199,0.018,0.149,0.230,0.153,0.191,0.214,0.332,
+0.407,0.175,0.176,0.303,0.296,0.210,0.189,0.266,0.208,0.016,
+0.142,0.263,0.288,0.201,0.260,0.542,0.595,0.357,0.211,0.374,
+0.339,0.248,0.171,0.215,0.262,0.021,0.119,0.186,0.262,0.219,
+0.138,0.292,0.394,0.270,0.173,0.234,0.289,0.161,0.162,0.179,
+0.251,0.022,0.169,0.226,0.192,0.208,0.160,0.235,0.247,0.227,
+0.162,0.225,0.016,0.018,0.012,0.018,0.266,0.025,0.172,0.282,
+0.175,0.242,0.200,0.353,0.208,0.142,0.099,0.177,0.201,0.174,
+0.110,0.163,0.175,0.014,0.132,0.202,0.183,0.166,0.185,0.353,
+0.454,0.236,0.163,0.255,0.320,0.242,0.213,0.247,0.253,0.030,
+0.130,0.197,0.236,0.226,0.200,0.378,0.025,0.020,0.012,0.020,
+0.023,0.024,0.021,0.021,0.017,3.32e-3,0.016,0.019,0.021,0.031,
+0.021,0.032,0.253,0.222,0.230,0.284,0.019,0.020,0.021,0.026,
+0.245,0.038,0.179,0.252,0.204,0.300,0.335,0.393,0.232,0.155,
+0.150,0.231,0.248,0.214,0.214,0.277,0.252,0.020,0.211,0.324,
+0.250,0.240,0.335,0.515,0.571,0.267,0.211,0.373,0.252,0.176,
+0.166,0.216,0.245,0.021,0.139,0.218,0.303,0.248,0.236,0.439,
+0.436,0.275,0.215,0.311,0.278,0.223,0.223,0.254,0.250,0.021,
+0.218,0.294,0.282,0.348,0.279,0.409,0.269,0.223,0.259,0.304,
+0.019,0.018,0.039,0.026,0.213,0.019,0.216,0.284,0.230,0.285,
+0.626,0.488,0.330,0.204,0.206,0.329,0.265,0.205,0.232,0.271,
+0.296,0.022,0.257,0.404,0.414,0.345,0.497,0.798,1.290,0.408,
+0.429,0.534,0.314,0.235,0.153,0.232,0.321,0.024,0.160,0.241,
+0.381,0.233,0.174,0.357,0.506,0.315,0.199,0.286,0.308,0.220,
+0.175,0.202,0.333,0.028,0.264,0.290,0.244,0.263,0.192,0.320,
+0.330,0.322,0.207,0.300,0.038,0.028,0.021,0.042,0.239,0.024,
+0.162,0.243,0.204,0.276,0.313,0.426,0.324,0.201,0.156,0.293,
+0.309,0.212,0.161,0.266,0.272,0.025,0.193,0.378,0.340,0.258,
+0.328,0.666,0.065,0.030,0.077,0.038,0.025,0.021,0.017,0.019,
+0.020,2.40e-3,0.014,0.017,0.021,0.019,0.017,0.026,0.029,0.024,
+0.016,0.017,0.032,0.029,0.016,0.019,0.024,3.59e-3,0.025,0.026,
+0.017,0.023,0.016,0.021,0.017,0.021,0.013,0.017,3.36e-3,3.22e-3,
+2.61e-3,2.51e-3,0.022,3.63e-3,0.017,0.028,0.018,0.026,0.042,0.032,
+0.025,0.017,0.013,0.021,0.035,0.027,0.018,0.027,0.020,2.49e-3,
+0.016,0.038,0.025,0.021,0.027,0.046,0.527,0.276,0.195,0.230,
+0.310,0.266,0.236,0.230,0.270,0.038,0.205,0.246,0.227,0.244,
+0.243,0.348,0.029,0.024,0.013,0.017,0.021,0.021,0.016,0.015,
+0.022,3.84e-3,0.029,0.022,0.024,0.033,0.026,0.028,0.307,0.265,
+0.246,0.257,0.026,0.025,0.026,0.025,0.307,0.036,0.155,0.253,
+0.194,0.260,0.304,0.326,0.243,0.163,0.150,0.205,0.263,0.240,
+0.226,0.247,0.263,0.027,0.291,0.384,0.243,0.250,0.328,0.482,
+0.573,0.259,0.180,0.318,0.244,0.176,0.151,0.189,0.392,0.031,
+0.226,0.351,0.294,0.221,0.186,0.390,0.442,0.323,0.196,0.306,
+0.285,0.261,0.197,0.209,0.299,0.024,0.288,0.343,0.295,0.344,
+0.272,0.359,0.342,0.326,0.260,0.351,0.025,0.026,0.025,0.034,
+0.343,0.029,0.291,0.407,0.306,0.406,0.638,0.541,0.415,0.217,
+0.213,0.312,0.284,0.230,0.236,0.254,0.404,0.030,0.389,0.534,
+0.455,0.405,0.517,0.757,0.941,0.375,0.276,0.551,0.303,0.186,
+0.145,0.249,0.309,0.026,0.155,0.262,0.390,0.270,0.196,0.473,
+0.428,0.216,0.137,0.223,0.219,0.131,0.109,0.165,0.230,0.014,
+0.128,0.221,0.181,0.154,0.135,0.259,0.319,0.245,0.170,0.334,
+0.025,0.023,0.016,0.044,0.203,0.017,0.119,0.229,0.193,0.215,
+0.184,0.303,0.385,0.187,0.176,0.365,0.244,0.149,0.143,0.256,
+0.242,0.018,0.155,0.312,0.344,0.232,0.307,0.749,0.512,0.264,
+0.268,0.336,0.256,0.168,0.133,0.193,0.204,0.015,0.123,0.201,
+0.225,0.188,0.133,0.315,0.334,0.209,0.170,0.215,0.240,0.163,
+0.130,0.166,0.226,0.015,0.151,0.228,0.176,0.168,0.137,0.235,
+0.221,0.177,0.116,0.208,0.014,0.013,9.80e-3,0.016,0.215,0.017,
+0.142,0.263,0.191,0.236,0.212,0.320,0.247,0.149,0.124,0.234,
+0.240,0.163,0.138,0.210,0.218,0.016,0.145,0.297,0.241,0.190,
+0.271,0.469,0.567,0.266,0.221,0.349,0.357,0.242,0.207,0.314,
+0.392,0.036,0.183,0.293,0.348,0.299,0.315,0.523,0.032,0.020,
+0.014,0.024,0.022,0.020,0.016,0.022,0.022,2.44e-3,0.015,0.022,
+0.029,0.033,0.022,0.039,0.354,0.308,0.233,0.327,0.022,0.020,
+0.018,0.029,0.362,0.030,0.247,0.372,0.280,0.342,0.371,0.524,
+0.357,0.239,0.200,0.315,0.346,0.265,0.256,0.376,0.378,0.027,
+0.306,0.530,0.338,0.302,0.383,0.686,0.876,0.316,0.241,0.486,
+0.307,0.210,0.179,0.267,0.367,0.030,0.196,0.332,0.521,0.336,
+0.309,0.688,0.486,0.275,0.214,0.327,0.323,0.246,0.189,0.261,
+0.333,0.019,0.254,0.360,0.371,0.350,0.276,0.483,0.465,0.372,
+0.282,0.481,0.028,0.024,0.018,0.033,0.441,0.028,0.331,0.553,
+0.427,0.475,0.520,0.808,0.770,0.318,0.299,0.635,0.489,0.330,
+0.296,0.481,0.612,0.035,0.476,0.825,0.821,0.524,0.730,1.260,
+2.830,1.160,0.913,2.330,0.883,0.484,0.437,0.747,0.945,0.069,
+0.337,0.687,1.740,1.080,0.583,1.440,0.856,0.410,0.307,0.487,
+0.445,0.229,0.203,0.261,0.415,0.021,0.189,0.299,0.523,0.334,
+0.244,0.492,0.694,0.353,0.280,0.589,0.044,0.025,0.020,0.058,
+0.306,0.020,0.135,0.247,0.366,0.300,0.235,0.461,1.200,0.441,
+0.437,1.090,0.779,0.376,0.364,0.736,0.477,0.029,0.233,0.445,
+0.861,0.439,0.434,1.110,0.923,0.359,0.257,0.461,0.361,0.203,
+0.157,0.243,0.308,0.023,0.117,0.216,0.354,0.277,0.149,0.352,
+0.436,0.210,0.135,0.214,0.207,0.106,0.103,0.126,0.207,0.010,
+0.097,0.153,0.207,0.137,0.109,0.195,0.332,0.201,0.136,0.248,
+0.019,0.011,8.69e-3,0.018,0.210,0.012,0.085,0.156,0.178,0.166,
+0.107,0.209,0.421,0.209,0.164,0.337,0.352,0.194,0.152,0.268,
+0.253,0.014,0.118,0.220,0.293,0.204,0.201,0.428,0.636,0.245,
+0.232,0.389,0.315,0.167,0.171,0.252,0.305,0.027,0.127,0.227,
+0.384,0.263,0.244,0.538,0.037,0.021,0.014,0.027,0.022,0.016,
+0.012,0.020,0.022,1.59e-3,0.010,0.021,0.040,0.033,0.021,0.048,
+0.248,0.154,0.137,0.223,0.017,8.71e-3,7.48e-3,0.018,0.179,0.011,
+0.080,0.136,0.163,0.140,0.141,0.230,0.268,0.148,0.139,0.268,
+0.266,0.154,0.140,0.240,0.272,0.018,0.144,0.261,0.275,0.215,
+0.233,0.538,1.010,0.345,0.317,0.691,0.370,0.189,0.221,0.295,
+0.421,0.030,0.161,0.301,0.668,0.377,0.336,0.825,0.542,0.272,
+0.214,0.335,0.272,0.169,0.152,0.209,0.284,0.015,0.147,0.250,
+0.383,0.277,0.222,0.441,0.321,0.214,0.189,0.317,0.021,0.012,
+0.012,0.025,0.236,0.014,0.126,0.259,0.254,0.239,0.208,0.371,
+0.675,0.269,0.284,0.604,0.318,0.201,0.196,0.329,0.443,0.024,
+0.230,0.454,0.696,0.450,0.487,1.270,0.956,0.417,0.320,0.644,
+0.364,0.202,0.173,0.271,0.306,0.021,0.111,0.224,0.416,0.302,
+0.200,0.442,0.435,0.207,0.150,0.254,0.212,0.124,0.110,0.146,
+0.185,0.010,0.093,0.157,0.175,0.138,0.116,0.229,0.234,0.162,
+0.116,0.219,0.015,0.011,7.94e-3,0.020,0.123,9.44e-3,0.065,0.103,
+0.134,0.134,0.105,0.205,0.311,0.141,0.139,0.310,0.224,0.131,
+0.111,0.200,0.165,0.011,0.089,0.154,0.233,0.149,0.172,0.423,
+0.504,0.258,0.135,0.272,0.224,0.142,0.094,0.133,0.167,0.012,
+0.063,0.120,0.199,0.167,0.085,0.215,0.270,0.152,0.084,0.136,
+0.140,0.064,0.065,0.084,0.119,7.54e-3,0.062,0.098,0.123,0.102,
+0.071,0.139,0.200,0.139,0.088,0.139,0.012,7.67e-3,4.62e-3,8.77e-3,
+0.127,9.21e-3,0.053,0.091,0.113,0.122,0.080,0.152,0.215,0.113,
+0.085,0.175,0.149,0.101,0.072,0.111,0.140,8.00e-3,0.063,0.117,
+0.151,0.117,0.101,0.247,0.370,0.174,0.127,0.225,0.200,0.117,
+0.113,0.155,0.183,0.015,0.088,0.134,0.205,0.150,0.133,0.269,
+0.017,0.014,8.13e-3,0.016,9.63e-3,9.57e-3,7.94e-3,0.010,0.010,1.42e-3,
+7.40e-3,0.011,0.015,0.014,0.010,0.020,0.180,0.156,0.111,0.167,
+0.010,0.015,6.20e-3,0.012,0.105,7.88e-3,0.065,0.091,0.103,0.110,
+0.107,0.154,0.174,0.111,0.101,0.184,0.157,0.120,0.103,0.151,
+0.154,0.011,0.159,0.177,0.153,0.125,0.165,0.302,0.379,0.167,
+0.144,0.265,0.196,0.102,0.099,0.137,0.161,0.010,0.066,0.121,
+0.232,0.145,0.134,0.283,0.257,0.154,0.116,0.185,0.139,0.107,
+0.105,0.135,0.118,7.08e-3,0.083,0.130,0.156,0.129,0.112,0.203,
+0.169,0.117,0.108,0.188,9.86e-3,8.13e-3,6.29e-3,0.012,0.137,0.011,
+0.066,0.118,0.141,0.147,0.124,0.216,0.243,0.110,0.129,0.253,
+0.167,0.110,0.103,0.172,0.206,0.012,0.125,0.228,0.285,0.221,
+0.256,0.544,0.664,0.339,0.234,0.514,0.238,0.158,0.112,0.202,
+0.254,0.021,0.114,0.228,0.387,0.259,0.181,0.355,0.426,0.237,
+0.151,0.293,0.191,0.124,0.142,0.157,0.230,0.016,0.122,0.174,
+0.231,0.199,0.151,0.277,0.270,0.225,0.152,0.304,0.022,0.020,
+0.012,0.033,0.129,0.012,0.064,0.116,0.144,0.198,0.127,0.211,
+0.419,0.211,0.184,0.435,0.271,0.204,0.149,0.280,0.211,0.017,
+0.114,0.223,0.362,0.248,0.268,0.698,0.037,0.027,0.015,0.028,
+0.021,0.016,9.02e-3,0.016,0.018,1.73e-3,8.34e-3,0.016,0.024,0.023,
+0.013,0.027,0.029,0.020,9.53e-3,0.018,0.017,0.013,9.13e-3,0.012,
+0.019,1.50e-3,0.010,0.015,0.021,0.018,0.014,0.023,0.018,0.018,
+0.010,0.022,1.46e-3,1.48e-3,8.36e-4,1.84e-3,0.012,1.42e-3,6.64e-3,0.011,
+0.016,0.018,0.011,0.020,0.041,0.025,0.018,0.046,0.034,0.030,
+0.018,0.035,0.019,1.65e-3,0.012,0.025,0.034,0.029,0.024,0.059,
+0.332,0.172,0.112,0.176,0.161,0.112,0.100,0.135,0.232,0.020,
+0.102,0.150,0.203,0.159,0.132,0.238,0.021,0.015,8.21e-3,0.014,
+9.48e-3,0.011,6.75e-3,8.86e-3,0.014,1.61e-3,8.21e-3,0.011,0.020,0.019,
+0.014,0.019,0.170,0.142,0.094,0.137,0.011,8.56e-3,7.65e-3,0.012,
+0.119,0.010,0.057,0.081,0.100,0.114,0.097,0.138,0.194,0.109,
+0.102,0.177,0.163,0.125,0.101,0.156,0.169,0.015,0.127,0.178,
+0.174,0.152,0.162,0.303,0.359,0.167,0.120,0.253,0.171,0.105,
+0.101,0.130,0.199,0.016,0.099,0.169,0.271,0.183,0.166,0.341,
+0.330,0.215,0.115,0.212,0.168,0.152,0.100,0.129,0.183,0.013,
+0.108,0.165,0.229,0.208,0.141,0.243,0.227,0.174,0.109,0.229,
+0.014,0.013,7.25e-3,0.015,0.150,0.011,0.090,0.154,0.167,0.191,
+0.153,0.250,0.338,0.168,0.156,0.307,0.210,0.152,0.122,0.204,
+0.248,0.017,0.169,0.291,0.361,0.278,0.294,0.643,0.997,0.408,
+0.333,0.735,0.315,0.180,0.162,0.237,0.332,0.023,0.148,0.262,
+0.593,0.322,0.256,0.614,0.399,0.175,0.140,0.261,0.184,0.096,
+0.103,0.140,0.261,0.011,0.112,0.182,0.237,0.145,0.136,0.283,
+0.332,0.199,0.163,0.361,0.021,0.015,0.012,0.033,0.193,0.012,
+0.097,0.190,0.204,0.181,0.148,0.316,0.620,0.249,0.279,0.750,
+0.328,0.178,0.194,0.362,0.303,0.017,0.174,0.316,0.509,0.300,
+0.338,0.923,0.527,0.251,0.183,0.334,0.229,0.145,0.107,0.160,
+0.223,0.015,0.102,0.186,0.265,0.203,0.126,0.296,0.285,0.161,
+0.087,0.156,0.156,0.100,0.071,0.106,0.170,9.11e-3,0.087,0.142,
+0.186,0.131,0.094,0.186,0.240,0.185,0.100,0.233,0.012,0.013,
+6.33e-3,0.015,0.170,0.011,0.084,0.145,0.178,0.164,0.114,0.229,
+0.371,0.176,0.154,0.367,0.248,0.166,0.140,0.266,0.223,0.013,
+0.119,0.236,0.300,0.227,0.197,0.482,0.394,0.177,0.137,0.252,
+0.246,0.142,0.119,0.196,0.246,0.021,0.124,0.200,0.237,0.177,
+0.194,0.362,0.021,0.014,8.38e-3,0.017,0.012,0.010,6.87e-3,0.012,
+0.014,1.44e-3,9.80e-3,0.014,0.019,0.018,0.014,0.024,0.208,0.150,
+0.116,0.208,0.013,7.75e-3,7.52e-3,0.016,0.176,0.012,0.120,0.145,
+0.161,0.151,0.157,0.247,0.268,0.141,0.147,0.268,0.248,0.153,
+0.148,0.273,0.302,0.017,0.195,0.300,0.277,0.211,0.274,0.517,
+0.736,0.292,0.237,0.513,0.291,0.171,0.164,0.239,0.330,0.024,
+0.160,0.306,0.511,0.305,0.290,0.856,0.402,0.249,0.144,0.272,
+0.195,0.136,0.116,0.182,0.231,0.014,0.143,0.237,0.294,0.232,
+0.178,0.378,0.375,0.284,0.212,0.453,0.020,0.018,0.011,0.029,
+0.298,0.017,0.182,0.309,0.336,0.299,0.274,0.502,0.816,0.336,
+0.347,0.844,0.438,0.319,0.282,0.511,0.649,0.028,0.397,0.717,
+1.130,0.677,0.754,1.600,0.799,0.433,0.440,0.705,0.409,0.220,
+0.206,0.293,0.328,0.028,0.155,0.264,0.574,0.398,0.237,0.503,
+0.412,0.250,0.189,0.250,0.246,0.140,0.127,0.147,0.185,0.012,
+0.122,0.148,0.206,0.160,0.136,0.232,0.252,0.179,0.132,0.234,
+0.017,0.011,0.011,0.025,0.135,0.011,0.087,0.117,0.155,0.148,
+0.124,0.216,0.387,0.216,0.166,0.369,0.289,0.158,0.148,0.277,
+0.193,0.014,0.121,0.194,0.303,0.205,0.204,0.463,0.496,0.254,
+0.203,0.282,0.233,0.140,0.112,0.148,0.180,0.018,0.128,0.153,
+0.211,0.211,0.110,0.235,0.280,0.155,0.123,0.155,0.158,0.097,
+0.092,0.109,0.148,0.010,0.147,0.137,0.136,0.116,0.106,0.159,
+0.169,0.127,0.097,0.139,0.011,7.92e-3,6.29e-3,0.011,0.143,9.30e-3,
+0.088,0.107,0.109,0.121,0.096,0.131,0.196,0.123,0.086,0.163,
+0.164,0.107,0.085,0.138,0.141,9.09e-3,0.085,0.133,0.152,0.134,
+0.120,0.262,0.309,0.135,0.104,0.191,0.177,0.097,0.092,0.145,
+0.148,0.015,0.067,0.116,0.177,0.134,0.112,0.261,0.016,0.011,
+7.73e-3,0.013,0.012,8.92e-3,7.46e-3,0.011,0.010,9.19e-4,6.81e-3,9.94e-3,
+0.015,0.017,0.012,0.021,0.136,0.082,0.084,0.111,0.010,5.24e-3,
+6.18e-3,0.011,0.096,7.71e-3,0.053,0.079,0.095,0.085,0.091,0.132,
+0.136,0.083,0.076,0.141,0.140,0.092,0.080,0.134,0.129,9.23e-3,
+0.082,0.147,0.144,0.120,0.141,0.282,0.395,0.155,0.121,0.246,
+0.170,0.090,0.082,0.135,0.175,0.017,0.070,0.127,0.257,0.162,
+0.122,0.303,0.256,0.143,0.109,0.170,0.157,0.105,0.087,0.125,
+0.135,9.90e-3,0.082,0.130,0.152,0.138,0.118,0.203,0.146,0.102,
+0.089,0.154,0.010,6.96e-3,5.79e-3,0.013,0.100,6.48e-3,0.057,0.105,
+0.112,0.108,0.098,0.169,0.235,0.117,0.118,0.249,0.161,0.103,
+0.095,0.167,0.181,0.012,0.121,0.216,0.279,0.222,0.237,0.567,
+0.544,0.280,0.237,0.386,0.286,0.173,0.133,0.183,0.168,0.014,
+0.076,0.144,0.237,0.188,0.129,0.267,0.303,0.185,0.130,0.181,
+0.195,0.132,0.108,0.136,0.121,0.011,0.080,0.114,0.108,0.112,
+0.093,0.156,0.141,0.116,0.082,0.137,9.23e-3,8.90e-3,6.46e-3,0.014,
+0.079,6.37e-3,0.046,0.069,0.077,0.084,0.068,0.141,0.195,0.097,
+0.083,0.214,0.140,0.100,0.079,0.143,0.099,6.39e-3,0.069,0.103,
+0.151,0.108,0.114,0.264,0.342,0.206,0.105,0.186,0.195,0.179,
+0.085,0.113,0.119,0.010,0.056,0.087,0.131,0.122,0.068,0.156,
+0.245,0.162,0.093,0.143,0.178,0.095,0.084,0.112,0.108,0.011,
+0.068,0.101,0.103,0.121,0.071,0.128,0.132,0.112,0.060,0.104,
+9.36e-3,9.53e-3,4.30e-3,7.96e-3,0.085,8.13e-3,0.048,0.076,0.065,0.092,
+0.066,0.111,0.179,0.099,0.060,0.140,0.117,0.108,0.055,0.089,
+0.104,6.75e-3,0.055,0.090,0.101,0.099,0.077,0.179,0.246,0.127,
+0.087,0.166,0.161,0.111,0.094,0.157,0.127,0.011,0.058,0.092,
+0.131,0.106,0.099,0.196,0.013,0.010,7.17e-3,0.012,8.42e-3,0.013,
+7.44e-3,0.011,7.12e-3,1.44e-3,5.35e-3,7.23e-3,9.09e-3,0.011,7.98e-3,0.013,
+0.170,0.112,0.088,0.122,9.84e-3,8.38e-3,7.21e-3,0.011,0.086,7.02e-3,
+0.059,0.076,0.075,0.089,0.103,0.130,0.125,0.073,0.074,0.133,
+0.129,0.103,0.091,0.126,0.115,7.52e-3,0.097,0.129,0.119,0.102,
+0.143,0.230,0.236,0.116,0.087,0.161,0.126,0.079,0.066,0.101,
+0.099,7.50e-3,0.053,0.076,0.142,0.097,0.097,0.181,0.174,0.118,
+0.088,0.135,0.116,0.109,0.085,0.118,0.088,7.56e-3,0.066,0.096,
+0.092,0.099,0.092,0.148,0.114,0.097,0.077,0.117,7.42e-3,5.54e-3,
+6.23e-3,7.90e-3,0.076,5.54e-3,0.051,0.080,0.078,0.090,0.095,0.135,
+0.167,0.084,0.079,0.155,0.141,0.098,0.084,0.124,0.119,8.11e-3,
+0.098,0.149,0.180,0.164,0.174,0.333,0.356,0.203,0.161,0.287,
+0.157,0.099,0.074,0.121,0.152,0.012,0.075,0.134,0.192,0.142,
+0.106,0.206,0.235,0.148,0.090,0.159,0.136,0.103,0.081,0.095,
+0.162,0.013,0.117,0.121,0.132,0.144,0.084,0.157,0.144,0.127,
+0.082,0.153,0.012,0.010,8.29e-3,0.019,0.092,7.56e-3,0.046,0.071,
+0.075,0.103,0.090,0.121,0.208,0.106,0.082,0.206,0.138,0.095,
+0.084,0.158,0.116,9.78e-3,0.079,0.133,0.178,0.139,0.148,0.377,
+0.016,0.011,5.95e-3,0.012,0.011,8.84e-3,5.31e-3,6.62e-3,7.08e-3,1.13e-3,
+5.03e-3,7.25e-3,0.012,9.82e-3,6.46e-3,0.013,0.014,9.51e-3,5.33e-3,7.79e-3,
+0.015,0.017,6.20e-3,8.38e-3,0.016,1.75e-3,7.94e-3,8.38e-3,0.010,0.011,
+5.79e-3,0.011,7.50e-3,7.65e-3,4.03e-3,7.08e-3,8.36e-4,1.07e-3,7.73e-4,9.82e-4,
+7.75e-3,1.07e-3,4.95e-3,5.97e-3,6.94e-3,7.75e-3,6.56e-3,0.011,0.015,8.67e-3,
+5.74e-3,0.017,0.014,0.011,7.83e-3,0.014,8.15e-3,1.23e-3,5.91e-3,0.012,
+0.012,0.011,9.28e-3,0.023,0.233,0.145,0.093,0.137,0.133,0.114,
+0.080,0.109,0.145,0.016,0.070,0.109,0.120,0.118,0.095,0.201,
+0.013,0.011,6.12e-3,8.96e-3,8.46e-3,9.07e-3,6.06e-3,7.02e-3,9.00e-3,1.34e-3,
+7.54e-3,9.11e-3,0.011,0.014,8.31e-3,0.014,0.140,0.120,0.070,0.100,
+9.30e-3,8.79e-3,6.58e-3,9.69e-3,0.096,8.96e-3,0.050,0.071,0.069,0.091,
+0.082,0.113,0.133,0.078,0.069,0.115,0.125,0.104,0.081,0.122,
+0.132,0.011,0.099,0.148,0.129,0.119,0.141,0.257,0.224,0.122,
+0.082,0.166,0.123,0.077,0.060,0.084,0.126,0.012,0.063,0.108,
+0.166,0.130,0.084,0.238,0.225,0.150,0.088,0.139,0.134,0.116,
+0.080,0.101,0.143,0.013,0.096,0.143,0.149,0.178,0.100,0.192,
+0.152,0.122,0.086,0.144,0.011,8.23e-3,6.16e-3,0.011,0.115,8.90e-3,
+0.072,0.121,0.117,0.144,0.109,0.186,0.192,0.108,0.094,0.200,
+0.154,0.098,0.088,0.139,0.177,0.013,0.142,0.226,0.264,0.227,
+0.231,0.470,0.415,0.188,0.162,0.319,0.170,0.096,0.084,0.147,
+0.160,0.012,0.073,0.143,0.244,0.144,0.114,0.270,0.213,0.105,
+0.071,0.127,0.115,0.069,0.058,0.092,0.116,6.68e-3,0.064,0.101,
+0.116,0.081,0.065,0.144,0.151,0.103,0.086,0.178,9.76e-3,6.31e-3,
+5.93e-3,0.018,0.095,6.33e-3,0.065,0.094,0.091,0.091,0.076,0.158,
+0.235,0.110,0.114,0.281,0.160,0.083,0.091,0.193,0.139,8.77e-3,
+0.097,0.172,0.231,0.137,0.156,0.436,0.308,0.151,0.101,0.202,
+0.157,0.109,0.071,0.105,0.133,0.011,0.068,0.119,0.168,0.130,
+0.081,0.189,0.195,0.113,0.061,0.107,0.132,0.104,0.058,0.090,
+0.119,7.88e-3,0.069,0.101,0.142,0.105,0.071,0.143,0.120,0.095,
+0.061,0.120,6.50e-3,6.98e-3,4.05e-3,0.010,0.099,7.33e-3,0.055,0.100,
+0.104,0.107,0.071,0.150,0.168,0.091,0.081,0.186,0.141,0.098,
+0.084,0.203,0.122,8.27e-3,0.086,0.162,0.166,0.121,0.127,0.307,
+0.233,0.109,0.081,0.163,0.187,0.102,0.076,0.128,0.134,0.013,
+0.076,0.123,0.139,0.112,0.108,0.232,0.012,8.44e-3,4.76e-3,0.011,
+8.42e-3,8.19e-3,5.20e-3,7.25e-3,7.27e-3,5.22e-4,5.33e-3,8.36e-3,9.38e-3,9.99e-3,
+7.46e-3,0.016,0.117,0.088,0.068,0.109,8.06e-3,5.29e-3,4.32e-3,0.011,
+0.105,8.11e-3,0.071,0.100,0.087,0.095,0.092,0.149,0.142,0.077,
+0.080,0.147,0.133,0.090,0.084,0.162,0.197,0.014,0.121,0.243,
+0.160,0.138,0.174,0.324,0.336,0.144,0.108,0.223,0.145,0.088,
+0.079,0.107,0.155,0.013,0.076,0.142,0.210,0.134,0.107,0.306,
+0.270,0.143,0.085,0.147,0.127,0.097,0.073,0.104,0.109,7.27e-3,
+0.085,0.135,0.133,0.124,0.084,0.283,0.179,0.133,0.114,0.224,
+9.21e-3,7.42e-3,6.20e-3,0.016,0.146,9.84e-3,0.093,0.162,0.157,0.157,
+0.146,0.266,0.319,0.154,0.160,0.345,0.186,0.150,0.144,0.302,
+0.275,0.017,0.204,0.364,0.450,0.384,0.384,0.745,0.604,0.332,
+0.290,0.621,0.324,0.196,0.162,0.259,0.279,0.025,0.122,0.228,
+0.414,0.336,0.189,0.399,0.289,0.161,0.130,0.202,0.184,0.111,
+0.092,0.132,0.128,0.010,0.079,0.108,0.158,0.130,0.111,0.194,
+0.277,0.153,0.123,0.290,0.015,0.010,8.13e-3,0.024,0.128,7.94e-3,
+0.067,0.119,0.122,0.116,0.110,0.198,0.369,0.131,0.113,0.267,
+0.193,0.102,0.094,0.181,0.139,9.25e-3,0.074,0.132,0.219,0.109,
+0.147,0.338,0.459,0.214,0.139,0.284,0.250,0.146,0.115,0.160,
+0.159,0.011,0.069,0.125,0.188,0.162,0.098,0.220,0.245,0.136,
+0.091,0.140,0.163,0.087,0.085,0.108,0.121,7.92e-3,0.069,0.106,
+0.109,0.092,0.073,0.132,0.226,0.139,0.089,0.168,0.015,9.17e-3,
+6.58e-3,0.015,0.133,9.57e-3,0.071,0.168,0.104,0.117,0.099,0.167,
+0.258,0.117,0.077,0.162,0.201,0.130,0.091,0.163,0.134,9.15e-3,
+0.075,0.142,0.169,0.120,0.126,0.298,0.296,0.138,0.110,0.267,
+0.218,0.132,0.112,0.165,0.180,0.019,0.077,0.119,0.196,0.186,
+0.114,0.253,0.020,0.014,0.010,0.019,0.017,0.012,0.011,0.015,
+0.013,1.25e-3,7.54e-3,0.013,0.021,0.027,0.014,0.028,0.155,0.094,
+0.084,0.135,0.011,6.96e-3,6.87e-3,0.013,0.097,8.29e-3,0.049,0.078,
+0.090,0.092,0.086,0.136,0.144,0.077,0.067,0.130,0.169,0.108,
+0.097,0.153,0.137,0.010,0.081,0.137,0.187,0.120,0.131,0.259,
+0.343,0.147,0.124,0.321,0.160,0.093,0.096,0.132,0.149,0.014,
+0.078,0.122,0.237,0.162,0.121,0.290,0.227,0.128,0.110,0.189,
+0.146,0.093,0.087,0.122,0.121,8.56e-3,0.081,0.129,0.162,0.138,
+0.118,0.222,0.216,0.156,0.106,0.183,0.013,8.88e-3,8.25e-3,0.017,
+0.135,9.69e-3,0.075,0.129,0.131,0.147,0.155,0.221,0.270,0.134,
+0.120,0.266,0.166,0.095,0.120,0.192,0.272,0.016,0.139,0.240,
+0.370,0.243,0.280,0.590,0.027,0.017,0.013,0.021,0.017,0.010,
+7.35e-3,0.014,0.011,1.15e-3,5.24e-3,9.38e-3,0.015,0.015,8.54e-3,0.019,
+0.019,0.011,0.018,0.013,0.011,8.50e-3,9.25e-3,0.010,7.12e-3,7.73e-4,
+6.37e-3,7.81e-3,8.31e-3,7.75e-3,7.73e-3,0.014,0.012,8.04e-3,6.12e-3,0.012,
+9.61e-4,8.98e-4,7.94e-4,1.25e-3,6.48e-3,6.27e-4,4.09e-3,6.79e-3,5.54e-3,6.60e-3,
+6.29e-3,0.011,0.016,6.89e-3,6.37e-3,0.014,0.012,8.21e-3,6.81e-3,0.012,
+8.34e-3,6.68e-4,4.87e-3,8.31e-3,0.011,8.50e-3,9.71e-3,0.023,0.021,0.011,
+6.31e-3,0.012,0.014,0.011,6.31e-3,8.08e-3,7.79e-3,8.77e-4,4.22e-3,6.08e-3,
+8.38e-3,7.98e-3,5.49e-3,0.011,0.015,0.013,6.50e-3,7.67e-3,0.013,0.010,
+7.37e-3,8.90e-3,7.48e-3,1.21e-3,4.60e-3,6.25e-3,7.29e-3,8.38e-3,5.39e-3,9.48e-3,
+0.010,9.23e-3,4.91e-3,8.82e-3,1.04e-3,1.25e-3,3.97e-4,1.04e-3,9.65e-3,1.21e-3,
+5.06e-3,0.010,6.04e-3,8.04e-3,7.90e-3,0.010,0.015,7.17e-3,4.87e-3,9.82e-3,
+0.010,8.92e-3,6.39e-3,0.011,8.86e-3,6.48e-4,4.93e-3,8.71e-3,9.36e-3,8.08e-3,
+8.25e-3,0.019,0.016,6.79e-3,7.81e-3,0.012,0.011,6.98e-3,7.33e-3,8.63e-3,
+7.96e-3,9.40e-4,4.87e-3,5.87e-3,8.31e-3,8.65e-3,6.37e-3,0.013,1.07e-3,8.36e-4,
+7.31e-4,7.73e-4,8.98e-4,1.00e-3,9.19e-4,1.27e-3,5.64e-4,1.25e-4,9.40e-4,1.04e-3,
+7.73e-4,1.15e-3,7.73e-4,1.65e-3,9.73e-3,7.71e-3,5.70e-3,0.011,9.82e-4,9.40e-4,
+9.19e-4,1.00e-3,7.54e-3,1.67e-3,4.76e-3,6.00e-3,5.18e-3,7.50e-3,7.35e-3,0.012,
+8.44e-3,5.43e-3,5.08e-3,8.79e-3,0.011,8.21e-3,7.56e-3,9.96e-3,8.25e-3,8.36e-4,
+6.52e-3,0.012,9.21e-3,9.09e-3,9.78e-3,0.020,0.021,0.014,0.010,0.021,
+0.012,8.02e-3,7.25e-3,0.011,9.21e-3,8.98e-4,5.74e-3,7.94e-3,0.016,0.013,
+0.012,0.022,0.018,0.011,9.05e-3,0.017,0.013,0.011,9.90e-3,0.015,
+0.010,8.56e-4,7.23e-3,0.011,0.012,0.013,0.011,0.020,0.013,0.012,
+8.11e-3,0.014,9.82e-4,1.02e-3,9.82e-4,1.21e-3,7.90e-3,1.00e-3,6.46e-3,0.010,
+9.17e-3,0.010,0.026,0.018,0.017,9.92e-3,8.27e-3,0.017,0.014,0.010,
+9.65e-3,0.016,0.015,1.36e-3,9.69e-3,0.018,0.020,0.021,0.023,0.048,
+0.375,0.210,0.182,0.286,0.169,0.116,0.084,0.142,0.141,0.013,
+0.086,0.132,0.158,0.123,0.085,0.182,0.269,0.143,0.095,0.151,
+0.161,0.103,0.097,0.120,0.122,0.010,0.124,0.127,0.114,0.113,
+0.085,0.161,0.157,0.128,0.079,0.152,0.015,0.013,0.011,0.023,
+0.103,0.010,0.072,0.110,0.083,0.119,0.088,0.181,0.170,0.093,
+0.072,0.158,0.136,0.102,0.108,0.163,0.123,0.010,0.087,0.169,
+0.167,0.121,0.143,0.400,0.017,0.012,6.89e-3,0.012,0.011,9.36e-3,
+4.97e-3,9.44e-3,7.42e-3,1.11e-3,4.70e-3,6.60e-3,8.23e-3,8.27e-3,5.43e-3,0.011,
+0.014,9.13e-3,6.23e-3,7.92e-3,0.011,8.50e-3,6.04e-3,7.90e-3,7.00e-3,1.23e-3,
+7.71e-3,7.65e-3,6.06e-3,7.17e-3,5.14e-3,9.48e-3,0.010,9.25e-3,5.12e-3,9.13e-3,
+8.36e-4,1.34e-3,1.07e-3,1.17e-3,7.83e-3,1.30e-3,8.38e-3,0.012,5.97e-3,8.04e-3,
+6.62e-3,0.011,0.017,8.44e-3,5.39e-3,0.015,0.015,0.013,8.40e-3,0.016,
+9.94e-3,1.36e-3,7.12e-3,0.025,0.012,9.48e-3,9.59e-3,0.028,0.231,0.131,
+0.092,0.119,0.151,0.115,0.107,0.115,0.122,0.013,0.091,0.111,
+0.100,0.099,0.097,0.176,0.013,0.011,6.46e-3,8.25e-3,9.36e-3,9.59e-3,
+8.21e-3,7.96e-3,9.23e-3,1.34e-3,8.79e-3,8.73e-3,9.40e-3,0.011,8.46e-3,0.014,
+0.164,0.120,0.091,0.127,0.011,8.69e-3,0.011,0.013,0.132,0.012,
+0.052,0.087,0.079,0.085,0.090,0.130,0.121,0.077,0.063,0.093,
+0.127,0.098,0.080,0.107,0.120,0.010,0.109,0.145,0.113,0.098,
+0.132,0.216,0.219,0.115,0.086,0.158,0.127,0.089,0.062,0.084,
+0.104,9.44e-3,0.073,0.110,0.125,0.094,0.080,0.173,0.184,0.127,
+0.082,0.135,0.138,0.114,0.081,0.094,0.101,8.69e-3,0.100,0.127,
+0.107,0.117,0.092,0.152,0.223,0.146,0.101,0.197,0.013,0.011,
+8.25e-3,0.014,0.146,0.012,0.119,0.170,0.123,0.147,0.135,0.209,
+0.195,0.111,0.089,0.176,0.139,0.104,0.086,0.127,0.177,0.012,
+0.164,0.236,0.214,0.185,0.215,0.382,0.444,0.184,0.146,0.310,
+0.182,0.097,0.086,0.146,0.152,0.012,0.073,0.120,0.203,0.137,
+0.096,0.235,0.258,0.106,0.084,0.127,0.125,0.066,0.067,0.102,
+0.098,6.02e-3,0.078,0.102,0.101,0.076,0.068,0.140,0.211,0.102,
+0.073,0.152,0.013,6.79e-3,5.56e-3,0.018,0.141,7.65e-3,0.064,0.122,
+0.106,0.097,0.089,0.189,0.225,0.098,0.089,0.189,0.147,0.080,
+0.082,0.150,0.133,7.06e-3,0.069,0.133,0.186,0.114,0.135,0.382,
+0.340,0.163,0.099,0.202,0.176,0.104,0.082,0.124,0.119,8.52e-3,
+0.067,0.106,0.140,0.132,0.070,0.180,0.206,0.119,0.068,0.119,
+0.129,0.082,0.066,0.103,0.093,5.52e-3,0.071,0.098,0.082,0.079,
+0.059,0.120,0.147,0.108,0.068,0.136,7.48e-3,7.14e-3,4.87e-3,0.011,
+0.127,8.48e-3,0.074,0.147,0.098,0.107,0.086,0.178,0.212,0.104,
+0.076,0.167,0.158,0.112,0.086,0.167,0.128,8.11e-3,0.080,0.182,
+0.150,0.123,0.122,0.308,0.288,0.121,0.101,0.159,0.175,0.102,
+0.108,0.146,0.145,0.014,0.087,0.140,0.137,0.120,0.121,0.240,
+0.013,7.71e-3,5.47e-3,9.46e-3,8.67e-3,8.36e-3,6.62e-3,9.17e-3,7.14e-3,8.98e-4,
+6.79e-3,8.86e-3,9.32e-3,0.010,8.13e-3,0.014,0.170,0.118,0.088,0.151,
+9.88e-3,7.10e-3,5.85e-3,0.013,0.135,0.011,0.090,0.136,0.102,0.113,
+0.107,0.182,0.179,0.104,0.104,0.146,0.188,0.113,0.109,0.166,
+0.150,0.010,0.126,0.215,0.157,0.128,0.172,0.314,0.331,0.130,
+0.104,0.212,0.148,0.083,0.090,0.110,0.144,0.013,0.083,0.131,
+0.175,0.112,0.106,0.249,0.180,0.094,0.070,0.129,0.114,0.078,
+0.078,0.104,0.088,5.56e-3,0.083,0.118,0.098,0.090,0.095,0.160,
+0.207,0.156,0.128,0.223,0.012,9.76e-3,6.27e-3,0.017,0.181,0.011,
+0.129,0.224,0.157,0.156,0.156,0.265,0.305,0.139,0.130,0.275,
+0.209,0.145,0.122,0.215,0.239,0.013,0.188,0.333,0.317,0.231,
+0.290,0.568,1.550,0.489,0.367,0.932,0.358,0.177,0.165,0.296,
+0.295,0.022,0.115,0.215,0.523,0.367,0.191,0.501,0.299,0.136,
+0.092,0.181,0.149,0.072,0.060,0.100,0.124,6.35e-3,0.067,0.098,
+0.164,0.131,0.089,0.171,0.229,0.124,0.090,0.209,0.014,8.31e-3,
+6.31e-3,0.020,0.108,6.18e-3,0.052,0.103,0.110,0.104,0.084,0.199,
+0.365,0.147,0.126,0.312,0.195,0.109,0.097,0.207,0.149,9.07e-3,
+0.083,0.151,0.270,0.152,0.165,0.458,0.351,0.144,0.094,0.194,
+0.142,0.073,0.056,0.087,0.094,6.33e-3,0.037,0.072,0.143,0.091,
+0.060,0.145,0.154,0.075,0.047,0.087,0.086,0.047,0.035,0.054,
+0.069,3.41e-3,0.031,0.055,0.081,0.056,0.042,0.087,0.130,0.076,
+0.049,0.100,6.77e-3,4.26e-3,2.84e-3,6.71e-3,0.084,3.86e-3,0.031,0.064,
+0.084,0.069,0.063,0.106,0.147,0.072,0.047,0.105,0.096,0.062,
+0.041,0.080,0.080,4.39e-3,0.037,0.077,0.115,0.074,0.075,0.196,
+0.278,0.102,0.091,0.195,0.149,0.064,0.062,0.120,0.115,9.94e-3,
+0.044,0.085,0.180,0.118,0.077,0.233,0.012,7.21e-3,5.20e-3,0.011,
+7.79e-3,4.74e-3,4.60e-3,8.31e-3,6.68e-3,5.43e-4,3.45e-3,7.12e-3,0.016,0.013,
+6.75e-3,0.018,0.122,0.066,0.067,0.104,7.71e-3,3.82e-3,3.36e-3,9.02e-3,
+0.071,3.89e-3,0.034,0.058,0.083,0.065,0.064,0.117,0.126,0.065,
+0.063,0.128,0.112,0.063,0.059,0.108,0.094,5.68e-3,0.051,0.108,
+0.147,0.091,0.106,0.242,0.392,0.146,0.130,0.324,0.151,0.073,
+0.084,0.131,0.152,0.011,0.072,0.125,0.288,0.159,0.121,0.327,
+0.186,0.090,0.079,0.146,0.099,0.056,0.056,0.083,0.098,5.83e-3,
+0.056,0.097,0.160,0.114,0.085,0.183,0.148,0.120,0.086,0.157,
+8.92e-3,6.12e-3,5.16e-3,0.011,0.090,5.08e-3,0.050,0.097,0.109,0.106,
+0.104,0.191,0.272,0.122,0.123,0.282,0.166,0.100,0.096,0.161,
+0.193,9.48e-3,0.115,0.211,0.372,0.220,0.268,0.684,0.393,0.164,
+0.119,0.285,0.157,0.083,0.060,0.109,0.110,8.59e-3,0.043,0.088,
+0.156,0.126,0.073,0.182,0.163,0.084,0.078,0.105,0.092,0.054,
+0.045,0.063,0.065,4.05e-3,0.037,0.058,0.072,0.061,0.048,0.093,
+0.108,0.065,0.047,0.094,5.49e-3,4.05e-3,2.80e-3,7.88e-3,0.057,2.95e-3,
+0.032,0.056,0.059,0.051,0.050,0.097,0.131,0.059,0.047,0.116,
+0.091,0.054,0.043,0.080,0.065,3.95e-3,0.035,0.063,0.095,0.061,
+0.070,0.183,0.228,0.104,0.053,0.115,0.107,0.071,0.037,0.058,
+0.061,4.05e-3,0.023,0.047,0.083,0.066,0.045,0.096,0.115,0.074,
+0.038,0.063,0.090,0.071,0.036,0.053,0.047,3.68e-3,0.022,0.039,
+0.053,0.063,0.034,0.062,0.084,0.060,0.031,0.067,4.49e-3,3.72e-3,
+1.82e-3,4.18e-3,0.059,4.07e-3,0.027,0.048,0.051,0.053,0.046,0.082,
+0.088,0.049,0.029,0.068,0.066,0.051,0.029,0.056,0.053,2.80e-3,
+0.026,0.048,0.070,0.055,0.056,0.139,0.193,0.071,0.059,0.124,
+0.087,0.048,0.043,0.069,0.066,5.31e-3,0.033,0.048,0.090,0.061,
+0.050,0.125,7.06e-3,3.74e-3,2.13e-3,5.95e-3,4.24e-3,3.76e-3,2.90e-3,4.35e-3,
+2.55e-3,3.76e-4,2.07e-3,2.63e-3,6.43e-3,5.06e-3,3.28e-3,6.66e-3,0.105,0.059,
+0.048,0.089,4.97e-3,2.84e-3,2.57e-3,6.33e-3,0.051,3.70e-3,0.025,0.044,
+0.061,0.051,0.049,0.093,0.093,0.050,0.040,0.083,0.083,0.045,
+0.044,0.074,0.066,4.30e-3,0.038,0.069,0.086,0.060,0.072,0.174,
+0.183,0.072,0.067,0.157,0.076,0.042,0.040,0.066,0.067,4.91e-3,
+0.038,0.057,0.107,0.074,0.059,0.145,0.108,0.058,0.047,0.083,
+0.062,0.048,0.037,0.057,0.049,2.74e-3,0.034,0.055,0.079,0.077,
+0.054,0.105,0.095,0.068,0.045,0.089,5.93e-3,3.20e-3,2.55e-3,4.85e-3,
+0.049,3.24e-3,0.033,0.055,0.058,0.054,0.077,0.117,0.122,0.057,
+0.060,0.115,0.091,0.052,0.047,0.089,0.085,4.28e-3,0.058,0.104,
+0.146,0.123,0.130,0.336,0.314,0.142,0.096,0.203,0.104,0.063,
+0.045,0.090,0.120,7.81e-3,0.053,0.084,0.133,0.085,0.054,0.122,
+0.159,0.088,0.055,0.097,0.079,0.049,0.041,0.057,0.074,4.80e-3,
+0.044,0.068,0.080,0.077,0.046,0.116,0.102,0.081,0.050,0.101,
+7.42e-3,6.06e-3,3.99e-3,0.010,0.056,4.05e-3,0.029,0.058,0.056,0.067,
+0.046,0.100,0.129,0.064,0.050,0.117,0.086,0.058,0.049,0.089,
+0.085,5.41e-3,0.041,0.087,0.120,0.078,0.088,0.238,0.011,6.66e-3,
+3.78e-3,6.50e-3,5.33e-3,3.70e-3,2.17e-3,4.18e-3,3.97e-3,2.72e-4,1.82e-3,3.99e-3,
+5.33e-3,4.30e-3,2.49e-3,7.58e-3,5.91e-3,4.26e-3,2.03e-3,3.28e-3,4.47e-3,3.55e-3,
+1.92e-3,2.82e-3,3.24e-3,2.51e-4,1.80e-3,3.45e-3,3.97e-3,4.37e-3,2.47e-3,6.00e-3,
+3.82e-3,3.70e-3,2.26e-3,3.68e-3,1.67e-4,3.13e-4,8.36e-5,3.55e-4,3.13e-3,1.67e-4,
+1.55e-3,3.05e-3,3.11e-3,3.49e-3,2.63e-3,5.31e-3,7.90e-3,4.16e-3,2.95e-3,7.08e-3,
+6.56e-3,5.35e-3,2.72e-3,6.62e-3,4.72e-3,3.97e-4,2.21e-3,6.43e-3,6.87e-3,5.95e-3,
+4.76e-3,0.014,0.163,0.074,0.049,0.081,0.082,0.055,0.039,0.067,
+0.066,6.87e-3,0.037,0.063,0.075,0.064,0.054,0.129,6.50e-3,3.89e-3,
+2.34e-3,4.20e-3,4.16e-3,3.11e-3,2.13e-3,3.49e-3,3.45e-3,3.13e-4,2.19e-3,3.68e-3,
+6.10e-3,5.39e-3,3.34e-3,7.21e-3,0.085,0.067,0.047,0.081,4.35e-3,3.95e-3,
+3.57e-3,5.54e-3,0.072,4.60e-3,0.043,0.060,0.051,0.052,0.050,0.084,
+0.088,0.053,0.043,0.075,0.073,0.058,0.040,0.066,0.084,5.74e-3,
+0.056,0.089,0.088,0.064,0.085,0.162,0.176,0.075,0.052,0.114,
+0.075,0.047,0.037,0.065,0.082,5.45e-3,0.046,0.079,0.098,0.067,
+0.049,0.131,0.113,0.063,0.044,0.077,0.069,0.046,0.034,0.048,
+0.059,3.41e-3,0.042,0.064,0.082,0.069,0.052,0.108,0.105,0.068,
+0.049,0.105,4.83e-3,3.63e-3,2.86e-3,6.18e-3,0.074,3.99e-3,0.051,0.080,
+0.079,0.076,0.070,0.123,0.134,0.060,0.054,0.107,0.070,0.051,
+0.039,0.067,0.113,6.20e-3,0.078,0.127,0.141,0.095,0.126,0.250,
+0.639,0.177,0.111,0.286,0.108,0.055,0.046,0.101,0.094,7.21e-3,
+0.043,0.075,0.147,0.103,0.058,0.174,0.118,0.051,0.030,0.060,
+0.051,0.029,0.020,0.037,0.044,2.55e-3,0.025,0.047,0.051,0.039,
+0.027,0.070,0.088,0.051,0.036,0.083,4.24e-3,2.99e-3,2.05e-3,7.69e-3,
+0.051,3.20e-3,0.023,0.048,0.050,0.047,0.035,0.091,0.138,0.058,
+0.053,0.125,0.069,0.041,0.035,0.079,0.063,3.41e-3,0.033,0.072,
+0.118,0.070,0.079,0.234,0.134,0.060,0.037,0.067,0.054,0.033,
+0.021,0.037,0.039,2.59e-3,0.016,0.033,0.046,0.036,0.020,0.056,
+0.061,0.031,0.016,0.032,0.027,0.027,0.011,0.020,0.029,1.38e-3,
+0.015,0.026,0.033,0.028,0.016,0.044,0.045,0.028,0.020,0.040,
+2.09e-3,1.36e-3,6.27e-4,2.38e-3,0.041,1.88e-3,0.016,0.031,0.032,0.029,
+0.022,0.053,0.058,0.029,0.020,0.051,0.040,0.026,0.018,0.043,
+0.038,1.92e-3,0.019,0.042,0.053,0.039,0.035,0.119,0.108,0.040,
+0.037,0.057,0.050,0.025,0.023,0.044,0.043,2.82e-3,0.020,0.037,
+0.049,0.036,0.031,0.080,3.53e-3,1.73e-3,1.02e-3,2.13e-3,1.38e-3,1.36e-3,
+1.11e-3,2.03e-3,1.21e-3,8.36e-5,7.31e-4,1.42e-3,2.84e-3,2.44e-3,2.26e-3,4.35e-3,
+0.050,0.032,0.023,0.044,1.78e-3,1.19e-3,1.15e-3,2.82e-3,0.033,1.92e-3,
+0.027,0.033,0.034,0.031,0.032,0.059,0.061,0.034,0.027,0.050,
+0.038,0.025,0.021,0.042,0.041,2.03e-3,0.029,0.053,0.051,0.034,
+0.047,0.100,0.216,0.045,0.033,0.073,0.029,0.014,0.013,0.024,
+0.030,1.80e-3,0.016,0.028,0.042,0.025,0.021,0.066,0.033,0.018,
+9.92e-3,0.015,0.014,7.04e-3,8.63e-3,0.016,0.014,7.10e-4,0.011,0.017,
+0.021,0.014,0.014,0.035,0.030,0.017,0.017,0.026,6.48e-4,7.73e-4,
+5.85e-4,1.23e-3,0.020,1.00e-3,0.015,0.025,0.022,0.017,0.021,0.040,
+0.060,0.010,0.011,0.018,0.010,7.17e-3,6.54e-3,0.013,0.014,5.85e-4,
+0.014,0.021,0.023,8.90e-3,0.014,0.016
+};
+
+static double hg19_biasTable25_4_large[] = {
+325.0,55.2,24.9,50.8,42.4,15.2,10.9,19.2,22.1,1.560,
+10.9,12.7,29.7,19.3,20.6,34.0,42.0,13.3,8.500,12.1,
+13.1,5.310,5.170,6.000,10.4,0.673,5.030,5.990,11.6,7.460,
+6.580,11.1,23.8,9.570,7.880,9.020,1.310,0.781,0.573,1.110,
+6.820,0.576,6.300,6.210,8.290,6.820,4.700,7.980,35.2,12.2,
+12.1,18.8,14.9,8.400,7.810,13.8,15.2,0.945,7.280,11.3,
+26.1,11.0,10.3,18.9,48.8,13.2,8.200,15.2,14.1,6.610,
+4.640,6.260,11.1,0.778,3.320,6.010,10.4,7.260,4.010,8.460,
+16.8,6.730,3.650,5.370,6.030,3.550,2.350,2.700,6.760,0.418,
+2.600,3.840,5.050,3.650,2.370,4.370,11.4,6.780,4.310,6.800,
+0.616,0.435,0.267,0.556,6.050,0.510,2.830,4.180,4.740,4.560,
+3.060,5.440,11.9,6.020,4.330,8.040,7.210,4.680,3.020,5.320,
+7.650,0.431,3.020,5.510,8.840,5.260,4.260,10.000,34.4,8.630,
+8.140,10.7,11.7,5.560,4.970,6.840,11.3,0.916,3.780,6.360,
+9.580,6.800,4.710,10.7,1.700,0.767,0.529,0.834,0.835,0.588,
+0.408,0.567,0.765,0.066,0.350,0.622,1.160,1.020,0.558,1.230,
+7.700,4.280,4.360,4.970,0.583,0.354,0.338,0.564,6.140,0.433,
+2.870,4.620,4.650,4.460,3.400,5.170,8.540,4.870,4.330,6.750,
+7.530,4.770,3.690,5.940,5.920,0.420,3.050,5.390,6.180,4.670,
+4.590,8.490,48.6,12.6,10.1,23.0,13.3,5.750,6.010,8.200,
+18.6,1.360,5.270,9.450,20.6,11.0,7.950,22.1,18.1,8.920,
+6.160,9.420,8.990,5.550,4.640,5.930,9.750,0.519,4.510,7.660,
+12.5,8.900,6.590,13.7,13.8,9.230,7.230,9.620,0.845,0.517,
+0.451,0.784,7.320,0.462,4.160,6.630,7.860,7.230,5.860,9.160,
+24.0,15.4,8.570,17.8,9.090,5.580,4.740,8.870,10.6,0.629,
+5.570,9.810,14.6,7.700,7.850,18.4,51.5,18.8,10.8,19.0,
+13.6,6.870,5.010,7.010,9.640,0.841,3.290,5.790,11.6,9.570,
+4.950,9.590,14.7,8.990,4.590,6.260,6.810,3.960,3.460,4.010,
+5.240,0.426,2.940,3.910,4.820,3.970,2.690,4.830,10.3,6.490,
+4.840,7.260,0.671,0.513,0.355,0.668,4.000,0.339,2.190,3.090,
+4.230,4.620,2.750,5.040,10.7,4.210,4.670,7.330,6.940,4.340,
+3.720,5.420,4.960,0.347,2.250,3.820,6.560,4.000,3.680,8.180,
+19.2,9.390,4.740,8.050,7.770,4.960,2.890,3.540,5.280,0.443,
+1.750,3.140,4.780,4.220,2.300,4.560,8.370,4.750,2.420,3.210,
+4.100,2.700,1.910,2.030,3.430,0.276,1.650,2.460,2.460,2.320,
+1.560,2.390,7.200,5.520,2.910,4.700,0.397,0.417,0.206,0.313,
+3.720,0.442,1.690,2.660,2.810,3.590,1.980,3.730,5.480,3.110,
+2.180,3.760,3.970,3.060,1.820,2.500,3.300,0.233,1.290,2.460,
+3.510,2.540,1.710,4.590,13.5,6.550,4.220,7.030,7.550,4.690,
+4.210,4.750,5.970,0.546,2.360,3.980,5.270,4.390,3.380,6.880,
+0.679,0.489,0.266,0.434,0.371,0.427,0.263,0.289,0.347,0.057,
+0.216,0.328,0.446,0.460,0.273,0.565,5.700,4.630,3.420,4.430,
+0.389,0.392,0.306,0.392,3.600,0.329,2.010,2.950,2.860,3.380,
+2.680,4.070,4.800,2.700,2.540,3.940,4.760,3.520,2.700,3.780,
+3.540,0.266,2.300,3.540,3.680,2.710,3.470,6.100,13.4,4.860,
+4.000,7.750,6.290,3.180,2.810,3.540,5.530,0.391,1.970,3.580,
+6.650,4.120,3.070,7.380,7.750,4.440,3.180,4.700,4.230,3.450,
+2.480,3.110,3.250,0.236,2.040,3.750,3.790,3.910,2.710,5.280,
+6.580,4.620,3.750,5.390,0.369,0.289,0.204,0.370,3.450,0.253,
+1.980,3.220,3.510,3.770,3.030,4.910,8.900,3.970,3.650,6.450,
+5.170,3.330,2.490,4.140,4.640,0.304,2.530,4.720,7.230,5.340,
+4.780,9.610,42.2,11.2,12.6,14.2,8.430,4.850,4.240,5.740,
+10.4,0.755,3.980,5.930,9.740,7.270,4.800,9.670,13.7,6.830,
+5.610,6.550,5.910,3.380,3.480,3.670,6.780,0.484,3.420,4.470,
+6.130,5.220,3.220,5.750,10.1,6.940,5.810,7.350,0.778,0.606,
+0.450,0.899,4.680,0.447,2.270,3.560,4.370,5.750,3.210,6.130,
+9.870,4.690,5.000,8.320,6.440,4.410,3.710,5.850,6.070,0.475,
+3.050,5.410,8.310,5.210,5.550,14.2,1.870,0.920,0.619,0.914,
+0.788,0.633,0.366,0.497,0.675,0.080,0.292,0.470,0.647,0.684,
+0.377,0.751,0.996,0.655,0.522,0.463,0.620,0.522,0.360,0.335,
+0.559,0.077,0.325,0.373,0.480,0.520,0.276,0.468,0.695,0.614,
+0.403,0.525,0.059,0.066,0.047,0.067,0.487,0.075,0.268,0.374,
+0.419,0.616,0.338,0.591,1.100,0.628,0.500,1.070,0.928,0.855,
+0.511,0.917,0.715,0.070,0.405,0.679,0.929,0.661,0.645,1.490,
+11.1,4.840,3.580,4.260,5.320,3.410,3.020,3.350,6.890,0.677,
+2.850,3.940,4.570,3.880,3.350,4.920,0.718,0.519,0.261,0.337,
+0.376,0.288,0.258,0.249,0.505,0.068,0.265,0.323,0.552,0.520,
+0.335,0.451,5.550,4.310,3.400,3.530,0.420,0.322,0.244,0.393,
+4.690,0.544,1.390,2.130,3.110,3.660,2.610,3.300,4.720,3.100,
+2.540,3.460,4.150,3.190,2.530,3.530,4.240,0.376,2.350,3.600,
+3.560,3.150,3.160,5.150,10.5,4.440,3.280,5.560,5.330,2.540,
+2.440,2.850,5.980,0.438,2.530,3.840,6.690,4.050,3.050,6.750,
+9.240,5.960,3.400,4.690,5.590,3.380,2.900,3.010,4.840,0.331,
+2.800,4.370,5.300,4.350,3.490,5.430,6.000,4.750,3.410,4.780,
+0.429,0.353,0.226,0.385,4.260,0.517,2.230,3.380,3.820,4.360,
+3.350,5.320,6.850,3.850,3.580,4.690,4.540,3.340,2.630,3.890,
+5.570,0.412,3.520,5.130,6.950,4.810,5.060,9.530,53.1,15.5,
+12.0,29.1,11.8,5.980,5.760,8.840,11.5,0.891,4.710,9.160,
+20.8,11.3,7.940,20.2,14.3,6.450,4.780,7.470,5.690,3.060,
+3.230,3.870,6.420,0.409,3.630,5.470,6.880,4.590,3.490,7.380,
+16.8,8.480,5.990,11.6,1.080,0.676,0.488,1.350,6.230,0.494,
+2.640,5.420,6.810,6.320,3.940,9.250,18.1,7.510,8.100,21.8,
+9.550,5.780,5.530,11.2,9.110,0.593,4.870,9.780,15.7,8.770,
+9.580,29.8,20.9,9.860,6.350,11.5,9.820,6.470,4.200,6.090,
+7.990,0.578,3.390,5.820,8.420,6.660,4.110,8.440,11.4,6.130,
+4.290,5.630,6.430,4.650,3.470,3.570,6.360,0.509,3.160,4.620,
+5.570,4.620,2.630,5.290,9.580,6.510,4.020,7.460,0.462,0.410,
+0.240,0.550,5.800,0.439,2.820,4.930,5.750,6.090,4.010,7.480,
+12.1,6.030,5.210,11.6,8.250,6.870,4.210,8.360,8.020,0.457,
+4.280,7.470,10.4,6.450,6.770,15.1,12.2,6.490,5.390,8.870,
+7.760,4.420,4.420,6.460,7.610,0.673,3.650,5.950,7.040,5.460,
+4.380,8.470,0.784,0.562,0.390,0.607,0.451,0.372,0.311,0.392,
+0.475,0.053,0.321,0.559,0.639,0.565,0.357,0.661,6.740,4.940,
+3.460,5.230,0.408,0.258,0.227,0.456,4.920,0.365,2.330,3.690,
+4.580,4.320,3.540,5.430,6.810,4.200,3.700,6.080,6.490,4.000,
+3.560,6.140,6.460,0.397,3.610,6.030,6.210,4.440,4.860,8.900,
+25.2,8.520,7.910,13.4,8.440,4.680,11.4,6.450,9.060,0.643,
+4.430,6.990,13.8,7.800,6.980,16.9,9.070,5.340,3.830,5.980,
+5.110,3.250,3.090,3.650,4.930,0.284,3.040,5.140,6.830,5.070,
+3.890,7.900,10.1,7.020,5.260,8.370,0.527,0.354,0.328,0.562,
+6.540,0.400,3.290,5.720,7.630,6.740,5.160,8.510,16.7,6.540,
+5.880,11.9,7.580,5.080,4.450,7.170,9.310,0.421,5.550,8.920,
+16.4,8.060,8.510,18.1,46.1,21.1,13.2,22.5,22.6,9.170,
+6.260,7.710,12.3,1.160,4.990,8.000,16.0,11.7,7.120,12.1,
+14.6,7.920,5.400,6.160,7.950,4.520,3.650,3.650,6.080,0.443,
+3.970,4.350,5.260,4.490,3.670,5.700,8.840,5.800,4.120,6.180,
+0.748,0.464,0.367,0.713,4.140,0.350,2.050,2.780,4.490,4.480,
+3.370,5.330,11.2,4.770,4.150,8.230,8.820,4.670,3.680,6.070,
+5.400,0.428,2.750,4.400,7.160,4.580,4.870,8.820,17.8,8.770,
+4.490,7.440,12.0,5.130,2.970,3.650,6.190,0.584,2.420,3.940,
+5.480,5.110,2.680,5.450,8.680,5.270,2.520,3.460,5.000,2.690,
+2.010,2.310,4.230,0.380,2.450,3.270,3.160,3.010,1.910,3.830,
+5.030,4.150,2.410,3.600,0.510,0.284,0.214,0.341,3.340,0.352,
+2.120,2.780,2.930,3.570,2.670,3.940,4.780,2.800,1.830,3.370,
+4.030,2.620,1.570,2.760,3.130,0.240,1.640,2.630,3.530,2.950,
+2.650,5.150,11.5,5.050,3.350,5.280,7.440,4.280,3.210,4.210,
+6.720,0.693,2.310,3.710,5.670,4.650,3.060,6.500,0.697,0.515,
+0.351,0.457,0.560,0.542,0.334,0.390,0.447,0.065,0.282,0.395,
+0.531,0.632,0.343,0.648,3.800,2.760,2.250,2.860,0.328,0.231,
+0.184,0.329,2.720,0.288,1.610,2.440,2.440,2.740,1.950,2.950,
+3.730,2.130,1.940,3.130,4.560,2.910,2.100,3.290,3.250,0.310,
+2.060,2.820,3.810,3.360,3.160,5.120,11.4,4.500,3.470,7.000,
+4.240,2.410,1.990,2.880,5.520,0.563,2.110,3.770,5.800,3.870,
+2.860,7.120,7.660,4.800,3.230,4.540,4.530,3.330,2.650,3.030,
+3.660,0.292,2.470,3.930,3.980,3.750,2.890,5.240,4.290,3.410,
+2.550,3.490,0.317,0.216,0.209,0.307,2.410,0.205,1.560,2.250,
+2.740,3.030,2.530,3.420,6.170,3.160,2.460,5.140,3.270,2.290,
+1.900,2.960,3.810,0.276,2.420,3.890,5.910,4.360,4.690,8.900,
+19.2,10.4,6.400,11.1,10.2,6.790,4.040,4.890,5.650,0.618,
+2.240,3.700,6.460,5.940,3.160,5.860,8.760,5.960,3.410,4.410,
+5.480,3.760,2.890,2.820,3.430,0.361,2.120,2.850,2.560,2.660,
+2.030,3.220,4.460,3.980,2.870,4.440,0.364,0.344,0.257,0.452,
+2.150,0.233,1.360,1.890,2.170,2.550,2.000,3.450,4.680,2.340,
+2.240,4.190,4.000,2.960,2.100,3.030,2.790,0.250,1.530,2.330,
+3.500,2.310,2.540,5.180,9.500,6.230,3.120,4.600,5.790,4.210,
+2.140,2.530,3.330,0.348,1.480,2.330,2.870,3.010,1.630,2.940,
+5.450,3.650,1.770,2.310,3.030,1.270,1.510,1.520,2.500,0.332,
+1.650,2.220,1.550,2.000,1.400,1.920,3.240,3.350,1.810,2.800,
+0.279,0.320,0.176,0.258,2.330,0.327,1.320,1.870,1.720,2.660,
+1.780,2.750,2.560,1.780,1.250,2.110,2.420,2.240,1.130,1.710,
+1.980,0.189,1.070,1.870,1.990,1.660,1.330,2.830,7.560,4.280,
+2.540,3.870,5.960,4.360,3.140,3.480,3.820,0.496,1.690,2.590,
+3.360,3.130,2.390,4.340,0.388,0.412,0.207,0.300,0.360,0.515,
+0.338,0.277,0.247,0.087,0.245,0.270,0.233,0.411,0.211,0.319,
+3.140,3.230,2.210,2.750,0.365,0.443,0.242,0.326,2.150,0.291,
+1.680,2.370,1.680,2.530,1.980,2.880,2.630,1.500,1.540,2.210,
+3.550,3.000,2.150,2.750,2.400,0.234,1.580,2.450,2.480,2.120,
+2.420,4.310,5.850,2.870,2.090,3.470,3.370,2.040,1.450,1.890,
+2.680,0.222,1.090,1.760,2.940,2.090,1.560,3.460,4.230,2.910,
+2.080,2.730,2.850,2.640,1.830,2.100,1.790,0.195,1.460,2.170,
+1.700,2.120,1.510,2.580,2.870,2.630,2.140,2.620,0.209,0.228,
+0.140,0.205,1.470,0.147,1.140,1.590,1.730,2.040,1.720,2.640,
+3.710,1.790,1.490,2.660,2.240,1.890,1.320,1.850,1.990,0.150,
+1.170,2.120,3.380,2.640,2.490,5.030,12.7,6.890,5.100,8.070,
+6.280,3.920,3.260,4.360,4.840,0.485,2.260,3.430,5.100,4.570,
+3.240,5.810,7.700,5.590,2.960,4.400,4.860,3.620,2.830,3.060,
+4.800,0.496,3.310,3.750,3.390,3.960,2.400,4.320,4.550,4.660,
+2.620,4.040,0.403,0.400,0.276,0.580,2.800,0.335,1.500,2.410,
+2.400,3.650,2.170,4.420,4.520,2.620,2.170,4.320,3.580,2.700,
+2.150,3.450,3.450,0.325,2.140,3.410,4.040,2.930,3.800,7.970,
+0.674,0.474,0.241,0.404,0.713,0.439,0.264,0.319,0.319,0.050,
+0.174,0.260,0.308,0.365,0.262,0.428,0.419,0.383,0.172,0.221,
+0.450,0.488,0.275,0.287,0.327,0.086,0.272,0.290,0.216,0.298,
+0.179,0.279,0.261,0.369,0.171,0.258,0.041,0.074,0.052,0.048,
+0.273,0.076,0.209,0.261,0.228,0.478,0.308,0.375,0.371,0.255,
+0.177,0.392,0.375,0.400,0.241,0.390,0.291,0.043,0.223,0.338,
+0.322,0.311,0.376,0.599,6.170,4.000,2.320,3.210,4.580,3.910,
+2.890,3.160,4.620,0.621,2.260,3.060,2.990,3.170,2.570,4.150,
+0.376,0.459,0.211,0.237,0.306,0.486,0.276,0.232,0.325,0.116,
+0.269,0.295,0.282,0.401,0.262,0.332,2.760,3.730,1.980,2.530,
+0.272,0.338,0.219,0.341,2.700,0.409,1.360,2.110,1.790,2.940,
+2.100,2.860,2.740,1.880,1.550,2.220,2.980,3.110,2.070,2.780,
+3.050,0.362,2.300,2.870,2.340,2.500,3.010,4.300,5.000,2.660,
+1.810,3.100,2.890,1.650,1.330,1.750,3.130,0.274,1.430,2.380,
+3.110,2.340,1.820,3.920,5.150,3.900,2.080,2.830,4.080,3.090,
+1.990,2.290,3.220,0.308,2.310,3.320,2.860,3.080,2.330,3.800,
+2.910,3.110,1.860,2.690,0.220,0.238,0.164,0.241,2.430,0.285,
+1.860,2.410,2.170,3.140,2.350,3.570,3.260,2.010,1.640,3.120,
+2.350,1.940,1.500,2.130,3.340,0.278,2.790,3.720,3.880,3.400,
+3.750,5.970,13.4,5.100,4.010,8.040,4.550,2.620,2.210,3.590,
+4.270,0.358,1.810,3.600,5.720,3.850,2.610,6.580,6.760,3.270,
+2.210,3.780,3.010,1.930,1.670,2.280,2.770,0.191,1.840,2.690,
+2.740,1.960,1.540,3.360,4.600,3.320,2.120,3.780,0.281,0.234,
+0.162,0.410,2.260,0.196,1.110,2.100,2.440,2.700,1.630,3.780,
+6.710,2.700,2.680,5.710,3.270,2.110,1.820,3.800,3.050,0.217,
+1.680,3.390,4.740,2.930,3.140,8.600,8.650,4.650,2.700,4.700,
+5.270,3.400,2.180,3.050,3.940,0.365,1.860,3.250,3.690,3.460,
+2.200,4.450,4.890,3.120,1.700,2.610,3.510,2.800,2.080,2.270,
+3.050,0.260,1.820,2.860,2.600,2.360,1.540,3.110,2.880,2.780,
+1.560,2.540,0.216,0.262,0.138,0.269,2.580,0.372,1.450,2.530,
+3.130,6.020,2.280,4.270,3.390,2.050,1.770,3.310,3.140,2.820,
+1.760,3.670,2.870,0.223,1.820,3.050,3.390,3.180,2.970,5.800,
+6.490,3.690,2.630,3.790,4.260,3.110,2.450,3.330,4.820,0.507,
+2.320,3.590,3.650,3.210,2.840,5.160,0.362,0.292,0.175,0.289,
+0.221,0.281,0.212,0.216,0.227,0.035,0.172,0.277,0.270,0.309,
+0.214,0.361,3.080,2.820,1.760,2.690,0.208,0.201,0.145,0.282,
+2.430,0.260,1.530,2.380,2.250,2.780,2.100,3.350,3.120,2.000,
+1.800,2.890,3.280,2.420,1.930,3.360,3.440,0.314,2.410,3.290,
+3.300,2.600,3.160,5.050,9.040,3.570,2.910,5.050,3.320,2.050,
+2.240,2.420,4.050,0.355,1.870,3.250,4.620,2.990,2.560,6.160,
+5.440,2.890,1.850,3.110,3.240,2.180,1.690,2.190,2.830,0.173,
+1.610,2.700,3.110,2.490,2.010,4.060,4.070,3.220,2.240,3.740,
+0.261,0.196,0.144,0.283,2.930,0.211,1.880,2.780,3.370,3.750,
+2.840,4.520,6.650,3.120,2.850,6.160,4.380,3.150,2.650,3.970,
+4.920,0.294,3.350,5.290,7.740,4.660,5.190,8.160,35.5,10.1,
+17.6,15.6,8.980,5.000,4.970,5.640,20.9,1.000,4.490,5.770,
+11.9,8.600,5.090,9.230,7.880,4.110,3.270,4.460,4.420,2.350,
+2.460,2.920,4.840,0.319,2.340,2.880,3.930,3.060,2.580,4.250,
+9.260,5.330,3.460,4.840,0.553,0.371,0.313,0.608,4.060,0.333,
+2.750,3.120,3.490,3.600,3.180,4.710,8.590,3.990,3.550,6.460,
+5.700,3.490,3.150,4.860,4.170,0.321,2.870,3.910,5.870,3.500,
+4.230,8.320,14.6,6.530,4.790,7.360,6.630,4.030,3.210,3.700,
+5.950,0.516,2.380,4.230,4.690,4.430,2.480,5.040,6.490,3.610,
+2.130,3.290,3.620,1.520,1.910,2.450,3.970,0.301,1.980,2.810,
+2.760,2.490,1.540,2.800,5.500,4.320,2.720,4.600,0.397,0.286,
+0.254,0.450,3.600,0.363,2.160,3.210,2.680,3.390,2.480,3.700,
+4.950,2.710,2.060,4.260,4.090,2.830,2.340,3.620,3.000,0.239,
+1.790,3.030,3.120,2.650,2.610,5.470,10.6,4.040,3.420,5.260,
+6.720,3.940,3.630,4.250,9.290,0.798,2.510,3.790,5.700,4.440,
+3.240,6.530,0.768,0.488,0.315,0.496,0.574,0.439,0.398,0.465,
+0.603,0.076,0.296,0.426,0.685,0.771,0.423,0.749,3.860,2.860,
+2.660,3.240,0.376,0.256,0.359,0.485,2.690,0.287,1.430,2.100,
+2.390,2.850,2.300,2.890,3.930,2.210,2.020,3.240,5.060,3.360,
+3.190,4.410,3.420,0.310,2.000,3.100,3.970,3.270,3.380,5.790,
+10.4,3.850,3.160,6.230,4.170,2.460,2.190,3.110,6.310,0.642,
+2.230,3.630,6.740,4.460,3.030,7.430,6.520,3.480,2.620,3.850,
+4.090,2.550,2.530,2.950,4.130,0.302,2.140,3.320,4.660,3.050,
+2.630,5.110,4.550,3.720,3.280,4.410,0.379,0.257,0.281,0.483,
+3.290,0.268,2.060,3.140,3.420,3.820,3.140,4.830,7.240,3.550,
+3.090,6.280,4.120,2.600,2.650,4.120,5.980,0.399,3.330,5.410,
+10.4,6.520,6.790,14.9,1.520,0.759,0.712,0.850,0.755,0.539,
+0.398,0.531,0.738,0.084,0.244,0.406,0.666,0.687,0.363,0.596,
+0.708,0.476,0.337,0.463,0.523,0.360,0.374,0.410,0.366,0.047,
+0.241,0.296,0.306,0.324,0.249,0.404,0.513,0.422,0.281,0.408,
+0.066,0.051,0.043,0.066,0.309,0.034,0.210,0.262,0.247,0.332,
+0.251,0.424,0.546,0.287,0.274,0.470,0.527,0.387,0.342,0.480,
+0.394,0.041,0.325,0.372,0.453,0.324,0.456,0.689,0.968,0.604,
+0.344,0.599,0.593,0.557,0.319,0.462,0.418,0.061,0.196,0.455,
+0.327,0.362,0.210,0.375,0.660,0.488,0.247,0.380,0.503,0.307,
+0.317,0.434,0.388,0.056,0.224,0.315,0.232,0.272,0.196,0.291,
+0.423,0.435,0.282,0.377,0.052,0.060,0.064,0.056,0.368,0.073,
+0.239,0.286,0.207,0.330,0.248,0.336,0.395,0.256,0.198,0.368,
+0.411,0.356,0.307,0.354,0.279,0.032,0.179,0.286,0.276,0.243,
+0.236,0.471,0.746,0.368,0.264,0.373,0.569,0.447,0.403,0.389,
+0.530,0.077,0.272,0.277,0.346,0.369,0.284,0.447,0.054,0.057,
+0.033,0.043,0.060,0.070,0.070,0.058,0.055,0.028,0.054,0.049,
+0.046,0.070,0.045,0.054,0.369,0.366,0.316,0.383,0.054,0.072,
+0.074,0.088,0.332,0.062,0.223,0.271,0.229,0.398,0.295,0.344,
+0.385,0.217,0.222,0.336,0.521,0.462,0.411,0.492,0.353,0.046,
+0.275,0.338,0.346,0.353,0.365,0.592,0.990,0.606,0.405,0.699,
+0.514,0.362,0.296,0.398,0.560,0.065,0.244,0.378,0.649,0.563,
+0.419,0.910,0.894,0.579,0.414,0.603,0.676,0.557,0.517,0.605,
+0.569,0.061,0.338,0.514,0.614,0.724,0.450,0.782,0.517,0.475,
+0.390,0.525,0.049,0.051,0.039,0.070,0.435,0.048,0.320,0.410,
+0.399,0.497,0.431,0.622,0.819,0.441,0.358,0.675,0.521,0.401,
+0.338,0.470,0.633,0.056,0.422,0.640,0.948,0.750,0.748,1.450,
+9.880,4.660,4.640,5.730,4.400,3.170,2.240,2.810,3.940,0.371,
+2.250,2.570,3.390,2.850,1.960,3.240,5.370,3.270,2.310,2.730,
+3.630,2.170,2.110,2.100,3.070,0.309,2.450,2.440,2.370,2.470,
+1.790,2.610,5.220,4.560,2.780,3.890,0.496,0.425,0.310,0.602,
+3.350,0.372,1.910,2.400,2.200,3.560,1.920,3.160,4.010,2.400,
+1.950,5.500,3.190,2.400,1.940,3.000,3.540,0.301,2.150,2.930,
+3.030,2.260,2.700,5.040,0.623,0.449,0.264,0.445,0.466,0.619,
+0.237,0.305,0.285,0.042,0.158,0.221,0.228,0.260,0.153,0.288,
+0.390,0.271,0.167,0.190,0.324,0.229,0.198,0.208,0.258,0.046,
+0.202,0.206,0.185,0.178,0.141,0.197,0.371,0.377,0.209,0.318,
+0.045,0.062,0.050,0.067,0.269,0.056,0.242,0.262,0.173,0.286,
+0.210,0.290,0.463,0.263,0.194,0.542,0.405,0.399,0.246,0.428,
+0.338,0.036,0.207,0.347,0.278,0.226,0.252,0.468,5.730,2.990,
+2.180,2.330,3.900,3.450,2.700,2.550,3.880,0.477,1.910,2.400,
+2.300,2.230,2.090,2.760,0.363,0.339,0.189,0.217,0.287,0.374,
+0.256,0.230,0.268,0.064,0.220,0.218,0.227,0.304,0.292,0.259,
+3.500,2.790,2.320,3.430,0.322,0.288,0.311,1.070,2.090,0.303,
+0.725,1.170,1.320,2.000,1.490,1.940,2.620,1.570,1.440,2.040,
+2.780,2.390,2.080,3.380,2.560,0.260,1.820,2.160,1.860,1.800,
+2.130,2.810,4.660,2.350,1.760,2.690,2.910,1.950,1.210,1.500,
+2.680,0.283,1.380,2.000,2.360,2.010,1.370,2.770,4.180,2.670,
+1.850,2.090,3.060,2.450,2.020,1.720,3.190,0.276,1.940,2.350,
+2.550,2.510,1.840,2.660,3.350,3.330,2.170,3.040,0.282,0.287,
+0.207,0.443,2.570,0.332,1.820,2.220,2.110,2.920,2.250,3.480,
+3.060,1.810,1.640,2.420,2.570,2.040,1.610,2.260,3.090,0.250,
+2.350,2.640,3.270,2.760,3.000,4.450,10.000,4.290,3.550,5.820,
+4.030,2.500,1.960,2.660,3.760,0.325,1.500,2.340,4.820,2.990,
+1.980,4.320,5.890,2.460,1.940,2.680,2.540,1.340,1.350,1.770,
+2.100,0.143,1.500,1.910,2.160,1.510,1.220,2.370,4.670,3.520,
+1.990,3.390,0.316,0.248,0.185,0.416,2.770,0.226,1.390,2.280,
+2.500,2.580,1.870,3.350,6.030,2.870,2.630,4.800,3.440,2.300,
+2.050,3.150,3.280,0.274,1.780,2.880,4.350,2.650,3.270,6.970,
+9.190,5.440,3.090,5.360,5.320,6.780,2.370,3.430,3.920,0.320,
+1.850,2.830,3.510,3.090,1.860,3.870,5.980,3.290,2.180,3.300,
+3.350,2.360,1.880,2.620,2.930,0.206,1.820,2.680,2.350,1.920,
+1.410,2.560,3.950,3.610,2.130,3.470,0.280,0.275,0.184,0.342,
+3.060,0.285,1.970,3.010,2.570,3.470,2.580,4.100,4.790,2.630,
+2.200,3.890,3.920,3.130,2.100,3.470,3.670,0.260,2.040,3.420,
+3.430,2.680,2.940,5.460,5.830,3.290,2.630,3.400,4.230,3.070,
+2.570,3.440,3.600,0.399,1.920,3.310,3.150,2.950,2.490,4.530,
+0.405,0.317,0.209,0.296,0.292,0.322,0.259,0.314,0.221,0.036,
+0.204,0.265,0.289,0.386,0.216,0.341,3.370,3.290,2.220,3.690,
+0.302,0.326,0.350,0.845,2.790,0.461,1.690,2.400,2.660,5.350,
+2.320,3.400,3.460,2.270,2.060,2.880,3.690,2.970,2.700,4.170,
+3.500,0.273,2.510,3.430,3.560,3.080,3.640,5.040,7.150,2.970,
+2.580,4.340,3.130,1.870,1.990,2.390,3.960,0.433,1.790,3.020,
+3.110,2.330,1.860,4.620,4.840,2.770,1.890,2.810,3.170,2.170,
+1.930,2.240,2.610,0.181,1.890,2.770,2.890,2.340,1.920,3.440,
+4.340,4.070,2.560,4.130,0.308,0.281,0.228,0.448,3.520,0.297,
+2.560,3.620,3.620,4.270,3.230,4.670,6.420,3.120,2.800,5.780,
+3.880,2.990,2.610,4.040,4.770,0.302,3.540,5.650,6.990,4.460,
+5.080,9.200,41.1,15.4,13.4,33.1,12.3,6.700,6.400,9.220,
+13.3,1.060,5.150,8.870,34.9,15.6,8.160,18.0,11.2,5.240,
+4.460,6.750,5.430,2.690,3.020,3.740,6.290,0.355,3.550,4.000,
+6.920,4.630,3.280,6.300,9.070,5.610,4.240,7.700,0.690,0.384,
+0.356,0.833,5.030,0.357,2.560,3.850,5.940,5.090,3.710,7.660,
+19.7,6.770,6.570,12.8,8.940,4.830,4.800,8.120,7.380,0.508,
+3.900,6.960,12.7,7.210,7.300,19.2,15.0,5.910,4.110,7.810,
+6.230,3.060,2.430,3.350,5.170,0.394,2.010,3.510,5.770,4.300,
+2.460,5.610,6.510,2.990,1.920,3.280,3.140,1.400,1.400,2.010,
+3.500,0.191,1.650,2.350,3.160,2.210,1.500,2.870,5.420,3.430,
+2.570,4.470,0.331,0.198,0.172,0.342,4.100,0.375,1.660,2.710,
+3.740,3.720,2.340,3.960,5.970,2.800,2.440,4.710,3.680,2.200,
+2.120,3.200,3.440,0.213,1.690,3.120,4.230,3.250,2.860,6.960,
+17.8,4.810,3.920,7.380,7.660,3.660,3.370,5.800,7.630,0.685,
+2.170,4.010,9.920,6.020,3.570,9.720,1.070,0.444,0.341,0.629,
+0.577,0.344,0.344,0.534,0.563,0.047,0.251,0.432,1.160,0.869,
+0.424,1.020,4.790,3.060,3.220,4.710,0.389,0.214,0.257,0.489,
+3.190,0.279,1.340,2.280,4.140,3.470,2.330,4.090,5.510,3.080,
+2.990,5.260,5.100,3.080,3.040,5.030,4.040,0.313,2.140,3.630,
+6.160,4.540,4.100,8.470,19.0,6.230,5.070,11.6,6.480,3.240,
+3.040,5.040,9.540,0.701,3.300,5.840,20.2,8.920,5.750,16.7,
+9.280,4.490,3.710,5.660,4.830,2.830,2.850,3.810,5.870,0.327,
+2.900,4.580,9.400,6.210,4.010,8.400,7.010,4.840,4.400,5.970,
+0.476,0.281,0.290,0.486,5.460,0.324,2.850,4.410,6.300,6.120,
+4.550,8.110,13.9,6.390,5.600,11.6,7.070,4.200,4.080,6.590,
+9.420,0.576,4.930,8.760,20.1,14.2,11.4,29.0,19.9,9.270,
+6.690,13.7,9.300,5.250,4.040,5.860,7.350,0.642,2.600,4.950,
+9.620,8.520,4.030,8.790,9.870,5.130,3.690,6.970,5.950,3.110,
+3.210,4.050,4.400,0.327,2.440,3.570,4.190,3.630,2.590,5.570,
+6.680,5.240,3.350,5.650,0.524,0.346,0.256,0.525,3.960,0.325,
+2.040,3.160,3.710,4.020,2.780,5.600,7.590,3.740,3.600,6.050,
+5.730,3.630,3.220,4.690,4.480,0.338,2.580,4.000,5.730,3.670,
+3.860,8.690,13.0,6.150,3.400,7.660,6.490,3.670,2.510,3.550,
+4.400,0.349,1.740,3.760,4.570,3.730,2.210,4.810,6.700,4.060,
+2.150,4.070,4.750,2.200,2.020,2.580,3.880,0.265,1.650,2.580,
+2.740,2.410,1.640,2.880,5.100,4.380,2.590,4.270,0.369,0.311,
+0.235,0.334,4.050,0.366,1.760,2.650,3.010,3.400,2.230,4.220,
+4.800,3.060,2.390,4.070,3.880,2.830,2.710,2.930,2.950,0.193,
+1.520,2.560,3.620,2.570,2.280,5.000,11.6,4.290,3.050,5.590,
+6.470,3.480,3.090,4.330,5.120,0.533,1.920,2.990,5.570,4.350,
+2.970,6.740,0.470,0.307,0.195,0.358,0.339,0.279,0.240,0.319,
+0.278,0.043,0.166,0.254,0.471,0.440,0.240,0.468,4.710,3.870,
+3.210,4.430,0.359,0.293,0.248,0.410,3.860,0.334,1.870,2.700,
+3.370,3.780,2.740,4.530,5.300,2.700,2.880,4.540,5.210,3.980,
+3.220,4.370,4.580,0.331,2.410,3.590,5.080,3.760,3.920,7.850,
+12.8,5.190,3.740,7.810,5.010,2.880,2.590,3.850,5.800,0.440,
+2.390,3.960,8.410,5.260,3.830,10.1,7.660,4.370,3.400,5.630,
+4.650,3.440,3.400,4.530,4.310,0.323,2.380,3.940,5.730,5.290,
+3.470,6.910,5.970,4.770,3.980,5.740,0.359,0.268,0.214,0.386,
+5.080,0.325,2.750,3.970,4.830,4.730,3.830,6.650,9.520,4.580,
+4.010,7.150,5.480,3.860,3.040,4.080,6.670,0.418,3.560,6.720,
+10.3,7.430,6.660,13.6,10.4,5.720,4.240,7.800,5.610,3.790,
+2.490,3.740,5.320,0.421,2.230,3.800,6.890,4.890,3.020,5.820,
+7.570,4.490,2.690,4.300,4.280,2.570,2.100,2.700,3.980,0.336,
+2.710,3.260,4.610,3.930,2.450,4.510,5.460,4.520,3.050,5.110,
+0.460,0.371,0.296,0.634,3.450,0.327,2.090,3.290,3.110,4.070,
+2.500,5.080,5.660,3.190,2.960,5.610,4.060,2.870,2.510,4.290,
+4.060,0.320,2.400,4.300,4.950,3.580,4.020,8.640,0.658,0.439,
+0.256,0.535,0.491,0.428,0.245,0.341,0.382,0.041,0.187,0.291,
+0.406,0.389,0.238,0.464,0.443,0.296,0.166,0.283,0.321,0.272,
+0.191,0.246,0.299,0.030,0.223,0.270,0.300,0.267,0.172,0.292,
+0.328,0.319,0.212,0.326,0.029,0.035,0.048,0.043,0.339,0.043,
+0.211,0.310,0.259,0.361,0.244,0.533,0.490,0.294,0.228,0.534,
+0.395,0.363,0.280,0.463,0.341,0.032,0.213,0.354,0.390,0.326,
+0.337,0.679,7.060,3.560,2.540,3.520,4.270,3.290,2.780,3.200,
+4.080,0.477,1.900,2.730,3.470,3.190,2.590,4.310,0.400,0.292,
+0.153,0.236,0.231,0.227,0.163,0.177,0.237,0.037,0.173,0.195,
+0.342,0.353,0.215,0.314,3.670,3.890,2.480,3.300,0.268,0.274,
+0.201,0.394,2.770,0.294,1.300,1.980,2.050,2.850,2.030,3.120,
+3.970,2.560,2.100,2.960,3.490,3.150,2.480,3.440,3.550,0.286,
+2.320,3.130,3.160,2.800,3.080,5.060,6.760,3.380,2.410,4.280,
+3.690,2.430,1.730,2.370,3.670,0.330,2.050,3.160,4.430,3.140,
+2.370,5.270,6.540,3.630,2.490,3.750,3.680,2.740,2.260,2.330,
+3.690,0.268,2.400,3.370,4.280,3.860,2.790,4.800,4.760,4.510,
+3.000,5.190,0.302,0.287,0.198,0.372,3.780,0.282,2.430,3.190,
+3.580,4.220,3.490,5.150,5.470,3.040,2.800,4.170,3.650,2.870,
+2.270,3.140,4.820,0.325,3.340,3.950,5.640,5.060,4.710,7.610,
+25.2,7.570,6.360,13.7,7.270,3.910,3.130,5.310,6.940,0.507,
+3.560,5.810,9.890,6.320,4.240,11.0,8.650,3.780,2.760,4.750,
+3.850,2.110,2.360,3.080,4.280,0.454,7.870,6.670,4.380,3.030,
+2.670,5.130,6.700,4.790,3.090,6.540,0.415,0.339,0.250,0.645,
+4.140,0.321,3.070,4.130,4.300,3.950,3.070,6.630,11.1,5.150,
+5.070,11.4,5.860,3.510,3.340,6.690,5.600,0.374,3.880,7.180,
+9.610,5.770,6.360,18.9,9.150,4.580,2.920,5.790,4.950,3.520,
+1.990,3.120,4.180,0.261,1.770,2.920,4.560,3.220,2.210,4.980,
+5.680,2.950,1.830,3.160,2.990,2.030,1.520,2.200,3.040,0.174,
+2.010,2.660,3.080,2.150,1.470,2.990,4.070,2.980,1.960,3.970,
+0.212,0.182,0.139,0.285,3.270,0.260,1.900,3.040,3.290,3.550,
+2.380,5.010,5.510,2.950,2.680,5.790,4.090,2.970,2.290,4.340,
+3.780,0.223,2.300,3.870,4.750,3.380,3.570,8.130,9.960,4.890,
+4.140,5.600,6.130,3.850,3.310,5.210,5.690,0.513,2.650,4.290,
+6.270,4.490,3.540,7.180,0.491,0.359,0.221,0.355,0.308,0.253,
+0.196,0.287,0.261,0.027,0.229,0.287,0.490,0.394,0.226,0.463,
+5.300,4.500,3.100,4.720,0.294,0.255,0.192,0.427,3.860,0.321,
+2.040,3.350,4.110,4.520,3.240,5.490,6.580,4.190,3.640,5.300,
+5.750,4.160,3.520,5.700,5.430,0.347,3.360,5.290,5.890,4.110,
+4.910,8.360,19.3,6.020,4.970,9.190,5.860,3.360,3.190,4.500,
+6.390,0.406,3.210,5.290,9.530,5.410,4.620,12.9,8.320,4.560,
+3.000,5.010,5.110,3.850,2.620,3.480,4.780,0.269,2.740,4.280,
+5.680,4.390,3.200,7.080,7.990,6.130,4.080,6.870,0.345,0.277,
+0.182,0.412,5.780,0.343,3.930,5.630,6.530,6.400,5.130,8.560,
+17.5,6.750,5.680,12.6,7.060,4.820,4.050,7.400,8.210,0.425,
+5.350,9.770,13.7,7.240,7.230,17.2,38.0,17.1,10.2,18.5,
+19.0,8.410,6.280,7.580,14.3,1.360,5.450,8.470,17.7,13.4,
+7.140,11.8,23.2,9.210,4.620,6.340,9.100,5.100,3.660,3.870,
+7.040,0.574,3.370,4.420,5.680,5.130,3.320,5.210,10.1,7.270,
+4.560,6.650,0.834,0.649,0.456,0.851,5.260,0.498,2.640,3.490,
+5.170,6.530,3.670,5.390,14.9,6.620,5.870,9.810,9.200,6.040,
+4.940,7.510,6.970,0.577,3.410,5.530,8.950,5.860,5.160,8.770,
+17.2,7.220,3.190,5.960,8.120,5.190,3.130,3.590,6.670,0.609,
+2.020,3.220,5.200,4.130,1.960,3.480,9.640,4.700,2.110,3.010,
+4.850,3.050,2.060,2.060,4.570,0.432,2.070,2.880,2.980,3.140,
+1.630,2.300,5.330,4.820,2.320,3.400,0.416,0.384,0.234,0.335,
+4.700,0.461,2.000,2.690,2.760,3.890,2.280,3.090,4.780,2.960,
+1.830,3.160,4.130,3.070,1.820,2.650,4.100,0.334,1.850,2.920,
+3.710,2.980,2.510,4.620,9.240,4.140,2.560,4.120,5.760,3.190,
+2.980,3.220,4.840,0.580,1.810,3.240,4.120,3.870,2.480,5.140,
+0.738,0.482,0.233,0.369,0.418,0.339,0.274,0.278,0.384,0.065,
+0.235,0.363,0.467,0.628,0.296,0.549,3.400,2.900,2.140,2.330,
+0.313,0.235,0.206,0.288,2.490,0.276,1.270,1.880,1.880,2.460,
+1.600,2.200,3.670,2.310,1.870,2.720,3.970,2.770,2.180,3.040,
+3.570,0.344,1.830,3.200,3.190,3.090,2.780,4.450,11.6,4.360,
+3.010,6.320,4.350,2.360,2.240,2.870,4.850,0.415,1.710,3.040,
+6.180,4.320,2.910,6.960,8.660,5.060,2.930,4.120,4.400,2.940,
+2.600,2.670,4.000,0.321,2.240,3.220,4.240,4.320,2.760,4.890,
+4.520,3.520,2.850,3.380,0.345,0.273,0.462,0.350,2.930,0.258,
+1.690,2.620,2.710,3.390,2.460,3.480,6.200,3.420,2.770,5.330,
+3.580,2.640,2.370,3.260,4.830,0.376,2.710,4.550,5.860,4.820,
+4.460,8.240,16.4,10.2,5.120,8.740,8.210,5.740,3.660,4.140,
+5.110,0.547,2.020,3.400,5.600,5.270,2.910,5.020,10.000,9.460,
+3.320,4.160,5.450,3.910,2.680,2.650,3.420,0.421,1.880,2.680,
+2.730,3.120,1.850,2.950,4.940,5.150,2.730,3.510,0.468,0.566,
+0.299,0.439,2.610,0.306,1.700,2.030,2.310,3.420,1.970,3.100,
+4.860,2.810,2.230,3.590,4.590,3.930,2.380,3.100,2.840,0.358,
+1.800,2.490,3.730,2.820,2.520,5.130,9.390,7.040,2.540,3.870,
+5.510,5.030,2.330,2.350,3.340,0.424,1.360,2.040,2.600,2.990,
+1.600,2.630,5.390,4.710,1.720,2.070,3.170,1.760,1.700,1.470,
+2.650,0.376,1.480,1.920,1.720,2.280,1.290,1.690,3.620,4.490,
+1.860,2.420,0.370,0.529,0.255,0.276,2.960,0.505,1.600,2.100,
+1.760,3.710,1.700,2.550,2.990,2.310,1.170,1.940,3.290,3.160,
+1.360,1.720,2.410,0.270,1.280,1.690,2.220,2.150,1.450,3.430,
+5.790,3.600,1.790,2.720,4.250,3.260,2.440,2.420,2.970,0.412,
+1.350,2.020,2.130,2.710,1.820,2.920,0.689,0.587,0.179,0.236,
+0.267,0.336,0.226,0.191,0.231,0.076,0.197,0.248,0.211,0.382,
+0.199,0.273,2.860,3.080,1.970,2.170,0.290,0.350,0.248,0.264,
+2.280,0.364,1.380,2.000,1.450,2.680,1.660,2.100,2.780,1.680,
+1.400,2.180,3.130,3.130,2.070,2.640,2.680,0.297,1.790,2.740,
+2.070,2.250,2.310,3.470,4.800,2.610,1.640,2.760,2.840,1.810,
+1.290,1.610,2.240,0.210,0.872,1.440,2.480,2.030,1.340,2.810,
+4.390,3.440,1.760,2.240,2.580,2.410,1.580,1.790,1.740,0.189,
+1.170,1.740,1.740,2.440,1.390,2.580,2.850,2.600,1.810,2.180,
+0.207,0.225,0.156,0.198,1.950,0.216,1.230,1.820,1.640,2.330,
+1.690,2.320,3.580,1.910,1.570,2.530,2.610,2.260,1.450,2.160,
+3.000,0.355,1.800,2.970,3.530,3.540,2.790,5.090,9.200,5.870,
+3.440,6.030,4.380,3.480,2.220,2.640,3.480,0.411,1.710,2.530,
+3.810,3.810,2.040,3.990,7.170,5.520,3.240,3.720,4.210,3.200,
+2.510,2.370,3.910,0.457,2.190,2.700,2.920,3.810,2.070,3.120,
+4.470,4.670,2.810,4.030,0.454,0.486,0.316,0.540,2.680,0.337,
+1.270,1.850,2.080,3.380,1.720,2.830,4.340,2.670,2.830,3.510,
+3.650,3.000,2.060,2.580,3.010,0.299,1.670,2.660,3.710,2.840,
+2.880,6.680,0.612,0.534,0.214,0.375,0.462,0.484,0.260,0.268,
+0.389,0.086,0.197,0.275,0.288,0.433,0.194,0.322,0.550,0.629,
+0.216,0.291,0.453,0.531,0.301,0.278,0.413,0.090,0.299,0.305,
+0.263,0.454,0.213,0.270,0.321,0.425,0.205,0.273,0.048,0.086,
+0.053,0.045,0.344,0.087,0.227,0.244,0.220,0.482,0.232,0.291,
+0.429,0.302,0.217,0.355,0.539,0.528,0.354,0.403,0.360,0.056,
+0.233,0.325,0.388,0.330,0.330,0.613,3.630,2.490,1.640,1.880,
+2.620,2.120,3.380,1.840,2.790,0.466,1.560,1.680,1.670,2.230,
+1.780,2.200,0.303,0.335,0.145,0.166,0.204,0.242,0.211,0.123,
+0.252,0.057,0.155,0.176,0.208,0.382,0.212,0.229,2.300,2.730,
+1.490,1.610,0.233,0.270,0.233,0.206,2.620,0.436,1.130,1.410,
+1.610,3.540,1.610,1.760,2.320,1.570,1.160,1.390,2.410,2.250,
+1.530,1.680,2.520,0.325,1.320,1.920,1.700,2.290,1.720,2.550,
+3.700,1.960,1.220,2.140,2.180,1.300,1.120,1.180,2.320,0.235,
+0.918,1.420,2.180,1.800,1.290,2.590,4.410,3.240,1.880,2.210,
+2.770,2.380,1.670,1.570,2.570,0.283,1.490,2.010,2.170,2.690,
+1.940,2.520,2.870,2.910,1.560,2.010,0.256,0.318,0.183,0.225,
+2.980,0.629,1.260,1.850,1.800,3.230,1.620,2.330,3.580,1.940,
+1.650,2.020,2.760,2.390,1.550,2.110,3.400,0.352,2.040,2.940,
+3.200,3.170,2.790,4.630,9.960,4.970,3.500,7.300,3.650,2.540,
+1.890,2.410,3.560,0.368,1.490,2.790,5.150,3.980,2.450,5.940,
+4.190,2.620,1.610,2.650,2.270,1.480,1.200,1.440,2.220,0.209,
+1.060,1.770,2.160,1.880,1.240,2.290,4.110,3.460,1.990,3.480,
+0.380,0.357,0.210,0.461,2.300,0.212,1.010,1.770,2.220,2.450,
+1.680,3.030,4.790,2.370,2.430,4.770,3.000,2.220,1.730,2.800,
+2.700,0.210,1.550,2.610,4.120,2.650,3.190,8.090,7.380,4.730,
+2.420,4.430,4.650,3.610,1.950,2.550,3.710,0.403,1.610,2.720,
+3.300,3.510,1.820,3.390,4.850,4.030,1.550,2.740,3.250,2.820,
+1.590,1.830,3.480,0.564,1.840,2.700,2.460,2.980,1.440,2.280,
+2.960,2.940,1.450,2.490,0.238,0.273,0.158,0.242,2.880,0.300,
+1.550,2.100,2.250,3.100,2.200,2.900,3.360,2.140,1.580,2.930,
+3.200,2.780,1.790,2.660,3.040,0.220,1.750,2.480,3.280,2.450,
+2.560,4.720,3.960,3.130,1.690,2.500,3.240,2.070,1.690,2.190,
+3.340,0.551,1.370,2.450,2.330,2.610,1.790,3.090,0.280,0.318,
+0.139,0.222,0.183,0.209,0.133,0.153,0.395,0.182,0.168,0.350,
+0.235,0.491,0.154,0.281,2.120,2.080,1.270,1.660,0.181,0.167,
+0.143,0.187,1.900,0.227,1.040,1.610,1.410,2.120,1.350,2.060,
+2.380,1.720,1.240,1.850,2.800,2.300,1.540,2.250,2.670,0.288,
+1.340,2.600,2.040,2.040,1.780,3.270,6.400,2.760,1.890,3.640,
+2.800,1.680,1.420,1.760,2.910,0.250,1.080,2.030,3.890,2.620,
+1.930,4.630,3.260,2.170,1.200,2.020,2.050,1.500,1.130,1.440,
+2.110,0.263,1.170,2.270,2.020,2.180,1.390,2.790,3.230,2.810,
+1.700,2.880,0.227,0.202,0.131,0.246,2.790,0.250,1.480,2.480,
+2.550,3.190,2.120,3.410,5.300,2.770,2.240,4.740,3.590,3.000,
+1.960,3.240,4.440,0.273,2.620,4.820,6.130,4.170,4.420,8.580,
+16.1,9.460,6.270,10.1,10.3,6.640,3.850,4.510,7.350,0.821,
+3.080,5.200,8.920,7.240,4.040,6.940,10.8,7.040,3.550,4.290,
+9.800,5.250,3.140,3.070,4.760,0.514,2.940,3.510,3.460,3.890,
+2.490,3.630,4.530,3.800,2.590,3.440,0.481,0.387,0.344,0.457,
+2.730,0.293,1.480,1.790,2.450,3.190,2.280,3.250,5.590,2.870,
+2.390,4.400,5.140,3.380,2.650,3.500,3.160,0.337,1.950,2.930,
+3.930,3.030,3.050,5.480,10.000,6.010,2.640,4.270,6.830,4.800,
+2.360,2.750,4.280,0.550,1.910,2.720,3.390,3.650,1.630,3.260,
+6.490,5.330,1.820,2.500,4.900,3.200,1.990,2.010,3.710,0.556,
+2.230,2.900,2.280,3.160,1.440,2.100,2.930,3.480,1.670,2.210,
+0.326,0.390,0.246,0.302,2.750,0.437,1.770,1.970,1.830,3.230,
+2.090,2.510,2.390,1.710,0.971,1.760,2.570,2.300,1.160,1.770,
+2.290,0.237,1.360,2.000,2.090,2.060,1.790,3.320,4.890,2.760,
+1.530,2.490,4.150,3.010,2.110,2.490,3.770,0.534,1.750,2.500,
+2.670,3.240,1.950,3.780,0.340,0.357,0.181,0.242,0.366,0.377,
+0.261,0.254,0.315,0.080,0.240,0.313,0.261,0.531,0.249,0.383,
+1.710,1.920,1.300,1.490,0.209,0.211,0.158,0.219,1.760,0.246,
+1.180,1.540,1.200,1.890,1.290,1.680,1.850,1.320,0.930,1.560,
+2.390,2.020,1.400,1.960,2.250,0.278,1.480,2.100,1.990,2.320,
+2.010,3.260,4.950,2.250,1.430,3.220,2.360,1.400,1.070,1.570,
+2.720,0.267,1.080,1.670,3.050,2.440,1.540,3.750,4.050,3.160,
+1.810,2.400,3.160,2.560,1.730,2.040,2.510,0.270,1.780,2.350,
+2.000,2.880,1.610,2.780,2.060,1.860,1.600,1.880,0.174,0.159,
+0.233,0.205,1.590,0.177,1.130,1.640,1.450,1.990,1.420,2.070,
+3.100,1.700,1.320,2.720,1.780,1.480,1.370,1.740,2.450,0.232,
+1.690,2.580,3.170,2.970,2.590,5.170,8.550,5.880,3.080,5.400,
+5.940,5.450,2.870,2.970,3.480,0.425,1.610,2.450,3.210,3.410,
+1.750,3.320,5.770,4.990,2.170,2.740,4.440,4.440,2.420,2.220,
+2.410,0.355,1.640,2.060,1.610,2.420,1.350,2.090,2.460,2.980,
+1.660,2.330,0.258,0.338,0.219,0.318,1.580,0.233,1.240,1.480,
+1.350,1.960,1.380,2.340,2.280,1.550,1.230,2.300,2.500,2.600,
+1.480,1.960,1.610,0.195,1.550,1.650,1.920,1.680,1.640,3.080,
+6.000,4.700,1.710,2.390,3.710,3.900,1.660,1.700,2.330,0.357,
+1.180,1.510,1.640,2.180,0.962,1.720,3.620,2.600,1.040,1.400,
+1.270,0.672,0.738,0.708,1.790,0.434,1.080,1.530,0.918,1.750,
+0.895,1.230,1.940,2.980,1.250,1.610,0.253,0.554,0.226,0.255,
+2.060,0.415,1.250,1.540,1.210,2.710,1.490,2.060,1.380,1.320,
+0.712,1.060,1.830,2.460,0.982,1.290,1.560,0.221,1.130,1.350,
+1.280,1.520,1.060,1.960,3.370,2.590,1.170,1.790,3.450,3.580,
+2.070,2.060,2.310,0.378,1.230,1.750,1.550,2.100,1.540,2.440,
+0.238,0.376,0.146,0.185,0.260,0.531,0.277,0.210,0.197,0.093,
+0.205,0.213,0.134,0.371,0.174,0.206,1.700,2.490,1.340,1.460,
+0.230,0.418,0.241,0.236,1.590,0.292,1.150,1.540,0.995,2.080,
+1.400,1.750,1.470,1.120,0.878,1.290,2.280,2.830,1.730,2.010,
+1.990,0.247,1.580,2.060,1.540,1.750,1.780,2.780,2.550,1.680,
+0.925,1.550,1.850,1.500,0.807,1.170,1.630,0.158,0.625,0.888,
+1.490,1.350,0.853,1.730,2.310,2.450,1.210,1.480,2.100,2.760,
+1.340,1.480,1.340,0.203,0.957,1.280,1.030,1.860,0.995,1.570,
+1.680,1.890,1.120,1.380,0.130,0.204,0.123,0.162,1.200,0.150,
+1.060,1.300,1.010,1.670,1.300,1.740,1.890,1.160,0.792,1.370,
+1.410,1.580,0.883,1.240,1.420,0.149,1.150,1.530,1.680,1.860,
+1.690,3.110,6.200,4.800,2.460,4.240,4.130,3.350,1.780,2.500,
+2.700,0.342,1.300,1.940,2.610,2.730,1.560,2.910,5.900,5.680,
+2.320,3.080,5.390,3.960,3.170,2.920,3.620,0.525,2.550,2.890,
+2.170,3.320,1.740,2.600,2.560,3.480,1.670,2.420,0.357,0.378,
+0.245,0.468,2.150,0.318,1.100,1.540,1.490,2.670,1.320,2.190,
+2.530,1.700,1.350,2.350,2.570,2.190,1.430,2.140,2.230,0.270,
+1.560,2.170,2.300,2.140,2.200,4.440,0.373,0.447,0.148,0.231,
+0.430,0.495,0.247,0.265,0.252,0.066,0.144,0.179,0.188,0.309,
+0.148,0.246,0.388,0.608,0.189,0.227,0.662,0.683,0.633,0.535,
+0.435,0.189,0.368,0.346,0.173,0.381,0.163,0.222,0.162,0.326,
+0.150,0.164,0.054,0.129,0.086,0.055,0.261,0.115,0.242,0.244,
+0.144,0.377,0.209,0.220,0.186,0.152,0.091,0.171,0.364,0.401,
+0.212,0.267,0.216,0.054,0.199,0.242,0.175,0.211,0.203,0.337,
+2.880,3.050,1.300,1.690,2.870,3.510,2.110,1.990,3.040,0.585,
+1.630,1.820,1.630,2.380,1.480,2.260,0.280,0.730,0.184,0.181,
+0.303,0.709,0.311,0.235,0.301,0.112,0.277,0.240,0.187,0.439,
+0.210,0.234,1.620,2.830,1.300,1.370,0.246,0.397,0.209,0.216,
+2.240,0.445,1.040,1.480,1.260,2.890,1.440,1.740,1.420,1.400,
+0.804,1.140,2.260,2.830,1.470,1.730,2.260,0.364,1.750,2.130,
+1.470,2.140,1.910,2.760,2.530,1.750,0.912,1.610,1.680,1.230,
+0.715,0.960,2.100,0.220,0.806,1.310,1.650,1.530,0.892,1.980,
+3.590,4.280,1.600,1.930,3.200,3.560,1.930,2.070,3.690,0.437,
+2.010,2.410,1.910,3.050,1.620,2.430,1.850,2.780,1.340,1.600,
+0.187,0.288,0.161,0.186,1.910,0.313,1.270,1.690,1.400,2.850,
+1.490,2.090,2.020,1.600,1.070,1.810,1.800,1.930,1.160,1.530,
+2.500,0.276,2.160,2.620,2.400,2.900,2.610,3.830,5.300,2.980,
+1.930,3.740,2.740,1.840,1.210,1.950,2.370,0.237,0.987,1.860,
+2.710,2.120,1.210,3.170,3.570,2.370,1.250,1.960,2.220,1.550,
+1.140,1.520,1.660,0.159,0.882,1.380,1.420,1.350,0.836,1.660,
+2.070,2.070,1.030,1.760,0.166,0.161,0.100,0.229,1.330,0.140,
+0.642,1.080,1.170,1.380,0.883,1.720,2.500,1.400,1.200,2.400,
+1.700,1.270,0.977,1.870,1.610,0.140,0.897,1.620,2.160,1.530,
+1.520,4.000,4.380,3.390,1.510,2.430,3.090,2.760,1.530,1.890,
+2.640,0.316,1.310,2.030,2.130,2.460,1.210,2.420,3.350,3.020,
+1.130,1.650,3.440,2.920,1.940,2.030,2.540,0.372,1.570,2.150,
+1.740,2.210,1.200,1.880,1.460,1.860,0.890,1.310,0.155,0.244,
+0.139,0.202,2.070,0.260,1.110,1.440,1.470,2.390,1.400,1.910,
+1.540,1.070,0.836,1.420,1.850,1.840,1.020,1.810,1.980,0.197,
+1.130,1.630,1.680,1.700,1.400,2.780,2.990,2.440,1.240,1.680,
+2.700,2.550,1.600,1.840,4.280,0.487,1.600,2.160,2.150,2.250,
+1.600,2.590,0.193,0.282,0.104,0.140,0.183,0.325,0.157,0.158,
+0.216,0.054,0.146,0.179,0.156,0.264,0.137,0.197,1.230,1.550,
+0.857,1.150,0.129,0.151,0.118,0.157,1.610,0.214,0.957,1.440,
+1.050,1.670,1.090,1.650,1.530,1.170,0.780,1.200,1.850,1.780,
+1.200,1.760,2.260,0.292,1.400,2.170,1.650,1.830,1.830,2.810,
+3.640,2.120,1.190,2.280,1.700,1.260,0.812,1.180,2.000,0.180,
+0.795,1.330,2.150,1.580,1.100,2.610,2.370,2.050,0.913,1.420,
+1.690,1.850,1.000,1.350,2.010,0.172,0.951,1.490,1.480,1.590,
+0.995,1.960,1.710,1.690,1.040,1.840,0.128,0.130,0.090,0.171,
+1.430,0.145,0.970,1.450,1.450,1.980,1.420,2.150,2.870,1.600,
+1.290,2.750,2.030,1.960,1.380,2.260,2.610,0.217,1.820,3.060,
+3.520,2.880,2.990,4.680,9.450,5.570,4.980,6.970,5.540,3.870,
+3.170,3.430,5.790,0.543,2.100,3.150,5.890,5.030,2.800,4.800,
+5.140,3.680,2.600,2.890,3.490,2.170,2.050,2.040,3.600,0.306,
+1.760,2.140,2.360,2.420,2.240,2.980,3.560,3.110,1.960,2.890,
+0.332,0.286,0.221,0.404,2.320,0.230,1.440,1.800,1.910,2.440,
+1.760,2.830,4.140,2.250,1.890,3.400,3.400,2.650,2.050,2.870,
+2.730,0.275,3.120,2.960,3.400,2.420,3.550,4.900,7.670,5.210,
+2.570,4.070,5.830,4.430,2.660,2.920,3.500,0.427,1.450,1.990,
+2.880,3.410,1.770,3.120,4.820,4.330,1.810,2.300,3.570,2.400,
+2.100,2.030,3.420,0.441,1.590,2.200,2.000,2.760,1.430,2.020,
+3.660,4.310,1.980,2.790,0.368,0.430,0.284,0.394,3.500,0.491,
+2.040,2.520,2.030,3.660,2.130,2.770,2.740,1.850,1.200,2.230,
+2.990,2.670,1.720,2.600,2.460,0.237,1.640,2.200,2.340,2.080,
+2.020,3.870,4.300,2.470,1.420,2.590,4.170,3.070,2.350,2.810,
+3.580,0.501,1.220,1.880,2.740,2.880,1.820,3.330,0.342,0.364,
+0.165,0.268,0.327,0.321,0.265,0.320,0.371,0.075,0.196,0.256,
+0.351,0.612,0.284,0.441,2.000,2.000,1.460,1.960,0.267,0.231,
+0.240,0.325,1.800,0.268,1.050,1.310,1.630,2.160,1.400,1.900,
+2.090,1.300,0.984,1.850,2.890,2.540,1.890,2.840,2.440,0.256,
+1.360,1.940,2.880,2.240,2.070,4.100,4.230,2.000,1.430,2.880,
+2.130,1.360,1.310,1.760,2.480,0.272,0.979,1.520,3.030,2.600,
+1.520,3.620,3.220,2.730,1.480,2.140,2.250,1.780,1.780,2.070,
+2.390,0.271,1.320,1.870,2.230,2.710,1.530,2.710,2.300,2.350,
+1.770,2.430,0.217,0.208,0.198,0.307,2.160,0.230,1.420,2.010,
+1.950,2.570,1.960,2.870,3.190,1.860,1.520,3.120,2.030,1.560,
+1.640,2.400,3.450,0.308,2.530,3.400,5.050,4.050,3.940,7.070,
+0.472,0.408,0.297,0.338,0.363,0.358,0.236,0.266,0.262,0.044,
+0.135,0.177,0.258,0.294,0.189,0.270,0.433,0.423,0.440,0.277,
+0.367,0.349,0.330,0.266,0.287,0.072,0.233,0.202,0.165,0.278,
+0.227,0.223,0.205,0.284,0.176,0.202,0.030,0.053,0.043,0.042,
+0.164,0.041,0.193,0.184,0.123,0.228,0.203,0.270,0.245,0.160,
+0.177,0.228,0.288,0.276,0.243,0.261,0.248,0.054,1.010,0.472,
+0.263,0.250,1.130,0.496,0.392,0.424,0.158,0.215,0.362,0.505,
+0.256,0.201,0.204,0.055,0.135,0.149,0.143,0.230,0.155,0.172,
+0.409,0.610,0.210,0.197,0.524,0.410,0.343,0.254,0.355,0.135,
+0.188,0.205,0.182,0.401,0.160,0.177,0.236,0.413,0.184,0.200,
+0.062,0.149,0.093,0.052,0.301,0.128,0.235,0.235,0.124,0.399,
+0.222,0.232,0.181,0.167,0.101,0.155,0.260,0.317,0.165,0.190,
+0.190,0.036,0.183,0.175,0.136,0.174,0.192,0.277,0.257,0.243,
+0.103,0.156,0.294,0.347,0.294,0.279,0.255,0.073,0.127,0.132,
+0.146,0.236,0.165,0.218,0.037,0.067,0.030,0.029,0.053,0.104,
+0.096,0.060,0.060,0.061,0.058,0.044,0.024,0.079,0.042,0.038,
+0.181,0.257,0.220,0.195,0.051,0.101,0.114,0.056,0.249,0.102,
+0.209,0.201,0.132,0.334,0.239,0.221,0.193,0.148,0.115,0.172,
+0.298,0.460,0.282,0.283,0.287,0.065,0.288,0.270,0.205,0.264,
+0.273,0.359,0.290,0.259,0.146,0.222,0.196,0.172,0.134,0.176,
+0.208,0.029,0.087,0.130,0.214,0.238,0.168,0.323,0.358,0.637,
+0.198,0.256,0.320,0.379,0.318,0.394,0.309,0.071,0.180,0.239,
+0.219,0.439,0.209,0.327,0.186,0.261,0.186,0.218,0.027,0.047,
+0.038,0.035,0.239,0.048,0.202,0.254,0.172,0.328,0.240,0.289,
+0.251,0.190,0.135,0.230,0.205,0.245,0.173,0.230,0.318,0.047,
+0.322,0.352,0.324,0.355,0.362,0.549,5.040,3.560,2.380,3.600,
+3.780,3.480,2.070,2.350,2.560,0.318,1.260,1.860,2.210,2.200,
+1.530,2.450,4.300,3.620,2.490,2.480,3.870,2.900,3.170,2.370,
+3.160,0.441,2.270,2.390,1.860,2.820,2.050,2.380,2.800,4.120,
+2.190,2.960,0.406,0.568,0.380,0.593,3.600,0.947,1.820,2.190,
+1.810,4.010,1.730,2.500,2.420,1.660,1.210,2.310,2.600,2.300,
+1.710,2.410,2.560,0.346,2.040,2.610,2.360,2.190,2.480,4.100,
+0.341,0.364,0.145,0.217,0.599,0.760,0.291,0.268,0.226,0.054,
+0.161,0.257,0.145,0.227,0.129,0.210,0.300,0.368,0.169,0.159,
+0.428,0.432,0.458,0.292,0.288,0.113,0.280,0.283,0.137,0.273,
+0.165,0.161,0.193,0.431,0.175,0.192,0.056,0.177,0.091,0.069,
+0.281,0.120,0.272,0.307,0.142,0.378,0.214,0.232,0.239,0.176,
+0.106,0.216,0.364,0.400,0.233,0.311,0.228,0.052,0.237,0.280,
+0.188,0.196,0.205,0.321,2.730,2.340,1.190,1.350,3.320,3.760,
+2.710,2.040,2.230,0.484,1.490,1.710,1.330,1.930,1.590,2.010,
+0.225,0.361,0.153,0.143,0.278,0.456,0.395,0.192,0.240,0.098,
+0.237,0.213,0.164,0.369,0.241,0.238,2.070,2.900,1.810,1.820,
+0.293,0.423,0.459,0.370,2.030,0.376,0.815,1.370,1.070,2.150,
+1.750,1.930,1.700,1.250,0.950,1.180,2.240,2.720,2.050,2.090,
+2.180,0.335,1.840,1.970,1.440,1.790,1.900,2.620,2.410,1.420,
+1.030,1.540,1.800,1.440,0.916,1.070,1.500,0.193,0.824,1.350,
+1.370,1.400,0.870,1.800,2.760,2.590,1.410,1.520,2.810,3.270,
+2.350,1.700,2.260,0.321,1.650,2.040,1.750,2.540,1.550,2.050,
+2.360,3.410,1.700,2.130,0.279,0.423,0.271,0.301,2.530,0.370,
+1.970,2.380,1.560,2.720,1.880,2.480,1.930,1.390,1.090,1.610,
+1.900,2.100,1.410,1.700,2.520,0.287,2.500,2.790,2.270,2.570,
+2.520,3.470,4.470,2.410,1.750,2.970,2.440,1.730,1.280,1.690,
+1.920,0.199,0.777,1.380,2.200,1.810,1.140,2.630,3.010,1.850,
+1.050,1.370,1.690,0.973,0.930,1.020,1.410,0.118,0.707,1.050,
+1.150,1.070,0.861,1.380,2.160,2.300,1.120,1.890,0.204,0.192,
+0.131,0.252,1.690,0.186,0.846,1.350,1.390,1.740,1.210,2.060,
+2.570,1.570,1.130,2.070,2.070,1.410,1.120,1.750,1.710,0.150,
+1.170,1.780,2.330,1.740,1.750,3.830,4.810,3.510,1.750,2.730,
+4.110,4.040,2.030,2.260,2.310,0.287,1.250,1.970,1.980,2.160,
+1.230,2.360,4.190,4.030,1.490,1.920,3.380,2.570,2.070,2.060,
+2.180,0.303,1.560,2.040,1.490,2.020,1.490,1.870,2.280,3.510,
+1.470,2.040,0.232,0.383,0.221,0.295,2.480,0.369,1.730,2.410,
+1.900,2.970,1.860,2.750,2.380,1.750,1.220,1.990,2.620,2.380,
+1.770,2.570,2.330,0.230,1.570,2.260,2.190,1.960,1.790,3.540,
+2.840,2.070,1.260,1.750,3.030,2.380,1.870,2.080,2.140,0.312,
+1.150,1.850,1.550,1.780,1.520,2.490,0.221,0.239,0.111,0.154,
+0.196,0.251,0.222,0.176,0.161,0.044,0.155,0.192,0.138,0.232,
+0.158,0.211,1.940,2.270,1.620,2.100,0.223,0.256,0.599,0.342,
+2.110,0.312,1.440,2.030,1.420,2.270,1.740,2.430,1.860,1.410,
+1.110,1.610,2.580,2.350,2.320,2.720,2.200,0.256,1.820,2.770,
+1.990,1.910,2.280,3.780,3.070,1.570,1.110,2.060,1.820,1.200,
+0.988,1.380,1.810,0.185,0.801,1.360,1.970,1.540,1.300,2.690,
+2.220,1.770,0.946,1.420,1.820,1.560,1.250,1.320,1.550,0.150,
+0.986,1.620,1.340,1.580,1.240,1.940,2.350,2.700,1.530,2.640,
+0.208,0.226,0.181,0.315,2.830,0.278,1.870,2.900,2.140,2.950,
+2.110,3.040,3.060,1.840,1.460,3.060,2.420,2.200,1.850,2.690,
+3.100,0.242,2.370,3.810,3.780,2.990,3.220,4.940,10.1,5.300,
+4.340,9.190,4.330,2.820,2.180,2.900,4.640,0.407,1.610,3.000,
+7.010,4.850,2.460,5.600,4.160,2.450,1.690,2.550,2.440,1.410,
+1.200,1.500,2.450,0.184,1.210,1.590,2.500,2.220,1.480,2.720,
+3.300,2.520,1.710,3.040,0.278,0.200,0.144,0.336,1.980,0.177,
+0.972,1.540,2.260,2.670,1.630,3.790,4.850,2.260,2.100,4.150,
+3.090,2.000,1.610,2.600,2.580,0.219,1.610,2.460,4.060,2.900,
+2.600,6.510,6.590,3.430,1.910,4.020,3.520,2.080,1.280,1.830,
+2.500,0.231,0.921,1.700,2.670,2.330,1.200,2.890,3.240,2.240,
+1.030,1.750,1.910,1.290,0.901,1.160,2.030,0.176,0.887,1.380,
+1.860,1.750,0.942,1.620,2.350,2.160,1.110,1.950,0.159,0.185,
+0.093,0.171,2.080,0.347,0.849,1.320,2.190,5.000,1.230,2.100,
+2.370,1.530,0.963,2.040,1.740,1.310,0.787,1.390,1.720,0.131,
+0.782,1.380,2.070,1.890,1.360,3.240,4.470,2.060,1.310,2.670,
+2.960,1.750,1.380,2.360,2.690,0.301,0.773,1.630,2.790,2.250,
+1.300,3.400,0.257,0.182,0.100,0.201,0.195,0.148,0.118,0.186,
+0.189,0.028,0.082,0.158,0.332,0.327,0.146,0.325,1.610,1.400,
+1.190,1.650,0.154,0.124,0.110,0.174,1.350,0.142,0.629,0.977,
+1.530,1.730,1.020,1.720,1.980,1.230,1.020,2.050,2.150,1.650,
+1.170,1.930,1.930,0.170,0.878,1.540,2.580,1.880,1.690,3.590,
+5.690,2.100,1.650,4.910,2.260,1.260,1.180,1.870,3.140,0.274,
+0.970,1.960,4.750,2.890,1.680,4.760,2.970,1.860,1.220,2.090,
+1.720,1.180,1.090,1.450,1.980,0.148,0.996,1.560,2.750,2.540,
+1.490,3.050,2.260,1.820,1.400,2.180,0.156,0.126,0.111,0.184,
+1.720,0.142,0.964,1.550,2.020,2.490,1.690,2.990,4.060,2.000,
+1.740,3.870,2.250,1.580,1.370,2.200,3.100,0.221,1.840,3.020,
+5.540,4.410,3.880,8.730,8.040,4.960,3.020,6.200,4.150,3.050,
+2.020,2.830,3.140,0.331,1.240,2.190,3.560,3.340,1.750,3.890,
+4.970,3.290,2.380,3.080,3.270,2.270,1.950,2.150,2.520,0.271,
+1.630,1.910,1.840,2.250,1.570,2.640,2.950,3.200,1.840,3.080,
+0.269,0.299,0.199,0.351,1.960,0.241,1.360,1.950,1.880,2.510,
+1.780,3.670,3.080,1.950,1.730,3.020,2.850,2.460,1.790,2.520,
+2.250,0.281,3.740,2.950,2.880,2.190,3.220,4.930,5.250,3.720,
+1.590,3.440,3.370,2.740,1.550,1.810,2.160,0.261,1.000,1.420,
+2.070,2.010,1.300,2.250,3.630,3.950,1.380,2.250,3.070,2.000,
+1.560,1.690,2.500,0.354,1.140,1.610,1.630,2.170,1.240,1.780,
+2.450,3.210,1.390,2.260,0.223,0.272,0.172,0.231,2.250,0.338,
+1.210,1.670,1.620,2.860,1.550,2.500,2.270,1.950,1.060,2.070,
+2.280,2.210,1.110,1.560,1.820,0.164,1.130,1.570,1.870,1.840,
+1.440,3.020,3.160,1.910,0.980,2.060,2.510,2.120,1.480,2.410,
+2.270,0.319,0.788,1.220,1.790,1.910,1.120,2.390,0.179,0.224,
+0.094,0.172,0.184,0.264,0.168,0.217,0.175,0.055,0.114,0.141,
+0.178,0.321,0.136,0.211,1.930,2.200,1.470,1.910,0.239,0.323,
+0.190,0.247,1.910,0.280,1.030,1.500,1.620,2.440,1.380,2.160,
+2.310,1.970,1.280,2.310,3.190,5.190,1.730,2.510,2.920,0.293,
+1.470,2.140,2.760,2.200,2.050,4.230,3.340,1.860,1.170,2.380,
+1.790,1.270,0.985,1.470,2.490,0.216,0.820,1.340,2.480,1.970,
+1.210,2.950,2.890,2.740,1.380,2.230,2.080,2.100,1.660,2.270,
+2.230,0.264,1.140,1.720,2.270,3.420,1.550,2.870,2.090,2.240,
+1.440,2.120,0.168,0.205,0.121,0.191,2.280,0.229,1.330,2.000,
+1.820,2.800,1.660,2.730,2.910,1.940,1.490,2.540,2.350,2.640,
+1.350,1.960,3.160,0.267,2.060,3.280,3.600,3.360,3.060,5.670,
+5.310,3.400,2.350,4.110,3.080,2.580,1.500,2.160,2.720,0.264,
+1.120,1.880,2.790,2.390,1.380,2.740,4.200,3.220,1.830,2.540,
+3.240,2.340,1.740,2.110,2.580,0.330,1.710,2.210,2.140,2.690,
+1.650,2.630,2.950,3.350,2.320,3.490,0.302,0.337,0.244,0.532,
+2.390,0.313,1.430,2.180,1.900,3.030,1.810,3.600,2.870,1.850,
+1.510,2.820,2.420,1.950,1.500,2.410,2.620,0.286,1.760,2.730,
+2.970,2.490,2.610,5.390,0.307,0.265,0.135,0.277,0.268,0.356,
+0.133,0.185,0.191,0.029,0.098,0.158,0.167,0.210,0.124,0.248,
+0.234,0.244,0.099,0.146,0.262,0.342,0.167,0.193,0.195,0.050,
+0.213,0.251,0.143,0.227,0.123,0.169,0.150,0.236,0.113,0.163,
+0.019,0.047,0.031,0.028,0.185,0.051,0.150,0.187,0.129,0.304,
+0.145,0.266,0.224,0.160,0.098,0.230,0.249,0.257,0.156,0.229,
+0.201,0.033,0.149,0.235,0.218,0.204,0.182,0.408,3.370,2.790,
+1.180,1.680,2.430,2.510,1.660,1.740,2.070,0.357,1.010,1.510,
+1.540,1.840,1.290,2.370,0.226,0.249,0.096,0.130,0.162,0.227,
+0.138,0.121,0.159,0.042,0.122,0.156,0.166,0.269,0.160,0.212,
+1.840,2.510,1.520,1.680,0.195,0.265,0.227,0.211,2.120,0.298,
+0.933,1.520,1.290,2.330,1.470,2.310,2.080,1.810,1.070,1.530,
+2.230,2.590,1.680,1.940,2.340,0.279,1.590,2.100,1.990,2.170,
+2.000,3.240,2.990,1.730,1.110,2.000,1.840,1.350,0.951,1.200,
+1.830,0.201,0.991,1.570,1.800,1.660,1.120,2.580,3.410,2.560,
+1.390,1.930,2.230,2.170,1.430,1.430,2.210,0.230,1.330,2.000,
+2.000,2.560,1.650,2.760,2.510,2.850,1.790,2.420,0.187,0.234,
+0.275,0.216,2.490,0.253,1.780,2.340,1.880,2.790,2.030,3.030,
+2.920,1.850,1.510,2.300,2.140,1.910,1.560,1.750,3.090,0.277,
+2.470,3.110,3.420,3.400,2.960,4.550,8.750,3.280,2.720,5.240,
+2.920,1.920,1.370,2.310,2.880,0.252,1.170,2.260,3.690,2.660,
+1.640,4.330,3.540,2.050,1.140,1.900,1.960,1.260,0.998,1.470,
+1.780,0.145,1.310,1.740,1.650,1.500,0.956,2.220,2.890,2.600,
+1.490,2.880,0.221,0.211,0.138,0.349,1.960,0.179,1.080,1.850,
+1.950,2.160,1.500,3.640,3.660,2.000,1.690,3.740,2.160,1.490,
+1.280,2.430,2.290,0.180,1.450,2.710,3.500,2.460,2.460,7.260,
+5.200,2.880,1.690,3.020,2.730,2.230,1.190,1.790,2.300,0.193,
+0.912,1.610,2.090,1.880,1.200,2.800,3.350,2.480,1.070,1.740,
+2.060,1.870,1.050,1.470,1.830,0.176,1.150,1.680,1.500,1.650,
+0.984,2.020,2.260,2.590,1.000,1.890,0.130,0.181,0.086,0.162,
+1.800,0.197,1.090,1.710,1.680,2.290,1.360,2.810,2.540,1.720,
+1.260,2.580,2.060,1.640,1.150,2.030,2.120,0.158,1.260,2.110,
+2.370,1.950,1.850,4.450,4.350,3.200,1.610,2.390,3.030,2.330,
+1.670,2.370,2.750,0.350,1.230,2.130,2.450,2.350,1.770,3.450,
+0.272,0.380,0.108,0.163,0.168,0.186,0.127,0.147,0.152,0.034,
+0.105,0.164,0.199,0.239,0.134,0.270,2.400,2.500,1.500,2.140,
+0.163,0.220,0.152,0.219,2.310,0.244,1.300,2.150,1.760,2.330,
+1.900,3.110,2.770,2.420,1.530,2.470,2.920,3.070,1.910,2.860,
+3.060,0.286,2.020,3.100,2.990,2.430,2.700,4.900,6.580,2.850,
+1.940,4.110,2.830,1.800,1.350,2.040,3.050,0.268,1.430,2.520,
+4.230,2.930,2.170,6.110,4.200,3.390,1.440,2.460,2.890,2.480,
+1.480,1.980,2.520,0.206,1.580,2.750,2.560,2.680,1.760,3.730,
+3.720,3.610,2.100,3.490,0.213,0.223,0.165,0.263,3.550,0.283,
+2.170,4.030,3.360,3.930,3.180,5.150,6.950,3.480,2.730,6.180,
+3.830,3.140,2.410,3.960,4.970,0.301,3.260,6.050,6.250,4.170,
+4.280,6.920,24.8,8.900,12.2,13.3,7.790,4.280,4.810,4.860,
+16.6,0.940,5.060,6.130,12.4,7.940,5.050,8.860,8.540,4.290,
+3.570,4.720,4.390,2.660,2.630,2.630,5.020,0.459,2.790,3.610,
+4.090,3.430,2.510,3.970,18.8,4.460,4.150,5.820,0.731,0.401,
+0.356,0.676,3.970,0.307,2.300,3.470,3.740,3.310,2.550,3.800,
+9.750,3.880,4.520,8.610,6.530,4.300,3.620,5.600,4.340,0.331,
+2.500,3.890,6.750,3.570,3.840,7.010,7.640,3.680,2.780,3.850,
+3.770,2.260,2.330,2.520,3.620,0.310,1.710,2.210,3.100,2.650,
+1.830,2.870,4.270,2.550,1.760,2.310,2.190,1.330,1.350,1.340,
+2.680,0.237,1.450,1.900,1.990,1.830,1.430,1.810,4.020,2.510,
+1.780,2.580,0.241,0.196,0.172,0.267,2.230,0.196,1.470,1.770,
+1.630,1.880,1.670,1.940,3.300,1.780,1.400,2.690,2.510,1.780,
+1.320,2.180,2.330,0.165,1.260,2.150,2.680,1.780,1.960,3.330,
+11.8,2.180,9.660,3.880,5.030,2.170,2.700,2.550,4.150,0.437,
+1.320,2.320,3.500,3.110,1.830,3.470,0.555,0.302,0.313,0.328,
+0.318,0.228,0.198,0.217,0.319,0.046,0.179,0.274,0.450,0.498,
+0.245,0.419,2.930,2.370,1.900,2.030,0.231,0.189,0.176,0.240,
+2.460,0.211,1.450,1.910,2.000,1.930,1.480,1.950,2.590,1.580,
+1.520,2.500,2.670,2.040,1.710,2.380,2.610,0.217,1.610,2.620,
+2.470,2.180,2.170,3.880,8.340,2.830,3.420,5.770,3.450,1.700,
+2.090,2.260,3.590,0.310,1.550,2.490,4.540,3.180,2.470,5.700,
+5.300,3.040,2.390,3.110,2.880,1.900,1.860,1.950,2.900,0.228,
+1.890,2.580,3.450,2.920,2.100,3.600,2.920,2.190,1.870,2.580,
+0.221,0.159,0.176,0.240,2.240,0.166,1.450,2.330,2.150,2.190,
+1.790,2.720,4.200,2.490,2.390,4.630,2.350,1.580,1.640,2.490,
+3.410,0.235,2.170,3.700,4.870,3.580,3.480,7.380,12.6,6.290,
+5.110,7.970,5.200,3.290,3.110,3.590,4.700,0.493,2.230,3.310,
+5.780,4.470,2.760,4.950,5.990,4.200,3.040,3.610,3.320,2.390,
+2.580,2.270,4.070,0.781,2.340,2.800,2.800,3.540,1.950,2.810,
+4.170,2.700,3.250,3.530,0.345,0.291,0.299,0.403,2.240,0.206,
+1.420,1.770,2.940,2.250,1.770,2.760,4.120,1.640,2.300,3.580,
+3.590,2.550,2.440,2.980,2.240,0.209,1.340,2.060,2.940,2.060,
+2.310,4.680,6.150,4.090,2.150,3.220,3.340,2.480,1.750,1.970,
+2.400,0.277,1.190,1.730,2.110,2.260,1.390,2.410,3.330,2.580,
+1.650,1.960,1.610,0.754,1.160,1.170,2.030,0.286,1.380,1.830,
+1.330,1.770,1.480,1.690,3.010,2.870,1.860,2.420,0.232,0.244,
+0.228,0.299,2.050,0.296,1.410,1.540,1.390,2.200,1.520,2.040,
+2.350,1.450,1.190,2.010,2.150,1.800,1.390,1.810,1.490,0.146,
+0.937,1.380,1.560,1.410,1.260,2.550,5.270,3.150,2.710,3.030,
+3.940,2.690,3.020,2.530,3.140,0.491,1.770,2.140,2.580,3.700,
+2.250,3.280,0.332,0.354,0.226,0.275,0.259,0.260,0.247,0.212,
+0.251,0.068,0.248,0.259,0.280,0.463,0.246,0.325,2.640,2.620,
+2.030,2.240,0.231,0.274,0.243,0.255,1.980,0.266,1.610,2.030,
+1.490,2.540,2.050,2.400,2.190,1.310,1.380,1.950,2.400,2.360,
+2.090,2.380,2.080,0.224,1.750,2.460,1.760,1.940,2.170,3.530,
+4.260,2.320,2.040,3.050,2.310,1.420,1.390,1.680,2.010,0.219,
+1.210,1.580,2.510,2.450,1.670,3.270,3.710,2.740,2.030,2.680,
+2.330,1.950,1.850,2.200,2.040,0.223,2.030,2.530,2.490,2.630,
+1.930,3.130,2.150,1.780,1.710,2.230,0.162,0.143,0.135,0.195,
+1.450,0.143,1.350,1.710,1.440,1.820,1.760,2.450,2.820,1.150,
+1.600,2.480,1.880,1.500,1.320,1.960,2.160,0.179,1.620,2.600,
+3.030,3.070,2.810,5.040,8.220,4.580,3.570,5.630,3.020,2.180,
+1.930,2.300,3.380,0.339,1.570,2.330,3.630,3.240,2.060,3.870,
+5.810,4.240,2.770,3.660,3.450,2.540,2.390,2.290,4.130,0.535,
+2.620,2.930,3.030,3.890,2.030,2.920,4.340,3.820,6.370,4.390,
+0.408,0.424,0.465,0.602,2.280,0.261,1.580,1.920,1.730,2.590,
+1.830,2.840,3.840,2.330,2.790,4.030,3.190,2.900,2.310,2.760,
+2.780,0.269,1.840,2.780,3.420,2.520,2.910,6.650,0.578,0.471,
+0.277,0.438,0.390,0.387,0.232,0.298,0.318,0.060,0.177,0.252,
+0.282,0.434,0.221,0.374,0.498,0.496,0.259,0.368,0.421,0.380,
+0.284,0.266,0.458,0.123,0.297,0.345,0.319,0.751,0.227,0.316,
+0.339,0.426,0.362,0.349,0.041,0.071,0.061,0.058,0.293,0.060,
+0.295,0.274,0.205,0.384,0.251,0.316,0.495,0.332,0.279,0.529,
+0.553,0.691,0.421,0.562,0.334,0.049,0.287,0.390,0.408,0.390,
+0.359,0.746,3.730,2.330,1.600,1.850,2.190,1.940,1.880,1.620,
+2.690,0.446,1.830,1.780,1.740,2.150,1.870,2.520,0.301,0.315,
+0.172,0.193,0.199,0.230,0.180,0.138,0.347,0.073,0.224,0.213,
+0.263,0.412,0.280,0.285,1.790,2.060,1.640,1.540,0.200,0.220,
+0.215,0.194,1.770,0.223,1.090,1.230,1.080,1.590,1.480,1.540,
+1.730,1.350,1.440,1.510,1.970,2.160,1.750,1.950,1.740,0.221,
+1.710,1.970,1.480,1.770,1.800,2.450,3.400,1.760,1.520,2.350,
+1.870,1.200,1.040,1.210,1.880,0.210,1.050,1.600,2.060,1.860,
+1.310,2.760,4.340,3.060,2.100,2.820,2.760,2.490,1.820,1.780,
+2.830,0.306,1.970,2.840,2.720,2.930,2.020,3.160,2.370,2.280,
+1.860,2.110,0.210,0.225,0.178,0.218,1.870,0.190,1.360,1.760,
+1.490,2.010,1.590,2.510,3.380,2.090,2.030,2.610,2.420,2.130,
+1.590,2.270,2.810,0.323,2.180,2.960,3.400,3.750,2.930,4.860,
+9.430,3.930,3.290,6.360,3.070,1.830,1.820,2.170,3.240,0.349,
+1.450,2.470,4.660,3.540,2.310,5.240,3.940,2.180,1.560,2.650,
+2.160,1.490,1.300,1.510,3.140,0.486,1.280,1.810,2.840,3.140,
+1.330,2.370,4.250,2.690,2.780,4.070,0.435,0.284,0.283,0.579,
+2.230,0.184,1.110,1.920,2.040,2.110,1.570,2.990,4.940,2.160,
+2.750,6.170,3.640,2.130,2.300,3.460,2.690,0.203,1.740,2.800,
+4.180,2.620,3.110,8.080,6.070,3.350,2.200,4.010,3.330,2.090,
+1.640,2.170,2.800,0.331,1.400,2.190,2.630,2.810,1.660,3.220,
+4.040,2.840,1.580,3.180,2.410,1.770,1.420,1.680,3.500,0.789,
+1.580,2.310,2.550,3.920,1.330,2.160,3.010,2.520,1.820,2.840,
+0.225,0.282,0.160,0.280,2.190,0.221,1.440,1.910,1.920,2.350,
+1.730,2.650,3.660,1.900,1.900,3.750,2.660,2.220,1.780,2.380,
+2.370,0.190,1.560,2.410,2.960,2.240,2.310,4.830,4.320,2.330,
+2.020,2.660,3.160,1.930,1.950,2.370,3.870,0.411,1.830,2.910,
+3.140,2.560,2.250,3.940,0.321,0.261,0.178,0.312,0.214,0.188,
+0.162,0.188,0.288,0.047,0.202,0.284,0.358,0.401,0.221,0.385,
+2.370,2.150,1.610,2.280,0.183,0.175,0.194,0.242,2.070,0.217,
+1.400,2.030,1.780,2.050,1.770,2.730,2.490,1.710,1.760,2.680,
+2.730,2.220,2.160,3.120,2.810,0.239,2.130,3.260,2.840,2.350,
+2.540,4.840,6.810,2.770,2.450,4.390,2.640,1.700,1.940,2.020,
+2.970,0.284,1.480,2.490,4.000,3.000,2.320,5.870,3.510,2.180,
+1.600,2.760,2.060,1.490,1.390,1.720,2.310,0.177,1.540,2.560,
+2.890,2.440,1.810,3.550,4.040,3.440,2.510,3.990,0.288,0.232,
+0.189,0.357,3.330,0.234,2.010,2.980,3.250,3.330,2.910,4.700,
+7.960,3.550,4.070,8.480,4.590,3.330,3.200,5.020,5.750,0.336,
+4.080,6.630,10.000,6.280,7.230,12.6,1.020,0.613,0.603,0.677,
+0.603,0.371,0.360,0.363,0.646,0.067,0.286,0.422,0.628,0.506,
+0.351,0.471,0.618,0.435,0.343,0.354,0.445,0.301,0.319,0.245,
+0.357,0.048,0.283,0.304,0.316,0.330,0.290,0.354,0.631,0.309,
+0.282,0.363,0.081,0.042,0.046,0.059,0.234,0.026,0.169,0.211,
+0.272,0.240,0.216,0.274,0.537,0.251,0.309,0.443,0.622,0.352,
+0.318,0.386,0.294,0.031,0.236,0.282,0.371,0.253,0.314,0.456,
+0.679,0.431,0.315,0.353,0.456,0.304,0.259,0.249,0.381,0.052,
+0.271,0.369,0.322,0.323,0.253,0.304,0.490,0.400,0.247,0.259,
+0.323,0.241,0.231,0.211,0.365,0.062,0.286,0.338,0.236,0.293,
+0.253,0.253,0.315,0.281,0.185,0.235,0.047,0.040,0.039,0.033,
+0.241,0.049,0.187,0.204,0.166,0.266,0.205,0.211,0.268,0.161,
+0.130,0.207,0.303,0.224,0.155,0.223,0.231,0.024,0.155,0.222,
+0.247,0.197,0.213,0.329,0.492,0.230,0.315,0.265,0.383,0.245,
+0.240,0.235,0.308,0.051,0.170,0.205,0.223,0.275,0.196,0.321,
+0.048,0.048,0.048,0.037,0.041,0.041,0.045,0.032,0.043,0.017,
+0.038,0.039,0.034,0.063,0.042,0.053,0.209,0.184,0.182,0.188,
+0.026,0.024,0.031,0.027,0.173,0.029,0.157,0.180,0.131,0.194,
+0.179,0.195,0.188,0.116,0.129,0.180,0.240,0.200,0.194,0.237,
+0.206,0.028,0.175,0.223,0.202,0.217,0.249,0.343,0.514,0.209,
+0.207,0.367,0.244,0.130,0.172,0.185,0.267,0.032,0.137,0.198,
+0.290,0.251,0.195,0.392,0.433,0.330,0.264,0.321,0.298,0.254,
+0.248,0.248,0.288,0.035,0.237,0.316,0.263,0.315,0.243,0.390,
+0.241,0.234,0.198,0.260,0.023,0.020,0.026,0.032,0.193,0.024,
+0.149,0.294,0.164,0.233,0.213,0.267,0.329,0.180,0.197,0.329,
+0.205,0.147,0.169,0.228,0.263,0.031,0.235,0.433,0.367,0.322,
+0.366,0.615,0.696,0.485,0.365,0.505,0.430,0.344,0.312,0.323,
+0.356,0.060,0.180,0.237,0.383,0.406,0.273,0.362,0.449,0.375,
+0.273,0.299,0.329,0.304,0.384,0.260,0.291,0.065,0.250,0.262,
+0.191,0.279,0.287,0.273,0.270,0.260,0.226,0.239,0.037,0.040,
+0.042,0.041,0.172,0.028,0.128,0.137,0.393,0.189,0.185,0.215,
+0.282,0.137,0.160,0.234,0.289,0.233,0.204,0.219,0.180,0.022,
+0.141,0.161,0.224,0.169,0.207,0.303,0.547,0.445,0.238,0.336,
+0.399,0.386,0.241,0.238,0.256,0.045,0.162,0.192,0.203,0.254,
+0.166,0.273,0.421,0.418,0.223,0.263,0.260,0.145,0.234,0.205,
+0.273,0.084,0.254,0.301,0.154,0.281,0.227,0.315,0.283,0.339,
+0.201,0.223,0.037,0.061,0.052,0.044,0.229,0.059,0.173,0.176,
+0.140,0.271,0.193,0.240,0.186,0.138,0.134,0.167,0.204,0.220,
+0.160,0.187,0.164,0.026,0.137,0.171,0.148,0.160,0.149,0.250,
+0.379,0.255,0.189,0.220,0.346,0.303,0.323,0.242,0.290,0.071,
+0.185,0.202,0.184,0.290,0.222,0.293,0.037,0.057,0.037,0.034,
+0.040,0.073,0.079,0.039,0.060,0.038,0.058,0.047,0.025,0.082,
+0.040,0.039,0.230,0.263,0.222,0.212,0.036,0.074,0.067,0.039,
+0.196,0.047,0.227,0.201,0.127,0.226,0.246,0.225,0.175,0.104,
+0.128,0.152,0.219,0.257,0.258,0.232,0.215,0.038,0.219,0.230,
+0.154,0.187,0.254,0.314,0.323,0.196,0.169,0.236,0.204,0.132,
+0.139,0.153,0.182,0.023,0.118,0.130,0.188,0.193,0.149,0.290,
+0.333,0.309,0.209,0.252,0.251,0.261,0.272,0.270,0.238,0.049,
+0.226,0.295,0.177,0.276,0.209,0.286,0.179,0.181,0.162,0.184,
+0.016,0.024,0.022,0.022,0.131,0.021,0.155,0.161,0.120,0.174,
+0.184,0.222,0.220,0.119,0.125,0.191,0.164,0.148,0.139,0.176,
+0.184,0.019,0.157,0.246,0.235,0.241,0.279,0.415,0.485,0.368,
+0.272,0.430,0.266,0.233,0.196,0.214,0.251,0.038,0.151,0.178,
+0.227,0.256,0.183,0.256,0.464,0.432,0.261,0.288,0.396,0.323,
+0.330,0.272,0.365,0.080,0.341,0.334,0.215,0.375,0.218,0.265,
+0.271,0.335,0.338,0.293,0.037,0.048,0.056,0.063,0.263,0.044,
+0.178,0.194,0.122,0.231,0.167,0.208,0.226,0.162,0.165,0.268,
+0.246,0.222,0.234,0.272,0.229,0.032,0.188,0.242,0.231,0.201,
+0.241,0.445,0.036,0.049,0.028,0.031,0.044,0.059,0.045,0.037,
+0.029,0.015,0.031,0.032,0.022,0.044,0.031,0.034,0.054,0.080,
+0.036,0.034,0.088,0.087,0.077,0.048,0.057,0.046,0.082,0.066,
+0.029,0.088,0.037,0.036,0.027,0.064,0.045,0.033,0.013,0.034,
+0.041,0.016,0.053,0.034,0.082,0.060,0.018,0.066,0.046,0.038,
+0.030,0.026,0.021,0.034,0.046,0.062,0.051,0.058,0.035,0.010,
+0.050,0.046,0.026,0.034,0.038,0.051,0.287,0.284,0.178,0.171,
+0.231,0.308,0.307,0.206,0.298,0.072,0.242,0.231,0.147,0.243,
+0.281,0.264,0.038,0.074,0.037,0.025,0.044,0.082,0.069,0.033,
+0.063,0.041,0.084,0.054,0.027,0.072,0.074,0.038,0.177,0.303,
+0.223,0.196,0.037,0.073,0.062,0.041,0.221,0.068,0.222,0.202,
+0.101,0.249,0.224,0.203,0.153,0.142,0.147,0.148,0.287,0.351,
+0.258,0.279,0.220,0.054,0.275,0.283,0.153,0.198,0.255,0.303,
+0.292,0.211,0.154,0.249,0.165,0.138,0.116,0.131,0.200,0.028,
+0.127,0.175,0.188,0.206,0.172,0.273,0.394,0.394,0.273,0.284,
+0.330,0.384,0.302,0.264,0.361,0.071,0.335,0.397,0.241,0.396,
+0.307,0.322,0.215,0.258,0.208,0.227,0.026,0.039,0.035,0.029,
+0.222,0.045,0.217,0.227,0.148,0.260,0.220,0.267,0.234,0.185,
+0.180,0.264,0.257,0.212,0.187,0.243,0.283,0.038,0.289,0.332,
+0.292,0.359,0.356,0.522,0.829,0.427,0.334,0.610,0.459,0.257,
+0.248,0.457,0.392,0.045,0.174,0.341,0.440,0.390,0.284,0.543,
+0.440,0.297,0.197,0.316,0.271,0.191,0.208,0.253,0.313,0.041,
+0.187,0.250,0.278,0.316,0.180,0.282,0.386,0.307,0.257,0.364,
+0.036,0.029,0.030,0.063,0.229,0.022,0.139,0.214,0.197,0.241,
+0.179,0.321,0.459,0.250,0.281,0.527,0.365,0.237,0.255,0.475,
+0.352,0.029,0.232,0.419,0.455,0.307,0.373,0.971,0.782,0.551,
+0.356,0.545,0.486,0.373,0.363,0.365,0.412,0.067,0.281,0.396,
+0.379,0.477,0.279,0.483,0.650,0.578,0.314,0.466,0.498,0.430,
+0.406,0.405,0.573,0.121,0.416,0.529,0.431,0.674,0.307,0.409,
+0.380,0.544,0.319,0.425,0.039,0.059,0.050,0.062,0.345,0.057,
+0.301,0.360,0.281,0.491,0.340,0.433,0.431,0.289,0.277,0.497,
+0.406,0.383,0.390,0.625,0.368,0.038,0.331,0.428,0.399,0.367,
+0.411,0.706,0.418,0.295,0.232,0.283,0.339,0.310,0.295,0.311,
+0.405,0.062,0.257,0.351,0.291,0.311,0.298,0.443,0.033,0.042,
+0.028,0.033,0.032,0.046,0.039,0.032,0.038,0.012,0.035,0.038,
+0.040,0.053,0.043,0.052,0.250,0.312,0.256,0.292,0.025,0.040,
+0.064,0.044,0.266,0.049,0.248,0.305,0.186,0.301,0.293,0.368,
+0.264,0.201,0.214,0.297,0.305,0.294,0.349,0.411,0.334,0.042,
+0.349,0.441,0.305,0.289,0.405,0.597,0.656,0.371,0.300,0.468,
+0.310,0.222,0.250,0.268,0.312,0.038,0.189,0.292,0.364,0.325,
+0.268,0.596,0.446,0.309,0.220,0.315,0.278,0.248,0.252,0.270,
+0.282,0.029,0.226,0.333,0.288,0.299,0.241,0.413,0.393,0.378,
+0.300,0.438,0.033,0.033,0.030,0.045,0.342,0.040,0.286,0.379,
+0.319,0.409,0.379,0.525,0.693,0.357,0.375,0.718,0.466,0.354,
+0.387,0.555,0.543,0.043,0.491,0.710,0.866,0.656,0.803,1.100,
+8.070,3.810,3.940,5.160,3.640,2.250,2.290,2.460,3.980,0.343,
+2.350,2.490,4.070,3.080,2.220,3.360,3.930,2.440,1.750,2.630,
+2.600,1.470,1.800,1.640,2.060,0.198,1.320,1.550,1.770,1.790,
+1.380,1.950,2.960,2.110,1.630,2.250,0.271,0.185,0.182,0.304,
+2.440,0.188,1.560,1.760,1.390,1.660,1.460,1.970,2.870,1.530,
+1.310,2.420,2.290,1.470,1.230,1.880,2.150,0.164,1.320,1.630,
+2.160,1.220,1.650,2.880,5.270,2.840,1.830,2.900,2.910,2.050,
+1.750,1.820,2.350,0.235,1.160,1.590,1.820,1.870,1.390,1.930,
+3.630,2.450,1.470,1.790,2.290,1.250,1.500,1.280,2.290,0.295,
+1.410,1.830,1.470,1.640,1.090,1.360,2.240,2.250,1.540,1.820,
+0.227,0.211,0.209,0.246,2.000,0.242,1.620,2.220,1.370,1.920,
+1.670,1.810,2.000,1.170,0.886,1.490,1.940,1.460,1.190,1.650,
+1.640,0.135,1.170,1.620,1.580,1.230,1.350,2.430,4.330,2.060,
+1.650,3.210,3.600,2.480,2.440,2.670,2.990,0.353,1.490,1.960,
+2.210,2.380,1.900,2.790,0.412,0.340,0.208,0.326,0.358,0.282,
+0.302,0.287,0.298,0.056,0.306,0.275,0.333,0.564,0.308,0.409,
+2.120,1.850,2.670,2.910,0.236,0.195,0.559,0.497,1.820,0.224,
+1.460,1.520,1.220,1.760,1.610,1.810,2.030,1.150,1.210,1.900,
+2.810,2.080,2.720,2.890,1.780,0.186,1.330,1.860,1.780,1.610,
+1.780,2.930,3.860,1.500,1.290,2.330,1.570,1.010,1.380,1.310,
+1.790,0.191,0.933,1.290,2.210,1.970,3.250,2.680,2.780,2.010,
+1.360,1.810,1.900,1.350,1.470,1.410,1.700,0.153,1.360,1.680,
+1.790,2.070,1.530,2.150,1.920,2.240,2.480,2.390,0.170,0.159,
+0.208,0.259,1.640,0.179,1.650,2.010,1.410,2.110,1.810,2.200,
+2.420,1.380,1.290,2.340,1.510,1.010,1.370,1.970,2.240,0.175,
+1.570,2.560,2.970,2.390,2.600,4.920,0.469,0.327,0.280,0.351,
+0.308,0.240,0.231,0.251,0.236,0.035,0.142,0.171,0.255,0.254,
+0.219,0.270,0.340,0.295,0.240,0.405,0.319,0.249,0.473,0.276,
+0.218,0.050,0.169,0.198,0.149,0.222,0.180,0.212,0.176,0.194,
+0.141,0.170,0.026,0.035,0.032,0.032,0.138,0.025,0.124,0.132,
+0.103,0.157,0.136,0.168,0.178,0.117,0.110,0.168,0.201,0.154,
+0.133,0.171,0.143,0.020,0.108,0.145,0.163,0.125,0.173,0.283,
+0.324,0.292,0.160,0.185,0.232,0.211,0.181,0.145,0.153,0.034,
+0.111,0.115,0.110,0.144,0.107,0.133,0.283,0.330,0.169,0.164,
+0.269,0.172,0.244,0.148,0.255,0.097,0.169,0.186,0.125,0.223,
+0.131,0.140,0.158,0.236,0.155,0.138,0.033,0.057,0.051,0.029,
+0.199,0.071,0.177,0.193,0.109,0.213,0.166,0.158,0.141,0.093,
+0.107,0.113,0.149,0.135,0.102,0.124,0.112,0.021,0.109,0.123,
+0.112,0.106,0.112,0.181,0.287,0.192,0.141,0.233,0.292,0.273,
+0.302,0.218,0.234,0.050,0.170,0.157,0.148,0.206,0.216,0.210,
+0.040,0.056,0.031,0.034,0.049,0.069,0.075,0.034,0.041,0.031,
+0.085,0.040,0.022,0.061,0.061,0.035,0.173,0.196,0.220,0.217,
+0.036,0.059,0.095,0.042,0.193,0.063,0.285,0.187,0.115,0.233,
+0.225,0.204,0.143,0.105,0.098,0.141,0.209,0.232,0.263,0.211,
+0.181,0.033,0.174,0.182,0.136,0.209,0.187,0.258,0.336,0.257,
+0.186,0.260,0.182,0.144,0.142,0.154,0.181,0.024,0.100,0.142,
+0.199,0.234,0.314,0.315,0.340,0.311,0.198,0.261,0.311,0.280,
+0.267,0.255,0.221,0.040,0.214,0.229,0.214,0.317,0.254,0.309,
+0.184,0.223,0.209,0.219,0.017,0.028,0.030,0.031,0.160,0.029,
+0.172,0.206,0.141,0.218,0.248,0.263,0.206,0.144,0.122,0.189,
+0.146,0.134,0.133,0.180,0.211,0.024,0.166,0.235,0.234,0.230,
+0.267,0.429,3.950,2.910,2.320,3.680,2.370,1.820,1.450,1.910,
+1.940,0.207,1.260,1.560,1.580,1.410,1.180,1.890,3.890,2.730,
+1.670,2.100,4.140,2.130,2.430,2.120,2.660,0.315,1.930,2.060,
+1.470,2.030,1.470,1.770,2.330,2.930,1.650,1.950,0.315,0.347,
+0.254,0.387,1.800,0.269,1.490,1.530,1.070,2.000,1.470,1.730,
+1.760,1.230,0.900,1.490,1.690,1.480,1.120,1.550,1.840,0.199,
+1.220,1.850,1.580,1.260,1.510,2.710,0.297,0.259,0.140,0.214,
+0.368,0.314,0.192,0.226,0.169,0.039,0.162,0.152,0.117,0.151,
+0.129,0.183,0.362,0.314,0.154,0.156,1.230,0.358,0.313,0.237,
+0.260,0.080,0.269,0.227,0.152,0.219,0.165,0.135,0.166,0.275,
+0.164,0.156,0.059,0.081,0.071,0.045,0.197,0.061,0.240,0.218,
+0.098,0.236,0.195,0.170,0.181,0.130,0.091,0.161,0.248,0.255,
+0.167,0.242,0.206,0.031,0.153,0.311,0.147,0.135,0.143,0.268,
+3.680,1.910,1.410,1.390,2.280,2.280,2.230,1.640,2.190,0.355,
+1.820,1.620,1.260,1.580,2.800,2.000,0.254,0.311,0.214,0.157,
+0.282,0.357,0.287,0.162,0.229,0.085,0.380,0.219,0.191,0.352,
+0.949,0.291,2.130,1.770,1.580,1.440,0.267,0.246,0.342,0.265,
+1.180,0.206,0.523,0.638,0.678,1.020,1.210,1.180,1.230,0.881,
+0.832,0.860,1.700,1.740,1.690,1.370,1.450,0.196,1.510,1.470,
+1.080,1.120,1.620,1.820,2.380,1.250,1.130,1.460,1.340,1.020,
+0.827,0.830,1.360,0.152,0.858,1.050,1.150,1.240,1.080,1.460,
+2.440,2.060,1.690,1.470,2.150,2.020,1.640,1.280,1.810,0.230,
+1.850,1.820,1.430,2.070,2.410,1.660,1.830,1.860,1.490,1.690,
+0.168,0.205,0.187,0.219,1.680,0.198,1.610,1.640,1.040,1.720,
+1.590,1.630,1.480,0.991,0.911,1.240,1.320,1.290,1.130,1.340,
+1.750,0.169,1.650,1.840,1.690,1.640,1.840,2.190,4.180,2.010,
+1.480,3.150,1.930,1.160,1.050,1.770,1.790,0.175,0.929,1.450,
+2.250,1.500,1.230,2.200,2.660,1.600,0.941,1.780,1.720,0.873,
+1.100,1.220,1.320,0.105,0.710,0.982,1.030,0.971,0.739,1.140,
+1.810,1.740,1.100,1.630,0.191,0.152,0.143,0.259,1.380,0.138,
+0.780,1.240,1.060,1.340,1.020,1.590,1.910,1.150,0.887,1.590,
+1.530,1.130,0.934,1.380,1.290,0.103,0.726,1.260,1.540,1.130,
+1.210,2.720,3.720,2.370,1.550,2.400,2.440,1.850,1.460,1.690,
+1.810,0.186,1.200,1.510,1.450,1.480,0.942,1.810,3.080,2.380,
+1.380,1.840,3.310,1.780,2.200,1.910,1.960,0.228,1.590,1.850,
+1.170,1.470,0.987,1.350,1.710,2.060,1.830,1.750,0.196,0.236,
+0.215,0.235,1.720,0.229,1.570,1.960,1.100,1.960,1.620,1.960,
+1.890,1.230,1.190,1.720,2.090,1.650,1.340,1.910,1.530,0.133,
+1.170,2.050,1.410,1.280,1.350,2.590,3.450,1.900,1.470,1.860,
+2.630,2.260,2.350,2.400,2.180,0.286,1.520,1.920,1.620,1.840,
+1.920,2.550,0.309,0.235,0.208,0.204,0.245,0.263,0.346,0.239,
+0.182,0.043,0.243,0.230,0.182,0.326,0.333,0.246,2.160,2.150,
+2.760,2.080,0.274,0.236,1.330,0.421,2.360,0.382,1.630,1.970,
+1.300,2.240,1.850,2.030,1.740,1.280,1.350,1.500,2.190,1.930,
+3.740,2.440,1.940,0.216,1.920,3.250,1.610,1.580,2.140,3.580,
+3.070,1.370,1.120,1.980,1.480,1.030,0.981,1.100,1.550,0.154,
+0.863,1.230,1.580,1.250,1.080,2.070,2.900,1.740,1.310,1.620,
+1.830,1.500,1.530,1.380,1.570,0.130,1.200,1.640,1.420,1.430,
+1.390,1.730,2.110,2.090,1.590,2.020,0.163,0.168,0.244,0.217,
+2.100,0.201,1.790,2.200,1.480,2.050,1.840,2.200,2.540,1.490,
+1.280,2.340,1.860,1.500,1.620,2.070,2.210,0.175,1.970,3.040,
+2.720,2.110,2.490,3.750,8.070,3.910,3.540,6.200,3.520,1.960,
+1.850,2.300,3.260,0.279,1.370,2.520,4.380,3.320,1.900,4.110,
+3.450,1.830,1.640,2.070,1.860,1.020,1.350,1.280,1.770,0.127,
+1.000,1.440,1.680,1.450,1.080,1.910,2.590,1.670,1.580,2.400,
+0.227,0.155,0.154,0.269,1.430,0.115,0.869,1.280,1.330,1.480,
+1.310,2.150,3.920,1.750,2.370,3.250,2.490,1.420,1.350,1.980,
+1.790,0.131,1.040,1.800,2.780,1.600,1.860,4.870,6.050,2.530,
+1.680,3.000,2.440,1.390,1.030,1.410,1.900,0.158,0.897,1.390,
+1.920,1.540,1.030,2.010,2.600,1.360,0.952,1.340,1.320,0.771,
+0.741,0.833,1.370,0.103,0.721,1.040,1.310,1.020,0.754,1.140,
+1.640,1.230,0.883,1.370,0.114,0.092,0.072,0.119,1.410,0.215,
+0.659,0.958,1.140,1.490,0.869,1.340,1.920,0.943,0.827,1.420,
+1.290,0.844,0.637,1.100,1.190,0.086,0.657,1.080,1.480,1.030,
+1.110,2.250,4.650,1.760,1.440,2.390,2.860,2.180,1.470,2.120,
+2.150,0.236,0.779,1.450,2.330,1.960,1.300,2.750,0.295,0.162,
+0.121,0.210,0.204,0.152,0.127,0.162,0.189,0.024,0.096,0.156,
+0.298,0.314,0.166,0.280,1.900,1.290,1.320,2.230,0.158,0.106,
+0.117,0.218,1.360,0.125,0.700,1.080,1.370,1.460,1.110,1.620,
+1.990,1.180,1.180,1.890,2.200,1.420,1.250,1.890,1.930,0.214,
+0.949,1.760,1.960,1.620,1.550,3.140,5.990,1.910,1.570,3.450,
+2.080,1.330,1.290,2.080,2.400,0.208,1.050,1.910,3.550,2.330,
+1.790,3.850,3.070,1.690,1.260,2.040,1.740,1.080,1.100,1.330,
+1.880,0.127,1.010,1.550,2.250,1.980,1.310,2.340,2.160,1.480,
+1.430,2.120,0.143,0.100,0.161,0.175,1.430,0.113,0.951,1.540,
+1.370,1.680,1.430,2.210,3.540,1.710,1.610,3.400,2.010,1.220,
+1.240,1.900,2.470,0.171,1.720,2.820,3.710,2.810,3.050,6.790,
+7.780,4.270,3.670,5.690,4.010,2.710,2.590,2.950,2.980,0.298,
+1.420,2.590,3.480,3.060,2.230,4.320,4.150,2.660,2.530,3.140,
+2.750,1.930,4.870,2.710,2.270,0.218,1.540,2.070,1.880,1.900,
+1.820,2.510,2.770,2.150,1.650,2.610,0.208,0.185,0.168,0.272,
+1.740,0.173,1.110,1.650,1.430,1.700,1.560,2.600,3.070,1.590,
+1.660,2.490,2.650,1.710,1.430,2.060,1.780,0.145,1.080,1.880,
+2.300,1.670,1.780,4.280,5.480,3.410,2.110,3.100,2.960,2.270,
+1.570,1.950,2.060,0.225,1.190,1.650,2.220,1.900,1.390,2.410,
+3.140,2.470,1.760,2.200,2.350,1.430,1.540,1.480,2.130,0.307,
+1.260,1.780,1.770,2.020,1.240,1.770,2.150,1.960,1.330,1.970,
+0.161,0.160,0.125,0.181,1.810,0.256,1.180,1.680,1.580,1.950,
+1.490,2.300,2.000,1.200,1.040,1.630,1.730,1.320,0.888,1.390,
+1.350,0.115,0.898,1.470,1.600,1.310,1.210,2.430,3.880,2.150,
+1.550,2.250,3.070,2.210,2.100,2.260,2.320,0.349,1.160,1.750,
+2.050,2.180,1.650,2.950,0.221,0.238,0.137,0.193,0.215,0.233,
+0.192,0.197,0.198,0.048,0.166,0.179,0.206,0.301,0.190,0.262,
+2.320,1.860,1.560,2.030,0.199,0.196,0.184,0.228,1.840,0.247,
+1.410,1.760,1.510,2.210,1.790,2.490,2.090,1.250,1.190,1.930,
+2.540,2.210,1.850,2.320,2.080,0.206,1.510,2.500,2.000,1.990,
+2.150,4.050,4.320,2.330,1.780,2.970,2.010,1.430,1.340,1.880,
+2.350,0.199,1.110,1.810,2.560,2.020,1.670,3.590,3.330,2.950,
+1.670,2.540,2.240,1.950,1.830,2.290,2.050,0.202,1.540,2.240,
+2.150,2.630,1.860,2.870,2.330,1.960,1.690,2.360,0.151,0.146,
+0.139,0.190,1.660,0.151,1.390,1.950,1.480,1.740,1.910,2.990,
+2.740,1.590,1.490,2.260,1.940,1.580,1.250,1.870,2.200,0.176,
+1.720,2.780,2.800,2.190,2.740,5.280,5.480,3.210,2.360,3.830,
+2.840,1.940,1.560,2.170,2.850,0.236,1.240,1.930,2.780,1.990,
+1.410,2.570,4.120,2.920,1.590,2.360,3.010,2.010,1.840,1.920,
+2.570,0.265,1.910,2.340,2.170,2.550,1.700,2.480,2.340,2.760,
+1.750,2.330,0.262,0.286,0.225,0.353,1.940,0.241,1.310,1.690,
+1.720,2.730,2.230,2.580,2.400,1.720,1.330,2.260,2.180,1.890,
+1.360,2.080,2.370,0.214,1.560,2.330,2.640,1.960,2.710,5.170,
+0.339,0.301,0.173,0.294,0.297,0.257,0.166,0.222,0.207,0.031,
+0.142,0.170,0.181,0.225,0.146,0.263,0.297,0.290,0.141,0.183,
+0.446,0.294,0.235,0.202,0.229,0.054,0.251,0.268,0.181,0.280,
+0.186,0.206,0.152,0.207,0.120,0.155,0.027,0.046,0.049,0.029,
+0.199,0.044,0.195,0.198,0.132,0.262,0.200,0.215,0.223,0.170,
+0.109,0.224,0.340,0.292,0.159,0.269,0.292,0.029,0.147,0.248,
+0.211,0.176,0.205,0.375,3.530,2.180,1.480,1.670,2.830,2.600,
+2.310,1.980,2.090,0.353,1.610,1.740,1.630,2.060,2.670,2.550,
+0.267,0.235,0.153,0.150,0.309,0.286,0.188,0.148,0.200,0.057,
+0.336,0.194,0.229,0.342,0.707,0.272,2.250,2.360,1.740,1.930,
+0.482,0.401,0.210,0.247,2.090,0.268,1.030,1.490,1.250,1.990,
+1.730,2.020,2.140,1.940,1.350,1.620,5.110,5.120,1.890,2.080,
+2.250,0.311,1.850,2.240,1.890,2.030,2.020,2.990,3.420,1.940,
+1.290,2.160,1.890,1.490,1.160,1.370,2.000,0.214,1.330,1.750,
+1.980,1.880,1.420,2.450,3.510,2.590,1.740,2.280,2.590,2.380,
+1.680,1.640,2.350,0.258,2.480,2.630,2.400,3.160,2.630,2.720,
+2.640,2.490,1.640,2.390,0.202,0.218,0.154,0.197,2.550,0.225,
+1.770,2.350,1.780,2.580,2.170,2.800,3.050,2.060,1.710,2.240,
+2.380,2.300,1.510,1.950,3.040,0.266,2.640,3.370,2.970,2.820,
+3.080,4.270,8.170,3.380,2.170,4.280,2.480,1.470,1.220,1.910,
+2.450,0.247,1.250,2.040,3.050,2.260,1.810,3.850,3.250,1.770,
+0.995,1.860,1.650,1.020,0.901,1.260,1.750,0.143,1.190,1.560,
+1.560,1.530,0.968,1.900,3.020,2.320,1.430,2.760,0.305,0.260,
+0.155,0.387,1.760,0.164,1.040,1.650,1.890,2.020,1.500,2.610,
+2.830,1.320,1.250,2.600,1.850,1.180,0.973,1.850,1.760,0.125,
+1.120,1.940,2.600,1.690,2.220,5.810,4.620,2.820,1.830,3.020,
+2.510,1.790,1.390,1.860,1.940,0.186,1.220,1.920,2.070,1.780,
+1.310,2.820,3.350,2.260,1.240,1.980,2.150,1.620,1.330,1.500,
+1.990,0.187,1.410,2.120,1.570,1.770,1.080,1.950,1.940,1.880,
+1.150,1.940,0.135,0.148,0.108,0.181,1.850,0.184,1.890,2.120,
+1.560,2.130,1.740,2.880,2.290,1.370,1.260,2.280,1.870,1.400,
+1.100,1.910,1.910,0.135,1.430,2.190,2.220,1.480,1.820,3.920,
+4.670,2.440,1.760,2.460,3.400,2.450,2.180,2.870,2.750,0.315,
+1.470,2.350,2.710,2.410,2.150,4.010,0.302,0.232,0.141,0.215,
+0.244,0.241,0.174,0.216,0.198,0.032,0.158,0.230,0.292,0.317,
+0.228,0.343,2.900,2.790,1.860,2.520,0.230,0.253,0.298,0.285,
+2.830,0.304,1.770,2.530,2.210,2.820,2.440,3.450,3.070,2.220,
+1.700,2.580,3.210,2.830,2.550,3.150,3.090,0.260,2.250,3.930,
+2.800,2.490,2.580,5.190,7.240,2.780,1.820,3.850,2.720,1.750,
+1.450,2.070,2.940,0.252,1.480,2.590,4.140,2.830,2.280,6.020,
+4.200,2.550,1.540,2.600,2.870,2.580,1.540,1.980,2.570,0.179,
+1.730,2.780,3.110,2.580,2.080,3.780,3.640,3.140,2.110,3.410,
+0.213,0.209,0.152,0.267,3.390,0.251,2.400,3.440,3.430,3.760,
+3.310,4.800,6.800,2.970,2.550,5.900,3.420,2.610,2.300,3.730,
+4.610,0.285,3.440,5.720,6.650,4.380,4.500,8.890,25.4,12.5,
+10.6,25.8,10.4,5.990,5.710,8.430,12.1,0.919,4.880,8.590,
+25.6,12.6,7.530,15.8,10.6,5.160,4.420,6.330,5.320,3.110,
+2.760,3.280,5.800,0.370,2.910,4.700,5.880,4.210,3.410,6.100,
+9.830,5.110,4.720,8.570,0.676,0.452,0.350,0.952,4.250,0.309,
+2.290,3.610,5.070,4.350,3.480,6.050,30.6,6.670,7.640,16.1,
+11.5,6.290,5.640,10.8,6.640,0.439,3.370,5.970,11.6,5.840,
+5.950,12.7,10.7,3.920,3.090,5.740,4.390,2.320,2.100,2.730,
+4.410,0.313,1.690,2.660,4.690,3.200,2.090,3.970,5.140,2.450,
+1.680,2.570,2.370,1.270,1.160,1.370,2.920,0.164,1.310,1.920,
+2.400,1.710,1.550,2.090,4.750,2.810,2.410,3.810,0.269,0.166,
+0.145,0.274,3.360,0.253,1.380,2.060,2.290,2.070,1.610,2.620,
+5.600,2.480,2.060,3.880,3.800,2.230,1.720,2.760,2.940,0.167,
+1.210,2.370,3.580,2.270,2.270,4.360,8.380,3.560,3.410,5.680,
+4.700,2.260,2.620,3.310,4.100,0.391,1.740,2.920,4.730,3.430,
+2.630,6.000,0.580,0.354,0.245,0.420,0.292,0.221,0.209,0.246,
+0.306,0.031,0.191,0.300,0.544,0.476,0.292,0.592,3.620,2.500,
+2.070,2.800,0.246,0.158,0.142,0.254,2.300,0.172,1.140,1.770,
+2.140,1.990,1.650,2.530,4.380,2.170,2.150,3.700,3.700,2.350,
+2.070,3.090,3.160,0.236,1.730,2.760,3.680,3.190,2.950,5.720,
+17.7,4.930,5.580,20.4,5.160,2.500,3.640,5.150,6.340,0.484,
+2.700,4.520,8.810,4.840,3.990,10.6,7.360,3.910,3.300,5.320,
+3.480,2.180,2.720,2.980,3.990,0.230,2.410,4.120,5.210,3.700,
+3.020,5.800,4.950,3.390,3.140,4.700,0.325,0.205,0.232,0.383,
+3.350,0.209,1.890,2.840,3.580,3.440,2.860,4.430,8.780,4.110,
+4.270,9.580,4.560,2.780,2.860,4.880,6.040,0.318,3.180,5.620,
+10.2,6.460,6.510,15.5,12.7,5.230,4.250,8.140,4.610,2.660,
+2.270,3.320,3.890,0.319,1.520,2.970,5.630,4.010,2.470,5.240,
+5.680,2.730,2.220,3.250,2.540,1.460,1.450,1.640,2.280,0.202,
+1.220,1.910,2.190,1.940,1.400,2.430,3.930,1.930,2.290,3.440,
+0.244,0.193,0.186,0.315,1.780,0.144,0.936,1.330,2.050,1.820,
+1.380,2.520,4.870,1.890,2.300,4.060,3.270,2.090,2.140,2.950,
+2.170,0.155,1.040,1.890,3.300,2.000,2.050,5.030,5.910,3.230,
+1.820,3.370,2.780,1.650,1.140,1.830,1.930,0.153,0.833,1.490,
+2.300,1.830,1.120,2.540,2.900,1.840,0.995,1.560,1.380,0.592,
+0.713,0.870,1.360,0.105,0.763,1.150,1.180,1.180,0.917,1.470,
+2.850,1.830,1.310,2.090,0.160,0.112,0.089,0.157,1.540,0.225,
+0.780,1.140,1.340,1.520,0.957,1.740,2.650,1.580,1.220,2.150,
+1.840,1.280,0.997,1.500,1.440,0.100,0.682,1.260,1.660,1.220,
+1.060,2.570,5.370,2.550,2.060,3.220,2.930,1.690,1.840,2.170,
+2.630,0.278,1.380,2.000,2.640,2.360,2.000,3.670,0.286,0.207,
+0.139,0.225,0.144,0.153,0.121,0.143,0.165,0.030,0.128,0.193,
+0.220,0.259,0.156,0.265,3.700,2.140,1.860,2.480,0.208,0.273,
+0.112,0.184,1.470,0.133,0.953,1.360,1.520,1.480,1.380,1.910,
+3.180,1.650,1.770,2.620,2.430,2.610,1.620,2.250,1.970,0.153,
+1.270,2.090,2.080,1.790,1.970,3.580,4.910,2.320,2.220,4.140,
+2.140,1.280,1.410,1.900,2.190,0.165,1.330,1.960,2.970,1.960,
+1.760,4.140,3.130,1.870,1.530,2.420,1.630,1.290,1.200,1.710,
+1.550,0.124,1.460,2.520,1.900,1.720,1.510,2.720,2.660,1.310,
+1.680,2.480,0.137,0.102,0.094,0.168,1.420,0.102,1.040,1.420,
+1.670,1.510,1.620,2.430,3.440,1.160,1.940,3.250,2.100,1.500,
+1.380,2.330,2.380,0.151,1.450,2.540,3.670,2.920,3.260,6.120,
+14.4,4.860,3.570,7.580,3.370,2.160,1.710,2.780,3.580,0.309,
+1.500,2.810,5.170,3.820,2.200,5.220,6.110,3.470,2.220,3.890,
+2.800,1.740,1.880,2.160,3.330,0.256,1.690,2.410,4.030,3.190,
+2.140,3.590,4.230,3.200,3.180,4.720,0.366,0.274,0.243,0.562,
+2.050,0.172,1.020,1.590,2.080,2.380,1.460,2.900,6.310,2.930,
+3.370,6.970,3.810,2.480,2.380,4.340,2.970,0.237,1.520,2.910,
+4.810,3.100,3.290,9.580,0.808,0.411,0.244,0.467,0.298,0.231,
+0.161,0.245,0.292,0.037,0.126,0.240,0.362,0.373,0.199,0.441,
+0.443,0.310,0.163,0.276,0.256,0.187,0.152,0.173,0.311,0.034,
+0.166,0.222,0.365,0.327,0.187,0.317,0.332,0.277,0.197,0.358,
+0.023,0.025,0.019,0.034,0.222,0.028,0.128,0.172,0.225,0.255,
+0.160,0.307,0.718,0.382,0.325,0.773,0.511,0.422,0.309,0.555,
+0.322,0.027,0.178,0.337,0.494,0.376,0.341,0.841,4.140,2.300,
+1.580,2.400,2.160,1.560,1.660,1.780,2.990,0.340,1.510,2.090,
+2.570,2.140,2.010,3.540,0.284,0.220,0.128,0.202,0.147,0.128,
+0.115,0.116,0.255,0.028,0.118,0.158,0.331,0.281,0.172,0.295,
+2.080,1.900,1.320,1.710,0.204,0.141,0.122,0.165,1.490,0.138,
+0.639,0.952,1.160,1.380,1.060,1.670,2.790,2.110,1.700,2.180,
+2.400,1.980,1.490,2.080,1.910,0.184,1.310,1.840,2.000,1.760,
+1.910,3.180,4.320,2.120,1.760,3.230,2.080,1.220,1.380,1.560,
+2.660,0.272,1.260,2.360,3.440,2.790,1.730,4.180,3.970,2.420,
+1.690,2.730,2.100,1.570,1.490,1.570,2.620,0.178,1.480,2.240,
+3.370,2.580,1.770,3.220,2.660,2.070,1.440,2.440,0.195,0.150,
+0.122,0.202,1.910,0.141,1.110,1.600,1.800,2.030,1.510,2.660,
+4.210,2.460,2.350,3.480,2.730,1.980,1.800,2.700,3.200,0.263,
+2.110,3.100,4.370,3.490,3.400,6.560,15.0,5.810,4.950,11.5,
+4.400,2.390,2.460,3.350,4.520,0.343,1.950,3.640,8.100,4.800,
+3.520,9.040,5.410,2.560,2.010,3.700,2.480,1.310,1.490,1.930,
+3.000,0.205,1.440,2.280,3.640,2.400,1.980,3.790,6.090,3.400,
+3.220,6.620,0.400,0.248,0.234,0.631,3.020,0.187,1.430,2.540,
+3.380,2.750,2.070,4.590,12.0,4.480,5.920,16.8,5.430,2.930,
+3.480,7.000,4.640,0.293,2.540,4.590,8.670,4.750,5.420,15.6,
+7.770,3.710,2.600,5.330,3.470,2.010,1.630,2.500,3.390,0.231,
+1.550,2.840,3.770,2.970,1.930,4.380,4.440,2.340,1.480,2.670,
+2.260,1.450,1.190,1.550,2.850,0.231,1.360,2.170,2.970,2.310,
+1.380,2.540,3.990,2.630,1.980,4.200,0.212,0.178,0.118,0.284,
+2.720,0.175,1.310,2.210,2.690,2.460,1.770,3.470,6.120,2.900,
+3.020,6.850,3.850,2.690,2.380,4.360,3.430,0.180,1.720,3.090,
+4.560,3.060,3.010,6.810,5.580,3.010,2.370,3.900,3.640,2.030,
+1.990,2.880,4.380,0.368,2.010,3.180,3.680,2.740,2.730,4.980,
+0.353,0.254,0.176,0.321,0.187,0.169,0.152,0.182,0.373,0.029,
+0.158,0.249,0.349,0.326,0.205,0.379,3.560,3.070,2.090,3.310,
+0.198,0.175,0.148,0.258,2.520,0.207,1.410,2.550,2.280,2.380,
+2.040,3.590,4.040,2.550,2.540,4.240,3.840,2.720,2.540,4.070,
+3.610,0.226,2.300,3.730,3.810,2.830,3.810,6.330,10.8,4.460,
+4.420,8.830,4.250,2.370,2.950,3.410,4.820,0.365,2.320,4.190,
+7.290,4.470,3.810,10.4,5.390,3.110,2.480,4.550,2.790,1.920,
+2.120,2.590,3.340,0.185,1.970,3.340,4.160,3.170,2.580,5.490,
+5.840,4.350,3.530,6.140,0.333,0.245,0.220,0.435,5.040,0.280,
+2.360,3.940,5.130,4.510,3.730,6.490,12.6,5.510,6.660,14.2,
+7.510,4.880,5.880,9.090,8.730,0.406,5.040,9.020,16.9,9.600,
+11.2,19.7,13.6,7.910,7.070,11.6,7.540,4.080,3.660,4.570,
+6.490,0.594,2.910,4.770,10.4,6.890,4.620,7.970,7.860,4.410,
+3.430,4.390,4.570,2.540,2.370,2.550,3.720,0.305,2.400,2.990,
+3.810,3.040,2.670,4.020,5.940,3.420,2.970,4.700,0.584,0.303,
+0.271,0.509,2.490,0.228,1.380,2.000,3.240,2.720,2.340,3.420,
+9.260,3.350,3.420,6.320,10.6,4.120,3.240,4.710,3.870,0.279,
+2.060,3.160,6.050,3.270,3.660,6.840,9.210,4.710,3.420,5.140,
+4.690,2.760,2.080,2.620,3.740,0.374,2.030,2.840,5.250,3.720,
+2.570,4.350,5.560,3.090,2.070,2.890,2.790,1.710,1.530,1.750,
+2.950,0.270,1.830,2.510,2.550,2.170,1.920,2.540,3.530,2.620,
+1.830,2.760,0.305,0.204,0.186,0.255,2.800,0.459,1.320,1.760,
+2.300,2.550,1.880,2.430,3.680,1.970,1.510,2.650,3.690,2.030,
+1.460,2.240,2.590,0.192,1.300,2.040,3.540,2.270,2.350,4.210,
+5.960,2.960,2.380,3.690,4.390,2.630,2.450,2.960,3.300,0.405,
+1.660,2.370,3.340,2.930,2.340,4.760,0.379,0.345,0.209,0.334,
+0.287,0.249,0.208,0.259,0.249,0.048,0.178,0.248,0.306,0.425,
+0.250,0.435,2.670,2.000,1.800,2.290,0.229,0.155,0.164,0.263,
+1.880,0.185,1.120,1.600,1.650,1.870,1.870,2.480,3.030,1.590,
+1.680,2.670,3.260,2.110,2.030,2.690,2.590,0.230,1.690,2.260,
+2.890,2.600,2.880,4.750,7.190,2.490,2.290,5.090,3.110,1.570,
+1.740,2.280,3.330,0.348,1.570,2.440,3.970,2.790,2.080,4.940,
+4.740,3.000,2.280,3.650,2.830,1.980,1.870,2.610,2.570,0.220,
+1.780,2.880,2.720,2.610,2.150,3.870,3.060,2.190,1.880,2.830,
+0.212,0.145,0.204,0.264,2.010,0.210,1.240,2.030,1.990,2.270,
+2.100,2.930,4.460,2.000,2.110,4.080,2.570,1.590,1.730,2.420,
+3.060,0.225,2.080,3.390,4.790,3.470,3.960,7.670,9.620,5.530,
+4.100,6.840,4.870,3.100,2.530,3.020,3.750,0.377,1.570,2.350,
+5.460,4.600,3.320,5.000,5.380,3.440,2.250,3.310,2.920,1.990,
+2.000,1.970,2.270,0.244,1.480,2.110,2.000,2.080,1.820,2.510,
+3.150,2.180,1.820,2.560,0.244,0.194,0.165,0.269,1.550,0.148,
+0.899,1.190,2.830,1.740,1.680,2.360,4.470,1.810,1.780,3.100,
+3.290,2.420,1.660,2.290,2.040,0.165,1.110,1.670,3.300,1.950,
+2.080,4.100,5.910,3.770,2.020,3.740,3.880,2.630,1.620,2.180,
+2.110,0.224,1.130,1.720,2.350,2.290,1.570,3.460,4.110,2.900,
+1.570,2.640,2.100,0.896,1.230,1.530,1.830,0.225,1.220,1.790,
+1.420,1.670,1.210,2.050,3.030,2.140,1.400,2.130,0.203,0.200,
+0.144,0.202,1.630,0.224,0.933,1.250,1.370,1.810,1.360,1.960,
+2.290,1.440,1.470,1.970,1.950,1.660,1.180,1.590,1.540,0.125,
+0.903,1.380,1.770,1.410,1.240,2.580,4.600,2.370,1.770,2.700,
+3.730,2.430,2.160,2.280,2.590,0.472,1.450,1.780,2.380,2.630,
+1.980,3.540,0.292,0.296,0.153,0.309,0.241,0.302,0.233,0.215,
+0.320,0.196,0.218,0.219,0.210,0.760,0.190,0.265,2.950,2.110,
+1.700,2.320,0.223,0.261,0.185,0.247,1.590,0.205,1.180,1.440,
+1.360,1.750,1.830,2.140,2.760,1.240,1.590,2.330,2.650,2.180,
+2.010,2.390,2.140,0.204,1.550,2.000,2.290,2.150,2.580,3.850,
+4.000,1.910,1.660,2.790,2.410,1.300,1.390,1.740,2.090,0.193,
+1.170,1.490,2.280,1.680,1.530,3.350,3.290,2.250,1.600,2.530,
+2.160,1.810,1.750,2.450,1.960,0.308,1.480,2.390,1.560,2.070,
+1.450,2.440,1.970,1.570,1.260,1.840,0.131,0.110,0.093,0.149,
+1.180,0.102,0.966,1.250,1.280,1.410,1.490,2.050,3.060,1.300,
+1.440,2.320,1.910,1.270,1.310,1.810,1.870,0.135,1.310,2.130,
+2.760,2.280,2.630,4.440,7.250,4.240,3.220,6.970,3.150,2.230,
+1.750,2.470,2.860,0.307,1.440,2.100,3.580,3.290,2.230,3.900,
+4.850,3.320,2.020,3.450,2.620,2.030,1.860,2.070,2.720,0.305,
+2.120,2.430,2.450,3.490,1.850,2.910,2.760,2.810,2.410,3.180,
+0.274,0.250,0.262,0.469,1.780,0.199,1.030,1.450,1.420,2.000,
+1.400,2.290,3.450,1.990,1.990,4.230,2.790,1.950,2.120,3.180,
+2.330,0.229,1.510,2.410,3.300,2.380,2.690,6.240,0.327,0.265,
+0.155,0.281,0.248,0.217,0.160,0.191,0.177,0.031,0.115,0.164,
+0.241,0.247,0.167,0.274,0.290,0.256,0.127,0.183,0.241,0.239,
+0.181,0.186,0.218,0.045,0.190,0.214,0.201,0.272,0.140,0.205,
+0.180,0.197,0.143,0.187,0.025,0.034,0.034,0.037,0.177,0.038,
+0.145,0.154,0.130,0.211,0.164,0.209,0.313,0.189,0.150,0.357,
+0.287,0.268,0.226,0.344,0.189,0.028,0.158,0.226,0.238,0.217,
+0.223,0.411,3.580,2.620,1.780,2.390,2.520,2.390,2.230,2.240,
+2.770,0.396,1.830,2.410,2.120,2.300,2.150,3.510,0.243,0.272,
+0.142,0.207,0.168,0.253,0.207,0.160,0.251,0.047,0.205,0.236,
+0.219,0.328,0.212,0.284,1.920,2.430,1.700,2.330,0.185,0.238,
+0.191,0.248,1.790,0.226,1.120,1.400,1.170,1.780,1.560,2.320,
+2.110,1.750,1.690,2.190,2.490,2.950,1.960,2.580,2.110,0.278,
+1.850,2.420,2.020,2.030,2.520,3.940,3.820,2.190,1.670,3.050,
+1.910,1.310,1.170,1.480,2.340,0.242,1.300,2.170,2.590,2.330,
+2.090,3.650,3.800,2.990,1.880,2.820,2.480,2.570,2.040,2.130,
+2.740,0.261,2.100,3.180,2.370,2.850,2.040,3.150,2.660,2.340,
+1.760,2.530,0.184,0.176,0.172,0.223,1.910,0.182,1.460,1.790,
+1.660,2.250,1.900,2.760,3.130,2.070,1.930,3.440,2.310,1.880,
+1.630,2.410,2.790,0.229,2.540,3.390,3.700,3.390,3.730,6.170,
+9.550,3.950,3.770,8.040,3.700,1.920,2.100,3.140,3.340,0.277,
+1.530,2.750,4.910,3.480,2.750,5.730,4.050,2.190,1.640,2.790,
+2.000,1.280,1.370,1.820,2.230,0.162,1.330,1.960,2.370,1.830,
+1.550,2.680,3.700,2.470,2.090,3.720,0.251,0.166,0.161,0.409,
+2.070,0.155,1.050,1.730,2.020,1.910,1.490,3.230,5.360,2.480,
+2.940,6.390,3.190,1.800,2.070,4.140,3.040,0.205,1.810,3.080,
+5.090,3.030,3.410,8.900,6.280,3.510,2.400,4.470,3.360,2.310,
+1.980,2.500,2.990,0.269,1.820,2.910,3.720,3.220,1.970,4.200,
+4.220,2.710,1.600,2.560,2.660,2.090,1.690,2.080,3.050,0.255,
+1.870,2.830,3.260,2.420,1.720,2.710,2.800,2.480,1.680,3.080,
+0.177,0.188,0.149,0.312,2.270,0.212,1.400,2.120,2.200,2.600,
+1.820,3.150,3.760,2.160,2.090,4.540,3.040,2.390,2.200,4.500,
+2.750,0.202,2.020,3.040,3.450,2.690,2.800,5.980,4.330,2.570,
+2.090,3.260,3.090,2.280,2.200,2.940,3.260,0.362,2.080,2.960,
+3.060,2.720,2.630,4.670,0.250,0.208,0.139,0.244,0.157,0.192,
+0.177,0.183,0.187,0.026,0.147,0.203,0.231,0.272,0.187,0.303,
+2.400,2.450,1.840,3.170,0.145,0.162,0.150,0.294,2.040,0.203,
+1.640,2.320,1.850,2.180,2.160,3.520,2.790,1.900,1.970,3.450,
+2.730,2.430,2.320,3.720,2.640,0.222,2.540,3.270,3.090,2.340,
+3.670,5.740,6.730,3.240,3.020,5.390,2.820,1.740,2.150,2.470,
+3.120,0.310,1.800,2.870,4.010,2.800,2.490,5.860,4.460,2.560,
+2.010,3.150,2.500,1.900,2.090,2.290,2.320,0.162,1.680,2.640,
+2.550,2.240,1.790,3.250,3.710,2.780,2.570,4.420,0.235,0.171,
+0.162,0.338,2.900,0.208,2.030,2.800,3.410,3.380,3.110,4.780,
+6.800,3.130,3.520,7.150,3.980,2.860,3.290,5.220,4.600,0.279,
+3.690,5.790,8.140,5.230,6.750,9.360,5.840,4.760,4.690,6.860,
+4.250,2.520,2.410,3.040,3.690,0.356,1.880,3.030,5.270,3.970,
+2.900,5.000,4.570,2.440,2.010,2.980,2.610,1.450,1.590,2.220,
+2.150,0.170,1.220,1.780,2.220,1.930,1.610,2.770,3.850,2.580,
+1.840,3.110,0.274,0.175,0.150,0.365,1.950,0.163,1.200,2.040,
+1.780,2.090,1.840,2.660,5.500,2.430,2.110,4.270,3.530,1.960,
+1.730,3.190,3.550,0.210,1.400,2.190,3.380,2.170,2.240,4.630,
+7.040,3.410,2.300,4.450,3.730,2.250,2.020,2.370,2.730,0.253,
+1.210,1.930,2.730,2.310,1.640,3.130,3.970,2.230,1.370,2.110,
+2.210,1.110,1.330,1.570,2.190,0.167,1.190,1.600,1.740,1.490,
+1.090,1.760,2.990,2.420,1.670,2.460,0.254,0.188,0.180,0.256,
+2.460,0.371,1.210,1.870,1.570,2.420,1.580,2.240,3.450,1.990,
+1.240,2.640,2.870,1.970,1.490,2.480,2.200,0.170,1.100,1.980,
+2.300,2.220,1.740,3.550,4.690,2.620,1.820,3.090,3.710,2.490,
+2.720,2.780,3.270,0.356,1.430,2.170,3.060,2.800,2.380,4.170,
+0.369,0.341,0.202,0.287,0.302,0.285,0.372,0.300,0.269,0.041,
+0.218,0.252,0.381,0.479,0.295,0.471,2.500,1.830,1.870,2.310,
+0.228,0.175,0.200,0.290,1.930,0.257,1.160,1.500,1.710,2.780,
+2.220,2.290,2.490,1.440,1.280,2.180,3.060,2.290,2.070,2.830,
+2.230,0.259,1.410,2.150,2.790,3.890,2.490,4.070,5.010,2.200,
+1.850,3.600,2.460,1.470,2.010,2.010,3.040,0.264,1.360,1.970,
+3.630,2.510,2.270,4.330,3.450,2.310,1.660,2.340,2.220,2.030,
+2.330,2.190,2.120,0.171,1.640,2.050,2.530,2.230,2.130,3.100,
+2.700,2.400,2.080,2.920,0.255,0.162,0.177,0.283,2.000,0.179,
+1.560,2.100,2.110,2.570,2.450,3.180,3.830,2.100,1.870,3.610,
+2.350,1.450,1.870,2.650,3.220,0.224,2.070,3.640,4.870,3.790,
+4.090,7.590,0.437,0.325,0.252,0.359,0.293,0.221,0.183,0.241,
+0.238,0.041,0.132,0.185,0.311,0.452,0.243,0.353,0.340,0.235,
+0.218,0.250,0.246,0.179,0.237,0.225,0.187,0.035,0.129,0.181,
+0.169,0.203,0.168,0.257,0.242,0.182,0.172,0.227,0.024,0.019,
+0.017,0.033,0.156,0.018,0.105,0.150,0.130,0.175,0.159,0.235,
+0.311,0.176,0.158,0.275,0.265,0.193,0.173,0.269,0.249,0.027,
+0.148,0.195,0.244,0.238,0.235,0.431,0.354,0.260,0.148,0.255,
+0.228,0.203,0.159,0.170,0.156,0.023,0.082,0.130,0.145,0.166,
+0.137,0.220,0.270,0.242,0.133,0.164,0.226,0.176,0.163,0.175,
+0.193,0.033,0.121,0.148,0.130,0.160,0.133,0.175,0.198,0.185,
+0.145,0.191,0.023,0.032,0.026,0.024,0.204,0.050,0.134,0.179,
+0.118,0.206,0.165,0.199,0.210,0.138,0.103,0.183,0.190,0.167,
+0.132,0.182,0.154,0.018,0.096,0.141,0.152,0.179,0.133,0.259,
+0.290,0.178,0.139,0.187,0.249,0.226,0.320,0.210,0.201,0.034,
+0.153,0.149,0.168,0.239,0.179,0.273,0.023,0.027,0.018,0.025,
+0.026,0.038,0.049,0.030,0.025,0.012,0.055,0.026,0.018,0.059,
+0.031,0.034,0.241,0.195,0.286,0.263,0.031,0.037,0.044,0.034,
+0.182,0.035,0.157,0.167,0.158,0.311,0.220,0.234,0.213,0.148,
+0.125,0.195,0.271,0.322,0.221,0.258,0.222,0.069,0.177,0.219,
+0.314,1.640,0.311,0.407,0.343,0.257,0.188,0.292,0.211,0.163,
+0.189,0.183,0.222,0.027,0.125,0.168,0.272,0.261,0.231,0.431,
+0.324,0.244,0.188,0.262,0.263,0.242,0.275,0.288,0.209,0.026,
+0.218,0.243,0.239,0.316,0.253,0.361,0.216,0.197,0.186,0.251,
+0.021,0.020,0.019,0.027,0.164,0.022,0.166,0.202,0.154,0.213,
+0.225,0.300,0.285,0.182,0.159,0.285,0.210,0.170,0.169,0.240,
+0.261,0.027,0.182,0.314,0.340,0.449,0.351,0.666,4.960,2.980,
+2.420,3.880,2.650,1.850,1.590,2.070,2.350,0.203,1.220,1.820,
+2.270,1.880,1.630,2.690,3.590,2.470,1.590,2.210,2.990,1.750,
+2.030,2.000,2.570,0.229,1.900,2.010,1.750,2.110,1.660,2.340,
+2.390,2.500,1.780,2.450,0.279,0.253,0.217,0.414,1.730,0.196,
+1.500,1.710,1.180,1.980,1.460,2.140,2.420,1.590,1.320,2.350,
+2.360,1.660,1.500,2.300,2.270,0.190,1.660,2.520,2.300,1.780,
+2.530,4.410,0.319,0.217,0.140,0.223,0.232,0.220,0.205,0.187,
+0.132,0.024,0.095,0.131,0.137,0.155,0.115,0.219,0.218,0.181,
+0.091,0.129,0.317,0.168,0.165,0.142,0.144,0.030,0.144,0.147,
+0.105,0.133,0.104,0.131,0.151,0.190,0.120,0.160,0.023,0.036,
+0.029,0.030,0.138,0.037,0.221,0.204,0.083,0.176,0.128,0.163,
+0.249,0.165,0.111,0.240,0.255,0.245,0.167,0.269,0.170,0.019,
+0.135,0.273,0.170,0.163,0.181,0.336,3.310,1.950,2.170,1.980,
+2.920,2.540,6.370,2.610,2.100,0.315,1.770,2.560,1.600,1.750,
+2.210,3.490,0.213,0.222,0.160,0.145,0.212,0.244,0.379,0.170,
+0.164,0.038,0.202,0.200,0.165,0.238,0.276,0.260,2.440,2.180,
+1.860,2.010,0.205,0.208,0.276,0.247,1.560,0.194,0.747,1.110,
+0.952,1.440,1.370,1.620,1.690,1.130,1.060,1.440,2.130,1.900,
+1.910,1.860,1.680,0.183,1.540,1.830,1.570,1.700,2.030,2.680,
+3.510,1.850,1.650,2.110,1.950,1.380,1.960,1.410,1.720,0.185,
+1.290,1.760,1.740,1.650,1.390,2.510,2.840,2.090,1.740,1.790,
+2.280,2.010,2.240,1.590,1.870,0.173,2.000,2.070,1.670,2.020,
+1.910,2.330,2.650,2.220,2.350,2.450,0.191,0.183,0.194,0.226,
+1.960,0.211,2.670,2.690,1.430,1.990,2.130,2.470,2.410,1.430,
+1.500,2.080,1.850,1.590,1.550,1.820,2.360,0.193,2.320,2.650,
+2.690,2.630,2.890,3.970,5.800,2.460,2.020,3.970,2.610,1.420,
+1.340,1.990,2.260,0.202,1.040,1.680,2.840,2.240,1.870,3.380,
+3.290,1.840,1.210,1.900,1.800,0.998,1.240,1.570,1.560,0.105,
+0.971,1.370,1.420,1.290,1.130,1.940,2.850,2.090,1.300,2.440,
+0.210,0.144,0.118,0.303,1.850,0.133,1.080,1.730,1.460,1.610,
+1.560,2.640,3.720,2.040,1.580,3.010,2.280,1.420,1.330,2.300,
+2.070,0.149,1.320,2.130,2.750,1.830,2.230,5.090,5.800,2.900,
+2.010,3.660,2.980,2.020,1.680,2.160,2.280,0.196,1.350,2.030,
+2.310,2.210,1.490,3.070,3.310,2.200,1.270,2.030,2.310,1.650,
+1.660,1.950,1.910,0.139,1.450,1.960,1.400,1.450,1.100,1.860,
+2.720,2.290,1.530,2.860,0.202,0.174,0.125,0.239,2.060,0.206,
+1.620,2.390,1.550,2.200,1.670,2.840,3.350,2.230,1.740,3.060,
+2.910,2.160,1.770,2.910,2.350,0.173,1.580,2.810,2.390,2.140,
+2.210,4.520,4.360,2.180,1.910,2.610,3.360,2.370,3.490,2.880,
+2.650,0.321,1.690,2.790,2.330,2.780,2.790,4.310,0.269,0.189,
+0.175,0.209,0.199,0.219,0.718,0.246,0.144,0.030,0.178,0.341,
+0.185,0.281,0.215,0.290,2.730,2.400,1.860,2.560,0.186,0.168,
+0.331,0.276,2.190,0.239,1.500,2.290,1.620,2.440,1.890,3.010,
+2.740,1.880,1.720,2.450,2.950,2.420,2.910,3.150,2.570,0.236,
+2.320,3.900,2.600,2.590,3.210,4.900,4.980,2.140,1.810,3.000,
+2.330,1.470,1.600,1.740,2.390,0.268,1.400,2.160,2.530,2.040,
+1.730,3.820,3.350,1.980,1.460,2.130,2.160,1.720,2.210,1.900,
+1.780,0.121,1.480,2.280,1.850,1.750,1.690,2.690,3.180,2.620,
+2.310,3.300,0.203,0.179,0.172,0.276,2.690,0.201,2.350,3.190,
+2.250,2.620,2.500,3.150,4.380,2.230,2.200,4.110,3.040,2.190,
+2.730,3.560,3.510,0.223,2.870,4.640,4.580,3.560,4.160,6.750,
+21.5,7.470,6.920,14.1,5.910,3.160,2.870,4.180,6.030,0.456,
+2.680,4.750,9.640,6.620,3.960,9.270,6.350,2.980,2.300,3.610,
+2.970,1.600,1.700,2.300,3.050,0.174,1.520,2.220,3.400,2.640,
+2.020,3.750,5.000,2.810,2.480,4.940,0.332,0.215,0.179,0.454,
+3.140,0.327,1.320,2.230,2.860,3.040,2.530,4.130,8.120,3.280,
+3.140,7.140,5.000,2.550,2.430,4.400,3.780,0.242,1.860,3.350,
+7.680,3.710,3.950,10.1,8.590,3.500,2.320,4.620,3.400,1.930,
+1.510,2.080,2.650,0.267,1.120,1.980,3.260,2.450,1.640,3.380,
+3.910,1.950,1.270,2.080,1.950,1.040,1.010,1.270,2.270,0.199,
+1.110,1.550,2.120,1.570,1.260,2.090,3.140,2.350,1.490,2.810,
+0.239,0.294,0.111,0.219,6.160,2.430,1.230,1.990,2.420,5.710,
+1.490,2.540,3.380,1.810,1.500,2.730,2.470,1.610,1.160,1.930,
+2.320,0.332,1.010,1.780,2.650,2.270,2.030,3.920,6.580,2.680,
+2.070,3.940,3.980,3.290,2.040,3.210,3.370,0.336,1.220,2.380,
+4.520,3.310,2.280,5.630,0.378,0.221,0.150,0.294,0.267,0.210,
+0.179,0.280,0.245,0.024,0.122,0.231,0.461,0.410,0.221,0.522,
+2.910,1.860,1.770,2.810,0.224,0.151,0.132,0.270,2.580,0.259,
+0.965,1.700,2.240,2.330,2.150,2.950,3.410,1.780,1.680,3.210,
+3.230,1.970,1.710,2.970,2.620,0.199,1.420,2.600,3.720,2.750,
+2.770,5.780,10.1,3.520,3.170,7.400,3.830,2.300,2.250,3.320,
+4.640,0.347,2.190,3.790,8.390,4.540,3.600,8.810,5.160,2.600,
+2.110,3.420,2.590,1.780,1.680,2.310,3.010,0.166,1.720,2.840,
+4.470,3.280,2.560,4.990,3.880,2.810,2.280,3.700,0.246,0.170,
+0.148,0.301,3.200,0.296,1.740,2.940,3.390,3.940,3.420,5.470,
+7.480,3.370,3.300,8.250,4.220,2.450,2.420,4.240,5.190,0.303,
+3.140,5.630,9.720,6.840,7.650,17.8,7.590,3.750,2.790,5.620,
+3.670,2.150,1.700,2.440,2.930,0.235,1.320,2.400,3.810,2.960,
+2.470,4.730,3.950,2.240,1.710,2.790,2.300,1.450,1.820,1.850,
+1.960,0.133,1.090,1.610,1.860,1.600,1.340,2.490,3.210,1.880,
+1.410,2.680,0.177,0.129,0.101,0.227,1.670,0.132,0.898,1.370,
+1.680,1.660,1.680,2.610,3.550,1.870,1.580,3.150,2.540,1.650,
+1.320,2.240,2.040,0.156,1.130,1.960,2.790,2.080,2.070,5.310,
+5.240,2.780,1.640,3.110,2.640,1.750,1.160,1.700,1.690,0.136,
+0.808,1.510,2.120,1.660,1.190,2.690,2.770,1.840,1.010,1.730,
+1.640,1.120,0.941,1.260,1.510,0.114,0.789,1.220,1.370,1.230,
+0.922,1.820,2.360,1.680,1.080,2.030,0.135,0.110,0.074,0.142,
+1.980,0.283,0.848,1.410,1.470,1.800,1.540,2.300,2.170,1.330,
+1.310,2.020,1.740,1.340,0.910,1.520,1.440,0.111,0.789,1.460,
+1.810,1.520,1.380,2.920,4.140,1.880,1.550,2.550,2.480,1.660,
+1.530,2.110,2.110,0.227,0.957,1.660,2.440,2.190,1.550,3.770,
+0.194,0.131,0.088,0.168,0.131,0.143,0.103,0.198,0.110,0.018,
+0.102,0.125,0.182,0.237,0.123,0.242,2.580,1.760,1.550,2.200,
+0.168,0.166,0.109,0.202,1.710,0.150,0.943,1.600,1.770,1.930,
+1.530,2.710,2.740,1.550,1.430,2.440,2.620,2.620,1.650,2.470,
+2.140,0.211,1.340,2.400,2.720,3.510,2.430,5.250,4.760,2.240,
+1.900,3.990,2.280,1.420,1.430,1.930,2.860,0.216,1.270,2.090,
+3.780,2.620,2.030,5.000,3.590,2.090,1.590,2.660,2.050,1.600,
+1.380,2.250,1.980,0.154,1.350,2.250,2.590,2.620,2.010,3.640,
+2.560,1.950,1.590,2.670,0.142,0.116,0.088,0.185,1.830,0.128,
+1.420,2.050,1.970,1.940,1.950,3.580,3.840,1.890,1.860,3.540,
+2.540,1.860,1.520,2.290,3.020,0.185,1.930,3.450,4.350,3.220,
+3.670,8.560,7.750,4.290,3.290,6.420,4.270,2.580,1.930,2.950,
+4.650,0.313,1.850,2.790,4.120,3.140,2.130,4.720,5.510,3.530,
+2.090,3.440,3.320,2.150,1.870,2.260,3.500,0.266,2.090,2.720,
+3.350,3.540,2.410,4.140,3.760,3.270,2.280,4.050,0.313,0.277,
+0.208,0.481,2.740,0.229,1.490,2.180,2.200,2.930,2.140,3.650,
+4.170,2.640,2.150,4.930,3.200,2.220,1.870,3.490,3.420,0.248,
+2.080,3.340,4.130,3.030,4.000,7.950,0.401,0.292,0.173,0.335,
+0.441,0.282,0.155,0.242,0.258,0.023,0.119,0.215,0.236,0.234,
+0.165,0.346,0.269,0.217,0.113,0.195,0.244,0.207,0.134,0.162,
+0.200,0.025,0.164,0.234,0.201,0.224,0.140,0.258,0.199,0.180,
+0.107,0.216,0.021,0.021,0.016,0.024,0.227,0.049,0.127,0.183,
+0.145,0.248,0.151,0.254,0.318,0.208,0.149,0.412,0.286,0.256,
+0.161,0.317,0.225,0.022,0.140,0.264,0.285,0.248,0.245,0.527,
+5.140,2.930,2.170,2.910,3.800,2.870,2.840,2.830,2.990,0.378,
+1.780,3.200,2.670,2.730,2.490,4.910,0.263,0.215,0.132,0.194,
+0.309,0.192,0.157,0.149,0.185,0.029,0.149,0.192,0.259,0.305,
+0.233,0.344,2.780,2.890,2.140,2.790,0.226,0.237,0.169,0.260,
+2.230,0.232,1.170,1.960,1.730,2.270,2.000,3.070,3.020,2.410,
+1.800,2.820,3.290,3.410,2.080,2.770,3.010,0.277,2.260,3.230,
+3.110,2.780,3.240,5.200,6.020,3.190,2.370,4.140,3.470,2.250,
+1.850,2.470,3.160,0.278,2.440,3.280,3.620,2.930,2.370,5.040,
+5.140,3.300,2.410,3.620,3.570,2.650,2.080,2.250,3.150,0.232,
+2.790,3.360,3.660,3.880,2.930,4.640,3.960,3.450,2.680,3.970,
+0.225,0.219,0.180,0.347,3.320,0.243,2.610,3.730,2.890,3.490,
+3.240,4.610,4.740,2.860,2.640,4.170,2.960,2.540,2.080,2.930,
+4.250,0.302,3.710,4.600,4.890,4.430,4.830,7.820,21.5,5.750,
+4.280,10.3,5.130,2.680,2.160,3.800,5.040,0.337,2.180,3.810,
+6.640,4.410,3.420,8.910,6.160,3.060,1.840,3.370,3.120,1.900,
+1.500,2.160,3.120,0.184,1.770,2.520,3.070,2.530,1.880,3.870,
+5.320,3.390,2.370,6.010,0.295,0.210,0.152,0.473,3.240,0.219,
+1.620,2.920,3.180,3.090,2.380,5.140,8.390,4.210,3.390,8.750,
+4.240,2.600,2.240,5.020,4.550,0.292,2.700,4.990,7.340,5.220,
+5.370,15.7,8.280,4.160,2.810,5.780,4.610,2.950,1.850,2.920,
+3.160,0.219,1.560,3.040,3.700,2.970,2.110,4.870,5.360,3.300,
+1.760,3.080,3.720,3.580,1.570,2.230,2.980,0.177,1.670,2.660,
+2.610,2.390,1.550,3.160,3.820,2.920,1.700,4.950,0.201,0.170,
+0.100,0.298,2.940,0.259,1.680,2.900,2.830,3.000,2.070,4.380,
+4.810,2.800,2.100,5.250,3.350,2.640,1.780,4.030,3.360,0.193,
+1.960,3.600,4.710,3.530,3.190,7.990,8.420,4.040,3.170,4.780,
+5.760,3.440,2.950,4.600,4.410,0.400,2.300,4.170,4.980,3.890,
+3.410,7.540,0.328,0.247,0.150,0.268,0.252,0.205,0.187,0.231,
+0.179,0.019,0.147,0.251,0.332,0.299,0.192,0.442,4.620,3.720,
+2.670,4.790,0.242,0.188,0.162,0.376,3.710,0.280,2.590,3.890,
+3.380,3.710,3.770,6.250,5.830,3.560,3.050,5.340,4.780,3.630,
+3.390,5.870,5.010,0.300,3.900,5.920,5.700,4.010,5.770,10.1,
+20.5,6.190,4.490,10.6,6.590,3.630,3.010,4.760,5.980,0.432,
+3.100,5.660,9.500,6.390,4.970,14.3,7.590,4.150,2.780,5.290,
+4.780,3.130,2.440,3.610,4.260,0.232,2.780,4.510,5.870,4.510,
+3.700,8.030,7.030,5.130,3.720,6.990,0.291,0.235,0.197,0.506,
+5.830,0.311,3.660,5.850,6.480,6.120,5.780,10.2,18.4,5.330,
+4.680,12.8,5.730,3.700,4.270,10.1,7.590,0.396,5.180,9.930,
+13.2,7.570,7.080,26.2,39.2,13.0,6.160,12.8,17.0,7.230,
+5.470,6.920,12.3,1.110,4.130,6.680,16.5,11.1,7.000,10.5,
+19.4,8.480,4.740,6.540,8.710,5.390,4.150,4.110,7.560,0.565,
+3.590,4.540,5.890,4.880,3.590,5.820,12.1,8.280,5.360,8.490,
+0.974,0.767,0.525,1.120,6.080,0.563,3.340,4.560,5.980,6.560,
+3.780,5.850,16.3,6.810,6.230,13.3,10.3,6.560,5.310,9.990,
+7.190,0.585,3.750,6.290,9.510,5.550,5.400,9.310,25.2,9.160,
+4.870,7.910,11.5,6.080,3.750,4.130,6.500,0.674,2.630,3.880,
+5.310,5.080,2.850,4.770,10.6,6.110,2.950,3.960,5.850,3.810,
+2.610,2.730,4.840,0.481,2.390,3.200,3.060,3.090,2.030,3.170,
+6.700,5.720,3.050,4.340,0.529,0.473,0.319,0.458,4.220,0.418,
+2.360,3.260,2.920,4.070,2.460,3.680,5.690,3.760,2.290,3.960,
+5.200,3.750,2.380,3.360,4.230,0.324,2.020,3.210,3.850,3.070,
+2.980,5.240,11.2,4.940,3.720,5.420,8.570,4.640,3.750,3.980,
+6.160,0.675,2.440,4.040,4.760,4.230,3.130,5.810,0.840,0.590,
+0.327,0.492,0.691,0.674,0.371,0.409,0.563,0.088,0.335,0.517,
+0.610,0.764,0.431,0.709,4.750,4.000,2.960,3.500,0.490,0.338,
+0.318,0.426,3.240,0.343,1.980,2.800,2.340,3.240,2.320,2.920,
+4.280,2.810,2.360,3.830,6.240,3.940,3.340,4.020,4.180,0.368,
+2.360,3.800,3.510,3.340,3.410,4.810,17.7,6.160,4.730,9.540,
+7.550,3.610,3.030,3.770,7.460,0.733,2.800,4.430,7.890,5.470,
+3.890,8.940,10.1,5.720,3.820,5.400,6.440,4.290,3.200,3.500,
+6.500,0.433,2.980,4.900,5.990,5.290,4.050,6.470,6.010,4.730,
+3.520,4.750,0.516,0.376,0.314,0.439,3.880,0.300,2.140,3.430,
+3.600,4.370,3.130,4.500,8.530,4.240,3.430,6.970,5.150,3.400,
+2.700,4.100,5.710,0.386,3.070,5.520,7.040,5.100,4.710,8.000,
+17.3,9.490,5.350,9.210,7.730,4.520,2.780,2.520,4.110,0.503,
+1.890,2.850,4.680,5.210,3.120,4.670,8.960,6.630,3.340,4.350,
+6.140,4.140,3.030,2.910,3.890,0.429,2.180,3.160,2.710,3.130,
+2.090,3.270,5.100,5.460,2.960,4.640,0.541,0.576,0.347,0.492,
+2.340,0.263,1.580,2.180,2.080,3.030,1.910,3.010,4.780,2.540,
+2.360,3.980,4.160,3.480,2.380,2.730,2.310,0.253,1.450,2.110,
+2.580,2.110,2.290,3.680,10.7,7.880,3.310,4.780,5.750,4.900,
+2.800,2.380,3.170,0.434,1.410,2.050,2.400,3.120,1.660,2.640,
+5.880,4.730,2.200,2.560,3.930,2.260,2.270,2.120,2.980,0.399,
+1.690,2.250,1.650,2.250,1.370,1.780,4.230,5.150,2.190,2.880,
+0.447,0.634,0.324,0.319,2.700,0.434,1.610,2.060,1.660,3.470,
+1.750,2.670,3.030,2.310,1.320,2.030,3.580,3.400,1.820,1.870,
+2.300,0.244,1.170,1.670,1.700,1.820,1.450,2.410,5.810,3.950,
+2.370,3.320,5.770,4.160,3.710,2.920,3.250,0.437,1.560,2.470,
+2.350,2.640,1.980,3.340,0.382,0.441,0.218,0.305,0.385,0.524,
+0.349,0.262,0.295,0.083,0.246,0.326,0.212,0.401,0.236,0.321,
+3.740,4.870,2.680,2.940,0.439,0.501,0.365,0.371,2.800,0.368,
+1.860,2.340,1.630,2.940,2.180,2.500,2.520,1.880,1.490,2.160,
+3.900,3.900,2.730,2.790,2.730,0.263,1.790,2.770,2.020,2.010,
+2.340,3.400,5.580,2.380,1.910,3.110,3.530,2.190,1.570,1.750,
+2.480,0.237,1.030,1.660,2.560,2.090,1.450,3.000,4.400,3.400,
+2.310,2.920,3.330,3.130,2.070,2.240,2.130,0.224,1.550,2.280,
+1.830,2.520,1.860,2.820,3.430,3.570,2.320,2.890,0.308,0.300,
+0.189,0.267,2.520,0.223,1.570,2.180,1.880,2.890,1.900,2.730,
+3.890,2.190,1.910,2.850,2.860,2.410,1.860,2.240,3.050,0.349,
+1.830,2.990,3.450,3.380,3.090,4.490,7.850,5.360,3.010,4.700,
+4.200,2.810,1.780,2.340,3.040,0.345,1.350,2.220,3.160,3.230,
+1.670,3.460,5.930,4.430,2.690,3.050,3.380,2.550,1.960,1.910,
+4.100,0.440,2.120,2.500,2.500,3.450,1.590,2.700,3.550,4.370,
+2.510,3.430,0.424,0.492,0.358,0.572,2.380,0.276,1.180,1.820,
+1.930,3.200,1.640,3.110,3.550,2.130,2.070,3.250,3.140,2.610,
+2.270,2.990,2.650,0.274,1.530,2.640,3.050,2.250,3.080,6.220,
+0.592,0.457,0.270,0.373,0.649,0.441,0.231,0.266,0.279,0.054,
+0.157,0.232,0.235,0.350,0.175,0.313,0.441,0.387,0.279,0.248,
+0.381,0.366,0.247,0.208,0.343,0.096,0.237,0.278,0.202,0.370,
+0.159,0.230,0.279,0.420,0.228,0.268,0.055,0.083,0.063,0.052,
+0.284,0.069,0.181,0.261,0.203,0.412,0.206,0.336,0.409,0.264,
+0.216,0.392,0.508,0.559,0.431,0.468,0.330,0.046,0.232,0.336,
+0.333,0.304,0.354,0.590,3.540,2.470,1.500,2.030,3.090,2.710,
+1.760,1.730,2.680,0.430,1.580,2.680,1.600,2.090,1.460,2.100,
+0.313,0.337,0.151,0.178,0.244,0.283,0.196,0.155,0.261,0.068,
+0.198,0.299,0.222,0.398,0.173,0.236,2.090,3.100,1.590,1.580,
+0.244,0.348,0.212,0.223,1.830,0.280,0.956,1.350,1.170,2.230,
+1.380,1.450,1.700,1.420,1.110,1.350,2.180,2.390,1.560,1.920,
+1.970,0.237,1.400,1.980,1.350,1.690,1.640,1.920,3.950,1.950,
+1.330,2.470,2.780,1.520,0.968,1.310,2.360,0.266,1.310,1.790,
+2.210,1.880,1.200,2.460,4.490,3.190,1.820,2.350,3.130,2.610,
+1.700,1.730,2.500,0.281,1.750,2.580,2.400,3.380,1.700,2.480,
+2.850,3.270,2.380,2.330,0.286,0.351,0.212,0.254,2.160,0.244,
+1.440,2.110,1.870,2.880,2.040,2.780,3.310,1.810,1.820,2.200,
+2.610,2.430,1.680,2.140,2.920,0.318,2.410,2.970,2.980,3.100,
+2.980,4.160,11.4,5.630,3.690,7.480,4.390,2.500,1.960,2.750,
+3.500,0.367,1.560,2.780,5.360,4.100,2.460,5.590,4.990,3.160,
+1.830,2.760,2.530,1.640,1.420,1.580,2.690,0.233,1.440,2.380,
+2.370,2.260,1.410,2.710,3.930,3.290,2.080,3.600,0.327,0.280,
+0.196,0.409,2.130,0.186,0.940,1.850,2.400,2.240,1.410,2.860,
+5.580,2.830,2.850,6.160,3.660,2.570,2.180,3.650,3.140,0.240,
+1.730,3.270,4.910,3.050,3.520,8.050,8.030,5.000,2.710,5.270,
+5.700,3.610,2.110,3.180,3.460,0.394,1.640,3.040,3.130,3.400,
+1.810,3.580,5.030,3.500,2.100,2.980,3.640,2.640,1.630,1.940,
+3.120,0.673,1.840,3.370,2.170,2.920,1.330,2.500,3.390,3.330,
+1.660,2.920,0.261,0.286,0.174,0.293,2.570,0.256,1.390,2.590,
+2.090,2.740,1.610,3.140,4.060,2.250,1.840,3.650,3.790,3.310,
+2.120,3.490,3.260,0.251,1.780,2.970,3.140,2.640,2.930,4.900,
+4.390,2.630,2.020,3.050,3.730,2.470,1.960,2.510,3.290,0.417,
+2.280,4.280,2.640,2.530,2.050,3.360,0.355,0.286,0.160,0.297,
+0.254,0.266,0.183,0.221,0.268,0.065,0.307,1.680,0.247,0.334,
+0.197,0.445,2.500,2.920,1.680,2.320,0.225,0.208,0.171,0.287,
+2.320,0.235,1.260,2.140,1.880,2.400,1.650,2.410,2.750,1.880,
+1.780,2.380,3.310,2.450,2.390,3.090,3.150,0.300,1.820,3.440,
+2.420,2.310,2.280,3.460,7.150,3.150,2.310,4.210,3.780,2.090,
+1.790,2.200,3.470,0.313,1.700,2.820,4.200,2.960,2.470,5.370,
+3.940,2.630,1.590,2.430,2.660,2.000,1.480,1.930,2.400,0.200,
+1.640,4.230,2.530,2.630,1.880,3.520,4.200,4.250,2.560,3.570,
+0.367,0.331,0.182,0.316,3.400,0.251,1.970,3.120,3.650,3.940,
+2.760,4.120,5.860,3.230,2.680,5.280,4.390,3.530,2.500,3.800,
+5.230,0.313,3.300,5.440,6.920,4.590,4.780,8.340,15.6,9.590,
+6.040,10.1,12.7,7.010,4.400,4.830,6.870,0.778,2.980,4.510,
+7.630,7.090,3.560,6.070,8.440,7.240,3.820,4.330,6.810,5.290,
+3.460,3.200,4.910,0.523,3.150,3.430,3.220,3.870,2.540,3.900,
+4.420,4.280,2.860,3.640,0.490,0.433,0.335,0.503,2.610,0.316,
+1.980,1.940,2.270,3.150,2.080,2.960,5.540,2.960,2.370,4.390,
+5.230,3.750,2.470,3.650,3.220,0.440,1.920,2.770,3.590,2.810,
+2.980,4.890,13.6,8.040,3.480,5.550,24.9,7.160,3.700,3.740,
+5.810,0.700,2.520,3.390,3.660,4.620,2.150,4.050,6.990,5.980,
+2.440,2.960,6.130,3.790,2.610,2.650,3.960,0.563,2.810,3.220,
+2.310,3.230,1.860,3.270,3.540,3.980,1.940,2.390,0.624,0.429,
+0.335,0.343,2.750,0.424,1.950,2.080,1.890,3.340,2.100,2.640,
+2.870,2.430,1.120,1.860,3.700,2.960,1.510,2.110,2.220,0.244,
+1.400,1.960,1.990,2.110,1.870,3.150,5.590,3.730,2.000,2.870,
+8.210,6.180,2.810,3.050,4.550,0.649,1.750,2.310,2.640,2.900,
+1.780,3.260,0.491,0.799,0.257,0.372,0.835,1.950,0.420,0.476,
+0.426,0.137,0.319,0.416,0.308,0.621,0.275,0.432,2.470,2.960,
+1.900,2.110,0.359,0.377,0.218,0.324,2.350,0.331,1.660,2.130,
+1.470,2.380,1.630,2.070,2.070,1.710,1.200,2.000,3.420,3.340,
+1.900,2.690,2.450,0.335,1.880,2.310,2.010,2.390,2.010,2.980,
+5.480,2.900,1.890,3.740,3.500,2.460,1.350,1.800,2.960,0.367,
+1.250,2.020,2.930,2.250,1.590,3.610,5.040,4.690,2.370,3.470,
+4.700,5.890,2.380,2.630,2.840,0.381,2.040,2.860,2.180,3.020,
+1.850,3.140,2.400,2.410,1.740,2.370,0.347,0.250,0.231,0.289,
+1.850,0.232,1.200,1.950,1.630,2.440,1.480,2.440,3.650,2.150,
+1.560,3.110,2.580,2.250,1.650,2.230,2.670,0.264,1.750,3.260,
+3.580,3.200,2.980,5.330,9.330,6.570,3.840,5.590,7.600,5.850,
+3.410,3.460,3.290,0.448,1.550,2.340,2.930,3.240,1.850,3.210,
+6.000,5.970,2.860,3.060,5.970,4.700,3.150,2.790,2.920,0.472,
+2.210,2.680,1.610,2.440,1.630,2.190,2.640,3.550,2.240,2.440,
+0.355,0.471,0.341,0.374,1.590,0.245,1.350,1.440,1.140,2.110,
+1.440,2.030,2.350,1.470,1.240,2.160,2.870,2.850,1.780,2.310,
+1.850,0.259,1.140,1.540,1.770,1.570,1.550,2.870,6.230,5.500,
+2.250,2.840,6.850,5.740,2.650,2.400,2.740,0.421,1.350,1.780,
+1.590,2.390,1.080,1.820,4.090,4.060,1.840,1.830,2.410,0.966,
+1.660,1.430,2.440,0.490,1.870,2.360,1.070,2.010,1.240,1.440,
+2.380,3.830,1.690,1.980,0.382,0.596,0.385,0.314,1.960,0.382,
+1.400,1.650,1.060,2.640,1.560,1.880,1.710,1.680,0.859,1.250,
+2.410,2.980,1.470,1.710,1.630,0.223,1.250,1.740,1.160,1.500,
+1.140,1.970,3.920,3.070,1.550,2.150,5.630,5.250,3.220,2.640,
+2.700,0.491,1.450,1.860,1.640,2.290,1.590,2.340,0.333,0.572,
+0.225,0.271,0.616,0.968,0.539,0.326,0.322,0.188,0.394,0.382,
+0.168,0.545,0.245,0.256,2.740,4.050,2.270,2.140,0.626,0.750,
+0.454,0.377,2.310,0.415,1.800,1.980,1.190,2.880,2.280,2.030,
+1.810,1.420,1.230,1.430,4.100,4.650,3.270,2.750,2.360,0.309,
+1.800,2.170,1.640,1.890,2.070,2.600,3.210,2.050,1.280,2.000,
+2.660,2.080,1.170,1.280,1.660,0.177,0.817,1.110,1.490,1.370,
+0.941,1.770,3.200,3.340,1.960,2.350,3.220,4.090,2.200,2.080,
+1.620,0.274,1.460,1.810,1.040,2.090,1.240,1.880,2.080,2.750,
+1.710,1.840,0.267,0.321,0.219,0.210,1.360,0.173,1.200,1.560,
+1.030,1.830,1.380,1.830,2.910,1.560,1.250,1.680,2.150,2.250,
+2.730,1.870,1.690,0.181,1.290,2.000,2.460,2.070,2.080,3.110,
+5.090,3.900,2.220,3.150,6.140,3.090,1.840,2.210,2.280,0.302,
+1.170,1.730,2.110,2.390,1.350,2.380,4.640,4.800,1.890,2.440,
+4.030,3.860,2.290,2.360,3.210,0.579,2.690,2.790,1.690,3.220,
+1.460,2.290,2.030,3.520,1.700,2.050,0.329,0.435,0.293,0.448,
+1.720,0.289,1.210,1.710,1.130,2.370,1.190,2.010,1.880,1.360,
+0.939,1.760,2.110,2.290,1.410,2.030,1.940,0.253,1.370,2.090,
+1.740,1.500,1.740,3.290,0.761,0.349,0.168,0.219,2.090,0.614,
+0.417,0.318,0.271,0.065,0.152,0.205,0.200,0.266,0.148,0.217,
+0.303,0.398,0.165,0.170,0.487,0.541,0.321,0.275,0.301,0.135,
+0.339,0.313,0.146,0.300,0.155,0.177,0.177,0.405,0.194,0.177,
+0.089,0.160,0.141,0.070,0.241,0.106,0.242,0.279,0.137,0.375,
+0.239,0.257,0.180,0.171,0.100,0.172,0.348,0.457,0.266,0.324,
+0.203,0.049,0.200,0.266,0.157,0.187,0.203,0.309,3.560,2.920,
+1.330,1.640,3.690,4.100,2.400,2.090,2.760,0.554,1.860,2.110,
+1.390,2.070,1.530,1.940,0.267,0.542,0.188,0.201,0.339,0.696,
+0.417,0.249,0.321,0.154,0.371,0.326,0.169,0.427,0.231,0.220,
+1.800,3.810,1.860,1.710,0.305,0.534,0.364,0.328,2.200,0.507,
+1.380,1.850,1.080,2.810,1.940,1.930,1.370,1.430,0.931,1.170,
+2.430,3.580,2.040,2.210,2.310,0.431,2.020,2.160,1.270,1.940,
+1.900,2.210,2.870,1.810,1.130,1.740,2.130,1.540,0.911,1.190,
+1.710,0.221,1.050,1.440,1.570,1.550,0.984,2.000,3.390,3.800,
+1.650,2.120,3.500,4.410,2.250,2.250,2.600,0.450,2.430,2.780,
+1.780,3.130,1.790,2.310,2.070,3.190,1.790,1.930,0.265,0.371,
+0.228,0.250,2.100,0.336,1.810,2.230,1.430,2.980,1.940,2.540,
+1.750,1.480,1.120,1.660,1.850,2.140,1.620,1.870,2.280,0.278,
+2.210,2.750,2.140,2.490,2.330,3.080,4.770,2.540,1.910,3.360,
+3.180,1.690,1.210,2.000,1.990,0.199,0.857,1.710,2.250,1.790,
+1.090,2.560,3.500,2.180,1.160,1.980,2.000,1.600,1.080,1.450,
+1.550,0.162,1.010,2.010,1.230,1.310,0.866,1.690,1.760,1.950,
+0.973,1.650,0.155,0.159,0.094,0.224,0.957,0.103,0.579,1.070,
+0.961,1.210,0.727,1.420,2.280,1.260,1.020,2.230,1.630,1.320,
+0.917,1.860,1.410,0.132,0.775,1.650,1.780,1.290,1.350,3.280,
+4.880,3.070,1.740,2.590,6.520,3.130,1.970,2.320,2.400,0.299,
+1.320,2.010,1.840,2.150,1.180,2.090,3.090,2.720,1.250,1.790,
+3.020,2.730,1.730,1.840,2.150,0.300,1.530,2.240,1.480,1.980,
+1.140,1.790,1.690,2.770,0.969,1.350,0.200,0.280,0.148,0.204,
+1.390,0.226,1.030,1.610,1.160,2.200,1.100,1.810,1.610,1.290,
+0.903,1.480,2.180,2.360,1.280,2.250,1.540,0.185,1.120,1.770,
+1.410,1.550,1.400,2.830,2.900,2.160,1.250,1.730,3.050,2.600,
+1.670,1.870,2.510,0.338,1.410,1.940,1.520,1.710,1.450,2.160,
+0.194,0.250,0.105,0.174,0.217,0.393,0.200,0.183,0.178,0.046,
+0.163,0.275,0.140,0.254,0.146,0.209,1.650,2.420,1.260,1.660,
+0.188,0.245,0.156,0.249,1.840,0.272,1.290,1.770,1.180,2.120,
+1.500,1.940,1.550,1.410,1.010,1.430,2.250,2.220,1.470,2.170,
+2.890,0.689,1.580,2.290,1.600,2.200,1.700,2.470,3.690,2.060,
+1.390,2.350,2.060,1.600,0.991,1.290,1.850,0.213,0.957,1.550,
+1.770,1.480,1.150,2.620,2.980,2.370,1.170,1.800,2.390,2.360,
+1.370,1.620,1.650,0.165,1.160,1.890,1.630,1.860,1.280,2.410,
+2.550,2.580,1.540,2.190,0.356,0.209,0.141,0.211,2.080,0.202,
+1.540,2.110,1.850,2.720,1.820,2.910,3.310,2.050,1.580,3.090,
+3.090,2.610,1.830,2.480,3.330,0.386,2.190,3.670,3.910,3.190,
+2.990,4.480,7.920,4.220,3.340,5.400,5.480,3.200,2.430,3.140,
+3.900,0.432,1.700,2.390,4.670,3.880,2.200,3.640,4.220,3.060,
+1.780,2.490,3.580,1.950,1.820,2.620,2.370,0.249,1.650,1.720,
+1.800,1.850,1.420,2.120,2.550,2.470,1.580,2.460,0.305,0.257,
+0.191,0.387,1.690,0.188,1.170,1.600,1.470,1.960,1.310,1.990,
+3.570,1.790,1.480,2.910,3.020,2.340,1.600,2.490,1.850,0.187,
+1.180,1.840,2.310,1.560,1.970,3.660,8.180,4.690,2.410,4.060,
+6.820,4.200,3.080,5.110,5.010,0.548,1.760,2.460,2.880,3.090,
+1.660,2.820,4.560,3.900,1.730,2.750,3.580,1.870,2.180,5.050,
+3.220,0.436,1.720,2.280,1.700,2.140,1.380,2.020,3.070,3.390,
+1.860,2.670,0.403,0.378,0.296,0.542,2.410,0.328,1.640,2.200,
+1.460,2.550,1.590,2.130,2.670,1.670,1.060,2.070,3.170,2.680,
+1.650,2.890,1.890,0.207,1.220,2.380,1.570,1.600,1.510,3.150,
+5.290,2.470,1.740,2.610,5.720,3.440,2.700,2.910,5.800,0.632,
+1.720,2.090,3.260,2.920,1.870,3.030,0.480,0.444,0.209,0.334,
+0.542,0.530,0.344,0.509,0.505,0.099,0.290,0.312,0.386,0.627,
+0.286,0.416,2.420,2.500,1.720,2.110,0.326,0.291,0.327,0.419,
+1.830,0.285,1.180,1.390,1.160,2.080,1.470,1.530,1.960,1.270,
+0.986,1.770,3.260,2.890,2.140,3.150,2.220,0.269,1.330,1.740,
+1.850,1.870,1.880,2.720,4.710,1.900,1.380,2.770,2.750,1.470,
+1.200,1.640,3.260,0.323,1.180,1.650,3.010,2.010,1.370,3.000,
+3.670,2.760,1.500,2.300,3.020,2.030,1.600,2.190,2.570,0.267,
+1.420,1.800,2.100,2.010,1.360,2.290,2.380,2.230,1.760,2.310,
+0.251,0.200,0.202,0.313,1.930,0.191,1.170,1.700,1.740,2.220,
+1.710,2.240,3.300,1.690,1.600,3.030,2.310,1.820,1.740,2.510,
+2.850,0.258,1.800,2.930,4.410,3.350,3.800,6.630,0.511,0.377,
+0.214,0.359,0.482,0.381,0.250,0.448,0.261,0.045,0.130,0.178,
+0.284,0.368,0.171,0.266,0.447,0.425,0.246,0.367,0.524,0.387,
+0.342,0.608,0.262,0.061,0.260,0.229,0.167,0.256,0.190,0.246,
+0.251,0.343,0.196,0.275,0.070,0.072,0.048,0.066,0.191,0.035,
+0.157,0.187,0.123,0.229,0.150,0.224,0.265,0.169,0.130,0.241,
+0.365,0.399,0.241,0.308,0.218,0.030,0.155,0.198,0.196,0.165,
+0.191,0.324,0.531,0.477,0.195,0.434,0.611,0.705,0.427,1.760,
+0.326,0.089,0.145,0.240,0.190,0.336,0.187,0.302,0.485,0.625,
+0.241,0.428,0.547,0.523,0.531,1.660,0.447,0.162,0.253,0.343,
+0.164,0.386,0.200,0.365,0.307,0.465,0.252,0.298,0.076,0.130,
+0.099,0.130,0.332,0.110,0.244,0.295,0.141,0.367,0.224,0.271,
+0.254,0.193,0.118,0.206,0.395,0.457,0.291,0.420,0.231,0.038,
+0.179,0.263,0.161,0.195,0.168,0.323,0.349,0.237,0.137,0.208,
+0.493,0.445,0.362,0.343,0.362,0.085,0.186,0.178,0.181,0.268,
+0.182,0.221,0.047,0.078,0.035,0.043,0.094,0.135,0.118,0.120,
+0.081,0.064,0.087,0.069,0.026,0.083,0.048,0.045,0.268,0.405,
+0.258,0.295,0.077,0.125,0.109,0.094,0.316,0.127,0.280,0.261,
+0.129,0.379,0.257,0.223,0.207,0.152,0.124,0.191,0.430,0.515,
+0.416,0.461,0.292,0.059,0.279,0.263,0.184,0.222,0.248,0.298,
+0.394,0.287,0.168,0.266,0.307,0.217,0.150,0.241,0.257,0.034,
+0.117,0.161,0.244,0.232,0.164,0.317,0.523,0.789,0.306,0.374,
+0.526,0.512,0.400,0.571,0.414,0.084,0.323,0.350,0.271,0.463,
+0.272,0.371,0.260,0.333,0.241,0.282,0.043,0.060,0.045,0.057,
+0.258,0.046,0.214,0.254,0.203,0.315,0.258,0.297,0.366,0.221,
+0.178,0.293,0.281,0.291,0.267,0.287,0.321,0.043,0.249,0.334,
+0.391,0.370,0.393,0.595,3.200,2.220,1.420,2.320,2.430,2.210,
+1.160,1.550,1.660,0.260,1.320,1.240,2.000,1.940,0.909,1.450,
+2.590,2.370,1.370,1.530,2.430,1.900,1.700,1.530,2.180,0.392,
+5.050,2.080,1.130,1.850,1.330,1.450,1.860,2.950,1.600,2.120,
+0.374,0.393,0.295,0.461,1.630,0.239,1.340,1.480,0.986,1.810,
+1.020,1.440,1.460,1.170,0.799,1.730,1.740,1.630,1.160,1.880,
+1.510,0.234,1.630,1.680,1.350,1.130,1.290,2.340,0.282,0.271,
+0.127,0.193,0.396,0.587,0.186,0.331,0.171,0.046,0.136,0.146,
+0.126,0.173,0.088,0.139,0.222,0.268,0.107,0.144,0.270,0.270,
+0.242,0.297,0.192,0.063,0.307,0.194,0.101,0.152,0.107,0.123,
+0.157,0.304,0.173,0.193,0.044,0.086,0.077,0.059,0.164,0.050,
+0.175,0.192,0.121,0.207,0.122,0.162,0.192,0.142,0.090,0.208,
+0.278,0.381,0.232,0.374,0.172,0.034,0.175,0.260,0.131,0.140,
+0.137,0.261,2.370,1.720,1.030,1.090,2.920,2.890,1.910,1.710,
+2.000,0.382,1.420,1.410,1.040,1.330,1.280,1.340,0.235,0.304,
+0.127,0.135,0.286,0.420,0.283,0.215,0.236,0.092,0.338,0.214,
+0.127,0.258,0.192,0.166,1.880,2.580,1.650,2.410,0.308,0.396,
+0.351,0.592,1.820,0.383,0.752,1.070,0.820,1.720,1.290,1.280,
+1.250,0.928,0.786,1.560,2.270,2.320,1.980,4.620,1.800,0.322,
+1.570,1.730,1.000,1.250,1.390,1.700,2.390,1.250,0.838,1.230,
+1.560,1.180,0.720,0.918,1.310,0.170,0.781,1.280,1.050,0.991,
+0.658,1.200,2.600,2.070,1.010,1.170,2.280,2.420,1.510,1.400,
+1.770,0.253,1.720,1.650,1.160,1.740,1.220,1.290,1.940,2.480,
+1.410,2.030,0.226,0.316,0.212,0.397,1.530,0.224,1.320,1.510,
+1.110,1.900,1.430,1.540,1.500,1.030,0.795,1.330,1.660,1.650,
+1.180,2.190,1.800,0.241,1.570,1.640,1.620,1.830,1.690,2.120,
+3.370,1.910,1.280,2.400,2.250,1.320,0.861,1.260,1.730,0.173,
+0.677,0.967,2.730,1.420,0.775,1.710,2.440,1.600,0.909,1.360,
+1.470,0.965,0.727,1.030,1.090,0.120,1.120,0.991,0.873,0.889,
+0.671,1.040,1.670,2.330,0.947,1.620,0.168,0.172,0.098,0.248,
+0.960,0.107,0.546,0.965,1.000,1.170,0.674,1.280,2.030,1.240,
+0.909,1.920,1.570,1.180,0.858,1.530,1.230,0.118,0.813,1.330,
+1.770,1.120,1.240,2.800,4.200,2.880,1.490,2.810,3.440,3.410,
+1.630,2.390,2.080,0.252,1.150,1.700,1.580,1.720,0.963,1.880,
+3.050,3.030,1.230,2.110,2.690,2.120,1.800,2.570,1.890,0.247,
+1.570,1.990,1.140,1.450,1.220,1.540,1.940,2.740,1.260,1.870,
+0.208,0.296,0.212,0.313,1.510,0.206,1.190,2.050,1.210,1.980,
+1.130,2.020,2.120,1.420,1.010,1.820,2.440,2.310,1.490,2.350,
+1.750,0.169,1.320,2.400,1.500,1.440,1.370,2.710,2.980,1.960,
+1.170,1.680,3.070,2.250,1.810,2.170,2.050,0.287,1.200,1.720,
+1.420,1.430,1.290,1.940,0.265,0.262,0.126,0.191,0.276,0.372,
+0.231,0.324,0.182,0.046,0.202,0.285,0.147,0.235,0.174,0.208,
+2.040,2.510,1.690,3.220,0.262,0.274,0.270,1.200,1.870,0.286,
+1.030,1.610,1.200,2.060,1.460,1.850,1.740,1.290,1.030,1.560,
+2.520,2.220,1.970,3.930,1.930,0.224,1.510,1.930,1.530,1.650,
+1.790,2.300,3.740,1.610,1.190,2.030,1.910,1.240,0.930,1.240,
+1.780,0.238,0.864,1.650,1.330,1.060,0.877,2.270,2.900,2.000,
+1.090,1.570,2.360,2.020,1.360,1.600,1.620,0.165,1.280,1.960,
+1.500,1.480,1.170,2.020,2.660,2.780,1.650,2.620,0.238,0.270,
+0.172,0.396,2.130,0.231,1.550,2.260,1.910,2.610,2.040,2.600,
+3.320,1.690,1.370,2.750,2.470,2.500,1.750,2.580,2.580,0.213,
+2.030,3.070,3.160,2.460,2.850,4.540,8.070,4.530,3.550,7.390,
+4.940,2.700,2.160,2.970,4.200,0.384,1.610,2.820,6.210,4.610,
+2.480,5.000,4.240,2.420,1.590,2.330,3.120,1.720,1.310,1.630,
+2.370,0.179,1.230,1.520,2.030,1.720,1.090,1.870,2.770,2.230,
+1.660,2.990,0.291,0.226,0.184,0.364,1.770,0.153,0.923,1.550,
+1.950,2.060,1.290,2.510,5.140,2.400,2.220,4.390,3.390,2.270,
+1.920,3.110,2.630,0.226,1.540,2.500,3.910,2.560,2.810,6.390,
+4.850,2.510,1.360,2.570,3.420,1.770,1.210,1.820,2.210,0.213,
+0.889,1.350,4.490,2.350,1.060,2.120,2.770,1.860,0.952,1.520,
+1.730,0.987,0.869,1.590,1.510,0.135,0.737,1.090,1.410,1.090,
+0.733,1.210,1.910,1.560,1.080,1.740,0.171,0.135,0.161,0.191,
+1.290,0.111,0.640,1.000,1.240,1.420,0.916,1.610,2.240,1.130,
+0.932,1.720,1.800,1.280,0.902,1.460,1.250,0.100,0.701,1.330,
+1.390,1.300,1.110,2.530,4.460,2.000,1.460,2.620,3.960,2.010,
+1.560,2.190,3.290,0.320,0.914,1.520,3.260,2.330,1.310,2.970,
+0.379,0.251,0.158,0.289,0.376,0.283,0.179,0.282,0.285,0.035,
+0.122,0.203,0.397,0.411,0.179,0.384,1.910,1.630,1.570,2.100,
+0.194,0.140,0.135,0.231,1.480,0.145,0.654,1.110,1.270,1.580,
+1.040,1.480,1.930,1.210,1.200,2.100,2.330,1.650,1.380,2.240,
+1.980,0.201,1.080,1.650,1.970,1.880,1.610,2.980,5.500,2.010,
+1.640,3.690,3.150,1.320,1.060,1.580,3.200,0.256,1.230,1.780,
+5.200,2.750,1.780,4.340,3.190,1.950,1.400,2.110,2.340,1.510,
+1.130,1.500,2.200,0.178,1.100,1.630,2.500,2.210,1.410,2.600,
+2.370,1.750,1.600,2.270,0.203,0.137,0.125,0.196,1.880,0.133,
+0.988,1.520,1.980,2.140,1.470,2.310,4.230,2.040,1.910,3.800,
+2.500,1.820,1.550,2.350,3.170,0.222,1.990,3.180,5.560,4.320,
+4.120,8.520,7.050,4.030,2.570,5.080,5.220,3.100,2.270,3.000,
+3.000,0.359,1.340,2.110,3.670,3.790,1.810,3.330,5.630,3.230,
+2.030,3.520,5.250,2.490,2.210,2.900,2.330,0.281,1.500,1.970,
+1.980,2.070,1.420,2.230,2.950,3.120,1.890,3.170,0.367,0.365,
+0.228,0.382,1.760,0.224,1.150,1.780,1.590,2.250,1.510,2.570,
+3.160,2.090,1.520,2.960,3.320,2.800,1.780,2.600,2.140,0.209,
+1.380,2.130,2.320,1.790,2.000,3.960,5.430,3.600,1.620,3.180,
+4.600,3.460,2.070,4.330,2.280,0.314,0.921,1.540,2.270,2.790,
+1.240,2.560,3.950,3.480,1.620,2.460,3.620,2.450,2.050,3.850,
+2.310,0.368,1.310,1.820,1.520,2.010,1.240,1.820,2.740,3.180,
+1.750,2.440,0.352,0.448,0.394,0.386,2.220,0.363,1.270,1.780,
+1.480,2.620,1.560,2.460,2.310,1.650,1.060,2.050,2.720,2.590,
+1.700,2.070,1.680,0.169,1.010,1.690,1.550,1.650,1.360,2.640,
+3.740,1.870,1.150,1.940,3.580,2.330,1.830,2.120,2.290,0.332,
+0.958,1.270,2.000,1.890,1.260,2.300,0.232,0.225,0.118,0.217,
+0.288,0.305,0.228,0.307,0.202,0.063,0.163,0.198,0.200,0.316,
+0.169,0.226,2.420,2.920,1.760,2.300,0.270,0.313,0.228,0.309,
+2.200,0.310,1.250,1.690,1.320,2.290,1.530,1.990,2.140,1.370,
+1.210,1.990,2.920,3.220,2.200,2.670,2.930,0.246,1.560,2.070,
+1.990,1.750,1.890,2.990,3.510,1.790,1.250,2.490,2.220,1.440,
+1.070,1.430,2.040,0.203,0.889,1.330,2.410,1.810,1.190,2.750,
+3.260,2.830,1.640,2.500,2.850,2.370,1.840,2.350,2.170,0.267,
+1.360,1.950,2.080,2.780,1.520,2.590,2.350,2.450,1.680,2.300,
+0.192,0.205,0.146,0.206,1.990,0.181,1.270,1.850,1.730,2.200,
+1.590,2.370,3.200,1.770,1.530,2.470,2.350,2.260,1.500,1.770,
+2.790,0.216,1.610,2.590,3.340,2.820,2.690,4.670,3.100,2.410,
+1.410,2.680,2.600,2.350,1.070,1.670,1.800,0.230,0.834,1.370,
+2.100,1.990,0.890,1.930,2.750,2.520,1.100,2.000,2.280,1.650,
+1.080,1.200,1.780,0.254,1.610,1.540,1.350,2.070,0.960,1.800,
+2.120,2.460,2.070,2.380,0.475,0.295,0.567,0.456,1.500,0.199,
+0.974,1.860,1.140,2.060,1.210,2.660,1.950,1.330,1.130,2.200,
+2.070,1.690,1.760,2.300,1.880,0.209,1.280,2.100,1.930,1.620,
+1.780,3.520,0.263,0.202,0.123,0.194,0.703,0.334,0.174,0.185,
+0.157,0.032,0.097,0.131,0.173,0.187,0.122,0.187,0.169,0.192,
+0.080,0.139,0.223,0.238,0.152,0.157,0.146,0.032,0.145,0.147,
+0.096,0.156,0.079,0.138,0.157,0.228,0.475,0.211,0.052,0.054,
+0.377,0.067,0.177,0.038,0.153,0.207,0.124,0.230,0.172,0.426,
+0.183,0.130,0.145,0.211,0.256,0.270,0.568,0.315,0.174,0.022,
+0.130,0.195,0.157,0.166,0.167,0.328,2.340,1.610,0.871,1.190,
+2.110,1.910,1.260,1.380,1.580,0.262,1.090,1.340,1.080,1.340,
+1.130,1.590,0.169,0.201,0.086,0.139,0.171,0.206,0.135,0.125,
+0.151,0.047,0.183,0.161,0.129,0.218,0.127,0.149,1.470,2.030,
+1.350,1.640,0.177,0.230,0.213,0.238,1.450,0.223,0.724,1.070,
+0.934,1.690,1.250,1.530,1.330,1.010,0.812,1.230,1.900,1.870,
+1.410,2.180,1.590,0.187,1.420,1.520,1.320,1.480,1.530,2.030,
+2.390,1.280,0.878,1.610,1.610,1.120,0.767,1.080,1.320,0.146,
+0.890,1.270,1.490,1.200,0.885,1.770,2.650,2.110,1.100,2.080,
+2.040,2.080,1.220,1.500,1.690,0.195,1.410,1.730,1.530,2.080,
+1.340,1.890,2.080,2.280,1.490,2.330,0.197,0.279,0.221,0.356,
+1.740,0.181,1.110,1.540,1.760,2.170,1.630,2.230,1.990,1.390,
+1.090,1.800,1.700,1.710,1.260,1.890,2.070,0.191,1.640,2.010,
+2.230,2.210,2.540,3.240,6.580,2.850,1.920,4.670,2.660,1.650,
+1.110,2.130,2.460,0.208,0.922,1.700,3.080,2.310,1.340,3.240,
+3.040,1.950,1.030,1.930,1.880,1.270,0.814,1.200,1.580,0.143,
+0.915,1.330,1.330,1.570,0.766,1.670,2.340,3.410,1.200,2.370,
+0.187,0.206,0.130,0.264,1.240,0.124,0.684,1.310,1.290,1.500,
+0.955,2.270,3.590,2.110,1.530,3.600,2.230,1.560,1.270,2.420,
+1.940,0.154,1.320,2.470,3.040,2.000,2.210,6.080,3.440,2.040,
+1.180,2.290,2.570,1.760,0.996,1.510,1.470,0.145,0.665,1.260,
+1.540,1.390,0.807,2.060,2.470,1.860,0.910,1.540,1.690,1.360,
+0.899,1.280,1.470,0.134,0.879,1.390,1.090,1.250,0.759,1.530,
+1.800,2.120,1.250,1.740,0.136,0.171,0.355,0.186,1.310,0.143,
+0.821,1.480,1.280,1.900,1.060,2.680,2.020,1.260,1.000,1.930,
+1.990,1.580,1.470,1.940,1.590,0.117,1.010,1.760,1.740,1.540,
+1.460,3.390,3.770,2.400,1.560,2.540,3.090,2.230,1.520,2.320,
+2.370,0.266,1.190,1.840,2.230,1.940,1.790,2.950,0.249,0.227,
+0.112,0.200,0.207,0.243,0.128,0.200,0.152,0.026,0.126,0.192,
+0.183,0.256,0.143,0.256,2.280,2.530,1.690,2.460,0.206,0.205,
+0.149,0.346,2.050,0.224,1.150,1.800,1.710,2.370,1.830,2.630,
+2.530,1.890,1.740,2.150,3.330,2.800,2.020,2.990,2.910,0.254,
+2.090,2.680,2.420,2.090,2.470,3.720,6.210,2.690,1.910,3.760,
+2.860,1.950,1.380,1.980,2.650,0.224,1.320,2.340,3.580,2.560,
+2.100,5.500,4.200,2.740,1.500,2.430,3.290,3.660,1.570,2.150,
+2.430,0.189,1.570,2.400,2.460,2.560,1.760,3.490,3.910,3.690,
+2.250,3.740,0.238,0.254,0.149,0.286,2.960,0.235,2.030,3.230,
+3.200,3.760,3.280,4.850,6.630,3.250,2.580,5.590,3.980,3.470,
+2.320,3.880,4.510,0.281,3.150,5.910,6.910,4.340,4.830,9.080,
+16.1,7.490,5.010,8.290,8.880,5.860,4.040,4.520,7.430,0.828,
+2.930,4.590,8.550,7.200,3.730,5.860,10.5,6.660,3.400,4.090,
+7.010,4.840,3.220,2.860,4.720,0.523,2.580,3.120,3.240,3.650,
+2.250,3.340,6.100,5.700,3.180,4.210,0.631,0.669,0.409,0.643,
+3.810,0.527,2.010,2.500,3.380,5.670,2.440,3.800,7.950,3.940,
+3.470,5.680,6.150,4.730,3.430,4.670,4.140,0.450,2.240,3.310,
+4.950,3.680,3.310,5.170,11.8,7.150,3.190,4.950,7.720,6.280,
+3.250,3.300,4.780,0.661,2.000,2.920,3.350,4.040,1.980,3.110,
+10.5,7.040,2.540,3.040,6.060,4.630,2.750,2.380,4.250,0.656,
+2.190,2.930,2.260,3.270,1.690,2.130,4.080,5.180,2.360,3.110,
+0.449,0.685,0.376,0.405,4.040,0.649,2.470,2.800,2.170,4.410,
+2.340,2.740,3.360,2.620,1.480,2.280,4.050,3.780,1.970,2.440,
+3.440,0.382,1.770,2.300,2.540,2.500,2.130,3.240,4.880,2.750,
+1.610,2.470,4.340,2.820,2.200,2.050,3.320,0.484,1.420,2.180,
+2.390,2.500,1.630,2.700,0.462,0.409,0.182,0.272,0.395,0.410,
+0.254,0.242,0.383,0.097,0.247,0.369,0.286,0.516,0.235,0.360,
+2.280,2.620,1.550,1.630,0.283,0.330,0.243,0.256,2.020,0.319,
+1.210,1.510,1.160,2.060,1.460,1.360,2.040,1.630,1.110,1.690,
+3.140,2.720,1.860,2.220,2.700,0.300,1.410,2.170,2.130,2.230,
+1.810,2.500,6.570,2.860,1.690,3.420,3.090,1.800,1.450,1.690,
+3.080,0.303,1.070,1.850,3.510,2.510,1.650,3.730,5.340,3.630,
+1.850,2.450,3.570,2.810,1.800,2.010,3.030,0.326,1.670,2.580,
+2.450,3.020,1.760,2.800,2.600,2.450,1.810,2.160,0.269,0.272,
+0.297,0.263,2.300,0.244,1.340,1.940,1.850,2.690,1.760,2.270,
+3.640,2.210,1.670,2.980,2.490,2.240,1.710,2.120,3.600,0.434,
+1.910,3.080,4.040,3.790,2.750,4.960,9.620,6.800,3.470,5.620,
+5.310,5.200,3.020,2.580,3.080,0.493,1.570,2.500,3.080,4.230,
+3.650,3.800,6.690,7.120,2.640,2.950,5.520,4.750,2.980,2.470,
+2.980,0.510,1.980,2.470,1.830,2.880,1.740,2.260,3.150,4.780,
+2.270,2.640,0.440,0.690,0.398,0.414,2.190,0.380,1.820,1.840,
+1.530,3.090,1.660,2.220,3.130,2.080,1.510,2.230,3.510,3.640,
+1.910,2.100,2.010,0.543,1.300,1.560,2.140,2.030,1.710,2.930,
+7.050,7.120,2.220,3.140,5.550,8.070,2.980,2.310,2.720,0.596,
+1.360,1.900,1.800,3.230,2.420,2.570,4.860,6.340,1.920,2.020,
+4.060,3.090,2.700,2.010,3.020,0.752,1.630,2.160,1.400,3.010,
+1.420,1.560,2.940,6.180,1.950,2.160,0.551,1.590,0.504,0.387,
+3.280,1.050,1.960,2.410,1.710,6.310,1.930,2.260,2.360,2.340,
+1.010,1.410,3.840,4.840,1.750,1.760,2.450,0.517,1.170,1.520,
+1.500,2.380,1.180,2.000,3.190,2.840,1.200,1.800,3.730,3.940,
+2.580,1.970,2.350,0.479,1.350,1.570,1.330,2.070,1.430,1.730,
+0.290,0.508,0.174,0.215,0.374,0.682,0.409,0.265,0.325,0.188,
+0.354,0.308,0.147,0.472,0.271,0.215,2.240,3.510,2.040,1.790,
+0.401,0.694,0.457,0.338,2.590,0.554,1.870,2.040,1.070,2.890,
+1.770,1.570,1.680,1.460,1.060,1.360,3.180,4.300,2.470,2.280,
+2.770,0.426,1.760,2.260,1.530,2.010,1.680,2.200,2.550,1.810,
+0.933,1.470,1.910,1.620,1.010,0.969,1.400,0.181,0.596,0.892,
+1.300,1.290,0.906,1.540,2.690,3.230,1.390,1.610,2.530,3.080,
+1.590,1.740,1.770,0.329,1.050,1.490,1.110,2.260,1.150,1.660,
+1.800,2.590,1.390,1.570,0.205,0.354,0.180,0.189,1.740,0.279,
+1.290,1.590,1.120,2.200,1.520,1.680,2.110,1.740,1.070,1.430,
+2.000,2.540,1.210,1.430,3.850,1.290,1.590,2.030,2.330,4.300,
+2.010,2.980,4.090,3.210,1.680,2.880,2.600,2.410,1.330,1.590,
+1.730,0.262,0.934,1.510,1.800,2.070,1.120,2.000,3.930,4.150,
+1.890,2.150,3.240,3.030,2.070,1.770,2.690,0.471,1.840,2.060,
+1.540,2.840,1.430,1.850,2.820,4.200,2.010,2.170,0.399,0.559,
+0.325,0.418,2.170,0.347,1.320,1.460,1.410,2.600,1.300,1.840,
+2.300,1.630,1.100,1.670,2.950,2.340,1.380,1.700,1.910,0.257,
+1.220,1.770,2.350,1.790,1.770,3.520,0.286,0.340,0.140,0.199,
+0.345,0.602,0.217,0.197,0.223,0.095,0.165,0.186,0.146,0.322,
+0.142,0.198,0.327,0.484,0.204,0.194,0.407,0.562,0.327,0.229,
+0.333,0.145,0.295,0.317,0.150,0.413,0.196,0.192,0.223,0.522,
+0.210,0.202,0.065,0.175,0.117,0.064,0.294,0.134,0.287,0.267,
+0.151,0.524,0.219,0.239,0.217,0.216,0.119,0.186,0.445,0.620,
+0.337,0.335,0.267,0.061,0.225,0.248,0.233,0.275,0.220,0.362,
+1.770,1.620,0.811,0.952,2.170,2.120,1.500,1.100,2.030,0.387,
+1.080,1.330,0.931,1.430,0.935,1.200,0.183,0.314,0.121,0.114,
+0.203,0.321,0.216,0.119,0.218,0.100,0.185,0.210,0.131,0.332,
+0.160,0.150,1.420,2.640,1.280,1.090,0.235,0.396,0.265,0.192,
+1.910,0.412,1.020,1.370,0.824,2.130,1.380,1.190,1.110,1.090,
+0.744,0.797,1.810,2.260,1.510,1.260,1.750,0.285,1.210,1.470,
+0.993,1.500,1.150,1.380,1.850,1.200,0.713,1.190,1.560,1.100,
+0.680,0.748,1.990,0.177,0.562,0.903,1.330,1.160,0.646,1.350,
+2.410,2.460,1.230,1.330,2.230,2.330,1.470,1.280,1.840,0.280,
+1.250,1.890,1.290,2.290,1.200,1.620,1.790,2.560,1.420,1.380,
+0.241,0.370,0.202,0.185,1.910,0.282,1.270,1.590,1.220,2.460,
+1.340,1.650,1.780,1.380,1.190,1.180,2.140,2.200,1.350,1.420,
+2.430,0.320,1.830,2.090,1.960,2.720,1.900,2.750,4.680,2.780,
+1.700,3.500,2.100,1.560,0.982,1.330,1.690,0.211,0.713,1.440,
+2.540,2.250,1.290,2.810,2.340,1.810,0.970,1.500,1.540,1.200,
+0.791,0.888,1.230,0.143,0.657,1.270,1.070,1.210,0.779,1.480,
+2.650,2.150,1.060,1.770,0.212,0.200,0.123,0.226,1.240,0.133,
+0.661,0.955,1.070,1.340,0.788,1.420,2.790,1.580,1.200,2.570,
+2.170,1.650,1.040,1.640,1.610,0.168,0.891,1.460,2.440,1.810,
+1.620,3.930,3.910,3.130,1.390,2.550,3.120,3.130,1.420,1.950,
+2.210,0.332,1.130,1.920,1.790,2.430,1.130,1.940,3.130,3.490,
+1.200,1.980,2.790,3.040,1.570,1.600,2.190,0.402,1.410,2.610,
+1.370,2.370,1.600,1.870,2.140,2.890,1.120,1.630,0.212,0.382,
+0.183,0.233,1.880,0.300,1.480,1.690,1.400,2.660,1.350,1.850,
+1.780,1.510,0.923,1.620,2.450,3.050,1.470,2.030,1.820,0.215,
+1.170,1.680,1.730,1.830,1.480,2.780,2.220,1.540,0.882,1.340,
+2.030,1.640,1.110,1.250,2.000,0.358,1.370,3.260,1.290,1.520,
+1.110,1.980,0.162,0.182,0.093,0.170,0.150,0.213,0.118,0.128,
+0.198,0.060,0.219,1.020,0.123,0.237,0.134,0.294,1.400,1.850,
+0.987,1.130,0.157,0.206,0.147,0.173,1.630,0.242,0.930,1.670,
+0.967,1.700,1.130,1.480,1.240,1.140,0.715,1.030,1.910,1.830,
+1.330,1.540,2.070,0.279,1.150,1.910,1.310,1.720,1.220,1.950,
+4.140,1.820,0.982,1.930,1.960,1.340,0.796,1.120,3.130,0.218,
+0.719,1.480,2.470,1.680,1.100,2.650,1.870,1.510,0.825,1.250,
+1.520,1.390,0.888,1.230,1.550,0.158,1.040,3.210,1.250,1.520,
+1.060,2.230,2.410,2.260,1.260,1.780,0.246,0.220,0.125,0.198,
+2.220,0.206,1.300,1.920,1.720,2.420,1.590,2.330,2.960,1.860,
+1.350,2.690,3.030,2.580,1.560,2.200,3.300,0.305,2.000,3.250,
+3.860,3.200,2.870,5.670,8.120,5.290,3.130,5.190,6.040,5.010,
+2.640,2.910,3.830,0.556,1.900,2.990,4.170,4.650,2.110,3.840,
+6.320,5.540,2.580,3.010,6.320,5.560,3.020,2.550,3.430,0.527,
+2.690,2.690,2.020,3.110,1.770,2.420,2.710,3.110,1.940,2.300,
+0.316,0.404,0.267,0.368,1.830,0.299,1.460,1.400,1.360,2.320,
+1.570,2.020,2.910,1.830,1.390,2.410,2.920,2.700,1.760,2.280,
+1.830,0.243,1.370,1.780,2.110,1.820,1.930,3.040,6.890,5.310,
+2.000,3.190,6.960,5.820,2.470,2.410,3.420,0.623,2.130,2.440,
+2.190,3.230,1.320,2.250,5.780,5.890,1.940,2.440,7.640,5.300,
+2.660,2.440,3.810,0.833,2.700,3.240,1.790,3.550,1.490,1.860,
+2.160,3.520,1.560,1.780,0.397,0.612,0.346,0.331,2.540,0.644,
+1.950,1.790,1.320,3.190,1.780,1.910,1.560,1.510,0.763,1.190,
+2.550,2.930,1.290,1.710,1.780,0.302,1.220,1.590,1.400,1.710,
+1.400,2.140,2.840,2.020,1.090,1.610,3.730,3.140,1.920,1.890,
+2.820,0.493,1.270,1.620,1.500,2.090,1.190,2.240,0.243,0.353,
+0.161,0.205,0.413,0.606,0.299,0.266,0.317,0.143,0.282,0.311,
+0.171,0.491,0.214,0.282,1.370,2.070,1.360,1.330,0.233,0.346,
+0.223,0.255,1.980,0.401,1.440,1.570,0.888,2.070,1.300,1.320,
+1.150,1.090,0.826,1.180,1.980,2.370,1.340,1.870,1.860,0.322,
+1.330,1.760,1.240,2.030,1.470,2.110,2.810,1.400,0.823,1.750,
+1.770,1.260,0.842,1.020,1.630,0.189,0.705,1.150,1.600,1.450,
+0.855,2.330,2.750,2.550,1.310,1.740,2.980,3.180,1.550,1.730,
+1.900,0.309,1.390,2.080,1.180,2.230,1.130,1.900,1.270,1.510,
+0.958,1.210,0.152,0.199,0.137,0.166,1.590,0.237,1.040,1.590,
+1.090,1.740,1.040,1.440,1.730,1.280,1.060,1.650,1.350,1.570,
+1.000,1.330,1.780,0.241,1.210,1.990,1.890,2.180,1.750,3.150,
+6.180,4.080,2.120,3.320,4.240,4.700,2.450,2.130,2.300,0.352,
+1.070,1.550,1.660,2.310,1.180,1.910,3.990,4.430,1.700,1.960,
+4.180,5.690,2.470,2.100,2.120,0.489,1.670,1.810,1.010,2.200,
+1.040,1.390,1.790,2.960,1.660,1.740,0.270,0.514,0.314,0.306,
+1.300,0.296,1.380,1.200,0.791,1.760,1.070,1.430,1.320,1.100,
+0.752,1.360,1.860,2.620,1.260,1.470,1.010,0.172,0.910,1.050,
+1.130,1.190,1.040,1.780,4.060,3.040,0.993,1.370,2.540,3.530,
+1.420,1.160,1.580,0.352,0.825,0.964,0.939,1.690,0.706,1.060,
+1.480,1.150,0.567,0.703,0.535,0.383,0.363,0.365,1.040,0.432,
+0.696,0.832,0.393,1.140,0.488,0.602,1.250,2.800,1.160,1.170,
+0.301,1.050,0.518,0.325,1.430,0.496,1.040,1.230,0.720,2.550,
+1.140,1.280,0.800,0.921,0.556,0.641,1.520,2.770,1.110,1.250,
+1.070,0.242,0.860,1.050,0.753,1.310,0.758,1.070,1.970,1.910,
+0.835,1.080,3.120,4.110,2.250,1.730,1.870,0.420,1.230,1.220,
+0.947,1.690,1.090,1.350,0.195,0.469,0.171,0.181,0.421,1.260,
+0.533,0.315,0.292,0.252,0.378,0.295,0.110,0.502,0.250,0.189,
+1.570,2.970,1.560,1.420,0.361,0.814,0.481,0.350,1.810,0.483,
+1.340,1.560,0.777,2.550,1.590,1.360,0.999,1.060,0.839,0.922,
+2.470,4.300,2.590,2.170,2.000,0.339,1.740,1.840,1.150,1.680,
+1.700,1.940,1.450,1.160,0.550,0.833,1.440,1.510,0.648,0.704,
+1.190,0.149,0.496,0.586,0.811,0.888,0.498,0.901,1.670,2.620,
+1.080,1.240,2.390,4.070,1.620,1.670,1.390,0.333,1.040,1.330,
+0.719,2.040,0.938,1.170,1.110,2.150,1.020,1.060,0.173,0.372,
+0.189,0.162,1.310,0.249,1.350,1.350,0.718,1.670,1.300,1.270,
+1.230,1.110,0.647,0.894,1.250,2.140,1.020,1.110,1.380,0.237,
+1.020,1.290,1.110,1.660,1.410,1.810,2.880,2.700,1.260,2.000,
+2.720,2.760,1.240,1.590,1.560,0.253,0.834,1.130,1.290,1.820,
+0.894,1.540,3.390,4.740,1.540,2.000,4.230,5.260,2.550,2.350,
+2.740,0.634,2.460,2.360,1.280,3.400,1.280,1.640,1.600,3.080,
+1.430,1.530,0.293,0.517,0.270,0.372,1.720,0.370,1.190,1.360,
+1.070,2.290,1.030,1.360,1.260,1.150,0.681,1.260,1.840,2.310,
+1.100,1.600,1.460,0.261,1.290,1.630,1.390,1.450,1.340,2.410,
+0.229,0.279,0.105,0.153,0.474,0.757,0.297,0.266,0.205,0.082,
+0.162,0.169,0.120,0.284,0.127,0.163,0.271,0.556,0.167,0.228,
+0.600,1.160,0.536,0.368,0.382,0.281,0.464,0.378,0.127,0.473,
+0.174,0.176,0.141,0.443,0.193,0.153,0.085,0.285,0.172,0.081,
+0.283,0.182,0.342,0.290,0.125,0.465,0.226,0.183,0.110,0.152,
+0.079,0.127,0.328,0.683,0.260,0.313,0.196,0.076,0.237,0.247,
+0.121,0.202,0.167,0.239,1.630,1.960,0.909,0.938,2.480,3.760,
+1.870,1.450,2.100,0.531,1.480,1.470,0.912,1.830,1.060,1.380,
+0.187,0.489,0.176,0.141,0.323,0.981,0.456,0.248,0.315,0.207,
+0.382,0.318,0.129,0.490,0.214,0.187,1.250,2.940,1.460,1.170,
+0.267,0.613,0.343,0.260,1.950,0.542,1.150,1.550,0.838,2.730,
+1.430,1.390,0.901,1.160,0.708,0.827,2.050,3.740,1.810,2.000,
+2.030,0.470,1.730,1.910,0.998,2.050,1.520,1.970,1.400,1.140,
+0.605,1.060,1.280,1.240,0.587,0.723,1.200,0.184,0.686,0.940,
+0.909,1.150,0.590,1.260,2.200,3.310,1.360,1.400,3.050,4.830,
+2.230,1.940,2.450,0.583,2.300,2.690,1.230,3.160,1.500,1.900,
+1.530,2.950,1.440,1.290,0.188,0.439,0.220,0.196,2.100,0.412,
+1.760,2.000,1.090,3.010,1.560,1.810,1.270,1.280,0.841,1.230,
+1.420,2.150,1.170,1.400,2.120,0.304,1.980,2.200,1.620,2.520,
+1.850,2.470,2.560,1.690,0.976,1.910,1.710,1.490,0.762,1.200,
+1.140,0.150,0.598,1.090,1.300,1.280,0.675,1.610,2.090,1.930,
+0.786,1.180,1.710,1.800,0.855,1.050,1.080,0.146,0.675,0.971,
+0.775,1.200,0.559,1.010,1.350,1.530,0.746,1.310,0.121,0.151,
+0.087,0.171,0.810,0.106,0.525,0.732,0.599,0.897,0.502,0.882,
+1.280,0.885,0.605,1.350,1.130,1.120,0.622,1.170,0.976,0.107,
+0.599,1.020,1.110,0.972,0.869,1.990,2.420,2.230,0.936,1.540,
+2.690,3.300,1.530,1.650,1.740,0.311,1.140,1.550,1.220,1.850,
+0.854,1.400,2.400,3.400,1.040,1.500,3.340,4.480,2.040,1.990,
+2.100,0.475,1.590,1.940,1.200,2.370,1.240,1.420,1.190,2.230,
+0.863,1.030,0.170,0.398,0.194,0.210,1.390,0.267,1.120,1.230,
+0.902,2.050,1.010,1.210,0.907,0.929,0.628,1.010,1.610,2.480,
+1.060,1.860,1.330,0.207,1.070,1.330,1.040,1.410,0.981,1.860,
+1.590,1.400,0.830,0.943,2.080,2.310,1.350,1.290,1.870,0.319,
+1.130,1.440,0.994,1.400,0.954,1.510,0.117,0.191,0.084,0.104,
+0.175,0.450,0.189,0.154,0.173,0.071,0.168,0.219,0.099,0.274,
+0.132,0.164,0.997,1.690,0.904,0.966,0.152,0.267,0.177,0.179,
+1.680,0.356,1.360,1.560,0.868,1.940,1.240,1.390,0.943,0.994,
+0.633,0.847,1.650,2.290,1.330,1.680,2.860,0.567,1.670,2.020,
+1.310,2.340,1.430,2.090,1.910,1.240,0.666,1.230,1.290,1.300,
+0.598,0.800,1.170,0.130,0.551,0.880,1.090,1.010,0.674,1.630,
+1.540,1.500,0.672,0.989,1.620,2.210,1.010,1.250,1.210,0.156,
+0.930,1.440,0.947,1.390,0.840,1.760,1.450,1.570,0.932,1.160,
+0.162,0.180,0.108,0.150,1.470,0.185,1.200,1.460,1.030,1.720,
+1.350,1.680,1.530,1.150,0.799,1.630,1.700,2.040,1.150,1.640,
+2.830,0.373,1.600,2.600,2.360,2.480,2.160,3.660,5.010,3.660,
+2.610,3.990,4.420,3.560,2.230,2.420,2.910,0.380,1.340,1.880,
+3.130,2.910,1.960,2.820,4.090,4.080,1.680,2.100,3.360,2.340,
+1.910,1.830,2.110,0.347,1.310,1.440,1.480,2.040,1.630,2.010,
+2.290,2.490,1.440,2.300,0.259,0.274,0.206,0.345,1.630,0.217,
+0.926,1.290,1.130,1.790,1.100,1.590,2.520,1.430,1.230,2.100,
+2.310,1.980,1.470,1.950,1.550,0.180,1.170,1.470,1.890,1.420,
+1.630,2.740,6.160,5.740,2.170,3.430,6.220,7.220,3.500,3.240,
+3.340,0.583,1.400,1.700,2.250,3.030,2.010,2.370,5.470,8.660,
+2.350,2.570,4.580,3.890,3.210,2.670,4.720,1.220,2.190,2.490,
+1.900,4.060,1.830,1.860,2.680,4.500,2.000,2.510,0.427,0.721,
+0.462,0.505,3.210,0.636,2.340,2.770,1.540,3.610,2.300,2.210,
+2.090,1.730,0.966,1.630,2.920,3.350,1.920,2.500,1.940,0.269,
+1.200,2.030,1.570,1.780,1.540,2.710,2.910,2.240,1.010,1.710,
+4.550,3.160,2.200,2.730,3.500,0.704,1.090,1.460,1.940,2.690,
+1.490,2.050,0.329,0.803,0.169,0.323,0.425,0.541,0.333,0.651,
+0.624,0.226,0.253,0.284,0.315,0.936,0.334,0.340,1.690,2.290,
+1.440,1.860,0.320,0.387,0.364,0.444,2.070,0.621,1.170,1.240,
+1.010,2.560,1.330,1.330,1.470,1.130,0.743,1.560,2.670,2.850,
+1.990,3.320,2.250,0.330,1.080,1.580,1.550,1.700,1.520,2.210,
+2.750,1.930,0.854,1.730,1.860,1.230,0.925,1.390,1.820,0.253,
+0.686,0.995,1.930,1.730,1.010,2.090,2.950,6.150,1.230,2.050,
+2.340,2.350,1.710,3.490,2.820,0.687,1.120,1.560,1.600,3.010,
+1.410,1.830,1.600,2.100,1.580,1.890,0.205,0.241,0.235,0.330,
+1.880,0.281,1.250,1.660,1.270,2.220,1.650,1.880,2.030,1.550,
+1.090,2.150,1.800,1.690,1.440,2.260,2.420,0.301,1.540,2.410,
+2.930,2.890,2.630,4.250,0.264,0.344,0.168,0.195,0.307,0.521,
+0.234,0.240,0.181,0.057,0.102,0.129,0.137,0.252,0.189,0.176,
+0.387,0.671,0.248,0.267,0.503,0.573,0.513,0.400,0.347,0.161,
+0.258,0.232,0.144,0.407,0.207,0.189,0.181,0.467,0.185,0.204,
+0.047,0.098,0.075,0.056,0.178,0.071,0.179,0.166,0.082,0.244,
+0.143,0.174,0.173,0.149,0.110,0.159,0.265,0.351,0.262,0.222,
+0.175,0.046,0.280,0.211,0.159,0.173,0.233,0.282,0.340,0.659,
+0.198,0.201,0.578,1.760,0.692,0.445,0.283,0.163,0.159,0.157,
+0.135,0.375,0.535,0.207,0.599,1.470,0.349,0.273,0.743,0.919,
+0.815,0.558,0.980,0.710,0.374,0.383,0.256,1.120,0.303,0.210,
+0.245,0.776,0.277,0.243,0.126,0.535,0.254,0.113,0.479,0.318,
+0.435,0.385,0.131,0.659,0.364,0.283,0.199,0.207,0.104,0.129,
+0.335,0.646,0.318,0.273,0.223,0.077,0.170,0.192,0.112,0.219,
+0.173,0.248,0.177,0.242,0.083,0.139,0.374,0.543,0.363,0.451,
+0.441,0.218,0.173,0.156,0.137,0.425,0.152,0.147,0.051,0.230,
+0.047,0.076,0.134,0.310,0.220,0.291,0.188,0.224,0.137,0.096,
+0.047,0.250,0.069,0.055,0.188,0.421,0.271,0.244,0.104,0.254,
+0.225,0.119,0.644,0.556,0.407,0.303,0.180,0.896,0.306,0.225,
+0.143,0.135,0.101,0.138,0.345,0.621,0.443,0.387,0.361,0.142,
+0.340,0.274,0.137,0.264,0.224,0.230,0.182,0.454,0.082,0.138,
+0.152,0.193,0.114,0.215,0.158,0.038,0.070,0.087,0.122,0.186,
+0.104,0.162,0.629,3.570,0.285,0.420,0.431,0.727,0.472,1.420,
+0.613,0.286,0.233,0.284,0.230,0.780,0.230,0.276,0.146,0.386,
+0.180,0.189,0.035,0.090,0.059,0.073,0.268,0.125,0.264,0.264,
+0.123,0.374,0.253,0.220,0.168,0.222,0.097,0.146,0.186,0.257,
+0.164,0.216,0.257,0.074,0.211,0.245,0.198,0.331,0.260,0.317,
+2.580,2.650,1.290,2.070,3.020,5.360,1.600,1.860,1.640,0.350,
+0.951,1.180,1.510,1.650,0.865,1.380,2.950,3.450,1.480,1.750,
+4.170,3.550,3.390,2.280,2.700,0.583,2.390,1.950,1.250,2.560,
+1.360,1.550,1.820,3.400,2.070,2.150,0.362,0.683,0.471,0.606,
+1.990,0.433,1.520,1.770,0.921,2.480,1.300,1.530,1.370,1.150,
+0.794,1.390,1.910,2.260,1.480,1.860,1.530,0.288,1.190,1.730,
+1.600,1.470,1.400,2.350,0.259,0.597,0.137,0.194,0.804,3.150,
+0.471,0.411,0.230,0.143,0.202,0.251,0.109,0.290,0.144,0.172,
+0.304,0.616,0.217,0.190,0.606,0.849,0.901,0.472,0.400,0.258,
+0.457,0.354,0.128,0.410,0.271,0.169,0.163,0.573,0.254,0.215,
+0.082,0.289,0.201,0.102,0.321,0.209,0.421,0.379,0.108,0.441,
+0.248,0.213,0.155,0.173,0.104,0.156,0.339,0.614,0.338,0.358,
+0.209,0.071,0.223,0.279,0.141,0.196,0.180,0.255,1.630,1.960,
+0.902,0.843,3.390,4.060,2.640,1.650,1.840,0.506,1.480,1.280,
+0.824,1.580,1.110,1.170,0.203,0.482,0.165,0.131,0.377,0.719,
+0.596,0.256,0.283,0.178,0.340,0.234,0.119,0.394,0.213,0.164,
+1.560,3.170,2.290,1.650,0.375,0.696,0.727,0.403,1.910,0.494,
+0.808,1.200,0.763,2.200,1.790,1.400,1.090,1.040,0.826,0.890,
+2.410,3.440,2.480,2.200,1.970,0.389,1.570,1.560,0.937,1.490,
+1.560,1.620,1.370,1.130,0.653,0.935,1.520,1.670,0.801,0.785,
+1.000,0.196,0.645,0.804,0.895,1.130,0.586,1.040,2.160,3.170,
+1.360,1.210,3.000,3.890,2.820,1.950,1.950,0.490,1.880,1.790,
+1.210,2.590,1.380,1.400,1.900,3.520,1.940,1.660,0.271,0.605,
+0.378,0.317,2.160,0.475,2.630,2.340,1.120,2.880,2.090,1.890,
+1.240,1.130,0.805,1.070,1.620,2.290,1.430,1.470,2.030,0.357,
+1.970,1.960,1.460,2.310,1.880,2.260,2.450,1.800,0.992,1.830,
+1.800,2.090,0.964,1.270,1.170,0.184,0.543,0.893,1.270,1.250,
+0.737,1.670,2.050,2.050,0.756,1.000,1.490,1.100,0.912,0.884,
+0.896,0.140,0.679,0.730,0.648,0.904,0.965,0.882,1.460,2.290,
+0.983,1.400,0.156,0.228,0.133,0.215,0.993,0.150,0.597,0.926,
+0.829,1.280,0.803,1.200,1.430,1.160,0.869,1.360,1.310,1.220,
+0.895,1.270,0.965,0.115,0.600,0.978,1.360,1.090,0.973,2.340,
+3.560,4.390,1.500,2.480,4.970,9.970,2.630,2.710,2.060,0.517,
+1.360,1.740,1.350,2.280,1.430,1.730,4.130,7.900,1.820,2.030,
+4.500,4.550,3.420,2.670,2.660,0.666,2.310,2.470,1.340,2.820,
+4.190,2.030,2.430,6.690,1.930,2.040,0.338,0.895,0.394,0.422,
+2.460,0.612,2.180,2.720,1.400,3.570,2.080,2.280,1.680,1.970,
+1.310,1.510,2.670,3.620,2.180,2.710,1.870,0.274,1.450,2.100,
+1.390,1.840,1.680,2.750,2.300,2.620,0.992,1.210,3.820,3.070,
+2.050,1.840,1.930,0.411,1.190,1.630,1.140,1.530,1.240,1.620,
+0.191,0.326,0.108,0.134,0.297,0.477,0.310,0.248,0.201,0.087,
+0.205,0.273,0.118,0.269,0.209,0.188,1.610,2.750,1.540,1.620,
+0.289,0.464,0.365,0.399,2.150,0.518,1.370,1.730,1.050,2.490,
+1.770,1.740,1.260,1.290,0.860,1.090,2.730,3.050,2.500,2.670,
+1.840,0.314,1.540,1.950,1.230,1.670,1.720,2.340,2.230,1.360,
+0.877,1.490,1.800,1.450,0.879,1.060,1.330,0.172,0.666,1.060,
+1.300,1.240,0.906,1.890,1.860,2.190,0.860,1.140,1.990,2.080,
+1.430,1.520,1.450,0.209,1.030,1.570,1.020,1.540,1.200,1.610,
+1.800,2.860,1.450,1.970,0.205,0.322,0.180,0.275,2.190,0.343,
+2.010,2.640,1.490,2.720,2.090,2.350,2.120,1.490,1.090,2.090,
+2.250,2.600,1.830,2.490,2.370,0.259,2.080,3.000,2.510,2.540,
+2.480,3.330,4.250,2.700,2.020,4.240,2.870,1.990,1.330,1.950,
+2.520,0.274,0.869,1.660,3.240,2.540,1.340,2.770,2.980,2.170,
+1.130,1.670,2.070,1.420,1.010,1.150,1.610,0.200,0.832,1.020,
+1.530,1.620,0.944,1.530,1.880,1.740,1.130,2.000,0.181,0.175,
+0.127,0.252,1.280,0.147,0.617,0.999,1.250,1.670,0.904,1.690,
+2.620,1.350,1.150,2.370,1.900,1.400,1.110,1.760,1.440,0.147,
+0.865,1.290,2.380,1.650,1.510,3.510,3.860,2.590,1.160,2.240,
+2.840,2.290,1.150,1.480,1.760,0.225,0.652,1.130,1.990,1.650,
+0.844,1.620,2.530,2.660,0.926,1.290,1.820,1.520,0.966,1.060,
+1.710,0.256,0.706,1.030,1.690,1.650,0.773,1.140,1.370,1.660,
+0.836,1.410,0.147,0.177,0.118,0.188,1.200,0.159,0.657,0.924,
+1.030,1.690,0.868,1.220,1.430,0.991,0.583,1.310,1.410,1.200,
+0.652,1.200,1.070,0.102,0.521,0.930,1.180,1.040,0.938,2.000,
+2.380,1.330,0.772,1.420,2.150,1.430,1.100,1.520,1.790,0.257,
+0.526,0.890,1.550,1.570,0.759,1.610,0.169,0.179,0.078,0.143,
+0.156,0.169,0.099,0.171,0.167,0.050,0.080,0.105,0.197,0.310,
+0.116,0.192,1.060,1.350,0.896,1.180,0.127,0.157,0.108,0.165,
+1.100,0.197,0.552,0.735,0.855,1.330,0.816,0.969,1.130,0.852,
+0.647,1.490,1.410,1.350,0.870,1.510,1.520,0.195,0.621,1.040,
+1.340,1.220,1.010,1.810,2.790,1.280,0.855,2.100,1.590,0.944,
+0.687,1.070,1.780,0.187,0.579,0.940,2.630,1.730,0.930,2.290,
+1.810,1.760,0.779,1.340,1.290,1.150,0.783,1.260,1.430,0.183,
+0.733,0.996,1.650,1.840,1.020,1.690,1.270,1.310,0.953,1.390,
+0.123,0.108,0.082,0.140,1.180,0.115,0.630,0.933,1.190,1.490,
+0.982,1.570,2.200,1.210,1.040,2.400,1.470,1.130,0.884,1.430,
+1.850,0.161,1.070,1.770,2.950,2.430,2.310,4.700,3.800,3.130,
+1.630,3.060,2.940,2.880,1.630,2.060,1.850,0.289,0.890,1.370,
+1.830,2.220,1.170,2.070,3.360,3.430,1.540,2.060,3.290,2.870,
+2.070,2.010,2.230,0.477,1.530,1.600,1.270,2.330,1.240,1.580,
+1.950,2.990,1.500,2.320,0.247,0.384,0.232,0.331,1.540,0.272,
+1.220,1.650,1.140,2.070,1.370,2.030,1.900,1.420,1.080,1.980,
+2.220,2.610,1.580,1.940,1.500,0.241,2.260,1.920,1.910,1.620,
+2.050,2.920,3.430,3.660,1.270,1.950,3.320,4.590,1.940,1.910,
+1.780,0.394,0.813,1.080,1.300,1.980,1.540,1.620,3.640,6.030,
+1.730,1.940,3.550,3.360,2.450,2.210,3.080,1.000,1.530,1.840,
+1.420,3.360,1.210,1.410,1.800,3.460,1.440,1.890,0.287,0.583,
+0.357,0.301,2.110,0.504,1.430,1.770,1.130,2.820,1.680,1.950,
+1.590,1.580,0.827,1.500,2.140,2.900,1.330,1.650,1.550,0.218,
+1.000,1.490,1.180,1.450,1.160,2.120,1.770,1.390,0.610,1.100,
+2.120,2.240,1.510,1.800,2.110,0.485,0.815,0.932,1.160,1.860,
+0.832,1.360,0.153,0.335,0.102,0.181,0.237,0.443,0.268,0.427,
+0.350,0.180,0.183,0.183,0.162,0.542,0.152,0.177,1.520,2.380,
+1.390,1.570,0.219,0.397,0.257,0.280,2.210,0.643,1.140,1.360,
+0.953,2.560,1.250,1.380,1.360,1.170,0.853,1.420,2.110,3.110,
+1.690,2.040,2.770,0.296,1.280,1.640,1.450,1.540,1.350,2.090,
+1.580,1.360,0.645,1.170,1.130,1.020,0.625,0.925,1.310,0.161,
+0.533,0.712,1.320,1.230,0.678,1.420,2.130,4.680,1.160,1.730,
+1.960,2.440,1.610,2.960,2.230,0.502,1.070,1.400,1.510,3.290,
+1.210,1.770,1.300,2.200,1.130,1.450,0.142,0.246,0.135,0.181,
+1.520,0.252,1.110,1.440,0.991,2.130,1.290,1.590,1.580,1.240,
+0.868,1.420,1.440,1.760,0.980,1.260,2.040,0.244,1.200,1.710,
+1.950,2.360,1.780,2.950,2.500,2.170,1.120,2.080,2.280,2.630,
+0.918,1.490,1.390,0.182,0.616,1.020,1.300,1.340,0.630,1.310,
+2.790,2.880,1.120,1.610,3.840,2.440,1.460,1.520,2.060,0.350,
+1.390,1.520,1.210,2.050,0.988,1.510,1.910,2.820,2.530,2.490,
+0.296,0.364,0.298,0.415,1.630,0.282,1.160,1.610,1.060,2.230,
+1.270,1.770,1.720,1.250,0.980,1.710,2.040,1.720,1.170,1.610,
+1.570,0.221,1.090,1.690,1.770,1.520,1.380,2.770,0.163,0.246,
+0.086,0.136,0.321,0.842,0.128,0.168,0.122,0.039,0.080,0.109,
+0.096,0.165,0.085,0.135,0.186,0.283,0.089,0.112,0.412,0.491,
+0.197,0.201,0.201,0.090,0.190,0.182,0.112,0.228,0.119,0.121,
+0.112,0.319,0.145,0.143,0.034,0.092,0.055,0.035,0.169,0.070,
+0.152,0.166,0.091,0.257,0.133,0.167,0.129,0.135,0.071,0.136,
+0.205,0.303,0.164,0.188,0.141,0.038,0.132,0.178,0.132,0.150,
+0.128,0.226,1.300,1.250,0.586,0.773,1.700,1.920,1.120,1.000,
+1.250,0.275,0.734,0.964,0.722,1.140,0.780,1.130,0.117,0.198,
+0.079,0.083,0.184,0.255,0.142,0.101,0.157,0.071,0.117,0.139,
+0.090,0.257,0.118,0.124,1.180,2.100,1.340,1.160,0.213,0.344,
+0.251,0.190,1.680,0.352,0.803,1.160,0.770,2.040,1.390,1.300,
+0.994,0.988,0.656,0.858,1.720,2.180,1.370,1.350,1.590,0.251,
+1.130,1.360,1.030,1.430,1.340,1.620,1.340,0.930,0.663,1.180,
+1.200,1.080,0.608,0.798,0.973,0.135,0.562,0.805,0.937,1.010,
+0.595,1.210,1.770,1.960,0.991,1.180,1.870,2.210,1.250,1.160,
+1.630,0.285,1.120,1.450,1.150,2.140,1.200,1.570,1.560,2.340,
+1.760,1.500,0.214,0.275,0.276,0.195,1.770,0.260,1.370,1.760,
+1.280,2.450,1.610,1.770,1.400,1.270,1.080,1.390,1.390,1.590,
+1.390,1.240,2.020,0.242,1.510,2.010,1.850,2.230,1.960,2.550,
+3.770,1.820,1.220,2.830,1.980,1.500,0.860,1.960,1.400,0.151,
+0.535,1.150,1.740,1.390,0.776,2.110,1.960,1.460,0.676,1.070,
+1.480,1.120,0.681,0.985,1.030,0.126,0.540,0.844,0.843,1.010,
+0.546,1.170,1.510,2.080,0.894,1.550,0.125,0.169,0.090,0.195,
+1.020,0.128,0.557,0.989,0.891,1.140,0.684,1.380,1.890,1.260,
+0.904,2.010,1.340,1.090,0.851,1.410,1.220,0.117,0.744,1.490,
+1.780,1.290,1.200,3.260,2.580,2.020,0.974,1.740,2.210,2.830,
+0.933,1.390,1.250,0.172,0.580,1.030,1.100,1.290,0.678,1.590,
+2.230,2.370,0.784,1.100,1.880,2.350,0.975,1.180,1.450,0.215,
+0.955,1.230,0.963,1.570,1.050,1.530,1.730,4.930,0.928,1.320,
+0.146,0.502,0.112,0.177,1.300,0.279,0.772,1.290,1.020,1.830,
+0.853,1.530,1.350,1.450,0.787,1.420,1.420,1.770,0.921,1.450,
+1.270,0.136,0.796,1.510,1.350,1.450,1.070,2.520,2.140,2.450,
+0.926,1.230,2.060,1.680,1.050,1.410,1.630,0.300,0.779,1.190,
+1.180,1.380,1.410,1.840,0.141,0.210,0.066,0.102,0.139,0.184,
+0.095,0.127,0.110,0.034,0.091,0.137,0.110,0.198,0.118,0.191,
+1.330,1.960,0.947,1.230,0.150,0.211,0.126,0.174,1.680,0.255,
+0.978,1.340,1.040,1.840,1.400,1.550,1.380,1.350,0.802,1.260,
+1.920,2.060,1.380,1.790,1.980,0.231,1.390,1.810,1.550,1.680,
+1.540,2.330,3.030,1.690,1.180,2.590,1.750,1.340,0.819,1.210,
+1.670,0.170,0.750,1.360,2.060,1.670,1.260,3.300,2.260,1.970,
+0.872,1.470,2.070,2.460,1.100,1.570,1.730,0.190,1.070,1.830,
+1.650,2.090,1.330,3.070,2.110,2.560,1.710,2.140,0.161,0.219,
+0.188,0.210,2.260,0.241,1.520,2.390,1.960,2.940,2.280,2.970,
+3.430,2.030,1.630,3.480,2.530,2.430,1.820,2.740,3.180,0.254,
+2.240,4.210,3.650,2.980,2.840,4.590,6.020,4.370,3.720,5.970,
+4.960,3.000,3.010,3.050,4.870,0.501,2.650,3.960,5.610,4.380,
+2.740,4.480,5.370,3.540,2.840,3.240,3.770,2.620,2.510,2.080,
+3.560,0.357,2.330,2.540,2.380,2.570,2.000,2.610,4.300,2.960,
+2.620,3.390,0.384,0.328,0.305,0.454,2.600,0.243,1.380,1.850,
+2.560,2.450,1.730,2.490,4.840,2.210,2.420,4.740,3.740,2.750,
+2.750,3.480,2.740,0.253,1.680,2.340,3.680,2.180,2.300,3.770,
+5.330,3.530,2.090,2.840,4.220,2.620,1.940,2.020,2.680,0.392,
+3.270,3.730,2.050,2.410,1.620,2.300,3.540,2.810,1.640,1.920,
+2.360,1.790,1.540,1.350,2.410,0.321,1.830,2.090,1.400,1.850,
+1.230,1.560,2.630,2.460,1.680,1.980,0.262,0.275,0.218,0.257,
+1.920,0.267,1.300,1.590,1.280,1.950,1.310,1.470,2.050,1.370,
+1.110,1.750,2.240,1.840,1.590,1.800,2.430,0.205,1.420,1.890,
+2.170,1.640,1.570,2.420,3.760,1.960,2.040,2.130,3.330,1.990,
+2.030,1.820,2.640,0.362,1.270,1.760,2.160,2.400,1.560,2.500,
+0.311,0.266,0.174,0.217,0.266,0.256,0.220,0.187,0.264,0.056,
+0.192,0.242,0.268,0.464,0.222,0.313,1.810,1.620,1.620,1.440,
+0.188,0.176,0.217,0.208,1.540,0.187,1.120,1.370,1.120,1.560,
+1.340,1.340,1.520,1.060,1.050,1.470,1.960,1.770,1.530,1.750,
+1.750,0.223,1.360,1.790,1.530,1.830,1.750,2.340,4.880,1.900,
+1.660,2.940,2.360,1.350,1.290,1.390,2.080,0.210,1.080,1.610,
+2.570,2.010,1.430,3.140,3.530,2.320,1.650,2.080,2.220,1.800,
+1.700,1.600,2.290,0.223,1.550,1.960,2.020,2.320,1.520,2.390,
+1.910,1.870,1.410,1.780,0.167,0.159,0.152,0.208,1.660,0.205,
+1.710,2.870,1.420,1.900,1.420,1.950,2.750,1.620,1.520,2.690,
+1.570,1.200,1.360,1.810,2.360,0.217,2.110,3.630,2.950,2.770,
+2.510,4.380,6.200,4.540,3.290,4.700,4.220,3.440,2.890,2.880,
+2.640,0.363,1.600,2.550,2.890,2.910,1.860,3.260,5.020,4.610,
+2.920,3.450,3.840,3.480,3.240,2.750,3.110,0.494,2.730,3.060,
+1.900,2.800,1.800,2.470,2.280,2.810,2.200,2.340,0.280,0.388,
+0.330,0.356,1.400,0.184,1.250,1.510,1.120,1.670,1.240,1.800,
+2.320,1.370,1.450,2.170,2.500,2.530,2.100,2.240,1.590,0.199,
+1.260,1.710,1.770,1.550,1.730,3.000,4.610,4.400,2.050,2.580,
+4.130,4.290,2.670,2.220,2.240,0.404,1.500,1.950,1.520,2.200,
+1.200,1.960,3.360,3.890,2.180,2.110,2.600,1.780,2.250,1.890,
+2.740,0.608,2.350,2.690,1.250,2.360,1.450,1.690,2.370,3.870,
+2.160,2.190,0.333,0.610,0.402,0.338,1.820,0.393,1.630,1.780,
+1.070,2.800,1.580,1.860,1.740,1.570,1.120,1.470,2.380,2.900,
+2.240,2.010,1.620,0.231,1.300,1.600,1.280,1.630,1.260,2.080,
+3.400,2.860,1.940,2.310,3.750,3.730,5.030,2.770,2.880,0.503,
+1.980,2.160,1.740,2.690,2.360,2.970,0.282,0.521,0.264,0.281,
+0.350,0.623,0.625,0.349,0.328,0.174,0.456,0.381,0.225,0.657,
+0.362,0.370,2.210,3.570,2.690,2.510,0.335,0.639,0.608,0.420,
+2.410,0.498,2.490,2.650,1.220,3.350,2.590,2.160,1.580,1.380,
+1.320,1.570,2.650,3.910,3.180,2.710,2.330,0.333,2.330,2.670,
+1.490,1.930,2.370,2.890,2.520,1.690,1.280,1.860,1.680,1.330,
+1.310,1.330,1.260,0.150,0.858,1.190,1.460,1.420,1.110,2.060,
+2.960,2.990,1.870,2.180,2.250,2.630,2.480,2.380,1.780,0.274,
+1.780,2.150,1.700,2.780,1.650,2.580,1.540,2.080,1.710,1.820,
+0.146,0.232,0.177,0.204,1.230,0.177,1.300,1.790,1.060,1.910,
+1.430,1.760,1.980,1.380,1.330,1.750,1.480,1.590,1.300,1.620,
+1.760,0.227,1.590,2.420,2.120,2.840,2.570,3.630,3.660,2.810,
+1.730,2.550,2.040,1.750,1.320,1.390,1.690,0.228,0.932,1.330,
+1.890,2.140,1.190,2.130,3.660,3.990,2.080,2.300,2.840,2.840,
+2.360,1.820,3.140,0.527,2.370,2.440,2.030,3.860,1.550,2.050,
+2.090,3.140,2.630,2.260,0.308,0.452,0.419,0.434,1.610,0.249,
+1.070,1.360,1.040,2.080,1.210,1.550,2.130,1.830,1.480,2.120,
+2.170,2.200,1.830,1.960,2.020,0.226,1.300,1.860,2.030,1.870,
+1.900,3.460,0.277,0.337,0.173,0.208,0.352,0.384,0.239,0.191,
+0.184,0.051,0.165,0.193,0.154,0.313,0.199,0.230,0.305,0.446,
+0.212,0.212,0.400,0.468,0.326,0.213,0.322,0.111,0.370,0.312,
+0.210,0.535,0.192,0.213,0.211,0.435,0.318,0.245,0.048,0.118,
+0.102,0.062,0.241,0.075,0.260,0.250,0.138,0.431,0.210,0.213,
+0.274,0.275,0.212,0.280,0.442,0.647,0.516,0.476,0.282,0.064,
+0.283,0.329,0.268,0.437,0.308,0.450,2.060,2.000,1.170,1.130,
+1.710,2.160,1.800,1.200,1.820,0.462,1.510,1.510,1.130,1.960,
+1.500,2.140,0.217,0.383,0.189,0.165,0.194,0.354,0.281,0.140,
+0.289,0.137,0.339,0.247,0.185,0.517,0.261,0.261,1.400,2.530,
+1.670,1.240,0.208,0.406,0.329,0.213,1.640,0.311,1.270,1.280,
+0.768,1.780,1.330,1.130,1.250,1.420,1.690,1.170,1.650,2.520,
+2.290,1.800,1.570,0.310,1.840,1.740,1.060,1.830,1.750,1.880,
+2.120,1.200,0.910,1.310,1.240,1.040,0.724,0.753,1.150,0.157,
+0.681,1.010,1.190,1.350,0.814,2.100,2.630,2.580,1.540,1.780,
+2.170,2.690,1.740,1.400,2.100,0.313,1.800,2.160,1.650,3.040,
+1.560,2.250,1.750,2.110,1.530,1.390,0.188,0.289,0.201,0.179,
+1.630,0.207,1.270,1.430,1.060,2.240,1.270,1.520,2.160,1.950,
+1.860,1.750,1.860,2.070,1.410,1.490,2.120,0.493,1.920,2.140,
+2.770,6.830,2.420,3.270,4.000,2.160,1.590,2.820,1.760,1.170,
+1.100,1.130,1.610,0.197,0.823,1.340,2.280,2.190,1.140,2.670,
+2.090,1.500,0.932,1.340,1.300,0.919,0.889,0.912,1.660,0.185,
+0.873,1.270,1.510,1.660,0.793,1.420,1.820,1.470,1.160,1.750,
+0.184,0.166,0.138,0.233,1.060,0.101,0.581,0.980,0.946,1.100,
+0.751,1.400,2.540,1.480,1.390,2.810,2.040,1.430,1.310,1.920,
+1.630,0.133,0.964,1.550,2.340,1.600,1.710,3.980,3.260,2.300,
+1.460,2.090,2.520,1.900,1.920,1.510,1.660,0.230,1.090,1.570,
+1.510,1.960,1.120,1.960,2.390,2.240,1.200,1.550,2.060,1.990,
+1.580,1.320,2.180,0.361,1.640,2.080,1.780,2.820,1.070,1.560,
+1.730,1.960,1.440,1.920,0.176,0.239,0.258,0.253,1.510,0.183,
+1.070,1.500,1.230,1.800,1.140,1.680,1.880,1.350,1.160,2.030,
+2.200,2.030,1.900,2.290,1.700,0.165,1.190,1.720,1.820,1.690,
+1.570,2.890,2.450,1.560,1.330,1.520,2.210,1.820,1.740,1.750,
+2.250,0.353,1.680,2.130,1.600,1.900,1.720,2.630,0.207,0.211,
+0.144,0.190,0.179,0.224,0.202,0.165,0.220,0.058,0.239,0.290,
+0.199,0.352,0.204,0.283,1.660,2.090,1.440,1.760,0.182,0.227,
+0.210,0.271,1.930,0.288,1.400,1.970,1.210,2.050,1.670,2.060,
+1.590,1.420,1.460,1.830,2.130,2.120,2.190,2.590,2.280,0.261,
+1.910,2.680,1.750,1.880,2.270,3.340,3.360,1.650,1.450,2.220,
+1.780,1.390,1.080,1.230,1.650,0.174,1.080,1.630,2.080,1.770,
+1.470,3.720,2.010,1.420,1.010,1.470,1.370,1.150,1.100,1.160,
+1.610,0.156,1.260,1.960,1.540,1.860,1.270,2.340,2.430,2.290,
+1.650,2.440,0.233,0.216,0.170,0.264,2.330,0.207,1.720,2.540,
+1.900,2.450,2.000,2.800,3.830,2.380,2.390,4.430,3.250,2.620,
+2.330,3.100,3.590,0.305,3.000,4.670,5.050,4.520,4.080,6.530,
+0.357,0.282,0.239,0.297,0.374,0.274,0.240,0.213,0.263,0.049,
+0.289,0.648,0.261,0.249,0.174,0.252,0.317,0.315,0.223,0.229,
+0.334,0.334,0.267,0.199,0.230,0.059,0.238,0.231,0.155,0.236,
+0.179,0.211,0.192,0.204,0.184,0.192,0.035,0.041,0.039,0.041,
+0.137,0.034,0.126,0.134,0.113,0.152,0.144,0.150,0.220,0.122,
+0.134,0.225,0.273,0.206,0.187,0.221,0.168,0.026,0.144,0.181,
+0.177,0.142,0.183,0.245,0.441,0.418,0.271,0.283,0.599,0.424,
+0.339,0.273,0.391,0.111,0.967,1.590,0.171,0.309,0.321,0.361,
+0.409,0.513,0.281,0.241,0.433,0.435,0.396,0.259,0.421,0.162,
+0.459,0.528,0.165,0.384,0.225,0.223,0.237,0.375,0.234,0.226,
+0.147,0.140,0.129,0.059,0.384,0.183,0.273,0.272,0.161,0.406,
+0.226,0.174,0.152,0.150,0.107,0.133,0.335,0.311,0.233,0.242,
+0.223,0.051,0.211,0.265,0.151,0.174,0.190,0.233,0.218,0.188,
+0.119,0.127,0.435,0.300,0.254,0.196,0.235,0.057,0.181,0.215,
+0.121,0.190,0.165,0.195,0.032,0.057,0.033,0.025,0.054,0.100,
+0.083,0.042,0.059,0.042,0.069,0.058,0.024,0.076,0.049,0.036,
+0.140,0.177,0.181,0.141,0.034,0.048,0.076,0.043,0.180,0.063,
+0.209,0.211,0.090,0.214,0.182,0.160,0.102,0.093,0.088,0.110,
+0.196,0.219,0.218,0.214,0.193,0.056,0.215,0.239,0.121,0.210,
+0.195,0.243,0.265,0.153,0.119,0.176,0.176,0.117,0.106,0.118,
+0.156,0.028,0.111,0.178,0.156,0.165,0.126,0.229,0.277,0.272,
+0.185,0.233,0.284,0.350,0.247,0.219,0.236,0.051,0.217,0.287,
+0.140,0.266,0.188,0.265,0.153,0.193,0.155,0.186,0.030,0.034,
+0.038,0.038,0.299,0.083,0.200,0.811,0.126,0.309,0.203,0.291,
+0.183,0.130,0.132,0.230,0.144,0.146,0.141,0.208,0.223,0.048,
+0.264,1.100,0.215,0.268,0.280,0.447,0.315,0.290,0.223,0.237,
+0.329,0.360,0.283,0.231,0.179,0.046,0.141,0.171,0.136,0.193,
+0.131,0.182,0.316,0.393,0.259,0.348,0.380,0.458,0.456,0.346,
+0.251,0.128,0.319,0.286,0.105,0.233,0.167,0.175,0.139,0.234,
+0.179,0.152,0.033,0.076,0.081,0.046,0.112,0.043,0.149,0.143,
+0.066,0.150,0.130,0.143,0.117,0.084,0.081,0.139,0.177,0.231,
+0.177,0.174,0.172,0.033,0.141,0.173,0.099,0.115,0.129,0.170,
+0.380,0.510,0.271,0.214,0.536,0.815,0.470,0.252,0.262,0.096,
+0.237,0.269,0.112,0.261,0.147,0.191,0.490,0.888,0.399,0.304,
+0.446,0.329,0.480,0.328,0.476,0.287,0.473,0.470,0.138,0.458,
+0.240,0.208,0.215,0.589,0.297,0.224,0.088,0.286,0.201,0.087,
+0.235,0.136,0.269,0.231,0.091,0.358,0.247,0.196,0.148,0.203,
+0.125,0.131,0.299,0.556,0.297,0.259,0.182,0.055,0.216,0.206,
+0.100,0.197,0.162,0.194,0.224,0.254,0.150,0.152,0.403,0.521,
+0.548,0.263,0.277,0.103,0.243,0.201,0.113,0.250,0.210,0.223,
+0.043,0.133,0.074,0.044,0.114,0.299,0.389,0.093,0.101,0.157,
+0.187,0.115,0.025,0.122,0.078,0.049,0.201,0.447,0.331,0.228,
+0.090,0.251,0.242,0.092,0.283,0.153,0.404,0.309,0.091,0.339,
+0.345,0.212,0.109,0.108,0.127,0.115,0.309,0.530,0.538,0.325,
+0.353,0.085,0.397,0.310,0.132,0.191,0.295,0.262,0.170,0.135,
+0.107,0.126,0.156,0.157,0.145,0.107,0.119,0.022,0.095,0.098,
+0.095,0.117,0.095,0.148,0.220,0.336,0.205,0.209,0.269,0.438,
+0.423,0.271,0.231,0.084,0.241,0.249,0.104,0.286,0.169,0.198,
+0.130,0.235,0.177,0.160,0.022,0.051,0.048,0.035,0.151,0.040,
+0.206,0.194,0.095,0.168,0.161,0.155,0.126,0.100,0.103,0.119,
+0.123,0.171,0.177,0.151,0.151,0.025,0.179,0.259,0.138,0.197,
+0.232,0.279,0.200,0.206,0.143,0.156,0.206,0.209,0.154,0.138,
+0.127,0.033,0.103,0.111,0.109,0.215,0.133,0.118,0.258,0.410,
+0.199,0.179,0.370,0.457,0.374,0.256,0.344,0.188,0.442,0.307,
+0.173,0.591,0.180,0.167,0.147,0.303,0.269,0.169,0.043,0.098,
+0.104,0.063,0.192,0.079,0.179,0.171,0.071,0.219,0.142,0.124,
+0.109,0.106,0.094,0.126,0.169,0.215,0.225,0.187,0.162,0.045,
+0.170,0.188,0.127,0.157,0.159,0.226,0.032,0.052,0.040,0.022,
+0.081,0.124,0.104,0.055,0.031,0.031,0.056,0.049,0.014,0.054,
+0.067,0.026,0.050,0.152,0.070,0.035,0.125,0.257,0.197,0.083,
+0.091,0.187,0.231,0.119,0.029,0.154,0.061,0.037,0.032,0.132,
+0.104,0.041,0.040,0.160,0.161,0.053,0.078,0.109,0.172,0.091,
+0.020,0.106,0.093,0.039,0.018,0.033,0.024,0.018,0.057,0.109,
+0.110,0.071,0.040,0.032,0.088,0.062,0.020,0.046,0.050,0.041,
+0.176,0.241,0.135,0.108,0.216,0.444,0.377,0.182,0.248,0.115,
+0.332,0.287,0.095,0.252,0.250,0.198,0.039,0.132,0.065,0.031,
+0.080,0.233,0.188,0.074,0.099,0.172,0.250,0.118,0.029,0.117,
+0.081,0.041,0.147,0.484,0.321,0.171,0.069,0.247,0.220,0.070,
+0.292,0.185,0.436,0.288,0.086,0.367,0.323,0.193,0.102,0.144,
+0.156,0.119,0.232,0.556,0.449,0.338,0.251,0.118,0.424,0.421,
+0.110,0.223,0.290,0.235,0.170,0.153,0.110,0.130,0.126,0.146,
+0.094,0.092,0.129,0.035,0.107,0.116,0.109,0.161,0.100,0.172,
+0.247,0.390,0.224,0.215,0.328,0.654,0.388,0.268,0.326,0.139,
+0.415,0.378,0.150,0.424,0.256,0.235,0.186,0.354,0.240,0.184,
+0.041,0.110,0.094,0.044,0.313,0.092,0.306,0.288,0.119,0.348,
+0.262,0.223,0.141,0.161,0.143,0.149,0.207,0.261,0.199,0.182,
+0.234,0.064,0.320,0.297,0.203,0.543,0.276,0.279,0.273,0.178,
+0.142,0.202,0.212,0.147,0.147,0.197,0.164,0.021,0.088,0.156,
+0.171,0.187,0.106,0.213,0.196,0.176,0.118,0.131,0.171,0.154,
+0.137,0.144,0.156,0.032,0.132,0.156,0.130,0.202,0.093,0.139,
+0.146,0.161,0.121,0.156,0.022,0.023,0.021,0.029,0.098,0.015,
+0.080,0.101,0.071,0.108,0.084,0.141,0.179,0.118,0.122,0.195,
+0.184,0.141,0.135,0.231,0.169,0.019,0.117,0.191,0.188,0.145,
+0.172,0.373,0.393,0.336,0.254,0.236,0.442,0.364,0.687,0.290,
+0.248,0.055,0.256,0.265,0.162,0.334,0.231,0.235,0.368,0.491,
+0.283,0.265,0.422,0.535,0.530,0.360,0.389,0.130,0.489,0.475,
+0.227,0.706,0.262,0.257,0.217,0.395,0.284,0.265,0.041,0.099,
+0.108,0.076,0.231,0.063,0.249,0.272,0.136,0.374,0.230,0.233,
+0.176,0.176,0.158,0.215,0.321,0.394,0.407,0.486,0.222,0.041,
+0.272,0.294,0.189,0.244,0.261,0.368,0.187,0.163,0.138,0.125,
+0.236,0.283,0.268,0.220,0.224,0.059,0.225,0.238,0.121,0.211,
+0.206,0.229,0.025,0.039,0.030,0.025,0.038,0.079,0.067,0.040,
+0.038,0.028,0.068,0.053,0.021,0.057,0.040,0.035,0.154,0.320,
+0.230,0.213,0.038,0.083,0.085,0.055,0.285,0.101,0.309,0.298,
+0.129,0.360,0.314,0.275,0.136,0.149,0.152,0.167,0.248,0.346,
+0.350,0.353,0.306,0.077,0.363,0.410,0.169,0.259,0.315,0.336,
+0.237,0.183,0.135,0.173,0.171,0.157,0.138,0.143,0.160,0.021,
+0.110,0.158,0.139,0.153,0.140,0.278,0.200,0.189,0.137,0.149,
+0.197,0.240,0.207,0.199,0.167,0.031,0.182,0.238,0.132,0.207,
+0.157,0.244,0.231,0.285,0.202,0.247,0.033,0.040,0.038,0.038,
+0.266,0.045,0.251,0.347,0.173,0.316,0.283,0.319,0.254,0.195,
+0.187,0.298,0.279,0.282,0.262,0.311,0.352,0.048,0.361,0.467,
+0.349,0.397,0.412,0.500,4.210,2.990,2.200,3.540,3.030,2.240,
+2.260,2.100,2.420,0.287,2.820,2.180,2.750,2.480,1.870,2.600,
+3.520,2.710,1.950,4.030,3.270,2.180,2.170,1.990,2.410,0.385,
+1.820,1.770,1.500,2.210,1.420,1.960,2.090,2.040,1.580,2.300,
+0.226,0.221,0.264,0.355,1.430,0.172,1.060,1.230,1.030,1.620,
+1.210,1.550,2.110,1.140,0.943,1.990,1.890,1.510,1.250,1.640,
+1.710,0.178,0.987,1.350,1.820,1.060,1.390,2.320,4.100,3.130,
+1.690,2.580,3.600,3.120,2.280,2.280,2.770,0.465,1.690,2.230,
+1.670,2.340,1.270,1.910,3.750,3.970,2.170,2.910,3.230,2.280,
+2.760,2.190,5.240,1.580,2.870,3.280,1.810,3.900,1.470,1.750,
+2.250,3.090,2.030,2.270,0.388,0.449,0.447,0.442,2.860,0.466,
+2.160,2.460,1.230,2.640,1.860,1.860,1.660,1.190,0.823,1.410,
+2.320,2.260,1.810,2.190,2.040,0.261,1.410,1.900,1.500,1.490,
+1.440,2.380,3.020,1.920,1.260,1.760,3.760,3.170,3.370,2.920,
+2.930,0.519,1.710,2.170,1.870,2.850,1.760,2.650,0.357,0.426,
+0.275,0.403,0.509,0.543,0.805,0.570,0.475,0.164,0.441,0.463,
+0.342,0.973,0.377,0.486,2.210,2.550,8.260,6.660,0.504,0.456,
+7.100,3.900,2.440,0.437,1.820,1.950,1.190,2.360,2.370,2.090,
+1.620,1.170,1.280,1.750,2.880,2.530,9.380,6.840,1.990,0.334,
+1.690,2.120,1.490,1.750,1.890,2.500,3.580,1.220,0.888,1.720,
+1.610,1.120,1.020,1.120,1.350,0.182,0.784,1.130,1.620,1.730,
+1.050,2.010,2.480,2.130,1.350,2.280,2.100,1.990,1.990,1.810,
+1.910,0.306,1.560,2.020,1.540,2.800,1.370,2.110,1.670,2.000,
+1.910,2.220,0.216,0.235,0.499,0.463,1.720,0.227,1.500,2.410,
+1.310,2.230,1.840,2.460,2.060,1.290,1.040,2.230,1.580,1.310,
+1.690,2.070,2.200,0.243,1.710,3.120,2.410,2.350,2.510,3.940,
+0.274,0.263,0.173,0.335,0.268,0.262,0.291,0.229,0.178,0.047,
+0.123,0.161,0.147,0.215,0.143,0.230,0.401,0.471,0.460,1.960,
+0.493,0.481,0.664,0.523,0.411,0.193,0.368,0.322,0.157,0.423,
+0.218,0.265,0.138,0.254,0.169,0.232,0.038,0.063,0.057,0.056,
+0.167,0.051,0.182,0.187,0.104,0.229,0.181,0.239,0.133,0.102,
+0.089,0.179,0.190,0.211,0.174,0.176,0.131,0.031,0.118,0.144,
+0.127,0.134,0.158,0.244,0.274,0.361,0.174,0.186,0.339,0.442,
+0.401,0.235,0.293,0.157,0.174,0.183,0.107,0.281,0.133,0.143,
+0.445,0.764,0.434,0.419,0.536,0.522,0.624,0.389,1.350,1.000,
+0.595,0.545,0.278,1.060,0.257,0.226,0.211,0.492,0.264,0.232,
+0.092,0.222,0.186,0.109,0.403,0.232,0.403,0.356,0.139,0.486,
+0.372,0.262,0.129,0.133,0.092,0.112,0.243,0.345,0.265,0.248,
+0.212,0.074,0.207,0.184,0.103,0.174,0.154,0.182,0.209,0.210,
+0.122,0.137,0.411,0.488,0.537,0.286,0.278,0.099,0.233,0.190,
+0.116,0.231,0.204,0.200,0.047,0.114,0.069,0.081,0.137,0.241,
+0.276,0.115,0.109,0.144,0.192,0.118,0.031,0.143,0.095,0.060,
+0.200,0.401,0.417,0.352,0.095,0.212,0.465,0.158,0.396,0.218,
+0.499,0.358,0.138,0.498,0.452,0.307,0.135,0.122,0.120,0.133,
+0.306,0.490,0.634,0.404,0.257,0.098,0.384,0.294,0.118,0.227,
+0.284,0.251,0.241,0.185,0.127,0.173,0.159,0.154,0.129,0.133,
+0.120,0.025,0.089,0.106,0.117,0.171,0.135,0.204,0.312,0.432,
+0.262,0.464,0.378,0.487,0.417,0.359,0.329,0.109,0.283,0.307,
+0.184,0.482,0.254,0.315,0.147,0.264,0.211,0.210,0.031,0.076,
+0.070,0.048,0.211,0.061,0.249,0.300,0.124,0.295,0.261,0.264,
+0.152,0.121,0.097,0.163,0.140,0.180,0.163,0.177,0.182,0.033,
+0.208,0.260,0.173,0.231,0.260,0.314,2.040,2.130,1.490,2.140,
+2.340,2.050,1.540,1.500,1.310,0.177,0.970,1.130,0.993,1.020,
+0.792,1.140,3.440,3.530,1.850,2.140,6.090,3.480,3.320,2.360,
+3.100,0.632,3.390,2.740,1.280,2.670,1.400,1.640,1.500,2.720,
+1.650,1.730,0.372,0.579,0.441,0.458,1.590,0.363,1.750,1.750,
+0.754,2.100,1.370,1.440,1.260,0.956,0.673,1.110,1.690,1.770,
+1.380,1.510,1.470,0.212,1.330,1.720,1.110,1.280,1.330,2.260,
+0.203,0.265,0.136,0.171,0.398,0.584,0.363,0.286,0.186,0.071,
+0.208,0.183,0.093,0.183,0.112,0.140,0.311,0.475,0.226,0.201,
+0.813,0.662,0.717,0.383,0.443,0.278,0.798,0.482,0.122,0.379,
+0.190,0.168,0.164,0.449,0.227,0.219,0.079,0.221,0.194,0.094,
+0.287,0.171,0.430,0.347,0.094,0.347,0.245,0.181,0.150,0.137,
+0.087,0.143,0.305,0.459,0.299,0.323,0.204,0.068,0.261,0.307,
+0.129,0.180,0.180,0.272,2.600,1.940,1.240,0.987,2.770,3.490,
+3.150,2.090,2.160,0.547,2.390,1.870,0.953,1.800,1.750,1.650,
+0.286,0.561,0.305,0.197,0.461,0.815,0.640,0.293,0.475,0.301,
+0.910,0.458,0.174,0.579,0.383,0.271,1.930,2.790,2.240,1.580,
+0.405,0.527,0.662,0.361,1.640,0.424,0.477,0.789,0.721,1.640,
+1.730,1.370,1.090,0.997,0.963,0.794,1.930,2.670,2.550,1.740,
+1.940,0.427,2.650,2.190,0.956,1.490,2.060,1.850,1.590,1.100,
+0.899,1.080,1.370,1.300,1.020,0.793,1.020,0.160,0.885,0.921,
+0.779,0.972,0.707,1.050,2.190,2.640,1.600,1.520,2.890,3.600,
+2.610,1.750,2.360,0.480,3.050,2.630,1.220,2.750,1.680,1.630,
+1.600,2.450,1.830,1.810,0.251,0.481,0.377,0.287,1.960,0.340,
+2.100,2.040,0.952,2.220,1.790,1.680,1.240,1.040,0.848,1.090,
+1.480,1.890,1.330,1.320,1.800,0.268,2.170,2.060,1.510,2.200,
+1.980,2.060,2.370,1.420,0.939,1.740,1.430,1.110,0.885,1.090,
+1.110,0.141,0.739,1.010,1.170,1.100,0.772,1.470,2.050,1.490,
+0.930,1.270,2.040,1.140,1.580,1.310,1.200,0.160,0.979,0.970,
+0.781,1.040,0.642,0.954,1.160,1.410,0.791,1.200,0.155,0.169,
+0.131,0.215,1.110,0.143,0.703,1.010,0.811,1.140,0.829,1.290,
+1.320,0.835,0.591,1.150,1.190,1.050,0.771,1.240,0.930,0.100,
+0.653,1.050,1.110,1.030,0.937,2.140,2.820,2.390,1.450,1.970,
+2.830,2.680,2.540,2.070,1.680,0.275,1.680,1.640,1.090,1.580,
+0.918,1.510,3.280,3.460,2.440,2.210,4.470,3.530,7.290,4.480,
+3.240,0.794,4.080,3.100,1.210,2.540,1.640,1.650,1.690,3.240,
+1.530,1.690,0.277,0.507,0.386,0.378,1.950,0.380,1.930,2.360,
+1.030,2.490,1.660,1.930,1.730,1.290,0.851,1.290,2.320,2.570,
+2.030,2.330,1.520,0.225,1.550,2.140,1.220,1.470,1.360,2.470,
+3.060,1.980,1.940,1.730,3.030,3.110,3.000,3.350,2.250,0.402,
+1.840,2.100,1.360,1.870,1.740,2.290,0.471,0.346,0.632,0.309,
+0.399,0.604,0.671,0.475,0.334,0.128,0.484,0.471,0.185,0.432,
+0.283,0.299,2.500,3.950,2.390,2.330,0.417,0.556,0.672,0.501,
+5.310,1.450,2.490,3.070,1.730,4.370,2.650,2.560,1.550,1.560,
+1.200,1.290,2.660,2.960,3.170,2.720,2.370,0.428,2.470,2.920,
+1.410,1.970,2.270,2.780,2.380,1.160,0.938,1.350,1.340,1.120,
+0.945,1.050,1.170,0.145,0.833,1.060,1.200,1.080,0.880,1.740,
+2.490,1.740,1.740,1.480,1.970,2.170,2.010,1.720,1.660,0.215,
+1.570,1.980,1.300,1.660,1.240,1.690,1.860,2.620,1.520,1.980,
+0.224,0.297,0.228,0.276,2.460,0.351,2.360,2.760,1.500,2.500,
+2.280,2.490,2.060,1.310,1.080,1.840,1.950,2.090,1.760,2.020,
+2.080,0.220,2.320,2.900,2.260,2.160,2.540,3.070,4.010,2.330,
+2.020,3.560,2.340,1.650,1.400,1.560,2.200,0.213,0.919,1.540,
+2.580,2.050,1.220,2.360,2.560,1.600,1.230,1.760,1.670,1.130,
+1.100,1.070,1.470,0.151,0.991,1.300,1.260,1.400,0.862,1.360,
+1.630,1.320,1.100,2.120,0.167,0.139,0.126,0.235,0.971,0.101,
+0.549,0.825,0.970,1.160,0.827,1.480,2.460,1.070,1.060,2.240,
+1.800,1.200,1.110,1.630,1.280,0.128,0.748,1.260,2.200,1.260,
+1.340,4.850,3.200,2.020,1.180,1.870,2.080,1.420,0.964,1.200,
+1.350,0.160,0.695,1.290,1.250,1.110,0.689,1.330,1.900,1.400,
+1.630,1.650,1.160,0.784,0.802,0.773,1.320,0.239,0.733,1.000,
+0.824,1.120,0.621,0.893,1.190,1.260,0.758,1.110,0.111,0.122,
+0.085,0.121,0.945,0.108,0.523,0.722,0.995,1.120,0.756,0.932,
+1.510,0.738,0.549,1.060,1.160,0.937,0.652,1.010,0.983,0.104,
+0.603,0.934,1.110,0.805,0.811,1.590,2.520,1.330,0.933,1.540,
+2.170,1.450,1.250,1.720,1.600,0.242,0.637,1.110,1.530,1.550,
+0.977,1.820,0.200,0.172,0.126,0.232,0.186,0.180,0.135,0.161,
+0.195,0.051,0.114,0.150,0.207,0.355,0.130,0.223,1.330,1.220,
+1.350,1.780,0.147,0.150,0.324,0.297,1.280,0.190,0.634,0.929,
+0.968,1.420,0.982,1.230,1.360,1.050,0.809,1.410,1.680,1.480,
+1.420,1.760,2.930,1.130,1.200,1.710,1.620,2.770,1.360,2.240,
+3.210,1.200,0.988,2.110,1.430,0.911,0.823,1.260,1.350,0.134,
+0.687,1.110,1.870,1.340,0.905,2.120,2.080,1.400,1.070,2.300,
+1.350,1.080,0.894,1.100,1.330,0.141,0.888,1.230,1.380,1.780,
+0.966,1.620,1.390,1.150,0.985,1.550,0.122,0.105,0.095,0.158,
+1.020,0.101,0.701,1.190,1.080,1.420,0.990,1.530,2.320,1.140,
+1.130,2.740,1.520,1.000,1.030,1.810,1.840,0.250,1.180,2.150,
+2.650,2.270,2.180,4.500,4.530,2.990,2.120,3.450,3.050,2.530,
+2.030,2.230,2.090,0.288,1.080,1.910,2.050,2.160,1.390,2.590,
+3.680,3.090,2.890,4.570,2.980,2.480,3.100,2.510,2.580,0.486,
+2.090,2.460,1.500,2.410,1.620,2.100,1.750,2.040,1.460,2.010,
+0.201,0.281,0.215,0.290,1.370,0.209,1.180,1.520,0.997,1.720,
+1.320,1.970,1.920,1.110,0.993,1.630,2.060,1.910,1.390,1.740,
+1.190,0.153,0.989,1.480,1.590,1.370,1.460,2.760,4.030,3.540,
+2.140,2.840,3.650,3.700,2.300,2.580,2.000,0.475,1.190,1.690,
+1.400,2.040,1.100,1.910,3.750,3.860,5.950,5.570,3.220,2.450,
+2.790,2.330,4.200,1.530,2.410,2.880,1.630,3.870,1.610,1.930,
+1.730,2.560,1.680,2.000,0.262,0.436,0.293,0.307,1.980,0.439,
+1.560,1.910,1.130,2.550,1.650,2.210,1.600,1.190,1.110,1.480,
+1.970,2.210,1.480,1.800,1.540,0.215,1.150,1.920,1.320,1.480,
+1.320,2.130,2.660,1.970,1.180,1.680,3.350,3.080,2.770,2.640,
+2.030,0.409,1.380,1.570,1.440,1.920,1.560,2.250,0.220,0.320,
+0.257,0.335,0.362,0.531,0.453,0.350,0.267,0.149,0.324,0.303,
+0.194,0.532,0.266,0.299,1.950,2.590,1.950,2.300,0.288,0.471,
+0.468,0.397,2.410,0.504,1.910,2.240,1.280,3.000,2.420,2.530,
+1.630,1.120,1.120,1.850,2.460,2.990,2.970,2.930,2.250,0.379,
+2.170,2.610,1.580,1.950,2.500,3.190,2.450,1.530,1.330,1.920,
+1.540,1.330,1.130,1.400,1.410,0.164,0.996,1.230,1.400,1.400,
+1.170,2.140,2.740,2.690,1.880,2.830,2.260,2.780,2.230,2.280,
+2.180,0.384,1.910,2.390,1.740,3.840,1.980,2.600,1.560,2.160,
+1.600,2.030,0.155,0.252,0.181,0.220,1.530,0.213,1.510,1.990,
+1.130,2.040,1.790,2.330,1.950,1.250,1.170,1.860,1.590,1.650,
+1.270,1.710,1.670,0.187,1.590,2.300,2.030,2.220,2.470,3.730,
+2.710,2.210,1.470,2.260,2.000,1.760,1.840,1.870,1.540,0.187,
+0.805,1.200,1.480,1.450,0.834,1.520,3.000,3.410,1.570,1.900,
+3.070,2.600,2.320,1.830,2.480,0.433,2.310,2.400,1.460,2.670,
+1.380,1.840,1.620,2.710,1.600,1.790,0.232,0.418,0.343,0.360,
+1.590,0.420,1.170,1.530,1.320,4.650,1.490,1.680,1.520,1.160,
+0.804,1.380,1.590,1.670,1.400,1.570,1.670,0.231,1.210,1.840,
+1.730,1.820,1.710,3.040,0.186,0.207,0.148,0.162,0.301,0.282,
+0.208,0.187,0.126,0.031,0.111,0.123,0.107,0.177,0.100,0.164,
+0.208,0.350,0.174,0.188,0.324,0.386,0.314,0.203,0.262,0.130,
+0.365,0.305,0.119,0.320,0.154,0.172,0.117,0.274,0.145,0.136,
+0.035,0.095,0.078,0.042,0.187,0.084,0.226,0.215,0.107,0.425,
+0.225,0.179,0.141,0.122,0.081,0.133,0.216,0.284,0.197,0.214,
+0.168,0.042,0.184,0.211,0.158,0.177,0.173,0.255,2.310,1.850,
+1.140,1.180,2.430,2.910,2.400,1.730,1.810,0.496,1.970,1.730,
+1.140,2.170,1.920,1.970,0.223,0.365,0.176,0.152,0.291,0.463,
+0.336,0.209,0.283,0.159,0.775,0.285,0.169,0.489,0.314,0.233,
+1.890,3.160,2.220,1.780,0.300,0.552,0.425,0.293,2.390,0.508,
+1.170,1.690,1.090,2.850,2.010,1.810,1.420,1.330,1.080,1.150,
+2.270,3.100,2.310,1.880,2.170,0.428,2.360,2.430,1.500,2.210,
+2.180,2.390,2.020,1.360,0.950,1.470,1.490,1.310,0.963,1.000,
+1.270,0.187,1.100,1.240,1.120,1.330,1.000,1.700,2.720,2.710,
+1.590,1.950,2.620,2.990,1.940,1.620,2.580,0.442,3.310,2.890,
+1.770,3.520,2.260,2.410,1.820,2.640,1.590,1.880,0.190,0.340,
+0.228,0.232,2.250,0.313,1.750,2.290,1.490,3.190,2.210,2.320,
+2.040,1.450,1.270,1.660,1.650,1.920,1.420,1.630,2.330,0.280,
+2.380,2.840,2.460,2.770,2.690,3.200,3.700,1.710,1.120,2.220,
+1.520,1.100,0.830,1.210,1.280,0.141,0.632,1.140,1.650,1.310,
+0.867,2.070,1.970,1.440,0.732,1.160,1.270,0.943,0.792,0.901,
+1.220,0.148,0.806,1.290,0.902,1.170,0.656,1.290,1.490,1.550,
+0.812,1.620,0.139,0.143,0.096,0.195,0.955,0.123,0.554,0.992,
+0.920,1.460,0.778,1.410,1.780,1.120,0.799,1.800,1.270,0.966,
+0.814,1.370,1.200,0.111,0.881,1.440,1.730,1.270,1.360,3.350,
+2.480,1.790,1.090,1.660,1.840,1.540,1.240,1.290,1.150,0.150,
+0.759,1.270,1.100,1.380,0.778,1.670,2.180,1.920,1.130,1.390,
+1.800,1.590,1.710,1.410,1.670,0.264,1.410,1.720,0.971,1.670,
+0.919,1.410,1.430,2.530,1.020,1.350,0.121,0.232,0.128,0.161,
+1.280,0.194,0.978,1.370,1.010,1.810,1.170,1.840,1.340,1.020,
+0.708,1.220,1.420,1.400,1.090,1.430,1.380,0.130,1.110,1.610,
+1.460,1.190,1.240,2.460,2.790,1.770,1.290,1.570,2.550,2.280,
+1.800,2.280,1.890,0.310,1.280,1.860,1.740,1.990,1.850,2.690,
+0.215,0.228,0.167,0.170,0.214,0.275,0.216,0.201,0.170,0.050,
+0.200,0.226,0.197,0.308,0.224,0.270,2.240,3.050,1.930,2.260,
+0.227,0.354,0.262,0.298,2.890,0.503,1.860,2.550,1.810,3.440,
+2.620,3.070,1.930,1.780,1.310,1.720,2.440,2.640,2.550,2.660,
+2.540,0.334,2.280,3.120,2.020,2.360,2.330,3.640,3.840,1.740,
+1.180,2.160,1.820,1.370,1.050,1.400,1.760,0.179,0.984,1.700,
+2.410,1.850,1.490,4.070,2.870,1.990,1.280,1.810,2.320,2.250,
+1.510,1.670,2.180,0.210,1.740,2.440,2.080,2.370,1.680,3.020,
+2.590,2.670,1.590,2.490,0.195,0.228,0.148,0.239,2.520,0.245,
+2.000,2.910,2.360,3.220,2.730,3.720,3.820,1.980,1.690,3.380,
+2.530,2.260,1.940,2.690,3.070,0.223,2.820,4.100,3.940,2.850,
+2.990,4.490,6.710,4.260,3.240,6.930,4.210,2.540,2.200,2.990,
+4.290,0.409,1.830,3.330,7.070,4.870,2.580,5.610,4.390,2.470,
+1.740,2.510,2.640,1.680,1.290,1.540,2.420,0.172,1.180,1.750,
+2.110,1.930,1.290,2.360,3.620,2.540,1.990,3.290,0.279,0.231,
+0.180,0.378,1.760,0.163,0.852,1.350,1.950,2.000,1.310,2.270,
+6.020,2.330,2.650,5.870,4.040,2.640,2.250,3.830,2.400,0.196,
+1.270,2.250,3.930,2.440,2.240,4.640,4.690,2.310,1.590,2.690,
+2.640,1.630,1.190,1.620,2.000,0.203,1.290,1.740,2.020,1.730,
+1.030,2.030,2.640,1.620,0.981,1.370,1.560,0.961,0.763,0.855,
+1.380,0.116,0.759,1.080,1.110,1.040,0.707,1.150,2.000,1.630,
+1.280,1.750,0.159,0.153,0.115,0.172,1.650,0.277,0.748,1.040,
+1.170,1.320,0.813,1.190,2.310,1.520,1.300,1.990,2.160,1.910,
+1.500,1.840,1.680,0.135,0.983,1.570,1.850,1.420,1.430,2.610,
+3.470,1.690,1.380,2.180,2.560,1.480,1.360,1.720,2.060,0.223,
+0.884,1.520,2.080,1.830,1.400,2.700,0.242,0.198,0.110,0.186,
+0.176,0.181,0.113,0.145,0.173,0.025,0.094,0.159,0.231,0.283,
+0.148,0.264,1.820,1.210,1.130,1.350,0.148,0.122,0.101,0.152,
+1.060,0.114,0.593,0.846,0.924,1.080,0.861,1.170,1.910,1.180,
+1.100,1.760,2.150,2.010,1.310,1.680,1.770,0.178,0.981,1.490,
+1.890,2.190,1.630,2.780,5.130,1.930,1.790,4.120,2.110,1.190,
+1.290,1.750,2.350,0.216,0.985,1.690,3.050,1.980,1.710,3.860,
+2.870,1.950,1.290,2.000,1.730,1.460,1.130,1.320,1.700,0.147,
+0.943,1.640,1.780,1.740,1.260,2.260,2.320,1.460,1.250,1.860,
+0.155,0.110,0.121,0.179,1.400,0.128,0.976,1.370,1.440,1.420,
+1.150,1.740,3.480,1.680,1.710,3.360,1.970,1.380,1.460,2.080,
+2.490,0.171,1.520,2.630,3.930,2.970,2.690,5.790,5.440,3.210,
+2.180,3.940,2.790,1.920,1.430,1.860,1.820,0.198,0.820,1.660,
+2.620,2.450,1.330,3.050,3.210,2.220,2.220,2.430,1.900,1.400,
+1.190,1.280,1.340,0.139,0.861,1.240,1.260,1.450,0.937,1.580,
+1.700,1.620,1.230,1.740,0.158,0.178,0.121,0.197,0.847,0.094,
+0.569,0.807,0.968,1.240,0.793,1.390,2.180,1.150,1.230,2.050,
+1.820,1.590,1.240,1.620,1.050,0.098,0.662,1.240,1.650,1.180,
+1.220,2.740,3.210,2.170,1.050,1.880,2.100,1.700,1.010,1.290,
+1.140,0.131,0.588,0.996,1.190,1.260,0.669,1.580,1.900,1.570,
+0.830,1.070,1.430,0.899,0.851,0.867,1.010,0.132,0.642,0.926,
+0.817,1.120,0.571,0.951,1.510,1.600,1.060,1.370,0.129,0.181,
+0.127,0.140,0.900,0.148,0.598,0.789,0.844,1.220,0.688,1.170,
+1.520,1.210,0.901,1.400,1.480,1.620,1.240,1.300,1.040,0.097,
+0.601,1.230,1.040,0.972,0.788,1.690,2.220,1.420,0.952,1.540,
+1.960,1.530,1.300,1.390,1.440,0.207,0.791,1.130,1.280,1.380,
+1.060,2.070,0.123,0.158,0.086,0.135,0.132,0.254,0.113,0.120,
+0.129,0.044,0.094,0.115,0.116,0.226,0.101,0.160,1.510,1.690,
+1.310,1.500,0.185,0.415,0.126,0.149,0.960,0.111,0.681,0.906,
+0.787,1.110,0.936,1.130,1.470,1.920,1.030,1.520,2.560,7.400,
+1.410,1.770,1.450,0.189,0.877,1.380,1.250,1.280,1.220,2.000,
+2.140,1.210,0.998,1.770,1.350,0.883,0.840,1.500,1.080,0.098,
+0.556,0.934,1.420,1.030,0.909,2.260,1.570,1.320,0.850,1.320,
+1.080,1.250,0.857,1.150,0.877,0.110,0.634,0.997,0.975,1.200,
+0.755,1.440,1.320,1.140,0.949,1.330,0.093,0.101,0.069,0.112,
+0.835,0.071,0.722,0.831,0.829,0.947,0.872,1.200,1.820,1.030,
+1.100,1.700,1.280,1.540,1.000,1.370,1.450,0.130,0.923,1.690,
+1.920,1.790,1.830,3.200,3.570,2.110,1.240,2.400,1.570,1.120,
+0.766,1.220,1.310,0.169,0.722,1.140,1.960,1.930,0.880,1.970,
+2.460,1.940,1.050,1.670,1.410,1.120,1.030,1.120,1.480,0.198,
+1.020,1.220,1.840,2.650,0.982,1.640,1.590,1.750,1.230,1.750,
+0.170,0.190,0.145,0.266,0.829,0.096,0.468,0.696,0.836,1.180,
+0.804,1.190,2.030,1.280,1.220,2.270,1.600,1.280,1.070,1.710,
+1.210,0.124,0.725,1.270,1.730,1.330,1.560,3.420,0.207,0.163,
+0.084,0.147,0.176,0.142,0.083,0.107,0.106,0.021,0.062,0.096,
+0.134,0.178,0.085,0.155,0.165,0.168,0.080,0.105,0.131,0.133,
+0.084,0.089,0.120,0.025,0.095,0.107,0.133,0.215,0.079,0.131,
+0.115,0.152,0.095,0.124,0.015,0.026,0.020,0.020,0.088,0.017,
+0.056,0.080,0.083,0.128,0.076,0.117,0.228,0.163,0.140,0.253,
+0.233,0.259,0.187,0.249,0.137,0.018,0.092,0.156,0.185,0.174,
+0.157,0.325,1.540,1.090,0.655,0.948,1.160,1.070,0.919,0.862,
+1.340,0.192,0.673,0.886,1.110,1.360,0.768,1.380,0.126,0.133,
+0.071,0.093,0.098,0.128,0.083,0.075,0.119,0.026,0.087,0.099,
+0.130,0.187,0.082,0.119,1.160,1.270,0.801,0.873,0.124,0.162,
+0.106,0.107,0.834,0.100,0.445,0.563,0.570,0.819,0.606,0.780,
+1.150,1.080,1.140,1.090,1.340,1.960,1.050,1.180,1.080,0.124,
+0.784,1.040,0.955,1.070,1.020,1.480,1.690,0.985,0.675,1.210,
+1.080,0.758,0.524,0.708,1.080,0.129,0.498,0.936,1.390,1.380,
+0.693,1.800,1.770,1.320,0.825,1.320,1.330,1.340,0.794,0.913,
+1.160,0.124,0.812,1.160,1.300,1.480,0.787,1.410,1.410,1.330,
+0.849,1.110,0.115,0.141,0.083,0.114,1.060,0.094,0.611,0.846,
+0.893,1.160,0.797,1.240,1.890,1.300,1.290,1.550,1.370,1.310,
+0.940,1.200,1.660,0.168,1.130,1.550,2.120,2.280,1.630,2.900,
+5.010,2.220,1.740,3.620,1.800,1.050,0.905,1.260,1.750,0.159,
+0.762,1.420,3.730,2.050,1.280,3.690,2.100,1.230,0.838,1.390,
+1.090,0.693,0.650,0.818,1.290,0.107,0.701,1.060,1.570,1.280,
+0.830,1.700,2.070,1.520,1.240,2.220,0.163,0.135,0.105,0.244,
+0.995,0.083,0.502,0.929,1.180,1.100,0.820,1.730,3.450,1.650,
+2.040,4.670,2.070,1.320,1.350,2.360,1.640,0.129,1.020,1.680,
+2.810,1.700,2.130,4.980,2.900,1.620,1.050,2.010,1.730,1.150,
+0.790,1.170,1.300,0.134,0.717,1.220,1.590,1.480,0.843,1.790,
+1.780,1.380,0.761,1.120,1.150,0.998,0.654,0.757,1.190,0.139,
+0.835,1.110,1.220,1.210,0.719,1.150,1.440,1.210,0.838,1.550,
+0.102,0.101,0.083,0.146,1.040,0.090,0.543,0.959,1.040,1.070,
+0.700,1.330,2.040,1.220,1.170,2.440,1.870,1.490,1.290,2.200,
+1.430,0.105,0.875,1.550,1.760,1.430,1.460,3.060,2.090,1.180,
+0.938,1.440,1.640,1.140,0.954,1.380,1.680,0.182,0.914,1.500,
+1.620,1.320,1.150,2.230,0.123,0.108,0.075,0.141,0.097,0.108,
+0.085,0.094,0.118,0.015,0.089,0.184,0.141,0.151,0.096,0.180,
+1.250,1.230,0.869,1.370,0.101,0.102,0.079,0.136,1.120,0.106,
+0.674,1.100,0.927,1.080,0.922,1.430,1.550,1.140,1.290,1.750,
+1.800,1.810,1.390,2.080,1.820,0.140,1.230,1.890,1.740,1.420,
+1.810,3.100,3.600,1.740,1.610,2.790,1.780,1.160,0.953,1.360,
+1.920,0.179,0.973,1.680,2.700,1.820,1.470,4.050,1.930,1.270,
+0.925,1.670,1.290,1.020,0.851,1.130,1.290,0.099,0.934,1.560,
+1.470,1.360,1.030,2.210,2.300,1.910,1.360,2.290,0.166,0.143,
+0.105,0.202,2.830,0.190,1.140,1.760,2.020,2.000,1.630,2.530,
+4.060,2.100,2.390,4.710,3.020,2.400,2.190,3.420,3.750,0.211,
+2.500,4.100,5.900,4.030,4.110,7.610,6.660,4.060,3.030,5.060,
+4.580,2.730,2.060,2.490,3.140,0.394,2.160,3.220,4.960,3.650,
+2.190,3.990,4.070,2.910,1.880,2.360,3.070,2.180,1.570,1.720,
+2.180,0.250,1.580,1.860,1.890,2.260,1.490,2.130,2.740,2.190,
+1.720,2.430,0.290,0.241,0.185,0.318,1.650,0.339,0.997,1.180,
+1.540,1.870,1.380,1.910,3.540,1.580,1.520,3.030,3.680,2.180,
+1.600,2.380,1.850,0.184,1.170,1.740,2.690,1.770,2.060,3.660,
+4.870,3.320,2.410,2.810,3.680,2.480,1.700,1.840,2.520,0.447,
+3.890,3.820,2.190,2.480,1.830,2.640,3.490,2.970,1.700,1.960,
+2.630,2.070,1.590,1.600,2.230,0.368,1.800,2.170,1.420,1.990,
+1.320,1.750,2.260,2.680,1.580,1.940,0.379,0.430,0.234,0.261,
+4.760,2.020,1.540,1.710,2.340,3.970,1.530,1.670,1.790,1.410,
+0.941,1.460,3.200,2.290,1.440,1.940,2.070,0.341,1.180,1.620,
+1.810,1.680,2.000,2.710,2.930,1.860,1.270,1.810,3.480,2.200,
+1.880,1.980,2.340,0.374,1.300,1.670,1.820,2.060,1.630,2.830,
+0.227,0.258,0.147,0.222,0.272,0.356,0.213,0.233,0.268,0.088,
+0.192,0.237,0.209,0.412,0.230,0.321,1.600,1.600,1.330,1.460,
+0.212,0.196,0.184,0.239,1.620,0.296,1.020,1.370,1.070,1.720,
+1.450,1.890,1.620,1.080,1.010,1.610,2.250,1.900,1.600,1.970,
+2.200,0.248,1.340,1.810,1.890,2.330,2.050,3.030,3.260,1.640,
+1.230,2.220,1.910,1.160,0.952,1.280,1.830,0.253,0.943,1.500,
+2.050,1.830,1.270,2.940,2.760,2.170,1.400,2.310,2.320,2.160,
+1.430,1.890,1.810,0.265,1.250,2.120,1.490,2.250,1.510,2.710,
+1.660,1.490,1.120,1.630,0.161,0.152,0.145,0.218,2.030,0.493,
+1.040,2.710,1.250,2.130,1.310,2.050,2.390,1.360,1.260,2.410,
+1.670,1.390,1.240,1.730,2.080,0.232,1.560,3.390,2.680,2.550,
+2.520,4.880,4.650,3.240,2.120,3.300,3.240,2.580,1.870,2.010,
+1.830,0.235,0.963,1.520,2.330,2.280,1.390,2.910,3.450,2.850,
+1.680,2.160,2.650,2.320,1.780,1.860,1.730,0.291,1.390,1.720,
+1.200,2.010,1.160,1.580,1.530,1.780,1.250,1.640,0.183,0.247,
+0.191,0.242,0.923,0.140,0.802,0.975,0.805,1.250,0.958,1.360,
+1.830,1.030,0.903,1.780,1.820,1.790,1.240,1.470,1.260,0.134,
+0.942,1.300,1.450,1.170,1.290,2.380,3.760,3.340,1.550,2.250,
+3.470,3.730,2.170,1.890,1.630,0.263,1.150,1.460,1.280,1.800,
+1.010,2.290,3.250,3.610,1.710,1.830,2.320,1.260,1.620,1.630,
+1.950,0.424,1.560,1.880,1.030,2.230,1.140,1.470,1.860,2.560,
+1.370,1.720,0.270,0.450,0.284,0.263,1.430,0.330,1.100,1.260,
+0.886,1.930,1.310,1.510,1.440,1.440,0.900,1.260,1.930,2.580,
+1.550,1.620,1.360,0.158,1.120,1.330,1.090,1.330,1.150,2.040,
+2.490,1.830,1.040,1.490,3.260,2.630,1.960,1.790,2.680,0.775,
+1.270,1.400,1.530,2.550,1.360,2.270,0.195,0.343,0.136,0.213,
+0.249,0.497,0.304,0.234,0.614,0.422,0.320,0.286,0.185,0.793,
+0.197,0.215,1.760,2.190,1.590,1.630,0.260,0.427,0.287,0.275,
+1.620,0.291,1.220,1.400,0.929,1.900,1.570,1.580,1.480,1.020,
+1.240,1.530,2.420,2.920,2.230,2.200,3.390,0.334,1.620,1.920,
+2.130,1.700,2.050,2.610,2.170,1.420,1.000,1.480,1.870,1.270,
+0.996,1.130,1.490,0.218,0.729,0.902,1.460,1.340,1.060,1.880,
+2.290,2.330,1.310,1.960,1.940,2.370,1.880,2.150,2.090,0.618,
+1.270,1.520,1.090,2.440,1.160,1.600,1.310,1.690,1.110,1.370,
+0.119,0.162,0.120,0.151,1.130,0.141,1.020,1.230,0.906,1.410,
+1.200,1.440,1.940,1.100,1.320,1.660,1.410,1.380,1.700,1.620,
+1.600,0.151,1.250,2.410,1.840,1.990,2.170,3.240,2.500,2.120,
+1.200,1.960,1.710,1.390,0.919,1.130,1.170,0.238,0.730,0.939,
+1.600,2.870,0.988,1.580,2.250,2.520,1.160,1.580,1.870,2.230,
+1.370,1.460,1.850,0.555,1.570,1.560,1.750,7.050,1.150,1.630,
+1.400,1.910,1.340,1.470,0.193,0.261,0.237,0.308,0.966,0.183,
+0.729,0.898,0.709,1.490,0.873,1.080,1.320,0.994,0.832,1.590,
+1.390,1.410,1.230,1.610,1.080,0.140,0.832,1.200,1.330,1.350,
+1.300,2.550,0.153,0.157,0.088,0.114,0.264,0.230,0.151,0.136,
+0.111,0.034,0.097,0.120,0.116,0.259,0.138,0.135,0.163,0.243,
+0.115,0.124,0.244,0.393,0.225,0.168,0.192,0.095,0.218,0.192,
+0.146,0.580,0.127,0.145,0.107,0.207,0.147,0.132,0.034,0.080,
+0.087,0.045,0.149,0.064,0.155,0.147,0.089,0.215,0.128,0.118,
+0.129,0.129,0.086,0.160,0.226,0.316,0.260,0.317,0.130,0.026,
+0.138,0.164,0.119,0.147,0.150,0.233,1.710,1.770,0.898,1.030,
+1.740,2.280,1.570,1.220,1.730,0.339,1.190,1.370,1.100,1.710,
+1.160,1.640,0.155,0.300,0.119,0.139,0.178,0.433,0.237,0.154,
+0.263,0.090,0.226,0.200,0.141,0.443,0.169,0.182,1.290,2.430,
+1.370,1.330,0.198,0.411,0.277,0.229,1.490,0.286,0.987,1.140,
+0.823,1.800,1.280,1.580,1.210,1.500,1.300,1.220,1.950,3.590,
+1.920,1.960,1.660,0.279,1.400,1.750,1.210,1.620,1.630,2.180,
+1.980,1.490,0.828,1.340,1.330,1.550,0.700,0.841,1.380,0.186,
+0.720,1.130,1.580,1.680,0.869,1.810,2.330,2.800,1.260,1.710,
+2.410,5.080,1.790,1.650,2.310,0.391,1.580,2.100,1.480,2.890,
+1.450,1.910,1.950,2.310,1.330,1.430,0.160,0.267,0.163,0.170,
+1.520,0.214,1.170,1.460,1.110,2.060,1.300,1.740,1.810,1.700,
+1.310,1.780,1.540,1.900,1.240,1.500,1.840,0.208,1.730,2.260,
+2.270,2.790,2.190,3.220,3.210,1.610,1.400,2.500,1.670,1.030,
+0.860,1.350,1.360,0.143,0.697,1.240,1.800,1.570,0.979,2.190,
+1.810,1.260,0.926,1.180,1.150,0.967,0.744,0.963,1.160,0.144,
+0.830,1.080,1.110,1.680,0.762,1.290,1.780,1.500,1.170,1.620,
+0.148,0.130,0.107,0.226,0.878,0.099,0.600,0.865,0.806,0.963,
+0.734,1.410,2.020,1.080,1.150,2.430,1.530,1.020,0.957,2.080,
+1.250,0.105,0.783,1.400,1.880,1.180,1.370,3.370,3.040,2.000,
+1.310,2.060,2.600,1.950,1.810,1.740,1.660,0.231,1.200,1.700,
+1.710,2.110,1.200,2.000,2.320,2.120,1.230,1.560,2.090,2.110,
+1.570,1.660,1.990,0.354,1.630,2.190,1.610,2.620,1.390,1.770,
+1.620,1.870,1.280,1.790,0.176,0.231,0.211,0.321,1.390,0.206,
+1.060,1.400,1.170,1.850,1.140,1.630,1.630,1.360,1.060,2.220,
+2.310,2.360,1.990,4.310,1.460,0.157,1.280,1.920,1.570,1.570,
+1.600,3.230,1.880,1.350,0.970,1.280,2.050,1.730,1.350,1.540,
+1.730,0.268,1.130,1.610,1.400,1.600,1.270,2.130,0.140,0.145,
+0.094,0.148,0.145,0.233,0.155,0.148,0.135,0.043,0.137,0.200,
+0.120,0.240,0.133,0.182,1.330,1.810,1.250,1.800,0.144,0.200,
+0.155,0.236,1.530,0.249,1.300,1.520,1.070,1.850,1.630,2.150,
+1.340,1.250,1.170,1.740,2.020,2.330,1.880,2.840,1.880,0.209,
+1.600,2.110,1.650,1.630,2.060,3.000,2.650,1.710,1.250,1.970,
+1.630,1.310,1.040,1.220,1.800,0.205,0.897,1.490,1.790,1.430,
+1.130,2.600,2.160,1.670,1.080,1.550,1.900,2.170,1.430,1.590,
+1.390,0.160,1.110,1.690,1.330,1.690,1.160,2.010,2.190,2.040,
+1.420,2.230,0.172,0.185,0.132,0.220,1.940,0.197,1.490,2.020,
+1.860,2.430,2.050,2.750,2.860,1.810,1.770,3.200,2.390,2.300,
+2.000,2.810,2.860,0.233,2.610,3.650,3.850,3.400,3.590,4.970,
+3.820,2.530,1.960,3.450,2.840,1.890,1.510,1.750,2.030,0.233,
+1.160,1.990,2.730,2.280,1.560,2.940,2.740,1.830,1.220,1.910,
+2.160,1.330,1.240,1.470,1.420,0.157,0.990,1.280,1.270,1.370,
+1.130,1.700,2.160,1.670,1.160,1.880,0.199,0.148,0.131,0.236,
+1.160,0.121,0.690,1.040,1.010,1.430,1.010,1.420,2.590,1.200,
+1.050,2.070,1.980,1.340,1.080,1.660,1.460,0.116,0.834,1.170,
+1.960,1.130,1.390,2.510,3.900,2.490,1.370,2.680,3.030,2.210,
+1.490,1.810,1.970,0.227,0.988,1.550,1.650,1.690,1.030,1.890,
+2.950,2.580,1.160,1.820,2.400,1.420,1.440,1.770,2.030,0.312,
+1.160,1.650,1.440,1.550,0.888,1.340,1.950,2.110,1.220,1.670,
+0.266,0.238,0.177,0.273,1.890,0.275,1.160,1.660,1.110,1.800,
+1.300,1.680,1.760,1.210,0.769,1.450,2.160,1.980,1.310,1.910,
+1.760,0.165,1.060,1.590,1.460,1.320,1.360,2.330,3.090,1.610,
+1.020,1.730,3.130,2.210,1.900,1.990,2.950,0.364,1.020,1.720,
+2.150,2.460,1.610,2.700,0.271,0.252,0.131,0.221,0.295,0.297,
+0.272,0.277,0.291,0.055,0.187,0.258,0.297,0.532,0.266,0.351,
+1.790,1.730,1.570,1.970,0.234,0.205,0.399,0.407,1.720,0.221,
+1.020,1.530,1.130,1.820,1.540,1.760,1.710,1.050,0.869,1.450,
+2.440,2.100,2.050,2.480,2.040,0.217,1.290,1.860,2.050,1.870,
+1.980,2.740,2.980,1.280,0.914,1.970,1.630,1.070,1.010,1.210,
+1.670,0.172,0.724,1.230,1.980,1.630,1.100,2.570,2.200,1.780,
+0.976,1.580,1.730,1.460,1.300,1.530,1.680,0.181,1.030,1.520,
+1.500,1.880,1.200,1.930,1.870,1.870,1.380,1.950,0.187,0.174,
+0.173,0.257,1.680,0.173,1.170,1.830,1.420,1.940,1.680,2.300,
+2.590,1.530,1.190,2.450,1.830,1.490,1.390,1.970,2.730,0.215,
+1.540,2.780,3.340,2.700,2.810,4.770,0.218,0.178,0.110,0.186,
+0.189,0.171,0.143,0.150,0.123,0.018,0.072,0.117,0.143,0.184,
+0.128,0.207,0.204,0.188,0.139,0.293,0.220,0.190,0.250,0.191,
+0.136,0.034,0.110,0.127,0.109,0.165,0.126,0.154,0.121,0.136,
+0.094,0.133,0.020,0.022,0.021,0.026,0.092,0.017,0.075,0.113,
+0.070,0.131,0.091,0.140,0.140,0.084,0.071,0.142,0.163,0.170,
+0.113,0.153,0.114,0.015,0.083,0.122,0.143,0.112,0.135,0.252,
+0.209,0.196,0.092,0.153,0.225,0.280,0.178,0.188,0.121,0.035,
+0.076,0.098,0.086,0.135,0.081,0.123,0.237,0.347,0.127,0.162,
+0.351,0.379,0.252,0.278,0.279,0.132,0.154,0.185,0.135,0.270,
+0.106,0.139,0.136,0.208,0.117,0.136,0.035,0.067,0.053,0.041,
+0.226,0.077,0.161,0.230,0.101,0.236,0.159,0.219,0.123,0.104,
+0.062,0.104,0.184,0.225,0.150,0.164,0.140,0.026,0.102,0.134,
+0.092,0.117,0.108,0.183,0.159,0.107,0.068,0.095,0.192,0.207,
+0.218,0.166,0.158,0.039,0.087,0.115,0.098,0.142,0.102,0.149,
+0.019,0.032,0.016,0.019,0.039,0.060,0.058,0.043,0.034,0.029,
+0.037,0.047,0.014,0.040,0.028,0.028,0.133,0.176,0.143,0.159,
+0.032,0.058,0.077,0.042,0.204,0.063,0.144,0.159,0.088,0.203,
+0.158,0.156,0.116,0.090,0.077,0.111,0.212,0.318,0.228,0.223,
+0.181,0.034,0.141,0.189,0.138,0.203,0.186,0.214,0.174,0.147,
+0.092,0.144,0.137,0.120,0.109,0.115,0.119,0.016,0.069,0.097,
+0.132,0.130,0.109,0.215,0.209,0.259,0.133,0.207,0.211,0.248,
+0.195,0.251,0.182,0.043,0.138,0.182,0.127,0.259,0.143,0.224,
+0.127,0.158,0.127,0.179,0.018,0.033,0.028,0.036,0.143,0.028,
+0.136,0.174,0.097,0.172,0.165,0.231,0.175,0.121,0.100,0.172,
+0.147,0.154,0.131,0.156,0.185,0.021,0.135,0.212,0.212,0.225,
+0.233,0.383,2.550,1.940,1.160,1.840,2.280,1.580,1.090,1.360,
+1.190,0.143,0.722,0.986,1.090,1.020,0.716,1.320,2.200,1.960,
+1.010,1.360,2.550,1.790,1.740,1.420,1.540,0.247,1.720,1.590,
+0.951,1.800,1.000,1.430,1.260,1.870,1.120,1.390,0.214,0.295,
+0.222,0.327,1.050,0.167,0.856,1.040,0.658,1.430,0.880,1.200,
+1.300,1.030,0.693,1.180,1.440,1.380,1.040,1.420,1.220,0.144,
+1.000,1.410,1.350,1.230,1.660,2.790,0.205,0.173,0.081,0.124,
+0.250,0.319,0.147,0.165,0.098,0.029,0.077,0.097,0.080,0.137,
+0.062,0.120,0.151,0.191,0.080,0.093,0.250,0.229,0.201,0.156,
+0.134,0.055,0.188,0.161,0.069,0.143,0.082,0.099,0.093,0.206,
+0.100,0.105,0.030,0.069,0.056,0.036,0.119,0.045,0.139,0.150,
+0.061,0.162,0.113,0.126,0.135,0.116,0.068,0.134,0.212,0.292,
+0.162,0.225,0.130,0.026,0.137,0.213,0.122,0.133,0.190,0.305,
+1.790,1.430,1.060,0.973,2.250,2.360,3.840,1.690,1.680,0.321,
+1.390,1.390,1.010,1.330,1.220,1.500,0.166,0.248,0.125,0.119,
+0.231,0.365,0.334,0.165,0.210,0.103,0.284,0.255,0.120,0.257,
+0.164,0.166,1.640,2.270,1.640,1.340,0.261,0.334,0.351,0.246,
+1.400,0.244,0.553,0.898,0.739,1.380,1.280,1.270,1.090,0.961,
+0.850,0.849,1.950,2.120,1.980,1.700,1.420,0.223,1.600,1.610,
+1.120,1.270,1.760,1.950,1.700,1.040,1.010,1.170,1.470,1.150,
+1.450,0.929,1.110,0.135,0.788,0.968,1.020,0.976,0.737,1.310,
+1.890,1.910,1.140,1.250,2.120,2.410,1.880,1.400,1.600,0.247,
+1.770,1.830,1.050,1.930,1.230,1.490,1.730,2.030,1.570,1.720,
+0.184,0.280,0.215,0.225,1.580,0.217,1.630,1.770,1.030,1.820,
+1.540,1.710,1.510,1.150,0.989,1.340,1.580,1.590,1.350,1.440,
+1.790,0.192,1.790,1.840,1.810,2.110,2.000,2.510,2.640,1.380,
+1.010,1.870,1.560,1.030,0.769,1.080,1.190,0.132,0.598,0.996,
+1.430,1.230,0.845,1.780,1.860,1.240,0.744,1.090,1.300,0.915,
+0.861,0.919,1.020,0.100,0.717,1.090,0.816,1.060,0.757,1.190,
+1.310,1.380,0.793,1.310,0.135,0.146,0.093,0.194,1.050,0.105,
+0.630,1.060,0.865,1.130,0.808,1.460,1.640,1.020,0.744,1.490,
+1.380,1.140,0.818,1.430,1.340,0.123,0.712,1.220,1.520,1.130,
+1.250,2.940,3.220,2.080,1.070,1.950,2.610,2.090,1.330,1.580,
+1.440,0.171,0.912,1.470,1.290,1.580,0.831,1.690,2.310,2.010,
+0.953,1.370,2.140,1.730,1.840,1.700,1.500,0.193,1.370,1.960,
+0.912,1.300,1.000,1.380,1.560,2.070,0.994,1.540,0.160,0.241,
+0.145,0.225,1.300,0.178,1.080,1.570,0.959,1.760,1.160,1.690,
+1.690,1.280,0.863,1.550,2.020,2.270,1.470,2.260,1.510,0.161,
+1.260,2.220,1.390,1.530,1.640,3.280,3.120,1.540,1.190,1.610,
+2.550,2.510,2.200,2.100,1.840,0.325,1.350,3.180,1.450,1.670,
+1.520,2.490,0.365,0.191,0.146,0.217,0.203,0.346,0.318,0.234,
+0.213,0.060,0.259,1.240,0.133,0.233,0.165,0.300,1.980,2.240,
+1.480,1.860,0.206,0.237,0.233,0.283,2.270,0.372,1.370,2.170,
+1.340,2.260,1.820,2.290,1.770,1.300,1.230,1.460,2.410,2.130,
+2.290,2.540,1.960,0.240,1.890,2.900,1.710,1.740,2.360,3.240,
+2.700,1.310,1.180,1.740,1.610,1.170,1.030,1.120,1.520,0.199,
+0.908,1.580,1.440,1.240,1.080,2.270,2.360,1.430,0.992,1.470,
+1.640,1.820,1.450,1.460,1.350,0.149,1.290,3.000,1.070,1.390,
+1.100,1.870,2.230,2.220,1.540,2.370,0.188,0.201,0.161,0.251,
+2.230,0.220,1.880,2.660,1.770,2.330,2.210,2.630,2.910,1.630,
+1.320,2.610,2.300,1.980,1.990,2.490,2.600,0.198,2.310,3.410,
+3.070,2.590,3.010,4.470,7.510,3.190,2.570,5.420,2.780,1.750,
+1.340,1.840,2.800,0.261,1.190,1.990,4.090,2.880,1.650,3.640,
+3.050,1.880,1.290,1.920,1.880,1.100,0.930,1.140,1.560,0.119,
+0.817,1.140,1.810,1.650,1.070,1.830,2.310,1.670,1.280,2.460,
+0.187,0.146,0.123,0.273,1.260,0.111,0.622,1.080,1.390,1.530,
+1.100,2.000,3.590,1.600,1.550,3.410,2.290,1.570,1.320,2.130,
+1.670,0.133,0.935,1.610,2.810,1.720,1.950,4.970,3.790,1.930,
+1.090,2.270,2.120,1.340,0.861,1.150,1.290,0.125,0.588,1.040,
+1.540,1.240,0.738,1.550,2.250,1.530,0.831,1.300,1.470,0.856,
+0.696,0.952,1.200,0.106,0.586,1.020,1.100,0.966,0.701,1.240,
+1.490,1.280,0.776,1.370,0.113,0.111,0.079,0.133,1.460,0.264,
+0.497,0.860,1.050,1.400,0.809,1.210,1.480,0.879,0.641,1.260,
+1.310,1.090,0.715,1.160,0.947,0.087,0.537,0.904,1.480,1.100,
+1.070,1.960,3.080,1.440,0.969,1.840,2.380,1.470,1.160,1.820,
+1.970,0.218,0.636,1.220,2.280,1.840,1.110,2.490,0.218,0.155,
+0.096,0.184,0.204,0.154,0.119,0.186,0.178,0.020,0.080,0.151,
+0.270,0.301,0.133,0.303,1.550,1.280,1.040,1.670,0.138,0.108,
+0.107,0.183,1.280,0.132,0.573,1.040,1.230,1.360,1.090,1.590,
+1.760,1.010,0.916,1.790,1.930,1.340,1.120,1.830,1.750,0.206,
+0.877,1.570,2.400,1.720,1.850,2.990,3.840,1.540,1.190,2.640,
+1.700,1.030,0.906,1.350,1.860,0.162,0.796,1.400,3.030,1.830,
+1.300,3.270,2.160,1.360,0.900,1.560,1.360,0.988,0.782,1.080,
+1.460,0.111,0.769,1.290,1.740,1.640,1.040,2.170,1.870,1.510,
+1.190,1.730,0.140,0.104,0.099,0.165,1.450,0.120,0.850,1.350,
+1.680,1.820,1.460,2.330,3.240,1.590,1.480,3.270,2.040,1.360,
+1.240,2.100,2.480,0.172,1.420,2.520,4.530,3.250,3.410,7.370,
+4.440,2.560,1.570,3.270,2.630,1.790,1.220,1.650,1.840,0.185,
+0.956,1.540,2.190,1.940,1.240,2.570,2.850,1.790,1.170,1.890,
+2.000,1.360,1.270,1.300,1.390,0.149,0.936,1.180,1.360,1.380,
+0.988,1.700,1.640,1.410,1.080,1.630,0.129,0.139,0.107,0.177,
+1.010,0.110,0.656,0.980,0.987,1.270,0.912,1.640,1.840,1.080,
+0.867,1.750,1.670,1.430,1.010,1.470,1.170,0.138,0.757,1.280,
+1.630,1.300,1.480,3.290,3.470,2.250,1.070,1.980,2.680,2.080,
+1.030,1.440,1.200,0.140,0.594,0.997,1.310,1.250,0.784,1.650,
+2.300,1.980,1.170,1.570,2.050,1.690,1.040,1.350,1.460,0.259,
+0.764,1.100,1.130,1.430,0.815,1.380,1.570,1.560,0.835,1.400,
+0.149,0.173,0.105,0.152,1.420,0.197,0.733,1.120,1.000,1.620,
+0.953,1.600,1.360,0.988,0.635,1.230,1.480,1.500,0.900,1.240,
+1.180,0.100,0.631,1.140,1.240,1.270,1.130,2.140,2.290,1.280,
+0.806,1.370,1.930,1.470,1.090,1.810,1.390,0.177,0.549,0.925,
+1.340,1.300,0.900,1.880,0.123,0.109,0.066,0.116,0.118,0.170,
+0.099,0.158,0.106,0.032,0.075,0.105,0.114,0.177,0.089,0.154,
+1.490,1.440,0.989,1.470,0.133,0.156,0.120,0.172,1.380,0.157,
+0.730,1.070,1.060,1.400,1.130,1.660,1.530,0.909,0.825,1.510,
+1.820,1.790,1.340,1.810,1.710,0.139,1.000,1.600,1.700,1.380,
+1.740,2.810,2.550,1.450,1.010,1.860,1.530,1.120,0.834,1.180,
+1.520,0.144,0.700,1.130,1.860,1.450,1.040,2.440,1.990,1.550,
+1.070,1.650,1.370,1.350,0.977,1.340,1.400,0.163,0.855,1.270,
+1.370,1.890,1.080,2.020,1.530,1.480,1.130,1.760,0.115,0.109,
+0.084,0.142,1.280,0.118,1.100,1.400,1.220,1.540,1.330,2.110,
+2.180,1.180,1.130,2.020,1.700,1.420,1.090,1.460,2.040,0.160,
+1.290,2.040,2.680,2.340,2.460,4.720,3.610,2.550,1.640,2.940,
+3.930,2.250,1.400,1.990,1.940,0.188,1.070,1.480,1.920,1.670,
+0.971,2.100,2.830,2.410,1.170,1.820,2.220,1.830,1.390,1.470,
+1.960,0.230,1.450,1.770,1.640,2.470,1.220,2.200,1.890,2.230,
+1.360,2.100,0.247,0.261,0.194,0.339,1.400,0.189,0.822,1.300,
+1.150,2.270,1.190,1.880,1.990,1.420,1.000,2.110,1.850,1.630,
+1.200,2.000,1.740,0.176,1.230,1.970,2.110,1.890,2.200,4.060,
+0.305,0.204,0.127,0.172,1.400,0.477,0.182,0.196,0.170,0.026,
+0.080,0.113,0.149,0.145,0.086,0.163,0.170,0.167,0.082,0.114,
+0.230,0.197,0.114,0.120,0.141,0.030,0.126,0.151,0.109,0.174,
+0.086,0.149,0.121,0.155,0.079,0.120,0.036,0.035,0.029,0.023,
+0.125,0.030,0.084,0.120,0.085,0.192,0.104,0.154,0.161,0.127,
+0.075,0.174,0.212,0.218,0.128,0.214,0.136,0.020,0.090,0.164,
+0.170,0.172,0.192,0.320,2.540,1.650,1.100,1.370,2.610,2.260,
+1.790,1.710,2.020,0.334,1.050,1.440,1.400,1.750,1.440,2.060,
+0.153,0.180,0.091,0.116,0.208,0.264,0.143,0.133,0.173,0.043,
+0.165,0.159,0.157,0.265,0.138,0.204,1.860,2.310,1.530,1.850,
+0.194,0.262,0.207,0.226,1.720,0.242,0.889,1.450,1.140,1.980,
+1.550,2.050,1.680,1.280,1.040,1.400,2.060,2.330,1.710,1.890,
+2.370,0.247,1.680,2.100,2.060,2.220,2.170,3.010,2.690,1.680,
+1.230,2.060,2.350,1.650,1.180,1.530,1.630,0.178,1.060,1.600,
+1.740,1.630,1.180,2.590,2.850,2.300,1.350,1.940,3.170,2.570,
+1.630,1.570,2.300,0.236,1.840,2.280,2.060,2.840,1.800,2.830,
+2.570,2.540,1.890,2.470,0.196,0.223,0.192,0.257,2.280,0.220,
+1.570,2.310,1.860,2.710,2.030,2.810,2.700,1.830,1.500,2.260,
+2.050,1.880,1.510,1.930,2.940,0.243,2.300,2.540,3.570,3.310,
+2.950,4.480,7.360,2.680,1.800,4.130,2.810,1.630,1.130,1.990,
+2.230,0.198,0.978,1.930,3.070,2.260,1.440,4.370,3.060,1.890,
+0.994,1.790,1.830,1.300,0.868,1.240,1.640,0.130,0.926,1.440,
+1.470,1.480,0.984,2.180,2.700,2.250,1.280,2.850,0.199,0.169,
+0.103,0.278,1.540,0.142,0.833,1.630,1.600,1.800,1.270,2.570,
+3.740,2.250,1.590,3.800,2.310,1.710,1.310,2.650,2.270,0.181,
+1.400,2.610,3.780,2.600,2.840,7.310,4.790,2.790,1.460,2.910,
+4.970,2.790,1.240,2.000,1.820,0.187,0.881,1.810,2.010,1.920,
+1.060,2.670,3.760,2.490,1.160,2.060,2.960,2.590,1.250,1.710,
+1.960,0.182,1.190,1.980,1.510,1.790,1.050,2.130,2.480,2.420,
+1.120,2.260,0.187,0.204,0.107,0.196,2.010,0.204,1.010,1.740,
+1.970,2.730,1.460,2.670,2.390,1.580,1.070,2.410,2.230,2.120,
+1.260,2.500,2.010,0.146,1.200,2.200,2.460,2.220,2.080,4.600,
+4.100,2.220,1.680,2.420,3.380,2.560,1.880,3.050,2.600,0.309,
+1.620,2.840,2.590,2.320,2.170,4.050,0.232,0.187,0.107,0.194,
+0.192,0.215,0.131,0.208,0.154,0.028,0.197,0.502,0.191,0.240,
+0.158,0.353,3.120,2.850,1.920,3.020,0.221,0.217,0.171,0.294,
+2.690,0.296,2.330,2.710,2.460,3.260,4.000,4.330,3.210,2.060,
+1.790,3.020,3.510,2.670,2.430,3.730,3.850,0.267,2.820,4.030,
+3.740,2.860,4.160,6.220,8.170,3.140,2.190,4.600,3.350,2.320,
+1.640,2.670,3.350,0.276,1.670,3.050,4.910,3.270,2.550,7.230,
+4.280,2.710,1.830,2.970,2.900,2.510,1.600,2.330,2.700,0.196,
+2.120,3.510,2.970,2.870,2.140,4.930,4.520,3.750,2.320,4.340,
+0.221,0.216,0.153,0.316,3.780,0.271,2.740,4.220,4.070,4.410,
+4.330,6.760,7.610,2.870,2.410,5.910,3.360,2.510,2.420,4.560,
+4.740,0.257,3.460,5.890,4.670,3.620,3.640,9.020,20.5,6.990,
+7.600,11.1,7.300,3.770,3.490,4.710,11.8,0.812,4.080,5.210,
+11.6,6.990,5.510,11.2,7.880,3.820,3.110,4.010,4.050,2.180,
+2.210,2.120,5.090,0.356,2.460,2.830,3.780,2.840,2.210,3.520,
+14.1,4.920,3.990,4.880,0.680,0.381,0.331,0.612,4.470,0.370,
+2.490,2.820,3.820,3.830,2.570,3.690,10.2,4.360,4.470,8.140,
+5.980,3.840,3.220,5.410,5.120,0.393,2.670,3.790,7.440,3.950,
+3.690,6.500,10.1,4.670,3.120,4.500,4.880,2.820,2.000,2.220,
+4.560,0.445,1.810,2.590,3.830,3.620,1.860,3.330,5.150,2.960,
+1.960,2.450,3.020,1.740,1.570,1.410,3.280,0.299,1.740,2.060,
+2.050,2.110,1.420,1.900,4.860,3.360,2.090,2.700,0.486,0.287,
+0.197,0.259,3.210,0.301,1.700,2.430,2.390,2.950,1.600,2.400,
+3.630,2.270,1.730,2.820,3.470,2.060,1.620,2.070,2.970,0.223,
+1.650,2.480,2.840,2.360,1.860,3.490,17.7,3.200,3.040,3.340,
+3.960,2.210,2.120,2.080,6.030,0.574,1.900,2.900,4.040,3.210,
+2.310,4.950,0.653,0.321,0.226,0.317,0.344,0.272,0.227,0.234,
+0.398,0.055,0.232,0.313,0.449,0.560,0.278,0.509,3.190,1.960,
+1.960,2.040,0.240,0.171,0.163,0.219,2.360,0.224,1.320,1.630,
+1.800,2.650,1.500,2.050,2.800,1.670,1.660,2.430,2.680,1.970,
+1.640,2.330,2.520,0.240,1.720,2.360,2.220,2.020,1.990,3.320,
+10.2,3.650,3.170,6.130,3.620,1.920,1.900,2.390,5.360,0.506,
+1.990,3.640,6.320,3.940,3.120,8.410,6.210,3.580,2.590,3.400,
+3.910,2.380,2.350,2.410,3.900,0.269,2.080,3.140,4.140,3.350,
+2.480,4.490,3.700,2.580,2.110,2.760,0.265,0.189,0.159,0.251,
+2.660,0.186,1.480,2.120,2.450,2.490,2.040,2.810,5.220,2.820,
+2.660,4.920,2.710,1.890,1.670,2.640,3.910,0.250,2.220,3.540,
+5.260,3.300,3.060,5.910,8.030,3.770,2.810,4.250,3.440,2.220,
+1.840,2.030,3.370,0.335,1.260,2.070,3.000,2.680,1.680,2.780,
+4.000,2.410,1.630,1.940,2.270,1.460,1.360,1.250,2.360,0.503,
+1.250,1.650,1.500,1.990,1.230,1.780,2.910,2.380,1.460,1.790,
+0.247,0.222,0.161,0.219,1.490,0.171,1.200,1.230,1.180,1.660,
+1.190,1.560,2.750,1.370,1.290,2.020,2.390,1.800,1.280,1.720,
+1.830,0.197,1.090,1.850,1.950,1.400,1.350,2.710,5.010,3.070,
+1.710,2.240,2.840,2.060,1.340,1.310,2.520,0.276,1.010,1.480,
+1.740,2.170,0.929,1.640,2.490,1.820,1.050,1.290,1.470,0.851,
+0.926,0.897,1.780,0.205,0.968,1.300,0.975,1.310,0.838,1.170,
+2.440,2.390,1.290,1.540,0.224,0.257,0.137,0.168,1.850,0.254,
+1.130,1.400,1.250,2.040,1.030,1.490,1.850,1.230,0.864,1.370,
+1.830,1.550,0.937,1.150,2.090,0.170,0.960,1.980,1.330,1.230,
+0.903,1.970,3.820,1.810,1.300,1.840,2.360,1.620,1.500,1.410,
+2.370,0.341,1.080,1.520,1.730,2.100,1.210,2.280,0.206,0.198,
+0.114,0.155,0.161,0.180,0.167,0.127,0.220,0.069,0.200,0.181,
+0.171,0.505,0.159,0.222,1.970,1.870,1.460,1.400,0.167,0.171,
+0.148,0.148,1.530,0.197,1.090,1.330,0.933,1.790,1.150,1.330,
+1.400,0.849,0.869,1.190,1.660,1.440,1.170,1.470,1.460,0.155,
+1.300,1.760,1.080,1.240,1.290,1.750,3.260,1.520,1.270,1.970,
+1.750,1.040,0.931,1.050,1.680,0.151,0.765,1.230,1.840,1.390,
+1.130,2.460,2.410,1.760,1.280,1.550,1.660,1.390,1.140,1.160,
+1.610,0.179,1.040,1.480,1.330,1.960,1.160,2.080,1.800,1.580,
+1.420,1.620,0.125,0.124,0.093,0.130,1.260,0.123,1.000,1.320,
+1.130,1.440,1.280,1.770,2.190,1.250,1.280,1.920,1.470,1.140,
+0.909,1.330,1.780,0.136,1.300,2.010,2.140,1.760,1.800,3.080,
+10.2,3.190,2.730,3.620,1.970,1.280,1.050,0.953,9.590,0.392,
+1.450,1.520,3.050,2.240,1.330,2.180,4.310,2.660,1.700,2.250,
+1.980,1.470,1.310,1.250,3.000,0.268,1.580,1.710,1.760,2.070,
+1.140,1.670,2.900,2.590,2.250,2.310,0.294,0.355,0.207,0.349,
+1.570,0.190,0.997,1.180,1.320,2.010,1.070,1.690,2.830,1.930,
+1.650,2.530,2.400,2.710,1.400,1.810,1.910,0.210,1.240,1.650,
+2.080,1.790,1.690,3.440,0.490,0.301,0.198,0.269,0.316,0.229,
+0.137,0.141,0.328,0.046,0.128,0.157,0.211,0.269,0.128,0.220,
+0.333,0.235,0.142,0.158,0.213,0.206,0.145,0.127,0.232,0.039,
+0.146,0.171,0.144,0.214,0.103,0.160,0.222,0.247,0.158,0.191,
+0.033,0.047,0.035,0.030,0.188,0.038,0.169,0.185,0.141,0.246,
+0.119,0.194,0.356,0.232,0.190,0.332,0.394,0.453,0.318,0.309,
+0.249,0.030,0.183,0.268,0.248,0.247,0.210,0.395,2.830,1.460,
+1.240,1.350,2.020,1.270,1.280,1.160,2.200,0.304,1.330,1.610,
+1.360,1.410,1.260,1.650,0.216,0.162,0.096,0.132,0.146,0.123,
+0.133,0.108,0.188,0.038,0.141,0.145,0.166,0.212,0.127,0.157,
+1.990,1.560,1.200,1.120,0.164,0.154,0.130,0.135,1.650,0.197,
+0.937,1.050,1.060,1.410,0.967,1.060,1.740,1.010,1.030,1.080,
+1.450,1.330,1.210,1.200,1.660,0.196,1.460,1.640,1.110,1.310,
+1.190,1.520,2.600,1.180,0.990,1.630,1.530,0.828,0.681,0.895,
+1.750,0.160,0.820,1.370,1.820,1.280,1.010,2.130,2.640,1.650,
+1.150,1.680,1.900,1.350,1.110,1.120,1.960,0.164,1.190,1.560,
+1.840,1.770,1.170,1.720,2.380,1.710,1.290,1.460,0.196,0.168,
+0.116,0.145,1.740,0.180,1.060,1.320,1.620,1.940,1.210,1.850,
+2.200,1.210,1.250,1.590,1.760,1.450,1.090,1.330,2.170,0.176,
+1.500,2.050,2.470,2.060,1.830,3.290,8.870,3.360,2.860,5.350,
+2.740,1.420,1.370,1.610,3.640,0.277,1.320,2.150,4.940,2.710,
+1.750,3.970,3.290,1.620,1.320,1.870,1.570,1.070,1.030,1.070,
+2.590,0.182,1.510,1.850,1.790,1.420,1.000,1.670,2.870,1.950,
+1.390,2.460,0.218,0.179,0.122,0.297,1.740,0.142,0.785,1.370,
+1.560,1.620,0.928,1.930,3.710,1.840,1.860,4.200,2.440,1.730,
+1.500,2.530,2.550,0.196,1.320,2.210,3.700,2.580,2.210,5.600,
+5.690,2.770,2.070,3.110,3.910,1.900,1.420,1.640,2.890,0.273,
+1.250,1.960,2.400,2.230,1.220,2.410,3.850,2.040,1.210,1.650,
+2.090,1.650,1.000,1.140,2.260,0.291,1.280,1.890,1.560,1.750,
+0.852,1.710,2.520,1.920,1.370,2.080,0.206,0.175,0.111,0.197,
+1.910,0.187,1.180,2.090,1.590,1.990,1.070,2.070,2.930,1.550,
+1.480,2.910,2.660,1.940,1.450,2.310,2.170,0.168,1.290,2.330,
+2.350,2.060,1.600,3.440,2.720,1.730,1.360,1.880,2.090,1.220,
+1.150,1.370,2.460,0.369,1.060,1.770,2.140,2.470,1.260,2.220,
+0.191,0.150,0.100,0.168,0.130,0.117,0.109,0.108,0.189,0.029,
+0.131,0.225,0.191,0.261,0.114,0.197,1.800,1.450,0.998,1.360,
+0.125,0.101,0.083,0.130,1.790,0.155,0.900,1.280,1.500,1.410,
+1.170,1.530,1.920,1.160,1.050,1.620,1.870,1.310,1.150,1.660,
+2.090,0.311,1.230,2.040,1.680,1.630,1.380,2.420,4.800,1.950,
+1.620,2.760,2.180,1.230,1.280,1.380,2.760,0.246,1.130,2.040,
+3.520,2.280,1.730,4.350,2.280,1.280,0.945,1.580,1.390,0.873,
+0.860,1.020,1.750,0.109,1.100,1.790,1.790,1.540,1.120,2.160,
+3.340,2.380,1.670,2.380,0.245,0.150,0.121,0.191,2.410,0.167,
+1.300,1.980,2.550,2.610,1.830,2.770,4.500,2.120,2.060,4.160,
+3.060,2.170,1.650,2.580,3.590,0.207,2.110,3.650,5.540,3.440,
+3.270,7.140,11.1,6.390,5.440,8.160,6.580,3.940,3.260,3.960,
+5.970,0.598,2.720,3.810,7.000,5.380,3.110,5.410,5.460,4.110,
+2.480,2.840,3.770,2.450,2.120,2.020,3.760,0.351,2.410,2.650,
+2.690,2.780,1.970,2.830,3.930,3.260,2.310,3.050,0.491,0.321,
+0.231,0.386,2.610,0.278,1.420,1.740,2.440,2.730,1.990,2.520,
+4.580,2.840,2.180,4.140,4.260,3.050,1.960,3.000,3.020,0.287,
+1.800,2.840,3.780,2.680,2.640,4.880,7.590,5.090,2.650,3.550,
+6.590,3.920,2.280,2.270,4.510,0.519,2.180,2.680,3.080,3.450,
+1.650,2.940,4.440,3.690,1.780,1.970,3.620,2.070,1.790,1.640,
+3.360,0.426,2.270,2.690,1.880,2.520,1.420,2.150,5.190,3.830,
+1.970,2.130,1.570,0.393,0.270,0.279,3.570,0.408,2.130,2.610,
+2.190,3.400,2.010,2.400,3.070,1.980,1.110,1.840,5.290,2.390,
+1.410,1.790,2.260,0.251,1.720,3.840,2.070,2.300,1.800,3.700,
+4.260,2.500,1.850,2.390,4.000,2.570,1.940,1.890,5.510,0.670,
+1.950,2.840,2.870,3.110,1.740,3.340,0.371,0.387,0.198,0.237,
+0.386,0.450,0.288,0.253,0.436,0.120,0.343,0.358,0.295,0.819,
+0.252,0.373,2.200,1.810,1.370,1.420,0.241,0.208,0.148,0.197,
+1.890,0.255,1.280,1.610,1.180,1.840,1.250,1.550,2.600,1.210,
+0.875,1.420,2.320,2.140,1.360,1.780,2.040,0.246,1.480,2.040,
+1.560,1.770,1.750,2.800,4.620,2.500,1.710,3.170,2.220,1.340,
+1.010,1.350,3.110,0.354,1.230,2.100,3.090,2.210,1.500,3.660,
+4.370,4.080,1.900,2.420,2.910,2.630,1.860,1.890,2.850,0.334,
+1.820,2.730,2.090,3.190,1.670,2.830,2.060,1.650,1.470,1.870,
+0.215,0.141,0.134,0.178,1.670,0.152,1.110,1.510,1.300,1.740,
+1.420,1.940,2.830,1.610,1.230,2.640,1.830,1.510,1.220,1.680,
+2.720,0.215,1.690,2.900,3.040,2.650,2.620,5.030,6.190,3.830,
+2.710,3.810,4.210,3.240,2.610,2.530,2.700,0.348,1.320,1.910,
+2.510,2.660,1.460,2.540,3.910,3.040,1.790,1.950,3.030,2.180,
+2.120,1.710,2.240,0.364,1.820,1.880,1.300,2.270,1.260,1.830,
+2.050,2.490,1.600,1.710,0.234,0.304,0.223,0.266,1.370,0.193,
+1.120,1.310,1.030,1.730,1.250,1.730,1.930,1.180,1.000,1.790,
+2.100,1.970,1.370,1.700,1.500,0.165,1.040,1.990,1.560,1.340,
+1.370,3.000,3.890,3.280,1.580,1.920,3.550,3.130,1.750,1.570,
+2.400,0.354,1.370,1.710,1.470,2.210,1.000,1.660,2.170,1.960,
+1.100,1.110,1.120,0.390,0.858,0.743,1.710,0.324,1.430,1.690,
+0.835,1.760,1.100,1.200,1.970,2.850,1.450,1.540,0.342,0.411,
+0.224,0.235,1.920,0.348,1.450,2.090,1.130,2.640,1.520,1.840,
+1.360,1.130,0.707,1.120,1.990,2.050,1.110,1.380,1.610,0.216,
+1.240,3.940,1.170,1.500,1.150,3.320,3.180,2.220,1.550,1.810,
+3.310,3.060,2.190,1.880,3.920,1.190,2.320,2.040,2.400,6.380,
+1.650,2.460,0.229,0.440,0.195,0.181,0.300,0.473,0.332,0.212,
+0.737,0.433,1.160,0.379,0.431,3.110,0.390,0.310,1.720,2.360,
+1.570,1.430,0.238,0.449,0.232,0.222,1.860,0.347,1.650,1.650,
+0.917,2.510,1.520,1.500,1.310,0.953,0.826,1.140,2.120,2.800,
+1.810,1.970,1.920,0.274,1.650,2.000,1.290,1.830,1.650,2.310,
+2.500,1.630,1.110,1.600,1.640,1.250,0.872,1.050,1.770,0.247,
+0.934,1.200,1.710,1.960,0.939,1.880,2.290,2.430,1.340,1.510,
+1.860,2.090,1.470,1.470,2.790,0.712,2.160,1.830,1.550,5.200,
+1.380,1.750,1.230,1.540,1.190,1.290,0.129,0.170,0.109,0.141,
+1.070,0.138,1.040,1.180,0.865,1.500,1.220,1.410,1.520,0.970,
+0.788,1.330,1.400,1.280,0.918,1.190,1.390,0.138,1.140,1.770,
+1.630,1.890,1.690,2.810,5.200,3.420,2.180,3.140,3.670,2.370,
+1.560,2.060,3.300,0.330,1.550,1.830,2.540,2.390,1.320,2.240,
+3.680,3.400,1.650,2.250,3.070,2.620,1.960,2.050,3.930,0.520,
+3.010,2.850,1.760,2.830,1.530,2.070,2.250,3.230,1.880,2.320,
+0.329,0.462,0.262,0.436,2.110,0.332,1.570,1.940,1.420,2.440,
+1.410,2.170,2.030,1.590,1.080,2.120,2.460,3.130,1.410,2.200,
+2.280,0.279,1.650,2.420,2.140,1.770,1.800,3.670,0.373,0.294,
+0.162,0.214,0.656,0.431,0.270,0.254,0.280,0.073,0.203,0.223,
+0.189,0.314,0.148,0.239,0.257,0.284,0.149,0.192,0.349,0.397,
+0.266,0.238,0.346,0.129,0.337,0.362,0.144,0.319,0.163,0.188,
+0.189,0.354,0.187,0.181,0.069,0.118,0.076,0.058,0.302,0.111,
+0.431,0.389,0.148,0.392,0.227,0.246,0.216,0.189,0.115,0.223,
+0.419,0.550,0.273,0.350,0.253,0.052,0.270,0.424,0.210,0.246,
+0.250,0.439,3.470,2.290,1.570,1.640,2.530,2.770,2.090,1.860,
+2.910,0.586,1.950,2.220,1.620,2.320,1.610,2.160,0.258,0.326,
+0.168,0.158,0.232,0.443,0.307,0.189,0.294,0.118,0.368,0.308,
+0.170,0.443,0.220,0.202,1.600,2.630,1.540,1.430,0.251,0.411,
+0.260,0.244,2.310,0.507,1.560,2.000,1.130,2.670,1.650,1.700,
+1.320,1.210,0.932,1.130,2.100,3.080,1.930,1.930,2.530,0.468,
+2.490,2.480,1.370,2.070,1.960,2.250,2.260,1.450,1.380,1.870,
+1.550,1.050,0.873,1.390,1.680,0.202,0.971,1.660,1.550,1.370,
+0.934,2.010,2.620,2.450,1.430,1.740,2.470,2.680,1.730,1.820,
+2.540,0.352,2.190,2.570,1.700,2.760,1.640,2.060,1.620,2.330,
+1.960,1.730,0.185,0.281,0.194,0.202,2.170,0.332,1.790,2.060,
+1.420,2.790,1.770,2.270,1.570,1.170,0.960,1.410,1.660,1.710,
+1.250,1.470,2.210,0.243,2.080,2.510,2.280,2.400,2.150,3.010,
+4.690,2.190,1.820,3.330,2.510,1.320,1.290,2.090,2.410,0.215,
+1.040,1.830,2.620,1.870,1.250,2.670,2.460,1.530,1.020,1.570,
+1.530,1.100,1.030,1.460,1.690,0.153,1.210,1.640,1.370,1.280,
+0.979,1.650,1.740,1.580,0.964,1.680,0.152,0.154,0.086,0.219,
+1.160,0.118,0.714,1.420,1.050,1.310,0.817,1.630,2.270,1.300,
+1.090,2.580,1.700,1.650,0.948,2.000,1.710,0.147,0.891,2.070,
+2.360,1.610,1.630,4.190,4.450,2.610,1.970,2.530,3.980,2.380,
+2.490,2.180,2.700,0.335,1.550,2.320,2.120,2.460,1.260,2.550,
+2.910,2.280,1.230,1.650,2.400,2.150,1.510,1.830,2.740,0.493,
+1.820,3.280,1.670,2.560,1.240,2.400,1.840,2.170,1.200,1.610,
+0.232,0.246,0.141,0.220,1.880,0.272,1.600,3.090,1.530,2.680,
+1.420,2.430,2.030,1.410,1.140,1.970,2.440,2.540,1.380,2.240,
+1.940,0.199,1.470,2.840,2.000,2.050,1.740,3.720,2.300,1.600,
+1.230,1.570,1.860,1.560,1.330,1.490,2.550,0.389,1.440,1.940,
+1.760,2.270,1.500,2.400,0.148,0.160,0.098,0.153,0.138,0.194,
+0.162,0.141,0.169,0.045,0.175,0.204,0.147,0.322,0.158,0.211,
+1.250,1.570,0.962,1.240,0.121,0.143,0.104,0.158,1.680,0.222,
+1.280,1.710,1.120,1.790,1.330,1.650,1.360,1.200,0.925,1.350,
+1.620,1.680,1.150,1.730,2.000,0.277,1.570,2.360,1.530,1.720,
+1.730,2.660,2.950,1.650,1.430,2.210,1.380,0.953,0.762,1.030,
+1.950,0.228,1.020,1.600,1.870,1.520,1.200,2.710,2.030,1.550,
+1.090,1.520,1.500,1.300,1.110,1.250,1.520,0.139,1.120,1.650,
+1.510,1.720,1.220,2.050,1.880,1.960,1.440,1.860,0.158,0.163,
+0.104,0.163,2.080,0.225,1.320,2.020,1.900,3.110,1.720,2.550,
+2.810,1.690,1.560,2.940,2.540,2.420,1.540,2.170,2.960,0.235,
+2.130,3.520,3.950,3.180,3.110,4.660,8.450,4.090,3.500,5.530,
+4.390,2.720,2.340,2.580,5.770,0.501,1.910,2.590,5.290,3.960,
+2.410,3.840,3.050,1.850,1.290,1.660,2.210,1.310,1.320,1.310,
+2.350,0.227,1.260,1.460,1.690,1.670,1.230,1.710,2.660,2.050,
+1.940,2.270,0.264,0.213,0.180,0.305,1.840,0.167,1.070,1.400,
+1.580,1.750,1.310,1.780,3.410,1.650,1.490,2.710,2.670,2.090,
+1.550,2.160,2.140,0.177,1.230,1.820,2.610,1.570,2.160,3.680,
+6.720,3.830,2.410,3.510,5.260,3.300,2.910,2.710,4.950,0.509,
+1.860,2.310,3.010,3.210,1.600,2.670,3.680,2.760,1.620,1.850,
+3.050,1.610,1.940,1.780,3.280,0.383,1.790,2.300,1.900,2.230,
+1.260,1.720,4.080,3.580,2.400,2.590,0.608,0.368,0.287,0.366,
+4.030,0.401,2.100,2.560,2.700,3.140,1.940,2.220,2.870,1.990,
+1.270,2.130,3.680,2.570,1.850,2.250,2.460,0.220,1.450,2.160,
+1.920,1.800,1.760,2.900,8.440,2.510,2.320,3.100,6.260,3.280,
+3.010,3.010,42.5,3.040,4.710,4.950,9.140,4.670,2.600,4.280,
+0.551,0.442,0.267,0.348,0.582,0.463,0.397,0.383,1.850,0.251,
+0.464,0.498,0.957,1.220,0.367,0.576,2.090,2.080,2.410,1.860,
+0.265,0.366,0.239,0.287,2.940,0.356,2.010,1.780,1.730,2.590,
+1.450,1.540,1.660,1.080,1.090,1.560,2.450,2.390,1.850,2.250,
+3.170,0.315,1.630,2.120,2.070,1.840,1.870,2.900,4.970,1.810,
+1.600,2.950,2.810,1.490,1.290,1.770,7.740,0.561,1.630,2.190,
+7.110,3.210,1.720,3.940,3.420,1.860,1.400,1.770,3.060,1.870,
+1.650,1.710,5.200,0.398,1.660,2.260,3.300,2.760,1.290,2.100,
+2.180,1.850,2.150,2.200,0.223,0.185,0.189,0.259,2.180,0.211,
+1.450,1.890,1.890,2.330,1.790,2.230,3.020,1.590,1.540,2.970,
+1.970,1.430,1.520,2.280,3.430,0.263,1.910,3.190,4.570,3.110,
+3.450,6.770,0.567,0.340,0.250,0.344,0.418,0.327,0.261,0.290,
+0.398,0.054,0.155,0.223,0.336,0.383,0.204,0.293,0.393,0.300,
+0.197,0.248,0.355,0.294,0.296,0.265,0.280,0.047,0.214,0.213,
+0.186,0.277,0.194,0.245,0.241,0.251,0.222,0.215,0.044,0.045,
+0.042,0.047,0.189,0.031,0.161,0.182,0.136,0.238,0.158,0.201,
+0.255,0.152,0.139,0.226,0.346,0.298,0.246,0.284,0.265,0.029,
+0.162,0.262,0.235,0.197,0.227,0.388,0.507,0.430,0.231,0.307,
+0.528,0.500,0.366,0.319,0.455,0.126,0.192,0.222,0.232,0.424,
+0.159,0.242,0.401,0.460,0.214,0.224,0.429,0.342,0.373,0.331,
+0.383,0.096,0.281,0.312,0.171,0.306,0.172,0.218,0.387,0.456,
+0.283,0.262,0.113,0.107,0.079,0.062,0.438,0.113,0.311,0.336,
+0.200,0.428,0.260,0.265,0.285,0.212,0.154,0.228,0.719,0.494,
+0.323,0.309,0.284,0.039,0.199,0.334,0.186,0.216,0.200,0.374,
+0.448,0.247,0.179,0.223,0.502,0.459,0.404,0.300,1.660,0.266,
+0.354,0.315,0.448,0.602,0.226,0.310,0.038,0.055,0.032,0.031,
+0.063,0.100,0.093,0.066,0.158,0.112,0.102,0.070,0.053,0.196,
+0.052,0.050,0.224,0.306,0.329,0.235,0.048,0.080,0.077,0.053,
+0.388,0.103,0.308,0.284,0.203,0.565,0.265,0.217,0.192,0.131,
+0.143,0.177,0.327,0.378,0.346,0.355,0.362,0.057,0.285,0.296,
+0.198,0.253,0.240,0.317,0.481,0.333,0.237,0.337,0.349,0.261,
+0.202,0.234,0.659,0.071,0.234,0.248,0.681,0.501,0.285,0.494,
+0.546,0.459,0.337,0.338,0.626,0.637,0.528,0.454,0.956,0.137,
+0.455,0.463,0.616,0.989,0.377,0.492,0.245,0.279,0.278,0.277,
+0.035,0.050,0.040,0.048,0.298,0.047,0.252,0.314,0.227,0.369,
+0.302,0.341,0.361,0.237,0.211,0.340,0.316,0.290,0.232,0.305,
+0.397,0.039,0.286,0.430,0.491,0.425,0.449,0.740,3.800,2.040,
+1.590,2.260,2.000,1.640,1.260,1.390,2.120,0.225,1.020,1.240,
+1.550,1.300,0.989,1.390,2.000,1.710,1.110,1.240,1.850,1.780,
+1.600,1.150,2.000,0.284,1.960,1.720,1.040,1.520,1.270,1.220,
+1.690,2.140,2.400,1.910,0.272,0.371,0.362,0.379,2.360,0.302,
+1.300,1.530,1.080,2.530,1.100,1.340,1.470,1.000,0.942,1.540,
+1.670,1.720,1.400,1.540,1.870,0.222,1.250,1.850,1.440,1.370,
+1.420,2.440,0.281,0.242,0.130,0.204,0.281,0.366,0.213,0.214,
+0.215,0.045,0.131,0.159,0.128,0.199,0.097,0.166,0.185,0.204,
+0.107,0.114,0.244,0.405,0.231,0.163,0.197,0.059,0.230,0.221,
+0.112,0.162,0.097,0.108,0.168,0.281,0.240,0.257,0.045,0.086,
+0.098,0.054,0.239,0.067,0.251,0.254,0.124,0.281,0.145,0.164,
+0.212,0.142,0.122,0.228,0.329,0.368,0.295,0.303,0.232,0.036,
+0.204,0.363,0.166,0.191,0.175,0.287,1.850,1.360,1.080,0.955,
+2.110,2.050,2.890,1.420,2.610,0.431,1.720,1.580,1.160,1.470,
+1.150,1.410,0.172,0.235,0.172,0.113,0.214,0.291,0.861,0.168,
+0.252,0.077,0.316,0.243,0.181,0.281,0.183,0.158,1.470,1.620,
+1.700,1.170,0.214,0.244,0.285,0.228,1.790,0.300,0.883,1.120,
+0.823,1.440,1.280,1.110,0.960,0.684,0.726,0.809,1.350,1.470,
+1.370,1.340,1.640,0.229,1.680,1.510,0.870,1.080,1.250,1.400,
+1.650,0.963,0.864,1.110,1.250,0.953,0.791,0.762,1.610,0.176,
+0.952,1.280,1.500,1.040,0.715,1.330,1.840,1.610,1.160,1.020,
+1.940,1.940,2.840,1.250,2.120,0.281,1.800,1.880,2.910,2.180,
+1.280,1.550,1.350,1.480,1.330,1.300,0.180,0.229,0.180,0.177,
+1.610,0.205,1.740,1.570,1.150,1.700,1.330,1.430,1.320,0.800,
+0.759,1.150,1.640,1.200,0.934,1.100,1.640,0.175,1.570,1.640,
+1.520,1.480,1.460,1.970,3.390,1.610,1.300,2.290,1.520,1.020,
+0.902,1.190,1.730,0.188,0.754,1.160,1.690,1.340,1.010,1.730,
+1.720,1.060,0.772,1.010,1.030,0.786,0.717,0.765,1.050,0.101,
+0.706,0.965,0.773,0.755,0.656,0.944,1.400,1.320,1.050,1.290,
+0.130,0.121,0.102,0.182,1.060,0.114,0.667,1.060,0.940,1.280,
+0.772,1.180,1.690,0.949,0.991,1.800,1.310,0.967,0.995,1.360,
+1.310,0.111,0.728,1.300,1.660,1.200,1.380,2.600,4.000,2.700,
+1.670,2.770,2.660,2.480,1.750,1.890,2.300,0.276,1.320,1.850,
+1.800,2.150,1.070,2.220,2.570,2.310,1.240,1.570,2.300,2.800,
+1.660,1.590,1.880,0.239,1.620,2.030,1.180,1.530,1.010,1.430,
+1.910,2.440,1.660,1.970,0.197,0.281,0.227,0.252,1.990,0.274,
+1.570,2.230,1.730,2.660,1.580,2.240,2.150,1.500,1.350,2.120,
+2.370,2.230,1.820,2.210,2.060,0.224,1.480,2.510,1.820,2.130,
+1.680,3.000,2.300,1.560,1.250,1.550,2.060,1.690,1.670,1.630,
+2.870,0.344,1.390,1.810,1.550,1.550,1.210,1.940,0.174,0.198,
+0.123,0.157,0.184,0.257,0.238,0.185,0.217,0.047,0.205,0.225,
+0.150,0.234,0.145,0.191,1.370,2.210,1.290,1.390,0.138,0.180,
+0.144,0.213,1.930,0.237,1.210,1.570,1.110,1.700,1.330,1.480,
+1.270,1.020,0.907,1.200,1.630,1.600,1.440,1.690,1.790,0.178,
+1.450,1.830,1.420,1.400,1.780,2.260,3.460,1.660,1.370,2.040,
+1.780,1.390,1.060,1.140,2.030,0.291,1.070,1.740,1.740,1.220,
+1.020,2.380,2.160,1.600,1.030,1.390,1.810,1.530,1.350,1.330,
+1.630,0.148,1.160,1.660,1.660,1.490,1.130,1.840,1.970,1.990,
+1.570,1.920,0.204,0.253,0.144,0.221,1.980,0.213,1.630,2.190,
+1.790,2.220,1.910,2.180,3.040,1.510,1.430,2.530,2.550,2.730,
+1.480,1.950,2.600,0.216,1.910,2.910,3.340,2.300,2.550,4.020,
+8.200,3.950,3.690,7.850,3.750,2.030,1.830,2.670,4.600,0.372,
+1.570,2.680,6.180,4.070,2.200,4.600,3.190,1.530,1.250,1.900,
+1.900,0.955,0.931,1.080,2.160,0.151,1.130,1.350,1.860,1.460,
+0.868,1.650,2.940,1.670,1.450,2.620,0.292,0.145,0.125,0.295,
+1.690,0.138,0.848,1.300,1.680,1.610,1.100,2.080,4.400,2.010,
+1.950,3.930,3.080,1.720,1.480,2.600,2.460,0.192,1.380,2.220,
+3.800,2.200,2.210,5.570,4.810,2.140,1.420,2.600,2.420,1.350,
+1.010,1.480,2.310,0.218,1.040,1.420,2.420,2.100,0.997,2.050,
+2.460,1.420,0.835,1.300,1.580,0.698,0.702,0.855,1.750,0.127,
+0.812,1.150,1.710,1.160,0.706,1.190,3.090,1.700,1.230,1.820,
+0.484,0.136,0.093,0.160,1.690,0.131,0.792,1.160,1.550,1.490,
+0.985,1.470,2.670,1.760,1.190,2.080,3.040,1.220,0.847,1.370,
+1.570,0.112,0.842,1.400,1.760,1.350,1.190,2.550,5.140,1.880,
+1.620,2.820,3.000,1.490,1.320,2.110,7.760,0.590,1.400,2.020,
+6.390,3.250,1.580,3.680,0.418,0.223,0.140,0.287,0.257,0.158,
+0.151,0.232,0.480,0.043,0.147,0.218,0.628,0.565,0.194,0.414,
+1.810,1.330,1.330,1.720,0.169,0.115,0.096,0.183,1.730,0.188,
+0.780,1.090,1.500,1.620,1.150,1.530,1.790,1.000,1.020,1.910,
+1.940,1.160,1.060,1.930,1.810,0.155,0.958,1.680,2.120,1.560,
+1.580,3.000,6.150,2.200,1.840,4.040,2.490,1.200,1.050,1.840,
+6.060,0.440,1.510,2.290,10.9,4.630,2.310,6.240,3.920,1.780,
+1.350,2.060,2.030,1.210,1.200,1.520,3.600,0.228,1.240,1.860,
+4.510,3.020,1.520,3.020,2.410,1.500,1.500,2.040,0.182,0.113,
+0.099,0.183,2.050,0.137,1.060,1.520,2.140,2.020,1.530,2.270,
+4.110,1.870,1.840,4.020,2.290,1.420,1.390,2.420,3.570,0.218,
+1.760,3.290,6.510,3.990,3.670,8.920,6.300,3.000,2.250,4.270,
+3.230,1.990,1.570,2.140,3.020,0.286,1.130,2.040,3.260,2.930,
+1.470,3.150,3.100,1.800,1.360,2.670,2.110,1.330,1.300,1.500,
+1.850,0.189,1.690,1.550,1.460,1.580,1.040,1.850,2.350,1.850,
+1.390,2.150,0.269,0.187,0.139,0.238,1.530,0.162,1.040,1.540,
+1.360,1.830,1.140,2.060,2.330,1.250,1.190,2.200,2.280,1.570,
+1.260,1.940,1.880,0.169,1.090,2.090,2.220,1.570,1.560,3.570,
+4.680,2.690,1.690,2.790,3.130,2.100,1.370,1.610,2.720,0.309,
+0.900,1.380,2.210,3.060,1.010,2.040,2.620,2.050,1.040,1.450,
+2.090,1.220,1.130,1.240,1.800,0.212,1.050,1.440,1.300,1.630,
+0.849,1.350,3.100,2.790,1.490,1.920,0.730,0.382,0.181,0.210,
+2.260,0.294,1.210,1.710,1.590,2.470,1.310,2.010,2.260,1.560,
+1.070,1.730,3.780,2.580,1.210,1.610,1.630,0.138,0.939,1.690,
+1.530,1.370,1.140,2.410,3.990,1.650,1.270,2.050,2.650,1.750,
+1.480,1.930,4.850,0.575,1.250,1.570,3.010,2.930,1.280,2.770,
+0.203,0.172,0.109,0.188,0.194,0.188,0.188,0.259,0.339,0.068,
+0.196,0.175,0.248,0.482,0.153,0.234,1.830,1.870,1.530,1.700,
+0.181,0.181,0.136,0.202,1.920,0.255,1.060,1.430,1.350,2.460,
+1.270,1.730,1.760,1.020,1.110,1.700,2.010,1.720,1.420,2.190,
+2.090,0.174,1.290,1.810,1.810,1.580,1.560,2.770,4.050,1.980,
+1.560,2.800,1.930,1.210,1.060,1.430,3.120,0.261,1.580,1.680,
+3.890,2.590,1.860,3.800,2.900,1.960,1.500,1.990,2.010,1.690,
+1.790,1.720,3.130,0.279,1.790,1.840,2.470,2.920,1.500,2.350,
+1.920,1.630,1.370,1.930,0.166,0.141,0.094,0.178,1.720,0.150,
+1.120,1.570,1.550,1.910,1.330,2.090,2.720,1.380,1.280,2.340,
+2.090,1.530,1.130,1.790,2.500,0.177,1.460,2.750,3.330,2.450,
+2.170,4.630,4.580,2.360,1.650,2.790,1.970,1.550,1.030,1.550,
+2.370,0.213,0.924,1.450,2.170,1.660,1.070,2.000,2.970,2.080,
+1.300,1.670,1.810,1.430,1.110,1.180,2.110,0.240,1.480,1.660,
+1.590,1.940,1.170,1.800,2.630,2.420,2.240,2.640,0.252,0.265,
+0.202,0.356,1.980,0.221,1.130,1.780,1.790,2.300,1.310,2.100,
+2.340,1.550,1.290,2.320,1.950,1.670,1.240,1.930,2.330,0.226,
+1.310,2.310,2.610,1.750,1.800,3.850,0.301,0.226,0.116,0.222,
+0.235,0.237,0.121,0.175,0.200,0.037,0.098,0.151,0.179,0.269,
+0.115,0.237,0.182,0.169,0.092,0.117,0.175,0.201,0.125,0.119,
+0.176,0.031,0.154,0.163,0.134,0.180,0.106,0.152,0.186,0.225,
+0.156,0.200,0.031,0.044,0.034,0.031,0.225,0.042,0.165,0.199,
+0.167,0.265,0.141,0.220,0.250,0.183,0.138,0.299,0.335,0.304,
+0.192,0.276,0.225,0.030,0.159,0.271,0.241,0.214,0.189,0.387,
+2.630,1.560,1.030,1.320,2.030,1.760,1.420,1.390,2.230,0.334,
+1.160,1.410,1.590,1.740,1.390,2.000,0.178,0.172,0.093,0.113,
+0.150,0.191,0.181,0.115,0.195,0.035,0.189,0.162,0.174,0.271,
+0.153,0.179,1.550,1.940,1.320,1.590,0.173,0.215,0.164,0.182,
+1.790,0.228,0.998,1.330,1.080,1.920,1.260,1.670,1.520,1.080,
+0.985,1.310,1.670,1.730,1.450,1.640,2.190,0.234,1.680,1.950,
+1.560,1.890,1.790,2.440,2.540,1.340,1.070,1.750,1.570,1.050,
+0.803,1.110,2.130,0.187,1.040,1.560,2.180,1.550,1.220,2.530,
+2.680,1.920,1.280,1.720,1.980,1.780,1.470,1.430,2.580,0.218,
+1.670,2.080,2.470,2.590,1.650,2.480,2.340,2.160,1.560,2.150,
+0.176,0.203,0.127,0.187,2.260,0.204,1.680,1.880,2.000,2.540,
+1.920,2.530,2.480,1.390,1.550,2.060,1.920,1.620,1.240,1.630,
+2.740,0.213,2.080,2.360,3.070,2.740,2.550,4.150,8.070,2.730,
+2.170,4.660,2.460,1.440,1.210,2.090,2.800,0.224,1.110,2.100,
+3.490,2.220,1.600,3.880,2.870,1.470,1.040,1.640,1.610,1.110,
+0.867,1.280,1.810,0.149,1.220,1.600,1.510,1.280,0.932,1.700,
+2.500,1.850,1.280,2.590,0.182,0.160,0.125,0.279,1.590,0.142,
+0.833,1.560,1.680,1.710,1.090,2.160,3.540,1.760,1.750,4.040,
+2.170,1.460,1.570,2.520,2.340,0.174,1.280,2.790,3.910,2.310,
+2.540,6.610,3.740,1.930,1.370,2.500,2.030,1.510,1.040,1.540,
+1.890,0.176,0.870,1.580,1.970,1.790,1.050,2.700,2.230,1.540,
+0.890,1.290,1.610,1.220,0.832,1.130,1.520,0.139,1.060,1.520,
+1.310,1.300,0.899,1.650,2.010,1.750,1.140,2.020,0.141,0.141,
+0.089,0.166,1.940,0.174,1.020,1.740,1.780,2.240,1.230,2.370,
+2.470,1.560,1.510,2.840,2.260,1.650,1.300,2.080,2.040,0.157,
+1.150,2.160,2.450,2.070,1.750,3.860,4.380,2.180,1.570,2.450,
+2.920,1.870,1.580,2.450,3.550,0.386,1.390,2.280,2.890,2.470,
+1.840,4.020,0.255,0.224,0.124,0.211,0.186,0.181,0.144,0.180,
+0.218,0.029,0.138,0.200,0.250,0.301,0.183,0.326,2.340,2.470,
+1.580,2.520,0.181,0.170,0.125,0.240,3.140,0.255,1.360,2.050,
+2.030,2.480,1.800,2.830,2.780,2.140,1.700,2.610,3.030,2.300,
+1.920,2.830,3.170,0.244,2.170,3.150,2.970,2.490,3.160,4.740,
+9.060,3.730,2.490,5.140,3.250,2.280,1.610,2.480,4.260,0.353,
+1.990,3.610,5.650,3.770,3.040,9.060,4.660,3.030,1.720,2.750,
+3.040,2.790,1.700,2.210,3.370,0.228,1.870,3.150,3.560,3.190,
+2.310,4.620,4.990,3.850,2.730,4.520,0.258,0.249,0.145,0.312,
+4.340,0.294,2.870,4.140,4.530,4.640,3.950,5.930,10.3,4.290,
+4.000,8.390,4.990,4.040,2.910,4.950,6.800,0.378,4.590,8.420,
+10.000,5.870,6.250,10.5,0.885,0.499,0.418,0.657,0.536,0.338,
+0.275,0.314,0.651,0.070,0.291,0.335,0.553,0.491,0.312,0.508,
+0.584,0.362,0.237,0.257,0.365,0.227,0.207,0.182,0.382,0.042,
+0.227,0.233,0.248,0.267,0.179,0.239,0.504,0.328,0.255,0.274,
+0.048,0.037,0.032,0.043,0.301,0.039,0.222,0.204,0.217,0.294,
+0.239,0.233,0.519,0.247,0.248,0.381,0.419,0.267,0.242,0.319,
+0.328,0.036,0.196,0.265,0.344,0.245,0.237,0.343,0.713,0.418,
+0.250,0.335,0.418,0.346,0.238,0.233,0.417,0.067,0.216,0.257,
+0.261,0.338,0.164,0.247,0.472,0.365,0.192,0.210,0.339,0.246,
+0.216,0.159,0.355,0.066,0.257,0.275,0.170,0.258,0.173,0.186,
+0.296,0.321,0.200,0.216,0.042,0.052,0.039,0.032,0.332,0.066,
+0.237,0.260,0.165,0.328,0.202,0.266,0.257,0.187,0.148,0.225,
+0.304,0.240,0.169,0.225,0.361,0.040,0.209,0.397,0.225,0.223,
+0.229,0.386,0.551,0.217,0.176,0.229,0.301,0.201,0.185,0.179,
+0.379,0.060,0.161,0.212,0.233,0.249,0.177,0.302,0.066,0.040,
+0.021,0.027,0.038,0.034,0.029,0.025,0.045,0.014,0.037,0.036,
+0.035,0.056,0.029,0.038,0.177,0.159,0.152,0.137,0.021,0.023,
+0.021,0.022,0.222,0.041,0.135,0.148,0.115,0.185,0.138,0.149,
+0.201,0.108,0.104,0.135,0.199,0.156,0.139,0.168,0.236,0.036,
+0.186,0.194,0.152,0.173,0.176,0.229,0.539,0.231,0.181,0.336,
+0.233,0.149,0.132,0.147,0.367,0.033,0.132,0.209,0.350,0.249,
+0.180,0.387,0.569,0.318,0.198,0.245,0.370,0.223,0.210,0.174,
+0.357,0.032,0.194,0.259,0.272,0.283,0.193,0.310,0.222,0.193,
+0.172,0.201,0.021,0.022,0.023,0.021,0.233,0.029,0.162,0.187,
+0.167,0.223,0.183,0.210,0.299,0.167,0.160,0.255,0.205,0.157,
+0.134,0.180,0.318,0.029,0.197,0.285,0.322,0.302,0.252,0.463,
+0.647,0.441,0.282,0.366,0.396,0.323,0.253,0.226,0.558,0.064,
+0.175,0.325,0.303,0.308,0.367,0.329,0.413,0.427,0.212,0.211,
+0.305,0.252,0.228,0.174,0.287,0.069,0.214,0.237,0.148,0.256,
+0.159,0.176,0.246,0.338,0.200,0.191,0.035,0.059,0.040,0.035,
+0.230,0.037,0.236,0.189,0.127,0.253,0.285,0.196,0.243,0.151,
+0.162,0.199,0.280,0.245,0.198,0.195,0.317,0.061,0.167,0.348,
+0.195,0.197,0.168,0.328,0.564,0.479,0.220,0.251,0.384,0.478,
+0.286,0.208,0.366,0.092,0.188,0.225,0.169,0.313,0.154,0.201,
+0.347,0.387,0.181,0.191,0.290,0.207,0.250,0.169,0.318,0.084,
+0.248,0.279,0.134,0.280,0.205,0.190,0.271,0.466,0.235,0.212,
+0.048,0.134,0.064,0.043,0.390,0.112,0.291,0.300,0.158,0.486,
+0.244,0.267,0.225,0.185,0.117,0.155,0.293,0.365,0.187,0.183,
+0.837,0.080,0.204,0.367,0.195,0.220,0.161,0.465,0.325,0.213,
+0.122,0.151,0.258,0.252,0.218,0.170,0.248,0.055,0.158,0.165,
+0.128,0.212,0.152,0.195,0.044,0.051,0.024,0.023,0.037,0.051,
+0.052,0.022,0.041,0.032,0.059,0.042,0.017,0.060,0.032,0.026,
+0.175,0.249,0.419,0.163,0.038,0.059,0.051,0.030,0.224,0.057,
+0.183,0.183,0.095,0.321,0.177,0.159,0.135,0.096,0.099,0.130,
+0.222,0.260,0.211,0.202,0.234,0.039,0.198,0.228,0.104,0.166,
+0.166,0.198,0.248,0.160,0.116,0.160,0.149,0.116,0.140,0.103,
+0.162,0.021,0.087,0.112,0.138,0.134,0.100,0.175,0.290,0.281,
+0.149,0.159,0.219,0.206,0.152,0.136,0.199,0.040,0.146,0.168,
+0.123,0.265,0.153,0.191,0.164,0.210,0.176,0.168,0.017,0.029,
+0.023,0.018,0.175,0.029,0.154,0.169,0.118,0.200,0.188,0.189,
+0.247,0.154,0.118,0.164,0.199,0.153,0.112,0.139,0.285,0.054,
+0.164,0.227,0.218,0.265,0.213,0.316,0.444,0.287,0.183,0.232,
+0.219,0.183,0.127,0.121,0.336,0.046,0.138,0.147,0.187,0.229,
+0.117,0.168,0.334,0.433,0.187,0.193,0.236,0.210,0.213,0.157,
+0.292,0.057,0.222,0.214,0.147,0.267,0.136,0.161,0.214,0.280,
+0.201,0.192,0.038,0.053,0.039,0.040,0.194,0.040,0.161,0.156,
+0.114,0.239,0.131,0.159,0.193,0.136,0.117,0.159,0.248,0.225,
+0.140,0.170,0.215,0.033,0.141,0.184,0.198,0.190,0.180,0.321,
+0.047,0.049,0.023,0.026,0.048,0.070,0.032,0.028,0.060,0.048,
+0.032,0.038,0.023,0.057,0.021,0.026,0.044,0.058,0.026,0.025,
+0.049,0.064,0.046,0.028,0.053,0.032,0.055,0.047,0.022,0.050,
+0.024,0.027,0.026,0.057,0.032,0.028,9.61e-3,0.029,0.021,9.53e-3,
+0.047,0.026,0.074,0.050,0.021,0.059,0.032,0.029,0.030,0.026,
+0.020,0.024,0.059,0.078,0.050,0.046,0.059,0.015,0.043,0.052,
+0.032,0.041,0.033,0.057,0.193,0.162,0.099,0.108,0.192,0.176,
+0.192,0.116,0.237,0.063,0.181,0.151,0.111,0.170,0.138,0.132,
+0.023,0.037,0.019,0.013,0.024,0.031,0.042,0.015,0.033,0.020,
+0.040,0.031,0.019,0.041,0.025,0.019,0.138,0.203,0.137,0.113,
+0.027,0.045,0.040,0.022,0.213,0.067,0.154,0.152,0.087,0.210,
+0.174,0.138,0.122,0.089,0.084,0.076,0.150,0.192,0.178,0.141,
+0.230,0.051,0.186,0.185,0.110,0.194,0.159,0.165,0.176,0.109,
+0.080,0.121,0.113,0.079,0.069,0.070,0.171,0.024,0.077,0.112,
+0.147,0.120,0.080,0.147,0.228,0.199,0.123,0.137,0.185,0.183,
+0.162,0.122,0.259,0.043,0.166,0.193,0.227,0.243,0.147,0.167,
+0.163,0.200,0.160,0.136,0.022,0.036,0.026,0.019,0.203,0.041,
+0.164,0.173,0.129,0.222,0.154,0.165,0.177,0.113,0.111,0.118,
+0.166,0.165,0.128,0.130,0.260,0.031,0.199,0.237,0.206,0.240,
+0.202,0.292,0.504,0.283,0.195,0.335,0.198,0.138,0.115,0.122,
+0.236,0.031,0.106,0.168,0.299,0.236,0.147,0.270,0.225,0.164,
+0.111,0.154,0.132,0.107,0.108,0.100,0.193,0.018,0.118,0.165,
+0.136,0.157,0.099,0.149,0.203,0.187,0.124,0.192,0.026,0.023,
+0.016,0.029,0.157,0.016,0.086,0.126,0.127,0.164,0.101,0.157,
+0.246,0.135,0.140,0.282,0.220,0.153,0.137,0.184,0.209,0.028,
+0.122,0.174,0.268,0.267,0.192,0.401,0.489,0.322,0.195,0.282,
+0.354,0.282,0.184,0.201,0.338,0.069,0.178,0.251,0.240,0.388,
+0.155,0.248,0.366,0.312,0.147,0.192,0.284,0.310,0.194,0.188,
+0.328,0.076,0.235,0.339,0.175,0.344,0.151,0.218,0.235,0.270,
+0.152,0.219,0.027,0.047,0.029,0.036,0.284,0.054,0.231,0.283,
+0.190,0.341,0.193,0.261,0.232,0.157,0.147,0.224,0.289,0.258,
+0.194,0.252,0.297,0.038,0.182,0.281,0.247,0.319,0.220,0.393,
+0.252,0.228,0.112,0.154,0.211,0.165,0.136,0.138,0.348,0.076,
+0.143,0.218,0.261,0.310,0.167,0.234,0.020,0.024,0.011,0.021,
+0.016,0.023,0.023,0.016,0.038,0.016,0.025,0.041,0.027,0.049,
+0.021,0.027,0.154,0.185,0.141,0.143,0.017,0.024,0.032,0.020,
+0.188,0.039,0.126,0.156,0.123,0.196,0.233,0.176,0.149,0.114,
+0.090,0.133,0.199,0.180,0.167,0.177,0.407,0.195,0.194,0.252,
+0.171,0.330,0.177,0.250,0.346,0.181,0.129,0.205,0.172,0.107,
+0.097,0.110,0.256,0.027,0.103,0.172,0.262,0.221,0.164,0.334,
+0.197,0.132,0.096,0.148,0.130,0.103,0.098,0.111,0.210,0.024,
+0.119,0.205,0.174,0.211,0.126,0.205,0.246,0.215,0.165,0.213,
+0.026,0.022,0.020,0.021,0.298,0.031,0.161,0.241,0.217,0.279,
+0.311,0.287,0.330,0.169,0.167,0.309,0.266,0.221,0.184,0.234,
+0.389,0.040,0.249,0.384,0.449,0.358,0.354,0.614,0.635,0.446,
+0.376,0.465,0.476,0.378,0.265,0.282,0.432,0.072,0.236,0.304,
+0.410,0.427,0.222,0.350,0.471,0.402,0.242,0.241,0.440,0.320,
+0.263,0.214,0.354,0.060,0.295,0.291,0.214,0.320,0.204,0.249,
+0.269,0.289,0.202,0.217,0.038,0.055,0.039,0.041,0.220,0.039,
+0.162,0.163,0.149,0.248,0.170,0.192,0.296,0.187,0.208,0.288,
+0.303,0.298,0.193,0.247,0.292,0.041,0.176,0.332,0.240,0.224,
+0.204,0.372,0.608,0.478,0.247,0.311,0.528,0.452,0.271,0.232,
+0.390,0.088,0.258,0.286,0.220,0.353,0.166,0.250,0.459,0.506,
+0.233,0.228,0.486,0.368,0.315,0.243,0.442,0.130,0.398,0.471,
+0.181,0.357,0.202,0.334,0.299,0.439,0.242,0.210,0.095,0.095,
+0.072,0.052,0.357,0.108,0.350,0.389,0.162,0.450,0.276,0.296,
+0.192,0.157,0.099,0.164,0.351,0.276,0.172,0.233,0.266,0.057,
+0.242,1.350,0.173,0.219,0.202,0.835,0.287,0.194,0.123,0.168,
+0.351,0.268,0.221,0.185,0.419,0.087,0.193,0.222,0.181,0.231,
+0.153,0.254,0.038,0.043,0.030,0.029,0.094,0.080,0.061,0.041,
+0.067,0.054,0.067,0.055,0.026,0.083,0.036,0.036,0.152,0.195,
+0.143,0.115,0.030,0.040,0.030,0.025,0.181,0.046,0.167,0.170,
+0.092,0.181,0.141,0.138,0.339,0.097,0.076,0.110,0.193,0.204,
+0.135,0.164,0.206,0.052,0.175,0.235,0.133,0.173,0.169,0.237,
+0.335,0.159,0.101,0.179,0.176,0.111,0.078,0.103,0.220,0.026,
+0.105,0.134,0.204,0.176,0.110,0.223,0.378,0.292,0.162,0.186,
+0.386,0.272,0.198,0.181,0.263,0.050,0.199,0.266,0.158,0.278,
+0.149,0.214,0.153,0.143,0.199,0.156,0.017,0.024,0.025,0.021,
+0.157,0.029,0.141,0.160,0.102,0.170,0.144,0.159,0.213,0.119,
+0.097,0.167,0.147,0.144,0.111,0.130,0.250,0.030,0.166,0.270,
+0.214,0.231,0.213,0.372,0.521,0.431,0.269,0.323,0.435,0.454,
+0.331,0.263,0.322,0.061,0.186,0.228,0.218,0.297,0.165,0.232,
+0.464,0.436,0.244,0.217,0.499,0.466,0.424,0.260,0.298,0.089,
+0.309,0.285,0.136,0.310,0.174,0.202,0.204,0.318,0.213,0.173,
+0.034,0.084,0.057,0.045,0.186,0.049,0.201,0.177,0.106,0.235,
+0.169,0.186,0.171,0.116,0.103,0.175,0.228,0.274,0.177,0.186,
+0.167,0.032,0.157,0.219,0.180,0.165,0.161,0.395,0.512,0.478,
+0.197,0.215,0.517,0.633,0.329,0.232,0.348,0.108,0.242,0.248,
+0.171,0.316,0.147,0.227,0.347,0.407,0.190,0.176,0.214,0.134,
+0.189,0.139,0.333,0.169,0.297,0.342,0.128,0.390,0.248,0.248,
+0.225,0.543,0.247,0.213,0.068,0.319,0.094,0.065,0.354,0.142,
+0.306,0.377,0.151,0.556,0.328,0.348,0.157,0.169,0.104,0.148,
+0.284,0.524,0.215,0.236,0.260,0.079,0.246,0.551,0.147,0.264,
+0.224,1.470,0.300,0.240,0.137,0.143,0.417,0.452,0.339,0.219,
+0.363,0.110,0.254,0.223,0.153,0.405,0.193,0.219,0.040,0.079,
+0.039,0.028,0.105,0.147,0.108,0.046,0.076,0.074,0.127,0.067,
+0.027,0.179,0.056,0.038,0.163,0.315,0.222,0.181,0.046,0.118,
+0.085,0.046,0.224,0.080,0.248,0.236,0.086,0.334,0.241,0.183,
+0.132,0.100,0.087,0.106,0.252,0.403,0.293,0.240,0.237,0.061,
+0.274,0.297,0.150,0.212,0.235,0.294,0.196,0.141,0.094,0.122,
+0.162,0.135,0.086,0.093,0.183,0.026,0.100,0.102,0.136,0.148,
+0.084,0.146,0.220,0.263,0.155,0.153,0.298,0.345,0.207,0.167,
+0.249,0.067,0.222,0.203,0.127,0.390,0.171,0.173,0.121,0.197,
+0.145,0.141,0.018,0.047,0.028,0.022,0.149,0.036,0.177,0.178,
+0.094,0.210,0.190,0.170,0.134,0.105,0.078,0.116,0.182,0.182,
+0.112,0.132,0.176,0.028,0.161,0.202,0.146,0.208,0.265,0.358,
+0.433,0.319,0.185,0.247,0.282,0.244,0.170,0.182,0.256,0.047,
+0.243,0.169,0.170,0.216,0.118,0.176,0.389,0.448,0.189,0.222,
+0.382,0.405,0.303,0.261,0.441,0.123,0.502,0.379,0.153,0.347,
+0.182,0.199,0.201,0.343,0.234,0.229,0.054,0.082,0.051,0.059,
+0.281,0.067,0.274,0.267,0.129,0.302,0.237,0.210,0.159,0.127,
+0.093,0.161,0.234,0.250,0.149,0.205,0.234,0.048,0.213,0.275,
+0.182,0.190,0.207,0.351,0.087,0.054,0.025,0.023,0.080,0.107,
+0.063,0.045,0.052,0.035,0.050,0.042,0.022,0.058,0.027,0.030,
+0.053,0.092,0.034,0.031,0.099,0.173,0.111,0.064,0.107,0.143,
+0.141,0.122,0.023,0.092,0.036,0.038,0.035,0.092,0.064,0.032,
+0.030,0.081,0.052,0.024,0.079,0.067,0.196,0.122,0.028,0.111,
+0.069,0.047,0.022,0.025,0.017,0.023,0.086,0.101,0.056,0.053,
+0.046,0.027,0.070,0.091,0.023,0.043,0.042,0.090,0.245,0.248,
+0.164,0.158,0.270,0.441,0.299,0.204,0.348,0.125,0.342,0.265,
+0.145,0.263,0.203,0.217,0.036,0.094,0.044,0.026,0.066,0.189,
+0.114,0.044,0.077,0.078,0.147,0.084,0.024,0.095,0.058,0.035,
+0.162,0.364,0.221,0.166,0.051,0.119,0.088,0.046,0.337,0.146,
+0.283,0.318,0.107,0.379,0.236,0.198,0.122,0.108,0.085,0.106,
+0.225,0.359,0.233,0.220,0.290,0.100,0.405,0.335,0.131,0.251,
+0.251,0.258,0.178,0.122,0.094,0.162,0.122,0.102,0.085,0.092,
+0.153,0.034,0.105,0.142,0.127,0.124,0.077,0.160,0.254,0.301,
+0.173,0.172,0.300,0.415,0.267,0.204,0.361,0.099,0.362,0.386,
+0.198,0.358,0.215,0.221,0.158,0.283,0.421,0.204,0.029,0.062,
+0.055,0.030,0.274,0.082,0.302,0.301,0.140,0.360,0.218,0.223,
+0.142,0.123,0.112,0.130,0.187,0.192,0.140,0.149,0.280,0.051,
+0.334,0.322,0.200,0.289,0.240,0.317,0.371,0.215,0.162,0.266,
+0.222,0.156,0.122,0.187,0.210,0.029,0.119,0.178,0.200,0.197,
+0.110,0.234,0.237,0.176,0.102,0.147,0.172,0.131,0.112,0.144,
+0.181,0.030,0.147,0.208,0.119,0.155,0.098,0.178,0.150,0.173,
+0.110,0.154,0.017,0.022,0.013,0.024,0.128,0.022,0.098,0.148,
+0.095,0.161,0.098,0.148,0.175,0.117,0.094,0.209,0.164,0.143,
+0.100,0.182,0.168,0.018,0.102,0.196,0.207,0.180,0.153,0.397,
+0.715,0.306,0.191,0.243,0.387,0.348,0.308,0.289,0.322,0.070,
+0.221,0.317,0.199,0.340,0.138,0.252,0.369,0.363,0.173,0.197,
+0.371,0.419,0.280,0.270,0.487,0.160,0.381,0.875,0.204,0.503,
+0.205,0.331,0.213,0.329,0.188,0.187,0.043,0.080,0.058,0.047,
+0.315,0.079,0.365,0.400,0.198,0.451,0.237,0.278,0.175,0.134,
+0.100,0.171,0.272,0.308,0.190,0.269,0.256,0.043,0.228,0.371,
+0.207,0.254,0.208,0.423,0.192,0.164,0.118,0.132,0.195,0.230,
+0.182,0.167,0.285,0.064,0.206,0.225,0.144,0.211,0.166,0.228,
+0.015,0.024,0.012,0.016,0.023,0.047,0.033,0.026,0.029,0.015,
+0.040,0.038,0.017,0.038,0.026,0.023,0.115,0.190,0.120,0.129,
+0.021,0.032,0.031,0.024,0.214,0.058,0.207,0.234,0.107,0.238,
+0.175,0.187,0.115,0.105,0.079,0.112,0.174,0.188,0.144,0.187,
+0.253,0.073,0.245,0.277,0.149,0.212,0.196,0.262,0.230,0.151,
+0.108,0.178,0.130,0.114,0.077,0.107,0.165,0.023,0.100,0.142,
+0.151,0.140,0.108,0.217,0.184,0.160,0.094,0.127,0.159,0.161,
+0.117,0.148,0.180,0.022,0.143,0.190,0.146,0.187,0.125,0.203,
+0.160,0.183,0.170,0.166,0.018,0.023,0.019,0.022,0.205,0.035,
+0.185,0.224,0.157,0.340,0.209,0.239,0.228,0.150,0.130,0.230,
+0.230,0.273,0.164,0.204,0.337,0.035,0.274,0.360,0.374,0.339,
+0.331,0.433,0.421,0.296,0.229,0.317,0.303,0.276,0.224,0.212,
+0.357,0.051,0.176,0.201,0.325,0.322,0.255,0.279,0.252,0.212,
+0.142,0.146,0.206,0.164,0.182,0.143,0.203,0.039,0.158,0.154,
+0.137,0.189,0.159,0.164,0.191,0.190,0.147,0.173,0.023,0.025,
+0.030,0.033,0.146,0.024,0.117,0.167,0.103,0.162,0.121,0.142,
+0.228,0.115,0.110,0.176,0.188,0.175,0.146,0.167,0.162,0.021,
+0.143,0.158,0.165,0.129,0.172,0.231,0.484,0.418,0.223,0.261,
+0.438,0.439,0.387,0.259,0.410,0.080,0.237,0.223,0.208,0.306,
+0.170,0.205,0.369,0.535,0.226,0.200,0.380,0.304,0.365,0.233,
+0.422,0.124,0.343,0.383,0.191,0.370,0.198,0.205,0.305,0.443,
+0.279,0.256,0.058,0.099,0.092,0.067,0.449,0.117,0.426,0.399,
+0.201,0.457,0.329,0.256,0.203,0.172,0.113,0.151,0.306,0.378,
+0.217,0.250,0.248,0.042,0.193,0.287,0.163,0.190,0.209,0.281,
+0.348,0.204,0.149,0.170,0.374,0.332,0.345,0.258,1.580,0.223,
+0.326,0.309,0.383,0.413,0.219,0.276,0.040,0.051,0.032,0.030,
+0.059,0.071,0.082,0.056,0.250,0.074,0.091,0.073,0.055,0.153,
+0.056,0.056,0.176,0.210,0.264,0.163,0.037,0.054,0.060,0.048,
+0.273,0.075,0.212,0.194,0.133,0.430,0.185,0.164,0.108,0.090,
+0.079,0.104,0.199,0.211,0.222,0.220,0.255,0.046,0.185,0.180,
+0.137,0.187,0.177,0.216,0.254,0.129,0.104,0.162,0.167,0.116,
+0.108,0.127,0.378,0.038,0.110,0.139,0.347,0.237,0.124,0.248,
+0.241,0.232,0.144,0.150,0.230,0.190,0.207,0.190,0.506,0.101,
+0.215,0.239,0.280,0.388,0.169,0.250,0.160,0.186,0.202,0.182,
+0.022,0.027,0.030,0.037,0.214,0.036,0.182,0.214,0.141,0.269,
+0.214,0.197,0.193,0.134,0.117,0.199,0.151,0.124,0.154,0.190,
+0.291,0.033,0.199,0.259,0.299,0.290,0.297,0.438,0.029,0.037,
+0.022,0.022,0.037,0.052,0.035,0.026,0.029,0.013,0.030,0.024,
+0.019,0.039,0.023,0.021,0.038,0.053,0.031,0.024,0.055,0.070,
+0.071,0.035,0.042,0.031,0.060,0.041,0.015,0.053,0.036,0.026,
+0.021,0.039,0.026,0.020,8.77e-3,0.019,0.021,0.011,0.029,0.013,
+0.044,0.032,0.012,0.041,0.029,0.024,0.018,0.018,0.013,0.017,
+0.034,0.042,0.040,0.030,0.030,9.11e-3,0.037,0.038,0.018,0.023,
+0.041,0.034,0.047,0.071,0.041,0.026,0.076,0.132,0.103,0.045,
+0.052,0.035,0.050,0.036,0.019,0.058,0.035,0.028,0.071,0.165,
+0.064,0.038,0.108,0.111,0.155,0.076,0.097,0.097,0.106,0.089,
+0.028,0.098,0.053,0.039,0.037,0.106,0.064,0.037,0.028,0.101,
+0.093,0.031,0.103,0.091,0.136,0.096,0.035,0.128,0.092,0.058,
+0.026,0.033,0.023,0.020,0.079,0.146,0.079,0.049,0.054,0.021,
+0.054,0.053,0.020,0.038,0.039,0.069,0.034,0.034,0.022,0.017,
+0.062,0.104,0.104,0.048,0.169,0.068,0.073,0.042,0.027,0.096,
+0.038,0.032,0.011,0.033,0.017,7.94e-3,0.036,0.076,0.078,0.027,
+0.084,0.122,0.084,0.049,0.011,0.066,0.027,0.014,0.031,0.068,
+0.089,0.036,0.020,0.058,0.081,0.024,0.084,0.083,0.110,0.073,
+0.038,0.189,0.081,0.044,0.017,0.019,0.020,0.017,0.050,0.092,
+0.101,0.055,0.056,0.035,0.084,0.059,0.021,0.044,0.050,0.040,
+0.025,0.026,0.016,0.020,0.022,0.024,0.019,0.019,0.039,9.44e-3,
+0.020,0.019,0.035,0.037,0.019,0.029,0.048,0.082,0.038,0.034,
+0.065,0.088,0.083,0.063,0.122,0.053,0.073,0.059,0.067,0.155,
+0.061,0.051,0.020,0.042,0.038,0.030,6.77e-3,0.018,0.019,9.53e-3,
+0.052,0.023,0.069,0.055,0.022,0.066,0.053,0.037,0.021,0.023,
+0.018,0.024,0.026,0.032,0.029,0.031,0.039,0.011,0.047,0.045,
+0.030,0.045,0.047,0.053,0.247,0.227,0.154,0.183,0.228,0.290,
+0.213,0.164,0.231,0.043,0.153,0.147,0.145,0.163,0.111,0.126,
+0.197,0.250,0.172,0.128,0.284,0.299,0.427,0.200,0.316,0.093,
+0.461,0.283,0.154,0.268,0.191,0.166,0.182,0.310,0.268,0.204,
+0.042,0.093,0.087,0.068,0.391,0.106,0.291,0.264,0.167,0.792,
+0.207,0.199,0.126,0.111,0.093,0.124,0.190,0.228,0.199,0.203,
+0.246,0.058,0.239,0.342,0.167,0.361,0.345,0.270,0.031,0.048,
+0.024,0.023,0.061,0.146,0.084,0.043,0.037,0.027,0.053,0.038,
+0.018,0.040,0.021,0.022,0.043,0.073,0.043,0.026,0.086,0.122,
+0.147,0.057,0.070,0.065,0.134,0.095,0.037,0.064,0.036,0.024,
+0.029,0.093,0.059,0.045,0.024,0.083,0.080,0.032,0.085,0.100,
+0.145,0.101,0.024,0.125,0.066,0.046,0.026,0.025,0.019,0.024,
+0.053,0.097,0.068,0.058,0.049,0.025,0.073,0.110,0.020,0.038,
+0.049,0.044,0.167,0.195,0.171,0.099,0.292,0.429,1.330,0.251,
+0.314,0.135,0.442,0.247,0.129,0.236,0.232,0.177,0.028,0.071,
+0.081,0.022,0.074,0.138,0.908,0.071,0.072,0.069,0.183,0.074,
+0.066,0.076,0.066,0.039,0.156,0.293,0.297,0.174,0.057,0.113,
+0.176,0.066,0.346,0.137,0.244,0.297,0.098,0.309,0.345,0.223,
+0.096,0.088,0.093,0.087,0.196,0.307,0.381,0.217,0.242,0.076,
+0.367,0.277,0.097,0.188,0.242,0.212,0.129,0.107,0.090,0.107,
+0.124,0.115,0.149,0.087,0.183,0.036,0.128,0.134,0.381,0.156,
+0.091,0.131,0.225,0.247,0.242,0.135,0.311,0.373,1.330,0.245,
+0.386,0.097,0.401,0.308,1.350,0.444,0.276,0.237,0.151,0.269,
+0.201,0.161,0.031,0.087,0.069,0.041,0.279,0.078,0.371,0.340,
+0.177,0.362,0.287,0.226,0.123,0.103,0.094,0.112,0.156,0.188,
+0.167,0.155,0.226,0.047,0.312,0.277,0.200,0.245,0.243,0.242,
+0.263,0.189,0.130,0.202,0.173,0.159,0.142,0.176,0.174,0.029,
+0.103,0.129,0.171,0.183,0.115,0.190,0.163,0.137,0.085,0.096,
+0.130,0.104,0.115,0.094,0.124,0.020,0.109,0.111,0.081,0.106,
+0.093,0.101,0.167,0.176,0.117,0.141,0.021,0.026,0.023,0.027,
+0.141,0.028,0.108,0.149,0.101,0.210,0.117,0.142,0.149,0.104,
+0.100,0.149,0.162,0.131,0.119,0.156,0.141,0.018,0.119,0.167,
+0.171,0.167,0.162,0.277,0.373,0.357,0.194,0.251,0.340,0.483,
+0.320,0.274,0.293,0.071,0.243,0.264,0.177,0.320,0.157,0.222,
+0.328,0.465,0.218,0.194,0.397,0.429,0.417,0.278,0.345,0.101,
+0.412,0.394,0.162,0.339,0.268,0.207,0.233,0.481,0.258,0.247,
+0.045,0.112,0.088,0.067,0.363,0.112,0.392,0.451,0.251,0.590,
+0.344,0.327,0.217,0.182,0.154,0.199,0.306,0.366,0.304,0.352,
+0.377,0.055,0.282,0.477,0.201,0.293,0.254,0.350,0.201,0.190,
+0.136,0.145,0.238,0.261,0.320,0.215,0.301,0.074,0.232,0.235,
+0.139,0.227,0.184,0.215,0.021,0.035,0.022,0.020,0.038,0.060,
+0.094,0.035,0.037,0.028,0.058,0.052,0.020,0.047,0.032,0.028,
+0.165,0.271,0.209,0.180,0.036,0.062,0.072,0.048,0.274,0.086,
+0.255,0.300,0.131,0.306,0.299,0.244,0.126,0.111,0.101,0.123,
+0.217,0.244,0.287,0.257,0.220,0.052,0.265,0.298,0.146,0.197,
+0.260,0.270,0.220,0.140,0.109,0.160,0.150,0.136,0.118,0.119,
+0.183,0.027,0.124,0.164,0.200,0.159,0.127,0.228,0.211,0.200,
+0.120,0.138,0.168,0.187,0.231,0.158,0.193,0.035,0.166,0.233,
+0.284,0.211,0.162,0.219,0.177,0.237,0.174,0.220,0.025,0.041,
+0.032,0.029,0.275,0.043,0.280,0.363,0.179,0.297,0.279,0.279,
+0.228,0.152,0.148,0.244,0.237,0.265,0.211,0.240,0.306,0.036,
+0.291,0.392,0.336,0.278,0.333,0.417,0.643,0.400,0.363,0.664,
+0.377,0.244,0.213,0.301,0.413,0.045,0.170,0.276,0.496,0.448,
+0.230,0.425,0.421,0.294,0.232,0.308,0.256,0.158,0.148,0.162,
+0.274,0.029,0.199,0.185,0.330,0.348,0.219,0.330,0.373,0.271,
+0.213,0.329,0.038,0.028,0.020,0.046,0.207,0.024,0.126,0.173,
+0.234,0.266,0.181,0.295,0.388,0.213,0.205,0.366,0.312,0.189,
+0.175,0.279,0.258,0.026,0.205,0.236,0.366,0.281,0.275,0.527,
+0.507,0.303,0.192,0.314,0.310,0.217,0.170,0.203,0.287,0.037,
+0.139,0.191,0.248,0.263,0.131,0.255,0.315,0.258,0.134,0.180,
+0.216,0.141,0.137,0.137,0.265,0.038,0.150,0.202,0.227,0.230,
+0.132,0.216,0.276,0.245,0.167,0.232,0.039,0.034,0.027,0.027,
+0.237,0.039,0.158,0.194,0.187,0.344,0.169,0.212,0.244,0.197,
+0.137,0.226,0.281,0.196,0.117,0.182,0.204,0.024,0.131,0.232,
+0.197,0.192,0.199,0.336,0.408,0.210,0.167,0.270,0.307,0.199,
+0.184,0.232,0.593,0.067,0.146,0.211,0.442,0.321,0.175,0.363,
+0.031,0.031,0.018,0.029,0.027,0.026,0.023,0.026,0.049,8.86e-3,
+0.025,0.026,0.067,0.076,0.030,0.055,0.162,0.176,0.168,0.189,
+0.020,0.022,0.021,0.025,0.208,0.036,0.148,0.154,0.161,0.242,
+0.160,0.187,0.167,0.114,0.104,0.192,0.207,0.154,0.143,0.213,
+0.216,0.028,0.135,0.200,0.236,0.193,0.196,0.330,0.498,0.239,
+0.175,0.366,0.233,0.139,0.125,0.190,0.568,0.060,0.164,0.235,
+0.981,0.460,0.217,0.551,0.367,0.226,0.151,0.223,0.217,0.147,
+0.141,0.177,0.371,0.036,0.162,0.219,0.551,0.475,0.240,0.508,
+0.276,0.247,0.200,0.277,0.025,0.022,0.019,0.027,0.243,0.022,
+0.172,0.204,0.279,0.329,0.277,0.360,0.400,0.239,0.215,0.441,
+0.272,0.161,0.157,0.278,0.398,0.033,0.234,0.362,0.677,0.538,
+0.535,1.070,0.754,0.485,0.333,0.546,0.566,0.405,0.299,0.350,
+0.461,0.071,0.285,0.339,0.395,0.488,0.239,0.421,0.484,0.372,
+0.272,0.384,0.464,0.323,0.313,0.303,0.385,0.077,0.801,0.366,
+0.235,0.389,0.259,0.305,0.349,0.384,0.273,0.350,0.058,0.066,
+0.057,0.072,0.337,0.067,0.292,0.382,0.247,0.419,0.282,0.440,
+0.328,0.206,0.183,0.305,0.390,0.358,0.276,0.353,0.308,0.043,
+0.291,0.377,0.331,0.280,0.298,0.519,0.724,0.607,0.370,0.437,
+0.649,0.576,0.378,0.353,0.510,0.107,0.246,0.314,0.325,0.549,
+0.217,0.364,0.578,0.660,0.274,0.311,0.581,0.379,0.404,0.323,
+0.528,0.136,0.375,0.439,0.278,0.531,0.278,0.330,0.466,0.615,
+0.360,0.392,0.108,0.132,0.083,0.066,0.597,0.149,0.434,0.554,
+0.348,0.757,0.440,0.488,0.337,0.317,0.210,0.324,0.643,0.791,
+0.318,0.393,0.397,0.057,0.286,0.407,0.276,0.331,0.285,0.499,
+0.487,0.309,0.182,0.269,0.482,0.566,0.364,0.377,0.839,0.152,
+0.296,0.295,0.371,0.562,0.249,0.413,0.033,0.052,0.029,0.035,
+0.053,0.081,0.073,0.063,0.099,0.058,0.084,0.056,0.047,0.163,
+0.052,0.053,0.269,0.433,0.368,0.320,0.042,0.080,0.069,0.060,
+0.457,0.112,0.286,0.336,0.258,0.718,0.308,0.374,0.250,0.207,
+0.174,0.242,0.368,0.487,0.365,0.426,0.439,0.063,0.334,0.395,
+0.291,0.333,0.328,0.465,0.432,0.286,0.207,0.360,0.266,0.222,
+0.177,0.239,0.469,0.058,0.244,0.258,0.600,0.454,0.254,0.478,
+0.417,0.435,0.267,0.325,0.358,0.379,0.339,0.364,0.757,0.130,
+0.401,0.404,0.600,1.350,0.389,0.510,0.320,0.354,0.271,0.363,
+0.036,0.050,0.031,0.047,0.396,0.065,0.311,0.377,0.274,0.484,
+0.320,0.419,0.364,0.254,0.194,0.323,0.327,0.312,0.217,0.372,
+0.473,0.052,0.320,0.517,0.472,0.508,0.427,0.707,0.382,0.279,
+0.178,0.268,0.235,0.225,0.145,0.212,0.262,0.034,0.129,0.170,
+0.207,0.214,0.125,0.201,0.301,0.303,0.164,0.199,0.319,0.256,
+0.221,0.214,0.313,0.071,0.328,0.272,0.186,0.309,0.187,0.234,
+0.265,0.333,0.266,0.295,0.040,0.064,0.047,0.070,0.314,0.067,
+0.224,0.296,0.194,0.388,0.224,0.292,0.215,0.169,0.133,0.218,
+0.252,0.221,0.176,0.235,0.301,0.053,0.206,0.325,0.264,0.265,
+0.258,0.420,0.033,0.035,0.019,0.028,0.040,0.050,0.025,0.026,
+0.033,9.19e-3,0.026,0.024,0.021,0.040,0.018,0.029,0.040,0.047,
+0.020,0.024,0.055,0.077,0.049,0.034,0.049,0.026,0.070,0.053,
+0.029,0.051,0.027,0.028,0.026,0.052,0.032,0.029,8.52e-3,0.022,
+0.017,0.011,0.044,0.027,0.056,0.049,0.022,0.073,0.040,0.034,
+0.033,0.032,0.020,0.037,0.068,0.060,0.036,0.043,0.044,0.018,
+0.044,0.055,0.035,0.038,0.035,0.054,0.246,0.208,0.128,0.136,
+0.259,0.319,0.340,0.192,0.332,0.084,0.267,0.232,0.161,0.266,
+0.228,0.233,0.024,0.038,0.022,0.017,0.034,0.058,0.079,0.024,
+0.043,0.026,0.079,0.042,0.029,0.065,0.047,0.036,0.193,0.336,
+0.225,0.200,0.038,0.079,0.068,0.043,0.361,0.094,0.219,0.269,
+0.145,0.372,0.277,0.261,0.168,0.138,0.122,0.144,0.253,0.325,
+0.288,0.251,0.356,0.061,0.336,0.317,0.200,0.278,0.330,0.375,
+0.254,0.163,0.126,0.186,0.173,0.143,0.121,0.123,0.251,0.031,
+0.159,0.192,0.233,0.210,0.155,0.270,0.282,0.272,0.188,0.211,
+0.261,0.267,0.280,0.197,0.380,0.064,0.328,0.324,0.411,0.442,
+0.292,0.334,0.301,0.328,0.262,0.272,0.027,0.050,0.037,0.034,
+0.386,0.062,0.322,0.360,0.290,0.441,0.329,0.357,0.265,0.187,
+0.266,0.237,0.221,0.224,0.193,0.207,0.413,0.048,0.367,0.410,
+0.372,0.409,0.392,0.503,0.705,0.314,0.247,0.463,0.300,0.195,
+0.163,0.329,0.319,0.036,0.145,0.265,0.347,0.279,0.175,0.397,
+0.322,0.217,0.150,0.193,0.224,0.152,0.139,0.187,0.234,0.026,
+0.182,0.223,0.183,0.205,0.130,0.230,0.247,0.244,0.156,0.278,
+0.023,0.024,0.021,0.044,0.212,0.029,0.131,0.220,0.186,0.244,
+0.161,0.281,0.314,0.192,0.175,0.345,0.231,0.175,0.173,0.281,
+0.261,0.026,0.157,0.321,0.381,0.297,0.280,0.667,0.479,0.299,
+0.199,0.345,0.284,0.268,0.176,0.247,0.258,0.033,0.146,0.224,
+0.220,0.256,0.145,0.301,0.324,0.272,0.139,0.179,0.346,0.244,
+0.163,0.194,0.267,0.045,0.293,0.295,0.181,0.271,0.177,0.254,
+0.237,0.345,0.155,0.251,0.021,0.040,0.024,0.033,0.283,0.049,
+0.223,0.294,0.214,0.388,0.213,0.327,0.265,0.202,0.179,0.287,
+0.277,0.241,0.229,0.293,0.296,0.035,0.189,0.336,0.294,0.315,
+0.243,0.476,0.391,0.301,0.188,0.240,0.319,0.263,0.241,0.287,
+0.415,0.068,0.208,0.307,0.292,0.315,0.255,0.436,0.028,0.035,
+0.017,0.022,0.029,0.033,0.028,0.026,0.032,9.44e-3,0.032,0.036,
+0.028,0.048,0.028,0.049,0.255,0.321,0.208,0.279,0.028,0.041,
+0.036,0.037,0.381,0.066,0.254,0.325,0.216,0.363,0.301,0.363,
+0.256,0.222,0.169,0.250,0.335,0.317,0.334,0.360,0.416,0.055,
+0.320,0.433,0.323,0.315,0.379,0.549,0.673,0.389,0.269,0.431,
+0.301,0.219,0.190,0.252,0.411,0.041,0.240,0.359,0.492,0.397,
+0.290,0.805,0.442,0.338,0.196,0.291,0.308,0.289,0.204,0.254,
+0.401,0.048,0.266,0.407,0.372,0.445,0.297,0.540,0.417,0.425,
+0.300,0.444,0.031,0.039,0.025,0.041,0.520,0.058,0.400,0.570,
+0.421,0.584,0.500,0.672,0.812,0.426,0.378,0.713,0.493,0.445,
+0.342,0.552,0.762,0.057,0.556,0.947,0.854,0.655,0.701,0.820,
+7.440,3.310,3.090,4.880,3.070,1.900,2.270,2.120,4.070,0.367,
+2.500,2.420,4.200,3.390,2.470,3.310,3.450,2.130,1.740,1.860,
+2.100,1.350,1.490,1.250,2.320,0.200,1.690,1.660,1.600,1.650,
+1.390,1.730,2.720,1.870,2.040,2.200,0.220,0.178,0.197,0.267,
+2.150,0.176,1.360,1.420,1.440,1.830,1.420,1.690,3.230,1.640,
+1.980,3.210,2.350,1.800,1.810,2.320,1.910,0.164,1.470,1.950,
+2.390,1.620,1.890,2.880,3.870,2.460,1.670,2.200,2.240,1.680,
+1.330,1.490,1.970,0.230,1.120,1.440,1.600,1.790,1.190,1.710,
+2.550,2.050,1.240,1.250,1.570,1.070,1.110,0.916,1.980,0.249,
+1.390,1.710,1.070,1.360,1.070,1.210,1.770,1.740,1.300,1.280,
+0.160,0.187,0.154,0.158,1.570,0.173,1.360,1.350,0.928,1.570,
+1.120,1.100,1.540,1.170,0.898,1.310,1.610,1.400,1.060,1.340,
+1.430,0.131,1.230,1.450,1.260,1.220,1.250,1.850,2.750,1.260,
+1.410,1.640,1.890,1.280,1.400,1.520,1.840,0.260,1.200,1.450,
+1.400,1.730,1.450,1.980,0.234,0.193,0.147,0.149,0.181,0.157,
+0.131,0.131,0.190,0.041,0.160,0.185,0.184,0.307,0.180,0.230,
+1.990,1.260,1.200,1.130,0.146,0.117,0.121,0.143,1.390,0.159,
+1.100,1.110,1.320,1.580,1.130,1.160,1.140,0.780,0.738,1.050,
+1.340,1.110,1.010,1.200,1.340,0.132,1.150,1.440,1.120,1.140,
+1.240,1.710,2.840,1.220,1.480,2.110,1.280,0.843,0.807,0.862,
+1.400,0.133,0.860,1.070,1.620,1.260,1.440,2.280,2.000,1.390,
+1.280,1.260,1.560,1.040,0.938,0.827,1.290,0.107,0.988,1.110,
+1.260,1.270,1.170,1.480,1.410,1.580,1.020,1.170,0.111,0.105,
+0.095,0.112,1.010,0.097,0.990,1.140,0.920,1.090,1.010,1.220,
+1.870,1.030,0.970,1.700,0.867,0.625,0.704,0.963,1.420,0.104,
+1.240,1.750,2.050,1.400,1.560,2.840,4.310,2.770,2.190,3.050,
+2.300,1.790,2.010,1.810,1.770,0.214,1.180,1.540,1.900,1.890,
+1.450,1.990,2.720,2.220,1.550,1.600,1.800,1.460,1.870,1.410,
+1.750,0.224,1.450,1.570,1.060,1.490,1.100,1.390,1.550,1.600,
+1.670,1.430,0.143,0.212,0.184,0.197,1.160,0.144,1.020,1.090,
+0.799,1.550,0.994,1.220,1.530,0.944,0.991,1.480,1.500,1.500,
+1.290,1.460,1.100,0.125,0.862,1.440,1.130,1.010,1.110,1.950,
+3.330,2.920,1.450,1.900,2.330,2.130,1.570,1.580,1.610,0.246,
+1.140,1.350,1.090,1.530,0.889,1.360,2.160,2.140,1.440,1.340,
+1.280,0.750,1.270,0.983,1.620,0.259,1.740,1.690,0.789,1.340,
+1.020,1.090,1.540,2.280,1.780,1.560,0.177,0.294,0.249,0.218,
+1.690,0.319,1.910,1.820,1.000,2.740,1.420,1.450,1.250,1.060,
+0.944,1.050,1.410,1.540,1.140,1.210,1.200,0.141,1.200,1.290,
+0.840,1.050,1.020,1.430,2.100,1.560,1.230,1.750,2.080,1.850,
+2.160,1.630,1.810,0.319,1.580,1.570,1.060,1.660,1.600,1.800,
+0.186,0.262,0.160,0.183,0.186,0.244,0.248,0.169,0.207,0.076,
+0.296,0.247,0.133,0.421,0.223,0.222,1.450,2.090,1.700,1.450,
+0.175,0.344,0.251,0.203,1.810,0.454,1.710,1.770,1.400,5.550,
+1.890,1.770,1.170,0.857,0.994,1.100,1.540,1.880,1.730,1.730,
+1.560,0.221,1.730,1.990,0.918,1.580,1.530,1.760,1.610,1.130,
+0.960,1.380,1.060,0.751,0.739,0.823,0.873,0.100,0.891,0.875,
+0.892,0.856,0.879,1.340,1.810,1.570,1.200,1.430,1.310,1.260,
+1.090,1.210,1.220,0.141,1.210,1.310,0.952,1.520,1.100,1.510,
+1.000,1.460,1.150,1.330,0.093,0.129,0.095,0.119,0.922,0.124,
+1.050,1.180,0.798,1.600,1.190,1.300,1.280,1.040,0.879,1.200,
+0.969,0.874,0.743,1.050,1.140,0.097,1.090,1.530,1.420,1.400,
+1.520,2.300,3.790,2.470,1.990,2.380,1.540,1.410,1.160,1.140,
+1.660,0.226,1.380,1.260,1.860,2.390,1.290,1.920,3.090,2.570,
+1.940,1.970,1.930,1.830,2.290,1.690,2.510,0.330,2.220,2.130,
+1.500,2.510,1.470,1.840,1.930,2.300,2.840,1.970,0.224,0.309,
+0.304,0.341,1.740,0.278,3.230,2.670,1.080,2.250,1.630,1.740,
+1.840,1.230,1.340,1.960,1.850,1.780,1.440,1.760,1.780,0.205,
+1.660,2.030,1.710,1.610,1.750,3.540,0.334,0.346,0.247,0.239,
+0.326,0.369,0.232,0.189,0.245,0.060,0.239,0.213,0.166,0.345,
+0.217,0.245,0.347,0.378,0.228,0.213,0.292,0.331,0.282,0.190,
+0.378,0.088,0.400,0.324,0.177,0.374,0.207,0.211,0.205,0.367,
+0.285,0.217,0.041,0.088,0.083,0.052,0.391,0.125,2.140,1.280,
+0.165,0.478,0.336,0.286,0.296,0.238,0.194,0.279,0.516,0.622,
+0.413,0.440,0.277,0.062,0.414,0.445,0.284,0.501,0.297,0.488,
+2.180,1.580,1.330,1.250,1.660,1.700,1.620,1.130,3.120,0.927,
+3.760,2.020,1.390,2.850,2.130,2.050,0.195,0.259,0.162,0.159,
+0.155,0.212,0.203,0.117,0.483,0.218,0.418,0.253,0.194,0.570,
+0.263,0.227,1.420,1.900,1.610,1.120,0.177,0.251,0.274,0.165,
+1.800,0.337,1.870,1.430,0.938,1.920,1.520,1.220,1.030,0.867,
+0.958,0.926,1.440,1.680,1.550,1.420,1.660,0.280,2.210,1.810,
+1.080,1.450,1.600,1.640,1.750,1.020,0.849,1.300,1.100,0.781,
+0.703,0.658,1.470,0.191,1.060,1.090,1.120,1.280,0.912,1.440,
+2.330,1.800,1.400,1.810,1.650,1.730,1.330,1.200,3.830,0.426,
+2.050,2.290,1.790,2.480,1.510,1.870,1.250,1.520,1.340,1.190,
+0.125,0.180,0.140,0.139,1.400,0.164,1.540,1.620,1.050,1.810,
+1.330,1.470,1.510,1.010,1.200,1.310,1.360,1.180,0.966,1.110,
+1.770,0.176,1.770,2.010,1.710,1.920,1.770,2.400,3.720,1.810,
+1.530,2.290,1.310,0.864,0.895,0.873,1.390,0.133,0.799,1.020,
+1.710,1.430,1.070,2.000,1.580,0.948,0.958,1.020,0.954,0.622,
+1.030,0.744,1.550,0.112,0.825,1.020,0.955,0.886,0.726,1.090,
+1.450,1.090,1.050,1.290,0.157,0.122,0.108,0.179,1.030,0.106,
+0.889,1.050,0.855,1.260,0.766,1.180,1.980,1.040,1.260,2.250,
+1.960,1.150,1.150,1.520,2.950,0.154,0.942,1.330,1.980,1.710,
+1.420,3.010,2.740,1.880,1.260,1.730,1.920,1.490,1.220,1.210,
+1.580,0.188,1.170,1.400,1.220,1.520,1.180,1.830,2.340,1.570,
+0.981,1.140,1.490,1.200,1.100,0.925,1.870,0.220,1.450,1.620,
+1.080,1.430,0.877,1.180,1.450,1.520,1.110,1.270,0.142,0.172,
+0.148,0.170,1.650,0.237,3.830,3.320,1.240,2.360,1.320,1.660,
+1.840,1.110,0.994,1.490,2.360,1.710,1.510,1.650,1.570,0.209,
+1.370,1.900,1.800,3.260,1.470,2.410,1.910,1.310,1.140,1.290,
+1.930,1.240,1.320,1.260,2.370,0.346,2.280,1.770,1.430,1.550,
+2.030,2.300,0.158,0.184,0.121,0.157,0.142,0.136,0.134,0.112,
+0.210,0.046,0.235,0.201,0.179,0.272,0.197,0.214,1.260,1.440,
+1.180,1.490,0.139,0.151,0.148,0.182,1.520,0.228,1.670,1.570,
+1.130,2.190,1.540,1.770,1.280,1.000,0.968,1.380,1.690,1.470,
+1.450,1.790,2.140,0.246,1.790,2.290,1.550,1.850,1.760,2.390,
+2.490,1.340,1.100,1.640,1.260,0.847,0.836,0.870,1.450,0.134,
+0.979,1.240,1.670,1.320,1.350,2.510,1.400,0.990,0.861,1.200,
+0.924,0.675,0.829,0.825,1.670,0.137,1.110,1.470,1.420,1.550,
+1.060,1.630,1.670,1.580,1.310,1.850,0.178,0.125,0.108,0.169,
+1.580,0.142,1.390,1.790,1.860,2.170,1.720,2.170,2.610,1.330,
+1.640,2.980,2.130,1.510,1.400,2.100,2.540,0.170,2.090,3.020,
+4.190,2.790,2.910,4.600,0.384,0.263,0.246,0.306,0.273,0.207,
+0.204,0.191,0.257,0.036,0.190,0.210,0.240,0.259,0.184,0.207,
+0.291,0.241,0.179,0.162,0.220,0.187,0.206,0.144,0.220,0.039,
+0.211,0.194,0.144,0.203,0.175,0.187,0.169,0.160,0.159,0.156,
+0.024,0.025,0.029,0.027,0.136,0.025,0.127,0.115,0.098,0.145,
+0.128,0.126,0.185,0.131,0.137,0.207,0.195,0.177,0.170,0.183,
+0.166,0.021,0.183,0.177,0.164,0.142,0.186,0.238,0.354,0.312,
+0.195,0.206,0.317,0.292,0.242,0.173,0.256,0.056,0.233,0.239,
+0.152,0.246,0.247,0.220,0.335,0.371,0.227,0.169,0.293,0.261,
+0.272,0.183,0.469,0.142,0.401,0.490,0.156,0.331,0.212,0.210,
+0.188,0.248,0.199,0.149,0.052,0.058,0.066,0.038,0.212,0.066,
+0.300,0.244,0.115,0.276,0.190,0.146,0.146,0.158,0.104,0.127,
+0.232,0.202,0.177,0.190,0.180,0.036,0.198,0.309,0.133,0.151,
+0.189,0.273,0.177,0.121,0.099,0.111,0.189,0.166,0.195,0.135,
+0.174,0.041,0.147,0.139,0.109,0.158,0.129,0.154,0.024,0.035,
+0.023,0.017,0.035,0.051,0.047,0.026,0.034,0.025,0.049,0.038,
+0.025,0.052,0.033,0.028,0.112,0.135,0.129,0.098,0.028,0.034,
+0.039,0.025,0.138,0.044,0.171,0.140,0.080,0.165,0.161,0.129,
+0.089,0.067,0.067,0.080,0.154,0.148,0.142,0.135,0.136,0.030,
+0.159,0.161,0.095,0.123,0.173,0.172,0.182,0.101,0.091,0.139,
+0.113,0.076,0.080,0.077,0.124,0.019,0.084,0.090,0.117,0.109,
+0.094,0.160,0.180,0.174,0.132,0.136,0.165,0.166,0.142,0.115,
+0.141,0.027,0.140,0.161,0.107,0.160,0.131,0.160,0.102,0.107,
+0.103,0.113,0.014,0.015,0.017,0.018,0.094,0.016,0.112,0.116,
+0.072,0.115,0.111,0.130,0.140,0.087,0.081,0.141,0.097,0.083,
+0.084,0.103,0.140,0.016,0.139,0.185,0.171,0.159,0.194,0.309,
+0.267,0.218,0.178,0.195,0.221,0.237,0.222,0.201,0.144,0.027,
+0.124,0.130,0.118,0.148,0.108,0.128,0.214,0.227,0.156,0.130,
+0.201,0.196,0.215,0.156,0.171,0.063,0.234,0.193,0.080,0.156,
+0.125,0.123,0.107,0.145,0.126,0.101,0.020,0.037,0.036,0.022,
+0.093,0.029,0.127,0.095,0.054,0.112,0.107,0.104,0.097,0.064,
+0.062,0.097,0.118,0.132,0.111,0.111,0.089,0.018,0.110,0.113,
+0.082,0.083,0.103,0.143,0.273,0.337,0.162,0.157,0.282,0.421,
+0.240,0.158,0.185,0.055,0.200,0.162,0.090,0.179,0.110,0.150,
+0.237,0.365,0.218,0.144,0.185,0.132,0.210,0.151,0.231,0.100,
+0.423,0.322,0.083,0.219,0.166,0.140,0.144,0.304,0.225,0.163,
+0.041,0.106,0.103,0.054,0.220,0.100,0.282,0.271,0.111,0.310,
+0.206,0.162,0.124,0.097,0.091,0.095,0.157,0.229,0.169,0.150,
+0.142,0.034,0.211,0.201,0.090,0.120,0.186,0.215,0.159,0.140,
+0.100,0.106,0.221,0.260,0.257,0.149,0.201,0.056,0.183,0.147,
+0.090,0.205,0.143,0.137,0.025,0.058,0.032,0.021,0.045,0.094,
+0.096,0.036,0.052,0.055,0.105,0.074,0.016,0.092,0.045,0.030,
+0.150,0.271,0.215,0.150,0.046,0.129,0.103,0.042,0.208,0.092,
+0.284,0.223,0.097,0.364,0.262,0.186,0.122,0.070,0.084,0.084,
+0.175,0.281,0.266,0.184,0.173,0.046,0.264,0.215,0.094,0.138,
+0.202,0.183,0.114,0.095,0.084,0.126,0.082,0.077,0.070,0.091,
+0.090,0.010,0.117,0.076,0.071,0.079,0.073,0.102,0.121,0.166,
+0.112,0.107,0.128,0.162,0.136,0.118,0.133,0.035,0.158,0.137,
+0.064,0.188,0.115,0.119,0.069,0.124,0.102,0.098,0.013,0.022,
+0.019,0.014,0.090,0.024,0.126,0.106,0.057,0.141,0.125,0.099,
+0.082,0.070,0.063,0.092,0.081,0.084,0.070,0.101,0.095,0.015,
+0.118,0.135,0.094,0.127,0.141,0.188,0.237,0.216,0.179,0.173,
+0.155,0.175,0.162,0.150,0.146,0.035,0.379,0.153,0.124,0.171,
+0.119,0.138,0.242,0.315,0.199,0.172,0.251,0.307,0.310,0.228,
+0.311,0.097,0.557,0.342,0.115,0.269,0.194,0.166,0.160,0.274,
+0.246,0.174,0.032,0.061,0.067,0.062,0.240,0.082,1.430,0.822,
+0.097,0.240,0.400,0.188,0.126,0.103,0.094,0.166,0.167,0.187,
+0.157,0.259,0.178,0.037,0.270,0.282,0.125,0.134,0.187,0.260,
+0.031,0.062,0.029,0.024,0.049,0.099,0.063,0.042,0.031,0.025,
+0.069,0.043,0.015,0.045,0.028,0.024,0.044,0.096,0.055,0.031,
+0.073,0.131,0.121,0.055,0.070,0.096,0.169,0.108,0.019,0.074,
+0.048,0.030,0.022,0.085,0.070,0.039,0.019,0.068,0.088,0.027,
+0.145,0.110,2.290,0.900,0.022,0.101,0.121,0.059,0.018,0.026,
+0.018,0.020,0.055,0.088,0.072,0.063,0.038,0.022,0.150,0.113,
+0.036,0.043,0.045,0.049,0.173,0.176,0.130,0.103,0.168,0.269,
+0.253,0.142,0.241,0.092,0.413,0.219,0.110,0.249,0.216,0.181,
+0.028,0.070,0.042,0.020,0.036,0.107,0.096,0.036,0.072,0.080,
+0.247,0.086,0.019,0.074,0.057,0.032,0.156,0.297,0.268,0.130,
+0.045,0.116,0.138,0.043,0.285,0.156,0.613,0.292,0.094,0.301,
+0.290,0.176,0.091,0.098,0.112,0.097,0.206,0.314,0.296,0.207,
+0.227,0.090,0.459,0.285,0.110,0.185,0.252,0.218,0.135,0.108,
+0.086,0.112,0.109,0.095,0.096,0.079,0.119,0.026,0.117,0.111,
+0.098,0.130,0.084,0.124,0.189,0.219,0.155,0.168,0.192,0.284,
+0.223,0.169,0.303,0.073,0.350,0.324,0.135,0.272,0.194,0.175,
+0.126,0.191,0.173,0.121,0.022,0.050,0.044,0.021,0.178,0.058,
+0.343,0.263,0.104,0.238,0.187,0.157,0.118,0.087,0.093,0.107,
+0.220,0.141,0.118,0.121,0.176,0.034,0.246,0.229,0.143,0.211,
+0.207,0.226,0.313,0.195,0.161,0.220,0.225,0.143,0.133,0.223,
+0.211,0.024,0.132,0.179,0.192,0.175,0.131,0.238,0.177,0.140,
+0.121,0.117,0.135,0.109,0.141,0.120,0.151,0.019,0.155,0.150,
+0.102,0.115,0.110,0.131,0.135,0.128,0.127,0.145,0.018,0.017,
+0.016,0.028,0.104,0.018,0.176,0.171,0.090,0.135,0.133,0.151,
+0.169,0.106,0.131,0.222,0.199,0.130,0.128,0.225,0.284,0.024,
+0.127,0.249,0.235,0.193,0.182,0.428,0.357,0.289,0.207,0.241,
+0.309,0.287,0.278,0.233,0.247,0.048,0.243,0.257,0.174,0.260,
+0.187,0.259,0.368,0.358,0.204,0.206,0.331,0.350,0.328,0.245,
+0.320,0.080,0.386,0.440,0.185,0.327,0.229,0.242,0.190,0.287,
+0.233,0.203,0.033,0.062,0.079,0.053,0.326,0.085,1.870,1.220,
+0.174,0.376,0.294,0.274,0.204,0.155,0.154,0.202,0.313,0.306,
+0.309,0.339,0.240,0.045,0.334,0.481,0.442,0.441,0.276,0.378,
+0.176,0.135,0.119,0.130,0.196,0.175,0.197,0.154,0.231,0.052,
+0.271,0.219,0.136,0.189,0.221,0.229,0.017,0.024,0.017,0.017,
+0.027,0.040,0.039,0.026,0.029,0.017,0.058,0.038,0.019,0.040,
+0.036,0.028,0.128,0.197,0.179,0.152,0.022,0.040,0.048,0.039,
+0.188,0.063,0.296,0.237,0.110,0.272,0.250,0.213,0.130,0.119,
+0.123,0.146,0.171,0.208,0.219,0.238,0.304,0.050,0.316,0.393,
+0.169,0.216,0.294,0.310,0.195,0.141,0.117,0.152,0.130,0.101,
+0.097,0.109,0.131,0.020,0.108,0.137,0.132,0.118,0.127,0.208,
+0.136,0.119,0.104,0.126,0.126,0.121,0.123,0.137,0.151,0.019,
+0.153,0.167,0.122,0.164,0.135,0.177,0.143,0.156,0.160,0.177,
+0.019,0.020,0.019,0.025,0.174,0.026,0.189,0.217,0.162,0.245,
+0.215,0.225,0.205,0.122,0.146,0.242,0.197,0.164,0.162,0.210,
+0.244,0.021,0.271,0.341,0.329,0.276,0.346,0.432,2.480,2.320,
+1.950,2.580,2.390,2.000,1.710,1.890,2.080,0.245,1.510,1.720,
+2.440,2.510,2.060,2.030,2.070,1.910,1.260,1.380,1.630,1.260,
+1.360,1.280,1.440,0.183,1.190,1.420,1.160,1.340,1.230,1.310,
+1.540,1.400,1.260,1.310,0.144,0.145,0.138,0.192,1.210,0.124,
+1.140,1.150,0.934,1.130,1.190,1.240,1.510,0.899,0.807,1.260,
+1.040,0.846,0.937,1.090,1.030,0.095,0.866,1.170,1.200,0.632,
+1.110,1.780,3.760,2.750,1.590,2.280,2.790,2.250,1.890,1.650,
+1.850,0.250,1.300,1.770,1.510,1.660,1.230,1.630,3.100,3.960,
+1.610,1.630,2.200,1.530,1.950,1.450,2.550,0.435,2.160,4.690,
+1.470,1.890,1.430,1.650,2.550,2.520,2.010,1.640,0.284,0.320,
+0.310,0.283,3.180,0.491,2.760,3.630,1.990,2.340,1.990,1.750,
+1.660,1.210,0.768,1.060,1.830,1.760,1.340,1.530,1.400,0.159,
+1.270,2.640,1.180,1.060,1.400,2.150,2.430,1.300,1.110,1.320,
+2.640,1.960,2.120,1.690,2.610,0.344,1.500,1.560,1.460,1.550,
+1.380,1.800,0.263,0.306,0.186,0.199,0.338,0.339,0.329,0.249,
+0.328,0.088,0.320,0.358,0.251,0.489,0.279,0.331,1.550,1.620,
+1.650,1.340,0.228,0.253,0.335,0.266,2.510,0.360,2.130,1.800,
+0.994,1.750,2.000,1.470,1.040,0.951,0.714,0.831,1.630,1.610,
+1.640,1.670,1.610,0.209,1.620,1.610,1.040,1.150,1.580,1.750,
+1.780,0.797,0.764,1.230,1.060,0.713,0.705,0.760,1.080,0.119,
+0.639,0.722,1.210,0.965,0.804,1.330,1.650,1.320,0.927,1.000,
+1.350,1.140,1.080,0.936,1.280,0.133,1.010,1.270,1.130,1.330,
+0.987,1.440,1.350,1.360,1.380,1.260,0.130,0.140,0.166,0.175,
+1.680,0.168,1.360,1.430,1.020,1.530,1.810,1.450,1.720,1.030,
+0.770,1.220,0.939,0.809,0.830,1.050,1.640,0.139,1.300,1.680,
+1.760,1.370,1.850,2.830,0.225,0.234,0.168,0.175,0.203,0.214,
+0.185,0.185,0.147,0.030,0.128,0.116,0.163,0.172,0.135,0.141,
+0.237,0.363,0.273,0.220,0.264,0.294,0.339,0.248,0.217,0.072,
+0.256,0.192,0.150,0.228,0.181,0.174,0.123,0.179,0.136,0.115,
+0.027,0.042,0.043,0.034,0.155,0.041,0.206,0.218,0.099,0.152,
+0.156,0.160,0.103,0.086,0.068,0.093,0.129,0.141,0.111,0.115,
+0.095,0.020,0.103,0.143,0.097,0.087,0.130,0.193,0.256,0.394,
+0.190,0.156,0.260,0.342,0.285,0.175,0.186,0.060,0.165,0.168,
+0.109,0.169,0.121,0.118,0.439,1.290,0.279,0.195,0.317,0.323,
+0.385,0.220,0.353,0.177,0.382,0.404,0.136,0.293,0.197,0.203,
+0.205,0.383,0.239,0.165,0.060,0.138,0.123,0.063,0.985,0.317,
+0.842,1.190,0.427,0.477,0.346,0.263,0.113,0.126,0.089,0.087,
+0.181,0.255,0.177,0.152,0.152,0.035,0.183,0.278,0.099,0.106,
+0.140,0.171,0.177,0.158,0.115,0.117,0.254,0.327,0.338,0.186,
+0.234,0.074,0.245,0.157,0.090,0.174,0.163,0.153,0.035,0.088,
+0.044,0.027,0.065,0.128,0.134,0.054,0.062,0.076,0.152,0.077,
+0.022,0.074,0.067,0.034,0.171,0.283,0.311,0.182,0.057,0.112,
+0.158,0.057,0.335,0.159,0.531,0.322,0.119,0.396,0.497,0.276,
+0.109,0.094,0.107,0.090,0.199,0.282,0.310,0.223,0.194,0.058,
+0.326,0.238,0.091,0.142,0.261,0.209,0.148,0.132,0.105,0.182,
+0.108,0.102,0.087,0.120,0.103,0.019,0.083,0.084,0.095,0.113,
+0.112,0.148,0.221,0.254,0.169,0.158,0.225,0.281,0.242,0.192,
+0.197,0.045,0.208,0.201,0.136,0.253,0.209,0.224,0.111,0.172,
+0.177,0.167,0.017,0.041,0.036,0.026,0.163,0.041,0.223,0.199,
+0.110,0.205,0.350,0.203,0.139,0.114,0.089,0.116,0.094,0.124,
+0.097,0.117,0.133,0.022,0.158,0.177,0.142,0.152,0.233,0.255,
+3.230,2.200,1.940,2.540,1.550,1.450,1.200,1.270,1.420,0.177,
+1.400,1.300,0.983,0.857,0.896,1.120,2.340,2.220,1.460,1.250,
+2.130,2.070,2.030,1.350,2.090,0.356,2.740,2.100,0.901,1.710,
+1.150,1.270,1.680,2.030,1.680,1.410,0.272,0.350,0.338,0.310,
+1.670,0.300,2.980,2.030,0.758,1.800,1.510,1.400,1.210,0.772,
+0.670,0.956,1.310,1.240,1.090,1.180,1.530,0.236,1.770,3.600,
+1.010,0.937,1.340,2.060,0.243,0.246,0.152,0.177,0.293,0.399,
+0.248,0.219,0.208,0.062,0.286,0.249,0.110,0.176,0.144,0.148,
+0.238,0.366,0.166,0.119,0.361,0.439,0.380,0.211,0.263,0.125,
+0.491,0.361,0.095,0.211,0.152,0.128,0.196,0.351,0.245,0.158,
+0.063,0.141,0.157,0.070,0.335,0.159,0.767,0.493,0.126,0.322,
+0.274,0.204,0.152,0.130,0.094,0.166,0.283,0.341,0.257,0.307,
+0.230,0.064,0.370,1.290,0.128,0.148,0.195,0.341,2.810,1.390,
+1.530,0.954,1.550,1.870,1.940,1.210,1.820,0.392,3.120,1.490,
+0.803,1.530,1.760,1.300,0.222,0.336,0.339,0.154,0.201,0.374,
+0.390,0.149,0.315,0.141,0.810,0.301,0.115,0.347,0.342,0.172,
+1.350,1.080,1.520,0.674,0.230,0.217,0.419,0.132,0.978,0.241,
+0.743,0.324,0.321,0.595,0.849,0.566,0.675,0.516,0.729,0.411,
+0.877,0.969,1.350,0.689,1.150,0.215,2.040,1.230,0.573,0.807,
+1.320,1.180,1.230,0.733,0.676,0.750,0.867,0.706,0.575,0.565,
+0.854,0.123,1.040,0.833,0.563,0.655,0.637,0.751,1.490,1.450,
+1.170,0.879,1.320,1.690,1.410,0.955,1.580,0.265,2.270,1.770,
+0.882,1.570,1.150,0.993,1.130,1.360,1.330,1.010,0.150,0.237,
+0.227,0.163,1.500,0.249,2.560,1.760,0.737,1.550,1.530,1.190,
+0.845,0.636,0.642,0.824,0.923,0.947,0.930,0.892,1.290,0.171,
+2.180,1.830,1.060,1.160,1.710,1.590,2.170,1.300,0.934,1.540,
+1.050,0.823,0.718,0.817,1.010,0.120,0.817,0.903,1.100,0.953,
+0.770,1.110,1.480,1.000,0.657,0.677,0.916,0.707,0.683,0.583,
+0.794,0.095,0.721,0.715,0.527,0.628,0.570,0.698,1.120,0.984,
+0.701,0.842,0.114,0.109,0.096,0.131,0.771,0.091,0.914,0.975,
+0.549,0.911,0.798,0.965,1.010,0.573,0.519,0.902,1.000,0.627,
+0.577,0.800,0.803,0.092,0.640,1.580,0.803,0.778,0.850,1.580,
+2.290,1.850,1.170,1.510,1.900,1.730,1.540,1.300,1.370,0.197,
+1.330,1.810,1.070,1.290,0.951,1.350,2.010,2.140,1.190,1.140,
+1.980,1.900,2.000,1.350,1.550,0.248,1.870,2.020,0.793,1.250,
+0.977,1.080,1.430,1.980,1.260,1.210,0.183,0.303,0.225,0.223,
+1.730,0.303,2.200,2.500,0.898,1.950,1.550,1.720,1.170,0.912,
+0.749,1.120,1.820,1.650,1.380,1.700,1.380,0.214,1.570,5.430,
+0.936,1.220,1.160,2.080,1.930,1.360,1.010,1.080,1.670,1.610,
+1.580,1.400,1.800,0.281,1.730,1.460,1.060,1.510,1.330,1.500,
+0.179,0.203,0.140,0.129,0.198,0.295,0.263,0.177,0.193,0.074,
+0.321,0.230,0.135,0.274,0.194,0.179,1.530,1.850,1.740,1.320,
+0.224,0.216,0.295,0.217,2.260,0.402,2.190,2.130,0.952,1.880,
+2.010,1.590,0.978,0.829,0.823,0.804,1.570,1.490,1.740,1.500,
+1.450,0.206,2.040,2.270,0.961,1.130,1.760,1.800,1.510,0.834,
+0.714,1.010,0.877,0.720,0.641,0.626,0.903,0.114,0.782,0.796,
+0.867,0.776,0.802,1.160,1.470,1.070,0.872,0.922,1.090,1.120,
+1.040,0.880,1.010,0.126,1.150,1.230,0.875,1.120,0.991,1.110,
+1.400,1.370,1.230,1.270,0.130,0.148,0.139,0.155,1.570,0.185,
+2.080,2.060,1.070,1.580,1.780,1.650,1.460,0.830,0.923,1.410,
+1.340,1.150,1.090,1.290,1.540,0.139,1.950,2.330,1.610,1.300,
+1.830,2.020,3.100,1.890,1.980,3.300,1.740,1.120,1.030,1.330,
+1.590,0.166,0.835,1.220,2.320,2.140,1.140,1.940,1.920,1.200,
+0.875,1.080,1.120,0.738,0.727,0.859,1.090,0.108,0.808,0.853,
+1.130,1.340,0.760,1.080,1.400,1.100,1.040,1.370,0.134,0.102,
+0.103,0.188,0.865,0.083,0.654,0.887,0.795,0.925,0.876,1.180,
+1.850,0.983,0.986,1.720,1.260,0.862,0.887,1.330,1.330,0.099,
+0.742,1.070,1.650,0.952,1.130,2.410,2.880,1.680,1.170,1.860,
+1.560,1.120,0.816,1.000,1.030,0.116,0.607,0.893,1.010,1.190,
+0.663,1.340,2.040,1.480,0.757,0.906,0.969,0.637,0.598,0.593,
+1.180,0.120,0.724,1.310,0.907,1.040,0.626,0.993,1.230,0.986,
+1.000,0.981,0.099,0.091,0.072,0.094,0.853,0.086,0.638,0.867,
+0.774,0.830,0.709,0.832,1.060,0.696,0.547,0.892,1.000,0.782,
+0.527,0.750,0.800,0.061,0.571,0.968,0.802,0.634,0.737,1.420,
+2.140,1.000,0.899,1.240,1.710,1.000,0.985,1.160,1.450,0.175,
+0.668,0.917,1.260,1.120,0.901,1.570,0.191,0.145,0.107,0.141,
+0.147,0.117,0.105,0.124,0.140,0.024,0.117,0.139,0.213,0.235,
+0.134,0.216,1.200,0.942,1.000,1.120,0.128,0.110,0.115,0.142,
+1.120,0.132,0.769,0.951,1.110,1.170,1.340,1.250,1.040,0.718,
+0.729,1.520,1.360,0.949,0.903,1.410,1.220,0.148,0.857,1.280,
+1.070,1.000,1.260,1.780,2.340,0.907,0.831,1.840,1.060,0.642,
+0.612,0.997,1.080,0.102,0.560,0.786,1.610,0.994,0.797,1.640,
+1.580,1.090,0.801,1.010,1.000,0.758,0.629,0.721,0.980,0.077,
+0.638,0.847,1.350,1.140,0.771,1.270,1.180,0.953,0.780,1.020,
+0.092,0.088,0.061,0.094,0.853,0.069,0.610,0.798,0.929,0.912,
+0.998,1.140,1.580,0.970,0.770,1.560,1.050,0.780,0.658,1.000,
+1.290,0.096,0.883,1.380,1.840,1.390,1.590,3.000,3.410,2.200,
+1.860,2.660,2.060,1.730,1.480,1.700,1.620,0.192,1.070,1.460,
+1.720,1.600,1.160,1.970,2.340,1.840,1.650,1.710,1.660,1.420,
+1.640,2.160,1.630,0.230,1.800,1.680,1.050,1.400,1.180,1.610,
+1.440,1.270,1.150,1.370,0.137,0.162,0.146,0.201,1.230,0.168,
+1.110,1.460,0.781,1.170,1.140,1.770,1.350,0.829,0.770,1.160,
+1.270,1.220,0.882,1.120,0.929,0.106,0.757,1.060,1.100,0.885,
+1.080,2.200,3.220,2.700,1.500,2.090,2.380,2.360,1.630,1.550,
+1.660,0.257,1.050,1.350,1.290,1.760,0.986,1.710,2.730,3.480,
+1.610,1.690,2.190,1.580,1.710,1.360,2.540,0.500,1.780,2.210,
+1.200,2.230,1.240,1.770,1.560,2.050,1.720,1.580,0.194,0.290,
+0.213,0.202,2.970,0.515,2.410,3.270,1.760,2.380,1.760,2.010,
+1.090,0.946,0.760,1.000,1.460,1.600,1.020,1.120,1.170,0.131,
+1.090,1.390,0.940,0.966,1.060,1.700,2.030,1.320,0.942,1.310,
+2.080,2.050,1.860,1.620,2.090,0.431,1.290,1.430,1.100,1.450,
+1.180,1.770,0.166,0.223,0.139,0.166,0.219,0.327,0.291,0.216,
+0.220,0.089,0.275,0.230,0.143,0.339,0.207,0.222,1.470,1.790,
+1.650,1.490,0.205,0.308,0.283,0.248,2.080,0.398,1.910,2.070,
+1.090,2.420,2.310,2.150,1.100,0.826,0.833,1.140,1.750,1.920,
+1.770,1.930,1.620,0.223,1.870,2.050,1.090,1.270,1.870,2.360,
+2.100,1.250,1.060,3.160,1.090,0.917,0.835,1.980,1.280,0.135,
+0.857,1.070,1.220,1.060,1.030,1.770,2.190,1.710,1.270,1.560,
+1.510,1.620,1.390,1.640,1.540,0.207,1.420,1.680,1.330,2.040,
+1.460,1.910,1.150,1.330,1.210,1.410,0.106,0.155,0.116,0.156,
+1.240,0.151,1.280,1.550,0.932,1.530,1.890,1.840,1.310,1.030,
+0.839,1.240,1.140,1.140,0.812,1.180,1.260,0.118,1.280,1.630,
+1.450,1.470,1.840,2.790,3.390,1.970,1.780,2.470,1.540,1.460,
+1.260,2.370,1.440,0.155,1.200,1.270,1.480,1.150,0.887,1.630,
+2.440,2.110,1.330,1.640,1.830,1.680,1.700,2.820,2.080,0.301,
+3.870,2.310,1.200,1.870,1.510,2.250,1.580,2.050,1.550,1.730,
+0.193,0.250,0.199,0.317,1.580,0.223,1.600,1.810,0.985,1.950,
+1.390,1.770,1.470,1.130,0.916,1.430,1.840,1.390,1.000,1.480,
+1.570,0.193,1.390,2.620,1.570,1.320,1.690,3.130,0.239,0.218,
+0.195,0.204,0.215,0.265,0.164,0.212,0.147,0.036,0.242,0.183,
+0.118,0.185,0.139,0.199,0.230,0.297,0.171,0.158,0.286,0.335,
+0.301,0.273,0.264,0.087,0.846,0.427,0.126,0.281,0.221,0.231,
+0.139,0.265,0.156,0.141,0.056,0.076,0.059,0.036,0.240,0.074,
+0.394,0.353,0.124,0.315,0.226,0.215,0.200,0.145,0.095,0.171,
+0.951,0.333,0.193,0.254,0.205,0.041,0.236,0.529,0.177,0.171,
+0.192,0.323,2.440,1.590,1.320,1.160,2.020,2.170,1.870,1.520,
+1.780,0.417,3.150,1.800,1.180,1.690,1.720,1.690,0.193,0.255,
+0.198,0.134,0.193,0.306,0.232,0.163,0.258,0.104,1.390,0.363,
+0.151,0.352,0.366,0.223,2.570,3.150,2.690,1.630,0.384,0.756,
+0.392,0.248,2.490,0.513,1.680,1.840,1.110,2.470,2.290,1.800,
+1.540,1.160,1.120,1.040,2.100,2.860,1.980,1.600,1.960,0.320,
+2.850,2.370,1.260,1.720,2.120,2.200,1.770,1.150,0.887,1.250,
+1.150,1.050,0.793,0.918,1.250,0.163,1.270,1.270,1.010,1.140,
+0.895,1.400,2.040,1.960,1.370,1.410,1.650,1.980,1.460,1.370,
+2.030,0.288,3.870,2.570,1.450,2.380,1.850,1.880,1.720,2.090,
+1.500,1.450,0.154,0.280,0.164,0.168,2.050,0.270,2.140,2.140,
+1.480,3.290,2.260,2.140,1.770,1.090,0.975,1.240,1.450,1.460,
+1.130,1.170,2.050,0.203,2.370,2.480,1.930,2.050,2.390,3.070,
+3.340,1.550,1.150,2.210,1.340,0.906,0.720,1.130,1.200,0.119,
+0.756,1.070,1.410,1.060,0.890,2.000,1.640,1.070,0.700,0.889,
+1.000,0.707,0.707,0.876,1.020,0.104,0.949,0.984,0.722,0.767,
+0.636,1.070,1.260,1.160,0.820,1.260,0.113,0.112,0.078,0.161,
+0.858,0.090,0.675,1.010,0.733,0.959,0.776,1.210,1.550,0.881,
+0.899,1.500,1.120,0.745,0.657,1.040,1.070,0.091,0.721,1.460,
+1.360,1.000,1.150,2.930,2.730,1.720,1.310,1.830,1.630,1.390,
+1.160,1.230,1.320,0.153,1.120,1.390,1.120,1.170,1.090,1.860,
+1.900,1.540,1.110,1.120,1.710,1.270,1.560,1.150,1.590,0.202,
+1.930,1.730,0.877,1.210,0.974,1.340,1.190,1.390,0.954,1.230,
+0.124,0.142,0.108,0.132,1.250,0.158,1.240,1.610,0.977,1.540,
+1.190,1.640,1.330,0.916,0.800,1.280,1.920,1.130,0.908,1.230,
+1.290,0.126,1.090,2.530,1.230,1.100,1.210,2.280,2.430,1.470,
+1.060,1.360,1.950,1.590,1.390,1.550,1.930,0.279,1.420,1.600,
+1.410,1.540,1.420,2.160,0.170,0.174,0.113,0.135,0.173,0.187,
+0.145,0.137,0.170,0.051,0.270,0.185,0.146,0.234,0.179,0.200,
+1.800,2.120,1.640,1.630,0.172,0.229,0.212,0.199,2.290,0.315,
+1.880,2.210,1.320,2.190,2.190,2.420,1.560,1.200,1.030,1.340,
+1.830,1.720,1.690,1.850,2.100,0.223,2.160,2.710,1.510,1.650,
+2.080,2.760,3.120,1.520,1.040,1.800,1.270,0.982,0.857,1.060,
+1.430,0.164,0.963,1.410,1.750,1.440,1.240,2.700,2.050,1.480,
+1.040,1.390,1.510,1.410,1.020,1.210,1.770,0.156,1.550,1.870,
+1.560,1.670,1.580,2.140,1.890,1.830,1.380,1.860,0.137,0.159,
+0.106,0.169,2.130,0.198,1.900,2.470,1.840,2.450,2.300,3.000,
+3.040,1.410,1.260,2.560,1.830,1.560,1.210,1.920,2.570,0.175,
+2.250,3.400,2.750,2.040,2.390,4.060,6.100,3.360,3.050,8.350,
+2.960,1.840,1.730,2.550,3.410,0.310,1.550,2.720,5.100,3.370,
+2.220,4.340,3.300,1.990,1.320,1.940,1.870,1.020,1.050,1.090,
+1.840,0.128,1.040,1.350,1.560,1.300,1.110,1.780,2.520,1.540,
+1.430,2.390,0.194,0.135,0.130,0.256,1.420,0.111,0.767,1.100,
+1.570,1.440,1.200,1.700,3.970,1.600,1.750,3.780,2.730,1.540,
+1.800,2.490,1.930,0.134,1.100,1.770,2.930,1.750,1.850,3.650,
+3.740,1.740,1.230,2.170,1.720,1.140,0.823,1.150,2.190,0.156,
+0.762,1.100,1.550,1.300,0.821,1.540,2.020,1.270,0.756,1.040,
+1.090,0.629,0.589,0.645,1.350,0.105,0.689,1.030,0.879,0.815,
+0.619,0.950,1.560,1.170,0.966,1.310,0.114,0.090,0.077,0.114,
+1.160,0.096,0.693,0.943,0.925,0.950,0.731,1.150,1.640,0.953,
+0.826,1.370,1.530,0.983,0.924,1.130,1.180,0.084,0.732,1.100,
+1.230,0.969,0.961,1.950,2.530,1.150,0.981,1.670,1.540,0.959,
+1.000,1.210,1.940,0.185,0.715,1.190,1.560,1.210,1.060,2.180,
+0.197,0.162,0.094,0.176,0.123,0.128,0.088,0.111,0.170,0.022,
+0.088,0.132,0.189,0.205,0.128,0.229,1.170,0.880,0.765,0.980,
+0.083,0.069,0.060,0.105,0.910,0.078,0.536,0.714,0.766,0.840,
+0.718,0.964,0.985,0.848,0.697,0.852,1.110,0.931,0.816,0.980,
+1.270,0.119,0.826,1.140,1.170,1.120,1.090,1.850,3.760,1.470,
+1.310,2.810,1.490,0.889,0.831,1.090,4.120,0.220,0.857,1.330,
+2.620,1.480,1.350,2.960,2.260,1.420,1.000,1.670,1.280,0.931,
+0.746,0.884,1.470,0.099,0.777,1.140,1.440,1.210,0.983,1.680,
+1.440,1.080,0.903,1.450,0.104,0.072,0.068,0.119,1.110,0.075,
+0.860,1.010,1.300,1.090,1.000,1.400,2.320,1.220,1.170,2.300,
+1.190,0.843,0.841,1.290,1.910,0.111,1.140,1.890,3.240,1.970,
+1.940,4.710,4.810,2.400,1.730,3.440,2.080,1.360,1.210,1.470,
+1.580,0.152,0.815,1.500,2.140,1.800,1.090,2.180,2.330,1.470,
+0.941,1.380,1.260,0.922,0.957,0.918,1.050,0.093,0.708,0.962,
+0.926,1.010,0.732,1.180,1.280,1.290,0.871,1.200,0.102,0.124,
+0.080,0.120,0.795,0.083,0.596,0.765,0.909,1.100,0.710,1.030,
+1.540,0.889,0.779,1.490,1.240,1.010,0.918,1.100,0.914,0.076,
+0.614,1.010,1.300,0.954,0.913,1.940,2.470,1.560,0.804,1.540,
+1.310,0.954,0.629,0.870,0.953,0.099,0.504,0.891,0.877,1.030,
+0.507,1.170,1.420,1.210,0.619,0.818,0.833,0.466,0.505,0.574,
+0.841,0.077,0.545,0.743,0.573,0.722,0.443,0.701,1.060,1.050,
+0.739,1.030,0.076,0.095,0.068,0.085,0.803,0.108,0.600,0.719,
+0.684,1.000,0.593,0.976,1.140,0.720,0.589,1.100,0.900,0.807,
+0.611,0.746,0.863,0.066,0.540,0.835,0.769,0.698,0.592,1.220,
+1.800,0.928,0.681,1.170,1.090,0.776,0.745,0.883,1.020,0.106,
+0.535,0.801,0.910,0.852,0.695,1.290,0.100,0.096,0.055,0.094,
+0.077,0.090,0.065,0.077,0.072,0.018,0.065,0.084,0.076,0.124,
+0.069,0.108,0.906,1.090,0.838,0.892,0.075,0.195,0.056,0.088,
+0.705,0.099,0.453,0.638,0.616,1.220,0.619,0.802,0.966,0.761,
+0.629,0.979,0.935,1.200,0.679,1.240,0.853,0.074,0.613,1.030,
+0.745,0.769,0.790,1.340,1.570,0.905,0.652,1.200,0.801,0.507,
+0.463,0.652,0.887,0.065,0.442,0.668,0.974,0.660,0.646,1.330,
+1.150,0.837,0.610,0.928,0.684,0.616,0.549,0.643,0.606,0.055,
+0.498,0.702,0.647,0.777,0.614,0.998,0.836,0.797,0.702,0.936,
+0.052,0.058,0.041,0.068,0.655,0.053,0.464,0.662,0.714,0.735,
+0.662,0.960,1.170,0.746,0.647,1.160,0.768,0.615,0.489,0.816,
+1.030,0.071,0.644,1.140,1.440,1.040,1.110,2.160,3.760,2.050,
+1.480,2.560,1.350,1.090,0.968,1.150,1.360,0.141,1.020,1.160,
+1.590,1.450,0.818,1.670,2.400,1.610,1.410,1.760,1.400,1.080,
+3.470,2.400,1.400,0.147,1.530,1.330,1.330,1.450,1.080,1.570,
+1.520,1.490,1.360,1.540,0.144,0.152,0.155,0.229,0.897,0.094,
+0.666,0.780,0.998,1.190,1.040,1.190,1.850,1.050,1.110,2.020,
+1.430,1.090,1.090,1.420,1.300,0.111,0.766,1.270,1.670,1.280,
+1.260,3.060,0.240,0.172,0.113,0.179,0.145,0.136,0.088,0.103,
+0.127,0.021,0.082,0.105,0.129,0.158,0.084,0.162,0.195,0.163,
+0.089,0.119,0.143,0.118,0.155,0.120,0.130,0.026,0.117,0.122,
+0.115,0.135,0.082,0.127,0.132,0.174,0.097,0.141,0.017,0.027,
+0.022,0.018,0.109,0.020,0.169,0.149,0.112,0.146,0.105,0.148,
+0.251,0.149,0.132,0.252,0.274,0.226,0.211,0.218,0.149,0.019,
+0.106,0.204,0.195,0.235,0.143,0.311,1.670,0.935,0.736,1.020,
+1.060,0.800,0.739,0.799,1.380,0.226,1.110,1.080,1.170,1.170,
+1.020,1.620,0.126,0.112,0.072,0.098,0.082,0.092,0.110,0.086,
+0.127,0.028,0.105,0.096,0.140,0.167,0.102,0.133,1.090,0.995,
+0.710,0.827,0.103,0.098,0.085,0.088,0.811,0.102,0.507,0.631,
+0.674,0.877,0.672,0.877,0.969,0.683,0.738,1.020,1.250,1.140,
+0.789,0.992,1.100,0.113,0.890,1.120,0.941,0.914,0.968,1.480,
+1.790,0.877,0.663,1.370,1.190,0.628,0.460,0.650,1.250,0.124,
+0.648,1.400,1.380,1.100,0.675,1.650,1.820,1.200,0.895,1.350,
+1.090,1.200,0.767,0.796,1.400,0.119,0.863,1.220,1.490,1.320,
+0.827,1.400,1.380,1.510,0.820,1.090,0.109,0.196,0.064,0.097,
+1.010,0.106,0.649,0.873,1.080,1.220,0.884,1.290,1.570,0.954,
+0.911,1.310,1.140,1.090,0.683,0.960,1.450,0.114,1.040,1.550,
+1.920,1.540,1.430,2.680,5.230,2.370,2.030,3.370,1.580,0.958,
+1.020,1.030,1.620,0.137,0.848,1.290,2.530,1.600,1.290,2.850,
+1.900,0.992,0.921,1.300,1.030,0.587,1.250,0.994,1.220,0.088,
+0.894,1.180,1.290,0.884,1.190,1.640,1.800,1.200,1.110,1.810,
+0.144,0.099,0.100,0.186,1.110,0.089,0.599,0.937,1.520,1.150,
+0.863,1.530,2.770,1.310,1.610,3.910,1.770,0.965,1.420,1.790,
+1.700,0.117,0.956,1.400,2.650,1.740,1.710,3.990,2.930,1.640,
+1.220,1.860,1.560,0.978,0.872,0.989,1.300,0.116,0.721,1.130,
+1.340,1.250,0.864,1.720,1.870,1.150,0.734,0.968,1.190,0.751,
+0.705,0.740,1.090,0.094,0.804,1.030,1.010,0.891,0.635,1.090,
+1.480,1.490,0.843,1.480,0.110,0.099,0.080,0.124,1.150,0.098,
+0.867,1.180,1.340,1.340,0.880,1.500,2.010,1.080,1.250,1.980,
+1.790,1.190,1.930,1.710,1.340,0.130,0.866,1.430,1.780,2.480,
+1.320,2.450,1.920,1.050,1.010,1.300,1.270,0.821,0.823,1.000,
+1.680,0.264,0.947,1.200,1.340,1.310,1.200,1.970,0.116,0.093,
+0.071,0.111,0.078,0.085,0.072,0.078,0.171,0.020,0.092,0.108,
+0.138,0.143,0.095,0.151,1.110,0.915,0.721,1.060,0.087,0.073,
+0.054,0.099,0.960,0.089,0.666,0.929,0.971,1.010,0.768,1.310,
+1.150,0.784,0.790,1.210,1.330,1.110,0.882,1.260,1.490,0.132,
+1.010,1.580,1.380,1.190,1.310,2.240,3.270,1.450,1.340,2.550,
+1.460,0.866,0.789,1.060,1.790,0.165,0.912,1.620,2.490,1.640,
+1.530,4.230,1.690,1.030,0.865,1.440,0.935,0.774,0.674,0.810,
+1.280,0.080,0.786,1.280,1.470,1.300,0.934,1.830,1.930,1.730,
+1.520,1.930,0.133,0.126,0.084,0.144,1.890,0.122,0.983,1.530,
+2.140,1.850,1.380,2.320,3.100,1.500,1.720,3.170,2.070,1.590,
+1.390,2.150,2.810,0.150,1.910,3.200,4.800,3.040,3.300,6.150,
+6.240,3.620,3.460,5.670,3.630,2.180,2.130,2.660,3.190,0.340,
+1.950,3.110,4.300,3.410,2.320,4.060,3.920,2.600,1.800,2.290,
+2.740,1.620,1.600,1.590,2.430,0.222,1.930,2.180,1.910,1.940,
+1.790,2.450,2.350,1.740,1.700,2.160,0.231,0.172,0.182,0.287,
+1.520,0.152,1.100,1.240,1.540,1.870,1.770,1.960,3.360,1.640,
+1.680,3.150,2.890,1.910,1.770,2.420,2.410,0.193,1.540,2.010,
+2.910,2.210,2.460,4.190,4.510,2.960,1.840,2.680,2.640,1.940,
+1.510,1.710,2.420,0.284,1.610,2.070,2.070,2.270,1.370,2.520,
+3.010,2.180,1.510,1.760,2.000,1.400,1.390,1.410,3.480,0.356,
+2.470,3.380,1.470,1.830,1.550,2.110,1.960,1.920,1.890,1.850,
+0.220,0.196,0.200,0.213,1.890,0.286,1.630,1.710,1.420,2.060,
+1.650,1.710,1.940,1.320,1.050,1.580,1.990,1.520,1.260,1.580,
+1.890,0.149,1.320,1.960,1.640,1.480,1.680,2.770,2.710,1.430,
+1.190,1.760,2.040,1.320,1.570,1.560,1.970,0.238,1.240,1.460,
+1.660,1.590,1.450,2.560,0.194,0.171,0.121,0.163,0.196,0.189,
+0.168,0.153,0.182,0.039,0.160,0.199,0.177,0.272,0.196,0.262,
+1.340,1.260,1.210,1.230,0.152,0.140,0.137,0.165,1.260,0.162,
+1.050,1.180,1.010,1.340,1.410,1.520,1.190,0.916,0.827,1.110,
+1.740,1.290,1.210,1.410,1.780,0.169,1.300,1.630,1.550,1.500,
+1.930,2.620,3.070,1.420,1.240,2.080,1.570,0.925,0.807,0.989,
+2.070,0.229,0.971,1.320,1.940,1.440,1.130,2.460,2.650,1.770,
+1.300,1.770,1.830,1.450,1.130,1.240,1.560,0.145,1.160,1.650,
+1.400,1.620,1.360,1.980,1.300,1.110,1.040,1.430,0.111,0.098,
+0.089,0.136,1.060,0.112,0.823,1.120,1.140,1.340,1.190,1.790,
+1.980,1.110,0.990,1.970,1.440,1.100,0.931,1.260,1.960,0.147,
+1.270,2.200,2.620,2.180,2.590,4.930,4.510,2.780,2.290,3.320,
+2.830,2.130,1.800,2.080,1.950,0.208,1.250,1.660,2.130,2.030,
+1.380,2.480,3.010,2.380,1.530,1.850,2.130,1.630,1.560,1.510,
+1.760,0.228,1.530,1.620,1.320,2.170,1.260,1.670,1.520,1.520,
+1.230,1.490,0.145,0.188,0.151,0.189,1.070,0.140,1.010,0.928,
+0.930,1.280,1.230,1.480,2.010,0.963,0.908,2.010,1.610,1.410,
+1.020,1.380,1.320,0.119,1.070,1.240,1.670,1.180,1.390,2.630,
+3.430,2.760,1.390,2.060,2.560,2.330,1.380,1.440,1.630,0.205,
+1.170,1.690,1.310,1.580,0.942,2.290,2.710,2.700,1.650,1.790,
+1.690,0.871,1.310,1.240,1.740,0.252,1.910,1.990,0.981,1.570,
+1.140,1.400,1.800,2.060,1.350,1.610,0.211,0.299,0.218,0.222,
+1.590,0.269,1.290,1.530,1.170,2.020,1.570,1.730,2.100,1.160,
+0.920,1.640,1.660,1.880,1.100,1.340,1.420,0.141,1.230,1.540,
+1.200,1.170,1.250,2.080,2.400,1.400,0.959,1.300,1.940,1.650,
+1.470,1.310,1.740,0.242,1.010,1.150,1.490,1.530,1.400,1.940,
+0.150,0.196,0.107,0.146,0.149,0.246,0.177,0.136,0.160,0.065,
+0.176,0.175,0.120,0.327,0.168,0.170,1.520,1.770,1.340,1.400,
+0.180,0.317,0.199,0.197,1.420,0.227,1.140,1.290,0.987,1.770,
+1.750,1.660,1.300,0.952,0.813,1.170,1.690,1.890,1.510,1.730,
+1.580,0.173,1.410,1.770,1.480,1.360,2.120,2.450,1.890,1.070,
+0.826,1.280,1.170,0.774,0.653,0.782,1.170,0.106,0.825,0.827,
+1.270,0.923,0.897,1.510,1.730,1.420,0.972,1.290,1.150,1.330,
+1.020,1.110,1.030,0.148,0.945,1.110,0.916,1.440,1.200,1.350,
+0.968,1.090,0.907,1.120,0.084,0.105,0.074,0.112,0.939,0.106,
+0.813,0.982,0.957,1.190,1.400,1.460,1.390,0.827,0.724,1.320,
+1.070,0.961,0.725,1.070,1.190,0.086,1.030,1.510,1.620,1.430,
+1.680,2.550,3.150,2.290,1.810,2.480,1.650,1.470,1.480,1.390,
+1.690,0.253,3.710,1.750,1.750,1.730,1.410,1.780,2.830,2.430,
+1.580,1.810,1.980,1.880,1.890,1.630,2.320,0.370,4.600,2.500,
+1.480,2.650,1.810,1.910,1.580,1.960,1.660,1.740,0.200,0.265,
+0.284,0.363,1.530,0.246,2.990,2.300,1.180,2.100,4.550,2.000,
+1.660,1.100,0.987,1.900,1.680,1.490,1.360,1.880,1.560,0.171,
+1.640,1.900,1.770,1.530,2.270,3.440,0.184,0.203,0.108,0.151,
+0.205,0.247,0.154,0.154,0.142,0.037,0.197,0.155,0.133,0.192,
+0.116,0.176,0.217,0.253,0.137,0.144,0.257,0.311,0.228,0.182,
+0.227,0.081,0.333,0.260,0.135,0.261,0.153,0.181,0.122,0.217,
+0.151,0.174,0.029,0.073,0.073,0.045,0.278,0.094,1.570,0.938,
+0.139,0.274,0.371,0.246,0.185,0.132,0.096,0.194,0.250,0.303,
+0.222,0.277,0.176,0.031,0.256,0.311,0.174,0.189,0.221,0.309,
+2.290,1.530,1.080,1.230,1.590,1.680,1.430,1.290,1.800,0.316,
+1.800,1.650,1.290,1.600,1.470,1.930,0.170,0.222,0.124,0.125,
+0.154,0.263,0.201,0.147,0.193,0.061,0.304,0.238,0.151,0.297,
+0.193,0.204,1.520,2.020,1.360,1.270,0.212,0.332,0.259,0.212,
+1.710,0.334,1.490,1.540,1.190,2.070,1.790,1.660,1.220,1.080,
+0.977,1.140,1.860,2.330,1.710,1.740,1.920,0.287,2.100,2.270,
+1.440,1.700,2.060,2.680,1.930,1.170,0.908,1.480,1.150,0.912,
+0.715,0.852,1.340,0.176,0.936,1.300,1.810,1.410,0.894,1.820,
+2.460,1.980,1.310,1.690,1.800,2.200,1.420,1.510,1.950,0.268,
+1.920,2.510,1.740,2.400,1.540,2.070,1.720,1.820,1.260,1.370,
+0.166,0.225,0.142,0.157,1.680,0.214,1.550,1.760,1.690,2.270,
+1.740,1.920,1.670,1.160,0.968,1.560,2.020,1.420,1.030,1.310,
+1.930,0.184,1.900,2.500,2.450,2.450,2.540,3.580,3.780,1.950,
+1.770,2.860,1.970,1.110,1.210,1.730,1.930,0.164,1.370,1.710,
+2.230,1.600,1.490,2.720,2.000,1.250,1.010,1.360,1.330,0.889,
+1.040,1.090,1.390,0.123,1.630,1.570,1.250,1.130,1.290,1.710,
+1.590,1.270,1.290,1.800,0.132,0.117,0.111,0.220,1.200,0.120,
+1.120,1.370,1.330,1.420,1.710,1.930,2.050,1.080,1.340,2.670,
+1.730,1.010,1.150,2.010,1.670,0.129,1.170,1.900,2.590,1.670,
+1.920,4.530,3.280,2.210,1.600,2.410,2.630,1.860,1.640,1.870,
+1.840,0.219,1.340,1.840,1.930,1.960,1.280,2.340,2.560,1.810,
+1.270,1.580,2.260,1.670,1.520,1.600,1.960,0.226,1.900,2.470,
+1.730,1.850,1.560,2.150,1.600,1.800,1.330,1.710,0.161,0.203,
+0.177,0.232,1.930,0.252,3.140,3.200,2.060,2.470,1.790,2.300,
+1.870,1.250,1.270,2.070,2.190,1.870,2.120,2.600,1.850,0.197,
+1.890,2.550,2.170,2.210,2.090,3.330,2.170,1.260,1.160,1.460,
+1.720,1.290,1.310,1.510,1.870,0.262,1.540,1.800,1.520,1.500,
+1.600,2.510,0.135,0.130,0.092,0.121,0.116,0.161,0.132,0.127,
+0.130,0.031,0.187,0.176,0.133,0.187,0.150,0.190,1.330,1.380,
+1.110,1.340,0.124,0.139,0.123,0.172,1.500,0.207,1.470,1.680,
+1.220,1.790,1.640,2.030,1.250,0.984,1.050,1.330,1.430,1.400,
+1.370,1.700,2.320,0.207,2.020,2.600,1.820,1.720,2.610,3.240,
+2.640,1.490,1.330,1.930,1.470,1.000,0.855,1.100,1.640,0.197,
+1.030,1.540,1.700,1.280,1.240,2.730,1.940,1.400,1.080,1.530,
+1.370,1.200,1.060,1.350,1.330,0.120,1.130,1.610,1.460,1.590,
+1.200,2.000,1.680,1.400,1.290,1.750,0.135,0.124,0.103,0.165,
+1.740,0.146,1.320,1.790,2.200,2.110,1.950,2.560,2.440,1.310,
+1.480,2.590,1.730,1.460,1.420,1.850,2.460,0.180,2.310,3.340,
+3.700,2.870,4.000,5.090,4.000,2.620,2.140,3.960,2.470,1.740,
+1.510,2.100,2.180,0.242,1.250,2.050,2.690,2.480,1.620,2.610,
+2.480,1.880,1.080,1.730,1.710,1.200,1.100,1.280,1.670,0.273,
+1.270,1.260,1.220,1.590,1.190,1.600,2.410,1.580,1.280,1.940,
+0.167,0.124,0.137,0.241,1.180,0.116,0.874,1.270,1.020,1.260,
+1.360,1.470,3.150,1.250,1.020,2.050,1.570,1.030,1.060,1.480,
+1.230,0.101,0.879,1.320,1.550,0.925,1.380,2.500,4.050,2.620,
+1.530,2.530,2.820,2.010,1.610,1.670,1.650,0.203,1.070,1.510,
+1.590,1.640,1.140,1.840,2.990,3.470,1.280,1.580,2.040,1.300,
+1.380,1.310,1.840,0.239,1.360,2.030,1.180,1.530,1.060,1.420,
+2.390,2.100,1.560,1.940,0.230,0.218,0.198,0.259,2.160,0.249,
+1.560,2.420,1.370,1.880,1.730,1.850,2.350,1.310,0.878,1.600,
+2.070,1.650,1.380,1.780,1.590,0.156,1.170,2.170,1.340,1.210,
+1.490,2.740,2.320,1.270,0.967,1.610,2.440,1.750,1.670,2.170,
+2.830,0.340,1.180,1.610,1.780,1.750,1.250,2.150,0.211,0.214,
+0.137,0.188,0.260,0.242,0.239,0.243,0.281,0.052,0.213,0.251,
+0.235,0.363,0.211,0.305,1.470,1.460,1.390,1.530,0.197,0.200,
+0.297,0.281,1.730,0.237,1.120,1.450,1.020,1.650,1.440,1.500,
+1.340,0.978,0.916,1.600,1.980,1.670,2.160,2.040,2.720,0.252,
+1.450,2.010,1.360,1.410,1.660,2.370,2.340,1.220,0.895,1.690,
+1.480,0.943,0.782,1.020,1.620,0.160,0.719,1.080,1.750,1.340,
+1.020,2.090,1.940,1.380,0.999,1.340,1.640,1.130,1.100,1.220,
+1.450,0.130,1.010,1.380,1.350,1.330,1.130,1.810,1.640,1.420,
+1.380,1.700,0.145,0.127,0.138,0.187,1.630,0.146,1.110,1.720,
+1.310,1.700,1.660,2.030,2.230,1.250,1.190,2.020,1.460,1.050,
+1.120,1.460,2.950,0.201,1.650,2.780,3.170,2.200,2.560,4.700,
+0.258,0.231,0.139,0.223,0.203,0.194,0.167,0.196,0.160,0.030,
+0.157,0.193,0.177,0.321,0.149,0.213,0.235,0.327,0.145,0.174,
+0.204,0.215,0.213,0.198,0.164,0.033,0.247,0.176,0.124,0.187,
+0.168,0.186,0.136,0.150,0.108,0.138,0.019,0.024,0.024,0.025,
+0.107,0.018,0.111,0.152,0.086,0.136,0.132,0.152,0.180,0.101,
+0.079,0.154,0.178,0.150,0.119,0.168,0.116,0.017,0.099,0.160,
+0.132,0.124,0.155,0.273,0.267,0.326,0.140,0.167,0.259,0.302,
+0.242,0.166,0.150,0.039,0.111,0.143,0.107,0.166,0.114,0.155,
+0.413,1.230,0.202,0.198,0.318,0.352,0.276,0.218,0.235,0.078,
+0.235,0.266,0.121,0.247,0.155,0.191,0.186,0.272,0.168,0.180,
+0.042,0.079,0.063,0.043,0.294,0.094,0.251,0.359,0.157,0.252,
+0.229,0.211,0.185,0.153,0.089,0.142,0.227,0.249,0.189,0.201,
+0.171,0.031,0.142,0.295,0.123,0.123,0.141,0.244,0.158,0.110,
+0.080,0.108,0.182,0.198,0.186,0.161,0.183,0.035,0.109,0.125,
+0.103,0.139,0.109,0.164,0.020,0.045,0.023,0.020,0.032,0.062,
+0.053,0.041,0.035,0.029,0.052,0.056,0.015,0.037,0.033,0.031,
+0.147,0.198,0.172,0.168,0.030,0.057,0.074,0.041,0.241,0.067,
+0.200,0.225,0.108,0.244,0.217,0.187,0.115,0.086,0.086,0.136,
+0.205,0.246,0.246,0.230,0.233,0.046,0.200,0.261,0.119,0.196,
+0.183,0.245,0.176,0.156,0.098,0.146,0.137,0.125,0.092,0.107,
+0.131,0.020,0.079,0.099,0.136,0.149,0.112,0.206,0.208,0.217,
+0.166,0.176,0.208,0.239,0.194,0.185,0.170,0.030,0.144,0.182,
+0.160,0.245,0.187,0.247,0.149,0.134,0.138,0.243,0.019,0.027,
+0.025,0.027,0.149,0.023,0.132,0.172,0.121,0.171,0.229,0.209,
+0.176,0.114,0.099,0.169,0.154,0.129,0.112,0.128,0.210,0.023,
+0.154,0.228,0.204,0.193,0.223,0.376,3.050,2.130,1.460,2.270,
+1.650,1.390,1.150,1.460,1.400,0.170,1.590,1.360,1.110,1.000,
+0.999,1.450,2.350,2.310,1.680,1.450,2.010,1.900,2.040,1.520,
+2.140,0.406,7.160,2.520,1.050,1.760,1.810,1.650,1.460,1.790,
+1.300,1.510,0.221,0.288,0.236,0.341,1.480,0.211,1.680,1.780,
+0.849,1.660,1.460,1.480,1.450,1.000,0.744,1.290,1.550,1.320,
+1.150,1.600,1.640,0.218,1.920,4.020,1.360,1.280,1.660,2.810,
+0.213,0.204,0.120,0.157,0.198,0.240,0.164,0.162,0.118,0.033,
+0.128,0.176,0.089,0.135,0.088,0.145,0.200,0.348,0.195,0.132,
+0.241,0.266,0.230,0.167,0.160,0.068,0.365,0.216,0.080,0.149,
+0.115,0.121,0.125,0.230,0.125,0.150,0.032,0.078,0.064,0.043,
+0.175,0.065,0.239,0.410,0.085,0.197,0.162,0.165,0.188,0.132,
+0.091,0.207,0.244,0.302,0.194,0.294,0.276,0.062,0.272,1.570,
+0.138,0.168,0.172,0.378,2.180,1.470,1.170,1.180,1.850,2.020,
+1.980,1.400,1.790,0.316,2.050,1.710,1.060,1.420,1.400,1.830,
+0.175,0.274,0.337,0.140,0.197,0.361,0.342,0.148,0.193,0.069,
+0.387,0.228,0.126,0.250,0.214,0.199,1.570,1.890,1.680,1.520,
+0.227,0.238,0.334,0.218,1.500,0.254,0.627,1.030,0.770,1.380,
+1.430,1.370,1.070,0.827,0.787,0.938,1.550,1.690,1.620,1.430,
+1.570,0.215,2.030,2.040,1.050,1.300,1.700,1.990,1.730,1.130,
+0.960,1.180,1.390,1.400,0.834,0.841,1.200,0.145,0.991,1.190,
+1.050,0.967,0.803,1.530,1.980,2.300,3.040,1.460,2.040,3.290,
+2.450,1.410,1.630,0.246,2.060,1.990,1.300,1.740,1.340,1.610,
+1.550,1.790,1.400,1.510,0.202,0.260,0.198,0.198,1.750,0.228,
+1.940,1.990,1.090,1.900,1.810,1.850,1.470,1.010,0.874,1.260,
+1.470,1.440,1.060,1.190,1.760,0.174,2.130,2.020,1.690,1.730,
+2.020,2.670,3.210,1.650,1.150,2.120,1.600,1.060,0.917,1.240,
+1.300,0.141,0.856,1.060,1.500,1.230,0.967,1.770,1.750,1.160,
+0.795,1.060,1.240,0.916,0.862,0.971,1.040,0.105,1.640,1.110,
+0.848,0.839,0.865,1.170,1.510,1.200,0.853,1.290,0.144,0.118,
+0.104,0.197,1.260,0.120,0.948,1.330,1.040,1.230,1.040,1.460,
+1.540,0.919,0.808,1.450,1.440,0.889,0.916,1.380,1.330,0.140,
+0.941,1.600,1.550,1.170,1.280,2.580,3.330,2.230,1.330,2.140,
+2.320,1.830,1.540,1.610,1.630,0.194,1.290,1.650,1.490,1.750,
+1.090,1.980,2.340,2.190,1.170,1.420,2.420,1.870,1.620,1.550,
+1.520,0.183,1.660,2.060,1.010,1.300,1.010,1.510,1.760,2.160,
+1.280,1.720,0.183,0.231,0.166,0.242,2.260,0.277,1.850,2.870,
+1.480,2.250,1.810,2.340,1.970,1.340,1.090,1.880,2.560,1.950,
+1.840,2.440,2.690,0.512,1.860,4.700,1.740,2.370,1.740,2.880,
+2.530,1.380,1.140,1.520,2.060,1.700,1.670,1.630,1.780,0.238,
+1.440,1.640,1.450,1.460,1.340,2.200,0.162,0.150,0.108,0.131,
+0.154,0.222,0.193,0.156,0.135,0.035,0.196,0.232,0.126,0.203,
+0.148,0.197,1.780,1.960,1.500,1.710,0.170,0.182,0.173,0.206,
+1.930,0.261,1.510,2.080,1.310,2.050,1.900,2.180,1.460,1.140,
+1.010,1.290,1.970,1.830,1.680,1.910,1.960,0.233,2.080,2.970,
+1.600,1.760,2.280,2.780,2.790,1.490,1.290,1.790,1.620,1.110,
+0.946,1.080,1.600,0.198,1.080,1.440,1.330,1.070,1.110,2.250,
+1.840,1.390,1.130,1.360,1.500,1.530,1.280,1.380,1.290,0.121,
+1.330,1.780,1.190,1.260,1.400,1.940,2.150,1.960,1.520,2.130,
+0.177,0.176,0.128,0.219,2.320,0.216,2.140,2.840,1.940,2.390,
+2.350,2.810,2.490,1.350,1.190,2.240,1.950,1.700,1.410,1.980,
+2.570,0.211,2.390,3.400,2.690,2.220,2.770,4.350,7.750,3.430,
+2.840,6.150,2.560,1.570,1.370,2.680,2.490,0.267,1.170,1.900,
+3.500,2.860,1.680,3.310,2.680,1.650,1.020,1.690,1.510,0.857,
+0.837,1.100,1.440,0.112,1.020,1.100,1.500,1.340,0.991,1.570,
+2.210,1.570,1.360,2.520,0.209,0.140,0.128,0.311,1.380,0.111,
+0.748,1.460,1.340,1.390,1.160,1.760,3.260,1.570,1.360,3.060,
+2.090,1.310,1.130,1.970,1.680,0.136,1.140,1.800,2.390,1.600,
+1.830,4.120,3.740,1.930,1.340,2.590,1.850,1.180,0.914,1.250,
+1.120,0.118,0.574,1.040,1.290,1.200,0.755,1.650,2.240,1.480,
+0.738,1.280,1.320,0.716,0.644,0.799,1.120,0.092,0.610,1.010,
+1.010,0.925,0.719,1.420,1.720,1.350,1.220,1.930,0.122,0.113,
+0.087,0.169,1.330,0.189,0.632,1.090,0.969,1.230,0.901,1.320,
+1.680,1.060,0.748,1.410,1.330,1.010,0.711,1.120,1.050,0.078,
+0.621,1.090,1.050,0.938,0.958,2.060,2.900,1.560,1.030,2.220,
+2.190,1.310,1.130,1.830,2.000,0.215,0.701,1.250,2.210,1.800,
+1.090,2.690,0.297,0.199,0.118,0.262,0.246,0.175,0.145,0.220,
+0.212,0.022,0.097,0.178,0.326,0.317,0.171,0.373,1.470,1.220,
+1.030,1.560,0.140,0.104,0.100,0.176,1.280,0.126,0.593,1.040,
+1.150,1.270,1.050,1.540,1.670,1.330,1.040,2.090,1.950,1.300,
+1.120,1.930,1.520,0.146,0.915,1.700,1.640,1.410,1.340,2.740,
+3.410,1.860,1.010,2.360,1.260,0.750,0.686,1.040,1.640,0.156,
+0.695,1.150,2.450,1.660,1.120,2.810,2.000,1.170,0.802,1.340,
+1.090,0.752,0.641,0.835,1.240,0.077,0.669,1.020,1.550,1.270,
+0.944,1.770,1.610,1.170,1.120,1.370,0.111,0.080,0.073,0.114,
+1.290,0.089,0.701,1.160,1.320,1.400,1.220,1.880,2.810,1.470,
+1.270,2.520,1.790,1.060,0.877,1.430,2.470,0.150,1.420,2.330,
+4.010,2.680,2.900,6.660,4.420,2.490,1.720,3.440,2.360,1.600,
+1.340,1.830,2.040,0.227,2.310,2.030,2.180,1.850,1.460,2.570,
+2.480,1.810,1.170,1.680,1.770,1.320,1.590,1.760,1.580,0.166,
+2.650,1.680,1.210,1.300,1.260,1.810,1.520,1.190,0.886,1.570,
+0.130,0.129,0.089,0.193,1.140,0.122,0.834,1.320,1.010,1.310,
+0.987,1.740,1.940,0.971,0.817,1.870,1.450,1.110,0.812,1.440,
+1.340,0.143,0.892,1.410,1.620,1.270,1.280,2.960,3.570,2.420,
+1.270,2.170,2.260,1.720,1.150,1.470,1.400,0.148,0.731,1.260,
+1.360,1.470,0.835,1.750,2.490,3.190,0.982,1.360,1.920,1.360,
+1.060,1.230,1.500,0.181,1.020,1.360,1.030,1.370,0.892,1.560,
+1.750,1.640,1.130,1.640,0.181,0.166,0.114,0.158,1.660,0.220,
+1.010,1.630,1.280,1.720,1.280,1.890,1.550,1.030,0.695,1.360,
+1.570,1.400,0.978,1.320,1.220,0.107,0.756,1.300,1.260,1.080,
+1.060,2.180,2.270,1.130,0.867,1.340,1.810,1.240,1.120,1.380,
+1.570,0.197,0.738,1.050,1.360,1.240,0.927,2.090,0.119,0.125,
+0.074,0.113,0.128,0.156,0.113,0.136,0.120,0.025,0.099,0.123,
+0.136,0.176,0.108,0.172,1.550,1.380,1.040,1.380,0.153,0.145,
+0.128,0.166,2.180,0.194,0.983,1.360,1.230,1.600,1.280,1.880,
+1.450,0.931,0.802,1.470,1.790,1.500,1.270,1.850,1.820,0.156,
+1.210,1.830,1.540,1.360,1.710,3.370,2.410,1.360,0.933,1.890,
+1.280,0.867,0.750,1.100,1.510,0.131,0.844,1.120,1.650,1.300,
+1.100,2.280,1.850,1.270,0.908,1.370,1.190,1.110,0.926,1.080,
+1.230,0.110,0.933,1.260,1.300,1.500,1.170,1.870,1.560,1.270,
+1.080,1.540,0.104,0.097,0.077,0.112,1.480,0.124,0.930,1.360,
+1.200,1.440,1.370,2.040,2.000,1.190,0.983,1.910,1.640,1.050,
+0.823,0.858,1.860,0.121,1.190,1.980,2.340,1.890,2.060,4.340,
+4.410,2.600,1.960,3.300,2.090,1.550,1.100,1.890,2.130,0.181,
+1.180,1.540,2.000,1.430,1.060,2.070,3.120,2.480,1.380,2.020,
+2.190,1.700,1.500,1.710,2.220,0.239,2.500,2.020,1.730,2.230,
+1.460,2.430,2.120,2.320,1.480,2.260,0.201,0.234,0.167,0.334,
+1.670,0.183,1.090,1.750,1.250,2.040,1.490,2.280,2.370,1.560,
+1.140,2.370,2.020,1.580,1.180,1.990,2.050,0.201,1.500,2.570,
+2.390,1.900,2.370,4.520,0.291,0.229,0.127,0.221,0.269,0.203,
+0.120,0.189,0.144,0.027,0.106,0.140,0.152,0.172,0.097,0.198,
+0.278,0.266,0.105,0.155,0.516,0.249,0.155,0.182,0.186,0.034,
+0.229,0.202,0.148,0.203,0.124,0.205,0.162,0.212,0.098,0.168,
+0.025,0.035,0.025,0.025,0.157,0.035,0.132,0.206,0.118,0.213,
+0.138,0.212,0.246,0.174,0.107,0.251,0.336,0.269,0.158,0.263,
+0.192,0.027,0.141,0.388,0.224,0.215,0.195,0.406,3.170,2.020,
+1.330,1.760,2.370,2.130,1.810,2.060,1.970,0.309,1.600,1.870,
+1.590,1.770,1.530,2.510,0.196,0.216,0.128,0.142,0.200,0.262,
+0.212,0.192,0.188,0.041,0.332,0.214,0.194,0.280,0.193,0.258,
+2.410,3.030,1.800,1.970,0.237,0.360,0.253,0.243,2.290,0.304,
+1.260,1.810,1.410,2.380,1.900,2.340,2.070,1.730,1.210,1.710,
+2.370,2.600,1.950,2.270,2.530,0.265,2.480,3.010,2.060,2.130,
+2.720,3.730,3.150,1.840,1.240,2.170,1.960,1.550,1.110,1.430,
+1.660,0.182,1.260,1.700,1.810,1.620,1.200,2.730,2.850,2.380,
+1.720,1.970,2.180,2.410,1.620,1.670,2.170,0.220,2.210,2.550,
+2.030,2.700,1.870,2.850,2.710,2.910,1.720,2.340,0.191,0.239,
+0.153,0.209,2.460,0.244,1.980,2.160,2.160,3.380,2.520,3.220,
+2.680,1.690,1.450,2.140,2.040,1.840,1.360,1.820,2.650,0.213,
+2.680,2.080,2.990,2.980,3.270,4.960,9.070,3.070,2.160,4.890,
+2.700,1.510,1.250,2.330,2.190,0.189,1.080,1.650,2.980,2.080,
+1.500,3.490,3.000,1.660,1.040,1.730,2.120,1.140,0.919,1.260,
+1.450,0.116,1.150,1.380,1.390,1.210,0.997,1.830,2.500,2.170,
+1.280,2.660,0.184,0.163,0.098,0.283,1.560,0.142,0.919,1.680,
+1.510,1.760,1.260,2.300,3.800,2.020,1.630,3.800,2.210,1.480,
+1.330,2.490,2.290,0.175,1.430,2.530,3.520,2.560,2.740,6.880,
+4.860,2.540,1.580,2.860,3.470,1.950,1.330,1.990,1.750,0.185,
+1.040,1.560,1.910,1.690,1.190,2.500,4.020,2.330,1.230,1.740,
+7.260,2.440,1.450,1.810,1.830,0.155,1.310,1.830,1.520,1.480,
+1.050,1.970,2.320,2.240,1.270,2.340,0.232,0.187,0.094,0.193,
+1.910,0.184,1.270,2.080,1.710,2.200,1.630,2.680,2.870,1.670,
+1.350,2.640,2.490,1.750,1.420,2.290,2.190,0.191,1.410,2.680,
+2.450,2.180,2.160,4.210,4.210,2.110,1.650,2.430,2.920,1.960,
+1.770,2.520,2.490,0.271,1.470,2.220,2.480,2.060,1.800,3.700,
+0.219,0.170,0.105,0.167,0.323,0.189,0.140,0.176,0.160,0.022,
+0.140,0.186,0.208,0.210,0.158,0.281,2.760,2.490,1.780,2.570,
+0.191,0.170,0.146,0.251,2.650,0.248,1.830,2.440,2.080,2.500,
+2.480,3.470,3.170,2.040,1.700,2.730,3.000,2.410,2.130,3.380,
+3.260,0.243,2.760,3.940,3.060,2.550,3.570,5.510,8.650,3.050,
+2.090,4.370,2.740,1.730,1.380,2.370,2.770,0.228,1.490,2.620,
+4.150,2.850,2.290,6.500,3.570,2.340,1.510,2.320,2.430,1.970,
+1.360,1.920,2.630,0.164,1.650,2.600,2.800,2.440,1.900,3.740,
+3.880,2.990,2.130,3.710,0.207,0.191,0.120,0.280,3.370,0.242,
+2.480,3.820,3.490,3.800,3.500,5.630,8.610,2.610,2.260,5.520,
+3.420,2.400,1.870,3.940,4.130,0.234,3.140,5.560,4.570,3.670,
+4.600,11.1,14.7,7.690,4.900,13.8,9.000,4.800,3.840,6.060,
+9.840,0.797,3.660,6.210,20.0,10.3,5.860,12.1,8.730,4.360,
+3.290,4.790,4.780,2.530,2.420,2.710,5.210,0.305,2.460,3.310,
+5.290,3.600,2.540,5.340,9.110,5.040,3.890,6.970,0.599,0.388,
+0.286,0.718,4.590,0.354,2.140,3.310,5.060,4.450,3.040,5.210,
+19.4,6.230,6.400,14.2,8.690,5.470,4.310,8.390,6.260,0.455,
+3.210,5.090,10.7,5.520,5.270,10.3,11.7,4.460,3.420,5.150,
+4.630,2.530,1.880,2.370,4.920,0.386,1.570,2.540,4.640,3.710,
+1.730,3.650,5.470,2.670,1.750,2.470,2.780,1.620,1.390,1.460,
+2.720,0.184,1.260,1.750,2.280,1.800,1.190,2.010,4.820,3.100,
+2.030,3.120,0.280,0.175,0.130,0.247,2.780,0.213,1.260,1.950,
+2.450,2.770,1.460,2.530,4.340,2.540,2.000,3.800,3.250,2.070,
+1.630,2.500,3.050,0.200,1.490,2.540,3.560,2.710,2.030,4.550,
+9.200,3.350,2.800,4.470,4.490,2.140,2.000,2.680,5.140,0.476,
+1.640,3.040,5.570,3.800,2.550,6.140,0.528,0.288,0.210,0.337,
+0.334,0.220,0.173,0.252,0.320,0.032,0.154,0.278,0.544,0.503,
+0.283,0.603,3.110,2.120,1.760,2.420,0.209,0.134,0.121,0.233,
+2.290,0.170,1.030,1.520,1.950,1.810,1.560,2.270,3.300,2.070,
+1.800,3.390,3.010,2.120,1.720,2.850,2.890,0.216,1.690,2.720,
+3.040,2.460,2.420,4.680,26.1,5.660,4.340,9.710,5.020,2.490,
+2.480,3.280,7.210,0.612,2.410,4.460,11.7,6.110,4.090,12.1,
+9.170,4.240,3.010,4.720,4.970,2.580,2.270,3.140,4.570,0.270,
+2.310,4.080,6.120,4.520,3.240,7.090,4.450,3.020,2.450,4.140,
+0.275,0.198,0.157,0.307,2.890,0.173,1.640,2.420,3.180,2.860,
+2.570,3.800,7.740,3.890,3.910,8.370,3.690,2.550,2.220,3.980,
+4.810,0.275,2.860,4.540,7.600,4.850,4.540,9.220,9.470,4.130,
+3.180,5.730,3.540,1.950,1.660,2.240,3.160,0.270,1.180,2.200,
+4.070,3.010,1.740,3.680,3.880,2.100,1.430,2.140,2.010,1.130,
+1.030,1.240,1.820,0.160,0.953,1.570,1.590,1.430,0.911,1.910,
+2.910,2.180,1.480,2.510,0.198,0.161,0.104,0.237,1.290,0.123,
+0.852,1.350,1.400,1.500,0.972,1.910,3.230,1.590,1.570,2.870,
+2.300,1.540,1.220,2.010,1.870,0.136,0.927,1.610,2.520,1.520,
+1.370,3.330,5.490,2.800,1.710,2.580,2.350,1.510,1.090,1.300,
+2.160,0.171,0.727,1.270,1.940,1.670,0.798,1.800,2.380,1.410,
+0.887,1.350,1.220,0.732,0.751,0.820,1.340,0.101,0.638,1.030,
+0.938,0.957,0.654,1.030,2.170,1.840,1.040,1.540,0.122,0.121,
+0.070,0.108,1.350,0.166,0.632,0.975,1.050,1.450,0.701,1.300,
+1.890,1.200,0.818,1.520,1.380,1.040,0.637,1.060,1.580,0.104,
+0.615,1.190,1.300,1.100,0.722,1.870,4.350,1.950,1.480,2.330,
+2.380,1.390,1.250,1.560,2.340,0.232,0.898,1.650,2.340,1.870,
+1.250,2.930,0.197,0.169,0.094,0.154,0.121,0.130,0.091,0.106,
+0.124,0.018,0.088,0.138,0.165,0.217,0.108,0.228,2.070,2.120,
+2.010,1.730,0.139,0.155,0.088,0.126,1.270,0.116,0.787,1.100,
+1.030,1.280,1.050,1.480,1.550,0.929,0.902,1.550,1.430,1.130,
+0.875,1.310,1.290,0.097,0.962,1.400,1.310,1.070,1.290,2.320,
+4.870,1.790,1.500,2.830,2.020,1.160,0.937,1.300,1.900,0.154,
+0.745,1.420,2.590,1.610,1.100,2.900,3.060,2.080,1.230,1.890,
+1.790,1.480,0.975,1.300,1.300,0.113,0.832,1.640,1.490,1.480,
+0.969,2.190,1.810,1.450,1.160,1.790,0.104,0.088,0.061,0.113,
+0.947,0.071,0.618,1.030,1.060,1.080,0.944,1.560,2.420,1.220,
+1.200,2.310,1.510,1.040,0.831,1.480,1.630,0.101,1.010,1.890,
+2.350,1.750,1.680,3.540,7.020,3.190,2.430,4.630,2.570,1.520,
+1.210,2.080,3.260,0.270,1.160,1.970,4.180,2.630,1.370,3.160,
+3.910,2.080,1.340,2.330,1.790,1.040,1.090,1.250,2.410,0.186,
+1.170,1.710,2.070,1.860,1.020,1.890,2.750,2.180,1.530,2.660,
+0.230,0.203,0.137,0.316,1.620,0.152,0.735,1.270,1.560,1.840,
+0.985,2.050,3.770,1.730,1.700,3.710,2.340,1.690,1.320,2.250,
+2.360,0.198,1.110,2.150,3.080,2.100,2.020,5.650,0.472,0.279,
+0.176,0.306,0.287,0.210,0.116,0.176,0.241,0.031,0.098,0.165,
+0.276,0.271,0.120,0.246,0.258,0.170,0.103,0.149,0.168,0.142,
+0.098,0.114,0.175,0.021,0.120,0.155,0.161,0.172,0.089,0.155,
+0.198,0.185,0.110,0.193,0.019,0.020,0.015,0.021,0.177,0.030,
+0.094,0.125,0.144,0.200,0.096,0.186,0.366,0.206,0.174,0.391,
+0.318,0.265,0.177,0.318,0.238,0.023,0.151,0.253,0.300,0.242,
+0.208,0.521,3.070,1.630,1.080,1.660,1.740,1.140,1.080,1.300,
+2.110,0.221,0.971,1.510,1.750,1.410,1.100,1.960,0.198,0.156,
+0.074,0.131,0.097,0.097,0.079,0.086,0.131,0.020,0.074,0.106,
+0.169,0.162,0.093,0.158,1.640,1.430,0.888,1.260,0.122,0.104,
+0.070,0.112,1.270,0.111,0.586,0.785,0.961,1.110,0.733,1.100,
+1.720,1.030,0.892,1.370,1.500,1.080,0.887,1.240,1.590,0.140,
+0.992,1.410,1.360,1.350,1.150,2.020,3.430,1.520,1.240,2.440,
+1.710,0.936,0.792,1.160,1.930,0.146,0.874,1.560,2.590,1.570,
+1.040,2.700,3.210,1.800,1.200,1.950,1.710,1.240,1.070,1.210,
+1.830,0.124,1.030,1.580,1.980,1.660,1.110,2.000,2.040,1.670,
+1.310,1.930,0.147,0.124,0.089,0.150,1.450,0.111,0.919,1.280,
+1.450,1.490,1.140,1.990,2.560,1.380,1.460,2.310,1.930,1.370,
+1.330,1.780,2.290,0.166,1.510,2.400,3.120,2.330,2.210,4.730,
+14.7,5.140,3.770,9.270,3.640,1.850,1.800,2.570,4.840,0.379,
+1.760,3.150,15.8,5.110,2.940,7.480,4.250,2.050,1.490,2.810,
+1.950,1.030,1.060,1.550,2.900,0.178,1.680,2.540,3.310,2.080,
+1.460,2.780,4.120,2.660,1.850,4.590,0.275,0.204,0.142,0.420,
+2.200,0.172,0.977,2.110,2.470,2.210,1.340,3.120,6.210,2.750,
+2.850,9.130,3.130,1.900,1.940,3.840,3.180,0.232,1.890,3.260,
+5.530,3.320,4.000,9.190,6.560,3.050,2.090,4.040,3.450,1.890,
+1.360,2.060,3.220,0.255,1.310,2.290,4.070,2.940,1.470,3.100,
+3.500,1.780,1.120,1.930,1.970,1.170,0.871,1.190,2.190,0.170,
+1.450,2.040,2.030,1.800,0.974,1.940,2.760,1.910,1.240,2.770,
+0.156,0.115,0.077,0.184,2.030,0.176,1.020,1.870,2.030,2.280,
+1.080,2.470,3.690,1.840,1.620,4.160,2.520,1.740,1.350,2.720,
+2.540,0.164,1.590,2.610,3.150,2.340,2.010,4.880,4.230,2.120,
+1.520,2.720,2.630,1.440,1.290,1.940,3.110,0.306,1.360,2.230,
+3.240,2.460,1.810,3.420,0.247,0.162,0.107,0.205,0.149,0.107,
+0.097,0.138,0.201,0.022,0.143,0.231,0.265,0.250,0.151,0.267,
+2.240,1.920,1.240,2.080,0.142,0.092,0.085,0.161,2.850,0.168,
+1.310,1.480,1.870,1.560,1.310,2.120,2.520,1.540,1.330,2.560,
+2.260,1.420,1.310,2.470,2.730,0.181,1.580,2.610,2.730,1.900,
+1.870,3.850,7.880,3.000,2.470,5.280,3.070,1.730,1.780,2.230,
+4.010,0.302,1.690,3.060,6.740,3.620,2.760,7.860,3.710,1.970,
+1.460,2.710,2.190,1.260,1.240,1.670,2.370,0.137,1.440,2.440,
+3.160,2.370,1.680,3.690,3.960,3.000,2.270,3.920,0.222,0.153,
+0.116,0.237,3.020,0.174,1.640,2.580,3.380,3.040,2.280,4.080,
+7.710,3.330,3.320,8.130,4.330,2.890,2.530,4.510,5.370,0.245,
+3.160,5.750,9.900,5.560,5.580,12.9,9.440,4.820,4.170,7.430,
+4.330,2.460,2.040,2.940,4.290,0.392,1.660,2.920,6.300,4.580,
+2.320,4.760,4.010,2.540,1.660,2.320,2.480,1.400,1.210,1.360,
+2.270,0.158,1.200,1.600,2.170,1.880,1.200,2.170,2.810,2.010,
+1.570,2.540,0.221,0.152,0.114,0.249,1.530,0.126,0.750,1.130,
+1.880,1.780,1.120,2.050,3.970,2.100,1.800,3.990,2.970,1.960,
+1.380,2.510,2.380,0.192,1.100,1.930,3.320,2.190,2.120,4.160,
+5.460,2.790,1.800,2.760,3.120,1.700,1.130,1.420,2.910,0.405,
+0.954,1.450,2.520,2.450,0.970,2.130,2.610,1.670,0.826,1.200,
+1.520,0.921,0.659,0.815,1.510,0.139,0.807,1.200,1.170,1.290,
+0.661,1.260,1.930,1.560,0.912,1.280,0.244,0.102,0.077,0.122,
+1.320,0.123,0.682,0.992,1.220,1.460,0.807,1.330,1.750,1.190,
+0.756,1.470,1.790,1.170,0.709,1.150,1.390,0.116,0.748,1.390,
+1.520,1.520,1.060,2.290,3.530,1.620,1.140,2.100,2.230,1.180,
+0.980,1.360,2.670,0.266,0.819,1.640,2.410,1.720,1.150,2.810,
+0.221,0.175,0.095,0.170,0.178,0.158,0.115,0.148,0.199,0.029,
+0.090,0.156,0.211,0.283,0.124,0.250,1.720,1.010,0.820,1.170,
+0.119,0.086,0.082,0.118,0.985,0.088,0.522,0.753,0.932,0.843,
+0.683,0.960,1.520,0.934,0.741,1.410,1.550,1.270,0.810,1.280,
+1.270,0.123,0.754,1.250,1.290,1.200,1.130,2.190,4.330,1.900,
+1.540,3.060,3.740,1.130,0.898,1.210,2.830,0.265,0.900,1.610,
+4.020,2.040,1.350,3.540,3.180,2.180,1.280,2.230,2.190,1.350,
+1.080,1.380,2.110,0.142,0.966,1.720,2.030,1.840,1.100,2.250,
+1.800,1.110,0.914,1.530,0.137,0.074,0.075,0.122,1.020,0.076,
+0.588,0.918,1.170,1.100,0.931,1.450,2.700,1.430,1.090,2.580,
+1.520,1.060,0.942,1.500,2.210,0.146,1.120,2.020,2.910,2.260,
+2.120,4.580,5.200,2.720,1.930,3.280,2.940,1.740,1.340,1.760,
+1.800,0.190,0.732,1.310,2.450,2.030,1.050,2.430,2.570,1.720,
+1.030,1.470,1.640,1.010,0.904,1.040,1.180,0.136,0.693,1.080,
+1.020,1.340,0.703,1.340,1.410,1.290,0.876,1.310,0.109,0.107,
+0.072,0.137,0.785,0.085,0.556,0.773,0.815,1.030,0.676,1.260,
+1.650,1.020,0.783,1.710,1.380,1.110,0.780,1.260,1.050,0.094,
+0.584,1.090,1.560,1.190,1.090,2.330,2.810,1.730,0.845,1.410,
+1.980,1.310,0.695,0.927,1.120,0.120,0.487,0.783,1.110,1.110,
+0.509,1.210,1.490,0.977,0.456,0.686,0.639,0.183,0.341,0.396,
+0.718,0.098,0.453,0.748,0.553,0.802,0.496,0.714,1.010,1.130,
+0.637,0.850,0.088,0.099,0.052,0.082,0.778,0.111,0.446,0.803,
+0.623,1.060,0.545,0.944,0.989,0.748,0.482,0.808,0.943,0.913,
+0.458,0.740,0.807,0.083,0.437,1.320,0.856,0.993,0.626,1.620,
+2.660,1.330,0.860,1.410,1.860,1.230,0.886,1.160,1.700,0.301,
+0.755,1.130,1.490,2.250,0.847,1.840,0.128,0.145,0.066,0.112,
+0.102,0.127,0.082,0.095,0.168,0.070,0.194,0.109,0.142,0.663,
+0.100,0.125,1.140,1.230,0.736,0.965,0.108,0.233,0.067,0.107,
+0.760,0.090,0.547,0.713,0.622,0.913,0.890,0.939,0.993,0.624,
+0.537,0.994,1.160,1.170,0.701,1.060,0.977,0.088,0.575,0.997,
+0.940,0.868,0.904,1.680,2.460,1.250,0.853,1.570,1.520,0.894,
+0.591,0.992,1.300,0.115,0.521,0.966,1.790,1.260,0.701,1.780,
+1.660,1.220,0.746,1.130,1.180,1.030,0.649,0.892,1.050,0.152,
+0.650,1.070,0.986,1.750,0.639,1.230,1.080,0.976,0.701,1.020,
+0.069,0.078,0.045,0.076,0.609,0.053,0.459,0.682,0.702,0.843,
+0.681,1.080,1.380,0.759,0.630,1.330,1.020,0.760,0.590,0.984,
+1.000,0.075,0.586,1.110,1.480,1.340,1.120,2.510,4.240,2.550,
+1.550,2.840,2.930,1.320,0.919,1.510,2.360,0.210,0.884,1.410,
+2.560,2.080,0.947,2.090,2.550,1.870,0.901,1.550,1.500,1.110,
+0.852,1.130,2.370,0.209,1.300,1.700,1.500,1.830,0.854,1.600,
+1.800,1.770,1.040,1.830,0.171,0.159,0.095,0.228,1.320,0.140,
+0.714,1.230,1.190,1.480,0.811,1.830,1.930,1.240,0.903,2.160,
+1.520,1.290,0.877,1.610,1.710,0.155,0.917,1.680,2.080,1.450,
+1.420,3.500,0.287,0.163,0.084,0.156,0.470,0.154,0.081,0.132,
+0.157,0.024,0.069,0.104,0.159,0.166,0.085,0.166,0.135,0.115,
+0.053,0.086,0.125,0.140,0.071,0.089,0.149,0.027,0.091,0.130,
+0.093,0.142,0.074,0.115,0.110,0.127,0.075,0.112,0.022,0.019,
+0.014,0.016,0.175,0.030,0.088,0.118,0.094,0.149,0.092,0.138,
+0.157,0.108,0.071,0.174,0.186,0.162,0.096,0.164,0.136,0.016,
+0.087,0.162,0.155,0.133,0.121,0.259,2.910,1.870,1.000,1.350,
+1.530,1.460,0.818,1.130,1.900,0.241,0.869,1.350,1.360,1.290,
+0.998,1.890,0.149,0.146,0.065,0.097,0.097,0.247,0.075,0.082,
+0.107,0.021,0.081,0.100,0.103,0.152,0.080,0.123,0.999,1.180,
+0.685,0.904,0.083,0.108,0.060,0.100,1.050,0.120,0.493,0.783,
+0.700,1.010,0.676,1.030,1.040,0.844,0.745,1.000,1.080,1.100,
+0.706,1.030,1.270,0.145,0.940,1.200,1.050,1.030,1.010,1.660,
+2.320,1.260,1.120,1.860,1.440,0.858,0.613,0.959,1.600,0.128,
+0.771,1.310,1.870,1.190,0.850,2.130,1.990,1.530,0.822,1.320,
+1.510,2.020,0.777,1.060,1.470,0.133,0.920,1.400,1.380,1.520,
+0.892,1.580,1.280,1.320,1.600,1.550,0.106,0.097,0.098,0.119,
+1.140,0.099,0.835,1.170,1.100,1.380,1.010,1.740,1.530,1.090,
+0.903,1.520,1.530,0.932,0.740,1.090,1.640,0.120,1.190,1.810,
+2.090,1.750,1.610,2.860,4.270,1.880,1.510,3.530,2.060,0.966,
+1.030,2.070,2.100,0.166,0.858,1.640,3.180,1.730,1.070,2.680,
+1.970,1.180,0.769,1.490,1.120,0.683,0.779,1.430,1.280,0.094,
+0.857,1.260,1.340,0.971,0.716,1.500,1.540,1.280,0.769,1.710,
+0.096,0.090,0.062,0.181,0.984,0.090,0.626,1.240,1.050,1.260,
+0.792,1.610,2.260,1.280,1.080,3.120,1.280,0.887,0.792,1.780,
+1.430,0.102,0.766,1.750,2.340,1.500,2.110,4.070,3.240,1.530,
+1.020,1.890,2.920,1.170,0.892,1.410,1.660,0.153,0.689,1.330,
+1.850,1.630,0.727,1.830,1.690,1.080,0.546,0.953,1.280,0.881,
+0.542,0.814,1.380,0.200,0.685,1.400,1.140,1.380,0.592,1.590,
+1.040,1.000,0.544,1.050,0.090,0.076,0.041,0.099,1.150,0.134,
+0.608,1.360,1.030,1.640,0.644,1.470,1.370,0.867,0.654,1.590,
+1.260,1.010,0.653,1.370,1.330,0.097,0.742,1.480,1.520,1.330,
+1.070,2.470,2.360,1.250,0.947,1.590,1.220,0.871,0.682,1.070,
+1.880,0.192,1.070,1.460,1.640,1.350,1.170,2.200,0.109,0.085,
+0.057,0.106,0.070,0.087,0.063,0.077,0.096,0.011,0.064,0.097,
+0.114,0.129,0.076,0.141,0.985,0.968,0.573,1.060,0.063,0.062,
+0.043,0.099,1.400,0.096,0.601,1.010,0.914,0.954,0.738,1.210,
+1.210,0.896,0.732,1.370,1.130,0.870,0.665,1.280,1.500,0.143,
+0.962,1.630,1.380,1.140,1.250,2.300,2.780,1.480,1.370,2.430,
+1.240,0.780,0.684,0.814,1.820,0.180,0.926,1.550,2.260,1.330,
+1.160,2.990,1.890,1.130,0.743,1.320,1.360,0.976,0.698,0.987,
+1.210,0.079,0.712,1.290,1.530,1.220,0.860,1.960,1.630,1.370,
+1.070,1.810,0.111,0.087,0.067,0.124,1.360,0.094,0.823,1.430,
+1.550,1.720,1.230,2.100,2.940,1.530,1.480,3.170,2.440,1.680,
+1.490,2.090,2.780,0.166,1.700,3.060,4.230,2.900,2.990,4.790,
+11.3,3.700,2.960,7.000,4.020,2.090,1.680,2.770,3.820,0.325,
+1.250,2.280,5.990,4.110,2.020,4.610,2.910,1.530,1.010,1.860,
+1.830,0.996,0.943,1.280,1.720,0.134,0.787,1.140,1.800,1.530,
+1.080,1.900,2.550,1.730,1.370,2.510,0.196,0.158,0.115,0.288,
+1.450,0.118,0.775,1.310,1.620,1.540,1.170,2.130,3.960,1.710,
+1.650,3.780,2.640,2.110,1.350,2.720,2.010,0.154,0.977,1.710,
+3.200,1.710,2.020,4.560,5.900,2.590,1.730,3.390,3.140,1.710,
+1.270,1.940,2.580,0.251,0.870,1.460,2.850,2.500,1.050,2.630,
+2.510,1.600,0.844,1.410,1.510,0.823,0.781,1.100,1.930,0.246,
+0.743,1.180,1.460,1.430,0.740,1.410,2.520,1.880,1.200,2.040,
+0.194,0.127,0.095,0.192,1.720,0.145,0.792,1.310,1.580,1.500,
+0.943,1.610,2.740,1.590,1.160,2.850,2.220,1.660,1.060,2.000,
+2.130,0.157,0.813,1.570,2.070,1.710,1.300,2.970,5.040,1.710,
+1.290,2.710,3.220,1.640,1.370,2.080,9.220,0.660,1.410,2.090,
+5.720,2.900,1.530,3.780,0.327,0.207,0.117,0.239,0.236,0.164,
+0.139,0.205,0.452,0.044,0.118,0.201,0.560,0.587,0.176,0.407,
+1.880,1.050,1.070,1.670,0.142,0.091,0.082,0.182,1.360,0.123,
+0.563,0.918,1.250,1.160,0.688,1.130,1.780,0.846,0.793,1.640,
+1.850,1.250,1.120,1.900,1.600,0.125,0.747,1.270,1.910,1.310,
+1.220,2.480,6.210,1.920,1.540,3.910,2.730,1.300,1.110,1.900,
+6.320,0.468,1.290,2.220,9.210,3.810,1.760,5.650,3.410,1.660,
+1.160,2.040,2.080,1.190,1.030,1.440,3.220,0.224,1.010,1.940,
+4.010,3.030,1.330,3.020,2.060,1.410,1.290,2.240,0.158,0.097,
+0.102,0.218,1.550,0.118,0.803,1.400,1.840,1.700,1.290,2.260,
+3.560,1.580,1.530,4.140,2.040,1.270,1.440,2.720,3.020,0.208,
+1.520,3.180,5.550,3.470,3.640,8.720,0.699,0.291,0.198,0.406,
+0.329,0.203,0.150,0.258,0.259,0.027,0.084,0.159,0.330,0.290,
+0.140,0.352,0.260,0.172,0.108,0.177,0.188,0.123,0.132,0.166,
+0.146,0.015,0.081,0.124,0.150,0.158,0.100,0.185,0.209,0.162,
+0.125,0.207,0.024,0.020,0.015,0.033,0.112,0.014,0.087,0.121,
+0.112,0.148,0.102,0.188,0.259,0.152,0.142,0.297,0.241,0.204,
+0.158,0.261,0.195,0.019,0.112,0.180,0.234,0.163,0.195,0.417,
+0.413,0.251,0.158,0.276,0.272,0.206,0.127,0.208,0.194,0.025,
+0.071,0.126,0.191,0.197,0.089,0.205,0.224,0.179,0.096,0.143,
+0.167,0.115,0.113,0.175,0.153,0.022,0.079,0.139,0.108,0.134,
+0.078,0.132,0.210,0.187,0.121,0.179,0.024,0.022,0.017,0.022,
+0.166,0.032,0.093,0.136,0.116,0.169,0.102,0.172,0.242,0.158,
+0.110,0.268,0.237,0.186,0.126,0.199,0.181,0.014,0.091,0.179,
+0.165,0.151,0.131,0.374,0.386,0.156,0.109,0.191,0.257,0.171,
+0.147,0.186,0.389,0.050,0.111,0.143,0.316,0.258,0.129,0.291,
+0.020,0.018,0.012,0.017,0.018,0.021,0.020,0.018,0.025,0.011,
+0.018,0.018,0.028,0.046,0.015,0.027,0.164,0.141,0.121,0.167,
+0.015,0.021,0.015,0.022,0.141,0.026,0.079,0.113,0.101,0.159,
+0.099,0.135,0.179,0.087,0.096,0.172,0.182,0.151,0.145,0.209,
+0.147,0.015,0.102,0.145,0.161,0.138,0.149,0.295,0.574,0.316,
+0.231,0.413,0.303,0.196,0.150,0.234,0.457,0.045,0.144,0.232,
+0.901,0.455,0.241,0.630,0.433,0.275,0.191,0.293,0.338,0.262,
+0.210,0.264,0.387,0.039,0.168,0.259,0.509,0.640,0.203,0.415,
+0.212,0.165,0.148,0.235,0.018,0.022,0.016,0.025,0.168,0.016,
+0.124,0.163,0.173,0.197,0.164,0.264,0.385,0.187,0.176,0.384,
+0.275,0.175,0.173,0.300,0.292,0.020,0.186,0.332,0.460,0.335,
+0.342,0.782,4.100,1.860,1.210,2.400,1.790,1.180,0.811,1.380,
+1.580,0.150,0.724,1.160,1.690,1.270,0.784,1.760,1.900,1.250,
+0.761,1.200,1.330,0.895,0.910,0.951,1.460,0.137,0.941,1.320,
+1.110,1.120,0.792,1.320,1.810,1.870,1.350,2.280,0.181,0.175,
+0.141,0.313,1.430,0.141,0.758,1.350,1.120,1.590,0.886,1.710,
+1.930,1.140,1.030,2.180,1.430,1.110,1.050,1.690,1.620,0.136,
+0.851,1.840,1.680,1.190,1.500,3.210,0.247,0.163,0.090,0.180,
+0.172,0.162,0.084,0.136,0.116,0.020,0.058,0.097,0.125,0.134,
+0.066,0.156,0.127,0.106,0.053,0.080,0.105,0.109,0.071,0.083,
+0.101,0.013,0.083,0.099,0.080,0.082,0.052,0.089,0.122,0.148,
+0.086,0.163,0.015,0.020,0.016,0.019,0.102,0.020,0.079,0.112,
+0.087,0.117,0.075,0.123,0.212,0.126,0.100,0.264,0.180,0.166,
+0.115,0.212,0.148,0.014,0.081,0.175,0.141,0.119,0.126,0.281,
+2.220,1.310,0.808,1.100,1.670,1.320,1.160,1.360,1.530,0.196,
+0.824,1.150,1.090,1.070,0.865,1.620,0.149,0.202,0.074,0.091,
+0.107,0.126,0.150,0.083,0.111,0.019,0.101,0.116,0.116,0.139,
+0.080,0.133,1.270,0.984,0.798,0.988,0.116,0.085,0.081,0.127,
+0.892,0.100,0.305,0.553,0.566,0.718,0.580,0.830,1.010,0.636,
+0.547,0.802,1.070,0.870,0.763,1.030,0.967,0.101,0.779,1.030,
+0.835,0.848,0.993,1.600,2.060,1.150,0.939,1.810,1.450,1.200,
+0.681,0.950,1.440,0.154,0.884,1.300,1.660,1.170,0.788,1.740,
+1.860,1.500,0.836,1.170,1.430,1.270,1.140,0.979,1.380,0.124,
+0.955,1.290,1.700,1.440,0.864,1.500,1.690,1.250,0.959,1.490,
+0.125,0.115,0.091,0.144,1.140,0.093,0.896,1.220,1.010,1.200,
+0.968,1.480,1.630,0.884,0.772,1.460,1.290,0.953,0.810,1.210,
+1.510,0.114,1.140,1.670,1.790,1.470,1.500,2.680,4.110,1.630,
+1.180,2.700,1.570,0.886,0.815,1.400,1.690,0.158,0.678,1.180,
+2.260,1.420,0.917,2.310,1.860,0.977,0.649,1.120,0.945,0.557,
+0.595,0.824,1.200,0.075,0.519,0.987,0.966,0.703,0.603,1.140,
+1.880,1.370,1.050,1.890,0.135,0.099,0.122,0.222,1.050,0.092,
+0.617,1.120,1.260,1.150,0.982,1.630,2.520,1.190,1.390,3.170,
+1.510,0.886,1.380,1.990,1.390,0.098,0.725,1.440,2.280,1.250,
+1.710,3.610,3.420,1.870,1.220,2.650,1.920,1.370,0.970,1.550,
+1.620,0.143,0.730,1.320,1.840,1.580,0.754,2.230,1.900,1.320,
+0.684,1.240,1.280,1.040,0.727,1.000,1.300,0.097,0.799,1.230,
+0.991,0.925,0.613,1.210,1.560,1.410,0.885,1.800,0.101,0.100,
+0.102,0.149,1.260,0.112,0.818,1.370,1.250,1.390,0.908,1.780,
+2.150,1.330,1.230,2.820,1.700,1.270,1.140,1.980,1.550,0.114,
+0.837,1.710,1.800,1.410,1.380,3.200,2.380,1.330,1.150,1.650,
+1.650,1.160,1.030,1.480,1.630,0.177,0.805,1.290,1.510,1.290,
+1.040,2.140,0.153,0.134,0.072,0.129,0.106,0.138,0.092,0.116,
+0.108,0.015,0.082,0.118,0.120,0.141,0.086,0.160,1.260,1.260,
+0.865,1.350,0.089,0.078,0.065,0.143,1.190,0.105,0.655,1.020,
+0.922,1.080,0.920,1.360,1.450,0.881,0.842,1.440,1.460,1.050,
+1.050,1.620,1.340,0.106,0.982,1.520,1.520,1.190,1.510,2.470,
+3.540,1.600,1.420,2.720,1.740,1.270,0.947,1.280,2.120,0.258,
+1.020,1.760,2.210,1.400,1.130,3.110,2.280,1.380,0.856,1.560,
+1.490,1.140,0.955,1.200,1.520,0.096,0.866,1.510,1.670,1.300,
+0.994,2.080,2.180,1.760,1.260,2.280,0.162,0.138,0.096,0.206,
+1.750,0.137,1.150,1.940,1.810,1.860,1.540,2.390,3.700,1.560,
+1.500,3.520,2.380,1.700,1.440,2.450,2.710,0.169,1.760,3.190,
+4.200,2.600,2.880,5.550,11.5,5.000,4.730,11.6,5.130,2.380,
+2.250,3.780,5.550,0.385,1.840,3.560,10.4,5.790,2.960,7.460,
+4.130,1.700,1.460,2.620,2.220,1.080,1.020,1.470,2.470,0.137,
+1.110,1.600,2.640,1.860,1.020,2.120,3.680,1.950,1.740,3.840,
+0.257,0.143,0.115,0.330,2.060,0.138,0.987,1.730,2.420,1.890,
+1.330,2.990,6.620,2.700,2.960,8.040,3.780,2.090,1.860,3.760,
+3.430,0.216,1.710,3.040,6.130,3.090,3.150,8.790,5.600,2.180,
+1.640,3.200,2.790,1.140,0.848,1.420,2.440,0.184,0.860,1.380,
+3.950,2.220,1.100,2.520,2.400,1.230,0.825,1.410,1.170,0.593,
+0.575,0.877,1.500,0.105,0.678,1.010,1.760,1.080,0.703,1.280,
+2.320,1.500,1.120,2.020,0.168,0.087,0.063,0.140,1.590,0.094,
+0.630,1.130,1.740,1.300,0.886,1.620,2.830,1.490,1.230,3.110,
+1.930,1.040,0.783,1.630,2.060,0.112,0.835,1.630,2.510,1.750,
+1.330,3.530,6.340,2.110,1.810,3.850,3.290,1.410,1.320,2.580,
+7.830,0.549,1.590,2.230,8.800,3.590,1.810,5.290,0.351,0.179,
+0.136,0.294,0.215,0.124,0.117,0.212,0.397,0.030,0.118,0.177,
+0.876,0.524,0.171,0.419,2.210,1.380,1.480,2.360,0.157,0.077,
+0.083,0.202,2.510,0.150,0.806,1.210,2.210,1.490,1.060,1.860,
+2.530,1.250,1.360,3.000,2.170,1.150,1.140,2.310,2.210,0.139,
+0.977,1.880,3.160,1.860,1.800,4.150,12.4,3.320,3.240,9.450,
+4.470,1.900,1.790,3.680,10.7,0.776,2.470,4.060,33.6,9.610,
+4.390,13.5,5.320,2.410,2.000,3.560,2.620,1.470,1.430,2.110,
+4.820,0.282,1.560,2.510,9.100,5.110,2.110,4.850,3.380,2.000,
+1.980,3.640,0.228,0.124,0.123,0.252,2.990,0.158,1.270,2.170,
+3.530,2.800,2.100,3.560,6.850,2.870,3.120,8.150,3.460,1.890,
+2.030,3.670,5.320,0.285,2.480,5.120,11.6,6.140,5.430,15.8,
+7.330,3.180,2.430,5.360,3.370,1.730,1.390,2.310,2.870,0.232,
+0.990,1.960,4.210,2.970,1.530,4.170,3.210,1.700,1.200,2.120,
+1.890,1.040,0.982,1.380,1.530,0.116,0.861,1.250,1.600,1.530,
+0.948,1.810,2.570,1.770,1.450,2.510,0.175,0.128,0.087,0.203,
+1.390,0.117,1.010,1.490,1.570,1.660,1.160,2.230,2.780,1.490,
+1.500,3.280,2.120,1.440,1.190,2.090,1.970,0.149,1.240,1.880,
+2.680,1.630,1.850,4.130,4.560,2.170,1.720,2.750,2.390,1.380,
+0.900,1.260,1.800,0.140,0.600,1.100,2.250,1.790,0.779,1.950,
+2.180,1.370,0.822,1.300,1.380,0.835,0.688,0.933,1.260,0.095,
+0.614,0.990,1.140,1.110,0.619,1.190,2.070,1.640,1.020,1.710,
+0.184,0.127,0.071,0.114,1.450,0.144,0.723,1.200,1.490,1.450,
+0.911,1.770,2.110,1.390,0.999,2.150,1.860,1.300,0.791,1.380,
+1.450,0.090,0.679,1.470,1.600,1.210,1.040,2.970,4.700,1.670,
+1.250,2.290,2.590,1.320,1.180,1.800,3.190,0.301,1.110,1.420,
+3.890,2.530,1.310,3.400,0.181,0.118,0.080,0.155,0.128,0.106,
+0.094,0.158,0.155,0.022,0.088,0.112,0.264,0.306,0.100,0.206,
+2.090,1.760,1.270,1.910,0.128,0.099,0.077,0.149,1.530,0.121,
+0.714,1.090,1.410,1.520,1.030,1.810,2.210,1.090,1.080,2.050,
+1.850,1.250,1.190,1.910,1.700,0.108,0.871,1.470,2.140,1.440,
+1.490,3.160,5.900,2.330,1.920,4.030,2.520,1.340,1.150,1.860,
+3.990,0.297,1.380,2.000,8.160,4.010,2.040,5.530,3.460,1.900,
+1.470,2.410,2.150,1.520,1.290,1.770,2.690,0.212,1.290,1.870,
+4.230,4.430,1.560,3.120,2.360,1.690,1.480,2.410,0.145,0.095,
+0.071,0.142,1.710,0.108,0.928,1.420,1.980,1.860,1.360,2.550,
+3.740,1.690,1.680,3.360,2.780,1.440,1.320,2.170,2.890,0.154,
+1.430,2.680,4.640,2.930,2.500,5.920,4.980,2.540,1.670,3.470,
+2.160,1.460,1.020,1.880,2.380,0.171,0.881,1.610,3.200,1.890,
+1.110,2.640,3.020,1.880,1.190,1.930,1.670,1.120,0.893,1.140,
+1.790,0.145,0.948,1.460,1.880,1.710,1.000,1.970,2.550,2.270,
+1.570,2.890,0.201,0.185,0.115,0.297,1.800,0.153,0.916,1.770,
+1.790,1.940,1.160,2.400,2.590,1.490,1.330,3.230,1.890,1.330,
+1.110,2.030,2.190,0.179,1.270,2.440,2.890,1.820,2.010,4.590,
+0.274,0.196,0.115,0.226,0.205,0.148,0.079,0.152,0.160,0.018,
+0.069,0.127,0.229,0.187,0.105,0.231,0.148,0.116,0.061,0.104,
+0.119,0.132,0.066,0.089,0.119,0.013,0.085,0.150,0.127,0.113,
+0.070,0.134,0.157,0.232,0.096,0.175,0.017,0.019,0.013,0.017,
+0.142,0.017,0.080,0.137,0.146,0.166,0.096,0.182,0.225,0.140,
+0.106,0.288,0.233,0.169,0.116,0.196,0.176,0.015,0.094,0.190,
+0.229,0.154,0.151,0.345,3.510,1.720,1.120,1.670,2.440,1.540,
+1.260,1.680,2.310,0.260,0.979,1.540,2.250,1.830,1.590,2.510,
+0.166,0.132,0.067,0.111,0.121,0.112,0.080,0.087,0.123,0.017,
+0.084,0.120,0.174,0.201,0.109,0.183,1.660,1.600,1.060,1.690,
+0.143,0.113,0.087,0.160,1.540,0.134,0.693,1.150,1.150,1.550,
+1.030,1.800,1.730,1.100,0.929,1.600,1.680,1.360,1.090,1.580,
+1.840,0.146,1.150,1.710,1.780,1.740,1.780,3.140,3.460,1.660,
+1.230,2.480,1.990,1.190,0.903,1.330,2.420,0.178,1.220,1.830,
+3.520,1.890,1.740,3.250,3.030,1.940,1.310,2.310,1.880,1.550,
+1.140,1.350,2.390,0.155,1.270,1.880,2.600,2.410,1.480,2.770,
+2.490,1.850,1.430,2.690,0.146,0.129,0.086,0.173,1.920,0.129,
+1.240,1.870,2.010,2.130,1.600,2.780,2.830,1.510,1.440,2.610,
+2.040,1.590,1.140,1.740,3.020,0.178,1.830,2.930,3.540,2.790,
+2.680,5.000,9.970,3.620,2.850,6.840,3.280,1.750,1.550,2.990,
+3.840,0.275,1.640,3.100,7.100,3.250,2.200,5.840,3.910,1.800,
+1.470,2.270,1.980,1.070,0.991,1.540,2.260,0.136,1.310,2.000,
+2.220,1.520,1.420,2.580,3.380,2.300,1.600,4.000,0.236,0.157,
+0.125,0.340,1.990,0.140,0.953,2.010,2.390,2.050,1.630,3.210,
+5.320,2.430,2.540,7.550,2.920,1.680,1.790,3.500,3.100,0.192,
+1.690,3.640,5.970,3.080,3.780,9.500,4.650,2.340,1.650,3.370,
+2.320,1.430,1.150,1.980,2.230,0.172,0.935,1.850,2.970,2.120,
+1.220,3.540,2.540,1.480,0.994,1.690,1.590,1.100,0.793,1.190,
+1.730,0.117,1.140,1.690,1.640,1.370,0.975,1.900,2.210,1.670,
+1.040,2.480,0.114,0.097,0.070,0.161,1.860,0.132,0.930,1.720,
+1.990,2.060,1.150,2.590,2.880,1.590,1.520,3.620,2.340,1.520,
+1.170,2.350,2.290,0.126,1.150,2.360,3.380,2.170,1.990,4.680,
+5.300,2.510,2.050,3.230,3.250,1.920,1.680,2.860,3.980,0.333,
+1.450,2.690,4.240,2.940,2.190,4.990,0.261,0.183,0.120,0.220,
+0.159,0.137,0.107,0.177,0.193,0.018,0.101,0.191,0.296,0.249,
+0.150,0.342,2.790,2.350,1.740,3.760,0.153,0.131,0.095,0.267,
+2.510,0.167,1.180,2.010,2.240,2.240,1.770,3.260,3.570,2.410,
+1.940,3.740,3.150,2.370,1.950,3.620,3.160,0.192,2.000,3.510,
+3.700,2.700,3.090,5.820,11.7,4.440,3.430,7.710,4.280,2.630,
+2.060,3.430,5.740,0.376,2.600,5.150,9.600,5.230,3.920,12.4,
+6.380,3.470,2.190,4.000,3.750,2.870,1.870,2.860,4.970,0.233,
+2.120,4.030,5.340,4.110,2.790,6.540,5.830,4.100,3.100,6.050,
+0.253,0.209,0.132,0.333,4.230,0.238,2.470,4.590,5.290,4.700,
+3.910,7.070,13.8,5.430,5.140,12.6,6.770,4.590,3.550,6.890,
+8.420,0.385,5.220,10.4,14.6,7.650,8.200,13.2,10.4,5.870,
+4.390,8.280,6.620,3.780,2.740,3.820,7.030,0.725,2.560,4.220,
+8.690,6.780,3.350,6.120,6.790,3.620,2.360,3.200,3.640,2.060,
+1.710,1.860,3.660,0.279,1.690,2.310,2.900,2.690,1.730,2.820,
+4.790,3.330,2.260,3.470,0.385,0.297,0.219,0.432,2.920,0.283,
+1.560,1.890,2.780,3.160,1.850,2.850,7.950,3.400,3.250,6.180,
+5.060,3.140,2.500,4.170,4.210,0.367,2.010,3.180,5.020,3.430,
+3.040,5.350,8.850,3.580,2.250,3.740,3.980,2.490,1.610,2.130,
+3.710,0.396,1.400,2.220,3.080,3.090,1.330,2.710,4.420,2.660,
+1.430,2.000,2.470,1.590,1.220,1.250,2.520,0.243,1.220,1.850,
+1.670,1.980,1.050,1.640,2.900,2.520,1.440,2.070,0.242,0.209,
+0.136,0.217,2.700,0.336,1.320,1.770,1.630,2.490,1.290,2.190,
+2.760,1.850,1.380,2.260,2.410,1.790,1.220,1.780,2.660,0.231,
+1.380,2.260,2.290,2.070,1.650,3.170,5.270,2.300,1.550,2.590,
+3.270,1.660,1.360,1.730,3.170,0.401,1.100,1.960,2.910,2.490,
+1.650,3.530,0.474,0.268,0.152,0.224,0.272,0.183,0.142,0.170,
+0.265,0.042,0.131,0.218,0.298,0.394,0.182,0.345,1.920,1.550,
+1.690,1.440,0.177,0.134,0.118,0.163,1.560,0.256,0.788,1.050,
+1.170,1.540,1.030,1.480,2.320,1.240,1.080,1.840,2.110,1.470,
+1.130,1.720,2.300,0.225,1.250,1.870,1.720,1.860,1.600,2.820,
+8.280,2.950,1.940,4.320,3.050,1.580,1.270,1.770,3.460,0.316,
+1.130,2.040,4.580,3.060,1.890,4.980,8.690,3.660,2.060,2.820,
+3.940,2.180,1.630,1.750,2.890,0.233,1.370,2.170,2.840,2.810,
+1.640,3.190,2.550,1.970,1.580,2.240,0.195,0.146,0.124,0.201,
+1.940,0.167,1.050,1.540,1.750,2.070,1.660,2.230,4.460,2.060,
+1.810,3.790,2.250,1.620,1.330,2.110,3.270,0.238,1.740,2.960,
+3.910,3.450,2.890,6.260,8.340,4.320,2.900,4.840,3.780,2.620,
+1.870,2.310,4.180,0.387,1.320,2.560,3.320,3.170,2.060,3.360,
+3.920,2.960,1.560,2.130,2.320,1.610,1.350,1.400,1.940,0.216,
+1.180,1.730,1.450,1.850,1.130,1.910,2.380,2.460,1.630,2.070,
+0.238,0.259,0.160,0.269,1.600,0.180,1.320,1.380,1.340,1.860,
+1.440,2.070,3.250,1.710,1.960,2.870,2.690,2.030,1.460,2.020,
+2.420,0.238,1.190,2.010,2.470,1.920,1.660,4.270,6.370,3.550,
+1.690,2.400,2.570,2.300,1.350,1.470,2.620,0.332,0.973,1.630,
+1.850,2.390,0.962,1.980,2.680,2.240,1.010,1.510,1.640,0.953,
+0.983,0.996,1.900,0.235,1.040,1.770,1.150,1.770,0.954,1.370,
+2.010,2.480,1.260,1.570,0.182,0.266,0.131,0.159,2.280,0.320,
+1.180,1.470,1.220,2.410,1.180,1.690,1.760,1.530,0.920,1.480,
+1.710,1.700,0.822,1.220,2.610,0.219,0.931,1.740,1.450,1.590,
+1.010,2.410,3.250,1.810,1.120,1.640,2.230,1.690,1.230,1.340,
+1.850,0.263,0.926,1.290,1.430,1.720,1.090,2.000,0.212,0.261,
+0.137,0.168,0.160,0.172,0.133,0.119,0.156,0.043,0.146,0.169,
+0.128,0.277,0.130,0.178,1.990,2.030,8.190,2.110,0.320,0.264,
+0.305,0.204,1.450,0.184,0.973,1.120,0.855,1.640,1.140,1.280,
+1.560,0.961,1.290,1.550,1.810,1.680,1.250,1.600,1.790,0.162,
+1.200,1.620,1.140,1.350,1.290,2.000,3.080,1.680,1.060,1.840,
+1.620,1.160,0.804,1.020,1.490,0.144,0.632,1.000,1.650,1.370,
+0.899,1.950,2.870,2.450,1.250,1.540,1.710,1.420,0.940,1.110,
+1.330,0.146,0.899,1.250,1.220,1.960,0.977,1.660,1.620,1.700,
+1.650,1.630,0.125,0.130,0.087,0.124,1.260,0.121,0.830,1.170,
+1.010,1.450,1.120,1.520,2.340,1.430,1.070,1.820,1.580,1.320,
+0.823,1.290,2.340,0.194,1.160,1.890,2.220,2.340,1.840,3.490,
+4.800,2.930,1.750,3.170,2.170,1.590,1.060,1.540,2.330,0.265,
+0.984,1.680,2.440,2.260,1.070,2.240,3.490,2.860,1.430,2.080,
+2.050,1.380,1.330,1.370,2.420,0.256,1.340,1.850,1.670,2.260,
+1.130,1.870,2.240,2.340,1.340,2.080,0.271,0.242,0.162,0.311,
+1.810,0.196,0.877,1.270,1.270,1.890,0.952,1.660,2.500,1.440,
+1.180,2.410,2.410,1.630,1.120,1.750,2.260,0.230,1.070,1.920,
+2.410,2.010,1.810,4.370,0.380,0.257,0.120,0.213,0.231,0.229,
+0.119,0.227,0.223,0.057,0.098,0.172,0.193,0.356,0.115,0.208,
+0.259,0.227,0.108,0.164,0.216,0.210,0.136,0.170,0.231,0.050,
+0.140,0.189,0.159,0.306,0.111,0.175,0.149,0.224,0.108,0.155,
+0.040,0.038,0.023,0.029,0.203,0.040,0.129,0.152,0.129,0.258,
+0.109,0.172,0.209,0.164,0.111,0.223,0.327,0.279,0.173,0.254,
+0.274,0.035,0.145,0.236,0.235,0.245,0.182,0.399,2.160,1.590,
+0.902,1.240,1.530,1.240,1.050,1.090,1.940,0.308,0.916,1.220,
+1.280,1.440,1.000,1.490,0.175,0.187,0.094,0.121,0.113,0.136,
+0.115,0.090,0.162,0.036,0.123,0.138,0.156,0.256,0.126,0.141,
+1.520,1.860,1.010,1.130,0.143,0.156,0.114,0.128,1.350,0.181,
+0.673,0.910,0.800,1.420,0.887,1.080,1.540,1.030,0.759,0.993,
+1.410,1.400,1.000,1.190,2.030,0.252,1.240,1.510,1.310,1.940,
+1.350,1.970,2.410,1.390,0.844,1.710,1.300,0.810,0.650,0.890,
+1.530,0.167,0.679,1.240,1.860,1.400,0.876,1.990,2.490,1.800,
+1.210,1.660,1.590,1.320,1.130,1.260,1.890,0.189,1.140,1.570,
+2.040,2.040,1.180,1.740,1.720,1.910,1.290,1.640,0.155,0.165,
+0.119,0.159,1.660,0.162,1.030,1.380,1.220,1.670,1.190,1.670,
+2.180,1.300,1.180,1.670,1.760,1.440,1.250,1.480,2.450,0.224,
+1.670,2.370,2.440,2.590,2.080,3.840,6.050,3.040,1.920,4.200,
+1.920,1.250,0.984,1.320,2.170,0.233,0.887,1.590,3.580,2.650,
+1.350,3.020,2.520,1.520,0.971,1.880,1.330,0.773,0.747,0.976,
+1.550,0.151,0.774,1.370,1.440,1.560,0.772,1.630,2.210,1.830,
+1.050,2.220,0.211,0.187,0.117,0.260,1.490,0.131,0.664,1.160,
+1.410,1.630,0.853,1.700,3.040,1.530,1.330,3.530,2.130,1.410,
+1.130,1.820,1.820,0.161,0.975,1.740,2.820,2.170,1.830,4.480,
+4.730,2.450,1.400,2.720,2.570,1.730,1.090,1.600,2.490,0.351,
+0.943,1.790,2.560,3.830,1.110,2.380,2.760,1.950,0.943,1.800,
+1.920,1.540,0.924,1.240,2.160,0.343,0.973,1.880,1.600,2.650,
+0.845,1.910,1.810,1.720,0.861,1.660,0.159,0.172,0.094,0.161,
+1.860,0.206,1.010,1.550,1.560,2.340,1.040,1.880,2.120,1.310,
+0.965,2.080,2.080,1.610,1.110,1.920,2.180,0.193,1.090,1.910,
+2.250,2.210,1.510,3.280,2.580,1.690,0.931,1.640,1.810,1.170,
+0.873,1.310,2.310,0.364,0.942,1.490,2.140,2.120,1.350,2.300,
+0.170,0.142,0.084,0.160,0.101,0.109,0.090,0.108,0.222,0.049,
+0.151,0.178,0.207,0.327,0.123,0.204,1.590,1.740,1.180,1.370,
+0.133,0.123,0.274,0.145,1.440,0.158,0.740,1.060,1.040,1.400,
+1.150,1.420,1.610,1.060,0.796,1.450,1.760,1.320,1.190,1.710,
+2.450,0.409,1.200,1.940,1.720,1.820,1.410,2.530,4.010,1.800,
+1.250,2.650,1.730,1.060,0.857,1.240,2.170,0.197,0.907,1.630,
+2.930,2.160,1.560,3.680,2.040,1.220,0.880,1.680,1.300,0.860,
+0.814,1.070,1.750,0.166,0.901,1.580,1.860,1.990,1.040,1.970,
+2.320,1.980,1.280,2.220,0.154,0.138,0.113,0.184,2.620,0.177,
+1.120,1.850,2.160,2.360,1.700,2.520,3.680,1.910,1.560,3.670,
+2.370,1.990,1.560,2.370,3.690,0.240,2.120,3.740,4.720,3.540,
+3.270,6.800,7.420,4.380,3.600,5.640,4.690,3.140,2.090,2.610,
+4.090,0.481,1.780,2.860,4.790,4.400,2.080,4.240,4.480,3.030,
+1.760,2.310,3.160,2.040,1.530,1.620,2.490,0.241,1.570,2.020,
+1.800,2.140,1.330,2.050,2.390,2.390,1.490,2.180,0.217,0.248,
+0.150,0.271,2.030,0.193,0.938,1.100,1.390,1.960,1.110,1.750,
+3.380,1.970,2.180,3.610,2.680,2.750,1.580,2.300,3.040,0.375,
+1.270,2.200,2.800,2.290,1.850,3.650,6.270,3.440,1.870,2.800,
+3.750,2.610,1.400,1.700,2.720,0.383,1.300,1.750,2.310,2.740,
+1.000,2.120,3.520,2.670,1.120,1.510,2.420,1.680,1.210,1.310,
+2.210,0.329,1.400,2.070,1.400,2.060,0.929,1.650,1.790,2.180,
+1.110,1.340,0.228,0.243,0.155,0.174,1.820,0.287,1.250,1.450,
+1.200,2.480,1.190,1.770,1.580,1.220,0.875,1.310,1.790,1.700,
+1.100,1.290,1.880,0.232,1.040,2.990,1.440,1.670,1.130,3.010,
+2.910,1.450,0.934,1.530,2.320,1.450,1.060,1.310,2.480,0.341,
+0.881,1.480,1.740,1.560,1.040,2.330,0.231,0.194,0.105,0.148,
+0.273,0.207,0.137,0.145,0.187,0.055,0.131,0.185,0.167,0.302,
+0.137,0.221,1.190,1.120,0.827,0.911,0.128,0.122,0.092,0.121,
+1.020,0.134,0.667,0.848,0.722,0.982,0.706,0.908,2.280,0.804,
+0.611,1.030,1.530,1.220,0.777,1.150,1.520,0.280,0.872,1.430,
+1.190,1.250,1.150,2.090,4.330,1.560,0.988,1.990,2.290,1.110,
+0.679,1.010,2.020,0.197,0.772,1.190,2.510,1.780,1.100,2.640,
+3.880,2.130,1.170,1.700,4.070,1.970,1.150,1.450,1.760,0.184,
+0.973,1.580,1.500,1.920,1.030,1.810,1.470,1.160,1.020,1.350,
+0.123,0.104,0.099,0.130,1.050,0.108,0.747,0.970,0.936,1.270,
+0.921,1.280,2.860,1.280,0.961,1.980,1.530,1.310,0.813,1.210,
+2.030,0.202,1.120,1.980,2.300,2.260,1.840,3.850,5.150,3.130,
+2.000,3.150,3.370,2.590,1.690,1.940,2.180,0.272,1.080,1.670,
+2.400,2.480,1.130,2.300,3.590,2.510,1.380,1.710,2.850,2.210,
+1.670,1.570,1.670,0.240,1.200,1.580,1.160,1.960,0.948,1.460,
+1.560,1.690,1.080,1.400,0.166,0.203,0.137,0.205,1.180,0.162,
+0.914,1.040,1.030,1.410,0.877,1.350,1.670,1.030,0.955,1.680,
+1.730,1.760,1.020,1.430,1.300,0.150,0.912,1.430,2.080,1.590,
+1.170,2.590,4.710,2.820,1.150,1.680,2.890,2.590,1.320,1.430,
+2.060,0.295,0.921,1.240,1.660,1.990,0.747,1.580,2.680,2.020,
+0.788,1.060,1.130,0.546,0.687,0.643,1.710,0.416,0.945,1.410,
+0.991,2.110,0.959,1.130,1.350,2.170,0.934,1.160,0.180,0.377,
+0.142,0.166,1.500,0.313,0.928,1.400,0.908,2.110,1.020,1.480,
+1.080,1.050,0.781,1.010,1.460,2.100,0.824,1.060,1.260,0.186,
+0.840,1.990,1.060,1.500,0.887,3.140,2.770,1.500,1.010,1.160,
+2.080,1.920,1.260,1.230,1.770,0.288,0.931,1.130,1.220,1.680,
+0.994,1.690,0.163,0.218,0.135,0.127,0.207,0.308,0.184,0.125,
+0.158,0.067,0.165,0.151,0.115,0.368,0.128,0.149,1.180,1.690,
+1.150,1.110,0.153,0.298,0.142,0.156,1.070,0.177,0.790,1.010,
+0.627,1.390,0.997,1.060,1.090,0.753,0.608,0.873,1.500,1.850,
+1.130,1.310,1.370,0.166,1.110,1.430,1.030,1.190,1.280,1.880,
+2.130,1.120,0.725,1.190,1.490,1.010,0.575,0.766,1.610,0.138,
+0.542,0.807,1.440,1.150,0.625,1.350,1.840,1.540,0.934,1.110,
+1.810,1.910,0.941,1.030,1.400,0.177,0.826,1.090,0.964,1.840,
+0.827,1.190,1.110,1.260,0.881,1.080,0.094,0.123,0.075,0.101,
+0.872,0.098,0.759,0.917,0.682,1.160,1.030,1.190,1.330,0.855,
+0.637,1.190,1.250,1.160,0.664,0.975,1.260,0.130,0.848,1.300,
+1.450,1.700,1.360,2.550,4.440,2.540,1.430,2.550,2.240,1.500,
+0.934,1.360,2.060,0.258,0.977,1.330,1.820,1.840,0.830,1.770,
+3.710,3.070,1.200,1.780,2.380,1.910,1.350,1.430,2.650,0.347,
+1.960,2.090,1.330,2.140,0.970,1.620,1.730,1.960,1.210,1.870,
+0.402,0.237,0.152,0.308,1.810,0.228,0.891,1.350,0.993,1.710,
+0.829,1.490,1.730,1.170,0.821,1.850,1.990,1.510,0.977,1.550,
+1.710,0.214,1.040,1.870,1.760,1.610,1.460,3.400,0.705,0.223,
+0.112,0.171,0.370,0.274,0.146,0.163,0.203,0.058,0.123,0.150,
+0.155,0.286,0.138,0.219,0.341,0.253,0.120,0.149,0.292,0.368,
+0.211,0.175,0.403,0.176,0.264,0.288,0.130,0.349,0.114,0.184,
+0.235,0.215,0.117,0.142,0.183,0.077,0.043,0.037,0.375,0.084,
+0.219,0.212,0.139,0.283,0.137,0.155,0.165,0.113,0.073,0.151,
+0.698,0.300,0.147,0.212,0.202,0.040,0.157,0.251,0.148,0.167,
+0.139,0.312,2.270,1.730,1.190,1.450,1.810,1.960,1.220,1.330,
+1.980,0.370,1.270,1.430,1.280,1.600,1.100,1.810,0.172,0.266,
+0.127,0.131,0.167,0.408,0.192,0.139,0.182,0.073,0.224,0.194,
+0.138,0.314,0.153,0.163,1.200,1.780,0.970,1.110,0.168,0.231,
+0.139,0.168,1.480,0.257,0.792,1.220,0.718,1.620,0.917,1.140,
+1.150,0.822,0.584,0.917,1.460,1.730,1.010,1.290,1.660,0.279,
+1.650,1.800,1.040,1.530,1.350,2.040,2.290,1.210,0.890,1.530,
+1.260,0.824,0.766,0.849,1.470,0.163,0.773,1.360,1.500,1.230,
+0.756,1.990,2.390,2.050,1.090,1.420,2.110,2.230,1.340,1.330,
+2.190,0.281,1.650,2.130,1.540,2.230,1.210,1.750,1.360,1.720,
+1.950,1.590,0.157,0.175,0.144,0.151,1.540,0.200,1.300,1.510,
+1.030,1.890,1.190,1.660,1.690,1.190,0.971,1.600,2.000,1.540,
+0.966,1.240,2.290,0.226,1.990,2.400,2.100,2.370,1.920,3.230,
+3.490,1.810,1.230,2.730,1.760,1.040,0.782,1.510,1.670,0.174,
+0.788,1.490,2.010,1.600,0.803,2.180,2.240,1.480,0.786,1.520,
+1.260,0.830,0.700,1.040,1.420,0.180,0.839,1.390,1.030,1.280,
+0.613,1.590,1.410,1.380,0.750,1.500,0.125,0.104,0.067,0.175,
+1.110,0.114,0.570,0.984,0.875,1.420,0.575,1.290,1.810,1.160,
+0.825,2.180,1.260,0.965,0.686,1.500,1.300,0.138,0.699,1.500,
+1.890,1.550,1.200,3.430,4.920,1.910,1.070,1.980,2.450,1.700,
+1.050,1.410,2.110,0.345,0.976,1.700,1.790,2.650,0.802,1.860,
+2.680,1.920,0.802,1.400,2.010,1.840,1.000,1.270,3.540,0.906,
+1.450,2.790,1.740,3.680,0.963,2.300,1.390,1.540,0.723,1.170,
+0.267,0.182,0.100,0.147,1.800,0.244,1.110,1.560,1.280,2.370,
+0.881,1.540,1.290,0.905,0.633,1.400,1.750,1.420,0.832,1.530,
+1.530,0.183,1.010,1.690,1.410,1.620,1.080,2.430,1.780,1.100,
+0.777,1.200,1.470,1.260,0.837,1.160,1.580,0.224,0.925,1.270,
+1.180,1.280,0.937,1.780,0.110,0.104,0.061,0.094,0.083,0.136,
+0.079,0.091,0.119,0.035,0.097,0.119,0.103,0.185,0.085,0.138,
+0.890,1.110,0.632,0.898,0.081,0.092,0.067,0.105,1.180,0.152,
+0.759,1.160,0.707,1.170,0.783,1.140,1.070,0.798,0.568,1.070,
+1.270,1.160,0.759,1.240,1.660,0.534,1.210,1.740,1.140,1.580,
+1.220,2.020,2.510,1.380,0.906,1.930,1.170,0.865,0.617,0.877,
+1.460,0.138,0.791,1.170,1.620,1.260,0.883,2.180,1.790,1.090,
+0.669,1.060,1.210,1.030,0.706,1.020,1.430,0.122,0.857,1.230,
+1.300,1.330,0.824,1.520,1.480,1.310,0.942,1.380,0.108,0.106,
+0.062,0.122,1.360,0.128,0.925,1.380,1.240,1.830,1.230,1.760,
+2.280,1.410,1.030,2.170,1.940,2.110,1.130,1.720,2.550,0.246,
+1.840,2.780,3.440,2.780,2.440,3.380,5.150,3.010,2.320,4.570,
+3.240,2.210,1.720,2.350,3.110,0.337,1.330,2.080,4.380,3.510,
+2.340,4.140,2.600,1.670,1.090,1.590,1.780,1.110,1.110,1.220,
+1.560,0.156,0.930,1.180,1.370,1.430,1.150,1.580,2.080,1.560,
+1.020,1.770,0.173,0.152,0.109,0.243,1.330,0.132,0.746,1.140,
+1.110,1.390,0.924,1.490,2.620,1.300,1.150,2.490,1.980,1.640,
+1.240,1.880,1.720,0.167,1.110,1.460,2.210,1.430,1.590,2.990,
+4.690,2.790,1.550,2.680,3.020,2.150,1.510,1.690,2.270,0.289,
+0.933,1.390,2.030,2.180,0.975,2.300,2.430,1.970,1.000,1.340,
+1.900,1.280,1.280,1.140,1.940,0.258,1.030,1.490,1.250,1.730,
+0.877,1.390,2.170,2.050,1.110,1.640,0.217,0.248,0.155,0.226,
+2.600,0.294,1.380,1.740,1.420,2.170,1.200,1.600,1.800,1.290,
+0.799,1.680,2.250,2.440,1.130,1.740,1.810,0.183,0.973,1.570,
+1.610,1.520,1.280,2.590,2.710,1.400,0.899,1.590,2.530,1.720,
+1.390,1.660,4.980,0.625,1.080,1.580,2.660,2.330,1.230,2.470,
+0.224,0.205,0.112,0.174,0.221,0.208,0.182,0.185,0.454,0.085,
+0.177,0.231,0.336,0.612,0.180,0.338,1.260,1.100,1.100,1.160,
+0.147,0.135,0.123,0.177,1.430,0.188,0.748,0.883,0.966,1.710,
+0.794,1.010,1.100,0.680,0.551,1.010,1.510,1.250,1.010,1.450,
+1.410,0.163,0.887,1.110,1.370,1.300,1.070,1.850,3.080,1.280,
+0.998,2.210,1.720,1.030,0.883,1.320,2.820,0.263,0.795,1.340,
+3.720,2.490,1.250,3.330,2.310,1.620,1.020,1.440,1.710,1.220,
+1.030,1.180,2.900,0.302,1.130,1.680,2.560,2.960,1.190,2.250,
+1.440,1.390,1.080,1.600,0.133,0.113,0.118,0.193,1.560,0.160,
+0.910,1.350,1.320,1.790,1.290,1.830,2.300,1.330,1.170,2.580,
+1.490,1.060,1.200,1.790,2.550,0.227,1.400,2.360,3.540,2.910,
+2.760,5.350,0.238,0.177,0.120,0.186,0.212,0.174,0.112,0.164,
+0.162,0.026,0.076,0.110,0.152,0.184,0.109,0.173,0.196,0.170,
+0.104,0.117,0.188,0.169,0.156,0.134,0.139,0.038,0.112,0.121,
+0.087,0.173,0.105,0.123,0.122,0.135,0.093,0.124,0.020,0.026,
+0.019,0.027,0.102,0.020,0.094,0.118,0.078,0.140,0.090,0.128,
+0.143,0.107,0.110,0.169,0.174,0.172,0.133,0.169,0.142,0.020,
+0.120,0.149,0.158,0.136,0.151,0.245,0.260,0.246,0.127,0.154,
+0.233,0.255,0.152,0.146,0.163,0.044,0.086,0.099,0.112,0.185,
+0.080,0.127,0.228,0.273,0.116,0.121,0.249,0.202,0.216,0.151,
+0.204,0.072,0.141,0.183,0.107,0.230,0.106,0.126,0.149,0.235,
+0.121,0.135,0.032,0.065,0.042,0.034,0.248,0.076,0.190,0.181,
+0.107,0.260,0.143,0.150,0.137,0.127,0.089,0.149,0.207,0.305,
+0.132,0.195,0.155,0.027,0.114,0.160,0.107,0.146,0.123,0.253,
+0.161,0.124,0.072,0.102,0.180,0.197,0.149,0.173,0.293,0.070,
+0.120,0.119,0.128,0.216,0.100,0.147,0.015,0.040,0.015,0.017,
+0.028,0.049,0.053,0.037,0.053,0.050,0.051,0.036,0.020,0.081,
+0.033,0.027,0.109,0.170,0.241,0.139,0.023,0.052,0.052,0.031,
+0.167,0.069,0.130,0.132,0.099,0.339,0.134,0.125,0.104,0.075,
+0.071,0.105,0.160,0.192,0.162,0.161,0.160,0.039,0.152,0.142,
+0.107,0.157,0.138,0.187,0.206,0.172,0.110,0.180,0.152,0.128,
+0.092,0.123,0.200,0.026,0.079,0.110,0.274,0.253,0.131,0.276,
+0.243,0.276,0.139,0.167,0.234,0.246,0.197,0.206,0.358,0.083,
+0.181,0.213,0.307,0.609,0.181,0.273,0.117,0.172,0.126,0.145,
+0.016,0.025,0.019,0.023,0.157,0.032,0.134,0.167,0.121,0.219,
+0.157,0.194,0.170,0.134,0.099,0.175,0.139,0.139,0.110,0.162,
+0.213,0.024,0.152,0.222,0.221,0.252,0.221,0.374,2.960,1.930,
+1.280,2.230,1.980,1.700,1.250,1.570,1.900,0.207,0.866,1.270,
+1.650,1.440,0.907,1.670,2.050,1.720,1.140,1.410,1.990,1.540,
+2.070,1.430,2.090,0.263,1.590,1.710,1.400,1.730,1.070,1.530,
+1.630,2.020,1.330,1.890,0.225,0.285,0.204,0.368,2.030,0.305,
+1.130,1.570,1.170,2.850,1.110,1.750,1.520,1.010,0.794,1.620,
+1.520,1.430,1.160,1.720,1.710,0.215,1.190,1.980,1.790,1.750,
+1.640,3.200,0.203,0.190,0.100,0.144,0.224,0.310,0.156,0.171,
+0.149,0.039,0.088,0.123,0.121,0.172,0.082,0.156,0.149,0.172,
+0.088,0.093,0.217,0.218,0.226,0.143,0.213,0.059,0.185,0.189,
+0.136,0.181,0.092,0.109,0.134,0.206,0.107,0.144,0.028,0.053,
+0.036,0.034,0.207,0.066,0.166,0.204,0.118,0.298,0.128,0.152,
+0.171,0.123,0.082,0.166,0.224,0.267,0.153,0.230,0.174,0.034,
+0.144,0.248,0.146,0.174,0.158,0.277,1.620,1.420,0.970,1.020,
+1.980,2.070,3.010,1.540,1.790,0.360,1.320,1.510,1.100,1.470,
+1.510,1.670,0.131,0.196,0.146,0.113,0.183,0.253,1.020,0.175,
+0.179,0.056,0.243,0.187,0.203,0.278,0.171,0.171,1.250,1.530,
+1.120,1.120,0.167,0.209,0.245,0.190,1.330,0.214,0.603,0.990,
+0.641,1.280,1.110,1.230,0.949,0.709,0.591,0.794,1.300,1.470,
+1.360,1.340,1.340,0.209,1.310,1.560,0.998,1.320,1.460,2.040,
+1.600,1.020,0.798,1.300,1.260,0.951,0.951,0.920,1.460,0.177,
+0.823,1.200,1.870,1.310,0.830,1.600,1.970,1.680,1.200,1.330,
+2.020,1.960,3.610,1.490,1.900,0.239,1.570,1.870,3.660,2.360,
+1.380,1.780,1.400,2.030,1.160,1.490,0.158,0.244,0.206,0.195,
+1.720,0.221,1.410,1.790,1.190,1.990,1.400,1.800,1.450,1.030,
+0.805,1.400,1.350,1.330,1.050,1.330,1.900,0.210,1.780,2.290,
+1.990,2.290,2.000,3.260,3.190,1.730,1.220,2.550,1.680,1.240,
+0.976,1.830,1.650,0.191,0.673,1.210,1.950,1.780,0.998,2.220,
+1.700,1.090,0.686,1.060,1.120,0.690,0.785,0.891,1.050,0.100,
+0.569,0.923,0.833,0.917,0.599,1.060,1.800,1.460,0.844,1.540,
+0.149,0.134,0.095,0.212,1.190,0.137,0.653,1.150,1.090,1.570,
+0.832,1.470,2.010,1.100,0.942,1.900,1.550,1.120,0.983,1.580,
+1.350,0.127,1.190,1.420,1.960,1.540,1.480,3.210,3.380,2.190,
+1.330,2.310,2.490,2.300,1.460,1.890,1.870,0.263,0.998,1.470,
+1.730,2.220,0.900,2.000,2.290,2.170,1.010,1.420,2.440,1.780,
+1.540,1.470,2.130,0.328,1.450,1.920,1.240,2.010,1.100,1.420,
+1.800,2.130,1.010,1.620,0.180,0.239,0.139,0.232,2.060,0.298,
+1.350,2.100,1.910,2.920,1.390,2.130,1.810,1.260,1.070,1.890,
+2.100,1.910,1.400,2.250,1.890,0.186,1.280,2.150,1.830,1.890,
+1.810,3.180,2.090,1.440,1.430,1.750,1.910,1.510,1.510,1.740,
+1.870,0.271,1.070,1.650,1.360,1.640,1.240,2.150,0.129,0.139,
+0.090,0.122,0.121,0.154,0.189,0.134,0.124,0.027,0.124,0.177,
+0.123,0.219,0.118,0.170,1.350,1.480,1.010,1.290,0.128,0.148,
+0.130,0.184,1.440,0.206,0.975,1.530,0.928,1.670,1.140,1.610,
+1.300,0.864,0.745,1.180,1.650,1.440,1.430,1.840,1.490,0.194,
+1.560,1.900,1.400,1.440,1.730,2.550,2.480,1.320,1.090,2.000,
+1.500,1.050,0.963,1.210,1.650,0.184,0.853,1.490,2.130,1.610,
+1.160,2.850,1.690,1.350,0.808,1.260,1.330,1.220,1.210,1.140,
+1.310,0.127,0.918,1.650,1.550,1.590,1.030,1.860,1.740,1.830,
+1.170,1.940,0.142,0.153,0.103,0.194,2.130,0.213,1.490,2.610,
+1.680,2.380,1.780,2.470,2.710,1.500,1.300,2.770,2.100,1.860,
+1.540,2.280,2.810,0.223,2.140,3.430,3.460,2.940,2.980,4.660,
+6.140,3.300,3.100,6.710,3.080,1.710,1.530,2.460,3.500,0.324,
+1.250,2.550,5.290,4.140,1.970,4.990,3.130,1.710,1.390,2.170,
+1.700,0.898,0.826,1.130,1.750,0.136,0.955,1.370,2.030,1.870,
+1.160,2.180,3.020,1.710,1.320,2.480,0.198,0.132,0.104,0.258,
+1.740,0.138,0.827,1.260,1.770,1.720,1.130,2.220,3.670,1.720,
+1.730,3.890,2.320,1.450,1.290,2.320,2.430,0.185,1.460,1.940,
+3.580,2.170,2.100,4.840,4.070,1.960,1.220,2.420,2.030,1.120,
+0.823,1.220,1.880,0.175,0.660,1.150,2.100,1.740,0.775,1.960,
+1.910,1.250,0.691,1.130,1.150,0.768,0.599,0.783,1.380,0.117,
+0.595,0.977,1.290,1.200,0.669,1.260,1.680,1.310,0.874,1.490,
+0.118,0.096,0.068,0.127,1.460,0.126,0.712,1.120,1.340,1.520,
+0.859,1.440,1.710,1.120,0.801,1.750,1.330,1.040,0.612,1.120,
+1.450,0.108,0.790,1.340,1.580,1.320,1.080,2.440,3.150,1.620,
+1.190,2.240,2.060,1.180,1.060,1.700,3.040,0.315,0.814,1.400,
+3.300,2.160,1.170,2.970,0.187,0.137,0.085,0.162,0.148,0.100,
+0.081,0.132,0.186,0.023,0.083,0.135,0.393,0.365,0.132,0.286,
+1.290,1.220,1.120,1.420,0.112,0.079,0.082,0.136,1.480,0.132,
+0.965,1.100,1.170,1.270,0.905,1.330,1.460,0.873,0.788,1.560,
+1.440,0.939,0.785,1.430,1.450,0.135,0.796,1.330,1.920,1.340,
+1.310,2.690,4.730,1.820,1.440,3.480,2.060,1.070,0.981,1.610,
+4.300,0.381,1.130,1.870,7.800,3.880,1.720,5.170,2.640,1.610,
+1.060,1.710,1.560,0.973,0.793,1.160,2.460,0.203,0.906,1.500,
+4.620,3.660,1.450,3.130,2.180,1.620,1.260,2.100,0.153,0.099,
+0.090,0.166,1.760,0.132,1.100,1.440,2.090,1.980,1.470,2.460,
+3.680,1.950,1.760,4.140,2.230,1.230,1.210,2.020,3.050,0.214,
+1.560,2.880,5.620,3.710,3.540,8.150,5.290,2.950,1.990,4.080,
+3.460,2.020,1.350,2.100,2.520,0.272,1.090,1.890,3.050,2.790,
+1.420,3.210,3.040,1.910,1.290,2.010,2.470,1.480,1.210,1.550,
+1.860,0.208,1.720,1.590,1.440,2.080,1.190,1.810,2.140,1.930,
+1.390,2.280,0.190,0.188,0.132,0.261,1.570,0.190,1.150,2.010,
+1.660,2.070,1.430,2.680,2.390,1.420,1.410,2.750,2.160,1.800,
+1.300,2.280,1.780,0.173,1.280,1.960,2.620,1.730,1.770,3.750,
+4.020,2.620,1.560,2.450,2.860,1.910,1.210,1.440,1.980,0.231,
+0.778,1.230,1.900,2.050,0.865,1.920,2.590,2.190,0.988,1.420,
+2.050,1.320,1.120,1.360,1.800,0.240,0.989,1.480,1.280,2.050,
+0.917,1.480,1.990,2.170,1.300,1.880,0.204,0.220,0.132,0.184,
+2.220,0.278,1.320,1.790,1.830,2.420,1.390,2.230,1.750,1.470,
+1.170,2.190,1.770,2.100,0.946,1.660,1.720,0.170,1.070,1.770,
+1.590,1.540,1.220,2.720,2.960,1.650,0.923,1.580,2.270,1.900,
+1.260,1.590,2.820,0.400,0.952,1.260,2.400,2.550,1.100,2.530,
+0.146,0.166,0.082,0.141,0.155,0.186,0.136,0.158,0.209,0.063,
+0.132,0.144,0.242,0.526,0.149,0.228,1.750,2.600,1.580,1.840,
+0.153,0.198,0.143,0.204,1.740,0.251,0.919,1.270,1.320,2.380,
+1.260,1.800,1.620,1.270,0.966,1.700,1.810,1.840,1.440,2.020,
+1.890,0.177,1.150,1.650,1.850,1.680,1.590,2.900,3.080,1.760,
+1.230,2.410,1.690,1.270,0.936,1.380,2.680,0.276,0.982,1.500,
+4.380,3.330,1.400,3.650,2.620,2.210,1.310,1.900,1.870,1.850,
+1.330,1.700,3.070,0.444,1.390,1.890,4.110,7.520,1.930,3.360,
+2.020,2.050,1.320,2.020,0.152,0.150,0.094,0.176,1.890,0.197,
+1.210,1.740,1.770,2.640,1.630,2.710,2.530,1.610,1.320,2.410,
+1.950,1.580,1.140,1.970,2.590,0.217,1.510,2.720,3.390,3.200,
+2.550,5.120,3.550,2.150,1.300,2.660,1.760,1.460,0.871,1.500,
+1.980,0.190,0.796,1.450,2.100,1.640,0.920,2.120,2.490,2.130,
+1.080,1.660,1.780,1.380,1.150,1.270,1.940,0.223,1.210,1.700,
+1.580,1.940,1.070,1.950,2.010,2.070,1.290,2.250,0.194,0.223,
+0.147,0.314,1.780,0.217,1.060,1.870,1.340,2.170,1.270,2.320,
+2.030,1.350,0.992,2.360,1.730,1.490,1.030,1.860,2.160,0.225,
+1.230,2.350,2.450,2.020,1.800,4.140,0.210,0.167,0.094,0.189,
+0.164,0.178,0.084,0.135,0.133,0.021,0.074,0.112,0.144,0.170,
+0.080,0.175,0.134,0.145,0.065,0.089,0.162,0.195,0.102,0.106,
+0.162,0.034,0.140,0.180,0.111,0.178,0.082,0.128,0.100,0.145,
+0.073,0.118,0.019,0.023,0.015,0.020,0.144,0.033,0.122,0.158,
+0.103,0.202,0.105,0.151,0.143,0.129,0.083,0.189,0.198,0.209,
+0.101,0.182,0.172,0.026,0.110,0.196,0.171,0.162,0.129,0.297,
+2.090,1.440,0.905,1.190,1.760,1.590,1.250,1.320,2.050,0.319,
+1.030,1.420,1.460,1.810,1.580,2.030,0.120,0.133,0.072,0.088,
+0.118,0.144,0.138,0.091,0.140,0.034,0.112,0.128,0.151,0.256,
+0.148,0.182,1.300,1.780,1.020,1.330,0.144,0.175,0.132,0.153,
+1.780,0.232,0.857,1.440,1.010,1.840,1.250,1.740,1.380,1.040,
+0.768,1.200,1.530,1.550,1.150,1.480,2.090,0.220,1.430,1.930,
+1.700,1.810,1.980,3.320,2.350,1.270,0.925,1.740,1.430,0.971,
+0.804,1.070,1.890,0.192,0.944,1.490,2.030,1.590,1.210,2.590,
+2.190,1.680,1.110,1.590,1.680,1.560,1.360,1.290,2.070,0.221,
+1.430,1.940,2.180,2.670,1.760,2.570,1.780,1.910,1.350,1.920,
+0.136,0.161,0.121,0.166,2.150,0.194,1.430,2.040,1.730,2.330,
+1.730,2.510,2.150,1.490,1.360,2.220,1.630,1.440,1.070,1.500,
+2.890,0.235,2.050,3.160,3.200,3.020,2.680,4.880,5.730,2.520,
+1.970,4.380,2.250,1.380,1.130,2.390,2.670,0.232,0.988,2.180,
+3.450,2.380,1.510,3.810,2.560,1.460,0.921,1.560,1.400,0.884,
+0.823,1.220,1.630,0.140,0.899,1.790,1.400,1.320,0.839,1.820,
+2.100,1.800,1.050,2.440,0.165,0.162,0.104,0.288,1.560,0.159,
+0.783,1.600,1.600,1.830,1.070,2.270,2.850,1.500,1.340,3.440,
+1.790,1.190,1.050,2.210,2.040,0.161,1.060,2.360,3.180,2.150,
+1.970,5.540,4.190,2.300,1.720,3.290,1.960,1.490,1.170,1.790,
+1.890,0.197,0.897,1.590,2.060,1.970,0.914,2.310,2.250,1.710,
+0.823,1.350,1.620,1.360,0.835,1.170,1.920,0.233,1.690,1.780,
+1.380,1.780,1.020,1.670,1.590,1.680,0.790,1.640,0.106,0.138,
+0.071,0.146,1.670,0.178,1.580,1.700,1.560,2.180,1.090,2.080,
+1.920,1.450,1.120,2.200,1.640,1.420,0.933,1.790,1.800,0.137,
+1.050,1.860,2.000,1.860,1.400,3.320,3.110,1.910,1.530,2.150,
+2.100,1.490,1.290,1.980,2.810,0.332,1.120,2.150,2.700,2.400,
+1.870,3.610,0.179,0.174,0.088,0.149,0.112,0.116,0.094,0.141,
+0.152,0.020,0.095,0.165,0.198,0.255,0.137,0.265,1.830,2.020,
+1.140,2.020,0.123,0.140,0.110,0.188,2.040,0.215,1.280,1.870,
+1.460,1.990,1.520,2.480,2.340,1.620,1.160,2.260,2.090,1.780,
+1.460,2.550,2.960,0.239,1.700,2.860,2.540,2.160,2.330,4.340,
+5.790,2.530,2.170,4.060,2.430,1.510,1.410,2.050,3.200,0.269,
+1.460,2.810,4.650,3.140,2.230,6.360,3.280,2.220,1.270,2.200,
+2.050,1.710,1.240,1.890,2.710,0.207,1.470,2.810,2.910,3.080,
+1.800,4.090,2.950,2.660,1.720,3.220,0.173,0.164,0.106,0.235,
+3.170,0.237,1.900,3.340,3.090,3.480,2.710,4.610,6.350,2.910,
+2.590,6.080,3.440,2.630,2.070,3.950,5.310,0.320,3.500,6.410,
+6.420,4.570,4.750,5.990,4.820,3.710,2.630,4.350,3.820,2.090,
+1.980,2.290,4.030,0.352,2.350,2.780,5.410,3.700,2.690,4.450,
+3.870,2.160,1.860,2.290,2.280,1.330,1.340,1.310,2.200,0.167,
+1.430,1.630,1.970,1.700,1.360,2.070,2.590,1.810,1.600,2.260,
+0.223,0.175,0.151,0.273,1.690,0.139,0.999,1.270,1.910,1.790,
+1.400,1.940,4.070,2.000,2.020,3.910,2.950,1.960,1.780,2.530,
+2.550,0.202,1.470,2.010,3.310,2.010,2.150,3.720,4.300,2.200,
+1.490,2.310,2.170,1.340,0.995,1.320,2.010,0.184,1.120,1.360,
+1.920,1.670,1.030,1.740,2.510,1.560,1.030,1.350,1.400,0.831,
+0.817,0.874,1.550,0.131,0.882,1.270,1.250,1.470,0.922,1.260,
+1.680,1.470,0.931,1.270,0.171,0.113,0.083,0.130,1.380,0.114,
+0.736,0.961,1.190,1.230,0.806,1.090,1.760,1.170,0.858,1.560,
+1.650,1.230,0.889,1.300,1.570,0.131,0.929,1.300,1.670,1.400,
+1.190,2.060,3.690,1.520,1.340,1.810,2.630,1.290,1.190,1.470,
+1.860,0.220,0.967,1.360,1.930,1.570,1.520,2.520,0.238,0.184,
+0.104,0.155,0.178,0.111,0.098,0.118,0.151,0.023,0.102,0.130,
+0.208,0.256,0.148,0.237,1.530,1.020,0.898,1.070,0.131,0.091,
+0.079,0.116,1.230,0.165,0.664,0.831,1.230,1.100,0.888,1.090,
+1.440,0.788,0.740,1.270,1.680,1.070,0.874,1.360,1.550,0.148,
+0.946,1.470,1.390,1.250,1.290,2.240,4.930,1.720,1.710,3.070,
+2.020,1.030,1.140,1.350,1.880,0.181,0.985,1.470,2.610,1.710,
+1.680,3.560,2.970,1.510,1.320,1.770,1.850,0.990,0.961,1.130,
+1.510,0.115,0.971,1.270,1.810,1.580,1.300,2.100,2.500,1.370,
+1.170,1.690,0.142,0.084,0.082,0.139,1.200,0.090,0.733,1.020,
+1.170,1.140,1.040,1.480,2.640,1.200,1.260,2.470,1.530,0.772,
+0.902,1.380,1.900,0.122,1.170,1.900,2.660,1.860,2.180,4.200,
+5.560,3.180,2.620,3.990,2.620,1.760,1.630,1.910,2.060,0.208,
+1.160,1.750,2.540,2.270,2.070,2.940,3.640,2.310,1.560,2.040,
+1.920,1.300,1.450,1.320,1.960,0.196,1.290,1.790,1.450,1.610,
+1.200,1.780,2.040,1.560,1.320,1.600,0.158,0.151,0.123,0.186,
+1.080,0.110,0.779,1.040,1.070,1.300,0.972,1.540,2.270,1.170,
+1.080,2.050,1.750,1.520,1.110,1.490,1.510,0.145,0.916,1.720,
+1.740,1.330,1.500,2.810,3.800,2.450,1.340,2.050,2.060,1.540,
+1.070,1.330,1.410,0.165,0.829,1.150,1.330,1.460,0.883,1.430,
+2.390,1.600,1.060,1.280,1.100,0.471,0.791,0.797,1.300,0.145,
+0.962,1.330,1.170,1.190,0.844,1.140,1.600,1.690,1.020,1.300,
+0.125,0.134,0.099,0.123,1.280,0.188,0.902,1.040,0.846,1.530,
+0.848,1.180,1.370,0.974,0.724,1.080,1.290,1.060,0.724,0.911,
+1.130,0.106,0.743,0.976,1.050,1.020,0.809,1.540,2.810,1.660,
+1.130,1.700,1.950,1.610,1.680,1.560,1.630,0.212,1.100,1.490,
+1.410,1.490,1.530,2.180,0.183,0.223,0.116,0.186,0.144,0.166,
+0.154,0.149,0.139,0.039,0.159,0.185,0.137,0.263,0.172,0.214,
+1.440,1.820,1.310,1.370,0.149,0.333,0.146,0.155,1.250,0.206,
+0.992,1.180,0.930,2.020,1.400,1.470,1.150,0.790,0.819,1.210,
+1.650,1.680,1.280,1.510,1.430,0.139,1.210,1.720,1.210,1.280,
+1.450,2.030,2.660,1.530,1.220,2.170,1.450,0.951,1.050,1.280,
+1.140,0.107,0.675,1.140,1.510,1.250,1.150,2.130,2.450,1.680,
+1.260,2.040,1.620,1.260,1.130,1.730,1.310,0.120,1.040,1.510,
+1.360,1.680,1.250,2.100,1.400,1.540,1.140,1.610,0.102,0.117,
+0.079,0.126,0.935,0.093,0.795,1.100,0.929,1.250,1.260,1.610,
+1.770,1.070,1.060,1.770,1.700,1.060,0.892,1.450,1.490,0.110,
+1.090,1.890,1.920,1.760,2.080,3.290,3.840,2.850,1.670,2.750,
+2.000,1.890,1.110,1.350,1.780,0.198,0.978,1.500,2.030,1.860,
+1.150,2.160,3.280,2.480,1.550,2.060,2.010,1.770,1.740,1.510,
+2.400,0.252,1.580,2.420,1.630,2.130,1.260,1.950,2.070,2.530,
+2.240,1.980,0.234,0.275,0.206,0.302,1.990,0.201,1.020,1.380,
+1.270,1.930,1.160,1.670,2.350,1.500,1.340,2.310,2.180,1.980,
+1.330,1.840,2.300,0.214,1.270,2.060,2.240,1.970,1.750,3.960,
+0.306,0.316,0.149,0.223,0.422,0.694,0.144,0.190,0.196,0.050,
+0.138,0.185,0.169,0.249,0.137,0.206,0.278,0.268,0.144,0.178,
+0.239,0.314,0.159,0.151,0.284,0.054,0.198,0.393,0.164,0.289,
+0.145,0.204,0.185,0.262,0.164,0.161,0.033,0.047,0.032,0.029,
+0.637,0.059,0.231,0.235,0.180,0.288,0.147,0.184,0.301,0.217,
+0.155,0.272,0.479,0.413,0.233,0.304,0.316,0.043,0.207,0.295,
+0.275,0.297,0.222,0.434,2.200,1.620,1.070,1.360,1.520,1.410,
+1.230,1.190,1.990,0.331,1.860,1.780,1.340,1.560,1.840,2.030,
+0.184,0.217,0.107,0.135,0.157,0.163,0.127,0.100,0.215,0.049,
+0.190,0.184,0.165,0.269,0.198,0.196,1.460,1.970,1.120,1.120,
+0.258,0.206,0.147,0.165,1.570,0.185,0.991,1.020,0.888,1.370,
+1.110,1.140,1.410,1.130,0.875,1.050,3.110,2.150,1.220,1.390,
+1.730,0.209,1.990,1.850,1.210,1.410,1.560,1.980,2.060,1.230,
+0.929,1.810,1.270,0.865,0.735,0.856,1.400,0.139,0.858,1.160,
+1.380,1.190,1.150,1.890,2.560,1.890,1.240,1.960,1.970,1.630,
+1.210,1.250,2.230,0.185,1.430,1.850,1.690,2.040,1.500,2.020,
+1.500,1.600,1.240,1.490,0.278,0.153,0.129,0.148,1.470,0.142,
+1.140,1.330,1.130,1.730,1.280,1.660,2.410,1.290,1.240,1.740,
+5.420,1.600,1.180,1.420,2.140,0.177,1.850,2.320,2.310,2.170,
+2.180,3.270,4.410,2.240,1.640,3.090,1.680,1.160,0.995,1.240,
+1.710,0.157,0.856,1.370,2.410,1.750,1.380,2.710,2.160,1.290,
+0.964,1.430,1.160,0.820,0.800,0.943,1.550,0.137,0.844,1.960,
+1.270,1.110,0.818,1.540,1.880,1.660,1.050,1.720,0.160,0.163,
+0.093,0.199,1.320,0.123,0.640,1.100,1.100,1.460,0.866,1.630,
+2.620,1.420,1.350,3.250,1.870,1.490,1.100,1.800,2.250,0.164,
+1.050,1.710,2.470,1.770,1.790,4.060,3.250,2.010,1.180,2.120,
+2.260,1.770,0.958,1.260,1.610,0.179,0.960,1.370,1.510,1.640,
+1.020,1.850,2.240,1.630,0.830,1.230,1.580,1.760,0.807,0.927,
+1.920,0.307,1.080,1.950,1.300,1.880,0.790,1.390,1.540,1.490,
+0.847,1.370,0.131,0.147,0.080,0.131,2.140,0.171,1.030,1.570,
+1.310,1.650,0.902,1.630,2.000,1.200,0.982,1.850,1.900,1.460,
+1.040,1.540,2.110,0.171,1.210,1.850,1.860,1.870,1.360,2.770,
+2.650,1.500,1.180,1.720,2.140,1.430,1.280,1.620,2.230,0.264,
+1.740,1.970,1.870,1.620,3.190,2.900,0.254,0.174,0.110,0.169,
+0.136,0.134,0.113,0.126,0.179,0.028,0.167,0.199,0.191,0.243,
+0.232,0.248,1.490,1.540,1.030,1.590,0.131,0.124,0.111,0.169,
+1.720,0.183,1.180,1.460,1.190,1.710,1.420,1.820,1.710,1.160,
+1.080,1.970,2.050,1.540,1.350,2.050,2.730,0.227,1.840,2.740,
+1.920,1.760,2.070,3.230,3.690,1.750,1.440,2.630,1.820,1.200,
+1.150,1.510,1.960,0.179,1.090,1.680,2.550,1.800,1.950,3.970,
+2.010,1.300,0.984,1.660,1.170,0.805,0.937,1.110,1.630,0.120,
+1.250,1.740,1.710,1.650,1.380,2.300,2.110,1.900,1.430,2.600,
+0.170,0.130,0.107,0.218,2.040,0.161,1.340,1.970,2.230,2.350,
+2.050,2.960,3.950,2.020,1.990,4.080,3.120,1.890,1.820,2.810,
+3.720,0.212,2.600,4.110,5.350,3.580,4.030,6.450,0.316,0.249,
+0.198,0.281,0.234,0.180,0.158,0.167,0.214,0.027,0.169,0.187,
+0.241,0.219,0.163,0.217,0.241,0.191,0.144,0.161,0.179,0.141,
+0.147,0.132,0.155,0.021,0.131,0.149,0.138,0.160,0.128,0.167,
+0.148,0.131,0.125,0.147,0.018,0.027,0.018,0.022,0.118,0.013,
+0.094,0.088,0.095,0.134,0.140,0.130,0.206,0.139,0.139,0.215,
+0.221,0.303,0.162,0.191,0.211,0.035,0.142,0.167,0.191,0.172,
+0.169,0.267,0.305,0.210,0.154,0.190,0.217,0.156,0.138,0.126,
+0.207,0.036,0.528,0.217,0.145,0.181,0.157,0.171,0.232,0.207,
+0.134,0.136,0.171,0.134,0.142,0.125,0.215,0.038,0.190,0.248,
+0.125,0.188,0.126,0.161,0.127,0.148,0.122,0.123,0.020,0.022,
+0.037,0.018,0.188,0.026,0.114,0.112,0.098,0.164,0.105,0.115,
+0.125,0.098,0.089,0.126,0.155,0.135,0.127,0.144,0.150,0.017,
+0.134,0.156,0.139,0.140,0.139,0.221,0.218,0.121,0.088,0.126,
+0.184,0.115,0.117,0.116,0.154,0.025,0.124,0.129,0.132,0.130,
+0.130,0.190,0.020,0.027,0.017,0.017,0.018,0.021,0.022,0.015,
+0.024,7.77e-3,0.022,0.020,0.018,0.034,0.025,0.026,0.102,0.098,
+0.105,0.097,0.014,0.017,0.019,0.015,0.105,0.023,0.086,0.087,
+0.073,0.124,0.114,0.107,0.091,0.058,0.069,0.102,0.138,0.103,
+0.098,0.131,0.134,0.020,0.104,0.144,0.103,0.120,0.144,0.207,
+0.283,0.122,0.110,0.184,0.176,0.091,0.089,0.100,0.150,0.021,
+0.091,0.120,0.195,0.147,0.120,0.259,0.229,0.171,0.135,0.171,
+0.209,0.149,0.136,0.138,0.174,0.025,0.127,0.168,0.148,0.185,
+0.139,0.236,0.155,0.120,0.131,0.154,0.034,0.018,0.022,0.020,
+0.124,0.016,0.095,0.133,0.114,0.136,0.137,0.157,0.191,0.102,
+0.099,0.184,0.240,0.110,0.104,0.146,0.183,0.023,0.139,0.222,
+0.221,0.210,0.235,0.427,0.283,0.188,0.150,0.197,0.190,0.152,
+0.129,0.141,0.133,0.020,0.090,0.108,0.138,0.150,0.119,0.155,
+0.202,0.163,0.121,0.119,0.166,0.150,0.148,0.125,0.138,0.030,
+0.131,0.139,0.079,0.134,0.103,0.119,0.106,0.117,0.088,0.088,
+0.013,0.018,0.015,0.017,0.072,0.012,0.076,0.071,0.057,0.095,
+0.081,0.100,0.106,0.076,0.062,0.104,0.115,0.125,0.090,0.100,
+0.120,0.016,0.086,0.121,0.115,0.106,0.107,0.179,0.245,0.217,
+0.115,0.134,0.192,0.219,0.135,0.139,0.131,0.026,0.122,0.108,
+0.104,0.133,0.082,0.117,0.224,0.236,0.136,0.123,0.187,0.123,
+0.161,0.146,0.185,0.047,0.161,0.173,0.112,0.187,0.125,0.123,
+0.114,0.195,0.112,0.108,0.017,0.036,0.031,0.020,0.161,0.042,
+0.117,0.113,0.065,0.159,0.113,0.113,0.102,0.085,0.086,0.087,
+0.116,0.137,0.094,0.103,0.112,0.015,0.091,0.113,0.091,0.101,
+0.100,0.166,0.183,0.131,0.087,0.105,0.160,0.162,0.148,0.118,
+0.134,0.026,0.102,0.124,0.109,0.132,0.128,0.163,0.016,0.029,
+0.018,0.018,0.021,0.038,0.041,0.018,0.021,0.015,0.033,0.028,
+0.011,0.036,0.028,0.019,0.121,0.207,0.139,0.129,0.023,0.074,
+0.037,0.024,0.135,0.044,0.132,0.123,0.066,0.186,0.162,0.141,
+0.080,0.058,0.077,0.090,0.129,0.180,0.144,0.136,0.177,0.024,
+0.152,0.162,0.092,0.112,0.165,0.170,0.175,0.104,0.080,0.140,
+0.107,0.080,0.076,0.089,0.094,0.011,0.064,0.080,0.107,0.102,
+0.084,0.158,0.157,0.149,0.109,0.132,0.143,0.147,0.121,0.152,
+0.117,0.022,0.120,0.141,0.097,0.159,0.120,0.149,0.094,0.123,
+0.106,0.117,0.012,0.015,0.014,0.012,0.086,0.016,0.089,0.093,
+0.073,0.109,0.112,0.126,0.111,0.069,0.073,0.113,0.154,0.092,
+0.085,0.110,0.114,0.012,0.104,0.141,0.128,0.144,0.171,0.240,
+0.256,0.203,0.123,0.185,0.156,0.180,0.100,0.109,0.159,0.019,
+0.101,0.103,0.126,0.124,0.082,0.136,0.224,0.218,0.128,0.142,
+0.186,0.248,0.175,0.150,0.294,0.048,0.198,0.273,0.112,0.204,
+0.111,0.150,0.144,0.171,0.146,0.136,0.029,0.030,0.030,0.031,
+0.542,0.047,0.149,0.155,0.108,0.150,0.161,0.132,0.132,0.095,
+0.081,0.142,0.198,0.144,0.123,0.177,0.215,0.033,0.125,0.175,
+0.146,0.143,0.145,0.256,0.023,0.025,0.014,0.018,0.037,0.051,
+0.021,0.020,0.029,9.94e-3,0.023,0.017,0.015,0.027,0.018,0.019,
+0.024,0.043,0.022,0.021,0.039,0.066,0.042,0.028,0.042,0.030,
+0.055,0.068,0.016,0.042,0.023,0.029,0.021,0.038,0.032,0.017,
+0.013,0.018,0.020,7.27e-3,0.405,0.045,0.103,0.072,0.035,0.052,
+0.037,0.021,0.017,0.014,9.61e-3,0.016,0.063,0.036,0.028,0.027,
+0.059,0.010,0.032,0.035,0.021,0.023,0.025,0.032,0.211,0.202,
+0.116,0.118,0.147,0.188,0.168,0.130,0.280,0.048,0.207,0.185,
+0.128,0.170,0.199,0.257,0.019,0.045,0.021,0.018,0.028,0.049,
+0.043,0.018,0.034,0.026,0.067,0.040,0.017,0.043,0.037,0.025,
+0.135,0.278,0.146,0.126,0.031,0.044,0.044,0.026,0.201,0.049,
+0.165,0.149,0.075,0.187,0.168,0.143,0.141,0.099,0.094,0.102,
+0.422,0.207,0.167,0.162,0.217,0.042,0.242,0.221,0.112,0.153,
+0.185,0.219,0.175,0.123,0.096,0.163,0.146,0.088,0.075,0.084,
+0.158,0.015,0.092,0.129,0.123,0.120,0.104,0.172,0.231,0.223,
+0.131,0.182,0.321,0.247,0.170,0.157,0.217,0.036,0.216,0.237,
+0.143,0.238,0.181,0.210,0.153,0.185,0.156,0.155,0.085,0.027,
+0.026,0.021,0.198,0.030,0.159,0.178,0.113,0.201,0.159,0.178,
+0.350,0.112,0.097,0.145,2.380,0.223,0.154,0.183,0.307,0.026,
+0.197,0.238,0.249,0.241,0.217,0.308,0.290,0.188,0.144,0.242,
+0.203,0.129,0.116,0.241,0.194,0.019,0.091,0.159,0.194,0.158,
+0.118,0.230,0.194,0.138,0.098,0.131,0.138,0.101,0.099,0.130,
+0.155,0.018,0.107,0.201,0.112,0.122,0.092,0.154,0.138,0.130,
+0.101,0.162,0.013,0.016,0.012,0.026,0.177,0.016,0.082,0.116,
+0.097,0.131,0.095,0.151,0.187,0.122,0.132,0.269,0.174,0.132,
+0.120,0.264,0.233,0.020,0.107,0.227,0.240,0.177,0.184,0.448,
+0.377,0.225,0.157,0.255,0.246,0.217,0.149,0.178,0.213,0.032,
+0.138,0.194,0.167,0.223,0.156,0.231,0.303,0.255,0.138,0.180,
+0.245,0.249,0.182,0.179,0.279,0.058,0.208,0.347,0.177,0.331,
+0.155,0.253,0.162,0.202,0.130,0.164,0.022,0.029,0.027,0.028,
+0.666,0.055,0.219,0.279,0.170,0.246,0.139,0.199,0.191,0.131,
+0.117,0.212,0.255,0.199,0.173,0.264,0.270,0.027,0.200,0.268,
+0.215,0.229,0.205,0.360,0.201,0.140,0.110,0.143,0.181,0.145,
+0.143,0.150,0.215,0.032,0.181,0.193,0.140,0.166,0.263,0.267,
+0.019,0.018,0.011,0.017,0.015,0.023,0.020,0.017,0.018,7.19e-3,
+0.024,0.022,0.017,0.032,0.035,0.028,0.120,0.162,0.123,0.143,
+0.016,0.021,0.022,0.027,0.183,0.030,0.148,0.171,0.099,0.188,
+0.182,0.181,0.127,0.096,0.097,0.151,0.188,0.138,0.149,0.202,
+0.266,0.032,0.232,0.291,0.160,0.181,0.253,0.319,0.261,0.174,
+0.127,0.209,0.152,0.122,0.121,0.151,0.160,0.022,0.107,0.158,
+0.185,0.166,0.157,0.316,0.179,0.135,0.106,0.152,0.143,0.122,
+0.116,0.134,0.138,0.016,0.131,0.181,0.147,0.170,0.149,0.238,
+0.180,0.179,0.140,0.207,0.020,0.016,0.014,0.023,0.177,0.020,
+0.148,0.217,0.175,0.216,0.201,0.270,0.280,0.152,0.164,0.299,
+0.478,0.185,0.168,0.265,0.312,0.024,0.265,0.384,0.410,0.341,
+0.393,0.556,3.460,2.370,1.810,3.530,2.250,1.700,1.350,1.710,
+2.080,0.211,1.530,1.900,2.780,2.270,1.550,2.580,2.330,1.570,
+1.010,1.550,1.540,1.000,0.964,1.130,1.380,0.129,0.959,1.200,
+1.210,1.300,1.050,1.570,1.750,1.330,0.972,1.450,0.130,0.108,
+0.090,0.169,1.200,0.115,0.827,0.947,0.971,1.110,0.960,1.330,
+1.770,0.938,0.755,1.610,1.310,0.905,0.787,1.150,1.690,0.116,
+1.000,1.240,1.620,0.868,1.180,2.230,3.350,2.080,1.270,2.720,
+2.130,1.510,1.220,1.350,1.570,0.178,0.990,1.250,1.430,1.530,
+0.928,1.650,2.490,2.230,1.110,1.610,1.640,1.030,1.220,1.080,
+1.930,0.246,1.330,2.030,1.200,1.620,1.070,1.440,1.860,1.750,
+1.200,1.470,0.171,0.172,0.143,0.180,1.840,0.215,1.410,1.820,
+1.130,1.560,1.260,1.450,1.380,0.971,0.642,1.160,1.610,1.310,
+0.946,1.380,1.430,0.126,1.090,1.650,1.260,1.120,1.220,2.300,
+2.370,1.230,0.803,1.450,2.270,1.540,1.340,1.470,2.140,0.291,
+1.050,1.380,1.640,1.730,1.250,2.050,0.259,0.228,0.120,0.185,
+0.258,0.219,0.182,0.188,0.250,0.054,0.182,0.236,0.260,0.433,
+0.236,0.377,1.320,1.190,1.120,1.400,0.172,0.160,0.174,0.179,
+2.340,0.590,1.130,1.250,1.000,1.810,1.150,1.200,1.010,0.729,
+0.576,0.900,1.620,1.260,1.100,1.410,1.550,0.207,1.060,1.420,
+1.260,1.230,1.350,1.830,2.520,1.030,0.770,1.560,1.330,0.815,
+0.718,0.893,1.500,0.140,0.700,0.980,1.740,1.440,1.030,2.130,
+2.320,1.590,0.894,1.270,1.540,1.130,0.966,1.040,1.530,0.135,
+1.010,1.390,1.590,1.700,1.360,2.620,1.670,1.450,1.340,1.610,
+0.157,0.117,0.121,0.163,3.280,0.266,1.260,1.610,1.540,1.810,
+1.660,1.910,1.940,1.090,0.922,1.700,1.370,0.816,0.995,1.340,
+2.920,0.216,1.480,2.240,2.610,2.030,2.270,3.820,0.230,0.178,
+0.130,0.196,0.168,0.163,0.120,0.149,0.130,0.019,0.079,0.103,
+0.129,0.137,0.114,0.161,0.192,0.183,0.131,0.160,0.187,0.167,
+0.170,0.146,0.166,0.035,0.127,0.157,0.096,0.147,0.125,0.147,
+0.109,0.116,0.074,0.092,0.017,0.024,0.016,0.021,0.091,0.025,
+0.082,0.102,0.060,0.106,0.084,0.110,0.108,0.074,0.054,0.098,
+0.119,0.117,0.081,0.105,0.107,0.013,0.080,0.114,0.109,0.092,
+0.122,0.212,0.198,0.189,0.102,0.151,0.151,0.173,0.131,0.123,
+0.102,0.026,0.077,0.085,0.077,0.112,0.077,0.103,0.216,0.348,
+0.123,0.132,0.173,0.144,0.168,0.113,0.191,0.080,0.162,0.183,
+0.089,0.184,0.113,0.125,0.104,0.171,0.101,0.095,0.021,0.041,
+0.036,0.023,0.191,0.067,0.179,0.194,0.097,0.180,0.124,0.121,
+0.086,0.069,0.052,0.073,0.112,0.115,0.086,0.101,0.100,0.017,
+0.090,0.111,0.069,0.085,0.087,0.140,0.161,0.126,0.074,0.093,
+0.177,0.188,0.170,0.132,0.159,0.044,0.109,0.115,0.089,0.139,
+0.130,0.145,0.020,0.035,0.017,0.020,0.031,0.048,0.052,0.029,
+0.027,0.028,0.047,0.031,0.015,0.049,0.036,0.027,0.099,0.182,
+0.131,0.134,0.028,0.060,0.058,0.027,0.437,0.323,0.224,0.190,
+0.105,0.448,0.199,0.151,0.077,0.059,0.061,0.078,0.134,0.164,
+0.147,0.157,0.152,0.052,0.151,0.138,0.077,0.134,0.148,0.156,
+0.226,0.161,0.105,0.164,0.130,0.106,0.085,0.104,0.130,0.016,
+0.071,0.089,0.139,0.150,0.132,0.214,0.261,0.212,0.131,0.175,
+0.255,0.219,0.178,0.195,0.185,0.033,0.147,0.180,0.165,0.260,
+0.202,0.292,0.114,0.147,0.134,0.147,0.016,0.021,0.022,0.022,
+0.220,0.060,0.150,0.157,0.124,0.216,0.232,0.207,0.141,0.100,
+0.084,0.134,0.141,0.103,0.097,0.128,0.182,0.022,0.137,0.189,
+0.189,0.172,0.213,0.316,2.310,2.070,1.460,2.290,1.560,1.290,
+0.962,1.250,1.880,0.169,0.878,1.300,1.200,1.050,0.774,1.350,
+2.730,2.140,1.220,1.500,2.380,1.800,1.650,1.490,4.310,0.382,
+1.970,3.770,1.280,1.760,1.000,1.620,1.460,1.820,1.150,1.360,
+0.200,0.243,0.202,0.276,1.510,0.196,1.360,1.560,1.030,1.700,
+1.200,1.670,1.350,0.899,0.659,1.160,1.310,1.180,0.985,1.310,
+1.710,0.181,1.350,2.030,1.650,1.280,1.560,2.890,0.206,0.197,
+0.094,0.144,0.201,0.240,0.131,0.171,0.142,0.034,0.114,0.139,
+0.093,0.125,0.086,0.127,0.213,0.229,0.111,0.128,0.264,0.254,
+0.235,0.184,0.276,0.072,0.242,0.326,0.095,0.164,0.105,0.130,
+0.120,0.205,0.171,0.120,0.026,0.055,0.059,0.034,0.218,0.063,
+0.236,0.223,0.097,0.201,0.155,0.149,0.139,0.101,0.064,0.128,
+0.198,0.202,0.152,0.195,0.177,0.029,0.155,0.333,0.133,0.129,
+0.140,0.273,2.580,1.460,1.030,1.100,1.750,1.770,1.550,1.490,
+1.770,0.384,1.700,1.600,0.984,1.410,1.430,2.030,0.178,0.243,
+0.144,0.121,0.175,0.257,0.212,0.121,0.239,0.077,0.298,0.249,
+0.121,0.254,0.194,0.207,1.520,1.360,1.310,1.020,0.201,0.179,
+0.222,0.151,1.180,0.210,0.433,0.586,0.598,0.919,1.020,1.050,
+0.854,0.639,0.642,0.631,1.190,1.170,1.120,0.991,1.240,0.184,
+1.520,1.450,0.800,0.996,1.360,1.660,1.580,0.963,0.737,1.150,
+1.050,0.846,0.608,0.706,0.988,0.112,0.855,0.955,0.811,0.802,
+0.757,1.220,1.960,1.800,1.120,1.380,1.770,1.800,1.410,1.160,
+1.620,0.210,1.790,1.750,1.100,1.610,1.320,1.480,1.230,1.410,
+1.240,1.400,0.151,0.176,0.188,0.165,1.510,0.190,2.270,1.690,
+0.924,1.550,1.470,1.530,1.250,0.860,0.719,1.210,1.710,1.060,
+0.902,1.130,1.720,0.179,2.010,1.990,1.670,1.750,1.750,2.260,
+2.930,1.520,1.110,2.170,1.350,0.999,1.050,1.200,1.390,0.140,
+0.788,1.110,1.360,1.230,0.902,1.620,1.820,1.150,0.726,1.010,
+1.150,0.792,0.768,0.800,1.460,0.107,0.747,1.280,0.751,0.857,
+0.618,1.000,1.370,1.200,0.688,1.090,0.117,0.110,0.082,0.161,
+1.040,0.101,0.722,1.060,0.786,1.080,0.846,1.280,1.410,0.811,
+0.639,1.290,1.160,0.794,0.693,1.150,1.170,0.097,0.759,1.250,
+1.400,1.070,1.110,2.310,2.800,1.940,1.070,1.840,1.920,1.500,
+1.250,1.420,1.390,0.159,1.140,1.510,1.290,1.350,0.801,1.630,
+2.250,1.910,1.130,1.570,1.930,1.550,1.700,1.430,1.580,0.194,
+1.580,2.310,0.883,1.270,0.859,1.330,1.430,1.690,1.010,1.270,
+0.132,0.183,0.141,0.173,1.780,0.214,1.430,2.070,0.994,1.730,
+1.230,1.690,1.370,0.956,0.746,1.270,1.680,1.390,1.120,1.610,
+1.600,0.153,1.220,2.380,1.310,1.260,1.250,2.330,2.450,1.410,
+1.180,1.400,1.930,1.530,1.570,1.550,2.520,0.302,1.630,1.690,
+1.520,1.540,1.660,2.260,0.172,0.159,0.112,0.135,0.152,0.198,
+0.171,0.146,0.178,0.038,0.213,0.203,0.134,0.221,0.182,0.200,
+1.600,1.830,1.330,1.380,0.161,0.181,0.189,0.196,3.270,0.567,
+1.560,1.980,1.300,2.670,1.790,1.780,1.190,0.908,0.816,1.060,
+1.570,1.370,1.460,1.650,1.790,0.225,2.100,2.340,1.340,1.460,
+1.870,2.420,2.350,1.170,1.040,1.620,1.230,0.892,0.912,0.912,
+1.430,0.148,0.969,1.150,1.510,1.120,1.130,1.940,1.880,1.420,
+1.050,1.330,1.350,1.190,1.160,1.080,1.400,0.125,1.470,1.590,
+1.210,1.270,1.560,1.740,2.050,1.820,1.340,1.810,0.150,0.141,
+0.147,0.183,2.270,0.211,1.930,2.410,1.580,1.960,1.930,2.190,
+2.270,1.250,1.180,2.150,1.990,1.500,1.550,2.030,2.390,0.199,
+2.330,3.020,2.690,2.090,2.540,3.490,4.580,2.230,2.110,4.430,
+2.020,1.220,1.070,1.670,2.110,0.169,0.995,1.590,2.910,2.160,
+1.410,2.710,2.360,1.280,0.976,1.370,1.200,0.712,0.678,0.839,
+1.190,0.088,0.767,1.010,1.200,1.120,0.848,1.450,1.620,1.140,
+0.991,1.560,0.121,0.095,0.091,0.173,0.974,0.078,0.624,0.905,
+0.952,1.000,0.883,1.420,2.380,1.090,1.040,2.140,1.500,1.020,
+1.040,1.410,1.750,0.116,0.996,1.570,2.140,1.280,1.530,3.400,
+3.270,1.670,1.200,2.190,1.640,0.967,0.718,0.986,1.180,0.103,
+0.615,0.960,1.270,1.110,0.711,1.490,1.740,1.140,0.742,1.020,
+0.931,0.627,0.577,0.625,1.100,0.090,0.639,1.050,0.900,0.968,
+0.651,1.310,1.210,0.954,0.781,1.050,0.078,0.075,0.059,0.090,
+0.957,0.077,0.609,0.840,0.964,0.885,0.753,1.010,1.190,0.780,
+0.562,1.070,1.040,0.911,0.564,0.890,1.010,0.071,0.741,1.100,
+1.110,0.926,0.955,1.880,3.070,1.320,0.988,1.540,2.140,0.986,
+0.896,1.290,1.620,0.166,0.615,1.060,1.840,1.350,1.000,2.160,
+0.196,0.125,0.088,0.126,0.136,0.093,0.088,0.109,0.134,0.017,
+0.071,0.109,0.213,0.212,0.133,0.245,1.360,0.942,0.997,1.500,
+0.113,0.075,0.087,0.133,1.400,0.164,0.664,0.995,1.270,1.240,
+1.120,1.490,1.300,0.715,0.741,1.390,1.400,0.892,0.830,1.320,
+1.360,0.138,0.866,1.620,1.440,1.170,1.450,2.560,4.210,1.400,
+1.100,2.330,1.920,0.886,0.821,1.190,1.840,0.137,0.787,1.190,
+2.990,1.680,1.530,2.800,2.260,1.200,0.990,1.340,1.210,0.782,
+0.801,0.930,1.290,0.090,0.759,1.140,1.840,1.530,1.110,2.000,
+1.580,1.100,1.020,1.700,0.131,0.076,0.084,0.128,1.650,0.104,
+0.750,1.160,2.870,1.520,1.410,1.870,2.460,1.170,1.120,2.430,
+1.650,0.840,1.020,1.480,2.080,0.126,1.250,2.120,3.000,2.090,
+2.590,5.100,5.210,2.690,2.060,3.810,2.510,1.820,1.380,1.890,
+2.030,0.196,1.020,1.610,2.430,2.020,1.420,2.720,2.940,1.800,
+1.470,1.920,1.810,1.270,1.360,1.450,1.690,0.158,1.320,1.620,
+1.240,1.460,1.220,1.810,2.140,1.470,1.110,1.590,0.147,0.150,
+0.106,0.177,1.230,0.133,0.973,1.350,0.941,1.300,1.230,1.910,
+2.300,1.120,0.900,1.720,1.770,1.560,1.010,1.440,1.430,0.124,
+0.912,1.590,1.670,1.360,1.480,3.100,3.450,2.320,1.310,2.160,
+2.060,1.710,1.140,1.340,1.380,0.155,0.803,1.180,1.300,1.530,
+0.864,1.730,2.370,1.980,1.250,1.530,1.850,1.170,1.190,1.160,
+1.870,0.250,1.240,1.730,1.160,1.830,1.020,1.590,1.630,1.510,
+1.030,1.370,0.118,0.145,0.087,0.113,1.560,0.224,1.330,1.520,
+1.090,1.640,1.260,1.850,1.220,0.935,0.674,1.110,1.340,1.220,
+0.725,1.070,1.100,0.109,0.980,1.220,1.050,1.220,1.080,1.980,
+3.520,1.740,1.050,1.600,2.220,1.730,1.450,1.670,1.850,0.259,
+0.954,1.500,1.640,1.620,1.300,2.750,0.213,0.164,0.093,0.143,
+0.167,0.192,0.151,0.154,0.139,0.039,0.130,0.152,0.152,0.260,
+0.156,0.220,1.520,1.590,1.330,1.690,0.150,0.201,0.168,0.194,
+1.970,0.525,1.260,1.640,1.280,2.300,1.820,2.250,1.330,0.877,
+0.852,1.400,1.730,1.580,1.410,1.860,1.580,0.193,1.430,1.930,
+1.470,1.480,2.140,3.060,4.830,1.770,1.320,2.480,1.860,1.210,
+1.050,1.520,1.960,0.166,0.927,1.460,2.120,1.610,1.500,2.900,
+3.260,1.930,1.380,1.930,1.960,1.640,1.440,1.730,1.880,0.178,
+1.370,1.920,1.900,2.520,1.730,2.730,1.700,1.500,1.450,1.890,
+0.131,0.118,0.120,0.160,1.600,0.176,1.280,1.720,1.470,1.880,
+2.110,2.650,2.110,1.220,1.140,1.970,1.910,1.260,1.110,1.740,
+1.930,0.145,1.490,2.280,2.460,2.020,2.680,4.440,7.300,2.500,
+2.090,3.100,1.990,1.450,1.040,1.610,1.930,0.164,0.951,1.590,
+2.210,1.450,1.040,2.160,3.200,2.300,1.460,1.900,2.060,1.600,
+1.430,1.600,2.550,0.257,2.110,3.370,1.630,2.000,1.330,2.310,
+1.920,2.170,1.470,2.090,0.202,0.210,0.185,0.353,1.580,0.184,
+1.180,1.660,1.270,2.100,1.730,2.310,1.930,1.300,0.993,1.940,
+2.050,1.490,1.190,2.300,1.880,0.201,1.520,2.900,2.330,1.990,
+2.250,4.960,0.336,0.201,0.286,0.220,0.172,0.179,0.107,0.165,
+0.143,0.019,0.106,0.238,0.131,0.165,0.143,0.192,0.200,0.194,
+0.125,0.149,0.195,0.222,0.159,0.190,0.229,0.059,0.319,1.290,
+0.118,0.208,0.133,0.289,0.106,0.156,0.109,0.115,0.035,0.029,
+0.031,0.022,0.216,0.037,0.163,0.208,0.123,0.253,0.276,0.202,
+0.160,0.117,0.080,0.161,0.420,0.219,0.134,0.217,0.151,0.025,
+0.138,0.290,0.171,0.166,0.190,0.329,3.280,1.840,1.220,1.430,
+2.190,2.010,1.670,1.610,1.930,0.329,1.620,1.870,1.560,1.780,
+1.800,2.550,0.183,0.193,0.108,0.114,0.159,0.186,0.135,0.115,
+0.180,0.048,0.294,0.276,0.169,0.271,0.197,0.228,1.870,2.150,
+1.660,1.610,0.240,0.278,0.199,0.193,2.190,0.288,1.070,1.590,
+1.250,2.050,1.910,2.030,1.660,1.060,0.999,1.290,2.540,2.070,
+1.560,1.660,1.760,0.224,1.930,2.390,1.550,1.770,2.090,3.140,
+3.470,1.710,1.140,1.950,1.760,1.360,1.000,1.230,2.960,0.225,
+1.480,2.450,1.930,1.480,1.410,2.590,2.900,2.260,1.420,1.910,
+2.050,2.000,1.380,1.390,2.380,0.219,2.440,2.760,1.990,2.560,
+2.030,2.600,1.900,2.030,1.660,2.000,0.181,0.207,0.159,0.182,
+2.260,0.218,1.980,2.360,1.840,2.890,3.240,3.000,2.470,1.360,
+1.290,1.900,2.620,1.580,1.400,1.610,2.680,0.218,2.580,3.270,
+2.850,2.730,3.100,4.250,5.170,2.330,1.500,3.190,1.800,1.120,
+0.902,1.540,1.890,0.162,0.967,1.640,2.230,1.590,1.160,2.770,
+2.360,1.450,0.890,1.340,1.210,0.836,0.735,0.947,1.400,0.111,
+0.864,1.460,1.100,1.060,0.830,1.550,1.800,1.690,1.010,2.170,
+0.155,0.152,0.098,0.287,1.250,0.113,0.757,1.350,1.190,1.430,
+1.090,1.850,2.150,1.160,1.040,2.380,1.410,0.966,0.831,1.640,
+1.460,0.117,0.970,1.840,2.130,1.540,1.840,4.740,3.460,1.890,
+1.510,2.470,1.830,1.250,0.988,1.550,1.420,0.130,0.859,1.560,
+1.450,1.340,0.960,2.230,2.350,1.610,1.300,1.480,1.660,1.270,
+1.130,1.200,1.550,0.153,1.330,3.090,1.230,1.370,0.927,1.900,
+1.540,1.370,0.851,1.460,0.101,0.111,0.077,0.124,1.480,0.136,
+1.060,1.660,1.270,1.680,1.450,2.060,1.550,1.070,0.842,1.670,
+1.690,1.190,0.872,1.400,1.500,0.114,1.100,1.980,1.590,1.260,
+1.600,3.110,3.600,1.900,1.500,1.910,2.460,1.760,1.480,2.000,
+2.900,0.316,1.400,1.970,2.270,2.110,1.890,3.320,0.203,0.158,
+0.140,0.150,0.154,0.153,0.124,0.141,0.167,0.025,0.133,0.185,
+0.203,0.244,0.158,0.255,2.170,2.180,1.520,2.080,0.159,0.167,
+0.140,0.202,2.790,0.289,1.700,2.390,1.830,2.540,2.330,3.030,
+2.090,1.460,1.190,1.980,2.100,1.730,1.650,2.330,2.490,0.214,
+2.140,3.340,1.950,1.960,2.250,4.200,5.300,2.100,1.530,2.940,
+1.940,1.360,1.130,1.660,2.490,0.208,1.300,2.080,3.180,2.290,
+1.940,4.580,3.060,1.980,1.610,2.100,2.000,1.700,1.330,1.580,
+2.450,0.160,2.020,2.590,2.580,2.500,2.100,3.270,2.840,2.330,
+1.810,2.860,0.165,0.159,0.111,0.217,2.980,0.213,2.060,3.160,
+2.910,3.140,3.170,4.340,4.760,1.960,1.810,3.980,2.790,2.060,
+1.880,3.150,4.160,0.236,3.010,4.790,4.750,3.380,3.990,6.850,
+16.8,6.930,5.810,13.0,5.400,3.040,2.710,4.310,6.120,0.467,
+2.470,4.160,10.4,6.930,3.740,8.600,5.380,2.740,2.380,3.190,
+2.880,1.460,1.540,1.690,2.630,0.162,1.370,1.860,2.760,2.060,
+1.660,2.950,4.520,2.460,2.210,4.040,0.318,0.177,0.158,0.379,
+2.170,0.153,1.050,1.930,2.700,2.150,1.770,3.030,8.220,2.980,
+3.140,7.380,5.880,2.570,2.580,4.520,3.620,0.223,1.710,2.990,
+6.210,3.010,2.970,6.700,6.450,2.570,1.960,3.410,2.620,1.610,
+1.190,1.710,2.270,0.177,0.885,1.540,2.540,2.050,1.030,2.380,
+2.910,1.540,1.020,1.610,1.430,0.800,0.752,0.933,1.530,0.106,
+0.770,1.130,1.480,1.100,0.783,1.510,2.490,1.600,1.330,1.940,
+0.150,0.099,0.084,0.148,1.550,0.111,0.765,1.150,1.370,1.240,
+0.873,1.490,3.100,1.560,1.390,2.500,2.540,1.460,1.260,1.780,
+1.970,0.123,0.999,1.590,2.310,1.560,1.430,3.030,4.400,1.930,
+1.620,2.800,2.510,1.390,1.400,1.810,2.430,0.233,0.998,1.680,
+3.120,2.060,1.740,4.110,0.274,0.184,0.122,0.206,0.165,0.135,
+0.107,0.140,0.171,0.018,0.094,0.143,0.295,0.267,0.167,0.349,
+2.030,1.540,1.090,2.130,0.144,0.207,0.075,0.156,1.330,0.110,
+0.684,0.987,1.220,1.130,1.030,1.680,2.240,1.230,1.170,2.290,
+2.190,1.550,1.120,1.900,2.620,0.204,1.110,1.860,2.160,1.750,
+1.750,3.540,7.130,2.590,2.560,5.610,2.880,1.420,1.690,2.310,
+3.350,0.242,1.310,2.350,5.260,2.970,2.530,6.680,4.040,2.180,
+1.600,2.620,2.110,1.310,1.140,1.470,2.130,0.124,1.250,1.850,
+2.780,2.030,1.690,3.250,2.670,1.750,1.510,2.550,0.166,0.117,
+0.094,0.175,1.920,0.111,0.993,1.540,1.990,1.810,1.570,2.580,
+5.860,2.260,2.280,4.670,2.690,1.620,1.490,2.320,3.930,0.189,
+1.840,3.210,5.690,3.620,3.740,9.160,7.110,3.170,2.580,4.890,
+2.730,1.600,1.420,2.040,2.160,0.176,0.977,1.810,3.010,2.490,
+1.650,3.310,3.320,1.640,1.270,1.940,1.600,0.980,1.110,1.160,
+1.410,0.102,0.798,1.300,1.270,1.150,0.953,1.670,1.930,1.440,
+1.010,1.750,0.148,0.165,0.085,0.167,0.937,0.088,0.576,0.921,
+1.060,1.200,0.829,1.510,2.530,1.200,1.120,2.320,1.820,1.260,
+0.955,1.520,1.480,0.108,0.851,1.310,2.050,1.390,1.600,3.080,
+3.910,2.080,1.170,2.070,1.840,1.290,0.793,1.070,1.410,0.130,
+0.602,1.010,1.420,1.410,0.692,1.640,2.090,1.230,0.690,1.170,
+1.030,0.494,0.582,0.669,0.976,0.083,0.694,0.911,0.855,0.931,
+0.583,1.110,1.660,1.310,0.791,1.260,0.108,0.139,0.056,0.090,
+1.180,0.162,0.575,0.762,0.844,1.130,0.646,1.140,1.730,0.965,
+0.788,1.670,1.210,0.959,0.651,0.935,1.430,0.099,0.723,1.010,
+1.280,1.110,0.836,1.920,2.860,1.500,1.070,1.890,1.650,1.350,
+1.090,1.430,1.490,0.145,0.769,1.150,1.860,1.390,1.140,2.390,
+0.139,0.168,0.071,0.165,0.098,0.236,0.080,0.107,0.101,0.020,
+0.081,0.111,0.134,0.167,0.100,0.186,1.830,4.730,1.120,1.560,
+0.347,2.070,0.109,0.179,1.020,0.246,0.581,0.896,0.925,1.460,
+0.794,1.220,1.490,1.380,0.814,1.660,1.750,4.430,0.942,1.570,
+1.390,0.148,0.803,1.380,1.300,1.230,1.130,2.170,2.740,1.310,
+1.120,2.250,1.370,0.787,0.758,1.200,1.380,0.098,0.608,1.020,
+1.750,1.160,1.020,2.410,1.910,1.240,0.956,1.820,1.080,0.926,
+0.768,1.220,0.945,0.066,0.912,1.110,1.150,1.090,0.977,1.700,
+1.450,1.510,1.010,1.670,0.110,0.263,0.050,0.114,1.110,0.132,
+0.589,0.939,1.120,1.310,0.891,1.570,2.030,0.981,1.060,2.180,
+1.400,1.220,0.765,1.340,1.920,0.117,0.971,1.870,2.220,1.870,
+1.910,3.720,5.080,2.900,1.900,4.070,1.860,1.370,1.410,1.810,
+1.910,0.178,0.887,1.690,2.570,2.060,1.150,2.980,3.330,2.010,
+1.830,2.600,2.070,1.390,6.440,3.830,1.990,0.180,1.210,1.660,
+1.950,1.860,1.320,2.270,2.180,1.920,1.380,2.420,0.186,0.174,
+0.190,0.330,1.190,0.113,0.554,0.946,1.220,1.560,0.953,1.740,
+3.400,1.680,1.550,3.680,2.290,1.570,1.370,2.370,1.980,0.155,
+0.948,1.990,3.150,2.140,1.980,5.410,0.276,0.210,0.129,0.263,
+0.184,0.157,0.095,0.131,0.137,0.019,0.066,0.127,0.174,0.198,
+0.094,0.228,0.237,0.179,0.096,0.152,0.163,0.133,0.237,0.175,
+0.167,0.027,0.096,0.149,0.187,0.181,0.099,0.196,0.140,0.167,
+0.092,0.177,0.012,0.016,0.012,0.018,0.152,0.016,0.066,0.097,
+0.145,0.159,0.093,0.159,0.320,0.207,0.157,0.378,0.288,0.229,
+0.171,0.282,0.179,0.018,0.110,0.207,0.310,0.241,0.194,0.467,
+2.450,1.340,0.957,1.480,1.380,1.050,0.920,1.170,1.730,0.196,
+1.030,1.310,1.740,1.390,1.140,2.170,0.166,0.135,0.084,0.129,
+0.098,0.113,0.139,0.110,0.124,0.022,0.104,0.108,0.181,0.178,
+0.111,0.175,1.420,1.760,0.812,1.120,0.130,0.188,0.084,0.109,
+0.986,0.105,0.559,0.687,0.906,1.190,0.802,1.150,1.590,1.030,
+0.913,1.430,1.660,1.460,0.909,1.350,1.510,0.141,1.420,1.610,
+1.480,1.370,1.430,2.440,2.780,1.350,1.030,2.230,1.400,0.874,
+0.696,1.050,1.530,0.131,0.806,1.510,2.140,1.490,1.140,3.100,
+2.530,1.770,1.050,2.030,1.470,1.400,0.975,1.160,1.530,0.123,
+1.060,1.520,1.970,1.740,1.200,2.210,1.810,1.600,1.030,1.740,
+0.132,0.114,0.071,0.135,1.250,0.101,0.908,1.220,1.320,1.610,
+1.170,1.990,2.780,1.410,1.350,2.480,2.140,1.310,1.040,1.650,
+2.140,0.147,1.510,2.390,2.950,2.350,2.400,5.170,8.420,3.700,
+3.030,6.710,2.670,1.530,1.510,2.040,2.880,0.212,1.270,2.280,
+5.030,2.950,2.360,5.620,3.390,1.590,1.320,2.340,1.710,0.889,
+2.020,1.740,2.070,0.111,1.070,1.780,2.120,1.330,1.310,2.510,
+3.020,2.000,1.560,3.370,0.212,0.143,0.125,0.308,1.830,0.126,
+0.865,1.700,2.080,1.810,1.340,3.010,5.770,2.340,2.690,8.280,
+3.000,1.670,1.850,3.300,2.990,0.180,1.600,2.890,5.080,2.800,
+2.930,8.020,4.660,2.300,1.630,3.370,2.190,1.370,0.972,1.480,
+1.970,0.143,0.865,1.660,2.230,1.890,1.100,2.740,2.620,1.560,
+0.815,1.500,1.600,1.040,0.822,1.070,1.500,0.112,0.857,1.400,
+1.600,1.300,0.785,1.700,2.180,1.670,0.975,2.130,0.116,0.103,
+0.066,0.142,1.710,0.119,0.783,1.370,1.930,1.680,1.010,2.090,
+3.440,1.700,1.540,3.480,2.320,1.560,1.490,2.450,2.260,0.132,
+1.180,2.190,3.040,2.240,1.840,4.290,3.390,1.710,1.380,2.280,
+2.150,1.310,1.240,1.840,2.320,0.204,1.330,1.880,2.320,1.720,
+2.120,3.780,0.195,0.141,0.094,0.173,0.111,0.111,0.093,0.116,
+0.139,0.011,0.109,0.144,0.211,0.185,0.149,0.268,1.900,1.960,
+1.120,1.850,0.126,0.192,0.083,0.157,1.720,0.135,1.250,1.440,
+1.740,1.750,1.480,2.380,2.510,1.440,1.430,2.600,2.420,1.920,
+1.500,2.620,3.490,0.198,2.080,2.980,2.990,2.210,2.630,4.830,
+6.690,2.680,2.680,5.380,2.700,1.520,1.570,2.430,3.190,0.242,
+1.640,3.360,5.300,3.150,3.270,12.9,3.300,2.070,1.460,2.820,
+1.710,1.230,1.150,1.730,2.080,0.124,1.430,2.350,2.820,2.240,
+1.800,4.070,3.430,3.020,2.330,4.050,0.201,0.170,0.119,0.276,
+2.900,0.175,1.840,2.730,3.350,3.180,2.620,4.480,7.360,3.270,
+3.360,7.830,4.270,2.940,2.780,4.870,6.480,0.311,4.080,7.010,
+11.2,7.010,7.380,15.1,5.710,3.330,2.940,5.040,3.130,1.810,
+1.640,2.310,2.700,0.236,1.300,2.140,4.290,3.130,1.930,3.780,
+3.230,2.250,1.380,1.990,2.090,1.180,1.040,1.260,1.570,0.123,
+1.050,1.360,1.620,1.340,1.210,1.850,2.230,1.450,1.390,2.060,
+0.168,0.121,0.111,0.210,1.340,0.101,0.791,0.992,1.350,1.350,
+1.320,1.760,3.330,1.610,1.550,3.020,2.610,1.540,1.440,2.100,
+2.490,0.193,1.210,2.000,2.970,2.130,1.880,3.980,3.790,2.150,
+1.480,2.370,2.070,1.370,0.972,1.400,1.740,0.208,1.110,1.420,
+2.020,1.840,0.928,2.040,2.250,1.410,0.950,1.450,1.340,0.880,
+0.835,0.992,1.510,0.117,1.100,1.440,1.270,1.060,0.837,1.460,
+1.570,1.250,1.470,1.570,0.112,0.094,0.109,0.128,1.250,0.137,
+0.824,0.979,1.020,1.170,0.926,1.240,1.590,1.020,1.040,1.450,
+1.440,1.050,1.110,1.320,1.340,0.096,0.809,1.290,1.470,1.310,
+1.190,2.330,2.860,1.410,0.908,1.660,1.780,1.010,0.939,1.300,
+1.510,0.156,0.703,1.090,1.680,1.300,1.100,2.470,0.150,0.127,
+0.077,0.137,0.131,0.110,0.090,0.114,0.116,0.016,0.071,0.105,
+0.149,0.176,0.122,0.215,1.250,0.896,0.805,1.100,0.106,0.077,
+0.069,0.109,0.933,0.083,0.477,0.731,0.857,0.885,0.786,1.220,
+1.350,0.797,0.719,1.410,1.500,0.980,0.822,1.310,1.720,0.136,
+0.796,1.320,1.490,1.330,1.410,2.610,3.310,1.460,1.130,2.240,
+1.810,0.959,0.768,1.120,1.780,0.180,0.711,1.190,2.380,1.680,
+1.120,2.870,2.420,1.480,1.040,1.650,1.760,1.330,0.894,1.120,
+1.290,0.107,0.779,1.260,1.450,1.390,1.080,1.940,1.460,1.050,
+0.939,1.490,0.142,0.082,0.074,0.128,1.060,0.089,0.629,1.040,
+1.380,1.320,1.030,1.750,2.380,1.230,1.150,2.350,2.380,1.200,
+1.010,1.540,2.110,0.147,1.220,2.180,3.100,2.650,2.640,5.990,
+4.120,2.390,1.800,2.930,2.450,1.510,1.230,1.630,1.600,0.144,
+0.800,1.190,1.980,1.680,1.210,2.260,2.390,1.580,1.090,1.430,
+1.550,1.110,0.926,1.070,1.130,0.106,0.742,0.978,0.935,1.140,
+0.820,1.270,1.280,1.140,0.799,1.170,0.100,0.096,0.069,0.121,
+0.729,0.071,0.490,0.648,0.750,0.857,0.653,1.280,1.660,0.865,
+0.740,1.610,1.380,1.010,0.751,1.170,1.350,0.100,0.688,0.955,
+1.810,1.220,1.060,2.560,2.670,1.810,0.920,1.580,1.650,1.480,
+0.803,1.050,0.962,0.096,0.570,0.835,1.090,1.090,0.598,1.490,
+1.840,1.040,0.580,1.110,1.100,0.523,0.621,0.858,0.862,0.102,
+0.596,0.817,0.764,0.995,0.620,1.050,1.130,1.130,0.679,0.976,
+0.089,0.108,0.072,0.085,0.906,0.126,0.559,0.710,0.652,0.991,
+0.622,1.010,1.320,0.817,0.815,1.030,1.010,0.989,0.664,0.803,
+0.959,0.073,0.565,0.869,1.090,0.991,0.730,1.670,2.320,1.290,
+0.788,1.330,1.520,1.180,0.931,1.100,1.250,0.140,0.627,0.868,
+1.390,1.150,1.010,1.860,0.112,0.127,0.063,0.116,0.089,0.141,
+0.089,0.090,0.089,0.029,0.080,0.090,0.100,0.162,0.089,0.133,
+1.550,1.770,0.889,1.340,0.136,0.322,0.102,0.136,0.927,0.122,
+0.605,0.772,0.829,1.200,0.974,1.280,1.220,0.821,0.702,1.200,
+1.390,1.460,0.947,1.370,1.490,0.108,0.825,1.260,1.370,1.080,
+1.340,2.230,2.000,1.050,0.760,1.400,1.180,0.730,0.602,0.850,
+1.080,0.085,0.675,0.799,1.370,0.973,0.777,1.740,1.640,1.260,
+0.807,1.270,1.150,1.090,0.785,1.110,0.947,0.122,0.670,0.943,
+1.010,1.110,0.841,1.360,1.180,1.120,0.742,1.120,0.088,0.097,
+0.055,0.091,0.918,0.094,0.539,0.757,1.250,1.300,0.874,1.330,
+1.570,0.834,0.784,1.430,1.370,1.000,0.736,1.100,1.420,0.111,
+0.953,1.470,1.830,1.610,1.590,2.870,3.370,2.180,1.420,2.740,
+1.470,1.150,0.831,1.200,1.640,0.157,1.040,1.180,1.880,1.600,
+0.972,1.970,2.340,1.650,0.969,1.560,1.470,1.170,1.210,1.190,
+1.940,0.186,1.360,1.420,1.380,2.010,1.000,1.710,1.430,1.400,
+1.040,1.520,0.144,0.139,0.129,0.229,1.510,0.131,0.716,0.909,
+0.941,1.430,1.810,1.500,1.750,1.060,0.910,2.060,1.500,1.110,
+1.040,1.730,1.500,0.140,0.947,1.520,2.040,1.710,1.770,3.860,
+0.146,0.135,0.070,0.162,0.110,0.130,0.060,0.096,0.102,0.015,
+0.058,0.084,0.116,0.128,0.064,0.146,0.142,0.117,0.058,0.090,
+0.133,0.156,0.096,0.103,0.159,0.024,0.091,0.113,0.106,0.169,
+0.068,0.196,0.077,0.096,0.067,0.093,0.015,0.017,0.015,0.014,
+0.425,0.039,0.112,0.117,0.108,0.122,0.120,0.116,0.126,0.090,
+0.070,0.166,0.198,0.144,0.101,0.175,0.127,0.015,0.085,0.154,
+0.146,0.127,0.125,0.253,2.580,1.540,0.927,1.330,1.470,1.290,
+0.992,1.160,1.710,0.201,0.946,1.250,1.360,1.330,1.110,2.040,
+0.147,0.163,0.071,0.104,0.113,0.166,0.105,0.090,0.123,0.022,
+0.107,0.131,0.126,0.190,0.116,0.166,1.270,1.780,0.806,1.070,
+0.120,0.152,0.087,0.126,1.120,0.143,0.625,0.881,0.844,1.310,
+1.040,1.320,1.360,1.020,0.848,1.240,1.710,1.420,0.993,1.500,
+1.500,0.154,1.180,1.670,1.360,1.380,1.590,2.680,2.340,1.370,
+0.958,1.790,1.340,0.936,0.669,0.954,1.480,0.130,0.754,1.260,
+1.960,1.460,0.958,2.360,2.360,1.890,0.995,1.620,2.230,2.210,
+1.080,1.370,1.650,0.161,1.220,1.870,1.670,2.000,1.270,2.180,
+1.580,1.450,1.050,1.480,0.216,0.118,0.076,0.131,1.320,0.122,
+0.905,1.400,1.370,1.850,1.260,1.960,2.320,1.220,1.030,2.030,
+4.400,1.320,1.020,1.600,2.130,0.147,1.600,2.530,2.850,2.550,
+2.540,4.790,4.090,2.170,1.690,3.720,1.850,1.080,1.010,1.830,
+1.870,0.145,0.860,1.530,2.510,1.690,1.550,2.980,2.180,1.360,
+0.829,1.470,1.290,0.829,0.749,1.060,1.340,0.088,0.791,1.240,
+1.230,1.040,0.791,1.630,1.670,1.340,1.090,2.080,0.127,0.096,
+0.078,0.222,1.290,0.090,0.753,1.130,1.200,1.310,1.040,1.860,
+2.480,1.270,1.440,3.340,1.750,1.060,1.110,2.280,1.750,0.122,
+1.040,1.910,2.950,1.880,1.890,4.970,3.440,2.000,1.320,3.200,
+1.920,1.630,0.970,1.380,1.690,0.150,0.788,1.450,1.930,1.710,
+0.917,2.300,2.340,1.400,0.751,1.330,1.620,1.200,0.759,1.120,
+1.490,0.145,0.845,1.410,1.670,1.490,0.856,2.140,1.470,1.260,
+0.837,1.440,0.121,0.106,0.076,0.141,1.890,0.148,0.895,1.390,
+1.480,1.550,0.901,1.840,1.890,1.130,1.010,2.260,1.760,1.360,
+1.170,2.230,1.580,0.117,1.200,1.990,2.070,1.750,1.640,3.570,
+2.410,1.290,1.010,1.630,1.670,1.170,0.979,1.520,1.720,0.180,
+1.000,1.510,1.650,1.450,1.450,2.730,0.126,0.100,0.063,0.121,
+0.088,0.104,0.077,0.095,0.091,0.013,0.078,0.102,0.135,0.155,
+0.108,0.188,1.310,1.260,0.819,1.360,0.085,0.092,0.071,0.139,
+1.350,0.129,0.937,1.330,1.130,1.380,1.180,1.800,1.490,0.950,
+0.967,1.800,1.400,1.120,1.090,1.910,1.910,0.161,1.400,2.180,
+1.960,1.790,2.190,3.560,3.730,1.850,1.570,2.640,1.570,1.100,
+0.935,1.350,1.870,0.186,0.976,1.750,2.530,1.820,1.440,4.060,
+2.410,1.540,1.050,1.640,1.550,1.230,0.940,1.300,1.350,0.101,
+1.000,1.680,1.680,1.630,1.130,2.650,2.190,1.700,1.290,2.320,
+0.135,0.111,0.084,0.197,1.740,0.129,1.190,1.950,2.050,2.100,
+1.730,2.860,3.710,1.800,1.740,3.690,2.460,1.700,1.560,2.570,
+3.030,0.193,2.500,3.980,5.450,3.960,4.490,6.930,5.310,3.360,
+2.750,5.800,3.390,2.140,1.940,2.730,2.920,0.297,2.050,2.610,
+4.450,3.390,2.490,4.490,3.380,2.030,1.590,2.490,2.060,1.310,
+1.290,1.680,1.780,0.221,1.160,1.420,1.740,1.680,1.530,2.290,
+3.940,2.100,1.700,3.370,0.204,0.134,0.137,0.322,1.710,0.127,
+1.150,1.410,1.460,1.510,1.520,2.180,4.070,1.560,1.450,3.100,
+2.420,1.360,1.560,2.210,2.090,0.140,1.210,1.810,3.030,1.440,
+2.230,4.150,4.990,2.690,1.680,3.460,3.120,1.870,1.540,1.970,
+1.970,0.192,1.190,1.680,2.200,2.040,1.370,2.800,3.160,2.180,
+1.410,1.840,2.030,1.130,1.200,1.390,1.710,0.149,1.180,1.650,
+1.400,1.390,1.150,1.810,2.890,2.130,1.360,2.200,0.200,0.157,
+0.119,0.218,2.250,0.187,1.210,2.000,1.440,1.820,1.470,1.990,
+2.970,1.720,1.180,2.220,2.590,1.910,1.430,2.310,2.160,0.153,
+1.400,2.210,2.270,1.660,2.010,3.760,3.600,1.800,1.410,3.290,
+3.030,2.030,1.850,2.240,2.760,0.293,1.100,1.760,2.740,2.270,
+1.580,3.400,0.286,0.236,0.136,0.259,0.247,0.197,0.174,0.223,
+0.241,0.029,0.153,0.200,0.331,0.382,0.223,0.408,2.030,1.570,
+1.330,1.960,0.172,0.127,0.133,0.220,1.730,0.182,0.832,1.220,
+1.290,1.570,1.200,1.740,1.850,1.080,1.020,1.880,2.470,1.620,
+1.510,2.130,2.720,0.198,1.240,2.000,2.380,1.680,1.780,3.270,
+4.120,1.900,1.450,3.430,2.240,1.290,1.270,1.610,2.320,0.239,
+1.020,1.660,3.410,2.770,1.630,3.970,3.120,2.350,1.300,2.140,
+1.990,1.340,1.200,1.530,1.950,0.158,1.200,1.750,2.420,2.110,
+1.670,2.990,2.590,2.050,1.740,2.550,0.198,0.133,0.139,0.237,
+2.930,0.204,1.280,1.990,2.090,2.390,2.020,3.020,3.790,1.840,
+1.700,3.500,2.670,1.380,1.710,2.500,7.290,0.379,2.440,3.960,
+5.900,3.690,3.900,7.620,0.311,0.213,0.156,0.273,0.235,0.165,
+0.132,0.200,0.160,0.023,0.138,0.152,0.222,0.240,0.184,0.261,
+0.264,0.181,0.271,0.219,0.183,0.148,0.169,0.178,0.144,0.026,
+0.127,0.142,0.133,0.170,0.223,0.223,0.192,0.137,0.106,0.200,
+0.017,0.017,0.013,0.026,0.114,0.013,0.105,0.114,0.093,0.135,
+0.124,0.189,0.213,0.113,0.099,0.194,0.255,0.135,0.125,0.186,
+0.172,0.015,0.115,0.154,0.206,0.144,0.301,0.383,0.260,0.195,
+0.101,0.172,0.203,0.179,0.122,0.141,0.118,0.020,0.072,0.102,
+0.110,0.149,0.092,0.173,0.225,0.264,0.118,0.147,0.196,0.168,
+0.146,0.154,0.135,0.025,0.108,0.140,0.102,0.157,0.113,0.160,
+0.160,0.164,0.094,0.139,0.016,0.028,0.019,0.021,0.290,0.048,
+0.114,0.155,0.108,0.207,0.131,0.157,0.174,0.120,0.082,0.154,
+0.175,0.160,0.113,0.159,0.155,0.013,0.102,0.151,0.146,0.135,
+0.157,0.325,0.202,0.110,0.086,0.161,0.179,0.139,0.148,0.139,
+0.137,0.021,0.081,0.098,0.134,0.139,0.110,0.219,0.021,0.017,
+0.012,0.018,0.021,0.026,0.020,0.026,0.016,8.77e-3,0.022,0.018,
+0.017,0.028,0.021,0.023,0.146,0.169,0.119,0.164,0.020,0.045,
+0.026,0.021,0.162,0.052,0.097,0.124,0.093,0.183,0.131,0.164,
+0.128,0.078,0.077,0.146,0.188,0.191,0.139,0.182,0.180,0.021,
+0.118,0.169,0.151,0.151,0.163,0.289,0.267,0.197,0.134,0.247,
+0.180,0.133,0.107,0.146,0.164,0.020,0.083,0.123,0.238,0.241,
+0.165,0.346,0.272,0.211,0.150,0.220,0.218,0.197,0.154,0.219,
+0.178,0.023,0.129,0.174,0.219,0.263,0.200,0.323,0.172,0.154,
+0.132,0.191,0.015,0.021,0.013,0.022,0.185,0.021,0.104,0.156,
+0.162,0.201,0.181,0.254,0.248,0.144,0.133,0.261,0.232,0.152,
+0.137,0.214,0.353,0.028,0.169,0.283,0.344,0.296,0.331,0.605,
+4.410,2.750,1.850,3.360,2.150,1.620,1.280,1.910,1.910,0.186,
+1.240,1.680,1.820,1.630,1.250,2.370,3.550,2.360,1.530,2.110,
+2.430,1.740,2.070,1.870,2.300,0.231,2.400,2.240,1.470,1.910,
+1.430,2.300,2.210,2.110,1.400,2.340,0.226,0.243,0.193,0.384,
+1.560,0.183,1.230,1.600,1.250,2.120,1.760,2.640,2.140,1.350,
+1.060,2.310,1.990,1.710,1.480,2.320,2.000,0.205,1.560,2.500,
+2.500,2.520,3.370,5.450,0.225,0.193,0.097,0.170,0.173,0.185,
+0.111,0.155,0.116,0.024,0.080,0.126,0.119,0.152,0.085,0.197,
+0.198,0.181,0.183,0.146,0.182,0.164,0.135,0.139,0.128,0.026,
+0.140,0.155,0.095,0.123,0.093,0.141,0.133,0.166,0.095,0.146,
+0.022,0.031,0.019,0.025,0.140,0.029,0.128,0.159,0.088,0.155,
+0.123,0.160,0.210,0.145,0.095,0.231,0.234,0.232,0.144,0.243,
+0.176,0.024,0.135,0.347,0.186,0.194,0.247,0.420,2.690,1.780,
+1.210,1.530,2.300,2.120,1.930,1.750,1.960,0.338,1.820,1.840,
+1.480,1.690,1.600,2.800,0.182,0.208,0.131,0.130,0.181,0.230,
+0.185,0.138,0.158,0.040,0.203,0.177,0.146,0.225,0.161,0.262,
+1.870,1.780,1.360,1.550,0.194,0.180,0.190,0.182,1.580,0.179,
+0.673,1.100,0.984,1.350,1.350,1.740,1.550,1.040,0.882,1.300,
+1.900,1.610,1.410,1.600,1.720,0.196,1.780,2.260,1.590,1.540,
+2.050,3.270,2.680,1.670,1.230,1.970,1.990,1.590,0.985,1.290,
+1.570,0.171,1.170,1.560,1.810,1.450,1.240,2.540,2.660,2.220,
+1.610,1.920,2.520,2.510,1.740,1.590,1.750,0.177,1.910,2.090,
+1.680,1.940,1.550,2.340,2.360,2.050,1.510,2.200,0.215,0.217,
+0.142,0.209,2.030,0.183,1.870,2.390,1.590,2.240,2.050,2.710,
+2.510,1.500,1.230,2.240,2.170,1.810,1.320,1.800,2.660,0.206,
+2.640,3.600,3.140,2.870,3.200,5.080,5.510,2.540,1.850,3.910,
+2.510,1.500,1.410,2.210,2.280,0.207,1.070,1.890,2.830,2.240,
+1.460,3.490,3.330,1.700,1.190,2.090,1.800,1.110,1.270,1.580,
+1.590,0.111,1.140,1.490,1.420,1.420,1.150,2.240,2.720,1.790,
+1.130,2.270,0.202,0.133,0.110,0.274,2.210,0.148,1.130,1.800,
+1.540,1.710,1.630,2.820,2.820,1.480,1.330,2.720,2.350,1.230,
+1.240,2.110,2.150,0.139,1.160,1.970,2.850,1.970,2.460,5.290,
+4.790,2.800,1.630,3.350,2.960,2.190,1.630,2.200,2.170,0.196,
+1.230,2.190,2.330,2.420,1.260,3.410,3.380,2.360,1.440,2.600,
+2.290,1.780,1.510,1.910,1.680,0.125,1.340,2.060,1.450,1.550,
+1.070,2.150,2.350,2.290,1.270,2.410,0.176,0.166,0.111,0.220,
+2.360,0.193,1.510,2.690,1.760,2.240,1.690,2.880,2.830,1.910,
+1.350,2.880,3.020,2.150,1.700,2.820,2.530,0.206,1.640,3.170,
+2.750,2.430,2.590,4.950,3.830,1.990,1.690,2.280,2.690,2.000,
+2.150,2.300,2.680,0.297,1.630,2.410,2.380,2.250,2.010,3.840,
+0.213,0.163,0.111,0.175,0.154,0.178,0.175,0.174,0.155,0.024,
+0.150,0.228,0.180,0.304,0.157,0.255,2.620,2.400,1.680,2.450,
+0.175,0.161,0.145,0.241,2.530,0.294,1.810,2.550,1.720,3.030,
+2.050,2.970,2.380,1.570,1.490,2.260,2.720,1.950,2.080,2.760,
+2.710,0.233,2.560,4.050,2.650,2.360,2.970,5.010,4.440,2.100,
+1.800,3.140,2.290,1.490,1.440,1.800,2.480,0.253,1.460,2.170,
+2.750,2.050,1.790,4.100,2.760,1.710,1.370,2.090,1.910,1.570,
+1.570,1.750,1.850,0.124,1.620,2.270,1.860,1.800,1.680,2.710,
+3.030,2.620,2.140,3.230,0.196,0.181,0.136,0.265,3.230,0.238,
+2.570,3.890,2.610,3.080,3.070,4.080,4.140,2.060,2.060,4.180,
+3.090,2.220,2.160,3.440,4.090,0.253,3.560,5.730,4.870,3.910,
+4.590,8.510,21.3,6.590,5.350,12.5,5.090,2.730,2.510,4.460,
+4.610,0.356,2.020,3.520,8.000,5.240,3.300,7.740,5.210,2.510,
+1.760,3.100,2.580,1.370,1.330,1.840,2.240,0.142,1.360,1.790,
+2.710,2.130,1.900,3.110,4.240,2.370,1.920,4.070,0.248,0.152,
+0.136,0.390,2.270,0.145,1.340,2.120,2.160,2.140,1.900,3.680,
+6.400,2.710,2.560,6.070,3.790,2.020,2.010,3.760,3.400,0.222,
+2.690,3.590,5.380,3.130,3.820,9.200,6.600,2.870,1.820,3.860,
+2.960,1.610,1.280,1.890,1.950,0.158,0.928,1.550,2.540,1.920,
+1.290,2.950,3.180,1.850,1.140,2.020,1.860,1.150,1.020,1.320,
+1.520,0.093,0.844,1.360,1.600,1.290,1.220,2.210,2.650,1.730,
+1.300,2.360,0.143,0.107,0.085,0.172,1.940,0.191,0.856,1.400,
+1.510,1.630,1.380,2.100,2.800,1.610,1.140,2.330,2.090,1.390,
+1.140,1.830,1.890,0.110,1.100,1.840,2.300,1.700,1.830,3.930,
+5.690,2.390,1.760,3.780,3.580,1.670,1.630,2.550,2.780,0.253,
+1.030,2.020,4.480,2.860,1.850,5.640,0.292,0.183,0.115,0.234,
+0.225,0.136,0.121,0.191,0.176,0.016,0.090,0.164,0.418,0.312,
+0.168,0.425,2.650,1.700,1.400,2.620,0.218,0.111,0.097,0.229,
+2.100,0.138,0.849,1.490,2.020,1.730,1.450,2.590,2.950,1.560,
+1.420,3.190,3.690,1.590,1.430,2.680,2.650,0.171,1.360,2.560,
+3.800,2.260,2.500,5.360,8.560,3.170,2.570,6.400,3.860,1.850,
+2.080,2.840,3.770,0.302,1.660,2.850,7.870,4.340,2.930,8.150,
+4.340,2.320,1.810,2.900,2.630,1.580,1.380,1.950,2.580,0.161,
+1.400,2.170,4.300,2.950,2.140,4.490,3.810,2.490,2.070,3.740,
+0.321,0.147,0.132,0.273,3.200,0.173,1.560,2.690,3.280,3.040,
+2.630,4.880,7.360,3.150,3.000,7.540,7.180,2.660,2.480,4.190,
+6.480,0.317,3.140,5.540,14.4,6.750,7.290,18.6,8.370,3.990,
+2.730,6.100,3.880,2.280,1.770,2.880,3.030,0.254,1.990,2.560,
+4.110,3.120,2.410,4.860,4.220,2.380,1.920,2.880,2.650,1.690,
+1.540,1.990,2.080,0.141,1.430,1.850,1.950,1.790,1.630,2.730,
+2.900,1.870,1.280,2.520,0.172,0.126,0.092,0.227,1.640,0.130,
+1.200,1.670,1.740,1.680,1.460,2.950,3.420,1.710,1.360,3.030,
+2.710,1.560,1.230,2.250,2.100,0.140,1.460,2.060,2.980,2.020,
+2.270,5.370,6.010,3.240,1.590,3.320,3.460,2.460,1.470,1.980,
+1.940,0.164,0.864,1.520,2.230,2.040,1.190,2.860,3.530,2.810,
+1.240,2.180,3.220,2.530,1.580,2.160,1.780,0.167,0.983,1.710,
+1.750,2.040,1.170,2.590,2.560,1.950,1.070,2.030,0.154,0.151,
+0.078,0.148,2.010,0.201,1.090,1.640,1.540,1.910,1.600,2.520,
+2.300,1.480,0.922,2.010,2.100,1.680,1.040,1.760,1.680,0.110,
+0.961,1.720,2.020,1.660,1.570,3.920,5.090,2.090,1.620,2.730,
+2.840,1.740,1.750,2.190,2.290,0.227,0.935,1.630,3.700,2.530,
+1.710,5.430,0.204,0.137,0.096,0.166,0.154,0.157,0.103,0.163,
+0.115,0.017,0.082,0.127,0.277,0.246,0.128,0.329,2.540,1.900,
+1.440,2.360,0.188,0.181,0.109,0.210,2.000,0.174,0.949,1.540,
+1.920,1.910,1.570,2.940,2.750,1.340,1.250,2.400,3.100,1.730,
+1.570,2.510,2.300,0.157,1.350,2.340,2.880,2.110,2.520,5.470,
+5.530,2.310,1.830,3.800,2.550,1.540,1.380,2.130,2.500,0.195,
+1.220,1.900,4.070,2.870,2.000,5.390,3.470,2.010,1.570,2.540,
+2.310,1.780,1.420,2.010,2.030,0.152,1.260,2.010,3.290,3.110,
+2.050,3.980,3.230,2.030,1.690,2.790,0.198,0.117,0.084,0.191,
+2.160,0.142,1.290,2.120,2.390,2.250,2.060,3.860,4.300,1.940,
+2.280,3.770,4.410,1.950,1.640,2.770,3.520,0.199,1.930,3.430,
+5.500,3.980,4.160,9.090,8.540,4.510,3.090,6.020,3.450,2.300,
+1.730,3.040,3.740,0.263,1.560,2.610,3.880,2.700,1.840,4.170,
+5.300,3.720,2.190,3.630,3.000,2.140,1.960,2.300,3.030,0.241,
+2.050,2.740,2.860,3.040,2.010,4.110,3.560,3.410,1.930,3.810,
+0.269,0.261,0.179,0.466,2.430,0.219,1.360,2.370,2.130,3.050,
+2.160,4.570,4.110,2.500,1.860,4.620,3.090,2.260,1.760,3.500,
+3.420,0.256,2.180,3.720,4.360,3.410,3.870,9.120,0.296,0.245,
+0.140,0.254,0.238,0.194,0.113,0.190,0.158,0.019,0.086,0.150,
+0.199,0.198,0.114,0.263,0.243,0.217,0.116,0.175,0.215,0.204,
+0.114,0.146,0.162,0.024,0.135,0.255,0.173,0.199,0.115,0.251,
+0.136,0.177,0.090,0.169,0.015,0.020,0.012,0.019,0.177,0.022,
+0.104,0.153,0.132,0.189,0.169,0.241,0.240,0.190,0.119,0.334,
+0.259,0.217,0.133,0.272,0.187,0.019,0.123,0.261,0.281,0.250,
+0.229,0.571,5.430,2.860,2.040,2.770,3.350,2.610,2.130,2.810,
+2.970,0.381,1.820,2.660,3.150,3.030,2.610,4.970,0.252,0.222,
+0.119,0.183,0.188,0.195,0.134,0.162,0.184,0.026,0.152,0.188,
+0.274,0.306,0.213,0.365,3.180,3.120,2.030,2.890,0.244,0.228,
+0.170,0.275,3.030,0.265,1.940,2.600,2.280,2.970,2.540,3.830,
+3.230,2.090,1.690,2.810,3.410,2.680,2.110,3.060,3.640,0.296,
+2.910,4.130,3.670,3.270,4.280,7.570,6.070,3.260,2.460,4.360,
+3.330,2.300,1.740,2.700,3.230,0.269,2.050,3.120,4.200,2.990,
+2.340,5.710,4.920,3.510,2.180,3.530,3.580,3.030,2.060,2.510,
+3.310,0.232,2.680,3.560,4.030,4.000,2.900,5.530,4.360,3.680,
+2.770,4.340,0.257,0.228,0.168,0.298,3.930,0.274,2.970,4.220,
+3.860,4.520,3.910,6.000,5.430,2.860,2.700,4.760,3.820,2.710,
+2.210,3.420,5.250,0.309,4.370,6.350,6.520,5.400,6.170,11.0,
+24.7,7.560,4.780,11.9,5.650,3.100,2.710,5.160,5.270,0.401,
+2.170,4.260,8.090,5.490,3.410,9.900,6.850,3.680,2.100,4.130,
+3.450,2.130,1.840,2.740,2.970,0.183,1.750,2.760,3.430,2.640,
+1.920,4.300,5.300,5.120,2.370,6.070,0.297,0.268,0.157,0.546,
+3.300,0.246,1.690,3.260,3.330,3.380,2.500,6.220,8.340,4.710,
+3.520,9.610,4.810,3.020,2.560,6.110,4.600,0.308,2.710,5.400,
+8.590,5.620,5.960,19.6,8.880,4.390,2.480,5.300,4.570,2.910,
+1.900,3.260,3.080,0.219,1.430,2.670,4.230,3.350,1.780,4.920,
+5.160,3.510,1.750,3.150,3.270,3.320,1.240,2.080,2.580,0.179,
+1.520,2.640,3.080,2.620,1.680,3.550,3.720,3.140,1.680,4.020,
+0.180,0.187,0.097,0.257,2.980,0.211,1.710,3.020,2.840,3.090,
+2.250,4.720,4.830,3.220,2.080,5.570,3.540,2.670,1.980,4.210,
+3.510,0.216,2.000,4.030,5.300,4.170,3.780,10.1,8.440,3.860,
+3.080,4.590,5.000,3.070,2.680,4.620,4.580,0.436,2.200,3.920,
+5.280,4.160,3.620,8.080,0.305,0.229,0.156,0.246,0.225,0.204,
+0.144,0.248,0.233,0.018,0.138,0.228,0.439,0.323,0.222,0.461,
+4.880,4.050,2.760,4.810,0.251,0.201,0.161,0.372,4.170,0.300,
+3.250,3.900,3.840,4.170,3.980,6.800,6.180,3.720,3.190,5.890,
+5.050,3.410,3.220,6.310,5.800,0.343,4.920,7.260,6.860,4.850,
+7.120,14.0,25.1,6.370,4.520,11.1,5.150,2.990,2.750,6.410,
+5.410,0.388,2.690,5.130,9.850,6.200,4.880,16.1,6.490,3.970,
+2.630,3.710,3.720,1.940,2.310,3.820,4.770,0.251,2.810,4.250,
+8.260,5.130,3.950,8.570,6.800,5.110,3.800,6.860,0.289,0.231,
+0.156,0.497,5.550,0.311,3.880,6.100,6.860,6.400,6.730,11.8,
+17.5,4.310,3.610,10.1,5.350,3.600,2.890,7.700,6.560,0.348,
+5.780,8.700,12.5,7.540,13.1,27.6,28.9,9.510,5.820,14.7,
+9.070,4.030,3.030,4.450,5.640,0.481,1.630,3.130,9.650,5.700,
+2.680,5.710,13.0,5.330,3.140,4.130,5.270,2.590,2.210,2.200,
+4.520,0.315,2.040,2.530,3.920,2.920,2.140,3.440,8.060,4.930,
+3.220,4.900,0.612,0.437,0.303,0.639,3.000,0.313,1.640,2.390,
+3.500,3.770,2.080,3.180,11.6,4.330,4.140,8.000,6.380,4.000,
+3.250,5.550,4.980,0.373,2.250,3.970,6.520,3.500,3.230,5.270,
+16.1,5.530,3.010,4.970,6.120,3.740,2.200,2.590,4.520,0.421,
+1.620,2.680,4.150,3.770,1.850,3.330,7.180,4.010,1.840,2.520,
+3.870,2.450,1.620,1.670,3.770,0.290,1.640,2.220,2.440,2.230,
+1.310,1.900,4.870,3.710,2.100,3.000,0.335,0.290,0.218,0.304,
+2.930,0.280,1.560,2.130,2.070,2.700,1.550,2.380,3.960,2.250,
+1.680,2.750,3.180,2.280,1.540,2.260,2.960,0.217,1.410,2.310,
+2.970,2.430,1.870,3.610,9.430,3.710,2.900,4.800,5.910,3.160,
+2.780,3.720,4.660,0.497,1.720,3.150,4.390,3.570,2.490,5.380,
+0.726,0.435,0.254,0.401,0.590,0.395,0.277,0.319,0.416,0.058,
+0.241,0.346,0.536,0.637,0.339,0.611,3.990,2.660,2.270,2.390,
+0.379,0.247,0.213,0.295,2.430,0.270,1.330,1.850,2.170,2.220,
+1.610,2.210,3.730,1.970,2.100,2.920,4.440,2.900,2.060,2.760,
+2.870,0.244,1.580,2.430,2.650,2.270,2.350,3.680,12.3,4.560,
+3.440,7.480,4.620,2.410,2.090,2.970,5.340,0.534,1.890,3.500,
+6.690,4.560,3.390,8.670,7.490,4.330,2.780,3.990,4.740,3.000,
+2.420,2.600,4.220,0.299,2.190,3.340,4.680,4.960,3.030,5.400,
+4.320,3.190,2.470,3.130,0.349,0.274,0.301,0.310,2.720,0.224,
+1.540,2.340,2.720,3.060,2.130,3.260,6.140,3.090,2.640,5.140,
+3.180,2.260,1.840,2.770,3.780,0.236,2.170,3.740,4.660,3.420,
+3.130,5.770,15.7,10.6,4.230,7.380,5.970,4.400,3.040,3.170,
+4.120,0.444,1.590,2.620,4.300,3.940,2.240,3.990,7.720,5.700,
+2.540,3.230,4.260,2.820,2.210,2.130,3.000,0.344,1.660,2.320,
+2.120,2.190,1.410,2.350,3.930,3.400,2.020,2.780,0.372,0.364,
+0.226,0.359,1.900,0.198,1.170,1.600,1.670,2.270,1.360,2.200,
+3.760,1.760,1.630,2.630,3.300,2.390,1.610,2.320,2.020,0.171,
+1.020,2.060,2.360,1.580,1.540,3.360,8.100,5.730,2.090,3.480,
+4.630,3.470,1.750,1.930,2.780,0.310,1.040,1.810,2.200,2.310,
+1.230,2.350,4.620,3.550,1.420,1.780,2.990,1.670,1.640,1.580,
+2.190,0.264,1.190,1.720,1.380,1.680,1.070,1.420,2.940,3.310,
+1.440,2.000,0.287,0.358,0.178,0.228,1.990,0.287,1.040,1.570,
+1.270,2.210,1.080,1.860,2.140,1.520,0.874,1.420,2.160,1.880,
+0.948,1.300,1.710,0.179,0.716,1.370,1.550,1.240,0.935,2.170,
+4.810,2.990,1.670,2.610,3.870,2.800,2.430,2.350,2.450,0.317,
+1.180,1.910,1.950,1.970,1.530,2.900,0.334,0.334,0.152,0.221,
+0.283,0.326,0.214,0.186,0.196,0.055,0.188,0.240,0.193,0.280,
+0.180,0.268,2.380,2.480,1.620,1.870,0.260,0.266,0.189,0.221,
+1.730,0.242,1.110,1.540,1.180,1.920,1.370,1.940,1.790,1.160,
+1.050,1.510,2.410,2.030,1.520,1.880,1.660,0.162,1.160,1.840,
+1.470,1.310,1.610,2.660,4.240,2.030,1.360,2.360,2.740,1.450,
+1.060,1.290,1.930,0.166,0.766,1.390,2.120,1.510,1.140,2.550,
+3.500,2.560,1.710,2.150,2.330,2.120,1.450,1.580,1.500,0.165,
+1.170,1.980,1.440,1.840,1.270,2.160,2.390,2.060,1.570,1.980,
+0.193,0.172,0.119,0.180,1.500,0.149,0.973,1.530,1.310,1.720,
+1.300,1.970,2.530,1.270,1.290,1.990,1.860,1.400,1.030,1.540,
+1.860,0.149,1.250,2.290,2.620,2.080,1.990,3.380,7.650,4.020,
+3.100,4.530,3.100,2.070,1.570,1.910,2.960,0.292,1.720,2.140,
+2.940,2.560,1.750,2.890,5.940,3.950,2.290,2.770,3.120,2.120,
+1.790,1.680,2.910,0.286,1.780,2.120,1.950,2.150,1.430,2.060,
+3.210,3.100,2.160,2.560,0.335,0.362,0.232,0.384,1.840,0.282,
+1.050,1.490,1.570,2.700,1.420,2.290,2.990,1.630,1.640,2.360,
+2.410,2.040,1.370,1.860,2.340,0.217,1.290,2.140,2.460,1.820,
+2.070,4.660,0.546,0.432,0.201,0.339,0.384,0.345,0.179,0.208,
+0.255,0.045,0.137,0.206,0.223,0.297,0.172,0.283,0.468,0.562,
+0.181,0.218,0.426,0.465,0.222,0.225,0.273,0.062,0.204,0.217,
+0.190,0.273,0.147,0.202,0.307,0.368,0.186,0.212,0.043,0.073,
+0.049,0.041,0.276,0.083,0.170,0.220,0.178,0.385,0.190,0.281,
+0.368,0.244,0.182,0.321,0.418,0.451,0.257,0.383,0.305,0.042,
+0.207,0.315,0.307,0.257,0.268,0.525,3.530,2.410,1.430,1.660,
+2.520,1.970,1.730,1.560,2.440,0.353,1.370,1.700,1.630,1.750,
+1.580,1.970,0.316,0.485,0.147,0.165,0.210,0.228,0.158,0.139,
+0.249,0.069,0.210,0.181,0.208,0.301,0.194,0.204,1.900,2.210,
+1.260,1.310,0.214,0.263,0.156,0.212,2.380,0.785,0.824,1.080,
+1.200,2.460,1.070,1.240,1.500,1.060,0.872,1.030,1.810,1.770,
+1.150,1.430,1.920,0.321,1.250,1.590,1.230,1.430,1.190,1.710,
+3.200,1.860,1.130,1.910,2.160,1.150,0.790,0.996,1.820,0.189,
+0.980,1.550,2.000,1.500,1.290,2.550,4.070,5.190,1.660,1.950,
+2.780,2.150,1.400,1.350,2.280,0.240,1.720,1.940,1.860,2.140,
+1.610,2.050,2.300,2.320,1.440,1.710,0.208,0.253,0.127,0.181,
+2.190,0.534,1.150,1.600,1.590,2.630,1.490,2.020,2.360,1.320,
+1.510,1.530,1.880,1.620,1.160,1.500,2.180,0.243,1.620,2.270,
+2.320,2.120,1.950,3.170,11.8,5.600,3.990,7.930,4.040,2.330,
+2.360,2.720,3.540,0.348,1.690,2.930,5.730,3.900,2.750,5.960,
+5.250,2.700,1.850,2.630,2.440,1.430,1.230,1.420,2.350,0.166,
+1.250,1.800,2.020,1.620,1.300,2.250,4.060,3.090,1.930,3.470,
+0.363,0.325,0.206,0.471,2.200,0.195,0.953,1.850,2.260,2.280,
+1.370,2.810,4.820,2.210,2.350,4.890,3.070,2.150,1.730,3.100,
+2.700,0.204,1.580,3.210,4.150,2.540,2.770,7.930,7.620,4.260,
+2.250,4.070,4.070,2.910,1.770,2.330,3.260,0.288,1.410,2.410,
+3.020,2.770,1.640,3.170,4.890,3.350,1.530,2.290,3.070,2.540,
+1.450,1.640,2.490,0.228,1.410,2.130,2.000,1.970,1.140,1.930,
+4.260,3.060,1.570,2.600,0.247,0.242,0.140,0.253,2.450,0.236,
+1.260,2.140,2.180,2.630,1.630,2.830,3.890,2.130,1.690,3.350,
+3.260,2.740,1.590,2.890,2.760,0.188,1.700,3.040,3.030,2.210,
+2.500,4.690,3.770,2.660,1.620,2.790,3.130,2.190,1.610,2.340,
+2.620,0.300,1.400,2.090,2.510,2.060,1.680,2.990,0.302,0.350,
+0.136,0.228,0.222,0.216,0.157,0.175,0.205,0.045,0.192,0.229,
+0.229,0.273,0.159,0.265,2.390,2.140,1.380,1.720,0.190,0.157,
+0.124,0.184,2.020,0.259,0.950,1.370,1.750,2.110,1.350,1.840,
+2.220,1.550,1.250,1.900,2.630,1.910,1.560,2.190,2.290,0.202,
+1.480,2.230,2.000,1.690,1.690,3.240,6.460,2.970,2.040,3.680,
+2.800,1.700,1.540,1.720,2.770,0.235,1.260,2.200,3.860,2.530,
+2.120,4.820,3.590,2.600,1.390,2.080,2.160,1.510,1.320,1.350,
+1.900,0.143,1.300,1.950,2.090,2.010,1.440,2.490,3.490,2.810,
+1.860,2.690,0.237,0.190,0.123,0.219,2.500,0.205,1.310,2.160,
+2.690,3.030,2.080,3.090,4.660,2.230,1.990,4.190,3.000,2.510,
+1.750,2.560,3.260,0.186,2.060,3.590,5.040,3.080,3.050,5.120,
+11.0,6.850,4.890,7.860,7.090,4.720,2.850,3.430,4.650,0.530,
+1.930,3.560,5.880,4.800,2.570,4.580,6.820,4.070,2.030,2.380,
+3.970,2.760,1.970,1.940,2.760,0.316,1.690,2.010,1.930,1.980,
+1.400,2.000,2.920,2.460,1.500,2.340,0.312,0.272,0.195,0.347,
+1.710,0.201,0.910,1.290,1.550,2.110,1.250,2.020,3.570,1.770,
+1.350,2.880,3.440,2.390,1.620,2.670,2.590,0.343,1.210,1.990,
+2.670,1.980,1.870,3.480,7.030,4.770,2.040,3.180,5.410,3.660,
+1.810,2.210,3.280,0.420,1.280,2.030,2.320,2.880,1.230,2.560,
+5.140,4.140,1.600,1.920,3.360,2.280,1.680,1.660,2.740,0.413,
+1.570,1.950,1.570,2.180,1.190,1.620,2.510,2.570,1.220,1.710,
+0.293,0.281,0.199,0.240,1.860,0.284,1.180,1.460,1.330,2.360,
+1.310,1.710,1.940,1.360,0.755,1.390,2.190,1.790,0.935,1.550,
+1.780,0.174,0.979,1.420,1.580,1.600,1.260,2.510,3.840,2.420,
+1.390,2.370,4.200,2.750,2.130,2.540,2.870,0.360,1.100,1.780,
+2.320,2.030,1.340,2.970,0.364,0.348,0.217,0.257,0.414,0.368,
+0.289,0.274,0.273,0.072,0.220,0.273,0.234,0.376,0.203,0.311,
+1.480,1.560,1.060,1.180,0.191,0.161,0.127,0.173,1.380,0.186,
+0.871,1.190,1.000,1.390,0.986,1.320,1.390,0.940,0.751,1.160,
+2.120,1.650,1.080,1.500,1.710,0.200,0.961,1.340,1.430,1.470,
+1.470,2.180,3.810,1.790,1.270,2.630,1.930,1.160,0.850,1.180,
+2.050,0.242,0.779,1.480,2.240,1.500,1.020,3.000,3.430,2.550,
+1.480,2.030,2.750,2.030,1.570,1.600,1.760,0.196,1.290,1.870,
+1.580,1.850,1.130,1.880,1.590,1.410,1.140,1.280,0.170,0.127,
+0.192,0.151,1.150,0.135,0.714,0.985,1.070,1.450,0.956,1.280,
+2.210,1.100,0.814,1.660,1.310,0.979,0.884,1.150,1.640,0.149,
+1.100,1.740,2.080,1.740,1.620,3.280,7.540,5.640,2.840,4.800,
+5.780,6.750,2.560,2.630,2.760,0.381,1.230,1.880,2.470,2.820,
+1.430,2.550,5.290,4.170,1.890,2.240,4.380,3.490,2.250,1.990,
+2.290,0.347,1.660,1.920,1.200,1.680,1.260,1.590,1.970,2.250,
+1.360,1.890,0.247,0.340,0.211,0.292,1.120,0.172,0.949,1.130,
+0.867,1.440,1.060,1.510,1.870,1.130,0.848,1.600,2.270,2.200,
+1.230,1.580,1.200,0.164,0.835,1.210,1.260,1.080,1.200,2.190,
+4.540,4.390,1.600,2.160,3.800,4.040,1.530,1.610,2.070,0.319,
+1.030,1.540,1.350,1.950,0.938,1.600,3.670,3.190,1.350,1.380,
+2.240,0.839,1.330,1.240,1.980,0.447,1.350,1.820,0.944,1.750,
+1.050,1.310,1.690,2.490,1.080,1.450,0.240,0.392,0.196,0.231,
+1.420,0.303,1.020,1.330,0.824,1.990,1.140,1.450,1.150,1.190,
+0.544,0.906,1.600,1.860,0.778,1.110,1.090,0.146,0.752,1.130,
+0.841,1.010,0.727,1.530,3.110,2.260,1.060,1.620,3.840,3.370,
+2.230,1.950,1.790,0.298,1.060,1.440,1.220,1.560,1.220,1.970,
+0.314,0.360,0.153,0.191,0.460,0.509,0.413,0.238,0.204,0.107,
+0.255,0.256,0.120,0.285,0.184,0.199,1.530,1.980,1.220,1.320,
+0.339,0.365,0.223,0.234,1.230,0.242,0.942,1.270,0.797,1.650,
+1.240,1.420,1.030,0.800,0.645,0.928,2.240,2.250,1.550,1.700,
+1.310,0.180,1.020,1.460,1.000,1.190,1.500,2.080,2.230,1.390,
+0.841,1.390,1.780,1.270,0.730,0.883,1.110,0.122,0.539,0.826,
+1.080,0.917,0.671,1.440,2.450,2.140,1.250,1.550,2.310,2.380,
+1.570,1.470,1.140,0.193,1.080,1.450,0.828,1.300,0.938,1.350,
+1.260,1.550,1.100,1.260,0.146,0.188,0.111,0.140,0.814,0.122,
+0.717,0.914,0.709,1.230,0.932,1.280,1.260,0.789,0.566,0.991,
+1.130,1.090,0.779,0.973,0.927,0.105,0.749,1.250,1.170,1.350,
+1.130,2.110,3.780,2.790,1.660,2.600,2.580,1.990,1.350,1.600,
+1.780,0.234,1.110,1.480,1.660,1.770,1.120,1.870,3.890,4.040,
+1.460,2.150,3.360,2.550,1.840,1.800,2.760,0.387,1.810,2.190,
+1.330,1.940,1.070,1.600,1.730,2.340,1.100,1.530,0.235,0.263,
+0.176,0.297,1.240,0.221,0.780,1.130,0.957,1.760,0.886,1.530,
+1.510,1.070,0.718,1.380,1.650,1.540,0.957,1.350,1.430,0.177,
+0.979,1.500,1.350,1.190,1.480,2.750,0.234,0.271,0.106,0.163,
+0.308,0.338,0.184,0.176,0.176,0.046,0.112,0.166,0.133,0.214,
+0.154,0.225,0.287,0.465,0.132,0.155,0.432,0.494,0.285,0.289,
+0.264,0.138,0.240,0.249,0.121,0.251,0.126,0.146,0.154,0.292,
+0.126,0.136,0.046,0.097,0.069,0.047,0.169,0.094,0.169,0.190,
+0.111,0.283,0.181,0.224,0.142,0.123,0.070,0.131,0.233,0.290,
+0.156,0.212,0.148,0.035,0.148,0.206,0.117,0.156,0.175,0.260,
+2.560,2.640,1.200,1.390,3.000,2.970,2.080,1.970,2.200,0.441,
+1.340,1.700,1.240,1.780,1.420,1.960,0.272,0.672,0.214,0.172,
+0.293,0.481,0.313,0.191,0.256,0.129,0.285,0.252,0.144,0.355,
+0.193,0.190,1.570,2.440,1.220,1.200,0.218,0.309,0.208,0.207,
+1.700,0.387,1.050,1.330,1.010,1.860,1.280,1.310,0.997,0.935,
+0.676,0.808,1.670,2.060,1.270,1.410,1.740,0.307,1.520,1.610,
+0.966,1.300,1.590,1.690,1.900,1.390,0.635,1.100,1.370,0.985,
+0.587,0.716,1.210,0.145,0.640,1.020,1.050,1.020,0.722,1.480,
+2.680,3.660,1.240,1.420,2.770,2.810,1.460,1.410,2.210,0.326,
+1.640,1.980,1.260,1.990,1.200,1.610,1.500,2.040,0.980,1.210,
+0.171,0.210,0.119,0.147,1.390,0.252,1.050,1.320,1.030,1.950,
+1.200,1.680,1.280,1.080,0.744,1.150,1.150,1.230,0.811,1.030,
+1.510,0.220,1.580,1.790,1.400,1.610,1.550,2.380,3.980,2.020,
+1.340,2.540,1.610,1.170,0.858,1.220,1.490,0.161,0.694,1.490,
+1.720,1.370,0.910,2.090,2.700,1.780,0.872,1.380,1.600,1.120,
+0.836,1.070,1.230,0.111,0.715,1.150,1.010,0.888,0.624,1.130,
+1.490,1.410,0.728,1.260,0.128,0.125,0.073,0.169,0.807,0.089,
+0.444,0.832,0.821,1.020,0.611,1.210,1.790,0.930,0.758,1.590,
+1.220,0.911,0.666,1.280,1.030,0.085,0.605,1.260,1.420,0.972,
+1.090,2.760,3.320,2.240,1.060,1.780,2.390,2.210,1.390,1.500,
+2.030,0.248,0.915,1.730,1.550,1.850,0.979,1.880,2.620,2.320,
+0.871,1.280,2.610,2.270,1.240,1.470,1.840,0.260,1.100,1.600,
+1.330,1.630,0.828,1.320,1.310,1.630,0.684,1.010,0.121,0.177,
+0.100,0.151,1.220,0.197,0.765,1.240,1.060,1.820,0.983,1.540,
+1.220,0.886,0.610,1.080,1.500,1.470,0.850,1.500,1.220,0.122,
+0.889,1.590,1.230,1.200,1.240,2.290,2.610,1.930,0.916,1.360,
+2.520,2.320,1.450,1.690,1.970,0.266,1.050,1.680,1.390,1.370,
+1.240,2.130,0.231,0.290,0.097,0.139,0.186,0.268,0.180,0.152,
+0.141,0.039,0.131,0.159,0.134,0.196,0.128,0.184,2.010,1.690,
+0.866,1.050,0.166,0.153,0.105,0.140,1.480,0.189,0.892,1.170,
+1.360,1.550,1.060,1.460,1.250,0.910,0.698,0.981,1.860,1.510,
+1.070,1.450,1.490,0.185,1.190,1.500,1.290,1.210,1.440,2.110,
+2.770,1.620,0.903,1.670,1.510,1.130,0.707,0.952,1.510,0.156,
+0.783,1.290,1.490,1.100,0.932,2.130,2.100,1.750,0.779,1.160,
+1.700,1.480,0.934,1.070,1.620,0.150,0.879,1.420,1.240,1.220,
+0.906,1.570,2.050,1.690,0.987,1.440,0.272,0.137,0.088,0.148,
+1.360,0.143,0.982,1.390,1.440,1.820,1.430,1.940,2.220,1.270,
+1.020,2.190,1.990,1.640,1.210,1.600,1.910,0.168,1.580,2.460,
+2.580,1.960,2.190,2.970,4.580,2.900,2.710,4.020,3.220,2.090,
+2.090,2.070,2.580,0.275,1.170,1.790,2.930,2.630,1.430,2.520,
+2.620,1.790,1.570,1.600,1.890,1.160,1.170,1.080,1.440,0.152,
+0.862,1.040,1.200,1.230,0.948,1.380,1.900,1.600,1.250,1.510,
+0.193,0.152,0.132,0.223,1.100,0.135,0.642,0.911,1.080,1.430,
+0.933,1.370,2.100,1.170,0.945,1.870,1.980,1.340,1.110,1.530,
+1.190,0.114,0.724,1.160,1.750,1.110,1.240,2.460,4.300,2.440,
+1.690,2.730,2.980,2.010,1.650,1.640,2.120,0.247,0.980,1.670,
+1.610,1.770,0.886,1.720,2.480,1.800,0.982,1.260,1.790,1.020,
+1.110,1.050,1.770,0.190,0.844,1.160,0.995,1.290,0.632,1.030,
+1.970,2.030,1.300,1.940,0.204,0.225,0.171,0.238,1.430,0.189,
+0.906,1.480,0.921,1.600,1.040,1.340,1.380,0.901,0.680,1.310,
+1.630,1.470,1.280,1.440,1.140,0.103,0.645,1.080,1.090,0.985,
+0.962,2.080,2.670,1.480,1.010,1.660,2.880,2.110,1.970,1.880,
+2.500,0.342,0.924,1.330,1.670,1.930,1.140,2.120,0.273,0.247,
+0.140,0.197,0.300,0.288,0.238,0.238,0.255,0.058,0.174,0.214,
+0.242,0.448,0.190,0.302,1.390,1.300,0.900,1.030,0.169,0.148,
+0.124,0.181,1.040,0.149,0.586,0.797,0.879,1.500,0.800,1.030,
+1.170,0.807,0.622,0.989,1.950,1.480,1.230,1.450,1.270,0.156,
+0.778,1.070,1.620,1.420,1.260,2.040,2.790,1.250,0.937,1.780,
+1.520,0.920,0.823,1.100,1.640,0.234,0.767,1.150,1.710,1.510,
+0.977,2.230,2.120,1.450,0.950,1.300,1.680,1.280,1.130,1.190,
+1.430,0.184,0.908,1.270,1.390,1.590,0.941,1.670,1.420,1.500,
+1.310,1.430,0.165,0.136,0.119,0.189,1.120,0.126,0.756,1.180,
+1.090,1.570,1.110,1.790,1.850,1.040,0.897,1.750,1.260,0.925,
+0.849,1.280,1.870,0.183,1.390,2.180,2.790,2.230,2.380,4.570,
+0.314,0.273,0.217,0.247,0.273,0.247,0.178,0.183,0.235,0.057,
+0.112,0.160,0.220,0.313,0.131,0.190,0.301,0.263,0.306,0.215,
+0.281,0.226,0.229,0.181,0.172,0.038,0.143,0.150,0.114,0.181,
+0.117,0.161,0.148,0.178,0.124,0.134,0.026,0.034,0.026,0.035,
+0.110,0.023,0.090,0.107,0.089,0.154,0.100,0.133,0.153,0.096,
+0.086,0.139,0.201,0.186,0.131,0.165,0.131,0.017,0.084,0.129,
+0.130,0.104,0.121,0.220,0.295,0.254,0.142,0.256,0.253,0.255,
+0.164,0.161,0.170,0.039,0.085,0.186,0.137,0.180,0.081,0.147,
+0.265,0.276,0.131,0.143,0.271,0.199,0.210,0.181,0.185,0.057,
+0.138,0.159,0.096,0.158,0.091,0.109,0.154,0.233,0.126,0.174,
+0.038,0.065,0.046,0.056,0.172,0.050,0.123,0.154,0.100,0.203,
+0.124,0.161,0.118,0.095,0.069,0.113,0.189,0.226,0.148,0.156,
+0.116,0.017,0.077,0.111,0.097,0.097,0.107,0.181,0.199,0.150,
+0.091,0.127,0.270,0.284,0.258,0.210,0.196,0.046,0.126,0.126,
+0.117,0.169,0.122,0.167,0.030,0.049,0.027,0.026,0.051,0.084,
+0.070,0.038,0.038,0.032,0.058,0.044,0.018,0.050,0.032,0.030,
+0.148,0.197,0.140,0.134,0.041,0.061,0.050,0.040,0.144,0.048,
+0.129,0.136,0.093,0.264,0.158,0.158,0.137,0.091,0.077,0.109,
+0.250,0.247,0.215,0.213,0.150,0.029,0.123,0.157,0.149,0.186,
+0.170,0.268,0.279,0.192,0.113,0.187,0.180,0.129,0.107,0.124,
+0.165,0.025,0.088,0.129,0.165,0.168,0.151,0.257,0.344,0.280,
+0.195,0.218,0.366,0.339,0.292,0.256,0.267,0.048,0.206,0.252,
+0.203,0.307,0.191,0.264,0.160,0.200,0.158,0.178,0.023,0.030,
+0.023,0.029,0.156,0.028,0.139,0.177,0.128,0.208,0.166,0.235,
+0.208,0.137,0.107,0.189,0.172,0.161,0.123,0.173,0.204,0.026,
+0.181,0.264,0.269,0.250,0.247,0.434,2.530,1.490,1.150,1.650,
+1.710,1.210,0.822,1.020,1.070,0.146,0.992,0.941,1.030,0.970,
+0.868,1.070,2.130,1.600,0.924,1.030,1.980,1.380,1.120,0.953,
+1.270,0.190,1.110,1.070,0.736,1.040,0.688,0.863,1.360,1.880,
+0.936,1.150,0.211,0.251,0.154,0.251,1.570,0.468,0.782,0.952,
+0.768,2.300,0.712,1.080,1.010,0.651,0.512,0.935,1.290,0.979,
+0.722,0.988,1.020,0.133,0.774,1.070,0.829,0.859,0.809,1.590,
+0.211,0.172,0.098,0.156,0.354,0.243,0.126,0.134,0.111,0.030,
+0.081,0.096,0.081,0.103,0.061,0.109,0.189,0.183,0.077,0.084,
+0.247,0.239,0.164,0.128,0.139,0.052,0.141,0.134,0.067,0.107,
+0.066,0.084,0.130,0.221,0.107,0.117,0.040,0.066,0.046,0.037,
+0.138,0.062,0.157,0.145,0.073,0.205,0.105,0.172,0.132,0.087,
+0.065,0.118,0.219,0.214,0.129,0.173,0.118,0.024,0.099,0.137,
+0.083,0.096,0.105,0.165,1.610,1.310,0.675,0.712,2.080,2.600,
+1.250,1.080,1.250,0.255,0.905,0.975,0.659,0.956,0.771,0.936,
+0.154,0.251,0.096,0.096,0.259,0.659,0.202,0.142,0.148,0.071,
+0.149,0.138,0.082,0.195,0.112,0.106,1.180,1.460,0.754,0.813,
+0.178,0.255,0.158,0.177,1.010,0.200,0.376,0.608,0.548,1.240,
+0.689,0.787,0.845,0.567,0.397,0.545,1.440,1.340,0.846,0.947,
+1.140,0.155,0.763,0.886,0.635,0.907,0.699,0.929,1.430,0.800,
+0.537,0.774,0.989,0.729,0.427,0.511,0.778,0.114,0.489,0.649,
+0.620,0.636,0.452,0.772,1.530,1.410,0.737,0.766,1.640,1.910,
+0.984,0.858,1.080,0.184,0.937,1.020,0.767,1.220,0.828,0.917,
+1.100,1.580,0.758,0.926,0.136,0.190,0.111,0.133,1.120,0.180,
+0.778,0.940,0.708,1.370,0.836,1.030,0.863,0.628,0.417,0.629,
+1.100,0.908,0.569,0.734,0.984,0.109,0.872,1.080,0.795,0.884,
+0.806,1.130,2.780,1.420,0.973,1.950,1.380,0.875,0.650,0.876,
+1.070,0.119,0.498,0.893,1.690,0.994,0.659,1.610,2.150,1.200,
+0.656,0.928,1.070,0.695,0.531,0.654,0.723,0.069,0.441,0.647,
+0.653,0.607,0.441,0.840,1.450,1.650,0.605,0.992,0.136,0.119,
+0.075,0.163,1.050,0.118,0.420,0.742,0.775,1.150,0.541,0.979,
+1.450,0.849,0.659,1.180,1.170,0.752,0.590,0.994,0.892,0.073,
+0.506,0.847,1.160,0.784,0.813,1.930,3.180,2.050,1.200,2.030,
+2.210,1.760,1.090,1.320,1.370,0.156,0.762,1.150,1.230,1.180,
+0.646,1.300,2.370,1.870,0.810,1.160,1.770,1.460,1.110,1.270,
+1.190,0.133,0.864,1.190,0.860,0.936,0.591,1.010,1.360,1.630,
+0.866,1.180,0.141,0.180,0.139,0.178,1.180,0.165,0.913,1.250,
+0.875,1.610,0.912,1.560,1.460,0.920,0.804,1.150,1.810,1.380,
+1.100,1.470,1.130,0.096,0.790,1.180,1.030,0.951,0.960,1.770,
+2.210,1.510,0.914,1.160,2.020,1.930,1.330,1.460,1.460,0.229,
+0.873,1.750,1.110,1.360,1.050,1.770,0.201,0.201,0.087,0.131,
+0.204,0.296,0.191,0.164,0.126,0.054,0.131,0.158,0.124,0.269,
+0.114,0.155,1.300,1.870,0.783,1.020,0.151,0.212,0.125,0.170,
+1.440,0.397,0.719,1.130,1.310,4.230,1.020,1.310,1.180,0.900,
+0.666,0.947,1.710,1.540,1.200,1.470,1.530,0.161,1.090,1.390,
+1.380,1.520,1.240,1.770,3.090,1.060,0.804,1.360,1.200,0.755,
+0.603,0.842,1.290,0.165,0.622,1.150,0.984,0.783,0.649,1.560,
+2.080,1.410,0.816,1.100,1.660,1.360,1.020,1.050,1.090,0.124,
+0.921,1.260,0.965,1.060,0.854,1.400,1.610,1.770,0.958,1.490,
+0.148,0.174,0.095,0.189,1.640,0.186,1.180,1.680,1.290,1.990,
+1.260,1.730,1.950,1.070,0.881,1.740,1.640,1.650,0.996,1.520,
+1.710,0.137,1.340,2.100,1.980,1.540,1.660,2.670,6.710,3.850,
+3.150,6.170,3.810,2.120,1.870,2.470,3.360,0.324,1.310,2.390,
+5.340,4.500,2.030,4.290,3.140,1.700,1.400,1.840,1.800,1.000,
+0.916,1.030,1.670,0.130,0.880,1.120,1.570,1.510,0.998,1.690,
+2.130,1.580,1.090,1.840,0.198,0.159,0.119,0.240,1.230,0.104,
+0.582,0.949,1.320,1.510,0.895,1.780,3.770,1.710,1.570,3.240,
+2.440,1.660,1.530,2.100,1.840,0.151,0.956,1.720,2.750,1.780,
+1.780,4.310,3.760,1.900,1.220,2.550,2.300,1.220,0.859,1.160,
+1.750,0.145,0.675,1.090,1.690,1.500,0.699,1.740,2.080,1.300,
+0.650,1.080,1.300,0.680,0.617,0.722,1.290,0.084,0.513,0.768,
+0.968,0.854,0.477,0.896,1.530,1.200,0.885,1.450,0.127,0.105,
+0.095,0.146,1.420,0.101,0.512,0.790,1.260,1.580,0.708,1.340,
+1.440,0.832,0.736,1.420,1.230,0.964,1.160,1.180,1.130,0.074,
+0.515,0.958,1.180,0.974,0.833,2.190,2.980,1.390,1.030,1.890,
+2.240,1.560,1.290,1.730,2.020,0.203,0.602,1.120,2.080,1.660,
+0.954,2.530,0.234,0.147,0.098,0.184,0.176,0.131,0.112,0.158,
+0.161,0.019,0.083,0.137,0.234,0.238,0.127,0.270,1.180,1.030,
+0.790,1.130,0.111,0.082,0.072,0.136,0.816,0.087,0.371,0.681,
+0.939,1.070,0.651,1.060,1.300,0.778,1.090,2.010,1.410,0.958,
+0.860,1.410,1.090,0.094,0.584,1.030,1.430,1.120,1.130,2.090,
+4.460,1.750,1.230,2.790,1.920,1.110,0.909,1.440,2.400,0.203,
+0.981,1.720,3.950,2.230,1.430,3.940,2.610,1.470,1.090,1.650,
+1.640,1.080,0.944,1.180,1.660,0.128,0.902,1.370,2.090,1.820,
+1.100,2.250,1.690,1.410,1.150,1.680,0.137,0.110,0.091,0.156,
+1.370,0.100,0.842,1.240,1.450,1.670,1.110,2.110,3.040,1.560,
+1.500,3.460,1.850,1.320,1.080,1.770,2.420,0.167,1.440,2.580,
+4.030,3.090,2.600,6.130,5.230,3.210,2.210,4.240,3.260,2.300,
+1.640,2.200,2.570,0.375,1.030,1.890,3.900,5.960,1.580,3.080,
+3.620,2.450,1.780,2.360,2.450,1.650,1.430,1.530,1.670,0.200,
+1.170,1.450,1.550,2.080,1.100,2.010,1.900,1.980,1.100,1.740,
+0.200,0.204,0.127,0.240,1.240,0.132,0.738,1.120,1.400,1.670,
+1.060,1.930,1.910,1.200,1.050,1.730,1.980,1.720,1.120,1.540,
+1.290,0.116,0.805,1.360,1.610,1.190,1.230,2.670,3.660,2.350,
+1.220,3.420,2.540,1.840,1.090,1.500,1.610,0.185,0.658,1.580,
+2.230,2.150,0.816,2.050,2.530,2.140,0.920,1.610,2.110,1.280,
+1.080,1.230,1.450,0.163,0.744,1.120,1.140,1.320,0.685,1.140,
+1.600,1.760,0.871,1.640,0.233,0.206,0.130,0.467,1.440,0.166,
+0.700,1.160,1.660,1.720,0.909,1.940,1.270,1.100,0.709,1.170,
+1.530,1.770,0.907,1.260,0.970,0.090,0.548,1.040,1.180,0.962,
+0.803,1.870,2.700,1.540,0.886,1.760,2.220,1.700,1.480,2.120,
+1.520,0.212,0.730,1.050,1.530,1.600,0.974,1.960,0.159,0.154,
+0.092,0.142,0.177,0.193,0.160,0.169,0.125,0.031,0.109,0.130,
+0.151,0.227,0.115,0.175,1.460,1.520,0.986,1.320,0.153,0.160,
+0.120,0.183,1.090,0.147,0.648,1.040,1.040,1.670,0.971,1.550,
+1.320,0.842,0.782,1.270,1.690,1.520,1.230,1.490,1.230,0.116,
+0.753,1.310,1.440,1.300,1.330,2.460,3.180,1.600,0.981,1.860,
+1.500,0.987,0.772,1.090,1.450,0.140,0.702,1.250,2.010,1.440,
+1.090,2.370,2.460,1.790,1.370,1.670,2.060,1.720,1.390,1.480,
+1.510,0.163,1.020,1.510,1.780,2.110,1.300,2.090,1.530,1.590,
+1.160,1.720,0.131,0.128,0.091,0.162,1.140,0.116,0.886,1.350,
+1.210,1.580,1.110,1.940,2.040,1.160,1.040,1.760,1.640,1.260,
+0.910,1.360,1.720,0.140,1.340,2.260,2.390,2.050,1.910,3.530,
+2.740,1.910,1.200,2.290,1.630,1.190,0.788,1.150,1.420,0.152,
+1.120,1.220,1.670,1.410,0.941,1.570,2.910,1.830,1.040,1.430,
+1.760,1.190,0.945,0.948,1.390,0.142,0.953,1.190,1.310,1.390,
+0.798,1.310,1.600,1.940,1.050,1.600,0.227,0.228,0.132,0.271,
+1.220,0.169,0.762,1.760,1.010,1.810,0.918,3.050,1.590,1.130,
+1.080,1.670,1.480,1.570,0.898,1.320,1.360,0.167,0.973,1.540,
+1.370,1.160,1.200,2.690,0.205,0.158,0.112,0.303,0.176,0.158,
+0.086,0.138,0.115,0.017,0.072,0.116,0.127,0.142,0.086,0.187,
+0.184,0.170,0.071,0.118,0.172,0.195,0.114,0.117,0.123,0.029,
+0.112,0.125,0.089,0.131,0.070,0.141,0.110,0.171,0.085,0.155,
+0.021,0.034,0.022,0.045,0.171,0.035,0.106,0.239,0.129,0.288,
+0.164,1.500,0.154,0.113,0.090,0.165,0.171,0.197,0.123,0.193,
+0.124,0.018,0.090,0.151,0.120,0.131,0.116,0.379,1.890,1.340,
+0.826,1.030,1.750,1.860,1.170,1.230,1.430,0.218,0.803,1.050,
+1.010,1.210,0.951,1.490,0.158,0.176,0.072,0.102,0.136,0.198,
+0.105,0.089,0.127,0.031,0.105,0.106,0.118,0.186,0.118,0.149,
+1.300,1.920,0.917,1.080,0.141,0.189,0.112,0.136,1.130,0.163,
+0.542,0.812,0.738,1.410,0.818,1.270,1.150,0.951,0.667,0.930,
+1.420,1.600,1.040,1.150,1.330,0.132,1.020,1.170,0.971,1.050,
+1.100,1.630,2.150,1.100,0.705,1.470,1.270,0.898,0.568,0.775,
+1.350,0.125,0.687,0.993,1.390,1.010,0.726,1.440,2.290,1.750,
+1.010,1.370,1.610,1.580,0.942,0.933,1.910,0.173,1.090,1.370,
+1.500,1.740,1.090,1.620,1.600,1.900,1.180,1.480,0.131,0.170,
+0.195,0.141,1.340,0.145,0.859,1.320,1.160,1.950,1.240,1.850,
+1.560,1.030,0.812,1.180,1.350,1.220,0.925,1.100,1.500,0.128,
+1.210,1.660,1.570,1.530,1.410,2.300,5.030,2.350,1.730,3.790,
+2.030,1.250,0.956,1.610,1.840,0.169,0.916,1.590,2.590,2.110,
+1.200,2.970,2.890,1.540,0.878,1.450,1.470,0.964,0.732,0.955,
+1.240,0.099,0.751,1.090,1.190,1.100,0.712,1.340,1.990,2.620,
+0.961,1.920,0.156,0.180,0.089,0.223,1.260,0.122,0.604,1.190,
+1.220,1.500,0.839,1.870,2.690,1.610,1.310,2.730,1.680,1.270,
+1.020,1.790,1.540,0.119,0.981,2.090,2.420,1.650,1.720,4.760,
+2.810,1.610,1.170,2.120,1.690,1.300,0.758,1.170,1.210,0.103,
+0.617,1.140,1.250,1.150,0.754,1.680,2.110,1.460,0.676,1.110,
+1.410,1.110,0.709,0.942,1.100,0.088,0.688,1.180,1.020,0.991,
+0.601,1.190,1.420,1.320,0.735,1.410,0.097,0.101,0.060,0.148,
+1.170,0.114,0.678,1.330,1.210,1.860,0.911,3.150,1.900,1.100,
+0.988,1.700,1.450,1.170,0.953,1.700,1.190,0.080,0.782,1.480,
+1.420,1.190,1.180,2.830,3.030,2.080,1.250,1.790,2.480,1.830,
+1.450,2.040,1.890,0.210,1.090,1.650,1.770,1.600,1.320,2.570,
+0.220,0.343,0.114,0.154,0.156,0.171,0.129,0.151,0.115,0.018,
+0.107,0.148,0.155,0.188,0.111,0.221,1.970,2.160,1.150,1.670,
+0.145,0.142,0.101,0.170,1.670,0.176,0.848,1.460,1.440,2.150,
+1.280,2.080,2.120,1.520,1.450,1.970,2.280,1.820,1.590,2.140,
+2.000,0.153,1.390,2.160,1.940,1.590,1.770,3.120,4.730,2.020,
+1.380,2.760,2.130,1.400,1.050,1.540,2.010,0.162,1.080,1.750,
+2.800,1.940,1.710,4.100,3.430,2.370,1.320,1.930,2.370,2.070,
+1.270,1.530,1.930,0.136,1.230,1.810,1.960,1.850,1.420,2.590,
+2.870,2.740,1.650,2.760,0.171,0.165,0.112,0.196,2.240,0.155,
+1.480,2.510,2.350,2.710,2.080,3.360,4.950,2.490,2.000,4.410,
+2.930,2.320,1.670,2.900,3.020,0.164,2.280,3.820,4.790,2.730,
+2.890,6.020,9.430,5.960,3.930,7.140,6.330,4.560,2.910,3.260,
+5.100,0.599,2.120,3.530,6.420,5.240,2.600,4.360,8.180,6.490,
+2.730,3.180,4.960,3.710,2.280,2.130,3.490,0.400,1.900,2.280,
+2.500,2.810,1.760,2.470,3.830,4.050,2.250,2.660,0.402,0.443,
+0.311,0.443,2.400,0.335,1.510,1.810,1.990,3.430,1.730,2.350,
+5.840,2.910,2.340,3.690,4.220,3.220,2.420,3.440,2.820,0.325,
+1.520,2.560,3.380,2.590,2.250,3.590,6.860,3.330,1.790,3.170,
+5.140,3.910,2.150,2.190,3.350,0.458,1.310,1.900,2.360,2.750,
+1.200,1.940,5.360,4.460,1.540,1.890,3.880,3.160,1.810,1.660,
+2.950,0.467,1.490,1.940,1.640,2.480,1.110,1.390,2.810,3.570,
+1.580,1.720,0.312,0.425,0.261,0.257,2.680,0.408,1.520,1.720,
+1.340,2.890,1.320,1.550,2.150,1.600,0.924,1.420,2.570,2.270,
+1.290,1.700,2.200,0.227,1.280,1.610,1.960,1.730,1.300,2.230,
+3.340,2.030,1.190,1.750,3.340,2.120,2.300,1.860,2.780,0.412,
+1.080,1.740,1.790,2.060,1.260,2.290,0.314,0.344,0.157,0.197,
+0.346,0.320,0.252,0.196,0.265,0.078,0.186,0.241,0.214,0.411,
+0.189,0.277,1.560,1.840,1.720,1.160,0.200,0.205,0.231,0.186,
+1.560,0.226,0.844,1.210,0.858,1.520,1.040,1.010,1.430,1.070,
+1.060,1.130,2.140,1.810,1.450,1.480,2.100,0.216,0.989,1.460,
+1.300,1.510,1.470,1.940,4.250,1.880,1.260,2.550,2.140,1.250,
+1.230,1.230,1.940,0.206,0.751,1.360,2.330,1.850,1.200,2.740,
+3.620,2.990,1.600,1.960,2.910,2.200,2.030,1.580,1.930,0.219,
+1.110,1.580,1.750,2.270,1.300,2.130,1.820,1.820,2.640,1.570,
+0.220,0.214,1.280,0.302,1.560,0.192,1.070,1.270,1.250,1.990,
+1.400,1.510,2.580,1.420,1.330,1.990,1.690,1.380,2.190,1.570,
+2.130,0.221,1.380,2.130,2.410,2.170,2.040,3.450,7.560,6.810,
+2.800,4.160,5.030,4.320,2.420,2.420,2.730,0.378,1.140,1.750,
+2.610,3.140,1.490,2.490,8.670,16.5,3.680,3.550,4.680,4.480,
+2.590,2.120,2.660,0.577,1.470,1.870,1.540,2.530,1.220,1.650,
+2.380,4.320,1.680,1.730,0.352,0.541,0.283,0.297,1.630,0.264,
+1.340,1.330,1.080,2.170,1.450,1.520,2.210,1.540,1.060,1.490,
+2.880,2.720,1.440,1.710,1.520,0.182,0.911,1.270,1.810,1.500,
+1.290,2.440,4.680,4.640,1.510,2.080,4.460,4.130,1.940,1.700,
+2.220,0.383,0.958,1.330,1.340,2.190,1.080,1.580,3.730,5.330,
+1.420,1.450,3.230,1.890,1.870,1.410,2.260,0.465,1.180,1.550,
+1.120,2.030,1.120,1.230,1.960,3.700,1.250,1.350,0.345,0.645,
+0.314,0.264,2.360,0.622,1.380,1.740,1.090,3.130,1.220,1.400,
+1.530,1.390,0.634,0.894,2.370,2.520,1.030,1.180,1.610,0.227,
+0.804,1.140,1.720,1.520,0.905,1.570,2.280,2.170,0.877,1.240,
+2.720,2.590,1.940,1.620,1.640,0.321,0.897,1.110,0.885,1.400,
+1.020,1.310,0.246,0.643,0.141,0.157,0.257,0.413,0.281,0.172,
+0.222,0.160,0.217,0.224,0.111,0.332,0.149,0.161,1.600,2.180,
+1.430,1.120,0.288,0.375,0.257,0.203,1.550,0.286,1.050,1.260,
+0.727,1.730,1.110,1.080,1.170,0.916,0.728,0.915,2.070,2.290,
+1.550,1.520,1.480,0.208,1.150,1.480,0.941,1.370,1.240,1.600,
+2.040,1.340,0.738,1.130,1.800,1.120,0.698,0.809,0.977,0.104,
+0.396,0.650,0.960,0.891,0.621,1.090,2.200,2.670,1.160,1.250,
+1.910,2.180,1.250,1.180,1.160,0.185,0.748,1.060,0.846,1.720,
+0.822,1.170,1.220,1.610,1.090,1.070,0.136,0.201,0.168,0.133,
+1.170,0.178,0.806,1.020,0.796,1.420,0.976,1.130,1.360,0.902,
+0.727,0.992,1.350,1.330,0.791,1.010,1.280,0.150,0.995,1.500,
+1.560,1.550,1.360,2.140,3.300,2.980,1.390,2.130,2.370,2.440,
+1.200,1.260,1.490,0.243,0.819,1.130,1.540,1.700,0.878,1.510,
+4.740,7.270,2.240,2.110,3.780,5.000,1.870,1.800,2.330,0.510,
+1.410,1.510,1.350,2.370,1.390,1.430,2.150,3.170,1.580,1.590,
+0.332,0.486,0.217,0.290,1.680,0.332,0.838,1.040,0.913,2.050,
+0.896,1.190,1.650,1.160,0.859,1.240,1.790,1.650,0.939,1.170,
+1.540,0.182,0.801,1.240,1.500,1.260,1.170,2.730,0.290,0.473,
+0.129,0.197,0.424,0.643,0.231,0.232,0.214,0.070,0.120,0.141,
+0.163,0.330,0.127,0.181,0.488,1.900,0.225,0.251,0.661,1.650,
+0.393,0.425,0.326,0.176,0.216,0.226,0.165,0.468,0.185,0.202,
+0.184,0.439,0.167,0.153,0.057,0.161,0.080,0.050,0.275,0.123,
+0.217,0.204,0.131,0.454,0.213,0.172,0.187,0.202,0.095,0.152,
+0.360,0.454,0.230,0.261,0.214,0.051,0.149,0.206,0.188,0.221,
+0.171,0.301,1.670,1.850,1.020,0.876,1.900,1.980,3.680,1.350,
+1.770,0.403,1.140,0.984,0.875,1.380,1.390,1.160,0.218,0.662,
+0.130,0.110,0.200,0.375,0.251,0.124,0.214,0.103,0.159,0.135,
+0.133,0.382,0.188,0.136,1.150,2.210,1.040,0.996,0.194,0.348,
+0.239,0.167,2.010,0.515,1.040,1.080,0.997,3.310,1.140,0.960,
+0.896,0.842,0.646,0.629,1.450,1.730,1.090,1.050,1.680,0.316,
+0.936,1.060,0.824,1.610,0.940,1.190,1.490,1.090,0.553,0.860,
+1.240,0.918,0.845,0.607,1.630,0.169,0.437,0.750,1.040,0.975,
+0.682,1.220,2.240,3.410,1.020,1.160,2.100,2.580,1.320,1.060,
+1.790,0.320,0.957,1.150,1.130,1.890,1.310,1.280,1.320,2.100,
+1.030,1.020,0.180,0.338,0.208,0.170,2.300,0.787,0.931,1.210,
+1.010,2.740,1.000,1.200,1.300,0.979,0.779,0.975,1.380,1.530,
+0.983,1.170,1.710,0.264,1.030,1.430,1.400,1.850,1.240,1.990,
+3.630,2.350,1.420,2.610,1.990,1.520,0.932,1.090,1.640,0.205,
+0.714,1.190,2.450,2.040,1.140,2.470,2.210,2.260,0.863,1.340,
+1.630,1.610,0.713,0.857,1.190,0.186,0.524,0.786,0.954,1.060,
+0.624,0.998,1.680,1.680,0.892,1.380,0.197,0.215,0.108,0.224,
+1.580,0.144,0.521,0.804,1.040,1.330,0.696,1.190,1.960,1.010,
+0.919,1.770,1.370,1.050,0.731,1.250,1.450,0.117,0.599,1.130,
+1.710,1.250,1.170,3.140,3.390,2.910,1.310,2.270,3.110,3.120,
+1.320,1.530,2.130,0.310,0.902,1.430,1.800,2.320,1.040,1.920,
+3.110,5.060,1.080,1.650,3.310,4.580,1.500,1.660,2.030,0.458,
+1.070,1.520,1.360,2.110,0.882,1.310,1.540,2.070,0.873,1.230,
+0.175,0.315,0.137,0.188,1.720,0.252,1.060,1.320,1.130,2.160,
+1.130,1.410,1.410,1.090,0.688,1.130,1.840,1.840,1.030,1.490,
+1.510,0.146,0.878,1.320,1.440,1.430,1.100,2.140,1.590,1.660,
+0.748,1.010,1.650,1.410,1.270,1.060,1.820,0.522,0.820,1.110,
+1.140,1.700,1.070,1.520,0.190,0.618,0.098,0.131,0.146,0.242,
+0.127,0.099,0.415,0.313,0.144,0.171,0.154,0.518,0.120,0.154,
+1.020,1.340,0.829,0.818,0.144,0.158,0.154,0.124,1.180,0.220,
+0.624,0.833,0.769,1.660,0.967,1.020,0.986,0.754,0.588,0.820,
+1.770,1.400,1.030,1.190,1.270,0.212,0.691,1.090,0.939,1.190,
+0.958,1.750,2.570,1.460,0.971,1.540,1.420,1.070,0.733,0.874,
+2.640,0.193,0.573,0.941,1.920,1.370,1.050,2.040,1.690,1.780,
+0.659,0.952,1.420,1.300,0.786,0.863,1.850,0.351,0.658,1.050,
+1.080,1.600,0.802,1.270,1.540,1.660,0.935,1.360,0.154,0.183,
+0.117,0.149,1.540,0.228,0.882,1.350,1.270,2.300,1.370,1.650,
+2.260,1.400,0.992,2.130,2.030,2.700,1.170,1.660,2.130,0.197,
+1.360,2.330,2.790,2.530,1.980,3.730,6.180,4.550,2.610,4.110,
+4.750,3.920,2.040,2.280,3.430,0.496,1.600,3.070,3.260,3.530,
+1.660,2.820,5.570,5.370,2.180,2.360,5.080,4.210,2.270,2.040,
+2.920,0.472,1.930,2.210,1.760,2.600,1.580,1.790,1.930,2.250,
+1.230,1.490,0.269,0.313,0.219,0.272,1.350,0.240,0.922,1.090,
+1.030,2.030,1.020,1.450,2.200,1.310,0.874,1.630,2.210,1.930,
+1.170,1.580,1.610,0.279,0.934,1.390,1.640,1.520,1.310,2.260,
+4.940,3.700,1.360,2.130,4.380,4.280,1.700,1.780,2.670,0.480,
+1.220,1.570,1.560,2.410,0.862,1.480,4.920,6.450,1.550,1.840,
+4.220,3.940,2.030,1.900,2.920,0.826,1.880,2.300,1.440,3.010,
+1.080,1.360,1.780,2.870,1.100,1.140,0.284,0.525,0.346,0.275,
+1.850,0.512,1.530,1.490,1.010,2.950,1.250,1.310,1.180,1.010,
+0.518,0.796,1.730,1.900,0.917,1.170,1.360,0.212,0.890,1.130,
+1.060,1.340,0.993,1.610,2.100,1.740,0.774,1.170,2.790,2.500,
+1.600,1.530,2.530,0.406,1.040,1.390,1.150,1.580,0.921,1.740,
+0.230,0.454,0.172,0.181,0.335,0.447,0.308,0.231,0.309,0.146,
+0.260,0.273,0.146,0.406,0.178,0.225,0.911,1.370,0.911,0.736,
+0.176,0.218,0.170,0.153,1.210,0.259,0.882,1.030,0.610,1.330,
+0.790,0.790,0.808,0.707,0.486,0.655,1.480,1.460,1.050,1.120,
+1.320,0.213,0.883,1.150,0.897,1.220,1.040,1.420,2.010,1.130,
+0.665,1.390,1.200,0.846,0.578,0.675,1.300,0.144,0.465,0.758,
+1.210,1.060,0.621,1.550,2.240,2.380,1.070,1.390,2.270,2.250,
+1.460,1.360,1.680,0.262,0.983,1.380,1.110,1.900,0.846,1.320,
+1.030,1.230,1.880,0.976,0.142,0.140,0.559,0.172,0.924,0.148,
+0.880,0.887,0.630,1.180,0.842,0.950,1.760,0.885,0.717,1.090,
+0.991,0.889,1.360,0.913,1.220,0.149,0.896,1.250,1.340,1.440,
+1.250,2.500,4.180,3.640,1.730,2.580,3.980,4.370,1.860,1.800,
+1.940,0.317,0.904,1.290,1.410,1.920,0.893,1.500,4.170,5.480,
+2.220,1.930,4.980,6.150,2.740,2.150,2.180,0.529,1.560,1.720,
+1.010,2.050,1.080,1.320,1.450,2.290,1.180,1.210,0.243,0.420,
+0.257,0.249,1.040,0.251,1.130,1.110,0.639,1.490,0.905,1.070,
+1.150,0.973,0.554,0.914,1.690,2.030,0.983,1.100,0.803,0.132,
+0.775,0.934,0.854,0.911,0.814,1.390,3.190,3.300,1.280,1.390,
+3.220,4.480,1.590,1.340,2.020,0.437,0.970,1.110,0.871,1.740,
+0.634,1.040,2.250,2.620,0.991,1.010,1.300,0.539,0.987,0.798,
+1.700,0.782,1.130,1.480,0.658,1.860,0.816,0.939,1.230,2.830,
+1.140,1.080,0.296,0.845,0.419,0.307,1.650,0.643,1.280,1.500,
+0.711,2.930,1.280,1.300,0.753,0.889,0.439,0.524,1.460,2.380,
+0.951,1.060,1.050,0.222,0.861,1.010,0.667,1.110,0.701,1.040,
+1.670,1.860,0.696,1.000,2.910,3.600,1.880,1.720,1.490,0.332,
+0.964,1.080,0.718,1.290,0.891,1.220,0.196,0.553,0.169,0.169,
+0.442,0.846,0.474,0.265,0.253,0.232,0.336,0.276,0.099,0.388,
+0.203,0.170,0.993,1.800,1.060,0.888,0.239,0.499,0.280,0.219,
+1.180,0.315,0.975,1.180,0.583,1.780,1.100,1.070,0.664,0.657,
+0.490,0.609,1.610,2.360,1.500,1.410,1.310,0.225,1.230,1.380,
+0.742,1.150,1.220,1.430,1.270,1.060,0.527,0.743,1.340,1.230,
+0.557,0.604,0.818,0.104,0.383,0.497,0.638,0.720,0.428,0.764,
+1.570,2.440,0.980,1.060,2.430,3.280,1.500,1.390,1.330,0.283,
+0.877,1.120,0.750,1.680,0.836,1.130,0.782,1.440,0.866,0.821,
+0.114,0.249,0.158,0.160,0.855,0.201,1.040,1.080,0.568,1.390,
+1.090,1.170,0.824,0.725,0.421,0.630,0.866,1.250,0.652,0.791,
+0.792,0.118,0.770,1.020,0.782,1.140,1.000,1.660,2.630,2.450,
+1.080,1.600,2.660,2.140,0.974,1.240,1.340,0.221,0.679,0.957,
+1.150,1.440,0.648,1.170,4.350,6.430,1.630,1.910,6.940,4.240,
+2.830,2.520,2.770,0.625,1.980,2.090,1.300,2.380,1.060,1.330,
+1.530,2.520,0.989,1.170,0.460,0.385,0.198,0.284,1.330,0.352,
+0.874,1.020,0.719,1.800,0.795,1.020,1.110,0.883,0.499,0.914,
+1.770,1.480,0.784,1.080,1.430,0.210,0.847,1.200,1.010,1.090,
+0.981,1.900,0.217,0.420,0.109,0.137,0.470,0.640,0.293,0.252,
+0.208,0.085,0.135,0.141,0.116,0.293,0.113,0.170,0.507,1.900,
+0.260,0.268,1.120,1.260,1.040,0.774,0.461,0.448,0.471,0.401,
+0.151,0.510,0.166,0.176,0.131,0.425,0.152,0.125,0.103,0.260,
+0.158,0.080,0.247,0.200,0.327,0.246,0.101,0.450,0.272,0.171,
+0.112,0.139,0.059,0.091,0.356,0.437,0.197,0.237,0.166,0.060,
+0.187,0.200,0.098,0.162,0.152,0.208,2.030,4.760,1.020,1.020,
+2.580,3.900,2.100,1.560,2.050,0.578,1.320,1.340,0.830,1.680,
+1.060,1.540,0.503,2.990,0.302,0.220,0.457,1.100,0.500,0.261,
+0.379,0.273,0.433,0.297,0.134,0.513,0.210,0.198,1.140,2.990,
+1.080,0.918,0.272,0.556,0.261,0.214,1.740,0.557,0.946,1.270,
+0.653,2.200,1.060,1.010,0.778,1.140,0.505,0.728,1.760,2.650,
+1.230,1.300,2.070,0.408,1.770,1.710,0.729,1.330,1.200,1.370,
+1.360,1.870,0.499,0.774,1.170,1.090,0.484,0.531,1.360,0.187,
+0.523,0.801,0.776,0.916,0.470,1.060,3.280,9.470,1.480,1.490,
+3.590,4.890,1.980,1.640,4.330,0.757,1.990,2.150,1.380,2.920,
+1.210,1.500,1.190,2.770,1.080,0.969,0.173,0.380,0.195,0.152,
+1.530,0.401,1.260,1.370,0.798,2.190,1.070,1.170,1.090,1.180,
+0.610,0.893,1.210,1.510,0.876,0.928,1.600,0.237,1.430,1.590,
+1.080,1.630,1.280,1.780,2.200,1.550,0.824,1.430,1.500,1.150,
+0.672,0.923,1.050,0.138,0.490,0.900,1.120,1.070,0.561,1.570,
+2.040,2.030,0.734,1.030,2.070,1.430,0.837,1.140,1.050,0.139,
+0.550,0.793,0.691,0.876,0.465,0.791,1.030,1.090,0.513,0.821,
+0.124,0.119,0.065,0.130,0.737,0.113,0.431,0.675,0.538,0.858,
+0.419,0.733,1.150,0.661,0.447,0.897,0.916,0.757,0.523,0.902,
+0.835,0.075,0.432,0.796,0.878,0.706,0.629,1.580,2.330,2.200,
+0.838,1.230,2.550,2.750,1.440,1.400,1.850,0.317,0.904,1.370,
+1.240,1.920,0.732,1.680,2.680,4.130,0.954,1.200,4.720,3.980,
+2.300,2.150,2.180,0.508,1.360,1.730,1.150,2.170,0.899,1.190,
+0.831,1.540,0.610,0.731,0.171,0.301,0.150,0.165,1.270,0.248,
+0.926,1.060,0.797,1.720,0.910,1.020,0.724,0.644,0.376,0.581,
+1.340,1.550,0.774,1.170,1.100,0.138,0.747,1.150,0.798,0.966,
+0.799,1.620,1.520,2.220,0.593,0.747,2.060,2.590,1.240,1.190,
+1.790,0.314,0.941,1.230,0.967,1.250,0.882,1.460,0.188,0.779,
+0.085,0.110,0.209,0.419,0.187,0.139,0.241,0.087,0.155,0.148,
+0.104,0.228,0.104,0.132,0.761,1.250,0.635,0.628,0.110,0.174,
+0.113,0.120,1.120,0.225,0.820,1.030,0.630,1.400,0.775,0.907,
+0.645,0.672,0.402,0.579,1.170,1.360,0.838,1.020,1.230,0.187,
+0.950,1.180,0.844,0.970,0.941,1.320,1.770,1.660,0.560,0.995,
+1.080,1.020,0.486,0.614,1.440,0.152,0.529,0.714,0.990,0.895,
+0.564,1.180,1.600,2.520,0.595,0.808,1.650,1.770,0.890,0.962,
+3.930,0.468,0.824,1.090,1.190,1.410,0.651,1.060,0.953,1.320,
+0.642,0.850,0.107,0.130,0.083,0.111,1.010,0.150,0.850,1.120,
+0.804,1.340,0.988,1.110,1.760,0.970,0.643,1.330,1.210,1.600,
+0.883,1.190,1.580,0.162,1.150,1.690,1.620,1.600,1.460,2.060,
+2.620,2.210,2.040,2.290,2.630,2.130,1.500,1.510,1.790,0.241,
+0.897,1.250,1.760,1.850,1.020,1.570,2.360,2.320,3.240,1.530,
+1.870,1.520,1.420,1.050,1.380,0.235,0.913,0.969,0.888,1.400,
+1.110,1.300,1.210,1.540,0.891,1.110,0.156,0.178,0.131,0.186,
+0.925,0.163,0.548,0.698,0.731,1.270,0.724,0.990,1.420,0.920,
+0.673,1.050,1.400,1.260,0.867,1.060,0.957,0.105,0.577,0.786,
+1.170,0.833,0.871,1.650,3.230,2.560,1.360,1.680,3.500,3.040,
+2.070,1.660,1.730,0.299,0.777,0.980,1.130,1.770,0.806,1.270,
+2.580,3.140,1.300,1.220,2.630,2.220,2.010,1.430,2.080,0.416,
+1.160,1.400,1.050,2.140,0.917,1.230,1.500,2.720,1.200,1.310,
+0.287,0.499,0.315,0.315,1.830,0.466,1.470,1.740,0.930,2.720,
+1.360,1.380,1.070,0.927,0.495,0.783,1.750,2.180,1.060,1.340,
+1.140,0.156,0.651,0.865,0.950,1.010,0.878,1.780,1.510,1.080,
+0.596,0.859,2.270,2.080,1.610,1.520,1.720,0.330,0.752,0.922,
+1.020,1.370,0.785,1.350,0.175,0.242,0.125,0.126,0.257,0.341,
+0.259,0.214,0.264,0.087,0.187,0.188,0.173,0.447,0.193,0.252,
+0.987,1.250,0.744,0.789,0.180,0.205,0.204,0.204,1.110,0.218,
+0.736,0.792,0.967,1.610,0.901,1.020,0.748,0.559,0.390,0.557,
+1.440,1.490,1.030,1.200,1.050,0.157,0.666,0.812,1.090,1.150,
+0.930,1.590,1.420,0.742,0.502,0.919,0.895,0.661,0.551,0.675,
+0.809,0.102,0.366,0.527,0.971,0.886,0.547,1.270,1.360,1.320,
+0.718,0.822,1.340,1.310,1.130,1.030,1.200,0.208,0.742,0.902,
+0.898,1.550,0.789,1.250,0.897,1.310,0.859,0.945,0.118,0.157,
+0.156,0.162,1.030,0.163,0.882,1.070,0.907,1.530,1.120,1.560,
+1.100,0.759,0.527,0.912,0.819,0.753,0.703,0.861,1.140,0.139,
+0.910,1.210,1.730,1.510,1.570,2.800,0.202,0.229,0.472,0.180,
+0.209,0.233,0.160,0.132,0.132,0.039,0.083,0.088,0.102,0.178,
+0.088,0.108,0.346,0.546,1.470,0.348,0.353,0.432,0.431,0.210,
+0.264,0.201,0.257,0.194,0.097,0.286,0.168,0.143,0.103,0.259,
+0.139,0.100,0.030,0.063,0.051,0.035,0.115,0.059,0.120,0.109,
+0.057,0.181,0.127,0.105,0.107,0.088,0.088,0.091,0.173,0.217,
+0.130,0.125,0.108,0.025,0.106,0.113,0.097,0.097,0.131,0.169,
+0.196,0.255,0.124,0.115,0.398,0.413,0.270,0.156,0.146,0.071,
+0.098,0.097,0.074,0.165,0.109,0.091,0.317,0.570,0.236,0.157,
+0.560,0.452,0.465,0.254,0.297,0.217,0.227,0.213,0.120,0.346,
+0.150,0.156,0.138,0.378,0.152,0.119,0.080,0.258,0.157,0.062,
+0.267,0.207,0.272,0.209,0.083,0.418,0.224,0.162,0.083,0.104,
+0.056,0.066,0.200,0.347,0.151,0.124,0.127,0.042,0.105,0.095,
+0.073,0.112,0.096,0.151,0.122,0.151,0.080,0.111,0.249,0.362,
+0.324,0.310,0.189,0.079,0.136,0.106,0.072,0.160,0.112,0.125,
+0.042,0.127,0.056,0.035,0.105,0.229,0.228,0.075,0.092,0.179,
+0.156,0.082,0.020,0.099,0.063,0.036,0.124,0.257,0.176,0.128,
+0.074,0.162,0.164,0.059,0.202,0.134,0.251,0.182,0.100,0.349,
+0.292,0.154,0.089,0.083,0.072,0.086,0.225,0.326,0.251,0.194,
+0.190,0.074,0.204,0.181,0.101,0.177,0.171,0.249,0.109,0.096,
+0.057,0.084,0.111,0.102,0.073,0.087,0.080,0.016,0.049,0.059,
+0.077,0.105,0.066,0.116,0.206,0.295,0.161,0.128,0.294,0.389,
+0.295,0.239,0.250,0.087,0.170,0.175,0.132,0.370,0.165,0.185,
+0.089,0.175,0.117,0.106,0.023,0.056,0.045,0.028,0.144,0.056,
+0.170,0.172,0.093,0.224,0.218,0.166,0.095,0.088,0.067,0.086,
+0.100,0.138,0.098,0.097,0.134,0.027,0.130,0.160,0.132,0.170,
+0.177,0.233,1.790,1.550,1.380,1.730,3.020,1.790,1.110,1.210,
+1.170,0.243,0.626,0.795,0.884,1.070,0.633,1.070,2.050,2.250,
+1.490,1.240,2.840,2.410,2.230,1.480,1.890,0.455,1.550,1.370,
+0.772,1.680,0.899,1.060,1.210,2.820,1.200,1.260,0.358,0.741,
+0.302,0.381,7.850,6.390,1.230,1.700,1.120,8.610,0.935,1.140,
+0.924,0.752,0.472,0.800,1.740,1.590,0.915,1.180,1.450,0.485,
+0.863,1.220,0.865,1.320,0.874,1.540,0.258,0.249,0.108,0.137,
+1.650,0.556,0.327,0.254,0.194,0.062,0.124,0.139,0.128,0.172,
+0.088,0.130,0.219,0.441,0.158,0.119,0.545,0.611,0.515,0.277,
+0.287,0.205,0.346,0.330,0.093,0.287,0.131,0.125,0.130,0.426,
+0.173,0.131,0.107,0.238,0.160,0.081,0.363,0.334,0.328,0.300,
+0.095,0.541,0.221,0.166,0.124,0.105,0.058,0.088,0.414,0.388,
+0.211,0.237,0.176,0.062,0.162,0.167,0.089,0.137,0.120,0.178,
+1.200,1.540,0.620,0.575,2.560,3.710,2.190,1.350,1.440,0.445,
+1.190,1.100,0.627,1.190,0.875,1.000,0.162,0.466,0.141,0.102,
+0.314,0.674,0.491,0.178,0.248,0.196,0.302,0.203,0.096,0.327,
+0.183,0.140,1.120,2.270,1.150,0.912,0.307,0.532,0.452,0.280,
+1.610,0.455,0.603,0.894,0.622,1.800,1.240,1.030,0.707,0.703,
+0.440,0.465,1.620,2.290,1.490,1.270,1.580,0.306,1.130,1.150,
+0.724,1.130,1.030,1.220,0.891,0.758,0.443,0.582,1.050,0.928,
+0.508,0.494,0.679,0.113,0.431,0.557,0.573,0.741,0.402,0.690,
+1.480,2.140,0.868,0.785,2.190,3.010,1.960,1.210,1.570,0.358,
+1.220,1.280,0.902,1.840,1.030,1.090,1.130,2.640,1.100,1.060,
+0.209,0.448,0.288,0.209,1.640,0.404,1.460,1.490,0.732,1.970,
+1.150,1.160,0.789,0.767,0.444,0.603,1.110,1.410,0.839,0.854,
+1.220,0.194,1.120,1.260,0.880,1.270,0.993,1.310,2.090,1.290,
+1.020,1.430,1.330,0.900,0.761,0.798,0.886,0.120,0.403,0.673,
+1.020,0.909,0.496,1.060,1.420,1.130,0.752,0.724,1.170,0.783,
+0.597,0.593,0.704,0.092,0.408,0.596,0.544,0.682,0.409,0.626,
+1.020,1.190,0.550,0.787,0.172,0.149,0.085,0.142,1.170,0.318,
+0.480,0.692,0.586,1.200,0.584,0.846,1.110,0.659,0.458,0.803,
+1.650,0.817,0.588,0.840,0.809,0.085,0.409,0.685,0.940,0.744,
+0.665,1.560,2.560,2.030,1.080,1.440,3.690,2.380,1.710,1.610,
+1.410,0.243,0.816,1.070,0.987,1.490,0.645,1.190,2.460,2.970,
+1.070,1.170,3.320,2.870,2.060,1.670,1.760,0.368,1.320,1.540,
+1.040,1.690,0.905,1.270,1.260,2.410,0.988,1.100,0.268,0.471,
+0.267,0.283,1.680,0.428,1.570,1.810,0.927,2.400,1.340,1.520,
+1.170,0.894,0.639,0.815,2.220,1.960,1.300,1.660,1.300,0.177,
+1.010,1.210,0.933,1.070,0.979,1.660,1.620,2.240,0.660,0.852,
+2.200,2.510,1.540,1.360,1.530,0.285,0.883,1.190,0.810,1.200,
+0.884,1.370,0.145,0.321,0.082,0.098,0.210,0.341,0.267,0.155,
+0.162,0.080,0.165,0.190,0.088,0.223,0.125,0.151,1.120,1.870,
+0.923,1.010,0.200,0.315,0.248,0.226,1.570,0.339,1.000,1.380,
+0.817,1.980,1.180,1.410,0.914,0.787,0.562,0.688,1.760,1.870,
+1.500,1.620,1.310,0.195,1.070,1.520,0.954,1.220,1.210,1.760,
+1.310,0.811,0.480,0.793,0.985,0.727,0.543,0.613,1.110,0.110,
+0.416,0.632,0.893,0.742,0.514,1.090,1.280,1.230,0.591,0.715,
+1.410,1.330,1.030,0.926,1.650,0.181,0.700,1.050,0.736,1.040,
+0.712,1.150,1.140,1.690,0.834,1.110,0.138,0.208,0.118,0.166,
+1.560,0.229,1.230,1.770,0.972,1.770,1.240,1.490,1.410,0.873,
+0.667,1.210,1.330,1.440,1.020,1.270,1.410,0.146,1.130,1.750,
+1.560,1.410,1.390,2.000,2.620,1.810,1.390,2.480,1.790,1.280,
+0.901,1.080,1.700,0.175,0.608,1.030,2.130,1.920,0.854,1.770,
+1.830,1.330,1.210,1.050,1.180,0.842,0.622,0.641,0.984,0.114,
+0.554,0.617,0.918,1.160,0.702,1.090,1.060,1.110,0.653,0.994,
+0.109,0.107,0.074,0.137,0.681,0.087,0.357,0.529,0.774,1.350,
+0.582,1.070,1.540,0.805,0.716,1.350,1.100,0.818,0.636,0.892,
+0.840,0.084,0.430,0.703,1.210,0.908,0.827,1.960,2.250,1.480,
+0.756,1.630,1.550,1.220,0.640,0.899,0.994,0.128,0.365,0.665,
+0.987,1.170,0.484,1.190,1.480,1.350,0.509,0.777,1.160,1.030,
+0.579,0.701,0.972,0.125,0.386,0.658,0.821,1.100,0.434,0.750,
+0.888,1.130,0.527,0.765,0.096,0.174,0.068,0.106,0.944,0.245,
+0.428,0.632,1.420,5.030,0.622,0.905,0.783,0.638,0.350,0.770,
+0.809,0.831,0.413,0.640,0.739,0.070,0.326,0.502,0.820,1.110,
+0.526,1.210,1.310,0.795,0.447,0.905,1.230,1.100,0.659,1.240,
+0.999,0.147,0.323,0.571,0.904,0.914,0.471,1.050,0.100,0.112,
+0.051,0.083,0.101,0.104,0.068,0.090,0.087,0.019,0.046,0.067,
+0.115,0.177,0.067,0.131,0.534,0.640,0.381,0.511,0.068,0.075,
+0.056,0.073,0.572,0.098,0.280,0.388,0.602,0.993,0.405,0.599,
+0.563,0.436,0.368,0.700,0.759,0.698,0.511,0.671,0.638,0.072,
+0.333,0.543,0.753,0.681,0.588,1.050,1.650,0.760,0.535,1.230,
+0.848,0.569,0.426,0.653,0.910,0.098,0.328,0.634,1.490,1.010,
+0.547,1.450,1.110,0.877,0.523,0.744,0.852,0.712,0.521,0.601,
+0.799,0.092,0.394,0.586,0.909,1.180,0.584,1.100,0.694,0.784,
+0.591,0.731,0.067,0.071,0.097,0.081,0.640,0.072,0.446,0.590,
+0.739,1.160,0.663,1.150,1.110,0.674,0.583,1.140,0.780,0.592,
+0.570,0.724,0.964,0.089,0.648,1.020,1.610,1.350,1.300,2.520,
+2.750,2.030,1.690,2.090,2.020,1.700,1.050,1.240,1.490,0.220,
+0.727,0.947,1.500,2.120,0.792,1.510,2.630,2.270,3.500,1.760,
+2.080,1.960,1.550,1.180,1.540,0.302,1.590,1.220,0.935,2.180,
+0.976,1.440,1.160,1.870,0.941,1.180,0.154,0.227,0.143,0.196,
+0.989,0.176,0.727,0.996,0.762,1.410,0.834,1.280,1.130,0.789,
+0.632,0.994,1.370,1.400,0.837,1.110,0.864,0.105,0.642,0.866,
+0.996,0.868,0.844,1.670,2.130,1.890,0.762,1.500,2.070,1.970,
+0.999,1.250,1.130,0.216,0.558,0.725,1.000,1.360,0.607,1.090,
+2.110,2.430,0.929,1.090,2.500,1.770,1.430,1.340,1.560,0.327,
+0.857,1.150,0.925,1.780,0.693,1.070,1.090,1.760,0.746,1.010,
+0.171,0.294,0.157,0.181,1.310,0.282,0.817,1.030,0.851,2.050,
+0.904,1.230,0.853,0.841,0.449,0.726,1.340,1.790,0.728,0.895,
+0.926,0.112,0.553,0.777,0.871,0.929,0.671,1.280,1.130,0.918,
+0.429,1.210,1.520,1.520,1.080,3.100,0.974,0.209,0.496,0.636,
+0.662,1.060,0.486,0.969,0.095,0.183,0.083,0.110,0.150,0.297,
+0.173,0.210,0.125,0.080,0.125,0.111,0.086,0.284,0.094,0.116,
+0.830,1.170,0.648,0.706,0.140,0.201,0.139,0.158,0.957,0.204,
+0.620,0.787,0.716,1.440,0.771,0.896,0.736,0.597,0.451,0.714,
+1.300,1.570,0.905,1.110,0.978,0.119,0.657,0.877,0.866,0.932,
+0.818,1.440,1.160,0.741,0.455,0.781,0.820,0.691,0.491,0.726,
+0.786,0.107,0.363,0.603,0.808,0.882,0.485,0.998,1.390,1.650,
+0.845,0.981,1.490,1.750,1.160,1.230,1.280,0.246,0.779,0.953,
+1.050,2.610,0.894,1.280,0.794,1.080,0.723,0.829,0.094,0.136,
+0.119,0.105,0.889,0.138,0.757,0.985,0.701,1.390,0.863,1.160,
+0.919,0.681,0.638,0.822,0.894,1.020,0.630,0.829,1.020,0.103,
+0.785,1.210,1.220,1.250,1.350,2.020,1.730,1.530,0.871,1.430,
+1.360,1.170,0.638,0.867,1.010,0.128,0.505,0.747,0.934,1.000,
+0.591,1.200,2.080,2.060,1.090,1.160,1.950,1.840,1.150,0.994,
+1.340,0.236,1.000,1.060,0.853,1.540,0.809,1.070,1.060,1.750,
+0.980,1.270,0.165,0.266,0.162,0.244,1.370,0.409,0.742,1.070,
+0.750,1.870,0.814,1.250,0.976,0.785,0.558,0.992,1.070,1.080,
+0.719,0.941,1.060,0.149,0.753,1.090,0.986,0.980,1.010,1.800,
+0.120,0.141,0.064,0.121,0.190,0.190,0.086,0.119,0.083,0.023,
+0.049,0.072,0.071,0.116,0.056,0.117,0.145,0.305,0.080,0.084,
+0.235,0.447,0.185,0.152,0.138,0.064,0.152,0.148,0.071,0.178,
+0.080,0.093,0.074,0.169,0.086,0.082,0.022,0.059,0.043,0.025,
+0.123,0.064,0.116,0.113,0.071,0.249,0.114,0.178,0.083,0.084,
+0.051,0.083,0.144,0.189,0.110,0.128,0.102,0.028,0.088,0.111,
+0.079,0.107,0.087,0.165,1.250,1.200,0.514,0.610,1.440,1.750,
+1.130,1.000,1.060,0.249,0.606,0.764,0.697,1.010,0.694,1.150,
+0.149,0.298,0.074,0.092,0.143,0.258,0.150,0.088,0.119,0.066,
+0.113,0.105,0.088,0.212,0.125,0.126,0.917,1.790,0.861,0.779,
+0.153,0.268,0.211,0.144,1.310,0.278,0.555,0.823,0.631,1.570,
+0.903,0.938,0.778,0.767,0.463,0.588,1.220,1.620,1.060,1.010,
+1.250,0.192,0.909,1.050,0.816,1.090,0.960,1.260,1.040,0.795,
+0.479,0.747,0.880,0.710,0.561,0.584,0.773,0.104,0.440,0.615,
+0.705,0.743,0.467,0.929,1.510,1.910,0.770,0.915,1.420,1.720,
+1.080,0.843,1.320,0.193,0.784,0.972,0.874,1.580,0.963,1.190,
+1.080,1.730,2.050,1.200,0.137,0.221,0.985,0.224,1.270,0.210,
+1.070,1.220,0.812,1.640,1.310,1.290,0.956,0.787,0.777,0.830,
+0.975,1.110,1.720,0.948,1.260,0.140,1.110,1.340,1.210,1.300,
+1.220,1.670,2.520,1.370,1.100,1.840,1.450,0.908,0.620,0.995,
+1.150,0.135,0.477,0.878,1.630,1.350,0.689,1.940,1.550,1.270,
+0.596,0.794,1.170,0.949,0.578,0.706,0.829,0.088,0.485,0.647,
+0.670,0.837,0.431,0.905,1.050,1.170,0.571,0.973,0.110,0.130,
+0.073,0.146,0.795,0.099,0.409,0.685,0.718,1.000,0.560,1.080,
+1.210,0.719,0.538,1.130,0.917,0.690,0.563,0.879,0.841,0.083,
+0.500,0.930,1.190,0.994,0.829,2.370,2.000,1.450,0.997,1.420,
+1.540,1.280,0.716,1.130,0.961,0.120,0.453,0.800,0.897,1.070,
+0.529,1.400,1.720,1.990,0.610,0.864,1.640,1.870,0.811,1.010,
+1.100,0.156,0.682,0.936,0.734,1.100,0.565,1.020,0.897,1.140,
+0.506,0.790,0.087,0.124,0.065,0.099,0.928,0.129,0.565,0.827,
+0.769,1.380,0.667,1.190,1.030,0.759,0.561,0.939,1.090,0.945,
+0.692,1.020,0.940,0.086,0.656,0.948,0.933,0.977,0.812,1.880,
+1.920,3.270,0.830,1.130,1.640,1.540,1.020,1.340,1.340,0.246,
+0.667,0.997,1.040,1.250,0.829,1.580,0.242,1.320,0.125,0.130,
+0.121,0.197,0.109,0.102,0.112,0.052,0.086,0.113,0.093,0.202,
+0.085,0.147,1.130,1.880,0.728,0.949,0.117,0.176,0.108,0.137,
+1.320,0.183,0.754,1.170,0.845,1.530,0.966,1.410,1.180,1.150,
+0.639,0.950,1.530,1.560,1.070,1.590,1.490,0.170,0.919,1.420,
+1.280,1.330,1.130,2.080,2.230,1.490,0.835,1.590,1.320,0.971,
+0.686,0.965,1.370,0.129,0.620,1.000,1.630,1.250,0.946,2.330,
+2.190,3.500,0.978,1.240,1.890,1.770,1.020,1.130,1.650,0.186,
+0.868,1.330,1.170,1.500,0.912,1.710,1.600,2.030,1.460,1.520,
+0.130,0.161,0.295,0.170,1.730,0.174,1.110,1.810,1.460,2.160,
+1.620,2.250,2.620,1.520,1.210,2.390,1.970,1.660,1.490,1.890,
+2.090,0.149,1.520,2.630,2.840,1.780,1.900,2.720,3.930,2.610,
+2.520,4.080,2.640,1.700,1.490,1.690,2.580,0.268,1.290,1.810,
+3.230,2.420,1.690,2.850,3.460,2.220,1.720,1.950,2.130,1.570,
+1.290,1.220,1.970,0.267,1.240,1.380,1.430,1.530,1.400,1.480,
+2.020,1.620,1.400,1.770,0.210,0.207,0.167,0.253,1.150,0.125,
+0.915,1.090,1.030,1.310,0.952,1.290,2.800,1.460,1.720,2.650,
+2.210,1.870,1.430,1.980,1.450,0.139,0.969,1.350,1.940,1.300,
+1.480,2.190,2.880,1.700,1.190,1.580,1.920,1.330,1.230,1.320,
+1.340,0.168,0.698,0.925,1.070,1.270,0.938,1.270,2.170,1.620,
+1.090,1.210,1.310,0.938,0.885,0.805,1.270,0.179,0.905,1.020,
+0.844,1.060,1.360,1.080,1.350,1.290,0.793,0.945,0.129,0.151,
+0.117,0.143,0.998,0.129,0.746,1.020,0.652,1.080,0.741,0.906,
+1.140,0.766,0.563,0.874,1.220,1.050,0.699,0.973,1.080,0.096,
+0.625,0.903,1.120,0.844,0.842,1.300,2.040,0.838,0.832,1.140,
+1.810,1.230,1.020,1.090,1.360,0.191,0.613,0.929,1.230,1.300,
+0.819,1.310,0.201,0.151,0.106,0.136,0.163,0.152,0.117,0.114,
+0.138,0.034,0.104,0.124,0.167,0.246,0.147,0.169,0.952,0.889,
+0.759,0.744,0.105,0.099,0.096,0.105,0.792,0.096,0.547,0.639,
+0.683,0.806,0.622,0.666,0.905,0.590,0.546,0.752,1.170,1.060,
+0.780,1.000,0.958,0.122,0.624,0.932,0.854,0.913,0.866,1.320,
+2.570,1.040,0.949,1.720,1.110,0.730,0.711,0.793,1.130,0.130,
+0.561,0.816,1.400,1.190,0.885,1.820,2.030,1.390,1.040,1.280,
+1.400,1.160,0.932,0.886,1.170,0.124,0.793,0.990,1.100,1.300,
+0.953,1.270,0.978,0.878,0.745,0.910,0.089,0.085,0.118,0.107,
+0.726,0.073,0.514,0.744,0.722,0.938,0.746,0.939,1.330,0.807,
+0.785,1.400,0.833,0.698,0.646,0.873,1.200,0.101,0.783,1.370,
+1.560,1.440,1.340,2.590,4.620,3.370,1.990,2.980,2.610,2.130,
+1.610,1.660,1.880,0.305,0.996,1.480,1.780,2.020,1.470,2.230,
+3.510,3.690,2.330,2.060,2.460,2.290,1.930,1.530,3.310,1.060,
+1.950,1.950,1.450,3.070,2.890,2.080,1.830,2.570,1.720,1.710,
+0.218,0.340,0.226,0.256,1.060,0.166,0.922,0.966,0.754,1.380,
+1.020,1.190,1.700,1.030,0.965,1.350,1.900,1.730,1.120,1.390,
+1.240,0.138,0.718,1.030,1.170,1.020,1.130,1.930,2.800,2.650,
+1.110,1.530,2.430,2.310,1.250,1.240,1.400,0.232,0.792,0.997,
+0.925,1.360,1.310,1.490,2.060,2.280,1.270,1.190,1.310,0.650,
+1.070,1.030,1.540,0.322,1.290,1.420,0.800,1.470,2.840,2.210,
+1.380,2.240,1.210,1.320,0.198,0.330,0.230,0.290,1.180,0.245,
+1.050,1.120,0.652,1.660,1.020,1.140,1.010,0.855,0.580,0.762,
+1.300,1.440,0.933,1.110,0.906,0.115,0.630,0.961,0.736,0.821,
+0.815,1.310,1.950,1.600,0.972,1.230,1.990,1.950,1.730,1.360,
+1.480,0.262,1.060,1.190,0.962,1.400,1.210,1.480,0.183,0.367,
+0.176,0.175,0.190,0.309,0.274,0.168,0.193,0.093,0.262,0.210,
+0.132,0.354,0.279,0.252,1.190,1.630,1.170,1.110,0.162,0.245,
+0.200,0.181,1.140,0.217,1.120,1.160,0.642,1.500,1.170,1.110,
+0.829,0.649,0.605,0.775,1.350,1.570,1.270,1.340,1.060,0.156,
+1.080,1.300,0.730,1.150,1.130,1.500,1.710,1.040,0.756,1.150,
+1.010,0.762,0.644,0.719,0.810,0.089,0.487,0.623,0.860,0.823,
+0.728,1.260,1.890,1.920,1.250,1.450,1.470,1.750,1.310,1.280,
+1.140,0.188,1.050,1.250,0.905,1.630,1.310,1.480,0.917,1.020,
+0.951,1.050,0.093,0.131,0.107,0.123,0.724,0.095,0.787,0.892,
+0.645,1.020,1.190,1.290,1.040,0.489,0.660,0.927,0.869,0.850,
+0.639,0.913,0.915,0.090,0.792,1.240,1.210,1.360,1.420,2.270,
+3.050,2.170,1.640,2.040,1.380,1.160,0.936,1.010,1.280,0.162,
+0.722,0.872,1.170,1.240,0.925,1.490,3.140,3.300,1.900,1.740,
+2.070,2.100,1.590,1.300,2.270,0.398,2.010,1.630,1.130,1.960,
+1.260,1.340,1.760,2.570,2.850,1.800,0.224,0.323,0.331,0.331,
+0.990,0.155,0.955,0.913,0.637,1.310,0.896,1.080,1.690,1.280,
+1.290,1.390,1.400,1.520,1.560,1.290,1.280,0.142,0.852,1.160,
+1.220,1.020,1.320,2.330,0.258,0.267,0.164,0.190,0.245,0.266,
+0.163,0.168,0.148,0.037,0.106,0.116,0.105,0.213,0.207,0.190,
+0.299,0.441,0.190,0.178,0.285,0.401,0.243,0.189,0.232,0.082,
+0.242,0.204,0.128,0.361,0.235,0.202,0.166,0.323,0.260,0.172,
+0.033,0.078,0.075,0.054,0.176,0.057,0.198,0.165,0.092,0.264,
+0.164,0.144,0.209,0.173,0.153,0.176,0.311,0.452,0.327,0.320,
+0.182,0.036,0.161,0.206,0.160,0.188,0.183,0.304,1.930,1.260,
+0.769,0.791,1.280,1.400,1.290,1.010,1.210,0.283,0.962,0.918,
+0.694,1.140,1.100,1.040,0.189,0.281,0.112,0.113,0.138,0.225,
+0.166,0.098,0.194,0.087,0.195,0.134,0.116,0.304,0.203,0.147,
+0.827,1.380,0.962,0.745,0.136,0.192,0.190,0.144,0.938,0.197,
+0.739,0.786,0.519,1.050,0.806,0.675,0.670,0.561,0.562,0.544,
+0.983,1.290,1.140,1.080,1.050,0.166,0.946,0.914,0.604,1.040,
+0.891,1.010,1.320,0.812,0.571,0.872,0.774,0.622,0.453,0.510,
+0.721,0.090,0.460,0.592,0.742,0.774,0.634,1.090,2.020,1.970,
+1.030,1.140,1.540,1.830,1.120,0.933,1.410,0.220,1.140,1.290,
+1.020,1.710,1.300,1.350,1.180,1.300,0.857,0.844,0.124,0.176,
+0.120,0.125,0.866,0.132,0.792,0.863,0.610,1.090,0.770,0.948,
+1.150,0.810,0.693,0.791,1.020,1.070,0.756,0.916,1.170,0.134,
+0.962,1.330,1.100,1.230,1.160,1.750,3.060,1.670,1.280,2.110,
+1.180,0.775,0.733,0.814,1.080,0.107,0.575,0.826,1.370,1.130,
+0.964,1.840,1.680,1.160,0.816,1.030,0.976,0.666,0.703,0.662,
+0.972,0.109,0.614,0.751,0.796,0.808,0.667,0.915,1.560,1.190,
+0.982,1.400,0.151,0.131,0.116,0.198,0.752,0.080,0.577,0.783,
+0.659,0.851,0.579,0.996,1.580,0.894,0.938,1.770,1.110,0.854,
+0.849,1.200,0.939,0.082,0.602,1.020,1.310,0.941,1.080,2.640,
+2.380,1.620,1.280,1.570,1.690,1.180,1.230,0.987,1.170,0.139,
+0.667,0.956,0.991,1.210,1.190,1.610,2.010,1.630,0.825,1.160,
+1.300,1.210,0.846,0.832,1.190,0.193,0.890,1.070,0.855,1.560,
+0.858,1.070,1.260,1.250,0.945,1.060,0.116,0.144,0.144,0.141,
+0.922,0.113,0.761,0.987,0.705,1.150,0.774,1.020,1.240,0.799,
+0.700,1.130,1.270,1.160,0.923,1.040,0.968,0.083,0.679,0.986,
+0.981,0.912,0.925,1.750,1.660,1.100,0.756,1.060,1.420,1.150,
+1.020,1.170,1.380,0.199,0.856,1.160,0.998,1.150,1.080,1.520,
+0.148,0.184,0.093,0.126,0.114,0.137,0.115,0.112,0.129,0.043,
+0.138,0.144,0.125,0.248,0.144,0.168,1.070,1.190,0.809,0.933,
+0.100,0.116,0.107,0.124,0.933,0.129,0.624,0.846,0.669,1.060,
+0.806,1.030,0.960,0.727,0.739,0.950,1.290,1.210,1.070,1.340,
+1.290,0.127,0.936,1.320,1.020,1.060,1.040,1.790,2.380,1.160,
+0.904,1.540,1.090,0.810,0.665,0.799,1.300,0.131,0.613,0.999,
+1.410,1.280,1.010,2.130,1.530,1.150,0.805,1.150,1.150,0.922,
+0.844,0.919,1.100,0.104,0.906,1.130,1.090,1.270,0.962,1.440,
+1.560,1.390,0.968,1.410,0.141,0.134,0.097,0.159,1.280,0.122,
+0.907,1.310,1.280,1.570,1.270,1.810,2.670,1.440,1.370,2.770,
+2.080,1.940,1.300,1.870,2.450,0.176,1.650,2.890,3.440,2.520,
+2.800,4.200,0.254,0.210,0.179,0.224,0.223,0.180,0.134,0.140,
+0.154,0.023,0.146,0.136,0.167,0.183,0.132,0.144,0.287,0.237,
+0.171,0.158,0.217,0.205,0.179,0.146,0.161,0.038,0.157,0.173,
+0.108,0.162,0.263,0.181,0.119,0.133,0.109,0.116,0.020,0.029,
+0.023,0.026,0.077,0.016,0.083,0.094,0.058,0.104,0.084,0.096,
+0.162,0.094,0.114,0.137,0.182,0.177,0.142,0.152,0.111,0.015,
+0.084,0.110,0.111,0.108,0.122,0.156,0.296,0.244,0.147,0.159,
+0.265,0.222,0.172,0.138,0.163,0.046,0.127,0.142,0.106,0.185,
+0.163,0.179,0.334,0.380,0.210,0.168,0.249,0.255,0.216,0.174,
+0.244,0.097,0.236,0.243,0.116,0.257,0.278,0.330,0.137,0.194,
+0.120,0.108,0.036,0.048,0.055,0.029,0.124,0.045,0.125,0.193,
+0.068,0.197,0.126,0.123,0.098,0.080,0.061,0.076,0.154,0.151,
+0.103,0.122,0.115,0.021,0.089,0.145,0.160,0.138,0.114,0.162,
+0.178,0.129,0.099,0.107,0.333,0.244,0.170,0.144,0.160,0.036,
+0.099,0.110,0.096,0.164,0.107,0.145,0.037,0.060,0.070,0.036,
+0.046,0.061,0.053,0.033,0.033,0.023,0.047,0.032,0.019,0.057,
+0.043,0.034,0.086,0.138,0.104,0.079,0.021,0.025,0.030,0.022,
+0.096,0.029,0.107,0.104,0.053,0.128,0.102,0.095,0.071,0.054,
+0.059,0.068,0.123,0.129,0.115,0.128,0.104,0.024,0.104,0.110,
+0.073,0.105,0.124,0.141,0.175,0.094,0.086,0.136,0.115,0.082,
+0.066,0.081,0.099,0.014,0.058,0.076,0.104,0.108,0.077,0.152,
+0.226,0.219,0.166,0.226,0.213,0.252,0.186,0.184,0.145,0.033,
+0.154,0.168,0.109,0.172,0.145,0.163,0.117,0.103,0.101,0.104,
+0.015,0.016,0.024,0.017,0.089,0.019,0.080,0.102,0.064,0.115,
+0.103,0.103,0.124,0.075,0.073,0.120,0.086,0.070,0.082,0.089,
+0.108,0.017,0.111,0.137,0.122,0.133,0.146,0.235,0.276,0.261,
+0.156,0.205,0.240,0.287,0.188,0.163,0.144,0.033,0.098,0.113,
+0.124,0.159,0.213,0.186,0.324,0.356,0.235,0.185,0.329,0.374,
+0.336,0.244,0.257,0.106,0.297,0.256,0.121,0.290,1.140,0.636,
+0.120,0.239,0.157,0.133,0.029,0.114,0.055,0.039,0.087,0.029,
+0.100,0.095,0.059,0.125,0.138,0.122,0.107,0.087,0.071,0.091,
+0.189,0.281,0.129,0.125,0.138,0.018,0.083,0.097,0.089,0.090,
+0.155,0.158,0.288,0.351,0.154,0.167,0.326,0.468,0.233,0.194,
+0.184,0.071,0.139,0.140,0.093,0.195,0.161,0.268,0.304,0.522,
+0.238,0.196,0.312,0.199,0.305,0.338,0.307,0.231,0.295,0.353,
+0.133,0.396,0.460,1.180,0.145,0.381,0.197,0.159,0.049,0.166,
+0.095,0.055,0.161,0.077,0.175,0.180,0.073,0.270,0.188,0.202,
+0.088,0.102,0.066,0.070,0.178,0.294,0.154,0.152,0.110,0.032,
+0.110,0.154,0.079,0.150,0.115,0.288,0.185,0.172,0.107,0.114,
+0.274,0.319,0.307,0.173,0.175,0.052,0.180,0.146,0.082,0.146,
+0.171,0.167,0.039,0.091,0.056,0.035,0.066,0.146,0.173,0.052,
+0.057,0.066,0.111,0.070,0.018,0.072,0.091,0.074,0.130,0.238,
+0.206,0.147,0.051,0.109,0.102,0.050,0.152,0.069,0.212,0.170,
+0.067,0.200,0.196,0.154,0.074,0.065,0.072,0.073,0.162,0.260,
+0.245,0.182,0.153,0.038,0.195,0.172,0.073,0.148,0.186,0.179,
+0.148,0.111,0.080,0.107,0.112,0.102,0.081,0.089,0.083,0.013,
+0.067,0.065,0.071,0.079,0.085,0.121,0.212,0.273,0.183,0.188,
+0.248,0.327,0.287,0.233,0.178,0.057,0.220,0.215,0.091,0.215,
+0.221,0.230,0.090,0.157,0.135,0.110,0.013,0.034,0.027,0.022,
+0.093,0.024,0.142,0.121,0.060,0.112,0.160,0.141,0.094,0.068,
+0.068,0.081,0.092,0.115,0.088,0.102,0.094,0.015,0.116,0.130,
+0.101,0.134,0.189,0.225,0.183,0.183,0.122,0.127,0.133,0.138,
+0.102,0.103,0.092,0.021,0.070,0.071,0.091,0.100,0.103,0.095,
+0.285,0.361,0.187,0.151,0.327,0.331,0.279,0.199,0.252,0.087,
+0.298,0.231,0.097,0.261,0.167,0.141,0.118,0.236,0.204,0.145,
+0.031,0.056,0.073,0.047,0.111,0.042,0.117,0.117,0.050,0.135,
+0.098,0.098,0.094,0.077,0.074,0.090,0.126,0.144,0.178,0.134,
+0.112,0.021,0.110,0.127,0.078,0.084,0.120,0.164,0.025,0.039,
+0.024,0.021,0.037,0.070,0.053,0.035,0.020,0.019,0.036,0.024,
+0.012,0.038,0.066,0.025,0.049,0.132,0.052,0.036,0.095,0.163,
+0.131,0.068,0.065,0.103,0.126,0.083,0.024,0.122,0.054,0.060,
+0.023,0.085,0.060,0.049,0.022,0.086,0.086,0.025,0.051,0.056,
+0.088,0.054,0.015,0.086,0.060,0.031,0.012,0.017,0.015,0.013,
+0.036,0.064,0.063,0.048,0.027,0.016,0.049,0.037,0.015,0.027,
+0.031,0.031,0.155,0.224,0.109,0.087,0.171,0.287,0.249,0.144,
+0.168,0.066,0.183,0.156,0.069,0.172,0.216,0.131,0.036,0.139,
+0.048,0.026,0.062,0.130,0.112,0.041,0.060,0.080,0.134,0.068,
+0.017,0.077,0.081,0.030,0.107,0.285,0.207,0.118,0.043,0.109,
+0.127,0.054,0.170,0.101,0.223,0.224,0.061,0.219,0.194,0.124,
+0.062,0.071,0.083,0.078,0.147,0.252,0.253,0.258,0.134,0.052,
+0.224,0.187,0.061,0.131,0.176,0.143,0.124,0.116,0.068,0.093,
+0.090,0.087,0.063,0.060,0.086,0.019,0.071,0.081,0.066,0.093,
+0.080,0.114,0.236,0.422,0.186,0.164,0.281,0.402,0.292,0.198,
+0.269,0.090,0.307,0.295,0.113,0.287,0.279,0.180,0.127,0.209,
+0.137,0.115,0.022,0.052,0.039,0.029,0.140,0.053,0.173,0.200,
+0.073,0.195,0.139,0.139,0.097,0.086,0.077,0.091,0.119,0.134,
+0.114,0.127,0.126,0.027,0.177,0.171,0.107,0.152,0.163,0.181,
+0.235,0.162,0.103,0.170,0.155,0.100,0.108,0.150,0.121,0.014,
+0.066,0.106,0.111,0.109,0.097,0.163,0.189,0.161,0.097,0.120,
+0.139,0.114,0.114,0.111,0.114,0.023,0.086,0.104,0.082,0.117,
+0.111,0.118,0.125,0.136,0.095,0.128,0.017,0.017,0.013,0.026,
+0.073,0.013,0.060,0.090,0.058,0.092,0.066,0.100,0.128,0.079,
+0.082,0.148,0.111,0.095,0.090,0.155,0.104,0.013,0.070,0.132,
+0.121,0.088,0.118,0.275,0.297,0.289,0.213,0.210,0.273,0.264,
+0.511,0.210,0.192,0.045,0.166,0.204,0.138,0.253,0.226,0.223,
+0.343,0.424,0.207,0.211,0.355,0.373,0.303,0.265,0.264,0.086,
+0.287,0.299,0.171,0.551,0.208,0.249,0.164,0.291,0.217,0.172,
+0.030,0.061,0.066,0.051,0.174,0.047,0.185,0.225,0.110,0.277,
+0.192,0.194,0.146,0.119,0.109,0.150,0.202,0.235,0.234,0.272,
+0.169,0.026,0.174,0.206,0.133,0.158,0.181,0.287,0.174,0.188,
+0.101,0.120,0.202,0.263,0.212,0.173,0.180,0.059,0.169,0.184,
+0.101,0.171,0.170,0.175,0.024,0.047,0.018,0.021,0.032,0.059,
+0.050,0.028,0.029,0.020,0.043,0.039,0.021,0.064,0.039,0.031,
+0.117,0.212,0.155,0.124,0.022,0.038,0.040,0.031,0.146,0.049,
+0.168,0.167,0.079,0.190,0.164,0.168,0.100,0.085,0.100,0.111,
+0.159,0.178,0.187,0.196,0.163,0.027,0.184,0.196,0.118,0.132,
+0.187,0.216,0.216,0.160,0.107,0.157,0.133,0.118,0.101,0.105,
+0.128,0.017,0.085,0.116,0.115,0.130,0.116,0.198,0.181,0.209,
+0.106,0.137,0.163,0.168,0.158,0.149,0.221,0.030,0.142,0.174,
+0.117,0.170,0.142,0.170,0.158,0.181,0.135,0.157,0.021,0.026,
+0.020,0.024,0.148,0.030,0.154,0.166,0.115,0.197,0.175,0.197,
+0.221,0.132,0.141,0.246,0.193,0.186,0.171,0.215,0.229,0.025,
+0.224,0.298,0.288,0.267,0.307,0.353,2.080,1.260,1.100,1.700,
+1.290,1.060,0.854,0.946,0.982,0.125,0.617,0.847,1.250,1.220,
+0.736,1.140,1.590,1.180,0.839,0.904,1.180,0.907,1.050,0.922,
+0.885,0.127,0.677,0.748,0.668,0.993,0.715,0.803,0.846,0.937,
+0.633,1.060,0.120,0.120,0.096,0.164,0.641,0.083,0.536,0.947,
+0.482,0.736,0.567,0.705,1.210,0.607,0.491,1.060,0.933,0.937,
+0.515,0.816,0.788,0.076,0.414,0.588,0.801,0.460,0.585,0.993,
+1.770,1.400,0.788,1.040,1.470,1.280,1.000,0.907,0.841,0.138,
+0.630,0.889,0.692,0.989,0.595,0.816,1.580,1.580,0.812,0.844,
+1.250,0.876,1.030,0.902,1.200,0.251,0.942,1.440,0.647,1.150,
+0.675,0.748,0.916,1.520,0.797,1.050,0.148,0.207,0.169,0.256,
+1.180,0.247,1.250,4.280,0.594,1.310,0.900,1.200,0.657,0.528,
+0.406,0.570,1.020,1.010,0.655,0.875,0.676,0.079,0.520,1.050,
+0.671,0.600,0.562,0.942,1.440,0.994,0.591,0.888,1.850,2.390,
+1.380,1.390,1.310,0.228,0.804,1.070,0.970,1.190,0.882,1.210,
+0.240,0.251,0.118,0.143,0.224,0.275,0.230,0.198,0.188,0.063,
+0.237,0.210,0.164,0.412,0.203,0.219,0.792,1.010,0.850,0.820,
+0.124,0.142,0.152,0.171,0.876,0.149,0.735,1.010,0.501,1.090,
+0.847,0.843,0.598,0.531,0.383,0.502,1.050,1.050,0.969,0.983,
+0.732,0.113,0.613,0.846,0.635,0.859,0.791,1.020,1.120,0.606,
+0.423,0.735,0.622,0.573,0.548,0.518,0.580,0.090,0.348,0.560,
+0.791,0.874,0.544,0.989,1.160,1.040,0.629,0.729,0.973,0.946,
+0.815,0.732,0.731,0.106,0.706,0.841,0.707,1.200,0.821,0.923,
+0.757,0.859,0.711,0.746,0.127,0.097,0.097,0.128,0.728,0.112,
+0.645,1.300,0.577,1.000,0.855,0.993,0.755,0.545,0.436,0.787,
+0.598,0.512,0.508,0.674,0.786,0.080,0.615,0.960,1.030,1.020,
+1.050,1.670,0.153,0.136,0.108,0.117,0.133,0.142,0.122,0.113,
+0.091,0.021,0.065,0.069,0.086,0.123,0.086,0.100,0.192,0.225,
+0.192,0.133,0.212,0.241,0.353,0.215,0.151,0.062,0.153,0.137,
+0.082,0.172,0.201,0.145,0.075,0.123,0.081,0.079,0.019,0.041,
+0.033,0.023,0.085,0.035,0.094,0.099,0.047,0.116,0.081,0.086,
+0.073,0.056,0.045,0.068,0.095,0.109,0.076,0.092,0.071,0.013,
+0.050,0.059,0.062,0.055,0.068,0.114,0.133,0.185,0.073,0.084,
+0.136,0.171,0.158,0.099,0.082,0.031,0.072,0.068,0.057,0.103,
+0.068,0.080,0.182,0.252,0.127,0.096,0.181,0.166,0.206,0.139,
+0.207,0.119,0.164,0.166,0.084,0.203,0.137,0.149,0.083,0.203,
+0.099,0.084,0.031,0.079,0.068,0.033,0.154,0.086,0.182,0.258,
+0.072,0.210,0.131,0.127,0.049,0.057,0.051,0.047,0.085,0.115,
+0.089,0.080,0.061,0.017,0.065,0.086,0.047,0.056,0.063,0.086,
+0.114,0.134,0.065,0.064,0.173,0.281,0.219,0.133,0.137,0.045,
+0.138,0.099,0.074,0.127,0.124,0.103,0.028,0.064,0.033,0.021,
+0.051,0.106,0.111,0.043,0.039,0.052,0.107,0.051,0.017,0.067,
+0.050,0.028,0.085,0.160,0.123,0.104,0.034,0.067,0.079,0.032,
+0.128,0.063,0.183,0.136,0.055,0.188,0.142,0.112,0.064,0.080,
+0.065,0.063,0.129,0.179,0.161,0.136,0.088,0.029,0.116,0.117,
+0.060,0.136,0.114,0.127,0.118,0.114,0.067,0.088,0.083,0.082,
+0.070,0.067,0.065,0.012,0.052,0.060,0.077,0.096,0.094,0.124,
+0.183,0.212,0.140,0.138,0.218,0.292,0.217,0.172,0.153,0.045,
+0.182,0.158,0.105,0.236,0.243,0.165,0.079,0.116,0.107,0.094,
+0.017,0.029,0.025,0.018,0.102,0.031,0.133,0.151,0.076,0.150,
+0.170,0.142,0.071,0.065,0.053,0.071,0.068,0.090,0.069,0.083,
+0.078,0.014,0.084,0.117,0.091,0.112,0.134,0.178,1.240,1.260,
+0.917,1.160,1.090,0.993,0.702,0.784,0.782,0.111,0.527,0.680,
+0.535,0.605,0.500,0.661,1.810,1.830,0.939,0.955,1.930,1.590,
+1.510,1.060,1.800,0.273,1.370,1.240,0.688,1.300,0.860,0.843,
+0.824,1.590,0.815,0.849,0.168,0.266,0.193,0.228,0.866,0.223,
+1.070,0.955,0.434,1.200,0.680,0.791,0.624,0.523,0.371,0.559,
+0.803,0.849,0.581,0.712,0.745,0.108,0.677,0.973,0.549,0.575,
+0.655,1.090,0.133,0.162,0.088,0.106,0.192,0.248,0.163,0.136,
+0.086,0.033,0.106,0.087,0.051,0.102,0.071,0.100,0.180,0.261,
+0.127,0.107,0.312,0.319,0.293,0.176,0.191,0.118,0.269,0.207,
+0.070,0.202,0.130,0.095,0.091,0.257,0.136,0.097,0.044,0.110,
+0.102,0.045,0.156,0.097,0.318,0.250,0.052,0.223,0.148,0.116,
+0.066,0.065,0.048,0.069,0.150,0.195,0.118,0.145,0.095,0.028,
+0.123,0.155,0.059,0.081,0.087,0.131,1.580,1.120,0.679,0.598,
+1.620,1.790,1.360,0.932,1.180,0.286,1.200,0.895,0.536,0.922,
+1.680,0.892,0.175,0.305,0.175,0.115,0.221,0.380,0.318,0.137,
+0.208,0.141,0.383,0.193,0.099,0.297,0.446,0.173,0.941,1.220,
+0.951,0.889,0.225,0.266,0.309,0.221,0.640,0.160,0.497,0.388,
+0.352,0.718,0.762,0.612,0.499,0.443,0.446,0.444,1.010,1.170,
+1.100,0.917,0.788,0.170,1.050,0.903,0.431,0.707,1.020,0.987,
+0.865,0.602,0.439,0.506,0.612,0.519,0.361,0.360,0.528,0.082,
+0.454,0.450,0.412,0.459,0.850,0.662,1.350,1.530,0.968,0.740,
+1.410,1.740,1.180,0.816,1.110,0.233,1.460,1.120,0.725,1.450,
+3.290,1.170,0.807,1.260,0.836,0.829,0.144,0.245,0.176,0.150,
+0.997,0.217,1.240,1.090,0.501,1.160,1.050,0.875,0.588,0.491,
+0.416,0.557,0.843,0.785,0.567,0.658,0.797,0.108,0.979,0.986,
+0.658,0.786,0.968,0.999,1.450,0.893,0.638,1.200,0.801,0.598,
+0.451,0.601,0.687,0.080,0.362,0.548,0.695,0.615,0.601,0.905,
+1.140,0.801,0.460,0.579,0.780,0.540,0.489,0.526,0.637,0.069,
+0.400,0.492,0.452,0.579,0.397,0.532,0.759,0.831,0.417,0.611,
+0.088,0.097,0.067,0.109,0.509,0.078,0.423,0.611,0.458,0.754,
+0.440,0.638,0.713,0.432,0.320,0.610,0.607,0.496,0.352,0.558,
+0.462,0.048,0.307,0.531,0.545,0.468,0.454,0.974,1.620,1.430,
+0.783,1.090,1.290,1.180,0.950,0.922,0.739,0.117,0.672,0.715,
+0.551,0.804,0.467,0.782,1.560,1.550,0.767,0.953,1.570,1.430,
+1.280,1.200,1.040,0.198,1.080,1.150,0.567,1.160,0.663,0.782,
+0.784,1.490,0.733,0.764,0.126,0.226,0.158,0.169,0.962,0.206,
+1.230,1.410,0.513,1.320,0.870,1.000,0.714,0.580,0.423,0.612,
+1.010,1.050,0.758,0.997,0.717,0.100,0.713,1.010,0.523,0.629,
+0.582,1.010,1.780,2.230,0.663,0.795,1.780,2.950,1.380,1.350,
+1.130,0.252,0.964,1.030,0.727,1.500,1.390,1.290,0.161,0.246,
+0.110,0.111,0.191,0.357,0.287,0.182,0.136,0.074,0.187,0.171,
+0.136,0.905,0.291,0.190,0.911,1.460,0.789,0.806,0.135,0.203,
+0.190,0.166,1.300,0.228,0.884,1.060,0.601,1.440,0.991,0.970,
+0.710,0.683,0.529,0.565,1.180,1.280,1.140,1.130,0.964,0.131,
+0.990,1.280,0.648,0.864,1.060,1.230,1.180,0.772,0.470,0.692,
+0.765,0.709,0.454,0.496,0.645,0.083,0.417,0.517,0.627,0.578,
+0.608,0.960,1.360,1.210,0.768,0.791,1.290,1.410,1.040,0.830,
+0.738,0.115,0.790,0.934,0.700,1.330,1.420,0.985,0.936,1.150,
+0.787,0.882,0.123,0.147,0.114,0.134,1.030,0.123,1.020,1.220,
+0.642,1.080,1.010,1.050,1.020,0.616,0.612,0.960,1.030,0.957,
+0.835,1.110,1.030,0.095,0.988,1.410,1.040,0.942,1.160,1.420,
+1.970,1.250,1.130,1.870,1.220,0.910,0.661,0.872,0.938,0.115,
+0.505,0.788,1.350,1.310,0.699,1.350,1.410,0.792,1.050,0.794,
+0.828,0.561,0.560,0.542,0.685,0.067,0.456,0.510,0.624,0.653,
+0.519,0.680,0.799,0.869,0.684,0.763,0.091,0.089,0.069,0.110,
+0.472,0.046,0.308,0.430,0.362,0.535,0.425,0.647,1.300,0.636,
+1.990,1.300,0.918,0.656,0.561,0.743,0.607,0.053,0.399,0.557,
+0.831,0.572,0.668,1.640,1.660,1.090,0.681,1.080,1.030,0.852,
+0.503,0.684,0.638,0.081,0.341,0.630,0.686,0.692,0.430,0.819,
+1.050,0.749,0.449,0.563,0.697,0.499,0.399,0.497,0.586,0.075,
+0.345,0.510,0.519,0.542,0.395,0.512,0.596,0.597,0.375,0.538,
+0.061,0.070,0.050,0.079,0.524,0.059,0.349,0.897,0.474,0.661,
+0.399,0.588,0.546,0.367,0.317,0.514,0.535,0.498,0.327,0.526,
+0.449,0.034,0.285,0.525,0.523,0.392,0.416,0.793,1.340,1.060,
+0.489,0.760,1.540,4.550,0.779,1.140,0.845,0.167,0.354,0.615,
+0.847,0.845,0.576,1.080,0.112,0.102,0.062,0.082,0.109,0.214,
+0.080,0.093,0.078,0.022,0.058,0.073,0.106,0.160,0.103,0.128,
+0.513,0.549,0.429,0.559,0.063,0.109,0.053,0.079,0.422,0.054,
+0.268,0.417,0.396,0.548,0.444,0.558,0.572,0.501,0.444,0.654,
+0.711,0.706,0.512,0.776,0.529,0.060,0.360,0.653,0.582,0.566,
+0.597,1.010,1.620,0.763,0.540,1.170,0.799,1.260,0.502,0.908,
+0.720,0.087,0.393,0.639,1.150,0.783,0.607,1.330,1.080,0.752,
+0.536,0.714,0.745,0.735,0.514,0.587,0.615,0.065,0.468,0.610,
+0.765,0.829,0.625,0.898,0.640,0.597,0.472,0.662,0.058,0.060,
+0.055,0.077,0.502,0.047,0.351,0.561,0.445,0.610,0.590,0.814,
+1.040,0.585,0.626,1.220,0.639,0.499,0.485,0.781,0.821,0.065,
+0.583,0.985,1.160,0.952,1.200,2.200,2.590,1.700,1.210,1.940,
+1.650,1.300,1.060,1.240,1.080,0.152,0.652,0.980,1.380,1.570,
+0.911,1.670,2.120,1.500,1.220,1.260,1.580,1.340,1.780,1.350,
+1.240,0.193,1.080,1.130,0.914,1.210,1.060,1.200,1.070,1.180,
+0.808,0.959,0.111,0.155,0.123,0.154,0.793,0.114,0.601,0.762,
+0.630,1.100,0.786,1.130,1.030,0.642,0.656,0.841,1.030,0.984,
+0.634,0.965,0.714,0.074,0.452,0.714,0.814,0.726,0.781,1.580,
+1.940,1.680,0.794,1.290,1.520,1.420,0.988,1.310,0.941,0.148,
+0.545,0.793,1.080,1.110,0.710,1.200,1.820,1.670,0.809,0.931,
+1.600,1.080,1.080,1.000,1.450,0.307,0.860,1.120,1.170,1.400,
+0.853,1.080,0.965,1.270,0.662,0.914,0.112,0.194,0.111,0.153,
+1.070,0.188,0.786,1.140,0.734,1.370,0.865,1.390,0.681,0.569,
+0.437,0.650,0.821,0.960,0.558,0.977,0.656,0.073,0.507,1.050,
+0.694,0.712,0.662,1.170,1.400,0.992,0.689,0.911,1.520,1.760,
+1.280,1.470,1.040,0.177,0.734,0.896,0.851,1.020,0.837,1.300,
+0.117,0.161,0.089,0.100,0.155,0.243,0.195,0.161,0.115,0.058,
+0.194,0.136,0.112,0.227,0.158,0.153,0.807,1.010,0.695,0.843,
+0.106,0.158,0.124,0.143,0.850,0.174,0.738,0.929,0.581,1.280,
+0.939,1.160,0.718,0.572,0.459,0.725,1.040,1.210,0.965,1.210,
+0.765,0.116,0.798,1.050,0.750,1.220,1.010,1.560,1.370,0.994,
+0.641,1.140,0.822,0.766,0.589,0.864,0.764,0.088,0.562,0.750,
+0.933,0.789,0.749,1.390,1.460,1.420,0.906,1.150,1.290,1.450,
+1.190,1.250,0.974,0.154,1.030,1.200,0.927,1.540,1.180,1.370,
+0.820,0.990,0.777,0.966,0.079,0.109,0.090,0.113,0.746,0.100,
+0.797,1.010,0.621,0.910,1.320,1.330,0.906,0.656,0.605,0.853,
+0.796,0.793,0.587,0.973,0.790,0.082,0.731,1.120,1.010,0.892,
+1.310,2.030,1.920,1.360,1.060,1.530,1.150,0.972,1.070,1.120,
+0.884,0.111,0.572,0.779,0.862,0.781,0.599,0.953,1.970,1.820,
+0.968,1.100,1.570,1.380,1.110,0.986,1.450,0.210,1.310,1.220,
+0.866,1.290,1.010,1.210,0.957,1.830,0.921,1.030,0.126,0.224,
+0.168,0.189,0.844,0.181,0.797,0.927,0.590,1.520,0.906,1.070,
+0.855,0.703,0.552,0.812,0.874,0.930,0.682,0.811,0.843,0.100,
+0.721,1.040,0.825,0.774,1.020,1.670,0.152,0.158,0.139,0.221,
+0.142,0.177,0.121,0.141,0.079,0.020,0.076,0.097,0.074,0.117,
+0.093,0.119,0.169,0.244,0.120,0.115,0.242,0.337,0.202,0.156,
+0.159,0.069,0.225,0.169,0.096,0.200,0.185,0.127,0.077,0.174,
+0.086,0.087,0.021,0.050,0.042,0.028,0.120,0.049,0.176,0.156,
+0.062,0.208,0.154,0.181,0.086,0.086,0.059,0.082,0.129,0.182,
+0.099,0.147,0.087,0.019,0.098,0.143,0.083,0.089,0.110,0.161,
+1.750,1.230,0.761,0.777,1.640,1.730,1.400,1.050,1.120,0.244,
+1.060,0.932,0.737,1.160,2.320,1.310,0.150,0.203,0.117,0.093,
+0.176,0.247,0.168,0.102,0.136,0.071,0.239,0.131,0.131,0.270,
+0.971,0.216,1.120,1.460,0.887,0.827,0.172,0.231,0.171,0.146,
+1.050,0.197,0.603,0.770,0.540,1.170,0.989,0.921,0.772,0.696,
+0.546,0.582,1.240,1.500,1.000,0.997,0.999,0.155,1.110,1.160,
+0.669,0.904,1.130,1.300,1.300,0.870,0.548,0.872,0.875,0.744,
+0.505,0.601,0.762,0.099,0.654,0.740,0.640,0.657,0.805,0.960,
+1.700,1.610,0.939,1.030,1.430,1.580,1.050,0.879,1.300,0.183,
+1.520,1.350,0.935,1.580,2.780,1.370,1.050,1.340,0.823,0.961,
+0.101,0.160,0.134,0.122,1.120,0.149,0.968,1.250,0.660,1.180,
+1.100,1.230,1.060,0.709,0.641,0.747,0.955,1.010,0.757,0.939,
+1.150,0.121,1.220,1.460,0.971,0.992,1.250,1.630,2.530,1.290,
+1.090,1.940,1.070,0.701,0.568,0.838,0.974,0.119,0.525,0.805,
+1.090,0.916,0.749,1.410,1.440,0.960,0.600,0.770,0.868,0.679,
+0.491,0.621,0.804,0.077,0.530,0.649,0.634,0.662,0.505,0.722,
+1.000,1.200,0.628,1.010,0.141,0.148,0.084,0.175,0.658,0.081,
+0.485,0.697,0.736,0.951,0.685,0.967,0.938,0.548,0.467,0.862,
+0.732,0.515,0.409,0.679,0.613,0.052,0.460,0.766,0.898,0.662,
+0.987,2.060,1.850,1.330,1.150,1.390,1.200,1.050,0.853,0.961,
+0.764,0.102,0.568,0.849,0.755,0.849,0.670,1.110,1.690,1.490,
+0.754,0.923,1.300,1.340,0.849,1.020,1.070,0.138,0.874,1.060,
+0.712,1.150,0.675,0.940,0.845,1.050,0.595,0.870,0.082,0.116,
+0.074,0.112,0.861,0.130,1.090,1.140,0.668,1.270,1.060,1.490,
+0.864,0.701,0.576,0.891,0.909,0.802,0.597,0.931,0.788,0.067,
+0.755,1.020,0.811,0.695,0.874,1.710,2.360,1.520,1.060,1.160,
+1.900,1.700,1.190,1.520,1.330,0.193,0.920,1.180,1.120,1.360,
+1.310,1.820,0.174,0.206,0.096,0.113,0.171,0.217,0.133,0.142,
+0.129,0.029,0.118,0.137,0.136,0.279,0.228,0.192,1.360,1.890,
+0.883,1.140,0.134,0.191,0.122,0.161,1.620,0.220,0.901,1.290,
+1.010,1.670,1.430,1.620,1.300,1.130,0.736,0.994,1.690,1.520,
+1.160,1.570,1.730,0.152,1.160,1.770,1.250,1.250,1.270,2.210,
+2.730,1.350,0.814,1.470,1.250,0.911,0.635,0.885,1.140,0.114,
+0.681,0.977,1.470,1.110,1.040,2.230,2.020,1.630,0.895,1.160,
+1.820,1.970,0.997,1.090,1.440,0.127,1.060,1.520,1.260,1.390,
+1.380,1.650,1.560,1.630,0.967,1.460,0.115,0.140,0.090,0.140,
+1.490,0.133,1.160,1.600,1.330,1.760,1.600,2.070,2.490,1.220,
+0.972,2.000,1.640,1.330,1.060,1.650,1.950,0.128,1.570,2.450,
+2.790,1.650,1.900,3.600,3.840,2.830,2.450,4.980,2.930,1.870,
+1.500,2.020,2.870,0.262,1.230,2.090,4.490,3.200,1.800,3.690,
+3.970,2.000,1.480,1.840,2.000,1.370,0.951,1.050,1.770,0.135,
+0.921,1.190,1.570,1.320,1.080,1.600,2.580,1.610,1.280,1.990,
+0.200,0.157,0.132,0.237,1.190,0.107,0.682,1.010,1.240,1.460,
+0.979,1.510,3.910,1.730,1.840,3.410,2.740,1.800,1.700,2.420,
+1.700,0.142,1.020,1.610,2.690,1.700,1.890,3.100,3.160,1.470,
+1.030,1.750,1.560,1.000,0.743,0.967,1.230,0.110,0.526,0.864,
+1.130,1.060,0.687,1.260,2.280,1.240,0.721,0.998,1.160,0.788,
+0.553,0.631,0.997,0.086,0.525,0.708,0.729,0.702,0.625,0.770,
+1.470,1.040,0.691,1.020,0.097,0.084,0.063,0.104,0.890,0.076,
+0.483,0.724,0.650,0.754,0.499,0.862,1.360,0.786,0.551,0.945,
+1.160,0.826,0.632,0.820,0.867,0.060,0.379,0.641,0.933,0.691,
+0.609,1.210,1.940,0.988,0.761,1.340,1.430,1.000,0.880,1.030,
+1.270,0.132,0.547,0.875,1.360,1.070,0.929,1.740,0.181,0.136,
+0.084,0.142,0.127,0.115,0.090,0.103,0.123,0.017,0.086,0.107,
+0.153,0.172,0.114,0.187,0.919,0.747,0.680,0.776,0.087,0.065,
+0.056,0.086,0.700,0.065,0.349,0.506,0.626,0.747,0.539,0.731,
+1.140,0.640,0.584,0.959,1.240,0.905,0.706,0.941,0.973,0.085,
+0.507,0.849,0.939,1.060,0.884,1.620,3.530,1.310,1.280,3.020,
+1.400,0.792,1.010,1.230,1.630,0.148,0.682,1.130,2.180,1.420,
+1.170,2.650,2.230,1.360,1.020,1.750,1.350,0.949,0.945,1.080,
+1.310,0.090,0.761,1.120,1.430,1.260,0.988,1.600,1.240,0.983,
+0.902,1.360,0.103,0.079,0.115,0.133,1.070,0.074,0.549,0.801,
+0.958,1.060,0.953,1.240,2.170,1.120,1.080,2.240,1.290,0.926,
+0.863,1.300,1.720,0.111,0.926,1.750,2.620,2.110,1.890,4.290,
+3.340,1.800,1.250,2.360,1.600,1.080,0.794,1.040,1.220,0.123,
+0.494,0.947,1.410,1.220,0.795,1.710,2.090,1.380,1.080,1.370,
+1.160,0.834,0.697,0.726,1.020,0.157,0.631,0.816,0.747,0.952,
+0.841,0.994,1.100,1.040,0.723,1.090,0.108,0.117,0.074,0.125,
+0.769,0.093,0.334,0.477,0.609,0.875,0.459,0.786,1.570,2.110,
+0.905,1.510,1.400,1.230,0.680,0.964,0.779,0.082,0.377,0.662,
+1.070,0.797,0.737,1.570,1.980,1.470,0.639,1.240,1.170,0.980,
+0.519,0.689,0.734,0.082,0.376,0.593,0.713,0.776,0.552,1.000,
+1.220,0.952,0.474,0.743,0.690,0.307,0.405,0.526,0.626,0.071,
+0.446,0.559,0.458,0.562,0.796,0.818,0.835,0.885,0.494,0.743,
+0.073,0.084,0.052,0.078,0.605,0.096,0.319,0.458,0.447,0.697,
+0.397,0.597,0.812,0.743,0.409,0.661,0.725,0.662,0.440,0.563,
+0.543,0.047,0.277,0.482,0.545,0.506,0.433,0.895,1.320,0.778,
+0.552,0.883,0.976,0.702,0.661,0.740,0.826,0.095,0.522,0.640,
+0.747,0.705,0.674,1.140,0.099,0.102,0.056,0.098,0.070,0.077,
+0.069,0.071,0.071,0.014,0.128,0.078,0.067,0.101,0.085,0.109,
+0.729,0.651,0.540,0.675,0.065,0.065,0.044,0.060,0.470,0.050,
+0.317,0.447,0.400,0.561,0.437,0.580,0.704,0.486,0.462,0.716,
+0.787,0.775,0.545,0.714,0.735,0.062,0.435,0.707,0.630,0.801,
+0.696,1.090,1.500,0.746,0.581,1.040,0.696,0.446,0.428,0.549,
+0.653,0.054,0.340,0.511,0.768,0.558,0.554,1.150,1.180,0.994,
+0.604,1.050,0.685,0.623,0.546,0.763,0.544,0.060,0.523,0.651,
+0.569,0.676,0.621,0.891,0.691,0.483,0.543,0.754,0.048,0.042,
+0.038,0.062,0.466,0.041,0.359,0.472,0.506,0.578,0.580,0.799,
+0.891,0.395,0.538,0.839,0.639,0.540,0.449,0.713,0.742,0.053,
+0.483,0.879,1.090,1.120,1.090,1.890,2.950,1.630,1.030,1.930,
+1.210,0.839,0.609,0.868,1.130,0.114,0.499,0.829,1.290,1.320,
+0.696,1.450,2.470,1.660,0.900,1.400,1.220,0.937,0.816,0.852,
+1.370,0.121,0.692,0.921,1.020,1.160,0.744,1.130,1.430,1.300,
+1.080,1.280,0.135,0.129,0.111,0.193,0.696,0.068,0.376,0.528,
+0.617,0.871,0.485,0.820,1.610,1.050,1.040,1.700,1.200,0.895,
+1.020,1.360,1.010,0.084,0.532,0.877,1.260,0.910,1.040,2.500,
+0.228,0.171,0.092,0.156,0.139,0.127,0.065,0.097,0.112,0.017,
+0.055,0.087,0.125,0.150,0.091,0.164,0.233,0.207,0.087,0.122,
+0.143,0.167,0.081,0.093,0.122,0.020,0.077,0.106,0.105,0.147,
+0.095,0.193,0.117,0.146,0.085,0.120,0.015,0.021,0.013,0.016,
+0.090,0.014,0.075,0.077,0.077,0.123,0.062,0.112,0.204,0.136,
+0.103,0.196,0.199,0.187,0.143,0.213,0.115,0.014,0.073,0.117,
+0.159,0.136,0.130,0.269,1.750,0.863,0.533,0.715,0.897,0.729,
+0.726,0.705,0.996,0.131,0.565,0.755,0.719,0.755,0.736,1.050,
+0.121,0.128,0.052,0.073,0.069,0.086,0.067,0.055,0.087,0.020,
+0.063,0.070,0.093,0.120,0.079,0.103,0.695,0.936,0.517,0.546,
+0.070,0.078,0.055,0.066,0.568,0.075,0.264,0.377,0.475,0.621,
+0.417,0.586,0.710,0.539,0.475,0.572,0.775,0.772,0.674,0.736,
+0.749,0.082,0.532,0.663,0.597,0.656,0.610,0.987,1.290,0.697,
+0.473,0.877,0.712,0.474,0.381,0.491,0.817,0.079,0.385,0.670,
+0.916,0.773,0.553,1.210,1.390,1.160,0.657,0.985,0.885,0.829,
+0.661,0.679,0.894,0.087,0.602,0.834,0.919,1.040,0.713,1.140,
+1.040,0.932,0.534,0.761,0.081,0.117,0.057,0.080,0.700,0.074,
+0.461,0.674,0.589,0.829,0.585,0.874,1.120,0.675,0.608,0.874,
+0.873,0.818,0.624,0.820,0.997,0.088,0.700,1.020,1.220,1.120,
+1.010,1.870,3.760,1.800,1.390,2.790,1.340,0.788,0.696,0.905,
+1.340,0.104,0.587,1.000,1.920,1.370,1.040,2.430,1.890,0.915,
+0.717,1.400,0.901,0.533,0.522,0.635,0.894,0.059,0.460,0.685,
+0.847,0.649,0.601,1.130,1.630,1.120,0.876,1.530,0.121,0.094,
+0.072,0.174,0.916,0.069,0.443,0.731,0.853,0.874,0.548,1.100,
+2.430,1.290,1.510,3.350,1.460,0.943,0.926,1.720,1.270,0.088,
+0.722,1.230,1.960,1.260,1.360,3.610,2.350,1.330,0.933,1.510,
+1.280,0.905,0.618,0.820,1.170,0.102,0.522,0.856,1.130,1.030,
+0.774,1.520,1.750,1.140,0.588,0.931,0.986,0.836,0.509,0.656,
+0.866,0.070,0.520,0.776,0.752,0.790,0.530,1.350,1.200,0.960,
+0.630,1.090,0.080,0.093,0.055,0.100,0.850,0.065,0.457,0.749,
+0.769,0.870,0.518,0.989,1.410,0.829,0.727,1.390,1.260,0.955,
+0.715,1.230,1.010,0.066,0.543,0.975,1.210,0.925,0.869,1.870,
+1.600,0.935,0.648,1.040,1.110,0.763,0.669,0.883,1.110,0.112,
+0.678,0.952,0.968,0.851,0.837,1.410,0.114,0.108,0.062,0.105,
+0.070,0.079,0.087,0.069,0.091,0.019,0.067,0.089,0.092,0.116,
+0.076,0.131,0.943,0.931,0.738,0.937,0.064,0.062,0.057,0.090,
+0.766,0.072,0.430,0.629,0.624,0.810,0.570,0.986,0.994,0.684,
+0.731,1.070,1.170,0.923,0.933,1.150,1.190,0.086,0.617,1.010,
+0.965,0.869,0.928,1.690,2.790,1.300,1.140,2.160,1.330,0.911,
+0.794,0.955,1.460,0.138,0.670,1.280,1.860,1.280,1.180,2.710,
+1.630,1.110,0.811,1.440,1.050,0.812,0.905,0.976,1.050,0.079,
+0.720,1.050,1.160,1.130,0.878,1.650,1.680,1.390,1.040,1.580,
+0.121,0.116,0.079,0.133,1.430,0.098,0.783,1.200,1.370,1.520,
+1.110,1.860,3.050,1.580,1.680,3.230,2.200,1.960,1.490,2.210,
+2.500,0.165,1.680,2.710,4.130,3.150,2.960,4.780,4.200,2.640,
+2.170,3.570,2.810,1.770,1.330,1.590,1.960,0.240,1.180,1.710,
+2.910,2.570,1.590,2.480,3.520,2.100,1.470,1.790,1.970,1.430,
+1.220,1.220,1.500,0.171,1.240,1.490,1.240,1.350,1.380,1.520,
+1.680,1.390,1.020,1.470,0.186,0.168,0.139,0.203,0.889,0.115,
+0.593,1.080,0.879,1.150,0.837,1.210,2.480,1.310,1.030,1.820,
+2.460,1.910,1.290,1.490,1.280,0.128,0.856,1.380,1.760,1.210,
+1.370,2.360,4.220,2.290,1.500,1.940,2.230,1.620,0.976,1.170,
+1.440,0.211,0.847,1.210,1.300,1.640,1.150,2.110,3.850,2.060,
+1.240,1.520,1.710,1.240,1.070,1.140,1.510,0.205,1.180,1.430,
+0.914,1.240,1.430,1.470,1.340,1.400,0.787,1.030,0.154,0.153,
+0.132,0.158,1.050,0.177,0.683,0.977,0.782,1.260,0.893,1.090,
+1.320,0.926,0.523,0.869,1.400,1.200,0.704,0.993,1.060,0.098,
+0.599,0.960,1.030,0.921,1.000,1.670,2.070,1.240,0.886,1.360,
+2.270,1.620,1.320,1.400,1.490,0.214,0.766,1.010,1.260,1.450,
+1.070,1.920,0.201,0.217,0.142,0.246,0.200,0.231,0.165,0.193,
+0.142,0.039,0.146,0.165,0.137,0.244,0.175,0.216,0.868,0.943,
+0.734,0.804,0.121,0.108,0.100,0.135,0.786,0.108,0.547,0.732,
+0.591,0.952,0.826,1.070,0.954,0.614,0.597,0.943,1.270,1.020,
+0.880,1.180,1.110,0.120,0.806,1.080,0.958,1.100,1.190,1.780,
+2.380,0.966,0.839,1.920,1.400,0.750,0.675,0.998,1.150,0.140,
+0.583,0.888,1.420,1.170,0.818,1.890,2.260,1.550,1.210,2.840,
+1.790,1.440,1.170,1.760,1.140,0.151,0.984,1.370,1.090,1.330,
+1.090,1.570,1.030,0.941,0.720,1.120,0.103,0.081,0.088,0.127,
+0.859,0.135,0.554,0.811,0.706,1.160,0.954,1.150,1.470,0.823,
+0.709,1.420,0.943,0.701,0.655,0.938,1.220,0.108,1.010,1.400,
+1.650,1.360,1.530,2.730,3.400,2.260,1.480,2.530,2.280,2.020,
+1.240,1.320,1.280,0.184,0.696,1.170,1.490,1.540,1.160,1.810,
+3.020,2.380,1.430,1.680,2.260,1.890,1.490,1.400,1.400,0.244,
+1.280,1.550,0.993,1.600,2.410,2.030,1.110,1.440,1.060,1.260,
+0.163,0.265,0.143,0.176,0.650,0.101,0.491,0.612,0.589,0.879,
+0.691,0.908,1.370,1.200,0.786,1.240,1.930,3.060,0.919,1.120,
+0.923,0.105,0.565,0.860,1.330,0.973,1.010,1.740,2.690,2.370,
+1.100,1.630,2.200,2.480,1.080,1.260,1.170,0.211,0.784,1.040,
+0.918,1.430,0.982,1.740,2.530,2.450,1.190,1.380,1.820,0.930,
+1.210,1.570,1.420,0.302,1.200,1.440,0.814,1.570,1.580,2.470,
+1.060,1.680,0.993,1.280,0.157,0.290,0.163,0.190,0.931,0.198,
+0.713,0.890,0.556,1.300,0.875,1.160,0.906,0.907,0.557,0.727,
+1.170,1.750,0.838,0.914,0.808,0.097,0.560,0.917,0.695,0.854,
+0.745,1.480,1.840,1.140,0.801,1.050,1.990,1.670,1.500,1.270,
+1.250,0.228,0.986,0.932,0.908,1.150,1.090,1.530,0.182,0.236,
+0.130,0.188,0.205,0.323,0.324,0.204,0.189,0.080,0.313,0.202,
+0.105,0.268,0.222,0.219,1.030,1.260,0.929,0.974,0.188,0.218,
+0.165,0.169,0.865,0.146,0.699,0.808,0.521,1.080,0.961,0.987,
+0.850,0.601,0.684,0.907,1.340,1.460,1.290,1.230,1.230,0.140,
+0.906,1.080,0.922,1.340,1.360,1.650,1.500,0.851,0.659,1.050,
+1.090,0.744,0.620,0.851,0.761,0.086,0.498,0.599,0.872,0.706,
+0.688,1.260,1.650,1.470,1.070,1.740,1.490,1.550,1.480,1.900,
+1.060,0.176,1.110,1.220,0.729,1.190,1.080,1.310,0.758,0.982,
+0.724,0.843,0.079,0.095,0.083,0.106,0.611,0.077,0.605,0.682,
+0.511,0.808,1.100,1.090,1.080,0.627,0.674,0.900,0.795,0.851,
+0.717,0.910,0.862,0.079,0.676,1.050,1.080,1.150,1.390,2.180,
+2.260,1.530,0.983,1.640,1.220,1.090,0.676,0.802,0.871,0.107,
+0.485,0.717,0.955,1.020,0.730,1.120,2.330,1.860,0.901,1.180,
+1.560,1.430,1.030,1.030,1.370,0.203,1.100,1.270,0.871,1.520,
+0.842,1.130,0.935,1.210,0.952,0.983,0.126,0.170,0.178,0.212,
+0.665,0.106,0.514,0.635,0.437,0.852,0.482,0.759,1.010,0.753,
+0.620,1.110,0.970,0.913,0.933,1.030,0.808,0.097,0.619,0.942,
+0.918,0.764,0.923,1.930,0.140,0.139,0.071,0.103,0.123,0.153,
+0.097,0.093,0.084,0.026,0.068,0.079,0.080,0.149,0.137,0.134,
+0.196,0.240,0.100,0.123,0.203,0.264,0.178,0.155,0.146,0.060,
+0.174,0.168,0.095,0.229,0.127,0.170,0.078,0.149,0.120,0.092,
+0.019,0.045,0.061,0.034,0.107,0.046,0.114,0.108,0.063,0.165,
+0.108,0.116,0.099,0.094,0.062,0.110,0.147,0.189,0.176,0.172,
+0.099,0.022,0.110,0.133,0.086,0.093,0.113,0.190,1.520,1.390,
+0.756,0.909,1.290,1.490,1.250,1.170,1.210,0.229,0.922,1.030,
+0.742,1.060,1.030,1.330,0.149,0.292,0.099,0.114,0.141,0.224,
+0.193,0.126,0.136,0.050,0.175,0.161,0.103,0.223,0.162,0.151,
+0.906,1.540,0.925,0.839,0.116,0.196,0.191,0.158,0.929,0.187,
+0.630,0.821,0.485,1.080,0.821,0.987,0.708,0.598,0.541,0.718,
+1.090,1.360,1.090,1.230,0.986,0.162,1.110,1.130,0.667,0.877,
+1.100,1.490,1.370,0.950,0.598,1.020,0.824,0.638,0.481,0.568,
+0.869,0.105,0.517,0.814,0.877,0.894,0.655,1.340,1.850,2.160,
+0.999,1.420,1.680,1.900,1.520,1.370,1.340,0.222,1.280,1.860,
+0.982,1.660,1.150,1.530,1.560,1.420,0.885,0.940,0.119,0.133,
+0.111,0.119,0.947,0.139,0.822,1.010,0.674,1.250,1.040,1.200,
+1.110,0.759,0.624,1.030,0.912,0.897,0.707,0.906,1.060,0.116,
+1.210,1.400,1.180,1.310,1.370,2.090,2.210,1.210,0.945,1.790,
+1.100,0.709,0.616,0.903,0.964,0.093,0.504,0.874,1.170,0.934,
+0.779,1.630,1.490,0.912,0.597,0.882,0.869,0.671,0.660,0.742,
+0.771,0.078,0.545,0.759,0.664,0.642,0.575,0.868,1.020,0.895,
+0.653,1.010,0.082,0.086,0.069,0.143,0.649,0.060,0.388,0.570,
+0.527,0.656,0.455,0.855,1.250,0.723,0.720,1.430,0.882,0.727,
+0.604,1.180,0.892,0.071,0.528,0.915,1.280,0.774,0.886,2.240,
+2.170,1.610,1.000,1.450,1.550,1.360,1.300,1.080,1.170,0.155,
+0.635,1.220,1.100,1.440,0.928,1.730,2.000,1.780,0.813,1.120,
+1.560,1.480,1.020,1.180,1.240,0.179,1.110,1.370,0.936,1.470,
+0.891,1.300,1.010,1.290,0.846,1.050,0.102,0.150,0.137,0.175,
+0.943,0.141,0.602,1.020,0.746,1.320,0.744,1.190,1.110,0.853,
+0.673,1.220,1.300,1.310,1.140,1.820,0.994,0.095,0.774,1.280,
+1.050,1.000,1.050,2.070,1.480,1.030,0.720,1.010,1.370,1.150,
+1.080,1.180,1.190,0.164,0.884,1.210,0.974,1.030,1.020,1.600,
+0.118,0.152,0.071,0.112,0.098,0.144,0.147,0.110,0.086,0.022,
+0.107,0.123,0.089,0.146,0.099,0.133,0.923,1.120,0.822,0.903,
+0.085,0.099,0.094,0.124,0.909,0.119,0.696,0.857,0.639,1.010,
+0.816,1.190,0.870,0.676,0.669,0.984,1.090,1.030,1.080,1.330,
+1.090,0.104,0.943,1.210,0.947,0.876,1.180,1.810,1.970,1.110,
+0.972,1.550,1.060,0.816,0.775,0.816,1.060,0.119,0.658,1.050,
+1.170,0.933,0.932,1.760,1.650,1.380,0.785,1.250,1.200,1.080,
+1.110,1.100,1.040,0.103,0.800,1.160,0.885,0.986,0.793,1.180,
+1.430,1.220,0.985,1.430,0.133,0.100,0.089,0.140,1.040,0.107,
+0.852,1.140,0.991,1.270,1.100,1.590,1.880,1.060,1.070,2.050,
+1.430,1.260,1.180,1.640,1.610,0.126,1.420,2.120,2.320,2.050,
+2.160,2.860,1.710,1.260,1.070,1.710,1.490,1.010,0.806,1.030,
+1.030,0.135,0.551,0.893,1.480,1.510,0.861,1.460,1.510,0.962,
+0.893,0.898,1.110,0.722,0.797,0.928,0.851,0.125,0.571,0.611,
+0.791,1.040,0.678,0.917,1.060,0.806,0.534,0.846,0.125,0.082,
+0.063,0.119,0.551,0.063,0.373,0.554,0.519,0.804,0.520,0.818,
+1.420,0.713,0.583,1.100,1.070,0.841,0.558,0.855,0.733,0.065,
+0.389,0.600,0.949,0.718,0.724,1.410,2.060,1.280,0.716,1.170,
+1.640,1.090,0.935,0.926,0.831,0.108,0.467,0.668,0.887,1.050,
+0.628,1.030,1.610,1.280,0.592,0.719,1.160,0.600,0.711,0.744,
+0.808,0.094,0.595,0.767,0.565,0.706,0.467,0.654,0.949,1.070,
+0.566,0.805,0.116,0.138,0.087,0.128,0.803,0.115,0.626,1.250,
+0.510,1.000,0.609,0.859,0.851,0.636,0.368,0.631,1.070,1.130,
+0.624,0.857,0.728,0.073,0.418,0.723,0.745,0.918,0.598,1.190,
+1.440,1.190,0.668,0.869,1.570,1.530,1.280,1.090,1.450,0.206,
+1.110,0.946,1.040,1.320,0.903,1.360,0.205,0.589,0.135,0.133,
+0.158,0.206,0.246,0.145,0.161,0.041,0.515,0.181,0.155,0.351,
+0.205,0.195,0.774,0.862,0.620,0.733,0.113,0.123,0.102,0.117,
+0.762,0.165,0.491,0.657,0.665,2.210,0.703,0.822,0.686,0.582,
+0.407,0.632,1.150,1.080,0.926,0.984,0.873,0.192,0.575,0.855,
+1.070,3.380,0.935,1.420,1.420,0.779,0.558,0.953,0.850,0.636,
+0.947,0.692,0.792,0.109,0.543,0.636,1.090,1.160,0.768,1.300,
+1.290,1.250,0.664,0.867,1.020,1.080,1.040,0.884,0.831,0.104,
+1.310,0.872,0.854,1.100,1.110,1.140,0.932,1.010,0.674,0.919,
+0.109,0.090,0.083,0.118,0.789,0.096,0.613,0.883,0.789,1.230,
+1.070,1.200,1.190,0.841,0.712,1.200,0.872,0.629,0.650,0.929,
+1.170,0.109,0.777,1.270,1.560,1.810,1.540,2.560,0.134,0.099,
+0.104,0.108,0.105,0.093,0.075,0.081,0.068,0.014,0.057,0.075,
+0.089,0.129,0.076,0.109,0.150,0.124,0.499,0.142,0.122,0.110,
+0.158,0.117,0.085,0.022,0.130,0.080,0.061,0.099,0.092,0.105,
+0.070,0.081,0.068,0.072,0.016,0.015,0.016,0.017,0.058,0.013,
+0.062,0.069,0.043,0.088,0.055,0.083,0.092,0.079,0.062,0.085,
+0.101,0.113,0.071,0.090,0.094,0.029,0.060,0.085,0.081,0.129,
+0.081,0.149,0.113,0.106,0.054,0.080,0.108,0.119,0.083,0.074,
+0.057,0.014,0.044,0.048,0.052,0.083,0.062,0.080,0.127,0.150,
+0.092,0.077,0.151,0.157,0.128,0.118,0.094,0.031,0.113,0.091,
+0.053,0.095,0.068,0.094,0.067,0.104,0.055,0.070,0.016,0.029,
+0.022,0.018,0.094,0.039,0.106,0.115,0.043,0.117,0.081,0.088,
+0.061,0.052,0.034,0.051,0.084,0.111,0.069,0.079,0.063,0.012,
+0.049,0.067,0.051,0.087,0.059,0.101,0.103,0.086,0.072,0.057,
+0.114,0.136,0.160,0.097,0.115,0.028,0.450,0.119,0.071,0.116,
+0.130,0.112,0.017,0.042,0.032,0.018,0.029,0.044,0.063,0.022,
+0.035,0.025,0.376,0.058,0.011,0.040,0.055,0.022,0.083,0.110,
+0.099,0.133,0.021,0.033,0.037,0.022,0.103,0.040,0.109,0.096,
+0.066,0.293,0.112,0.103,0.071,0.076,0.048,0.068,0.126,0.193,
+0.123,0.117,0.110,0.046,0.113,0.107,0.171,1.050,0.151,0.181,
+0.106,0.099,0.057,0.082,0.082,0.069,0.093,0.068,0.068,0.011,
+0.111,0.068,0.092,0.105,0.088,0.131,0.145,0.144,0.121,0.119,
+0.155,0.169,0.185,0.150,0.128,0.029,0.545,0.158,0.100,0.180,
+0.199,0.151,0.083,0.093,0.082,0.099,0.012,0.013,0.012,0.016,
+0.080,0.017,0.104,0.112,0.069,0.127,0.113,0.124,0.096,0.076,
+0.061,0.100,0.087,0.078,0.067,0.094,0.094,0.014,0.089,0.124,
+0.126,0.260,0.160,0.229,1.260,0.944,0.844,1.120,1.020,0.725,
+0.555,0.692,0.694,0.075,0.471,0.613,0.587,0.580,0.685,0.800,
+1.400,1.130,0.663,0.777,1.300,0.960,0.940,0.823,1.330,0.145,
+0.898,0.855,0.614,0.853,0.698,0.856,0.720,1.000,0.622,0.772,
+0.120,0.153,0.134,0.180,0.808,0.189,1.510,1.140,0.406,0.958,
+0.645,0.817,0.679,0.472,0.356,0.645,0.779,0.719,0.553,0.800,
+0.787,0.092,0.735,0.905,0.648,0.638,0.745,1.400,0.103,0.099,
+0.054,0.084,0.124,0.133,0.086,0.091,0.062,0.020,0.066,0.063,
+0.048,0.090,0.061,0.095,0.120,0.130,0.057,0.068,0.151,0.133,
+0.129,0.100,0.098,0.034,0.130,0.103,0.046,0.088,0.068,0.076,
+0.072,0.132,0.089,0.075,0.024,0.045,0.046,0.032,0.136,0.070,
+0.662,0.382,0.047,0.145,0.134,0.104,0.080,0.059,0.042,0.075,
+0.124,0.145,0.098,0.128,0.083,0.018,0.133,0.141,0.056,0.084,
+0.076,0.133,1.150,0.845,0.522,0.551,1.260,1.310,1.260,0.765,
+1.010,0.174,0.800,0.807,0.553,0.755,0.952,1.040,0.110,0.163,
+0.080,0.072,0.145,0.206,0.187,0.091,0.146,0.046,0.191,0.117,
+0.072,0.151,0.158,0.114,0.891,1.080,0.658,0.666,0.135,0.161,
+0.150,0.121,0.681,0.134,0.402,0.526,0.361,0.747,0.607,0.642,
+0.584,0.483,0.368,0.436,1.060,1.040,0.855,0.786,0.855,0.156,
+0.715,0.768,0.562,1.060,0.874,1.060,1.000,0.610,0.438,0.607,
+0.700,0.534,0.451,0.406,0.582,0.068,0.455,0.521,0.522,0.521,
+0.533,0.764,1.210,1.140,0.710,0.761,1.300,1.260,0.941,0.703,
+0.855,0.133,1.060,0.909,0.637,0.954,1.360,0.966,0.857,1.030,
+0.754,0.824,0.092,0.120,0.106,0.122,0.912,0.155,2.260,1.890,
+0.521,0.959,1.140,1.090,0.863,0.531,0.451,0.652,0.858,0.749,
+0.589,0.698,0.917,0.100,1.140,1.210,0.828,1.050,1.060,1.380,
+1.520,0.861,0.613,1.200,0.822,0.509,0.473,0.630,0.678,0.074,
+0.351,0.559,0.816,0.715,0.574,1.080,1.270,0.704,0.442,0.637,
+0.722,0.494,0.502,0.636,0.620,0.051,0.417,0.559,0.492,0.503,
+0.429,0.670,0.738,0.716,0.401,0.688,0.071,0.070,0.051,0.104,
+0.663,0.068,0.513,0.641,0.436,0.623,0.469,0.782,0.919,0.596,
+0.442,0.917,0.685,0.517,0.417,0.779,0.619,0.052,0.450,0.732,
+0.741,0.656,0.618,1.540,1.780,1.200,0.761,1.240,1.310,1.060,
+0.835,0.940,0.895,0.119,0.551,0.794,0.803,1.200,0.615,1.110,
+1.460,1.120,0.584,0.807,1.270,1.080,0.985,1.030,0.819,0.094,
+0.817,0.965,0.542,0.774,0.583,0.975,0.879,1.140,0.614,0.827,
+0.097,0.139,0.110,0.132,0.914,0.167,1.450,1.490,0.553,1.150,
+0.797,1.130,0.949,0.719,0.498,0.852,1.140,1.090,0.849,1.200,
+0.871,0.099,0.822,1.250,0.709,0.842,0.777,1.520,1.800,1.070,
+0.661,0.832,1.480,1.350,1.680,1.100,1.080,0.178,0.823,1.470,
+0.838,1.270,1.070,1.810,0.270,0.141,0.138,0.111,0.152,0.171,
+0.854,0.196,0.098,0.039,0.189,0.241,0.091,0.295,0.144,0.180,
+0.970,1.200,0.680,0.845,0.104,0.119,0.171,0.133,0.892,0.159,
+0.611,0.956,0.576,1.500,0.767,1.090,0.962,0.801,0.683,0.798,
+1.210,1.060,1.210,1.230,1.040,0.147,0.846,1.450,0.836,1.380,
+1.090,1.640,1.480,0.785,0.543,0.900,0.971,0.616,0.631,0.628,
+0.824,0.096,0.489,0.765,0.929,0.696,0.647,1.350,1.490,0.923,
+0.642,0.834,1.430,0.985,1.470,0.886,0.770,0.079,0.792,1.170,
+0.765,0.920,0.876,1.220,1.150,1.120,0.758,1.090,0.131,0.099,
+0.092,0.124,1.030,0.111,1.140,1.440,0.814,1.150,1.060,1.200,
+1.420,0.788,0.714,1.350,1.410,0.971,0.968,1.300,1.360,0.102,
+1.250,1.940,1.480,1.460,1.590,2.240,5.090,2.130,1.610,3.340,
+2.100,1.420,0.810,1.280,1.700,0.179,0.671,1.140,2.870,2.930,
+1.150,2.460,2.090,1.090,0.740,1.070,1.110,0.728,0.560,0.738,
+0.927,0.080,0.503,0.702,1.130,1.090,0.711,1.260,1.350,1.040,
+0.662,1.240,0.108,0.090,0.066,0.137,0.706,0.062,0.381,0.578,
+0.708,0.911,0.660,1.090,2.110,1.010,0.901,1.880,1.420,0.973,
+0.827,1.250,0.976,0.078,0.570,0.967,1.550,1.040,1.150,2.660,
+2.350,1.290,0.742,1.360,1.400,1.150,0.590,0.804,0.831,0.093,
+0.362,0.660,1.010,0.995,0.559,1.280,1.410,0.839,0.612,0.820,
+0.916,0.562,0.502,0.618,0.657,0.062,0.379,0.588,0.627,0.562,
+0.505,0.803,0.949,0.749,0.462,0.892,0.080,0.073,0.054,0.092,
+0.677,0.104,0.308,0.567,0.594,0.846,0.473,0.761,0.893,0.540,
+0.379,0.744,0.956,0.782,0.624,0.766,0.640,0.050,0.322,0.559,
+0.758,0.634,0.595,1.200,1.840,1.620,0.679,1.310,2.310,8.000,
+1.050,1.410,1.150,0.256,0.468,0.766,1.280,1.350,0.750,1.880,
+0.116,0.130,0.060,0.102,0.129,0.336,0.088,0.114,0.081,0.014,
+0.089,0.080,0.141,0.175,0.084,0.201,0.691,0.723,0.472,0.695,
+0.080,0.175,0.051,0.088,0.535,0.068,0.264,0.507,0.573,0.811,
+0.525,0.791,0.847,0.542,0.463,0.884,0.952,0.877,0.586,0.937,
+0.735,0.069,0.408,0.773,1.040,1.080,0.820,1.590,2.830,1.290,
+0.901,2.000,1.410,2.240,0.808,1.020,1.250,0.131,0.589,0.961,
+2.050,1.390,1.090,2.330,1.570,0.960,0.697,1.150,1.060,0.966,
+0.677,0.822,0.898,0.069,0.645,0.859,1.250,1.130,0.892,1.540,
+1.040,0.933,0.678,1.120,0.086,0.075,0.056,0.110,0.918,0.075,
+0.532,0.989,1.000,1.240,1.120,1.580,1.970,1.090,1.020,2.260,
+1.170,0.793,0.793,1.280,1.540,0.103,0.963,1.700,2.510,2.020,
+2.450,4.860,2.280,1.380,0.894,1.730,1.270,0.916,0.648,0.855,
+0.876,0.096,0.572,0.738,1.240,1.250,0.831,1.450,1.580,1.000,
+0.853,0.950,0.999,0.777,0.683,0.722,0.756,0.072,0.654,0.637,
+0.648,0.746,0.602,0.965,0.855,0.873,0.461,0.779,0.069,0.086,
+0.055,0.101,0.490,0.057,0.326,0.470,0.549,0.768,0.516,0.905,
+0.997,0.751,0.463,0.886,0.874,0.842,0.481,0.816,0.647,0.074,
+0.412,0.620,1.070,1.230,0.856,1.880,1.770,1.350,0.592,1.150,
+1.200,1.010,0.562,0.804,0.779,0.088,0.370,0.550,0.852,0.983,
+0.704,1.140,1.220,0.959,0.450,0.713,0.898,0.706,0.520,0.745,
+0.674,0.083,0.468,0.599,0.586,0.688,0.486,0.802,0.872,0.885,
+0.428,0.770,0.072,0.096,0.056,0.089,0.758,0.126,0.426,0.627,
+0.626,0.972,0.602,1.020,0.682,0.537,0.344,0.598,0.758,0.825,
+0.540,0.755,0.622,0.069,0.482,0.636,0.778,0.863,0.776,1.220,
+1.330,0.759,0.569,0.849,1.060,1.280,0.771,1.170,0.757,0.110,
+0.915,0.764,0.787,0.824,0.696,1.390,0.072,0.075,0.051,0.071,
+0.073,0.114,0.079,0.099,0.060,0.020,0.358,0.101,0.073,0.130,
+0.092,0.114,0.718,0.804,0.507,0.719,0.070,0.089,0.060,0.094,
+0.560,0.079,0.395,0.640,0.536,1.040,0.589,0.999,0.794,0.578,
+0.444,0.756,0.949,1.230,0.708,0.983,0.750,0.125,0.535,0.900,
+0.995,2.440,1.020,1.890,1.480,0.972,0.583,0.990,0.818,0.646,
+0.481,0.659,0.735,0.082,0.542,0.666,0.950,0.787,0.677,1.410,
+1.260,0.977,0.681,1.020,0.924,0.829,0.639,1.020,0.731,0.091,
+1.170,0.899,0.835,1.080,0.836,1.320,0.782,0.833,0.593,0.878,
+0.060,0.060,0.046,0.088,0.608,0.061,0.545,0.806,0.686,0.789,
+0.785,1.250,1.100,0.668,0.617,1.060,0.838,0.731,0.567,0.976,
+0.967,0.079,0.690,1.130,1.360,1.370,1.540,2.920,2.130,1.540,
+1.260,2.050,1.370,1.030,0.875,1.110,1.180,0.113,0.693,0.914,
+1.160,1.140,0.833,1.760,2.060,1.610,0.810,1.240,1.430,1.120,
+0.815,0.932,1.290,0.125,0.854,0.988,1.130,1.360,0.853,1.490,
+1.120,1.450,0.772,1.230,0.130,0.142,0.117,0.186,0.953,0.110,
+0.624,0.852,0.683,1.140,0.742,1.150,1.370,0.861,0.626,1.240,
+1.160,0.964,0.732,1.130,1.120,0.102,0.911,1.220,1.240,1.030,
+1.440,2.500,0.146,0.125,0.111,0.165,0.133,0.132,0.082,0.118,
+0.081,0.015,0.054,0.089,0.085,0.121,0.079,0.167,0.134,0.138,
+0.065,0.104,0.145,0.164,0.096,0.111,0.095,0.021,0.093,0.104,
+0.083,0.123,0.081,0.160,0.078,0.103,0.057,0.088,0.017,0.021,
+0.017,0.018,0.093,0.022,0.129,0.139,0.059,0.123,0.087,0.137,
+0.106,0.087,0.050,0.111,0.141,0.154,0.097,0.153,0.088,0.016,
+0.081,0.116,0.099,0.113,0.115,0.226,1.900,1.240,0.814,1.120,
+1.650,1.660,1.080,1.130,1.380,0.208,0.762,1.270,1.130,1.330,
+1.110,2.360,0.120,0.137,0.073,0.107,0.131,0.149,0.092,0.083,
+0.109,0.025,0.104,0.105,0.120,0.176,0.197,0.187,1.100,1.380,
+0.807,0.964,0.122,0.151,0.114,0.134,0.990,0.131,0.568,0.836,
+0.671,1.050,0.902,1.160,1.060,0.845,0.600,0.865,1.340,1.420,
+0.987,1.110,1.430,0.146,1.030,1.290,1.120,1.120,1.270,1.920,
+2.040,1.150,0.788,1.490,1.290,0.924,0.642,0.844,1.320,0.118,
+0.782,1.060,1.160,0.982,0.766,1.680,2.050,1.640,0.977,1.850,
+1.830,1.470,0.953,1.090,1.470,0.137,1.180,1.390,1.290,1.600,
+1.380,1.830,1.600,1.530,1.020,1.690,0.121,0.125,0.127,0.276,
+1.390,0.142,1.510,2.510,1.020,1.480,1.360,1.850,1.550,1.030,
+0.857,1.400,1.130,1.110,0.935,1.240,1.530,0.127,1.740,2.150,
+1.530,1.530,1.800,2.770,5.130,2.050,1.460,3.000,1.680,1.050,
+0.758,1.360,1.450,0.120,0.708,1.230,1.930,1.540,1.180,2.720,
+2.130,1.290,0.699,1.220,1.290,1.090,0.613,0.904,1.150,0.077,
+0.626,0.888,1.000,0.929,0.669,1.250,1.480,1.400,0.749,1.630,
+0.110,0.112,0.069,0.168,0.934,0.080,0.595,0.947,0.953,1.160,
+0.832,1.570,2.370,1.410,1.010,2.320,1.470,1.080,0.857,1.630,
+1.430,0.108,1.010,1.670,2.240,1.730,1.810,4.850,2.810,1.700,
+1.490,2.080,1.820,1.380,0.870,1.300,1.120,0.098,0.687,1.200,
+1.190,1.210,0.913,2.050,2.240,1.730,0.775,1.320,1.980,2.210,
+0.941,1.670,1.160,0.107,0.962,1.410,0.940,1.210,0.772,1.500,
+1.440,1.250,0.711,1.710,0.103,0.102,0.062,0.148,1.080,0.111,
+0.833,1.280,0.965,1.350,0.947,1.790,1.580,1.120,0.721,1.560,
+1.420,1.210,0.835,1.620,1.190,0.085,0.827,1.470,1.480,1.260,
+1.270,3.000,3.170,1.770,1.360,1.800,2.590,1.760,1.370,1.900,
+1.760,0.203,1.190,1.700,1.730,1.750,1.570,3.200,0.167,0.180,
+0.080,0.135,0.151,0.146,0.156,0.149,0.090,0.017,0.138,0.130,
+0.126,0.161,0.122,0.228,1.750,1.790,1.050,1.650,0.126,0.126,
+0.103,0.165,1.550,0.145,1.050,1.480,1.270,1.710,1.510,2.570,
+2.190,1.560,1.130,1.830,2.140,1.730,1.540,2.300,2.420,0.163,
+1.570,2.400,2.170,1.810,2.170,4.160,5.730,2.290,1.480,3.210,
+2.220,1.440,1.120,1.690,2.110,0.163,1.090,1.870,3.000,2.110,
+1.700,4.830,2.970,1.900,1.170,2.190,2.330,1.320,1.210,1.910,
+1.730,0.110,1.340,1.960,2.200,1.860,1.510,3.190,2.730,2.290,
+1.460,2.610,0.155,0.134,0.113,0.222,2.230,0.148,1.580,2.560,
+2.520,2.650,2.330,4.190,6.040,2.150,1.760,4.350,2.440,1.690,
+1.950,3.770,3.070,0.158,2.170,4.540,3.930,2.260,2.240,11.1,
+13.6,4.860,2.740,5.850,5.110,2.980,2.150,2.760,4.300,0.441,
+1.660,2.780,5.820,3.980,2.290,3.730,6.270,3.840,2.090,2.850,
+4.150,2.820,2.160,1.920,3.240,0.338,1.800,2.200,2.340,2.280,
+1.630,2.460,4.430,4.050,2.150,3.230,0.425,0.409,0.274,0.465,
+2.260,0.284,1.220,1.750,2.200,2.990,1.520,2.290,5.900,2.700,
+2.300,4.610,4.150,3.150,2.330,3.790,2.650,0.341,1.460,2.350,
+3.320,2.290,2.160,3.580,7.760,4.400,2.170,3.400,4.730,3.450,
+2.000,2.110,2.770,0.368,1.380,1.880,2.270,2.440,1.300,2.100,
+5.430,3.710,1.620,2.080,3.560,2.830,1.690,1.700,2.610,0.345,
+1.500,1.840,1.500,1.810,1.020,1.410,2.770,3.000,1.390,1.880,
+0.294,0.336,0.201,0.245,2.010,0.286,1.180,1.640,1.210,2.010,
+1.110,1.640,2.210,1.450,0.931,1.530,2.480,1.970,1.170,1.570,
+1.770,0.177,1.030,1.530,1.610,1.410,1.270,2.290,4.270,2.110,
+1.770,2.470,3.850,2.450,1.980,2.000,2.640,0.347,1.210,2.150,
+1.940,1.830,1.480,2.660,0.399,0.309,0.172,0.239,0.444,0.434,
+0.239,0.231,0.308,0.074,0.218,0.285,0.276,0.431,0.231,0.343,
+2.300,1.970,1.500,1.620,0.403,0.227,0.215,0.232,1.560,0.207,
+1.030,1.240,0.990,1.470,1.180,1.260,2.190,1.140,0.994,1.480,
+4.680,2.080,1.580,1.730,1.800,0.206,1.160,1.600,1.760,1.500,
+1.540,2.150,5.820,2.480,1.820,3.860,2.690,1.660,1.280,1.600,
+2.870,0.325,1.120,1.920,2.880,2.070,1.690,3.540,4.180,2.890,
+1.740,2.380,3.230,2.540,1.640,1.750,2.930,0.252,1.530,2.300,
+2.440,2.580,1.640,2.820,2.260,2.020,1.320,1.840,0.270,0.199,
+0.154,0.201,1.590,0.147,0.936,1.510,1.350,1.760,1.300,1.730,
+3.530,1.680,1.330,2.660,2.370,1.480,1.130,1.660,2.250,0.181,
+1.330,2.410,2.800,2.190,1.880,3.460,7.470,5.250,2.630,4.350,
+4.510,3.700,2.090,2.340,2.540,0.319,1.130,1.860,2.450,2.560,
+1.700,2.650,4.990,4.270,1.940,2.380,4.360,3.270,2.310,1.970,
+2.440,0.337,1.510,1.920,1.440,1.900,1.280,1.820,2.540,3.330,
+1.490,1.920,0.351,0.431,0.251,0.313,1.360,0.189,0.993,1.170,
+1.010,1.690,1.100,1.710,2.270,1.290,1.010,1.640,2.550,2.300,
+1.330,1.700,1.370,0.169,0.755,1.240,1.450,1.110,1.160,2.200,
+6.070,6.870,1.780,2.530,4.720,4.750,2.090,1.870,2.150,0.387,
+1.070,1.450,1.460,2.200,1.090,1.660,4.340,4.300,1.610,1.770,
+3.760,2.300,2.280,1.830,2.190,0.408,1.400,1.740,1.200,1.850,
+0.989,1.170,2.230,3.510,1.310,1.620,0.374,0.656,0.294,0.267,
+1.730,0.461,1.060,1.510,0.880,2.420,1.090,1.750,1.510,1.280,
+0.673,1.000,2.260,2.500,1.130,1.300,1.350,0.194,0.723,1.190,
+0.953,1.120,0.841,1.550,2.700,2.130,1.240,1.540,3.500,3.000,
+2.090,1.640,1.780,0.289,0.982,1.410,1.150,1.540,1.210,1.870,
+0.236,0.334,0.159,0.178,0.437,0.527,0.335,0.210,0.228,0.105,
+0.223,0.251,0.136,0.289,0.174,0.201,1.970,2.730,1.650,1.790,
+0.429,0.437,0.306,0.288,1.840,0.307,1.370,1.510,0.795,1.790,
+1.450,1.520,1.370,0.916,0.789,1.060,2.600,2.500,1.850,1.710,
+1.570,0.224,1.160,1.570,1.020,1.170,1.490,1.810,2.240,1.260,
+0.913,1.360,1.740,1.250,0.847,0.869,1.180,0.120,0.527,0.887,
+1.090,0.945,0.694,1.410,2.260,2.300,1.420,1.660,2.210,2.520,
+1.520,1.450,1.260,0.181,0.986,1.490,0.894,1.470,0.947,1.450,
+1.670,1.990,1.260,1.440,0.210,0.241,0.133,0.163,1.550,0.160,
+0.906,1.420,0.836,1.360,0.992,1.360,1.510,1.010,0.920,1.260,
+1.390,1.300,1.060,1.170,1.410,0.172,0.954,1.780,1.480,1.460,
+1.450,2.140,2.990,2.100,1.230,1.870,1.700,1.340,0.807,1.010,
+1.330,0.161,0.625,1.040,1.310,1.260,0.712,1.400,3.180,2.370,
+1.030,1.360,1.860,1.530,1.100,1.080,1.810,0.235,1.070,1.290,
+0.905,1.350,0.732,1.190,1.590,2.380,1.160,1.400,0.225,0.309,
+0.186,0.278,1.060,0.158,0.624,0.920,0.816,1.420,0.796,1.530,
+1.490,0.996,0.843,1.260,1.300,1.400,0.875,1.190,1.220,0.129,
+0.704,1.170,1.130,0.890,1.310,2.390,0.236,0.235,0.148,0.157,
+0.243,0.269,0.136,0.128,0.136,0.033,0.084,0.109,0.106,0.164,
+0.109,0.135,0.283,0.267,0.110,0.118,0.270,0.317,0.179,0.136,
+0.180,0.062,0.153,0.168,0.092,0.202,0.083,0.115,0.143,0.314,
+0.135,0.133,0.042,0.095,0.065,0.042,0.164,0.056,0.128,0.165,
+0.102,0.250,0.130,0.236,0.191,0.132,0.096,0.158,0.267,0.362,
+0.205,0.230,0.164,0.028,0.127,0.178,0.136,0.150,0.170,0.274,
+1.790,1.220,0.830,0.975,1.530,1.490,1.070,0.867,1.450,0.233,
+0.780,0.958,0.687,0.975,0.687,0.914,0.186,0.217,0.091,0.096,
+0.178,0.253,0.175,0.098,0.174,0.067,0.180,0.143,0.091,0.196,
+0.116,0.114,1.040,1.710,0.949,0.754,0.173,0.307,0.184,0.137,
+1.100,0.230,0.629,0.774,0.536,1.220,0.860,0.864,0.778,0.587,
+0.452,0.494,1.150,1.390,0.901,0.880,1.010,0.159,0.928,0.940,
+0.536,0.733,0.737,0.770,1.460,0.876,0.564,0.918,1.170,0.759,
+0.448,0.527,1.360,0.116,0.456,0.725,0.872,0.764,0.508,1.010,
+2.130,1.870,0.868,0.981,1.790,1.780,0.997,0.891,1.310,0.193,
+1.050,1.170,0.881,1.440,0.819,1.100,1.380,1.590,0.959,1.020,
+0.158,0.230,0.137,0.132,1.070,0.154,0.811,1.190,0.752,1.350,
+1.090,1.230,1.460,0.803,0.784,0.871,1.160,1.180,0.864,0.962,
+1.180,0.133,1.060,1.290,1.090,1.200,1.180,1.560,4.370,2.260,
+1.480,3.010,1.750,1.150,0.826,1.230,1.420,0.157,0.572,1.130,
+2.210,1.510,0.972,2.230,2.270,1.380,0.726,1.110,1.280,0.939,
+0.608,0.743,1.230,0.114,0.575,0.930,0.966,0.931,0.581,1.150,
+1.700,1.940,0.753,1.430,0.162,0.152,0.086,0.193,0.930,0.099,
+0.400,0.794,1.590,1.060,0.632,1.290,2.290,1.200,0.996,2.050,
+1.450,1.150,0.806,1.380,1.230,0.114,0.678,1.380,2.260,1.230,
+1.370,3.220,3.110,2.310,1.210,2.230,2.280,1.920,1.200,1.370,
+1.470,0.183,0.704,1.210,1.270,1.430,0.771,1.460,2.760,2.010,
+0.822,1.320,2.030,1.960,0.960,1.080,1.370,0.202,0.836,1.350,
+0.985,1.360,0.598,1.050,1.700,2.070,0.823,1.190,0.153,0.216,
+0.120,0.154,1.200,0.165,0.732,1.100,0.979,1.510,0.867,1.570,
+2.040,1.020,0.703,1.270,1.660,1.710,1.050,1.480,1.280,0.122,
+0.796,1.290,1.250,1.150,1.280,2.060,1.860,1.150,0.987,1.170,
+1.750,1.290,0.920,1.050,1.440,0.192,0.914,1.260,1.180,1.090,
+1.010,1.440,0.237,0.159,0.086,0.127,0.162,0.198,0.116,0.110,
+0.138,0.036,0.205,0.240,0.123,0.171,0.111,0.161,1.210,1.470,
+0.857,0.958,0.143,0.160,0.103,0.131,1.280,0.170,0.638,0.899,
+0.844,1.240,0.946,1.070,1.250,0.820,0.707,0.931,1.540,1.370,
+1.070,1.290,1.330,0.160,0.921,1.230,0.976,1.020,1.020,1.480,
+2.590,1.360,0.979,1.700,1.540,1.050,0.737,0.941,2.370,0.179,
+0.638,1.110,1.730,1.310,0.963,2.120,1.840,1.250,0.691,1.040,
+1.380,1.230,0.888,0.936,1.260,0.111,0.867,1.400,1.060,1.240,
+0.771,1.400,1.990,1.910,1.050,1.500,0.279,0.167,0.096,0.156,
+1.550,0.144,0.915,1.360,1.350,1.740,1.330,1.740,2.310,1.370,
+1.090,2.380,2.130,1.830,1.130,1.690,2.000,0.157,1.330,2.050,
+2.550,2.040,2.020,3.210,6.450,4.400,2.600,4.880,5.000,3.810,
+2.000,2.510,2.990,0.427,1.700,2.270,3.550,3.220,1.680,2.890,
+3.930,3.790,1.690,2.070,3.990,3.430,1.990,1.920,2.550,0.410,
+1.730,1.880,1.370,1.940,1.200,1.600,1.760,2.240,1.160,1.540,
+0.264,0.338,0.203,0.276,1.310,0.237,0.894,1.110,1.040,1.730,
+0.981,1.450,2.100,1.400,0.849,1.780,2.480,2.780,1.210,1.860,
+2.160,0.900,1.020,1.490,1.590,2.030,1.310,2.230,5.150,4.200,
+1.520,2.390,6.270,4.470,1.710,1.860,2.530,0.465,1.230,1.590,
+1.440,2.380,0.906,1.720,3.930,4.440,1.530,1.860,4.030,3.260,
+1.870,1.790,2.440,0.595,1.860,2.050,1.190,2.120,1.050,1.400,
+1.580,2.490,1.030,1.240,0.312,0.419,0.273,0.218,1.600,0.352,
+1.100,1.240,0.835,2.050,1.090,1.290,1.240,1.090,0.509,0.855,
+1.890,2.050,0.848,1.200,1.350,0.209,0.857,1.100,0.975,1.220,
+1.010,1.660,2.390,1.700,0.837,1.280,4.250,2.950,1.640,1.740,
+2.180,0.353,1.020,1.290,1.170,1.380,0.994,1.860,0.270,0.368,
+0.152,0.210,0.646,0.625,0.294,0.278,0.283,0.130,0.276,0.290,
+0.155,0.366,0.180,0.248,1.280,1.960,0.984,1.070,0.328,0.262,
+0.187,0.228,1.360,0.285,1.140,1.360,0.650,1.350,0.974,0.956,
+0.937,0.805,0.530,0.816,2.110,1.810,1.030,1.300,1.320,0.248,
+1.020,1.170,0.842,1.140,1.150,1.540,2.340,1.390,0.836,1.870,
+1.620,1.150,0.607,0.824,1.340,0.185,0.575,0.965,1.230,0.963,
+0.636,1.660,2.360,2.390,1.180,1.670,2.840,2.710,1.330,1.500,
+1.410,0.235,1.100,1.500,0.965,1.540,0.901,1.470,1.100,1.200,
+0.751,1.010,0.416,0.158,0.157,0.160,0.901,0.152,0.632,0.854,
+0.654,1.180,0.646,0.892,1.380,0.926,0.610,1.260,1.200,1.040,
+0.747,0.958,1.140,0.148,0.877,1.270,1.290,1.440,1.310,2.250,
+4.730,3.770,1.990,2.860,4.950,4.900,2.200,2.210,1.800,0.331,
+1.010,1.370,1.520,1.880,1.080,1.660,3.940,4.120,1.780,1.840,
+6.240,4.900,2.880,2.470,2.180,0.511,1.770,1.980,0.972,1.710,
+1.110,1.320,1.380,2.280,1.230,1.300,0.351,0.462,0.309,0.289,
+0.953,0.209,0.867,0.892,0.591,1.340,0.956,1.140,1.150,0.851,
+0.578,1.000,1.890,2.380,1.150,1.410,1.580,0.362,0.776,0.911,
+0.979,1.200,0.913,1.500,3.570,4.340,1.330,1.620,4.750,7.100,
+2.050,1.820,1.820,0.455,1.290,1.300,1.040,1.920,0.755,1.120,
+3.290,4.490,1.770,1.410,2.970,1.720,2.310,1.780,2.240,0.855,
+1.880,2.220,0.842,2.250,1.080,1.110,1.380,3.170,1.180,1.190,
+0.397,0.892,0.413,0.315,1.250,0.417,1.060,1.240,0.604,2.070,
+1.170,1.320,0.922,1.050,0.465,0.660,1.840,3.020,1.130,1.330,
+1.040,0.217,0.919,1.180,0.621,1.020,0.711,1.190,2.060,1.860,
+0.860,1.080,4.930,4.120,2.460,1.820,1.550,0.336,1.100,1.150,
+0.795,1.300,1.220,1.370,0.348,0.546,0.205,0.221,1.570,1.180,
+0.772,0.392,0.308,0.232,0.404,0.354,0.128,0.388,0.229,0.202,
+2.550,2.830,1.450,1.470,1.580,0.796,0.473,0.347,1.570,0.414,
+1.300,1.320,0.688,1.950,1.820,1.230,1.080,0.908,0.672,0.814,
+5.040,3.830,2.480,2.020,1.440,0.276,1.300,1.380,0.809,1.170,
+1.350,1.480,1.580,1.180,0.717,1.260,1.750,1.450,0.721,0.740,
+0.829,0.110,0.487,0.608,0.671,0.724,0.548,0.926,2.080,2.750,
+1.420,1.850,3.460,4.060,2.010,1.840,1.150,0.285,1.170,1.470,
+0.625,1.460,0.942,1.260,1.230,1.770,0.960,1.070,0.399,0.286,
+0.174,0.151,0.795,0.147,0.796,0.927,0.482,1.080,0.905,0.899,
+0.947,0.821,0.636,0.817,1.420,1.460,1.930,1.130,0.804,0.110,
+0.832,0.996,0.821,1.090,1.060,1.420,1.890,1.930,0.842,1.260,
+1.850,1.590,0.838,1.030,0.961,0.156,0.539,0.762,0.895,1.090,
+0.555,0.955,2.370,3.050,1.040,1.310,2.620,2.820,1.680,1.630,
+1.880,0.451,1.640,1.790,0.752,1.620,0.764,1.050,0.975,2.060,
+0.948,1.030,0.194,0.341,0.228,0.275,0.874,0.216,0.828,0.999,
+0.508,1.280,0.662,1.070,0.795,0.667,0.406,0.733,1.040,1.300,
+0.825,1.030,0.868,0.165,0.729,1.110,0.691,0.733,0.727,1.630,
+0.175,0.207,0.089,0.112,0.368,0.463,0.249,0.174,0.128,0.056,
+0.111,0.116,0.084,0.192,0.118,0.126,0.232,0.435,0.144,0.139,
+0.504,0.791,0.389,0.291,0.260,0.232,0.354,0.329,0.085,0.271,
+0.114,0.121,0.128,0.400,0.173,0.137,0.096,0.259,0.208,0.076,
+0.189,0.147,0.233,0.291,0.088,0.296,0.197,0.248,0.088,0.102,
+0.055,0.087,0.224,0.389,0.218,0.228,0.124,0.050,0.157,0.209,
+0.077,0.118,0.117,0.197,1.430,1.610,0.690,0.784,1.920,2.810,
+1.590,1.180,1.580,0.415,1.210,1.290,0.694,1.290,0.882,1.100,
+0.206,0.471,0.158,0.137,0.381,0.772,0.483,0.224,0.288,0.235,
+0.437,0.320,0.101,0.343,0.190,0.155,1.080,2.730,1.400,0.992,
+0.314,0.569,0.392,0.234,1.530,0.525,1.080,1.330,0.575,1.910,
+1.180,1.120,0.642,0.694,0.438,0.497,1.490,2.390,1.310,1.310,
+1.310,0.341,1.350,1.280,0.530,0.984,0.943,1.020,1.640,1.000,
+0.447,0.733,1.020,0.898,0.438,0.514,0.868,0.127,0.514,0.673,
+0.628,0.759,0.423,0.886,2.170,2.590,1.040,1.110,2.670,3.550,
+1.680,1.510,1.680,0.464,1.770,1.830,0.827,1.860,1.030,1.200,
+1.200,2.080,1.120,1.060,0.226,0.309,0.199,0.164,1.290,0.292,
+1.120,1.270,0.684,1.770,1.050,1.170,0.834,0.748,0.750,0.850,
+1.010,1.260,1.150,0.950,1.040,0.172,1.200,1.270,0.957,1.150,
+1.040,1.460,1.680,1.170,0.635,1.260,1.130,0.933,0.514,0.811,
+0.784,0.099,0.339,0.685,0.961,0.710,0.415,0.957,1.450,1.200,
+0.488,0.757,1.140,1.200,0.537,0.706,0.738,0.102,0.501,1.000,
+0.522,0.620,0.354,0.640,0.805,1.300,0.441,0.698,0.099,0.110,
+0.060,0.110,0.430,0.066,0.284,0.481,0.485,0.600,0.327,0.603,
+0.843,0.576,0.367,0.801,0.729,0.687,0.391,0.742,0.560,0.082,
+0.340,0.724,0.731,0.617,0.546,1.380,1.750,1.650,0.728,1.110,
+2.000,2.120,1.450,1.240,1.130,0.207,0.677,1.020,0.788,1.280,
+0.558,0.999,1.820,2.130,0.764,0.932,2.210,2.930,1.240,1.340,
+1.260,0.280,1.000,1.360,0.718,1.540,0.612,0.923,1.120,2.860,
+0.635,0.736,0.158,0.320,0.149,0.144,0.768,0.180,0.613,0.815,
+0.538,1.240,0.623,0.953,0.814,0.753,0.397,0.600,1.210,1.580,
+0.860,1.200,0.774,0.125,0.651,0.969,0.663,0.859,0.709,1.300,
+1.360,1.040,0.537,0.732,1.890,1.830,1.020,1.070,1.160,0.211,
+0.732,1.040,0.698,0.899,0.718,1.120,0.136,0.177,0.064,0.095,
+0.242,0.396,0.177,0.133,0.124,0.057,0.135,0.166,0.080,0.166,
+0.095,0.114,0.892,1.410,0.682,0.749,0.217,0.209,0.132,0.141,
+1.110,0.230,0.772,0.992,0.593,1.270,0.826,0.960,0.697,0.633,
+0.415,0.600,1.390,1.460,0.837,1.130,1.390,0.490,0.892,1.270,
+0.679,1.180,0.831,1.200,1.420,0.932,0.567,1.010,1.150,0.935,
+0.538,0.660,0.920,0.123,0.436,0.751,0.712,0.684,0.488,1.160,
+1.460,1.280,0.553,0.835,1.630,1.810,0.865,0.929,0.907,0.120,
+0.663,1.030,0.711,0.953,0.597,1.070,2.420,1.480,0.805,1.020,
+1.050,0.190,0.123,0.148,1.180,0.157,0.771,0.998,0.853,1.250,
+0.845,1.160,1.360,0.932,0.722,1.350,2.720,1.630,1.100,1.270,
+1.560,0.302,1.080,1.590,1.610,1.630,1.350,1.810,2.530,1.660,
+1.140,1.950,2.050,1.610,1.100,1.210,1.430,0.189,0.652,0.949,
+1.750,1.550,0.819,1.430,1.700,1.420,0.722,1.020,1.520,1.170,
+0.934,0.928,0.950,0.144,0.697,0.886,0.693,0.957,0.729,1.010,
+0.878,1.340,0.630,0.957,0.131,0.147,0.093,0.159,0.669,0.098,
+0.441,0.586,0.570,1.060,0.638,0.869,1.210,0.698,0.487,0.993,
+1.260,1.040,0.660,0.925,0.735,0.105,0.417,0.697,0.865,0.736,
+0.720,1.470,2.670,1.940,1.140,1.520,2.640,2.420,1.830,1.590,
+1.640,0.280,0.758,0.972,1.010,1.520,0.719,1.120,2.060,2.050,
+1.050,1.110,2.030,1.430,1.440,1.320,1.520,0.306,1.020,1.250,
+0.767,1.330,0.675,0.820,1.200,1.850,1.020,1.120,0.238,0.321,
+0.247,0.235,1.220,0.230,0.977,1.090,0.600,1.450,0.935,1.070,
+0.907,0.707,0.440,0.713,1.510,1.690,1.010,1.190,0.944,0.122,
+0.661,0.917,0.694,0.806,0.711,1.300,2.160,1.150,0.696,1.110,
+2.850,2.310,2.090,1.540,2.030,0.327,0.770,1.010,1.220,1.280,
+0.787,1.450,0.242,0.233,0.111,0.176,0.334,0.379,0.259,0.232,
+0.245,0.085,0.192,0.213,0.165,0.398,0.166,0.227,1.080,1.430,
+0.733,0.884,0.204,0.206,0.159,0.186,0.987,0.194,0.767,0.817,
+0.514,1.210,0.688,0.754,0.807,0.583,0.370,0.646,1.520,1.470,
+0.994,1.140,1.010,0.160,0.652,0.791,0.814,0.964,0.778,1.140,
+1.720,0.812,0.576,1.050,1.040,0.763,0.576,0.677,0.918,0.136,
+0.431,0.623,0.944,0.889,0.533,1.160,1.760,1.280,0.676,1.110,
+1.410,1.230,0.891,0.991,0.956,0.147,0.690,0.899,0.766,1.140,
+0.631,1.040,0.906,1.160,0.712,0.910,0.141,0.134,0.110,0.146,
+0.932,0.118,0.592,0.808,0.639,1.150,0.773,1.050,1.180,0.790,
+0.627,1.280,0.946,0.884,0.667,0.966,1.130,0.132,0.781,1.220,
+1.580,1.770,1.420,2.550,0.158,0.151,0.084,0.116,0.190,0.207,
+0.144,0.116,0.105,0.029,0.072,0.074,0.112,0.149,0.075,0.096,
+0.206,0.220,0.127,0.128,0.346,0.326,0.304,0.210,0.144,0.055,
+0.131,0.150,0.073,0.143,0.097,0.109,0.107,0.284,0.089,0.100,
+0.054,0.060,0.044,0.039,0.114,0.031,0.093,0.100,0.050,0.135,
+0.091,0.108,0.091,0.078,0.053,0.081,0.176,0.201,0.125,0.130,
+0.090,0.020,0.066,0.089,0.078,0.077,0.081,0.135,0.187,0.249,
+0.098,0.121,0.280,0.412,0.242,0.213,0.180,0.106,0.103,0.112,
+0.085,0.242,0.087,0.091,0.256,0.375,0.184,0.145,0.425,0.400,
+0.451,0.334,0.245,0.134,0.202,0.216,0.086,0.234,0.121,0.109,
+0.134,0.315,0.157,0.127,0.076,0.163,0.107,0.064,0.194,0.102,
+0.185,0.175,0.072,0.257,0.157,0.172,0.093,0.087,0.051,0.067,
+0.216,0.341,0.204,0.166,0.135,0.030,0.109,0.147,0.071,0.100,
+0.091,0.132,0.163,0.135,0.063,0.077,0.292,0.365,0.285,0.164,
+0.190,0.063,0.126,0.112,0.077,0.142,0.105,0.119,0.036,0.076,
+0.034,0.030,0.106,0.194,0.161,0.072,0.083,0.098,0.097,0.072,
+0.017,0.071,0.048,0.035,0.143,0.255,0.154,0.139,0.095,0.134,
+0.124,0.062,0.193,0.112,0.222,0.183,0.074,0.293,0.183,0.139,
+0.090,0.083,0.058,0.075,0.280,0.373,0.281,0.213,0.159,0.050,
+0.157,0.144,0.085,0.141,0.135,0.144,0.138,0.110,0.067,0.096,
+0.137,0.121,0.077,0.082,0.090,0.019,0.060,0.069,0.084,0.102,
+0.082,0.121,0.277,0.273,0.154,0.186,0.388,0.431,0.302,0.275,
+0.224,0.070,0.196,0.218,0.119,0.258,0.156,0.185,0.123,0.193,
+0.123,0.125,0.036,0.052,0.038,0.032,0.158,0.039,0.139,0.161,
+0.081,0.184,0.136,0.151,0.118,0.102,0.073,0.123,0.150,0.162,
+0.146,0.137,0.142,0.024,0.119,0.159,0.148,0.179,0.172,0.249,
+1.090,0.896,0.544,0.852,0.946,0.965,0.570,0.642,0.598,0.107,
+0.397,0.480,0.516,0.570,0.462,0.557,1.240,1.300,0.600,0.819,
+1.300,1.230,1.010,0.859,1.040,0.210,1.030,0.904,0.458,0.806,
+0.467,0.585,0.842,2.370,0.838,0.909,0.177,0.273,0.178,0.234,
+0.801,0.167,0.629,0.751,0.413,1.110,0.513,0.802,0.566,0.538,
+0.304,0.574,0.792,0.858,0.555,0.778,0.624,0.097,0.516,0.733,
+0.473,0.494,0.503,0.972,0.101,0.126,0.066,0.095,0.178,0.281,
+0.145,0.120,0.077,0.036,0.079,0.082,0.041,0.095,0.045,0.067,
+0.136,0.181,0.078,0.079,0.223,0.258,0.217,0.143,0.141,0.081,
+0.182,0.168,0.051,0.103,0.058,0.063,0.077,0.252,0.104,0.098,
+0.050,0.120,0.082,0.046,0.118,0.069,0.143,0.130,0.060,0.190,
+0.098,0.145,0.082,0.073,0.040,0.075,0.176,0.249,0.142,0.163,
+0.093,0.026,0.109,0.126,0.056,0.080,0.068,0.115,1.000,0.934,
+0.460,0.481,1.400,1.830,1.190,0.894,0.918,0.243,0.802,0.780,
+0.419,0.696,0.535,0.592,0.126,0.242,0.088,0.073,0.209,0.396,
+0.275,0.134,0.173,0.120,0.249,0.164,0.058,0.181,0.102,0.093,
+0.963,1.590,0.842,0.693,0.238,0.355,0.278,0.201,0.952,0.284,
+0.417,0.621,0.457,1.190,0.753,0.872,0.557,0.460,0.330,0.355,
+1.150,1.500,0.969,0.955,0.890,0.212,0.907,0.853,0.470,0.678,
+0.659,0.691,0.711,0.504,0.377,0.530,0.643,0.543,0.355,0.397,
+0.470,0.081,0.375,0.456,0.365,0.419,0.269,0.452,1.110,1.160,
+0.560,0.579,1.250,1.600,0.969,0.791,0.927,0.214,1.080,1.010,
+0.481,1.000,0.593,0.632,0.787,1.440,0.711,0.754,0.129,0.239,
+0.142,0.163,0.832,0.156,0.745,0.829,0.445,1.030,0.700,0.830,
+0.581,0.480,0.320,0.478,0.789,0.913,0.552,0.715,0.678,0.110,
+0.683,0.790,0.583,0.751,0.620,0.771,1.180,0.884,0.495,1.010,
+0.982,0.634,0.385,0.512,0.659,0.079,0.245,0.411,1.420,0.568,
+0.319,0.691,1.050,0.912,0.414,0.619,0.711,0.659,0.391,0.452,
+0.475,0.069,0.345,0.451,0.378,0.404,0.271,0.435,1.030,4.630,
+0.462,0.730,0.090,0.230,0.061,0.109,0.448,0.114,0.237,0.379,
+0.525,0.712,0.309,0.532,0.802,1.240,0.336,0.679,0.633,0.676,
+0.385,0.668,0.458,0.061,0.291,0.492,0.658,0.526,0.452,1.060,
+1.520,1.220,0.671,1.230,1.410,1.510,0.948,0.946,0.792,0.141,
+0.539,0.827,0.609,0.782,0.387,0.758,1.440,1.460,0.664,0.939,
+1.440,1.560,1.020,1.020,0.948,0.187,0.811,1.050,0.540,0.848,
+0.462,0.774,0.809,1.740,0.595,0.833,0.126,0.253,0.139,0.160,
+0.757,0.152,0.665,0.883,0.500,1.170,0.617,1.220,0.812,0.706,
+0.416,0.658,1.170,1.440,0.892,1.160,0.776,0.103,0.670,0.855,
+0.624,0.869,0.580,1.130,1.370,1.470,0.539,0.685,1.490,1.560,
+1.070,1.030,1.140,0.204,0.701,0.881,0.604,0.775,0.566,0.870,
+0.224,0.198,0.073,0.107,0.204,0.336,0.210,0.153,0.124,0.054,
+0.161,0.160,0.075,0.151,0.081,0.103,1.010,1.660,0.737,0.840,
+0.145,0.228,0.146,0.181,1.010,0.188,0.656,0.896,0.572,1.230,
+0.845,0.916,0.766,0.648,0.465,0.586,1.330,1.480,1.160,1.300,
+0.909,0.138,0.810,0.952,0.641,0.827,0.863,1.000,1.260,0.702,
+0.551,0.833,0.836,0.658,0.495,0.578,0.927,0.132,0.440,0.728,
+0.554,0.454,0.367,0.788,1.550,1.150,0.550,0.765,1.330,1.390,
+0.884,0.949,0.861,0.121,0.863,1.040,0.648,0.799,0.585,0.814,
+1.320,1.510,0.786,1.130,0.168,0.206,0.116,0.165,1.390,0.169,
+1.070,1.270,0.907,1.380,1.140,1.180,1.190,0.792,0.579,1.160,
+1.330,1.700,0.969,1.270,1.230,0.121,0.970,1.340,1.240,1.240,
+1.200,1.730,2.840,1.790,1.190,2.560,2.440,1.230,0.870,1.180,
+1.700,0.163,0.630,1.090,2.380,1.940,1.010,2.080,1.570,0.990,
+0.591,0.873,1.190,0.832,0.551,0.580,0.830,0.081,0.453,0.618,
+0.750,0.736,0.447,0.757,0.962,1.110,0.503,0.875,0.123,0.120,
+0.067,0.120,0.554,0.064,0.307,0.545,0.618,0.871,0.474,0.957,
+1.940,0.927,0.683,1.370,1.290,1.190,0.681,1.020,0.842,0.112,
+0.477,0.891,1.260,0.976,0.903,2.310,1.860,1.100,0.595,1.090,
+1.360,0.947,0.591,0.758,0.822,0.108,0.398,0.554,1.030,1.120,
+0.418,0.944,1.300,0.880,0.423,0.678,0.901,0.610,0.461,0.524,
+0.622,0.077,0.343,0.488,0.522,0.595,0.286,0.505,0.673,0.693,
+0.441,0.733,0.074,0.084,0.055,0.087,0.556,0.056,0.277,0.442,
+0.466,0.633,0.379,0.787,0.741,0.465,0.324,0.586,0.721,0.695,
+0.399,0.569,0.530,0.045,0.288,0.589,0.565,0.526,0.452,1.080,
+1.820,0.910,0.516,0.944,1.550,0.977,0.850,0.941,1.050,0.132,
+0.351,0.593,0.997,0.926,0.506,1.210,0.145,0.099,0.057,0.091,
+0.134,0.118,0.080,0.099,0.089,0.015,0.057,0.084,0.111,0.155,
+0.067,0.152,0.741,0.769,0.473,0.601,0.089,0.071,0.057,0.084,
+0.570,0.068,0.362,0.457,0.424,0.643,0.418,0.574,0.669,0.490,
+0.373,0.656,0.879,0.662,0.499,0.690,0.691,0.070,0.364,0.544,
+0.608,0.611,0.546,1.010,2.110,0.931,0.649,1.310,1.140,0.675,
+0.524,0.727,1.070,0.106,0.539,0.750,1.940,1.150,0.678,1.680,
+1.580,0.990,0.631,0.913,1.180,0.879,0.565,0.704,0.816,0.078,
+0.506,0.747,0.906,0.990,0.578,1.170,0.829,0.818,0.632,0.809,
+0.095,0.074,0.059,0.092,0.962,0.066,0.421,0.599,0.715,0.901,
+0.530,0.919,1.660,1.310,0.798,1.520,1.090,0.896,0.613,0.963,
+1.260,0.137,0.665,1.170,1.850,1.840,1.350,2.840,2.510,1.680,
+1.010,2.040,2.060,1.590,1.180,1.220,1.160,0.182,0.673,0.911,
+1.580,1.980,0.870,1.420,2.130,1.570,0.903,1.330,2.100,1.640,
+1.330,1.190,1.050,0.161,0.779,0.953,0.891,1.220,0.716,1.090,
+1.150,1.830,0.747,1.100,0.181,0.201,0.129,0.173,0.741,0.111,
+0.525,0.816,0.700,1.050,0.740,1.180,1.190,0.767,0.575,1.050,
+1.480,1.480,0.908,1.060,0.738,0.085,0.471,0.908,0.854,0.704,
+0.863,1.510,2.240,1.870,0.778,1.340,2.300,2.380,1.240,1.370,
+1.160,0.260,0.533,0.776,1.340,2.990,0.637,1.180,1.990,2.150,
+0.847,1.240,2.390,2.030,1.440,1.490,1.280,0.265,0.837,1.060,
+0.852,1.580,0.645,0.869,1.060,1.680,0.776,1.040,0.195,0.314,
+0.160,0.204,1.010,0.197,0.650,0.921,0.886,1.440,0.803,1.550,
+0.832,0.746,0.420,0.683,1.290,1.810,0.915,0.999,0.790,0.110,
+0.513,1.410,0.801,0.838,0.697,1.340,1.550,1.150,0.503,0.827,
+1.780,1.600,1.180,1.230,0.935,0.178,0.527,0.628,0.752,0.990,
+0.594,1.020,0.125,0.149,0.072,0.103,0.237,0.287,0.185,0.165,
+0.117,0.053,0.117,0.131,0.087,0.202,0.102,0.124,0.991,1.320,
+0.762,0.910,0.172,0.205,0.152,0.170,1.040,0.181,0.671,0.896,
+0.586,1.280,0.783,0.995,0.868,0.571,0.506,0.767,1.480,1.680,
+1.250,1.290,1.090,0.136,0.702,0.960,0.733,0.849,0.918,1.320,
+1.260,0.741,0.495,0.806,0.974,0.740,0.526,0.596,0.742,0.086,
+0.442,0.549,0.840,0.764,0.504,0.983,1.690,1.440,0.766,1.080,
+2.030,1.780,1.140,1.190,1.020,0.164,0.706,0.986,0.880,1.530,
+0.771,1.170,0.840,1.120,0.742,0.878,0.113,0.133,0.089,0.103,
+0.835,0.102,0.612,0.812,0.622,1.010,0.705,1.020,1.070,0.736,
+0.578,0.888,1.010,0.996,0.715,0.916,0.961,0.103,0.654,1.050,
+1.160,1.220,1.090,1.770,1.240,1.080,0.552,1.320,0.880,0.780,
+0.530,0.729,0.638,0.082,0.328,0.593,0.706,0.672,0.411,0.843,
+1.330,1.230,0.494,0.797,1.170,0.980,0.618,0.615,0.813,0.117,
+0.571,0.797,0.514,0.784,0.422,0.744,1.050,1.650,0.705,1.080,
+0.520,0.213,0.117,0.248,0.666,0.131,0.499,1.770,0.527,1.140,
+0.661,3.110,0.820,0.728,0.447,1.040,1.050,1.110,0.551,0.881,
+0.705,0.089,0.476,0.976,0.726,0.650,0.752,1.750,0.097,0.086,
+0.044,0.100,0.108,0.131,0.061,0.079,0.058,0.014,0.040,0.069,
+0.067,0.098,0.056,0.118,0.103,0.119,0.041,0.071,0.140,0.223,
+0.089,0.082,0.075,0.029,0.083,0.094,0.047,0.094,0.047,0.076,
+0.077,0.149,0.069,0.106,0.036,0.050,0.033,0.035,0.087,0.034,
+0.080,0.245,0.071,0.197,0.114,1.000,0.078,0.072,0.037,0.089,
+0.125,0.174,0.088,0.131,0.076,0.016,0.068,0.117,0.071,0.083,
+0.074,0.258,0.954,0.771,0.428,0.594,1.050,1.260,0.773,0.835,
+0.729,0.154,0.643,0.673,0.453,0.661,0.527,0.724,0.095,0.136,
+0.053,0.075,0.119,0.185,0.117,0.082,0.099,0.051,0.148,0.110,
+0.063,0.139,0.081,0.095,0.777,1.280,0.717,0.749,0.149,0.212,
+0.161,0.128,0.842,0.179,0.450,0.667,0.447,1.080,0.703,1.170,
+0.622,0.520,0.357,0.479,0.994,1.270,0.776,0.814,0.811,0.119,
+1.000,0.812,0.552,0.706,0.772,0.950,0.895,0.546,0.354,0.656,
+0.712,0.689,0.381,0.471,0.524,0.066,0.436,0.497,0.512,0.492,
+0.361,0.652,1.240,1.140,0.575,0.743,1.090,1.300,0.738,0.657,
+0.880,0.138,0.877,0.952,0.626,1.070,0.646,0.850,0.871,1.210,
+0.952,0.980,0.117,0.212,0.175,0.130,0.777,0.123,0.641,0.932,
+0.568,1.060,0.817,1.230,0.759,0.602,0.500,0.723,0.853,0.946,
+0.783,0.797,0.790,0.089,0.750,0.952,0.779,0.915,0.884,1.300,
+2.560,1.690,0.814,2.560,1.200,0.884,0.478,0.978,0.852,0.097,
+0.350,0.727,1.250,1.040,0.542,1.260,1.420,1.280,0.458,0.847,
+1.040,0.906,0.463,0.578,0.653,0.080,0.343,0.570,0.544,0.818,
+0.380,0.671,1.970,8.390,0.725,1.340,0.138,0.383,0.060,0.151,
+0.557,0.194,0.283,0.648,0.571,0.940,0.413,1.120,1.660,2.390,
+0.646,1.400,0.953,1.140,0.504,1.080,0.756,0.085,0.535,1.090,
+1.220,0.906,0.892,2.400,1.420,0.892,0.486,1.050,0.977,0.867,
+0.475,0.685,0.561,0.070,0.301,0.635,0.600,0.691,0.369,0.980,
+1.320,1.040,0.413,0.840,1.010,1.060,0.502,0.690,0.676,0.091,
+0.474,0.753,0.560,0.733,0.381,0.918,0.882,1.380,0.447,0.900,
+0.073,0.111,0.049,0.117,0.597,0.087,0.364,0.854,0.589,1.180,
+0.545,2.560,0.899,0.657,0.384,0.788,0.877,0.891,0.502,0.903,
+0.627,0.065,0.412,0.802,0.753,0.825,0.634,1.880,1.820,1.290,
+0.724,1.020,1.450,1.230,0.836,1.140,1.090,0.157,0.622,0.854,
+0.811,0.914,0.736,1.290,0.178,0.162,0.069,0.114,0.139,0.169,
+0.093,0.116,0.084,0.023,0.091,0.109,0.083,0.156,0.077,0.143,
+1.120,1.630,0.728,1.040,0.115,0.137,0.087,0.134,0.983,0.143,
+0.613,1.010,0.733,1.230,0.846,1.270,1.110,0.850,0.589,0.873,
+1.490,1.400,0.966,1.320,1.140,0.130,1.040,1.280,0.991,1.040,
+1.070,1.600,2.370,1.100,0.749,1.440,1.240,1.030,0.647,0.846,
+1.090,0.106,0.586,0.927,1.360,1.090,0.879,2.030,2.290,1.450,
+0.764,1.170,1.640,1.830,0.975,1.070,1.130,0.109,0.895,1.250,
+1.020,1.220,0.859,1.520,1.840,1.940,1.170,1.650,0.167,0.159,
+0.133,0.150,1.350,0.133,0.991,1.580,1.280,1.760,1.390,2.100,
+2.630,1.480,1.090,2.480,2.020,1.600,1.190,1.910,1.870,0.163,
+1.390,2.340,2.820,2.220,1.920,4.010,7.500,3.130,2.120,3.840,
+3.710,3.040,1.890,2.130,2.900,0.393,1.270,2.260,3.550,3.440,
+1.560,2.610,4.310,3.520,1.680,1.920,3.800,3.270,1.850,1.630,
+2.120,0.305,1.360,1.530,1.440,1.940,1.130,1.690,2.190,2.610,
+1.390,1.710,0.272,0.377,0.236,0.333,1.520,0.296,0.995,1.140,
+1.160,2.620,1.080,1.470,2.990,1.650,1.340,2.120,2.640,2.510,
+1.770,2.380,1.580,0.208,0.970,1.450,1.900,1.550,1.360,2.480,
+4.770,3.390,1.540,2.370,3.720,3.700,1.810,1.840,2.280,0.403,
+1.040,1.460,1.530,2.300,1.050,1.590,4.360,4.410,1.480,1.730,
+4.220,4.060,1.990,1.910,2.360,0.516,1.440,1.850,1.170,2.170,
+0.998,1.250,1.960,3.010,1.170,1.300,0.290,0.556,0.264,0.232,
+2.240,0.573,1.470,1.520,0.920,2.590,1.150,1.270,1.410,1.210,
+0.634,0.957,2.150,2.330,1.100,1.340,1.540,0.241,1.160,1.140,
+1.120,1.280,1.040,1.590,1.950,1.300,0.844,1.160,2.060,1.750,
+1.380,1.130,1.770,0.279,0.713,1.200,1.030,1.240,0.858,1.410,
+0.184,0.234,0.107,0.131,0.240,0.335,0.200,0.154,0.194,0.085,
+0.149,0.195,0.133,0.321,0.149,0.188,1.020,1.320,0.943,0.817,
+0.166,0.225,0.198,0.148,1.130,0.243,0.849,0.973,0.541,1.160,
+0.812,0.658,0.908,0.685,0.517,0.687,1.480,1.440,1.040,1.050,
+1.140,0.176,0.770,1.130,0.790,1.050,0.905,1.190,2.310,1.110,
+0.728,1.640,1.250,0.985,0.644,0.791,1.540,0.146,0.468,0.859,
+1.410,1.110,0.761,1.600,1.990,1.830,0.890,1.180,1.860,2.020,
+1.030,1.100,1.380,0.184,0.731,1.200,1.160,1.580,0.839,1.320,
+0.982,1.150,0.849,0.910,0.128,0.158,0.185,0.127,0.959,0.143,
+0.692,0.885,0.700,1.240,0.793,0.946,1.380,0.927,0.698,1.310,
+1.110,1.080,0.818,0.989,1.360,0.153,0.883,1.380,1.460,1.490,
+1.160,1.990,4.890,3.710,1.830,2.900,3.360,3.550,1.850,1.740,
+1.670,0.293,0.837,1.230,1.490,2.120,1.340,1.800,3.870,4.890,
+1.760,1.820,3.820,4.150,2.320,1.810,1.860,0.404,1.240,1.400,
+0.985,1.770,0.963,1.230,1.530,3.090,1.350,1.300,0.293,0.594,
+0.292,0.272,1.290,0.377,1.270,1.040,0.707,1.820,1.100,1.240,
+1.620,1.060,0.757,1.050,2.090,2.450,1.150,1.360,1.020,0.179,
+0.647,0.790,1.050,0.957,0.811,1.600,3.670,4.430,1.260,1.740,
+3.800,5.440,2.010,1.660,1.770,0.482,0.922,1.230,1.030,2.190,
+1.840,1.710,3.910,6.720,1.650,1.690,4.840,4.100,2.970,2.170,
+2.260,0.771,1.360,1.670,0.974,2.510,1.140,1.100,1.690,4.760,
+1.290,1.220,0.517,1.790,0.449,0.328,3.180,1.900,1.540,1.880,
+0.987,5.200,1.330,1.340,1.460,1.430,0.555,0.771,2.750,4.140,
+1.340,1.510,1.510,0.459,0.797,0.954,0.849,1.600,0.712,1.170,
+1.430,1.470,0.606,0.833,2.210,2.840,1.710,1.220,1.350,0.299,
+0.798,0.929,0.632,1.130,0.789,1.010,0.168,0.425,0.129,0.136,
+0.327,0.797,0.415,0.211,0.248,0.234,0.282,0.239,0.091,0.331,
+0.165,0.148,1.200,2.170,1.380,1.140,0.353,0.632,0.405,0.250,
+1.650,0.461,1.380,1.310,0.516,1.780,1.150,0.857,1.290,0.755,
+0.560,0.688,1.850,2.630,1.560,1.370,1.380,0.261,1.100,1.270,
+0.726,1.080,0.954,1.230,1.080,0.804,0.463,0.755,1.020,1.050,
+0.506,0.532,0.925,0.093,0.298,0.479,0.637,0.635,0.427,0.760,
+1.420,2.020,0.936,0.987,1.730,2.920,1.190,1.170,1.090,0.216,
+0.670,0.947,0.657,1.440,0.754,0.907,0.811,1.520,0.776,0.835,
+0.146,0.325,0.131,0.127,0.885,0.213,0.748,0.887,0.508,1.190,
+0.820,0.799,0.901,0.835,0.537,0.750,1.040,1.400,0.643,0.809,
+1.110,0.270,0.745,1.020,0.950,1.350,0.967,1.360,1.780,1.570,
+0.902,1.250,1.340,1.340,0.690,0.790,0.956,0.137,0.462,0.901,
+0.806,0.985,0.517,0.968,2.190,3.040,1.070,1.170,2.060,2.360,
+1.290,1.070,1.430,0.352,1.100,1.180,0.698,1.580,0.772,0.920,
+1.410,2.820,1.080,1.170,0.211,0.407,0.215,0.254,1.010,0.220,
+0.729,0.809,0.553,1.410,0.724,0.898,0.940,0.811,0.534,0.796,
+1.100,1.480,0.711,0.905,0.877,0.137,0.610,0.896,0.869,0.850,
+0.837,1.790,0.128,0.197,0.075,0.100,0.206,0.362,0.139,0.111,
+0.184,0.055,0.091,0.109,0.087,0.175,0.093,0.108,0.201,0.457,
+0.138,0.129,0.372,0.714,0.270,0.187,0.213,0.149,0.212,0.189,
+0.079,0.308,0.128,0.115,0.124,0.377,0.150,0.125,0.065,0.235,
+0.135,0.059,0.204,0.144,0.215,0.195,0.085,0.373,0.153,0.139,
+0.101,0.114,0.064,0.104,0.260,0.463,0.204,0.201,0.158,0.051,
+0.141,0.155,0.097,0.166,0.124,0.206,0.871,0.928,0.451,0.507,
+1.250,1.490,1.050,0.672,2.100,0.290,0.718,0.841,0.586,0.918,
+0.618,0.668,0.113,0.276,0.097,0.075,0.170,0.371,0.228,0.105,
+0.205,0.125,0.169,0.166,0.077,0.252,0.131,0.105,0.821,1.800,
+0.938,0.630,0.179,0.405,0.288,0.141,1.320,0.372,0.783,1.010,
+0.474,1.550,0.955,0.695,0.525,0.536,0.368,0.384,1.010,1.520,
+1.040,0.844,1.090,0.229,0.765,0.839,0.488,0.930,0.627,0.699,
+0.846,0.615,0.319,0.556,0.894,0.680,0.356,0.387,4.500,0.243,
+0.394,0.720,1.300,0.724,0.370,0.729,1.200,1.630,0.676,0.671,
+1.380,1.880,0.993,0.837,1.420,0.250,0.742,0.983,0.729,1.470,
+0.748,0.962,0.862,1.550,0.790,0.679,0.162,0.335,0.166,0.121,
+1.170,0.234,0.736,0.914,0.595,1.540,0.745,0.792,0.729,0.684,
+0.521,0.518,1.060,1.440,0.841,0.774,1.190,0.171,0.879,1.080,
+0.827,1.260,0.878,1.190,1.950,1.220,0.651,1.340,0.988,0.820,
+0.431,0.571,0.943,0.102,0.302,0.672,1.270,0.935,0.489,1.190,
+1.200,1.120,0.437,0.681,0.935,0.853,0.431,0.488,0.727,0.095,
+0.341,0.503,0.508,0.624,0.347,0.613,1.020,1.320,0.483,1.000,
+0.100,0.124,0.063,0.136,0.560,0.082,0.324,0.458,0.491,0.685,
+0.437,0.637,1.110,0.746,0.469,1.030,0.907,0.833,0.455,0.814,
+0.723,0.074,0.388,0.660,1.010,0.871,0.786,1.920,1.680,1.580,
+0.660,1.160,1.640,1.900,0.837,0.938,1.340,0.183,0.551,0.885,
+0.910,1.270,0.555,1.020,1.720,2.500,0.707,1.150,2.220,3.150,
+1.120,1.110,1.280,0.286,0.806,1.110,0.702,1.530,0.577,0.974,
+1.070,1.760,0.589,0.794,0.145,0.320,0.141,0.143,1.060,0.232,
+0.799,0.897,0.656,1.680,0.826,0.921,0.820,0.694,0.380,0.651,
+1.320,1.700,0.775,1.090,0.868,0.133,0.583,0.798,0.803,1.060,
+0.671,1.260,0.862,0.818,0.391,0.654,1.010,1.020,0.672,0.696,
+1.290,0.191,0.503,0.776,0.632,0.774,0.523,0.865,0.079,0.128,
+0.049,0.085,0.100,0.210,0.098,0.102,0.118,0.055,0.097,0.145,
+0.067,0.156,0.074,0.101,0.685,1.110,0.725,0.642,0.115,0.172,
+0.168,0.111,0.910,0.190,0.647,0.753,0.469,1.110,0.946,0.740,
+0.618,0.545,0.344,0.465,1.040,1.100,0.838,0.832,0.830,0.129,
+0.585,0.785,0.539,0.791,0.655,0.931,1.550,0.868,0.515,0.951,
+1.180,0.907,0.435,0.717,8.470,0.415,0.533,0.873,2.530,1.170,
+0.540,1.260,0.886,0.880,0.400,0.634,0.965,1.150,0.649,0.803,
+1.400,0.122,0.457,0.902,0.726,0.955,0.478,0.947,1.150,1.220,
+0.649,0.865,0.165,0.160,0.097,0.129,1.190,0.139,0.688,0.912,
+0.778,1.350,0.926,1.070,1.240,0.823,0.603,1.320,1.490,1.490,
+0.828,1.090,1.470,0.140,0.888,1.380,1.600,1.570,1.310,2.420,
+5.460,3.000,1.620,3.050,3.040,3.250,1.340,1.580,1.850,0.328,
+1.080,1.740,1.950,2.480,1.070,1.840,3.150,3.180,1.250,1.540,
+3.360,4.120,1.650,1.590,2.010,0.376,1.410,1.490,0.960,1.730,
+0.906,1.160,1.270,1.560,0.885,1.140,0.168,0.276,0.155,0.215,
+0.863,0.179,0.730,0.729,0.586,1.160,0.687,0.877,1.200,0.810,
+0.530,1.020,1.400,1.630,0.830,1.090,0.882,0.169,0.608,0.823,
+0.878,0.950,0.775,1.310,3.270,2.830,0.935,1.590,3.210,3.790,
+1.240,1.290,1.760,0.392,0.892,1.070,1.050,1.890,0.612,1.080,
+2.920,3.990,1.160,1.400,3.920,6.070,2.020,1.850,2.060,0.747,
+1.820,2.010,0.939,2.440,0.889,1.070,1.060,2.300,0.846,0.868,
+0.247,0.625,0.312,0.213,1.400,0.441,1.250,1.030,0.626,1.930,
+0.952,0.977,0.699,0.771,0.348,0.541,1.420,2.080,0.717,0.956,
+0.931,0.190,0.655,0.741,0.717,0.957,0.637,1.050,1.500,1.170,
+0.547,0.839,2.380,2.280,1.260,1.230,2.170,0.349,0.817,1.040,
+0.805,1.140,0.703,1.180,0.154,0.275,0.116,0.133,0.323,0.610,
+0.270,0.232,0.248,0.186,0.253,0.244,0.098,0.350,0.157,0.175,
+0.653,1.170,0.801,0.647,0.176,0.302,0.215,0.166,1.150,0.337,
+1.060,1.030,0.416,1.190,0.758,0.642,0.472,0.527,0.505,0.518,
+1.080,1.420,0.864,1.100,0.932,0.237,0.788,0.959,0.522,0.966,
+0.809,0.954,1.220,0.721,0.439,1.100,0.909,0.791,0.364,0.529,
+0.955,0.114,0.340,0.505,0.781,0.718,0.473,1.020,1.320,1.540,
+0.648,0.978,1.790,2.640,0.992,1.220,1.040,0.227,0.750,1.060,
+0.599,1.290,0.596,0.946,0.526,0.802,0.534,0.584,0.090,0.140,
+0.094,0.098,0.653,0.131,0.631,0.646,0.387,0.834,0.544,0.636,
+0.825,0.696,0.560,0.934,0.663,0.951,0.461,0.670,0.760,0.120,
+0.598,0.860,0.794,0.996,0.814,1.410,3.530,2.120,1.170,1.860,
+2.120,2.700,1.110,1.070,0.931,0.175,0.551,0.696,0.762,1.060,
+0.538,0.814,1.750,2.010,0.855,0.978,2.240,4.010,1.460,1.370,
+1.060,0.324,0.868,0.937,0.485,1.090,0.589,0.684,0.797,1.510,
+0.924,0.768,0.155,0.393,0.212,0.190,0.583,0.174,0.697,0.595,
+0.364,0.833,0.530,0.629,0.627,0.546,0.387,0.591,0.983,1.730,
+0.707,0.819,0.503,0.095,0.440,0.505,0.514,0.614,0.501,0.840,
+1.610,1.130,0.419,0.612,0.810,1.650,0.486,0.516,0.696,0.194,
+0.384,0.433,0.405,0.812,0.341,0.514,0.602,0.557,0.283,0.369,
+0.450,2.010,0.489,0.587,0.487,0.441,0.356,0.358,0.189,0.842,
+0.440,0.341,0.510,1.370,0.570,0.526,0.167,1.060,0.336,0.202,
+0.591,0.313,0.540,0.602,0.260,1.060,0.552,0.548,0.294,0.385,
+0.224,0.250,0.653,1.990,0.597,0.643,0.479,0.136,0.408,0.515,
+0.309,0.620,0.329,0.444,0.972,0.955,0.407,0.562,1.760,2.790,
+1.390,1.160,1.040,0.258,0.724,0.781,0.448,0.869,0.618,0.774,
+0.136,0.372,0.135,0.139,0.514,1.990,0.622,0.438,0.263,0.366,
+0.415,0.345,0.073,0.415,0.207,0.156,0.707,1.420,0.825,0.691,
+0.279,0.638,0.361,0.238,0.882,0.300,0.739,0.865,0.372,1.370,
+0.876,0.696,0.435,0.496,0.375,0.416,1.290,2.400,1.460,1.230,
+0.928,0.217,1.000,0.948,0.455,0.799,0.873,0.866,0.684,0.557,
+0.283,0.472,0.693,1.020,0.317,0.398,0.642,0.084,0.273,0.342,
+0.388,0.446,0.252,0.426,0.852,1.540,0.648,0.829,1.670,4.640,
+1.200,1.440,0.910,0.304,0.752,0.970,0.465,1.310,0.689,0.716,
+0.447,1.090,0.584,0.551,0.109,0.325,0.149,0.121,0.561,0.165,
+0.769,0.732,0.314,0.871,0.899,0.745,0.485,0.658,0.316,0.459,
+0.633,1.460,0.567,0.696,0.544,0.101,0.580,0.649,0.422,0.706,
+0.722,0.809,1.370,1.270,0.568,0.884,1.240,1.520,0.572,0.824,
+0.684,0.132,0.420,0.560,0.556,0.817,0.388,0.664,1.850,2.930,
+0.882,1.130,2.750,4.140,1.660,1.640,1.640,0.506,1.570,1.500,
+0.656,1.760,0.728,0.898,0.826,1.790,0.808,0.813,0.186,0.384,
+0.201,0.230,0.855,0.258,0.766,0.830,0.421,1.340,0.573,0.690,
+0.597,0.558,0.304,0.586,0.922,1.390,0.632,0.852,0.742,0.166,
+0.647,0.876,0.560,0.773,0.597,1.220,0.112,0.195,0.069,0.087,
+0.247,0.610,0.221,0.170,0.136,0.083,0.123,0.117,0.070,0.202,
+0.110,0.113,0.226,0.715,0.165,0.186,0.731,2.920,0.753,0.462,
+0.333,0.501,0.511,0.398,0.112,0.566,0.172,0.169,0.104,0.446,
+0.185,0.108,0.106,0.521,0.303,0.095,0.220,0.276,0.378,0.266,
+0.089,0.468,0.226,0.138,0.064,0.099,0.044,0.064,0.229,0.647,
+0.220,0.242,0.140,0.084,0.201,0.196,0.078,0.162,0.113,0.144,
+0.908,1.330,0.485,0.556,1.600,2.690,1.260,0.935,1.370,0.396,
+1.000,0.937,0.502,1.140,0.684,0.839,0.154,0.597,0.166,0.120,
+0.344,1.260,0.510,0.243,0.324,0.347,0.466,0.314,0.093,0.427,
+0.190,0.155,0.751,2.020,0.847,0.662,0.236,0.591,0.336,0.209,
+1.160,0.444,0.737,0.976,0.447,1.740,0.856,0.753,0.466,0.594,
+0.398,0.526,1.350,2.470,1.240,1.680,1.190,0.353,1.200,1.250,
+0.453,1.040,0.804,1.000,0.703,0.660,0.284,0.526,0.735,0.853,
+0.315,0.370,0.913,0.125,0.403,0.539,0.480,0.591,0.313,0.670,
+1.440,2.700,0.878,0.837,2.440,4.430,1.760,1.400,1.890,0.652,
+1.780,1.880,0.743,2.130,0.994,1.100,0.791,1.910,0.932,0.754,
+0.141,0.415,0.198,0.146,1.200,0.382,1.310,1.300,0.535,1.770,
+0.902,0.920,0.580,0.716,0.445,0.641,0.798,1.400,0.807,0.853,
+1.040,0.215,1.280,1.230,0.716,1.250,0.964,1.250,1.110,0.819,
+0.398,0.753,0.794,0.878,0.355,0.501,0.474,0.078,0.253,0.430,
+0.537,0.536,0.260,0.657,1.040,1.110,0.365,0.569,1.030,1.640,
+0.490,0.620,0.526,0.104,0.364,0.486,0.347,0.555,0.251,0.459,
+0.692,0.904,0.431,0.880,0.082,0.119,0.053,0.118,0.364,0.069,
+0.317,0.408,0.271,0.496,0.257,0.430,0.553,0.418,0.242,0.615,
+0.579,0.636,0.295,0.590,0.387,0.056,0.273,0.441,0.477,0.497,
+0.328,0.829,1.100,1.270,0.490,0.743,1.500,2.500,1.040,0.952,
+0.985,0.230,0.605,0.792,0.648,1.190,0.465,0.799,1.470,2.690,
+0.661,0.934,2.860,6.860,1.630,1.740,1.350,0.504,1.100,1.310,
+0.696,1.950,0.710,0.949,0.615,1.610,0.584,0.634,0.140,0.489,
+0.180,0.166,0.775,0.246,0.797,0.797,0.472,1.480,0.655,0.684,
+0.422,0.509,0.350,0.444,0.945,1.890,0.708,1.280,0.728,0.160,
+0.673,0.802,0.555,0.915,0.505,0.884,0.755,0.869,0.340,0.476,
+1.280,1.800,0.984,0.875,0.961,0.210,0.664,0.765,0.477,0.791,
+0.522,0.758,0.082,0.184,0.071,0.080,0.171,0.618,0.207,0.134,
+0.127,0.108,0.162,0.154,0.060,0.188,0.095,0.102,0.507,1.120,
+0.577,0.554,0.128,0.274,0.171,0.133,1.000,0.333,1.030,1.030,
+0.455,1.350,0.777,0.760,0.388,0.468,0.306,0.398,0.928,1.400,
+0.836,0.962,1.040,0.236,0.961,1.070,0.523,0.994,0.738,0.950,
+0.784,0.632,0.314,0.652,0.671,0.884,0.346,0.436,1.040,0.095,
+0.302,0.446,0.580,0.534,0.332,0.771,0.794,1.040,0.395,0.544,
+1.180,2.510,0.804,0.865,0.927,0.164,0.571,0.805,0.516,0.936,
+0.506,0.981,0.744,0.997,0.560,0.628,0.144,0.163,0.088,0.103,
+0.723,0.141,0.794,0.821,0.468,0.986,0.697,0.822,0.656,0.569,
+0.386,0.782,0.926,1.310,0.646,0.927,1.340,0.194,0.870,1.220,
+1.040,1.250,1.090,1.500,1.800,1.490,0.976,1.610,1.770,1.740,
+1.020,1.040,1.040,0.156,0.554,0.793,1.140,1.230,0.746,1.160,
+1.530,1.690,0.937,0.958,1.600,1.610,1.170,0.956,0.878,0.188,
+0.712,0.747,0.646,1.150,1.040,1.340,1.140,2.080,0.765,1.420,
+0.148,0.190,0.119,0.179,0.663,0.124,0.464,0.541,0.423,0.873,
+0.528,0.716,0.908,0.646,0.392,0.788,1.000,1.080,0.674,0.811,
+0.566,0.077,0.345,0.524,0.666,0.532,0.592,1.180,2.190,2.110,
+1.040,1.330,2.730,3.440,2.160,1.550,1.360,0.287,0.718,0.812,
+0.851,1.500,0.972,1.030,2.510,3.390,1.390,1.290,3.170,3.640,
+2.840,1.760,2.080,0.596,1.380,1.500,0.920,2.320,1.090,1.080,
+1.180,2.530,1.140,1.140,0.285,0.618,0.385,0.323,1.740,0.491,
+1.550,1.580,0.644,2.200,1.440,1.160,0.787,0.798,0.409,0.733,
+1.620,2.460,1.200,1.260,0.962,0.166,0.641,0.794,0.677,0.828,
+0.801,1.210,1.200,0.989,0.442,0.753,1.980,2.020,1.470,1.280,
+1.510,0.319,0.636,0.793,0.798,1.250,0.555,0.950,0.157,0.244,
+0.099,0.150,0.275,0.422,0.284,0.315,0.229,0.117,0.173,0.178,
+0.137,0.445,0.176,0.191,0.909,1.290,0.762,0.902,0.217,0.289,
+0.253,0.248,1.060,0.311,0.773,0.800,0.519,1.640,0.805,0.732,
+0.685,0.476,0.323,0.503,1.270,1.610,1.180,1.150,0.909,0.171,
+0.599,0.697,0.629,0.822,0.649,0.890,0.963,0.611,0.346,0.662,
+0.721,0.640,0.469,0.546,0.622,0.090,0.265,0.382,0.808,0.741,
+0.414,0.850,1.110,1.270,0.577,0.809,1.260,1.490,1.060,1.510,
+0.935,0.205,0.596,0.767,0.648,1.340,0.741,0.921,0.653,1.030,
+0.728,0.798,0.105,0.172,0.162,0.173,0.910,0.177,0.748,0.949,
+0.568,1.270,0.896,0.952,0.746,0.590,0.443,0.806,0.737,0.789,
+0.705,0.838,0.888,0.127,0.706,0.935,1.170,1.270,1.070,1.690,
+0.118,0.163,0.105,0.097,0.150,0.257,0.134,0.104,0.082,0.035,
+0.058,0.062,0.063,0.119,0.080,0.077,0.205,0.354,0.248,0.147,
+0.371,0.631,0.476,0.263,0.199,0.155,0.214,0.176,0.080,0.252,
+0.173,0.134,0.192,0.866,0.142,0.102,0.056,0.117,0.067,0.044,
+0.109,0.061,0.136,0.112,0.052,0.184,0.110,0.102,0.083,0.120,
+0.048,0.063,0.169,0.260,0.136,0.123,0.088,0.027,0.071,0.088,
+0.069,0.074,0.087,0.128,0.161,0.279,0.116,0.107,0.326,0.722,
+0.451,0.198,0.150,0.106,0.122,0.104,0.069,0.194,0.332,0.111,
+0.396,0.828,0.341,0.206,0.990,1.860,1.630,0.623,0.513,0.608,
+0.436,0.343,0.153,0.542,0.262,0.164,0.152,0.560,0.208,0.141,
+0.151,0.686,0.322,0.120,0.356,0.373,0.401,0.316,0.088,0.566,
+0.295,0.187,0.090,0.121,0.059,0.067,0.253,0.635,0.319,0.195,
+0.153,0.068,0.139,0.124,0.084,0.138,0.130,0.139,0.099,0.140,
+0.053,0.071,0.267,0.509,0.329,0.242,0.186,0.129,0.143,0.112,
+0.057,0.168,0.097,0.088,0.046,0.139,0.051,0.050,0.170,0.584,
+0.332,0.187,0.141,0.308,0.190,0.127,0.023,0.134,0.081,0.043,
+0.133,0.318,0.183,0.172,0.126,0.325,0.266,0.116,0.279,0.282,
+0.386,0.257,0.127,0.671,0.277,0.162,0.083,0.085,0.059,0.071,
+0.238,0.515,0.383,0.258,0.201,0.104,0.218,0.170,0.069,0.160,
+0.141,0.134,0.068,0.079,0.041,0.058,0.082,0.134,0.074,0.079,
+0.071,0.017,0.042,0.042,0.061,0.080,0.054,0.082,0.175,0.361,
+0.136,0.156,0.336,0.663,0.441,0.625,0.231,0.128,0.170,0.180,
+0.105,0.388,0.176,0.170,0.074,0.206,0.125,0.102,0.033,0.102,
+0.069,0.045,0.172,0.098,0.208,0.201,0.070,0.273,0.191,0.139,
+0.069,0.085,0.053,0.070,0.098,0.179,0.117,0.111,0.113,0.034,
+0.122,0.123,0.092,0.152,0.144,0.162,0.958,1.030,0.588,0.930,
+1.160,1.490,0.817,0.803,0.631,0.142,0.421,0.593,0.517,0.645,
+0.398,0.574,1.300,1.860,0.843,1.130,2.000,2.380,2.230,1.380,
+1.320,0.387,1.290,1.160,0.474,1.270,0.701,0.783,0.765,1.960,
+1.070,1.090,0.198,0.426,0.303,0.344,1.220,0.360,0.893,1.030,
+0.445,1.490,0.716,0.782,0.591,0.554,0.345,0.604,0.940,1.310,
+0.823,0.949,0.667,0.159,0.626,0.876,0.570,0.687,0.608,1.120,
+0.106,0.183,0.074,0.092,0.275,0.639,0.287,0.196,0.125,0.063,
+0.116,0.134,0.053,0.131,0.074,0.087,0.184,0.395,0.163,0.135,
+0.518,1.070,0.856,0.338,0.293,0.302,0.432,0.307,0.080,0.300,
+0.149,0.115,0.103,0.447,0.223,0.154,0.096,0.381,0.268,0.111,
+0.261,0.250,0.384,0.307,0.076,0.390,0.244,0.160,0.077,0.105,
+0.053,0.078,0.228,0.480,0.271,0.241,0.129,0.064,0.174,0.169,
+0.070,0.122,0.107,0.151,0.766,1.180,0.454,0.453,1.580,2.460,
+1.720,0.964,0.999,0.312,0.953,0.797,0.377,0.872,0.668,0.615,
+0.122,0.359,0.124,0.094,0.286,0.741,0.531,0.179,0.228,0.219,
+0.329,0.201,0.067,0.288,0.160,0.120,0.832,1.830,1.070,0.735,
+0.256,0.543,0.488,0.234,1.100,0.346,0.499,0.729,0.395,1.370,
+1.060,0.808,0.619,0.551,0.365,0.361,1.330,2.230,1.550,1.100,
+1.030,0.268,0.947,0.940,0.459,0.815,0.837,0.812,0.543,0.509,
+0.288,0.450,0.703,0.716,0.435,0.434,0.498,0.095,0.373,0.479,
+0.404,0.489,0.348,0.541,1.190,1.810,0.784,0.719,1.980,2.950,
+2.090,1.260,1.270,0.395,1.260,1.220,0.702,1.690,1.310,1.220,
+0.814,2.230,1.050,0.924,0.186,0.506,0.301,0.222,1.220,0.350,
+1.390,1.350,0.545,1.740,1.140,0.983,0.605,0.628,0.368,0.501,
+0.977,1.450,0.914,0.854,0.896,0.195,0.976,1.020,0.696,1.270,
+0.887,0.995,1.020,0.833,0.406,0.827,0.748,0.755,0.445,0.512,
+0.484,0.087,0.230,0.357,0.633,0.579,0.284,0.732,0.873,0.870,
+0.369,0.507,0.799,0.868,0.535,0.472,0.440,0.089,0.328,0.372,
+0.282,0.485,0.296,0.436,0.617,1.280,0.426,0.599,0.089,0.141,
+0.082,0.117,0.516,0.096,0.346,0.447,0.371,0.667,0.376,0.546,
+0.598,0.507,0.294,0.506,0.655,0.656,0.410,0.590,0.417,0.059,
+0.267,0.428,0.560,0.512,0.426,1.000,1.500,1.710,0.705,1.030,
+2.020,2.790,1.480,1.240,0.959,0.226,0.738,0.890,0.608,1.070,
+0.514,0.786,1.860,2.920,1.030,1.150,2.820,4.170,2.550,1.710,
+1.600,0.500,1.460,1.600,0.672,1.700,0.912,1.060,1.010,2.650,
+1.030,1.160,0.244,0.694,0.376,0.330,1.590,0.457,1.510,1.630,
+0.777,2.420,1.270,1.330,0.742,0.817,0.518,0.636,1.530,2.310,
+1.390,1.600,1.020,0.192,0.940,1.100,0.696,1.080,0.747,1.310,
+1.390,3.700,0.590,0.718,1.970,2.290,1.480,1.190,1.150,0.314,
+0.803,0.974,0.514,0.989,0.619,0.862,0.134,0.295,0.073,0.089,
+0.220,0.480,0.343,0.186,0.136,0.104,0.186,0.196,0.061,0.207,
+0.106,0.124,0.953,1.980,1.040,0.960,0.230,0.466,0.312,0.255,
+1.500,0.427,1.140,1.320,0.577,1.790,1.290,1.090,0.660,0.707,
+0.463,0.510,1.560,2.120,1.690,1.490,1.010,0.219,0.977,1.220,
+0.590,0.941,1.010,1.280,0.957,0.879,0.376,0.645,0.816,0.739,
+0.525,0.508,0.741,0.102,0.356,0.517,0.604,0.623,0.446,0.856,
+0.953,1.040,0.454,0.589,1.230,1.600,1.150,0.941,0.868,0.151,
+0.678,0.954,0.525,0.965,0.668,0.961,1.060,1.580,0.892,1.030,
+0.155,0.264,0.164,0.175,1.330,0.266,1.390,1.660,0.764,1.610,
+1.300,1.230,0.934,0.759,0.544,0.962,1.260,1.640,1.100,1.240,
+1.090,0.149,1.080,1.470,1.200,1.220,1.250,1.560,1.630,1.140,
+0.737,1.560,1.210,0.988,0.538,0.740,0.957,0.114,0.334,0.610,
+1.530,1.160,0.533,1.060,1.210,0.984,0.515,0.662,1.040,0.944,
+0.510,0.534,0.635,0.095,0.377,0.418,0.590,0.789,0.465,0.685,
+0.680,0.957,0.424,0.669,0.087,0.109,0.055,0.105,0.477,0.067,
+0.289,0.395,0.457,0.745,0.384,0.697,0.920,0.544,0.437,0.781,
+0.791,0.759,0.465,0.694,0.507,0.064,0.260,0.448,0.780,0.578,
+0.522,1.530,1.540,1.190,0.514,0.998,1.350,1.380,0.632,0.745,
+0.708,0.114,0.309,0.457,0.784,0.921,0.383,0.696,1.220,1.310,
+0.448,0.621,1.260,1.590,0.642,0.726,0.739,0.142,0.379,0.529,
+0.591,0.881,0.381,0.509,0.552,0.811,0.372,0.554,0.076,0.141,
+0.059,0.089,0.565,0.094,0.363,0.431,0.419,0.956,0.423,0.536,
+0.510,0.463,0.232,0.530,0.639,0.839,0.333,0.542,0.451,0.056,
+0.231,0.378,0.444,0.499,0.368,0.789,1.250,0.678,0.335,0.717,
+1.050,0.959,0.581,0.777,0.872,0.147,0.281,0.454,0.798,0.940,
+0.344,0.684,0.084,0.096,0.036,0.075,0.092,0.129,0.069,0.081,
+0.075,0.026,0.041,0.060,0.088,0.173,0.058,0.089,0.459,0.613,
+0.373,0.477,0.065,0.083,0.061,0.076,0.518,0.106,0.309,0.372,
+0.341,0.699,0.362,0.410,0.396,0.376,0.248,0.562,0.549,0.614,
+0.419,0.547,0.501,0.075,0.266,0.394,0.425,0.495,0.375,0.660,
+1.110,0.511,0.325,0.733,0.703,0.492,0.301,0.439,0.742,0.086,
+0.218,0.351,1.770,0.831,0.385,0.903,0.862,0.706,0.348,0.535,
+0.725,0.792,0.416,0.545,0.565,0.079,0.292,0.425,0.684,0.976,
+0.545,0.698,0.458,0.626,0.487,0.529,0.056,0.064,0.062,0.063,
+0.560,0.073,0.308,0.434,0.547,0.732,0.440,0.642,0.712,0.520,
+0.411,0.790,0.578,0.518,0.423,0.576,0.676,0.072,0.383,0.616,
+1.030,0.904,0.859,1.540,1.540,1.260,0.749,1.230,1.380,1.530,
+0.822,0.874,0.795,0.146,0.456,0.605,0.801,1.170,0.530,0.945,
+1.620,1.800,0.982,1.010,1.990,2.530,1.440,1.240,1.120,0.270,
+1.100,0.908,0.653,1.490,0.787,0.863,1.100,2.790,0.777,0.910,
+0.184,0.328,0.142,0.181,0.837,0.177,0.649,0.834,0.564,1.090,
+0.672,0.942,0.891,0.711,0.442,0.733,1.310,1.630,0.734,0.888,
+0.665,0.087,0.396,0.623,0.691,0.602,0.631,1.240,1.600,1.790,
+0.645,0.998,2.090,3.060,1.370,1.280,0.981,0.243,0.515,0.620,
+0.739,1.580,0.908,0.893,2.160,3.580,1.040,1.190,3.670,5.350,
+2.450,2.400,1.810,0.637,1.210,1.340,0.944,2.680,0.919,0.961,
+0.876,2.090,0.823,0.988,0.218,0.632,0.234,0.241,1.280,0.390,
+0.905,1.100,0.609,1.930,0.955,1.190,0.724,0.850,0.382,0.645,
+1.320,2.430,0.919,1.020,0.878,0.156,0.603,0.996,0.647,0.882,
+0.659,1.120,0.824,0.846,0.336,0.533,1.320,1.780,1.240,1.180,
+0.930,0.228,0.521,0.525,0.523,0.922,0.446,0.667,0.093,0.182,
+0.063,0.098,0.210,0.523,0.239,0.255,0.150,0.142,0.148,0.123,
+0.069,0.313,0.105,0.107,0.737,1.260,0.660,0.729,0.152,0.302,
+0.181,0.177,1.010,0.287,0.722,0.827,0.482,1.510,0.764,0.697,
+0.597,0.511,0.394,0.573,1.160,1.830,1.110,1.090,0.877,0.147,
+0.715,0.801,0.516,0.750,0.654,0.904,0.653,0.498,0.279,0.459,
+0.594,0.650,0.372,0.434,0.747,0.089,0.258,0.336,0.662,0.655,
+0.327,0.616,1.050,1.400,0.584,0.772,1.440,2.210,1.170,1.460,
+1.040,0.278,0.645,0.775,0.825,2.470,0.846,0.989,0.586,1.080,
+0.695,0.683,0.106,0.199,0.123,0.110,0.789,0.166,0.690,0.858,
+0.463,1.190,0.729,0.783,0.640,0.549,0.399,0.561,0.736,0.997,
+0.606,0.676,0.743,0.102,0.558,0.778,0.750,0.998,0.851,1.290,
+0.996,1.050,0.479,1.120,0.822,0.957,0.500,0.651,0.570,0.081,
+0.289,0.555,0.508,0.579,0.306,0.634,1.320,1.600,0.649,0.837,
+1.560,1.870,0.954,0.848,1.070,0.233,0.837,0.859,0.498,1.080,
+0.553,0.700,0.755,1.410,0.883,0.939,0.144,0.253,0.151,0.221,
+0.785,0.180,0.634,0.870,0.443,1.220,0.672,0.909,0.645,0.590,
+0.366,0.843,0.838,1.120,0.559,0.789,0.624,0.107,0.476,0.764,
+0.608,0.704,0.639,1.230,0.069,0.101,0.041,0.100,0.100,0.210,
+0.072,0.085,0.066,0.023,0.046,0.056,0.042,0.088,0.045,0.066,
+0.098,0.211,0.067,0.068,0.226,0.723,0.191,0.146,0.124,0.097,
+0.161,0.133,0.048,0.165,0.082,0.078,0.060,0.172,0.085,0.073,
+0.029,0.110,0.068,0.036,0.116,0.076,0.125,0.128,0.052,0.198,
+0.107,0.143,0.055,0.069,0.037,0.072,0.133,0.235,0.112,0.121,
+0.073,0.032,0.083,0.101,0.060,0.091,0.073,0.127,0.661,0.747,
+0.343,0.429,0.940,1.360,0.812,0.757,0.794,0.199,0.507,0.553,
+0.368,0.730,0.450,0.575,0.084,0.181,0.061,0.061,0.145,0.321,
+0.165,0.093,0.139,0.103,0.126,0.108,0.058,0.200,0.088,0.081,
+0.723,1.510,0.877,0.700,0.182,0.399,0.249,0.153,1.370,0.374,
+0.640,0.917,0.470,1.650,0.981,0.765,0.538,0.556,0.380,0.446,
+1.060,1.660,1.040,0.859,1.010,0.201,0.769,0.888,0.547,0.868,
+0.789,0.806,0.555,0.453,0.300,0.492,0.600,0.607,0.399,0.452,
+0.561,0.078,0.301,0.416,0.433,0.498,0.299,0.536,0.976,1.290,
+0.548,0.638,1.350,1.730,1.050,0.747,1.100,0.261,0.790,0.864,
+0.619,1.410,0.786,0.854,0.849,1.470,2.070,0.984,0.150,0.271,
+0.499,0.176,1.180,0.240,1.120,1.270,0.612,1.500,1.130,1.020,
+0.635,0.616,0.664,0.667,0.903,1.170,1.620,0.891,0.949,0.141,
+0.887,1.020,0.784,1.130,1.010,1.190,1.370,0.891,0.482,1.200,
+0.821,0.717,0.361,0.631,0.550,0.078,0.244,0.463,0.798,0.689,
+0.351,0.857,0.917,0.837,0.345,0.531,0.865,1.010,0.413,0.500,
+0.512,0.076,0.287,0.397,0.371,0.536,0.279,0.522,0.670,1.200,
+0.388,0.691,0.070,0.101,0.047,0.094,0.428,0.067,0.261,0.431,
+0.391,0.576,0.312,0.610,0.797,0.571,0.329,0.770,0.614,0.619,
+0.352,0.636,0.518,0.059,0.295,0.612,0.767,0.666,0.508,1.550,
+1.200,0.927,0.457,0.967,0.980,1.170,0.475,0.651,0.575,0.092,
+0.294,0.488,0.531,0.715,0.317,0.713,1.140,1.410,0.480,0.671,
+1.380,2.850,0.704,0.860,0.881,0.179,0.564,0.756,0.494,0.939,
+0.439,0.905,0.737,1.070,0.431,0.594,0.077,0.184,0.066,0.086,
+0.775,0.140,0.429,0.631,0.501,1.070,0.461,0.856,0.598,0.546,
+0.322,0.596,0.778,1.060,0.495,0.778,0.649,0.086,0.413,0.749,
+0.710,0.929,0.523,1.580,1.270,2.430,0.483,0.694,1.050,1.190,
+0.686,0.829,0.874,0.288,0.494,0.678,0.539,0.865,0.558,0.857,
+0.112,0.270,0.043,0.076,0.095,0.201,0.094,0.089,0.081,0.055,
+0.077,0.084,0.063,0.197,0.071,0.105,0.808,1.270,0.654,0.719,
+0.105,0.173,0.121,0.118,1.060,0.212,0.683,0.991,0.549,1.200,
+0.806,0.896,0.663,0.665,0.393,0.567,1.030,1.220,0.869,1.000,
+0.936,0.132,0.781,1.150,0.722,1.050,0.759,1.190,1.170,0.810,
+0.453,0.875,0.778,0.729,0.420,0.559,0.854,0.092,0.357,0.579,
+0.958,0.779,0.564,1.310,1.250,1.220,0.498,0.786,1.280,1.650,
+0.833,0.942,0.935,0.140,0.622,0.944,0.721,1.150,0.717,1.280,
+1.140,1.390,2.420,1.280,0.116,0.160,0.430,0.167,1.160,0.153,
+1.010,1.340,0.923,1.540,1.430,1.560,1.510,1.000,0.932,1.610,
+1.370,1.350,1.410,1.610,1.350,0.129,1.100,1.920,1.840,1.360,
+1.350,2.980,2.590,1.960,1.600,2.640,2.310,1.680,1.290,1.380,
+1.720,0.237,1.540,1.750,2.240,1.900,1.310,1.960,2.490,2.020,
+1.290,1.670,1.990,1.740,1.380,1.180,1.550,0.208,1.270,1.340,
+1.050,1.290,1.000,1.170,1.400,1.380,1.040,1.240,0.153,0.177,
+0.146,0.201,0.959,0.121,0.627,0.751,0.826,1.120,0.788,1.040,
+1.950,0.986,0.964,1.770,1.550,1.340,1.120,1.440,1.180,0.120,
+0.886,1.100,1.440,1.060,1.110,1.710,2.560,1.780,1.050,1.480,
+2.690,1.850,1.130,1.150,1.180,0.177,0.935,1.040,0.934,1.170,
+0.800,1.040,2.050,1.800,1.000,1.230,1.470,1.300,1.050,0.902,
+1.370,0.227,1.060,1.210,0.726,1.090,0.770,0.832,0.958,1.280,
+0.735,0.777,0.148,0.212,0.167,0.131,0.943,0.147,0.675,0.746,
+0.531,1.000,0.626,0.635,0.890,0.661,0.499,0.701,1.190,1.190,
+0.810,0.902,1.220,0.124,0.871,0.886,1.170,0.858,0.827,1.180,
+1.910,1.190,0.678,0.912,3.160,1.250,0.978,1.010,1.310,0.207,
+0.662,0.829,1.390,1.270,0.765,1.150,0.158,0.186,0.087,0.114,
+0.199,0.176,0.132,0.119,0.129,0.051,0.115,0.139,0.123,0.262,
+0.133,0.154,0.783,0.821,0.818,0.635,0.127,0.111,0.132,0.109,
+0.664,0.121,0.534,0.672,0.451,0.731,0.690,0.594,0.630,0.464,
+0.411,0.557,1.010,0.882,0.713,0.848,0.702,0.104,0.604,0.786,
+0.616,0.733,0.767,0.993,1.810,0.809,0.654,1.250,1.030,0.619,
+0.529,0.642,0.801,0.094,0.563,0.705,1.020,0.833,0.629,1.310,
+1.410,1.180,0.797,1.030,1.130,1.080,0.875,0.862,0.941,0.120,
+0.764,0.927,0.771,1.120,0.744,1.000,0.716,0.816,0.539,0.688,
+0.078,0.084,0.069,0.085,0.558,0.078,0.446,0.635,0.476,0.753,
+0.534,0.686,1.080,0.716,0.576,1.140,0.664,0.585,0.511,0.794,
+0.908,0.091,0.767,1.070,1.170,1.130,1.130,1.800,3.280,2.610,
+1.640,2.490,3.020,3.210,1.820,1.810,1.430,0.231,1.040,1.460,
+1.400,1.660,1.130,1.950,3.160,3.230,2.050,2.110,2.940,3.240,
+2.880,2.420,2.180,0.419,2.340,2.510,1.040,1.850,1.440,1.700,
+1.250,1.970,1.300,1.250,0.202,0.341,0.269,0.235,0.775,0.119,
+0.831,0.823,0.485,1.020,0.726,0.879,1.220,0.842,0.721,1.050,
+1.430,1.780,1.180,1.260,1.370,0.148,0.796,0.944,0.860,0.839,
+0.963,1.530,3.030,3.450,1.390,1.710,5.370,4.890,2.150,1.730,
+1.640,0.350,1.160,1.370,0.979,1.600,0.988,1.340,2.520,3.400,
+1.700,1.530,2.560,2.120,2.380,1.790,2.290,0.599,2.210,2.330,
+0.810,1.940,1.330,1.290,1.540,3.870,1.640,1.350,0.373,1.030,
+0.521,0.325,1.430,0.393,1.270,1.320,0.625,2.180,1.120,1.110,
+0.943,1.140,0.654,0.772,1.780,3.080,1.680,1.410,1.100,0.203,
+1.010,1.150,0.683,0.960,0.831,1.210,1.560,1.560,0.908,1.070,
+2.420,2.990,2.410,1.560,1.470,0.330,1.140,1.180,0.851,1.420,
+1.210,1.480,0.170,0.403,0.189,0.187,0.290,0.650,0.608,0.264,
+0.257,0.187,0.379,0.311,0.119,0.440,0.278,0.229,1.240,2.220,
+1.630,1.410,0.272,0.522,0.479,0.285,1.450,0.383,1.710,1.660,
+0.644,2.030,1.710,1.290,0.739,0.691,0.629,0.773,1.560,2.360,
+1.920,1.680,1.330,0.228,1.610,1.650,0.671,1.080,1.410,1.440,
+1.140,0.848,0.594,0.965,0.956,0.892,0.668,0.701,0.639,0.081,
+0.465,0.602,0.623,0.706,0.549,0.977,1.500,1.940,1.140,1.210,
+1.550,2.370,1.700,1.510,1.180,0.232,1.220,1.320,0.726,1.680,
+0.996,1.290,0.759,1.200,0.854,0.881,0.107,0.208,0.124,0.123,
+0.637,0.103,0.695,0.847,0.548,1.090,0.812,0.892,0.808,0.683,
+0.606,0.794,0.752,1.010,0.691,0.892,0.806,0.104,0.886,1.230,
+0.909,1.160,1.420,1.670,1.700,1.440,0.872,1.110,1.280,1.090,
+0.887,0.761,0.712,0.115,0.515,0.615,0.744,0.937,1.180,0.942,
+2.280,2.900,1.170,1.170,1.630,1.950,1.520,1.130,1.520,0.313,
+1.420,1.410,0.799,1.890,0.946,1.010,1.100,2.150,1.940,1.210,
+0.185,0.345,0.544,0.338,0.686,0.130,0.651,0.702,0.442,1.090,
+0.727,0.741,1.060,1.200,0.859,1.040,1.050,1.410,1.720,1.390,
+0.852,0.119,0.687,0.971,0.796,0.817,0.926,1.490,0.162,0.189,
+0.138,0.111,0.449,0.315,0.333,0.124,0.106,0.033,0.129,0.101,
+0.104,0.209,0.551,0.167,0.207,0.358,0.148,0.130,0.261,0.438,
+0.308,0.166,0.211,0.110,0.255,0.207,0.106,0.462,0.163,0.130,
+0.123,0.323,0.478,0.173,0.045,0.115,0.234,0.066,0.147,0.060,
+0.173,0.143,0.070,0.244,0.164,0.113,0.138,0.166,0.165,0.139,
+0.285,0.490,0.682,0.363,0.157,0.042,0.179,0.240,0.114,0.171,
+0.183,0.216,1.070,1.130,0.635,0.575,1.090,1.560,1.240,0.727,
+0.973,0.294,0.918,0.902,0.543,1.260,1.110,0.982,0.137,0.312,
+0.130,0.103,0.149,0.331,0.270,0.120,0.198,0.135,0.260,0.174,
+0.095,0.401,0.198,0.148,0.728,1.450,1.270,0.698,0.157,0.311,
+0.504,0.185,0.844,0.213,0.742,0.716,0.353,1.080,0.777,0.616,
+0.521,0.561,0.568,0.498,0.894,1.490,1.630,1.420,0.805,0.194,
+1.020,0.958,0.444,0.917,0.920,0.925,0.875,0.651,0.406,0.672,
+0.646,0.628,0.375,0.377,0.625,0.088,0.350,0.472,0.517,0.708,
+0.495,0.946,1.390,1.660,0.881,0.871,1.310,2.010,1.200,0.912,
+1.270,0.267,1.230,1.270,0.791,2.060,0.940,1.370,0.947,1.240,
+0.868,0.687,0.119,0.222,0.180,0.115,0.807,0.123,0.623,0.705,
+0.450,1.060,0.650,0.746,0.864,0.729,0.660,0.604,0.783,0.992,
+0.733,0.742,0.866,0.121,0.863,1.050,0.816,1.240,0.967,1.210,
+1.890,1.080,0.793,1.240,0.911,0.718,0.904,0.572,0.656,0.078,
+0.369,0.565,0.890,0.739,0.618,1.140,1.170,0.928,0.488,0.661,
+0.755,0.583,0.523,0.489,0.675,0.089,0.493,0.645,0.557,0.717,
+0.420,0.639,0.880,0.822,0.644,0.781,0.088,0.099,0.123,0.121,
+0.416,0.048,0.290,0.444,0.387,0.518,0.360,0.600,1.110,0.765,
+0.712,1.210,0.824,0.757,0.766,0.921,0.706,0.065,0.472,0.731,
+0.896,0.696,0.803,1.730,1.540,1.230,1.190,1.040,1.750,1.370,
+4.000,1.090,0.826,0.124,0.687,0.790,0.675,1.010,1.330,1.140,
+1.360,1.540,0.689,0.876,1.250,1.470,1.180,0.799,1.120,0.248,
+0.963,1.140,0.730,2.130,0.659,0.854,0.914,1.210,1.570,0.977,
+0.124,0.185,0.560,0.194,0.743,0.118,0.610,0.715,0.504,0.989,
+0.700,0.810,0.873,0.715,0.688,0.776,1.190,1.290,1.790,1.270,
+0.935,0.105,0.658,0.962,0.721,0.837,0.822,1.320,1.120,0.826,
+0.543,0.659,1.210,1.140,0.972,0.862,1.220,0.227,0.814,0.917,
+0.731,0.969,0.885,1.170,0.113,0.139,0.074,0.106,0.116,0.184,
+0.143,0.106,0.138,0.050,0.178,0.155,0.101,0.239,0.137,0.152,
+0.947,1.140,0.835,0.800,0.120,0.160,0.180,0.149,0.967,0.179,
+0.721,0.948,0.557,1.140,0.840,0.993,0.738,0.715,0.576,0.733,
+1.160,1.320,1.250,1.300,1.210,0.156,0.997,1.320,0.757,0.945,
+1.070,1.430,1.450,0.875,0.578,1.030,0.954,0.713,0.582,0.604,
+1.080,0.102,0.464,0.690,0.934,0.844,0.715,1.530,1.090,0.960,
+0.578,0.782,0.896,0.900,0.691,0.722,0.932,0.113,0.798,1.070,
+0.771,1.210,0.702,1.220,1.220,1.210,0.827,1.070,0.161,0.139,
+0.113,0.141,1.090,0.111,0.705,1.110,0.937,1.240,0.941,1.310,
+1.690,1.190,0.896,1.700,1.590,1.530,1.130,1.430,1.690,0.139,
+1.320,2.000,2.070,1.810,1.820,2.630,0.146,0.145,0.130,0.125,
+0.243,0.209,0.145,0.124,0.122,0.036,0.428,0.172,0.101,0.127,
+0.137,0.104,0.159,0.202,0.120,0.111,0.211,0.262,0.235,0.167,
+0.135,0.058,0.163,0.145,0.073,0.138,0.112,0.102,0.080,0.115,
+0.091,0.082,0.022,0.036,0.039,0.025,0.059,0.020,0.076,0.066,
+0.041,0.084,0.075,0.070,0.085,0.059,0.053,0.085,0.123,0.140,
+0.109,0.106,0.136,0.024,0.091,0.085,0.077,0.080,0.093,0.135,
+0.238,0.285,0.145,0.147,0.389,0.440,0.290,0.181,0.165,0.063,
+0.234,0.233,0.082,0.178,0.212,0.131,0.290,0.505,0.237,0.199,
+0.352,0.542,0.413,0.266,0.347,0.210,0.361,0.392,0.107,0.326,
+0.176,0.174,0.110,0.312,0.173,0.113,0.066,0.176,0.154,0.048,
+0.175,0.103,0.191,0.148,0.055,0.232,0.151,0.102,0.077,0.097,
+0.069,0.068,0.192,0.306,0.191,0.164,0.125,0.040,0.164,0.139,
+0.083,0.105,0.116,0.130,0.247,0.193,0.071,0.073,1.390,0.309,
+0.246,0.223,0.236,0.048,0.116,0.104,0.096,0.124,0.102,0.110,
+0.030,0.069,0.040,0.022,0.097,0.107,0.116,0.049,0.042,0.057,
+0.061,0.052,0.015,0.065,0.039,0.024,0.079,0.135,0.123,0.078,
+0.047,0.059,0.072,0.034,0.107,0.060,0.161,0.119,0.042,0.136,
+0.133,0.095,0.049,0.044,0.049,0.054,0.149,0.158,0.151,0.134,
+0.096,0.036,0.129,0.111,0.056,0.105,0.115,0.108,0.126,0.085,
+0.056,0.096,0.204,0.084,0.057,0.073,0.081,0.015,0.062,0.063,
+0.066,0.070,0.061,0.106,0.158,0.202,0.137,0.140,0.227,0.263,
+0.206,0.191,0.127,0.047,0.161,0.180,0.068,0.165,0.123,0.142,
+0.071,0.109,0.092,0.112,0.021,0.036,0.026,0.020,0.088,0.033,
+0.084,0.106,0.040,0.112,0.097,0.089,0.082,0.077,0.066,0.108,
+0.072,0.092,0.078,0.097,0.087,0.021,0.161,0.154,0.086,0.124,
+0.156,0.181,0.177,0.216,0.129,0.135,0.284,0.470,0.239,0.199,
+0.129,0.044,0.120,0.122,0.075,0.130,0.102,0.103,0.253,0.374,
+0.238,0.177,0.445,0.652,0.669,0.573,0.241,0.185,0.372,0.439,
+0.075,0.212,0.242,0.189,0.089,0.226,0.158,0.092,0.047,0.139,
+0.121,0.047,0.091,0.045,0.138,0.083,0.039,0.120,0.104,0.077,
+0.077,0.067,0.050,0.061,0.151,0.272,0.170,0.121,0.616,0.058,
+0.123,0.112,0.080,0.077,0.090,0.100,0.297,0.547,0.237,0.183,
+0.651,1.330,0.584,0.295,0.254,0.144,0.268,0.220,0.090,0.244,
+0.180,0.137,0.483,1.050,0.488,0.257,0.713,1.220,1.060,0.654,
+0.583,0.776,0.955,0.720,0.139,0.650,0.360,0.303,0.207,1.080,
+0.438,0.202,0.176,1.000,0.534,0.144,0.242,0.250,0.353,0.253,
+0.076,0.462,0.278,0.162,0.106,0.232,0.105,0.082,0.316,1.110,
+0.433,0.249,0.178,0.077,0.235,0.232,0.067,0.149,0.138,0.150,
+0.161,0.201,0.109,0.091,0.436,0.682,0.611,0.247,0.236,0.099,
+0.216,0.183,0.069,0.189,0.161,0.149,0.072,0.207,0.131,0.058,
+0.231,0.760,1.330,0.197,0.151,0.350,0.294,0.209,0.025,0.163,
+0.120,0.060,0.170,0.468,0.345,0.201,0.161,0.437,0.439,0.125,
+0.258,0.227,0.449,0.277,0.065,0.356,0.372,0.181,0.069,0.079,
+0.094,0.067,0.270,0.576,0.567,0.292,0.297,0.104,0.387,0.259,
+0.081,0.152,0.239,0.175,0.092,0.090,0.068,0.103,0.110,0.144,
+0.097,0.078,0.078,0.019,0.070,0.064,0.048,0.069,0.057,0.077,
+0.169,0.317,0.181,0.165,0.316,0.661,0.499,0.309,0.232,0.135,
+0.268,0.261,0.074,0.257,0.170,0.159,0.075,0.202,0.138,0.099,
+0.028,0.086,0.063,0.030,0.095,0.041,0.161,0.128,0.039,0.131,
+0.138,0.095,0.063,0.069,0.085,0.062,0.081,0.167,0.139,0.109,
+0.103,0.027,0.151,0.132,0.066,0.116,0.190,0.180,0.094,0.113,
+0.095,0.073,0.102,0.136,0.168,0.084,0.059,0.021,0.082,0.057,
+0.056,0.098,0.367,0.082,0.171,0.351,0.152,0.123,0.280,0.443,
+0.388,0.227,0.211,0.164,0.303,0.241,0.076,0.352,0.184,0.098,
+0.094,0.242,0.402,0.126,0.043,0.124,0.253,0.072,0.113,0.059,
+0.149,0.118,0.042,0.166,0.118,0.072,0.054,0.067,0.096,0.069,
+0.107,0.159,0.475,0.153,0.093,0.024,0.112,0.104,0.050,0.075,
+0.101,0.103,0.022,0.056,0.049,0.019,0.062,0.146,0.204,0.050,
+0.028,0.033,0.078,0.030,0.025,0.069,0.392,0.049,0.060,0.241,
+0.091,0.042,0.189,0.535,0.412,0.127,0.099,0.320,0.268,0.151,
+0.033,0.242,0.095,0.043,0.035,0.185,0.209,0.050,0.062,0.301,
+0.327,0.069,0.064,0.136,0.182,0.089,0.021,0.143,0.143,0.040,
+0.014,0.027,0.040,0.014,0.056,0.136,0.249,0.088,0.032,0.033,
+0.086,0.054,0.015,0.035,0.050,0.034,0.096,0.178,0.100,0.068,
+0.174,0.359,0.332,0.137,0.146,0.097,0.241,0.242,0.062,0.204,
+0.313,0.154,0.039,0.178,0.070,0.028,0.104,0.359,0.309,0.085,
+0.108,0.233,0.281,0.135,0.026,0.132,0.099,0.041,0.124,0.417,
+0.533,0.163,0.100,0.308,0.590,0.111,0.218,0.219,0.399,0.277,
+0.059,0.302,0.300,0.138,0.056,0.082,0.114,0.128,0.176,0.419,
+0.655,0.677,0.156,0.100,0.348,0.249,0.058,0.147,0.214,0.154,
+0.079,0.093,0.056,0.064,0.080,0.103,0.060,0.052,0.071,0.026,
+0.074,0.072,0.049,0.080,0.127,0.089,0.158,0.340,0.170,0.132,
+0.289,0.618,0.418,0.243,0.265,0.210,0.373,0.342,0.094,0.352,
+0.232,0.165,0.108,0.290,0.220,0.125,0.040,0.140,0.141,0.051,
+0.174,0.098,0.255,0.239,0.061,0.236,0.180,0.128,0.066,0.075,
+0.073,0.068,0.090,0.167,0.168,0.141,0.102,0.041,0.200,0.163,
+0.078,0.151,0.151,0.131,0.102,0.083,0.080,0.079,0.097,0.090,
+0.309,0.089,0.063,0.013,0.047,0.059,0.055,0.064,0.094,0.083,
+0.094,0.104,0.058,0.062,0.125,0.114,0.099,0.078,0.066,0.024,
+0.081,0.082,0.052,0.104,0.054,0.061,0.056,0.086,0.101,0.072,
+0.011,0.017,0.034,0.020,0.044,0.011,0.044,0.054,0.026,0.057,
+0.044,0.054,0.065,0.053,0.061,0.085,0.070,0.079,0.110,0.106,
+0.077,0.011,0.052,0.077,0.072,0.058,0.071,0.148,0.168,0.209,
+0.500,0.146,0.339,0.385,3.020,0.383,0.123,0.046,0.227,0.149,
+0.094,0.226,0.566,0.173,0.222,0.410,0.193,0.162,0.364,0.592,
+0.501,0.252,0.264,0.155,0.370,0.324,0.150,0.873,0.221,0.166,
+0.119,0.303,0.494,0.174,0.043,0.128,0.278,0.083,0.128,0.052,
+0.180,0.157,0.059,0.231,0.176,0.120,0.091,0.107,0.160,0.094,
+0.207,0.327,0.601,0.323,0.132,0.035,0.177,0.181,0.083,0.146,
+0.155,0.180,0.095,0.103,0.066,0.059,0.165,0.217,0.256,0.129,
+0.123,0.045,0.142,0.145,0.057,0.120,0.132,0.117,0.022,0.041,
+0.021,0.018,0.048,0.121,0.084,0.042,0.033,0.044,0.067,0.052,
+0.016,0.058,0.041,0.024,0.086,0.227,0.206,0.111,0.044,0.102,
+0.139,0.050,0.175,0.097,0.231,0.188,0.065,0.251,0.217,0.145,
+0.061,0.075,0.079,0.074,0.157,0.240,0.283,0.239,0.158,0.053,
+0.237,0.203,0.073,0.139,0.176,0.164,0.098,0.088,0.059,0.078,
+0.092,0.093,0.122,0.070,0.080,0.014,0.062,0.069,0.059,0.071,
+0.079,0.110,0.104,0.132,0.073,0.080,0.133,0.197,0.149,0.119,
+0.101,0.034,0.124,0.140,0.063,0.140,0.091,0.112,0.119,0.152,
+0.118,0.102,0.038,0.037,0.040,0.028,0.123,0.035,0.134,0.156,
+0.074,0.163,0.136,0.138,0.099,0.089,0.074,0.117,0.158,0.174,
+0.148,0.161,0.158,0.030,0.181,0.210,0.139,0.178,0.198,0.203,
+1.740,1.280,1.010,1.500,1.380,1.270,1.250,1.150,0.935,0.139,
+0.708,0.899,1.130,1.150,0.797,1.150,1.740,1.630,1.050,1.250,
+1.770,1.540,2.600,1.990,1.160,0.246,1.020,1.100,0.708,1.210,
+0.843,0.999,0.923,1.140,0.747,1.420,0.134,0.161,0.157,0.246,
+0.651,0.098,0.577,0.673,0.467,0.837,0.630,0.755,1.010,0.563,
+0.411,1.160,0.955,0.917,0.615,0.858,0.644,0.081,0.453,0.606,
+0.725,0.490,0.618,1.320,1.900,1.780,1.060,1.230,1.960,2.040,
+1.610,1.330,1.090,0.269,0.836,1.070,0.828,1.280,0.768,1.060,
+2.190,3.250,1.320,1.510,2.130,1.790,2.170,1.590,2.740,0.958,
+2.180,3.260,0.957,2.320,1.000,1.110,1.030,2.010,1.120,1.240,
+0.232,0.398,0.348,0.314,1.330,0.370,1.440,1.770,0.545,1.550,
+1.160,0.995,0.680,0.689,0.388,0.709,1.270,1.570,1.050,1.250,
+0.825,0.148,0.764,1.070,0.672,0.744,0.731,1.210,1.310,1.090,
+0.552,0.723,2.140,1.950,1.660,1.460,1.730,0.340,1.030,1.170,
+0.950,1.480,0.975,1.260,0.192,0.302,0.136,0.171,0.341,0.444,
+0.389,0.306,0.297,0.135,0.350,0.363,0.187,0.643,0.254,0.273,
+0.903,1.350,1.200,1.180,0.196,0.247,0.357,0.307,1.140,0.248,
+1.040,1.060,0.522,1.410,1.110,0.992,0.548,0.507,0.415,0.555,
+1.170,1.360,1.500,1.380,0.864,0.167,0.891,1.010,0.612,0.860,
+0.904,1.130,1.120,0.600,0.376,0.744,0.662,0.591,0.480,0.572,
+0.580,0.093,0.425,0.589,0.656,0.795,0.467,0.901,1.140,1.270,
+0.670,0.888,1.250,1.410,1.120,1.040,0.984,0.194,0.931,1.190,
+0.676,1.620,0.770,1.040,0.685,1.010,0.711,0.756,0.132,0.163,
+0.146,0.175,0.735,0.136,0.729,0.941,0.542,1.290,0.877,1.360,
+0.739,0.569,0.449,1.130,0.654,0.715,0.697,0.928,0.829,0.114,
+0.757,1.250,1.020,1.390,1.180,1.850,0.154,0.159,0.106,0.130,
+0.178,0.231,0.283,0.204,0.097,0.033,0.075,0.094,0.090,0.127,
+0.086,0.122,0.288,0.355,0.329,0.293,0.531,0.599,1.630,0.917,
+0.284,0.191,0.328,0.293,0.108,0.323,0.222,0.186,0.098,0.201,
+0.133,0.125,0.035,0.077,0.085,0.059,0.112,0.051,0.164,0.137,
+0.071,0.196,0.136,0.145,0.079,0.060,0.051,0.080,0.118,0.169,
+0.139,0.127,0.095,0.022,0.077,0.098,0.066,0.081,0.106,0.157,
+0.172,0.280,0.119,0.119,0.294,0.440,0.365,0.212,0.188,0.120,
+0.146,0.136,0.078,0.214,0.106,0.105,0.357,0.700,0.306,0.219,
+0.534,0.703,0.818,0.403,0.887,0.790,0.692,0.589,0.191,0.755,
+0.242,0.184,0.142,0.462,0.224,0.147,0.097,0.356,0.257,0.101,
+0.323,0.286,0.416,0.334,0.095,0.417,0.294,0.184,0.074,0.101,
+0.058,0.070,0.181,0.353,0.229,0.172,0.133,0.062,0.168,0.222,
+0.064,0.121,0.122,0.134,0.124,0.146,0.072,0.074,0.279,0.451,
+0.409,0.231,0.224,0.094,0.207,0.157,0.094,0.201,0.146,0.132,
+0.042,0.125,0.070,0.045,0.148,0.386,0.382,0.126,0.127,0.219,
+0.251,0.173,0.029,0.142,0.105,0.059,0.143,0.339,0.259,0.226,
+0.106,0.251,0.390,0.107,0.321,0.234,0.461,0.320,0.090,0.420,
+0.367,0.235,0.071,0.082,0.072,0.073,0.212,0.380,0.392,0.251,
+0.174,0.090,0.285,0.227,0.074,0.150,0.194,0.171,0.102,0.093,
+0.062,0.086,0.094,0.111,0.088,0.080,0.072,0.017,0.065,0.068,
+0.066,0.087,0.071,0.110,0.201,0.295,0.167,0.161,0.319,0.513,
+0.394,0.290,0.249,0.120,0.253,0.274,0.115,0.373,0.207,0.195,
+0.080,0.182,0.132,0.116,0.028,0.074,0.061,0.037,0.141,0.056,
+0.189,0.191,0.072,0.228,0.175,0.178,0.069,0.076,0.058,0.090,
+0.082,0.135,0.105,0.106,0.098,0.025,0.129,0.159,0.090,0.152,
+0.165,0.196,0.906,1.080,0.631,0.889,1.160,1.280,0.871,0.827,
+0.641,0.108,0.511,0.545,0.469,0.515,0.433,0.531,1.690,2.420,
+0.932,1.060,2.350,2.460,2.190,1.440,1.730,0.439,1.920,1.660,
+0.557,1.440,0.771,0.844,0.778,1.580,0.869,0.836,0.194,0.361,
+0.289,0.280,0.787,0.200,1.160,1.050,0.351,1.160,0.738,0.734,
+0.555,0.493,0.309,0.508,0.818,1.080,0.759,0.803,0.655,0.115,
+0.773,0.879,0.461,0.546,0.645,1.060,0.116,0.168,0.081,0.091,
+0.254,0.432,0.269,0.179,0.102,0.060,0.133,0.107,0.052,0.118,
+0.107,0.083,0.206,0.405,0.163,0.130,0.463,0.668,0.573,0.291,
+0.323,0.291,0.669,0.411,0.074,0.290,0.139,0.116,0.110,0.339,
+0.184,0.114,0.083,0.256,0.226,0.078,0.195,0.152,0.375,0.242,
+0.058,0.256,0.183,0.125,0.074,0.084,0.051,0.062,0.178,0.340,
+0.221,0.210,0.111,0.051,0.172,0.161,0.068,0.104,0.109,0.138,
+1.300,1.130,0.627,0.487,1.560,2.230,1.720,1.140,1.190,0.365,
+1.690,1.090,0.480,1.030,1.040,0.805,0.183,0.411,0.178,0.123,
+0.303,0.732,0.557,0.217,0.338,0.295,0.811,0.322,0.096,0.385,
+0.243,0.159,0.997,1.580,1.130,0.715,0.243,0.387,0.416,0.204,
+0.798,0.236,0.314,0.460,0.328,0.890,0.888,0.680,0.526,0.465,
+0.440,0.354,1.050,1.560,1.430,1.000,0.965,0.271,1.550,1.210,
+0.420,0.798,1.090,1.010,0.740,0.555,0.374,0.492,0.620,0.669,
+0.393,0.377,0.475,0.088,0.535,0.455,0.327,0.437,0.407,0.507,
+1.270,1.880,0.886,0.749,1.740,2.740,1.680,1.160,1.490,0.412,
+2.060,1.650,0.593,1.700,1.130,0.905,0.781,1.340,1.010,0.761,
+0.148,0.354,0.231,0.172,0.942,0.212,1.190,1.070,0.435,1.240,
+0.944,0.913,0.541,0.490,0.386,0.478,0.718,1.030,0.678,0.685,
+0.867,0.141,1.190,1.090,0.725,0.952,0.941,0.978,1.110,0.759,
+0.451,0.792,0.696,0.590,0.443,0.482,0.597,0.083,0.294,0.423,
+0.634,0.541,0.361,0.743,1.090,0.923,0.438,0.535,0.963,0.759,
+0.697,0.572,0.611,0.097,0.444,0.520,0.367,0.570,0.320,0.481,
+0.584,0.740,0.391,0.526,0.084,0.104,0.082,0.120,0.445,0.068,
+0.374,0.509,0.324,0.538,0.351,0.631,0.666,0.451,0.285,0.589,
+0.556,0.582,0.403,0.590,0.480,0.067,0.326,0.511,0.511,0.502,
+0.445,1.150,1.480,1.530,0.766,1.030,1.800,1.790,1.590,1.090,
+0.952,0.171,0.797,0.848,0.573,0.876,0.561,0.817,1.870,2.410,
+1.040,1.100,2.310,2.660,2.160,1.600,1.880,0.500,2.070,2.010,
+0.691,1.780,0.805,0.944,0.882,1.880,0.848,0.851,0.184,0.424,
+0.298,0.253,1.120,0.281,1.270,1.520,0.506,1.480,0.952,1.050,
+0.931,0.820,0.413,0.596,1.260,1.760,1.220,1.330,1.070,0.354,
+0.932,1.180,0.691,1.160,0.711,1.320,1.700,2.370,0.667,0.829,
+1.810,2.340,1.730,1.860,1.370,0.277,1.200,1.280,0.795,1.130,
+0.987,1.180,0.262,0.283,0.135,0.133,0.270,0.550,0.478,0.302,
+0.229,0.118,0.328,0.319,0.108,0.330,0.195,0.180,1.190,2.100,
+1.090,1.100,0.258,0.361,0.337,0.285,3.150,0.536,1.560,1.770,
+0.824,1.980,1.480,1.350,0.794,0.773,0.639,0.622,1.460,1.870,
+1.770,1.570,1.340,0.237,1.550,1.810,0.660,1.060,1.230,1.440,
+1.050,0.747,0.406,0.628,0.690,0.689,0.508,0.513,0.556,0.090,
+0.450,0.531,0.576,0.536,0.459,0.824,1.340,1.180,0.642,0.711,
+1.280,1.660,1.250,1.010,0.870,0.152,0.997,1.280,0.610,1.040,
+0.774,0.931,0.905,1.300,0.795,0.924,0.156,0.217,0.155,0.168,
+1.230,0.203,1.280,1.440,0.654,1.270,1.210,1.270,0.949,0.667,
+0.549,0.892,1.080,1.360,1.110,1.180,1.030,0.134,1.300,1.530,
+1.030,1.200,1.310,1.500,1.450,0.996,0.787,1.650,1.020,0.796,
+0.703,0.908,0.756,0.092,0.402,0.704,1.080,1.010,0.569,1.140,
+1.180,0.852,0.605,0.761,0.919,0.729,0.952,0.803,0.655,0.094,
+0.519,0.571,0.568,0.747,0.500,0.732,0.619,0.680,0.510,0.727,
+0.081,0.096,0.085,0.132,0.415,0.048,0.272,0.374,0.401,0.563,
+0.436,0.780,0.866,0.461,0.468,1.040,0.760,0.658,0.511,0.874,
+0.500,0.051,0.312,0.605,0.872,0.624,0.665,3.720,1.300,0.928,
+0.633,0.964,1.040,0.878,0.597,0.950,0.525,0.077,0.369,0.534,
+0.499,0.560,0.375,0.652,1.030,0.910,0.603,0.638,0.785,0.691,
+0.533,0.539,0.703,0.151,0.466,0.741,0.415,0.591,0.365,0.461,
+0.483,0.578,0.341,0.469,0.066,0.103,0.056,0.074,0.651,0.071,
+0.309,0.501,0.338,0.482,0.344,0.447,0.415,0.323,0.223,0.399,
+0.524,0.680,0.338,0.509,0.433,0.051,0.323,0.826,0.405,0.368,
+0.380,0.881,1.170,0.663,0.418,0.661,1.240,1.010,0.727,1.170,
+0.794,0.131,0.412,0.624,0.710,0.716,0.490,0.878,0.102,0.100,
+0.062,0.087,0.119,0.137,0.103,0.115,0.094,0.033,0.072,0.094,
+0.098,0.183,0.070,0.119,0.500,0.641,0.504,0.640,0.073,0.084,
+0.087,0.107,0.478,0.083,0.347,0.446,0.343,0.644,0.471,0.553,
+0.498,0.409,0.344,0.711,0.720,0.654,0.647,0.881,0.624,0.133,
+0.463,0.668,0.519,0.624,0.600,1.080,1.270,0.515,0.408,0.892,
+0.613,0.470,0.386,0.629,0.587,0.064,0.473,0.524,0.780,0.569,
+0.432,0.939,0.925,0.686,0.481,0.665,0.726,0.705,0.532,0.593,
+0.608,0.075,0.484,0.634,0.571,0.841,0.494,0.796,0.493,0.563,
+0.399,0.591,0.053,0.060,0.047,0.086,0.406,0.042,0.317,0.424,
+0.388,0.562,0.431,0.635,0.837,0.562,0.567,1.270,0.616,0.531,
+0.502,1.060,0.754,0.070,0.502,0.844,1.080,1.010,1.020,2.070,
+2.100,1.550,1.040,1.730,1.690,1.700,1.760,1.860,0.998,0.170,
+0.665,1.090,1.290,1.300,0.806,1.390,2.510,2.070,1.800,1.840,
+2.580,2.350,5.380,3.430,1.650,0.384,1.590,1.740,0.943,1.690,
+1.230,1.270,0.906,1.270,0.848,0.993,0.142,0.254,0.257,0.249,
+0.765,0.160,0.798,0.968,0.504,1.150,0.904,1.090,0.851,0.564,
+0.483,0.751,1.030,1.270,0.904,1.100,0.676,0.097,0.520,1.140,
+0.650,0.706,0.872,1.630,2.170,2.120,1.090,1.680,2.680,3.010,
+2.080,3.720,1.270,0.328,0.868,1.220,0.898,1.470,0.775,1.230,
+2.880,3.070,1.530,1.660,3.080,2.770,2.540,2.060,2.790,1.000,
+1.920,2.440,1.090,2.580,1.180,1.260,1.090,2.100,1.080,1.170,
+0.238,0.565,0.312,0.292,1.410,0.408,1.220,1.730,0.702,2.180,
+1.290,1.430,0.734,0.716,0.539,0.728,1.250,1.960,1.090,1.370,
+0.997,0.223,0.966,3.760,0.647,0.914,1.010,1.620,1.430,1.150,
+0.662,1.080,2.280,2.550,2.120,3.080,1.540,0.337,1.020,1.120,
+1.040,1.310,0.945,1.420,0.160,0.294,0.143,0.159,0.341,0.667,
+0.555,0.393,0.250,0.214,0.289,0.316,0.137,0.443,0.230,0.219,
+1.030,1.830,1.210,1.530,0.231,0.483,0.373,0.364,1.510,0.447,
+1.430,1.610,0.687,2.140,1.610,1.570,0.740,0.639,0.607,1.030,
+1.610,2.300,2.040,2.210,1.200,0.247,1.400,1.830,0.746,1.140,
+1.510,2.060,1.080,0.749,0.530,0.937,0.817,0.814,0.673,0.978,
+0.904,0.105,0.707,0.731,0.687,0.689,0.619,1.050,1.630,1.730,
+1.060,1.260,1.710,2.400,1.820,1.630,1.480,0.338,1.370,1.680,
+0.940,2.210,1.440,1.570,0.717,1.320,0.962,1.030,0.101,0.210,
+0.138,0.161,0.824,0.157,0.960,1.170,0.553,1.300,1.170,1.310,
+0.790,0.662,0.576,0.883,0.853,1.130,0.783,1.120,0.853,0.119,
+0.891,1.390,0.935,1.220,1.440,2.000,1.390,1.190,0.923,1.180,
+1.180,1.290,2.680,2.030,0.750,0.120,0.491,0.675,0.677,0.731,
+0.564,0.710,1.920,2.620,0.868,1.040,1.700,2.010,1.590,1.340,
+1.390,0.312,1.480,1.440,0.712,1.500,0.848,0.940,0.863,1.750,
+1.240,0.993,0.162,0.394,0.520,0.289,0.952,0.408,0.803,0.984,
+0.777,3.860,1.000,1.030,0.675,0.620,0.432,0.626,0.853,1.230,
+1.240,0.937,0.728,0.126,0.656,0.967,0.699,0.960,0.863,1.410,
+0.098,0.117,0.103,0.096,0.148,0.213,0.195,0.168,0.067,0.025,
+0.075,0.076,0.057,0.101,0.110,0.083,0.151,0.312,0.107,0.099,
+0.257,0.442,0.324,0.191,0.201,0.159,0.302,0.249,0.073,0.251,
+0.122,0.106,0.067,0.213,0.128,0.081,0.030,0.119,0.111,0.040,
+0.133,0.082,0.174,0.169,0.071,0.370,0.197,0.157,0.062,0.079,
+0.049,0.061,0.120,0.243,0.174,0.147,0.082,0.028,0.120,0.187,
+0.077,0.106,0.113,0.149,1.170,1.120,0.650,0.597,1.540,2.090,
+1.580,1.090,1.020,0.293,1.310,0.976,0.568,1.130,1.080,0.937,
+0.149,0.311,0.129,0.106,0.242,0.513,0.358,0.163,0.207,0.188,
+0.343,0.213,0.102,0.396,0.240,0.158,1.090,1.880,1.180,0.900,
+0.242,0.482,0.402,0.217,1.410,0.398,0.760,1.070,0.575,1.750,
+1.230,0.979,0.670,0.635,0.511,0.508,1.280,1.960,1.520,1.210,
+1.200,0.264,1.490,1.360,0.605,1.020,1.280,1.220,0.885,0.709,
+0.452,0.612,0.761,0.817,0.492,0.510,0.584,0.097,0.695,0.617,
+0.462,0.566,0.553,0.762,1.580,2.010,0.960,0.993,1.700,2.370,
+1.400,1.050,1.650,0.366,2.180,1.850,0.832,2.090,1.560,1.430,
+0.923,1.550,0.883,0.875,0.128,0.300,0.182,0.149,1.110,0.209,
+1.050,1.260,0.645,1.600,1.120,1.130,0.827,0.637,0.539,0.657,
+0.837,1.160,0.792,0.862,1.050,0.145,1.240,1.350,0.923,1.160,
+1.270,1.590,2.040,0.991,0.658,1.170,0.810,0.683,0.705,0.767,
+0.740,0.078,0.348,0.584,0.960,0.716,0.442,1.000,1.240,1.040,
+0.455,0.615,0.963,0.798,0.611,0.621,0.727,0.098,0.496,0.698,
+0.517,0.648,0.385,0.619,0.745,0.978,0.470,0.737,0.083,0.114,
+0.087,0.132,0.488,0.087,0.341,0.550,0.486,0.967,0.446,0.729,
+0.891,0.628,0.408,0.838,0.707,0.703,0.528,0.785,0.629,0.066,
+0.423,0.814,0.841,0.707,0.736,1.940,1.280,1.010,0.722,0.931,
+1.030,1.080,1.180,0.878,0.572,0.091,0.451,0.700,0.579,0.681,
+0.472,0.772,1.290,1.480,0.645,0.797,1.290,1.560,0.955,0.896,
+1.090,0.232,0.960,1.240,0.581,1.150,0.574,0.824,0.737,1.140,
+0.639,0.734,0.085,0.168,0.117,0.115,0.721,0.141,0.640,0.872,
+0.494,1.200,0.758,1.070,0.670,0.712,0.384,0.594,0.813,1.030,
+0.705,0.893,0.713,0.102,0.635,1.140,0.755,0.730,0.724,1.420,
+1.520,1.320,0.829,0.868,1.800,1.690,1.200,1.420,1.180,0.229,
+1.010,1.190,0.934,1.190,0.971,1.460,0.137,0.181,0.085,0.108,
+0.183,0.273,0.181,0.157,0.124,0.055,0.151,0.168,0.104,0.235,
+0.124,0.172,1.220,1.920,1.000,1.220,0.167,0.269,0.194,0.213,
+1.860,0.343,1.260,1.840,0.981,2.270,1.540,1.740,0.980,0.934,
+0.648,0.877,1.460,1.780,1.380,1.670,1.530,0.217,1.450,2.000,
+0.994,1.240,1.320,2.120,1.870,0.926,0.597,1.110,1.020,0.842,
+0.571,0.771,0.889,0.105,0.607,0.847,1.120,0.897,0.758,1.710,
+1.810,1.410,0.815,1.110,1.730,1.780,1.090,1.210,1.450,0.178,
+1.230,1.600,1.040,1.560,1.040,1.620,1.310,1.500,0.923,1.290,
+0.137,0.160,0.111,0.158,1.400,0.171,1.230,1.690,1.130,1.860,
+1.500,1.930,1.810,1.100,0.851,1.720,1.410,1.320,1.060,1.630,
+1.500,0.135,1.590,2.210,1.760,1.510,1.610,2.470,2.150,1.580,
+1.240,2.490,1.650,1.210,0.839,1.230,1.470,0.170,0.874,1.280,
+2.510,2.020,1.050,2.070,1.990,1.250,0.745,1.110,1.300,1.050,
+0.628,0.751,0.989,0.107,0.599,0.723,0.874,0.958,0.644,0.966,
+1.310,1.050,0.774,1.240,0.118,0.114,0.081,0.189,0.629,0.072,
+0.363,0.542,0.682,0.928,0.588,0.927,2.020,0.937,1.150,2.100,
+1.440,1.140,0.914,1.490,0.864,0.081,0.560,0.940,1.420,0.991,
+0.995,1.930,2.120,1.210,0.765,1.280,1.390,1.050,0.666,0.878,
+0.834,0.096,0.471,0.689,0.768,0.818,0.469,0.935,1.410,1.090,
+0.560,0.794,0.947,0.804,0.541,0.577,0.709,0.087,0.463,0.628,
+0.519,0.594,0.406,0.580,0.801,0.843,0.518,0.701,0.085,0.113,
+0.081,0.098,0.599,0.085,0.349,0.472,0.423,0.584,0.351,0.505,
+0.930,0.623,0.485,0.781,0.991,0.934,0.669,0.823,0.704,0.065,
+0.420,0.593,0.734,0.608,0.528,1.080,1.340,0.698,0.536,0.854,
+1.320,0.764,0.642,0.816,0.911,0.112,0.399,0.661,0.881,0.773,
+0.627,1.190,0.107,0.098,0.058,0.088,0.103,0.114,0.065,0.080,
+0.081,0.019,0.061,0.082,0.097,0.157,0.077,0.122,0.658,0.594,
+0.635,0.616,0.075,0.071,0.070,0.074,0.422,0.065,0.279,0.371,
+0.362,0.526,0.433,0.479,0.722,0.449,0.441,0.721,1.030,0.765,
+0.577,0.754,0.641,0.074,0.409,0.688,0.657,0.758,0.675,1.120,
+1.830,0.830,0.688,1.390,0.833,0.540,0.477,0.721,0.847,0.092,
+0.388,0.728,1.110,0.801,0.622,1.500,1.240,0.949,0.566,0.912,
+0.876,0.775,0.508,0.730,0.715,0.076,0.465,0.782,0.718,0.865,
+0.549,0.965,0.719,0.630,0.472,0.686,0.065,0.064,0.050,0.073,
+0.471,0.048,0.326,0.454,0.464,0.611,0.448,0.630,1.330,0.831,
+0.630,1.290,0.851,0.637,0.479,0.819,0.898,0.077,0.562,1.190,
+1.640,1.450,1.040,2.470,2.400,1.620,0.981,1.840,1.500,1.340,
+0.796,0.978,0.875,0.107,0.470,0.785,1.080,1.120,0.693,1.470,
+1.750,1.380,0.845,1.110,1.260,1.140,0.856,0.867,0.836,0.106,
+0.694,0.807,0.615,0.818,0.595,0.850,0.768,0.983,0.578,0.773,
+0.094,0.127,0.079,0.119,0.445,0.056,0.294,0.402,0.417,0.639,
+0.396,0.628,1.050,0.754,0.641,0.982,0.926,0.992,0.554,0.775,
+0.552,0.053,0.385,0.595,0.704,0.587,0.574,1.250,1.670,1.420,
+0.579,1.020,1.520,1.780,0.649,0.780,0.621,0.093,0.381,0.589,
+0.528,0.727,0.389,0.825,1.160,1.260,0.566,0.687,1.090,0.982,
+0.655,0.771,0.646,0.110,0.557,0.637,0.446,0.721,0.412,0.563,
+0.718,1.170,0.553,0.660,0.090,0.214,0.098,0.096,0.493,0.105,
+0.331,0.448,0.425,0.742,0.373,0.528,0.723,0.888,0.445,0.686,
+0.783,1.130,0.556,0.703,0.503,0.061,0.340,0.534,0.464,0.513,
+0.397,0.803,0.898,0.646,0.377,0.641,0.938,0.941,0.651,0.695,
+0.750,0.129,0.354,0.524,0.561,0.719,0.471,0.844,0.072,0.097,
+0.046,0.072,0.084,0.178,0.095,0.087,0.103,0.037,0.070,0.077,
+0.063,0.136,0.060,0.083,0.572,0.752,0.577,0.622,0.072,0.119,
+0.070,0.077,0.455,0.072,0.367,0.469,0.311,0.582,0.452,0.494,
+0.527,0.484,0.372,0.614,0.783,1.250,0.572,0.705,0.785,0.078,
+0.469,0.739,0.521,0.682,0.535,0.848,0.884,0.563,0.357,0.659,
+0.575,0.488,0.353,0.502,0.447,0.049,0.224,0.360,0.546,0.489,
+0.369,0.805,0.761,0.837,0.441,0.712,0.629,0.877,0.527,0.795,
+0.518,0.086,0.350,0.483,0.414,0.705,0.405,0.669,0.481,0.607,
+0.393,0.529,0.045,0.065,0.036,0.056,0.306,0.035,0.268,0.372,
+0.326,0.468,0.372,0.537,0.663,0.472,0.449,0.681,0.518,0.578,
+0.411,0.601,0.561,0.059,0.418,1.040,0.786,0.961,0.794,1.430,
+1.640,1.070,0.641,1.070,0.700,0.628,0.437,0.651,0.588,0.080,
+0.333,0.502,0.701,0.806,0.471,0.826,1.300,1.160,0.514,0.768,
+0.824,0.799,0.563,0.644,0.727,0.104,0.640,0.726,0.663,0.955,
+0.457,0.707,0.705,0.975,0.717,0.832,0.090,0.117,0.141,0.188,
+0.437,0.051,0.252,0.373,0.357,0.560,0.337,0.509,0.885,0.703,
+0.646,1.160,0.770,0.725,0.676,1.140,0.524,0.057,0.426,0.607,
+0.638,0.540,0.606,1.450,0.099,0.087,0.047,0.072,0.094,0.105,
+0.064,0.064,0.050,0.012,0.035,0.049,0.053,0.089,0.092,0.082,
+0.090,0.107,0.043,0.059,0.089,0.124,0.064,0.064,0.065,0.020,
+0.060,0.065,0.055,0.103,0.044,0.063,0.055,0.097,0.088,0.067,
+0.011,0.030,0.039,0.016,0.048,0.014,0.041,0.044,0.039,0.072,
+0.046,0.053,0.096,0.092,0.079,0.118,0.136,0.157,0.155,0.161,
+0.061,9.94e-3,0.054,0.090,0.074,0.074,0.070,0.144,0.832,0.607,
+0.328,0.513,0.637,0.786,0.609,0.522,0.627,0.117,0.420,0.509,
+0.446,0.620,0.445,0.696,0.067,0.096,0.041,0.051,0.063,0.120,
+0.071,0.062,0.066,0.023,0.067,0.065,0.058,0.112,0.056,0.068,
+0.498,0.738,0.490,0.418,0.065,0.124,0.110,0.071,0.437,0.073,
+0.249,0.330,0.271,0.503,0.331,0.379,0.452,0.435,0.365,0.405,
+0.607,0.854,0.578,0.642,0.593,0.077,0.418,0.532,0.390,0.494,
+0.447,0.651,0.647,0.464,0.262,0.500,0.474,0.501,0.237,0.317,
+0.569,0.075,0.221,0.416,0.559,0.706,0.322,0.876,0.758,0.774,
+0.401,0.550,0.668,0.932,0.514,0.597,0.531,0.080,0.450,0.605,
+0.503,0.804,0.436,0.786,0.679,0.731,0.429,0.493,0.067,0.129,
+0.056,0.066,0.450,0.051,0.264,0.374,0.356,0.583,0.350,0.534,
+0.717,0.529,0.463,0.566,0.566,0.697,0.417,0.528,0.615,0.070,
+0.464,0.691,0.720,0.900,0.631,1.110,2.030,0.993,0.734,1.480,
+0.777,0.590,0.440,0.551,0.648,0.068,0.322,0.572,1.030,0.764,
+0.528,1.400,1.120,0.638,0.402,0.660,0.574,0.440,0.326,0.415,
+0.517,0.049,0.438,0.489,0.524,0.485,0.355,0.632,0.812,0.701,
+0.636,0.973,0.078,0.066,0.065,0.126,0.395,0.038,0.223,0.402,
+0.409,0.446,0.303,0.590,1.320,0.737,1.300,1.920,0.853,0.605,
+0.623,1.060,0.631,0.050,0.517,0.770,1.010,0.671,0.834,1.930,
+1.260,0.824,0.497,0.847,0.884,0.774,0.779,0.586,0.553,0.068,
+0.330,0.519,0.571,0.606,0.477,0.859,0.874,0.751,0.333,0.563,
+0.681,0.742,0.391,0.471,0.530,0.070,0.422,0.554,0.482,0.663,
+0.324,0.558,0.638,0.681,0.536,0.653,0.057,0.080,0.100,0.084,
+0.422,0.047,0.271,0.499,0.385,0.539,0.316,0.588,0.829,0.594,
+0.545,0.991,0.935,0.836,0.720,1.140,0.587,0.055,0.407,0.908,
+0.687,0.627,0.617,1.280,0.883,0.546,0.366,0.600,0.786,0.696,
+0.529,0.679,0.745,0.088,0.464,0.664,0.615,0.576,0.520,0.983,
+0.095,0.066,0.038,0.075,0.055,0.077,0.049,0.058,0.064,0.011,
+0.065,0.080,0.061,0.080,0.050,0.083,0.567,0.612,0.481,0.623,
+0.053,0.065,0.056,0.075,0.487,0.054,0.320,0.478,0.371,0.568,
+0.411,0.605,0.665,0.459,0.472,0.678,0.785,0.788,0.644,0.864,
+0.986,0.082,0.511,0.784,0.648,0.614,0.647,1.130,1.370,0.853,
+0.538,1.040,0.776,0.687,0.407,0.564,1.040,0.089,0.396,0.681,
+1.120,0.784,0.659,1.710,0.881,0.657,0.430,0.824,0.615,0.637,
+0.447,0.598,0.597,0.060,0.551,0.733,0.621,0.753,0.535,0.955,
+0.968,0.841,0.549,0.856,0.081,0.080,0.046,0.093,0.803,0.069,
+0.435,0.773,0.727,0.965,0.625,1.010,1.550,0.902,0.925,1.790,
+1.230,1.210,0.799,1.310,1.360,0.105,1.020,2.010,2.110,1.950,
+1.530,2.920,2.380,1.650,1.250,2.010,2.020,1.620,0.977,1.220,
+1.240,0.221,2.040,1.280,1.620,1.630,1.140,1.560,1.870,1.540,
+0.893,1.220,1.630,1.600,1.000,1.060,1.090,0.180,0.960,0.951,
+0.764,1.170,0.867,0.973,0.937,0.983,0.733,0.903,0.124,0.150,
+0.122,0.162,0.601,0.111,0.499,0.552,0.517,0.836,0.590,0.779,
+1.230,0.702,0.571,1.170,1.330,1.200,0.771,1.070,0.819,0.103,
+0.572,0.794,1.050,0.809,0.948,1.620,2.410,1.830,1.010,1.440,
+2.390,2.210,1.100,1.220,1.110,0.209,0.993,1.030,0.814,1.260,
+0.770,1.170,2.140,2.190,1.180,1.410,1.870,2.120,1.540,1.390,
+1.390,0.318,1.230,1.380,0.687,1.430,0.887,1.010,0.956,1.620,
+0.851,0.871,0.184,0.326,0.237,0.183,1.420,0.429,0.827,0.828,
+0.591,1.380,0.752,0.746,0.767,0.753,0.434,0.646,1.400,1.620,
+0.847,1.090,0.917,0.129,0.649,0.792,0.676,0.803,0.726,1.150,
+1.710,1.090,0.618,0.899,3.920,1.660,1.240,1.370,1.430,0.232,
+0.679,0.858,0.851,1.080,0.835,1.520,0.161,0.201,0.094,0.150,
+0.297,0.350,0.191,0.221,0.177,0.065,0.139,0.170,0.113,0.274,
+0.152,0.177,0.721,1.020,0.721,0.744,0.155,0.152,0.148,0.149,
+0.776,0.166,0.613,0.758,0.444,0.958,0.772,0.988,0.629,0.521,
+0.467,0.850,1.140,1.100,0.836,1.050,1.070,0.148,0.675,0.938,
+0.731,1.000,0.897,1.380,1.440,0.805,0.551,1.130,1.160,0.696,
+0.479,0.751,0.773,0.116,0.439,0.654,0.795,0.780,0.574,1.320,
+1.670,1.370,0.803,1.510,1.780,1.820,1.010,1.870,0.948,0.183,
+0.780,1.250,0.668,1.240,0.764,1.210,0.652,0.861,0.516,0.708,
+0.090,0.100,0.084,0.100,0.768,0.193,0.449,0.698,0.438,0.902,
+0.613,0.773,1.000,0.819,0.543,1.030,0.715,0.745,0.502,0.755,
+0.823,0.099,0.765,1.250,0.997,1.110,1.150,2.010,2.080,1.810,
+1.030,1.640,1.990,2.710,1.130,1.210,0.936,0.173,0.623,0.790,
+0.868,1.200,0.690,1.180,2.060,2.130,1.140,1.310,2.230,2.700,
+1.680,1.960,1.190,0.259,1.340,1.400,0.653,1.420,1.010,1.040,
+0.707,1.210,0.795,0.820,0.139,0.283,0.195,0.181,0.497,0.097,
+0.516,0.533,0.346,0.712,0.535,0.649,0.829,0.624,0.461,0.755,
+1.060,1.750,0.742,0.845,1.260,0.130,0.542,0.722,0.758,0.653,
+0.660,1.160,2.160,2.760,1.050,1.630,2.950,5.610,1.560,1.730,
+1.140,0.276,0.887,1.030,0.673,1.390,0.700,1.190,2.400,3.560,
+1.720,1.430,2.700,3.090,2.220,2.470,1.750,0.588,1.840,1.740,
+0.779,2.470,1.080,1.200,0.972,2.700,1.210,1.090,0.283,0.977,
+0.435,0.337,0.940,0.302,0.978,1.090,0.455,1.540,0.997,0.962,
+0.774,1.080,0.508,0.657,1.430,3.440,1.220,1.290,0.820,0.140,
+0.738,0.961,0.533,0.802,0.703,1.140,1.250,1.150,0.531,0.810,
+2.090,2.850,1.540,1.410,1.840,0.568,0.835,0.938,0.820,1.650,
+0.858,1.310,0.148,0.316,0.120,0.172,0.313,0.977,0.456,0.324,
+0.512,0.253,0.265,0.273,0.130,0.541,0.168,0.171,0.906,1.560,
+1.070,1.050,0.249,0.433,0.310,0.262,1.100,0.245,0.915,1.000,
+0.468,1.360,1.110,1.020,0.687,0.583,0.557,0.685,1.440,2.050,
+1.490,1.410,2.620,0.265,1.000,1.190,1.070,1.070,1.100,1.370,
+1.020,0.775,0.497,0.865,1.010,1.000,0.613,0.852,0.804,0.144,
+0.439,0.491,0.654,0.786,0.527,0.954,1.240,1.640,0.925,1.550,
+1.570,2.770,1.600,2.900,1.610,0.436,0.949,1.170,0.676,1.730,
+0.843,1.190,0.609,1.170,0.686,0.731,0.087,0.176,0.108,0.129,
+0.593,0.108,0.667,0.728,0.395,0.847,1.040,0.969,0.754,0.611,
+0.698,0.750,0.682,1.020,0.869,0.958,0.891,0.096,0.675,1.040,
+0.812,1.100,1.190,1.600,1.220,0.951,0.582,0.782,0.701,0.782,
+0.677,0.578,0.466,0.084,0.348,0.399,0.506,0.742,0.744,0.628,
+1.210,1.570,0.677,0.774,1.240,1.610,1.050,0.987,1.010,0.282,
+1.090,1.010,0.542,1.770,0.624,0.730,0.623,1.200,1.320,0.808,
+0.115,0.210,0.446,0.230,0.531,0.127,0.489,0.522,0.302,0.755,
+0.452,0.496,0.560,0.494,0.528,0.855,0.686,0.860,1.350,0.927,
+0.493,0.071,0.486,0.629,0.504,0.572,0.646,1.200,0.085,0.102,
+0.067,0.067,0.129,0.216,0.195,0.097,0.063,0.024,0.085,0.062,
+0.061,0.121,0.357,0.105,0.132,0.238,0.108,0.091,0.243,0.482,
+0.255,0.196,0.146,0.108,0.204,0.169,0.077,0.357,0.118,0.098,
+0.068,0.193,0.300,0.108,0.042,0.118,0.217,0.061,0.103,0.077,
+0.137,0.105,0.048,0.181,0.122,0.078,0.061,0.078,0.085,0.085,
+0.148,0.272,0.436,0.256,0.075,0.025,0.113,0.117,0.058,0.090,
+0.108,0.171,0.864,1.070,0.491,0.533,1.000,1.610,1.130,0.751,
+0.967,0.223,0.765,0.886,0.537,1.020,0.861,0.941,0.096,0.219,
+0.095,0.088,0.139,0.367,0.244,0.146,0.160,0.089,0.197,0.171,
+0.079,0.274,0.143,0.116,0.706,1.550,1.240,0.761,0.151,0.335,
+0.490,0.204,0.820,0.232,0.641,0.767,0.395,1.210,0.802,0.762,
+0.463,0.496,0.486,0.557,0.905,1.600,1.410,1.510,0.888,0.185,
+0.923,0.931,0.516,0.802,0.843,1.000,0.808,0.743,0.362,0.626,
+0.678,0.715,0.347,0.401,0.605,0.094,0.351,0.578,0.572,0.747,
+0.459,0.904,1.170,1.650,0.752,0.899,1.480,2.490,1.310,1.220,
+1.070,0.281,1.060,1.440,0.656,1.600,0.908,1.110,1.120,1.420,
+0.813,0.709,0.098,0.192,0.163,0.118,0.836,0.162,0.685,0.902,
+0.530,1.190,0.735,0.838,0.723,0.613,0.481,0.662,0.629,0.920,
+0.658,0.775,0.785,0.113,0.836,1.000,0.790,1.050,0.941,1.370,
+1.020,0.678,0.552,0.922,0.703,0.652,0.601,0.578,0.461,0.061,
+0.288,0.488,0.574,0.511,0.407,0.815,0.741,0.608,0.409,0.493,
+0.590,0.624,0.404,0.487,0.436,0.067,0.411,0.458,0.366,0.541,
+0.309,0.487,0.611,0.663,0.772,0.678,0.067,0.074,0.095,0.109,
+0.355,0.057,0.271,0.386,0.279,0.416,0.278,0.480,0.706,0.496,
+0.530,1.110,0.557,0.512,0.503,0.931,0.504,0.052,0.328,0.583,
+0.747,0.452,0.498,1.260,1.210,1.090,0.937,0.912,1.400,1.580,
+3.330,1.140,0.721,0.135,0.707,0.736,0.633,0.982,0.953,0.943,
+1.180,1.520,0.726,0.849,1.370,1.960,1.140,1.140,0.971,0.228,
+1.040,1.220,0.671,1.880,0.701,0.888,0.694,1.240,1.300,0.881,
+0.119,0.232,0.388,0.237,0.655,0.159,0.621,0.720,0.439,1.070,
+0.638,0.735,0.738,0.779,0.633,0.997,1.290,1.600,1.710,2.690,
+0.680,0.098,0.699,1.150,0.662,0.778,0.764,1.480,0.862,0.681,
+0.450,0.591,1.210,1.190,0.934,0.909,0.841,0.157,0.648,0.896,
+0.680,0.816,0.661,1.020,0.122,0.113,0.050,0.095,0.097,0.240,
+0.132,0.109,0.091,0.039,0.110,0.125,0.064,0.139,0.083,0.105,
+0.619,1.020,0.740,0.689,0.098,0.163,0.159,0.145,0.781,0.169,
+0.708,0.826,0.475,1.100,0.816,1.040,0.516,0.483,0.465,0.605,
+1.010,1.260,1.080,1.360,0.945,0.133,0.886,1.100,0.666,0.751,
+0.865,1.260,1.050,0.724,0.472,0.799,0.739,0.687,0.487,0.518,
+0.660,0.091,0.388,0.618,0.668,0.590,0.491,1.050,0.980,0.970,
+0.490,0.720,0.929,1.300,0.775,0.864,0.676,0.106,0.597,0.877,
+0.605,0.856,0.560,0.778,0.922,0.960,0.677,0.844,0.122,0.115,
+0.084,0.115,0.762,0.102,0.607,0.926,0.676,1.050,0.787,1.040,
+1.030,0.726,0.667,1.170,1.050,1.320,0.880,1.250,1.020,0.119,
+1.020,1.550,1.410,1.420,1.350,1.970,1.360,1.010,0.727,1.300,
+1.310,1.030,0.707,0.830,0.823,0.123,0.438,0.648,1.160,1.280,
+0.613,1.030,1.200,1.190,0.564,0.720,1.130,0.891,0.913,0.858,
+0.652,0.130,0.438,0.556,0.579,0.844,0.519,0.756,0.710,0.778,
+0.431,0.753,0.082,0.080,0.061,0.113,0.451,0.054,0.293,0.404,
+0.384,0.697,0.396,0.573,0.843,0.475,0.325,0.794,0.794,0.610,
+0.416,0.644,0.431,0.049,0.283,0.458,0.613,0.488,0.534,1.110,
+1.740,1.510,0.692,1.040,1.810,1.450,0.974,1.040,0.769,0.133,
+0.546,0.668,0.714,0.913,0.507,0.879,1.780,2.990,0.725,0.928,
+1.720,1.270,1.080,1.050,1.060,0.263,0.796,1.360,0.578,1.070,
+0.589,0.770,0.996,1.340,0.681,0.810,0.149,0.219,0.155,0.181,
+0.860,0.162,0.728,0.942,0.456,1.060,0.679,0.778,0.686,0.606,
+0.329,0.570,1.020,1.220,0.701,0.976,0.663,0.080,0.506,0.752,
+0.600,0.658,0.628,1.120,1.270,0.873,0.445,0.655,1.660,1.340,
+1.030,0.996,2.120,0.242,0.654,0.867,1.060,1.300,0.552,1.170,
+0.168,0.218,0.077,0.104,0.172,0.236,0.173,0.166,0.177,0.051,
+0.157,0.172,0.140,0.359,0.140,0.178,0.799,1.010,0.619,0.754,
+0.123,0.148,0.149,0.157,0.934,0.146,0.522,0.760,0.495,1.120,
+0.692,0.782,0.580,0.466,0.346,0.529,1.070,1.130,1.090,1.100,
+0.883,0.129,0.600,0.844,0.673,0.954,0.725,1.070,1.140,0.671,
+0.354,0.717,0.699,0.619,0.455,0.529,0.653,0.096,0.320,0.472,
+0.778,0.892,0.451,0.974,1.150,1.200,0.477,0.753,0.958,1.090,
+0.675,0.828,0.743,0.104,0.575,0.755,0.604,1.060,0.583,0.888,
+0.746,0.867,0.532,0.713,0.095,0.109,0.090,0.128,0.632,0.082,
+0.485,0.724,0.539,0.927,0.736,0.953,0.883,0.688,0.457,0.992,
+0.699,0.666,0.618,0.883,0.923,0.098,0.611,1.040,1.160,1.310,
+1.150,1.920,0.080,0.081,0.046,0.078,0.092,0.114,0.083,0.079,
+0.053,0.014,0.036,0.048,0.062,0.111,0.046,0.075,0.109,0.134,
+0.124,0.084,0.141,0.180,0.329,0.183,0.072,0.027,0.070,0.076,
+0.051,0.095,0.063,0.085,0.050,0.092,0.046,0.062,0.011,0.023,
+0.018,0.018,0.055,0.011,0.045,0.061,0.030,0.071,0.041,0.068,
+0.056,0.045,0.033,0.055,0.076,0.123,0.061,0.074,0.050,9.19e-3,
+0.037,0.067,0.048,0.055,0.058,0.118,0.101,0.124,0.052,0.068,
+0.139,0.211,0.115,0.093,0.066,0.029,0.053,0.055,0.038,0.081,
+0.049,0.060,0.165,0.416,0.098,0.094,0.331,0.544,0.268,0.233,
+0.176,0.113,0.130,0.153,0.067,0.188,0.092,0.109,0.074,0.171,
+0.085,0.072,0.033,0.097,0.060,0.041,0.129,0.070,0.112,0.135,
+0.046,0.156,0.099,0.097,0.058,0.065,0.032,0.044,0.103,0.191,
+0.101,0.099,0.084,0.024,0.070,0.086,0.045,0.063,0.066,0.092,
+0.095,0.065,0.033,0.046,0.117,0.167,0.131,0.104,0.120,0.029,
+0.085,0.072,0.052,0.094,0.055,0.072,0.032,0.036,0.018,0.015,
+0.038,0.098,0.075,0.040,0.031,0.037,0.069,0.041,8.61e-3,0.035,
+0.029,0.018,0.083,0.140,0.080,0.092,0.031,0.061,0.067,0.036,
+0.128,0.048,0.105,0.107,0.051,0.160,0.100,0.086,0.053,0.049,
+0.035,0.052,0.117,0.182,0.149,0.143,0.107,0.025,0.090,0.098,
+0.056,0.134,0.087,0.103,0.073,0.064,0.036,0.054,0.065,0.079,
+0.054,0.053,0.052,9.61e-3,0.033,0.044,0.056,0.074,0.046,0.079,
+0.130,0.140,0.073,0.108,0.147,0.255,0.135,0.162,0.115,0.033,
+0.115,0.121,0.064,0.147,0.089,0.111,0.057,0.096,0.061,0.076,
+0.014,0.031,0.019,0.021,0.077,0.020,0.075,0.111,0.048,0.111,
+0.095,0.113,0.072,0.062,0.041,0.071,0.067,0.087,0.069,0.095,
+0.081,0.012,0.068,0.106,0.079,0.114,0.110,0.162,0.778,0.670,
+0.442,0.703,0.731,0.713,0.533,0.550,0.416,0.062,0.330,0.391,
+0.378,0.375,0.319,0.467,1.010,1.080,0.467,0.640,1.140,1.190,
+0.963,0.781,0.747,0.154,0.845,0.794,0.350,0.734,0.475,0.632,
+0.515,0.966,0.551,0.611,0.097,0.186,0.144,0.180,0.437,0.089,
+0.515,0.540,0.245,0.605,0.418,0.536,0.453,0.383,0.248,0.447,
+0.622,0.797,0.491,0.663,0.452,0.066,0.496,0.590,0.396,0.411,
+0.502,0.996,0.069,0.089,0.038,0.058,0.110,0.172,0.098,0.085,
+0.051,0.021,0.053,0.053,0.032,0.058,0.039,0.052,0.104,0.187,
+0.057,0.060,0.173,0.228,0.169,0.126,0.084,0.061,0.135,0.117,
+0.034,0.089,0.059,0.066,0.057,0.157,0.075,0.068,0.026,0.085,
+0.071,0.038,0.071,0.042,0.121,0.102,0.029,0.109,0.075,0.070,
+0.054,0.059,0.033,0.056,0.111,0.223,0.114,0.142,0.064,0.015,
+0.083,0.091,0.044,0.057,0.064,0.110,0.859,0.854,0.458,0.437,
+1.150,1.500,1.590,0.827,0.863,0.188,0.827,0.777,0.465,0.678,
+0.649,0.690,0.140,0.224,0.084,0.085,0.182,0.371,0.265,0.130,
+0.143,0.088,0.226,0.164,0.064,0.168,0.116,0.098,1.010,1.470,
+0.826,0.679,0.186,0.306,0.283,0.170,0.734,0.185,0.325,0.517,
+0.336,0.863,0.721,0.622,0.527,0.468,0.345,0.357,1.300,1.490,
+1.170,0.953,0.708,0.150,0.891,0.809,0.410,0.638,0.782,0.822,
+0.639,0.523,0.321,0.449,0.603,0.596,0.458,0.369,0.421,0.068,
+0.360,0.408,0.362,0.425,0.341,0.509,1.040,1.250,0.579,0.617,
+1.390,1.780,1.020,0.802,0.821,0.181,1.040,1.020,0.457,0.982,
+0.666,0.744,0.774,1.140,0.743,0.724,0.107,0.207,0.137,0.129,
+0.722,0.145,0.814,0.862,0.395,0.979,0.726,0.786,0.621,0.486,
+0.373,0.558,0.729,0.915,0.621,0.707,0.858,0.107,0.845,0.873,
+0.624,0.864,0.792,0.961,1.020,0.593,0.382,0.789,0.595,0.469,
+0.336,0.449,0.464,0.063,0.256,0.400,0.667,0.473,0.319,0.684,
+0.958,0.659,0.335,0.489,0.645,0.606,0.438,0.466,0.426,0.069,
+0.337,0.475,0.354,0.450,0.295,0.489,0.500,0.702,0.361,0.514,
+0.056,0.074,0.054,0.102,0.373,0.048,0.285,0.439,0.296,0.423,
+0.299,0.562,0.620,0.446,0.308,0.703,0.520,0.485,0.345,0.759,
+0.422,0.045,0.356,0.572,0.482,0.394,0.450,1.110,1.270,0.945,
+0.527,1.030,1.190,1.140,0.794,0.805,0.603,0.095,0.528,0.694,
+0.505,0.674,0.412,0.758,1.460,1.380,0.548,0.836,1.270,1.430,
+1.050,0.985,0.771,0.144,0.795,1.150,0.431,0.821,0.525,0.720,
+0.749,1.390,0.562,0.720,0.119,0.235,0.127,0.166,0.652,0.127,
+0.645,0.911,0.399,0.928,0.620,0.847,0.735,0.694,0.366,0.659,
+1.050,1.320,0.865,1.270,0.687,0.116,0.653,1.140,0.567,0.710,
+0.622,1.300,2.740,1.070,0.545,0.768,1.310,1.310,1.170,1.120,
+0.964,0.178,0.921,2.450,0.629,0.758,0.689,1.260,1.190,0.203,
+0.105,0.232,0.170,0.245,0.235,0.164,0.114,0.041,0.191,0.608,
+0.076,0.140,0.098,0.174,1.170,1.410,0.789,0.914,0.136,0.192,
+0.169,0.174,1.090,0.216,0.740,1.290,0.563,1.250,0.963,1.090,
+0.974,0.611,0.568,0.655,1.250,1.280,1.260,1.400,0.939,0.130,
+0.957,1.510,0.630,0.848,1.020,1.290,1.180,0.589,0.432,0.687,
+0.733,0.573,0.457,0.531,0.634,0.089,0.431,0.865,0.565,0.561,
+0.454,0.972,2.390,0.894,0.549,0.782,1.070,1.120,0.856,0.806,
+0.682,0.097,0.859,2.130,0.479,0.719,0.592,1.050,0.966,1.120,
+0.690,1.050,0.106,0.140,0.098,0.148,0.897,0.127,0.884,1.260,
+0.641,1.110,1.010,1.150,1.090,0.676,0.575,1.110,1.150,1.100,
+0.984,1.210,1.020,0.106,1.130,1.600,1.050,1.200,1.210,1.690,
+2.800,1.250,0.865,1.940,1.190,0.804,0.586,0.827,1.070,0.121,
+0.405,0.699,1.780,1.440,0.687,1.390,1.440,0.958,0.485,0.823,
+0.937,0.684,0.466,0.564,0.676,0.078,0.358,0.432,0.997,0.941,
+0.506,0.791,0.787,0.700,0.447,0.788,0.073,0.074,0.056,0.109,
+0.407,0.044,0.241,0.367,0.491,0.599,0.421,0.720,1.150,0.601,
+0.509,1.190,0.861,0.743,0.492,0.812,0.566,0.058,0.331,0.627,
+0.948,0.662,0.779,2.030,1.430,0.870,0.561,0.903,0.973,0.728,
+0.456,0.608,0.535,0.070,0.263,0.424,0.558,0.581,0.317,0.671,
+1.060,0.910,0.453,0.635,0.831,0.671,0.422,0.625,0.540,0.066,
+0.294,0.498,0.483,0.517,0.323,0.554,0.596,0.596,0.348,0.521,
+0.060,0.076,0.052,0.075,0.430,0.057,0.224,0.382,0.363,0.512,
+0.337,0.486,0.550,0.377,0.248,0.482,0.586,0.579,0.349,0.532,
+0.393,0.037,0.228,0.459,0.577,0.437,0.410,0.869,1.160,0.600,
+0.381,0.697,1.030,0.780,0.540,0.839,0.851,0.114,0.288,0.485,
+0.849,0.907,0.435,0.966,0.081,0.076,0.036,0.072,0.076,0.082,
+0.058,0.078,0.066,0.011,0.043,0.061,0.100,0.132,0.054,0.112,
+0.559,0.938,0.381,0.586,0.062,0.069,0.051,0.080,0.446,0.059,
+0.248,0.400,0.425,0.638,0.424,0.604,0.561,0.422,0.311,0.647,
+0.658,0.551,0.453,0.725,0.528,0.055,0.304,0.551,0.635,0.622,
+0.573,1.050,1.460,0.642,0.448,0.995,0.751,0.495,0.393,0.582,
+0.706,0.073,0.321,0.519,1.170,0.807,0.518,1.230,0.920,0.658,
+0.390,0.681,0.656,0.619,0.389,0.567,0.587,0.061,0.354,0.570,
+0.705,0.775,0.475,0.897,0.665,0.715,0.461,0.684,0.057,0.056,
+0.045,0.079,0.524,0.047,0.284,0.468,0.633,0.750,0.601,0.885,
+1.170,0.688,0.562,1.260,0.709,0.584,0.496,0.895,0.876,0.070,
+0.493,0.934,1.500,1.330,1.370,2.680,1.780,1.100,0.633,1.300,
+1.050,0.876,0.665,0.806,0.712,0.089,0.414,0.693,0.952,0.975,
+0.564,1.170,1.520,0.955,0.580,0.779,1.110,1.050,1.050,0.860,
+0.650,0.087,0.503,0.566,0.623,0.742,0.511,0.791,0.632,0.748,
+0.397,0.625,0.068,0.091,0.061,0.093,0.425,0.056,0.262,0.428,
+0.384,0.596,0.434,0.692,0.703,0.503,0.334,0.645,0.735,0.800,
+0.444,0.663,0.435,0.046,0.296,0.551,0.650,0.594,0.878,1.320,
+1.480,1.120,0.546,0.932,1.280,1.360,0.663,0.907,0.659,0.092,
+0.334,0.495,0.563,0.763,0.374,0.769,1.260,1.430,0.500,0.722,
+1.890,2.070,0.835,1.060,0.815,0.176,0.499,0.677,0.533,0.917,
+0.467,0.783,0.819,1.010,0.462,0.677,0.102,0.175,0.086,0.108,
+0.697,0.125,0.398,0.644,0.442,0.929,0.539,0.785,0.606,0.534,
+0.295,0.536,0.815,1.060,0.560,0.719,0.557,0.066,0.367,0.932,
+0.653,0.978,0.861,1.310,1.010,0.624,0.340,0.731,1.010,0.955,
+0.665,1.850,0.806,0.112,0.357,0.461,0.578,0.680,0.422,0.853,
+0.077,0.073,0.037,0.062,0.094,0.191,0.086,0.152,0.072,0.026,
+0.072,0.066,0.053,0.125,0.060,0.087,0.719,1.350,0.535,0.740,
+0.088,0.133,0.094,0.131,0.625,0.100,0.366,0.535,0.526,1.010,
+0.582,0.788,0.649,0.473,0.352,0.669,0.868,0.984,0.754,1.020,
+0.654,0.071,0.465,0.719,0.614,0.761,0.931,1.270,0.960,0.552,
+0.364,0.669,0.663,0.571,0.392,0.597,0.618,0.063,0.335,0.456,
+0.667,0.642,0.435,0.896,0.921,0.823,0.484,0.745,0.870,1.110,
+0.573,0.890,0.677,0.100,0.488,0.637,0.567,1.010,0.565,0.929,
+0.617,0.863,0.625,0.741,0.056,0.082,0.055,0.089,0.506,0.068,
+0.409,0.608,0.489,0.909,0.685,0.992,0.866,0.559,0.497,0.822,
+0.735,0.778,0.553,0.932,0.749,0.069,0.524,0.867,1.060,1.170,
+1.440,2.120,1.200,0.946,0.802,1.400,1.020,0.913,1.800,1.400,
+0.843,0.090,0.426,0.666,0.700,0.582,0.461,0.838,1.260,1.260,
+0.501,0.774,0.996,1.060,0.749,0.764,0.785,0.121,0.628,0.734,
+0.606,0.918,0.549,0.850,0.716,1.120,0.686,0.821,0.111,0.156,
+0.278,0.181,0.533,0.104,0.401,0.588,0.428,1.120,0.527,0.745,
+0.727,0.579,0.378,0.728,0.752,0.843,0.689,0.784,0.661,0.086,
+0.667,0.885,0.725,0.697,0.828,1.470,0.082,0.076,0.080,0.104,
+0.122,0.126,0.124,0.107,0.053,9.86e-3,0.035,0.048,0.047,0.063,
+0.044,0.085,0.076,0.107,0.041,0.060,0.108,0.178,0.088,0.098,
+0.068,0.025,0.070,0.079,0.051,0.092,0.067,0.087,0.048,0.092,
+0.055,0.057,0.013,0.036,0.039,0.020,0.057,0.024,0.051,0.063,
+0.037,0.101,0.064,0.089,0.068,0.065,0.036,0.062,0.091,0.193,
+0.102,0.107,0.060,0.014,0.060,0.085,0.079,0.085,0.087,0.135,
+0.974,0.923,0.486,0.676,1.070,1.370,0.953,0.877,0.839,0.165,
+0.600,0.668,0.667,0.800,0.603,1.010,0.084,0.129,0.051,0.069,
+0.112,0.188,0.107,0.086,0.096,0.039,0.105,0.094,0.065,0.150,
+0.085,0.112,0.916,1.270,0.748,0.786,0.119,0.207,0.170,0.124,
+0.854,0.163,0.492,0.652,0.497,1.010,0.722,0.882,0.721,0.566,
+0.405,0.533,1.020,1.350,0.934,0.906,1.020,0.127,0.838,0.943,
+0.635,0.788,1.030,1.220,0.955,0.687,0.434,0.765,0.841,0.729,
+0.506,0.605,0.615,0.077,0.455,0.554,0.625,0.607,0.437,0.955,
+1.220,1.270,0.585,0.894,1.300,1.440,0.811,0.865,1.160,0.144,
+0.974,1.070,0.743,1.240,0.858,1.360,1.530,1.390,0.879,0.983,
+0.102,0.157,0.118,0.124,1.100,0.121,0.785,0.995,0.758,1.240,
+0.893,1.150,1.050,0.726,0.556,0.864,0.821,1.170,0.760,0.865,
+1.030,0.105,0.949,1.160,0.993,1.200,1.190,1.710,2.530,1.160,
+0.710,1.680,1.010,0.743,0.618,0.880,0.907,0.103,0.402,0.874,
+1.160,1.010,0.602,1.890,1.250,0.865,0.428,0.800,0.880,0.768,
+0.435,0.599,0.677,0.067,0.382,0.603,0.555,0.640,0.422,0.839,
+0.941,1.100,0.509,0.965,0.074,0.092,0.064,0.123,0.537,0.071,
+0.323,0.578,0.548,0.767,0.489,0.951,1.400,0.889,0.585,1.360,
+0.892,0.793,0.563,1.100,0.880,0.082,0.584,1.030,1.330,1.070,
+1.080,2.840,1.640,1.070,0.767,1.480,1.210,1.110,0.715,0.909,
+0.647,0.077,0.424,0.735,0.718,0.769,0.482,1.160,1.460,1.340,
+0.578,1.110,1.400,1.850,0.734,1.070,0.852,0.113,0.673,1.140,
+0.703,0.980,0.603,1.360,0.966,1.150,0.570,0.967,0.078,0.128,
+0.083,0.116,0.757,0.096,0.478,0.835,0.709,1.160,0.694,1.260,
+1.030,0.832,0.450,0.914,1.010,1.180,0.659,1.210,1.020,0.087,
+0.560,1.070,1.430,1.040,0.860,2.410,1.780,1.130,0.827,1.060,
+1.500,1.270,0.943,1.360,1.200,0.191,2.120,1.590,1.020,1.090,
+1.040,1.790,0.204,0.114,0.064,0.117,0.106,0.150,0.102,0.129,
+0.084,0.025,0.398,0.203,0.090,0.146,0.128,0.175,1.320,1.600,
+0.872,1.290,0.114,0.140,0.127,0.157,1.280,0.160,1.040,1.230,
+0.956,1.540,1.350,1.750,1.410,0.964,0.725,1.180,1.560,1.510,
+1.250,1.810,1.670,0.142,1.430,1.800,1.310,1.200,1.540,2.580,
+2.900,1.450,0.889,2.010,1.330,1.030,0.697,1.090,1.270,0.131,
+0.851,1.250,2.010,1.430,1.030,2.880,2.060,1.410,0.830,1.790,
+1.480,1.250,0.952,1.670,1.240,0.130,1.400,1.730,1.210,1.540,
+1.080,2.690,1.930,1.740,1.140,1.870,0.125,0.133,0.113,0.185,
+1.640,0.162,1.150,1.810,1.770,2.390,1.720,2.890,2.830,1.250,
+0.988,2.570,1.390,1.280,1.200,2.300,1.750,0.129,1.380,2.420,
+1.720,1.750,1.250,4.840,4.460,2.070,1.490,2.800,2.790,1.550,
+1.340,1.540,2.920,0.282,1.260,1.880,3.780,2.520,2.010,3.030,
+3.890,1.990,1.380,1.630,2.080,1.260,1.120,0.961,2.290,0.189,
+1.130,1.470,1.690,1.380,1.040,1.510,2.960,1.860,1.370,1.780,
+0.260,0.200,0.162,0.266,1.720,0.183,1.330,1.300,1.710,1.790,
+1.590,1.570,3.910,1.610,1.560,2.910,2.530,1.940,1.490,2.190,
+1.900,0.188,1.120,1.580,2.430,1.570,1.520,2.530,4.090,2.130,
+1.350,1.900,2.480,1.630,1.160,1.120,2.050,0.238,1.060,1.390,
+1.540,1.670,0.960,1.680,2.800,1.840,1.100,1.210,1.860,1.300,
+1.030,0.866,2.120,0.266,1.390,1.330,0.999,1.280,0.827,1.010,
+2.020,1.810,1.190,1.390,0.198,0.186,0.152,0.164,1.710,0.202,
+1.070,1.260,1.020,1.600,0.919,1.170,1.560,0.951,0.747,1.140,
+1.570,1.220,1.070,1.150,1.480,0.131,0.938,1.190,1.140,1.130,
+0.902,1.620,3.020,1.230,1.030,1.380,1.780,1.130,1.130,1.100,
+2.040,0.260,0.898,1.430,1.410,1.280,1.180,2.170,0.241,0.161,
+0.107,0.137,0.185,0.156,0.142,0.118,0.192,0.038,0.140,0.181,
+0.182,0.255,0.158,0.250,1.480,0.972,1.120,0.931,0.166,0.093,
+0.103,0.117,1.020,0.114,0.619,0.773,0.710,0.944,0.807,0.866,
+1.500,0.659,0.683,1.150,1.480,0.993,0.939,1.100,1.160,0.133,
+1.060,1.230,0.899,0.921,1.050,1.580,3.660,1.390,1.230,2.340,
+1.390,0.803,0.815,1.070,1.830,0.192,0.816,1.590,2.240,1.550,
+1.390,3.890,2.620,1.580,1.210,1.460,1.910,1.110,1.120,1.060,
+1.820,0.155,1.080,1.640,1.600,1.630,1.190,1.990,1.990,1.170,
+1.040,1.250,0.151,0.101,0.096,0.129,1.240,0.106,0.719,1.040,
+1.080,1.160,0.963,1.190,2.670,1.080,0.990,1.910,1.200,0.870,
+0.795,1.150,1.610,0.115,0.995,1.660,1.810,1.380,1.390,2.470,
+3.450,2.150,1.260,2.010,1.970,1.670,1.060,1.100,1.530,0.183,
+0.750,1.130,1.410,1.460,0.893,1.380,2.800,2.360,0.946,1.180,
+1.810,1.190,1.000,0.859,1.320,0.185,0.894,1.040,0.806,1.130,
+0.695,0.963,1.210,1.380,0.922,0.892,0.143,0.168,0.162,0.146,
+0.978,0.160,1.960,1.130,0.726,1.270,2.040,1.090,1.260,0.717,
+0.622,0.931,1.270,1.280,0.760,0.934,0.846,0.112,0.821,0.855,
+0.867,0.777,0.875,1.460,2.440,2.020,0.918,1.140,1.790,1.630,
+0.959,0.851,1.320,0.184,0.629,0.931,0.826,1.340,0.540,0.954,
+1.600,1.490,0.663,0.717,1.200,0.787,0.823,0.673,1.180,0.182,
+0.688,0.958,0.554,0.933,0.526,0.724,1.160,1.650,0.873,0.868,
+0.144,0.259,0.124,0.123,1.200,0.221,0.876,0.942,0.638,1.710,
+0.738,0.868,0.802,0.676,0.448,0.649,1.040,1.130,0.638,0.686,
+0.954,0.103,0.510,0.791,0.665,0.929,0.489,1.010,1.430,1.210,
+0.583,0.825,1.360,1.180,0.907,0.782,1.110,0.177,0.621,0.894,
+0.678,0.890,0.668,1.060,0.123,0.168,0.069,0.095,0.163,0.168,
+0.134,0.086,0.138,0.045,0.124,0.132,0.075,0.192,0.099,0.118,
+0.957,1.070,0.872,0.729,0.146,0.144,0.104,0.099,0.821,0.127,
+0.676,0.752,0.463,0.974,0.738,0.714,0.672,0.487,0.433,0.569,
+1.020,1.090,0.766,0.847,0.773,0.110,1.110,1.080,0.476,0.640,
+0.665,0.879,1.300,0.742,0.620,0.870,0.822,0.567,0.493,0.531,
+0.773,0.080,0.393,0.671,0.758,0.643,0.555,1.170,1.240,1.110,
+0.788,0.877,1.190,0.926,0.800,0.711,0.971,0.112,0.665,1.030,
+0.670,1.070,0.657,1.040,0.916,0.948,0.989,0.925,0.086,0.107,
+0.074,0.092,0.861,0.106,0.701,0.884,0.595,0.968,0.796,0.926,
+0.994,0.654,0.735,0.969,0.761,0.712,0.574,0.754,0.906,0.089,
+0.740,1.130,0.986,0.989,0.938,1.490,2.610,1.710,0.914,1.440,
+1.760,0.902,0.599,0.677,1.770,0.157,0.570,0.804,1.150,0.950,
+0.540,1.010,2.310,3.530,0.785,1.010,1.280,1.010,0.731,0.654,
+1.490,0.214,0.773,0.901,0.780,1.170,0.518,0.792,1.230,1.890,
+0.766,0.957,0.172,0.289,0.116,0.164,0.830,0.121,0.616,0.668,
+0.612,1.080,0.590,0.844,1.370,2.140,0.628,1.060,1.290,2.140,
+0.673,0.863,0.988,0.135,0.672,0.976,1.040,0.831,0.795,1.840,
+0.180,0.159,0.078,0.109,0.188,0.151,0.128,0.094,0.124,0.026,
+0.063,0.089,0.085,0.124,0.064,0.101,0.182,0.221,0.066,0.076,
+0.158,0.143,0.111,0.075,0.187,0.071,0.100,0.115,0.081,0.158,
+0.057,0.084,0.114,0.170,0.082,0.088,0.025,0.052,0.032,0.021,
+0.115,0.036,0.100,0.105,0.070,0.175,0.084,0.107,0.152,0.179,
+0.073,0.126,0.239,0.355,0.160,0.164,0.139,0.026,0.146,0.173,
+0.118,0.130,0.106,0.204,1.120,0.753,0.518,0.610,0.872,0.708,
+0.681,0.546,1.070,0.184,0.701,0.965,0.603,0.699,0.647,0.790,
+0.103,0.136,0.052,0.068,0.085,0.100,0.092,0.054,0.129,0.053,
+0.135,0.119,0.077,0.140,0.081,0.082,0.730,0.860,0.558,0.510,
+0.088,0.114,0.103,0.075,0.868,0.149,0.534,0.631,0.508,0.801,
+0.586,0.520,0.641,0.544,0.426,0.444,0.755,0.896,0.664,0.644,
+1.100,0.246,2.270,1.870,0.551,0.827,0.710,0.782,0.984,0.538,
+0.427,0.641,0.675,0.376,0.329,0.373,0.713,0.072,0.367,0.685,
+0.697,0.548,0.405,0.868,1.230,0.993,0.556,0.707,0.994,0.795,
+0.639,0.556,1.040,0.123,0.649,0.891,0.787,0.975,0.554,0.810,
+0.847,0.873,0.551,0.643,0.096,0.133,0.069,0.076,0.963,0.124,
+0.569,0.753,0.673,0.956,0.656,0.861,0.893,0.561,0.555,0.636,
+0.808,0.859,0.612,0.627,1.080,0.120,1.030,1.210,1.080,1.010,
+0.843,1.370,3.340,1.560,1.190,2.130,1.260,0.759,0.673,0.712,
+1.300,0.123,0.487,0.882,1.660,1.110,0.770,1.620,1.550,1.060,
+0.494,0.851,0.842,0.514,0.500,0.503,1.050,0.116,0.463,0.708,
+0.705,0.651,0.439,0.762,1.080,0.898,0.516,0.987,0.099,0.097,
+0.059,0.121,0.780,0.073,0.413,0.608,0.670,0.709,0.564,0.860,
+1.450,0.971,0.723,1.560,1.050,0.883,0.677,1.030,0.905,0.084,
+0.575,1.020,1.320,0.948,0.943,2.440,2.200,1.280,0.970,1.360,
+1.480,1.040,1.300,0.872,1.290,0.174,0.615,0.969,0.988,1.100,
+0.605,1.170,1.650,1.160,0.520,0.806,1.220,0.936,0.646,0.626,
+1.810,0.600,0.705,1.100,0.779,1.430,0.455,0.828,1.250,1.080,
+0.614,0.939,0.114,0.116,0.080,0.115,1.020,0.125,0.656,0.926,
+0.732,1.100,0.632,0.996,1.130,0.753,0.521,0.994,1.320,1.150,
+0.750,1.070,0.976,0.106,0.628,1.060,0.946,0.917,0.749,1.590,
+1.220,0.779,0.525,0.857,1.090,0.763,0.630,0.717,1.130,0.163,
+0.480,0.836,0.945,0.870,0.632,1.090,0.096,0.083,0.044,0.085,
+0.077,0.079,0.072,0.066,0.118,0.023,0.074,0.103,0.098,0.128,
+0.079,0.100,0.714,0.797,0.701,0.637,0.070,0.072,0.142,0.082,
+1.310,0.108,0.512,0.703,0.863,0.789,1.690,0.919,0.682,0.529,
+0.515,0.675,0.828,0.732,0.806,0.827,1.060,0.183,0.737,1.040,
+0.735,0.777,0.833,1.090,1.930,0.902,0.691,1.240,0.950,0.679,
+0.534,0.647,1.170,0.112,0.456,0.961,1.310,0.994,0.803,1.790,
+0.983,0.637,0.417,0.715,0.743,0.465,0.449,0.533,1.050,0.100,
+0.495,1.020,0.808,0.943,0.565,1.020,1.180,1.020,0.734,1.010,
+0.099,0.090,0.071,0.100,1.240,0.095,0.717,1.170,1.100,1.220,
+1.770,1.440,1.680,0.893,0.957,1.630,1.230,1.300,0.830,1.200,
+1.570,0.089,0.989,1.720,2.040,1.450,1.510,2.600,4.050,2.700,
+2.010,2.960,2.850,2.150,1.700,1.760,2.450,0.315,1.480,1.870,
+2.700,2.420,1.600,2.400,3.670,2.460,1.340,1.440,2.720,1.930,
+1.720,1.460,2.210,0.282,1.530,1.960,1.270,1.690,1.130,1.650,
+1.460,1.590,0.989,1.220,0.194,0.203,0.150,0.250,1.210,0.184,
+0.829,0.961,0.997,1.590,0.953,1.230,1.920,1.140,0.913,1.610,
+1.750,1.570,0.980,1.450,1.320,0.184,0.924,1.420,1.440,1.300,
+1.400,2.170,3.870,2.850,1.420,1.890,3.290,2.740,1.830,1.430,
+2.380,0.472,1.370,1.680,1.440,2.280,1.190,1.890,2.880,2.740,
+1.210,1.240,2.780,2.020,1.610,1.380,2.590,0.619,1.860,2.170,
+1.060,2.190,1.050,1.910,1.630,2.450,1.130,1.150,0.308,0.358,
+0.238,0.213,2.100,0.439,1.660,1.710,1.020,2.730,1.350,1.410,
+1.200,1.000,0.538,0.840,1.790,1.660,0.932,1.060,1.280,0.187,
+1.080,1.350,0.972,1.390,1.010,1.640,1.590,1.240,0.743,0.933,
+1.970,1.570,1.320,1.080,1.850,0.296,1.080,1.390,0.998,1.240,
+1.010,1.530,0.169,0.213,0.130,0.130,0.262,0.279,0.244,0.168,
+0.220,0.080,0.245,0.250,0.127,0.315,0.160,0.205,0.735,0.958,
+0.677,0.612,0.106,0.136,0.101,0.106,1.010,0.190,0.777,0.919,
+0.527,1.070,0.714,0.781,0.655,0.484,0.359,0.525,0.970,1.000,
+0.739,0.836,0.921,0.163,0.772,0.991,0.682,0.878,0.914,1.160,
+1.750,1.010,0.727,1.260,0.956,0.680,0.537,0.654,1.130,0.147,
+0.597,0.939,1.080,0.944,0.722,1.620,1.770,1.710,1.160,1.170,
+1.690,1.470,1.250,1.080,1.270,0.188,1.190,1.630,0.995,1.550,
+0.922,1.360,0.801,0.900,1.180,0.869,0.107,0.098,0.130,0.112,
+0.816,0.122,0.706,0.860,0.555,0.966,0.808,0.886,1.120,0.726,
+0.573,0.973,0.754,0.755,0.631,0.786,1.150,0.125,0.975,1.490,
+1.210,1.280,1.300,2.050,3.220,2.360,1.390,1.870,2.930,2.640,
+1.820,1.570,1.720,0.255,0.964,1.230,1.250,1.610,0.901,1.380,
+4.880,3.040,1.410,1.410,4.150,2.490,2.120,1.680,2.080,0.372,
+1.680,1.720,1.050,1.720,0.912,1.230,1.160,1.690,0.966,0.940,
+0.204,0.287,0.216,0.226,0.981,0.189,0.975,0.944,0.616,1.340,
+0.912,1.080,1.060,0.648,0.613,0.894,1.240,1.460,0.912,1.120,
+0.777,0.116,0.691,0.913,0.753,0.815,0.862,1.550,2.330,2.540,
+1.050,1.200,2.590,3.180,1.840,1.300,1.820,0.354,1.140,1.370,
+0.832,1.680,0.737,1.150,2.020,2.250,1.020,0.945,1.560,0.672,
+1.360,1.090,1.850,0.553,1.460,1.810,0.668,1.830,0.980,1.080,
+1.090,2.680,1.180,1.100,0.275,0.565,0.309,0.261,1.790,0.504,
+1.490,1.690,0.765,2.730,1.230,1.320,0.712,0.783,0.460,0.587,
+1.280,1.960,0.930,0.997,1.020,0.176,0.873,1.340,0.618,1.040,
+0.668,1.340,1.580,1.510,0.715,0.839,2.910,2.850,1.910,1.330,
+1.740,0.375,1.210,1.430,0.810,1.620,0.994,1.260,0.222,0.339,
+0.150,0.143,0.667,0.602,0.464,0.226,0.321,0.195,0.426,0.308,
+0.112,0.509,0.209,0.167,0.913,1.590,0.939,0.850,0.244,0.414,
+0.234,0.177,1.190,0.298,1.060,1.180,0.512,1.660,1.030,0.905,
+0.592,0.575,0.426,0.562,1.440,2.110,1.470,1.490,1.070,0.204,
+1.120,1.320,0.610,1.020,1.020,1.230,1.120,0.868,0.571,0.768,
+1.100,0.933,0.617,0.593,0.810,0.114,0.539,0.735,0.655,0.766,
+0.538,0.944,1.440,1.770,1.010,0.981,2.310,2.120,1.470,1.200,
+1.580,0.326,1.310,1.640,0.718,1.870,0.950,1.120,0.648,1.120,
+0.792,0.791,0.106,0.172,0.115,0.133,0.787,0.148,0.886,0.974,
+0.494,1.200,0.882,0.945,0.680,0.570,0.441,0.639,0.743,0.974,
+0.640,0.857,0.770,0.104,0.791,1.020,0.768,1.390,0.938,1.430,
+1.990,1.680,1.110,1.320,1.860,1.370,1.020,1.080,1.710,0.217,
+0.743,0.991,1.260,1.200,0.647,1.100,2.270,2.590,1.030,1.170,
+2.520,2.150,1.730,1.420,3.460,0.600,2.010,2.140,1.050,1.990,
+0.856,1.170,1.210,1.850,0.958,1.160,0.221,0.305,0.200,0.265,
+1.210,0.283,0.993,1.120,0.925,1.570,0.769,1.110,0.972,0.834,
+0.458,0.909,1.500,1.410,0.812,1.030,1.260,0.198,1.040,1.390,
+1.380,1.030,1.030,1.950,0.150,0.188,0.123,0.113,0.287,0.388,
+0.491,0.203,0.196,0.077,0.150,0.168,0.105,0.216,0.110,0.144,
+0.204,0.334,0.122,0.118,0.400,0.546,0.368,0.244,0.505,0.358,
+0.388,0.412,0.128,0.398,0.140,0.157,0.122,0.326,0.194,0.128,
+0.077,0.198,0.139,0.073,0.280,0.185,0.328,0.289,0.117,0.371,
+0.205,0.176,0.111,0.118,0.068,0.109,0.348,0.453,0.222,0.253,
+0.214,0.068,0.241,0.269,0.136,0.177,0.174,0.249,1.400,1.390,
+0.876,0.796,1.910,2.190,1.620,1.140,2.020,0.465,1.470,1.600,
+1.260,1.510,1.210,1.310,0.161,0.339,0.138,0.110,0.275,0.520,
+0.399,0.196,0.362,0.221,0.526,0.376,0.145,0.376,0.211,0.163,
+1.060,2.050,1.090,0.901,0.263,0.463,0.290,0.210,1.860,0.586,
+1.250,1.670,0.872,2.090,1.210,1.030,0.688,0.772,0.473,0.540,
+1.670,2.410,1.390,1.280,2.440,0.791,2.330,2.180,0.828,1.960,
+1.270,1.250,1.030,0.757,0.491,0.743,0.879,0.639,0.493,0.538,
+0.891,0.128,0.565,0.968,0.764,0.764,0.485,1.000,1.520,1.900,
+0.860,0.965,2.000,2.240,1.460,1.280,2.100,0.419,1.790,2.230,
+1.030,2.060,1.090,1.280,0.897,1.670,0.963,0.921,0.136,0.266,
+0.172,0.156,1.620,0.371,1.420,1.600,0.835,2.020,1.230,1.220,
+0.756,0.666,0.473,0.663,0.908,1.090,0.788,0.829,1.450,0.234,
+1.580,1.750,1.230,1.470,1.200,1.550,1.660,1.040,0.763,1.210,
+1.080,0.705,1.150,0.895,1.020,0.117,0.444,0.799,1.010,0.906,
+0.540,1.150,1.230,0.927,0.452,0.675,0.940,0.704,0.563,0.688,
+1.120,0.184,0.605,0.896,0.710,0.863,0.444,0.772,0.669,0.748,
+0.402,0.630,0.074,0.080,0.054,0.105,0.534,0.077,0.371,0.592,
+0.504,0.622,0.439,0.722,0.823,0.549,0.413,0.843,0.756,0.652,
+0.449,0.759,0.685,0.071,0.444,0.909,0.927,0.711,0.725,1.840,
+1.870,1.510,1.500,1.240,1.890,1.880,6.170,1.880,1.610,0.340,
+1.140,1.350,1.010,1.620,0.858,1.340,1.580,1.710,0.701,0.871,
+1.920,1.980,1.510,1.260,3.530,1.350,1.450,2.630,1.270,3.230,
+0.862,1.530,0.873,1.430,0.767,0.779,0.140,0.216,0.181,0.159,
+1.170,0.257,1.090,1.300,0.759,1.590,0.870,1.160,0.843,0.762,
+0.489,0.809,1.560,1.670,1.040,1.270,1.060,0.172,0.898,1.330,
+0.974,1.140,1.020,1.930,1.000,0.829,0.541,0.684,1.250,1.140,
+1.040,0.911,1.210,0.217,0.779,1.110,0.841,0.944,0.801,1.280,
+0.083,0.114,0.057,0.087,0.142,0.186,0.156,0.108,0.127,0.055,
+0.129,0.150,0.091,0.176,0.099,0.121,0.591,1.000,0.534,0.591,
+0.091,0.133,0.105,0.096,1.050,0.174,0.712,0.874,0.597,1.030,
+1.050,0.831,0.566,0.596,0.392,0.569,0.993,1.060,0.746,0.956,
+1.070,0.198,0.904,1.170,0.680,0.952,0.886,1.170,1.230,0.781,
+0.575,0.905,0.836,0.660,0.615,0.614,0.908,0.115,0.546,0.853,
+0.820,0.698,0.612,1.270,0.954,0.852,0.504,0.699,0.976,0.887,
+0.698,0.755,0.927,0.118,0.675,1.040,0.784,0.991,0.661,1.050,
+0.876,1.010,0.651,0.826,0.132,0.109,0.070,0.095,0.984,0.125,
+0.844,1.200,0.852,1.290,1.180,1.310,1.160,0.812,0.682,1.240,
+1.270,1.660,0.909,1.120,1.500,0.145,1.280,2.030,1.740,1.630,
+1.600,2.040,2.040,1.440,1.140,1.780,1.580,1.200,1.050,1.140,
+1.410,0.167,0.676,0.934,1.450,1.250,0.816,1.170,1.540,0.893,
+0.626,0.717,1.070,0.792,0.779,0.711,0.993,0.130,0.716,0.835,
+0.635,0.818,0.540,0.715,0.871,0.884,0.638,0.778,0.107,0.099,
+0.091,0.182,0.665,0.081,0.454,0.644,0.527,0.814,0.623,0.706,
+1.200,0.589,0.514,0.937,1.030,0.778,0.810,0.955,0.806,0.084,
+0.477,0.787,0.881,0.577,0.805,1.310,2.580,1.720,1.110,1.460,
+2.350,1.960,1.760,1.490,1.640,0.243,0.875,1.050,1.100,1.380,
+0.753,1.110,1.800,1.570,0.996,0.938,1.670,1.140,1.480,1.080,
+1.710,0.274,1.150,1.460,0.805,1.340,0.649,0.827,1.700,1.860,
+1.280,1.120,0.215,0.285,0.252,0.230,1.580,0.269,1.260,1.460,
+0.851,1.760,1.080,1.070,1.090,0.782,0.593,0.835,1.520,1.760,
+1.490,1.270,0.997,0.124,0.770,0.924,0.799,0.819,0.923,1.220,
+1.700,0.887,0.722,0.995,1.970,1.560,1.610,1.640,4.800,0.625,
+1.290,1.360,1.610,1.600,1.120,1.400,0.196,0.183,0.115,0.139,
+0.246,0.282,0.267,0.230,0.493,0.120,0.302,0.262,0.261,0.519,
+0.173,0.244,0.776,1.000,0.829,0.640,0.123,0.139,0.128,0.142,
+0.950,0.180,0.602,0.665,0.621,1.510,0.629,0.610,0.624,0.416,
+0.400,0.493,1.040,1.040,0.980,0.974,1.060,0.148,0.699,0.788,
+0.763,0.789,0.684,1.010,1.610,0.688,0.612,1.210,1.040,0.646,
+0.750,1.430,1.470,0.157,0.571,0.877,1.500,1.020,0.627,1.490,
+1.490,0.925,0.737,0.822,1.380,0.976,1.080,1.120,1.590,0.226,
+1.080,1.290,1.590,1.660,0.711,1.100,0.944,0.860,0.831,0.876,
+0.102,0.096,0.099,0.140,0.835,0.117,0.632,0.977,0.645,1.140,
+0.841,1.100,1.210,0.658,0.607,1.030,0.900,0.764,0.710,1.010,
+1.190,0.122,0.865,1.380,1.480,1.250,1.260,2.380,0.174,0.130,
+0.090,0.116,0.168,0.166,0.146,0.123,0.126,0.025,0.104,0.092,
+0.101,0.122,0.087,0.097,0.466,0.188,0.117,0.112,0.227,0.219,
+0.211,0.150,0.157,0.048,0.275,0.143,0.074,0.141,0.094,0.102,
+0.091,0.122,0.084,0.083,0.023,0.033,0.029,0.029,0.090,0.021,
+0.106,0.104,0.054,0.142,0.098,0.095,0.098,0.062,0.054,0.087,
+0.145,0.167,0.143,0.135,0.113,0.017,0.080,0.187,0.083,0.086,
+0.094,0.144,0.186,0.200,0.104,0.118,0.239,0.312,0.258,0.157,
+0.163,0.047,0.114,0.112,0.083,0.165,0.084,0.102,0.249,0.291,
+0.137,0.124,0.293,0.256,0.324,0.204,0.255,0.088,0.196,0.211,
+0.089,0.198,0.104,0.102,0.140,0.255,0.169,0.121,0.047,0.106,
+0.089,0.050,0.247,0.106,0.235,0.229,0.095,0.285,0.168,0.143,
+0.102,0.104,0.080,0.084,0.214,0.437,0.243,0.179,0.133,0.025,
+0.118,0.130,0.077,0.103,0.103,0.146,0.143,0.123,0.080,0.083,
+0.237,0.287,0.282,0.170,0.489,0.151,0.235,0.160,0.129,0.253,
+0.131,0.136,0.025,0.049,0.026,0.023,0.063,0.103,0.105,0.052,
+0.122,0.104,0.110,0.065,0.028,0.125,0.040,0.031,0.111,0.252,
+0.169,0.108,0.036,0.076,0.067,0.039,0.191,0.083,0.168,0.164,
+0.116,0.454,0.149,0.123,0.085,0.077,0.067,0.066,0.173,0.274,
+0.215,0.220,0.168,0.042,0.169,0.161,0.082,0.144,0.112,0.136,
+0.168,0.136,0.096,0.136,0.149,0.136,0.122,0.156,0.174,0.031,
+0.106,0.127,0.160,0.160,0.108,0.183,0.270,0.287,0.206,0.181,
+0.373,0.409,0.400,0.299,0.447,0.110,0.370,0.326,0.309,0.646,
+0.229,0.257,0.107,0.162,0.157,0.129,0.022,0.050,0.035,0.037,
+0.175,0.045,0.169,0.219,0.100,0.249,0.186,0.235,0.146,0.122,
+0.102,0.133,0.161,0.255,0.152,0.231,0.194,0.029,0.164,0.301,
+0.171,0.207,0.198,0.286,1.290,0.880,0.634,0.903,1.010,0.894,
+0.732,0.739,0.819,0.124,0.759,0.634,0.558,0.566,0.509,0.584,
+1.050,1.020,0.524,0.587,1.200,1.190,1.170,0.759,1.250,0.220,
+0.999,1.020,0.500,0.858,0.471,0.532,0.715,1.120,0.799,0.762,
+0.171,0.263,0.240,0.223,1.410,0.247,0.781,0.874,0.595,2.010,
+0.612,0.664,0.592,0.460,0.357,0.593,0.886,0.897,0.945,0.833,
+0.894,0.144,0.756,1.020,0.653,0.845,0.691,1.420,0.121,0.127,
+0.071,0.092,0.189,0.267,0.184,0.143,0.116,0.040,0.097,0.105,
+0.063,0.108,0.060,0.082,0.116,0.143,0.070,0.066,0.212,0.242,
+0.240,0.135,0.174,0.079,0.209,0.176,0.072,0.130,0.070,0.062,
+0.093,0.232,0.159,0.102,0.048,0.116,0.118,0.054,0.182,0.093,
+0.243,0.201,0.072,0.252,0.120,0.099,0.091,0.089,0.060,0.089,
+0.203,0.324,0.287,0.222,0.144,0.033,0.161,0.175,0.082,0.118,
+0.112,0.165,0.785,0.703,0.557,0.480,1.170,1.340,2.310,0.843,
+1.120,0.249,1.030,0.997,0.463,0.725,0.697,0.724,0.096,0.178,
+0.118,0.069,0.172,0.284,1.060,0.147,0.191,0.091,0.314,0.184,
+0.105,0.189,0.122,0.100,0.787,1.260,0.788,0.599,0.158,0.212,
+0.221,0.148,1.030,0.239,0.516,0.688,0.397,0.911,0.691,0.573,
+0.398,0.406,0.304,0.324,0.784,1.020,0.895,0.764,0.802,0.171,
+0.929,0.968,0.371,0.621,0.574,0.634,0.667,0.430,0.392,0.519,
+0.659,0.477,0.551,0.450,0.626,0.093,0.535,0.876,0.607,0.469,
+0.354,0.587,0.921,0.939,0.655,0.546,1.250,1.360,2.450,0.885,
+1.380,0.254,1.380,1.470,1.620,1.390,0.774,0.865,0.667,0.965,
+0.655,0.623,0.115,0.227,0.149,0.128,0.934,0.175,0.989,1.050,
+0.516,1.110,0.775,0.787,0.544,0.451,0.325,0.460,0.825,0.925,
+0.601,0.635,0.826,0.120,0.898,1.120,0.630,0.846,0.721,0.965,
+1.210,0.666,0.542,1.040,0.647,0.491,0.450,0.534,0.581,0.075,
+0.348,0.495,0.595,0.519,0.463,0.711,0.779,0.574,0.357,0.439,
+0.615,0.495,0.414,0.397,0.497,0.056,0.329,0.445,0.319,0.369,
+0.274,0.383,0.560,0.858,0.383,0.490,0.064,0.079,0.058,0.084,
+0.465,0.068,0.293,0.425,0.351,0.612,0.330,0.477,0.651,0.458,
+0.342,0.592,0.576,0.562,0.541,0.595,0.500,0.060,0.341,0.534,
+0.670,0.524,0.723,1.120,1.570,1.260,0.719,1.210,1.360,1.340,
+1.210,1.010,0.986,0.154,0.690,0.901,0.715,0.925,0.566,0.932,
+1.290,1.280,0.643,0.762,1.590,1.600,1.240,1.000,1.190,0.222,
+0.970,1.220,0.599,0.982,0.552,0.744,0.883,1.650,0.981,0.854,
+0.119,0.239,0.189,0.152,1.080,0.203,1.040,1.240,0.682,1.390,
+0.860,1.080,0.838,0.756,0.584,0.774,1.240,1.640,1.550,1.280,
+0.942,0.145,0.899,1.020,0.766,0.926,1.020,1.330,0.981,0.825,
+0.573,0.878,1.020,0.983,1.070,0.915,1.060,0.177,0.732,0.945,
+0.555,0.665,0.576,0.846,0.104,0.157,0.065,0.096,0.140,0.198,
+0.215,0.128,0.111,0.044,0.143,0.150,0.073,0.137,0.084,0.091,
+1.080,5.150,0.773,0.838,0.096,0.271,0.109,0.118,0.897,0.215,
+0.598,0.840,0.501,1.080,0.693,0.666,0.560,1.110,0.388,0.515,
+0.864,1.350,0.874,0.949,0.758,0.116,0.692,0.903,0.535,0.655,
+0.706,0.854,1.270,0.645,0.618,0.964,0.818,0.723,0.658,0.665,
+0.857,0.134,0.579,0.950,0.640,0.514,0.506,0.984,1.120,0.854,
+0.497,0.672,0.970,1.070,0.900,0.744,0.758,0.098,0.671,1.030,
+0.784,0.763,0.554,0.771,0.828,1.490,0.733,0.875,0.119,0.382,
+0.088,0.118,0.968,0.167,0.846,1.190,0.707,1.110,0.908,1.040,
+1.210,1.130,0.713,1.130,1.720,4.970,1.030,1.230,1.200,0.249,
+0.949,1.440,1.220,1.230,1.170,1.600,2.490,1.370,1.210,2.240,
+1.430,0.802,0.726,1.010,1.370,0.125,0.616,0.953,1.780,1.340,
+0.831,1.460,1.440,0.653,0.502,0.690,0.863,0.459,0.495,0.497,
+0.839,0.078,0.913,0.587,0.655,0.618,0.381,0.594,1.070,0.626,
+0.510,0.877,0.095,0.062,0.057,0.137,0.571,0.052,0.322,0.564,
+0.577,0.654,0.469,0.769,1.560,0.656,0.631,1.370,1.060,0.659,
+0.666,1.250,0.793,0.070,0.467,0.803,1.250,0.798,0.855,1.910,
+1.650,0.851,0.564,1.010,0.970,0.666,0.530,0.683,0.773,0.089,
+0.354,0.565,0.765,0.728,0.366,0.827,1.010,0.647,0.393,0.561,
+0.605,0.380,0.426,0.450,0.703,0.073,0.381,0.542,0.511,0.530,
+0.303,0.566,0.902,0.713,0.583,0.747,0.085,0.079,0.064,0.091,
+0.673,0.066,0.369,0.566,0.555,0.752,0.468,0.657,0.800,0.503,
+0.492,0.883,0.778,0.650,0.519,0.677,0.568,0.048,0.339,0.546,
+0.600,0.489,0.487,1.100,1.420,0.599,0.506,0.908,0.972,0.550,
+0.552,0.857,1.510,0.147,0.411,0.641,1.300,0.905,0.533,1.270,
+0.126,0.073,0.048,0.093,0.108,0.069,0.073,0.097,0.122,0.015,
+0.059,0.089,0.150,0.184,0.067,0.149,0.581,0.465,0.440,0.528,
+0.055,0.040,0.041,0.069,0.496,0.062,0.252,0.388,0.477,0.706,
+0.413,0.554,0.575,0.304,0.344,0.575,0.635,0.432,0.413,0.639,
+0.596,0.055,0.338,0.561,0.666,0.546,0.537,1.020,2.110,0.737,
+0.692,1.550,0.943,0.514,0.526,1.030,1.450,0.140,0.537,0.888,
+2.470,1.380,0.760,2.110,1.610,0.781,0.618,0.864,1.040,0.602,
+0.744,0.800,1.180,0.104,0.598,0.888,1.410,1.370,0.667,1.340,
+0.887,0.660,0.598,0.886,0.077,0.052,0.049,0.098,0.745,0.061,
+0.404,0.640,0.749,0.874,0.582,0.940,1.520,0.741,0.703,1.410,
+0.873,0.609,0.624,0.974,1.270,0.086,0.694,1.380,1.990,1.410,
+1.360,3.060,2.220,1.220,0.894,1.480,1.320,1.000,0.808,0.875,
+1.100,0.144,1.100,0.863,1.150,1.190,0.686,1.170,2.000,1.060,
+0.798,0.957,1.180,0.884,0.887,0.730,1.080,0.177,4.450,1.210,
+0.631,0.967,0.843,0.854,0.814,0.844,0.616,0.847,0.096,0.106,
+0.085,0.126,0.666,0.086,0.584,0.778,0.581,0.992,0.612,0.915,
+0.866,0.482,0.509,0.835,0.923,0.848,0.684,0.878,0.737,0.089,
+0.551,0.889,0.783,0.739,0.708,1.400,1.620,1.170,0.681,1.080,
+1.330,1.270,0.895,0.869,0.890,0.146,0.472,0.708,0.784,1.160,
+0.460,0.916,1.360,1.210,0.602,0.746,1.160,0.951,0.879,0.801,
+1.210,0.206,0.755,0.928,0.562,1.010,0.477,0.678,0.888,1.270,
+0.817,0.925,0.151,0.235,0.137,0.149,1.150,0.189,0.752,0.967,
+0.735,1.460,0.739,1.030,0.724,0.694,0.700,0.735,1.140,2.000,
+0.877,0.905,0.682,0.078,0.494,0.724,0.598,0.657,0.574,1.140,
+1.310,0.759,0.541,0.828,1.160,1.020,0.836,0.940,1.670,0.290,
+0.877,0.793,1.070,1.570,0.689,1.250,0.099,0.130,0.067,0.090,
+0.131,0.171,0.125,0.109,0.216,0.086,0.254,0.130,0.130,0.367,
+0.105,0.129,0.765,0.962,0.765,0.735,0.087,0.134,0.082,0.103,
+0.835,0.154,0.492,0.681,0.685,1.650,0.626,0.818,0.736,0.466,
+0.475,0.632,0.923,1.020,0.759,0.957,0.881,0.100,0.649,0.869,
+0.729,0.810,0.715,1.180,1.420,0.757,0.643,1.100,0.834,0.561,
+0.526,0.763,0.999,0.114,0.544,0.703,1.270,1.170,0.709,1.410,
+1.480,1.220,0.869,0.962,1.340,1.130,1.040,0.994,1.580,0.244,
+1.190,1.180,1.400,2.880,0.974,1.360,0.773,0.936,0.793,0.879,
+0.084,0.105,0.070,0.101,0.766,0.094,0.591,0.863,0.671,1.140,
+0.737,1.170,1.040,0.643,0.669,0.952,0.898,0.858,0.616,0.918,
+1.030,0.094,0.731,1.570,1.370,1.230,1.060,2.000,1.630,1.000,
+0.624,1.070,0.864,0.666,0.508,0.620,0.888,0.091,0.470,0.686,
+0.850,0.687,0.429,0.805,1.510,1.180,0.577,0.815,1.070,0.866,
+0.702,0.666,1.120,0.156,0.911,0.941,0.724,1.010,0.542,0.838,
+0.901,1.120,0.787,1.030,0.142,0.172,0.127,0.200,0.989,0.138,
+0.655,1.030,0.703,1.230,0.633,1.060,0.892,0.610,0.452,0.879,
+0.862,0.836,0.689,0.853,1.020,0.125,0.785,1.100,1.070,0.785,
+0.865,1.770,0.110,0.099,0.059,0.107,0.101,0.125,0.085,0.092,
+0.082,0.025,0.064,0.078,0.080,0.136,0.071,0.107,0.108,0.110,
+0.053,0.065,0.123,0.153,0.108,0.084,0.125,0.038,0.126,0.110,
+0.063,0.121,0.060,0.078,0.084,0.147,0.081,0.098,0.021,0.049,
+0.035,0.026,0.150,0.044,0.117,0.175,0.084,0.192,0.109,0.153,
+0.102,0.081,0.057,0.111,0.153,0.208,0.139,0.167,0.124,0.022,
+0.104,0.146,0.115,0.110,0.102,0.189,1.110,0.755,0.531,0.604,
+1.010,1.060,0.957,0.751,1.010,0.198,0.666,0.791,0.646,0.946,
+0.728,0.973,0.105,0.130,0.063,0.069,0.106,0.152,0.153,0.080,
+0.125,0.041,0.135,0.115,0.089,0.216,0.102,0.121,0.954,1.480,
+0.690,0.776,0.133,0.196,0.119,0.124,1.070,0.198,0.585,0.778,
+0.627,1.440,0.725,0.832,0.688,0.570,0.423,0.563,1.010,1.170,
+0.829,0.925,1.190,0.170,0.982,1.100,0.781,1.070,0.926,1.130,
+0.967,0.563,0.460,0.756,0.719,0.526,0.461,0.657,0.806,0.096,
+0.528,0.826,0.890,0.809,0.556,1.150,1.310,1.120,0.788,0.838,
+1.090,1.100,1.040,0.890,1.280,0.170,1.030,1.470,1.250,1.570,
+0.884,1.400,1.120,1.300,0.866,1.050,0.106,0.163,0.114,0.134,
+1.190,0.162,0.929,1.150,0.940,1.570,1.060,1.290,1.020,0.688,
+0.586,0.859,0.906,0.946,0.709,0.869,1.300,0.125,1.080,1.400,
+1.230,1.280,1.190,1.840,2.570,1.030,0.819,1.770,1.010,0.617,
+0.528,0.856,0.923,0.095,0.490,0.929,1.180,0.850,0.691,1.540,
+1.210,0.754,0.465,0.900,0.923,0.574,0.448,0.645,0.753,0.074,
+0.558,0.715,0.584,0.615,0.504,0.879,0.879,0.957,0.504,1.030,
+0.078,0.080,0.057,0.128,0.609,0.065,0.428,0.735,0.635,0.763,
+0.533,0.956,1.300,0.684,0.604,1.360,0.850,0.634,0.671,1.050,
+0.907,0.075,0.625,1.240,1.490,0.925,1.200,2.680,1.360,0.869,
+0.590,1.340,0.910,0.773,0.699,0.814,0.699,0.081,0.417,0.748,
+0.699,0.738,0.503,1.060,0.991,0.781,0.401,0.620,0.851,0.636,
+0.493,0.676,0.829,0.120,0.547,0.797,0.568,0.738,0.456,0.741,
+0.818,0.951,0.594,0.909,0.076,0.094,0.066,0.095,0.899,0.105,
+0.599,0.980,0.865,1.130,0.707,1.210,0.922,0.635,0.542,0.953,
+1.000,0.901,0.807,1.040,0.867,0.081,0.582,0.978,0.988,0.841,
+0.875,1.730,1.580,1.030,0.696,1.130,1.230,0.951,0.863,1.280,
+1.260,0.169,0.696,1.060,1.020,1.020,0.918,1.880,0.127,0.159,
+0.064,0.123,0.108,0.127,0.095,0.116,0.101,0.027,0.090,0.117,
+0.113,0.161,0.100,0.186,1.130,2.020,0.736,1.120,0.091,0.125,
+0.078,0.130,1.270,0.147,0.734,1.150,1.060,1.450,0.941,1.480,
+1.220,0.924,0.639,0.981,1.250,1.180,0.886,1.310,1.290,0.125,
+0.981,1.480,1.230,1.090,1.230,1.950,2.860,1.230,0.967,2.050,
+1.330,0.984,0.841,1.210,1.530,0.136,0.828,1.480,1.920,1.370,
+1.410,3.290,2.100,1.480,0.879,1.310,1.550,1.470,0.964,1.220,
+1.500,0.139,1.010,1.710,1.490,1.530,1.140,2.110,1.840,1.900,
+1.220,1.820,0.127,0.171,0.090,0.161,1.880,0.174,1.480,2.110,
+2.140,2.220,1.990,2.660,3.520,1.640,1.540,2.940,2.020,2.320,
+1.360,2.110,2.490,0.166,1.920,3.120,3.470,2.120,2.480,4.050,
+0.196,0.160,0.098,0.142,0.171,0.131,0.108,0.093,0.165,0.030,
+0.106,0.124,0.150,0.147,0.115,0.146,0.254,0.249,0.092,0.092,
+0.181,0.154,0.126,0.089,0.168,0.038,0.108,0.109,0.090,0.128,
+0.092,0.094,0.122,0.124,0.096,0.092,0.018,0.024,0.031,0.018,
+0.125,0.031,0.324,0.119,0.090,0.144,0.481,0.118,0.166,0.081,
+0.076,0.100,0.138,0.112,0.094,0.107,0.102,0.017,0.105,0.093,
+0.096,0.079,0.121,0.110,0.215,0.172,0.087,0.115,0.186,0.187,
+0.130,0.102,0.152,0.035,0.099,0.112,0.082,0.142,0.088,0.105,
+0.206,0.235,0.098,0.097,0.215,0.220,0.148,0.106,0.203,0.084,
+0.156,0.156,0.066,0.166,0.123,0.111,0.105,0.157,0.086,0.088,
+0.029,0.054,0.040,0.024,0.147,0.059,0.151,0.119,0.063,0.179,
+0.107,0.102,0.091,0.065,0.051,0.071,0.129,0.142,0.093,0.106,
+0.119,0.024,0.111,0.120,0.079,0.098,0.081,0.135,0.116,0.077,
+0.054,0.070,0.112,0.103,0.091,0.078,0.133,0.032,0.080,0.094,
+0.069,0.088,0.085,0.106,0.019,0.023,0.012,0.011,0.024,0.030,
+0.025,0.014,0.024,0.019,0.030,0.027,0.011,0.033,0.018,0.020,
+0.066,0.068,0.076,0.049,0.018,0.020,0.020,0.014,0.090,0.036,
+0.077,0.072,0.039,0.086,0.083,0.057,0.061,0.039,0.033,0.050,
+0.085,0.075,0.070,0.073,0.078,0.020,0.093,0.090,0.048,0.072,
+0.073,0.086,0.141,0.069,0.054,0.095,0.072,0.055,0.049,0.063,
+0.095,0.014,0.043,0.073,0.095,0.086,0.079,0.139,0.163,0.134,
+0.077,0.082,0.139,0.113,0.096,0.079,0.125,0.026,0.087,0.111,
+0.085,0.143,0.084,0.116,0.080,0.083,0.130,0.086,0.010,0.016,
+0.030,0.013,0.092,0.020,0.080,0.085,0.056,0.098,0.099,0.079,
+0.113,0.058,0.056,0.085,0.069,0.064,0.067,0.079,0.097,0.012,
+0.078,0.108,0.089,0.094,0.098,0.180,0.223,0.243,0.122,0.146,
+0.231,0.243,0.165,0.121,0.163,0.045,0.128,0.143,0.090,0.154,
+0.121,0.122,0.284,0.458,0.155,0.131,0.320,0.270,0.221,0.134,
+0.193,0.096,0.239,0.169,0.074,0.196,0.132,0.099,0.126,0.193,
+0.174,0.098,0.034,0.056,0.074,0.031,0.235,0.060,0.596,0.233,
+0.112,0.297,1.170,0.234,0.094,0.069,0.061,0.066,0.157,0.176,
+0.125,0.096,0.141,0.050,0.175,0.126,0.086,0.111,0.200,0.130,
+0.245,0.312,0.119,0.119,0.281,0.442,0.262,0.165,0.210,0.082,
+0.146,0.153,0.076,0.210,0.092,0.112,0.233,0.396,0.139,0.131,
+0.321,0.281,0.332,0.178,0.248,0.169,0.239,0.267,0.082,0.259,
+0.175,0.120,0.133,0.381,0.167,0.158,0.074,0.206,0.107,0.048,
+0.265,0.174,0.279,0.249,0.095,0.506,0.255,0.174,0.093,0.105,
+0.057,0.069,0.193,0.321,0.155,0.133,0.165,0.046,0.127,0.140,
+0.089,0.170,0.093,0.132,0.113,0.146,0.061,0.066,0.225,0.250,
+0.195,0.109,0.149,0.053,0.125,0.112,0.056,0.121,0.093,0.101,
+0.038,0.135,0.029,0.020,0.097,0.133,0.123,0.033,0.070,0.106,
+0.100,0.066,0.012,0.068,0.033,0.021,0.166,0.204,0.284,0.116,
+0.117,0.106,0.080,0.042,0.164,0.090,0.171,0.142,0.062,0.202,
+0.166,0.098,0.067,0.056,0.053,0.076,0.202,0.217,0.181,0.144,
+0.123,0.048,0.165,0.145,0.047,0.099,0.097,0.097,0.084,0.072,
+0.049,0.060,0.087,0.080,0.079,0.050,0.077,0.018,0.047,0.056,
+0.053,0.064,0.051,0.080,0.158,0.238,0.109,0.093,0.225,0.215,
+0.148,0.103,0.138,0.059,0.135,0.139,0.076,0.238,0.103,0.114,
+0.068,0.134,0.107,0.088,0.023,0.039,0.027,0.018,0.124,0.044,
+0.139,0.128,0.055,0.146,0.177,0.109,0.073,0.060,0.053,0.067,
+0.084,0.097,0.072,0.085,0.101,0.026,0.103,0.121,0.086,0.119,
+0.107,0.127,0.155,0.247,0.062,0.078,0.269,0.117,0.073,0.068,
+0.105,0.025,0.057,0.064,0.067,0.084,0.041,0.055,0.314,1.540,
+0.155,0.118,0.183,0.259,0.137,0.094,0.183,0.104,0.137,0.128,
+0.070,0.241,0.080,0.082,0.091,0.274,0.090,0.077,0.023,0.046,
+0.029,0.023,0.105,0.038,0.104,0.091,0.051,0.141,0.111,0.077,
+0.071,0.097,0.049,0.055,0.102,0.136,0.071,0.069,0.100,0.021,
+0.076,0.094,0.073,0.084,0.076,0.131,0.018,0.033,0.010,0.011,
+0.040,0.053,0.037,0.020,0.025,0.023,0.021,0.019,8.27e-3,0.025,
+0.011,0.012,0.033,0.107,0.021,0.017,0.050,0.088,0.056,0.031,
+0.054,0.083,0.060,0.048,0.012,0.056,0.024,0.018,0.017,0.054,
+0.022,0.015,0.018,0.054,0.037,0.015,0.034,0.043,0.055,0.036,
+0.012,0.061,0.038,0.025,0.010,0.017,8.11e-3,0.011,0.038,0.065,
+0.036,0.028,0.028,0.017,0.032,0.029,0.013,0.021,0.019,0.025,
+0.081,0.092,0.051,0.047,0.094,0.112,0.147,0.057,0.144,0.051,
+0.096,0.083,0.048,0.094,0.079,0.058,0.015,0.057,0.016,0.011,
+0.026,0.048,0.051,0.014,0.044,0.049,0.050,0.032,0.010,0.040,
+0.021,0.014,0.065,0.139,0.091,0.060,0.029,0.067,0.055,0.018,
+0.150,0.091,0.130,0.118,0.046,0.155,0.148,0.076,0.047,0.044,
+0.039,0.034,0.095,0.141,0.118,0.074,0.134,0.048,0.160,0.142,
+0.048,0.113,0.086,0.080,0.059,0.052,0.029,0.040,0.053,0.043,
+0.039,0.034,0.131,0.017,0.037,0.049,0.063,0.055,0.040,0.057,
+0.110,0.173,0.065,0.064,0.116,0.141,0.121,0.071,0.165,0.058,
+0.111,0.120,0.095,0.152,0.087,0.084,0.063,0.133,0.083,0.067,
+0.017,0.055,0.025,0.016,0.145,0.059,0.112,0.117,0.055,0.151,
+0.130,0.094,0.063,0.052,0.043,0.045,0.083,0.122,0.086,0.065,
+0.115,0.025,0.112,0.115,0.081,0.120,0.094,0.115,0.162,0.125,
+0.066,0.107,0.098,0.080,0.057,0.058,0.097,0.013,0.044,0.071,
+0.097,0.098,0.050,0.092,0.112,0.217,0.049,0.067,0.076,0.068,
+0.049,0.048,0.079,0.019,0.045,0.063,0.054,0.078,0.049,0.076,
+0.072,0.090,0.057,0.076,0.012,0.015,0.012,0.015,0.083,0.014,
+0.058,0.059,0.050,0.081,0.099,0.070,0.088,0.058,0.044,0.094,
+0.085,0.079,0.055,0.072,0.081,0.012,0.053,0.073,0.093,0.100,
+0.074,0.166,0.160,0.155,0.083,0.112,0.157,0.172,0.147,0.110,
+0.148,0.037,0.086,0.117,0.094,0.179,0.070,0.112,0.170,0.242,
+0.075,0.109,0.199,0.250,0.132,0.124,0.201,0.096,0.143,0.229,
+0.084,0.230,0.084,0.120,0.091,0.151,0.079,0.091,0.022,0.046,
+0.029,0.022,0.137,0.043,0.136,0.135,0.077,0.219,0.142,0.122,
+0.078,0.066,0.046,0.073,0.142,0.164,0.101,0.134,0.121,0.024,
+0.095,0.122,0.098,0.145,0.095,0.167,0.088,0.079,0.045,0.065,
+0.102,0.099,0.094,0.068,0.156,0.046,0.080,0.096,0.119,0.130,
+0.089,0.134,0.011,0.025,8.36e-3,0.017,0.015,0.028,0.027,0.012,
+0.022,0.018,0.026,0.025,0.013,0.026,0.025,0.016,0.065,0.100,
+0.233,0.087,0.018,0.029,0.093,0.021,0.118,0.038,0.109,0.089,
+0.074,0.132,0.737,0.191,0.052,0.046,0.057,0.049,0.098,0.115,
+0.217,0.096,0.174,0.108,0.114,0.112,0.071,0.152,0.192,0.126,
+0.124,0.075,0.051,0.078,0.078,0.075,0.049,0.051,0.269,0.018,
+0.053,0.083,0.121,0.096,0.102,0.150,0.083,0.073,0.040,0.063,
+0.077,0.074,0.084,0.070,0.132,0.020,0.068,0.107,0.080,0.118,
+0.100,0.110,0.079,0.107,0.105,0.095,0.013,0.020,0.031,0.016,
+0.135,0.028,0.159,0.232,0.111,0.193,0.969,0.328,0.111,0.070,
+0.071,0.114,0.116,0.133,0.111,0.112,0.156,0.020,0.125,0.192,
+0.160,0.154,0.232,0.261,0.198,0.170,0.113,0.141,0.186,0.199,
+0.140,0.117,0.153,0.044,0.131,0.117,0.117,0.162,0.093,0.108,
+0.272,0.249,0.131,0.123,0.310,0.284,0.270,0.192,0.197,0.085,
+0.198,0.187,0.087,0.203,0.108,0.140,0.097,0.136,0.094,0.087,
+0.023,0.039,0.030,0.028,0.093,0.043,0.105,0.083,0.051,0.126,
+0.098,0.088,0.095,0.067,0.049,0.077,0.125,0.119,0.080,0.095,
+0.089,0.025,0.082,0.098,0.071,0.089,0.088,0.113,0.252,0.268,
+0.114,0.125,0.266,0.366,0.219,0.140,0.207,0.099,0.172,0.157,
+0.085,0.220,0.179,0.170,0.279,0.470,0.167,0.142,0.396,0.482,
+0.322,0.235,0.377,0.290,0.338,0.379,0.099,0.372,0.148,0.449,
+0.111,0.299,0.124,0.094,0.063,0.176,0.126,0.051,0.220,0.192,
+0.295,0.228,0.083,0.375,0.214,0.262,0.068,0.081,0.042,0.048,
+0.144,0.199,0.114,0.106,0.122,0.055,0.137,0.204,0.065,0.130,
+0.098,0.185,0.100,0.092,0.056,0.058,0.196,0.170,0.148,0.098,
+0.159,0.053,0.137,0.109,0.055,0.096,0.079,0.094,0.026,0.047,
+0.025,0.018,0.087,0.093,0.072,0.037,0.050,0.058,0.099,0.057,
+0.013,0.054,0.029,0.028,0.052,0.102,0.087,0.053,0.029,0.050,
+0.042,0.024,0.111,0.071,0.147,0.128,0.048,0.118,0.095,0.074,
+0.038,0.043,0.031,0.031,0.085,0.111,0.097,0.076,0.080,0.041,
+0.112,0.101,0.042,0.082,0.084,0.086,0.094,0.055,0.050,0.062,
+0.066,0.056,0.040,0.040,0.064,0.015,0.048,0.050,0.057,0.061,
+0.048,0.089,0.128,0.140,0.094,0.091,0.215,0.186,0.131,0.113,
+0.119,0.046,0.131,0.143,0.062,0.153,0.083,0.105,0.076,0.104,
+0.581,0.198,0.015,0.026,0.051,0.023,0.078,0.037,0.134,0.096,
+0.041,0.108,0.128,0.084,0.061,0.047,0.062,0.059,0.049,0.070,
+0.073,0.056,0.083,0.019,0.083,0.104,0.061,0.092,0.097,0.125,
+0.241,0.276,0.144,0.153,0.381,0.453,0.266,0.184,0.190,0.064,
+0.213,0.155,0.095,0.195,0.104,0.110,0.508,0.477,0.224,0.175,
+0.938,0.752,0.581,0.315,0.315,0.217,0.441,0.314,0.104,0.331,
+0.151,0.133,0.137,0.248,0.146,0.107,0.048,0.127,0.092,0.051,
+0.147,0.089,0.227,0.170,0.075,0.208,0.180,0.144,0.075,0.065,
+0.051,0.066,0.142,0.223,0.129,0.121,0.088,0.038,0.128,0.115,
+0.096,0.096,0.091,0.123,0.306,0.496,0.177,0.160,0.552,1.100,
+0.490,0.252,0.342,0.187,0.285,0.243,0.095,0.284,0.125,0.152,
+0.338,0.623,0.245,0.182,0.451,0.489,0.525,0.325,0.424,0.595,
+0.414,0.440,0.122,0.611,0.262,0.198,0.153,0.627,0.246,0.181,
+0.138,0.725,0.324,0.117,0.379,0.468,0.446,0.503,0.126,0.722,
+0.373,0.299,0.079,0.139,0.061,0.060,0.228,0.648,0.228,0.197,
+0.185,0.115,0.241,0.234,0.075,0.203,0.121,0.232,0.165,0.184,
+0.086,0.070,0.712,0.616,0.407,0.196,0.240,0.106,0.265,0.179,
+0.071,0.201,0.139,0.116,0.076,0.156,0.063,0.040,0.478,0.584,
+0.410,0.107,0.155,0.278,0.300,0.143,0.030,0.156,0.084,0.039,
+0.115,0.300,0.168,0.110,0.097,0.279,0.176,0.064,0.204,0.189,
+0.268,0.222,0.059,0.305,0.207,0.127,0.051,0.074,0.051,0.047,
+0.218,0.393,0.294,0.182,0.166,0.095,0.288,0.223,0.061,0.141,
+0.154,0.133,0.093,0.094,0.057,0.068,0.184,0.167,0.083,0.066,
+0.096,0.022,0.080,0.070,0.059,0.082,0.050,0.079,0.190,0.291,
+0.138,0.114,0.781,0.605,0.293,0.207,0.225,0.117,0.246,0.217,
+0.095,0.290,0.139,0.137,0.063,0.168,0.142,0.086,0.023,0.082,
+0.049,0.030,0.117,0.074,0.227,0.168,0.047,0.197,0.187,0.151,
+0.055,0.062,0.047,0.052,0.084,0.157,0.110,0.091,0.086,0.034,
+0.142,0.133,0.064,0.136,0.121,0.146,0.139,0.166,0.094,0.093,
+0.178,0.168,0.108,0.107,0.122,0.040,0.080,0.085,0.072,0.113,
+0.050,0.072,0.246,0.466,0.146,0.144,0.455,0.457,0.344,0.234,
+0.419,0.277,0.365,0.322,0.102,0.292,0.106,0.111,0.127,0.241,
+0.126,0.115,0.060,0.079,0.052,0.046,0.170,0.090,0.159,0.166,
+0.089,0.218,0.118,0.114,0.066,0.061,0.036,0.056,0.154,0.143,
+0.088,0.097,0.123,0.039,0.120,0.140,0.110,0.106,0.098,0.149,
+0.029,0.066,0.024,0.021,0.081,0.185,0.120,0.061,0.058,0.079,
+0.070,0.052,0.014,0.057,0.030,0.028,0.075,0.240,0.063,0.049,
+0.251,0.583,0.354,0.129,0.277,1.060,0.387,0.305,0.035,0.210,
+0.059,0.054,0.046,0.182,0.072,0.039,0.084,0.347,0.199,0.057,
+0.106,0.220,0.218,0.143,0.036,0.211,0.134,0.061,0.014,0.025,
+0.012,0.011,0.073,0.141,0.068,0.052,0.045,0.052,0.099,0.072,
+0.019,0.044,0.036,0.042,0.120,0.203,0.115,0.086,0.241,0.424,
+0.311,0.148,0.262,0.132,0.279,0.200,0.083,0.197,0.153,0.123,
+0.046,0.192,0.061,0.030,0.140,0.405,0.262,0.074,0.157,0.285,
+0.363,0.166,0.027,0.131,0.083,0.046,0.122,0.368,0.179,0.107,
+0.098,0.272,0.172,0.060,0.307,0.306,0.290,0.296,0.074,0.352,
+0.205,0.141,0.052,0.074,0.048,0.054,0.178,0.367,0.219,0.164,
+0.232,0.151,0.370,0.278,0.062,0.185,0.157,0.139,0.072,0.074,
+0.042,0.068,0.075,0.075,0.046,0.041,0.096,0.032,0.065,0.089,
+0.060,0.077,0.039,0.071,0.184,0.367,0.136,0.108,0.343,0.475,
+0.336,0.176,0.404,0.247,0.391,0.412,0.137,0.328,0.164,0.156,
+0.102,0.257,0.247,0.164,0.035,0.124,0.073,0.037,0.239,0.178,
+0.328,0.282,0.078,0.318,0.190,0.153,0.063,0.074,0.053,0.065,
+0.088,0.147,0.100,0.102,0.183,0.064,0.241,0.219,0.097,0.176,
+0.144,0.174,0.116,0.096,0.058,0.075,0.089,0.077,0.098,0.080,
+0.086,0.023,0.053,0.076,0.067,0.102,0.044,0.087,0.110,0.121,
+0.047,0.069,0.130,0.113,0.080,0.081,0.109,0.048,0.084,0.138,
+0.055,0.100,0.045,0.069,0.062,0.090,0.047,0.072,0.013,0.017,
+0.011,0.014,0.066,0.019,0.057,0.074,0.039,0.073,0.045,0.070,
+0.059,0.045,0.030,0.068,0.069,0.061,0.041,0.066,0.061,9.86e-3,
+0.052,0.082,0.067,0.066,0.058,0.146,0.165,0.166,0.124,0.107,
+0.201,0.292,0.591,0.232,0.179,0.071,0.148,0.194,0.081,0.213,
+0.094,0.127,0.189,0.333,0.105,0.141,0.338,0.584,0.330,0.242,
+0.461,0.333,0.329,0.840,0.134,0.497,0.129,0.220,0.110,0.240,
+0.109,0.093,0.050,0.115,0.073,0.040,0.169,0.093,0.218,0.208,
+0.082,0.298,0.167,0.143,0.063,0.067,0.041,0.059,0.170,0.226,
+0.132,0.158,0.122,0.040,0.135,0.174,0.079,0.140,0.093,0.217,
+0.080,0.099,0.048,0.059,0.139,0.175,0.151,0.101,0.141,0.043,
+0.123,0.124,0.068,0.104,0.085,0.103,0.015,0.031,0.012,0.023,
+0.041,0.076,0.055,0.027,0.030,0.037,0.054,0.049,0.013,0.035,
+0.026,0.020,0.060,0.142,0.077,0.066,0.024,0.053,0.040,0.021,
+0.155,0.081,0.174,0.144,0.052,0.167,0.148,0.096,0.042,0.046,
+0.036,0.048,0.090,0.132,0.099,0.102,0.123,0.047,0.142,0.129,
+0.054,0.111,0.098,0.098,0.079,0.070,0.043,0.059,0.063,0.066,
+0.050,0.045,0.095,0.014,0.066,0.073,0.057,0.061,0.046,0.088,
+0.079,0.106,0.051,0.061,0.117,0.146,0.102,0.086,0.149,0.035,
+0.119,0.133,0.070,0.118,0.074,0.108,0.067,0.106,0.090,0.080,
+0.014,0.025,0.019,0.015,0.111,0.047,0.158,0.152,0.064,0.158,
+0.182,0.122,0.080,0.060,0.049,0.083,0.095,0.132,0.097,0.111,
+0.147,0.026,0.156,0.183,0.129,0.198,0.167,0.212,0.101,0.102,
+0.072,0.086,0.102,0.120,0.096,0.076,0.099,0.024,0.077,0.073,
+0.073,0.090,0.058,0.061,0.100,0.104,0.079,0.061,0.107,0.108,
+0.117,0.086,0.095,0.051,0.113,0.090,0.044,0.097,0.064,0.070,
+0.059,0.082,0.053,0.059,0.013,0.021,0.022,0.021,0.054,0.020,
+0.059,0.080,0.033,0.080,0.060,0.050,0.061,0.042,0.032,0.051,
+0.077,0.118,0.067,0.065,0.064,0.013,0.043,0.105,0.048,0.048,
+0.049,0.068,0.156,0.181,0.104,0.095,0.208,0.283,0.262,0.129,
+0.148,0.057,0.123,0.108,0.074,0.130,0.085,0.078,0.203,0.316,
+0.152,0.113,0.273,0.286,0.347,0.176,0.227,0.218,0.265,0.290,
+0.091,0.259,0.132,0.124,0.132,0.266,0.162,0.107,0.055,0.149,
+0.168,0.063,0.235,0.147,0.323,0.267,0.086,0.276,0.213,0.128,
+0.072,0.090,0.048,0.056,0.180,0.460,0.177,0.145,0.108,0.036,
+0.118,0.113,0.060,0.082,0.106,0.108,0.100,0.080,0.070,0.067,
+0.159,0.185,0.211,0.132,0.483,0.106,0.201,0.131,0.095,0.156,
+0.100,0.092,0.023,0.036,0.024,0.020,0.052,0.083,0.111,0.059,
+0.111,0.118,0.111,0.062,0.027,0.119,0.041,0.032,0.067,0.140,
+0.135,0.081,0.037,0.061,0.075,0.048,0.132,0.076,0.132,0.112,
+0.069,0.305,0.109,0.084,0.039,0.036,0.040,0.033,0.092,0.146,
+0.170,0.108,0.104,0.044,0.108,0.086,0.048,0.091,0.075,0.079,
+0.069,0.042,0.036,0.052,0.057,0.050,0.053,0.059,0.081,0.014,
+0.049,0.050,0.086,0.081,0.042,0.075,0.114,0.097,0.067,0.061,
+0.116,0.115,0.128,0.100,0.181,0.150,0.196,0.147,0.117,0.259,
+0.090,0.093,0.061,0.092,0.096,0.075,0.018,0.021,0.028,0.021,
+0.092,0.035,0.106,0.113,0.049,0.146,0.105,0.092,0.070,0.050,
+0.042,0.055,0.080,0.070,0.074,0.078,0.104,0.023,0.093,0.104,
+0.087,0.100,0.107,0.136,0.014,0.020,0.018,0.011,0.025,0.048,
+0.036,0.018,0.020,0.015,0.043,0.019,6.68e-3,0.018,0.015,9.69e-3,
+0.042,0.061,0.046,0.024,0.075,0.106,0.117,0.047,0.049,0.079,
+0.171,0.058,0.013,0.054,0.038,0.030,0.013,0.038,0.022,0.011,
+0.015,0.027,0.030,0.013,0.025,0.025,0.057,0.032,8.36e-3,0.042,
+0.038,0.018,8.52e-3,9.02e-3,5.77e-3,8.69e-3,0.023,0.047,0.031,0.022,
+0.022,0.012,0.028,0.101,9.86e-3,0.017,0.017,0.017,0.032,0.058,
+0.032,0.015,0.090,0.188,0.161,0.049,0.047,0.053,0.069,0.039,
+9.53e-3,0.034,0.030,0.019,0.076,0.195,0.089,0.044,0.222,0.272,
+0.398,0.119,0.126,0.270,0.205,0.134,0.027,0.120,0.087,0.045,
+0.030,0.126,0.065,0.026,0.067,0.285,0.248,0.059,0.131,0.216,
+0.221,0.131,0.031,0.171,0.120,0.058,0.016,0.029,0.018,9.94e-3,
+0.065,0.221,0.102,0.049,0.039,0.031,0.067,0.036,0.015,0.029,
+0.034,0.030,0.023,0.034,0.023,0.013,0.073,0.151,0.151,0.048,
+0.183,0.117,0.133,0.055,0.017,0.082,0.036,0.023,0.021,0.075,
+0.032,0.017,0.091,0.252,0.221,0.060,0.180,0.457,0.216,0.103,
+0.019,0.178,0.058,0.028,0.031,0.093,0.076,0.028,0.049,0.151,
+0.177,0.038,0.106,0.163,0.213,0.110,0.036,0.203,0.107,0.049,
+0.013,0.022,0.018,9.86e-3,0.050,0.120,0.132,0.049,0.059,0.074,
+0.143,0.078,0.016,0.042,0.047,0.030,0.011,0.010,8.52e-3,0.010,
+0.016,0.023,0.020,0.016,0.022,8.77e-3,0.021,0.013,0.014,0.020,
+0.010,0.012,0.029,0.057,0.036,0.023,0.067,0.115,0.094,0.052,
+0.117,0.140,0.104,0.061,0.044,0.225,0.052,0.038,0.013,0.038,
+0.037,0.018,0.011,0.036,0.037,0.014,0.044,0.046,0.096,0.074,
+0.017,0.078,0.058,0.034,0.012,0.013,0.011,0.011,0.016,0.036,
+0.029,0.023,0.026,0.018,0.045,0.035,0.016,0.031,0.035,0.026,
+0.085,0.099,0.061,0.071,0.127,0.158,0.127,0.088,0.097,0.029,
+0.081,0.072,0.050,0.083,0.052,0.048,0.103,0.180,0.102,0.071,
+0.219,0.271,0.398,0.164,0.219,0.110,0.290,0.199,0.067,0.170,
+0.095,0.073,0.085,0.186,0.133,0.099,0.042,0.102,0.081,0.058,
+0.376,0.156,0.186,0.223,0.138,0.885,0.133,0.112,0.048,0.048,
+0.033,0.051,0.121,0.166,0.134,0.126,0.134,0.049,0.133,0.209,
+0.079,0.332,0.089,0.132,0.022,0.039,0.021,0.015,0.078,0.148,
+0.112,0.049,0.037,0.035,0.052,0.038,8.69e-3,0.029,0.018,0.016,
+0.045,0.107,0.051,0.030,0.153,0.247,0.293,0.093,0.091,0.166,
+0.229,0.123,0.031,0.089,0.051,0.031,0.028,0.138,0.073,0.031,
+0.052,0.214,0.228,0.063,0.124,0.244,0.224,0.148,0.023,0.185,
+0.110,0.058,0.015,0.023,0.014,0.011,0.049,0.114,0.082,0.058,
+0.038,0.040,0.077,0.058,0.014,0.042,0.031,0.048,0.080,0.122,
+0.107,0.055,0.208,0.366,1.350,0.194,0.190,0.096,0.340,0.182,
+0.061,0.123,0.130,0.092,0.034,0.102,0.091,0.023,0.112,0.262,
+1.730,0.109,0.111,0.177,0.377,0.114,0.044,0.083,0.075,0.031,
+0.111,0.267,0.196,0.101,0.090,0.211,0.285,0.064,0.273,0.219,
+0.252,0.314,0.065,0.264,0.285,0.125,0.045,0.061,0.051,0.037,
+0.143,0.284,0.326,0.153,0.152,0.100,0.290,0.238,0.058,0.120,
+0.138,0.099,0.057,0.053,0.039,0.043,0.069,0.072,0.112,0.052,
+0.079,0.024,0.082,0.086,0.175,0.066,0.043,0.052,0.120,0.180,
+0.147,0.078,0.267,0.336,1.470,0.211,0.300,0.190,0.381,0.259,
+0.776,0.335,0.187,0.138,0.082,0.209,0.143,0.099,0.037,0.124,
+0.098,0.041,0.202,0.126,0.311,0.296,0.100,0.326,0.230,0.161,
+0.054,0.059,0.043,0.053,0.094,0.148,0.115,0.096,0.126,0.051,
+0.216,0.193,0.092,0.146,0.127,0.116,0.091,0.073,0.051,0.070,
+0.078,0.077,0.062,0.068,0.069,0.016,0.050,0.053,0.057,0.072,
+0.046,0.066,0.073,0.086,0.044,0.045,0.102,0.080,0.081,0.052,
+0.059,0.021,0.054,0.061,0.033,0.056,0.041,0.044,0.063,0.089,
+0.053,0.055,0.016,0.021,0.019,0.018,0.084,0.025,0.051,0.076,
+0.042,0.120,0.054,0.058,0.063,0.044,0.035,0.048,0.073,0.074,
+0.062,0.063,0.059,0.013,0.047,0.071,0.059,0.076,0.063,0.093,
+0.135,0.163,0.087,0.098,0.211,0.255,0.248,0.147,0.140,0.054,
+0.136,0.119,0.073,0.142,0.074,0.110,0.192,0.297,0.133,0.112,
+0.416,0.440,0.412,0.222,0.236,0.144,0.314,0.286,0.095,0.253,
+0.132,0.129,0.124,0.313,0.174,0.113,0.056,0.167,0.162,0.065,
+0.221,0.137,0.302,0.290,0.088,0.389,0.236,0.170,0.077,0.090,
+0.058,0.068,0.180,0.291,0.239,0.196,0.153,0.054,0.198,0.174,
+0.077,0.138,0.129,0.144,0.101,0.145,0.066,0.088,0.165,0.216,
+0.271,0.147,0.158,0.059,0.186,0.152,0.058,0.110,0.105,0.110,
+0.024,0.043,0.019,0.029,0.059,0.124,0.152,0.049,0.051,0.064,
+0.111,0.080,0.016,0.041,0.046,0.022,0.119,0.421,0.140,0.110,
+0.051,0.112,0.103,0.050,0.200,0.141,0.232,0.209,0.078,0.258,
+0.244,0.141,0.056,0.079,0.051,0.056,0.146,0.223,0.214,0.175,
+0.136,0.062,0.199,0.181,0.062,0.109,0.139,0.122,0.081,0.056,
+0.046,0.062,0.071,0.068,0.068,0.055,0.075,0.016,0.070,0.075,
+0.065,0.064,0.051,0.081,0.089,0.112,0.058,0.063,0.120,0.149,
+0.187,0.108,0.112,0.047,0.112,0.139,0.123,0.122,0.091,0.099,
+0.074,0.151,0.097,0.095,0.022,0.053,0.037,0.026,0.145,0.065,
+0.200,0.232,0.074,0.179,0.193,0.139,0.090,0.085,0.066,0.092,
+0.190,0.328,0.143,0.139,0.134,0.031,0.158,0.184,0.102,0.132,
+0.181,0.141,0.137,0.113,0.088,0.131,0.113,0.081,0.066,0.073,
+0.107,0.014,0.087,0.074,0.112,0.102,0.063,0.101,0.139,0.098,
+0.071,0.078,0.102,0.069,0.066,0.058,0.094,0.018,0.334,0.075,
+0.095,0.115,0.083,0.092,0.095,0.084,0.057,0.084,0.011,0.011,
+0.010,0.015,0.059,0.011,0.042,0.059,0.056,0.089,0.062,0.081,
+0.099,0.056,0.051,0.093,0.089,0.072,0.054,0.102,0.066,8.27e-3,
+0.057,0.066,0.097,0.074,0.073,0.136,0.129,0.102,0.059,0.087,
+0.104,0.100,0.075,0.074,0.087,0.018,0.055,0.064,0.065,0.084,
+0.044,0.070,0.110,0.116,0.062,0.066,0.087,0.099,0.077,0.071,
+0.105,0.028,0.076,0.095,0.059,0.105,0.053,0.076,0.068,0.087,
+0.064,0.071,0.012,0.024,0.018,0.017,0.090,0.026,0.071,0.084,
+0.059,0.184,0.069,0.076,0.063,0.057,0.041,0.078,0.079,0.119,
+0.055,0.069,0.060,0.012,0.049,0.059,0.054,0.062,0.059,0.098,
+0.089,0.062,0.045,0.066,0.090,0.073,0.065,0.078,0.127,0.023,
+0.061,0.068,0.087,0.088,0.056,0.100,0.011,0.013,7.77e-3,0.010,
+0.012,0.015,0.016,0.011,0.015,9.44e-3,0.016,0.012,0.017,0.035,
+0.011,0.016,0.047,0.054,0.051,0.048,7.69e-3,0.010,0.010,0.011,
+0.059,0.017,0.044,0.051,0.047,0.108,0.056,0.055,0.037,0.028,
+0.029,0.045,0.057,0.054,0.053,0.058,0.065,0.012,0.050,0.057,
+0.057,0.066,0.056,0.087,0.119,0.074,0.051,0.108,0.066,0.046,
+0.045,0.075,0.112,0.016,0.049,0.072,0.216,0.126,0.059,0.136,
+0.117,0.092,0.054,0.070,0.087,0.074,0.067,0.073,0.104,0.017,
+0.068,0.091,0.138,0.235,0.086,0.149,0.073,0.086,0.078,0.089,
+0.011,9.69e-3,0.010,0.011,0.075,0.013,0.049,0.074,0.075,0.120,
+0.085,0.119,0.106,0.071,0.064,0.101,0.075,0.059,0.058,0.082,
+0.127,0.012,0.075,0.125,0.160,0.145,0.159,0.265,0.235,0.159,
+0.135,0.150,0.183,0.184,0.154,0.123,0.172,0.047,0.686,0.168,
+0.111,0.173,0.130,0.123,0.272,0.219,0.230,0.147,0.224,0.222,
+0.275,0.147,0.285,0.115,3.630,0.454,0.092,0.261,0.364,0.140,
+0.108,0.170,0.108,0.118,0.021,0.038,0.032,0.035,0.142,0.037,
+0.195,0.200,0.080,0.190,0.142,0.143,0.094,0.070,0.055,0.085,
+0.150,0.189,0.121,0.137,0.125,0.024,0.136,0.194,0.091,0.116,
+0.104,0.153,0.215,0.230,0.116,0.143,0.289,0.367,0.244,0.179,
+0.201,0.071,0.151,0.144,0.100,0.229,0.099,0.125,0.264,0.380,
+0.163,0.155,0.363,0.388,0.342,0.249,0.386,0.159,0.337,0.288,
+0.119,0.391,0.160,0.155,0.135,0.309,0.171,0.164,0.052,0.140,
+0.077,0.064,0.344,0.132,0.264,0.308,0.145,0.415,0.235,0.227,
+0.095,0.133,0.086,0.098,0.233,0.789,0.201,0.213,0.180,0.042,
+0.154,0.172,0.098,0.150,0.113,0.177,0.127,0.123,0.077,0.088,
+0.210,0.269,0.217,0.166,0.331,0.113,0.250,0.144,0.125,0.347,
+0.122,0.166,0.018,0.049,0.025,0.021,0.058,0.103,0.085,0.044,
+0.101,0.128,0.135,0.061,0.032,0.237,0.045,0.034,0.090,0.187,
+0.158,0.109,0.026,0.062,0.046,0.036,0.181,0.082,0.154,0.165,
+0.114,0.452,0.144,0.139,0.066,0.065,0.060,0.068,0.157,0.252,
+0.192,0.176,0.167,0.044,0.162,0.167,0.088,0.157,0.129,0.153,
+0.127,0.091,0.066,0.143,0.096,0.096,0.076,0.110,0.153,0.030,
+0.094,0.091,0.160,0.215,0.076,0.148,0.189,0.253,0.153,0.145,
+0.237,0.294,0.229,0.196,0.425,0.178,0.348,0.267,0.288,1.310,
+0.232,0.282,0.086,0.154,0.131,0.129,0.016,0.042,0.025,0.027,
+0.177,0.063,0.170,0.203,0.093,0.303,0.165,0.175,0.100,0.089,
+0.075,0.092,0.114,0.160,0.108,0.135,0.166,0.031,0.150,0.228,
+0.165,0.227,0.175,0.244,0.107,0.097,0.062,0.081,0.080,0.092,
+0.065,0.070,0.087,0.016,0.072,0.073,0.057,0.072,0.049,0.068,
+0.139,0.173,0.080,0.085,0.151,0.180,0.142,0.105,0.164,0.053,
+0.316,0.143,0.068,0.150,0.102,0.097,0.083,0.147,0.097,0.104,
+0.021,0.044,0.029,0.039,0.143,0.045,0.128,0.148,0.067,0.231,
+0.117,0.115,0.062,0.061,0.041,0.061,0.094,0.122,0.080,0.096,
+0.119,0.028,0.109,0.132,0.088,0.110,0.097,0.144,0.013,0.023,
+0.011,0.012,0.019,0.039,0.021,0.017,0.014,9.02e-3,0.022,0.015,
+8.02e-3,0.025,0.016,9.69e-3,0.025,0.045,0.020,0.013,0.053,0.097,
+0.060,0.030,0.042,0.045,0.072,0.037,0.014,0.044,0.027,0.020,
+0.014,0.043,0.020,0.015,0.013,0.040,0.028,0.015,0.039,0.041,
+0.051,0.048,0.015,0.064,0.051,0.026,0.012,0.014,8.77e-3,9.61e-3,
+0.025,0.050,0.030,0.028,0.023,0.016,0.031,0.030,0.015,0.022,
+0.018,0.026,0.095,0.097,0.062,0.051,0.132,0.223,0.228,0.111,
+0.161,0.065,0.164,0.125,0.059,0.144,0.115,0.098,0.020,0.046,
+0.024,0.012,0.043,0.089,0.112,0.026,0.052,0.054,0.088,0.052,
+0.015,0.063,0.039,0.021,0.144,0.239,0.125,0.097,0.051,0.115,
+0.081,0.037,0.248,0.132,0.162,0.189,0.075,0.282,0.178,0.125,
+0.073,0.070,0.053,0.053,0.166,0.255,0.201,0.151,0.221,0.077,
+0.244,0.202,0.104,0.155,0.152,0.140,0.079,0.069,0.043,0.066,
+0.073,0.074,0.060,0.058,0.102,0.020,0.073,0.083,0.084,0.089,
+0.058,0.091,0.132,0.174,0.097,0.095,0.177,0.223,0.236,0.128,
+0.223,0.075,0.221,0.218,0.175,0.288,0.173,0.171,0.146,0.201,
+0.181,0.118,0.026,0.058,0.063,0.026,0.218,0.081,0.225,0.234,
+0.120,0.279,0.200,0.164,0.090,0.075,0.075,0.077,0.101,0.142,
+0.150,0.108,0.187,0.033,0.199,0.203,0.125,0.173,0.163,0.179,
+0.147,0.093,0.064,0.119,0.100,0.070,0.062,0.096,0.093,0.013,
+0.057,0.092,0.086,0.086,0.056,0.116,0.110,0.094,0.051,0.077,
+0.108,0.081,0.060,0.074,0.088,0.015,0.133,0.084,0.060,0.084,
+0.062,0.107,0.076,0.088,0.048,0.083,0.011,0.014,9.36e-3,0.012,
+0.069,0.013,0.050,0.078,0.059,0.091,0.063,0.085,0.083,0.053,
+0.043,0.084,0.074,0.061,0.057,0.083,0.093,0.010,0.060,0.110,
+0.110,0.088,0.093,0.189,0.120,0.108,0.063,0.113,0.106,0.104,
+0.103,0.101,0.080,0.018,0.059,0.091,0.061,0.099,0.061,0.094,
+0.120,0.150,0.056,0.070,0.153,0.183,0.102,0.101,0.138,0.044,
+0.135,0.148,0.068,0.142,0.082,0.105,0.076,0.118,0.062,0.078,
+0.014,0.031,0.022,0.019,0.125,0.035,0.101,0.130,0.081,0.180,
+0.109,0.129,0.077,0.061,0.051,0.079,0.103,0.122,0.091,0.116,
+0.102,0.018,0.082,0.117,0.092,0.108,0.097,0.175,0.131,0.181,
+0.066,0.085,0.130,0.150,0.133,0.132,0.143,0.041,0.104,0.123,
+0.086,0.126,0.108,0.163,0.017,0.049,8.94e-3,0.015,0.023,0.033,
+0.030,0.021,0.021,0.018,0.029,0.025,0.014,0.034,0.017,0.027,
+0.113,0.201,0.094,0.111,0.022,0.036,0.028,0.024,0.180,0.053,
+0.129,0.169,0.107,0.203,0.168,0.211,0.089,0.088,0.058,0.081,
+0.143,0.171,0.142,0.154,0.160,0.034,0.159,0.201,0.115,0.135,
+0.144,0.192,0.164,0.104,0.076,0.121,0.096,0.085,0.074,0.090,
+0.143,0.020,0.074,0.120,0.124,0.121,0.107,0.205,0.162,0.185,
+0.081,0.112,0.157,0.172,0.120,0.126,0.166,0.031,0.126,0.193,
+0.128,0.203,0.124,0.206,0.132,0.180,0.183,0.159,0.017,0.029,
+0.029,0.020,0.218,0.045,0.195,0.254,0.149,0.252,0.258,0.256,
+0.210,0.125,0.123,0.195,0.184,0.188,0.152,0.215,0.240,0.026,
+0.215,0.315,0.242,0.207,0.226,0.282,2.490,1.530,1.270,2.090,
+1.500,1.140,1.090,1.090,1.590,0.170,0.960,1.200,1.840,1.560,
+1.160,1.650,1.950,1.350,0.973,1.120,1.330,1.020,0.987,0.798,
+1.640,0.212,1.060,1.120,0.902,1.200,0.922,0.990,1.170,1.010,
+0.990,0.999,0.120,0.121,0.115,0.151,1.920,0.162,0.753,0.742,
+0.873,1.190,0.891,0.915,1.760,0.877,0.869,1.480,1.270,1.020,
+1.010,1.300,1.070,0.115,0.826,0.969,1.210,0.974,1.140,1.590,
+2.210,1.540,1.160,1.440,1.500,1.280,1.070,1.070,1.300,0.230,
+0.881,1.070,1.020,1.460,1.660,1.530,2.050,1.880,0.960,1.000,
+1.330,1.090,1.070,0.812,2.240,0.657,1.290,1.480,0.842,1.850,
+1.060,1.070,1.000,1.250,1.120,0.912,0.128,0.177,0.153,0.142,
+1.130,0.175,1.030,0.948,0.588,1.260,0.851,0.765,0.873,0.669,
+0.577,0.726,1.140,1.020,0.853,0.948,0.967,0.114,0.785,0.874,
+0.740,0.842,0.870,1.180,1.350,0.772,0.693,0.801,1.110,0.868,
+0.969,0.819,1.040,0.211,0.756,0.949,0.822,1.350,0.958,1.270,
+0.122,0.132,0.086,0.092,0.106,0.131,0.114,0.090,0.152,0.067,
+0.131,0.135,0.107,0.295,0.127,0.155,0.729,0.710,0.611,0.539,
+0.078,0.074,0.097,0.082,0.697,0.101,0.681,0.648,0.435,0.790,
+0.691,0.587,0.576,0.411,0.385,0.522,0.823,0.663,0.674,0.779,
+0.698,0.092,0.715,0.856,0.534,0.691,0.755,0.981,1.600,0.636,
+0.571,0.966,0.648,0.473,0.469,0.503,0.640,0.078,0.444,0.569,
+0.784,0.711,0.819,1.350,1.130,0.916,0.631,0.734,0.839,0.782,
+0.634,0.597,0.827,0.117,0.644,0.770,0.656,0.923,0.711,0.878,
+0.738,0.823,0.659,0.619,0.063,0.079,0.074,0.066,0.550,0.072,
+0.539,0.552,0.454,0.738,0.617,0.659,1.170,0.557,0.519,0.860,
+0.472,0.388,0.425,0.570,0.768,0.075,0.682,0.918,0.970,0.827,
+1.040,1.750,2.210,1.740,1.280,1.780,1.440,1.330,1.140,1.230,
+1.040,0.148,0.741,1.150,0.993,1.210,0.833,1.290,2.060,1.910,
+1.110,1.140,1.640,1.530,1.460,1.070,1.520,0.246,1.370,1.330,
+0.774,1.500,0.913,1.030,0.895,1.140,1.520,1.050,0.111,0.168,
+0.194,0.168,0.843,0.126,1.010,0.841,0.590,1.240,0.967,0.873,
+1.000,0.566,0.695,0.882,0.997,1.040,0.962,0.994,0.775,0.098,
+0.664,0.806,0.670,0.683,0.792,1.410,2.100,2.200,1.240,1.500,
+1.870,2.160,1.660,2.090,1.310,0.271,0.993,1.300,0.759,1.700,
+0.838,1.290,1.840,2.110,1.250,1.180,1.370,0.814,1.540,1.110,
+1.850,0.405,1.640,1.820,0.679,1.620,1.050,1.040,1.190,2.440,
+2.790,2.050,0.202,0.460,0.463,0.485,1.870,0.478,1.900,1.910,
+0.983,3.600,1.550,1.400,0.791,0.803,0.847,0.784,1.250,1.560,
+1.360,1.440,0.955,0.147,0.841,0.961,0.572,0.927,0.775,1.220,
+1.230,1.180,0.762,0.870,1.500,1.750,1.670,1.060,1.280,0.303,
+1.190,1.270,0.625,1.270,1.220,1.260,0.140,0.325,0.143,0.128,
+0.189,0.345,0.293,0.160,0.226,0.131,0.347,0.255,0.093,0.403,
+0.221,0.178,1.000,1.730,1.260,0.992,0.164,0.332,0.313,0.179,
+1.400,0.324,1.420,1.390,0.638,2.120,1.420,1.110,0.599,0.504,
+0.629,0.544,1.040,1.450,1.340,1.130,1.010,0.177,1.330,1.360,
+0.498,0.908,1.090,1.110,0.893,0.656,0.503,0.781,0.637,0.572,
+0.600,0.569,0.540,0.072,0.516,0.553,0.520,0.565,0.588,0.950,
+1.190,1.330,0.844,0.969,1.140,1.320,1.030,0.942,1.090,0.183,
+1.070,1.160,0.664,1.470,0.922,1.110,0.635,0.965,1.030,0.831,
+0.067,0.132,0.108,0.104,0.708,0.128,0.872,0.934,0.523,1.130,
+0.988,0.967,0.736,0.616,0.587,0.696,0.598,0.690,0.585,0.714,
+0.729,0.083,0.812,1.040,0.801,0.928,1.090,1.590,1.740,1.330,
+1.010,1.180,0.949,0.925,0.806,0.698,0.898,0.138,0.560,0.674,
+0.804,0.897,0.561,0.872,1.950,2.230,1.360,1.150,1.520,1.680,
+1.360,0.975,1.820,0.428,1.730,1.510,0.882,1.860,0.981,1.060,
+1.030,1.890,1.360,1.050,0.155,0.304,0.228,0.242,0.931,0.183,
+1.050,0.952,0.571,1.600,0.938,0.911,1.050,0.853,0.707,0.995,
+1.100,1.480,1.060,1.330,0.952,0.135,0.978,1.130,0.881,0.964,
+1.100,1.820,0.166,0.215,0.125,0.127,0.196,0.286,0.179,0.147,
+0.167,0.065,0.133,0.130,0.100,0.255,0.156,0.167,0.240,0.370,
+0.209,0.142,0.274,0.359,0.281,0.170,0.407,0.213,0.357,0.282,
+0.129,0.440,0.176,0.162,0.129,0.345,0.216,0.140,0.042,0.122,
+0.093,0.052,0.226,0.090,0.371,0.241,0.112,0.431,0.227,0.182,
+0.173,0.180,0.135,0.152,0.412,0.643,0.387,0.369,0.191,0.059,
+0.243,0.243,0.165,0.330,0.227,0.289,1.180,1.180,0.733,0.627,
+1.110,1.420,1.270,0.767,3.710,2.510,1.580,1.340,1.010,4.570,
+1.170,1.050,0.163,0.344,0.134,0.097,0.152,0.286,0.217,0.093,
+1.960,2.700,0.509,0.381,0.250,2.520,0.222,0.173,0.884,1.510,
+1.080,0.669,0.165,0.247,0.259,0.137,1.270,0.338,0.992,1.020,
+0.537,1.350,1.080,0.769,0.579,0.548,0.586,0.474,0.928,1.340,
+1.390,0.984,1.160,0.380,1.570,1.320,0.568,1.130,1.130,1.000,
+0.899,0.602,0.491,0.594,0.603,0.507,0.535,0.388,0.966,0.205,
+0.531,0.590,0.618,0.934,0.467,0.726,1.600,1.550,0.892,0.864,
+1.230,1.470,1.040,0.752,5.600,2.190,1.710,1.750,1.430,4.290,
+1.060,1.110,0.733,1.120,0.907,0.681,0.102,0.224,0.142,0.109,
+1.070,0.159,0.943,0.978,0.654,1.310,0.919,0.911,0.860,0.652,
+0.842,0.695,0.711,0.982,0.788,0.781,1.070,0.133,1.210,1.270,
+0.904,1.220,1.080,1.350,2.090,0.978,0.782,1.180,0.683,0.498,
+0.510,0.474,0.879,0.076,0.367,0.530,0.830,0.658,0.621,1.040,
+0.938,0.678,0.566,0.633,0.650,0.461,0.484,0.447,0.726,0.084,
+0.491,0.605,0.480,0.545,0.428,0.611,0.660,0.631,0.469,0.612,
+0.070,0.082,0.068,0.099,0.511,0.063,0.379,0.487,0.400,0.755,
+0.444,0.631,0.940,0.528,0.549,1.090,0.824,0.707,0.722,0.855,
+0.618,0.067,0.492,0.707,0.790,0.866,0.806,1.600,1.500,1.140,
+0.768,0.969,1.120,1.130,1.010,0.823,0.930,0.145,0.637,0.873,
+0.691,1.100,0.956,1.400,1.350,1.270,0.728,0.762,1.190,1.140,
+0.912,0.758,1.290,0.283,1.000,1.290,0.654,1.310,0.682,0.855,
+0.831,1.190,0.740,0.770,0.106,0.187,0.125,0.132,0.963,0.153,
+0.933,0.992,0.627,1.500,0.894,1.070,1.030,0.696,0.519,0.752,
+1.680,1.550,1.060,1.140,0.876,0.134,0.752,0.974,0.864,1.840,
+0.933,1.480,1.000,0.724,0.581,0.706,1.040,0.897,0.894,0.817,
+1.170,0.279,0.917,0.964,0.746,1.080,0.947,1.140,0.106,0.139,
+0.088,0.103,0.107,0.143,0.127,0.103,0.230,0.132,0.179,0.160,
+0.112,0.308,0.140,0.142,0.684,0.955,0.736,0.799,0.086,0.120,
+0.132,0.129,0.960,0.151,0.840,0.956,0.668,1.220,1.200,0.992,
+0.634,0.608,0.582,0.791,0.939,1.100,1.270,1.240,1.120,0.172,
+1.070,1.390,0.823,1.690,1.190,1.410,1.470,0.679,0.589,0.881,
+0.728,0.570,0.512,0.535,0.767,0.085,0.477,0.764,0.907,0.830,
+0.864,1.560,1.010,0.694,0.529,0.697,0.773,0.595,0.646,0.637,
+1.560,0.186,0.799,1.120,0.941,1.170,0.736,1.070,0.872,0.917,
+0.802,1.180,0.098,0.101,0.090,0.154,0.987,0.105,0.825,1.080,
+0.931,1.320,1.370,1.360,1.420,0.798,0.965,1.590,1.160,1.100,
+1.080,1.580,1.450,0.113,1.310,1.870,2.060,1.650,1.770,2.540,
+0.141,0.132,0.110,0.128,0.146,0.128,0.125,0.106,0.115,0.024,
+0.104,0.098,0.106,0.144,0.164,0.138,0.164,0.178,0.111,0.096,
+0.160,0.162,0.161,0.112,0.210,0.093,0.170,0.149,0.083,0.226,
+0.117,0.113,0.079,0.102,0.085,0.075,0.018,0.020,0.028,0.019,
+0.079,0.019,0.078,0.064,0.055,0.094,0.087,0.078,0.109,0.108,
+0.058,0.086,0.111,0.098,0.092,0.099,0.084,0.021,0.086,0.084,
+0.079,0.083,0.146,0.123,0.226,0.266,0.159,0.151,0.270,0.283,
+0.283,0.158,0.259,0.120,0.255,0.253,0.209,0.445,1.130,0.598,
+0.301,0.540,0.210,0.140,0.306,0.392,0.346,0.205,0.993,0.590,
+0.477,0.526,0.197,0.885,0.274,0.217,0.117,0.253,0.173,0.117,
+0.046,0.119,0.125,0.048,0.196,0.136,0.279,0.202,0.081,0.309,
+0.211,0.130,0.085,0.105,0.069,0.068,0.172,0.225,0.182,0.147,
+0.145,0.049,0.172,0.149,0.082,0.136,0.156,0.160,0.092,0.085,
+0.058,0.063,0.162,0.139,0.163,0.098,0.113,0.040,0.124,0.111,
+0.059,0.128,0.138,0.120,0.019,0.038,0.026,0.016,0.035,0.061,
+0.058,0.024,0.041,0.037,0.071,0.046,0.015,0.069,0.037,0.024,
+0.064,0.109,0.101,0.060,0.024,0.037,0.048,0.021,0.106,0.050,
+0.167,0.121,0.048,0.141,0.144,0.091,0.063,0.053,0.047,0.048,
+0.111,0.129,0.143,0.108,0.098,0.033,0.143,0.122,0.059,0.118,
+0.141,0.125,0.101,0.053,0.047,0.079,0.065,0.047,0.048,0.052,
+0.056,0.013,0.049,0.059,0.056,0.062,0.088,0.106,0.109,0.123,
+0.095,0.089,0.114,0.140,0.127,0.095,0.105,0.037,0.121,0.142,
+0.058,0.138,0.094,0.100,0.052,0.067,0.085,0.064,0.010,0.017,
+0.021,0.016,0.060,0.018,0.076,0.074,0.038,0.085,0.091,0.079,
+0.071,0.053,0.047,0.069,0.051,0.079,0.061,0.069,0.081,0.024,
+0.094,0.113,0.082,0.101,0.122,0.184,0.147,0.155,0.112,0.112,
+0.173,0.197,0.182,0.156,0.101,0.027,0.104,0.096,0.066,0.128,
+0.076,0.088,0.219,0.246,0.151,0.103,0.272,0.301,0.252,0.158,
+0.214,0.118,0.336,0.218,0.086,0.314,0.144,0.110,0.076,0.142,
+0.142,0.083,0.025,0.058,0.071,0.036,0.092,0.044,0.148,0.090,
+0.046,0.130,0.114,0.079,0.059,0.047,0.042,0.059,0.088,0.130,
+0.117,0.100,0.082,0.022,0.097,0.082,0.051,0.064,0.078,0.095,
+0.217,0.386,0.170,0.141,0.312,0.555,0.408,0.233,0.219,0.102,
+0.236,0.203,0.083,0.231,0.163,0.194,0.279,0.512,0.272,0.167,
+0.318,0.274,0.482,0.276,0.409,0.328,0.528,0.444,0.104,0.392,
+0.258,0.182,0.146,0.521,0.407,0.354,0.093,0.355,0.335,0.246,
+0.360,0.317,0.447,0.398,0.130,0.553,0.342,0.201,0.081,0.100,
+0.101,0.083,0.185,0.356,0.309,0.302,0.144,0.059,0.214,0.171,
+0.066,0.124,0.137,0.146,0.121,0.149,0.091,0.085,0.254,0.377,
+0.358,0.160,0.172,0.070,0.197,0.168,0.060,0.162,0.148,0.126,
+0.036,0.112,0.060,0.032,0.117,0.271,0.246,0.070,0.087,0.153,
+0.231,0.116,0.019,0.122,0.083,0.040,0.153,0.336,0.252,0.140,
+0.083,0.263,0.221,0.070,0.243,0.190,0.384,0.264,0.080,0.341,
+0.331,0.172,0.091,0.062,0.071,0.051,0.169,0.354,0.351,0.187,
+0.173,0.072,0.368,0.236,0.056,0.133,0.210,0.157,0.070,0.064,
+0.055,0.104,0.072,0.080,0.073,0.082,0.057,0.012,0.067,0.055,
+0.042,0.056,0.058,0.072,0.114,0.200,0.126,0.095,0.197,0.296,
+0.218,0.143,0.154,0.076,0.210,0.189,0.062,0.218,0.131,0.108,
+0.054,0.126,0.116,0.081,0.014,0.044,0.040,0.022,0.099,0.043,
+0.165,0.133,0.043,0.136,0.181,0.132,0.051,0.050,0.049,0.053,
+0.056,0.089,0.081,0.085,0.076,0.017,0.126,0.117,0.063,0.086,
+0.114,0.136,0.113,0.132,0.094,0.081,0.101,0.121,0.109,0.088,
+0.086,0.023,0.082,0.066,0.105,0.094,0.062,0.066,0.185,0.304,
+0.191,0.114,0.259,0.362,0.294,0.198,0.275,0.154,0.490,0.298,
+0.092,0.297,0.154,0.117,0.096,0.248,0.164,0.101,0.028,0.076,
+0.082,0.047,0.130,0.065,0.207,0.167,0.048,0.178,0.137,0.103,
+0.076,0.073,0.053,0.069,0.098,0.145,0.130,0.132,0.101,0.032,
+0.147,0.137,0.066,0.086,0.114,0.136,0.021,0.048,0.028,0.015,
+0.048,0.108,0.093,0.039,0.030,0.034,0.074,0.037,0.014,0.054,
+0.051,0.030,0.059,0.172,0.080,0.037,0.143,0.289,0.252,0.091,
+0.110,0.262,0.318,0.176,0.029,0.140,0.080,0.046,0.026,0.141,
+0.089,0.033,0.039,0.182,0.187,0.049,0.090,0.186,0.246,0.127,
+0.025,0.155,0.150,0.051,0.016,0.027,0.019,0.014,0.051,0.123,
+0.094,0.060,0.040,0.036,0.115,0.070,0.018,0.043,0.048,0.039,
+0.113,0.159,0.110,0.068,0.170,0.311,0.329,0.130,0.229,0.136,
+0.382,0.202,0.092,0.298,0.241,0.141,0.042,0.145,0.067,0.029,
+0.092,0.245,0.229,0.062,0.175,0.287,0.979,0.248,0.029,0.156,
+0.121,0.049,0.146,0.352,0.279,0.132,0.089,0.219,0.316,0.067,
+0.300,0.281,0.462,0.318,0.076,0.335,0.322,0.158,0.070,0.078,
+0.088,0.063,0.174,0.348,0.393,0.220,0.225,0.149,0.527,0.314,
+0.079,0.205,0.284,0.183,0.075,0.084,0.052,0.065,0.064,0.078,
+0.068,0.047,0.081,0.024,0.082,0.077,0.066,0.095,0.052,0.073,
+0.158,0.245,0.157,0.120,0.222,0.366,0.281,0.165,0.405,0.172,
+0.481,0.409,0.117,0.338,0.202,0.141,0.082,0.206,0.165,0.093,
+0.028,0.089,0.098,0.032,0.192,0.120,0.296,0.238,0.071,0.249,
+0.195,0.127,0.062,0.068,0.072,0.064,0.089,0.137,0.118,0.111,
+0.137,0.044,0.242,0.203,0.086,0.160,0.151,0.140,0.131,0.103,
+0.067,0.097,0.107,0.079,0.076,0.106,0.133,0.015,0.055,0.083,
+0.081,0.078,0.076,0.113,0.092,0.092,0.072,0.069,0.092,0.088,
+0.081,0.074,0.087,0.024,0.093,0.092,0.051,0.087,0.064,0.073,
+0.057,0.082,0.053,0.060,8.44e-3,0.013,0.017,0.016,0.063,0.013,
+0.058,0.063,0.038,0.073,0.053,0.070,0.071,0.050,0.048,0.089,
+0.082,0.071,0.070,0.106,0.084,0.011,0.064,0.109,0.083,0.081,
+0.091,0.192,0.174,0.195,0.146,0.134,0.189,0.245,0.422,0.180,
+0.165,0.048,0.161,0.182,0.101,0.202,0.232,0.237,0.215,0.333,
+0.177,0.139,0.293,0.372,0.329,0.219,0.293,0.133,0.327,0.400,
+0.115,0.350,0.183,0.177,0.117,0.260,0.169,0.131,0.031,0.081,
+0.087,0.050,0.172,0.069,0.234,0.203,0.082,0.289,0.198,0.159,
+0.108,0.104,0.080,0.099,0.220,0.280,0.249,0.238,0.142,0.036,
+0.209,0.215,0.121,0.227,0.190,0.230,0.082,0.086,0.065,0.074,
+0.128,0.151,0.172,0.118,0.127,0.045,0.163,0.141,0.071,0.119,
+0.127,0.124,0.017,0.031,0.015,0.017,0.036,0.082,0.057,0.033,
+0.036,0.034,0.087,0.051,0.014,0.045,0.042,0.026,0.076,0.173,
+0.146,0.103,0.028,0.053,0.061,0.039,0.143,0.074,0.205,0.174,
+0.060,0.224,0.225,0.144,0.062,0.065,0.074,0.083,0.115,0.163,
+0.228,0.191,0.170,0.040,0.212,0.249,0.087,0.153,0.211,0.179,
+0.104,0.069,0.058,0.082,0.072,0.070,0.060,0.062,0.066,0.014,
+0.062,0.074,0.062,0.069,0.077,0.124,0.087,0.092,0.065,0.073,
+0.100,0.116,0.108,0.093,0.131,0.024,0.119,0.147,0.073,0.117,
+0.096,0.112,0.073,0.102,0.091,0.102,0.013,0.022,0.022,0.018,
+0.105,0.027,0.143,0.147,0.064,0.157,0.168,0.144,0.100,0.067,
+0.083,0.127,0.107,0.128,0.133,0.152,0.138,0.022,0.181,0.216,
+0.152,0.157,0.200,0.235,0.831,0.959,0.720,1.170,1.090,0.933,
+0.945,1.120,0.828,0.118,0.720,0.916,0.965,1.040,0.846,1.020,
+1.270,1.340,0.811,0.950,1.170,1.010,1.170,1.310,0.864,0.154,
+0.907,1.270,0.566,0.861,0.745,0.823,0.618,0.709,0.659,0.681,
+0.082,0.086,0.095,0.116,0.605,0.090,0.650,0.717,0.444,0.652,
+0.642,0.613,0.732,0.362,0.345,0.608,0.481,0.424,0.481,0.571,
+0.467,0.060,0.420,0.561,0.495,0.301,0.568,0.892,2.050,1.790,
+1.040,1.260,1.950,1.730,1.670,1.260,1.150,0.200,0.947,1.460,
+0.836,1.170,0.863,1.050,2.480,4.180,1.460,1.430,1.960,1.530,
+2.080,1.600,2.110,0.527,2.070,5.490,0.850,1.730,1.070,1.350,
+1.310,2.000,1.600,1.170,0.271,0.355,0.387,0.293,3.220,0.697,
+3.120,4.010,1.620,2.230,1.710,1.270,0.761,0.668,0.453,0.540,
+1.270,1.350,1.180,1.120,0.850,0.134,0.867,1.210,0.646,0.655,
+0.901,1.090,1.050,0.775,0.494,0.608,1.420,1.330,1.380,1.130,
+1.140,0.205,0.896,1.030,0.641,0.925,0.802,0.991,0.172,0.263,
+0.137,0.140,0.310,0.329,0.321,0.232,0.217,0.092,0.318,0.364,
+0.133,0.409,0.211,0.233,0.740,1.000,0.988,0.717,0.149,0.177,
+0.273,0.182,1.180,0.266,1.270,1.200,0.503,1.320,1.260,0.899,
+0.433,0.375,0.353,0.397,0.917,0.986,1.300,1.000,0.783,0.151,
+0.947,1.070,0.474,0.706,0.845,1.200,0.860,0.414,0.377,0.658,
+0.511,0.407,0.426,0.524,0.429,0.060,0.330,0.445,0.519,0.485,
+0.411,0.717,1.030,0.892,0.569,0.621,0.984,0.937,0.863,0.784,
+0.750,0.118,0.869,1.070,0.558,0.997,0.641,0.833,1.020,0.955,
+0.728,0.650,0.105,0.116,0.118,0.125,0.783,0.122,0.897,0.971,
+0.498,1.010,1.050,0.869,0.709,0.446,0.394,0.603,0.603,0.514,
+0.571,0.665,0.779,0.088,0.760,1.010,0.869,0.845,1.090,2.020,
+0.103,0.116,0.083,0.092,0.120,0.144,0.143,0.113,0.078,0.024,
+0.081,0.076,0.070,0.097,0.080,0.080,0.189,0.270,0.169,0.122,
+0.270,0.323,0.383,0.236,0.175,0.095,0.307,0.201,0.088,0.191,
+0.161,0.141,0.069,0.125,0.115,0.079,0.026,0.054,0.056,0.034,
+0.157,0.057,0.197,0.190,0.092,0.128,0.127,0.092,0.057,0.043,
+0.042,0.046,0.085,0.107,0.102,0.082,0.063,0.026,0.075,0.080,
+0.052,0.056,0.077,0.106,0.161,0.250,0.122,0.101,0.218,0.317,
+0.330,0.164,0.155,0.071,0.157,0.167,0.080,0.158,0.100,0.098,
+0.325,0.711,0.274,0.176,0.378,0.378,0.578,0.282,0.465,0.292,
+0.502,0.531,0.125,0.367,0.228,0.173,0.211,0.439,0.288,0.184,
+0.116,0.241,0.248,0.100,1.930,0.823,1.610,2.220,0.597,0.749,
+0.437,0.317,0.066,0.079,0.059,0.050,0.167,0.231,0.207,0.147,
+0.155,0.047,0.192,0.175,0.078,0.086,0.124,0.112,0.096,0.129,
+0.069,0.071,0.208,0.313,0.346,0.160,0.145,0.065,0.195,0.140,
+0.067,0.133,0.132,0.111,0.035,0.097,0.053,0.027,0.090,0.221,
+0.234,0.080,0.072,0.140,0.276,0.114,0.022,0.099,0.082,0.042,
+0.118,0.253,0.271,0.157,0.070,0.168,0.254,0.066,0.269,0.270,
+0.505,0.302,0.090,0.353,0.414,0.210,0.060,0.064,0.060,0.050,
+0.147,0.248,0.286,0.170,0.127,0.070,0.268,0.186,0.054,0.110,
+0.159,0.140,0.076,0.076,0.057,0.180,0.064,0.081,0.074,0.112,
+0.050,0.015,0.056,0.060,0.059,0.060,0.066,0.091,0.164,0.203,
+0.140,0.123,0.225,0.322,0.270,0.197,0.170,0.066,0.223,0.208,
+0.095,0.286,0.175,0.162,0.080,0.153,0.133,0.099,0.020,0.063,
+0.046,0.030,0.133,0.062,0.209,0.204,0.079,0.201,0.227,0.148,
+0.064,0.075,0.058,0.066,0.068,0.109,0.091,0.094,0.088,0.018,
+0.129,0.149,0.076,0.112,0.165,0.199,1.140,1.180,0.993,1.330,
+0.917,0.953,0.844,0.789,0.716,0.106,0.777,0.713,0.424,0.399,
+0.427,0.602,1.360,1.680,0.926,0.889,1.740,1.820,1.770,1.190,
+1.450,0.336,2.150,1.780,0.625,1.420,0.842,0.872,0.811,1.340,
+1.020,0.803,0.180,0.311,0.304,0.267,1.070,0.265,2.060,1.620,
+0.453,1.270,1.090,0.892,0.568,0.450,0.357,0.483,0.784,0.942,
+0.839,0.766,0.796,0.138,1.170,1.240,0.480,0.574,0.789,1.090,
+0.134,0.200,0.108,0.109,0.233,0.383,0.270,0.198,0.145,0.074,
+0.221,0.163,0.063,0.141,0.093,0.096,0.199,0.376,0.177,0.118,
+0.402,0.585,0.535,0.266,0.266,0.210,0.619,0.413,0.078,0.250,
+0.149,0.117,0.157,0.402,0.282,0.137,0.084,0.251,0.298,0.097,
+0.341,0.285,1.070,0.476,0.120,0.379,0.314,0.182,0.083,0.101,
+0.066,0.076,0.219,0.367,0.282,0.243,0.157,0.058,0.305,0.279,
+0.077,0.117,0.145,0.168,1.540,0.924,0.828,0.475,1.200,1.550,
+1.590,0.871,1.200,0.324,1.830,1.050,0.484,1.050,0.903,0.720,
+0.164,0.315,0.239,0.108,0.213,0.407,0.438,0.134,0.267,0.207,
+0.744,0.283,0.085,0.301,0.204,0.130,0.902,0.934,1.100,0.460,
+0.221,0.236,0.433,0.115,0.516,0.174,0.373,0.212,0.211,0.461,
+0.648,0.389,0.434,0.357,0.432,0.236,0.683,0.890,1.090,0.556,
+0.731,0.216,1.620,0.927,0.344,0.611,0.916,0.807,0.668,0.450,
+0.377,0.413,0.524,0.469,0.374,0.333,0.486,0.080,0.580,0.571,
+0.313,0.382,0.317,0.426,0.985,1.170,0.754,0.553,1.160,1.490,
+1.280,0.772,1.280,0.287,1.930,1.410,0.591,1.270,0.783,0.662,
+0.756,1.120,1.060,0.679,0.145,0.303,0.251,0.157,1.170,0.295,
+2.180,1.560,0.495,1.390,1.290,0.930,0.481,0.422,0.385,0.434,
+0.630,0.820,0.692,0.593,0.827,0.135,1.700,1.320,0.577,0.829,
+1.140,1.040,1.030,0.657,0.466,0.751,0.589,0.498,0.433,0.457,
+0.465,0.062,0.395,0.467,0.454,0.476,0.379,0.587,0.832,0.764,
+0.413,0.425,0.716,0.594,0.504,0.416,0.582,0.070,0.485,0.501,
+0.327,0.441,0.327,0.413,0.516,0.592,0.368,0.438,0.071,0.078,
+0.067,0.087,0.445,0.067,0.565,0.628,0.280,0.500,0.437,0.519,
+0.469,0.313,0.261,0.413,0.453,0.427,0.358,0.441,0.382,0.049,
+0.381,0.537,0.381,0.360,0.462,0.783,1.280,1.240,0.708,0.927,
+1.300,1.480,1.290,0.964,0.858,0.156,0.921,0.929,0.514,0.853,
+0.560,0.778,1.520,1.990,0.969,0.894,1.850,2.110,1.950,1.340,
+1.340,0.303,1.760,1.750,0.544,1.260,0.794,0.847,0.913,1.830,
+1.040,0.883,0.167,0.363,0.292,0.233,1.550,0.365,2.320,1.970,
+0.662,1.820,1.460,1.260,0.655,0.654,0.445,0.541,1.260,1.540,
+1.290,1.240,0.831,0.158,1.120,1.330,0.523,0.787,0.817,1.050,
+1.030,0.944,0.549,0.623,1.120,1.340,1.160,0.950,0.960,0.194,
+1.190,0.967,0.555,1.090,0.778,0.902,0.119,0.194,0.097,0.102,
+0.188,0.363,0.297,0.178,0.151,0.077,0.296,0.220,0.076,0.237,
+0.156,0.127,0.920,1.620,0.925,0.809,0.141,0.207,0.246,0.185,
+1.250,0.331,1.430,1.500,0.523,1.410,1.300,1.040,0.536,0.588,
+0.441,0.439,1.000,1.240,1.320,1.140,0.839,0.160,1.310,1.460,
+0.502,0.806,1.110,1.060,0.805,0.528,0.418,0.553,0.556,0.512,
+0.437,0.395,0.477,0.074,0.458,0.486,0.667,0.489,0.440,0.663,
+0.919,0.844,0.586,0.587,0.910,1.120,0.936,0.741,0.688,0.108,
+0.870,0.942,0.516,0.814,0.672,0.776,0.755,1.050,0.773,0.810,
+0.099,0.152,0.122,0.131,1.080,0.165,1.480,1.570,0.616,1.200,
+1.250,1.100,0.863,0.562,0.614,0.905,0.923,1.060,0.921,0.992,
+0.942,0.102,1.260,1.490,0.906,0.860,1.150,1.220,1.250,0.835,
+0.816,1.470,0.839,0.574,0.560,0.708,0.640,0.072,0.405,0.605,
+0.876,0.827,0.541,0.958,0.985,0.676,0.488,0.610,0.705,0.494,
+0.495,0.535,0.622,0.080,0.539,0.536,0.468,0.621,0.422,0.531,
+0.632,0.512,0.541,0.658,0.072,0.058,0.057,0.097,0.490,0.046,
+0.342,0.429,0.354,0.470,0.459,0.574,0.821,0.399,0.477,0.759,
+0.643,0.487,0.427,0.612,0.502,0.053,0.398,0.507,0.678,0.476,
+0.587,1.300,1.380,0.954,0.770,1.020,0.890,0.720,0.594,0.637,
+0.643,0.082,0.405,0.610,0.494,0.580,0.446,0.763,1.050,1.230,
+0.557,0.607,0.699,0.532,0.572,0.523,1.240,0.242,0.607,1.200,
+0.459,0.845,0.408,0.610,0.571,0.616,0.749,0.612,0.066,0.084,
+0.078,0.076,0.740,0.081,0.516,0.658,0.491,0.556,0.486,0.507,
+0.472,0.349,0.326,0.414,0.564,0.606,0.406,0.471,0.430,0.040,
+0.325,0.465,0.394,0.364,0.422,0.762,0.883,0.581,0.406,0.607,
+0.822,0.603,0.561,0.754,0.632,0.087,0.351,0.489,0.546,0.567,
+0.529,0.823,0.089,0.097,0.056,0.075,0.099,0.095,0.080,0.086,
+0.086,0.025,0.079,0.096,0.088,0.168,0.080,0.114,0.695,0.475,
+0.546,0.498,0.083,0.062,0.071,0.075,0.518,0.074,0.393,0.516,
+0.393,0.632,0.618,0.625,0.449,0.301,0.403,0.551,0.578,0.488,
+0.512,0.678,0.565,0.062,0.425,0.659,0.483,0.636,0.646,0.940,
+1.080,0.475,0.408,1.410,0.504,0.350,0.354,0.839,0.427,0.047,
+0.299,0.441,0.648,0.482,0.424,0.896,0.795,0.626,0.398,0.604,
+0.613,0.544,0.454,0.571,0.508,0.062,0.434,0.600,0.558,0.803,
+0.487,0.746,0.550,0.527,0.417,0.545,0.048,0.057,0.044,0.073,
+0.409,0.042,0.348,0.472,0.385,0.533,0.548,0.654,0.744,0.433,
+0.404,0.752,0.475,0.412,0.381,0.638,0.607,0.055,0.487,0.901,
+0.913,0.754,0.935,1.880,1.670,1.190,1.100,1.540,1.280,1.150,
+1.050,1.090,0.960,0.133,0.765,0.939,0.923,0.972,0.708,1.160,
+1.820,1.470,1.050,1.140,1.410,1.260,1.510,1.200,1.670,0.311,
+1.810,1.410,0.708,1.310,0.935,1.070,0.822,0.859,0.916,0.889,
+0.110,0.133,0.131,0.150,1.300,0.149,0.876,0.999,0.572,0.890,
+0.874,0.989,0.718,0.439,0.471,0.612,0.797,0.771,0.653,0.750,
+0.594,0.071,0.504,0.639,0.590,0.554,0.700,1.180,1.990,1.810,
+1.260,1.550,1.840,1.900,1.620,1.390,1.730,0.325,0.963,1.200,
+0.832,1.480,0.790,1.180,2.380,2.960,1.300,1.260,2.140,1.680,
+1.890,1.490,5.230,1.410,2.010,2.260,1.330,3.450,1.240,1.390,
+1.230,1.880,2.070,1.540,0.280,0.361,0.313,0.265,4.670,0.842,
+2.920,4.050,1.850,2.600,1.800,1.940,0.653,0.623,0.628,0.638,
+1.130,1.450,1.040,1.040,1.120,0.141,0.884,1.130,0.674,0.721,
+0.872,1.220,1.110,0.887,0.580,0.916,1.670,1.720,1.450,1.260,
+1.050,0.230,0.863,0.883,0.604,0.951,0.786,1.080,0.127,0.222,
+0.109,0.131,0.233,0.400,0.282,0.215,0.249,0.134,0.278,0.222,
+0.102,0.363,0.190,0.182,0.924,1.270,1.100,0.943,0.180,0.276,
+0.245,0.192,1.320,0.323,1.260,1.510,0.662,1.950,1.580,1.510,
+0.613,0.507,0.525,0.601,1.070,1.510,1.330,1.240,0.916,0.157,
+1.170,1.340,0.579,0.914,1.180,1.500,1.070,0.705,0.750,3.490,
+0.679,0.630,0.698,2.020,0.570,0.077,0.554,0.719,0.574,0.582,
+0.654,1.080,1.320,1.330,0.907,1.290,1.280,1.580,1.300,1.570,
+1.200,0.243,1.250,1.640,0.817,1.850,1.160,1.390,0.632,1.090,
+0.842,1.010,0.097,0.284,0.117,0.209,0.865,0.146,1.020,1.220,
+0.546,1.250,1.340,1.280,0.700,0.698,0.538,0.750,0.701,0.979,
+0.639,0.991,0.750,0.090,0.856,1.180,0.825,1.010,1.360,1.950,
+1.880,1.260,1.330,1.330,0.977,0.956,1.340,1.530,0.745,0.116,
+1.330,0.951,0.677,0.699,0.649,1.090,1.790,1.620,0.996,1.010,
+1.640,1.460,1.420,1.220,1.460,0.311,4.310,1.980,0.756,1.410,
+1.350,2.330,1.170,1.370,0.862,0.884,0.163,0.225,0.182,0.204,
+1.050,0.186,1.170,1.230,0.554,1.360,1.100,1.070,0.929,0.708,
+0.455,0.693,0.903,1.030,0.727,0.900,0.859,0.123,1.030,1.280,
+0.842,0.744,1.050,1.710,0.158,0.163,0.311,0.152,0.144,0.224,
+0.185,0.161,0.121,0.036,0.483,0.201,0.074,0.143,0.145,0.140,
+0.201,0.304,0.166,0.122,0.300,0.407,0.349,0.230,0.323,0.166,
+1.080,0.376,0.103,0.344,0.238,0.238,0.154,0.250,0.145,0.107,
+0.046,0.104,0.092,0.041,0.254,0.111,0.364,0.288,0.107,0.351,
+0.292,0.177,0.103,0.106,0.067,0.091,0.185,0.293,0.181,0.191,
+0.134,0.037,0.223,0.201,0.104,0.131,0.159,0.193,1.660,1.160,
+0.858,0.715,2.160,1.830,1.820,1.080,1.130,0.299,1.600,1.180,
+0.727,1.130,1.120,1.130,0.260,0.293,0.129,0.098,0.322,0.353,
+0.229,0.142,0.249,0.142,0.601,0.281,0.131,0.330,0.237,0.205,
+4.520,2.520,1.540,1.150,1.090,0.608,0.430,0.264,2.300,0.492,
+1.030,1.390,1.050,2.000,1.810,1.280,1.210,0.723,0.646,0.626,
+2.570,2.140,1.680,1.370,1.430,0.292,2.010,1.750,0.864,1.240,
+1.520,1.540,1.020,0.738,0.559,0.812,0.913,0.711,0.596,0.633,
+0.680,0.099,0.865,0.828,0.544,0.604,0.566,0.845,1.520,1.610,
+1.010,1.000,1.510,1.750,1.280,1.070,1.570,0.293,2.450,2.000,
+0.933,1.770,1.380,1.410,1.400,1.450,0.934,0.941,0.239,0.261,
+0.173,0.137,1.490,0.250,1.700,1.670,0.882,1.930,1.750,1.410,
+0.919,0.665,0.597,0.692,1.000,1.080,0.865,0.877,1.160,0.145,
+1.700,1.710,0.983,1.220,1.540,1.780,1.800,0.889,0.615,1.090,
+0.747,0.537,0.475,0.633,0.581,0.067,0.446,0.605,0.670,0.555,
+0.463,1.050,0.967,0.694,0.406,0.505,0.738,0.547,0.475,0.507,
+0.625,0.079,0.786,0.687,0.410,0.499,0.466,0.730,0.780,0.643,
+0.411,0.622,0.074,0.075,0.054,0.104,0.537,0.062,0.425,0.612,
+0.385,0.576,0.490,0.682,0.863,0.518,0.385,0.730,0.603,0.490,
+0.409,0.620,0.553,0.053,0.442,0.772,0.695,0.566,0.707,1.650,
+1.360,1.060,1.020,1.020,0.983,0.929,0.762,0.786,0.701,0.097,
+1.100,0.850,0.553,0.700,0.608,0.903,1.220,1.220,0.662,0.710,
+1.260,1.200,1.090,0.948,1.240,0.224,1.810,1.280,0.563,1.080,
+0.745,0.965,0.785,1.020,0.627,0.758,0.083,0.145,0.098,0.111,
+0.964,0.148,0.962,1.110,0.647,1.230,1.050,1.140,0.779,0.710,
+0.436,0.659,0.937,0.902,0.690,0.854,0.719,0.089,0.743,1.100,
+0.660,0.719,0.917,1.360,1.380,0.988,0.641,0.782,1.490,1.250,
+1.070,1.060,1.060,0.173,0.835,1.000,0.798,1.000,0.908,1.330,
+0.128,0.155,0.079,0.101,0.159,0.203,0.137,0.131,0.131,0.042,
+0.187,0.154,0.097,0.206,0.129,0.159,1.460,1.540,0.942,1.020,
+0.212,0.198,0.170,0.155,1.570,0.285,1.240,1.800,0.866,1.740,
+1.510,1.630,0.929,0.767,0.588,0.773,1.330,1.310,1.260,1.310,
+1.350,0.166,1.440,1.950,0.931,1.280,1.380,1.860,1.750,0.901,
+0.618,1.120,0.807,0.683,0.555,0.697,0.797,0.086,0.560,0.836,
+0.956,0.788,0.739,1.570,1.440,1.130,0.682,0.961,1.310,1.370,
+0.902,0.959,1.480,0.140,1.140,1.540,0.980,1.200,1.010,1.480,
+1.150,1.200,0.833,1.170,0.114,0.136,0.089,0.137,1.400,0.155,
+1.420,1.920,1.040,1.620,1.600,1.930,1.750,0.835,0.790,1.600,
+1.190,1.110,0.929,1.390,1.500,0.120,1.560,2.370,1.590,1.320,
+1.580,2.440,2.130,1.350,1.180,2.410,1.390,0.907,0.839,1.040,
+1.430,0.141,0.722,1.270,2.060,1.620,1.070,2.000,1.650,1.050,
+0.621,0.914,1.140,0.714,0.586,0.618,1.020,0.102,0.530,0.739,
+0.738,0.877,0.549,0.908,1.090,0.743,0.715,1.260,0.099,0.075,
+0.075,0.139,0.711,0.063,0.375,0.545,0.703,0.772,0.587,0.838,
+1.940,0.759,0.713,1.600,1.440,0.754,0.854,1.170,0.868,0.075,
+0.576,0.921,1.230,0.821,0.890,1.860,1.820,1.050,0.748,1.200,
+1.070,0.819,0.596,0.707,0.846,0.100,0.439,0.720,0.708,0.793,
+0.573,0.959,1.270,0.946,0.497,0.695,0.878,0.519,0.471,0.475,
+1.060,0.149,0.478,0.645,0.513,0.760,0.398,0.620,0.801,0.775,
+0.604,0.736,0.093,0.077,0.063,0.079,0.723,0.080,0.456,0.558,
+0.586,0.699,0.435,0.582,1.020,0.562,0.439,0.699,1.350,0.680,
+0.639,0.751,0.666,0.059,0.425,0.598,0.633,0.528,0.494,1.130,
+1.050,0.596,0.487,0.771,0.789,0.556,0.562,0.662,0.817,0.141,
+0.409,0.715,0.726,0.707,0.765,1.400,0.100,0.094,0.051,0.091,
+0.082,0.083,0.059,0.072,0.086,0.016,0.060,0.085,0.090,0.144,
+0.084,0.149,0.529,0.450,0.370,0.456,0.057,0.042,0.044,0.053,
+0.415,0.047,0.279,0.374,0.338,0.445,0.367,0.467,0.541,0.457,
+0.328,0.503,0.643,0.513,0.562,0.505,0.557,0.062,0.436,0.608,
+0.518,0.540,0.564,1.220,1.740,0.735,0.578,1.240,0.661,0.431,
+0.431,0.573,0.848,0.082,0.382,0.646,1.020,0.722,0.758,1.820,
+1.190,0.906,0.547,0.874,0.777,0.648,0.500,0.600,0.752,0.067,
+0.457,0.711,0.732,0.810,0.559,1.160,0.664,0.642,0.438,0.620,
+0.056,0.066,0.042,0.067,0.497,0.047,0.344,0.489,0.513,0.590,
+0.539,0.798,1.470,0.689,0.616,1.230,0.647,0.549,0.477,0.822,
+0.800,0.063,0.596,1.080,1.380,1.130,1.120,5.790,1.840,1.200,
+0.793,1.470,1.030,0.795,0.626,0.754,0.792,0.083,0.481,0.792,
+0.929,0.976,0.558,1.090,1.350,1.050,0.557,0.844,0.858,0.673,
+0.622,0.571,0.736,0.103,0.482,0.642,0.627,1.370,0.441,0.707,
+0.559,0.598,0.564,0.613,0.059,0.064,0.058,0.081,0.445,0.050,
+0.366,0.391,0.516,0.586,0.499,0.582,0.678,0.461,0.424,0.688,
+0.624,0.495,0.453,0.544,0.463,0.041,0.329,0.487,0.621,0.464,
+0.472,0.972,1.240,1.010,0.479,0.790,0.811,0.752,0.499,0.623,
+0.560,0.072,0.383,0.899,0.503,0.625,0.381,1.040,0.848,0.746,
+0.380,0.514,0.632,0.306,0.419,0.431,0.577,0.076,0.396,0.593,
+0.341,0.540,0.320,0.489,0.559,0.688,0.697,0.662,0.057,0.083,
+0.072,0.073,0.513,0.086,0.378,0.493,0.402,0.789,0.421,0.549,
+0.497,0.385,0.365,0.514,0.540,0.490,0.514,0.508,0.463,0.044,
+0.295,0.437,0.399,0.446,0.349,0.691,0.727,0.578,0.305,0.561,
+0.737,0.554,0.457,0.527,0.564,0.077,0.316,0.477,0.421,0.464,
+0.440,0.713,0.052,0.084,0.034,0.055,0.062,0.083,0.066,0.073,
+0.056,0.019,0.052,0.060,0.039,0.099,0.049,0.066,0.432,0.560,
+0.386,0.568,0.049,0.059,0.046,0.060,0.375,0.051,0.254,0.355,
+0.268,0.500,0.375,0.414,0.402,0.498,0.316,0.426,0.475,0.559,
+0.449,0.536,0.457,0.056,0.349,0.532,0.320,0.396,0.462,0.674,
+0.716,0.525,0.304,0.529,0.402,0.306,0.274,0.319,0.363,0.032,
+0.234,0.341,0.435,0.350,0.377,0.804,0.612,0.635,0.370,0.527,
+0.511,0.557,0.480,0.497,0.412,0.048,0.320,0.477,0.355,0.567,
+0.374,0.614,0.393,0.493,0.410,0.475,0.032,0.065,0.034,0.047,
+0.362,0.044,0.284,0.406,0.361,0.485,0.650,0.656,0.556,0.409,
+0.344,0.545,0.379,0.397,0.290,0.440,0.494,0.039,0.370,0.598,
+0.603,0.583,0.631,1.320,1.600,1.120,0.716,1.180,0.760,0.605,
+0.430,0.548,0.934,0.096,0.375,0.581,0.816,0.770,0.418,0.883,
+1.400,1.270,0.598,0.812,0.841,0.727,0.640,0.551,0.892,0.132,
+0.616,0.746,0.772,1.350,0.493,0.780,0.722,0.917,0.587,0.739,
+0.085,0.141,0.077,0.123,0.484,0.065,0.330,0.387,0.469,0.706,
+0.438,0.580,0.960,0.639,0.515,0.878,0.745,0.756,0.535,0.748,
+0.635,0.069,0.463,0.656,0.764,0.621,0.625,1.470,0.119,0.118,
+0.056,0.090,0.086,0.112,0.054,0.064,0.085,0.018,0.050,0.072,
+0.075,0.108,0.080,0.112,0.124,0.132,0.055,0.062,0.116,0.111,
+0.075,0.059,0.099,0.032,0.079,0.084,0.068,0.126,0.056,0.078,
+0.072,0.135,0.060,0.068,0.015,0.046,0.020,0.013,0.066,0.022,
+0.062,0.060,0.061,0.114,0.059,0.077,0.135,0.093,0.065,0.110,
+0.164,0.217,0.118,0.140,0.084,0.016,0.064,0.090,0.094,0.132,
+0.078,0.165,0.832,0.592,0.382,0.500,0.629,0.641,0.512,0.465,
+0.860,0.230,0.524,0.652,0.694,0.855,0.508,0.882,0.075,0.100,
+0.048,0.055,0.063,0.102,0.069,0.046,0.143,0.090,0.080,0.095,
+0.092,0.197,0.064,0.084,0.517,0.708,0.461,0.407,0.071,0.125,
+0.071,0.055,0.505,0.087,0.251,0.388,0.331,0.572,0.421,0.449,
+0.457,0.386,0.385,0.418,0.649,0.890,0.547,0.555,0.580,0.089,
+0.585,0.699,0.452,0.543,0.547,0.794,0.855,0.548,0.335,0.576,
+0.530,0.562,0.287,0.329,0.579,0.080,0.322,0.573,0.754,0.700,
+0.374,0.887,1.030,0.885,0.474,0.662,0.712,0.946,0.601,0.492,
+1.060,0.159,0.564,0.836,0.798,1.120,0.514,0.799,0.912,2.130,
+0.508,0.575,0.204,0.930,0.081,0.091,0.788,0.187,0.425,0.574,
+0.566,1.050,0.536,0.729,0.857,0.740,0.519,0.658,0.814,1.940,
+0.470,0.611,0.771,0.111,0.686,0.944,0.895,0.952,0.805,1.520,
+2.230,1.510,0.956,1.730,0.756,0.538,0.448,0.511,1.180,0.081,
+0.381,0.620,1.150,0.766,0.703,1.390,1.010,0.600,0.388,0.622,
+0.579,0.364,0.348,0.388,0.668,0.054,0.364,0.529,0.582,0.572,
+0.410,0.696,0.730,0.602,0.396,0.770,0.066,0.058,0.044,0.084,
+0.595,0.047,0.289,0.433,0.533,0.533,0.364,0.728,1.160,0.600,
+0.555,1.260,0.690,0.500,0.502,0.700,0.622,0.051,0.464,0.643,
+1.030,0.746,0.731,1.690,1.450,1.090,0.664,0.963,0.856,0.744,
+0.496,0.559,0.752,0.090,0.419,0.676,0.719,0.877,0.862,1.270,
+1.020,0.762,0.386,0.539,0.768,0.573,0.415,0.465,0.680,0.079,
+0.435,0.648,0.508,0.653,0.410,0.719,0.726,0.780,0.426,0.650,
+0.060,0.085,0.049,0.074,0.612,0.067,0.416,0.557,0.576,0.772,
+0.457,0.759,0.947,0.588,0.437,0.794,0.994,0.810,0.731,0.872,
+0.674,0.077,0.483,0.709,0.811,1.310,0.669,1.220,1.000,0.578,
+0.394,0.622,0.658,0.503,0.465,0.557,0.707,0.093,0.417,0.629,
+0.659,0.596,0.568,1.050,0.067,0.062,0.036,0.065,0.052,0.061,
+0.044,0.051,0.064,0.013,0.044,0.067,0.072,0.117,0.053,0.088,
+0.477,0.491,0.341,0.489,0.038,0.049,0.043,0.053,0.462,0.049,
+0.348,0.625,0.411,0.522,0.522,0.610,0.531,0.411,0.361,0.595,
+0.623,0.642,0.532,0.622,0.681,0.075,0.507,0.775,0.586,0.626,
+0.650,1.070,1.590,0.742,0.599,1.270,0.694,0.491,0.415,0.574,
+0.922,0.101,0.437,0.866,1.280,1.010,0.857,2.170,0.981,0.724,
+0.411,0.790,0.619,0.518,0.448,0.525,0.828,0.086,0.463,0.818,
+0.949,1.420,0.565,1.140,0.874,0.981,0.655,0.914,0.078,0.165,
+0.046,0.086,0.789,0.075,0.544,0.867,0.817,0.976,0.856,1.220,
+1.640,0.788,0.800,1.710,1.100,1.090,0.742,1.180,1.360,0.093,
+1.040,1.810,2.150,1.650,1.570,3.190,2.610,1.740,1.610,2.350,
+2.000,1.280,1.170,1.300,1.480,0.185,0.920,1.330,1.790,1.910,
+1.210,1.860,2.080,1.540,1.020,1.210,1.710,1.210,1.200,1.040,
+1.690,0.281,1.080,1.260,1.020,2.030,0.995,1.430,1.090,0.959,
+0.868,1.010,0.139,0.117,0.121,0.172,0.785,0.105,0.594,0.689,
+0.816,1.060,0.848,1.010,1.810,1.040,0.673,1.260,1.540,1.020,
+0.850,1.080,1.000,0.122,0.773,0.959,1.230,0.999,1.300,1.880,
+2.670,2.080,1.250,1.640,2.010,1.690,1.400,1.240,1.720,0.318,
+1.120,1.450,1.150,1.940,1.770,2.110,2.140,2.140,1.100,1.250,
+1.800,1.420,1.280,1.180,4.070,0.916,1.610,2.130,1.110,2.810,
+1.170,1.450,1.100,1.630,1.070,1.040,0.185,0.264,0.235,0.193,
+1.360,0.282,1.240,1.270,0.774,1.960,1.200,1.080,1.060,1.010,
+0.521,0.732,1.470,1.260,0.975,1.100,1.220,0.150,0.916,1.080,
+0.802,0.981,0.947,1.420,1.210,0.839,0.593,0.820,1.210,0.915,
+1.080,0.958,1.020,0.172,0.799,0.903,0.708,0.920,0.921,1.360,
+0.115,0.144,0.082,0.109,0.162,0.196,0.168,0.143,0.193,0.055,
+0.147,0.177,0.093,0.260,0.161,0.174,0.628,0.760,0.705,0.597,
+0.104,0.112,0.134,0.120,0.771,0.144,0.798,0.816,0.499,0.976,
+0.950,0.890,0.551,0.489,0.401,0.489,0.907,0.860,0.948,0.885,
+0.889,0.121,0.807,0.995,0.649,0.859,1.150,1.350,1.560,0.708,
+0.574,0.985,0.773,0.527,0.474,0.614,0.739,0.100,0.465,0.646,
+0.761,0.696,0.582,1.200,1.350,1.240,0.756,1.010,1.230,1.200,
+0.887,0.979,0.914,0.148,0.808,1.220,0.688,1.160,0.805,1.180,
+0.564,0.602,0.553,0.635,0.068,0.075,0.077,0.086,0.599,0.075,
+0.543,0.663,0.497,0.849,0.961,0.981,0.868,0.634,0.470,0.916,
+0.685,0.840,0.547,0.730,0.832,0.099,0.751,1.210,1.050,1.040,
+1.230,2.430,2.290,1.850,1.270,1.690,1.750,1.740,1.300,1.230,
+1.240,0.193,0.893,1.120,1.160,2.000,0.882,1.570,2.420,2.470,
+1.350,1.380,2.230,2.160,1.870,1.370,1.780,0.516,1.510,1.600,
+1.710,5.940,1.200,1.430,0.804,1.080,0.880,0.887,0.134,0.203,
+0.180,0.212,0.778,0.145,0.713,0.720,0.560,1.080,0.880,1.000,
+0.876,0.532,0.482,0.943,0.967,1.090,0.831,0.916,0.794,0.097,
+0.651,0.762,0.867,0.779,0.880,1.510,2.360,2.630,1.080,1.460,
+2.080,2.620,1.560,1.340,1.400,0.256,1.270,2.420,0.982,1.550,
+0.943,3.720,2.130,2.670,1.400,1.270,1.910,1.030,1.680,1.420,
+1.790,0.453,1.570,2.010,0.791,2.060,1.090,1.280,1.050,2.070,
+1.520,1.530,0.227,0.457,0.397,0.474,1.450,0.408,1.430,1.640,
+0.722,2.330,1.580,1.530,0.879,0.769,0.555,0.803,1.310,1.750,
+1.250,1.430,1.120,0.146,0.952,1.110,0.675,0.892,0.879,1.420,
+1.220,1.260,0.585,0.781,1.600,1.780,1.350,1.010,1.160,0.227,
+0.965,1.030,0.701,1.150,0.990,1.250,0.137,0.317,0.116,0.125,
+0.259,0.436,0.322,0.177,0.169,0.113,0.229,0.230,0.087,0.372,
+0.183,0.164,0.858,1.400,0.978,0.865,0.186,0.347,0.258,0.186,
+1.080,0.302,0.993,1.110,0.551,1.510,1.570,1.230,0.639,0.552,
+0.480,0.575,1.210,1.840,1.440,1.310,1.000,0.174,1.190,1.350,
+0.636,0.964,1.510,1.550,0.970,0.723,0.476,0.690,0.757,0.680,
+0.502,0.520,0.596,0.073,0.592,0.590,0.598,0.589,0.611,0.930,
+1.170,1.620,0.866,0.937,1.370,1.920,1.210,1.150,0.916,0.188,
+1.010,1.180,0.586,1.420,1.010,1.080,0.561,0.908,0.800,0.741,
+0.072,0.133,0.125,0.123,0.739,0.122,0.830,0.923,0.635,1.210,
+2.860,2.040,0.696,0.520,0.453,0.771,0.617,0.819,0.612,0.832,
+0.732,0.080,0.845,1.070,0.799,0.980,1.300,1.680,1.560,1.380,
+0.848,1.240,0.977,1.030,0.693,0.787,0.946,0.138,0.606,0.716,
+1.120,1.490,0.658,0.941,2.030,2.180,1.140,1.110,1.780,2.070,
+1.480,1.310,1.760,0.476,1.860,1.830,1.240,4.230,1.040,1.250,
+0.846,1.500,0.944,0.975,0.144,0.254,0.205,0.243,0.921,0.204,
+1.070,1.010,0.520,1.290,0.960,0.884,1.030,0.898,0.511,0.855,
+0.925,1.010,0.848,1.000,0.859,0.121,1.040,1.120,0.870,0.891,
+1.140,1.740,0.115,0.166,0.076,0.100,0.149,0.260,0.161,0.128,
+0.112,0.045,0.114,0.125,0.096,0.201,0.121,0.158,0.202,0.327,
+0.141,0.128,0.343,0.476,0.348,0.226,0.284,0.206,0.348,0.340,
+0.128,0.460,0.170,0.167,0.092,0.244,0.143,0.105,0.047,0.138,
+0.144,0.065,0.163,0.113,0.257,0.206,0.086,0.313,0.214,0.165,
+0.121,0.124,0.069,0.101,0.217,0.340,0.242,0.247,0.146,0.044,
+0.208,0.207,0.099,0.142,0.180,0.219,1.170,1.080,0.674,0.713,
+1.190,1.630,1.330,1.040,1.290,0.318,1.270,1.250,1.030,1.460,
+1.140,1.280,0.151,0.262,0.124,0.105,0.193,0.422,0.321,0.172,
+0.236,0.148,0.460,0.337,0.152,0.402,0.220,0.191,0.982,1.720,
+1.150,0.887,0.208,0.386,0.340,0.211,1.360,0.387,1.050,1.300,
+0.625,1.760,1.340,1.140,0.683,0.659,0.615,0.623,1.250,1.980,
+1.640,1.360,1.360,0.308,1.790,1.840,0.786,1.270,1.570,1.650,
+1.060,0.757,0.502,0.832,0.677,0.609,0.440,0.495,0.809,0.130,
+0.575,0.866,1.370,1.210,0.548,1.110,1.560,1.710,0.933,1.240,
+1.610,2.160,1.510,1.360,1.750,0.412,1.940,3.160,1.340,2.540,
+1.300,1.710,0.904,1.530,0.924,0.867,0.124,0.306,0.159,0.140,
+1.290,0.304,1.270,1.490,0.868,1.940,1.390,1.360,0.881,0.807,
+0.566,0.875,0.885,1.180,0.800,0.973,1.240,0.178,1.530,2.110,
+1.220,1.540,1.740,2.240,1.530,1.030,0.764,1.200,0.912,0.659,
+0.559,0.778,1.250,0.095,0.531,0.766,0.997,0.848,0.765,1.240,
+1.020,0.757,0.511,0.651,0.807,0.648,0.549,0.629,0.786,0.117,
+0.654,0.812,0.628,1.110,0.588,0.821,0.764,0.879,0.500,0.770,
+0.078,0.076,0.061,0.119,0.729,0.081,0.558,0.705,0.572,0.686,
+0.543,0.805,0.892,0.576,0.484,0.915,0.725,0.544,0.505,0.862,
+0.776,0.073,0.746,0.950,0.977,0.702,0.948,1.830,1.710,1.490,
+1.020,1.350,1.430,1.590,1.420,1.120,1.170,0.182,0.919,1.210,
+1.010,1.420,1.090,1.610,1.490,1.500,0.847,0.981,1.690,1.740,
+1.350,1.300,1.470,0.281,1.430,1.930,0.853,1.630,1.080,1.380,
+0.996,1.800,0.903,0.983,0.128,0.270,0.187,0.208,1.160,0.225,
+1.200,1.290,0.836,1.870,1.200,1.340,1.090,0.911,0.621,0.939,
+1.660,1.680,1.430,1.780,1.290,0.185,1.510,1.550,0.995,1.420,
+1.440,1.970,0.982,0.721,0.546,0.715,1.100,1.060,1.040,1.030,
+1.050,0.181,1.020,1.180,0.780,0.953,0.994,1.420,0.089,0.114,
+0.059,0.081,0.112,0.190,0.147,0.124,0.094,0.036,0.159,0.151,
+0.084,0.171,0.124,0.130,0.706,0.970,0.711,0.736,0.089,0.131,
+0.119,0.140,0.904,0.195,0.951,1.110,0.556,1.320,1.120,1.140,
+0.578,0.548,0.571,0.647,0.875,1.050,1.180,1.210,1.230,0.166,
+1.260,1.600,0.814,1.030,1.480,1.670,1.330,0.712,0.620,1.010,
+0.739,0.637,0.500,0.603,0.811,0.113,0.558,0.863,0.880,0.766,
+0.717,1.510,1.100,0.930,0.588,0.836,1.030,1.000,0.875,0.862,
+0.823,0.112,0.777,1.230,0.841,1.170,0.778,1.450,0.787,0.921,
+0.694,0.927,0.079,0.110,0.083,0.112,0.896,0.131,0.930,1.200,
+0.824,1.280,1.350,1.510,1.250,0.720,0.740,1.340,1.080,1.130,
+1.010,1.320,1.360,0.125,1.490,2.090,1.770,1.680,1.990,2.560,
+1.730,1.080,0.923,1.600,1.360,0.940,0.813,1.030,0.978,0.139,
+0.605,0.800,1.150,1.210,0.769,1.170,1.270,0.939,0.653,0.808,
+1.060,0.777,0.741,0.876,1.160,0.280,0.744,0.771,0.605,1.160,
+0.696,0.796,0.953,0.723,0.605,1.200,0.104,0.071,0.080,0.142,
+0.530,0.061,0.400,0.617,0.458,0.644,0.580,0.702,1.800,0.546,
+0.472,0.945,0.896,0.518,0.634,0.746,0.566,0.059,0.400,0.578,
+0.771,0.413,0.612,1.160,2.210,1.600,0.945,1.270,2.100,1.670,
+1.340,1.140,0.952,0.150,0.691,0.865,0.772,1.040,0.679,1.000,
+1.740,1.960,0.880,0.986,1.570,1.080,1.330,1.110,1.260,0.242,
+1.180,1.750,0.638,1.170,0.742,0.854,1.210,1.420,1.060,1.120,
+0.180,0.246,0.213,0.207,1.410,0.229,1.250,1.560,0.774,1.470,
+1.250,1.170,1.330,0.705,0.510,0.715,1.390,1.270,1.110,1.200,
+0.870,0.118,0.783,0.975,0.726,0.694,0.834,1.360,1.110,0.678,
+0.535,0.798,1.360,1.140,1.320,1.320,1.270,0.195,0.925,0.937,
+0.751,0.902,0.736,1.190,0.123,0.150,0.096,0.115,0.181,0.203,
+0.323,0.226,0.188,0.044,0.351,0.232,0.120,0.272,0.160,0.198,
+0.730,0.840,0.963,0.777,0.135,0.136,0.478,0.217,0.804,0.150,
+0.648,0.872,0.469,1.180,0.917,0.808,0.679,0.446,0.923,0.671,
+1.380,1.060,5.040,1.800,1.010,0.144,0.846,1.120,0.643,0.808,
+0.999,1.190,1.140,0.513,0.415,0.754,0.641,0.464,0.486,0.633,
+0.548,0.064,0.370,0.489,0.644,0.554,0.469,0.966,1.010,0.787,
+0.526,0.744,0.941,0.785,0.854,0.942,0.801,0.101,0.953,1.000,
+0.633,0.871,0.665,0.940,0.786,0.855,0.679,0.842,0.096,0.100,
+0.126,0.132,0.739,0.100,0.603,0.827,0.573,1.020,0.934,1.050,
+1.100,0.648,0.581,0.938,0.834,0.594,1.130,0.912,1.080,0.101,
+0.841,1.200,1.180,1.090,1.300,2.260,0.104,0.088,0.066,0.088,
+0.107,0.107,0.082,0.090,0.070,0.013,0.123,0.088,0.063,0.093,
+0.067,0.083,0.136,0.127,0.162,0.085,0.138,0.144,0.162,0.116,
+0.109,0.033,0.171,0.129,0.062,0.159,0.093,0.093,0.055,0.078,
+0.059,0.074,0.012,0.022,0.020,0.016,0.056,0.014,0.065,0.075,
+0.041,0.076,0.063,0.072,0.091,0.044,0.036,0.061,0.087,0.088,
+0.078,0.080,0.059,0.011,0.050,0.073,0.061,0.054,0.063,0.124,
+0.128,0.147,0.070,0.083,0.176,0.249,0.177,0.115,0.084,0.031,
+0.081,0.081,0.051,0.096,0.067,0.096,0.173,0.279,0.128,0.099,
+0.249,0.227,0.273,0.172,0.173,0.098,0.228,0.232,0.064,0.164,
+0.127,0.108,0.097,0.194,0.125,0.117,0.041,0.121,0.094,0.055,
+0.251,0.120,0.249,0.295,0.117,0.236,0.204,0.166,0.081,0.064,
+0.046,0.057,0.143,0.202,0.154,0.136,0.111,0.030,0.108,0.104,
+0.062,0.077,0.087,0.129,0.079,0.065,0.042,0.047,0.137,0.155,
+0.148,0.103,0.104,0.030,0.089,0.088,0.043,0.076,0.063,0.089,
+0.017,0.033,0.021,0.014,0.043,0.094,0.084,0.039,0.053,0.040,
+0.079,0.054,0.011,0.041,0.033,0.023,0.080,0.125,0.116,0.101,
+0.027,0.066,0.094,0.040,0.138,0.074,0.147,0.162,0.057,0.194,
+0.160,0.116,0.058,0.050,0.072,0.056,0.144,0.204,0.407,0.174,
+0.137,0.059,0.168,0.212,0.057,0.120,0.125,0.134,0.078,0.062,
+0.043,0.072,0.065,0.063,0.052,0.062,0.051,9.61e-3,0.045,0.053,
+0.049,0.059,0.051,0.093,0.109,0.120,0.081,0.091,0.148,0.184,
+0.147,0.159,0.119,0.024,0.135,0.142,0.081,0.158,0.108,0.135,
+0.075,0.096,0.084,0.081,0.015,0.039,0.029,0.021,0.094,0.029,
+0.100,0.138,0.057,0.123,0.165,0.150,0.084,0.069,0.056,0.076,
+0.080,0.094,0.108,0.088,0.102,0.017,0.099,0.129,0.089,0.103,
+0.123,0.196,1.330,1.050,0.694,1.070,0.974,0.905,0.724,0.784,
+0.720,0.101,0.657,0.669,0.528,0.546,0.455,0.687,1.360,1.470,
+0.761,0.812,1.500,1.500,1.470,1.090,1.270,0.252,1.780,1.390,
+0.552,1.080,0.781,0.884,0.766,1.080,0.732,0.920,0.164,0.259,
+0.211,0.244,0.983,0.187,1.160,1.170,0.574,1.090,0.744,0.866,
+0.759,0.487,0.346,0.619,0.965,0.961,0.797,0.892,0.886,0.138,
+1.140,1.200,0.683,0.623,0.829,1.350,0.128,0.155,0.066,0.084,
+0.167,0.258,0.177,0.147,0.092,0.035,0.104,0.112,0.051,0.105,
+0.065,0.086,0.153,0.237,0.104,0.087,0.273,0.315,0.301,0.184,
+0.155,0.095,0.299,0.237,0.060,0.146,0.126,0.103,0.091,0.229,
+0.128,0.102,0.049,0.133,0.123,0.059,0.170,0.100,0.315,0.315,
+0.068,0.185,0.172,0.134,0.104,0.094,0.054,0.088,0.206,0.351,
+0.210,0.228,0.158,0.051,0.178,0.239,0.074,0.117,0.111,0.167,
+1.240,1.010,0.615,0.607,1.340,1.700,1.630,0.962,1.230,0.280,
+1.200,1.370,0.687,0.910,0.829,0.937,0.145,0.243,0.123,0.093,
+0.223,0.417,0.413,0.155,0.203,0.121,0.370,0.282,0.095,0.228,
+0.157,0.132,1.000,1.510,1.190,0.904,0.224,0.302,0.373,0.198,
+0.962,0.240,0.350,0.792,0.490,1.070,0.981,0.865,0.608,0.498,
+0.452,0.468,1.170,1.500,1.490,1.080,0.987,0.205,1.420,1.460,
+0.513,0.822,1.030,1.090,0.850,0.617,0.464,0.581,0.693,0.709,
+0.466,0.418,0.563,0.091,0.536,0.651,0.516,0.519,0.397,0.634,
+1.300,1.260,0.801,0.722,1.490,1.760,1.440,0.981,1.230,0.240,
+1.560,1.620,0.761,1.200,0.876,0.960,0.916,1.270,0.976,0.906,
+0.146,0.289,0.204,0.166,1.210,0.254,1.480,1.630,0.610,1.420,
+1.280,1.220,0.770,0.588,0.477,0.714,0.912,1.080,0.774,0.809,
+1.050,0.145,1.460,1.550,0.833,0.992,1.170,1.450,1.480,0.800,
+0.530,0.972,0.835,0.588,0.513,0.638,0.682,0.076,0.392,0.542,
+0.671,0.582,0.443,0.875,0.996,0.748,0.422,0.539,0.771,0.676,
+0.550,0.550,0.592,0.069,0.506,0.621,0.384,0.486,0.393,0.574,
+0.721,0.635,0.379,0.616,0.081,0.086,0.063,0.115,0.756,0.078,
+0.534,0.711,0.481,0.602,0.487,0.721,0.751,0.434,0.325,0.599,
+0.675,0.530,0.471,0.656,0.702,0.093,0.503,0.707,0.702,0.573,
+0.615,1.310,1.870,1.430,0.747,1.170,1.610,1.470,1.290,1.080,
+1.030,0.162,0.816,0.931,0.749,1.060,0.667,1.100,1.560,1.620,
+0.764,0.914,1.730,1.690,1.500,1.250,1.070,0.184,1.280,1.460,
+0.561,0.946,0.741,1.020,1.120,1.770,0.957,1.040,0.154,0.298,
+0.211,0.227,1.950,0.306,1.630,1.940,0.889,1.760,1.410,1.480,
+1.080,0.877,0.528,0.861,1.610,1.750,1.510,1.730,1.930,0.532,
+1.330,1.750,0.924,1.570,1.100,1.700,1.340,0.841,0.586,0.725,
+1.260,1.320,1.250,1.030,0.959,0.166,0.824,1.090,0.636,0.880,
+0.706,1.200,0.159,0.129,0.068,0.090,0.148,0.252,0.225,0.152,
+0.107,0.041,0.167,0.197,0.071,0.159,0.111,0.135,0.987,1.550,
+0.801,0.912,0.134,0.193,0.171,0.168,1.110,0.232,0.899,1.430,
+0.664,1.450,1.130,1.240,0.758,0.698,0.532,0.675,1.350,1.510,
+1.470,1.430,1.080,0.188,1.190,1.940,0.713,1.040,1.170,1.470,
+1.340,0.682,0.607,0.833,0.768,0.608,0.536,0.529,0.721,0.106,
+0.542,0.744,0.684,0.562,0.544,1.110,1.110,0.835,0.528,0.702,
+0.980,1.010,0.917,0.851,0.765,0.094,0.838,1.200,0.600,0.796,
+0.773,1.120,1.040,1.200,0.808,1.070,0.113,0.141,0.106,0.149,
+1.240,0.170,1.290,1.790,0.897,1.400,1.460,1.660,1.250,0.812,
+0.627,1.220,1.240,1.220,0.964,1.210,1.420,0.158,1.420,2.040,
+1.380,1.240,1.480,2.140,2.580,1.210,1.320,2.170,1.180,0.743,
+0.626,0.884,0.977,0.100,0.591,0.748,1.360,1.110,0.667,1.320,
+1.230,0.688,0.468,0.721,0.823,0.501,0.461,0.517,0.684,0.070,
+0.657,0.525,0.617,0.685,0.474,0.720,0.861,0.614,0.550,0.888,
+0.085,0.060,0.053,0.110,0.488,0.048,0.292,0.478,0.494,0.589,
+0.503,0.762,1.480,0.600,0.657,1.150,0.924,0.572,0.508,0.809,
+0.625,0.056,0.416,0.642,0.989,0.679,0.765,1.700,1.790,0.938,
+0.708,1.130,1.080,0.709,0.543,0.672,0.565,0.063,0.303,0.509,
+0.557,0.565,0.373,0.794,1.060,0.749,0.434,0.925,0.774,0.466,
+0.449,0.525,0.647,0.080,0.385,0.600,0.450,0.515,0.370,0.612,
+0.758,0.669,0.660,0.747,0.073,0.084,0.066,0.091,0.554,0.065,
+0.376,0.544,0.465,0.708,0.615,0.727,0.751,0.427,0.367,0.588,
+0.783,0.542,0.451,0.607,0.475,0.039,0.336,0.528,0.498,0.429,
+0.480,1.010,1.150,0.577,0.456,0.827,0.909,0.598,0.542,0.907,
+0.731,0.088,0.323,0.545,0.773,0.660,0.468,1.320,0.101,0.071,
+0.043,0.084,0.088,0.071,0.066,0.092,0.070,9.61e-3,0.065,0.076,
+0.105,0.128,0.072,0.147,0.588,0.488,0.434,0.545,0.060,0.053,
+0.082,0.080,0.454,0.060,0.264,0.445,0.426,0.650,0.492,0.679,
+0.598,0.393,0.420,0.670,0.709,0.514,1.020,0.839,0.584,0.057,
+0.384,0.694,0.658,0.583,0.630,1.150,1.590,0.652,0.523,1.200,
+0.714,0.435,0.416,0.728,0.696,0.064,0.352,0.579,1.110,0.714,
+0.566,1.480,1.060,0.621,0.421,0.745,0.682,0.508,0.461,0.615,
+0.618,0.053,0.432,0.676,0.775,0.793,0.528,1.050,0.759,0.735,
+0.513,0.716,0.060,0.057,0.048,0.075,0.630,0.055,0.354,0.592,
+0.647,0.797,0.697,1.040,1.270,0.720,0.627,1.230,0.801,0.584,
+0.596,0.859,0.990,0.077,0.661,1.170,1.590,1.280,1.540,3.030,
+1.620,0.972,0.810,1.330,1.110,0.865,0.726,0.744,0.813,0.140,
+2.190,1.020,0.827,0.827,0.821,1.200,1.280,0.834,0.701,0.802,
+0.987,0.791,1.100,0.800,0.851,0.125,2.720,1.150,0.600,0.854,
+0.884,0.928,0.606,0.576,0.433,0.658,0.065,0.076,0.059,0.097,
+0.515,0.062,0.453,0.560,0.422,0.675,0.498,0.828,0.777,0.442,
+0.362,0.729,0.717,0.615,0.474,0.688,0.565,0.065,0.478,0.605,
+0.611,0.561,0.618,1.330,1.490,1.130,0.604,0.997,1.250,1.110,
+0.741,0.791,0.699,0.096,0.525,0.689,0.572,0.759,0.447,0.889,
+1.260,1.170,0.568,0.743,1.190,0.837,0.812,0.847,1.210,0.214,
+0.788,0.968,0.544,0.953,0.569,0.818,0.807,0.991,0.822,0.906,
+0.110,0.165,0.109,0.130,1.120,0.177,0.696,0.975,0.673,1.170,
+0.793,1.170,0.675,0.511,0.381,0.568,0.844,0.934,0.775,0.829,
+0.650,0.080,0.459,0.694,0.545,0.596,0.611,1.210,1.010,0.603,
+0.420,0.627,1.090,0.864,0.652,0.880,0.686,0.107,0.507,0.567,
+0.550,0.646,0.513,1.010,0.068,0.081,0.040,0.067,0.100,0.171,
+0.096,0.092,0.080,0.029,0.094,0.087,0.059,0.126,0.070,0.111,
+0.690,0.700,0.522,0.627,0.084,0.108,0.096,0.101,0.696,0.107,
+0.442,0.712,0.483,0.949,0.655,0.939,0.648,0.433,0.378,0.604,
+0.913,0.968,0.897,0.952,0.746,0.097,0.626,1.020,0.682,0.896,
+0.920,1.680,0.941,0.550,0.428,1.020,0.610,0.449,0.389,0.634,
+0.545,0.059,0.377,0.493,0.607,0.518,0.497,0.987,0.917,0.743,
+0.484,0.766,0.804,0.842,0.639,0.762,0.755,0.096,0.640,0.844,
+0.620,1.020,0.664,1.070,0.691,0.724,0.544,0.733,0.067,0.092,
+0.061,0.080,0.715,0.075,0.519,0.787,0.559,0.900,0.894,1.220,
+0.989,0.662,0.484,0.788,0.805,0.684,0.516,0.678,0.821,0.075,
+0.633,1.040,1.040,1.190,1.160,2.290,1.860,1.310,0.821,1.380,
+1.030,0.917,0.745,0.995,1.010,0.104,0.696,0.782,0.835,0.703,
+0.558,1.010,1.740,1.470,0.733,1.040,1.370,1.240,0.984,0.986,
+1.150,0.174,1.500,1.270,0.796,1.410,0.836,1.420,0.983,1.220,
+0.666,1.000,0.129,0.176,0.129,0.189,0.860,0.124,0.686,1.000,
+0.596,1.170,0.818,1.130,1.240,0.816,0.503,0.977,1.060,1.070,
+0.739,1.010,0.982,0.120,1.060,1.250,1.020,0.879,1.210,2.120,
+0.125,0.125,0.079,0.097,0.127,0.159,0.087,0.120,0.084,0.019,
+0.098,0.091,0.065,0.096,0.063,0.105,0.133,0.159,0.065,0.090,
+0.181,0.202,0.129,0.123,0.127,0.047,0.209,0.215,0.066,0.147,
+0.095,0.131,0.078,0.132,0.062,0.075,0.017,0.046,0.029,0.022,
+0.112,0.038,0.102,0.135,0.062,0.154,0.117,0.130,0.119,0.092,
+0.053,0.102,0.147,0.206,0.125,0.156,0.104,0.020,0.109,0.137,
+0.099,0.119,0.126,0.201,1.760,1.250,0.727,0.938,1.680,1.670,
+1.340,1.260,1.270,0.245,0.959,1.220,0.866,1.180,0.937,1.450,
+0.145,0.178,0.074,0.092,0.185,0.249,0.165,0.144,0.152,0.050,
+0.184,0.173,0.108,0.215,0.137,0.167,1.710,1.890,1.020,1.190,
+0.285,0.346,0.213,0.209,1.510,0.279,0.814,1.410,0.856,1.760,
+1.230,1.490,1.120,0.897,0.637,0.928,1.830,2.150,1.470,1.650,
+1.610,0.221,1.570,1.850,1.080,1.360,1.730,2.050,1.380,0.915,
+0.697,1.070,1.080,0.897,0.596,0.789,0.803,0.109,0.701,0.915,
+0.839,0.860,0.630,1.300,1.620,1.450,0.822,1.120,1.420,1.610,
+1.050,1.130,1.470,0.191,1.440,1.740,1.100,1.750,1.240,1.700,
+1.460,1.680,0.996,1.270,0.150,0.245,0.136,0.156,1.510,0.212,
+1.350,1.690,1.130,2.070,1.640,1.910,1.280,0.894,0.692,1.130,
+1.150,1.310,0.908,1.130,1.500,0.154,1.550,1.540,1.420,1.550,
+2.010,2.420,3.700,1.350,0.920,1.950,1.300,0.798,0.640,0.930,
+0.970,0.095,0.539,0.846,1.200,0.909,0.683,1.710,1.480,0.934,
+0.481,0.804,0.995,0.746,0.562,0.676,0.747,0.078,0.597,0.804,
+0.633,0.682,0.519,1.030,1.140,0.923,0.532,1.200,0.093,0.091,
+0.060,0.146,0.723,0.076,0.462,0.814,0.656,0.907,0.709,1.230,
+1.770,1.010,0.671,1.590,1.130,0.855,0.653,1.200,1.040,0.101,
+0.751,1.260,1.510,1.400,1.400,3.280,2.280,1.480,0.801,1.370,
+1.430,1.230,0.756,1.020,0.941,0.108,0.724,0.932,0.876,0.963,
+0.650,1.380,1.840,1.430,0.631,0.959,1.910,1.510,0.922,1.130,
+1.030,0.127,1.020,1.370,0.762,1.010,0.666,1.310,1.260,1.440,
+0.730,1.180,0.106,0.156,0.083,0.145,1.270,0.151,0.828,1.330,
+0.904,1.530,1.080,1.740,1.490,1.050,0.594,1.130,1.400,1.260,
+0.918,1.440,1.220,0.155,0.839,1.390,1.190,1.280,1.470,2.570,
+2.090,1.200,0.895,1.250,1.600,1.250,1.080,1.440,1.250,0.168,
+0.805,1.340,1.150,1.170,0.987,2.060,0.130,0.119,0.067,0.115,
+0.131,0.146,0.109,0.124,0.088,0.020,0.105,0.134,0.103,0.158,
+0.100,0.193,1.430,1.510,0.926,1.370,0.127,0.143,0.107,0.159,
+1.400,0.188,1.060,1.520,1.080,1.790,1.410,2.000,1.500,1.060,
+0.831,1.300,1.730,1.570,1.360,1.920,1.740,0.177,1.490,2.400,
+1.520,1.530,1.910,3.040,3.520,1.410,0.983,1.950,1.280,0.927,
+0.756,1.140,1.240,0.125,0.725,1.400,1.770,1.360,1.180,3.160,
+1.920,1.310,0.786,1.410,1.370,1.160,0.950,1.300,1.310,0.111,
+1.010,1.690,1.330,1.520,1.090,2.610,1.760,1.580,1.070,1.820,
+0.113,0.129,0.084,0.164,1.810,0.176,1.450,2.340,1.690,2.180,
+2.000,3.170,3.400,1.220,1.010,2.460,1.610,1.270,1.050,1.980,
+1.910,0.138,1.630,3.080,1.920,1.690,2.060,4.500,4.350,1.880,
+1.370,3.300,2.600,1.390,1.130,1.730,2.630,0.265,0.988,1.770,
+4.440,2.910,1.680,3.080,3.030,1.480,1.020,1.530,1.780,0.948,
+0.871,0.936,1.660,0.141,0.817,1.170,1.610,1.330,0.875,1.580,
+2.640,1.710,1.300,2.070,0.212,0.192,0.123,0.268,1.330,0.127,
+0.787,1.060,1.630,1.630,1.080,1.670,4.790,1.900,1.820,3.940,
+3.050,2.750,1.610,2.800,1.850,0.155,0.943,1.650,2.950,1.780,
+1.660,3.310,3.550,1.610,1.040,1.760,1.770,1.040,0.692,0.901,
+1.550,0.232,0.670,0.943,1.440,1.440,0.665,1.360,2.010,1.150,
+0.636,0.941,1.230,0.714,0.590,0.678,0.996,0.092,0.531,0.717,
+0.823,0.778,0.528,0.764,1.430,1.230,0.885,1.070,0.104,0.082,
+0.073,0.110,0.905,0.086,0.495,0.714,0.740,0.893,0.580,0.866,
+1.360,0.857,0.698,1.150,1.280,0.971,0.835,1.030,1.020,0.091,
+0.530,0.881,1.110,0.973,0.742,1.600,2.830,1.140,0.910,1.440,
+1.760,0.895,0.792,1.090,1.560,0.178,0.623,1.180,1.620,1.260,
+0.931,2.150,0.174,0.120,0.074,0.135,0.139,0.106,0.082,0.104,
+0.117,0.019,0.065,0.123,0.167,0.206,0.118,0.228,1.080,0.742,
+0.641,0.805,0.110,0.061,0.050,0.094,0.785,0.067,0.343,0.520,
+0.637,0.628,0.533,0.761,1.120,0.761,0.640,1.200,1.310,0.852,
+0.708,1.120,0.920,0.086,0.589,0.963,0.923,0.885,0.805,1.570,
+4.390,1.520,1.260,2.730,1.450,0.781,0.809,1.200,2.090,0.202,
+0.782,1.530,3.090,1.880,1.440,3.910,2.620,1.510,1.120,1.610,
+1.730,1.070,0.996,1.210,1.470,0.116,0.851,1.610,1.870,1.650,
+1.170,2.440,1.360,1.050,0.799,1.180,0.108,0.083,0.062,0.112,
+0.930,0.064,0.491,0.844,1.070,0.999,0.809,1.280,2.380,1.630,
+1.140,2.450,1.310,1.090,0.917,1.400,1.490,0.114,0.899,1.680,
+2.220,1.700,1.550,3.220,3.380,1.740,1.210,2.300,1.480,0.972,
+0.748,1.070,1.280,0.131,0.523,1.040,1.540,1.300,0.756,1.640,
+1.850,1.200,0.688,1.040,1.150,0.700,0.622,0.703,0.852,0.077,
+0.525,0.857,0.771,0.794,0.562,1.050,1.050,0.969,0.663,1.020,
+0.096,0.096,0.072,0.160,0.582,0.072,0.679,0.718,0.603,0.772,
+0.723,0.910,1.290,0.599,0.625,1.110,1.060,0.806,0.584,1.080,
+0.689,0.062,0.456,0.679,0.907,0.649,0.674,1.590,1.980,1.410,
+0.618,1.010,1.130,0.857,0.509,0.635,0.862,0.096,0.353,0.683,
+0.750,0.823,0.391,0.888,1.090,0.867,0.404,0.584,0.711,0.423,
+0.408,0.461,0.578,0.070,0.355,0.574,0.429,0.547,0.338,0.557,
+0.750,0.956,0.457,0.619,0.066,0.082,0.040,0.065,0.572,0.086,
+0.323,0.509,0.434,0.730,0.359,0.611,0.724,0.503,0.331,0.589,
+0.648,0.597,0.326,0.521,0.586,0.048,0.273,0.495,0.520,0.524,
+0.346,0.901,1.390,0.781,0.510,0.845,1.070,0.671,0.586,0.708,
+0.837,0.100,0.425,0.877,0.744,0.716,0.544,1.160,0.085,0.083,
+0.047,0.075,0.087,0.081,0.072,0.065,0.063,0.018,0.059,0.096,
+0.070,0.104,0.060,0.102,0.820,0.683,1.110,0.737,0.181,0.065,
+0.051,0.081,0.540,0.056,0.367,0.527,0.387,0.563,0.487,0.615,
+0.606,0.385,0.378,0.641,0.760,0.528,0.442,0.638,0.486,0.042,
+0.534,0.657,0.446,0.441,0.593,0.896,1.700,0.739,0.623,1.070,
+0.877,0.569,0.520,0.654,0.975,0.084,0.412,0.848,1.140,0.757,
+0.531,1.410,1.410,0.885,0.719,0.965,0.998,0.809,0.825,0.874,
+0.758,0.073,0.619,1.280,0.829,0.974,0.592,1.230,0.857,0.769,
+0.637,0.871,0.077,0.061,0.038,0.071,0.636,0.056,0.419,0.745,
+0.569,0.684,0.571,0.913,1.050,0.610,0.623,1.040,0.803,0.606,
+0.502,0.819,0.791,0.061,0.605,1.110,1.110,0.935,1.070,1.940,
+2.410,1.300,1.270,1.980,1.040,0.655,0.505,0.764,1.100,0.104,
+0.459,0.781,1.250,0.951,0.542,1.210,1.840,1.390,0.608,0.967,
+0.940,0.590,0.516,0.598,0.997,0.095,0.516,0.744,0.834,0.907,
+0.494,0.855,1.170,1.110,0.675,1.030,0.111,0.121,0.070,0.133,
+0.640,0.069,0.379,0.548,0.605,0.844,0.659,0.882,1.310,0.814,
+0.641,1.290,0.995,0.835,0.598,0.893,0.959,0.085,0.508,0.950,
+1.080,0.763,0.818,2.270,0.152,0.106,0.073,0.110,0.113,0.097,
+0.058,0.069,0.085,0.017,0.041,0.063,0.096,0.107,0.052,0.095,
+0.115,0.102,0.042,0.069,0.117,0.095,0.058,0.063,0.087,0.015,
+0.053,0.062,0.065,0.094,0.040,0.068,0.077,0.094,0.053,0.079,
+0.013,0.018,0.011,0.013,0.072,0.013,0.046,0.059,0.059,0.089,
+0.061,0.080,0.137,0.087,0.066,0.132,0.149,0.142,0.094,0.141,
+0.103,0.011,0.063,0.107,0.114,0.092,0.087,0.207,1.260,0.632,
+0.441,0.643,0.684,0.526,0.453,0.512,0.844,0.104,0.532,0.759,
+0.595,0.615,0.517,0.825,0.093,0.084,0.037,0.058,0.056,0.058,
+0.046,0.046,0.070,0.016,0.071,0.065,0.072,0.092,0.054,0.071,
+0.598,0.628,0.389,0.467,0.084,0.062,0.048,0.052,0.764,0.069,
+0.286,0.368,0.395,0.493,0.338,0.443,0.589,0.398,0.330,0.455,
+0.614,0.519,0.424,0.528,0.782,0.097,0.581,0.693,0.487,0.594,
+0.433,0.767,1.220,0.597,0.579,0.844,0.649,0.412,0.333,0.455,
+0.781,0.076,0.400,0.711,0.926,0.726,0.459,1.130,1.440,0.912,
+0.615,0.820,0.859,0.751,0.553,0.605,0.868,0.081,0.545,0.831,
+0.808,0.895,0.539,0.908,0.828,0.813,0.554,0.783,0.084,0.083,
+0.052,0.075,0.718,0.063,0.437,0.631,0.649,0.755,0.558,0.876,
+1.090,0.568,0.636,0.878,0.800,0.662,0.793,0.828,0.985,0.085,
+0.777,1.110,1.220,0.983,0.978,1.870,3.680,1.470,1.220,2.520,
+1.180,0.670,0.606,0.931,1.420,0.123,0.533,0.995,2.580,1.320,
+0.951,2.070,1.540,0.786,0.485,0.895,0.826,0.409,0.412,0.549,
+0.947,0.071,0.529,0.724,0.991,0.685,0.527,0.935,1.220,0.917,
+0.629,1.370,0.096,0.079,0.062,0.144,0.836,0.067,0.401,0.649,
+0.810,0.770,0.505,1.010,1.860,0.836,0.876,2.290,1.040,0.687,
+0.673,1.260,1.150,0.083,0.701,1.190,1.680,1.010,1.200,3.150,
+2.020,1.100,0.693,1.340,1.280,0.812,0.588,0.810,1.040,0.106,
+0.431,0.796,1.100,1.030,0.608,1.140,1.320,0.797,0.395,0.745,
+1.130,0.604,0.394,0.547,0.881,0.131,0.419,0.653,0.732,0.855,
+0.360,0.752,0.937,0.746,0.467,0.921,0.079,0.060,0.046,0.076,
+0.835,0.070,0.435,0.661,0.665,0.816,0.499,0.874,1.180,0.608,
+0.511,1.110,0.976,0.703,0.607,1.040,0.906,0.070,0.552,0.985,
+1.020,0.776,0.738,1.730,1.440,0.809,0.517,0.957,0.952,0.571,
+0.483,0.691,1.230,0.121,0.486,0.810,0.952,0.772,0.624,1.280,
+0.096,0.071,0.041,0.080,0.070,0.054,0.048,0.054,0.170,0.015,
+0.066,0.085,0.096,0.099,0.061,0.115,0.830,0.763,0.580,0.724,
+0.125,0.049,0.101,0.065,4.310,0.226,0.813,0.708,1.210,0.683,
+0.815,0.775,0.781,0.547,0.455,0.773,0.783,0.510,0.598,0.803,
+1.470,0.094,0.578,0.901,0.849,0.646,0.674,1.280,2.430,1.180,
+0.853,1.820,1.040,0.712,0.624,0.820,1.310,0.125,0.560,1.100,
+1.800,1.180,0.924,2.500,1.300,0.765,0.556,0.969,0.869,0.573,
+0.509,0.692,0.980,0.110,0.528,0.978,1.020,1.020,0.628,1.360,
+1.240,1.060,0.838,1.330,0.085,0.065,0.053,0.107,1.590,0.089,
+0.656,1.000,1.330,1.210,1.040,1.490,2.300,1.090,1.170,2.920,
+1.390,1.040,1.000,1.930,1.740,0.094,1.100,1.970,2.890,1.850,
+1.940,4.360,3.340,2.000,1.510,2.890,2.060,1.270,0.921,1.350,
+1.810,0.287,0.753,1.290,2.320,2.100,1.010,2.010,2.090,1.400,
+0.749,1.010,1.490,0.911,0.650,0.793,1.090,0.108,0.597,0.915,
+0.929,1.000,0.620,1.050,1.080,0.949,0.596,0.917,0.111,0.098,
+0.054,0.121,0.637,0.065,0.345,0.534,0.738,0.873,0.512,0.887,
+1.650,0.924,0.680,1.490,1.480,1.230,0.638,1.170,0.965,0.101,
+0.514,1.220,1.330,1.100,1.050,2.050,2.640,1.630,0.700,1.270,
+1.620,1.170,0.588,0.831,2.380,1.120,0.611,0.890,1.260,2.660,
+0.523,1.080,1.470,1.090,0.466,0.669,1.060,0.722,0.473,0.610,
+0.949,0.204,0.550,0.736,0.617,0.963,0.414,0.742,0.791,0.889,
+0.460,0.556,0.087,0.083,0.051,0.070,0.705,0.109,0.437,0.541,
+0.511,0.879,0.460,0.659,0.717,0.618,0.343,0.626,0.861,0.808,
+0.403,0.618,0.772,0.108,0.396,0.649,0.674,0.819,0.531,1.150,
+1.250,0.696,0.479,0.783,1.150,0.731,0.579,0.752,1.040,0.180,
+0.423,0.794,0.844,0.852,0.550,1.170,0.100,0.094,0.049,0.078,
+0.106,0.094,0.065,0.090,0.083,0.022,0.062,0.099,0.090,0.146,
+0.079,0.126,0.502,0.521,0.344,0.430,0.054,0.056,0.034,0.055,
+0.462,0.049,0.252,0.384,0.347,0.443,0.327,0.437,0.529,0.403,
+0.281,0.525,0.686,0.598,0.369,0.611,0.543,0.062,0.377,0.618,
+0.522,0.556,0.558,0.951,1.580,0.759,0.576,1.150,0.894,0.490,
+0.357,0.552,1.000,0.154,0.417,0.811,1.180,0.897,0.595,1.530,
+1.270,0.954,0.649,0.893,0.970,0.730,0.520,0.688,0.722,0.082,
+0.498,0.987,0.809,0.959,0.633,1.090,0.586,0.527,0.458,0.577,
+0.057,0.039,0.038,0.060,0.539,0.044,0.277,0.438,0.549,0.568,
+0.450,0.675,0.974,0.681,0.453,0.958,0.580,0.498,0.484,0.687,
+0.890,0.085,0.547,1.080,1.170,1.010,0.965,2.020,2.220,1.360,
+0.814,1.450,1.500,1.080,0.698,0.896,0.808,0.105,0.379,0.709,
+0.973,1.040,0.525,1.120,1.620,1.180,0.603,0.821,1.590,0.912,
+0.707,0.818,0.664,0.086,0.480,0.765,0.564,0.735,0.457,0.849,
+0.627,0.693,0.429,0.594,0.070,0.076,0.052,0.085,0.393,0.054,
+0.341,0.424,0.404,0.604,0.380,0.641,0.743,0.438,0.354,0.694,
+0.754,0.687,0.421,0.692,0.441,0.049,0.302,0.497,0.657,0.607,
+0.515,1.220,1.400,1.140,0.426,0.717,1.130,1.060,0.492,0.582,
+0.760,0.136,0.324,0.577,0.527,0.778,0.302,0.626,1.030,0.997,
+0.392,0.505,0.823,0.332,0.457,0.537,0.624,0.123,0.378,0.651,
+0.399,0.782,0.346,0.500,0.495,0.803,0.347,0.447,0.066,0.097,
+0.048,0.062,0.481,0.092,0.327,0.536,0.321,0.741,0.350,0.556,
+0.490,0.465,0.238,0.382,0.647,0.760,0.293,0.468,0.434,0.053,
+0.275,0.495,0.386,0.516,0.291,0.776,1.090,0.664,0.444,0.691,
+1.160,0.861,0.603,0.701,0.687,0.104,0.399,0.860,0.557,0.656,
+0.474,0.974,0.074,0.088,0.038,0.072,0.149,0.117,0.083,0.078,
+0.059,0.025,0.069,0.102,0.050,0.118,0.063,0.083,0.486,0.553,
+0.345,0.430,0.084,0.083,0.041,0.055,0.395,0.051,0.265,0.423,
+0.275,0.485,0.391,0.455,0.444,0.325,0.266,0.514,0.722,0.634,
+0.428,0.611,0.442,0.047,0.344,0.551,0.396,0.432,0.533,0.826,
+1.070,0.610,0.423,0.728,0.809,0.681,0.381,0.508,0.588,0.062,
+0.310,0.691,0.746,0.627,0.389,1.000,0.845,0.763,0.532,0.687,
+0.902,0.886,0.549,0.669,0.524,0.074,0.467,1.170,0.575,0.925,
+0.450,0.859,0.506,0.590,0.401,0.548,0.046,0.050,0.036,0.057,
+0.353,0.045,0.288,0.449,0.368,0.618,0.471,0.645,0.605,0.404,
+0.316,0.601,0.535,0.486,0.448,0.701,0.529,0.047,0.355,0.661,
+0.671,0.786,0.653,1.320,1.390,0.958,0.600,1.020,0.914,0.586,
+0.394,0.579,0.769,0.086,0.325,0.537,0.857,0.779,0.379,0.887,
+1.230,1.120,0.411,0.659,0.918,0.709,0.512,0.590,0.962,0.112,
+0.533,0.738,0.643,0.906,0.393,0.711,0.760,0.812,0.448,0.719,
+0.112,0.075,0.052,0.112,0.497,0.066,0.337,0.496,0.449,0.685,
+0.360,0.752,0.763,0.496,0.351,0.781,0.805,0.564,0.429,0.708,
+0.661,0.069,0.418,0.734,0.787,0.593,0.631,1.710,0.089,0.069,
+0.034,0.058,0.109,0.083,0.075,0.060,0.094,0.034,0.034,0.051,
+0.069,0.124,0.037,0.075,0.080,0.082,0.034,0.046,0.115,0.140,
+0.062,0.068,0.091,0.038,0.058,0.077,0.056,0.104,0.049,0.054,
+0.071,0.075,0.046,0.053,0.031,0.019,0.016,0.011,0.070,0.020,
+0.047,0.056,0.043,0.081,0.052,0.067,0.068,0.058,0.033,0.066,
+0.133,0.103,0.058,0.089,0.064,0.013,0.044,0.075,0.063,0.061,
+0.057,0.122,0.989,0.727,0.380,0.552,0.800,0.833,0.468,0.554,
+0.896,0.136,0.489,0.709,0.617,0.656,0.525,0.866,0.073,0.090,
+0.041,0.066,0.068,0.129,0.071,0.052,0.067,0.026,0.072,0.074,
+0.058,0.094,0.055,0.067,0.487,0.703,0.348,0.429,0.063,0.070,
+0.045,0.053,0.655,0.086,0.296,0.451,0.347,0.587,0.376,0.471,
+0.505,0.441,0.257,0.382,0.593,0.666,0.372,0.513,0.771,0.154,
+0.552,0.697,0.434,0.668,0.481,0.749,0.863,0.553,0.352,0.641,
+0.600,0.574,0.295,0.418,0.640,0.071,0.363,0.636,0.769,0.576,
+0.380,1.010,0.974,1.050,0.427,0.616,1.100,2.430,0.549,0.619,
+0.742,0.110,0.541,0.841,0.672,0.912,0.491,0.777,0.601,0.750,
+0.598,0.725,0.061,0.064,0.047,0.063,0.602,0.074,0.460,0.644,
+0.550,0.796,0.543,0.774,0.715,0.466,0.354,0.658,0.693,0.524,
+0.405,0.570,0.728,0.075,0.620,0.871,0.884,0.834,0.747,1.280,
+1.500,0.750,0.515,1.120,0.764,0.435,0.417,0.729,0.722,0.069,
+0.293,0.605,1.000,0.669,0.404,1.060,0.952,0.703,0.322,0.563,
+0.619,0.381,0.334,0.511,0.623,0.068,0.298,0.512,0.854,0.533,
+0.362,0.680,0.555,0.533,0.290,0.615,0.052,0.037,0.028,0.070,
+0.427,0.036,0.208,0.389,0.409,0.438,0.300,0.588,0.823,0.518,
+0.386,0.966,0.548,0.400,0.315,0.685,0.545,0.044,0.309,0.747,
+0.821,0.566,0.831,1.680,1.130,0.700,0.422,0.715,0.938,0.657,
+0.959,0.644,0.742,0.128,0.324,0.571,0.726,0.912,0.339,0.778,
+0.827,0.664,0.248,0.430,0.945,0.747,0.357,0.506,0.989,0.270,
+0.359,0.711,0.686,1.130,0.317,0.713,0.509,0.513,0.259,0.408,
+0.074,0.055,0.037,0.051,0.517,0.060,0.278,0.447,0.406,0.599,
+0.315,0.580,0.531,0.417,0.258,0.529,0.711,0.561,0.382,0.676,
+0.546,0.053,0.315,0.581,0.586,0.545,0.465,1.100,0.935,0.538,
+0.333,0.563,0.726,0.577,0.400,0.570,0.771,0.091,0.415,0.646,
+0.597,0.554,0.484,0.945,0.058,0.054,0.025,0.053,0.048,0.066,
+0.043,0.045,0.081,0.012,0.039,0.057,0.065,0.069,0.044,0.069,
+0.471,0.520,0.262,0.449,0.060,0.041,0.028,0.048,2.110,0.121,
+0.368,0.476,0.720,0.511,0.385,0.512,0.462,0.392,0.272,0.505,
+0.538,0.458,0.318,0.563,0.878,0.084,0.404,0.650,0.560,0.524,
+0.537,0.922,1.100,0.715,0.476,0.903,0.583,0.460,0.322,0.478,
+0.753,0.091,0.418,0.694,0.824,0.621,0.486,1.240,0.812,0.569,
+0.320,0.545,0.645,0.616,0.363,0.504,0.578,0.053,0.435,0.669,
+0.687,0.672,0.435,0.839,0.740,0.668,0.437,0.757,0.077,0.042,
+0.030,0.069,0.848,0.064,0.426,0.662,0.891,0.880,0.725,1.060,
+1.160,0.631,0.571,1.250,0.988,0.750,0.644,1.090,1.130,0.081,
+0.788,1.300,1.670,1.260,1.330,2.120,2.560,1.140,0.923,1.820,
+1.290,0.830,0.638,1.060,1.100,0.114,0.418,0.740,1.620,1.200,
+0.641,1.300,1.120,0.629,0.411,0.664,0.749,0.497,0.444,0.571,
+0.600,0.068,0.330,0.468,0.642,0.713,0.466,0.797,0.868,0.630,
+0.505,0.873,0.078,0.069,0.048,0.130,0.544,0.052,0.262,0.486,
+0.563,0.596,0.469,0.751,1.300,0.575,0.530,1.150,0.913,0.787,
+0.550,1.080,0.626,0.060,0.336,0.597,1.070,0.585,0.795,1.540,
+1.840,0.980,0.607,1.130,1.210,0.817,0.579,0.818,0.946,0.172,
+0.341,0.564,0.928,1.090,0.406,0.946,1.020,0.680,0.385,0.601,
+0.758,0.464,0.461,0.542,0.816,0.165,0.356,0.567,0.558,0.789,
+0.345,0.722,0.852,0.795,0.503,0.798,0.082,0.106,0.057,0.103,
+0.725,0.087,0.409,0.785,0.509,0.734,0.533,0.717,0.998,0.651,
+0.500,0.906,0.943,1.320,0.551,0.931,0.739,0.073,0.338,0.601,
+0.704,0.708,0.670,1.240,1.300,0.559,0.420,0.817,1.130,0.696,
+0.638,0.896,1.820,0.201,0.471,0.656,1.280,1.140,0.562,1.230,
+0.119,0.080,0.049,0.085,0.103,0.086,0.076,0.103,0.133,0.025,
+0.074,0.094,0.172,0.291,0.088,0.158,0.694,0.432,0.344,0.456,
+0.058,0.041,0.039,0.066,0.427,0.053,0.244,0.369,0.377,0.553,
+0.297,0.441,0.558,0.308,0.314,0.503,0.725,0.509,0.511,0.701,
+0.535,0.056,0.344,0.552,0.824,0.580,0.476,0.983,1.550,0.611,
+0.493,1.160,0.794,0.462,0.427,0.830,1.270,0.133,0.426,0.724,
+1.970,1.200,0.585,1.800,1.130,0.673,0.467,0.712,0.775,0.568,
+0.497,0.678,0.923,0.106,0.464,0.723,1.220,1.580,0.557,1.080,
+0.698,0.553,0.457,0.703,0.065,0.044,0.042,0.095,0.545,0.049,
+0.300,0.547,0.586,0.708,0.522,0.829,1.100,0.548,0.503,1.140,
+0.742,0.503,0.495,0.940,1.080,0.088,0.588,1.100,1.640,1.180,
+1.290,2.830,0.149,0.082,0.055,0.098,0.092,0.072,0.055,0.081,
+0.073,0.011,0.032,0.050,0.085,0.084,0.047,0.087,0.117,0.078,
+0.067,0.059,0.093,0.076,0.072,0.066,0.054,0.012,0.048,0.057,
+0.050,0.069,0.048,0.065,0.059,0.058,0.041,0.063,0.011,9.44e-3,
+7.94e-3,0.013,0.041,7.60e-3,0.033,0.043,0.041,0.058,0.041,0.056,
+0.079,0.045,0.043,0.076,0.082,0.080,0.059,0.099,0.052,7.94e-3,
+0.032,0.062,0.076,0.054,0.064,0.122,0.119,0.082,0.043,0.078,
+0.099,0.085,0.056,0.060,0.062,0.013,0.029,0.044,0.059,0.074,
+0.032,0.064,0.090,0.078,0.041,0.053,0.091,0.074,0.065,0.070,
+0.061,0.016,0.041,0.059,0.045,0.070,0.035,0.056,0.064,0.079,
+0.041,0.059,0.013,0.017,0.011,0.012,0.060,0.018,0.042,0.063,
+0.037,0.082,0.042,0.060,0.075,0.059,0.041,0.072,0.086,0.131,
+0.057,0.082,0.056,6.85e-3,0.034,0.053,0.051,0.054,0.053,0.106,
+0.084,0.051,0.035,0.052,0.087,0.078,0.071,0.063,0.106,0.020,
+0.045,0.049,0.073,0.095,0.048,0.086,8.19e-3,0.011,6.85e-3,6.52e-3,
+0.015,0.021,0.016,9.69e-3,0.015,0.014,0.018,0.013,8.44e-3,0.028,
+9.61e-3,0.011,0.055,0.061,0.045,0.050,0.011,0.012,8.61e-3,0.013,
+0.043,0.012,0.032,0.048,0.036,0.086,0.041,0.048,0.052,0.033,
+0.035,0.050,0.070,0.066,0.062,0.072,0.051,8.44e-3,0.040,0.059,
+0.055,0.055,0.050,0.094,0.156,0.100,0.069,0.120,0.099,0.075,
+0.063,0.088,0.130,0.023,0.058,0.087,0.197,0.161,0.081,0.188,
+0.163,0.120,0.091,0.108,0.151,0.133,0.121,0.134,0.157,0.028,
+0.101,0.130,0.179,0.361,0.102,0.156,0.066,0.069,0.073,0.081,
+7.19e-3,0.012,7.94e-3,0.013,0.060,8.02e-3,0.051,0.072,0.062,0.096,
+0.074,0.115,0.108,0.070,0.061,0.119,0.092,0.080,0.069,0.125,
+0.109,9.44e-3,0.077,0.134,0.146,0.136,0.133,0.260,1.260,0.588,
+0.436,0.746,0.686,0.473,0.381,0.500,0.484,0.054,0.290,0.426,
+0.502,0.416,0.300,0.691,0.805,0.593,0.355,0.503,0.744,0.505,
+0.643,0.525,0.610,0.074,0.419,0.765,0.482,0.475,0.374,0.581,
+0.683,0.767,0.521,0.802,0.084,0.101,0.086,0.133,0.602,0.081,
+0.308,0.507,0.383,0.799,0.385,0.621,0.632,0.408,0.387,0.709,
+0.589,0.515,0.662,0.724,0.512,0.054,0.357,0.638,0.572,0.458,
+0.533,1.350,0.084,0.060,0.034,0.060,0.079,0.076,0.051,0.060,
+0.049,0.011,0.030,0.040,0.052,0.050,0.028,0.057,0.067,0.056,
+0.028,0.039,0.088,0.071,0.057,0.063,0.058,0.016,0.048,0.057,
+0.043,0.049,0.045,0.049,0.056,0.072,0.049,0.063,0.011,0.018,
+0.016,0.015,0.062,0.016,0.046,0.061,0.033,0.075,0.042,0.061,
+0.070,0.053,0.041,0.082,0.076,0.097,0.079,0.104,0.055,8.02e-3,
+0.041,0.070,0.050,0.045,0.051,0.105,0.703,0.482,0.348,0.479,
+0.689,0.622,0.600,0.584,0.695,0.100,0.449,0.554,0.426,0.468,
+0.444,0.778,0.061,0.077,0.038,0.049,0.068,0.087,0.129,0.058,
+0.070,0.019,0.074,0.074,0.051,0.086,0.053,0.071,0.597,0.586,
+0.353,0.469,0.077,0.069,0.052,0.065,0.503,0.074,0.178,0.339,
+0.274,0.452,0.303,0.400,0.430,0.324,0.232,0.307,0.506,0.497,
+0.462,0.466,0.454,0.058,0.375,0.495,0.361,0.399,0.401,0.665,
+0.715,0.394,0.360,0.566,0.580,0.361,0.351,0.390,0.521,0.066,
+0.483,0.617,0.538,0.442,0.361,0.681,0.818,0.610,0.431,0.504,
+0.770,0.729,0.867,0.621,0.619,0.088,0.553,0.689,0.708,0.800,
+0.455,0.655,0.605,0.692,0.449,0.639,0.056,0.077,0.051,0.075,
+0.503,0.062,0.423,0.594,0.400,0.701,0.448,0.621,0.549,0.383,
+0.313,0.558,0.550,0.523,0.403,0.557,0.581,0.056,0.542,0.772,
+0.631,0.639,0.626,1.090,1.340,0.551,0.399,0.920,0.622,0.346,
+0.319,0.511,0.493,0.051,0.220,0.431,0.702,0.464,0.313,0.918,
+0.796,0.447,0.273,0.427,0.502,0.322,0.348,0.385,0.371,0.034,
+0.212,0.379,0.389,0.290,0.266,0.523,0.576,0.575,0.325,0.604,
+0.056,0.043,0.042,0.096,0.346,0.036,0.185,0.354,0.410,0.455,
+0.289,0.559,0.812,0.424,0.424,0.901,0.583,0.418,0.538,0.887,
+0.461,0.044,0.261,0.547,0.892,0.459,0.583,1.350,1.230,0.707,
+0.465,0.953,0.827,0.610,0.488,0.622,0.611,0.070,0.300,0.503,
+0.720,0.586,0.309,0.747,1.030,0.641,0.298,0.493,0.958,0.649,
+0.440,0.528,0.697,0.067,0.333,0.520,0.672,0.479,0.337,0.508,
+0.577,0.658,0.368,0.585,0.056,0.063,0.045,0.074,0.509,0.070,
+0.321,0.577,0.481,0.623,0.386,0.717,0.685,0.465,0.480,0.834,
+0.724,0.661,0.567,0.866,0.554,0.051,0.371,0.623,0.686,0.528,
+0.521,1.080,0.889,0.554,0.417,0.775,0.707,0.606,0.522,0.705,
+0.653,0.092,0.380,0.595,0.509,0.529,0.418,0.849,0.073,0.069,
+0.032,0.061,0.068,0.119,0.064,0.069,0.055,0.012,0.052,0.065,
+0.055,0.073,0.048,0.072,0.586,1.270,0.379,0.613,0.048,0.065,
+0.036,0.058,0.604,0.065,0.270,0.469,0.372,0.502,0.385,0.539,
+0.509,0.474,0.317,0.517,0.610,0.540,0.483,0.711,0.515,0.051,
+0.392,0.620,0.567,0.491,0.555,0.931,1.230,0.587,0.548,1.070,
+0.703,0.472,0.429,0.565,0.798,0.109,0.451,0.792,0.712,0.512,
+0.456,1.140,0.933,0.577,0.367,0.610,0.708,0.633,0.548,0.576,
+0.545,0.055,0.422,0.678,0.613,0.589,0.425,0.763,0.784,0.842,
+0.498,0.990,0.070,0.088,0.046,0.101,0.704,0.074,0.499,0.872,
+0.681,0.816,0.674,0.963,1.220,0.645,0.592,1.320,1.000,1.120,
+0.683,1.210,0.990,0.087,0.740,1.300,1.440,1.030,1.190,2.110,
+3.040,1.550,1.460,2.970,1.480,0.781,0.699,1.170,1.460,0.124,
+0.541,1.060,2.400,1.580,0.914,2.080,1.390,0.673,0.471,0.819,
+0.802,0.416,0.397,0.681,0.828,0.070,0.424,0.520,0.776,0.732,
+0.389,0.743,1.050,0.636,0.509,1.030,0.086,0.059,0.040,0.121,
+0.589,0.047,0.288,0.554,0.680,0.688,0.441,0.965,2.550,0.798,
+0.847,1.870,1.200,0.711,0.583,1.200,0.927,0.072,0.536,0.939,
+1.740,1.070,1.030,2.850,1.700,0.781,0.506,1.100,0.838,0.484,
+0.335,0.577,0.762,0.094,0.289,0.480,0.975,0.785,0.359,0.916,
+0.897,0.480,0.297,0.503,0.474,0.283,0.275,0.374,0.508,0.048,
+0.242,0.374,0.536,0.452,0.252,0.519,0.705,0.567,0.426,0.704,
+0.052,0.045,0.032,0.065,0.575,0.041,0.238,0.475,0.584,0.531,
+0.352,0.637,0.853,0.476,0.405,0.975,0.614,0.548,0.326,0.644,
+0.649,0.044,0.270,0.550,0.709,0.541,0.521,1.470,1.510,0.650,
+0.559,1.200,0.963,0.495,0.496,0.959,1.690,0.176,0.461,0.717,
+2.140,1.300,0.598,1.690,0.115,0.064,0.048,0.103,0.078,0.056,
+0.049,0.100,0.109,0.014,0.044,0.070,0.238,0.232,0.065,0.162,
+0.598,0.440,0.367,0.589,0.048,0.029,0.028,0.062,0.557,0.039,
+0.201,0.365,0.647,0.554,0.350,0.637,0.684,0.372,0.413,0.752,
+0.656,0.396,0.427,0.693,0.609,0.047,0.327,0.616,0.917,0.650,
+0.594,1.420,2.800,0.993,0.829,2.090,1.100,0.558,0.529,1.100,
+2.380,0.252,0.958,1.220,5.970,2.760,1.170,3.500,1.700,0.828,
+0.604,1.050,0.891,0.564,0.530,0.982,1.320,0.120,0.575,0.897,
+2.340,2.130,0.737,1.570,0.932,0.629,0.528,0.919,0.070,0.042,
+0.040,0.086,0.851,0.052,0.373,0.673,0.936,0.873,0.623,1.150,
+1.830,0.879,0.826,1.890,0.992,0.607,0.655,1.130,1.590,0.104,
+0.787,1.810,2.730,1.750,1.740,4.320,2.090,1.040,0.769,1.490,
+1.040,0.685,0.504,0.768,0.850,0.086,0.385,0.670,1.220,1.070,
+0.527,1.300,1.230,0.824,0.489,0.733,0.789,0.571,0.475,0.575,
+0.555,0.060,0.727,0.539,0.557,0.750,0.469,0.788,0.715,0.610,
+0.428,0.743,0.062,0.059,0.039,0.090,0.440,0.047,0.335,0.605,
+0.516,0.649,0.440,0.844,0.848,0.474,0.531,0.941,0.717,0.557,
+0.438,0.824,0.566,0.053,0.396,0.669,0.807,0.584,0.718,1.530,
+1.430,0.780,0.445,0.844,0.938,0.705,0.375,0.532,0.574,0.065,
+0.226,0.428,0.761,0.750,0.286,0.753,0.831,0.625,0.303,0.503,
+0.630,0.494,0.344,0.468,0.482,0.053,0.267,0.423,0.421,0.532,
+0.267,0.513,0.605,0.641,0.352,0.577,0.071,0.067,0.032,0.064,
+0.550,0.072,0.292,0.476,0.497,0.663,0.367,0.662,0.632,0.481,
+0.374,0.726,0.617,0.670,0.331,0.600,0.481,0.034,0.249,0.474,
+0.507,0.444,0.372,1.010,1.230,0.574,0.380,0.719,0.779,0.543,
+0.472,0.647,0.942,0.127,0.389,0.511,1.120,1.130,0.488,1.140,
+0.065,0.061,0.032,0.056,0.058,0.064,0.050,0.060,0.060,0.020,
+0.051,0.055,0.107,0.208,0.051,0.094,0.624,0.573,0.385,0.568,
+0.051,0.046,0.033,0.059,0.450,0.052,0.235,0.415,0.445,0.722,
+0.375,0.720,0.625,0.347,0.355,0.605,0.669,0.492,0.418,0.653,
+0.527,0.046,0.329,0.562,0.673,0.562,0.520,1.160,1.720,0.780,
+0.609,1.160,0.811,0.529,0.442,0.695,1.190,0.139,0.506,0.731,
+2.510,2.100,0.798,1.940,1.440,1.020,0.634,0.922,0.955,0.799,
+0.644,0.886,1.170,0.177,0.669,0.906,1.950,3.620,0.871,1.560,
+0.768,0.674,0.518,0.817,0.063,0.049,0.039,0.068,0.608,0.057,
+0.431,0.660,0.698,0.938,0.618,1.360,1.150,0.657,0.603,1.070,
+0.963,0.616,0.547,0.956,1.040,0.072,0.696,1.270,1.760,1.330,
+1.160,2.520,1.800,0.820,0.564,1.100,0.729,0.526,0.353,0.588,
+0.710,0.066,0.322,0.570,0.957,0.627,0.403,0.925,1.250,0.823,
+0.433,0.690,0.868,0.631,0.472,0.529,0.739,0.080,0.428,0.631,
+0.714,0.793,0.564,0.923,0.827,0.820,0.537,0.934,0.095,0.079,
+0.051,0.122,0.637,0.063,0.389,0.666,0.575,0.785,0.507,0.997,
+0.892,0.527,0.490,1.020,0.721,0.559,0.467,0.764,0.776,0.069,
+0.485,0.911,0.982,0.666,0.748,1.960,0.092,0.062,0.064,0.074,
+0.068,0.058,0.037,0.056,0.055,7.85e-3,0.028,0.045,0.069,0.067,
+0.043,0.093,0.071,0.055,0.027,0.042,0.064,0.073,0.039,0.048,
+0.053,9.11e-3,0.043,0.051,0.049,0.060,0.036,0.060,0.055,0.062,
+0.036,0.066,7.44e-3,9.78e-3,4.60e-3,8.19e-3,0.060,0.011,0.045,0.068,
+0.049,0.075,0.068,0.122,0.078,0.043,0.041,0.094,0.081,0.073,
+0.051,0.083,0.065,7.02e-3,0.044,0.076,0.078,0.063,0.059,0.145,
+0.972,0.548,0.388,0.535,0.737,0.571,0.471,0.602,0.747,0.116,
+0.445,0.573,0.628,0.759,0.588,0.991,0.063,0.062,0.029,0.044,
+0.056,0.058,0.044,0.042,0.058,0.013,0.044,0.053,0.067,0.110,
+0.053,0.083,0.601,0.842,0.385,0.645,0.065,0.069,0.043,0.066,
+0.689,0.071,0.311,0.440,0.431,0.653,0.409,0.675,0.605,0.410,
+0.330,0.527,0.796,0.640,0.544,0.637,0.811,0.072,0.469,0.700,
+0.682,0.648,0.619,1.140,1.280,0.544,0.431,0.832,0.672,0.427,
+0.388,0.525,0.824,0.083,0.573,0.798,1.060,0.756,0.674,1.250,
+1.140,0.813,0.551,0.833,0.818,0.746,0.643,0.684,0.926,0.096,
+0.623,0.903,1.010,1.300,0.710,1.200,0.898,0.890,0.607,1.060,
+0.065,0.069,0.051,0.084,0.830,0.065,0.596,0.822,0.787,1.000,
+0.740,1.150,1.030,0.625,0.556,0.977,0.820,0.665,0.533,0.785,
+1.150,0.078,0.789,1.240,1.400,1.140,1.100,2.140,2.820,1.080,
+0.815,2.070,1.180,0.581,0.547,0.954,1.030,0.089,0.512,1.000,
+1.870,0.944,0.756,1.890,1.390,0.720,0.482,0.804,0.914,0.550,
+0.462,0.674,0.707,0.055,0.428,0.692,0.777,0.614,1.110,1.400,
+1.060,0.907,0.517,1.250,0.083,0.077,0.046,0.137,0.661,0.055,
+0.388,0.725,0.761,0.742,0.582,1.210,1.750,0.821,0.805,2.030,
+0.976,0.628,0.584,1.280,0.991,0.073,0.607,1.340,2.060,1.030,
+1.210,3.480,1.440,0.790,0.562,1.120,0.868,0.578,0.473,0.732,
+0.678,0.064,0.296,0.665,0.840,0.712,0.465,1.220,0.992,0.630,
+0.322,0.562,0.756,0.542,0.334,0.579,0.669,0.055,0.332,0.567,
+0.601,0.608,0.382,0.749,0.698,0.626,0.382,0.803,0.049,0.049,
+0.029,0.073,0.677,0.051,0.342,0.766,0.679,0.769,0.510,1.080,
+0.867,0.521,0.493,1.130,0.826,0.609,0.461,0.929,0.802,0.048,
+0.408,0.853,1.010,0.698,0.703,1.840,1.560,0.819,0.618,1.140,
+1.040,0.794,0.636,1.150,1.100,0.118,0.516,0.948,1.150,0.943,
+0.810,1.940,0.098,0.077,0.039,0.093,0.073,0.072,0.051,0.084,
+0.065,7.85e-3,0.044,0.082,0.099,0.113,0.086,0.183,0.934,0.986,
+0.649,1.650,0.063,0.062,0.042,0.138,1.030,0.077,0.443,0.855,
+0.812,0.874,0.670,1.330,1.120,0.737,0.618,1.210,1.090,0.798,
+0.720,1.390,1.090,0.080,0.666,1.270,1.250,0.963,0.971,2.020,
+3.110,1.260,0.988,2.270,1.340,0.852,0.655,1.110,1.670,0.133,
+0.934,1.610,2.500,1.600,1.360,4.140,2.060,1.220,0.759,1.370,
+1.570,1.080,0.770,1.140,1.440,0.100,0.810,1.460,1.710,1.670,
+1.120,2.420,1.860,1.560,1.090,2.160,0.104,0.089,0.066,0.153,
+1.690,0.118,1.070,1.990,1.990,2.030,1.680,3.070,3.920,1.740,
+1.610,3.960,2.220,1.560,1.330,2.770,2.750,0.144,1.820,3.430,
+4.990,2.580,2.930,5.800,3.730,2.360,1.780,3.310,2.600,1.690,
+1.170,1.590,2.420,0.319,1.070,1.610,2.940,2.820,1.290,2.310,
+2.990,1.910,1.080,1.440,1.920,1.270,0.999,1.020,1.630,0.158,
+0.838,1.060,1.170,1.380,0.847,1.260,1.690,1.450,0.989,1.310,
+0.176,0.163,0.153,0.206,1.160,0.178,1.680,1.060,1.050,1.520,
+1.430,1.260,3.330,1.350,1.210,2.300,2.200,1.600,1.160,1.860,
+1.470,0.153,0.925,1.370,1.820,1.410,1.360,2.330,3.260,1.760,
+0.957,1.870,1.910,1.400,0.883,1.100,1.680,0.239,0.675,1.050,
+1.340,1.610,0.664,1.380,2.020,1.680,0.765,1.050,1.500,1.220,
+0.822,0.899,1.220,0.174,0.727,0.984,0.800,1.240,0.678,0.880,
+1.180,1.360,0.707,0.891,0.132,0.159,0.099,0.121,1.140,0.176,
+0.755,0.910,0.620,1.270,0.675,0.866,1.160,0.804,0.529,0.883,
+1.310,1.220,0.739,1.070,1.120,0.115,0.683,1.000,0.944,0.927,
+0.760,1.420,1.800,1.040,0.620,1.070,1.390,0.989,0.741,0.905,
+1.390,0.218,0.587,0.931,1.150,1.160,0.843,1.540,0.157,0.151,
+0.071,0.101,0.135,0.128,0.099,0.105,0.128,0.034,0.089,0.128,
+0.127,0.255,0.107,0.177,0.835,0.737,1.150,0.700,0.193,0.100,
+0.102,0.116,0.860,0.271,0.505,0.581,0.534,0.863,0.552,0.606,
+0.832,0.527,0.473,0.775,1.070,0.813,0.708,0.953,0.922,0.125,
+0.632,0.903,0.707,0.958,0.750,1.210,2.420,1.090,0.730,1.810,
+1.050,0.650,0.552,1.010,1.210,0.138,0.481,0.873,1.720,1.360,
+0.883,2.080,2.400,1.540,0.836,1.080,1.500,1.070,0.783,0.915,
+1.180,0.136,0.684,1.020,1.190,1.720,0.796,1.440,0.884,0.849,
+0.763,0.890,0.091,0.084,0.086,0.103,0.823,0.101,0.515,0.782,
+0.770,1.050,0.720,0.937,1.600,0.828,0.790,1.520,0.928,0.738,
+0.666,1.020,1.300,0.114,0.838,1.480,1.540,1.410,1.420,2.720,
+3.080,2.090,1.280,2.250,2.020,1.630,1.050,1.250,1.680,0.221,
+0.831,1.420,1.310,1.670,0.868,1.610,2.160,2.350,0.957,1.170,
+1.880,1.330,1.020,1.030,1.100,0.175,0.863,1.070,0.704,1.280,
+0.710,0.957,1.050,1.340,1.090,0.948,0.188,0.190,0.181,0.180,
+0.929,0.178,2.370,1.340,0.656,1.300,2.190,1.260,1.290,0.686,
+0.756,1.050,1.580,1.240,0.843,1.050,0.913,0.130,0.919,0.880,
+1.000,0.914,1.010,1.700,2.400,2.120,0.822,1.200,1.650,1.880,
+0.989,0.994,1.580,0.258,0.706,1.050,0.886,1.580,0.604,1.320,
+1.540,1.870,0.769,0.939,1.480,1.040,1.090,0.960,1.180,0.246,
+0.934,1.240,0.649,1.550,0.699,0.857,0.950,1.600,0.846,0.843,
+0.174,0.286,0.137,0.132,1.160,0.273,0.947,1.220,0.594,1.780,
+0.877,0.977,0.789,0.742,0.485,0.693,1.200,1.370,0.645,0.887,
+1.010,0.139,0.600,0.875,0.710,1.020,0.584,1.190,1.420,1.150,
+0.616,0.845,1.610,1.360,1.030,0.898,1.140,0.217,0.678,0.863,
+0.665,1.100,0.726,1.000,0.135,0.261,0.111,0.111,0.254,0.214,
+0.178,0.125,0.149,0.080,0.153,0.149,0.081,0.284,0.106,0.118,
+1.930,1.330,8.090,1.890,1.150,0.243,0.375,0.291,1.040,0.176,
+0.818,0.866,0.533,1.120,0.933,0.757,0.757,0.531,0.939,1.160,
+1.920,1.230,0.995,1.320,0.922,0.119,0.844,1.040,0.521,0.790,
+0.730,1.000,1.190,0.676,0.454,0.794,0.845,0.672,0.492,0.562,
+0.711,0.081,0.367,0.541,0.782,0.722,0.445,0.847,1.500,2.000,
+0.827,0.919,1.270,1.320,0.901,0.917,0.955,0.194,0.722,0.945,
+0.770,2.020,0.681,1.040,0.835,1.020,1.200,0.914,0.174,0.118,
+0.078,0.111,0.720,0.104,0.617,0.809,0.522,0.948,0.809,0.847,
+0.892,0.626,0.551,0.853,0.970,0.762,0.511,0.829,0.929,0.095,
+0.738,1.160,1.010,1.140,1.080,1.690,1.900,1.660,0.721,1.350,
+1.300,0.894,0.575,0.795,1.050,0.137,0.529,0.752,0.957,1.030,
+0.491,0.976,2.240,4.330,0.924,1.150,1.360,1.220,0.836,0.878,
+1.370,0.256,0.852,1.020,0.761,1.560,0.636,0.942,1.120,1.650,
+0.746,1.000,0.193,0.191,0.113,0.178,0.850,0.128,0.597,0.696,
+0.580,1.100,0.597,0.824,1.080,0.744,0.543,1.020,1.240,0.989,
+0.683,0.932,1.130,0.133,0.614,1.020,1.060,0.994,0.879,2.250,
+0.156,0.143,0.053,0.111,0.150,0.162,0.090,0.101,0.119,0.032,
+0.056,0.081,0.088,0.190,0.065,0.111,0.161,0.289,0.087,0.116,
+0.203,0.238,0.132,0.133,0.153,0.058,0.114,0.127,0.086,0.246,
+0.085,0.115,0.106,0.172,0.086,0.095,0.053,0.043,0.034,0.025,
+0.137,0.039,0.098,0.098,0.071,0.196,0.089,0.108,0.110,0.091,
+0.082,0.101,0.244,0.225,0.142,0.184,0.182,0.030,0.103,0.137,
+0.133,0.153,0.112,0.215,0.999,0.822,0.493,0.580,0.919,0.899,
+0.790,0.623,1.060,0.207,0.580,0.688,0.614,0.883,0.605,0.724,
+0.105,0.180,0.076,0.076,0.092,0.126,0.114,0.065,0.126,0.047,
+0.112,0.102,0.081,0.204,0.102,0.090,0.758,1.140,0.777,0.637,
+0.146,0.153,0.149,0.093,0.863,0.165,0.481,0.587,0.428,0.999,
+0.679,0.614,0.608,0.514,0.404,0.488,0.870,0.982,0.769,0.750,
+1.060,0.181,0.747,0.921,0.720,1.310,0.790,1.120,0.962,0.675,
+0.425,0.769,0.665,0.467,0.388,0.485,0.849,0.092,0.350,0.598,
+0.936,0.740,0.446,0.956,1.260,1.270,0.725,0.831,0.977,0.959,
+0.880,0.760,1.080,0.152,0.713,0.970,0.928,1.370,0.714,0.937,
+0.833,1.230,0.936,0.965,0.102,0.153,0.109,0.116,0.968,0.134,
+0.617,0.813,0.661,1.130,0.767,0.987,1.010,0.710,0.642,0.800,
+0.959,0.962,1.070,0.933,1.220,0.127,1.000,1.300,1.190,1.420,
+1.130,1.920,2.260,1.230,0.770,1.640,1.020,0.680,0.507,0.814,
+0.962,0.115,0.405,0.778,1.270,1.190,0.553,1.360,1.320,1.100,
+0.449,0.836,0.827,0.508,0.402,0.563,0.747,0.089,0.354,0.598,
+0.607,0.904,0.383,0.755,0.902,0.884,0.565,1.010,0.112,0.112,
+0.084,0.139,0.688,0.073,0.447,0.559,0.564,0.850,0.513,0.803,
+1.270,0.628,0.566,1.410,0.999,0.744,0.557,1.000,0.836,0.082,
+0.535,0.846,1.300,1.170,0.889,2.460,2.080,1.220,0.650,1.350,
+1.390,1.130,0.704,0.962,1.150,0.198,0.486,0.881,1.070,1.850,
+0.537,1.190,1.540,1.440,0.570,1.220,1.590,1.300,0.723,1.040,
+1.260,0.280,0.629,1.080,0.871,1.890,0.559,1.170,0.900,0.967,
+0.513,0.815,0.136,0.134,0.092,0.141,0.960,0.139,0.592,0.831,
+0.749,1.580,0.686,0.980,0.905,0.604,0.461,0.894,1.290,1.130,
+0.749,1.480,1.110,0.126,0.590,1.010,1.180,1.310,0.872,1.770,
+1.040,0.740,0.431,0.751,0.988,0.698,0.614,0.707,1.000,0.185,
+0.502,0.695,0.872,0.962,0.647,1.100,0.078,0.098,0.062,0.089,
+0.074,0.089,0.107,0.070,0.097,0.021,0.096,0.091,0.086,0.173,
+0.093,0.108,0.708,0.811,1.680,0.774,0.132,0.096,0.727,0.162,
+0.963,0.099,0.581,0.594,0.578,0.847,2.040,0.998,0.661,0.457,
+0.504,0.622,0.944,0.754,1.430,0.972,1.030,0.182,0.613,0.918,
+0.706,0.916,0.940,1.390,1.640,0.921,0.617,1.160,0.871,0.673,
+0.437,0.585,1.260,0.109,0.480,0.788,1.310,1.030,0.748,1.810,
+0.954,0.695,0.488,0.860,0.791,0.579,0.617,0.673,0.841,0.086,
+0.562,0.845,0.783,1.090,0.610,1.010,0.929,0.992,0.854,1.110,
+0.095,0.090,0.147,0.116,1.120,0.107,0.736,1.120,1.040,1.460,
+1.950,1.590,1.550,0.840,0.773,1.650,1.190,1.070,1.020,1.380,
+1.570,0.119,1.060,1.870,2.070,1.730,1.770,3.700,2.870,2.060,
+1.360,2.320,2.170,1.650,1.050,1.310,1.720,0.250,0.855,1.280,
+1.830,2.050,0.922,1.700,2.410,1.900,0.998,1.220,2.280,1.680,
+1.150,1.220,1.440,0.197,0.884,1.200,0.881,1.400,0.759,1.040,
+1.030,1.120,0.645,0.842,0.131,0.140,0.082,0.141,0.797,0.108,
+0.537,0.579,0.592,1.030,0.568,0.819,1.410,0.838,0.699,1.260,
+1.370,1.230,0.707,1.040,1.010,0.129,0.608,1.090,1.140,1.260,
+0.882,1.770,3.220,1.990,0.859,1.390,2.040,1.910,0.886,1.070,
+1.510,0.359,0.752,0.953,0.998,1.720,0.586,1.110,2.000,2.090,
+0.739,1.040,1.960,1.780,0.988,1.230,1.400,0.338,0.911,1.290,
+0.784,1.860,0.634,1.180,0.968,1.420,0.627,0.684,0.160,0.215,
+0.128,0.131,1.010,0.222,0.942,0.929,0.565,1.520,0.708,0.876,
+0.712,0.653,0.384,0.567,1.090,1.350,0.733,0.821,0.898,0.131,
+0.613,0.980,0.638,0.921,0.597,1.240,1.140,0.801,0.443,0.638,
+1.290,1.010,0.712,0.768,1.160,0.217,0.608,0.770,0.720,0.929,
+0.655,1.020,0.113,0.150,0.069,0.096,0.190,0.200,0.136,0.124,
+0.130,0.055,0.130,0.136,0.086,0.252,0.107,0.131,0.499,0.645,
+0.465,0.441,0.081,0.090,0.067,0.077,0.585,0.111,0.463,0.554,
+0.351,0.678,0.500,0.474,0.471,0.396,0.277,0.408,0.730,0.730,
+0.458,0.617,0.669,0.118,0.522,0.738,0.477,0.714,0.650,0.963,
+1.400,0.703,0.420,0.862,0.803,0.529,0.322,0.476,0.818,0.099,
+0.405,0.551,0.949,0.849,0.538,1.190,1.380,1.100,0.596,0.797,
+1.650,1.230,0.707,0.810,0.841,0.139,0.634,0.913,0.688,1.240,
+0.579,0.911,0.596,0.642,1.130,0.750,0.069,0.068,0.108,0.084,
+0.553,0.080,0.545,0.586,0.496,0.753,0.593,0.687,0.910,0.546,
+0.454,0.860,0.637,0.614,0.487,0.624,1.010,0.109,0.635,0.980,
+0.976,1.150,0.990,1.820,2.510,2.000,0.999,1.650,2.450,2.200,
+1.110,1.270,1.220,0.216,0.695,1.040,1.120,1.890,0.651,1.260,
+2.600,2.240,1.010,1.320,4.320,2.790,1.710,1.910,1.370,0.259,
+1.070,1.640,0.791,1.750,0.744,1.060,0.937,1.120,0.655,0.751,
+0.156,0.191,0.115,0.147,0.715,0.133,0.744,0.812,0.608,1.080,
+0.671,0.850,0.784,0.546,0.405,0.754,1.090,1.290,0.657,0.840,
+0.638,0.100,0.577,0.762,1.010,1.060,0.706,1.440,2.430,2.290,
+0.748,1.080,2.410,3.210,1.260,1.210,1.680,0.319,0.745,1.070,
+0.788,1.590,0.523,1.020,1.840,2.030,0.849,0.990,1.550,1.090,
+1.120,1.060,1.550,0.584,0.931,1.370,0.741,2.430,0.734,0.893,
+0.815,1.850,0.705,0.811,0.203,0.539,0.183,0.188,1.160,0.350,
+0.970,1.450,0.519,1.960,0.871,1.040,0.579,0.758,0.362,0.519,
+1.170,2.530,0.756,0.991,0.883,0.198,0.683,0.993,0.548,1.140,
+0.544,1.280,1.290,1.030,0.506,0.615,2.110,2.050,1.150,0.934,
+1.160,0.248,0.838,0.855,0.612,1.170,0.799,0.933,0.166,0.256,
+0.102,0.112,0.557,0.556,0.262,0.183,0.197,0.121,0.219,0.184,
+0.101,0.413,0.143,0.126,0.706,1.160,0.814,0.705,0.197,0.255,
+0.158,0.143,0.803,0.172,0.656,0.881,0.391,1.190,0.822,0.709,
+0.490,0.437,0.344,0.464,1.060,1.470,0.954,0.961,0.834,0.161,
+0.896,1.030,0.503,0.855,0.858,1.050,1.030,0.702,0.451,0.659,
+1.020,0.893,0.503,0.495,0.737,0.093,0.392,0.500,0.687,0.771,
+0.425,0.764,1.200,1.460,0.710,0.804,2.230,2.580,1.050,1.100,
+1.180,0.231,0.827,1.030,0.699,1.990,0.722,0.921,0.590,0.924,
+0.683,0.677,0.081,0.131,0.074,0.091,0.607,0.104,0.710,0.750,
+0.411,0.991,0.736,0.828,0.625,0.541,0.370,0.602,0.722,0.898,
+0.522,0.809,0.751,0.117,0.667,0.883,0.785,1.280,0.943,1.730,
+1.660,1.280,0.629,1.080,1.220,0.939,0.550,0.758,0.851,0.130,
+0.417,0.642,0.796,0.982,0.419,0.968,1.920,2.530,0.738,1.010,
+2.040,1.760,1.220,1.120,1.600,0.326,1.050,1.230,0.743,1.730,
+0.562,0.889,1.460,1.350,0.785,1.090,0.563,0.215,0.150,0.225,
+0.990,0.171,0.524,0.787,0.584,1.090,0.498,0.812,0.922,0.593,
+0.397,0.888,1.680,1.020,0.680,0.957,0.930,0.139,0.608,0.987,
+0.902,0.903,0.732,1.830,0.182,0.127,0.053,0.088,0.217,0.245,
+0.132,0.122,0.119,0.044,0.067,0.093,0.077,0.205,0.072,0.186,
+0.162,0.268,0.073,0.103,0.328,0.539,0.289,0.214,0.296,0.254,
+0.208,0.235,0.099,0.388,0.087,0.115,0.371,0.225,0.148,0.161,
+0.331,0.111,0.072,0.056,0.253,0.083,0.140,0.149,0.121,0.249,
+0.127,0.116,0.114,0.073,0.044,0.087,0.568,0.286,0.160,0.193,
+0.137,0.037,0.114,0.147,0.086,0.120,0.089,0.171,1.150,1.180,
+0.578,0.673,1.360,1.560,0.932,0.888,1.350,0.305,0.877,0.971,
+0.668,1.210,0.751,0.963,0.132,0.322,0.104,0.102,0.180,0.354,
+0.229,0.134,0.188,0.116,0.248,0.193,0.092,0.326,0.141,0.121,
+0.801,1.490,0.728,0.717,0.172,0.242,0.139,0.137,1.100,0.271,
+0.598,0.863,0.441,1.280,0.665,0.712,0.601,0.524,0.345,0.524,
+1.060,1.470,0.764,0.991,1.110,0.233,1.040,1.270,0.576,1.050,
+0.807,1.080,0.968,0.693,0.448,0.789,0.766,0.534,0.355,0.580,
+0.808,0.107,0.543,0.860,0.788,0.752,0.430,1.080,1.520,1.850,
+0.779,0.885,1.800,1.870,1.160,1.070,1.600,0.289,1.340,1.600,
+1.010,1.880,0.857,1.120,0.983,1.440,2.200,1.790,0.155,0.168,
+0.171,0.184,1.070,0.193,1.000,1.120,0.646,1.460,0.944,1.020,
+1.010,0.723,0.702,1.080,0.893,1.020,0.778,0.927,1.240,0.147,
+1.250,1.510,1.080,1.470,1.140,1.790,1.580,0.913,0.514,1.060,
+0.934,0.644,0.455,0.722,0.778,0.106,0.339,0.670,0.837,0.922,
+0.379,1.100,1.330,1.080,0.432,0.728,0.989,0.737,0.497,0.664,
+0.889,0.173,0.404,0.733,0.614,1.000,0.346,0.738,0.804,0.723,
+0.395,0.837,0.144,0.069,0.046,0.104,0.566,0.067,0.311,0.530,
+0.393,0.611,0.305,0.712,0.912,0.539,0.370,1.020,0.813,0.578,
+0.389,0.808,0.690,0.074,0.408,0.759,0.846,0.815,0.640,1.740,
+1.680,1.170,0.531,0.972,1.450,1.410,1.040,0.970,1.250,0.293,
+0.555,0.917,0.953,2.080,0.489,1.100,1.360,1.640,0.510,0.783,
+1.880,2.160,0.988,1.110,2.720,1.070,0.997,1.980,1.330,4.020,
+0.692,1.390,1.180,1.050,0.570,0.755,0.462,0.190,0.112,0.159,
+1.060,0.184,0.626,0.828,0.630,1.310,0.571,0.815,0.678,0.519,
+0.339,0.664,1.520,1.220,0.729,1.390,0.962,0.146,0.593,0.910,
+0.765,1.030,0.627,1.350,0.907,0.762,0.395,0.657,1.240,1.140,
+0.692,0.828,0.940,0.171,0.618,0.825,0.613,0.846,0.592,1.030,
+0.073,0.104,0.043,0.094,0.097,0.167,0.093,0.085,0.101,0.041,
+0.096,0.111,0.072,0.179,0.075,0.104,0.601,0.839,0.487,0.568,
+0.080,0.107,0.088,0.091,1.310,0.156,0.611,0.808,0.516,0.928,
+0.688,0.711,0.509,0.465,0.315,0.526,0.974,0.940,0.587,0.837,
+1.100,0.254,0.741,1.050,0.586,0.937,0.758,1.120,1.180,0.893,
+0.460,0.822,0.715,0.604,0.380,0.512,0.913,0.102,0.778,0.733,
+0.849,0.794,0.571,1.170,0.922,0.813,0.426,0.663,0.919,0.931,
+0.587,0.783,0.910,0.119,1.120,0.958,0.838,1.140,0.634,1.010,
+0.740,0.825,0.725,0.880,0.079,0.074,0.066,0.095,0.898,0.099,
+0.740,0.914,0.695,1.130,1.200,1.120,1.110,0.707,0.589,1.150,
+1.030,1.140,0.988,1.220,1.350,0.145,1.200,1.580,1.740,1.890,
+1.580,2.090,1.430,1.180,0.755,1.330,1.230,1.260,0.757,0.916,
+1.030,0.132,0.493,0.745,1.170,1.120,0.602,1.010,1.000,0.774,
+0.558,0.657,0.842,0.665,0.657,0.665,0.648,0.096,0.489,0.635,
+0.574,0.786,0.466,0.647,0.626,0.618,0.412,0.591,0.065,0.087,
+0.058,0.103,0.517,0.061,0.339,0.588,0.372,0.624,0.397,0.566,
+0.925,0.513,0.387,0.729,0.797,0.970,0.531,0.736,0.593,0.066,
+0.345,0.571,0.723,0.554,0.550,1.030,1.630,1.400,0.723,1.040,
+1.550,1.400,1.020,0.900,1.030,0.181,0.500,0.645,0.928,1.060,
+0.460,0.817,1.220,1.280,0.642,0.797,1.440,1.210,1.060,0.877,
+1.060,0.247,0.689,0.944,0.673,1.300,0.549,0.912,1.010,1.160,
+0.678,0.733,0.135,0.243,0.193,0.169,1.110,0.215,0.920,1.160,
+0.534,1.250,0.728,0.775,0.711,0.681,0.365,0.579,1.200,2.640,
+0.852,0.990,0.778,0.111,0.476,0.667,0.613,0.713,0.619,1.100,
+0.939,0.665,0.509,0.709,1.190,1.020,0.883,0.914,2.020,0.353,
+0.759,0.749,0.958,1.420,0.605,0.970,0.101,0.132,0.072,0.099,
+0.141,0.172,0.156,0.149,0.281,0.129,0.191,0.149,0.157,0.600,
+0.132,0.174,0.499,0.611,0.601,0.487,0.092,0.105,0.096,0.126,
+0.727,0.146,0.424,0.470,0.423,1.240,0.429,0.471,0.418,0.277,
+0.263,0.379,0.721,0.712,0.655,0.763,0.645,0.098,0.540,0.539,
+0.556,0.653,0.477,0.809,0.996,0.540,0.371,0.735,0.628,0.481,
+0.415,0.550,0.897,0.122,0.347,0.505,1.380,1.150,0.484,1.120,
+0.898,0.820,0.526,0.620,0.834,0.800,0.686,0.731,1.410,0.298,
+0.787,0.832,1.200,2.720,0.672,1.030,0.559,0.620,0.473,0.591,
+0.060,0.065,0.065,0.095,0.611,0.095,0.441,0.639,0.474,0.938,
+0.607,0.745,0.803,0.499,0.411,0.809,0.634,0.548,0.550,0.834,
+1.210,0.133,0.629,0.955,1.240,1.210,1.100,2.060,0.085,0.080,
+0.055,0.065,0.087,0.105,0.065,0.071,0.070,0.014,0.047,0.051,
+0.060,0.089,0.047,0.060,0.113,0.126,0.141,0.078,0.150,0.153,
+0.148,0.103,0.084,0.046,0.162,0.092,0.051,0.136,0.069,0.067,
+0.053,0.086,0.051,0.052,0.013,0.023,0.018,0.022,0.056,0.016,
+0.073,0.085,0.035,0.090,0.071,0.061,0.059,0.047,0.038,0.064,
+0.092,0.115,0.073,0.093,0.068,0.013,0.053,0.123,0.064,0.063,
+0.061,0.100,0.105,0.139,0.057,0.074,0.154,0.208,0.131,0.087,
+0.094,0.039,0.066,0.061,0.054,0.117,0.054,0.067,0.148,0.229,
+0.107,0.118,0.294,0.275,0.252,0.163,0.157,0.110,0.138,0.132,
+0.069,0.223,0.094,0.086,0.088,0.170,0.088,0.071,0.037,0.095,
+0.068,0.033,0.149,0.090,0.167,0.148,0.054,0.211,0.118,0.098,
+0.062,0.078,0.046,0.055,0.136,0.332,0.123,0.124,0.091,0.027,
+0.080,0.089,0.053,0.089,0.073,0.116,0.068,0.076,0.043,0.049,
+0.123,0.166,0.133,0.088,0.207,0.089,0.124,0.079,0.068,0.212,
+0.070,0.087,0.015,0.049,0.019,0.022,0.038,0.089,0.081,0.036,
+0.121,0.231,0.095,0.055,0.019,0.182,0.036,0.025,0.056,0.114,
+0.144,0.078,0.025,0.058,0.058,0.047,0.114,0.072,0.117,0.106,
+0.068,0.314,0.099,0.080,0.047,0.038,0.047,0.049,0.104,0.157,
+0.143,0.110,0.094,0.036,0.117,0.096,0.052,0.101,0.078,0.089,
+0.078,0.078,0.049,0.065,0.077,0.074,0.058,0.065,0.088,0.022,
+0.047,0.057,0.134,0.167,0.062,0.110,0.131,0.192,0.098,0.111,
+0.191,0.244,0.196,0.169,0.356,0.203,0.213,0.173,0.245,1.090,
+0.175,0.202,0.050,0.102,0.077,0.076,0.011,0.025,0.018,0.019,
+0.098,0.036,0.104,0.116,0.060,0.180,0.114,0.105,0.066,0.063,
+0.045,0.072,0.071,0.090,0.063,0.092,0.118,0.021,0.096,0.116,
+0.127,0.162,0.123,0.210,1.140,0.774,0.558,0.842,1.100,0.911,
+0.836,0.762,0.707,0.096,0.423,0.539,0.579,0.582,0.375,0.632,
+1.080,1.010,0.791,0.749,1.380,1.190,2.140,1.120,1.140,0.179,
+0.968,1.040,0.519,0.907,0.531,0.708,0.774,1.060,0.746,0.916,
+0.147,0.212,0.155,0.223,1.290,0.252,0.643,0.825,0.581,2.100,
+0.585,0.769,0.622,0.470,0.348,0.687,0.885,0.965,0.744,0.971,
+0.737,0.133,0.615,0.960,0.662,0.954,0.646,1.430,0.093,0.098,
+0.047,0.073,0.168,0.189,0.123,0.114,0.082,0.029,0.064,0.069,
+0.058,0.091,0.041,0.074,0.108,0.135,0.075,0.072,0.280,0.254,
+0.278,0.147,0.159,0.068,0.181,0.150,0.077,0.140,0.073,0.071,
+0.135,0.184,0.092,0.085,0.037,0.069,0.055,0.039,0.141,0.076,
+0.152,0.146,0.065,0.235,0.101,0.098,0.076,0.067,0.040,0.078,
+0.172,0.248,0.140,0.169,0.100,0.030,0.113,0.139,0.069,0.106,
+0.086,0.164,0.778,0.815,0.515,0.502,1.200,1.470,2.590,0.943,
+0.948,0.246,0.924,0.791,0.522,0.832,0.800,0.753,0.085,0.177,
+0.128,0.074,0.159,0.263,1.250,0.166,0.145,0.083,0.280,0.155,
+0.108,0.242,0.137,0.106,0.660,1.110,0.668,0.599,0.144,0.203,
+0.211,0.147,0.827,0.180,0.410,0.624,0.367,0.908,0.728,0.629,
+0.458,0.411,0.314,0.385,0.854,1.170,1.000,0.885,0.783,0.158,
+0.836,0.899,0.677,0.781,0.723,0.898,0.673,0.487,0.396,0.558,
+0.703,0.539,0.687,0.496,0.653,0.099,0.474,0.670,0.785,0.613,
+0.387,0.697,0.979,1.050,0.910,0.707,1.440,1.430,3.750,1.240,
+1.170,0.227,1.200,1.250,1.750,1.710,0.879,0.977,0.783,1.800,
+0.735,0.830,0.113,0.236,0.144,0.146,0.832,0.169,0.891,1.050,
+0.551,1.270,0.849,0.952,0.650,0.600,0.422,0.686,0.724,0.901,
+0.701,0.806,0.878,0.131,0.929,1.170,0.839,1.110,0.930,1.410,
+1.280,0.693,0.510,0.975,0.906,0.639,0.579,0.801,0.629,0.080,
+0.292,0.479,0.720,0.674,0.361,0.849,0.964,0.668,0.448,0.571,
+1.130,0.579,0.726,0.685,0.522,0.061,0.301,0.451,0.389,0.461,
+0.307,0.510,0.760,0.706,0.444,0.622,0.098,0.082,0.060,0.111,
+0.539,0.074,0.315,0.496,0.436,0.782,0.396,0.614,0.947,0.505,
+0.406,0.746,0.891,0.679,0.524,0.793,0.569,0.057,0.361,0.589,
+0.829,0.651,0.625,1.370,1.480,1.100,0.580,1.020,1.750,1.350,
+1.020,1.050,0.900,0.162,0.574,0.739,0.718,1.060,0.442,0.910,
+1.610,1.520,0.642,0.823,3.740,1.900,1.510,1.290,1.420,0.256,
+0.916,1.170,0.808,1.340,0.592,0.832,1.230,1.390,0.594,0.772,
+0.224,0.231,0.135,0.171,1.050,0.221,0.866,1.140,0.890,1.740,
+0.828,1.060,0.860,0.617,0.458,0.767,1.450,1.440,1.060,1.460,
+0.931,0.127,0.835,1.040,0.854,0.934,0.857,1.410,1.070,0.867,
+0.627,1.190,1.190,1.100,1.080,1.290,0.981,0.175,0.655,0.918,
+0.557,0.786,0.608,0.991,0.077,0.097,0.055,0.090,0.135,0.150,
+0.180,0.124,0.088,0.034,0.110,0.129,0.062,0.149,0.084,0.097,
+0.697,1.110,0.578,0.730,0.102,0.140,0.104,0.148,0.878,0.162,
+0.597,0.875,0.498,1.090,0.727,0.842,0.618,0.496,0.391,0.588,
+1.040,1.050,0.913,1.180,0.831,0.118,0.745,1.010,0.684,0.768,
+0.800,1.200,1.040,0.608,0.481,0.963,0.832,0.559,0.585,0.633,
+0.731,0.094,0.449,0.742,0.806,0.719,0.519,1.210,0.866,0.719,
+0.477,0.645,0.954,0.853,1.050,0.824,0.708,0.101,0.586,0.972,
+0.692,1.040,0.575,0.916,0.881,1.140,0.625,0.933,0.092,0.122,
+0.066,0.122,1.000,0.143,0.850,1.360,0.737,1.310,1.070,1.200,
+1.190,0.780,0.674,1.260,1.230,1.410,0.973,1.330,1.260,0.138,
+1.030,1.650,1.470,1.630,1.440,2.110,1.720,1.220,0.920,1.900,
+1.020,0.697,0.530,0.848,1.110,0.114,0.489,0.853,1.550,1.220,
+0.634,1.470,1.220,0.774,0.488,0.727,0.861,0.478,0.404,0.526,
+0.673,0.079,0.627,0.501,0.774,0.854,0.505,0.839,0.889,0.649,
+0.457,0.768,0.073,0.060,0.042,0.102,0.578,0.052,0.314,0.537,
+0.571,0.738,0.468,0.837,1.200,0.583,0.504,1.110,0.864,0.610,
+0.448,0.827,0.710,0.064,0.441,0.670,1.050,0.790,0.746,1.640,
+1.350,0.822,0.438,0.864,0.862,0.642,0.381,0.569,0.807,0.109,
+0.313,0.488,0.738,0.734,0.306,0.757,0.830,0.686,0.328,0.509,
+0.682,0.603,0.368,0.465,0.570,0.074,0.318,0.468,0.534,0.703,
+0.314,0.611,0.584,0.630,0.407,0.588,0.058,0.078,0.048,0.075,
+0.598,0.078,0.353,0.563,0.488,0.795,0.426,0.616,0.576,0.460,
+0.301,0.652,0.576,0.679,0.326,0.633,0.533,0.052,0.295,0.522,
+0.541,0.536,0.445,1.010,1.060,0.761,0.492,0.952,0.848,0.621,
+0.486,0.900,1.310,0.194,0.568,0.720,1.240,1.180,0.507,1.220,
+0.085,0.085,0.039,0.073,0.068,0.069,0.049,0.086,0.103,0.029,
+0.058,0.072,0.155,0.336,0.068,0.145,0.430,0.488,0.381,0.498,
+0.052,0.053,0.040,0.065,0.588,0.068,0.328,0.425,0.461,0.747,
+0.388,0.539,0.452,0.326,0.280,0.519,0.540,0.450,0.368,0.591,
+0.565,0.061,0.356,0.557,0.646,0.607,0.528,1.060,1.540,0.868,
+0.481,1.190,0.767,0.487,0.365,0.717,1.560,0.199,0.457,0.760,
+3.990,2.080,0.683,1.850,1.040,0.933,0.441,0.726,0.703,0.625,
+0.420,0.701,1.150,0.192,0.458,0.736,2.060,3.590,0.737,1.540,
+0.632,0.659,0.502,0.704,0.053,0.055,0.047,0.076,0.654,0.065,
+0.368,0.587,0.839,0.970,0.632,0.981,1.080,0.774,0.571,1.200,
+0.683,0.520,0.467,0.823,1.100,0.100,0.584,1.310,1.760,1.480,
+1.380,3.020,1.960,1.270,0.750,1.460,1.250,1.030,0.661,0.912,
+1.100,0.165,0.920,0.900,1.120,1.410,0.660,1.340,1.630,1.430,
+0.839,1.010,1.310,1.120,0.904,0.907,1.150,0.231,3.510,1.170,
+0.703,1.760,0.923,0.981,0.834,0.992,0.613,0.908,0.107,0.136,
+0.083,0.159,0.779,0.131,0.796,1.490,0.631,1.130,0.739,1.290,
+0.923,0.566,0.535,1.010,1.030,1.050,0.673,1.190,0.781,0.098,
+0.601,1.040,0.918,0.818,0.740,1.640,1.510,1.250,0.555,1.010,
+1.420,1.450,0.745,0.876,1.030,0.198,0.479,0.699,0.810,1.220,
+0.451,1.030,1.350,1.570,0.574,0.829,1.540,1.460,0.949,1.100,
+1.180,0.258,0.752,0.945,0.726,1.840,0.583,0.892,0.876,1.250,
+0.672,0.902,0.184,0.226,0.115,0.156,1.210,0.249,0.825,1.200,
+0.767,1.710,0.875,1.190,0.722,0.727,0.470,0.893,1.080,1.870,
+0.658,1.380,0.881,0.106,0.630,0.884,0.754,0.913,0.640,1.430,
+1.130,0.912,0.441,0.764,1.230,1.290,0.800,0.961,1.770,0.562,
+0.812,0.784,1.320,2.800,0.695,1.530,0.092,0.163,0.064,0.090,
+0.134,0.219,0.134,0.138,0.275,0.334,0.202,0.154,0.200,1.110,
+0.139,0.195,0.677,1.060,0.762,0.784,0.100,0.147,0.105,0.155,
+0.938,0.191,0.581,0.778,0.638,1.720,0.710,0.884,0.629,0.519,
+0.424,0.669,0.969,1.220,0.860,1.090,0.935,0.117,0.663,0.930,
+0.749,1.010,0.754,1.340,1.390,0.937,0.528,1.010,0.914,0.854,
+0.535,0.835,1.580,0.272,0.548,0.760,3.350,3.610,0.882,1.940,
+1.700,2.210,0.967,1.360,1.430,2.000,1.220,1.720,3.410,1.200,
+1.370,1.570,5.550,22.3,2.280,4.050,0.718,1.020,0.705,0.893,
+0.075,0.148,0.075,0.114,0.970,0.183,0.791,1.130,0.988,2.400,
+1.070,1.400,0.954,0.779,0.608,0.963,0.939,1.130,0.655,1.190,
+1.250,0.150,0.858,1.430,1.870,2.570,1.540,2.950,1.370,0.869,
+0.569,0.989,0.791,0.759,0.438,0.609,0.728,0.087,0.363,0.762,
+0.678,0.648,0.383,0.833,1.420,1.230,0.602,0.807,1.090,1.030,
+0.891,0.746,1.030,0.142,0.769,0.870,0.628,1.050,0.629,0.868,
+0.777,1.040,0.596,0.960,0.124,0.167,0.092,0.169,0.820,0.137,
+0.665,0.861,0.581,1.190,0.706,0.956,0.828,0.564,0.390,0.898,
+0.856,0.975,0.526,0.848,0.863,0.110,0.593,1.110,0.904,0.847,
+0.766,1.730,0.080,0.083,0.084,0.079,0.082,0.120,0.054,0.074,
+0.060,0.016,0.042,0.057,0.055,0.090,0.044,0.079,0.088,0.110,
+0.047,0.052,0.146,0.231,0.100,0.088,0.115,0.035,0.103,0.089,
+0.059,0.139,0.056,0.069,0.061,0.096,0.050,0.061,0.024,0.030,
+0.019,0.016,0.100,0.030,0.126,0.108,0.057,0.149,0.112,0.094,
+0.066,0.058,0.035,0.079,0.117,0.165,0.072,0.126,0.084,0.021,
+0.069,0.115,0.088,0.081,0.073,0.138,0.985,0.762,0.455,0.564,
+0.944,1.080,0.860,0.791,1.050,0.239,0.650,0.754,0.664,1.220,
+0.896,0.977,0.080,0.125,0.057,0.061,0.108,0.153,0.149,0.083,
+0.114,0.050,0.114,0.099,0.087,0.268,0.111,0.109,0.718,1.250,
+0.614,0.679,0.121,0.195,0.117,0.121,1.430,0.224,0.704,0.910,
+0.578,1.280,0.809,0.831,0.692,0.542,0.387,0.551,0.995,1.230,
+0.799,0.950,1.630,0.190,0.898,1.250,1.090,1.120,0.949,1.430,
+0.929,0.573,0.410,0.703,0.688,0.553,0.520,0.560,0.838,0.111,
+0.487,0.730,0.876,0.926,0.539,1.040,1.150,1.160,0.730,0.902,
+1.090,1.230,1.290,1.080,1.290,0.241,1.000,1.250,1.200,2.660,
+1.200,1.460,0.976,1.350,0.894,0.999,0.084,0.155,0.141,0.116,
+1.150,0.161,1.020,1.230,0.897,1.650,1.110,1.330,0.937,0.823,
+0.584,0.926,0.814,1.030,0.750,0.888,1.440,0.139,1.080,1.580,
+1.390,1.490,1.260,2.140,1.890,0.972,0.687,1.470,0.964,0.612,
+0.546,0.920,0.881,0.093,0.363,0.817,1.070,0.849,0.509,1.430,
+1.190,0.777,0.428,0.716,0.904,0.585,0.515,0.722,0.716,0.074,
+0.488,0.662,0.539,0.653,0.530,0.888,0.898,0.929,0.448,0.911,
+0.093,0.098,0.051,0.135,0.638,0.077,0.359,0.660,0.621,0.792,
+0.496,0.924,1.110,0.581,0.478,1.120,0.785,0.603,0.448,0.897,
+0.748,0.063,0.426,0.943,1.170,0.827,0.793,2.200,1.450,1.030,
+0.617,1.190,1.120,0.861,0.578,0.885,0.790,0.102,0.367,0.692,
+0.708,0.912,0.412,1.000,1.230,1.160,0.409,0.654,1.520,1.340,
+0.615,0.839,1.090,0.168,0.569,0.890,0.662,1.150,0.462,0.881,
+0.755,0.782,0.385,0.672,0.092,0.113,0.048,0.085,0.837,0.099,
+0.613,0.814,0.774,1.120,0.626,1.010,0.801,0.568,0.460,0.878,
+0.956,0.982,0.529,1.140,0.876,0.077,0.493,0.879,0.882,0.844,
+0.732,1.750,1.340,1.030,0.604,1.070,1.110,0.927,0.754,1.120,
+1.160,0.184,0.575,1.040,0.998,1.130,0.831,1.650,0.088,0.138,
+0.048,0.090,0.092,0.105,0.071,0.100,0.082,0.024,0.063,0.108,
+0.094,0.190,0.074,0.149,0.958,1.160,0.602,0.931,0.095,0.107,
+0.084,0.121,1.130,0.145,0.667,1.160,0.780,1.210,0.865,1.340,
+0.994,0.768,0.523,1.010,1.270,1.160,0.815,1.360,1.490,0.140,
+0.859,1.550,1.190,1.160,1.040,2.000,1.970,1.040,0.724,1.580,
+1.070,0.750,0.613,0.884,1.310,0.132,0.644,1.170,1.790,1.420,
+0.970,2.450,1.530,1.250,0.644,1.080,1.270,1.230,0.863,1.220,
+1.380,0.162,0.887,1.540,1.380,2.440,0.980,2.080,1.440,1.440,
+0.951,1.460,0.106,0.123,0.091,0.150,1.820,0.151,1.110,1.830,
+1.480,1.980,1.620,2.280,2.570,1.320,1.090,2.420,1.700,1.520,
+1.150,2.300,2.270,0.164,1.620,2.940,2.790,2.180,2.250,3.480,
+2.470,1.320,1.180,2.250,1.450,0.905,0.843,1.120,1.340,0.139,
+0.798,1.150,1.900,1.470,1.030,1.700,1.880,1.140,0.835,1.350,
+1.210,0.872,0.707,0.745,1.010,0.092,0.721,0.798,0.761,0.801,
+0.747,0.900,1.000,0.828,0.678,0.923,0.098,0.094,0.076,0.133,
+0.707,0.067,0.420,0.520,0.756,0.908,0.738,0.808,1.720,0.808,
+0.805,1.570,1.280,1.050,0.871,1.160,0.885,0.087,0.643,0.869,
+1.280,0.994,1.050,1.630,1.860,0.990,0.672,1.030,1.140,0.724,
+0.571,0.721,0.743,0.093,0.485,0.614,0.772,0.835,0.565,0.881,
+1.410,0.952,0.580,0.796,0.835,0.558,0.573,0.559,0.757,0.110,
+0.547,0.806,0.543,0.723,0.694,0.740,0.690,0.669,0.477,0.562,
+0.067,0.069,0.052,0.077,0.580,0.069,0.382,0.492,0.404,0.711,
+0.450,0.513,0.774,0.493,0.377,0.595,0.780,0.604,0.485,0.691,
+0.654,0.063,0.460,0.628,0.630,0.628,0.634,1.020,1.390,0.655,
+0.528,0.793,1.030,0.654,0.607,0.738,0.799,0.104,0.447,0.645,
+0.772,0.766,0.651,1.170,0.103,0.086,0.051,0.078,0.075,0.067,
+0.060,0.067,0.070,0.016,0.057,0.075,0.091,0.134,0.084,0.119,
+0.590,0.502,0.401,0.458,0.053,0.043,0.046,0.059,0.455,0.060,
+0.305,0.379,0.398,0.513,0.422,0.484,0.582,0.338,0.300,0.505,
+0.763,0.497,0.447,0.718,0.602,0.070,0.424,0.666,0.519,0.733,
+0.597,0.991,1.770,0.606,0.552,1.070,0.705,0.412,0.405,0.580,
+0.685,0.067,0.376,0.551,0.905,0.667,0.657,1.430,1.220,0.730,
+0.570,0.731,0.731,0.553,0.510,0.599,0.625,0.059,0.486,0.609,
+0.695,0.752,0.641,0.895,0.757,0.553,0.443,0.608,0.052,0.038,
+0.034,0.059,0.452,0.038,0.295,0.434,0.439,0.544,0.464,0.605,
+1.380,0.515,0.538,0.983,0.569,0.331,0.392,0.572,0.853,0.072,
+0.537,0.859,1.050,0.807,1.030,1.920,2.300,1.490,1.070,1.680,
+1.290,0.988,0.836,1.100,0.903,0.112,0.527,0.849,1.000,1.120,
+0.815,1.420,1.940,1.530,0.892,1.080,1.310,1.010,1.010,0.906,
+0.957,0.122,0.849,1.010,0.646,0.931,0.789,0.977,0.806,0.849,
+0.769,0.784,0.079,0.099,0.087,0.115,0.531,0.078,0.470,0.539,
+0.427,0.744,0.605,0.772,0.988,0.490,0.506,0.853,0.888,0.802,
+0.651,0.775,0.630,0.068,0.442,0.628,0.682,0.598,0.779,1.370,
+1.950,1.450,0.731,1.100,1.430,1.260,0.822,1.380,0.778,0.117,
+0.534,0.719,0.650,0.874,0.533,0.922,1.620,1.410,0.775,0.806,
+0.997,0.579,0.778,0.773,0.895,0.151,0.762,0.986,0.575,0.911,
+0.776,0.925,0.761,1.150,0.878,0.794,0.092,0.151,0.103,0.118,
+0.729,0.156,0.645,0.735,0.455,1.300,0.637,0.755,0.639,0.539,
+0.411,0.524,0.735,0.809,0.547,0.665,0.605,0.071,0.448,0.574,
+0.464,0.581,0.526,1.010,1.290,0.892,0.538,0.733,1.140,1.240,
+0.971,0.845,0.820,0.133,0.627,0.772,0.578,0.789,0.752,1.050,
+0.121,0.181,0.075,0.088,0.109,0.171,0.153,0.100,0.093,0.040,
+0.132,0.136,0.077,0.192,0.135,0.145,0.705,0.996,0.858,0.717,
+0.092,0.131,0.113,0.103,0.686,0.118,0.635,0.742,0.428,1.000,
+0.887,0.831,0.540,0.410,0.403,0.518,0.868,0.932,0.730,0.851,
+0.736,0.096,0.746,0.894,0.501,0.719,0.839,1.090,1.070,0.626,
+0.486,0.787,0.680,0.530,0.454,0.581,0.489,0.055,0.322,0.495,
+0.571,0.523,0.509,0.941,1.160,1.070,0.695,0.904,1.010,1.020,
+0.796,0.965,0.713,0.092,0.718,0.934,0.670,1.080,0.780,1.130,
+0.645,0.828,0.677,0.793,0.056,0.089,0.055,0.073,0.514,0.069,
+0.503,0.673,0.466,0.782,0.698,0.941,0.797,0.456,0.550,0.752,
+0.644,0.562,0.490,0.719,0.737,0.070,0.668,1.000,0.859,0.879,
+1.190,1.690,1.890,1.290,0.784,1.160,0.860,0.754,0.512,0.622,
+0.662,0.090,0.453,0.677,0.760,0.805,0.532,0.914,1.800,1.710,
+0.833,1.040,1.150,1.070,0.849,0.847,1.080,0.145,0.924,1.110,
+0.669,1.150,0.700,0.933,1.110,2.300,0.955,0.966,0.131,0.221,
+0.134,0.171,0.670,0.106,0.467,0.632,0.484,1.030,0.627,0.735,
+1.150,1.010,0.640,1.070,1.110,1.420,0.788,0.989,0.820,0.096,
+0.592,0.993,0.858,0.860,0.968,1.720,0.157,0.145,0.104,0.105,
+0.143,0.157,0.086,0.094,0.085,0.020,0.062,0.082,0.080,0.127,
+0.081,0.101,0.166,0.186,0.086,0.089,0.168,0.201,0.132,0.107,
+0.157,0.042,0.136,0.141,0.083,0.197,0.105,0.109,0.096,0.210,
+0.102,0.099,0.020,0.040,0.033,0.023,0.133,0.029,0.103,0.106,
+0.067,0.181,0.121,0.108,0.149,0.139,0.082,0.131,0.252,0.329,
+0.180,0.201,0.132,0.026,0.115,0.186,0.121,0.154,0.134,0.214,
+1.090,0.875,0.539,0.592,0.849,1.050,0.820,0.646,0.928,0.278,
+0.826,0.786,0.607,1.060,0.801,0.879,0.113,0.179,0.070,0.074,
+0.094,0.141,0.112,0.070,0.187,0.106,0.137,0.120,0.093,0.268,
+0.124,0.109,0.736,1.660,0.683,0.568,0.095,0.142,0.118,0.093,
+0.747,0.135,0.469,0.601,0.478,0.844,0.644,0.617,0.608,0.551,
+0.470,0.491,0.877,1.010,0.832,0.794,0.806,0.133,0.896,1.060,
+0.541,0.791,0.818,1.070,0.996,0.627,0.437,0.686,0.576,0.514,
+0.371,0.401,0.610,0.076,0.390,0.533,0.610,0.618,0.485,0.847,
+1.450,1.180,0.690,0.876,1.060,1.100,0.758,0.763,1.480,0.198,
+0.915,1.060,0.865,1.440,0.911,1.070,0.796,1.090,0.753,0.827,
+0.088,0.125,0.088,0.094,0.726,0.092,0.632,0.742,0.574,1.020,
+0.730,0.886,1.170,0.681,0.669,0.824,1.010,0.791,0.708,0.798,
+0.999,0.103,1.020,1.250,1.030,1.020,1.180,1.580,1.990,0.994,
+0.701,1.440,0.773,0.585,0.419,0.553,0.694,0.067,0.334,0.558,
+0.951,0.704,0.571,1.170,1.060,0.666,0.435,0.771,0.651,0.437,
+0.393,0.519,0.651,0.062,0.399,0.644,0.505,0.525,0.417,0.669,
+0.782,0.745,0.432,0.767,0.075,0.079,0.057,0.099,0.455,0.048,
+0.286,0.456,0.401,0.584,0.394,0.650,1.180,0.683,0.581,1.370,
+0.815,0.750,0.561,0.865,0.702,0.061,0.520,0.831,0.909,0.763,
+0.805,1.910,1.600,1.090,0.606,0.959,1.050,1.060,0.598,0.655,
+0.706,0.093,0.421,0.615,0.661,0.841,0.521,0.923,1.200,0.996,
+0.455,0.633,1.030,0.948,0.556,0.610,0.839,0.137,0.556,0.749,
+0.591,0.971,0.498,0.732,0.722,0.854,0.495,0.713,0.067,0.086,
+0.064,0.094,0.698,0.079,0.453,0.630,0.497,0.830,0.526,0.802,
+0.913,0.594,0.436,0.752,1.030,0.888,0.661,0.888,0.777,0.071,
+0.515,0.890,0.751,0.860,0.708,1.390,1.240,0.759,0.523,0.793,
+1.070,0.891,0.712,0.857,0.938,0.140,0.668,0.840,0.728,0.790,
+0.944,1.270,0.104,0.100,0.061,0.091,0.089,0.101,0.088,0.086,
+0.100,0.022,0.112,0.110,0.098,0.157,0.119,0.136,0.701,0.875,
+0.561,0.755,0.074,0.074,0.091,0.098,0.899,0.100,0.492,0.751,
+0.587,0.826,0.761,0.908,0.745,0.578,0.530,0.786,0.933,0.816,
+0.950,1.110,1.120,0.112,0.839,1.250,0.825,0.908,1.020,1.570,
+1.750,0.849,0.645,1.150,0.867,0.771,0.548,0.667,0.826,0.095,
+0.483,0.771,1.100,0.862,0.792,1.740,1.100,0.715,0.538,0.903,
+0.861,0.553,0.601,0.867,0.881,0.079,0.683,0.959,0.853,0.993,
+0.788,1.270,1.040,1.020,0.772,1.340,0.087,0.084,0.070,0.126,
+0.918,0.082,0.653,1.010,0.890,1.150,1.030,1.450,1.940,0.937,
+0.983,1.970,1.300,1.050,1.200,1.640,1.660,0.111,1.310,2.060,
+2.280,1.680,1.940,3.110,0.123,0.088,0.073,0.129,0.106,0.076,
+0.068,0.075,0.072,0.011,0.058,0.066,0.076,0.102,0.072,0.092,
+0.113,0.096,0.060,0.115,0.100,0.086,0.084,0.076,0.075,0.020,
+0.073,0.092,0.053,0.078,0.074,0.075,0.060,0.058,0.043,0.057,
+7.94e-3,0.010,6.02e-3,0.011,0.051,7.60e-3,0.031,0.037,0.043,0.064,
+0.063,0.055,0.089,0.065,0.042,0.083,0.098,0.109,0.062,0.079,
+0.061,8.94e-3,0.065,0.070,0.075,0.091,0.084,0.114,0.128,0.103,
+0.064,0.083,0.122,0.109,0.073,0.067,0.088,0.030,0.110,0.081,
+0.072,0.119,0.143,0.115,0.132,0.145,0.066,0.072,0.137,0.133,
+0.100,0.088,0.161,0.061,0.103,0.211,0.061,0.151,0.091,0.102,
+0.053,0.077,0.049,0.049,9.53e-3,0.018,0.017,0.014,0.059,0.018,
+0.053,0.060,0.034,0.086,0.061,0.060,0.056,0.050,0.033,0.043,
+0.082,0.084,0.058,0.073,0.060,0.012,0.061,0.070,0.058,0.068,
+0.064,0.114,0.083,0.053,0.032,0.047,0.109,0.067,0.059,0.062,
+0.063,0.011,0.043,0.052,0.051,0.063,0.057,0.077,0.011,0.013,
+9.36e-3,8.11e-3,0.012,0.017,0.016,0.010,9.78e-3,5.85e-3,0.017,0.016,
+7.52e-3,0.021,0.013,0.014,0.039,0.056,0.038,0.039,7.44e-3,9.69e-3,
+9.69e-3,8.61e-3,0.043,9.61e-3,0.047,0.046,0.030,0.070,0.053,0.054,
+0.035,0.026,0.022,0.038,0.060,0.057,0.052,0.058,0.049,8.19e-3,
+0.048,0.060,0.040,0.060,0.065,0.093,0.090,0.046,0.036,0.068,
+0.052,0.040,0.033,0.046,0.050,8.86e-3,0.034,0.043,0.059,0.053,
+0.053,0.098,0.094,0.080,0.061,0.074,0.084,0.105,0.073,0.073,
+0.059,0.015,0.056,0.077,0.058,0.081,0.071,0.094,0.048,0.049,
+0.052,0.058,6.27e-3,6.18e-3,6.35e-3,6.52e-3,0.044,7.77e-3,0.036,0.046,
+0.039,0.072,0.069,0.070,0.084,0.043,0.037,0.071,0.054,0.043,
+0.038,0.063,0.071,7.85e-3,0.063,0.087,0.084,0.093,0.095,0.185,
+0.124,0.100,0.071,0.089,0.097,0.098,0.075,0.077,0.058,0.013,
+0.042,0.053,0.052,0.075,0.057,0.075,0.131,0.132,0.077,0.073,
+0.164,0.141,0.130,0.103,0.086,0.033,0.105,0.108,0.041,0.095,
+0.102,0.085,0.047,0.077,0.056,0.048,0.011,0.019,0.019,0.012,
+0.041,0.014,0.046,0.046,0.024,0.055,0.047,0.052,0.047,0.033,
+0.029,0.042,0.059,0.073,0.051,0.056,0.052,7.52e-3,0.039,0.046,
+0.045,0.042,0.049,0.081,0.149,0.157,0.077,0.082,0.159,0.237,
+0.123,0.143,0.089,0.024,0.069,0.073,0.050,0.103,0.059,0.079,
+0.209,0.372,0.125,0.106,0.329,0.290,0.250,0.246,0.178,0.092,
+0.145,0.181,0.074,0.230,0.130,0.142,0.064,0.166,0.092,0.082,
+0.022,0.074,0.044,0.033,0.087,0.051,0.095,0.099,0.038,0.154,
+0.093,0.081,0.052,0.061,0.040,0.046,0.080,0.166,0.081,0.084,
+0.063,0.022,0.065,0.070,0.043,0.063,0.060,0.101,0.096,0.077,
+0.044,0.051,0.119,0.163,0.120,0.077,0.089,0.019,0.070,0.072,
+0.043,0.077,0.073,0.078,0.017,0.032,0.019,0.014,0.032,0.076,
+0.063,0.026,0.025,0.030,0.050,0.037,9.28e-3,0.034,0.034,0.021,
+0.075,0.154,0.096,0.077,0.023,0.053,0.046,0.026,0.082,0.037,
+0.111,0.089,0.037,0.134,0.145,0.091,0.047,0.041,0.036,0.042,
+0.086,0.133,0.112,0.097,0.079,0.021,0.106,0.100,0.042,0.079,
+0.135,0.108,0.071,0.047,0.037,0.072,0.058,0.055,0.047,0.045,
+0.039,5.77e-3,0.032,0.043,0.042,0.045,0.040,0.074,0.088,0.124,
+0.078,0.076,0.121,0.174,0.117,0.102,0.075,0.027,0.097,0.110,
+0.051,0.122,0.083,0.094,0.049,0.084,0.072,0.061,7.94e-3,0.024,
+0.013,0.010,0.049,0.016,0.063,0.065,0.037,0.080,0.081,0.075,
+0.052,0.036,0.036,0.048,0.049,0.061,0.045,0.056,0.055,8.52e-3,
+0.065,0.085,0.061,0.073,0.102,0.130,0.120,0.075,0.073,0.069,
+0.053,0.056,0.039,0.050,0.045,7.94e-3,0.031,0.040,0.044,0.058,
+0.036,0.050,0.100,0.132,0.069,0.066,0.110,0.119,0.104,0.090,
+0.100,0.037,0.116,0.139,0.055,0.172,0.066,0.077,0.065,0.120,
+0.067,0.060,0.015,0.021,0.021,0.016,0.077,0.016,0.050,0.057,
+0.029,0.070,0.063,0.053,0.052,0.042,0.030,0.055,0.066,0.069,
+0.061,0.073,0.056,9.69e-3,0.056,0.067,0.047,0.055,0.065,0.100,
+0.012,0.014,0.027,8.02e-3,0.015,0.028,0.021,0.014,0.010,5.85e-3,
+0.015,9.11e-3,6.27e-3,0.014,0.011,0.011,0.020,0.042,0.018,0.010,
+0.036,0.071,0.049,0.029,0.024,0.041,0.050,0.034,0.011,0.043,
+0.023,0.017,0.011,0.030,0.021,9.94e-3,8.44e-3,0.025,0.025,0.010,
+0.040,0.026,0.034,0.025,9.61e-3,0.035,0.035,0.015,7.10e-3,8.94e-3,
+5.77e-3,7.60e-3,0.019,0.029,0.025,0.019,0.015,7.52e-3,0.021,0.020,
+9.36e-3,0.015,0.015,0.017,0.085,0.099,0.051,0.041,0.089,0.220,
+0.107,0.068,0.084,0.033,0.099,0.077,0.048,0.112,0.092,0.081,
+0.014,0.035,0.018,0.012,0.023,0.056,0.051,0.019,0.030,0.038,
+0.095,0.041,0.014,0.037,0.038,0.019,0.081,0.387,0.102,0.066,
+0.020,0.052,0.056,0.021,0.101,0.051,0.092,0.090,0.033,0.114,
+0.104,0.074,0.045,0.061,0.039,0.042,0.094,0.124,0.125,0.111,
+0.089,0.028,0.127,0.114,0.043,0.076,0.096,0.100,0.067,0.056,
+0.039,0.052,0.042,0.056,0.031,0.036,0.064,9.19e-3,0.041,0.068,
+0.044,0.059,0.042,0.075,0.114,0.137,0.078,0.075,0.130,0.168,
+0.122,0.097,0.128,0.041,0.141,0.154,0.071,0.158,0.120,0.113,
+0.064,0.123,0.099,0.085,0.014,0.024,0.023,0.014,0.074,0.025,
+0.087,0.091,0.044,0.130,0.093,0.091,0.072,0.050,0.047,0.063,
+0.178,0.073,0.062,0.069,0.084,0.015,0.104,0.117,0.073,0.095,
+0.101,0.132,0.119,0.077,0.054,0.089,0.080,0.057,0.044,0.081,
+0.065,7.60e-3,0.031,0.057,0.065,0.057,0.044,0.081,0.085,0.071,
+0.040,0.065,0.071,0.060,0.053,0.070,0.060,0.016,0.051,0.077,
+0.049,0.066,0.049,0.063,0.060,0.063,0.039,0.063,7.19e-3,7.44e-3,
+7.10e-3,0.012,0.042,5.52e-3,0.033,0.046,0.033,0.050,0.043,0.053,
+0.082,0.048,0.043,0.086,0.065,0.054,0.046,0.085,0.065,7.02e-3,
+0.046,0.090,0.075,0.060,0.068,0.172,0.135,0.118,0.098,0.093,
+0.116,0.135,0.147,0.090,0.090,0.019,0.068,0.079,0.074,0.116,
+0.084,0.115,0.135,0.154,0.067,0.083,0.188,0.257,0.131,0.121,
+0.155,0.055,0.104,0.151,0.086,0.212,0.088,0.111,0.081,0.114,
+0.074,0.076,0.018,0.022,0.023,0.019,0.104,0.022,0.078,0.087,
+0.051,0.117,0.090,0.087,0.073,0.060,0.048,0.074,0.122,0.109,
+0.103,0.144,0.083,0.014,0.082,0.121,0.075,0.099,0.103,0.164,
+0.078,0.066,0.038,0.056,0.088,0.109,0.081,0.078,0.086,0.021,
+0.076,0.088,0.060,0.087,0.104,0.118,0.013,0.015,7.85e-3,0.012,
+0.016,0.028,0.024,0.015,0.015,0.012,0.028,0.020,0.014,0.022,
+0.043,0.027,0.060,0.116,0.067,0.065,0.011,0.020,0.020,0.015,
+0.118,0.027,0.079,0.087,0.045,0.109,0.113,0.088,0.052,0.044,
+0.044,0.054,0.083,0.084,0.104,0.112,0.106,0.017,0.105,0.133,
+0.069,0.093,0.139,0.161,0.112,0.076,0.052,0.084,0.069,0.070,
+0.049,0.062,0.063,0.011,0.049,0.070,0.073,0.072,0.064,0.130,
+0.086,0.074,0.048,0.068,0.078,0.084,0.076,0.100,0.073,0.014,
+0.077,0.107,0.064,0.098,0.082,0.164,0.072,0.095,0.068,0.097,
+9.36e-3,0.011,0.010,0.012,0.072,0.013,0.078,0.093,0.064,0.107,
+0.101,0.119,0.120,0.065,0.067,0.129,0.110,0.093,0.098,0.138,
+0.119,0.013,0.126,0.169,0.163,0.166,0.178,0.257,1.230,0.828,
+0.661,1.420,0.871,0.737,0.593,0.913,0.650,0.085,0.521,0.714,
+0.852,0.829,0.629,1.050,0.963,0.780,0.524,0.936,0.783,0.606,
+0.638,0.818,0.554,0.065,0.504,0.708,0.437,0.583,0.570,0.689,
+0.634,0.557,0.392,0.593,0.060,0.057,0.052,0.091,0.417,0.048,
+0.371,0.451,0.322,0.431,0.451,0.586,0.682,0.354,0.287,0.651,
+0.462,0.375,0.349,0.555,0.492,0.041,0.337,0.465,0.527,0.313,
+0.497,0.967,1.580,0.982,0.587,1.040,1.120,0.908,0.728,0.765,
+0.631,0.097,0.449,0.629,0.562,0.737,0.458,0.748,1.380,1.500,
+0.652,0.822,1.090,0.736,0.931,0.820,1.090,0.184,0.820,1.630,
+0.531,0.915,0.575,0.788,0.682,0.912,0.613,0.701,0.105,0.136,
+0.105,0.138,0.898,0.160,0.863,1.280,0.526,0.967,0.764,0.846,
+0.526,0.447,0.272,0.444,0.783,0.839,0.569,0.772,0.535,0.068,
+0.508,0.708,0.492,0.543,0.589,1.190,0.909,0.523,0.347,0.542,
+1.000,0.813,0.782,0.848,1.000,0.150,0.573,0.706,0.613,0.787,
+0.594,0.884,0.113,0.119,0.064,0.092,0.164,0.148,0.155,0.130,
+0.138,0.041,0.135,0.160,0.113,0.282,0.145,0.164,0.567,0.564,
+0.456,0.518,0.079,0.075,0.082,0.101,0.663,0.122,0.462,0.561,
+0.327,0.727,0.561,0.547,0.389,0.295,0.234,0.340,0.740,0.639,
+0.584,0.690,0.555,0.081,0.567,0.697,0.492,0.569,0.574,0.866,
+0.937,0.384,0.359,0.579,0.504,0.349,0.393,0.438,0.487,0.056,
+0.278,0.426,0.570,0.529,0.462,0.819,0.914,0.666,0.443,0.557,
+0.780,0.627,0.575,0.601,0.611,0.081,0.535,0.713,0.564,0.959,
+0.619,0.878,1.110,0.801,0.490,0.595,0.096,0.070,0.059,0.076,
+0.745,0.090,0.496,0.661,0.458,0.800,0.723,0.775,0.823,0.427,
+0.366,0.657,0.583,0.406,0.449,0.630,0.871,0.104,0.755,1.140,
+0.943,0.996,1.040,2.060,0.111,0.074,0.049,0.085,0.074,0.083,
+0.065,0.074,0.046,0.012,0.034,0.045,0.051,0.063,0.048,0.065,
+0.102,0.108,0.098,0.086,0.117,0.133,0.159,0.120,0.066,0.028,
+0.090,0.105,0.041,0.082,0.083,0.073,0.048,0.062,0.044,0.047,
+0.012,0.019,0.015,0.014,0.040,0.015,0.055,0.057,0.026,0.061,
+0.052,0.055,0.042,0.029,0.025,0.041,0.055,0.061,0.046,0.065,
+0.037,6.10e-3,0.031,0.043,0.040,0.039,0.049,0.094,0.096,0.101,
+0.052,0.079,0.099,0.121,0.104,0.101,0.060,0.019,0.046,0.051,
+0.037,0.068,0.042,0.048,0.138,0.243,0.089,0.080,0.144,0.140,
+0.166,0.110,0.146,0.081,0.125,0.143,0.054,0.139,0.087,0.083,
+0.050,0.113,0.069,0.056,0.019,0.051,0.038,0.023,0.149,0.072,
+0.150,0.184,0.081,0.140,0.109,0.095,0.036,0.037,0.026,0.034,
+0.062,0.096,0.060,0.064,0.042,0.013,0.057,0.066,0.034,0.044,
+0.052,0.097,0.067,0.057,0.036,0.041,0.105,0.136,0.132,0.097,
+0.072,0.025,0.078,0.070,0.039,0.085,0.071,0.067,0.018,0.031,
+0.017,0.013,0.035,0.065,0.072,0.032,0.026,0.041,0.060,0.041,
+9.19e-3,0.043,0.035,0.019,0.051,0.088,0.063,0.073,0.019,0.039,
+0.046,0.019,0.098,0.059,0.100,0.086,0.038,0.128,0.110,0.082,
+0.037,0.032,0.029,0.034,0.071,0.106,0.096,0.079,0.060,0.022,
+0.095,0.091,0.039,0.063,0.081,0.083,0.077,0.063,0.044,0.072,
+0.059,0.054,0.048,0.054,0.048,8.19e-3,0.032,0.047,0.053,0.060,
+0.065,0.087,0.122,0.130,0.084,0.092,0.166,0.175,0.150,0.139,
+0.100,0.031,0.112,0.121,0.085,0.211,0.129,0.138,0.070,0.088,
+0.073,0.065,0.011,0.023,0.015,0.015,0.091,0.041,0.093,0.107,
+0.050,0.127,0.143,0.108,0.067,0.044,0.042,0.063,0.059,0.061,
+0.055,0.078,0.075,0.014,0.082,0.171,0.085,0.104,0.124,0.241,
+0.924,0.859,0.632,0.886,0.754,0.710,0.538,0.629,0.573,0.070,
+0.435,0.678,0.440,0.382,0.335,0.554,1.220,1.320,0.651,0.836,
+1.240,1.110,1.190,1.010,1.230,0.203,1.210,2.990,0.479,0.931,
+0.586,0.935,0.650,1.020,0.531,0.643,0.107,0.171,0.121,0.163,
+0.680,0.116,0.794,0.938,0.363,0.841,0.650,0.680,0.579,0.450,
+0.269,0.480,0.655,0.688,0.478,0.621,0.653,0.098,0.622,0.877,
+0.500,0.526,0.608,1.050,0.087,0.101,0.092,0.079,0.119,0.174,
+0.137,0.111,0.070,0.025,0.078,0.078,0.044,0.081,0.061,0.071,
+0.127,0.195,0.089,0.085,0.222,0.258,0.245,0.175,0.142,0.086,
+0.214,0.244,0.054,0.129,0.084,0.085,0.074,0.179,0.092,0.070,
+0.027,0.073,0.064,0.037,0.123,0.069,0.216,0.181,0.048,0.160,
+0.156,0.110,0.065,0.060,0.038,0.058,0.115,0.167,0.111,0.118,
+0.080,0.024,0.122,0.124,0.055,0.074,0.083,0.120,1.280,0.884,
+0.666,0.391,1.120,1.340,1.160,0.929,0.954,0.217,1.400,1.040,
+0.461,0.787,0.818,0.825,0.122,0.208,0.116,0.081,0.146,0.265,
+0.221,0.120,0.174,0.112,0.325,0.213,0.064,0.221,0.150,0.110,
+0.824,0.954,0.751,0.489,0.137,0.148,0.187,0.104,0.602,0.126,
+0.218,0.285,0.289,0.536,0.609,0.484,0.452,0.373,0.339,0.272,
+0.688,0.850,0.774,0.627,0.697,0.138,1.130,0.916,0.390,0.589,
+0.794,0.819,0.737,0.489,0.370,0.471,0.543,0.484,0.321,0.361,
+0.476,0.060,0.490,0.554,0.363,0.388,0.355,0.535,1.110,1.140,
+0.791,0.689,1.130,1.240,1.040,0.874,0.969,0.181,1.340,1.210,
+0.565,1.110,0.885,0.843,0.669,0.916,0.668,0.632,0.087,0.162,
+0.106,0.105,0.831,0.149,1.120,1.020,0.473,0.995,0.868,0.848,
+0.583,0.453,0.355,0.540,0.618,0.683,0.535,0.622,0.825,0.110,
+1.160,1.190,0.722,0.864,0.897,1.170,1.080,0.635,0.433,0.804,
+0.632,0.467,0.393,0.488,0.499,0.058,0.391,0.509,0.490,0.473,
+0.428,0.680,0.895,0.653,0.379,0.522,0.657,0.455,0.491,0.475,
+0.499,0.057,0.533,0.956,0.306,0.419,0.350,0.508,0.579,0.544,
+0.303,0.468,0.061,0.058,0.058,0.087,0.406,0.050,0.363,0.519,
+0.306,0.455,0.370,0.533,0.636,0.383,0.265,0.539,0.504,0.410,
+0.340,0.507,0.436,0.041,0.327,0.534,0.511,0.421,0.461,0.983,
+1.180,0.966,0.617,0.871,1.110,1.050,0.821,0.803,0.652,0.105,
+0.585,0.680,0.515,0.692,0.423,0.724,1.300,1.300,0.709,0.743,
+1.400,1.310,1.360,1.030,0.905,0.149,0.994,1.200,0.474,0.861,
+0.572,0.775,0.697,1.080,0.540,0.640,0.094,0.167,0.114,0.126,
+0.881,0.162,1.000,1.220,0.490,1.100,0.858,0.910,0.619,0.526,
+0.341,0.518,0.962,0.982,0.813,0.957,0.613,0.089,0.754,0.940,
+0.528,0.672,0.660,1.080,1.240,0.929,0.521,0.668,1.110,1.100,
+0.928,0.946,1.360,0.216,0.929,1.040,0.726,0.908,0.885,1.120,
+0.105,0.121,0.061,0.086,0.134,0.193,0.170,0.139,0.112,0.039,
+0.167,0.155,0.071,0.165,0.134,0.132,0.832,1.130,0.610,0.680,
+0.106,0.133,0.123,0.127,1.140,0.208,0.769,0.986,0.506,1.070,
+0.931,0.886,0.615,0.502,0.395,0.484,0.929,0.965,0.946,0.997,
+0.804,0.118,1.020,1.220,0.576,0.744,0.946,1.160,1.070,0.599,
+0.437,0.677,0.652,0.527,0.453,0.465,0.669,0.080,0.453,0.588,
+0.947,0.574,0.553,0.905,0.991,0.811,0.530,0.667,0.855,0.841,
+0.798,0.768,0.684,0.096,0.819,0.942,0.602,0.794,0.798,0.940,
+0.932,1.100,0.725,0.872,0.090,0.104,0.097,0.111,0.995,0.120,
+1.000,1.300,0.648,1.020,1.000,1.080,1.050,0.601,0.593,1.020,
+1.010,0.838,1.250,1.150,1.020,0.103,1.280,1.560,1.110,1.070,
+1.270,1.720,1.940,0.858,0.818,1.590,0.810,0.521,0.463,0.712,
+0.708,0.072,0.369,0.613,1.010,0.833,0.587,1.080,0.976,0.542,
+0.402,0.622,0.594,0.379,0.383,0.465,0.492,0.043,0.376,0.438,
+0.449,0.472,0.492,0.564,0.579,0.497,0.414,0.659,0.058,0.053,
+0.041,0.103,0.395,0.039,0.278,0.384,0.339,0.421,0.437,0.612,
+0.876,0.443,0.454,1.060,0.647,0.498,0.411,0.654,0.536,0.044,
+0.350,0.563,0.711,0.525,0.654,1.400,1.320,0.806,0.602,0.889,
+0.741,0.529,0.410,0.513,0.491,0.059,0.295,0.457,0.493,0.503,
+0.358,0.697,0.830,0.637,0.372,0.518,0.567,0.414,0.406,0.436,
+0.576,0.058,0.327,0.573,0.371,0.460,0.361,0.507,0.479,0.486,
+0.445,0.481,0.042,0.064,0.040,0.056,0.470,0.043,0.304,0.450,
+0.474,0.491,0.543,0.560,0.474,0.367,0.253,0.433,0.507,0.566,
+0.329,0.483,0.392,0.033,0.323,0.526,0.445,0.441,0.469,0.963,
+1.090,0.557,0.359,0.599,0.783,0.492,0.482,0.627,0.698,0.083,
+0.327,0.545,0.687,0.642,0.454,0.902,0.083,0.060,0.039,0.062,
+0.073,0.063,0.058,0.069,0.065,0.013,0.042,0.068,0.094,0.143,
+0.071,0.103,0.544,0.439,0.405,0.505,0.049,0.041,0.041,0.061,
+0.475,0.054,0.266,0.425,0.409,0.561,0.507,0.631,0.543,0.316,
+0.311,0.477,0.579,0.454,0.387,0.565,0.490,0.049,0.367,0.628,
+0.527,0.564,0.611,1.060,1.310,0.511,0.406,0.906,0.572,0.362,
+0.362,0.547,0.602,0.056,0.330,0.496,0.952,0.694,0.544,1.090,
+0.872,0.567,0.404,0.587,0.574,0.424,0.482,0.516,0.532,0.052,
+0.374,0.547,0.722,0.982,0.567,0.818,0.668,0.524,0.389,0.597,
+0.051,0.044,0.036,0.058,0.492,0.044,0.304,0.465,0.528,0.568,
+0.579,0.740,0.948,0.549,0.425,0.848,0.550,0.401,0.384,0.635,
+0.785,0.060,0.515,0.978,1.020,0.882,1.220,2.320,1.960,1.120,
+0.864,1.640,1.060,0.879,0.667,0.925,0.708,0.093,0.428,0.700,
+0.877,0.998,0.646,1.150,1.490,1.010,0.733,1.080,1.050,0.814,
+0.934,0.890,0.825,0.111,0.750,0.897,0.544,0.803,0.707,0.854,
+0.678,0.634,0.591,0.741,0.065,0.083,0.070,0.102,0.581,0.069,
+0.533,0.625,0.411,0.664,0.770,0.969,0.758,0.422,0.391,0.744,
+0.729,0.672,0.495,0.773,0.507,0.053,0.381,0.620,0.604,0.555,
+0.733,1.370,1.520,1.170,0.849,1.060,1.130,1.030,0.760,0.944,
+0.676,0.099,0.395,0.608,0.596,0.809,0.484,0.866,1.400,1.280,
+0.644,0.850,1.210,0.802,0.886,0.958,1.380,0.259,0.728,1.070,
+0.630,1.160,0.665,0.895,0.656,0.890,0.705,0.761,0.085,0.120,
+0.083,0.101,1.050,0.155,0.685,0.941,0.684,1.100,1.010,1.340,
+0.506,0.466,0.323,0.485,0.715,0.792,0.454,0.662,0.522,0.066,
+0.470,0.802,0.479,0.547,0.624,1.230,1.160,0.838,0.482,0.676,
+1.160,1.100,1.040,0.939,0.838,0.143,0.532,0.696,0.642,0.861,
+0.651,1.110,0.098,0.126,0.065,0.082,0.128,0.185,0.176,0.120,
+0.088,0.043,0.107,0.112,0.085,0.230,0.117,0.132,0.620,0.753,
+0.619,0.769,0.090,0.110,0.095,0.109,0.750,0.146,0.598,0.817,
+0.504,1.050,0.961,1.100,0.567,0.425,0.370,0.563,0.828,0.938,
+0.807,0.907,0.743,0.087,0.680,1.010,0.599,0.709,0.940,1.440,
+1.200,0.718,0.531,1.180,0.677,0.559,0.510,0.824,0.660,0.073,
+0.426,0.660,0.772,0.751,0.641,1.170,1.270,1.150,0.733,0.993,
+1.070,1.110,1.050,1.120,0.959,0.148,0.889,1.220,1.000,2.140,
+1.200,1.450,0.648,0.735,0.733,0.851,0.079,0.105,0.096,0.104,
+0.736,0.113,0.745,0.964,0.659,1.390,1.450,1.530,0.775,0.606,
+0.515,0.776,0.759,0.728,0.580,0.855,0.884,0.079,0.741,1.330,
+1.050,1.060,1.510,2.530,6.770,1.260,2.320,1.570,1.020,0.713,
+0.677,0.811,0.857,0.079,0.526,0.696,0.915,0.619,0.571,0.927,
+1.760,1.280,0.739,1.150,1.220,1.080,0.889,1.090,1.040,0.136,
+1.320,1.480,0.684,0.973,0.860,1.220,0.927,1.080,0.728,0.954,
+0.121,0.136,0.122,0.166,0.767,0.118,0.727,0.808,0.726,1.300,
+2.150,1.190,0.955,0.596,0.441,0.794,0.858,0.774,0.575,0.837,
+0.746,0.087,0.634,1.080,0.838,0.785,1.190,1.780,0.324,0.130,
+1.080,0.237,0.094,0.105,0.154,0.099,0.068,0.012,0.117,0.080,
+0.074,0.087,0.194,0.096,0.138,0.138,0.096,0.088,0.154,0.219,
+0.139,0.174,0.128,0.042,0.216,0.167,0.066,0.137,0.121,0.112,
+0.059,0.105,0.131,0.076,0.019,0.031,0.037,0.018,0.104,0.035,
+0.170,0.122,0.109,0.300,0.907,0.243,0.077,0.061,0.057,0.068,
+0.107,0.137,0.093,0.115,0.077,0.018,0.087,0.131,0.078,0.110,
+0.207,0.160,1.940,0.967,0.902,0.761,1.220,1.240,1.160,0.910,
+1.000,0.202,0.915,0.992,0.728,0.986,0.926,1.170,0.129,0.148,
+0.071,0.077,0.126,0.167,0.122,0.094,0.122,0.050,0.180,0.133,
+0.094,0.197,0.142,0.136,1.310,1.350,0.867,0.863,0.212,0.201,
+0.155,0.137,1.210,0.219,0.562,0.842,0.697,1.230,1.310,1.020,
+0.822,0.594,0.513,0.616,1.290,1.240,1.030,1.020,1.020,0.158,
+1.140,1.420,0.775,0.998,1.150,1.570,2.050,0.815,0.663,0.919,
+0.770,0.632,0.477,0.594,1.630,0.141,0.836,1.630,0.933,0.837,
+0.671,1.270,1.490,1.290,0.771,0.991,1.130,1.240,0.903,0.878,
+1.220,0.154,1.500,1.550,0.906,1.620,1.280,1.400,0.996,1.110,
+0.851,0.967,0.108,0.138,0.121,0.130,1.170,0.138,1.090,1.300,
+0.852,1.540,2.020,1.520,1.330,0.649,0.600,0.875,1.000,0.846,
+0.744,0.930,1.380,0.124,1.310,1.670,1.260,1.280,1.550,2.130,
+2.340,0.960,0.800,1.310,0.827,0.514,0.449,0.677,0.735,0.073,
+0.396,0.695,0.863,0.655,0.560,1.250,1.150,0.722,0.408,0.736,
+0.718,0.507,0.431,0.576,0.640,0.055,0.505,0.715,0.480,0.489,
+0.769,0.863,0.812,0.753,0.486,1.110,0.081,0.086,0.060,0.166,
+0.551,0.059,0.393,0.630,0.533,0.690,0.824,0.885,0.966,0.521,
+0.430,0.974,0.699,0.490,0.428,0.793,0.626,0.051,0.471,0.882,
+0.868,0.634,1.020,2.200,1.490,0.939,1.970,1.140,0.843,0.668,
+0.597,0.681,0.586,0.064,0.480,0.639,0.663,0.637,0.553,0.997,
+1.130,0.906,0.519,0.685,1.050,0.955,0.712,0.802,0.875,0.096,
+0.720,0.955,0.593,0.760,0.605,0.865,0.674,0.737,0.523,0.700,
+0.056,0.080,0.069,0.079,0.705,0.090,0.671,0.881,0.746,1.160,
+1.910,1.270,0.676,0.496,0.397,0.636,0.771,0.691,0.593,0.771,
+0.645,0.062,0.541,0.951,0.702,0.660,1.230,1.640,1.690,1.110,
+0.726,0.930,1.310,1.110,0.885,1.100,1.350,0.182,0.693,1.060,
+1.060,1.110,1.060,1.780,0.120,0.112,0.056,0.094,0.110,0.118,
+0.090,0.103,0.101,0.021,0.088,0.129,0.109,0.163,0.118,0.169,
+1.160,1.260,0.781,1.050,0.107,0.122,0.094,0.134,1.290,0.157,
+0.855,1.330,0.877,1.390,1.340,1.640,1.050,0.808,0.640,0.969,
+1.270,1.120,1.070,1.410,1.320,0.130,1.150,1.940,1.060,1.160,
+1.250,2.280,2.300,1.000,0.704,1.350,0.949,0.834,0.543,0.812,
+1.130,0.104,0.605,1.030,1.550,1.040,1.120,2.380,1.580,1.090,
+0.705,1.170,1.200,1.070,0.826,1.050,1.320,0.104,1.030,1.640,
+1.170,1.320,1.210,1.850,1.340,1.250,0.880,1.390,0.099,0.107,
+0.072,0.133,1.370,0.117,1.130,1.680,1.250,1.800,1.760,2.130,
+2.150,0.944,0.860,1.910,1.490,1.120,1.200,1.660,1.890,0.126,
+1.520,2.360,2.230,1.830,2.140,3.490,4.810,2.130,1.760,3.720,
+1.880,1.120,1.030,1.510,1.840,0.189,0.778,1.440,3.040,2.740,
+1.290,2.720,1.980,1.050,0.794,1.160,1.210,0.678,0.648,0.711,
+0.993,0.072,0.525,0.740,0.935,0.891,0.709,1.060,1.390,0.952,
+0.741,1.460,0.135,0.090,0.069,0.174,0.812,0.061,0.359,0.732,
+0.861,0.850,0.633,1.080,2.950,1.110,0.993,2.350,2.160,1.030,
+0.913,1.630,1.110,0.087,0.612,1.140,1.840,1.140,1.080,2.720,
+2.290,1.070,0.893,1.390,1.190,0.855,0.716,0.923,0.832,0.098,
+0.397,0.825,0.901,1.060,0.472,1.050,1.290,0.783,0.478,0.742,
+0.764,0.473,0.426,0.488,0.632,0.055,0.327,0.540,0.547,0.530,
+0.404,0.634,0.967,0.679,0.474,0.732,0.086,0.053,0.042,0.072,
+0.600,0.049,0.290,0.528,0.477,0.546,0.362,0.602,1.510,0.668,
+0.517,0.956,1.480,0.725,0.592,0.921,0.781,0.055,0.430,0.680,
+0.755,0.643,0.600,1.360,1.420,0.754,0.598,1.100,0.979,0.622,
+0.596,0.916,0.881,0.101,0.404,0.761,1.050,0.832,0.793,1.700,
+0.106,0.077,0.049,0.084,0.077,0.070,0.053,0.078,0.068,0.011,
+0.044,0.077,0.115,0.126,0.083,0.163,0.633,0.517,0.397,0.572,
+0.055,0.041,0.036,0.064,0.430,0.041,0.238,0.386,0.413,0.466,
+0.377,0.632,0.793,0.473,0.419,0.839,0.847,0.561,0.506,0.852,
+0.691,0.072,0.421,0.788,0.686,0.692,0.647,1.570,2.210,0.905,
+0.855,1.930,0.921,0.563,0.594,0.881,1.050,0.102,0.464,0.924,
+1.600,1.060,1.010,2.470,1.430,0.916,0.631,1.020,0.906,0.733,
+0.557,0.735,0.762,0.063,0.482,0.844,0.969,0.904,0.710,1.330,
+0.820,0.661,0.565,0.838,0.071,0.047,0.044,0.082,0.587,0.043,
+0.364,0.575,0.685,0.723,0.636,0.966,1.680,0.815,0.775,1.610,
+0.954,0.629,0.612,0.973,1.210,0.083,0.725,1.290,1.790,1.370,
+1.490,4.190,2.400,1.320,0.944,1.810,1.080,0.811,0.649,0.827,
+0.854,0.082,0.388,0.746,1.070,1.040,0.637,1.330,1.400,0.830,
+0.671,0.828,0.823,0.520,0.506,0.602,0.633,0.051,0.398,0.586,
+0.527,0.601,0.453,0.730,0.677,0.574,0.411,0.649,0.067,0.058,
+0.041,0.076,0.376,0.037,0.256,0.361,0.386,0.480,0.369,0.611,
+0.906,0.504,0.424,0.822,0.773,0.510,0.404,0.673,0.471,0.041,
+0.279,0.469,0.646,0.469,0.543,1.270,1.540,1.090,0.624,0.909,
+0.892,0.828,0.467,0.588,0.579,0.065,0.281,0.605,0.567,0.690,
+0.343,0.872,0.954,0.792,0.381,0.545,0.626,0.336,0.372,0.452,
+0.444,0.045,0.292,0.507,0.372,0.494,0.355,0.645,0.684,0.631,
+0.397,0.557,0.058,0.051,0.034,0.053,0.471,0.061,0.238,0.373,
+0.346,0.533,0.324,0.530,0.683,0.446,0.342,0.591,0.623,0.485,
+0.348,0.530,0.481,0.040,0.290,0.449,0.533,0.459,0.378,0.907,
+0.970,0.622,0.382,0.689,0.728,0.596,0.457,0.604,0.575,0.063,
+0.297,0.498,0.607,0.564,0.479,0.929,0.058,0.069,0.038,0.061,
+0.051,0.065,0.047,0.058,0.050,0.012,0.042,0.062,0.057,0.076,
+0.051,0.080,0.560,0.647,0.452,0.537,0.050,0.057,0.033,0.053,
+0.337,0.036,0.214,0.335,0.314,0.448,0.342,0.477,0.529,0.381,
+0.316,0.680,0.570,0.574,0.408,0.810,0.476,0.041,0.333,0.591,
+0.430,0.434,0.442,0.905,0.927,0.513,0.398,0.737,0.523,0.349,
+0.312,0.423,0.457,0.038,0.229,0.426,0.629,0.449,0.395,0.985,
+0.770,0.612,0.425,0.664,0.539,0.526,0.436,0.561,0.414,0.036,
+0.339,0.542,0.524,0.569,0.433,0.778,0.500,0.390,0.381,0.554,
+0.035,0.038,0.023,0.046,0.401,0.039,0.231,0.370,0.413,0.511,
+0.389,0.626,0.730,0.407,0.542,0.796,0.564,0.412,0.361,0.595,
+0.627,0.042,0.415,0.719,0.780,0.761,0.804,1.650,1.800,1.170,
+0.716,1.410,0.764,0.573,0.404,0.629,0.744,0.077,0.329,0.639,
+0.883,0.869,0.492,1.090,1.520,1.080,0.524,0.919,0.855,0.600,
+0.543,0.623,0.998,0.098,0.436,0.772,0.813,1.240,0.520,0.961,
+0.927,1.180,0.503,0.875,0.101,0.118,0.055,0.128,0.420,0.049,
+0.220,0.356,0.442,0.651,0.355,0.622,1.390,1.060,0.603,1.310,
+1.070,0.954,0.578,0.978,0.676,0.068,0.412,0.695,0.994,0.718,
+0.737,1.930,0.120,0.105,0.055,0.105,0.091,0.085,0.044,0.068,
+0.063,0.012,0.031,0.057,0.077,0.100,0.044,0.106,0.119,0.107,
+0.043,0.074,0.094,0.081,0.051,0.062,0.091,0.014,0.048,0.070,
+0.080,0.131,0.051,0.098,0.075,0.106,0.049,0.081,8.77e-3,0.011,
+8.36e-3,0.010,0.055,9.86e-3,0.033,0.044,0.053,0.079,0.044,0.074,
+0.155,0.130,0.067,0.155,0.167,0.153,0.089,0.148,0.071,8.77e-3,
+0.052,0.094,0.120,0.103,0.084,0.206,1.020,0.625,0.400,0.556,
+0.861,0.716,0.440,0.531,0.661,0.107,0.432,0.621,0.712,0.767,
+0.506,0.939,0.085,0.071,0.038,0.055,0.067,0.074,0.047,0.047,
+0.062,0.015,0.054,0.059,0.084,0.117,0.058,0.089,0.562,0.712,
+0.422,0.475,0.061,0.065,0.051,0.056,0.425,0.056,0.205,0.300,
+0.379,0.486,0.345,0.471,0.661,0.446,0.393,0.557,0.666,0.654,
+0.498,0.665,0.559,0.069,0.518,0.705,0.563,0.575,0.569,1.040,
+1.070,0.599,0.405,0.775,0.592,0.440,0.308,0.414,0.596,0.063,
+0.318,0.614,0.852,0.694,0.472,1.220,1.120,0.848,0.464,0.803,
+0.721,0.663,0.457,0.596,0.719,0.068,0.486,0.739,0.880,0.915,
+0.564,1.040,0.752,0.851,0.430,0.704,0.066,0.122,0.038,0.067,
+0.536,0.056,0.335,0.517,0.566,0.749,0.507,0.826,1.350,0.667,
+0.571,0.941,0.770,0.758,0.536,0.739,0.869,0.075,0.690,1.040,
+1.170,0.943,0.963,1.940,2.650,1.280,0.907,1.980,0.938,0.595,
+0.501,0.664,1.000,0.070,0.390,0.729,1.380,0.912,0.709,1.740,
+1.240,0.621,0.402,0.781,0.668,0.356,0.333,0.516,1.040,0.048,
+0.347,0.591,0.688,0.547,0.433,0.834,0.959,0.759,0.466,0.973,
+0.070,0.061,0.045,0.110,0.550,0.045,0.283,0.511,0.582,0.586,
+0.416,0.884,1.790,0.884,0.789,2.120,0.962,0.626,0.592,1.100,
+0.840,0.057,0.529,0.936,1.360,0.837,0.924,2.600,1.500,0.915,
+0.540,1.060,0.869,0.680,0.411,0.591,0.700,0.065,0.303,0.572,
+0.702,0.734,0.457,1.020,0.939,0.703,0.310,0.541,0.706,0.504,
+0.327,0.468,0.658,0.048,0.308,0.531,0.540,0.571,0.328,0.672,
+0.834,0.783,0.351,0.689,0.054,0.055,0.031,0.064,0.553,0.045,
+0.279,0.475,0.555,0.617,0.376,0.748,1.150,0.629,0.474,1.040,
+0.944,0.686,0.546,1.010,0.653,0.051,0.464,0.784,0.954,0.782,
+0.690,1.560,1.190,0.647,0.458,0.820,0.901,0.603,0.524,0.770,
+0.826,0.090,0.476,0.786,0.740,0.650,0.675,1.270,0.073,0.058,
+0.038,0.074,0.058,0.052,0.045,0.058,0.061,7.77e-3,0.045,0.070,
+0.070,0.088,0.072,0.111,0.632,0.589,0.430,0.618,0.046,0.038,
+0.058,0.059,0.675,0.051,0.366,0.477,0.507,0.572,0.527,0.737,
+0.847,0.504,0.514,0.910,0.860,0.635,0.633,0.988,0.983,0.072,
+0.657,1.050,0.836,0.729,0.857,1.730,2.160,0.983,0.867,1.760,
+0.936,0.640,0.538,0.819,1.070,0.097,0.577,1.080,1.530,1.070,
+1.060,2.990,1.230,0.803,0.539,1.110,0.738,0.593,0.548,0.928,
+0.791,0.064,0.592,0.949,0.988,1.000,0.758,1.740,1.190,0.999,
+0.712,1.290,0.077,0.072,0.048,0.108,0.924,0.064,0.581,0.937,
+1.080,1.090,0.906,1.520,2.630,1.120,1.140,2.610,1.500,1.150,
+1.060,1.780,1.920,0.111,1.350,2.450,3.440,2.300,2.480,4.880,
+2.460,1.550,1.340,2.450,1.580,0.939,0.882,1.150,1.100,0.128,
+0.678,1.050,1.690,1.700,1.080,1.910,1.630,1.070,0.778,1.150,
+1.120,0.685,0.651,0.728,0.780,0.082,0.649,0.767,0.729,0.852,
+0.795,0.988,1.040,0.727,0.547,0.945,0.103,0.066,0.063,0.117,
+0.874,0.059,0.346,0.564,0.804,0.710,0.598,0.858,1.770,1.080,
+0.611,1.320,1.710,0.860,0.686,0.973,0.797,0.076,0.580,0.932,
+1.230,1.120,0.933,1.980,1.940,1.230,0.851,1.220,1.160,0.901,
+0.574,0.783,0.835,0.147,0.516,0.678,0.764,0.975,0.553,1.030,
+1.300,0.907,0.560,0.811,0.960,0.762,0.554,0.684,0.827,0.117,
+0.501,0.880,0.530,0.741,0.502,0.787,0.706,0.635,0.461,0.715,
+0.065,0.068,0.051,0.074,0.587,0.080,0.400,0.512,0.423,0.689,
+0.452,0.636,0.818,0.633,0.370,0.647,0.944,0.657,0.491,0.741,
+0.637,0.059,0.413,0.630,0.613,0.706,0.617,1.280,1.090,0.662,
+0.422,0.735,0.909,0.582,0.522,0.724,0.683,0.085,0.349,0.571,
+0.678,0.630,0.546,1.150,0.079,0.074,0.038,0.077,0.073,0.076,
+0.062,0.075,0.055,0.011,0.045,0.071,0.069,0.105,0.073,0.120,
+0.495,0.473,0.351,0.460,0.056,0.041,0.036,0.062,0.382,0.039,
+0.245,0.390,0.338,0.463,0.411,0.613,0.535,0.371,0.303,0.571,
+0.755,0.531,0.430,0.681,0.595,0.050,0.393,0.671,0.580,0.586,
+0.644,1.360,1.320,0.585,0.460,0.985,0.676,0.440,0.376,0.660,
+0.609,0.075,0.306,0.563,0.830,0.665,0.512,1.330,1.100,0.811,
+0.517,0.849,0.895,0.783,0.567,0.729,0.554,0.061,0.429,0.749,
+0.620,0.751,0.565,1.060,0.566,0.455,0.378,0.594,0.048,0.040,
+0.032,0.066,0.425,0.041,0.280,0.456,0.448,0.593,0.544,0.805,
+0.920,0.520,0.458,0.982,0.774,0.535,0.436,0.845,0.765,0.062,
+0.642,1.010,1.130,1.020,1.140,2.890,1.950,1.320,0.935,1.470,
+1.260,0.993,0.675,0.888,0.751,0.084,0.390,0.656,0.867,0.942,
+0.591,1.160,1.550,1.180,0.899,0.918,1.260,0.968,0.757,0.974,
+0.676,0.102,0.543,0.698,0.585,1.210,0.584,0.818,0.610,0.627,
+0.424,0.621,0.062,0.073,0.052,0.080,0.364,0.043,0.265,0.340,
+0.346,0.470,0.360,0.635,0.725,0.427,0.350,0.766,0.743,0.669,
+0.416,0.627,0.468,0.043,0.317,0.470,0.664,0.512,0.549,1.210,
+1.540,1.330,0.563,0.842,1.190,1.430,0.580,0.728,0.630,0.081,
+0.350,0.574,0.543,0.734,0.370,0.964,1.450,1.440,0.703,0.747,
+1.480,1.030,0.818,1.050,0.757,0.151,0.507,0.679,0.522,1.030,
+0.520,0.775,0.600,0.794,0.440,0.599,0.072,0.127,0.065,0.083,
+0.495,0.096,0.362,0.513,0.315,0.717,0.427,0.623,0.609,0.504,
+0.360,0.514,0.682,0.883,0.469,0.609,0.507,0.057,0.347,0.535,
+0.465,0.575,0.435,1.040,1.170,0.918,0.415,0.662,0.996,1.070,
+0.632,0.702,0.641,0.090,0.384,0.521,0.601,0.723,0.552,0.964,
+0.082,0.130,0.051,0.076,0.091,0.171,0.102,0.082,0.061,0.030,
+0.073,0.074,0.055,0.137,0.073,0.093,0.681,1.030,0.511,0.700,
+0.071,0.114,0.074,0.090,0.441,0.068,0.363,0.472,0.333,0.694,
+0.667,0.668,0.549,0.393,0.344,0.579,0.790,0.840,0.677,0.867,
+0.561,0.054,0.486,0.681,0.544,0.585,0.772,1.140,0.912,0.574,
+0.378,0.653,0.649,0.545,0.354,0.455,0.422,0.042,0.276,0.382,
+0.570,0.484,0.398,0.830,0.941,1.060,0.529,0.755,0.873,1.270,
+0.658,0.848,0.551,0.074,0.496,0.684,0.496,0.828,0.551,0.834,
+0.634,0.678,0.441,0.570,0.046,0.060,0.038,0.056,0.374,0.043,
+0.329,0.457,0.395,0.606,0.723,0.852,0.776,0.453,0.396,0.695,
+0.776,0.794,0.448,0.726,0.629,0.056,0.603,0.799,0.915,0.906,
+0.937,1.730,1.320,0.914,0.613,1.100,0.683,0.563,0.376,0.545,
+0.629,0.072,0.292,0.478,0.743,0.968,0.494,0.975,1.180,1.030,
+0.499,0.750,0.852,0.853,0.521,0.591,0.821,0.250,0.539,0.700,
+0.875,3.260,0.608,0.901,0.794,0.795,0.435,0.638,0.077,0.079,
+0.068,0.119,0.429,0.056,0.256,0.350,0.332,0.648,0.371,0.529,
+0.763,0.536,0.360,0.787,0.657,0.554,0.459,0.739,0.535,0.057,
+0.405,0.646,0.722,0.717,0.654,1.590,0.074,0.067,0.042,0.059,
+0.056,0.078,0.037,0.050,0.046,0.011,0.027,0.036,0.049,0.092,
+0.045,0.074,0.077,0.089,0.037,0.046,0.119,0.209,0.065,0.075,
+0.073,0.039,0.053,0.067,0.076,0.351,0.053,0.076,0.050,0.070,
+0.042,0.044,0.014,0.018,0.018,0.013,0.067,0.019,0.036,0.042,
+0.033,0.076,0.057,0.053,0.060,0.054,0.030,0.063,0.096,0.089,
+0.070,0.098,0.049,0.010,0.042,0.073,0.056,0.076,0.060,0.128,
+1.010,0.814,0.429,0.553,0.872,1.310,0.535,0.616,0.732,0.125,
+0.418,0.609,0.598,0.873,0.595,0.987,0.075,0.101,0.043,0.057,
+0.070,0.126,0.080,0.056,0.069,0.024,0.073,0.086,0.071,0.226,
+0.076,0.101,0.677,1.530,0.469,0.531,0.064,0.112,0.081,0.075,
+0.530,0.085,0.284,0.429,0.345,0.664,0.454,0.568,0.588,0.565,
+0.382,0.503,0.707,0.811,0.589,0.791,0.685,0.087,0.571,0.818,
+0.557,0.688,0.680,1.200,0.942,0.662,0.374,0.716,0.521,0.518,
+0.273,0.419,0.571,0.071,0.313,0.571,0.785,0.794,0.426,1.120,
+1.150,0.986,0.498,0.750,0.915,1.030,0.640,0.714,0.891,0.111,
+0.680,1.100,0.786,1.320,0.683,1.350,0.772,0.882,0.521,0.686,
+0.060,0.075,0.050,0.067,0.589,0.071,0.427,0.631,0.562,0.954,
+0.592,0.865,0.984,0.591,0.453,0.888,0.776,0.610,0.471,0.722,
+0.879,0.077,0.805,1.220,1.250,1.110,1.090,2.040,1.550,0.882,
+0.624,1.260,0.812,0.585,0.442,0.630,0.752,0.065,0.324,0.582,
+0.893,0.702,0.530,1.140,0.994,0.699,0.351,0.640,0.679,0.474,
+0.360,0.519,0.622,0.070,0.341,0.535,0.524,0.786,0.375,0.718,
+0.820,0.696,0.424,0.831,0.058,0.049,0.040,0.102,0.548,0.044,
+0.264,0.449,0.510,0.487,0.347,0.697,1.020,0.553,0.474,1.110,
+0.654,0.453,0.430,0.899,0.632,0.050,0.421,0.786,1.030,0.630,
+0.698,1.900,1.310,0.981,0.508,0.983,0.986,1.050,0.564,0.620,
+0.790,0.076,0.386,0.607,0.765,0.851,0.471,0.989,0.948,0.847,
+0.329,0.547,1.100,1.180,0.459,0.675,0.713,0.126,0.428,0.681,
+0.612,1.060,0.425,0.846,0.819,0.758,0.422,0.597,0.072,0.080,
+0.060,0.085,0.597,0.069,0.345,0.575,0.494,0.689,0.421,0.740,
+0.784,0.526,0.379,0.760,0.848,0.765,0.593,1.200,0.609,0.059,
+0.517,0.937,0.791,0.788,0.722,1.640,0.958,0.617,0.411,0.635,
+0.822,0.775,0.513,0.701,0.851,0.106,0.485,0.755,0.711,0.778,
+0.661,1.280,0.068,0.064,0.030,0.055,0.052,0.092,0.050,0.058,
+0.051,0.012,0.048,0.062,0.067,0.105,0.069,0.154,0.585,0.705,
+0.391,0.559,0.048,0.055,0.044,0.068,0.737,0.087,0.393,0.616,
+0.460,0.702,0.526,0.750,0.621,0.444,0.406,0.669,0.705,0.641,
+0.582,0.946,0.783,0.077,0.592,1.000,0.786,0.737,0.877,1.570,
+1.480,0.752,0.579,1.060,0.713,0.602,0.410,0.578,0.792,0.094,
+0.441,0.785,1.040,0.829,0.614,1.780,1.180,0.957,0.474,0.834,
+0.815,0.816,0.582,0.769,0.709,0.069,0.533,1.100,0.787,0.982,
+0.593,4.240,1.070,0.882,0.559,0.963,0.066,0.063,0.044,0.093,
+0.769,0.068,0.584,0.808,0.792,0.945,0.789,1.250,1.940,0.805,
+0.775,1.620,1.080,0.914,0.819,1.550,1.340,0.098,1.210,1.860,
+2.560,2.010,1.950,3.690,1.770,1.150,1.110,1.910,1.320,0.870,
+0.758,1.160,1.020,0.123,0.624,0.892,1.450,1.270,1.360,1.640,
+1.370,0.953,1.990,1.140,0.980,0.742,0.800,0.845,0.778,0.219,
+0.573,0.618,0.670,0.859,0.915,1.030,0.964,0.711,0.585,1.270,
+0.076,0.058,0.055,0.135,0.552,0.051,0.350,0.597,0.479,0.587,
+0.689,0.922,1.410,0.574,0.510,1.110,0.856,0.520,0.509,0.867,
+0.586,0.050,0.396,0.681,0.849,0.536,0.865,1.560,1.950,1.100,
+0.675,1.200,1.480,0.961,0.739,0.903,0.715,0.088,0.434,0.650,
+0.801,0.839,0.602,1.150,1.320,1.050,0.619,0.779,1.130,0.728,
+0.675,0.781,0.740,0.094,0.596,0.846,0.560,0.689,0.584,0.846,
+0.975,0.863,0.573,0.912,0.093,0.100,0.070,0.120,0.807,0.092,
+0.525,0.839,0.580,0.860,0.750,0.957,1.020,0.632,0.457,0.751,
+1.080,0.884,0.624,1.010,0.690,0.068,0.506,0.826,0.779,0.693,
+0.848,1.670,1.260,0.663,0.543,1.040,1.290,0.847,1.010,1.060,
+1.200,0.148,0.556,0.756,0.934,0.941,0.722,1.330,0.125,0.100,
+0.095,0.108,0.132,0.108,0.125,0.129,0.115,0.023,0.147,0.123,
+0.123,0.211,0.138,0.190,0.762,0.626,0.487,0.659,0.085,0.064,
+0.100,0.105,0.580,0.076,0.329,0.496,0.432,0.705,0.527,0.758,
+0.649,0.383,0.412,0.672,1.080,0.721,1.300,1.090,0.783,0.080,
+0.504,0.857,0.787,0.722,0.726,1.330,1.380,0.619,0.568,1.130,
+0.837,0.477,0.737,0.727,0.739,0.078,0.394,0.614,1.030,0.803,
+0.784,1.420,1.150,0.817,0.593,0.825,0.960,0.643,0.679,0.806,
+0.738,0.076,0.638,0.826,0.841,0.962,0.976,1.190,1.070,0.998,
+0.652,0.921,0.090,0.073,0.083,0.112,0.857,0.080,0.481,0.757,
+0.668,0.942,0.905,1.190,1.250,0.690,0.645,1.290,0.944,0.595,
+0.931,1.160,1.570,0.118,0.888,1.440,1.650,1.410,1.530,3.080,
+0.106,0.082,0.155,0.105,0.088,0.072,0.066,0.074,0.068,0.012,
+0.074,0.067,0.066,0.085,0.096,0.098,0.175,0.139,1.100,0.227,
+0.104,0.102,0.195,0.107,0.062,0.014,0.097,0.065,0.048,0.076,
+0.105,0.092,0.054,0.058,0.083,0.072,9.44e-3,8.77e-3,9.69e-3,0.012,
+0.039,7.02e-3,0.032,0.048,0.030,0.047,0.049,0.069,0.076,0.049,
+0.060,0.074,0.071,0.057,0.051,0.071,0.042,5.18e-3,0.037,0.062,
+0.059,0.048,0.071,0.130,0.104,0.082,0.039,0.069,0.091,0.096,
+0.057,0.073,0.044,0.010,0.030,0.045,0.042,0.060,0.038,0.075,
+0.111,0.114,0.095,0.066,0.118,0.113,0.098,0.095,0.062,0.024,
+0.062,0.077,0.043,0.080,0.058,0.076,0.064,0.079,0.045,0.063,
+0.011,0.022,0.015,0.014,0.075,0.025,0.057,0.071,0.047,0.093,
+0.073,0.075,0.067,0.049,0.036,0.055,0.079,0.091,0.057,0.083,
+0.053,9.19e-3,0.047,0.062,0.049,0.055,0.064,0.146,0.077,0.043,
+0.040,0.053,0.079,0.076,0.072,0.066,0.071,0.012,0.055,0.052,
+0.048,0.061,0.050,0.085,9.19e-3,0.012,0.028,0.010,0.017,0.024,
+0.025,0.019,0.010,0.011,0.029,0.020,6.94e-3,0.018,0.015,0.015,
+0.058,0.062,0.049,0.063,0.013,0.017,0.019,0.015,0.057,0.017,
+0.047,0.055,0.036,0.081,0.059,0.071,0.049,0.034,0.033,0.055,
+0.093,0.083,0.107,0.088,0.063,0.013,0.060,0.083,0.059,0.080,
+0.067,0.118,0.091,0.064,0.057,0.101,0.069,0.055,0.055,0.068,
+0.059,7.35e-3,0.035,0.050,0.073,0.070,0.073,0.128,0.111,0.086,
+0.098,0.105,0.119,0.109,0.100,0.167,0.081,0.014,0.095,0.093,
+0.087,0.147,0.119,0.143,0.071,0.072,0.052,0.074,9.44e-3,0.011,
+8.86e-3,0.012,0.059,0.011,0.055,0.068,0.050,0.088,0.090,0.106,
+0.083,0.060,0.063,0.111,0.085,0.073,0.074,0.114,0.113,0.019,
+0.101,0.144,0.117,0.162,0.134,0.292,1.440,0.974,0.660,1.120,
+0.940,0.662,0.536,0.772,0.705,0.080,0.474,0.628,0.706,0.595,
+0.466,0.824,1.460,1.050,0.872,0.896,1.350,0.900,1.120,0.957,
+0.907,0.117,0.869,1.170,0.571,0.839,0.626,1.000,0.775,0.944,
+0.514,1.050,0.105,0.127,0.091,0.222,0.601,0.086,0.510,0.694,
+0.418,0.801,0.542,0.818,0.778,0.530,0.369,0.865,0.840,0.718,
+0.559,1.030,0.766,0.085,0.695,0.863,0.736,0.761,0.858,1.710,
+0.092,0.086,0.042,0.071,0.093,0.105,0.061,0.087,0.051,0.015,
+0.040,0.052,0.054,0.065,0.045,0.077,0.116,0.123,0.053,0.066,
+0.133,0.126,0.109,0.130,0.069,0.024,0.086,0.096,0.044,0.082,
+0.052,0.079,0.064,0.103,0.049,0.089,0.015,0.031,0.023,0.022,
+0.071,0.029,0.092,0.098,0.041,0.094,0.079,0.074,0.084,0.069,
+0.038,0.082,0.131,0.134,0.080,0.133,0.074,0.014,0.069,0.106,
+0.064,0.103,0.092,0.168,1.240,0.870,0.644,0.666,1.130,1.180,
+1.010,0.849,0.937,0.161,0.811,0.912,0.745,0.870,0.777,1.030,
+0.100,0.129,0.072,0.076,0.125,0.180,0.154,0.095,0.110,0.039,
+0.160,0.144,0.086,0.158,0.101,0.112,0.940,1.000,0.649,0.702,
+0.125,0.135,0.129,0.110,0.812,0.115,0.288,0.500,0.449,0.684,
+0.669,0.737,0.659,0.474,0.377,0.501,0.994,0.988,0.790,0.871,
+0.791,0.107,0.868,1.060,0.633,0.785,0.954,1.320,1.020,0.645,
+0.622,0.835,0.727,0.566,0.431,0.496,0.576,0.069,0.478,0.615,
+0.606,0.555,0.469,0.936,1.170,1.040,0.660,0.826,1.240,1.180,
+1.030,0.879,0.911,0.133,1.060,1.130,0.698,0.986,0.765,1.050,
+1.170,1.040,0.707,1.020,0.097,0.129,0.088,0.129,0.911,0.112,
+0.865,1.130,0.647,1.100,0.915,1.170,0.970,0.635,0.528,1.050,
+0.905,0.853,0.728,1.000,1.110,0.110,1.160,1.720,1.110,1.130,
+1.270,2.100,1.870,0.900,0.663,1.300,0.998,0.611,0.632,0.851,
+0.785,0.081,0.469,0.643,0.914,0.744,0.566,1.220,1.440,0.848,
+0.600,0.900,0.906,0.598,0.691,0.764,0.613,0.052,0.547,0.698,
+0.522,0.588,0.543,0.873,0.803,0.682,0.393,0.825,0.072,0.058,
+0.047,0.124,0.687,0.053,0.394,0.655,0.477,0.620,0.512,1.010,
+1.140,0.627,0.449,1.030,0.827,0.547,0.482,0.872,0.796,0.064,
+0.476,0.735,0.960,0.735,0.792,2.090,1.850,1.180,0.653,1.210,
+1.370,1.040,0.811,0.983,0.812,0.091,0.563,0.769,0.801,0.927,
+0.524,1.210,1.770,1.560,0.592,0.908,1.400,1.080,0.903,1.020,
+0.769,0.089,0.839,0.992,0.555,0.810,0.567,0.958,0.981,1.220,
+0.576,1.040,0.095,0.128,0.076,0.129,1.030,0.122,0.758,1.140,
+0.673,1.070,0.845,1.300,1.170,0.923,0.513,1.090,1.360,1.150,
+0.878,1.410,1.020,0.135,0.822,1.280,0.961,1.060,1.030,2.320,
+1.950,0.980,0.809,1.070,1.310,1.130,1.040,1.140,1.300,0.238,
+0.897,1.990,0.929,1.250,1.040,1.920,0.168,0.104,0.059,0.095,
+0.106,0.131,0.115,0.115,0.093,0.025,0.103,0.177,0.084,0.186,
+0.097,0.161,1.170,1.300,0.721,1.150,0.098,0.100,0.084,0.133,
+0.978,0.137,0.661,1.060,0.614,1.090,0.831,1.260,1.040,0.775,
+0.582,0.952,1.390,1.150,1.090,1.430,1.060,0.115,1.020,1.680,
+0.938,1.030,1.250,2.050,1.750,0.824,0.804,1.290,0.978,0.649,
+0.618,0.727,0.917,0.120,0.641,0.975,1.030,0.820,0.761,1.590,
+1.280,0.833,0.625,0.972,1.080,0.843,0.920,0.971,0.771,0.088,
+0.842,1.220,0.719,0.896,0.856,1.390,1.290,1.260,0.798,1.370,
+0.099,0.108,0.066,0.146,1.190,0.112,1.020,1.630,0.899,1.210,
+1.160,1.540,1.700,0.916,0.888,2.110,1.550,1.130,1.160,1.720,
+1.530,0.123,1.470,2.420,1.840,1.670,1.890,3.590,5.380,2.090,
+1.630,3.630,1.710,0.983,0.854,1.370,1.410,0.123,0.610,1.110,
+2.330,1.840,1.210,2.460,1.880,0.947,0.804,1.090,1.040,0.571,
+0.539,0.711,0.813,0.067,0.585,0.652,0.901,0.831,0.789,1.250,
+1.260,0.818,0.623,1.320,0.093,0.074,0.052,0.155,0.725,0.060,
+0.365,0.703,0.634,0.842,0.696,1.470,2.030,0.957,0.757,1.870,
+1.320,0.859,0.692,1.300,0.990,0.089,0.660,1.050,1.690,1.400,
+1.270,3.210,2.230,1.070,0.679,1.340,1.220,0.753,0.510,0.754,
+0.740,0.068,0.328,0.622,0.965,0.798,0.480,1.120,1.250,0.748,
+0.429,0.786,0.892,0.574,0.431,0.611,0.578,0.047,0.322,0.530,
+0.580,0.531,0.455,0.771,0.919,0.671,0.537,0.802,0.066,0.053,
+0.047,0.078,0.628,0.054,0.315,0.544,0.554,0.669,0.660,0.947,
+0.944,0.618,0.386,0.766,0.794,0.608,0.456,0.753,0.600,0.043,
+0.370,0.742,0.775,0.660,0.672,1.780,1.940,0.821,0.655,1.230,
+1.320,0.692,0.703,1.140,1.030,0.104,0.434,0.805,1.340,1.020,
+0.706,1.990,0.127,0.075,0.048,0.097,0.096,0.066,0.060,0.100,
+0.072,9.78e-3,0.045,0.077,0.142,0.146,0.074,0.170,0.847,0.647,
+0.466,0.760,0.077,0.050,0.053,0.092,0.657,0.051,0.292,0.518,
+0.647,0.704,0.562,0.968,0.968,0.514,0.466,0.947,1.160,0.633,
+0.694,1.030,0.869,0.064,0.472,0.956,1.140,0.910,0.914,1.950,
+2.670,1.110,0.892,2.090,1.210,0.666,0.830,1.180,1.190,0.104,
+0.587,1.040,2.260,1.400,1.050,2.660,1.540,0.879,0.654,1.080,
+0.974,0.650,0.666,0.912,0.935,0.070,0.593,0.925,1.420,1.400,
+0.912,1.730,1.220,1.050,0.719,1.220,0.097,0.068,0.065,0.115,
+1.240,0.083,0.514,0.940,0.983,1.170,0.973,1.710,2.210,1.100,
+1.080,2.330,1.680,0.903,1.090,1.620,1.970,0.132,1.100,1.980,
+3.080,2.470,2.660,5.720,2.880,1.490,1.120,2.210,1.460,1.010,
+0.740,1.080,1.010,0.106,0.741,0.949,1.360,1.310,1.090,1.830,
+2.190,1.170,2.080,1.440,1.250,0.846,0.973,0.998,0.795,0.077,
+0.866,0.816,0.713,0.794,0.803,1.290,0.862,0.743,0.516,0.882,
+0.072,0.068,0.048,0.104,0.557,0.055,0.377,0.635,0.619,0.646,
+0.643,1.240,1.120,0.705,0.503,1.070,1.020,0.697,0.508,0.921,
+0.676,0.059,0.436,0.769,0.986,0.772,0.856,2.120,2.490,1.400,
+0.680,1.310,1.530,1.260,0.658,0.927,0.800,0.078,0.364,0.672,
+0.881,0.928,0.605,1.260,1.710,1.220,0.626,1.040,1.610,1.220,
+0.855,1.240,0.842,0.093,0.485,0.834,0.662,0.854,0.618,1.130,
+0.968,1.050,0.505,0.852,0.089,0.105,0.051,0.092,0.841,0.111,
+0.420,0.701,0.662,1.070,0.782,1.230,0.863,0.689,0.408,0.755,
+0.959,0.928,0.548,0.950,0.671,0.060,0.386,0.740,0.799,0.839,
+0.782,2.390,1.780,0.838,0.598,1.000,1.300,0.903,0.742,0.993,
+0.966,0.114,0.458,0.683,1.050,0.961,0.694,1.760,0.086,0.076,
+0.070,0.081,0.089,0.110,0.077,0.096,0.070,0.019,0.070,0.074,
+0.093,0.154,0.086,0.136,1.110,0.874,0.556,0.891,0.106,0.083,
+0.078,0.102,0.731,0.075,0.407,0.643,0.636,0.970,0.717,1.210,
+1.210,0.651,0.547,0.952,1.680,0.927,1.070,1.220,0.983,0.081,
+0.621,1.070,1.110,1.120,1.100,2.490,1.670,0.810,0.690,1.290,
+0.907,0.596,0.563,0.784,0.807,0.074,0.485,0.711,1.250,1.010,
+0.769,1.870,1.370,0.941,0.696,1.080,1.080,0.901,0.819,1.110,
+0.895,0.106,0.672,0.951,1.330,2.110,1.160,1.800,1.110,0.879,
+0.640,1.050,0.094,0.064,0.052,0.100,0.745,0.073,0.617,0.867,
+0.779,1.070,0.921,1.590,1.410,0.798,1.060,1.490,1.540,0.890,
+0.780,1.460,1.290,0.128,0.922,1.530,2.240,4.010,2.050,5.930,
+3.030,1.650,1.150,1.980,1.290,0.942,0.733,1.080,1.300,0.106,
+0.543,0.945,1.250,0.985,0.715,1.480,2.050,1.450,0.845,1.450,
+1.390,1.050,0.874,1.090,1.130,0.117,0.805,1.210,1.030,1.390,
+0.913,1.930,1.200,1.300,0.680,1.340,0.115,0.137,0.097,0.199,
+1.170,0.166,0.528,0.849,0.802,1.350,1.160,1.610,1.510,0.943,
+0.674,1.510,1.170,1.070,0.741,1.330,1.170,0.106,0.822,1.340,
+1.440,1.220,1.490,3.230,0.141,0.112,0.151,0.113,0.097,0.100,
+0.060,0.092,0.077,9.53e-3,0.041,0.060,0.083,0.093,0.062,0.136,
+0.108,0.103,0.050,0.083,0.120,0.140,0.070,0.099,0.083,0.017,
+0.066,0.092,0.077,0.115,0.076,0.140,0.061,0.081,0.046,0.073,
+9.02e-3,0.013,0.015,0.013,0.129,0.020,0.065,0.081,0.065,0.133,
+0.316,0.165,0.101,0.086,0.049,0.122,0.113,0.133,0.076,0.135,
+0.087,0.011,0.058,0.102,0.112,0.115,0.144,0.335,2.540,1.330,
+1.020,1.280,1.630,1.520,1.160,1.440,1.300,0.209,0.849,1.230,
+1.270,1.460,1.040,2.070,0.132,0.120,0.067,0.091,0.124,0.128,
+0.092,0.099,0.103,0.025,0.092,0.114,0.127,0.185,0.105,0.181,
+1.430,1.510,0.845,1.230,0.148,0.151,0.110,0.148,1.580,0.152,
+0.701,1.040,0.898,1.320,1.050,1.450,1.430,0.970,0.682,1.150,
+1.870,1.490,1.070,1.470,2.260,0.181,1.320,1.850,1.620,1.530,
+1.750,2.840,2.300,1.240,0.902,1.720,1.200,0.919,0.698,1.030,
+1.220,0.119,0.807,1.300,1.430,1.320,0.883,2.120,2.030,1.590,
+0.941,1.640,1.560,1.380,1.080,1.260,1.460,0.143,1.270,1.810,
+1.520,2.000,1.360,2.480,1.810,1.750,1.090,1.760,0.120,0.145,
+0.092,0.163,1.750,0.149,1.220,1.760,1.460,2.040,1.700,2.410,
+2.100,1.180,1.010,1.890,1.450,1.240,1.000,1.590,2.300,0.158,
+1.780,2.700,2.450,2.320,2.490,4.550,6.640,2.360,1.600,3.750,
+1.970,1.160,1.350,1.750,1.570,0.135,0.714,1.530,2.310,1.700,
+1.220,3.640,2.300,1.350,0.771,1.470,1.300,0.920,0.719,1.180,
+1.040,0.076,0.631,1.110,1.100,0.949,0.873,1.840,1.750,1.430,
+0.798,2.110,0.118,0.113,0.078,0.225,1.050,0.089,0.553,1.140,
+1.090,1.220,1.000,2.270,2.980,1.620,1.200,2.960,1.720,1.320,
+0.983,2.140,1.590,0.116,0.919,1.940,2.730,1.990,2.240,6.330,
+3.230,1.690,1.070,1.870,1.860,1.300,0.819,1.320,1.370,0.105,
+0.626,1.140,1.660,1.280,0.791,2.460,1.950,1.500,0.649,1.190,
+1.340,1.630,0.598,1.110,1.140,0.094,0.776,1.190,1.190,1.160,
+0.790,1.910,1.520,1.280,0.659,1.470,0.087,0.111,0.057,0.132,
+1.320,0.111,0.702,1.410,1.130,1.520,1.410,2.510,1.810,1.330,
+0.757,1.780,1.530,1.430,0.875,1.890,1.330,0.111,0.823,1.780,
+1.840,1.810,1.890,7.570,3.280,1.810,1.240,1.900,2.070,1.440,
+1.280,1.970,1.790,0.199,0.994,1.780,1.940,1.760,1.510,3.500,
+0.152,0.140,0.065,0.119,0.111,0.108,0.091,0.132,0.094,0.014,
+0.103,0.129,0.159,0.166,0.124,0.288,1.990,1.820,1.100,1.960,
+0.127,0.118,0.089,0.186,1.880,0.161,1.200,1.640,1.550,1.930,
+1.680,2.920,2.530,1.770,1.220,2.230,2.320,1.740,1.510,2.770,
+2.600,0.175,1.760,2.960,2.680,2.170,2.910,5.760,6.540,2.150,
+1.610,3.670,1.650,1.060,1.000,1.610,1.730,0.151,0.960,1.800,
+2.870,2.070,1.780,5.170,2.440,1.980,0.981,1.640,1.470,0.857,
+1.000,1.630,1.560,0.113,1.240,1.960,2.220,2.010,1.700,5.190,
+2.460,2.000,1.480,2.560,0.119,0.112,0.076,0.213,2.140,0.140,
+1.520,2.570,2.360,2.560,2.550,4.660,4.380,1.360,1.140,2.770,
+1.850,1.520,1.140,3.060,1.970,0.126,1.940,3.050,3.120,2.740,
+3.740,9.200,18.0,4.930,4.090,6.880,4.940,2.220,1.810,2.690,
+5.530,0.378,1.940,2.580,6.990,3.240,1.930,4.510,5.660,2.550,
+1.870,2.620,2.660,1.320,1.250,1.380,2.870,0.178,1.340,1.880,
+2.690,1.710,1.330,2.510,7.470,3.060,2.200,3.420,0.425,0.237,
+0.188,0.433,2.620,0.205,1.300,1.860,2.540,2.260,1.440,2.330,
+7.640,2.740,2.770,5.630,3.770,2.090,1.890,3.780,4.200,0.231,
+1.640,2.500,7.420,2.360,2.120,4.020,7.790,3.400,1.860,3.230,
+3.050,1.720,1.300,1.530,2.990,0.225,1.120,1.620,2.430,1.860,
+1.160,2.120,3.810,1.810,1.120,1.580,1.810,0.988,0.834,0.852,
+2.060,0.138,0.963,1.280,1.310,1.130,0.730,1.160,3.810,2.440,
+1.570,2.120,0.236,0.147,0.109,0.177,2.050,0.165,0.991,1.470,
+1.500,1.760,1.060,1.610,2.670,1.480,1.030,1.870,1.980,1.220,
+1.050,1.460,2.010,0.117,0.983,1.410,2.050,1.330,1.220,2.290,
+10.4,2.440,2.270,3.240,3.300,1.550,1.870,2.030,3.020,0.277,
+1.280,2.170,2.510,1.830,1.730,3.060,0.481,0.243,0.159,0.255,
+0.247,0.168,0.148,0.170,0.234,0.027,0.151,0.237,0.318,0.319,
+0.219,0.362,3.070,2.200,1.630,1.900,0.207,0.137,0.147,0.215,
+1.950,0.167,1.270,1.500,1.430,1.580,1.250,1.520,2.440,1.280,
+1.220,2.170,2.460,1.520,1.440,1.990,2.300,0.169,1.410,1.900,
+2.110,1.450,1.500,2.440,8.240,2.770,2.340,5.150,2.800,1.380,
+1.620,1.980,3.390,0.310,1.600,2.560,4.720,2.940,2.540,5.360,
+4.420,2.360,1.670,2.630,2.510,1.480,1.440,1.700,2.460,0.172,
+1.580,2.670,2.980,2.680,2.080,3.430,3.330,2.130,1.680,2.440,
+0.244,0.144,0.131,0.217,2.120,0.133,1.270,1.810,1.890,1.970,
+1.750,2.120,4.500,2.230,1.790,3.840,2.370,1.370,1.260,2.090,
+3.190,0.181,1.620,2.560,3.750,2.310,2.300,4.060,7.160,3.610,
+2.600,4.340,3.310,2.180,1.600,2.010,2.640,0.234,1.060,2.130,
+2.600,2.120,1.280,2.570,3.760,2.200,1.420,2.070,2.100,1.340,
+1.200,1.370,1.740,0.151,1.020,1.710,1.310,1.140,0.780,1.580,
+2.620,2.170,1.550,2.320,0.238,0.214,0.151,0.268,1.480,0.142,
+0.895,1.350,1.160,1.460,0.979,1.960,2.490,1.160,1.180,2.010,
+2.230,1.510,1.150,1.690,1.830,0.134,0.719,1.280,1.740,1.110,
+1.120,2.800,4.790,2.580,1.360,2.300,2.560,1.620,1.050,1.190,
+1.950,0.172,0.711,1.210,1.560,1.310,0.795,1.500,2.630,1.590,
+0.995,1.330,1.500,0.714,0.888,0.781,1.410,0.140,0.778,1.220,
+0.903,0.906,0.597,0.888,2.070,2.190,1.150,1.660,0.169,0.209,
+0.129,0.154,1.500,0.190,0.963,1.270,0.887,1.490,0.896,1.380,
+1.420,0.919,0.627,1.040,1.420,1.150,0.798,0.925,1.370,0.100,
+0.589,0.981,0.973,0.892,0.644,1.430,3.410,2.200,1.160,2.110,
+2.150,1.670,1.460,1.530,1.840,0.206,0.872,1.640,1.340,1.250,
+1.020,1.890,0.205,0.340,0.103,0.160,0.142,0.209,0.155,0.119,
+0.133,0.030,0.119,0.276,0.117,0.176,0.109,0.181,1.950,2.060,
+1.370,1.570,0.167,0.185,0.140,0.178,1.540,0.170,0.940,1.340,
+1.080,1.520,1.120,1.430,1.340,0.998,0.865,1.290,1.650,1.470,
+1.180,1.470,1.330,0.115,0.857,1.340,1.050,0.925,1.160,1.710,
+2.790,1.390,0.980,1.780,1.530,0.927,0.866,0.970,1.380,0.121,
+0.671,1.330,1.560,1.180,0.877,1.870,2.230,1.840,1.030,1.600,
+1.300,1.190,0.995,1.120,1.200,0.159,1.030,3.640,1.050,1.420,
+0.918,1.890,1.830,1.530,1.460,1.740,0.134,0.114,0.092,0.139,
+1.350,0.111,0.886,1.450,1.050,1.250,1.190,1.520,1.900,1.070,
+0.963,1.580,1.380,1.000,0.816,1.240,1.530,0.100,0.942,1.700,
+1.690,1.380,1.520,2.360,8.150,1.820,5.790,3.340,1.740,1.110,
+1.110,1.280,2.130,0.166,1.040,1.500,1.950,1.400,0.936,1.750,
+3.120,1.410,1.140,1.460,1.460,0.881,0.903,0.943,1.770,0.150,
+1.030,1.280,1.220,1.150,0.638,1.160,2.310,1.980,2.120,2.250,
+0.219,0.235,0.170,0.319,1.530,0.235,0.770,1.230,1.220,1.770,
+0.895,1.690,2.010,1.030,1.220,2.030,1.490,1.220,1.000,1.500,
+1.720,0.176,1.000,1.530,1.900,1.300,1.510,3.610,0.364,0.203,
+0.185,0.228,0.194,0.162,0.102,0.126,0.169,0.022,0.087,0.126,
+0.151,0.162,0.109,0.176,0.260,0.166,0.115,0.126,0.174,0.135,
+0.104,0.097,0.161,0.025,0.119,0.127,0.123,0.149,0.076,0.118,
+0.192,0.210,0.147,0.171,0.022,0.036,0.023,0.027,0.181,0.037,
+0.120,0.189,0.126,0.240,0.114,0.182,0.244,0.154,0.121,0.223,
+0.254,0.257,0.172,0.248,0.206,0.025,0.157,0.199,0.220,0.173,
+0.187,0.363,2.730,1.220,0.967,1.220,1.370,1.060,0.892,0.912,
+1.760,0.185,0.851,1.200,2.340,1.040,0.790,1.220,0.215,0.144,
+0.069,0.102,0.096,0.109,0.079,0.073,0.134,0.021,0.084,0.114,
+0.191,0.151,0.084,0.122,1.530,1.690,1.150,1.140,0.124,0.146,
+0.113,0.126,1.320,0.150,0.524,0.896,0.756,1.130,0.753,0.932,
+1.090,0.871,0.761,0.878,1.200,1.030,1.280,1.160,1.310,0.124,
+0.821,1.090,0.831,0.831,0.919,1.330,2.220,1.110,0.813,1.440,
+1.180,0.653,0.533,0.660,1.240,0.109,0.799,1.090,1.790,1.080,
+0.786,1.620,2.320,1.370,0.846,1.260,1.340,1.100,0.777,0.822,
+1.400,0.130,0.923,1.580,1.380,1.380,0.954,1.620,1.620,1.530,
+1.020,1.510,0.146,0.145,0.090,0.162,1.480,0.194,0.994,2.440,
+1.100,1.450,1.040,1.810,1.520,0.863,0.843,1.100,1.210,0.969,
+0.788,1.030,1.580,0.133,1.060,1.760,1.710,1.310,1.420,2.460,
+6.470,2.580,2.610,5.410,2.200,1.350,1.250,1.770,2.310,0.189,
+1.190,2.020,3.460,2.110,1.600,3.840,2.730,1.210,1.010,1.550,
+1.370,0.646,0.686,0.898,1.480,0.103,0.957,1.300,1.380,1.040,
+0.752,1.490,2.570,1.880,1.370,2.600,0.216,0.179,0.127,0.324,
+1.750,0.181,0.755,1.380,1.730,1.840,0.991,2.260,3.390,1.500,
+1.650,4.020,2.020,1.260,1.220,2.390,2.210,0.168,1.690,2.350,
+3.420,2.100,2.240,6.910,4.290,2.170,1.500,2.790,2.470,1.580,
+1.030,1.430,2.040,0.149,1.090,1.630,1.850,1.570,1.110,2.030,
+3.290,1.450,1.170,1.530,1.770,0.932,0.773,0.880,1.680,0.126,
+1.230,1.370,1.350,1.270,0.758,1.290,2.340,1.750,1.150,1.950,
+0.148,0.129,0.088,0.175,1.880,0.169,1.210,1.650,1.570,2.140,
+1.120,2.200,2.400,1.220,1.110,2.220,1.890,1.390,1.090,1.830,
+2.030,0.123,1.800,1.870,2.230,1.600,1.720,3.280,2.750,1.430,
+1.030,1.870,1.670,1.160,0.978,1.410,1.760,0.182,0.911,1.440,
+1.570,1.270,1.010,1.850,0.181,0.134,0.089,0.149,0.112,0.102,
+0.086,0.097,0.119,0.013,0.093,0.153,0.146,0.146,0.094,0.167,
+1.790,1.610,1.010,1.480,0.116,0.095,0.074,0.133,1.710,0.131,
+0.757,1.210,1.210,1.590,0.999,1.480,1.600,0.981,0.900,1.460,
+1.580,1.110,1.120,1.560,1.970,0.129,1.070,1.640,1.460,1.210,
+1.190,2.070,4.090,1.600,1.350,2.680,1.750,0.976,1.070,1.290,
+1.760,0.149,1.070,1.660,2.750,1.690,1.510,3.400,1.950,1.120,
+0.787,1.390,1.250,0.786,0.720,0.878,1.260,0.083,0.893,1.610,
+1.670,1.340,1.020,1.870,2.460,1.850,1.290,2.190,0.144,0.108,
+0.075,0.165,1.890,0.120,1.100,2.030,1.960,1.980,1.490,2.400,
+3.180,1.540,1.490,3.050,1.920,1.430,1.120,1.890,2.600,0.120,
+1.650,2.610,3.700,2.210,2.300,3.640,5.930,2.950,2.470,4.000,
+3.210,1.870,1.560,1.850,2.660,0.242,1.110,1.950,3.280,2.410,
+1.460,2.370,2.950,1.980,1.310,1.550,1.870,1.200,1.250,1.140,
+1.720,0.157,1.080,1.510,1.220,1.200,0.982,1.460,2.110,1.800,
+1.150,1.490,0.208,0.149,0.119,0.190,1.150,0.118,0.809,0.970,
+1.010,1.180,1.120,1.370,2.140,1.200,0.936,1.850,1.820,1.280,
+0.962,1.490,1.320,0.134,0.836,1.210,1.560,1.060,1.190,2.130,
+4.030,2.100,1.240,2.140,2.570,1.600,1.050,1.250,1.600,0.176,
+0.831,1.150,1.240,1.380,0.935,1.350,2.240,1.440,0.825,1.240,
+1.410,0.788,0.771,0.747,1.300,0.155,0.832,1.110,0.803,1.040,
+0.619,0.843,1.950,1.550,0.802,0.990,0.445,0.135,0.098,0.121,
+1.260,0.139,0.739,0.921,0.796,1.240,0.955,1.000,1.140,0.800,
+0.468,0.804,1.680,1.010,0.572,0.850,1.060,0.088,0.676,0.975,
+0.916,0.895,1.080,1.590,2.030,1.270,0.772,1.440,1.840,1.230,
+1.010,1.230,1.410,0.163,0.671,1.070,1.000,0.908,0.686,1.300,
+0.165,0.179,0.098,0.131,0.153,0.166,0.132,0.130,0.124,0.023,
+0.121,0.159,0.108,0.164,0.100,0.155,1.240,2.600,0.905,1.150,
+0.116,0.132,0.092,0.160,1.010,0.146,1.100,1.760,0.642,0.923,
+0.808,1.040,0.949,0.807,0.510,0.795,1.250,1.030,0.771,1.180,
+1.050,0.140,1.370,1.550,0.854,0.862,0.924,1.340,2.300,0.949,
+0.782,1.620,1.060,0.605,0.545,0.740,1.200,0.130,0.554,0.870,
+1.190,0.911,0.726,1.550,1.850,1.310,0.890,1.210,1.330,0.969,
+1.200,1.030,0.982,0.103,0.787,1.120,0.886,1.040,0.848,1.220,
+1.500,1.240,0.975,1.150,0.126,0.095,0.139,0.157,0.871,0.094,
+0.700,0.997,0.751,1.110,0.800,0.977,1.340,0.812,0.605,1.220,
+1.040,0.650,0.605,0.882,1.220,0.095,0.853,1.300,1.500,1.200,
+1.230,2.180,3.450,2.290,1.710,2.610,2.360,1.930,1.380,1.450,
+1.530,0.179,0.706,1.480,1.400,1.520,0.841,1.620,2.370,1.810,
+1.120,1.310,1.660,1.340,1.250,1.140,1.270,0.155,0.917,1.430,
+0.705,0.908,0.670,1.090,1.380,1.570,1.080,1.240,0.139,0.165,
+0.127,0.164,0.856,0.115,0.672,0.813,0.649,0.978,0.773,1.180,
+1.160,0.708,0.596,1.100,1.230,1.090,0.874,1.040,0.827,0.081,
+0.545,0.845,0.881,0.713,0.748,1.460,2.140,1.680,0.894,1.200,
+1.580,1.420,0.796,0.869,1.060,0.135,0.556,0.760,0.698,0.911,
+0.537,0.810,1.370,1.130,0.626,0.751,0.836,0.322,0.600,0.527,
+0.875,0.143,0.631,0.892,0.459,0.767,0.457,0.597,1.120,1.560,
+0.751,0.908,0.138,0.171,0.096,0.117,0.917,0.156,0.614,0.831,
+0.574,1.220,0.831,0.931,0.696,0.583,0.382,0.565,0.905,0.971,
+0.527,0.654,0.858,0.081,0.525,0.704,0.547,0.662,0.534,0.901,
+1.650,1.440,0.698,1.060,1.760,1.980,1.190,1.080,1.190,0.193,
+0.635,0.962,0.751,0.928,0.626,1.060,0.131,0.197,0.079,0.106,
+0.166,0.466,0.197,0.114,0.102,0.042,0.105,0.116,0.065,0.161,
+0.082,0.093,1.100,1.670,1.090,1.000,0.156,0.193,0.142,0.141,
+1.080,0.159,0.773,1.110,0.560,1.170,0.882,1.030,0.725,0.643,
+0.633,0.709,1.280,1.450,1.230,1.160,0.998,0.116,0.728,1.050,
+0.717,0.844,0.835,1.190,1.300,0.855,0.586,0.986,0.921,0.730,
+0.474,0.552,0.747,0.082,0.390,0.614,0.718,0.668,0.464,0.911,
+1.290,1.130,0.759,0.991,0.994,1.370,0.914,0.825,0.693,0.107,
+0.661,1.000,0.528,0.801,0.580,0.820,1.200,1.220,1.590,1.280,
+0.095,0.103,0.100,0.108,0.675,0.081,0.646,0.788,0.539,0.857,
+0.890,0.985,1.010,0.617,0.550,0.876,0.931,0.719,0.582,0.758,
+0.943,0.079,0.511,0.919,0.891,0.887,0.929,1.510,2.260,1.430,
+1.160,1.610,1.310,0.947,0.868,0.882,1.040,0.117,0.553,0.798,
+0.974,1.060,0.875,1.300,1.900,1.520,0.750,1.060,1.230,0.969,
+0.804,0.821,1.200,0.148,0.901,1.090,0.701,0.980,0.627,0.955,
+1.040,1.470,0.878,1.150,0.129,0.183,0.115,0.192,0.856,0.139,
+0.514,0.793,0.648,1.240,0.644,1.140,0.885,0.649,0.537,1.020,
+0.941,1.030,0.622,0.936,0.937,0.106,0.629,0.945,0.853,0.783,
+0.939,1.820,0.152,0.123,0.066,0.098,0.151,0.147,0.087,0.096,
+0.088,0.016,0.067,0.078,0.073,0.103,0.201,0.247,0.122,0.126,
+0.079,0.103,0.143,0.141,0.106,0.095,0.114,0.038,0.113,0.121,
+0.062,0.102,0.063,0.081,0.094,0.177,0.076,0.087,0.025,0.057,
+0.028,0.023,0.114,0.041,0.095,0.113,0.065,0.150,0.108,0.122,
+0.089,0.078,0.048,0.089,0.185,0.266,0.096,0.139,0.103,0.017,
+0.108,0.110,0.078,0.097,0.109,0.160,1.320,1.180,0.569,0.777,
+1.240,1.280,0.899,0.855,1.190,0.200,0.790,0.900,0.722,0.915,
+0.651,0.939,0.106,0.148,0.073,0.070,0.097,0.144,0.114,0.077,
+0.105,0.035,0.110,0.101,0.070,0.122,0.073,0.082,0.801,1.530,
+0.708,0.739,0.105,0.184,0.105,0.116,1.070,0.208,0.541,0.846,
+0.517,1.150,0.711,0.838,0.569,0.554,0.383,0.550,0.869,1.250,
+0.781,1.010,1.170,0.160,0.855,0.983,0.559,0.769,0.764,0.986,
+1.010,0.689,0.461,0.773,0.675,0.434,0.352,0.437,0.683,0.082,
+0.528,0.703,0.645,0.575,0.427,0.831,1.140,1.110,0.636,0.818,
+1.140,1.020,0.732,0.726,0.961,0.122,0.778,1.010,0.761,1.020,
+0.671,0.903,0.772,1.030,0.688,0.829,0.075,0.108,0.072,0.089,
+0.916,0.191,0.751,0.998,0.622,1.180,0.832,1.080,0.642,0.478,
+0.396,0.675,0.654,0.692,0.496,0.647,0.967,0.094,0.821,1.020,
+0.824,0.877,0.855,1.230,2.290,1.070,0.939,1.710,1.080,0.613,
+0.535,0.904,1.070,0.089,0.504,1.030,1.170,0.819,0.648,1.450,
+1.410,0.822,0.540,0.819,0.793,0.493,0.440,0.612,0.764,0.071,
+0.472,1.440,0.648,0.537,0.382,0.822,0.975,0.862,0.576,0.925,
+0.080,0.074,0.051,0.115,0.644,0.069,0.383,0.650,0.655,0.754,
+0.516,0.967,1.140,0.602,0.617,1.260,0.780,0.556,0.454,0.951,
+0.865,0.065,0.507,1.010,1.150,0.770,0.820,2.190,2.040,1.180,
+0.706,1.220,1.340,0.976,0.692,0.876,1.090,0.105,0.649,0.997,
+0.897,0.874,1.110,1.370,1.430,0.976,0.617,0.954,1.120,0.724,
+0.619,0.751,0.947,0.104,0.698,0.962,0.670,0.697,0.519,0.804,
+1.030,1.070,0.613,0.837,0.083,0.121,0.066,0.099,0.872,0.119,
+0.618,0.864,0.761,1.220,0.745,1.130,0.843,0.594,0.502,0.819,
+1.060,1.070,0.620,1.020,0.914,0.088,0.829,0.985,0.920,1.100,
+0.926,1.600,1.330,0.875,0.566,0.915,1.160,0.948,0.733,0.896,
+1.340,0.167,0.699,1.110,0.874,0.824,0.712,1.230,0.088,0.088,
+0.051,0.079,0.073,0.103,0.085,0.070,0.073,0.014,0.069,0.098,
+0.072,0.092,0.066,0.103,0.994,1.060,0.604,0.757,0.089,0.085,
+0.061,0.097,1.050,0.145,0.687,1.140,0.727,1.150,0.788,1.140,
+0.795,0.579,0.503,0.776,1.020,0.817,0.686,1.020,1.110,0.100,
+0.843,1.190,0.900,0.827,0.966,1.540,1.730,0.805,0.657,1.210,
+0.845,0.552,0.480,0.699,0.934,0.086,0.550,0.990,0.992,0.678,
+0.721,1.530,1.130,0.780,0.579,0.814,0.820,0.650,0.550,0.665,
+0.726,0.058,0.540,0.887,0.782,0.687,0.627,1.040,1.280,1.060,
+0.815,1.150,0.084,0.072,0.052,0.098,1.000,0.092,0.772,1.100,
+0.938,1.210,0.987,1.540,1.370,0.788,0.828,1.560,1.150,0.890,
+0.720,1.120,1.360,0.087,1.090,1.660,1.820,1.360,1.510,2.110,
+6.060,2.340,2.110,3.310,2.330,1.280,1.280,1.560,2.320,0.233,
+0.956,1.410,2.790,2.130,1.000,2.060,1.950,1.570,0.669,0.918,
+1.070,0.672,0.639,0.662,1.130,0.107,0.578,0.710,0.810,0.742,
+0.543,0.822,6.700,1.540,0.832,1.340,0.239,0.114,0.092,0.189,
+1.070,0.097,0.766,0.846,0.798,0.849,0.742,1.080,2.310,1.000,
+0.687,1.430,1.420,0.915,0.708,1.170,0.980,0.079,0.690,0.838,
+1.300,0.708,0.881,1.760,3.230,1.530,1.210,1.980,2.090,1.260,
+2.040,2.080,1.470,0.157,0.617,0.961,1.260,1.400,0.624,1.240,
+1.740,1.080,0.674,0.905,1.080,0.573,0.742,0.751,1.120,0.137,
+0.580,0.831,0.789,0.862,0.450,0.678,1.910,1.590,0.907,1.260,
+0.199,0.127,0.117,0.164,1.190,0.128,0.800,0.969,0.744,1.060,
+0.743,1.040,1.250,0.776,0.479,0.897,1.420,0.979,0.735,1.110,
+0.883,0.068,0.543,0.765,0.851,0.652,0.663,1.370,2.160,0.945,
+0.776,1.330,1.700,1.110,1.250,1.360,2.080,0.199,0.634,0.934,
+1.220,1.150,0.704,1.440,0.184,0.152,0.088,0.139,0.184,0.147,
+0.150,0.184,0.165,0.028,0.125,0.130,0.159,0.283,0.102,0.197,
+1.050,1.000,0.814,0.964,0.114,0.099,0.102,0.140,0.858,0.105,
+0.618,0.778,0.591,0.850,0.636,0.943,0.875,0.553,0.486,0.876,
+1.270,1.140,0.907,1.190,0.909,0.088,0.620,0.850,0.943,0.834,
+0.850,1.930,2.100,0.886,0.725,1.550,1.080,0.746,1.000,1.320,
+1.310,0.179,0.528,0.828,1.490,1.320,0.693,1.590,1.630,1.130,
+0.754,1.140,1.290,0.784,1.190,1.400,1.030,0.099,0.664,0.952,
+1.030,1.060,0.659,1.170,1.270,1.020,0.983,1.340,0.117,0.091,
+0.099,0.154,0.993,0.098,0.720,0.933,0.882,1.110,0.884,1.190,
+1.540,0.809,0.680,1.490,0.990,0.762,0.691,1.120,1.420,0.113,
+0.867,1.360,2.120,1.460,1.490,3.220,0.287,0.180,0.135,0.211,
+0.194,0.146,0.110,0.147,0.146,0.021,0.066,0.109,0.143,0.163,
+0.082,0.137,0.211,0.167,0.126,0.120,0.158,0.107,0.116,0.108,
+0.126,0.024,0.075,0.098,0.079,0.115,0.066,0.091,0.197,0.135,
+0.080,0.110,0.026,0.019,0.019,0.021,0.090,0.013,0.066,0.081,
+0.064,0.098,0.076,0.109,0.127,0.073,0.063,0.107,0.142,0.116,
+0.088,0.127,0.093,9.61e-3,0.058,0.089,0.095,0.071,0.085,0.168,
+0.207,0.145,0.123,0.172,0.154,0.131,0.126,0.136,0.106,0.017,
+0.051,0.084,0.082,0.103,0.052,0.097,0.172,0.135,0.079,0.094,
+0.155,0.085,0.111,0.096,0.121,0.026,0.074,0.097,0.068,0.088,
+0.057,0.070,0.129,0.150,0.085,0.112,0.023,0.031,0.023,0.019,
+0.104,0.027,0.082,0.099,0.062,0.119,0.093,0.099,0.094,0.067,
+0.044,0.074,0.129,0.122,0.086,0.099,0.079,9.11e-3,0.053,0.070,
+0.063,0.069,0.062,0.114,0.167,0.104,0.067,0.104,0.170,0.140,
+0.129,0.107,0.134,0.022,0.073,0.083,0.080,0.110,0.066,0.112,
+0.016,0.025,0.014,0.014,0.025,0.039,0.035,0.021,0.021,0.014,
+0.034,0.024,0.011,0.026,0.018,0.016,0.107,0.144,0.100,0.107,
+0.023,0.028,0.033,0.025,0.119,0.031,0.107,0.102,0.059,0.134,
+0.098,0.105,0.085,0.060,0.057,0.094,0.145,0.153,0.136,0.148,
+0.100,0.014,0.087,0.098,0.080,0.081,0.103,0.171,0.203,0.164,
+0.103,0.171,0.128,0.107,0.099,0.117,0.130,0.018,0.060,0.100,
+0.143,0.138,0.098,0.196,0.246,0.201,0.144,0.195,0.243,0.217,
+0.212,0.225,0.192,0.027,0.142,0.237,0.140,0.192,0.125,0.195,
+0.136,0.152,0.130,0.147,0.015,0.018,0.014,0.021,0.136,0.023,
+0.105,0.143,0.104,0.160,0.138,0.148,0.164,0.105,0.084,0.158,
+0.133,0.127,0.098,0.136,0.159,0.014,0.106,0.158,0.196,0.159,
+0.172,0.323,2.150,1.080,0.888,1.260,1.180,0.704,0.529,0.728,
+0.986,0.102,0.737,0.709,0.794,0.672,0.553,0.777,1.330,0.918,
+0.530,0.764,0.937,0.650,0.571,0.565,0.897,0.102,0.678,0.850,
+0.556,0.621,0.486,0.683,1.100,1.230,0.808,1.010,0.144,0.143,
+0.140,0.191,1.100,0.117,0.603,0.753,0.774,0.951,0.592,0.910,
+0.849,0.517,0.400,0.788,0.783,0.677,0.574,0.820,1.070,0.085,
+0.564,0.788,0.755,0.569,0.638,1.260,0.156,0.109,0.055,0.094,
+0.112,0.117,0.077,0.086,0.072,0.013,0.047,0.065,0.068,0.073,
+0.049,0.080,0.105,0.082,0.047,0.052,0.094,0.082,0.061,0.060,
+0.074,0.020,0.085,0.094,0.057,0.055,0.039,0.054,0.091,0.140,
+0.086,0.094,0.019,0.027,0.028,0.020,0.101,0.028,0.090,0.096,
+0.057,0.101,0.067,0.084,0.106,0.063,0.043,0.095,0.118,0.128,
+0.088,0.116,0.097,0.013,0.066,0.094,0.068,0.062,0.062,0.121,
+1.720,0.862,0.554,0.799,1.170,0.961,0.719,0.731,0.962,0.140,
+0.595,0.708,0.591,0.626,0.509,0.697,0.108,0.111,0.059,0.069,
+0.096,0.123,0.095,0.069,0.091,0.031,0.104,0.110,0.062,0.102,
+0.073,0.078,1.020,1.140,0.857,0.987,0.122,0.136,0.143,0.142,
+1.020,0.166,0.417,0.643,0.457,0.793,0.645,0.736,0.640,0.476,
+0.420,0.639,0.845,0.875,0.819,0.863,0.808,0.099,0.748,0.747,
+0.446,0.541,0.632,0.787,1.370,0.859,0.558,1.000,0.848,0.517,
+0.338,0.426,0.659,0.084,0.449,0.544,0.567,0.516,0.340,0.625,
+1.040,0.789,0.517,0.695,0.917,0.946,0.619,0.553,0.796,0.106,
+0.691,0.867,0.662,0.790,0.523,0.672,0.982,1.260,0.763,0.976,
+0.124,0.181,0.105,0.125,1.320,0.442,0.903,0.996,0.691,1.450,
+0.812,0.939,0.706,0.487,0.404,0.667,0.779,0.799,0.596,0.683,
+0.887,0.100,0.761,0.880,0.716,0.703,0.750,1.140,2.010,0.850,
+0.677,1.320,0.828,0.477,0.409,0.639,0.766,0.074,0.353,0.644,
+0.971,0.639,0.478,1.190,1.180,0.581,0.433,0.667,0.575,0.356,
+0.310,0.392,0.529,0.038,0.292,0.461,0.506,0.373,0.289,0.553,
+0.928,0.750,0.492,0.860,0.083,0.062,0.055,0.114,0.630,0.057,
+0.380,0.563,0.638,0.646,0.766,0.957,1.100,0.542,0.513,1.160,
+0.723,0.467,0.438,0.852,0.681,0.049,0.397,0.662,0.960,0.545,
+0.686,1.570,1.970,1.100,0.708,1.220,1.150,0.929,0.629,0.783,
+0.897,0.083,0.504,0.751,0.911,0.835,0.608,1.240,1.440,0.877,
+0.562,0.846,0.961,0.723,0.559,0.653,0.765,0.065,0.554,0.798,
+0.594,0.555,0.415,0.654,1.080,1.100,0.705,0.987,0.086,0.103,
+0.074,0.107,0.850,0.087,0.591,0.932,0.664,0.906,0.684,1.030,
+1.190,0.699,0.601,1.110,1.050,0.907,0.661,1.060,0.839,0.064,
+0.582,0.830,0.787,0.634,0.686,1.280,1.800,0.958,0.748,1.070,
+1.110,0.879,0.822,0.899,1.000,0.109,0.580,0.860,0.706,0.656,
+0.617,1.140,0.125,0.105,0.064,0.098,0.105,0.131,0.104,0.087,
+0.072,0.015,0.075,0.090,0.069,0.086,0.068,0.094,1.050,1.200,
+0.752,1.080,0.095,0.116,0.104,0.134,1.050,0.119,0.629,0.850,
+0.674,0.960,0.858,0.995,1.010,0.650,0.673,1.010,1.150,0.958,
+1.110,1.360,1.000,0.082,0.844,1.030,0.874,0.764,1.040,1.380,
+1.730,0.726,0.632,1.130,0.768,0.464,0.456,0.569,0.926,0.112,
+0.492,0.816,0.775,0.578,0.514,1.170,1.190,0.713,0.589,0.950,
+0.909,0.691,0.706,0.703,0.740,0.060,0.673,0.906,0.694,0.585,
+0.591,0.880,1.180,1.160,0.774,1.250,0.090,0.100,0.073,0.125,
+1.130,0.128,0.853,1.240,0.964,1.170,1.090,1.380,1.460,0.771,
+0.846,1.710,1.080,0.942,0.860,1.230,1.270,0.076,0.994,1.530,
+1.850,1.140,1.650,2.360,5.690,2.310,2.250,4.520,2.210,1.170,
+1.370,1.730,2.740,0.281,0.911,1.680,4.840,3.610,1.350,2.900,
+2.100,0.946,0.712,1.180,1.020,0.516,0.561,0.623,1.300,0.083,
+0.574,0.736,1.160,0.878,0.503,0.914,2.210,1.210,0.812,1.550,
+0.150,0.092,0.075,0.183,0.984,0.071,0.531,0.747,1.070,0.961,
+0.709,1.320,3.270,1.330,0.985,2.060,1.610,0.955,0.766,1.400,
+1.390,0.087,0.741,1.150,2.230,1.140,1.200,2.940,2.620,1.010,
+0.822,1.580,1.230,0.619,0.599,0.834,1.090,0.098,0.343,0.715,
+1.250,1.130,0.445,1.020,1.360,0.632,0.452,0.782,0.723,0.344,
+0.343,0.506,0.718,0.060,0.370,0.637,0.676,0.521,0.354,0.585,
+1.440,0.914,0.634,1.100,0.100,0.059,0.053,0.092,0.986,0.086,
+0.391,0.582,0.852,0.829,0.529,0.879,1.130,0.575,0.413,0.795,
+0.833,0.510,0.402,0.665,0.724,0.042,0.379,0.589,0.829,0.566,
+0.547,1.240,1.960,0.744,0.652,1.430,1.140,0.645,0.621,1.040,
+1.180,0.117,0.369,0.695,1.340,1.020,0.577,1.550,0.131,0.071,
+0.064,0.119,0.101,0.062,0.066,0.109,0.093,9.02e-3,0.048,0.081,
+0.151,0.147,0.065,0.156,0.899,0.703,0.717,1.110,0.067,0.051,
+0.056,0.108,0.646,0.057,0.355,0.526,0.656,0.675,0.472,0.777,
+0.912,0.486,0.532,0.967,0.928,0.600,0.591,0.928,0.731,0.061,
+0.484,0.695,0.931,0.690,0.695,1.480,2.630,0.925,0.843,2.030,
+1.030,0.575,0.623,1.050,1.370,0.120,0.546,0.990,2.240,1.410,
+0.898,2.440,1.610,0.785,0.807,1.200,0.915,0.547,0.683,0.931,
+1.040,0.066,0.567,0.936,1.320,1.020,0.664,1.310,1.300,0.909,
+0.941,1.450,0.103,0.077,0.082,0.156,1.030,0.071,0.640,0.962,
+1.050,1.100,0.807,1.270,2.440,1.080,0.921,2.110,1.530,0.864,
+0.769,1.460,1.690,0.105,0.924,1.590,2.880,1.990,1.720,4.170,
+3.440,1.650,1.450,2.890,1.750,1.010,0.846,1.260,1.610,0.145,
+0.544,1.180,1.820,1.610,0.787,1.650,2.240,1.050,0.842,1.520,
+1.310,0.688,0.696,0.784,1.090,0.119,0.583,0.898,0.874,0.813,
+0.541,0.992,1.550,1.220,0.790,1.420,0.132,0.111,0.077,0.156,
+0.857,0.084,0.513,0.836,0.861,1.010,0.700,1.310,1.450,0.767,
+0.628,1.200,1.200,0.882,0.643,1.050,0.900,0.068,0.448,0.846,
+1.070,0.729,0.797,1.810,2.300,1.200,1.180,2.270,1.420,0.845,
+0.648,0.873,0.858,0.081,0.357,0.832,0.922,0.846,0.462,1.010,
+1.600,0.957,0.583,0.937,1.340,0.550,0.522,0.577,0.780,0.091,
+0.410,0.721,0.668,0.593,0.431,0.632,1.240,1.160,0.675,1.070,
+0.133,0.123,0.128,0.142,0.922,0.105,0.489,0.772,0.747,0.924,
+0.792,1.110,0.942,0.642,0.387,0.729,0.966,0.792,0.517,0.720,
+0.624,0.045,0.341,0.590,0.680,0.583,0.546,1.130,1.730,0.972,
+0.679,1.530,1.170,0.798,0.734,0.950,1.050,0.122,0.438,0.772,
+0.924,0.876,0.554,1.230,0.103,0.089,0.053,0.111,0.097,0.104,
+0.073,0.075,0.075,0.017,0.064,0.086,0.087,0.118,0.055,0.099,
+0.995,1.020,0.763,1.090,0.086,0.083,0.083,0.106,0.855,0.099,
+0.524,0.738,0.705,1.060,0.706,1.020,0.883,0.531,0.534,1.060,
+1.050,0.864,0.838,1.020,0.820,0.070,0.538,0.778,0.827,0.694,
+0.777,1.400,1.810,0.892,0.722,1.680,0.888,0.598,0.524,0.762,
+1.020,0.087,0.427,0.761,1.300,0.923,0.663,1.620,1.560,0.961,
+0.821,1.450,1.070,0.805,0.806,0.947,0.892,0.081,0.621,1.050,
+1.030,1.050,0.695,1.260,1.140,0.998,0.832,1.330,0.083,0.088,
+0.062,0.109,0.925,0.078,0.607,0.948,0.883,1.140,0.804,1.330,
+1.480,0.763,0.651,1.350,1.120,0.939,0.640,1.030,1.120,0.073,
+0.643,1.170,1.560,1.200,1.230,2.410,2.120,0.970,0.812,1.510,
+1.010,0.656,0.497,0.874,1.060,0.095,0.470,0.747,1.310,1.010,
+0.942,1.090,1.530,0.929,0.592,0.894,0.840,0.573,0.542,0.534,
+0.986,0.120,0.544,0.743,0.728,0.787,0.505,0.861,1.140,1.320,
+0.671,1.130,0.133,0.238,0.088,0.173,0.791,0.099,0.429,0.736,
+0.722,1.050,0.573,1.080,1.050,0.978,0.518,1.090,0.935,1.440,
+0.537,0.988,0.933,0.087,0.542,0.918,0.994,0.735,0.815,1.750,
+0.119,0.074,0.053,0.108,0.087,0.066,0.047,0.079,0.069,8.02e-3,
+0.039,0.062,0.080,0.094,0.071,0.105,0.086,0.068,0.041,0.056,
+0.073,0.058,0.045,0.051,0.077,0.015,0.062,0.072,0.054,0.059,
+0.037,0.059,0.090,0.121,0.054,0.087,0.014,0.025,9.86e-3,0.011,
+0.085,0.018,0.054,0.089,0.068,0.100,0.064,0.150,0.093,0.090,
+0.042,0.103,0.105,0.152,0.059,0.121,0.073,7.77e-3,0.071,0.087,
+0.077,0.064,0.064,0.156,1.300,0.731,0.503,0.874,0.818,0.701,
+0.655,0.713,0.773,0.100,0.704,0.687,0.640,0.677,0.615,0.964,
+0.081,0.075,0.038,0.067,0.061,0.065,0.053,0.046,0.056,0.014,
+0.133,0.071,0.063,0.086,0.063,0.077,0.910,1.250,0.750,1.020,
+0.073,0.116,0.070,0.091,0.823,0.102,0.442,0.591,0.513,0.791,
+0.542,0.750,0.933,0.652,0.560,0.776,0.787,0.785,0.663,0.762,
+0.870,0.089,1.710,0.953,0.619,0.606,0.850,1.090,1.200,0.675,
+0.472,0.988,0.674,0.468,0.362,0.554,0.666,0.065,0.493,0.660,
+0.794,0.635,0.506,1.000,1.300,0.804,0.554,0.850,0.772,0.671,
+0.516,0.563,0.782,0.071,0.793,0.844,0.813,0.904,0.656,1.000,
+1.020,1.400,0.708,1.190,0.112,0.434,0.083,0.112,0.879,0.135,
+0.624,0.932,0.848,1.250,0.851,1.270,1.010,0.651,0.561,0.919,
+0.858,1.050,0.566,0.793,0.951,0.081,0.953,1.070,1.040,0.932,
+1.010,1.710,4.510,1.240,1.390,2.360,1.260,0.659,0.616,1.050,
+1.290,0.099,0.528,0.999,1.700,1.160,0.772,1.970,1.610,0.750,
+0.561,0.879,0.814,0.424,0.478,0.569,0.853,0.058,0.427,0.662,
+0.736,0.589,0.420,0.813,1.400,1.020,0.721,1.400,0.106,0.095,
+0.068,0.164,0.823,0.069,0.463,0.807,0.943,0.905,0.653,1.380,
+2.060,0.918,1.000,2.040,1.220,0.789,0.679,1.370,1.080,0.074,
+0.799,1.380,1.940,1.080,1.230,3.460,1.480,0.707,0.622,1.030,
+0.813,0.494,0.369,0.569,0.666,0.051,0.345,0.612,0.778,0.685,
+0.462,1.140,0.967,0.533,0.344,0.622,0.564,0.303,0.255,0.381,
+0.549,0.042,0.360,0.573,0.510,0.443,0.331,0.633,1.060,0.712,
+0.482,0.910,0.066,0.050,0.033,0.070,0.737,0.059,0.418,0.773,
+0.737,0.809,0.600,1.220,1.120,0.539,0.512,1.090,0.920,0.594,
+0.448,0.908,0.744,0.046,0.564,0.817,0.915,0.666,0.775,1.670,
+1.950,1.170,1.040,1.440,1.250,0.831,0.814,1.250,1.260,0.121,
+0.640,0.951,1.150,0.908,0.830,1.640,0.113,0.107,0.080,0.110,
+0.079,0.076,0.068,0.074,0.085,9.61e-3,0.067,0.073,0.099,0.089,
+0.071,0.120,1.310,1.180,0.915,1.350,0.090,0.125,0.060,0.119,
+1.170,0.091,0.676,0.931,0.904,1.020,1.040,1.430,1.530,0.909,
+0.936,1.410,1.510,1.110,1.070,1.500,1.420,0.154,1.710,1.530,
+1.260,1.010,1.440,2.130,3.500,1.190,1.030,2.030,1.290,0.798,
+0.678,1.010,1.650,0.109,0.763,1.280,2.130,1.240,1.180,2.930,
+1.780,1.110,0.783,1.280,1.250,1.220,0.734,0.929,1.230,0.072,
+0.798,1.160,1.320,1.040,0.888,1.730,1.900,1.610,1.130,2.020,
+0.097,0.116,0.060,0.139,1.520,0.097,1.090,1.920,1.700,1.700,
+1.790,2.740,3.380,1.600,1.510,3.330,1.870,1.330,1.190,2.150,
+2.130,0.110,1.670,2.810,3.640,1.970,2.510,4.810,6.890,3.980,
+2.800,5.250,3.930,2.870,2.170,2.770,4.240,0.399,1.850,2.720,
+4.640,3.470,2.140,3.520,4.600,2.890,1.850,2.360,2.840,1.880,
+1.560,1.670,2.880,0.251,1.560,1.840,2.260,1.890,1.360,2.050,
+3.320,2.780,1.910,2.430,0.289,0.278,0.214,0.358,2.220,0.212,
+1.310,1.590,1.710,2.210,1.660,2.060,5.080,2.390,2.000,3.210,
+3.240,2.220,1.910,2.850,2.600,0.201,1.410,2.050,2.860,1.900,
+2.070,3.330,5.060,2.290,1.330,2.600,3.020,2.330,1.380,1.600,
+2.440,0.270,0.980,1.410,1.610,1.720,0.926,1.430,3.470,2.160,
+1.050,1.510,2.020,1.350,1.150,1.020,2.180,0.253,1.000,1.370,
+1.120,1.490,0.796,1.030,2.180,2.530,1.210,1.480,0.202,0.231,
+0.147,0.175,2.180,0.267,1.230,1.470,1.190,2.070,1.200,1.390,
+1.730,1.260,0.752,1.210,1.930,1.600,0.946,1.300,1.800,0.154,
+1.080,1.450,1.430,1.400,1.380,2.030,2.460,1.610,0.936,1.530,
+2.100,1.380,1.240,1.360,1.870,0.247,0.860,1.470,1.340,1.270,
+0.966,1.980,0.211,0.320,0.110,0.142,0.180,0.177,0.151,0.141,
+0.177,0.039,0.123,0.175,0.188,0.301,0.138,0.209,1.420,1.460,
+1.020,1.070,0.156,0.145,0.127,0.167,1.370,0.172,0.777,0.922,
+0.813,1.230,0.907,0.973,1.320,0.963,0.694,1.020,1.750,1.380,
+1.020,1.520,1.510,0.171,0.901,1.500,1.340,1.230,1.200,1.940,
+3.350,1.470,1.070,2.160,1.790,1.110,0.996,1.190,1.690,0.163,
+0.724,1.190,2.360,1.520,1.170,2.440,2.570,2.060,1.180,1.540,
+1.780,1.460,1.360,1.240,1.520,0.148,0.992,1.350,1.550,1.800,
+1.140,1.700,1.630,1.510,1.470,1.520,0.160,0.125,0.175,0.151,
+1.500,0.131,1.010,1.280,1.390,1.550,1.570,1.500,2.110,1.410,
+1.090,1.950,1.510,1.150,1.060,1.460,2.120,0.158,1.340,2.120,
+2.300,1.930,2.150,3.240,5.000,3.850,2.240,3.490,3.340,3.040,
+2.010,2.410,2.280,0.265,1.110,1.670,1.920,2.010,1.220,1.950,
+3.790,4.090,1.830,2.190,2.900,2.490,1.920,2.430,2.010,0.261,
+1.320,1.810,1.250,1.540,0.908,1.380,1.980,2.800,1.600,1.610,
+0.244,0.381,0.234,0.272,1.580,0.214,1.200,1.340,1.080,1.930,
+1.240,1.420,1.970,1.210,0.986,1.490,2.280,2.090,1.390,1.610,
+1.480,0.230,0.815,1.190,1.440,1.540,1.290,2.110,3.520,2.970,
+1.160,1.630,2.730,2.760,1.420,1.310,1.790,0.261,0.808,1.080,
+1.010,1.580,0.692,1.060,2.510,2.910,1.070,1.100,1.880,0.963,
+1.370,1.030,1.780,0.316,0.999,1.270,0.816,1.500,0.826,0.882,
+1.660,2.990,1.130,1.250,0.235,0.451,0.233,0.195,2.030,0.415,
+1.260,1.610,0.992,2.940,1.270,1.350,1.190,1.080,0.598,0.787,
+1.680,1.970,0.942,1.010,1.420,0.198,0.770,1.040,1.070,2.060,
+0.871,1.440,2.200,3.510,0.954,1.410,2.450,2.480,1.780,1.430,
+1.610,0.295,0.947,1.230,0.886,1.260,0.938,1.170,0.256,1.300,
+0.162,0.168,0.205,0.366,0.223,0.147,0.173,0.095,0.183,0.194,
+0.093,0.259,0.135,0.131,1.760,2.640,1.310,1.200,0.230,0.374,
+0.248,0.209,1.920,0.337,1.280,1.570,0.912,2.060,1.420,1.340,
+1.090,1.150,0.709,0.913,2.030,2.420,1.600,1.640,1.670,0.237,
+1.280,1.550,0.930,1.340,1.310,1.530,1.950,1.500,0.737,1.110,
+1.330,1.040,0.974,0.794,0.926,0.102,0.468,0.680,0.920,0.809,
+0.613,1.060,2.110,3.690,1.100,1.270,1.440,1.650,1.140,1.130,
+1.000,0.163,0.866,1.290,0.766,1.280,0.789,1.030,1.230,1.590,
+1.070,1.080,0.123,0.184,0.118,0.133,1.300,0.159,1.040,1.280,
+0.883,1.390,1.500,1.320,1.340,0.966,0.665,0.978,1.440,1.260,
+0.820,1.260,1.450,0.144,0.995,1.500,1.420,1.580,1.740,2.090,
+2.640,1.540,1.120,1.710,1.520,1.280,0.817,0.971,1.280,0.154,
+0.777,0.925,1.250,1.140,0.599,1.060,2.250,1.920,1.510,1.360,
+1.520,1.320,1.090,0.962,1.530,0.217,1.010,1.120,0.928,1.290,
+0.648,0.891,1.800,2.290,1.940,1.780,0.208,0.315,0.224,0.279,
+1.450,0.230,0.870,1.080,0.951,1.990,1.050,1.360,1.320,0.913,
+0.833,1.210,1.320,1.390,0.890,1.130,1.320,0.158,0.762,1.140,
+1.280,1.360,1.130,2.310,0.169,0.173,0.091,0.153,0.207,0.259,
+0.117,0.108,0.165,0.034,0.088,0.099,0.103,0.171,0.096,0.106,
+0.187,0.257,0.125,0.164,0.210,0.354,0.176,0.127,0.202,0.061,
+0.157,0.161,0.096,0.202,0.096,0.112,0.132,0.280,0.148,0.132,
+0.034,0.091,0.067,0.031,0.207,0.071,0.173,0.167,0.105,0.320,
+0.148,0.154,0.136,0.134,0.080,0.116,0.273,0.415,0.176,0.206,
+0.172,0.034,0.122,0.161,0.140,0.199,0.138,0.235,1.110,0.909,
+0.612,0.929,1.020,1.000,1.080,0.746,1.340,0.216,0.661,0.754,
+0.743,0.808,0.617,0.725,0.101,0.166,0.072,0.070,0.096,0.137,
+0.109,0.077,0.123,0.036,0.093,0.093,0.084,0.160,0.079,0.091,
+0.877,1.480,0.911,0.726,0.127,0.207,0.137,0.123,1.320,0.247,
+0.590,0.848,0.585,1.430,0.902,0.809,0.640,0.608,0.563,0.542,
+0.898,1.170,0.911,0.863,1.100,0.168,0.735,0.916,0.616,0.845,
+0.818,0.955,1.020,0.783,0.625,1.230,0.738,0.542,0.424,0.444,
+0.745,0.084,0.379,0.543,0.723,0.626,0.419,0.778,1.380,1.240,
+0.728,0.793,1.210,1.290,0.822,0.740,1.050,0.137,0.835,1.050,
+0.834,1.190,0.716,0.909,1.010,1.330,0.821,0.880,0.118,0.180,
+0.104,0.112,1.350,0.201,0.817,1.090,0.813,1.430,0.905,1.080,
+1.050,0.666,0.595,0.673,0.959,0.994,0.688,0.836,1.310,0.137,
+0.974,1.570,1.250,1.220,1.110,1.760,2.770,1.650,1.220,2.220,
+1.450,1.220,0.748,0.894,1.270,0.142,0.633,1.060,1.640,1.230,
+0.922,2.020,1.340,0.906,0.587,1.050,0.903,0.584,0.480,0.560,
+0.817,0.078,0.450,0.709,0.788,0.691,0.443,0.866,1.300,1.240,
+0.877,1.290,0.137,0.150,0.100,0.183,0.989,0.103,0.570,0.787,
+0.867,1.170,0.830,1.260,1.570,0.862,0.792,1.680,1.120,0.928,
+0.728,1.150,1.120,0.097,0.702,1.070,1.570,1.230,1.220,2.940,
+2.410,2.020,0.939,1.690,2.340,2.360,0.950,1.090,1.770,0.188,
+0.757,1.140,1.280,1.380,0.791,1.350,1.920,1.700,0.803,1.260,
+1.600,1.410,0.904,0.895,1.530,0.185,0.930,1.230,0.913,1.230,
+0.676,1.040,1.240,1.560,0.801,1.070,0.123,0.202,0.107,0.139,
+1.480,0.196,0.928,1.140,0.958,2.010,1.110,1.280,1.160,0.861,
+0.589,0.973,1.480,1.730,0.892,1.290,1.280,0.123,0.891,1.150,
+1.170,1.320,1.080,1.830,1.160,0.928,0.569,0.930,1.040,0.805,
+0.734,0.850,1.300,0.338,0.922,1.200,0.795,1.010,0.797,1.150,
+0.094,0.149,0.064,0.094,0.079,0.098,0.070,0.065,0.102,0.032,
+0.107,0.180,0.079,0.137,0.079,0.115,0.888,0.992,0.638,0.758,
+0.086,0.103,0.080,0.096,1.140,0.148,0.596,0.900,0.645,1.130,
+0.775,0.956,0.719,0.614,0.502,0.678,1.010,0.927,0.775,0.985,
+1.360,0.198,0.798,1.210,0.895,0.982,0.961,1.380,1.910,0.898,
+0.712,1.260,1.030,0.678,0.525,0.721,1.000,0.101,0.538,0.823,
+1.220,0.890,0.773,1.690,1.180,0.841,0.507,0.748,0.988,0.699,
+0.614,0.652,0.862,0.079,0.648,1.130,0.795,0.865,0.672,1.120,
+1.660,1.320,0.923,1.280,0.115,0.111,0.078,0.124,1.370,0.129,
+0.887,1.430,1.250,1.630,1.370,1.620,1.800,1.060,0.863,1.750,
+1.400,1.310,0.904,1.390,1.930,0.132,1.270,2.300,2.320,1.870,
+2.020,3.330,4.390,2.830,2.140,3.470,3.030,2.480,1.730,1.730,
+2.660,0.324,1.370,2.040,2.520,2.420,1.350,2.100,3.650,2.650,
+1.510,1.970,2.810,2.230,1.630,1.390,2.390,0.319,1.810,1.990,
+1.330,1.780,1.220,1.500,1.580,1.850,1.130,1.300,0.187,0.216,
+0.172,0.204,1.280,0.195,0.897,0.951,0.926,1.540,1.110,1.200,
+1.850,1.130,0.810,1.480,1.850,1.620,1.140,1.440,1.280,0.147,
+0.939,1.250,1.350,1.180,1.560,2.350,3.300,2.160,1.450,4.020,
+2.920,2.330,1.420,1.450,1.890,0.298,1.150,1.370,1.160,1.670,
+1.160,1.330,2.730,2.480,1.200,2.570,2.080,1.640,1.320,1.210,
+2.190,0.521,1.520,2.080,0.965,1.920,1.010,1.060,1.490,2.130,
+1.080,1.110,0.223,0.325,0.215,0.170,1.790,0.366,1.400,1.280,
+0.873,2.210,1.460,1.170,0.904,0.905,0.515,0.751,1.430,1.680,
+0.927,1.020,1.210,0.173,0.934,1.080,1.010,1.380,2.820,2.530,
+1.490,1.150,0.700,1.060,1.690,1.570,1.220,1.160,1.610,0.258,
+0.878,1.040,0.829,1.090,0.729,1.100,0.132,0.205,0.107,0.138,
+0.184,0.258,0.200,0.149,0.183,0.071,0.181,0.185,0.106,0.274,
+0.125,0.144,0.831,1.420,0.806,0.723,0.124,0.163,0.132,0.137,
+1.190,0.219,0.920,1.010,0.600,1.260,0.881,0.790,0.649,0.672,
+0.419,0.599,1.150,1.350,0.829,1.040,1.120,0.174,0.895,1.100,
+0.762,1.100,1.020,1.410,1.650,0.770,0.553,1.170,0.880,0.705,
+0.462,0.603,1.240,0.109,0.443,0.618,1.080,0.876,0.586,1.200,
+1.450,1.350,0.792,1.030,1.440,1.460,1.030,1.060,1.180,0.169,
+0.852,1.110,0.785,1.360,0.721,0.996,0.817,0.923,0.727,0.799,
+0.086,0.100,0.090,0.100,0.939,0.123,0.761,0.821,0.651,1.110,
+0.920,0.907,0.960,0.715,0.524,0.971,0.773,0.818,0.591,0.801,
+1.290,0.127,0.873,1.250,1.230,1.500,1.390,2.010,2.660,2.390,
+1.410,2.200,2.570,2.870,1.600,1.570,1.540,0.216,0.841,1.180,
+1.180,1.420,0.763,1.240,2.600,2.580,1.380,1.450,2.360,2.820,
+1.880,1.520,1.630,0.314,1.370,1.620,0.750,1.390,0.823,1.060,
+1.220,1.900,1.170,1.110,0.157,0.291,0.217,0.197,1.280,0.219,
+1.150,1.060,0.799,1.490,1.000,1.110,1.030,0.754,0.587,0.877,
+1.380,1.640,1.120,1.110,0.861,0.117,0.731,0.876,0.950,0.909,
+0.909,1.350,1.910,1.760,0.732,1.100,1.690,2.130,0.988,0.885,
+1.260,0.215,0.733,0.800,0.611,1.110,0.501,0.747,1.070,1.150,
+0.574,0.672,0.389,0.126,0.439,0.363,0.970,0.369,0.708,0.892,
+0.389,1.060,0.496,0.530,0.867,1.930,0.813,0.786,0.162,0.425,
+0.201,0.170,1.370,0.369,0.991,1.160,0.638,2.270,1.170,1.080,
+0.566,0.670,0.462,0.460,1.040,1.720,0.747,0.780,1.010,0.179,
+0.798,0.908,0.617,1.120,0.791,0.965,1.270,1.410,0.634,0.942,
+1.870,2.700,1.610,1.240,1.460,0.308,0.952,1.030,0.685,1.340,
+0.794,0.939,0.136,0.404,0.115,0.133,0.204,0.526,0.284,0.175,
+0.202,0.135,0.223,0.195,0.081,0.361,0.137,0.127,0.942,2.060,
+1.180,0.993,0.195,0.423,0.272,0.205,1.460,0.340,1.160,1.380,
+0.642,2.100,1.350,1.250,0.630,0.729,0.546,0.640,1.520,2.550,
+1.710,1.580,1.280,0.206,1.270,1.390,0.732,1.110,1.160,1.360,
+0.951,0.767,0.465,0.725,0.859,0.852,0.501,0.536,0.785,0.088,
+0.397,0.474,0.580,0.625,0.417,0.675,1.110,1.580,0.814,0.881,
+1.310,2.070,1.140,1.090,0.916,0.198,0.802,0.999,0.500,1.260,
+0.652,0.766,0.732,1.300,0.952,0.860,0.089,0.197,0.111,0.114,
+0.858,0.155,1.020,1.050,0.567,1.350,1.520,1.260,0.686,0.658,
+0.450,0.696,0.813,1.140,0.680,0.878,0.899,0.113,0.792,1.050,
+0.774,1.160,1.420,1.580,1.990,1.710,0.922,1.430,1.750,1.400,
+0.837,1.040,1.260,0.165,0.749,0.813,1.010,1.080,0.617,0.986,
+2.530,2.970,1.090,1.770,2.350,2.270,1.750,1.450,1.900,0.373,
+1.710,1.670,0.949,1.750,0.866,1.120,1.270,2.590,1.300,1.430,
+0.253,0.576,0.261,0.340,1.360,0.328,0.970,1.150,0.954,2.510,
+1.060,1.190,0.961,0.993,0.583,0.971,2.070,2.870,1.110,1.360,
+1.150,0.206,0.890,1.140,1.020,1.350,1.100,1.830,0.122,0.155,
+0.069,0.156,0.226,0.354,0.165,0.146,0.150,0.043,0.116,0.108,
+0.077,0.164,0.102,0.115,0.180,0.336,0.131,0.388,0.327,0.416,
+0.332,0.239,0.235,0.156,0.298,0.250,0.105,0.253,0.119,0.120,
+0.120,0.474,0.193,0.155,0.076,0.308,0.121,0.072,0.233,0.149,
+0.336,0.284,0.093,0.401,0.207,0.145,0.118,0.182,0.059,0.086,
+0.912,1.260,0.280,0.299,0.161,0.066,0.171,0.170,0.095,0.170,
+0.167,0.187,1.130,1.230,0.619,0.830,1.310,1.980,1.270,1.000,
+1.480,0.347,0.990,1.000,0.653,1.150,0.728,0.869,0.125,0.305,
+0.122,0.116,0.193,0.408,0.249,0.146,0.203,0.112,0.232,0.173,
+0.086,0.253,0.125,0.107,0.872,2.150,0.958,0.800,0.172,0.401,
+0.205,0.175,1.760,0.457,0.845,1.230,0.647,2.020,1.060,0.956,
+0.557,0.695,0.412,0.554,1.260,2.320,1.200,1.330,1.400,0.282,
+1.270,1.340,0.599,1.090,1.020,1.130,0.894,0.720,0.459,0.787,
+0.829,0.597,0.405,0.469,0.777,0.098,0.448,0.615,0.594,0.653,
+0.376,0.743,1.490,1.960,0.838,0.990,2.720,2.270,1.400,1.630,
+1.810,0.331,1.480,1.740,0.957,1.820,0.938,1.120,0.979,1.640,
+0.853,0.869,0.115,0.248,0.134,0.127,1.430,0.291,1.120,1.320,
+0.739,2.110,1.030,1.210,0.773,0.700,0.465,0.740,0.886,1.320,
+0.705,0.880,1.260,0.158,1.200,1.430,0.930,1.450,1.180,1.500,
+1.600,1.070,0.713,1.230,1.120,0.861,0.564,0.804,0.952,0.105,
+0.509,0.794,0.988,0.811,0.524,1.210,1.270,1.080,0.547,0.833,
+0.946,0.740,0.555,0.694,0.807,0.106,0.508,0.754,0.650,0.709,
+0.399,0.771,0.809,0.972,0.558,0.800,0.083,0.129,0.065,0.132,
+0.760,0.107,0.487,0.680,0.697,0.974,0.706,0.869,0.848,0.587,
+0.479,0.987,0.848,0.914,0.503,0.945,0.719,0.072,0.475,0.834,
+1.030,0.739,0.851,1.820,1.500,1.290,0.673,1.160,1.630,1.760,
+1.040,1.010,1.250,0.178,0.801,1.030,0.829,1.190,0.882,1.420,
+1.410,1.640,0.740,1.440,1.620,1.580,1.200,1.070,1.320,0.239,
+1.050,1.270,0.811,1.260,0.705,0.885,0.881,1.670,0.883,0.935,
+0.153,0.407,0.182,0.187,1.200,0.247,1.040,1.130,0.772,1.750,
+1.100,1.040,0.671,0.710,0.444,0.682,1.830,2.480,1.020,1.350,
+0.986,0.141,0.830,1.040,0.737,0.955,0.951,1.350,0.926,0.761,
+0.419,0.597,1.020,1.050,0.801,0.810,1.230,0.196,0.764,0.895,
+0.672,0.829,0.611,0.949,0.078,0.120,0.050,0.071,0.095,0.170,
+0.109,0.088,0.096,0.034,0.093,0.103,0.062,0.128,0.082,0.093,
+0.579,1.020,0.566,0.574,0.081,0.121,0.087,0.098,1.060,0.220,
+0.770,1.140,0.545,1.220,0.848,0.905,0.522,0.535,0.378,0.511,
+0.891,1.040,0.807,1.040,1.090,0.166,0.914,1.150,0.647,0.805,
+0.879,1.190,1.130,0.698,0.450,0.727,0.673,0.542,0.363,0.508,
+0.730,0.072,0.427,0.582,0.718,0.586,0.502,0.963,0.955,0.880,
+0.424,0.598,0.990,0.875,0.612,0.697,0.850,0.098,0.546,0.779,
+0.629,0.760,0.558,0.839,0.964,0.921,0.614,0.815,0.076,0.092,
+0.058,0.100,0.957,0.125,0.782,1.060,0.713,1.220,0.958,1.150,
+0.954,0.675,0.553,1.080,0.938,1.070,0.756,1.390,1.160,0.101,
+1.030,1.610,1.330,1.320,1.400,1.880,2.540,1.980,1.600,2.360,
+2.050,1.670,1.390,1.420,1.750,0.216,0.961,1.610,1.770,1.710,
+0.959,1.600,2.050,1.640,1.350,1.230,1.550,1.230,1.090,0.947,
+1.250,0.163,0.844,0.933,0.898,1.160,0.892,1.090,1.720,1.500,
+0.985,1.410,0.160,0.170,0.135,0.210,1.070,0.127,0.803,0.971,
+0.724,1.050,0.934,1.170,1.630,1.050,0.684,1.260,1.430,1.160,
+0.899,1.240,0.997,0.100,1.140,0.991,1.110,0.831,1.390,1.880,
+2.680,1.890,1.100,1.730,2.270,2.110,1.710,1.500,1.450,0.224,
+0.752,0.979,0.999,1.400,0.752,1.240,2.240,2.300,1.070,1.170,
+1.890,1.440,1.570,1.150,1.820,0.320,1.060,1.350,0.919,1.630,
+0.901,1.030,1.940,3.140,1.540,1.890,0.265,0.412,0.286,0.305,
+2.150,0.424,1.710,1.880,0.944,2.240,1.530,1.510,1.070,0.890,
+0.524,0.847,1.700,1.660,1.070,1.410,1.130,0.123,0.801,1.040,
+0.949,0.930,1.060,1.730,1.530,0.991,0.670,1.060,1.830,1.610,
+1.640,1.510,1.640,0.276,0.780,0.971,1.020,1.200,0.878,1.350,
+0.159,0.225,0.107,0.145,0.222,0.288,0.235,0.212,0.211,0.068,
+0.170,0.198,0.154,0.369,0.167,0.286,1.040,1.280,1.090,1.170,
+0.184,0.205,0.221,0.235,1.360,0.246,0.982,0.996,0.742,1.430,
+1.030,1.200,0.743,0.597,0.519,0.944,1.310,1.380,1.250,1.500,
+1.070,0.155,0.901,1.190,1.000,1.070,1.280,4.140,1.350,0.715,
+0.575,1.060,0.840,0.622,0.663,0.793,0.833,0.104,0.412,0.584,
+1.090,0.904,0.597,1.250,1.390,1.370,0.781,1.060,1.320,1.430,
+1.220,1.430,1.140,0.163,0.760,0.973,0.921,1.320,0.792,1.260,
+1.110,1.250,1.390,1.370,0.129,0.147,0.164,0.182,1.230,0.179,
+1.170,1.300,0.979,1.540,1.310,1.410,1.200,0.818,0.798,1.510,
+0.864,0.788,0.832,1.130,1.340,0.134,1.080,1.400,1.670,1.620,
+1.680,3.130,0.161,0.164,0.172,0.142,0.172,0.197,0.131,0.130,
+0.125,0.025,0.072,0.102,0.101,0.135,0.082,0.122,0.236,0.252,
+0.435,0.199,0.278,0.301,0.291,0.189,0.191,0.075,0.183,0.176,
+0.096,0.203,0.130,0.129,0.112,0.199,0.136,0.127,0.031,0.053,
+0.050,0.039,0.128,0.036,0.136,0.128,0.078,0.162,0.161,0.147,
+0.106,0.083,0.072,0.101,0.170,0.207,0.149,0.153,0.108,0.021,
+0.108,0.104,0.097,0.098,0.133,0.183,0.172,0.191,0.097,0.112,
+0.204,0.294,0.168,0.121,0.125,0.042,0.080,0.090,0.060,0.133,
+0.078,0.088,0.247,0.364,0.155,0.124,0.346,0.281,0.314,0.186,
+0.265,0.122,0.177,0.185,0.105,0.255,0.135,0.122,0.147,0.377,
+0.171,0.168,0.063,0.214,0.115,0.057,0.255,0.142,0.246,0.219,
+0.090,0.345,0.301,0.187,0.081,0.096,0.057,0.071,0.171,0.271,
+0.161,0.141,0.132,0.031,0.107,0.100,0.079,0.122,0.121,0.134,
+0.115,0.126,0.068,0.080,0.187,0.271,0.256,0.144,0.168,0.056,
+0.120,0.108,0.065,0.142,0.106,0.103,0.026,0.083,0.031,0.026,
+0.064,0.133,0.126,0.050,0.067,0.073,0.093,0.051,0.018,0.071,
+0.050,0.033,0.126,0.279,0.211,0.147,0.059,0.130,0.143,0.056,
+0.265,0.155,0.291,0.220,0.092,0.335,0.249,0.174,0.086,0.083,
+0.072,0.089,0.201,0.324,0.277,0.210,0.169,0.056,0.187,0.178,
+0.089,0.136,0.173,0.301,0.116,0.124,0.070,0.100,0.103,0.107,
+0.088,0.086,0.099,0.015,0.053,0.069,0.092,0.107,0.088,0.124,
+0.234,0.360,0.175,0.177,0.317,0.407,0.334,0.250,0.219,0.069,
+0.177,0.205,0.124,0.295,0.169,0.185,0.112,0.214,0.168,0.149,
+0.023,0.050,0.042,0.031,0.195,0.059,0.220,0.236,0.105,0.258,
+0.236,0.200,0.117,0.106,0.080,0.127,0.119,0.172,0.127,0.136,
+0.182,0.028,0.163,0.200,0.138,0.207,0.235,0.294,1.840,1.350,
+1.470,1.430,1.600,1.400,1.030,1.090,1.460,0.162,0.730,0.938,
+0.982,0.962,0.690,0.978,1.690,1.870,0.982,1.070,1.910,1.770,
+1.600,1.220,1.730,0.310,1.560,1.370,0.811,1.400,0.873,0.987,
+1.310,2.290,1.280,1.460,0.234,0.378,0.288,0.414,1.660,0.352,
+1.290,1.390,0.874,1.880,1.290,1.330,1.190,0.839,0.528,0.887,
+1.230,1.420,1.020,1.350,1.210,0.170,1.010,1.380,1.030,0.932,
+1.120,1.650,0.153,0.150,0.092,0.152,0.222,0.313,0.183,0.149,
+0.137,0.036,0.117,0.131,0.076,0.127,0.072,0.114,0.179,0.232,
+0.114,0.102,0.309,0.338,0.327,0.187,0.229,0.108,0.286,0.246,
+0.083,0.191,0.117,0.106,0.136,0.354,0.162,0.152,0.054,0.149,
+0.109,0.062,0.269,0.180,0.354,0.302,0.098,0.328,0.245,0.187,
+0.115,0.107,0.060,0.099,0.217,0.341,0.190,0.218,0.154,0.042,
+0.159,0.176,0.082,0.112,0.119,0.151,1.360,1.180,0.641,0.674,
+1.720,2.140,1.750,1.120,1.380,0.313,1.040,0.948,0.667,1.110,
+0.820,0.903,0.141,0.302,0.130,0.099,0.216,0.439,0.349,0.156,
+0.205,0.117,0.275,0.166,0.087,0.253,0.153,0.133,1.250,2.340,
+1.520,1.210,0.280,0.482,0.467,0.283,1.830,0.417,0.617,1.110,
+0.703,1.730,1.600,1.190,0.701,0.883,0.575,0.634,1.450,2.160,
+1.930,1.410,1.400,0.265,1.290,1.250,0.638,1.010,1.160,1.250,
+1.060,0.737,0.509,0.763,0.923,0.989,0.565,0.566,0.801,0.116,
+0.529,0.690,0.617,0.695,0.474,0.842,1.480,1.840,1.010,0.912,
+2.060,4.000,2.020,1.250,1.600,0.305,1.370,1.380,0.857,1.730,
+0.993,1.100,1.600,2.530,1.320,1.350,0.377,0.495,0.287,0.237,
+2.590,0.472,2.890,2.490,1.120,2.330,1.700,1.550,0.896,0.774,
+0.573,0.848,1.360,1.520,1.060,1.080,1.510,0.186,1.490,1.560,
+0.952,1.260,1.290,1.570,1.500,0.975,0.639,1.100,0.930,0.749,
+0.572,0.725,1.030,0.108,0.389,0.746,1.050,0.839,0.579,2.380,
+1.100,0.798,0.449,0.590,0.851,0.541,0.424,0.474,0.690,0.075,
+0.369,0.586,0.775,0.622,0.455,0.743,0.902,0.976,0.637,0.956,
+0.101,0.116,0.129,0.190,0.834,0.122,0.644,0.882,0.952,1.200,
+2.940,2.350,0.987,0.584,0.430,0.808,0.818,0.667,0.579,0.860,
+0.700,0.069,0.451,0.718,0.985,0.707,0.999,1.780,1.730,1.470,
+0.816,1.280,1.740,1.700,1.240,1.090,1.190,0.155,0.778,0.976,
+0.804,1.090,0.629,1.240,1.730,1.930,0.820,0.974,2.290,1.700,
+1.410,1.160,1.340,0.230,1.050,1.380,0.851,1.300,0.799,0.936,
+1.300,2.230,1.030,1.360,0.176,0.333,0.189,0.243,1.700,0.316,
+1.410,1.760,0.969,2.130,1.660,1.700,1.070,0.869,0.581,0.898,
+1.620,1.850,1.230,1.720,1.210,0.138,0.930,1.270,0.892,0.982,
+0.963,1.550,1.370,1.020,0.596,0.763,1.490,1.520,1.460,1.130,
+1.230,0.207,0.822,1.320,0.675,0.907,0.799,1.130,0.107,0.144,
+0.072,0.089,0.145,0.228,0.216,0.135,0.127,0.047,0.144,0.157,
+0.079,0.151,0.113,0.123,1.120,1.880,1.250,1.400,0.179,0.292,
+0.260,0.223,1.830,0.335,1.170,1.460,0.803,1.730,1.710,1.440,
+0.899,0.799,0.699,0.843,1.550,1.730,1.960,1.760,1.460,0.183,
+1.260,1.530,0.950,1.030,1.390,1.630,1.240,0.727,0.481,0.808,
+0.737,0.565,0.527,0.539,0.753,0.088,0.409,0.645,0.699,0.589,
+0.521,1.010,1.060,0.892,0.589,0.747,1.080,1.140,0.888,0.870,
+1.160,0.120,0.722,0.980,0.658,0.837,0.719,0.894,1.160,1.480,
+1.010,1.470,0.133,0.170,0.123,0.170,1.690,0.222,1.580,2.070,
+1.080,1.730,1.680,1.720,1.210,0.859,0.737,1.670,1.210,1.250,
+1.100,1.470,1.440,0.123,1.310,1.960,1.480,1.420,1.680,1.960,
+2.590,1.430,1.280,2.490,1.550,0.950,0.776,1.100,1.590,0.159,
+0.610,1.060,2.270,1.810,0.870,1.710,1.680,0.978,0.730,0.997,
+0.938,0.576,0.515,0.581,0.962,0.094,0.532,0.656,1.100,1.110,
+0.673,1.030,1.340,1.060,0.716,1.230,0.107,0.091,0.068,0.137,
+0.865,0.080,0.421,0.607,0.834,0.955,0.690,1.100,1.790,0.834,
+0.671,1.260,1.130,0.827,0.629,0.968,1.050,0.076,0.618,0.789,
+1.450,0.919,1.030,1.950,1.790,0.942,0.642,1.240,1.170,0.760,
+0.536,0.766,0.835,0.086,0.344,0.663,0.828,0.851,0.454,0.862,
+1.130,0.803,0.442,0.713,0.731,0.551,0.414,0.499,0.745,0.084,
+0.382,0.586,0.666,0.801,0.591,0.648,0.910,0.929,0.649,1.020,
+0.076,0.089,0.059,0.097,0.952,0.117,0.467,0.652,0.729,1.310,
+0.739,0.840,0.793,0.575,0.382,0.684,0.729,0.649,0.405,0.671,
+0.692,0.050,0.446,0.604,0.769,0.665,0.743,1.190,1.080,0.567,
+0.444,0.871,0.843,0.562,0.554,0.823,0.810,0.105,0.314,0.538,
+0.792,0.689,0.447,0.968,0.078,0.076,0.042,0.077,0.067,0.063,
+0.056,0.078,0.067,0.013,0.038,0.057,0.093,0.129,0.057,0.119,
+0.593,0.636,0.512,0.799,0.063,0.066,0.058,0.083,0.602,0.079,
+0.336,0.443,0.540,0.759,0.502,0.634,0.563,0.393,0.355,0.678,
+0.682,0.599,0.489,0.701,0.653,0.070,0.426,0.615,0.693,0.637,
+0.655,1.390,1.410,0.606,0.559,1.200,0.673,0.419,0.424,0.680,
+0.879,0.080,0.335,0.604,1.350,0.815,0.566,1.340,1.030,0.678,
+0.529,0.829,0.733,0.583,0.557,0.709,0.667,0.062,0.380,0.605,
+0.857,0.910,0.570,1.000,0.783,0.750,0.754,0.984,0.067,0.062,
+0.056,0.087,0.703,0.064,0.486,0.692,0.773,0.992,0.799,1.110,
+1.310,0.764,0.707,1.340,0.806,0.657,0.538,0.856,1.130,0.093,
+0.711,1.140,1.660,1.540,1.480,2.960,2.700,1.660,1.500,2.220,
+1.730,1.340,0.967,1.230,1.500,0.161,0.686,1.150,1.370,1.390,
+0.801,1.490,2.110,1.430,1.530,1.470,1.690,1.290,1.110,1.090,
+1.470,0.237,1.660,1.690,0.911,1.480,0.869,1.260,1.230,1.490,
+0.955,1.330,0.145,0.177,0.141,0.197,1.090,0.148,0.795,1.110,
+0.848,1.320,1.140,1.470,1.250,0.783,0.678,1.140,1.420,1.290,
+0.914,1.300,0.928,0.108,0.633,0.956,1.110,1.050,1.110,1.950,
+2.090,1.450,0.823,1.480,1.680,1.440,0.913,0.964,1.000,0.143,
+0.460,0.864,0.783,1.040,0.624,1.020,1.780,1.740,0.810,1.010,
+1.710,1.100,1.020,0.960,1.270,0.228,0.732,1.100,0.789,1.430,
+0.780,0.960,1.120,1.730,1.200,1.360,0.161,0.266,0.331,0.264,
+1.330,0.240,0.957,1.240,0.917,1.740,2.180,1.690,0.911,0.799,
+0.541,0.866,1.260,1.430,1.090,1.180,0.950,0.099,0.664,0.917,
+1.040,1.130,1.160,1.710,1.170,0.871,0.523,1.010,1.200,1.180,
+0.983,1.060,1.030,0.175,0.529,0.778,0.696,0.899,0.566,0.977,
+0.085,0.166,0.062,0.093,0.115,0.179,0.135,0.120,0.110,0.044,
+0.096,0.106,0.078,0.191,0.084,0.107,0.876,1.230,0.855,0.962,
+0.117,0.180,0.147,0.151,1.270,0.234,0.837,1.110,0.802,1.750,
+1.080,1.190,0.811,0.648,0.546,0.911,1.210,1.520,1.240,1.310,
+1.120,0.124,0.816,1.150,0.861,0.974,1.060,1.770,1.250,0.770,
+0.589,1.050,0.863,0.628,0.572,0.677,0.934,0.096,0.422,0.633,
+0.951,0.825,0.597,1.130,1.400,1.370,0.922,1.240,1.350,1.300,
+1.290,1.300,1.090,0.165,0.799,1.120,0.936,1.660,0.853,1.260,
+0.839,1.150,0.889,1.100,0.089,0.127,0.092,0.120,1.080,0.135,
+0.918,1.320,0.874,1.570,1.170,1.450,1.160,0.869,0.710,1.080,
+1.090,1.300,0.801,1.120,1.240,0.123,0.981,1.630,1.450,1.610,
+1.790,2.680,1.420,0.863,0.656,1.120,0.933,0.802,0.567,0.783,
+0.993,0.105,0.476,0.702,0.913,0.812,0.520,0.834,1.440,1.120,
+0.610,0.828,1.100,0.966,0.668,0.647,1.070,0.137,0.749,0.860,
+0.718,1.020,0.711,0.800,1.160,1.410,0.904,1.250,0.143,0.206,
+0.121,0.227,1.040,0.152,0.736,0.967,0.726,1.340,0.913,1.130,
+0.932,0.759,0.509,0.963,0.913,1.120,0.698,1.000,1.030,0.112,
+0.771,1.140,1.090,0.978,1.110,1.870,0.087,0.082,0.043,0.086,
+0.091,0.111,0.059,0.075,0.064,0.014,0.052,0.069,0.060,0.097,
+0.052,0.081,0.097,0.114,0.052,0.067,0.121,0.166,0.091,0.079,
+0.096,0.030,0.118,0.108,0.060,0.119,0.072,0.072,0.071,0.131,
+0.063,0.074,0.014,0.040,0.023,0.019,0.111,0.037,0.120,0.109,
+0.063,0.158,0.111,0.106,0.073,0.080,0.045,0.084,0.120,0.190,
+0.083,0.119,0.094,0.018,0.097,0.111,0.085,0.089,0.096,0.150,
+0.964,0.758,0.439,0.547,0.839,0.942,0.858,0.728,0.830,0.157,
+0.564,0.611,0.605,0.776,0.570,0.819,0.073,0.126,0.048,0.060,
+0.073,0.118,0.098,0.062,0.079,0.030,0.087,0.069,0.062,0.149,
+0.074,0.089,0.781,1.440,0.790,0.774,0.107,0.188,0.135,0.112,
+1.210,0.217,0.508,0.813,0.562,1.260,0.840,0.865,0.620,0.663,
+0.510,0.597,0.901,1.220,0.939,0.889,1.140,0.146,1.110,1.030,
+0.654,0.840,0.885,1.120,0.846,0.590,0.428,0.773,0.654,0.564,
+0.429,0.606,0.702,0.095,0.497,0.654,0.692,0.797,0.627,0.900,
+1.100,1.110,0.617,0.760,0.948,1.080,0.774,0.698,0.950,0.134,
+0.747,0.830,0.758,1.420,0.883,1.040,1.200,1.630,0.874,1.040,
+0.135,0.246,0.139,0.121,1.320,0.174,1.060,1.390,0.980,1.580,
+1.160,1.540,0.894,0.716,0.611,0.864,0.889,1.070,0.761,0.861,
+1.290,0.126,1.160,1.440,1.100,1.230,1.390,2.000,2.320,0.972,
+0.780,1.480,1.070,0.656,0.487,0.863,1.050,0.098,0.442,0.843,
+1.230,0.915,0.632,1.500,1.260,0.670,0.417,0.668,0.829,0.497,
+0.452,0.548,0.680,0.061,0.372,0.602,0.588,0.595,0.359,0.705,
+1.020,0.940,0.611,1.060,0.100,0.102,0.072,0.145,0.848,0.081,
+0.529,0.844,0.815,0.920,0.875,1.250,1.190,0.629,0.575,1.170,
+0.833,0.628,0.524,0.923,0.910,0.071,0.628,1.080,1.310,0.897,
+1.030,2.400,1.390,0.948,0.546,0.994,1.040,0.788,0.520,0.702,
+0.750,0.073,0.455,0.727,0.695,0.739,0.524,1.070,1.120,0.846,
+0.381,0.694,0.852,0.713,0.480,0.623,0.787,0.084,0.548,0.804,
+0.586,0.765,0.496,0.793,0.799,0.845,0.485,0.827,0.056,0.088,
+0.047,0.084,0.869,0.091,0.588,0.922,0.710,1.030,0.858,1.150,
+0.948,0.611,0.471,0.895,0.879,0.822,0.561,0.940,0.863,0.070,
+0.760,0.991,0.915,0.817,0.933,1.630,1.400,1.010,0.636,0.848,
+1.080,0.934,0.803,1.030,1.060,0.139,0.595,0.845,0.841,0.856,
+0.782,1.300,0.090,0.155,0.050,0.071,0.077,0.097,0.067,0.075,
+0.073,0.014,0.061,0.072,0.072,0.109,0.065,0.109,0.951,1.190,
+0.780,1.050,0.093,0.126,0.087,0.123,1.230,0.151,0.750,1.120,
+0.841,1.320,1.270,1.450,1.100,0.966,0.694,1.020,1.320,1.670,
+1.170,1.440,1.500,0.137,1.210,1.540,1.170,1.070,1.370,1.990,
+2.020,0.913,0.729,1.340,1.040,0.730,0.588,0.818,1.280,0.104,
+0.661,1.070,1.440,1.080,1.030,2.110,1.580,1.240,0.659,0.998,
+1.520,1.520,0.808,0.965,1.210,0.099,0.784,1.300,0.996,1.190,
+0.857,1.510,1.460,1.560,1.160,1.710,0.110,0.117,0.090,0.143,
+1.810,0.152,1.850,3.160,1.540,1.950,2.210,3.050,2.290,1.400,
+1.310,2.520,1.740,1.430,1.250,1.960,2.280,0.135,2.080,3.390,
+2.540,1.950,2.460,2.970,4.190,2.210,1.980,3.930,2.400,1.420,
+1.410,1.570,2.720,0.246,1.320,1.740,3.070,2.130,1.420,2.440,
+2.870,1.520,1.240,1.570,1.780,1.040,1.040,0.960,1.760,0.160,
+1.200,1.280,1.340,1.180,0.940,1.260,2.070,1.330,1.950,1.980,
+0.182,0.140,0.155,0.252,1.220,0.121,0.821,0.989,1.140,1.220,
+1.010,1.250,2.750,1.210,1.440,2.550,1.880,1.330,1.200,1.760,
+1.500,0.112,0.920,1.300,1.890,1.050,1.270,2.040,2.270,1.220,
+0.957,1.490,1.260,0.848,0.719,0.782,1.180,0.120,0.562,0.812,
+0.895,0.911,0.713,0.920,1.660,1.070,0.810,0.831,0.937,0.596,
+0.646,0.613,1.150,0.125,0.768,0.898,0.686,0.787,0.792,0.700,
+1.160,1.010,0.878,1.040,0.099,0.098,0.096,0.124,0.993,0.111,
+0.659,0.754,0.574,0.898,0.659,0.700,0.984,0.605,0.521,0.813,
+0.920,0.737,0.606,0.840,0.860,0.063,0.562,0.760,0.764,0.589,
+0.715,1.050,1.980,0.665,0.814,1.120,1.260,0.875,0.937,0.907,
+1.480,0.184,0.642,0.922,1.010,0.901,0.704,1.140,0.163,0.127,
+0.082,0.106,0.126,0.099,0.083,0.081,0.118,0.023,0.115,0.105,
+0.135,0.199,0.107,0.141,0.952,0.822,0.817,0.763,0.086,0.073,
+0.084,0.094,0.781,0.089,0.612,0.647,0.550,0.704,0.860,0.700,
+0.821,0.570,0.546,0.753,0.921,0.732,0.727,0.932,0.877,0.081,
+0.620,0.926,0.741,0.679,0.761,1.140,2.680,0.897,0.890,1.500,
+0.994,0.836,1.200,0.790,1.110,0.106,0.600,0.774,1.370,0.915,
+0.838,1.610,1.780,1.320,0.870,1.040,1.340,0.784,0.772,0.739,
+1.130,0.094,0.962,1.000,1.150,1.060,0.853,1.180,1.080,0.785,
+0.887,1.240,0.085,0.061,0.089,0.112,0.800,0.058,0.662,0.732,
+0.847,0.811,0.849,0.909,1.480,0.753,0.862,1.420,0.739,0.524,
+0.773,0.836,1.370,0.097,0.900,1.350,1.710,1.170,1.300,2.330,
+3.830,2.500,1.970,3.070,2.190,1.680,1.540,1.620,1.880,0.217,
+0.979,1.620,1.790,1.800,1.170,2.070,2.980,2.450,1.650,1.710,
+2.150,1.560,1.530,1.370,2.140,0.284,1.690,1.950,1.230,1.540,
+1.030,1.480,1.680,1.640,2.070,1.730,0.208,0.223,0.220,0.251,
+1.230,0.165,0.994,1.110,0.849,1.520,1.020,1.230,1.710,0.903,
+1.060,1.470,1.950,1.500,1.280,1.490,1.130,0.106,0.820,1.100,
+1.120,1.010,1.100,1.810,2.450,1.970,1.000,1.350,1.680,1.500,
+1.130,1.090,1.480,0.202,0.724,1.040,0.898,1.230,0.665,1.010,
+1.830,1.920,1.050,0.997,1.200,0.625,1.040,0.849,1.640,0.239,
+1.200,1.460,0.720,1.250,0.958,1.010,1.520,1.900,1.540,1.610,
+0.174,0.238,0.313,0.336,1.360,0.256,1.110,1.300,0.754,1.880,
+1.110,1.160,1.100,0.806,0.660,0.924,1.280,1.240,1.160,1.310,
+0.960,0.107,0.683,0.864,0.707,0.868,0.837,1.160,2.490,2.050,
+1.100,1.350,1.810,1.930,1.820,1.410,1.860,0.294,1.170,1.550,
+0.971,1.330,1.080,1.450,0.218,0.428,0.140,0.146,0.162,0.277,
+0.223,0.144,0.188,0.066,0.315,0.221,0.117,0.274,0.177,0.194,
+1.990,1.990,1.480,1.320,0.192,0.251,0.224,0.183,1.480,0.247,
+1.280,1.420,0.788,1.670,1.540,1.330,1.370,1.260,0.878,0.945,
+1.550,1.880,1.510,1.470,1.350,0.159,1.230,1.470,0.781,0.991,
+1.220,1.400,1.770,1.210,0.787,1.140,0.998,1.010,0.823,0.752,
+0.931,0.098,0.619,0.827,0.937,0.799,0.742,1.290,2.000,2.180,
+1.180,1.270,1.460,1.490,1.360,1.160,1.310,0.156,1.570,1.600,
+1.010,1.360,1.080,1.410,1.100,1.110,1.120,1.220,0.099,0.120,
+0.103,0.128,0.952,0.105,0.911,1.070,0.855,1.090,1.070,1.170,
+1.200,0.692,0.741,0.989,0.979,0.848,0.725,0.964,1.190,0.101,
+1.040,1.750,1.350,1.300,1.380,1.970,3.580,1.660,1.850,2.210,
+1.110,0.921,0.818,0.916,1.470,0.160,0.767,1.040,1.350,1.270,
+0.777,1.360,2.360,2.340,1.720,1.540,1.500,1.360,1.320,1.100,
+2.160,0.259,1.570,1.870,1.300,1.500,0.959,1.240,4.200,3.490,
+19.3,4.750,0.399,0.418,0.825,0.706,1.860,0.258,1.700,1.370,
+1.000,1.700,1.570,1.500,1.700,1.080,2.580,2.920,1.140,1.190,
+1.740,1.460,1.570,0.148,1.030,1.280,1.270,1.060,1.290,2.380,
+0.221,0.184,0.137,0.182,0.176,0.203,0.127,0.141,0.165,0.032,
+0.104,0.128,0.121,0.176,0.124,0.161,0.240,0.290,0.212,0.162,
+0.202,0.269,0.203,0.134,0.274,0.065,0.269,0.237,0.146,0.257,
+0.144,0.149,0.219,0.338,0.720,0.325,0.029,0.071,0.099,0.064,
+0.232,0.049,0.234,0.233,0.116,0.264,0.201,0.174,0.212,0.166,
+0.256,0.382,0.267,0.377,0.375,0.461,0.205,0.031,0.166,0.204,
+0.174,0.181,0.203,0.313,1.270,0.914,0.735,0.722,0.904,1.170,
+1.070,0.752,1.560,0.230,0.969,1.080,0.761,0.917,0.716,0.872,
+0.127,0.180,0.098,0.099,0.105,0.282,0.136,0.099,0.165,0.048,
+0.148,0.132,0.107,0.196,0.122,0.120,0.912,1.930,1.310,0.975,
+0.134,0.439,0.173,0.187,1.220,0.199,0.821,0.983,0.508,0.994,
+0.905,0.801,0.684,0.679,0.697,0.961,0.959,1.740,1.200,2.390,
+0.958,0.140,0.846,0.957,0.563,0.690,0.746,0.913,1.070,0.626,
+0.499,0.700,0.594,0.484,0.441,0.420,0.806,0.078,0.462,0.608,
+0.728,0.575,0.445,0.820,1.510,1.250,0.882,0.983,1.140,1.610,
+0.971,0.770,1.360,0.168,1.090,1.510,1.020,1.260,0.978,1.170,
+1.010,1.230,1.300,1.030,0.106,0.169,0.132,0.124,1.050,0.118,
+0.921,0.992,0.665,1.070,0.936,1.050,1.080,0.685,0.704,0.835,
+0.813,0.889,0.709,0.983,1.140,0.125,0.963,1.220,1.130,1.250,
+1.100,1.630,2.970,1.230,1.380,2.060,1.020,0.667,0.664,0.739,
+1.250,0.112,0.598,0.897,1.570,1.060,0.869,1.710,1.550,0.851,
+0.921,0.983,0.884,0.523,0.616,0.632,1.120,0.093,0.647,0.881,
+1.180,0.746,0.595,0.955,1.630,1.110,2.540,2.150,0.147,0.111,
+0.153,0.228,0.966,0.088,0.663,0.836,0.834,0.902,0.763,1.170,
+1.910,0.853,1.670,3.290,1.180,0.786,0.973,1.500,1.120,0.083,
+0.704,1.030,1.550,1.030,1.240,2.760,2.140,1.180,0.939,1.370,
+1.150,0.919,0.722,0.760,1.170,0.113,0.800,1.030,0.927,0.890,
+0.825,1.150,1.950,1.320,1.140,1.100,1.110,0.983,0.794,0.746,
+1.630,0.198,1.190,1.410,1.010,1.230,0.762,0.951,1.380,1.300,
+1.850,1.670,0.098,0.139,0.139,0.183,1.220,0.121,0.882,1.140,
+0.850,1.250,0.948,1.210,1.480,0.841,1.330,1.740,1.220,1.220,
+1.120,1.360,1.090,0.113,0.799,0.929,0.919,1.060,1.250,1.370,
+1.710,0.869,0.711,0.909,1.100,0.822,0.901,0.897,1.690,0.176,
+0.869,1.110,1.090,0.938,0.861,1.230,0.133,0.111,0.070,0.108,
+0.084,0.110,0.101,0.083,0.135,0.021,0.107,0.123,0.134,0.159,
+0.104,0.138,1.000,1.180,0.887,1.030,0.102,0.118,0.104,0.140,
+1.180,0.142,0.808,0.999,0.770,1.170,1.080,1.210,0.940,0.668,
+0.725,1.020,1.120,1.050,1.090,1.610,1.360,0.112,0.942,1.420,
+1.180,0.922,1.110,1.590,2.250,0.904,0.892,1.320,0.905,0.636,
+0.669,0.700,1.160,0.095,0.633,0.912,1.490,0.905,0.885,1.810,
+1.230,0.872,0.630,0.931,0.865,0.819,0.659,0.673,1.120,0.085,
+0.774,1.160,1.240,1.010,0.796,1.320,1.490,1.270,1.280,1.570,
+0.114,0.106,0.094,0.144,1.310,0.120,1.090,1.380,1.290,1.660,
+1.370,1.960,2.380,1.130,1.290,2.510,1.430,1.180,1.170,1.690,
+2.200,0.126,1.730,2.490,3.440,2.260,3.090,3.920,0.304,0.209,
+0.175,0.263,0.203,0.148,0.140,0.134,0.193,0.027,0.132,0.150,
+0.176,0.158,0.118,0.152,0.270,0.193,0.156,0.154,0.206,0.165,
+0.172,0.135,0.180,0.033,0.178,0.171,0.121,0.144,0.159,0.149,
+0.152,0.155,0.148,0.153,0.022,0.021,0.023,0.024,0.111,0.018,
+0.111,0.094,0.073,0.112,0.103,0.108,0.175,0.100,0.101,0.160,
+0.176,0.164,0.127,0.163,0.124,0.013,0.105,0.131,0.118,0.091,
+0.122,0.186,0.255,0.189,0.244,0.416,0.199,0.161,0.150,0.129,
+0.156,0.027,0.115,0.144,0.110,0.140,0.226,0.151,0.255,0.218,
+0.160,0.161,0.202,0.166,0.190,0.153,0.210,0.049,0.227,0.217,
+0.104,0.173,0.357,0.150,0.136,0.164,0.120,0.123,0.027,0.031,
+0.032,0.024,0.293,0.034,0.128,0.123,0.079,0.160,0.129,0.105,
+0.105,0.075,0.062,0.082,0.144,0.128,0.100,0.127,0.135,0.017,
+0.106,0.122,0.088,0.095,0.160,0.177,0.158,0.088,0.085,0.105,
+0.157,0.123,0.130,0.109,0.158,0.030,0.107,0.122,0.086,0.104,
+0.092,0.125,0.025,0.025,0.020,0.018,0.025,0.031,0.033,0.020,
+0.027,0.010,0.050,0.025,0.017,0.034,0.032,0.023,0.100,0.152,
+0.119,0.093,0.018,0.023,0.024,0.021,0.114,0.027,0.122,0.121,
+0.057,0.118,0.113,0.106,0.080,0.056,0.061,0.075,0.115,0.122,
+0.126,0.165,0.106,0.017,0.112,0.119,0.075,0.090,0.115,0.141,
+0.203,0.081,0.078,0.122,0.088,0.088,0.091,0.085,0.105,0.014,
+0.063,0.079,0.109,0.096,0.076,0.148,0.227,0.171,0.138,0.146,
+0.169,0.164,0.153,0.126,0.149,0.027,0.180,0.186,0.120,0.165,
+0.136,0.188,0.124,0.109,0.147,0.160,0.014,0.014,0.017,0.019,
+0.113,0.016,0.100,0.104,0.081,0.123,0.162,0.133,0.121,0.072,
+0.086,0.146,0.086,0.075,0.090,0.115,0.156,0.015,0.115,0.160,
+0.146,0.129,0.157,0.241,0.287,0.220,0.169,0.227,0.245,0.231,
+0.180,0.166,0.169,0.030,0.104,0.145,0.171,0.156,0.114,0.161,
+0.322,0.293,0.201,0.169,0.299,0.288,0.275,0.198,0.254,0.062,
+0.285,0.275,0.105,0.178,0.180,0.172,0.142,0.198,0.225,0.158,
+0.029,0.047,0.055,0.034,0.135,0.027,0.133,0.120,0.070,0.143,
+0.125,0.125,0.112,0.075,0.086,0.121,0.184,0.175,0.167,0.146,
+0.105,0.015,0.089,0.110,0.088,0.093,0.111,0.166,0.243,0.262,
+0.154,0.150,0.255,0.323,0.192,0.153,0.183,0.040,0.119,0.134,
+0.090,0.153,0.093,0.120,0.266,0.316,0.200,0.150,0.212,0.127,
+0.245,0.189,0.267,0.089,0.262,0.297,0.100,0.234,0.191,0.206,
+0.155,0.282,0.195,0.165,0.039,0.074,0.063,0.043,0.205,0.068,
+0.178,0.193,0.081,0.261,0.191,0.165,0.107,0.087,0.074,0.085,
+0.152,0.195,0.140,0.149,0.122,0.022,0.121,0.129,0.070,0.112,
+0.115,0.147,0.257,0.178,0.120,0.121,0.252,0.284,0.271,0.160,
+0.209,0.053,0.209,0.236,0.088,0.144,0.138,0.157,0.069,0.070,
+0.032,0.027,0.048,0.098,0.097,0.036,0.046,0.038,0.134,0.060,
+0.017,0.056,0.046,0.035,0.180,0.296,0.255,0.170,0.049,0.095,
+0.087,0.048,0.213,0.076,0.251,0.215,0.078,0.233,0.245,0.186,
+0.111,0.089,0.085,0.092,0.188,0.271,0.264,0.228,0.182,0.035,
+0.204,0.195,0.082,0.114,0.205,0.181,0.174,0.124,0.091,0.117,
+0.111,0.116,0.096,0.086,0.101,0.013,0.077,0.109,0.092,0.092,
+0.079,0.135,0.501,0.292,0.187,0.163,0.246,0.296,0.355,0.222,
+0.189,0.046,0.300,0.264,0.116,0.195,0.169,0.195,0.115,0.163,
+0.176,0.146,0.016,0.025,0.027,0.019,0.125,0.022,0.154,0.146,
+0.075,0.140,0.173,0.154,0.103,0.079,0.078,0.096,0.099,0.114,
+0.094,0.113,0.122,0.017,0.135,0.212,0.117,0.140,0.186,0.231,
+0.195,0.153,0.131,0.170,0.126,0.122,0.094,0.114,0.120,0.020,
+0.081,0.089,0.096,0.106,0.069,0.099,0.231,0.294,0.193,0.157,
+0.230,0.255,0.242,0.181,0.255,0.064,0.293,0.260,0.108,0.186,
+0.129,0.136,0.179,0.300,0.700,0.274,0.034,0.070,0.123,0.070,
+0.187,0.046,0.176,0.175,0.073,0.183,0.160,0.137,0.101,0.094,
+0.137,0.170,0.132,0.185,0.206,0.224,0.143,0.023,0.122,0.131,
+0.098,0.114,0.135,0.198,0.019,0.022,0.016,0.019,0.026,0.041,
+0.030,0.022,0.020,0.011,0.022,0.018,0.012,0.024,0.017,0.016,
+0.038,0.060,0.036,0.029,0.058,0.085,0.073,0.040,0.052,0.044,
+0.090,0.067,0.019,0.061,0.037,0.029,0.023,0.075,0.090,0.039,
+0.015,0.041,0.076,0.028,0.054,0.034,0.066,0.064,0.015,0.063,
+0.048,0.030,0.016,0.015,0.020,0.027,0.041,0.083,0.069,0.088,
+0.026,0.010,0.040,0.031,0.015,0.022,0.027,0.030,0.125,0.145,
+0.115,0.093,0.122,0.236,0.280,0.162,0.185,0.060,0.233,0.322,
+0.079,0.148,0.137,0.197,0.020,0.048,0.029,0.021,0.032,0.085,
+0.074,0.043,0.041,0.040,0.094,0.051,0.020,0.049,0.039,0.024,
+0.135,0.678,0.279,0.174,0.049,0.394,0.086,0.082,0.211,0.091,
+0.231,0.203,0.071,0.254,0.203,0.153,0.079,0.106,0.102,0.317,
+0.176,0.687,0.297,1.140,0.156,0.045,0.216,0.240,0.073,0.118,
+0.158,0.174,0.113,0.099,0.074,0.097,0.073,0.074,0.072,0.065,
+0.105,0.016,0.076,0.106,0.075,0.085,0.061,0.112,0.189,0.214,
+0.157,0.138,0.216,0.308,0.258,0.177,0.234,0.059,0.261,0.332,
+0.145,0.238,0.222,0.196,0.108,0.218,0.184,0.155,0.018,0.056,
+0.036,0.026,0.163,0.045,0.195,0.196,0.077,0.203,0.159,0.159,
+0.087,0.083,0.081,0.119,0.099,0.145,0.117,0.236,0.134,0.021,
+0.181,0.186,0.107,0.151,0.162,0.200,0.280,0.154,0.142,0.215,
+0.190,0.119,0.106,0.183,0.185,0.020,0.092,0.159,0.162,0.123,
+0.113,0.207,0.219,0.143,0.131,0.135,0.158,0.114,0.121,0.127,
+0.158,0.022,0.126,0.161,0.134,0.112,0.102,0.144,0.173,0.157,
+0.206,0.203,0.020,0.019,0.022,0.035,0.130,0.018,0.131,0.129,
+0.098,0.125,0.117,0.152,0.199,0.103,0.172,0.286,0.152,0.111,
+0.122,0.251,0.168,0.016,0.114,0.186,0.197,0.134,0.156,0.385,
+0.339,0.275,0.190,0.236,0.261,0.287,0.223,0.201,0.259,0.051,
+0.254,0.274,0.163,0.220,0.173,0.224,0.458,0.387,0.262,0.261,
+0.374,0.394,0.304,0.257,0.384,0.074,0.426,0.463,0.206,0.336,
+0.237,0.251,0.252,0.373,0.386,0.323,0.031,0.058,0.062,0.065,
+0.317,0.055,0.263,0.313,0.157,0.338,0.257,0.274,0.263,0.185,
+0.211,0.301,0.290,0.330,0.326,0.503,0.308,0.044,0.246,0.278,
+0.196,0.282,0.267,0.334,0.169,0.115,0.092,0.112,0.143,0.151,
+0.213,0.152,0.221,0.040,0.170,0.183,0.116,0.139,0.141,0.175,
+0.021,0.021,0.018,0.020,0.025,0.046,0.053,0.027,0.032,0.011,
+0.040,0.034,0.025,0.034,0.032,0.028,0.120,0.225,0.188,0.161,
+0.024,0.045,0.035,0.042,0.206,0.054,0.197,0.203,0.112,0.238,
+0.230,0.255,0.118,0.093,0.113,0.164,0.164,0.195,0.214,0.380,
+0.230,0.028,0.219,0.286,0.232,0.143,0.216,0.272,0.250,0.138,
+0.115,0.165,0.137,0.116,0.114,0.116,0.157,0.019,0.110,0.146,
+0.160,0.123,0.111,0.221,0.205,0.172,0.114,0.143,0.175,0.252,
+0.196,0.161,0.173,0.025,0.170,0.208,0.165,0.216,0.152,0.210,
+0.172,0.195,0.186,0.223,0.016,0.023,0.022,0.026,0.189,0.028,
+0.200,0.225,0.152,0.287,0.232,0.271,0.242,0.136,0.168,0.301,
+0.183,0.171,0.178,0.274,0.263,0.021,0.283,0.357,0.345,0.276,
+0.389,0.421,2.460,1.410,1.160,1.730,1.340,0.942,0.882,0.898,
+1.180,0.125,0.731,0.950,1.280,1.140,0.805,1.150,1.480,1.050,
+0.691,0.828,1.090,0.772,0.829,0.675,0.996,0.114,0.909,0.847,
+0.690,0.774,0.739,0.835,1.070,1.140,0.835,1.030,0.110,0.112,
+0.102,0.147,0.764,0.090,0.633,0.923,0.550,0.741,0.675,0.767,
+1.010,0.520,0.471,0.819,0.811,0.619,0.562,0.715,0.719,0.058,
+0.476,0.643,0.705,0.412,0.691,1.020,1.610,1.210,0.678,1.040,
+1.210,0.956,0.797,0.773,0.896,0.114,0.577,0.708,0.654,0.812,
+0.501,0.732,1.470,1.230,0.777,0.774,1.280,0.751,1.130,0.710,
+1.230,0.170,1.380,1.310,0.626,0.855,0.779,0.723,1.270,1.530,
+0.975,1.090,0.154,0.173,0.179,0.179,1.210,0.186,1.060,1.450,
+0.618,1.300,0.974,0.911,0.782,0.530,0.365,0.534,0.998,0.793,
+0.697,0.787,0.867,0.073,0.525,0.727,0.633,0.508,0.551,0.861,
+1.420,0.686,0.690,0.907,1.230,1.000,1.170,0.957,1.690,0.207,
+2.540,1.290,0.882,0.886,0.912,1.160,0.172,0.176,0.161,0.162,
+0.221,0.204,0.262,0.169,0.228,0.058,1.750,0.324,0.151,0.329,
+0.279,0.355,1.150,1.170,2.260,1.530,0.153,0.134,0.296,0.217,
+1.160,0.176,1.230,1.040,0.603,0.985,1.110,0.937,0.745,0.528,
+0.753,0.734,1.180,1.010,2.190,1.330,0.885,0.098,0.970,0.877,
+0.644,0.597,0.886,1.090,1.160,0.552,0.485,0.833,0.646,0.695,
+0.500,0.501,0.719,0.080,0.643,0.619,0.958,0.698,0.533,1.200,
+1.100,0.934,0.765,1.020,1.130,0.830,0.955,0.759,0.966,0.138,
+3.260,1.500,0.779,1.170,0.957,2.210,0.911,0.916,1.140,1.270,
+0.108,0.097,0.142,0.158,0.999,0.115,0.957,1.120,0.786,1.010,
+1.160,1.240,0.932,0.577,0.609,1.000,0.683,0.557,0.946,0.888,
+0.951,0.086,0.884,1.460,1.150,0.933,1.150,2.180,0.164,0.133,
+0.097,0.134,0.143,0.133,0.113,0.117,0.104,0.018,0.065,0.093,
+0.094,0.109,0.076,0.113,0.190,0.190,0.129,0.113,0.207,0.196,
+0.254,0.148,0.157,0.041,0.211,0.151,0.092,0.144,0.130,0.128,
+0.086,0.136,0.105,0.099,0.019,0.031,0.032,0.025,0.091,0.025,
+0.104,0.106,0.051,0.108,0.099,0.102,0.080,0.053,0.045,0.064,
+0.111,0.102,0.089,0.093,0.069,0.010,0.056,0.073,0.072,0.059,
+0.072,0.121,0.128,0.153,0.067,0.084,0.125,0.132,0.129,0.079,
+0.091,0.021,0.061,0.075,0.048,0.077,0.056,0.065,0.178,0.208,
+0.129,0.092,0.203,0.132,0.312,0.122,0.171,0.059,0.238,0.175,
+0.070,0.131,0.134,0.105,0.100,0.182,0.108,0.102,0.029,0.053,
+0.064,0.030,0.166,0.072,0.177,0.172,0.067,0.185,0.154,0.116,
+0.096,0.063,0.036,0.048,0.095,0.108,0.094,0.084,0.076,0.012,
+0.065,0.069,0.050,0.052,0.061,0.079,0.129,0.098,0.115,0.083,
+0.170,0.210,0.282,0.132,0.190,0.056,1.180,0.347,0.092,0.169,
+0.160,0.136,0.025,0.047,0.044,0.022,0.050,0.087,0.110,0.035,
+0.061,0.051,1.770,0.102,0.016,0.061,0.105,0.050,0.116,0.189,
+0.230,0.148,0.038,0.058,0.120,0.040,0.204,0.088,0.356,0.202,
+0.077,0.205,0.241,0.149,0.081,0.067,0.069,0.083,0.152,0.188,
+0.249,0.158,0.121,0.027,0.234,0.133,0.060,0.084,0.130,0.137,
+0.116,0.108,0.088,0.114,0.090,0.107,0.082,0.072,0.088,0.014,
+0.138,0.113,0.100,0.100,0.093,0.182,0.192,0.214,0.167,0.164,
+0.237,0.269,0.271,0.187,0.214,0.055,1.640,0.308,0.128,0.249,
+0.250,0.460,0.096,0.147,0.166,0.152,0.013,0.028,0.034,0.023,
+0.145,0.034,0.180,0.181,0.100,0.164,0.263,0.191,0.103,0.077,
+0.071,0.097,0.096,0.112,0.110,0.107,0.111,0.013,0.127,0.177,
+0.105,0.114,0.156,0.239,1.140,1.000,0.726,1.290,0.885,0.843,
+0.630,0.688,0.883,0.101,0.624,0.713,0.556,0.510,0.414,0.585,
+1.330,1.310,0.805,0.891,1.400,1.170,1.660,0.901,1.500,0.232,
+2.770,1.760,0.590,0.972,0.780,0.869,0.891,1.340,1.210,1.060,
+0.153,0.220,0.208,0.231,1.180,0.205,1.490,1.260,0.621,1.070,
+0.935,0.871,0.632,0.461,0.379,0.615,0.702,0.689,0.622,0.800,
+0.834,0.099,0.829,0.839,0.621,0.501,0.746,1.060,0.109,0.113,
+0.066,0.088,0.141,0.189,0.128,0.107,0.104,0.026,0.151,0.109,
+0.047,0.077,0.054,0.072,0.172,0.179,0.109,0.086,0.245,0.210,
+0.237,0.128,0.228,0.075,1.330,0.454,0.063,0.121,0.132,0.091,
+0.106,0.219,0.147,0.111,0.032,0.072,0.073,0.039,0.224,0.084,
+0.288,0.301,0.082,0.197,0.171,0.143,0.136,0.089,0.046,0.070,
+0.130,0.169,0.120,0.138,0.105,0.021,0.128,0.135,0.072,0.071,
+0.086,0.113,1.430,0.848,0.776,0.567,1.080,1.240,1.470,0.775,
+1.180,0.229,1.520,1.040,0.483,0.774,0.893,0.717,0.131,0.198,
+0.154,0.098,0.132,0.239,0.238,0.101,0.194,0.080,0.397,0.195,
+0.082,0.196,0.215,0.118,1.220,1.350,1.620,1.030,0.197,0.236,
+0.357,0.179,1.030,0.235,0.513,0.489,0.447,0.702,0.938,0.689,
+0.532,0.489,0.545,0.426,0.720,0.901,1.140,0.881,0.880,0.147,
+1.190,0.849,0.416,0.635,0.934,0.849,0.704,0.458,0.430,0.540,
+0.501,0.427,0.384,0.357,0.526,0.066,0.470,0.574,0.371,0.400,
+0.345,0.567,0.884,0.942,0.650,0.660,0.917,1.170,0.954,0.627,
+0.973,0.167,1.220,1.030,0.542,1.000,0.805,0.801,0.802,1.080,
+0.989,0.850,0.108,0.175,0.149,0.121,1.190,0.190,1.400,1.180,
+0.544,1.080,1.010,0.904,0.541,0.419,0.369,0.486,0.630,0.665,
+0.595,0.636,0.803,0.094,1.040,0.970,0.565,0.703,0.924,0.976,
+1.260,0.633,0.478,0.846,0.654,0.478,0.428,0.533,0.769,0.073,
+0.365,0.521,0.684,0.497,0.375,0.741,1.050,0.609,0.382,0.573,
+0.688,0.415,0.550,0.482,0.719,0.060,0.451,0.538,0.449,0.439,
+0.336,0.479,0.800,0.700,0.512,0.717,0.097,0.081,0.071,0.116,
+0.710,0.079,0.533,0.786,0.751,0.738,0.665,0.815,1.120,0.540,
+0.358,0.641,0.705,0.433,0.368,0.626,0.643,0.051,0.354,0.516,
+0.735,0.454,0.545,0.989,1.350,1.010,0.598,0.813,1.050,1.130,
+0.925,0.744,0.840,0.106,0.744,0.737,0.560,0.591,0.441,0.715,
+1.580,1.350,0.740,0.859,1.520,1.280,1.180,0.947,1.330,0.193,
+2.770,1.730,0.590,0.832,0.743,0.720,1.120,1.530,0.919,0.906,
+0.128,0.223,0.156,0.165,1.280,0.223,1.320,1.510,0.722,1.430,
+1.130,1.120,2.380,1.390,0.590,0.799,1.180,1.230,0.863,1.100,
+0.978,0.106,0.773,0.908,0.782,0.739,0.778,1.070,1.300,0.746,
+0.656,0.658,1.000,0.937,2.460,1.040,1.160,0.139,1.060,0.966,
+0.631,0.658,0.751,0.995,0.127,0.131,0.127,0.098,0.149,0.218,
+0.568,0.174,0.129,0.040,0.276,0.157,0.084,0.140,0.138,0.127,
+1.100,1.330,1.250,1.050,0.129,0.157,0.263,0.172,2.230,0.304,
+1.280,1.450,0.924,1.360,1.520,1.250,0.805,0.605,0.678,0.716,
+1.020,1.050,1.430,1.210,1.310,0.127,1.130,1.280,0.875,0.863,
+1.180,1.240,1.030,0.532,0.485,0.663,0.580,0.487,0.621,0.442,
+0.667,0.065,0.433,0.559,0.705,0.448,0.446,0.796,0.961,0.730,
+0.587,0.733,0.805,0.977,1.200,0.682,0.786,0.088,0.780,0.852,
+0.609,0.692,0.635,0.858,0.922,0.964,0.891,1.040,0.090,0.107,
+0.108,0.122,1.270,0.142,1.220,1.390,0.829,1.160,1.320,1.330,
+0.997,0.549,0.586,0.948,0.808,0.748,0.880,0.957,1.020,0.081,
+1.060,1.370,1.110,0.970,1.320,1.500,2.310,1.090,0.919,1.860,
+1.060,0.648,0.589,0.745,1.140,0.099,0.490,0.824,1.450,1.140,
+0.666,1.300,1.160,0.603,0.439,0.693,0.705,0.432,0.413,0.440,
+0.737,0.059,0.472,0.584,0.665,0.634,0.458,0.733,0.895,0.653,
+0.564,0.819,0.102,0.065,0.061,0.113,0.600,0.050,0.356,0.515,
+0.519,0.562,0.520,0.708,1.060,0.481,0.510,0.936,0.838,0.504,
+0.463,0.729,0.722,0.052,0.507,0.825,0.880,0.542,0.692,1.400,
+1.280,0.705,0.526,1.030,0.798,0.560,0.403,0.484,0.657,0.058,
+0.352,0.628,0.553,0.575,0.348,0.663,0.827,0.515,0.361,0.558,
+0.619,0.359,0.355,0.354,0.575,0.052,0.436,0.552,0.432,0.449,
+0.365,0.464,0.682,0.558,0.376,0.574,0.055,0.051,0.040,0.059,
+0.633,0.053,0.319,0.466,0.516,0.595,0.425,0.497,0.536,0.307,
+0.231,0.423,0.489,0.354,0.267,0.414,0.491,0.030,0.267,0.453,
+0.457,0.343,0.365,0.674,1.090,0.474,0.448,0.643,0.862,0.512,
+0.706,0.617,0.938,0.093,0.486,0.919,0.703,0.545,0.418,0.914,
+0.084,0.060,0.046,0.072,0.078,0.065,0.068,0.062,0.083,0.012,
+0.131,0.103,0.094,0.114,0.069,0.150,0.609,0.506,0.683,0.691,
+0.061,0.059,0.067,0.077,0.574,0.068,0.359,0.555,0.437,0.627,
+0.502,0.591,0.571,0.384,0.401,0.584,0.784,0.684,0.617,0.682,
+0.659,0.069,0.390,0.627,0.534,0.498,0.530,0.883,1.300,0.470,
+0.441,0.862,0.621,0.439,0.407,0.491,0.737,0.057,0.388,0.709,
+1.080,0.593,0.448,1.160,0.898,0.537,0.435,0.654,0.621,0.514,
+0.410,0.484,0.712,0.056,0.674,0.933,0.742,0.790,0.498,1.470,
+0.713,0.562,0.805,0.974,0.057,0.050,0.061,0.085,0.557,0.046,
+0.402,0.598,0.538,0.599,0.615,0.807,1.020,0.505,0.576,1.260,
+0.704,0.488,0.480,0.756,1.170,0.077,0.631,1.180,1.140,0.882,
+0.979,2.050,2.690,1.490,1.140,2.060,1.680,1.240,1.070,1.330,
+1.250,0.140,0.663,1.390,1.420,1.250,0.990,1.860,1.930,1.220,
+0.932,1.230,1.480,1.040,1.250,1.060,1.340,0.146,1.080,1.320,
+0.912,0.999,0.844,1.220,1.150,1.060,0.846,1.180,0.120,0.130,
+0.108,0.165,0.918,0.114,0.733,1.000,0.664,0.938,0.865,1.260,
+1.100,0.635,0.667,1.010,1.290,0.937,0.809,1.100,0.791,0.078,
+0.532,1.020,0.891,0.732,0.839,1.720,1.860,1.280,0.717,1.210,
+1.570,1.160,0.933,0.933,0.989,0.115,0.540,0.975,0.822,0.832,
+0.551,1.040,1.680,1.240,0.814,0.973,1.970,0.946,1.450,0.962,
+1.320,0.171,1.030,1.350,0.839,1.010,0.851,0.946,0.979,1.120,
+0.701,1.010,0.118,0.134,0.115,0.134,1.170,0.183,0.815,1.230,
+0.674,1.290,0.977,1.270,0.806,0.558,0.401,0.677,0.983,0.810,
+0.598,0.837,0.697,0.065,0.505,0.872,0.607,0.582,0.631,1.090,
+1.450,0.879,1.150,1.070,1.460,1.270,1.940,1.320,1.370,0.258,
+2.450,3.850,0.848,1.040,0.914,1.670,0.107,0.126,0.088,0.114,
+0.150,0.202,0.182,0.130,0.147,0.049,1.350,0.345,0.094,0.189,
+0.168,0.172,1.020,1.130,1.110,1.110,0.127,0.165,0.167,0.166,
+1.240,0.224,1.070,1.540,0.765,1.350,1.280,1.400,0.899,0.695,
+0.650,1.170,1.440,1.460,1.340,1.510,1.200,0.140,1.050,1.550,
+0.773,0.849,1.110,1.860,1.340,0.830,0.734,1.140,0.866,0.727,
+0.781,0.780,0.903,0.096,0.762,1.460,0.934,0.830,0.740,1.480,
+1.410,1.210,0.898,1.220,1.300,1.420,1.250,1.310,1.240,0.164,
+2.760,2.100,0.995,1.420,1.220,1.860,0.935,0.997,1.130,1.240,
+0.089,0.119,0.147,0.137,1.010,0.122,0.960,1.320,0.790,1.050,
+1.420,1.580,1.080,0.724,0.698,1.100,1.110,1.130,0.799,1.090,
+1.040,0.096,0.852,1.790,1.140,0.995,1.280,2.350,1.650,0.908,
+0.681,1.150,0.875,0.787,0.663,0.727,1.090,0.104,0.498,0.710,
+1.130,0.720,0.466,0.790,1.320,1.060,0.616,0.821,1.170,0.895,
+0.785,0.707,1.250,0.148,1.120,1.110,0.919,0.925,0.678,0.818,
+0.883,1.140,1.140,1.130,0.114,0.162,0.147,0.194,1.050,0.181,
+0.834,0.993,0.880,1.270,1.210,0.955,0.791,0.527,0.544,0.947,
+0.819,0.744,0.627,0.828,0.883,0.089,0.701,0.956,0.886,0.704,
+1.200,1.580,0.106,0.088,0.064,0.099,0.104,0.118,0.131,0.089,
+0.082,0.015,0.067,0.078,0.080,0.085,0.058,0.092,0.122,0.146,
+0.066,0.078,0.208,0.171,0.137,0.110,0.144,0.038,0.218,0.171,
+0.082,0.130,0.092,0.086,0.069,0.129,0.093,0.092,0.017,0.035,
+0.029,0.024,0.133,0.037,0.140,0.143,0.080,0.174,0.138,0.110,
+0.086,0.071,0.053,0.103,0.112,0.126,0.089,0.133,0.091,0.019,
+0.083,0.107,0.080,0.093,0.099,0.134,1.050,0.737,0.970,0.658,
+1.160,1.230,5.000,1.270,0.943,0.171,1.000,0.951,0.573,0.766,
+0.986,0.878,0.084,0.111,0.070,0.071,0.107,0.152,0.241,0.084,
+0.106,0.032,0.130,0.105,0.080,0.145,0.138,0.101,0.851,1.240,
+1.270,1.040,0.107,0.181,0.213,0.152,1.210,0.193,0.625,0.980,
+0.580,1.020,1.030,0.971,0.665,0.741,0.556,0.806,0.952,1.120,
+1.080,1.100,0.994,0.132,0.976,1.090,0.581,0.714,0.900,1.110,
+0.915,0.569,0.471,0.653,0.592,0.564,1.100,0.554,0.658,0.073,
+0.553,0.701,0.561,0.594,0.532,0.824,1.070,1.010,0.652,0.815,
+0.960,1.420,1.010,0.753,1.080,0.134,1.090,1.250,0.840,1.210,
+1.230,1.200,0.872,1.090,0.865,0.952,0.080,0.132,0.113,0.117,
+1.060,0.123,0.986,1.230,0.704,1.120,1.190,1.240,0.892,0.622,
+0.574,0.778,0.764,0.848,0.729,0.880,1.110,0.099,1.140,1.440,
+0.869,0.907,1.180,1.610,2.940,0.999,0.743,1.420,1.000,0.615,
+0.545,0.756,1.200,0.118,0.556,0.805,1.330,0.844,0.657,1.230,
+1.440,0.705,0.401,0.691,0.888,0.595,0.471,0.712,1.080,0.075,
+0.499,0.696,0.794,0.562,0.401,0.644,1.130,0.865,0.648,1.200,
+0.150,0.124,0.081,0.196,0.923,0.090,0.508,0.784,1.140,0.983,
+0.689,0.990,1.440,0.521,0.583,1.290,0.880,0.470,0.446,0.803,
+0.848,0.053,0.476,0.826,1.210,0.672,0.947,2.000,1.550,0.859,
+0.798,0.953,0.947,0.971,0.886,0.740,0.759,0.072,0.523,0.684,
+0.754,0.607,0.559,0.901,1.310,0.907,0.487,0.729,1.140,0.897,
+0.608,0.715,0.992,0.091,0.802,0.992,0.720,0.731,0.540,0.789,
+0.816,0.855,0.591,0.808,0.067,0.091,0.059,0.096,0.869,0.099,
+0.709,0.882,0.753,1.020,0.782,1.030,1.150,0.628,0.590,0.912,
+0.806,0.666,0.536,0.841,0.861,0.061,0.583,0.818,0.916,0.614,
+0.747,1.290,1.530,0.810,0.663,0.808,1.170,1.040,1.530,1.050,
+1.420,0.136,0.828,1.120,0.986,0.872,0.825,1.380,0.115,0.130,
+0.065,0.093,0.137,0.381,0.161,0.114,0.118,0.022,0.097,0.109,
+0.110,0.132,0.089,0.140,1.140,1.230,0.987,1.140,0.109,0.164,
+0.133,0.157,1.600,0.173,0.960,1.340,1.050,1.430,1.400,1.630,
+1.180,0.917,0.731,1.150,1.310,1.310,1.160,1.420,1.570,0.124,
+1.080,1.660,1.140,0.966,1.110,1.820,2.520,0.992,0.715,1.240,
+1.040,1.060,0.663,0.697,1.510,0.117,0.654,0.976,1.520,0.983,
+0.813,1.830,1.610,1.810,0.632,0.956,1.820,5.020,0.963,0.965,
+1.340,0.189,0.842,1.200,1.090,1.200,0.817,1.450,1.440,1.470,
+0.995,1.430,0.107,0.242,0.080,0.142,1.440,0.123,1.140,1.650,
+1.360,1.500,1.540,2.200,2.290,1.060,0.987,1.960,1.310,1.250,
+0.956,1.380,1.720,0.116,1.370,2.190,2.240,1.430,1.740,2.850,
+3.560,2.430,2.050,4.620,2.160,1.280,1.230,1.720,2.810,0.222,
+1.170,1.900,4.120,2.700,1.580,3.300,2.490,1.210,0.969,1.460,
+1.310,0.745,0.656,0.807,1.550,0.104,0.701,1.010,1.340,1.050,
+0.778,1.350,2.030,1.260,1.190,1.980,0.151,0.108,0.091,0.214,
+1.150,0.082,0.572,0.877,1.140,1.140,0.840,1.430,3.170,1.310,
+1.420,3.410,1.950,1.300,1.120,2.060,1.550,0.103,0.767,1.330,
+2.250,1.270,1.310,2.550,2.360,1.080,0.773,1.440,1.060,0.583,
+0.481,0.633,1.010,0.080,0.425,0.711,0.951,0.764,0.506,1.010,
+1.430,0.742,0.530,0.722,0.680,0.350,0.380,0.416,0.802,0.056,
+0.374,0.577,0.581,0.461,0.373,0.580,1.180,0.805,0.616,0.977,
+0.082,0.062,0.045,0.090,1.290,0.072,0.435,0.623,0.572,0.578,
+0.454,0.697,1.070,0.567,0.417,0.862,0.869,0.691,0.401,0.663,
+0.727,0.046,0.310,0.526,0.719,0.537,0.479,1.050,1.920,0.878,
+0.722,1.250,1.050,0.571,0.601,0.723,1.080,0.106,0.470,0.760,
+1.280,0.828,0.647,1.370,0.151,0.109,0.066,0.109,0.079,0.061,
+0.048,0.067,0.080,7.69e-3,0.050,0.076,0.122,0.122,0.078,0.148,
+0.851,0.600,0.596,0.724,0.070,0.042,0.041,0.070,0.644,0.053,
+0.384,0.487,0.553,0.550,0.540,0.670,0.863,0.511,0.482,0.793,
+0.904,0.569,0.541,0.751,0.765,0.058,0.456,0.710,0.796,0.619,
+0.687,1.320,3.180,1.040,0.927,2.160,1.080,0.654,0.829,0.954,
+1.350,0.112,0.589,1.010,1.990,1.090,0.880,2.230,1.730,1.100,
+0.773,1.170,0.947,0.596,0.574,0.755,0.948,0.066,0.610,0.940,
+1.180,0.902,0.755,1.390,1.230,0.788,0.838,1.260,0.083,0.057,
+0.067,0.108,0.842,0.052,0.793,0.830,0.872,0.797,0.834,1.120,
+1.880,0.927,0.954,2.100,0.970,0.681,0.746,1.170,1.470,0.081,
+0.952,1.450,2.380,1.550,1.590,3.440,2.810,1.460,1.130,2.080,
+1.240,0.862,0.669,0.934,1.060,0.092,0.460,0.898,1.360,1.090,
+0.675,1.490,1.520,0.934,0.691,0.904,0.849,0.566,0.483,0.582,
+0.778,0.071,0.427,0.737,0.700,0.696,0.441,0.904,1.100,0.783,
+0.752,1.000,0.100,0.086,0.069,0.114,0.753,0.064,0.364,0.558,
+0.628,0.837,0.490,0.792,1.190,0.682,0.631,1.160,1.110,0.787,
+0.653,0.874,0.690,0.053,0.359,0.613,0.919,0.680,0.655,1.410,
+1.600,1.030,0.542,0.995,0.869,0.635,0.477,0.594,0.670,0.064,
+0.341,0.522,0.647,0.608,0.347,0.801,0.895,0.825,0.340,0.506,
+0.487,0.197,0.279,0.333,0.553,0.060,0.307,0.489,0.409,0.463,
+0.305,0.557,0.851,0.745,0.520,0.839,0.063,0.057,0.057,0.097,
+0.654,0.095,0.335,0.585,0.465,0.689,0.451,0.628,0.882,0.501,
+0.365,0.809,0.644,0.587,0.367,0.595,0.541,0.040,0.279,0.484,
+0.535,0.511,0.399,0.865,1.520,1.550,0.681,0.996,0.950,0.727,
+0.736,0.751,0.926,0.100,0.497,0.850,0.843,0.704,0.561,1.140,
+0.152,0.314,0.059,0.078,0.066,0.076,0.059,0.060,0.062,0.012,
+0.056,0.080,0.069,0.087,0.055,0.098,0.887,0.756,0.581,0.714,
+0.066,0.059,0.050,0.064,0.586,0.057,0.369,0.540,0.494,0.593,
+0.523,0.661,0.782,0.630,0.463,0.709,0.758,0.688,0.544,0.700,
+0.736,0.060,0.495,0.718,0.638,0.536,0.633,1.030,1.450,1.070,
+0.587,0.986,0.721,0.754,0.458,0.579,0.684,0.071,0.417,0.785,
+0.894,0.595,0.508,1.420,1.300,1.640,0.540,0.764,0.638,0.551,
+0.460,0.590,0.486,0.046,0.486,0.693,0.576,0.579,0.466,0.878,
+0.791,0.549,0.598,0.813,0.049,0.043,0.039,0.060,0.496,0.038,
+0.396,0.546,0.571,0.549,0.568,0.771,0.927,0.469,0.554,0.889,
+0.640,0.510,0.405,0.658,0.775,0.053,0.505,0.917,1.160,1.120,
+0.949,1.720,2.380,1.200,0.912,2.070,0.778,0.582,0.444,0.781,
+0.971,0.105,0.537,0.804,1.260,1.270,0.545,1.300,1.550,0.934,
+0.623,1.020,0.717,0.494,0.434,0.584,0.872,0.073,0.500,0.713,
+0.944,0.851,0.500,0.948,1.500,1.140,2.380,1.910,0.121,0.105,
+0.131,0.227,0.689,0.073,0.494,0.575,0.630,0.888,0.544,0.895,
+1.520,0.849,1.600,2.320,0.913,0.693,0.825,1.400,0.861,0.077,
+0.581,0.881,1.250,1.000,0.930,2.370,0.180,0.111,0.066,0.161,
+0.084,0.077,0.050,0.087,0.087,0.011,0.047,0.071,0.103,0.111,
+0.066,0.126,0.141,0.097,0.058,0.089,0.082,0.069,0.044,0.061,
+0.086,0.011,0.064,0.082,0.097,0.091,0.058,0.103,0.124,0.109,
+0.118,0.149,0.011,0.012,9.02e-3,0.020,0.086,0.013,0.054,0.068,
+0.075,0.105,0.061,0.110,0.180,0.108,0.113,0.248,0.148,0.155,
+0.111,0.269,0.097,0.011,0.070,0.103,0.139,0.137,0.105,0.258,
+1.050,0.613,0.426,0.639,0.598,0.534,0.438,0.483,0.885,0.099,
+0.460,0.636,0.834,0.689,0.443,0.782,0.096,0.071,0.038,0.061,
+0.050,0.061,0.036,0.041,0.063,8.36e-3,0.050,0.055,0.088,0.090,
+0.049,0.091,0.716,0.784,0.546,0.631,0.107,0.093,0.050,0.079,
+0.592,0.062,0.273,0.408,0.400,0.502,0.414,0.582,0.643,0.496,
+0.460,0.707,0.752,0.699,0.517,0.989,0.736,0.064,0.445,0.625,
+0.586,0.531,0.544,0.881,1.030,0.536,0.407,0.747,0.514,0.349,
+0.287,0.363,0.683,0.064,0.419,0.550,0.916,0.598,0.375,0.955,
+1.270,0.714,0.462,0.738,0.720,0.547,0.398,0.436,0.703,0.060,
+0.607,0.760,0.934,0.740,0.532,1.170,0.796,0.695,0.513,0.799,
+0.070,0.061,0.044,0.069,0.601,0.052,0.419,0.589,0.602,0.683,
+0.519,0.902,1.030,0.557,0.577,0.902,0.687,0.556,0.451,0.725,
+0.911,0.071,0.649,0.991,1.190,0.989,0.917,1.730,3.370,1.390,
+1.300,2.840,1.090,0.638,0.588,0.886,1.250,0.100,0.679,1.000,
+1.970,1.270,0.988,2.280,1.460,0.633,0.611,1.030,0.669,0.367,
+0.382,0.534,0.774,0.050,0.447,0.664,0.988,0.573,0.539,1.080,
+1.770,0.987,1.590,2.260,0.124,0.087,0.093,0.217,0.844,0.066,
+0.609,0.840,0.932,0.827,0.653,1.330,2.810,1.190,1.990,5.250,
+1.450,0.909,1.020,2.240,1.240,0.086,0.807,1.270,2.320,1.290,
+1.440,3.920,2.240,1.020,0.716,1.680,0.937,0.666,0.443,0.728,
+0.965,0.074,0.575,0.863,1.040,0.782,0.693,1.200,1.630,0.721,
+0.509,0.847,0.729,0.476,0.383,0.510,0.846,0.059,0.556,0.820,
+0.848,0.649,0.496,0.840,1.390,0.928,0.862,1.450,0.075,0.069,
+0.055,0.119,0.917,0.065,0.499,0.771,0.813,0.886,0.572,1.220,
+1.640,0.798,0.875,2.040,1.090,0.931,0.715,1.520,0.949,0.060,
+0.584,0.935,1.220,1.160,1.020,2.070,1.530,0.772,0.662,1.160,
+0.962,0.616,0.551,0.838,1.170,0.104,0.643,1.020,1.070,0.782,
+0.697,1.290,0.099,0.075,0.045,0.087,0.061,0.050,0.047,0.058,
+0.071,7.60e-3,0.052,0.089,0.097,0.088,0.056,0.109,0.987,0.773,
+0.630,0.951,0.071,0.049,0.045,0.086,0.777,0.062,0.494,0.683,
+0.640,0.728,0.628,1.120,1.040,0.595,0.637,1.060,1.030,0.675,
+0.670,1.110,0.989,0.068,0.598,1.070,0.951,0.810,0.873,1.590,
+2.550,1.050,0.981,1.900,1.060,0.616,0.577,0.810,1.300,0.094,
+0.636,1.070,1.950,1.070,0.961,2.270,1.400,0.785,0.578,1.040,
+0.985,0.539,0.530,0.661,0.907,0.053,0.611,1.020,1.190,0.848,
+0.721,1.390,1.570,1.100,1.060,1.780,0.095,0.062,0.060,0.128,
+1.160,0.071,0.747,1.160,1.320,1.330,1.130,1.890,2.980,1.300,
+1.420,3.330,1.740,1.210,1.110,1.940,2.200,0.106,1.350,2.520,
+4.070,2.570,2.780,4.620,3.460,2.180,1.800,3.110,1.950,1.180,
+1.040,1.290,1.740,0.154,0.914,1.350,2.320,1.640,1.190,1.990,
+2.270,1.240,1.010,1.310,1.370,0.928,0.800,0.871,1.240,0.127,
+0.854,1.080,0.964,0.928,0.862,1.150,1.360,1.170,0.954,1.320,
+0.133,0.115,0.088,0.149,1.210,0.088,0.560,0.667,0.800,0.865,
+0.783,1.050,1.770,1.010,0.805,1.750,1.610,1.300,0.788,1.290,
+1.090,0.086,0.634,0.936,1.360,0.864,1.030,2.070,2.390,1.280,
+1.340,1.820,1.320,0.841,0.750,0.889,1.190,0.119,0.619,1.070,
+1.040,1.030,0.862,1.500,1.650,0.921,0.805,0.998,1.040,0.612,
+0.890,0.850,1.040,0.098,0.788,0.987,0.660,0.696,0.789,0.846,
+1.120,0.933,0.641,0.848,0.138,0.091,0.077,0.105,4.690,0.237,
+0.664,0.757,0.907,0.962,0.701,0.768,0.865,0.547,0.409,0.738,
+0.985,0.696,0.480,0.792,1.120,0.065,0.530,0.693,0.738,0.627,
+0.795,1.340,1.570,0.739,0.719,0.971,1.170,0.715,0.743,0.865,
+1.080,0.133,0.554,0.805,0.927,0.821,0.675,1.260,0.176,0.097,
+0.071,0.098,0.106,0.098,0.083,0.098,0.095,0.017,0.080,0.103,
+0.089,0.133,0.096,0.133,0.883,0.738,0.641,0.681,0.084,0.066,
+0.066,0.101,0.982,0.092,0.501,0.631,0.603,0.704,0.672,0.855,
+0.790,0.482,0.438,0.778,0.890,0.769,0.635,1.110,0.911,0.083,
+0.584,0.784,0.801,0.711,0.824,1.350,1.980,0.649,0.586,1.140,
+0.777,0.508,0.463,0.780,0.910,0.094,0.424,0.719,1.130,0.755,
+0.572,1.320,1.570,0.843,0.685,0.975,0.965,0.779,0.676,0.787,
+0.796,0.077,0.640,1.000,0.840,0.896,0.711,1.180,1.000,0.708,
+0.704,1.080,0.086,0.057,0.071,0.115,1.020,0.101,0.502,0.666,
+0.676,0.836,0.807,0.939,1.170,0.640,0.603,1.350,0.737,0.584,
+0.548,1.010,1.330,0.091,0.733,1.180,1.440,1.110,1.250,2.330,
+2.580,1.670,1.260,1.990,1.570,1.200,0.872,1.040,1.150,0.112,
+0.571,0.952,1.630,1.110,0.818,1.370,2.170,1.320,0.887,1.140,
+1.330,1.000,0.893,0.932,0.991,0.127,0.785,1.250,0.700,0.823,
+0.716,1.020,0.946,0.918,1.100,1.140,0.099,0.119,0.106,0.146,
+0.678,0.080,0.501,0.547,0.527,0.704,0.604,0.807,0.999,0.625,
+0.590,1.100,1.200,1.080,0.688,0.912,0.712,0.062,0.427,0.658,
+0.885,0.665,0.749,1.440,1.730,1.290,0.786,1.140,1.240,1.260,
+0.732,0.906,0.859,0.104,0.521,0.695,0.677,0.813,0.485,0.850,
+1.400,1.110,0.677,0.822,0.911,0.406,0.767,0.806,0.883,0.137,
+0.656,0.915,0.525,0.872,0.568,0.752,0.973,1.030,0.680,0.849,
+0.107,0.132,0.084,0.131,0.956,0.129,0.561,0.728,0.506,1.010,
+0.664,0.833,0.716,0.521,0.378,0.661,0.786,0.849,0.506,0.765,
+0.714,0.064,0.455,0.631,0.530,0.609,0.553,0.982,2.090,1.090,
+0.722,0.857,1.850,1.210,1.110,0.870,1.110,0.184,0.645,0.845,
+0.807,0.881,0.649,1.050,0.522,0.222,0.100,0.111,0.225,0.202,
+0.202,0.120,0.103,0.037,0.147,0.121,0.078,0.149,0.093,0.108,
+1.060,1.200,0.934,0.874,0.129,0.161,0.121,0.124,0.913,0.133,
+0.682,0.765,0.506,0.922,0.847,0.927,0.894,0.647,0.525,0.747,
+1.160,1.430,0.978,1.110,0.955,0.101,0.756,0.923,0.728,0.757,
+0.999,1.330,1.430,0.821,0.613,0.861,0.871,0.620,0.527,0.624,
+0.753,0.072,0.427,0.842,0.856,0.642,0.493,1.010,2.580,1.230,
+0.813,0.910,1.360,1.070,1.490,1.240,0.730,0.101,0.769,0.954,
+0.736,0.846,0.636,0.917,0.751,0.769,0.700,0.806,0.056,0.072,
+0.056,0.080,0.603,0.060,0.547,0.646,0.503,0.668,0.726,0.884,
+0.862,0.530,0.501,0.792,0.659,0.639,0.477,0.689,0.782,0.060,
+0.610,1.050,0.922,0.897,1.070,1.630,1.770,1.240,0.902,1.750,
+0.858,0.671,0.489,0.807,0.885,0.098,0.475,0.692,0.948,0.938,
+0.519,1.030,1.460,1.150,0.719,0.963,0.925,0.839,0.680,0.806,
+0.952,0.128,0.872,0.952,0.740,1.000,0.599,0.968,0.964,1.230,
+1.630,1.340,0.111,0.146,0.174,0.243,0.843,0.097,0.547,0.692,
+0.498,0.858,0.586,0.798,0.930,0.702,0.781,1.410,0.862,0.858,
+0.955,1.360,0.823,0.088,0.597,0.833,1.060,0.800,0.978,1.890,
+0.097,0.092,0.054,0.086,0.082,0.103,0.057,0.078,0.071,0.015,
+0.056,0.069,0.069,0.099,0.051,0.096,0.126,0.108,0.069,0.076,
+0.109,0.132,0.091,0.092,0.100,0.025,0.123,0.104,0.070,0.120,
+0.069,0.088,0.078,0.157,0.127,0.107,0.017,0.043,0.033,0.033,
+0.158,0.026,0.088,0.115,0.061,0.122,0.077,0.089,0.092,0.080,
+0.067,0.135,0.128,0.183,0.141,0.265,0.103,0.014,0.086,0.105,
+0.094,0.086,0.087,0.149,1.100,0.874,0.573,0.714,0.835,1.070,
+0.806,0.777,0.969,0.164,0.807,1.070,0.656,0.834,0.615,1.060,
+0.095,0.113,0.056,0.072,0.071,0.141,0.098,0.105,0.078,0.023,
+0.099,0.103,0.082,0.123,0.079,0.111,0.787,1.860,0.791,0.871,
+0.112,0.508,0.109,0.193,0.839,0.149,0.503,0.698,0.450,0.941,
+0.673,0.859,0.630,0.611,0.504,1.140,0.931,1.920,0.952,2.750,
+0.986,0.125,0.741,1.000,0.643,0.716,0.904,1.260,1.090,0.761,
+0.493,0.834,0.585,0.484,0.343,0.438,0.846,0.083,0.447,0.660,
+0.770,0.665,0.439,1.050,1.220,1.050,0.605,0.841,0.961,1.070,
+0.778,0.789,0.916,0.118,0.891,1.280,1.000,1.140,0.776,1.430,
+0.785,1.040,0.743,1.090,0.064,0.114,0.068,0.114,0.755,0.099,
+0.694,0.847,0.575,0.973,0.735,1.060,0.817,0.626,0.547,1.060,
+0.653,0.737,0.569,1.040,0.939,0.092,0.999,1.220,1.040,1.030,
+1.160,1.840,2.170,1.060,0.921,1.860,1.060,0.603,0.520,0.959,
+1.100,0.097,0.652,0.992,1.330,0.876,0.870,1.660,1.250,0.639,
+0.533,0.798,0.661,0.435,0.418,0.583,0.717,0.055,0.495,0.751,
+0.699,0.504,0.526,0.913,1.060,0.833,0.842,1.230,0.076,0.064,
+0.063,0.155,0.742,0.066,0.884,0.713,0.641,0.641,0.605,0.997,
+1.330,0.684,0.966,1.900,0.831,0.538,0.625,1.460,0.967,0.065,
+0.748,1.060,1.510,0.827,1.030,2.590,1.870,1.230,0.774,1.370,
+1.160,1.080,0.717,0.960,1.150,0.117,0.884,1.300,1.040,0.967,
+0.707,1.260,1.610,0.926,0.652,0.983,1.020,0.845,0.668,0.790,
+1.070,0.117,0.960,1.350,0.804,0.800,0.708,1.000,1.190,1.270,
+0.950,1.270,0.089,0.111,0.081,0.174,1.370,0.118,0.752,1.030,
+0.801,1.100,0.779,1.290,1.110,0.728,0.740,1.430,1.100,0.996,
+0.939,2.010,1.120,0.090,0.757,1.220,1.040,0.958,0.989,1.820,
+1.270,0.719,0.549,0.816,0.923,0.723,0.671,0.804,1.090,0.134,
+0.656,0.963,0.832,0.842,0.749,1.300,0.105,0.081,0.047,0.075,
+0.065,0.092,0.081,0.080,0.064,0.011,0.068,0.079,0.075,0.105,
+0.072,0.116,0.748,0.890,0.670,0.845,0.068,0.091,0.059,0.113,
+0.844,0.106,0.642,0.850,0.630,0.900,0.853,1.470,0.824,0.567,
+0.630,0.947,0.928,0.848,0.811,1.470,1.040,0.087,0.781,1.280,
+1.020,0.742,1.130,1.860,1.780,0.882,0.724,1.300,0.840,0.542,
+0.519,0.644,1.000,0.090,0.528,0.936,1.150,0.736,0.667,1.550,
+1.480,0.832,0.588,0.873,0.864,0.743,0.864,0.876,0.772,0.070,
+0.731,0.973,0.964,0.883,0.696,1.170,1.100,0.919,0.882,1.600,
+0.076,0.066,0.058,0.129,0.963,0.081,0.783,1.070,0.976,1.070,
+1.180,1.630,1.680,0.868,0.986,2.180,1.150,0.879,0.870,1.540,
+1.360,0.085,1.130,1.890,2.200,1.500,2.090,2.780,2.690,1.420,
+1.170,2.230,1.500,0.934,0.772,0.979,1.160,0.117,0.569,1.040,
+1.600,1.260,0.818,1.460,1.460,0.848,0.596,0.830,0.959,0.627,
+0.550,0.634,0.780,0.076,0.476,0.671,0.695,0.655,0.552,0.860,
+1.340,1.240,0.740,1.150,0.123,0.105,0.068,0.133,0.728,0.074,
+0.491,0.623,0.694,0.816,0.654,0.847,1.430,0.772,0.578,1.240,
+1.100,0.823,0.555,0.965,0.903,0.059,0.453,0.669,0.972,0.595,
+0.729,1.460,2.200,1.140,0.765,1.430,1.470,0.948,0.818,1.000,
+0.985,0.091,0.475,0.872,0.849,0.807,0.755,1.120,1.430,0.898,
+0.588,0.772,1.080,0.517,0.647,0.669,0.895,0.087,0.590,0.784,
+0.599,0.616,0.474,0.678,1.240,1.190,0.808,1.130,0.130,0.118,
+0.100,0.144,1.050,0.122,0.693,0.999,0.627,1.030,0.816,0.921,
+1.110,0.711,0.445,0.863,1.230,0.982,0.651,1.070,0.948,0.061,
+0.479,0.803,0.820,0.688,0.692,1.380,1.870,0.874,0.703,1.110,
+1.460,1.090,1.040,1.080,1.750,0.178,0.806,1.200,1.210,1.080,
+0.929,1.650,0.155,0.127,0.086,0.124,0.163,0.135,0.131,0.129,
+0.144,0.025,0.192,0.180,0.150,0.216,0.137,0.233,1.080,0.949,
+1.200,1.210,0.120,0.097,0.126,0.153,1.270,0.166,0.806,0.847,
+0.765,1.070,0.969,1.040,1.080,0.601,0.611,0.854,1.290,1.030,
+1.090,1.200,0.992,0.099,0.726,0.971,0.882,0.830,1.050,1.570,
+1.640,0.745,0.624,1.200,0.802,0.536,0.621,0.673,0.837,0.086,
+0.444,0.804,1.190,0.817,0.714,1.420,1.240,0.824,0.628,0.910,
+0.913,0.675,0.726,0.749,0.837,0.078,0.756,1.050,0.790,0.816,
+0.740,1.370,1.180,1.010,1.150,1.940,0.152,0.090,0.104,0.169,
+1.060,0.095,0.853,1.120,0.923,1.080,1.230,1.440,1.420,0.936,
+0.758,1.610,0.863,0.615,0.758,1.070,1.250,0.096,0.884,1.650,
+1.700,1.270,1.610,2.900,0.169,0.120,0.080,0.128,0.116,0.111,
+0.075,0.096,0.082,0.015,0.044,0.071,0.106,0.186,0.085,0.117,
+0.142,0.106,0.079,0.098,0.127,0.105,0.111,0.098,0.089,0.015,
+0.065,0.077,0.072,0.093,0.071,0.101,0.096,0.105,0.072,0.095,
+0.016,0.018,0.016,0.021,0.075,0.018,0.054,0.075,0.054,0.089,
+0.071,0.090,0.098,0.066,0.052,0.110,0.128,0.125,0.099,0.151,
+0.087,0.011,0.056,0.084,0.087,0.081,0.086,0.158,0.127,0.090,
+0.053,0.090,0.109,0.100,0.081,0.075,0.073,0.010,0.038,0.062,
+0.055,0.069,0.062,0.074,0.119,0.110,0.067,0.072,0.143,0.102,
+0.114,0.092,0.099,0.018,0.077,0.085,0.062,0.075,0.058,0.068,
+0.098,0.113,0.073,0.093,0.016,0.026,0.019,0.020,0.118,0.033,
+0.079,0.096,0.050,0.107,0.084,0.093,0.094,0.060,0.037,0.074,
+0.104,0.109,0.079,0.095,0.081,8.52e-3,0.054,0.065,0.057,0.064,
+0.061,0.112,0.146,0.084,0.054,0.083,0.132,0.133,0.133,0.095,
+0.121,0.023,0.117,0.145,0.076,0.107,0.095,0.119,0.018,0.019,
+0.011,0.013,0.024,0.036,0.035,0.020,0.020,0.010,0.085,0.026,
+0.011,0.022,0.021,0.019,0.136,0.122,0.129,0.139,0.020,0.026,
+0.034,0.025,0.159,0.033,0.115,0.120,0.084,0.134,0.157,0.130,
+0.106,0.064,0.084,0.091,0.141,0.156,0.143,0.146,0.118,0.016,
+0.102,0.110,0.085,0.127,0.123,0.160,0.144,0.125,0.084,0.114,
+0.087,0.087,0.075,0.083,0.089,0.012,0.057,0.092,0.117,0.116,
+0.094,0.171,0.183,0.146,0.099,0.131,0.173,0.161,0.150,0.152,
+0.125,0.021,0.178,0.154,0.104,0.154,0.123,0.207,0.107,0.111,
+0.122,0.170,0.014,0.017,0.015,0.024,0.113,0.020,0.108,0.141,
+0.084,0.123,0.171,0.171,0.130,0.097,0.077,0.143,0.092,0.095,
+0.082,0.130,0.121,0.012,0.096,0.161,0.140,0.141,0.173,0.290,
+1.430,0.946,0.841,1.360,0.899,0.711,0.542,0.787,0.856,0.078,
+0.479,0.614,0.656,0.569,0.554,0.760,1.270,0.919,0.627,0.877,
+1.140,0.845,0.857,0.845,1.010,0.113,0.974,0.899,0.576,0.778,
+0.609,0.819,0.906,1.090,0.885,1.110,0.132,0.163,0.136,0.261,
+0.813,0.115,0.838,0.815,0.518,0.886,0.726,0.842,0.874,0.533,
+0.549,0.978,0.865,0.801,0.702,1.550,1.040,0.097,1.330,1.100,
+0.831,0.687,1.200,1.610,0.109,0.105,0.049,0.085,0.094,0.120,
+0.072,0.083,0.075,0.014,0.049,0.059,0.049,0.063,0.053,0.074,
+0.103,0.106,0.054,0.060,0.127,0.106,0.098,0.080,0.089,0.023,
+0.156,0.108,0.049,0.073,0.056,0.062,0.082,0.134,0.080,0.091,
+0.019,0.031,0.020,0.025,0.100,0.027,0.119,0.124,0.051,0.106,
+0.087,0.089,0.121,0.070,0.058,0.101,0.137,0.168,0.104,0.194,
+0.110,0.015,0.108,0.132,0.075,0.079,0.099,0.151,1.280,0.820,
+0.584,0.652,1.150,1.290,1.150,0.792,0.990,0.164,0.822,0.864,
+0.585,0.871,0.766,1.040,0.113,0.146,0.068,0.075,0.113,0.171,
+0.133,0.086,0.108,0.030,0.134,0.106,0.064,0.134,0.107,0.106,
+1.060,1.240,1.070,1.030,0.124,0.161,0.165,0.146,1.080,0.160,
+0.475,0.744,0.498,0.806,0.842,0.867,0.709,0.572,0.539,0.607,
+1.050,1.210,1.020,1.080,0.868,0.116,0.974,0.965,0.577,0.709,
+1.050,1.220,0.991,0.636,0.533,0.796,0.671,0.547,0.440,0.481,
+0.707,0.077,0.457,0.598,0.566,0.569,0.455,0.826,1.130,1.010,
+0.627,0.855,1.090,1.160,0.904,0.708,0.932,0.118,0.922,0.949,
+0.671,1.010,0.731,0.958,0.960,1.190,1.060,1.200,0.101,0.137,
+0.119,0.142,1.220,0.144,1.280,1.350,0.672,1.100,1.140,1.200,
+0.900,0.627,0.572,0.906,0.864,0.835,0.836,1.180,1.240,0.096,
+1.220,1.390,1.000,0.990,1.280,1.720,1.910,0.784,0.675,1.220,
+0.804,0.478,0.443,0.664,0.836,0.074,0.401,0.631,0.897,0.635,
+0.608,1.140,1.200,0.597,0.421,0.644,0.716,0.415,0.407,0.538,
+0.663,0.051,0.378,0.529,0.544,0.501,0.448,0.657,1.120,0.835,
+0.553,0.960,0.084,0.073,0.056,0.126,0.735,0.069,0.547,0.781,
+0.691,0.699,0.672,1.020,1.610,0.656,0.585,1.240,0.870,0.554,
+0.496,1.110,0.842,0.067,0.575,1.020,1.140,0.749,0.883,1.790,
+2.080,1.230,0.708,1.220,1.220,0.955,0.801,0.861,1.190,0.096,
+0.614,0.814,0.865,0.778,0.720,1.080,1.530,1.040,0.592,0.864,
+1.160,0.906,0.799,0.846,0.987,0.088,0.848,1.030,0.634,0.730,
+0.626,0.816,1.700,1.370,0.822,1.180,0.117,0.135,0.082,0.145,
+1.130,0.135,0.913,1.250,0.781,1.170,0.955,1.390,2.630,1.050,
+0.802,1.330,1.520,1.250,0.914,1.540,1.210,0.098,0.851,1.300,
+1.160,1.030,0.997,1.810,3.670,1.040,0.819,1.200,1.500,1.110,
+1.410,1.140,1.550,0.212,0.828,1.240,0.937,1.010,0.963,1.650,
+0.209,0.113,0.078,0.100,0.131,0.156,0.207,0.111,0.096,0.020,
+0.104,0.137,0.086,0.119,0.095,0.144,1.370,1.320,1.150,1.410,
+0.109,0.118,0.127,0.159,1.420,0.162,1.020,1.350,0.821,1.160,
+1.220,1.440,1.680,0.877,2.020,1.430,1.450,1.190,1.420,1.590,
+1.370,0.120,1.270,1.820,1.190,1.000,1.550,2.060,1.880,0.789,
+0.877,1.230,0.921,0.562,0.576,0.654,1.300,0.137,0.589,0.864,
+1.050,0.732,0.665,1.430,1.520,0.920,0.627,0.958,1.100,0.858,
+0.962,0.868,0.990,0.079,0.729,1.080,0.837,0.804,0.749,1.140,
+1.470,1.290,1.120,1.580,0.104,0.098,0.085,0.148,1.410,0.120,
+1.320,1.690,1.060,1.310,1.460,1.600,1.930,0.922,1.040,1.970,
+1.290,1.090,1.130,1.660,1.580,0.100,1.390,2.120,1.880,1.440,
+2.160,2.790,5.600,1.880,1.590,3.790,1.670,0.908,0.750,1.200,
+1.700,0.136,0.744,1.200,2.680,1.820,1.150,2.190,1.880,0.885,
+0.591,1.030,0.952,0.505,0.454,0.586,0.973,0.069,0.508,0.665,
+1.210,0.963,0.630,1.060,1.400,0.983,0.709,1.420,0.110,0.078,
+0.063,0.144,0.861,0.064,0.469,0.671,0.917,0.878,0.885,1.200,
+1.980,0.937,0.776,1.930,1.240,0.767,0.642,1.170,1.120,0.071,
+0.698,1.060,1.720,1.010,1.360,2.700,2.100,0.969,0.655,1.490,
+1.060,0.603,0.462,0.689,0.836,0.065,0.349,0.689,0.835,0.655,
+0.456,1.090,1.240,0.783,0.407,0.774,0.770,0.392,0.345,0.495,
+0.672,0.051,0.379,0.568,0.666,0.509,0.382,0.658,1.040,0.761,
+0.545,1.000,0.076,0.061,0.052,0.092,0.918,0.107,0.390,0.588,
+0.699,0.785,0.534,0.791,0.923,0.524,0.358,0.799,0.775,0.546,
+0.375,0.682,0.755,0.044,0.377,0.656,0.770,0.550,0.589,1.250,
+1.660,0.685,0.641,1.100,1.120,0.651,0.643,0.872,1.210,0.103,
+0.386,0.841,1.390,0.852,0.614,1.610,0.111,0.072,0.050,0.092,
+0.083,0.062,0.054,0.087,0.085,8.27e-3,0.049,0.104,0.143,0.123,
+0.067,0.172,0.824,0.627,0.671,0.857,0.073,0.057,0.052,0.094,
+0.724,0.071,0.354,0.624,0.661,0.733,0.601,0.892,0.918,0.535,
+0.524,0.948,1.010,0.875,0.613,0.934,0.834,0.064,0.455,0.832,
+0.933,0.732,0.795,1.630,2.450,0.905,0.797,1.830,0.995,0.558,
+0.585,0.848,1.310,0.101,0.554,1.060,2.270,1.180,0.874,2.170,
+1.420,0.743,0.564,0.995,0.818,0.524,0.476,0.708,0.963,0.061,
+0.564,1.210,1.270,0.980,0.717,1.610,1.150,0.881,0.875,1.430,
+0.085,0.063,0.063,0.120,0.926,0.068,0.677,1.230,1.010,1.060,
+1.170,1.700,2.020,1.020,1.010,2.670,1.170,0.824,0.765,1.310,
+1.840,0.108,0.994,1.980,2.690,1.760,2.250,4.750,2.310,1.190,
+0.853,1.760,1.180,0.810,0.549,0.791,0.994,0.088,0.437,0.861,
+1.280,1.030,0.997,1.520,1.410,0.755,0.539,0.864,0.909,0.588,
+0.672,0.600,0.810,0.067,0.475,0.666,0.811,0.719,0.549,0.905,
+0.973,0.728,0.548,0.984,0.078,0.066,0.054,0.110,0.663,0.061,
+0.398,0.628,0.639,0.715,0.630,1.080,1.080,0.575,0.506,1.060,
+1.030,0.712,0.532,0.873,0.715,0.059,0.438,0.829,1.000,0.862,
+0.899,1.940,1.480,0.844,0.496,1.030,1.000,0.694,0.446,0.534,
+0.621,0.057,0.270,0.555,0.637,0.571,0.376,0.840,1.020,0.648,
+0.321,0.604,0.777,0.389,0.323,0.437,0.558,0.056,0.359,0.497,
+0.674,0.491,0.396,0.630,0.824,0.711,0.436,0.828,0.072,0.069,
+0.048,0.079,0.869,0.103,0.400,0.688,0.583,0.793,0.599,0.929,
+0.753,0.549,0.341,0.731,0.782,0.620,0.392,0.649,0.638,0.044,
+0.356,0.717,0.674,0.577,0.614,1.190,1.380,0.687,0.563,0.987,
+1.040,0.777,0.820,0.853,0.901,0.116,0.551,1.630,0.852,0.773,
+0.620,1.440,0.079,0.064,0.038,0.067,0.070,0.087,0.061,0.071,
+0.057,0.012,0.090,0.115,0.072,0.092,0.055,0.109,1.130,0.807,
+0.704,0.954,0.087,0.076,0.077,0.101,0.857,0.091,0.484,0.812,
+0.710,0.857,0.797,1.130,0.961,0.612,0.560,1.130,1.180,1.100,
+0.789,1.170,0.899,0.075,0.621,1.070,0.895,0.821,0.993,1.890,
+1.570,0.848,0.681,1.210,0.891,0.623,0.550,0.681,0.958,0.088,
+0.519,1.010,1.230,1.020,0.736,1.610,1.360,0.824,0.600,1.020,
+0.902,0.732,0.603,0.941,0.820,0.074,0.650,1.070,0.940,1.050,
+0.711,1.410,0.958,0.852,0.743,1.160,0.070,0.066,0.058,0.102,
+0.765,0.070,0.605,0.954,0.774,0.904,0.931,1.590,1.310,0.741,
+0.663,1.370,1.080,0.862,0.621,1.080,1.140,0.078,0.762,1.480,
+1.570,1.150,1.480,2.930,2.370,1.350,1.060,1.980,1.180,0.899,
+0.605,1.010,1.440,0.105,0.603,0.919,1.440,0.992,0.753,1.320,
+1.700,1.120,0.741,1.180,1.270,0.822,0.667,0.853,1.220,0.106,
+0.860,1.020,1.280,1.120,0.929,1.320,1.450,1.400,0.985,1.630,
+0.152,0.150,0.113,0.254,1.050,0.103,0.705,1.010,0.904,1.210,
+1.240,1.440,1.480,0.866,0.787,1.720,1.430,0.968,0.815,1.550,
+1.420,0.118,1.230,1.660,1.730,1.370,3.630,3.650,0.141,0.108,
+0.063,0.132,0.114,0.106,0.071,0.129,0.096,0.013,0.050,0.079,
+0.094,0.131,0.067,0.161,0.113,0.101,0.049,0.077,0.115,0.110,
+0.066,0.084,0.092,0.014,0.079,0.100,0.090,0.097,0.069,0.106,
+0.092,0.108,0.061,0.105,0.011,0.019,0.013,0.020,0.097,0.015,
+0.072,0.109,0.073,0.115,0.098,0.120,0.129,0.093,0.061,0.157,
+0.144,0.138,0.086,0.183,0.128,0.014,0.083,0.151,0.134,0.126,
+0.179,0.278,1.700,0.982,0.739,0.980,1.350,1.360,1.500,1.040,
+1.240,0.159,0.769,1.060,0.955,1.140,0.915,1.730,0.102,0.099,
+0.050,0.083,0.100,0.105,0.089,0.078,0.092,0.015,0.081,0.087,
+0.104,0.137,0.086,0.149,1.100,1.390,1.450,1.370,0.111,0.139,
+0.125,0.139,1.170,0.134,0.612,1.040,0.748,1.050,0.998,1.350,
+1.060,0.857,0.806,1.180,1.380,1.360,1.010,1.300,1.230,0.128,
+1.070,1.420,1.000,1.090,1.520,2.370,1.680,1.040,0.765,1.350,
+1.170,0.839,0.708,0.919,1.210,0.103,0.727,1.160,1.130,0.986,
+0.756,1.690,1.750,1.470,0.794,1.240,1.490,1.200,0.798,0.913,
+1.340,0.119,1.040,1.310,1.280,1.420,1.050,1.800,1.380,1.570,
+1.140,1.650,0.107,0.128,0.092,0.145,1.570,0.131,1.210,1.870,
+1.190,1.510,1.570,2.130,1.640,1.060,0.926,1.590,1.240,1.040,
+0.887,1.300,1.840,0.127,1.560,2.340,1.840,1.590,2.160,3.690,
+6.390,2.060,1.520,3.390,1.740,1.010,0.855,1.600,1.860,0.140,
+0.917,1.440,2.550,1.610,1.700,2.980,2.130,1.050,0.675,1.300,
+1.190,0.742,0.609,1.110,1.240,0.077,0.641,1.020,1.170,0.913,
+0.806,1.400,2.100,1.390,0.962,2.560,0.134,0.104,0.076,0.238,
+1.350,0.105,0.776,1.210,1.460,1.420,1.170,2.050,2.960,1.460,
+1.240,3.520,1.700,1.050,0.969,2.110,1.920,0.132,1.260,2.090,
+3.210,2.350,2.770,6.170,3.110,1.450,1.020,2.060,1.560,1.090,
+0.888,1.340,1.340,0.095,0.664,1.090,1.340,1.100,0.864,1.740,
+2.200,1.300,0.659,1.290,1.450,1.230,0.691,1.270,1.190,0.089,
+0.747,1.150,1.040,1.020,0.795,1.330,1.770,1.320,0.862,1.910,
+0.096,0.097,0.060,0.152,1.350,0.108,0.789,1.300,1.230,1.450,
+1.090,2.040,2.250,1.110,0.875,2.210,1.480,1.130,0.817,1.940,
+1.630,0.094,0.958,1.660,1.860,1.480,1.570,3.280,3.340,1.500,
+1.380,1.900,2.180,1.410,1.330,1.740,2.400,0.198,1.110,1.770,
+2.070,1.550,1.560,2.990,0.152,0.114,0.073,0.119,0.114,0.124,
+0.097,0.122,0.114,0.012,0.077,0.114,0.145,0.139,0.100,0.223,
+2.040,1.750,1.470,2.220,0.132,0.119,0.098,0.192,2.060,0.165,
+1.410,1.910,1.620,1.850,1.950,2.880,2.510,1.600,1.550,2.570,
+2.310,1.770,1.550,2.620,2.580,0.153,1.910,3.090,2.310,1.780,
+2.670,4.560,6.860,2.410,2.130,3.990,2.440,1.480,1.140,1.730,
+4.080,0.230,1.360,2.360,4.270,2.410,1.950,5.250,3.010,1.950,
+1.090,2.050,2.080,2.060,1.060,1.690,2.290,0.131,1.180,1.990,
+2.240,1.820,1.400,3.220,3.020,2.400,1.920,3.350,0.151,0.139,
+0.092,0.219,2.710,0.164,2.030,3.100,2.890,2.690,2.960,4.990,
+6.080,2.330,2.080,5.240,2.340,1.860,1.600,3.230,3.490,0.160,
+2.410,4.810,4.570,2.430,3.270,7.210,0.666,0.205,0.150,0.260,
+0.276,0.144,0.128,0.149,0.265,0.028,0.111,0.141,0.318,0.187,
+0.119,0.197,0.321,0.189,0.130,0.158,0.200,0.109,0.100,0.098,
+0.195,0.024,0.100,0.124,0.130,0.117,0.087,0.139,0.307,0.192,
+0.140,0.197,0.029,0.024,0.020,0.029,0.170,0.018,0.115,0.140,
+0.132,0.131,0.109,0.143,0.293,0.120,0.130,0.244,0.214,0.137,
+0.125,0.211,0.178,0.016,0.098,0.136,0.241,0.103,0.109,0.212,
+0.446,0.210,0.125,0.176,0.227,0.158,0.168,0.142,0.178,0.022,
+0.085,0.105,0.120,0.114,0.072,0.113,0.268,0.155,0.094,0.124,
+0.153,0.103,0.084,0.082,0.158,0.024,0.088,0.106,0.085,0.089,
+0.063,0.087,0.214,0.194,0.117,0.134,0.026,0.022,0.020,0.019,
+0.152,0.025,0.109,0.131,0.085,0.124,0.094,0.115,0.130,0.080,
+0.074,0.106,0.143,0.107,0.111,0.110,0.130,0.014,0.081,0.108,
+0.104,0.083,0.087,0.133,0.322,0.115,0.095,0.128,0.173,0.106,
+0.117,0.101,0.153,0.023,0.104,0.124,0.107,0.094,0.089,0.138,
+0.027,0.017,0.011,0.014,0.019,0.025,0.018,0.012,0.022,6.77e-3,
+0.027,0.025,0.016,0.021,0.017,0.021,0.141,0.188,0.110,0.133,
+0.019,0.019,0.024,0.025,0.142,0.032,0.288,0.227,0.076,0.104,
+0.142,0.101,0.107,0.069,0.074,0.107,0.141,0.108,0.113,0.135,
+0.147,0.027,0.354,0.252,0.098,0.080,0.119,0.134,0.328,0.124,
+0.101,0.192,0.128,0.072,0.079,0.081,0.156,0.017,0.078,0.121,
+0.153,0.107,0.113,0.202,0.239,0.136,0.102,0.127,0.147,0.102,
+0.085,0.086,0.140,0.017,0.104,0.151,0.129,0.131,0.104,0.154,
+0.145,0.117,0.100,0.131,0.016,0.015,0.016,0.018,0.131,0.015,
+0.114,0.158,0.097,0.114,0.111,0.116,0.175,0.084,0.081,0.151,
+0.114,0.079,0.067,0.105,0.153,0.014,0.120,0.164,0.146,0.113,
+0.113,0.175,0.367,0.224,0.160,0.213,0.228,0.176,0.134,0.129,
+0.158,0.023,0.083,0.137,0.140,0.149,0.090,0.148,0.239,0.175,
+0.123,0.133,0.202,0.149,0.131,0.114,0.154,0.030,0.110,0.141,
+0.091,0.108,0.082,0.128,0.161,0.174,0.117,0.151,0.029,0.031,
+0.027,0.025,0.123,0.021,0.098,0.122,0.077,0.126,0.090,0.129,
+0.137,0.070,0.070,0.110,0.168,0.133,0.095,0.110,0.129,0.019,
+0.061,0.093,0.096,0.086,0.079,0.150,0.281,0.239,0.105,0.134,
+0.232,0.213,0.127,0.103,0.152,0.027,0.076,0.101,0.095,0.117,
+0.061,0.097,0.206,0.184,0.096,0.110,0.176,0.100,0.116,0.094,
+0.146,0.040,0.099,0.131,0.069,0.108,0.069,0.077,0.153,0.222,
+0.112,0.121,0.033,0.059,0.039,0.024,0.160,0.047,0.121,0.182,
+0.069,0.191,0.107,0.127,0.091,0.069,0.048,0.066,0.132,0.153,
+0.088,0.092,0.148,0.019,0.074,0.123,0.074,0.130,0.067,0.114,
+0.180,0.128,0.075,0.097,0.169,0.218,0.135,0.102,0.129,0.023,
+0.079,0.107,0.069,0.097,0.073,0.111,0.018,0.031,0.013,0.014,
+0.027,0.065,0.035,0.017,0.025,0.016,0.028,0.032,0.010,0.026,
+0.016,0.019,0.128,0.189,0.114,0.121,0.032,0.051,0.045,0.026,
+0.164,0.039,0.143,0.139,0.063,0.147,0.135,0.120,0.074,0.064,
+0.054,0.070,0.141,0.163,0.141,0.120,0.116,0.020,0.112,0.126,
+0.081,0.098,0.127,0.124,0.148,0.077,0.066,0.092,0.102,0.075,
+0.077,0.063,0.092,9.61e-3,0.045,0.093,0.097,0.075,0.055,0.120,
+0.160,0.142,0.081,0.104,0.127,0.165,0.088,0.087,0.103,0.020,
+0.085,0.260,0.082,0.123,0.083,0.147,0.125,0.151,0.106,0.121,
+0.017,0.025,0.020,0.016,0.130,0.020,0.099,0.154,0.083,0.118,
+0.136,0.140,0.120,0.070,0.065,0.099,0.101,0.093,0.075,0.094,
+0.126,0.019,0.088,0.168,0.123,0.127,0.150,0.174,0.212,0.136,
+0.133,0.130,0.101,0.078,0.062,0.074,0.098,0.014,0.053,0.082,
+0.089,0.095,0.052,0.088,0.155,0.111,0.097,0.095,0.106,0.076,
+0.075,0.064,0.116,0.019,0.080,0.087,0.067,0.093,0.050,0.083,
+0.110,0.149,0.118,0.138,0.023,0.034,0.021,0.028,0.110,0.023,
+0.062,0.118,0.063,0.116,0.068,0.125,0.090,0.074,0.058,0.090,
+0.089,0.124,0.064,0.095,0.128,0.019,0.075,0.099,0.086,0.077,
+0.088,0.178,0.020,0.024,0.019,0.017,0.017,0.021,0.015,0.012,
+0.014,4.01e-3,7.94e-3,9.61e-3,9.36e-3,0.013,7.27e-3,0.010,0.026,0.022,
+0.013,0.011,0.018,0.023,0.014,0.013,0.018,0.011,0.016,0.015,
+9.53e-3,0.014,0.010,0.011,0.014,0.032,0.017,0.015,5.52e-3,0.016,
+0.011,5.77e-3,0.022,0.011,0.021,0.037,9.94e-3,0.026,0.016,0.020,
+0.015,0.013,7.94e-3,0.012,0.022,0.039,0.020,0.021,0.018,5.93e-3,
+0.014,0.020,0.012,0.014,0.016,0.023,0.097,0.068,0.053,0.072,
+0.085,0.085,0.067,0.049,0.085,0.019,0.062,0.071,0.059,0.059,
+0.046,0.058,0.013,0.015,7.94e-3,6.35e-3,0.013,0.020,0.013,7.94e-3,
+0.015,9.11e-3,0.017,0.013,8.36e-3,0.016,8.19e-3,7.94e-3,0.093,0.185,
+0.103,0.084,0.020,0.067,0.023,0.017,0.104,0.037,0.063,0.122,
+0.047,0.097,0.069,0.067,0.069,0.047,0.037,0.045,0.076,0.123,
+0.071,0.071,0.091,0.018,0.084,0.085,0.039,0.068,0.061,0.065,
+0.095,0.051,0.042,0.078,0.058,0.040,0.029,0.040,0.062,7.69e-3,
+0.042,0.070,0.074,0.046,0.034,0.072,0.116,0.082,0.054,0.067,
+0.081,0.086,0.057,0.051,0.091,0.019,0.068,0.115,0.082,0.090,
+0.057,0.081,0.094,0.117,0.075,0.108,0.016,0.034,0.017,0.030,
+0.131,0.037,0.186,0.768,0.069,0.110,0.087,0.164,0.091,0.048,
+0.045,0.057,0.085,0.093,0.059,0.069,0.099,0.013,0.099,0.168,
+0.087,0.085,0.085,0.125,0.241,0.144,0.113,0.206,0.117,0.069,
+0.064,0.079,0.117,0.014,0.057,0.082,0.154,0.118,0.073,0.144,
+0.147,0.069,0.075,0.078,0.126,0.048,0.046,0.054,0.082,9.94e-3,
+0.065,0.094,0.072,0.078,0.048,0.074,0.123,0.118,0.087,0.125,
+0.013,0.013,8.44e-3,0.018,0.084,0.010,0.047,0.073,0.081,0.082,
+0.055,0.101,0.149,0.075,0.085,0.161,0.106,0.078,0.068,0.111,
+0.099,8.36e-3,0.109,0.105,0.135,0.095,0.111,0.251,0.223,0.140,
+0.105,0.234,0.166,0.113,0.083,0.108,0.119,0.014,0.071,0.117,
+0.090,0.095,0.065,0.103,0.325,0.120,0.096,0.126,0.131,0.091,
+0.070,0.072,0.117,0.018,0.084,0.119,0.080,0.094,0.051,0.081,
+0.128,0.149,0.094,0.120,0.012,0.021,0.016,0.016,0.127,0.021,
+0.083,0.132,0.086,0.136,0.088,0.142,0.125,0.071,0.063,0.112,
+0.129,0.121,0.085,0.133,0.122,0.013,0.094,0.117,0.113,0.095,
+0.125,0.170,0.127,0.081,0.060,0.091,0.110,0.084,0.080,0.080,
+0.123,0.037,0.092,0.121,0.075,0.099,0.078,0.104,0.014,8.52e-3,
+7.27e-3,0.016,0.012,0.015,0.022,8.69e-3,0.011,5.01e-3,0.015,0.033,
+9.28e-3,0.013,9.61e-3,0.012,0.108,0.141,0.082,0.091,0.015,0.023,
+0.013,0.016,0.126,0.023,0.083,0.124,0.073,0.115,0.095,0.100,
+0.087,0.056,0.067,0.083,0.108,0.092,0.093,0.106,0.127,0.016,
+0.100,0.122,0.071,0.077,0.095,0.114,0.182,0.077,0.071,0.127,
+0.101,0.057,0.049,0.063,0.097,0.011,0.052,0.085,0.125,0.079,
+0.074,0.149,0.125,0.073,0.058,0.075,0.082,0.063,0.062,0.058,
+0.081,9.02e-3,0.065,0.119,0.156,0.088,0.065,0.107,0.139,0.118,
+0.090,0.128,0.013,0.015,9.36e-3,0.014,0.128,0.015,0.097,0.202,
+0.162,0.133,0.120,0.169,0.154,0.084,0.082,0.147,0.120,0.101,
+0.088,0.137,0.160,0.012,0.112,0.174,0.204,0.149,0.139,0.270,
+0.343,0.220,0.175,0.248,0.290,0.201,0.154,0.148,0.201,0.032,
+0.112,0.145,0.208,0.174,0.110,0.156,0.236,0.230,0.137,0.145,
+0.225,0.189,0.152,0.131,0.188,0.041,0.160,0.156,0.096,0.127,
+0.101,0.128,0.174,0.215,0.139,0.134,0.026,0.031,0.028,0.029,
+0.121,0.022,0.093,0.115,0.121,0.127,0.145,0.160,0.140,0.091,
+0.069,0.115,0.154,0.134,0.097,0.132,0.131,0.033,0.100,0.122,
+0.105,0.096,0.102,0.153,0.315,0.211,0.114,0.176,0.442,0.259,
+0.179,0.147,0.185,0.033,0.105,0.135,0.092,0.142,0.089,0.112,
+0.229,0.238,0.118,0.179,0.218,0.167,0.135,0.121,0.186,0.070,
+0.155,0.184,0.079,0.143,0.089,0.102,0.166,0.248,0.116,0.107,
+0.082,0.056,0.050,0.024,0.213,0.057,0.137,0.152,0.082,0.187,
+0.126,0.115,0.082,0.071,0.047,0.061,0.187,0.159,0.092,0.096,
+0.108,0.017,0.108,0.116,0.068,0.081,0.099,0.124,0.157,0.145,
+0.076,0.101,0.218,0.194,0.132,0.123,0.154,0.030,0.121,0.137,
+0.074,0.095,0.081,0.116,0.020,0.044,0.017,0.017,0.042,0.081,
+0.034,0.025,0.028,0.020,0.049,0.042,0.010,0.034,0.019,0.018,
+0.189,0.905,0.213,0.266,0.024,0.050,0.034,0.042,0.160,0.055,
+0.292,0.445,0.063,0.159,0.160,0.161,0.078,0.156,0.076,0.086,
+0.139,0.215,0.141,0.218,0.176,0.062,0.717,0.546,0.076,0.105,
+0.165,0.154,0.152,0.084,0.067,0.124,0.089,0.069,0.057,0.064,
+0.091,0.014,0.079,0.078,0.086,0.074,0.066,0.116,0.170,0.153,
+0.098,0.127,0.164,0.187,0.129,0.107,0.111,0.023,0.117,0.137,
+0.069,0.113,0.084,0.108,0.119,0.203,0.183,0.182,0.028,0.025,
+0.102,0.059,0.111,0.029,0.107,0.150,0.069,0.208,0.099,0.111,
+0.100,0.072,0.064,0.095,0.092,0.084,0.140,0.122,0.109,0.017,
+0.153,0.162,0.106,0.125,0.120,0.165,0.277,0.245,0.182,0.192,
+0.283,0.293,0.195,0.156,0.156,0.032,0.098,0.141,0.113,0.155,
+0.101,0.140,0.244,0.266,0.161,0.138,0.349,0.358,0.279,0.182,
+0.193,0.070,0.197,0.231,0.076,0.141,0.100,0.137,0.130,0.231,
+0.158,0.124,0.043,0.058,0.054,0.029,0.116,0.039,0.129,0.120,
+0.068,0.136,0.120,0.130,0.089,0.060,0.051,0.083,0.149,0.162,
+0.117,0.110,0.087,0.017,0.077,0.084,0.094,0.068,0.076,0.123,
+0.230,0.251,0.108,0.117,0.253,0.377,0.177,0.123,0.151,0.047,
+0.113,0.112,0.074,0.138,0.078,0.084,0.199,0.284,0.132,0.112,
+0.176,0.122,0.198,0.122,0.193,0.123,0.190,0.212,0.062,0.182,
+0.102,0.094,0.127,0.326,0.143,0.120,0.052,0.126,0.080,0.039,
+0.175,0.084,0.174,0.179,0.070,0.264,0.186,0.148,0.074,0.083,
+0.050,0.053,0.153,0.248,0.118,0.117,0.130,0.037,0.140,0.169,
+0.057,0.099,0.082,0.115,0.162,0.182,0.082,0.099,0.321,0.641,
+0.249,0.160,0.182,0.050,0.128,0.145,0.074,0.144,0.098,0.120,
+0.026,0.093,0.027,0.020,0.118,0.433,0.125,0.058,0.048,0.060,
+0.065,0.055,0.012,0.065,0.028,0.022,0.150,0.348,0.190,0.148,
+0.084,0.140,0.095,0.047,0.216,0.092,0.217,0.212,0.071,0.259,
+0.223,0.152,0.080,0.094,0.081,0.074,0.241,0.396,0.357,0.209,
+0.175,0.047,0.213,0.201,0.090,0.129,0.156,0.147,0.113,0.096,
+0.060,0.085,0.108,0.134,0.066,0.060,0.081,0.016,0.052,0.066,
+0.059,0.077,0.054,0.085,0.147,0.215,0.110,0.121,0.236,0.568,
+0.194,0.145,0.118,0.051,0.135,0.153,0.059,0.152,0.097,0.096,
+0.118,0.274,0.150,0.126,0.024,0.047,0.031,0.021,0.097,0.034,
+0.137,0.128,0.056,0.145,0.134,0.113,0.091,0.074,0.060,0.074,
+0.098,0.133,0.103,0.091,0.100,0.019,0.092,0.113,0.085,0.108,
+0.170,0.144,0.171,0.136,0.076,0.101,0.136,0.116,0.081,0.087,
+0.081,0.018,0.050,0.068,0.060,0.081,0.051,0.074,0.147,0.189,
+0.081,0.131,0.172,0.172,0.127,0.131,0.149,0.056,0.152,0.164,
+0.063,0.119,0.064,0.090,0.085,0.198,0.099,0.105,0.023,0.056,
+0.030,0.032,0.102,0.036,0.089,0.110,0.048,0.123,0.075,0.151,
+0.056,0.059,0.040,0.068,0.097,0.208,0.071,0.096,0.090,0.018,
+0.077,0.102,0.057,0.062,0.070,0.138,0.032,0.025,0.013,0.015,
+0.059,0.064,0.061,0.024,0.017,9.69e-3,0.015,0.016,7.35e-3,0.019,
+0.013,0.014,0.024,0.054,0.023,0.036,0.067,0.076,0.058,0.039,
+0.035,0.055,0.061,0.047,9.44e-3,0.028,0.018,0.015,0.017,0.082,
+0.031,0.021,0.025,0.080,0.054,0.018,0.041,0.049,0.054,0.047,
+0.013,0.052,0.038,0.028,7.94e-3,0.016,6.77e-3,7.85e-3,0.034,0.115,
+0.030,0.032,0.017,0.011,0.029,0.026,8.02e-3,0.014,0.016,0.018,
+0.092,0.117,0.053,0.063,0.122,0.204,0.152,0.090,0.132,0.045,
+0.223,0.180,0.051,0.102,0.080,0.084,0.020,0.063,0.018,0.013,
+0.038,0.101,0.056,0.024,0.039,0.043,0.060,0.037,0.012,0.035,
+0.020,0.017,0.084,0.289,0.126,0.088,0.039,0.109,0.061,0.028,
+0.158,0.096,0.122,0.139,0.047,0.207,0.114,0.099,0.052,0.063,
+0.036,0.046,0.114,0.242,0.132,0.148,0.168,0.046,0.173,0.142,
+0.056,0.103,0.100,0.090,0.078,0.059,0.037,0.075,0.060,0.056,
+0.039,0.041,0.061,0.014,0.049,0.098,0.043,0.056,0.036,0.070,
+0.118,0.163,0.083,0.077,0.147,0.206,0.123,0.106,0.164,0.057,
+0.140,0.156,0.082,0.144,0.088,0.100,0.079,0.166,0.089,0.087,
+0.017,0.044,0.030,0.018,0.130,0.054,0.134,0.187,0.062,0.176,
+0.106,0.122,0.053,0.046,0.034,0.051,0.072,0.108,0.066,0.075,
+0.103,0.021,0.127,0.115,0.068,0.095,0.084,0.109,0.130,0.083,
+0.064,0.110,0.090,0.065,0.044,0.074,0.074,9.28e-3,0.040,0.087,
+0.071,0.067,0.040,0.091,0.101,0.084,0.047,0.074,0.077,0.070,
+0.049,0.066,0.079,0.020,0.068,0.421,0.053,0.060,0.037,0.076,
+0.069,0.085,0.051,0.074,0.010,0.012,9.61e-3,0.011,0.055,0.010,
+0.040,0.071,0.045,0.061,0.044,0.073,0.069,0.043,0.041,0.077,
+0.062,0.071,0.038,0.075,0.057,9.36e-3,0.046,0.085,0.066,0.051,
+0.061,0.133,0.175,0.129,0.071,0.123,0.176,0.158,0.110,0.120,
+0.119,0.022,0.084,0.105,0.065,0.093,0.057,0.093,0.147,0.131,
+0.072,0.146,0.153,0.146,0.124,0.117,0.113,0.032,0.112,0.147,
+0.058,0.094,0.065,0.082,0.074,0.167,0.078,0.082,0.018,0.061,
+0.029,0.023,0.111,0.033,0.100,0.120,0.063,0.150,0.089,0.111,
+0.065,0.069,0.043,0.065,0.136,0.263,0.102,0.142,0.097,0.018,
+0.097,0.121,0.068,0.082,0.093,0.131,0.097,0.073,0.045,0.069,
+0.119,0.134,0.094,0.086,0.121,0.028,0.100,0.108,0.062,0.086,
+0.073,0.098,8.61e-3,0.015,7.02e-3,0.011,0.017,0.042,0.024,0.014,
+0.018,9.61e-3,0.021,0.024,9.02e-3,0.017,0.013,0.011,0.092,0.159,
+0.086,0.101,0.021,0.032,0.026,0.020,0.153,0.044,0.139,0.144,
+0.064,0.148,0.122,0.108,0.061,0.057,0.049,0.063,0.106,0.118,
+0.106,0.125,0.150,0.031,0.163,0.146,0.070,0.087,0.121,0.122,
+0.120,0.073,0.062,0.158,0.075,0.063,0.044,0.077,0.076,0.010,
+0.056,0.088,0.066,0.058,0.051,0.108,0.110,0.095,0.056,0.100,
+0.089,0.113,0.065,0.070,0.077,0.014,0.068,0.096,0.066,0.078,
+0.077,0.097,0.121,0.125,0.081,0.105,0.020,0.015,0.013,0.017,
+0.123,0.026,0.105,0.130,0.079,0.146,0.112,0.148,0.105,0.071,
+0.064,0.116,0.118,0.116,0.088,0.111,0.128,0.016,0.129,0.164,
+0.138,0.126,0.141,0.169,0.235,0.134,0.112,0.153,0.154,0.118,
+0.181,0.146,0.118,0.017,0.078,0.081,0.117,0.110,0.058,0.090,
+0.144,0.263,0.060,0.073,0.102,0.082,0.075,0.079,0.094,0.018,
+0.063,0.066,0.053,0.072,0.046,0.064,0.162,0.103,0.069,0.089,
+0.015,0.014,0.015,0.017,0.074,0.012,0.058,0.069,0.048,0.064,
+0.053,0.074,0.103,0.057,0.040,0.079,0.097,0.076,0.066,0.085,
+0.064,6.60e-3,0.045,0.058,0.063,0.043,0.051,0.096,0.195,0.140,
+0.169,0.170,0.315,0.239,0.888,0.589,0.146,0.029,0.092,0.101,
+0.077,0.112,0.067,0.091,0.141,0.149,0.074,0.093,0.134,0.089,
+0.153,0.151,0.147,0.045,0.091,0.107,0.058,0.118,0.051,0.062,
+0.139,0.161,0.113,0.113,0.048,0.041,0.040,0.033,0.137,0.032,
+0.120,0.127,0.058,0.136,0.099,0.112,0.085,0.051,0.043,0.066,
+0.163,0.116,0.120,0.122,0.082,0.014,0.059,0.084,0.061,0.057,
+0.061,0.114,0.123,0.070,0.050,0.074,0.144,0.120,0.186,0.127,
+0.180,0.029,0.067,0.076,0.101,0.108,0.060,0.093,0.017,0.018,
+0.012,0.014,0.026,0.029,0.024,0.020,0.029,0.013,0.021,0.018,
+0.016,0.041,0.014,0.018,0.084,0.128,0.085,0.088,0.022,0.022,
+0.029,0.022,0.109,0.030,0.100,0.108,0.052,0.108,0.073,0.103,
+0.057,0.041,0.039,0.060,0.109,0.101,0.118,0.099,0.092,0.017,
+0.093,0.091,0.069,0.072,0.066,0.104,0.113,0.051,0.041,0.078,
+0.063,0.047,0.061,0.064,0.081,0.012,0.038,0.053,0.077,0.062,
+0.039,0.082,0.113,0.091,0.056,0.086,0.096,0.078,0.088,0.079,
+0.089,0.014,0.065,0.079,0.066,0.111,0.049,0.088,0.079,0.094,
+0.085,0.095,0.013,0.015,0.017,0.019,0.088,0.015,0.075,0.095,
+0.067,0.098,0.077,0.089,0.101,0.057,0.051,0.088,0.080,0.069,
+0.072,0.084,0.099,0.011,0.081,0.114,0.125,0.110,0.110,0.196,
+0.023,0.016,0.017,0.013,0.027,0.021,0.019,0.017,0.013,3.01e-3,
+0.011,9.36e-3,0.011,0.012,8.27e-3,9.69e-3,0.027,0.033,0.017,0.017,
+0.040,0.031,0.030,0.024,0.025,0.014,0.017,0.019,8.86e-3,0.020,
+0.012,0.012,0.022,0.025,0.018,0.015,0.021,0.013,0.012,9.36e-3,
+0.014,6.85e-3,0.018,0.017,9.44e-3,0.019,0.014,0.014,0.011,7.02e-3,
+7.02e-3,9.44e-3,0.022,0.021,0.015,0.017,0.011,1.50e-3,9.53e-3,0.011,
+9.69e-3,8.02e-3,9.19e-3,0.013,0.027,0.026,0.014,0.018,0.034,0.040,
+0.059,0.051,0.020,0.010,0.012,0.015,9.69e-3,0.017,9.44e-3,8.86e-3,
+0.031,0.041,0.021,0.017,0.047,0.042,0.053,0.044,0.030,0.025,
+0.030,0.029,0.010,0.029,0.017,0.016,0.019,0.046,0.026,0.019,
+0.020,0.045,0.031,0.012,0.034,0.026,0.036,0.031,9.61e-3,0.036,
+0.035,0.022,0.012,0.011,6.94e-3,8.11e-3,0.027,0.036,0.027,0.020,
+0.017,3.93e-3,0.016,0.013,7.10e-3,0.012,0.011,0.015,0.015,0.013,
+7.35e-3,8.27e-3,0.029,0.041,0.037,0.016,0.023,9.11e-3,0.016,0.010,
+8.27e-3,0.015,0.013,0.013,6.27e-3,0.011,6.94e-3,4.76e-3,0.017,0.038,
+0.028,0.012,0.013,0.022,0.021,0.014,2.34e-3,0.012,7.69e-3,4.26e-3,
+0.018,0.037,0.025,0.021,0.014,0.028,0.029,0.011,0.037,0.024,
+0.046,0.030,9.94e-3,0.037,0.028,0.022,8.77e-3,8.19e-3,9.44e-3,7.44e-3,
+0.026,0.041,0.038,0.024,0.024,8.94e-3,0.029,0.019,0.011,0.018,
+0.019,0.018,0.015,0.010,7.85e-3,0.010,0.012,0.015,0.013,8.86e-3,
+0.011,3.09e-3,7.44e-3,9.11e-3,8.11e-3,0.011,8.11e-3,0.013,0.028,0.029,
+0.021,0.023,0.038,0.050,0.038,0.025,0.030,0.013,0.025,0.029,
+0.013,0.029,0.020,0.021,0.015,0.026,0.023,0.017,4.51e-3,0.011,
+9.86e-3,6.94e-3,0.024,9.53e-3,0.024,0.026,0.011,0.025,0.024,0.021,
+0.016,0.012,7.69e-3,0.013,0.016,0.020,0.016,0.015,0.018,4.43e-3,
+0.017,0.021,0.017,0.021,0.022,0.029,0.111,0.069,0.056,0.073,
+0.079,0.071,0.071,0.069,0.065,0.010,0.045,0.049,0.045,0.050,
+0.040,0.053,0.085,0.114,0.050,0.060,0.097,0.087,0.081,0.064,
+0.096,0.025,0.160,0.101,0.042,0.060,0.048,0.052,0.081,0.142,
+0.102,0.097,0.021,0.028,0.038,0.028,0.103,0.025,0.081,0.111,
+0.044,0.087,0.057,0.072,0.055,0.053,0.031,0.052,0.072,0.077,
+0.075,0.070,0.084,0.012,0.065,0.075,0.041,0.040,0.048,0.082,
+0.012,0.014,8.52e-3,8.86e-3,0.025,0.030,0.031,0.020,0.011,6.68e-3,
+0.015,0.013,4.43e-3,8.44e-3,5.35e-3,9.19e-3,0.014,0.020,0.010,0.010,
+0.025,0.026,0.025,0.016,0.021,0.016,0.043,0.028,5.26e-3,0.011,
+9.19e-3,9.02e-3,0.011,0.035,0.024,0.014,0.013,0.027,0.026,9.11e-3,
+0.026,0.021,0.035,0.026,8.19e-3,0.025,0.019,0.016,0.013,8.61e-3,
+5.60e-3,7.44e-3,0.019,0.032,0.021,0.019,0.015,5.35e-3,0.017,0.016,
+7.02e-3,7.44e-3,7.10e-3,0.012,0.084,0.067,0.049,0.043,0.103,0.121,
+0.109,0.070,0.095,0.029,0.087,0.065,0.036,0.061,0.053,0.056,
+0.014,0.029,0.016,7.19e-3,0.027,0.049,0.040,0.015,0.030,0.025,
+0.042,0.022,7.10e-3,0.020,0.015,0.011,0.100,0.169,0.124,0.098,
+0.039,0.063,0.067,0.032,0.151,0.069,0.069,0.102,0.052,0.127,
+0.103,0.101,0.045,0.043,0.035,0.042,0.093,0.126,0.115,0.114,
+0.108,0.032,0.154,0.109,0.043,0.064,0.072,0.081,0.073,0.047,
+0.035,0.055,0.057,0.043,0.031,0.036,0.048,9.86e-3,0.038,0.045,
+0.036,0.033,0.026,0.045,0.086,0.086,0.057,0.060,0.105,0.129,
+0.088,0.063,0.096,0.029,0.113,0.101,0.050,0.091,0.063,0.060,
+0.094,0.216,0.097,0.120,0.023,0.064,0.029,0.055,0.123,0.038,
+0.145,0.155,0.063,0.134,0.101,0.099,0.054,0.053,0.035,0.052,
+0.086,0.128,0.067,0.091,0.092,0.017,0.104,0.090,0.058,0.073,
+0.099,0.091,0.114,0.057,0.039,0.066,0.060,0.044,0.032,0.048,
+0.048,6.77e-3,0.024,0.045,0.067,0.048,0.031,0.136,0.070,0.052,
+0.031,0.043,0.043,0.040,0.030,0.033,0.040,9.36e-3,0.037,0.046,
+0.030,0.033,0.022,0.038,0.057,0.070,0.047,0.059,9.02e-3,9.28e-3,
+9.61e-3,0.012,0.046,8.69e-3,0.034,0.049,0.040,0.048,0.042,0.058,
+0.073,0.046,0.035,0.061,0.053,0.045,0.037,0.062,0.048,3.76e-3,
+0.030,0.048,0.055,0.036,0.043,0.091,0.127,0.094,0.064,0.094,
+0.108,0.118,0.107,0.094,0.072,0.013,0.051,0.081,0.054,0.065,
+0.042,0.082,0.109,0.110,0.057,0.074,0.103,0.108,0.084,0.084,
+0.082,0.022,0.100,0.114,0.050,0.076,0.043,0.061,0.092,0.139,
+0.122,0.103,0.017,0.039,0.027,0.022,0.099,0.023,0.091,0.111,
+0.054,0.113,0.088,0.106,0.118,0.074,0.056,0.078,0.111,0.128,
+0.091,0.106,0.088,0.014,0.074,0.090,0.060,0.060,0.060,0.096,
+0.125,0.077,0.051,0.061,0.100,0.115,0.111,0.078,0.107,0.019,
+0.073,0.102,0.051,0.057,0.056,0.080,0.013,0.014,8.69e-3,7.77e-3,
+0.022,0.040,0.037,0.017,0.013,9.36e-3,0.022,0.021,5.93e-3,0.014,
+0.012,8.86e-3,0.091,0.140,0.090,0.116,0.024,0.033,0.033,0.029,
+0.134,0.037,0.096,0.122,0.056,0.115,0.115,0.098,0.068,0.053,
+0.069,0.064,0.104,0.112,0.123,0.133,0.108,0.018,0.135,0.108,
+0.064,0.074,0.100,0.093,0.102,0.056,0.046,0.077,0.060,0.046,
+0.043,0.041,0.074,0.012,0.044,0.062,0.047,0.044,0.036,0.074,
+0.089,0.075,0.050,0.067,0.085,0.102,0.082,0.067,0.074,0.013,
+0.085,0.094,0.050,0.057,0.057,0.071,0.107,0.137,0.085,0.120,
+0.015,0.024,0.015,0.021,0.120,0.024,0.120,0.151,0.081,0.125,
+0.116,0.143,0.113,0.066,0.065,0.104,0.105,0.120,0.085,0.107,
+0.115,0.011,0.103,0.137,0.116,0.097,0.124,0.169,0.239,0.134,
+0.124,0.213,0.154,0.098,0.090,0.107,0.141,0.018,0.064,0.097,
+0.197,0.160,0.075,0.140,0.125,0.084,0.048,0.074,0.091,0.056,
+0.051,0.049,0.080,7.60e-3,0.048,0.055,0.064,0.060,0.036,0.060,
+0.108,0.081,0.057,0.106,0.011,0.010,8.36e-3,0.014,0.058,8.02e-3,
+0.040,0.059,0.062,0.067,0.056,0.083,0.153,0.084,0.060,0.116,
+0.114,0.080,0.060,0.097,0.081,7.27e-3,0.054,0.078,0.109,0.066,
+0.074,0.161,0.147,0.075,0.064,0.097,0.108,0.069,0.116,0.111,
+0.074,9.11e-3,0.040,0.058,0.088,0.081,0.035,0.072,0.093,0.058,
+0.039,0.057,0.058,0.036,0.042,0.058,0.058,8.69e-3,0.042,0.051,
+0.049,0.050,0.033,0.041,0.076,0.070,0.056,0.079,8.61e-3,0.011,
+8.36e-3,9.36e-3,0.060,9.19e-3,0.036,0.053,0.051,0.079,0.049,0.065,
+0.071,0.041,0.034,0.052,0.078,0.052,0.044,0.060,0.059,4.51e-3,
+0.040,0.055,0.051,0.046,0.045,0.098,0.106,0.055,0.041,0.078,
+0.091,0.064,0.058,0.074,0.095,0.010,0.041,0.055,0.091,0.077,
+0.050,0.093,0.011,8.36e-3,7.27e-3,0.011,0.011,0.011,8.61e-3,0.011,
+0.011,2.17e-3,8.86e-3,8.94e-3,0.013,0.014,7.52e-3,0.013,0.065,0.079,
+0.066,0.078,7.27e-3,8.77e-3,7.69e-3,9.19e-3,0.063,6.02e-3,0.042,0.057,
+0.045,0.062,0.042,0.062,0.058,0.036,0.040,0.062,0.080,0.061,
+0.054,0.076,0.065,0.010,0.081,0.067,0.059,0.058,0.055,0.092,
+0.144,0.055,0.052,0.106,0.070,0.042,0.040,0.059,0.086,8.19e-3,
+0.041,0.063,0.140,0.081,0.059,0.129,0.107,0.057,0.054,0.087,
+0.073,0.047,0.048,0.061,0.081,6.10e-3,0.051,0.066,0.072,0.083,
+0.055,0.091,0.078,0.079,0.070,0.092,9.36e-3,0.019,7.69e-3,8.86e-3,
+0.071,9.78e-3,0.047,0.079,0.065,0.086,0.059,0.085,0.141,0.079,
+0.068,0.131,0.136,0.091,0.064,0.098,0.114,0.010,0.079,0.109,
+0.153,0.128,0.122,0.243,0.224,0.133,0.129,0.172,0.171,0.118,
+0.096,0.113,0.123,0.016,0.061,0.088,0.117,0.125,0.065,0.118,
+0.191,0.115,0.078,0.124,0.172,0.106,0.099,0.110,0.117,0.023,
+0.073,0.104,0.071,0.099,0.061,0.100,0.129,0.141,0.087,0.136,
+0.024,0.022,0.018,0.028,0.090,0.016,0.067,0.105,0.069,0.104,
+0.091,0.125,0.114,0.074,0.057,0.105,0.169,0.127,0.093,0.118,
+0.090,0.011,0.059,0.085,0.093,0.073,0.094,0.137,0.190,0.135,
+0.085,0.151,0.165,0.142,0.130,0.143,0.105,0.019,0.051,0.078,
+0.075,0.107,0.058,0.095,0.165,0.149,0.103,0.111,0.173,0.128,
+0.112,0.140,0.121,0.030,0.077,0.102,0.066,0.104,0.072,0.094,
+0.110,0.174,0.101,0.117,0.027,0.049,0.029,0.027,0.130,0.036,
+0.099,0.126,0.071,0.147,0.198,0.151,0.081,0.068,0.045,0.074,
+0.133,0.154,0.102,0.109,0.081,0.011,0.062,0.107,0.064,0.078,
+0.080,0.121,0.137,0.082,0.048,0.094,0.132,0.121,0.098,0.091,
+0.096,0.020,0.052,0.067,0.070,0.088,0.060,0.099,0.017,0.013,
+9.19e-3,0.017,0.020,0.040,0.025,0.017,0.016,9.86e-3,0.017,0.020,
+0.010,0.022,0.014,0.013,0.101,0.129,0.105,0.113,0.019,0.028,
+0.025,0.021,0.133,0.034,0.093,0.110,0.059,0.142,0.115,0.111,
+0.080,0.064,0.057,0.093,0.145,0.154,0.137,0.129,0.112,0.017,
+0.117,0.114,0.076,0.090,0.104,0.138,0.117,0.063,0.053,0.098,
+0.072,0.061,0.049,0.058,0.078,9.11e-3,0.039,0.059,0.081,0.067,
+0.055,0.106,0.138,0.110,0.078,0.121,0.123,0.126,0.098,0.104,
+0.098,0.020,0.078,0.103,0.088,0.135,0.082,0.117,0.096,0.121,
+0.092,0.128,0.014,0.028,0.013,0.014,0.107,0.017,0.080,0.115,
+0.069,0.122,0.098,0.120,0.119,0.076,0.064,0.111,0.121,0.142,
+0.094,0.101,0.125,0.013,0.078,0.122,0.126,0.139,0.131,0.188,
+0.102,0.077,0.071,0.105,0.071,0.071,0.056,0.133,0.066,8.86e-3,
+0.035,0.071,0.071,0.067,0.049,0.074,0.095,0.088,0.049,0.079,
+0.075,0.074,0.055,0.058,0.074,0.014,0.078,0.077,0.050,0.078,
+0.041,0.064,0.107,0.190,0.078,0.111,0.033,0.056,0.018,0.023,
+0.078,0.017,0.058,0.111,0.052,0.098,0.061,0.144,0.083,0.161,
+0.044,0.095,0.097,0.195,0.067,0.099,0.084,0.012,0.071,0.101,
+0.108,0.062,0.079,0.147,9.86e-3,7.60e-3,6.02e-3,8.52e-3,0.013,0.013,
+9.02e-3,0.011,6.77e-3,1.75e-3,6.60e-3,5.85e-3,9.69e-3,0.012,0.015,0.011,
+0.011,0.012,5.52e-3,7.44e-3,0.010,0.017,0.014,9.02e-3,0.011,6.10e-3,
+0.018,0.013,6.35e-3,0.012,7.35e-3,7.69e-3,9.69e-3,0.021,0.012,0.011,
+5.43e-3,0.018,9.19e-3,4.26e-3,0.017,9.78e-3,0.017,0.019,8.19e-3,0.020,
+0.013,0.030,8.94e-3,0.015,6.77e-3,0.012,0.016,0.034,0.012,0.017,
+0.012,2.34e-3,0.020,0.014,0.010,8.27e-3,9.78e-3,0.018,0.074,0.053,
+0.042,0.052,0.073,0.081,0.071,0.059,0.079,0.017,0.215,0.086,
+0.043,0.063,0.077,0.077,7.52e-3,0.011,8.69e-3,8.44e-3,0.012,0.020,
+0.015,9.02e-3,0.014,8.02e-3,0.087,0.021,5.85e-3,0.014,0.015,9.69e-3,
+0.065,0.130,0.079,0.083,0.016,0.042,0.024,0.016,0.089,0.028,
+0.085,0.075,0.043,0.090,0.078,0.081,0.059,0.054,0.054,0.053,
+0.080,0.114,0.093,0.082,0.113,0.023,0.733,0.205,0.052,0.065,
+0.172,0.105,0.076,0.048,0.036,0.059,0.053,0.060,0.033,0.043,
+0.049,6.18e-3,0.056,0.047,0.048,0.047,0.044,0.067,0.099,0.086,
+0.057,0.078,0.087,0.117,0.061,0.060,0.091,0.020,0.205,0.104,
+0.060,0.088,0.086,0.083,0.117,0.355,0.092,0.126,0.047,0.292,
+0.028,0.033,0.122,0.051,0.095,0.176,0.086,0.158,0.091,0.123,
+0.078,0.079,0.050,0.074,0.104,0.323,0.072,0.096,0.105,0.018,
+0.196,0.113,0.090,0.098,0.104,0.131,0.219,0.093,0.083,0.143,
+0.092,0.055,0.046,0.085,0.085,7.44e-3,0.040,0.071,0.100,0.072,
+0.051,0.114,0.106,0.061,0.041,0.065,0.076,0.047,0.034,0.049,
+0.067,9.11e-3,0.036,0.053,0.046,0.051,0.034,0.059,0.093,0.104,
+0.056,0.108,0.010,0.012,5.85e-3,0.014,0.056,7.10e-3,0.042,0.072,
+0.059,0.073,0.054,0.105,0.126,0.076,0.060,0.125,0.087,0.079,
+0.056,0.103,0.082,0.010,0.097,0.117,0.141,0.077,0.090,0.221,
+0.108,0.064,0.049,0.083,0.074,0.055,0.047,0.056,0.056,7.44e-3,
+0.032,0.056,0.053,0.063,0.038,0.094,0.083,0.060,0.037,0.062,
+0.059,0.045,0.039,0.045,0.057,0.010,0.058,0.083,0.046,0.079,
+0.045,0.075,0.074,0.081,0.064,0.089,8.86e-3,0.013,8.19e-3,0.011,
+0.067,7.69e-3,0.051,0.087,0.059,0.088,0.068,0.134,0.089,0.049,
+0.050,0.083,0.097,0.076,0.058,0.089,0.073,8.61e-3,0.082,0.089,
+0.077,0.070,0.070,0.140,0.122,0.089,0.066,0.097,0.101,0.082,
+0.090,0.100,0.117,0.017,0.092,0.086,0.077,0.091,0.082,0.120,
+0.013,0.013,8.02e-3,0.020,0.011,0.014,0.014,0.012,0.013,6.27e-3,
+0.025,0.014,7.35e-3,0.014,9.61e-3,0.013,0.116,0.129,0.098,0.154,
+0.014,0.021,0.018,0.017,0.116,0.024,0.125,0.108,0.078,0.122,
+0.199,0.132,0.115,0.076,0.098,0.104,0.144,0.116,0.146,0.140,
+0.231,0.090,0.847,0.260,0.113,0.169,0.278,0.183,0.206,0.088,
+0.071,0.133,0.096,0.070,0.057,0.068,0.113,9.02e-3,0.057,0.100,
+0.134,0.093,0.084,0.196,0.145,0.103,0.063,0.115,0.113,0.134,
+0.085,0.083,0.134,0.013,0.101,0.118,0.101,0.099,0.081,0.137,
+0.161,0.180,0.116,0.204,0.014,0.036,0.011,0.018,0.153,0.018,
+0.130,0.195,0.145,0.157,0.199,0.237,0.244,0.139,0.128,0.249,
+0.163,0.149,0.121,0.185,0.213,0.019,0.226,0.267,0.269,0.185,
+0.230,0.371,0.376,0.188,0.145,0.216,0.217,0.184,0.155,0.144,
+0.252,0.034,0.114,0.143,0.210,0.192,0.107,0.153,0.268,0.186,
+0.115,0.143,0.217,0.171,0.129,0.120,0.186,0.038,0.123,0.118,
+0.107,0.129,0.090,0.115,0.191,0.168,0.126,0.142,0.026,0.041,
+0.035,0.030,0.145,0.026,0.121,0.115,0.098,0.151,0.107,0.131,
+0.227,0.108,0.109,0.148,0.182,0.149,0.144,0.152,0.137,0.020,
+0.088,0.115,0.137,0.098,0.100,0.160,0.307,0.211,0.113,0.167,
+0.221,0.229,0.152,0.126,0.187,0.039,0.095,0.106,0.094,0.154,
+0.074,0.095,0.293,0.252,0.114,0.156,0.221,0.200,0.138,0.109,
+0.222,0.079,0.129,0.146,0.082,0.174,0.077,0.089,0.150,0.244,
+0.115,0.121,0.033,0.073,0.047,0.020,0.199,0.064,0.166,0.153,
+0.081,0.230,0.122,0.121,0.106,0.092,0.060,0.077,0.171,0.199,
+0.118,0.104,0.142,0.028,0.110,0.109,0.101,0.161,0.117,0.133,
+0.152,0.097,0.059,0.078,0.158,0.120,0.109,0.082,0.136,0.038,
+0.078,0.101,0.074,0.093,0.066,0.097,0.022,0.023,0.012,9.94e-3,
+0.034,0.031,0.022,0.013,0.022,0.020,0.023,0.020,0.013,0.030,
+0.016,0.018,0.098,0.112,0.080,0.065,0.019,0.033,0.034,0.016,
+0.123,0.044,0.092,0.091,0.051,0.113,0.087,0.067,0.069,0.053,
+0.041,0.050,0.110,0.122,0.094,0.095,0.114,0.034,0.094,0.100,
+0.095,0.095,0.086,0.090,0.171,0.076,0.056,0.108,0.102,0.068,
+0.061,0.067,0.093,0.012,0.050,0.116,0.102,0.079,0.069,0.144,
+0.168,0.125,0.075,0.095,0.172,0.117,0.086,0.078,0.110,0.019,
+0.078,0.100,0.082,0.121,0.076,0.108,0.124,0.103,0.088,0.093,
+0.018,0.019,0.019,0.014,0.106,0.021,0.085,0.096,0.080,0.110,
+0.108,0.097,0.104,0.072,0.060,0.093,0.089,0.089,0.074,0.084,
+0.115,0.018,0.096,0.124,0.112,0.113,0.125,0.168,0.286,0.246,
+0.173,0.171,0.225,0.254,0.190,0.147,0.154,0.039,0.097,0.116,
+0.109,0.176,0.105,0.123,0.261,0.292,0.142,0.135,0.283,0.280,
+0.216,0.157,0.185,0.072,0.151,0.154,0.077,0.145,0.097,0.104,
+0.134,0.227,0.132,0.112,0.032,0.069,0.053,0.031,0.140,0.051,
+0.160,0.122,0.075,0.179,0.131,0.112,0.111,0.081,0.057,0.081,
+0.173,0.197,0.115,0.111,0.141,0.075,0.080,0.092,0.094,0.165,
+0.086,0.132,0.261,0.305,0.112,0.113,0.273,0.456,0.230,0.135,
+0.162,0.066,0.103,0.112,0.066,0.176,0.087,0.094,0.240,0.404,
+0.143,0.116,0.276,0.246,0.244,0.140,0.219,0.132,0.145,0.161,
+0.076,0.241,0.114,0.089,0.136,0.387,0.133,0.117,0.058,0.230,
+0.095,0.041,0.237,0.145,0.202,0.219,0.093,0.491,0.200,0.157,
+0.091,0.105,0.048,0.055,0.184,0.336,0.131,0.107,0.154,0.060,
+0.098,0.110,0.117,0.574,0.101,0.144,0.135,0.179,0.065,0.075,
+0.201,0.305,0.248,0.112,0.152,0.049,0.108,0.106,0.053,0.120,
+0.085,0.079,0.024,0.098,0.023,0.017,0.060,0.130,0.097,0.029,
+0.051,0.080,0.063,0.048,0.010,0.054,0.032,0.020,0.125,0.266,
+0.163,0.104,0.056,0.164,0.125,0.039,0.253,0.137,0.227,0.186,
+0.068,0.270,0.212,0.127,0.072,0.078,0.060,0.054,0.195,0.320,
+0.249,0.156,0.187,0.062,0.179,0.143,0.092,0.261,0.138,0.118,
+0.103,0.076,0.049,0.058,0.080,0.079,0.121,0.051,0.062,0.011,
+0.036,0.051,0.049,0.057,0.044,0.068,0.136,0.226,0.081,0.085,
+0.136,0.202,0.114,0.082,0.112,0.036,0.080,0.102,0.054,0.128,
+0.078,0.086,0.091,0.154,0.102,0.085,0.018,0.049,0.033,0.018,
+0.119,0.044,0.128,0.123,0.063,0.159,0.313,0.177,0.076,0.068,
+0.053,0.061,0.095,0.129,0.080,0.099,0.140,0.041,0.099,0.117,
+0.098,0.210,0.313,0.244,0.126,0.109,0.063,0.093,0.092,0.100,
+0.061,0.072,0.073,0.016,0.049,0.061,0.062,0.074,0.039,0.057,
+0.135,0.163,0.107,0.114,0.131,0.147,0.101,0.081,0.131,0.051,
+0.109,0.103,0.054,0.128,0.058,0.067,0.128,0.221,0.150,0.131,
+0.024,0.061,0.039,0.033,0.116,0.037,0.098,0.104,0.050,0.131,
+0.081,0.096,0.074,0.058,0.045,0.063,0.090,0.186,0.066,0.077,
+0.084,0.022,0.063,0.078,0.068,0.081,0.069,0.135,0.014,0.019,
+9.61e-3,0.014,0.022,0.049,0.023,0.013,0.017,0.012,0.016,0.014,
+7.60e-3,0.021,8.36e-3,0.011,0.024,0.044,0.035,0.041,0.042,0.115,
+0.049,0.022,0.035,0.039,0.037,0.027,9.53e-3,0.038,0.017,0.013,
+0.016,0.065,0.029,0.019,0.016,0.065,0.037,0.011,0.044,0.045,
+0.054,0.039,0.013,0.056,0.029,0.022,8.52e-3,0.017,8.02e-3,8.19e-3,
+0.033,0.125,0.032,0.025,0.020,0.012,0.023,0.017,0.012,0.032,
+0.016,0.019,0.063,0.061,0.040,0.054,0.086,0.105,0.093,0.055,
+0.107,0.039,0.071,0.065,0.037,0.065,0.046,0.044,0.011,0.027,
+0.015,9.11e-3,0.023,0.042,0.028,0.011,0.025,0.025,0.023,0.020,
+7.85e-3,0.027,0.011,9.94e-3,0.075,0.138,0.080,0.053,0.024,0.064,
+0.047,0.017,0.140,0.074,0.088,0.098,0.040,0.139,0.118,0.063,
+0.040,0.038,0.036,0.029,0.074,0.121,0.095,0.067,0.100,0.033,
+0.084,0.082,0.041,0.072,0.069,0.063,0.062,0.047,0.036,0.149,
+0.049,0.043,0.032,0.028,0.070,9.53e-3,0.026,0.036,0.042,0.040,
+0.024,0.048,0.088,0.090,0.057,0.054,0.097,0.118,0.084,0.064,
+0.094,0.038,0.065,0.085,0.048,0.101,0.052,0.063,0.069,0.131,
+0.080,0.061,0.022,0.045,0.029,0.013,0.133,0.041,0.098,0.124,
+0.053,0.136,0.085,0.087,0.064,0.045,0.042,0.037,0.073,0.104,
+0.065,0.061,0.099,0.021,0.085,0.098,0.074,0.106,0.079,0.104,
+0.127,0.095,0.063,0.107,0.072,0.065,0.041,0.047,0.063,0.015,
+0.040,0.061,0.070,0.068,0.047,0.123,0.081,0.056,0.039,0.060,
+0.068,0.049,0.029,0.038,0.052,9.78e-3,0.032,0.046,0.042,0.050,
+0.031,0.052,0.078,0.078,0.049,0.076,0.010,0.015,8.52e-3,0.012,
+0.065,9.86e-3,0.043,0.053,0.038,0.061,0.046,0.063,0.082,0.053,
+0.043,0.085,0.073,0.082,0.046,0.067,0.060,0.010,0.051,0.062,
+0.092,0.064,0.063,0.138,0.139,0.127,0.072,0.111,0.130,0.157,
+0.081,0.083,0.107,0.028,0.060,0.081,0.062,0.105,0.054,0.082,
+0.133,0.159,0.078,0.160,0.134,0.179,0.093,0.085,0.128,0.035,
+0.088,0.105,0.057,0.124,0.058,0.084,0.083,0.154,0.067,0.083,
+0.018,0.056,0.025,0.017,0.116,0.032,0.099,0.107,0.060,0.172,
+0.097,0.096,0.068,0.065,0.039,0.058,0.119,0.228,0.085,0.096,
+0.090,0.020,0.074,0.083,0.068,0.106,0.073,0.116,0.077,0.072,
+0.041,0.058,0.086,0.097,0.064,0.057,0.226,0.225,0.224,0.232,
+0.056,0.186,0.077,0.089,8.44e-3,0.014,6.60e-3,8.52e-3,0.016,0.024,
+0.015,7.27e-3,0.019,0.020,0.029,0.041,7.35e-3,0.024,8.94e-3,0.010,
+0.057,0.094,0.058,0.056,0.018,0.031,0.024,0.013,0.120,0.043,
+0.082,0.102,0.050,0.113,0.082,0.073,0.043,0.039,0.035,0.040,
+0.086,0.094,0.080,0.075,0.111,0.030,0.094,0.121,0.049,0.084,
+0.077,0.086,0.107,0.056,0.039,0.069,0.067,0.053,0.035,0.045,
+0.140,0.020,0.045,0.063,0.073,0.061,0.043,0.091,0.080,0.054,
+0.032,0.049,0.083,0.062,0.052,0.049,0.068,0.014,0.061,0.101,
+0.050,0.059,0.043,0.074,0.106,0.105,0.088,0.090,0.014,0.018,
+0.011,0.014,0.108,0.023,0.080,0.112,0.072,0.118,0.106,0.108,
+0.099,0.066,0.047,0.093,0.100,0.101,0.066,0.091,0.129,0.015,
+0.085,0.139,0.129,0.121,0.125,0.193,0.281,0.218,0.167,0.219,
+0.248,0.281,0.161,0.150,0.195,0.046,0.124,0.157,0.149,0.197,
+0.098,0.137,0.281,0.281,0.155,0.212,0.323,0.362,0.239,0.168,
+0.248,0.088,0.225,0.214,0.099,0.187,0.129,0.137,0.134,0.197,
+0.120,0.117,0.025,0.053,0.042,0.033,0.134,0.050,0.136,0.106,
+0.077,0.149,0.111,0.109,0.115,0.080,0.065,0.112,0.146,0.183,
+0.111,0.122,0.101,0.023,0.094,0.102,0.094,0.092,0.111,0.145,
+0.311,0.302,0.141,0.341,0.315,0.413,0.211,0.157,0.211,0.076,
+0.149,0.164,0.089,0.202,0.104,0.110,0.338,0.480,0.216,0.533,
+0.421,0.471,0.282,0.211,0.400,0.295,0.309,0.482,0.111,0.376,
+0.131,0.134,0.136,0.351,0.134,0.120,0.056,0.175,0.110,0.042,
+0.294,0.161,0.267,0.204,0.089,0.343,0.195,0.133,0.066,0.090,
+0.057,0.070,0.157,0.326,0.186,0.122,0.139,0.046,0.119,0.124,
+0.077,0.138,0.269,0.219,0.127,0.111,0.087,0.085,0.186,0.218,
+0.160,0.110,0.179,0.054,0.116,0.120,0.063,0.121,0.076,0.091,
+0.021,0.041,0.023,0.020,0.043,0.100,0.054,0.031,0.045,0.058,
+0.060,0.043,0.015,0.056,0.026,0.019,0.076,0.181,0.107,0.075,
+0.032,0.067,0.053,0.028,0.162,0.085,0.198,0.159,0.059,0.195,
+0.117,0.091,0.052,0.059,0.059,0.049,0.124,0.197,0.122,0.112,
+0.131,0.051,0.144,0.124,0.059,0.118,0.110,0.112,0.114,0.061,
+0.045,0.085,0.075,0.065,0.039,0.050,0.103,0.013,0.039,0.055,
+0.100,0.065,0.051,0.100,0.140,0.135,0.086,0.097,0.157,0.215,
+0.110,0.104,0.127,0.042,0.108,0.133,0.064,0.149,0.073,0.092,
+0.065,0.095,0.068,0.073,0.014,0.031,0.025,0.018,0.096,0.036,
+0.110,0.098,0.049,0.119,0.085,0.080,0.073,0.073,0.082,0.074,
+0.066,0.094,0.064,0.072,0.101,0.024,0.100,0.100,0.082,0.114,
+0.149,0.145,0.290,0.290,0.167,0.178,0.298,0.453,0.231,0.168,
+0.163,0.049,0.115,0.128,0.098,0.160,0.085,0.113,0.349,0.441,
+0.200,0.179,0.469,0.776,0.463,0.257,0.266,0.160,0.270,0.256,
+0.084,0.241,0.115,0.121,0.130,0.313,0.184,0.127,0.042,0.125,
+0.100,0.046,0.160,0.090,0.231,0.164,0.105,0.242,0.162,0.127,
+0.087,0.079,0.059,0.072,0.149,0.275,0.150,0.119,0.098,0.031,
+0.103,0.103,0.136,0.103,0.090,0.130,0.278,0.317,0.106,0.121,
+0.287,0.591,0.218,0.139,0.186,0.085,0.129,0.119,0.074,0.195,
+0.072,0.091,0.202,0.299,0.117,0.132,0.142,0.220,0.152,0.136,
+0.215,0.260,0.155,0.183,0.061,0.324,0.095,0.101,0.136,0.446,
+0.158,0.118,0.075,0.482,0.178,0.070,0.216,0.189,0.207,0.235,
+0.075,0.452,0.243,0.166,0.074,0.125,0.072,0.061,0.201,0.632,
+0.178,0.153,0.167,0.085,0.163,0.189,0.078,0.207,0.115,0.163,
+0.129,0.172,0.075,0.083,0.274,0.567,0.297,0.173,0.210,0.086,
+0.156,0.146,0.077,0.209,0.110,0.103,0.030,0.123,0.043,0.025,
+0.122,0.588,0.209,0.075,0.098,0.195,0.138,0.087,0.018,0.137,
+0.051,0.031,0.130,0.368,0.210,0.133,0.092,0.311,0.210,0.069,
+0.247,0.166,0.249,0.234,0.093,0.528,0.293,0.184,0.074,0.100,
+0.072,0.067,0.262,0.578,0.433,0.256,0.226,0.098,0.292,0.214,
+0.111,0.195,0.204,0.158,0.082,0.088,0.048,0.065,0.100,0.144,
+0.063,0.055,0.091,0.019,0.047,0.054,0.052,0.073,0.044,0.056,
+0.128,0.244,0.111,0.101,0.234,0.631,0.214,0.167,0.171,0.092,
+0.139,0.151,0.061,0.236,0.110,0.091,0.078,0.208,0.131,0.092,
+0.026,0.096,0.060,0.029,0.138,0.075,0.214,0.179,0.059,0.208,
+0.206,0.137,0.066,0.080,0.050,0.059,0.087,0.227,0.099,0.100,
+0.123,0.035,0.127,0.127,0.081,0.149,0.537,0.213,0.141,0.155,
+0.071,0.122,0.127,0.203,0.092,0.119,0.113,0.029,0.067,0.074,
+0.060,0.097,0.041,0.069,0.192,0.354,0.143,0.430,0.288,0.450,
+0.252,0.217,0.243,0.127,0.289,0.240,0.077,0.231,0.103,0.117,
+0.114,0.434,0.154,0.145,0.051,0.254,0.062,0.051,0.169,0.097,
+0.151,0.188,0.064,0.246,0.117,0.113,0.071,0.157,0.043,0.073,
+0.210,0.924,0.123,0.142,0.118,0.048,0.110,0.126,0.068,0.131,
+0.086,0.140,0.023,0.039,0.014,0.035,0.050,0.155,0.063,0.036,
+0.039,0.027,0.031,0.026,9.86e-3,0.032,0.016,0.014,0.044,0.133,
+0.058,0.243,0.140,0.353,0.241,0.088,0.087,0.216,0.148,0.095,
+0.019,0.097,0.033,0.031,0.038,0.259,0.067,0.038,0.054,0.373,
+0.120,0.042,0.079,0.147,0.135,0.119,0.019,0.148,0.063,0.036,
+0.015,0.084,0.013,0.017,0.121,0.754,0.079,0.073,0.038,0.043,
+0.059,0.043,0.013,0.055,0.026,0.027,0.091,0.137,0.064,0.072,
+0.141,0.315,0.225,0.116,0.172,0.077,0.146,0.130,0.056,0.143,
+0.082,0.089,0.025,0.095,0.031,0.027,0.064,0.279,0.128,0.042,
+0.076,0.125,0.117,0.065,0.015,0.076,0.033,0.020,0.084,0.301,
+0.127,0.087,0.049,0.203,0.105,0.037,0.233,0.166,0.156,0.190,
+0.064,0.289,0.152,0.117,0.047,0.071,0.042,0.052,0.158,0.430,
+0.193,0.177,0.211,0.092,0.219,0.172,0.073,0.141,0.124,0.109,
+0.072,0.059,0.033,0.103,0.059,0.074,0.039,0.045,0.065,0.021,
+0.048,0.054,0.038,0.058,0.030,0.060,0.131,0.241,0.094,0.110,
+0.226,0.415,0.212,0.158,0.231,0.130,0.228,0.235,0.081,0.245,
+0.106,0.113,0.112,0.249,0.119,0.092,0.024,0.123,0.053,0.026,
+0.203,0.127,0.218,0.210,0.075,0.283,0.135,0.153,0.082,0.073,
+0.044,0.060,0.087,0.264,0.087,0.097,0.137,0.042,0.170,0.150,
+0.076,0.149,0.123,0.130,0.100,0.080,0.045,0.083,0.084,0.088,
+0.047,0.071,0.071,0.015,0.045,0.072,0.059,0.065,0.040,0.112,
+0.108,0.108,0.049,0.112,0.096,0.126,0.060,0.066,0.064,0.020,
+0.054,0.073,0.041,0.066,0.035,0.057,0.072,0.125,0.055,0.075,
+0.011,0.038,0.012,0.016,0.067,0.019,0.058,0.078,0.039,0.079,
+0.050,0.063,0.057,0.060,0.033,0.087,0.072,0.189,0.044,0.094,
+0.060,0.010,0.044,0.075,0.065,0.056,0.059,0.139,0.119,0.133,
+0.064,0.130,0.156,0.258,0.114,0.125,0.135,0.038,0.095,0.100,
+0.064,0.135,0.056,0.102,0.152,0.255,0.112,0.489,0.270,0.431,
+0.211,0.195,0.167,0.080,0.154,0.187,0.078,0.194,0.083,0.098,
+0.090,0.349,0.105,0.098,0.038,0.213,0.051,0.034,0.143,0.072,
+0.154,0.167,0.069,0.248,0.122,0.108,0.054,0.126,0.044,0.068,
+0.199,0.794,0.135,0.171,0.115,0.048,0.112,0.114,0.062,0.130,
+0.086,0.123,0.075,0.075,0.038,0.053,0.110,0.151,0.114,0.084,
+0.122,0.046,0.111,0.112,0.049,0.091,0.060,0.084,0.010,0.023,
+7.60e-3,0.014,0.027,0.075,0.037,0.020,0.024,0.026,0.034,0.025,
+7.94e-3,0.027,0.015,0.013,0.060,0.141,0.075,0.063,0.026,0.059,
+0.044,0.022,0.162,0.079,0.180,0.192,0.058,0.186,0.139,0.107,
+0.040,0.050,0.036,0.044,0.105,0.168,0.121,0.118,0.152,0.048,
+0.159,0.144,0.061,0.105,0.097,0.106,0.081,0.059,0.035,0.060,
+0.057,0.064,0.034,0.042,0.065,0.012,0.061,0.055,0.053,0.045,
+0.041,0.077,0.083,0.080,0.041,0.061,0.103,0.155,0.067,0.068,
+0.080,0.024,0.084,0.079,0.050,0.092,0.055,0.081,0.197,0.116,
+0.088,0.080,0.019,0.032,0.019,0.016,0.118,0.037,0.130,0.138,
+0.062,0.138,0.114,0.121,0.077,0.060,0.041,0.083,0.092,0.146,
+0.074,0.098,0.121,0.021,0.116,0.148,0.104,0.127,0.149,0.155,
+0.168,0.129,0.155,0.144,0.150,0.144,0.126,0.105,0.120,0.018,
+0.075,0.113,0.097,0.111,0.070,0.117,0.152,0.145,0.096,0.086,
+0.133,0.122,0.118,0.085,0.097,0.030,0.087,0.089,0.063,0.105,
+0.089,0.088,0.108,0.127,0.079,0.097,0.017,0.024,0.020,0.024,
+0.089,0.022,0.076,0.153,0.045,0.081,0.070,0.094,0.093,0.054,
+0.041,0.075,0.095,0.095,0.076,0.087,0.063,8.86e-3,0.062,0.062,
+0.071,0.050,0.074,0.121,0.226,0.231,0.114,0.128,0.232,0.308,
+0.288,0.173,0.149,0.039,0.087,0.085,0.073,0.142,0.081,0.100,
+0.253,0.373,0.147,0.123,0.245,0.266,0.282,0.155,0.260,0.112,
+0.175,0.167,0.094,0.247,0.111,0.104,0.169,0.347,0.173,0.169,
+0.062,0.156,0.098,0.055,0.267,0.123,0.273,0.288,0.080,0.296,
+0.229,0.161,0.081,0.070,0.052,0.063,0.166,0.203,0.138,0.134,
+0.108,0.026,0.088,0.095,0.067,0.084,0.097,0.128,0.107,0.103,
+0.055,0.071,0.169,0.183,0.168,0.119,0.198,0.057,0.094,0.089,
+0.095,0.153,0.080,0.098,0.018,0.031,0.015,0.020,0.034,0.057,
+0.049,0.025,0.040,0.029,0.030,0.028,0.017,0.066,0.023,0.027,
+0.105,0.156,0.126,0.110,0.032,0.056,0.058,0.034,0.177,0.065,
+0.131,0.113,0.065,0.196,0.133,0.112,0.056,0.048,0.047,0.063,
+0.124,0.166,0.175,0.129,0.116,0.029,0.151,0.098,0.070,0.092,
+0.107,0.222,0.091,0.052,0.036,0.065,0.060,0.050,0.051,0.054,
+0.067,9.61e-3,0.031,0.040,0.070,0.064,0.043,0.082,0.103,0.117,
+0.064,0.079,0.111,0.124,0.104,0.098,0.125,0.029,0.075,0.077,
+0.065,0.138,0.069,0.105,0.089,0.119,0.107,0.106,0.017,0.025,
+0.028,0.023,0.124,0.029,0.126,0.122,0.070,0.158,0.126,0.118,
+0.081,0.067,0.056,0.086,0.073,0.076,0.084,0.089,0.117,0.019,
+0.107,0.111,0.112,0.133,0.127,0.199,0.022,0.025,0.055,0.018,
+0.029,0.045,0.032,0.017,0.017,9.28e-3,0.015,0.013,0.010,0.017,
+0.012,0.020,0.045,0.057,0.046,0.024,0.071,0.106,0.090,0.037,
+0.041,0.049,0.049,0.036,0.016,0.046,0.027,0.021,0.022,0.055,
+0.029,0.018,0.018,0.042,0.027,0.013,0.024,0.025,0.041,0.028,
+0.010,0.034,0.035,0.022,0.011,9.78e-3,8.86e-3,7.94e-3,0.028,0.040,
+0.030,0.021,0.019,9.44e-3,0.017,0.014,0.012,0.016,0.019,0.019,
+0.034,0.059,0.027,0.018,0.062,0.153,0.088,0.034,0.030,0.032,
+0.028,0.022,0.010,0.032,0.026,0.015,0.077,0.176,0.063,0.032,
+0.166,0.273,0.228,0.079,0.114,0.199,0.091,0.076,0.025,0.111,
+0.049,0.026,0.047,0.179,0.061,0.035,0.081,0.600,0.178,0.047,
+0.096,0.187,0.135,0.086,0.023,0.168,0.152,0.054,0.014,0.023,
+0.014,0.011,0.050,0.129,0.061,0.031,0.030,0.020,0.036,0.021,
+0.013,0.032,0.032,0.024,0.017,0.025,0.013,0.015,0.051,0.110,
+0.090,0.033,0.044,0.037,0.044,0.024,9.44e-3,0.039,0.021,0.016,
+0.015,0.047,0.018,0.020,0.058,0.187,0.144,0.035,0.058,0.106,
+0.071,0.046,7.19e-3,0.042,0.027,0.012,0.026,0.085,0.062,0.036,
+0.036,0.132,0.125,0.029,0.102,0.126,0.131,0.069,0.024,0.130,
+0.090,0.043,0.012,0.022,0.016,0.012,0.051,0.129,0.120,0.051,
+0.054,0.048,0.075,0.042,0.013,0.036,0.042,0.035,0.010,0.011,
+7.27e-3,8.69e-3,0.011,0.018,0.016,9.69e-3,0.011,5.18e-3,9.36e-3,6.60e-3,
+7.52e-3,0.012,6.60e-3,0.011,0.025,0.062,0.023,0.022,0.055,0.095,
+0.065,0.042,0.046,0.038,0.033,0.033,0.016,0.059,0.028,0.023,
+0.012,0.039,0.028,0.019,9.36e-3,0.039,0.027,0.012,0.046,0.040,
+0.065,0.053,0.015,0.057,0.053,0.030,0.012,0.015,0.011,0.011,
+0.017,0.036,0.024,0.017,0.022,0.011,0.032,0.029,0.013,0.031,
+0.043,0.033,0.260,0.144,0.107,0.149,0.230,0.219,0.136,0.137,
+0.198,0.032,0.095,0.123,0.144,0.125,0.083,0.166,0.233,0.246,
+0.109,0.137,0.290,0.282,0.297,0.191,0.249,0.096,0.291,0.211,
+0.097,0.182,0.106,0.139,0.152,0.274,0.191,0.169,0.045,0.095,
+0.078,0.068,0.227,0.090,0.215,0.227,0.082,0.223,0.146,0.150,
+0.106,0.072,0.063,0.095,0.156,0.202,0.128,0.151,0.126,0.036,
+0.117,0.264,0.085,0.091,0.090,0.176,0.053,0.046,0.021,0.031,
+0.090,0.138,0.084,0.055,0.057,0.025,0.046,0.044,0.026,0.034,
+0.024,0.034,0.063,0.098,0.046,0.040,0.128,0.188,0.206,0.083,
+0.089,0.112,0.164,0.092,0.024,0.066,0.039,0.034,0.038,0.131,
+0.067,0.046,0.038,0.174,0.120,0.037,0.110,0.160,0.204,0.126,
+0.025,0.112,0.091,0.053,0.023,0.021,0.014,0.019,0.055,0.120,
+0.063,0.052,0.037,0.025,0.051,0.048,0.017,0.025,0.023,0.037,
+0.156,0.151,0.082,0.087,0.243,0.345,0.284,0.156,0.199,0.075,
+0.160,0.135,0.090,0.146,0.121,0.121,0.033,0.085,0.038,0.022,
+0.076,0.192,0.183,0.045,0.070,0.105,0.112,0.050,0.018,0.062,
+0.038,0.026,0.170,0.345,0.238,0.170,0.077,0.210,0.227,0.060,
+0.307,0.147,0.141,0.186,0.094,0.277,0.289,0.180,0.090,0.082,
+0.067,0.069,0.192,0.316,0.317,0.169,0.189,0.071,0.212,0.163,
+0.073,0.125,0.150,0.147,0.175,0.078,0.057,0.125,0.124,0.109,
+0.064,0.075,0.113,0.020,0.061,0.094,0.100,0.084,0.062,0.188,
+0.186,0.213,0.118,0.118,0.258,0.347,0.270,0.157,0.216,0.084,
+0.203,0.177,0.131,0.223,0.132,0.178,0.198,0.353,0.188,0.193,
+0.050,0.161,0.091,0.048,0.327,0.118,0.651,0.349,0.141,0.324,
+0.247,0.233,0.113,0.090,0.062,0.108,0.138,0.222,0.129,0.134,
+0.159,0.042,0.209,0.187,0.105,0.156,0.138,0.211,0.099,0.070,
+0.045,0.098,0.067,0.066,0.049,0.090,0.062,0.016,0.032,0.103,
+0.086,0.095,0.055,0.781,0.083,0.070,0.035,0.041,0.064,0.060,
+0.047,0.042,0.050,0.015,0.055,0.046,0.038,0.050,0.034,0.089,
+0.062,0.087,0.057,0.071,0.015,0.021,0.016,0.018,0.063,0.017,
+0.052,0.071,0.052,0.091,0.131,0.149,0.075,0.040,0.030,0.053,
+0.069,0.064,0.045,0.060,0.050,7.69e-3,0.035,0.051,0.065,0.053,
+0.058,0.155,0.149,0.161,0.075,0.115,0.183,0.293,0.175,0.133,
+0.128,0.034,0.098,0.116,0.070,0.121,0.061,0.164,0.176,0.299,
+0.113,0.120,0.261,0.294,0.250,0.170,0.192,0.080,0.201,0.194,
+0.077,0.177,0.101,0.106,0.133,0.361,0.171,0.159,0.044,0.153,
+0.091,0.057,0.229,0.113,0.278,0.260,0.097,0.349,0.214,0.209,
+0.123,0.097,0.064,0.079,0.209,0.277,0.172,0.185,0.134,0.032,
+0.127,0.140,0.071,0.103,0.091,0.153,0.112,0.141,0.055,0.062,
+0.144,0.204,0.195,0.118,0.158,0.060,0.151,0.365,0.055,0.119,
+0.089,0.139,0.013,0.030,0.012,0.013,0.037,0.085,0.083,0.026,
+0.028,0.037,0.046,0.041,8.61e-3,0.026,0.022,0.019,0.109,0.241,
+0.155,0.140,0.049,0.127,0.100,0.048,0.234,0.121,0.214,0.234,
+0.079,0.258,0.229,0.163,0.074,0.069,0.072,0.066,0.167,0.237,
+0.266,0.179,0.154,0.046,0.170,0.150,0.069,0.104,0.137,0.138,
+0.096,0.059,0.036,0.060,0.064,0.060,0.056,0.048,0.065,0.012,
+0.043,0.064,0.047,0.058,0.041,0.107,0.087,0.089,0.054,0.060,
+0.104,0.122,0.117,0.086,0.100,0.024,0.089,0.103,0.056,0.098,
+0.073,0.081,0.112,0.171,0.131,0.155,0.022,0.049,0.033,0.030,
+0.190,0.055,0.253,0.261,0.094,0.209,0.191,0.178,0.098,0.073,
+0.063,0.110,0.133,0.147,0.124,0.141,0.133,0.021,0.160,0.177,
+0.116,0.126,0.147,0.193,0.149,0.092,0.104,0.156,0.120,0.088,
+0.065,0.078,0.103,0.014,0.044,0.075,0.136,0.113,0.052,0.102,
+0.118,0.083,0.057,0.072,0.086,0.063,0.052,0.052,0.073,0.016,
+0.041,0.051,0.069,0.092,0.046,0.072,0.093,0.089,0.063,0.098,
+0.011,0.014,0.011,0.015,0.065,0.011,0.038,0.067,0.057,0.077,
+0.064,0.085,0.110,0.059,0.045,0.079,0.090,0.069,0.058,0.076,
+0.069,7.35e-3,0.051,0.053,0.099,0.064,0.070,0.140,0.129,0.090,
+0.053,0.091,0.100,0.089,0.066,0.070,0.070,0.012,0.032,0.049,
+0.058,0.072,0.040,0.057,0.103,0.104,0.047,0.063,0.079,0.075,
+0.051,0.045,0.076,0.024,0.037,0.055,0.053,0.086,0.050,0.060,
+0.067,0.089,0.061,0.079,0.014,0.025,0.018,0.014,0.081,0.021,
+0.057,0.075,0.051,0.105,0.131,0.078,0.058,0.046,0.028,0.049,
+0.066,0.071,0.049,0.057,0.054,7.85e-3,0.040,0.045,0.054,0.055,
+0.068,0.092,0.078,0.047,0.035,0.054,0.074,0.068,0.058,0.058,
+0.081,0.015,0.034,0.047,0.057,0.068,0.038,0.074,7.94e-3,7.10e-3,
+4.43e-3,6.60e-3,7.44e-3,0.012,9.19e-3,8.36e-3,7.44e-3,4.85e-3,7.27e-3,6.27e-3,
+7.94e-3,0.018,8.11e-3,9.69e-3,0.047,0.076,0.051,0.056,9.28e-3,0.019,
+0.014,9.86e-3,0.070,0.017,0.041,0.047,0.042,0.082,0.067,0.058,
+0.043,0.033,0.027,0.041,0.063,0.083,0.053,0.059,0.061,0.011,
+0.045,0.046,0.053,0.059,0.050,0.090,0.095,0.038,0.037,0.076,
+0.049,0.034,0.035,0.047,0.063,5.68e-3,0.026,0.038,0.105,0.058,
+0.035,0.083,0.078,0.056,0.038,0.059,0.055,0.052,0.041,0.051,
+0.060,9.44e-3,0.035,0.051,0.064,0.085,0.048,0.077,0.058,0.072,
+0.060,0.072,6.94e-3,8.61e-3,7.94e-3,6.02e-3,0.066,0.010,0.049,0.061,
+0.065,0.090,0.071,0.083,0.088,0.062,0.049,0.089,0.072,0.056,
+0.052,0.069,0.087,7.52e-3,0.057,0.086,0.125,0.137,0.117,0.218,
+0.199,0.138,0.366,0.167,0.138,0.148,0.114,0.100,0.104,0.021,
+0.064,0.083,0.090,0.112,0.069,0.103,0.181,0.173,0.131,0.115,
+0.197,0.207,0.147,0.120,0.154,0.058,0.157,0.139,0.079,0.220,
+0.093,0.104,0.113,0.179,0.109,0.130,0.022,0.040,0.031,0.032,
+0.116,0.033,0.103,0.124,0.070,0.137,0.178,0.134,0.092,0.066,
+0.053,0.082,0.135,0.172,0.101,0.116,0.089,0.017,0.059,0.075,
+0.084,0.092,0.094,0.134,0.188,0.190,0.091,0.115,0.193,0.262,
+0.144,0.104,0.110,0.034,0.060,0.080,0.059,0.124,0.078,0.083,
+0.211,0.340,0.108,0.102,0.284,0.335,0.204,0.156,0.198,0.104,
+0.122,0.143,0.082,0.240,0.117,0.108,0.118,0.280,0.190,0.175,
+0.037,0.165,0.098,0.053,0.192,0.093,0.202,0.197,0.105,0.296,
+0.834,0.264,0.080,0.088,0.064,0.079,0.165,0.295,0.185,0.155,
+0.111,0.030,0.089,0.114,0.083,0.128,0.173,0.148,0.093,0.081,
+0.045,0.061,0.137,0.181,0.142,0.096,0.131,0.045,0.070,0.075,
+0.059,0.126,0.062,0.084,0.012,0.030,0.011,0.016,0.035,0.079,
+0.045,0.029,0.036,0.044,0.029,0.023,0.012,0.050,0.022,0.016,
+0.084,0.169,0.125,0.112,0.026,0.069,0.052,0.031,0.206,0.086,
+0.141,0.153,0.069,0.240,0.173,0.128,0.072,0.068,0.049,0.074,
+0.166,0.264,0.185,0.152,0.140,0.032,0.116,0.121,0.076,0.116,
+0.112,0.142,0.077,0.057,0.043,0.064,0.060,0.054,0.048,0.047,
+0.072,0.013,0.034,0.044,0.061,0.067,0.040,0.075,0.109,0.140,
+0.077,0.097,0.140,0.169,0.120,0.116,0.132,0.044,0.080,0.113,
+0.078,0.220,0.082,0.108,0.075,0.125,0.094,0.101,0.014,0.030,
+0.024,0.018,0.122,0.033,0.115,0.150,0.069,0.203,0.153,0.127,
+0.079,0.069,0.056,0.072,0.093,0.142,0.082,0.090,0.111,0.021,
+0.096,0.124,0.104,0.206,0.149,0.176,0.087,0.079,0.050,0.082,
+0.069,0.089,0.048,0.067,0.074,0.012,0.037,0.055,0.058,0.061,
+0.034,0.061,0.110,0.116,0.057,0.080,0.123,0.131,0.090,0.082,
+0.124,0.034,0.093,0.095,0.050,0.111,0.063,0.076,0.085,0.150,
+0.101,0.103,0.017,0.041,0.025,0.033,0.104,0.031,0.099,0.113,
+0.052,0.132,0.099,0.099,0.065,0.071,0.036,0.067,0.081,0.135,
+0.062,0.080,0.087,0.018,0.067,0.101,0.077,0.076,0.076,0.133,
+9.53e-3,0.011,6.27e-3,7.69e-3,0.011,0.024,0.010,9.78e-3,9.53e-3,2.92e-3,
+7.27e-3,8.19e-3,5.93e-3,0.021,7.19e-3,7.69e-3,0.013,0.023,9.28e-3,0.014,
+0.026,0.051,0.028,0.017,0.021,0.021,0.028,0.021,7.85e-3,0.025,
+0.017,8.69e-3,8.52e-3,0.032,0.013,0.012,5.85e-3,0.032,0.015,5.60e-3,
+0.025,0.023,0.032,0.025,8.27e-3,0.031,0.029,0.016,6.94e-3,0.014,
+4.60e-3,6.27e-3,0.017,0.057,0.015,0.015,0.014,7.77e-3,0.014,0.015,
+7.60e-3,0.011,0.013,0.014,0.066,0.062,0.039,0.038,0.079,0.127,
+0.100,0.070,0.085,0.028,0.061,0.058,0.046,0.088,0.057,0.067,
+0.011,0.022,0.011,6.35e-3,0.017,0.040,0.027,0.012,0.023,0.020,
+0.024,0.015,5.35e-3,0.028,0.013,0.012,0.075,0.170,0.089,0.081,
+0.028,0.069,0.046,0.021,0.181,0.068,0.090,0.112,0.060,0.181,
+0.128,0.092,0.044,0.052,0.036,0.043,0.093,0.161,0.118,0.089,
+0.124,0.032,0.136,0.110,0.056,0.092,0.091,0.093,0.067,0.042,
+0.031,0.053,0.056,0.048,0.031,0.041,0.067,0.011,0.035,0.045,
+0.045,0.052,0.042,0.063,0.092,0.107,0.059,0.055,0.100,0.116,
+0.080,0.065,0.114,0.032,0.071,0.079,0.062,0.143,0.076,0.081,
+0.197,0.163,0.096,0.087,0.042,0.051,0.030,0.015,0.160,0.042,
+0.156,0.143,0.116,0.156,0.117,0.114,0.065,0.062,0.047,0.061,
+0.084,0.113,0.086,0.074,0.117,0.020,0.108,0.115,0.080,0.111,
+0.100,0.127,0.130,0.067,0.051,0.093,0.072,0.053,0.034,0.064,
+0.067,9.11e-3,0.028,0.058,0.073,0.062,0.036,0.140,0.081,0.055,
+0.030,0.045,0.066,0.051,0.041,0.047,0.049,9.02e-3,0.031,0.051,
+0.037,0.051,0.028,0.051,0.071,0.078,0.043,0.074,7.44e-3,0.012,
+7.35e-3,0.012,0.075,0.011,0.039,0.067,0.061,0.068,0.052,0.077,
+0.075,0.043,0.033,0.071,0.060,0.054,0.040,0.071,0.067,6.77e-3,
+0.044,0.072,0.087,0.060,0.063,0.148,0.096,0.079,0.042,0.068,
+0.082,0.083,0.046,0.061,0.057,8.19e-3,0.035,0.053,0.045,0.072,
+0.032,0.070,0.086,0.097,0.037,0.068,0.081,0.118,0.058,0.060,
+0.078,0.022,0.055,0.073,0.049,0.087,0.045,0.081,0.062,0.098,
+0.053,0.074,8.94e-3,0.026,0.012,0.011,0.110,0.023,0.070,0.094,
+0.067,0.111,0.092,0.093,0.063,0.053,0.036,0.062,0.080,0.120,
+0.055,0.080,0.083,0.011,0.057,0.084,0.070,0.081,0.074,0.125,
+0.098,0.142,0.047,0.056,0.084,0.095,0.074,0.074,0.096,0.032,
+0.059,0.090,0.055,0.086,0.068,0.094,0.011,0.017,4.26e-3,6.68e-3,
+9.19e-3,0.019,0.011,0.012,0.010,7.44e-3,0.013,0.014,7.27e-3,0.017,
+8.44e-3,0.011,0.078,0.126,0.075,0.091,0.018,0.034,0.024,0.017,
+0.140,0.042,0.102,0.120,0.088,0.147,0.130,0.117,0.067,0.069,
+0.049,0.066,0.111,0.156,0.114,0.133,0.144,0.025,0.153,0.130,
+0.085,0.106,0.110,0.138,0.129,0.069,0.051,0.087,0.073,0.061,
+0.042,0.053,0.095,0.010,0.048,0.075,0.093,0.078,0.062,0.133,
+0.111,0.096,0.048,0.074,0.120,0.133,0.101,0.084,0.102,0.016,
+0.095,0.117,0.078,0.108,0.074,0.118,0.115,0.136,0.111,0.135,
+0.013,0.019,0.015,0.016,0.167,0.025,0.172,0.257,0.118,0.174,
+0.185,0.210,0.150,0.096,0.095,0.177,0.138,0.129,0.113,0.179,
+0.188,0.019,0.183,0.252,0.174,0.205,0.163,0.209,0.240,0.130,
+0.108,0.180,0.145,0.102,0.104,0.094,0.144,0.019,0.093,0.113,
+0.142,0.126,0.080,0.116,0.166,0.101,0.097,0.091,0.132,0.092,
+0.115,0.077,0.130,0.021,0.110,0.106,0.080,0.096,0.080,0.082,
+0.118,0.098,0.115,0.119,0.016,0.017,0.021,0.021,0.093,0.015,
+0.090,0.086,0.075,0.088,0.100,0.090,0.152,0.070,0.079,0.136,
+0.121,0.094,0.099,0.116,0.120,0.012,0.074,0.086,0.105,0.068,
+0.077,0.125,0.129,0.096,0.078,0.087,0.114,0.091,0.081,0.067,
+0.086,0.015,0.072,0.085,0.056,0.076,0.052,0.060,0.123,0.107,
+0.086,0.073,0.090,0.071,0.082,0.061,0.107,0.030,0.103,0.108,
+0.051,0.090,0.070,0.059,0.079,0.106,0.076,0.071,0.013,0.024,
+0.032,0.016,0.114,0.025,0.088,0.083,0.043,0.106,0.077,0.059,
+0.059,0.047,0.044,0.055,0.082,0.077,0.067,0.074,0.085,0.011,
+0.076,0.076,0.055,0.054,0.071,0.078,0.120,0.060,0.065,0.062,
+0.113,0.073,0.081,0.065,0.098,0.016,0.062,0.081,0.060,0.067,
+0.068,0.076,0.012,0.014,0.010,6.94e-3,0.012,0.014,0.014,9.11e-3,
+0.015,8.02e-3,0.019,0.014,0.011,0.021,0.019,0.012,0.059,0.065,
+0.068,0.056,0.011,0.016,0.022,9.94e-3,0.072,0.021,0.093,0.066,
+0.055,0.081,0.312,0.076,0.047,0.031,0.042,0.043,0.061,0.062,
+0.082,0.073,0.066,0.012,0.070,0.079,0.043,0.050,0.093,0.074,
+0.161,0.054,0.052,0.069,0.065,0.047,0.064,0.045,0.064,6.85e-3,
+0.041,0.048,0.063,0.050,0.044,0.078,0.104,0.089,0.062,0.068,
+0.083,0.065,0.068,0.056,0.078,0.012,0.071,0.077,0.062,0.075,
+0.059,0.076,0.060,0.061,0.065,0.072,7.77e-3,9.02e-3,0.012,8.94e-3,
+0.058,9.94e-3,0.064,0.059,0.045,0.061,0.104,0.063,0.079,0.042,
+0.086,0.073,0.048,0.038,0.068,0.054,0.073,6.52e-3,0.069,0.085,
+0.078,0.065,0.077,0.113,0.200,0.172,0.131,0.157,0.167,0.182,
+0.159,0.122,0.123,0.030,0.098,0.118,0.097,0.125,0.085,0.114,
+0.207,0.212,0.153,0.126,0.205,0.212,0.226,0.144,0.211,0.068,
+0.234,0.212,0.077,0.147,0.109,0.115,0.115,0.157,0.171,0.126,
+0.025,0.044,0.048,0.028,0.109,0.029,0.150,0.119,0.049,0.131,
+0.103,0.098,0.096,0.061,0.071,0.086,0.139,0.136,0.120,0.110,
+0.086,0.020,0.090,0.087,0.058,0.065,0.087,0.116,0.183,0.222,
+0.123,0.108,0.248,0.313,0.210,0.143,0.145,0.050,0.117,0.111,
+0.070,0.136,0.079,0.076,0.197,0.270,0.160,0.110,0.177,0.151,
+0.211,0.126,0.216,0.110,0.260,0.227,0.064,0.186,0.134,0.099,
+0.118,0.282,0.179,0.130,0.039,0.120,0.128,0.049,0.188,0.092,
+0.210,0.201,0.074,0.372,0.185,0.130,0.090,0.086,0.070,0.067,
+0.165,0.226,0.172,0.135,0.116,0.031,0.121,0.111,0.059,0.112,
+0.099,0.112,0.152,0.146,0.111,0.099,0.170,0.243,0.282,0.146,
+0.166,0.053,0.162,0.202,0.065,0.123,0.123,0.120,0.022,0.059,
+0.032,0.019,0.044,0.100,0.107,0.030,0.055,0.061,0.109,0.064,
+0.012,0.058,0.044,0.029,0.149,0.246,0.217,0.150,0.042,0.104,
+0.142,0.045,0.224,0.117,0.312,0.225,0.078,0.274,0.369,0.185,
+0.090,0.081,0.129,0.073,0.157,0.243,0.268,0.166,0.169,0.053,
+0.243,0.189,0.062,0.109,0.170,0.128,0.100,0.075,0.053,0.071,
+0.069,0.075,0.073,0.053,0.064,0.012,0.053,0.062,0.050,0.048,
+0.052,0.073,0.134,0.200,0.110,0.099,0.129,0.184,0.241,0.123,
+0.123,0.039,0.148,0.147,0.069,0.156,0.103,0.122,0.073,0.121,
+0.108,0.097,0.013,0.032,0.028,0.018,0.098,0.029,0.134,0.105,
+0.060,0.116,0.147,0.103,0.076,0.058,0.063,0.065,0.072,0.086,
+0.077,0.076,0.103,0.018,0.106,0.127,0.082,0.106,0.142,0.141,
+0.127,0.109,0.086,0.092,0.084,0.079,0.067,0.055,0.095,0.016,
+0.059,0.076,0.068,0.077,0.051,0.068,0.142,0.170,0.115,0.102,
+0.148,0.158,0.149,0.101,0.219,0.051,0.209,0.168,0.072,0.144,
+0.083,0.088,0.145,0.216,0.666,0.204,0.023,0.059,0.091,0.050,
+0.134,0.041,0.143,0.143,0.055,0.127,0.120,0.096,0.083,0.064,
+0.105,0.104,0.088,0.125,0.136,0.139,0.108,0.018,0.102,0.106,
+0.070,0.073,0.095,0.135,0.013,0.020,0.013,0.013,0.022,0.029,
+0.020,0.015,0.017,8.11e-3,0.015,0.017,7.44e-3,0.021,0.012,0.011,
+0.022,0.051,0.024,0.018,0.035,0.059,0.044,0.022,0.039,0.036,
+0.074,0.043,0.011,0.047,0.023,0.017,0.019,0.054,0.108,0.038,
+8.94e-3,0.040,0.061,0.017,0.039,0.031,0.059,0.057,0.012,0.052,
+0.039,0.022,0.016,0.017,0.017,0.020,0.030,0.067,0.058,0.057,
+0.026,0.012,0.038,0.027,0.015,0.025,0.033,0.025,0.079,0.085,
+0.062,0.083,0.074,0.144,0.135,0.070,0.112,0.044,0.140,0.219,
+0.042,0.098,0.079,0.097,0.014,0.037,0.019,0.010,0.019,0.052,
+0.046,0.016,0.034,0.035,0.056,0.030,0.011,0.059,0.027,0.018,
+0.084,0.402,0.144,0.089,0.033,0.296,0.063,0.035,0.149,0.066,
+0.146,0.121,0.044,0.150,0.134,0.073,0.045,0.056,0.052,0.088,
+0.102,0.451,0.191,0.351,0.097,0.042,0.139,0.106,0.042,0.079,
+0.096,0.076,0.060,0.042,0.030,0.039,0.040,0.043,0.033,0.027,
+0.058,9.44e-3,0.036,0.045,0.037,0.042,0.033,0.053,0.091,0.112,
+0.070,0.060,0.093,0.146,0.108,0.067,0.168,0.038,0.116,0.126,
+0.071,0.135,0.091,0.083,0.068,0.111,0.116,0.071,0.016,0.041,
+0.031,0.017,0.213,0.026,0.112,0.106,0.052,0.103,0.088,0.072,
+0.059,0.049,0.051,0.064,0.066,0.094,0.069,0.090,0.089,0.018,
+0.096,0.092,0.069,0.107,0.085,0.093,0.118,0.072,0.063,0.101,
+0.059,0.042,0.043,0.043,0.064,9.28e-3,0.046,0.056,0.066,0.059,
+0.045,0.077,0.077,0.053,0.043,0.050,0.056,0.044,0.040,0.040,
+0.075,8.86e-3,0.064,0.062,0.051,0.050,0.042,0.053,0.070,0.062,
+0.112,0.102,8.27e-3,8.86e-3,0.011,0.015,0.050,8.61e-3,0.046,0.063,
+0.039,0.055,0.050,0.061,0.100,0.049,0.076,0.132,0.073,0.070,
+0.063,0.099,0.065,6.77e-3,0.055,0.066,0.081,0.061,0.093,0.138,
+0.130,0.085,0.066,0.081,0.098,0.082,0.100,0.064,0.083,0.015,
+0.068,0.084,0.051,0.073,0.067,0.077,0.110,0.121,0.077,0.073,
+0.091,0.098,0.087,0.067,0.118,0.029,0.122,0.151,0.059,0.115,
+0.064,0.065,0.093,0.125,0.171,0.161,0.014,0.031,0.083,0.036,
+0.115,0.018,0.102,0.149,0.060,0.127,0.115,0.100,0.126,0.070,
+0.081,0.113,0.106,0.132,0.134,0.182,0.089,0.011,0.089,0.102,
+0.073,0.093,0.194,0.136,0.091,0.063,0.057,0.059,0.084,0.083,
+0.104,0.077,0.113,0.027,0.096,0.111,0.058,0.077,0.079,0.092,
+0.010,0.015,0.011,0.010,0.012,0.017,0.031,0.014,0.020,9.11e-3,
+0.027,0.020,0.011,0.024,0.015,0.013,0.075,0.117,0.083,0.090,
+0.015,0.032,0.026,0.022,0.122,0.034,0.116,0.122,0.057,0.125,
+0.129,0.105,0.055,0.043,0.056,0.076,0.093,0.118,0.124,0.169,
+0.131,0.021,0.126,0.169,0.075,0.084,0.106,0.111,0.104,0.055,
+0.056,0.075,0.058,0.047,0.045,0.052,0.072,0.010,0.046,0.069,
+0.075,0.057,0.057,0.108,0.076,0.080,0.045,0.056,0.060,0.062,
+0.070,0.053,0.088,0.013,0.080,0.106,0.071,0.086,0.065,0.095,
+0.094,0.093,0.094,0.116,0.011,0.016,0.015,0.015,0.121,0.017,
+0.112,0.124,0.076,0.117,0.107,0.129,0.125,0.070,0.082,0.136,
+0.105,0.098,0.094,0.128,0.151,0.014,0.138,0.179,0.185,0.138,
+0.174,0.201,0.016,0.015,0.011,0.012,0.016,0.019,0.015,0.011,
+0.011,5.52e-3,0.018,0.017,8.19e-3,0.012,9.94e-3,8.86e-3,0.019,0.026,
+0.019,0.013,0.028,0.033,0.033,0.017,0.018,0.011,0.034,0.023,
+6.94e-3,0.016,0.015,0.014,0.012,0.016,0.016,0.010,3.93e-3,8.19e-3,
+0.012,3.34e-3,0.015,7.69e-3,0.029,0.012,6.27e-3,0.012,0.017,0.013,
+7.85e-3,6.94e-3,7.10e-3,9.78e-3,0.016,0.017,0.015,0.013,0.012,5.01e-3,
+0.013,0.011,7.60e-3,8.19e-3,8.69e-3,0.013,0.024,0.033,0.025,0.020,
+0.032,0.041,0.035,0.018,0.019,0.011,0.031,0.040,8.19e-3,0.019,
+0.021,0.012,0.030,0.061,0.037,0.020,0.044,0.068,0.059,0.030,
+0.039,0.045,0.070,0.056,9.53e-3,0.041,0.034,0.018,0.017,0.043,
+0.023,0.014,0.015,0.045,0.041,0.012,0.111,0.040,0.055,0.032,
+0.013,0.048,0.035,0.017,7.27e-3,0.011,8.27e-3,6.18e-3,0.028,0.033,
+0.027,0.021,0.017,0.012,0.029,0.019,7.69e-3,0.015,0.024,0.015,
+0.012,0.012,0.011,6.68e-3,0.037,0.027,0.028,0.014,0.018,7.85e-3,
+0.020,0.017,6.18e-3,0.011,0.010,0.011,4.93e-3,0.011,8.86e-3,3.43e-3,
+9.69e-3,0.021,0.023,7.85e-3,9.94e-3,0.017,0.025,0.011,2.51e-3,0.011,
+0.010,4.68e-3,0.011,0.031,0.023,0.011,6.35e-3,0.018,0.020,6.18e-3,
+0.024,0.023,0.057,0.029,7.19e-3,0.026,0.036,0.017,5.35e-3,7.69e-3,
+9.78e-3,6.77e-3,0.013,0.025,0.035,0.023,0.015,9.11e-3,0.036,0.021,
+5.52e-3,0.012,0.018,0.012,0.014,7.35e-3,7.10e-3,6.60e-3,9.36e-3,6.10e-3,
+8.02e-3,9.94e-3,7.60e-3,2.42e-3,8.19e-3,7.10e-3,6.35e-3,7.02e-3,7.52e-3,8.11e-3,
+0.017,0.023,0.016,0.015,0.022,0.030,0.032,0.018,0.020,9.86e-3,
+0.028,0.028,8.77e-3,0.020,0.016,0.018,7.94e-3,0.014,0.014,0.014,
+4.01e-3,7.02e-3,8.69e-3,4.51e-3,0.017,0.011,0.023,0.018,7.60e-3,0.020,
+0.050,0.025,6.68e-3,6.94e-3,0.010,8.94e-3,7.94e-3,0.015,0.015,9.78e-3,
+0.012,3.09e-3,0.018,0.019,9.44e-3,0.011,0.016,0.019,0.023,0.029,
+0.022,0.015,0.029,0.056,0.040,0.019,0.020,0.011,0.023,0.019,
+0.010,0.016,0.012,0.013,0.046,0.071,0.045,0.024,0.074,0.105,
+0.108,0.045,0.051,0.050,0.110,0.068,0.014,0.033,0.040,0.025,
+0.015,0.039,0.039,0.017,0.012,0.032,0.035,0.010,0.021,0.023,
+0.060,0.028,8.02e-3,0.027,0.030,0.018,8.19e-3,8.61e-3,8.69e-3,7.94e-3,
+0.019,0.034,0.026,0.017,0.015,8.11e-3,0.027,0.019,7.69e-3,0.015,
+0.015,0.014,0.035,0.071,0.035,0.021,0.069,0.170,0.097,0.036,
+0.035,0.037,0.055,0.034,9.11e-3,0.034,0.025,0.015,0.065,0.165,
+0.092,0.038,0.088,0.095,0.152,0.070,0.094,0.171,0.177,0.134,
+0.020,0.083,0.071,0.037,0.026,0.114,0.059,0.026,0.036,0.170,
+0.121,0.030,0.065,0.113,0.114,0.072,0.015,0.107,0.087,0.042,
+0.015,0.022,0.016,0.012,0.040,0.100,0.057,0.034,0.032,0.025,
+0.061,0.039,0.011,0.028,0.031,0.025,0.022,0.026,0.018,0.011,
+0.049,0.094,0.097,0.026,0.037,0.020,0.051,0.041,8.61e-3,0.023,
+0.026,0.019,0.013,0.054,0.028,0.012,0.055,0.162,0.184,0.033,
+0.049,0.117,0.117,0.071,6.68e-3,0.037,0.035,0.015,0.036,0.101,
+0.077,0.035,0.037,0.136,0.161,0.034,0.069,0.106,0.151,0.078,
+0.017,0.090,0.102,0.041,0.019,0.017,0.020,0.011,0.044,0.109,
+0.134,0.053,0.046,0.039,0.110,0.057,0.013,0.026,0.058,0.035,
+0.013,0.014,0.011,0.012,0.014,0.022,0.021,0.011,0.013,5.18e-3,
+0.014,0.011,4.85e-3,7.85e-3,0.010,0.010,0.040,0.075,0.039,0.023,
+0.047,0.094,0.148,0.044,0.042,0.035,0.062,0.061,0.011,0.042,
+0.031,0.025,0.013,0.034,0.031,0.017,5.85e-3,0.026,0.023,8.69e-3,
+0.026,0.021,0.056,0.036,9.11e-3,0.029,0.039,0.019,0.011,0.011,
+0.014,9.28e-3,0.013,0.022,0.025,0.017,0.018,8.69e-3,0.033,0.028,
+0.011,0.017,0.039,0.024,0.016,0.018,0.013,9.36e-3,0.016,0.027,
+0.017,0.012,0.013,6.68e-3,0.014,0.013,5.26e-3,0.010,7.27e-3,6.18e-3,
+0.027,0.054,0.033,0.022,0.052,0.086,0.083,0.041,0.044,0.051,
+0.110,0.055,0.010,0.042,0.026,0.019,0.019,0.054,0.118,0.028,
+0.011,0.044,0.063,0.023,0.037,0.039,0.055,0.047,7.85e-3,0.037,
+0.033,0.019,5.77e-3,8.52e-3,9.78e-3,9.78e-3,0.029,0.042,0.048,0.033,
+0.018,9.28e-3,0.027,0.022,8.19e-3,0.013,0.015,0.018,5.85e-3,0.014,
+8.52e-3,2.76e-3,0.017,0.041,0.030,0.012,9.02e-3,0.012,0.018,0.010,
+2.67e-3,8.02e-3,7.52e-3,4.93e-3,0.016,0.063,0.029,0.013,0.052,0.138,
+0.101,0.033,0.034,0.101,0.111,0.055,7.44e-3,0.046,0.024,0.012,
+0.014,0.066,0.089,0.025,0.025,0.097,0.210,0.054,0.040,0.081,
+0.120,0.062,9.44e-3,0.051,0.068,0.021,3.18e-3,8.94e-3,7.94e-3,5.35e-3,
+0.015,0.048,0.055,0.051,0.012,0.015,0.041,0.020,4.93e-3,0.011,
+0.014,0.011,0.013,0.030,0.020,0.014,0.026,0.095,0.077,0.027,
+0.037,0.030,0.074,0.160,7.19e-3,0.033,0.029,0.057,0.010,0.045,
+0.020,6.94e-3,0.029,0.118,0.090,0.027,0.037,0.097,0.132,0.054,
+4.76e-3,0.035,0.027,0.014,0.033,0.414,0.078,0.032,0.041,0.707,
+0.130,0.032,0.072,0.121,0.138,0.079,0.017,0.096,0.083,0.032,
+0.010,0.028,0.019,0.040,0.045,0.429,0.112,0.199,0.040,0.039,
+0.091,0.062,0.011,0.031,0.048,0.031,7.02e-3,0.012,9.86e-3,9.61e-3,
+9.94e-3,0.018,0.012,9.53e-3,0.011,6.60e-3,0.014,0.017,6.43e-3,9.02e-3,
+5.52e-3,0.011,0.021,0.047,0.029,0.018,0.042,0.098,0.079,0.032,
+0.051,0.057,0.086,0.067,0.014,0.052,0.038,0.025,0.014,0.051,
+0.048,0.020,9.11e-3,0.061,0.045,0.012,0.047,0.054,0.095,0.062,
+0.014,0.059,0.056,0.026,6.60e-3,0.011,0.011,9.61e-3,0.016,0.037,
+0.024,0.030,0.019,0.012,0.049,0.030,0.011,0.023,0.028,0.022,
+0.011,9.61e-3,9.36e-3,9.44e-3,0.010,0.010,8.44e-3,0.013,9.53e-3,3.09e-3,
+7.44e-3,9.02e-3,7.27e-3,7.77e-3,8.19e-3,0.011,0.013,0.011,9.94e-3,9.19e-3,
+0.013,0.017,0.018,0.011,0.014,6.43e-3,0.017,0.017,7.77e-3,0.011,
+0.012,9.19e-3,6.77e-3,0.014,0.016,0.012,3.34e-3,4.76e-3,5.01e-3,3.84e-3,
+9.19e-3,3.84e-3,0.014,0.017,4.26e-3,0.010,0.011,0.010,0.011,6.43e-3,
+7.85e-3,0.012,9.44e-3,0.010,0.011,0.017,9.94e-3,2.17e-3,8.69e-3,0.014,
+8.27e-3,6.77e-3,0.012,0.020,0.018,0.028,0.019,0.017,0.028,0.037,
+0.055,0.025,0.023,0.012,0.029,0.023,0.010,0.022,0.017,0.016,
+0.032,0.056,0.034,0.031,0.046,0.078,0.063,0.041,0.042,0.033,
+0.076,0.065,0.014,0.046,0.029,0.022,0.022,0.059,0.066,0.041,
+9.69e-3,0.033,0.062,0.028,0.044,0.021,0.050,0.051,0.014,0.053,
+0.038,0.026,0.034,0.024,0.016,0.020,0.036,0.061,0.064,0.107,
+0.024,0.011,0.043,0.038,0.012,0.023,0.036,0.029,0.011,0.013,
+9.11e-3,9.36e-3,0.017,0.027,0.039,0.018,0.021,0.011,0.029,0.031,
+8.02e-3,0.016,0.019,0.016,4.09e-3,8.77e-3,4.85e-3,3.18e-3,0.010,0.027,
+0.025,0.012,9.78e-3,0.015,0.028,0.016,2.76e-3,8.77e-3,9.61e-3,5.26e-3,
+0.016,0.050,0.036,0.021,9.78e-3,0.042,0.030,0.018,0.046,0.043,
+0.077,0.052,0.013,0.053,0.058,0.030,0.010,0.011,0.016,0.015,
+0.023,0.057,0.048,0.055,0.030,0.016,0.061,0.059,0.015,0.018,
+0.034,0.022,9.78e-3,0.011,8.44e-3,0.011,0.011,0.011,0.010,0.012,
+0.011,3.18e-3,0.010,0.012,8.77e-3,7.85e-3,9.94e-3,0.013,0.012,0.015,
+0.010,0.012,0.014,0.024,0.030,0.018,0.017,8.02e-3,0.026,0.025,
+0.011,0.019,0.016,0.017,0.014,0.025,0.021,0.017,4.09e-3,0.010,
+9.94e-3,5.77e-3,0.024,0.012,0.042,0.035,0.011,0.028,0.034,0.025,
+0.013,0.011,0.013,0.016,0.015,0.021,0.023,0.026,0.022,6.18e-3,
+0.039,0.033,0.017,0.021,0.031,0.025,0.165,0.097,0.084,0.108,
+0.112,0.093,0.101,0.087,0.095,0.016,0.072,0.081,0.079,0.096,
+0.065,0.083,0.128,0.115,0.077,0.085,0.127,0.114,0.161,0.106,
+0.114,0.031,0.137,0.118,0.060,0.094,0.087,0.079,0.086,0.101,
+0.093,0.098,0.015,0.018,0.024,0.020,0.079,0.019,0.099,0.092,
+0.041,0.074,0.080,0.069,0.073,0.044,0.038,0.067,0.071,0.065,
+0.080,0.069,0.063,9.53e-3,0.053,0.057,0.047,0.036,0.048,0.073,
+0.119,0.107,0.071,0.073,0.129,0.140,0.144,0.091,0.104,0.025,
+0.090,0.095,0.052,0.084,0.052,0.057,0.161,0.201,0.113,0.103,
+0.171,0.150,0.215,0.119,0.222,0.078,0.359,0.338,0.070,0.170,
+0.103,0.092,0.115,0.216,0.150,0.135,0.035,0.059,0.079,0.043,
+0.198,0.074,0.265,0.311,0.068,0.206,0.172,0.121,0.095,0.061,
+0.045,0.048,0.109,0.118,0.144,0.116,0.105,0.020,0.098,0.109,
+0.076,0.057,0.072,0.087,0.125,0.070,0.068,0.065,0.133,0.139,
+0.190,0.108,0.176,0.036,0.155,0.133,0.073,0.099,0.092,0.104,
+0.021,0.030,0.025,0.024,0.039,0.049,0.086,0.035,0.040,0.026,
+0.100,0.050,0.019,0.064,0.040,0.048,0.115,0.160,0.359,0.234,
+0.034,0.045,0.164,0.057,0.180,0.063,0.265,0.179,0.073,0.184,
+0.207,0.129,0.066,0.048,0.141,0.081,0.173,0.158,0.889,0.260,
+0.115,0.030,0.152,0.125,0.060,0.083,0.133,0.109,0.084,0.039,
+0.037,0.063,0.049,0.048,0.053,0.048,0.053,7.85e-3,0.049,0.053,
+0.059,0.054,0.042,0.098,0.100,0.100,0.090,0.164,0.110,0.120,
+0.153,0.097,0.108,0.026,0.168,0.156,0.067,0.150,0.099,0.322,
+0.082,0.105,0.131,0.119,0.017,0.019,0.053,0.027,0.122,0.024,
+0.158,0.156,0.090,0.150,0.216,0.195,0.073,0.050,0.083,0.083,
+0.076,0.082,0.369,0.139,0.101,0.016,0.111,0.233,0.085,0.099,
+0.121,0.201,0.015,0.021,0.014,0.015,0.020,0.029,0.030,0.017,
+0.013,6.85e-3,0.014,0.014,6.94e-3,0.013,0.011,0.011,0.028,0.058,
+0.035,0.023,0.057,0.076,0.113,0.045,0.040,0.039,0.076,0.054,
+0.014,0.036,0.033,0.020,0.014,0.029,0.022,0.015,0.010,0.018,
+0.023,0.011,0.023,0.016,0.045,0.034,7.44e-3,0.025,0.029,0.017,
+0.011,8.02e-3,6.94e-3,7.60e-3,0.017,0.022,0.021,0.013,9.86e-3,5.52e-3,
+0.015,0.014,8.02e-3,0.012,0.014,0.012,0.020,0.038,0.019,0.014,
+0.035,0.064,0.069,0.031,0.027,0.018,0.035,0.022,8.86e-3,0.021,
+0.015,0.013,0.056,0.103,0.058,0.031,0.086,0.099,0.141,0.057,
+0.089,0.095,0.172,0.108,0.019,0.063,0.053,0.027,0.027,0.081,
+0.041,0.023,0.029,0.087,0.089,0.025,0.080,0.099,0.137,0.094,
+0.025,0.088,0.084,0.040,0.032,0.024,9.28e-3,6.60e-3,0.031,0.055,
+0.045,0.026,0.028,0.014,0.034,0.026,0.011,0.016,0.023,0.019,
+0.019,0.023,0.018,0.011,0.044,0.078,0.131,0.033,0.043,0.028,
+0.065,0.042,9.11e-3,0.027,0.027,0.017,0.015,0.036,0.027,0.011,
+0.050,0.108,0.142,0.033,0.045,0.084,0.145,0.066,8.69e-3,0.035,
+0.041,0.018,0.033,0.091,0.118,0.062,0.047,0.114,0.435,0.052,
+0.089,0.141,0.204,0.094,0.021,0.104,0.156,0.057,0.012,0.017,
+0.023,0.012,0.052,0.079,0.184,0.056,0.044,0.038,0.096,0.049,
+0.013,0.029,0.053,0.029,0.012,0.011,0.010,0.012,0.012,0.015,
+0.018,0.012,0.010,5.01e-3,0.012,0.012,6.77e-3,9.28e-3,0.010,0.013,
+0.025,0.040,0.027,0.025,0.046,0.080,0.074,0.038,0.036,0.027,
+0.068,0.046,0.015,0.047,0.036,0.050,0.014,0.032,0.034,0.021,
+7.02e-3,0.027,0.038,0.012,0.043,0.026,0.064,0.051,0.016,0.045,
+0.087,0.031,0.010,0.010,0.011,0.012,0.014,0.019,0.044,0.017,
+0.018,7.02e-3,0.030,0.032,0.011,0.020,0.031,0.040,0.086,0.109,
+0.067,0.102,0.090,0.143,0.098,0.083,0.089,0.019,0.127,0.099,
+0.046,0.052,0.046,0.051,0.130,0.183,0.142,0.108,0.214,0.238,
+0.482,0.173,0.311,0.112,1.710,0.615,0.063,0.161,0.177,0.121,
+0.088,0.202,0.154,0.110,0.032,0.063,0.069,0.053,0.213,0.075,
+0.298,0.266,0.053,0.173,0.158,0.110,0.078,0.054,0.035,0.048,
+0.086,0.100,0.093,0.093,0.122,0.035,0.135,0.128,0.048,0.067,
+0.082,0.104,0.017,0.028,0.016,0.014,0.033,0.072,0.056,0.030,
+0.028,0.021,0.092,0.044,5.85e-3,0.018,0.016,0.012,0.035,0.077,
+0.057,0.032,0.089,0.126,0.152,0.064,0.176,0.114,2.040,0.433,
+0.019,0.057,0.086,0.033,0.029,0.096,0.054,0.027,0.032,0.092,
+0.112,0.032,0.112,0.119,0.237,0.166,0.021,0.082,0.080,0.034,
+0.056,0.032,0.011,9.78e-3,0.029,0.056,0.043,0.032,0.031,0.018,
+0.064,0.048,0.010,0.017,0.023,0.019,0.128,0.108,0.100,0.049,
+0.143,0.238,0.273,0.110,0.167,0.072,0.318,0.163,0.051,0.113,
+0.155,0.084,0.032,0.077,0.052,0.020,0.059,0.148,0.160,0.042,
+0.090,0.117,0.319,0.098,0.017,0.063,0.108,0.028,0.175,0.283,
+0.324,0.173,0.073,0.152,0.248,0.059,0.283,0.159,0.223,0.154,
+0.084,0.229,0.312,0.152,0.054,0.059,0.077,0.045,0.116,0.190,
+0.286,0.144,0.173,0.080,0.374,0.177,0.051,0.100,0.189,0.116,
+0.058,0.047,0.040,0.040,0.047,0.056,0.046,0.034,0.052,0.014,
+0.062,0.053,0.027,0.043,0.035,0.041,0.108,0.143,0.097,0.071,
+0.161,0.242,0.215,0.108,0.200,0.080,0.338,0.218,0.066,0.170,
+0.139,0.098,0.089,0.164,0.149,0.104,0.027,0.080,0.075,0.033,
+0.199,0.085,0.332,0.235,0.081,0.220,0.195,0.131,0.061,0.048,
+0.044,0.051,0.090,0.123,0.100,0.090,0.112,0.031,0.188,0.143,
+0.061,0.101,0.122,0.104,0.091,0.056,0.036,0.055,0.059,0.056,
+0.055,0.047,0.060,0.010,0.041,0.046,0.045,0.048,0.033,0.079,
+0.080,0.063,0.041,0.055,0.068,0.056,0.107,0.045,0.071,0.017,
+0.119,0.088,0.037,0.051,0.040,0.045,0.075,0.088,0.049,0.068,
+0.011,0.017,0.016,0.016,0.073,0.018,0.072,0.091,0.043,0.073,
+0.068,0.070,0.327,0.139,0.034,0.057,0.074,0.066,0.043,0.056,
+0.058,0.010,0.042,0.053,0.062,0.046,0.050,0.075,0.138,0.116,
+0.075,0.080,0.121,0.152,0.176,0.106,0.107,0.030,0.169,0.118,
+0.048,0.082,0.053,0.071,0.194,0.214,0.134,0.113,0.202,0.225,
+0.284,0.171,0.309,0.097,1.750,0.645,0.076,0.164,0.164,0.111,
+0.199,0.285,0.153,0.115,0.037,0.080,0.106,0.048,0.211,0.076,
+0.286,0.331,0.080,0.239,0.186,0.151,1.210,0.554,0.104,0.127,
+0.206,0.275,0.153,0.166,0.179,0.036,0.153,0.158,0.117,0.101,
+0.096,0.116,0.179,0.089,0.109,0.061,0.144,0.155,0.675,0.191,
+0.128,0.035,0.209,0.140,0.054,0.085,0.114,0.106,0.023,0.032,
+0.047,0.017,0.052,0.084,0.375,0.064,0.039,0.034,0.098,0.059,
+0.014,0.039,0.041,0.022,0.134,0.224,0.203,0.141,0.041,0.074,
+0.144,0.048,0.409,0.179,0.319,0.286,0.103,0.325,0.327,0.190,
+0.130,0.086,0.118,0.069,0.166,0.189,0.336,0.183,0.170,0.049,
+0.259,0.202,0.084,0.114,0.181,0.138,0.083,0.052,0.044,0.058,
+0.054,0.056,0.106,0.054,0.065,0.011,0.056,0.053,0.052,0.046,
+0.044,0.068,0.091,0.086,0.081,0.064,0.101,0.134,0.392,0.121,
+0.100,0.025,0.128,0.130,0.068,0.090,0.088,0.096,0.095,0.129,
+0.112,0.119,0.019,0.031,0.044,0.025,0.181,0.049,0.238,0.238,
+0.090,0.182,0.202,0.162,0.132,0.074,0.061,0.088,0.102,0.117,
+0.152,0.126,0.117,0.019,0.177,0.188,0.105,0.106,0.139,0.158,
+0.149,0.079,0.072,0.117,0.093,0.071,0.063,0.062,0.090,0.012,
+0.044,0.066,0.094,0.087,0.053,0.087,0.102,0.065,0.047,0.066,
+0.081,0.064,0.060,0.056,0.077,0.013,0.065,0.068,0.063,0.102,
+0.047,0.067,0.074,0.061,0.058,0.077,0.012,0.010,9.94e-3,0.013,
+0.059,8.69e-3,0.045,0.058,0.041,0.057,0.051,0.066,0.087,0.045,
+0.043,0.078,0.088,0.061,0.053,0.075,0.061,7.19e-3,0.044,0.066,
+0.074,0.049,0.053,0.186,0.099,0.060,0.048,0.064,0.077,0.069,
+0.053,0.051,0.050,6.85e-3,0.042,0.055,0.039,0.048,0.028,0.046,
+0.080,0.065,0.040,0.051,0.069,0.057,0.050,0.044,0.071,0.018,
+0.058,0.076,0.040,0.054,0.037,0.045,0.067,0.061,0.044,0.055,
+9.53e-3,0.014,0.012,9.36e-3,0.068,0.013,0.050,0.068,0.041,0.068,
+0.051,0.049,0.044,0.028,0.021,0.040,0.056,0.046,0.038,0.050,
+0.046,6.02e-3,0.038,0.056,0.042,0.032,0.038,0.060,0.122,0.050,
+0.056,0.055,0.086,0.062,0.073,0.060,0.085,0.014,0.049,0.073,
+0.055,0.058,0.045,0.073,9.86e-3,0.013,0.010,7.77e-3,0.013,0.012,
+0.015,8.94e-3,0.012,6.52e-3,0.016,0.013,9.36e-3,0.019,0.012,0.017,
+0.054,0.062,0.075,0.067,9.44e-3,0.015,0.024,0.013,0.071,0.016,
+0.055,0.065,0.045,0.111,0.067,0.062,0.065,0.034,0.047,0.048,
+0.081,0.079,0.124,0.079,0.093,0.025,0.056,0.073,0.053,0.074,
+0.062,0.081,0.106,0.037,0.037,0.066,0.057,0.036,0.038,0.045,
+0.053,7.52e-3,0.035,0.056,0.074,0.046,0.036,0.089,0.085,0.062,
+0.047,0.071,0.064,0.061,0.053,0.052,0.069,8.86e-3,0.054,0.091,
+0.063,0.084,0.051,0.181,0.059,0.057,0.064,0.076,8.36e-3,9.19e-3,
+0.013,8.86e-3,0.054,7.10e-3,0.051,0.063,0.049,0.069,0.082,0.073,
+0.085,0.042,0.050,0.095,0.067,0.054,0.074,0.093,0.089,8.27e-3,
+0.060,0.100,0.087,0.081,0.094,0.167,0.174,0.136,0.102,0.146,
+0.154,0.158,0.129,0.126,0.113,0.021,0.080,0.115,0.099,0.109,
+0.076,0.133,0.175,0.165,0.113,0.129,0.178,0.170,0.240,0.163,
+0.177,0.053,0.183,0.195,0.086,0.152,0.116,0.115,0.097,0.129,
+0.103,0.118,0.020,0.035,0.032,0.031,0.112,0.030,0.131,0.142,
+0.054,0.116,0.123,0.151,0.087,0.059,0.061,0.076,0.127,0.132,
+0.114,0.119,0.077,0.013,0.070,0.107,0.068,0.087,0.080,0.143,
+0.167,0.164,0.094,0.116,0.203,0.230,0.186,0.139,0.130,0.035,
+0.094,0.115,0.069,0.115,0.078,0.097,0.202,0.252,0.143,0.145,
+0.263,0.213,0.242,0.163,0.241,0.093,0.262,0.272,0.092,0.199,
+0.136,0.124,0.117,0.205,0.130,0.137,0.038,0.087,0.068,0.039,
+0.203,0.086,0.220,0.250,0.080,0.271,0.225,0.184,0.084,0.071,
+0.054,0.069,0.162,0.187,0.140,0.132,0.105,0.021,0.113,0.197,
+0.065,0.086,0.104,0.132,0.129,0.098,0.089,0.095,0.194,0.245,
+0.262,0.158,0.154,0.051,0.171,0.279,0.070,0.120,0.112,0.137,
+0.018,0.038,0.026,0.020,0.050,0.100,0.089,0.041,0.043,0.044,
+0.089,0.072,0.013,0.053,0.040,0.028,0.112,0.203,0.189,0.158,
+0.039,0.083,0.127,0.047,0.221,0.099,0.244,0.250,0.086,0.278,
+0.268,0.193,0.099,0.070,0.076,0.127,0.236,0.280,0.341,0.232,
+0.184,0.048,0.217,0.256,0.085,0.126,0.186,0.197,0.102,0.074,
+0.063,0.098,0.076,0.075,0.082,0.069,0.083,0.015,0.060,0.094,
+0.066,0.073,0.069,0.111,0.141,0.157,0.101,0.126,0.151,0.216,
+0.190,0.144,0.165,0.044,0.198,0.225,0.097,0.216,0.178,0.200,
+0.089,0.138,0.191,0.129,0.016,0.036,0.050,0.027,0.144,0.040,
+0.179,0.191,0.081,0.173,0.289,0.180,0.084,0.065,0.067,0.098,
+0.104,0.141,0.128,0.115,0.104,0.017,0.116,0.185,0.097,0.118,
+0.145,0.195,0.121,0.090,0.061,0.086,0.077,0.097,0.096,0.093,
+0.092,0.014,0.052,0.073,0.089,0.072,0.039,0.059,0.129,0.141,
+0.080,0.085,0.147,0.156,0.147,0.106,0.173,0.049,0.239,0.191,
+0.080,0.138,0.091,0.085,0.076,0.134,0.123,0.104,0.020,0.046,
+0.038,0.032,0.124,0.047,0.134,0.165,0.070,0.213,0.138,0.103,
+0.064,0.052,0.039,0.063,0.086,0.110,0.089,0.085,0.101,0.022,
+0.085,0.112,0.073,0.080,0.100,0.127,0.012,0.016,0.010,0.013,
+0.017,0.025,0.024,0.014,0.012,6.02e-3,0.015,0.013,7.77e-3,0.015,
+9.53e-3,0.018,0.021,0.045,0.018,0.015,0.041,0.058,0.053,0.027,
+0.037,0.037,0.124,0.065,0.012,0.037,0.028,0.017,0.011,0.038,
+0.024,0.015,9.86e-3,0.034,0.034,0.010,0.033,0.035,0.061,0.044,
+0.013,0.058,0.068,0.023,0.011,0.012,7.10e-3,7.27e-3,0.016,0.030,
+0.023,0.019,0.017,9.86e-3,0.025,0.020,0.010,0.019,0.016,0.017,
+0.114,0.097,0.079,0.056,0.119,0.197,0.371,0.112,0.126,0.044,
+0.148,0.115,0.057,0.107,0.115,0.090,0.018,0.052,0.020,0.012,
+0.035,0.074,0.063,0.026,0.040,0.038,0.080,0.043,0.012,0.046,
+0.038,0.022,0.102,0.227,0.153,0.107,0.037,0.114,0.100,0.034,
+0.220,0.100,0.145,0.177,0.066,0.214,0.216,0.126,0.061,0.066,
+0.057,0.064,0.131,0.217,0.201,0.165,0.181,0.053,0.232,0.169,
+0.074,0.106,0.150,0.130,0.074,0.057,0.040,0.053,0.051,0.063,
+0.070,0.043,0.061,0.013,0.059,0.061,0.050,0.056,0.059,0.075,
+0.114,0.149,0.080,0.088,0.128,0.200,0.137,0.101,0.169,0.053,
+0.201,0.188,0.090,0.194,0.304,0.195,0.089,0.150,0.103,0.097,
+0.016,0.056,0.042,0.025,0.159,0.048,0.186,0.183,0.076,0.177,
+0.213,0.151,0.079,0.052,0.051,0.069,0.082,0.109,0.102,0.144,
+0.121,0.024,0.164,0.160,0.087,0.105,0.146,0.148,0.150,0.077,
+0.054,0.083,0.072,0.054,0.051,0.059,0.071,9.78e-3,0.043,0.056,
+0.080,0.060,0.043,0.077,0.090,0.063,0.032,0.049,0.070,0.059,
+0.048,0.055,0.081,0.013,0.056,0.068,0.052,0.058,0.036,0.054,
+0.072,0.074,0.051,0.077,0.012,0.013,8.94e-3,0.013,0.071,0.014,
+0.059,0.084,0.067,0.077,0.063,0.074,0.111,0.053,0.042,0.081,
+0.080,0.055,0.047,0.075,0.075,7.35e-3,0.048,0.080,0.092,0.060,
+0.073,0.134,0.108,0.079,0.234,0.087,0.087,0.114,0.192,0.082,
+0.067,0.011,0.065,0.068,0.053,0.067,0.055,0.073,0.100,0.102,
+0.051,0.066,0.099,0.108,0.088,0.083,0.122,0.030,0.164,0.153,
+0.061,0.102,0.070,0.080,0.073,0.103,0.065,0.077,0.011,0.028,
+0.025,0.015,0.093,0.023,0.091,0.123,0.063,0.129,0.114,0.116,
+0.202,0.097,0.048,0.070,0.085,0.097,0.075,0.096,0.099,0.015,
+0.075,0.107,0.083,0.082,0.082,0.134,0.115,0.083,0.065,0.065,
+0.108,0.115,0.194,0.110,0.124,0.023,0.110,0.112,0.072,0.111,
+0.097,0.121,0.011,0.022,0.015,0.010,0.021,0.040,0.059,0.018,
+0.016,0.010,0.031,0.022,9.78e-3,0.025,0.017,0.017,0.111,0.162,
+0.123,0.116,0.021,0.047,0.046,0.023,0.201,0.067,0.181,0.198,
+0.098,0.233,0.221,0.203,0.095,0.077,0.068,0.081,0.132,0.146,
+0.167,0.162,0.177,0.032,0.208,0.201,0.098,0.124,0.153,0.175,
+0.156,0.079,0.058,0.090,0.083,0.080,0.066,0.059,0.114,0.013,
+0.066,0.081,0.100,0.094,0.075,0.148,0.138,0.193,0.074,0.092,
+0.138,0.341,0.136,0.103,0.140,0.028,0.129,0.147,0.095,0.150,
+0.112,0.162,0.124,0.141,0.102,0.140,0.016,0.026,0.019,0.019,
+0.164,0.028,0.159,0.217,0.122,0.188,0.190,0.224,0.163,0.086,
+0.089,0.145,0.120,0.128,0.108,0.151,0.161,0.018,0.173,0.231,
+0.171,0.131,0.160,0.236,0.230,0.156,0.142,0.262,0.176,0.110,
+0.106,0.128,0.212,0.020,0.101,0.150,0.267,0.229,0.114,0.208,
+0.194,0.106,0.088,0.128,0.121,0.084,0.068,0.080,0.136,0.013,
+0.071,0.092,0.109,0.116,0.073,0.116,0.155,0.107,0.101,0.156,
+0.014,0.011,0.013,0.020,0.113,0.011,0.057,0.083,0.097,0.101,
+0.075,0.120,0.202,0.092,0.105,0.218,0.163,0.110,0.102,0.181,
+0.127,9.28e-3,0.066,0.107,0.172,0.104,0.096,0.183,0.234,0.123,
+0.103,0.162,0.141,0.099,0.084,0.107,0.131,0.016,0.069,0.106,
+0.110,0.109,0.063,0.125,0.146,0.090,0.068,0.090,0.087,0.059,
+0.054,0.056,0.095,0.013,0.059,0.072,0.066,0.062,0.050,0.067,
+0.113,0.097,0.072,0.102,0.012,0.013,0.010,0.012,0.365,0.018,
+0.062,0.081,0.062,0.076,0.056,0.073,0.142,0.084,0.080,0.143,
+0.148,0.133,0.097,0.149,0.141,0.011,0.079,0.108,0.113,0.096,
+0.094,0.187,0.183,0.086,0.081,0.121,0.133,0.083,0.083,0.101,
+0.129,0.015,0.061,0.096,0.126,0.093,0.074,0.141,0.016,0.012,
+8.02e-3,0.012,0.011,0.010,8.61e-3,0.011,0.012,2.42e-3,7.94e-3,8.94e-3,
+0.016,0.018,9.02e-3,0.018,0.078,0.062,0.068,0.067,9.19e-3,8.69e-3,
+9.78e-3,0.013,0.071,8.19e-3,0.055,0.057,0.052,0.060,0.087,0.072,
+0.086,0.055,0.066,0.099,0.101,0.081,0.076,0.105,0.102,9.86e-3,
+0.079,0.098,0.087,0.076,0.089,0.145,0.229,0.080,0.075,0.152,
+0.097,0.062,0.076,0.090,0.116,0.012,0.055,0.091,0.140,0.086,
+0.083,0.172,0.152,0.098,0.069,0.105,0.094,0.060,0.054,0.071,
+0.090,7.27e-3,0.061,0.079,0.102,0.092,0.074,0.116,0.099,0.067,
+0.077,0.098,0.010,6.27e-3,8.19e-3,0.011,0.090,7.69e-3,0.103,0.083,
+0.069,0.075,0.077,0.090,0.148,0.080,0.093,0.160,0.097,0.071,
+0.080,0.118,0.139,9.36e-3,0.105,0.146,0.175,0.128,0.134,0.262,
+0.228,0.140,0.099,0.164,0.133,0.104,0.081,0.094,0.107,0.011,
+0.051,0.091,0.123,0.108,0.069,0.131,0.156,0.103,0.070,0.095,
+0.109,0.077,0.073,0.070,0.092,0.015,0.066,0.095,0.068,0.082,
+0.061,0.091,0.100,0.097,0.084,0.103,0.014,0.015,0.013,0.016,
+0.077,0.011,0.047,0.064,0.057,0.085,0.061,0.082,0.105,0.058,
+0.066,0.100,0.120,0.088,0.069,0.099,0.070,8.77e-3,0.041,0.071,
+0.074,0.066,0.067,0.126,0.157,0.117,0.062,0.105,0.115,0.120,
+0.073,0.077,0.082,0.012,0.057,0.066,0.065,0.075,0.041,0.085,
+0.109,0.104,0.050,0.064,0.081,0.054,0.060,0.061,0.077,0.018,
+0.058,0.078,0.051,0.073,0.051,0.067,0.098,0.112,0.070,0.094,
+0.013,0.021,0.014,0.016,0.092,0.019,0.056,0.089,0.060,0.118,
+0.063,0.081,0.093,0.061,0.048,0.095,0.097,0.099,0.063,0.090,
+0.076,9.02e-3,0.050,0.075,0.061,0.075,0.063,0.112,0.117,0.109,
+0.059,0.080,0.098,0.087,0.083,0.079,0.095,0.014,0.054,0.089,
+0.086,0.074,0.060,0.113,0.014,0.020,6.94e-3,9.28e-3,0.012,0.017,
+0.015,0.011,0.012,6.60e-3,0.013,0.015,0.010,0.014,7.69e-3,0.011,
+0.086,0.090,0.079,0.089,0.013,0.019,0.020,0.015,0.088,0.018,
+0.069,0.076,0.058,0.081,0.103,0.093,0.067,0.055,0.060,0.072,
+0.093,0.113,0.086,0.094,0.099,0.012,0.075,0.103,0.069,0.071,
+0.082,0.117,0.120,0.080,0.052,0.082,0.069,0.069,0.051,0.060,
+0.068,7.27e-3,0.044,0.069,0.086,0.056,0.051,0.132,0.111,0.130,
+0.055,0.074,0.071,0.072,0.074,0.071,0.059,0.010,0.050,0.080,
+0.057,0.066,0.047,0.090,0.071,0.068,0.067,0.087,8.11e-3,9.69e-3,
+9.28e-3,0.011,0.063,7.94e-3,0.059,0.070,0.056,0.067,0.072,0.086,
+0.085,0.050,0.058,0.074,0.071,0.064,0.051,0.077,0.091,8.69e-3,
+0.061,0.137,0.106,0.105,0.107,0.173,0.167,0.096,0.064,0.119,
+0.069,0.057,0.044,0.066,0.088,9.78e-3,0.044,0.073,0.088,0.098,
+0.056,0.102,0.120,0.092,0.058,0.103,0.077,0.057,0.053,0.074,
+0.090,0.014,0.068,0.076,0.072,0.095,0.054,0.084,0.106,0.101,
+0.151,0.142,0.014,0.016,0.016,0.024,0.068,0.011,0.055,0.067,
+0.052,0.093,0.063,0.088,0.100,0.065,0.093,0.145,0.085,0.075,
+0.073,0.118,0.082,8.52e-3,0.062,0.092,0.096,0.087,0.093,0.195,
+0.013,9.94e-3,5.01e-3,0.011,9.61e-3,0.015,7.27e-3,9.86e-3,9.36e-3,2.17e-3,
+5.93e-3,8.86e-3,8.69e-3,0.011,5.68e-3,0.012,0.011,0.010,6.60e-3,9.19e-3,
+9.69e-3,0.011,0.010,8.61e-3,0.011,4.35e-3,0.011,0.011,7.02e-3,0.012,
+6.52e-3,9.28e-3,8.86e-3,0.013,0.012,0.014,2.26e-3,4.35e-3,5.01e-3,3.51e-3,
+0.012,4.85e-3,8.52e-3,9.94e-3,6.85e-3,0.017,9.69e-3,0.011,0.015,0.010,
+0.014,0.021,0.018,0.023,0.017,0.031,0.014,2.59e-3,0.012,0.012,
+0.012,0.015,0.017,0.030,0.080,0.056,0.039,0.047,0.054,0.064,
+0.050,0.048,0.083,0.013,0.057,0.080,0.056,0.069,0.044,0.075,
+6.35e-3,9.86e-3,4.43e-3,6.60e-3,7.19e-3,9.53e-3,7.44e-3,4.85e-3,9.94e-3,4.26e-3,
+7.94e-3,8.77e-3,8.94e-3,0.013,6.10e-3,0.010,0.065,0.094,0.070,0.066,
+0.013,0.029,0.013,0.013,0.087,0.015,0.049,0.066,0.043,0.069,
+0.056,0.064,0.055,0.047,0.047,0.066,0.073,0.109,0.070,0.131,
+0.090,0.013,0.062,0.074,0.052,0.061,0.065,0.088,0.074,0.046,
+0.033,0.055,0.045,0.037,0.025,0.032,0.057,6.02e-3,0.032,0.047,
+0.064,0.063,0.036,0.077,0.098,0.073,0.047,0.060,0.068,0.064,
+0.044,0.049,0.074,0.011,0.054,0.073,0.070,0.085,0.051,0.100,
+0.072,0.077,0.055,0.074,0.010,0.012,0.011,8.44e-3,0.093,8.19e-3,
+0.051,0.075,0.055,0.079,0.055,0.082,0.087,0.053,0.062,0.081,
+0.077,0.069,0.053,0.071,0.097,8.36e-3,0.069,0.101,0.101,0.098,
+0.088,0.154,0.221,0.115,0.088,0.175,0.093,0.064,0.051,0.081,
+0.093,8.61e-3,0.061,0.086,0.141,0.103,0.085,0.164,0.107,0.056,
+0.048,0.075,0.062,0.040,0.033,0.053,0.073,6.43e-3,0.053,0.065,
+0.077,0.054,0.055,0.091,0.113,0.076,0.128,0.177,0.011,7.52e-3,
+9.61e-3,0.023,0.068,5.77e-3,0.053,0.094,0.072,0.069,0.062,0.113,
+0.190,0.081,0.142,0.354,0.116,0.081,0.085,0.184,0.098,7.77e-3,
+0.068,0.101,0.159,0.107,0.129,0.300,0.163,0.092,0.065,0.135,
+0.095,0.074,0.053,0.078,0.085,9.19e-3,0.060,0.085,0.078,0.071,
+0.061,0.118,0.121,0.081,0.046,0.075,0.068,0.058,0.042,0.056,
+0.074,8.44e-3,0.061,0.084,0.070,0.072,0.050,0.080,0.104,0.088,
+0.082,0.135,7.60e-3,0.012,9.19e-3,0.015,0.082,9.44e-3,0.057,0.086,
+0.068,0.101,0.064,0.116,0.146,0.077,0.090,0.217,0.139,0.125,
+0.104,0.231,0.112,8.52e-3,0.088,0.139,0.133,0.147,0.187,0.310,
+0.155,0.074,0.067,0.107,0.109,0.084,0.076,0.122,0.123,0.019,
+0.082,0.121,0.101,0.091,0.081,0.147,0.010,9.02e-3,6.02e-3,0.011,
+7.77e-3,9.44e-3,8.11e-3,9.94e-3,9.11e-3,2.51e-3,0.011,0.013,0.010,0.012,
+8.86e-3,0.013,0.079,0.073,0.071,0.095,0.010,9.53e-3,8.77e-3,0.011,
+0.085,9.19e-3,0.080,0.086,0.059,0.080,0.080,0.109,0.100,0.062,
+0.091,0.136,0.119,0.100,0.098,0.168,0.154,0.010,0.106,0.163,
+0.118,0.108,0.137,0.216,0.193,0.093,0.090,0.147,0.103,0.072,
+0.059,0.101,0.119,0.010,0.067,0.107,0.158,0.101,0.097,0.217,
+0.120,0.086,0.055,0.098,0.088,0.062,0.054,0.069,0.083,6.43e-3,
+0.066,0.100,0.097,0.091,0.077,0.132,0.141,0.108,0.119,0.161,
+0.012,0.012,7.85e-3,0.015,0.128,0.010,0.086,0.131,0.119,0.135,
+0.114,0.165,0.238,0.119,0.145,0.311,0.184,0.153,0.129,0.226,
+0.253,0.017,0.197,0.317,0.378,0.252,0.302,0.489,0.307,0.224,
+0.201,0.327,0.229,0.172,0.133,0.160,0.193,0.027,0.146,0.177,
+0.218,0.196,0.130,0.191,0.252,0.166,0.152,0.184,0.187,0.150,
+0.130,0.148,0.188,0.027,0.148,0.148,0.107,0.137,0.115,0.140,
+0.155,0.151,0.142,0.173,0.025,0.022,0.022,0.031,0.383,0.034,
+0.158,0.123,0.108,0.127,0.119,0.140,0.171,0.105,0.092,0.190,
+0.186,0.162,0.114,0.191,0.138,0.014,0.085,0.115,0.142,0.098,
+0.125,0.220,0.257,0.189,0.216,0.210,0.192,0.180,0.129,0.134,
+0.229,0.032,0.142,0.235,0.114,0.183,0.107,0.163,0.204,0.173,
+0.150,0.172,0.158,0.144,0.138,0.135,0.222,0.038,0.178,0.191,
+0.083,0.140,0.132,0.119,0.201,0.188,0.140,0.137,0.064,0.041,
+0.036,0.032,3.560,0.185,0.233,0.206,0.309,0.273,0.147,0.131,
+0.096,0.079,0.067,0.094,0.185,0.156,0.118,0.156,0.350,0.025,
+0.116,0.124,0.111,0.101,0.118,0.160,0.186,0.101,0.098,0.113,
+0.209,0.133,0.132,0.140,0.171,0.029,0.095,0.121,0.102,0.129,
+0.097,0.153,0.029,0.021,0.015,0.019,0.023,0.033,0.028,0.023,
+0.026,0.011,0.024,0.024,0.015,0.035,0.028,0.025,0.117,0.146,
+0.127,0.106,0.023,0.025,0.024,0.025,0.210,0.035,0.117,0.130,
+0.086,0.155,0.141,0.157,0.093,0.069,0.068,0.107,0.142,0.161,
+0.128,0.178,0.161,0.024,0.122,0.148,0.101,0.128,0.151,0.184,
+0.199,0.085,0.073,0.127,0.099,0.069,0.067,0.157,0.107,0.014,
+0.059,0.092,0.112,0.092,0.067,0.171,0.210,0.136,0.107,0.145,
+0.151,0.157,0.129,0.159,0.124,0.022,0.125,0.168,0.101,0.155,
+0.104,0.173,0.116,0.109,0.116,0.139,0.022,0.014,0.021,0.024,
+0.214,0.064,0.093,0.117,0.086,0.164,0.144,0.141,0.134,0.079,
+0.082,0.151,0.108,0.097,0.088,0.140,0.170,0.019,0.111,0.162,
+0.158,0.136,0.166,0.258,0.322,0.254,0.165,0.229,0.253,0.263,
+0.170,0.164,0.157,0.024,0.104,0.152,0.182,0.152,0.111,0.173,
+0.318,0.261,0.170,0.182,0.268,0.270,0.213,0.191,0.199,0.047,
+0.191,0.244,0.098,0.184,0.142,0.157,0.131,0.185,0.189,0.171,
+0.028,0.043,0.039,0.036,0.123,0.026,0.124,0.113,0.072,0.131,
+0.128,0.141,0.119,0.080,0.076,0.142,0.166,0.207,0.131,0.153,
+0.106,0.017,0.089,0.112,0.100,0.090,0.131,0.196,0.257,0.276,
+0.146,0.180,0.257,0.450,0.207,0.179,0.165,0.039,0.136,0.139,
+0.094,0.168,0.101,0.142,0.236,0.347,0.183,0.193,0.216,0.156,
+0.234,0.206,0.215,0.083,0.221,0.252,0.097,0.288,0.158,0.161,
+0.184,0.320,0.188,0.191,0.045,0.096,0.058,0.067,0.271,0.068,
+0.175,0.210,0.089,0.286,0.208,0.191,0.115,0.102,0.071,0.107,
+0.205,0.293,0.162,0.207,0.154,0.026,0.137,0.170,0.085,0.137,
+0.129,0.190,0.242,0.157,0.099,0.119,0.266,0.286,0.225,0.147,
+0.220,0.052,0.131,0.159,0.113,0.176,0.135,0.167,0.063,0.047,
+0.022,0.025,0.045,0.090,0.069,0.036,0.041,0.032,0.049,0.047,
+0.015,0.062,0.033,0.027,0.186,0.297,0.226,0.183,0.045,0.082,
+0.073,0.050,0.224,0.061,0.205,0.199,0.098,0.260,0.257,0.204,
+0.145,0.119,0.102,0.121,0.240,0.368,0.289,0.267,0.244,0.039,
+0.216,0.222,0.126,0.157,0.219,0.238,0.176,0.112,0.081,0.113,
+0.131,0.116,0.096,0.111,0.135,0.016,0.074,0.103,0.119,0.097,
+0.078,0.146,0.355,0.230,0.156,0.163,0.232,0.288,0.466,0.320,
+0.177,0.054,0.151,0.201,0.110,0.213,0.132,0.164,0.117,0.178,
+0.154,0.146,0.013,0.030,0.025,0.024,0.134,0.028,0.144,0.157,
+0.082,0.154,0.191,0.165,0.123,0.086,0.087,0.117,0.114,0.145,
+0.123,0.131,0.129,0.018,0.124,0.186,0.128,0.159,0.192,0.260,
+0.162,0.179,0.094,0.142,0.112,0.116,0.079,0.113,0.097,0.014,
+0.065,0.081,0.094,0.122,0.063,0.104,0.181,0.211,0.115,0.144,
+0.168,0.217,0.156,0.248,0.169,0.053,0.189,0.182,0.091,0.252,
+0.097,0.146,0.109,0.210,0.287,0.194,0.024,0.052,0.054,0.059,
+0.159,0.037,0.113,0.145,0.058,0.150,0.108,0.124,0.089,0.079,
+0.084,0.146,0.125,0.163,0.159,0.237,0.114,0.019,0.095,0.132,
+0.102,0.110,0.133,0.224,0.011,0.017,9.02e-3,0.011,0.021,0.032,
+0.020,0.017,0.014,6.52e-3,0.015,0.016,9.19e-3,0.020,0.012,0.013,
+0.023,0.035,0.019,0.023,0.036,0.060,0.040,0.033,0.028,0.028,
+0.047,0.037,0.012,0.043,0.024,0.019,0.020,0.056,0.047,0.028,
+0.020,0.035,0.049,0.025,0.060,0.027,0.051,0.047,0.012,0.040,
+0.031,0.022,0.014,0.014,0.014,0.021,0.041,0.077,0.062,0.091,
+0.022,7.19e-3,0.030,0.027,0.013,0.017,0.021,0.032,0.103,0.135,
+0.073,0.074,0.121,0.237,0.148,0.107,0.140,0.043,0.182,0.264,
+0.071,0.152,0.100,0.163,0.015,0.031,0.014,0.013,0.022,0.061,
+0.042,0.029,0.026,0.019,0.045,0.037,0.014,0.044,0.023,0.024,
+0.136,0.587,0.167,0.148,0.042,0.390,0.058,0.050,0.173,0.064,
+0.123,0.153,0.063,0.234,0.156,0.144,0.073,0.104,0.074,0.163,
+0.163,0.674,0.208,0.583,0.229,0.043,0.167,0.187,0.091,0.131,
+0.143,0.184,0.115,0.097,0.054,0.083,0.081,0.091,0.047,0.053,
+0.094,0.013,0.062,0.087,0.077,0.088,0.054,0.115,0.147,0.180,
+0.098,0.111,0.174,0.270,0.166,0.144,0.169,0.048,0.179,0.221,
+0.110,0.238,0.124,0.190,0.113,0.206,0.137,0.138,0.014,0.045,
+0.028,0.022,0.154,0.040,0.159,0.180,0.083,0.202,0.148,0.152,
+0.093,0.085,0.070,0.119,0.099,0.148,0.097,0.165,0.142,0.019,
+0.167,0.187,0.123,0.162,0.168,0.214,0.193,0.112,0.090,0.152,
+0.114,0.085,0.065,0.113,0.107,0.014,0.079,0.109,0.116,0.093,
+0.142,0.156,0.123,0.090,0.066,0.086,0.091,0.083,0.062,0.088,
+0.091,0.014,0.077,0.104,0.077,0.081,0.094,0.098,0.101,0.115,
+0.125,0.156,9.94e-3,0.014,0.014,0.027,0.091,0.013,0.112,0.107,
+0.063,0.090,0.086,0.124,0.123,0.075,0.110,0.233,0.101,0.087,
+0.092,0.227,0.103,9.19e-3,0.096,0.130,0.135,0.089,0.117,0.284,
+0.192,0.158,0.109,0.164,0.166,0.183,0.168,0.170,0.145,0.028,
+0.151,0.177,0.112,0.148,0.107,0.151,0.176,0.171,0.113,0.156,
+0.174,0.187,0.145,0.168,0.168,0.041,0.201,0.227,0.100,0.173,
+0.123,0.142,0.161,0.244,0.220,0.308,0.027,0.053,0.050,0.078,
+0.241,0.040,0.168,0.213,0.105,0.231,0.168,0.197,0.151,0.118,
+0.117,0.268,0.230,0.281,0.307,0.902,0.173,0.025,0.174,0.244,
+0.139,0.150,0.174,0.304,0.168,0.126,0.075,0.090,0.139,0.146,
+0.120,0.118,0.150,0.031,0.121,0.155,0.095,0.164,0.111,0.160,
+0.014,0.021,9.44e-3,0.014,0.017,0.033,0.024,0.018,0.014,8.02e-3,
+0.020,0.023,0.012,0.037,0.017,0.018,0.116,0.182,0.151,0.163,
+0.021,0.047,0.031,0.037,0.162,0.046,0.168,0.184,0.095,0.208,
+0.193,0.200,0.099,0.086,0.114,0.135,0.160,0.212,0.177,0.296,
+0.215,0.024,0.195,0.274,0.129,0.138,0.183,0.257,0.175,0.110,
+0.082,0.131,0.105,0.095,0.097,0.096,0.117,0.017,0.069,0.110,
+0.114,0.101,0.080,0.162,0.160,0.129,0.076,0.111,0.122,0.143,
+0.118,0.125,0.112,0.016,0.106,0.150,0.113,0.211,0.097,0.166,
+0.151,0.155,0.151,0.215,0.016,0.022,0.019,0.026,0.165,0.026,
+0.158,0.195,0.129,0.198,0.202,0.224,0.184,0.114,0.132,0.237,
+0.160,0.172,0.157,0.249,0.205,0.021,0.205,0.282,0.241,0.218,
+0.263,0.340,0.231,0.107,0.090,0.143,0.135,0.094,0.079,0.087,
+0.096,0.013,0.054,0.082,0.103,0.104,0.064,0.098,0.114,0.086,
+0.057,0.074,0.102,0.076,0.069,0.081,0.074,9.94e-3,0.062,0.070,
+0.063,0.076,0.061,0.077,0.104,0.098,0.072,0.106,0.011,0.010,
+0.011,0.016,0.073,9.44e-3,0.052,0.073,0.054,0.070,0.060,0.079,
+0.106,0.059,0.051,0.098,0.099,0.073,0.060,0.090,0.082,7.27e-3,
+0.045,0.066,0.074,0.045,0.060,0.110,0.162,0.120,0.071,0.116,
+0.139,0.125,0.124,0.109,0.094,0.018,0.063,0.081,0.069,0.096,
+0.069,0.084,0.152,0.169,0.079,0.092,0.149,0.104,0.111,0.095,
+0.117,0.030,0.101,0.125,0.063,0.100,0.062,0.077,0.119,0.156,
+0.110,0.128,0.022,0.030,0.030,0.031,0.214,0.033,0.124,0.167,
+0.068,0.138,0.122,0.105,0.087,0.066,0.048,0.076,0.127,0.128,
+0.104,0.123,0.111,0.012,0.076,0.102,0.071,0.068,0.088,0.131,
+0.157,0.073,0.062,0.091,0.146,0.131,0.127,0.105,0.184,0.028,
+0.081,0.103,0.100,0.129,0.085,0.121,0.018,0.019,0.010,0.015,
+0.023,0.030,0.031,0.022,0.021,0.010,0.023,0.027,0.019,0.044,
+0.021,0.028,0.112,0.124,0.140,0.137,0.025,0.024,0.036,0.029,
+0.223,0.037,0.126,0.125,0.088,0.142,0.145,0.123,0.093,0.055,
+0.076,0.076,0.151,0.127,0.216,0.159,0.145,0.018,0.106,0.125,
+0.092,0.093,0.132,0.168,0.114,0.056,0.051,0.087,0.070,0.055,
+0.065,0.060,0.072,9.02e-3,0.042,0.064,0.092,0.070,0.059,0.099,
+0.118,0.090,0.070,0.091,0.098,0.098,0.092,0.087,0.090,0.013,
+0.079,0.108,0.074,0.101,0.076,0.137,0.105,0.121,0.121,0.171,
+0.018,0.018,0.022,0.028,0.121,0.018,0.107,0.141,0.110,0.133,
+0.153,0.154,0.123,0.081,0.075,0.127,0.093,0.081,0.114,0.125,
+0.134,0.013,0.106,0.170,0.160,0.132,0.155,0.240,0.018,0.015,
+8.44e-3,0.011,0.016,0.018,0.014,0.013,8.69e-3,2.34e-3,6.68e-3,8.52e-3,
+9.53e-3,0.017,9.69e-3,9.69e-3,0.016,0.021,9.36e-3,9.78e-3,0.022,0.025,
+0.021,0.019,0.012,6.02e-3,0.014,0.013,7.19e-3,0.014,0.011,0.013,
+9.69e-3,0.015,0.013,0.010,3.76e-3,4.68e-3,4.93e-3,4.35e-3,0.012,3.43e-3,
+0.011,0.012,4.01e-3,9.44e-3,0.012,0.012,8.94e-3,6.94e-3,5.93e-3,0.011,
+0.015,0.018,0.013,0.017,0.013,1.42e-3,7.19e-3,0.015,7.85e-3,8.02e-3,
+7.85e-3,0.016,0.021,0.020,0.012,0.012,0.021,0.035,0.023,0.015,
+0.016,5.35e-3,0.013,0.011,6.68e-3,0.013,9.36e-3,9.78e-3,0.023,0.043,
+0.020,0.016,0.062,0.052,0.045,0.030,0.027,0.021,0.033,0.028,
+8.86e-3,0.024,0.017,0.017,0.019,0.032,0.019,0.016,8.77e-3,0.021,
+0.021,0.011,0.031,0.019,0.029,0.034,8.61e-3,0.031,0.026,0.018,
+0.013,8.69e-3,7.19e-3,0.015,0.019,0.028,0.023,0.019,0.017,6.10e-3,
+0.016,0.016,8.94e-3,0.012,0.016,0.015,0.024,0.012,6.77e-3,9.19e-3,
+0.019,0.029,0.031,0.016,0.021,6.52e-3,0.014,0.015,7.35e-3,0.014,
+0.013,0.014,4.51e-3,7.27e-3,3.51e-3,4.35e-3,0.012,0.024,0.017,0.010,
+8.44e-3,0.010,0.016,0.012,1.84e-3,9.19e-3,8.69e-3,4.43e-3,0.020,0.026,
+0.022,0.024,9.94e-3,0.021,0.034,0.012,0.060,0.021,0.034,0.027,
+0.014,0.034,0.037,0.024,0.012,7.94e-3,0.018,0.011,0.027,0.034,
+0.043,0.030,0.039,7.19e-3,0.024,0.023,0.011,0.016,0.022,0.019,
+0.015,0.011,8.02e-3,0.010,0.012,0.013,0.012,9.94e-3,0.012,2.42e-3,
+6.85e-3,0.010,0.011,0.011,9.36e-3,0.016,0.022,0.023,0.013,0.015,
+0.024,0.035,0.028,0.022,0.020,7.35e-3,0.019,0.021,0.011,0.026,
+0.016,0.025,0.014,0.020,0.020,0.026,4.68e-3,0.010,0.010,0.014,
+0.025,9.86e-3,0.025,0.032,0.011,0.024,0.035,0.032,0.015,0.011,
+0.010,0.017,0.013,0.018,0.018,0.020,0.018,3.43e-3,0.016,0.023,
+0.017,0.019,0.025,0.031,0.120,0.092,0.066,0.099,0.091,0.092,
+0.065,0.074,0.082,0.010,0.056,0.063,0.055,0.052,0.049,0.059,
+0.119,0.123,0.072,0.086,0.155,0.143,0.153,0.112,0.137,0.034,
+0.229,0.171,0.055,0.110,0.081,0.087,0.081,0.145,0.152,0.119,
+0.021,0.035,0.039,0.043,0.122,0.027,0.128,0.134,0.047,0.117,
+0.114,0.102,0.069,0.051,0.050,0.068,0.089,0.097,0.088,0.124,
+0.138,0.017,0.118,0.123,0.062,0.065,0.106,0.147,0.013,0.013,
+7.94e-3,0.011,0.016,0.028,0.022,0.015,0.012,6.85e-3,0.017,0.013,
+5.01e-3,0.011,7.10e-3,8.02e-3,0.021,0.030,0.012,0.011,0.048,0.040,
+0.043,0.025,0.026,0.017,0.098,0.054,6.85e-3,0.016,0.015,0.012,
+0.014,0.037,0.022,0.020,0.010,0.024,0.025,0.012,0.024,0.020,
+0.045,0.038,9.86e-3,0.032,0.032,0.019,0.015,0.011,7.94e-3,0.013,
+0.025,0.038,0.027,0.033,0.020,8.61e-3,0.037,0.031,8.19e-3,0.013,
+0.018,0.024,0.159,0.103,0.059,0.056,0.141,0.176,0.197,0.098,
+0.113,0.032,0.148,0.112,0.056,0.097,0.101,0.092,0.018,0.043,
+0.018,0.012,0.037,0.072,0.058,0.022,0.033,0.028,0.057,0.033,
+9.44e-3,0.032,0.029,0.017,0.131,0.221,0.209,0.139,0.035,0.065,
+0.089,0.043,0.191,0.062,0.110,0.137,0.064,0.153,0.191,0.126,
+0.073,0.063,0.086,0.062,0.142,0.198,0.207,0.156,0.134,0.031,
+0.197,0.160,0.059,0.103,0.154,0.128,0.081,0.060,0.050,0.075,
+0.066,0.065,0.058,0.046,0.072,0.013,0.053,0.059,0.046,0.057,
+0.048,0.064,0.113,0.160,0.077,0.087,0.148,0.220,0.152,0.107,
+0.148,0.038,0.186,0.172,0.068,0.164,0.106,0.100,0.112,0.182,
+0.185,0.162,0.023,0.053,0.041,0.037,0.189,0.048,0.228,0.224,
+0.079,0.182,0.173,0.157,0.079,0.071,0.066,0.095,0.115,0.134,
+0.104,0.132,0.142,0.025,0.184,0.189,0.095,0.162,0.147,0.170,
+0.262,0.077,0.056,0.100,0.084,0.066,0.048,0.065,0.076,9.36e-3,
+0.044,0.062,0.072,0.061,0.054,0.119,0.103,0.063,0.046,0.058,
+0.071,0.058,0.055,0.051,0.065,7.94e-3,0.051,0.067,0.046,0.051,
+0.044,0.061,0.099,0.089,0.077,0.095,0.011,0.013,0.011,0.018,
+0.080,8.69e-3,0.066,0.094,0.067,0.072,0.070,0.094,0.134,0.064,
+0.061,0.098,0.087,0.072,0.056,0.109,0.092,8.44e-3,0.056,0.090,
+0.091,0.063,0.078,0.146,0.204,0.104,0.072,0.112,0.121,0.120,
+0.111,0.101,0.111,0.016,0.081,0.103,0.069,0.086,0.063,0.103,
+0.148,0.144,0.074,0.092,0.155,0.145,0.124,0.116,0.130,0.026,
+0.191,0.186,0.058,0.108,0.080,0.097,0.168,0.206,0.125,0.137,
+0.025,0.042,0.030,0.035,0.141,0.033,0.157,0.199,0.082,0.177,
+0.147,0.154,0.303,0.141,0.106,0.128,0.180,0.196,0.146,0.206,
+0.156,0.023,0.141,0.208,0.102,0.110,0.126,0.194,1.430,0.152,
+0.119,0.126,0.235,0.180,0.246,0.145,0.193,0.031,0.126,0.199,
+0.095,0.104,0.113,0.155,0.065,0.022,0.017,0.013,0.030,0.050,
+0.070,0.025,0.019,0.010,0.032,0.054,0.013,0.021,0.018,0.019,
+0.240,0.202,0.222,0.178,0.028,0.038,0.048,0.035,0.223,0.052,
+0.189,0.240,0.101,0.209,0.209,0.201,0.244,0.106,0.690,0.217,
+0.190,0.177,0.264,0.207,0.190,0.026,0.215,0.256,0.141,0.120,
+0.197,0.211,0.223,0.078,0.077,0.103,0.093,0.066,0.071,0.076,
+0.189,0.023,0.067,0.099,0.098,0.073,0.066,0.137,0.154,0.093,
+0.065,0.099,0.118,0.124,0.137,0.110,0.106,0.015,0.103,0.185,
+0.079,0.100,0.089,0.130,0.152,0.173,0.164,0.199,0.018,0.022,
+0.021,0.028,0.199,0.031,0.199,0.249,0.134,0.240,0.226,0.208,
+0.181,0.099,0.139,0.199,0.156,0.150,0.148,0.200,0.188,0.018,
+0.186,0.262,0.176,0.168,0.212,0.278,0.364,0.145,0.128,0.266,
+0.149,0.093,0.073,0.101,0.137,0.014,0.069,0.097,0.194,0.152,
+0.083,0.160,0.157,0.100,0.060,0.094,0.101,0.065,0.050,0.060,
+0.095,0.011,0.057,0.068,0.117,0.140,0.076,0.106,0.125,0.095,
+0.076,0.131,0.011,0.011,9.02e-3,0.016,0.077,6.77e-3,0.046,0.073,
+0.078,0.094,0.079,0.107,0.155,0.082,0.070,0.150,0.115,0.079,
+0.065,0.116,0.093,7.02e-3,0.059,0.094,0.133,0.087,0.101,0.205,
+0.178,0.096,0.066,0.132,0.112,0.077,0.059,0.076,0.079,8.02e-3,
+0.045,0.063,0.068,0.071,0.043,0.096,0.124,0.095,0.046,0.082,
+0.081,0.056,0.049,0.058,0.081,0.011,0.051,0.069,0.067,0.080,
+0.045,0.073,0.098,0.082,0.060,0.102,0.010,0.010,0.011,0.013,
+0.141,0.015,0.054,0.079,0.063,0.090,0.063,0.079,0.089,0.052,
+0.037,0.086,0.093,0.072,0.049,0.090,0.077,7.19e-3,0.048,0.075,
+0.078,0.074,0.068,0.127,0.134,0.061,0.059,0.093,0.109,0.069,
+0.075,0.079,0.105,0.012,0.038,0.072,0.109,0.094,0.056,0.117,
+0.012,7.35e-3,6.10e-3,0.013,0.010,0.010,0.010,0.011,0.011,2.84e-3,
+8.36e-3,0.012,0.015,0.020,7.35e-3,0.019,0.077,0.073,0.070,0.086,
+0.010,0.010,0.010,0.014,0.090,0.013,0.046,0.066,0.066,0.095,
+0.071,0.091,0.076,0.046,0.052,0.083,0.104,0.088,0.077,0.104,
+0.094,9.02e-3,0.057,0.088,0.101,0.080,0.086,0.143,0.174,0.070,
+0.060,0.122,0.081,0.052,0.058,0.072,0.098,8.44e-3,0.050,0.079,
+0.147,0.090,0.064,0.152,0.115,0.066,0.053,0.084,0.068,0.057,
+0.055,0.066,0.080,8.44e-3,0.053,0.107,0.113,0.097,0.064,0.154,
+0.103,0.098,0.084,0.116,9.11e-3,8.69e-3,7.27e-3,0.013,0.097,8.27e-3,
+0.064,0.102,0.097,0.112,0.111,0.145,0.164,0.090,0.092,0.194,
+0.112,0.100,0.081,0.127,0.151,0.012,0.096,0.168,0.232,0.149,
+0.189,0.359,0.208,0.125,0.097,0.161,0.130,0.098,0.075,0.090,
+0.100,0.011,0.059,0.088,0.140,0.114,0.081,0.143,0.143,0.102,
+0.064,0.089,0.106,0.087,0.089,0.077,0.098,0.014,0.080,0.082,
+0.089,0.100,0.067,0.105,0.089,0.083,0.067,0.104,0.011,0.013,
+9.53e-3,0.016,0.076,0.012,0.050,0.080,0.062,0.086,0.074,0.114,
+0.089,0.062,0.051,0.090,0.108,0.095,0.062,0.097,0.073,8.52e-3,
+0.047,0.092,0.083,0.087,0.089,0.163,0.182,0.110,0.068,0.106,
+0.122,0.124,0.074,0.079,0.082,0.013,0.041,0.068,0.065,0.076,
+0.042,0.082,0.120,0.126,0.057,0.076,0.141,0.118,0.075,0.086,
+0.092,0.020,0.066,0.079,0.072,0.093,0.064,0.087,0.101,0.122,
+0.073,0.109,0.015,0.027,0.018,0.019,0.133,0.024,0.077,0.119,
+0.064,0.125,0.118,0.128,0.078,0.066,0.040,0.078,0.117,0.118,
+0.077,0.102,0.082,9.53e-3,0.057,0.106,0.072,0.087,0.083,0.146,
+0.116,0.070,0.047,0.087,0.105,0.106,0.086,0.094,0.093,0.013,
+0.051,0.126,0.072,0.086,0.066,0.125,9.28e-3,9.11e-3,6.27e-3,9.36e-3,
+0.012,0.024,0.014,0.013,0.011,6.68e-3,0.012,0.015,8.11e-3,0.017,
+9.61e-3,0.014,0.105,0.114,0.089,0.117,0.019,0.020,0.020,0.020,
+0.173,0.025,0.072,0.108,0.084,0.129,0.117,0.137,0.088,0.063,
+0.060,0.113,0.135,0.149,0.142,0.154,0.136,0.015,0.081,0.125,
+0.094,0.097,0.120,0.182,0.127,0.076,0.060,0.100,0.072,0.062,
+0.061,0.064,0.091,8.86e-3,0.047,0.083,0.105,0.086,0.060,0.132,
+0.124,0.095,0.058,0.099,0.091,0.111,0.075,0.090,0.099,0.015,
+0.065,0.099,0.084,0.131,0.080,0.136,0.096,0.099,0.098,0.127,
+8.52e-3,0.014,0.013,0.018,0.094,0.014,0.080,0.112,0.081,0.123,
+0.125,0.162,0.126,0.077,0.073,0.139,0.115,0.112,0.099,0.165,
+0.118,0.010,0.089,0.155,0.147,0.135,0.149,0.285,0.158,0.118,
+0.088,0.146,0.109,0.106,0.104,0.119,0.115,0.013,0.054,0.092,
+0.108,0.088,0.060,0.102,0.139,0.119,0.068,0.109,0.119,0.114,
+0.088,0.099,0.129,0.019,0.101,0.130,0.108,0.124,0.081,0.124,
+0.112,0.143,0.111,0.150,0.018,0.024,0.025,0.033,0.109,0.017,
+0.081,0.122,0.074,0.132,0.111,0.135,0.110,0.078,0.065,0.125,
+0.124,0.117,0.090,0.131,0.140,0.015,0.110,0.152,0.131,0.112,
+0.211,0.268,0.011,0.011,8.69e-3,0.011,0.016,0.017,0.013,0.013,
+9.11e-3,1.67e-3,5.93e-3,8.77e-3,7.10e-3,0.013,7.44e-3,0.015,0.015,0.018,
+8.86e-3,0.011,0.019,0.026,0.013,0.014,0.013,6.85e-3,0.018,0.021,
+8.94e-3,0.012,0.010,0.013,0.010,0.016,0.010,0.014,4.09e-3,9.53e-3,
+8.36e-3,4.85e-3,0.014,6.43e-3,0.016,0.021,8.02e-3,0.021,0.016,0.016,
+0.013,8.86e-3,7.35e-3,0.013,0.018,0.023,0.014,0.022,0.015,3.26e-3,
+0.012,0.019,0.016,0.016,0.025,0.031,0.133,0.097,0.061,0.085,
+0.118,0.164,0.143,0.099,0.114,0.023,0.098,0.101,0.081,0.111,
+0.096,0.137,0.013,0.020,8.61e-3,0.011,0.016,0.029,0.015,0.011,
+0.017,8.94e-3,0.022,0.016,0.011,0.025,0.015,0.017,0.121,0.188,
+0.145,0.133,0.022,0.040,0.034,0.025,0.157,0.038,0.090,0.132,
+0.077,0.150,0.149,0.152,0.094,0.072,0.074,0.099,0.140,0.170,
+0.157,0.157,0.160,0.025,0.170,0.193,0.102,0.130,0.171,0.228,
+0.129,0.086,0.056,0.091,0.105,0.089,0.058,0.078,0.092,0.010,
+0.064,0.093,0.083,0.083,0.064,0.132,0.151,0.146,0.082,0.110,
+0.163,0.148,0.098,0.099,0.166,0.024,0.134,0.149,0.110,0.172,
+0.125,0.180,0.142,0.176,0.171,0.182,0.017,0.028,0.022,0.023,
+0.181,0.027,0.151,0.200,0.120,0.203,0.172,0.209,0.140,0.099,
+0.089,0.133,0.119,0.128,0.104,0.138,0.184,0.021,0.164,0.213,
+0.176,0.187,0.199,0.306,0.391,0.145,0.101,0.218,0.136,0.093,
+0.088,0.152,0.142,0.015,0.077,0.137,0.161,0.124,0.100,0.217,
+0.152,0.091,0.053,0.098,0.097,0.073,0.054,0.088,0.111,0.010,
+0.058,0.107,0.087,0.089,0.068,0.123,0.160,0.122,0.090,0.180,
+0.012,0.015,7.10e-3,0.021,0.102,0.013,0.071,0.151,0.110,0.125,
+0.099,0.170,0.209,0.118,0.095,0.217,0.141,0.105,0.087,0.180,
+0.149,0.015,0.106,0.168,0.215,0.208,0.190,0.421,0.232,0.131,
+0.096,0.160,0.148,0.127,0.098,0.119,0.107,0.012,0.070,0.108,
+0.103,0.102,0.077,0.149,0.187,0.131,0.064,0.119,0.147,0.139,
+0.076,0.125,0.118,0.016,0.083,0.131,0.092,0.104,0.075,0.147,
+0.145,0.151,0.100,0.172,0.012,0.020,0.014,0.022,0.138,0.016,
+0.092,0.151,0.122,0.175,0.128,0.210,0.181,0.104,0.077,0.170,
+0.152,0.143,0.097,0.211,0.169,0.013,0.108,0.180,0.168,0.159,
+0.154,0.362,0.310,0.127,0.105,0.136,0.192,0.148,0.131,0.168,
+0.190,0.024,0.159,0.182,0.151,0.144,0.140,0.243,0.020,0.014,
+7.69e-3,0.013,0.017,0.022,0.015,0.017,0.014,3.93e-3,0.021,0.019,
+0.012,0.020,0.012,0.025,0.240,0.209,0.166,0.234,0.024,0.029,
+0.023,0.030,0.242,0.038,0.179,0.222,0.168,0.241,0.272,0.308,
+0.202,0.126,0.180,0.199,0.234,0.198,0.189,0.271,0.283,0.029,
+0.246,0.311,0.200,0.176,0.283,0.436,0.454,0.187,0.147,0.264,
+0.183,0.131,0.102,0.153,0.284,0.021,0.112,0.194,0.287,0.196,
+0.151,0.383,0.267,0.176,0.105,0.184,0.193,0.180,0.108,0.171,
+0.197,0.017,0.140,0.219,0.196,0.193,0.145,0.361,0.274,0.247,
+0.216,0.345,0.018,0.021,0.018,0.029,0.285,0.025,0.222,0.345,
+0.264,0.301,0.321,0.473,0.439,0.188,0.173,0.394,0.232,0.186,
+0.171,0.337,0.333,0.019,0.244,0.454,0.327,0.245,0.255,0.511,
+4.810,2.270,1.620,2.510,2.140,1.260,1.140,1.370,2.140,0.218,
+1.080,1.390,2.870,1.940,1.250,1.850,2.640,1.350,0.985,1.280,
+1.560,0.877,0.861,0.833,2.010,0.123,0.928,1.150,1.190,0.990,
+0.868,1.180,2.510,1.780,1.200,1.600,0.179,0.138,0.119,0.222,
+1.750,0.131,0.924,1.290,1.210,1.270,1.020,1.430,2.990,1.360,
+1.310,2.760,1.910,1.320,1.280,2.030,1.770,0.162,1.030,1.620,
+1.960,1.260,1.490,2.120,3.050,1.860,1.000,1.480,1.700,1.210,
+0.904,0.945,1.620,0.162,0.792,1.030,1.160,1.130,0.645,1.080,
+2.090,1.150,0.728,0.901,1.190,0.689,0.705,0.622,1.350,0.122,
+1.000,1.020,0.742,0.725,0.629,0.683,1.850,1.350,0.935,1.050,
+0.132,0.141,0.124,0.122,1.600,0.148,1.000,1.180,0.866,1.140,
+0.785,0.948,1.250,0.750,0.634,0.922,1.240,1.020,1.630,1.100,
+1.650,0.123,0.985,1.160,1.090,0.863,0.860,1.260,2.040,0.913,
+0.811,1.060,1.340,0.804,0.871,0.767,1.510,0.169,0.881,1.090,
+1.020,0.847,0.821,1.350,0.146,0.103,0.080,0.102,0.119,0.092,
+0.083,0.079,0.132,0.023,0.108,0.125,0.124,0.159,0.112,0.157,
+1.300,0.927,0.907,1.790,0.105,0.079,0.083,0.159,1.260,0.112,
+0.836,0.912,0.739,0.833,0.877,0.815,1.040,0.547,0.584,1.010,
+1.250,0.846,1.060,1.120,1.290,0.103,0.976,1.170,0.860,0.735,
+0.976,1.240,2.880,1.260,0.998,1.780,1.120,0.674,0.808,0.784,
+1.520,0.145,0.892,1.170,1.770,1.200,1.230,2.270,1.780,1.070,
+0.881,1.100,1.270,0.737,0.798,0.763,1.290,0.105,1.080,1.270,
+1.150,1.130,1.260,1.460,1.250,0.991,0.857,1.130,0.111,0.085,
+0.078,0.099,1.340,0.088,0.900,1.150,0.963,1.080,1.160,1.170,
+1.640,0.884,0.785,1.580,1.020,0.760,0.779,1.040,1.660,0.106,
+1.150,1.660,1.630,1.250,1.440,2.090,2.720,1.640,1.180,1.760,
+1.590,1.150,1.030,1.030,1.420,0.142,0.813,0.994,1.240,1.120,
+0.742,1.170,1.750,1.160,0.730,0.894,1.230,0.838,0.831,0.727,
+1.110,0.124,0.793,0.963,0.652,0.813,0.626,0.918,1.120,1.150,
+0.758,0.820,0.110,0.167,0.090,0.104,0.997,0.125,0.742,0.731,
+0.624,1.100,0.675,0.835,1.120,0.761,0.582,0.875,1.060,1.230,
+0.647,0.789,1.660,0.453,0.650,0.848,0.876,1.070,0.762,1.240,
+1.930,1.500,0.829,1.250,1.510,1.360,0.877,0.836,1.210,0.142,
+0.601,0.804,0.696,0.890,0.481,0.758,1.320,0.969,0.585,0.605,
+0.900,0.529,0.620,0.493,1.050,0.128,0.662,0.905,0.461,0.663,
+0.470,0.552,1.070,1.550,0.673,0.730,0.123,0.350,0.093,0.086,
+1.360,0.196,0.867,1.000,0.620,1.490,0.758,0.844,0.764,0.598,
+0.367,0.523,0.965,1.180,0.537,0.570,2.020,0.147,0.580,0.796,
+0.742,0.786,0.522,0.880,1.280,0.844,0.495,0.710,1.200,0.935,
+0.845,0.688,1.080,0.157,0.609,0.935,0.592,0.847,0.542,0.826,
+0.093,0.101,0.052,0.069,0.096,0.120,0.097,0.063,0.111,0.042,
+0.095,0.118,0.063,0.203,0.075,0.083,0.837,0.979,0.723,0.771,
+0.099,0.113,0.091,0.084,1.080,0.162,0.799,0.916,0.473,0.987,
+0.852,0.812,0.606,0.418,0.439,0.485,0.851,0.927,0.718,0.806,
+0.937,0.097,0.749,0.935,0.469,0.567,0.697,0.785,1.150,0.654,
+0.590,0.767,0.803,0.554,1.170,0.548,0.721,0.072,0.461,0.654,
+0.714,0.576,0.519,0.898,1.110,0.816,0.607,0.780,0.879,0.747,
+0.697,0.569,0.769,0.105,0.646,0.958,0.555,0.942,0.662,0.913,
+0.769,0.828,0.711,0.752,0.068,0.087,0.068,0.072,0.900,0.092,
+0.864,0.972,0.593,0.858,0.817,0.960,0.831,0.536,0.481,0.729,
+0.686,0.691,0.511,0.663,1.140,0.089,0.737,1.130,0.901,0.888,
+0.949,1.410,1.700,1.070,0.844,1.240,0.831,0.640,0.527,0.556,
+1.140,0.121,0.587,0.700,0.878,0.824,0.496,0.858,1.320,0.937,
+0.564,0.746,0.896,0.685,0.546,0.552,1.110,0.127,0.722,0.788,
+0.582,0.847,0.472,0.681,0.952,1.100,0.826,0.871,0.122,0.247,
+0.131,0.148,1.050,0.122,0.620,0.806,0.597,1.040,0.602,1.430,
+0.890,0.758,0.467,0.829,1.020,1.840,0.617,0.780,1.130,0.131,
+0.627,0.941,0.842,0.698,0.792,1.640,0.145,0.124,0.066,0.093,
+0.117,0.099,0.071,0.064,0.107,0.017,0.061,0.080,0.069,0.090,
+0.050,0.075,0.129,0.086,0.049,0.058,0.101,0.092,0.073,0.062,
+0.094,0.020,0.077,0.085,0.050,0.085,0.048,0.054,0.090,0.124,
+0.077,0.074,0.014,0.036,0.032,0.015,0.115,0.028,0.095,0.101,
+0.064,0.139,0.073,0.113,0.107,0.093,0.057,0.095,0.186,0.342,
+0.142,0.133,0.145,0.018,0.098,0.122,0.099,0.101,0.098,0.167,
+1.120,0.652,0.644,0.574,0.755,0.579,0.567,0.484,0.926,0.138,
+0.598,0.632,0.502,0.613,0.450,0.543,0.087,0.073,0.045,0.048,
+0.061,0.062,0.056,0.039,0.090,0.018,0.081,0.073,0.055,0.095,
+0.056,0.059,0.858,0.893,0.639,0.578,0.083,0.101,0.084,0.074,
+1.180,0.165,0.788,0.901,0.466,0.830,0.644,0.618,0.728,0.423,
+0.340,0.390,0.661,0.817,0.610,0.570,0.904,0.115,0.827,0.882,
+0.449,0.601,0.584,0.681,0.852,0.410,0.346,0.639,0.557,0.322,
+0.282,0.321,0.627,0.069,0.364,0.770,0.749,0.501,0.333,0.687,
+0.857,0.607,0.427,0.570,0.668,0.549,0.439,0.421,0.785,0.077,
+0.569,0.719,0.655,0.741,0.461,0.622,0.848,0.838,0.557,0.669,
+0.085,0.099,0.061,0.065,1.070,0.105,0.749,1.050,0.763,0.978,
+0.687,0.911,0.738,0.440,0.419,0.536,0.631,0.637,0.478,0.529,
+0.970,0.085,0.741,0.999,0.868,0.845,0.780,1.260,2.100,0.923,
+0.841,1.690,0.768,0.439,0.470,0.551,1.070,0.104,0.438,0.685,
+1.110,0.835,0.548,1.130,1.030,0.450,0.319,0.507,0.657,0.314,
+0.277,0.404,0.635,0.050,0.356,0.473,0.436,0.412,0.306,0.494,
+0.750,0.580,0.414,0.707,0.078,0.078,0.043,0.086,0.647,0.055,
+0.330,0.492,0.521,0.557,0.367,0.708,1.040,0.514,0.481,1.060,
+0.881,0.723,0.444,0.714,0.963,0.096,0.641,0.808,0.982,0.688,
+0.826,1.730,1.330,0.724,0.502,0.833,0.970,0.598,0.425,0.541,
+0.943,0.083,0.418,0.793,0.678,0.600,0.394,0.660,1.260,0.555,
+0.335,0.494,0.735,0.435,0.360,0.429,0.677,0.067,0.452,0.650,
+0.426,0.477,0.289,0.457,0.806,0.629,0.468,0.570,0.064,0.068,
+0.054,0.056,0.760,0.074,0.487,0.707,0.488,0.696,0.458,0.682,
+0.822,0.425,0.395,0.683,0.901,0.737,0.478,0.686,0.932,0.070,
+0.706,0.843,0.720,0.633,0.594,1.120,0.980,0.573,0.447,0.714,
+0.866,0.490,0.651,0.596,0.768,0.096,0.463,0.651,0.528,0.543,
+0.437,0.696,0.061,0.047,0.037,0.054,0.054,0.043,0.058,0.041,
+0.066,0.012,0.054,0.067,0.045,0.067,0.040,0.058,0.651,0.592,
+0.479,0.616,0.054,0.046,0.049,0.062,0.756,0.077,0.576,0.676,
+0.545,0.619,0.498,0.631,0.584,0.354,0.364,0.514,0.733,0.474,
+0.510,0.670,0.806,0.072,0.585,0.900,0.592,0.519,0.544,0.870,
+1.860,0.602,0.487,0.924,0.698,0.387,0.399,0.439,0.778,0.064,
+0.387,0.665,0.977,0.627,0.547,1.180,0.550,0.328,0.251,0.415,
+0.376,0.208,0.266,0.314,0.501,0.033,0.365,0.568,0.502,0.455,
+0.382,0.662,0.904,0.712,0.544,0.804,0.067,0.054,0.041,0.070,
+1.010,0.107,0.619,0.929,0.897,0.935,0.759,1.120,1.260,0.628,
+0.711,1.270,0.816,0.642,0.621,0.866,1.230,0.070,0.867,1.390,
+1.690,1.100,1.230,2.250,3.070,1.990,1.630,2.260,2.150,1.520,
+1.310,1.380,1.910,0.210,1.090,1.430,2.470,1.850,1.190,1.700,
+1.900,1.490,0.961,1.060,1.620,1.060,0.961,0.855,1.450,0.151,
+1.210,1.320,0.949,1.170,0.903,1.170,1.180,1.120,0.962,1.090,
+0.119,0.115,0.112,0.154,0.980,0.126,0.763,0.935,0.710,1.080,
+0.910,1.570,1.370,0.963,0.695,1.530,1.200,0.973,0.831,1.250,
+1.070,0.104,0.877,1.450,1.040,0.846,1.120,1.780,2.720,1.970,
+0.984,1.260,2.100,2.010,1.150,1.000,1.450,0.205,0.914,1.130,
+0.963,1.290,0.656,1.030,1.800,1.490,0.818,0.862,1.380,1.060,
+0.909,0.778,1.370,0.207,1.210,1.540,0.720,1.060,0.733,0.852,
+1.360,1.600,0.832,0.827,0.167,0.184,0.138,0.115,1.370,0.228,
+1.260,1.380,0.671,1.510,1.030,0.999,0.829,0.725,0.411,0.589,
+1.180,1.050,0.766,0.763,1.040,0.111,0.905,1.040,0.718,0.823,
+0.849,1.190,1.170,0.843,0.528,0.711,1.210,0.932,0.772,0.740,
+1.410,0.220,0.809,1.160,0.741,0.976,0.652,1.160,0.091,0.115,
+0.068,0.088,0.114,0.206,0.110,0.110,0.144,0.059,0.144,0.158,
+0.087,0.263,0.105,0.128,0.682,0.940,0.717,0.621,0.083,0.093,
+0.085,0.088,0.916,0.145,0.854,1.070,0.491,0.845,0.768,0.747,
+0.585,0.428,0.378,0.495,0.832,0.900,0.710,0.785,0.912,0.118,
+0.915,1.010,0.535,0.684,0.878,0.993,1.320,0.664,0.507,1.050,
+0.689,0.461,0.426,0.532,0.804,0.106,0.497,0.898,0.822,0.707,
+0.557,1.210,1.120,1.010,0.652,0.897,1.030,0.878,0.781,0.733,
+0.942,0.134,0.825,1.030,0.678,1.150,0.726,0.998,0.624,0.624,
+0.582,0.673,0.070,0.062,0.072,0.080,0.698,0.080,0.686,0.807,
+0.496,0.749,0.781,0.915,0.762,0.475,0.391,0.765,0.584,0.536,
+0.484,0.622,1.060,0.081,0.833,1.070,0.967,0.935,1.140,1.640,
+2.410,1.930,1.390,1.680,2.080,1.810,1.630,1.330,1.300,0.190,
+0.934,1.210,1.140,1.440,0.887,1.430,1.800,1.710,1.070,1.090,
+1.670,1.460,1.560,1.210,1.390,0.247,1.310,1.520,0.676,1.260,
+0.830,1.660,0.968,1.390,0.954,0.849,0.132,0.205,0.157,0.139,
+1.040,0.147,0.999,0.976,0.634,1.120,0.897,1.140,0.881,0.615,
+0.508,0.766,0.986,1.210,0.802,0.817,0.831,0.116,0.784,0.862,
+0.725,0.704,0.892,1.270,1.750,1.880,0.903,1.000,1.650,2.060,
+1.210,0.929,1.280,0.212,1.020,1.100,0.650,1.260,0.589,0.836,
+1.130,1.230,0.721,0.665,0.714,0.268,0.666,0.488,1.070,0.212,
+0.996,1.350,0.427,0.990,0.648,0.777,1.020,1.780,0.917,0.829,
+0.157,0.273,0.180,0.142,1.420,0.289,1.260,1.650,0.608,2.010,
+1.170,1.130,0.610,0.590,0.380,0.456,0.963,1.280,0.683,0.687,
+1.040,0.130,0.848,1.020,0.531,0.803,0.700,0.956,1.330,1.160,
+0.623,0.819,1.990,2.010,1.480,1.180,1.880,0.536,1.100,1.900,
+0.867,2.410,0.867,1.360,0.096,0.230,0.094,0.100,0.177,0.339,
+0.224,0.134,0.348,0.254,0.244,0.243,0.150,1.030,0.150,0.155,
+0.936,1.660,1.120,0.899,0.178,0.306,0.211,0.157,1.510,0.322,
+1.520,1.590,0.642,1.940,1.420,1.120,0.724,0.722,0.514,0.540,
+1.480,3.060,1.510,1.270,1.280,0.206,1.360,1.490,0.656,1.120,
+1.080,1.240,0.912,0.722,0.508,0.788,0.909,0.678,0.587,0.531,
+0.772,0.121,0.573,0.997,0.616,0.840,0.464,0.874,0.948,1.260,
+0.777,1.200,1.130,1.310,0.932,0.797,1.200,0.339,0.927,1.190,
+0.626,2.040,0.747,0.924,0.581,0.906,0.777,0.721,0.074,0.118,
+0.087,0.082,0.725,0.104,1.050,0.972,0.462,0.967,0.948,0.893,
+0.584,0.460,0.378,0.561,0.619,0.838,0.517,0.592,0.994,0.084,
+0.809,1.030,0.682,0.909,0.979,1.240,1.370,1.210,0.881,1.070,
+1.060,1.020,0.697,0.779,1.050,0.152,0.666,0.881,0.794,1.020,
+0.691,1.070,1.380,1.500,0.748,0.951,1.370,1.390,1.060,0.938,
+1.750,0.267,1.450,1.370,0.609,1.220,0.673,0.952,0.890,1.740,
+1.000,1.060,0.141,0.255,0.205,0.262,1.410,0.240,1.050,1.400,
+0.683,1.380,0.977,3.390,0.629,0.602,0.407,0.723,0.866,1.280,
+0.721,0.857,1.140,0.140,0.968,1.300,0.732,0.721,0.836,1.780,
+0.121,0.149,0.068,0.103,0.230,0.252,0.136,0.120,0.122,0.034,
+0.110,0.151,0.064,0.140,0.078,0.106,0.119,0.176,0.078,0.091,
+0.197,0.242,0.169,0.133,0.162,0.080,0.207,0.215,0.059,0.157,
+0.089,0.093,0.087,0.237,0.122,0.101,0.034,0.096,0.069,0.039,
+0.209,0.100,0.253,0.236,0.076,0.268,0.156,0.253,0.076,0.089,
+0.050,0.075,0.219,0.378,0.168,0.164,0.163,0.036,0.195,0.197,
+0.084,0.123,0.123,0.183,1.360,1.320,0.801,0.957,1.380,1.670,
+1.350,1.020,1.590,0.370,1.200,1.440,0.736,1.460,0.813,0.955,
+0.138,0.236,0.127,0.114,0.163,0.289,0.224,0.133,0.209,0.094,
+0.311,0.227,0.091,0.265,0.128,0.105,1.040,2.090,1.100,1.030,
+0.173,0.348,0.214,0.172,2.050,0.461,1.250,1.760,0.769,2.010,
+1.190,1.190,0.843,0.932,0.571,0.747,1.450,3.520,1.370,1.310,
+1.810,0.355,2.230,2.000,0.747,1.300,1.220,1.200,0.798,0.622,
+0.503,1.690,0.599,0.484,0.391,0.611,0.892,0.186,0.771,3.490,
+0.548,0.717,0.433,1.160,1.040,1.270,0.716,0.852,1.110,1.370,
+0.933,0.864,1.420,0.219,1.280,1.750,0.697,1.500,0.816,0.954,
+0.824,1.460,0.800,0.811,0.093,0.187,0.124,0.114,1.730,0.255,
+1.360,1.720,0.842,1.850,1.170,1.310,0.567,0.518,0.395,0.560,
+0.689,0.955,0.722,0.650,1.310,0.152,1.370,1.550,0.832,1.270,
+1.090,1.290,1.240,0.728,0.564,0.964,0.752,0.481,0.382,0.655,
+0.820,0.089,0.375,0.647,0.768,0.865,0.528,0.889,0.821,0.623,
+0.352,0.503,0.619,0.489,0.345,0.464,0.673,0.065,0.422,0.623,
+0.445,0.572,0.392,0.566,0.583,0.542,0.368,0.521,0.058,0.055,
+0.039,0.074,0.647,0.071,0.361,0.563,0.498,0.540,0.426,0.843,
+0.636,0.370,0.322,0.636,0.630,0.464,0.310,0.555,0.622,0.055,
+0.419,0.712,0.658,0.478,0.554,1.250,1.480,1.050,0.621,0.917,
+1.230,1.070,0.690,0.819,0.964,0.121,0.707,1.030,0.705,0.921,
+0.559,1.010,1.190,0.977,0.487,0.687,1.190,0.957,0.684,0.783,
+0.923,0.133,0.804,1.130,0.545,0.862,0.584,0.886,0.770,0.969,
+0.627,0.676,0.081,0.134,0.092,0.092,0.961,0.140,0.926,1.200,
+0.576,1.160,0.819,1.140,0.666,0.529,0.392,0.609,1.040,1.180,
+0.669,0.938,0.877,0.093,0.868,1.180,0.716,0.890,0.850,1.390,
+0.762,0.671,0.466,0.564,0.925,0.717,0.610,0.648,0.930,0.146,
+0.653,0.878,0.570,0.749,0.610,0.886,0.064,0.074,0.044,0.051,
+0.070,0.097,0.078,0.064,0.082,0.024,0.082,0.091,0.056,0.130,
+0.064,0.075,0.622,0.786,0.564,0.599,0.079,0.083,0.061,0.088,
+0.911,0.153,0.781,0.965,0.539,1.030,0.780,0.799,0.535,0.470,
+0.462,0.623,0.833,0.863,0.631,0.869,1.180,0.185,1.020,1.380,
+0.614,0.812,0.868,1.100,1.150,0.566,0.428,0.819,0.740,0.540,
+0.355,0.475,0.714,0.082,0.487,0.976,0.639,0.523,0.527,1.000,
+0.698,0.617,0.358,0.603,0.580,0.536,0.444,0.525,0.612,0.060,
+0.513,0.785,0.524,0.635,0.554,0.789,0.727,0.793,0.544,0.716,
+0.063,0.066,0.044,0.068,1.080,0.103,0.813,1.160,0.781,1.160,
+1.000,1.160,0.847,0.604,0.610,1.040,0.835,0.883,0.647,0.842,
+1.260,0.094,1.250,1.650,1.390,1.240,1.640,1.840,2.510,1.380,
+1.310,1.710,1.590,1.010,0.961,0.931,1.310,0.149,0.818,1.120,
+1.440,1.110,0.795,1.170,1.060,0.715,0.547,0.665,0.956,0.597,
+0.635,0.571,0.882,0.095,0.655,0.642,0.551,0.601,0.480,0.588,
+0.940,0.774,0.780,0.807,0.091,0.079,0.100,0.117,0.788,0.079,
+0.642,0.814,0.508,0.631,0.538,0.699,1.150,0.615,0.488,0.850,
+1.000,0.688,0.674,0.770,0.740,0.067,0.572,0.700,0.881,0.464,
+0.717,1.230,2.330,1.380,1.010,1.320,1.670,1.450,1.340,1.080,
+1.390,0.181,0.911,1.120,1.020,1.180,0.708,0.966,1.420,1.090,
+0.784,0.762,1.290,0.854,1.060,0.800,1.490,0.244,1.040,1.120,
+0.696,1.090,0.599,0.686,1.240,1.490,1.220,1.010,0.152,0.187,
+0.260,0.160,1.620,0.223,1.230,1.440,0.878,1.490,0.994,0.945,
+0.933,0.685,0.497,0.661,1.310,1.220,1.060,0.984,1.050,0.105,
+0.807,0.948,0.761,0.719,0.759,1.210,1.340,0.693,0.611,0.820,
+1.320,1.040,1.200,0.917,2.410,0.263,0.963,1.020,1.020,0.938,
+0.782,0.994,0.112,0.110,0.075,0.104,0.162,0.166,0.172,0.139,
+0.221,0.048,0.158,0.157,0.130,0.274,0.121,0.162,0.760,0.869,
+0.823,0.696,0.115,0.125,0.125,0.130,1.610,0.374,0.989,0.924,
+0.580,1.450,0.781,0.696,0.590,0.405,0.413,0.492,1.060,1.010,
+1.010,1.060,1.070,0.144,0.920,0.932,0.610,0.708,0.804,1.160,
+1.310,0.575,0.525,0.885,0.707,0.490,0.572,0.567,1.010,0.105,
+0.532,0.677,1.050,0.773,0.591,1.130,1.020,0.722,0.669,0.820,
+1.110,0.772,1.070,0.814,1.220,0.125,0.747,0.901,0.904,1.150,
+0.625,1.010,0.817,0.817,0.765,0.786,0.091,0.089,0.097,0.108,
+1.040,0.125,0.920,1.080,0.691,1.140,0.948,0.996,1.020,0.539,
+0.516,0.866,0.714,0.688,0.727,0.833,1.150,0.092,0.981,1.290,
+1.230,1.050,1.430,2.540,0.192,0.143,0.143,0.128,0.192,0.169,
+0.146,0.132,0.133,0.023,0.140,0.106,0.108,0.125,0.091,0.110,
+0.183,0.147,0.105,0.109,0.202,0.190,0.193,0.156,0.140,0.027,
+0.145,0.120,0.072,0.112,0.100,0.101,0.111,0.141,0.151,0.115,
+0.023,0.029,0.048,0.027,0.130,0.027,0.129,0.118,0.059,0.128,
+0.092,0.097,0.108,0.080,0.064,0.086,0.160,0.165,0.159,0.135,
+0.150,0.028,0.100,0.105,0.101,0.094,0.108,0.138,0.214,0.201,
+0.113,0.161,0.251,0.293,0.233,0.140,0.182,0.039,0.148,0.130,
+0.101,0.161,0.076,0.101,0.201,0.209,0.128,0.105,0.241,0.180,
+0.239,0.155,0.211,0.052,0.189,0.181,0.079,0.153,0.103,0.099,
+0.146,0.258,0.282,0.142,0.036,0.084,0.124,0.041,0.256,0.083,
+0.238,0.226,0.081,0.264,0.182,0.149,0.098,0.089,0.075,0.079,
+0.205,0.262,0.245,0.151,0.166,0.027,0.131,0.132,0.080,0.101,
+0.107,0.148,0.138,0.112,0.069,0.078,0.210,0.234,0.219,0.141,
+0.221,0.059,0.141,0.137,0.089,0.165,0.093,0.106,0.021,0.030,
+0.017,0.017,0.046,0.070,0.068,0.038,0.043,0.037,0.061,0.039,
+0.016,0.067,0.028,0.023,0.122,0.217,0.185,0.137,0.034,0.074,
+0.074,0.037,0.616,0.349,0.273,0.231,0.106,0.582,0.187,0.140,
+0.084,0.073,0.071,0.074,0.193,0.303,0.261,0.208,0.190,0.044,
+0.195,0.166,0.076,0.133,0.150,0.149,0.165,0.130,0.106,0.125,
+0.143,0.117,0.133,0.106,0.140,0.020,0.099,0.120,0.127,0.129,
+0.107,0.177,0.246,0.233,0.235,0.199,0.397,0.337,0.409,0.278,
+0.296,0.056,0.256,0.270,0.193,0.332,0.212,0.253,0.113,0.176,
+0.152,0.133,0.020,0.042,0.036,0.033,0.209,0.047,0.212,0.220,
+0.112,0.235,0.224,0.193,0.146,0.127,0.100,0.131,0.159,0.320,
+0.209,0.190,0.204,0.027,0.191,0.222,0.172,0.191,0.230,0.302,
+1.600,0.893,0.740,0.949,0.885,0.749,0.781,0.688,1.040,0.116,
+0.633,0.685,0.585,0.625,0.456,0.594,1.100,0.922,0.580,0.588,
+1.030,0.847,1.030,0.678,1.360,0.169,1.090,0.918,0.465,0.712,
+0.513,0.523,1.010,1.240,3.010,1.100,0.218,0.239,1.820,0.362,
+2.130,0.231,1.360,1.130,0.667,1.210,0.926,0.885,0.662,0.547,
+0.718,0.685,1.160,1.010,3.400,1.150,1.170,0.129,0.923,1.010,
+0.688,0.610,0.817,1.070,0.124,0.123,0.081,0.090,0.145,0.185,
+0.195,0.116,0.106,0.028,0.098,0.091,0.051,0.091,0.053,0.068,
+0.104,0.114,0.076,0.054,0.149,0.136,0.176,0.096,0.123,0.044,
+0.169,0.127,0.046,0.089,0.052,0.050,0.123,0.234,1.350,0.185,
+0.046,0.087,1.720,0.103,0.246,0.089,0.350,0.223,0.077,0.211,
+0.224,0.117,0.097,0.087,0.163,0.091,0.205,0.264,1.630,0.243,
+0.153,0.028,0.166,0.163,0.076,0.090,0.111,0.126,1.110,0.807,
+0.646,0.539,1.100,1.190,1.090,0.925,1.180,0.223,1.510,0.974,
+0.429,0.701,0.714,0.622,0.113,0.161,0.104,0.065,0.129,0.184,
+0.203,0.096,0.175,0.062,0.357,0.183,0.064,0.139,0.104,0.079,
+1.190,1.540,1.510,0.921,0.197,0.236,0.344,0.198,2.110,0.408,
+0.972,0.977,0.611,1.070,1.040,0.896,0.585,0.501,0.459,0.397,
+0.834,1.120,1.080,0.819,1.210,0.180,1.340,1.060,0.481,0.655,
+0.815,0.816,0.692,0.468,0.370,0.505,0.530,0.414,0.315,0.404,
+0.603,0.091,0.574,0.723,0.455,0.505,0.333,0.522,0.797,0.897,
+0.566,0.522,0.974,1.020,0.901,0.639,1.070,0.168,1.330,1.120,
+0.683,0.928,0.644,0.702,0.941,1.880,0.982,0.825,0.140,0.389,
+0.246,0.146,1.650,0.226,1.710,1.660,0.812,1.300,1.100,1.110,
+0.606,0.557,0.412,0.495,0.700,1.070,0.754,0.643,1.030,0.122,
+1.160,1.220,0.669,0.782,0.857,1.050,1.300,0.574,0.540,0.826,
+0.602,0.390,0.385,0.530,0.589,0.067,0.366,0.532,0.555,0.504,
+0.396,0.681,0.841,0.490,0.435,0.484,0.528,0.377,0.466,0.387,
+0.499,0.044,0.450,0.479,0.292,0.320,0.285,0.357,0.547,0.544,
+0.858,0.568,0.061,0.062,0.164,0.091,0.650,0.065,0.477,0.500,
+0.448,0.688,0.457,0.526,0.561,0.343,0.449,0.562,0.513,0.410,
+0.659,0.602,0.565,0.046,0.398,0.528,0.669,0.433,0.483,0.836,
+1.500,1.120,0.850,1.120,1.120,0.978,0.927,0.819,0.935,0.115,
+0.713,0.838,0.672,0.815,0.582,0.824,1.090,0.964,0.681,0.712,
+1.040,0.997,0.929,0.792,0.837,0.100,0.862,0.928,0.493,0.719,
+0.547,0.597,1.000,1.430,4.550,1.370,0.113,0.166,1.440,0.213,
+1.260,0.169,1.390,1.350,0.728,1.410,1.250,1.050,0.824,0.646,
+1.130,0.806,1.050,1.220,2.700,1.200,1.020,0.099,0.944,1.040,
+0.754,0.782,0.756,1.060,0.853,0.592,0.491,0.557,0.825,0.813,
+0.809,0.725,0.881,0.134,0.809,0.927,0.514,0.631,0.587,0.796,
+0.074,0.093,0.053,0.058,0.098,0.167,0.128,0.087,0.084,0.021,
+0.123,0.113,0.063,0.102,0.064,0.079,0.751,1.170,0.841,0.753,
+0.089,0.117,0.110,0.109,1.280,0.187,0.996,1.070,0.790,1.100,
+0.894,0.844,0.590,0.532,0.525,0.560,0.864,0.951,0.960,0.961,
+1.020,0.111,0.998,1.080,0.658,0.712,0.904,0.975,1.160,0.509,
+0.499,0.766,0.604,0.448,0.436,0.457,0.861,0.116,0.541,0.881,
+0.851,0.515,0.440,0.894,0.728,0.587,0.420,0.576,0.691,0.687,
+0.622,0.597,0.702,0.069,0.636,0.777,0.622,0.581,0.508,0.683,
+0.766,1.010,0.895,0.879,0.079,0.122,0.088,0.102,1.240,0.141,
+1.160,1.440,0.996,1.290,1.110,1.130,0.977,0.597,0.756,1.040,
+0.825,0.986,0.766,0.890,1.180,0.086,1.060,1.470,1.260,0.907,
+1.180,1.630,2.290,1.120,1.080,1.940,1.110,0.640,0.616,0.818,
+1.160,0.107,0.563,0.891,1.580,1.070,0.725,1.190,0.952,0.487,
+0.397,0.576,0.607,0.337,0.336,0.369,0.673,0.047,0.452,0.446,
+0.478,0.439,0.321,0.464,1.030,0.593,0.494,0.725,0.070,0.047,
+0.044,0.086,0.549,0.045,0.382,0.488,0.464,0.505,0.408,0.627,
+1.220,0.522,0.515,0.952,0.783,0.510,0.458,0.710,0.825,0.070,
+0.747,0.708,0.943,0.562,0.851,1.470,1.220,0.624,0.462,0.798,
+0.697,0.451,0.391,0.468,0.702,0.065,0.356,0.573,0.629,0.537,
+0.333,0.629,0.772,0.462,0.330,0.455,0.454,0.247,0.300,0.324,
+0.612,0.054,0.488,0.511,0.383,0.390,0.305,0.425,0.782,0.644,
+0.565,0.615,0.057,0.053,0.054,0.060,0.634,0.061,0.388,0.505,
+0.460,0.545,0.418,0.587,0.626,0.353,0.314,0.445,0.530,0.400,
+0.332,0.415,0.591,0.037,0.361,0.487,0.516,0.380,0.417,0.895,
+0.939,0.424,0.385,0.738,0.614,0.378,0.414,0.504,0.865,0.080,
+0.332,0.486,0.709,0.519,0.458,0.783,0.073,0.045,0.039,0.074,
+0.062,0.049,0.049,0.055,0.084,8.27e-3,0.044,0.064,0.086,0.095,
+0.052,0.092,0.457,0.396,0.425,0.515,0.043,0.040,0.042,0.061,
+0.576,0.076,0.347,0.449,0.379,0.561,0.421,0.489,0.476,0.255,
+0.366,0.454,0.545,0.444,0.548,0.641,0.539,0.048,0.426,0.545,
+0.482,0.409,0.545,0.837,1.290,0.533,0.509,1.000,0.549,0.331,
+0.400,0.475,0.889,0.077,0.410,0.618,1.360,0.849,0.610,1.250,
+0.949,0.474,0.510,0.730,0.672,0.407,0.482,0.516,0.912,0.061,
+0.490,0.640,0.805,0.706,0.501,0.857,0.869,0.788,0.705,0.757,
+0.059,0.064,0.051,0.063,0.682,0.054,0.460,0.633,0.634,0.664,
+0.579,0.787,1.080,0.549,0.553,0.969,0.683,0.770,0.595,0.762,
+0.986,0.063,0.678,1.070,1.400,0.995,1.180,2.220,1.840,1.050,
+0.943,1.390,1.180,0.830,0.744,0.808,0.936,0.099,0.565,0.764,
+0.940,0.852,0.609,0.964,1.260,0.799,0.580,0.787,0.984,0.800,
+0.674,0.656,0.828,0.089,0.709,0.719,0.523,0.602,0.543,0.718,
+0.821,0.806,0.756,0.833,0.080,0.098,0.087,0.100,0.745,0.093,
+0.651,0.732,0.511,0.787,0.592,0.773,0.777,0.491,0.437,0.684,
+0.797,0.834,0.575,0.733,0.998,0.155,0.677,0.709,0.754,0.748,
+0.830,1.090,1.540,0.979,0.605,1.210,1.120,0.925,0.679,0.661,
+0.759,0.100,0.499,0.632,0.701,0.733,0.408,0.717,1.090,0.845,
+0.538,0.617,0.888,0.574,0.625,0.562,0.780,0.100,0.615,0.701,
+0.452,0.621,0.473,0.573,0.884,1.000,0.826,0.743,0.111,0.151,
+0.123,0.093,0.976,0.140,0.698,0.877,0.568,1.140,0.763,0.855,
+0.631,0.479,0.375,0.515,0.828,0.998,0.580,0.671,0.721,0.068,
+0.473,0.641,0.543,0.535,0.518,0.899,1.090,0.681,0.421,0.682,
+0.933,0.729,0.689,0.706,0.889,0.135,0.470,0.611,0.608,0.762,
+0.482,0.794,0.066,0.077,0.049,0.070,0.098,0.102,0.086,0.082,
+0.083,0.029,0.071,0.080,0.068,0.153,0.064,0.076,0.714,0.868,
+0.674,0.727,0.080,0.116,0.085,0.094,1.560,0.447,0.682,0.825,
+0.599,1.650,0.721,0.782,0.648,0.449,0.399,0.575,0.847,1.060,
+0.849,1.120,0.991,0.110,0.696,0.884,0.599,0.647,0.856,1.020,
+1.090,0.654,0.640,0.876,0.651,0.450,0.494,0.527,0.674,0.068,
+0.473,0.579,0.786,0.592,0.520,1.020,1.110,0.872,0.888,0.916,
+1.090,0.778,0.944,0.826,0.905,0.099,0.799,0.873,0.771,0.982,
+0.762,1.010,0.682,0.744,0.688,0.819,0.071,0.119,0.079,0.092,
+0.769,0.092,0.713,0.890,0.661,0.897,0.866,1.010,0.853,0.654,
+0.595,0.815,0.923,1.780,1.210,1.080,1.100,0.109,0.791,1.070,
+1.090,0.940,1.080,1.600,1.400,0.818,0.565,0.913,0.745,0.605,
+0.446,0.556,1.150,0.121,0.575,0.754,0.886,0.911,0.534,0.729,
+1.090,0.971,0.514,0.706,0.801,0.651,0.524,0.510,1.140,0.129,
+0.715,0.799,0.633,0.943,0.552,0.675,0.965,1.230,0.926,0.937,
+0.125,0.157,0.207,0.157,1.400,0.138,0.812,0.963,0.675,1.050,
+0.690,0.945,0.806,0.594,0.424,0.735,0.797,0.787,0.726,0.697,
+1.160,0.109,0.803,1.050,0.846,0.655,0.963,1.400,0.101,0.087,
+0.046,0.077,0.095,0.111,0.063,0.071,0.099,0.018,0.075,0.078,
+0.070,0.123,0.060,0.076,0.084,0.085,0.045,0.057,0.084,0.100,
+0.069,0.059,0.092,0.019,0.094,0.081,0.055,0.103,0.058,0.059,
+0.092,0.126,0.162,0.085,0.015,0.034,0.076,0.019,0.152,0.029,
+0.125,0.131,0.094,0.152,0.095,0.100,0.106,0.081,0.059,0.092,
+0.119,0.167,0.161,0.121,0.128,0.017,0.105,0.132,0.091,0.084,
+0.097,0.143,0.930,0.642,0.475,0.556,0.774,0.803,0.690,0.647,
+0.925,0.171,0.794,0.696,0.589,0.890,1.080,0.835,0.081,0.091,
+0.047,0.052,0.074,0.096,0.070,0.053,0.106,0.026,0.121,0.088,
+0.081,0.141,0.098,0.079,0.815,1.110,0.812,0.774,0.096,0.138,
+0.117,0.101,1.410,0.192,0.887,0.950,0.650,1.150,0.865,0.876,
+0.728,0.583,0.463,0.516,0.854,1.080,0.814,0.801,1.090,0.128,
+1.390,1.100,0.633,0.769,1.020,1.040,0.987,0.471,0.381,0.661,
+0.541,0.442,0.317,0.455,0.674,0.079,0.525,0.677,0.751,0.685,
+0.555,0.792,1.030,0.862,0.673,0.706,0.879,0.809,0.625,0.615,
+1.160,0.114,0.940,1.020,1.130,1.120,0.794,0.941,2.500,1.430,
+0.930,1.030,0.179,0.242,0.099,0.101,1.580,0.141,1.150,1.330,
+2.410,1.460,1.200,1.470,1.060,0.624,0.597,0.757,1.060,1.270,
+0.792,0.790,1.260,0.103,1.200,1.300,1.290,1.100,1.150,1.540,
+2.280,0.766,0.775,1.250,0.787,0.430,0.402,0.724,0.874,0.085,
+0.456,0.798,0.942,0.712,0.557,1.080,0.998,0.522,0.401,0.538,
+0.619,0.350,0.342,0.426,0.679,0.056,0.414,0.548,0.470,0.450,
+0.374,0.547,0.736,0.623,0.532,0.792,0.063,0.059,0.052,0.090,
+0.678,0.063,0.420,0.596,0.592,0.884,0.465,0.821,1.070,0.529,
+0.543,1.040,0.712,0.487,0.478,0.766,0.924,0.070,0.811,0.995,
+1.240,0.758,0.959,1.850,1.080,0.613,0.444,0.758,0.650,0.520,
+0.346,0.507,0.655,0.066,0.380,0.607,0.591,0.581,0.499,0.788,
+0.716,0.473,0.304,0.468,0.473,0.299,0.282,0.402,0.534,0.058,
+0.535,0.635,0.406,0.526,0.529,0.585,0.714,0.708,1.250,0.791,
+0.050,0.064,0.123,0.070,0.795,0.084,0.623,0.836,0.607,0.901,
+0.690,0.984,0.868,0.528,0.605,0.850,0.764,0.643,0.560,0.809,
+0.777,0.064,0.602,0.899,0.731,0.664,0.706,1.270,1.170,0.650,
+0.613,0.780,0.894,0.776,0.679,0.880,1.200,0.137,0.656,0.918,
+0.909,0.972,1.050,1.540,0.083,0.080,0.061,0.095,0.073,0.078,
+0.060,0.070,0.092,0.013,0.080,0.081,0.090,0.109,0.101,0.120,
+0.887,0.955,0.762,0.956,0.080,0.078,0.065,0.097,1.170,0.125,
+0.839,1.030,0.825,1.160,0.936,1.180,1.200,0.732,0.861,0.893,
+1.290,1.010,0.999,1.210,1.280,0.122,1.560,1.480,1.010,0.958,
+1.270,1.650,2.200,0.787,0.771,1.390,0.876,0.580,0.517,0.720,
+1.510,0.111,0.673,1.160,1.890,1.060,0.983,2.300,1.260,0.782,
+0.677,0.935,1.010,0.800,0.638,0.851,1.130,0.079,0.762,1.120,
+1.320,1.010,0.912,1.520,1.470,1.250,1.310,1.510,0.094,0.086,
+0.072,0.117,1.580,0.114,1.340,1.920,1.710,1.620,1.650,2.170,
+2.680,1.240,2.360,2.840,1.510,1.200,1.300,1.640,2.030,0.111,
+1.800,2.610,2.780,1.560,2.150,3.080,0.223,0.138,0.103,0.148,
+0.162,0.111,0.109,0.099,0.154,0.022,0.094,0.113,0.149,0.142,
+0.088,0.112,0.188,0.131,0.087,0.088,0.133,0.090,0.094,0.082,
+0.157,0.022,0.110,0.101,0.087,0.105,0.083,0.084,0.120,0.113,
+0.090,0.093,0.014,0.017,0.019,0.018,0.119,0.018,0.092,0.103,
+0.077,0.105,0.094,0.096,0.143,0.078,0.074,0.118,0.121,0.100,
+0.092,0.124,0.148,0.046,0.094,0.108,0.097,0.108,0.098,0.116,
+0.182,0.148,0.088,0.113,0.146,0.137,0.111,0.097,0.127,0.025,
+0.094,0.099,0.074,0.103,0.061,0.084,0.162,0.138,0.082,0.084,
+0.115,0.096,0.106,0.070,0.131,0.037,0.140,0.125,0.058,0.097,
+0.080,0.071,0.102,0.162,0.083,0.079,0.018,0.051,0.028,0.016,
+0.133,0.043,0.136,0.132,0.060,0.149,0.093,0.085,0.079,0.066,
+0.053,0.071,0.104,0.132,0.131,0.100,0.133,0.022,0.113,0.116,
+0.080,0.094,0.090,0.112,0.095,0.062,0.051,0.064,0.092,0.069,
+0.074,0.058,0.116,0.024,0.071,0.086,0.057,0.069,0.059,0.074,
+0.013,0.014,8.11e-3,8.61e-3,0.013,0.016,0.013,0.011,0.019,0.011,
+0.018,0.017,8.52e-3,0.026,0.015,0.014,0.061,0.058,0.052,0.055,
+0.011,0.013,0.015,0.011,0.092,0.026,0.086,0.071,0.052,0.071,
+0.068,0.048,0.057,0.039,0.032,0.043,0.067,0.064,0.062,0.070,
+0.079,0.015,0.089,0.079,0.055,0.060,0.071,0.079,0.138,0.063,
+0.056,0.088,0.080,0.046,0.093,0.055,0.086,0.010,0.053,0.075,
+0.084,0.064,0.072,0.117,0.121,0.088,0.069,0.063,0.109,0.071,
+0.071,0.054,0.099,0.016,0.086,0.098,0.069,0.103,0.077,0.095,
+0.072,0.081,0.064,0.070,0.014,0.011,0.011,9.53e-3,0.126,0.018,
+0.084,0.089,0.072,0.086,0.085,0.076,0.084,0.056,0.050,0.079,
+0.070,0.056,0.055,0.072,0.113,0.013,0.097,0.169,0.095,0.086,
+0.105,0.142,0.194,0.192,0.126,0.140,0.167,0.185,0.173,0.116,
+0.147,0.035,0.097,0.111,0.090,0.134,0.081,0.099,0.174,0.225,
+0.109,0.096,0.174,0.180,0.179,0.122,0.178,0.069,0.179,0.147,
+0.063,0.137,0.088,0.084,0.098,0.190,0.109,0.085,0.024,0.084,
+0.031,0.022,0.167,0.064,0.162,0.117,0.080,0.287,0.127,0.098,
+0.100,0.143,0.053,0.067,0.143,0.317,0.103,0.095,0.533,0.440,
+0.148,0.149,0.137,0.460,0.099,0.129,0.207,0.244,0.113,0.134,
+0.214,0.387,0.215,0.144,0.164,0.056,0.127,0.125,0.072,0.137,
+0.067,0.082,0.185,0.249,0.123,0.091,0.188,0.169,0.207,0.110,
+0.202,0.086,0.197,0.195,0.060,0.178,0.120,0.083,0.143,0.536,
+0.138,0.112,0.059,0.360,0.074,0.036,0.241,0.131,0.244,0.253,
+0.098,0.489,0.203,0.157,0.078,0.113,0.054,0.059,0.165,0.473,
+0.137,0.101,0.207,0.068,0.129,0.123,0.070,0.168,0.091,0.115,
+0.105,0.108,0.059,0.063,0.141,0.159,0.186,0.089,0.144,0.051,
+0.111,0.125,0.054,0.176,0.077,0.075,0.018,0.051,0.015,0.013,
+0.034,0.067,0.052,0.020,0.049,0.063,0.064,0.044,0.012,0.102,
+0.023,0.014,0.088,0.165,0.113,0.078,0.033,0.076,0.064,0.024,
+0.181,0.090,0.195,0.177,0.053,0.201,0.181,0.111,0.064,0.052,
+0.069,0.047,0.124,0.196,0.161,0.119,0.133,0.040,0.152,0.147,
+0.045,0.097,0.102,0.087,0.087,0.065,0.078,0.065,0.084,0.079,
+0.466,0.081,0.070,0.014,0.074,0.063,0.052,0.073,0.063,0.064,
+0.116,0.163,0.095,0.074,0.129,0.145,0.136,0.078,0.120,0.060,
+0.129,0.124,0.060,0.233,0.096,0.089,0.069,0.126,0.105,0.084,
+0.012,0.033,0.027,0.013,0.122,0.033,0.164,0.143,0.062,0.139,
+0.149,0.111,0.073,0.062,0.058,0.059,0.076,0.101,0.074,0.071,
+0.138,0.032,0.126,0.150,0.088,0.128,0.134,0.146,0.102,0.083,
+0.055,0.071,0.065,0.071,0.057,0.048,0.074,0.013,0.053,0.052,
+0.053,0.063,0.033,0.050,0.100,0.133,0.078,0.064,0.095,0.092,
+0.091,0.064,0.122,0.030,0.120,0.110,0.042,0.092,0.056,0.057,
+0.062,0.115,0.097,0.082,0.015,0.032,0.021,0.022,0.095,0.026,
+0.099,0.105,0.043,0.105,0.066,0.091,0.053,0.050,0.037,0.050,
+0.075,0.132,0.062,0.067,0.104,0.031,0.071,0.082,0.059,0.072,
+0.071,0.104,0.012,0.015,9.36e-3,0.011,0.019,0.030,0.025,0.013,
+0.016,8.77e-3,0.016,0.014,6.85e-3,0.016,7.27e-3,8.36e-3,0.018,0.029,
+0.018,0.011,0.027,0.040,0.037,0.017,0.028,0.024,0.037,0.032,
+8.02e-3,0.023,0.013,9.53e-3,9.53e-3,0.035,0.016,0.012,5.85e-3,0.028,
+0.020,7.19e-3,0.033,0.026,0.047,0.029,0.010,0.038,0.023,0.018,
+8.69e-3,0.011,7.44e-3,0.012,0.024,0.052,0.027,0.022,0.022,9.02e-3,
+0.023,0.023,0.010,0.014,0.013,0.019,0.068,0.064,0.045,0.054,
+0.072,0.081,0.085,0.051,0.107,0.028,0.086,0.066,0.036,0.066,
+0.051,0.045,0.012,0.024,0.015,8.86e-3,0.014,0.028,0.024,9.36e-3,
+0.023,0.018,0.035,0.020,8.86e-3,0.024,0.015,8.36e-3,0.074,0.122,
+0.085,0.059,0.022,0.042,0.040,0.019,0.182,0.071,0.152,0.149,
+0.048,0.136,0.105,0.075,0.053,0.044,0.036,0.038,0.078,0.111,
+0.092,0.070,0.149,0.040,0.133,0.121,0.052,0.089,0.080,0.074,
+0.058,0.038,0.034,0.105,0.049,0.033,0.038,0.027,0.051,9.61e-3,
+0.034,0.046,0.040,0.041,0.023,0.042,0.079,0.083,0.067,0.056,
+0.083,0.091,0.075,0.053,0.112,0.027,0.101,0.091,0.059,0.099,
+0.064,0.057,0.093,0.097,0.076,0.058,0.012,0.029,0.022,0.011,
+0.140,0.036,0.131,0.123,0.083,0.126,0.093,0.084,0.059,0.042,
+0.043,0.045,0.063,0.078,0.061,0.054,0.121,0.019,0.118,0.118,
+0.074,0.088,0.083,0.104,0.111,0.070,0.061,0.084,0.054,0.045,
+0.040,0.039,0.067,9.69e-3,0.031,0.049,0.069,0.061,0.047,0.072,
+0.073,0.047,0.030,0.041,0.052,0.033,0.031,0.043,0.051,6.85e-3,
+0.037,0.044,0.034,0.041,0.033,0.039,0.047,0.054,0.040,0.060,
+6.43e-3,8.52e-3,5.77e-3,9.78e-3,0.064,9.28e-3,0.035,0.048,0.034,0.052,
+0.041,0.054,0.062,0.033,0.033,0.066,0.057,0.060,0.032,0.054,
+0.072,0.022,0.047,0.056,0.066,0.068,0.066,0.112,0.109,0.086,
+0.050,0.075,0.099,0.104,0.072,0.062,0.106,0.016,0.063,0.077,
+0.059,0.085,0.050,0.061,0.105,0.094,0.054,0.066,0.095,0.096,
+0.076,0.065,0.100,0.024,0.088,0.103,0.046,0.092,0.050,0.062,
+0.062,0.091,0.051,0.058,0.014,0.026,0.014,0.010,0.095,0.023,
+0.091,0.091,0.050,0.125,0.071,0.080,0.064,0.042,0.032,0.047,
+0.084,0.104,0.062,0.078,0.085,0.013,0.078,0.086,0.066,0.075,
+0.069,0.099,0.054,0.045,0.032,0.047,0.056,0.046,0.053,0.048,
+0.077,0.024,0.062,0.063,0.042,0.062,0.048,0.059,5.93e-3,6.85e-3,
+5.60e-3,9.19e-3,8.36e-3,0.010,0.010,6.52e-3,8.77e-3,6.60e-3,0.021,0.014,
+6.02e-3,0.016,7.69e-3,7.85e-3,0.042,0.059,0.047,0.048,8.52e-3,0.014,
+0.015,9.19e-3,0.079,0.020,0.068,0.084,0.041,0.075,0.070,0.061,
+0.041,0.035,0.028,0.036,0.064,0.057,0.063,0.059,0.093,0.021,
+0.073,0.099,0.049,0.072,0.066,0.082,0.101,0.045,0.040,0.065,
+0.056,0.035,0.039,0.032,0.058,6.35e-3,0.037,0.054,0.062,0.051,
+0.045,0.089,0.051,0.035,0.028,0.040,0.047,0.036,0.049,0.049,
+0.055,7.10e-3,0.052,0.068,0.044,0.053,0.045,0.065,0.079,0.080,
+0.060,0.072,0.016,0.011,7.27e-3,8.36e-3,0.101,0.017,0.076,0.104,
+0.074,0.097,0.100,0.111,0.100,0.052,0.056,0.094,0.083,0.074,
+0.063,0.081,0.129,0.012,0.111,0.148,0.145,0.120,0.166,0.208,
+0.162,0.134,0.105,0.125,0.140,0.136,0.106,0.088,0.127,0.031,
+0.095,0.110,0.116,0.122,0.081,0.088,0.158,0.148,0.097,0.089,
+0.177,0.138,0.137,0.091,0.149,0.050,0.161,0.154,0.071,0.141,
+0.104,0.100,0.083,0.100,0.079,0.074,0.012,0.021,0.022,0.016,
+0.079,0.026,0.087,0.082,0.056,0.092,0.081,0.106,0.070,0.062,
+0.044,0.075,0.086,0.085,0.081,0.081,0.074,0.016,0.076,0.091,
+0.070,0.059,0.075,0.103,0.157,0.174,0.091,0.134,0.162,0.221,
+0.138,0.092,0.126,0.038,0.116,0.113,0.060,0.118,0.071,0.070,
+0.156,0.220,0.110,0.113,0.174,0.182,0.146,0.105,0.159,0.080,
+0.194,0.206,0.057,0.154,0.109,0.083,0.092,0.210,0.097,0.071,
+0.028,0.075,0.064,0.025,0.176,0.112,0.229,0.179,0.054,0.215,
+0.144,0.098,0.051,0.077,0.044,0.043,0.094,0.128,0.155,0.077,
+0.095,0.031,0.117,0.117,0.054,0.080,0.115,0.124,0.075,0.074,
+0.041,0.049,0.093,0.111,0.087,0.062,0.183,0.051,0.090,0.087,
+0.051,0.145,0.058,0.065,0.011,0.028,0.014,0.011,0.021,0.078,
+0.028,0.015,0.041,0.042,0.049,0.032,0.013,0.099,0.019,0.016,
+0.049,0.087,0.069,0.041,0.017,0.031,0.028,0.012,0.095,0.043,
+0.126,0.097,0.037,0.096,0.081,0.052,0.039,0.035,0.028,0.031,
+0.059,0.086,0.074,0.060,0.086,0.027,0.108,0.098,0.039,0.071,
+0.078,0.077,0.070,0.040,0.034,0.082,0.044,0.036,0.030,0.034,
+0.057,9.61e-3,0.038,0.047,0.051,0.064,0.037,0.080,0.079,0.085,
+0.055,0.059,0.089,0.108,0.076,0.065,0.097,0.035,0.086,0.091,
+0.052,0.169,0.064,0.075,0.043,0.057,0.060,0.057,6.94e-3,0.012,
+0.015,0.010,0.065,0.024,0.089,0.078,0.030,0.082,0.076,0.060,
+0.047,0.039,0.031,0.044,0.039,0.051,0.039,0.043,0.082,0.016,
+0.082,0.085,0.057,0.072,0.082,0.100,0.163,0.194,0.132,0.124,
+0.203,0.279,0.236,0.150,0.137,0.047,0.118,0.123,0.082,0.148,
+0.081,0.096,0.197,0.261,0.157,0.119,0.280,0.333,0.420,0.218,
+0.218,0.119,0.268,0.225,0.069,0.226,0.107,0.115,0.098,0.192,
+0.137,0.084,0.025,0.059,0.064,0.028,0.139,0.059,0.196,0.142,
+0.132,0.163,0.125,0.097,0.065,0.058,0.057,0.055,0.108,0.163,
+0.116,0.087,0.099,0.044,0.108,0.091,0.182,0.095,0.094,0.103,
+0.176,0.260,0.107,0.099,0.223,0.451,0.221,0.117,0.173,0.073,
+0.172,0.163,0.061,0.170,0.079,0.083,0.157,0.253,0.117,0.090,
+0.125,0.104,0.161,0.093,0.194,0.178,0.208,0.222,0.064,0.262,
+0.123,0.103,0.118,0.315,0.133,0.104,0.050,0.204,0.113,0.043,
+0.229,0.179,0.262,0.386,0.078,0.429,0.223,0.156,0.056,0.080,
+0.056,0.045,0.135,0.278,0.128,0.103,0.135,0.056,0.163,0.154,
+0.060,0.128,0.105,0.116,0.101,0.146,0.080,0.071,0.218,0.333,
+0.240,0.138,0.354,0.233,0.191,0.186,0.145,0.798,0.125,0.124,
+0.023,0.108,0.034,0.019,0.069,0.211,0.129,0.042,0.201,0.276,
+0.144,0.094,0.074,0.648,0.068,0.044,0.106,0.258,0.159,0.102,
+0.055,0.183,0.126,0.041,0.220,0.145,0.262,0.227,0.075,0.366,
+0.245,0.144,0.088,0.064,0.050,0.049,0.151,0.345,0.254,0.161,
+0.191,0.078,0.240,0.195,0.074,0.208,0.138,0.118,0.058,0.066,
+0.047,0.094,0.074,0.081,0.071,0.042,0.093,0.032,0.071,0.066,
+0.067,0.161,0.046,0.066,0.094,0.176,0.098,0.093,0.148,0.261,
+0.148,0.103,0.267,0.183,0.166,0.161,0.105,0.654,0.107,0.102,
+0.053,0.124,0.101,0.071,0.014,0.046,0.032,0.017,0.103,0.051,
+0.212,0.151,0.049,0.157,0.152,0.088,0.050,0.049,0.040,0.052,
+0.058,0.107,0.063,0.067,0.202,0.033,0.138,0.129,0.069,0.122,
+0.125,0.116,0.108,0.101,0.072,0.095,0.090,0.111,0.072,0.071,
+0.085,0.021,0.069,0.070,0.055,0.074,0.048,0.070,0.136,0.203,
+0.081,0.118,0.187,0.221,0.169,0.130,0.186,0.075,0.262,0.195,
+0.056,0.137,0.080,0.077,0.076,0.192,0.116,0.111,0.021,0.062,
+0.034,0.034,0.123,0.056,0.143,0.145,0.051,0.154,0.094,0.162,
+0.051,0.056,0.035,0.054,0.089,0.190,0.077,0.081,0.089,0.023,
+0.106,0.117,0.057,0.071,0.073,0.110,0.017,0.029,0.014,0.020,
+0.040,0.078,0.045,0.024,0.026,0.017,0.030,0.024,9.53e-3,0.024,
+0.013,0.014,0.029,0.070,0.025,0.035,0.073,0.146,0.099,0.043,
+0.054,0.112,0.112,0.077,0.014,0.051,0.029,0.021,0.019,0.081,
+0.032,0.020,0.021,0.108,0.062,0.019,0.061,0.094,0.121,0.078,
+0.013,0.090,0.056,0.031,9.53e-3,0.020,6.60e-3,9.69e-3,0.036,0.128,
+0.036,0.032,0.025,0.021,0.055,0.044,8.86e-3,0.020,0.022,0.024,
+0.323,0.311,0.219,0.283,0.293,0.362,0.335,0.214,0.280,0.088,
+0.253,0.209,0.137,0.225,0.133,0.143,0.084,0.135,0.086,0.067,
+0.090,0.176,0.162,0.071,0.103,0.099,0.200,0.096,0.035,0.107,
+0.050,0.033,0.224,0.400,0.235,0.227,0.072,0.166,0.118,0.052,
+0.403,0.200,0.304,0.343,0.140,0.362,0.236,0.186,0.257,0.189,
+0.155,0.283,0.285,0.413,0.274,0.309,0.411,0.114,0.419,0.398,
+0.181,0.233,0.203,0.234,0.088,0.076,0.078,0.585,0.057,0.049,
+0.045,0.074,0.074,0.018,0.062,0.162,0.044,0.057,0.039,0.107,
+0.126,0.189,0.112,0.152,0.183,0.239,0.190,0.134,0.221,0.089,
+0.257,0.251,0.080,0.220,0.111,0.107,0.085,0.182,0.119,0.108,
+0.019,0.066,0.043,0.021,0.203,0.106,0.271,0.230,0.079,0.244,
+0.153,0.126,0.054,0.053,0.039,0.070,0.072,0.111,0.078,0.073,
+0.156,0.035,0.205,0.179,0.072,0.137,0.123,0.137,0.070,0.055,
+0.045,0.060,0.058,0.045,0.035,0.049,0.075,9.86e-3,0.044,0.052,
+0.049,0.055,0.091,0.070,0.060,0.059,0.033,0.041,0.058,0.050,
+0.039,0.045,0.055,0.014,0.051,0.060,0.032,0.055,0.060,0.043,
+0.039,0.060,0.039,0.042,5.35e-3,0.010,5.60e-3,0.010,0.062,0.015,
+0.044,0.066,0.030,0.057,0.038,0.051,0.041,0.028,0.025,0.036,
+0.044,0.052,0.024,0.048,0.048,8.69e-3,0.039,0.057,0.045,0.038,
+0.045,0.091,0.097,0.091,0.044,0.069,0.105,0.140,0.085,0.093,
+0.095,0.023,0.084,0.090,0.048,0.082,0.051,0.072,0.104,0.124,
+0.058,0.090,0.154,0.168,0.120,0.102,0.114,0.043,0.131,0.170,
+0.047,0.119,0.072,0.076,0.058,0.141,0.070,0.063,0.013,0.054,
+0.027,0.019,0.107,0.044,0.135,0.138,0.048,0.164,0.090,0.092,
+0.040,0.047,0.029,0.039,0.094,0.192,0.082,0.102,0.077,0.020,
+0.103,0.109,0.045,0.079,0.074,0.090,0.053,0.052,0.040,0.042,
+0.077,0.080,0.073,0.062,0.083,0.029,0.073,0.079,0.046,0.086,
+0.057,0.063,7.77e-3,0.012,8.02e-3,7.44e-3,0.013,0.027,0.020,0.012,
+0.018,0.017,0.025,0.018,7.69e-3,0.041,0.011,8.11e-3,0.046,0.091,
+0.057,0.059,0.012,0.026,0.022,0.018,0.102,0.048,0.123,0.123,
+0.039,0.120,0.089,0.080,0.039,0.039,0.034,0.043,0.071,0.084,
+0.075,0.087,0.141,0.051,0.131,0.164,0.052,0.102,0.072,0.075,
+0.060,0.037,0.031,0.084,0.047,0.039,0.028,0.030,0.048,7.44e-3,
+0.042,0.053,0.039,0.040,0.035,0.060,0.046,0.054,0.030,0.040,
+0.053,0.060,0.043,0.047,0.063,0.017,0.055,0.074,0.040,0.077,
+0.048,0.060,0.058,0.068,0.051,0.056,7.85e-3,0.012,8.36e-3,9.61e-3,
+0.092,0.024,0.104,0.127,0.049,0.107,0.092,0.088,0.053,0.042,
+0.043,0.060,0.059,0.077,0.056,0.070,0.090,0.013,0.122,0.128,
+0.091,0.098,0.129,0.127,0.149,0.105,0.097,0.105,0.116,0.098,
+0.104,0.088,0.098,0.017,0.083,0.105,0.082,0.090,0.058,0.073,
+0.084,0.082,0.059,0.055,0.094,0.081,0.089,0.066,0.091,0.030,
+0.090,0.099,0.050,0.073,0.063,0.059,0.080,0.083,0.075,0.074,
+0.013,0.012,0.018,0.020,0.072,0.020,0.099,0.293,0.035,0.068,
+0.066,0.085,0.085,0.045,0.038,0.048,0.072,0.063,0.061,0.064,
+0.059,0.011,0.064,0.076,0.085,0.041,0.059,0.076,0.147,0.142,
+0.100,0.094,0.172,0.204,0.206,0.111,0.132,0.037,0.153,0.098,
+0.071,0.118,0.071,0.070,0.159,0.202,0.113,0.090,0.195,0.162,
+0.216,0.133,0.172,0.068,0.201,0.201,0.070,0.174,0.102,0.086,
+0.109,0.237,0.157,0.113,0.035,0.082,0.083,0.042,0.222,0.108,
+0.308,0.360,0.072,0.240,0.199,0.136,0.064,0.059,0.043,0.047,
+0.130,0.157,0.133,0.114,0.106,0.026,0.123,0.116,0.062,0.075,
+0.090,0.101,0.081,0.064,0.056,0.061,0.121,0.143,0.175,0.085,
+0.172,0.049,0.119,0.092,0.059,0.113,0.074,0.078,0.012,0.019,
+0.013,0.012,0.026,0.039,0.043,0.025,0.039,0.023,0.045,0.036,
+0.015,0.047,0.025,0.027,0.069,0.121,0.113,0.085,0.021,0.040,
+0.051,0.031,0.355,0.254,0.213,0.150,0.055,0.387,0.118,0.082,
+0.041,0.038,0.038,0.037,0.085,0.112,0.126,0.103,0.106,0.034,
+0.269,0.110,0.050,0.077,0.095,0.130,0.078,0.041,0.040,0.053,
+0.044,0.044,0.053,0.042,0.060,0.011,0.044,0.047,0.067,0.064,
+0.043,0.080,0.071,0.071,0.063,0.071,0.089,0.091,0.115,0.076,
+0.120,0.028,0.089,0.101,0.070,0.123,0.076,0.165,0.068,0.086,
+0.083,0.075,0.012,0.019,0.025,0.018,0.105,0.033,0.141,0.134,
+0.053,0.135,0.160,0.099,0.057,0.042,0.042,0.056,0.052,0.060,
+0.069,0.076,0.093,0.014,0.129,0.120,0.079,0.094,0.123,0.161,
+0.013,0.018,0.014,9.53e-3,0.020,0.032,0.027,0.015,0.019,9.28e-3,
+0.020,0.013,6.60e-3,0.015,0.010,8.27e-3,0.026,0.033,0.022,0.012,
+0.039,0.060,0.064,0.027,0.029,0.028,0.051,0.032,9.78e-3,0.026,
+0.020,0.017,9.61e-3,0.024,0.019,8.94e-3,8.11e-3,0.019,0.021,7.77e-3,
+0.021,0.020,0.051,0.032,8.11e-3,0.027,0.021,0.015,8.11e-3,8.19e-3,
+6.27e-3,6.52e-3,0.019,0.035,0.031,0.016,0.021,0.015,0.023,0.016,
+0.014,0.020,0.013,0.013,0.026,0.042,0.022,0.015,0.047,0.090,
+0.084,0.031,0.032,0.023,0.056,0.024,9.53e-3,0.026,0.020,0.014,
+0.046,0.091,0.049,0.022,0.096,0.102,0.143,0.053,0.059,0.088,
+0.104,0.070,0.016,0.059,0.042,0.028,0.020,0.076,0.043,0.023,
+0.030,0.134,0.100,0.028,0.078,0.117,0.138,0.083,0.014,0.101,
+0.083,0.039,0.012,0.015,0.010,8.11e-3,0.038,0.074,0.057,0.033,
+0.027,0.020,0.043,0.028,0.010,0.021,0.022,0.019,0.013,0.017,
+0.012,7.35e-3,0.038,0.071,0.073,0.029,0.036,0.028,0.048,0.029,
+8.19e-3,0.037,0.019,0.012,7.77e-3,0.024,0.013,6.27e-3,0.032,0.084,
+0.084,0.021,0.044,0.061,0.087,0.042,5.43e-3,0.035,0.024,9.02e-3,
+0.021,0.079,0.057,0.037,0.027,0.092,0.116,0.030,0.338,0.592,
+0.165,0.089,0.023,0.366,0.078,0.038,0.010,0.014,0.010,7.60e-3,
+0.036,0.077,0.085,0.043,0.049,0.047,0.090,0.048,9.44e-3,0.031,
+0.035,0.027,8.27e-3,0.010,7.77e-3,8.11e-3,0.012,0.017,0.021,0.011,
+0.012,4.18e-3,0.013,0.010,6.94e-3,9.61e-3,8.36e-3,0.010,0.021,0.029,
+0.024,0.019,0.045,0.070,0.062,0.037,0.039,0.029,0.046,0.039,
+0.015,0.056,0.036,0.029,9.28e-3,0.027,0.026,0.016,4.85e-3,0.022,
+0.022,0.010,0.045,0.041,0.078,0.057,0.014,0.057,0.067,0.026,
+8.94e-3,0.013,8.94e-3,8.94e-3,0.012,0.029,0.029,0.017,0.022,8.94e-3,
+0.038,0.027,0.014,0.023,0.029,0.021,0.133,0.098,0.071,0.077,
+0.091,0.112,0.111,0.072,0.096,0.021,0.093,0.071,0.047,0.068,
+0.047,0.044,0.098,0.136,0.082,0.063,0.143,0.166,0.195,0.109,
+0.179,0.066,0.247,0.158,0.047,0.108,0.093,0.062,0.082,0.152,
+0.187,0.097,0.029,0.051,0.095,0.046,0.259,0.091,0.280,0.183,
+0.065,0.190,0.130,0.091,0.057,0.049,0.047,0.055,0.182,0.135,
+0.183,0.128,0.114,0.026,0.142,0.160,0.065,0.105,0.084,0.108,
+0.018,0.028,0.015,0.011,0.037,0.076,0.071,0.031,0.026,0.018,
+0.043,0.024,7.85e-3,0.019,0.012,0.012,0.027,0.052,0.031,0.017,
+0.069,0.099,0.110,0.042,0.050,0.062,0.128,0.069,0.011,0.038,
+0.028,0.018,0.023,0.091,0.072,0.026,0.026,0.106,0.121,0.032,
+0.128,0.318,0.228,0.139,0.019,0.114,0.082,0.041,0.010,0.014,
+0.011,9.44e-3,0.036,0.069,0.067,0.039,0.029,0.026,0.060,0.039,
+0.012,0.021,0.022,0.021,0.124,0.128,0.078,0.049,0.144,0.248,
+0.265,0.122,0.172,0.067,0.347,0.147,0.041,0.106,0.122,0.070,
+0.024,0.065,0.035,0.014,0.054,0.118,0.183,0.034,0.071,0.087,
+0.273,0.072,0.014,0.044,0.049,0.018,0.140,0.278,0.284,0.149,
+0.064,0.145,0.247,0.092,0.426,0.248,0.434,0.308,0.086,0.249,
+0.287,0.165,0.051,0.058,0.053,0.043,0.122,0.233,0.260,0.143,
+0.170,0.072,0.326,0.191,0.060,0.111,0.142,0.103,0.064,0.053,
+0.035,0.062,0.055,0.068,0.048,0.044,0.064,0.016,0.083,0.064,
+0.051,0.057,0.042,0.045,0.087,0.166,0.084,0.062,0.151,0.232,
+0.241,0.111,0.187,0.070,0.343,0.188,0.122,0.167,0.131,0.089,
+0.168,0.401,0.158,0.104,0.041,0.217,0.082,0.040,0.258,0.117,
+0.481,0.386,0.127,0.253,0.214,0.157,0.057,0.082,0.048,0.051,
+0.086,0.259,0.118,0.085,0.134,0.037,0.242,0.194,0.084,0.134,
+0.137,0.137,0.083,0.059,0.047,0.061,0.060,0.052,0.055,0.053,
+0.058,7.60e-3,0.042,0.050,0.042,0.050,0.038,0.110,0.060,0.055,
+0.044,0.038,0.055,0.056,0.052,0.042,0.064,0.012,0.060,0.050,
+0.031,0.042,0.036,0.036,0.050,0.058,0.065,0.050,0.010,0.012,
+0.015,0.013,0.065,0.017,0.068,0.068,0.042,0.075,0.085,0.074,
+0.044,0.031,0.032,0.047,0.058,0.047,0.053,0.059,0.048,8.11e-3,
+0.042,0.055,0.053,0.045,0.051,0.076,0.110,0.110,0.082,0.086,
+0.124,0.146,0.154,0.099,0.096,0.024,0.118,0.092,0.054,0.095,
+0.058,0.077,0.115,0.165,0.095,0.085,0.174,0.194,0.190,0.126,
+0.130,0.048,0.186,0.173,0.058,0.142,0.095,0.079,0.088,0.223,
+0.285,0.117,0.025,0.076,0.083,0.035,0.185,0.098,0.265,0.248,
+0.075,0.287,0.217,0.148,0.070,0.068,0.071,0.066,0.116,0.171,
+0.182,0.147,0.114,0.031,0.143,0.143,0.058,0.085,0.091,0.100,
+0.075,0.065,0.044,0.045,0.104,0.129,0.158,0.080,0.098,0.029,
+0.134,0.116,0.042,0.074,0.072,0.073,0.013,0.018,0.011,8.69e-3,
+0.023,0.046,0.054,0.020,0.024,0.023,0.053,0.038,8.52e-3,0.019,
+0.016,0.011,0.086,0.176,0.124,0.103,0.039,0.063,0.064,0.031,
+0.188,0.101,0.241,0.192,0.068,0.191,0.186,0.125,0.051,0.056,
+0.048,0.048,0.109,0.154,0.175,0.142,0.121,0.033,0.172,0.138,
+0.053,0.084,0.116,0.096,0.062,0.045,0.037,0.049,0.047,0.049,
+0.045,0.038,0.061,0.010,0.053,0.058,0.051,0.047,0.043,0.065,
+0.063,0.072,0.051,0.049,0.068,0.084,0.103,0.084,0.070,0.017,
+0.092,0.097,0.052,0.073,0.064,0.074,0.074,0.133,0.098,0.091,
+0.015,0.036,0.021,0.018,0.140,0.041,0.208,0.230,0.076,0.158,
+0.184,0.136,0.075,0.059,0.057,0.082,0.089,0.119,0.094,0.113,
+0.111,0.018,0.158,0.173,0.093,0.095,0.131,0.145,0.149,0.095,
+0.098,0.159,0.106,0.073,0.064,0.082,0.102,0.012,0.058,0.084,
+0.117,0.103,0.066,0.090,0.125,0.091,0.065,0.085,0.090,0.055,
+0.053,0.053,0.076,0.010,0.057,0.059,0.092,0.107,0.087,0.102,
+0.128,0.094,0.079,0.091,0.010,8.52e-3,7.44e-3,0.013,0.065,9.11e-3,
+0.051,0.087,0.068,0.079,0.072,0.087,0.106,0.058,0.063,0.085,
+0.087,0.057,0.049,0.077,0.077,0.011,0.088,0.071,0.100,0.073,
+0.100,0.138,0.115,0.076,0.055,0.080,0.082,0.066,0.060,0.059,
+0.073,0.012,0.051,0.074,0.055,0.069,0.041,0.057,0.085,0.074,
+0.044,0.059,0.065,0.053,0.055,0.055,0.075,0.014,0.065,0.071,
+0.052,0.070,0.050,0.058,0.068,0.079,0.059,0.067,7.10e-3,0.012,
+0.013,9.69e-3,0.075,0.017,0.072,0.097,0.046,0.089,0.075,0.076,
+0.057,0.043,0.031,0.047,0.060,0.055,0.045,0.049,0.065,7.35e-3,
+0.063,0.063,0.059,0.047,0.053,0.092,0.071,0.047,0.040,0.055,
+0.060,0.050,0.050,0.056,0.074,0.015,0.044,0.057,0.060,0.060,
+0.050,0.070,5.93e-3,7.44e-3,3.93e-3,8.11e-3,8.11e-3,8.27e-3,8.19e-3,6.35e-3,
+0.011,3.68e-3,9.61e-3,8.69e-3,9.36e-3,0.018,8.27e-3,0.013,0.038,0.046,
+0.046,0.054,5.43e-3,8.02e-3,9.86e-3,8.44e-3,0.077,0.024,0.062,0.058,
+0.040,0.083,0.058,0.057,0.041,0.024,0.032,0.046,0.052,0.049,
+0.055,0.059,0.058,8.77e-3,0.084,0.065,0.047,0.054,0.069,0.091,
+0.094,0.046,0.045,0.073,0.047,0.033,0.043,0.045,0.073,8.11e-3,
+0.044,0.064,0.098,0.079,0.053,0.104,0.082,0.051,0.051,0.082,
+0.062,0.047,0.049,0.051,0.084,8.86e-3,0.052,0.066,0.086,0.102,
+0.070,0.120,0.106,0.101,0.085,0.086,9.44e-3,9.44e-3,9.44e-3,9.28e-3,
+0.073,9.28e-3,0.059,0.077,0.104,0.107,0.114,0.122,0.094,0.072,
+0.061,0.102,0.074,0.081,0.063,0.078,0.100,9.61e-3,0.085,0.117,
+0.144,0.130,0.169,0.253,0.191,0.148,0.132,0.153,0.153,0.152,
+0.119,0.109,0.129,0.020,0.094,0.111,0.109,0.132,0.085,0.113,
+0.163,0.137,0.102,0.111,0.156,0.149,0.137,0.107,0.148,0.034,
+0.206,0.146,0.079,0.148,0.104,0.109,0.095,0.143,0.119,0.120,
+0.016,0.029,0.026,0.026,0.125,0.034,0.136,0.140,0.070,0.156,
+0.131,0.129,0.096,0.076,0.063,0.094,0.130,0.166,0.114,0.118,
+0.175,0.049,0.102,0.107,0.111,0.153,0.113,0.141,0.233,0.189,
+0.100,0.150,0.210,0.223,0.169,0.129,0.145,0.036,0.119,0.127,
+0.097,0.142,0.082,0.103,0.195,0.228,0.125,0.112,0.223,0.178,
+0.188,0.149,0.209,0.060,0.182,0.199,0.086,0.190,0.128,0.130,
+0.114,0.203,0.145,0.129,0.026,0.059,0.046,0.031,0.212,0.070,
+0.197,0.227,0.090,0.294,0.282,0.192,0.083,0.081,0.065,0.080,
+0.147,0.217,0.141,0.136,0.146,0.025,0.124,0.148,0.082,0.116,
+0.117,0.153,0.112,0.092,0.053,0.077,0.136,0.165,0.152,0.115,
+0.149,0.047,0.103,0.109,0.064,0.158,0.090,0.100,0.010,0.022,
+0.012,0.013,0.024,0.043,0.037,0.022,0.037,0.036,0.049,0.030,
+0.013,0.067,0.025,0.017,0.086,0.165,0.126,0.110,0.018,0.046,
+0.035,0.032,0.478,0.335,0.175,0.187,0.084,0.541,0.183,0.128,
+0.070,0.066,0.052,0.070,0.124,0.213,0.177,0.158,0.158,0.037,
+0.167,0.164,0.072,0.120,0.128,0.151,0.104,0.076,0.072,0.092,
+0.078,0.069,0.085,0.065,0.089,0.013,0.068,0.082,0.086,0.089,
+0.070,0.106,0.141,0.141,0.120,0.119,0.151,0.156,0.174,0.127,
+0.181,0.054,0.167,0.178,0.110,0.290,0.141,0.149,0.102,0.125,
+0.124,0.115,0.013,0.029,0.024,0.023,0.164,0.040,0.184,0.204,
+0.124,0.210,0.258,0.173,0.103,0.127,0.077,0.091,0.118,0.233,
+0.181,0.146,0.164,0.025,0.156,0.200,0.141,0.176,0.186,0.217,
+0.152,0.076,0.050,0.071,0.066,0.069,0.052,0.061,0.087,0.014,
+0.060,0.062,0.068,0.071,0.051,0.058,0.107,0.110,0.060,0.073,
+0.098,0.101,0.080,0.069,0.130,0.029,0.126,0.109,0.057,0.120,
+0.071,0.071,0.092,0.131,0.101,0.091,0.018,0.027,0.025,0.025,
+0.150,0.032,0.146,0.134,0.080,0.141,0.106,0.124,0.060,0.055,
+0.040,0.063,0.089,0.096,0.072,0.076,0.118,0.020,0.097,0.136,
+0.080,0.083,0.108,0.131,0.013,0.013,5.60e-3,8.69e-3,0.011,0.021,
+0.010,0.012,0.013,4.51e-3,0.013,8.27e-3,7.69e-3,0.015,6.77e-3,7.02e-3,
+0.026,0.025,0.012,0.011,0.023,0.047,0.028,0.015,0.024,0.015,
+0.032,0.022,9.78e-3,0.025,0.015,0.011,0.019,0.026,0.019,0.012,
+4.51e-3,0.019,0.013,5.68e-3,0.030,0.026,0.041,0.030,0.019,0.034,
+0.023,0.018,9.44e-3,0.010,6.02e-3,7.69e-3,0.016,0.033,0.018,0.018,
+0.022,9.19e-3,0.025,0.022,9.02e-3,0.016,0.015,0.016,0.087,0.066,
+0.048,0.047,0.079,0.124,0.112,0.073,0.117,0.034,0.125,0.089,
+0.047,0.103,0.097,0.070,0.011,0.023,0.011,7.44e-3,0.017,0.044,
+0.029,0.013,0.027,0.020,0.040,0.023,0.011,0.035,0.031,0.012,
+0.095,0.152,0.118,0.088,0.023,0.050,0.050,0.029,0.215,0.072,
+0.188,0.172,0.087,0.187,0.156,0.110,0.060,0.060,0.049,0.050,
+0.097,0.168,0.148,0.112,0.164,0.039,0.225,0.173,0.069,0.108,
+0.138,0.117,0.184,0.055,0.045,0.072,0.058,0.053,0.043,0.048,
+0.083,0.013,0.066,0.074,0.078,0.074,0.051,0.075,0.129,0.104,
+0.070,0.067,0.100,0.135,0.090,0.083,0.177,0.030,0.150,0.138,
+0.139,0.168,0.133,0.104,1.140,0.265,0.138,0.125,0.064,0.071,
+0.025,0.019,0.336,0.047,0.225,0.219,0.760,0.256,0.214,0.206,
+0.151,0.075,0.066,0.071,0.111,0.155,0.092,0.090,0.176,0.021,
+0.201,0.203,0.175,0.146,0.156,0.185,0.150,0.071,0.064,0.088,
+0.075,0.047,0.039,0.072,0.082,0.011,0.042,0.070,0.073,0.067,
+0.053,0.085,0.097,0.060,0.038,0.047,0.070,0.045,0.039,0.047,
+0.067,8.36e-3,0.057,0.058,0.045,0.058,0.044,0.059,0.064,0.063,
+0.049,0.067,8.27e-3,8.77e-3,7.94e-3,0.012,0.070,0.011,0.053,0.075,
+0.054,0.083,0.057,0.084,0.075,0.043,0.042,0.071,0.062,0.043,
+0.044,0.063,0.085,8.11e-3,0.075,0.094,0.099,0.068,0.090,0.149,
+0.096,0.070,0.044,0.067,0.070,0.061,0.048,0.055,0.066,9.36e-3,
+0.047,0.061,0.053,0.070,0.044,0.071,0.095,0.071,0.044,0.052,
+0.071,0.075,0.050,0.064,0.077,0.015,0.081,0.085,0.050,0.090,
+0.059,0.072,0.062,0.080,0.101,0.072,6.02e-3,0.015,0.011,9.36e-3,
+0.095,0.019,0.087,0.106,0.065,0.124,0.085,0.098,0.069,0.047,
+0.050,0.067,0.078,0.078,0.061,0.079,0.092,0.011,0.075,0.098,
+0.078,0.076,0.082,0.129,0.090,0.066,0.047,0.059,0.082,0.077,
+0.074,0.082,0.108,0.021,0.078,0.084,0.064,0.087,0.089,0.112,
+9.11e-3,0.011,5.43e-3,7.85e-3,8.36e-3,0.016,0.013,8.19e-3,0.011,5.35e-3,
+0.016,0.015,7.35e-3,0.015,0.013,0.013,0.073,0.104,0.084,0.084,
+0.010,0.017,0.019,0.017,0.138,0.034,0.122,0.139,0.070,0.148,
+0.138,0.137,0.084,0.062,0.066,0.069,0.108,0.119,0.113,0.123,
+0.157,0.023,0.171,0.163,0.086,0.108,0.134,0.161,0.152,0.070,
+0.063,0.092,0.068,0.050,0.047,0.067,0.107,9.78e-3,0.064,0.102,
+0.124,0.097,0.081,0.177,0.107,0.080,0.062,0.084,0.099,0.098,
+0.069,0.079,0.107,0.014,0.100,0.136,0.098,0.118,0.103,0.145,
+0.184,0.132,0.120,0.130,0.012,0.015,0.011,0.014,0.207,0.027,
+0.182,0.271,0.208,0.194,0.220,0.232,0.181,0.107,0.163,0.199,
+0.137,0.130,0.119,0.157,0.213,0.018,0.218,0.303,0.213,0.173,
+0.220,0.279,1.780,1.130,0.791,1.180,1.460,0.943,0.979,0.974,
+1.570,0.150,0.912,1.320,1.840,1.500,0.910,1.430,1.600,1.110,
+0.830,0.900,1.180,0.783,0.846,0.671,1.350,0.144,1.110,1.030,
+0.901,1.610,1.160,0.968,1.100,0.972,0.970,0.915,0.091,0.088,
+0.103,0.127,1.110,0.112,0.940,0.966,0.771,1.110,0.943,0.958,
+1.590,0.917,0.826,1.520,1.090,0.827,0.905,1.250,1.210,0.104,
+1.080,1.360,1.190,0.892,1.210,1.540,1.460,1.100,0.680,0.940,
+1.090,0.979,0.706,0.852,0.890,0.113,0.680,0.840,0.669,0.789,
+0.656,0.773,1.190,1.010,0.667,0.637,0.828,0.598,0.684,0.522,
+0.912,0.119,0.975,0.941,0.498,0.755,1.040,0.646,0.727,0.910,
+0.572,0.576,0.071,0.088,0.073,0.082,0.832,0.110,0.819,0.809,
+0.503,1.230,0.655,0.603,0.676,0.859,0.414,0.562,0.751,0.633,
+0.556,0.678,0.792,0.076,0.786,0.813,0.572,0.568,0.751,0.875,
+0.994,0.522,0.548,0.688,0.772,0.597,0.627,0.569,1.070,0.130,
+0.788,1.130,0.568,0.619,0.645,0.857,0.078,0.071,0.057,0.061,
+0.062,0.070,0.063,0.051,0.086,0.021,0.097,0.101,0.069,0.139,
+0.094,0.093,0.640,0.615,0.581,0.511,0.063,0.057,0.075,0.065,
+0.898,0.116,1.220,0.840,0.476,0.659,0.830,0.629,0.532,0.364,
+0.542,0.514,0.556,0.480,0.538,0.575,0.848,0.086,0.961,0.999,
+0.488,0.524,0.783,0.841,1.150,0.431,0.440,0.712,0.436,0.309,
+0.334,0.340,0.599,0.055,0.404,0.505,0.625,0.477,0.484,0.826,
+0.566,0.443,0.389,0.416,0.421,0.353,0.362,0.293,0.564,0.047,
+0.526,0.508,0.466,0.581,0.512,0.588,0.477,0.445,0.388,0.427,
+0.038,0.035,0.043,0.042,0.574,0.054,0.595,0.555,0.434,0.539,
+0.676,0.570,0.767,0.356,0.410,0.655,0.283,0.205,0.283,0.378,
+0.751,0.053,0.662,0.819,0.852,0.607,0.827,1.270,2.010,1.520,
+1.120,1.730,1.380,1.330,1.230,1.260,1.120,0.146,0.881,1.310,
+1.100,1.150,0.843,1.180,1.680,1.650,0.968,1.010,1.390,1.140,
+1.150,0.927,1.300,0.176,1.410,1.280,0.650,1.000,0.870,0.909,
+0.833,1.010,0.907,0.803,0.111,0.210,0.131,0.116,0.773,0.122,
+0.903,0.865,0.539,1.290,0.877,0.824,0.864,0.560,0.631,0.748,
+0.938,0.928,0.700,0.804,0.725,0.118,0.715,0.837,0.578,0.634,
+0.922,1.080,1.860,1.960,0.980,1.550,1.750,2.680,1.380,2.200,
+1.250,0.227,0.975,1.090,0.682,1.260,0.693,0.857,1.480,1.660,
+0.950,0.948,1.110,0.654,0.975,0.816,1.340,0.233,1.510,1.490,
+0.567,1.180,0.947,0.778,1.030,1.840,1.000,0.938,0.153,0.325,
+0.172,0.157,1.460,0.398,1.460,1.480,1.310,5.230,1.380,1.230,
+0.810,0.716,0.616,0.640,1.260,1.150,0.779,0.855,0.888,0.124,
+0.812,0.944,0.573,1.040,0.835,0.913,1.180,0.988,0.785,1.270,
+1.280,1.440,1.360,1.060,1.550,0.299,1.410,2.430,0.623,1.020,
+0.929,1.090,0.119,0.210,0.132,0.120,0.138,0.228,0.201,0.118,
+0.186,0.079,0.275,0.259,0.081,0.276,0.172,0.137,1.870,2.000,
+1.570,1.350,0.299,0.300,0.307,0.206,2.190,0.349,2.260,2.020,
+1.450,2.400,2.410,1.590,1.410,0.710,2.550,0.954,1.310,1.350,
+1.480,1.150,1.300,0.175,1.760,1.660,0.571,0.803,1.310,1.140,
+0.853,0.561,0.485,0.904,0.590,0.543,0.536,0.566,0.541,0.062,
+0.554,0.654,0.443,0.467,0.464,0.666,1.040,1.050,0.750,0.808,
+0.980,1.040,0.818,0.751,0.861,0.121,1.050,1.120,0.552,1.070,
+0.842,0.939,0.626,0.797,0.678,0.648,0.067,0.089,0.084,0.080,
+0.750,0.091,0.938,0.892,0.676,1.080,1.540,1.030,0.792,0.554,
+0.652,0.597,0.587,0.547,0.488,0.556,0.794,0.073,0.907,1.050,
+0.798,0.851,1.140,1.300,1.610,1.010,0.698,1.040,0.756,0.710,
+0.569,0.522,0.957,0.095,0.644,0.603,0.631,0.677,0.511,0.725,
+1.510,1.350,0.801,0.853,1.000,1.010,0.972,0.702,1.250,0.178,
+1.310,1.140,0.580,1.100,0.765,0.746,0.797,1.110,1.220,0.864,
+0.092,0.154,0.151,0.146,0.862,0.132,1.100,0.879,0.446,0.990,
+0.811,0.769,0.647,0.503,0.529,0.778,0.624,0.764,0.630,0.793,
+0.781,0.094,0.869,0.934,0.578,0.611,0.832,1.250,0.143,0.166,
+0.081,0.107,0.142,0.229,0.119,0.120,0.153,0.031,0.121,0.103,
+0.078,0.147,0.091,0.098,0.169,0.296,0.116,0.112,0.168,0.237,
+0.179,0.120,0.185,0.064,0.247,0.187,0.074,0.218,0.135,0.102,
+0.104,0.219,0.143,0.108,0.024,0.062,0.051,0.030,0.180,0.070,
+0.264,0.207,0.092,0.369,0.162,0.129,0.114,0.113,0.089,0.128,
+0.189,0.314,0.212,0.300,0.155,0.033,0.196,0.188,0.111,0.176,
+0.169,0.200,1.060,0.761,0.679,0.605,0.868,1.020,1.010,0.578,
+1.120,0.239,1.350,0.924,0.494,0.864,0.731,0.698,0.106,0.165,
+0.098,0.067,0.107,0.169,0.145,0.060,0.199,0.071,0.289,0.152,
+0.078,0.212,0.133,0.093,0.957,1.370,1.440,0.781,0.140,0.211,
+0.256,0.120,2.230,0.413,2.190,1.440,0.703,1.270,1.320,0.953,
+0.520,0.426,0.583,0.468,0.736,1.010,1.060,0.804,1.690,0.311,
+2.000,1.450,0.573,0.865,1.020,0.877,0.672,0.405,0.362,0.485,
+0.645,0.472,0.317,0.292,0.509,0.063,0.448,0.635,0.384,0.425,
+0.351,0.596,0.951,0.940,0.657,0.641,0.903,1.090,0.747,0.544,
+1.190,0.151,1.200,1.120,0.645,1.090,0.855,0.762,0.619,0.818,
+0.762,0.626,0.074,0.117,0.101,0.076,1.050,0.138,1.390,1.170,
+0.556,1.020,0.991,0.897,0.643,0.439,0.519,0.710,0.555,0.612,
+0.500,0.558,0.988,0.112,1.260,1.240,0.891,0.843,1.010,1.200,
+1.210,0.590,0.544,0.939,0.544,0.364,0.359,0.363,0.617,0.055,
+0.399,0.467,0.636,0.485,0.758,0.876,0.716,0.436,0.338,0.417,
+0.468,0.316,0.377,0.336,0.520,0.053,0.427,0.467,0.361,0.379,
+0.407,0.431,0.455,0.384,0.425,0.499,0.049,0.044,0.042,0.066,
+0.380,0.044,0.402,0.448,0.293,0.459,0.377,0.447,0.631,0.342,
+0.463,0.742,0.461,0.386,0.382,0.546,0.501,0.045,0.476,0.634,
+0.574,0.437,0.606,1.080,1.150,0.783,0.500,0.715,0.769,0.732,
+0.555,0.537,0.862,0.084,0.656,0.650,0.539,0.606,0.636,0.756,
+0.921,0.864,0.473,0.578,0.734,0.669,0.582,0.515,0.760,0.101,
+0.775,0.821,0.423,0.672,0.503,0.533,0.649,0.694,0.484,0.573,
+0.056,0.082,0.059,0.076,0.716,0.099,0.732,0.792,0.488,1.150,
+0.619,0.662,0.743,0.411,0.405,0.585,0.714,0.710,0.574,0.849,
+0.662,0.070,0.655,0.827,0.590,0.719,0.740,1.010,0.928,0.508,
+0.679,0.844,0.801,0.604,0.698,0.717,1.030,0.125,0.975,0.932,
+0.544,0.586,0.699,0.798,0.075,0.075,0.074,0.074,0.069,0.078,
+0.074,0.077,0.108,0.022,0.130,0.153,0.076,0.114,0.093,0.093,
+0.667,0.732,0.684,0.772,0.079,0.084,0.093,0.104,1.190,0.148,
+1.250,1.200,0.571,0.934,0.974,0.911,0.550,0.398,0.507,0.636,
+0.748,0.716,0.813,1.190,1.610,0.157,1.410,2.860,0.717,0.701,
+0.955,1.230,1.110,0.461,0.553,0.691,0.590,0.421,0.378,0.415,
+0.599,0.057,0.451,0.780,0.647,0.474,0.544,0.942,0.583,0.448,
+0.368,0.464,0.451,0.356,0.436,0.435,0.629,0.054,0.604,0.784,
+0.638,0.584,0.545,0.733,0.687,0.683,0.808,1.040,0.070,0.061,
+0.068,0.091,0.914,0.082,0.985,1.070,0.739,0.940,1.040,1.070,
+1.090,0.544,0.809,1.210,0.776,0.662,0.647,0.936,1.470,0.092,
+1.290,1.760,2.630,1.250,1.590,2.040,0.133,0.107,0.092,0.110,
+0.121,0.106,0.107,0.082,0.110,0.021,0.096,0.109,0.096,0.092,
+0.084,0.085,0.126,0.115,0.086,0.077,0.133,0.094,0.123,0.078,
+0.111,0.028,0.140,0.118,0.070,0.115,0.115,0.089,0.065,0.078,
+0.077,0.057,0.011,0.015,0.017,0.014,0.063,0.014,0.094,0.080,
+0.036,0.064,0.077,0.073,0.080,0.084,0.051,0.072,0.077,0.080,
+0.071,0.078,0.069,0.011,0.081,0.104,0.058,0.054,0.083,0.093,
+0.154,0.162,0.099,0.109,0.175,0.253,0.167,0.103,0.134,0.042,
+0.140,0.189,0.069,0.132,0.110,0.101,0.186,0.226,0.138,0.096,
+0.185,0.182,0.203,0.122,0.193,0.072,0.278,0.239,0.068,0.172,
+0.184,0.106,0.085,0.190,0.090,0.061,0.022,0.047,0.051,0.019,
+0.130,0.059,0.210,0.162,0.050,0.170,0.142,0.085,0.073,0.271,
+0.056,0.054,0.110,0.138,0.102,0.099,0.111,0.024,0.162,0.137,
+0.063,0.082,0.131,0.114,0.082,0.066,0.055,0.052,0.089,0.105,
+0.110,0.067,0.133,0.029,0.108,0.096,0.044,0.080,0.070,0.081,
+0.011,0.020,0.018,0.010,0.018,0.034,0.036,0.015,0.020,0.020,
+0.048,0.026,9.11e-3,0.032,0.025,0.017,0.092,0.105,0.098,0.061,
+0.020,0.024,0.035,0.017,0.143,0.048,0.268,0.165,0.069,0.125,
+0.177,0.104,0.084,0.043,0.042,0.038,0.071,0.083,0.097,0.074,
+0.103,0.024,0.172,0.155,0.049,0.072,0.128,0.098,0.076,0.045,
+0.032,0.057,0.048,0.043,0.035,0.033,0.052,8.94e-3,0.045,0.053,
+0.044,0.042,0.042,0.068,0.070,0.076,0.060,0.059,0.077,0.081,
+0.081,0.058,0.069,0.017,0.093,0.087,0.045,0.081,0.063,0.068,
+0.040,0.053,0.056,0.046,5.93e-3,9.69e-3,0.016,8.94e-3,0.059,0.014,
+0.095,0.070,0.039,0.070,0.110,0.075,0.055,0.038,0.033,0.051,
+0.036,0.043,0.043,0.049,0.079,9.94e-3,0.094,0.105,0.074,0.075,
+0.110,0.140,0.134,0.140,0.100,0.104,0.148,0.226,0.166,0.124,
+0.105,0.026,0.098,0.141,0.065,0.098,0.076,0.074,0.145,0.177,
+0.112,0.086,0.195,0.179,0.202,0.117,0.153,0.061,0.249,0.177,
+0.055,0.115,0.115,0.091,0.072,0.116,0.099,0.066,0.021,0.056,
+0.043,0.021,0.080,0.030,0.142,0.089,0.045,0.102,0.109,0.083,
+0.068,0.040,0.046,0.053,0.082,0.102,0.082,0.080,0.064,0.016,
+0.082,0.076,0.046,0.052,0.091,0.077,0.185,0.370,0.131,0.120,
+0.317,0.950,0.284,0.195,0.178,0.072,0.180,0.143,0.060,0.178,
+0.093,0.087,0.198,0.295,0.174,0.121,0.197,0.191,0.234,0.145,
+0.220,0.126,0.342,0.297,0.070,0.205,0.169,0.118,0.133,0.275,
+0.155,0.104,0.050,0.137,0.101,0.042,0.210,0.132,0.287,0.244,
+0.094,0.441,0.243,0.144,0.076,0.075,0.060,0.060,0.148,0.205,
+0.143,0.106,0.111,0.033,0.158,0.137,0.056,0.103,0.204,0.106,
+0.130,0.122,0.084,0.092,0.178,0.270,0.265,0.113,0.208,0.060,
+0.174,0.188,0.071,0.181,0.107,0.100,0.031,0.066,0.035,0.024,
+0.051,0.121,0.116,0.038,0.063,0.084,0.125,0.072,0.018,0.104,
+0.047,0.026,0.862,0.728,0.464,0.374,0.284,0.247,0.276,0.125,
+0.725,0.210,0.729,0.548,0.727,0.796,0.790,0.545,0.473,0.100,
+0.163,0.111,0.284,0.311,0.321,0.195,0.202,0.060,0.304,0.246,
+0.091,0.129,0.208,0.161,0.060,0.051,0.048,0.060,0.059,0.076,
+0.056,0.043,0.059,0.011,0.071,0.054,0.031,0.048,0.047,0.050,
+0.089,0.128,0.088,0.075,0.104,0.173,0.124,0.083,0.111,0.046,
+0.151,0.131,0.049,0.175,0.094,0.074,0.066,0.097,0.086,0.066,
+0.013,0.025,0.028,0.012,0.092,0.028,0.158,0.111,0.063,0.115,
+0.208,0.095,0.069,0.039,0.044,0.044,0.051,0.059,0.055,0.050,
+0.078,0.011,0.108,0.105,0.058,0.078,0.102,0.105,0.139,0.117,
+0.079,0.080,0.086,0.106,0.091,0.064,0.114,0.018,0.093,0.065,
+0.051,0.074,0.058,0.055,0.137,0.198,0.110,0.085,0.166,0.207,
+0.214,0.130,0.183,0.075,0.296,0.188,0.053,0.156,0.111,0.079,
+0.063,0.157,0.124,0.091,0.015,0.041,0.043,0.026,0.119,0.049,
+0.215,0.147,0.036,0.119,0.110,0.095,0.046,0.053,0.034,0.050,
+0.067,0.099,0.087,0.075,0.093,0.033,0.124,0.110,0.049,0.080,
+0.083,0.099,0.015,0.030,0.014,0.011,0.025,0.074,0.045,0.021,
+0.020,0.017,0.038,0.019,7.94e-3,0.030,0.015,0.012,0.028,0.067,
+0.033,0.018,0.064,0.116,0.099,0.041,0.048,0.074,0.135,0.065,
+0.014,0.054,0.037,0.021,0.014,0.056,0.040,0.018,0.014,0.072,
+0.074,0.019,0.054,0.090,0.161,0.075,0.011,0.075,0.064,0.027,
+9.78e-3,0.018,0.011,7.85e-3,0.026,0.067,0.043,0.032,0.025,0.020,
+0.061,0.038,9.28e-3,0.023,0.027,0.021,0.139,0.133,0.100,0.068,
+0.112,0.209,0.221,0.094,0.171,0.061,0.325,0.155,0.052,0.156,
+0.124,0.105,0.024,0.069,0.040,0.017,0.038,0.097,0.106,0.029,
+0.066,0.082,0.233,0.073,0.013,0.058,0.047,0.022,0.124,0.280,
+0.263,0.119,0.050,0.143,0.180,0.042,0.417,0.265,0.753,0.364,
+0.080,0.293,0.294,0.161,0.067,0.067,0.069,0.052,0.112,0.244,
+0.252,0.155,0.332,0.166,0.437,0.309,0.077,0.219,0.186,0.160,
+0.061,0.059,0.046,0.094,0.052,0.062,0.043,0.038,0.060,0.013,
+0.072,0.099,0.037,0.060,0.039,0.063,0.100,0.156,0.095,0.075,
+0.135,0.199,0.167,0.092,0.175,0.063,0.266,0.215,0.063,0.189,
+0.132,0.091,0.060,0.140,0.107,0.074,0.011,0.041,0.045,0.017,
+0.180,0.069,0.311,0.210,0.060,0.197,0.157,0.112,0.047,0.052,
+0.047,0.057,0.057,0.097,0.078,0.064,0.140,0.035,0.218,0.176,
+0.080,0.132,0.142,0.142,0.086,0.064,0.049,0.074,0.078,0.057,
+0.049,0.084,0.081,7.60e-3,0.054,0.070,0.067,0.062,0.174,0.102,
+0.073,0.057,0.047,0.043,0.068,0.058,0.061,0.050,0.062,0.012,
+0.076,0.073,0.041,0.051,0.111,0.062,0.039,0.056,0.046,0.048,
+5.01e-3,7.77e-3,7.77e-3,0.010,0.046,9.11e-3,0.059,0.062,0.027,0.051,
+0.051,0.056,0.053,0.045,0.041,0.062,0.051,0.043,0.041,0.068,
+0.071,9.69e-3,0.060,0.123,0.064,0.048,0.071,0.123,0.138,0.133,
+0.082,0.101,0.124,0.164,0.125,0.102,0.137,0.025,0.132,0.122,
+0.081,0.111,0.100,0.109,0.158,0.184,0.100,0.100,0.175,0.191,
+0.188,0.132,0.146,0.040,0.206,0.203,0.073,0.159,0.134,0.102,
+0.083,0.152,0.097,0.093,0.015,0.036,0.034,0.023,0.128,0.035,
+0.184,0.181,0.070,0.214,0.138,0.114,0.085,0.067,0.056,0.070,
+0.123,0.159,0.143,0.157,0.114,0.020,0.167,0.209,0.085,0.116,
+0.144,0.162,0.076,0.061,0.058,0.061,0.094,0.096,0.109,0.084,
+0.108,0.025,0.151,0.142,0.046,0.080,0.102,0.089,7.94e-3,0.014,
+0.010,9.53e-3,0.022,0.031,0.029,0.018,0.023,0.012,0.040,0.039,
+9.19e-3,0.024,0.023,0.014,0.067,0.115,0.105,0.082,0.014,0.040,
+0.032,0.026,0.150,0.054,0.250,0.203,0.066,0.162,0.176,0.126,
+0.074,0.054,0.066,0.078,0.084,0.123,0.136,0.190,0.280,0.051,
+0.305,0.905,0.086,0.107,0.159,0.202,0.083,0.052,0.052,0.068,
+0.067,0.055,0.046,0.056,0.064,8.94e-3,0.060,0.084,0.050,0.044,
+0.061,0.094,0.059,0.058,0.043,0.052,0.066,0.070,0.072,0.066,
+0.061,0.012,0.086,0.098,0.053,0.075,0.076,0.083,0.057,0.077,
+0.078,0.081,7.10e-3,9.61e-3,0.014,0.010,0.099,0.019,0.145,0.142,
+0.068,0.110,0.147,0.116,0.080,0.048,0.068,0.096,0.075,0.080,
+0.088,0.104,0.152,0.017,0.238,0.284,0.180,0.130,0.194,0.197,
+1.680,1.260,1.400,1.900,1.210,0.879,1.070,0.993,1.170,0.129,
+1.190,1.180,1.310,1.080,1.360,1.530,0.921,0.780,0.593,0.620,
+0.875,0.693,0.739,0.570,0.707,0.088,0.795,0.651,0.534,0.644,
+0.683,0.638,0.692,0.654,0.797,0.634,0.066,0.060,0.095,0.094,
+0.699,0.084,1.430,0.819,0.403,0.547,0.929,0.725,0.600,0.293,
+0.339,0.527,0.369,0.292,0.357,0.473,0.375,0.033,0.547,0.544,
+0.451,0.221,0.581,0.780,1.340,1.100,0.814,0.979,1.170,1.120,
+1.060,0.806,0.801,0.122,0.764,0.730,0.562,0.774,0.556,0.644,
+1.300,1.340,0.863,0.728,1.230,0.899,1.220,0.798,1.110,0.172,
+1.300,1.290,0.553,0.994,0.696,0.628,0.823,1.190,1.090,0.784,
+0.126,0.167,0.195,0.155,1.330,0.207,1.900,1.700,0.609,1.270,
+1.280,0.897,0.574,0.533,0.388,0.444,0.899,0.943,0.835,0.909,
+0.657,0.075,0.735,0.823,0.546,0.532,0.670,0.858,1.090,0.643,
+0.721,0.609,0.960,0.878,1.020,0.714,1.160,0.150,1.030,0.823,
+0.532,0.673,0.708,0.733,0.117,0.144,0.130,0.095,0.165,0.184,
+0.197,0.135,0.170,0.051,0.255,0.189,0.092,0.274,0.157,0.150,
+0.914,0.959,1.200,0.772,0.124,0.137,0.267,0.153,1.560,0.270,
+3.300,1.580,0.475,1.010,1.700,0.949,0.453,0.440,0.431,0.381,
+0.754,0.874,1.070,0.835,0.772,0.099,1.420,1.000,0.474,0.511,
+1.040,0.937,0.723,0.376,0.341,0.532,0.388,0.380,0.338,0.326,
+0.424,0.047,0.387,0.431,0.426,0.380,0.462,0.573,0.655,0.609,
+0.564,0.572,0.681,0.648,0.640,0.505,0.673,0.081,0.754,0.793,
+0.453,0.754,0.611,0.650,0.586,0.676,0.814,0.631,0.062,0.078,
+0.154,0.105,0.828,0.113,1.540,1.060,0.555,1.030,2.780,1.080,
+0.527,0.376,0.383,0.538,0.384,0.389,0.543,0.598,0.691,0.069,
+0.955,0.991,0.746,0.678,1.270,1.690,0.144,0.120,0.101,0.100,
+0.117,0.139,0.122,0.099,0.087,0.023,0.102,0.082,0.069,0.094,
+0.090,0.077,0.145,0.166,0.130,0.091,0.197,0.211,0.225,0.134,
+0.123,0.043,0.199,0.144,0.094,0.124,0.152,0.103,0.087,0.129,
+0.132,0.083,0.019,0.038,0.046,0.026,0.128,0.032,0.308,0.154,
+0.050,0.115,0.202,0.118,0.061,0.050,0.050,0.057,0.081,0.088,
+0.080,0.071,0.059,0.011,0.101,0.091,0.045,0.041,0.090,0.097,
+0.115,0.156,0.097,0.084,0.145,0.241,0.179,0.108,0.094,0.030,
+0.105,0.079,0.046,0.085,0.059,0.058,0.181,0.275,0.154,0.103,
+0.241,0.238,0.303,0.158,0.177,0.088,0.279,0.209,0.065,0.150,
+0.125,0.090,0.090,0.184,0.137,0.084,0.033,0.085,0.087,0.032,
+0.221,0.110,0.383,0.260,0.086,0.276,0.213,0.126,0.052,0.050,
+0.042,0.040,0.091,0.121,0.115,0.098,0.075,0.017,0.099,0.088,
+0.041,0.061,0.075,0.077,0.169,0.119,0.114,0.073,0.158,0.225,
+0.231,0.115,0.139,0.044,0.216,0.146,0.048,0.093,0.113,0.081,
+0.022,0.046,0.034,0.026,0.050,0.104,0.109,0.040,0.047,0.071,
+0.160,0.064,0.013,0.054,0.049,0.025,0.192,0.233,0.281,0.153,
+0.051,0.103,0.201,0.051,0.333,0.166,1.050,0.335,0.079,0.238,
+0.420,0.205,0.089,0.062,0.100,0.057,0.133,0.190,0.250,0.139,
+0.125,0.039,0.322,0.178,0.057,0.085,0.183,0.151,0.067,0.064,
+0.056,0.071,0.058,0.064,0.061,0.054,0.052,9.44e-3,0.062,0.052,
+0.048,0.051,0.096,0.071,0.116,0.149,0.123,0.101,0.161,0.210,
+0.183,0.128,0.133,0.035,0.208,0.177,0.083,0.173,0.178,0.134,
+0.067,0.112,0.149,0.082,0.013,0.030,0.051,0.020,0.123,0.050,
+0.305,0.181,0.099,0.203,0.952,0.213,0.059,0.054,0.059,0.061,
+0.055,0.078,0.080,0.075,0.082,0.014,0.138,0.138,0.074,0.090,
+0.232,0.181,2.100,0.961,0.891,1.350,0.650,0.618,0.486,0.521,
+0.826,0.091,1.080,0.678,0.421,0.365,0.387,0.444,0.827,0.864,
+0.479,0.503,0.890,0.857,0.855,0.591,0.941,0.161,1.380,0.890,
+0.396,0.721,0.493,0.518,0.731,0.754,0.888,0.569,0.108,0.156,
+0.192,0.134,1.220,0.222,2.460,1.100,0.371,0.742,0.791,0.678,
+0.382,0.279,0.301,0.376,0.569,0.518,0.549,0.463,0.613,0.091,
+0.942,1.010,0.386,0.344,0.587,0.746,0.132,0.105,0.075,0.086,
+0.127,0.172,0.121,0.111,0.150,0.037,0.274,0.139,0.066,0.075,
+0.077,0.066,0.097,0.137,0.073,0.056,0.159,0.218,0.168,0.094,
+0.124,0.060,0.295,0.160,0.043,0.086,0.061,0.051,0.148,0.169,
+0.148,0.082,0.034,0.066,0.095,0.033,0.315,0.132,0.729,0.247,
+0.060,0.172,0.160,0.122,0.056,0.045,0.041,0.050,0.112,0.140,
+0.127,0.113,0.099,0.024,0.163,0.202,0.049,0.057,0.080,0.101,
+1.320,0.387,0.628,0.257,0.408,0.517,0.547,0.335,0.646,0.107,
+1.550,0.471,0.229,0.309,0.440,0.319,0.092,0.123,0.153,0.052,
+0.065,0.131,0.114,0.046,0.140,0.054,0.512,0.107,0.033,0.075,
+0.078,0.048,0.538,0.270,0.601,0.240,0.073,0.070,0.242,0.048,
+0.498,0.146,0.999,0.128,0.061,0.082,0.219,0.211,0.143,0.106,
+0.198,0.085,0.157,0.204,0.339,0.157,0.363,0.068,0.805,0.338,
+0.153,0.199,0.342,0.403,0.521,0.271,0.218,0.249,0.282,0.223,
+0.171,0.198,0.344,0.041,0.510,0.362,0.161,0.156,0.159,0.229,
+0.467,0.480,0.317,0.205,0.447,0.531,0.403,0.285,0.573,0.099,
+0.989,0.621,0.231,0.410,0.291,0.274,0.476,0.527,0.579,0.410,
+0.059,0.117,0.122,0.073,0.846,0.136,1.700,0.974,0.317,0.577,
+0.774,0.579,0.303,0.233,0.237,0.273,0.313,0.421,0.396,0.318,
+0.530,0.063,0.996,0.753,0.393,0.410,0.721,0.898,0.840,0.488,
+0.417,0.643,0.454,0.349,0.286,0.323,0.379,0.046,0.395,0.380,
+0.350,0.337,0.304,0.437,0.549,0.451,0.284,0.305,0.399,0.338,
+0.322,0.279,0.342,0.042,0.466,0.336,0.211,0.293,0.260,0.297,
+0.414,0.414,0.375,0.363,0.044,0.046,0.051,0.055,0.431,0.055,
+0.795,0.601,0.282,0.401,0.483,0.470,0.335,0.205,0.183,0.290,
+0.290,0.230,0.221,0.275,0.262,0.029,0.321,0.440,0.303,0.244,
+0.325,0.510,0.869,0.721,0.553,0.611,0.742,0.722,0.640,0.516,
+0.547,0.075,0.665,0.540,0.332,0.427,0.303,0.416,0.810,0.857,
+0.442,0.491,0.877,0.876,0.806,0.579,0.688,0.103,0.877,0.835,
+0.293,0.544,0.407,0.451,0.610,0.978,0.719,0.538,0.076,0.138,
+0.133,0.103,0.965,0.167,1.590,1.220,0.414,0.967,0.880,0.772,
+0.518,0.416,0.283,0.378,0.640,0.728,0.601,0.591,0.475,0.067,
+0.640,0.734,0.319,0.425,0.459,0.535,0.821,0.498,0.490,0.434,
+0.639,0.637,0.744,0.566,0.689,0.110,1.030,0.758,0.325,0.469,
+0.587,0.609,0.073,0.104,0.075,0.057,0.100,0.149,0.158,0.097,
+0.093,0.035,0.204,0.132,0.043,0.118,0.098,0.080,0.759,0.919,
+0.928,0.663,0.093,0.128,0.188,0.115,1.380,0.263,2.400,1.620,
+0.461,0.928,1.460,0.993,0.408,0.394,0.402,0.380,0.651,0.825,
+0.977,0.763,0.737,0.099,1.380,1.250,0.383,0.505,0.967,0.839,
+0.604,0.337,0.303,0.406,0.366,0.305,0.292,0.278,0.372,0.048,
+0.420,0.391,0.372,0.290,0.403,0.497,0.578,0.506,0.339,0.353,
+0.493,0.533,0.534,0.473,0.495,0.069,0.708,0.703,0.311,0.440,
+0.482,0.521,0.558,0.637,0.661,0.670,0.061,0.078,0.094,0.088,
+0.993,0.121,1.700,1.600,0.545,0.837,1.330,1.010,0.633,0.365,
+0.454,0.633,0.543,0.549,0.647,0.615,0.785,0.073,1.290,1.360,
+0.802,0.643,1.140,1.220,1.190,0.740,0.790,1.220,0.795,0.535,
+0.520,0.543,0.653,0.063,0.493,0.592,0.807,0.659,0.650,0.812,
+0.722,0.476,0.367,0.485,0.572,0.368,0.347,0.348,0.497,0.050,
+0.435,0.402,0.396,0.438,0.376,0.411,0.497,0.406,0.395,0.472,
+0.053,0.043,0.046,0.064,0.397,0.039,0.566,0.451,0.316,0.379,
+0.525,0.499,0.629,0.307,0.420,0.567,0.662,0.373,0.337,0.495,
+0.416,0.037,0.450,0.504,0.521,0.331,0.504,0.829,0.927,0.645,
+0.521,0.660,0.692,0.528,0.485,0.437,0.437,0.054,0.349,0.423,
+0.342,0.371,0.278,0.415,0.738,0.514,0.323,0.411,0.514,0.337,
+0.362,0.322,0.419,0.045,0.408,0.479,0.289,0.336,0.283,0.329,
+0.461,0.446,0.369,0.345,0.036,0.051,0.041,0.043,0.455,0.047,
+0.506,0.459,0.276,0.405,0.429,0.369,0.343,0.292,0.200,0.266,
+0.365,0.331,0.266,0.318,0.330,0.027,0.361,0.394,0.317,0.264,
+0.340,0.506,0.748,0.404,0.334,0.459,0.555,0.402,0.392,0.427,
+0.548,0.069,0.352,0.400,0.383,0.373,0.354,0.510,0.063,0.057,
+0.038,0.051,0.058,0.052,0.047,0.048,0.054,0.011,0.056,0.059,
+0.060,0.086,0.054,0.074,0.412,0.402,0.429,0.391,0.047,0.042,
+0.055,0.057,0.635,0.083,0.825,0.669,0.352,0.520,0.724,0.577,
+0.354,0.264,0.241,0.328,0.425,0.413,0.404,0.494,0.472,0.051,
+0.593,0.620,0.377,0.374,0.552,0.695,0.653,0.314,0.269,0.485,
+0.324,0.239,0.236,0.289,0.353,0.034,0.251,0.305,0.440,0.339,
+0.312,0.538,0.545,0.421,0.283,0.389,0.384,0.300,0.268,0.275,
+0.361,0.034,0.320,0.393,0.347,0.413,0.350,0.529,0.355,0.353,
+0.351,0.373,0.031,0.029,0.044,0.048,0.352,0.036,0.461,0.439,
+0.335,0.440,1.080,0.598,0.474,0.290,0.271,0.501,0.315,0.274,
+0.310,0.494,0.535,0.039,0.501,0.652,0.688,0.478,0.739,1.170,
+1.410,0.978,0.794,1.150,1.070,0.950,0.808,0.781,0.736,0.098,
+0.644,0.845,0.733,0.737,0.668,0.854,1.200,0.947,0.728,0.809,
+1.080,0.835,0.971,0.770,0.900,0.119,1.030,1.030,0.531,0.716,
+0.683,0.771,0.623,0.638,0.642,0.650,0.078,0.089,0.089,0.097,
+0.692,0.096,0.887,0.853,0.507,0.681,0.863,0.868,0.597,0.341,
+0.438,0.520,0.815,0.631,0.512,0.574,0.492,0.055,0.476,0.593,
+0.474,0.406,0.581,0.908,1.310,1.120,0.675,0.927,1.250,1.320,
+0.929,0.818,0.774,0.116,0.641,0.711,0.489,0.714,0.476,0.680,
+1.300,1.300,0.764,0.870,1.310,0.915,1.080,0.895,1.140,0.183,
+1.180,1.230,0.507,0.904,0.712,0.703,0.690,0.978,0.704,0.708,
+0.098,0.145,0.116,0.106,1.090,0.191,1.070,1.170,0.567,1.320,
+1.010,0.981,0.457,0.409,0.302,0.416,0.709,0.785,0.585,0.634,
+0.560,0.062,0.561,0.681,0.425,0.485,0.566,0.755,0.920,0.657,
+0.475,0.579,1.090,1.150,1.050,0.780,0.859,0.158,0.788,0.874,
+0.425,0.648,0.674,0.760,0.074,0.115,0.069,0.117,0.130,0.189,
+0.172,0.113,0.106,0.052,0.177,0.149,0.063,0.174,0.123,0.107,
+0.814,1.050,0.973,0.813,0.119,0.186,0.195,0.140,1.380,0.279,
+1.840,1.700,0.601,1.460,1.730,1.290,0.527,0.424,0.467,0.496,
+0.855,1.090,1.100,0.984,0.874,0.120,1.240,1.310,0.485,0.629,
+1.080,1.190,0.650,0.480,0.419,0.705,0.476,0.462,0.425,0.503,
+0.452,0.049,0.411,0.467,0.398,0.414,0.527,0.680,0.885,0.903,
+0.657,0.779,0.877,0.944,0.869,0.754,0.734,0.108,0.939,1.090,
+0.546,0.948,0.937,0.891,0.486,0.558,0.761,0.607,0.057,0.077,
+0.147,0.085,0.665,0.093,1.140,1.060,0.596,0.974,3.710,1.300,
+0.486,0.392,0.381,0.487,0.507,0.577,0.571,0.625,0.590,0.058,
+0.745,0.964,0.592,0.641,1.120,1.180,1.250,0.825,0.600,0.883,
+0.680,0.727,0.474,0.544,0.727,0.073,0.566,0.564,0.562,0.509,
+0.398,0.576,0.970,0.934,0.531,0.597,0.893,0.819,0.723,0.575,
+0.954,0.120,1.120,0.939,0.497,0.796,0.613,0.692,0.668,0.959,
+0.652,0.665,0.094,0.126,0.105,0.122,1.080,0.135,1.180,0.984,
+0.468,0.861,0.840,0.767,0.543,0.407,0.336,0.486,0.843,0.748,
+0.496,0.549,0.692,0.077,0.789,0.941,0.555,0.470,0.738,1.100,
+0.084,0.096,0.066,0.071,0.091,0.149,0.080,0.083,0.075,0.019,
+0.096,0.074,0.051,0.082,0.049,0.066,0.103,0.149,0.077,0.069,
+0.143,0.206,0.154,0.105,0.126,0.048,0.239,0.160,0.057,0.134,
+0.098,0.084,0.062,0.140,0.083,0.091,0.015,0.048,0.035,0.023,
+0.154,0.054,0.248,0.172,0.054,0.178,0.138,0.104,0.060,0.059,
+0.043,0.051,0.117,0.166,0.104,0.113,0.084,0.017,0.137,0.133,
+0.061,0.067,0.092,0.121,1.090,0.742,0.570,0.497,0.927,1.090,
+1.180,0.639,0.948,0.181,1.370,0.861,0.469,0.736,0.796,0.686,
+0.089,0.157,0.074,0.058,0.108,0.141,0.131,0.069,0.139,0.056,
+0.265,0.142,0.072,0.172,0.120,0.088,1.080,1.320,1.440,0.895,
+0.160,0.229,0.299,0.150,2.090,0.442,1.790,1.900,0.701,1.650,
+1.900,1.290,0.503,0.532,0.510,0.440,0.803,1.070,1.170,0.790,
+1.140,0.193,2.110,1.550,0.531,0.801,1.280,1.170,0.669,0.501,
+0.329,0.460,0.497,0.457,0.388,0.384,0.469,0.063,0.578,0.550,
+0.361,0.429,0.376,0.565,0.909,0.960,0.569,0.548,0.834,1.020,
+0.768,0.552,0.944,0.132,1.420,1.260,0.594,1.050,0.879,0.792,
+0.736,0.875,0.737,0.684,0.071,0.128,0.114,0.090,1.230,0.164,
+1.730,1.550,0.736,1.470,1.670,1.270,0.586,0.483,0.403,0.472,
+0.524,0.689,0.609,0.560,0.905,0.094,1.440,1.390,0.702,0.841,
+1.160,1.360,1.180,0.579,0.421,0.785,0.561,0.425,0.352,0.409,
+0.526,0.055,0.381,0.479,0.538,0.420,0.397,0.672,0.678,0.449,
+0.262,0.351,0.494,0.361,0.308,0.339,0.522,0.048,0.402,0.452,
+0.310,0.330,0.284,0.385,0.476,0.452,0.313,0.462,0.055,0.055,
+0.041,0.073,0.499,0.052,0.486,0.594,0.351,0.435,0.408,0.535,
+0.790,0.301,0.282,0.506,0.506,0.322,0.270,0.413,0.597,0.042,
+0.442,0.717,0.568,0.367,0.508,0.957,0.963,0.627,0.506,0.660,
+0.690,0.614,0.475,0.498,0.560,0.059,0.485,0.535,0.427,0.452,
+0.347,0.564,0.770,0.659,0.379,0.470,0.700,0.645,0.577,0.499,
+0.651,0.085,0.748,0.748,0.373,0.573,0.433,0.529,0.508,0.627,
+0.442,0.507,0.045,0.066,0.070,0.061,0.685,0.087,0.810,0.831,
+0.437,0.803,0.659,0.735,0.583,0.357,0.298,0.461,0.554,0.528,
+0.453,0.519,0.654,0.059,0.569,0.745,0.495,0.444,0.554,0.853,
+1.020,0.615,0.465,0.592,0.795,0.759,0.659,0.678,0.881,0.126,
+0.893,0.822,0.576,0.751,0.699,0.938,0.075,0.084,0.049,0.064,
+0.072,0.096,0.077,0.071,0.092,0.023,0.126,0.106,0.071,0.114,
+0.088,0.100,0.855,1.060,0.912,0.844,0.085,0.109,0.126,0.118,
+1.470,0.220,1.760,1.770,0.699,1.360,1.600,1.680,0.647,0.617,
+0.534,0.642,0.815,0.842,0.977,0.977,1.140,0.122,1.530,1.840,
+0.671,0.763,1.170,1.450,1.270,0.610,0.442,0.739,0.569,0.440,
+0.421,0.459,0.699,0.064,0.531,0.650,0.773,0.599,0.632,1.170,
+0.996,0.740,0.463,0.604,0.733,0.813,0.550,0.573,0.824,0.075,
+0.922,0.979,0.651,0.747,0.805,0.945,0.826,0.847,0.748,0.920,
+0.065,0.075,0.073,0.089,1.220,0.120,1.470,1.730,0.914,1.220,
+1.630,1.700,1.180,0.651,0.659,1.150,0.720,0.674,0.700,0.878,
+1.160,0.078,1.350,1.880,1.210,0.904,1.210,1.700,1.650,1.030,
+0.899,1.850,1.130,0.712,0.745,0.933,1.330,0.125,0.770,1.320,
+2.000,1.330,0.954,1.890,1.260,0.690,0.560,0.723,0.824,0.464,
+0.435,0.471,0.851,0.058,0.529,0.651,0.674,0.595,0.560,0.748,
+0.918,0.583,0.557,0.839,0.065,0.051,0.057,0.106,0.620,0.050,
+0.399,0.570,0.547,0.585,0.528,0.743,1.430,0.605,0.637,1.530,
+0.908,0.567,0.646,1.160,0.853,0.062,0.590,0.856,1.020,0.646,
+0.808,1.410,1.380,0.738,0.525,0.929,0.742,0.530,0.436,0.542,
+0.660,0.059,0.379,0.572,0.569,0.513,0.416,0.651,0.959,0.571,
+0.371,0.489,0.550,0.310,0.323,0.340,0.554,0.051,0.413,0.479,
+0.376,0.367,0.439,0.419,0.874,0.548,0.370,0.516,0.066,0.043,
+0.035,0.062,0.609,0.051,0.385,0.516,0.356,0.481,0.356,0.464,
+0.671,0.439,0.314,0.650,0.713,0.438,0.390,0.599,0.567,0.037,
+0.379,0.528,0.466,0.373,0.406,0.740,0.893,0.474,0.429,0.624,
+0.636,0.486,0.410,0.488,0.863,0.085,0.433,0.631,0.725,0.513,
+0.521,0.777,0.068,0.053,0.040,0.058,0.050,0.051,0.040,0.043,
+0.067,0.010,0.048,0.062,0.084,0.093,0.065,0.090,0.484,0.391,
+0.375,0.444,0.044,0.036,0.036,0.046,0.529,0.050,0.498,0.498,
+0.391,0.415,0.492,0.459,0.447,0.325,0.317,0.414,0.516,0.454,
+0.393,0.430,0.762,0.057,0.513,0.672,0.498,0.441,0.606,0.800,
+1.270,0.524,0.468,0.868,0.531,0.334,0.335,0.429,0.856,0.068,
+0.457,0.537,0.874,0.564,0.564,1.030,0.771,0.495,0.431,0.590,
+0.499,0.379,0.329,0.390,0.568,0.038,0.404,0.555,0.605,0.534,
+0.465,0.655,0.529,0.435,0.446,0.497,0.041,0.039,0.042,0.050,
+0.602,0.040,0.444,0.535,0.473,0.513,0.509,0.658,0.857,0.451,
+0.446,0.838,0.467,0.339,0.376,0.544,0.798,0.052,0.574,0.867,
+1.050,0.784,0.892,1.840,1.700,0.960,0.782,1.370,1.020,0.676,
+0.645,0.774,0.879,0.078,0.446,0.801,1.020,0.710,0.545,0.977,
+1.060,0.720,0.477,0.663,0.752,0.490,0.474,0.482,0.630,0.054,
+0.521,0.594,0.474,0.466,0.419,0.607,0.536,0.494,0.448,0.520,
+0.051,0.066,0.044,0.063,0.457,0.044,0.317,0.410,0.364,0.499,
+0.379,0.514,0.577,0.339,0.394,0.629,0.626,0.542,0.355,0.494,
+0.450,0.062,0.341,0.448,0.559,0.400,0.497,0.990,1.200,0.793,
+0.442,0.982,0.733,0.758,0.516,0.679,0.562,0.060,0.330,0.506,
+0.431,0.512,0.297,0.561,0.703,0.550,0.318,0.444,0.476,0.228,
+0.290,0.314,0.460,0.048,0.374,0.531,0.282,0.361,0.281,0.401,
+0.766,0.568,0.337,0.469,0.077,0.080,0.036,0.048,0.501,0.081,
+0.361,0.591,0.452,1.060,0.418,0.510,0.472,0.315,0.268,0.643,
+0.604,0.408,0.289,0.474,0.431,0.035,0.298,0.468,0.380,0.403,
+0.341,0.768,0.763,0.512,0.355,0.518,0.593,0.449,0.388,0.412,
+0.925,0.089,0.421,0.726,0.513,0.465,0.350,0.551,0.045,0.053,
+0.033,0.042,0.044,0.058,0.042,0.040,0.051,0.014,0.047,0.058,
+0.043,0.064,0.043,0.052,0.593,0.628,0.372,0.431,0.047,0.046,
+0.037,0.043,0.516,0.053,0.411,0.454,0.385,0.487,0.495,0.445,
+0.483,0.373,0.612,0.419,0.447,0.405,0.407,0.432,0.515,0.045,
+0.482,0.586,0.347,0.324,0.511,0.585,0.598,0.368,0.294,0.503,
+0.376,0.269,0.324,0.281,0.419,0.034,0.264,0.342,0.406,0.306,
+0.271,0.507,0.504,0.440,0.354,0.430,0.403,0.401,0.295,0.337,
+0.344,0.036,0.333,0.429,0.300,0.385,0.312,0.463,0.403,0.363,
+0.316,0.392,0.029,0.030,0.024,0.033,0.389,0.030,0.337,0.421,
+0.365,0.423,0.486,0.496,0.467,0.299,0.304,0.460,0.344,0.292,
+0.242,0.363,0.500,0.035,0.416,0.603,0.651,0.576,0.615,0.967,
+1.190,0.758,0.477,0.910,0.557,0.426,0.340,0.419,0.598,0.065,
+0.403,0.566,0.569,0.623,0.415,0.647,1.020,0.671,0.402,0.631,
+0.558,0.442,0.375,0.416,0.602,0.066,0.487,0.561,0.461,0.623,
+0.443,0.584,0.538,0.561,0.501,0.650,0.058,0.065,0.057,0.092,
+0.396,0.046,0.329,0.404,0.311,0.495,0.347,0.483,0.627,0.363,
+0.361,0.666,0.493,0.458,0.353,0.559,0.548,0.050,0.391,0.563,
+0.572,0.451,0.514,1.110,0.090,0.080,0.040,0.076,0.069,0.077,
+0.044,0.052,0.060,0.014,0.048,0.056,0.051,0.075,0.041,0.069,
+0.089,0.075,0.037,0.053,0.064,0.065,0.043,0.042,0.061,0.013,
+0.058,0.058,0.047,0.069,0.044,0.055,0.060,0.062,0.042,0.057,
+7.77e-3,0.015,9.86e-3,0.011,0.059,0.013,0.055,0.063,0.042,0.089,
+0.047,0.061,0.099,0.061,0.051,0.091,0.113,0.115,0.080,0.119,
+0.077,8.19e-3,0.066,0.081,0.078,0.084,0.066,0.139,0.729,0.536,
+0.430,0.402,0.501,0.438,0.398,0.336,0.727,0.100,0.529,0.509,
+0.463,0.542,0.380,0.520,0.059,0.076,0.035,0.038,0.043,0.057,
+0.041,0.033,0.071,0.015,0.064,0.055,0.057,0.088,0.048,0.049,
+0.525,0.579,0.515,0.422,0.058,0.058,0.075,0.053,0.773,0.100,
+0.490,0.542,0.426,0.569,0.556,0.518,0.441,0.346,0.423,0.416,
+0.521,0.527,0.494,0.506,1.040,0.106,0.747,0.783,0.523,0.537,
+0.582,0.722,0.664,0.360,0.244,0.421,0.432,0.293,0.217,0.250,
+0.502,0.066,0.291,0.410,0.518,0.709,0.264,0.558,0.746,0.553,
+0.336,0.441,0.478,0.556,0.330,0.329,0.574,0.067,0.468,0.558,
+0.528,0.821,0.395,0.542,0.619,0.564,0.402,0.502,0.050,0.087,
+0.043,0.048,0.642,0.060,0.518,0.626,0.487,0.684,0.542,0.660,
+0.613,0.382,0.360,0.549,0.559,0.483,0.339,0.440,0.834,0.063,
+0.653,0.855,0.797,0.690,0.709,1.130,1.430,0.725,0.549,1.070,
+0.534,0.359,0.330,0.369,0.547,0.049,0.369,0.493,0.784,0.523,
+1.090,1.010,0.679,0.380,0.284,0.467,0.395,0.235,0.240,0.297,
+0.410,0.031,0.317,0.390,0.376,0.320,0.616,0.532,0.495,0.385,
+0.422,0.571,0.043,0.035,0.033,0.068,0.359,0.031,0.270,0.385,
+0.324,0.336,0.308,0.507,0.824,0.370,0.431,0.973,0.477,0.324,
+0.337,0.549,0.498,0.033,0.388,0.535,0.695,0.460,0.615,1.280,
+0.952,0.602,0.360,0.723,0.583,0.459,0.317,0.423,0.500,0.048,
+0.362,0.494,0.496,0.460,0.380,0.615,0.726,0.462,0.249,0.403,
+0.505,0.345,0.267,0.340,0.408,0.038,0.337,0.448,0.332,0.360,
+0.313,0.403,0.499,0.410,0.299,0.477,0.034,0.037,0.027,0.049,
+0.437,0.039,0.328,0.457,0.362,0.481,0.343,0.543,0.749,0.336,
+0.321,0.619,0.655,0.442,0.403,0.703,0.530,0.044,0.500,0.594,
+0.578,0.665,0.517,0.985,0.719,0.367,0.331,0.541,0.584,0.342,
+0.326,0.446,0.576,0.063,0.386,0.512,0.481,0.406,0.402,0.633,
+0.045,0.035,0.028,0.045,0.043,0.039,0.029,0.034,0.046,5.52e-3,
+0.040,0.048,0.046,0.061,0.040,0.052,0.409,0.370,0.300,0.431,
+0.033,0.030,0.027,0.040,0.506,0.044,0.394,0.479,0.365,0.451,
+0.396,0.508,0.445,0.287,0.309,0.493,0.467,0.375,0.386,0.583,
+0.955,0.063,0.593,1.140,0.544,0.449,0.564,0.895,1.090,0.453,
+0.386,0.750,0.598,0.338,0.291,0.430,0.566,0.057,0.329,0.549,
+0.735,0.546,0.480,1.040,0.597,0.363,0.292,0.487,0.418,0.290,
+0.276,0.376,0.456,0.036,0.345,0.526,0.474,0.583,0.389,0.637,
+0.688,0.517,0.448,0.752,0.050,0.061,0.033,0.062,0.614,0.043,
+0.487,0.692,0.621,0.676,0.624,0.865,1.170,0.483,0.553,1.190,
+0.703,0.562,0.509,0.818,1.100,0.060,0.840,1.420,1.750,1.040,
+1.260,2.150,2.040,1.280,1.190,1.810,1.410,0.933,0.890,1.020,
+1.270,0.130,0.852,1.350,1.450,1.210,1.030,1.510,1.420,0.964,
+0.829,0.924,1.280,0.797,0.787,0.752,0.985,0.093,0.919,0.987,
+0.659,0.744,0.896,0.968,0.854,0.730,0.641,0.754,0.083,0.066,
+0.079,0.113,0.673,0.072,0.581,0.697,0.568,0.704,0.728,0.942,
+1.070,0.767,0.496,1.010,0.974,0.675,0.575,0.869,0.748,0.068,
+0.637,0.915,0.869,0.634,0.945,1.430,1.720,1.220,0.872,1.140,
+1.140,1.040,0.862,0.814,1.030,0.144,0.794,1.270,0.726,0.982,
+0.734,1.020,1.240,0.967,0.772,0.796,0.932,0.666,0.785,0.716,
+1.020,0.135,1.350,1.320,0.512,0.738,1.340,0.904,0.994,1.010,
+0.664,0.679,0.125,0.114,0.105,0.100,1.280,0.150,1.030,1.050,
+0.579,1.090,1.040,0.835,0.659,0.827,0.348,0.532,0.904,0.680,
+0.551,0.703,0.802,0.077,0.747,0.870,0.605,0.637,0.830,1.080,
+1.020,0.549,0.497,0.664,0.731,0.557,0.641,0.600,1.100,0.125,
+0.641,0.757,0.641,0.639,0.602,0.910,0.072,0.067,0.056,0.068,
+0.076,0.092,0.079,0.069,0.087,0.022,0.101,0.097,0.062,0.120,
+0.124,0.109,0.667,0.591,0.671,0.575,0.078,0.064,0.086,0.086,
+0.879,0.110,0.842,0.859,0.528,0.752,1.170,0.817,0.602,0.354,
+0.357,0.413,0.656,0.604,0.608,0.613,0.897,0.105,0.879,0.972,
+0.606,0.672,1.200,1.090,1.020,0.481,0.410,0.688,0.507,0.352,
+0.312,0.395,0.630,0.075,0.429,0.491,0.581,0.469,0.423,0.812,
+0.827,0.591,0.513,0.658,0.680,0.594,0.495,0.522,0.601,0.070,
+0.586,0.723,0.481,0.670,0.576,0.726,0.433,0.431,0.434,0.520,
+0.042,0.041,0.051,0.061,0.526,0.054,0.499,0.589,0.425,0.575,
+0.668,0.795,0.637,0.399,0.357,0.673,0.436,0.447,0.381,0.509,
+0.769,0.061,0.663,0.957,0.945,0.832,1.160,1.650,1.920,1.340,
+1.110,1.440,1.470,1.340,1.100,0.995,1.200,0.133,0.742,0.964,
+0.993,1.060,0.863,1.130,1.570,1.330,0.897,0.996,1.580,1.200,
+1.140,0.921,1.100,0.158,1.130,1.180,0.581,0.943,0.848,0.939,
+0.821,0.800,0.793,0.754,0.110,0.118,0.109,0.118,0.714,0.089,
+0.665,0.669,0.476,0.711,0.782,0.864,0.709,0.425,0.423,0.753,
+0.880,0.820,0.625,0.781,0.625,0.067,0.607,0.710,0.729,0.551,
+0.879,1.180,1.670,1.710,0.892,1.140,1.610,2.370,1.160,0.951,
+1.090,0.168,0.767,0.917,0.650,1.140,0.628,0.888,1.430,1.490,
+0.925,0.921,1.130,0.549,0.889,0.777,1.150,0.201,1.120,1.310,
+0.510,1.010,0.812,0.803,2.070,1.360,0.871,0.887,0.460,0.212,
+0.155,0.142,1.200,0.218,1.060,1.270,0.650,1.560,1.410,1.140,
+0.767,0.534,0.398,0.620,1.660,1.080,0.724,0.791,0.811,0.102,
+0.819,0.995,0.539,0.672,0.940,1.070,1.070,0.739,0.597,0.634,
+1.290,1.240,0.992,0.742,2.200,0.265,0.884,0.988,0.935,1.140,
+0.741,0.927,0.099,0.145,0.095,0.080,0.114,0.202,0.151,0.101,
+0.152,0.077,0.147,0.147,0.080,0.270,0.120,0.104,2.030,1.740,
+1.170,1.080,0.325,0.276,0.241,0.192,1.800,0.263,1.470,1.540,
+1.430,1.990,2.020,1.550,1.400,0.574,0.625,0.654,1.200,1.390,
+1.190,1.060,1.220,0.168,1.290,1.410,0.740,0.896,1.320,1.320,
+0.658,0.455,0.369,0.556,0.568,0.470,0.382,0.364,0.706,0.063,
+0.442,0.458,0.530,0.479,0.384,0.598,0.794,0.788,0.615,0.639,
+0.751,0.942,0.724,0.689,0.696,0.125,0.729,0.821,0.424,0.885,
+0.632,0.693,0.525,0.578,0.560,0.558,0.058,0.069,0.056,0.064,
+0.622,0.067,0.696,0.742,0.476,0.713,0.952,0.767,0.588,0.361,
+0.336,0.538,0.512,0.520,0.399,0.525,0.729,0.061,0.738,0.961,
+0.751,0.734,0.937,1.210,1.110,1.020,0.629,0.898,0.751,0.714,
+0.521,0.560,0.686,0.090,0.544,0.664,0.551,0.667,0.642,0.675,
+1.390,1.260,0.710,0.788,1.130,1.150,0.951,0.840,1.110,0.186,
+1.240,1.110,0.561,1.050,0.836,0.801,0.606,0.953,0.779,1.100,
+0.085,0.145,0.129,0.211,0.693,0.121,0.781,0.771,0.402,0.834,
+0.728,0.777,0.511,0.431,0.353,0.640,0.577,0.663,0.537,0.699,
+0.665,0.091,0.690,0.831,0.600,0.582,0.766,1.250,0.075,0.094,
+0.049,0.072,0.097,0.165,0.085,0.080,0.072,0.021,0.073,0.077,
+0.061,0.110,0.063,0.080,0.121,0.161,0.075,0.080,0.153,0.214,
+0.151,0.117,0.129,0.052,0.190,0.155,0.060,0.147,0.125,0.090,
+0.070,0.131,0.082,0.086,0.025,0.054,0.050,0.030,0.109,0.058,
+0.172,0.150,0.053,0.169,0.132,0.100,0.068,0.069,0.044,0.073,
+0.131,0.191,0.123,0.154,0.109,0.026,0.136,0.135,0.073,0.091,
+0.108,0.145,0.931,0.815,0.570,0.543,0.811,1.100,0.914,0.663,
+1.090,0.211,1.120,0.925,0.551,0.912,0.747,0.856,0.092,0.165,
+0.074,0.063,0.107,0.186,0.162,0.092,0.143,0.055,0.228,0.154,
+0.073,0.182,0.123,0.098,0.872,1.370,1.070,0.791,0.129,0.230,
+0.226,0.146,1.590,0.339,1.200,1.290,0.667,1.610,1.440,1.150,
+0.599,0.540,0.506,0.533,1.010,1.450,1.290,1.070,2.180,0.350,
+1.760,1.790,0.856,1.200,1.400,1.390,0.668,0.495,0.350,0.596,
+0.500,0.436,0.321,0.343,0.593,0.074,0.460,0.611,0.503,0.560,
+0.354,0.650,0.934,0.986,0.620,0.678,0.923,1.230,0.860,0.703,
+1.000,0.163,1.200,1.320,0.657,1.250,0.852,0.912,0.625,0.943,
+0.707,0.694,0.070,0.118,0.102,0.089,1.070,0.169,1.230,1.340,
+0.703,1.400,1.080,1.080,0.575,0.473,0.399,0.603,0.586,0.712,
+0.584,0.610,1.120,0.141,1.370,1.470,0.932,1.100,1.330,1.540,
+1.140,0.663,0.596,0.924,0.679,0.456,0.423,0.623,0.691,0.065,
+0.590,0.664,0.791,0.663,2.740,1.260,0.718,0.484,0.387,0.480,
+0.540,0.402,0.406,0.441,0.515,0.053,0.603,0.590,0.465,0.451,
+1.640,0.802,0.484,0.636,0.419,0.609,0.042,0.049,0.042,0.081,
+0.463,0.051,0.514,0.535,0.367,0.434,0.547,0.674,0.605,0.398,
+0.376,0.693,0.458,0.352,0.335,0.625,0.624,0.051,0.506,0.785,
+0.712,0.504,0.756,1.370,1.240,0.894,0.588,1.060,0.924,0.895,
+0.684,0.758,0.825,0.104,0.750,0.923,0.749,0.889,0.736,0.971,
+1.060,0.833,0.547,0.707,1.000,0.875,0.754,0.820,0.811,0.104,
+0.991,1.100,0.538,0.761,1.090,0.905,0.668,0.847,0.596,0.794,
+0.072,0.118,0.084,0.121,0.838,0.125,0.895,1.060,0.610,1.120,
+0.921,1.200,0.721,0.506,0.450,0.719,0.903,0.854,0.787,1.150,
+0.865,0.085,1.020,1.230,0.723,0.826,0.949,1.430,0.744,0.436,
+0.371,0.518,0.742,0.607,0.534,0.558,0.810,0.105,0.739,0.874,
+0.509,0.578,0.738,0.967,0.056,0.062,0.036,0.052,0.073,0.135,
+0.072,0.068,0.076,0.017,0.092,0.110,0.048,0.104,0.102,0.083,
+0.564,0.670,0.561,0.602,0.057,0.075,0.076,0.097,0.919,0.140,
+1.020,1.100,0.545,0.995,1.050,1.030,0.581,0.419,0.447,0.530,
+0.733,0.705,0.788,1.000,2.480,0.190,1.470,3.070,0.821,0.834,
+1.260,1.530,0.851,0.482,0.411,0.675,0.607,0.447,0.323,0.418,
+0.584,0.069,0.421,0.622,0.549,0.441,0.530,0.871,0.680,0.519,
+0.399,0.558,0.593,0.615,0.484,0.529,0.512,0.059,0.548,0.746,
+0.481,0.626,0.599,0.768,0.558,0.581,0.551,0.708,0.047,0.054,
+0.051,0.072,0.748,0.079,0.858,1.020,0.649,0.850,0.959,1.120,
+0.802,0.460,0.561,0.974,0.646,0.673,0.729,0.895,1.150,0.085,
+1.240,1.790,1.360,1.060,1.590,1.870,2.410,1.110,1.060,1.680,
+1.340,0.862,0.743,0.899,0.949,0.102,0.643,1.120,1.200,0.946,
+0.785,1.210,1.120,0.659,0.456,0.627,1.120,0.607,0.539,0.606,
+0.724,0.080,0.576,0.592,0.562,0.736,0.522,0.687,1.010,0.604,
+0.533,0.680,0.074,0.056,0.053,0.095,0.533,0.052,0.565,0.803,
+0.446,0.577,0.605,0.771,1.230,0.412,0.370,0.706,0.636,0.432,
+0.417,0.614,0.491,0.043,0.442,0.646,0.632,0.351,0.644,1.290,
+1.750,1.180,0.735,1.240,1.300,1.060,0.884,0.832,0.775,0.098,
+0.586,0.787,0.650,0.755,0.534,0.813,1.460,0.960,0.631,0.729,
+1.150,0.675,0.772,0.714,0.914,0.103,0.845,0.939,0.566,0.839,
+0.529,0.678,1.100,0.983,0.774,0.931,0.111,0.121,0.111,0.138,
+1.030,0.146,1.110,2.280,0.560,1.120,0.970,1.190,0.847,0.508,
+0.368,0.605,0.949,0.824,0.683,0.944,0.749,0.076,0.687,1.050,
+0.622,0.598,0.798,2.260,1.040,0.653,0.704,0.959,1.110,1.000,
+0.889,0.847,0.998,0.150,0.717,0.734,0.722,0.974,0.663,0.866,
+0.094,0.098,0.083,0.101,0.126,0.136,0.113,0.117,0.102,0.023,
+0.131,0.123,0.097,0.204,0.114,0.131,0.846,1.040,0.770,0.713,
+0.095,0.106,0.126,0.117,0.986,0.148,1.120,1.050,0.554,1.060,
+1.140,0.913,0.615,0.489,0.380,0.486,0.932,0.887,0.924,0.899,
+0.908,0.101,0.955,1.090,0.619,0.677,1.020,1.180,1.030,0.539,
+0.466,0.727,0.676,0.573,0.442,0.464,0.558,0.064,0.383,0.465,
+0.653,0.558,0.479,0.798,0.927,0.659,0.721,0.741,0.906,0.696,
+0.617,0.681,0.619,0.063,0.616,0.754,0.562,0.720,0.566,0.792,
+0.706,0.795,0.654,0.758,0.075,0.080,0.090,0.105,0.871,0.102,
+0.895,1.040,0.871,1.650,1.650,1.320,0.872,0.584,0.499,0.849,
+0.577,0.509,0.559,0.746,0.991,0.092,0.928,1.380,1.200,1.120,
+1.380,2.390,0.141,0.098,0.074,0.101,0.117,0.121,0.091,0.081,
+0.077,0.011,0.062,0.105,0.069,0.091,0.066,0.091,0.139,0.098,
+0.061,0.083,0.142,0.143,0.115,0.104,0.089,0.021,0.099,0.094,
+0.063,0.093,0.081,0.090,0.065,0.073,0.085,0.072,8.61e-3,0.018,
+0.016,0.016,0.061,0.013,0.083,0.162,0.042,0.071,0.084,0.096,
+0.080,0.041,0.041,0.064,0.087,0.095,0.066,0.091,0.059,9.69e-3,
+0.053,0.082,0.059,0.047,0.075,0.142,0.133,0.138,0.069,0.089,
+0.144,0.198,0.149,0.098,0.084,0.021,0.087,0.087,0.057,0.088,
+0.060,0.079,0.172,0.179,0.098,0.095,0.207,0.163,0.186,0.141,
+0.147,0.044,0.180,0.164,0.073,0.123,0.096,0.101,0.114,0.154,
+0.090,0.101,0.030,0.055,0.049,0.032,0.170,0.059,0.204,0.447,
+0.064,0.185,0.156,0.155,0.078,0.055,0.043,0.063,0.135,0.148,
+0.122,0.122,0.100,0.017,0.101,0.133,0.065,0.074,0.095,0.201,
+0.093,0.070,0.048,0.059,0.123,0.150,0.131,0.088,0.101,0.027,
+0.092,0.079,0.052,0.090,0.071,0.079,0.010,0.022,0.014,0.015,
+0.025,0.048,0.039,0.024,0.024,0.020,0.043,0.030,8.02e-3,0.025,
+0.021,0.018,0.109,0.180,0.118,0.099,0.022,0.047,0.062,0.030,
+0.175,0.073,0.217,0.198,0.070,0.188,0.204,0.147,0.075,0.057,
+0.051,0.056,0.133,0.178,0.164,0.147,0.129,0.027,0.165,0.196,
+0.060,0.087,0.132,0.143,0.086,0.070,0.053,0.067,0.073,0.072,
+0.063,0.053,0.057,9.78e-3,0.052,0.052,0.057,0.061,0.066,0.082,
+0.114,0.111,0.098,0.157,0.152,0.179,0.140,0.137,0.105,0.019,
+0.132,0.133,0.077,0.135,0.117,0.128,0.069,0.095,0.088,0.087,
+0.013,0.020,0.025,0.022,0.117,0.025,0.151,0.161,0.083,0.158,
+0.366,0.169,0.084,0.067,0.052,0.079,0.075,0.079,0.080,0.091,
+0.105,0.012,0.123,0.154,0.102,0.113,0.160,0.221,1.600,1.010,
+0.735,1.190,0.871,0.776,0.617,0.715,0.773,0.082,0.703,0.792,
+0.526,0.538,0.502,0.667,1.320,1.100,0.613,0.752,1.230,1.060,
+0.942,0.862,1.040,0.159,1.540,1.280,0.504,0.798,0.651,0.772,
+0.754,0.902,0.788,0.812,0.117,0.169,0.168,0.209,1.010,0.159,
+1.290,1.330,0.485,0.966,0.805,0.883,0.646,0.431,0.355,0.581,
+0.773,0.733,0.650,0.782,0.771,0.095,1.010,1.110,0.582,0.521,
+0.786,1.250,0.127,0.121,0.055,0.077,0.122,0.164,0.135,0.098,
+0.073,0.022,0.093,0.084,0.047,0.074,0.049,0.071,0.116,0.156,
+0.068,0.062,0.148,0.154,0.133,0.105,0.099,0.034,0.168,0.130,
+0.043,0.083,0.065,0.066,0.084,0.172,0.104,0.090,0.024,0.057,
+0.064,0.034,0.151,0.061,0.249,0.355,0.059,0.169,0.133,0.123,
+0.085,0.070,0.045,0.077,0.144,0.197,0.147,0.155,0.110,0.022,
+0.140,0.191,0.064,0.076,0.092,0.173,2.370,1.450,0.897,0.687,
+1.190,1.510,1.300,0.868,1.270,0.254,2.540,1.330,0.557,0.817,
+1.080,0.898,0.189,0.448,0.125,0.082,0.169,0.330,0.210,0.119,
+0.185,0.077,0.475,0.250,0.082,0.175,0.163,0.115,1.270,1.920,
+1.640,1.010,0.233,0.257,0.435,0.192,1.750,0.330,0.766,1.020,
+0.827,1.170,1.460,1.250,0.706,0.662,0.558,0.536,1.100,1.330,
+1.350,1.030,1.320,0.214,2.270,1.690,0.622,0.876,1.370,1.300,
+0.874,0.611,0.462,0.618,0.610,0.576,0.415,0.390,0.582,0.083,
+0.864,0.649,0.434,0.467,0.496,0.607,0.982,1.420,0.690,0.645,
+1.050,1.420,0.966,0.736,1.000,0.165,2.080,1.380,0.566,0.935,
+0.921,0.827,0.826,1.250,0.976,0.912,0.109,0.210,0.171,0.151,
+1.630,0.236,2.120,2.250,0.766,1.490,1.550,1.510,0.711,0.553,
+0.456,0.631,0.790,0.966,0.741,0.739,1.150,0.128,1.810,1.520,
+0.851,1.020,1.350,1.600,1.220,0.612,0.484,0.863,0.776,0.482,
+0.414,0.556,0.561,0.058,0.406,0.553,0.572,0.481,0.496,0.753,
+0.869,0.569,0.345,0.488,0.634,0.477,0.399,0.455,0.483,0.050,
+0.512,0.556,0.354,0.402,0.384,0.509,0.731,0.504,0.369,0.527,
+0.067,0.054,0.048,0.087,0.615,0.061,0.631,0.770,0.526,0.540,
+0.552,0.733,0.645,0.342,0.292,0.512,0.529,0.382,0.347,0.523,
+0.542,0.051,0.453,0.646,0.582,0.424,0.557,1.100,1.420,1.020,
+0.613,0.934,1.150,0.961,0.886,0.798,0.860,0.090,0.722,0.819,
+0.589,0.741,0.504,0.832,1.150,0.956,0.554,0.688,1.180,0.962,
+0.871,0.849,0.782,0.089,0.961,1.070,0.472,0.635,0.571,0.709,
+0.875,1.170,0.813,0.877,0.097,0.147,0.124,0.136,1.270,0.172,
+1.430,2.050,0.723,1.300,1.170,1.430,0.955,0.629,0.456,0.714,
+1.040,1.060,0.926,1.150,1.000,0.138,1.040,1.350,0.672,0.791,
+0.834,1.370,1.280,0.696,0.563,0.714,0.957,0.853,0.869,0.806,
+0.818,0.114,1.020,0.934,0.526,0.620,0.731,0.995,0.087,0.113,
+0.051,0.063,0.105,0.140,0.120,0.098,0.080,0.020,0.172,0.131,
+0.058,0.097,0.082,0.099,0.999,1.300,0.958,1.020,0.112,0.133,
+0.138,0.142,1.470,0.217,1.530,1.720,0.757,1.280,1.560,1.470,
+0.797,0.670,0.645,0.679,1.350,1.310,1.190,1.280,1.370,0.158,
+1.700,2.150,0.747,0.916,1.410,1.580,1.060,0.522,0.502,0.824,
+0.621,0.477,0.441,0.454,0.601,0.077,0.537,0.646,0.567,0.452,
+0.494,0.885,0.838,0.646,0.427,0.585,0.707,0.724,0.673,0.664,
+0.632,0.065,0.887,0.922,0.489,0.582,0.607,0.763,0.986,0.946,
+0.803,1.020,0.079,0.091,0.078,0.119,1.350,0.136,1.590,2.000,
+0.950,1.350,1.630,1.660,1.170,0.637,0.608,1.070,0.936,0.909,
+0.832,1.050,1.320,0.107,1.550,2.030,1.230,1.090,1.680,2.180,
+2.370,1.080,0.879,1.760,1.110,0.685,0.500,0.720,0.866,0.080,
+0.424,0.711,1.250,0.936,0.611,1.150,1.030,0.560,0.368,0.581,
+0.710,0.401,0.325,0.397,0.534,0.044,0.402,0.431,0.512,0.501,
+0.386,0.563,0.773,0.488,0.408,0.687,0.066,0.044,0.038,0.085,
+0.473,0.036,0.355,0.518,0.457,0.499,0.462,0.716,1.010,0.455,
+0.400,0.873,0.670,0.411,0.356,0.641,0.520,0.041,0.417,0.646,
+0.813,0.481,0.641,1.550,1.230,0.708,0.457,0.827,0.788,0.486,
+0.366,0.488,0.464,0.052,0.265,0.458,0.449,0.399,0.276,0.557,
+0.871,0.507,0.307,0.511,0.554,0.316,0.287,0.375,0.476,0.040,
+0.309,0.446,0.375,0.356,0.301,0.433,0.705,0.481,0.407,0.559,
+0.051,0.045,0.042,0.057,0.500,0.045,0.347,0.570,0.397,0.513,
+0.417,0.589,0.522,0.305,0.224,0.419,0.481,0.328,0.277,0.421,
+0.419,0.033,0.319,0.494,0.416,0.332,0.404,0.894,0.909,0.481,
+0.404,0.595,0.713,0.485,0.393,0.525,0.618,0.067,0.298,0.433,
+0.590,0.548,0.385,0.769,0.075,0.049,0.036,0.063,0.067,0.052,
+0.043,0.062,0.049,8.44e-3,0.037,0.054,0.075,0.094,0.049,0.096,
+0.521,0.479,0.377,0.463,0.049,0.037,0.040,0.061,0.509,0.058,
+0.412,0.533,0.459,0.587,0.565,0.681,0.463,0.324,0.260,0.441,
+0.576,0.413,0.379,0.541,0.513,0.049,0.458,0.644,0.523,0.450,
+0.564,0.967,1.280,0.730,0.428,0.845,0.545,0.387,0.318,0.435,
+0.568,0.053,0.321,0.438,0.791,0.528,0.435,0.954,0.766,0.484,
+0.364,0.542,0.502,0.347,0.291,0.371,0.443,0.037,0.336,0.476,
+0.518,0.518,0.397,0.682,0.595,0.645,0.424,0.567,0.042,0.043,
+0.043,0.055,0.614,0.051,0.423,0.597,0.618,0.875,0.819,0.968,
+0.839,0.487,0.424,0.870,0.529,0.394,0.398,0.591,0.796,0.058,
+0.611,0.967,1.170,0.999,1.130,2.230,1.850,0.969,0.675,1.240,
+1.090,0.824,0.563,0.683,0.765,0.074,0.485,0.748,0.838,0.723,
+0.590,0.967,1.200,0.714,0.460,0.700,0.958,0.697,0.591,0.608,
+0.677,0.067,0.663,0.693,0.534,0.568,0.490,0.729,0.652,0.517,
+0.497,0.691,0.061,0.057,0.045,0.086,0.533,0.058,0.464,0.758,
+0.426,0.553,0.567,0.837,0.659,0.355,0.350,0.650,0.656,0.529,
+0.367,0.603,0.512,0.052,0.395,0.647,0.624,0.464,0.586,1.240,
+1.320,0.871,0.481,0.867,1.000,0.813,0.537,0.587,0.627,0.065,
+0.376,0.559,0.530,0.542,0.370,0.703,1.090,0.825,0.442,0.609,
+0.921,0.575,0.536,0.587,0.827,0.087,0.582,0.699,0.492,0.566,
+0.439,0.650,0.769,0.746,0.507,0.696,0.088,0.084,0.061,0.090,
+0.858,0.111,0.627,1.150,0.532,0.889,0.729,0.948,0.557,0.385,
+0.286,0.487,0.703,0.635,0.441,0.602,0.566,0.053,0.432,0.671,
+0.623,0.482,0.534,1.050,0.843,0.498,0.373,0.585,0.811,0.698,
+0.557,0.559,0.685,0.087,0.394,0.533,0.505,0.521,0.627,0.858,
+0.049,0.051,0.039,0.085,0.065,0.084,0.059,0.063,0.055,0.016,
+0.051,0.066,0.049,0.081,0.058,0.079,0.718,0.749,0.535,0.647,
+0.063,0.076,0.080,0.083,0.806,0.115,0.671,0.880,0.519,0.832,
+0.869,1.120,0.567,0.437,0.360,0.563,0.767,0.763,0.678,0.860,
+0.730,0.073,0.687,1.050,0.558,0.601,0.841,1.290,0.842,0.541,
+0.394,0.665,0.557,0.412,0.359,0.455,0.517,0.045,0.339,0.447,
+0.563,0.449,0.492,0.845,0.756,0.580,0.471,0.728,0.646,0.586,
+0.500,0.549,0.535,0.058,0.510,0.647,0.494,0.630,0.545,0.786,
+0.668,0.643,0.529,0.690,0.053,0.055,0.058,0.074,0.626,0.062,
+0.629,0.800,0.592,0.801,1.470,1.280,0.734,0.452,0.406,0.659,
+0.622,0.548,0.485,0.514,0.744,0.055,0.713,1.020,0.882,0.795,
+1.020,1.660,1.720,1.010,0.683,1.190,0.913,0.802,0.507,0.708,
+0.804,0.079,0.476,0.749,0.779,0.662,0.475,0.858,1.290,1.010,
+0.563,0.881,1.050,0.839,0.659,0.730,0.947,0.109,0.850,0.937,
+0.673,0.868,0.629,0.924,0.848,0.971,0.610,0.934,0.096,0.126,
+0.093,0.157,0.836,0.100,0.721,1.060,0.566,0.926,0.756,1.040,
+0.850,0.575,0.412,0.797,0.902,0.745,0.572,0.828,0.827,0.083,
+0.739,1.090,0.850,0.671,1.030,1.850,0.102,0.093,0.045,0.079,
+0.095,0.104,0.057,0.074,0.063,0.012,0.051,0.067,0.054,0.078,
+0.043,0.076,0.096,0.100,0.050,0.075,0.114,0.117,0.070,0.076,
+0.080,0.016,0.090,0.089,0.059,0.084,0.063,0.074,0.066,0.106,
+0.055,0.070,0.011,0.029,0.017,0.016,0.098,0.023,0.100,0.159,
+0.053,0.119,0.083,0.111,0.083,0.061,0.043,0.086,0.112,0.135,
+0.085,0.118,0.098,0.013,0.088,0.124,0.084,0.080,0.089,0.176,
+1.400,0.897,0.607,0.704,1.150,1.060,0.958,0.864,1.010,0.174,
+1.180,0.954,0.653,0.862,0.861,1.080,0.090,0.123,0.052,0.065,
+0.097,0.124,0.094,0.077,0.113,0.028,0.151,0.108,0.075,0.139,
+0.099,0.109,1.140,1.530,1.180,1.050,0.130,0.188,0.190,0.158,
+1.740,0.259,1.130,1.470,0.869,1.640,1.510,1.540,0.853,0.682,
+0.587,0.723,1.110,1.320,1.210,1.160,1.410,0.178,1.870,1.930,
+0.944,1.110,2.070,2.040,1.060,0.693,0.499,0.771,0.792,0.614,
+0.489,0.576,0.637,0.080,0.674,0.741,0.658,0.636,0.558,0.983,
+1.180,1.030,0.559,0.766,1.000,0.966,0.718,0.681,0.972,0.125,
+1.310,1.180,0.787,1.100,0.913,1.110,1.110,1.230,0.854,1.090,
+0.087,0.135,0.099,0.114,1.480,0.151,1.490,1.640,1.110,1.720,
+1.640,1.810,0.947,0.669,0.549,0.842,0.821,0.913,0.738,0.847,
+1.360,0.116,1.540,1.490,1.190,1.320,1.680,2.200,2.820,1.070,
+0.701,1.490,1.120,0.660,0.467,0.741,0.800,0.072,0.457,0.734,
+1.010,0.724,0.656,1.230,1.020,0.616,0.350,0.581,0.736,0.503,
+0.351,0.501,0.643,0.055,0.476,0.676,0.519,0.481,0.443,0.728,
+0.844,0.715,0.445,0.839,0.068,0.069,0.045,0.102,0.634,0.064,
+0.500,0.785,0.569,0.681,0.614,0.968,1.330,0.676,0.500,1.100,
+0.834,0.554,0.462,0.831,1.030,0.074,0.628,1.020,1.150,0.811,
+1.010,2.270,1.750,0.944,0.569,1.070,1.080,0.771,0.561,0.755,
+0.722,0.070,0.538,0.806,0.689,0.711,0.494,0.971,1.230,0.825,
+0.476,0.769,1.280,0.785,0.510,0.780,0.711,0.069,0.623,0.810,
+0.542,0.652,0.491,0.809,0.955,0.911,0.609,0.894,0.067,0.081,
+0.055,0.096,0.967,0.097,0.825,1.280,0.694,1.090,0.881,1.300,
+1.100,0.640,0.473,0.889,0.925,0.762,0.600,1.000,1.270,0.097,
+0.750,1.150,0.904,0.886,0.921,1.700,1.500,0.818,0.618,0.880,
+1.140,0.807,0.707,0.915,1.060,0.126,0.767,1.020,0.871,0.902,
+0.836,1.470,0.094,0.073,0.045,0.073,0.086,0.079,0.064,0.076,
+0.067,0.011,0.075,0.084,0.076,0.101,0.074,0.123,1.180,1.260,
+0.908,1.260,0.088,0.107,0.086,0.129,1.450,0.179,1.360,1.640,
+1.010,1.520,1.590,2.030,1.150,0.819,0.738,1.060,1.250,1.160,
+1.040,1.430,1.540,0.135,1.620,2.360,1.170,1.150,1.930,2.740,
+2.610,1.010,0.733,1.560,0.919,0.652,0.588,0.825,1.030,0.089,
+0.627,1.010,1.350,0.995,0.926,2.270,1.270,0.811,0.535,0.938,
+0.962,0.774,0.607,0.758,0.862,0.070,0.798,1.080,0.913,0.953,
+0.808,1.490,1.330,1.180,0.969,1.500,0.077,0.088,0.063,0.119,
+1.530,0.120,1.410,2.040,1.480,1.720,2.140,2.700,2.120,0.876,
+0.848,2.000,1.020,0.948,0.831,1.470,1.550,0.100,1.400,2.500,
+1.670,1.380,1.810,3.900,4.290,1.510,1.220,2.840,1.870,0.979,
+0.994,1.420,2.180,0.178,0.851,1.440,4.330,2.180,1.470,2.490,
+2.250,1.080,0.784,1.140,1.310,0.677,0.619,0.709,1.370,0.074,
+0.654,0.928,1.320,0.896,0.756,1.280,2.100,1.260,0.993,1.610,
+0.145,0.104,0.085,0.203,1.250,0.092,0.576,0.898,1.450,1.200,
+0.888,1.480,3.610,1.350,1.320,2.980,1.870,1.120,1.100,2.210,
+1.650,0.143,0.838,1.450,2.510,1.420,1.630,2.920,2.610,1.210,
+0.837,1.250,1.320,0.702,0.701,0.699,1.050,0.093,0.460,0.752,
+1.050,0.826,0.476,0.950,1.550,0.771,0.477,0.688,0.874,0.378,
+0.385,0.404,0.805,0.060,0.405,0.575,0.591,0.467,0.359,0.609,
+1.200,0.888,0.547,0.772,0.071,0.050,0.048,0.068,0.807,0.059,
+0.416,0.625,0.638,0.692,0.457,0.730,1.060,0.598,0.449,0.824,
+0.834,0.546,0.544,0.676,0.917,0.056,0.454,0.737,0.899,0.663,
+0.624,1.300,1.780,0.695,0.652,1.020,1.020,0.491,0.520,0.626,
+1.090,0.101,0.480,0.803,1.230,0.777,0.691,1.310,0.121,0.061,
+0.048,0.077,0.080,0.048,0.042,0.056,0.076,8.86e-3,0.055,0.088,
+0.128,0.111,0.076,0.140,0.787,0.567,0.474,0.670,0.056,0.038,
+0.034,0.064,0.636,0.051,0.340,0.466,0.558,0.499,0.551,0.616,
+0.890,0.460,0.444,0.797,0.826,0.546,0.493,0.795,0.823,0.065,
+0.553,0.874,0.746,0.612,0.742,1.200,3.050,1.010,0.950,1.860,
+1.000,0.493,0.565,0.725,1.250,0.108,0.594,0.969,2.170,1.190,
+0.979,2.350,1.840,0.865,0.742,1.070,0.926,0.511,0.543,0.622,
+1.020,0.066,0.856,1.090,1.370,1.010,0.911,1.490,0.999,0.805,
+0.595,1.000,0.077,0.052,0.044,0.081,0.920,0.055,0.482,0.780,
+0.920,0.820,0.751,1.090,1.670,0.841,0.768,1.750,0.915,0.602,
+0.587,1.030,1.270,0.072,0.814,1.430,1.760,1.250,1.280,2.600,
+2.630,1.240,1.020,1.760,1.110,0.730,0.649,0.846,0.994,0.090,
+0.486,0.821,1.240,0.986,0.648,1.250,1.260,0.732,0.499,0.734,
+0.813,0.506,0.469,0.511,0.662,0.051,0.389,0.636,0.542,0.531,
+0.400,0.763,0.899,0.830,0.584,0.797,0.071,0.073,0.048,0.080,
+0.544,0.053,0.344,0.517,0.545,0.608,0.428,0.773,0.919,0.490,
+0.477,0.817,0.732,0.569,0.427,0.656,0.765,0.082,0.341,0.557,
+0.756,0.534,0.566,1.180,1.640,0.926,0.508,0.863,0.879,0.601,
+0.409,0.495,0.667,0.060,0.283,0.476,0.663,0.585,0.294,0.594,
+0.848,0.554,0.336,0.447,0.472,0.234,0.274,0.278,0.482,0.039,
+0.269,0.425,0.330,0.352,0.255,0.379,0.648,0.758,0.360,0.492,
+0.046,0.071,0.028,0.041,0.519,0.057,0.321,0.456,0.377,0.575,
+0.357,0.522,0.542,0.390,0.268,0.434,0.501,0.453,0.248,0.346,
+0.647,0.045,0.262,0.412,0.472,0.388,0.319,0.677,1.390,0.563,
+0.418,0.682,0.771,0.492,0.505,0.522,0.673,0.072,0.353,0.701,
+0.597,0.551,0.458,0.834,0.100,0.059,0.036,0.049,0.041,0.050,
+0.040,0.037,0.042,9.28e-3,0.036,0.058,0.050,0.072,0.043,0.071,
+0.621,0.560,0.442,0.534,0.048,0.040,0.038,0.049,0.509,0.052,
+0.387,0.489,0.375,0.515,0.676,0.620,0.526,0.295,0.309,0.508,
+0.517,0.432,0.378,0.498,0.477,0.038,0.408,0.575,0.422,0.362,
+0.658,0.772,1.310,0.532,0.499,0.789,0.624,0.373,0.464,0.448,
+0.580,0.045,0.318,0.559,0.761,0.484,0.422,1.030,1.600,0.563,
+0.511,0.664,0.593,0.434,0.434,0.468,0.500,0.046,0.459,0.838,
+0.545,0.569,0.519,0.855,0.600,0.536,0.465,0.637,0.041,0.037,
+0.032,0.051,0.479,0.037,0.358,0.545,0.432,0.495,0.599,0.770,
+0.736,0.394,0.393,0.716,0.518,0.377,0.365,0.579,0.618,0.042,
+0.479,0.783,0.768,0.674,0.764,1.520,1.510,0.850,0.666,1.150,
+0.689,0.471,0.455,0.607,0.810,0.077,0.348,0.536,0.915,0.728,
+0.413,0.794,1.040,0.639,0.413,0.665,0.611,0.390,0.414,0.480,
+0.744,0.073,0.396,0.535,0.548,0.624,0.403,0.630,0.870,0.928,
+0.552,0.879,0.095,0.207,0.056,0.118,0.620,0.066,0.304,0.478,
+0.514,0.679,0.369,0.749,0.878,0.544,0.457,0.970,0.674,0.684,
+0.408,0.669,0.982,0.073,0.409,0.707,0.851,0.601,0.649,1.680,
+0.107,0.076,0.048,0.080,0.080,0.064,0.052,0.054,0.074,9.94e-3,
+0.031,0.050,0.086,0.088,0.042,0.072,0.081,0.059,0.031,0.051,
+0.067,0.053,0.044,0.050,0.066,8.19e-3,0.038,0.050,0.052,0.058,
+0.031,0.057,0.065,0.083,0.043,0.064,9.11e-3,0.019,6.85e-3,9.53e-3,
+0.061,0.010,0.041,0.055,0.054,0.079,0.042,0.070,0.104,0.070,
+0.051,0.099,0.103,0.119,0.071,0.101,0.105,0.010,0.058,0.084,
+0.096,0.083,0.073,0.163,0.766,0.465,0.342,0.446,0.498,0.352,
+0.339,0.379,0.587,0.070,0.328,0.431,0.482,0.433,0.357,0.512,
+0.061,0.044,0.029,0.035,0.030,0.031,0.028,0.030,0.042,7.52e-3,
+0.030,0.035,0.051,0.057,0.033,0.045,0.527,0.508,0.357,0.415,
+0.038,0.044,0.032,0.040,0.508,0.053,0.324,0.394,0.353,0.427,
+0.352,0.411,0.466,0.317,0.312,0.384,0.423,0.385,0.352,0.409,
+0.571,0.063,0.421,0.551,0.390,0.421,0.391,0.610,0.838,0.256,
+0.299,0.520,0.570,0.283,0.297,0.359,0.504,0.041,0.267,0.446,
+0.690,0.374,0.222,0.455,0.887,0.367,0.308,0.531,0.525,0.477,
+0.387,0.438,0.580,0.042,0.373,0.558,0.643,0.502,0.261,0.441,
+0.629,0.591,0.435,0.693,0.051,0.057,0.034,0.070,0.631,0.048,
+0.409,0.628,0.547,0.633,0.460,0.707,0.707,0.402,0.396,0.593,
+0.530,0.435,0.399,0.536,0.777,0.060,0.524,0.832,0.901,0.734,
+0.669,1.470,2.390,1.100,0.830,1.800,0.833,0.488,0.507,0.722,
+0.925,0.081,0.409,0.709,1.520,0.904,0.660,1.420,1.010,0.518,
+0.356,0.614,0.631,0.282,0.281,0.469,0.572,0.038,0.373,0.492,
+0.569,0.422,0.330,0.667,1.290,1.200,0.754,1.130,0.084,0.081,
+0.051,0.118,0.732,0.056,0.289,0.506,0.625,0.593,0.379,0.784,
+1.350,0.665,0.645,1.550,0.785,0.508,0.488,0.923,0.917,0.062,
+0.625,0.841,1.270,0.806,0.845,2.430,1.520,0.777,0.505,0.996,
+0.931,0.550,0.447,0.577,0.755,0.064,0.358,0.656,0.815,0.722,
+0.452,0.833,0.959,0.540,0.312,0.561,0.631,0.366,0.300,0.470,
+0.528,0.038,0.315,0.549,0.473,0.438,0.273,0.537,0.749,0.618,
+0.367,0.663,0.047,0.043,0.028,0.055,0.608,0.051,0.328,0.563,
+0.559,0.622,0.391,0.700,0.902,0.487,0.429,0.800,0.695,0.484,
+0.407,0.690,0.725,0.049,0.467,0.698,0.771,0.605,0.560,1.350,
+0.936,0.516,0.385,0.665,0.681,0.431,0.483,0.532,0.684,0.067,
+0.410,0.560,0.632,0.571,0.582,0.891,0.060,0.044,0.027,0.052,
+0.041,0.049,0.035,0.038,0.045,5.01e-3,0.035,0.053,0.053,0.057,
+0.043,0.072,0.683,0.565,0.366,0.562,0.043,0.033,0.028,0.048,
+0.631,0.051,0.352,0.456,0.494,0.505,0.477,0.634,0.651,0.422,
+0.448,0.694,0.624,0.393,0.424,0.682,0.711,0.055,0.489,0.838,
+0.639,0.521,0.599,1.140,1.940,0.671,0.616,1.240,0.744,0.441,
+0.476,0.583,0.805,0.064,0.430,0.717,1.220,0.745,0.681,1.700,
+0.817,0.445,0.340,0.603,0.528,0.347,0.343,0.465,0.562,0.032,
+0.415,0.730,0.707,0.546,0.449,1.010,0.945,0.791,0.565,0.995,
+0.062,0.048,0.034,0.074,0.842,0.056,0.489,0.836,0.961,0.923,
+0.762,1.340,1.740,0.815,0.907,1.850,1.060,0.737,0.691,1.280,
+1.390,0.064,0.887,1.660,2.430,1.500,1.640,5.790,2.730,1.470,
+1.450,2.360,1.470,0.883,0.758,1.040,1.330,0.114,0.617,0.974,
+2.020,1.460,0.969,1.580,1.580,0.979,0.616,0.802,0.953,0.577,
+0.511,0.564,0.866,0.058,0.540,0.776,0.731,0.750,0.646,0.879,
+0.945,0.926,0.555,0.921,0.071,0.062,0.048,0.110,0.597,0.052,
+0.378,0.574,0.733,0.729,0.570,1.050,1.320,0.830,0.566,1.390,
+0.917,0.728,0.587,1.070,0.807,0.065,0.473,0.835,1.090,0.708,
+0.834,1.650,1.850,1.020,0.611,0.904,1.140,0.803,0.459,0.565,
+0.778,0.086,0.377,0.624,0.751,0.794,0.434,0.767,1.060,0.673,
+0.390,0.488,0.686,0.394,0.359,0.378,0.646,0.067,0.422,0.648,
+0.425,0.505,0.375,0.478,0.710,0.757,0.361,0.460,0.056,0.053,
+0.043,0.048,0.553,0.055,0.373,0.524,0.447,0.638,0.402,0.542,
+0.580,0.460,0.318,0.457,0.564,0.485,0.592,0.471,0.588,0.044,
+0.343,0.524,0.529,0.512,0.474,0.853,0.849,0.451,0.335,0.534,
+0.741,0.428,0.345,0.474,0.698,0.078,0.298,0.558,0.565,0.505,
+0.398,0.767,0.058,0.047,0.035,0.049,0.050,0.060,0.038,0.048,
+0.046,7.60e-3,0.039,0.058,0.053,0.079,0.047,0.073,0.449,0.493,
+0.331,0.394,0.037,0.033,0.025,0.049,0.387,0.041,0.320,0.426,
+0.360,0.384,0.374,0.432,0.528,0.370,0.268,0.481,0.511,0.415,
+0.371,0.592,0.468,0.049,0.406,0.599,0.438,0.434,0.489,0.763,
+1.010,0.456,0.376,0.789,0.596,0.294,0.262,0.369,0.615,0.059,
+0.282,0.528,0.819,0.535,0.433,1.100,0.737,0.516,0.456,0.634,
+0.514,0.393,0.386,0.425,0.440,0.041,0.398,0.630,0.465,0.543,
+0.413,0.671,0.454,0.415,0.316,0.504,0.034,0.030,0.027,0.045,
+0.394,0.034,0.403,0.485,0.406,0.454,0.424,0.610,0.741,0.430,
+0.377,0.801,0.457,0.342,0.339,0.544,0.649,0.048,0.460,0.786,
+0.845,0.708,0.864,1.660,1.620,0.967,0.785,1.240,1.010,0.728,
+0.600,0.763,0.661,0.062,0.342,0.586,1.050,0.763,0.486,1.020,
+0.900,0.722,0.425,0.529,0.670,0.507,0.465,0.455,0.518,0.053,
+0.368,0.554,0.465,0.570,0.349,0.623,0.536,0.570,0.375,0.529,
+0.049,0.054,0.037,0.060,0.485,0.042,0.294,0.406,0.870,0.568,
+0.381,0.805,0.596,0.362,0.305,0.573,0.544,0.531,0.348,0.491,
+0.444,0.040,0.286,0.421,1.040,0.465,0.476,0.971,1.010,0.755,
+0.366,0.559,0.724,0.691,0.336,0.387,0.477,0.048,0.257,0.378,
+0.438,0.494,0.240,0.462,0.637,0.516,0.257,0.310,0.338,0.096,
+0.207,0.212,0.350,0.045,0.236,0.398,0.247,0.394,0.202,0.321,
+0.444,0.642,0.264,0.354,0.035,0.051,0.031,0.033,0.390,0.056,
+0.281,0.413,0.343,0.733,0.345,0.482,0.379,0.320,0.253,0.299,
+0.393,0.460,0.233,0.283,0.350,0.033,0.230,0.345,0.339,0.377,
+0.261,0.552,0.836,0.495,0.401,0.608,0.818,0.554,0.423,0.482,
+0.605,0.096,0.308,0.734,0.506,0.657,0.369,0.757,0.044,0.053,
+0.043,0.048,0.057,0.074,0.044,0.038,0.056,0.028,0.039,0.058,
+0.039,0.155,0.034,0.053,0.406,0.501,0.328,0.386,0.040,0.054,
+0.032,0.039,0.394,0.047,0.312,0.445,0.323,0.495,0.592,0.512,
+0.424,0.310,0.266,0.398,0.524,0.611,0.405,0.482,0.463,0.045,
+0.336,0.531,0.460,0.399,0.459,0.689,0.673,0.391,0.317,0.586,
+0.487,0.325,0.248,0.313,0.416,0.042,0.244,0.504,0.710,0.438,
+0.338,0.912,0.519,0.426,0.390,0.587,0.459,0.412,0.347,0.356,
+0.369,0.054,0.326,0.666,0.324,0.587,0.304,0.518,0.386,0.439,
+0.331,0.465,0.033,0.033,0.026,0.038,0.314,0.034,0.291,0.446,
+0.311,0.438,0.433,0.581,0.458,0.304,0.263,0.540,0.451,0.355,
+0.343,0.444,0.493,0.035,0.313,0.571,0.557,0.578,0.552,1.130,
+0.955,0.672,0.670,0.869,0.689,0.459,0.312,0.435,0.512,0.053,
+0.275,0.399,0.565,0.564,0.316,0.606,0.810,0.656,0.306,0.445,
+0.493,0.410,0.311,0.364,0.554,0.055,0.363,0.452,0.356,0.511,
+0.274,0.460,0.596,0.922,0.415,0.763,0.051,0.074,0.039,0.095,
+0.458,0.054,0.285,0.488,0.333,0.508,0.319,0.828,0.514,0.439,
+0.266,0.605,0.417,0.451,0.288,0.485,0.505,0.047,0.318,0.544,
+0.500,0.393,0.460,0.990,0.053,0.050,0.030,0.041,0.059,0.064,
+0.029,0.037,0.040,7.27e-3,0.027,0.038,0.039,0.048,0.026,0.044,
+0.052,0.048,0.023,0.028,0.051,0.057,0.030,0.040,0.042,0.012,
+0.036,0.046,0.037,0.049,0.029,0.035,0.034,0.061,0.023,0.038,
+5.26e-3,0.013,8.69e-3,6.10e-3,0.038,0.012,0.037,0.042,0.027,0.054,
+0.035,0.054,0.042,0.037,0.023,0.044,0.051,0.071,0.040,0.054,
+0.048,7.77e-3,0.037,0.055,0.039,0.039,0.042,0.073,0.630,0.483,
+0.293,0.440,0.694,0.483,0.352,0.434,0.612,0.087,0.289,0.420,
+0.410,0.500,0.297,0.479,0.037,0.050,0.026,0.028,0.034,0.051,
+0.029,0.026,0.041,0.010,0.034,0.039,0.032,0.058,0.031,0.033,
+0.373,0.564,0.282,0.354,0.037,0.056,0.031,0.040,0.442,0.064,
+0.214,0.365,0.268,0.459,0.298,0.385,0.328,0.330,0.239,0.311,
+0.403,0.615,0.321,0.381,0.557,0.068,0.448,0.527,0.323,0.418,
+0.377,0.523,0.565,0.351,0.316,0.653,0.568,0.275,0.304,0.331,
+0.430,0.050,0.268,0.746,0.451,0.435,0.251,0.648,0.501,0.466,
+0.277,0.387,0.424,0.470,0.284,0.330,0.483,0.048,0.332,0.520,
+0.417,0.653,0.298,0.468,0.424,0.544,0.324,0.473,0.034,0.045,
+0.029,0.038,0.520,0.048,0.362,0.533,0.408,0.656,0.446,0.600,
+0.437,0.287,0.235,0.436,0.358,0.341,0.272,0.373,0.608,0.043,
+0.463,0.708,0.571,0.617,0.549,0.917,0.994,0.515,0.416,0.840,
+0.536,0.309,0.257,0.556,0.478,0.039,0.256,0.446,0.631,0.459,
+0.316,0.714,0.594,0.389,0.218,0.361,0.361,0.240,0.192,0.325,
+0.332,0.028,0.253,0.408,0.336,0.289,0.211,0.414,0.483,0.429,
+0.251,0.472,0.031,0.026,0.017,0.052,0.304,0.027,0.179,0.333,
+0.322,0.318,0.216,0.469,0.548,0.331,0.263,0.625,0.369,0.238,
+0.193,0.466,0.436,0.030,0.254,0.487,0.565,0.352,0.393,1.070,
+0.798,0.484,0.290,0.564,0.618,0.475,0.276,0.422,0.459,0.045,
+0.257,0.448,0.457,0.461,0.250,0.531,0.572,0.436,0.203,0.354,
+0.570,0.374,0.233,0.405,0.400,0.041,0.273,0.513,0.333,0.359,
+0.237,0.437,0.371,0.395,0.198,0.335,0.027,0.037,0.017,0.034,
+0.353,0.039,0.257,0.424,0.299,0.454,0.268,0.501,0.398,0.283,
+0.207,0.390,0.450,0.376,0.245,0.431,0.407,0.030,0.322,0.491,
+0.414,0.385,0.409,0.766,0.550,0.368,0.267,0.435,0.487,0.363,
+0.293,0.412,0.520,0.056,0.301,0.454,0.396,0.385,0.350,0.641,
+0.032,0.031,0.016,0.028,0.028,0.053,0.027,0.027,0.028,5.77e-3,
+0.018,0.033,0.029,0.045,0.026,0.043,0.443,0.423,0.253,0.374,
+0.028,0.026,0.018,0.041,0.427,0.037,0.242,0.387,0.310,0.437,
+0.334,0.448,0.398,0.355,0.275,0.433,0.424,0.358,0.277,0.483,
+0.634,0.114,0.396,0.654,0.420,0.484,0.460,0.743,0.754,0.411,
+0.347,0.666,0.443,0.296,0.260,0.402,0.441,0.041,0.252,0.496,
+0.570,0.387,0.361,0.866,0.476,0.364,0.223,0.392,0.351,0.322,
+0.227,0.339,0.313,0.023,0.235,0.421,0.375,0.368,0.294,0.563,
+0.584,0.533,0.344,0.592,0.035,0.032,0.021,0.045,0.513,0.036,
+0.357,0.627,0.564,0.637,0.525,0.825,0.823,0.447,0.453,0.910,
+0.644,0.473,0.416,0.676,0.853,0.053,0.614,1.080,1.220,0.835,
+0.991,1.720,3.320,1.090,1.100,1.850,1.290,0.748,0.766,0.850,
+0.973,0.097,0.566,0.726,1.460,1.000,0.696,1.140,1.060,0.559,
+0.361,0.612,0.688,0.374,0.492,0.435,0.582,0.080,0.419,0.431,
+0.515,0.528,0.390,0.548,0.814,0.580,0.436,0.861,0.067,0.045,
+0.045,0.100,0.599,0.047,0.306,0.723,0.522,0.481,0.464,0.709,
+1.120,0.473,0.392,0.866,0.792,0.506,0.459,0.781,0.593,0.042,
+0.333,0.552,0.773,0.424,0.563,1.130,1.810,0.870,0.713,1.090,
+1.060,0.691,0.641,0.662,0.816,0.121,0.405,0.572,0.841,0.915,
+0.423,0.854,0.917,0.642,0.371,0.504,0.624,0.396,0.404,0.403,
+1.520,0.543,0.482,0.567,0.618,1.230,0.309,0.480,0.752,0.674,
+0.442,0.651,0.071,0.058,0.053,0.080,0.690,0.068,0.413,0.979,
+0.527,0.636,0.438,0.702,0.981,0.447,0.324,0.619,0.838,0.553,
+0.449,0.664,0.694,0.064,0.352,0.593,0.669,0.518,0.474,0.967,
+1.080,0.468,0.398,0.671,0.810,0.552,0.597,0.587,1.040,0.104,
+0.524,0.562,0.745,0.650,0.510,0.864,0.075,0.061,0.039,0.069,
+0.076,0.085,0.059,0.065,0.091,0.017,0.059,0.065,0.090,0.140,
+0.061,0.114,0.461,0.354,0.305,0.434,0.045,0.035,0.035,0.054,
+0.438,0.053,0.268,0.342,0.307,0.409,0.306,0.384,0.509,0.281,
+0.310,0.434,0.612,0.440,0.450,0.600,0.487,0.045,0.607,0.526,
+0.481,0.409,0.462,0.766,1.330,0.479,0.440,0.900,0.605,0.347,
+0.369,0.468,0.783,0.069,0.373,0.528,1.130,0.699,0.494,1.130,
+0.826,0.471,0.438,0.622,0.578,0.407,0.437,0.476,0.637,0.057,
+0.413,0.564,0.698,0.685,0.448,0.751,0.658,0.464,0.399,0.632,
+0.055,0.034,0.037,0.066,0.493,0.041,0.365,0.554,0.540,0.577,
+0.549,0.730,0.993,0.459,0.415,0.896,0.591,0.369,0.476,0.674,
+0.756,0.053,0.609,0.884,1.220,0.874,1.090,2.220,0.194,0.082,
+0.068,0.106,0.114,0.076,0.066,0.087,0.073,6.85e-3,0.043,0.055,
+0.089,0.084,0.049,0.075,0.094,0.063,0.042,0.063,0.080,0.060,
+0.069,0.059,0.050,8.27e-3,0.045,0.050,0.042,0.053,0.043,0.056,
+0.061,0.060,0.041,0.068,9.11e-3,8.94e-3,8.52e-3,0.015,0.056,8.44e-3,
+0.032,0.057,0.049,0.058,0.041,0.063,0.078,0.048,0.035,0.068,
+0.082,0.073,0.055,0.089,0.076,0.013,0.035,0.051,0.078,0.065,
+0.053,0.103,0.133,0.086,0.053,0.082,0.094,0.077,0.059,0.061,
+0.056,8.11e-3,0.028,0.044,0.051,0.059,0.031,0.059,0.090,0.080,
+0.042,0.051,0.073,0.047,0.053,0.054,0.078,0.021,0.041,0.048,
+0.040,0.064,0.030,0.044,0.059,0.068,0.051,0.056,8.52e-3,0.010,
+0.012,8.86e-3,0.064,0.013,0.047,0.067,0.035,0.070,0.046,0.062,
+0.069,0.042,0.038,0.057,0.070,0.068,0.052,0.059,0.059,6.10e-3,
+0.033,0.051,0.051,0.044,0.041,0.092,0.099,0.054,0.037,0.056,
+0.079,0.087,0.084,0.058,0.072,0.011,0.040,0.051,0.054,0.062,
+0.054,0.078,7.10e-3,9.36e-3,6.27e-3,6.60e-3,0.010,0.027,0.013,8.77e-3,
+7.85e-3,4.76e-3,0.010,9.69e-3,4.93e-3,0.013,6.77e-3,8.44e-3,0.052,0.049,
+0.039,0.051,6.85e-3,0.011,9.61e-3,8.94e-3,0.074,0.022,0.041,0.051,
+0.035,0.072,0.049,0.050,0.052,0.032,0.039,0.050,0.068,0.067,
+0.064,0.074,0.056,7.60e-3,0.056,0.061,0.052,0.046,0.055,0.095,
+0.150,0.093,0.074,0.110,0.088,0.060,0.063,0.062,0.083,9.69e-3,
+0.052,0.067,0.113,0.085,0.079,0.149,0.153,0.098,0.107,0.113,
+0.122,0.118,0.107,0.095,0.097,0.013,0.090,0.105,0.103,0.120,
+0.092,0.117,0.069,0.068,0.059,0.079,8.36e-3,8.02e-3,8.69e-3,0.010,
+0.064,8.44e-3,0.051,0.078,0.063,0.088,0.109,0.102,0.106,0.066,
+0.061,0.097,0.099,0.081,0.119,0.102,0.088,9.11e-3,0.070,0.104,
+0.117,0.112,0.123,0.220,1.480,0.607,0.618,0.844,0.677,0.388,
+0.383,0.487,0.550,0.050,0.334,0.415,0.514,0.408,0.286,0.526,
+0.713,0.494,0.316,0.483,0.517,0.376,0.362,0.392,0.542,0.057,
+0.365,0.464,0.342,0.389,0.287,0.445,0.715,0.679,0.621,0.765,
+0.106,0.079,0.155,0.144,0.709,0.061,0.417,0.560,0.415,0.569,
+0.390,0.645,0.637,0.386,0.339,0.698,0.660,0.429,0.585,0.778,
+0.633,0.049,0.372,0.618,0.534,0.417,0.495,1.010,0.087,0.053,
+0.040,0.064,0.066,0.059,0.041,0.055,0.042,6.27e-3,0.033,0.041,
+0.043,0.045,0.025,0.049,0.051,0.043,0.025,0.032,0.054,0.051,
+0.041,0.044,0.052,0.016,0.040,0.042,0.033,0.044,0.025,0.031,
+0.050,0.066,0.092,0.061,8.61e-3,0.013,0.051,0.011,0.058,0.013,
+0.050,0.061,0.040,0.061,0.038,0.054,0.083,0.049,0.042,0.072,
+0.081,0.079,0.099,0.096,0.061,6.10e-3,0.040,0.065,0.049,0.042,
+0.043,0.083,0.878,0.467,0.395,0.435,0.634,0.521,0.450,0.523,
+0.531,0.076,0.488,0.519,0.333,0.376,0.440,0.502,0.055,0.064,
+0.041,0.040,0.053,0.084,0.047,0.035,0.049,0.012,0.075,0.060,
+0.036,0.060,0.039,0.047,0.562,0.551,0.443,0.469,0.062,0.059,
+0.059,0.062,0.588,0.074,0.176,0.300,0.294,0.376,0.359,0.422,
+0.434,0.297,0.274,0.337,0.493,0.456,0.389,0.441,0.579,0.059,
+0.475,0.579,0.335,0.367,0.449,0.581,0.664,0.367,0.325,0.520,
+0.459,0.290,0.232,0.315,0.441,0.052,0.448,0.480,0.446,0.384,
+0.347,0.556,0.638,0.582,0.460,0.513,0.629,0.604,0.420,0.412,
+0.484,0.059,0.503,0.564,0.442,0.542,0.378,0.495,0.664,0.681,
+0.574,0.810,0.061,0.080,0.059,0.077,0.672,0.065,0.587,0.762,
+0.515,0.660,0.595,0.777,0.602,0.377,0.351,0.576,0.492,0.454,
+0.391,0.528,0.668,0.054,0.589,0.818,0.656,0.587,0.665,1.030,
+2.270,0.569,0.472,0.920,0.533,0.342,0.293,0.545,0.459,0.041,
+0.222,0.370,0.693,0.413,0.297,0.683,0.844,0.412,0.277,0.422,
+0.389,0.405,0.239,0.357,0.317,0.027,0.195,0.335,0.309,0.242,
+0.189,0.372,0.639,0.457,0.371,0.623,0.052,0.042,0.042,0.107,
+0.408,0.037,0.235,0.393,0.572,0.444,0.318,0.570,0.795,0.372,
+0.347,0.854,0.566,0.347,0.372,1.130,0.457,0.033,0.246,0.467,
+0.734,0.411,0.430,1.020,1.290,0.670,0.483,0.992,0.691,0.522,
+0.449,0.602,0.539,0.050,0.328,0.491,0.619,0.531,0.325,0.690,
+0.690,0.480,0.317,0.508,0.600,0.581,0.401,0.608,0.463,0.048,
+0.329,0.464,0.383,0.384,0.249,0.428,0.612,0.613,0.704,0.683,
+0.046,0.056,0.088,0.077,0.532,0.052,0.384,0.608,0.480,0.622,
+0.431,0.647,0.745,0.432,0.463,0.794,0.749,0.589,0.537,0.976,
+0.540,0.037,0.357,0.641,0.579,0.511,0.424,0.929,0.934,0.658,
+0.467,0.584,0.819,1.320,0.666,0.610,0.572,0.077,0.382,0.523,
+0.451,0.440,0.475,0.733,0.069,0.146,0.036,0.049,0.147,0.652,
+0.072,0.082,0.042,0.019,0.043,0.053,0.046,0.072,0.036,0.054,
+0.549,0.702,0.405,0.592,0.052,0.125,0.039,0.067,0.550,0.055,
+0.348,0.532,0.466,0.548,0.436,0.581,0.593,0.465,0.377,0.593,
+0.656,0.692,0.537,0.851,0.652,0.054,0.524,1.040,0.573,0.544,
+0.617,0.976,1.130,0.512,0.423,0.805,0.563,0.481,0.356,0.424,
+0.594,0.065,0.341,0.610,0.677,0.445,0.405,0.937,0.683,0.630,
+0.327,0.545,0.674,1.270,0.422,0.495,0.428,0.049,0.347,0.534,
+0.482,0.443,0.371,0.674,0.713,0.686,0.562,0.937,0.055,0.077,
+0.037,0.079,0.734,0.060,0.554,0.949,0.799,0.859,0.747,1.020,
+1.180,0.583,0.580,1.190,0.778,0.660,0.566,0.954,0.945,0.059,
+0.721,1.370,1.370,0.955,1.090,2.000,2.690,1.200,1.450,2.780,
+1.410,0.695,0.729,1.020,1.290,0.100,0.580,0.961,1.960,1.260,
+0.827,1.640,1.090,0.464,0.385,0.615,0.671,0.292,0.362,0.403,
+0.632,0.043,0.380,0.468,0.529,0.443,0.302,0.497,0.998,0.549,
+0.443,0.848,0.069,0.039,0.035,0.091,0.541,0.035,0.303,0.568,
+0.565,0.489,0.392,0.801,1.560,0.649,0.600,1.300,0.842,0.510,
+0.450,0.822,0.889,0.067,0.598,0.801,1.310,0.699,0.796,1.950,
+1.320,0.582,0.474,0.856,0.658,0.336,0.291,0.421,0.571,0.051,
+0.289,0.467,0.775,0.535,0.350,0.792,0.737,0.402,0.279,0.420,
+0.383,0.184,0.203,0.256,0.655,0.118,0.287,0.364,0.436,0.430,
+0.231,0.416,0.673,0.511,0.384,0.554,0.042,0.028,0.027,0.048,
+0.493,0.029,0.246,0.524,0.506,0.446,0.344,0.628,0.836,0.371,
+0.309,0.573,0.521,0.293,0.253,0.391,0.774,0.041,0.325,0.473,
+0.808,0.397,0.404,1.010,1.060,0.437,0.450,0.782,0.596,0.371,
+0.403,0.511,0.808,0.074,0.440,0.512,0.954,0.594,0.480,0.990,
+0.071,0.040,0.036,0.065,0.050,0.043,0.031,0.045,0.056,5.01e-3,
+0.040,0.049,0.093,0.082,0.048,0.097,0.503,0.356,0.375,0.590,
+0.038,0.024,0.028,0.056,0.472,0.033,0.234,0.355,0.446,0.389,
+0.362,0.521,0.629,0.321,0.483,0.684,0.498,0.320,0.360,0.558,
+0.519,0.036,0.373,0.501,0.675,0.439,0.520,1.000,1.730,0.590,
+0.620,1.310,0.695,0.338,0.400,0.616,0.996,0.076,0.488,0.775,
+2.370,1.020,0.813,1.810,0.881,0.444,0.470,0.688,0.482,0.305,
+0.325,0.462,0.700,0.043,0.473,0.675,0.934,0.676,0.552,0.856,
+0.707,0.484,0.445,0.753,0.054,0.030,0.039,0.058,0.658,0.039,
+0.367,0.593,0.872,0.600,0.538,0.825,1.360,0.608,0.615,1.330,
+0.729,0.450,0.623,0.798,1.020,0.061,0.640,1.130,1.740,1.100,
+1.180,2.720,1.840,0.861,0.734,1.410,1.060,0.608,0.583,0.748,
+0.892,0.066,0.404,0.595,1.000,0.753,0.507,1.010,1.020,0.508,
+0.424,0.646,0.737,0.367,0.471,0.478,0.526,0.040,0.398,0.458,
+0.439,0.420,0.356,0.605,0.661,0.514,0.395,0.694,0.055,0.048,
+0.034,0.074,0.492,0.046,0.325,0.541,0.477,0.540,0.422,0.692,
+0.755,0.426,0.369,0.726,0.660,0.522,0.385,0.715,0.795,0.122,
+0.349,0.528,0.782,0.675,0.552,1.140,1.310,0.636,0.407,0.751,
+0.759,0.454,0.321,0.425,0.442,0.041,0.217,0.412,0.518,0.430,
+0.267,0.568,0.731,0.481,0.342,0.441,0.472,0.261,0.265,0.316,
+0.408,0.037,0.258,0.358,0.337,0.327,0.262,0.406,0.540,0.551,
+0.323,0.493,0.045,0.041,0.025,0.041,0.473,0.047,0.279,0.453,
+0.422,0.581,0.359,0.597,0.559,0.349,0.252,0.480,0.509,0.397,
+0.255,0.384,0.451,0.035,0.225,0.418,0.472,0.360,0.319,0.800,
+0.997,0.440,0.375,0.645,0.642,0.416,0.683,0.513,0.638,0.066,
+0.300,0.415,0.646,0.533,0.516,0.793,0.047,0.039,0.028,0.048,
+0.041,0.051,0.043,0.044,0.036,6.18e-3,0.035,0.036,0.048,0.064,
+0.041,0.059,0.537,0.476,0.356,0.530,0.042,0.034,0.035,0.049,
+0.532,0.063,0.277,0.436,0.398,0.537,0.467,0.590,0.593,0.376,
+0.328,0.605,0.570,0.456,0.485,0.607,0.586,0.039,0.333,0.521,
+0.596,0.422,0.553,0.962,1.280,0.562,0.577,0.883,0.604,0.335,
+0.403,0.459,0.625,0.055,0.458,0.538,0.977,0.661,0.602,1.120,
+0.915,0.606,0.589,0.692,0.599,0.439,0.483,0.520,0.615,0.048,
+0.725,0.722,0.727,0.756,0.723,0.821,0.582,0.498,0.468,0.679,
+0.054,0.039,0.059,0.056,0.524,0.039,0.381,0.610,0.594,0.574,
+0.586,0.891,0.903,0.491,0.522,0.804,0.920,0.630,1.270,0.827,
+0.784,0.050,0.539,0.831,1.180,0.723,0.843,1.600,1.350,0.585,
+0.562,0.935,0.610,0.359,0.357,0.471,0.687,0.052,0.375,0.472,
+0.770,0.514,0.456,0.764,0.820,0.519,0.317,0.611,0.537,0.321,
+0.280,0.337,0.565,0.042,0.311,0.437,0.494,0.502,0.345,0.585,
+0.860,0.671,0.419,0.704,0.175,0.070,0.048,0.089,0.621,0.047,
+0.340,0.524,0.514,0.577,0.371,0.694,0.744,0.430,0.322,0.762,
+0.846,0.424,0.314,0.572,0.704,0.051,0.398,0.796,0.840,0.524,
+0.592,1.340,0.067,0.046,0.032,0.057,0.050,0.039,0.033,0.041,
+0.048,4.35e-3,0.028,0.034,0.060,0.051,0.039,0.068,0.047,0.037,
+0.023,0.035,0.044,0.045,0.024,0.031,0.036,5.68e-3,0.027,0.035,
+0.037,0.039,0.024,0.042,0.067,0.050,0.032,0.050,9.53e-3,5.93e-3,
+4.51e-3,6.68e-3,0.053,5.43e-3,0.044,0.055,0.048,0.053,0.040,0.059,
+0.078,0.043,0.031,0.067,0.104,0.059,0.036,0.058,0.055,4.18e-3,
+0.035,0.062,0.075,0.047,0.048,0.095,0.771,0.405,0.306,0.437,
+0.504,0.376,0.317,0.402,0.515,0.058,0.329,0.383,0.459,0.469,
+0.538,0.642,0.041,0.036,0.021,0.033,0.032,0.039,0.024,0.024,
+0.036,5.43e-3,0.036,0.030,0.041,0.055,0.040,0.047,0.488,0.519,
+0.333,0.472,0.043,0.043,0.028,0.042,0.578,0.052,0.261,0.378,
+0.363,0.495,0.438,0.501,0.590,0.334,0.287,0.454,0.502,0.434,
+0.350,0.466,0.572,0.043,0.537,0.538,0.485,0.449,0.535,0.765,
+0.839,0.312,0.335,0.594,0.462,0.290,0.261,0.370,0.524,0.045,
+0.408,0.467,0.813,0.486,0.978,0.704,0.756,0.459,0.368,0.551,
+0.524,0.453,0.332,0.380,0.551,0.038,0.455,0.542,0.654,0.602,
+0.472,0.577,1.020,0.718,0.501,0.826,0.066,0.086,0.036,0.060,
+0.769,0.054,0.482,0.710,1.050,0.784,0.722,0.946,0.800,0.445,
+0.408,0.761,0.619,0.524,0.425,0.576,0.816,0.055,0.646,0.906,
+0.989,0.744,0.819,1.400,2.620,0.828,0.703,1.490,0.829,0.419,
+0.399,0.706,0.852,0.068,0.366,0.687,1.600,0.744,0.556,1.320,
+1.150,0.470,0.324,0.569,0.567,0.291,0.251,0.406,0.534,0.035,
+0.271,0.454,0.572,0.389,0.339,0.675,0.998,0.609,0.429,0.895,
+0.092,0.052,0.036,0.098,0.574,0.044,0.296,0.533,0.761,0.613,
+0.429,0.842,1.540,0.624,0.580,1.350,1.040,0.442,0.429,0.984,
+0.946,0.062,0.544,0.975,1.950,0.850,0.899,2.450,1.220,0.520,
+0.402,0.790,0.656,0.366,0.346,0.513,0.527,0.040,0.257,0.488,
+0.736,0.519,0.366,0.914,0.672,0.377,0.258,0.442,0.448,0.259,
+0.223,0.366,0.423,0.030,0.264,0.448,0.382,0.375,0.274,0.557,
+0.709,0.500,0.435,0.615,0.068,0.033,0.027,0.047,0.518,0.037,
+0.309,0.567,0.597,0.681,0.423,0.791,1.010,0.429,0.407,0.778,
+1.300,0.452,0.345,0.688,0.610,0.037,0.346,0.677,0.875,0.588,
+0.543,1.340,1.260,0.613,0.610,0.893,0.846,0.770,0.697,0.736,
+1.170,0.087,0.392,0.640,0.893,0.680,0.706,1.260,0.071,0.057,
+0.037,0.063,0.058,0.131,0.071,0.054,0.061,6.60e-3,0.031,0.047,
+0.067,0.070,0.047,0.092,0.860,0.700,0.499,0.798,0.049,0.058,
+0.032,0.064,0.719,0.057,0.400,0.631,0.686,0.697,0.610,0.942,
+1.090,0.724,0.608,0.912,0.955,0.777,0.621,1.030,0.919,0.077,
+0.745,1.120,0.985,0.792,0.864,1.550,2.380,0.812,0.739,1.610,
+0.870,0.536,0.473,0.700,1.240,0.081,0.528,0.952,1.690,0.998,
+0.860,2.360,1.290,0.711,0.501,0.892,0.886,0.850,0.511,0.684,
+0.897,0.049,0.541,0.861,1.080,0.817,0.737,1.360,1.430,1.060,
+0.883,1.520,0.072,0.062,0.045,0.098,1.270,0.078,0.820,1.420,
+1.500,1.410,1.530,2.180,2.940,1.260,1.340,2.830,1.640,1.060,
+0.955,1.760,1.860,0.093,1.380,2.520,3.360,1.710,2.160,4.000,
+3.390,1.880,1.710,3.140,1.980,1.280,1.150,1.460,2.300,0.228,
+1.110,1.900,2.860,2.200,1.390,2.250,2.530,1.450,0.943,1.290,
+1.370,0.864,0.767,0.825,1.480,0.116,0.847,1.190,1.140,1.080,
+0.899,1.260,1.640,1.200,0.948,1.380,0.144,0.112,0.097,0.183,
+1.240,0.117,0.744,1.100,1.330,1.290,1.070,1.410,2.490,1.160,
+1.090,2.110,1.750,1.150,1.090,1.780,1.560,0.162,0.954,1.590,
+1.830,1.310,1.430,2.370,2.540,1.420,0.973,1.550,1.460,1.060,
+0.830,0.930,1.370,0.144,0.672,0.965,1.080,1.160,0.641,1.060,
+1.860,1.260,0.789,1.000,1.020,0.645,0.672,0.619,1.130,0.107,
+0.716,1.060,0.688,0.779,0.618,0.813,1.100,1.160,0.695,0.871,
+0.089,0.115,0.074,0.099,1.210,0.127,0.766,1.170,0.697,1.090,
+0.775,0.995,0.909,0.694,0.521,0.846,0.954,0.866,0.739,0.843,
+1.220,0.122,0.722,1.090,0.930,0.990,0.862,1.510,1.410,0.704,
+0.618,0.862,1.150,0.592,0.576,0.623,1.080,0.133,0.575,0.840,
+0.828,0.787,0.677,1.090,0.120,0.093,0.064,0.079,0.089,0.067,
+0.057,0.062,0.103,0.021,0.074,0.108,0.093,0.157,0.091,0.147,
+0.732,0.668,0.518,0.632,0.075,0.067,0.053,0.072,0.869,0.136,
+0.529,0.587,0.570,0.737,0.698,0.618,0.887,0.534,0.429,0.666,
+0.959,0.686,0.585,0.826,1.010,0.112,0.832,0.987,0.794,0.820,
+0.892,1.150,2.130,0.796,0.740,1.430,1.070,0.513,0.637,0.710,
+0.989,0.096,0.507,0.868,1.360,0.951,0.792,1.760,1.760,0.965,
+0.835,0.947,1.000,0.641,0.569,0.639,0.932,0.085,0.690,0.939,
+0.861,1.030,0.751,1.270,0.912,0.910,0.625,0.921,0.078,0.066,
+0.059,0.094,1.010,0.082,0.598,0.888,0.862,0.937,0.814,1.010,
+1.380,0.803,0.720,1.450,0.933,0.662,0.682,1.070,1.420,0.105,
+1.010,1.760,1.550,1.450,1.460,2.570,2.550,1.770,1.350,1.960,
+1.550,1.370,1.110,1.220,1.260,0.152,0.799,1.100,1.230,1.340,
+0.804,1.360,1.530,1.330,0.774,0.973,1.080,0.874,0.888,0.881,
+0.997,0.119,0.801,1.030,0.656,0.879,0.670,0.886,0.980,1.210,
+0.816,0.902,0.141,0.169,0.098,0.123,0.998,0.139,0.768,0.935,
+1.070,1.330,0.874,1.090,1.100,0.701,0.612,0.889,1.220,1.200,
+0.746,0.906,1.250,0.369,0.651,0.907,1.430,1.090,0.920,1.610,
+1.830,1.500,0.779,1.060,1.140,1.370,0.844,0.832,1.120,0.147,
+0.619,0.787,0.803,1.030,0.501,0.856,1.140,1.100,0.602,0.659,
+0.800,0.515,0.648,0.554,0.931,0.126,0.656,0.866,0.487,0.847,
+0.564,0.644,0.920,1.920,0.788,0.784,0.110,0.352,0.091,0.098,
+1.170,0.208,0.942,1.460,0.640,1.680,1.020,1.180,0.575,0.639,
+0.400,0.575,0.760,1.340,0.493,0.587,1.130,0.144,0.644,0.886,
+0.664,0.884,0.665,1.110,1.250,0.866,0.625,0.699,1.140,0.948,
+0.873,0.719,1.020,0.177,0.793,0.912,0.632,0.945,0.737,0.865,
+0.092,0.157,0.080,0.077,0.084,0.130,0.104,0.069,0.114,0.044,
+0.125,0.127,0.065,0.230,0.094,0.093,0.781,1.050,1.020,0.734,
+0.103,0.142,0.117,0.098,1.210,0.205,0.888,0.980,0.519,1.230,
+1.510,0.992,0.664,0.565,0.482,0.590,1.030,1.160,0.890,0.919,
+1.090,0.133,1.020,1.140,0.534,0.780,1.040,1.110,1.060,0.568,
+0.565,0.804,0.694,0.512,1.140,0.615,0.596,0.065,0.437,0.543,
+0.726,0.557,0.522,0.801,1.160,0.968,0.737,0.737,0.715,0.746,
+0.648,0.599,0.658,0.099,0.672,0.812,0.514,1.020,0.656,0.847,
+0.685,0.887,0.736,0.825,0.058,0.085,0.062,0.074,0.801,0.104,
+0.674,0.915,0.541,0.929,0.942,0.986,0.800,0.565,0.532,0.764,
+0.754,0.676,0.505,0.748,1.060,0.093,0.824,1.250,0.939,1.070,
+1.110,1.680,1.490,0.990,0.640,1.080,0.703,0.623,0.444,0.568,
+0.763,0.085,0.462,0.619,0.817,0.725,0.452,0.763,1.020,0.893,
+0.486,0.755,0.676,0.516,0.478,0.557,0.939,0.108,0.679,0.813,
+0.561,0.770,0.487,0.707,0.731,0.931,0.690,1.160,0.086,0.125,
+0.075,0.161,0.791,0.091,0.506,0.832,0.540,0.854,0.508,0.809,
+0.773,0.513,0.457,0.867,0.734,0.686,0.499,0.713,0.861,0.101,
+0.546,0.928,0.791,0.748,0.817,1.690,0.100,0.087,0.045,0.075,
+0.077,0.107,0.057,0.057,0.080,0.017,0.049,0.059,0.072,0.098,
+0.045,0.068,0.089,0.109,0.057,0.068,0.096,0.100,0.075,0.069,
+0.098,0.023,0.079,0.093,0.053,0.105,0.050,0.070,0.059,0.109,
+0.060,0.077,0.011,0.027,0.018,0.013,0.096,0.025,0.078,0.097,
+0.059,0.138,0.070,0.087,0.068,0.063,0.043,0.073,0.112,0.146,
+0.079,0.108,0.123,0.022,0.083,0.108,0.080,0.108,0.089,0.156,
+0.782,0.544,0.443,0.519,0.545,0.541,0.526,0.448,0.944,0.139,
+0.563,0.622,0.466,0.583,0.467,0.562,0.065,0.088,0.048,0.055,
+0.052,0.069,0.063,0.045,0.085,0.022,0.077,0.076,0.059,0.112,
+0.062,0.059,0.569,0.800,0.599,0.561,0.064,0.093,0.081,0.068,
+0.873,0.147,0.467,0.735,0.387,0.841,0.643,0.606,0.557,0.451,
+0.374,0.435,0.611,0.708,0.552,0.576,1.270,0.300,0.795,0.906,
+0.520,0.866,0.695,0.845,0.723,0.313,0.275,0.759,0.474,0.330,
+0.303,0.351,0.569,0.055,0.313,0.465,0.606,0.408,0.250,0.498,
+0.838,0.638,0.512,0.697,0.591,0.593,0.510,0.626,0.788,0.083,
+0.596,0.750,0.592,0.737,0.457,0.642,0.753,0.872,0.653,0.763,
+0.070,0.097,0.062,0.081,1.080,0.101,0.625,0.858,0.707,0.957,
+0.676,0.852,0.802,0.540,0.483,0.638,0.681,0.654,0.533,0.638,
+1.290,0.127,0.955,1.260,0.979,1.020,0.958,1.550,1.750,0.956,
+0.735,1.310,0.749,0.548,0.421,0.523,0.789,0.078,0.386,0.602,
+0.934,0.726,0.515,1.050,0.905,0.548,0.353,0.575,0.570,0.337,
+0.297,0.455,0.535,0.047,0.302,0.465,0.409,0.440,0.295,0.530,
+0.747,0.665,0.467,0.940,0.079,0.081,0.051,0.117,0.797,0.058,
+0.312,0.524,0.487,0.572,0.389,0.672,0.965,0.462,0.441,0.984,
+0.677,0.528,0.394,0.674,0.703,0.068,0.440,0.686,0.892,0.647,
+0.730,1.740,1.520,0.910,0.604,1.010,1.020,0.828,0.564,0.631,
+0.889,0.092,0.457,0.711,0.805,0.827,0.477,0.836,0.998,0.862,
+0.554,0.728,0.855,0.646,0.628,0.594,0.737,0.087,0.498,0.776,
+0.514,0.721,0.402,0.731,0.674,0.688,0.401,0.642,0.059,0.076,
+0.047,0.069,0.756,0.084,0.490,0.736,0.526,0.911,0.583,0.805,
+0.690,0.483,0.344,0.631,0.743,0.717,0.486,0.766,0.800,0.075,
+0.594,0.819,0.704,0.736,0.674,1.260,0.718,0.453,0.313,0.534,
+0.543,0.405,0.355,0.450,0.685,0.096,0.442,0.553,0.523,0.569,
+0.510,0.836,0.047,0.047,0.031,0.052,0.043,0.045,0.039,0.042,
+0.052,0.011,0.056,0.067,0.047,0.079,0.050,0.077,0.511,0.526,
+0.413,0.489,0.048,0.046,0.069,0.053,0.619,0.069,0.368,0.515,
+0.381,0.596,0.580,0.618,0.515,0.397,0.324,0.493,0.672,0.498,
+0.501,0.634,0.922,0.157,0.569,0.849,0.644,0.787,0.755,1.190,
+1.270,0.539,0.448,0.860,0.621,0.379,0.388,0.455,0.674,0.054,
+0.339,0.587,0.924,0.615,0.543,1.290,0.684,0.453,0.354,0.620,
+0.574,0.358,0.444,0.667,0.554,0.045,0.453,0.782,0.523,0.549,
+0.440,0.784,0.862,0.820,0.554,0.888,0.070,0.060,0.042,0.074,
+1.020,0.073,0.537,0.880,0.923,0.952,0.833,1.260,1.360,0.761,
+0.655,1.340,0.957,0.783,0.667,1.050,1.460,0.087,0.986,1.670,
+1.830,1.330,1.520,3.260,2.490,1.740,1.450,2.280,1.660,1.280,
+0.990,1.120,1.670,0.172,0.913,1.240,1.710,1.550,1.000,1.540,
+1.830,1.410,0.926,1.110,1.430,0.978,0.907,0.860,1.240,0.126,
+1.010,1.220,0.785,0.990,1.040,1.110,0.982,0.957,0.754,1.040,
+0.093,0.091,0.087,0.132,0.901,0.095,0.609,0.728,0.934,0.896,
+0.750,0.956,1.230,0.747,0.644,1.200,1.070,0.906,0.905,1.060,
+1.030,0.098,0.703,0.951,1.480,0.855,1.010,1.630,2.070,1.530,
+0.938,1.310,1.600,1.470,0.878,0.832,1.240,0.172,0.756,0.922,
+0.863,1.120,0.598,0.915,1.530,1.430,0.832,0.999,1.150,0.909,
+0.820,0.722,1.160,0.185,1.060,1.510,0.585,1.050,0.698,0.782,
+0.843,1.240,0.702,0.705,0.105,0.150,0.144,0.100,1.180,0.190,
+0.919,0.985,0.596,1.360,0.821,0.800,0.630,0.640,0.573,0.566,
+0.941,0.987,1.690,0.803,0.997,0.109,0.729,0.881,0.686,0.862,
+0.825,1.150,0.909,0.635,0.506,0.589,0.887,0.666,0.556,0.569,
+1.010,0.160,0.550,0.681,0.596,0.824,0.605,0.885,0.072,0.095,
+0.070,0.067,0.105,0.104,0.080,0.068,0.108,0.044,0.101,0.104,
+0.064,0.252,0.095,0.103,0.540,0.622,0.493,0.489,0.066,0.069,
+0.066,0.064,0.653,0.098,0.613,0.584,0.348,0.649,0.581,0.530,
+0.460,0.416,0.296,0.439,0.591,0.644,0.480,0.620,0.792,0.115,
+0.727,0.822,0.507,0.703,0.811,0.977,1.200,0.499,0.425,0.904,
+0.570,0.358,0.312,0.392,0.724,0.080,0.355,0.520,0.966,0.731,
+0.580,1.230,0.891,0.731,0.614,0.735,0.838,0.686,0.542,0.561,
+0.676,0.103,0.546,0.760,0.538,1.010,0.587,0.777,0.580,0.575,
+0.465,0.680,0.052,0.061,0.043,0.065,0.612,0.070,0.631,0.699,
+0.450,0.677,0.614,0.719,0.763,0.600,0.441,0.897,0.523,0.537,
+0.415,0.607,0.997,0.115,0.719,1.070,0.959,1.120,1.060,1.710,
+1.960,1.530,1.110,1.540,1.600,1.600,1.130,1.130,1.050,0.141,
+0.682,0.872,1.180,1.150,0.699,1.100,1.540,1.400,0.897,0.923,
+1.410,1.270,1.480,1.030,0.997,0.168,0.937,1.100,0.666,1.030,
+0.674,0.773,0.881,0.963,0.750,0.779,0.141,0.121,0.104,0.115,
+1.340,0.129,0.698,0.733,2.790,1.120,0.791,0.891,0.866,0.528,
+0.587,0.724,1.000,0.972,0.714,0.738,0.893,0.089,0.590,0.687,
+4.040,0.897,0.864,1.320,1.780,1.630,0.695,0.874,1.560,1.950,
+0.861,0.784,1.160,0.178,0.726,0.872,0.726,1.010,0.490,0.804,
+1.200,1.150,0.581,0.580,0.579,0.243,0.496,0.388,0.908,0.226,
+0.684,0.931,0.423,1.060,0.477,0.585,0.748,1.360,0.597,0.635,
+0.103,0.226,0.108,0.091,1.070,0.216,0.788,1.140,0.662,1.590,
+0.890,0.937,0.502,0.561,0.379,0.420,0.862,1.300,0.571,0.571,
+0.787,0.107,0.661,0.806,0.696,0.773,0.568,0.874,1.090,0.939,
+1.310,0.751,1.170,1.290,0.952,0.759,1.330,0.410,0.808,0.930,
+0.774,2.010,0.787,0.905,0.092,0.201,0.345,0.103,0.115,0.238,
+0.158,0.089,0.273,0.205,0.165,0.163,0.146,0.955,0.137,0.119,
+0.672,1.110,0.811,0.706,0.100,0.200,0.142,0.111,0.970,0.194,
+0.862,0.922,0.482,1.340,1.330,0.920,0.590,0.535,0.417,0.490,
+0.962,1.440,0.953,0.914,1.270,0.171,1.070,1.150,0.657,1.020,
+1.020,1.140,0.888,0.542,0.549,0.972,0.645,0.521,0.441,0.421,
+0.679,0.094,0.412,0.490,1.080,0.772,0.566,0.735,0.790,0.925,
+1.190,0.832,0.864,1.150,0.811,0.678,0.956,0.268,0.693,0.877,
+0.583,1.850,0.651,0.718,0.588,0.798,0.629,0.754,0.064,0.095,
+0.064,0.068,0.645,0.087,0.800,0.853,0.506,0.890,0.927,0.907,
+0.613,0.510,0.368,0.614,0.653,0.727,0.454,0.601,1.080,0.101,
+0.752,1.040,0.821,1.110,0.977,1.380,1.220,0.967,0.725,1.030,
+0.809,0.850,0.442,0.590,0.742,0.089,0.567,0.555,0.633,0.643,
+0.378,0.675,1.140,1.300,0.489,0.773,1.000,0.962,0.701,0.700,
+0.987,0.143,0.889,0.935,0.462,0.856,0.449,0.637,0.797,1.280,
+0.881,1.620,0.108,0.161,0.094,0.192,0.765,0.124,0.590,0.830,
+0.494,0.883,0.530,0.799,0.715,0.551,0.400,0.947,0.716,0.869,
+0.523,0.829,0.768,0.100,0.631,1.030,0.745,0.678,0.670,1.380,
+0.091,0.087,0.044,0.075,0.111,0.217,0.074,0.071,0.115,0.019,
+0.057,0.060,0.051,0.092,0.043,0.068,0.086,0.123,0.050,0.090,
+0.144,0.200,0.117,0.096,0.113,0.057,0.126,0.121,0.044,0.121,
+0.055,0.060,0.065,0.131,0.065,0.074,0.030,0.073,0.029,0.022,
+0.100,0.049,0.107,0.109,0.045,0.151,0.085,0.074,0.052,0.054,
+0.033,0.062,0.120,0.238,0.094,0.102,0.088,0.023,0.095,0.113,
+0.063,0.079,0.074,0.111,1.170,0.990,0.825,0.887,1.050,1.200,
+0.777,0.756,1.110,0.218,0.743,0.770,0.552,0.917,0.594,0.759,
+0.122,0.190,0.113,0.110,0.112,0.210,0.145,0.094,0.142,0.061,
+0.168,0.132,0.075,0.212,0.087,0.086,0.781,1.270,0.729,0.807,
+0.110,0.188,0.117,0.111,1.180,0.220,0.597,0.941,0.493,1.250,
+0.721,0.801,0.759,0.642,0.425,0.717,0.948,1.320,0.798,1.000,
+1.690,0.257,1.200,1.380,0.675,1.080,0.824,1.070,0.756,0.508,
+0.485,1.400,0.508,0.428,0.351,0.411,0.591,0.071,0.396,0.627,
+0.508,0.510,0.338,0.754,0.918,0.980,0.595,0.727,0.991,1.130,
+0.816,0.713,1.050,0.155,0.936,1.160,0.572,1.170,0.633,0.799,
+0.687,0.998,0.698,0.831,0.072,0.120,0.080,0.089,1.080,0.147,
+0.859,1.070,0.623,1.340,0.813,0.958,0.655,0.537,0.406,0.834,
+0.653,0.756,0.534,0.765,1.460,0.135,1.190,1.530,0.904,1.280,
+1.040,1.440,1.040,0.595,0.457,0.835,0.599,0.456,0.286,0.502,
+0.597,0.057,0.417,0.503,0.630,0.490,0.343,0.697,0.852,0.572,
+0.293,0.455,0.543,0.365,0.274,0.380,0.478,0.050,0.326,0.475,
+0.350,0.384,0.248,0.454,0.535,0.499,0.350,0.673,0.046,0.040,
+0.028,0.080,0.522,0.059,0.284,0.503,0.419,0.449,0.287,0.507,
+0.628,0.376,0.306,0.668,0.449,0.367,0.287,0.585,0.540,0.061,
+0.395,0.600,0.681,0.470,0.487,1.080,1.070,0.743,0.423,0.782,
+0.932,1.140,0.472,0.577,0.779,0.093,0.504,0.637,0.582,0.694,
+0.375,0.671,0.858,0.821,0.362,0.553,1.170,0.849,0.533,0.603,
+0.887,0.171,0.625,0.866,0.526,0.912,0.440,0.594,0.476,0.694,
+0.356,0.493,0.070,0.114,0.054,0.069,0.690,0.099,0.541,0.722,
+0.408,0.845,0.511,0.646,0.451,0.372,0.249,0.425,0.648,0.775,
+0.443,0.674,0.667,0.093,0.686,0.810,0.485,0.608,0.569,0.905,
+0.590,0.421,0.334,0.421,0.547,0.512,0.415,0.509,0.661,0.110,
+0.485,0.573,0.413,0.577,0.446,0.710,0.042,0.049,0.035,0.039,
+0.044,0.071,0.048,0.044,0.060,0.025,0.053,0.055,0.039,0.114,
+0.055,0.054,0.449,0.636,0.366,0.475,0.042,0.058,0.040,0.071,
+0.685,0.119,0.457,0.638,0.370,0.769,0.542,0.596,0.441,0.491,
+0.286,0.417,0.578,0.725,0.435,0.637,1.480,0.578,0.819,1.010,
+0.561,1.290,0.654,0.866,0.809,0.466,0.361,0.693,0.456,0.348,
+0.269,0.361,0.467,0.050,0.318,0.471,0.561,0.444,0.397,0.843,
+0.586,0.485,0.301,0.433,0.516,0.488,0.363,0.474,0.461,0.051,
+0.384,0.560,0.412,0.549,0.388,0.656,0.676,0.600,0.428,0.636,
+0.050,0.044,0.031,0.057,0.746,0.072,0.560,0.860,0.588,0.856,
+0.760,0.962,0.791,0.526,0.456,0.885,0.710,0.724,0.506,0.724,
+1.070,0.124,0.910,1.370,1.200,1.230,1.190,1.350,1.650,1.040,
+0.949,1.670,1.300,0.990,0.892,1.040,1.040,0.114,0.659,1.070,
+1.200,1.090,0.670,1.070,0.994,0.700,0.485,0.665,0.822,0.601,
+0.583,0.565,0.620,0.084,0.605,0.941,0.535,0.635,0.506,0.697,
+0.754,0.624,0.515,0.848,0.070,0.064,0.062,0.178,0.672,0.105,
+0.566,2.740,0.462,0.614,0.541,1.090,0.959,0.475,0.401,0.799,
+0.833,0.584,0.533,0.761,0.590,0.060,0.534,0.930,0.752,0.493,
+0.620,1.090,1.770,1.190,0.868,1.180,1.450,1.210,0.976,0.874,
+0.994,0.145,0.682,0.828,0.801,1.040,0.522,0.810,1.220,1.160,
+0.665,0.732,1.160,0.913,0.934,0.734,1.070,0.193,0.783,1.110,
+0.576,1.050,0.578,0.678,0.947,1.240,0.775,0.976,0.130,0.169,
+0.133,0.182,1.290,0.237,1.140,3.320,0.601,1.440,0.920,1.220,
+0.773,0.569,0.394,0.624,1.320,1.010,0.735,0.913,0.848,0.093,
+0.715,1.090,0.665,0.719,0.681,1.200,0.877,0.547,0.498,0.610,
+0.998,0.792,0.927,0.707,1.080,0.202,0.667,0.697,0.740,1.190,
+0.624,0.983,0.078,0.093,0.067,0.086,0.104,0.119,0.122,0.094,
+0.127,0.035,0.147,0.130,0.112,0.291,0.123,0.237,0.542,0.635,
+0.537,0.604,0.081,0.094,0.101,0.112,1.120,0.323,0.769,0.775,
+0.413,1.160,0.625,0.593,0.484,0.372,0.399,0.472,0.736,0.711,
+0.836,0.801,0.771,0.142,2.700,1.130,0.512,0.699,0.889,0.957,
+0.987,0.444,0.442,0.783,0.547,0.388,0.434,0.507,0.622,0.070,
+0.361,0.469,0.903,0.757,0.478,0.994,0.782,0.593,0.513,0.688,
+0.689,0.585,0.629,0.558,0.775,0.087,0.589,0.704,0.673,0.956,
+0.572,0.953,0.651,0.662,0.518,0.725,0.063,0.063,0.067,0.093,
+0.748,0.098,0.713,1.020,0.602,0.930,0.862,0.929,0.840,0.566,
+0.462,0.866,0.597,0.508,0.585,0.756,0.971,0.109,1.210,1.220,
+1.170,1.170,1.350,2.130,0.091,0.076,0.058,0.082,0.097,0.119,
+0.071,0.086,0.064,0.012,0.041,0.062,0.069,0.090,0.045,0.062,
+0.093,0.093,0.066,0.070,0.119,0.116,0.119,0.088,0.072,0.023,
+0.086,0.092,0.045,0.083,0.065,0.074,0.056,0.072,0.048,0.059,
+0.013,0.020,0.016,0.017,0.074,0.019,0.066,0.133,0.095,0.082,
+0.063,0.077,0.066,0.045,0.034,0.067,0.090,0.108,0.069,0.086,
+0.065,0.010,0.054,0.072,0.150,0.073,0.074,0.106,0.117,0.124,
+0.065,0.073,0.140,0.185,0.106,0.074,0.086,0.025,0.081,0.064,
+0.052,0.094,0.054,0.063,0.135,0.183,0.090,0.078,0.184,0.153,
+0.176,0.113,0.133,0.064,0.118,0.124,0.056,0.133,0.084,0.088,
+0.078,0.162,0.089,0.080,0.026,0.065,0.049,0.024,0.138,0.066,
+0.145,0.194,0.052,0.198,0.131,0.115,0.059,0.062,0.039,0.057,
+0.115,0.187,0.090,0.094,0.091,0.020,0.081,0.097,0.057,0.085,
+0.077,0.113,0.065,0.053,0.044,0.043,0.092,0.116,0.109,0.071,
+0.089,0.038,0.071,0.064,0.045,0.131,0.058,0.069,0.010,0.022,
+0.017,0.011,0.022,0.046,0.048,0.021,0.031,0.034,0.045,0.029,
+8.11e-3,0.052,0.024,0.018,0.054,0.118,0.091,0.069,0.019,0.050,
+0.045,0.025,0.361,0.279,0.137,0.119,0.052,0.396,0.125,0.087,
+0.051,0.055,0.043,0.051,0.093,0.151,0.132,0.108,0.107,0.037,
+0.225,0.124,0.048,0.099,0.111,0.137,0.086,0.063,0.053,0.077,
+0.068,0.056,0.065,0.055,0.062,0.011,0.047,0.053,0.084,0.088,
+0.067,0.101,0.115,0.120,0.103,0.099,0.140,0.172,0.146,0.119,
+0.130,0.034,0.118,0.130,0.086,0.229,0.121,0.142,0.062,0.101,
+0.082,0.082,0.010,0.020,0.019,0.018,0.108,0.034,0.118,0.147,
+0.064,0.150,0.164,0.121,0.072,0.073,0.052,0.077,0.074,0.092,
+0.080,0.083,0.111,0.017,0.133,0.132,0.104,0.131,0.145,0.182,
+1.190,0.805,0.612,0.960,0.809,0.739,0.531,0.660,0.789,0.087,
+0.499,0.580,0.548,0.557,0.420,0.609,0.821,0.829,0.465,0.630,
+0.920,0.849,0.868,0.739,0.925,0.143,0.876,0.865,0.431,0.772,
+0.577,0.696,0.744,1.010,0.727,0.966,0.127,0.154,0.150,0.217,
+1.090,0.154,0.825,1.060,0.506,1.080,0.675,0.921,0.686,0.508,
+0.373,0.733,0.987,0.802,0.657,1.050,0.840,0.108,0.661,1.060,
+0.675,0.716,0.712,1.410,0.089,0.094,0.048,0.074,0.116,0.141,
+0.094,0.087,0.078,0.021,0.070,0.063,0.046,0.079,0.043,0.060,
+0.077,0.107,0.052,0.055,0.140,0.141,0.147,0.103,0.106,0.043,
+0.145,0.133,0.042,0.104,0.070,0.073,0.067,0.154,0.092,0.085,
+0.020,0.050,0.041,0.029,0.152,0.077,0.164,0.191,0.061,0.193,
+0.113,0.106,0.082,0.060,0.043,0.077,0.145,0.190,0.107,0.144,
+0.110,0.025,0.110,0.132,0.068,0.089,0.078,0.133,0.924,0.867,
+0.455,0.490,0.979,1.150,0.994,0.745,0.911,0.192,0.950,0.774,
+0.412,0.711,0.641,0.663,0.078,0.158,0.077,0.066,0.116,0.198,
+0.252,0.096,0.132,0.047,0.254,0.143,0.056,0.159,0.110,0.087,
+0.762,1.210,0.892,0.782,0.137,0.201,0.214,0.151,1.200,0.226,
+0.512,0.778,0.451,0.984,0.929,0.818,0.559,0.568,0.409,0.440,
+0.877,1.170,1.070,0.898,1.380,0.210,1.310,1.170,0.577,0.906,
+0.922,0.972,0.739,0.499,0.376,0.574,0.646,0.472,0.377,0.444,
+0.604,0.082,0.528,0.567,0.497,0.578,0.382,0.634,0.915,0.996,
+0.658,0.659,1.270,1.250,1.160,0.790,0.985,0.154,1.330,1.160,
+0.628,1.120,0.809,0.866,1.070,1.830,0.842,0.967,0.128,0.302,
+0.137,0.142,1.350,0.203,1.510,1.660,0.896,1.540,1.270,1.260,
+0.802,0.674,0.526,0.729,0.790,1.040,0.754,0.830,1.400,0.148,
+1.410,1.590,0.982,1.270,1.270,1.610,1.190,0.575,0.506,0.894,
+0.643,0.468,0.382,0.568,0.601,0.060,0.306,0.462,0.657,0.575,
+0.350,0.766,0.697,0.482,0.298,0.447,0.530,0.427,0.336,0.419,
+0.432,0.049,0.303,0.448,0.325,0.381,0.285,0.433,0.579,0.568,
+0.392,0.627,0.057,0.059,0.044,0.099,0.548,0.061,0.358,0.600,
+0.453,0.608,0.450,0.691,0.834,0.447,0.378,0.704,0.676,0.479,
+0.393,0.750,0.532,0.048,0.332,0.569,0.692,0.560,0.553,1.150,
+1.340,0.902,0.551,1.150,1.130,0.915,0.733,0.826,0.789,0.108,
+0.585,0.710,0.664,0.809,0.452,0.789,0.992,0.991,0.500,0.684,
+1.210,0.993,0.900,0.880,0.830,0.130,0.794,0.957,0.539,0.981,
+0.568,0.701,0.764,1.160,0.694,0.861,0.101,0.165,0.110,0.140,
+1.160,0.194,0.950,1.370,0.779,1.800,0.973,1.280,0.819,0.601,
+0.464,0.801,1.080,1.070,0.862,1.340,0.925,0.102,0.737,1.080,
+0.736,0.910,0.780,1.300,0.978,0.667,0.430,0.726,0.947,0.944,
+0.831,0.739,0.785,0.121,0.651,0.772,0.473,0.649,0.576,0.858,
+0.069,0.091,0.043,0.060,0.083,0.195,0.107,0.082,0.067,0.022,
+0.097,0.101,0.048,0.106,0.066,0.080,0.715,1.020,0.643,0.821,
+0.104,0.136,0.102,0.127,1.020,0.181,0.815,1.010,0.554,1.200,
+0.941,0.966,0.761,0.638,0.473,0.718,1.020,1.040,1.040,1.280,
+1.110,0.152,1.050,1.270,0.696,0.895,1.000,1.260,0.971,0.531,
+0.408,0.753,0.669,0.487,0.421,0.465,0.599,0.069,0.399,0.566,
+0.710,0.582,0.474,0.964,0.726,0.720,0.390,0.652,0.700,0.749,
+0.622,0.632,0.586,0.069,0.551,0.806,0.515,0.658,0.535,0.821,
+0.829,1.080,0.713,1.020,0.078,0.110,0.062,0.111,1.250,0.142,
+1.090,1.580,1.050,1.600,1.360,1.480,1.200,0.789,0.702,1.340,
+1.010,0.996,0.889,1.210,1.450,0.126,1.340,1.850,1.530,1.460,
+1.540,2.020,1.690,0.993,1.110,2.740,1.060,0.669,0.595,0.986,
+1.060,0.095,0.552,0.935,1.430,1.120,0.738,1.310,1.130,0.651,
+0.492,0.796,0.646,0.386,0.373,0.451,0.610,0.051,0.461,0.577,
+0.695,0.675,0.530,0.849,0.958,0.683,0.610,0.884,0.069,0.052,
+0.045,0.099,0.559,0.055,0.421,0.948,0.585,0.648,0.526,0.972,
+1.210,0.591,0.562,1.090,0.787,0.544,0.453,0.761,0.737,0.076,
+1.100,0.846,1.050,0.716,0.845,1.670,1.200,0.640,0.477,0.874,
+0.718,0.459,0.367,0.496,0.606,0.060,0.331,0.558,0.624,0.579,
+0.354,0.777,0.782,0.539,0.367,0.520,0.493,0.340,0.318,0.362,
+0.559,0.058,0.342,0.530,0.466,0.493,0.361,0.598,0.611,0.554,
+0.410,0.686,0.049,0.045,0.036,0.068,0.651,0.062,0.473,1.070,
+0.508,0.653,0.502,0.859,0.635,0.411,0.322,0.616,0.532,0.395,
+0.334,0.492,0.657,0.050,0.660,0.664,0.627,0.498,0.524,1.120,
+0.877,0.485,0.528,0.723,0.608,0.524,0.492,0.544,0.692,0.095,
+0.374,0.589,0.714,0.695,0.456,0.952,0.056,0.045,0.041,0.057,
+0.044,0.044,0.042,0.046,0.050,9.11e-3,0.043,0.057,0.079,0.115,
+0.057,0.111,0.475,0.440,0.411,0.571,0.041,0.039,0.045,0.061,
+0.583,0.078,0.486,0.528,0.419,0.595,0.547,0.655,0.616,0.379,
+0.358,0.576,0.541,0.418,0.413,0.604,0.595,0.068,0.856,0.722,
+0.612,0.575,0.708,1.100,1.110,0.467,0.481,0.976,0.503,0.319,
+0.341,0.490,0.743,0.065,0.388,0.632,1.260,0.785,0.577,1.280,
+0.711,0.446,0.422,0.706,0.463,0.317,0.314,0.417,0.586,0.043,
+0.423,0.559,0.858,0.826,0.570,0.986,0.685,0.622,0.512,0.799,
+0.048,0.042,0.039,0.067,0.649,0.050,0.518,0.728,0.801,0.793,
+0.751,1.130,1.040,0.771,0.574,1.170,0.602,0.496,0.505,0.769,
+0.979,0.082,0.789,1.180,1.480,1.300,1.430,2.780,1.740,1.120,
+0.931,1.750,1.260,1.000,0.695,0.961,0.991,0.113,0.614,0.874,
+1.150,1.080,0.677,1.160,1.280,0.828,0.634,1.100,1.000,0.754,
+0.700,0.780,0.823,0.090,0.772,0.912,0.599,0.792,0.655,0.972,
+0.794,0.802,0.602,0.929,0.076,0.096,0.064,0.124,0.755,0.087,
+0.634,0.998,0.691,0.838,0.754,1.130,0.937,0.592,0.505,0.972,
+0.943,0.989,0.585,0.951,0.812,0.086,0.568,0.832,1.000,0.751,
+0.819,1.530,1.460,0.987,0.621,1.010,1.060,0.876,0.597,0.689,
+0.775,0.105,0.494,0.705,0.725,0.782,0.451,0.855,1.130,1.000,
+0.638,0.765,0.979,0.646,0.655,0.684,0.877,0.123,0.638,0.823,
+0.594,0.866,0.582,0.854,0.759,0.963,0.555,0.808,0.076,0.107,
+0.067,0.093,1.050,0.155,0.758,1.100,0.659,1.330,0.900,1.200,
+0.661,0.573,0.384,0.721,0.789,0.923,0.486,0.730,0.908,0.084,
+0.676,1.030,0.718,0.761,0.719,1.390,0.948,0.589,0.463,0.676,
+0.931,0.810,0.733,0.720,0.880,0.155,0.579,0.684,0.643,0.900,
+0.560,0.969,0.057,0.076,0.052,0.062,0.076,0.113,0.095,0.087,
+0.086,0.033,0.082,0.089,0.070,0.204,0.085,0.104,0.663,0.936,
+0.621,0.738,0.077,0.115,0.086,0.102,1.310,0.361,0.708,0.948,
+0.584,1.580,1.230,1.100,0.778,0.722,0.453,0.735,0.920,1.150,
+0.870,1.050,0.952,0.110,0.885,1.160,0.699,0.867,1.060,1.660,
+0.980,0.592,0.615,0.881,0.632,0.474,0.493,0.533,0.724,0.071,
+0.527,0.679,0.960,0.815,0.626,1.120,0.952,0.867,0.937,0.952,
+0.841,0.806,0.799,0.793,1.020,0.140,0.949,1.050,0.980,2.000,
+1.000,1.200,0.734,0.801,0.792,0.958,0.065,0.077,0.076,0.092,
+0.992,0.110,0.937,1.320,0.890,1.230,1.300,1.420,0.908,0.743,
+0.618,0.930,0.876,0.835,0.921,0.951,1.150,0.091,1.060,1.510,
+1.270,1.230,1.370,2.190,1.300,0.684,0.504,0.938,0.604,0.520,
+0.334,0.511,0.720,0.066,0.424,0.550,0.694,0.556,0.430,0.703,
+0.880,0.741,0.400,0.765,0.664,0.618,0.429,0.488,0.727,0.089,
+0.571,0.681,0.519,0.734,0.516,0.726,0.779,0.891,0.565,0.894,
+0.102,0.117,0.077,0.138,0.858,0.112,0.856,0.905,0.602,0.974,
+0.710,1.020,0.728,0.508,0.367,0.788,0.736,0.692,0.434,0.711,
+0.881,0.099,0.663,1.030,0.918,0.775,0.865,1.780,0.079,0.059,
+0.034,0.063,0.061,0.070,0.038,0.054,0.051,8.69e-3,0.037,0.047,
+0.048,0.062,0.034,0.060,0.058,0.072,0.033,0.049,0.076,0.148,
+0.054,0.057,0.068,0.017,0.063,0.071,0.044,0.086,0.043,0.059,
+0.069,0.073,0.042,0.050,0.011,0.020,0.012,0.010,0.096,0.028,
+0.185,0.101,0.072,0.117,0.073,0.081,0.060,0.053,0.032,0.062,
+0.088,0.126,0.053,0.080,0.080,0.015,0.078,0.104,0.074,0.079,
+0.062,0.126,0.774,0.528,0.353,0.491,0.594,0.649,0.536,0.538,
+0.709,0.118,0.494,0.569,0.457,0.605,0.581,0.724,0.049,0.066,
+0.033,0.041,0.052,0.079,0.059,0.045,0.073,0.021,0.070,0.062,
+0.059,0.115,0.078,0.074,0.623,0.901,0.573,0.632,0.077,0.118,
+0.087,0.102,1.130,0.162,0.585,0.840,0.553,1.020,0.827,0.864,
+0.580,0.482,0.395,0.509,0.725,0.886,0.714,0.815,1.210,0.145,
+0.953,1.110,0.656,0.932,0.917,1.160,0.981,0.339,0.304,0.570,
+0.506,0.401,0.325,0.433,0.689,0.067,0.465,0.576,0.695,0.521,
+0.441,0.655,0.898,0.641,0.501,0.609,0.714,0.695,0.526,0.541,
+0.900,0.098,0.777,0.894,0.775,0.976,0.891,0.814,3.280,1.370,
+0.776,1.010,0.195,0.150,0.075,0.105,1.580,0.134,1.110,1.430,
+2.460,1.490,1.500,1.600,1.080,0.741,0.549,0.859,0.841,0.817,
+0.640,0.853,1.470,0.116,1.340,1.660,1.420,1.290,1.300,1.940,
+1.730,0.746,0.556,1.170,0.755,0.421,0.343,0.661,0.796,0.070,
+0.364,0.657,0.980,0.730,0.460,1.010,1.070,0.526,0.300,0.549,
+0.712,0.355,0.295,0.459,0.546,0.044,0.304,0.488,0.477,0.460,
+0.328,0.587,0.744,0.681,0.410,0.803,0.082,0.074,0.048,0.109,
+0.608,0.060,0.359,0.604,0.622,0.683,0.501,0.836,0.941,0.513,
+0.395,0.891,0.668,0.438,0.351,0.699,0.724,0.054,0.474,0.812,
+1.150,0.725,0.763,1.950,1.160,0.658,0.435,0.947,0.782,0.530,
+0.383,0.600,0.611,0.064,0.384,0.633,0.694,0.700,0.372,0.866,
+0.870,0.637,0.346,0.556,0.698,0.597,0.360,0.508,0.636,0.075,
+0.457,0.665,0.492,0.763,0.379,0.691,0.634,0.604,0.366,0.635,
+0.050,0.059,0.036,0.065,0.703,0.076,0.642,0.782,0.629,0.901,
+0.613,0.980,0.771,0.512,0.371,0.698,0.858,0.641,0.407,0.742,
+0.718,0.068,0.504,0.820,0.836,0.901,0.654,1.650,0.970,0.569,
+0.460,0.698,0.717,0.578,0.502,0.655,0.879,0.096,0.459,0.708,
+0.688,0.705,0.662,1.140,0.058,0.060,0.031,0.054,0.051,0.066,
+0.047,0.055,0.058,0.011,0.046,0.062,0.065,0.090,0.053,0.092,
+0.693,0.832,0.545,0.792,0.058,0.066,0.053,0.084,0.933,0.108,
+0.622,0.898,0.662,1.050,0.882,1.090,0.888,0.738,0.529,0.789,
+0.870,0.801,0.711,1.120,1.290,0.149,0.943,1.360,0.950,1.060,
+1.030,1.740,1.590,0.655,0.575,1.130,0.744,0.470,0.416,0.601,
+0.956,0.087,0.527,0.894,1.280,0.968,0.775,1.730,1.010,0.648,
+0.459,0.747,0.792,0.768,0.521,0.683,0.869,0.066,0.632,1.030,
+0.828,0.872,0.702,1.400,1.280,1.080,0.821,1.310,0.079,0.089,
+0.052,0.110,1.450,0.101,1.080,1.870,1.470,1.600,1.760,2.230,
+2.000,1.080,1.080,2.080,1.370,1.290,0.958,1.720,1.920,0.127,
+1.790,2.770,2.310,1.760,2.130,2.730,7.400,1.620,1.790,2.400,
+1.790,0.895,1.020,1.100,1.870,0.146,0.949,1.260,2.560,1.470,
+1.130,1.740,1.930,1.030,0.808,0.947,1.140,0.685,0.677,0.630,
+0.990,0.085,0.719,0.764,0.900,0.859,0.851,0.961,1.380,0.701,
+0.768,0.988,0.098,0.072,0.089,0.132,0.753,0.065,0.636,0.697,
+0.851,0.818,1.100,1.040,1.780,0.712,0.794,1.610,1.090,0.723,
+0.868,1.280,0.984,0.079,0.761,0.988,1.260,0.802,1.080,1.640,
+1.960,0.938,0.587,0.852,0.955,0.611,0.493,0.585,0.671,0.064,
+0.420,0.545,0.690,0.666,0.490,0.764,1.240,0.841,0.516,0.613,
+0.707,0.423,0.452,0.427,0.620,0.059,0.509,0.592,0.485,0.501,
+0.633,0.639,0.809,0.662,0.408,0.565,0.129,0.052,0.048,0.062,
+0.630,0.063,0.466,0.691,0.427,0.630,0.475,0.564,0.690,0.463,
+0.344,0.605,0.883,0.491,0.410,0.611,0.642,0.051,0.543,0.706,
+0.573,0.481,0.641,0.991,1.880,0.555,0.634,0.794,0.822,0.445,
+0.552,0.596,0.794,0.088,0.524,0.683,0.743,0.631,0.959,1.030,
+0.112,0.059,0.046,0.057,0.059,0.047,0.043,0.047,0.057,0.010,
+0.055,0.069,0.080,0.107,0.100,0.110,0.567,0.440,0.414,0.459,
+0.042,0.036,0.037,0.053,0.535,0.050,0.453,0.500,0.404,0.549,
+0.734,0.581,0.549,0.330,0.358,0.523,0.569,0.436,0.424,0.617,
+0.711,0.063,0.587,0.939,0.498,0.551,0.724,0.982,2.920,0.593,
+0.539,1.070,0.652,0.324,0.439,0.447,0.679,0.062,0.351,0.529,
+0.857,0.560,0.641,1.190,1.060,0.542,0.451,0.587,0.534,0.345,
+0.378,0.368,0.561,0.048,0.456,0.530,0.577,0.593,0.552,0.813,
+0.603,0.424,0.399,0.518,0.044,0.028,0.034,0.047,0.515,0.038,
+0.422,0.520,0.476,0.548,0.678,0.696,0.936,0.406,0.471,0.899,
+0.404,0.249,0.345,0.504,0.783,0.055,0.627,1.000,1.050,0.749,
+1.180,1.840,2.660,1.430,1.160,1.720,1.370,0.995,0.869,0.957,
+1.070,0.120,0.660,0.895,1.210,1.210,0.861,1.270,1.730,1.340,
+0.827,0.995,1.170,0.902,0.892,0.768,0.967,0.101,0.896,0.958,
+0.658,0.716,0.710,0.899,0.761,0.652,0.671,0.720,0.082,0.089,
+0.073,0.097,0.697,0.081,0.549,0.645,0.479,0.757,0.657,0.800,
+0.919,0.418,0.515,0.874,0.930,0.644,0.589,0.771,0.643,0.058,
+0.511,0.738,0.664,0.517,0.782,1.240,1.830,1.290,0.671,1.030,
+1.140,1.260,0.671,0.857,0.800,0.101,0.580,0.676,0.709,0.788,
+0.497,0.764,1.250,1.050,0.663,0.696,0.752,0.378,0.567,0.529,
+0.805,0.095,0.695,0.848,0.469,0.637,0.600,0.682,0.732,0.948,
+0.544,0.651,0.076,0.110,0.066,0.069,0.824,0.129,0.712,0.940,
+0.544,1.470,0.713,0.801,0.628,0.460,0.365,0.636,0.875,0.616,
+0.436,0.573,0.579,0.059,0.490,0.676,0.476,0.545,0.569,0.875,
+1.730,0.783,0.616,0.958,1.120,0.816,0.864,0.764,0.975,0.129,
+0.712,1.010,0.726,0.746,0.892,1.050,0.100,0.111,0.069,0.082,
+0.092,0.118,0.098,0.069,0.089,0.027,0.111,0.121,0.076,0.144,
+0.118,0.118,0.790,0.910,0.844,0.864,0.080,0.105,0.115,0.095,
+0.918,0.138,0.937,0.968,0.642,1.150,2.240,1.140,0.671,0.416,
+0.742,0.640,0.837,0.811,0.813,0.876,1.030,0.098,0.999,1.260,
+0.574,0.695,1.240,1.260,1.520,0.644,0.533,0.897,0.635,0.450,
+0.464,0.488,0.531,0.045,0.380,0.516,0.581,0.477,0.547,0.905,
+1.160,0.865,0.662,0.797,0.803,0.720,0.667,0.675,0.700,0.071,
+0.722,0.929,0.614,0.801,0.805,1.030,0.590,0.569,0.650,0.746,
+0.056,0.058,0.061,0.066,0.631,0.058,0.634,0.775,0.613,0.732,
+1.220,1.010,0.784,0.321,0.546,0.797,0.572,0.445,0.518,0.636,
+0.780,0.058,0.801,1.130,0.967,0.811,2.150,1.940,1.390,0.833,
+0.653,1.010,0.799,0.541,0.431,0.528,0.800,0.073,0.434,0.576,
+0.765,0.613,0.633,0.809,1.300,1.100,0.681,0.834,0.873,0.830,
+0.675,0.654,1.030,0.107,0.761,0.884,0.617,0.808,0.666,1.200,
+0.806,0.914,1.040,0.920,0.096,0.142,0.102,0.140,0.811,0.091,
+0.588,0.803,0.451,0.774,0.610,0.739,0.800,0.551,0.558,0.850,
+0.727,0.961,0.557,0.715,0.694,0.073,0.693,0.840,0.645,0.602,
+0.805,1.430,0.113,0.090,0.053,0.087,0.207,0.100,0.057,0.073,
+0.088,0.014,0.063,0.072,0.084,0.090,0.068,0.083,0.114,0.146,
+0.073,0.080,0.101,0.120,0.092,0.080,0.137,0.026,0.111,0.115,
+0.071,0.135,0.082,0.117,0.084,0.115,0.084,0.091,0.011,0.022,
+0.018,0.016,0.135,0.025,0.104,0.196,0.059,0.169,0.088,0.096,
+0.113,0.079,0.071,0.115,0.158,0.191,0.113,0.145,0.105,0.018,
+0.105,0.142,0.096,0.111,0.116,0.178,0.934,0.583,0.510,0.526,
+0.752,0.628,0.729,0.528,0.883,0.147,0.683,0.847,0.587,0.648,
+0.650,0.761,0.084,0.099,0.059,0.052,0.067,0.087,0.078,0.053,
+0.174,0.055,0.111,0.096,0.087,0.145,0.096,0.095,0.636,0.829,
+0.681,0.573,0.071,0.112,0.101,0.080,0.893,0.130,0.569,0.667,
+0.430,0.726,0.743,0.662,0.520,0.372,0.397,0.502,0.668,0.781,
+0.713,0.810,0.808,0.121,0.996,1.030,0.510,0.661,0.776,0.876,
+0.804,0.408,0.364,0.631,0.550,0.369,0.386,0.357,0.586,0.058,
+0.406,0.519,0.545,0.519,0.546,0.689,1.090,0.858,0.566,0.714,
+0.759,0.779,0.622,0.582,1.910,0.136,0.811,0.986,0.834,1.010,
+0.762,0.899,0.668,0.770,1.060,1.160,0.071,0.103,0.097,0.104,
+0.808,0.093,0.792,0.886,0.609,1.120,0.921,1.030,0.744,0.450,
+0.518,1.010,0.626,0.572,0.518,0.648,0.893,0.088,0.933,1.120,
+1.050,0.853,1.040,1.400,1.570,0.751,0.613,1.180,0.683,0.446,
+0.366,0.590,0.614,0.053,0.376,0.550,0.846,0.564,0.548,1.040,
+0.890,0.553,0.368,0.543,0.565,0.436,0.328,0.487,0.574,0.045,
+0.353,0.541,0.445,0.388,0.353,0.612,0.625,0.491,0.557,0.790,
+0.053,0.053,0.050,0.096,0.463,0.036,0.320,0.487,0.363,0.432,
+0.385,0.617,0.926,0.412,0.541,1.100,0.567,0.422,0.440,0.737,
+0.563,0.044,0.492,0.704,0.723,0.510,0.730,1.510,1.200,0.734,
+0.516,0.972,1.120,0.539,0.436,0.537,0.688,0.062,0.597,0.648,
+0.734,0.568,0.544,0.809,0.978,0.906,0.465,0.661,0.671,0.538,
+0.458,0.503,0.672,0.070,0.584,0.725,0.539,0.594,0.464,0.685,
+0.615,0.546,0.443,0.672,0.056,0.050,0.043,0.069,0.655,0.063,
+0.458,0.861,0.487,0.768,0.509,0.736,0.868,0.413,0.466,0.722,
+0.703,0.562,0.443,0.684,0.647,0.053,0.570,0.819,0.667,0.635,
+0.699,1.150,1.070,0.502,0.490,0.724,0.857,0.494,0.586,0.721,
+0.827,0.090,0.629,0.792,0.621,0.556,0.785,1.120,0.078,0.065,
+0.043,0.073,0.061,0.059,0.055,0.065,0.077,0.013,0.079,0.090,
+0.074,0.096,0.085,0.117,0.730,0.647,0.545,0.887,0.058,0.051,
+0.056,0.109,0.748,0.073,0.617,0.763,0.508,0.733,0.817,0.988,
+0.753,0.443,0.530,0.982,0.893,0.672,0.809,1.740,1.110,0.114,
+1.040,1.850,0.834,0.944,1.040,1.600,1.470,0.604,0.596,1.080,
+0.691,0.450,0.503,0.587,0.704,0.065,0.515,0.789,0.943,0.613,
+0.688,1.380,0.786,0.569,0.409,0.667,0.518,0.354,0.446,0.522,
+0.740,0.050,0.544,0.819,0.740,0.637,0.606,1.120,0.925,0.785,
+0.846,1.520,0.073,0.063,0.062,0.116,0.899,0.070,0.769,1.120,
+0.889,1.010,1.140,1.630,1.820,0.707,0.913,1.820,1.050,0.807,
+0.852,1.390,1.520,0.090,1.320,2.010,2.660,1.480,1.960,2.970,
+0.295,0.101,0.105,0.121,0.115,0.089,0.075,0.073,0.089,0.011,
+0.059,0.070,0.108,0.088,0.068,0.091,0.120,0.081,0.083,0.067,
+0.097,0.074,0.077,0.066,0.077,0.011,0.075,0.075,0.059,0.074,
+0.082,0.078,0.067,0.058,0.060,0.067,7.60e-3,9.78e-3,0.014,0.011,
+0.048,7.19e-3,0.075,0.058,0.048,0.090,0.247,0.087,0.084,0.058,
+0.045,0.084,0.087,0.151,0.077,0.096,0.059,0.010,0.066,0.075,
+0.069,0.069,0.093,0.113,0.128,0.095,0.065,0.079,0.098,0.095,
+0.061,0.055,0.064,0.012,0.067,0.068,0.059,0.073,0.052,0.063,
+0.122,0.103,0.068,0.067,0.098,0.082,0.088,0.065,0.086,0.017,
+0.097,0.096,0.052,0.085,0.078,0.075,0.063,0.078,0.047,0.050,
+8.69e-3,0.014,0.014,9.11e-3,0.077,0.018,0.083,0.115,0.038,0.083,
+0.077,0.067,0.055,0.062,0.032,0.053,0.072,0.068,0.054,0.066,
+0.065,9.02e-3,0.074,0.086,0.060,0.060,0.073,0.104,0.089,0.041,
+0.040,0.042,0.063,0.053,0.054,0.052,0.065,0.010,0.047,0.049,
+0.042,0.049,0.067,0.074,6.68e-3,7.77e-3,6.52e-3,5.60e-3,7.35e-3,0.010,
+0.012,7.52e-3,8.44e-3,4.26e-3,0.012,0.011,6.27e-3,0.014,0.013,0.012,
+0.045,0.043,0.041,0.036,6.94e-3,5.60e-3,8.86e-3,6.02e-3,0.056,0.011,
+0.065,0.054,0.035,0.060,0.118,0.063,0.044,0.026,0.028,0.039,
+0.049,0.048,0.049,0.055,0.062,9.02e-3,0.068,0.085,0.045,0.048,
+0.083,0.090,0.135,0.043,0.037,0.070,0.047,0.028,0.030,0.035,
+0.047,5.85e-3,0.028,0.039,0.055,0.047,0.051,0.090,0.084,0.062,
+0.055,0.074,0.062,0.061,0.060,0.059,0.055,8.52e-3,0.059,0.069,
+0.054,0.073,0.067,0.086,0.045,0.047,0.048,0.048,7.60e-3,6.52e-3,
+8.36e-3,7.10e-3,0.044,6.27e-3,0.048,0.057,0.041,0.068,0.195,0.086,
+0.067,0.038,0.042,0.069,0.044,0.040,0.043,0.057,0.066,6.52e-3,
+0.073,0.098,0.088,0.079,0.133,0.185,0.162,0.097,0.074,0.095,
+0.100,0.106,0.088,0.073,0.074,0.011,0.057,0.060,0.065,0.077,
+0.058,0.072,0.134,0.116,0.083,0.073,0.128,0.140,0.136,0.077,
+0.092,0.027,0.113,0.113,0.057,0.073,0.074,0.069,0.051,0.059,
+0.064,0.047,8.36e-3,0.015,0.016,0.010,0.057,0.011,0.059,0.051,
+0.058,0.065,0.069,0.066,0.052,0.033,0.036,0.057,0.062,0.067,
+0.058,0.062,0.049,8.77e-3,0.050,0.057,0.095,0.047,0.063,0.087,
+0.155,0.161,0.070,0.086,0.142,0.334,0.107,0.081,0.087,0.022,
+0.074,0.070,0.057,0.086,0.054,0.070,0.146,0.178,0.097,0.082,
+0.129,0.091,0.126,0.098,0.118,0.041,0.134,0.144,0.059,0.118,
+0.094,0.086,0.072,0.126,0.078,0.066,0.016,0.038,0.030,0.017,
+0.109,0.042,0.113,0.124,0.049,0.168,0.114,0.091,0.058,0.048,
+0.039,0.082,0.086,0.102,0.074,0.071,0.071,0.016,0.091,0.086,
+0.048,0.076,0.079,0.094,0.105,0.069,0.061,0.064,0.116,0.124,
+0.110,0.076,0.098,0.021,0.077,0.091,0.057,0.089,0.089,0.081,
+0.013,0.024,0.017,0.012,0.020,0.047,0.045,0.017,0.022,0.021,
+0.040,0.029,8.27e-3,0.036,0.024,0.017,0.102,0.136,0.123,0.094,
+0.024,0.035,0.048,0.022,0.125,0.038,0.163,0.120,0.083,0.158,
+0.432,0.147,0.084,0.042,0.058,0.057,0.095,0.116,0.122,0.099,
+0.209,0.029,0.145,0.135,0.059,0.083,0.155,0.125,0.094,0.056,
+0.040,0.067,0.048,0.047,0.048,0.042,0.049,5.77e-3,0.040,0.045,
+0.053,0.049,0.050,0.078,0.098,0.099,0.090,0.080,0.092,0.121,
+0.107,0.082,0.083,0.020,0.107,0.118,0.053,0.118,0.095,0.093,
+0.052,0.069,0.074,0.063,6.77e-3,0.011,0.014,0.010,0.065,0.013,
+0.084,0.084,0.051,0.073,0.198,0.097,0.057,0.035,0.045,0.061,
+0.050,0.051,0.060,0.051,0.076,7.94e-3,0.079,0.103,0.072,0.082,
+0.177,0.150,0.074,0.069,0.049,0.063,0.059,0.044,0.039,0.043,
+0.049,6.77e-3,0.031,0.037,0.044,0.040,0.040,0.043,0.090,0.093,
+0.066,0.059,0.083,0.102,0.094,0.065,0.084,0.022,0.095,0.092,
+0.042,0.098,0.059,0.080,0.050,0.075,0.070,0.068,7.85e-3,0.014,
+0.018,0.015,0.058,0.015,0.059,0.068,0.030,0.069,0.052,0.059,
+0.041,0.036,0.030,0.047,0.049,0.062,0.051,0.057,0.050,8.11e-3,
+0.054,0.064,0.046,0.049,0.060,0.097,8.61e-3,0.010,5.35e-3,7.19e-3,
+0.023,0.016,0.013,9.36e-3,9.11e-3,4.93e-3,0.010,8.19e-3,7.19e-3,0.011,
+7.52e-3,6.35e-3,0.017,0.023,0.013,8.52e-3,0.019,0.035,0.030,0.017,
+0.016,0.017,0.029,0.022,7.19e-3,0.031,0.015,0.013,7.85e-3,0.017,
+0.015,9.69e-3,3.59e-3,0.014,0.015,5.10e-3,0.014,0.017,0.031,0.024,
+5.93e-3,0.028,0.022,0.011,4.93e-3,6.27e-3,4.26e-3,7.10e-3,0.012,0.018,
+0.015,0.013,9.53e-3,5.60e-3,0.019,0.015,5.10e-3,0.012,0.013,0.015,
+0.073,0.071,0.063,0.047,0.075,0.108,0.130,0.067,0.086,0.026,
+0.097,0.096,0.044,0.087,0.081,0.083,8.86e-3,0.022,0.012,8.69e-3,
+0.015,0.032,0.033,0.013,0.023,0.021,0.042,0.027,7.44e-3,0.027,
+0.019,0.012,0.075,0.140,0.097,0.067,0.015,0.049,0.037,0.016,
+0.123,0.044,0.111,0.109,0.042,0.153,0.127,0.091,0.049,0.042,
+0.042,0.052,0.075,0.128,0.109,0.102,0.113,0.035,0.167,0.158,
+0.052,0.087,0.121,0.112,0.064,0.045,0.041,0.065,0.043,0.035,
+0.040,0.034,0.047,7.85e-3,0.038,0.052,0.041,0.064,0.042,0.063,
+0.091,0.108,0.074,0.078,0.100,0.126,0.109,0.078,0.143,0.025,
+0.130,0.137,0.067,0.142,0.108,0.098,0.061,0.103,0.107,0.093,
+9.69e-3,0.022,0.033,0.013,0.099,0.030,0.126,0.124,0.065,0.250,
+0.162,0.170,0.049,0.044,0.046,0.071,0.077,0.062,0.069,0.061,
+0.094,0.014,0.114,0.123,0.083,0.105,0.108,0.137,0.095,0.064,
+0.044,0.082,0.080,0.045,0.038,0.088,0.063,4.85e-3,0.035,0.063,
+0.065,0.052,0.045,0.081,0.078,0.057,0.036,0.050,0.058,0.050,
+0.043,0.058,0.060,7.60e-3,0.044,0.058,0.040,0.044,0.039,0.054,
+0.046,0.044,0.047,0.063,5.43e-3,4.93e-3,6.77e-3,0.011,0.041,4.60e-3,
+0.039,0.047,0.028,0.042,0.038,0.055,0.065,0.038,0.040,0.074,
+0.049,0.039,0.040,0.078,0.060,4.93e-3,0.043,0.088,0.066,0.045,
+0.070,0.142,0.118,0.087,0.056,0.099,0.171,0.079,0.072,0.071,
+0.087,0.011,0.089,0.081,0.108,0.080,0.116,0.099,0.118,0.124,
+0.069,0.086,0.119,0.104,0.108,0.094,0.101,0.018,0.116,0.130,
+0.076,0.117,0.092,0.098,0.065,0.079,0.060,0.076,6.77e-3,0.012,
+0.011,0.011,0.078,0.013,0.082,0.118,0.053,0.109,0.078,0.093,
+0.080,0.051,0.048,0.078,0.089,0.087,0.074,0.119,0.081,0.010,
+0.088,0.121,0.076,0.089,0.098,0.144,0.070,0.044,0.041,0.059,
+0.058,0.059,0.064,0.061,0.071,0.012,0.068,0.082,0.048,0.055,
+0.078,0.107,8.44e-3,7.35e-3,6.35e-3,9.36e-3,0.011,0.015,0.011,0.011,
+0.011,4.35e-3,0.016,0.015,6.94e-3,0.012,0.017,0.013,0.063,0.076,
+0.067,0.064,8.86e-3,0.013,0.013,0.012,0.078,0.015,0.088,0.096,
+0.044,0.102,0.117,0.093,0.060,0.037,0.046,0.071,0.077,0.070,
+0.083,0.139,0.159,0.027,0.144,0.353,0.073,0.099,0.124,0.157,
+0.098,0.057,0.049,0.080,0.060,0.044,0.042,0.056,0.055,8.02e-3,
+0.045,0.071,0.064,0.054,0.055,0.117,0.070,0.059,0.041,0.076,
+0.055,0.054,0.058,0.063,0.054,6.02e-3,0.063,0.084,0.057,0.064,
+0.057,0.098,0.070,0.079,0.074,0.098,6.35e-3,7.94e-3,7.69e-3,0.011,
+0.081,0.010,0.083,0.114,0.068,0.110,0.114,0.146,0.101,0.055,
+0.066,0.115,0.081,0.072,0.077,0.115,0.121,0.011,0.134,0.198,
+0.170,0.137,0.175,0.230,2.020,1.110,1.000,1.650,1.150,0.752,
+0.819,0.907,0.904,0.090,0.678,0.889,1.200,0.924,0.867,1.190,
+1.190,0.686,0.536,0.713,0.862,0.563,0.623,0.620,0.632,0.063,
+0.623,0.659,0.581,0.594,0.723,0.762,0.685,0.575,0.629,0.777,
+0.062,0.053,0.068,0.112,0.571,0.064,0.617,1.000,0.424,0.541,
+0.738,0.808,0.681,0.343,0.332,0.633,0.522,0.381,0.392,0.561,
+0.463,0.040,0.457,0.630,0.583,0.352,0.641,0.970,1.510,0.981,
+0.843,0.986,1.200,0.846,0.808,0.751,0.719,0.087,0.600,0.784,
+0.597,0.737,0.482,0.740,1.330,0.985,0.727,0.740,1.080,0.646,
+0.924,0.713,0.970,0.117,0.909,1.130,0.601,0.832,0.614,0.778,
+0.847,0.927,0.732,0.915,0.108,0.109,0.121,0.214,1.290,0.221,
+1.350,4.520,0.556,1.190,1.170,1.360,0.606,0.403,0.314,0.520,
+0.846,0.680,0.568,0.767,0.597,0.070,0.621,1.200,0.567,0.533,
+0.788,1.080,1.050,0.507,0.460,0.602,0.852,0.682,0.705,0.639,
+0.816,0.104,0.633,0.643,0.555,0.607,0.722,0.831,0.105,0.104,
+0.081,0.089,0.126,0.124,0.126,0.106,0.118,0.027,0.144,0.135,
+0.095,0.220,0.147,0.168,0.708,0.660,0.685,0.640,0.081,0.082,
+0.119,0.108,0.931,0.130,1.040,1.050,0.482,0.809,1.160,0.817,
+0.533,0.413,0.348,0.404,0.837,0.663,0.793,0.750,0.665,0.078,
+0.914,0.830,0.548,0.545,0.824,0.909,1.000,0.408,0.391,0.625,
+0.493,0.374,0.397,0.416,0.432,0.051,0.336,0.432,0.574,0.476,
+0.510,0.771,0.857,0.693,0.525,0.600,0.675,0.598,0.570,0.536,
+0.641,0.068,0.662,0.730,0.562,0.775,0.752,0.937,0.665,0.683,
+0.674,0.692,0.066,0.062,0.100,0.097,0.877,0.088,0.973,1.140,
+0.708,0.932,2.460,1.330,0.749,0.455,0.427,0.698,0.486,0.376,
+0.540,0.653,0.831,0.077,0.905,1.130,1.090,0.872,1.410,1.920,
+0.125,0.098,0.060,0.091,0.101,0.085,0.083,0.085,0.072,0.011,
+0.045,0.055,0.064,0.072,0.060,0.072,0.112,0.103,0.065,0.077,
+0.120,0.110,0.129,0.091,0.075,0.021,0.100,0.124,0.066,0.079,
+0.085,0.085,0.047,0.061,0.051,0.051,9.78e-3,0.016,0.014,0.012,
+0.054,0.011,0.069,0.078,0.029,0.062,0.098,0.063,0.049,0.029,
+0.028,0.046,0.072,0.061,0.050,0.059,0.038,5.93e-3,0.045,0.057,
+0.045,0.037,0.065,0.090,0.107,0.101,0.062,0.068,0.101,0.133,
+0.098,0.087,0.072,0.016,0.068,0.060,0.040,0.064,0.046,0.051,
+0.127,0.132,0.084,0.073,0.122,0.098,0.146,0.090,0.097,0.033,
+0.122,0.110,0.051,0.096,0.077,0.072,0.057,0.097,0.056,0.061,
+0.016,0.030,0.032,0.019,0.103,0.040,0.124,0.258,0.037,0.121,
+0.114,0.094,0.042,0.034,0.026,0.036,0.067,0.073,0.055,0.059,
+0.051,8.77e-3,0.059,0.102,0.036,0.046,0.066,0.074,0.083,0.061,
+0.043,0.046,0.102,0.115,0.126,0.075,0.079,0.019,0.086,0.068,
+0.042,0.064,0.077,0.073,0.012,0.022,0.016,0.011,0.027,0.040,
+0.046,0.021,0.021,0.024,0.054,0.029,9.36e-3,0.025,0.027,0.016,
+0.064,0.100,0.092,0.072,0.020,0.035,0.051,0.021,0.117,0.056,
+0.188,0.125,0.061,0.137,0.327,0.119,0.044,0.040,0.037,0.042,
+0.084,0.103,0.108,0.083,0.080,0.021,0.122,0.100,0.043,0.060,
+0.112,0.097,0.094,0.076,0.060,0.070,0.062,0.055,0.055,0.058,
+0.045,6.43e-3,0.044,0.051,0.054,0.063,0.096,0.097,0.122,0.128,
+0.088,0.094,0.146,0.190,0.137,0.113,0.099,0.023,0.134,0.121,
+0.078,0.148,0.162,0.145,0.098,0.081,0.109,0.076,0.011,0.017,
+0.031,0.015,0.087,0.022,0.169,0.123,0.142,0.143,1.020,0.224,
+0.069,0.045,0.049,0.065,0.059,0.051,0.077,0.069,0.073,9.44e-3,
+0.098,0.118,0.102,0.087,0.234,0.195,1.170,1.620,0.724,1.210,
+0.845,0.685,0.571,0.901,0.725,0.086,0.595,0.614,0.614,0.468,
+0.418,0.597,1.060,0.984,0.640,0.744,1.040,0.937,1.190,0.929,
+1.030,0.166,1.160,1.050,0.498,0.774,0.625,0.708,0.791,0.916,
+0.722,0.752,0.121,0.155,0.138,0.171,1.340,0.188,1.230,1.280,
+0.561,0.994,0.822,0.957,0.549,0.390,0.322,0.521,0.679,0.577,
+0.521,0.620,0.848,0.090,0.773,0.954,0.605,0.546,0.860,1.200,
+0.094,0.129,0.060,0.085,0.116,0.132,0.119,0.245,0.079,0.022,
+0.147,0.092,0.047,0.066,0.055,0.065,0.108,0.122,0.093,0.085,
+0.157,0.173,0.254,0.240,0.114,0.047,0.275,0.174,0.051,0.097,
+0.079,0.074,0.085,0.147,0.087,0.075,0.020,0.047,0.049,0.030,
+0.158,0.062,0.215,0.268,0.060,0.159,0.148,0.120,0.066,0.059,
+0.039,0.062,0.107,0.130,0.098,0.114,0.088,0.020,0.108,0.150,
+0.058,0.070,0.087,0.124,1.380,0.735,0.720,0.415,0.951,0.970,
+1.140,0.811,0.979,0.167,1.340,1.010,0.459,0.604,0.890,0.780,
+0.111,0.149,0.154,0.071,0.106,0.171,0.160,0.082,0.181,0.059,
+0.292,0.212,0.064,0.140,0.160,0.099,0.914,0.931,0.867,0.658,
+0.138,0.133,0.203,0.105,0.660,0.140,0.218,0.300,0.356,0.530,
+0.727,0.623,0.481,0.484,0.475,0.361,0.663,0.699,0.840,0.599,
+0.788,0.127,1.310,1.020,0.401,0.567,0.952,0.945,0.764,0.475,
+0.457,0.518,0.483,0.374,0.359,0.366,0.460,0.053,0.516,0.494,
+0.368,0.365,0.376,0.580,0.875,0.881,0.667,0.576,0.882,0.996,
+0.840,0.628,0.901,0.126,1.170,1.050,0.516,0.910,0.771,0.703,
+0.757,0.854,0.871,0.797,0.093,0.129,0.129,0.108,1.160,0.158,
+1.820,1.470,0.614,1.200,1.530,1.200,0.569,0.434,0.430,0.536,
+0.610,0.603,0.635,0.575,0.832,0.089,1.360,1.300,0.716,0.790,
+1.200,1.380,1.120,0.662,0.458,0.867,0.604,0.422,0.379,0.552,
+0.513,0.058,0.412,0.543,0.577,0.487,0.372,0.668,0.885,0.514,
+0.365,0.521,0.578,0.413,0.565,0.564,0.449,0.041,0.400,0.467,
+0.312,0.324,0.319,0.441,0.598,0.491,0.366,0.528,0.061,0.051,
+0.051,0.087,0.560,0.058,0.504,0.712,0.376,0.482,0.506,0.656,
+0.606,0.336,0.283,0.533,0.465,0.342,0.316,0.520,0.465,0.037,
+0.365,0.591,0.540,0.409,0.617,0.948,1.140,0.841,0.613,1.020,
+0.955,0.793,0.942,1.010,0.640,0.090,1.180,0.782,0.511,0.558,
+0.486,0.680,1.090,0.935,0.731,0.837,1.110,0.928,1.660,1.110,
+0.800,0.105,1.370,1.090,0.496,0.654,0.592,0.663,0.728,0.917,
+0.580,0.667,0.078,0.116,0.102,0.124,0.991,0.144,1.100,1.840,
+0.504,1.110,0.917,1.020,0.745,0.507,0.359,0.567,0.754,0.727,
+0.642,0.862,0.645,0.077,0.746,1.020,0.573,0.604,0.660,1.020,
+1.060,0.611,0.492,0.588,0.856,0.712,0.900,0.717,0.758,0.098,
+0.826,0.875,0.473,0.536,0.828,0.924,0.090,0.115,0.066,0.069,
+0.103,0.147,0.158,0.103,0.082,0.025,0.140,0.128,0.058,0.111,
+0.111,0.095,0.899,1.040,0.882,0.886,0.103,0.121,0.138,0.136,
+1.320,0.204,1.330,1.500,0.605,1.080,1.740,1.290,0.635,0.511,
+0.511,0.618,0.967,0.862,1.050,1.150,0.918,0.109,1.440,1.620,
+0.621,0.740,1.320,1.380,0.985,0.561,0.430,0.664,0.547,0.446,
+0.446,0.447,0.507,0.058,0.462,0.551,0.564,0.482,0.535,0.797,
+0.828,0.668,0.462,0.590,0.718,0.673,0.687,0.668,0.578,0.057,
+0.692,0.882,0.501,0.573,0.591,0.781,0.833,0.915,0.793,0.931,
+0.076,0.083,0.077,0.104,1.170,0.123,1.440,1.830,0.764,1.080,
+1.410,1.230,1.020,0.607,0.583,0.981,0.841,0.730,0.806,0.963,
+1.040,0.087,1.350,1.770,1.170,0.960,1.500,1.850,2.370,0.977,
+0.955,1.910,0.924,0.553,0.554,0.710,0.796,0.067,0.461,0.716,
+1.190,0.807,0.673,1.150,1.080,0.571,0.470,0.716,0.664,0.365,
+0.387,0.440,0.576,0.045,0.499,0.509,0.567,0.520,0.460,0.626,
+0.665,0.493,0.438,0.661,0.064,0.047,0.045,0.086,0.451,0.035,
+0.379,0.544,0.359,0.421,0.495,0.669,0.929,0.418,0.433,0.818,
+0.756,0.439,0.399,0.583,0.530,0.043,0.455,0.649,0.745,0.490,
+0.672,1.230,1.170,0.728,0.544,0.788,0.735,0.496,0.412,0.451,
+0.452,0.045,0.324,0.476,0.492,0.451,0.336,0.668,0.877,0.545,
+0.391,0.488,0.583,0.355,0.371,0.370,0.485,0.037,0.390,0.516,
+0.470,0.416,0.344,0.546,0.555,0.435,0.338,0.455,0.038,0.039,
+0.031,0.054,0.580,0.051,0.412,1.060,0.414,0.502,0.481,0.598,
+0.531,0.302,0.232,0.415,0.454,0.348,0.263,0.395,0.428,0.031,
+0.346,0.575,0.458,0.378,0.481,0.793,2.000,0.467,0.403,0.595,
+0.714,0.384,0.398,0.494,0.589,0.062,0.287,0.441,0.570,0.441,
+0.419,0.752,0.117,0.054,0.036,0.059,0.063,0.042,0.041,0.050,
+0.056,8.27e-3,0.044,0.056,0.076,0.088,0.062,0.095,0.745,0.463,
+0.503,0.562,0.058,0.042,0.047,0.058,0.694,0.065,0.457,0.626,
+0.474,0.577,0.709,0.742,1.230,0.394,0.364,0.489,0.628,0.422,
+0.435,0.544,0.563,0.054,0.520,0.710,0.582,0.482,0.699,1.030,
+1.260,0.401,0.371,0.740,0.500,0.293,0.324,0.407,0.458,0.042,
+0.300,0.441,0.895,0.467,0.441,0.897,0.784,0.504,0.379,0.577,
+0.477,0.308,0.337,0.359,0.473,0.032,0.419,0.527,0.552,0.537,
+0.491,0.686,0.569,0.465,0.461,0.572,0.039,0.033,0.055,0.051,
+0.530,0.034,0.456,0.580,0.491,0.525,0.956,0.846,0.920,0.456,
+0.414,0.819,0.488,0.335,0.437,0.553,0.669,0.048,0.603,0.994,
+0.973,0.722,1.100,2.050,1.990,1.150,0.916,1.660,1.260,0.854,
+0.875,0.933,0.798,0.082,0.617,0.866,0.964,0.829,0.770,1.220,
+1.430,0.897,0.748,0.957,1.060,0.688,0.818,0.780,0.869,0.087,
+1.120,1.130,0.604,0.693,0.747,0.911,0.745,0.650,0.611,0.803,
+0.071,0.077,0.064,0.094,0.742,0.070,0.630,0.853,0.454,0.619,
+0.762,0.959,0.853,0.462,0.458,0.756,0.986,0.726,0.560,0.741,
+0.584,0.048,0.509,0.743,0.713,0.540,0.746,1.320,1.470,1.010,
+0.618,0.978,1.090,0.870,0.685,0.765,0.690,0.073,0.505,0.645,
+0.610,0.640,0.491,0.792,1.220,0.988,0.663,0.795,1.050,0.603,
+0.768,0.743,0.916,0.103,0.930,0.985,0.595,0.775,0.684,0.777,
+0.661,0.725,0.485,0.654,0.059,0.087,0.064,0.073,0.893,0.111,
+0.699,1.030,0.577,1.050,0.780,1.000,0.546,0.400,0.287,0.503,
+0.608,0.579,0.441,0.543,0.544,0.055,0.495,0.744,0.514,0.533,
+0.621,0.965,1.190,0.676,0.510,0.698,1.120,0.941,0.904,0.836,
+0.851,0.119,0.648,0.759,0.609,0.724,0.729,1.020,0.073,0.100,
+0.054,0.081,0.093,0.121,0.106,0.097,0.074,0.024,0.111,0.100,
+0.069,0.145,0.102,0.116,0.798,0.908,1.010,1.020,0.085,0.109,
+0.125,0.120,1.100,0.214,0.989,1.280,0.774,1.420,1.740,1.540,
+0.727,0.600,0.535,0.751,0.909,0.896,0.977,1.060,1.010,0.097,
+1.060,1.380,0.738,0.826,1.350,1.630,1.210,0.656,0.576,0.850,
+0.655,0.519,0.576,0.582,0.560,0.058,0.511,0.635,0.674,0.653,
+0.728,1.120,1.200,1.120,0.820,0.959,0.877,0.881,0.881,0.858,
+0.858,0.090,1.170,1.240,0.782,1.210,1.190,1.250,0.748,0.718,
+1.120,0.946,0.072,0.070,0.242,0.096,0.819,0.083,1.050,1.180,
+0.764,1.000,3.100,1.650,0.779,0.540,0.581,0.789,0.737,0.624,
+0.919,0.811,0.817,0.067,0.908,1.400,0.959,0.787,1.520,1.990,
+1.670,0.943,0.748,1.120,0.714,0.598,0.428,0.617,0.735,0.064,
+0.456,0.625,0.786,0.536,0.451,0.802,1.150,0.866,0.542,0.736,
+0.899,0.694,0.670,0.623,1.070,0.102,0.833,0.919,0.665,0.735,
+0.596,0.820,0.682,0.803,0.650,0.744,0.083,0.102,0.077,0.112,
+0.860,0.091,0.671,0.871,0.528,0.803,0.836,0.981,0.662,0.443,
+0.430,0.695,0.729,0.599,0.479,0.624,0.720,0.070,0.620,0.979,
+0.738,0.599,0.936,1.590,0.086,0.072,0.102,0.078,0.067,0.075,
+0.059,0.080,0.053,9.02e-3,0.054,0.055,0.052,0.063,0.044,0.070,
+0.081,0.094,0.050,0.063,0.108,0.114,0.107,0.091,0.105,0.023,
+0.124,0.111,0.060,0.100,0.074,0.076,0.048,0.077,0.055,0.056,
+0.011,0.018,0.016,0.013,0.095,0.024,0.097,0.140,0.054,0.112,
+0.157,0.103,0.066,0.052,0.038,0.062,0.094,0.103,0.073,0.089,
+0.067,0.016,0.077,0.118,0.070,0.082,0.092,0.132,1.240,0.758,
+0.603,0.616,0.926,0.972,1.100,0.790,0.829,0.142,0.881,0.863,
+0.634,0.752,0.855,0.986,0.088,0.103,0.053,0.059,0.084,0.106,
+0.086,0.064,0.091,0.025,0.109,0.096,0.076,0.132,0.104,0.096,
+0.837,1.040,0.983,0.871,0.096,0.133,0.156,0.118,1.310,0.196,
+0.677,1.160,0.651,1.160,1.560,1.260,0.673,0.592,0.560,0.638,
+0.872,1.020,1.080,0.942,0.939,0.125,1.380,1.600,0.693,0.881,
+1.330,1.610,1.050,0.581,0.452,0.672,0.632,0.530,0.496,0.512,
+0.658,0.063,0.611,0.762,0.761,0.529,0.542,0.909,1.240,1.130,
+0.672,0.830,0.982,1.110,0.778,0.720,1.030,0.100,1.160,1.310,
+0.853,1.210,1.100,1.140,1.050,1.080,0.977,1.080,0.097,0.129,
+0.134,0.125,1.330,0.131,1.540,1.890,1.110,1.760,4.550,2.430,
+0.868,0.603,0.585,0.788,0.760,0.754,0.914,0.775,1.160,0.097,
+1.520,1.890,1.090,1.120,1.850,2.480,2.190,0.912,0.602,1.230,
+0.757,0.484,0.379,0.653,0.765,0.073,0.471,0.674,0.860,0.631,
+0.511,1.020,1.100,0.552,0.319,0.571,0.620,0.378,0.347,0.476,
+0.698,0.045,0.397,0.561,0.501,0.406,0.354,0.602,0.776,0.634,
+0.427,0.803,0.078,0.071,0.049,0.114,0.616,0.053,0.420,0.703,
+0.530,0.581,0.537,0.761,0.868,0.404,0.375,0.746,0.586,0.367,
+0.337,0.607,0.642,0.051,0.448,0.806,0.862,0.548,0.776,1.630,
+1.190,0.674,0.614,0.908,0.737,0.531,0.478,0.634,0.550,0.048,
+0.479,0.598,0.566,0.525,0.382,0.786,0.907,0.639,0.437,0.637,
+0.748,0.576,0.617,0.661,0.663,0.062,0.673,0.794,0.539,0.595,
+0.468,0.712,0.616,0.584,0.393,0.638,0.047,0.061,0.043,0.064,
+0.736,0.071,0.609,1.080,0.589,0.829,0.784,1.030,0.740,0.453,
+0.333,0.593,0.649,0.524,0.431,0.641,0.730,0.110,0.558,0.937,
+0.720,0.744,0.684,1.220,1.450,0.721,0.649,1.070,0.979,0.750,
+0.722,0.949,0.948,0.109,0.676,0.913,0.805,0.785,0.893,1.390,
+0.098,0.075,0.047,0.079,0.076,0.086,0.066,0.082,0.069,0.013,
+0.076,0.086,0.084,0.107,0.081,0.127,1.060,1.130,0.870,1.080,
+0.082,0.094,0.088,0.126,1.310,0.149,1.150,1.590,0.891,1.310,
+1.720,1.880,1.010,0.818,0.675,0.992,1.080,0.992,1.040,1.350,
+1.260,0.120,1.370,2.050,1.020,1.050,1.420,2.170,1.930,0.820,
+0.609,1.220,0.788,0.554,0.503,0.711,0.787,0.071,0.564,0.837,
+1.100,0.791,0.808,1.680,1.290,0.878,0.578,0.867,0.977,0.859,
+0.615,0.761,0.874,0.060,0.897,1.110,0.996,0.898,0.833,1.310,
+1.230,1.200,0.876,1.340,0.078,0.087,0.080,0.117,1.390,0.106,
+1.310,1.940,1.220,1.490,2.160,2.440,1.720,0.880,0.813,1.730,
+1.130,0.944,0.889,1.330,1.500,0.104,1.540,2.410,1.950,1.420,
+2.060,3.240,4.340,1.750,1.540,3.420,1.580,0.902,0.947,1.480,
+1.910,0.149,0.809,1.400,3.120,1.970,1.250,2.550,1.760,0.893,
+0.663,0.994,0.994,0.545,0.520,0.636,0.941,0.057,0.483,0.678,
+1.310,0.704,0.654,1.020,1.290,0.688,0.649,1.240,0.090,0.058,
+0.060,0.175,0.630,0.049,0.364,0.602,0.711,0.643,0.616,0.981,
+1.910,0.790,0.831,2.180,1.190,0.689,0.792,1.750,0.904,0.065,
+0.548,1.030,1.330,0.817,0.993,2.160,1.830,0.793,0.561,0.991,
+0.822,0.465,0.440,0.627,0.681,0.057,0.296,0.506,0.798,0.594,
+0.401,0.815,1.050,0.582,0.373,0.526,0.543,0.276,0.311,0.345,
+0.498,0.032,0.308,0.416,0.494,0.356,0.344,0.487,0.800,0.496,
+0.349,0.566,0.048,0.034,0.029,0.054,0.539,0.038,0.303,0.440,
+0.402,0.476,0.318,0.526,0.837,0.457,0.348,0.725,0.688,0.412,
+0.353,0.685,0.572,0.035,0.320,0.568,0.558,0.446,0.465,1.000,
+1.350,0.535,0.487,0.842,0.744,0.417,0.427,0.617,0.795,0.075,
+0.371,0.634,1.030,0.665,0.610,1.200,0.089,0.055,0.042,0.071,
+0.058,0.039,0.036,0.057,0.055,5.85e-3,0.037,0.060,0.112,0.091,
+0.068,0.128,0.628,0.433,0.449,0.547,0.049,0.026,0.030,0.057,
+0.463,0.041,0.277,0.409,0.427,0.440,0.520,0.613,0.628,0.359,
+0.388,0.656,0.632,0.399,0.404,0.653,0.680,0.061,0.422,0.772,
+0.512,0.538,0.670,1.190,2.120,0.707,0.636,1.290,0.752,0.405,
+0.478,0.633,0.824,0.077,0.439,0.722,1.300,0.787,0.689,1.630,
+1.130,0.595,0.517,0.775,0.590,0.379,0.372,0.501,0.601,0.040,
+0.402,0.611,0.792,0.633,0.546,0.959,0.637,0.480,0.527,0.744,
+0.055,0.034,0.037,0.067,0.662,0.041,0.400,0.677,0.590,0.626,
+0.602,0.898,1.140,0.558,0.728,1.320,0.643,0.433,0.486,0.761,
+0.944,0.057,0.653,1.180,1.460,1.030,1.410,2.860,2.120,1.020,
+0.829,1.570,1.020,0.595,0.546,0.753,0.868,0.063,0.365,0.664,
+1.230,0.836,0.592,1.210,1.200,0.611,0.480,0.707,0.679,0.416,
+0.422,0.457,0.570,0.038,0.352,0.490,0.509,0.410,0.401,0.683,
+0.583,0.307,0.350,0.577,0.047,0.036,0.032,0.063,0.381,0.032,
+0.213,0.316,0.387,0.414,0.334,0.568,0.701,0.298,0.357,0.751,
+0.575,0.365,0.315,0.546,0.431,0.030,0.254,0.443,0.572,0.393,
+0.491,1.080,1.340,0.742,0.420,0.803,0.668,0.473,0.348,0.433,
+0.509,0.041,0.242,0.385,0.711,0.462,0.296,0.652,0.766,0.474,
+0.290,0.407,0.433,0.180,0.232,0.262,0.381,0.029,0.242,0.358,
+0.331,0.302,0.260,0.402,0.619,0.445,0.265,0.416,0.043,0.035,
+0.022,0.035,0.391,0.043,0.210,0.363,0.366,0.493,0.284,0.450,
+0.537,0.310,0.239,0.482,0.458,0.336,0.224,0.366,0.409,0.030,
+0.236,0.446,0.428,0.396,0.339,0.754,1.140,0.505,0.406,0.696,
+0.629,0.395,0.423,0.469,0.798,0.070,0.345,0.533,0.918,0.532,
+0.440,0.798,0.052,0.044,0.031,0.052,0.038,0.040,0.038,0.038,
+0.042,7.10e-3,0.034,0.048,0.076,0.060,0.044,0.065,0.519,0.425,
+0.348,0.497,0.035,0.034,0.031,0.042,0.427,0.036,0.265,0.355,
+0.367,0.455,0.517,0.528,0.476,0.321,0.350,0.543,0.468,0.405,
+0.371,0.510,0.549,0.041,0.473,0.618,0.469,0.433,0.599,0.841,
+0.933,0.441,0.408,0.661,0.440,0.298,0.359,0.368,0.449,0.033,
+0.228,0.375,0.580,0.387,0.348,0.740,0.685,0.463,0.385,0.529,
+0.368,0.308,0.325,0.376,0.353,0.028,0.305,0.438,0.413,0.405,
+0.361,0.578,0.436,0.255,0.354,0.558,0.027,0.024,0.023,0.039,
+0.469,0.036,0.252,0.407,0.429,0.494,0.427,0.615,0.558,0.224,
+0.346,0.674,0.411,0.294,0.299,0.455,0.573,0.036,0.379,0.675,
+0.772,0.646,0.830,1.440,1.490,0.816,0.564,1.190,0.673,0.442,
+0.355,0.584,0.649,0.056,0.344,0.638,0.863,0.678,0.641,0.890,
+1.120,0.681,0.419,0.749,0.585,0.407,0.356,0.475,0.615,0.051,
+0.388,0.558,0.603,0.621,0.526,0.819,0.716,0.586,0.524,0.795,
+0.066,0.083,0.044,0.114,0.416,0.036,0.215,0.367,0.372,0.498,
+0.348,0.598,0.960,0.540,0.461,1.030,0.703,0.836,0.428,0.806,
+0.556,0.049,0.354,0.618,0.845,0.597,0.816,1.720,0.122,0.095,
+0.044,0.087,0.085,0.053,0.037,0.054,0.057,7.94e-3,0.033,0.055,
+0.085,0.094,0.056,0.090,0.106,0.074,0.039,0.065,0.070,0.056,
+0.040,0.047,0.067,6.52e-3,0.040,0.057,0.066,0.073,0.052,0.083,
+0.063,0.061,0.044,0.073,6.02e-3,8.52e-3,3.93e-3,7.77e-3,0.052,5.68e-3,
+0.028,0.049,0.050,0.071,0.039,0.072,0.126,0.082,0.059,0.129,
+0.114,0.145,0.064,0.126,0.066,7.35e-3,0.047,0.087,0.108,0.098,
+0.086,0.188,0.800,0.472,0.363,0.485,0.483,0.366,0.437,0.426,
+0.648,0.075,0.356,0.526,0.615,0.572,0.408,0.688,0.062,0.055,
+0.027,0.043,0.037,0.037,0.034,0.035,0.055,8.36e-3,0.034,0.041,
+0.067,0.076,0.047,0.064,0.578,0.475,0.360,0.440,0.050,0.044,
+0.038,0.048,0.466,0.047,0.225,0.344,0.338,0.430,0.392,0.505,
+0.526,0.349,0.337,0.539,0.542,0.501,0.399,0.578,0.587,0.063,
+0.501,0.665,0.529,0.494,0.577,0.894,0.853,0.426,0.354,0.623,
+0.479,0.305,0.497,0.422,0.567,0.055,0.302,0.470,0.748,0.627,
+0.384,0.835,0.894,0.663,0.368,0.649,0.479,0.399,0.405,0.430,
+0.643,0.051,0.395,0.583,0.731,0.734,0.463,0.756,0.581,0.469,
+0.395,0.701,0.048,0.045,0.037,0.060,0.518,0.039,0.347,0.581,
+0.520,0.666,0.542,0.810,0.708,0.440,0.431,0.784,0.557,0.461,
+0.393,0.564,0.687,0.049,0.560,0.799,0.967,0.764,0.879,1.530,
+2.280,0.915,0.755,1.640,0.918,0.522,0.411,0.783,0.690,0.053,
+0.388,0.633,1.180,0.678,0.653,1.370,0.864,0.406,0.309,0.579,
+0.478,0.278,0.260,0.372,0.539,0.026,0.286,0.468,0.515,0.335,
+0.368,0.698,0.746,0.451,0.618,0.842,0.052,0.038,0.046,0.092,
+0.470,0.029,0.262,0.445,0.450,0.408,0.365,0.716,1.230,0.548,
+0.635,1.420,0.679,0.465,0.432,0.858,0.662,0.041,0.475,0.738,
+0.989,0.606,0.853,2.080,1.260,0.649,0.401,0.867,0.691,0.398,
+0.300,0.451,0.504,0.038,0.329,0.495,0.643,0.541,0.376,0.788,
+0.747,0.450,0.241,0.419,0.480,0.288,0.234,0.301,0.399,0.026,
+0.282,0.428,0.403,0.338,0.279,0.506,0.591,0.407,0.321,0.551,
+0.037,0.035,0.020,0.047,0.474,0.030,0.268,0.449,0.440,0.447,
+0.318,0.651,0.872,0.413,0.357,0.788,0.621,0.478,0.364,0.699,
+0.566,0.034,0.379,0.637,0.691,0.557,0.572,1.260,1.010,0.458,
+0.382,0.707,0.680,0.375,0.394,0.579,0.673,0.058,0.396,0.605,
+0.566,0.443,0.482,0.876,0.059,0.041,0.026,0.053,0.040,0.038,
+0.028,0.037,0.040,4.51e-3,0.038,0.051,0.051,0.048,0.039,0.069,
+0.632,0.412,0.382,0.635,0.041,0.027,0.026,0.064,0.481,0.037,
+0.336,0.458,0.416,0.456,0.472,0.719,0.690,0.386,0.423,0.785,
+0.750,0.477,0.497,0.990,0.808,0.057,0.610,1.030,0.640,0.604,
+0.789,1.460,1.690,0.685,0.618,1.220,0.711,0.416,0.507,0.624,
+0.755,0.063,0.423,0.731,1.110,0.705,0.660,1.670,0.919,0.626,
+0.378,0.749,0.497,0.352,0.345,0.478,0.622,0.035,0.382,0.656,
+0.722,0.560,0.489,0.935,0.927,0.672,0.780,1.220,0.059,0.047,
+0.044,0.090,0.771,0.047,0.523,0.919,0.896,0.847,0.819,1.400,
+1.870,0.830,0.900,2.160,1.120,0.985,0.773,1.400,1.640,0.078,
+1.120,2.040,2.780,1.660,2.060,3.990,2.230,1.240,1.370,2.010,
+1.230,0.732,0.725,0.923,1.060,0.101,0.554,0.892,1.510,1.230,
+0.849,1.510,1.320,0.760,0.796,0.898,0.895,0.527,0.545,0.603,
+0.663,0.054,0.524,0.614,0.618,0.559,0.569,0.825,0.831,0.554,
+0.543,0.801,0.061,0.046,0.060,0.102,0.546,0.080,0.720,0.655,
+0.513,0.582,0.833,0.918,1.090,0.624,0.498,1.090,0.804,0.512,
+0.502,0.851,0.618,0.055,0.488,0.767,0.908,0.654,0.796,1.590,
+1.520,0.848,0.643,0.913,0.805,0.569,0.442,0.525,0.666,0.079,
+0.394,0.569,0.688,0.758,0.422,0.766,0.990,0.617,0.509,0.600,
+0.586,0.397,0.431,0.487,0.543,0.046,0.587,0.598,0.462,0.521,
+0.521,0.586,0.715,0.542,0.364,0.500,0.058,0.042,0.037,0.053,
+0.874,0.071,0.813,0.665,0.422,0.585,0.552,0.574,0.621,0.479,
+0.285,0.535,0.592,0.416,0.337,0.561,0.564,0.044,0.437,0.599,
+0.572,0.523,0.547,1.040,0.910,0.442,0.361,0.582,0.559,0.346,
+0.379,0.489,0.587,0.066,0.296,0.469,0.570,0.482,0.453,0.871,
+0.054,0.038,0.036,0.053,0.045,0.046,0.044,0.044,0.039,6.18e-3,
+0.036,0.048,0.052,0.074,0.053,0.088,0.552,0.364,0.353,0.407,
+0.042,0.030,0.037,0.053,0.459,0.044,0.332,0.416,0.385,0.422,
+0.581,0.654,0.472,0.302,0.296,0.512,0.515,0.433,0.372,0.574,
+0.522,0.048,0.425,0.668,0.542,0.517,0.706,1.110,1.170,0.483,
+0.411,0.787,0.465,0.314,0.307,0.432,0.498,0.055,0.272,0.434,
+0.743,0.538,0.434,1.050,0.819,0.486,0.436,0.633,0.510,0.461,
+0.362,0.484,0.399,0.040,0.346,0.538,0.496,0.536,0.455,0.771,
+0.529,0.387,0.363,0.582,0.040,0.032,0.034,0.061,0.455,0.037,
+0.302,0.479,0.431,0.503,0.608,0.888,0.746,0.432,0.543,0.886,
+0.496,0.400,0.387,0.635,0.656,0.053,0.505,0.868,1.090,0.882,
+1.220,2.150,1.760,1.010,0.858,1.330,1.010,0.766,0.656,0.765,
+0.736,0.076,0.417,0.603,0.867,0.762,0.552,1.010,1.280,0.783,
+0.536,0.734,0.835,0.563,0.584,0.579,0.605,0.056,0.477,0.614,
+0.447,0.487,0.474,0.689,0.604,0.445,0.449,0.565,0.048,0.045,
+0.043,0.070,0.470,0.037,0.288,0.364,0.427,0.435,0.392,0.725,
+0.657,0.354,0.343,0.730,0.591,0.457,0.389,0.586,0.437,0.035,
+0.326,0.500,0.678,0.421,0.534,1.090,1.320,0.952,0.524,0.764,
+0.879,1.070,0.534,0.546,0.533,0.058,0.337,0.456,0.523,0.548,
+0.342,0.621,0.962,0.747,0.482,0.579,0.654,0.276,0.425,0.448,
+0.500,0.062,0.408,0.594,0.383,0.532,0.379,0.545,0.796,0.660,
+0.368,0.525,0.071,0.070,0.038,0.055,0.586,0.066,0.398,0.555,
+0.362,0.657,0.489,0.632,0.582,0.394,0.272,0.571,0.629,0.532,
+0.329,0.462,0.488,0.044,0.355,0.525,0.446,0.443,0.467,0.849,
+0.983,0.562,0.435,0.671,0.767,0.613,0.581,0.575,0.916,0.092,
+0.417,0.578,0.646,0.651,0.523,0.854,0.068,0.063,0.045,0.067,
+0.056,0.083,0.058,0.050,0.053,0.019,0.050,0.061,0.048,0.108,
+0.064,0.075,0.742,0.626,0.535,0.604,0.069,0.072,0.062,0.066,
+0.571,0.071,0.470,0.560,0.433,0.646,0.986,0.793,0.599,0.376,
+0.381,0.724,0.670,0.669,0.597,0.726,0.759,0.070,0.642,0.806,
+0.587,0.711,0.898,1.140,0.846,0.467,0.359,0.605,0.483,0.408,
+0.306,0.353,0.439,0.038,0.260,0.408,0.543,0.416,0.374,0.774,
+0.741,0.558,0.458,0.619,0.496,0.551,0.500,0.517,0.437,0.055,
+0.482,0.696,0.419,0.588,0.483,0.725,0.483,0.440,0.394,0.569,
+0.033,0.035,0.038,0.047,0.394,0.034,0.354,0.482,0.371,0.462,
+0.620,0.711,0.652,0.379,0.366,0.636,0.484,0.427,0.418,0.511,
+0.559,0.039,0.478,0.738,0.741,0.722,0.977,1.410,1.080,0.714,
+0.536,0.976,0.557,0.407,0.310,0.453,0.489,0.049,0.323,0.508,
+0.545,0.524,0.351,0.670,0.857,0.665,0.405,0.626,0.643,0.517,
+0.418,0.448,0.556,0.090,0.471,0.641,0.453,0.999,0.403,0.660,
+0.530,0.553,0.449,0.699,0.052,0.057,0.052,0.096,0.378,0.049,
+0.275,0.375,0.289,0.474,0.346,0.575,0.572,0.366,0.303,0.678,
+0.444,0.421,0.340,0.563,0.461,0.044,0.372,0.567,0.584,0.520,
+0.588,1.360,0.053,0.045,0.024,0.044,0.051,0.053,0.030,0.035,
+0.032,5.68e-3,0.026,0.037,0.051,0.050,0.026,0.053,0.060,0.055,
+0.026,0.040,0.063,0.077,0.052,0.043,0.049,0.012,0.044,0.054,
+0.042,0.091,0.041,0.052,0.037,0.047,0.029,0.043,6.43e-3,8.11e-3,
+8.02e-3,7.60e-3,0.043,9.69e-3,0.036,0.043,0.029,0.053,0.042,0.058,
+0.049,0.039,0.025,0.056,0.057,0.064,0.046,0.072,0.044,6.68e-3,
+0.041,0.060,0.046,0.050,0.052,0.106,0.825,0.548,0.421,0.521,
+0.559,0.511,0.579,0.490,0.625,0.085,0.426,0.565,0.464,0.559,
+0.438,0.729,0.069,0.063,0.034,0.051,0.044,0.061,0.055,0.041,
+0.059,0.012,0.060,0.066,0.051,0.094,0.058,0.071,1.070,0.778,
+0.472,0.535,0.078,0.081,0.059,0.066,0.667,0.083,0.356,0.510,
+0.386,0.634,0.576,0.672,0.646,0.378,0.322,0.498,0.671,0.678,
+0.544,0.660,0.780,0.094,0.671,0.879,0.575,0.691,0.795,1.150,
+0.756,0.454,0.341,0.624,0.508,0.318,0.313,0.345,0.448,0.049,
+0.301,0.495,0.526,0.536,0.343,0.816,0.874,0.675,0.419,0.662,
+0.620,0.666,0.493,0.521,0.645,0.076,0.606,0.848,0.577,0.903,
+0.577,0.876,0.734,0.647,0.531,0.670,0.056,0.055,0.051,0.063,
+0.596,0.065,0.514,0.776,0.548,0.997,0.700,0.958,0.697,0.440,
+0.392,0.745,0.561,0.506,0.505,0.605,0.778,0.075,0.843,1.170,
+0.981,0.984,1.140,1.890,1.230,0.602,0.537,1.070,0.619,0.376,
+0.311,0.579,0.527,0.043,0.321,0.537,0.708,0.468,0.497,0.905,
+0.700,0.432,0.286,0.478,0.437,0.293,0.270,0.362,0.401,0.030,
+0.311,0.460,0.387,0.343,0.326,0.534,0.500,0.385,0.434,0.652,
+0.033,0.030,0.031,0.072,0.370,0.032,0.339,0.421,0.332,0.340,
+0.340,0.620,0.687,0.341,0.379,0.830,0.430,0.287,0.315,0.649,
+0.499,0.034,0.424,0.664,0.745,0.447,0.589,1.470,1.030,0.592,
+0.382,0.795,0.708,0.492,0.338,0.454,0.510,0.048,0.394,0.572,
+0.627,0.539,0.404,0.825,0.734,0.481,0.289,0.460,0.609,0.436,
+0.357,0.434,0.492,0.046,0.421,0.572,0.427,0.453,0.356,0.583,
+0.512,0.478,0.346,0.542,0.035,0.043,0.029,0.059,0.512,0.053,
+0.359,0.556,0.393,0.521,0.408,0.767,0.594,0.351,0.302,0.635,
+0.546,0.455,0.386,0.761,0.540,0.042,0.449,0.751,0.571,0.521,
+0.575,1.210,0.846,0.437,0.363,0.644,0.579,0.399,0.398,0.533,
+0.608,0.067,0.414,0.611,0.513,0.472,0.498,0.930,0.054,0.036,
+0.026,0.045,0.041,0.044,0.036,0.038,0.038,5.52e-3,0.044,0.055,
+0.043,0.053,0.041,0.071,0.718,0.526,0.395,0.544,0.045,0.046,
+0.036,0.065,0.560,0.065,0.442,0.572,0.405,0.594,0.590,0.773,
+0.600,0.363,0.363,0.639,0.647,0.519,0.525,0.844,1.030,0.089,
+0.692,1.400,0.686,0.717,0.905,1.420,1.100,0.473,0.417,0.841,
+0.564,0.344,0.330,0.443,0.547,0.053,0.328,0.600,0.712,0.492,
+0.456,1.130,0.884,0.504,0.358,0.628,0.480,0.406,0.365,0.438,
+0.422,0.035,0.415,0.626,0.407,0.382,0.346,0.632,0.750,0.575,
+0.570,0.890,0.045,0.041,0.038,0.072,0.642,0.054,0.531,0.857,
+0.643,0.751,0.745,1.200,1.020,0.554,0.632,1.260,0.703,0.642,
+0.646,1.080,1.040,0.065,0.912,1.590,1.600,1.260,1.550,2.530,
+2.260,1.250,1.130,2.190,1.360,0.862,0.811,1.060,1.020,0.102,
+0.548,1.120,1.560,1.110,0.827,1.540,1.210,0.754,0.562,0.790,
+0.923,0.537,0.513,0.632,0.608,0.052,0.450,0.583,0.667,0.570,
+0.581,0.870,1.050,0.664,0.609,1.080,0.068,0.050,0.045,0.115,
+0.547,0.047,0.384,0.670,0.504,0.570,0.574,0.929,1.190,0.505,
+0.464,0.993,0.719,0.473,0.426,0.742,0.556,0.044,0.380,0.657,
+0.809,0.434,0.706,1.450,1.900,1.010,0.682,1.230,1.290,0.875,
+0.714,0.840,0.716,0.074,0.408,0.735,0.834,0.837,0.505,0.999,
+1.260,0.781,0.537,0.802,0.948,0.539,0.561,0.661,0.717,0.064,
+0.542,0.746,0.570,0.592,0.481,0.736,1.030,0.769,0.531,0.831,
+0.087,0.074,0.064,0.116,0.805,0.083,0.618,1.350,0.568,0.843,
+0.705,1.020,0.959,0.601,0.367,0.753,1.020,0.826,0.584,0.962,
+0.690,0.059,0.484,0.958,0.781,0.633,0.787,1.650,1.230,0.686,
+0.565,0.924,1.210,0.818,0.764,0.840,0.848,0.127,0.509,0.665,
+0.877,0.970,0.654,1.140,0.099,0.081,0.064,0.090,0.109,0.094,
+0.089,0.094,0.078,0.014,0.074,0.098,0.111,0.172,0.093,0.163,
+0.725,0.597,0.511,0.639,0.071,0.055,0.060,0.083,0.693,0.067,
+0.487,0.629,0.525,0.669,0.719,0.950,0.664,0.421,0.360,0.594,
+0.931,0.723,0.671,0.861,0.745,0.071,0.667,0.891,0.796,0.659,
+0.825,1.310,1.450,0.710,0.557,1.070,0.783,0.562,0.594,0.661,
+0.618,0.068,0.388,0.575,1.010,0.712,0.607,1.250,1.070,0.642,
+0.687,0.877,0.829,0.593,0.576,0.668,0.620,0.051,0.524,0.767,
+0.759,0.719,0.668,1.070,0.846,0.740,0.595,0.888,0.073,0.058,
+0.066,0.099,0.845,0.072,0.642,0.937,0.807,1.120,1.140,1.370,
+1.140,0.667,0.611,1.190,0.755,0.528,0.615,0.961,1.260,0.092,
+0.982,1.500,1.640,1.270,1.690,2.980,0.138,0.087,0.067,0.112,
+0.097,0.080,0.064,0.083,0.061,7.10e-3,0.033,0.067,0.077,0.077,
+0.055,0.105,0.108,0.073,0.058,0.071,0.093,0.069,0.077,0.069,
+0.054,7.02e-3,0.050,0.061,0.059,0.056,0.062,0.096,0.074,0.050,
+0.045,0.069,8.94e-3,7.52e-3,7.77e-3,9.19e-3,0.047,4.93e-3,0.036,0.058,
+0.035,0.046,0.046,0.072,0.078,0.037,0.032,0.070,0.073,0.060,
+0.044,0.077,0.044,4.09e-3,0.035,0.063,0.061,0.041,0.061,0.132,
+0.123,0.088,0.044,0.077,0.101,0.093,0.064,0.065,0.048,8.19e-3,
+0.033,0.049,0.051,0.060,0.037,0.066,0.109,0.107,0.052,0.069,
+0.103,0.080,0.074,0.073,0.060,0.012,0.052,0.069,0.054,0.062,
+0.056,0.070,0.071,0.073,0.041,0.063,0.011,0.015,9.02e-3,0.011,
+0.076,0.016,0.054,0.104,0.046,0.081,0.090,0.087,0.072,0.048,
+0.030,0.065,0.081,0.079,0.053,0.073,0.062,7.19e-3,0.046,0.076,
+0.056,0.056,0.067,0.129,0.091,0.048,0.037,0.057,0.090,0.071,
+0.076,0.062,0.062,8.61e-3,0.037,0.045,0.057,0.060,0.049,0.079,
+7.94e-3,7.44e-3,5.60e-3,6.43e-3,0.012,0.019,0.014,0.014,7.27e-3,4.26e-3,
+0.012,9.44e-3,4.51e-3,0.013,9.19e-3,0.011,0.057,0.067,0.048,0.064,
+0.011,0.014,0.015,0.011,0.068,0.014,0.058,0.072,0.043,0.072,
+0.084,0.102,0.057,0.037,0.033,0.062,0.083,0.078,0.070,0.085,
+0.069,9.86e-3,0.064,0.091,0.055,0.061,0.085,0.133,0.116,0.094,
+0.059,0.090,0.073,0.062,0.060,0.067,0.061,6.60e-3,0.036,0.054,
+0.083,0.076,0.077,0.131,0.130,0.080,0.080,0.110,0.113,0.104,
+0.093,0.105,0.074,9.02e-3,0.069,0.097,0.080,0.097,0.093,0.139,
+0.073,0.074,0.060,0.082,6.77e-3,9.02e-3,0.011,0.011,0.068,9.69e-3,
+0.076,0.090,0.072,0.087,0.213,0.141,0.093,0.063,0.055,0.100,
+0.078,0.072,0.066,0.097,0.093,9.36e-3,0.082,0.128,0.125,0.107,
+0.161,0.261,1.720,1.170,0.867,1.450,0.926,0.696,0.545,0.819,
+0.736,0.077,0.490,0.750,0.735,0.599,0.539,0.887,1.460,1.000,
+0.608,0.874,1.060,0.777,0.789,0.840,0.789,0.092,0.890,1.010,
+0.650,0.750,0.657,1.000,0.917,0.876,0.584,0.989,0.109,0.121,
+0.087,0.183,0.933,0.098,0.628,0.922,0.516,0.825,0.697,1.080,
+0.794,0.523,0.395,0.807,0.806,0.662,0.535,0.908,0.774,0.077,
+0.672,1.010,0.794,0.650,0.911,1.830,0.102,0.091,0.045,0.075,
+0.089,0.102,0.065,0.084,0.047,0.011,0.049,0.057,0.047,0.056,
+0.039,0.076,0.101,0.089,0.051,0.062,0.097,0.090,0.090,0.095,
+0.067,0.018,0.089,0.086,0.046,0.067,0.057,0.076,0.067,0.093,
+0.059,0.075,0.011,0.020,0.015,0.015,0.092,0.021,0.077,0.119,
+0.048,0.087,0.073,0.097,0.090,0.065,0.039,0.087,0.111,0.119,
+0.078,0.124,0.076,0.011,0.075,0.129,0.075,0.068,0.082,0.161,
+1.460,0.922,0.715,0.759,1.150,1.060,1.120,0.927,0.966,0.139,
+0.963,0.949,0.609,0.743,0.828,1.080,0.099,0.129,0.069,0.070,
+0.105,0.150,0.128,0.087,0.113,0.025,0.147,0.120,0.071,0.121,
+0.102,0.114,1.110,1.260,0.956,0.921,0.123,0.136,0.156,0.130,
+1.180,0.145,0.404,0.766,0.615,0.835,0.974,1.100,0.780,0.609,
+0.561,0.634,1.190,1.150,0.967,0.973,0.986,0.122,1.250,1.410,
+0.733,0.835,1.270,1.610,1.130,0.698,0.597,0.864,0.782,0.571,
+0.572,0.559,0.624,0.073,0.553,0.703,0.655,0.591,0.560,0.975,
+1.160,1.070,0.686,0.945,1.220,1.110,0.878,0.834,0.893,0.104,
+1.140,1.230,0.737,1.020,0.899,1.110,1.010,1.080,0.933,1.300,
+0.095,0.127,0.102,0.129,1.350,0.142,1.310,1.720,0.886,1.400,
+1.400,1.760,1.000,0.692,0.709,1.070,0.932,0.883,0.784,0.979,
+1.310,0.114,1.910,2.130,1.310,1.260,1.790,2.510,1.780,0.841,
+0.663,1.390,0.934,0.536,0.507,0.767,0.713,0.060,0.416,0.688,
+0.879,0.651,0.537,1.160,1.280,0.601,0.464,0.707,0.805,0.471,
+0.475,0.621,0.530,0.039,0.470,0.709,0.520,0.424,0.475,0.782,
+0.766,0.546,0.437,0.771,0.067,0.050,0.045,0.103,0.700,0.052,
+0.475,0.777,0.504,0.542,0.575,1.030,0.940,0.470,0.408,0.864,
+0.758,0.444,0.414,0.820,0.641,0.045,0.457,0.799,0.899,0.589,
+0.782,1.770,1.670,0.924,0.629,1.160,1.100,0.809,0.777,0.874,
+0.698,0.074,0.617,0.796,0.719,0.736,0.513,1.080,1.340,0.787,
+0.517,0.797,1.040,0.729,0.782,0.915,0.629,0.054,0.743,0.923,
+0.536,0.585,0.552,0.856,0.903,0.903,0.669,0.946,0.070,0.082,
+0.065,0.111,1.100,0.097,0.742,1.400,0.667,0.969,0.865,1.420,
+1.130,0.649,0.509,0.961,1.110,0.882,0.794,1.240,0.864,0.073,
+0.727,1.370,0.886,0.826,0.885,1.880,1.700,0.791,0.688,0.924,
+1.230,0.877,0.997,1.000,0.937,0.108,0.748,1.050,0.752,0.754,
+0.889,1.460,0.098,0.086,0.051,0.070,0.089,0.113,0.099,0.091,
+0.059,0.013,0.089,0.101,0.060,0.091,0.082,0.120,1.080,1.090,
+0.833,1.140,0.087,0.090,0.086,0.124,1.170,0.126,0.966,1.380,
+0.665,1.010,1.080,1.540,1.100,0.746,0.754,1.010,1.470,1.110,
+1.110,1.510,1.210,0.106,1.420,2.080,0.985,1.020,1.560,2.340,
+1.550,0.730,0.585,1.080,0.840,0.546,0.539,0.619,0.792,0.079,
+0.527,0.778,0.897,0.658,0.620,1.250,1.050,0.703,0.523,0.852,
+0.875,0.703,0.670,0.759,0.632,0.049,0.687,1.070,0.651,0.657,
+0.664,1.060,1.090,1.010,1.010,1.290,0.081,0.089,0.069,0.125,
+1.300,0.099,1.210,1.890,0.839,1.080,1.090,1.620,1.520,0.866,
+0.842,1.600,1.260,1.110,0.904,1.440,1.580,0.110,1.550,2.600,
+1.720,1.540,1.990,3.260,5.820,1.980,1.580,3.750,1.660,0.886,
+0.777,1.290,1.410,0.109,0.651,1.050,2.290,1.570,1.050,2.100,
+1.620,0.790,0.568,0.997,0.915,0.443,0.439,0.571,0.723,0.049,
+0.504,0.590,0.847,0.681,0.613,1.130,1.080,0.650,0.596,1.090,
+0.076,0.052,0.052,0.118,0.616,0.042,0.387,0.617,0.521,0.600,
+0.573,1.070,1.630,0.733,0.627,1.510,0.999,0.584,0.539,1.050,
+0.819,0.058,0.564,0.908,1.290,0.763,1.010,2.350,1.810,0.834,
+0.558,1.120,0.929,0.501,0.422,0.614,0.606,0.048,0.289,0.524,
+0.755,0.554,0.390,0.848,1.030,0.586,0.378,0.640,0.623,0.370,
+0.322,0.470,0.501,0.033,0.301,0.483,0.511,0.403,0.338,0.614,
+0.730,0.518,0.356,0.638,0.052,0.042,0.030,0.065,0.628,0.041,
+0.318,0.590,0.566,0.545,0.468,0.729,0.776,0.498,0.298,0.657,
+0.597,0.426,0.308,0.588,0.562,0.034,0.327,0.645,0.690,0.498,
+0.565,1.330,1.570,0.603,0.561,0.999,1.120,0.525,0.521,0.776,
+0.766,0.077,0.327,0.569,1.050,0.719,0.541,1.320,0.091,0.051,
+0.042,0.080,0.071,0.048,0.050,0.069,0.059,5.60e-3,0.034,0.060,
+0.108,0.099,0.063,0.136,0.726,0.484,0.464,0.663,0.061,0.036,
+0.041,0.071,0.666,0.049,0.329,0.527,0.600,0.617,0.593,0.899,
+0.817,0.420,0.397,0.759,0.849,0.499,0.491,0.784,0.770,0.054,
+0.491,0.832,0.834,0.619,0.791,1.520,2.280,0.902,0.780,1.700,
+0.987,0.566,0.738,0.901,0.927,0.080,0.499,0.799,1.750,0.952,
+0.838,2.010,1.260,0.632,0.623,1.010,0.738,0.425,0.500,0.629,
+0.706,0.043,0.476,0.766,1.020,0.777,0.692,1.260,1.010,0.835,
+0.628,1.090,0.074,0.053,0.051,0.093,1.140,0.068,0.515,0.862,
+0.823,0.939,0.941,1.480,1.650,0.942,0.819,1.950,1.140,0.654,
+0.760,1.200,1.510,0.095,0.976,1.770,2.180,1.490,2.150,4.530,
+2.730,1.310,0.963,2.000,1.370,0.846,0.666,0.958,0.898,0.075,
+0.455,0.908,1.200,0.911,0.770,1.440,1.590,0.847,0.590,0.977,
+1.010,0.625,0.690,0.696,0.710,0.051,0.562,0.713,0.717,0.584,
+0.579,0.993,0.942,0.571,0.455,0.829,0.066,0.048,0.041,0.087,
+0.630,0.043,0.455,0.649,0.537,0.492,0.593,0.987,0.975,0.498,
+0.458,0.990,0.834,0.571,0.461,0.789,0.639,0.044,0.428,0.713,
+0.880,0.547,0.787,1.670,1.970,1.090,0.578,1.150,1.180,0.826,
+0.507,0.721,0.636,0.052,0.295,0.671,0.777,0.599,0.407,0.976,
+1.340,1.450,0.461,0.804,1.110,0.695,0.556,0.725,0.652,0.052,
+0.432,0.618,0.695,0.542,0.525,0.798,0.837,0.662,0.389,0.716,
+0.063,0.057,0.036,0.069,0.821,0.065,0.400,0.678,0.645,0.708,
+0.555,0.956,0.752,0.480,0.301,0.668,0.729,0.594,0.399,0.674,
+0.587,0.035,0.354,0.671,0.793,0.566,0.584,1.340,1.460,0.652,
+0.553,0.934,1.130,0.751,0.695,0.789,0.827,0.090,0.387,0.657,
+0.843,0.722,0.637,1.290,0.070,0.054,0.038,0.080,0.065,0.071,
+0.064,0.066,0.048,8.36e-3,0.041,0.057,0.070,0.080,0.061,0.100,
+0.898,0.691,0.599,0.890,0.073,0.057,0.058,0.095,0.881,0.074,
+0.481,0.754,0.727,0.810,0.829,1.250,0.923,0.518,0.480,1.060,
+0.969,0.732,0.723,1.070,0.934,0.065,0.669,1.140,0.910,0.760,
+1.020,1.950,1.660,0.752,0.678,1.230,0.814,0.561,0.534,0.719,
+0.706,0.063,0.463,0.707,0.992,0.768,0.766,1.520,1.180,0.724,
+0.709,1.240,0.821,0.655,0.619,0.790,0.694,0.056,0.605,0.887,
+0.838,0.893,0.825,1.370,1.120,1.020,0.688,1.020,0.090,0.068,
+0.064,0.083,0.815,0.061,0.607,0.932,0.774,0.752,1.200,1.610,
+1.180,0.676,0.627,1.180,1.110,0.731,0.717,0.989,1.110,0.075,
+0.813,1.620,1.420,0.957,1.570,3.110,2.390,1.280,0.911,1.820,
+1.040,0.740,0.483,0.942,1.030,0.082,0.556,0.917,1.110,0.826,
+0.600,1.250,1.590,1.050,0.604,1.120,0.998,0.698,0.569,0.841,
+0.999,0.079,0.678,0.957,0.847,0.895,0.701,1.280,1.040,0.917,
+0.654,1.220,0.098,0.097,0.066,0.172,0.825,0.070,0.499,0.925,
+0.673,0.911,0.805,1.630,1.170,0.689,0.548,1.280,1.010,0.731,
+0.570,1.080,0.974,0.076,0.678,1.200,1.230,0.914,1.310,2.760,
+0.117,0.076,0.050,0.083,0.080,0.073,0.039,0.069,0.058,8.52e-3,
+0.033,0.057,0.071,0.072,0.041,0.102,0.092,0.082,0.041,0.067,
+0.081,0.079,0.053,0.071,0.066,8.77e-3,0.052,0.068,0.058,0.069,
+0.052,0.090,0.053,0.059,0.039,0.062,6.68e-3,9.86e-3,6.94e-3,0.010,
+0.067,8.52e-3,0.051,0.095,0.050,0.079,0.067,0.106,0.090,0.066,
+0.041,0.106,0.101,0.095,0.056,0.102,0.079,8.36e-3,0.053,0.111,
+0.092,0.088,0.088,0.205,1.760,0.929,0.704,0.982,1.180,0.914,
+0.854,0.943,1.040,0.133,0.732,0.987,0.949,0.945,0.857,1.580,
+0.093,0.083,0.045,0.067,0.082,0.071,0.064,0.069,0.076,0.012,
+0.068,0.073,0.092,0.116,0.083,0.126,1.160,1.190,0.917,1.080,
+0.099,0.109,0.096,0.122,1.520,0.140,0.771,1.140,0.851,1.140,
+1.120,1.520,1.080,0.764,0.647,1.020,1.230,1.120,0.930,1.210,
+1.330,0.122,1.300,1.840,1.170,1.160,1.730,2.700,1.830,0.901,
+0.735,1.290,0.987,0.669,0.642,0.830,0.912,0.085,0.730,1.030,
+1.110,0.890,0.750,1.650,1.620,1.140,0.740,1.220,1.230,0.946,
+0.790,0.890,1.070,0.091,0.994,1.300,1.210,1.340,1.260,1.780,
+1.380,1.280,0.971,1.560,0.092,0.106,0.084,0.130,1.570,0.116,
+1.250,1.830,1.370,1.750,2.010,2.600,1.520,0.897,0.859,1.520,
+1.160,1.000,0.885,1.200,1.750,0.122,1.810,2.550,1.980,1.840,
+2.780,4.600,5.810,1.830,1.270,2.960,1.440,0.807,0.646,1.270,
+1.220,0.098,0.632,1.150,1.780,1.300,0.933,2.410,1.630,0.799,
+0.477,0.941,0.896,0.553,0.458,0.715,0.809,0.049,0.492,0.811,
+0.842,0.687,0.548,1.290,1.240,0.821,0.732,1.410,0.086,0.065,
+0.061,0.146,0.799,0.056,0.519,0.883,0.833,0.800,0.760,1.610,
+2.060,0.973,0.840,2.050,1.220,0.770,0.709,1.440,1.200,0.087,
+0.798,1.460,2.030,1.310,1.610,4.350,2.260,1.070,0.662,1.420,
+1.250,0.776,0.529,0.894,0.802,0.063,0.450,0.863,0.979,0.881,
+0.534,1.540,1.410,0.905,0.470,0.886,0.964,0.852,0.422,0.759,
+0.735,0.054,0.530,0.902,0.713,0.721,0.514,1.120,1.020,0.796,
+0.688,1.110,0.061,0.061,0.042,0.086,0.960,0.068,0.622,1.110,
+0.832,1.000,0.833,1.600,1.430,0.874,0.579,1.350,1.130,0.878,
+0.633,1.280,1.050,0.078,0.667,1.270,1.300,1.120,1.130,2.770,
+2.390,1.070,0.987,1.450,1.430,0.888,0.835,1.280,1.210,0.121,
+0.720,1.280,1.360,1.170,1.110,2.410,0.101,0.067,0.047,0.091,
+0.075,0.070,0.060,0.086,0.062,8.02e-3,0.052,0.082,0.100,0.102,
+0.083,0.177,1.460,1.270,0.977,1.530,0.086,0.082,0.069,0.137,
+1.440,0.119,1.180,1.500,1.250,1.450,1.600,2.470,1.760,1.070,
+0.964,1.710,1.650,1.220,1.150,2.010,1.710,0.119,1.660,2.650,
+1.770,1.500,2.400,4.620,5.670,1.500,1.170,2.760,1.220,0.731,
+0.697,1.130,1.240,0.103,0.720,1.360,2.060,1.550,1.240,3.770,
+1.670,1.060,0.688,1.360,1.110,0.738,0.681,1.060,0.974,0.066,
+0.814,1.300,1.360,1.220,1.070,2.470,1.670,1.390,1.160,2.040,
+0.085,0.086,0.058,0.145,1.580,0.102,1.270,2.170,1.940,1.900,
+2.260,4.000,2.980,1.070,0.953,2.640,1.430,1.350,0.928,2.080,
+1.860,0.116,2.000,3.430,2.780,2.230,3.570,8.880,13.3,3.510,
+2.360,6.970,4.070,1.610,1.320,2.250,3.760,0.292,1.080,2.080,
+8.010,3.880,2.260,5.180,5.270,2.100,1.640,2.530,2.580,1.090,
+1.030,1.240,2.600,0.142,0.991,1.700,2.980,1.740,1.340,2.530,
+4.810,2.350,1.880,3.220,0.311,0.182,0.134,0.355,1.870,0.133,
+0.895,1.390,2.550,1.900,1.340,2.280,10.3,3.180,3.690,7.250,
+4.160,2.460,2.130,4.320,3.650,0.219,1.500,2.670,6.440,2.700,
+2.480,4.900,5.510,2.040,1.360,2.620,2.170,1.120,0.846,1.190,
+2.140,0.145,0.641,1.260,2.230,1.500,0.842,1.800,2.780,1.170,
+0.757,1.390,1.230,0.644,0.533,0.671,1.630,0.081,0.528,0.856,
+1.240,0.813,0.499,0.982,2.370,1.620,0.972,1.680,0.119,0.072,
+0.052,0.125,1.310,0.082,0.557,0.938,1.160,1.090,0.700,1.310,
+2.620,1.280,0.978,2.050,1.550,0.986,0.740,1.330,1.570,0.088,
+0.619,1.170,2.120,1.390,0.977,2.390,4.870,1.770,1.530,2.920,
+2.320,1.090,1.050,1.620,2.270,0.199,0.798,1.640,2.600,1.720,
+1.240,3.160,0.272,0.143,0.098,0.194,0.154,0.107,0.088,0.135,
+0.143,0.013,0.073,0.142,0.271,0.225,0.138,0.308,1.740,1.130,
+1.030,1.480,0.118,0.068,0.061,0.144,1.060,0.082,0.596,0.855,
+1.100,0.928,0.778,1.160,2.060,1.050,1.090,2.160,1.800,1.050,
+1.000,1.680,1.620,0.099,0.794,1.460,1.810,1.200,1.300,2.640,
+10.4,2.820,2.330,5.930,2.730,1.320,1.330,2.130,3.510,0.298,
+1.190,2.400,6.100,3.140,2.270,6.380,4.100,2.160,1.530,2.630,
+2.220,1.540,1.350,1.820,2.390,0.128,1.090,2.030,3.480,2.340,
+1.800,3.650,2.430,1.680,1.290,2.220,0.201,0.105,0.088,0.184,
+1.570,0.090,0.755,1.360,1.820,1.490,1.310,2.020,5.140,1.970,
+1.850,4.590,2.240,1.230,1.150,2.340,3.150,0.149,1.290,2.530,
+4.470,2.400,2.430,5.430,5.730,2.300,1.710,3.550,2.140,1.110,
+0.952,1.340,1.680,0.140,0.602,1.580,2.150,1.450,0.851,1.910,
+2.300,1.170,0.869,1.450,1.170,0.630,0.564,0.824,0.967,0.069,
+0.499,1.020,0.907,0.662,0.485,1.080,1.650,1.210,0.955,1.690,
+0.122,0.093,0.068,0.159,0.795,0.063,0.387,0.699,0.787,0.765,
+0.646,1.510,2.000,0.874,0.937,1.680,1.490,0.882,0.726,1.260,
+0.950,0.067,0.402,0.861,1.420,0.732,0.793,2.010,3.010,1.460,
+0.762,1.640,1.380,0.773,0.523,0.723,1.010,0.071,0.317,0.689,
+1.050,0.771,0.422,1.010,1.400,0.752,0.448,0.940,0.717,0.336,
+0.337,0.463,0.758,0.045,0.298,0.541,0.611,0.414,0.289,0.589,
+1.130,0.922,0.488,0.933,0.066,0.053,0.034,0.070,0.663,0.060,
+0.287,0.498,0.518,0.621,0.382,0.781,1.080,0.563,0.385,0.826,
+0.755,0.499,0.324,0.592,0.690,0.043,0.244,0.549,0.745,0.477,
+0.365,1.080,2.310,1.180,0.765,1.430,1.250,0.780,0.670,0.973,
+1.010,0.095,0.434,0.931,1.090,0.802,0.595,1.350,0.103,0.094,
+0.042,0.093,0.052,0.056,0.043,0.054,0.057,7.52e-3,0.036,0.077,
+0.087,0.072,0.052,0.095,0.963,0.773,0.599,0.870,0.060,0.047,
+0.041,0.069,0.576,0.050,0.311,0.529,0.523,0.579,0.485,0.759,
+0.950,0.498,0.538,0.954,0.901,0.621,0.635,0.940,0.684,0.042,
+0.392,0.752,0.770,0.504,0.634,1.240,2.290,0.920,0.769,1.510,
+1.090,0.614,0.513,0.807,1.080,0.084,0.397,0.891,2.010,0.896,
+0.645,1.610,1.450,0.907,0.608,1.050,0.759,0.584,0.494,0.669,
+0.689,0.051,0.447,1.100,0.895,0.741,0.532,1.180,1.130,0.864,
+0.714,1.080,0.074,0.055,0.041,0.077,0.668,0.050,0.363,0.665,
+0.830,0.713,0.616,1.040,1.590,0.725,0.739,1.390,1.030,0.622,
+0.566,0.976,1.050,0.055,0.515,1.070,1.650,1.040,1.060,2.160,
+3.640,1.650,1.540,2.950,1.260,0.763,0.613,1.040,1.590,0.123,
+0.682,1.130,1.770,1.300,0.731,1.670,2.100,0.969,0.863,1.180,
+0.891,0.471,0.506,0.594,1.070,0.070,0.500,0.748,0.970,0.864,
+0.495,0.968,1.500,1.160,1.010,1.580,0.129,0.105,0.074,0.181,
+0.783,0.077,0.391,0.751,0.836,1.090,0.571,1.230,2.080,1.040,
+0.988,2.040,1.230,0.903,0.715,1.310,1.180,0.103,0.669,1.170,
+1.700,1.210,1.120,3.370,0.208,0.126,0.075,0.168,0.111,0.078,
+0.053,0.086,0.096,0.011,0.044,0.085,0.115,0.110,0.062,0.121,
+0.143,0.084,0.057,0.091,0.082,0.058,0.049,0.057,0.089,8.19e-3,
+0.042,0.056,0.088,0.093,0.042,0.083,0.093,0.095,0.063,0.099,
+9.02e-3,9.19e-3,5.60e-3,0.010,0.069,8.52e-3,0.043,0.067,0.082,0.097,
+0.052,0.107,0.234,0.105,0.081,0.189,0.153,0.131,0.082,0.173,
+0.123,0.011,0.070,0.124,0.180,0.130,0.112,0.291,1.450,0.749,
+0.558,0.881,0.782,0.544,0.443,0.634,0.912,0.094,0.419,0.652,
+0.844,0.656,0.485,0.906,0.096,0.062,0.035,0.054,0.048,0.041,
+0.034,0.034,0.051,6.27e-3,0.031,0.042,0.081,0.071,0.038,0.075,
+0.806,0.754,0.436,0.594,0.054,0.053,0.028,0.052,0.545,0.051,
+0.195,0.346,0.419,0.472,0.320,0.507,0.879,0.463,0.387,0.631,
+0.647,0.480,0.402,0.608,0.797,0.058,0.381,0.721,0.633,0.527,
+0.485,0.973,1.900,0.766,0.504,1.080,0.864,0.457,0.356,0.628,
+0.933,0.080,0.434,0.781,1.370,0.838,0.551,1.310,1.510,0.872,
+0.526,0.907,0.853,0.571,0.442,0.560,0.806,0.054,0.441,0.779,
+1.050,0.826,0.555,1.030,1.030,0.821,0.567,0.951,0.073,0.060,
+0.039,0.076,0.753,0.063,0.421,0.720,0.810,0.823,0.625,1.080,
+1.430,0.632,0.636,0.974,0.973,0.620,0.478,0.785,1.160,0.082,
+0.647,1.110,1.560,1.040,1.090,2.120,7.880,2.470,2.180,9.440,
+2.100,1.020,1.020,1.820,2.180,0.180,0.941,2.000,3.980,2.110,
+1.400,3.820,2.300,0.888,0.773,1.480,1.010,0.470,0.550,0.726,
+1.220,0.067,0.600,0.994,1.300,0.852,0.583,1.300,2.100,1.320,
+1.080,2.690,0.159,0.109,0.091,0.264,1.160,0.090,0.547,1.120,
+1.360,1.200,0.747,1.980,4.040,1.520,1.710,5.370,1.890,1.100,
+1.130,2.610,1.830,0.116,1.050,2.020,3.540,1.960,1.930,6.720,
+3.950,1.700,1.140,2.950,1.950,0.998,0.767,1.320,1.570,0.116,
+0.693,1.320,1.790,1.400,0.815,1.790,2.150,0.998,0.690,1.270,
+1.070,0.537,0.574,0.700,1.150,0.070,0.565,0.906,1.160,1.090,
+0.543,1.050,1.690,1.060,0.724,1.630,0.083,0.059,0.045,0.111,
+1.140,0.076,0.699,1.110,1.220,1.160,0.821,1.720,2.890,1.050,
+0.981,2.370,1.580,0.948,0.791,1.690,1.520,0.079,0.849,1.480,
+2.290,1.400,1.380,3.270,1.900,1.040,0.737,1.550,1.260,0.700,
+0.583,1.050,1.230,0.106,0.533,1.040,1.340,0.998,0.825,1.750,
+0.115,0.077,0.052,0.103,0.069,0.050,0.047,0.066,0.066,6.68e-3,
+0.041,0.072,0.100,0.102,0.056,0.133,1.110,0.820,0.547,0.949,
+0.053,0.040,0.029,0.078,0.791,0.053,0.381,0.620,0.742,0.761,
+0.591,1.010,1.550,0.690,0.654,1.240,1.100,0.667,0.607,1.140,
+1.200,0.067,0.610,1.140,1.230,0.903,0.914,1.800,4.010,1.420,
+1.130,2.800,1.540,0.848,0.865,1.550,1.720,0.131,0.862,1.570,
+3.130,1.750,1.340,3.590,1.760,0.908,0.669,1.280,1.030,0.600,
+0.550,0.877,1.020,0.057,0.617,1.190,1.490,1.160,0.771,1.710,
+1.810,1.270,0.887,1.670,0.097,0.062,0.044,0.124,1.280,0.074,
+0.684,1.340,1.600,1.390,1.040,1.830,3.800,1.380,1.260,3.020,
+1.830,1.180,0.945,1.960,2.180,0.092,1.220,2.300,4.200,2.160,
+2.090,4.250,4.680,2.040,1.930,3.700,2.000,1.070,0.914,1.340,
+1.810,0.166,0.715,1.710,2.640,1.770,1.110,2.180,1.760,1.120,
+0.724,0.953,1.020,0.572,0.523,0.597,1.000,0.065,0.499,0.782,
+0.912,0.733,0.575,0.946,1.320,0.905,0.726,1.150,0.097,0.067,
+0.057,0.121,0.705,0.057,0.329,0.541,0.768,0.757,0.635,1.010,
+1.910,0.861,0.798,1.690,1.270,0.768,0.685,1.200,0.989,0.066,
+0.492,0.874,1.480,0.812,0.909,1.970,2.380,1.080,0.637,1.310,
+1.220,0.698,0.403,0.659,1.000,0.093,0.337,0.658,0.911,0.843,
+0.405,0.944,1.260,0.662,0.348,0.594,0.688,0.325,0.262,0.342,
+0.665,0.053,0.286,0.483,0.534,0.495,0.286,0.513,0.861,0.680,
+0.427,0.641,0.083,0.043,0.029,0.052,0.553,0.051,0.252,0.411,
+0.557,0.648,0.445,0.664,0.832,0.494,0.333,0.684,0.713,0.470,
+0.292,0.518,0.596,0.042,0.286,0.493,0.758,0.588,0.552,1.100,
+1.460,0.693,0.533,0.956,1.030,0.623,0.454,0.750,0.874,0.086,
+0.358,0.653,0.893,0.704,0.473,1.110,0.086,0.063,0.042,0.066,
+0.065,0.048,0.045,0.057,0.056,6.02e-3,0.032,0.059,0.077,0.094,
+0.052,0.096,0.530,0.475,0.334,0.459,0.044,0.031,0.027,0.056,
+0.438,0.040,0.301,0.538,0.456,0.411,0.410,0.532,0.597,0.358,
+0.327,0.593,0.669,0.441,0.342,0.613,0.590,0.050,0.402,0.613,
+0.662,0.541,0.566,1.100,1.810,0.621,0.550,1.350,0.710,0.415,
+0.341,0.537,0.856,0.091,0.342,0.649,1.200,0.668,0.494,1.360,
+1.090,0.681,0.494,0.786,0.685,0.471,0.449,0.524,0.612,0.044,
+0.355,0.609,0.730,0.648,0.465,0.884,0.646,0.530,0.421,0.736,
+0.047,0.028,0.032,0.061,0.455,0.029,0.264,0.439,0.542,0.517,
+0.403,0.623,1.020,0.508,0.445,1.090,0.577,0.390,0.353,0.639,
+0.748,0.048,0.442,0.802,1.210,0.904,0.881,1.900,2.440,1.280,
+1.100,1.910,1.310,0.844,0.634,0.841,0.806,0.076,0.346,0.892,
+1.030,0.791,0.603,1.150,1.160,0.746,0.578,0.746,0.682,0.462,
+0.474,0.475,0.522,0.048,0.295,0.552,0.454,0.418,0.328,0.610,
+0.704,0.583,0.633,0.790,0.047,0.048,0.049,0.072,0.360,0.035,
+0.230,0.346,0.376,0.420,0.378,0.645,0.837,0.410,0.417,0.789,
+0.679,0.480,0.412,0.579,0.437,0.034,0.236,0.447,0.725,0.400,
+0.442,0.998,1.290,0.741,0.412,0.755,0.743,0.531,0.286,0.408,
+0.476,0.042,0.201,0.395,0.510,0.432,0.264,0.528,0.692,0.407,
+0.227,0.341,0.367,0.143,0.177,0.214,0.332,0.034,0.178,0.314,
+0.263,0.272,0.167,0.298,0.471,0.492,0.301,0.408,0.032,0.037,
+0.023,0.031,0.315,0.038,0.185,0.273,0.282,0.386,0.302,0.445,
+0.450,0.292,0.200,0.335,0.401,0.360,0.179,0.301,0.323,0.027,
+0.173,0.300,0.368,0.292,0.240,0.550,1.030,0.598,0.346,0.644,
+0.828,0.626,0.400,0.536,0.528,0.060,0.260,0.444,0.509,0.457,
+0.310,0.689,0.045,0.044,0.025,0.044,0.044,0.055,0.035,0.034,
+0.025,6.43e-3,0.020,0.034,0.031,0.040,0.023,0.044,0.445,0.438,
+0.325,0.429,0.043,0.040,0.027,0.047,0.336,0.035,0.188,0.306,
+0.276,0.350,0.281,0.403,0.443,0.255,0.268,0.417,0.598,0.401,
+0.349,0.483,0.399,0.031,0.220,0.395,0.430,0.323,0.372,0.701,
+0.934,0.478,0.377,0.671,0.537,0.374,0.247,0.357,0.440,0.038,
+0.204,0.359,0.648,0.410,0.278,0.687,0.597,0.423,0.306,0.484,
+0.403,0.394,0.275,0.364,0.284,0.025,0.189,0.360,0.344,0.324,
+0.240,0.448,0.478,0.428,0.451,0.552,0.031,0.030,0.026,0.041,
+0.285,0.025,0.196,0.301,0.306,0.354,0.298,0.483,0.651,0.322,
+0.285,0.555,0.430,0.303,0.277,0.447,0.394,0.026,0.217,0.431,
+0.621,0.480,0.494,1.010,1.890,0.991,0.773,1.450,0.808,0.514,
+0.381,0.645,0.793,0.075,0.324,0.679,0.876,0.730,0.424,0.944,
+1.140,0.771,0.387,0.626,0.607,0.441,0.315,0.406,0.686,0.051,
+0.354,0.538,0.512,0.515,0.331,0.631,0.669,0.679,0.449,0.943,
+0.058,0.057,0.040,0.114,0.444,0.051,0.233,0.456,0.480,0.683,
+0.419,0.938,0.787,0.456,0.401,0.986,0.579,0.450,0.386,0.697,
+0.630,0.058,0.354,0.631,0.787,0.580,0.624,1.590,0.110,0.059,
+0.037,0.075,0.068,0.051,0.030,0.042,0.050,6.35e-3,0.023,0.049,
+0.051,0.059,0.035,0.067,0.056,0.039,0.023,0.031,0.048,0.046,
+0.026,0.032,0.044,7.85e-3,0.028,0.037,0.035,0.039,0.024,0.039,
+0.036,0.042,0.026,0.044,4.43e-3,8.11e-3,4.01e-3,5.77e-3,0.036,5.85e-3,
+0.024,0.037,0.037,0.054,0.040,0.064,0.057,0.042,0.035,0.072,
+0.063,0.060,0.040,0.066,0.054,7.44e-3,0.035,0.055,0.061,0.055,
+0.053,0.104,0.942,0.594,0.341,0.589,0.704,0.601,0.332,0.560,
+0.639,0.091,0.679,0.724,0.523,0.513,0.371,0.698,0.044,0.053,
+0.021,0.036,0.032,0.036,0.024,0.027,0.032,0.011,0.033,0.037,
+0.041,0.051,0.027,0.048,0.420,0.565,0.257,0.400,0.035,0.042,
+0.026,0.040,0.437,0.049,0.200,0.323,0.304,0.409,0.292,0.442,
+0.425,0.303,0.236,0.383,0.432,0.408,0.304,0.456,0.788,0.066,
+0.444,0.527,0.456,0.416,0.417,0.711,0.809,0.481,0.263,0.574,
+0.437,0.272,0.173,0.303,0.452,0.048,0.252,0.415,0.567,0.510,
+0.284,0.673,0.712,0.551,0.272,0.508,0.450,0.374,0.228,0.317,
+0.403,0.036,0.280,0.440,0.444,0.466,0.298,0.536,0.441,0.426,
+0.276,0.452,0.027,0.030,0.018,0.033,0.436,0.037,0.277,0.425,
+0.393,0.498,0.350,0.598,0.581,0.342,0.262,0.535,0.390,0.314,
+0.230,0.389,0.677,0.052,0.494,0.655,0.709,0.601,0.608,1.030,
+2.380,0.889,0.776,1.950,0.725,0.428,0.374,0.679,0.861,0.084,
+0.374,1.100,1.170,0.723,0.528,1.380,1.100,0.537,0.354,0.647,
+0.547,0.292,0.261,0.404,0.561,0.034,0.262,0.561,0.581,0.355,
+0.275,0.633,0.750,0.532,0.430,0.946,0.051,0.036,0.033,0.088,
+0.427,0.037,0.212,0.471,0.539,0.488,0.356,0.864,1.110,0.520,
+0.571,1.420,0.595,0.359,0.369,0.808,0.602,0.042,0.315,0.705,
+1.080,0.623,0.672,1.950,2.310,0.844,0.516,1.150,0.841,0.498,
+0.355,0.514,0.788,0.070,0.342,0.804,0.762,0.641,0.393,0.937,
+0.958,0.492,0.286,0.523,0.623,0.360,0.253,0.366,0.597,0.037,
+0.288,0.511,0.538,0.434,0.285,0.575,0.583,0.450,0.322,0.597,
+0.043,0.036,0.021,0.048,0.546,0.043,0.294,0.518,0.652,0.630,
+0.518,0.961,0.766,0.388,0.485,0.798,0.586,0.454,0.388,0.698,
+0.548,0.047,0.418,0.601,0.775,0.637,0.728,1.240,1.000,0.516,
+0.351,0.652,0.665,0.467,0.333,0.572,0.670,0.071,0.337,0.635,
+0.627,0.529,0.438,0.960,0.051,0.040,0.022,0.043,0.030,0.034,
+0.029,0.033,0.034,3.18e-3,0.022,0.040,0.044,0.043,0.031,0.063,
+0.507,0.415,0.252,0.438,0.031,0.023,0.021,0.042,0.419,0.034,
+0.233,0.356,0.385,0.451,0.365,0.579,0.554,0.327,0.280,0.516,
+0.534,0.355,0.342,0.565,0.607,0.042,0.375,0.647,0.615,0.513,
+0.601,1.090,1.470,0.474,0.408,0.975,0.567,0.372,0.283,0.482,
+0.700,0.061,0.328,0.649,0.933,0.548,0.450,1.200,0.876,0.427,
+0.292,0.557,0.484,0.331,0.273,0.411,0.456,0.027,0.294,0.506,
+0.598,0.446,0.377,0.753,0.711,0.567,0.400,0.689,0.039,0.034,
+0.021,0.052,0.573,0.054,0.333,0.576,0.723,0.764,0.514,0.931,
+1.170,0.560,0.508,1.170,0.770,0.584,0.441,0.808,0.936,0.059,
+0.760,1.100,1.610,1.180,1.200,1.790,2.880,1.410,1.260,2.630,
+1.440,0.789,0.676,0.998,1.320,0.133,0.638,0.986,1.930,1.560,
+0.730,1.660,1.170,0.702,0.501,0.818,0.653,0.381,0.352,0.472,
+0.701,0.059,0.372,0.521,0.742,0.700,0.391,0.705,1.430,0.790,
+0.552,0.969,0.090,0.062,0.045,0.123,0.658,0.052,0.360,0.516,
+0.640,0.632,0.435,0.814,1.870,0.818,0.729,1.680,1.070,0.600,
+0.531,1.000,0.732,0.055,0.379,0.621,1.110,0.610,0.650,1.540,
+1.980,0.921,0.619,1.380,1.040,0.593,0.608,0.823,0.835,0.079,
+0.290,0.517,0.942,0.950,0.351,0.865,0.944,0.521,0.301,0.556,
+0.526,0.236,0.265,0.359,0.607,0.069,0.252,0.390,0.497,0.463,
+0.223,0.437,0.894,0.757,0.487,0.797,0.063,0.045,0.032,0.072,
+0.555,0.046,0.293,0.461,0.493,0.548,0.373,0.674,0.944,0.509,
+0.389,0.781,0.778,0.543,0.364,0.673,0.547,0.038,0.261,0.508,
+0.640,0.488,0.427,1.070,1.420,0.632,0.484,1.060,0.963,0.640,
+0.534,0.835,0.964,0.106,0.311,0.550,1.030,0.784,0.476,1.150,
+0.104,0.076,0.042,0.085,0.073,0.062,0.053,0.104,0.074,8.19e-3,
+0.035,0.056,0.109,0.127,0.055,0.123,0.611,0.422,0.397,0.554,
+0.055,0.035,0.033,0.070,0.391,0.034,0.225,0.321,0.415,0.409,
+0.316,0.512,0.708,0.357,0.369,0.649,0.793,0.524,0.468,0.771,
+0.528,0.043,0.291,0.477,0.726,0.518,0.519,1.020,1.860,0.652,
+0.609,1.370,0.685,0.433,0.421,0.664,1.020,0.094,0.354,0.624,
+1.560,0.895,0.548,1.520,1.110,0.609,0.429,0.785,0.632,0.386,
+0.410,0.588,0.693,0.051,0.340,0.608,0.935,0.599,0.435,0.953,
+0.841,0.600,0.665,1.000,0.065,0.045,0.046,0.090,0.547,0.043,
+0.349,0.581,0.680,0.665,0.570,1.100,1.430,0.630,0.586,1.320,
+0.811,0.481,0.477,0.877,0.991,0.073,0.587,1.060,2.100,1.310,
+1.310,3.170,0.181,0.106,0.076,0.141,0.115,0.072,0.055,0.089,
+0.086,0.011,0.036,0.070,0.113,0.107,0.048,0.098,0.111,0.073,
+0.072,0.084,0.075,0.045,0.052,0.069,0.076,8.61e-3,0.031,0.051,
+0.059,0.054,0.037,0.060,0.082,0.066,0.048,0.083,8.86e-3,8.61e-3,
+5.01e-3,0.013,0.044,4.26e-3,0.024,0.043,0.043,0.050,0.034,0.075,
+0.117,0.070,0.053,0.106,0.096,0.075,0.056,0.091,0.070,5.43e-3,
+0.030,0.048,0.080,0.052,0.050,0.121,0.117,0.076,0.040,0.091,
+0.075,0.055,0.042,0.059,0.054,5.52e-3,0.023,0.042,0.062,0.060,
+0.027,0.057,0.083,0.053,0.032,0.053,0.064,0.040,0.035,0.047,
+0.064,6.02e-3,0.024,0.037,0.052,0.040,0.021,0.043,0.059,0.061,
+0.037,0.057,5.93e-3,8.02e-3,3.43e-3,6.35e-3,0.041,7.77e-3,0.024,0.038,
+0.034,0.044,0.034,0.052,0.077,0.043,0.028,0.056,0.063,0.048,
+0.035,0.057,0.042,4.18e-3,0.023,0.037,0.047,0.040,0.033,0.081,
+0.093,0.055,0.034,0.081,0.070,0.073,0.049,0.062,0.061,8.11e-3,
+0.026,0.036,0.062,0.071,0.037,0.072,5.93e-3,7.10e-3,4.85e-3,7.94e-3,
+6.02e-3,7.19e-3,8.11e-3,7.27e-3,6.18e-3,2.67e-3,5.85e-3,5.35e-3,5.68e-3,0.011,
+5.52e-3,7.69e-3,0.051,0.051,0.044,0.051,6.94e-3,6.43e-3,8.27e-3,7.35e-3,
+0.039,6.68e-3,0.027,0.036,0.032,0.046,0.034,0.048,0.062,0.031,
+0.037,0.060,0.074,0.055,0.065,0.074,0.045,4.93e-3,0.029,0.048,
+0.057,0.044,0.047,0.096,0.155,0.097,0.073,0.127,0.086,0.061,
+0.047,0.068,0.093,9.69e-3,0.036,0.066,0.134,0.097,0.078,0.165,
+0.137,0.082,0.066,0.111,0.099,0.076,0.077,0.091,0.091,9.11e-3,
+0.052,0.087,0.115,0.103,0.066,0.123,0.079,0.071,0.067,0.095,
+6.02e-3,6.18e-3,5.26e-3,9.44e-3,0.056,6.60e-3,0.039,0.066,0.068,0.073,
+0.069,0.113,0.140,0.078,0.059,0.120,0.096,0.064,0.059,0.089,
+0.100,6.52e-3,0.058,0.109,0.163,0.121,0.130,0.265,1.760,0.822,
+0.548,1.040,0.795,0.563,0.288,0.522,0.559,0.054,0.299,0.429,
+0.638,0.487,0.323,0.607,0.869,0.510,0.276,0.456,0.494,0.331,
+0.286,0.324,0.473,0.036,0.281,0.429,0.401,0.402,0.285,0.506,
+0.774,0.626,0.386,0.660,0.070,0.060,0.043,0.092,0.581,0.049,
+0.258,0.367,0.508,0.563,0.318,0.563,0.753,0.389,0.286,0.686,
+0.544,0.383,0.286,0.546,0.786,0.048,0.322,0.484,0.647,0.416,
+0.431,1.110,0.098,0.055,0.031,0.069,0.058,0.053,0.030,0.043,
+0.038,6.77e-3,0.020,0.028,0.043,0.043,0.023,0.052,0.046,0.033,
+0.016,0.026,0.048,0.027,0.022,0.028,0.029,4.60e-3,0.023,0.029,
+0.027,0.026,0.018,0.033,0.043,0.045,0.027,0.045,5.60e-3,6.27e-3,
+5.10e-3,5.68e-3,0.033,4.93e-3,0.025,0.031,0.029,0.035,0.023,0.037,
+0.077,0.043,0.026,0.064,0.062,0.052,0.034,0.060,0.053,4.43e-3,
+0.025,0.045,0.047,0.035,0.037,0.078,0.788,0.409,0.284,0.529,
+0.549,0.419,0.310,0.450,0.479,0.054,0.239,0.333,0.377,0.354,
+0.272,0.543,0.045,0.046,0.020,0.038,0.035,0.036,0.025,0.026,
+0.031,6.10e-3,0.026,0.030,0.033,0.038,0.029,0.041,0.531,0.572,
+0.269,0.461,0.041,0.039,0.029,0.054,0.460,0.046,0.129,0.223,
+0.271,0.318,0.228,0.320,0.413,0.262,0.203,0.343,0.427,0.326,
+0.277,0.417,0.434,0.037,0.265,0.348,0.346,0.291,0.321,0.540,
+0.768,0.402,0.340,0.577,0.437,0.260,0.199,0.290,0.441,0.045,
+0.240,0.359,0.469,0.412,0.245,0.537,0.668,0.401,0.263,0.426,
+0.422,0.338,0.248,0.278,0.359,0.032,0.297,0.384,0.418,0.392,
+0.278,0.454,0.623,0.547,0.363,0.566,0.050,0.045,0.035,0.053,
+0.474,0.049,0.315,0.411,0.412,0.520,0.505,0.572,0.652,0.324,
+0.267,0.494,0.587,0.398,0.274,0.411,0.541,0.040,0.397,0.533,
+0.641,0.517,0.570,0.927,1.780,0.714,0.516,1.130,0.644,0.354,
+0.271,0.426,0.594,0.062,0.271,0.566,0.928,0.613,0.359,0.894,
+0.941,0.422,0.270,0.486,0.472,0.239,0.203,0.308,0.403,0.030,
+0.211,0.432,0.438,0.299,0.235,0.484,0.723,0.547,0.316,0.712,
+0.047,0.038,0.026,0.072,0.471,0.037,0.212,0.412,0.504,0.461,
+0.325,0.645,1.080,0.675,0.426,1.090,0.582,0.368,0.325,0.667,
+0.543,0.038,0.263,0.468,0.894,0.556,0.494,1.310,1.650,0.800,
+0.470,1.030,0.798,0.483,0.377,0.517,0.637,0.048,0.303,0.515,
+0.761,0.586,0.346,0.814,0.901,0.479,0.273,0.551,0.915,0.351,
+0.293,0.413,0.495,0.034,0.278,0.545,0.471,0.359,0.248,0.485,
+0.677,0.554,0.341,0.690,0.048,0.037,0.025,0.052,0.467,0.037,
+0.275,0.503,0.494,0.533,0.369,0.707,0.868,0.512,0.402,0.817,
+0.654,0.517,0.384,0.708,0.533,0.036,0.295,0.498,0.637,0.508,
+0.454,0.914,1.260,0.586,0.369,0.704,0.696,0.513,0.391,0.631,
+0.653,0.067,0.310,0.580,0.616,0.501,0.445,1.110,0.068,0.055,
+0.033,0.057,0.053,0.053,0.035,0.047,0.037,4.68e-3,0.035,0.050,
+0.049,0.050,0.064,0.077,0.580,0.542,0.316,0.587,0.038,0.034,
+0.023,0.062,0.574,0.041,0.288,0.419,0.438,0.442,0.392,0.575,
+0.657,0.399,0.363,0.617,0.627,0.476,0.444,0.836,0.626,0.042,
+0.417,0.610,0.677,0.498,0.650,0.995,1.390,0.504,0.415,0.969,
+0.564,0.350,0.320,0.474,0.731,0.081,0.385,0.646,0.755,0.501,
+0.426,1.150,0.881,0.468,0.353,0.645,0.544,0.375,0.379,0.474,
+0.518,0.034,0.666,0.762,0.593,0.450,0.529,0.858,0.836,0.733,
+0.499,0.919,0.056,0.052,0.035,0.078,0.692,0.055,0.473,0.764,
+0.763,0.767,0.714,1.030,1.390,0.670,0.593,1.370,0.907,0.657,
+0.533,0.932,0.978,0.062,0.712,1.200,1.720,1.050,1.230,2.390,
+5.770,2.210,1.930,4.730,2.100,1.060,0.896,1.500,2.010,0.171,
+0.715,1.530,4.050,2.590,1.150,2.670,1.660,0.802,0.624,1.030,
+0.833,0.441,0.412,0.535,1.110,0.064,0.445,0.641,1.140,0.860,
+0.438,0.875,1.840,1.000,0.717,1.440,0.132,0.069,0.051,0.154,
+0.833,0.057,0.374,0.630,1.020,0.831,0.552,1.150,6.570,1.600,
+1.280,2.710,1.690,0.908,0.811,1.530,1.440,0.084,0.627,1.130,
+2.480,1.250,1.130,3.140,2.150,0.882,0.590,1.320,0.950,0.474,
+0.394,0.621,0.845,0.068,0.265,0.554,1.120,0.837,0.360,0.962,
+0.986,0.472,0.298,0.614,0.463,0.218,0.197,0.314,0.580,0.036,
+0.217,0.370,0.634,0.417,0.247,0.494,1.040,0.679,0.466,0.853,
+0.055,0.034,0.029,0.061,0.704,0.040,0.249,0.436,0.748,0.578,
+0.382,0.718,1.290,0.574,0.461,0.918,0.701,0.431,0.320,0.606,
+0.641,0.036,0.270,0.598,0.854,0.572,0.497,1.300,1.890,0.761,
+0.632,1.500,1.130,0.609,0.524,1.040,1.110,0.102,0.393,0.716,
+1.720,1.150,0.609,1.750,0.111,0.060,0.046,0.101,0.069,0.046,
+0.041,0.078,0.077,6.10e-3,0.034,0.062,0.169,0.125,0.051,0.140,
+0.801,0.592,0.477,0.789,0.055,0.035,0.035,0.070,0.496,0.041,
+0.210,0.367,0.665,0.529,0.369,0.672,0.973,0.461,0.483,0.976,
+0.805,0.444,0.456,0.840,0.623,0.042,0.313,0.598,0.988,0.677,
+0.629,1.420,3.010,0.904,0.856,2.470,1.050,0.546,0.525,1.010,
+1.550,0.120,0.524,1.030,3.880,1.730,0.946,2.980,1.440,0.640,
+0.577,1.080,0.716,0.400,0.423,0.689,0.995,0.054,0.436,0.828,
+1.580,1.010,0.589,1.380,1.190,0.790,0.716,1.250,0.081,0.044,
+0.048,0.097,0.963,0.054,0.451,0.837,1.080,0.881,0.694,1.270,
+2.470,0.993,0.936,2.250,1.200,0.676,0.661,1.340,1.560,0.083,
+0.915,1.630,3.170,1.970,1.760,4.780,2.820,1.260,1.000,2.240,
+1.310,0.711,0.599,0.947,1.140,0.097,0.365,0.805,1.590,1.230,
+0.609,1.430,1.470,0.702,0.642,1.050,0.805,0.424,0.445,0.572,
+0.775,0.050,0.318,0.586,0.741,0.570,0.388,0.819,1.100,0.775,
+0.531,1.070,0.072,0.060,0.040,0.099,0.533,0.045,0.268,0.555,
+0.661,0.628,0.428,0.931,1.730,0.705,0.610,1.240,1.020,0.627,
+0.545,0.944,0.745,0.052,0.304,0.621,1.050,0.578,0.611,1.500,
+1.660,0.803,0.477,1.200,0.838,0.491,0.357,0.544,0.585,0.044,
+0.195,0.432,0.809,0.601,0.309,0.773,0.935,0.514,0.288,0.633,
+0.544,0.299,0.238,0.360,0.481,0.036,0.198,0.346,0.652,0.365,
+0.236,0.464,0.722,0.572,0.338,0.681,0.045,0.040,0.023,0.055,
+0.465,0.041,0.224,0.441,0.513,0.503,0.327,0.667,0.854,0.436,
+0.303,0.648,0.613,0.453,0.290,0.493,0.416,0.024,0.205,0.394,
+0.613,0.434,0.345,0.894,1.290,0.596,0.425,1.020,0.760,0.508,
+0.421,0.658,0.672,0.077,0.236,0.454,0.867,0.770,0.418,1.070,
+0.055,0.040,0.030,0.059,0.038,0.034,0.032,0.044,0.036,5.26e-3,
+0.021,0.039,0.063,0.063,0.030,0.068,0.672,0.620,0.572,0.693,
+0.047,0.037,0.062,0.061,0.458,0.042,0.244,0.443,0.493,0.539,
+0.380,0.663,0.764,0.385,0.448,0.827,0.695,0.481,0.745,0.744,
+0.537,0.040,0.304,0.579,0.719,0.486,0.562,1.180,1.660,0.749,
+0.600,1.460,0.719,0.447,0.390,0.636,0.846,0.070,0.310,0.596,
+1.400,0.855,0.579,1.540,1.040,0.567,0.492,0.912,0.607,0.417,
+0.472,0.633,0.672,0.044,0.358,0.649,0.906,0.739,0.502,1.040,
+0.799,0.636,0.577,0.944,0.052,0.037,0.035,0.068,0.515,0.037,
+0.350,0.649,0.659,0.649,0.534,1.030,1.300,0.636,0.583,1.200,
+0.860,0.564,0.522,0.732,0.839,0.050,0.482,0.961,1.510,1.050,
+1.020,2.360,1.870,0.907,0.695,1.450,0.943,0.524,0.330,0.647,
+0.764,0.059,0.312,0.610,1.090,0.726,0.492,0.934,1.170,0.653,
+0.370,0.716,0.608,0.367,0.313,0.407,0.625,0.044,0.301,0.591,
+0.629,0.585,0.342,0.756,0.992,0.951,0.476,1.080,0.086,0.087,
+0.042,0.118,0.668,0.052,0.276,0.523,0.592,0.662,0.386,0.873,
+1.150,0.683,0.442,1.100,0.815,0.623,0.393,0.819,1.050,0.070,
+0.374,0.783,1.100,0.666,0.668,1.770,0.089,0.061,0.038,0.082,
+0.063,0.044,0.027,0.048,0.053,5.60e-3,0.024,0.046,0.072,0.059,
+0.033,0.076,0.060,0.039,0.022,0.043,0.058,0.033,0.024,0.038,
+0.040,4.35e-3,0.026,0.037,0.044,0.046,0.024,0.052,0.062,0.132,
+0.029,0.062,5.18e-3,9.36e-3,3.34e-3,6.18e-3,0.065,7.60e-3,0.024,0.045,
+0.047,0.059,0.037,0.112,0.083,0.067,0.041,0.097,0.071,0.071,
+0.037,0.082,0.083,5.68e-3,0.033,0.060,0.082,0.058,0.053,0.135,
+1.030,0.617,0.381,0.747,0.621,0.508,0.382,0.649,0.586,0.071,
+0.429,0.477,0.583,0.557,0.496,0.971,0.064,0.091,0.024,0.046,
+0.036,0.034,0.024,0.030,0.040,5.60e-3,0.079,0.032,0.053,0.054,
+0.037,0.068,1.150,3.030,0.509,0.777,0.063,0.153,0.034,0.060,
+0.976,0.108,0.234,0.342,0.452,0.544,0.301,0.513,0.802,0.862,
+0.364,0.577,0.560,0.483,0.334,0.538,0.941,0.063,0.585,0.571,
+0.653,0.479,0.516,0.982,1.060,0.541,0.383,0.889,0.617,0.364,
+0.286,0.472,0.627,0.049,0.343,0.532,0.897,0.613,0.427,0.979,
+0.994,0.545,0.362,0.716,0.525,0.386,0.321,0.398,0.633,0.040,
+0.445,0.548,0.922,0.650,0.449,0.876,0.872,1.190,0.520,0.959,
+0.055,0.080,0.030,0.063,0.708,0.058,0.407,0.618,0.709,0.754,
+0.632,0.993,0.982,0.588,0.474,0.937,0.647,0.527,0.371,0.635,
+0.988,0.062,0.619,0.775,1.150,0.906,0.909,1.680,4.340,1.260,
+1.110,2.590,1.210,0.678,0.549,0.918,1.390,0.096,0.478,1.060,
+2.100,1.200,0.729,2.550,1.460,0.628,0.430,0.855,0.717,0.386,
+0.364,0.570,0.856,0.051,0.369,0.779,0.830,0.564,0.369,0.875,
+1.290,0.882,0.627,1.480,0.080,0.066,0.051,0.132,0.760,0.060,
+0.389,0.735,0.913,0.778,0.539,1.200,2.390,1.020,0.988,2.570,
+1.180,0.672,0.678,1.400,1.150,0.072,0.607,1.320,2.240,1.200,
+1.200,3.740,1.660,0.749,0.513,1.180,0.795,0.479,0.402,0.545,
+0.802,0.052,0.293,0.616,1.010,0.685,0.412,1.120,0.978,0.514,
+0.289,0.632,0.614,0.308,0.250,0.399,0.605,0.033,0.280,0.564,
+0.574,0.438,0.305,0.652,0.817,0.613,0.388,0.880,0.045,0.050,
+0.020,0.053,0.618,0.041,0.307,0.589,0.685,0.599,0.471,1.050,
+1.110,0.574,0.616,1.250,0.794,0.580,0.429,0.898,0.743,0.040,
+0.387,0.722,1.000,0.691,0.712,1.710,1.760,0.820,0.728,1.270,
+1.050,0.629,0.616,1.070,1.070,0.091,0.515,0.896,1.220,0.865,
+0.758,1.840,0.078,0.060,0.039,0.074,0.053,0.042,0.042,0.058,
+0.053,4.43e-3,0.038,0.057,0.080,0.070,0.045,0.116,1.080,1.170,
+0.603,1.090,0.059,0.054,0.033,0.080,0.903,0.063,0.385,0.623,
+0.763,0.711,0.629,1.080,1.380,0.784,0.715,1.260,1.090,0.700,
+0.700,1.250,1.220,0.068,0.731,1.110,1.310,0.796,1.080,1.890,
+4.000,1.110,1.030,2.530,1.300,0.717,0.637,1.080,1.650,0.099,
+0.689,1.330,2.840,1.400,1.200,3.530,1.820,0.906,0.639,1.310,
+1.060,0.789,0.590,0.853,1.370,0.067,0.735,1.250,1.550,1.060,
+0.854,2.210,1.840,1.390,0.957,1.890,0.076,0.055,0.041,0.105,
+1.340,0.074,0.808,1.500,1.700,1.450,1.350,2.510,4.370,1.690,
+1.510,3.810,1.910,1.160,1.140,2.280,2.390,0.117,1.460,2.850,
+5.070,2.950,2.620,6.710,4.130,2.170,1.700,3.510,2.130,1.320,
+1.030,1.490,2.420,0.202,1.240,1.650,3.440,2.220,1.510,2.390,
+2.270,1.220,0.803,1.290,1.240,0.711,0.594,0.708,1.210,0.086,
+0.585,0.815,1.180,0.946,0.635,1.100,1.800,1.240,0.852,1.340,
+0.132,0.108,0.074,0.158,1.000,0.083,0.443,0.654,1.050,1.040,
+0.659,1.080,2.900,1.360,1.190,2.240,1.850,1.180,1.170,1.680,
+1.380,0.107,0.606,1.060,2.040,1.150,1.080,2.040,2.830,0.954,
+0.594,1.190,1.300,0.840,0.513,0.765,1.100,0.099,0.337,0.671,
+1.000,0.777,0.385,0.794,1.530,0.733,0.380,0.647,0.740,0.407,
+0.328,0.389,0.735,0.059,0.280,0.503,0.588,0.553,0.284,0.454,
+1.020,0.923,0.406,0.685,0.060,0.056,0.031,0.055,0.758,0.068,
+0.320,0.460,0.520,0.706,0.389,0.623,0.956,0.638,0.380,0.742,
+0.787,0.616,0.366,0.627,0.752,0.050,0.339,0.582,0.820,0.620,
+0.540,1.060,1.300,0.645,0.457,0.953,0.951,0.527,0.466,0.895,
+0.830,0.088,0.333,0.688,0.842,0.644,0.453,1.260,0.086,0.070,
+0.037,0.068,0.063,0.048,0.042,0.058,0.052,6.35e-3,0.029,0.060,
+0.085,0.086,0.047,0.100,0.608,0.503,0.358,0.474,0.050,0.033,
+0.029,0.050,0.498,0.053,0.201,0.324,0.376,0.436,0.299,0.404,
+0.796,0.448,0.363,0.604,0.851,0.515,0.407,0.653,0.649,0.049,
+0.309,0.593,0.740,0.543,0.559,0.958,2.150,0.940,0.628,1.470,
+0.940,0.528,0.541,0.906,0.963,0.089,0.366,0.778,1.620,0.945,
+0.649,1.780,1.290,0.839,0.556,0.852,0.898,0.573,0.648,0.672,
+0.724,0.050,0.396,0.614,0.962,0.802,0.517,0.971,0.923,0.820,
+0.665,0.898,0.080,0.052,0.051,0.073,0.618,0.048,0.328,0.547,
+0.697,0.792,0.502,0.747,1.360,0.847,0.657,1.360,0.814,0.579,
+0.548,0.938,1.110,0.074,0.572,1.150,1.480,1.100,1.100,2.180,
+2.680,1.530,0.962,1.840,1.290,0.915,0.624,0.897,0.933,0.093,
+0.553,0.727,1.120,0.920,0.527,1.010,1.330,1.080,0.583,0.818,
+0.811,0.557,0.470,0.619,0.548,0.050,0.369,0.505,0.522,0.483,
+0.295,0.569,0.811,0.981,0.514,0.693,0.100,0.214,0.048,0.090,
+0.518,0.050,0.279,0.389,0.449,0.560,0.352,0.595,1.040,0.624,
+0.470,0.816,1.060,0.902,0.462,0.720,0.552,0.044,0.266,0.545,
+0.768,0.524,0.488,1.090,1.550,0.955,0.425,0.699,0.868,0.676,
+0.329,0.416,0.539,0.057,0.193,0.358,0.456,0.479,0.230,0.474,
+0.801,0.620,0.274,0.365,0.498,0.252,0.241,0.264,0.412,0.056,
+0.186,0.307,0.323,0.362,0.202,0.320,0.552,0.685,0.272,0.430,
+0.050,0.066,0.031,0.047,0.555,0.071,0.220,0.333,0.343,0.680,
+0.281,0.433,0.537,0.387,0.200,0.395,0.541,0.502,0.225,0.414,
+0.447,0.038,0.170,0.319,0.455,0.433,0.274,0.588,0.802,0.688,
+0.324,0.638,0.698,0.553,0.415,0.598,0.469,0.056,0.229,0.387,
+0.404,0.381,0.295,0.540,0.047,0.154,0.025,0.043,0.036,0.042,
+0.033,0.035,0.033,8.86e-3,0.021,0.039,0.038,0.049,0.026,0.042,
+0.473,0.547,0.297,0.376,0.046,0.045,0.028,0.047,0.417,0.040,
+0.201,0.323,0.285,0.402,0.292,0.355,0.482,0.331,0.256,0.426,
+0.598,0.510,0.386,0.498,0.418,0.038,0.265,0.434,0.400,0.354,
+0.400,0.601,0.804,0.545,0.320,0.573,0.547,0.381,0.285,0.441,
+0.422,0.038,0.168,0.325,0.588,0.436,0.265,0.567,0.691,0.727,
+0.307,0.445,0.470,0.427,0.345,0.376,0.357,0.030,0.194,0.346,
+0.410,0.405,0.252,0.437,0.551,0.575,0.352,0.478,0.040,0.043,
+0.024,0.044,0.419,0.034,0.232,0.376,0.400,0.451,0.339,0.479,
+0.637,0.422,0.325,0.573,0.565,0.472,0.331,0.641,0.558,0.046,
+0.319,0.574,0.766,0.649,0.648,1.020,1.350,0.801,0.510,1.110,
+0.613,0.447,0.295,0.489,0.560,0.058,0.264,0.449,0.745,0.577,
+0.349,0.695,0.937,0.659,0.396,0.620,0.496,0.350,0.258,0.316,
+0.501,0.050,0.254,0.359,0.479,0.500,0.268,0.464,0.689,0.778,
+0.525,0.759,0.068,0.075,0.042,0.093,0.395,0.048,0.208,0.308,
+0.408,0.649,0.328,0.561,0.774,0.494,0.410,0.820,0.585,0.457,
+0.339,0.561,0.530,0.051,0.326,0.523,0.742,0.596,0.537,1.500,
+0.080,0.064,0.029,0.077,0.061,0.059,0.031,0.046,0.052,6.85e-3,
+0.024,0.033,0.057,0.061,0.032,0.052,0.066,0.073,0.024,0.040,
+0.060,0.049,0.030,0.034,0.052,8.61e-3,0.027,0.034,0.045,0.056,
+0.027,0.042,0.048,0.072,0.029,0.044,5.01e-3,9.11e-3,5.77e-3,4.60e-3,
+0.045,9.61e-3,0.026,0.029,0.039,0.072,0.036,0.049,0.068,0.052,
+0.031,0.063,0.076,0.081,0.044,0.074,0.056,9.02e-3,0.030,0.056,
+0.064,0.066,0.050,0.114,0.542,0.344,0.235,0.534,0.375,0.308,
+0.364,0.340,0.434,0.055,0.180,0.287,0.395,0.325,0.239,0.384,
+0.045,0.042,0.019,0.030,0.031,0.033,0.022,0.016,0.026,5.52e-3,
+0.016,0.030,0.041,0.044,0.025,0.034,0.308,0.407,0.217,0.259,
+0.026,0.030,0.020,0.030,0.333,0.037,0.127,0.206,0.226,0.351,
+0.222,0.275,0.364,0.226,0.196,0.266,0.317,0.285,0.244,0.284,
+0.376,0.040,0.188,0.312,0.293,0.308,0.266,0.428,0.652,0.386,
+0.261,0.504,0.474,0.278,0.197,0.265,0.420,0.040,0.163,0.293,
+0.539,0.377,0.231,0.516,0.742,0.503,0.251,0.349,0.581,0.477,
+0.271,0.266,0.387,0.039,0.218,0.357,0.480,0.499,0.256,0.431,
+0.474,0.432,0.277,0.388,0.045,0.043,0.022,0.037,0.458,0.061,
+0.217,0.328,0.389,0.513,0.305,0.455,0.576,0.323,0.296,0.398,
+0.453,0.380,0.275,0.387,0.579,0.053,0.340,0.589,0.710,0.566,
+0.517,0.960,1.720,0.778,0.584,1.540,0.731,0.470,0.345,0.514,
+0.692,0.069,0.344,0.635,1.200,0.724,0.502,1.140,0.817,0.456,
+0.325,1.300,0.466,0.228,0.198,0.320,0.423,0.034,0.194,0.338,
+0.462,0.356,0.202,0.408,0.726,0.701,0.438,0.839,0.070,0.063,
+0.036,0.095,0.464,0.042,0.245,0.401,0.516,0.552,0.349,0.627,
+1.100,0.716,0.553,1.430,0.681,0.442,0.383,0.732,0.606,0.048,
+0.391,0.624,1.150,0.718,0.669,1.900,1.300,0.740,0.386,0.840,
+0.848,0.625,0.298,0.476,0.736,0.065,0.297,0.494,0.815,0.637,
+0.375,0.679,0.758,0.531,0.257,0.558,0.649,0.367,0.240,0.321,
+0.541,0.048,0.221,0.389,0.485,0.471,0.245,0.421,0.584,0.688,
+0.268,0.487,0.037,0.047,0.022,0.043,0.562,0.051,0.269,0.398,
+0.501,0.683,0.462,0.601,0.662,0.448,0.313,0.658,0.584,0.516,
+0.302,0.593,0.558,0.042,0.296,0.489,0.668,0.589,0.483,0.983,
+0.613,0.390,0.250,0.630,0.442,0.287,0.242,0.416,0.470,0.053,
+0.220,0.452,0.480,0.414,0.317,0.626,0.040,0.036,0.019,0.046,
+0.026,0.024,0.019,0.023,0.028,3.51e-3,0.016,0.043,0.040,0.043,
+0.025,0.046,0.354,0.339,0.218,0.336,0.025,0.020,0.018,0.033,
+0.376,0.027,0.154,0.297,0.285,0.368,0.245,0.393,0.467,0.279,
+0.253,0.434,0.450,0.320,0.270,0.437,0.483,0.041,0.238,0.473,
+0.496,0.406,0.408,0.715,1.290,0.505,0.387,0.832,0.629,0.337,
+0.257,0.479,0.620,0.051,0.239,0.560,0.959,0.538,0.454,1.110,
+0.657,0.369,0.239,0.442,0.466,0.317,0.237,0.320,0.399,0.028,
+0.222,0.599,0.512,0.452,0.310,0.627,0.876,0.630,0.406,0.663,
+0.058,0.042,0.022,0.056,0.685,0.044,0.305,0.580,0.654,0.680,
+0.501,0.764,1.230,0.627,0.543,1.150,0.808,0.648,0.465,0.817,
+1.080,0.053,0.562,1.150,1.630,1.030,1.080,2.170,2.430,1.340,
+1.060,1.880,1.300,0.862,0.613,0.836,1.120,0.115,0.491,0.916,
+1.470,1.150,0.617,1.160,1.400,0.905,0.575,0.777,0.877,0.581,
+0.469,0.478,0.739,0.062,0.423,0.588,0.684,0.639,0.440,0.649,
+0.704,0.590,0.433,0.572,0.056,0.050,0.050,0.067,0.423,0.044,
+0.236,0.315,0.426,0.522,0.371,0.551,1.100,0.639,0.464,0.908,
+0.750,0.577,0.536,0.695,0.568,0.050,0.314,0.525,0.844,0.564,
+0.630,1.240,1.570,0.720,0.379,0.746,0.904,0.623,0.337,0.475,
+0.652,0.068,0.264,0.441,0.610,0.579,0.264,0.523,0.908,0.620,
+0.275,0.503,0.545,0.353,0.256,0.323,0.529,0.064,0.279,0.456,
+0.414,0.515,0.233,0.358,0.549,0.495,0.258,0.344,0.038,0.045,
+0.027,0.038,0.436,0.052,0.230,0.306,0.334,0.529,0.356,0.412,
+0.454,0.358,0.197,0.342,0.455,0.445,0.244,0.343,0.409,0.040,
+0.229,0.349,0.470,0.428,0.597,0.798,0.711,0.402,0.263,0.493,
+0.568,0.411,0.276,0.443,0.584,0.063,0.225,0.356,0.439,0.411,
+0.275,0.619,0.043,0.041,0.024,0.036,0.038,0.039,0.032,0.034,
+0.036,8.69e-3,0.021,0.036,0.040,0.058,0.030,0.053,0.312,0.320,
+0.225,0.260,0.028,0.024,0.019,0.033,0.321,0.034,0.184,0.233,
+0.244,0.290,0.227,0.278,0.345,0.260,0.242,0.315,0.406,0.377,
+0.248,0.378,0.386,0.043,0.225,0.355,0.370,0.379,0.448,0.615,
+0.935,0.394,0.290,0.640,0.446,0.292,0.229,0.385,0.513,0.045,
+0.177,0.321,0.697,0.432,0.264,0.710,0.629,0.456,0.319,0.443,
+0.473,0.407,0.442,0.375,0.420,0.037,0.234,0.381,0.396,0.454,
+0.268,0.477,0.355,0.342,0.274,0.390,0.028,0.027,0.024,0.039,
+0.293,0.022,0.189,0.279,0.286,0.364,0.258,0.361,0.575,0.408,
+0.410,0.655,0.358,0.332,0.316,0.524,0.519,0.042,0.321,0.550,
+0.691,0.679,0.638,1.240,1.390,0.903,0.583,1.060,0.829,0.703,
+0.422,0.522,0.485,0.050,0.239,0.406,0.565,0.523,0.292,0.565,
+0.876,0.657,0.619,0.563,0.605,0.548,0.545,0.394,0.353,0.045,
+0.252,0.344,0.282,0.396,0.227,0.347,0.384,0.424,0.309,0.381,
+0.031,0.045,0.031,0.042,0.276,0.038,0.187,0.240,0.252,0.356,
+0.281,0.401,0.486,0.296,0.282,0.452,0.434,0.440,0.320,0.377,
+0.277,0.029,0.167,0.263,0.430,0.299,0.294,0.584,0.980,0.619,
+0.254,0.405,0.557,0.545,0.226,0.261,0.345,0.040,0.149,0.227,
+0.263,0.335,0.145,0.281,0.472,0.333,0.168,0.217,0.148,0.044,
+0.096,0.099,0.247,0.044,0.129,0.196,0.159,0.270,0.123,0.176,
+0.266,0.389,0.177,0.224,0.027,0.054,0.021,0.027,0.289,0.056,
+0.150,0.204,0.203,0.436,0.233,0.293,0.252,0.252,0.140,0.196,
+0.317,0.435,0.163,0.227,0.246,0.030,0.150,0.209,0.274,0.281,
+0.203,0.353,0.458,0.351,0.190,0.345,0.456,0.490,0.284,0.368,
+0.330,0.043,0.167,0.254,0.272,0.318,0.195,0.355,0.028,0.042,
+0.015,0.026,0.029,0.047,0.030,0.027,0.023,0.010,0.019,0.022,
+0.019,0.049,0.018,0.026,0.254,0.316,0.207,0.241,0.028,0.036,
+0.027,0.032,0.343,0.035,0.160,0.243,0.201,0.348,0.232,0.303,
+0.252,0.210,0.168,0.247,0.363,0.432,0.339,0.379,0.334,0.029,
+0.208,0.298,0.280,0.266,0.328,0.466,0.481,0.296,0.184,0.348,
+0.348,0.303,0.163,0.243,0.300,0.028,0.115,0.187,0.312,0.248,
+0.169,0.332,0.372,0.393,0.235,0.298,0.342,0.496,0.265,0.309,
+0.223,0.027,0.146,0.225,0.200,0.299,0.187,0.280,0.256,0.300,
+0.213,0.294,0.020,0.028,0.019,0.027,0.230,0.026,0.172,0.233,
+0.206,0.333,0.274,0.360,0.326,0.261,0.195,0.357,0.285,0.311,
+0.262,0.440,0.343,0.030,0.196,0.327,0.390,0.396,0.407,0.727,
+1.030,0.725,0.379,0.851,0.607,0.425,0.244,0.473,0.556,0.055,
+0.221,0.365,0.545,0.467,0.242,0.552,0.859,0.743,0.282,0.481,
+0.549,0.426,0.314,0.367,0.461,0.054,0.298,0.384,0.353,0.467,
+0.245,0.443,0.439,0.618,0.308,0.522,0.049,0.076,0.039,0.074,
+0.342,0.051,0.182,0.276,0.390,0.706,0.391,0.501,0.478,0.370,
+0.236,0.570,0.494,0.503,0.288,0.428,0.421,0.046,0.240,0.386,
+0.550,0.525,0.460,0.964,0.050,0.043,0.018,0.035,0.050,0.053,
+0.025,0.032,0.060,7.44e-3,0.019,0.026,0.035,0.045,0.020,0.042,
+0.038,0.042,0.020,0.027,0.058,0.045,0.046,0.039,0.038,0.011,
+0.026,0.038,0.025,0.039,0.020,0.036,0.025,0.054,0.025,0.027,
+7.52e-3,0.025,9.02e-3,5.18e-3,0.030,0.013,0.031,0.035,0.027,0.055,
+0.042,0.034,0.031,0.034,0.017,0.036,0.104,0.123,0.038,0.048,
+0.034,7.19e-3,0.024,0.033,0.036,0.039,0.039,0.061,0.482,0.357,
+0.180,0.348,0.363,0.397,0.239,0.306,0.455,0.053,0.184,0.268,
+0.313,0.309,0.232,0.408,0.038,0.046,0.018,0.021,0.024,0.052,
+0.026,0.020,0.028,7.44e-3,0.022,0.023,0.025,0.043,0.031,0.040,
+0.239,0.369,0.167,0.222,0.025,0.033,0.018,0.025,0.352,0.041,
+0.125,0.201,0.202,0.357,0.218,0.266,0.223,0.200,0.130,0.221,
+0.302,0.363,0.195,0.268,0.430,0.044,0.262,0.358,0.250,0.292,
+0.274,0.431,0.484,0.313,0.182,0.355,0.291,0.233,0.129,0.191,
+0.362,0.031,0.140,0.249,0.374,0.284,0.168,0.413,0.587,0.468,
+0.206,0.307,0.444,0.428,0.232,0.274,0.387,0.037,0.254,0.370,
+0.321,0.422,0.253,0.417,0.374,0.366,0.207,0.290,0.025,0.030,
+0.017,0.027,0.330,0.035,0.175,0.273,0.274,0.479,0.264,0.389,
+0.444,0.292,0.188,0.370,0.300,0.303,0.199,0.290,0.443,0.037,
+0.301,0.468,0.462,0.521,0.448,0.744,1.010,0.543,0.389,0.859,
+0.522,0.333,0.209,0.416,0.483,0.044,0.200,0.445,0.641,0.435,
+0.264,0.687,0.651,0.417,0.238,0.489,0.419,0.256,0.198,0.346,
+0.321,0.029,0.154,0.289,0.342,0.280,0.167,0.369,0.432,0.382,
+0.243,0.476,0.035,0.030,0.018,0.052,0.315,0.030,0.155,0.294,
+0.377,0.418,0.321,0.485,0.611,0.421,0.342,0.943,0.382,0.285,
+0.224,0.501,0.374,0.039,0.198,0.419,0.696,0.517,0.450,1.300,
+0.774,0.462,0.234,0.484,0.519,0.405,0.228,0.340,0.505,0.049,
+0.222,0.367,0.438,0.420,0.235,0.498,0.521,0.387,0.171,0.325,
+0.673,0.362,0.236,0.297,0.382,0.042,0.211,0.338,0.338,0.358,
+0.195,0.339,0.275,0.345,0.200,0.311,0.028,0.048,0.021,0.034,
+0.351,0.045,0.221,0.288,0.382,0.556,0.593,0.529,0.313,0.233,
+0.195,0.451,0.408,0.447,0.241,0.432,0.353,0.033,0.213,0.325,
+0.396,0.353,0.410,0.663,0.527,0.299,0.188,0.348,0.439,0.317,
+0.228,0.332,0.446,0.047,0.205,0.329,0.392,0.352,0.235,0.468,
+0.029,0.026,0.016,0.024,0.023,0.028,0.018,0.023,0.023,3.01e-3,
+0.016,0.024,0.024,0.033,0.023,0.034,0.236,0.266,0.145,0.245,
+0.016,0.019,0.015,0.025,0.303,0.029,0.151,0.255,0.231,0.327,
+0.238,0.331,0.287,0.234,0.162,0.303,0.313,0.298,0.211,0.356,
+0.378,0.035,0.239,0.400,0.352,0.314,0.363,0.611,0.745,0.346,
+0.226,0.463,0.334,0.246,0.160,0.263,0.395,0.033,0.185,0.305,
+0.576,0.342,0.275,0.597,0.543,0.322,0.198,0.323,0.317,0.296,
+0.196,0.299,0.308,0.024,0.176,0.316,0.346,0.315,0.273,0.461,
+0.410,0.353,0.275,0.392,0.024,0.025,0.017,0.035,0.343,0.026,
+0.201,0.322,0.362,0.446,0.334,0.508,0.629,0.360,0.324,0.682,
+0.459,0.431,0.303,0.544,0.573,0.040,0.410,0.678,0.920,0.717,
+0.856,1.120,1.490,0.919,0.852,1.380,1.130,0.586,0.475,0.674,
+0.800,0.083,0.358,0.744,1.120,0.864,0.443,0.954,0.881,0.576,
+0.987,0.670,0.577,0.334,0.331,0.362,0.468,0.045,0.239,0.332,
+0.496,0.489,0.298,0.471,0.737,0.541,0.452,0.667,0.062,0.044,
+0.036,0.070,0.390,0.039,0.218,0.318,0.373,0.409,0.292,0.510,
+1.070,0.503,0.410,0.825,0.776,0.431,0.418,0.613,0.465,0.037,
+0.295,0.399,0.697,0.421,0.534,1.010,1.150,0.732,0.390,0.808,
+0.790,0.551,0.437,0.539,0.488,0.058,0.184,0.324,0.514,0.514,
+0.219,0.487,0.692,0.480,0.269,0.382,0.589,0.292,0.278,0.277,
+0.457,0.052,0.201,0.312,0.353,0.434,0.192,0.308,0.602,0.643,
+0.479,0.773,0.048,0.045,0.035,0.072,0.488,0.051,0.296,0.435,
+0.355,0.504,0.334,0.592,0.531,0.373,0.242,0.478,0.594,0.462,
+0.300,0.509,0.422,0.031,0.192,0.363,0.480,0.366,0.342,0.741,
+0.761,0.382,0.344,0.640,0.694,0.459,0.408,0.746,0.617,0.085,
+0.197,0.363,0.711,0.548,0.306,0.678,0.052,0.049,0.028,0.045,
+0.049,0.042,0.036,0.053,0.054,0.014,0.025,0.036,0.069,0.105,
+0.039,0.074,0.383,0.321,0.267,0.399,0.040,0.030,0.031,0.057,
+0.345,0.046,0.195,0.256,0.315,0.356,0.257,0.391,0.508,0.231,
+0.197,0.360,0.500,0.371,0.334,0.493,0.368,0.039,0.225,0.330,
+0.535,0.373,0.379,0.793,0.884,0.392,0.316,0.723,0.437,0.267,
+0.292,0.477,0.477,0.048,0.179,0.335,0.823,0.524,0.337,0.819,
+0.589,0.406,0.277,0.442,0.398,0.294,0.325,0.408,0.469,0.049,
+0.217,0.379,0.522,0.537,0.287,0.551,0.480,0.402,0.377,0.564,
+0.042,0.030,0.031,0.057,0.391,0.035,0.283,0.426,0.425,0.476,
+0.402,0.627,0.736,0.396,0.349,0.775,0.434,0.309,0.335,0.549,
+0.577,0.048,0.409,0.651,1.040,0.769,0.910,1.590,0.083,0.060,
+0.102,0.067,0.067,0.043,0.027,0.041,0.043,4.68e-3,0.017,0.030,
+0.048,0.049,0.024,0.047,0.066,0.056,0.249,0.084,0.067,0.044,
+0.051,0.042,0.038,7.60e-3,0.026,0.029,0.032,0.045,0.029,0.034,
+0.036,0.045,0.034,0.038,4.85e-3,7.94e-3,6.18e-3,5.68e-3,0.027,5.18e-3,
+0.021,0.027,0.026,0.035,0.026,0.034,0.053,0.035,0.031,0.052,
+0.053,0.050,0.033,0.054,0.042,3.93e-3,0.023,0.031,0.049,0.033,
+0.035,0.077,0.056,0.052,0.022,0.035,0.052,0.046,0.029,0.027,
+0.030,6.77e-3,0.014,0.020,0.026,0.033,0.016,0.023,0.060,0.057,
+0.027,0.029,0.129,0.047,0.040,0.034,0.047,0.018,0.018,0.025,
+0.035,0.052,0.015,0.025,0.039,0.050,0.028,0.043,5.85e-3,9.86e-3,
+6.68e-3,5.18e-3,0.037,0.011,0.025,0.029,0.023,0.047,0.026,0.035,
+0.038,0.037,0.016,0.030,0.041,0.046,0.026,0.035,0.041,5.43e-3,
+0.021,0.026,0.034,0.032,0.025,0.047,0.037,0.032,0.018,0.039,
+0.037,0.047,0.036,0.044,0.042,0.013,0.016,0.022,0.034,0.048,
+0.023,0.040,3.51e-3,7.19e-3,3.76e-3,4.68e-3,4.60e-3,7.19e-3,8.86e-3,5.18e-3,
+8.19e-3,6.60e-3,4.60e-3,4.01e-3,4.09e-3,0.013,3.76e-3,5.10e-3,0.030,0.034,
+0.034,0.034,5.68e-3,7.94e-3,8.02e-3,6.94e-3,0.037,9.02e-3,0.026,0.036,
+0.023,0.041,0.028,0.038,0.037,0.021,0.018,0.033,0.041,0.043,
+0.041,0.043,0.036,6.10e-3,0.027,0.036,0.033,0.032,0.036,0.064,
+0.059,0.048,0.031,0.050,0.036,0.032,0.027,0.036,0.039,5.35e-3,
+0.019,0.028,0.053,0.047,0.030,0.064,0.057,0.051,0.033,0.043,
+0.050,0.048,0.048,0.047,0.055,0.011,0.028,0.041,0.045,0.074,
+0.033,0.056,0.035,0.043,0.034,0.042,3.09e-3,3.84e-3,4.01e-3,5.43e-3,
+0.037,6.10e-3,0.028,0.041,0.035,0.046,0.037,0.054,0.050,0.037,
+0.030,0.050,0.035,0.035,0.030,0.048,0.054,4.76e-3,0.035,0.055,
+0.067,0.061,0.067,0.105,1.260,0.817,0.410,0.703,0.835,0.502,
+0.293,0.471,0.503,0.045,0.198,0.341,0.491,0.425,0.236,0.451,
+0.686,0.656,0.350,0.404,0.665,0.396,0.481,0.400,0.377,0.046,
+0.271,0.312,0.311,0.438,0.265,0.405,0.485,0.555,0.324,0.601,
+0.056,0.062,0.043,0.099,0.408,0.068,0.216,0.311,0.334,0.555,
+0.281,0.432,0.486,0.321,0.226,0.470,0.427,0.369,0.271,0.494,
+0.468,0.048,0.300,0.433,0.569,0.423,0.517,0.862,0.055,0.045,
+0.021,0.051,0.073,0.051,0.030,0.039,0.026,5.26e-3,0.019,0.030,
+0.024,0.036,0.015,0.050,0.052,0.034,0.023,0.025,0.181,0.047,
+0.110,0.061,0.034,9.94e-3,0.024,0.030,0.024,0.034,0.018,0.022,
+0.027,0.042,0.020,0.034,6.52e-3,8.11e-3,6.94e-3,6.68e-3,0.031,8.44e-3,
+0.023,0.032,0.025,0.043,0.022,0.031,0.039,0.030,0.016,0.037,
+0.045,0.051,0.029,0.055,0.035,5.10e-3,0.021,0.040,0.035,0.033,
+0.031,0.058,0.469,0.349,0.181,0.275,0.426,0.461,0.297,0.369,
+0.314,0.053,0.170,0.237,0.261,0.306,0.207,0.384,0.030,0.042,
+0.015,0.023,0.030,0.037,0.034,0.024,0.026,5.85e-3,0.020,0.022,
+0.021,0.040,0.021,0.036,0.378,0.469,0.228,0.328,0.034,0.043,
+0.036,0.042,0.313,0.037,0.089,0.173,0.183,0.280,0.221,0.281,
+0.271,0.229,0.150,0.207,0.316,0.344,0.296,0.324,0.324,0.039,
+0.226,0.278,0.248,0.275,0.283,0.422,0.471,0.329,0.224,0.328,
+0.321,0.323,0.189,0.227,0.288,0.040,0.238,0.304,0.286,0.278,
+0.184,0.428,0.434,0.379,0.207,0.291,0.401,0.496,0.309,0.256,
+0.311,0.035,0.228,0.325,0.274,0.403,0.228,0.410,0.466,0.528,
+0.257,0.413,0.048,0.056,0.030,0.041,0.543,0.052,0.312,0.393,
+0.320,0.470,0.333,0.422,0.410,0.277,0.201,0.360,0.366,0.351,
+0.228,0.349,0.433,0.041,0.335,0.444,0.441,0.440,0.434,0.686,
+1.060,0.578,0.327,0.657,0.617,0.332,0.223,0.351,0.503,0.048,
+0.172,0.341,0.635,0.549,0.250,0.683,0.688,0.408,0.290,0.390,
+1.020,0.242,0.187,0.239,0.325,0.024,0.175,0.307,0.390,0.312,
+0.189,0.327,0.510,0.400,0.234,0.505,0.054,0.029,0.024,0.060,
+0.345,0.028,0.159,0.312,0.374,0.385,0.350,0.542,0.688,0.368,
+0.280,0.632,0.449,0.289,0.248,0.505,0.411,0.032,0.195,0.389,
+0.776,0.452,0.409,1.070,0.910,0.530,0.296,0.609,1.240,0.488,
+0.331,0.442,0.406,0.039,0.197,0.344,0.417,0.419,0.202,0.496,
+1.180,0.506,0.238,0.369,3.960,0.629,0.502,0.528,0.513,0.045,
+0.198,0.344,0.519,0.348,0.199,0.359,0.510,0.460,0.251,0.535,
+0.143,0.046,0.025,0.063,0.407,0.043,0.236,0.414,0.362,0.491,
+0.331,0.542,0.537,0.337,0.240,0.517,0.686,0.471,0.328,0.822,
+0.434,0.035,0.230,0.428,0.479,0.398,0.323,0.732,0.588,0.399,
+0.227,0.395,0.515,0.431,0.322,0.455,0.473,0.065,0.205,0.438,
+0.383,0.417,0.295,0.684,0.039,0.034,0.015,0.030,0.088,0.034,
+0.028,0.033,0.028,4.09e-3,0.018,0.031,0.031,0.040,0.021,0.045,
+0.391,0.418,0.249,0.406,0.040,0.032,0.026,0.045,0.688,0.060,
+0.233,0.365,0.321,0.394,0.318,0.447,0.446,0.290,0.241,0.431,
+0.473,0.395,0.399,0.625,0.497,0.043,0.305,0.511,0.478,0.374,
+0.470,0.733,0.731,0.335,0.248,0.527,0.352,0.245,0.311,0.337,
+0.371,0.035,0.209,0.377,0.465,0.342,0.270,0.670,0.517,0.327,
+0.196,0.385,0.468,0.291,0.271,0.291,0.327,0.024,0.224,0.382,
+0.344,0.316,0.261,0.458,0.508,0.503,0.323,0.576,0.038,0.033,
+0.025,0.047,0.594,0.045,0.342,0.605,0.459,0.554,0.457,0.718,
+0.768,0.419,0.353,0.886,0.554,0.456,0.393,0.676,0.680,0.043,
+0.483,0.830,0.927,0.683,0.783,1.180,1.580,0.824,0.725,1.530,
+0.828,0.486,0.343,0.594,0.792,0.073,0.266,0.581,1.370,0.983,
+0.434,1.030,0.837,0.490,0.436,0.531,0.445,0.275,0.204,0.281,
+0.490,0.039,0.208,0.287,0.670,0.700,0.315,0.569,0.680,0.519,
+0.350,0.662,0.048,0.039,0.026,0.065,0.406,0.033,0.174,0.293,
+0.493,0.479,0.288,0.587,1.270,0.575,0.419,0.917,0.622,0.397,
+0.304,0.566,0.590,0.041,0.238,0.413,0.917,0.536,0.506,1.240,
+1.000,0.503,0.268,0.616,0.712,0.320,0.214,0.351,0.403,0.039,
+0.129,0.287,0.513,0.413,0.181,0.455,0.516,0.328,0.168,0.282,
+0.297,0.195,0.132,0.181,0.355,0.025,0.124,0.226,0.384,0.378,
+0.182,0.296,0.422,0.375,0.219,0.433,0.026,0.028,0.014,0.030,
+0.431,0.031,0.140,0.263,0.385,0.505,0.218,0.397,0.520,0.407,
+0.196,0.463,0.332,0.258,0.151,0.296,0.354,0.023,0.155,0.309,
+0.519,0.353,0.276,0.648,0.633,0.309,0.250,0.512,0.448,0.257,
+0.234,0.455,0.417,0.044,0.122,0.267,0.594,0.414,0.218,0.636,
+0.035,0.028,0.017,0.033,0.028,0.018,0.015,0.030,0.030,3.09e-3,
+0.011,0.025,0.056,0.056,0.024,0.060,0.314,0.305,0.184,0.314,
+0.026,0.020,0.013,0.030,0.306,0.030,0.114,0.189,0.329,0.335,
+0.182,0.324,0.354,0.247,0.187,0.368,0.358,0.309,0.206,0.343,
+0.327,0.030,0.171,0.285,0.451,0.346,0.300,0.657,0.967,0.394,
+0.322,0.862,0.406,0.237,0.233,0.524,0.539,0.047,0.189,0.397,
+1.180,0.582,0.344,1.010,0.541,0.306,0.220,0.412,0.317,0.198,
+0.190,0.281,0.369,0.026,0.171,0.318,0.578,0.527,0.267,0.611,
+0.443,0.381,0.296,0.550,0.030,0.024,0.018,0.042,0.343,0.024,
+0.192,0.334,0.473,0.470,0.367,0.639,0.809,0.448,0.403,0.896,
+0.442,0.339,0.278,0.489,0.604,0.045,0.556,0.734,1.120,0.860,
+0.856,1.920,1.310,0.669,0.755,0.982,0.645,0.436,0.312,0.470,
+0.559,0.048,0.183,0.403,0.689,0.552,0.285,0.671,0.831,0.490,
+1.140,0.656,0.516,0.369,0.304,0.341,0.458,0.042,0.235,0.343,
+0.386,0.426,0.239,0.443,0.496,0.459,0.320,0.539,0.039,0.042,
+0.026,0.064,0.300,0.030,0.168,0.304,0.346,0.376,0.290,0.549,
+0.666,0.392,0.322,0.655,0.542,0.447,0.316,0.636,0.365,0.030,
+0.172,0.313,0.561,0.392,0.365,0.861,0.844,0.492,0.236,0.492,
+0.535,0.374,0.267,0.286,0.306,0.030,0.106,0.209,0.336,0.306,
+0.176,0.341,0.594,0.466,0.238,0.320,0.501,0.277,0.189,0.227,
+0.291,0.033,0.138,0.219,0.306,0.315,0.163,0.298,0.378,0.396,
+0.225,0.388,0.031,0.037,0.032,0.034,0.320,0.040,0.156,0.257,
+0.327,0.398,0.281,0.436,0.422,0.306,0.175,0.407,0.421,0.399,
+0.206,0.319,0.304,0.024,0.144,0.263,0.500,0.436,0.270,0.584,
+0.458,0.268,0.171,0.367,0.356,0.277,0.221,0.343,0.294,0.038,
+0.115,0.213,0.325,0.310,0.178,0.423,0.023,0.029,0.016,0.029,
+0.023,0.025,0.019,0.026,0.020,5.60e-3,0.012,0.018,0.028,0.042,
+0.019,0.035,0.329,0.342,0.250,0.331,0.027,0.032,0.032,0.037,
+0.283,0.033,0.158,0.368,0.288,0.370,0.241,0.406,0.363,0.233,
+0.209,0.389,0.406,0.391,0.406,0.433,0.315,0.026,0.187,0.340,
+0.375,0.309,0.330,0.621,0.562,0.320,0.237,0.483,0.308,0.215,
+0.190,0.314,0.372,0.036,0.150,0.262,0.537,0.382,0.243,0.566,
+0.465,0.365,0.241,0.428,0.327,0.283,0.260,0.342,0.343,0.037,
+0.173,0.337,0.403,0.520,0.232,0.489,0.354,0.382,0.277,0.450,
+0.025,0.025,0.018,0.030,0.294,0.025,0.206,0.413,0.342,0.424,
+0.314,0.540,0.534,0.333,0.303,0.544,0.411,0.358,0.270,0.411,
+0.476,0.034,0.311,0.569,0.676,0.619,0.613,1.110,0.900,0.569,
+0.396,0.735,0.499,0.347,0.198,0.367,0.446,0.041,0.174,0.340,
+0.595,0.424,0.236,0.524,0.581,0.432,0.222,0.368,0.407,0.324,
+0.200,0.240,0.342,0.033,0.211,0.328,0.332,0.403,0.241,0.430,
+0.545,0.594,0.296,0.585,0.047,0.050,0.031,0.072,0.390,0.040,
+0.213,0.311,0.370,0.495,0.284,0.487,0.575,0.365,0.256,0.556,
+0.428,0.366,0.244,0.436,0.590,0.047,0.276,0.474,0.748,0.488,
+0.511,1.030,0.037,0.033,0.017,0.036,0.035,0.032,0.016,0.026,
+0.024,3.51e-3,0.014,0.020,0.031,0.029,0.015,0.040,0.026,0.028,
+0.012,0.021,0.059,0.039,0.021,0.022,0.024,3.43e-3,0.023,0.032,
+0.021,0.029,0.015,0.030,0.028,0.057,0.015,0.026,3.51e-3,5.77e-3,
+3.18e-3,3.01e-3,0.027,5.35e-3,0.015,0.023,0.021,0.036,0.019,0.033,
+0.037,0.038,0.021,0.039,0.041,0.038,0.021,0.040,0.036,4.93e-3,
+0.017,0.033,0.045,0.033,0.033,0.061,0.478,0.368,0.193,0.304,
+0.341,0.330,0.232,0.316,0.315,0.044,0.145,0.259,0.299,0.346,
+0.238,0.848,0.026,0.048,0.011,0.019,0.020,0.024,0.016,0.017,
+0.021,4.09e-3,0.017,0.022,0.027,0.041,0.022,0.131,0.462,1.550,
+0.272,0.358,0.030,0.078,0.023,0.030,0.372,0.058,0.135,0.206,
+0.220,0.394,0.220,0.357,0.331,0.545,0.196,0.284,0.307,0.372,
+0.246,0.301,0.403,0.039,0.238,0.316,0.318,0.336,0.296,0.558,
+0.519,0.313,0.206,0.406,0.336,0.248,0.198,0.305,0.330,0.035,
+0.184,0.313,0.414,0.359,0.225,0.621,0.502,0.376,0.190,0.341,
+0.330,0.296,0.198,0.238,0.308,0.031,0.198,0.379,0.376,0.462,
+0.284,0.833,0.532,0.740,0.272,0.443,0.079,0.053,0.024,0.036,
+0.442,0.042,0.246,0.391,0.398,0.565,0.361,0.585,0.511,0.363,
+0.266,0.456,0.405,0.377,0.245,0.346,0.554,0.042,0.382,0.588,
+0.638,0.568,0.571,1.020,1.400,0.480,0.366,0.930,0.610,0.330,
+0.246,0.529,0.639,0.052,0.209,0.472,0.915,0.574,0.289,0.899,
+0.637,0.304,0.193,0.366,0.409,0.227,0.166,0.265,0.335,0.027,
+0.162,0.348,0.326,0.307,0.137,0.366,0.558,0.467,0.295,0.677,
+0.044,0.040,0.025,0.080,0.435,0.033,0.187,0.387,0.487,0.443,
+0.287,0.630,0.814,0.391,0.344,0.901,0.464,0.305,0.266,0.555,
+0.528,0.036,0.270,0.629,0.930,0.543,0.517,1.630,0.806,0.440,
+0.262,0.562,0.540,0.326,0.198,0.336,0.380,0.027,0.155,0.310,
+0.438,0.381,0.206,0.552,0.601,0.369,0.160,0.336,0.754,0.311,
+0.165,0.284,0.342,0.024,0.172,0.294,0.319,0.306,0.173,0.378,
+0.397,0.334,0.181,0.415,0.029,0.025,0.012,0.029,0.356,0.028,
+0.175,0.316,0.353,0.391,0.313,0.515,0.530,0.328,0.276,0.557,
+0.447,0.310,0.203,0.471,0.408,0.026,0.234,0.420,0.541,0.404,
+0.386,0.896,0.728,0.469,0.354,0.523,0.504,0.401,0.346,0.492,
+0.497,0.056,0.211,0.404,0.521,0.455,0.355,0.961,0.038,0.056,
+0.018,0.034,0.032,0.028,0.026,0.030,0.025,3.43e-3,0.016,0.032,
+0.034,0.040,0.022,0.088,0.455,0.612,0.261,0.469,0.027,0.036,
+0.020,0.043,0.491,0.042,0.218,0.387,0.369,0.437,0.383,0.682,
+0.577,0.479,0.344,0.650,0.538,0.509,0.383,0.692,0.644,0.040,
+0.427,0.656,0.631,0.483,0.558,1.130,1.320,0.527,0.472,1.070,
+0.569,0.364,0.317,0.534,0.700,0.052,0.305,0.616,1.030,0.662,
+0.509,1.460,0.874,0.573,0.310,0.604,0.664,0.489,0.356,0.448,
+0.572,0.037,0.325,0.782,0.631,0.611,0.388,1.050,0.799,0.748,
+0.464,0.961,0.052,0.040,0.030,0.064,0.789,0.051,0.472,1.080,
+0.832,0.836,0.709,1.350,1.570,0.829,0.705,1.710,0.941,0.648,
+0.655,1.080,1.340,0.069,0.904,1.720,1.750,1.090,1.210,2.050,
+3.550,1.450,1.320,3.320,1.500,0.776,0.731,1.080,1.770,0.146,
+0.618,1.130,2.540,1.660,0.977,1.920,1.890,0.911,0.652,0.983,
+0.981,0.523,0.496,0.553,1.000,0.064,0.462,0.669,1.010,0.734,
+0.549,0.964,1.250,0.709,0.709,1.110,0.103,0.076,0.059,0.124,
+0.739,0.053,0.313,0.500,0.764,0.656,0.497,0.770,2.330,0.926,
+0.985,2.090,1.500,1.210,0.765,1.250,1.080,0.069,0.465,0.783,
+1.630,0.851,0.901,1.700,1.850,0.692,0.434,0.765,0.746,0.405,
+0.329,0.422,0.604,0.052,0.225,0.365,0.653,0.557,0.363,0.588,
+1.080,0.504,0.301,0.466,0.450,0.231,0.231,0.270,0.555,0.042,
+0.235,0.386,0.468,0.363,0.280,0.414,0.626,0.448,0.309,0.554,
+0.041,0.034,0.036,0.068,0.487,0.032,0.200,0.298,0.327,0.366,
+0.267,0.364,0.750,0.396,0.319,0.614,0.583,0.470,0.368,0.514,
+0.513,0.034,0.274,0.426,0.578,0.432,0.392,0.762,1.250,0.393,
+0.437,0.730,0.745,0.370,0.447,0.540,0.716,0.078,0.267,0.452,
+0.814,0.691,0.388,0.811,0.096,0.049,0.032,0.053,0.066,0.036,
+0.031,0.039,0.050,6.35e-3,0.027,0.037,0.094,0.094,0.048,0.082,
+0.501,0.339,0.359,0.450,0.043,0.025,0.028,0.044,0.372,0.029,
+0.213,0.264,0.371,0.358,0.525,0.409,0.623,0.296,0.332,0.637,
+0.695,0.367,0.354,0.510,0.690,0.043,0.284,0.515,0.629,0.456,
+0.496,0.865,1.990,0.637,0.585,1.200,0.703,0.358,0.694,0.556,
+0.780,0.065,0.306,0.493,1.250,0.759,0.550,1.260,1.290,0.663,
+0.450,0.660,0.877,0.421,0.414,0.445,0.668,0.046,0.335,0.484,
+0.908,0.726,0.472,0.839,0.641,0.437,0.397,0.776,0.054,0.034,
+0.034,0.063,0.409,0.027,0.274,0.411,0.490,0.453,0.419,0.559,
+1.200,0.503,0.536,1.270,0.620,0.333,0.400,0.627,0.904,0.050,
+0.438,0.781,1.280,0.814,0.844,1.930,2.590,1.220,0.910,1.770,
+1.100,0.661,0.550,0.767,0.965,0.089,0.364,0.768,1.310,1.100,
+0.595,1.190,1.370,0.805,0.521,0.766,0.755,0.477,0.449,0.498,
+0.698,0.090,0.377,0.563,0.630,0.630,0.385,0.749,0.753,0.601,
+0.561,0.793,0.082,0.070,0.059,0.115,0.515,0.041,0.258,0.358,
+0.418,0.529,0.356,0.592,1.180,0.537,0.534,0.983,1.340,0.782,
+0.568,0.802,0.565,0.043,0.289,0.471,0.929,0.591,0.808,1.260,
+1.270,0.743,0.382,0.662,0.640,0.445,0.352,0.408,0.518,0.042,
+0.193,0.335,0.517,0.468,0.278,0.495,0.720,0.472,0.283,0.388,
+0.377,0.165,0.240,0.280,0.419,0.039,0.219,0.341,0.322,0.323,
+0.254,0.377,0.585,0.517,0.632,1.170,0.057,0.053,0.205,0.419,
+0.553,0.054,0.219,0.331,0.315,0.496,0.283,0.457,0.559,0.348,
+0.285,0.562,0.550,0.421,0.538,0.817,0.389,0.031,0.184,0.309,
+0.410,0.439,0.287,0.642,1.090,0.580,0.443,0.716,0.624,0.478,
+0.572,0.566,0.572,0.062,0.274,0.465,0.578,0.599,0.398,0.711,
+0.066,0.074,0.034,0.049,0.040,0.045,0.041,0.033,0.039,8.02e-3,
+0.034,0.047,0.051,0.075,0.042,0.064,0.545,0.448,0.401,0.516,
+0.036,0.039,0.042,0.051,0.408,0.047,0.261,0.337,0.373,0.647,
+0.531,0.531,0.630,0.305,0.325,0.502,0.536,0.443,0.409,0.517,
+0.440,0.037,0.366,0.472,0.424,0.415,0.475,0.769,1.130,0.596,
+0.451,0.801,0.529,0.357,0.379,0.476,0.578,0.043,0.232,0.433,
+0.873,0.574,0.418,0.949,0.937,0.699,0.403,0.598,0.573,0.420,
+0.419,0.487,0.455,0.040,0.333,0.512,0.602,0.585,0.399,0.746,
+0.553,0.464,0.469,0.749,0.039,0.033,0.032,0.060,0.345,0.029,
+0.251,0.354,0.464,0.473,0.415,0.576,0.801,0.393,0.397,0.711,
+0.599,0.409,0.336,0.579,0.597,0.043,0.349,0.708,0.883,0.743,
+0.728,1.380,1.680,0.834,0.732,1.430,0.559,0.386,0.296,0.470,
+0.668,0.072,0.279,0.483,0.870,0.771,0.408,0.848,1.140,0.716,
+0.507,0.724,0.624,0.393,0.345,0.424,0.804,0.061,0.427,0.514,
+0.672,0.617,0.387,0.597,1.000,0.799,2.150,1.480,0.084,0.081,
+0.099,0.160,0.561,0.053,0.352,0.453,0.452,0.636,0.398,0.590,
+1.000,0.529,0.889,1.570,0.641,0.583,0.586,0.784,0.602,0.056,
+0.361,0.626,0.883,0.705,0.704,1.620,0.109,0.078,0.048,0.090,
+0.073,0.057,0.035,0.052,0.060,6.60e-3,0.027,0.038,0.070,0.076,
+0.046,0.071,0.093,0.072,0.045,0.062,0.084,0.050,0.040,0.041,
+0.071,7.27e-3,0.047,0.048,0.063,0.071,0.039,0.054,0.065,0.076,
+0.091,0.092,6.35e-3,0.011,8.52e-3,0.013,0.050,7.85e-3,0.038,0.044,
+0.042,0.071,0.045,0.053,0.112,0.073,0.081,0.147,0.109,0.134,
+0.111,0.147,0.070,8.19e-3,0.042,0.071,0.102,0.087,0.075,0.162,
+0.753,0.386,0.402,0.485,0.350,0.269,0.268,0.279,0.489,0.079,
+0.255,0.296,0.451,0.564,0.282,0.428,0.050,0.044,0.026,0.034,
+0.029,0.027,0.021,0.018,0.033,6.52e-3,0.026,0.027,0.051,0.068,
+0.032,0.043,0.332,0.355,0.322,0.344,0.025,0.032,0.030,0.036,
+0.264,0.036,0.221,0.202,0.186,0.269,0.275,0.277,0.374,0.229,
+0.291,0.328,0.291,0.303,0.274,0.373,0.346,0.034,0.227,0.283,
+0.363,0.270,0.295,0.436,0.816,0.363,0.321,0.461,0.365,0.209,
+0.193,0.219,0.433,0.039,0.176,0.302,0.538,0.376,0.240,0.528,
+0.821,0.492,0.339,0.479,0.460,0.362,0.273,0.290,0.459,0.036,
+0.277,0.444,0.573,0.535,0.331,0.560,0.429,0.379,0.343,0.418,
+0.039,0.032,0.027,0.038,0.407,0.030,0.281,0.306,0.362,0.389,
+0.297,0.452,0.732,0.354,0.380,0.508,0.434,0.335,0.283,0.395,
+0.520,0.042,0.350,0.513,0.704,0.529,0.532,0.980,2.400,0.978,
+0.840,1.890,0.728,0.429,0.386,0.551,0.808,0.068,0.346,0.607,
+1.430,0.839,0.583,1.440,1.010,0.480,0.393,0.720,0.490,0.253,
+0.280,0.398,0.648,0.042,0.269,0.431,0.733,0.440,0.322,0.652,
+1.010,0.703,0.957,1.740,0.072,0.062,0.060,0.153,0.534,0.041,
+0.301,0.491,0.618,0.592,0.376,0.801,1.690,0.698,1.130,3.350,
+0.873,0.600,0.658,1.320,0.719,0.050,0.423,0.733,1.470,0.841,
+0.898,2.670,1.490,0.703,0.485,0.961,0.733,0.448,0.314,0.455,
+0.664,0.051,0.270,0.503,0.693,0.511,0.388,0.769,0.940,0.475,
+0.340,0.574,0.545,0.295,0.251,0.366,0.662,0.055,0.277,0.461,
+0.554,0.486,0.277,0.494,0.746,0.567,0.560,0.884,0.046,0.051,
+0.040,0.072,0.561,0.039,0.261,0.415,0.520,0.542,0.364,0.627,
+1.110,0.514,0.616,1.310,0.819,0.653,0.634,0.910,0.635,0.043,
+0.318,0.570,0.818,0.585,0.618,1.270,0.984,0.458,0.379,0.610,
+0.537,0.312,0.319,0.469,0.655,0.067,0.286,0.450,0.682,0.546,
+0.443,0.806,0.060,0.043,0.027,0.057,0.032,0.025,0.024,0.034,
+0.040,5.60e-3,0.026,0.039,0.074,0.071,0.041,0.070,0.450,0.377,
+0.316,0.503,0.028,0.030,0.025,0.049,0.393,0.034,0.236,0.321,
+0.360,0.397,0.371,0.497,0.605,0.337,0.378,0.665,0.524,0.411,
+0.482,0.641,0.658,0.041,0.355,0.582,0.657,0.464,0.559,0.993,
+1.740,0.613,0.554,1.100,0.630,0.370,0.408,0.503,0.748,0.055,
+0.327,0.579,1.280,0.689,0.659,1.550,0.848,0.439,0.362,0.632,
+0.444,0.290,0.273,0.407,0.563,0.032,0.333,0.614,0.881,0.601,
+0.429,0.944,0.875,0.622,0.558,0.970,0.062,0.040,0.036,0.084,
+0.697,0.045,0.530,0.659,0.907,0.761,0.662,1.180,2.000,0.795,
+0.865,2.030,1.050,0.698,0.681,1.260,1.440,0.069,0.950,1.650,
+2.850,1.500,1.810,3.320,0.234,0.103,0.088,0.175,0.095,0.065,
+0.051,0.076,0.092,9.44e-3,0.041,0.069,0.117,0.106,0.053,0.100,
+0.135,0.081,0.059,0.077,0.072,0.050,0.049,0.047,0.073,6.18e-3,
+0.043,0.057,0.070,0.066,0.053,0.083,0.072,0.056,0.049,0.071,
+6.52e-3,5.60e-3,6.52e-3,0.010,0.039,3.51e-3,0.024,0.033,0.037,0.043,
+0.037,0.055,0.118,0.061,0.055,0.116,0.089,0.072,0.059,0.084,
+0.059,5.18e-3,0.036,0.055,0.076,0.059,0.064,0.144,0.131,0.064,
+0.046,0.077,0.071,0.045,0.034,0.042,0.061,6.68e-3,0.029,0.047,
+0.052,0.059,0.036,0.054,0.096,0.057,0.033,0.046,0.054,0.035,
+0.031,0.037,0.059,6.85e-3,0.035,0.048,0.044,0.042,0.035,0.046,
+0.050,0.041,0.029,0.040,4.35e-3,5.77e-3,3.76e-3,4.76e-3,0.044,3.76e-3,
+0.022,0.034,0.031,0.046,0.030,0.035,0.052,0.033,0.027,0.039,
+0.050,0.040,0.036,0.043,0.045,3.68e-3,0.029,0.039,0.045,0.038,
+0.044,0.079,0.087,0.043,0.036,0.053,0.059,0.033,0.041,0.044,
+0.053,7.77e-3,0.027,0.036,0.048,0.049,0.038,0.067,7.27e-3,7.85e-3,
+5.43e-3,5.68e-3,6.02e-3,7.02e-3,4.93e-3,5.01e-3,6.68e-3,1.92e-3,4.68e-3,6.27e-3,
+7.94e-3,0.012,6.35e-3,0.010,0.033,0.030,0.031,0.035,3.43e-3,3.51e-3,
+4.43e-3,4.93e-3,0.034,5.60e-3,0.023,0.027,0.024,0.030,0.037,0.039,
+0.037,0.021,0.028,0.041,0.050,0.035,0.036,0.043,0.045,4.43e-3,
+0.030,0.037,0.042,0.037,0.046,0.069,0.119,0.046,0.039,0.084,
+0.052,0.032,0.043,0.052,0.060,8.36e-3,0.025,0.046,0.084,0.060,
+0.040,0.096,0.100,0.057,0.052,0.066,0.070,0.057,0.048,0.055,
+0.060,6.18e-3,0.042,0.059,0.064,0.070,0.049,0.095,0.046,0.038,
+0.037,0.071,4.43e-3,4.18e-3,4.09e-3,6.27e-3,0.041,2.92e-3,0.025,0.035,
+0.039,0.043,0.040,0.057,0.075,0.037,0.039,0.095,0.051,0.030,
+0.037,0.055,0.067,5.10e-3,0.051,0.070,0.089,0.081,0.088,0.163,
+0.156,0.087,0.069,0.115,0.088,0.060,0.049,0.066,0.062,6.10e-3,
+0.031,0.057,0.084,0.070,0.049,0.086,0.101,0.072,0.051,0.069,
+0.067,0.053,0.059,0.052,0.057,9.28e-3,0.037,0.050,0.048,0.051,
+0.039,0.063,0.048,0.048,0.041,0.054,6.35e-3,6.68e-3,3.76e-3,7.85e-3,
+0.027,3.51e-3,0.019,0.026,0.027,0.038,0.031,0.044,0.059,0.033,
+0.035,0.059,0.069,0.050,0.038,0.056,0.032,3.43e-3,0.026,0.036,
+0.054,0.040,0.048,0.090,0.102,0.068,0.037,0.055,0.058,0.060,
+0.032,0.037,0.045,6.60e-3,0.024,0.039,0.040,0.044,0.024,0.051,
+0.068,0.055,0.031,0.035,0.050,0.024,0.032,0.034,0.048,9.61e-3,
+0.030,0.047,0.038,0.043,0.030,0.042,0.042,0.045,0.033,0.051,
+4.85e-3,6.35e-3,7.77e-3,0.011,0.040,7.27e-3,0.021,0.029,0.026,0.049,
+0.031,0.041,0.035,0.026,0.023,0.034,0.037,0.040,0.033,0.042,
+0.032,3.01e-3,0.020,0.029,0.029,0.041,0.029,0.056,0.084,0.049,
+0.034,0.050,0.058,0.049,0.055,0.048,0.049,7.85e-3,0.029,0.043,
+0.044,0.044,0.039,0.067,9.36e-3,8.02e-3,4.93e-3,6.10e-3,5.68e-3,7.77e-3,
+8.86e-3,5.10e-3,4.60e-3,2.01e-3,7.52e-3,6.77e-3,5.18e-3,6.68e-3,5.85e-3,6.27e-3,
+0.041,0.040,0.035,0.043,5.43e-3,7.85e-3,7.02e-3,5.77e-3,0.037,4.60e-3,
+0.030,0.030,0.023,0.045,0.041,0.043,0.034,0.023,0.024,0.034,
+0.051,0.042,0.046,0.051,0.039,4.93e-3,0.036,0.043,0.033,0.037,
+0.049,0.069,0.095,0.052,0.040,0.068,0.049,0.036,0.036,0.045,
+0.050,4.76e-3,0.025,0.042,0.068,0.054,0.037,0.095,0.113,0.065,
+0.043,0.056,0.059,0.052,0.053,0.050,0.047,6.02e-3,0.038,0.053,
+0.042,0.052,0.041,0.066,0.044,0.042,0.041,0.056,4.09e-3,3.84e-3,
+4.18e-3,5.60e-3,0.033,3.51e-3,0.024,0.034,0.035,0.044,0.043,0.050,
+0.061,0.031,0.031,0.060,0.045,0.037,0.034,0.055,0.046,5.35e-3,
+0.035,0.062,0.071,0.087,0.079,0.134,0.103,0.069,0.049,0.128,
+0.049,0.036,0.027,0.048,0.048,4.43e-3,0.024,0.037,0.053,0.051,
+0.029,0.056,0.086,0.067,0.043,0.052,0.077,0.046,0.041,0.045,
+0.071,6.43e-3,0.068,0.055,0.041,0.053,0.037,0.056,0.058,0.056,
+0.075,0.082,5.52e-3,7.19e-3,0.011,0.010,0.037,5.77e-3,0.035,0.039,
+0.030,0.054,0.031,0.044,0.054,0.036,0.046,0.085,0.048,0.045,
+0.058,0.071,0.048,6.10e-3,0.035,0.055,0.058,0.057,0.058,0.128,
+6.52e-3,4.93e-3,3.09e-3,6.27e-3,8.02e-3,7.52e-3,3.18e-3,4.43e-3,4.26e-3,1.59e-3,
+2.34e-3,3.18e-3,4.01e-3,5.60e-3,3.26e-3,4.51e-3,7.69e-3,7.85e-3,4.76e-3,3.84e-3,
+0.023,8.94e-3,7.10e-3,5.43e-3,7.44e-3,3.34e-3,9.44e-3,6.85e-3,2.59e-3,6.02e-3,
+5.01e-3,3.76e-3,4.60e-3,6.94e-3,5.35e-3,5.18e-3,1.34e-3,3.26e-3,4.60e-3,3.01e-3,
+5.77e-3,2.01e-3,4.85e-3,5.77e-3,3.84e-3,8.36e-3,5.18e-3,5.26e-3,5.01e-3,3.84e-3,
+3.93e-3,6.94e-3,7.27e-3,8.94e-3,0.012,0.012,4.18e-3,1.34e-3,4.51e-3,5.68e-3,
+4.85e-3,6.18e-3,6.35e-3,0.012,0.058,0.040,0.033,0.040,0.037,0.038,
+0.036,0.034,0.043,8.27e-3,0.033,0.040,0.037,0.047,0.036,0.049,
+4.76e-3,7.27e-3,4.09e-3,4.43e-3,5.85e-3,7.35e-3,5.10e-3,3.43e-3,5.35e-3,2.09e-3,
+7.35e-3,5.26e-3,4.26e-3,7.69e-3,5.18e-3,5.93e-3,0.028,0.048,0.030,0.034,
+3.59e-3,0.012,5.18e-3,5.01e-3,0.031,7.02e-3,0.024,0.026,0.018,0.034,
+0.031,0.035,0.026,0.021,0.024,0.033,0.028,0.042,0.037,0.059,
+0.042,5.93e-3,0.033,0.042,0.031,0.029,0.034,0.054,0.068,0.063,
+0.030,0.049,0.034,0.026,0.018,0.023,0.047,6.68e-3,0.021,0.034,
+0.045,0.043,0.027,0.058,0.071,0.061,0.036,0.051,0.051,0.044,
+0.034,0.034,0.050,6.85e-3,0.040,0.059,0.048,0.058,0.045,0.064,
+0.035,0.042,0.033,0.044,3.84e-3,3.84e-3,3.59e-3,4.18e-3,0.042,3.59e-3,
+0.031,0.036,0.031,0.042,0.039,0.052,0.051,0.036,0.033,0.055,
+0.034,0.036,0.028,0.045,0.053,6.10e-3,0.046,0.058,0.059,0.061,
+0.072,0.120,0.205,0.108,0.083,0.169,0.117,0.057,0.054,0.113,
+0.112,0.011,0.045,0.094,0.130,0.082,0.057,0.145,0.116,0.065,
+0.047,0.076,0.073,0.037,0.043,0.059,0.078,6.02e-3,0.044,0.064,
+0.076,0.051,0.039,0.079,0.094,0.064,0.071,0.137,7.44e-3,5.93e-3,
+6.35e-3,0.018,0.063,6.43e-3,0.043,0.059,0.052,0.061,0.046,0.095,
+0.140,0.067,0.104,0.272,0.083,0.060,0.073,0.166,0.096,8.44e-3,
+0.051,0.116,0.154,0.091,0.091,0.315,0.195,0.112,0.065,0.126,
+0.110,0.079,0.057,0.073,0.094,0.011,0.056,0.092,0.086,0.081,
+0.055,0.111,0.144,0.085,0.061,0.091,0.135,0.067,0.057,0.068,
+0.108,0.011,0.067,0.088,0.084,0.087,0.053,0.087,0.096,0.093,
+0.071,0.108,8.27e-3,9.44e-3,0.010,0.013,0.094,8.44e-3,0.050,0.071,
+0.072,0.087,0.065,0.098,0.113,0.067,0.085,0.162,0.094,0.087,
+0.141,0.203,0.091,7.60e-3,0.057,0.092,0.099,0.087,0.093,0.179,
+0.086,0.048,0.035,0.064,0.050,0.041,0.038,0.058,0.066,7.60e-3,
+0.047,0.059,0.060,0.053,0.053,0.084,6.85e-3,4.09e-3,3.84e-3,6.27e-3,
+5.35e-3,5.85e-3,5.93e-3,5.43e-3,5.43e-3,9.19e-4,3.76e-3,5.85e-3,6.27e-3,8.27e-3,
+6.35e-3,8.94e-3,0.042,0.041,0.042,0.056,3.51e-3,4.18e-3,5.43e-3,7.27e-3,
+0.049,5.68e-3,0.032,0.044,0.038,0.049,0.047,0.065,0.053,0.036,
+0.042,0.065,0.054,0.045,0.051,0.081,0.090,5.93e-3,0.051,0.082,
+0.067,0.053,0.080,0.132,0.163,0.083,0.063,0.112,0.068,0.049,
+0.044,0.058,0.077,7.94e-3,0.043,0.074,0.111,0.074,0.064,0.155,
+0.124,0.055,0.043,0.064,0.058,0.041,0.039,0.057,0.059,4.85e-3,
+0.051,0.071,0.089,0.073,0.061,0.118,0.078,0.068,0.061,0.107,
+5.35e-3,3.51e-3,4.18e-3,8.27e-3,0.071,5.85e-3,0.051,0.074,0.079,0.086,
+0.074,0.125,0.147,0.068,0.076,0.180,0.092,0.067,0.075,0.126,
+0.122,8.69e-3,0.106,0.165,0.213,0.153,0.204,0.301,1.790,0.738,
+0.856,1.260,0.731,0.440,0.397,0.503,0.717,0.061,0.309,0.505,
+0.922,0.724,0.408,0.798,0.802,0.483,0.325,0.452,0.484,0.312,
+0.270,0.294,0.529,0.036,0.230,0.289,0.492,0.489,0.270,0.440,
+0.545,0.400,0.303,0.508,0.047,0.029,0.026,0.057,0.378,0.027,
+0.204,0.319,0.309,0.338,0.275,0.411,0.731,0.309,0.290,0.607,
+0.481,0.282,0.252,0.407,0.351,0.025,0.272,0.347,0.538,0.283,
+0.430,0.805,0.969,0.564,0.286,0.568,0.583,0.448,0.268,0.338,
+0.426,0.039,0.175,0.300,0.464,0.427,0.204,0.417,0.655,0.477,
+0.229,0.310,0.463,0.274,0.244,0.273,0.492,0.034,0.243,0.329,
+0.367,0.326,0.188,0.312,0.488,0.446,0.303,0.405,0.045,0.038,
+0.031,0.047,0.420,0.045,0.239,0.454,0.335,0.426,0.319,0.385,
+0.441,0.307,0.233,0.346,0.461,0.310,0.244,0.353,0.373,0.028,
+0.192,0.327,0.404,0.313,0.313,0.618,0.948,0.398,0.296,0.690,
+0.745,0.404,0.372,0.516,0.650,0.065,0.302,0.422,0.642,0.508,
+0.353,0.818,0.076,0.077,0.038,0.055,0.070,0.049,0.051,0.051,
+0.059,7.69e-3,0.075,0.054,0.084,0.115,0.050,0.101,0.450,0.352,
+0.461,0.478,0.046,0.028,0.050,0.052,0.360,0.033,0.248,0.298,
+0.316,0.367,0.350,0.421,0.410,0.254,0.301,0.374,0.576,0.354,
+0.573,0.542,0.381,0.030,0.263,0.384,0.467,0.328,0.471,0.671,
+1.010,0.362,0.269,0.609,0.519,0.290,0.238,0.329,0.478,0.045,
+0.216,0.348,0.781,0.531,0.320,0.833,0.646,0.443,0.278,0.426,
+0.466,0.291,0.280,0.324,0.460,0.038,0.346,0.479,0.564,0.604,
+0.317,0.703,0.456,0.370,0.363,0.507,0.042,0.027,0.031,0.051,
+0.357,0.031,0.269,0.396,0.447,0.444,0.440,0.608,0.625,0.317,
+0.337,0.674,0.416,0.258,0.339,0.503,0.536,0.042,0.415,0.642,
+0.917,0.638,0.723,1.500,0.095,0.058,0.043,0.067,0.067,0.044,
+0.030,0.047,0.048,5.43e-3,0.020,0.034,0.061,0.057,0.034,0.057,
+0.071,0.052,0.037,0.038,0.059,0.042,0.040,0.037,0.045,6.60e-3,
+0.025,0.031,0.053,0.048,0.031,0.048,0.039,0.033,0.021,0.036,
+3.76e-3,5.60e-3,4.26e-3,7.02e-3,0.023,3.51e-3,0.018,0.028,0.022,0.033,
+0.023,0.039,0.047,0.029,0.024,0.042,0.047,0.037,0.029,0.041,
+0.026,3.43e-3,0.019,0.030,0.043,0.027,0.034,0.073,0.068,0.043,
+0.023,0.034,0.048,0.035,0.023,0.025,0.029,3.51e-3,0.014,0.020,
+0.025,0.026,0.015,0.025,0.053,0.043,0.025,0.027,0.053,0.030,
+0.027,0.026,0.041,6.60e-3,0.024,0.026,0.034,0.031,0.020,0.025,
+0.033,0.036,0.027,0.033,4.43e-3,7.02e-3,6.60e-3,7.35e-3,0.035,9.28e-3,
+0.022,0.033,0.018,0.036,0.026,0.031,0.031,0.025,0.014,0.027,
+0.032,0.026,0.023,0.027,0.024,3.76e-3,0.015,0.028,0.024,0.024,
+0.021,0.043,0.060,0.037,0.024,0.040,0.051,0.039,0.042,0.039,
+0.042,6.43e-3,0.043,0.036,0.039,0.046,0.033,0.053,4.26e-3,5.77e-3,
+4.01e-3,4.18e-3,6.35e-3,7.10e-3,7.85e-3,4.76e-3,5.18e-3,3.43e-3,0.029,7.60e-3,
+3.68e-3,8.27e-3,5.60e-3,5.93e-3,0.034,0.032,0.038,0.040,4.68e-3,5.52e-3,
+9.44e-3,5.68e-3,0.032,5.26e-3,0.033,0.032,0.023,0.039,0.039,0.041,
+0.031,0.021,0.022,0.035,0.045,0.036,0.048,0.039,0.029,5.77e-3,
+0.030,0.035,0.028,0.030,0.040,0.054,0.087,0.059,0.038,0.071,
+0.053,0.034,0.027,0.036,0.049,4.60e-3,0.023,0.036,0.069,0.058,
+0.045,0.096,0.076,0.057,0.039,0.053,0.061,0.049,0.045,0.049,
+0.048,5.77e-3,0.065,0.054,0.056,0.078,0.048,0.085,0.039,0.039,
+0.035,0.052,3.09e-3,5.52e-3,3.43e-3,5.60e-3,0.031,4.51e-3,0.027,0.040,
+0.038,0.046,0.056,0.068,0.054,0.031,0.029,0.054,0.044,0.031,
+0.032,0.042,0.044,6.02e-3,0.033,0.057,0.062,0.055,0.065,0.117,
+0.790,0.669,0.358,0.686,0.585,0.384,0.217,0.334,0.416,0.037,
+0.203,0.355,0.412,0.309,0.221,0.400,0.721,0.518,0.252,0.379,
+0.542,0.336,0.310,0.309,0.517,0.047,0.408,0.396,0.394,0.397,
+0.328,0.425,0.563,0.485,0.314,0.429,0.057,0.054,0.040,0.070,
+0.373,0.040,0.333,0.365,0.298,0.391,0.295,0.412,0.422,0.244,
+0.191,0.372,0.352,0.288,0.213,0.347,0.427,0.036,0.287,0.434,
+0.437,0.292,0.353,0.687,0.060,0.050,0.020,0.035,0.100,0.055,
+0.026,0.036,0.033,5.52e-3,0.023,0.041,0.030,0.031,0.018,0.036,
+0.056,0.043,0.021,0.024,0.090,0.040,0.033,0.032,0.044,8.36e-3,
+0.080,0.046,0.024,0.031,0.022,0.025,0.039,0.042,0.025,0.035,
+6.85e-3,8.86e-3,6.77e-3,5.43e-3,0.038,9.61e-3,0.048,0.047,0.028,0.044,
+0.033,0.042,0.047,0.031,0.018,0.037,0.049,0.047,0.030,0.043,
+0.033,4.76e-3,0.026,0.039,0.039,0.029,0.029,0.057,0.832,0.305,
+0.241,0.291,0.448,0.325,0.302,0.300,0.376,0.052,0.285,0.302,
+0.314,0.280,0.292,0.350,0.049,0.046,0.030,0.035,0.042,0.038,
+0.028,0.022,0.032,8.11e-3,0.041,0.036,0.030,0.048,0.043,0.033,
+0.479,0.307,0.323,0.342,0.049,0.028,0.043,0.037,0.220,0.031,
+0.074,0.100,0.157,0.182,0.208,0.213,0.272,0.174,0.168,0.189,
+0.326,0.232,0.253,0.236,0.266,0.030,0.264,0.261,0.229,0.217,
+0.306,0.356,0.599,0.272,0.187,0.313,0.383,0.189,0.138,0.175,
+0.280,0.029,0.181,0.231,0.299,0.219,0.165,0.312,0.489,0.336,
+0.231,0.368,0.381,0.307,0.233,0.225,0.395,0.030,0.269,0.320,
+0.293,0.357,0.286,0.335,0.378,0.344,0.252,0.367,0.034,0.033,
+0.026,0.036,0.336,0.037,0.323,0.347,0.267,0.366,0.356,0.399,
+0.363,0.212,0.183,0.306,0.343,0.258,0.214,0.278,0.379,0.037,
+0.391,0.435,0.413,0.373,0.442,0.589,0.975,0.473,0.314,0.653,
+0.474,0.278,0.194,0.341,0.467,0.049,0.198,0.389,0.602,0.476,
+0.256,0.620,0.743,0.385,0.186,0.333,0.482,0.202,0.170,0.242,
+0.414,0.024,0.165,0.252,0.337,0.248,0.177,0.355,0.481,0.369,
+0.259,0.488,0.046,0.032,0.023,0.063,0.392,0.031,0.235,0.588,
+0.372,0.363,0.272,0.541,0.664,0.351,0.255,0.588,0.412,0.268,
+0.207,0.445,0.409,0.030,0.205,0.435,0.560,0.350,0.376,0.858,
+0.916,0.506,0.282,0.518,0.749,0.444,0.281,0.367,0.457,0.039,
+0.227,0.482,0.425,0.360,0.209,0.531,0.766,0.512,0.237,0.396,
+0.852,0.391,0.307,0.414,0.627,0.038,0.377,0.440,0.370,0.326,
+0.209,0.368,0.445,0.446,0.319,0.412,0.046,0.044,0.026,0.048,
+0.412,0.042,0.319,0.507,0.325,0.423,0.322,0.493,0.768,0.473,
+0.273,0.470,0.540,0.459,0.293,0.516,0.408,0.033,0.250,0.446,
+0.431,0.350,0.333,0.691,0.773,0.385,0.264,0.553,0.463,0.329,
+0.366,0.497,0.550,0.049,0.269,0.409,0.547,0.389,0.337,0.734,
+0.052,0.042,0.026,0.045,0.045,0.044,0.048,0.044,0.038,5.10e-3,
+0.033,0.039,0.048,0.054,0.040,0.059,0.461,0.429,0.366,0.467,
+0.035,0.033,0.036,0.050,0.693,0.059,0.331,0.472,0.389,0.443,
+0.427,0.567,0.449,0.305,0.294,0.421,0.501,0.449,0.405,0.595,
+0.502,0.038,0.390,0.557,0.443,0.377,0.510,0.784,0.797,0.361,
+0.266,0.535,0.391,0.243,0.225,0.288,0.429,0.038,0.215,0.334,
+0.544,0.338,0.284,0.663,0.559,0.360,0.251,0.418,0.366,0.284,
+0.277,0.299,0.382,0.029,0.273,0.379,0.401,0.353,0.301,0.530,
+0.536,0.465,0.368,0.554,0.041,0.033,0.028,0.048,0.521,0.039,
+0.407,0.600,0.486,0.536,0.538,0.734,0.750,0.391,0.357,0.735,
+0.545,0.437,0.385,0.582,0.651,0.046,0.538,0.794,0.911,0.620,
+0.830,1.210,2.290,0.801,0.700,1.480,0.721,0.414,0.311,0.500,
+0.698,0.057,0.254,0.496,1.140,0.780,0.442,0.955,0.768,0.404,
+0.254,0.423,0.454,0.235,0.204,0.248,0.475,0.033,0.202,0.289,
+0.543,0.559,0.245,0.459,0.578,0.378,0.281,0.529,0.049,0.029,
+0.027,0.058,0.300,0.019,0.154,0.253,0.316,0.314,0.254,0.456,
+0.916,0.431,0.387,0.825,0.535,0.319,0.265,0.489,0.422,0.028,
+0.228,0.401,0.708,0.399,0.456,1.130,0.997,0.478,0.264,0.561,
+0.493,0.288,0.184,0.295,0.378,0.029,0.169,0.272,0.441,0.333,
+0.196,0.422,0.518,0.270,0.141,0.271,0.453,0.174,0.128,0.165,
+0.326,0.021,0.144,0.260,0.374,0.271,0.155,0.277,0.555,0.254,
+0.174,0.330,0.030,0.018,0.013,0.027,0.287,0.019,0.107,0.197,
+0.345,0.326,0.188,0.316,0.406,0.227,0.169,0.340,0.295,0.184,
+0.133,0.245,0.279,0.017,0.143,0.262,0.366,0.253,0.235,0.555,
+0.958,0.445,0.284,0.498,0.587,0.316,0.277,0.414,0.591,0.051,
+0.156,0.336,0.658,0.479,0.265,0.671,0.068,0.042,0.025,0.042,
+0.046,0.028,0.021,0.034,0.055,5.18e-3,0.022,0.041,0.084,0.093,
+0.031,0.079,0.368,0.252,0.259,0.347,0.031,0.019,0.023,0.035,
+0.268,0.021,0.139,0.222,0.306,0.309,0.235,0.370,0.463,0.251,
+0.361,0.473,0.453,0.280,0.282,0.428,0.479,0.039,0.202,0.349,
+0.478,0.336,0.374,0.717,1.370,0.481,0.348,0.851,0.482,0.265,
+0.277,0.428,0.642,0.052,0.227,0.481,1.260,0.690,0.370,1.050,
+0.854,0.402,0.261,0.466,0.396,0.253,0.213,0.300,0.634,0.041,
+0.248,0.530,0.832,0.917,0.325,0.866,0.465,0.309,0.298,0.521,
+0.032,0.022,0.022,0.041,0.318,0.026,0.210,0.324,0.428,0.468,
+0.343,0.593,0.872,0.392,0.435,1.140,0.438,0.267,0.290,0.561,
+0.698,0.045,0.375,0.683,1.040,0.717,0.725,1.800,1.550,0.774,
+0.632,1.170,0.785,0.484,0.383,0.583,0.636,0.056,0.270,0.525,
+0.989,0.753,0.476,1.060,0.891,0.526,0.378,0.596,0.594,0.365,
+0.364,0.392,0.608,0.049,0.284,0.422,0.586,0.521,0.336,0.624,
+0.517,0.401,0.308,0.594,0.043,0.035,0.025,0.059,0.316,0.027,
+0.197,0.339,0.305,0.370,0.306,0.584,0.729,0.351,0.387,0.665,
+0.594,0.387,0.347,0.527,0.343,0.028,0.200,0.379,0.538,0.389,
+0.459,1.100,0.899,0.523,0.264,0.537,0.575,0.369,0.246,0.314,
+0.368,0.030,0.143,0.286,0.487,0.336,0.225,0.473,0.647,0.403,
+0.219,0.367,0.678,0.303,0.256,0.287,0.404,0.036,0.201,0.340,
+0.592,0.339,0.221,0.359,0.488,0.340,0.221,0.486,0.035,0.027,
+0.019,0.037,0.336,0.039,0.171,0.324,0.290,0.381,0.262,0.472,
+0.399,0.234,0.225,0.382,0.364,0.266,0.188,0.315,0.263,0.023,
+0.165,0.304,0.350,0.287,0.262,0.584,0.698,0.360,0.282,0.500,
+0.518,0.358,0.436,0.455,0.444,0.052,0.232,0.461,0.499,0.466,
+0.313,0.686,0.038,0.034,0.022,0.040,0.039,0.034,0.041,0.032,
+0.033,6.10e-3,0.042,0.057,0.046,0.060,0.032,0.055,0.417,0.330,
+0.303,0.415,0.031,0.027,0.034,0.045,0.319,0.036,0.220,0.315,
+0.302,0.394,0.373,0.524,0.442,0.250,0.286,0.557,0.474,0.354,
+0.405,0.529,0.413,0.051,0.269,0.446,0.426,0.355,0.447,0.860,
+0.889,0.490,0.388,0.722,0.455,0.312,0.330,0.415,0.539,0.045,
+0.258,0.545,0.814,0.623,0.411,1.050,0.793,0.472,0.313,0.551,
+0.484,0.375,0.367,0.453,0.482,0.041,0.353,0.616,0.653,0.762,
+0.406,0.819,0.451,0.379,0.348,0.564,0.035,0.025,0.026,0.044,
+0.325,0.030,0.247,0.408,0.403,0.447,0.455,0.712,0.668,0.360,
+0.380,0.699,0.521,0.356,0.318,0.509,0.469,0.039,0.324,0.665,
+0.740,0.593,0.678,1.440,1.100,0.673,0.437,0.779,0.695,0.409,
+0.246,0.396,0.595,0.048,0.268,0.457,0.739,0.423,0.261,0.548,
+0.974,0.495,0.261,0.450,1.450,0.399,0.280,0.364,0.590,0.046,
+0.412,0.432,0.565,0.482,0.304,0.493,0.542,0.486,0.310,0.489,
+0.063,0.050,0.031,0.061,0.379,0.041,0.244,0.349,0.353,0.442,
+0.312,0.475,0.594,0.324,0.266,0.558,0.476,0.362,0.258,0.421,
+0.501,0.040,0.348,0.539,0.608,0.432,0.546,1.070,0.071,0.052,
+0.024,0.048,0.149,0.054,0.028,0.041,0.035,4.26e-3,0.019,0.033,
+0.048,0.039,0.020,0.048,0.118,0.046,0.018,0.032,0.644,0.090,
+0.042,0.065,0.059,7.94e-3,0.036,0.036,0.066,0.044,0.028,0.040,
+0.041,0.035,0.021,0.030,0.018,6.02e-3,3.84e-3,3.84e-3,0.034,5.77e-3,
+0.030,0.035,0.028,0.043,0.030,0.041,0.047,0.028,0.023,0.047,
+0.064,0.047,0.030,0.048,0.037,4.68e-3,0.025,0.044,0.045,0.037,
+0.037,0.074,0.707,0.369,0.299,0.345,0.543,0.396,0.902,0.459,
+0.417,0.060,0.269,0.354,0.418,0.422,0.395,0.618,0.051,0.037,
+0.021,0.027,0.119,0.035,0.039,0.028,0.030,6.27e-3,0.027,0.030,
+0.042,0.052,0.043,0.050,0.402,0.463,0.329,0.386,0.031,0.032,
+0.039,0.037,0.354,0.043,0.172,0.254,0.246,0.350,0.304,0.384,
+0.392,0.349,0.246,0.341,0.388,0.348,0.370,0.352,0.408,0.064,
+0.330,0.403,0.359,0.382,0.396,0.609,0.739,0.386,0.250,0.465,
+0.410,0.284,0.309,0.296,0.366,0.040,0.235,0.365,0.457,0.408,
+0.278,0.599,0.717,0.449,0.282,0.472,0.614,0.378,0.312,0.323,
+0.474,0.037,0.381,0.497,0.532,0.633,0.436,0.658,0.493,0.448,
+0.313,0.488,0.036,0.033,0.027,0.038,0.420,0.036,0.328,0.465,
+0.421,0.539,0.480,0.647,0.632,0.364,0.330,0.509,0.431,0.369,
+0.311,0.390,0.607,0.048,0.517,0.705,0.667,0.609,0.684,1.100,
+1.890,0.698,0.484,1.090,0.665,0.370,0.274,0.496,0.712,0.062,
+0.322,0.525,1.070,0.650,0.385,0.964,0.926,0.446,0.228,0.427,
+0.663,0.275,0.213,0.339,0.575,0.037,0.230,0.370,0.510,0.349,
+0.223,0.453,0.686,0.532,0.382,0.754,0.072,0.058,0.040,0.103,
+0.436,0.038,0.236,0.478,0.556,0.516,0.323,0.646,0.927,0.381,
+0.375,0.922,0.511,0.311,0.282,0.566,0.526,0.036,0.296,0.597,
+0.916,0.538,0.585,1.710,1.090,0.547,0.325,0.627,0.726,0.482,
+0.261,0.389,0.449,0.035,0.227,0.383,0.561,0.391,0.278,0.623,
+0.892,0.436,0.202,0.404,1.450,0.400,0.242,0.378,0.554,0.035,
+0.281,0.395,0.475,0.364,0.219,0.468,0.546,0.383,0.283,0.458,
+0.048,0.035,0.018,0.038,0.405,0.033,0.247,0.408,0.409,0.433,
+0.317,0.578,0.644,0.345,0.329,0.594,0.493,0.342,0.255,0.482,
+0.467,0.028,0.258,0.472,0.592,0.416,0.434,0.960,1.050,0.473,
+0.359,0.641,0.654,0.442,0.442,0.634,0.662,0.061,0.312,0.547,
+0.756,0.550,0.487,1.110,0.067,0.046,0.025,0.051,0.081,0.048,
+0.035,0.045,0.041,3.09e-3,0.023,0.040,0.067,0.065,0.037,0.087,
+0.643,0.535,0.376,0.581,0.038,0.041,0.031,0.062,0.604,0.045,
+0.336,0.525,0.550,0.604,0.557,0.860,0.766,0.528,0.401,0.747,
+0.676,0.582,0.492,0.846,0.732,0.051,0.461,0.823,0.743,0.572,
+0.622,1.230,2.010,0.683,0.463,1.020,0.707,0.426,0.341,0.499,
+0.795,0.054,0.360,0.633,1.240,0.727,0.612,1.590,1.100,0.626,
+0.344,0.657,0.700,0.593,0.361,0.476,0.717,0.045,0.425,0.667,
+0.868,0.710,0.503,1.150,0.966,0.721,0.512,0.936,0.053,0.048,
+0.032,0.070,0.813,0.049,0.521,0.878,0.931,0.927,0.806,1.400,
+1.870,0.847,0.679,1.650,0.975,0.673,0.661,1.060,1.220,0.068,
+0.880,1.540,2.110,1.160,1.340,2.470,3.120,2.010,1.690,4.420,
+1.790,1.050,0.920,1.510,2.490,0.186,1.070,1.830,4.520,2.800,
+1.410,3.100,2.360,0.948,0.759,1.280,1.090,0.539,0.451,0.601,
+1.200,0.061,0.501,0.777,1.310,0.876,0.599,1.240,1.710,0.970,
+0.892,1.740,0.107,0.087,0.057,0.152,0.868,0.058,0.422,0.674,
+1.060,0.882,0.660,1.170,3.240,1.250,1.300,3.710,1.750,1.220,
+0.922,1.900,1.480,0.087,0.609,1.130,2.610,1.300,1.160,2.730,
+2.140,0.919,0.564,1.130,0.775,0.440,0.337,0.438,0.801,0.057,
+0.268,0.489,0.901,0.673,0.443,0.792,1.250,0.518,0.332,0.553,
+0.482,0.260,0.254,0.264,0.559,0.026,0.219,0.359,0.552,0.369,
+0.240,0.442,0.866,0.578,0.390,0.772,0.041,0.038,0.025,0.056,
+0.586,0.029,0.236,0.388,0.442,0.383,0.304,0.525,0.997,0.515,
+0.353,0.773,0.688,0.609,0.308,0.544,0.532,0.026,0.207,0.376,
+0.645,0.438,0.358,0.824,1.540,0.638,0.550,1.100,0.754,0.391,
+0.426,0.576,0.855,0.074,0.301,0.587,1.230,0.728,0.499,1.240,
+0.102,0.056,0.035,0.073,0.051,0.033,0.030,0.044,0.053,4.18e-3,
+0.023,0.043,0.101,0.086,0.041,0.101,0.646,0.420,0.396,0.592,
+0.044,0.024,0.022,0.049,0.481,0.032,0.221,0.323,0.526,0.399,
+0.380,0.550,0.761,0.416,0.397,0.835,0.712,0.422,0.352,0.592,
+0.654,0.039,0.288,0.521,0.810,0.558,0.574,1.240,3.240,0.895,
+0.834,2.460,0.971,0.487,0.688,0.854,1.480,0.098,0.500,0.877,
+2.940,1.180,0.810,2.190,1.480,0.737,0.541,0.998,0.771,0.399,
+0.401,0.546,0.834,0.044,0.381,0.647,1.190,0.783,0.539,1.140,
+1.060,0.709,0.646,1.110,0.064,0.040,0.039,0.076,0.674,0.036,
+0.502,0.660,0.821,0.656,0.619,0.997,1.980,0.855,0.880,2.370,
+0.946,0.632,0.583,1.080,1.320,0.067,0.645,1.230,2.560,1.470,
+1.440,3.650,2.300,1.030,0.757,1.670,0.882,0.520,0.397,0.619,
+0.886,0.061,0.298,0.593,1.230,0.766,0.529,1.060,1.010,0.626,
+0.349,0.626,0.463,0.260,0.239,0.340,0.434,0.033,0.208,0.338,
+0.460,0.350,0.266,0.552,0.700,0.508,0.420,0.710,0.055,0.039,
+0.030,0.067,0.431,0.028,0.178,0.297,0.444,0.430,0.292,0.494,
+1.010,0.568,0.517,1.200,0.901,0.479,0.412,0.685,0.555,0.033,
+0.232,0.420,0.854,0.529,0.702,1.210,1.190,0.593,0.311,0.706,
+0.510,0.314,0.239,0.346,0.465,0.032,0.154,0.319,0.495,0.373,
+0.235,0.510,0.542,0.338,0.174,0.277,0.259,0.108,0.127,0.171,
+0.285,0.019,0.126,0.221,0.277,0.227,0.155,0.293,0.501,0.368,
+0.313,0.592,0.029,0.028,0.040,0.088,0.373,0.036,0.130,0.237,
+0.283,0.321,0.206,0.350,0.561,0.320,0.243,0.525,0.390,0.281,
+0.212,0.387,0.360,0.021,0.132,0.265,0.390,0.317,0.231,0.588,
+0.925,0.567,0.443,0.813,0.534,0.330,0.517,0.534,0.541,0.045,
+0.242,0.557,0.648,0.450,0.348,0.767,0.047,0.073,0.021,0.042,
+0.025,0.024,0.027,0.027,0.028,2.76e-3,0.017,0.033,0.043,0.041,
+0.024,0.045,0.546,0.360,0.347,0.497,0.028,0.018,0.019,0.033,
+0.295,0.022,0.161,0.257,0.393,0.347,0.301,0.430,0.543,0.292,
+0.328,0.654,0.440,0.306,0.294,0.472,0.396,0.024,0.237,0.420,
+0.460,0.338,0.391,0.826,1.080,0.554,0.430,0.836,0.490,0.302,
+0.305,0.410,0.599,0.041,0.219,0.450,1.100,0.522,0.384,0.937,
+0.692,0.549,0.292,0.479,0.344,0.242,0.229,0.312,0.308,0.020,
+0.205,0.381,0.459,0.394,0.271,0.521,0.634,0.420,0.646,0.704,
+0.033,0.023,0.022,0.043,0.323,0.019,0.229,0.333,0.466,0.366,
+0.353,0.549,0.812,0.399,0.446,0.849,0.491,0.384,0.319,0.556,
+0.561,0.040,0.307,0.612,0.969,0.957,0.720,1.590,2.090,0.964,
+0.691,1.750,0.602,0.447,0.290,0.547,0.839,0.070,0.354,0.632,
+1.160,0.875,0.485,1.180,1.110,0.544,0.378,0.776,0.448,0.254,
+0.258,0.386,0.651,0.040,0.311,0.413,0.759,0.553,0.411,0.693,
+1.020,0.724,1.440,1.520,0.073,0.063,0.057,0.146,0.748,0.051,
+0.305,0.463,0.613,0.691,0.335,0.693,1.400,0.672,1.090,2.690,
+0.732,0.512,0.551,1.120,0.704,0.055,0.350,0.682,1.230,0.889,
+0.791,2.320,0.134,0.079,0.042,0.095,0.057,0.045,0.025,0.042,
+0.067,7.19e-3,0.021,0.042,0.085,0.069,0.042,0.080,0.086,0.047,
+0.025,0.046,0.040,0.030,0.024,0.029,0.050,4.09e-3,0.026,0.032,
+0.065,0.050,0.031,0.054,0.067,0.058,0.054,0.085,4.76e-3,4.09e-3,
+3.34e-3,7.02e-3,0.055,3.68e-3,0.026,0.032,0.048,0.056,0.030,0.056,
+0.139,0.080,0.079,0.232,0.091,0.089,0.056,0.142,0.066,5.93e-3,
+0.030,0.063,0.108,0.083,0.059,0.165,0.832,0.428,0.333,0.550,
+0.409,0.307,0.256,0.348,0.659,0.071,0.251,0.421,0.717,0.588,
+0.329,0.640,0.054,0.037,0.019,0.040,0.023,0.019,0.018,0.020,
+0.038,3.68e-3,0.019,0.025,0.063,0.052,0.031,0.049,0.537,0.618,
+0.332,0.516,0.034,0.027,0.022,0.040,0.331,0.030,0.162,0.242,
+0.288,0.307,0.235,0.401,0.596,0.422,0.346,0.593,0.406,0.322,
+0.258,0.449,0.586,0.034,0.258,0.401,0.533,0.376,0.375,0.724,
+0.978,0.457,0.363,0.671,0.439,0.254,0.244,0.303,0.816,0.055,
+0.257,0.442,1.100,0.548,0.331,0.807,0.835,0.465,0.300,0.535,
+0.420,0.268,0.216,0.255,0.469,0.028,0.260,0.415,0.783,0.513,
+0.330,0.633,0.598,0.493,0.382,0.599,0.037,0.030,0.023,0.042,
+0.405,0.028,0.238,0.378,0.486,0.446,0.343,0.621,0.949,0.481,
+0.514,0.825,0.534,0.396,0.309,0.534,0.763,0.055,0.426,0.723,
+1.130,0.760,0.728,1.610,4.010,1.710,1.220,3.240,1.070,0.675,
+0.536,0.801,1.420,0.093,0.557,0.993,3.020,1.340,0.904,2.490,
+1.320,0.662,0.468,1.040,0.572,0.288,0.310,0.481,0.787,0.042,
+0.338,0.548,1.060,0.588,0.479,0.944,1.530,0.921,1.780,2.620,
+0.096,0.065,0.089,0.216,0.912,0.057,0.698,0.780,1.060,0.773,
+0.603,1.280,4.020,1.500,2.410,10.9,1.570,0.853,1.180,2.810,
+1.310,0.074,0.793,1.340,2.860,1.230,1.520,5.100,2.110,0.946,
+0.549,1.330,0.807,0.553,0.316,0.543,0.950,0.058,0.343,0.601,
+1.090,0.669,0.457,0.980,1.150,0.477,0.294,0.590,0.473,0.282,
+0.227,0.342,0.607,0.035,0.269,0.428,0.670,0.491,0.320,0.552,
+1.040,0.667,0.620,1.230,0.048,0.045,0.030,0.082,0.832,0.040,
+0.326,0.524,0.705,0.577,0.379,0.799,1.670,0.727,0.811,2.550,
+0.944,0.743,0.604,1.470,0.844,0.043,0.351,0.728,1.180,0.807,
+0.679,1.660,1.250,0.570,0.442,0.926,0.682,0.382,0.336,0.595,
+0.869,0.064,0.334,0.625,1.010,0.647,0.534,1.100,0.069,0.044,
+0.026,0.064,0.032,0.027,0.026,0.036,0.046,3.76e-3,0.025,0.043,
+0.071,0.053,0.037,0.071,0.759,0.608,0.436,0.787,0.037,0.028,
+0.022,0.058,0.551,0.041,0.295,0.427,0.537,0.500,0.410,0.733,
+0.862,0.492,0.511,1.120,0.719,0.487,0.456,0.874,0.902,0.040,
+0.426,0.726,0.905,0.577,0.732,1.340,2.500,0.962,0.848,2.010,
+0.914,0.501,0.490,0.779,1.350,0.083,0.513,0.949,2.370,1.060,
+0.908,2.380,1.160,0.632,0.447,0.884,0.576,0.363,0.348,0.491,
+0.713,0.036,0.417,0.765,1.030,0.696,0.520,1.160,1.360,0.926,
+0.838,1.520,0.073,0.047,0.040,0.094,0.981,0.053,0.543,0.926,
+1.250,1.100,0.831,1.530,3.020,1.240,1.330,3.410,1.530,1.010,
+0.912,1.750,2.000,0.081,1.090,2.110,4.210,2.240,2.370,4.820,
+2.650,1.300,1.110,2.280,1.150,0.658,0.559,0.861,1.150,0.094,
+0.495,0.863,1.860,1.220,0.747,1.470,1.460,0.690,0.540,0.868,
+0.692,0.403,0.380,0.459,0.671,0.045,0.386,0.510,0.735,0.535,
+0.440,0.748,0.837,0.626,0.486,0.838,0.057,0.043,0.036,0.087,
+0.465,0.034,0.241,0.353,0.499,0.483,0.380,0.639,1.320,0.669,
+0.579,1.440,0.954,0.603,0.460,0.898,0.643,0.044,0.327,0.599,
+1.040,0.603,0.674,1.720,1.490,0.674,0.480,0.946,0.697,0.373,
+0.285,0.439,0.645,0.056,0.259,0.447,0.684,0.533,0.318,0.689,
+0.871,0.413,0.304,0.528,0.404,0.220,0.224,0.284,0.460,0.031,
+0.275,0.373,0.465,0.318,0.235,0.405,0.509,0.375,0.250,0.434,
+0.037,0.027,0.021,0.038,0.684,0.040,0.190,0.332,0.374,0.404,
+0.280,0.401,0.549,0.316,0.230,0.493,0.498,0.309,0.235,0.434,
+0.461,0.029,0.219,0.377,0.482,0.365,0.380,0.789,1.150,0.442,
+0.411,0.659,0.659,0.349,0.343,0.475,0.624,0.059,0.327,0.427,
+0.679,0.484,0.383,0.825,0.063,0.038,0.030,0.053,0.040,0.031,
+0.029,0.039,0.037,3.76e-3,0.020,0.033,0.051,0.056,0.034,0.072,
+0.418,0.306,0.283,0.399,0.035,0.023,0.025,0.038,0.413,0.029,
+0.205,0.264,0.349,0.343,0.322,0.462,0.483,0.290,0.267,0.553,
+0.492,0.380,0.318,0.488,0.510,0.040,0.280,0.415,0.521,0.448,
+0.497,0.896,1.260,0.442,0.386,0.884,0.513,0.287,0.295,0.429,
+0.675,0.063,0.275,0.507,1.010,0.586,0.390,1.070,0.846,0.462,
+0.347,0.647,0.479,0.354,0.292,0.428,0.454,0.033,0.286,0.466,
+0.561,0.508,0.374,0.834,0.504,0.384,0.359,0.737,0.035,0.025,
+0.028,0.057,0.432,0.026,0.241,0.352,0.411,0.391,0.373,0.558,
+0.820,0.423,0.419,1.080,0.463,0.314,0.326,0.565,0.658,0.042,
+0.475,0.723,1.030,0.792,0.839,1.680,1.680,0.846,0.647,1.280,
+0.784,0.495,0.380,0.543,0.610,0.047,0.324,0.443,0.892,0.598,
+0.423,0.758,0.965,0.565,0.369,0.605,0.493,0.365,0.322,0.425,
+0.391,0.032,0.237,0.348,0.381,0.319,0.260,0.454,0.454,0.368,
+0.325,0.476,0.033,0.032,0.023,0.046,0.266,0.023,0.145,0.203,
+0.278,0.336,0.229,0.388,0.583,0.345,0.302,0.686,0.525,0.373,
+0.272,0.467,0.325,0.024,0.176,0.290,0.518,0.355,0.385,0.854,
+0.939,0.526,0.325,0.539,0.504,0.381,0.261,0.353,0.418,0.034,
+0.183,0.323,0.434,0.343,0.199,0.457,0.621,0.365,0.209,0.314,
+0.347,0.146,0.185,0.229,0.305,0.031,0.170,0.257,0.330,0.264,
+0.166,0.313,0.382,0.310,0.216,0.338,0.026,0.021,0.019,0.031,
+0.321,0.032,0.135,0.205,0.229,0.350,0.194,0.315,0.360,0.239,
+0.191,0.331,0.306,0.264,0.175,0.302,0.291,0.019,0.137,0.252,
+0.307,0.329,0.214,0.541,0.823,0.377,0.297,0.516,0.551,0.351,
+0.389,0.388,0.451,0.045,0.217,0.330,0.482,0.361,0.278,0.578,
+0.086,0.040,0.022,0.053,0.034,0.030,0.033,0.035,0.022,5.18e-3,
+0.020,0.024,0.029,0.040,0.020,0.035,0.423,0.323,0.271,0.378,
+0.031,0.029,0.022,0.038,0.304,0.026,0.170,0.230,0.248,0.292,
+0.263,0.363,0.400,0.270,0.248,0.418,0.445,0.360,0.358,0.413,
+0.337,0.025,0.242,0.350,0.391,0.350,0.399,0.696,0.799,0.419,
+0.311,0.585,0.444,0.255,0.244,0.311,0.475,0.036,0.195,0.376,
+0.685,0.413,0.278,0.741,0.870,0.389,0.266,0.455,0.387,0.291,
+0.303,0.372,0.275,0.026,0.205,0.332,0.334,0.335,0.247,0.420,
+0.406,0.312,0.282,0.419,0.026,0.018,0.016,0.030,0.251,0.020,
+0.178,0.241,0.306,0.321,0.300,0.406,0.513,0.275,0.264,0.550,
+0.344,0.269,0.223,0.384,0.400,0.030,0.254,0.441,0.628,0.811,
+0.546,1.030,1.310,0.784,0.550,1.460,0.523,0.345,0.249,0.460,
+0.546,0.046,0.273,0.419,0.715,0.522,0.330,0.711,0.857,0.504,
+0.328,0.579,0.416,0.293,0.262,0.344,0.563,0.040,0.604,0.421,
+0.454,0.454,0.328,0.530,0.570,0.498,0.529,0.810,0.051,0.042,
+0.044,0.098,0.390,0.037,0.324,0.375,0.307,0.413,0.255,0.458,
+0.745,0.427,0.486,1.210,0.479,0.364,0.422,0.795,0.504,0.046,
+0.313,0.522,0.746,0.530,0.562,1.440,0.053,0.044,0.023,0.052,
+0.038,0.034,0.020,0.029,0.031,3.76e-3,0.019,0.028,0.042,0.042,
+0.024,0.047,0.045,0.035,0.017,0.026,0.038,0.033,0.024,0.026,
+0.038,5.18e-3,0.050,0.029,0.037,0.036,0.023,0.039,0.029,0.033,
+0.025,0.036,3.34e-3,4.35e-3,3.76e-3,5.93e-3,0.038,3.76e-3,0.022,0.028,
+0.026,0.032,0.024,0.034,0.050,0.032,0.032,0.083,0.047,0.049,
+0.048,0.089,0.045,3.59e-3,0.027,0.042,0.049,0.042,0.040,0.084,
+0.703,0.461,0.347,0.503,0.419,0.416,0.262,0.356,0.477,0.060,
+0.265,0.397,0.463,0.442,0.313,0.605,0.039,0.035,0.020,0.035,
+0.023,0.028,0.022,0.021,0.026,3.51e-3,0.025,0.026,0.036,0.039,
+0.027,0.044,0.362,0.418,0.256,0.414,0.024,0.040,0.020,0.039,
+0.306,0.034,0.156,0.234,0.222,0.286,0.236,0.353,0.375,0.285,
+0.242,0.437,0.369,0.393,0.275,0.510,0.498,0.041,0.278,0.414,
+0.417,0.362,0.411,0.753,0.791,0.700,0.310,0.681,0.366,0.299,
+0.173,0.270,0.487,0.051,0.221,0.374,0.592,0.435,0.276,0.702,
+0.697,0.501,0.272,0.474,0.373,0.339,0.232,0.288,0.408,0.035,
+0.300,0.476,0.468,0.467,0.315,0.614,0.419,0.425,0.355,0.536,
+0.025,0.029,0.023,0.038,0.345,0.026,0.227,0.332,0.333,0.399,
+0.285,0.508,0.580,0.390,0.348,0.772,0.389,0.317,0.256,0.439,
+0.551,0.041,0.454,0.637,0.753,0.641,0.675,1.300,1.930,0.891,
+0.704,1.730,0.788,0.398,0.360,0.701,0.856,0.063,0.362,0.683,
+1.270,0.680,0.493,1.260,0.957,0.433,0.329,0.638,0.435,0.244,
+0.245,0.374,0.508,0.029,0.310,0.425,0.550,0.331,0.304,0.583,
+0.843,0.527,0.540,1.090,0.049,0.036,0.034,0.112,0.574,0.034,
+0.415,0.460,0.527,0.412,0.340,0.705,1.290,0.578,0.890,2.540,
+0.660,0.404,0.529,1.540,0.777,0.049,0.409,0.801,1.300,0.665,
+0.752,2.400,1.380,0.719,0.442,0.988,0.619,0.461,0.315,0.507,
+0.673,0.051,0.378,0.605,0.737,0.526,0.359,0.794,0.867,0.420,
+0.276,0.522,0.499,0.321,0.256,0.386,0.560,0.040,0.371,0.481,
+0.533,0.401,0.310,0.527,0.674,0.481,0.398,0.821,0.038,0.034,
+0.027,0.080,0.907,0.048,0.296,0.486,0.564,0.517,0.369,0.680,
+0.840,0.448,0.491,1.450,0.672,0.512,0.538,1.820,0.766,0.039,
+0.356,0.699,0.756,0.568,0.550,1.330,0.882,0.412,0.346,0.616,
+0.525,0.350,0.292,0.474,0.668,0.057,0.306,0.508,0.633,0.454,
+0.423,0.872,0.053,0.030,0.021,0.043,0.025,0.024,0.025,0.029,
+0.026,3.59e-3,0.025,0.032,0.039,0.042,0.028,0.056,0.453,0.380,
+0.343,0.543,0.025,0.025,0.019,0.046,0.425,0.031,0.258,0.362,
+0.354,0.395,0.358,0.593,0.554,0.347,0.365,0.748,0.477,0.403,
+0.356,0.774,0.598,0.038,0.382,0.637,0.653,0.458,0.671,1.320,
+1.440,0.720,0.517,1.150,0.570,0.362,0.310,0.456,0.727,0.066,
+0.334,0.588,0.975,0.588,0.489,1.210,1.200,0.492,0.349,0.612,
+0.448,0.316,0.303,0.390,0.443,0.032,0.448,0.545,0.621,0.485,
+0.397,0.806,0.765,0.544,0.553,1.050,0.039,0.031,0.026,0.070,
+0.617,0.036,0.359,0.572,0.648,0.601,0.566,1.000,1.400,0.667,
+0.719,1.770,0.798,0.561,0.536,1.030,0.941,0.054,0.676,1.190,
+1.800,1.140,1.420,2.210,1.730,0.883,0.911,1.700,0.921,0.530,
+0.413,0.654,0.764,0.061,0.326,0.641,1.260,0.855,0.489,1.070,
+0.860,0.476,0.346,0.520,0.493,0.293,0.257,0.374,0.494,0.031,
+0.236,0.319,0.586,0.477,0.303,0.550,0.716,0.577,0.354,0.762,
+0.051,0.037,0.024,0.070,0.367,0.031,0.252,0.336,0.403,0.407,
+0.316,0.545,1.210,0.561,0.416,1.010,0.639,0.405,0.306,0.599,
+0.542,0.034,0.259,0.451,0.789,0.396,0.470,1.230,1.280,0.640,
+0.397,0.851,0.738,0.441,0.344,0.504,0.564,0.041,0.208,0.390,
+0.662,0.466,0.314,0.638,0.760,0.456,0.231,0.468,0.471,0.218,
+0.218,0.339,0.436,0.028,0.206,0.295,0.389,0.291,0.196,0.357,
+0.603,0.626,0.308,0.534,0.047,0.037,0.027,0.049,0.395,0.036,
+0.221,0.384,0.342,0.411,0.318,0.466,0.736,0.435,0.264,0.566,
+0.636,0.424,0.291,0.533,0.557,0.028,0.220,0.425,0.574,0.410,
+0.404,0.895,1.000,0.656,0.375,0.749,0.722,0.488,0.435,0.591,
+0.660,0.067,0.257,0.493,0.750,0.609,0.403,0.986,0.076,0.155,
+0.035,0.060,0.052,0.047,0.042,0.050,0.048,5.85e-3,0.028,0.045,
+0.077,0.091,0.046,0.098,0.506,0.466,0.438,0.590,0.040,0.029,
+0.032,0.052,0.426,0.035,0.240,0.335,0.366,0.386,0.369,0.511,
+0.598,0.347,0.312,0.595,0.677,0.419,0.390,0.597,0.481,0.038,
+0.270,0.453,0.595,0.442,0.527,0.895,1.130,0.522,0.352,0.814,
+0.525,0.329,0.322,0.415,0.534,0.048,0.241,0.435,0.956,0.582,
+0.439,0.994,0.766,0.670,0.299,0.528,0.439,0.314,0.283,0.359,
+0.435,0.035,0.259,0.396,0.598,0.486,0.361,0.664,0.618,0.532,
+0.451,0.803,0.054,0.030,0.039,0.065,0.463,0.035,0.342,0.464,
+0.604,0.526,0.585,0.794,0.977,0.578,0.460,1.150,0.584,0.358,
+0.394,0.646,0.732,0.050,0.508,0.825,1.260,0.868,0.994,2.040,
+0.094,0.058,0.048,0.079,0.071,0.042,0.027,0.045,0.048,5.43e-3,
+0.021,0.038,0.069,0.065,0.034,0.062,0.065,0.044,0.037,0.043,
+0.042,0.034,0.030,0.034,0.042,3.84e-3,0.024,0.027,0.045,0.048,
+0.033,0.046,0.041,0.038,0.025,0.050,4.60e-3,3.51e-3,2.92e-3,6.35e-3,
+0.026,3.59e-3,0.015,0.028,0.026,0.031,0.026,0.043,0.066,0.039,
+0.030,0.069,0.057,0.045,0.035,0.055,0.039,4.35e-3,0.024,0.044,
+0.058,0.041,0.056,0.106,0.061,0.041,0.023,0.040,0.038,0.035,
+0.022,0.026,0.027,2.26e-3,0.015,0.020,0.029,0.026,0.019,0.035,
+0.046,0.035,0.019,0.033,0.044,0.040,0.027,0.030,0.031,2.92e-3,
+0.015,0.022,0.031,0.025,0.016,0.027,0.035,0.039,0.026,0.036,
+4.43e-3,4.35e-3,2.76e-3,3.09e-3,0.033,7.60e-3,0.017,0.025,0.018,0.033,
+0.025,0.030,0.043,0.027,0.019,0.037,0.036,0.032,0.024,0.038,
+0.032,3.01e-3,0.014,0.026,0.030,0.029,0.026,0.057,0.058,0.072,
+0.022,0.050,0.045,0.038,0.038,0.042,0.039,5.52e-3,0.020,0.035,
+0.043,0.038,0.028,0.065,4.26e-3,9.61e-3,2.51e-3,4.51e-3,3.68e-3,3.84e-3,
+6.77e-3,3.59e-3,3.01e-3,1.34e-3,3.93e-3,3.84e-3,3.68e-3,5.93e-3,2.17e-3,5.52e-3,
+0.041,0.034,0.035,0.051,4.60e-3,3.59e-3,3.43e-3,5.26e-3,0.042,3.51e-3,
+0.026,0.029,0.033,0.035,0.032,0.039,0.050,0.025,0.031,0.052,
+0.059,0.036,0.039,0.050,0.040,3.43e-3,0.024,0.044,0.038,0.038,
+0.043,0.078,0.075,0.069,0.037,0.065,0.043,0.031,0.033,0.037,
+0.044,4.85e-3,0.021,0.036,0.074,0.059,0.048,0.090,0.077,0.067,
+0.036,0.053,0.051,0.049,0.039,0.046,0.039,4.35e-3,0.029,0.041,
+0.052,0.055,0.035,0.068,0.048,0.044,0.044,0.064,3.34e-3,3.43e-3,
+3.01e-3,5.52e-3,0.036,2.17e-3,0.028,0.034,0.041,0.042,0.050,0.069,
+0.065,0.043,0.039,0.079,0.048,0.038,0.031,0.055,0.052,4.26e-3,
+0.036,0.059,0.082,0.077,0.072,0.144,1.210,0.653,0.468,0.847,
+0.555,0.385,0.241,0.433,0.460,0.033,0.229,0.368,0.505,0.350,
+0.280,0.521,1.090,0.469,0.278,0.454,0.491,0.303,0.272,0.356,
+0.513,0.038,0.330,0.343,0.395,0.423,0.302,0.484,0.584,0.545,
+0.368,0.603,0.059,0.064,0.037,0.084,0.394,0.035,0.297,0.359,
+0.303,0.386,0.315,0.525,0.632,0.346,0.361,0.654,0.527,0.438,
+0.301,0.569,0.706,0.046,0.401,0.562,0.589,0.415,0.595,1.100,
+0.056,0.045,0.019,0.038,0.044,0.039,0.020,0.030,0.025,3.76e-3,
+0.013,0.022,0.030,0.028,0.017,0.038,0.052,0.028,0.015,0.024,
+0.040,0.032,0.021,0.026,0.028,4.85e-3,0.025,0.021,0.022,0.025,
+0.016,0.025,0.031,0.041,0.027,0.034,3.09e-3,5.35e-3,2.42e-3,4.43e-3,
+0.027,4.93e-3,0.041,0.040,0.022,0.029,0.019,0.033,0.058,0.031,
+0.025,0.051,0.060,0.062,0.032,0.055,0.045,3.84e-3,0.025,0.043,
+0.041,0.035,0.036,0.075,0.690,0.393,0.250,0.408,0.563,0.449,
+0.340,0.374,0.411,0.059,0.244,0.365,0.369,0.417,0.320,0.614,
+0.044,0.041,0.022,0.034,0.043,0.033,0.026,0.020,0.030,4.18e-3,
+0.026,0.027,0.032,0.046,0.030,0.053,0.483,0.469,0.374,0.705,
+0.049,0.029,0.031,0.051,0.357,0.031,0.149,0.231,0.218,0.267,
+0.266,0.376,0.408,0.263,0.232,0.383,0.591,0.355,0.312,0.404,
+0.425,0.033,0.378,0.392,0.404,0.311,0.458,0.670,0.709,0.571,
+0.258,0.498,0.402,0.284,0.197,0.252,0.379,0.037,0.196,0.311,
+0.410,0.327,0.239,0.552,0.608,0.438,0.276,0.452,0.493,0.359,
+0.265,0.297,0.391,0.031,0.302,0.367,0.377,0.424,0.290,0.488,
+0.513,0.538,0.409,0.662,0.035,0.046,0.029,0.045,0.404,0.032,
+0.367,0.449,0.352,0.422,0.416,0.568,0.610,0.432,0.302,0.588,
+0.528,0.380,0.286,0.468,0.640,0.055,0.488,0.584,0.689,0.685,
+0.648,1.030,1.440,0.628,0.518,0.957,0.556,0.311,0.246,0.401,
+0.527,0.046,0.236,0.435,0.778,0.476,0.385,0.852,0.840,0.372,
+0.236,0.423,0.424,0.224,0.202,0.290,0.398,0.024,0.192,0.310,
+0.387,0.279,0.251,0.450,0.702,0.472,0.361,0.690,0.047,0.036,
+0.026,0.070,0.470,0.033,0.327,0.571,0.462,0.409,0.347,0.695,
+0.959,0.485,0.419,1.060,0.546,0.368,0.311,0.631,0.623,0.042,
+0.341,0.954,0.808,0.516,0.541,1.340,1.320,0.661,0.392,0.753,
+0.694,0.470,0.334,0.480,0.576,0.038,0.272,0.476,0.731,0.478,
+0.340,0.711,0.814,0.477,0.256,0.454,0.709,0.371,0.312,0.415,
+0.529,0.026,0.281,0.399,0.396,0.325,0.234,0.429,0.775,0.558,
+0.440,0.661,0.046,0.041,0.025,0.052,0.509,0.038,0.334,0.581,
+0.429,0.468,0.354,0.666,1.030,0.518,0.406,0.813,0.758,0.601,
+0.397,0.750,0.602,0.040,0.335,0.649,0.693,0.536,0.502,1.000,
+1.300,0.514,0.372,0.848,0.685,0.472,0.413,0.652,0.730,0.065,
+0.315,0.641,0.679,0.556,0.456,1.350,0.067,0.045,0.026,0.051,
+0.036,0.038,0.043,0.040,0.034,3.68e-3,0.022,0.041,0.040,0.051,
+0.031,0.080,0.672,0.547,0.475,0.797,0.039,0.032,0.027,0.061,
+0.647,0.047,0.355,0.556,0.468,0.513,0.474,0.764,0.801,0.454,
+0.570,0.765,0.739,0.525,0.491,0.803,0.726,0.051,0.457,0.777,
+0.689,0.532,0.720,1.180,1.230,0.592,0.432,0.881,0.550,0.331,
+0.311,0.443,0.692,0.060,0.303,0.557,0.755,0.487,0.401,1.170,
+0.782,0.483,0.346,0.651,0.497,0.382,0.346,0.436,0.450,0.029,
+0.318,0.516,0.495,0.469,0.352,0.774,0.860,0.743,0.670,1.040,
+0.048,0.043,0.033,0.076,0.699,0.047,0.540,0.828,0.710,0.701,
+0.737,1.090,1.290,0.660,0.583,1.370,0.812,0.610,0.556,1.030,
+0.983,0.057,0.748,1.200,1.420,1.040,1.250,2.070,4.040,1.500,
+1.260,3.260,1.350,0.707,0.569,0.978,1.330,0.095,0.480,0.960,
+2.620,1.610,0.807,1.900,1.420,0.692,0.424,0.817,0.715,0.351,
+0.304,0.443,0.772,0.046,0.344,0.495,1.000,0.814,0.442,0.810,
+1.090,0.712,0.515,1.140,0.072,0.045,0.035,0.102,0.618,0.039,
+0.306,0.474,0.796,0.633,0.576,0.909,2.210,1.070,0.862,2.260,
+0.998,0.561,0.494,1.020,0.879,0.051,0.459,0.820,1.570,0.837,
+0.998,2.410,1.700,0.730,0.479,1.050,0.724,0.373,0.323,0.481,
+0.652,0.041,0.239,0.421,0.739,0.486,0.314,0.741,0.876,0.458,
+0.239,0.467,0.462,0.218,0.199,0.336,0.462,0.024,0.221,0.320,
+0.549,0.333,0.237,0.464,0.777,0.560,0.321,0.655,0.041,0.027,
+0.021,0.052,0.511,0.046,0.230,0.348,0.493,0.485,0.351,0.560,
+0.813,0.464,0.289,0.708,0.523,0.323,0.233,0.499,0.673,0.042,
+0.358,0.660,0.679,0.455,0.514,1.250,1.500,0.588,0.465,0.926,
+0.818,0.435,0.445,0.692,0.837,0.069,0.237,0.511,1.220,0.771,
+0.437,1.300,0.091,0.056,0.029,0.064,0.054,0.033,0.036,0.055,
+0.059,3.59e-3,0.022,0.046,0.111,0.092,0.037,0.111,0.609,0.412,
+0.387,0.631,0.044,0.023,0.026,0.054,0.408,0.033,0.210,0.348,
+0.485,0.424,0.381,0.655,0.803,0.405,0.416,0.962,0.682,0.406,
+0.384,0.731,0.660,0.038,0.304,0.587,0.841,0.558,0.570,1.370,
+2.450,0.827,0.653,1.750,0.851,0.444,0.501,0.732,1.100,0.077,
+0.418,0.822,2.450,1.070,0.700,2.010,1.360,0.598,0.442,0.782,
+0.591,0.347,0.346,0.487,0.759,0.042,0.358,0.633,1.160,0.849,
+0.503,1.110,0.908,0.620,0.546,1.120,0.053,0.036,0.039,0.077,
+0.617,0.038,0.531,0.720,0.857,0.764,0.855,1.290,2.030,0.923,
+1.020,3.550,0.957,0.566,0.624,1.230,1.430,0.090,0.813,1.400,
+2.540,1.580,1.870,4.700,1.780,0.885,0.642,1.480,0.985,0.522,
+0.357,0.619,0.801,0.056,0.280,0.540,1.310,0.860,0.482,1.070,
+0.940,0.536,0.383,0.666,0.531,0.338,0.303,0.438,0.717,0.041,
+0.262,0.386,0.646,0.583,0.381,0.648,0.644,0.446,0.334,0.670,
+0.044,0.037,0.024,0.059,0.359,0.028,0.181,0.327,0.455,0.427,
+0.341,0.646,0.922,0.470,0.454,0.933,0.673,0.476,0.368,0.601,
+0.482,0.038,0.272,0.480,0.823,0.608,0.760,1.510,1.040,0.574,
+0.302,0.623,0.550,0.378,0.230,0.346,0.475,0.028,0.150,0.280,
+0.507,0.355,0.204,0.561,0.615,0.389,0.191,0.365,0.391,0.255,
+0.190,0.274,0.351,0.022,0.158,0.244,0.460,0.294,0.185,0.367,
+0.546,0.376,0.239,0.517,0.029,0.025,0.014,0.037,0.398,0.040,
+0.158,0.310,0.349,0.378,0.276,0.502,0.546,0.320,0.218,0.521,
+0.438,0.309,0.223,0.461,0.365,0.021,0.169,0.355,0.464,0.358,
+0.342,0.761,0.862,0.436,0.329,0.672,0.522,0.357,0.426,0.503,
+0.468,0.047,0.189,0.411,0.627,0.512,0.331,0.883,0.042,0.035,
+0.022,0.038,0.026,0.028,0.052,0.032,0.024,2.01e-3,0.014,0.032,
+0.046,0.044,0.021,0.053,0.573,0.382,0.328,0.568,0.035,0.024,
+0.024,0.048,0.360,0.025,0.193,0.321,0.405,0.400,0.338,0.605,
+0.656,0.337,0.353,0.764,0.615,0.417,0.480,0.707,0.461,0.031,
+0.269,0.510,0.629,0.440,0.515,1.170,1.220,0.561,0.388,0.854,
+0.522,0.334,0.327,0.432,0.623,0.045,0.269,0.517,1.040,0.682,
+0.466,1.190,1.090,0.514,0.341,0.632,0.455,0.368,0.324,0.467,
+0.448,0.030,0.260,0.457,0.644,0.592,0.370,0.794,0.599,0.472,
+0.393,0.739,0.035,0.026,0.026,0.049,0.382,0.030,0.283,0.447,
+0.515,0.517,0.485,0.856,1.040,0.493,0.499,1.140,0.641,0.425,
+0.423,0.747,0.666,0.045,0.440,0.768,1.160,0.841,0.912,2.070,
+1.860,1.070,0.696,1.540,0.820,0.563,0.333,0.694,0.998,0.067,
+0.403,0.649,1.200,0.690,0.443,0.982,1.260,0.681,0.401,0.780,
+0.791,0.428,0.338,0.522,0.738,0.046,0.663,0.569,0.827,0.698,
+0.497,0.828,1.600,1.080,0.523,1.010,0.105,0.076,0.041,0.107,
+0.608,0.050,0.315,0.465,0.633,0.675,0.517,0.869,1.580,0.708,
+0.562,1.290,0.904,0.574,0.457,0.889,0.933,0.062,0.543,0.870,
+1.210,0.867,1.330,2.240,0.092,0.064,0.032,0.073,0.068,0.047,
+0.028,0.053,0.050,5.52e-3,0.025,0.041,0.061,0.054,0.030,0.076,
+0.073,0.044,0.022,0.041,0.125,0.042,0.024,0.044,0.048,3.59e-3,
+0.066,0.041,0.052,0.044,0.029,0.057,0.080,0.053,0.025,0.053,
+6.60e-3,4.60e-3,1.25e-3,5.01e-3,0.041,3.68e-3,0.023,0.032,0.040,0.048,
+0.033,0.058,0.107,0.058,0.040,0.096,0.072,0.061,0.036,0.086,
+0.059,5.43e-3,0.035,0.067,0.081,0.067,0.068,0.156,1.250,0.622,
+0.409,0.692,0.774,0.592,0.473,0.607,0.700,0.104,0.341,0.681,
+0.775,1.070,0.542,1.580,0.060,0.041,0.021,0.045,0.056,0.036,
+0.027,0.034,0.034,4.68e-3,0.030,0.036,0.062,0.098,0.043,0.095,
+0.695,0.769,0.457,0.869,0.045,0.043,0.030,0.059,0.515,0.045,
+0.267,0.402,0.433,0.501,0.455,0.710,0.778,0.518,0.396,0.799,
+0.710,0.547,0.446,0.666,0.709,0.055,0.476,0.710,0.731,0.616,
+0.750,1.360,1.440,0.845,0.467,1.000,0.828,0.543,0.375,0.611,
+0.750,0.069,0.425,0.717,0.932,0.719,0.502,1.400,1.170,0.732,
+0.410,0.790,0.928,0.531,0.377,0.555,0.696,0.044,0.494,0.689,
+0.873,0.827,0.580,1.260,0.889,0.770,0.576,1.040,0.056,0.046,
+0.031,0.069,0.724,0.052,0.493,0.741,0.791,0.829,0.810,1.240,
+1.230,0.750,0.625,1.170,0.761,0.592,0.494,0.759,1.050,0.064,
+0.829,1.120,1.380,1.080,1.260,2.240,4.960,1.810,1.120,2.900,
+1.330,0.745,0.584,1.100,1.420,0.102,0.647,1.150,2.410,1.350,
+0.970,2.400,1.660,0.784,0.455,0.944,0.856,0.480,0.371,0.654,
+0.835,0.047,0.433,0.694,0.911,0.668,0.484,1.050,1.660,1.020,
+0.713,1.730,0.088,0.061,0.046,0.138,0.951,0.066,0.593,0.879,
+1.180,0.976,0.735,1.600,2.600,1.170,1.030,2.970,1.250,0.792,
+0.703,1.590,1.350,0.085,0.834,1.470,2.590,1.790,1.750,5.940,
+2.600,1.250,0.668,1.480,1.080,0.741,0.461,0.748,0.883,0.059,
+0.426,0.726,1.120,0.806,0.509,1.280,1.690,0.978,0.387,0.840,
+1.050,0.728,0.356,0.667,0.761,0.043,0.420,0.654,0.756,0.610,
+0.399,0.913,1.790,0.849,0.531,1.340,0.067,0.045,0.025,0.084,
+0.896,0.051,0.414,0.810,0.891,0.827,0.581,1.320,1.750,0.876,
+0.696,1.730,1.040,0.800,0.532,1.330,1.090,0.058,0.541,1.060,
+1.380,1.230,0.915,2.410,2.490,1.060,0.786,1.490,1.370,0.835,
+0.705,1.260,1.410,0.116,0.599,1.380,1.620,1.210,0.976,2.570,
+0.090,0.064,0.032,0.075,0.063,0.052,0.042,0.063,0.051,5.01e-3,
+0.030,0.068,0.093,0.086,0.052,0.146,1.370,1.030,0.750,1.490,
+0.066,0.053,0.041,0.103,1.110,0.071,0.669,0.980,1.070,1.030,
+1.010,1.930,1.800,1.090,0.930,1.900,1.410,1.020,0.886,1.750,
+1.640,0.094,1.050,1.790,1.860,1.250,1.660,3.090,6.020,2.010,
+1.360,3.340,1.810,1.110,0.811,1.400,2.110,0.145,1.010,1.860,
+3.350,2.000,1.540,5.200,2.570,1.340,0.803,1.590,1.460,0.947,
+0.688,1.150,1.360,0.069,0.788,1.370,1.790,1.380,1.020,2.680,
+2.430,1.740,1.170,2.540,0.104,0.083,0.047,0.142,1.840,0.092,
+1.220,2.040,2.250,1.950,1.960,3.640,5.950,2.490,1.680,5.010,
+2.010,1.400,1.220,2.740,2.750,0.143,1.880,3.790,4.630,2.360,
+2.870,5.540,4.840,1.690,1.180,2.690,2.280,1.190,1.010,1.450,
+2.450,0.214,0.810,1.500,3.340,2.200,1.290,2.300,2.510,1.230,
+1.230,1.710,1.510,0.780,0.802,0.832,1.420,0.102,0.630,0.925,
+1.270,0.957,0.724,1.260,2.310,1.530,1.120,1.920,0.196,0.163,
+0.105,0.233,1.270,0.107,0.564,0.892,1.470,1.230,0.803,1.360,
+3.210,1.330,1.390,2.920,2.170,1.390,1.110,2.170,1.570,0.108,
+0.698,1.230,2.220,1.120,1.090,2.160,3.440,1.530,0.874,1.560,
+1.560,0.909,0.701,0.874,1.360,0.122,0.423,0.831,1.120,0.981,
+0.506,1.030,1.660,0.868,0.527,0.895,0.887,0.515,0.429,0.481,
+0.925,0.077,0.379,0.599,0.631,0.563,0.351,0.595,1.300,1.070,
+0.579,0.945,0.088,0.072,0.048,0.088,0.856,0.073,0.376,0.635,
+0.652,0.751,0.475,0.794,1.120,0.639,0.486,0.927,1.030,0.715,
+0.480,0.745,0.890,0.062,0.396,0.685,0.824,0.645,0.579,1.150,
+2.230,0.840,0.716,1.150,1.350,0.677,0.620,0.777,1.080,0.111,
+0.443,0.795,0.973,0.781,0.648,1.230,0.142,0.089,0.059,0.107,
+0.102,0.075,0.057,0.072,0.085,0.013,0.071,0.090,0.119,0.133,
+0.088,0.136,1.010,0.775,0.583,0.819,0.086,0.062,0.067,0.107,
+0.737,0.090,0.706,0.748,0.523,0.594,0.673,0.633,0.947,0.553,
+0.516,1.080,1.070,0.734,0.596,0.903,0.894,0.078,0.732,0.949,
+0.811,0.649,0.715,1.150,3.390,1.290,0.980,2.340,1.260,0.639,
+0.592,0.865,1.370,0.143,0.543,1.130,1.860,1.200,0.935,2.390,
+2.050,1.110,0.841,1.250,1.220,0.773,0.591,0.732,1.120,0.080,
+0.595,0.936,1.270,1.140,0.812,1.420,1.260,1.020,0.737,1.210,
+0.110,0.074,0.064,0.107,0.882,0.066,0.503,0.844,0.948,0.892,
+0.735,1.020,1.850,0.869,0.769,1.810,1.150,0.657,0.636,1.040,
+1.360,0.085,0.716,1.380,1.680,1.180,1.120,2.170,3.010,1.600,
+1.240,2.120,1.370,0.892,0.700,0.867,1.060,0.110,0.433,0.884,
+1.180,1.120,0.600,1.220,1.480,0.966,0.815,0.941,1.070,0.602,
+0.548,0.622,0.724,0.076,0.453,0.677,0.580,0.612,0.423,0.782,
+1.050,1.060,0.683,0.983,0.101,0.097,0.068,0.120,0.578,0.062,
+0.357,0.510,0.520,0.670,0.427,0.806,1.080,0.557,0.554,0.994,
+1.110,0.802,0.568,0.819,0.622,0.054,0.303,0.537,0.826,0.477,
+0.519,1.180,1.920,1.180,0.535,0.956,1.240,0.822,0.479,0.544,
+0.819,0.082,0.288,0.512,0.675,0.735,0.347,0.644,1.020,0.692,
+0.396,0.593,0.669,0.366,0.353,0.375,0.553,0.059,0.302,0.500,
+0.363,0.465,0.255,0.431,0.765,0.923,0.379,0.564,0.068,0.078,
+0.043,0.059,0.563,0.073,0.311,0.543,0.365,0.710,0.394,0.646,
+0.614,0.458,0.253,0.474,0.667,0.638,0.311,0.446,0.575,0.049,
+0.240,0.455,0.454,0.420,0.317,0.706,1.210,0.634,0.422,0.716,
+0.942,0.738,0.549,0.585,0.673,0.082,0.302,0.516,0.538,0.535,
+0.382,0.704,0.072,0.080,0.038,0.066,0.056,0.084,0.050,0.049,
+0.049,9.86e-3,0.034,0.064,0.051,0.066,0.039,0.072,0.736,0.939,
+0.469,0.656,0.070,0.079,0.057,0.068,0.600,0.065,0.337,0.513,
+0.356,0.576,0.555,0.591,0.535,0.382,0.291,0.503,0.743,0.679,
+0.469,0.585,0.577,0.051,0.346,0.562,0.614,0.443,0.504,0.763,
+1.050,0.512,0.399,0.739,0.655,0.442,0.309,0.414,0.576,0.057,
+0.233,0.543,0.708,0.487,0.354,0.846,0.868,0.693,0.444,0.612,
+0.601,0.562,0.363,0.445,0.465,0.042,0.296,0.600,0.447,0.551,
+0.363,0.675,0.729,0.889,0.522,0.737,0.060,0.066,0.039,0.068,
+0.586,0.050,0.342,0.629,0.504,0.641,0.523,0.785,0.785,0.481,
+0.390,0.694,0.634,0.519,0.386,0.591,0.717,0.055,0.389,0.741,
+0.854,0.738,0.712,1.230,1.590,0.967,0.676,1.300,0.721,0.493,
+0.371,0.606,0.733,0.080,0.327,0.567,0.718,0.755,0.379,0.810,
+1.080,0.704,0.816,0.762,0.583,0.375,0.431,0.397,0.627,0.056,
+0.335,0.436,0.436,0.554,0.292,0.547,0.786,0.872,0.551,0.850,
+0.085,0.100,0.064,0.132,0.471,0.055,0.270,0.456,0.405,0.659,
+0.328,0.681,0.843,0.578,0.438,0.866,0.651,0.583,0.396,0.718,
+0.694,0.093,0.382,0.651,0.685,0.595,0.571,1.450,0.105,0.082,
+0.057,0.116,0.080,0.068,0.042,0.058,0.060,0.010,0.032,0.056,
+0.053,0.074,0.034,0.063,0.075,0.058,0.044,0.060,0.061,0.049,
+0.040,0.035,0.055,8.52e-3,0.034,0.047,0.042,0.056,0.026,0.048,
+0.058,0.087,0.043,0.062,8.52e-3,0.017,7.77e-3,0.010,0.054,9.69e-3,
+0.035,0.061,0.045,0.086,0.035,0.069,0.085,0.062,0.041,0.081,
+0.103,0.124,0.069,0.100,0.077,9.94e-3,0.051,0.077,0.079,0.078,
+0.069,0.138,0.694,0.441,0.313,0.468,0.547,0.473,0.305,0.339,
+0.510,0.075,0.480,0.491,0.355,0.401,0.289,0.432,0.062,0.068,
+0.030,0.035,0.038,0.051,0.031,0.026,0.042,8.02e-3,0.043,0.037,
+0.040,0.058,0.031,0.041,0.569,0.971,0.334,0.403,0.061,0.204,
+0.032,0.049,0.451,0.081,0.192,0.328,0.248,0.436,0.242,0.309,
+0.518,0.334,0.208,0.289,0.489,0.638,0.277,0.370,0.626,0.068,
+0.303,0.384,0.344,0.427,0.296,0.411,0.855,0.447,0.289,0.632,
+0.492,0.321,0.206,0.301,0.467,0.048,0.212,0.402,0.535,0.399,
+0.265,0.612,1.000,0.575,0.349,0.489,0.588,0.437,0.279,0.315,
+0.515,0.049,0.297,0.474,0.553,0.556,0.300,0.515,0.714,0.823,
+0.416,0.754,0.068,0.085,0.034,0.073,0.580,0.067,0.409,0.909,
+0.447,0.644,0.413,0.679,0.780,0.381,0.325,0.470,0.761,0.547,
+0.315,0.467,0.778,0.070,0.449,0.738,0.776,0.684,0.569,0.973,
+2.330,1.180,0.964,2.370,0.952,0.514,0.440,0.696,0.891,0.087,
+0.395,0.719,1.310,1.010,0.612,1.350,1.190,0.525,0.704,0.775,
+0.743,0.284,0.342,0.385,0.591,0.053,0.405,0.510,0.543,0.584,
+0.338,0.583,0.859,0.676,0.470,0.996,0.080,0.060,0.047,0.109,
+0.479,0.043,0.227,0.438,0.505,0.558,0.330,0.721,1.280,0.657,
+0.660,1.560,0.843,0.580,0.505,1.030,0.751,0.063,0.562,0.809,
+1.160,0.783,0.871,2.080,1.830,0.982,0.735,2.480,1.030,0.628,
+0.459,0.824,0.812,0.085,0.403,0.866,0.700,0.700,0.437,0.820,
+1.070,0.584,0.425,0.942,0.760,0.417,0.326,0.445,0.603,0.052,
+0.326,0.622,0.458,0.481,0.314,0.532,0.743,0.662,0.380,0.763,
+0.053,0.054,0.031,0.070,0.603,0.056,0.294,0.564,0.508,0.674,
+0.384,0.782,0.851,0.480,0.393,0.851,0.800,0.684,0.418,0.862,
+0.695,0.056,0.395,0.677,0.760,0.632,0.652,1.240,0.904,0.480,
+0.379,0.718,0.813,0.457,0.341,0.607,0.681,0.099,0.366,0.560,
+0.612,0.723,0.432,0.751,0.067,0.046,0.038,0.062,0.046,0.044,
+0.036,0.042,0.047,4.76e-3,0.035,0.052,0.064,0.080,0.034,0.063,
+0.637,0.746,0.385,0.563,0.047,0.053,0.028,0.056,0.565,0.049,
+0.266,0.425,0.410,0.548,0.388,0.556,0.679,0.411,0.380,0.627,
+0.669,0.519,0.395,0.685,0.809,0.057,0.395,0.636,0.571,0.526,
+0.512,0.833,1.640,0.660,0.548,1.290,0.773,0.457,0.347,0.577,
+0.825,0.075,0.371,0.705,1.180,0.732,0.635,1.500,0.931,0.501,
+0.382,0.612,0.593,0.407,0.302,0.415,0.584,0.040,0.410,0.703,
+0.983,0.652,0.437,0.802,0.999,0.854,0.529,0.976,0.066,0.055,
+0.034,0.082,0.807,0.058,0.439,0.822,1.020,0.944,0.669,1.150,
+1.400,0.728,0.594,1.350,1.070,0.815,0.558,0.998,1.330,0.075,
+0.760,1.410,2.010,1.280,1.200,2.240,2.620,1.520,1.340,2.170,
+1.680,1.070,0.778,1.060,1.370,0.151,0.672,1.120,1.740,1.350,
+0.919,1.380,1.360,1.060,0.707,0.872,1.080,0.747,0.602,0.639,
+0.936,0.090,0.555,0.674,0.674,0.726,0.591,0.752,0.916,0.976,
+0.676,0.866,0.094,0.110,0.066,0.114,0.804,0.069,0.360,0.527,
+0.621,0.718,0.718,0.793,1.140,0.601,0.500,1.000,1.120,0.823,
+0.519,0.867,0.797,0.077,0.416,0.683,0.992,0.623,0.684,1.260,
+1.710,1.060,0.532,0.917,1.640,0.931,0.505,0.629,0.821,0.105,
+0.354,0.535,0.601,0.779,0.378,0.652,0.981,0.777,0.384,0.612,
+0.741,0.485,0.340,0.407,0.690,0.085,0.402,0.551,0.419,0.558,
+0.306,0.463,0.606,0.748,0.352,0.451,0.089,0.065,0.048,0.060,
+0.630,0.078,0.321,0.453,0.406,0.697,0.416,0.513,0.548,0.412,
+0.215,0.396,0.744,0.629,0.293,0.460,0.554,0.052,0.312,0.462,
+0.468,0.470,0.421,0.736,0.978,0.620,0.387,0.643,1.150,0.871,
+0.461,0.731,0.738,0.104,0.416,0.596,0.550,0.555,0.415,0.690,
+0.088,0.091,0.040,0.069,0.188,0.110,0.051,0.082,0.064,0.012,
+0.066,0.091,0.070,0.106,0.056,0.080,0.539,1.080,0.446,0.521,
+0.063,0.074,0.051,0.105,0.579,0.093,0.738,1.260,0.378,0.538,
+0.519,0.640,0.441,0.436,0.307,0.463,0.681,0.772,0.393,0.686,
+0.714,0.110,0.917,1.070,0.621,0.562,0.566,0.827,1.170,0.539,
+0.433,1.020,0.608,0.424,0.269,0.421,0.663,0.094,0.389,0.524,
+0.804,0.549,0.487,0.949,0.961,0.747,0.439,0.714,0.883,0.757,
+0.403,0.501,0.582,0.061,0.406,0.596,0.516,0.623,0.420,0.683,
+0.533,0.591,0.451,0.710,0.056,0.045,0.066,0.089,0.456,0.047,
+0.348,0.622,0.376,0.562,0.384,0.581,0.765,0.466,0.450,0.756,
+0.522,0.459,0.357,0.521,0.689,0.072,0.492,0.792,0.901,1.100,
+0.734,1.390,1.720,1.210,1.120,1.330,1.210,0.997,0.705,0.766,
+0.697,0.093,0.423,0.736,0.706,0.709,0.599,0.831,0.982,0.843,
+0.512,0.559,0.927,0.764,0.617,0.570,0.587,0.077,0.418,0.585,
+0.360,0.500,0.334,0.520,0.638,0.815,0.639,0.619,0.075,0.091,
+0.082,0.087,0.419,0.055,0.323,0.366,0.328,0.520,0.414,0.519,
+0.647,0.369,0.368,0.550,0.731,0.693,0.458,0.563,0.416,0.042,
+0.265,0.366,0.696,0.373,0.408,0.747,1.100,0.842,0.388,0.546,
+0.919,0.892,0.399,0.442,0.544,0.071,0.259,0.350,0.363,0.509,
+0.393,0.415,0.696,0.655,0.319,0.373,0.460,0.229,0.290,0.295,
+0.451,0.082,0.301,0.431,0.241,0.453,0.237,0.328,0.485,0.828,
+0.316,0.385,0.059,0.096,0.047,0.056,0.420,0.081,0.322,0.436,
+0.259,0.638,0.524,0.501,0.393,0.387,0.179,0.275,0.540,0.816,
+0.279,0.429,0.394,0.051,0.289,0.400,0.336,0.368,0.315,0.502,
+0.772,0.603,0.310,0.493,1.000,1.270,0.512,0.566,0.601,0.097,
+0.324,0.444,0.389,0.455,0.334,0.511,0.050,0.080,0.029,0.049,
+0.113,0.216,0.070,0.057,0.043,0.015,0.043,0.053,0.030,0.065,
+0.035,0.045,0.569,1.010,0.429,0.468,0.094,0.114,0.064,0.067,
+0.556,0.082,0.361,0.476,0.271,0.558,0.546,0.443,0.389,0.359,
+0.265,0.342,0.776,0.896,0.654,0.606,0.643,0.066,0.388,0.519,
+0.447,0.477,0.464,0.616,0.604,0.386,0.237,0.455,0.511,0.479,
+0.218,0.282,0.380,0.041,0.185,0.300,0.486,0.387,0.254,0.463,
+0.524,0.562,0.318,0.428,0.620,0.908,0.364,0.402,0.311,0.042,
+0.256,0.390,0.259,0.401,0.271,0.385,0.459,0.770,0.441,0.573,
+0.050,0.074,0.043,0.052,0.339,0.040,0.294,0.402,0.278,0.461,
+0.430,0.535,0.469,0.349,0.257,0.428,0.478,0.492,0.352,0.408,
+0.440,0.040,0.288,0.444,0.523,0.616,0.546,0.836,1.040,0.827,
+0.495,0.780,0.705,0.529,0.316,0.565,0.546,0.065,0.249,0.422,
+0.454,0.483,0.259,0.529,0.809,0.870,0.376,0.491,0.638,0.572,
+0.363,0.451,0.588,0.086,0.390,0.513,0.341,0.505,0.239,0.441,
+0.443,0.699,0.381,0.591,0.054,0.099,0.056,0.108,0.400,0.070,
+0.260,0.475,0.251,0.544,0.299,0.559,0.413,0.327,0.208,0.490,
+0.473,0.560,0.352,0.568,0.500,0.058,0.338,0.568,0.415,0.364,
+0.384,0.879,0.066,0.057,0.028,0.051,0.112,0.107,0.051,0.060,
+0.063,9.94e-3,0.036,0.044,0.035,0.058,0.030,0.049,0.048,0.062,
+0.024,0.036,0.063,0.081,0.037,0.047,0.055,0.019,0.050,0.048,
+0.026,0.055,0.023,0.040,0.038,0.089,0.034,0.042,9.11e-3,0.034,
+0.013,9.61e-3,0.054,0.020,0.047,0.062,0.031,0.075,0.047,0.064,
+0.032,0.038,0.020,0.039,0.072,0.151,0.060,0.080,0.054,9.69e-3,
+0.043,0.059,0.040,0.039,0.042,0.065,0.598,0.631,0.306,0.422,
+0.547,0.637,0.407,0.422,0.740,0.219,3.190,2.010,0.349,0.570,
+0.488,0.559,0.059,0.219,0.034,0.037,0.047,0.089,0.053,0.042,
+0.062,0.021,0.128,0.094,0.034,0.085,0.042,0.048,0.406,1.120,
+0.319,0.399,0.055,0.128,0.048,0.058,0.572,0.108,0.295,0.414,
+0.257,0.588,0.330,0.419,0.281,0.327,0.171,0.274,0.470,0.764,
+0.390,0.530,1.120,0.121,0.536,0.572,0.389,0.493,0.388,0.493,
+0.578,0.375,0.207,0.407,0.368,0.282,0.171,0.232,0.362,0.057,
+0.355,0.402,0.362,0.403,0.269,0.467,0.651,0.789,0.286,0.411,
+0.530,0.619,0.326,0.369,0.475,0.075,0.428,0.534,0.348,0.593,
+0.313,0.446,0.451,0.691,0.359,0.496,0.041,0.071,0.036,0.049,
+0.504,0.073,0.371,0.546,0.321,0.648,0.393,0.562,0.390,0.276,
+0.194,0.359,0.419,0.445,0.268,0.372,0.661,0.065,0.500,0.611,
+0.497,0.566,0.493,0.727,1.010,0.615,0.415,0.883,0.542,0.338,
+0.246,0.421,0.478,0.051,0.203,0.481,0.573,0.427,0.268,0.634,
+0.633,0.417,0.261,0.406,0.466,0.291,0.226,0.319,0.370,0.042,
+0.221,0.682,0.318,0.288,0.176,0.401,0.403,0.393,0.230,0.442,
+0.034,0.037,0.022,0.051,0.253,0.028,0.148,0.315,0.244,0.300,
+0.201,0.410,0.506,0.323,0.254,0.667,0.376,0.304,0.230,0.476,
+0.358,0.028,0.227,0.456,0.467,0.326,0.358,0.858,1.020,0.579,
+0.346,0.826,0.782,0.579,0.380,0.611,0.605,0.067,0.305,0.517,
+0.400,0.477,0.269,0.520,0.583,0.468,0.227,0.421,0.532,0.464,
+0.271,0.392,0.437,0.056,0.287,0.450,0.303,0.397,0.239,0.405,
+0.349,0.476,0.236,0.386,0.037,0.066,0.029,0.054,0.413,0.053,
+0.260,0.431,0.298,0.476,0.299,0.520,0.359,0.294,0.206,0.396,
+0.535,0.658,0.348,0.676,0.451,0.043,0.308,0.482,0.396,0.399,
+0.374,0.691,0.592,0.385,0.254,0.454,0.579,0.482,0.340,0.490,
+0.544,0.085,0.473,0.591,0.407,0.430,0.360,0.607,0.035,0.040,
+0.020,0.035,0.035,0.054,0.032,0.030,0.032,5.85e-3,0.031,0.042,
+0.027,0.047,0.028,0.046,0.380,0.533,0.253,0.399,0.051,0.046,
+0.027,0.050,0.453,0.060,0.276,0.406,0.290,0.494,0.358,0.455,
+0.354,0.283,0.208,0.344,0.495,0.482,0.314,0.510,0.671,0.064,
+0.439,0.569,0.416,0.425,0.474,0.652,0.805,0.408,0.302,0.800,
+0.436,0.336,0.219,0.345,0.454,0.051,0.230,0.433,0.503,0.368,
+0.313,0.715,0.642,0.437,0.248,0.484,0.433,0.413,0.254,0.353,
+0.349,0.032,0.238,0.415,0.383,0.378,0.295,0.511,0.588,0.560,
+0.346,0.637,0.042,0.037,0.023,0.056,0.514,0.051,0.326,0.537,
+0.486,0.697,0.500,0.728,0.685,0.432,0.349,0.753,0.663,0.588,
+0.400,0.607,0.746,0.056,0.588,0.977,0.978,0.846,0.876,1.210,
+1.500,0.873,0.802,1.330,1.040,0.728,0.655,0.816,0.689,0.094,
+0.456,0.598,1.010,0.929,0.464,0.877,0.789,0.713,0.324,0.498,
+0.622,0.389,0.298,0.401,0.449,0.050,0.254,0.363,0.401,0.476,
+0.276,0.449,0.623,0.527,0.432,0.664,0.065,0.054,0.042,0.086,
+0.438,0.040,0.222,0.334,0.359,0.438,0.314,0.549,0.820,0.438,
+0.405,0.790,0.707,0.448,0.383,0.601,0.430,0.038,0.225,0.403,
+0.564,0.371,0.400,0.909,1.220,0.739,0.615,0.988,1.230,0.779,
+1.600,1.540,0.643,0.087,0.279,0.443,0.597,0.669,0.319,0.608,
+0.682,0.496,0.276,0.467,0.519,0.270,0.370,0.465,0.540,0.092,
+0.247,0.372,0.342,0.466,0.216,0.350,0.670,0.659,0.401,0.589,
+0.092,0.064,0.062,0.098,0.513,0.063,0.325,0.463,0.353,0.557,
+0.363,0.583,0.539,0.355,0.229,0.472,0.795,0.572,0.385,0.599,
+0.443,0.044,0.241,0.419,0.398,0.376,0.356,0.869,0.820,0.438,
+0.282,0.517,0.814,0.524,0.600,0.592,0.776,0.111,0.235,0.376,
+0.756,0.664,0.339,0.698,0.073,0.072,0.035,0.064,0.074,0.065,
+0.052,0.060,0.073,0.013,0.038,0.050,0.078,0.133,0.048,0.082,
+0.614,0.429,0.341,0.419,0.058,0.041,0.037,0.064,0.375,0.051,
+0.224,0.346,0.288,0.417,0.290,0.507,0.442,0.236,0.220,0.421,
+0.607,0.450,0.381,0.511,0.426,0.047,0.275,0.372,0.411,0.397,
+0.369,0.649,0.920,0.404,0.293,0.705,0.450,0.291,0.280,0.389,
+0.533,0.063,0.200,0.362,0.715,0.514,0.330,0.897,0.698,0.465,
+0.327,0.593,0.497,0.366,0.304,0.377,0.481,0.044,0.249,0.410,
+0.492,0.485,0.298,0.554,0.561,0.500,0.444,0.637,0.055,0.042,
+0.041,0.071,0.405,0.041,0.279,0.429,0.430,0.551,0.443,0.660,
+0.762,0.405,0.380,0.748,0.576,0.410,0.363,0.581,0.621,0.058,
+0.457,0.836,1.110,0.929,0.844,1.790,0.099,0.070,0.095,0.071,
+0.076,0.059,0.047,0.060,0.046,6.68e-3,0.025,0.037,0.049,0.060,
+0.032,0.050,0.084,0.063,0.046,0.052,0.077,0.056,0.048,0.067,
+0.054,0.011,0.027,0.042,0.036,0.054,0.029,0.053,0.054,0.061,
+0.038,0.054,0.013,0.011,7.02e-3,0.011,0.034,6.35e-3,0.024,0.033,
+0.027,0.045,0.033,0.044,0.061,0.040,0.034,0.065,0.094,0.072,
+0.043,0.061,0.044,4.43e-3,0.025,0.038,0.051,0.032,0.039,0.074,
+0.079,0.068,0.037,0.062,0.079,0.075,0.098,0.126,0.046,9.78e-3,
+0.021,0.035,0.038,0.053,0.023,0.038,0.068,0.069,0.034,0.052,
+0.077,0.056,0.059,0.083,0.059,0.015,0.032,0.043,0.031,0.060,
+0.024,0.039,0.049,0.077,0.037,0.047,0.011,0.016,0.011,0.012,
+0.053,0.015,0.038,0.044,0.024,0.064,0.046,0.052,0.047,0.041,
+0.021,0.038,0.078,0.085,0.048,0.059,0.044,5.60e-3,0.027,0.040,
+0.033,0.039,0.033,0.068,0.048,0.035,0.022,0.030,0.065,0.068,
+0.058,0.046,0.053,0.012,0.024,0.027,0.038,0.050,0.032,0.041,
+6.10e-3,6.68e-3,5.01e-3,9.19e-3,9.69e-3,0.013,0.011,7.85e-3,8.94e-3,5.85e-3,
+8.36e-3,7.77e-3,3.76e-3,0.012,6.60e-3,7.44e-3,0.047,0.052,0.042,0.043,
+9.19e-3,0.013,0.011,7.60e-3,0.047,0.012,0.035,0.042,0.021,0.051,
+0.037,0.047,0.039,0.029,0.024,0.036,0.069,0.075,0.066,0.058,
+0.045,6.85e-3,0.037,0.042,0.038,0.042,0.038,0.059,0.065,0.048,
+0.033,0.051,0.049,0.044,0.032,0.038,0.048,7.19e-3,0.023,0.030,
+0.052,0.047,0.034,0.077,0.085,0.070,0.050,0.078,0.088,0.082,
+0.060,0.063,0.062,0.012,0.046,0.068,0.056,0.076,0.054,0.073,
+0.056,0.080,0.063,0.064,6.60e-3,0.010,7.85e-3,9.94e-3,0.051,9.28e-3,
+0.041,0.050,0.040,0.069,0.054,0.074,0.066,0.056,0.035,0.066,
+0.068,0.059,0.046,0.062,0.062,7.10e-3,0.045,0.069,0.088,0.084,
+0.082,0.146,0.821,0.495,0.315,0.577,0.477,0.390,0.242,0.436,
+0.399,0.048,0.188,0.291,0.359,0.324,0.189,0.353,0.525,0.443,
+0.218,0.333,0.415,0.337,0.273,0.309,0.412,0.051,0.343,0.356,
+0.246,0.343,0.184,0.303,0.561,0.632,0.351,0.537,0.069,0.078,
+0.057,0.104,0.378,0.051,0.233,0.339,0.250,0.411,0.240,0.392,
+0.431,0.272,0.196,0.416,0.428,0.381,0.234,0.440,0.425,0.043,
+0.246,0.403,0.344,0.284,0.279,0.644,0.054,0.048,0.023,0.046,
+0.057,0.066,0.051,0.058,0.034,7.44e-3,0.026,0.032,0.030,0.040,
+0.018,0.033,0.036,0.034,0.017,0.026,0.042,0.037,0.030,0.031,
+0.039,0.010,0.039,0.036,0.021,0.032,0.017,0.021,0.039,0.059,
+0.037,0.043,5.93e-3,0.015,0.010,0.012,0.044,0.011,0.039,0.038,
+0.025,0.049,0.030,0.040,0.050,0.036,0.021,0.045,0.070,0.079,
+0.042,0.066,0.043,7.60e-3,0.038,0.049,0.035,0.034,0.032,0.060,
+0.497,0.342,0.240,0.293,0.524,0.456,0.421,0.374,0.446,0.077,
+0.337,0.317,0.276,0.345,0.232,0.345,0.041,0.053,0.025,0.031,
+0.045,0.054,0.039,0.031,0.040,0.012,0.081,0.038,0.022,0.049,
+0.027,0.032,0.430,0.508,0.302,0.331,0.047,0.063,0.051,0.056,
+0.369,0.089,0.142,0.234,0.201,0.387,0.248,0.342,0.269,0.186,
+0.162,0.209,0.436,0.421,0.316,0.398,0.423,0.063,0.398,0.364,
+0.257,0.356,0.301,0.397,0.465,0.288,0.209,0.390,0.327,0.231,
+0.183,0.235,0.309,0.036,0.178,0.249,0.277,0.248,0.160,0.323,
+0.472,0.379,0.240,0.310,0.425,0.406,0.281,0.279,0.372,0.049,
+0.359,0.355,0.283,0.385,0.263,0.312,0.485,0.671,0.378,0.573,
+0.060,0.082,0.043,0.129,0.469,0.064,0.340,0.443,0.328,0.550,
+0.376,0.452,0.416,0.286,0.214,0.380,0.541,0.568,0.281,0.427,
+0.503,0.055,0.396,0.465,0.478,0.543,0.471,0.650,0.845,0.462,
+0.282,0.636,0.421,0.265,0.192,0.301,0.349,0.042,0.153,0.243,
+0.588,0.376,0.233,0.525,0.497,0.287,0.186,0.317,0.297,0.180,
+0.143,0.216,0.270,0.025,0.201,0.265,0.238,0.263,0.160,0.277,
+0.421,0.386,0.221,0.433,0.037,0.034,0.021,0.053,0.255,0.027,
+0.144,0.249,0.270,0.313,0.264,0.400,0.608,0.346,0.244,0.556,
+0.396,0.285,0.194,0.414,0.323,0.026,0.188,0.314,0.483,0.312,
+0.361,0.774,0.829,0.551,0.324,0.682,0.575,0.473,0.357,0.432,
+0.472,0.051,0.242,0.434,0.445,0.467,0.229,0.530,0.530,0.411,
+0.209,0.386,0.451,0.358,0.251,0.323,0.438,0.044,0.261,0.453,
+0.284,0.394,0.204,0.361,0.449,0.512,0.308,0.498,0.039,0.054,
+0.033,0.056,0.388,0.044,0.275,0.438,0.315,0.459,0.313,0.550,
+0.569,0.378,0.283,0.527,0.542,0.525,0.320,0.569,0.431,0.039,
+0.279,0.418,0.413,0.371,0.334,0.624,0.697,0.381,0.273,0.407,
+0.597,0.444,0.436,0.525,0.570,0.076,0.284,0.452,0.398,0.426,
+0.320,0.570,0.046,0.046,0.024,0.040,0.049,0.061,0.039,0.042,
+0.038,7.02e-3,0.038,0.046,0.039,0.057,0.029,0.047,0.508,0.542,
+0.315,0.488,0.046,0.046,0.034,0.069,0.452,0.051,0.265,0.377,
+0.306,0.444,0.361,0.453,0.452,0.310,0.282,0.363,0.579,0.467,
+0.393,0.524,0.520,0.053,0.419,0.463,0.420,0.432,0.482,0.607,
+0.817,0.392,0.295,0.579,0.422,0.309,0.256,0.320,0.498,0.074,
+0.238,0.401,0.422,0.349,0.267,0.651,0.585,0.408,0.259,0.428,
+0.468,0.403,0.318,0.367,0.410,0.038,0.410,0.543,0.387,0.378,
+0.338,0.512,0.660,0.692,0.438,0.698,0.057,0.062,0.036,0.076,
+0.635,0.057,0.477,0.719,0.539,0.747,0.624,0.786,0.830,0.459,
+0.394,0.799,0.760,0.649,0.466,0.668,0.757,0.058,0.551,0.934,
+0.996,0.761,0.866,1.480,1.780,1.060,0.896,1.700,1.010,0.734,
+0.459,0.701,0.853,0.084,0.378,0.634,1.340,1.090,0.525,1.160,
+0.826,0.446,0.293,0.489,0.509,0.308,0.227,0.309,0.466,0.037,
+0.230,0.304,0.448,0.457,0.209,0.415,0.653,0.497,0.336,0.670,
+0.064,0.046,0.036,0.072,0.372,0.032,0.178,0.315,0.406,0.443,
+0.288,0.537,1.130,0.558,0.434,0.941,0.810,0.510,0.367,0.655,
+0.531,0.037,0.280,0.491,0.843,0.515,0.473,1.280,1.020,0.472,
+0.393,0.671,0.619,0.348,0.384,0.442,0.433,0.043,0.189,0.322,
+0.580,0.458,0.213,0.508,0.571,0.305,0.202,0.355,0.321,0.150,
+0.150,0.229,0.325,0.027,0.170,0.231,0.304,0.280,0.151,0.283,
+0.434,0.348,0.251,0.459,0.045,0.024,0.023,0.041,0.307,0.026,
+0.138,0.232,0.297,0.328,0.234,0.386,0.467,0.241,0.180,0.376,
+0.560,0.288,0.192,0.361,0.310,0.024,0.154,0.296,0.359,0.280,
+0.258,0.736,0.783,0.361,0.298,0.570,0.610,0.370,0.315,0.457,
+0.545,0.063,0.235,0.337,0.695,0.652,0.349,0.764,0.065,0.039,
+0.029,0.069,0.056,0.038,0.032,0.055,0.049,4.76e-3,0.045,0.041,
+0.073,0.087,0.038,0.080,0.518,0.322,0.297,0.408,0.039,0.025,
+0.022,0.045,0.285,0.028,0.148,0.250,0.268,0.316,0.227,0.376,
+0.414,0.230,0.224,0.414,0.510,0.350,0.262,0.452,0.356,0.029,
+0.242,0.361,0.419,0.352,0.320,0.668,1.180,0.405,0.365,0.901,
+0.457,0.291,0.233,0.391,0.574,0.052,0.245,0.410,1.020,0.637,
+0.426,1.110,0.682,0.352,0.298,0.621,0.410,0.271,0.229,0.384,
+0.451,0.032,0.258,0.405,0.537,0.492,0.302,0.586,0.518,0.404,
+0.339,0.548,0.044,0.031,0.026,0.051,0.368,0.026,0.211,0.398,
+0.417,0.462,0.345,0.580,0.931,0.469,0.421,0.884,0.669,0.440,
+0.328,0.620,0.685,0.046,0.416,0.760,1.220,0.926,0.795,1.970,
+1.520,0.833,0.764,1.210,0.883,0.580,0.391,0.557,0.654,0.069,
+0.232,0.456,0.779,0.719,0.367,0.805,1.100,0.542,0.373,0.594,
+0.709,0.431,0.328,0.436,0.472,0.050,0.235,0.447,0.413,0.447,
+0.270,0.529,0.663,0.594,0.345,0.674,0.085,0.068,0.039,0.073,
+0.345,0.042,0.196,0.369,0.376,0.451,0.310,0.586,0.777,0.460,
+0.336,0.703,1.020,0.652,0.380,0.592,0.418,0.039,0.236,0.414,
+0.601,0.384,0.412,0.882,0.985,0.638,0.351,0.672,0.742,0.525,
+0.408,0.520,0.569,0.057,0.164,0.303,0.471,0.521,0.243,0.513,
+0.735,0.524,0.279,0.493,0.574,0.360,0.287,0.411,0.478,0.050,
+0.208,0.333,0.318,0.407,0.228,0.377,0.480,0.607,0.277,0.480,
+0.052,0.065,0.044,0.061,0.384,0.052,0.207,0.331,0.315,0.468,
+0.333,0.534,0.442,0.375,0.192,0.427,0.602,0.609,0.301,0.447,
+0.331,0.031,0.187,0.351,0.392,0.376,0.281,0.654,0.625,0.340,
+0.234,0.456,0.547,0.430,0.358,0.445,0.390,0.059,0.205,0.255,
+0.403,0.422,0.284,0.511,0.041,0.033,0.019,0.050,0.043,0.052,
+0.035,0.046,0.032,6.68e-3,0.041,0.037,0.035,0.057,0.035,0.044,
+0.481,0.454,0.345,0.453,0.045,0.043,0.038,0.058,0.375,0.044,
+0.219,0.307,0.273,0.432,0.317,0.449,0.430,0.291,0.256,0.464,
+0.662,0.590,0.478,0.548,0.436,0.041,0.298,0.437,0.420,0.363,
+0.401,0.705,0.689,0.372,0.282,0.578,0.406,0.373,0.237,0.319,
+0.396,0.041,0.183,0.288,0.490,0.385,0.314,0.668,0.622,0.421,
+0.321,0.604,0.481,0.442,0.341,0.421,0.398,0.044,0.281,0.422,
+0.435,0.564,0.370,0.601,0.468,0.512,0.395,0.603,0.043,0.045,
+0.029,0.050,0.376,0.038,0.248,0.406,0.356,0.487,0.385,0.608,
+0.632,0.409,0.328,0.616,0.597,0.493,0.348,0.448,0.536,0.047,
+0.371,0.575,0.727,0.642,0.641,1.200,0.764,0.550,0.316,0.685,
+0.433,0.375,0.212,0.426,0.362,0.037,0.179,0.303,0.494,0.377,
+0.212,0.481,0.588,0.455,0.224,0.451,0.354,0.304,0.202,0.255,
+0.353,0.038,0.291,0.303,0.288,0.405,0.203,0.403,0.498,0.674,
+0.313,0.546,0.077,0.113,0.044,0.081,0.363,0.045,0.213,0.378,
+0.279,0.433,0.246,0.539,0.517,0.603,0.233,0.607,0.520,0.663,
+0.290,0.541,0.511,0.057,0.283,0.623,0.584,0.420,0.378,1.030,
+0.044,0.037,0.020,0.042,0.037,0.040,0.022,0.032,0.030,6.10e-3,
+0.030,0.031,0.036,0.040,0.030,0.054,0.038,0.028,0.014,0.030,
+0.031,0.033,0.024,0.025,0.027,5.68e-3,0.061,0.031,0.020,0.032,
+0.021,0.031,0.032,0.052,0.028,0.039,5.85e-3,0.013,6.77e-3,6.27e-3,
+0.049,7.94e-3,0.039,0.047,0.027,0.046,0.032,0.070,0.039,0.056,
+0.020,0.057,0.063,0.106,0.042,0.072,0.044,5.60e-3,0.045,0.054,
+0.047,0.041,0.035,0.088,0.476,0.317,0.268,0.351,0.374,0.356,
+0.332,0.328,0.400,0.083,1.170,0.434,0.279,0.345,0.384,0.438,
+0.030,0.037,0.038,0.036,0.030,0.033,0.039,0.020,0.055,0.019,
+0.623,0.103,0.026,0.052,0.094,0.044,0.384,0.614,0.267,0.379,
+0.034,0.050,0.034,0.039,0.374,0.050,0.255,0.247,0.210,0.367,
+0.231,0.339,0.327,0.275,0.214,0.293,0.403,0.395,0.294,0.362,
+0.496,0.062,1.420,0.605,0.315,0.344,0.514,0.572,0.505,0.295,
+0.222,0.412,0.312,0.241,0.178,0.235,0.301,0.035,0.304,0.265,
+0.373,0.297,0.236,0.445,0.552,0.418,0.289,0.444,0.355,0.381,
+0.257,0.261,0.381,0.055,1.030,0.460,0.369,0.444,0.401,0.464,
+0.506,0.753,0.389,0.694,0.107,0.183,0.040,0.068,0.435,0.054,
+0.308,0.404,0.398,0.553,0.398,0.559,0.467,0.374,0.285,0.542,
+0.513,0.723,0.283,0.450,0.599,0.075,0.613,0.572,0.574,0.729,
+0.580,0.915,1.570,0.636,0.459,1.140,0.555,0.340,0.251,0.458,
+0.520,0.048,0.208,0.431,0.791,0.539,0.329,0.887,0.651,0.348,
+0.229,0.454,0.378,0.233,0.177,0.321,0.369,0.028,0.201,0.326,
+0.328,0.306,0.183,0.387,0.555,0.469,0.282,0.693,0.038,0.045,
+0.024,0.065,0.378,0.034,0.176,0.348,0.402,0.388,0.264,0.569,
+0.936,0.509,0.361,0.955,0.627,0.465,0.294,0.640,0.516,0.043,
+0.321,0.713,0.908,0.545,0.540,1.630,0.743,0.396,0.250,0.594,
+0.432,0.296,0.207,0.302,0.399,0.040,0.171,0.349,0.456,0.440,
+0.235,0.787,0.517,0.322,0.181,0.394,0.332,0.218,0.151,0.238,
+0.362,0.031,0.208,0.387,0.278,0.348,0.220,0.475,0.397,0.388,
+0.253,0.489,0.029,0.031,0.025,0.038,0.344,0.032,0.239,0.374,
+0.336,0.389,0.298,0.640,0.491,0.322,0.255,0.530,0.522,0.424,
+0.271,0.488,0.399,0.031,0.271,0.444,0.437,0.382,0.350,0.941,
+0.808,0.403,0.354,0.583,0.616,0.402,0.356,0.543,0.564,0.064,
+0.422,0.464,0.528,0.516,0.437,0.824,0.047,0.036,0.027,0.053,
+0.035,0.038,0.028,0.036,0.037,6.35e-3,0.106,0.046,0.042,0.057,
+0.040,0.063,0.636,0.605,0.434,0.989,0.040,0.037,0.032,0.084,
+0.508,0.046,0.307,0.421,0.408,0.500,0.458,0.655,0.746,0.448,
+0.412,0.715,0.774,0.537,0.462,0.718,0.825,0.112,1.050,0.795,
+0.639,0.567,0.790,1.070,1.540,0.569,0.452,1.010,0.628,0.496,
+0.328,0.474,0.695,0.059,0.326,0.590,0.991,0.670,0.526,1.400,
+0.904,0.535,0.340,0.707,0.631,0.626,0.363,0.464,0.774,0.050,
+0.470,0.674,0.681,0.585,0.432,0.924,0.960,0.953,0.589,1.180,
+0.061,0.068,0.034,0.073,0.780,0.057,0.496,0.880,0.883,0.929,
+0.774,1.340,1.650,0.796,0.760,1.620,1.080,0.823,0.604,1.130,
+1.260,0.083,0.876,1.480,2.070,1.400,1.420,2.910,2.620,1.360,
+1.230,2.040,1.570,1.170,0.803,1.040,1.690,0.171,0.669,1.110,
+2.000,1.600,0.848,1.530,1.730,1.080,0.718,1.070,1.230,0.797,
+0.612,0.621,0.996,0.085,0.514,0.648,0.766,0.741,0.521,0.800,
+1.480,1.030,0.706,0.993,0.137,0.139,0.080,0.143,0.830,0.090,
+0.396,0.589,0.768,0.923,0.555,0.842,1.830,0.869,0.762,1.320,
+1.340,0.963,0.760,1.160,0.896,0.079,0.468,0.750,1.390,0.769,
+0.743,1.350,1.990,1.130,0.611,1.020,1.240,0.938,0.530,0.658,
+0.956,0.115,0.321,0.540,0.718,0.797,0.359,0.656,1.360,0.958,
+0.440,0.705,0.896,0.600,0.409,0.408,0.802,0.103,0.362,0.549,
+0.458,0.657,0.321,0.464,0.988,0.967,0.395,0.584,0.084,0.084,
+0.047,0.062,0.790,0.086,0.379,0.493,0.461,0.748,0.418,0.579,
+0.715,0.486,0.287,0.491,0.768,0.727,0.358,0.491,0.663,0.063,
+0.372,0.476,0.566,0.514,0.477,0.746,0.984,0.485,0.383,0.612,
+1.110,0.473,0.366,0.484,0.699,0.084,0.275,0.488,0.627,0.497,
+0.358,0.694,0.077,0.062,0.036,0.054,0.110,0.057,0.035,0.043,
+0.062,0.013,0.034,0.052,0.072,0.090,0.046,0.072,0.735,0.540,
+0.334,0.374,0.069,0.049,0.037,0.044,0.532,0.088,0.227,0.341,
+0.274,0.434,0.317,0.295,0.503,0.323,0.274,0.378,0.650,0.558,
+0.331,0.450,0.558,0.064,0.311,0.472,0.508,0.442,0.441,0.606,
+1.410,0.615,0.418,0.924,0.808,0.410,0.320,0.497,0.667,0.071,
+0.293,0.875,0.887,0.601,0.452,1.250,1.040,0.688,0.404,0.606,
+1.320,0.565,0.376,0.426,0.687,0.055,0.325,0.545,0.613,0.610,
+0.385,0.692,1.010,0.725,0.479,0.687,0.159,0.062,0.049,0.073,
+0.552,0.057,0.312,0.538,0.515,0.605,0.411,0.575,0.924,0.581,
+0.520,0.829,0.711,0.527,0.430,0.595,0.769,0.065,0.456,0.790,
+0.951,0.857,0.727,1.310,2.000,1.390,1.050,1.350,1.190,1.050,
+0.658,0.738,0.788,0.106,0.421,0.651,0.785,0.996,0.447,0.858,
+1.320,1.110,0.584,0.733,1.070,0.780,0.586,0.590,0.596,0.083,
+0.388,0.556,0.419,0.571,0.355,0.564,0.664,0.930,0.456,0.600,
+0.089,0.123,0.070,0.089,0.563,0.069,0.350,0.394,0.373,0.618,
+0.360,0.559,0.797,0.482,0.383,0.571,0.822,0.846,0.440,0.608,
+0.456,0.056,0.253,0.402,0.580,0.423,0.420,0.886,1.350,1.190,
+0.420,0.617,0.998,1.150,0.481,0.477,0.618,0.102,0.267,0.396,
+0.425,0.647,0.245,0.443,0.888,0.948,0.357,0.429,0.741,0.512,
+0.417,0.372,0.572,0.101,0.293,0.479,0.308,0.610,0.272,0.376,
+0.573,0.993,0.317,0.428,0.075,0.160,0.061,0.057,0.683,0.139,
+0.322,0.464,0.366,1.080,0.375,0.536,0.482,0.458,0.202,0.310,
+0.688,1.000,0.326,0.386,0.503,0.063,0.236,0.333,0.411,0.563,
+0.354,0.549,0.663,0.500,0.269,0.421,0.823,0.680,0.480,0.433,
+0.519,0.076,0.319,0.372,0.327,0.389,0.302,0.404,0.049,0.096,
+0.030,0.045,0.068,0.107,0.060,0.038,0.065,0.023,0.047,0.070,
+0.036,0.073,0.035,0.045,0.523,0.771,0.386,0.413,0.071,0.099,
+0.067,0.061,0.634,0.093,0.332,0.439,0.260,0.611,0.406,0.369,
+0.389,0.313,0.226,0.312,0.757,0.805,0.523,0.501,0.559,0.060,
+0.378,0.441,0.446,0.401,0.395,0.479,0.583,0.374,0.230,0.374,
+0.473,0.393,0.248,0.262,0.368,0.041,0.156,0.306,0.329,0.313,
+0.199,0.416,0.581,0.636,0.287,0.407,0.663,0.602,0.370,0.339,
+0.669,0.060,0.229,0.349,0.316,0.463,0.247,0.389,0.557,0.800,
+0.372,0.435,0.061,0.072,0.037,0.042,0.457,0.072,0.291,0.403,
+0.314,0.601,0.459,0.482,0.479,0.401,0.270,0.394,0.496,0.547,
+0.298,0.423,0.543,0.088,0.315,0.477,0.560,0.668,0.582,0.788,
+0.802,0.613,0.329,0.729,0.461,0.392,0.258,0.457,0.425,0.049,
+0.181,0.316,0.384,0.417,0.192,0.426,0.665,0.624,0.307,0.457,
+0.474,0.390,0.276,0.316,0.459,0.065,0.270,0.335,0.282,0.467,
+0.216,0.351,0.548,0.866,0.417,0.622,0.078,0.112,0.052,0.098,
+0.381,0.064,0.250,0.299,0.256,0.486,0.250,0.395,0.548,0.366,
+0.245,0.466,0.444,0.521,0.268,0.434,0.400,0.053,0.289,0.402,
+0.426,0.403,0.341,0.897,0.048,0.054,0.023,0.050,0.057,0.079,
+0.035,0.038,0.054,0.012,0.025,0.029,0.030,0.055,0.020,0.037,
+0.054,0.062,0.034,0.048,0.060,0.073,0.038,0.036,0.058,0.017,
+0.038,0.040,0.028,0.062,0.028,0.032,0.038,0.096,0.031,0.039,
+0.013,0.033,0.012,0.011,0.055,0.020,0.040,0.043,0.026,0.086,
+0.034,0.043,0.049,0.047,0.022,0.041,0.077,0.181,0.061,0.066,
+0.051,0.014,0.044,0.049,0.045,0.056,0.044,0.075,0.392,0.287,
+0.156,0.279,0.397,0.334,0.245,0.253,0.401,0.062,0.179,0.246,
+0.227,0.275,0.170,0.259,0.037,0.045,0.018,0.021,0.033,0.041,
+0.027,0.019,0.036,0.010,0.026,0.030,0.025,0.052,0.023,0.027,
+0.302,0.430,0.231,0.229,0.043,0.054,0.033,0.032,0.346,0.058,
+0.148,0.265,0.173,0.332,0.216,0.236,0.229,0.181,0.135,0.163,
+0.304,0.354,0.266,0.241,0.405,0.046,0.237,0.297,0.205,0.269,
+0.219,0.285,0.483,0.324,0.167,0.474,0.335,0.233,0.130,0.164,
+0.299,0.032,0.103,0.216,0.275,0.233,0.134,0.310,0.576,0.382,
+0.190,0.257,0.476,0.373,0.222,0.209,0.322,0.040,0.179,0.260,
+0.274,0.399,0.201,0.296,0.417,0.460,0.263,0.311,0.149,0.065,
+0.033,0.039,0.421,0.049,0.229,0.341,0.296,0.487,0.304,0.388,
+0.462,0.271,0.224,0.239,0.430,0.420,0.247,0.289,0.513,0.060,
+0.359,0.502,0.463,0.552,0.394,0.637,0.989,0.653,0.453,0.964,
+0.474,0.339,0.226,0.334,0.402,0.045,0.211,0.376,0.540,0.453,
+0.295,0.684,0.612,0.350,0.220,0.444,0.443,0.203,0.162,0.220,
+0.286,0.025,0.193,0.237,0.245,0.256,0.167,0.291,0.495,0.435,
+0.263,0.492,0.047,0.044,0.025,0.056,0.314,0.030,0.167,0.261,
+0.264,0.324,0.194,0.357,0.669,0.400,0.348,0.784,0.537,0.412,
+0.272,0.482,0.393,0.038,0.466,0.461,0.732,0.474,0.452,1.060,
+0.840,0.561,0.337,0.756,0.626,0.563,0.271,0.399,0.518,0.059,
+0.210,0.369,0.405,0.490,0.219,0.434,0.678,0.568,0.278,0.754,
+0.571,0.481,0.271,0.364,0.472,0.061,0.229,0.364,0.292,0.452,
+0.203,0.335,0.383,0.526,0.213,0.372,0.040,0.079,0.030,0.045,
+0.403,0.056,0.233,0.353,0.326,0.579,0.300,0.419,0.392,0.318,
+0.191,0.375,0.534,0.689,0.268,0.484,0.398,0.042,0.293,0.394,
+0.409,0.441,0.328,0.612,0.513,0.284,0.178,0.333,0.427,0.292,
+0.206,0.256,0.430,0.100,0.249,0.374,0.336,0.419,0.235,0.404,
+0.035,0.031,0.015,0.030,0.034,0.031,0.019,0.019,0.029,8.36e-3,
+0.024,0.049,0.032,0.045,0.021,0.034,0.305,0.381,0.203,0.261,
+0.028,0.034,0.025,0.033,0.378,0.047,0.182,0.331,0.221,0.394,
+0.253,0.323,0.285,0.221,0.235,0.263,0.396,0.383,0.270,0.333,
+0.452,0.042,0.240,0.390,0.324,0.333,0.309,0.474,0.956,0.376,
+0.236,0.510,0.493,0.371,0.187,0.272,0.508,0.043,0.166,0.324,
+0.555,0.380,0.323,0.715,0.567,0.316,0.185,0.305,0.561,0.314,
+0.192,0.243,0.335,0.026,0.188,0.356,0.332,0.332,0.211,0.432,
+0.659,0.531,0.307,0.498,0.070,0.044,0.027,0.049,0.491,0.044,
+0.274,0.480,0.439,0.586,0.450,0.614,0.767,0.459,0.339,0.707,
+0.695,0.625,0.358,0.581,0.791,0.057,0.470,0.862,1.080,0.829,
+0.735,1.420,1.700,1.180,1.030,1.490,1.150,0.982,0.592,0.782,
+0.935,0.123,0.464,0.697,1.030,1.050,0.524,0.901,1.240,1.030,
+0.593,0.854,1.030,0.962,0.636,0.583,0.736,0.091,0.553,0.610,
+0.499,0.686,0.507,0.593,0.588,0.648,0.425,0.551,0.064,0.082,
+0.055,0.077,0.493,0.065,0.330,0.394,0.375,0.552,0.393,0.474,
+0.767,0.477,0.401,0.693,0.712,0.708,0.421,0.653,0.480,0.051,
+0.299,0.457,0.651,0.467,0.477,0.828,1.470,1.010,0.476,0.804,
+1.060,0.994,0.407,0.505,0.757,0.106,0.320,0.462,0.511,0.694,
+0.266,0.490,1.040,1.130,0.436,1.020,0.965,0.859,0.412,0.504,
+0.863,0.195,0.715,0.842,0.446,0.863,0.324,0.425,0.488,0.771,
+0.316,0.367,0.066,0.119,0.055,0.055,0.641,0.106,0.405,0.420,
+0.443,0.676,0.415,0.397,0.382,0.370,0.202,0.299,0.601,0.831,
+0.333,0.387,0.460,0.063,0.274,0.354,0.414,0.436,0.417,0.548,
+0.603,0.425,0.326,0.426,0.635,0.517,0.319,0.380,0.624,0.076,
+0.256,0.341,0.380,0.401,0.260,0.453,0.053,0.065,0.034,0.046,
+0.058,0.075,0.041,0.041,0.059,0.014,0.039,0.052,0.052,0.081,
+0.037,0.048,0.300,0.429,0.349,0.282,0.041,0.047,0.035,0.045,
+0.418,0.063,0.291,0.355,0.218,0.413,0.261,0.281,0.291,0.270,
+0.596,0.339,0.444,0.501,0.302,0.376,0.462,0.062,0.303,0.386,
+0.315,0.382,0.354,0.471,0.693,0.331,0.282,0.492,0.393,0.288,
+0.172,0.253,0.514,0.042,0.160,0.288,0.488,0.368,0.227,0.546,
+0.596,0.503,0.323,0.462,0.574,0.653,0.333,0.362,0.514,0.055,
+0.272,0.408,0.317,0.482,0.247,0.418,0.315,0.379,0.277,0.341,
+0.033,0.039,0.031,0.040,0.351,0.044,0.251,0.350,0.250,0.403,
+0.250,0.347,0.493,0.443,1.120,0.644,0.345,0.412,0.336,0.388,
+0.535,0.060,0.333,0.480,0.598,0.662,0.516,0.889,1.680,1.210,
+0.764,0.980,1.090,1.110,0.563,0.608,0.564,0.079,0.283,0.429,
+0.505,0.628,0.300,0.509,1.120,1.060,0.539,0.613,1.060,1.260,
+0.728,0.608,0.566,0.102,0.403,0.513,0.314,0.602,0.301,0.431,
+0.506,0.792,0.514,0.471,0.062,0.114,0.071,0.075,0.416,0.077,
+0.390,0.332,0.335,0.565,0.433,0.448,0.538,0.368,0.316,0.438,
+0.578,0.823,0.357,0.421,0.350,0.042,0.240,0.297,0.599,0.351,
+0.326,0.544,1.240,0.929,0.346,0.448,0.753,1.090,0.347,0.383,
+0.506,0.082,0.242,0.289,0.313,0.533,0.181,0.320,0.581,0.489,
+0.250,0.309,0.235,0.251,0.165,0.217,0.377,0.133,0.206,0.282,
+0.177,0.480,0.148,0.217,0.382,0.866,0.299,0.328,0.072,0.232,
+0.068,0.065,0.430,0.119,0.268,0.352,0.234,0.753,0.355,0.391,
+0.328,0.385,0.173,0.230,0.547,1.260,0.314,0.383,0.348,0.066,
+0.238,0.316,0.380,0.449,0.254,0.359,0.494,0.440,0.204,0.306,
+0.689,0.884,0.456,0.390,0.430,0.075,0.244,0.315,0.261,0.381,
+0.251,0.355,0.038,0.084,0.029,0.043,0.071,0.211,0.074,0.058,
+0.050,0.026,0.046,0.053,0.027,0.076,0.030,0.036,0.373,0.628,
+0.361,0.350,0.064,0.119,0.070,0.061,0.475,0.085,0.292,0.383,
+0.244,0.747,0.397,0.371,0.267,0.261,0.208,0.249,0.552,0.904,
+0.516,0.501,0.500,0.065,0.364,0.397,0.314,0.432,0.392,0.479,
+0.413,0.301,0.156,0.280,0.364,0.415,0.172,0.198,0.320,0.038,
+0.137,0.197,0.256,0.267,0.159,0.292,0.424,0.573,0.279,0.374,
+0.566,1.200,0.400,0.410,0.339,0.065,0.257,0.330,0.186,0.460,
+0.245,0.308,0.295,0.535,0.291,0.332,0.033,0.086,0.035,0.040,
+0.320,0.051,0.330,0.371,0.207,0.462,0.376,0.419,0.302,0.315,
+0.222,0.322,0.345,0.611,0.259,0.397,0.376,0.046,0.279,0.355,
+0.363,0.505,0.650,0.736,0.723,0.651,0.298,0.619,0.550,0.519,
+0.275,0.682,0.896,0.070,0.190,0.305,0.348,0.387,0.165,0.380,
+0.663,0.860,0.285,0.487,0.645,0.808,0.387,0.491,0.536,0.092,
+0.446,0.465,0.271,0.532,0.229,0.373,0.404,0.898,0.340,0.483,
+0.084,0.268,0.056,0.108,0.427,0.104,0.249,0.348,0.227,0.610,
+0.262,0.355,0.353,0.397,0.179,0.436,0.492,1.190,0.300,0.497,
+0.396,0.071,0.282,0.402,0.333,0.394,0.332,0.676,0.050,0.059,
+0.020,0.040,0.078,0.137,0.050,0.061,0.258,0.021,0.035,0.043,
+0.043,0.060,0.021,0.036,0.044,0.082,0.030,0.089,0.084,0.195,
+0.073,0.060,0.070,0.031,0.070,0.062,0.026,0.076,0.026,0.036,
+0.042,0.216,0.034,0.037,0.027,0.150,0.023,0.017,0.067,0.046,
+0.052,0.060,0.026,0.108,0.043,0.039,0.032,0.095,0.016,0.032,
+0.130,0.623,0.071,0.094,0.055,0.029,0.044,0.051,0.029,0.064,
+0.035,0.056,0.413,0.372,0.167,0.267,0.444,0.590,0.317,0.330,
+0.520,0.099,0.318,0.341,0.283,0.393,0.218,0.328,0.035,0.070,
+0.026,0.027,0.047,0.115,0.055,0.037,0.066,0.026,0.054,0.046,
+0.028,0.076,0.032,0.039,0.270,0.562,0.235,0.248,0.047,0.095,
+0.045,0.042,0.494,0.090,0.204,0.334,0.222,0.508,0.246,0.276,
+0.197,0.220,0.125,0.195,0.413,0.720,0.327,0.389,0.783,0.107,
+0.398,0.453,0.291,0.424,0.284,0.379,0.419,0.268,0.126,0.248,
+0.273,0.258,0.124,0.164,0.299,0.038,0.137,0.214,0.235,0.248,
+0.127,0.299,0.521,0.564,0.234,0.292,0.550,0.724,0.366,0.346,
+0.491,0.084,0.376,0.469,0.284,0.546,0.265,0.365,0.412,0.595,
+0.279,0.321,0.049,0.087,0.039,0.043,0.497,0.083,0.342,0.446,
+0.266,0.655,0.332,0.453,0.381,0.276,0.169,0.300,0.343,0.574,
+0.237,0.322,0.557,0.066,0.446,0.549,0.403,0.573,0.428,0.623,
+0.670,0.422,0.274,0.588,0.409,0.317,0.175,0.331,0.429,0.044,
+0.161,0.306,0.378,0.371,0.160,0.500,0.514,0.449,0.196,0.331,
+0.402,0.362,0.179,0.251,0.267,0.031,0.174,0.259,0.215,0.248,
+0.121,0.255,0.399,0.445,0.215,0.385,0.034,0.058,0.021,0.047,
+0.267,0.033,0.137,0.222,0.194,0.264,0.170,0.269,0.419,0.335,
+0.243,0.847,0.318,0.415,0.176,0.420,0.285,0.032,0.182,0.364,
+0.364,0.290,0.260,0.722,0.600,0.454,0.214,0.440,0.547,0.611,
+0.276,0.396,0.855,0.079,0.255,0.360,0.338,0.464,0.176,0.369,
+0.505,0.621,0.223,0.486,0.688,0.955,0.369,0.483,0.459,0.077,
+0.316,0.452,0.272,0.487,0.212,0.329,0.310,0.728,0.231,0.301,
+0.052,0.197,0.036,0.053,0.390,0.083,0.258,0.336,0.251,0.555,
+0.305,0.326,0.244,0.318,0.154,0.313,0.494,1.120,0.298,0.554,
+0.361,0.056,0.268,0.348,0.286,0.368,0.278,0.496,0.463,0.278,
+0.154,0.261,0.432,0.388,0.242,0.303,0.424,0.068,0.213,0.339,
+0.311,0.352,0.204,0.395,0.030,0.033,0.016,0.024,0.030,0.064,
+0.027,0.025,0.029,8.27e-3,0.024,0.034,0.022,0.039,0.021,0.029,
+0.230,0.342,0.181,0.226,0.026,0.040,0.021,0.034,0.387,0.061,
+0.254,0.451,0.220,0.415,0.272,0.332,0.205,0.206,0.144,0.220,
+0.349,0.425,0.260,0.374,0.496,0.056,0.332,0.460,0.293,0.353,
+0.331,0.522,0.565,0.287,0.165,0.330,0.306,0.257,0.150,0.202,
+0.317,0.031,0.135,0.234,0.331,0.258,0.191,0.454,0.537,0.317,
+0.156,0.262,0.397,0.426,0.210,0.277,0.302,0.028,0.184,0.296,
+0.245,0.302,0.200,0.401,0.410,0.399,0.237,0.341,0.038,0.040,
+0.022,0.041,0.401,0.043,0.271,0.418,0.294,0.465,0.357,0.479,
+0.441,0.311,0.233,0.499,0.462,0.550,0.289,0.474,0.557,0.048,
+0.404,0.681,0.651,0.672,0.638,0.999,1.210,0.745,1.070,1.100,
+0.881,0.606,0.503,0.546,0.606,0.072,0.321,0.554,0.767,0.657,
+0.360,0.704,0.727,0.548,0.432,0.456,0.699,0.407,0.354,0.361,
+0.385,0.042,0.266,0.312,0.343,0.423,0.277,0.421,0.552,0.512,
+0.317,0.474,0.059,0.046,0.037,0.066,0.349,0.038,0.207,0.266,
+0.271,0.357,0.246,0.380,0.616,0.335,0.284,0.545,0.574,0.430,
+0.306,0.462,0.349,0.030,0.183,0.293,0.477,0.299,0.370,0.743,
+1.040,0.983,0.445,0.712,0.993,0.840,0.703,0.613,0.541,0.078,
+0.205,0.304,0.433,0.550,0.231,0.449,0.778,0.783,0.335,0.438,
+0.646,0.523,0.456,0.368,0.610,0.100,0.308,0.399,0.330,0.557,
+0.242,0.341,0.555,0.819,0.396,0.547,0.068,0.092,0.061,0.074,
+0.582,0.097,0.407,0.496,0.309,0.637,0.394,0.499,0.388,0.328,
+0.189,0.344,0.588,0.639,0.339,0.449,0.376,0.045,0.204,0.323,
+0.345,0.350,0.368,0.677,0.640,0.370,0.232,0.439,0.774,0.502,
+0.376,0.446,0.840,0.147,0.189,0.307,0.996,0.780,0.286,0.566,
+0.053,0.057,0.028,0.095,0.063,0.064,0.049,0.050,0.077,0.023,
+0.035,0.044,0.089,0.167,0.043,0.068,0.388,0.497,0.292,0.385,
+0.055,0.051,0.041,0.060,0.370,0.060,0.183,0.251,0.259,0.434,
+0.262,0.351,0.298,0.206,0.162,0.267,0.456,0.468,0.347,0.420,
+0.371,0.048,0.213,0.276,0.386,0.340,0.282,0.498,0.689,0.315,
+0.244,0.462,0.405,0.242,0.216,0.296,0.417,0.047,0.145,0.259,
+0.675,0.456,0.250,0.636,0.520,0.412,0.273,0.447,0.487,0.375,
+0.308,0.348,0.461,0.055,0.225,0.344,0.450,0.545,0.262,0.470,
+0.391,0.440,0.343,0.467,0.051,0.046,0.040,0.060,0.390,0.046,
+0.268,0.374,0.357,0.523,0.396,0.513,0.535,0.325,0.277,0.529,
+0.403,0.349,0.329,0.458,0.514,0.060,0.374,0.545,0.782,0.737,
+0.667,1.230,0.098,0.066,0.356,0.106,0.057,0.060,0.052,0.041,
+0.037,8.27e-3,0.027,0.027,0.034,0.046,0.029,0.043,0.075,0.074,
+0.101,0.058,0.131,0.086,0.090,0.067,0.049,0.015,0.043,0.038,
+0.031,0.055,0.031,0.035,0.038,0.098,0.039,0.037,9.44e-3,0.016,
+9.36e-3,8.61e-3,0.034,8.11e-3,0.027,0.032,0.019,0.041,0.032,0.036,
+0.042,0.035,0.027,0.037,0.065,0.080,0.043,0.050,0.059,7.69e-3,
+0.023,0.032,0.058,0.036,0.051,0.077,0.068,0.106,0.039,0.035,
+0.071,0.120,0.059,0.040,0.042,0.018,0.020,0.025,0.022,0.052,
+0.019,0.027,0.078,0.119,0.043,0.040,0.123,0.168,0.088,0.060,
+0.091,0.049,0.046,0.045,0.034,0.089,0.033,0.031,0.050,0.131,
+0.049,0.043,0.018,0.058,0.025,0.013,0.073,0.036,0.058,0.054,
+0.025,0.094,0.062,0.052,0.032,0.036,0.019,0.026,0.066,0.115,
+0.053,0.045,0.043,0.010,0.026,0.028,0.030,0.040,0.034,0.053,
+0.034,0.029,0.022,0.054,0.050,0.063,0.045,0.043,0.062,0.024,
+0.024,0.025,0.039,0.067,0.023,0.031,6.52e-3,0.012,8.36e-3,0.050,
+0.013,0.024,0.022,0.013,0.016,0.016,0.012,0.012,5.52e-3,0.021,
+8.86e-3,7.35e-3,0.033,0.059,0.047,0.059,0.011,0.023,0.021,0.013,
+0.066,0.025,0.040,0.047,0.022,0.072,0.045,0.041,0.025,0.023,
+0.021,0.028,0.054,0.095,0.064,0.049,0.051,0.015,0.040,0.040,
+0.025,0.036,0.037,0.045,0.039,0.031,0.023,0.031,0.030,0.029,
+0.020,0.022,0.028,5.77e-3,0.014,0.020,0.038,0.039,0.025,0.044,
+0.075,0.077,0.041,0.093,0.080,0.089,0.058,0.061,0.065,0.020,
+0.034,0.048,0.039,0.083,0.037,0.050,0.029,0.055,0.042,0.042,
+7.10e-3,0.012,7.19e-3,9.78e-3,0.046,0.015,0.041,0.048,0.031,0.064,
+0.046,0.049,0.035,0.033,0.023,0.035,0.036,0.048,0.033,0.039,
+0.045,7.27e-3,0.042,0.050,0.046,0.061,0.061,0.087,0.855,0.645,
+0.381,0.578,0.615,0.598,0.338,0.456,0.554,0.068,0.213,0.326,
+0.398,0.412,0.193,0.416,0.666,0.692,0.296,0.391,0.630,0.646,
+0.546,0.400,0.484,0.081,0.361,0.383,0.281,0.508,0.241,0.378,
+0.448,0.685,0.372,0.585,0.073,0.111,0.070,0.125,0.441,0.076,
+0.319,0.391,0.246,0.509,0.275,0.418,0.439,0.289,0.186,0.381,
+0.467,0.502,0.297,0.527,0.398,0.059,0.254,0.513,0.378,0.342,
+0.325,0.887,0.066,0.063,0.030,0.045,0.084,0.143,0.066,0.058,
+0.056,0.014,0.040,0.044,0.034,0.051,0.022,0.044,0.056,0.067,
+0.025,0.034,0.077,0.103,0.085,0.057,0.070,0.027,0.067,0.061,
+0.029,0.061,0.027,0.035,0.039,0.090,0.039,0.063,0.013,0.034,
+0.021,0.015,0.066,0.029,0.078,0.071,0.026,0.078,0.046,0.055,
+0.043,0.035,0.019,0.042,0.081,0.133,0.059,0.083,0.051,0.010,
+0.040,0.056,0.030,0.037,0.033,0.073,0.474,0.418,0.190,0.254,
+0.541,0.654,0.424,0.385,0.462,0.093,0.238,0.280,0.298,0.415,
+0.239,0.356,0.037,0.070,0.025,0.031,0.051,0.094,0.065,0.039,
+0.050,0.022,0.050,0.037,0.031,0.076,0.034,0.039,0.429,0.571,
+0.329,0.339,0.061,0.085,0.076,0.061,0.397,0.068,0.120,0.240,
+0.199,0.437,0.314,0.359,0.251,0.201,0.149,0.184,0.417,0.554,
+0.430,0.380,0.376,0.064,0.296,0.336,0.225,0.326,0.311,0.407,
+0.475,0.271,0.179,0.323,0.339,0.252,0.162,0.196,0.285,0.041,
+0.148,0.203,0.297,0.265,0.162,0.369,0.515,0.498,0.234,0.305,
+0.541,0.608,0.424,0.334,0.430,0.068,0.358,0.358,0.350,0.527,
+0.296,0.403,0.497,0.687,0.383,0.528,0.091,0.095,0.056,0.070,
+0.633,0.085,0.566,0.545,0.370,0.649,0.461,0.526,0.391,0.284,
+0.184,0.329,0.445,0.495,0.307,0.390,0.464,0.059,0.405,0.491,
+0.412,0.547,0.457,0.675,0.773,0.415,0.263,0.515,0.403,0.311,
+0.195,0.301,0.357,0.045,0.165,0.298,0.408,0.390,0.179,0.845,
+0.469,0.338,0.176,0.248,0.333,0.229,0.167,0.176,0.252,0.031,
+0.421,0.234,0.225,0.345,0.170,0.268,0.375,0.369,0.203,0.376,
+0.038,0.038,0.021,0.049,0.339,0.036,0.164,0.250,0.332,0.388,
+0.227,0.404,0.507,0.257,0.182,0.402,0.372,0.294,0.187,0.351,
+0.307,0.031,0.182,0.281,0.614,0.368,0.291,0.786,0.736,0.591,
+0.318,0.632,0.661,0.781,0.466,0.459,0.416,0.065,0.256,0.359,
+0.327,0.426,0.199,0.476,0.647,0.743,0.276,0.413,0.709,0.651,
+0.436,0.409,0.527,0.080,0.329,0.503,0.290,0.479,0.238,0.391,
+0.449,0.703,0.341,0.600,0.053,0.097,0.048,0.081,0.580,0.092,
+0.394,0.578,0.359,0.734,0.396,0.707,0.452,0.349,0.225,0.373,
+0.584,0.703,0.398,0.631,0.439,0.052,0.286,0.450,0.384,0.412,
+0.317,0.659,0.507,0.369,0.222,0.304,0.531,0.502,0.370,0.408,
+0.674,0.184,0.268,0.432,0.375,0.639,0.243,0.474,0.036,0.037,
+0.017,0.036,0.048,0.058,0.046,0.041,0.041,0.011,0.038,0.042,
+0.031,0.066,0.028,0.037,0.391,0.535,0.295,0.380,0.047,0.068,
+0.045,0.062,0.532,0.079,0.349,0.444,0.279,0.530,0.388,0.445,
+0.336,0.266,0.232,0.293,0.542,0.539,0.519,0.541,0.502,0.061,
+0.367,0.460,0.363,0.396,0.407,0.592,0.625,0.324,0.228,0.406,
+0.370,0.291,0.235,0.300,0.386,0.051,0.171,0.305,0.453,0.392,
+0.243,0.639,0.481,0.377,0.199,0.309,0.434,0.388,0.309,0.373,
+0.367,0.036,0.286,0.385,0.324,0.380,0.263,0.442,0.518,0.693,
+0.501,0.618,0.052,0.062,0.042,0.062,0.675,0.075,0.593,0.765,
+0.486,0.726,0.617,0.801,0.630,0.418,0.337,0.627,0.643,0.594,
+0.485,0.621,0.667,0.053,0.548,0.826,0.815,0.724,0.797,1.050,
+0.984,0.593,0.655,1.030,0.591,0.466,0.278,0.428,0.517,0.054,
+0.204,0.384,0.819,0.648,0.286,0.729,0.625,0.386,0.249,0.370,
+0.415,0.264,0.189,0.228,0.326,0.032,0.156,0.215,0.380,0.445,
+0.201,0.370,0.436,0.399,0.235,0.426,0.038,0.034,0.022,0.052,
+0.293,0.024,0.121,0.208,0.311,0.362,0.220,0.400,0.633,0.365,
+0.264,0.537,0.468,0.377,0.212,0.376,0.328,0.027,0.176,0.272,
+0.532,0.351,0.352,0.903,0.829,0.499,0.271,0.532,0.521,0.361,
+0.257,0.319,0.321,0.037,0.118,0.237,0.364,0.344,0.161,0.373,
+0.476,0.356,0.159,0.274,0.305,0.237,0.139,0.177,0.316,0.032,
+0.119,0.215,0.271,0.291,0.137,0.262,0.328,0.344,0.182,0.312,
+0.026,0.032,0.023,0.030,0.300,0.027,0.133,0.205,0.240,0.331,
+0.225,0.323,0.310,0.228,0.120,0.263,0.321,0.300,0.149,0.238,
+0.242,0.022,0.103,0.206,0.299,0.263,0.263,0.549,0.509,0.239,
+0.193,0.348,0.388,0.245,0.204,0.287,0.355,0.048,0.109,0.216,
+0.465,0.352,0.187,0.500,0.028,0.024,0.016,0.033,0.027,0.022,
+0.014,0.022,0.025,3.68e-3,0.012,0.018,0.049,0.058,0.020,0.045,
+0.298,0.305,0.178,0.260,0.026,0.028,0.017,0.026,0.241,0.025,
+0.096,0.159,0.206,0.266,0.182,0.242,0.224,0.186,0.133,0.233,
+0.302,0.421,0.174,0.262,0.251,0.029,0.114,0.210,0.291,0.264,
+0.210,0.444,0.666,0.256,0.209,0.509,0.312,0.189,0.178,0.264,
+0.360,0.032,0.127,0.237,0.629,0.386,0.245,0.614,0.399,0.252,
+0.169,0.319,0.277,0.198,0.159,0.229,0.296,0.024,0.126,0.254,
+0.380,0.440,0.214,0.422,0.317,0.340,0.226,0.387,0.041,0.026,
+0.019,0.036,0.298,0.025,0.143,0.282,0.298,0.368,0.285,0.425,
+0.491,0.329,0.256,0.537,0.365,0.363,0.221,0.366,0.405,0.038,
+0.253,0.531,0.772,0.648,0.549,1.250,1.190,0.642,1.540,0.942,
+0.619,0.484,0.368,0.418,0.434,0.051,0.190,0.321,0.480,0.530,
+0.277,0.585,0.816,0.570,0.484,0.443,0.826,0.565,0.388,0.404,
+0.427,0.054,0.241,0.317,0.304,0.447,0.220,0.375,0.458,0.593,
+0.313,0.475,0.059,0.079,0.038,0.067,0.319,0.043,0.199,0.320,
+0.275,0.414,0.285,0.439,0.537,0.368,0.258,0.438,0.638,0.771,
+0.306,0.449,0.317,0.034,0.162,0.284,0.455,0.341,0.337,0.704,
+0.818,0.714,0.282,0.437,0.581,0.629,0.319,0.361,0.331,0.060,
+0.131,0.216,0.271,0.361,0.175,0.307,0.737,0.764,0.259,0.346,
+0.673,0.653,0.309,0.354,0.417,0.088,0.212,0.290,0.261,0.479,
+0.196,0.300,0.422,0.763,0.370,0.477,0.058,0.135,0.084,0.076,
+0.422,0.076,0.262,0.382,0.268,0.578,0.518,0.510,0.388,0.387,
+0.188,0.358,0.590,0.968,0.366,0.468,0.344,0.043,0.194,0.364,
+0.392,0.484,0.313,0.588,0.396,0.242,0.160,0.304,0.377,0.350,
+0.247,0.292,0.326,0.062,0.140,0.193,0.277,0.335,0.164,0.346,
+0.028,0.031,0.017,0.069,0.034,0.051,0.033,0.033,0.032,0.014,
+0.021,0.032,0.026,0.067,0.022,0.039,0.319,0.419,0.267,0.394,
+0.040,0.054,0.039,0.056,0.374,0.056,0.186,0.306,0.206,0.441,
+0.275,0.338,0.278,0.238,0.167,0.301,0.439,0.593,0.338,0.418,
+0.372,0.039,0.212,0.348,0.298,0.314,0.295,0.509,0.380,0.229,
+0.167,0.306,0.248,0.200,0.143,0.194,0.260,0.030,0.110,0.178,
+0.333,0.274,0.167,0.361,0.400,0.374,0.203,0.394,0.403,0.407,
+0.266,0.338,0.319,0.051,0.173,0.318,0.320,0.594,0.238,0.415,
+0.296,0.431,0.260,0.393,0.048,0.045,0.025,0.042,0.309,0.042,
+0.236,0.421,0.252,0.479,0.319,0.440,0.370,0.274,0.208,0.356,
+0.374,0.428,0.230,0.297,0.366,0.043,0.295,0.474,0.468,0.552,
+0.461,0.811,0.553,0.442,0.255,0.467,0.340,0.347,0.157,0.290,
+0.324,0.036,0.133,0.222,0.315,0.296,0.137,0.357,0.541,0.526,
+0.183,0.353,0.410,0.433,0.254,0.257,0.342,0.049,0.205,0.290,
+0.253,0.386,0.193,0.347,0.363,0.491,0.256,0.397,0.053,0.069,
+0.032,0.066,0.336,0.049,0.204,0.289,0.224,0.412,0.226,0.357,
+0.369,0.280,0.148,0.340,0.396,0.418,0.189,0.346,0.350,0.045,
+0.195,0.381,0.404,0.338,0.303,0.742,0.031,0.032,0.016,0.026,
+0.029,0.051,0.017,0.023,0.026,5.68e-3,0.013,0.018,0.021,0.032,
+0.014,0.027,0.028,0.032,0.014,0.023,0.037,0.062,0.023,0.026,
+0.026,8.52e-3,0.025,0.027,0.018,0.035,0.020,0.023,0.025,0.046,
+0.016,0.024,0.010,0.014,5.01e-3,5.35e-3,0.035,8.69e-3,0.021,0.030,
+0.021,0.041,0.024,0.028,0.025,0.028,0.014,0.027,0.047,0.078,
+0.028,0.035,0.030,6.43e-3,0.021,0.035,0.033,0.033,0.025,0.053,
+0.360,0.306,0.149,0.192,0.312,0.372,0.248,0.237,0.300,0.056,
+0.177,0.191,0.205,0.313,0.169,0.322,0.023,0.042,0.012,0.016,
+0.025,0.039,0.021,0.016,0.023,8.11e-3,0.044,0.019,0.022,0.054,
+0.022,0.031,0.325,0.740,0.233,0.275,0.045,0.063,0.038,0.033,
+0.356,0.060,0.134,0.217,0.187,0.427,0.248,0.270,0.232,0.263,
+0.131,0.189,0.337,0.432,0.274,0.274,0.368,0.049,0.287,0.295,
+0.228,0.300,0.270,0.370,0.378,0.241,0.135,0.255,0.289,0.225,
+0.138,0.180,0.234,0.030,0.127,0.173,0.264,0.251,0.151,0.322,
+0.451,0.470,0.180,0.253,0.401,0.376,0.221,0.235,0.324,0.043,
+0.238,0.269,0.297,0.435,0.230,0.376,0.727,0.542,0.288,0.377,
+0.436,0.081,0.072,0.044,0.545,0.057,0.265,0.381,0.407,0.535,
+0.371,0.449,0.378,0.281,0.184,0.297,0.702,0.432,0.308,0.317,
+0.471,0.051,0.345,0.442,0.432,0.575,0.425,0.655,0.939,0.394,
+0.297,0.620,0.431,0.269,0.164,0.340,0.372,0.038,0.132,0.308,
+0.520,0.422,0.195,0.648,0.449,0.285,0.140,0.254,0.308,0.210,
+0.135,0.203,0.252,0.026,0.147,0.242,0.235,0.263,0.124,0.284,
+0.372,0.364,0.205,0.411,0.033,0.028,0.016,0.048,0.408,0.033,
+0.135,0.291,0.353,0.334,0.183,0.387,0.505,0.281,0.204,0.523,
+0.362,0.279,0.181,0.363,0.361,0.027,0.175,0.417,0.567,0.368,
+0.314,0.981,0.583,0.347,0.221,0.439,0.380,0.334,0.178,0.258,
+0.280,0.032,0.126,0.245,0.278,0.294,0.146,0.396,0.453,0.344,
+0.142,0.296,0.339,0.370,0.150,0.246,0.307,0.030,0.161,0.278,
+0.261,0.319,0.157,0.442,0.314,0.333,0.177,0.315,0.026,0.038,
+0.013,0.029,0.468,0.041,0.164,0.337,0.286,0.381,0.238,0.426,
+0.344,0.250,0.190,0.346,0.418,0.384,0.201,0.352,0.363,0.029,
+0.176,0.339,0.372,0.360,0.268,0.646,0.501,0.306,0.333,0.346,
+0.409,0.312,0.249,0.347,0.390,0.057,0.169,0.289,0.340,0.390,
+0.237,0.505,0.032,0.030,0.019,0.028,0.024,0.026,0.021,0.035,
+0.024,5.10e-3,0.017,0.024,0.026,0.040,0.016,0.044,0.431,0.474,
+0.267,0.450,0.033,0.036,0.023,0.045,0.425,0.044,0.219,0.334,
+0.286,0.445,0.330,0.482,0.388,0.316,0.213,0.357,0.479,0.455,
+0.335,0.475,0.694,0.052,0.362,0.484,0.440,0.399,0.428,0.757,
+0.881,0.362,0.315,0.567,0.418,0.307,0.233,0.309,0.462,0.043,
+0.185,0.384,0.598,0.448,0.309,0.848,0.661,0.436,0.253,0.419,
+0.565,0.510,0.447,0.481,0.446,0.038,0.280,0.538,0.421,0.446,
+0.289,0.731,0.610,0.602,0.405,0.691,0.076,0.047,0.031,0.063,
+0.704,0.053,0.425,0.785,0.618,0.760,0.560,0.956,1.010,0.544,
+0.453,1.030,0.817,0.641,0.487,0.857,0.916,0.061,0.615,1.150,
+1.020,0.836,0.712,1.070,1.340,0.752,0.714,1.390,0.964,0.540,
+0.537,0.658,0.959,0.100,0.433,0.715,1.330,1.170,0.566,1.050,
+1.040,0.597,0.547,0.697,0.730,0.441,0.570,0.448,0.724,0.062,
+0.420,0.529,0.575,0.598,0.421,0.589,0.767,0.552,0.487,0.730,
+0.070,0.055,0.053,0.096,0.527,0.046,0.276,0.376,0.670,0.553,
+0.552,0.541,1.170,0.525,0.541,1.250,0.906,0.648,0.508,0.846,
+0.765,0.054,0.339,0.534,1.010,0.544,0.561,1.030,0.923,0.490,
+0.346,0.595,0.554,0.348,0.261,0.317,0.430,0.051,0.227,0.373,
+0.442,0.498,0.233,0.428,0.668,0.405,0.262,0.463,0.405,0.253,
+0.217,0.244,0.464,0.050,0.246,0.454,0.299,0.356,0.211,0.401,
+0.424,0.352,0.237,0.346,0.039,0.030,0.031,0.039,0.409,0.039,
+0.207,0.282,0.254,0.355,0.339,0.291,0.452,0.268,0.198,0.417,
+0.437,0.339,0.231,0.390,0.390,0.031,0.260,0.376,0.345,0.292,
+0.290,0.541,0.773,0.298,0.382,0.435,0.583,0.291,0.284,0.312,
+0.429,0.054,0.194,0.310,0.402,0.377,0.365,0.539,0.053,0.035,
+0.026,0.038,0.047,0.032,0.029,0.031,0.040,6.68e-3,0.025,0.036,
+0.047,0.070,0.088,0.062,0.372,0.260,0.318,0.328,0.032,0.023,
+0.062,0.034,0.288,0.031,0.271,0.245,0.280,0.356,1.840,0.532,
+0.327,0.185,0.199,0.331,0.401,0.277,0.301,0.342,0.343,0.030,
+0.243,0.346,0.330,0.314,0.597,0.551,1.070,0.378,0.321,0.586,
+0.423,0.232,0.303,0.306,0.420,0.039,0.198,0.319,0.569,0.418,
+0.334,0.685,0.701,0.411,0.315,0.417,0.472,0.290,0.313,0.314,
+0.437,0.036,0.259,0.364,0.413,0.441,0.310,0.469,0.392,0.309,
+0.294,0.401,0.041,0.024,0.034,0.043,0.295,0.023,0.294,0.349,
+0.299,0.317,0.536,0.398,0.620,0.307,0.341,0.619,0.353,0.236,
+0.296,0.389,0.467,0.034,0.335,0.504,0.634,0.496,0.537,0.951,
+1.320,0.807,0.635,0.999,0.776,0.608,0.529,0.541,0.572,0.073,
+0.302,0.488,0.707,0.656,0.413,0.709,0.968,0.723,0.474,0.605,
+0.663,0.532,0.489,0.446,0.557,0.076,0.453,0.562,0.384,0.466,
+0.327,0.475,0.492,0.532,0.422,0.561,0.055,0.072,0.057,0.078,
+0.330,0.042,0.264,0.309,0.235,0.401,0.348,0.456,0.612,0.316,
+0.344,0.747,0.723,0.535,0.380,0.645,0.355,0.037,0.233,0.348,
+0.415,0.345,0.434,0.721,0.826,0.654,0.349,0.475,0.599,0.570,
+0.406,0.370,0.450,0.070,0.252,0.336,0.465,0.447,0.225,0.387,
+0.687,0.651,0.424,0.412,0.529,0.290,0.398,0.356,0.505,0.073,
+0.397,0.478,0.268,0.402,0.260,0.334,0.429,0.626,0.352,0.432,
+0.054,0.095,0.074,0.068,0.438,0.076,0.288,0.332,0.238,0.666,
+0.362,0.412,0.370,0.298,0.201,0.377,0.488,0.529,0.346,0.446,
+0.359,0.039,0.228,0.356,0.277,0.340,0.273,0.571,0.691,0.429,
+0.381,0.451,0.551,0.526,0.520,0.424,0.468,0.072,0.268,0.439,
+0.358,0.398,0.370,0.599,0.055,0.076,0.043,0.044,0.052,0.080,
+0.074,0.045,0.082,0.019,0.056,0.059,0.037,0.082,0.071,0.067,
+0.603,0.602,0.475,0.507,0.055,0.086,0.090,0.070,0.565,0.082,
+0.411,0.409,0.331,0.817,1.560,0.911,0.372,0.288,0.258,0.372,
+0.522,0.574,0.558,0.518,0.437,0.055,0.472,0.458,0.294,0.362,
+0.636,0.630,0.588,0.350,0.245,0.398,0.348,0.275,0.251,0.282,
+0.301,0.032,0.157,0.250,0.368,0.292,0.255,0.497,0.621,0.873,
+0.364,0.446,0.466,0.492,0.582,0.502,0.428,0.048,0.298,0.410,
+0.317,0.495,0.321,0.515,0.378,0.437,0.344,0.441,0.032,0.047,
+0.037,0.043,0.316,0.037,0.261,0.319,0.269,0.385,0.483,0.482,
+0.442,0.292,0.278,0.439,0.397,0.343,0.272,0.398,0.434,0.040,
+0.312,0.483,0.498,0.540,0.592,0.885,0.716,0.487,0.353,0.575,
+0.357,0.306,0.222,0.300,0.509,0.058,0.218,0.395,0.465,0.408,
+0.215,0.448,0.684,0.558,0.321,0.461,0.510,0.394,0.326,0.351,
+0.743,0.064,0.395,0.443,0.380,0.471,0.252,0.397,0.525,0.604,
+0.914,0.705,0.056,0.083,0.089,0.146,0.359,0.048,0.238,0.312,
+0.235,0.428,0.293,0.372,0.500,0.325,0.365,0.660,0.394,0.440,
+0.437,0.866,0.401,0.044,0.284,0.425,0.445,0.429,0.416,0.829,
+0.050,0.048,0.028,0.046,0.045,0.052,0.032,0.037,0.045,8.44e-3,
+0.026,0.036,0.040,0.054,0.032,0.045,0.056,0.065,0.035,0.041,
+0.063,0.059,0.042,0.038,0.066,0.013,0.054,0.056,0.035,0.062,
+0.032,0.039,0.048,0.072,0.087,0.068,8.52e-3,0.018,0.024,0.020,
+0.067,0.013,0.046,0.050,0.030,0.070,0.050,0.046,0.074,0.049,
+0.044,0.090,0.088,0.133,0.106,0.195,0.058,0.013,0.050,0.069,
+0.060,0.096,0.078,0.103,0.419,0.260,0.278,0.246,0.262,0.295,
+0.258,0.212,0.306,0.058,0.280,0.340,0.212,0.280,0.239,0.346,
+0.040,0.044,0.024,0.028,0.028,0.042,0.032,0.025,0.042,0.013,
+0.041,0.035,0.032,0.059,0.039,0.042,0.417,0.516,0.285,0.352,
+0.036,0.131,0.045,0.044,0.345,0.048,0.197,0.229,0.149,0.288,
+0.402,0.239,0.304,0.190,0.154,0.219,0.279,0.489,0.344,0.428,
+0.312,0.044,0.239,0.273,0.189,0.246,0.259,0.303,0.394,0.208,
+0.153,0.237,0.215,0.155,0.132,0.127,0.260,0.023,0.116,0.187,
+0.269,0.198,0.147,0.313,0.469,0.360,0.229,0.316,0.350,0.370,
+0.277,0.238,0.435,0.048,0.266,0.342,0.315,0.424,0.251,0.346,
+0.323,0.349,0.263,0.295,0.042,0.046,0.033,0.037,1.280,0.063,
+0.252,0.317,0.345,0.337,0.270,0.296,0.399,0.233,0.221,0.303,
+0.315,0.304,0.268,0.331,0.446,0.041,0.294,0.400,0.432,0.439,
+0.352,0.607,0.903,0.463,0.402,0.700,0.371,0.246,0.222,0.278,
+0.424,0.044,0.193,0.340,0.609,0.427,0.286,0.643,0.512,0.283,
+0.210,0.320,0.320,0.181,0.159,0.225,0.399,0.029,0.209,0.291,
+0.347,0.265,0.173,0.337,0.427,0.317,0.357,0.594,0.036,0.034,
+0.026,0.074,0.265,0.023,0.143,0.264,0.246,0.271,0.202,0.380,
+0.695,0.336,0.409,1.060,0.475,0.370,0.350,0.747,0.393,0.034,
+0.243,0.448,0.625,0.434,0.493,1.160,0.658,0.388,0.277,0.495,
+0.423,0.318,0.271,0.327,0.382,0.038,0.204,0.377,0.342,0.335,
+0.279,0.428,0.511,0.364,0.203,0.353,0.387,0.300,0.211,0.265,
+0.421,0.043,0.255,0.412,0.287,0.329,0.197,0.316,0.422,0.415,
+0.417,0.667,0.036,0.048,0.041,0.085,0.400,0.037,0.210,0.362,
+0.280,0.391,0.296,0.416,0.581,0.319,0.291,0.706,0.521,0.486,
+0.425,1.040,0.397,0.035,0.263,0.454,0.435,0.422,0.548,0.787,
+0.528,0.243,0.215,0.338,0.416,0.278,0.254,0.342,0.368,0.045,
+0.224,0.337,0.342,0.298,0.299,0.510,0.033,0.029,0.019,0.039,
+0.028,0.031,0.021,0.030,0.034,6.94e-3,0.029,0.041,0.038,0.052,
+0.032,0.052,0.349,0.342,0.250,0.411,0.031,0.034,0.030,0.052,
+0.368,0.037,0.238,0.320,0.254,0.372,0.451,0.439,0.336,0.227,
+0.218,0.454,0.412,0.370,0.326,0.579,0.512,0.048,0.314,0.490,
+0.401,0.349,0.412,0.612,0.829,0.331,0.292,0.567,0.358,0.264,
+0.239,0.331,0.416,0.038,0.200,0.401,0.560,0.384,0.408,0.843,
+0.465,0.295,0.201,0.349,0.303,0.262,0.213,0.261,0.399,0.030,
+0.269,0.512,0.403,0.387,0.299,0.562,0.533,0.447,0.373,0.680,
+0.051,0.044,0.032,0.070,0.617,0.041,0.366,0.554,0.487,0.516,
+0.479,0.720,0.949,0.467,0.446,1.030,0.689,0.581,0.476,0.781,
+0.878,0.059,0.702,1.230,1.470,0.907,1.050,1.710,0.058,0.051,
+0.042,0.060,0.049,0.039,0.030,0.039,0.039,5.10e-3,0.033,0.039,
+0.046,0.050,0.026,0.040,0.060,0.046,0.037,0.041,0.052,0.041,
+0.042,0.034,0.036,7.35e-3,0.029,0.032,0.033,0.046,0.031,0.035,
+0.030,0.035,0.028,0.035,4.51e-3,4.85e-3,6.10e-3,7.27e-3,0.025,4.18e-3,
+0.020,0.022,0.023,0.028,0.027,0.025,0.039,0.033,0.022,0.055,
+0.040,0.036,0.028,0.052,0.031,4.76e-3,0.020,0.030,0.036,0.028,
+0.027,0.053,0.059,0.049,0.033,0.043,0.058,0.044,0.032,0.033,
+0.035,8.61e-3,0.035,0.080,0.025,0.051,0.020,0.033,0.058,0.057,
+0.034,0.042,0.050,0.047,0.040,0.032,0.053,0.013,0.049,0.057,
+0.026,0.050,0.028,0.031,0.030,0.037,0.022,0.027,7.94e-3,0.010,
+0.011,6.18e-3,0.076,0.011,0.029,0.028,0.023,0.040,0.027,0.025,
+0.025,0.024,0.016,0.026,0.042,0.044,0.027,0.040,0.035,4.76e-3,
+0.028,0.031,0.025,0.036,0.026,0.039,0.040,0.026,0.023,0.027,
+0.053,0.031,0.026,0.029,0.031,6.10e-3,0.021,0.025,0.024,0.029,
+0.022,0.034,4.43e-3,6.10e-3,4.68e-3,4.60e-3,6.02e-3,8.36e-3,7.35e-3,6.35e-3,
+5.68e-3,2.92e-3,4.76e-3,6.60e-3,4.35e-3,0.010,6.77e-3,6.60e-3,0.026,0.029,
+0.024,0.024,4.68e-3,5.52e-3,6.52e-3,4.09e-3,0.030,6.27e-3,0.032,0.036,
+0.016,0.035,0.078,0.033,0.018,0.017,0.019,0.021,0.033,0.039,
+0.040,0.034,0.029,5.77e-3,0.034,0.040,0.021,0.028,0.039,0.039,
+0.049,0.029,0.020,0.034,0.029,0.021,0.018,0.042,0.031,4.18e-3,
+0.021,0.026,0.033,0.029,0.021,0.050,0.046,0.042,0.032,0.038,
+0.040,0.046,0.037,0.037,0.034,6.68e-3,0.034,0.042,0.029,0.047,
+0.030,0.044,0.020,0.028,0.028,0.035,4.09e-3,4.35e-3,4.01e-3,4.60e-3,
+0.027,3.68e-3,0.023,0.031,0.018,0.030,0.039,0.037,0.039,0.025,
+0.038,0.040,0.026,0.028,0.030,0.036,0.035,3.34e-3,0.034,0.043,
+0.043,0.045,0.045,0.084,0.069,0.059,0.040,0.052,0.060,0.064,
+0.050,0.042,0.034,7.10e-3,0.024,0.036,0.032,0.040,0.025,0.039,
+0.064,0.067,0.041,0.038,0.063,0.077,0.064,0.043,0.040,0.015,
+0.045,0.048,0.024,0.043,0.029,0.039,0.029,0.046,0.034,0.033,
+6.43e-3,0.011,0.010,8.44e-3,0.022,6.02e-3,0.027,0.023,0.016,0.031,
+0.026,0.029,0.029,0.021,0.021,0.033,0.042,0.047,0.031,0.043,
+0.025,4.09e-3,0.019,0.023,0.022,0.023,0.031,0.039,0.070,0.076,
+0.036,0.038,0.072,0.104,0.056,0.036,0.047,0.014,0.033,0.036,
+0.028,0.043,0.027,0.027,0.077,0.124,0.053,0.044,0.074,0.065,
+0.065,0.056,0.063,0.029,0.063,0.067,0.027,0.070,0.035,0.037,
+0.034,0.086,0.035,0.034,0.012,0.030,0.022,0.012,0.050,0.020,
+0.041,0.039,0.017,0.067,0.044,0.039,0.026,0.028,0.018,0.026,
+0.051,0.082,0.040,0.043,0.034,6.52e-3,0.035,0.037,0.024,0.041,
+0.028,0.041,0.040,0.037,0.023,0.030,0.059,0.075,0.060,0.036,
+0.042,9.86e-3,0.036,0.043,0.022,0.030,0.031,0.042,7.19e-3,0.013,
+6.77e-3,7.52e-3,0.012,0.030,0.029,9.53e-3,0.011,9.44e-3,0.016,0.013,
+4.09e-3,0.011,0.010,7.94e-3,0.066,0.061,0.044,0.036,9.78e-3,0.023,
+0.025,0.012,0.053,0.020,0.050,0.047,0.020,0.061,0.086,0.049,
+0.024,0.024,0.020,0.025,0.050,0.077,0.077,0.051,0.050,0.015,
+0.051,0.049,0.023,0.037,0.055,0.053,0.044,0.028,0.021,0.031,
+0.030,0.033,0.020,0.022,0.030,4.26e-3,0.018,0.023,0.029,0.024,
+0.023,0.044,0.055,0.073,0.036,0.040,0.054,0.090,0.074,0.055,
+0.033,9.94e-3,0.040,0.043,0.022,0.050,0.031,0.051,0.030,0.042,
+0.034,0.029,3.43e-3,9.44e-3,7.19e-3,5.26e-3,0.030,7.60e-3,0.033,0.034,
+0.017,0.035,0.038,0.036,0.029,0.022,0.021,0.028,0.033,0.036,
+0.028,0.035,0.032,5.52e-3,0.032,0.045,0.032,0.049,0.056,0.088,
+0.037,0.039,0.025,0.029,0.028,0.031,0.021,0.025,0.029,6.18e-3,
+0.017,0.020,0.023,0.025,0.014,0.023,0.038,0.053,0.025,0.030,
+0.044,0.053,0.046,0.044,0.048,0.014,0.053,0.039,0.022,0.041,
+0.023,0.030,0.024,0.053,0.062,0.042,5.01e-3,0.016,0.018,0.015,
+0.031,0.014,0.028,0.033,0.014,0.041,0.024,0.027,0.021,0.021,
+0.017,0.033,0.031,0.049,0.056,0.070,0.033,7.19e-3,0.024,0.030,
+0.026,0.035,0.036,0.050,3.93e-3,5.77e-3,1.34e-3,4.35e-3,7.77e-3,0.011,
+0.010,5.10e-3,5.52e-3,3.34e-3,5.43e-3,5.26e-3,2.67e-3,6.77e-3,3.76e-3,3.34e-3,
+4.93e-3,0.014,6.10e-3,4.01e-3,0.013,0.020,0.015,8.52e-3,0.010,0.014,
+0.027,0.013,3.84e-3,0.011,4.85e-3,6.77e-3,5.26e-3,0.018,0.021,8.69e-3,
+3.59e-3,0.016,0.034,0.012,0.010,0.014,0.018,0.012,3.51e-3,0.014,
+0.010,6.85e-3,2.67e-3,4.35e-3,3.51e-3,5.43e-3,0.010,0.028,0.023,0.025,
+6.43e-3,3.34e-3,0.012,8.61e-3,4.09e-3,6.27e-3,6.85e-3,7.94e-3,0.024,0.031,
+0.022,0.019,0.027,0.056,0.043,0.025,0.030,0.012,0.066,0.092,
+0.014,0.032,0.028,0.048,4.35e-3,0.010,4.43e-3,4.51e-3,7.60e-3,0.020,
+0.016,8.52e-3,9.44e-3,0.011,0.020,0.014,3.93e-3,0.012,8.19e-3,0.021,
+0.033,0.161,0.043,0.033,0.012,0.117,0.024,0.010,0.038,0.022,
+0.039,0.038,0.014,0.050,0.042,0.027,0.019,0.023,0.015,0.022,
+0.039,0.175,0.064,0.079,0.045,0.013,0.046,0.047,0.018,0.034,
+0.036,0.039,0.029,0.024,0.016,0.025,0.023,0.024,0.015,0.015,
+0.024,6.27e-3,0.016,0.025,0.022,0.025,0.018,0.030,0.037,0.049,
+0.027,0.028,0.043,0.065,0.043,0.037,0.046,0.016,0.047,0.052,
+0.022,0.053,0.032,0.042,0.028,0.050,0.037,0.032,5.35e-3,0.015,
+9.69e-3,5.18e-3,0.080,0.015,0.043,0.042,0.021,0.046,0.037,0.038,
+0.023,0.019,0.017,0.028,0.027,0.038,0.031,0.039,0.040,8.19e-3,
+0.043,0.051,0.036,0.051,0.046,0.093,0.060,0.036,0.026,0.044,
+0.043,0.028,0.025,0.045,0.045,5.43e-3,0.019,0.040,0.047,0.034,
+0.021,0.049,0.043,0.031,0.024,0.028,0.035,0.028,0.021,0.029,
+0.031,3.84e-3,0.024,0.034,0.029,0.025,0.018,0.031,0.030,0.030,
+0.029,0.044,3.76e-3,5.35e-3,2.76e-3,9.69e-3,0.024,3.68e-3,0.016,0.025,
+0.016,0.024,0.021,0.034,0.051,0.032,0.030,0.078,0.041,0.037,
+0.033,0.086,0.039,3.93e-3,0.023,0.055,0.047,0.034,0.049,0.107,
+0.064,0.050,0.041,0.055,0.059,0.052,0.062,0.056,0.053,7.10e-3,
+0.039,0.059,0.036,0.049,0.035,0.051,0.062,0.070,0.039,0.048,
+0.069,0.075,0.051,0.055,0.065,0.013,0.067,0.070,0.041,0.061,
+0.040,0.049,0.042,0.073,0.066,0.088,8.44e-3,0.016,0.022,0.028,
+0.058,0.012,0.045,0.057,0.028,0.065,0.049,0.052,0.079,0.050,
+0.036,0.085,0.085,0.099,0.107,0.272,0.051,8.61e-3,0.047,0.075,
+0.046,0.054,0.073,0.102,0.036,0.022,0.022,0.027,0.039,0.041,
+0.042,0.039,0.038,6.35e-3,0.035,0.043,0.025,0.031,0.030,0.044,
+4.76e-3,4.18e-3,3.43e-3,3.93e-3,4.76e-3,7.85e-3,7.60e-3,5.68e-3,3.84e-3,2.92e-3,
+6.18e-3,8.52e-3,4.09e-3,7.35e-3,5.93e-3,6.68e-3,0.031,0.045,0.036,0.040,
+4.51e-3,0.012,8.02e-3,0.011,0.041,0.012,0.040,0.049,0.023,0.050,
+0.057,0.048,0.032,0.024,0.023,0.033,0.041,0.059,0.050,0.076,
+0.075,8.86e-3,0.053,0.070,0.034,0.042,0.050,0.064,0.050,0.031,
+0.026,0.042,0.035,0.029,0.025,0.035,0.030,4.35e-3,0.019,0.036,
+0.035,0.030,0.036,0.058,0.042,0.030,0.022,0.034,0.034,0.035,
+0.032,0.034,0.032,4.51e-3,0.028,0.053,0.030,0.038,0.029,0.050,
+0.043,0.043,0.036,0.061,5.01e-3,5.77e-3,4.09e-3,8.69e-3,0.049,4.85e-3,
+0.039,0.063,0.030,0.052,0.053,0.066,0.054,0.035,0.036,0.069,
+0.058,0.061,0.046,0.073,0.066,6.43e-3,0.070,0.095,0.087,0.078,
+0.097,0.131,0.977,0.579,0.497,0.747,0.570,0.418,0.344,0.429,
+0.515,0.056,0.241,0.421,0.667,0.657,0.321,0.615,0.699,0.441,
+0.304,0.390,0.470,0.366,0.320,0.345,0.491,0.045,0.268,0.308,
+0.393,0.444,0.262,0.379,0.503,0.431,0.294,0.449,0.042,0.035,
+0.033,0.059,0.294,0.030,0.232,0.297,0.244,0.314,0.264,0.346,
+0.515,0.273,0.197,0.442,0.377,0.282,0.255,0.345,0.330,0.022,
+0.170,0.316,0.394,0.220,0.289,0.582,0.786,0.458,0.266,0.448,
+0.527,0.437,0.358,0.344,0.452,0.045,0.201,0.311,0.390,0.403,
+0.206,0.358,0.679,0.547,0.289,0.354,0.537,0.497,0.368,0.319,
+0.827,0.071,0.452,0.538,0.361,0.448,0.229,0.320,0.458,0.585,
+0.356,0.475,0.053,0.051,0.053,0.065,0.484,0.067,0.365,0.536,
+0.264,0.445,0.349,0.381,0.376,0.304,0.173,0.290,0.429,0.379,
+0.324,0.398,0.372,0.032,0.224,0.362,0.328,0.288,0.290,0.523,
+0.673,0.303,0.246,0.373,0.592,0.392,0.423,0.419,0.571,0.068,
+0.235,0.370,0.475,0.450,0.303,0.563,0.061,0.055,0.035,0.047,
+0.064,0.063,0.077,0.059,0.064,0.011,0.052,0.057,0.072,0.132,
+0.053,0.091,0.390,0.387,0.499,0.518,0.057,0.043,0.121,0.081,
+0.378,0.053,0.282,0.323,0.258,0.408,0.450,0.400,0.311,0.200,
+0.315,0.316,0.638,0.402,1.310,0.670,0.342,0.040,0.295,0.386,
+0.367,0.325,0.438,0.511,0.592,0.244,0.198,0.377,0.320,0.202,
+0.206,0.232,0.304,0.032,0.136,0.234,0.444,0.365,0.221,0.550,
+0.502,0.356,0.234,0.356,0.393,0.327,0.295,0.325,0.368,0.039,
+0.262,0.409,0.408,0.544,0.260,0.553,0.375,0.371,0.325,0.422,
+0.043,0.038,0.056,0.057,0.360,0.039,0.288,0.384,0.347,0.474,
+0.421,0.547,0.487,0.274,0.299,0.487,0.378,0.291,0.601,0.478,
+0.434,0.043,0.322,0.571,0.670,0.651,0.583,1.150,0.055,0.050,
+0.039,0.042,0.048,0.047,0.032,0.039,0.035,4.85e-3,0.015,0.028,
+0.037,0.046,0.022,0.039,0.056,0.063,0.035,0.041,0.059,0.060,
+0.064,0.048,0.044,9.86e-3,0.037,0.044,0.039,0.056,0.034,0.043,
+0.026,0.041,0.028,0.035,6.94e-3,9.19e-3,8.94e-3,8.86e-3,0.024,5.93e-3,
+0.025,0.031,0.017,0.031,0.028,0.030,0.037,0.027,0.016,0.030,
+0.042,0.037,0.030,0.036,0.026,3.84e-3,0.019,0.027,0.028,0.026,
+0.029,0.051,0.048,0.050,0.022,0.029,0.045,0.050,0.042,0.028,
+0.034,7.60e-3,0.020,0.023,0.025,0.033,0.018,0.024,0.065,0.071,
+0.036,0.040,0.063,0.060,0.059,0.043,0.073,0.021,0.065,0.061,
+0.026,0.056,0.034,0.033,0.040,0.077,0.032,0.037,0.010,0.019,
+0.014,8.44e-3,0.060,0.023,0.051,0.053,0.020,0.066,0.045,0.044,
+0.052,0.037,0.015,0.022,0.042,0.053,0.036,0.035,0.031,4.93e-3,
+0.030,0.031,0.021,0.032,0.028,0.041,0.044,0.028,0.023,0.030,
+0.056,0.060,0.062,0.040,0.044,0.011,0.030,0.029,0.031,0.038,
+0.028,0.037,6.27e-3,7.94e-3,4.60e-3,4.60e-3,0.012,0.019,0.021,9.19e-3,
+8.69e-3,7.35e-3,0.013,0.010,4.85e-3,0.015,9.11e-3,9.19e-3,0.041,0.054,
+0.051,0.047,9.44e-3,0.016,0.037,0.015,0.058,0.018,0.054,0.051,
+0.024,0.061,0.077,0.065,0.028,0.022,0.027,0.036,0.069,0.064,
+0.124,0.067,0.039,9.19e-3,0.044,0.045,0.030,0.031,0.048,0.048,
+0.047,0.040,0.028,0.035,0.033,0.030,0.024,0.026,0.029,4.51e-3,
+0.018,0.023,0.035,0.036,0.031,0.059,0.061,0.064,0.035,0.048,
+0.063,0.077,0.062,0.055,0.051,9.19e-3,0.043,0.053,0.043,0.075,
+0.046,0.064,0.033,0.046,0.038,0.043,4.76e-3,8.94e-3,0.011,8.52e-3,
+0.044,0.011,0.036,0.049,0.033,0.062,0.075,0.063,0.038,0.029,
+0.026,0.039,0.037,0.036,0.053,0.048,0.037,6.02e-3,0.033,0.051,
+0.048,0.070,0.062,0.105,0.450,0.585,0.268,0.475,0.482,0.606,
+0.241,0.313,0.353,0.039,0.218,0.270,0.302,0.242,0.155,0.288,
+0.562,0.543,0.297,0.374,0.544,0.513,0.653,0.364,0.627,0.087,
+1.280,0.651,0.291,0.478,0.283,0.362,0.363,0.504,0.294,0.408,
+0.061,0.078,0.063,0.088,0.405,0.061,0.349,0.414,0.184,0.402,
+0.297,0.357,0.343,0.234,0.138,0.291,0.341,0.341,0.248,0.344,
+0.761,0.065,0.285,0.390,0.317,0.272,0.291,0.569,0.043,0.045,
+0.020,0.028,0.064,0.079,0.041,0.039,0.042,8.86e-3,0.053,0.039,
+0.023,0.036,0.021,0.028,0.047,0.055,0.035,0.031,0.068,0.074,
+0.068,0.045,0.115,0.031,0.682,0.182,0.029,0.056,0.049,0.035,
+0.032,0.071,0.034,0.031,8.69e-3,0.020,0.020,0.011,0.056,0.020,
+0.078,0.079,0.023,0.063,0.041,0.041,0.096,0.056,0.016,0.034,
+0.062,0.081,0.049,0.059,0.062,0.011,0.044,0.059,0.030,0.035,
+0.035,0.057,0.532,0.303,0.210,0.201,0.399,0.475,0.401,0.319,
+0.353,0.064,0.352,0.316,0.220,0.289,0.284,0.294,0.044,0.057,
+0.038,0.031,0.046,0.079,0.066,0.038,0.055,0.020,0.105,0.057,
+0.027,0.070,0.049,0.036,0.408,0.408,0.362,0.298,0.054,0.058,
+0.070,0.047,0.296,0.057,0.099,0.153,0.163,0.265,0.308,0.260,
+0.226,0.166,0.162,0.152,0.339,0.349,0.421,0.305,0.334,0.052,
+0.390,0.353,0.196,0.244,0.349,0.365,0.359,0.226,0.145,0.245,
+0.260,0.196,0.138,0.164,0.235,0.027,0.149,0.185,0.200,0.188,
+0.131,0.240,0.410,0.397,0.222,0.272,0.424,0.482,0.346,0.280,
+0.422,0.067,0.469,0.410,0.259,0.480,0.287,0.320,0.381,0.439,
+0.299,0.394,0.045,0.065,0.044,0.053,0.448,0.055,0.403,0.428,
+0.268,0.500,0.382,0.403,0.305,0.230,0.166,0.337,0.358,0.344,
+0.294,0.330,0.410,0.049,0.425,0.495,0.354,0.445,0.430,0.574,
+0.613,0.352,0.211,0.412,0.352,0.282,0.176,0.253,0.344,0.033,
+0.141,0.250,0.358,0.285,0.169,0.431,0.520,0.294,0.184,0.254,
+0.312,0.220,0.206,0.208,0.442,0.030,0.226,0.253,0.248,0.237,
+0.147,0.262,0.360,0.321,0.185,0.432,0.037,0.037,0.022,0.058,
+0.310,0.029,0.174,0.359,0.246,0.279,0.234,0.395,0.751,0.416,
+0.176,0.376,0.360,0.292,0.191,0.368,0.353,0.030,0.179,0.308,
+0.389,0.258,0.384,0.633,0.794,0.459,0.251,0.400,0.542,0.461,
+0.345,0.356,0.536,0.047,0.275,0.362,0.358,0.353,0.187,0.373,
+0.776,0.565,0.292,0.369,0.591,0.487,0.404,0.388,1.230,0.087,
+1.370,0.891,0.426,0.451,0.284,0.371,0.500,0.590,0.274,0.392,
+0.052,0.076,0.042,0.060,0.519,0.068,0.401,0.645,0.285,0.519,
+0.364,0.506,1.640,0.954,0.268,0.444,0.593,0.702,0.393,0.571,
+0.478,0.057,0.334,0.498,0.407,0.374,0.382,0.648,0.722,0.322,
+0.269,0.411,0.509,0.451,0.956,0.915,0.449,0.062,0.316,0.402,
+0.354,0.354,0.357,0.545,0.053,0.046,0.038,0.045,0.055,0.067,
+0.157,0.090,0.054,0.011,0.066,0.057,0.041,0.059,0.045,0.059,
+0.456,0.524,0.341,0.428,0.053,0.056,0.066,0.079,0.670,0.113,
+0.388,0.576,0.324,0.602,0.524,0.556,0.462,0.332,0.300,0.342,
+0.571,0.531,0.585,0.611,0.500,0.056,0.478,0.580,0.377,0.404,
+0.521,0.640,0.586,0.272,0.199,0.425,0.320,0.250,0.265,0.316,
+0.401,0.037,0.182,0.281,0.384,0.294,0.241,0.537,0.459,0.322,
+0.223,0.330,0.371,0.370,0.418,0.376,0.423,0.034,0.303,0.422,
+0.342,0.368,0.297,0.538,0.525,0.515,0.337,0.554,0.047,0.049,
+0.041,0.061,0.566,0.058,0.491,0.686,0.431,0.604,0.597,0.758,
+0.679,0.385,0.288,0.604,0.592,0.524,0.463,0.596,0.614,0.052,
+0.604,0.826,0.783,0.634,0.819,1.060,0.951,0.584,0.469,0.934,
+0.530,0.418,0.259,0.365,0.494,0.047,0.198,0.360,0.732,0.604,
+0.320,0.676,0.569,0.377,0.230,0.369,0.407,0.260,0.187,0.238,
+0.394,0.039,0.186,0.255,0.448,0.657,0.223,0.350,0.391,0.312,
+0.237,0.434,0.039,0.032,0.025,0.050,0.223,0.021,0.148,0.211,
+0.263,0.272,0.202,0.339,0.577,0.316,0.245,0.579,0.463,0.305,
+0.244,0.408,0.329,0.027,0.174,0.295,0.483,0.336,0.306,0.791,
+0.615,0.345,0.213,0.401,0.401,0.260,0.182,0.227,0.288,0.027,
+0.123,0.225,0.314,0.268,0.147,0.295,0.394,0.255,0.140,0.268,
+0.295,0.178,0.137,0.155,0.364,0.023,0.160,0.229,0.266,0.272,
+0.141,0.231,0.288,0.240,0.180,0.258,0.023,0.020,0.022,0.026,
+0.244,0.021,0.107,0.187,0.224,0.226,0.148,0.233,0.265,0.157,
+0.115,0.260,0.254,0.200,0.140,0.230,0.217,0.015,0.122,0.220,
+0.239,0.194,0.178,0.403,0.580,0.264,0.343,0.390,0.465,0.262,
+0.257,0.314,0.410,0.042,0.122,0.260,0.412,0.336,0.222,0.449,
+0.042,0.025,0.027,0.033,0.039,0.027,0.028,0.028,0.035,4.18e-3,
+0.013,0.033,0.053,0.069,0.027,0.052,0.286,0.232,0.237,0.310,
+0.028,0.019,0.029,0.039,0.226,0.022,0.118,0.205,0.203,0.272,
+0.250,0.292,0.281,0.174,0.199,0.334,0.387,0.288,0.359,0.366,
+0.372,0.050,0.184,0.301,0.328,0.295,0.289,0.505,0.798,0.274,
+0.270,0.523,0.341,0.197,0.211,0.268,0.357,0.033,0.140,0.281,
+0.554,0.347,0.248,0.588,0.578,0.298,0.219,0.358,0.340,0.236,
+0.217,0.267,0.351,0.028,0.172,0.326,0.435,0.480,0.232,0.494,
+0.322,0.270,0.219,0.361,0.025,0.021,0.020,0.036,0.228,0.018,
+0.211,0.248,0.261,0.292,0.280,0.388,0.562,0.269,0.293,0.656,
+0.360,0.262,0.304,0.506,0.429,0.035,0.279,0.507,0.673,0.512,
+0.584,1.160,1.000,0.673,0.481,0.814,0.615,0.513,0.329,0.482,
+0.474,0.056,0.224,0.413,0.637,0.595,0.353,0.731,0.801,0.614,
+0.337,0.531,0.580,0.444,0.427,0.446,0.517,0.065,0.339,0.454,
+0.447,0.554,0.331,0.476,0.404,0.425,0.280,0.466,0.042,0.055,
+0.037,0.061,0.290,0.041,0.246,0.347,0.220,0.356,0.298,0.456,
+0.541,0.362,0.236,0.438,0.507,0.461,0.309,0.450,0.282,0.031,
+0.210,0.306,0.373,0.391,0.327,0.674,0.713,0.496,0.271,0.467,
+0.637,0.506,0.338,0.364,0.387,0.049,0.181,0.277,0.418,0.357,
+0.223,0.399,0.687,0.571,0.313,0.641,0.652,0.427,0.348,0.356,
+0.535,0.073,0.381,0.469,0.359,0.475,0.325,0.380,0.446,0.536,
+0.260,0.402,0.055,0.065,0.038,0.047,0.401,0.073,0.282,0.470,
+0.239,0.517,0.341,0.503,0.341,0.278,0.172,0.323,0.477,0.497,
+0.286,0.377,0.301,0.031,0.272,0.397,0.270,0.298,0.299,0.506,
+0.537,0.302,0.249,0.465,0.545,0.498,0.430,0.449,0.391,0.059,
+0.211,0.326,0.428,0.358,0.329,0.518,0.039,0.047,0.025,0.047,
+0.055,0.073,0.056,0.046,0.039,0.011,0.038,0.046,0.044,0.072,
+0.045,0.054,0.417,0.462,0.401,0.498,0.050,0.060,0.075,0.073,
+0.423,0.071,0.312,0.453,0.286,0.534,0.518,0.576,0.402,0.263,
+0.295,0.778,0.632,0.595,0.779,0.826,0.434,0.051,0.355,0.570,
+0.383,0.382,0.543,0.767,0.560,0.333,0.277,0.447,0.339,0.266,
+0.239,0.283,0.402,0.039,0.180,0.299,0.454,0.362,0.348,0.608,
+0.717,0.499,0.311,0.496,0.474,0.503,0.385,0.430,0.498,0.057,
+0.334,0.531,0.514,0.680,0.450,0.677,0.374,0.439,0.368,0.512,
+0.032,0.042,0.036,0.051,0.378,0.042,0.290,0.454,0.313,0.487,
+0.511,0.627,0.485,0.311,0.287,0.560,0.435,0.414,0.359,0.550,
+0.406,0.042,0.343,0.639,0.548,0.544,0.624,1.040,0.747,0.504,
+0.282,0.602,0.429,0.430,0.209,0.334,0.527,0.043,0.205,0.316,
+0.749,0.355,0.221,0.436,0.636,0.500,0.227,0.386,0.551,0.421,
+0.289,0.321,0.520,0.062,0.409,0.423,0.520,0.481,0.263,0.412,
+0.392,0.475,0.286,0.427,0.048,0.060,0.041,0.064,0.343,0.048,
+0.219,0.326,0.254,0.434,0.281,0.381,0.369,0.253,0.162,0.350,
+0.367,0.377,0.243,0.359,0.467,0.046,0.245,0.406,0.447,0.362,
+0.366,0.718,0.040,0.034,0.020,0.030,0.042,0.040,0.028,0.032,
+0.033,3.84e-3,0.018,0.024,0.036,0.034,0.019,0.029,0.049,0.039,
+0.016,0.027,0.104,0.054,0.031,0.053,0.045,0.012,0.072,0.049,
+0.034,0.049,0.026,0.032,0.025,0.035,0.017,0.025,6.02e-3,8.19e-3,
+5.18e-3,5.60e-3,0.033,8.86e-3,0.029,0.039,0.018,0.053,0.040,0.039,
+0.037,0.027,0.013,0.033,0.043,0.053,0.032,0.047,0.036,7.60e-3,
+0.026,0.039,0.034,0.034,0.032,0.061,0.498,0.328,0.207,0.260,
+0.407,0.437,0.437,0.323,0.349,0.064,0.246,0.277,0.289,0.336,
+0.299,0.370,0.035,0.050,0.019,0.026,0.046,0.054,0.039,0.030,
+0.039,0.012,0.047,0.032,0.033,0.070,0.041,0.040,0.375,0.463,
+0.303,0.314,0.045,0.065,0.047,0.044,0.399,0.068,0.193,0.308,
+0.209,0.418,0.429,0.353,0.330,0.277,0.169,0.241,0.578,0.475,
+0.393,0.379,0.405,0.056,0.432,0.442,0.307,0.345,0.421,0.510,
+0.525,0.301,0.186,0.314,0.316,0.259,0.190,0.207,0.291,0.038,
+0.182,0.256,0.300,0.290,0.226,0.397,0.563,0.476,0.256,0.367,
+0.474,0.477,0.301,0.329,0.470,0.058,0.416,0.532,0.404,0.647,
+0.456,0.540,0.407,0.470,0.293,0.391,0.053,0.054,0.036,0.044,
+0.437,0.052,0.380,0.462,0.310,0.543,0.474,0.510,0.445,0.271,
+0.242,0.386,0.411,0.387,0.321,0.382,0.506,0.050,0.486,0.654,
+0.485,0.536,0.583,0.812,0.987,0.467,0.284,0.629,0.418,0.304,
+0.197,0.325,0.423,0.040,0.178,0.327,0.657,0.401,0.247,0.623,
+0.609,0.332,0.160,0.299,0.394,0.249,0.154,0.230,0.430,0.033,
+0.175,0.293,0.336,0.305,0.168,0.332,0.417,0.349,0.210,0.444,
+0.037,0.034,0.022,0.059,0.287,0.026,0.156,0.325,0.318,0.331,
+0.225,0.430,0.648,0.338,0.244,0.592,0.422,0.303,0.228,0.463,
+0.403,0.030,0.216,0.451,0.624,0.417,0.413,1.100,0.610,0.361,
+0.247,0.400,0.410,0.351,0.276,0.290,0.330,0.030,0.162,0.269,
+0.360,0.288,0.219,0.413,0.515,0.348,0.157,0.283,0.536,0.310,
+0.201,0.288,0.551,0.040,0.303,0.401,0.319,0.332,0.199,0.342,
+0.339,0.309,0.171,0.334,0.030,0.035,0.021,0.032,0.315,0.032,
+0.188,0.366,0.288,0.389,0.275,0.570,0.549,0.320,0.172,0.375,
+0.379,0.361,0.222,0.432,0.346,0.032,0.213,0.412,0.394,0.353,
+0.339,0.904,0.739,0.361,0.262,0.406,0.557,0.448,0.422,0.558,
+0.466,0.056,0.261,0.405,0.469,0.442,0.367,0.676,0.049,0.039,
+0.022,0.036,0.038,0.048,0.040,0.046,0.033,4.18e-3,0.027,0.034,
+0.043,0.054,0.034,0.058,0.682,0.609,0.459,0.566,0.051,0.053,
+0.037,0.074,0.550,0.071,0.369,0.544,0.436,0.687,0.557,0.755,
+0.601,0.457,0.339,0.538,0.675,0.595,0.528,0.821,0.701,0.061,
+0.522,0.817,0.574,0.529,0.576,0.976,1.180,0.478,0.334,0.669,
+0.524,0.372,0.280,0.410,0.576,0.055,0.254,0.512,0.781,0.540,
+0.483,1.040,0.782,0.495,0.304,0.505,0.580,0.619,0.391,0.462,
+0.598,0.047,0.389,0.639,0.599,0.587,0.420,0.876,0.779,0.675,
+0.460,0.812,0.062,0.057,0.035,0.070,0.693,0.055,0.487,0.827,
+0.672,0.818,0.737,1.150,1.180,0.621,0.493,1.110,0.938,0.867,
+0.563,0.985,0.952,0.066,0.731,1.320,1.280,0.872,0.968,1.560,
+1.490,0.833,0.728,1.690,0.927,0.548,0.463,0.709,1.140,0.117,
+0.467,0.856,1.910,1.870,0.635,1.380,0.964,0.459,0.396,0.675,
+0.530,0.332,0.256,0.341,0.592,0.043,0.260,0.396,0.593,0.575,
+0.316,0.617,0.810,0.528,0.444,0.836,0.063,0.048,0.034,0.095,
+0.469,0.041,0.204,0.378,0.689,0.584,0.371,0.623,1.320,0.564,
+0.582,1.480,0.882,0.606,0.480,1.030,0.693,0.055,0.298,0.583,
+1.500,0.772,0.560,1.270,1.110,0.487,0.353,0.668,0.545,0.319,
+0.247,0.368,0.482,0.047,0.207,0.352,0.508,0.504,0.249,0.511,
+0.591,0.315,0.222,0.373,0.310,0.175,0.156,0.192,0.418,0.024,
+0.155,0.273,0.280,0.255,0.163,0.299,0.445,0.326,0.233,0.399,
+0.032,0.025,0.017,0.034,0.477,0.028,0.161,0.264,0.265,0.272,
+0.210,0.307,0.554,0.316,0.270,0.517,0.455,0.423,0.252,0.442,
+0.431,0.030,0.195,0.340,0.486,0.360,0.296,0.677,0.871,0.329,
+0.318,0.538,0.507,0.280,0.255,0.361,0.523,0.047,0.185,0.365,
+0.550,0.412,0.305,0.653,0.047,0.030,0.023,0.041,0.035,0.026,
+0.020,0.026,0.032,3.84e-3,0.018,0.031,0.051,0.058,0.032,0.060,
+0.384,0.269,0.283,0.337,0.032,0.018,0.022,0.030,0.274,0.024,
+0.173,0.215,0.256,0.260,0.481,0.370,0.427,0.232,0.250,0.460,
+0.458,0.299,0.253,0.400,0.398,0.030,0.228,0.368,0.424,0.345,
+0.404,0.741,1.240,0.434,0.408,0.894,0.477,0.261,0.339,0.421,
+0.607,0.048,0.245,0.451,0.929,0.541,0.398,1.010,0.674,0.373,
+0.287,0.489,0.405,0.264,0.216,0.323,0.414,0.032,0.226,0.345,
+0.491,0.437,0.305,0.581,0.520,0.379,0.385,0.516,0.043,0.028,
+0.028,0.049,0.350,0.030,0.573,0.416,0.364,0.343,0.386,0.502,
+0.935,0.424,0.430,0.926,0.497,0.349,0.323,0.602,0.623,0.039,
+0.397,0.665,1.000,0.684,0.658,1.620,1.270,0.618,0.437,0.871,
+0.546,0.352,0.257,0.398,0.474,0.039,0.169,0.364,0.632,0.498,
+0.283,0.626,0.629,0.358,0.245,0.410,0.345,0.256,0.181,0.234,
+0.296,0.024,0.178,0.261,0.269,0.260,0.196,0.359,0.419,0.342,
+0.244,0.422,0.032,0.033,0.024,0.050,0.237,0.021,0.125,0.191,
+0.233,0.277,0.187,0.331,0.514,0.264,0.263,0.577,0.470,0.299,
+0.231,0.485,0.309,0.023,0.147,0.262,0.426,0.346,0.353,0.680,
+0.678,0.402,0.202,0.387,0.382,0.295,0.170,0.254,0.333,0.028,
+0.125,0.240,0.332,0.276,0.143,0.320,0.406,0.288,0.179,0.225,
+0.273,0.161,0.139,0.170,0.251,0.021,0.131,0.202,0.194,0.204,
+0.124,0.223,0.327,0.305,0.179,0.279,0.024,0.025,0.016,0.024,
+0.254,0.028,0.101,0.165,0.191,0.271,0.154,0.253,0.328,0.223,
+0.159,0.324,0.290,0.264,0.158,0.297,0.270,0.018,0.109,0.239,
+0.240,0.248,0.185,0.416,0.497,0.278,0.210,0.374,0.332,0.261,
+0.227,0.265,0.342,0.032,0.146,0.273,0.331,0.279,0.218,0.459,
+0.029,0.033,0.018,0.028,0.021,0.027,0.016,0.019,0.022,3.84e-3,
+0.014,0.025,0.028,0.032,0.019,0.036,0.353,0.296,0.228,0.326,
+0.025,0.024,0.021,0.027,0.252,0.021,0.154,0.196,0.222,0.291,
+0.419,0.390,0.317,0.221,0.192,0.374,0.320,0.282,0.221,0.320,
+0.288,0.022,0.198,0.319,0.265,0.261,0.308,0.599,0.538,0.292,
+0.198,0.376,0.292,0.185,0.158,0.237,0.299,0.022,0.124,0.228,
+0.489,0.256,0.192,0.491,0.366,0.319,0.172,0.288,0.227,0.212,
+0.157,0.229,0.215,0.018,0.122,0.242,0.240,0.262,0.153,0.322,
+0.321,0.291,0.294,0.359,0.024,0.020,0.017,0.028,0.212,0.017,
+0.258,0.232,0.231,0.240,0.254,0.355,0.423,0.235,0.245,0.405,
+0.305,0.232,0.192,0.327,0.335,0.022,0.223,0.404,0.502,0.466,
+0.401,0.856,0.840,0.454,0.293,0.696,0.337,0.253,0.166,0.329,
+0.581,0.048,0.180,0.386,0.511,0.428,0.210,0.625,0.523,0.351,
+0.200,0.423,0.292,0.216,0.151,0.281,0.411,0.033,0.193,0.278,
+0.335,0.336,0.205,0.441,0.423,0.380,0.412,0.626,0.039,0.041,
+0.033,0.087,0.299,0.027,0.144,0.229,0.274,0.400,0.193,0.394,
+0.546,0.297,0.337,0.807,0.364,0.298,0.273,0.634,0.400,0.036,
+0.194,0.406,0.545,0.478,0.442,1.120,0.049,0.033,0.021,0.041,
+0.030,0.028,0.014,0.025,0.035,4.35e-3,0.013,0.024,0.032,0.036,
+0.021,0.042,0.034,0.026,0.017,0.025,0.025,0.025,0.011,0.019,
+0.029,3.01e-3,0.017,0.024,0.031,0.031,0.015,0.030,0.024,0.030,
+0.024,0.039,3.34e-3,4.09e-3,4.85e-3,6.02e-3,0.026,4.09e-3,0.015,0.021,
+0.026,0.036,0.018,0.032,0.061,0.038,0.035,0.086,0.056,0.059,
+0.047,0.101,0.041,4.26e-3,0.022,0.044,0.059,0.060,0.049,0.098,
+0.385,0.232,0.157,0.252,0.250,0.239,0.152,0.201,0.325,0.037,
+0.177,0.259,0.265,0.260,0.180,0.361,0.030,0.025,0.012,0.020,
+0.018,0.021,0.013,0.013,0.026,4.43e-3,0.017,0.021,0.029,0.032,
+0.017,0.030,0.292,0.307,0.277,0.301,0.023,0.032,0.024,0.028,
+0.325,0.036,0.192,0.248,0.210,0.249,0.218,0.264,0.293,0.185,
+0.184,0.267,0.262,0.284,0.195,0.305,0.361,0.031,0.206,0.286,
+0.264,0.272,0.257,0.441,0.449,0.218,0.155,0.318,0.248,0.189,
+0.113,0.170,0.297,0.027,0.121,0.220,0.385,0.264,0.166,0.411,
+0.417,0.266,0.156,0.281,0.276,0.213,0.136,0.175,0.268,0.023,
+0.159,0.263,0.340,0.305,0.186,0.342,0.317,0.287,0.226,0.333,
+0.034,0.028,0.017,0.029,0.402,0.025,0.175,0.265,0.272,0.311,
+0.225,0.374,0.457,0.266,0.266,0.410,0.325,0.275,0.203,0.337,
+0.453,0.037,0.281,0.486,0.556,0.476,0.441,0.882,1.320,0.570,
+0.435,0.994,0.443,0.288,0.231,0.353,0.508,0.043,0.227,0.435,
+0.820,0.483,0.346,0.923,0.533,0.255,0.194,0.404,0.273,0.160,
+0.130,0.223,0.336,0.020,0.159,0.265,0.357,0.256,0.191,0.418,
+0.528,0.364,0.410,0.905,0.042,0.030,0.025,0.093,0.311,0.022,
+0.166,0.338,0.332,0.329,0.230,0.561,0.994,0.423,0.620,2.050,
+0.557,0.355,0.388,1.020,0.473,0.033,0.283,0.551,0.879,0.562,
+0.652,1.770,0.754,0.365,0.251,0.556,0.393,0.272,0.167,0.326,
+0.365,0.030,0.171,0.334,0.393,0.317,0.224,0.498,0.469,0.257,
+0.153,0.299,0.258,0.183,0.110,0.197,0.279,0.021,0.149,0.253,
+0.287,0.266,0.149,0.294,0.395,0.297,0.262,0.577,0.025,0.025,
+0.019,0.056,0.330,0.024,0.155,0.290,0.290,0.305,0.203,0.420,
+0.676,0.345,0.354,1.170,0.523,0.414,0.364,1.240,0.442,0.036,
+0.225,0.497,0.561,0.505,0.505,1.040,0.582,0.259,0.228,0.457,
+0.386,0.251,0.217,0.423,0.409,0.040,0.205,0.372,0.414,0.331,
+0.291,0.599,0.036,0.024,0.017,0.032,0.022,0.020,0.014,0.019,
+0.027,2.01e-3,0.020,0.031,0.032,0.033,0.023,0.042,0.338,0.293,
+0.245,0.400,0.022,0.018,0.016,0.038,0.350,0.033,0.233,0.285,
+0.254,0.315,0.309,0.439,0.445,0.257,0.298,0.540,0.401,0.317,
+0.290,0.534,0.501,0.033,0.319,0.496,0.475,0.390,0.460,0.843,
+1.010,0.417,0.373,0.821,0.457,0.331,0.254,0.517,0.558,0.045,
+0.262,0.521,0.890,0.503,0.453,1.160,0.529,0.317,0.213,0.420,
+0.318,0.226,0.176,0.279,0.327,0.021,0.234,0.437,0.440,0.366,
+0.276,0.628,0.577,0.445,0.396,0.753,0.041,0.031,0.022,0.060,
+0.474,0.032,0.293,0.518,0.549,0.647,0.445,0.828,1.150,0.545,
+0.592,1.470,0.747,0.614,0.495,1.000,1.010,0.057,0.704,1.520,
+1.790,1.210,1.220,2.570,1.380,0.817,0.714,1.400,0.821,0.545,
+0.433,0.619,0.692,0.078,0.395,0.596,1.120,0.960,0.475,0.918,
+0.868,0.563,0.453,0.707,0.546,0.394,0.319,0.421,0.456,0.043,
+0.301,0.372,0.419,0.483,0.327,0.505,0.516,0.431,0.345,0.653,
+0.048,0.040,0.037,0.087,0.471,0.037,0.202,0.335,0.346,0.398,
+0.303,0.483,0.766,0.451,0.368,1.000,0.626,0.447,0.369,0.845,
+0.434,0.035,0.235,0.455,0.662,0.431,0.480,1.050,0.954,0.598,
+0.466,0.699,0.637,0.409,0.279,0.374,0.495,0.065,0.286,0.412,
+0.469,0.682,0.260,0.507,0.631,0.433,0.319,0.514,0.409,0.318,
+0.243,0.305,0.426,0.043,0.390,0.419,0.294,0.386,0.260,0.377,
+0.429,0.417,0.264,0.386,0.058,0.038,0.034,0.052,1.860,0.087,
+0.250,0.342,0.386,0.440,0.285,0.334,0.359,0.267,0.185,0.367,
+0.481,0.374,0.251,0.509,0.488,0.034,0.229,0.342,0.358,0.404,
+0.317,0.574,0.629,0.340,0.359,0.479,0.520,0.328,0.305,0.377,
+0.465,0.061,0.210,0.332,0.416,0.440,0.295,0.584,0.046,0.036,
+0.026,0.053,0.035,0.044,0.027,0.046,0.030,6.02e-3,0.024,0.039,
+0.035,0.067,0.037,0.059,0.354,0.321,0.264,0.339,0.038,0.027,
+0.029,0.049,0.402,0.037,0.211,0.294,0.250,0.368,0.339,0.505,
+0.363,0.256,0.223,0.421,0.452,0.377,0.297,0.463,0.439,0.041,
+0.262,0.424,0.397,0.458,0.451,0.733,0.800,0.388,0.304,0.579,
+0.370,0.255,0.223,0.378,0.438,0.046,0.208,0.369,0.572,0.429,
+0.283,0.814,0.584,0.405,0.307,0.527,0.388,0.391,0.267,0.466,
+0.334,0.039,0.284,0.441,0.350,0.502,0.303,0.589,0.356,0.342,
+0.265,0.466,0.032,0.027,0.027,0.053,0.324,0.029,0.214,0.323,
+0.267,0.350,0.296,0.475,0.659,0.350,0.388,0.685,0.369,0.294,
+0.275,0.455,0.510,0.039,0.322,0.564,0.671,0.580,0.602,1.270,
+1.110,0.700,0.452,0.791,0.666,0.563,0.330,0.436,0.424,0.046,
+0.198,0.411,0.587,0.510,0.324,0.578,0.740,0.527,0.293,0.449,
+0.504,0.493,0.276,0.358,0.338,0.043,0.244,0.347,0.262,0.332,
+0.254,0.381,0.367,0.382,0.282,0.390,0.036,0.045,0.030,0.049,
+0.238,0.028,0.163,0.210,0.216,0.286,0.222,0.367,0.400,0.243,
+0.221,0.488,0.415,0.392,0.257,0.423,0.260,0.024,0.172,0.269,
+0.357,0.288,0.406,0.640,0.769,0.604,0.292,0.456,0.547,0.605,
+0.311,0.368,0.391,0.041,0.198,0.293,0.309,0.373,0.224,0.375,
+0.596,0.588,0.273,0.357,0.423,0.271,0.282,0.326,0.357,0.058,
+0.249,0.354,0.234,0.426,0.242,0.389,0.345,0.496,0.235,0.320,
+0.039,0.058,0.030,0.043,0.352,0.050,0.183,0.265,0.199,0.399,
+0.254,0.322,0.314,0.262,0.172,0.312,0.393,0.518,0.249,0.440,
+0.299,0.030,0.174,0.286,0.273,0.350,0.243,0.549,0.587,0.331,
+0.237,0.470,0.500,0.440,0.328,0.354,0.384,0.048,0.200,0.304,
+0.351,0.346,0.274,0.507,0.058,0.046,0.026,0.096,0.035,0.066,
+0.037,0.036,0.027,8.61e-3,0.027,0.034,0.024,0.048,0.032,0.051,
+0.471,0.488,0.334,0.395,0.041,0.059,0.044,0.049,0.383,0.049,
+0.243,0.295,0.217,0.395,0.373,0.407,0.367,0.339,0.244,0.386,
+0.466,0.559,0.414,0.463,0.401,0.047,0.304,0.411,0.345,0.382,
+0.428,0.665,0.599,0.340,0.190,0.397,0.361,0.272,0.181,0.261,
+0.346,0.030,0.146,0.279,0.474,0.310,0.242,0.596,0.490,0.386,
+0.228,0.436,0.343,0.466,0.305,0.422,0.243,0.032,0.198,0.296,
+0.263,0.405,0.246,0.421,0.342,0.412,0.289,0.388,0.025,0.034,
+0.022,0.037,0.275,0.029,0.250,0.288,0.243,0.365,0.325,0.398,
+0.420,0.274,0.284,0.437,0.335,0.336,0.243,0.372,0.339,0.032,
+0.270,0.429,0.488,0.535,0.516,0.961,0.638,0.584,0.303,0.578,
+0.356,0.340,0.192,0.334,0.329,0.035,0.175,0.276,0.399,0.348,
+0.199,0.415,0.550,0.547,0.238,0.395,0.406,0.490,0.241,0.440,
+0.350,0.052,0.317,0.336,0.276,0.392,0.213,0.359,0.339,0.444,
+0.414,0.590,0.041,0.062,0.067,0.131,0.296,0.040,0.174,0.266,
+0.191,0.369,0.213,0.340,0.382,0.272,0.259,0.615,0.356,0.371,
+0.366,0.781,0.356,0.035,0.203,0.367,0.396,0.387,0.608,0.919,
+0.029,0.034,0.017,0.033,0.039,0.044,0.023,0.031,0.028,5.77e-3,
+0.022,0.024,0.028,0.036,0.017,0.029,0.036,0.049,0.019,0.029,
+0.044,0.061,0.029,0.036,0.034,0.012,0.048,0.038,0.024,0.047,
+0.022,0.035,0.021,0.044,0.043,0.047,6.60e-3,0.015,0.042,0.020,
+0.041,9.94e-3,0.026,0.038,0.020,0.044,0.034,0.032,0.036,0.030,
+0.024,0.062,0.056,0.088,0.085,0.205,0.036,7.10e-3,0.032,0.048,
+0.031,0.043,0.052,0.079,0.386,0.378,0.189,0.282,0.364,0.548,
+0.254,0.277,0.354,0.061,0.309,0.392,0.261,0.342,0.242,0.427,
+0.031,0.045,0.021,0.026,0.031,0.057,0.030,0.027,0.033,0.011,
+0.039,0.034,0.027,0.056,0.029,0.062,0.312,0.615,0.277,0.316,
+0.036,0.148,0.042,0.051,0.329,0.048,0.191,0.247,0.184,0.356,
+0.268,0.314,0.279,0.255,0.179,0.292,0.384,0.718,0.319,0.536,
+0.747,0.079,0.328,0.444,0.337,0.376,0.358,0.583,0.449,0.395,
+0.181,0.336,0.318,0.348,0.139,0.200,0.305,0.038,0.166,0.276,
+0.346,0.329,0.182,0.454,0.440,0.464,0.221,0.326,0.400,0.511,
+0.252,0.315,0.352,0.049,0.316,0.498,0.320,0.517,0.279,0.473,
+0.336,0.441,0.289,0.378,0.029,0.043,0.029,0.040,0.358,0.039,
+0.250,0.340,0.296,0.446,0.294,0.440,0.371,0.290,0.225,0.464,
+0.319,0.381,0.252,0.438,0.572,0.051,0.401,0.573,0.544,0.617,
+0.562,1.190,0.833,0.434,0.356,0.676,0.451,0.284,0.218,0.409,
+0.409,0.036,0.251,0.419,0.582,0.399,0.280,0.636,0.471,0.298,
+0.201,0.351,0.311,0.265,0.158,0.294,0.298,0.028,0.185,0.288,
+0.297,0.248,0.182,0.344,0.391,0.322,0.340,0.639,0.032,0.030,
+0.025,0.093,0.263,0.025,0.189,0.303,0.235,0.271,0.234,0.445,
+0.614,0.327,0.429,1.310,0.443,0.323,0.341,1.270,0.379,0.030,
+0.256,0.529,0.575,0.398,0.596,1.340,0.716,0.458,0.318,0.603,
+0.557,0.415,0.334,0.524,0.432,0.048,0.420,0.519,0.421,0.445,
+0.307,0.553,0.497,0.417,0.229,0.387,0.459,0.439,0.243,0.425,
+0.421,0.050,0.338,0.447,0.343,0.441,0.255,0.435,0.433,0.487,
+0.439,0.877,0.043,0.055,0.103,0.189,0.499,0.048,0.284,0.461,
+0.329,0.483,0.324,0.534,0.627,0.441,0.432,1.610,0.924,0.775,
+0.941,6.430,0.480,0.045,0.383,0.808,0.508,0.604,0.569,1.470,
+0.544,0.319,0.236,0.368,0.423,0.364,0.247,0.383,0.397,0.049,
+0.256,0.388,0.376,0.380,0.301,0.553,0.030,0.027,0.017,0.029,
+0.026,0.042,0.020,0.029,0.023,4.76e-3,0.023,0.032,0.028,0.038,
+0.025,0.043,0.355,0.398,0.272,0.424,0.031,0.049,0.025,0.054,
+0.389,0.050,0.327,0.391,0.284,0.429,0.471,0.542,0.387,0.285,
+0.291,0.468,0.461,0.494,0.373,0.852,0.617,0.049,0.420,0.644,
+0.450,0.477,0.565,0.900,0.709,0.406,0.274,0.560,0.393,0.323,
+0.228,0.360,0.439,0.050,0.219,0.418,0.490,0.366,0.293,0.706,
+0.540,0.389,0.228,0.393,0.353,0.392,0.243,0.339,0.308,0.032,
+0.268,0.481,0.372,0.439,0.270,0.579,0.482,0.457,0.372,0.687,
+0.035,0.034,0.025,0.063,0.471,0.037,0.340,0.538,0.456,0.557,
+0.509,0.773,0.811,0.447,0.443,0.992,0.619,0.576,0.474,1.030,
+0.742,0.054,0.614,1.060,1.160,0.984,1.030,1.670,1.090,0.583,
+0.489,0.869,0.572,0.371,0.284,0.407,0.445,0.045,0.186,0.383,
+0.688,0.617,0.285,0.599,0.527,0.328,0.197,0.349,0.373,0.287,
+0.190,0.316,0.287,0.026,0.154,0.224,0.298,0.294,0.188,0.343,
+0.443,0.387,0.239,0.459,0.036,0.028,0.021,0.051,0.253,0.021,
+0.148,0.252,0.250,0.282,0.213,0.371,0.590,0.330,0.224,0.550,
+0.426,0.276,0.195,0.403,0.355,0.025,0.144,0.280,0.532,0.258,
+0.282,0.789,0.773,0.441,0.273,0.532,0.544,0.417,0.325,0.383,
+0.366,0.039,0.152,0.287,0.377,0.403,0.194,0.418,0.527,0.387,
+0.194,0.314,0.419,0.361,0.227,0.276,0.386,0.034,0.203,0.289,
+0.269,0.287,0.159,0.283,0.399,0.471,0.237,0.385,0.036,0.044,
+0.028,0.049,0.366,0.035,0.192,0.334,0.238,0.351,0.245,0.348,
+0.404,0.302,0.158,0.344,0.430,0.385,0.245,0.430,0.370,0.026,
+0.169,0.342,0.344,0.294,0.285,0.634,0.597,0.310,0.231,0.426,
+0.509,0.349,0.326,0.375,0.503,0.066,0.166,0.292,0.479,0.529,
+0.261,0.564,0.047,0.056,0.023,0.041,0.044,0.053,0.041,0.046,
+0.046,9.53e-3,0.023,0.037,0.055,0.085,0.036,0.067,0.370,0.355,
+0.351,0.385,0.043,0.032,0.041,0.051,0.505,0.037,0.203,0.263,
+0.255,0.347,0.341,0.377,0.334,0.222,0.226,0.357,0.500,0.353,
+0.435,0.495,0.412,0.037,0.226,0.371,0.403,0.355,0.433,0.648,
+0.659,0.282,0.222,0.476,0.335,0.218,0.222,0.264,0.334,0.035,
+0.137,0.249,0.527,0.378,0.264,0.601,0.472,0.364,0.207,0.341,
+0.366,0.361,0.235,0.293,0.304,0.030,0.179,0.290,0.355,0.396,
+0.258,0.482,0.417,0.414,0.323,0.481,0.042,0.034,0.037,0.054,
+0.364,0.034,0.249,0.355,0.355,0.470,0.419,0.572,0.598,0.359,
+0.290,0.634,0.425,0.305,0.337,0.517,0.561,0.045,0.321,0.580,
+0.805,0.821,0.710,1.390,0.055,0.043,0.035,0.041,0.037,0.033,
+0.018,0.027,0.025,3.59e-3,0.014,0.023,0.038,0.040,0.019,0.037,
+0.040,0.036,0.020,0.031,0.034,0.043,0.025,0.027,0.026,3.26e-3,
+0.014,0.022,0.021,0.034,0.017,0.032,0.024,0.026,0.018,0.032,
+2.67e-3,4.51e-3,2.76e-3,5.85e-3,0.020,2.42e-3,0.014,0.019,0.016,0.024,
+0.016,0.028,0.033,0.021,0.016,0.035,0.035,0.030,0.023,0.035,
+0.028,1.59e-3,0.013,0.021,0.029,0.025,0.027,0.058,0.035,0.032,
+0.017,0.023,0.032,0.044,0.020,0.023,0.023,2.92e-3,0.012,0.015,
+0.017,0.024,0.012,0.022,0.043,0.056,0.019,0.025,0.058,0.105,
+0.031,0.039,0.034,8.11e-3,0.019,0.025,0.017,0.036,0.018,0.022,
+0.028,0.050,0.020,0.028,3.59e-3,0.010,5.77e-3,5.18e-3,0.035,9.02e-3,
+0.019,0.027,0.015,0.034,0.022,0.029,0.031,0.024,0.012,0.023,
+0.035,0.049,0.024,0.035,0.024,3.26e-3,0.015,0.025,0.022,0.023,
+0.019,0.042,0.043,0.025,0.012,0.023,0.030,0.034,0.025,0.024,
+0.025,4.43e-3,0.012,0.018,0.024,0.024,0.018,0.029,4.09e-3,4.60e-3,
+1.17e-3,4.09e-3,5.26e-3,0.012,4.60e-3,4.26e-3,4.26e-3,1.75e-3,4.43e-3,2.59e-3,
+2.26e-3,5.52e-3,3.26e-3,4.60e-3,0.029,0.035,0.030,0.033,6.85e-3,6.27e-3,
+8.52e-3,6.27e-3,0.105,0.011,0.026,0.026,0.023,0.035,0.035,0.033,
+0.025,0.017,0.028,0.030,0.039,0.039,0.040,0.045,0.043,4.76e-3,
+0.024,0.036,0.026,0.027,0.029,0.048,0.041,0.030,0.018,0.032,
+0.027,0.024,0.019,0.022,0.025,3.26e-3,0.011,0.020,0.037,0.032,
+0.025,0.048,0.041,0.043,0.022,0.034,0.043,0.104,0.028,0.039,
+0.032,4.68e-3,0.019,0.030,0.032,0.044,0.029,0.057,0.027,0.034,
+0.027,0.043,4.09e-3,5.35e-3,4.60e-3,8.94e-3,0.035,4.18e-3,0.022,0.029,
+0.022,0.038,0.038,0.056,0.044,0.029,0.025,0.047,0.032,0.035,
+0.027,0.060,0.037,4.51e-3,0.025,0.041,0.047,0.057,0.049,0.102,
+0.583,0.411,0.253,0.487,0.345,0.361,0.173,0.279,0.360,0.032,
+0.154,0.219,0.331,0.228,0.164,0.293,0.559,0.342,0.168,0.282,
+0.363,0.307,0.263,0.257,0.361,0.037,0.280,0.286,0.243,0.312,
+0.179,0.321,0.355,0.386,0.351,0.416,0.048,0.054,0.037,0.079,
+0.339,0.034,0.192,0.257,0.199,0.334,0.221,0.357,0.382,0.207,
+0.173,0.343,0.351,0.301,0.212,0.397,0.860,0.062,0.234,0.363,
+0.377,0.322,0.335,0.751,0.033,0.025,0.015,0.023,0.028,0.038,
+0.017,0.023,0.031,4.68e-3,0.013,0.019,0.018,0.023,9.53e-3,0.023,
+0.034,0.030,0.013,0.018,0.034,0.033,0.023,0.022,0.035,6.43e-3,
+0.046,0.032,0.017,0.026,0.013,0.022,0.024,0.039,0.025,0.026,
+4.60e-3,9.61e-3,6.85e-3,5.60e-3,0.025,5.77e-3,0.026,0.030,0.016,0.032,
+0.023,0.027,0.043,0.027,0.017,0.036,0.045,0.059,0.030,0.056,
+0.051,7.52e-3,0.028,0.042,0.030,0.032,0.029,0.060,0.446,0.277,
+0.181,0.218,0.387,0.383,0.319,0.289,0.321,0.047,0.237,0.258,
+0.221,0.273,0.225,0.325,0.029,0.040,0.022,0.025,0.034,0.048,
+0.038,0.025,0.037,8.36e-3,0.034,0.034,0.024,0.046,0.029,0.032,
+0.390,0.469,0.581,0.434,0.040,0.044,0.074,0.052,0.392,0.053,
+0.182,0.240,0.191,0.309,0.408,0.326,0.282,0.185,0.222,0.234,
+0.402,0.374,0.391,0.378,0.394,0.042,0.329,0.395,0.257,0.288,
+0.395,0.479,0.416,0.267,0.174,0.333,0.272,0.214,0.157,0.178,
+0.279,0.029,0.142,0.198,0.260,0.228,0.155,0.311,0.411,0.352,
+0.197,0.276,0.384,0.409,0.245,0.252,0.318,0.041,0.296,0.332,
+0.253,0.401,0.256,0.357,0.410,0.462,0.552,0.545,0.040,0.047,
+0.044,0.054,0.409,0.041,0.345,0.412,0.278,0.471,0.386,0.477,
+0.402,0.278,0.247,0.466,0.397,0.378,0.317,0.440,0.603,0.056,
+0.401,0.490,0.495,0.742,0.513,0.778,0.899,0.370,0.255,0.509,
+0.323,0.219,0.165,0.252,0.306,0.029,0.145,0.240,0.414,0.304,
+0.200,0.447,0.445,0.226,0.149,0.249,0.251,0.178,0.134,0.183,
+0.281,0.018,0.138,0.210,0.224,0.217,0.142,0.300,0.421,0.294,
+0.237,0.430,0.034,0.028,0.021,0.057,0.296,0.025,0.159,0.312,
+0.269,0.261,0.214,0.406,0.549,0.268,0.219,0.492,0.366,0.261,
+0.194,0.400,0.408,0.028,0.178,0.343,0.445,0.284,0.341,0.773,
+0.753,0.401,0.219,0.445,0.426,0.342,0.240,0.302,0.399,0.035,
+0.189,0.345,0.352,0.357,0.185,0.426,0.517,0.340,0.157,0.289,
+0.386,0.316,0.220,0.285,0.541,0.034,0.266,0.400,0.271,0.299,
+0.164,0.329,0.493,0.452,0.246,0.421,0.043,0.047,0.025,0.055,
+0.448,0.040,0.248,0.468,0.291,0.427,0.310,0.493,0.690,0.391,
+0.254,0.473,0.623,0.492,0.329,0.704,0.448,0.037,0.294,0.654,
+0.409,0.375,0.352,0.755,2.410,0.426,0.283,0.455,0.652,0.518,
+0.399,0.492,0.526,0.060,0.256,0.387,0.400,0.386,0.305,0.598,
+0.119,0.035,0.024,0.036,0.045,0.060,0.039,0.039,0.035,5.26e-3,
+0.027,0.047,0.032,0.047,0.029,0.056,0.680,0.472,0.424,0.527,
+0.044,0.040,0.041,0.055,0.549,0.057,0.342,0.466,0.340,0.489,
+0.472,0.586,0.906,0.343,0.899,0.620,0.598,0.456,0.492,0.615,
+0.541,0.058,0.455,0.733,0.564,0.420,0.555,0.831,0.838,0.344,
+0.252,0.540,0.391,0.289,0.237,0.374,0.446,0.048,0.201,0.347,
+0.471,0.332,0.284,0.732,0.513,0.301,0.193,0.389,0.364,0.354,
+0.254,0.339,0.318,0.028,0.246,0.431,0.328,0.425,0.281,0.746,
+0.627,0.562,0.470,0.752,0.044,0.040,0.032,0.067,0.593,0.045,
+0.446,0.692,0.542,0.688,0.606,0.891,0.851,0.429,0.432,0.985,
+0.635,0.534,0.436,0.784,0.741,0.054,0.554,0.927,0.988,0.904,
+0.852,1.500,1.630,0.772,0.601,1.580,0.649,0.445,0.313,0.509,
+0.660,0.063,0.248,0.481,1.090,0.844,0.399,0.952,0.670,0.394,
+0.254,0.526,0.373,0.248,0.184,0.255,0.363,0.031,0.193,0.258,
+0.481,0.525,0.251,0.457,0.520,0.416,0.284,0.625,0.042,0.030,
+0.025,0.063,0.300,0.026,0.144,0.269,0.388,0.383,0.267,0.492,
+0.813,0.434,0.338,0.858,0.541,0.351,0.265,0.558,0.419,0.034,
+0.229,0.402,0.692,0.442,0.427,1.110,0.827,0.417,0.272,0.562,
+0.414,0.281,0.229,0.286,0.295,0.027,0.128,0.235,0.359,0.311,
+0.176,0.398,0.472,0.281,0.162,0.310,0.284,0.200,0.128,0.201,
+0.282,0.019,0.161,0.211,0.281,0.250,0.171,0.297,0.363,0.289,
+0.184,0.361,0.025,0.022,0.016,0.032,0.301,0.016,0.111,0.210,
+0.282,0.277,0.198,0.315,0.365,0.214,0.139,0.365,0.313,0.239,
+0.156,0.348,0.265,0.018,0.154,0.284,0.310,0.253,0.238,0.618,
+0.652,0.284,0.271,0.475,0.483,0.283,0.474,0.398,0.425,0.041,
+0.127,0.266,0.551,0.436,0.234,0.608,0.042,0.031,0.022,0.044,
+0.042,0.033,0.053,0.044,0.035,3.93e-3,0.015,0.030,0.062,0.068,
+0.025,0.067,0.348,0.260,0.274,0.369,0.031,0.021,0.025,0.036,
+0.274,0.021,0.112,0.199,0.267,0.281,0.219,0.360,0.390,0.217,
+0.219,0.453,0.407,0.274,0.275,0.457,0.337,0.027,0.171,0.343,
+0.406,0.329,0.334,0.690,0.929,0.353,0.329,0.667,0.391,0.222,
+0.477,0.366,0.422,0.035,0.184,0.332,0.797,0.460,0.309,0.794,
+0.521,0.302,0.234,0.385,0.310,0.224,0.376,0.325,0.349,0.025,
+0.181,0.288,0.466,0.431,0.245,0.518,0.426,0.364,0.288,0.465,
+0.032,0.025,0.024,0.040,0.311,0.020,0.210,0.301,0.396,0.404,
+0.348,0.552,0.821,0.397,0.379,0.933,0.475,0.335,0.350,0.652,
+0.564,0.039,0.340,0.629,1.080,0.719,0.776,1.820,1.030,0.626,
+0.523,0.895,0.534,0.370,0.250,0.389,0.447,0.041,0.223,0.336,
+0.744,0.660,0.307,0.713,0.610,0.397,0.263,0.394,0.377,0.332,
+0.191,0.263,0.324,0.027,0.165,0.249,0.361,0.395,0.213,0.453,
+0.370,0.330,0.214,0.424,0.030,0.030,0.017,0.046,0.253,0.023,
+0.127,0.235,0.260,0.339,0.219,0.419,0.460,0.287,0.211,0.479,
+0.427,0.351,0.218,0.414,0.273,0.021,0.153,0.287,0.394,0.366,
+0.321,0.789,0.682,0.429,0.226,0.421,0.425,0.387,0.192,0.267,
+0.327,0.028,0.099,0.205,0.308,0.283,0.144,0.331,0.471,0.416,
+0.154,0.301,0.417,0.422,0.170,0.249,0.267,0.027,0.138,0.204,
+0.260,0.275,0.153,0.287,0.379,0.394,0.172,0.395,0.031,0.038,
+0.020,0.037,0.374,0.033,0.121,0.258,0.239,0.352,0.207,0.378,
+0.325,0.246,0.131,0.331,0.376,0.362,0.179,0.414,0.280,0.018,
+0.127,0.255,0.282,0.306,0.218,0.577,0.458,0.248,0.173,0.355,
+0.340,0.278,0.232,0.291,0.272,0.030,0.101,0.203,0.330,0.288,
+0.194,0.453,0.025,0.023,0.013,0.029,0.025,0.062,0.019,0.022,
+0.021,3.34e-3,9.44e-3,0.019,0.026,0.033,0.017,0.037,0.363,0.334,
+0.230,0.392,0.029,0.026,0.020,0.040,0.502,0.033,0.133,0.234,
+0.273,0.344,0.248,0.392,0.355,0.238,0.206,0.536,0.396,0.346,
+0.333,0.580,0.345,0.024,0.190,0.355,0.392,0.303,0.337,0.712,
+0.559,0.319,0.202,0.421,0.296,0.230,0.207,0.253,0.383,0.031,
+0.137,0.235,0.499,0.328,0.255,0.551,0.451,0.357,0.191,0.346,
+0.283,0.473,0.197,0.293,0.245,0.027,0.146,0.264,0.323,0.397,
+0.231,0.517,0.320,0.315,0.252,0.438,0.027,0.025,0.021,0.052,
+0.287,0.023,0.172,0.275,0.285,0.347,0.295,0.496,0.500,0.313,
+0.276,0.604,0.418,0.348,0.349,1.230,0.396,0.031,0.246,0.474,
+0.658,0.569,0.538,1.420,0.823,0.534,0.344,0.751,0.441,0.405,
+0.197,0.384,0.541,0.039,0.200,0.365,0.635,0.386,0.225,0.535,
+0.596,0.407,0.198,0.413,0.388,0.312,0.200,0.291,0.410,0.033,
+0.234,0.369,0.419,0.419,0.240,0.494,0.585,0.503,0.329,0.549,
+0.049,0.051,0.034,0.074,0.342,0.034,0.171,0.300,0.300,0.449,
+0.275,0.503,0.634,0.364,0.243,0.574,0.480,0.392,0.264,0.501,
+0.726,0.052,0.253,0.492,0.612,0.541,0.582,1.150,0.039,0.034,
+0.017,0.032,0.033,0.035,0.019,0.025,0.026,3.93e-3,0.011,0.021,
+0.035,0.030,0.018,0.037,0.033,0.027,9.02e-3,0.019,0.037,0.032,
+0.013,0.025,0.029,3.18e-3,0.020,0.028,0.032,0.036,0.017,0.033,
+0.032,0.029,0.020,0.028,3.01e-3,5.01e-3,3.34e-3,4.76e-3,0.024,4.01e-3,
+0.016,0.027,0.024,0.037,0.020,0.039,0.056,0.027,0.019,0.047,
+0.047,0.052,0.026,0.062,0.041,5.26e-3,0.020,0.040,0.045,0.042,
+0.040,0.099,0.542,0.345,0.223,0.374,0.434,0.409,0.308,0.362,
+0.361,0.050,0.212,0.286,0.346,0.375,0.250,0.487,0.037,0.030,
+0.013,0.027,0.030,0.033,0.021,0.025,0.028,4.35e-3,0.034,0.027,
+0.032,0.045,0.022,0.041,0.468,0.445,0.355,0.437,0.039,0.044,
+0.040,0.050,0.400,0.044,0.214,0.309,0.251,0.399,0.349,0.447,
+0.476,0.267,0.228,0.358,0.490,0.412,0.434,0.529,0.497,0.046,
+0.379,0.479,0.394,0.412,0.507,0.753,0.658,0.426,0.237,0.481,
+0.448,0.336,0.209,0.300,0.359,0.032,0.198,0.327,0.472,0.352,
+0.261,0.589,0.571,0.460,0.236,0.403,0.481,0.389,0.237,0.299,
+0.405,0.036,0.297,0.427,0.455,0.539,0.326,0.633,0.548,0.530,
+0.552,0.694,0.059,0.042,0.033,0.064,0.504,0.046,0.328,0.446,
+0.466,0.689,0.493,0.703,0.657,0.381,0.375,0.614,0.497,0.445,
+0.387,0.584,0.688,0.052,0.510,0.649,0.773,0.806,0.764,1.290,
+1.910,0.739,0.477,1.190,0.574,0.374,0.282,0.522,0.599,0.052,
+0.274,0.513,0.919,0.626,0.419,1.090,0.707,0.370,0.210,0.486,
+0.397,0.297,0.160,0.312,0.408,0.032,0.193,0.389,0.407,0.363,
+0.219,0.534,0.676,0.500,0.329,0.805,0.044,0.036,0.025,0.076,
+0.419,0.031,0.215,0.469,0.464,0.488,0.342,0.755,1.150,0.539,
+0.418,1.120,0.606,0.417,0.344,0.789,0.628,0.047,0.382,0.690,
+0.986,0.793,0.726,1.970,1.040,0.513,0.300,0.642,0.526,0.386,
+0.247,0.375,0.411,0.031,0.198,0.355,0.471,0.409,0.233,0.595,
+0.691,0.427,0.188,0.436,0.510,0.442,0.185,0.348,0.439,0.031,
+0.224,0.409,0.397,0.366,0.218,0.566,0.618,0.463,0.269,0.628,
+0.035,0.035,0.019,0.050,0.477,0.039,0.227,0.522,0.482,0.531,
+0.342,0.840,0.761,0.383,0.299,0.703,0.536,0.455,0.303,0.904,
+0.500,0.036,0.273,0.591,0.635,0.627,0.503,2.500,1.160,0.487,
+0.360,0.603,0.704,0.485,0.379,0.608,0.597,0.057,0.273,0.527,
+0.676,0.594,0.408,0.993,0.052,0.035,0.021,0.045,0.039,0.039,
+0.024,0.044,0.025,3.34e-3,0.021,0.036,0.053,0.053,0.029,0.088,
+0.915,0.805,0.550,0.872,0.048,0.044,0.032,0.077,0.661,0.057,
+0.397,0.568,0.602,0.720,0.740,1.050,0.970,0.576,0.558,0.861,
+0.846,0.612,0.568,1.030,0.911,0.064,0.613,1.070,0.904,0.696,
+0.922,1.670,2.200,0.932,0.550,1.370,0.810,0.526,0.376,0.646,
+0.906,0.070,0.372,0.800,1.430,0.886,0.671,1.900,1.080,0.610,
+0.371,0.835,0.676,0.577,0.366,0.742,0.667,0.039,0.379,0.806,
+0.887,0.753,0.516,2.200,1.170,0.930,0.672,1.380,0.063,0.053,
+0.036,0.110,1.000,0.064,0.651,1.180,1.140,1.180,1.050,1.990,
+2.190,0.795,0.718,1.900,1.030,0.702,0.673,1.870,1.340,0.075,
+0.930,1.910,1.630,1.180,1.150,2.700,4.350,1.130,0.939,1.800,
+1.220,0.557,0.557,0.958,1.630,0.116,0.458,0.792,1.920,1.030,
+0.676,1.240,1.790,0.659,0.626,0.767,0.750,0.347,0.377,0.429,
+1.020,0.052,0.380,0.566,0.723,0.500,0.427,0.672,1.480,0.760,
+0.616,0.991,0.094,0.062,0.044,0.117,0.864,0.072,0.340,0.523,
+0.683,0.676,0.499,0.708,2.250,0.811,0.787,1.840,1.060,0.645,
+0.573,1.090,1.020,0.067,0.483,0.775,1.300,0.730,0.764,1.360,
+1.730,0.855,0.571,0.856,0.790,0.467,0.408,0.477,0.797,0.069,
+0.354,0.537,0.660,0.570,0.352,0.604,0.912,0.514,0.384,0.482,
+0.481,0.272,0.264,0.295,0.584,0.040,0.284,0.384,0.376,0.326,
+0.251,0.351,0.740,0.519,0.349,0.495,0.048,0.036,0.028,0.044,
+0.573,0.041,0.252,0.381,0.344,0.418,0.287,0.411,0.686,0.384,
+0.297,0.563,0.525,0.349,0.329,0.450,0.709,0.039,0.314,0.451,
+0.568,0.391,0.378,0.661,1.110,0.408,0.411,0.551,0.538,0.299,
+0.329,0.365,0.640,0.059,0.256,0.457,0.598,0.417,0.359,0.711,
+0.070,0.040,0.031,0.051,0.052,0.029,0.029,0.036,0.051,3.76e-3,
+0.032,0.049,0.063,0.062,0.040,0.078,0.477,0.346,0.289,0.451,
+0.036,0.023,0.021,0.049,0.474,0.033,0.190,0.312,0.311,0.297,
+0.249,0.338,0.518,0.295,0.300,0.719,0.501,0.323,0.353,0.580,
+0.623,0.041,0.394,0.563,0.482,0.353,0.434,0.686,1.690,0.630,
+0.513,1.090,0.588,0.360,0.330,0.448,0.753,0.066,0.329,0.590,
+1.050,0.643,0.570,1.330,0.953,0.559,0.420,0.613,0.636,0.301,
+0.348,0.414,0.633,0.037,0.375,0.622,0.667,0.518,0.499,0.785,
+0.638,0.455,0.364,0.536,0.051,0.030,0.024,0.055,0.584,0.037,
+0.286,0.475,0.482,0.436,0.385,0.555,1.020,0.525,0.459,1.070,
+0.531,0.346,0.368,0.724,0.934,0.051,0.477,0.791,0.991,0.648,
+0.753,1.270,1.530,0.744,0.582,0.953,0.649,0.395,0.389,0.502,
+0.544,0.046,0.221,0.407,0.598,0.456,0.283,0.540,0.734,0.447,
+0.329,0.436,0.405,0.234,0.246,0.267,0.379,0.033,0.210,0.307,
+0.289,0.269,0.216,0.362,0.542,0.470,0.261,0.421,0.040,0.036,
+0.022,0.047,0.535,0.030,0.211,0.246,0.281,0.327,0.234,0.348,
+0.561,0.292,0.274,0.448,0.477,0.377,0.242,0.357,0.392,0.030,
+0.208,0.293,0.413,0.295,0.327,0.606,0.995,0.589,0.369,0.537,
+0.528,0.382,0.330,0.319,0.437,0.043,0.181,0.302,0.371,0.359,
+0.201,0.347,0.510,0.361,0.198,0.264,0.269,0.132,0.171,0.164,
+0.337,0.029,0.171,0.251,0.221,0.231,0.192,0.214,0.399,0.400,
+0.201,0.276,0.027,0.028,0.018,0.025,0.340,0.034,0.187,0.240,
+0.221,0.367,0.199,0.271,0.389,0.233,0.156,0.249,0.354,0.263,
+0.175,0.234,0.524,0.030,0.174,0.261,0.352,0.260,0.230,0.397,
+0.544,0.297,0.191,0.385,0.440,0.241,0.227,0.266,0.307,0.035,
+0.144,0.250,0.262,0.247,0.212,0.359,0.032,0.026,0.019,0.059,
+0.026,0.021,0.021,0.016,0.022,3.84e-3,0.017,0.026,0.023,0.033,
+0.023,0.032,0.305,0.270,0.226,0.320,0.021,0.023,0.017,0.022,
+0.258,0.022,0.159,0.224,0.170,0.268,0.223,0.250,0.266,0.153,
+0.168,0.257,0.293,0.274,0.227,0.265,0.273,0.020,0.198,0.275,
+0.214,0.189,0.244,0.375,0.621,0.286,0.248,0.413,0.325,0.202,
+0.179,0.213,0.308,0.025,0.142,0.256,0.362,0.252,0.216,0.478,
+0.479,0.294,0.234,0.415,0.292,0.218,0.188,0.216,0.272,0.021,
+0.170,0.313,0.267,0.263,0.241,0.422,0.356,0.309,0.244,0.350,
+0.024,0.022,0.015,0.025,0.294,0.022,0.196,0.318,0.266,0.289,
+0.276,0.419,0.472,0.230,0.231,0.393,0.340,0.238,0.213,0.315,
+0.449,0.031,0.258,0.438,0.486,0.380,0.440,0.726,1.200,0.657,
+0.495,0.973,0.428,0.286,0.218,0.381,0.618,0.046,0.228,0.345,
+0.546,0.418,0.218,0.477,0.713,0.466,0.283,0.507,0.362,0.225,
+0.180,0.227,0.540,0.037,0.228,0.300,0.369,0.364,0.190,0.332,
+0.471,0.408,0.253,0.419,0.056,0.037,0.028,0.056,0.410,0.037,
+0.247,0.265,0.255,0.360,0.231,0.374,0.655,0.320,0.257,0.551,
+0.627,0.304,0.221,0.375,0.878,0.066,0.283,0.417,0.614,0.370,
+0.371,0.871,0.077,0.045,0.027,0.057,0.042,0.033,0.021,0.031,
+0.036,5.10e-3,0.017,0.028,0.039,0.036,0.018,0.036,0.048,0.033,
+0.020,0.034,0.031,0.022,0.016,0.016,0.032,4.43e-3,0.019,0.025,
+0.027,0.034,0.015,0.022,0.029,0.034,0.018,0.026,4.60e-3,4.93e-3,
+2.92e-3,3.68e-3,0.029,4.60e-3,0.020,0.026,0.023,0.036,0.020,0.031,
+0.068,0.034,0.023,0.057,0.074,0.051,0.033,0.053,0.077,5.77e-3,
+0.029,0.047,0.053,0.040,0.035,0.078,0.433,0.242,0.207,0.282,
+0.258,0.180,0.161,0.194,0.315,0.042,0.157,0.223,0.241,0.236,
+0.181,0.289,0.032,0.023,0.012,0.023,0.020,0.016,0.013,0.013,
+0.026,3.68e-3,0.015,0.018,0.025,0.031,0.018,0.023,0.288,0.271,
+0.167,0.233,0.034,0.021,0.015,0.026,0.260,0.025,0.120,0.197,
+0.150,0.227,0.158,0.207,0.322,0.159,0.133,0.201,0.297,0.195,
+0.154,0.250,0.373,0.028,0.232,0.300,0.222,0.223,0.213,0.310,
+0.496,0.221,0.159,0.313,0.247,0.136,0.108,0.169,0.267,0.025,
+0.130,0.222,0.349,0.231,0.166,0.361,0.457,0.286,0.188,0.369,
+0.296,0.195,0.163,0.186,0.306,0.025,0.169,0.251,0.355,0.317,
+0.196,0.295,0.396,0.327,0.204,0.334,0.033,0.025,0.015,0.032,
+0.362,0.029,0.191,0.307,0.323,0.490,0.261,0.381,0.464,0.209,
+0.239,0.326,0.402,0.228,0.197,0.280,0.476,0.036,0.312,0.481,
+0.498,0.417,0.429,0.754,1.580,0.769,0.631,1.770,0.453,0.275,
+0.240,0.386,0.642,0.047,0.233,0.442,0.802,0.484,0.340,0.809,
+0.609,0.278,0.217,0.430,0.277,0.141,0.134,0.204,0.412,0.024,
+0.205,0.319,0.299,0.228,0.164,0.321,0.445,0.293,0.202,0.497,
+0.033,0.025,0.019,0.051,0.330,0.023,0.174,0.251,0.280,0.279,
+0.202,0.372,0.707,0.298,0.289,0.739,0.440,0.246,0.225,0.434,
+0.587,0.036,0.276,0.430,0.688,0.427,0.441,1.140,0.942,0.423,
+0.299,0.639,0.441,0.247,0.216,0.292,0.454,0.034,0.206,0.370,
+0.448,0.314,0.216,0.415,0.548,0.261,0.173,0.344,0.295,0.155,
+0.132,0.188,0.325,0.021,0.160,0.312,0.261,0.231,0.138,0.258,
+0.390,0.288,0.162,0.315,0.025,0.021,0.014,0.024,0.314,0.025,
+0.170,0.308,0.254,0.287,0.179,0.323,0.526,0.254,0.194,0.413,
+0.423,0.255,0.197,0.338,0.448,0.027,0.227,0.383,0.454,0.314,
+0.280,0.635,0.488,0.251,0.236,0.572,0.333,0.176,0.187,0.284,
+0.327,0.036,0.173,0.283,0.310,0.246,0.221,0.410,0.026,0.021,
+0.016,0.030,0.021,0.012,0.012,0.018,0.022,1.75e-3,0.015,0.023,
+0.027,0.024,0.018,0.029,0.309,0.248,0.169,0.288,0.022,0.016,
+9.44e-3,0.023,0.252,0.017,0.140,0.222,0.201,0.221,0.194,0.271,
+0.316,0.171,0.164,0.303,0.337,0.194,0.177,0.309,0.372,0.022,
+0.217,0.368,0.324,0.249,0.273,0.463,1.220,0.358,0.283,0.624,
+0.349,0.224,0.172,0.252,0.428,0.037,0.204,0.370,0.635,0.358,
+0.333,0.791,0.378,0.191,0.162,0.297,0.203,0.104,0.112,0.174,
+0.285,0.015,0.157,0.280,0.320,0.231,0.185,0.378,0.517,0.409,
+0.263,0.483,0.034,0.025,0.015,0.033,0.426,0.028,0.237,0.399,
+0.455,0.498,0.361,0.557,0.832,0.375,0.375,0.750,0.458,0.345,
+0.306,0.495,0.755,0.037,0.539,0.848,1.130,0.743,0.753,1.410,
+1.930,1.030,0.888,1.360,0.969,0.619,0.535,0.668,0.878,0.089,
+0.433,0.685,1.100,0.929,0.532,0.907,0.926,0.632,0.433,0.488,
+0.561,0.379,0.329,0.358,0.601,0.046,0.348,0.455,0.443,0.439,
+0.338,0.495,0.559,0.450,0.378,0.496,0.046,0.042,0.034,0.061,
+0.382,0.035,0.223,0.305,0.335,0.396,0.317,0.474,0.825,0.460,
+0.361,0.725,0.649,0.474,0.331,0.572,0.636,0.046,0.349,0.541,
+0.659,0.472,0.536,0.953,1.300,0.948,0.463,0.674,0.816,0.696,
+0.386,0.424,0.602,0.075,0.333,0.435,0.471,0.645,0.288,0.515,
+0.750,0.595,0.298,0.366,0.466,0.305,0.274,0.302,0.483,0.049,
+0.331,0.439,0.288,0.371,0.236,0.356,0.552,0.610,0.293,0.355,
+0.058,0.042,0.028,0.034,0.446,0.052,0.294,0.407,0.290,0.529,
+0.347,0.391,0.503,0.317,0.178,0.309,0.589,0.364,0.207,0.300,
+0.450,0.036,0.292,0.376,0.366,0.397,0.361,0.549,0.736,0.347,
+0.217,0.327,0.436,0.281,0.226,0.282,0.445,0.049,0.231,0.367,
+0.327,0.330,0.253,0.468,0.041,0.037,0.021,0.028,0.033,0.044,
+0.026,0.026,0.029,6.27e-3,0.029,0.037,0.032,0.047,0.030,0.049,
+0.260,0.248,0.240,0.268,0.023,0.027,0.020,0.028,0.254,0.029,
+0.176,0.249,0.182,0.222,0.228,0.260,0.257,0.175,0.148,0.244,
+0.304,0.272,0.241,0.305,0.346,0.034,0.275,0.349,0.287,0.280,
+0.348,0.475,0.836,0.392,0.275,0.546,0.297,0.198,0.162,0.256,
+0.383,0.042,0.186,0.330,0.439,0.369,0.273,0.646,0.560,0.478,
+0.268,0.397,0.362,0.288,0.228,0.293,0.341,0.029,0.244,0.370,
+0.278,0.353,0.279,0.444,0.306,0.278,0.248,0.347,0.027,0.023,
+0.020,0.032,0.270,0.023,0.194,0.282,0.258,0.288,0.318,0.393,
+0.464,0.278,0.218,0.473,0.283,0.256,0.215,0.334,0.510,0.037,
+0.331,0.575,0.567,0.458,0.599,0.978,1.240,0.751,0.809,0.905,
+0.710,0.526,0.591,0.474,0.435,0.042,0.253,0.392,0.462,0.454,
+0.310,0.519,0.677,0.514,0.409,0.404,0.473,0.326,0.446,0.328,
+0.346,0.041,0.288,0.351,0.221,0.290,0.222,0.459,0.346,0.360,
+0.277,0.315,0.033,0.034,0.030,0.038,0.256,0.028,0.222,0.240,
+0.194,0.283,0.240,0.328,0.463,0.258,0.322,0.362,0.467,0.375,
+0.247,0.296,0.286,0.024,0.213,0.297,0.343,0.248,0.309,0.531,
+0.783,0.655,0.334,0.443,0.547,0.516,0.368,0.320,0.368,0.046,
+0.246,0.309,0.265,0.353,0.200,0.317,0.419,0.348,0.198,0.216,
+0.211,0.061,0.151,0.152,0.267,0.038,0.211,0.290,0.151,0.244,
+0.164,0.228,0.323,0.411,0.214,0.243,0.031,0.038,0.024,0.025,
+0.291,0.042,0.223,0.292,0.181,0.402,0.262,0.304,0.392,0.235,
+0.135,0.197,0.354,0.340,0.166,0.211,0.321,0.029,0.212,0.296,
+0.243,0.258,0.272,0.372,0.478,0.333,0.201,0.297,0.466,0.361,
+0.308,0.298,0.324,0.042,0.201,0.354,0.228,0.276,0.262,0.417,
+0.025,0.032,0.018,0.031,0.037,0.034,0.032,0.028,0.024,7.85e-3,
+0.024,0.030,0.014,0.039,0.024,0.031,0.268,0.295,0.246,0.261,
+0.028,0.042,0.031,0.032,0.289,0.037,0.255,0.278,0.153,0.301,
+0.274,0.344,0.227,0.148,0.156,0.205,0.342,0.403,0.338,0.314,
+0.270,0.027,0.260,0.339,0.222,0.226,0.296,0.424,0.413,0.256,
+0.191,0.304,0.269,0.194,0.157,0.195,0.226,0.024,0.136,0.226,
+0.241,0.216,0.176,0.422,0.327,0.305,0.204,0.350,0.276,0.254,
+0.197,0.230,0.205,0.028,0.173,0.257,0.159,0.249,0.187,0.294,
+0.225,0.258,0.213,0.270,0.020,0.025,0.018,0.024,0.211,0.019,
+0.195,0.239,0.176,0.232,0.241,0.383,0.309,0.174,0.161,0.307,
+0.244,0.221,0.180,0.246,0.288,0.022,0.220,0.330,0.315,0.309,
+0.354,0.596,0.789,0.578,0.622,0.675,0.458,0.347,0.231,0.327,
+0.415,0.046,0.205,0.312,0.414,0.370,0.212,0.401,0.714,0.509,
+0.245,0.375,0.450,0.394,0.238,0.294,0.519,0.055,0.348,0.384,
+0.268,0.377,0.207,0.342,0.342,0.432,0.257,0.438,0.038,0.047,
+0.031,0.058,0.347,0.043,0.229,0.270,0.220,0.363,0.248,0.407,
+0.378,0.254,0.184,0.381,0.362,0.314,0.215,0.337,0.531,0.049,
+0.286,0.426,0.402,0.318,0.338,0.782,0.047,0.044,0.030,0.043,
+0.087,0.055,0.030,0.033,0.036,7.02e-3,0.026,0.028,0.029,0.047,
+0.021,0.037,0.037,0.041,0.017,0.028,0.044,0.048,0.026,0.028,
+0.046,0.010,0.033,0.041,0.021,0.039,0.020,0.028,0.028,0.044,
+0.023,0.025,5.52e-3,9.28e-3,7.19e-3,5.93e-3,0.037,0.011,0.033,0.040,
+0.023,0.052,0.036,0.034,0.038,0.028,0.018,0.035,0.056,0.069,
+0.034,0.046,0.050,7.02e-3,0.043,0.050,0.039,0.040,0.043,0.071,
+0.411,0.339,0.220,0.273,0.347,0.357,0.263,0.277,0.420,0.074,
+0.292,0.358,0.319,0.388,0.266,0.369,0.033,0.037,0.022,0.022,
+0.023,0.040,0.033,0.025,0.035,0.011,0.043,0.036,0.025,0.042,
+0.027,0.029,0.316,0.386,0.226,0.262,0.034,0.043,0.036,0.032,
+0.384,0.061,0.213,0.274,0.180,0.364,0.246,0.278,0.253,0.202,
+0.171,0.217,0.325,0.433,0.279,0.334,0.519,0.063,0.802,0.504,
+0.271,0.333,0.382,0.438,0.370,0.226,0.156,0.299,0.218,0.159,
+0.112,0.175,0.265,0.032,0.172,0.335,0.268,0.239,0.162,0.348,
+0.441,0.390,0.216,0.309,0.316,0.351,0.205,0.240,0.368,0.042,
+0.335,0.373,0.278,0.424,0.241,0.335,0.343,0.391,0.246,0.302,
+0.027,0.032,0.023,0.028,0.462,0.053,0.277,0.378,0.295,0.573,
+0.322,0.424,0.367,0.207,0.184,0.290,0.292,0.287,0.227,0.313,
+0.480,0.043,0.502,0.613,0.425,0.462,0.460,0.664,0.823,0.489,
+0.417,0.792,0.422,0.282,0.194,0.388,0.464,0.043,0.178,0.375,
+0.546,0.383,0.272,0.571,0.479,0.284,0.190,0.313,0.274,0.177,
+0.146,0.268,0.337,0.025,0.199,0.299,0.244,0.232,0.164,0.329,
+0.283,0.248,0.146,0.303,0.023,0.015,0.013,0.034,0.197,0.020,
+0.122,0.208,0.190,0.220,0.167,0.318,0.397,0.211,0.186,0.439,
+0.296,0.185,0.161,0.346,0.380,0.024,0.191,0.369,0.425,0.277,
+0.318,0.779,0.824,0.472,0.322,0.530,0.500,0.381,0.281,0.361,
+0.431,0.043,0.241,0.414,0.412,0.400,0.239,0.492,0.550,0.360,
+0.192,0.328,0.392,0.286,0.195,0.280,0.405,0.032,0.227,0.406,
+0.296,0.339,0.208,0.463,0.323,0.314,0.182,0.288,0.024,0.027,
+0.016,0.029,0.309,0.034,0.234,0.377,0.273,0.426,0.273,0.416,
+0.392,0.242,0.184,0.344,0.411,0.350,0.233,0.382,0.410,0.031,
+0.317,0.454,0.394,0.374,0.405,0.729,0.382,0.251,0.220,0.320,
+0.337,0.240,0.226,0.294,0.348,0.041,0.217,0.342,0.300,0.284,
+0.275,0.473,0.029,0.023,0.016,0.024,0.020,0.022,0.018,0.024,
+0.021,2.59e-3,0.020,0.027,0.024,0.026,0.022,0.034,0.286,0.231,
+0.168,0.283,0.025,0.020,0.016,0.028,0.260,0.031,0.180,0.267,
+0.206,0.283,0.245,0.321,0.259,0.183,0.179,0.274,0.334,0.243,
+0.216,0.373,0.484,0.038,0.385,0.484,0.307,0.286,0.404,0.584,
+0.636,0.299,0.242,0.450,0.272,0.221,0.169,0.206,0.355,0.035,
+0.224,0.363,0.406,0.291,0.299,0.596,0.456,0.262,0.208,0.294,
+0.250,0.196,0.176,0.222,0.281,0.019,0.205,0.325,0.297,0.266,
+0.239,0.399,0.392,0.345,0.240,0.384,0.027,0.020,0.015,0.031,
+0.397,0.032,0.284,0.445,0.449,0.480,0.409,0.583,0.538,0.316,
+0.345,0.578,0.430,0.389,0.351,0.445,0.646,0.045,1.080,1.050,
+0.836,0.667,0.974,1.110,1.080,0.754,0.518,0.914,0.628,0.413,
+0.389,0.484,0.539,0.058,0.273,0.480,0.765,0.568,0.357,0.619,
+0.518,0.321,0.244,0.373,0.347,0.227,0.269,0.298,0.329,0.025,
+0.191,0.251,0.300,0.259,0.195,0.291,0.434,0.342,0.245,0.366,
+0.037,0.025,0.026,0.045,0.294,0.024,0.152,0.222,0.251,0.288,
+0.243,0.330,0.633,0.451,0.251,0.519,0.420,0.272,0.264,0.408,
+0.433,0.033,0.197,0.324,0.458,0.347,0.330,0.639,1.010,0.646,
+0.424,0.720,0.614,0.453,0.466,0.532,0.489,0.060,0.287,0.366,
+0.480,0.541,0.310,0.475,0.525,0.393,0.303,0.379,0.371,0.236,
+0.356,0.381,0.381,0.039,0.321,0.355,0.300,0.340,0.210,0.309,
+0.536,0.490,0.376,0.474,0.046,0.037,0.033,0.051,0.410,0.042,
+0.272,0.375,0.294,0.411,0.319,0.367,0.451,0.282,0.196,0.346,
+0.475,0.348,0.275,0.389,0.375,0.030,0.239,0.357,0.341,0.320,
+0.473,0.554,0.613,0.302,0.261,0.422,0.472,0.346,0.482,0.427,
+0.732,0.066,0.242,0.353,0.482,0.351,0.279,0.503,0.045,0.045,
+0.029,0.042,0.051,0.043,0.064,0.059,0.056,6.27e-3,0.033,0.042,
+0.054,0.070,0.040,0.059,0.282,0.244,0.288,0.282,0.031,0.026,
+0.027,0.035,0.296,0.036,0.159,0.203,0.214,0.307,0.200,0.252,
+0.275,0.165,0.189,0.242,0.400,0.307,0.297,0.343,0.332,0.029,
+0.238,0.295,0.297,0.253,0.287,0.415,0.823,0.302,0.264,0.514,
+0.319,0.225,0.270,0.325,0.453,0.038,0.200,0.326,0.540,0.353,
+0.263,0.610,0.489,0.331,0.310,0.376,0.402,0.254,0.572,0.482,
+0.407,0.027,0.249,0.341,0.416,0.348,0.264,0.410,0.402,0.296,
+0.312,0.387,0.032,0.022,0.026,0.045,0.405,0.032,0.221,0.343,
+0.307,0.364,0.323,0.494,0.555,0.274,0.270,0.496,0.343,0.257,
+0.291,0.399,0.503,0.036,0.361,0.565,0.705,0.515,0.657,1.170,
+0.084,0.056,0.044,0.060,0.056,0.047,0.039,0.048,0.041,5.60e-3,
+0.025,0.031,0.044,0.043,0.032,0.044,0.078,0.044,0.039,0.078,
+0.044,0.034,0.036,0.073,0.034,3.93e-3,0.024,0.032,0.028,0.028,
+0.024,0.038,0.035,0.034,0.029,0.039,6.68e-3,5.52e-3,3.93e-3,7.77e-3,
+0.033,4.09e-3,0.021,0.029,0.022,0.032,0.022,0.033,0.048,0.034,
+0.025,0.047,0.050,0.038,0.033,0.044,0.042,3.68e-3,0.023,0.033,
+0.037,0.030,0.041,0.057,0.075,0.070,0.040,0.056,0.065,0.059,
+0.054,0.043,0.044,8.27e-3,0.024,0.032,0.031,0.043,0.024,0.032,
+0.055,0.052,0.030,0.035,0.052,0.037,0.044,0.042,0.045,6.68e-3,
+0.029,0.037,0.026,0.037,0.025,0.029,0.044,0.058,0.040,0.040,
+7.77e-3,9.19e-3,8.36e-3,5.85e-3,0.048,9.94e-3,0.035,0.036,0.025,0.050,
+0.037,0.041,0.044,0.030,0.019,0.034,0.069,0.052,0.038,0.046,
+0.045,5.26e-3,0.029,0.034,0.033,0.032,0.067,0.058,0.048,0.035,
+0.023,0.042,0.050,0.044,0.048,0.037,0.045,8.86e-3,0.020,0.031,
+0.031,0.036,0.026,0.044,3.76e-3,5.52e-3,3.84e-3,5.18e-3,6.77e-3,6.85e-3,
+7.85e-3,6.02e-3,5.85e-3,2.59e-3,6.68e-3,5.43e-3,3.34e-3,6.60e-3,4.85e-3,4.60e-3,
+0.031,0.040,0.074,0.053,5.10e-3,7.19e-3,9.44e-3,4.76e-3,0.044,9.36e-3,
+0.029,0.036,0.026,0.073,0.035,0.038,0.029,0.020,0.030,0.028,
+0.044,0.051,0.055,0.049,0.036,5.10e-3,0.037,0.041,0.027,0.033,
+0.041,0.046,0.080,0.052,0.043,0.058,0.046,0.035,0.033,0.040,
+0.051,6.10e-3,0.025,0.039,0.057,0.045,0.039,0.076,0.074,0.067,
+0.058,0.062,0.081,0.063,0.098,0.079,0.066,6.85e-3,0.049,0.057,
+0.052,0.061,0.050,0.069,0.041,0.040,0.048,0.054,5.10e-3,6.02e-3,
+6.35e-3,8.02e-3,0.045,5.18e-3,0.037,0.052,0.034,0.050,0.059,0.085,
+0.061,0.039,0.039,0.060,0.052,0.060,0.053,0.063,0.061,5.26e-3,
+0.050,0.073,0.065,0.069,0.080,0.128,0.653,0.424,0.268,0.462,
+0.385,0.303,0.205,0.275,0.341,0.036,0.167,0.239,0.292,0.270,
+0.165,0.261,0.448,0.305,0.186,0.247,0.336,0.244,0.213,0.205,
+0.420,0.039,0.228,0.297,0.217,0.275,0.159,0.223,0.384,0.306,
+0.267,0.327,0.047,0.044,0.057,0.064,0.471,0.046,0.221,0.275,
+0.267,0.344,0.213,0.281,0.345,0.219,0.168,0.377,0.312,0.262,
+0.255,0.384,0.450,0.040,0.223,0.344,0.311,0.260,0.279,0.516,
+0.046,0.046,0.021,0.033,0.049,0.047,0.028,0.036,0.029,6.43e-3,
+0.018,0.024,0.020,0.033,0.020,0.028,0.029,0.029,0.014,0.020,
+0.033,0.030,0.024,0.021,0.029,7.27e-3,0.026,0.030,0.017,0.025,
+0.015,0.021,0.035,0.044,0.037,0.030,6.02e-3,0.011,0.020,7.52e-3,
+0.040,0.012,0.037,0.039,0.024,0.037,0.026,0.028,0.041,0.025,
+0.018,0.041,0.049,0.053,0.049,0.064,0.048,4.93e-3,0.028,0.043,
+0.035,0.032,0.031,0.051,0.346,0.265,0.163,0.193,0.301,0.362,
+0.279,0.233,0.297,0.048,0.218,0.235,0.203,0.218,0.173,0.242,
+0.029,0.033,0.016,0.017,0.027,0.039,0.032,0.020,0.030,5.77e-3,
+0.033,0.030,0.020,0.037,0.021,0.021,0.299,0.298,0.212,0.213,
+0.034,0.031,0.033,0.032,0.317,0.048,0.099,0.171,0.156,0.209,
+0.196,0.193,0.242,0.146,0.120,0.156,0.271,0.248,0.204,0.220,
+0.300,0.032,0.255,0.280,0.190,0.197,0.226,0.287,0.335,0.222,
+0.162,0.251,0.210,0.160,0.120,0.149,0.239,0.026,0.144,0.203,
+0.243,0.207,0.132,0.260,0.362,0.392,0.165,0.227,0.327,0.324,
+0.228,0.195,0.301,0.034,0.242,0.286,0.273,0.301,0.198,0.260,
+0.312,0.295,0.230,0.294,0.035,0.037,0.034,0.037,0.373,0.041,
+0.312,0.389,0.273,0.389,0.349,0.358,0.296,0.184,0.154,0.274,
+0.317,0.257,0.230,0.275,0.369,0.035,0.328,0.409,0.355,0.366,
+0.364,0.523,0.672,0.324,0.260,0.470,0.291,0.198,0.194,0.233,
+0.297,0.033,0.148,0.231,0.374,0.298,0.334,0.420,0.362,0.225,
+0.154,0.221,0.219,0.131,0.133,0.165,0.234,0.019,0.138,0.255,
+0.197,0.154,0.142,0.211,0.314,0.275,0.160,0.262,0.025,0.019,
+0.017,0.034,0.266,0.020,0.127,0.195,0.201,0.235,0.154,0.245,
+0.354,0.219,0.181,0.340,0.250,0.182,0.173,0.304,0.484,0.033,
+0.151,0.266,0.386,0.251,0.250,0.521,0.741,0.512,0.294,0.540,
+0.478,0.366,0.313,0.356,0.357,0.042,0.215,0.325,0.380,0.409,
+0.264,0.418,0.479,0.384,0.207,0.325,0.370,0.315,0.234,0.291,
+0.321,0.029,0.255,0.344,0.278,0.273,0.211,0.285,0.508,0.547,
+0.299,0.354,0.032,0.037,0.037,0.035,0.383,0.037,0.257,0.373,
+0.318,0.439,0.273,0.382,0.437,0.292,0.219,0.376,0.426,0.393,
+0.319,0.457,0.449,0.035,0.248,0.395,0.374,0.351,0.294,0.538,
+0.407,0.265,0.212,0.277,0.329,0.278,0.273,0.299,0.378,0.041,
+0.228,0.434,0.493,0.278,0.261,0.461,0.030,0.032,0.016,0.026,
+0.029,0.038,0.027,0.028,0.028,4.18e-3,0.025,0.040,0.040,0.033,
+0.023,0.033,0.254,0.316,0.208,0.273,0.023,0.024,0.021,0.034,
+0.342,0.032,0.224,0.290,0.232,0.305,0.253,0.299,0.269,0.191,
+0.182,0.254,0.334,0.298,0.285,0.411,0.372,0.029,0.301,0.424,
+0.301,0.290,0.362,0.467,0.630,0.291,0.273,0.431,0.289,0.206,
+0.225,0.225,0.396,0.045,0.187,0.316,0.568,0.287,0.237,0.524,
+0.474,0.478,0.190,0.274,0.288,0.252,0.212,0.237,0.304,0.024,
+0.217,0.320,0.319,0.255,0.223,0.333,0.389,0.363,0.281,0.413,
+0.033,0.035,0.023,0.040,0.463,0.042,0.328,0.509,0.421,0.505,
+0.404,0.504,0.581,0.304,0.313,0.573,0.434,0.368,0.307,0.434,
+0.600,0.039,0.466,0.712,0.700,0.530,0.599,0.945,1.210,0.651,
+0.565,1.170,0.591,0.323,0.303,0.463,0.577,0.051,0.246,0.463,
+0.873,0.600,0.355,0.747,0.523,0.268,0.227,0.346,0.336,0.173,
+0.175,0.245,0.328,0.022,0.179,0.228,0.303,0.261,0.159,0.291,
+0.440,0.287,0.217,0.402,0.035,0.020,0.017,0.040,0.263,0.019,
+0.138,0.213,0.259,0.252,0.195,0.344,0.772,0.387,0.285,0.619,
+0.455,0.260,0.220,0.389,0.455,0.029,0.213,0.368,0.608,0.362,
+0.384,0.941,0.699,0.373,0.281,0.529,0.346,0.205,0.205,0.322,
+0.317,0.033,0.185,0.282,0.352,0.364,0.180,0.395,0.380,0.214,
+0.164,0.310,0.201,0.110,0.148,0.285,0.239,0.015,0.163,0.209,
+0.247,0.199,0.135,0.243,0.383,0.370,0.246,0.348,0.022,0.021,
+0.015,0.032,0.269,0.018,0.141,0.209,0.235,0.236,0.204,0.298,
+0.376,0.205,0.148,0.284,0.283,0.178,0.130,0.232,0.277,0.015,
+0.142,0.248,0.288,0.208,0.240,0.544,0.511,0.210,0.198,0.415,
+0.327,0.180,0.201,0.343,0.374,0.036,0.132,0.355,0.399,0.303,
+0.205,0.616,0.043,0.020,0.019,0.035,0.033,0.019,0.022,0.034,
+0.034,2.42e-3,0.015,0.034,0.048,0.043,0.025,0.065,0.248,0.173,
+0.188,0.234,0.031,0.016,0.012,0.027,0.208,0.018,0.098,0.163,
+0.207,0.194,0.180,0.258,0.297,0.136,0.152,0.245,0.447,0.217,
+0.180,0.274,0.303,0.020,0.152,0.253,0.358,0.220,0.256,0.465,
+0.837,0.288,0.282,0.631,0.301,0.165,0.190,0.315,0.447,0.039,
+0.204,0.396,0.762,0.455,0.318,0.872,0.496,0.232,0.218,0.355,
+0.338,0.161,0.222,0.302,0.402,0.020,0.189,0.309,0.453,0.333,
+0.254,0.532,0.428,0.273,0.265,0.456,0.030,0.016,0.024,0.037,
+0.343,0.020,0.175,0.309,0.385,0.303,0.270,0.447,0.675,0.292,
+0.282,0.609,0.399,0.271,0.259,0.381,0.564,0.032,0.307,0.558,
+0.880,0.560,0.620,1.370,0.999,0.508,0.394,0.707,0.502,0.308,
+0.281,0.351,0.400,0.033,0.173,0.300,0.508,0.415,0.247,0.485,
+0.611,0.320,0.350,0.417,0.333,0.223,0.206,0.252,0.271,0.023,
+0.197,0.256,0.230,0.227,0.182,0.295,0.355,0.294,0.243,0.371,
+0.029,0.023,0.019,0.039,0.269,0.022,0.159,0.298,0.235,0.252,
+0.201,0.349,0.449,0.283,0.209,0.376,0.362,0.255,0.202,0.311,
+0.296,0.025,0.171,0.280,0.378,0.237,0.313,0.593,0.701,0.450,
+0.284,0.486,0.438,0.314,0.290,0.308,0.301,0.032,0.139,0.234,
+0.297,0.319,0.173,0.327,0.421,0.321,0.192,0.269,0.276,0.179,
+0.177,0.221,0.238,0.021,0.158,0.219,0.202,0.221,0.149,0.225,
+0.319,0.354,0.220,0.296,0.029,0.038,0.018,0.027,0.280,0.028,
+0.177,0.247,0.225,0.307,0.214,0.325,0.340,0.227,0.154,0.264,
+0.322,0.299,0.182,0.245,0.253,0.019,0.151,0.238,0.257,0.212,
+0.315,0.441,0.476,0.231,0.181,0.350,0.303,0.200,0.207,0.272,
+0.281,0.031,0.124,0.212,0.274,0.260,0.177,0.422,0.022,0.022,
+0.013,0.026,0.021,0.020,0.021,0.024,0.019,4.26e-3,0.016,0.019,
+0.026,0.030,0.019,0.033,0.269,0.236,0.291,0.301,0.021,0.018,
+0.022,0.030,0.253,0.026,0.139,0.226,0.214,0.323,0.243,0.396,
+0.297,0.155,0.195,0.275,0.315,0.242,0.260,0.359,0.259,0.019,
+0.191,0.280,0.282,0.219,0.345,0.516,0.574,0.295,0.257,0.471,
+0.272,0.170,0.179,0.231,0.308,0.024,0.166,0.252,0.395,0.272,
+0.245,0.549,0.421,0.281,0.258,0.340,0.300,0.211,0.243,0.269,
+0.279,0.024,0.192,0.282,0.303,0.291,0.250,0.417,0.312,0.274,
+0.261,0.500,0.021,0.024,0.019,0.045,0.247,0.021,0.184,0.362,
+0.292,0.299,0.318,0.528,0.457,0.244,0.249,0.444,0.355,0.361,
+0.307,0.371,0.356,0.027,0.262,0.457,0.528,0.394,0.477,0.881,
+0.792,0.453,0.299,0.570,0.367,0.259,0.167,0.267,0.433,0.042,
+0.165,0.283,0.436,0.378,0.202,0.383,0.627,0.383,0.196,0.328,
+0.313,0.240,0.170,0.193,0.416,0.036,0.216,0.303,0.332,0.366,
+0.210,0.347,0.414,0.405,0.236,0.406,0.043,0.040,0.029,0.053,
+0.458,0.041,0.198,0.285,0.296,0.370,0.232,0.371,0.443,0.269,
+0.183,0.401,0.353,0.269,0.199,0.332,0.794,0.090,0.278,0.468,
+0.499,0.354,0.383,0.780,0.049,0.040,0.019,0.042,0.037,0.031,
+0.019,0.028,0.035,5.10e-3,0.020,0.028,0.032,0.039,0.022,0.035,
+0.036,0.027,0.012,0.021,0.029,0.028,0.015,0.021,0.028,5.68e-3,
+0.020,0.025,0.027,0.027,0.016,0.028,0.028,0.040,0.020,0.030,
+3.59e-3,4.68e-3,3.68e-3,4.68e-3,0.048,5.77e-3,0.025,0.035,0.031,0.038,
+0.026,0.040,0.047,0.029,0.018,0.043,0.047,0.050,0.027,0.043,
+0.061,7.52e-3,0.028,0.048,0.046,0.035,0.039,0.064,0.462,0.284,
+0.188,0.346,0.298,0.275,0.196,0.258,0.327,0.055,0.202,0.241,
+0.306,0.383,0.247,0.406,0.032,0.028,0.014,0.018,0.021,0.021,
+0.015,0.015,0.029,5.43e-3,0.041,0.025,0.035,0.045,0.027,0.036,
+0.307,0.398,0.218,0.299,0.028,0.028,0.019,0.031,0.416,0.039,
+0.159,0.230,0.238,0.304,0.244,0.305,0.304,0.195,0.159,0.240,
+0.329,0.270,0.216,0.290,0.468,0.035,0.322,0.365,0.319,0.281,
+0.359,0.486,0.550,0.260,0.188,0.376,0.271,0.178,0.128,0.207,
+0.339,0.034,0.180,0.275,0.462,0.318,0.222,0.437,0.549,0.334,
+0.202,0.313,0.343,0.268,0.184,0.220,0.484,0.034,0.271,0.337,
+0.657,0.450,0.307,0.452,0.591,0.490,0.321,0.507,0.051,0.039,
+0.022,0.040,0.529,0.042,0.311,0.454,0.750,0.531,0.443,0.590,
+0.548,0.266,0.267,0.411,0.526,0.324,0.254,0.373,0.606,0.045,
+0.435,0.555,0.662,0.547,0.557,0.876,1.390,0.490,0.394,0.816,
+0.455,0.252,0.231,0.376,0.493,0.040,0.204,0.391,0.633,0.410,
+0.341,0.747,0.532,0.290,0.177,0.312,0.303,0.188,0.151,0.227,
+0.366,0.023,0.215,0.326,0.326,0.235,0.271,0.379,0.422,0.331,
+0.237,0.446,0.034,0.029,0.020,0.049,0.347,0.024,0.161,0.288,
+0.316,0.352,0.221,0.429,0.666,0.317,0.303,0.659,0.401,0.249,
+0.246,0.455,0.537,0.036,0.272,0.529,0.768,0.448,0.486,1.240,
+0.647,0.332,0.226,0.457,0.362,0.233,0.202,0.274,0.312,0.030,
+0.198,0.309,0.346,0.313,0.231,0.477,0.389,0.250,0.125,0.292,
+0.220,0.124,0.101,0.179,0.258,0.020,0.187,0.288,0.244,0.220,
+0.164,0.325,0.378,0.335,0.201,0.344,0.021,0.022,0.012,0.022,
+0.423,0.026,0.208,0.349,0.365,0.382,0.255,0.470,0.462,0.253,
+0.227,0.439,0.365,0.268,0.203,0.353,0.410,0.025,0.241,0.418,
+0.468,0.350,0.363,0.727,0.666,0.332,0.355,0.481,0.428,0.312,
+0.314,0.455,0.509,0.053,0.240,0.490,0.561,0.439,0.400,1.170,
+0.043,0.028,0.022,0.036,0.025,0.026,0.022,0.026,0.030,3.18e-3,
+0.023,0.037,0.045,0.040,0.031,0.070,0.409,0.366,0.332,0.443,
+0.027,0.024,0.027,0.038,0.466,0.036,0.239,0.386,0.350,0.416,
+0.354,0.550,0.495,0.307,0.324,0.468,0.495,0.368,0.377,0.532,
+0.660,0.042,0.426,0.661,0.557,0.447,0.609,0.995,1.360,0.476,
+0.482,1.000,0.478,0.306,0.306,0.444,0.692,0.045,0.317,0.601,
+0.964,0.568,0.528,1.430,0.765,0.416,0.312,0.514,0.482,0.354,
+0.273,0.390,0.618,0.033,0.320,0.565,0.730,0.498,0.426,0.928,
+0.826,0.640,0.525,0.863,0.044,0.036,0.028,0.056,0.751,0.047,
+0.484,0.856,0.841,0.802,0.743,1.140,1.520,0.670,0.808,1.490,
+0.808,0.584,0.571,0.900,1.160,0.061,0.846,1.520,1.670,0.972,
+1.220,1.940,0.165,0.059,0.049,0.078,0.067,0.039,0.031,0.049,
+0.082,7.10e-3,0.032,0.043,0.080,0.059,0.035,0.056,0.088,0.040,
+0.032,0.038,0.072,0.027,0.026,0.025,0.056,5.35e-3,0.026,0.034,
+0.037,0.033,0.026,0.035,0.057,0.037,0.030,0.040,6.35e-3,6.43e-3,
+4.35e-3,6.35e-3,0.055,4.01e-3,0.022,0.025,0.033,0.033,0.033,0.030,
+0.075,0.035,0.029,0.057,0.054,0.037,0.031,0.050,0.043,4.93e-3,
+0.026,0.040,0.047,0.033,0.035,0.055,0.086,0.052,0.029,0.043,
+0.049,0.037,0.032,0.034,0.045,5.85e-3,0.022,0.034,0.036,0.038,
+0.022,0.034,0.051,0.039,0.023,0.029,0.038,0.025,0.022,0.021,
+0.041,5.43e-3,0.029,0.030,0.025,0.030,0.021,0.024,0.039,0.032,
+0.025,0.029,3.76e-3,4.35e-3,3.34e-3,2.76e-3,0.038,5.93e-3,0.023,0.029,
+0.020,0.035,0.023,0.029,0.034,0.027,0.018,0.032,0.037,0.029,
+0.018,0.032,0.043,4.93e-3,0.027,0.036,0.029,0.029,0.027,0.044,
+0.047,0.021,0.017,0.025,0.034,0.018,0.019,0.025,0.032,5.18e-3,
+0.016,0.029,0.026,0.023,0.020,0.037,5.35e-3,4.09e-3,1.84e-3,2.67e-3,
+0.015,2.34e-3,3.26e-3,4.09e-3,4.85e-3,1.17e-3,3.51e-3,3.09e-3,3.51e-3,4.18e-3,
+3.18e-3,3.93e-3,0.028,0.022,0.016,0.021,3.43e-3,1.75e-3,2.26e-3,2.67e-3,
+0.053,6.85e-3,0.015,0.021,0.017,0.020,0.018,0.019,0.027,0.016,
+0.013,0.027,0.029,0.021,0.022,0.030,0.029,4.85e-3,0.051,0.029,
+0.021,0.025,0.027,0.033,0.066,0.026,0.022,0.041,0.045,0.023,
+0.018,0.024,0.035,3.43e-3,0.019,0.032,0.043,0.033,0.025,0.053,
+0.072,0.036,0.024,0.031,0.203,0.028,0.026,0.027,0.051,4.26e-3,
+0.026,0.034,0.048,0.040,0.029,0.044,0.038,0.027,0.026,0.030,
+7.44e-3,3.09e-3,2.92e-3,5.43e-3,0.039,3.34e-3,0.025,0.031,0.029,0.032,
+0.025,0.032,0.047,0.029,0.022,0.047,0.040,0.023,0.025,0.058,
+0.045,3.84e-3,0.032,0.054,0.050,0.041,0.044,0.069,0.088,0.054,
+0.038,0.054,0.051,0.038,0.036,0.033,0.044,4.09e-3,0.022,0.044,
+0.035,0.039,0.025,0.036,0.054,0.051,0.027,0.031,0.049,0.029,
+0.031,0.023,0.037,6.10e-3,0.026,0.030,0.020,0.026,0.019,0.024,
+0.038,0.034,0.023,0.026,7.77e-3,6.52e-3,4.93e-3,4.09e-3,0.237,0.010,
+0.033,0.034,0.037,0.043,0.041,0.029,0.036,0.024,0.019,0.029,
+0.041,0.035,0.024,0.029,0.052,8.86e-3,0.020,0.025,0.027,0.025,
+0.028,0.044,0.064,0.050,0.028,0.038,0.048,0.056,0.035,0.031,
+0.036,5.26e-3,0.023,0.026,0.022,0.032,0.014,0.029,0.044,0.043,
+0.022,0.024,0.035,0.023,0.028,0.024,0.036,7.02e-3,0.026,0.031,
+0.017,0.032,0.023,0.020,0.039,0.046,0.029,0.025,3.84e-3,9.02e-3,
+5.43e-3,4.01e-3,0.051,8.86e-3,0.030,0.040,0.022,0.063,0.029,0.031,
+0.029,0.022,0.014,0.026,0.037,0.044,0.020,0.027,0.040,5.35e-3,
+0.022,0.029,0.026,0.030,0.023,0.036,0.032,0.024,0.013,0.022,
+0.034,0.026,0.024,0.020,0.024,3.51e-3,0.018,0.018,0.015,0.019,
+0.026,0.023,2.34e-3,5.35e-3,2.26e-3,2.67e-3,4.18e-3,3.68e-3,5.43e-3,1.92e-3,
+3.68e-3,2.34e-3,4.35e-3,4.01e-3,1.34e-3,3.68e-3,4.51e-3,2.59e-3,0.019,0.026,
+0.026,0.023,2.51e-3,3.43e-3,5.26e-3,4.26e-3,0.029,5.77e-3,0.020,0.020,
+0.013,0.035,0.027,0.021,0.015,0.013,0.012,0.018,0.025,0.030,
+0.033,0.025,0.025,4.18e-3,0.025,0.028,0.016,0.023,0.024,0.029,
+0.039,0.021,0.015,0.024,0.023,0.018,0.021,0.015,0.021,2.59e-3,
+0.010,0.017,0.021,0.018,0.017,0.029,0.038,0.032,0.020,0.025,
+0.043,0.026,0.023,0.020,0.023,3.26e-3,0.020,0.025,0.020,0.027,
+0.022,0.033,0.024,0.026,0.021,0.025,2.01e-3,2.84e-3,2.76e-3,2.92e-3,
+0.032,4.18e-3,0.025,0.029,0.021,0.027,0.026,0.031,0.033,0.019,
+0.017,0.029,0.029,0.027,0.021,0.031,0.035,5.93e-3,0.029,0.042,
+0.032,0.042,0.041,0.058,0.059,0.043,0.024,0.041,0.025,0.021,
+0.014,0.022,0.029,4.09e-3,0.016,0.021,0.024,0.027,0.013,0.024,
+0.036,0.050,0.021,0.032,0.022,0.018,0.016,0.017,0.032,5.35e-3,
+0.021,0.024,0.023,0.029,0.014,0.020,0.025,0.029,0.018,0.028,
+3.34e-3,4.76e-3,3.76e-3,4.93e-3,0.031,3.84e-3,0.029,0.020,0.017,0.026,
+0.014,0.026,0.029,0.019,0.016,0.028,0.030,0.021,0.016,0.026,
+0.047,5.10e-3,0.020,0.029,0.029,0.024,0.022,0.053,5.26e-3,3.84e-3,
+1.92e-3,2.42e-3,4.01e-3,5.52e-3,2.42e-3,2.92e-3,4.18e-3,1.17e-3,2.76e-3,2.92e-3,
+2.34e-3,4.60e-3,1.67e-3,2.67e-3,4.01e-3,4.35e-3,2.17e-3,2.67e-3,3.51e-3,4.60e-3,
+2.92e-3,1.67e-3,4.43e-3,2.42e-3,4.09e-3,3.76e-3,2.59e-3,4.51e-3,2.51e-3,2.09e-3,
+2.09e-3,3.18e-3,2.09e-3,2.92e-3,1.00e-3,1.92e-3,1.50e-3,9.19e-4,5.35e-3,2.17e-3,
+4.43e-3,3.59e-3,2.34e-3,5.85e-3,3.18e-3,3.01e-3,3.68e-3,3.43e-3,1.92e-3,3.59e-3,
+6.02e-3,7.77e-3,3.84e-3,5.52e-3,5.10e-3,1.42e-3,4.26e-3,6.35e-3,3.43e-3,4.43e-3,
+2.67e-3,7.27e-3,0.024,0.019,0.011,0.019,0.018,0.019,0.018,0.015,
+0.023,4.18e-3,0.013,0.014,0.014,0.015,0.014,0.015,2.42e-3,3.51e-3,
+1.42e-3,2.26e-3,2.76e-3,2.84e-3,2.76e-3,2.42e-3,2.51e-3,1.17e-3,3.34e-3,2.92e-3,
+7.52e-4,3.01e-3,1.84e-3,2.26e-3,0.015,0.024,0.015,0.014,2.01e-3,3.09e-3,
+3.09e-3,1.59e-3,0.023,5.43e-3,0.015,0.016,8.61e-3,0.019,0.015,0.015,
+0.016,0.010,0.011,0.011,0.018,0.022,0.016,0.018,0.031,4.01e-3,
+0.028,0.023,0.015,0.019,0.019,0.024,0.023,0.013,9.69e-3,0.019,
+0.015,0.011,7.85e-3,9.11e-3,0.017,2.84e-3,0.012,0.013,0.017,0.016,
+0.010,0.024,0.031,0.027,0.016,0.016,0.028,0.021,0.015,0.014,
+0.023,2.51e-3,0.018,0.021,0.020,0.027,0.016,0.022,0.022,0.025,
+0.019,0.021,3.84e-3,3.26e-3,3.09e-3,1.50e-3,0.030,4.60e-3,0.018,0.023,
+0.027,0.033,0.021,0.026,0.029,0.015,0.015,0.020,0.023,0.021,
+0.021,0.019,0.034,4.09e-3,0.037,0.041,0.033,0.034,0.034,0.047,
+0.066,0.040,0.031,0.069,0.028,0.020,0.017,0.019,0.034,2.84e-3,
+0.013,0.023,0.038,0.030,0.020,0.043,0.032,0.022,0.014,0.026,
+0.017,0.012,8.69e-3,0.014,0.024,2.59e-3,0.014,0.020,0.016,0.018,
+0.012,0.022,0.023,0.023,0.013,0.027,3.34e-3,2.59e-3,1.75e-3,4.60e-3,
+0.027,1.67e-3,0.012,0.016,0.018,0.019,0.014,0.025,0.036,0.022,
+0.020,0.041,0.029,0.019,0.019,0.027,0.033,2.01e-3,0.016,0.030,
+0.045,0.030,0.027,0.070,0.056,0.036,0.022,0.038,0.036,0.029,
+0.022,0.023,0.039,3.84e-3,0.021,0.029,0.034,0.038,0.018,0.029,
+0.042,0.031,0.016,0.028,0.033,0.023,0.017,0.020,0.033,4.01e-3,
+0.020,0.028,0.023,0.031,0.015,0.024,0.025,0.032,0.014,0.023,
+2.76e-3,4.68e-3,2.01e-3,1.84e-3,0.029,3.68e-3,0.019,0.028,0.023,0.035,
+0.020,0.026,0.031,0.025,0.014,0.026,0.033,0.035,0.018,0.035,
+0.034,3.26e-3,0.024,0.034,0.034,0.033,0.027,0.047,0.025,0.017,
+0.012,0.027,0.022,0.018,0.013,0.020,0.027,4.43e-3,0.016,0.019,
+0.024,0.025,0.021,0.029,2.42e-3,2.17e-3,1.67e-3,4.26e-3,1.92e-3,2.84e-3,
+1.75e-3,1.84e-3,2.09e-3,5.85e-4,3.51e-3,2.76e-3,3.01e-3,3.09e-3,2.51e-3,2.67e-3,
+0.020,0.022,0.014,0.016,2.42e-3,2.01e-3,1.42e-3,2.09e-3,0.021,2.76e-3,
+0.013,0.019,0.014,0.023,0.022,0.023,0.017,0.014,0.012,0.021,
+0.023,0.021,0.018,0.026,0.041,4.93e-3,0.032,0.033,0.024,0.025,
+0.026,0.035,0.062,0.022,0.019,0.030,0.024,0.021,0.014,0.018,
+0.030,2.92e-3,0.013,0.026,0.034,0.025,0.022,0.048,0.031,0.018,
+0.017,0.023,0.030,0.012,0.013,0.017,0.022,2.51e-3,0.015,0.024,
+0.024,0.023,0.017,0.034,0.033,0.030,0.021,0.032,4.51e-3,2.01e-3,
+1.59e-3,2.59e-3,0.043,4.60e-3,0.019,0.033,0.034,0.043,0.032,0.044,
+0.052,0.027,0.029,0.050,0.040,0.035,0.030,0.040,0.058,3.84e-3,
+0.047,0.068,0.081,0.066,0.064,0.112,0.093,0.051,0.039,0.060,
+0.048,0.041,0.033,0.035,0.043,7.44e-3,0.024,0.040,0.049,0.047,
+0.027,0.040,0.052,0.043,0.025,0.028,0.041,0.031,0.026,0.024,
+0.036,6.10e-3,0.028,0.031,0.029,0.027,0.024,0.027,0.026,0.027,
+0.024,0.022,3.09e-3,4.18e-3,3.26e-3,3.59e-3,0.024,4.68e-3,0.016,0.018,
+0.015,0.022,0.020,0.023,0.036,0.021,0.017,0.029,0.032,0.027,
+0.018,0.030,0.031,3.59e-3,0.021,0.028,0.028,0.025,0.028,0.043,
+0.062,0.053,0.028,0.035,0.043,0.051,0.025,0.027,0.035,6.94e-3,
+0.025,0.032,0.023,0.039,0.019,0.028,0.046,0.052,0.023,0.027,
+0.042,0.036,0.027,0.028,0.039,0.011,0.036,0.040,0.017,0.033,
+0.020,0.027,0.029,0.045,0.022,0.020,5.10e-3,9.28e-3,5.85e-3,3.34e-3,
+0.035,0.010,0.032,0.033,0.019,0.046,0.029,0.026,0.022,0.020,
+0.010,0.015,0.038,0.029,0.017,0.022,0.030,5.01e-3,0.022,0.027,
+0.020,0.025,0.024,0.033,0.033,0.020,0.012,0.016,0.028,0.021,
+0.017,0.023,0.027,4.60e-3,0.016,0.021,0.016,0.017,0.017,0.020,
+2.92e-3,3.34e-3,1.25e-3,1.84e-3,4.43e-3,5.52e-3,2.92e-3,3.01e-3,3.84e-3,1.67e-3,
+3.43e-3,4.93e-3,1.59e-3,4.93e-3,3.18e-3,2.09e-3,0.013,0.017,0.015,0.013,
+2.42e-3,2.67e-3,2.34e-3,2.92e-3,0.019,4.09e-3,0.016,0.018,8.69e-3,0.016,
+0.015,0.016,0.014,9.28e-3,9.94e-3,0.011,0.016,0.019,0.015,0.017,
+0.023,3.76e-3,0.020,0.020,0.014,0.018,0.020,0.026,0.038,0.017,
+0.011,0.022,0.017,0.014,9.36e-3,0.014,0.021,2.42e-3,0.011,0.016,
+0.022,0.018,0.013,0.026,0.030,0.025,0.017,0.019,0.038,0.023,
+0.017,0.019,0.025,3.76e-3,0.018,0.027,0.014,0.027,0.019,0.022,
+0.014,0.020,0.025,0.022,2.26e-3,5.26e-3,2.01e-3,1.67e-3,0.017,3.93e-3,
+0.016,0.019,0.013,0.022,0.021,0.023,0.021,0.018,0.016,0.023,
+0.017,0.020,0.015,0.021,0.029,3.76e-3,0.021,0.029,0.029,0.031,
+0.030,0.049,0.077,0.051,0.057,0.056,0.052,0.055,0.049,0.037,
+0.034,6.10e-3,0.025,0.027,0.025,0.032,0.024,0.029,0.058,0.052,
+0.037,0.030,0.067,0.053,0.101,0.038,0.034,8.02e-3,0.035,0.035,
+0.016,0.028,0.019,0.031,0.023,0.032,0.024,0.024,3.68e-3,6.43e-3,
+4.60e-3,5.01e-3,0.028,5.26e-3,0.029,0.019,0.016,0.025,0.022,0.024,
+0.028,0.018,0.020,0.026,0.038,0.032,0.020,0.022,0.019,3.26e-3,
+0.020,0.021,0.023,0.019,0.022,0.034,0.068,0.068,0.032,0.034,
+0.076,0.113,0.048,0.035,0.036,9.02e-3,0.029,0.032,0.022,0.035,
+0.022,0.027,0.060,0.071,0.028,0.031,0.044,0.026,0.035,0.036,
+0.046,0.020,0.034,0.042,0.023,0.059,0.028,0.028,0.028,0.059,
+0.027,0.023,7.35e-3,0.021,0.011,5.43e-3,0.035,0.015,0.030,0.036,
+0.016,0.058,0.035,0.030,0.028,0.025,0.015,0.016,0.038,0.073,
+0.024,0.030,0.034,8.27e-3,0.029,0.031,0.020,0.029,0.026,0.035,
+0.031,0.030,0.016,0.019,0.049,0.040,0.033,0.030,0.029,6.77e-3,
+0.021,0.028,0.015,0.029,0.019,0.025,2.92e-3,6.18e-3,3.34e-3,2.84e-3,
+0.015,0.013,9.94e-3,3.84e-3,6.77e-3,5.93e-3,7.77e-3,5.52e-3,2.17e-3,8.86e-3,
+3.43e-3,3.93e-3,0.019,0.032,0.026,0.021,3.93e-3,0.011,0.010,4.43e-3,
+0.030,8.44e-3,0.028,0.027,0.011,0.033,0.030,0.029,0.015,0.012,
+0.012,0.013,0.027,0.043,0.040,0.032,0.027,5.26e-3,0.033,0.030,
+0.016,0.022,0.027,0.030,0.025,0.020,0.015,0.019,0.020,0.018,
+0.013,0.015,0.015,2.01e-3,0.011,0.018,0.016,0.019,0.012,0.030,
+0.024,0.028,0.018,0.025,0.044,0.043,0.023,0.022,0.022,6.27e-3,
+0.023,0.025,0.013,0.028,0.017,0.022,0.018,0.022,0.024,0.019,
+2.42e-3,5.60e-3,4.01e-3,3.68e-3,0.021,4.76e-3,0.036,0.026,0.012,0.025,
+0.029,0.031,0.021,0.016,0.013,0.019,0.020,0.024,0.017,0.022,
+0.024,4.68e-3,0.025,0.028,0.024,0.026,0.035,0.047,0.044,0.039,
+0.032,0.034,0.033,0.031,0.015,0.021,0.032,4.01e-3,0.014,0.022,
+0.023,0.022,0.013,0.023,0.061,0.041,0.017,0.024,0.038,0.044,
+0.023,0.027,0.036,9.11e-3,0.034,0.034,0.019,0.028,0.017,0.022,
+0.024,0.042,0.020,0.028,3.76e-3,8.52e-3,2.84e-3,4.43e-3,0.026,5.43e-3,
+0.020,0.021,0.016,0.029,0.020,0.023,0.023,0.024,0.019,0.022,
+0.027,0.039,0.017,0.026,0.037,6.27e-3,0.024,0.029,0.022,0.023,
+0.025,0.047,4.09e-3,4.76e-3,2.26e-3,3.34e-3,7.77e-3,0.010,4.43e-3,3.84e-3,
+5.93e-3,2.01e-3,4.01e-3,2.92e-3,2.42e-3,5.60e-3,3.09e-3,3.76e-3,5.01e-3,7.02e-3,
+3.76e-3,3.34e-3,7.60e-3,0.015,8.19e-3,5.85e-3,7.94e-3,0.011,0.012,9.36e-3,
+2.09e-3,7.27e-3,2.42e-3,3.34e-3,2.34e-3,0.010,3.01e-3,2.67e-3,2.59e-3,9.19e-3,
+4.76e-3,1.42e-3,5.10e-3,6.77e-3,8.69e-3,7.77e-3,2.84e-3,0.011,6.27e-3,4.51e-3,
+1.92e-3,3.34e-3,1.84e-3,1.67e-3,6.10e-3,0.019,6.02e-3,4.85e-3,4.35e-3,2.51e-3,
+8.52e-3,6.18e-3,3.51e-3,5.10e-3,4.85e-3,5.68e-3,0.032,0.033,0.019,0.023,
+0.029,0.052,0.027,0.023,0.035,0.011,0.032,0.026,0.024,0.034,
+0.047,0.030,3.84e-3,9.19e-3,3.68e-3,3.26e-3,5.77e-3,0.012,9.28e-3,5.52e-3,
+5.77e-3,7.52e-3,0.014,6.52e-3,2.84e-3,9.02e-3,5.10e-3,3.84e-3,0.019,0.034,
+0.023,0.021,4.01e-3,0.011,7.35e-3,3.51e-3,0.036,0.011,0.030,0.031,
+0.015,0.035,0.026,0.024,0.018,0.016,0.016,0.019,0.026,0.043,
+0.031,0.032,0.053,0.015,0.119,0.050,0.024,0.029,0.035,0.036,
+0.024,0.017,0.010,0.024,0.015,0.015,9.28e-3,0.010,0.021,2.51e-3,
+0.014,0.018,0.014,0.017,0.011,0.028,0.029,0.032,0.020,0.020,
+0.028,0.037,0.024,0.022,0.033,7.85e-3,0.040,0.036,0.021,0.036,
+0.022,0.025,0.022,0.035,0.042,0.021,3.01e-3,7.77e-3,5.26e-3,3.26e-3,
+0.039,0.010,0.031,0.037,0.021,0.050,0.029,0.028,0.024,0.017,
+0.015,0.020,0.021,0.028,0.022,0.025,0.042,7.10e-3,0.053,0.059,
+0.029,0.035,0.035,0.045,0.048,0.028,0.021,0.040,0.026,0.023,
+0.012,0.023,0.028,2.67e-3,0.012,0.023,0.028,0.022,0.016,0.035,
+0.027,0.020,0.011,0.019,0.020,0.015,9.44e-3,0.022,0.021,3.01e-3,
+0.014,0.021,0.014,0.017,0.012,0.022,0.017,0.019,0.012,0.020,
+1.84e-3,2.09e-3,1.09e-3,2.26e-3,0.016,1.42e-3,0.011,0.017,0.012,0.019,
+0.010,0.018,0.025,0.017,0.014,0.031,0.021,0.016,0.012,0.025,
+0.024,1.92e-3,0.014,0.029,0.026,0.022,0.024,0.057,0.053,0.033,
+0.020,0.030,0.037,0.042,0.023,0.029,0.040,7.60e-3,0.022,0.030,
+0.023,0.034,0.016,0.030,0.041,0.034,0.018,0.023,0.042,0.042,
+0.024,0.029,0.035,6.85e-3,0.027,0.041,0.022,0.034,0.020,0.028,
+0.021,0.034,0.018,0.022,3.01e-3,7.69e-3,3.43e-3,3.51e-3,0.031,7.60e-3,
+0.027,0.033,0.020,0.043,0.025,0.031,0.026,0.016,0.014,0.022,
+0.034,0.047,0.021,0.029,0.034,4.85e-3,0.033,0.035,0.024,0.028,
+0.030,0.044,0.025,0.018,0.012,0.020,0.024,0.023,0.019,0.021,
+0.027,4.76e-3,0.022,0.027,0.017,0.019,0.019,0.029,3.18e-3,1.67e-3,
+1.59e-3,1.59e-3,2.17e-3,3.68e-3,3.26e-3,3.93e-3,2.34e-3,1.25e-3,3.09e-3,3.84e-3,
+1.50e-3,3.34e-3,1.92e-3,4.43e-3,0.017,0.020,0.014,0.018,1.84e-3,3.34e-3,
+2.26e-3,2.76e-3,0.023,5.43e-3,0.018,0.023,0.011,0.026,0.021,0.023,
+0.020,0.013,0.011,0.015,0.021,0.021,0.019,0.029,0.077,6.35e-3,
+0.042,0.043,0.021,0.025,0.031,0.035,0.037,0.018,0.016,0.024,
+0.017,0.015,0.012,0.013,0.021,1.92e-3,0.012,0.023,0.023,0.019,
+0.017,0.035,0.029,0.017,0.013,0.019,0.021,0.017,0.014,0.020,
+0.020,2.26e-3,0.019,0.025,0.019,0.018,0.015,0.027,0.022,0.022,
+0.018,0.027,2.51e-3,2.92e-3,2.26e-3,2.42e-3,0.028,3.68e-3,0.025,0.035,
+0.024,0.037,0.029,0.044,0.034,0.021,0.021,0.034,0.026,0.031,
+0.034,0.032,0.044,3.93e-3,0.077,0.071,0.047,0.051,0.069,0.071,
+0.074,0.038,0.032,0.042,0.044,0.029,0.025,0.028,0.034,4.01e-3,
+0.017,0.030,0.040,0.034,0.018,0.028,0.027,0.023,0.018,0.022,
+0.031,0.015,0.018,0.016,0.020,2.84e-3,0.016,0.017,0.015,0.018,
+0.015,0.017,0.031,0.020,0.020,0.021,2.34e-3,1.34e-3,2.59e-3,2.17e-3,
+0.014,2.34e-3,0.014,0.017,0.012,0.018,0.016,0.018,0.028,0.018,
+0.013,0.023,0.024,0.016,0.016,0.021,0.022,1.50e-3,0.015,0.017,
+0.024,0.022,0.019,0.033,0.045,0.040,0.027,0.034,0.040,0.033,
+0.035,0.029,0.031,5.26e-3,0.020,0.023,0.025,0.037,0.017,0.022,
+0.036,0.035,0.022,0.022,0.035,0.024,0.032,0.023,0.032,7.69e-3,
+0.027,0.028,0.018,0.030,0.019,0.021,0.050,0.037,0.046,0.032,
+7.52e-3,6.02e-3,8.19e-3,4.60e-3,0.032,7.77e-3,0.032,0.041,0.023,0.038,
+0.038,0.028,0.025,0.016,0.014,0.018,0.045,0.027,0.020,0.025,
+0.027,4.18e-3,0.017,0.024,0.019,0.021,0.029,0.036,0.026,0.022,
+0.020,0.023,0.030,0.026,0.026,0.025,0.034,6.68e-3,0.016,0.024,
+0.023,0.027,0.020,0.024,2.59e-3,3.93e-3,3.18e-3,2.26e-3,3.84e-3,3.76e-3,
+4.01e-3,3.84e-3,5.01e-3,2.59e-3,4.76e-3,4.43e-3,3.34e-3,6.43e-3,4.76e-3,4.85e-3,
+0.020,0.019,0.060,0.028,2.17e-3,3.01e-3,4.93e-3,3.93e-3,0.022,6.18e-3,
+0.016,0.017,0.010,0.028,0.019,0.017,0.013,9.69e-3,0.012,0.012,
+0.018,0.019,0.024,0.024,0.019,3.34e-3,0.039,0.023,0.018,0.018,
+0.019,0.026,0.036,0.015,0.014,0.022,0.016,0.012,0.014,0.017,
+0.020,2.42e-3,9.94e-3,0.016,0.024,0.021,0.016,0.030,0.025,0.021,
+0.017,0.020,0.024,0.020,0.023,0.023,0.026,2.42e-3,0.016,0.022,
+0.024,0.026,0.024,0.031,0.021,0.022,0.024,0.025,2.34e-3,2.84e-3,
+3.68e-3,3.51e-3,0.023,5.35e-3,0.021,0.023,0.017,0.027,0.028,0.027,
+0.025,0.017,0.020,0.027,0.019,0.018,0.020,0.027,0.029,2.59e-3,
+0.026,0.033,0.038,0.033,0.046,0.059,5.18e-3,3.51e-3,6.18e-3,3.68e-3,
+2.84e-3,3.51e-3,3.18e-3,3.43e-3,3.01e-3,9.19e-4,1.75e-3,2.01e-3,1.67e-3,2.09e-3,
+2.26e-3,2.76e-3,5.77e-3,5.52e-3,7.44e-3,4.60e-3,4.93e-3,3.84e-3,5.10e-3,4.76e-3,
+3.68e-3,1.42e-3,4.35e-3,4.09e-3,1.59e-3,2.67e-3,1.92e-3,2.26e-3,2.51e-3,3.26e-3,
+2.67e-3,3.34e-3,1.34e-3,1.59e-3,1.50e-3,1.09e-3,6.18e-3,1.09e-3,4.09e-3,2.17e-3,
+2.01e-3,3.84e-3,2.92e-3,2.01e-3,2.92e-3,2.26e-3,1.59e-3,2.34e-3,4.60e-3,3.68e-3,
+3.34e-3,2.76e-3,2.17e-3,8.36e-4,1.17e-3,2.51e-3,2.34e-3,3.01e-3,3.01e-3,3.68e-3,
+4.93e-3,0.011,5.60e-3,3.26e-3,6.18e-3,0.010,7.19e-3,5.10e-3,4.85e-3,2.09e-3,
+3.01e-3,3.18e-3,1.50e-3,3.59e-3,2.67e-3,2.67e-3,5.77e-3,9.02e-3,3.26e-3,3.18e-3,
+9.11e-3,8.94e-3,0.010,5.26e-3,6.60e-3,5.77e-3,7.27e-3,5.77e-3,2.34e-3,5.10e-3,
+3.84e-3,4.01e-3,3.68e-3,6.60e-3,6.10e-3,4.18e-3,2.34e-3,8.11e-3,5.77e-3,9.19e-4,
+6.35e-3,5.52e-3,8.77e-3,6.10e-3,1.67e-3,8.77e-3,6.43e-3,3.84e-3,4.60e-3,3.34e-3,
+1.42e-3,1.92e-3,0.024,7.52e-3,6.10e-3,3.93e-3,5.35e-3,1.75e-3,3.84e-3,3.76e-3,
+3.26e-3,3.84e-3,5.60e-3,6.52e-3,2.42e-3,5.10e-3,3.01e-3,1.92e-3,4.76e-3,5.68e-3,
+5.60e-3,3.34e-3,4.43e-3,2.59e-3,4.26e-3,2.92e-3,1.67e-3,3.68e-3,3.01e-3,3.59e-3,
+5.01e-4,1.34e-3,1.34e-3,1.09e-3,1.75e-3,4.68e-3,4.09e-3,1.09e-3,2.09e-3,2.59e-3,
+3.93e-3,2.84e-3,4.18e-4,2.84e-3,1.09e-3,1.17e-3,3.43e-3,5.93e-3,0.034,0.016,
+2.17e-3,4.76e-3,7.10e-3,1.84e-3,8.52e-3,7.85e-3,7.02e-3,5.10e-3,2.01e-3,0.010,
+7.02e-3,3.84e-3,1.75e-3,2.09e-3,3.84e-3,1.84e-3,4.85e-3,5.60e-3,9.02e-3,3.93e-3,
+5.18e-3,2.51e-3,9.36e-3,7.52e-3,1.75e-3,3.01e-3,4.51e-3,3.34e-3,2.17e-3,3.18e-3,
+1.92e-3,1.75e-3,1.59e-3,2.51e-3,2.09e-3,1.50e-3,1.75e-3,2.51e-4,7.52e-4,3.09e-3,
+1.67e-3,2.26e-3,2.17e-3,3.18e-3,3.51e-3,6.10e-3,3.34e-3,3.68e-3,4.35e-3,6.43e-3,
+5.10e-3,4.85e-3,5.35e-3,1.34e-3,5.43e-3,5.01e-3,3.01e-3,5.93e-3,3.93e-3,4.60e-3,
+2.17e-3,3.09e-3,6.18e-3,5.77e-3,9.19e-4,1.34e-3,1.67e-3,1.00e-3,4.01e-3,1.67e-3,
+6.85e-3,5.01e-3,2.42e-3,6.85e-3,7.10e-3,5.01e-3,3.18e-3,2.42e-3,1.75e-3,2.84e-3,
+3.26e-3,2.76e-3,3.51e-3,3.18e-3,4.01e-3,3.34e-4,4.76e-3,4.60e-3,3.93e-3,4.51e-3,
+6.18e-3,7.27e-3,0.050,0.034,0.025,0.033,0.031,0.037,0.025,0.034,
+0.029,4.76e-3,0.017,0.021,0.017,0.023,0.014,0.019,0.029,0.030,
+0.019,0.018,0.029,0.032,0.031,0.022,0.052,7.44e-3,0.032,0.032,
+0.016,0.030,0.016,0.018,0.025,0.030,0.029,0.032,5.18e-3,7.10e-3,
+7.10e-3,7.77e-3,0.036,7.02e-3,0.028,0.032,0.015,0.037,0.026,0.025,
+0.023,0.015,0.012,0.022,0.029,0.029,0.022,0.040,0.035,7.27e-3,
+0.027,0.039,0.025,0.031,0.025,0.039,3.59e-3,4.01e-3,1.84e-3,2.42e-3,
+5.01e-3,9.19e-3,7.19e-3,4.09e-3,2.92e-3,2.67e-3,3.51e-3,3.26e-3,2.09e-3,5.01e-3,
+1.67e-3,3.09e-3,3.51e-3,5.01e-3,3.34e-3,2.76e-3,6.68e-3,8.11e-3,8.69e-3,3.34e-3,
+6.27e-3,4.43e-3,9.53e-3,6.18e-3,2.17e-3,5.68e-3,2.59e-3,2.51e-3,3.09e-3,6.77e-3,
+4.68e-3,3.18e-3,1.92e-3,7.27e-3,5.26e-3,1.75e-3,7.69e-3,9.19e-3,0.014,8.77e-3,
+2.34e-3,9.69e-3,6.35e-3,5.10e-3,3.18e-3,3.68e-3,2.17e-3,2.09e-3,8.52e-3,8.69e-3,
+7.10e-3,5.01e-3,5.35e-3,2.67e-3,6.10e-3,7.19e-3,2.17e-3,4.60e-3,4.35e-3,4.76e-3,
+0.028,0.034,0.017,0.015,0.025,0.066,0.042,0.025,0.028,8.86e-3,
+0.029,0.023,0.014,0.022,0.019,0.021,2.42e-3,6.43e-3,2.84e-3,1.84e-3,
+4.51e-3,9.86e-3,0.016,4.18e-3,8.02e-3,4.09e-3,0.011,5.85e-3,2.59e-3,7.19e-3,
+3.68e-3,2.76e-3,0.027,0.034,0.026,0.022,5.43e-3,7.94e-3,0.011,5.93e-3,
+0.038,9.02e-3,0.017,0.030,0.012,0.027,0.030,0.022,0.015,0.013,
+0.010,9.61e-3,0.036,0.033,0.033,0.026,0.029,5.68e-3,0.040,0.035,
+0.016,0.024,0.026,0.027,0.024,0.023,0.019,0.021,0.016,0.016,
+0.012,0.014,0.022,3.51e-3,0.017,0.017,0.017,0.018,0.015,0.025,
+0.029,0.040,0.017,0.017,0.026,0.035,0.035,0.021,0.033,7.19e-3,
+0.032,0.032,0.029,0.032,0.024,0.027,0.029,0.037,0.027,0.027,
+4.76e-3,0.010,7.35e-3,5.77e-3,0.041,7.60e-3,0.040,0.046,0.027,0.046,
+0.034,0.037,0.021,0.015,0.015,0.020,0.027,0.027,0.024,0.024,
+0.035,7.02e-3,0.039,0.041,0.028,0.037,0.037,0.050,0.045,0.025,
+0.018,0.027,0.024,0.016,0.017,0.019,0.024,3.43e-3,0.013,0.015,
+0.025,0.024,0.025,0.031,0.023,0.019,9.11e-3,0.014,0.017,0.015,
+0.014,0.013,0.020,1.59e-3,0.012,0.017,0.013,0.015,0.012,0.017,
+0.033,0.023,0.013,0.019,2.76e-3,2.26e-3,2.26e-3,2.84e-3,0.017,3.09e-3,
+0.011,0.018,0.021,0.020,0.014,0.019,0.024,0.017,9.36e-3,0.022,
+0.020,0.016,0.015,0.029,0.032,1.92e-3,0.014,0.022,0.031,0.021,
+0.021,0.043,0.049,0.043,0.022,0.035,0.041,0.038,0.031,0.032,
+0.027,5.18e-3,0.021,0.030,0.027,0.041,0.022,0.029,0.038,0.044,
+0.021,0.024,0.040,0.035,0.036,0.026,0.031,6.85e-3,0.030,0.039,
+0.021,0.036,0.023,0.026,0.031,0.045,0.023,0.032,3.84e-3,9.02e-3,
+5.43e-3,5.77e-3,0.037,0.010,0.032,0.046,0.026,0.057,0.033,0.038,
+0.032,0.025,0.015,0.025,0.038,0.038,0.032,0.048,0.037,5.10e-3,
+0.033,0.045,0.028,0.035,0.027,0.043,0.029,0.026,0.013,0.017,
+0.031,0.032,0.030,0.026,0.030,6.85e-3,0.021,0.031,0.028,0.027,
+0.023,0.033,3.84e-3,4.18e-3,1.34e-3,2.67e-3,2.67e-3,6.02e-3,4.68e-3,3.93e-3,
+3.26e-3,1.42e-3,4.93e-3,8.44e-3,2.84e-3,4.51e-3,2.67e-3,2.76e-3,0.019,0.032,
+0.022,0.025,4.18e-3,5.26e-3,7.19e-3,5.01e-3,0.032,6.60e-3,0.029,0.033,
+0.016,0.035,0.029,0.031,0.018,0.017,0.016,0.021,0.029,0.032,
+0.035,0.060,0.032,5.52e-3,0.035,0.052,0.023,0.036,0.037,0.045,
+0.040,0.025,0.014,0.025,0.020,0.014,0.012,0.016,0.022,3.18e-3,
+0.015,0.022,0.031,0.022,0.016,0.031,0.094,0.091,0.015,0.024,
+0.020,0.026,0.019,0.022,0.023,2.92e-3,0.021,0.030,0.021,0.031,
+0.019,0.029,0.030,0.039,0.026,0.036,2.67e-3,5.85e-3,3.59e-3,4.18e-3,
+0.039,6.85e-3,0.035,0.053,0.027,0.046,0.045,0.048,0.038,0.025,
+0.023,0.039,0.045,0.039,0.035,0.039,0.046,5.52e-3,0.045,0.062,
+0.049,0.058,0.054,0.075,0.063,0.043,0.039,0.067,0.041,0.027,
+0.024,0.031,0.038,4.35e-3,0.017,0.033,0.048,0.049,0.024,0.044,
+0.049,0.033,0.029,0.036,0.029,0.021,0.018,0.024,0.028,2.42e-3,
+0.018,0.019,0.037,0.039,0.027,0.039,0.036,0.034,0.022,0.036,
+3.18e-3,2.01e-3,1.84e-3,4.35e-3,0.022,3.26e-3,0.012,0.017,0.022,0.026,
+0.021,0.032,0.047,0.032,0.024,0.048,0.035,0.020,0.017,0.032,
+0.028,2.59e-3,0.016,0.027,0.043,0.031,0.031,0.061,0.053,0.033,
+0.021,0.036,0.029,0.022,0.018,0.027,0.030,3.01e-3,0.014,0.024,
+0.027,0.033,0.013,0.028,0.033,0.027,0.017,0.023,0.023,0.016,
+0.017,0.023,0.023,2.09e-3,0.016,0.026,0.024,0.026,0.015,0.026,
+0.028,0.029,0.023,0.027,2.76e-3,2.51e-3,2.76e-3,3.01e-3,0.027,3.84e-3,
+0.017,0.024,0.019,0.026,0.019,0.029,0.030,0.020,0.013,0.023,
+0.025,0.018,0.011,0.021,0.025,2.34e-3,0.015,0.025,0.023,0.023,
+0.022,0.041,0.031,0.015,0.016,0.028,0.024,0.015,0.017,0.024,
+0.025,3.26e-3,0.016,0.035,0.027,0.025,0.015,0.047,2.17e-3,1.92e-3,
+1.67e-3,2.26e-3,2.34e-3,1.09e-3,2.01e-3,2.26e-3,2.76e-3,4.18e-4,1.75e-3,4.18e-3,
+3.84e-3,4.18e-3,3.43e-3,5.43e-3,0.016,0.013,0.020,0.016,2.26e-3,1.50e-3,
+1.84e-3,2.09e-3,0.020,3.09e-3,0.013,0.014,0.015,0.018,0.018,0.024,
+0.020,0.011,0.010,0.016,0.026,0.015,0.014,0.021,0.020,3.01e-3,
+0.017,0.020,0.022,0.020,0.022,0.038,0.050,0.023,0.022,0.039,
+0.021,0.014,0.014,0.024,0.030,2.92e-3,0.020,0.031,0.047,0.037,
+0.023,0.061,0.038,0.022,0.018,0.028,0.025,0.014,0.016,0.024,
+0.029,2.34e-3,0.018,0.027,0.040,0.038,0.032,0.059,0.037,0.030,
+0.026,0.043,2.26e-3,2.09e-3,2.59e-3,3.59e-3,0.024,2.26e-3,0.018,0.027,
+0.038,0.036,0.037,0.055,0.048,0.029,0.024,0.049,0.030,0.024,
+0.022,0.034,0.045,3.09e-3,0.029,0.048,0.070,0.053,0.066,0.130,
+0.111,0.055,0.061,0.061,0.049,0.035,0.036,0.034,0.037,6.18e-3,
+0.018,0.031,0.040,0.048,0.024,0.045,0.072,0.031,0.076,0.041,
+0.041,0.025,0.029,0.023,0.032,5.01e-3,0.041,0.029,0.025,0.034,
+0.022,0.030,0.035,0.033,0.029,0.037,3.26e-3,4.60e-3,2.67e-3,4.43e-3,
+0.035,3.84e-3,0.021,0.033,0.021,0.033,0.026,0.039,0.043,0.042,
+0.024,0.033,0.038,0.034,0.025,0.037,0.032,4.51e-3,0.037,0.034,
+0.038,0.031,0.038,0.055,0.077,0.071,0.031,0.054,0.049,0.046,
+0.039,0.036,0.037,6.02e-3,0.020,0.031,0.033,0.039,0.020,0.037,
+0.051,0.051,0.029,0.033,0.045,0.035,0.030,0.037,0.039,8.44e-3,
+0.032,0.037,0.026,0.038,0.026,0.035,0.035,0.048,0.031,0.040,
+5.85e-3,7.52e-3,6.52e-3,4.93e-3,0.045,7.52e-3,0.032,0.043,0.029,0.054,
+0.039,0.042,0.040,0.034,0.018,0.032,0.057,0.048,0.032,0.039,
+0.038,5.43e-3,0.024,0.039,0.031,0.042,0.042,0.056,0.035,0.026,
+0.018,0.025,0.031,0.027,0.025,0.027,0.028,6.52e-3,0.014,0.029,
+0.025,0.031,0.019,0.041,2.59e-3,3.43e-3,1.92e-3,2.76e-3,3.43e-3,2.84e-3,
+2.59e-3,3.09e-3,3.84e-3,1.59e-3,3.84e-3,3.93e-3,3.26e-3,6.27e-3,4.18e-3,4.51e-3,
+0.023,0.028,0.071,0.045,3.68e-3,5.10e-3,5.68e-3,5.10e-3,0.037,8.36e-3,
+0.023,0.029,0.020,0.043,0.034,0.039,0.025,0.015,0.021,0.022,
+0.031,0.035,0.037,0.040,0.029,4.09e-3,0.027,0.039,0.026,0.027,
+0.038,0.050,0.042,0.027,0.024,0.034,0.024,0.020,0.015,0.024,
+0.025,3.26e-3,0.017,0.026,0.038,0.032,0.025,0.048,0.035,0.034,
+0.027,0.030,0.032,0.028,0.027,0.026,0.037,6.43e-3,0.028,0.036,
+0.036,0.061,0.033,0.047,0.031,0.028,0.033,0.042,2.67e-3,2.67e-3,
+3.34e-3,5.01e-3,0.033,4.09e-3,0.029,0.043,0.037,0.040,0.052,0.054,
+0.039,0.028,0.027,0.036,0.032,0.044,0.040,0.041,0.043,4.01e-3,
+0.036,0.056,0.054,0.052,0.058,0.098,0.053,0.034,0.021,0.035,
+0.022,0.022,0.014,0.021,0.029,2.67e-3,0.015,0.018,0.028,0.028,
+0.012,0.027,0.034,0.027,0.014,0.032,0.028,0.023,0.016,0.020,
+0.035,4.43e-3,0.026,0.027,0.023,0.032,0.018,0.028,0.030,0.033,
+0.020,0.032,3.51e-3,4.43e-3,2.67e-3,5.43e-3,0.034,5.26e-3,0.019,0.029,
+0.023,0.033,0.023,0.031,0.029,0.020,0.014,0.027,0.027,0.024,
+0.020,0.027,0.057,6.77e-3,0.027,0.043,0.037,0.035,0.031,0.063,
+3.51e-3,4.18e-3,1.34e-3,2.92e-3,3.51e-3,4.09e-3,2.01e-3,2.34e-3,2.92e-3,1.59e-3,
+1.42e-3,2.42e-3,3.01e-3,3.68e-3,2.34e-3,2.67e-3,4.09e-3,4.01e-3,1.67e-3,2.01e-3,
+3.68e-3,6.18e-3,2.92e-3,3.59e-3,3.84e-3,2.67e-3,5.43e-3,2.92e-3,2.92e-3,3.84e-3,
+2.51e-3,2.51e-3,2.51e-3,4.35e-3,1.84e-3,3.09e-3,8.36e-4,2.26e-3,1.50e-3,6.68e-4,
+5.01e-3,2.09e-3,5.26e-3,5.18e-3,3.51e-3,5.26e-3,3.34e-3,2.67e-3,2.17e-3,2.51e-3,
+1.59e-3,3.68e-3,4.18e-3,6.27e-3,3.18e-3,4.18e-3,5.52e-3,3.76e-3,4.93e-3,6.60e-3,
+3.84e-3,5.60e-3,3.26e-3,7.69e-3,0.031,0.024,0.013,0.020,0.023,0.030,
+0.025,0.022,0.028,7.85e-3,0.021,0.023,0.018,0.027,0.019,0.036,
+3.01e-3,3.43e-3,1.50e-3,1.59e-3,2.34e-3,4.43e-3,3.18e-3,2.01e-3,3.93e-3,2.51e-3,
+5.10e-3,3.01e-3,3.34e-3,4.51e-3,2.92e-3,5.10e-3,0.023,0.046,0.022,0.024,
+3.26e-3,5.93e-3,4.51e-3,3.26e-3,0.040,7.94e-3,0.020,0.027,0.019,0.033,
+0.028,0.029,0.018,0.015,0.013,0.015,0.024,0.027,0.030,0.028,
+0.043,8.52e-3,0.038,0.036,0.021,0.030,0.032,0.039,0.040,0.022,
+0.014,0.025,0.018,0.015,0.012,0.016,0.026,4.26e-3,0.016,0.021,
+0.028,0.026,0.016,0.032,0.036,0.029,0.016,0.023,0.023,0.025,
+0.019,0.019,0.037,4.01e-3,0.028,0.036,0.045,0.044,0.028,0.047,
+0.115,0.074,0.032,0.037,8.52e-3,7.52e-3,4.60e-3,3.76e-3,0.063,8.61e-3,
+0.043,0.049,0.165,0.059,0.053,0.057,0.036,0.025,0.025,0.031,
+0.037,0.032,0.028,0.035,0.058,6.85e-3,0.052,0.064,0.058,0.059,
+0.056,0.076,0.096,0.035,0.028,0.050,0.036,0.023,0.017,0.038,
+0.035,3.76e-3,0.015,0.032,0.043,0.035,0.025,0.048,0.036,0.026,
+0.014,0.023,0.025,0.017,0.017,0.020,0.030,2.67e-3,0.019,0.027,
+0.026,0.024,0.020,0.030,0.029,0.030,0.020,0.029,3.43e-3,4.09e-3,
+2.17e-3,5.52e-3,0.027,3.01e-3,0.016,0.025,0.026,0.031,0.020,0.034,
+0.045,0.023,0.021,0.041,0.031,0.022,0.022,0.035,0.038,3.26e-3,
+0.021,0.046,0.054,0.041,0.038,0.090,0.050,0.033,0.020,0.037,
+0.031,0.025,0.019,0.029,0.027,3.18e-3,0.015,0.025,0.026,0.030,
+0.021,0.032,0.040,0.027,0.012,0.025,0.026,0.022,0.014,0.021,
+0.026,3.51e-3,0.020,0.026,0.023,0.026,0.019,0.039,0.027,0.026,
+0.017,0.026,2.01e-3,3.34e-3,2.01e-3,2.59e-3,0.036,3.26e-3,0.023,0.036,
+0.029,0.037,0.026,0.040,0.036,0.023,0.018,0.032,0.036,0.027,
+0.020,0.033,0.035,3.76e-3,0.023,0.040,0.038,0.049,0.030,0.067,
+0.043,0.029,0.022,0.033,0.030,0.027,0.027,0.038,0.037,4.68e-3,
+0.017,0.036,0.035,0.033,0.028,0.069,2.76e-3,2.76e-3,1.25e-3,2.59e-3,
+1.67e-3,2.76e-3,2.92e-3,2.67e-3,3.09e-3,8.36e-4,2.92e-3,3.18e-3,2.34e-3,3.84e-3,
+3.26e-3,7.52e-3,0.029,0.034,0.023,0.030,2.84e-3,4.01e-3,4.01e-3,3.34e-3,
+0.034,5.77e-3,0.026,0.036,0.025,0.042,0.033,0.047,0.028,0.024,
+0.024,0.034,0.032,0.034,0.029,0.041,0.055,7.60e-3,0.040,0.057,
+0.043,0.044,0.049,0.081,0.072,0.034,0.031,0.053,0.031,0.022,
+0.023,0.029,0.044,4.09e-3,0.026,0.043,0.062,0.042,0.036,0.083,
+0.052,0.036,0.022,0.035,0.044,0.029,0.026,0.033,0.042,3.43e-3,
+0.029,0.053,0.052,0.044,0.035,0.091,0.057,0.050,0.039,0.065,
+4.68e-3,3.51e-3,2.67e-3,5.10e-3,0.063,6.35e-3,0.050,0.093,0.073,0.071,
+0.063,0.106,0.100,0.049,0.053,0.100,0.072,0.052,0.050,0.097,
+0.102,6.60e-3,0.079,0.145,0.120,0.096,0.108,0.155,1.250,0.646,
+0.477,0.906,0.673,0.444,0.383,0.452,0.690,0.066,0.330,0.530,
+1.020,0.723,0.539,0.890,0.714,0.451,0.320,0.385,0.431,0.277,
+0.290,0.252,0.458,0.034,0.312,0.362,0.385,0.369,0.356,0.426,
+0.479,0.366,0.312,0.408,0.039,0.034,0.026,0.048,0.415,0.032,
+0.238,0.285,0.336,0.438,0.334,0.387,0.813,0.428,0.354,0.709,
+0.527,0.423,0.340,0.531,0.458,0.044,0.318,0.458,0.567,0.492,
+0.470,0.808,0.826,0.510,0.327,0.421,0.389,0.283,0.233,0.262,
+0.343,0.033,0.215,0.267,0.339,0.314,0.237,0.326,0.460,0.336,
+0.220,0.246,0.255,0.174,0.193,0.164,0.293,0.022,0.214,0.249,
+0.209,0.206,0.261,0.255,0.285,0.286,0.200,0.224,0.020,0.019,
+0.018,0.023,0.264,0.022,0.187,0.254,0.206,0.289,0.222,0.225,
+0.327,0.244,0.166,0.282,0.299,0.247,0.184,0.263,0.315,0.026,
+0.285,0.340,0.272,0.255,0.305,0.477,0.530,0.228,0.217,0.316,
+0.301,0.203,0.189,0.215,0.285,0.035,0.180,0.329,0.265,0.272,
+0.262,0.426,0.032,0.021,0.021,0.022,0.022,0.021,0.017,0.020,
+0.023,3.34e-3,0.019,0.028,0.032,0.048,0.031,0.040,0.232,0.192,
+0.172,0.199,0.017,0.015,0.017,0.021,0.230,0.024,0.186,0.193,
+0.158,0.304,0.272,0.213,0.216,0.146,0.167,0.292,0.219,0.183,
+0.185,0.244,0.302,0.025,0.268,0.327,0.278,0.225,0.315,0.445,
+0.661,0.233,0.203,0.368,0.230,0.157,0.143,0.154,0.233,0.027,
+0.122,0.191,0.326,0.338,0.229,0.442,0.320,0.215,0.239,0.221,
+0.202,0.158,0.163,0.139,0.203,0.016,0.162,0.213,0.220,0.290,
+0.215,0.287,0.259,0.230,0.171,0.223,0.017,0.016,0.014,0.018,
+0.240,0.017,0.167,0.210,0.180,0.260,0.253,0.255,0.380,0.202,
+0.211,0.415,0.158,0.122,0.157,0.228,0.331,0.021,0.291,0.379,
+0.448,0.333,0.505,0.730,0.952,0.637,0.442,0.755,0.500,0.442,
+0.347,0.373,0.490,0.050,0.240,0.470,0.624,0.441,0.337,0.539,
+0.615,0.453,0.279,0.353,0.373,0.275,0.280,0.239,0.355,0.037,
+0.271,0.368,0.241,0.270,0.234,0.309,0.310,0.327,0.257,0.300,
+0.027,0.030,0.027,0.035,0.260,0.025,0.197,0.215,0.174,0.309,
+0.225,0.292,0.380,0.226,0.193,0.330,0.387,0.298,0.232,0.304,
+0.238,0.025,0.192,0.268,0.284,0.265,0.294,0.518,0.755,0.583,
+0.323,0.442,0.447,0.416,0.383,0.321,0.382,0.041,0.301,0.308,
+0.325,0.313,0.223,0.304,0.472,0.393,0.252,0.262,0.260,0.141,
+0.232,0.187,0.317,0.035,0.261,0.325,0.178,0.239,0.212,0.232,
+0.327,0.469,0.286,0.293,0.027,0.038,0.038,0.027,0.325,0.050,
+0.266,0.313,0.223,0.618,0.287,0.306,0.301,0.259,0.171,0.231,
+0.375,0.312,0.221,0.246,0.296,0.031,0.216,0.273,0.220,0.271,
+0.317,0.403,0.420,0.269,0.212,0.308,0.340,0.313,0.306,0.249,
+0.315,0.042,0.242,0.287,0.236,0.291,0.272,0.345,0.036,0.038,
+0.024,0.027,0.026,0.042,0.036,0.022,0.030,8.11e-3,0.034,0.034,
+0.027,0.069,0.039,0.040,0.338,0.430,0.292,0.318,0.033,0.049,
+0.040,0.039,0.374,0.083,0.321,0.330,0.347,1.500,0.554,0.393,
+0.235,0.167,0.207,0.231,0.300,0.312,0.375,0.353,0.320,0.035,
+0.478,0.424,0.212,0.330,0.518,0.530,0.403,0.218,0.174,0.292,
+0.233,0.173,0.140,0.167,0.183,0.018,0.113,0.161,0.214,0.223,
+0.162,0.302,0.434,0.294,0.238,0.286,0.289,0.275,0.226,0.250,
+0.235,0.022,0.207,0.268,0.211,0.307,0.234,0.354,0.241,0.240,
+0.194,0.249,0.017,0.021,0.017,0.024,0.237,0.025,0.203,0.254,
+0.226,0.375,0.328,0.338,0.328,0.200,0.209,0.299,0.235,0.201,
+0.230,0.271,0.282,0.024,0.400,0.429,0.352,0.402,0.552,0.799,
+0.637,0.387,0.272,0.463,0.256,0.220,0.169,0.189,0.267,0.028,
+0.165,0.205,0.308,0.348,0.179,0.322,0.499,0.372,0.240,0.341,
+0.286,0.262,0.221,0.193,0.349,0.035,0.254,0.273,0.228,0.333,
+0.207,0.271,0.296,0.319,0.267,0.292,0.029,0.039,0.029,0.044,
+0.234,0.032,0.200,0.217,0.157,0.313,0.207,0.243,0.322,0.216,
+0.193,0.363,0.272,0.318,0.236,0.293,0.327,0.034,0.256,0.343,
+0.294,0.301,0.313,0.604,0.054,0.047,0.029,0.038,0.039,0.043,
+0.027,0.029,0.037,5.68e-3,0.022,0.028,0.026,0.047,0.022,0.035,
+0.053,0.060,0.034,0.041,0.038,0.047,0.033,0.027,0.044,8.19e-3,
+0.042,0.040,0.023,0.048,0.029,0.033,0.031,0.047,0.030,0.031,
+3.93e-3,9.02e-3,7.27e-3,6.35e-3,0.037,8.19e-3,0.040,0.039,0.022,0.063,
+0.032,0.034,0.050,0.040,0.028,0.049,0.063,0.097,0.050,0.069,
+0.048,7.85e-3,0.054,0.061,0.043,0.066,0.049,0.087,0.374,0.215,
+0.165,0.190,0.227,0.199,0.190,0.146,0.262,0.059,0.224,0.220,
+0.196,0.368,0.204,0.274,0.030,0.032,0.017,0.022,0.019,0.027,
+0.021,0.012,0.031,0.010,0.034,0.024,0.023,0.049,0.027,0.025,
+0.227,0.265,0.285,0.199,0.023,0.029,0.055,0.026,0.303,0.043,
+0.237,0.233,0.145,0.272,0.267,0.218,0.187,0.129,0.144,0.193,
+0.198,0.228,0.267,0.218,0.330,0.038,0.346,0.349,0.205,0.210,
+0.283,0.342,0.359,0.171,0.124,0.193,0.204,0.161,0.102,0.106,
+0.183,0.020,0.118,0.166,0.183,0.187,0.129,0.222,0.420,0.299,
+0.199,0.262,0.262,0.250,0.182,0.166,0.291,0.030,0.230,0.298,
+0.229,0.320,0.208,0.261,0.224,0.237,0.204,0.243,0.020,0.024,
+0.025,0.026,0.289,0.031,0.249,0.387,0.186,0.296,0.255,0.307,
+0.319,0.191,0.217,0.302,0.242,0.218,0.233,0.231,0.316,0.034,
+0.355,0.509,0.345,0.330,0.370,0.535,0.672,0.327,0.271,0.516,
+0.236,0.158,0.153,0.180,0.283,0.025,0.136,0.221,0.373,0.259,
+0.226,0.399,0.329,0.197,0.147,0.213,0.194,0.121,0.141,0.140,
+0.244,0.018,0.126,0.197,0.174,0.163,0.128,0.211,0.244,0.180,
+0.146,0.248,0.021,0.016,0.017,0.029,0.162,0.015,0.111,0.181,
+0.150,0.206,0.142,0.234,0.353,0.176,0.202,0.429,0.258,0.196,
+0.191,0.306,0.260,0.023,0.195,0.345,0.331,0.283,0.308,0.676,
+0.561,0.332,0.228,0.366,0.297,0.247,0.187,0.226,0.293,0.025,
+0.174,0.249,0.249,0.282,0.176,0.287,0.397,0.273,0.172,0.245,
+0.244,0.182,0.173,0.175,0.270,0.022,0.178,0.269,0.187,0.231,
+0.162,0.224,0.257,0.231,0.160,0.261,0.017,0.022,0.015,0.024,
+0.255,0.025,0.182,0.263,0.182,0.292,0.195,0.265,0.358,0.199,
+0.173,0.353,0.304,0.277,0.228,0.349,0.321,0.033,0.302,0.374,
+0.293,0.425,0.298,0.552,0.412,0.223,0.250,0.344,0.299,0.198,
+0.222,0.265,0.324,0.041,0.222,0.269,0.253,0.245,0.249,0.355,
+0.029,0.029,0.019,0.034,0.021,0.022,0.017,0.020,0.035,4.43e-3,
+0.025,0.031,0.026,0.035,0.026,0.031,0.259,0.257,0.237,0.418,
+0.023,0.021,0.022,0.034,0.298,0.030,0.258,0.293,0.190,0.303,
+0.283,0.338,0.307,0.172,0.182,0.310,0.309,0.251,0.261,0.399,
+1.030,0.083,0.423,0.707,0.351,0.379,0.393,0.544,0.641,0.243,
+0.217,0.390,0.282,0.175,0.161,0.201,0.273,0.025,0.154,0.262,
+0.338,0.249,0.252,0.490,0.300,0.208,0.154,0.256,0.173,0.113,
+0.136,0.162,0.252,0.018,0.179,0.284,0.270,0.242,0.201,0.344,
+0.346,0.281,0.287,0.503,0.059,0.025,0.024,0.042,0.409,0.030,
+0.279,0.449,0.335,0.394,0.483,0.549,0.586,0.296,0.411,0.802,
+0.406,0.337,0.349,0.524,0.665,0.043,0.552,0.845,0.987,0.709,
+0.878,1.140,0.065,0.056,0.035,0.048,0.041,0.030,0.029,0.032,
+0.034,4.35e-3,0.021,0.031,0.036,0.039,0.039,0.039,0.043,0.040,
+0.022,0.027,0.031,0.025,0.026,0.026,0.029,4.76e-3,0.025,0.027,
+0.025,0.026,0.029,0.034,0.021,0.022,0.023,0.019,2.34e-3,1.92e-3,
+3.84e-3,4.35e-3,0.015,2.01e-3,0.015,0.017,0.017,0.020,0.018,0.021,
+0.032,0.026,0.015,0.029,0.026,0.023,0.020,0.029,0.025,2.42e-3,
+0.022,0.025,0.026,0.020,0.027,0.042,0.057,0.042,0.029,0.033,
+0.038,0.035,0.029,0.022,0.029,5.18e-3,0.023,0.029,0.020,0.032,
+0.017,0.024,0.046,0.042,0.023,0.021,0.031,0.028,0.032,0.023,
+0.035,7.69e-3,0.035,0.041,0.018,0.030,0.021,0.025,0.023,0.029,
+0.021,0.016,2.84e-3,5.93e-3,5.43e-3,3.68e-3,0.028,6.27e-3,0.025,0.032,
+0.049,0.032,0.021,0.022,0.020,0.020,0.011,0.015,0.029,0.029,
+0.018,0.022,0.031,4.01e-3,0.027,0.029,0.020,0.022,0.024,0.033,
+0.037,0.019,0.014,0.016,0.022,0.018,0.020,0.014,0.018,2.59e-3,
+0.013,0.021,0.012,0.019,0.016,0.023,2.51e-3,4.35e-3,2.26e-3,2.26e-3,
+3.18e-3,5.85e-3,3.93e-3,2.59e-3,4.01e-3,9.19e-4,5.77e-3,3.59e-3,2.09e-3,5.26e-3,
+3.51e-3,3.51e-3,0.013,0.017,0.014,0.011,1.75e-3,2.42e-3,3.34e-3,2.51e-3,
+0.018,3.51e-3,0.017,0.016,0.013,0.017,0.025,0.019,0.010,8.94e-3,
+9.86e-3,0.013,0.014,0.016,0.018,0.018,0.034,4.43e-3,0.026,0.026,
+0.016,0.017,0.025,0.025,0.038,0.021,0.013,0.019,0.015,0.012,
+9.94e-3,0.012,0.018,2.17e-3,8.44e-3,0.011,0.017,0.019,0.014,0.027,
+0.027,0.024,0.017,0.018,0.021,0.019,0.016,0.016,0.021,2.76e-3,
+0.017,0.022,0.016,0.024,0.018,0.022,0.016,0.015,0.015,0.015,
+1.42e-3,1.67e-3,1.59e-3,2.17e-3,0.014,1.59e-3,0.013,0.017,0.012,0.018,
+0.023,0.026,0.021,0.015,0.015,0.026,0.015,0.013,0.013,0.016,
+0.027,2.17e-3,0.024,0.031,0.028,0.027,0.042,0.056,0.052,0.041,
+0.031,0.041,0.036,0.037,0.033,0.028,0.027,3.93e-3,0.017,0.026,
+0.029,0.026,0.024,0.029,0.037,0.035,0.026,0.023,0.028,0.035,
+0.036,0.023,0.026,7.60e-3,0.030,0.029,0.019,0.021,0.022,0.023,
+0.017,0.021,0.034,0.020,2.17e-3,3.43e-3,4.60e-3,3.09e-3,0.014,3.01e-3,
+0.016,0.015,8.94e-3,0.014,0.019,0.016,0.015,0.013,0.014,0.019,
+0.021,0.020,0.017,0.017,0.015,1.59e-3,0.016,0.019,0.016,0.015,
+0.020,0.028,0.045,0.049,0.025,0.030,0.039,0.060,0.041,0.024,
+0.028,5.85e-3,0.024,0.024,0.018,0.026,0.019,0.023,0.039,0.043,
+0.026,0.023,0.029,0.018,0.030,0.019,0.029,0.012,0.034,0.040,
+0.013,0.028,0.022,0.020,0.018,0.034,0.022,0.020,3.09e-3,0.012,
+7.69e-3,3.93e-3,0.028,0.010,0.027,0.030,0.013,0.040,0.027,0.024,
+0.019,0.018,0.013,0.016,0.026,0.034,0.023,0.019,0.022,4.85e-3,
+0.023,0.025,0.013,0.020,0.024,0.029,0.025,0.016,0.013,0.015,
+0.026,0.027,0.031,0.019,0.022,4.76e-3,0.019,0.019,0.014,0.020,
+0.018,0.019,3.26e-3,5.35e-3,3.18e-3,1.92e-3,6.27e-3,0.010,0.010,2.84e-3,
+3.93e-3,3.51e-3,0.014,8.02e-3,1.75e-3,5.52e-3,3.93e-3,3.26e-3,0.032,0.034,
+0.025,0.023,7.85e-3,0.011,0.012,5.43e-3,0.036,9.78e-3,0.040,0.029,
+0.025,0.071,0.051,0.029,0.018,0.011,0.012,0.011,0.022,0.035,
+0.035,0.026,0.023,5.10e-3,0.042,0.030,0.012,0.020,0.040,0.033,
+0.021,0.016,0.014,0.014,0.015,0.012,0.011,0.012,0.011,1.25e-3,
+9.02e-3,0.012,0.011,0.010,0.012,0.018,0.022,0.025,0.017,0.016,
+0.023,0.023,0.020,0.020,0.016,3.76e-3,0.020,0.023,0.012,0.020,
+0.017,0.023,0.013,0.015,0.016,0.016,1.84e-3,2.51e-3,2.51e-3,2.34e-3,
+0.016,3.34e-3,0.021,0.020,0.011,0.021,0.033,0.024,0.016,0.012,
+0.011,0.014,0.015,0.016,0.016,0.018,0.019,3.09e-3,0.028,0.026,
+0.017,0.023,0.037,0.044,0.037,0.028,0.020,0.026,0.021,0.021,
+0.017,0.019,0.019,3.84e-3,0.015,0.014,0.016,0.023,0.013,0.016,
+0.038,0.038,0.022,0.023,0.027,0.035,0.032,0.024,0.032,9.19e-3,
+0.037,0.030,0.017,0.032,0.021,0.019,0.019,0.030,0.020,0.025,
+2.84e-3,5.18e-3,4.93e-3,4.51e-3,0.021,3.59e-3,0.025,0.021,0.013,0.025,
+0.020,0.016,0.018,0.014,0.011,0.021,0.019,0.026,0.018,0.024,
+0.027,5.35e-3,0.022,0.031,0.017,0.018,0.022,0.041,3.34e-3,4.51e-3,
+2.76e-3,2.67e-3,5.26e-3,5.85e-3,4.35e-3,2.92e-3,2.84e-3,1.92e-3,3.26e-3,3.34e-3,
+1.67e-3,3.76e-3,2.92e-3,2.34e-3,4.85e-3,9.44e-3,3.59e-3,3.34e-3,7.69e-3,0.011,
+7.94e-3,5.18e-3,8.11e-3,5.93e-3,0.012,9.02e-3,2.76e-3,7.44e-3,5.10e-3,2.92e-3,
+2.34e-3,6.68e-3,3.76e-3,3.18e-3,1.75e-3,5.43e-3,5.60e-3,2.26e-3,6.35e-3,4.85e-3,
+0.013,7.35e-3,2.09e-3,9.11e-3,6.60e-3,4.51e-3,1.84e-3,2.92e-3,2.01e-3,2.09e-3,
+3.68e-3,0.010,6.10e-3,6.52e-3,4.60e-3,1.92e-3,5.85e-3,6.94e-3,2.09e-3,3.34e-3,
+4.26e-3,4.43e-3,0.024,0.022,0.015,0.013,0.019,0.025,0.029,0.016,
+0.022,7.52e-3,0.027,0.021,0.015,0.038,0.022,0.022,3.34e-3,5.85e-3,
+2.92e-3,2.84e-3,4.09e-3,8.69e-3,9.11e-3,2.67e-3,4.93e-3,5.52e-3,0.013,6.02e-3,
+2.17e-3,5.60e-3,6.10e-3,2.92e-3,0.019,0.032,0.041,0.018,4.09e-3,0.014,
+0.029,5.26e-3,0.031,0.013,0.050,0.029,0.011,0.028,0.035,0.018,
+0.017,0.013,0.015,0.020,0.021,0.034,0.050,0.024,0.065,9.61e-3,
+0.076,0.049,0.015,0.025,0.029,0.031,0.021,0.016,9.53e-3,0.014,
+0.013,0.013,7.94e-3,9.28e-3,0.016,2.92e-3,0.014,0.016,0.012,0.017,
+0.011,0.018,0.027,0.028,0.015,0.018,0.024,0.032,0.024,0.019,
+0.027,6.94e-3,0.031,0.035,0.017,0.029,0.021,0.022,0.017,0.022,
+0.018,0.021,2.84e-3,5.10e-3,5.01e-3,2.76e-3,0.033,7.52e-3,0.031,0.036,
+0.014,0.035,0.029,0.025,0.017,0.012,0.013,0.020,0.020,0.023,
+0.023,0.020,0.026,4.43e-3,0.045,0.046,0.022,0.029,0.034,0.041,
+0.052,0.031,0.027,0.041,0.036,0.022,0.017,0.038,0.037,3.34e-3,
+0.015,0.032,0.035,0.026,0.020,0.039,0.033,0.025,0.015,0.022,
+0.024,0.017,0.016,0.019,0.022,3.59e-3,0.016,0.024,0.016,0.018,
+0.017,0.023,0.021,0.015,0.014,0.022,2.17e-3,1.34e-3,1.84e-3,3.68e-3,
+0.014,1.75e-3,0.014,0.020,0.014,0.016,0.016,0.023,0.029,0.016,
+0.016,0.028,0.025,0.021,0.018,0.033,0.048,3.26e-3,0.020,0.057,
+0.032,0.024,0.027,0.077,0.062,0.045,0.031,0.041,0.037,0.039,
+0.030,0.030,0.035,6.02e-3,0.027,0.037,0.029,0.055,0.022,0.035,
+0.062,0.050,0.030,0.037,0.041,0.040,0.044,0.037,0.038,6.85e-3,
+0.041,0.050,0.024,0.043,0.029,0.035,0.025,0.031,0.022,0.029,
+2.67e-3,4.60e-3,4.26e-3,5.77e-3,0.034,5.93e-3,0.032,0.042,0.020,0.043,
+0.031,0.031,0.034,0.024,0.020,0.035,0.037,0.039,0.035,0.051,
+0.049,5.85e-3,0.048,0.060,0.034,0.047,0.043,0.066,0.055,0.020,
+0.018,0.023,0.026,0.020,0.024,0.023,0.043,4.26e-3,0.026,0.028,
+0.018,0.022,0.025,0.033,4.18e-3,3.59e-3,1.92e-3,3.26e-3,4.60e-3,4.68e-3,
+3.84e-3,2.76e-3,9.11e-3,1.00e-3,4.85e-3,5.10e-3,2.26e-3,3.43e-3,5.26e-3,4.35e-3,
+0.026,0.023,0.023,0.027,3.01e-3,4.68e-3,6.77e-3,6.43e-3,0.042,5.26e-3,
+0.055,0.037,0.014,0.030,0.037,0.033,0.072,0.017,0.019,0.027,
+0.043,0.030,0.028,0.041,0.508,0.041,0.101,0.165,0.059,0.052,
+0.053,0.067,0.048,0.021,0.019,0.027,0.021,0.017,0.017,0.020,
+0.023,3.01e-3,0.017,0.023,0.025,0.020,0.024,0.040,0.030,0.020,
+0.017,0.024,0.019,0.016,0.017,0.020,0.026,1.59e-3,0.021,0.028,
+0.019,0.022,0.022,0.035,0.025,0.023,0.023,0.036,4.09e-3,3.01e-3,
+2.59e-3,3.01e-3,0.033,3.59e-3,0.032,0.043,0.021,0.035,0.068,0.060,
+0.046,0.024,0.029,0.054,0.036,0.030,0.030,0.042,0.089,5.43e-3,
+0.070,0.090,0.069,0.062,0.117,0.105,0.506,0.441,0.363,0.574,
+0.447,0.350,0.346,0.515,0.389,0.036,0.293,0.443,0.520,0.436,
+0.376,0.537,0.432,0.301,0.207,0.260,0.325,0.214,0.222,0.224,
+0.260,0.019,0.204,0.212,0.293,0.233,0.226,0.259,0.273,0.292,
+0.254,0.257,0.020,0.019,0.020,0.032,0.194,0.019,0.209,0.217,
+0.178,0.202,0.236,0.254,0.332,0.183,0.157,0.273,0.205,0.147,
+0.155,0.210,0.185,0.014,0.154,0.213,0.236,0.143,0.226,0.394,
+0.635,0.461,0.384,0.399,0.427,0.360,0.302,0.294,0.338,0.038,
+0.201,0.279,0.281,0.297,0.188,0.268,0.527,0.406,0.258,0.279,
+0.400,0.231,0.283,0.250,0.362,0.036,0.288,0.396,0.246,0.278,
+0.195,0.257,0.313,0.364,0.526,0.328,0.033,0.034,0.042,0.038,
+0.392,0.049,0.360,0.571,0.467,0.417,0.367,0.336,0.244,0.187,
+0.154,0.196,0.305,0.268,0.219,0.265,0.232,0.020,0.203,0.317,
+0.247,0.202,0.239,0.375,0.382,0.232,0.227,0.248,0.326,0.259,
+0.282,0.290,0.292,0.035,0.190,0.229,0.230,0.232,0.211,0.300,
+0.036,0.035,0.032,0.030,0.041,0.038,0.037,0.044,0.037,6.52e-3,
+0.036,0.037,0.037,0.061,0.037,0.044,0.254,0.268,0.274,0.227,
+0.027,0.029,0.036,0.032,0.310,0.040,0.349,0.314,0.175,0.256,
+0.400,0.278,0.197,0.165,0.271,0.186,0.294,0.271,0.352,0.282,
+0.256,0.027,0.320,0.326,0.254,0.211,0.376,0.379,0.353,0.190,
+0.162,0.260,0.187,0.142,0.135,0.153,0.179,0.019,0.116,0.146,
+0.223,0.178,0.168,0.272,0.311,0.234,0.185,0.218,0.235,0.188,
+0.202,0.207,0.209,0.019,0.179,0.228,0.203,0.231,0.194,0.255,
+0.247,0.235,0.262,0.250,0.022,0.019,0.028,0.030,0.235,0.024,
+0.307,0.306,0.204,0.313,0.579,0.354,0.299,0.200,0.353,0.324,
+0.206,0.186,0.238,0.241,0.335,0.026,0.304,0.398,0.501,0.341,
+0.497,0.759,0.044,0.034,0.024,0.034,0.036,0.032,0.032,0.037,
+0.021,4.43e-3,0.017,0.024,0.028,0.035,0.021,0.027,0.041,0.038,
+0.024,0.025,0.041,0.037,0.037,0.026,0.026,5.93e-3,0.029,0.028,
+0.054,0.028,0.026,0.036,0.018,0.025,0.022,0.027,3.51e-3,4.51e-3,
+4.76e-3,4.68e-3,0.018,3.26e-3,0.027,0.027,0.013,0.020,0.028,0.026,
+0.020,0.013,0.017,0.018,0.021,0.022,0.019,0.020,0.015,1.84e-3,
+0.016,0.022,0.015,0.016,0.022,0.037,0.039,0.041,0.037,0.026,
+0.036,0.043,0.034,0.026,0.023,7.27e-3,0.019,0.022,0.015,0.028,
+0.016,0.024,0.044,0.052,0.032,0.027,0.045,0.038,0.047,0.033,
+0.042,0.011,0.042,0.050,0.019,0.032,0.027,0.039,0.023,0.039,
+0.031,0.025,5.01e-3,0.012,0.011,6.02e-3,0.052,0.021,0.050,0.066,
+0.023,0.049,0.040,0.031,0.017,0.018,0.013,0.013,0.028,0.027,
+0.024,0.021,0.021,3.51e-3,0.021,0.026,0.016,0.018,0.023,0.029,
+0.030,0.026,0.026,0.020,0.030,0.036,0.036,0.027,0.031,6.60e-3,
+0.025,0.020,0.015,0.020,0.020,0.028,4.43e-3,5.52e-3,3.09e-3,4.01e-3,
+6.77e-3,0.011,0.011,4.85e-3,6.10e-3,4.68e-3,0.011,8.36e-3,2.84e-3,6.43e-3,
+6.60e-3,6.27e-3,0.026,0.031,0.030,0.024,5.52e-3,0.010,0.015,6.35e-3,
+0.038,0.014,0.060,0.036,0.019,0.051,0.063,0.040,0.019,0.016,
+0.017,0.014,0.029,0.036,0.043,0.033,0.031,6.68e-3,0.042,0.037,
+0.019,0.025,0.042,0.044,0.028,0.029,0.021,0.024,0.019,0.021,
+0.016,0.016,0.018,2.17e-3,0.014,0.015,0.018,0.020,0.025,0.028,
+0.036,0.034,0.026,0.029,0.036,0.038,0.036,0.034,0.028,5.10e-3,
+0.031,0.037,0.023,0.037,0.036,0.042,0.019,0.027,0.029,0.029,
+2.76e-3,4.93e-3,5.60e-3,5.01e-3,0.025,5.77e-3,0.040,0.036,0.022,0.039,
+0.138,0.049,0.024,0.021,0.030,0.028,0.019,0.022,0.027,0.024,
+0.027,3.34e-3,0.033,0.035,0.033,0.031,0.100,0.067,0.649,0.445,
+0.393,0.626,0.300,0.292,0.183,0.249,0.268,0.031,0.334,0.261,
+0.202,0.186,0.160,0.207,0.409,0.363,0.194,0.241,0.336,0.315,
+0.259,0.224,0.339,0.044,0.364,0.309,0.203,0.331,0.202,0.237,
+0.299,0.292,0.239,0.258,0.034,0.041,0.037,0.048,0.328,0.047,
+0.471,0.336,0.155,0.296,0.301,0.296,0.217,0.145,0.110,0.199,
+0.216,0.213,0.154,0.204,0.281,0.030,0.299,0.412,0.191,0.199,
+0.251,0.430,0.048,0.038,0.022,0.027,0.045,0.052,0.030,0.032,
+0.032,7.52e-3,0.034,0.034,0.019,0.030,0.019,0.020,0.034,0.040,
+0.018,0.019,0.044,0.048,0.035,0.027,0.036,9.02e-3,0.045,0.036,
+0.016,0.028,0.017,0.017,0.041,0.044,0.032,0.025,6.02e-3,0.014,
+0.012,6.10e-3,0.052,0.017,0.088,0.052,0.025,0.046,0.047,0.042,
+0.024,0.020,0.012,0.021,0.036,0.046,0.029,0.036,0.044,6.77e-3,
+0.038,0.069,0.021,0.023,0.026,0.044,0.622,0.234,0.265,0.185,
+0.235,0.261,0.246,0.189,0.250,0.037,0.374,0.230,0.149,0.178,
+0.220,0.208,0.035,0.034,0.042,0.027,0.023,0.035,0.031,0.016,
+0.036,9.53e-3,0.076,0.035,0.016,0.030,0.030,0.023,0.288,0.153,
+0.234,0.139,0.031,0.023,0.054,0.020,0.133,0.029,0.079,0.056,
+0.056,0.067,0.145,0.117,0.157,0.095,0.140,0.081,0.135,0.138,
+0.193,0.110,0.204,0.028,0.324,0.226,0.128,0.149,0.233,0.279,
+0.294,0.189,0.123,0.168,0.154,0.129,0.112,0.105,0.165,0.017,
+0.167,0.157,0.118,0.119,0.097,0.149,0.254,0.242,0.153,0.140,
+0.216,0.228,0.160,0.134,0.216,0.028,0.290,0.240,0.148,0.222,
+0.149,0.153,0.245,0.218,0.229,0.223,0.024,0.032,0.032,0.029,
+0.321,0.041,0.447,0.351,0.180,0.318,0.334,0.288,0.202,0.139,
+0.121,0.170,0.185,0.175,0.170,0.167,0.262,0.031,0.401,0.374,
+0.244,0.263,0.372,0.427,0.442,0.260,0.199,0.345,0.226,0.175,
+0.147,0.195,0.187,0.021,0.151,0.200,0.230,0.218,0.159,0.256,
+0.284,0.215,0.112,0.150,0.198,0.144,0.118,0.118,0.172,0.012,
+0.117,0.148,0.127,0.124,0.116,0.152,0.218,0.176,0.124,0.175,
+0.017,0.015,0.012,0.024,0.165,0.016,0.185,0.240,0.130,0.159,
+0.169,0.222,0.210,0.139,0.100,0.183,0.176,0.124,0.097,0.169,
+0.175,0.014,0.131,0.247,0.178,0.144,0.202,0.357,0.486,0.379,
+0.223,0.330,0.393,0.337,0.231,0.265,0.269,0.034,0.242,0.272,
+0.222,0.368,0.172,0.262,0.403,0.344,0.180,0.223,0.439,0.298,
+0.275,0.237,0.298,0.029,0.254,0.304,0.176,0.255,0.156,0.204,
+0.245,0.315,0.198,0.231,0.026,0.035,0.026,0.030,0.311,0.038,
+0.374,0.411,0.176,0.324,0.282,0.324,0.250,0.197,0.129,0.206,
+0.277,0.288,0.224,0.292,0.242,0.026,0.250,0.449,0.200,0.216,
+0.238,0.364,0.376,0.218,0.188,0.214,0.265,0.227,0.271,0.256,
+0.262,0.033,0.250,0.263,0.191,0.228,0.243,0.303,0.024,0.027,
+0.021,0.020,0.027,0.035,0.029,0.025,0.028,5.35e-3,0.033,0.032,
+0.020,0.033,0.028,0.026,0.295,0.306,0.269,0.264,0.028,0.030,
+0.037,0.035,0.381,0.053,0.443,0.498,0.195,0.303,0.448,0.385,
+0.230,0.184,0.174,0.199,0.316,0.295,0.342,0.332,0.350,0.030,
+0.438,0.497,0.218,0.240,0.408,0.461,0.356,0.218,0.154,0.248,
+0.182,0.151,0.150,0.155,0.190,0.021,0.146,0.193,0.221,0.181,
+0.180,0.277,0.284,0.239,0.150,0.181,0.206,0.194,0.172,0.176,
+0.200,0.015,0.204,0.257,0.171,0.182,0.185,0.240,0.288,0.276,
+0.282,0.373,0.021,0.024,0.032,0.040,0.416,0.042,0.478,0.581,
+0.285,0.405,0.483,0.495,0.377,0.221,0.248,0.389,0.332,0.280,
+0.318,0.344,0.388,0.032,0.478,0.602,0.446,0.369,0.698,0.657,
+0.632,0.445,0.396,0.892,0.350,0.240,0.213,0.303,0.326,0.030,
+0.172,0.296,0.492,0.394,0.249,0.479,0.399,0.238,0.164,0.241,
+0.257,0.158,0.146,0.156,0.272,0.021,0.142,0.156,0.248,0.237,
+0.149,0.212,0.262,0.223,0.181,0.250,0.022,0.017,0.015,0.030,
+0.200,0.018,0.139,0.174,0.175,0.197,0.194,0.241,0.354,0.197,
+0.194,0.405,0.262,0.175,0.159,0.234,0.216,0.016,0.151,0.250,
+0.308,0.194,0.239,0.513,0.569,0.366,0.241,0.357,0.300,0.196,
+0.159,0.197,0.228,0.022,0.119,0.180,0.238,0.213,0.126,0.248,
+0.332,0.210,0.139,0.185,0.205,0.111,0.124,0.144,0.194,0.014,
+0.137,0.188,0.205,0.146,0.117,0.176,0.204,0.181,0.184,0.172,
+0.013,0.012,0.012,0.016,0.309,0.015,0.116,0.196,0.243,0.192,
+0.156,0.194,0.183,0.117,0.094,0.154,0.162,0.125,0.105,0.142,
+0.185,0.012,0.110,0.188,0.176,0.135,0.158,0.293,0.346,0.179,
+0.186,0.242,0.248,0.163,0.151,0.212,0.219,0.022,0.095,0.166,
+0.222,0.204,0.146,0.282,0.022,0.021,0.014,0.021,0.021,0.017,
+0.015,0.021,0.018,2.34e-3,0.013,0.020,0.031,0.039,0.020,0.035,
+0.193,0.157,0.173,0.188,0.015,0.012,0.015,0.021,0.192,0.018,
+0.145,0.187,0.171,0.184,0.255,0.260,0.171,0.116,0.145,0.178,
+0.209,0.149,0.172,0.209,0.221,0.018,0.166,0.238,0.225,0.177,
+0.258,0.348,0.419,0.180,0.168,0.305,0.184,0.121,0.123,0.163,
+0.223,0.018,0.108,0.159,0.273,0.201,0.161,0.348,0.282,0.180,
+0.128,0.185,0.181,0.135,0.124,0.133,0.189,0.014,0.124,0.165,
+0.201,0.236,0.157,0.257,0.201,0.184,0.168,0.215,0.013,0.013,
+0.015,0.015,0.174,0.012,0.141,0.185,0.169,0.195,0.327,0.301,
+0.304,0.186,0.188,0.308,0.190,0.162,0.160,0.205,0.286,0.027,
+0.194,0.318,0.409,0.306,0.423,0.708,0.661,0.444,0.354,0.579,
+0.388,0.334,0.279,0.309,0.303,0.034,0.180,0.294,0.364,0.471,
+0.250,0.458,0.479,0.342,0.252,0.306,0.337,0.246,0.326,0.236,
+0.282,0.023,0.235,0.294,0.260,0.252,0.219,0.366,0.238,0.219,
+0.215,0.261,0.018,0.020,0.020,0.032,0.208,0.022,0.204,0.308,
+0.151,0.223,0.247,0.339,0.306,0.179,0.247,0.279,0.260,0.199,
+0.197,0.230,0.167,0.019,0.154,0.223,0.230,0.192,0.255,0.526,
+0.588,0.419,0.291,0.389,0.389,0.359,0.259,0.261,0.293,0.030,
+0.166,0.271,0.253,0.294,0.183,0.404,0.438,0.359,0.216,0.299,
+0.341,0.227,0.252,0.234,0.302,0.034,0.262,0.417,0.212,0.253,
+0.207,0.296,0.239,0.287,0.221,0.260,0.021,0.028,0.022,0.025,
+0.343,0.045,0.243,0.386,0.215,0.332,0.276,0.356,0.203,0.158,
+0.125,0.199,0.228,0.222,0.166,0.207,0.193,0.018,0.156,0.224,
+0.186,0.178,0.221,0.352,0.326,0.277,0.166,0.226,0.303,0.269,
+0.247,0.252,0.251,0.031,0.143,0.199,0.184,0.222,0.195,0.362,
+0.021,0.024,0.014,0.022,0.027,0.032,0.031,0.027,0.023,8.36e-3,
+0.021,0.031,0.022,0.040,0.028,0.048,0.269,0.274,0.260,0.282,
+0.023,0.031,0.032,0.032,0.291,0.039,0.273,0.352,0.206,0.400,
+0.496,0.455,0.214,0.140,0.162,0.215,0.265,0.281,0.297,0.392,
+0.253,0.030,0.272,0.377,0.215,0.225,0.377,0.487,0.323,0.243,
+0.188,0.284,0.192,0.158,0.143,0.185,0.204,0.018,0.117,0.178,
+0.209,0.190,0.201,0.338,0.337,0.274,0.199,0.275,0.253,0.258,
+0.221,0.234,0.222,0.028,0.207,0.295,0.229,0.331,0.263,0.421,
+0.193,0.200,0.223,0.266,0.019,0.021,0.025,0.025,0.205,0.024,
+0.265,0.313,0.196,0.302,0.687,0.503,0.265,0.191,0.200,0.270,
+0.215,0.217,0.209,0.245,0.243,0.021,0.250,0.361,0.310,0.299,
+0.482,0.647,0.698,0.399,0.299,0.476,0.279,0.272,0.166,0.229,
+0.293,0.027,0.195,0.256,0.291,0.228,0.166,0.288,0.449,0.351,
+0.190,0.264,0.331,0.253,0.192,0.195,0.395,0.033,0.316,0.325,
+0.239,0.293,0.211,0.304,0.386,0.356,0.225,0.389,0.035,0.035,
+0.027,0.054,0.289,0.033,0.236,0.331,0.182,0.299,0.255,0.345,
+0.315,0.201,0.151,0.294,0.312,0.242,0.173,0.256,0.319,0.033,
+0.273,0.626,0.295,0.250,0.316,0.634,0.039,0.035,0.022,0.027,
+0.032,0.029,0.018,0.021,0.024,3.18e-3,0.022,0.026,0.021,0.028,
+0.015,0.028,0.036,0.032,0.018,0.022,0.057,0.038,0.027,0.025,
+0.035,7.10e-3,0.053,0.034,0.025,0.033,0.021,0.028,0.023,0.031,
+0.017,0.024,3.01e-3,5.93e-3,4.68e-3,4.60e-3,0.034,8.52e-3,0.035,0.041,
+0.018,0.040,0.029,0.033,0.026,0.020,0.014,0.024,0.033,0.037,
+0.022,0.040,0.032,6.43e-3,0.029,0.055,0.026,0.027,0.029,0.051,
+0.476,0.278,0.223,0.226,0.304,0.307,0.272,0.225,0.279,0.043,
+0.279,0.256,0.203,0.263,0.260,0.303,0.030,0.030,0.022,0.018,
+0.025,0.031,0.022,0.017,0.033,7.94e-3,0.042,0.031,0.024,0.045,
+0.030,0.028,0.373,0.358,0.459,0.301,0.033,0.043,0.065,0.037,
+0.432,0.063,0.238,0.366,0.210,0.357,0.416,0.390,0.242,0.185,
+0.203,0.199,0.286,0.290,0.389,0.276,0.397,0.051,0.580,0.512,
+0.240,0.268,0.430,0.494,0.372,0.307,0.166,0.246,0.208,0.190,
+0.142,0.158,0.202,0.025,0.192,0.228,0.200,0.194,0.166,0.286,
+0.384,0.344,0.203,0.263,0.283,0.290,0.213,0.201,0.299,0.033,
+0.356,0.371,0.279,0.374,0.280,0.321,0.304,0.308,0.267,0.300,
+0.023,0.032,0.028,0.030,0.416,0.043,0.459,0.497,0.313,0.467,
+0.484,0.500,0.323,0.212,0.194,0.277,0.264,0.262,0.240,0.262,
+0.408,0.036,0.518,0.584,0.399,0.379,0.525,0.663,0.768,0.359,
+0.257,0.484,0.295,0.207,0.164,0.227,0.281,0.027,0.167,0.284,
+0.347,0.277,0.185,0.422,0.363,0.236,0.121,0.195,0.254,0.164,
+0.121,0.149,0.260,0.018,0.144,0.213,0.176,0.165,0.129,0.218,
+0.304,0.228,0.230,0.281,0.024,0.022,0.018,0.035,0.204,0.020,
+0.157,0.283,0.170,0.210,0.182,0.286,0.458,0.208,0.189,0.333,
+0.275,0.166,0.151,0.240,0.299,0.021,0.175,0.425,0.320,0.226,
+0.285,0.654,0.585,0.320,0.197,0.324,0.305,0.241,0.164,0.211,
+0.250,0.025,0.171,0.261,0.235,0.274,0.157,0.302,0.377,0.269,
+0.138,0.210,0.309,0.217,0.154,0.186,0.269,0.021,0.220,0.289,
+0.195,0.219,0.159,0.255,0.242,0.229,0.140,0.218,0.021,0.018,
+0.012,0.022,0.280,0.026,0.239,0.386,0.196,0.278,0.228,0.375,
+0.284,0.183,0.131,0.248,0.245,0.219,0.154,0.254,0.295,0.026,
+0.203,0.473,0.247,0.223,0.259,0.484,0.572,0.305,0.229,0.345,
+0.361,0.307,0.258,0.330,0.338,0.038,0.224,0.339,0.302,0.305,
+0.275,0.486,0.030,0.029,0.015,0.027,0.027,0.026,0.018,0.024,
+0.024,2.67e-3,0.024,0.027,0.026,0.033,0.025,0.041,0.411,0.404,
+0.326,0.382,0.026,0.031,0.030,0.040,0.442,0.050,0.384,0.515,
+0.304,0.466,0.508,0.742,0.360,0.284,0.256,0.358,0.393,0.400,
+0.336,0.414,0.508,0.042,0.452,0.627,0.355,0.351,0.499,0.715,
+0.786,0.356,0.250,0.476,0.298,0.226,0.202,0.253,0.336,0.028,
+0.222,0.325,0.456,0.311,0.309,0.618,0.515,0.324,0.219,0.334,
+0.332,0.289,0.204,0.265,0.370,0.027,0.291,0.408,0.371,0.347,
+0.310,0.487,0.447,0.380,0.355,0.505,0.034,0.030,0.024,0.040,
+0.505,0.036,0.468,0.682,0.444,0.559,0.608,0.854,0.722,0.358,
+0.344,0.677,0.463,0.367,0.330,0.505,0.624,0.036,0.586,0.960,
+0.766,0.539,0.762,1.200,1.600,0.644,0.545,1.250,0.640,0.357,
+0.330,0.512,0.770,0.058,0.296,0.631,1.300,0.837,0.519,1.290,
+0.638,0.349,0.263,0.375,0.354,0.200,0.176,0.207,0.378,0.023,
+0.190,0.286,0.385,0.292,0.276,0.463,0.517,0.324,0.268,0.560,
+0.032,0.018,0.020,0.051,0.280,0.019,0.135,0.256,0.304,0.289,
+0.238,0.399,0.916,0.364,0.338,0.822,0.488,0.298,0.288,0.554,
+0.407,0.028,0.244,0.455,0.619,0.389,0.404,0.855,0.843,0.383,
+0.274,0.463,0.329,0.207,0.177,0.246,0.317,0.027,0.145,0.248,
+0.325,0.265,0.213,0.350,0.417,0.223,0.143,0.210,0.192,0.105,
+0.109,0.123,0.215,0.014,0.121,0.173,0.183,0.144,0.148,0.201,
+0.313,0.235,0.164,0.266,0.017,0.014,9.61e-3,0.019,0.209,0.014,
+0.125,0.236,0.163,0.181,0.145,0.228,0.364,0.201,0.155,0.304,
+0.278,0.192,0.154,0.276,0.257,0.015,0.147,0.319,0.252,0.206,
+0.206,0.413,0.491,0.247,0.179,0.298,0.279,0.184,0.164,0.215,
+0.310,0.029,0.133,0.238,0.333,0.258,0.224,0.406,0.033,0.023,
+0.016,0.023,0.019,0.018,0.013,0.017,0.024,2.17e-3,0.015,0.022,
+0.036,0.042,0.026,0.040,0.229,0.162,0.139,0.192,0.015,8.36e-3,
+8.86e-3,0.018,0.193,0.013,0.100,0.152,0.165,0.172,0.185,0.206,
+0.202,0.150,0.132,0.211,0.193,0.165,0.153,0.198,0.259,0.019,
+0.179,0.257,0.246,0.216,0.249,0.410,0.735,0.309,0.227,0.496,
+0.264,0.181,0.158,0.218,0.340,0.032,0.168,0.272,0.492,0.351,
+0.388,0.678,0.416,0.267,0.185,0.290,0.249,0.191,0.134,0.182,
+0.256,0.017,0.154,0.243,0.297,0.305,0.204,0.365,0.276,0.243,
+0.178,0.302,0.019,0.014,0.013,0.024,0.226,0.014,0.139,0.245,
+0.249,0.251,0.232,0.365,0.480,0.253,0.224,0.509,0.235,0.188,
+0.182,0.314,0.381,0.023,0.253,0.470,0.592,0.412,0.497,1.070,
+0.884,0.446,0.345,0.666,0.406,0.272,0.286,0.319,0.369,0.030,
+0.166,0.342,0.517,0.352,0.243,0.480,0.447,0.257,0.163,0.279,
+0.238,0.162,0.140,0.156,0.227,0.013,0.123,0.207,0.197,0.153,
+0.137,0.232,0.234,0.214,0.163,0.262,0.016,0.017,0.012,0.024,
+0.172,0.011,0.092,0.144,0.169,0.172,0.146,0.228,0.297,0.166,
+0.146,0.312,0.241,0.166,0.148,0.230,0.192,0.014,0.122,0.206,
+0.287,0.181,0.215,0.483,0.498,0.305,0.162,0.348,0.246,0.180,
+0.150,0.184,0.214,0.017,0.114,0.204,0.209,0.193,0.119,0.234,
+0.286,0.188,0.110,0.166,0.164,0.082,0.083,0.106,0.156,0.012,
+0.098,0.160,0.130,0.115,0.090,0.146,0.232,0.214,0.144,0.203,
+0.011,0.012,8.86e-3,0.014,0.155,0.012,0.098,0.159,0.136,0.208,
+0.129,0.192,0.221,0.150,0.119,0.230,0.184,0.145,0.116,0.171,
+0.172,0.013,0.100,0.190,0.177,0.228,0.162,0.306,0.328,0.213,
+0.126,0.220,0.213,0.156,0.139,0.167,0.226,0.018,0.104,0.163,
+0.188,0.156,0.144,0.249,0.016,0.015,7.19e-3,0.015,0.012,0.016,
+9.69e-3,0.014,0.013,1.00e-3,8.44e-3,0.013,0.014,0.017,0.014,0.017,
+0.235,0.263,0.144,0.211,0.012,0.013,9.02e-3,0.016,0.154,0.017,
+0.106,0.139,0.142,0.317,0.245,0.202,0.194,0.166,0.110,0.195,
+0.162,0.149,0.149,0.204,0.177,0.013,0.184,0.230,0.160,0.152,
+0.241,0.347,0.345,0.178,0.142,0.241,0.184,0.140,0.121,0.146,
+0.161,0.013,0.082,0.140,0.227,0.160,0.150,0.267,0.255,0.200,
+0.124,0.184,0.190,0.202,0.105,0.138,0.127,9.69e-3,0.103,0.161,
+0.149,0.150,0.128,0.229,0.195,0.179,0.145,0.213,0.012,0.011,
+7.94e-3,0.014,0.169,9.44e-3,0.106,0.166,0.204,0.185,0.199,0.260,
+0.265,0.170,0.137,0.262,0.181,0.158,0.137,0.213,0.240,0.014,
+0.198,0.307,0.328,0.261,0.351,0.608,1.180,0.365,0.245,0.510,
+0.260,0.207,0.153,0.202,0.288,0.025,0.182,0.264,0.318,0.298,
+0.173,0.337,0.444,0.249,0.152,0.314,0.200,0.140,0.118,0.146,
+0.229,0.020,0.145,0.193,0.200,0.240,0.144,0.253,0.279,0.245,
+0.182,0.304,0.024,0.019,0.014,0.034,0.155,0.015,0.082,0.134,
+0.151,0.231,0.129,0.215,0.363,0.198,0.182,0.397,0.229,0.189,
+0.157,0.272,0.239,0.020,0.144,0.282,0.303,0.246,0.247,0.652,
+0.061,0.032,0.017,0.030,0.021,0.022,0.012,0.017,0.022,2.59e-3,
+0.014,0.021,0.024,0.029,0.014,0.027,0.035,0.022,0.011,0.020,
+0.019,0.016,9.61e-3,0.014,0.020,2.84e-3,0.012,0.019,0.018,0.022,
+0.012,0.022,0.021,0.023,0.014,0.022,1.75e-3,2.51e-3,1.50e-3,2.17e-3,
+0.016,2.09e-3,0.011,0.016,0.014,0.024,0.012,0.022,0.045,0.027,
+0.019,0.042,0.035,0.037,0.021,0.042,0.026,3.76e-3,0.018,0.049,
+0.033,0.035,0.025,0.067,0.490,0.242,0.152,0.205,0.194,0.156,
+0.120,0.145,0.259,0.036,0.164,0.204,0.229,0.261,0.177,0.274,
+0.024,0.019,0.010,0.015,0.012,0.014,8.19e-3,9.19e-3,0.017,2.92e-3,
+0.015,0.016,0.020,0.029,0.014,0.024,0.216,0.190,0.174,0.178,
+0.016,0.017,0.016,0.016,0.191,0.018,0.097,0.143,0.137,0.172,
+0.171,0.187,0.213,0.149,0.144,0.207,0.194,0.171,0.153,0.195,
+0.279,0.023,0.228,0.295,0.239,0.202,0.246,0.377,0.674,0.188,
+0.118,0.222,0.200,0.166,0.083,0.112,0.225,0.021,0.110,0.182,
+0.249,0.216,0.136,0.270,0.359,0.195,0.127,0.217,0.193,0.167,
+0.104,0.132,0.204,0.019,0.136,0.201,0.236,0.249,0.148,0.256,
+0.238,0.208,0.155,0.242,0.020,0.018,0.013,0.015,0.227,0.016,
+0.150,0.264,0.216,0.276,0.243,0.331,0.344,0.186,0.181,0.310,
+0.232,0.193,0.150,0.236,0.329,0.025,0.263,0.460,0.425,0.347,
+0.353,0.708,0.985,0.425,0.320,0.703,0.289,0.222,0.177,0.206,
+0.305,0.026,0.169,0.262,0.474,0.311,0.251,0.541,0.351,0.178,
+0.135,0.295,0.189,0.102,0.109,0.154,0.231,0.014,0.114,0.192,
+0.199,0.148,0.139,0.264,0.296,0.182,0.175,0.338,0.021,0.015,
+0.011,0.033,0.183,0.013,0.104,0.197,0.178,0.171,0.135,0.292,
+0.471,0.222,0.233,0.641,0.254,0.160,0.188,0.340,0.260,0.017,
+0.169,0.352,0.430,0.263,0.319,0.813,0.573,0.298,0.183,0.371,
+0.246,0.209,0.129,0.197,0.256,0.022,0.140,0.240,0.267,0.288,
+0.149,0.309,0.306,0.177,0.101,0.198,0.169,0.101,0.090,0.156,
+0.219,0.013,0.110,0.194,0.171,0.145,0.116,0.195,0.232,0.183,
+0.123,0.243,0.013,0.011,8.11e-3,0.022,0.198,0.013,0.104,0.217,
+0.180,0.192,0.129,0.248,0.342,0.193,0.154,0.388,0.253,0.186,
+0.166,0.340,0.235,0.017,0.166,0.315,0.282,0.302,0.220,0.462,
+0.384,0.197,0.160,0.294,0.236,0.146,0.128,0.211,0.255,0.027,
+0.152,0.220,0.244,0.197,0.207,0.348,0.019,0.014,0.011,0.025,
+0.014,0.010,0.011,0.014,0.020,1.59e-3,0.015,0.018,0.020,0.020,
+0.012,0.024,0.206,0.161,0.140,0.248,0.011,0.011,9.78e-3,0.018,
+0.192,0.015,0.124,0.181,0.161,0.166,0.163,0.248,0.237,0.161,
+0.158,0.400,0.207,0.165,0.157,0.257,0.403,0.025,0.253,0.396,
+0.288,0.232,0.290,0.456,0.738,0.268,0.217,0.488,0.296,0.178,
+0.141,0.219,0.318,0.027,0.146,0.290,0.440,0.279,0.249,0.640,
+0.321,0.188,0.138,0.302,0.197,0.119,0.114,0.175,0.210,0.015,
+0.142,0.249,0.251,0.217,0.166,0.361,0.340,0.269,0.200,0.399,
+0.023,0.016,0.013,0.027,0.317,0.019,0.187,0.359,0.346,0.338,
+0.315,0.475,0.658,0.291,0.296,0.694,0.361,0.281,0.249,0.460,
+0.598,0.031,0.415,0.814,1.020,0.653,0.725,1.410,1.310,0.705,
+0.603,1.040,0.620,0.382,0.345,0.478,0.543,0.054,0.281,0.585,
+0.825,0.625,0.507,0.845,0.648,0.390,0.318,0.404,0.388,0.240,
+0.268,0.263,0.352,0.022,0.247,0.318,0.304,0.282,0.301,0.437,
+0.369,0.313,0.239,0.358,0.025,0.021,0.021,0.042,0.245,0.020,
+0.152,0.259,0.251,0.262,0.253,0.379,0.553,0.386,0.242,0.568,
+0.396,0.263,0.229,0.511,0.341,0.028,0.224,0.397,0.456,0.312,
+0.380,0.757,0.823,0.508,0.313,0.470,0.381,0.277,0.242,0.281,
+0.348,0.038,0.201,0.341,0.313,0.371,0.215,0.401,0.489,0.324,
+0.216,0.285,0.255,0.164,0.169,0.192,0.303,0.023,0.245,0.350,
+0.198,0.212,0.226,0.286,0.296,0.287,0.199,0.269,0.023,0.021,
+0.021,0.022,0.293,0.024,0.231,0.392,0.252,0.315,0.256,0.330,
+0.289,0.216,0.133,0.257,0.267,0.207,0.157,0.248,0.298,0.020,
+0.199,0.339,0.268,0.248,0.258,0.467,0.656,0.294,0.180,0.293,
+0.266,0.184,0.189,0.232,0.314,0.035,0.177,0.240,0.284,0.256,
+0.218,0.382,0.032,0.019,0.016,0.021,0.019,0.018,0.019,0.019,
+0.025,3.43e-3,0.017,0.024,0.022,0.034,0.024,0.037,0.240,0.172,
+0.196,0.208,0.017,0.016,0.018,0.019,0.220,0.018,0.156,0.198,
+0.205,0.200,0.294,0.282,0.177,0.130,0.132,0.176,0.212,0.180,
+0.192,0.204,0.303,0.024,0.238,0.310,0.258,0.238,0.355,0.452,
+0.709,0.395,0.188,0.371,0.231,0.172,0.126,0.177,0.283,0.031,
+0.150,0.214,0.331,0.246,0.204,0.463,0.408,0.274,0.189,0.282,
+0.233,0.211,0.168,0.194,0.304,0.021,0.183,0.273,0.241,0.265,
+0.229,0.344,0.218,0.164,0.174,0.266,0.014,0.012,0.015,0.021,
+0.183,0.014,0.157,0.224,0.181,0.201,0.245,0.483,0.358,0.201,
+0.180,0.395,0.204,0.191,0.157,0.245,0.362,0.024,0.269,0.433,
+0.465,0.363,0.484,0.884,0.920,0.502,0.381,0.612,0.483,0.366,
+0.302,0.328,0.337,0.028,0.170,0.289,0.397,0.337,0.328,0.442,
+0.518,0.332,0.232,0.305,0.331,0.236,0.266,0.219,0.254,0.022,
+0.198,0.270,0.183,0.211,0.216,0.283,0.235,0.205,0.200,0.302,
+0.017,0.017,0.015,0.029,0.157,0.015,0.119,0.171,0.139,0.175,
+0.174,0.256,0.282,0.168,0.147,0.347,0.269,0.211,0.166,0.252,
+0.190,0.017,0.141,0.233,0.244,0.188,0.238,0.491,0.579,0.408,
+0.242,0.355,0.350,0.308,0.233,0.223,0.264,0.027,0.157,0.228,
+0.232,0.243,0.171,0.287,0.419,0.326,0.197,0.248,0.239,0.099,
+0.159,0.154,0.229,0.023,0.187,0.248,0.146,0.215,0.173,0.222,
+0.276,0.273,0.210,0.263,0.024,0.025,0.017,0.024,0.237,0.027,
+0.159,0.275,0.159,0.274,0.224,0.283,0.242,0.181,0.127,0.238,
+0.247,0.241,0.150,0.196,0.233,0.024,0.160,0.272,0.190,0.215,
+0.203,0.357,0.370,0.216,0.177,0.241,0.267,0.217,0.215,0.228,
+0.301,0.029,0.140,0.184,0.222,0.198,0.184,0.289,0.016,0.020,
+0.011,0.015,0.017,0.024,0.014,0.015,0.015,3.68e-3,0.016,0.016,
+0.014,0.018,0.018,0.021,0.344,0.280,0.201,0.236,0.024,0.026,
+0.020,0.021,0.226,0.025,0.172,0.206,0.164,0.263,0.373,0.291,
+0.233,0.149,0.129,0.192,0.226,0.250,0.234,0.249,0.245,0.019,
+0.239,0.307,0.226,0.234,0.382,0.439,0.295,0.183,0.138,0.219,
+0.186,0.136,0.112,0.136,0.170,0.013,0.096,0.133,0.195,0.137,
+0.149,0.254,0.245,0.218,0.152,0.200,0.184,0.198,0.139,0.169,
+0.146,0.013,0.146,0.176,0.129,0.166,0.166,0.214,0.181,0.151,
+0.146,0.200,0.011,0.014,0.012,0.016,0.155,0.013,0.151,0.184,
+0.139,0.183,0.297,0.309,0.229,0.142,0.129,0.236,0.177,0.166,
+0.137,0.208,0.231,0.017,0.207,0.294,0.277,0.266,0.355,0.526,
+0.620,0.435,0.270,0.446,0.269,0.226,0.178,0.234,0.246,0.027,
+0.155,0.259,0.280,0.277,0.170,0.309,0.472,0.362,0.189,0.282,
+0.276,0.241,0.211,0.220,0.290,0.032,0.254,0.293,0.209,0.292,
+0.180,0.293,0.268,0.446,0.195,0.409,0.023,0.033,0.024,0.062,
+0.186,0.024,0.138,0.189,0.150,0.227,0.210,0.255,0.286,0.227,
+0.142,0.357,0.227,0.210,0.161,0.304,0.253,0.024,0.194,0.346,
+0.287,0.243,0.309,0.663,0.031,0.029,0.015,0.021,0.020,0.029,
+0.017,0.018,0.017,3.51e-3,0.013,0.019,0.019,0.028,0.014,0.025,
+0.033,0.028,0.014,0.020,0.027,0.026,0.020,0.022,0.026,4.85e-3,
+0.021,0.030,0.018,0.027,0.016,0.024,0.015,0.026,0.015,0.023,
+2.59e-3,4.60e-3,4.26e-3,4.18e-3,0.018,5.93e-3,0.019,0.027,0.015,0.024,
+0.024,0.025,0.025,0.023,0.015,0.030,0.029,0.035,0.023,0.040,
+0.027,4.26e-3,0.023,0.043,0.024,0.025,0.028,0.052,0.364,0.245,
+0.175,0.214,0.222,0.235,0.183,0.203,0.307,0.048,0.214,0.272,
+0.227,0.394,0.239,0.349,0.022,0.025,0.017,0.018,0.016,0.023,
+0.019,0.017,0.025,3.34e-3,0.025,0.027,0.022,0.039,0.025,0.026,
+0.234,0.281,0.235,0.225,0.022,0.053,0.039,0.031,0.266,0.036,
+0.176,0.234,0.159,0.262,0.291,0.276,0.254,0.180,0.179,0.253,
+0.265,0.314,0.275,0.300,0.474,0.047,0.421,0.468,0.284,0.291,
+0.411,0.544,0.359,0.239,0.131,0.246,0.197,0.219,0.098,0.138,
+0.216,0.026,0.140,0.213,0.257,0.223,0.145,0.329,0.334,0.284,
+0.168,0.234,0.227,0.240,0.163,0.193,0.249,0.026,0.241,0.340,
+0.230,0.321,0.217,0.372,0.253,0.273,0.224,0.288,0.018,0.022,
+0.017,0.024,0.274,0.026,0.240,0.317,0.232,0.376,0.299,0.431,
+0.310,0.200,0.184,0.335,0.289,0.244,0.186,0.272,0.378,0.031,
+0.417,0.648,0.430,0.414,0.491,0.760,0.822,0.387,0.334,0.634,
+0.352,0.213,0.192,0.348,0.331,0.027,0.181,0.336,0.411,0.292,
+0.282,0.495,0.350,0.208,0.152,0.264,0.217,0.140,0.141,0.223,
+0.234,0.017,0.163,0.265,0.205,0.172,0.177,0.310,0.284,0.214,
+0.154,0.326,0.018,0.015,0.012,0.036,0.189,0.017,0.142,0.234,
+0.200,0.181,0.178,0.338,0.361,0.192,0.197,0.450,0.262,0.157,
+0.167,0.378,0.303,0.022,0.211,0.423,0.400,0.251,0.326,0.845,
+0.680,0.384,0.259,0.461,0.346,0.344,0.250,0.299,0.316,0.029,
+0.229,0.373,0.312,0.360,0.228,0.417,0.436,0.258,0.175,0.287,
+0.274,0.203,0.193,0.282,0.287,0.021,0.233,0.358,0.231,0.237,
+0.230,0.369,0.266,0.266,0.178,0.320,0.019,0.021,0.015,0.033,
+0.295,0.027,0.215,0.465,0.255,0.327,0.253,0.446,0.350,0.210,
+0.188,0.402,0.315,0.274,0.249,0.546,0.350,0.025,0.301,0.548,
+0.340,0.344,0.354,0.671,0.409,0.197,0.162,0.272,0.253,0.167,
+0.174,0.249,0.294,0.032,0.239,0.316,0.250,0.252,0.254,0.438,
+0.025,0.016,0.013,0.019,0.015,0.017,0.015,0.018,0.025,3.93e-3,
+0.034,0.028,0.019,0.025,0.023,0.029,0.216,0.199,0.184,0.247,
+0.013,0.018,0.015,0.028,0.262,0.026,0.240,0.315,0.189,0.247,
+0.307,0.364,0.286,0.188,0.199,0.262,0.281,0.230,0.249,0.380,
+1.130,0.084,0.564,0.922,0.385,0.325,0.530,0.704,0.507,0.252,
+0.197,0.356,0.264,0.202,0.146,0.197,0.283,0.028,0.164,0.299,
+0.320,0.217,0.226,0.511,0.375,0.233,0.169,0.288,0.230,0.186,
+0.155,0.201,0.226,0.015,0.218,0.310,0.238,0.228,0.211,0.414,
+0.299,0.252,0.223,0.405,0.021,0.020,0.015,0.031,0.304,0.020,
+0.251,0.434,0.300,0.338,0.460,0.585,0.492,0.265,0.319,0.576,
+0.324,0.282,0.275,0.438,0.570,0.039,0.527,0.885,0.746,0.620,
+0.841,1.110,3.370,0.719,0.693,1.070,0.584,0.373,0.272,0.429,
+0.545,0.051,0.257,0.712,0.681,0.484,0.306,0.649,0.565,0.276,
+0.180,0.291,0.330,0.224,0.157,0.216,0.223,0.018,0.159,0.219,
+0.244,0.207,0.181,0.297,0.563,0.272,0.195,0.331,0.024,0.020,
+0.016,0.036,0.215,0.017,0.160,0.251,0.204,0.210,0.213,0.328,
+0.825,0.240,0.211,0.394,0.301,0.189,0.162,0.268,0.237,0.017,
+0.163,0.286,0.349,0.194,0.256,0.614,0.902,0.462,0.343,0.547,
+0.405,0.305,0.251,0.302,0.277,0.026,0.165,0.284,0.309,0.298,
+0.186,0.342,0.483,0.318,0.206,0.290,0.317,0.195,0.176,0.216,
+0.249,0.019,0.197,0.272,0.215,0.191,0.153,0.253,0.451,0.335,
+0.234,0.324,0.028,0.024,0.020,0.031,0.279,0.027,0.212,0.448,
+0.216,0.294,0.273,0.369,0.432,0.210,0.143,0.266,0.315,0.263,
+0.176,0.279,0.256,0.018,0.191,0.343,0.265,0.225,0.255,0.518,
+0.494,0.287,0.190,0.317,0.341,0.263,0.216,0.349,0.318,0.034,
+0.155,0.250,0.290,0.324,0.206,0.378,0.038,0.075,0.018,0.030,
+0.030,0.028,0.025,0.031,0.029,4.09e-3,0.020,0.031,0.037,0.054,
+0.032,0.055,0.260,0.204,0.205,0.252,0.022,0.017,0.020,0.029,
+0.228,0.019,0.151,0.219,0.186,0.228,0.238,0.269,0.253,0.184,
+0.165,0.249,0.303,0.228,0.227,0.334,0.418,0.031,0.262,0.501,
+0.462,0.254,0.310,0.526,0.521,0.244,0.181,0.352,0.234,0.173,
+0.147,0.219,0.239,0.023,0.130,0.210,0.320,0.242,0.209,0.427,
+0.361,0.399,0.216,0.290,0.250,0.198,0.190,0.239,0.218,0.018,
+0.187,0.240,0.260,0.244,0.279,0.419,0.293,0.271,0.221,0.322,
+0.021,0.019,0.023,0.033,0.275,0.021,0.201,0.301,0.300,0.408,
+0.424,0.471,0.438,0.254,0.249,0.433,0.267,0.199,0.215,0.335,
+0.449,0.031,0.293,0.545,0.679,0.453,0.591,1.040,0.153,0.039,
+0.029,0.041,0.038,0.027,0.018,0.027,0.026,2.09e-3,0.018,0.072,
+0.028,0.028,0.020,0.039,0.038,0.025,0.014,0.021,0.026,0.024,
+0.018,0.018,0.016,2.34e-3,0.016,0.020,0.018,0.017,0.015,0.026,
+0.029,0.018,0.014,0.022,1.59e-3,2.01e-3,1.67e-3,3.26e-3,0.012,1.75e-3,
+0.011,0.021,0.014,0.015,0.016,0.026,0.035,0.013,0.013,0.027,
+0.023,0.021,0.014,0.022,0.017,2.76e-3,0.013,0.026,0.022,0.014,
+0.018,0.046,0.052,0.028,0.018,0.025,0.030,0.026,0.019,0.018,
+0.018,1.67e-3,0.012,0.017,0.017,0.019,0.011,0.020,0.043,0.030,
+0.016,0.022,0.035,0.031,0.024,0.029,0.020,4.26e-3,0.018,0.023,
+0.018,0.021,0.016,0.019,0.024,0.027,0.019,0.024,2.51e-3,5.52e-3,
+5.01e-3,4.26e-3,0.027,5.10e-3,0.021,0.037,0.015,0.029,0.038,0.029,
+0.025,0.017,0.010,0.018,0.030,0.028,0.018,0.025,0.022,2.51e-3,
+0.017,0.029,0.020,0.020,0.020,0.035,0.023,0.019,0.010,0.015,
+0.022,0.018,0.016,0.021,0.018,2.51e-3,0.012,0.019,0.014,0.018,
+0.014,0.022,2.42e-3,6.94e-3,1.09e-3,2.76e-3,4.60e-3,3.93e-3,3.43e-3,2.42e-3,
+2.17e-3,1.34e-3,3.43e-3,4.26e-3,1.92e-3,3.34e-3,1.59e-3,2.17e-3,0.022,0.020,
+0.022,0.027,2.42e-3,3.93e-3,4.68e-3,4.01e-3,0.021,3.59e-3,0.020,0.028,
+0.016,0.028,0.030,0.030,0.020,0.012,0.014,0.023,0.024,0.023,
+0.024,0.041,0.032,4.35e-3,0.033,0.117,0.027,0.021,0.027,0.049,
+0.029,0.026,0.016,0.025,0.020,0.018,0.014,0.016,0.017,2.09e-3,
+0.011,0.015,0.021,0.020,0.023,0.030,0.031,0.056,0.022,0.032,
+0.032,0.028,0.024,0.031,0.019,2.26e-3,0.031,0.028,0.021,0.026,
+0.032,0.041,0.021,0.018,0.022,0.028,1.75e-3,3.59e-3,6.18e-3,3.93e-3,
+0.019,2.76e-3,0.018,0.025,0.021,0.030,0.067,0.042,0.029,0.019,
+0.018,0.035,0.021,0.022,0.034,0.025,0.029,2.51e-3,0.028,0.050,
+0.037,0.033,0.051,0.072,0.883,0.446,0.292,0.565,0.355,0.324,
+0.175,0.277,0.267,0.026,0.180,0.270,0.244,0.209,0.166,0.311,
+0.510,0.318,0.163,0.261,0.366,0.259,0.205,0.216,0.315,0.029,
+0.295,0.302,0.203,0.259,0.187,0.281,0.337,0.260,0.187,0.283,
+0.032,0.036,0.030,0.048,0.257,0.029,0.214,0.263,0.196,0.264,
+0.205,0.298,0.308,0.201,0.132,0.278,0.279,0.227,0.166,0.286,
+0.294,0.026,0.248,0.401,0.279,0.218,0.269,0.592,0.045,0.032,
+0.013,0.027,0.028,0.029,0.019,0.025,0.017,3.18e-3,0.014,0.017,
+0.014,0.021,0.010,0.021,0.029,0.026,0.013,0.016,0.027,0.026,
+0.017,0.020,0.017,4.43e-3,0.019,0.023,0.013,0.019,0.013,0.017,
+0.023,0.026,0.014,0.023,2.26e-3,4.60e-3,6.18e-3,3.93e-3,0.024,5.01e-3,
+0.023,0.029,0.014,0.025,0.022,0.027,0.033,0.023,0.012,0.027,
+0.035,0.037,0.024,0.037,0.029,3.51e-3,0.022,0.056,0.025,0.020,
+0.021,0.050,0.437,0.270,0.192,0.222,0.282,0.274,0.232,0.236,
+0.275,0.038,0.273,0.291,0.190,0.215,0.227,0.316,0.028,0.033,
+0.015,0.020,0.023,0.028,0.021,0.020,0.027,5.52e-3,0.039,0.034,
+0.018,0.028,0.024,0.028,0.326,0.314,0.292,0.295,0.037,0.031,
+0.045,0.035,0.283,0.041,0.097,0.199,0.209,0.239,0.273,0.290,
+0.251,0.161,0.158,0.193,0.265,0.253,0.248,0.278,0.340,0.036,
+0.400,0.469,0.241,0.242,0.352,0.463,0.351,0.213,0.148,0.255,
+0.206,0.174,0.116,0.143,0.197,0.023,0.172,0.211,0.208,0.176,
+0.146,0.298,0.310,0.280,0.190,0.240,0.272,0.279,0.190,0.241,
+0.241,0.026,0.396,0.318,0.204,0.257,0.223,0.305,0.276,0.248,
+0.220,0.298,0.024,0.029,0.027,0.031,0.356,0.035,0.347,0.390,
+0.263,0.396,0.381,0.461,0.316,0.208,0.168,0.284,0.277,0.267,
+0.233,0.278,0.389,0.032,0.474,0.453,0.391,0.395,0.480,0.684,
+1.170,0.371,0.269,0.556,0.367,0.235,0.182,0.260,0.283,0.029,
+0.148,0.249,0.366,0.258,0.204,0.398,0.397,0.220,0.134,0.263,
+0.250,0.161,0.130,0.183,0.212,0.014,0.160,0.242,0.205,0.150,
+0.153,0.246,0.885,0.257,0.155,0.284,0.049,0.021,0.012,0.034,
+0.369,0.023,0.181,0.286,0.543,0.239,0.191,0.391,0.454,0.197,
+0.146,0.381,0.259,0.170,0.149,0.258,0.259,0.018,0.175,0.322,
+0.381,0.209,0.268,0.700,0.686,0.409,0.245,0.437,0.387,0.322,
+0.282,0.311,0.300,0.027,0.205,0.280,0.294,0.342,0.192,0.376,
+0.406,0.305,0.168,0.251,0.324,0.247,0.238,0.250,0.261,0.018,
+0.211,0.310,0.186,0.207,0.167,0.263,0.350,0.328,0.192,0.331,
+0.020,0.024,0.017,0.033,0.395,0.032,0.266,0.476,0.277,0.323,
+0.297,0.487,0.388,0.245,0.177,0.357,0.343,0.313,0.275,0.434,
+0.325,0.027,0.266,0.509,0.323,0.283,0.309,0.556,0.524,0.277,
+0.203,0.306,0.390,0.261,0.289,0.310,0.365,0.033,0.284,0.351,
+0.284,0.265,0.290,0.460,0.028,0.028,0.013,0.024,0.024,0.026,
+0.024,0.028,0.024,3.34e-3,0.028,0.037,0.022,0.030,0.028,0.035,
+0.365,0.343,0.256,0.384,0.025,0.025,0.023,0.037,0.374,0.040,
+0.305,0.472,0.297,0.378,0.393,0.510,0.330,0.249,0.261,0.326,
+0.410,0.350,0.337,0.512,0.543,0.057,0.648,1.500,0.356,0.349,
+0.550,0.877,0.708,0.277,0.213,0.420,0.289,0.187,0.175,0.216,
+0.311,0.033,0.205,0.302,0.300,0.245,0.235,0.472,0.372,0.253,
+0.178,0.259,0.268,0.237,0.189,0.232,0.231,0.020,0.287,0.351,
+0.230,0.233,0.228,0.342,0.526,0.356,0.312,0.485,0.027,0.028,
+0.023,0.044,0.472,0.032,0.409,0.637,0.410,0.487,0.514,0.692,
+0.646,0.321,0.296,0.584,0.420,0.350,0.347,0.513,0.580,0.040,
+0.572,0.916,0.666,0.566,0.761,1.210,1.570,0.652,0.533,1.130,
+0.512,0.335,0.238,0.395,0.449,0.035,0.177,0.405,0.738,0.528,
+0.300,0.685,0.487,0.265,0.176,0.288,0.275,0.178,0.130,0.181,
+0.248,0.018,0.142,0.189,0.283,0.247,0.165,0.299,0.436,0.275,
+0.195,0.357,0.024,0.021,0.014,0.043,0.276,0.016,0.125,0.226,
+0.265,0.239,0.207,0.327,0.590,0.282,0.219,0.504,0.360,0.237,
+0.179,0.339,0.291,0.022,0.171,0.300,0.450,0.271,0.305,0.819,
+0.651,0.381,0.229,0.433,0.297,0.182,0.153,0.221,0.204,0.017,
+0.108,0.187,0.256,0.201,0.135,0.313,0.339,0.185,0.124,0.204,
+0.187,0.108,0.091,0.134,0.179,0.011,0.095,0.149,0.174,0.135,
+0.113,0.222,0.290,0.188,0.153,0.242,0.015,0.013,0.011,0.018,
+0.219,0.011,0.109,0.207,0.195,0.182,0.204,0.282,0.262,0.143,
+0.110,0.218,0.204,0.139,0.104,0.183,0.238,0.015,0.212,0.318,
+0.198,0.173,0.227,0.463,0.462,0.227,0.204,0.345,0.311,0.181,
+0.167,0.271,0.267,0.038,0.110,0.222,0.335,0.422,0.176,0.431,
+0.035,0.025,0.015,0.030,0.028,0.018,0.018,0.028,0.024,2.84e-3,
+9.86e-3,0.021,0.044,0.068,0.023,0.050,0.235,0.166,0.179,0.234,
+0.016,0.013,0.012,0.026,0.180,0.015,0.098,0.172,0.212,0.214,
+0.192,0.305,0.245,0.148,0.138,0.254,0.244,0.163,0.161,0.279,
+0.244,0.017,0.154,0.323,0.270,0.221,0.230,0.482,0.610,0.284,
+0.207,0.448,0.234,0.147,0.142,0.222,0.282,0.024,0.139,0.237,
+0.442,0.283,0.246,0.564,0.334,0.203,0.154,0.250,0.186,0.124,
+0.127,0.161,0.209,0.014,0.137,0.210,0.274,0.256,0.207,0.357,
+0.274,0.245,0.196,0.271,0.017,0.015,0.016,0.022,0.212,0.016,
+0.139,0.249,0.269,0.275,0.309,0.412,0.466,0.232,0.223,0.461,
+0.259,0.178,0.207,0.306,0.379,0.023,0.288,0.509,0.677,0.442,
+0.585,1.270,0.799,0.409,0.287,0.567,0.356,0.244,0.176,0.255,
+0.278,0.024,0.131,0.344,0.360,0.323,0.203,0.453,0.387,0.213,
+0.161,0.248,0.237,0.164,0.133,0.163,0.189,0.012,0.122,0.195,
+0.211,0.172,0.144,0.277,0.237,0.179,0.145,0.255,0.015,0.015,
+0.012,0.025,0.158,0.015,0.095,0.191,0.163,0.178,0.166,0.283,
+0.321,0.158,0.142,0.288,0.243,0.177,0.134,0.216,0.179,0.014,
+0.117,0.218,0.287,0.196,0.217,0.554,0.533,0.289,0.213,0.332,
+0.283,0.209,0.150,0.188,0.194,0.015,0.100,0.188,0.215,0.185,
+0.153,0.298,0.337,0.220,0.148,0.209,0.249,0.146,0.120,0.166,
+0.188,0.012,0.126,0.184,0.197,0.157,0.126,0.206,0.241,0.208,
+0.177,0.253,0.015,0.014,0.011,0.020,0.247,0.019,0.129,0.238,
+0.187,0.217,0.218,0.305,0.238,0.157,0.117,0.223,0.208,0.169,
+0.128,0.186,0.220,0.014,0.125,0.213,0.209,0.190,0.184,0.379,
+0.343,0.190,0.137,0.222,0.218,0.165,0.134,0.197,0.180,0.018,
+0.090,0.165,0.199,0.174,0.149,0.325,0.013,0.015,8.27e-3,0.018,
+0.014,0.016,0.010,0.015,9.53e-3,1.42e-3,8.11e-3,0.016,0.015,0.019,
+0.013,0.024,0.264,0.197,0.168,0.248,0.017,0.014,0.016,0.024,
+0.205,0.021,0.126,0.214,0.215,0.287,0.245,0.382,0.239,0.148,
+0.132,0.258,0.232,0.179,0.208,0.338,0.229,0.017,0.206,0.437,
+0.248,0.211,0.296,0.549,0.375,0.256,0.150,0.274,0.181,0.154,
+0.126,0.171,0.194,0.015,0.112,0.176,0.229,0.180,0.228,0.365,
+0.279,0.220,0.147,0.228,0.194,0.174,0.138,0.175,0.153,0.012,
+0.142,0.199,0.187,0.197,0.176,0.299,0.226,0.201,0.213,0.296,
+0.014,0.013,0.050,0.023,0.183,0.015,0.165,0.234,0.203,0.244,
+0.374,0.414,0.285,0.170,0.183,0.314,0.234,0.185,0.313,0.216,
+0.277,0.020,0.280,0.393,0.379,0.311,0.448,0.815,0.935,0.504,
+0.303,0.639,0.350,0.272,0.168,0.287,0.469,0.031,0.161,0.314,
+0.512,0.341,0.189,0.418,0.534,0.346,0.168,0.327,0.332,0.234,
+0.171,0.218,0.307,0.025,0.226,0.286,0.291,0.333,0.199,0.394,
+0.490,0.400,0.203,0.463,0.036,0.031,0.021,0.058,0.258,0.021,
+0.159,0.307,0.221,0.304,0.215,0.389,0.473,0.278,0.179,0.442,
+0.380,0.259,0.192,0.345,0.370,0.029,0.236,0.499,0.426,0.327,
+0.396,0.904,0.053,0.030,0.020,0.035,0.029,0.023,0.013,0.022,
+0.040,3.68e-3,0.012,0.019,0.028,0.025,0.016,0.029,0.033,0.023,
+0.012,0.019,0.026,0.022,0.013,0.020,0.021,2.84e-3,0.021,0.020,
+0.018,0.024,0.016,0.025,0.027,0.023,0.012,0.025,2.09e-3,3.34e-3,
+1.92e-3,2.84e-3,0.026,3.09e-3,0.014,0.032,0.018,0.025,0.017,0.033,
+0.041,0.025,0.014,0.038,0.040,0.030,0.020,0.039,0.030,3.09e-3,
+0.019,0.042,0.032,0.029,0.033,0.069,0.584,0.315,0.216,0.300,
+0.374,0.296,0.217,0.301,0.337,0.039,0.222,0.313,0.295,0.303,
+0.240,0.440,0.028,0.026,0.012,0.020,0.024,0.021,0.018,0.020,
+0.026,3.59e-3,0.023,0.026,0.029,0.037,0.022,0.034,0.385,0.353,
+0.291,0.374,0.027,0.032,0.029,0.036,0.433,0.046,0.225,0.340,
+0.287,0.396,0.354,0.480,0.357,0.226,0.213,0.323,0.345,0.326,
+0.305,0.388,0.455,0.042,0.497,0.595,0.384,0.372,0.524,0.798,
+0.552,0.329,0.200,0.384,0.327,0.243,0.163,0.236,0.281,0.026,
+0.202,0.289,0.333,0.262,0.211,0.474,0.451,0.331,0.189,0.320,
+0.357,0.276,0.184,0.235,0.327,0.029,0.293,0.354,0.363,0.361,
+0.285,0.455,0.401,0.384,0.265,0.431,0.026,0.027,0.025,0.034,
+0.434,0.033,0.344,0.449,0.418,0.550,0.505,0.667,0.434,0.261,
+0.226,0.406,0.337,0.302,0.261,0.335,0.467,0.038,0.506,0.570,
+0.566,0.553,0.631,1.080,1.700,0.609,0.379,0.827,0.457,0.287,
+0.211,0.349,0.427,0.034,0.191,0.342,0.598,0.385,0.276,0.672,
+0.502,0.267,0.142,0.292,0.297,0.218,0.128,0.207,0.266,0.019,
+0.172,0.272,0.259,0.210,0.180,0.387,0.487,0.317,0.195,0.430,
+0.029,0.024,0.015,0.045,0.278,0.024,0.167,0.342,0.310,0.293,
+0.252,0.445,0.667,0.351,0.282,0.645,0.403,0.262,0.217,0.416,
+0.458,0.028,0.268,0.504,0.634,0.400,0.482,1.280,0.911,0.404,
+0.244,0.471,0.384,0.264,0.177,0.275,0.426,0.028,0.222,0.307,
+0.357,0.308,0.207,0.429,0.491,0.286,0.143,0.285,0.348,0.253,
+0.148,0.253,0.290,0.020,0.181,0.293,0.243,0.226,0.164,0.352,
+0.427,0.302,0.184,0.375,0.022,0.016,0.012,0.030,0.440,0.030,
+0.286,0.608,0.327,0.332,0.301,0.533,0.491,0.290,0.214,0.450,
+0.389,0.291,0.208,0.394,0.435,0.024,0.250,0.505,0.422,0.364,
+0.393,0.804,0.778,0.363,0.304,0.450,0.472,0.296,0.271,0.411,
+0.456,0.038,0.227,0.440,0.447,0.378,0.324,0.714,0.032,0.026,
+0.016,0.030,0.027,0.023,0.016,0.027,0.022,2.09e-3,0.018,0.027,
+0.031,0.031,0.022,0.046,0.492,0.396,0.305,0.529,0.028,0.025,
+0.020,0.042,0.474,0.038,0.334,0.520,0.416,0.464,0.472,0.815,
+0.529,0.350,0.332,0.495,0.488,0.402,0.352,0.620,0.603,0.042,
+0.537,0.975,0.583,0.491,0.727,1.400,1.440,0.475,0.362,0.769,
+0.429,0.283,0.228,0.365,0.457,0.039,0.246,0.469,0.668,0.448,
+0.404,1.010,0.648,0.363,0.242,0.506,0.401,0.289,0.222,0.377,
+0.390,0.025,0.284,0.458,0.475,0.392,0.321,0.693,0.713,0.484,
+0.365,0.738,0.032,0.027,0.024,0.050,0.592,0.037,0.462,0.838,
+0.652,0.673,0.684,1.230,1.310,0.422,0.444,1.060,0.532,0.418,
+0.405,0.749,0.815,0.044,0.675,1.400,1.100,0.716,0.979,2.390,
+5.350,1.330,1.190,3.640,1.630,0.752,0.837,1.600,1.760,0.123,
+0.592,1.260,3.520,1.740,1.230,2.690,1.470,0.608,0.540,0.888,
+0.712,0.336,0.378,0.470,0.827,0.041,0.348,0.589,0.994,0.578,
+0.457,0.965,1.410,0.680,0.564,1.190,0.076,0.045,0.038,0.118,
+0.650,0.042,0.252,0.455,0.747,0.600,0.480,0.899,2.660,0.973,
+0.964,2.460,1.270,0.705,0.719,1.600,0.963,0.064,0.446,0.894,
+1.840,0.820,0.919,2.200,1.640,0.670,0.417,0.763,0.640,0.347,
+0.261,0.384,0.595,0.046,0.226,0.553,0.655,0.508,0.248,0.625,
+0.757,0.351,0.235,0.382,0.352,0.176,0.153,0.203,0.384,0.020,
+0.160,0.253,0.356,0.238,0.158,0.312,0.625,0.388,0.248,0.457,
+0.028,0.018,0.014,0.028,0.344,0.018,0.137,0.276,0.316,0.271,
+0.203,0.361,0.750,0.350,0.290,0.788,0.461,0.255,0.227,0.410,
+0.434,0.029,0.184,0.425,0.539,0.357,0.357,0.786,1.080,0.368,
+0.364,0.620,0.513,0.231,0.235,0.355,0.521,0.048,0.187,0.388,
+0.719,0.415,0.330,0.863,0.062,0.033,0.021,0.042,0.034,0.021,
+0.017,0.025,0.035,2.84e-3,0.016,0.030,0.090,0.050,0.031,0.093,
+0.429,0.243,0.207,0.326,0.023,0.013,0.013,0.029,0.288,0.018,
+0.103,0.184,0.279,0.209,0.227,0.316,0.497,0.259,0.233,0.495,
+0.393,0.220,0.209,0.387,0.386,0.025,0.197,0.382,0.450,0.305,
+0.361,0.732,2.060,0.693,0.605,1.360,0.596,0.302,0.331,0.481,
+0.776,0.063,0.297,0.589,1.460,0.722,0.565,1.640,1.140,0.584,
+0.440,0.667,0.538,0.278,0.294,0.391,0.582,0.029,0.287,0.516,
+1.050,0.560,0.461,1.050,0.615,0.411,0.315,0.590,0.034,0.021,
+0.019,0.043,0.389,0.022,0.185,0.349,0.524,0.375,0.340,0.570,
+1.260,0.551,0.500,1.190,0.525,0.323,0.322,0.642,0.693,0.037,
+0.379,0.710,1.310,0.705,0.784,1.800,1.560,0.602,0.517,0.956,
+0.496,0.286,0.268,0.395,0.453,0.033,0.186,0.358,0.603,0.393,
+0.259,0.598,0.580,0.295,0.223,0.339,0.322,0.186,0.166,0.203,
+0.280,0.019,0.127,0.249,0.275,0.210,0.159,0.340,0.399,0.290,
+0.190,0.358,0.023,0.022,0.012,0.032,0.185,0.014,0.097,0.163,
+0.202,0.195,0.150,0.357,0.530,0.229,0.232,0.472,0.364,0.229,
+0.176,0.333,0.230,0.017,0.117,0.219,0.356,0.204,0.243,0.592,
+0.817,0.367,0.212,0.405,0.365,0.197,0.141,0.205,0.263,0.018,
+0.093,0.187,0.275,0.223,0.122,0.278,0.337,0.185,0.110,0.181,
+0.174,0.081,0.080,0.096,0.162,0.012,0.075,0.132,0.149,0.126,
+0.082,0.153,0.278,0.220,0.119,0.209,0.014,0.011,6.77e-3,9.78e-3,
+0.156,0.011,0.073,0.143,0.144,0.154,0.105,0.206,0.307,0.174,
+0.113,0.275,0.203,0.133,0.090,0.151,0.190,0.012,0.089,0.162,
+0.224,0.154,0.131,0.318,0.587,0.236,0.192,0.326,0.305,0.154,
+0.149,0.202,0.228,0.020,0.108,0.209,0.273,0.187,0.170,0.366,
+0.027,0.016,0.011,0.022,0.016,0.011,8.69e-3,0.013,0.013,1.00e-3,
+8.69e-3,0.015,0.018,0.017,0.014,0.024,0.261,0.166,0.162,0.216,
+0.017,8.36e-3,6.43e-3,0.016,0.154,0.012,0.079,0.128,0.143,0.151,
+0.151,0.206,0.243,0.120,0.137,0.225,0.281,0.129,0.125,0.195,
+0.161,9.36e-3,0.121,0.174,0.196,0.124,0.211,0.346,0.741,0.239,
+0.282,0.452,0.331,0.166,0.166,0.214,0.287,0.023,0.124,0.236,
+0.432,0.234,0.190,0.489,0.647,0.238,0.240,0.324,0.285,0.161,
+0.181,0.214,0.208,0.014,0.136,0.258,0.295,0.219,0.181,0.415,
+0.302,0.213,0.186,0.310,0.017,0.011,8.02e-3,0.019,0.174,0.010,
+0.102,0.192,0.209,0.188,0.176,0.317,0.417,0.202,0.209,0.385,
+0.268,0.172,0.162,0.281,0.288,0.016,0.171,0.371,0.434,0.308,
+0.350,0.691,0.944,0.478,0.323,0.704,0.341,0.249,0.176,0.288,
+0.404,0.040,0.198,0.332,0.527,0.355,0.197,0.495,0.494,0.269,
+0.180,0.316,0.244,0.140,0.118,0.163,0.328,0.022,0.133,0.240,
+0.290,0.253,0.133,0.298,0.376,0.282,0.184,0.385,0.030,0.024,
+0.015,0.045,0.217,0.021,0.101,0.171,0.223,0.266,0.138,0.307,
+0.543,0.250,0.226,0.546,0.352,0.209,0.174,0.343,0.416,0.028,
+0.171,0.345,0.513,0.320,0.323,0.971,0.056,0.034,0.020,0.040,
+0.030,0.021,0.013,0.022,0.029,2.26e-3,0.011,0.023,0.031,0.030,
+0.016,0.032,0.033,0.021,0.011,0.022,0.020,0.012,0.011,0.017,
+0.023,1.92e-3,9.53e-3,0.019,0.020,0.022,0.010,0.023,0.024,0.020,
+0.012,0.025,2.01e-3,2.17e-3,7.52e-4,2.09e-3,0.019,1.34e-3,7.85e-3,0.016,
+0.020,0.026,0.013,0.026,0.055,0.030,0.021,0.057,0.042,0.031,
+0.020,0.039,0.037,3.01e-3,0.017,0.034,0.050,0.032,0.030,0.086,
+0.391,0.212,0.134,0.237,0.202,0.133,0.108,0.167,0.235,0.024,
+0.106,0.192,0.221,0.174,0.208,0.289,0.024,0.018,9.61e-3,0.017,
+0.011,8.44e-3,7.02e-3,0.010,0.015,1.67e-3,7.85e-3,0.010,0.022,0.020,
+0.011,0.020,0.232,0.175,0.105,0.185,0.017,0.010,5.26e-3,0.013,
+0.173,0.013,0.069,0.104,0.123,0.124,0.117,0.182,0.241,0.122,
+0.106,0.179,0.197,0.122,0.095,0.165,0.253,0.019,0.116,0.218,
+0.243,0.200,0.168,0.336,0.452,0.181,0.141,0.331,0.221,0.121,
+0.100,0.159,0.255,0.021,0.105,0.205,0.344,0.206,0.155,0.394,
+0.430,0.227,0.154,0.294,0.223,0.143,0.115,0.156,0.227,0.015,
+0.127,0.216,0.299,0.229,0.153,0.289,0.343,0.238,0.185,0.482,
+0.025,0.017,8.94e-3,0.031,0.229,0.015,0.124,0.213,0.230,0.271,
+0.189,0.344,0.392,0.191,0.200,0.375,0.282,0.185,0.156,0.275,
+0.352,0.025,0.221,0.393,0.508,0.376,0.355,0.815,1.510,0.601,
+0.490,1.250,0.483,0.262,0.245,0.404,0.569,0.045,0.237,0.440,
+0.988,0.525,0.348,0.945,0.573,0.256,0.223,0.371,0.264,0.121,
+0.145,0.206,0.359,0.018,0.178,0.308,0.341,0.231,0.174,0.403,
+0.512,0.298,0.225,0.587,0.035,0.021,0.017,0.054,0.277,0.020,
+0.114,0.236,0.331,0.295,0.185,0.471,0.883,0.371,0.371,1.030,
+0.451,0.248,0.289,0.541,0.482,0.029,0.253,0.476,0.839,0.466,
+0.487,1.470,0.892,0.394,0.266,0.584,0.385,0.239,0.187,0.288,
+0.373,0.026,0.149,0.319,0.421,0.320,0.184,0.435,0.443,0.210,
+0.136,0.271,0.244,0.130,0.106,0.203,0.260,0.013,0.112,0.220,
+0.245,0.199,0.115,0.268,0.372,0.241,0.146,0.337,0.015,0.013,
+0.010,0.021,0.264,0.017,0.107,0.221,0.256,0.277,0.160,0.342,
+0.568,0.284,0.205,0.516,0.340,0.228,0.191,0.351,0.348,0.023,
+0.178,0.353,0.461,0.318,0.295,0.721,0.518,0.237,0.178,0.348,
+0.299,0.167,0.154,0.235,0.308,0.026,0.163,0.269,0.331,0.251,
+0.242,0.475,0.028,0.016,0.014,0.022,0.015,0.011,8.86e-3,0.016,
+0.018,1.17e-3,0.012,0.020,0.024,0.022,0.019,0.034,0.282,0.210,
+0.140,0.297,0.015,9.94e-3,7.52e-3,0.021,0.213,0.013,0.143,0.160,
+0.204,0.175,0.334,0.329,0.313,0.177,0.169,0.325,0.288,0.160,
+0.165,0.316,0.314,0.015,0.185,0.327,0.335,0.233,0.360,0.577,
+1.210,0.342,0.319,0.861,0.371,0.218,0.218,0.302,0.477,0.032,
+0.204,0.393,0.743,0.414,0.359,0.926,0.502,0.224,0.186,0.333,
+0.278,0.152,0.167,0.219,0.305,0.016,0.178,0.305,0.402,0.276,
+0.194,0.427,0.532,0.360,0.285,0.635,0.027,0.016,0.016,0.033,
+0.368,0.020,0.196,0.368,0.455,0.392,0.397,0.627,1.040,0.408,
+0.410,0.999,0.538,0.360,0.388,0.604,0.697,0.032,0.445,0.817,
+1.440,0.769,0.864,2.060,1.360,0.650,0.622,1.220,0.586,0.331,
+0.292,0.469,0.576,0.045,0.236,0.438,0.895,0.622,0.369,0.751,
+0.573,0.325,0.241,0.330,0.327,0.166,0.157,0.208,0.301,0.018,
+0.150,0.237,0.312,0.258,0.188,0.347,0.374,0.314,0.206,0.468,
+0.022,0.020,0.014,0.033,0.203,0.014,0.089,0.153,0.250,0.244,
+0.158,0.297,0.617,0.332,0.237,0.588,0.381,0.271,0.224,0.367,
+0.412,0.023,0.167,0.273,0.498,0.308,0.314,0.708,0.798,0.393,
+0.211,0.375,0.341,0.222,0.132,0.192,0.273,0.028,0.134,0.206,
+0.298,0.291,0.138,0.303,0.381,0.197,0.115,0.172,0.221,0.098,
+0.083,0.114,0.188,0.014,0.109,0.151,0.156,0.147,0.098,0.189,
+0.252,0.256,0.111,0.191,0.017,0.012,6.43e-3,0.013,0.168,0.013,
+0.087,0.125,0.163,0.180,0.108,0.181,0.262,0.171,0.091,0.209,
+0.216,0.143,0.092,0.147,0.215,0.014,0.105,0.182,0.228,0.208,
+0.155,0.342,0.434,0.173,0.121,0.238,0.261,0.115,0.100,0.157,
+0.205,0.020,0.078,0.157,0.232,0.179,0.138,0.317,0.040,0.015,
+0.010,0.015,0.018,0.012,9.11e-3,0.014,0.013,1.25e-3,6.77e-3,0.013,
+0.021,0.023,0.014,0.025,0.152,0.112,0.090,0.141,0.012,5.68e-3,
+5.93e-3,0.013,0.098,7.19e-3,0.050,0.104,0.112,0.092,0.080,0.143,
+0.175,0.109,0.087,0.172,0.154,0.114,0.092,0.164,0.159,0.012,
+0.103,0.171,0.196,0.146,0.161,0.308,0.501,0.218,0.175,0.375,
+0.202,0.110,0.096,0.183,0.237,0.025,0.110,0.197,0.342,0.243,
+0.170,0.455,0.319,0.190,0.140,0.227,0.174,0.107,0.101,0.155,
+0.160,8.69e-3,0.099,0.176,0.211,0.188,0.138,0.270,0.189,0.138,
+0.113,0.219,0.011,6.27e-3,6.27e-3,0.017,0.121,7.35e-3,0.070,0.128,
+0.144,0.128,0.117,0.223,0.308,0.172,0.141,0.345,0.171,0.123,
+0.114,0.227,0.269,0.016,0.168,0.349,0.419,0.286,0.341,0.686,
+0.781,0.387,0.299,0.526,0.393,0.239,0.189,0.263,0.234,0.019,
+0.111,0.196,0.347,0.236,0.162,0.344,0.331,0.210,0.158,0.205,
+0.198,0.118,0.140,0.146,0.148,0.014,0.091,0.144,0.140,0.127,
+0.100,0.180,0.194,0.159,0.123,0.199,0.016,0.012,9.02e-3,0.019,
+0.104,7.44e-3,0.060,0.094,0.112,0.115,0.095,0.202,0.307,0.150,
+0.134,0.252,0.225,0.192,0.118,0.175,0.146,9.53e-3,0.081,0.127,
+0.222,0.153,0.147,0.356,0.449,0.249,0.131,0.233,0.263,0.195,
+0.101,0.129,0.151,0.015,0.070,0.113,0.167,0.147,0.079,0.174,
+0.233,0.137,0.082,0.103,0.120,0.033,0.062,0.067,0.096,8.86e-3,
+0.065,0.095,0.086,0.098,0.055,0.103,0.156,0.161,0.071,0.115,
+0.011,9.44e-3,3.68e-3,7.10e-3,0.095,9.28e-3,0.061,0.085,0.081,0.109,
+0.081,0.128,0.200,0.114,0.071,0.123,0.175,0.121,0.056,0.090,
+0.112,7.35e-3,0.068,0.103,0.120,0.106,0.105,0.200,0.328,0.162,
+0.107,0.239,0.214,0.107,0.101,0.157,0.141,0.011,0.064,0.138,
+0.147,0.113,0.093,0.220,0.013,0.011,6.18e-3,0.025,8.02e-3,9.44e-3,
+8.27e-3,0.011,6.02e-3,1.17e-3,4.01e-3,7.77e-3,9.11e-3,0.011,6.10e-3,0.013,
+0.133,0.108,0.109,0.161,0.011,9.69e-3,4.76e-3,0.018,0.090,7.52e-3,
+0.056,0.077,0.071,0.090,0.085,0.126,0.132,0.079,0.102,0.137,
+0.143,0.118,0.087,0.156,0.106,8.61e-3,0.086,0.133,0.141,0.097,
+0.125,0.230,0.326,0.137,0.122,0.232,0.167,0.100,0.076,0.132,
+0.137,0.012,0.067,0.129,0.215,0.134,0.103,0.275,0.210,0.118,
+0.110,0.205,0.124,0.097,0.089,0.117,0.092,6.85e-3,0.064,0.137,
+0.106,0.106,0.086,0.163,0.153,0.126,0.111,0.168,7.02e-3,6.68e-3,
+6.10e-3,0.014,0.103,8.11e-3,0.056,0.101,0.105,0.104,0.103,0.203,
+0.218,0.111,0.098,0.202,0.165,0.128,0.093,0.163,0.159,8.77e-3,
+0.097,0.168,0.235,0.178,0.203,0.415,0.507,0.289,0.329,0.425,
+0.267,0.157,0.114,0.183,0.228,0.019,0.110,0.186,0.299,0.224,
+0.128,0.304,0.325,0.204,0.110,0.182,0.175,0.107,0.087,0.121,
+0.193,0.016,0.103,0.157,0.162,0.162,0.092,0.189,0.226,0.244,
+0.124,0.265,0.017,0.016,8.19e-3,0.026,0.141,0.013,0.071,0.125,
+0.120,0.150,0.086,0.211,0.296,0.164,0.111,0.309,0.185,0.139,
+0.113,0.200,0.208,0.016,0.113,0.202,0.253,0.170,0.176,0.481,
+0.025,0.017,0.010,0.019,0.026,0.014,8.02e-3,0.011,0.013,2.09e-3,
+5.68e-3,0.011,0.018,0.016,9.28e-3,0.021,0.016,9.44e-3,4.85e-3,8.52e-3,
+0.012,0.011,5.85e-3,8.77e-3,0.010,1.17e-3,9.02e-3,9.94e-3,9.86e-3,0.011,
+7.69e-3,0.014,0.013,0.013,7.19e-3,0.015,1.75e-3,1.67e-3,7.52e-4,1.59e-3,
+0.011,1.25e-3,7.19e-3,9.11e-3,0.012,0.014,7.85e-3,0.016,0.021,0.012,
+9.78e-3,0.024,0.018,0.021,0.011,0.018,0.016,1.34e-3,0.011,0.017,
+0.018,0.013,0.016,0.033,0.272,0.175,0.099,0.176,0.191,0.159,
+0.085,0.137,0.176,0.020,0.098,0.140,0.159,0.157,0.117,0.229,
+0.012,0.011,6.10e-3,8.77e-3,9.36e-3,0.021,4.85e-3,7.19e-3,7.69e-3,1.34e-3,
+5.60e-3,8.02e-3,0.012,0.012,7.94e-3,0.013,0.116,0.150,0.070,0.140,
+9.53e-3,8.86e-3,4.51e-3,0.014,0.134,0.011,0.051,0.080,0.081,0.098,
+0.074,0.122,0.139,0.101,0.068,0.135,0.138,0.109,0.073,0.137,
+0.190,0.018,0.113,0.147,0.142,0.126,0.118,0.215,0.262,0.133,
+0.093,0.215,0.221,0.086,0.064,0.114,0.156,0.013,0.079,0.152,
+0.195,0.138,0.108,0.340,0.219,0.158,0.089,0.147,0.143,0.132,
+0.073,0.102,0.138,0.011,0.091,0.154,0.144,0.175,0.102,0.197,
+0.185,0.157,0.107,0.221,0.013,0.010,4.68e-3,0.014,0.156,0.014,
+0.110,0.142,0.145,0.168,0.130,0.237,0.235,0.124,0.099,0.207,
+0.188,0.110,0.099,0.163,0.212,0.015,0.201,0.269,0.284,0.218,
+0.232,0.430,0.542,0.260,0.213,0.475,0.227,0.132,0.106,0.212,
+0.237,0.019,0.110,0.219,0.351,0.206,0.153,0.383,0.301,0.177,
+0.102,0.181,0.141,0.079,0.067,0.130,0.154,9.86e-3,0.086,0.172,
+0.162,0.113,0.088,0.212,0.231,0.155,0.085,0.250,0.015,7.60e-3,
+5.10e-3,0.021,0.106,8.11e-3,0.049,0.112,0.117,0.112,0.076,0.208,
+0.298,0.150,0.127,0.398,0.185,0.097,0.099,0.226,0.194,0.010,
+0.100,0.218,0.287,0.151,0.172,0.535,0.415,0.197,0.125,0.256,
+0.237,0.144,0.093,0.148,0.184,0.016,0.081,0.178,0.210,0.190,
+0.096,0.257,0.221,0.131,0.065,0.121,0.174,0.096,0.063,0.111,
+0.149,7.44e-3,0.068,0.138,0.135,0.114,0.087,0.232,0.157,0.123,
+0.068,0.151,8.86e-3,7.44e-3,4.09e-3,0.011,0.136,0.013,0.075,0.138,
+0.153,0.146,0.088,0.187,0.202,0.117,0.089,0.229,0.165,0.113,
+0.085,0.168,0.165,0.011,0.101,0.189,0.193,0.144,0.149,0.340,
+0.246,0.136,0.105,0.199,0.150,0.094,0.093,0.144,0.175,0.017,
+0.093,0.163,0.188,0.153,0.144,0.308,0.011,8.11e-3,6.27e-3,0.012,
+7.60e-3,8.19e-3,7.35e-3,9.11e-3,7.85e-3,4.18e-4,5.35e-3,0.010,0.012,0.013,
+8.94e-3,0.019,0.130,0.109,0.082,0.306,7.60e-3,5.18e-3,6.18e-3,0.049,
+0.122,8.11e-3,0.051,0.106,0.095,0.102,0.110,0.167,0.155,0.102,
+0.082,0.183,0.141,0.098,0.096,0.283,0.179,0.012,0.107,0.191,
+0.175,0.134,0.182,0.321,0.353,0.181,0.142,0.311,0.157,0.098,
+0.088,0.116,0.204,0.017,0.109,0.205,0.266,0.182,0.211,0.446,
+0.242,0.130,0.099,0.173,0.140,0.095,0.086,0.122,0.141,8.52e-3,
+0.083,0.155,0.174,0.138,0.113,0.257,0.249,0.191,0.127,0.299,
+0.012,8.61e-3,6.43e-3,0.025,0.173,0.010,0.106,0.190,0.216,0.198,
+0.179,0.350,0.372,0.193,0.177,0.410,0.248,0.182,0.183,0.296,
+0.322,0.019,0.288,0.425,0.552,0.355,0.485,0.770,0.948,0.493,
+0.416,0.835,0.462,0.277,0.257,0.405,0.415,0.037,0.175,0.343,
+0.715,0.504,0.269,0.595,0.408,0.209,0.142,0.247,0.220,0.123,
+0.138,0.171,0.197,0.016,0.095,0.175,0.239,0.208,0.128,0.254,
+0.339,0.248,0.152,0.300,0.025,0.017,0.014,0.032,0.192,0.012,
+0.094,0.152,0.214,0.215,0.205,0.281,0.582,0.415,0.187,0.417,
+0.339,0.240,0.165,0.327,0.262,0.019,0.190,0.232,0.396,0.226,
+0.237,0.554,0.713,0.343,0.209,0.428,0.347,0.209,0.185,0.262,
+0.269,0.028,0.107,0.196,0.351,0.388,0.145,0.368,0.318,0.172,
+0.108,0.189,0.187,0.094,0.111,0.144,0.275,0.075,0.104,0.166,
+0.179,0.218,0.092,0.177,0.302,0.230,0.162,0.264,0.020,0.012,
+9.19e-3,0.024,0.243,0.016,0.085,0.168,0.181,0.173,0.134,0.240,
+0.347,0.209,0.123,0.276,0.280,0.177,0.126,0.240,0.237,0.016,
+0.147,0.217,0.282,0.204,0.205,0.450,0.438,0.176,0.173,0.319,
+0.279,0.178,0.177,0.230,0.295,0.027,0.112,0.224,0.331,0.230,
+0.175,0.528,0.032,0.018,0.013,0.025,0.024,0.016,0.017,0.022,
+0.022,1.92e-3,0.011,0.021,0.040,0.041,0.020,0.049,0.176,0.101,
+0.092,0.148,0.014,5.52e-3,7.35e-3,0.016,0.105,6.85e-3,0.057,0.085,
+0.112,0.100,0.096,0.140,0.209,0.100,0.099,0.176,0.231,0.124,
+0.128,0.218,0.162,0.013,0.202,0.193,0.214,0.140,0.179,0.309,
+0.748,0.249,0.222,0.496,0.272,0.159,0.169,0.243,0.328,0.029,
+0.135,0.253,0.582,0.314,0.209,0.669,0.433,0.210,0.199,0.281,
+0.248,0.157,0.203,0.235,0.254,0.016,0.132,0.210,0.375,0.270,
+0.187,0.382,0.263,0.178,0.152,0.274,0.017,9.69e-3,0.014,0.025,
+0.163,0.011,0.128,0.177,0.209,0.190,0.187,0.311,0.556,0.261,
+0.225,0.480,0.264,0.150,0.190,0.319,0.373,0.026,0.505,0.487,
+0.727,0.434,0.588,1.180,0.056,0.031,0.020,0.036,0.036,0.021,
+0.021,0.031,0.028,2.17e-3,0.010,0.019,0.036,0.024,0.014,0.032,
+0.030,0.019,0.017,0.024,0.021,0.013,0.014,0.017,0.015,1.09e-3,
+9.28e-3,0.018,0.015,0.015,0.010,0.021,0.026,0.016,0.010,0.021,
+2.17e-3,2.34e-3,1.50e-3,2.26e-3,0.010,8.36e-4,6.94e-3,0.013,0.013,0.014,
+0.010,0.021,0.035,0.021,0.015,0.033,0.029,0.030,0.017,0.028,
+0.018,1.42e-3,0.010,0.017,0.027,0.018,0.019,0.044,0.048,0.026,
+0.016,0.028,0.027,0.018,0.013,0.024,0.019,1.84e-3,6.68e-3,0.013,
+0.021,0.020,8.61e-3,0.023,0.028,0.015,0.013,0.013,0.020,9.69e-3,
+0.011,0.013,0.015,2.17e-3,7.02e-3,0.013,0.014,0.014,7.19e-3,0.014,
+0.021,0.022,0.011,0.022,1.67e-3,1.17e-3,1.42e-3,1.84e-3,0.016,1.00e-3,
+7.77e-3,0.012,0.012,0.014,0.012,0.020,0.032,0.018,0.013,0.031,
+0.029,0.020,0.012,0.022,0.022,2.42e-3,0.014,0.020,0.019,0.018,
+0.017,0.044,0.031,0.016,0.011,0.021,0.018,0.014,0.022,0.018,
+0.017,1.75e-3,8.86e-3,0.014,0.021,0.018,0.013,0.040,1.92e-3,9.19e-4,
+9.19e-4,1.50e-3,1.34e-3,8.36e-4,2.51e-3,1.67e-3,1.25e-3,1.67e-4,1.50e-3,1.34e-3,
+1.59e-3,2.17e-3,7.52e-4,2.67e-3,0.015,0.011,0.010,0.014,1.34e-3,1.17e-3,
+8.36e-4,1.92e-3,0.013,6.68e-4,5.18e-3,9.86e-3,0.010,9.86e-3,0.010,0.016,
+0.022,0.010,9.11e-3,0.019,0.022,0.012,0.014,0.021,0.014,9.19e-4,
+0.017,0.018,0.020,0.013,0.016,0.033,0.065,0.037,0.029,0.042,
+0.034,0.021,0.022,0.031,0.030,3.01e-3,0.012,0.024,0.052,0.035,
+0.028,0.072,0.054,0.029,0.028,0.035,0.036,0.021,0.032,0.034,
+0.030,2.17e-3,0.017,0.027,0.039,0.031,0.024,0.051,0.023,0.016,
+0.016,0.027,1.92e-3,1.09e-3,1.42e-3,2.26e-3,0.016,1.25e-3,0.012,0.020,
+0.024,0.022,0.022,0.039,0.048,0.025,0.025,0.050,0.033,0.022,
+0.029,0.041,0.035,1.84e-3,0.038,0.042,0.053,0.044,0.045,0.102,
+0.582,0.250,0.180,0.348,0.248,0.142,0.141,0.176,0.187,0.016,
+0.085,0.159,0.220,0.161,0.095,0.240,0.268,0.165,0.092,0.164,
+0.163,0.125,0.092,0.117,0.156,0.016,0.102,0.215,0.144,0.144,
+0.085,0.204,0.435,0.191,0.125,0.229,0.029,0.016,0.013,0.030,
+0.190,0.015,0.081,0.142,0.152,0.177,0.102,0.206,0.292,0.148,
+0.115,0.282,0.221,0.137,0.102,0.239,0.193,0.014,0.111,0.221,
+0.232,0.168,0.148,0.406,0.031,0.019,9.28e-3,0.020,0.019,0.014,
+0.011,0.018,0.015,2.01e-3,5.10e-3,0.012,0.015,0.015,7.52e-3,0.017,
+0.017,0.012,6.68e-3,0.011,0.013,0.010,7.35e-3,0.010,9.19e-3,5.01e-4,
+7.44e-3,0.012,0.011,6.85e-3,6.43e-3,0.012,0.021,0.013,8.69e-3,0.014,
+1.84e-3,1.67e-3,1.17e-3,2.34e-3,0.011,1.67e-3,7.60e-3,0.014,9.86e-3,0.012,
+9.61e-3,0.014,0.031,0.014,0.014,0.027,0.027,0.016,0.012,0.026,
+0.017,1.34e-3,0.011,0.023,0.021,0.015,0.013,0.031,0.294,0.197,
+0.104,0.153,0.180,0.135,0.103,0.157,0.196,0.025,0.086,0.121,
+0.141,0.126,0.099,0.184,0.017,0.017,9.19e-3,0.011,0.011,0.010,
+7.69e-3,7.94e-3,0.012,1.50e-3,0.011,0.011,0.014,0.015,7.60e-3,0.015,
+0.206,0.114,0.078,0.130,0.017,7.27e-3,7.02e-3,0.013,0.153,0.011,
+0.033,0.060,0.088,0.078,0.075,0.108,0.186,0.083,0.068,0.110,
+0.242,0.095,0.078,0.117,0.168,0.014,0.110,0.142,0.134,0.117,
+0.126,0.193,0.294,0.158,0.111,0.220,0.163,0.093,0.070,0.116,
+0.185,0.017,0.091,0.144,0.199,0.142,0.100,0.237,0.240,0.174,
+0.107,0.173,0.165,0.124,0.095,0.110,0.152,0.012,0.113,0.160,
+0.172,0.163,0.111,0.200,0.237,0.158,0.129,0.255,0.017,0.012,
+9.53e-3,0.019,0.186,0.014,0.143,0.195,0.166,0.203,0.147,0.232,
+0.270,0.132,0.119,0.239,0.215,0.125,0.105,0.175,0.251,0.016,
+0.184,0.257,0.293,0.242,0.248,0.467,0.584,0.241,0.181,0.413,
+0.231,0.133,0.121,0.210,0.210,0.019,0.092,0.201,0.307,0.194,
+0.152,0.358,0.283,0.139,0.102,0.179,0.132,0.082,0.083,0.143,
+0.143,0.010,0.092,0.332,0.142,0.103,0.091,0.235,0.303,0.167,
+0.106,0.240,0.018,0.012,0.010,0.029,0.161,0.011,0.069,0.171,
+0.173,0.164,0.106,0.239,0.374,0.176,0.162,0.371,0.223,0.129,
+0.125,0.299,0.203,0.017,0.119,0.323,0.359,0.195,0.203,0.576,
+0.505,0.258,0.174,0.383,0.273,0.181,0.193,0.269,0.195,0.015,
+0.091,0.186,0.246,0.201,0.119,0.296,0.265,0.149,0.092,0.185,
+0.159,0.114,0.110,0.198,0.151,0.011,0.084,0.204,0.138,0.110,
+0.087,0.195,0.242,0.170,0.117,0.227,0.016,0.013,7.27e-3,0.018,
+0.165,0.012,0.086,0.180,0.162,0.175,0.112,0.235,0.340,0.180,
+0.186,0.332,0.274,0.181,0.141,0.281,0.205,0.011,0.115,0.263,
+0.255,0.184,0.168,0.412,0.362,0.180,0.140,0.224,0.203,0.131,
+0.171,0.202,0.199,0.017,0.090,0.176,0.249,0.164,0.174,0.323,
+0.019,0.013,8.77e-3,0.016,0.014,0.017,0.011,0.015,0.013,1.17e-3,
+8.02e-3,0.015,0.018,0.017,8.52e-3,0.022,0.186,0.137,0.093,0.188,
+0.012,7.52e-3,6.60e-3,0.016,0.170,0.011,0.083,0.131,0.136,0.133,
+0.125,0.191,0.234,0.124,0.109,0.188,0.253,0.140,0.138,0.231,
+0.220,0.013,0.153,0.276,0.233,0.166,0.250,0.392,0.518,0.215,
+0.183,0.360,0.232,0.138,0.136,0.176,0.261,0.028,0.122,0.220,
+0.356,0.208,0.178,0.470,0.312,0.165,0.119,0.217,0.190,0.140,
+0.117,0.171,0.176,0.011,0.120,0.220,0.219,0.172,0.144,0.279,
+0.312,0.212,0.165,0.341,0.019,0.016,0.010,0.025,0.248,0.016,
+0.154,0.315,0.266,0.278,0.229,0.393,0.533,0.240,0.208,0.484,
+0.325,0.233,0.196,0.349,0.423,0.028,0.291,0.504,0.719,0.480,
+0.513,0.973,1.360,0.633,0.650,1.410,0.585,0.313,0.304,0.491,
+0.638,0.042,0.223,0.473,1.100,0.654,0.356,0.913,0.552,0.239,
+0.184,0.304,0.279,0.141,0.141,0.189,0.296,0.018,0.144,0.211,
+0.324,0.255,0.128,0.285,0.471,0.269,0.201,0.406,0.027,0.015,
+0.013,0.038,0.256,0.016,0.120,0.201,0.288,0.233,0.186,0.375,
+0.875,0.429,0.320,0.707,0.438,0.236,0.223,0.406,0.464,0.025,
+0.215,0.383,0.714,0.355,0.364,1.070,0.670,0.279,0.215,0.416,
+0.250,0.146,0.122,0.196,0.262,0.019,0.095,0.194,0.336,0.286,
+0.131,0.374,0.315,0.146,0.124,0.191,0.139,0.066,0.074,0.132,
+0.192,0.017,0.084,0.137,0.188,0.140,0.086,0.179,0.390,0.286,
+0.195,0.276,0.015,7.35e-3,0.010,0.016,0.265,0.013,0.082,0.145,
+0.237,0.170,0.142,0.259,0.361,0.183,0.139,0.285,0.208,0.120,
+0.111,0.179,0.274,0.013,0.103,0.201,0.296,0.180,0.184,0.532,
+0.562,0.201,0.226,0.377,0.271,0.132,0.158,0.232,0.309,0.024,
+0.108,0.258,0.443,0.281,0.181,0.578,0.031,0.013,0.014,0.025,
+0.019,0.010,0.014,0.020,0.020,1.50e-3,0.010,0.020,0.044,0.035,
+0.017,0.047,0.241,0.143,0.151,0.225,0.015,7.35e-3,7.77e-3,0.019,
+0.194,0.011,0.076,0.119,0.186,0.138,0.202,0.243,0.299,0.131,
+0.157,0.280,0.261,0.124,0.133,0.241,0.236,0.015,0.134,0.242,
+0.304,0.196,0.264,0.528,1.090,0.319,0.356,0.800,0.337,0.168,
+0.201,0.304,0.486,0.035,0.199,0.390,1.140,0.496,0.345,1.060,
+0.580,0.229,0.234,0.330,0.257,0.122,0.159,0.211,0.342,0.020,
+0.158,0.253,0.494,0.330,0.232,0.469,0.405,0.249,0.223,0.397,
+0.021,0.011,0.013,0.024,0.278,0.014,0.144,0.239,0.319,0.251,
+0.287,0.438,0.760,0.311,0.322,0.717,0.354,0.201,0.243,0.395,
+0.513,0.025,0.327,0.558,0.997,0.551,0.626,1.550,0.838,0.341,
+0.305,0.634,0.368,0.199,0.180,0.272,0.380,0.024,0.106,0.221,
+0.468,0.295,0.171,0.417,0.365,0.169,0.149,0.240,0.207,0.101,
+0.124,0.151,0.180,0.011,0.104,0.175,0.180,0.141,0.106,0.223,
+0.270,0.180,0.143,0.282,0.017,0.012,8.77e-3,0.021,0.166,9.94e-3,
+0.082,0.153,0.192,0.150,0.127,0.264,0.358,0.181,0.160,0.350,
+0.266,0.187,0.135,0.248,0.198,0.014,0.107,0.189,0.311,0.173,
+0.198,0.489,0.483,0.232,0.147,0.309,0.246,0.168,0.121,0.166,
+0.166,0.012,0.060,0.125,0.199,0.159,0.088,0.225,0.256,0.145,
+0.097,0.154,0.142,0.071,0.073,0.104,0.123,6.85e-3,0.065,0.107,
+0.116,0.099,0.069,0.157,0.200,0.156,0.103,0.201,0.011,7.27e-3,
+5.68e-3,0.013,0.149,9.86e-3,0.070,0.112,0.143,0.137,0.099,0.197,
+0.263,0.136,0.095,0.255,0.186,0.122,0.078,0.150,0.164,0.013,
+0.071,0.133,0.188,0.126,0.127,0.334,0.403,0.153,0.148,0.269,
+0.205,0.115,0.240,0.183,0.190,0.018,0.076,0.141,0.260,0.170,
+0.140,0.357,0.017,9.78e-3,9.69e-3,0.014,0.011,9.36e-3,0.025,0.015,
+8.44e-3,7.52e-4,6.94e-3,9.94e-3,0.016,0.016,9.44e-3,0.021,0.207,0.138,
+0.116,0.201,0.011,7.94e-3,8.69e-3,0.015,0.167,8.52e-3,0.066,0.108,
+0.139,0.129,0.129,0.231,0.275,0.107,0.122,0.222,0.218,0.110,
+0.129,0.197,0.170,8.27e-3,0.092,0.166,0.221,0.145,0.179,0.383,
+0.605,0.258,0.232,0.435,0.229,0.136,0.154,0.189,0.264,0.018,
+0.132,0.205,0.468,0.267,0.231,0.534,0.411,0.188,0.200,0.267,
+0.206,0.125,0.175,0.180,0.220,0.012,0.137,0.184,0.311,0.267,
+0.204,0.349,0.263,0.167,0.170,0.322,0.015,0.012,9.36e-3,0.020,
+0.178,0.013,0.101,0.189,0.224,0.184,0.192,0.372,0.439,0.193,
+0.226,0.441,0.259,0.172,0.267,0.285,0.279,0.015,0.181,0.335,
+0.491,0.324,0.361,0.805,0.677,0.293,0.218,0.490,0.254,0.158,
+0.126,0.210,0.256,0.018,0.102,0.201,0.340,0.229,0.133,0.390,
+0.377,0.195,0.153,0.260,0.187,0.111,0.103,0.129,0.218,0.014,
+0.109,0.188,0.219,0.191,0.127,0.259,0.350,0.231,0.151,0.293,
+0.033,0.018,0.011,0.031,0.253,0.018,0.095,0.170,0.206,0.219,
+0.141,0.282,0.348,0.185,0.140,0.317,0.266,0.144,0.116,0.236,
+0.328,0.020,0.158,0.315,0.388,0.238,0.225,0.609,0.033,0.019,
+0.013,0.026,0.020,0.015,0.012,0.016,0.015,1.59e-3,6.27e-3,0.012,
+0.020,0.018,0.012,0.029,0.020,0.011,7.69e-3,0.012,0.016,8.77e-3,
+7.19e-3,9.44e-3,0.013,9.19e-4,9.11e-3,9.69e-3,0.013,0.011,7.44e-3,0.014,
+0.020,0.014,8.77e-3,0.015,2.59e-3,1.59e-3,9.19e-4,1.50e-3,0.020,1.42e-3,
+9.28e-3,0.015,0.015,0.015,9.86e-3,0.018,0.030,0.015,0.011,0.031,
+0.030,0.017,0.012,0.023,0.023,2.42e-3,9.69e-3,0.024,0.026,0.019,
+0.018,0.039,0.422,0.184,0.118,0.208,0.188,0.143,0.121,0.174,
+0.231,0.024,0.123,0.154,0.219,0.185,0.138,0.315,0.024,0.013,
+6.43e-3,0.012,9.11e-3,8.27e-3,6.52e-3,8.19e-3,0.017,1.67e-3,0.028,9.02e-3,
+0.019,0.019,0.013,0.020,0.243,0.203,0.115,0.225,0.017,9.28e-3,
+8.86e-3,0.015,0.424,0.024,0.082,0.120,0.193,0.171,0.118,0.185,
+0.332,0.121,0.112,0.181,0.232,0.128,0.108,0.169,0.356,0.018,
+0.165,0.211,0.269,0.179,0.222,0.334,0.443,0.181,0.140,0.321,
+0.202,0.116,0.094,0.155,0.244,0.019,0.124,0.199,0.312,0.209,
+0.154,0.388,0.401,0.223,0.144,0.254,0.202,0.141,0.120,0.135,
+0.251,0.016,0.170,0.207,0.335,0.258,0.169,0.311,0.381,0.269,
+0.234,0.521,0.022,0.015,0.012,0.027,0.400,0.021,0.176,0.280,
+0.360,0.302,0.242,0.374,0.434,0.202,0.213,0.390,0.272,0.181,
+0.152,0.262,0.446,0.025,0.266,0.400,0.507,0.375,0.418,0.791,
+1.350,0.465,0.370,0.852,0.434,0.223,0.229,0.364,0.405,0.029,
+0.169,0.393,0.732,0.370,0.276,0.722,0.474,0.230,0.154,0.285,
+0.233,0.130,0.117,0.195,0.271,0.016,0.135,0.333,0.278,0.183,
+0.181,0.353,0.451,0.270,0.193,0.449,0.027,0.021,0.015,0.044,
+0.270,0.018,0.131,0.261,0.338,0.268,0.201,0.425,0.764,0.319,
+0.310,0.718,0.420,0.218,0.212,0.453,0.412,0.026,0.275,0.547,
+1.100,0.439,0.475,1.480,0.596,0.304,0.227,0.482,0.335,0.252,
+0.249,0.309,0.233,0.018,0.106,0.232,0.315,0.227,0.149,0.418,
+0.308,0.148,0.097,0.200,0.178,0.109,0.095,0.152,0.174,8.86e-3,
+0.104,0.187,0.182,0.147,0.113,0.238,0.307,0.191,0.136,0.294,
+0.021,0.014,5.85e-3,0.020,0.247,0.015,0.113,0.230,0.262,0.230,
+0.148,0.332,0.409,0.193,0.199,0.415,0.393,0.195,0.145,0.291,
+0.275,0.017,0.146,0.342,0.403,0.277,0.233,0.636,0.616,0.259,
+0.264,0.398,0.338,0.207,0.386,0.370,0.442,0.032,0.157,0.316,
+0.522,0.315,0.284,0.693,0.032,0.018,0.013,0.021,0.020,0.014,
+0.019,0.018,0.019,1.75e-3,0.010,0.020,0.034,0.029,0.015,0.041,
+0.372,0.273,0.204,0.369,0.019,0.011,0.012,0.024,0.442,0.024,
+0.147,0.267,0.337,0.271,0.241,0.406,0.500,0.262,0.249,0.404,
+0.390,0.218,0.239,0.385,0.464,0.025,0.252,0.505,0.497,0.324,
+0.425,0.838,1.400,0.421,0.404,0.896,0.445,0.266,0.285,0.382,
+0.573,0.036,0.254,0.519,0.942,0.519,0.410,1.540,0.719,0.324,
+0.250,0.444,0.445,0.303,0.240,0.319,0.464,0.025,0.243,0.437,
+0.643,0.463,0.321,0.689,0.799,0.524,0.435,0.832,0.030,0.022,
+0.017,0.039,0.640,0.032,0.360,0.655,0.739,0.588,0.577,1.000,
+1.700,0.653,0.719,1.610,0.812,0.495,0.488,0.858,1.050,0.044,
+0.706,1.340,2.050,0.953,1.230,2.230,1.140,0.571,0.492,1.030,
+0.666,0.353,0.298,0.481,0.755,0.061,0.284,0.602,1.020,0.649,
+0.364,0.770,0.690,0.349,0.243,0.362,0.362,0.184,0.159,0.207,
+0.370,0.022,0.170,0.258,0.361,0.268,0.187,0.339,0.515,0.294,
+0.207,0.374,0.033,0.021,0.017,0.048,0.268,0.021,0.129,0.189,
+0.285,0.267,0.198,0.330,0.939,0.352,0.323,0.756,0.531,0.285,
+0.258,0.576,0.380,0.030,0.192,0.358,0.594,0.349,0.343,0.724,
+0.723,0.352,0.211,0.387,0.375,0.286,0.146,0.217,0.327,0.031,
+0.120,0.232,0.303,0.300,0.158,0.299,0.406,0.235,0.134,0.220,
+0.208,0.121,0.095,0.130,0.222,0.014,0.093,0.161,0.170,0.153,
+0.100,0.178,0.268,0.190,0.121,0.204,0.015,0.012,8.02e-3,0.017,
+0.213,0.014,0.092,0.189,0.146,0.168,0.110,0.205,0.294,0.165,
+0.115,0.275,0.219,0.146,0.099,0.193,0.237,0.016,0.111,0.199,
+0.231,0.191,0.170,0.346,0.426,0.185,0.154,0.243,0.265,0.128,
+0.105,0.162,0.229,0.024,0.098,0.180,0.249,0.188,0.154,0.336,
+0.032,0.018,0.010,0.019,0.021,9.28e-3,8.27e-3,0.012,0.018,2.09e-3,
+8.19e-3,0.018,0.024,0.024,0.018,0.031,0.217,0.174,0.102,0.167,
+0.015,0.013,6.27e-3,0.015,0.251,0.038,0.064,0.097,0.150,0.158,
+0.094,0.128,0.308,0.166,0.098,0.185,0.221,0.129,0.097,0.170,
+0.235,0.022,0.132,0.184,0.212,0.190,0.189,0.311,0.704,0.243,
+0.188,0.398,0.282,0.154,0.126,0.188,0.274,0.024,0.121,0.242,
+0.422,0.281,0.210,0.512,0.618,0.249,0.163,0.239,0.313,0.147,
+0.120,0.154,0.238,0.015,0.133,0.201,0.262,0.235,0.180,0.339,
+0.277,0.210,0.136,0.230,0.024,0.012,0.010,0.018,0.213,0.017,
+0.109,0.173,0.243,0.224,0.155,0.237,0.466,0.232,0.177,0.410,
+0.257,0.164,0.145,0.298,0.324,0.021,0.183,0.330,0.451,0.356,
+0.416,0.743,0.703,0.374,0.313,0.525,0.344,0.225,0.195,0.245,
+0.272,0.022,0.192,0.234,0.329,0.268,0.184,0.345,0.350,0.242,
+0.134,0.200,0.203,0.132,0.122,0.141,0.168,0.013,0.096,0.150,
+0.141,0.147,0.103,0.196,0.211,0.204,0.131,0.191,0.018,0.024,
+0.012,0.022,0.207,0.016,0.117,0.180,0.129,0.169,0.135,0.217,
+0.292,0.150,0.137,0.271,0.267,0.180,0.135,0.217,0.161,0.016,
+0.099,0.160,0.213,0.149,0.176,0.375,0.448,0.269,0.140,0.237,
+0.224,0.176,0.106,0.146,0.189,0.018,0.075,0.145,0.180,0.166,
+0.087,0.192,0.244,0.175,0.083,0.126,0.151,0.082,0.077,0.091,
+0.139,0.012,0.080,0.116,0.113,0.126,0.070,0.123,0.183,0.169,
+0.094,0.164,0.011,0.012,4.85e-3,0.015,0.223,0.016,0.086,0.325,
+0.106,0.170,0.105,0.192,0.167,0.129,0.077,0.210,0.159,0.128,
+0.066,0.122,0.161,0.012,0.070,0.156,0.164,0.130,0.108,0.229,
+0.292,0.146,0.098,0.157,0.186,0.119,0.093,0.133,0.133,0.015,
+0.100,0.129,0.118,0.116,0.145,0.184,0.015,0.013,7.69e-3,0.011,
+7.77e-3,9.61e-3,7.60e-3,8.61e-3,8.02e-3,1.09e-3,8.02e-3,9.28e-3,8.77e-3,0.015,
+0.011,0.011,0.151,0.128,0.185,0.129,0.011,9.11e-3,7.60e-3,0.011,
+0.185,0.016,0.063,0.096,0.097,0.131,0.109,0.126,0.152,0.077,
+0.082,0.141,0.172,0.114,0.095,0.121,0.146,9.78e-3,0.102,0.143,
+0.112,0.102,0.142,0.200,0.325,0.137,0.107,0.184,0.166,0.120,
+0.092,0.133,0.131,0.010,0.072,0.118,0.175,0.122,0.108,0.213,
+0.286,0.155,0.107,0.143,0.152,0.123,0.090,0.117,0.106,9.69e-3,
+0.092,0.126,0.112,0.145,0.114,0.175,0.161,0.157,0.114,0.166,
+9.94e-3,0.011,5.10e-3,0.012,0.131,0.011,0.076,0.146,0.116,0.136,
+0.116,0.180,0.215,0.120,0.105,0.199,0.179,0.131,0.093,0.172,
+0.181,0.016,0.127,0.199,0.233,0.220,0.246,0.410,0.440,0.279,
+0.184,0.355,0.174,0.137,0.087,0.148,0.165,0.017,0.077,0.156,
+0.223,0.179,0.097,0.226,0.243,0.190,0.089,0.188,0.132,0.090,
+0.064,0.104,0.163,0.014,0.078,0.130,0.135,0.151,0.080,0.176,
+0.169,0.146,0.089,0.192,0.017,0.014,7.27e-3,0.021,0.125,0.012,
+0.080,0.101,0.107,0.136,0.078,0.152,0.234,0.125,0.101,0.249,
+0.178,0.112,0.084,0.157,0.182,0.015,0.090,0.176,0.225,0.173,
+0.179,0.475,0.023,0.016,9.44e-3,0.017,0.014,0.011,7.69e-3,0.012,
+0.012,1.59e-3,5.43e-3,0.010,0.017,0.016,7.69e-3,0.016,0.015,0.013,
+6.18e-3,0.012,0.014,0.011,6.18e-3,9.11e-3,0.013,1.75e-3,7.02e-3,9.61e-3,
+0.011,0.014,7.44e-3,0.012,0.012,0.012,6.27e-3,9.36e-3,1.67e-3,1.34e-3,
+5.85e-4,9.19e-4,0.011,1.34e-3,5.68e-3,0.012,9.36e-3,0.014,7.77e-3,0.012,
+0.021,0.011,9.02e-3,0.023,0.023,0.017,9.69e-3,0.019,0.017,2.01e-3,
+9.78e-3,0.019,0.019,0.019,0.015,0.036,0.205,0.123,0.072,0.124,
+0.107,0.079,0.064,0.080,0.135,0.014,0.057,0.093,0.111,0.103,
+0.073,0.132,0.011,0.011,4.68e-3,0.011,6.94e-3,7.10e-3,4.85e-3,5.35e-3,
+8.19e-3,1.50e-3,6.52e-3,7.85e-3,0.012,0.012,7.69e-3,0.010,0.111,0.116,
+0.074,0.092,8.02e-3,6.68e-3,5.26e-3,7.19e-3,0.097,9.11e-3,0.043,0.072,
+0.063,0.094,0.080,0.102,0.122,0.078,0.058,0.095,0.104,0.085,
+0.067,0.093,0.133,0.014,0.110,0.133,0.109,0.125,0.120,0.180,
+0.212,0.102,0.073,0.157,0.121,0.073,0.058,0.082,0.133,0.012,
+0.057,0.113,0.161,0.118,0.080,0.221,0.212,0.134,0.091,0.138,
+0.141,0.110,0.069,0.081,0.135,0.014,0.077,0.108,0.129,0.142,
+0.087,0.148,0.161,0.141,0.118,0.155,0.019,0.011,6.60e-3,0.013,
+0.131,0.011,0.074,0.115,0.141,0.159,0.116,0.177,0.212,0.113,
+0.110,0.170,0.148,0.112,0.101,0.147,0.204,0.018,0.222,0.271,
+0.259,0.226,0.262,0.444,0.499,0.269,0.199,0.445,0.199,0.122,
+0.097,0.151,0.204,0.018,0.082,0.171,0.297,0.217,0.124,0.339,
+0.230,0.130,0.084,0.167,0.131,0.071,0.060,0.106,0.154,0.011,
+0.060,0.119,0.129,0.142,0.073,0.186,0.191,0.150,0.087,0.218,
+0.016,0.015,9.19e-3,0.022,0.122,0.010,0.051,0.106,0.130,0.134,
+0.076,0.213,0.348,0.148,0.128,0.340,0.231,0.116,0.110,0.199,
+0.177,0.013,0.097,0.200,0.299,0.204,0.185,0.554,0.398,0.198,
+0.120,0.253,0.195,0.147,0.083,0.139,0.194,0.017,0.077,0.152,
+0.189,0.204,0.089,0.204,0.218,0.137,0.089,0.159,0.155,0.099,
+0.076,0.098,0.149,0.015,0.070,0.113,0.132,0.163,0.070,0.138,
+0.147,0.142,0.060,0.144,0.011,9.78e-3,5.85e-3,0.011,0.141,0.010,
+0.057,0.127,0.120,0.169,0.083,0.164,0.195,0.128,0.079,0.186,
+0.175,0.134,0.081,0.167,0.168,9.78e-3,0.089,0.182,0.192,0.175,
+0.132,0.328,0.219,0.117,0.077,0.153,0.143,0.081,0.070,0.114,
+0.137,0.016,0.065,0.116,0.138,0.132,0.118,0.225,0.015,9.28e-3,
+6.68e-3,0.012,0.012,5.93e-3,4.26e-3,8.27e-3,7.60e-3,1.25e-3,5.52e-3,0.011,
+0.012,0.012,8.69e-3,0.017,0.113,0.105,0.070,0.114,6.85e-3,6.94e-3,
+6.60e-3,8.19e-3,0.105,8.27e-3,0.056,0.081,0.090,0.108,0.102,0.142,
+0.136,0.088,0.067,0.140,0.137,0.096,0.082,0.136,0.161,0.014,
+0.085,0.146,0.160,0.149,0.180,0.279,0.404,0.143,0.111,0.269,
+0.181,0.101,0.081,0.132,0.187,0.015,0.080,0.187,0.272,0.182,
+0.141,0.376,0.224,0.119,0.103,0.193,0.167,0.091,0.077,0.111,
+0.147,9.36e-3,0.077,0.147,0.157,0.163,0.101,0.213,0.216,0.167,
+0.118,0.236,0.016,0.012,6.94e-3,0.017,0.205,0.015,0.093,0.188,
+0.211,0.211,0.166,0.302,0.407,0.188,0.175,0.391,0.272,0.204,
+0.174,0.277,0.329,0.019,0.218,0.393,0.536,0.405,0.395,0.965,
+0.722,0.400,0.363,0.684,0.425,0.262,0.188,0.294,0.367,0.037,
+0.167,0.362,0.497,0.385,0.215,0.453,0.407,0.260,0.168,0.233,
+0.259,0.157,0.146,0.157,0.225,0.016,0.122,0.173,0.232,0.182,
+0.131,0.219,0.210,0.206,0.119,0.210,0.017,0.012,9.02e-3,0.022,
+0.135,0.014,0.072,0.102,0.122,0.146,0.101,0.185,0.331,0.189,
+0.148,0.320,0.240,0.164,0.127,0.249,0.228,0.021,0.110,0.186,
+0.260,0.204,0.192,0.398,0.489,0.284,0.166,0.278,0.287,0.203,
+0.114,0.166,0.213,0.022,0.106,0.158,0.213,0.198,0.100,0.276,
+0.288,0.212,0.116,0.159,0.179,0.135,0.108,0.114,0.164,0.014,
+0.098,0.152,0.125,0.150,0.096,0.195,0.145,0.151,0.088,0.124,
+0.015,0.011,8.69e-3,0.011,0.142,0.012,0.077,0.106,0.104,0.134,
+0.091,0.138,0.159,0.111,0.068,0.116,0.207,0.128,0.066,0.105,
+0.161,0.011,0.083,0.124,0.154,0.140,0.114,0.241,0.232,0.118,
+0.076,0.136,0.167,0.092,0.077,0.117,0.150,0.016,0.065,0.095,
+0.142,0.105,0.094,0.186,0.011,9.94e-3,5.35e-3,0.011,9.69e-3,8.11e-3,
+6.60e-3,8.36e-3,8.61e-3,1.34e-3,5.18e-3,8.52e-3,0.012,0.016,9.53e-3,0.018,
+0.091,0.084,0.061,0.086,7.94e-3,6.68e-3,4.35e-3,7.44e-3,0.080,6.68e-3,
+0.046,0.068,0.075,0.065,0.061,0.077,0.102,0.075,0.053,0.091,
+0.107,0.085,0.056,0.091,0.106,9.53e-3,0.064,0.102,0.106,0.107,
+0.130,0.237,0.294,0.121,0.098,0.195,0.134,0.078,0.068,0.111,
+0.139,0.012,0.065,0.111,0.224,0.157,0.125,0.269,0.212,0.135,
+0.087,0.146,0.147,0.104,0.073,0.101,0.124,8.77e-3,0.073,0.122,
+0.118,0.147,0.117,0.166,0.114,0.099,0.079,0.127,7.60e-3,5.60e-3,
+5.35e-3,0.011,0.091,6.27e-3,0.066,0.114,0.086,0.102,0.084,0.141,
+0.198,0.122,0.098,0.221,0.120,0.103,0.073,0.145,0.168,0.013,
+0.112,0.186,0.227,0.215,0.219,0.434,0.491,0.281,0.213,0.360,
+0.322,0.249,0.151,0.193,0.171,0.017,0.093,0.145,0.213,0.181,
+0.106,0.216,0.290,0.216,0.121,0.176,0.241,0.216,0.190,0.165,
+0.127,0.013,0.091,0.117,0.101,0.125,0.083,0.141,0.122,0.113,
+0.080,0.128,0.010,0.012,6.10e-3,0.014,0.088,6.85e-3,0.062,0.081,
+0.079,0.092,0.072,0.126,0.175,0.100,0.081,0.157,0.166,0.137,
+0.081,0.120,0.107,7.10e-3,0.069,0.094,0.151,0.105,0.111,0.230,
+0.424,0.256,0.112,0.199,0.250,0.211,0.101,0.142,0.154,0.016,
+0.088,0.117,0.154,0.160,0.083,0.172,0.300,0.191,0.089,0.132,
+0.148,0.077,0.072,0.090,0.137,0.022,0.072,0.115,0.114,0.170,
+0.068,0.131,0.123,0.141,0.066,0.098,0.013,0.015,6.35e-3,8.19e-3,
+0.113,0.010,0.058,0.094,0.073,0.124,0.086,0.146,0.140,0.110,
+0.065,0.124,0.186,0.173,0.061,0.090,0.115,0.011,0.066,0.094,
+0.105,0.113,0.095,0.192,0.205,0.119,0.081,0.124,0.138,0.121,
+0.086,0.148,0.101,0.013,0.055,0.087,0.096,0.098,0.077,0.135,
+9.28e-3,0.011,8.94e-3,0.010,8.52e-3,0.014,7.77e-3,9.02e-3,8.44e-3,2.09e-3,
+5.10e-3,6.77e-3,7.69e-3,0.013,6.27e-3,8.44e-3,0.102,0.087,0.077,0.089,
+6.85e-3,0.011,5.85e-3,9.53e-3,0.088,7.52e-3,0.054,0.072,0.053,0.088,
+0.076,0.099,0.089,0.062,0.050,0.075,0.111,0.121,0.081,0.100,
+0.095,7.44e-3,0.075,0.101,0.089,0.089,0.109,0.173,0.236,0.099,
+0.072,0.160,0.133,0.086,0.061,0.143,0.094,8.02e-3,0.047,0.084,
+0.145,0.086,0.067,0.147,0.147,0.105,0.092,0.126,0.117,0.140,
+0.077,0.102,0.076,7.60e-3,0.054,0.083,0.068,0.099,0.065,0.113,
+0.104,0.096,0.094,0.109,6.52e-3,8.02e-3,6.27e-3,7.60e-3,0.076,7.19e-3,
+0.069,0.090,0.067,0.091,0.083,0.125,0.144,0.091,0.068,0.134,
+0.120,0.129,0.076,0.129,0.112,0.012,0.081,0.124,0.147,0.152,
+0.154,0.296,0.359,0.222,0.147,0.265,0.189,0.156,0.081,0.131,
+0.160,0.015,0.070,0.126,0.201,0.154,0.077,0.220,0.251,0.182,
+0.076,0.150,0.162,0.159,0.070,0.110,0.151,0.014,0.091,0.128,
+0.119,0.136,0.075,0.174,0.154,0.155,0.095,0.196,0.018,0.013,
+8.02e-3,0.021,0.114,0.010,0.051,0.083,0.087,0.121,0.065,0.125,
+0.174,0.103,0.078,0.192,0.141,0.115,0.075,0.138,0.154,0.013,
+0.086,0.146,0.170,0.139,0.138,0.332,0.029,0.013,7.77e-3,0.013,
+0.016,0.018,6.10e-3,8.94e-3,0.011,2.26e-3,5.01e-3,9.86e-3,0.011,0.014,
+6.85e-3,0.020,0.013,0.011,4.60e-3,6.35e-3,0.014,0.021,6.77e-3,9.36e-3,
+0.011,2.67e-3,7.10e-3,0.011,8.36e-3,0.011,5.43e-3,0.010,0.012,8.69e-3,
+4.76e-3,9.28e-3,7.52e-3,2.51e-3,5.85e-4,9.19e-4,9.19e-3,2.26e-3,5.18e-3,7.94e-3,
+7.85e-3,0.011,5.77e-3,0.010,0.013,8.27e-3,4.93e-3,0.011,0.019,0.018,
+6.94e-3,0.015,0.011,1.00e-3,8.94e-3,0.014,9.86e-3,0.011,9.61e-3,0.022,
+0.211,0.147,0.073,0.138,0.136,0.140,0.071,0.100,0.141,0.019,
+0.068,0.104,0.113,0.119,0.090,0.186,0.011,0.012,7.27e-3,7.52e-3,
+7.94e-3,0.012,6.18e-3,7.02e-3,9.11e-3,1.67e-3,7.94e-3,7.94e-3,9.86e-3,0.013,
+6.60e-3,0.013,0.090,0.111,0.071,0.095,7.77e-3,7.85e-3,6.52e-3,9.19e-3,
+0.104,0.011,0.049,0.078,0.058,0.099,0.073,0.106,0.097,0.070,
+0.060,0.095,0.105,0.102,0.075,0.109,0.170,0.016,0.119,0.143,
+0.124,0.121,0.105,0.184,0.181,0.106,0.064,0.141,0.107,0.070,
+0.043,0.076,0.117,0.011,0.066,0.117,0.130,0.109,0.072,0.289,
+0.179,0.132,0.079,0.112,0.125,0.131,0.070,0.084,0.132,0.012,
+0.096,0.131,0.108,0.147,0.084,0.165,0.123,0.151,0.107,0.137,
+8.44e-3,8.19e-3,6.60e-3,9.53e-3,0.126,0.013,0.079,0.128,0.106,0.165,
+0.094,0.174,0.164,0.106,0.077,0.163,0.121,0.106,0.082,0.133,
+0.184,0.016,0.194,0.250,0.204,0.197,0.199,0.355,0.358,0.168,
+0.123,0.281,0.160,0.111,0.066,0.152,0.150,0.013,0.059,0.136,
+0.195,0.134,0.076,0.271,0.211,0.116,0.060,0.127,0.127,0.077,
+0.054,0.146,0.109,6.94e-3,0.049,0.103,0.099,0.085,0.056,0.163,
+0.140,0.100,0.053,0.129,9.11e-3,5.52e-3,4.01e-3,0.013,0.093,5.10e-3,
+0.043,0.074,0.074,0.085,0.050,0.116,0.199,0.103,0.080,0.214,
+0.141,0.079,0.066,0.139,0.128,9.53e-3,0.105,0.164,0.169,0.121,
+0.123,0.374,0.298,0.160,0.087,0.176,0.184,0.168,0.075,0.113,
+0.153,0.016,0.064,0.118,0.142,0.152,0.069,0.191,0.190,0.128,
+0.055,0.097,0.209,0.143,0.060,0.095,0.130,0.013,0.070,0.111,
+0.108,0.132,0.072,0.141,0.116,0.099,0.048,0.098,0.013,7.69e-3,
+3.68e-3,8.61e-3,0.116,0.010,0.055,0.096,0.096,0.137,0.073,0.127,
+0.114,0.080,0.062,0.120,0.127,0.108,0.057,0.126,0.130,9.94e-3,
+0.093,0.149,0.122,0.116,0.126,0.238,0.177,0.092,0.065,0.117,
+0.124,0.088,0.069,0.102,0.130,0.012,0.061,0.108,0.113,0.101,
+0.076,0.181,8.11e-3,7.85e-3,4.18e-3,7.27e-3,5.68e-3,7.44e-3,4.18e-3,6.85e-3,
+9.53e-3,9.19e-4,3.59e-3,7.85e-3,6.85e-3,7.52e-3,4.60e-3,0.012,0.088,0.078,
+0.049,0.099,4.18e-3,5.52e-3,3.09e-3,9.02e-3,0.085,7.60e-3,0.050,0.072,
+0.064,0.091,0.065,0.103,0.093,0.075,0.049,0.097,0.101,0.100,
+0.062,0.114,0.156,0.019,0.083,0.139,0.125,0.124,0.119,0.206,
+0.264,0.118,0.080,0.189,0.117,0.076,0.067,0.095,0.127,0.012,
+0.065,0.131,0.161,0.112,0.101,0.260,0.195,0.101,0.067,0.116,
+0.110,0.085,0.066,0.118,0.111,6.02e-3,0.063,0.117,0.107,0.101,
+0.083,0.170,0.138,0.117,0.083,0.154,7.77e-3,7.35e-3,5.18e-3,0.011,
+0.142,9.61e-3,0.074,0.135,0.120,0.141,0.112,0.234,0.241,0.126,
+0.129,0.244,0.170,0.183,0.123,0.199,0.215,0.016,0.196,0.309,
+0.348,0.315,0.311,0.451,0.477,0.267,0.255,0.475,0.292,0.195,
+0.151,0.220,0.253,0.021,0.114,0.256,0.360,0.277,0.163,0.339,
+0.237,0.134,0.111,0.185,0.155,0.099,0.098,0.104,0.122,9.02e-3,
+0.085,0.112,0.128,0.120,0.093,0.148,0.270,0.143,0.110,0.182,
+0.016,9.19e-3,6.68e-3,0.020,0.120,7.85e-3,0.065,0.114,0.119,0.120,
+0.101,0.209,0.285,0.150,0.100,0.232,0.196,0.116,0.105,0.172,
+0.132,0.011,0.093,0.133,0.205,0.135,0.149,0.300,0.358,0.207,
+0.135,0.242,0.213,0.148,0.119,0.149,0.169,0.016,0.068,0.120,
+0.197,0.211,0.077,0.173,0.191,0.136,0.089,0.150,0.150,0.098,
+0.101,0.104,0.126,0.012,0.064,0.110,0.102,0.111,0.062,0.111,
+0.208,0.137,0.209,0.209,0.015,0.012,0.016,0.014,0.149,0.014,
+0.088,0.265,0.108,0.139,0.104,0.168,0.185,0.106,0.079,0.150,
+0.199,0.113,0.088,0.138,0.139,9.61e-3,0.071,0.132,0.155,0.131,
+0.108,0.250,0.217,0.116,0.116,0.152,0.171,0.111,0.103,0.128,
+0.162,0.020,0.061,0.114,0.213,0.192,0.096,0.230,0.014,0.012,
+6.52e-3,0.013,0.012,0.013,8.52e-3,0.012,0.013,1.67e-3,8.52e-3,0.013,
+0.023,0.039,0.013,0.024,0.142,0.073,0.080,0.097,8.77e-3,5.77e-3,
+6.02e-3,0.012,0.082,7.94e-3,0.047,0.059,0.074,0.083,0.057,0.088,
+0.106,0.059,0.053,0.086,0.121,0.093,0.079,0.115,0.102,9.78e-3,
+0.179,0.113,0.122,0.108,0.110,0.178,0.300,0.128,0.106,0.217,
+0.147,0.086,0.081,0.122,0.148,0.014,0.068,0.112,0.257,0.184,
+0.113,0.296,0.189,0.114,0.083,0.136,0.125,0.098,0.085,0.103,
+0.136,0.011,0.081,0.123,0.177,0.190,0.116,0.204,0.132,0.109,
+0.088,0.146,0.011,6.27e-3,6.68e-3,0.015,0.110,9.11e-3,0.072,0.127,
+0.117,0.131,0.118,0.177,0.244,0.131,0.116,0.251,0.136,0.104,
+0.115,0.186,0.197,0.015,0.180,0.219,0.334,0.279,0.401,0.618,
+0.023,0.012,0.018,0.015,0.014,0.012,7.85e-3,0.011,9.53e-3,1.34e-3,
+4.60e-3,9.44e-3,0.015,0.011,6.52e-3,0.014,0.013,9.36e-3,0.013,9.69e-3,
+0.013,8.77e-3,7.69e-3,9.78e-3,7.60e-3,9.19e-4,5.52e-3,6.85e-3,5.68e-3,7.69e-3,
+5.93e-3,8.69e-3,0.012,8.69e-3,6.60e-3,8.11e-3,1.50e-3,1.34e-3,1.50e-3,1.75e-3,
+6.77e-3,6.68e-4,5.10e-3,0.010,5.68e-3,8.69e-3,6.35e-3,0.012,0.014,0.010,
+6.27e-3,0.012,0.013,8.69e-3,6.60e-3,0.012,9.02e-3,5.85e-4,4.93e-3,8.27e-3,
+0.012,8.86e-3,9.61e-3,0.020,0.018,0.014,8.11e-3,0.011,0.014,0.013,
+8.11e-3,8.61e-3,7.44e-3,1.42e-3,4.51e-3,5.77e-3,9.86e-3,9.44e-3,5.10e-3,9.44e-3,
+0.014,0.017,6.60e-3,9.28e-3,0.021,0.021,0.011,0.011,0.013,2.01e-3,
+5.77e-3,7.94e-3,7.94e-3,0.011,4.26e-3,9.94e-3,0.012,0.013,0.027,0.018,
+1.50e-3,1.75e-3,1.67e-3,1.17e-3,0.013,1.84e-3,7.60e-3,0.016,6.02e-3,0.011,
+0.010,0.013,0.015,7.77e-3,6.18e-3,0.010,0.016,0.013,6.60e-3,9.61e-3,
+8.94e-3,8.36e-4,4.43e-3,9.78e-3,0.010,9.44e-3,6.94e-3,0.027,0.011,7.69e-3,
+4.43e-3,6.10e-3,8.61e-3,8.02e-3,5.77e-3,6.43e-3,6.85e-3,2.09e-3,4.18e-3,6.43e-3,
+7.77e-3,8.86e-3,4.60e-3,0.012,7.52e-4,8.36e-4,5.01e-4,1.00e-3,5.85e-4,1.25e-3,
+1.50e-3,8.36e-4,1.09e-3,2.51e-4,8.36e-4,1.42e-3,5.85e-4,2.01e-3,8.36e-4,1.50e-3,
+7.69e-3,8.86e-3,0.014,9.02e-3,6.68e-4,1.17e-3,9.19e-4,1.34e-3,6.68e-3,2.17e-3,
+3.93e-3,6.60e-3,5.18e-3,8.94e-3,5.10e-3,7.77e-3,8.19e-3,6.18e-3,4.68e-3,8.36e-3,
+8.94e-3,9.36e-3,6.94e-3,9.11e-3,6.85e-3,1.00e-3,9.36e-3,8.02e-3,6.18e-3,7.19e-3,
+8.94e-3,0.021,0.018,0.013,8.19e-3,0.014,0.010,9.36e-3,7.94e-3,0.012,
+9.78e-3,1.42e-3,3.84e-3,7.02e-3,0.017,0.018,0.011,0.021,0.016,0.013,
+8.69e-3,0.014,0.011,0.012,9.78e-3,0.014,0.012,1.25e-3,7.94e-3,0.011,
+0.013,0.021,0.011,0.019,8.94e-3,9.86e-3,7.85e-3,0.012,1.00e-3,9.19e-4,
+1.17e-3,1.09e-3,9.44e-3,1.75e-3,6.02e-3,0.010,8.19e-3,0.011,0.014,0.016,
+0.015,9.36e-3,9.02e-3,0.017,0.011,0.012,9.53e-3,0.013,0.014,1.75e-3,
+0.011,0.017,0.017,0.024,0.022,0.038,0.340,0.211,0.133,0.329,
+0.210,0.153,0.087,0.161,0.155,0.015,0.080,0.121,0.144,0.130,
+0.080,0.172,0.192,0.149,0.072,0.149,0.149,0.175,0.082,0.099,
+0.128,0.014,0.091,0.120,0.102,0.118,0.076,0.141,0.234,0.139,
+0.090,0.178,0.021,0.016,8.36e-3,0.026,0.124,0.012,0.068,0.100,
+0.096,0.134,0.083,0.138,0.161,0.096,0.062,0.168,0.142,0.118,
+0.073,0.166,0.136,0.015,0.077,0.150,0.208,0.153,0.119,0.319,
+0.019,0.020,6.60e-3,0.014,0.014,0.013,7.44e-3,0.011,9.11e-3,3.09e-3,
+5.77e-3,8.61e-3,9.86e-3,0.018,6.02e-3,0.012,0.011,9.78e-3,3.84e-3,7.10e-3,
+9.44e-3,0.014,7.10e-3,7.10e-3,9.44e-3,1.00e-3,6.27e-3,0.010,5.77e-3,8.11e-3,
+4.85e-3,9.44e-3,0.013,0.012,6.94e-3,0.011,1.17e-3,1.67e-3,7.52e-4,1.75e-3,
+0.010,1.09e-3,0.010,0.012,8.44e-3,0.012,7.60e-3,0.011,0.015,9.69e-3,
+4.68e-3,0.015,0.016,0.014,7.27e-3,0.019,0.014,1.09e-3,8.11e-3,0.014,
+0.015,0.012,8.44e-3,0.024,0.207,0.256,0.073,0.106,0.140,0.182,
+0.082,0.102,0.114,0.018,0.062,0.085,0.085,0.104,0.073,0.135,
+0.011,0.015,5.60e-3,8.61e-3,8.02e-3,0.012,7.35e-3,7.35e-3,8.52e-3,2.01e-3,
+7.19e-3,8.77e-3,7.77e-3,0.013,5.85e-3,0.010,0.125,0.122,0.067,0.103,
+0.010,0.010,8.69e-3,9.69e-3,0.098,0.010,0.038,0.063,0.053,0.077,
+0.075,0.089,0.102,0.063,0.048,0.071,0.107,0.094,0.072,0.101,
+0.116,0.011,0.092,0.122,0.086,0.098,0.103,0.169,0.188,0.146,
+0.083,0.163,0.106,0.090,0.055,0.077,0.120,0.012,0.058,0.095,
+0.120,0.109,0.069,0.175,0.159,0.146,0.072,0.133,0.126,0.118,
+0.083,0.088,0.116,0.012,0.087,0.123,0.109,0.140,0.087,0.165,
+0.161,0.175,0.091,0.164,0.013,0.016,7.35e-3,0.016,0.144,0.014,
+0.096,0.152,0.131,0.170,0.132,0.192,0.170,0.116,0.082,0.187,
+0.133,0.123,0.091,0.156,0.185,0.018,0.141,0.219,0.212,0.217,
+0.227,0.409,0.331,0.165,0.114,0.275,0.170,0.108,0.081,0.142,
+0.135,0.011,0.070,0.115,0.184,0.144,0.095,0.228,0.168,0.108,
+0.059,0.108,0.096,0.073,0.054,0.092,0.094,7.69e-3,0.053,0.107,
+0.088,0.087,0.054,0.109,0.171,0.113,0.069,0.160,0.011,0.010,
+5.85e-3,0.018,0.106,9.94e-3,0.049,0.105,0.099,0.115,0.075,0.155,
+0.216,0.108,0.087,0.197,0.148,0.104,0.083,0.177,0.124,0.011,
+0.066,0.139,0.230,0.177,0.128,0.348,0.325,0.196,0.106,0.258,
+0.202,0.137,0.103,0.157,0.136,0.016,0.076,0.120,0.150,0.169,
+0.078,0.172,0.176,0.141,0.069,0.132,0.145,0.110,0.096,0.123,
+0.115,0.010,0.064,0.123,0.094,0.127,0.060,0.118,0.159,0.139,
+0.087,0.229,0.011,0.013,7.27e-3,0.020,0.165,0.018,0.077,0.205,
+0.138,0.220,0.099,0.187,0.184,0.115,0.073,0.197,0.197,0.149,
+0.102,0.258,0.158,0.014,0.081,0.171,0.174,0.194,0.122,0.286,
+0.224,0.159,0.087,0.148,0.147,0.123,0.090,0.129,0.142,0.014,
+0.069,0.113,0.139,0.117,0.111,0.200,0.010,0.014,6.43e-3,0.013,
+9.11e-3,9.78e-3,6.10e-3,8.94e-3,7.85e-3,1.00e-3,7.52e-3,0.011,8.44e-3,0.012,
+7.19e-3,0.016,0.121,0.128,0.073,0.127,7.60e-3,9.11e-3,4.68e-3,0.010,
+0.117,0.011,0.064,0.110,0.092,0.129,0.092,0.142,0.148,0.099,
+0.073,0.130,0.157,0.120,0.097,0.180,0.147,0.013,0.108,0.182,
+0.153,0.148,0.166,0.260,0.296,0.149,0.092,0.216,0.147,0.099,
+0.073,0.119,0.157,0.014,0.071,0.130,0.215,0.160,0.110,0.293,
+0.196,0.155,0.080,0.156,0.123,0.098,0.079,0.111,0.122,9.94e-3,
+0.079,0.156,0.131,0.140,0.088,0.211,0.193,0.202,0.115,0.227,
+0.014,0.016,7.02e-3,0.018,0.213,0.016,0.125,0.242,0.203,0.262,
+0.186,0.322,0.362,0.197,0.150,0.346,0.239,0.228,0.165,0.291,
+0.324,0.034,0.209,0.387,0.478,0.659,0.398,0.681,0.607,0.288,
+0.288,0.600,0.334,0.157,0.139,0.230,0.271,0.020,0.112,0.250,
+0.426,0.326,0.161,0.398,0.268,0.140,0.109,0.189,0.146,0.075,
+0.087,0.106,0.140,8.86e-3,0.083,0.112,0.171,0.142,0.100,0.191,
+0.221,0.150,0.105,0.211,0.014,0.010,8.52e-3,0.019,0.125,9.02e-3,
+0.061,0.109,0.142,0.136,0.100,0.219,0.350,0.181,0.131,0.333,
+0.191,0.115,0.095,0.194,0.173,0.013,0.109,0.171,0.300,0.197,
+0.180,0.450,0.361,0.161,0.111,0.230,0.166,0.087,0.072,0.116,
+0.136,0.011,0.047,0.103,0.172,0.151,0.067,0.189,0.169,0.108,
+0.072,0.119,0.101,0.063,0.058,0.097,0.109,6.18e-3,0.049,0.077,
+0.108,0.086,0.054,0.121,0.149,0.108,0.097,0.144,8.27e-3,4.51e-3,
+4.60e-3,9.53e-3,0.126,6.85e-3,0.053,0.119,0.113,0.105,0.082,0.158,
+0.199,0.096,0.062,0.145,0.115,0.067,0.052,0.101,0.116,6.94e-3,
+0.049,0.098,0.151,0.106,0.099,0.243,0.227,0.102,0.099,0.169,
+0.141,0.068,0.078,0.119,0.146,0.012,0.056,0.136,0.206,0.148,
+0.094,0.334,0.011,7.85e-3,5.01e-3,0.011,7.52e-3,4.93e-3,6.18e-3,0.010,
+9.11e-3,2.51e-4,4.93e-3,9.11e-3,0.019,0.021,9.11e-3,0.031,0.117,0.081,
+0.069,0.105,6.43e-3,4.18e-3,5.35e-3,9.44e-3,0.094,6.02e-3,0.071,0.077,
+0.092,0.086,0.088,0.127,0.126,0.073,0.059,0.118,0.109,0.072,
+0.068,0.116,0.108,7.60e-3,0.085,0.112,0.159,0.116,0.132,0.262,
+0.342,0.135,0.124,0.290,0.138,0.076,0.077,0.131,0.195,0.015,
+0.080,0.152,0.335,0.207,0.132,0.423,0.196,0.095,0.084,0.154,
+0.103,0.069,0.066,0.105,0.153,9.53e-3,0.084,0.132,0.222,0.183,
+0.123,0.261,0.161,0.119,0.104,0.175,0.010,5.26e-3,6.43e-3,0.013,
+0.124,8.02e-3,0.082,0.137,0.176,0.144,0.138,0.246,0.297,0.152,
+0.148,0.315,0.153,0.104,0.107,0.180,0.214,0.016,0.142,0.255,
+0.409,0.289,0.351,0.786,0.469,0.226,0.211,0.374,0.223,0.133,
+0.103,0.159,0.182,0.015,0.078,0.136,0.264,0.196,0.112,0.269,
+0.251,0.127,0.125,0.162,0.164,0.082,0.087,0.104,0.115,9.78e-3,
+0.076,0.101,0.108,0.104,0.078,0.135,0.166,0.114,0.095,0.190,
+0.012,8.36e-3,7.19e-3,0.019,0.107,7.35e-3,0.058,0.110,0.110,0.111,
+0.086,0.198,0.233,0.113,0.097,0.219,0.174,0.124,0.081,0.176,
+0.125,9.19e-3,0.068,0.119,0.190,0.123,0.158,0.338,0.297,0.174,
+0.097,0.208,0.165,0.116,0.074,0.108,0.116,8.69e-3,0.042,0.083,
+0.129,0.109,0.060,0.145,0.206,0.153,0.072,0.125,0.140,0.097,
+0.069,0.090,0.097,8.86e-3,0.056,0.079,0.091,0.107,0.056,0.125,
+0.143,0.117,0.088,0.146,0.010,9.02e-3,5.77e-3,0.011,0.121,8.36e-3,
+0.054,0.123,0.101,0.113,0.077,0.140,0.211,0.103,0.060,0.145,
+0.158,0.103,0.058,0.112,0.120,9.02e-3,0.054,0.102,0.148,0.115,
+0.109,0.239,0.188,0.089,0.073,0.125,0.114,0.087,0.073,0.103,
+0.105,0.012,0.045,0.101,0.136,0.120,0.077,0.189,8.69e-3,7.10e-3,
+4.09e-3,8.69e-3,7.27e-3,6.18e-3,6.85e-3,6.85e-3,6.27e-3,1.00e-3,3.59e-3,6.77e-3,
+9.44e-3,0.016,6.77e-3,0.012,0.121,0.100,0.088,0.123,7.60e-3,6.94e-3,
+6.02e-3,0.012,0.102,8.19e-3,0.050,0.080,0.081,0.107,0.093,0.149,
+0.134,0.090,0.066,0.122,0.120,0.096,0.090,0.124,0.106,9.28e-3,
+0.077,0.110,0.129,0.105,0.130,0.284,0.230,0.125,0.099,0.202,
+0.113,0.078,0.066,0.108,0.139,0.011,0.061,0.110,0.222,0.172,
+0.112,0.258,0.176,0.114,0.086,0.143,0.116,0.090,0.086,0.105,
+0.136,0.013,0.083,0.121,0.180,0.322,0.116,0.223,0.133,0.110,
+0.095,0.168,7.85e-3,7.10e-3,5.77e-3,0.012,0.109,9.44e-3,0.078,0.147,
+0.147,0.146,0.131,0.234,0.204,0.122,0.117,0.203,0.145,0.123,
+0.117,0.164,0.166,0.010,0.120,0.200,0.264,0.238,0.248,0.535,
+0.408,0.199,0.120,0.282,0.151,0.108,0.058,0.116,0.147,0.012,
+0.060,0.111,0.174,0.128,0.081,0.286,0.216,0.134,0.082,0.257,
+0.119,0.098,0.063,0.096,0.119,0.012,0.071,0.109,0.115,0.129,
+0.081,0.173,0.177,0.140,0.085,0.169,0.014,0.012,7.60e-3,0.019,
+0.156,0.012,0.061,0.107,0.119,0.138,0.098,0.186,0.189,0.108,
+0.080,0.188,0.145,0.110,0.077,0.153,0.168,0.015,0.082,0.169,
+0.209,0.175,0.158,0.394,0.017,0.013,6.52e-3,0.013,0.011,9.28e-3,
+3.76e-3,8.36e-3,7.85e-3,5.85e-4,2.92e-3,7.77e-3,8.86e-3,0.011,5.93e-3,0.016,
+9.28e-3,7.19e-3,4.09e-3,0.011,9.44e-3,0.012,3.68e-3,6.68e-3,8.19e-3,1.17e-3,
+5.18e-3,6.27e-3,7.27e-3,6.85e-3,5.18e-3,8.77e-3,9.69e-3,8.19e-3,4.18e-3,7.10e-3,
+7.52e-4,5.01e-4,5.01e-4,8.36e-4,8.27e-3,1.34e-3,5.18e-3,6.85e-3,0.010,0.011,
+7.69e-3,9.78e-3,0.013,8.27e-3,3.76e-3,0.014,0.014,0.012,6.02e-3,0.016,
+0.010,1.59e-3,4.60e-3,0.013,0.016,0.017,8.02e-3,0.024,0.189,0.144,
+0.061,0.105,0.106,0.110,0.062,0.092,0.115,0.014,0.050,0.082,
+0.108,0.101,0.079,0.176,9.44e-3,9.28e-3,3.84e-3,9.69e-3,6.35e-3,7.19e-3,
+4.51e-3,6.77e-3,7.27e-3,1.09e-3,4.93e-3,5.52e-3,0.011,0.012,8.52e-3,0.014,
+0.112,0.134,0.077,0.112,8.52e-3,7.94e-3,8.69e-3,0.010,0.161,0.012,
+0.059,0.095,0.092,0.108,0.132,0.131,0.127,0.086,0.057,0.104,
+0.106,0.093,0.077,0.115,0.157,0.012,0.091,0.133,0.135,0.137,
+0.125,0.215,0.216,0.114,0.071,0.169,0.097,0.073,0.051,0.086,
+0.140,0.013,0.069,0.110,0.155,0.125,0.076,0.196,0.181,0.108,
+0.076,0.134,0.102,0.087,0.062,0.090,0.125,0.012,0.085,0.126,
+0.149,0.154,0.105,0.197,0.340,0.190,0.117,0.199,0.020,0.011,
+9.53e-3,0.015,0.224,0.016,0.100,0.156,0.365,0.197,0.153,0.249,
+0.223,0.141,0.109,0.211,0.148,0.127,0.100,0.194,0.258,0.017,
+0.171,0.276,0.301,0.235,0.246,0.513,0.562,0.210,0.170,0.402,
+0.203,0.112,0.094,0.167,0.181,0.014,0.087,0.164,0.259,0.187,
+0.111,0.312,0.232,0.117,0.066,0.141,0.122,0.074,0.062,0.106,
+0.119,6.94e-3,0.064,0.125,0.117,0.103,0.065,0.147,0.194,0.162,
+0.106,0.209,0.013,0.014,9.11e-3,0.020,0.135,0.011,0.055,0.118,
+0.142,0.158,0.088,0.198,0.302,0.163,0.140,0.284,0.178,0.119,
+0.106,0.179,0.158,0.013,0.092,0.188,0.304,0.223,0.179,0.541,
+0.368,0.179,0.104,0.312,0.173,0.111,0.082,0.157,0.127,0.010,
+0.056,0.133,0.143,0.134,0.073,0.213,0.175,0.099,0.055,0.134,
+0.116,0.083,0.055,0.087,0.107,9.02e-3,0.049,0.107,0.101,0.108,
+0.057,0.146,0.136,0.101,0.056,0.146,7.69e-3,8.19e-3,3.01e-3,9.11e-3,
+0.144,9.53e-3,0.062,0.137,0.148,0.168,0.079,0.182,0.172,0.104,
+0.073,0.162,0.176,0.101,0.062,0.151,0.130,0.016,0.065,0.138,
+0.207,0.410,0.129,0.436,0.265,0.151,0.106,0.187,0.154,0.108,
+0.104,0.161,0.171,0.018,0.077,0.150,0.206,0.158,0.120,0.345,
+0.012,9.61e-3,4.51e-3,0.011,8.19e-3,7.52e-3,6.10e-3,0.014,8.11e-3,9.19e-4,
+4.51e-3,0.010,0.015,0.015,8.69e-3,0.026,0.160,0.182,0.083,0.162,
+8.36e-3,7.85e-3,5.18e-3,0.013,0.175,0.011,0.083,0.135,0.140,0.157,
+0.131,0.216,0.209,0.148,0.100,0.189,0.175,0.137,0.107,0.202,
+0.218,0.018,0.120,0.228,0.250,0.199,0.198,0.475,0.531,0.185,
+0.156,0.341,0.210,0.142,0.107,0.175,0.266,0.019,0.122,0.232,
+0.395,0.228,0.183,0.499,0.294,0.145,0.099,0.192,0.215,0.149,
+0.109,0.181,0.208,0.011,0.110,0.243,0.253,0.198,0.129,0.675,
+0.325,0.260,0.166,0.355,0.016,0.014,7.69e-3,0.026,0.339,0.019,
+0.165,0.341,0.358,0.322,0.256,0.521,0.686,0.291,0.283,0.637,
+0.388,0.278,0.251,0.670,0.524,0.031,0.334,0.697,0.803,0.619,
+0.591,1.100,0.851,0.418,0.384,0.771,0.461,0.272,0.287,0.354,
+0.487,0.047,0.223,0.450,0.847,0.513,0.310,0.643,0.501,0.264,
+0.217,0.288,0.279,0.152,0.159,0.172,0.281,0.019,0.136,0.201,
+0.289,0.223,0.183,0.298,0.406,0.216,0.186,0.329,0.025,0.019,
+0.018,0.036,0.209,0.015,0.106,0.160,0.216,0.215,0.168,0.268,
+0.594,0.261,0.257,0.588,0.367,0.237,0.269,0.421,0.280,0.021,
+0.184,0.283,0.429,0.267,0.293,0.577,0.525,0.272,0.146,0.264,
+0.245,0.142,0.106,0.139,0.203,0.018,0.135,0.151,0.225,0.201,
+0.108,0.213,0.294,0.171,0.108,0.152,0.156,0.076,0.081,0.116,
+0.147,9.78e-3,0.078,0.121,0.133,0.120,0.110,0.171,0.182,0.124,
+0.082,0.133,0.013,7.85e-3,6.27e-3,0.010,0.129,0.010,0.070,0.118,
+0.108,0.132,0.087,0.131,0.229,0.123,0.103,0.194,0.170,0.109,
+0.090,0.156,0.169,0.011,0.116,0.175,0.181,0.143,0.163,0.298,
+0.521,0.169,0.155,0.214,0.225,0.117,0.121,0.142,0.181,0.019,
+0.108,0.145,0.261,0.213,0.304,0.320,0.026,9.69e-3,0.010,0.015,
+0.015,8.69e-3,6.60e-3,9.36e-3,0.011,7.52e-4,7.10e-3,0.011,0.024,0.025,
+0.022,0.028,0.157,0.091,0.087,0.135,0.011,6.27e-3,6.35e-3,9.69e-3,
+0.117,9.28e-3,0.058,0.082,0.096,0.107,0.125,0.138,0.153,0.083,
+0.090,0.160,0.152,0.101,0.090,0.143,0.166,0.014,0.153,0.215,
+0.170,0.133,0.182,0.341,0.695,0.187,0.162,0.305,0.188,0.108,
+0.105,0.125,0.194,0.016,0.086,0.137,0.284,0.198,0.193,0.398,
+0.313,0.148,0.125,0.161,0.144,0.089,0.092,0.098,0.142,9.36e-3,
+0.086,0.121,0.189,0.161,0.142,0.231,0.167,0.115,0.093,0.147,
+0.010,7.60e-3,6.85e-3,0.011,0.119,8.94e-3,0.065,0.112,0.124,0.126,
+0.114,0.177,0.315,0.136,0.130,0.298,0.123,0.073,0.089,0.148,
+0.218,0.014,0.177,0.237,0.342,0.218,0.265,0.552,0.688,0.359,
+0.266,0.483,0.293,0.186,0.163,0.211,0.250,0.023,0.110,0.219,
+0.340,0.248,0.179,0.361,0.393,0.251,0.163,0.229,0.205,0.129,
+0.125,0.142,0.191,0.015,0.115,0.165,0.159,0.137,0.118,0.211,
+0.242,0.150,0.115,0.181,0.012,0.012,8.77e-3,0.015,0.119,9.53e-3,
+0.061,0.097,0.103,0.120,0.095,0.179,0.282,0.133,0.131,0.256,
+0.220,0.148,0.122,0.184,0.139,0.012,0.103,0.157,0.200,0.148,
+0.163,0.373,0.436,0.233,0.136,0.219,0.199,0.134,0.103,0.119,
+0.165,0.013,0.092,0.115,0.192,0.153,0.090,0.174,0.256,0.169,
+0.118,0.132,0.129,0.055,0.082,0.082,0.119,0.012,0.077,0.107,
+0.095,0.097,0.087,0.130,0.172,0.141,0.082,0.124,7.94e-3,8.27e-3,
+5.26e-3,8.86e-3,0.115,0.011,0.063,0.111,0.081,0.129,0.087,0.132,
+0.153,0.108,0.076,0.133,0.128,0.092,0.070,0.102,0.113,7.85e-3,
+0.078,0.112,0.129,0.107,0.103,0.213,0.440,0.159,0.127,0.181,
+0.184,0.119,0.116,0.135,0.140,0.012,0.080,0.114,0.145,0.133,
+0.156,0.223,0.024,0.013,8.86e-3,0.012,0.011,0.012,9.19e-3,9.53e-3,
+7.10e-3,1.25e-3,7.85e-3,0.010,0.013,0.018,0.014,0.020,0.152,0.117,
+0.101,0.150,0.011,9.61e-3,7.85e-3,0.010,0.111,0.012,0.075,0.096,
+0.105,0.184,0.150,0.173,0.137,0.071,0.106,0.139,0.135,0.104,
+0.110,0.133,0.136,0.011,0.176,0.176,0.121,0.119,0.183,0.293,
+0.466,0.174,0.133,0.225,0.172,0.121,0.093,0.115,0.126,0.012,
+0.065,0.105,0.167,0.134,0.116,0.245,0.303,0.162,0.141,0.192,
+0.179,0.131,0.125,0.130,0.130,7.94e-3,0.095,0.143,0.150,0.157,
+0.130,0.238,0.151,0.125,0.106,0.164,0.010,9.11e-3,8.27e-3,0.012,
+0.111,7.77e-3,0.077,0.118,0.120,0.136,0.138,0.201,0.228,0.123,
+0.132,0.210,0.143,0.101,0.099,0.152,0.186,0.011,0.174,0.234,
+0.248,0.219,0.267,0.471,0.387,0.224,0.173,0.304,0.176,0.127,
+0.082,0.138,0.169,0.018,0.078,0.151,0.284,0.230,0.124,0.258,
+0.326,0.196,0.123,0.211,0.170,0.126,0.108,0.148,0.186,0.012,
+0.106,0.136,0.162,0.153,0.105,0.178,0.192,0.164,0.129,0.177,
+0.020,0.021,0.010,0.024,0.125,0.011,0.080,0.100,0.100,0.150,
+0.095,0.159,0.258,0.136,0.119,0.248,0.192,0.175,0.117,0.210,
+0.168,0.016,0.104,0.176,0.212,0.185,0.172,0.421,0.027,0.021,
+0.012,0.021,0.017,0.015,8.27e-3,0.012,0.015,3.01e-3,8.36e-3,0.012,
+0.018,0.018,0.010,0.021,0.028,0.020,0.010,0.014,0.018,0.015,
+0.010,0.014,0.016,1.59e-3,0.011,0.014,0.014,0.017,0.011,0.018,
+0.014,0.014,8.52e-3,0.015,1.50e-3,1.42e-3,9.19e-4,1.84e-3,0.012,2.76e-3,
+7.52e-3,0.011,0.013,0.019,9.53e-3,0.015,0.029,0.019,0.013,0.027,
+0.031,0.026,0.018,0.036,0.018,1.75e-3,0.016,0.025,0.025,0.024,
+0.023,0.044,0.243,0.153,0.086,0.116,0.113,0.089,0.077,0.093,
+0.138,0.018,0.076,0.108,0.132,0.140,0.104,0.174,0.017,0.013,
+6.52e-3,8.94e-3,8.61e-3,7.77e-3,6.52e-3,5.26e-3,0.012,1.25e-3,6.85e-3,7.69e-3,
+0.013,0.017,9.94e-3,0.014,0.106,0.102,0.074,0.093,7.52e-3,6.94e-3,
+7.77e-3,6.94e-3,0.083,9.61e-3,0.049,0.065,0.061,0.076,0.084,0.101,
+0.117,0.064,0.066,0.103,0.099,0.080,0.076,0.107,0.116,0.011,
+0.099,0.139,0.107,0.102,0.123,0.193,0.238,0.106,0.079,0.151,
+0.128,0.069,0.051,0.077,0.115,9.11e-3,0.059,0.091,0.145,0.109,
+0.094,0.183,0.275,0.163,0.106,0.153,0.154,0.112,0.085,0.102,
+0.144,0.011,0.092,0.140,0.161,0.167,0.115,0.186,0.151,0.133,
+0.104,0.183,0.012,9.69e-3,8.02e-3,0.014,0.109,9.19e-3,0.076,0.126,
+0.112,0.142,0.128,0.196,0.244,0.133,0.132,0.222,0.149,0.109,
+0.090,0.136,0.171,0.013,0.141,0.236,0.258,0.194,0.220,0.389,
+0.496,0.243,0.183,0.374,0.184,0.116,0.101,0.145,0.199,0.017,
+0.081,0.156,0.367,0.204,0.135,0.344,0.257,0.129,0.094,0.147,
+0.125,0.078,0.082,0.109,0.172,7.77e-3,0.079,0.114,0.144,0.102,
+0.084,0.173,0.168,0.115,0.092,0.198,0.014,0.011,8.27e-3,0.026,
+0.110,9.53e-3,0.063,0.109,0.105,0.117,0.086,0.173,0.314,0.129,
+0.147,0.347,0.184,0.125,0.133,0.274,0.176,0.013,0.113,0.182,
+0.267,0.174,0.202,0.525,0.346,0.182,0.116,0.233,0.177,0.116,
+0.082,0.123,0.166,0.015,0.094,0.136,0.207,0.142,0.103,0.220,
+0.240,0.142,0.077,0.133,0.131,0.087,0.071,0.104,0.134,0.010,
+0.074,0.118,0.124,0.110,0.091,0.141,0.156,0.115,0.075,0.150,
+9.61e-3,9.19e-3,5.93e-3,0.014,0.118,9.44e-3,0.070,0.115,0.123,0.134,
+0.091,0.165,0.232,0.108,0.098,0.234,0.182,0.117,0.106,0.220,
+0.167,0.011,0.124,0.192,0.197,0.155,0.152,0.335,0.297,0.145,
+0.112,0.172,0.175,0.112,0.094,0.144,0.178,0.018,0.089,0.138,
+0.172,0.143,0.159,0.258,0.018,0.013,6.18e-3,0.012,7.35e-3,8.86e-3,
+5.26e-3,8.11e-3,0.011,1.00e-3,7.35e-3,0.014,0.017,0.015,0.014,0.023,
+0.139,0.115,0.093,0.186,7.52e-3,5.68e-3,6.85e-3,0.015,0.116,9.69e-3,
+0.073,0.117,0.100,0.118,0.132,0.201,0.163,0.094,0.096,0.178,
+0.159,0.115,0.108,0.216,0.235,0.016,0.139,0.252,0.185,0.154,
+0.209,0.357,0.443,0.177,0.141,0.291,0.176,0.114,0.103,0.145,
+0.189,0.018,0.085,0.163,0.289,0.188,0.169,0.396,0.236,0.131,
+0.107,0.168,0.124,0.071,0.081,0.108,0.154,0.011,0.092,0.172,
+0.195,0.160,0.142,0.274,0.273,0.201,0.182,0.480,0.018,0.011,
+0.011,0.029,0.203,0.013,0.127,0.229,0.204,0.213,0.226,0.386,
+0.468,0.218,0.247,0.563,0.261,0.203,0.203,0.347,0.389,0.022,
+0.267,0.476,0.641,0.452,0.529,0.895,0.035,0.022,0.021,0.029,
+0.022,0.015,0.014,0.015,0.018,1.50e-3,0.013,0.020,0.025,0.021,
+0.013,0.024,0.023,0.012,0.010,0.014,0.015,9.44e-3,9.44e-3,0.010,
+0.014,1.09e-3,8.19e-3,0.010,0.015,0.013,0.011,0.017,0.016,0.011,
+8.52e-3,0.016,8.36e-4,1.67e-3,1.25e-3,1.67e-3,6.85e-3,6.68e-4,5.85e-3,7.77e-3,
+9.61e-3,9.36e-3,8.27e-3,0.012,0.020,0.014,9.19e-3,0.020,0.018,0.013,
+0.011,0.022,0.013,1.84e-3,0.010,0.011,0.015,0.013,0.014,0.026,
+0.029,0.016,0.011,0.015,0.014,9.61e-3,8.44e-3,9.02e-3,0.013,2.67e-3,
+0.036,0.014,0.013,0.015,0.010,0.013,0.015,0.013,9.94e-3,9.02e-3,
+0.011,8.02e-3,8.11e-3,7.52e-3,0.014,1.42e-3,0.012,0.013,0.010,0.010,
+8.11e-3,0.011,0.010,9.53e-3,5.60e-3,0.010,4.18e-4,5.85e-4,6.68e-4,8.36e-4,
+9.36e-3,8.36e-4,4.76e-3,0.013,7.44e-3,9.61e-3,5.93e-3,9.19e-3,0.010,7.60e-3,
+5.10e-3,0.011,0.010,7.77e-3,6.43e-3,0.011,0.011,6.68e-4,9.53e-3,0.013,
+0.010,0.011,0.011,0.020,0.023,9.44e-3,8.27e-3,9.94e-3,0.013,6.77e-3,
+5.26e-3,8.94e-3,8.44e-3,1.00e-3,4.60e-3,8.36e-3,8.44e-3,8.61e-3,0.016,0.014,
+1.50e-3,9.19e-4,4.18e-4,1.09e-3,8.36e-4,1.17e-3,4.18e-4,7.52e-4,1.59e-3,8.36e-5,
+7.52e-4,1.09e-3,1.09e-3,2.09e-3,7.52e-4,1.34e-3,8.44e-3,4.68e-3,3.76e-3,6.27e-3,
+1.09e-3,5.01e-4,6.68e-4,7.52e-4,7.02e-3,2.51e-4,4.26e-3,5.01e-3,5.18e-3,7.10e-3,
+6.35e-3,8.69e-3,5.77e-3,5.35e-3,5.52e-3,8.19e-3,0.014,6.68e-3,6.27e-3,7.60e-3,
+9.36e-3,8.36e-4,0.012,9.94e-3,9.94e-3,7.44e-3,0.012,0.018,0.025,0.012,
+6.85e-3,0.017,0.011,7.52e-3,6.35e-3,7.27e-3,0.011,1.09e-3,5.43e-3,7.69e-3,
+0.016,0.011,0.010,0.021,0.017,0.011,9.02e-3,0.012,0.011,9.11e-3,
+8.69e-3,9.28e-3,9.19e-3,1.00e-3,6.10e-3,9.78e-3,0.011,0.014,8.77e-3,0.016,
+9.02e-3,5.01e-3,6.27e-3,0.011,5.01e-4,5.01e-4,5.01e-4,8.36e-4,6.77e-3,5.01e-4,
+4.93e-3,8.02e-3,6.02e-3,7.10e-3,7.77e-3,0.011,0.014,7.77e-3,9.78e-3,0.016,
+7.69e-3,6.85e-3,7.10e-3,0.011,0.012,1.25e-3,0.017,0.016,0.019,0.017,
+0.017,0.037,0.029,0.018,0.012,0.020,0.015,0.012,8.36e-3,0.012,
+0.011,1.09e-3,5.18e-3,7.94e-3,0.012,0.011,7.44e-3,0.015,0.020,0.012,
+8.11e-3,0.012,0.014,0.012,9.78e-3,0.012,9.44e-3,1.17e-3,7.85e-3,8.86e-3,
+8.19e-3,8.02e-3,6.85e-3,9.02e-3,0.011,6.52e-3,5.85e-3,7.94e-3,1.09e-3,1.42e-3,
+8.36e-4,1.25e-3,4.09e-3,6.68e-4,3.68e-3,4.09e-3,4.60e-3,5.10e-3,4.35e-3,9.02e-3,
+0.011,6.10e-3,6.68e-3,0.011,0.012,8.69e-3,5.93e-3,8.02e-3,6.85e-3,4.18e-4,
+6.94e-3,7.60e-3,8.27e-3,7.19e-3,9.53e-3,0.018,0.024,0.014,7.69e-3,0.012,
+0.015,0.013,8.36e-3,6.52e-3,0.011,1.00e-3,6.02e-3,7.44e-3,9.44e-3,9.28e-3,
+4.93e-3,0.012,0.016,0.016,8.11e-3,0.010,0.014,8.52e-3,8.11e-3,0.012,
+9.53e-3,2.01e-3,8.36e-3,9.61e-3,6.60e-3,0.011,5.93e-3,0.010,8.69e-3,8.27e-3,
+6.35e-3,7.10e-3,5.01e-4,1.75e-3,1.00e-3,6.68e-4,6.85e-3,1.50e-3,3.93e-3,8.02e-3,
+4.43e-3,6.60e-3,5.85e-3,7.85e-3,9.78e-3,8.02e-3,5.18e-3,9.28e-3,9.19e-3,8.36e-3,
+5.52e-3,8.86e-3,8.77e-3,9.19e-4,6.77e-3,8.69e-3,7.27e-3,8.44e-3,8.02e-3,0.013,
+0.020,8.27e-3,6.27e-3,7.85e-3,0.010,8.36e-3,9.36e-3,0.013,7.10e-3,8.36e-4,
+4.68e-3,6.68e-3,6.60e-3,8.94e-3,7.10e-3,0.014,1.09e-3,1.42e-3,1.00e-3,1.42e-3,
+1.00e-3,1.59e-3,1.42e-3,1.34e-3,5.85e-4,1.67e-4,9.19e-4,7.52e-4,4.18e-4,1.34e-3,
+1.42e-3,1.67e-3,0.012,6.77e-3,6.35e-3,0.013,1.09e-3,1.09e-3,1.00e-3,1.17e-3,
+6.60e-3,1.75e-3,5.01e-3,6.52e-3,5.60e-3,9.28e-3,0.010,8.11e-3,6.52e-3,4.18e-3,
+6.77e-3,7.94e-3,6.94e-3,6.77e-3,8.61e-3,0.010,8.36e-3,1.25e-3,0.018,0.011,
+6.35e-3,8.36e-3,0.011,0.016,0.026,0.010,8.69e-3,0.013,9.44e-3,7.02e-3,
+4.76e-3,7.44e-3,9.36e-3,8.36e-4,4.35e-3,5.68e-3,0.011,7.85e-3,8.36e-3,0.015,
+0.017,8.86e-3,8.61e-3,0.011,9.61e-3,9.44e-3,7.19e-3,9.94e-3,7.02e-3,1.00e-3,
+7.44e-3,0.011,7.27e-3,9.19e-3,8.36e-3,0.014,9.69e-3,8.19e-3,7.77e-3,0.011,
+5.85e-4,7.52e-4,3.34e-4,5.01e-4,8.19e-3,1.25e-3,4.93e-3,5.43e-3,5.85e-3,8.52e-3,
+0.012,0.012,0.010,6.52e-3,7.02e-3,0.011,9.36e-3,7.77e-3,6.27e-3,9.69e-3,
+0.012,4.18e-4,0.013,0.015,0.015,0.015,0.017,0.030,0.020,0.011,
+0.010,0.016,9.61e-3,5.85e-3,5.18e-3,7.35e-3,8.44e-3,5.85e-4,5.35e-3,7.94e-3,
+7.44e-3,0.010,6.27e-3,0.014,0.013,0.011,8.11e-3,0.011,8.44e-3,7.69e-3,
+5.43e-3,7.27e-3,9.86e-3,1.50e-3,0.011,9.61e-3,7.94e-3,8.02e-3,6.52e-3,0.011,
+8.02e-3,0.011,6.77e-3,6.68e-3,5.01e-4,9.19e-4,7.52e-4,1.59e-3,8.44e-3,1.34e-3,
+3.59e-3,5.52e-3,4.09e-3,7.69e-3,5.26e-3,9.44e-3,0.011,6.60e-3,5.52e-3,0.011,
+8.86e-3,7.27e-3,6.02e-3,0.013,8.77e-3,1.25e-3,5.26e-3,0.010,0.010,9.02e-3,
+9.44e-3,0.020,1.59e-3,1.09e-3,5.85e-4,2.59e-3,1.17e-3,9.19e-4,6.68e-4,4.18e-4,
+7.52e-4,1.67e-4,5.85e-4,7.52e-4,8.36e-4,1.00e-3,4.18e-4,1.00e-3,2.17e-3,2.17e-3,
+5.85e-4,5.85e-4,1.75e-3,1.42e-3,1.25e-3,1.34e-3,5.01e-4,6.68e-4,1.00e-3,9.19e-4,
+3.34e-4,1.50e-3,9.19e-4,9.19e-4,6.68e-4,1.25e-3,4.18e-4,7.52e-4,0,8.36e-5,
+1.67e-4,1.67e-4,8.36e-4,1.67e-4,1.42e-3,8.36e-4,3.34e-4,1.00e-3,8.36e-4,7.52e-4,
+4.18e-4,5.01e-4,5.85e-4,8.36e-4,1.09e-3,1.59e-3,5.85e-4,1.50e-3,6.68e-4,8.36e-5,
+1.00e-3,1.09e-3,9.19e-4,1.42e-3,5.85e-4,2.34e-3,0.014,0.011,4.85e-3,7.52e-3,
+8.86e-3,5.77e-3,7.10e-3,7.10e-3,7.77e-3,1.09e-3,6.43e-3,7.44e-3,7.44e-3,0.012,
+8.61e-3,0.014,1.25e-3,7.52e-4,6.68e-4,9.19e-4,5.01e-4,9.19e-4,5.85e-4,5.85e-4,
+5.85e-4,4.18e-4,2.09e-3,9.19e-4,8.36e-4,1.09e-3,1.09e-3,1.34e-3,7.77e-3,7.27e-3,
+7.19e-3,5.85e-3,1.34e-3,1.17e-3,1.00e-3,8.36e-4,7.10e-3,1.25e-3,4.60e-3,6.18e-3,
+3.93e-3,6.43e-3,9.61e-3,9.36e-3,6.77e-3,5.18e-3,3.59e-3,7.52e-3,7.60e-3,6.18e-3,
+7.52e-3,7.27e-3,8.94e-3,8.36e-4,9.53e-3,0.012,7.10e-3,5.93e-3,0.013,0.015,
+0.013,6.35e-3,6.43e-3,0.011,6.60e-3,4.26e-3,3.76e-3,5.77e-3,8.19e-3,7.52e-4,
+4.51e-3,5.77e-3,8.19e-3,7.94e-3,6.02e-3,0.014,0.014,0.010,7.77e-3,0.011,
+0.013,9.19e-3,5.60e-3,7.02e-3,0.011,1.25e-3,9.02e-3,0.011,9.28e-3,0.011,
+7.19e-3,0.013,0.011,0.011,6.68e-3,0.011,1.00e-3,1.09e-3,1.17e-3,7.52e-4,
+9.69e-3,1.17e-3,6.02e-3,9.61e-3,8.44e-3,0.011,0.011,0.029,0.012,6.68e-3,
+6.10e-3,0.012,9.28e-3,7.69e-3,7.19e-3,9.69e-3,0.013,1.25e-3,0.011,0.017,
+0.019,0.017,0.018,0.032,0.027,0.014,0.013,0.021,0.016,9.19e-3,
+8.19e-3,0.020,0.016,2.09e-3,7.27e-3,0.012,0.021,0.014,8.19e-3,0.023,
+0.018,0.011,7.69e-3,0.010,9.86e-3,8.61e-3,6.18e-3,0.012,0.011,9.19e-4,
+7.94e-3,0.011,0.012,7.60e-3,7.85e-3,0.015,0.010,9.78e-3,0.010,0.014,
+1.34e-3,6.68e-4,5.01e-4,1.09e-3,8.44e-3,5.85e-4,6.10e-3,0.010,6.43e-3,7.44e-3,
+6.35e-3,0.012,0.020,9.02e-3,0.011,0.022,0.015,9.36e-3,0.010,0.025,
+0.015,1.00e-3,9.19e-3,0.020,0.020,0.014,0.016,0.045,0.024,0.022,
+9.36e-3,0.022,0.015,0.012,7.94e-3,0.012,0.014,1.84e-3,7.44e-3,0.013,
+0.017,0.016,9.94e-3,0.019,0.020,0.014,7.69e-3,0.014,0.015,0.012,
+9.11e-3,0.012,0.013,1.50e-3,8.52e-3,0.014,0.014,0.015,0.020,0.019,
+9.69e-3,9.53e-3,6.94e-3,0.013,1.09e-3,5.01e-4,8.36e-4,1.59e-3,0.011,1.00e-3,
+7.19e-3,9.53e-3,7.85e-3,0.012,8.69e-3,0.014,0.017,8.27e-3,0.011,0.020,
+0.014,0.011,9.69e-3,0.023,0.014,1.09e-3,0.011,0.018,0.014,0.014,
+0.019,0.034,0.017,8.61e-3,8.61e-3,0.014,0.017,7.77e-3,6.68e-3,0.011,
+0.012,9.19e-4,6.43e-3,0.010,0.013,0.011,0.012,0.020,7.52e-4,1.00e-3,
+9.19e-4,1.00e-3,5.85e-4,7.52e-4,1.42e-3,8.36e-4,1.25e-3,8.36e-5,1.09e-3,1.09e-3,
+6.68e-4,1.50e-3,1.00e-3,1.34e-3,8.36e-3,6.94e-3,5.18e-3,0.010,5.85e-4,2.51e-4,
+7.52e-4,1.09e-3,9.44e-3,9.19e-4,7.77e-3,9.86e-3,5.85e-3,7.85e-3,0.011,0.013,
+0.016,6.68e-3,7.19e-3,0.011,0.012,7.94e-3,6.94e-3,0.017,0.052,3.68e-3,
+0.015,0.040,0.015,9.86e-3,0.018,0.029,0.025,0.013,0.011,0.018,
+0.013,8.61e-3,8.94e-3,0.012,0.011,1.17e-3,6.68e-3,0.012,0.018,0.015,
+0.015,0.027,0.018,0.013,8.27e-3,0.013,0.012,8.11e-3,7.27e-3,0.011,
+9.69e-3,6.68e-4,7.27e-3,0.014,0.013,0.011,0.013,0.025,0.018,0.011,
+0.012,0.024,1.17e-3,1.00e-3,1.17e-3,2.09e-3,0.013,1.34e-3,0.010,0.016,
+0.015,0.014,0.023,0.032,0.026,0.014,0.013,0.030,0.021,0.017,
+0.015,0.030,0.031,1.34e-3,0.022,0.040,0.042,0.039,0.057,0.079,
+0.546,0.321,0.255,0.551,0.260,0.181,0.161,0.247,0.258,0.027,
+0.139,0.357,0.373,0.314,0.172,0.382,0.251,0.148,0.112,0.169,
+0.155,0.088,0.086,0.117,0.140,9.94e-3,0.084,0.114,0.156,0.140,
+0.110,0.172,0.181,0.124,0.094,0.173,0.013,9.02e-3,7.35e-3,0.021,
+0.121,8.27e-3,0.069,0.163,0.151,0.119,0.107,0.185,0.272,0.106,
+0.088,0.193,0.152,0.090,0.084,0.157,0.141,9.28e-3,0.076,0.138,
+0.209,0.104,0.137,0.293,0.441,0.243,0.162,0.249,0.218,0.139,
+0.114,0.128,0.170,0.013,0.099,0.141,0.167,0.152,0.087,0.185,
+0.256,0.158,0.149,0.144,0.151,0.105,0.095,0.101,0.178,0.016,
+0.087,0.125,0.125,0.131,0.085,0.124,0.155,0.119,0.092,0.133,
+0.010,9.11e-3,9.02e-3,0.015,0.146,9.86e-3,0.098,0.324,0.108,0.130,
+0.112,0.182,0.162,0.092,0.068,0.122,0.144,0.103,0.077,0.131,
+0.118,8.86e-3,0.081,0.147,0.147,0.118,0.118,0.258,0.251,0.124,
+0.091,0.202,0.160,0.108,0.097,0.140,0.122,0.013,0.067,0.108,
+0.157,0.139,0.130,0.216,0.019,0.014,8.77e-3,0.018,0.018,0.013,
+0.012,0.014,0.014,1.67e-3,9.19e-3,0.014,0.023,0.026,0.016,0.030,
+0.116,0.082,0.082,0.126,0.011,8.86e-3,8.19e-3,0.013,0.098,8.86e-3,
+0.069,0.097,0.086,0.092,0.114,0.140,0.122,0.069,0.088,0.107,
+0.151,0.107,0.102,0.130,0.128,0.011,0.136,0.143,0.245,0.131,
+0.209,0.250,0.271,0.111,0.087,0.210,0.124,0.069,0.073,0.111,
+0.117,0.011,0.063,0.103,0.174,0.132,0.102,0.234,0.194,0.118,
+0.093,0.138,0.122,0.084,0.089,0.111,0.124,8.44e-3,0.090,0.112,
+0.171,0.144,0.115,0.187,0.157,0.111,0.095,0.149,0.011,7.60e-3,
+9.36e-3,0.014,0.121,8.19e-3,0.088,0.136,0.130,0.138,0.219,0.210,
+0.231,0.121,0.127,0.225,0.137,0.087,0.104,0.166,0.212,0.018,
+0.167,0.209,0.530,0.256,0.325,0.564,0.022,0.018,0.012,0.021,
+0.016,0.010,7.60e-3,0.015,0.011,5.01e-4,5.60e-3,0.011,0.014,0.014,
+7.27e-3,0.015,0.017,0.011,8.27e-3,9.44e-3,0.013,8.44e-3,8.94e-3,9.11e-3,
+8.61e-3,1.17e-3,6.52e-3,6.94e-3,9.61e-3,8.77e-3,7.02e-3,0.011,7.60e-3,6.35e-3,
+5.35e-3,8.69e-3,1.09e-3,9.19e-4,1.17e-3,1.25e-3,6.43e-3,1.00e-3,3.93e-3,6.52e-3,
+5.26e-3,6.02e-3,7.94e-3,9.19e-3,0.014,6.02e-3,5.26e-3,9.36e-3,0.011,6.60e-3,
+6.02e-3,0.011,9.02e-3,9.19e-4,5.77e-3,8.61e-3,9.44e-3,7.94e-3,8.44e-3,0.018,
+0.020,0.015,9.19e-3,0.012,0.012,0.010,6.52e-3,7.60e-3,0.015,1.25e-3,
+5.93e-3,6.18e-3,8.27e-3,9.61e-3,5.52e-3,8.02e-3,0.014,0.012,9.86e-3,7.60e-3,
+9.94e-3,8.86e-3,7.10e-3,7.19e-3,7.85e-3,1.50e-3,7.02e-3,8.02e-3,7.77e-3,8.36e-3,
+6.94e-3,8.52e-3,7.94e-3,7.19e-3,4.93e-3,7.19e-3,6.68e-4,1.17e-3,9.19e-4,9.19e-4,
+9.11e-3,2.42e-3,6.77e-3,0.015,5.18e-3,8.86e-3,7.10e-3,9.11e-3,8.44e-3,4.85e-3,
+3.76e-3,6.94e-3,7.77e-3,8.86e-3,5.10e-3,6.68e-3,8.86e-3,1.00e-3,5.01e-3,7.52e-3,
+9.19e-3,6.18e-3,8.86e-3,0.014,0.016,8.86e-3,6.43e-3,8.77e-3,0.011,9.61e-3,
+7.85e-3,8.52e-3,8.02e-3,1.17e-3,6.85e-3,5.01e-3,5.93e-3,7.60e-3,8.19e-3,0.014,
+9.19e-4,1.42e-3,3.34e-4,8.36e-4,7.52e-4,1.75e-3,1.75e-3,1.25e-3,5.01e-4,5.85e-4,
+1.25e-3,8.36e-4,8.36e-4,1.67e-3,7.52e-4,1.25e-3,8.52e-3,5.26e-3,5.68e-3,9.36e-3,
+1.34e-3,1.59e-3,1.34e-3,1.17e-3,8.02e-3,1.75e-3,7.02e-3,8.69e-3,5.68e-3,9.86e-3,
+0.013,0.011,7.19e-3,5.10e-3,8.44e-3,7.27e-3,8.36e-3,7.94e-3,8.19e-3,9.78e-3,
+7.77e-3,1.67e-3,0.010,9.02e-3,0.011,8.86e-3,0.012,0.017,0.021,0.015,
+0.011,0.018,9.69e-3,8.36e-3,8.11e-3,9.86e-3,7.69e-3,1.00e-3,4.51e-3,8.44e-3,
+0.012,0.013,0.014,0.022,0.018,0.012,0.011,0.017,0.017,0.014,
+0.011,0.013,9.86e-3,1.09e-3,9.02e-3,9.44e-3,0.013,0.012,0.013,0.022,
+0.010,0.010,8.94e-3,0.012,9.19e-4,1.09e-3,1.75e-3,1.09e-3,8.44e-3,1.34e-3,
+0.011,0.012,0.014,0.013,0.063,0.025,0.016,9.61e-3,0.011,0.016,
+9.36e-3,7.77e-3,9.69e-3,0.014,0.014,1.09e-3,0.012,0.017,0.030,0.022,
+0.033,0.046,0.282,0.220,0.181,0.272,0.177,0.129,0.084,0.126,
+0.132,9.36e-3,0.090,0.120,0.126,0.104,0.077,0.141,0.215,0.157,
+0.105,0.129,0.158,0.119,0.106,0.108,0.154,0.014,0.216,0.147,
+0.101,0.118,0.100,0.128,0.152,0.129,0.086,0.130,0.015,0.014,
+0.010,0.018,0.120,0.011,0.098,0.117,0.080,0.120,0.096,0.150,
+0.143,0.081,0.062,0.124,0.126,0.091,0.069,0.119,0.125,0.011,
+0.097,0.156,0.131,0.116,0.127,0.284,0.018,0.015,6.77e-3,0.012,
+0.014,0.011,5.52e-3,0.010,9.02e-3,1.34e-3,7.69e-3,0.011,7.35e-3,0.010,
+6.10e-3,0.012,0.014,0.012,5.85e-3,8.27e-3,0.016,0.013,8.77e-3,7.85e-3,
+9.44e-3,1.50e-3,0.015,0.010,7.02e-3,9.36e-3,7.02e-3,7.10e-3,0.014,0.011,
+5.77e-3,8.94e-3,1.67e-3,2.01e-3,1.25e-3,1.67e-3,9.19e-3,2.34e-3,9.86e-3,0.015,
+6.68e-3,9.94e-3,8.44e-3,0.014,0.014,7.19e-3,4.85e-3,0.012,0.014,0.014,
+8.36e-3,0.015,9.19e-3,1.25e-3,8.19e-3,0.017,0.010,0.011,9.44e-3,0.024,
+0.322,0.137,0.099,0.120,0.132,0.108,0.091,0.114,0.116,0.015,
+0.113,0.109,0.093,0.095,0.108,0.150,0.014,0.013,9.61e-3,0.013,
+8.69e-3,0.011,8.94e-3,7.52e-3,0.012,2.67e-3,0.014,0.012,9.28e-3,0.014,
+9.19e-3,0.011,0.202,0.110,0.101,0.136,0.014,6.94e-3,0.012,0.013,
+0.111,0.012,0.034,0.058,0.068,0.067,0.092,0.117,0.118,0.063,
+0.061,0.073,0.095,0.071,0.087,0.082,0.107,0.011,0.121,0.126,
+0.096,0.090,0.136,0.186,0.187,0.102,0.072,0.133,0.101,0.064,
+0.046,0.071,0.091,7.94e-3,0.073,0.090,0.091,0.079,0.071,0.119,
+0.167,0.128,0.086,0.126,0.125,0.109,0.073,0.079,0.097,9.19e-3,
+0.103,0.111,0.094,0.115,0.092,0.120,0.140,0.118,0.090,0.149,
+0.011,0.011,9.36e-3,0.012,0.136,0.013,0.127,0.170,0.111,0.182,
+0.165,0.208,0.148,0.085,0.080,0.130,0.115,0.098,0.079,0.101,
+0.150,0.011,0.170,0.206,0.199,0.176,0.205,0.310,0.325,0.172,
+0.128,0.240,0.159,0.103,0.077,0.125,0.129,0.012,0.085,0.118,
+0.178,0.132,0.094,0.204,0.243,0.111,0.074,0.121,0.119,0.070,
+0.065,0.110,0.096,5.93e-3,0.079,0.099,0.081,0.072,0.066,0.119,
+0.144,0.107,0.071,0.129,0.011,7.94e-3,6.35e-3,0.016,0.097,8.94e-3,
+0.066,0.123,0.085,0.108,0.087,0.157,0.171,0.088,0.109,0.163,
+0.115,0.076,0.065,0.129,0.112,7.35e-3,0.067,0.146,0.151,0.109,
+0.124,0.317,0.305,0.175,0.095,0.179,0.194,0.137,0.089,0.130,
+0.125,0.011,0.091,0.120,0.129,0.151,0.080,0.175,0.231,0.143,
+0.079,0.119,0.163,0.106,0.098,0.114,0.130,9.53e-3,0.086,0.127,
+0.091,0.089,0.070,0.120,0.126,0.128,0.065,0.118,9.19e-3,9.69e-3,
+6.02e-3,0.011,0.127,0.012,0.095,0.171,0.089,0.130,0.103,0.179,
+0.165,0.089,0.067,0.128,0.139,0.111,0.082,0.151,0.104,7.94e-3,
+0.098,0.169,0.127,0.114,0.120,0.246,0.348,0.175,0.101,0.153,
+0.159,0.123,0.106,0.161,0.151,0.014,0.105,0.140,0.145,0.130,
+0.209,0.248,0.017,0.013,7.60e-3,0.011,0.010,0.014,8.69e-3,0.013,
+8.77e-3,1.00e-3,9.19e-3,0.010,0.011,0.014,0.012,0.015,0.171,0.140,
+0.106,0.161,0.012,0.010,8.61e-3,0.014,0.161,0.018,0.125,0.171,
+0.111,0.157,0.179,0.209,0.166,0.109,0.095,0.136,0.163,0.130,
+0.127,0.163,0.152,0.013,0.155,0.227,0.157,0.131,0.218,0.302,
+0.301,0.136,0.104,0.181,0.144,0.098,0.080,0.112,0.144,0.015,
+0.085,0.120,0.188,0.127,0.134,0.223,0.204,0.116,0.088,0.129,
+0.127,0.094,0.085,0.111,0.111,6.02e-3,0.098,0.132,0.126,0.109,
+0.106,0.171,0.197,0.169,0.125,0.219,0.014,0.013,8.69e-3,0.017,
+0.208,0.016,0.169,0.314,0.196,0.248,0.231,0.338,0.301,0.151,
+0.146,0.290,0.224,0.181,0.144,0.219,0.272,0.016,0.240,0.380,
+0.382,0.274,0.458,0.622,0.587,0.308,0.266,0.683,0.240,0.135,
+0.135,0.245,0.244,0.018,0.102,0.211,0.441,0.265,0.164,0.386,
+0.278,0.140,0.104,0.175,0.143,0.078,0.068,0.105,0.167,8.02e-3,
+0.079,0.105,0.185,0.142,0.097,0.170,0.216,0.126,0.095,0.181,
+0.015,8.69e-3,9.36e-3,0.019,0.116,5.93e-3,0.057,0.104,0.118,0.102,
+0.097,0.180,0.284,0.128,0.128,0.287,0.189,0.106,0.098,0.181,
+0.146,9.44e-3,0.083,0.155,0.246,0.141,0.165,0.392,0.394,0.225,
+0.120,0.234,0.154,0.097,0.069,0.102,0.145,0.010,0.063,0.099,
+0.170,0.119,0.068,0.160,0.202,0.105,0.071,0.106,0.104,0.060,
+0.051,0.065,0.118,6.27e-3,0.060,0.086,0.125,0.086,0.062,0.109,
+0.134,0.086,0.069,0.103,7.69e-3,5.43e-3,4.51e-3,7.69e-3,0.140,6.60e-3,
+0.054,0.141,0.105,0.107,0.076,0.141,0.138,0.090,0.060,0.110,
+0.107,0.081,0.052,0.092,0.111,5.10e-3,0.063,0.111,0.132,0.093,
+0.108,0.233,0.309,0.112,0.104,0.175,0.145,0.072,0.072,0.112,
+0.124,0.010,0.047,0.085,0.169,0.122,0.090,0.213,0.016,7.85e-3,
+6.68e-3,0.012,9.78e-3,5.43e-3,5.68e-3,8.02e-3,8.69e-3,8.36e-4,3.84e-3,8.86e-3,
+0.019,0.020,0.010,0.019,0.188,0.082,0.116,0.128,9.28e-3,4.60e-3,
+7.44e-3,0.012,0.095,7.44e-3,0.056,0.089,0.103,0.088,0.119,0.165,
+0.155,0.068,0.085,0.111,0.125,0.077,0.088,0.112,0.119,6.77e-3,
+0.095,0.146,0.176,0.113,0.179,0.296,0.350,0.129,0.107,0.256,
+0.144,0.075,0.078,0.111,0.137,0.012,0.069,0.117,0.226,0.141,
+0.108,0.264,0.207,0.108,0.097,0.137,0.103,0.065,0.072,0.084,
+0.118,6.94e-3,0.065,0.105,0.170,0.138,0.091,0.181,0.173,0.108,
+0.112,0.152,9.11e-3,6.52e-3,0.013,0.012,0.095,5.52e-3,0.067,0.104,
+0.113,0.105,0.138,0.179,0.264,0.113,0.127,0.238,0.143,0.097,
+0.116,0.152,0.188,0.011,0.127,0.215,0.362,0.213,0.287,0.626,
+0.494,0.256,0.190,0.407,0.217,0.138,0.114,0.177,0.173,0.013,
+0.079,0.144,0.240,0.184,0.123,0.279,0.263,0.144,0.106,0.162,
+0.137,0.085,0.097,0.104,0.126,7.27e-3,0.092,0.113,0.120,0.108,
+0.094,0.168,0.147,0.096,0.095,0.146,8.19e-3,7.10e-3,6.94e-3,0.014,
+0.098,6.85e-3,0.067,0.109,0.081,0.087,0.096,0.172,0.197,0.089,
+0.103,0.185,0.157,0.100,0.112,0.161,0.114,7.85e-3,0.067,0.114,
+0.174,0.109,0.139,0.325,0.328,0.181,0.101,0.203,0.164,0.120,
+0.072,0.102,0.144,9.53e-3,0.051,0.091,0.170,0.107,0.068,0.157,
+0.196,0.110,0.070,0.108,0.128,0.072,0.063,0.076,0.104,6.35e-3,
+0.061,0.094,0.106,0.088,0.074,0.119,0.119,0.089,0.073,0.104,
+6.68e-3,5.52e-3,4.09e-3,5.60e-3,0.133,7.52e-3,0.086,0.128,0.087,0.097,
+0.088,0.150,0.117,0.071,0.046,0.089,0.104,0.077,0.051,0.078,
+0.101,4.51e-3,0.064,0.090,0.116,0.083,0.093,0.193,0.219,0.111,
+0.086,0.140,0.137,0.094,0.089,0.113,0.119,0.015,0.053,0.085,
+0.142,0.110,0.109,0.188,0.010,7.60e-3,5.60e-3,6.85e-3,8.86e-3,9.19e-3,
+6.77e-3,6.77e-3,6.60e-3,6.68e-4,4.35e-3,5.68e-3,9.86e-3,0.012,9.36e-3,0.013,
+0.129,0.103,0.101,0.155,7.85e-3,6.02e-3,7.27e-3,0.012,0.104,9.02e-3,
+0.074,0.110,0.110,0.127,0.146,0.203,0.125,0.074,0.080,0.124,
+0.119,0.086,0.097,0.127,0.130,8.94e-3,0.100,0.150,0.149,0.135,
+0.172,0.289,0.283,0.148,0.120,0.209,0.125,0.088,0.084,0.110,
+0.122,8.94e-3,0.067,0.114,0.177,0.146,0.122,0.253,0.214,0.129,
+0.103,0.165,0.134,0.100,0.094,0.121,0.121,8.69e-3,0.086,0.127,
+0.155,0.160,0.118,0.217,0.133,0.100,0.109,0.164,6.60e-3,6.60e-3,
+9.86e-3,0.012,0.094,7.02e-3,0.096,0.131,0.128,0.128,0.272,0.242,
+0.185,0.108,0.116,0.205,0.140,0.108,0.106,0.154,0.156,0.010,
+0.121,0.205,0.265,0.198,0.273,0.495,0.438,0.223,0.187,0.303,
+0.163,0.118,0.076,0.134,0.154,0.011,0.090,0.144,0.176,0.125,
+0.096,0.221,0.247,0.158,0.106,0.161,0.164,0.092,0.081,0.102,
+0.164,0.011,0.156,0.134,0.130,0.126,0.107,0.189,0.195,0.192,
+0.094,0.169,0.032,0.012,0.010,0.024,0.135,0.014,0.070,0.139,
+0.112,0.147,0.197,0.376,0.189,0.114,0.084,0.172,0.199,0.112,
+0.091,0.148,0.152,0.013,0.096,0.227,0.204,0.149,0.183,0.420,
+0.021,0.015,6.85e-3,0.014,0.012,8.02e-3,5.77e-3,7.85e-3,8.02e-3,1.17e-3,
+4.68e-3,8.19e-3,9.78e-3,9.36e-3,4.76e-3,0.015,0.014,8.11e-3,4.68e-3,8.27e-3,
+0.027,0.010,5.43e-3,6.94e-3,8.94e-3,7.52e-4,9.53e-3,8.86e-3,9.19e-3,0.010,
+6.94e-3,9.78e-3,0.011,0.011,4.60e-3,9.19e-3,2.26e-3,7.52e-4,5.85e-4,7.52e-4,
+9.19e-3,1.00e-3,5.68e-3,0.011,8.36e-3,9.61e-3,0.011,0.024,0.014,9.11e-3,
+5.85e-3,9.69e-3,0.020,0.011,8.69e-3,0.013,0.011,9.19e-4,5.60e-3,0.013,
+0.013,9.02e-3,0.011,0.024,0.273,0.178,0.095,0.134,0.148,0.107,
+0.098,0.116,0.132,0.018,0.074,0.114,0.126,0.118,0.114,0.183,
+0.013,9.28e-3,5.18e-3,8.11e-3,0.010,7.02e-3,5.10e-3,7.77e-3,8.27e-3,6.68e-4,
+6.52e-3,7.52e-3,0.011,0.015,8.86e-3,0.013,0.162,0.125,0.117,0.141,
+0.011,8.77e-3,0.011,0.010,0.151,0.018,0.072,0.134,0.104,0.136,
+0.145,0.184,0.133,0.082,0.076,0.113,0.135,0.101,0.118,0.118,
+0.129,0.011,0.120,0.176,0.129,0.132,0.178,0.277,0.253,0.143,
+0.094,0.184,0.125,0.085,0.074,0.099,0.142,0.013,0.099,0.148,
+0.142,0.117,0.097,0.212,0.238,0.161,0.103,0.170,0.137,0.116,
+0.095,0.098,0.145,9.36e-3,0.116,0.163,0.167,0.171,0.122,0.193,
+0.169,0.155,0.119,0.187,0.012,9.94e-3,8.61e-3,0.015,0.169,0.012,
+0.129,0.214,0.163,0.197,0.259,0.288,0.216,0.120,0.113,0.186,
+0.154,0.123,0.136,0.144,0.194,0.015,0.208,0.289,0.272,0.230,
+0.305,0.482,0.571,0.233,0.168,0.339,0.174,0.106,0.085,0.146,
+0.166,0.014,0.093,0.159,0.242,0.167,0.113,0.294,0.246,0.128,
+0.074,0.134,0.128,0.067,0.057,0.096,0.121,6.85e-3,0.070,0.170,
+0.112,0.088,0.072,0.163,0.182,0.137,0.091,0.178,0.015,0.013,
+7.52e-3,0.020,0.120,9.86e-3,0.062,0.139,0.120,0.134,0.108,0.209,
+0.247,0.117,0.119,0.227,0.155,0.090,0.085,0.153,0.142,9.53e-3,
+0.086,0.186,0.213,0.151,0.184,0.458,0.317,0.161,0.088,0.186,
+0.134,0.084,0.060,0.098,0.104,7.10e-3,0.062,0.112,0.131,0.110,
+0.069,0.178,0.176,0.107,0.066,0.133,0.118,0.067,0.056,0.088,
+0.111,6.85e-3,0.066,0.117,0.095,0.090,0.068,0.131,0.120,0.094,
+0.057,0.111,8.36e-3,4.09e-3,3.09e-3,7.44e-3,0.115,9.28e-3,0.070,0.154,
+0.103,0.114,0.094,0.174,0.143,0.077,0.066,0.126,0.131,0.075,
+0.062,0.114,0.116,7.19e-3,0.073,0.166,0.140,0.105,0.121,0.267,
+0.335,0.159,0.124,0.207,0.179,0.119,0.101,0.183,0.218,0.016,
+0.087,0.153,0.196,0.161,0.166,0.297,0.018,8.61e-3,6.02e-3,0.014,
+0.011,8.77e-3,7.27e-3,0.012,9.28e-3,3.34e-4,5.26e-3,8.69e-3,0.015,0.018,
+0.013,0.019,0.205,0.169,0.124,0.194,0.010,9.86e-3,9.02e-3,0.014,
+0.185,0.014,0.126,0.207,0.165,0.193,0.198,0.315,0.215,0.129,
+0.111,0.178,0.186,0.127,0.121,0.185,0.204,0.011,0.143,0.264,
+0.194,0.176,0.231,0.424,0.555,0.179,0.145,0.296,0.180,0.117,
+0.102,0.159,0.214,0.017,0.105,0.191,0.329,0.197,0.176,0.384,
+0.299,0.151,0.126,0.207,0.217,0.138,0.107,0.174,0.165,0.011,
+0.113,0.202,0.227,0.233,0.142,0.280,0.284,0.214,0.166,0.310,
+0.019,0.013,7.44e-3,0.019,0.253,0.014,0.183,0.334,0.254,0.273,
+0.285,0.538,0.512,0.205,0.189,0.403,0.456,0.214,0.164,0.314,
+0.395,0.022,0.290,0.552,0.582,0.321,0.501,0.953,2.520,1.040,
+0.729,2.050,0.694,0.401,0.316,0.587,0.679,0.049,0.226,0.514,
+1.370,0.790,0.424,1.170,0.561,0.264,0.191,0.350,0.270,0.143,
+0.124,0.179,0.282,0.014,0.122,0.195,0.373,0.244,0.168,0.389,
+0.439,0.225,0.167,0.400,0.026,0.015,0.012,0.042,0.195,0.013,
+0.078,0.148,0.237,0.188,0.140,0.325,0.797,0.275,0.260,0.731,
+0.458,0.242,0.240,0.575,0.332,0.021,0.137,0.293,0.606,0.305,
+0.291,0.868,0.582,0.228,0.145,0.277,0.221,0.112,0.085,0.141,
+0.172,0.012,0.059,0.121,0.220,0.164,0.088,0.235,0.258,0.114,
+0.077,0.124,0.108,0.057,0.051,0.070,0.113,5.60e-3,0.047,0.085,
+0.126,0.084,0.065,0.120,0.190,0.110,0.074,0.148,8.77e-3,6.43e-3,
+4.26e-3,9.78e-3,0.123,6.02e-3,0.042,0.089,0.104,0.101,0.060,0.125,
+0.250,0.119,0.091,0.204,0.177,0.105,0.080,0.181,0.156,8.52e-3,
+0.059,0.133,0.189,0.120,0.116,0.277,0.392,0.142,0.160,0.223,
+0.177,0.087,0.087,0.131,0.163,0.015,0.060,0.121,0.225,0.151,
+0.131,0.331,0.022,0.011,7.44e-3,0.015,0.011,6.77e-3,4.93e-3,9.36e-3,
+0.010,9.19e-4,4.60e-3,0.010,0.023,0.016,0.011,0.030,0.151,0.087,
+0.076,0.127,8.19e-3,3.76e-3,3.76e-3,0.011,0.088,5.93e-3,0.038,0.079,
+0.092,0.082,0.083,0.154,0.144,0.080,0.074,0.147,0.134,0.076,
+0.073,0.140,0.132,8.61e-3,0.069,0.149,0.186,0.130,0.143,0.423,
+0.636,0.206,0.182,0.394,0.215,0.114,0.113,0.166,0.236,0.017,
+0.085,0.173,0.387,0.218,0.178,0.484,0.323,0.156,0.126,0.191,
+0.159,0.093,0.079,0.119,0.155,7.02e-3,0.080,0.138,0.243,0.164,
+0.137,0.287,0.190,0.120,0.105,0.182,0.011,8.02e-3,5.18e-3,0.016,
+0.124,8.27e-3,0.066,0.145,0.141,0.130,0.122,0.235,0.421,0.157,
+0.155,0.365,0.181,0.116,0.113,0.202,0.248,0.014,0.125,0.274,
+0.451,0.281,0.310,0.862,0.583,0.257,0.185,0.377,0.207,0.105,
+0.095,0.158,0.220,0.012,0.055,0.130,0.261,0.159,0.110,0.265,
+0.233,0.112,0.078,0.145,0.112,0.059,0.051,0.080,0.099,5.18e-3,
+0.044,0.080,0.099,0.070,0.059,0.137,0.121,0.085,0.055,0.121,
+6.68e-3,4.35e-3,5.01e-3,9.61e-3,0.059,3.68e-3,0.026,0.057,0.069,0.063,
+0.056,0.126,0.186,0.083,0.080,0.184,0.110,0.061,0.059,0.118,
+0.089,6.35e-3,0.049,0.094,0.138,0.084,0.097,0.292,0.281,0.129,
+0.066,0.147,0.118,0.062,0.047,0.070,0.089,5.26e-3,0.032,0.066,
+0.104,0.083,0.047,0.125,0.156,0.082,0.040,0.071,0.077,0.033,
+0.031,0.041,0.060,3.51e-3,0.025,0.049,0.066,0.047,0.035,0.067,
+0.101,0.071,0.037,0.069,3.68e-3,2.84e-3,2.26e-3,3.09e-3,0.056,3.26e-3,
+0.025,0.050,0.057,0.051,0.037,0.081,0.116,0.064,0.050,0.096,
+0.070,0.048,0.038,0.059,0.067,3.51e-3,0.033,0.065,0.083,0.063,
+0.053,0.146,0.212,0.112,0.071,0.129,0.102,0.055,0.055,0.085,
+0.085,6.02e-3,0.043,0.067,0.103,0.074,0.070,0.150,8.61e-3,6.77e-3,
+3.01e-3,8.36e-3,4.09e-3,4.26e-3,2.84e-3,4.60e-3,4.43e-3,1.67e-4,2.84e-3,4.35e-3,
+6.60e-3,5.85e-3,5.18e-3,0.011,0.108,0.084,0.052,0.092,4.18e-3,2.09e-3,
+2.51e-3,4.60e-3,0.047,2.42e-3,0.032,0.043,0.056,0.056,0.055,0.095,
+0.102,0.077,0.056,0.107,0.078,0.052,0.059,0.082,0.076,4.35e-3,
+0.081,0.093,0.085,0.066,0.089,0.218,0.245,0.104,0.081,0.153,
+0.107,0.057,0.052,0.076,0.090,5.43e-3,0.035,0.066,0.131,0.088,
+0.070,0.166,0.149,0.091,0.059,0.096,0.089,0.058,0.049,0.064,
+0.062,2.34e-3,0.038,0.065,0.086,0.064,0.056,0.113,0.097,0.065,
+0.059,0.106,5.01e-3,3.51e-3,3.43e-3,6.52e-3,0.059,3.59e-3,0.033,0.064,
+0.070,0.061,0.067,0.121,0.149,0.070,0.069,0.160,0.089,0.063,
+0.052,0.102,0.104,6.10e-3,0.068,0.138,0.171,0.125,0.153,0.416,
+0.422,0.193,0.136,0.298,0.142,0.083,0.062,0.117,0.153,0.011,
+0.068,0.134,0.290,0.164,0.109,0.216,0.221,0.107,0.074,0.164,
+0.087,0.054,0.065,0.073,0.099,5.85e-3,0.060,0.082,0.136,0.109,
+0.092,0.153,0.134,0.099,0.076,0.141,8.77e-3,0.010,7.10e-3,0.015,
+0.073,0.011,0.037,0.072,0.091,0.167,0.094,0.126,0.243,0.114,
+0.102,0.248,0.133,0.099,0.090,0.165,0.120,8.44e-3,0.064,0.138,
+0.207,0.155,0.179,0.476,0.018,0.013,6.18e-3,0.011,7.69e-3,6.35e-3,
+4.51e-3,8.11e-3,9.44e-3,6.68e-4,4.35e-3,6.60e-3,0.013,0.010,6.85e-3,0.014,
+0.014,6.68e-3,4.68e-3,8.52e-3,7.52e-3,4.35e-3,3.84e-3,5.01e-3,6.02e-3,8.36e-4,
+5.35e-3,5.52e-3,0.011,7.10e-3,6.52e-3,9.28e-3,7.44e-3,8.52e-3,3.59e-3,8.69e-3,
+3.34e-4,5.01e-4,1.67e-4,6.68e-4,5.68e-3,6.68e-4,3.09e-3,6.35e-3,7.52e-3,9.28e-3,
+5.52e-3,8.61e-3,0.023,0.012,0.011,0.024,0.014,0.013,8.77e-3,0.019,
+0.011,9.19e-4,5.77e-3,0.014,0.016,0.013,0.012,0.034,0.199,0.111,
+0.063,0.096,0.079,0.051,0.048,0.076,0.137,0.011,0.050,0.076,
+0.121,0.084,0.089,0.133,0.011,7.94e-3,3.43e-3,5.43e-3,4.18e-3,3.26e-3,
+3.09e-3,3.09e-3,6.27e-3,5.01e-4,2.76e-3,5.77e-3,0.012,8.44e-3,8.94e-3,0.011,
+0.087,0.073,0.054,0.081,3.34e-3,2.67e-3,2.92e-3,6.27e-3,0.058,4.35e-3,
+0.033,0.042,0.052,0.053,0.054,0.078,0.104,0.059,0.054,0.099,
+0.076,0.055,0.050,0.080,0.092,8.02e-3,0.062,0.092,0.104,0.080,
+0.088,0.190,0.224,0.099,0.068,0.138,0.088,0.051,0.051,0.070,
+0.099,8.61e-3,0.067,0.095,0.153,0.104,0.160,0.194,0.185,0.111,
+0.061,0.109,0.085,0.061,0.047,0.062,0.088,3.18e-3,0.050,0.081,
+0.120,0.105,0.086,0.133,0.123,0.087,0.059,0.135,6.85e-3,5.35e-3,
+4.76e-3,7.94e-3,0.072,5.43e-3,0.049,0.083,0.084,0.099,0.105,0.142,
+0.212,0.099,0.093,0.192,0.119,0.080,0.066,0.125,0.143,0.010,
+0.091,0.174,0.215,0.162,0.179,0.415,0.616,0.260,0.204,0.455,
+0.200,0.113,0.100,0.151,0.216,0.014,0.087,0.162,0.416,0.208,
+0.168,0.406,0.232,0.104,0.083,0.158,0.107,0.054,0.064,0.079,
+0.150,6.27e-3,0.064,0.107,0.149,0.088,0.083,0.187,0.200,0.104,
+0.091,0.212,0.011,7.60e-3,7.69e-3,0.020,0.112,6.43e-3,0.059,0.112,
+0.122,0.105,0.090,0.199,0.391,0.151,0.174,0.465,0.186,0.106,
+0.144,0.231,0.193,9.44e-3,0.104,0.192,0.317,0.189,0.218,0.621,
+0.305,0.149,0.089,0.195,0.126,0.074,0.059,0.093,0.143,7.60e-3,
+0.063,0.108,0.172,0.124,0.076,0.199,0.165,0.089,0.051,0.096,
+0.080,0.047,0.038,0.059,0.095,4.93e-3,0.061,0.083,0.102,0.074,
+0.055,0.113,0.129,0.100,0.057,0.128,6.02e-3,7.94e-3,3.59e-3,7.85e-3,
+0.095,5.93e-3,0.048,0.086,0.094,0.084,0.088,0.140,0.248,0.109,
+0.094,0.228,0.135,0.102,0.087,0.157,0.138,7.52e-3,0.068,0.138,
+0.182,0.126,0.119,0.313,0.227,0.103,0.081,0.146,0.143,0.068,
+0.063,0.104,0.135,0.011,0.065,0.108,0.155,0.110,0.104,0.213,
+0.012,7.10e-3,4.18e-3,9.61e-3,5.68e-3,4.68e-3,2.34e-3,6.10e-3,6.10e-3,5.85e-4,
+4.76e-3,6.68e-3,0.011,0.010,7.10e-3,0.014,0.112,0.082,0.058,0.118,
+5.93e-3,3.18e-3,2.42e-3,7.10e-3,0.080,4.85e-3,0.049,0.072,0.092,0.081,
+0.077,0.141,0.147,0.077,0.077,0.142,0.129,0.076,0.079,0.145,
+0.147,7.27e-3,0.092,0.153,0.171,0.123,0.155,0.308,0.462,0.184,
+0.138,0.306,0.169,0.105,0.092,0.135,0.196,0.017,0.098,0.178,
+0.317,0.184,0.171,0.471,0.264,0.172,0.093,0.160,0.121,0.082,
+0.067,0.092,0.139,8.77e-3,0.080,0.148,0.181,0.143,0.106,0.236,
+0.232,0.148,0.120,0.298,0.011,7.77e-3,5.68e-3,0.014,0.175,9.53e-3,
+0.098,0.178,0.202,0.169,0.168,0.303,0.556,0.206,0.213,0.569,
+0.257,0.179,0.156,0.306,0.375,0.016,0.230,0.448,0.714,0.419,
+0.474,1.130,0.547,0.292,0.279,0.504,0.242,0.124,0.118,0.189,
+0.202,0.016,0.090,0.170,0.405,0.262,0.146,0.345,0.234,0.127,
+0.110,0.145,0.127,0.070,0.064,0.081,0.110,5.52e-3,0.058,0.082,
+0.119,0.092,0.078,0.143,0.145,0.090,0.070,0.142,8.11e-3,5.68e-3,
+5.43e-3,0.018,0.070,5.26e-3,0.035,0.061,0.081,0.075,0.060,0.122,
+0.206,0.112,0.090,0.236,0.138,0.082,0.089,0.224,0.107,7.19e-3,
+0.065,0.102,0.178,0.110,0.109,0.282,0.284,0.140,0.110,0.163,
+0.126,0.072,0.059,0.082,0.099,8.69e-3,0.080,0.086,0.118,0.104,
+0.061,0.138,0.162,0.082,0.068,0.087,0.081,0.051,0.043,0.052,
+0.070,3.84e-3,0.059,0.061,0.071,0.063,0.047,0.083,0.083,0.063,
+0.056,0.086,4.26e-3,3.34e-3,2.67e-3,6.10e-3,0.066,4.18e-3,0.029,0.056,
+0.057,0.059,0.044,0.070,0.102,0.063,0.041,0.087,0.073,0.052,
+0.043,0.072,0.075,4.43e-3,0.042,0.072,0.085,0.068,0.064,0.143,
+0.173,0.072,0.059,0.104,0.094,0.048,0.041,0.075,0.079,6.43e-3,
+0.033,0.058,0.105,0.073,0.055,0.138,7.60e-3,4.43e-3,3.84e-3,6.85e-3,
+5.10e-3,3.34e-3,1.84e-3,4.85e-3,4.51e-3,3.34e-4,2.92e-3,5.10e-3,6.85e-3,7.27e-3,
+5.68e-3,0.011,0.086,0.044,0.043,0.066,4.60e-3,1.34e-3,2.09e-3,5.68e-3,
+0.053,3.84e-3,0.026,0.042,0.048,0.044,0.048,0.075,0.071,0.039,
+0.044,0.079,0.062,0.040,0.037,0.061,0.064,3.76e-3,0.044,0.075,
+0.081,0.067,0.077,0.157,0.244,0.095,0.066,0.141,0.089,0.045,
+0.041,0.068,0.120,9.86e-3,0.035,0.066,0.190,0.098,0.071,0.182,
+0.149,0.077,0.058,0.093,0.078,0.050,0.042,0.058,0.069,4.35e-3,
+0.043,0.066,0.088,0.074,0.056,0.115,0.081,0.050,0.049,0.084,
+4.01e-3,2.67e-3,2.26e-3,6.94e-3,0.052,2.76e-3,0.032,0.056,0.057,0.055,
+0.052,0.108,0.132,0.059,0.063,0.134,0.070,0.050,0.052,0.082,
+0.092,6.43e-3,0.065,0.112,0.158,0.121,0.124,0.337,0.369,0.166,
+0.147,0.248,0.151,0.088,0.068,0.101,0.088,6.43e-3,0.037,0.074,
+0.136,0.097,0.079,0.151,0.170,0.090,0.071,0.118,0.092,0.074,
+0.052,0.075,0.057,4.68e-3,0.036,0.052,0.059,0.051,0.047,0.091,
+0.074,0.054,0.037,0.075,3.26e-3,4.18e-3,2.34e-3,6.85e-3,0.038,2.51e-3,
+0.019,0.032,0.038,0.037,0.035,0.070,0.106,0.051,0.049,0.133,
+0.072,0.047,0.041,0.081,0.055,3.26e-3,0.035,0.059,0.080,0.059,
+0.062,0.160,0.206,0.103,0.056,0.100,0.103,0.092,0.041,0.055,
+0.071,6.60e-3,0.028,0.047,0.070,0.060,0.038,0.088,0.146,0.088,
+0.053,0.078,0.102,0.061,0.048,0.060,0.058,4.85e-3,0.033,0.052,
+0.058,0.061,0.037,0.073,0.062,0.057,0.028,0.050,3.34e-3,2.67e-3,
+1.09e-3,3.68e-3,0.034,2.42e-3,0.019,0.034,0.028,0.042,0.029,0.056,
+0.079,0.058,0.030,0.071,0.058,0.055,0.023,0.045,0.054,2.84e-3,
+0.028,0.047,0.052,0.050,0.045,0.107,0.141,0.065,0.045,0.094,
+0.081,0.044,0.044,0.079,0.056,3.68e-3,0.028,0.041,0.071,0.050,
+0.045,0.104,5.77e-3,3.76e-3,2.67e-3,5.35e-3,3.84e-3,5.77e-3,2.84e-3,4.68e-3,
+2.42e-3,3.34e-4,2.17e-3,2.67e-3,4.85e-3,4.93e-3,2.17e-3,6.43e-3,0.095,0.050,
+0.037,0.066,4.09e-3,2.59e-3,2.51e-3,4.09e-3,0.041,2.76e-3,0.029,0.033,
+0.040,0.042,0.045,0.065,0.068,0.037,0.041,0.073,0.060,0.045,
+0.043,0.063,0.056,3.43e-3,0.067,0.065,0.066,0.052,0.076,0.134,
+0.155,0.068,0.051,0.098,0.067,0.038,0.033,0.052,0.054,2.59e-3,
+0.026,0.039,0.082,0.054,0.051,0.100,0.094,0.059,0.041,0.072,
+0.062,0.052,0.036,0.057,0.040,2.09e-3,0.029,0.042,0.048,0.048,
+0.045,0.078,0.066,0.044,0.037,0.065,3.34e-3,2.34e-3,1.59e-3,3.18e-3,
+0.037,3.09e-3,0.023,0.041,0.041,0.041,0.044,0.079,0.098,0.044,
+0.044,0.090,0.057,0.044,0.038,0.068,0.060,3.84e-3,0.052,0.074,
+0.107,0.095,0.098,0.218,0.239,0.129,0.121,0.196,0.087,0.054,
+0.042,0.072,0.090,6.02e-3,0.044,0.080,0.122,0.087,0.068,0.128,
+0.123,0.070,0.054,0.096,0.065,0.045,0.035,0.047,0.064,5.18e-3,
+0.064,0.059,0.070,0.060,0.043,0.086,0.071,0.060,0.042,0.087,
+5.52e-3,4.01e-3,3.09e-3,9.19e-3,0.069,3.59e-3,0.022,0.042,0.044,0.050,
+0.034,0.066,0.117,0.062,0.049,0.132,0.073,0.047,0.048,0.092,
+0.073,5.01e-3,0.041,0.085,0.111,0.077,0.081,0.236,8.52e-3,4.93e-3,
+3.51e-3,6.18e-3,4.51e-3,3.51e-3,2.84e-3,3.34e-3,2.34e-3,3.34e-4,1.84e-3,2.84e-3,
+5.68e-3,5.01e-3,3.34e-3,7.52e-3,6.35e-3,3.68e-3,3.01e-3,3.26e-3,4.76e-3,7.44e-3,
+2.67e-3,3.26e-3,4.09e-3,5.85e-4,4.09e-3,3.18e-3,3.59e-3,4.35e-3,2.51e-3,5.52e-3,
+2.67e-3,2.92e-3,2.17e-3,2.67e-3,1.67e-4,4.18e-4,2.51e-4,4.18e-4,4.01e-3,4.18e-4,
+1.92e-3,2.26e-3,2.51e-3,2.84e-3,1.75e-3,4.85e-3,7.94e-3,4.76e-3,3.26e-3,0.010,
+6.43e-3,3.93e-3,4.35e-3,7.52e-3,4.93e-3,1.09e-3,1.92e-3,6.18e-3,6.18e-3,5.77e-3,
+4.51e-3,0.013,0.133,0.083,0.058,0.095,0.073,0.048,0.039,0.066,
+0.075,7.35e-3,0.036,0.062,0.074,0.063,0.061,0.168,6.94e-3,4.93e-3,
+3.26e-3,4.60e-3,3.09e-3,3.18e-3,2.17e-3,2.67e-3,2.59e-3,2.51e-4,3.59e-3,4.09e-3,
+5.93e-3,5.93e-3,4.18e-3,9.86e-3,0.067,0.050,0.034,0.062,5.43e-3,3.34e-3,
+2.67e-3,4.09e-3,0.043,4.09e-3,0.025,0.034,0.036,0.040,0.049,0.063,
+0.075,0.046,0.039,0.069,0.058,0.045,0.045,0.066,0.072,4.93e-3,
+0.049,0.076,0.074,0.062,0.077,0.161,0.135,0.069,0.049,0.100,
+0.061,0.042,0.027,0.045,0.067,6.10e-3,0.038,0.059,0.096,0.064,
+0.058,0.149,0.127,0.081,0.050,0.076,0.059,0.045,0.034,0.046,
+0.066,4.76e-3,0.042,0.067,0.080,0.075,0.055,0.104,0.080,0.056,
+0.042,0.086,5.18e-3,2.92e-3,2.17e-3,5.77e-3,0.058,4.18e-3,0.033,0.061,
+0.062,0.065,0.063,0.106,0.115,0.058,0.055,0.123,0.069,0.048,
+0.042,0.085,0.105,7.60e-3,0.073,0.115,0.168,0.126,0.137,0.286,
+0.280,0.118,0.106,0.205,0.102,0.050,0.048,0.090,0.101,8.36e-3,
+0.047,0.090,0.182,0.090,0.068,0.181,0.122,0.058,0.045,0.076,
+0.061,0.036,0.030,0.052,0.065,3.59e-3,0.035,0.058,0.075,0.045,
+0.037,0.096,0.078,0.054,0.044,0.092,4.35e-3,2.42e-3,3.09e-3,7.60e-3,
+0.057,2.84e-3,0.034,0.054,0.049,0.046,0.040,0.091,0.146,0.062,
+0.068,0.166,0.091,0.046,0.053,0.122,0.082,4.51e-3,0.069,0.105,
+0.142,0.075,0.094,0.284,0.179,0.084,0.055,0.119,0.079,0.052,
+0.040,0.059,0.073,5.68e-3,0.039,0.070,0.093,0.067,0.045,0.116,
+0.105,0.057,0.034,0.059,0.064,0.053,0.029,0.052,0.058,3.18e-3,
+0.037,0.053,0.063,0.054,0.038,0.085,0.060,0.047,0.033,0.066,
+2.09e-3,3.34e-3,1.59e-3,4.26e-3,0.053,2.76e-3,0.028,0.058,0.052,0.052,
+0.040,0.084,0.098,0.052,0.051,0.118,0.074,0.047,0.049,0.147,
+0.067,3.76e-3,0.045,0.106,0.100,0.063,0.070,0.191,0.154,0.059,
+0.048,0.127,0.198,0.056,0.044,0.086,0.077,7.10e-3,0.039,0.063,
+0.086,0.061,0.056,0.152,7.35e-3,4.26e-3,2.17e-3,7.10e-3,8.36e-3,3.76e-3,
+2.26e-3,4.43e-3,3.68e-3,8.36e-5,2.42e-3,4.68e-3,4.85e-3,3.76e-3,3.18e-3,9.28e-3,
+0.064,0.040,0.036,0.064,7.02e-3,1.67e-3,1.50e-3,6.02e-3,0.051,3.68e-3,
+0.030,0.048,0.047,0.048,0.043,0.084,0.085,0.041,0.045,0.081,
+0.090,0.045,0.043,0.083,0.125,7.27e-3,0.066,0.130,0.101,0.074,
+0.102,0.202,0.210,0.080,0.064,0.142,0.094,0.048,0.038,0.060,
+0.092,8.11e-3,0.041,0.085,0.136,0.078,0.061,0.176,0.177,0.106,
+0.054,0.087,0.076,0.048,0.036,0.058,0.057,3.93e-3,0.049,0.076,
+0.082,0.069,0.051,0.167,0.102,0.070,0.057,0.126,4.18e-3,4.43e-3,
+2.17e-3,8.11e-3,0.079,4.68e-3,0.045,0.089,0.085,0.089,0.083,0.170,
+0.202,0.087,0.091,0.199,0.105,0.087,0.081,0.228,0.167,9.69e-3,
+0.123,0.227,0.293,0.282,0.252,0.566,0.464,0.216,0.192,0.417,
+0.204,0.110,0.088,0.158,0.190,0.015,0.070,0.143,0.264,0.191,
+0.106,0.248,0.158,0.082,0.064,0.111,0.096,0.050,0.043,0.069,
+0.080,5.01e-3,0.039,0.066,0.095,0.078,0.057,0.112,0.147,0.072,
+0.061,0.166,8.19e-3,5.01e-3,3.34e-3,0.013,0.091,5.43e-3,0.032,0.075,
+0.087,0.060,0.057,0.132,0.199,0.079,0.060,0.160,0.105,0.059,
+0.052,0.118,0.081,4.68e-3,0.042,0.077,0.138,0.064,0.083,0.206,
+0.287,0.126,0.081,0.160,0.142,0.074,0.059,0.084,0.107,6.77e-3,
+0.033,0.076,0.115,0.089,0.054,0.136,0.133,0.069,0.047,0.074,
+0.079,0.045,0.037,0.051,0.068,4.01e-3,0.032,0.059,0.067,0.045,
+0.040,0.074,0.094,0.070,0.041,0.094,6.10e-3,5.10e-3,1.75e-3,6.94e-3,
+0.062,4.18e-3,0.032,0.099,0.055,0.057,0.048,0.111,0.125,0.064,
+0.040,0.093,0.101,0.075,0.047,0.093,0.069,4.35e-3,0.038,0.083,
+0.105,0.070,0.069,0.191,0.162,0.072,0.059,0.131,0.112,0.061,
+0.052,0.086,0.080,7.19e-3,0.055,0.065,0.107,0.082,0.064,0.152,
+7.85e-3,7.44e-3,4.35e-3,8.02e-3,7.69e-3,5.52e-3,4.09e-3,6.52e-3,5.85e-3,3.34e-4,
+3.84e-3,6.68e-3,0.011,0.011,6.94e-3,0.013,0.072,0.043,0.044,0.074,
+4.76e-3,2.76e-3,2.51e-3,6.85e-3,0.043,2.09e-3,0.025,0.042,0.051,0.042,
+0.047,0.077,0.079,0.042,0.035,0.076,0.086,0.057,0.047,0.081,
+0.074,5.18e-3,0.039,0.071,0.133,0.067,0.077,0.156,0.202,0.087,
+0.070,0.181,0.087,0.046,0.048,0.077,0.082,6.52e-3,0.045,0.072,
+0.133,0.092,0.070,0.179,0.116,0.073,0.055,0.098,0.069,0.050,
+0.045,0.062,0.071,4.18e-3,0.044,0.062,0.100,0.080,0.063,0.121,
+0.103,0.067,0.053,0.109,5.26e-3,3.34e-3,3.59e-3,7.60e-3,0.062,3.34e-3,
+0.038,0.067,0.073,0.073,0.082,0.129,0.155,0.070,0.070,0.172,
+0.089,0.054,0.060,0.108,0.126,6.77e-3,0.081,0.131,0.245,0.140,
+0.166,0.388,0.016,0.010,6.68e-3,0.010,8.86e-3,3.84e-3,3.43e-3,7.19e-3,
+5.68e-3,4.18e-4,2.17e-3,4.93e-3,7.85e-3,7.52e-3,3.34e-3,8.52e-3,8.02e-3,4.18e-3,
+3.76e-3,4.60e-3,4.51e-3,3.84e-3,3.09e-3,4.76e-3,2.67e-3,8.36e-4,1.67e-3,3.68e-3,
+3.26e-3,3.51e-3,2.59e-3,6.60e-3,4.60e-3,3.59e-3,1.92e-3,3.84e-3,8.36e-5,5.01e-4,
+3.34e-4,1.67e-4,3.09e-3,2.51e-4,1.09e-3,3.43e-3,2.51e-3,1.84e-3,2.42e-3,6.85e-3,
+7.35e-3,3.26e-3,3.18e-3,7.10e-3,5.85e-3,3.84e-3,2.84e-3,5.68e-3,3.51e-3,3.34e-4,
+2.59e-3,3.34e-3,4.51e-3,4.68e-3,4.26e-3,0.012,9.61e-3,5.43e-3,2.67e-3,4.93e-3,
+7.27e-3,4.60e-3,2.59e-3,3.59e-3,3.26e-3,1.67e-4,1.59e-3,2.67e-3,4.43e-3,3.01e-3,
+2.09e-3,4.26e-3,7.35e-3,4.26e-3,1.67e-3,3.43e-3,4.51e-3,3.43e-3,2.01e-3,4.09e-3,
+2.59e-3,3.34e-4,2.01e-3,3.09e-3,3.51e-3,2.17e-3,1.59e-3,4.35e-3,3.84e-3,3.68e-3,
+1.42e-3,4.43e-3,1.67e-4,4.18e-4,0,3.34e-4,2.76e-3,5.85e-4,1.50e-3,4.85e-3,
+2.67e-3,3.09e-3,3.59e-3,5.10e-3,8.19e-3,3.93e-3,2.67e-3,4.68e-3,4.09e-3,4.93e-3,
+2.09e-3,5.01e-3,3.76e-3,5.01e-4,1.84e-3,3.84e-3,4.93e-3,4.26e-3,5.18e-3,9.78e-3,
+6.02e-3,3.26e-3,2.84e-3,3.93e-3,3.93e-3,2.59e-3,2.59e-3,4.26e-3,3.34e-3,3.34e-4,
+4.18e-3,2.42e-3,3.18e-3,2.92e-3,2.76e-3,5.60e-3,2.51e-4,8.36e-5,1.67e-4,1.67e-4,
+2.51e-4,0,2.51e-4,3.34e-4,8.36e-5,0,4.18e-4,3.34e-4,1.67e-4,3.34e-4,
+1.67e-4,4.18e-4,4.43e-3,2.34e-3,2.59e-3,4.85e-3,2.51e-4,2.51e-4,3.34e-4,4.18e-4,
+1.34e-3,1.67e-4,1.34e-3,1.92e-3,2.92e-3,2.84e-3,2.51e-3,5.52e-3,4.18e-3,2.26e-3,
+2.51e-3,4.09e-3,3.51e-3,3.01e-3,3.26e-3,3.93e-3,3.51e-3,5.01e-4,2.42e-3,3.93e-3,
+5.18e-3,3.18e-3,3.84e-3,0.011,0.012,7.27e-3,4.60e-3,0.012,5.93e-3,2.92e-3,
+3.34e-3,5.10e-3,3.18e-3,2.51e-4,3.34e-3,4.43e-3,7.60e-3,7.44e-3,5.43e-3,0.010,
+7.60e-3,5.35e-3,3.76e-3,8.69e-3,6.52e-3,5.01e-3,4.35e-3,6.52e-3,4.35e-3,2.51e-4,
+2.51e-3,3.18e-3,5.18e-3,5.26e-3,5.68e-3,8.11e-3,5.01e-3,4.18e-3,3.93e-3,7.94e-3,
+5.01e-4,5.01e-4,3.34e-4,3.34e-4,3.01e-3,1.67e-4,2.26e-3,3.09e-3,4.43e-3,3.59e-3,
+9.69e-3,7.52e-3,9.86e-3,4.18e-3,4.85e-3,0.010,8.19e-3,4.60e-3,3.76e-3,7.52e-3,
+5.52e-3,5.01e-4,4.51e-3,7.60e-3,0.010,0.011,0.011,0.030,0.233,0.121,
+0.115,0.183,0.098,0.070,0.045,0.085,0.084,6.43e-3,0.054,0.075,
+0.095,0.065,0.048,0.116,0.141,0.069,0.044,0.076,0.079,0.050,
+0.040,0.054,0.065,4.01e-3,0.045,0.063,0.067,0.060,0.040,0.096,
+0.087,0.062,0.041,0.090,6.77e-3,5.93e-3,3.34e-3,0.012,0.056,5.01e-3,
+0.030,0.058,0.053,0.055,0.040,0.094,0.113,0.058,0.040,0.093,
+0.077,0.054,0.043,0.081,0.071,5.18e-3,0.041,0.084,0.109,0.068,
+0.073,0.226,9.11e-3,5.26e-3,3.01e-3,6.43e-3,4.85e-3,4.26e-3,1.67e-3,4.60e-3,
+4.51e-3,7.52e-4,2.01e-3,2.34e-3,5.01e-3,4.26e-3,3.43e-3,5.85e-3,5.60e-3,3.93e-3,
+1.25e-3,3.18e-3,4.60e-3,3.01e-3,1.67e-3,2.34e-3,2.59e-3,8.36e-5,1.67e-3,3.26e-3,
+3.68e-3,2.09e-3,1.84e-3,4.85e-3,3.84e-3,2.76e-3,2.51e-3,4.85e-3,5.01e-4,5.01e-4,
+1.67e-4,2.51e-4,3.43e-3,2.51e-4,2.26e-3,3.18e-3,2.26e-3,3.18e-3,3.43e-3,4.01e-3,
+8.94e-3,3.34e-3,3.84e-3,8.11e-3,6.94e-3,4.85e-3,3.51e-3,6.60e-3,4.43e-3,7.52e-4,
+2.67e-3,7.10e-3,7.27e-3,4.18e-3,4.09e-3,0.014,0.138,0.072,0.043,0.073,
+0.074,0.050,0.047,0.060,0.060,5.18e-3,0.041,0.065,0.059,0.052,
+0.056,0.104,5.85e-3,3.51e-3,2.17e-3,3.26e-3,4.51e-3,3.26e-3,2.76e-3,4.01e-3,
+4.18e-3,2.51e-4,3.59e-3,4.60e-3,4.76e-3,4.35e-3,4.18e-3,7.85e-3,0.098,0.063,
+0.057,0.102,5.93e-3,2.76e-3,5.18e-3,6.52e-3,0.075,6.18e-3,0.037,0.063,
+0.052,0.043,0.052,0.086,0.076,0.038,0.037,0.059,0.067,0.046,
+0.033,0.060,0.064,4.26e-3,0.057,0.082,0.067,0.054,0.074,0.134,
+0.131,0.066,0.046,0.099,0.065,0.040,0.032,0.049,0.056,3.93e-3,
+0.041,0.066,0.074,0.055,0.050,0.109,0.101,0.065,0.041,0.075,
+0.065,0.049,0.038,0.051,0.046,3.34e-3,0.042,0.062,0.062,0.062,
+0.048,0.087,0.098,0.067,0.061,0.150,5.52e-3,4.09e-3,3.76e-3,9.28e-3,
+0.072,5.68e-3,0.057,0.089,0.077,0.076,0.076,0.124,0.122,0.075,
+0.052,0.122,0.079,0.059,0.044,0.073,0.106,6.60e-3,0.093,0.134,
+0.138,0.110,0.136,0.257,0.304,0.125,0.094,0.203,0.111,0.056,
+0.058,0.090,0.100,7.19e-3,0.043,0.073,0.152,0.086,0.058,0.154,
+0.138,0.056,0.045,0.076,0.068,0.033,0.033,0.056,0.052,2.59e-3,
+0.037,0.058,0.070,0.042,0.037,0.091,0.138,0.057,0.039,0.089,
+6.52e-3,3.51e-3,2.01e-3,8.86e-3,0.072,5.43e-3,0.032,0.079,0.082,0.059,
+0.044,0.113,0.138,0.059,0.052,0.121,0.090,0.043,0.044,0.098,
+0.074,3.59e-3,0.039,0.080,0.121,0.069,0.076,0.241,0.195,0.091,
+0.057,0.119,0.091,0.054,0.048,0.074,0.069,4.01e-3,0.033,0.065,
+0.088,0.070,0.042,0.115,0.105,0.059,0.032,0.061,0.065,0.038,
+0.029,0.048,0.049,2.92e-3,0.032,0.050,0.047,0.041,0.030,0.073,
+0.075,0.051,0.032,0.075,3.51e-3,2.84e-3,2.09e-3,4.35e-3,0.064,4.09e-3,
+0.033,0.075,0.054,0.052,0.042,0.098,0.117,0.055,0.044,0.106,
+0.078,0.054,0.043,0.089,0.074,3.51e-3,0.039,0.093,0.091,0.072,
+0.067,0.188,0.182,0.072,0.055,0.101,0.095,0.047,0.053,0.088,
+0.082,6.02e-3,0.056,0.072,0.087,0.073,0.089,0.155,7.19e-3,4.01e-3,
+2.26e-3,5.35e-3,3.93e-3,3.84e-3,2.42e-3,4.68e-3,3.76e-3,5.01e-4,2.51e-3,5.52e-3,
+6.35e-3,4.51e-3,3.68e-3,7.19e-3,0.103,0.065,0.051,0.100,5.01e-3,3.26e-3,
+3.43e-3,6.43e-3,0.077,4.18e-3,0.051,0.079,0.069,0.064,0.064,0.120,
+0.103,0.056,0.070,0.092,0.097,0.059,0.061,0.092,0.083,4.85e-3,
+0.070,0.129,0.099,0.074,0.102,0.213,0.234,0.083,0.062,0.139,
+0.085,0.044,0.040,0.064,0.087,7.02e-3,0.049,0.085,0.119,0.071,
+0.067,0.174,0.105,0.055,0.041,0.075,0.065,0.041,0.037,0.057,
+0.049,2.67e-3,0.038,0.065,0.064,0.051,0.046,0.096,0.123,0.089,
+0.077,0.148,4.68e-3,3.43e-3,2.59e-3,0.011,0.104,6.77e-3,0.074,0.134,
+0.113,0.094,0.102,0.199,0.216,0.086,0.080,0.173,0.103,0.077,
+0.071,0.133,0.147,7.27e-3,0.117,0.230,0.223,0.145,0.205,0.447,
+1.240,0.377,0.269,0.738,0.255,0.125,0.110,0.219,0.194,0.015,
+0.078,0.158,0.379,0.270,0.136,0.376,0.176,0.088,0.058,0.111,
+0.085,0.039,0.035,0.061,0.079,4.18e-3,0.041,0.076,0.117,0.108,
+0.057,0.121,0.125,0.073,0.050,0.129,6.77e-3,5.18e-3,3.68e-3,0.013,
+0.074,3.68e-3,0.029,0.065,0.071,0.059,0.044,0.124,0.217,0.094,
+0.073,0.188,0.119,0.071,0.066,0.145,0.087,5.18e-3,0.045,0.093,
+0.181,0.102,0.099,0.301,0.215,0.098,0.053,0.121,0.082,0.039,
+0.029,0.045,0.054,2.67e-3,0.021,0.040,0.079,0.052,0.031,0.086,
+0.082,0.044,0.023,0.049,0.039,0.024,0.017,0.030,0.037,1.25e-3,
+0.016,0.027,0.048,0.031,0.018,0.048,0.061,0.036,0.025,0.053,
+2.76e-3,2.42e-3,1.09e-3,3.68e-3,0.050,1.09e-3,0.016,0.035,0.048,0.040,
+0.033,0.063,0.074,0.044,0.028,0.060,0.052,0.034,0.022,0.048,
+0.045,2.59e-3,0.019,0.043,0.063,0.041,0.042,0.128,0.150,0.051,
+0.052,0.102,0.073,0.030,0.029,0.064,0.060,5.18e-3,0.029,0.044,
+0.095,0.069,0.042,0.150,7.02e-3,3.18e-3,2.26e-3,5.35e-3,4.09e-3,1.42e-3,
+1.34e-3,3.59e-3,2.84e-3,1.67e-4,1.75e-3,3.01e-3,9.11e-3,7.10e-3,4.01e-3,0.011,
+0.060,0.037,0.050,0.056,3.76e-3,1.75e-3,2.26e-3,5.18e-3,0.035,1.84e-3,
+0.019,0.034,0.043,0.034,0.037,0.067,0.068,0.031,0.036,0.064,
+0.053,0.031,0.029,0.062,0.047,2.59e-3,0.028,0.061,0.087,0.052,
+0.063,0.159,0.225,0.083,0.075,0.163,0.073,0.043,0.040,0.068,
+0.084,5.52e-3,0.046,0.076,0.164,0.109,0.068,0.196,0.099,0.049,
+0.045,0.078,0.051,0.030,0.031,0.044,0.054,2.42e-3,0.032,0.048,
+0.097,0.068,0.049,0.112,0.071,0.051,0.047,0.080,3.09e-3,3.09e-3,
+3.09e-3,5.01e-3,0.043,2.34e-3,0.030,0.047,0.059,0.054,0.056,0.106,
+0.162,0.064,0.072,0.167,0.081,0.052,0.050,0.097,0.096,4.60e-3,
+0.069,0.128,0.212,0.119,0.153,0.431,0.225,0.088,0.064,0.154,
+0.087,0.043,0.029,0.059,0.054,3.84e-3,0.021,0.043,0.079,0.065,
+0.030,0.083,0.081,0.040,0.046,0.055,0.042,0.026,0.021,0.033,
+0.029,1.34e-3,0.018,0.032,0.041,0.028,0.023,0.051,0.057,0.032,
+0.024,0.046,3.84e-3,2.01e-3,1.00e-3,3.18e-3,0.027,8.36e-4,0.013,0.024,
+0.028,0.025,0.021,0.052,0.066,0.032,0.025,0.055,0.045,0.029,
+0.022,0.043,0.029,2.17e-3,0.018,0.029,0.048,0.033,0.034,0.091,
+0.105,0.048,0.026,0.053,0.051,0.030,0.016,0.028,0.028,2.34e-3,
+0.010,0.022,0.037,0.026,0.016,0.045,0.045,0.025,0.012,0.024,
+0.032,0.037,0.013,0.022,0.014,5.85e-4,8.11e-3,0.015,0.022,0.017,
+0.012,0.029,0.039,0.024,0.013,0.034,2.01e-3,1.17e-3,9.19e-4,1.09e-3,
+0.024,2.01e-3,0.011,0.026,0.028,0.024,0.017,0.040,0.049,0.024,
+0.016,0.038,0.036,0.026,0.013,0.032,0.031,1.67e-3,0.013,0.023,
+0.039,0.037,0.028,0.086,0.079,0.033,0.027,0.051,0.036,0.020,
+0.019,0.032,0.029,2.84e-3,0.035,0.026,0.040,0.029,0.029,0.062,
+2.67e-3,9.19e-4,1.17e-3,1.92e-3,1.50e-3,1.34e-3,1.25e-3,1.67e-3,1.17e-3,8.36e-5,
+1.59e-3,1.34e-3,3.59e-3,1.25e-3,1.50e-3,3.26e-3,0.062,0.031,0.026,0.052,
+1.75e-3,6.68e-4,1.25e-3,2.51e-3,0.025,1.34e-3,0.011,0.022,0.027,0.025,
+0.023,0.046,0.049,0.022,0.020,0.040,0.036,0.020,0.020,0.040,
+0.030,2.76e-3,0.022,0.034,0.046,0.032,0.038,0.102,0.094,0.034,
+0.035,0.072,0.036,0.020,0.020,0.029,0.036,2.26e-3,0.022,0.030,
+0.054,0.039,0.029,0.078,0.054,0.029,0.022,0.039,0.029,0.023,
+0.015,0.030,0.024,9.19e-4,0.018,0.026,0.042,0.045,0.026,0.056,
+0.044,0.032,0.025,0.046,2.09e-3,1.42e-3,1.09e-3,2.76e-3,0.024,1.17e-3,
+0.016,0.028,0.028,0.029,0.042,0.065,0.066,0.030,0.030,0.071,
+0.041,0.025,0.025,0.061,0.042,2.59e-3,0.035,0.058,0.081,0.075,
+0.077,0.237,0.177,0.083,0.053,0.112,0.056,0.035,0.024,0.050,
+0.087,3.93e-3,0.040,0.045,0.099,0.049,0.032,0.066,0.078,0.043,
+0.029,0.053,0.033,0.023,0.020,0.028,0.039,2.51e-3,0.024,0.033,
+0.045,0.039,0.025,0.060,0.051,0.044,0.026,0.055,2.51e-3,3.84e-3,
+1.25e-3,5.60e-3,0.029,2.17e-3,0.019,0.033,0.031,0.031,0.023,0.055,
+0.073,0.034,0.027,0.065,0.045,0.027,0.023,0.047,0.045,3.01e-3,
+0.024,0.055,0.076,0.043,0.046,0.139,5.85e-3,3.76e-3,1.42e-3,3.18e-3,
+2.09e-3,1.34e-3,8.36e-4,2.01e-3,1.59e-3,2.51e-4,8.36e-4,1.50e-3,3.68e-3,2.09e-3,
+1.17e-3,3.84e-3,2.59e-3,1.50e-3,1.25e-3,9.19e-4,2.01e-3,1.92e-3,6.68e-4,1.67e-3,
+1.92e-3,8.36e-5,7.52e-4,1.92e-3,1.75e-3,1.84e-3,4.18e-4,3.01e-3,1.84e-3,1.50e-3,
+8.36e-4,1.34e-3,8.36e-5,2.51e-4,0,1.67e-4,1.42e-3,1.67e-4,1.92e-3,1.25e-3,
+1.50e-3,9.19e-4,1.17e-3,1.92e-3,4.26e-3,2.42e-3,1.50e-3,3.09e-3,2.76e-3,2.84e-3,
+1.42e-3,4.26e-3,2.84e-3,1.67e-4,1.00e-3,3.09e-3,4.18e-3,3.09e-3,1.42e-3,8.94e-3,
+0.089,0.037,0.029,0.052,0.040,0.024,0.022,0.039,0.032,3.34e-3,
+0.017,0.032,0.045,0.030,0.030,0.068,3.18e-3,1.67e-3,1.00e-3,2.92e-3,
+1.59e-3,1.59e-3,7.52e-4,9.19e-4,1.59e-3,8.36e-5,9.19e-4,1.50e-3,3.18e-3,2.26e-3,
+1.67e-3,2.42e-3,0.048,0.034,0.025,0.043,1.75e-3,1.59e-3,1.50e-3,3.18e-3,
+0.040,2.51e-3,0.027,0.039,0.030,0.025,0.029,0.047,0.051,0.025,
+0.025,0.043,0.035,0.027,0.022,0.038,0.042,2.42e-3,0.032,0.049,
+0.043,0.032,0.046,0.098,0.099,0.041,0.029,0.072,0.035,0.023,
+0.020,0.049,0.039,2.76e-3,0.024,0.039,0.054,0.037,0.028,0.079,
+0.059,0.033,0.023,0.040,0.033,0.021,0.018,0.025,0.030,1.59e-3,
+0.022,0.029,0.046,0.037,0.027,0.058,0.055,0.033,0.028,0.066,
+2.76e-3,2.01e-3,1.00e-3,3.01e-3,0.039,2.26e-3,0.029,0.048,0.047,0.038,
+0.040,0.079,0.080,0.032,0.031,0.067,0.037,0.027,0.024,0.039,
+0.066,3.26e-3,0.046,0.079,0.093,0.053,0.079,0.172,0.462,0.128,
+0.071,0.196,0.061,0.027,0.023,0.059,0.055,4.35e-3,0.025,0.047,
+0.079,0.061,0.035,0.106,0.052,0.025,0.014,0.025,0.021,0.014,
+7.44e-3,0.015,0.018,8.36e-4,0.013,0.019,0.025,0.017,0.013,0.035,
+0.043,0.020,0.015,0.039,2.34e-3,8.36e-4,1.17e-3,3.34e-3,0.025,2.09e-3,
+0.014,0.027,0.025,0.021,0.017,0.050,0.069,0.024,0.021,0.055,
+0.031,0.018,0.015,0.039,0.030,1.84e-3,0.016,0.037,0.061,0.032,
+0.039,0.129,0.067,0.025,0.011,0.027,0.029,0.012,7.77e-3,0.013,
+0.021,1.17e-3,7.35e-3,0.013,0.019,0.017,7.10e-3,0.020,0.025,0.013,
+6.35e-3,0.015,8.61e-3,8.44e-3,2.92e-3,6.43e-3,0.014,4.18e-4,7.10e-3,0.014,
+0.018,0.013,9.02e-3,0.023,0.020,0.011,7.10e-3,0.019,7.52e-4,5.85e-4,
+1.67e-4,1.17e-3,0.021,7.52e-4,7.69e-3,0.017,0.015,0.013,0.011,0.030,
+0.031,0.014,0.013,0.028,0.018,0.012,8.44e-3,0.022,0.020,1.42e-3,
+0.011,0.025,0.025,0.021,0.017,0.077,0.060,0.021,0.015,0.033,
+0.024,0.014,0.010,0.024,0.032,1.42e-3,0.011,0.021,0.025,0.017,
+0.014,0.041,2.67e-3,8.36e-4,5.01e-4,6.68e-4,5.85e-4,7.52e-4,5.85e-4,1.00e-3,
+8.36e-4,0,4.18e-4,9.19e-4,1.75e-3,9.19e-4,1.00e-3,2.01e-3,0.024,0.014,
+0.011,0.024,9.19e-4,4.18e-4,5.01e-4,1.34e-3,0.017,1.42e-3,0.020,0.022,
+0.021,0.017,0.020,0.039,0.032,0.014,0.013,0.029,0.020,0.012,
+0.011,0.025,0.024,8.36e-4,0.018,0.036,0.030,0.018,0.031,0.077,
+0.140,0.032,0.022,0.050,0.017,6.52e-3,7.27e-3,0.011,0.017,1.00e-3,
+9.44e-3,0.015,0.019,9.61e-3,9.28e-3,0.037,0.019,0.012,5.43e-3,8.11e-3,
+8.52e-3,3.84e-3,6.43e-3,0.011,7.60e-3,3.34e-4,5.77e-3,0.010,0.013,9.02e-3,
+8.36e-3,0.021,0.015,9.19e-3,9.11e-3,0.016,8.36e-4,5.01e-4,2.51e-4,6.68e-4,
+0.015,1.34e-3,0.013,0.026,0.017,0.011,0.017,0.034,0.058,9.02e-3,
+0.010,0.013,8.27e-3,6.27e-3,5.35e-3,0.013,0.015,9.19e-4,0.016,0.027,
+0.026,0.011,0.015,0.026
+};
+
+static double hg19_biasTable20_5_large[] = {
+0.696
+};
+
+static double hg19_biasTable21_5_large[] = {
+1.468,0.700,0.444,0.256
+};
+
+static double hg19_biasTable22_5_large[] = {
+2.247,1.423,0.953,1.366,0.955,0.743,0.538,0.610,0.779,0.085,
+0.427,0.515,0.446,0.312,0.168,0.118
+};
+
+static double hg19_biasTable23_5_large[] = {
+3.651,1.902,1.327,2.255,1.924,1.441,1.113,1.293,1.609,0.192,
+0.850,1.213,1.583,1.334,0.914,1.698,1.381,1.059,0.610,0.819,
+0.955,0.796,0.632,0.628,0.796,0.113,0.573,0.700,0.602,0.711,
+0.456,0.697,0.900,0.887,0.599,0.771,0.082,0.097,0.074,0.094,
+0.662,0.084,0.430,0.564,0.463,0.598,0.446,0.589,0.664,0.349,
+0.293,0.509,0.418,0.316,0.227,0.308,0.274,0.022,0.161,0.218,
+0.201,0.114,0.087,0.070
+};
+
+static double hg19_biasTable24_5_large[] = {
+5.836,2.881,2.156,3.969,2.628,1.798,1.402,1.858,2.284,0.233,
+1.115,1.732,2.822,2.197,1.408,2.693,2.862,1.996,1.232,1.698,
+1.901,1.411,1.253,1.265,1.666,0.200,1.215,1.419,1.283,1.431,
+0.983,1.532,1.843,1.688,1.247,1.735,0.180,0.193,0.154,0.247,
+1.259,0.159,0.866,1.162,1.032,1.363,1.002,1.513,2.174,1.138,
+1.019,2.073,1.606,1.253,0.990,1.552,1.334,0.131,0.881,1.374,
+1.690,1.181,1.304,2.728,2.153,1.362,0.781,1.272,1.445,1.174,
+0.787,0.847,1.000,0.135,0.547,0.779,0.847,0.933,0.542,0.978,
+1.363,1.148,0.580,0.770,1.047,0.820,0.670,0.659,0.913,0.165,
+0.655,0.827,0.582,0.795,0.480,0.690,0.868,0.987,0.582,0.764,
+0.099,0.146,0.106,0.108,0.841,0.137,0.589,0.788,0.553,0.911,
+0.597,0.789,0.790,0.541,0.387,0.704,0.835,0.772,0.514,0.766,
+0.659,0.068,0.443,0.686,0.626,0.590,0.546,1.064,1.421,0.813,
+0.581,0.822,1.117,0.915,0.761,0.794,0.995,0.142,0.560,0.737,
+0.750,0.750,0.589,1.000,0.092,0.108,0.057,0.075,0.093,0.131,
+0.100,0.077,0.087,0.032,0.095,0.087,0.076,0.130,0.075,0.098,
+0.702,0.776,0.560,0.643,0.078,0.097,0.080,0.086,0.672,0.103,
+0.423,0.545,0.435,0.665,0.558,0.639,0.590,0.395,0.354,0.531,
+0.673,0.614,0.498,0.630,0.614,0.064,0.463,0.634,0.504,0.475,
+0.540,0.839,1.118,0.481,0.367,0.711,0.494,0.317,0.263,0.348,
+0.511,0.048,0.244,0.391,0.623,0.414,0.316,0.703,0.611,0.433,
+0.274,0.389,0.407,0.352,0.265,0.284,0.339,0.033,0.233,0.320,
+0.317,0.333,0.226,0.375,0.330,0.283,0.207,0.295,0.023,0.022,
+0.018,0.027,0.241,0.022,0.160,0.224,0.205,0.224,0.190,0.259,
+0.313,0.143,0.128,0.233,0.148,0.105,0.084,0.123,0.139,8.90e-3,
+0.084,0.120,0.123,0.064,0.050,0.040
+};
+
+static double hg19_biasTable25_5_large[] = {
+9.768,4.202,3.383,6.453,4.190,2.532,2.103,2.806,3.847,0.372,
+1.748,2.749,5.361,3.907,2.368,4.401,4.153,2.464,1.695,2.298,
+2.573,1.657,1.465,1.552,2.294,0.226,1.427,1.711,1.980,1.941,
+1.417,2.148,3.012,2.116,1.632,2.482,0.247,0.204,0.171,0.316,
+1.743,0.172,1.104,1.484,1.595,1.829,1.454,2.108,4.216,1.890,
+1.743,3.542,2.778,1.904,1.594,2.577,2.158,0.190,1.334,2.005,
+2.995,1.848,2.031,4.001,4.752,2.594,1.592,2.612,2.963,2.024,
+1.443,1.625,2.131,0.271,1.072,1.516,1.880,1.948,1.086,1.941,
+2.867,2.131,1.150,1.529,1.950,1.353,1.185,1.188,1.951,0.301,
+1.228,1.602,1.246,1.550,0.962,1.357,1.965,1.932,1.230,1.593,
+0.214,0.216,0.173,0.203,1.920,0.255,1.194,1.595,1.199,1.791,
+1.254,1.517,1.737,1.182,0.804,1.428,1.813,1.485,1.049,1.444,
+1.486,0.137,0.943,1.400,1.420,1.244,1.245,2.284,3.093,1.436,
+1.148,1.773,2.315,1.591,1.353,1.575,2.384,0.283,0.980,1.409,
+1.910,1.661,1.178,2.276,0.226,0.197,0.119,0.181,0.218,0.213,
+0.168,0.179,0.207,0.049,0.178,0.190,0.224,0.333,0.171,0.268,
+1.378,1.248,1.144,1.312,0.149,0.136,0.163,0.186,1.330,0.186,
+0.899,1.086,0.945,1.323,1.164,1.268,1.305,0.815,0.788,1.257,
+1.599,1.266,1.161,1.498,1.421,0.158,1.054,1.412,1.340,1.262,
+1.339,2.159,3.692,1.423,1.160,2.505,1.576,0.940,0.892,1.205,
+1.852,0.179,0.807,1.284,2.692,1.665,1.208,2.847,2.317,1.543,
+1.054,1.555,1.602,1.207,1.035,1.210,1.485,0.141,0.998,1.367,
+1.619,1.644,1.099,1.877,1.476,1.264,1.115,1.511,0.132,0.108,
+0.126,0.162,1.261,0.123,0.912,1.247,1.162,1.412,1.288,1.669,
+2.227,1.223,1.119,2.242,1.354,0.974,0.970,1.460,1.860,0.146,
+1.247,1.987,2.630,2.017,2.137,4.222,3.228,1.930,1.333,2.208,
+1.832,1.425,1.044,1.203,1.284,0.152,0.664,1.049,1.406,1.353,
+0.854,1.513,2.017,1.580,1.030,1.250,1.481,1.210,1.128,1.005,
+1.088,0.168,0.934,1.017,0.765,0.968,0.701,1.026,1.070,1.172,
+0.795,1.012,0.124,0.165,0.116,0.147,0.773,0.106,0.611,0.754,
+0.621,0.874,0.696,0.982,1.144,0.667,0.582,1.019,1.141,1.031,
+0.691,0.930,0.801,0.096,0.541,0.792,0.945,0.720,0.792,1.512,
+2.029,1.553,0.746,1.144,1.469,1.441,0.824,0.845,0.936,0.144,
+0.510,0.744,0.739,0.920,0.531,0.942,1.385,1.349,0.679,0.814,
+1.079,0.746,0.757,0.704,0.930,0.205,0.681,0.870,0.549,0.876,
+0.552,0.716,0.916,1.259,0.680,0.827,0.134,0.245,0.156,0.143,
+0.945,0.203,0.666,0.872,0.564,1.194,0.744,0.888,0.732,0.593,
+0.391,0.626,0.910,1.048,0.573,0.707,0.708,0.085,0.460,0.700,
+0.580,0.632,0.553,1.017,1.292,0.832,0.580,0.824,1.188,1.095,
+0.885,0.877,0.926,0.151,0.551,0.736,0.689,0.809,0.596,0.984,
+0.094,0.142,0.078,0.099,0.122,0.213,0.155,0.108,0.104,0.064,
+0.147,0.115,0.070,0.181,0.093,0.103,0.829,0.974,0.809,0.784,
+0.129,0.162,0.144,0.116,0.863,0.180,0.630,0.733,0.513,1.039,
+0.850,0.828,0.686,0.466,0.455,0.643,0.955,1.042,0.814,0.879,
+0.816,0.099,0.645,0.841,0.614,0.667,0.777,1.120,1.186,0.664,
+0.498,0.869,0.740,0.530,0.422,0.538,0.649,0.065,0.349,0.520,
+0.793,0.622,0.471,0.986,1.029,0.946,0.603,0.821,0.830,0.908,
+0.683,0.761,0.683,0.100,0.579,0.745,0.647,1.055,0.595,0.890,
+0.655,0.694,0.571,0.724,0.061,0.077,0.059,0.075,0.574,0.071,
+0.499,0.648,0.492,0.715,0.711,0.861,0.829,0.493,0.461,0.762,
+0.661,0.588,0.466,0.674,0.743,0.070,0.545,0.861,0.906,0.874,
+0.895,1.586,2.114,1.284,0.900,1.478,1.081,0.835,0.574,0.774,
+0.993,0.103,0.504,0.720,0.945,0.820,0.540,0.981,1.541,1.312,
+0.688,0.953,1.157,0.953,0.816,0.771,1.085,0.148,0.847,0.943,
+0.708,0.965,0.584,0.899,0.953,1.135,0.882,1.011,0.119,0.149,
+0.125,0.177,0.824,0.134,0.572,0.754,0.554,0.959,0.609,0.896,
+0.928,0.616,0.510,0.970,0.852,0.758,0.581,0.843,0.827,0.090,
+0.573,0.910,0.862,0.711,0.808,1.660,0.120,0.105,0.060,0.090,
+0.129,0.134,0.077,0.082,0.086,0.019,0.056,0.067,0.065,0.090,
+0.063,0.090,0.107,0.133,0.060,0.072,0.134,0.170,0.125,0.092,
+0.105,0.048,0.133,0.109,0.058,0.113,0.060,0.075,0.070,0.122,
+0.078,0.076,0.018,0.044,0.043,0.022,0.104,0.041,0.123,0.126,
+0.055,0.126,0.083,0.091,0.091,0.070,0.049,0.095,0.140,0.152,
+0.102,0.130,0.088,0.017,0.079,0.119,0.080,0.083,0.082,0.150,
+1.055,0.733,0.475,0.570,0.860,0.907,0.741,0.635,0.802,0.144,
+0.627,0.683,0.537,0.665,0.566,0.794,0.080,0.123,0.054,0.056,
+0.081,0.142,0.119,0.061,0.091,0.039,0.108,0.083,0.062,0.121,
+0.081,0.079,0.659,0.928,0.573,0.595,0.083,0.146,0.099,0.089,
+0.699,0.122,0.373,0.505,0.383,0.681,0.546,0.598,0.535,0.421,
+0.343,0.452,0.670,0.791,0.566,0.646,0.701,0.094,0.648,0.720,
+0.485,0.560,0.632,0.863,0.884,0.505,0.356,0.631,0.550,0.406,
+0.291,0.369,0.554,0.059,0.329,0.502,0.572,0.484,0.354,0.727,
+0.916,0.773,0.443,0.586,0.742,0.779,0.537,0.498,0.706,0.085,
+0.552,0.667,0.579,0.740,0.508,0.703,0.669,0.695,0.487,0.641,
+0.060,0.077,0.054,0.067,0.655,0.078,0.514,0.646,0.496,0.725,
+0.590,0.747,0.672,0.423,0.375,0.590,0.540,0.496,0.380,0.499,
+0.692,0.063,0.602,0.785,0.743,0.704,0.731,1.160,1.869,0.790,
+0.583,1.273,0.666,0.400,0.335,0.528,0.633,0.057,0.286,0.510,
+0.894,0.588,0.436,0.960,0.777,0.443,0.278,0.472,0.430,0.276,
+0.235,0.319,0.419,0.035,0.237,0.386,0.378,0.321,0.250,0.458,
+0.598,0.482,0.328,0.608,0.047,0.040,0.030,0.071,0.378,0.034,
+0.215,0.368,0.373,0.386,0.293,0.532,0.809,0.406,0.385,0.909,
+0.484,0.328,0.294,0.552,0.459,0.035,0.278,0.504,0.691,0.442,
+0.491,1.224,0.938,0.548,0.345,0.613,0.587,0.431,0.321,0.376,
+0.449,0.044,0.233,0.364,0.405,0.392,0.274,0.491,0.608,0.451,
+0.224,0.348,0.447,0.378,0.266,0.301,0.384,0.045,0.262,0.361,
+0.278,0.326,0.206,0.337,0.396,0.388,0.234,0.360,0.030,0.037,
+0.027,0.040,0.341,0.036,0.229,0.369,0.273,0.368,0.246,0.407,
+0.424,0.252,0.205,0.403,0.384,0.311,0.239,0.422,0.316,0.026,
+0.214,0.366,0.340,0.290,0.276,0.592,0.535,0.275,0.207,0.312,
+0.363,0.260,0.220,0.292,0.324,0.038,0.175,0.276,0.285,0.254,
+0.225,0.406,0.031,0.026,0.015,0.023,0.022,0.026,0.019,0.022,
+0.021,4.11e-3,0.018,0.025,0.024,0.030,0.020,0.033,0.272,0.269,
+0.170,0.252,0.020,0.020,0.016,0.031,0.240,0.026,0.153,0.218,
+0.185,0.231,0.197,0.280,0.268,0.172,0.149,0.230,0.263,0.199,
+0.175,0.268,0.273,0.021,0.178,0.291,0.235,0.192,0.226,0.384,
+0.566,0.213,0.164,0.321,0.205,0.126,0.105,0.152,0.221,0.019,
+0.106,0.184,0.275,0.177,0.150,0.358,0.233,0.138,0.087,0.142,
+0.137,0.104,0.082,0.105,0.128,8.93e-3,0.081,0.129,0.131,0.112,
+0.089,0.170,0.177,0.134,0.092,0.153,9.81e-3,8.02e-3,5.87e-3,0.012,
+0.130,8.95e-3,0.078,0.125,0.122,0.112,0.098,0.151,0.205,0.079,
+0.072,0.140,0.083,0.056,0.047,0.073,0.079,3.99e-3,0.046,0.072,
+0.075,0.032,0.028,0.022
+};
+
+static double hg19_biasTable26_5_large[] = {
+19.3,6.365,4.702,9.765,6.453,3.475,2.943,4.086,6.337,0.563,
+2.658,4.116,9.155,6.087,3.770,7.069,7.186,3.657,2.559,3.523,
+3.820,2.287,2.003,2.092,3.655,0.297,1.995,2.512,3.178,2.790,
+2.080,3.256,5.546,3.353,2.672,3.968,0.409,0.324,0.260,0.500,
+2.880,0.264,1.688,2.225,2.744,2.963,2.214,3.168,8.248,3.297,
+3.347,6.754,4.859,3.235,2.856,4.788,3.780,0.302,2.126,3.331,
+5.526,3.101,3.223,5.921,7.558,3.448,2.172,3.581,3.746,2.420,
+1.712,2.052,3.058,0.318,1.414,2.048,2.678,2.538,1.474,2.554,
+4.259,2.604,1.502,2.011,2.431,1.610,1.310,1.320,2.443,0.265,
+1.377,1.809,1.631,1.743,1.219,1.648,2.976,2.541,1.565,2.162,
+0.278,0.231,0.173,0.235,2.383,0.249,1.352,1.764,1.530,2.095,
+1.400,1.869,2.742,1.757,1.256,2.219,2.538,1.882,1.431,1.977,
+2.290,0.183,1.313,1.932,2.181,1.765,1.669,3.032,5.409,2.116,
+1.950,2.701,3.088,1.784,1.682,1.979,2.899,0.339,1.274,2.062,
+2.695,2.269,1.714,3.334,0.349,0.248,0.158,0.240,0.252,0.216,
+0.166,0.185,0.241,0.044,0.168,0.231,0.302,0.387,0.218,0.363,
+2.120,1.656,1.514,1.740,0.192,0.153,0.147,0.198,1.755,0.207,
+1.112,1.382,1.307,1.600,1.488,1.605,2.055,1.248,1.217,1.910,
+2.307,1.684,1.433,1.965,2.094,0.203,1.537,2.055,1.881,1.746,
+1.845,3.009,7.507,2.573,2.161,4.757,2.675,1.477,1.511,1.954,
+3.180,0.290,1.337,2.227,4.270,2.696,2.151,5.161,4.242,2.552,
+1.791,2.579,2.580,1.787,1.562,1.754,2.485,0.193,1.515,2.222,
+2.756,2.507,1.877,3.228,2.597,2.020,1.713,2.379,0.207,0.158,
+0.184,0.223,1.970,0.159,1.396,1.872,1.844,2.026,1.815,2.388,
+4.075,2.213,1.922,3.883,2.175,1.512,1.476,2.288,2.970,0.207,
+1.905,3.104,4.048,2.935,3.026,6.132,7.438,4.185,2.797,4.734,
+3.563,2.579,1.988,2.320,2.688,0.294,1.301,2.131,2.930,2.723,
+1.783,3.099,4.174,3.416,1.938,2.451,2.654,2.006,1.778,1.739,
+2.139,0.285,1.488,1.899,1.510,1.795,1.296,1.961,2.337,2.495,
+1.692,2.101,0.252,0.351,0.210,0.286,1.601,0.189,1.195,1.366,
+1.223,1.754,1.336,1.822,2.586,1.428,1.328,2.232,2.431,2.079,
+1.420,1.920,1.670,0.198,1.000,1.528,1.863,1.417,1.550,2.993,
+4.405,3.262,1.521,2.348,2.838,2.591,1.523,1.634,1.936,0.261,
+0.982,1.448,1.494,1.820,1.059,1.818,2.696,2.471,1.233,1.453,
+1.866,1.137,1.275,1.161,1.732,0.274,1.206,1.553,1.011,1.481,
+1.026,1.288,1.967,2.698,1.427,1.808,0.233,0.418,0.260,0.333,
+1.832,0.366,1.242,1.566,1.097,2.596,1.300,1.611,1.605,1.247,
+0.835,1.342,1.828,1.894,1.136,1.440,1.555,0.173,0.862,1.298,
+1.197,1.346,1.031,1.934,2.893,1.914,1.249,1.901,2.347,1.995,
+1.799,1.654,1.902,0.273,1.147,1.648,1.416,1.602,1.326,2.075,
+0.206,0.313,0.140,0.225,0.193,0.291,0.227,0.164,0.190,0.078,
+0.212,0.218,0.141,0.294,0.177,0.211,1.843,2.139,2.126,1.683,
+0.256,0.330,0.241,0.210,1.711,0.281,1.323,1.517,1.047,2.149,
+1.793,1.615,1.458,1.003,1.041,1.341,1.883,2.118,1.536,1.695,
+1.696,0.189,1.386,1.781,1.157,1.293,1.546,2.114,2.641,1.426,
+1.092,1.835,1.598,1.087,1.049,1.111,1.332,0.126,0.705,1.094,
+1.573,1.188,0.970,2.020,2.265,2.097,1.265,1.735,1.620,1.621,
+1.352,1.409,1.415,0.161,1.096,1.587,1.223,1.642,1.153,1.824,
+1.524,1.543,1.307,1.606,0.131,0.158,0.115,0.150,1.262,0.138,
+1.057,1.360,1.071,1.472,1.417,1.727,1.872,1.083,1.071,1.688,
+1.423,1.222,0.952,1.401,1.713,0.166,1.225,1.946,1.997,1.912,
+2.010,3.303,4.916,2.525,2.001,3.102,1.901,1.435,1.063,1.375,
+2.057,0.204,0.964,1.421,2.085,1.829,1.108,2.099,3.223,2.601,
+1.482,2.016,1.893,1.558,1.437,1.361,2.118,0.257,1.398,1.658,
+1.531,1.939,1.116,1.721,2.194,2.381,2.784,2.348,0.236,0.294,
+0.252,0.360,1.480,0.194,1.002,1.301,1.097,1.792,1.101,1.700,
+2.270,1.442,1.452,2.533,1.821,1.687,1.316,1.874,1.723,0.177,
+1.106,1.747,1.963,1.566,1.712,3.927,0.303,0.248,0.139,0.220,
+0.243,0.257,0.139,0.158,0.186,0.039,0.112,0.145,0.163,0.229,
+0.142,0.197,0.263,0.306,0.140,0.169,0.236,0.290,0.179,0.152,
+0.228,0.065,0.185,0.194,0.149,0.275,0.130,0.171,0.175,0.271,
+0.197,0.191,0.032,0.068,0.057,0.041,0.222,0.060,0.219,0.242,
+0.130,0.286,0.159,0.194,0.263,0.196,0.153,0.288,0.334,0.394,
+0.265,0.349,0.225,0.037,0.180,0.250,0.227,0.239,0.213,0.404,
+2.094,1.349,0.954,1.183,1.426,1.355,1.191,1.053,1.774,0.319,
+1.184,1.345,1.196,1.442,1.120,1.525,0.172,0.214,0.100,0.114,
+0.129,0.187,0.138,0.096,0.220,0.102,0.171,0.154,0.149,0.293,
+0.144,0.156,1.319,1.817,1.148,1.105,0.156,0.278,0.182,0.149,
+1.457,0.254,0.867,1.049,0.802,1.440,1.064,1.088,1.165,0.883,
+0.788,0.967,1.335,1.569,1.162,1.293,1.578,0.218,1.355,1.514,
+1.015,1.255,1.213,1.633,2.047,1.055,0.768,1.399,1.165,0.776,
+0.600,0.734,1.382,0.137,0.667,1.042,1.440,1.160,0.791,1.663,
+2.237,1.749,1.022,1.416,1.553,1.486,1.039,1.029,1.842,0.217,
+1.136,1.499,1.492,1.787,1.118,1.616,1.528,1.616,1.160,1.414,
+0.153,0.210,0.126,0.151,1.589,0.201,1.046,1.483,1.127,1.723,
+1.208,1.646,1.816,1.098,1.055,1.440,1.506,1.314,0.999,1.280,
+1.807,0.180,1.447,1.978,1.988,1.947,1.773,3.017,5.832,2.591,
+1.997,4.499,1.967,1.227,1.067,1.447,1.996,0.181,0.903,1.578,
+3.274,2.032,1.450,3.295,2.387,1.357,0.936,1.636,1.281,0.786,
+0.743,0.932,1.466,0.120,0.770,1.202,1.383,1.117,0.808,1.526,
+2.197,1.601,1.348,2.336,0.180,0.152,0.117,0.269,1.289,0.112,
+0.688,1.166,1.256,1.293,0.884,1.737,3.173,1.497,1.715,4.509,
+1.902,1.299,1.225,2.275,1.761,0.137,1.100,1.868,2.737,1.764,
+1.933,5.061,3.517,2.052,1.305,2.452,2.141,1.562,1.164,1.354,
+1.752,0.181,0.885,1.423,1.653,1.639,1.047,1.910,2.364,1.701,
+0.902,1.489,1.607,1.331,0.888,1.025,1.578,0.210,0.956,1.431,
+1.237,1.522,0.783,1.339,1.736,1.561,1.032,1.641,0.130,0.155,
+0.111,0.171,1.494,0.155,0.956,1.453,1.220,1.653,1.029,1.642,
+2.117,1.180,1.042,2.180,1.868,1.561,1.184,1.986,1.597,0.131,
+1.045,1.670,1.777,1.596,1.419,2.856,2.204,1.266,0.960,1.538,
+1.641,1.121,1.013,1.306,1.734,0.228,1.031,1.465,1.432,1.359,
+1.220,2.000,0.159,0.142,0.083,0.143,0.112,0.123,0.095,0.103,
+0.151,0.037,0.124,0.180,0.142,0.197,0.119,0.181,1.341,1.345,
+0.954,1.376,0.113,0.116,0.105,0.145,1.451,0.155,0.866,1.195,
+1.015,1.347,1.178,1.485,1.389,0.934,0.881,1.453,1.559,1.272,
+1.143,1.685,1.824,0.171,1.235,1.906,1.422,1.372,1.474,2.425,
+3.662,1.553,1.272,2.490,1.599,1.037,1.072,1.235,2.037,0.163,
+0.902,1.497,2.496,1.613,1.413,3.453,1.910,1.254,0.841,1.458,
+1.207,0.887,0.822,1.005,1.378,0.111,0.885,1.486,1.489,1.393,
+1.014,1.928,2.099,1.774,1.318,2.219,0.161,0.136,0.100,0.185,
+1.870,0.145,1.153,1.836,1.818,2.005,1.695,2.466,3.480,1.699,
+1.709,3.729,2.270,1.810,1.553,2.468,2.913,0.174,2.059,3.460,
+4.565,3.005,3.244,6.151,4.654,2.774,2.137,3.476,2.886,1.869,
+1.365,1.637,2.236,0.259,1.158,1.728,2.765,2.358,1.400,2.339,
+2.774,1.974,1.212,1.490,2.063,1.475,1.136,1.101,1.590,0.189,
+1.138,1.308,1.135,1.328,1.010,1.374,1.522,1.352,0.990,1.327,
+0.159,0.148,0.125,0.185,1.038,0.129,0.730,0.844,0.882,1.153,
+0.985,1.220,1.989,1.106,0.890,1.730,1.782,1.327,0.965,1.431,
+1.302,0.160,0.808,1.213,1.522,1.153,1.232,2.173,3.189,2.057,
+1.159,1.751,2.505,1.725,1.005,1.076,1.708,0.299,0.981,1.217,
+1.242,1.578,0.798,1.364,2.147,1.822,0.896,1.182,1.674,1.295,
+0.942,0.933,1.586,0.321,1.218,1.502,0.843,1.340,0.806,1.098,
+1.227,1.430,0.797,0.930,0.192,0.198,0.157,0.138,1.631,0.257,
+0.966,1.043,0.770,1.405,0.937,1.002,0.994,0.853,0.490,0.766,
+1.267,1.095,0.765,0.900,1.029,0.120,0.707,0.997,0.873,0.911,
+0.884,1.444,1.646,1.003,0.670,0.985,1.682,1.201,0.875,0.960,
+1.394,0.197,0.681,0.921,0.950,0.998,0.734,1.340,0.135,0.156,
+0.090,0.113,0.190,0.221,0.132,0.125,0.136,0.050,0.131,0.142,
+0.102,0.209,0.116,0.155,0.799,0.910,0.675,0.700,0.106,0.109,
+0.098,0.109,0.832,0.136,0.665,0.806,0.538,0.843,0.830,0.828,
+0.751,0.527,0.509,0.689,1.013,0.922,0.700,0.893,0.953,0.125,
+0.766,0.958,0.747,0.871,0.947,1.336,1.833,0.850,0.639,1.285,
+0.974,0.609,0.470,0.637,1.006,0.117,0.485,0.742,1.127,0.863,
+0.628,1.465,1.514,1.189,0.765,1.095,1.289,1.140,0.789,0.916,
+0.919,0.117,0.718,1.010,0.797,1.078,0.711,1.145,0.812,0.765,
+0.752,0.900,0.092,0.077,0.116,0.111,0.734,0.103,0.553,0.762,
+0.597,0.852,0.774,0.944,1.177,0.702,0.752,1.182,0.781,0.679,
+0.633,0.828,1.051,0.100,0.785,1.229,1.295,1.224,1.237,2.296,
+2.912,1.964,1.335,1.967,2.041,1.825,1.204,1.228,1.213,0.162,
+0.669,0.971,1.232,1.263,0.800,1.344,2.071,1.733,1.031,1.152,
+1.773,1.651,1.474,1.167,1.097,0.204,0.926,1.103,0.664,1.028,
+0.737,1.054,0.942,1.138,0.808,0.902,0.124,0.177,0.139,0.146,
+0.699,0.115,0.607,0.645,0.607,0.833,0.675,0.894,0.970,0.595,
+0.491,0.890,1.071,1.117,0.696,0.849,0.804,0.107,0.537,0.714,
+1.012,0.711,0.730,1.343,2.008,1.746,0.779,1.059,1.651,1.973,
+0.923,0.854,1.035,0.180,0.642,0.878,0.702,1.008,0.541,1.059,
+1.421,1.420,0.729,0.761,0.966,0.587,0.746,0.689,0.957,0.285,
+0.804,0.993,0.498,1.021,0.609,0.756,0.916,1.394,0.698,0.754,
+0.174,0.337,0.194,0.149,0.914,0.239,0.721,0.911,0.503,1.296,
+0.866,0.890,0.666,0.604,0.387,0.547,0.966,1.276,0.620,0.721,
+0.741,0.110,0.566,0.810,0.550,0.704,0.615,1.046,1.290,0.972,
+0.684,0.796,1.500,1.612,1.051,0.906,1.028,0.188,0.655,0.794,
+0.665,0.961,0.659,0.994,0.113,0.196,0.128,0.111,0.193,0.400,
+0.257,0.137,0.131,0.102,0.193,0.152,0.070,0.282,0.116,0.111,
+0.930,1.234,0.813,0.793,0.200,0.263,0.200,0.142,0.887,0.196,
+0.753,0.829,0.502,1.122,1.023,0.873,0.709,0.524,0.462,0.604,
+1.253,1.575,1.097,1.013,1.062,0.140,0.822,0.966,0.659,0.777,
+0.942,1.183,1.051,0.669,0.478,0.757,0.810,0.654,0.423,0.505,
+0.632,0.069,0.362,0.502,0.652,0.571,0.434,0.852,1.013,1.069,
+0.727,0.869,1.024,1.407,0.870,0.880,0.690,0.128,0.640,0.806,
+0.501,0.967,0.587,0.790,0.647,0.853,0.630,0.705,0.073,0.112,
+0.077,0.081,0.549,0.085,0.570,0.651,0.448,0.755,0.772,0.832,
+0.756,0.498,0.431,0.679,0.654,0.719,0.562,0.667,0.740,0.074,
+0.577,0.832,0.795,0.888,0.897,1.487,1.763,1.291,0.819,1.331,
+1.144,0.874,0.580,0.748,1.023,0.119,0.542,0.679,0.876,0.909,
+0.592,0.961,1.561,1.569,0.699,0.979,1.364,1.262,0.891,0.881,
+1.226,0.223,1.027,1.068,0.696,1.249,0.612,0.897,0.828,1.161,
+0.785,0.940,0.119,0.162,0.137,0.189,0.778,0.136,0.584,0.759,
+0.496,0.940,0.661,0.933,0.818,0.584,0.445,0.922,0.910,0.818,
+0.621,0.902,0.800,0.102,0.611,0.901,0.813,0.727,0.795,1.645,
+0.127,0.119,0.058,0.085,0.183,0.186,0.105,0.093,0.133,0.033,
+0.074,0.081,0.072,0.120,0.110,0.124,0.124,0.215,0.077,0.104,
+0.203,0.323,0.190,0.137,0.153,0.127,0.181,0.158,0.068,0.187,
+0.081,0.094,0.068,0.160,0.098,0.083,0.034,0.096,0.088,0.038,
+0.147,0.082,0.211,0.176,0.059,0.176,0.121,0.107,0.080,0.071,
+0.045,0.085,0.226,0.209,0.130,0.163,0.099,0.028,0.114,0.131,
+0.075,0.093,0.096,0.150,1.087,1.026,0.574,0.677,1.026,1.378,
+0.826,0.760,1.049,0.219,0.984,0.995,0.616,0.902,0.678,0.961,
+0.102,0.254,0.082,0.077,0.129,0.321,0.172,0.101,0.134,0.087,
+0.206,0.144,0.072,0.186,0.103,0.099,0.705,1.453,0.684,0.662,
+0.117,0.333,0.168,0.121,0.914,0.236,0.609,0.764,0.444,1.052,
+0.718,0.745,0.561,0.556,0.392,0.538,0.882,1.465,0.801,0.956,
+1.052,0.184,1.069,1.032,0.576,0.802,0.826,1.080,0.928,0.647,
+0.413,0.780,0.636,0.531,0.321,0.423,0.669,0.084,0.391,0.689,
+0.649,0.636,0.400,0.907,1.138,1.280,0.601,0.771,1.249,1.585,
+0.806,0.857,1.059,0.182,0.867,1.100,0.709,1.172,0.682,0.953,
+0.750,1.031,0.747,0.740,0.079,0.137,0.093,0.089,0.833,0.147,
+0.710,0.875,0.564,1.140,0.743,0.924,0.730,0.559,0.440,0.732,
+0.721,0.740,0.524,0.678,0.932,0.105,0.915,1.125,0.939,1.059,
+0.982,1.509,1.741,0.919,0.688,1.391,0.880,0.553,0.434,0.740,
+0.830,0.078,0.386,0.711,0.976,0.722,0.622,1.158,1.070,0.771,
+0.415,0.692,0.671,0.501,0.381,0.540,0.616,0.066,0.395,0.721,
+0.539,0.510,0.401,0.701,0.724,0.667,0.445,0.770,0.060,0.056,
+0.042,0.100,0.522,0.053,0.319,0.523,0.468,0.533,0.391,0.717,
+0.954,0.534,0.498,1.199,0.657,0.482,0.408,0.906,0.671,0.056,
+0.409,0.782,0.932,0.628,0.689,1.794,1.512,1.000,0.603,1.022,
+1.183,0.974,0.792,0.764,0.973,0.123,0.529,0.803,0.775,0.912,
+0.630,0.995,1.133,1.023,0.470,0.732,1.088,1.081,0.644,0.751,
+0.948,0.184,0.664,0.966,0.653,1.024,0.526,0.831,0.648,0.846,
+0.494,0.695,0.073,0.114,0.085,0.113,0.784,0.112,0.602,0.864,
+0.562,0.950,0.587,0.856,0.714,0.513,0.419,0.870,0.949,0.902,
+0.660,1.563,0.741,0.081,0.624,0.940,0.718,0.755,0.712,1.383,
+0.946,0.620,0.423,0.639,0.824,0.741,0.548,0.663,0.844,0.119,
+0.566,0.750,0.629,0.657,0.586,0.988,0.067,0.083,0.039,0.059,
+0.065,0.117,0.068,0.062,0.062,0.020,0.083,0.078,0.055,0.095,
+0.063,0.084,0.563,0.709,0.434,0.591,0.059,0.081,0.060,0.082,
+0.669,0.107,0.518,0.669,0.451,0.743,0.616,0.764,0.569,0.452,
+0.373,0.589,0.716,0.725,0.557,0.850,0.967,0.124,0.702,1.020,
+0.668,0.714,0.807,1.235,1.236,0.674,0.486,0.919,0.637,0.498,
+0.356,0.487,0.722,0.076,0.394,0.640,0.784,0.589,0.494,1.155,
+0.944,0.679,0.408,0.669,0.679,0.673,0.470,0.590,0.595,0.059,
+0.486,0.692,0.603,0.635,0.473,0.978,0.834,0.746,0.553,0.853,
+0.091,0.063,0.047,0.083,0.731,0.076,0.562,0.815,0.679,0.895,
+0.780,1.069,1.143,0.655,0.622,1.268,0.918,0.816,0.663,1.094,
+1.091,0.091,0.960,1.462,1.546,1.308,1.380,2.122,3.112,1.653,
+1.505,2.393,1.752,1.214,1.036,1.290,1.580,0.156,0.762,1.139,
+1.866,1.519,0.950,1.632,1.566,1.088,0.817,1.001,1.143,0.760,
+0.789,0.814,0.915,0.108,0.605,0.711,0.819,0.845,0.636,0.903,
+1.287,1.008,0.722,1.111,0.109,0.094,0.079,0.148,0.752,0.078,
+0.536,0.768,0.621,0.761,0.647,0.896,1.407,0.711,0.578,1.180,
+1.053,0.798,0.613,0.953,0.804,0.071,0.550,0.762,1.012,0.622,
+0.826,1.513,2.368,1.488,0.907,1.451,1.773,1.323,1.088,1.089,
+1.195,0.159,0.605,0.842,1.004,1.158,0.639,1.078,1.620,1.498,
+0.719,0.890,1.280,0.863,0.893,0.822,1.319,0.252,0.795,1.047,
+0.741,1.065,0.568,0.787,1.183,1.326,0.868,1.045,0.151,0.170,
+0.139,0.161,1.177,0.176,0.897,1.352,0.797,1.161,0.907,0.998,
+0.990,0.673,0.446,0.796,1.285,1.139,0.729,1.022,0.843,0.086,
+0.568,0.894,0.783,0.710,0.754,1.394,1.523,0.780,0.598,0.965,
+1.493,1.060,1.027,1.057,2.005,0.225,0.737,0.874,1.098,1.056,
+0.730,1.220,0.140,0.145,0.082,0.121,0.161,0.161,0.146,0.155,
+0.176,0.043,0.193,0.144,0.147,0.272,0.131,0.175,0.816,0.819,
+0.804,0.907,0.107,0.107,0.160,0.163,0.932,0.159,0.647,0.697,
+0.557,0.985,0.798,0.769,0.693,0.449,0.419,0.676,1.024,0.890,
+0.922,1.036,0.855,0.101,0.722,0.853,0.781,0.760,0.810,1.271,
+1.510,0.664,0.524,1.069,0.814,0.526,0.518,0.670,0.954,0.097,
+0.424,0.616,1.221,0.859,0.594,1.263,1.179,0.907,0.568,0.834,
+0.936,0.721,0.700,0.830,0.872,0.096,0.680,0.774,0.857,0.979,
+0.622,0.978,0.863,0.821,0.728,0.951,0.086,0.077,0.086,0.120,
+0.844,0.090,0.617,0.823,0.707,0.968,0.931,1.071,1.133,0.643,
+0.568,1.158,0.765,0.575,0.624,0.894,1.147,0.095,0.782,1.204,
+1.565,1.222,1.373,2.480,0.158,0.118,0.097,0.114,0.122,0.114,
+0.089,0.101,0.087,0.015,0.050,0.072,0.091,0.102,0.066,0.098,
+0.146,0.136,0.166,0.112,0.147,0.142,0.184,0.129,0.094,0.031,
+0.092,0.088,0.087,0.098,0.077,0.092,0.081,0.128,0.069,0.076,
+0.017,0.025,0.020,0.019,0.067,0.017,0.069,0.078,0.045,0.080,
+0.070,0.080,0.082,0.057,0.045,0.076,0.101,0.100,0.071,0.088,
+0.073,0.012,0.072,0.082,0.071,0.061,0.100,0.129,0.137,0.135,
+0.066,0.087,0.136,0.167,0.119,0.093,0.084,0.026,0.057,0.068,
+0.058,0.089,0.076,0.076,0.150,0.221,0.094,0.088,0.183,0.182,
+0.183,0.123,0.138,0.072,0.122,0.126,0.064,0.129,0.078,0.095,
+0.091,0.159,0.086,0.083,0.030,0.082,0.055,0.027,0.156,0.070,
+0.146,0.183,0.075,0.156,0.132,0.105,0.072,0.060,0.039,0.060,
+0.121,0.147,0.089,0.091,0.077,0.015,0.065,0.085,0.055,0.063,
+0.071,0.113,0.098,0.071,0.055,0.063,0.122,0.142,0.136,0.101,
+0.123,0.033,0.107,0.076,0.061,0.095,0.069,0.084,0.015,0.029,
+0.017,0.016,0.031,0.065,0.059,0.035,0.032,0.040,0.090,0.032,
+0.011,0.037,0.025,0.018,0.079,0.123,0.115,0.105,0.025,0.050,
+0.065,0.029,0.171,0.103,0.143,0.110,0.063,0.214,0.150,0.104,
+0.065,0.048,0.047,0.066,0.111,0.145,0.133,0.120,0.100,0.026,
+0.108,0.118,0.061,0.100,0.096,0.123,0.118,0.093,0.062,0.095,
+0.084,0.071,0.060,0.073,0.080,0.011,0.048,0.061,0.099,0.089,
+0.072,0.127,0.155,0.206,0.097,0.138,0.156,0.178,0.153,0.187,
+0.131,0.030,0.153,0.125,0.102,0.182,0.112,0.142,0.075,0.097,
+0.085,0.096,0.011,0.020,0.018,0.018,0.095,0.023,0.096,0.110,
+0.070,0.123,0.167,0.131,0.099,0.070,0.057,0.099,0.083,0.084,
+0.073,0.095,0.104,0.013,0.089,0.123,0.119,0.122,0.139,0.217,
+1.454,1.040,0.706,1.137,0.915,0.778,0.547,0.691,0.774,0.087,
+0.462,0.593,0.624,0.567,0.412,0.690,1.175,1.009,0.587,0.725,
+1.096,0.897,0.963,0.774,0.988,0.138,0.930,0.953,0.517,0.775,
+0.532,0.729,0.784,0.999,0.665,0.822,0.115,0.153,0.137,0.176,
+0.903,0.191,0.669,0.790,0.481,0.978,0.568,0.761,0.675,0.454,
+0.360,0.671,0.719,0.658,0.547,0.744,0.756,0.087,0.585,0.900,
+0.655,0.589,0.688,1.274,0.099,0.099,0.050,0.076,0.122,0.160,
+0.092,0.093,0.069,0.019,0.062,0.067,0.047,0.068,0.042,0.067,
+0.093,0.115,0.061,0.060,0.137,0.153,0.177,0.111,0.100,0.043,
+0.208,0.131,0.042,0.083,0.056,0.060,0.075,0.131,0.088,0.077,
+0.020,0.049,0.063,0.026,0.109,0.053,0.143,0.149,0.050,0.121,
+0.085,0.084,0.076,0.057,0.039,0.074,0.114,0.143,0.111,0.121,
+0.083,0.017,0.083,0.151,0.060,0.066,0.070,0.123,1.020,0.693,
+0.475,0.477,0.931,1.007,1.045,0.698,0.768,0.143,0.720,0.670,
+0.446,0.590,0.595,0.721,0.082,0.129,0.072,0.058,0.098,0.163,
+0.240,0.077,0.099,0.041,0.159,0.102,0.053,0.115,0.097,0.081,
+0.717,0.843,0.665,0.646,0.102,0.125,0.147,0.119,0.680,0.125,
+0.288,0.410,0.335,0.575,0.559,0.572,0.475,0.360,0.320,0.377,
+0.675,0.737,0.657,0.673,0.654,0.097,0.728,0.716,0.419,0.514,
+0.655,0.806,0.788,0.479,0.358,0.552,0.563,0.442,0.343,0.362,
+0.491,0.060,0.366,0.475,0.450,0.422,0.333,0.600,0.861,0.814,
+0.502,0.546,0.857,0.944,0.849,0.573,0.701,0.102,0.754,0.742,
+0.517,0.760,0.594,0.657,0.694,0.830,0.595,0.749,0.077,0.116,
+0.087,0.099,0.786,0.107,0.835,0.863,0.497,0.847,0.727,0.817,
+0.623,0.426,0.354,0.579,0.618,0.601,0.462,0.582,0.751,0.078,
+0.788,0.896,0.714,0.769,0.836,1.153,1.400,0.692,0.506,0.995,
+0.673,0.440,0.379,0.545,0.596,0.061,0.294,0.469,0.727,0.547,
+0.393,0.865,0.861,0.523,0.325,0.491,0.534,0.354,0.337,0.404,
+0.438,0.038,0.283,0.410,0.366,0.352,0.280,0.484,0.670,0.622,
+0.354,0.594,0.057,0.053,0.041,0.085,0.486,0.049,0.311,0.490,
+0.448,0.501,0.435,0.655,0.767,0.439,0.358,0.726,0.556,0.399,
+0.355,0.602,0.515,0.043,0.309,0.552,0.692,0.482,0.545,1.175,
+1.344,0.882,0.528,0.921,0.957,0.798,0.618,0.681,0.668,0.075,
+0.436,0.596,0.583,0.624,0.385,0.748,1.021,0.872,0.430,0.611,
+0.920,0.757,0.699,0.687,0.691,0.085,0.629,0.733,0.427,0.562,
+0.394,0.564,0.738,0.887,0.534,0.681,0.068,0.099,0.084,0.095,
+0.694,0.094,0.590,0.861,0.484,0.808,0.583,0.817,0.749,0.508,
+0.388,0.680,0.810,0.738,0.604,0.860,0.637,0.066,0.487,0.872,
+0.592,0.594,0.569,1.087,1.124,0.575,0.433,0.591,0.840,0.688,
+0.713,0.703,0.721,0.098,0.474,0.671,0.541,0.580,0.544,0.874,
+0.080,0.070,0.041,0.057,0.069,0.099,0.097,0.072,0.056,0.015,
+0.070,0.081,0.050,0.085,0.060,0.075,0.677,0.783,0.512,0.680,
+0.066,0.074,0.073,0.110,0.764,0.112,0.537,0.704,0.449,0.729,
+0.656,0.756,0.614,0.438,0.407,0.539,0.762,0.662,0.661,0.849,
+0.685,0.073,0.643,0.973,0.581,0.597,0.762,1.072,1.080,0.503,
+0.407,0.714,0.559,0.389,0.354,0.419,0.586,0.066,0.329,0.522,
+0.615,0.458,0.402,0.869,0.804,0.582,0.350,0.524,0.586,0.526,
+0.475,0.485,0.485,0.045,0.424,0.599,0.466,0.488,0.425,0.649,
+0.752,0.732,0.526,0.819,0.062,0.065,0.048,0.085,0.783,0.074,
+0.662,0.950,0.639,0.823,0.767,0.980,0.997,0.539,0.488,0.999,
+0.773,0.667,0.586,0.844,0.891,0.067,0.772,1.210,1.128,0.895,
+1.054,1.665,2.847,1.258,1.091,2.392,1.161,0.647,0.557,0.844,
+1.086,0.092,0.417,0.769,1.830,1.216,0.650,1.439,1.076,0.568,
+0.427,0.629,0.607,0.336,0.308,0.380,0.571,0.042,0.311,0.398,
+0.614,0.545,0.344,0.596,0.810,0.541,0.416,0.761,0.064,0.043,
+0.036,0.083,0.463,0.035,0.248,0.390,0.480,0.483,0.382,0.674,
+1.363,0.578,0.530,1.154,0.787,0.482,0.406,0.711,0.636,0.047,
+0.391,0.601,1.018,0.606,0.650,1.592,1.297,0.626,0.412,0.792,
+0.686,0.390,0.294,0.405,0.503,0.048,0.211,0.371,0.606,0.483,
+0.265,0.583,0.680,0.418,0.251,0.403,0.402,0.241,0.207,0.261,
+0.424,0.043,0.194,0.312,0.383,0.339,0.214,0.375,0.545,0.410,
+0.292,0.455,0.043,0.030,0.024,0.040,0.410,0.032,0.191,0.328,
+0.374,0.382,0.276,0.421,0.541,0.316,0.234,0.472,0.452,0.316,
+0.219,0.358,0.380,0.026,0.211,0.356,0.433,0.324,0.335,0.732,
+1.013,0.423,0.349,0.632,0.708,0.398,0.345,0.505,0.690,0.069,
+0.222,0.386,0.790,0.546,0.336,0.814,0.066,0.041,0.029,0.054,
+0.052,0.036,0.031,0.048,0.050,5.73e-3,0.025,0.040,0.086,0.083,
+0.039,0.081,0.448,0.334,0.311,0.437,0.037,0.026,0.027,0.047,
+0.377,0.034,0.187,0.277,0.350,0.369,0.321,0.429,0.468,0.260,
+0.265,0.514,0.483,0.321,0.292,0.484,0.426,0.036,0.246,0.417,
+0.502,0.387,0.416,0.803,1.362,0.494,0.416,0.984,0.583,0.306,
+0.313,0.463,0.740,0.061,0.284,0.481,1.431,0.693,0.454,1.160,
+0.744,0.396,0.308,0.507,0.455,0.286,0.262,0.370,0.487,0.034,
+0.260,0.398,0.677,0.551,0.339,0.668,0.541,0.411,0.351,0.552,
+0.039,0.027,0.027,0.049,0.428,0.029,0.256,0.391,0.472,0.475,
+0.420,0.643,0.922,0.456,0.438,1.029,0.544,0.341,0.342,0.594,
+0.716,0.046,0.431,0.738,1.204,0.829,0.906,1.966,1.380,0.764,
+0.586,1.051,0.756,0.509,0.398,0.532,0.552,0.056,0.271,0.465,
+0.707,0.616,0.373,0.749,0.849,0.525,0.496,0.585,0.579,0.408,
+0.433,0.419,0.435,0.046,0.411,0.395,0.374,0.393,0.300,0.478,
+0.502,0.494,0.310,0.481,0.045,0.046,0.032,0.055,0.333,0.036,
+0.231,0.341,0.297,0.375,0.310,0.496,0.554,0.309,0.274,0.497,
+0.494,0.382,0.275,0.412,0.362,0.034,0.273,0.393,0.445,0.329,
+0.408,0.784,0.925,0.578,0.316,0.563,0.609,0.475,0.306,0.369,
+0.360,0.042,0.181,0.299,0.382,0.377,0.249,0.443,0.625,0.542,
+0.286,0.407,0.530,0.377,0.297,0.326,0.387,0.058,0.240,0.332,
+0.291,0.366,0.225,0.337,0.418,0.436,0.255,0.373,0.049,0.050,
+0.032,0.040,0.407,0.050,0.235,0.371,0.299,0.420,0.290,0.438,
+0.368,0.263,0.173,0.320,0.412,0.375,0.210,0.299,0.294,0.025,
+0.181,0.315,0.297,0.269,0.263,0.521,0.609,0.319,0.234,0.368,
+0.484,0.361,0.322,0.354,0.413,0.056,0.207,0.307,0.360,0.351,
+0.244,0.493,0.033,0.034,0.022,0.032,0.035,0.045,0.033,0.034,
+0.031,9.88e-3,0.039,0.034,0.033,0.056,0.031,0.044,0.357,0.359,
+0.279,0.363,0.035,0.037,0.032,0.043,0.371,0.058,0.211,0.297,
+0.261,0.419,0.361,0.422,0.356,0.215,0.201,0.358,0.411,0.362,
+0.309,0.411,0.365,0.032,0.237,0.366,0.341,0.299,0.367,0.630,
+0.663,0.328,0.251,0.476,0.340,0.230,0.194,0.266,0.348,0.032,
+0.177,0.273,0.469,0.342,0.258,0.571,0.520,0.389,0.260,0.401,
+0.363,0.329,0.269,0.331,0.337,0.038,0.255,0.343,0.382,0.577,
+0.301,0.485,0.335,0.307,0.250,0.371,0.025,0.024,0.020,0.032,
+0.291,0.026,0.221,0.316,0.271,0.343,0.390,0.490,0.457,0.255,
+0.234,0.431,0.353,0.261,0.214,0.347,0.392,0.028,0.263,0.451,
+0.534,0.444,0.485,0.928,0.847,0.451,0.308,0.560,0.372,0.274,
+0.184,0.285,0.361,0.031,0.156,0.262,0.405,0.289,0.190,0.393,
+0.550,0.409,0.213,0.329,0.365,0.264,0.211,0.235,0.335,0.034,
+0.223,0.284,0.283,0.317,0.204,0.370,0.364,0.361,0.225,0.357,
+0.036,0.037,0.028,0.050,0.273,0.030,0.159,0.247,0.226,0.321,
+0.208,0.342,0.370,0.229,0.181,0.360,0.297,0.239,0.182,0.288,
+0.316,0.029,0.198,0.348,0.362,0.270,0.317,0.663,0.040,0.029,
+0.018,0.031,0.033,0.028,0.016,0.023,0.022,3.18e-3,0.012,0.019,
+0.023,0.025,0.016,0.030,0.030,0.029,0.013,0.019,0.030,0.035,
+0.022,0.021,0.024,5.29e-3,0.024,0.024,0.019,0.026,0.017,0.026,
+0.021,0.025,0.016,0.021,3.15e-3,5.43e-3,4.65e-3,3.60e-3,0.025,4.98e-3,
+0.019,0.026,0.018,0.030,0.020,0.028,0.029,0.021,0.014,0.031,
+0.034,0.033,0.021,0.032,0.024,3.35e-3,0.018,0.033,0.027,0.025,
+0.024,0.051,0.433,0.252,0.165,0.228,0.311,0.280,0.227,0.243,
+0.261,0.039,0.162,0.222,0.217,0.237,0.226,0.337,0.025,0.025,
+0.013,0.018,0.022,0.024,0.019,0.016,0.021,4.90e-3,0.020,0.020,
+0.023,0.033,0.036,0.031,0.251,0.292,0.195,0.243,0.024,0.029,
+0.022,0.029,0.251,0.031,0.134,0.195,0.162,0.238,0.205,0.263,
+0.239,0.170,0.135,0.201,0.257,0.243,0.186,0.236,0.271,0.026,
+0.214,0.279,0.225,0.218,0.259,0.402,0.427,0.214,0.153,0.285,
+0.235,0.168,0.128,0.177,0.227,0.022,0.138,0.218,0.250,0.196,
+0.158,0.330,0.381,0.264,0.166,0.245,0.265,0.224,0.173,0.175,
+0.243,0.022,0.190,0.248,0.253,0.280,0.221,0.314,0.358,0.272,
+0.193,0.293,0.022,0.022,0.016,0.024,0.259,0.021,0.182,0.248,
+0.258,0.283,0.268,0.354,0.326,0.186,0.163,0.269,0.223,0.194,
+0.148,0.204,0.301,0.022,0.239,0.334,0.343,0.294,0.328,0.543,
+1.050,0.375,0.255,0.590,0.303,0.171,0.139,0.256,0.284,0.024,
+0.121,0.229,0.406,0.267,0.178,0.446,0.362,0.183,0.104,0.185,
+0.181,0.111,0.090,0.130,0.175,0.012,0.091,0.141,0.164,0.132,
+0.112,0.207,0.276,0.213,0.127,0.275,0.019,0.016,0.011,0.029,
+0.165,0.013,0.088,0.158,0.176,0.172,0.124,0.249,0.383,0.194,
+0.166,0.380,0.210,0.137,0.122,0.234,0.210,0.015,0.133,0.239,
+0.343,0.212,0.244,0.618,0.385,0.193,0.126,0.237,0.196,0.131,
+0.093,0.135,0.154,0.012,0.070,0.126,0.165,0.139,0.088,0.201,
+0.228,0.145,0.069,0.120,0.138,0.118,0.067,0.094,0.138,0.011,
+0.079,0.116,0.110,0.109,0.069,0.138,0.162,0.135,0.079,0.143,
+8.99e-3,9.53e-3,5.94e-3,0.011,0.128,0.010,0.070,0.126,0.116,0.132,
+0.089,0.183,0.185,0.106,0.082,0.166,0.141,0.103,0.076,0.138,
+0.130,8.69e-3,0.076,0.150,0.158,0.122,0.115,0.296,0.292,0.140,
+0.105,0.156,0.180,0.118,0.095,0.149,0.158,0.016,0.072,0.126,
+0.159,0.130,0.104,0.220,0.015,0.010,5.77e-3,9.92e-3,8.91e-3,8.20e-3,
+5.95e-3,9.12e-3,8.23e-3,9.22e-4,5.73e-3,8.73e-3,0.012,0.013,8.89e-3,0.017,
+0.158,0.133,0.087,0.137,9.01e-3,8.07e-3,6.07e-3,0.014,0.120,0.011,
+0.074,0.109,0.108,0.116,0.102,0.167,0.172,0.102,0.082,0.134,
+0.139,0.099,0.084,0.142,0.146,9.21e-3,0.090,0.150,0.142,0.100,
+0.121,0.228,0.415,0.126,0.092,0.192,0.118,0.066,0.054,0.085,
+0.131,9.46e-3,0.056,0.104,0.172,0.107,0.079,0.217,0.140,0.077,
+0.046,0.077,0.078,0.055,0.040,0.056,0.076,4.46e-3,0.042,0.069,
+0.079,0.063,0.051,0.107,0.109,0.072,0.052,0.088,4.41e-3,3.49e-3,
+2.62e-3,5.85e-3,0.074,4.11e-3,0.043,0.071,0.076,0.061,0.056,0.097,
+0.142,0.045,0.040,0.080,0.041,0.025,0.024,0.038,0.042,1.96e-3,
+0.026,0.041,0.041,0.016,0.016,0.016
+};
+
+static double hg19_biasTable27_5_large[] = {
+48.4,10.6,6.545,14.5,10.9,4.835,3.961,6.058,9.359,0.754,
+3.494,5.408,14.5,8.346,5.786,11.0,12.1,5.180,3.650,5.134,
+5.519,2.911,2.681,2.871,5.403,0.373,2.624,3.441,4.964,3.688,
+2.890,4.901,10.1,5.371,4.013,6.099,0.666,0.476,0.355,0.760,
+4.474,0.382,2.531,3.345,4.475,4.377,3.026,4.711,14.7,5.517,
+5.648,11.1,7.612,4.976,4.212,7.683,6.307,0.475,3.226,5.171,
+9.998,4.838,4.852,8.927,14.3,5.598,3.443,5.697,5.986,3.433,
+2.422,2.887,4.946,0.453,1.897,3.019,4.395,3.785,2.091,3.886,
+6.784,3.579,2.112,2.918,3.554,2.160,1.709,1.777,3.604,0.305,
+1.791,2.351,2.441,2.203,1.486,2.268,5.100,3.891,2.347,3.378,
+0.362,0.293,0.221,0.321,3.392,0.306,1.792,2.527,2.437,2.951,
+1.869,2.845,4.570,2.656,1.969,3.586,3.652,2.571,2.174,2.860,
+3.529,0.246,1.786,2.807,3.564,2.628,2.307,4.593,11.1,3.544,
+3.205,4.625,5.103,2.760,2.533,3.084,4.952,0.501,1.964,3.332,
+4.441,3.413,2.609,5.516,0.620,0.369,0.247,0.406,0.431,0.337,
+0.243,0.292,0.387,0.053,0.245,0.360,0.507,0.561,0.332,0.607,
+3.693,2.603,2.372,2.940,0.317,0.214,0.209,0.320,2.783,0.261,
+1.628,2.154,2.147,2.372,1.967,2.475,3.596,2.094,2.020,3.354,
+3.936,2.598,2.247,3.163,3.210,0.276,2.366,3.137,3.020,2.514,
+2.677,4.545,15.7,4.922,3.989,8.721,4.877,2.536,2.505,3.333,
+6.305,0.569,2.437,4.207,8.310,4.988,3.911,9.975,7.616,4.316,
+3.044,4.526,4.563,2.958,2.489,2.993,4.565,0.305,2.574,4.043,
+5.316,4.392,3.405,6.129,4.842,3.588,2.770,4.014,0.365,0.257,
+0.231,0.359,3.347,0.235,1.951,3.016,3.250,3.327,2.838,3.971,
+7.681,4.394,3.286,6.923,3.805,2.534,2.293,3.820,4.919,0.306,
+2.897,4.838,6.610,4.321,4.343,8.552,13.1,6.411,4.054,6.989,
+5.158,3.268,2.474,2.992,3.881,0.385,1.635,2.855,4.263,3.771,
+2.233,4.138,5.848,3.864,2.255,3.133,3.480,2.234,1.938,2.093,
+2.692,0.292,1.587,2.313,2.060,2.104,1.478,2.607,3.746,3.371,
+2.157,3.073,0.339,0.352,0.225,0.362,2.182,0.215,1.508,1.826,
+1.740,2.268,1.697,2.574,3.910,1.910,1.841,3.115,3.297,2.573,
+1.766,2.584,2.433,0.255,1.237,2.034,2.630,1.837,1.874,3.939,
+7.031,4.607,2.124,3.403,3.872,2.950,1.773,1.874,2.763,0.298,
+1.134,1.838,2.199,2.354,1.247,2.285,3.793,2.730,1.401,1.869,
+2.387,1.371,1.377,1.343,2.102,0.240,1.190,1.722,1.304,1.534,
+1.017,1.444,2.870,3.299,1.540,2.120,0.262,0.402,0.185,0.221,
+2.163,0.316,1.311,1.765,1.380,2.543,1.352,2.030,2.288,1.575,
+1.004,1.683,2.242,2.109,1.160,1.515,2.165,0.184,0.947,1.620,
+1.624,1.478,1.128,2.397,4.635,2.645,1.738,2.994,3.407,2.489,
+2.110,2.226,2.593,0.310,1.254,2.113,2.086,2.060,1.570,2.974,
+0.277,0.290,0.157,0.430,0.240,0.301,0.206,0.185,0.208,0.055,
+0.180,0.252,0.188,0.316,0.174,0.272,2.582,2.707,2.087,2.244,
+0.283,0.273,0.210,0.237,2.046,0.255,1.367,1.777,1.329,2.074,
+1.700,2.020,1.947,1.242,1.184,1.784,2.469,2.224,1.707,2.057,
+1.901,0.181,1.473,2.082,1.565,1.433,1.800,2.723,4.466,1.988,
+1.681,2.874,2.465,1.522,1.532,1.556,2.151,0.187,0.977,1.722,
+2.638,1.769,1.378,3.144,3.401,2.372,1.736,2.753,2.269,2.042,
+1.530,1.733,1.801,0.178,1.311,2.490,1.749,2.078,1.483,2.652,
+2.535,2.353,1.916,2.414,0.201,0.193,0.139,0.203,1.869,0.166,
+1.312,1.944,1.573,1.976,1.748,2.487,2.997,1.621,1.585,2.570,
+2.138,1.646,1.340,1.963,2.373,0.183,1.552,2.634,2.914,2.421,
+2.501,4.362,9.256,3.756,3.865,4.990,2.999,1.920,1.551,2.047,
+3.889,0.307,1.495,2.196,3.399,2.659,1.616,3.194,4.811,3.109,
+1.931,2.598,2.456,1.646,1.499,1.574,2.882,0.273,1.575,2.025,
+2.108,2.318,1.302,2.221,3.283,3.115,2.282,2.991,0.326,0.371,
+0.236,0.429,2.030,0.242,1.130,1.715,1.705,2.517,1.390,2.668,
+3.475,2.127,1.885,3.370,2.659,2.416,1.629,2.478,2.651,0.253,
+1.471,2.520,2.974,2.150,2.386,5.899,0.504,0.336,0.215,0.342,
+0.340,0.282,0.169,0.205,0.261,0.042,0.133,0.196,0.239,0.281,
+0.164,0.280,0.360,0.289,0.164,0.199,0.276,0.257,0.170,0.164,
+0.252,0.050,0.167,0.198,0.179,0.247,0.122,0.192,0.252,0.312,
+0.179,0.226,0.035,0.060,0.042,0.039,0.237,0.054,0.165,0.223,
+0.178,0.318,0.165,0.268,0.391,0.253,0.189,0.377,0.414,0.458,
+0.286,0.401,0.308,0.037,0.208,0.322,0.328,0.279,0.272,0.577,
+3.427,1.919,1.413,1.785,2.136,1.716,1.370,1.448,2.445,0.317,
+1.430,1.903,1.800,1.677,1.456,2.068,0.256,0.253,0.112,0.151,
+0.166,0.198,0.136,0.117,0.209,0.047,0.163,0.176,0.200,0.256,
+0.151,0.191,1.997,2.236,1.368,1.486,0.197,0.309,0.154,0.184,
+1.949,0.311,0.928,1.313,1.181,1.788,1.184,1.412,1.789,1.202,
+0.994,1.293,1.762,1.850,1.301,1.559,2.042,0.246,1.650,2.093,
+1.385,1.546,1.419,2.108,3.320,1.572,1.204,2.177,1.944,1.102,
+0.860,1.127,2.034,0.187,1.035,1.659,2.336,1.633,1.175,2.537,
+3.426,2.456,1.384,1.994,2.290,1.829,1.290,1.370,2.143,0.201,
+1.389,2.037,2.113,2.186,1.407,2.180,2.441,2.260,1.577,2.171,
+0.215,0.238,0.141,0.224,2.123,0.271,1.386,2.563,1.747,2.356,
+1.653,2.524,2.681,1.468,1.471,1.968,2.102,1.733,1.380,1.809,
+2.546,0.225,1.873,2.783,2.914,2.438,2.386,4.374,12.3,4.716,
+3.791,9.526,3.661,2.023,1.910,2.746,3.776,0.332,1.614,2.969,
+6.869,3.763,2.521,6.027,4.391,2.220,1.557,2.608,2.148,1.204,
+1.135,1.472,2.439,0.179,1.352,2.107,2.327,1.791,1.249,2.497,
+4.225,2.850,1.925,3.861,0.311,0.244,0.173,0.434,2.211,0.188,
+1.021,1.967,2.312,2.216,1.389,3.043,5.406,2.494,2.585,6.700,
+3.150,2.103,1.915,3.664,3.123,0.245,1.912,3.373,5.002,3.113,
+3.317,9.322,6.617,3.473,2.288,4.680,3.805,2.400,1.710,2.363,
+3.060,0.278,1.409,2.452,2.983,2.635,1.626,3.124,4.185,2.384,
+1.451,2.366,2.570,1.793,1.252,1.548,2.463,0.292,1.383,2.155,
+1.986,2.008,1.065,2.016,3.237,2.556,1.516,2.688,0.203,0.200,
+0.129,0.239,2.354,0.216,1.310,2.214,2.110,2.503,1.517,2.822,
+3.829,1.959,1.686,3.592,3.008,2.383,1.679,2.992,2.801,0.195,
+1.697,2.806,3.193,2.382,2.346,5.045,3.831,2.136,1.638,2.811,
+2.758,1.710,1.527,2.111,2.752,0.307,1.483,2.338,2.530,2.211,
+1.724,3.096,0.269,0.207,0.129,0.226,0.178,0.167,0.133,0.154,
+0.203,0.032,0.166,0.341,0.225,0.250,0.151,0.270,2.307,2.101,
+1.407,2.106,0.174,0.149,0.121,0.201,2.677,0.212,1.170,1.649,
+1.785,1.933,1.679,2.154,2.341,1.495,1.375,2.233,2.406,1.748,
+1.574,2.426,2.745,0.252,1.640,2.687,2.225,1.941,1.974,3.460,
+6.964,2.682,2.265,4.469,2.845,1.696,2.351,2.085,3.235,0.264,
+1.648,2.635,4.567,2.810,2.402,5.795,3.218,1.907,1.360,2.239,
+2.002,1.329,1.220,1.500,2.057,0.146,1.339,2.386,2.509,2.133,
+1.521,2.994,3.646,2.930,2.026,3.344,0.250,0.188,0.137,0.256,
+2.962,0.208,1.656,2.835,3.075,3.119,2.489,3.769,5.722,2.647,
+2.551,5.421,3.495,2.628,2.161,3.515,4.278,0.231,2.810,4.764,
+6.956,4.265,4.314,9.174,11.3,6.259,4.715,7.764,6.698,3.862,
+2.832,3.485,4.908,0.529,2.273,3.576,6.207,5.014,2.927,4.929,
+5.519,3.807,2.301,2.719,3.773,2.548,2.047,2.018,3.168,0.314,
+2.050,2.452,2.305,2.468,1.836,2.721,3.216,2.870,1.975,2.726,
+0.322,0.282,0.214,0.361,2.083,0.229,1.262,1.625,1.890,2.384,
+1.746,2.525,4.149,2.254,1.771,3.597,3.568,2.654,1.812,2.925,
+2.778,0.375,1.550,2.488,3.158,2.387,2.469,4.422,6.972,4.288,
+2.160,3.357,6.307,3.455,1.935,2.100,3.498,0.567,1.569,2.195,
+2.537,3.171,1.477,2.684,4.087,3.183,1.494,1.902,3.033,1.973,
+1.501,1.554,2.651,0.410,1.818,2.300,1.577,2.149,1.246,2.065,
+2.663,2.798,1.409,1.738,0.445,0.285,0.208,0.224,2.258,0.321,
+1.538,1.848,1.506,2.555,1.605,1.954,2.094,1.566,0.885,1.524,
+2.571,1.946,1.158,1.584,1.911,0.197,1.248,1.871,1.711,1.772,
+1.602,2.814,3.702,2.206,1.363,2.127,3.773,2.644,1.695,1.984,
+3.102,0.401,1.330,1.988,2.142,2.094,1.427,2.788,0.301,0.322,
+0.165,0.229,0.463,0.498,0.235,0.245,0.269,0.075,0.228,0.275,
+0.224,0.425,0.199,0.308,1.751,2.048,1.286,1.445,0.218,0.197,
+0.145,0.204,1.637,0.229,1.246,1.743,1.114,1.614,1.249,1.521,
+1.572,1.101,0.895,1.368,2.154,1.940,1.280,1.749,1.795,0.225,
+1.524,1.892,1.522,1.652,1.659,2.488,4.033,1.919,1.439,2.980,
+2.183,1.290,0.963,1.326,2.291,0.269,1.058,1.731,2.569,1.836,
+1.353,3.233,3.273,2.617,1.591,2.282,2.717,2.329,1.609,1.743,
+1.947,0.218,1.453,2.086,1.747,2.188,1.430,2.355,1.800,1.659,
+1.463,1.843,0.220,0.146,0.223,0.228,1.396,0.152,1.028,1.451,
+1.254,1.706,1.379,1.831,2.456,1.416,1.254,2.376,1.607,1.298,
+1.177,1.638,2.137,0.182,1.498,2.428,2.710,2.440,2.407,4.457,
+6.416,4.177,2.901,4.244,4.485,3.754,2.431,2.538,2.519,0.323,
+1.281,2.003,2.558,2.615,1.554,2.745,4.183,3.268,1.863,2.189,
+3.508,2.669,2.431,2.057,2.121,0.329,1.627,2.054,1.289,1.829,
+1.257,2.266,1.970,2.326,1.611,1.896,0.241,0.301,0.232,0.276,
+1.333,0.193,1.118,1.279,1.090,1.664,1.254,1.815,2.006,1.185,
+1.003,1.805,2.133,2.104,1.339,1.739,1.619,0.234,1.008,1.435,
+1.767,1.430,1.410,2.714,3.931,3.370,1.492,2.021,3.343,3.387,
+1.622,1.565,1.991,0.299,1.145,1.513,1.366,1.893,0.986,1.610,
+2.633,2.414,1.184,1.261,1.661,0.707,1.158,1.048,1.692,0.367,
+1.312,1.750,0.868,1.599,0.979,1.231,1.663,2.623,1.225,1.411,
+0.247,0.400,0.230,0.222,1.620,0.331,1.262,1.641,0.940,2.279,
+1.403,1.635,1.274,1.118,0.652,0.999,1.676,2.069,0.974,1.237,
+1.352,0.174,0.998,1.633,1.019,1.223,1.024,1.937,2.862,2.134,
+1.225,1.707,3.489,3.535,2.045,1.902,2.262,0.449,1.279,1.757,
+1.473,2.547,1.284,2.114,0.221,0.352,0.164,0.211,0.465,0.680,
+0.355,0.230,0.271,0.158,0.350,0.271,0.164,0.899,0.196,0.214,
+1.975,2.479,1.487,1.513,0.536,0.471,0.266,0.239,1.706,0.312,
+1.366,1.609,0.954,2.077,1.691,1.590,1.345,1.087,0.875,1.144,
+3.090,3.678,2.124,1.988,1.827,0.235,1.388,1.763,1.249,1.480,
+1.592,2.184,2.330,1.444,1.004,1.656,1.741,1.384,0.856,1.030,
+1.342,0.151,0.733,1.133,1.439,1.282,0.856,1.817,2.074,2.081,
+1.343,1.876,2.108,2.622,1.486,1.499,1.411,0.264,1.243,1.650,
+1.019,2.225,1.093,1.562,1.467,1.894,1.389,1.535,0.190,0.217,
+0.138,0.156,1.049,0.142,1.017,1.257,0.887,1.467,1.295,1.596,
+1.602,0.998,0.846,1.375,1.454,1.430,1.265,1.330,1.469,0.132,
+1.021,1.548,1.653,1.730,1.642,2.788,4.021,2.808,1.928,2.893,
+2.824,1.879,1.315,1.713,2.164,0.249,1.070,1.558,2.025,1.984,
+1.399,2.301,3.197,3.027,1.337,1.889,2.536,2.238,1.600,1.665,
+2.725,0.395,1.910,2.189,1.422,2.193,1.188,1.891,1.816,2.510,
+1.383,1.918,0.230,0.306,0.212,0.348,1.585,0.260,1.096,1.633,
+1.123,1.971,1.156,2.433,1.770,1.222,0.874,1.827,1.795,1.778,
+1.130,1.729,1.804,0.212,1.291,2.012,1.755,1.423,1.629,3.544,
+0.292,0.236,0.121,0.180,0.500,0.348,0.228,0.198,0.206,0.053,
+0.136,0.173,0.152,0.234,0.231,0.316,0.218,0.296,0.118,0.144,
+0.320,0.404,0.236,0.210,0.263,0.129,0.251,0.264,0.119,0.249,
+0.128,0.162,0.149,0.308,0.149,0.154,0.053,0.119,0.089,0.051,
+0.234,0.110,0.245,0.266,0.122,0.316,0.200,0.234,0.163,0.144,
+0.087,0.169,0.318,0.401,0.203,0.265,0.198,0.043,0.206,0.265,
+0.157,0.181,0.198,0.314,2.549,2.294,1.168,1.485,2.368,2.984,
+1.699,1.660,2.388,0.481,2.991,2.635,1.402,1.913,1.469,2.016,
+0.214,0.545,0.148,0.148,0.246,0.638,0.282,0.183,0.250,0.125,
+0.328,0.267,0.142,0.345,0.179,0.180,1.447,2.817,1.305,1.329,
+0.229,0.446,0.238,0.222,1.980,0.450,1.221,1.664,0.973,2.171,
+1.392,1.528,1.167,1.245,0.780,1.013,1.934,3.673,1.501,1.684,
+2.253,0.426,2.468,2.135,1.164,1.710,1.640,2.004,2.021,1.328,
+0.874,1.658,1.393,1.082,0.682,0.916,1.417,0.179,0.904,1.754,
+1.349,1.307,0.869,1.895,2.311,2.624,1.170,1.500,2.338,3.349,
+1.436,1.530,2.027,0.326,1.693,2.128,1.415,2.292,1.303,1.800,
+1.600,2.204,1.521,1.529,0.170,0.254,0.164,0.174,1.822,0.293,
+1.535,1.918,1.225,2.334,1.552,1.996,1.422,1.057,0.838,1.327,
+1.375,1.509,1.060,1.281,1.900,0.209,1.875,2.239,1.842,1.982,
+1.868,2.808,3.992,2.006,1.526,3.100,1.935,1.143,0.984,1.658,
+1.801,0.172,0.801,1.641,2.214,1.591,1.092,2.484,2.387,1.779,
+0.871,1.463,1.399,1.006,0.805,1.172,1.375,0.137,0.828,1.932,
+1.199,1.039,0.728,1.510,1.545,1.482,0.831,1.502,0.124,0.117,
+0.076,0.186,1.010,0.104,0.588,1.117,0.983,1.129,0.747,1.536,
+2.070,1.112,0.949,2.221,1.368,1.012,0.770,1.608,1.349,0.113,
+0.789,1.638,1.869,1.263,1.434,3.573,3.465,2.114,1.319,2.188,
+2.867,1.962,1.805,1.732,2.007,0.248,1.087,1.760,1.650,1.892,
+1.329,2.156,2.312,1.890,0.902,1.395,2.102,1.824,1.156,1.408,
+1.980,0.365,1.185,1.990,1.282,1.818,0.922,1.698,1.409,1.835,
+0.876,1.258,0.143,0.199,0.115,0.169,1.423,0.214,1.070,1.689,
+1.221,2.157,1.153,1.857,1.481,1.051,0.829,1.505,1.811,1.770,
+1.076,1.893,1.471,0.151,1.155,1.822,1.514,1.531,1.485,2.819,
+2.208,1.468,0.977,1.486,1.896,1.641,1.179,1.486,1.998,0.267,
+1.191,1.756,1.453,1.491,1.264,2.212,0.148,0.172,0.081,0.126,
+0.143,0.225,0.140,0.127,0.132,0.034,0.125,0.167,0.120,0.193,
+0.116,0.172,1.325,1.552,0.885,1.283,0.136,0.149,0.102,0.166,
+1.650,0.208,0.997,1.405,1.074,1.590,1.216,1.573,1.237,1.014,
+0.789,1.247,1.626,1.588,1.060,1.677,1.996,0.309,1.436,1.970,
+1.404,1.536,1.587,2.450,2.842,1.468,1.114,2.115,1.438,1.068,
+0.810,1.041,1.641,0.173,0.919,1.575,1.755,1.281,1.126,2.591,
+1.998,1.439,0.871,1.401,1.495,1.356,0.914,1.138,1.314,0.114,
+0.910,1.477,1.375,1.347,1.023,1.874,2.074,1.784,1.201,1.809,
+0.286,0.137,0.095,0.163,1.718,0.164,1.231,1.840,1.633,2.132,
+1.659,2.358,2.525,1.471,1.342,2.683,2.293,1.897,1.445,2.060,
+2.554,0.213,2.160,3.137,3.445,2.713,2.893,4.195,8.182,3.359,
+3.503,5.099,3.601,2.246,1.995,2.391,4.133,0.341,1.510,2.123,
+4.192,3.223,1.796,3.314,2.906,1.826,1.215,1.710,1.976,1.219,
+1.193,1.304,1.803,0.194,1.049,1.264,1.465,1.463,1.018,1.607,
+3.032,1.914,1.340,1.953,0.223,0.174,0.141,0.273,1.520,0.146,
+0.942,1.275,1.303,1.518,1.174,1.722,3.040,1.548,1.225,2.510,
+2.315,1.674,1.293,2.058,1.736,0.152,1.005,1.576,2.222,1.352,
+1.667,3.235,5.290,2.826,1.883,3.060,3.490,2.379,2.229,2.351,
+2.776,0.353,1.173,1.719,2.214,2.506,1.179,2.228,2.817,2.070,
+1.162,1.552,2.070,1.232,1.363,1.453,2.713,0.657,1.254,1.622,
+1.399,2.080,0.891,1.364,2.477,2.468,1.547,2.019,0.275,0.260,
+0.217,0.276,2.126,0.265,1.383,1.857,1.378,2.064,1.484,1.761,
+2.107,1.345,0.928,1.760,2.399,2.069,1.430,1.978,1.698,0.163,
+1.028,1.603,1.527,1.386,1.449,2.609,3.827,1.606,1.316,2.135,
+3.234,2.126,2.145,2.142,7.346,0.617,1.552,1.926,3.001,2.281,
+1.481,2.709,0.306,0.251,0.152,0.241,0.330,0.299,0.262,0.291,
+0.442,0.080,0.242,0.257,0.355,0.536,0.215,0.349,1.621,1.499,
+1.378,1.483,0.192,0.184,0.176,0.232,1.641,0.273,0.993,1.159,
+1.087,1.842,1.079,1.284,1.436,0.876,0.815,1.295,2.077,1.725,
+1.491,1.963,1.687,0.190,1.115,1.450,1.610,1.460,1.420,2.360,
+3.825,1.475,1.265,2.635,1.909,1.190,1.163,1.655,2.966,0.288,
+1.053,1.571,3.563,2.149,1.315,3.226,2.685,1.663,1.206,1.805,
+2.159,1.428,1.531,1.743,2.216,0.208,1.226,1.653,2.206,2.041,
+1.189,2.107,1.857,1.603,1.523,1.947,0.185,0.144,0.151,0.237,
+1.590,0.160,1.101,1.588,1.487,1.902,1.505,2.139,2.663,1.405,
+1.252,2.582,1.767,1.302,1.265,1.988,2.432,0.200,1.614,2.611,
+3.901,2.817,3.039,6.123,0.453,0.268,0.206,0.291,0.310,0.250,
+0.192,0.233,0.244,0.036,0.118,0.164,0.242,0.265,0.143,0.232,
+0.346,0.237,0.172,0.216,0.284,0.235,0.234,0.230,0.191,0.039,
+0.160,0.168,0.133,0.179,0.128,0.193,0.199,0.222,0.143,0.179,
+0.040,0.041,0.034,0.040,0.155,0.028,0.121,0.148,0.107,0.177,
+0.127,0.174,0.211,0.133,0.108,0.198,0.263,0.245,0.177,0.233,
+0.205,0.026,0.126,0.234,0.182,0.144,0.176,0.299,0.364,0.287,
+0.157,0.242,0.321,0.334,0.242,0.279,0.222,0.053,0.118,0.168,
+0.154,0.225,0.116,0.181,0.300,0.302,0.153,0.173,0.306,0.249,
+0.265,0.274,0.261,0.079,0.172,0.209,0.122,0.216,0.121,0.162,
+0.220,0.308,0.193,0.191,0.051,0.086,0.072,0.048,0.250,0.077,
+0.203,0.219,0.118,0.272,0.203,0.199,0.189,0.148,0.097,0.164,
+0.301,0.367,0.220,0.225,0.182,0.026,0.130,0.185,0.134,0.146,
+0.149,0.259,0.269,0.165,0.113,0.161,0.297,0.309,0.268,0.215,
+0.378,0.079,0.177,0.165,0.176,0.240,0.146,0.211,0.029,0.043,
+0.025,0.031,0.054,0.089,0.078,0.050,0.062,0.048,0.074,0.048,
+0.024,0.073,0.036,0.033,0.178,0.251,0.254,0.224,0.046,0.074,
+0.073,0.051,0.347,0.162,0.212,0.202,0.143,0.485,0.199,0.182,
+0.160,0.106,0.110,0.146,0.275,0.325,0.278,0.278,0.214,0.042,
+0.187,0.200,0.149,0.189,0.184,0.259,0.361,0.247,0.178,0.274,
+0.239,0.189,0.165,0.197,0.271,0.034,0.133,0.178,0.336,0.265,
+0.189,0.376,0.407,0.366,0.255,0.313,0.423,0.408,0.382,0.378,
+0.393,0.064,0.293,0.325,0.317,0.477,0.263,0.365,0.207,0.241,
+0.217,0.237,0.029,0.042,0.035,0.042,0.232,0.043,0.204,0.250,
+0.175,0.287,0.244,0.298,0.296,0.191,0.159,0.270,0.250,0.244,
+0.203,0.260,0.286,0.031,0.219,0.318,0.364,0.324,0.345,0.598,
+3.266,1.746,1.365,2.086,1.768,1.370,0.997,1.272,1.591,0.180,
+0.970,1.111,1.364,1.215,0.844,1.335,2.021,1.565,0.935,1.228,
+1.668,1.331,1.305,1.132,1.631,0.219,1.572,1.424,0.958,1.252,
+0.865,1.172,1.780,2.073,1.543,1.758,0.254,0.280,0.385,0.365,
+2.003,0.253,1.136,1.376,1.061,1.897,1.023,1.449,1.434,0.951,
+0.780,1.620,1.482,1.302,1.313,1.708,1.658,0.171,1.118,1.599,
+1.318,1.116,1.259,2.418,0.230,0.189,0.104,0.168,0.237,0.281,
+0.161,0.173,0.143,0.034,0.103,0.122,0.104,0.141,0.080,0.134,
+0.168,0.165,0.083,0.097,0.200,0.214,0.188,0.147,0.161,0.055,
+0.178,0.163,0.086,0.125,0.079,0.100,0.178,0.256,0.279,0.173,
+0.041,0.077,0.237,0.054,0.200,0.069,0.215,0.205,0.103,0.214,
+0.142,0.150,0.181,0.126,0.100,0.189,0.243,0.292,0.343,0.295,
+0.181,0.029,0.155,0.217,0.126,0.131,0.136,0.234,2.004,1.359,
+0.905,1.044,1.919,2.211,1.807,1.445,1.690,0.293,1.334,1.315,
+0.914,1.137,1.063,1.338,0.164,0.238,0.120,0.110,0.201,0.371,
+0.420,0.152,0.188,0.072,0.289,0.191,0.110,0.203,0.153,0.138,
+1.479,1.725,1.297,1.383,0.212,0.259,0.257,0.305,1.611,0.295,
+0.645,0.934,0.726,1.325,1.045,1.112,1.021,0.727,0.637,0.848,
+1.443,1.485,1.234,1.636,1.401,0.197,1.316,1.341,0.827,1.006,
+1.123,1.405,1.702,0.994,0.770,1.245,1.223,0.956,0.646,0.778,
+1.165,0.144,0.803,1.098,1.067,0.938,0.668,1.242,1.769,1.621,
+0.943,1.064,1.743,1.913,1.621,1.119,1.530,0.219,1.446,1.520,
+1.350,1.545,1.031,1.295,1.612,1.921,1.227,1.556,0.185,0.265,
+0.182,0.283,1.692,0.254,1.684,1.808,1.084,1.797,1.454,1.686,
+1.313,0.866,0.718,1.157,1.435,1.335,0.947,1.310,1.549,0.161,
+1.439,1.721,1.437,1.474,1.500,2.162,3.478,1.493,1.130,2.187,
+1.459,0.899,0.759,1.102,1.331,0.142,0.606,0.995,1.798,1.203,
+0.821,1.761,1.884,1.083,0.689,1.048,1.027,0.708,0.612,0.763,
+0.894,0.079,0.563,0.850,0.783,0.691,0.526,0.942,1.541,1.859,
+0.858,1.375,0.128,0.127,0.098,0.194,1.018,0.106,0.581,0.956,
+0.997,1.133,0.785,1.273,1.853,1.144,0.900,1.870,1.274,0.917,
+0.889,1.563,1.200,0.102,0.682,1.187,1.696,1.078,1.255,2.639,
+3.309,2.064,1.265,2.312,2.152,1.885,1.297,1.555,1.611,0.177,
+0.911,1.390,1.484,1.508,0.868,1.791,2.216,1.721,0.916,1.381,
+1.804,1.570,1.199,1.361,1.444,0.167,1.058,1.477,1.005,1.150,
+0.780,1.200,1.976,2.186,1.684,1.667,0.159,0.211,0.288,0.208,
+1.486,0.192,1.206,1.677,1.180,1.828,1.248,1.759,1.850,1.276,
+1.068,1.778,1.872,1.773,1.517,1.983,1.541,0.142,1.085,1.713,
+1.457,1.390,1.276,2.379,2.263,1.383,1.033,1.407,1.871,1.691,
+1.408,1.570,1.735,0.236,1.070,1.628,1.271,1.304,1.126,2.002,
+0.191,0.191,0.095,0.140,0.186,0.337,0.186,0.172,0.136,0.038,
+0.155,0.176,0.124,0.192,0.123,0.167,1.492,2.228,1.127,1.651,
+0.150,0.197,0.149,0.338,1.598,0.249,1.000,1.366,1.114,2.141,
+1.241,1.497,1.364,1.037,0.866,1.240,1.733,1.577,1.430,2.164,
+1.587,0.163,1.310,1.749,1.394,1.414,1.598,2.189,2.924,1.289,
+1.162,1.956,1.446,1.030,0.921,1.058,1.656,0.213,0.885,1.509,
+1.530,1.085,0.923,2.244,2.189,1.652,0.903,1.373,1.592,1.482,
+1.116,1.196,1.282,0.121,1.096,1.529,1.285,1.214,1.009,1.649,
+1.949,1.952,1.332,2.016,0.170,0.200,0.124,0.229,1.870,0.198,
+1.521,2.189,1.665,2.132,1.813,2.294,2.675,1.421,1.295,2.584,
+2.064,2.167,1.431,2.150,2.288,0.180,1.789,2.865,3.128,2.251,
+2.533,4.281,8.548,3.909,3.480,7.642,3.835,2.089,1.861,2.677,
+3.772,0.319,1.420,2.541,6.989,4.204,2.171,4.777,3.222,1.587,
+1.208,1.865,1.854,1.022,0.918,1.122,1.890,0.132,1.029,1.213,
+1.793,1.474,0.869,1.618,2.698,1.717,1.263,2.327,0.218,0.140,
+0.116,0.259,1.509,0.115,0.776,1.250,1.615,1.558,1.095,2.082,
+5.361,2.062,1.809,3.941,2.709,1.642,1.415,2.420,2.256,0.172,
+1.349,2.092,3.620,2.102,2.167,5.393,4.078,1.838,1.253,2.412,
+2.147,1.142,0.891,1.247,1.747,0.162,0.695,1.181,2.191,1.690,
+0.822,1.896,2.070,1.161,0.703,1.166,1.139,0.610,0.572,0.767,
+1.353,0.158,0.612,0.886,1.156,1.008,0.574,1.041,1.929,1.440,
+0.995,1.547,0.158,0.102,0.089,0.135,1.412,0.110,0.628,1.013,
+1.261,1.292,0.941,1.411,1.928,1.078,0.841,1.687,1.550,1.023,
+0.791,1.190,1.308,0.087,0.689,1.170,1.477,1.125,1.043,2.474,
+3.918,1.406,1.201,2.319,2.289,1.254,1.130,1.784,3.004,0.266,
+0.857,1.384,3.317,2.013,1.174,3.005,0.266,0.143,0.104,0.207,
+0.190,0.130,0.111,0.178,0.208,0.021,0.095,0.150,0.353,0.310,
+0.131,0.301,1.516,1.118,1.100,1.497,0.127,0.086,0.085,0.157,
+1.261,0.120,0.569,0.879,1.271,1.276,0.878,1.319,1.558,0.865,
+0.928,1.701,1.598,1.049,0.965,1.626,1.369,0.112,0.784,1.292,
+1.734,1.328,1.300,2.611,5.400,1.806,1.612,3.940,2.141,1.088,
+1.036,1.785,3.541,0.278,1.238,1.973,8.135,3.298,1.930,5.347,
+2.942,1.450,1.223,2.019,1.756,1.044,1.017,1.449,2.150,0.142,
+1.045,1.585,3.099,2.251,1.278,2.611,2.088,1.509,1.399,2.070,
+0.160,0.105,0.108,0.183,1.800,0.119,0.987,1.542,1.926,1.879,
+1.438,2.367,3.785,1.801,1.658,3.747,2.165,1.427,1.288,2.240,
+2.914,0.186,1.687,2.971,5.363,3.662,3.338,8.039,5.405,2.734,
+2.047,3.975,2.936,1.843,1.475,1.958,2.370,0.236,0.975,1.674,
+2.971,2.771,1.332,2.787,3.247,1.799,1.315,2.218,2.146,1.383,
+1.246,1.421,1.567,0.161,1.635,1.399,1.346,1.417,0.977,1.719,
+2.041,1.861,1.204,1.947,0.204,0.182,0.125,0.219,1.305,0.140,
+0.845,1.317,1.261,1.549,1.078,1.894,2.271,1.276,1.082,2.035,
+2.145,1.604,1.152,1.750,1.610,0.158,0.974,1.608,1.908,1.353,
+1.503,3.056,3.696,2.103,1.247,2.406,2.381,1.718,1.161,1.450,
+1.568,0.177,0.659,1.213,1.679,1.764,0.812,1.747,2.306,1.744,
+0.900,1.391,1.839,1.206,1.012,1.190,1.387,0.171,0.790,1.161,
+1.048,1.217,0.726,1.163,1.790,1.919,1.092,1.558,0.230,0.252,
+0.176,0.194,1.525,0.197,0.876,1.267,1.200,1.744,1.107,1.724,
+1.613,1.190,0.775,1.433,1.884,1.982,1.034,1.319,1.180,0.105,
+0.689,1.225,1.258,1.091,0.967,2.111,2.960,1.347,0.967,1.730,
+2.069,1.422,1.292,1.588,1.971,0.248,0.850,1.117,1.815,1.676,
+1.034,2.148,0.152,0.135,0.084,0.152,0.157,0.174,0.139,0.159,
+0.152,0.039,0.140,0.136,0.160,0.252,0.118,0.176,1.578,1.608,
+1.302,1.551,0.155,0.161,0.135,0.176,1.614,0.268,0.841,1.188,
+1.160,2.028,1.161,1.596,1.596,0.904,0.910,1.506,1.838,1.687,
+1.377,1.759,1.571,0.142,0.974,1.446,1.497,1.289,1.406,2.447,
+3.354,1.554,1.265,2.373,1.609,1.011,0.909,1.248,1.870,0.165,
+0.897,1.292,2.813,1.871,1.279,2.979,2.508,1.710,1.322,1.958,
+1.849,1.479,1.378,1.607,1.785,0.182,1.242,1.606,2.032,2.509,
+1.386,2.254,1.680,1.556,1.311,1.875,0.137,0.132,0.099,0.159,
+1.482,0.131,1.023,1.564,1.421,1.748,1.368,2.256,2.490,1.336,
+1.201,2.156,1.949,1.546,1.225,1.643,2.080,0.153,1.291,2.230,
+2.915,2.220,2.142,4.236,3.328,1.835,1.287,2.473,1.716,1.208,
+0.848,1.302,1.704,0.157,0.777,1.238,1.963,1.473,0.949,1.787,
+2.422,1.725,0.946,1.513,1.527,1.112,0.874,0.969,1.595,0.167,
+0.998,1.280,1.343,1.490,0.883,1.532,1.821,1.938,1.275,1.953,
+0.231,0.219,0.189,0.280,1.519,0.165,0.943,1.573,1.183,1.682,
+1.034,2.001,1.813,1.189,0.949,1.873,1.581,1.369,1.021,1.568,
+1.862,0.172,1.083,1.868,1.929,1.381,1.504,3.267,0.204,0.150,
+0.092,0.194,0.208,0.160,0.097,0.129,0.132,0.021,0.075,0.110,
+0.141,0.156,0.101,0.176,0.148,0.130,0.066,0.101,0.141,0.155,
+0.095,0.099,0.126,0.025,0.106,0.119,0.098,0.125,0.075,0.113,
+0.138,0.184,0.143,0.146,0.022,0.037,0.067,0.027,0.171,0.033,
+0.127,0.171,0.116,0.192,0.124,0.269,0.171,0.125,0.091,0.190,
+0.200,0.222,0.179,0.207,0.167,0.020,0.117,0.182,0.162,0.143,
+0.136,0.284,2.088,1.255,0.848,1.246,1.610,1.481,1.131,1.292,
+1.505,0.226,1.074,1.190,1.194,1.338,1.306,1.807,0.138,0.149,
+0.072,0.103,0.119,0.160,0.112,0.090,0.130,0.032,0.198,0.122,
+0.125,0.191,0.131,0.150,1.393,2.155,1.079,1.380,0.143,0.193,
+0.135,0.163,1.549,0.197,0.750,1.036,0.904,1.483,1.097,1.383,
+1.328,0.974,0.747,1.075,1.473,1.466,1.100,1.368,1.674,0.165,
+1.529,1.524,1.236,1.321,1.415,2.058,2.116,1.088,0.812,1.566,
+1.300,0.907,0.662,0.940,1.413,0.132,0.869,1.226,1.700,1.199,
+1.109,1.929,2.188,1.564,1.012,1.515,1.537,1.464,1.051,1.098,
+1.706,0.159,1.281,1.548,1.825,1.858,1.262,1.896,2.177,2.014,
+1.338,2.014,0.184,0.282,0.130,0.194,1.800,0.174,1.296,1.774,
+1.846,2.042,1.635,2.258,1.883,1.147,1.038,1.660,1.613,1.521,
+1.035,1.440,2.089,0.163,1.630,2.093,2.281,2.090,2.022,3.361,
+6.438,2.331,1.867,4.102,2.160,1.224,1.035,1.794,2.126,0.176,
+0.942,1.796,3.179,1.978,1.334,3.445,2.591,1.399,0.855,1.528,
+1.420,0.893,0.740,1.065,1.415,0.113,0.891,1.294,1.305,1.124,
+0.846,1.591,2.196,2.816,1.084,2.278,0.156,0.168,0.098,0.238,
+1.336,0.128,0.753,1.382,1.472,1.509,1.013,2.088,3.283,1.809,
+1.483,3.520,1.910,1.272,1.153,2.203,1.935,0.141,1.206,2.362,
+3.735,2.010,2.196,6.041,2.874,1.540,1.053,2.185,1.709,1.161,
+0.869,1.240,1.364,0.118,0.649,1.244,1.542,1.305,0.862,2.083,
+1.836,1.161,0.651,1.189,1.180,0.855,0.614,0.874,1.167,0.098,
+0.795,1.199,1.014,1.001,0.724,1.304,1.572,1.433,0.972,1.576,
+0.101,0.113,0.102,0.131,1.311,0.119,0.793,1.336,1.303,1.623,
+1.008,2.095,1.928,1.132,0.971,1.976,1.683,1.290,0.982,1.695,
+1.453,0.102,0.902,1.617,1.837,1.455,1.366,3.136,3.134,1.715,
+1.443,2.155,2.185,1.559,1.383,2.033,2.219,0.232,1.087,1.802,
+2.145,1.808,1.577,3.449,0.191,0.170,0.100,0.176,0.139,0.151,
+0.120,0.145,0.131,0.019,0.108,0.143,0.175,0.196,0.125,0.248,
+1.972,2.039,1.331,2.125,0.138,0.139,0.101,0.204,1.899,0.178,
+1.024,1.607,1.591,1.940,1.491,2.383,2.330,1.543,1.349,2.078,
+2.307,1.772,1.555,2.450,2.357,0.188,1.821,2.520,2.252,1.823,
+2.202,3.754,5.999,2.199,1.860,3.897,2.307,1.493,1.246,1.839,
+2.841,0.209,1.357,2.480,4.061,2.486,2.153,6.424,3.431,2.098,
+1.362,2.261,2.297,2.010,1.336,1.694,2.396,0.155,1.390,2.239,
+2.576,2.193,1.680,3.463,3.384,2.812,2.038,3.493,0.184,0.175,
+0.114,0.237,2.882,0.198,1.984,3.201,3.149,3.200,2.876,4.648,
+6.612,2.969,2.803,6.139,3.535,2.594,2.167,3.835,4.293,0.239,
+3.059,5.469,7.376,4.201,4.504,8.793,7.291,3.796,2.710,4.910,
+4.197,2.613,1.912,2.364,3.922,0.412,1.640,2.554,4.732,3.742,
+2.035,3.422,5.006,2.921,1.617,2.125,2.834,1.908,1.385,1.387,
+2.374,0.229,1.271,1.591,1.772,1.815,1.192,1.819,2.901,2.434,
+1.599,2.114,0.268,0.277,0.195,0.307,1.898,0.222,1.235,1.358,
+1.610,2.214,1.416,1.852,4.256,2.016,1.785,3.105,2.977,2.174,
+1.785,2.644,2.299,0.219,1.273,1.895,2.730,1.875,1.821,3.061,
+4.883,2.518,1.332,2.312,2.919,2.212,1.290,1.468,2.281,0.278,
+0.896,1.350,1.700,1.812,0.898,1.521,3.473,2.361,1.043,1.412,
+2.194,1.639,1.069,1.025,1.885,0.267,1.010,1.366,1.083,1.461,
+0.791,1.061,1.876,2.144,1.015,1.346,0.190,0.250,0.149,0.165,
+1.896,0.277,1.087,1.303,1.017,1.872,1.046,1.322,1.541,1.144,
+0.714,1.165,1.695,1.554,0.908,1.195,1.638,0.164,0.960,1.286,
+1.304,1.244,1.091,1.843,2.449,1.331,0.912,1.372,1.938,1.219,
+1.052,1.141,1.751,0.243,0.753,1.187,1.348,1.329,0.956,1.728,
+0.212,0.192,0.094,0.133,0.179,0.168,0.123,0.121,0.169,0.044,
+0.121,0.158,0.157,0.256,0.128,0.200,1.188,1.164,0.929,0.893,
+0.140,0.139,0.113,0.125,1.254,0.244,0.655,0.815,0.695,1.148,
+0.763,0.809,1.136,0.776,0.686,0.930,1.424,1.190,0.894,1.156,
+1.420,0.169,1.126,1.216,1.085,1.145,1.085,1.560,3.410,1.408,
+0.993,2.092,1.538,0.902,0.826,1.048,1.599,0.156,0.645,1.116,
+2.051,1.441,1.027,2.390,2.875,1.793,1.038,1.418,1.869,1.299,
+1.062,1.103,1.540,0.146,0.885,1.261,1.440,1.583,0.997,1.703,
+1.436,1.296,1.141,1.366,0.142,0.124,0.228,0.150,1.247,0.132,
+0.780,1.090,1.070,1.409,1.052,1.294,2.037,1.174,1.053,1.860,
+1.285,1.021,1.015,1.317,1.817,0.163,1.166,1.813,2.062,1.857,
+1.712,3.083,4.663,3.272,1.883,2.992,2.742,2.360,1.534,1.654,
+1.983,0.251,0.955,1.426,1.775,1.979,1.345,1.950,3.257,3.891,
+1.422,1.644,2.303,1.987,1.492,1.324,1.511,0.244,1.018,1.295,
+0.969,1.357,0.834,1.236,1.687,2.749,1.202,1.329,0.258,0.551,
+0.198,0.218,1.570,0.226,1.165,1.104,0.924,1.593,1.193,1.284,
+1.742,1.152,0.825,1.286,1.963,2.166,1.049,1.284,1.333,0.263,
+0.760,1.093,1.378,1.170,1.050,1.996,3.207,2.801,1.086,1.515,
+2.298,2.648,1.266,1.131,1.571,0.275,0.729,1.031,0.997,1.541,
+0.969,1.324,2.160,2.617,0.920,1.007,1.817,1.247,1.201,0.941,
+1.450,0.315,0.871,1.149,0.733,1.422,0.763,0.878,1.414,2.883,
+1.003,1.104,0.235,0.612,0.224,0.182,1.962,0.560,1.085,1.372,
+0.901,2.967,1.084,1.221,1.084,1.052,0.526,0.765,1.559,2.166,
+0.792,0.920,1.457,0.215,0.676,0.951,0.935,1.422,0.734,1.374,
+1.732,1.522,0.754,1.007,1.757,1.690,1.250,1.083,1.257,0.224,
+0.757,0.927,0.743,1.056,0.812,1.099,0.176,0.391,0.112,0.123,
+0.182,0.297,0.199,0.125,0.179,0.104,0.178,0.168,0.083,0.235,
+0.118,0.122,1.328,1.627,2.621,1.097,0.346,0.298,0.237,0.179,
+1.588,0.294,0.970,1.114,0.658,1.524,1.047,0.954,0.966,0.708,
+0.633,0.841,1.588,1.745,1.182,1.221,1.420,0.182,0.988,1.203,
+0.758,1.021,0.982,1.255,1.491,0.940,0.613,0.959,1.048,0.815,
+0.949,0.669,0.888,0.093,0.402,0.578,0.836,0.730,0.542,0.984,
+1.548,1.766,0.842,0.966,1.249,1.389,0.876,0.885,1.352,0.168,
+0.681,0.910,0.739,1.267,0.680,0.994,1.002,1.284,0.899,0.955,
+0.112,0.161,0.102,0.106,1.012,0.144,0.764,0.961,0.682,1.154,
+1.075,1.116,1.215,0.803,0.610,0.914,1.073,1.065,0.650,0.903,
+1.416,0.233,0.865,1.280,1.249,1.499,1.250,1.901,2.325,1.700,
+0.986,1.715,1.320,1.144,0.699,0.861,1.142,0.143,0.547,0.836,
+1.105,1.107,0.592,1.110,2.099,2.480,1.025,1.234,1.486,1.473,
+0.949,0.881,1.368,0.227,0.881,1.036,0.848,1.340,0.706,0.983,
+1.333,1.873,1.081,1.326,0.173,0.246,0.151,0.221,1.083,0.168,
+0.655,0.844,0.699,1.323,0.687,1.048,1.220,0.842,0.702,1.134,
+1.235,1.106,0.718,0.975,1.115,0.134,0.673,1.079,1.152,1.045,
+0.981,2.303,0.165,0.177,0.075,0.123,0.172,0.239,0.108,0.110,
+0.148,0.042,0.077,0.096,0.095,0.166,0.078,0.111,0.180,0.361,
+0.101,0.123,0.216,0.383,0.161,0.129,0.172,0.075,0.140,0.143,
+0.088,0.209,0.093,0.108,0.105,0.225,0.102,0.107,0.031,0.084,
+0.054,0.031,0.166,0.071,0.147,0.146,0.083,0.250,0.116,0.124,
+0.122,0.110,0.070,0.113,0.233,0.289,0.151,0.175,0.168,0.034,
+0.119,0.149,0.126,0.153,0.120,0.222,1.106,0.891,0.586,0.732,
+0.961,1.009,1.062,0.683,1.204,0.209,0.638,0.730,0.619,0.814,
+0.613,0.755,0.104,0.176,0.071,0.070,0.101,0.162,0.120,0.067,
+0.129,0.054,0.107,0.103,0.079,0.178,0.091,0.087,0.782,1.265,
+0.700,0.654,0.116,0.191,0.136,0.101,1.113,0.239,0.581,0.755,
+0.517,1.330,0.728,0.699,0.710,0.556,0.428,0.489,0.883,1.065,
+0.736,0.722,1.367,0.192,0.800,0.898,0.641,0.989,0.728,0.958,
+1.075,0.679,0.428,0.852,0.759,0.531,0.402,0.443,1.264,0.102,
+0.346,0.576,0.868,0.657,0.409,0.866,1.342,1.271,0.656,0.793,
+1.149,1.141,0.768,0.720,1.103,0.150,0.682,0.893,0.854,1.167,
+0.686,0.887,0.994,1.235,0.781,0.827,0.125,0.177,0.104,0.103,
+1.255,0.245,0.712,0.941,0.734,1.397,0.783,0.987,1.053,0.693,
+0.609,0.733,0.987,1.009,0.722,0.796,1.386,0.153,1.004,1.314,
+1.190,1.325,1.080,1.755,2.657,1.554,1.035,2.104,1.151,0.840,
+0.589,0.773,1.090,0.121,0.475,0.880,1.527,1.186,0.722,1.677,
+1.335,0.983,0.551,1.029,0.831,0.608,0.427,0.539,0.768,0.083,
+0.380,0.659,0.678,0.690,0.413,0.779,1.183,1.106,0.633,1.149,
+0.117,0.129,0.070,0.151,0.844,0.082,0.399,0.641,0.701,0.851,
+0.533,0.923,1.484,0.813,0.697,1.606,1.059,0.838,0.597,1.024,
+0.951,0.087,0.566,0.954,1.425,1.047,0.976,2.528,2.195,1.518,
+0.826,1.476,1.598,1.422,0.750,0.941,1.335,0.174,0.589,0.972,
+1.110,1.365,0.673,1.192,1.620,1.707,0.633,1.174,1.419,1.507,
+0.756,0.842,1.210,0.213,0.688,1.073,0.814,1.254,0.610,0.978,
+1.011,1.217,0.562,0.894,0.101,0.162,0.084,0.116,1.116,0.156,
+0.704,0.935,0.787,1.435,0.799,1.053,1.029,0.729,0.502,0.957,
+1.242,1.261,0.715,1.137,1.085,0.107,0.675,1.010,1.047,1.053,
+0.852,1.661,1.161,0.826,0.496,0.804,0.971,0.758,0.601,0.715,
+1.139,0.242,0.629,0.980,0.781,0.951,0.667,1.089,0.090,0.117,
+0.049,0.086,0.074,0.104,0.063,0.063,0.135,0.064,0.093,0.171,
+0.082,0.177,0.072,0.110,0.746,0.888,0.584,0.680,0.082,0.094,
+0.101,0.086,0.890,0.128,0.488,0.711,0.543,0.933,0.791,0.806,
+0.740,0.570,0.419,0.646,0.960,0.870,0.670,0.878,1.141,0.162,
+0.677,1.012,0.760,0.912,0.774,1.268,1.961,0.923,0.624,1.215,
+0.999,0.686,0.486,0.660,2.131,0.130,0.449,0.785,1.476,0.960,
+0.711,1.641,1.086,0.788,0.452,0.806,0.873,0.659,0.532,0.650,
+0.937,0.108,0.503,0.975,0.800,0.943,0.555,1.038,1.246,1.154,
+0.704,1.123,0.110,0.107,0.070,0.110,1.297,0.123,0.699,1.093,
+1.078,1.413,1.157,1.404,1.739,0.985,0.800,1.694,1.403,1.310,
+0.925,1.313,1.818,0.129,1.136,1.920,2.258,1.797,1.737,3.394,
+4.125,2.690,1.920,2.995,2.823,2.219,1.344,1.525,2.283,0.292,
+1.073,1.704,2.373,2.321,1.175,2.036,3.052,2.419,1.274,1.550,
+2.720,2.123,1.367,1.232,1.814,0.259,1.307,1.508,1.099,1.522,
+0.999,1.319,1.376,1.425,0.949,1.158,0.156,0.179,0.143,0.181,
+1.063,0.153,0.717,0.783,0.795,1.218,0.848,1.063,1.687,1.007,
+0.852,1.441,1.550,1.399,1.018,1.302,1.229,0.159,0.767,1.097,
+1.344,1.089,1.079,1.827,3.174,2.215,1.060,1.940,2.507,2.222,
+1.079,1.139,1.744,0.308,0.947,1.187,1.150,1.581,0.685,1.176,
+2.438,2.516,0.957,1.530,2.319,2.029,1.147,1.128,1.815,0.501,
+1.675,2.112,0.896,1.779,0.825,1.211,1.085,1.673,0.781,0.858,
+0.174,0.296,0.212,0.154,1.299,0.312,1.068,1.058,0.732,1.689,
+0.953,1.025,0.825,0.769,0.497,0.657,1.202,1.364,1.096,0.891,
+1.014,0.151,0.723,1.107,0.776,0.962,0.921,1.440,1.375,0.957,
+0.625,0.828,1.511,1.276,0.871,0.896,1.474,0.233,0.684,0.886,
+0.801,1.009,0.651,1.154,0.120,0.172,0.102,0.105,0.182,0.246,
+0.155,0.130,0.160,0.080,0.162,0.162,0.092,0.244,0.114,0.144,
+0.647,0.878,0.667,0.580,0.103,0.137,0.112,0.104,0.837,0.170,
+0.675,0.730,0.441,0.879,0.624,0.626,0.654,0.505,0.652,0.584,
+0.910,0.970,0.685,0.806,0.953,0.157,0.715,0.879,0.642,0.893,
+0.885,1.141,1.596,0.746,0.521,1.070,0.861,0.584,0.408,0.542,
+0.931,0.099,0.394,0.585,0.985,0.824,0.527,1.265,1.443,1.202,
+0.732,0.934,1.466,1.319,0.812,0.920,0.997,0.147,0.706,0.965,
+0.702,1.177,0.626,0.965,0.732,0.766,0.953,0.810,0.078,0.090,
+0.169,0.101,0.714,0.104,0.612,0.719,0.534,0.852,0.677,0.782,
+1.108,0.715,1.160,1.095,0.689,0.721,0.748,0.747,1.017,0.118,
+0.745,1.062,1.109,1.220,1.095,1.946,2.874,2.104,1.273,1.872,
+2.196,2.278,1.358,1.283,1.313,0.191,0.705,0.947,1.109,1.280,
+0.694,1.152,2.166,2.163,1.190,1.185,2.241,2.616,2.388,1.452,
+1.217,0.274,1.057,1.194,0.655,1.207,0.689,0.935,0.975,1.413,
+0.892,0.868,0.140,0.249,0.180,0.163,0.878,0.167,0.792,0.763,
+0.869,1.033,0.719,0.879,0.892,0.618,0.480,0.784,1.097,1.339,
+0.792,0.851,0.745,0.106,0.608,0.732,1.522,0.772,0.706,1.236,
+2.205,1.879,0.723,0.945,1.692,2.245,0.942,0.830,1.233,0.241,
+0.666,0.807,0.688,1.107,0.485,0.802,1.314,1.305,0.605,0.667,
+0.700,0.558,0.590,0.516,0.969,0.414,0.702,0.911,0.448,1.197,
+0.535,0.617,0.784,1.659,0.689,0.706,0.167,0.567,0.249,0.168,
+1.065,0.362,0.804,1.058,0.534,1.705,0.856,0.914,0.554,0.629,
+0.374,0.455,0.970,1.751,0.675,0.738,0.792,0.161,0.644,0.857,
+0.558,0.850,0.562,1.077,1.182,1.066,0.994,0.750,1.551,1.955,
+1.176,0.965,1.055,0.223,0.732,0.787,0.563,0.957,0.650,0.856,
+0.115,0.258,0.250,0.118,0.250,0.624,0.321,0.174,0.168,0.162,
+0.263,0.181,0.069,0.292,0.133,0.109,0.749,1.314,0.841,0.727,
+0.171,0.358,0.244,0.158,0.965,0.255,0.783,0.889,0.461,1.383,
+0.919,0.858,0.563,0.512,0.427,0.502,1.160,1.798,1.182,1.043,
+1.280,0.184,0.991,1.022,0.635,0.861,0.937,1.100,0.943,0.653,
+0.459,0.673,0.802,0.764,0.406,0.456,0.694,0.079,0.333,0.427,
+0.576,0.567,0.372,0.663,0.947,1.244,0.952,0.817,1.268,2.055,
+0.925,0.917,0.838,0.179,0.670,0.804,0.482,1.141,0.579,0.720,
+0.630,0.985,0.658,0.686,0.076,0.168,0.100,0.093,0.653,0.129,
+0.744,0.772,0.443,0.943,0.895,0.901,0.664,0.550,0.382,0.596,
+0.657,0.933,0.521,0.675,0.920,0.111,0.649,0.839,0.729,0.963,
+0.911,1.443,1.824,1.444,0.760,1.240,1.318,1.136,0.595,0.811,
+1.507,0.160,0.507,0.676,0.889,0.945,0.489,0.897,1.932,2.315,
+0.791,1.169,2.166,1.944,1.251,1.166,1.501,0.310,1.179,1.248,
+0.734,1.379,0.631,0.922,0.907,1.429,0.773,1.004,0.179,0.231,
+0.141,0.211,0.966,0.195,0.629,0.857,0.563,1.225,0.607,0.852,
+0.829,0.621,0.409,0.833,1.350,1.085,0.625,0.895,0.908,0.135,
+0.681,0.986,0.842,0.853,0.782,1.574,0.170,0.159,0.064,0.101,
+0.212,0.307,0.141,0.125,0.287,0.057,0.093,0.097,0.087,0.160,
+0.093,0.117,0.178,0.422,0.104,0.208,0.361,0.649,0.350,0.237,
+0.247,0.276,0.277,0.238,0.080,0.265,0.097,0.114,0.084,0.233,
+0.115,0.098,0.063,0.184,0.116,0.051,0.183,0.138,0.232,0.228,
+0.069,0.272,0.153,0.117,0.091,0.081,0.042,0.074,0.557,0.341,
+0.149,0.171,0.125,0.045,0.143,0.155,0.080,0.114,0.100,0.152,
+1.098,1.308,0.719,0.742,1.272,1.968,1.000,0.859,1.270,0.296,
+0.836,0.873,0.619,1.009,0.652,0.920,0.138,0.434,0.120,0.100,
+0.209,0.543,0.264,0.145,0.195,0.151,0.270,0.184,0.082,0.257,
+0.123,0.111,0.708,1.496,0.711,0.653,0.144,0.326,0.188,0.133,
+1.146,0.336,0.651,0.895,0.469,1.370,0.744,0.750,0.567,0.586,
+0.361,0.508,1.041,1.632,0.855,0.996,1.374,0.252,1.290,1.185,
+0.584,0.977,0.836,1.077,0.904,0.704,0.430,0.885,0.747,0.612,
+0.336,0.455,0.786,0.100,0.374,0.606,0.608,0.617,0.347,0.903,
+1.374,2.037,0.717,0.853,2.109,2.173,1.109,1.291,1.593,0.305,
+1.119,1.317,0.811,1.515,0.755,1.000,0.855,1.329,1.097,0.823,
+0.101,0.208,0.133,0.112,1.067,0.240,0.915,1.064,0.596,1.497,
+0.829,0.938,0.757,0.647,0.464,0.723,0.832,0.985,0.596,0.744,
+1.195,0.151,1.127,1.289,0.921,1.266,1.024,1.481,1.516,0.934,
+0.601,1.219,0.900,0.667,0.403,0.681,0.821,0.089,0.363,0.651,
+0.841,0.716,0.417,1.053,1.178,0.978,0.431,0.727,0.859,0.716,
+0.444,0.601,0.652,0.087,0.375,0.628,0.500,0.590,0.311,0.648,
+0.713,0.751,0.401,0.743,0.066,0.071,0.043,0.099,0.597,0.071,
+0.315,0.508,0.469,0.620,0.361,0.623,0.818,0.520,0.386,0.980,
+0.660,0.535,0.363,0.752,0.653,0.062,0.372,0.695,0.820,0.621,
+0.566,1.483,1.577,1.123,0.538,0.945,1.300,1.382,0.718,0.826,
+1.368,0.185,0.590,0.828,0.783,1.132,0.649,0.953,1.292,1.546,
+0.513,0.928,1.706,1.930,0.932,1.008,1.347,0.347,0.818,1.221,
+0.724,1.463,0.572,0.887,0.603,0.998,0.487,0.640,0.098,0.187,
+0.105,0.120,0.900,0.166,0.672,0.849,0.568,1.197,0.669,0.787,
+0.570,0.476,0.340,0.619,1.167,1.121,0.598,1.017,0.796,0.105,
+0.615,0.852,0.634,0.770,0.627,1.157,0.891,0.744,0.414,0.562,
+0.947,1.059,0.623,0.685,1.009,0.161,0.578,0.751,0.603,0.736,
+0.531,0.890,0.069,0.131,0.046,0.063,0.084,0.190,0.091,0.077,
+0.087,0.038,0.087,0.093,0.056,0.122,0.064,0.082,0.501,0.784,
+0.422,0.511,0.068,0.108,0.076,0.084,0.799,0.158,0.585,0.755,
+0.432,0.907,0.591,0.685,0.500,0.484,0.310,0.497,0.748,0.898,
+0.573,0.797,1.038,0.183,0.745,0.960,0.604,0.855,0.708,1.059,
+1.128,0.726,0.404,0.799,0.640,0.574,0.315,0.447,0.763,0.074,
+0.377,0.542,0.710,0.582,0.431,1.004,0.891,0.799,0.379,0.621,
+0.821,0.907,0.495,0.694,0.930,0.097,0.510,0.721,0.626,0.738,
+0.469,0.891,0.806,0.787,0.535,0.746,0.077,0.079,0.053,0.083,
+0.804,0.098,0.615,0.826,0.624,0.994,0.791,0.964,1.016,0.639,
+0.503,1.040,0.906,0.996,0.650,0.995,1.176,0.111,0.933,1.397,
+1.392,1.333,1.252,1.848,2.299,1.594,1.321,1.990,1.727,1.386,
+1.015,1.137,1.441,0.168,0.683,1.071,1.642,1.489,0.874,1.419,
+1.519,1.252,0.993,0.928,1.166,0.855,0.783,0.726,0.897,0.120,
+0.597,0.699,0.691,0.864,0.637,0.838,1.164,1.202,0.710,1.148,
+0.116,0.122,0.087,0.159,0.751,0.097,0.506,0.952,0.555,0.787,
+0.567,0.844,1.241,0.724,0.551,1.058,1.126,1.011,0.673,0.935,
+0.822,0.087,0.730,0.842,0.959,0.703,0.896,1.387,2.258,1.752,
+0.883,1.357,2.004,1.841,1.240,1.119,1.253,0.202,0.586,0.762,
+0.941,1.297,0.715,1.053,1.700,2.010,0.802,0.920,1.586,1.313,
+1.188,0.928,1.429,0.308,0.815,1.038,0.726,1.338,0.641,0.812,
+1.212,1.780,0.896,1.117,0.200,0.303,0.202,0.205,1.388,0.288,
+1.070,1.469,0.697,1.554,0.970,1.047,0.924,0.745,0.421,0.738,
+1.842,1.848,0.828,1.097,0.916,0.117,0.613,0.837,0.763,0.785,
+0.740,1.348,1.212,0.789,0.529,0.858,1.456,1.179,1.040,1.095,
+1.596,0.265,0.623,0.750,0.953,1.137,0.658,1.049,0.120,0.174,
+0.079,0.132,0.157,0.194,0.160,0.194,0.206,0.073,0.158,0.141,
+0.136,0.333,0.134,0.180,0.744,0.855,0.762,0.783,0.119,0.140,
+0.139,0.155,0.946,0.247,0.582,0.621,0.543,1.201,0.624,0.683,
+0.621,0.428,0.352,0.602,0.988,1.000,0.791,1.002,0.827,0.124,
+0.994,0.765,0.747,0.765,0.766,1.485,1.255,0.665,0.474,0.968,
+0.745,0.508,0.474,0.677,0.841,0.096,0.357,0.522,1.116,0.915,
+0.530,1.169,1.111,1.284,0.548,0.838,0.925,0.843,0.735,1.088,
+1.020,0.156,0.635,0.759,0.844,1.282,0.619,0.978,0.763,0.875,
+0.696,0.884,0.088,0.096,0.100,0.131,0.836,0.116,0.664,0.865,
+0.681,1.084,0.822,1.007,1.009,0.665,0.528,1.070,0.774,0.650,
+0.634,0.892,1.074,0.115,0.860,1.110,1.473,1.367,1.467,2.379,
+0.132,0.131,0.156,0.105,0.129,0.159,0.098,0.098,0.091,0.022,
+0.053,0.067,0.078,0.106,0.072,0.087,0.159,0.197,0.278,0.118,
+0.190,0.224,0.220,0.139,0.120,0.067,0.129,0.106,0.064,0.138,
+0.091,0.087,0.104,0.273,0.090,0.082,0.024,0.051,0.034,0.026,
+0.084,0.032,0.091,0.092,0.045,0.109,0.084,0.085,0.082,0.075,
+0.054,0.079,0.124,0.163,0.099,0.106,0.101,0.022,0.157,0.155,
+0.082,0.081,0.195,0.142,0.138,0.187,0.078,0.084,0.190,0.325,
+0.190,0.110,0.104,0.050,0.077,0.072,0.059,0.122,0.168,0.085,
+0.194,0.354,0.137,0.105,0.333,0.388,0.370,0.192,0.225,0.191,
+0.178,0.161,0.082,0.242,0.118,0.097,0.108,0.278,0.121,0.100,
+0.061,0.261,0.134,0.051,0.195,0.155,0.208,0.173,0.063,0.272,
+0.171,0.125,0.077,0.088,0.048,0.062,0.194,0.340,0.140,0.125,
+0.106,0.033,0.094,0.091,0.060,0.093,0.089,0.131,0.084,0.084,
+0.054,0.076,0.141,0.214,0.176,0.165,0.159,0.071,0.109,0.081,
+0.057,0.147,0.075,0.080,0.022,0.062,0.028,0.034,0.059,0.152,
+0.127,0.084,0.075,0.130,0.107,0.058,0.015,0.085,0.041,0.026,
+0.085,0.176,0.214,0.130,0.046,0.116,0.125,0.049,0.275,0.283,
+0.200,0.146,0.073,0.395,0.161,0.109,0.065,0.058,0.053,0.064,
+0.139,0.238,0.193,0.146,0.137,0.060,0.167,0.125,0.065,0.114,
+0.115,0.143,0.092,0.102,0.054,0.080,0.079,0.081,0.060,0.087,
+0.077,0.015,0.044,0.052,0.086,0.099,0.063,0.106,0.194,0.552,
+0.111,0.152,0.187,0.266,0.210,0.357,0.195,0.078,0.146,0.142,
+0.113,0.331,0.123,0.147,0.069,0.133,0.099,0.095,0.016,0.039,
+0.033,0.027,0.123,0.050,0.144,0.147,0.070,0.178,0.146,0.131,
+0.084,0.078,0.054,0.083,0.086,0.112,0.081,0.101,0.120,0.024,
+0.113,0.131,0.108,0.145,0.148,0.196,1.419,1.093,0.772,1.126,
+1.283,1.201,0.752,0.835,1.080,0.138,0.475,0.639,0.747,0.739,
+0.463,0.763,1.235,1.305,0.778,0.850,1.493,1.334,1.698,1.098,
+1.177,0.223,0.980,0.935,0.612,1.022,0.645,0.804,0.875,1.409,
+0.846,1.059,0.159,0.258,0.192,0.268,1.522,0.563,0.770,0.944,
+0.608,1.776,0.692,0.898,0.758,0.554,0.402,0.756,0.942,0.964,
+0.702,1.032,0.876,0.143,0.663,1.008,0.785,0.840,0.788,1.403,
+0.119,0.137,0.063,0.095,0.324,0.366,0.177,0.141,0.111,0.038,
+0.084,0.094,0.062,0.103,0.058,0.083,0.121,0.197,0.103,0.088,
+0.259,0.324,0.492,0.238,0.166,0.109,0.228,0.178,0.063,0.153,
+0.095,0.084,0.088,0.230,0.117,0.102,0.045,0.141,0.114,0.053,
+0.193,0.178,0.239,0.211,0.068,0.246,0.144,0.118,0.084,0.075,
+0.046,0.081,0.187,0.254,0.150,0.178,0.113,0.037,0.123,0.144,
+0.071,0.097,0.089,0.138,0.887,0.961,0.473,0.493,1.300,1.877,
+1.639,0.881,0.949,0.241,0.813,0.746,0.475,0.777,0.634,0.752,
+0.093,0.203,0.102,0.071,0.165,0.336,0.711,0.136,0.155,0.105,
+0.280,0.145,0.074,0.187,0.122,0.100,0.758,1.304,0.875,0.740,
+0.162,0.289,0.310,0.174,1.018,0.263,0.457,0.681,0.417,1.005,
+0.855,0.756,0.516,0.490,0.353,0.404,0.927,1.319,1.067,0.890,
+0.947,0.182,0.871,0.877,0.505,0.747,0.783,0.915,0.757,0.545,
+0.377,0.600,0.699,0.636,0.440,0.436,0.597,0.086,0.402,0.533,
+0.574,0.554,0.356,0.691,1.025,1.205,0.664,0.664,1.351,1.809,
+1.869,0.942,1.016,0.207,1.032,0.990,0.914,1.240,0.761,0.893,
+0.868,1.539,0.808,0.883,0.133,0.270,0.178,0.153,1.193,0.235,
+1.476,1.378,0.667,1.388,1.010,1.064,0.694,0.563,0.407,0.637,
+0.794,0.978,0.683,0.764,1.013,0.137,1.004,1.157,0.828,1.083,
+0.999,1.379,1.365,0.804,0.561,1.047,0.832,0.618,0.474,0.687,
+0.745,0.089,0.304,0.538,0.808,0.725,0.407,1.251,0.915,0.702,
+0.388,0.522,0.725,0.480,0.443,0.459,0.499,0.056,0.306,0.443,
+0.424,0.460,0.323,0.507,0.742,0.805,0.431,0.695,0.080,0.084,
+0.060,0.113,0.605,0.084,0.346,0.538,0.528,0.741,0.701,0.851,
+0.871,0.523,0.401,0.757,0.755,0.574,0.444,0.766,0.591,0.060,
+0.354,0.581,0.885,0.723,0.645,1.377,1.560,1.224,0.653,1.116,
+1.598,1.542,0.963,1.010,0.920,0.145,0.573,0.771,0.705,0.957,
+0.501,0.903,1.440,1.680,0.664,0.842,2.110,1.535,1.436,1.176,
+1.092,0.210,0.846,1.051,0.618,1.074,0.779,0.810,0.936,1.556,
+0.741,0.927,0.136,0.258,0.160,0.175,1.132,0.236,0.928,1.219,
+0.734,1.610,0.923,1.166,0.841,0.669,0.498,0.774,1.198,1.300,
+0.919,1.332,0.931,0.116,0.700,1.005,0.783,0.909,0.745,1.383,
+0.994,0.800,0.485,0.670,1.215,1.139,0.940,0.901,1.022,0.244,
+0.607,0.927,0.590,0.886,0.597,0.953,0.087,0.111,0.049,0.068,
+0.113,0.177,0.161,0.106,0.092,0.044,0.110,0.123,0.058,0.129,
+0.079,0.093,0.762,1.124,0.692,0.807,0.114,0.177,0.146,0.150,
+1.043,0.217,0.702,0.917,0.554,1.158,0.884,0.931,0.664,0.558,
+0.420,0.584,1.072,1.152,1.031,1.240,0.935,0.139,0.813,1.075,
+0.697,0.848,0.903,1.243,1.116,0.621,0.432,0.794,0.722,0.544,
+0.453,0.519,0.713,0.088,0.364,0.601,0.753,0.651,0.485,1.066,
+1.060,0.945,0.410,0.610,0.818,0.819,0.707,0.692,0.727,0.089,
+0.519,0.785,0.561,0.758,0.537,0.850,0.906,1.116,0.676,1.006,
+0.094,0.128,0.080,0.125,1.199,0.152,0.966,1.387,0.858,1.349,
+1.088,1.293,1.164,0.750,0.594,1.224,1.074,1.097,0.875,1.229,
+1.247,0.115,1.029,1.575,1.434,1.337,1.367,1.943,2.230,1.311,
+1.152,2.382,1.285,0.849,0.645,0.957,1.295,0.127,0.476,0.901,
+1.846,1.447,0.703,1.568,1.335,0.840,0.600,0.826,0.812,0.519,
+0.409,0.501,0.731,0.071,0.441,0.521,0.797,0.814,0.506,0.853,
+1.040,0.824,0.551,0.925,0.084,0.072,0.052,0.107,0.648,0.061,
+0.348,0.532,0.657,0.776,0.501,0.915,1.403,0.708,0.605,1.229,
+0.947,0.676,0.510,0.819,0.814,0.079,0.910,0.757,1.196,0.798,
+0.860,1.793,1.666,0.952,0.529,1.158,1.140,0.703,0.440,0.619,
+0.764,0.087,0.293,0.523,0.822,0.777,0.381,0.818,0.977,0.791,
+0.361,0.573,0.676,0.547,0.349,0.443,0.669,0.080,0.299,0.493,
+0.606,0.675,0.344,0.564,0.691,0.704,0.416,0.661,0.063,0.075,
+0.047,0.070,0.670,0.088,0.355,0.555,0.598,1.139,0.454,0.668,
+0.695,0.509,0.312,0.660,0.679,0.594,0.323,0.520,0.577,0.053,
+0.490,0.522,0.633,0.566,0.537,1.051,1.096,0.551,0.449,0.812,
+0.855,0.556,0.506,0.784,0.879,0.111,0.316,0.535,0.913,0.742,
+0.428,0.972,0.072,0.063,0.037,0.070,0.064,0.058,0.044,0.070,
+0.068,0.014,0.039,0.055,0.105,0.141,0.055,0.106,0.523,0.549,
+0.426,0.555,0.051,0.054,0.044,0.065,0.536,0.070,0.316,0.400,
+0.472,0.645,0.412,0.546,0.538,0.370,0.306,0.631,0.610,0.531,
+0.379,0.613,0.578,0.059,0.407,0.528,0.661,0.561,0.545,1.051,
+1.476,0.620,0.492,1.237,0.704,0.415,0.381,0.616,1.024,0.099,
+0.341,0.599,1.890,1.055,0.560,1.467,0.906,0.625,0.404,0.696,
+0.621,0.449,0.367,0.556,0.710,0.069,0.363,0.532,1.055,1.147,
+0.532,1.027,0.718,0.694,0.505,0.765,0.057,0.049,0.045,0.070,
+0.610,0.055,0.412,0.590,0.714,0.828,0.615,0.965,1.141,0.744,
+0.573,1.279,0.717,0.540,0.463,0.789,0.979,0.080,0.666,1.022,
+1.604,1.324,1.335,2.838,2.089,1.345,1.032,1.667,1.382,1.071,
+0.697,0.943,1.043,0.126,0.501,0.764,1.182,1.174,0.601,1.194,
+1.567,1.179,1.070,1.038,1.268,1.051,0.819,0.814,0.934,0.147,
+1.474,0.853,0.640,1.036,0.623,0.859,0.957,1.346,0.656,0.965,
+0.107,0.148,0.087,0.136,0.730,0.111,0.539,0.771,0.625,0.932,
+0.647,1.044,0.979,0.646,0.527,0.982,1.051,1.011,0.640,0.934,
+0.778,0.101,0.835,0.862,0.903,0.741,0.921,1.494,1.617,1.303,
+0.564,1.024,1.267,1.249,0.680,0.747,0.803,0.133,0.379,0.558,
+0.696,0.896,0.596,0.830,1.382,1.627,0.602,0.798,1.416,1.209,
+0.834,0.881,0.970,0.223,0.585,0.768,0.629,1.153,0.538,0.742,
+0.838,1.259,0.626,0.850,0.118,0.215,0.129,0.128,0.987,0.199,
+0.648,0.854,0.635,1.310,0.788,1.025,0.751,0.686,0.411,0.741,
+1.055,1.347,0.581,0.815,0.765,0.092,0.546,0.733,0.695,0.770,
+0.641,1.227,0.970,0.618,0.405,0.795,0.992,0.937,0.732,1.232,
+0.953,0.192,0.462,0.557,0.675,0.953,0.457,0.844,0.067,0.106,
+0.053,0.095,0.096,0.161,0.110,0.156,0.115,0.073,0.107,0.087,
+0.079,0.265,0.077,0.098,0.697,1.013,0.740,0.743,0.092,0.141,
+0.108,0.124,0.976,0.263,0.534,0.702,0.560,1.346,0.691,0.802,
+0.664,0.547,0.406,0.683,0.936,1.235,0.796,0.954,0.903,0.106,
+0.585,0.788,0.706,0.747,0.734,1.219,1.037,0.638,0.445,0.819,
+0.657,0.513,0.396,0.598,0.819,0.096,0.361,0.509,1.172,1.014,
+0.506,1.071,1.065,1.288,0.633,0.919,0.937,1.043,0.788,1.129,
+1.151,0.241,0.682,0.819,1.287,3.769,0.822,1.274,0.678,0.898,
+0.599,0.811,0.066,0.097,0.065,0.092,0.808,0.114,0.682,0.937,
+0.660,1.201,0.824,1.113,0.901,0.656,0.508,0.849,0.805,0.851,
+0.541,0.830,0.993,0.099,0.716,1.131,1.170,1.274,1.143,1.981,
+1.327,0.916,0.543,1.051,0.800,0.684,0.388,0.589,0.742,0.078,
+0.327,0.553,0.724,0.646,0.362,0.789,1.146,1.003,0.506,0.714,
+1.103,0.851,0.604,0.598,0.828,0.120,0.570,0.681,0.575,0.841,
+0.492,0.763,0.784,0.996,0.641,0.950,0.102,0.131,0.089,0.160,
+0.801,0.123,0.560,0.752,0.548,0.977,0.579,0.902,0.778,0.543,
+0.394,0.829,0.785,0.711,0.475,0.753,0.814,0.097,0.543,0.876,
+0.875,0.777,0.738,1.549,0.079,0.079,0.040,0.076,0.084,0.107,
+0.047,0.062,0.057,0.013,0.037,0.049,0.050,0.073,0.041,0.073,
+0.074,0.100,0.040,0.050,0.120,0.187,0.094,0.079,0.079,0.031,
+0.085,0.079,0.046,0.094,0.050,0.060,0.051,0.092,0.047,0.056,
+0.013,0.032,0.021,0.014,0.091,0.033,0.099,0.083,0.050,0.113,
+0.066,0.076,0.062,0.057,0.033,0.069,0.096,0.126,0.063,0.092,
+0.075,0.018,0.068,0.089,0.068,0.078,0.063,0.124,0.773,0.637,
+0.350,0.476,0.747,0.853,0.592,0.589,0.696,0.133,0.409,0.531,
+0.474,0.621,0.499,0.776,0.060,0.092,0.038,0.045,0.072,0.115,
+0.089,0.053,0.073,0.033,0.073,0.066,0.054,0.126,0.070,0.086,
+0.584,1.146,0.552,0.596,0.083,0.150,0.106,0.090,0.874,0.163,
+0.417,0.620,0.435,0.935,0.599,0.708,0.528,0.528,0.321,0.452,
+0.726,0.910,0.631,0.683,0.917,0.124,0.662,0.783,0.607,0.744,
+0.694,0.985,0.814,0.484,0.335,0.627,0.576,0.460,0.328,0.439,
+0.596,0.069,0.342,0.507,0.609,0.565,0.409,0.794,0.908,0.824,
+0.480,0.633,0.846,0.878,0.643,0.597,0.800,0.117,0.589,0.736,
+0.684,1.098,0.681,0.938,1.326,1.099,0.702,0.815,0.153,0.128,
+0.119,0.094,1.009,0.123,0.734,0.966,0.952,1.166,0.869,1.114,
+0.821,0.620,0.484,0.757,0.767,0.772,0.593,0.700,1.078,0.104,
+0.857,1.168,1.062,1.143,1.028,1.640,2.017,0.888,0.640,1.418,
+0.941,0.572,0.413,0.803,0.866,0.082,0.340,0.694,1.097,0.823,
+0.471,1.272,1.044,0.626,0.346,0.575,0.702,0.466,0.335,0.484,
+0.565,0.056,0.347,0.484,0.484,0.502,0.318,0.638,0.795,0.803,
+0.435,0.897,0.072,0.075,0.046,0.112,0.624,0.064,0.337,0.577,
+0.596,0.690,0.444,0.849,1.034,0.583,0.459,1.077,0.690,0.506,
+0.409,0.779,0.719,0.060,0.416,0.796,1.126,0.792,0.717,1.973,
+1.385,0.835,0.516,1.067,0.866,0.698,0.448,0.652,0.657,0.070,
+0.340,0.575,0.656,0.697,0.380,0.921,0.962,0.829,0.340,0.573,
+0.803,0.849,0.430,0.561,0.699,0.090,0.568,0.637,0.507,0.696,
+0.418,0.740,0.658,0.753,0.368,0.632,0.051,0.076,0.040,0.066,
+0.710,0.083,0.570,0.666,0.580,0.841,0.505,0.896,0.759,0.541,
+0.384,0.746,0.750,0.673,0.414,0.763,0.694,0.064,0.452,0.718,
+0.775,0.965,0.612,1.591,1.114,0.852,0.508,0.741,0.897,0.715,
+0.576,0.803,0.895,0.130,0.427,0.724,0.751,0.790,0.620,1.193,
+0.080,0.141,0.037,0.060,0.060,0.078,0.052,0.063,0.058,0.016,
+0.048,0.064,0.065,0.101,0.052,0.108,0.752,0.927,0.540,0.777,
+0.065,0.086,0.062,0.089,0.867,0.115,0.513,0.786,0.602,0.928,
+0.686,1.007,0.822,0.702,0.463,0.776,0.923,0.916,0.702,1.036,
+1.191,0.114,0.727,1.101,0.917,0.887,0.860,1.557,1.794,0.841,
+0.614,1.290,0.874,0.601,0.457,0.690,1.039,0.090,0.481,0.862,
+1.344,0.976,0.768,1.964,1.272,1.051,0.515,0.846,0.992,0.958,
+0.577,0.797,0.935,0.086,0.591,1.017,0.899,1.084,0.681,1.777,
+1.181,1.181,0.788,1.268,0.086,0.089,0.079,0.115,1.357,0.113,
+0.887,1.542,1.203,1.464,1.210,1.915,2.104,1.139,0.939,2.086,
+1.426,1.131,0.962,1.810,1.786,0.122,1.339,2.351,2.250,1.734,
+1.738,2.781,4.955,2.241,2.120,3.708,2.465,1.400,1.354,1.552,
+2.779,0.239,1.307,1.750,3.268,2.290,1.491,2.473,2.716,1.594,
+1.202,1.562,1.805,1.103,1.064,0.992,1.638,0.169,1.078,1.194,
+1.277,1.324,1.023,1.335,2.329,1.266,1.221,1.543,0.171,0.133,
+0.126,0.201,1.281,0.114,0.784,0.954,1.121,1.192,1.021,1.226,
+2.626,1.191,1.300,2.445,1.851,1.328,1.200,1.720,1.424,0.122,
+0.946,1.323,1.860,1.172,1.324,2.139,2.491,1.442,0.956,1.384,
+1.541,1.022,0.840,0.915,1.188,0.145,0.965,1.025,1.024,1.129,
+0.772,1.059,1.675,1.241,0.771,0.916,1.035,0.704,0.695,0.642,
+1.204,0.186,0.805,0.951,0.728,0.960,0.814,0.843,1.116,1.000,
+0.724,0.870,0.139,0.102,0.096,0.120,0.953,0.104,0.650,0.781,
+0.604,0.914,0.708,0.722,1.012,0.699,0.527,0.857,1.073,0.821,
+0.658,0.869,0.951,0.084,0.680,0.879,0.898,0.755,0.813,1.228,
+2.200,0.878,1.125,1.061,1.537,0.826,0.835,0.852,1.259,0.179,
+0.622,0.949,1.289,1.280,0.786,1.293,0.147,0.119,0.079,0.098,
+0.115,0.097,0.087,0.082,0.109,0.024,0.086,0.102,0.138,0.213,
+0.109,0.146,0.900,0.726,0.717,0.725,0.081,0.070,0.081,0.086,
+0.773,0.092,0.620,0.644,0.598,0.791,1.065,0.720,0.780,0.465,
+0.517,0.718,0.910,0.697,0.648,0.817,0.883,0.088,0.682,0.923,
+0.732,0.732,0.847,1.219,2.491,0.884,0.828,1.470,1.013,0.563,
+0.662,0.671,0.977,0.098,0.530,0.737,1.295,0.958,0.800,1.626,
+1.545,1.030,0.764,0.938,1.043,0.725,0.763,0.706,0.927,0.087,
+0.677,0.799,0.960,0.979,0.734,1.113,0.979,0.787,0.660,0.883,
+0.075,0.062,0.069,0.086,0.734,0.069,0.607,0.780,0.667,0.775,
+0.764,0.878,1.368,0.688,0.729,1.348,0.694,0.469,0.584,0.792,
+1.100,0.084,0.823,1.251,1.442,1.096,1.230,2.248,3.386,2.175,
+1.516,2.405,1.907,1.459,1.208,1.351,1.391,0.171,0.787,1.240,
+1.502,1.453,1.047,1.665,2.396,2.021,1.233,1.444,1.634,1.337,
+1.313,1.243,1.548,0.277,1.204,1.323,0.954,1.318,1.005,1.250,
+1.184,1.247,1.165,1.181,0.138,0.173,0.153,0.187,0.873,0.106,
+0.721,0.797,0.642,1.002,0.800,1.011,1.333,0.725,0.763,1.187,
+1.399,1.150,0.892,1.133,0.944,0.105,0.626,0.882,0.936,0.782,
+0.964,1.591,2.269,1.912,0.936,1.302,1.712,1.663,1.062,1.103,
+1.077,0.166,0.695,0.900,0.787,1.094,0.681,1.007,1.589,1.617,
+0.934,0.972,1.070,0.630,0.921,0.815,1.177,0.208,1.038,1.174,
+0.616,1.035,0.907,0.964,1.095,1.672,1.230,1.396,0.147,0.247,
+0.302,0.402,1.095,0.204,0.917,1.062,0.651,1.795,0.978,1.014,
+0.860,0.716,0.577,0.797,1.096,1.131,0.967,1.128,0.788,0.093,
+0.601,0.801,0.609,0.728,0.763,1.112,1.662,1.178,0.846,1.078,
+1.430,1.385,1.407,1.086,1.205,0.205,0.874,1.383,0.806,1.104,
+0.976,1.293,0.130,0.214,0.114,0.126,0.130,0.213,0.209,0.128,
+0.137,0.061,0.194,0.175,0.096,0.247,0.163,0.160,1.139,1.365,
+1.160,1.083,0.147,0.205,0.212,0.153,1.162,0.223,1.134,1.139,
+0.746,1.985,1.972,1.252,0.937,0.583,0.967,0.777,1.120,1.232,
+1.187,1.111,1.201,0.140,1.132,1.272,0.665,0.857,1.157,1.307,
+1.398,0.845,0.648,1.030,0.816,0.635,0.611,0.671,0.664,0.072,
+0.455,0.652,0.757,0.695,0.598,1.111,1.381,1.362,0.903,1.096,
+1.083,1.130,1.318,1.162,0.895,0.114,0.903,1.060,0.801,1.171,
+0.858,1.262,0.785,0.848,0.794,0.939,0.070,0.093,0.083,0.101,
+0.686,0.081,0.682,0.825,0.600,0.912,0.993,1.044,0.980,0.589,
+0.660,0.923,0.749,0.661,0.597,0.833,0.914,0.081,0.838,1.181,
+1.056,1.094,1.324,1.920,2.180,1.389,1.028,1.533,0.971,0.820,
+0.622,0.707,0.964,0.110,0.549,0.750,1.012,0.985,0.708,1.115,
+1.922,1.753,1.019,1.234,1.242,1.148,0.978,0.883,1.479,0.205,
+1.121,1.227,0.887,1.365,0.793,1.080,1.350,1.617,3.182,1.542,
+0.153,0.209,0.236,0.252,1.008,0.144,0.842,1.044,0.608,1.152,
+0.787,0.983,1.187,0.865,0.946,1.383,1.034,1.106,0.951,1.123,
+0.996,0.109,0.762,1.074,0.991,0.890,1.017,1.961,0.164,0.166,
+0.097,0.129,0.163,0.181,0.105,0.103,0.116,0.026,0.091,0.100,
+0.096,0.159,0.138,0.123,0.177,0.224,0.115,0.118,0.168,0.207,
+0.146,0.110,0.195,0.058,0.172,0.162,0.105,0.282,0.111,0.120,
+0.113,0.211,0.197,0.141,0.022,0.051,0.057,0.037,0.213,0.049,
+0.265,0.325,0.088,0.228,0.136,0.136,0.155,0.137,0.113,0.180,
+0.231,0.312,0.239,0.278,0.146,0.027,0.155,0.199,0.137,0.165,
+0.157,0.244,1.190,0.849,0.615,0.655,0.848,0.972,0.808,0.651,
+1.119,0.286,0.956,0.978,0.661,1.145,0.791,0.968,0.110,0.160,
+0.078,0.076,0.091,0.160,0.112,0.068,0.232,0.127,0.164,0.124,
+0.098,0.286,0.125,0.113,0.762,1.451,0.860,0.688,0.110,0.277,
+0.160,0.108,0.948,0.174,0.720,0.730,0.459,0.882,0.804,0.660,
+0.595,0.535,0.527,0.569,0.855,1.207,0.896,1.022,0.845,0.140,
+0.979,0.967,0.527,0.694,0.803,0.913,1.038,0.584,0.448,0.720,
+0.609,0.460,0.359,0.391,0.711,0.080,0.410,0.564,0.650,0.659,
+0.493,0.869,1.391,1.126,0.723,0.907,1.024,1.134,0.760,0.689,
+1.895,0.213,0.912,1.089,0.951,1.333,0.834,1.059,0.800,0.956,
+0.808,0.808,0.092,0.129,0.093,0.093,1.228,0.115,0.724,0.854,
+0.643,1.074,0.768,0.933,1.032,0.702,0.678,0.860,0.946,0.768,
+0.603,0.758,1.008,0.104,0.935,1.168,1.043,1.107,1.057,1.540,
+2.345,1.146,0.905,1.662,0.885,0.592,0.528,0.625,0.904,0.088,
+0.431,0.685,1.221,0.892,0.712,1.396,1.173,0.736,0.528,0.762,
+0.687,0.462,0.424,0.503,0.869,0.090,0.445,0.648,0.722,0.700,
+0.443,0.754,1.049,0.784,0.797,1.125,0.096,0.080,0.074,0.141,
+0.647,0.060,0.403,0.630,0.541,0.640,0.467,0.803,1.402,0.707,
+0.842,1.863,0.988,0.685,0.674,1.114,0.889,0.068,0.563,0.877,
+1.166,0.821,0.941,2.168,1.707,1.098,0.761,1.185,1.134,0.882,
+0.885,0.707,0.893,0.101,0.531,0.749,0.802,0.862,0.717,1.019,
+1.315,1.035,0.582,0.821,0.892,0.778,0.582,0.598,1.060,0.177,
+0.665,0.893,0.747,1.303,0.516,0.760,0.899,0.890,0.718,0.932,
+0.077,0.098,0.097,0.119,0.917,0.100,0.741,1.147,0.656,0.983,
+0.649,0.897,1.070,0.632,0.628,1.108,1.045,0.888,0.802,1.113,
+0.834,0.079,0.665,0.970,0.869,0.892,0.831,1.420,1.278,0.705,
+0.608,0.812,1.018,0.725,0.709,0.815,1.105,0.143,0.697,0.929,
+0.826,0.823,0.869,1.228,0.099,0.095,0.060,0.090,0.076,0.087,
+0.072,0.072,0.108,0.024,0.098,0.110,0.097,0.151,0.099,0.127,
+0.792,0.871,0.629,0.867,0.076,0.089,0.077,0.108,0.853,0.110,
+0.656,0.830,0.589,0.935,0.859,0.985,0.794,0.558,0.569,0.855,
+0.992,0.869,0.840,1.186,1.260,0.113,0.919,1.447,0.864,0.878,
+1.013,1.513,1.831,0.819,0.698,1.211,0.830,0.580,0.523,0.646,
+0.927,0.084,0.508,0.799,1.164,0.835,0.822,1.750,1.068,0.709,
+0.526,0.832,0.665,0.518,0.514,0.596,0.963,0.074,0.614,0.922,
+0.879,0.874,0.675,1.153,1.170,1.021,0.843,1.388,0.114,0.085,
+0.071,0.127,1.171,0.094,0.776,1.160,1.028,1.200,1.114,1.513,
+2.085,1.027,1.128,2.240,1.390,1.068,1.018,1.533,1.759,0.112,
+1.435,2.250,2.692,1.767,2.156,3.311,0.213,0.143,0.123,0.169,
+0.159,0.115,0.100,0.105,0.126,0.019,0.128,0.139,0.131,0.124,
+0.091,0.114,0.166,0.136,0.095,0.104,0.142,0.117,0.112,0.096,
+0.116,0.029,0.105,0.104,0.082,0.114,0.094,0.102,0.098,0.086,
+0.076,0.086,0.014,0.016,0.017,0.016,0.065,0.012,0.066,0.062,
+0.053,0.073,0.100,0.077,0.114,0.072,0.065,0.107,0.119,0.115,
+0.084,0.105,0.088,0.013,0.073,0.086,0.087,0.079,0.094,0.132,
+0.185,0.157,0.107,0.138,0.173,0.151,0.122,0.093,0.147,0.043,
+0.287,0.237,0.084,0.140,0.130,0.111,0.177,0.211,0.108,0.097,
+0.155,0.160,0.141,0.107,0.249,0.119,0.183,0.190,0.085,0.232,
+0.115,0.103,0.087,0.125,0.081,0.072,0.026,0.040,0.041,0.019,
+0.119,0.038,0.110,0.106,0.060,0.123,0.098,0.077,0.073,0.086,
+0.047,0.062,0.112,0.107,0.085,0.092,0.092,0.018,0.094,0.106,
+0.076,0.082,0.097,0.117,0.120,0.085,0.058,0.065,0.238,0.103,
+0.095,0.080,0.104,0.022,0.077,0.076,0.064,0.087,0.068,0.091,
+0.015,0.024,0.017,0.012,0.024,0.032,0.030,0.016,0.019,0.015,
+0.028,0.020,0.010,0.030,0.019,0.016,0.061,0.074,0.071,0.057,
+0.014,0.019,0.023,0.013,0.073,0.024,0.094,0.079,0.042,0.085,
+0.130,0.074,0.058,0.035,0.039,0.048,0.079,0.079,0.080,0.082,
+0.088,0.016,0.085,0.087,0.052,0.068,0.093,0.101,0.129,0.062,
+0.052,0.087,0.079,0.047,0.048,0.052,0.067,0.010,0.045,0.056,
+0.075,0.066,0.054,0.106,0.122,0.109,0.082,0.096,0.110,0.112,
+0.106,0.089,0.084,0.019,0.087,0.099,0.067,0.102,0.078,0.109,
+0.066,0.067,0.073,0.082,0.010,0.011,0.015,0.013,0.073,0.017,
+0.063,0.107,0.048,0.087,0.121,0.093,0.086,0.053,0.055,0.095,
+0.060,0.054,0.061,0.074,0.087,0.012,0.090,0.142,0.097,0.097,
+0.118,0.194,0.178,0.142,0.100,0.127,0.146,0.160,0.120,0.114,
+0.094,0.019,0.066,0.082,0.085,0.095,0.075,0.094,0.165,0.171,
+0.114,0.107,0.171,0.190,0.204,0.190,0.127,0.052,0.158,0.162,
+0.067,0.107,0.123,0.111,0.070,0.105,0.093,0.072,0.017,0.037,
+0.036,0.021,0.066,0.020,0.077,0.065,0.045,0.076,0.080,0.076,
+0.070,0.046,0.044,0.065,0.095,0.107,0.081,0.080,0.125,0.017,
+0.064,0.071,0.059,0.062,0.081,0.100,0.178,0.217,0.101,0.103,
+0.201,0.385,0.175,0.112,0.115,0.041,0.110,0.099,0.060,0.115,
+0.077,0.087,0.187,0.294,0.149,0.111,0.188,0.174,0.214,0.156,
+0.173,0.119,0.228,0.211,0.066,0.184,0.129,0.134,0.096,0.224,
+0.140,0.104,0.039,0.122,0.104,0.045,0.129,0.077,0.147,0.139,
+0.057,0.194,0.159,0.105,0.068,0.069,0.056,0.064,0.117,0.180,
+0.128,0.104,0.089,0.024,0.096,0.101,0.053,0.081,0.151,0.115,
+0.115,0.099,0.079,0.071,0.148,0.193,0.188,0.097,0.109,0.030,
+0.106,0.106,0.053,0.090,0.090,0.095,0.021,0.048,0.031,0.018,
+0.043,0.111,0.146,0.035,0.037,0.054,0.081,0.049,0.010,0.042,
+0.037,0.022,0.142,0.202,0.158,0.121,0.050,0.094,0.103,0.039,
+0.162,0.074,0.206,0.153,0.096,0.199,0.311,0.149,0.141,0.051,
+0.067,0.061,0.129,0.182,0.190,0.126,0.270,0.041,0.168,0.136,
+0.072,0.085,0.146,0.121,0.092,0.066,0.054,0.076,0.068,0.066,
+0.061,0.056,0.055,7.94e-3,0.043,0.052,0.051,0.054,0.049,0.084,
+0.119,0.141,0.103,0.095,0.122,0.182,0.226,0.131,0.093,0.030,
+0.126,0.122,0.056,0.116,0.094,0.103,0.060,0.089,0.081,0.073,
+9.65e-3,0.020,0.020,0.012,0.065,0.018,0.093,0.084,0.044,0.084,
+0.121,0.089,0.067,0.044,0.048,0.062,0.059,0.068,0.065,0.069,
+0.086,0.011,0.086,0.099,0.070,0.088,0.115,0.154,0.120,0.107,
+0.072,0.092,0.079,0.083,0.062,0.062,0.075,0.013,0.059,0.057,
+0.058,0.071,0.070,0.068,0.132,0.170,0.097,0.090,0.148,0.171,
+0.148,0.108,0.145,0.054,0.173,0.152,0.066,0.167,0.086,0.088,
+0.076,0.135,0.162,0.095,0.017,0.035,0.051,0.030,0.135,0.031,
+0.156,0.151,0.042,0.103,0.098,0.081,0.060,0.052,0.051,0.075,
+0.078,0.088,0.112,0.101,0.082,0.016,0.080,0.097,0.060,0.070,
+0.082,0.123,0.013,0.023,0.014,0.011,0.024,0.043,0.033,0.017,
+0.017,0.011,0.024,0.017,8.24e-3,0.024,0.036,0.015,0.023,0.058,
+0.028,0.017,0.049,0.098,0.077,0.034,0.037,0.064,0.081,0.051,
+0.015,0.086,0.027,0.020,0.013,0.049,0.044,0.019,0.013,0.052,
+0.069,0.020,0.076,0.050,0.188,0.103,0.012,0.051,0.046,0.022,
+8.81e-3,0.012,9.80e-3,0.011,0.024,0.042,0.044,0.035,0.020,0.011,
+0.039,0.031,9.92e-3,0.018,0.022,0.021,0.090,0.104,0.068,0.057,
+0.091,0.170,0.143,0.086,0.119,0.046,0.194,0.198,0.055,0.146,
+0.118,0.152,0.016,0.050,0.023,0.013,0.029,0.085,0.068,0.025,
+0.039,0.054,0.121,0.050,0.012,0.047,0.036,0.023,0.087,0.424,
+0.148,0.088,0.033,0.272,0.092,0.034,0.141,0.091,0.196,0.139,
+0.045,0.165,0.142,0.094,0.051,0.069,0.055,0.077,0.107,0.335,
+0.172,0.256,0.120,0.048,0.200,0.160,0.051,0.094,0.122,0.117,
+0.077,0.066,0.045,0.070,0.055,0.055,0.043,0.041,0.064,0.012,
+0.054,0.068,0.053,0.079,0.051,0.083,0.118,0.148,0.093,0.090,
+0.143,0.207,0.147,0.108,0.168,0.048,0.167,0.166,0.076,0.171,
+0.121,0.111,0.071,0.139,0.112,0.082,0.014,0.042,0.034,0.016,
+0.124,0.039,0.135,0.129,0.060,0.196,0.115,0.121,0.069,0.058,
+0.054,0.072,0.141,0.093,0.075,0.090,0.097,0.019,0.125,0.127,
+0.083,0.127,0.115,0.147,0.162,0.102,0.079,0.128,0.110,0.071,
+0.073,0.114,0.103,0.011,0.050,0.086,0.100,0.082,0.085,0.123,
+0.112,0.091,0.059,0.074,0.086,0.067,0.061,0.071,0.082,0.014,
+0.061,0.088,0.066,0.088,0.060,0.080,0.079,0.076,0.068,0.090,
+9.02e-3,9.55e-3,9.89e-3,0.016,0.068,8.25e-3,0.052,0.074,0.047,0.063,
+0.054,0.081,0.103,0.062,0.070,0.141,0.087,0.065,0.066,0.139,
+0.099,9.71e-3,0.060,0.122,0.108,0.080,0.092,0.232,0.184,0.153,
+0.143,0.139,0.168,0.149,0.395,0.123,0.132,0.024,0.108,0.124,
+0.099,0.149,0.193,0.138,0.188,0.205,0.109,0.123,0.182,0.204,
+0.167,0.142,0.177,0.055,0.170,0.197,0.121,0.375,0.124,0.137,
+0.101,0.161,0.128,0.124,0.016,0.032,0.041,0.031,0.182,0.032,
+0.210,0.254,0.080,0.171,0.122,0.132,0.105,0.080,0.081,0.131,
+0.142,0.149,0.164,0.238,0.126,0.019,0.133,0.175,0.103,0.132,
+0.134,0.198,0.100,0.070,0.058,0.068,0.097,0.100,0.106,0.089,
+0.105,0.023,0.101,0.114,0.065,0.092,0.100,0.124,0.012,0.015,
+9.52e-3,0.011,0.017,0.031,0.024,0.015,0.016,9.63e-3,0.026,0.021,
+0.011,0.025,0.020,0.017,0.070,0.130,0.089,0.087,0.013,0.033,
+0.026,0.021,0.106,0.033,0.121,0.121,0.056,0.130,0.131,0.115,
+0.082,0.057,0.060,0.080,0.100,0.118,0.118,0.155,0.253,0.028,
+0.153,0.251,0.094,0.099,0.142,0.173,0.140,0.087,0.067,0.103,
+0.080,0.067,0.061,0.069,0.081,0.011,0.057,0.081,0.087,0.079,
+0.078,0.148,0.108,0.086,0.061,0.085,0.087,0.092,0.084,0.085,
+0.087,0.012,0.084,0.107,0.078,0.102,0.080,0.124,0.098,0.104,
+0.089,0.119,0.013,0.014,0.012,0.016,0.110,0.017,0.101,0.135,
+0.082,0.137,0.131,0.150,0.143,0.085,0.094,0.165,0.124,0.105,
+0.106,0.153,0.154,0.015,0.164,0.225,0.197,0.174,0.217,0.283,
+1.874,1.251,1.092,1.728,1.280,0.931,0.914,1.220,1.042,0.114,
+0.740,0.920,1.348,1.159,0.801,1.236,1.293,0.940,0.674,0.896,
+1.017,0.698,0.872,0.826,0.792,0.090,0.620,0.669,0.738,0.758,
+0.604,0.769,0.842,0.748,0.661,0.846,0.085,0.077,0.078,0.123,
+0.634,0.065,0.572,0.621,0.506,0.599,0.610,0.693,0.896,0.449,
+0.414,0.814,0.668,0.530,0.457,0.675,0.602,0.051,0.439,0.577,
+0.698,0.397,0.615,1.058,1.668,1.195,0.754,1.087,1.328,1.046,
+0.865,0.825,0.878,0.118,0.600,0.716,0.728,0.835,0.525,0.778,
+1.466,1.517,0.742,0.804,1.152,0.788,0.938,0.747,1.223,0.185,
+0.962,1.312,0.685,0.945,0.605,0.778,0.923,1.100,0.969,0.869,
+0.129,0.143,0.146,0.144,1.152,0.176,1.045,1.443,1.073,1.082,
+0.945,0.888,0.660,0.491,0.370,0.553,0.893,0.825,0.657,0.822,
+0.669,0.070,0.546,0.850,0.642,0.553,0.639,1.071,1.226,0.654,
+0.527,0.791,1.228,0.940,0.936,0.918,1.048,0.147,0.755,0.786,
+0.726,0.862,0.695,0.992,0.133,0.140,0.089,0.111,0.161,0.161,
+0.168,0.138,0.140,0.038,0.259,0.156,0.124,0.276,0.146,0.170,
+0.774,0.812,1.064,0.985,0.105,0.105,0.302,0.212,0.937,0.143,
+0.928,0.812,0.497,0.857,1.128,0.819,0.581,0.402,0.431,0.523,
+0.901,0.782,1.240,0.998,0.719,0.087,0.733,0.779,0.606,0.591,
+0.817,0.976,1.093,0.482,0.401,0.750,0.574,0.413,0.408,0.458,
+0.553,0.062,0.341,0.451,0.721,0.621,0.510,0.867,0.948,0.747,
+0.520,0.656,0.783,0.656,0.655,0.613,0.664,0.077,0.749,0.722,
+0.637,0.898,0.596,0.845,0.785,0.748,0.735,0.814,0.077,0.072,
+0.097,0.109,0.858,0.090,0.706,0.814,0.608,0.875,1.220,0.984,
+0.847,0.498,0.471,0.847,0.577,0.452,0.613,0.714,0.945,0.081,
+0.726,1.024,1.091,0.905,1.114,1.814,0.121,0.112,0.076,0.099,
+0.106,0.102,0.098,0.109,0.072,0.014,0.048,0.061,0.081,0.082,
+0.060,0.085,0.133,0.141,0.118,0.123,0.162,0.156,0.297,0.188,
+0.105,0.034,0.116,0.106,0.130,0.108,0.094,0.102,0.059,0.087,
+0.067,0.064,0.014,0.024,0.023,0.019,0.066,0.019,0.088,0.092,
+0.046,0.076,0.079,0.076,0.058,0.039,0.036,0.053,0.073,0.074,
+0.060,0.068,0.051,9.22e-3,0.047,0.059,0.051,0.046,0.066,0.101,
+0.110,0.128,0.065,0.071,0.113,0.143,0.118,0.079,0.076,0.026,
+0.062,0.063,0.049,0.074,0.051,0.064,0.147,0.245,0.108,0.094,
+0.158,0.148,0.192,0.112,0.155,0.078,0.166,0.167,0.064,0.132,
+0.093,0.148,0.075,0.147,0.094,0.078,0.027,0.060,0.057,0.028,
+0.232,0.097,0.228,0.278,0.136,0.173,0.138,0.107,0.049,0.044,
+0.034,0.041,0.080,0.101,0.077,0.072,0.060,0.014,0.066,0.081,
+0.044,0.049,0.065,0.082,0.092,0.073,0.074,0.059,0.122,0.150,
+0.165,0.094,0.096,0.028,0.163,0.090,0.051,0.087,0.084,0.081,
+0.016,0.032,0.021,0.015,0.035,0.068,0.074,0.029,0.028,0.036,
+0.180,0.039,0.011,0.037,0.036,0.021,0.078,0.126,0.135,0.102,
+0.027,0.053,0.103,0.031,0.137,0.075,0.236,0.135,0.057,0.161,
+0.274,0.141,0.057,0.045,0.050,0.049,0.096,0.128,0.156,0.105,
+0.089,0.024,0.130,0.101,0.049,0.069,0.112,0.103,0.093,0.078,
+0.057,0.080,0.063,0.060,0.054,0.055,0.054,8.35e-3,0.045,0.051,
+0.061,0.068,0.071,0.100,0.126,0.133,0.093,0.100,0.141,0.172,
+0.159,0.130,0.106,0.027,0.214,0.125,0.079,0.155,0.125,0.131,
+0.068,0.090,0.091,0.083,0.010,0.021,0.022,0.016,0.087,0.024,
+0.115,0.112,0.071,0.119,0.321,0.138,0.070,0.054,0.047,0.070,
+0.059,0.065,0.066,0.073,0.080,0.011,0.085,0.104,0.084,0.092,
+0.136,0.165,1.256,1.264,0.725,1.163,0.849,0.761,0.526,0.673,
+0.748,0.083,0.526,0.621,0.522,0.466,0.377,0.577,1.250,1.165,
+0.635,0.758,1.293,1.037,1.046,0.830,1.343,0.180,1.413,1.468,
+0.546,0.893,0.630,0.759,0.754,0.986,0.670,0.715,0.119,0.161,
+0.135,0.166,0.870,0.136,1.018,0.991,0.459,0.852,0.661,0.765,
+0.591,0.400,0.308,0.515,0.662,0.605,0.495,0.622,0.763,0.086,
+0.656,0.973,0.580,0.511,0.652,1.155,0.098,0.116,0.057,0.075,
+0.123,0.159,0.102,0.115,0.080,0.022,0.104,0.087,0.046,0.069,
+0.050,0.066,0.109,0.147,0.078,0.070,0.179,0.189,0.174,0.120,
+0.142,0.060,0.515,0.249,0.049,0.108,0.078,0.075,0.082,0.150,
+0.091,0.076,0.024,0.058,0.057,0.028,0.146,0.064,0.246,0.213,
+0.062,0.142,0.116,0.101,0.066,0.053,0.036,0.061,0.109,0.140,
+0.102,0.116,0.091,0.020,0.106,0.184,0.060,0.065,0.076,0.123,
+1.225,0.673,0.560,0.438,0.858,0.968,0.931,0.685,0.786,0.156,
+0.982,0.735,0.412,0.628,0.771,0.718,0.097,0.143,0.106,0.069,
+0.102,0.177,0.154,0.075,0.132,0.058,0.261,0.139,0.058,0.146,
+0.169,0.094,0.756,0.751,0.718,0.576,0.111,0.121,0.175,0.099,
+0.526,0.115,0.280,0.249,0.254,0.423,0.524,0.474,0.400,0.318,
+0.332,0.286,0.551,0.616,0.660,0.498,0.593,0.102,0.851,0.688,
+0.355,0.460,0.705,0.756,0.717,0.425,0.324,0.459,0.474,0.383,
+0.294,0.310,0.422,0.054,0.388,0.419,0.334,0.357,0.335,0.496,
+0.848,0.826,0.547,0.524,0.820,0.940,0.714,0.540,0.766,0.119,
+0.956,0.827,0.450,0.820,0.816,0.617,0.638,0.745,0.608,0.666,
+0.077,0.121,0.101,0.095,0.809,0.116,1.065,0.895,0.436,0.860,
+0.818,0.756,0.518,0.380,0.324,0.485,0.548,0.558,0.456,0.503,
+0.702,0.081,0.917,0.905,0.618,0.709,0.847,0.995,1.180,0.681,
+0.463,0.888,0.607,0.442,0.385,0.504,0.569,0.059,0.350,0.473,
+0.618,0.500,0.392,0.711,0.873,0.568,0.330,0.471,0.596,0.393,
+0.391,0.436,0.521,0.046,0.346,0.459,0.353,0.374,0.293,0.445,
+0.579,0.550,0.345,0.510,0.059,0.057,0.044,0.082,0.477,0.051,
+0.399,0.551,0.413,0.496,0.417,0.596,0.619,0.356,0.285,0.544,
+0.509,0.380,0.312,0.511,0.461,0.040,0.306,0.537,0.536,0.410,
+0.474,0.966,1.189,0.891,0.563,0.846,0.947,0.823,0.733,0.715,
+0.664,0.082,0.606,0.674,0.507,0.585,0.398,0.681,1.126,1.052,
+0.549,0.687,1.063,0.932,0.990,0.840,0.947,0.125,1.190,1.114,
+0.463,0.708,0.473,0.634,0.661,0.929,0.581,0.632,0.080,0.125,
+0.097,0.111,0.828,0.128,0.915,1.207,0.490,0.922,0.739,0.862,
+0.694,0.477,0.350,0.559,0.815,0.773,0.641,0.839,0.637,0.084,
+0.601,1.105,0.527,0.569,0.571,1.007,1.085,0.649,0.495,0.602,
+0.910,0.837,1.099,0.885,0.835,0.116,0.705,0.757,0.576,0.685,
+0.742,0.955,0.089,0.097,0.066,0.072,0.099,0.146,0.192,0.109,
+0.085,0.026,0.130,0.114,0.064,0.126,0.105,0.100,0.812,0.989,
+0.702,0.735,0.091,0.109,0.135,0.120,1.227,0.216,0.978,1.064,
+0.546,1.027,1.068,0.955,0.591,0.486,0.425,0.501,0.832,0.796,
+0.899,0.885,0.789,0.097,0.933,1.145,0.572,0.648,0.945,1.136,
+0.958,0.502,0.387,0.627,0.523,0.419,0.411,0.409,0.523,0.058,
+0.371,0.473,0.593,0.461,0.466,0.808,0.845,0.664,0.439,0.596,
+0.658,0.674,0.672,0.570,0.562,0.059,0.566,0.688,0.506,0.585,
+0.583,0.700,0.787,0.833,0.612,0.823,0.073,0.082,0.073,0.097,
+0.929,0.099,0.982,1.216,0.647,0.935,1.010,1.089,0.937,0.553,
+0.506,0.925,0.800,0.728,0.689,0.885,0.922,0.080,1.004,1.344,
+1.050,0.889,1.177,1.528,1.952,1.020,0.926,1.791,0.978,0.592,
+0.530,0.711,0.870,0.080,0.402,0.673,1.255,0.973,0.596,1.145,
+1.032,0.598,0.464,0.618,0.641,0.378,0.390,0.427,0.595,0.050,
+0.379,0.461,0.594,0.608,0.387,0.596,0.690,0.518,0.452,0.676,
+0.063,0.048,0.046,0.085,0.427,0.036,0.304,0.400,0.402,0.439,
+0.424,0.629,1.000,0.467,0.529,0.909,0.695,0.456,0.424,0.635,
+0.567,0.043,0.376,0.561,0.825,0.504,0.622,1.561,1.326,0.746,
+0.525,0.848,0.768,0.504,0.370,0.468,0.506,0.049,0.292,0.446,
+0.549,0.480,0.327,0.630,0.790,0.548,0.372,0.494,0.483,0.305,
+0.310,0.323,0.511,0.050,0.296,0.453,0.452,0.412,0.286,0.468,
+0.513,0.429,0.358,0.432,0.041,0.039,0.030,0.043,0.439,0.035,
+0.259,0.391,0.459,0.404,0.346,0.447,0.512,0.310,0.246,0.419,
+0.444,0.357,0.255,0.385,0.393,0.028,0.266,0.433,0.439,0.329,
+0.382,0.778,1.152,0.502,0.419,0.621,0.815,0.506,0.446,0.565,
+0.619,0.070,0.273,0.454,0.653,0.529,0.397,0.779,0.079,0.055,
+0.039,0.059,0.064,0.049,0.044,0.054,0.057,8.55e-3,0.042,0.054,
+0.087,0.101,0.055,0.090,0.552,0.409,0.443,0.557,0.047,0.037,
+0.047,0.063,0.471,0.049,0.308,0.413,0.408,0.492,0.521,0.570,
+0.594,0.306,0.340,0.546,0.578,0.417,0.424,0.585,0.565,0.063,
+0.380,0.584,0.542,0.480,0.566,0.927,1.328,0.491,0.436,0.894,
+0.572,0.345,0.338,0.492,0.604,0.053,0.305,0.490,0.951,0.563,
+0.458,0.994,0.827,0.496,0.369,0.553,0.517,0.375,0.329,0.412,
+0.517,0.041,0.347,0.481,0.655,0.613,0.418,0.713,0.618,0.449,
+0.406,0.603,0.045,0.034,0.037,0.057,0.459,0.035,0.324,0.455,
+0.529,0.496,0.577,0.682,0.914,0.451,0.477,1.036,0.551,0.363,
+0.420,0.687,0.781,0.056,0.513,0.853,1.046,0.785,0.992,1.904,
+1.862,1.142,0.908,1.471,1.118,0.853,0.728,0.865,0.785,0.087,
+0.455,0.753,0.984,0.860,0.620,1.166,1.332,0.908,0.770,0.953,
+0.954,0.711,1.064,0.870,0.802,0.097,0.725,0.829,0.687,0.705,
+0.602,0.817,0.692,0.662,0.529,0.711,0.069,0.077,0.066,0.095,
+0.547,0.065,0.480,0.701,0.420,0.597,0.592,0.839,0.787,0.432,
+0.435,0.686,0.767,0.616,0.474,0.650,0.507,0.048,0.378,0.597,
+0.622,0.507,0.616,1.221,1.435,1.054,0.645,0.944,1.078,0.988,
+0.663,0.746,0.646,0.086,0.402,0.587,0.638,0.644,0.468,0.771,
+1.180,1.059,0.745,0.991,1.004,0.669,0.713,0.647,0.932,0.177,
+0.683,0.984,0.598,0.869,0.582,0.784,0.657,0.766,0.533,0.671,
+0.090,0.100,0.069,0.082,0.839,0.129,0.627,0.963,0.609,0.868,
+0.663,0.875,0.526,0.386,0.320,0.483,0.657,0.630,0.416,0.534,
+0.482,0.050,0.402,0.716,0.461,0.446,0.503,0.854,1.012,0.621,
+0.649,0.654,0.970,0.851,0.937,0.801,0.766,0.125,0.585,0.826,
+0.585,0.657,0.561,0.917,0.069,0.083,0.057,0.070,0.087,0.119,
+0.107,0.086,0.072,0.026,0.163,0.102,0.065,0.128,0.090,0.100,
+0.659,0.732,0.675,0.734,0.077,0.099,0.107,0.099,0.742,0.129,
+0.668,0.821,0.511,0.947,1.166,1.033,0.580,0.385,0.405,0.583,
+0.797,0.797,0.792,0.863,0.694,0.076,0.667,0.882,0.572,0.617,
+0.880,1.196,1.046,0.603,0.528,0.942,0.583,0.477,0.439,0.573,
+0.596,0.058,0.399,0.597,0.669,0.558,0.542,1.028,1.052,0.866,
+0.584,0.804,0.774,0.806,0.712,0.767,0.721,0.090,0.782,0.900,
+0.693,1.029,0.788,1.013,0.602,0.613,0.602,0.745,0.051,0.066,
+0.067,0.077,0.558,0.063,0.569,0.745,0.519,0.730,1.285,1.061,
+0.734,0.468,0.464,0.746,0.624,0.563,0.489,0.709,0.689,0.057,
+0.588,0.932,0.831,0.766,1.022,1.630,2.026,0.938,0.710,1.033,
+0.724,0.596,0.428,0.589,0.703,0.064,0.372,0.557,0.792,0.536,
+0.388,0.720,1.208,0.971,0.497,0.683,0.919,0.693,0.581,0.586,
+0.867,0.096,0.783,0.827,0.622,0.756,0.541,0.853,0.688,0.820,
+0.582,0.712,0.082,0.099,0.090,0.114,0.646,0.083,0.506,0.666,
+0.492,0.802,0.629,0.761,0.681,0.459,0.370,0.643,0.681,0.585,
+0.460,0.602,0.666,0.067,0.511,0.921,0.725,0.577,0.761,1.423,
+0.100,0.077,0.095,0.077,0.074,0.080,0.054,0.063,0.053,9.16e-3,
+0.042,0.053,0.051,0.062,0.049,0.069,0.083,0.096,0.047,0.056,
+0.107,0.113,0.082,0.072,0.083,0.024,0.123,0.112,0.053,0.093,
+0.064,0.076,0.046,0.076,0.046,0.051,0.010,0.020,0.017,0.012,
+0.081,0.021,0.087,0.097,0.052,0.106,0.099,0.080,0.060,0.047,
+0.034,0.059,0.100,0.096,0.065,0.083,0.060,0.011,0.060,0.102,
+0.062,0.058,0.069,0.113,1.060,0.655,0.460,0.498,0.816,0.828,
+0.813,0.633,0.657,0.123,0.590,0.632,0.502,0.647,0.753,0.785,
+0.076,0.091,0.047,0.048,0.073,0.098,0.071,0.051,0.074,0.025,
+0.101,0.074,0.065,0.121,0.174,0.088,0.747,0.866,0.750,0.678,
+0.093,0.126,0.112,0.092,0.837,0.140,0.475,0.669,0.448,0.810,
+0.843,0.763,0.542,0.417,0.384,0.455,0.718,0.801,0.708,0.647,
+0.704,0.099,0.834,0.898,0.528,0.626,0.820,1.033,0.956,0.548,
+0.369,0.604,0.552,0.465,0.347,0.405,0.597,0.062,0.427,0.601,
+0.527,0.489,0.424,0.737,1.032,0.902,0.526,0.666,0.802,0.853,
+0.566,0.543,0.806,0.096,0.846,0.912,0.682,1.023,0.908,0.894,
+0.730,0.775,0.583,0.722,0.061,0.087,0.068,0.074,0.828,0.089,
+0.770,0.921,0.614,1.024,1.256,1.081,0.781,0.493,0.452,0.632,
+0.599,0.614,0.504,0.590,0.846,0.077,0.921,1.142,0.850,0.870,
+1.065,1.461,1.835,0.845,0.580,1.131,0.670,0.443,0.352,0.532,
+0.670,0.064,0.357,0.555,0.849,0.608,0.458,0.963,0.903,0.537,
+0.290,0.473,0.526,0.352,0.283,0.372,0.549,0.043,0.310,0.458,
+0.430,0.389,0.318,0.530,0.678,0.575,0.376,0.700,0.064,0.060,
+0.042,0.094,0.474,0.044,0.296,0.503,0.500,0.541,0.394,0.662,
+0.866,0.424,0.390,0.811,0.547,0.369,0.331,0.575,0.537,0.041,
+0.337,0.674,0.790,0.534,0.623,1.582,1.131,0.680,0.565,0.779,
+0.658,0.533,0.454,0.515,0.498,0.047,0.324,0.502,0.519,0.480,
+0.385,0.713,0.848,0.639,0.348,0.502,0.627,0.515,0.429,0.458,
+0.608,0.060,0.475,0.634,0.441,0.509,0.363,0.575,0.534,0.525,
+0.333,0.515,0.040,0.047,0.034,0.053,0.523,0.054,0.436,0.653,
+0.474,0.637,0.524,0.786,0.612,0.396,0.314,0.559,0.568,0.448,
+0.373,0.555,0.511,0.042,0.390,0.730,0.567,0.462,0.531,1.063,
+1.163,0.642,0.508,0.669,0.869,0.685,0.635,0.769,0.796,0.095,
+0.471,0.696,0.726,0.676,0.645,1.109,0.076,0.070,0.043,0.058,
+0.067,0.087,0.061,0.064,0.060,0.011,0.052,0.066,0.070,0.094,
+0.071,0.099,0.836,0.877,0.648,0.787,0.066,0.077,0.072,0.092,
+0.942,0.111,0.688,0.932,0.661,0.986,0.954,1.239,0.791,0.593,
+0.485,0.698,0.845,0.749,0.764,0.933,0.937,0.083,0.793,1.221,
+0.768,0.759,0.892,1.532,1.758,0.755,0.523,1.002,0.698,0.526,
+0.410,0.555,0.795,0.070,0.434,0.707,1.099,0.745,0.733,1.544,
+1.151,0.813,0.492,0.729,0.835,1.008,0.505,0.605,0.842,0.069,
+0.584,0.868,0.845,0.853,0.702,1.116,1.036,0.903,0.663,1.042,
+0.067,0.075,0.049,0.089,1.018,0.081,0.792,1.221,0.938,1.130,
+1.177,1.697,1.654,0.785,0.699,1.471,0.964,0.785,0.707,1.121,
+1.246,0.080,1.062,1.794,1.696,1.112,1.423,2.451,3.975,1.976,
+1.658,3.929,1.737,0.992,0.894,1.388,1.935,0.158,0.807,1.438,
+3.484,2.114,1.202,2.647,1.905,0.926,0.710,1.081,1.007,0.544,
+0.476,0.588,0.974,0.061,0.470,0.698,1.020,0.742,0.574,0.999,
+1.481,0.848,0.736,1.320,0.100,0.068,0.059,0.144,0.730,0.053,
+0.363,0.576,0.825,0.741,0.562,0.966,2.883,0.961,1.044,2.494,
+1.532,0.892,0.858,1.589,1.023,0.070,0.557,0.974,1.747,0.959,
+0.980,2.135,1.873,0.805,0.580,1.053,0.846,0.481,0.389,0.540,
+0.745,0.064,0.349,0.531,0.766,0.615,0.382,0.760,1.046,0.549,
+0.352,0.536,0.501,0.282,0.249,0.305,0.522,0.038,0.252,0.389,
+0.449,0.358,0.273,0.440,0.778,0.516,0.405,0.620,0.051,0.034,
+0.030,0.054,0.560,0.036,0.263,0.424,0.406,0.398,0.303,0.496,
+0.875,0.466,0.394,0.733,0.703,0.451,0.384,0.582,0.562,0.035,
+0.288,0.473,0.614,0.448,0.466,0.908,1.349,0.596,0.500,0.859,
+0.798,0.424,0.428,0.557,0.753,0.090,0.312,0.545,0.886,0.641,
+0.495,1.065,0.089,0.060,0.039,0.069,0.055,0.044,0.034,0.045,
+0.054,7.15e-3,0.034,0.055,0.090,0.090,0.053,0.100,0.620,0.405,
+0.392,0.521,0.044,0.027,0.027,0.048,0.419,0.034,0.229,0.323,
+0.378,0.369,0.410,0.482,0.628,0.359,0.358,0.628,0.633,0.415,
+0.375,0.548,0.587,0.046,0.330,0.551,0.606,0.525,0.547,1.033,
+2.229,0.762,0.698,1.825,0.784,0.420,0.483,0.639,0.973,0.077,
+0.396,0.668,1.467,0.801,0.688,1.621,1.173,0.669,0.503,0.820,
+0.648,0.437,0.390,0.473,0.636,0.042,0.387,0.650,0.801,0.623,
+0.494,0.928,0.782,0.541,0.490,0.767,0.052,0.036,0.037,0.064,
+0.579,0.036,0.409,0.543,0.577,0.551,0.527,0.774,1.406,0.646,
+0.649,1.433,0.701,0.474,0.482,0.778,0.968,0.055,0.567,1.021,
+1.585,1.047,1.091,2.687,2.057,0.987,0.732,1.429,0.884,0.548,
+0.447,0.626,0.704,0.058,0.290,0.563,0.958,0.713,0.485,0.984,
+1.042,0.605,0.470,0.682,0.547,0.340,0.318,0.381,0.463,0.043,
+0.256,0.393,0.418,0.393,0.295,0.522,0.595,0.442,0.378,0.606,
+0.050,0.042,0.034,0.061,0.356,0.032,0.201,0.290,0.346,0.400,
+0.282,0.478,0.758,0.424,0.396,0.773,0.615,0.406,0.348,0.520,
+0.399,0.030,0.232,0.391,0.560,0.375,0.440,0.943,1.083,0.648,
+0.342,0.669,0.575,0.430,0.269,0.370,0.398,0.036,0.187,0.344,
+0.425,0.394,0.230,0.536,0.585,0.431,0.229,0.343,0.349,0.186,
+0.189,0.231,0.301,0.027,0.183,0.295,0.257,0.267,0.187,0.337,
+0.501,0.418,0.317,0.470,0.043,0.033,0.040,0.063,0.312,0.030,
+0.176,0.289,0.273,0.375,0.231,0.375,0.468,0.308,0.258,0.475,
+0.403,0.309,0.265,0.349,0.350,0.024,0.175,0.312,0.343,0.290,
+0.254,0.565,0.789,0.477,0.326,0.544,0.509,0.346,0.372,0.406,
+0.465,0.047,0.237,0.388,0.478,0.385,0.326,0.623,0.044,0.054,
+0.026,0.044,0.030,0.038,0.029,0.032,0.029,5.10e-3,0.028,0.036,
+0.039,0.044,0.030,0.049,0.475,0.409,0.311,0.420,0.035,0.047,
+0.023,0.034,0.297,0.029,0.187,0.266,0.263,0.348,0.322,0.377,
+0.456,0.298,0.278,0.457,0.420,0.457,0.301,0.418,0.398,0.032,
+0.269,0.431,0.367,0.312,0.362,0.638,0.787,0.444,0.324,0.614,
+0.413,0.268,0.244,0.337,0.367,0.029,0.193,0.334,0.530,0.334,
+0.289,0.671,0.563,0.473,0.283,0.464,0.338,0.311,0.274,0.347,
+0.280,0.023,0.252,0.388,0.341,0.332,0.271,0.488,0.422,0.319,
+0.300,0.468,0.026,0.024,0.018,0.034,0.305,0.026,0.223,0.302,
+0.311,0.334,0.330,0.476,0.570,0.287,0.323,0.572,0.366,0.287,
+0.241,0.407,0.456,0.031,0.303,0.561,0.669,0.552,0.552,1.124,
+1.704,0.815,0.547,1.151,0.577,0.403,0.290,0.462,0.565,0.054,
+0.284,0.474,0.755,0.640,0.382,0.784,1.036,0.638,0.381,0.729,
+0.492,0.332,0.383,0.426,0.547,0.046,0.319,0.448,0.542,0.517,
+0.333,0.607,0.672,0.576,0.613,0.793,0.059,0.054,0.046,0.102,
+0.380,0.034,0.196,0.306,0.352,0.442,0.299,0.499,0.924,0.499,
+0.557,1.179,0.579,0.441,0.407,0.740,0.509,0.042,0.284,0.527,
+0.729,0.514,0.577,1.474,0.096,0.065,0.036,0.071,0.053,0.046,
+0.026,0.040,0.045,6.22e-3,0.023,0.037,0.054,0.060,0.037,0.066,
+0.075,0.057,0.028,0.046,0.045,0.039,0.028,0.033,0.047,6.33e-3,
+0.027,0.039,0.050,0.052,0.029,0.057,0.051,0.050,0.037,0.056,
+4.60e-3,6.04e-3,4.52e-3,6.65e-3,0.042,5.46e-3,0.024,0.045,0.039,0.049,
+0.030,0.051,0.098,0.061,0.052,0.119,0.087,0.077,0.056,0.104,
+0.055,5.73e-3,0.034,0.063,0.077,0.062,0.056,0.136,0.748,0.393,
+0.267,0.414,0.423,0.329,0.275,0.330,0.515,0.062,0.284,0.395,
+0.447,0.428,0.320,0.558,0.050,0.044,0.021,0.035,0.029,0.031,
+0.022,0.024,0.041,6.73e-3,0.027,0.033,0.050,0.054,0.032,0.048,
+0.396,0.452,0.276,0.345,0.037,0.038,0.028,0.035,0.326,0.036,
+0.165,0.238,0.256,0.307,0.256,0.330,0.420,0.309,0.277,0.389,
+0.423,0.410,0.284,0.395,0.422,0.040,0.310,0.421,0.371,0.343,
+0.372,0.606,0.777,0.374,0.263,0.509,0.377,0.253,0.201,0.262,
+0.460,0.044,0.217,0.384,0.592,0.464,0.280,0.675,0.739,0.505,
+0.286,0.489,0.413,0.380,0.261,0.298,0.485,0.040,0.285,0.414,
+0.544,0.490,0.314,0.572,0.498,0.451,0.288,0.464,0.039,0.047,
+0.023,0.039,0.421,0.033,0.233,0.354,0.373,0.445,0.328,0.533,
+0.675,0.392,0.379,0.611,0.450,0.385,0.285,0.439,0.576,0.044,
+0.403,0.634,0.777,0.606,0.611,1.203,2.158,0.958,0.730,1.668,
+0.691,0.419,0.353,0.501,0.734,0.057,0.329,0.568,1.300,0.741,
+0.632,1.360,0.886,0.426,0.323,0.650,0.428,0.226,0.234,0.328,
+0.547,0.034,0.257,0.408,0.540,0.366,0.341,0.633,0.816,0.514,
+0.592,0.985,0.058,0.039,0.037,0.095,0.460,0.032,0.241,0.413,
+0.500,0.424,0.326,0.677,1.561,0.633,0.885,2.653,0.758,0.439,
+0.511,1.015,0.668,0.043,0.401,0.718,1.176,0.646,0.805,2.116,
+1.181,0.634,0.400,0.799,0.570,0.391,0.264,0.390,0.528,0.040,
+0.243,0.427,0.566,0.463,0.339,0.697,0.739,0.428,0.236,0.421,
+0.393,0.274,0.194,0.272,0.409,0.033,0.217,0.387,0.418,0.358,
+0.231,0.469,0.582,0.429,0.328,0.594,0.033,0.030,0.021,0.049,
+0.431,0.030,0.214,0.411,0.433,0.411,0.277,0.537,0.832,0.420,
+0.424,0.988,0.612,0.422,0.386,0.766,0.503,0.032,0.304,0.551,
+0.675,0.497,0.476,1.071,0.873,0.424,0.335,0.587,0.559,0.348,
+0.316,0.475,0.569,0.054,0.305,0.476,0.556,0.428,0.429,0.804,
+0.052,0.039,0.024,0.047,0.029,0.028,0.021,0.029,0.037,3.97e-3,
+0.029,0.040,0.048,0.049,0.034,0.061,0.482,0.407,0.293,0.481,
+0.031,0.024,0.020,0.041,0.386,0.033,0.224,0.376,0.358,0.381,
+0.328,0.532,0.574,0.337,0.337,0.610,0.572,0.405,0.352,0.584,
+0.598,0.040,0.384,0.634,0.570,0.467,0.561,1.001,1.471,0.642,
+0.546,1.120,0.614,0.393,0.346,0.568,0.728,0.057,0.347,0.632,
+1.084,0.662,0.627,1.658,0.806,0.546,0.322,0.617,0.420,0.306,
+0.279,0.370,0.501,0.034,0.313,0.542,0.599,0.497,0.396,0.819,
+0.817,0.640,0.490,0.899,0.051,0.042,0.030,0.070,0.659,0.041,
+0.373,0.642,0.725,0.715,0.587,0.987,1.580,0.731,0.794,1.836,
+0.933,0.673,0.638,1.101,1.221,0.062,0.821,1.530,2.231,1.333,
+1.478,2.940,1.930,1.137,0.979,1.625,1.132,0.646,0.579,0.715,
+0.923,0.097,0.612,0.799,1.381,1.018,0.685,1.170,1.208,0.730,
+0.532,0.711,0.784,0.461,0.410,0.452,0.589,0.056,0.432,0.515,
+0.522,0.510,0.451,0.618,0.738,0.532,0.435,0.640,0.067,0.046,
+0.044,0.078,0.457,0.044,0.291,0.376,0.412,0.458,0.426,0.573,
+1.020,0.517,0.439,0.896,0.928,0.521,0.427,0.673,0.550,0.045,
+0.354,0.553,0.774,0.548,0.596,1.124,1.350,0.778,0.569,0.772,
+0.788,0.532,0.379,0.439,0.777,0.135,0.605,0.645,0.656,0.714,
+0.410,0.724,0.927,0.610,0.382,0.518,0.540,0.377,0.326,0.370,
+0.605,0.085,0.416,0.527,0.370,0.464,0.331,0.447,0.532,0.486,
+0.335,0.431,0.059,0.047,0.041,0.051,0.897,0.076,0.333,0.465,
+0.348,0.477,0.362,0.436,0.489,0.360,0.238,0.390,0.550,0.380,
+0.275,0.407,0.464,0.038,0.285,0.416,0.436,0.383,0.385,0.692,
+0.825,0.425,0.314,0.480,0.831,0.403,0.368,0.433,0.534,0.067,
+0.285,0.382,0.472,0.437,0.352,0.670,0.057,0.054,0.033,0.051,
+0.056,0.054,0.039,0.045,0.042,8.16e-3,0.035,0.044,0.045,0.066,
+0.045,0.065,0.381,0.322,0.288,0.342,0.040,0.032,0.032,0.044,
+0.343,0.038,0.237,0.302,0.270,0.327,0.376,0.419,0.384,0.236,
+0.226,0.371,0.455,0.344,0.310,0.417,0.451,0.043,0.317,0.433,
+0.392,0.400,0.461,0.722,0.919,0.387,0.309,0.623,0.466,0.277,
+0.234,0.313,0.442,0.050,0.237,0.342,0.541,0.396,0.301,0.712,
+0.710,0.460,0.342,0.561,0.489,0.413,0.317,0.403,0.358,0.037,
+0.283,0.431,0.371,0.420,0.326,0.561,0.383,0.310,0.282,0.433,
+0.033,0.025,0.029,0.045,0.332,0.041,0.212,0.344,0.293,0.361,
+0.371,0.512,0.584,0.319,0.297,0.622,0.390,0.301,0.273,0.409,
+0.491,0.039,0.404,0.641,0.672,0.567,0.635,1.277,1.378,0.800,
+0.589,0.937,0.793,0.601,0.465,0.515,0.512,0.052,0.281,0.415,
+0.687,0.530,0.398,0.686,0.919,0.639,0.440,0.525,0.635,0.492,
+0.442,0.444,0.426,0.059,0.322,0.424,0.325,0.402,0.314,0.456,
+0.400,0.375,0.326,0.400,0.043,0.045,0.038,0.053,0.257,0.031,
+0.204,0.235,0.247,0.300,0.276,0.422,0.471,0.286,0.242,0.471,
+0.473,0.436,0.270,0.370,0.350,0.032,0.222,0.302,0.402,0.314,
+0.344,0.673,0.942,0.720,0.351,0.522,0.696,0.861,0.370,0.381,
+0.401,0.053,0.242,0.353,0.353,0.412,0.242,0.516,0.726,0.658,
+0.354,0.396,0.513,0.294,0.323,0.356,0.394,0.061,0.309,0.404,
+0.260,0.410,0.252,0.363,0.479,0.471,0.291,0.348,0.097,0.068,
+0.045,0.050,0.339,0.048,0.233,0.350,0.227,0.419,0.318,0.389,
+0.358,0.273,0.232,0.317,0.498,0.449,0.259,0.324,0.348,0.030,
+0.219,0.311,0.270,0.293,0.273,0.492,0.619,0.380,0.268,0.391,
+0.560,0.466,0.379,0.359,0.401,0.057,0.241,0.308,0.344,0.354,
+0.307,0.497,0.053,0.056,0.043,0.049,0.045,0.074,0.054,0.040,
+0.035,0.013,0.044,0.041,0.027,0.058,0.037,0.044,0.430,0.451,
+0.327,0.394,0.050,0.057,0.048,0.051,0.333,0.045,0.260,0.321,
+0.244,0.378,0.432,0.410,0.403,0.265,0.241,0.385,0.454,0.460,
+0.414,0.441,0.417,0.042,0.312,0.439,0.338,0.334,0.459,0.629,
+0.527,0.313,0.232,0.397,0.354,0.248,0.206,0.253,0.268,0.025,
+0.165,0.240,0.328,0.252,0.234,0.475,0.524,0.417,0.302,0.409,
+0.380,0.422,0.399,0.417,0.261,0.035,0.258,0.339,0.248,0.332,
+0.275,0.401,0.288,0.300,0.240,0.323,0.023,0.027,0.024,0.032,
+0.222,0.023,0.204,0.265,0.225,0.308,0.467,0.472,0.388,0.227,
+0.227,0.374,0.291,0.272,0.235,0.315,0.313,0.024,0.266,0.418,
+0.413,0.424,0.466,0.800,0.826,0.546,0.371,0.684,0.398,0.309,
+0.224,0.319,0.367,0.038,0.238,0.302,0.417,0.391,0.315,0.456,
+0.659,0.516,0.298,0.463,0.438,0.377,0.296,0.327,0.416,0.055,
+0.380,0.420,0.312,0.509,0.294,0.408,0.365,0.442,0.355,0.456,
+0.039,0.048,0.052,0.086,0.326,0.040,0.237,0.324,0.213,0.347,
+0.515,0.372,0.408,0.268,0.236,0.520,0.345,0.295,0.294,0.459,
+0.322,0.035,0.252,0.381,0.398,0.339,0.406,0.827,0.040,0.040,
+0.020,0.033,0.041,0.045,0.024,0.028,0.031,5.79e-3,0.022,0.028,
+0.030,0.037,0.036,0.040,0.044,0.046,0.023,0.029,0.047,0.060,
+0.038,0.034,0.038,0.013,0.039,0.041,0.027,0.054,0.028,0.036,
+0.025,0.042,0.028,0.032,5.38e-3,0.010,0.014,9.52e-3,0.065,0.013,
+0.061,0.074,0.023,0.044,0.042,0.038,0.036,0.028,0.021,0.045,
+0.049,0.054,0.046,0.073,0.036,7.03e-3,0.034,0.049,0.034,0.035,
+0.038,0.065,0.504,0.396,0.241,0.314,0.381,0.435,0.299,0.321,
+0.407,0.068,0.307,0.457,0.295,0.394,0.304,0.504,0.038,0.049,
+0.024,0.029,0.030,0.052,0.039,0.029,0.035,0.010,0.040,0.045,
+0.031,0.058,0.036,0.044,0.331,0.670,0.269,0.311,0.039,0.128,
+0.041,0.042,0.313,0.056,0.202,0.273,0.197,0.362,0.305,0.346,
+0.283,0.264,0.201,0.288,0.360,0.572,0.313,0.431,0.408,0.053,
+0.344,0.442,0.299,0.336,0.389,0.584,0.517,0.354,0.207,0.382,
+0.286,0.240,0.155,0.203,0.319,0.036,0.178,0.295,0.354,0.355,
+0.211,0.503,0.577,0.465,0.269,0.391,0.398,0.456,0.327,0.344,
+0.378,0.047,0.322,0.472,0.339,0.482,0.319,0.482,0.420,0.425,
+0.267,0.355,0.029,0.039,0.026,0.035,0.317,0.038,0.244,0.340,
+0.271,0.436,0.331,0.445,0.406,0.287,0.230,0.428,0.324,0.308,
+0.231,0.343,0.415,0.038,0.385,0.565,0.518,0.524,0.512,0.862,
+0.967,0.472,0.397,0.832,0.427,0.252,0.227,0.386,0.417,0.035,
+0.226,0.354,0.562,0.388,0.611,0.683,0.524,0.295,0.208,0.361,
+0.291,0.191,0.169,0.241,0.287,0.024,0.202,0.276,0.285,0.244,
+0.330,0.369,0.382,0.307,0.250,0.441,0.027,0.022,0.021,0.055,
+0.266,0.022,0.201,0.280,0.248,0.254,0.262,0.402,0.533,0.275,
+0.315,0.761,0.334,0.220,0.237,0.564,0.360,0.025,0.241,0.424,
+0.588,0.339,0.401,1.033,0.740,0.460,0.301,0.538,0.473,0.362,
+0.346,0.341,0.405,0.039,0.235,0.378,0.415,0.376,0.340,0.513,
+0.544,0.372,0.215,0.337,0.389,0.332,0.240,0.309,0.361,0.040,
+0.277,0.412,0.324,0.361,0.300,0.407,0.349,0.356,0.245,0.405,
+0.029,0.035,0.032,0.059,0.409,0.039,0.267,0.473,0.289,0.379,
+0.268,0.456,0.423,0.268,0.256,0.592,0.449,0.374,0.378,1.163,
+0.378,0.032,0.351,0.527,0.402,0.358,0.387,0.795,0.512,0.274,
+0.214,0.350,0.372,0.286,0.241,0.326,0.363,0.043,0.249,0.364,
+0.349,0.306,0.319,0.543,0.034,0.026,0.016,0.028,0.022,0.032,
+0.022,0.025,0.023,4.01e-3,0.025,0.030,0.027,0.035,0.029,0.043,
+0.291,0.323,0.208,0.314,0.022,0.027,0.020,0.036,0.273,0.032,
+0.230,0.304,0.224,0.303,0.297,0.417,0.332,0.223,0.209,0.326,
+0.334,0.308,0.274,0.446,0.566,0.042,0.337,0.606,0.407,0.328,
+0.439,0.753,0.705,0.372,0.278,0.518,0.337,0.252,0.198,0.282,
+0.372,0.039,0.197,0.348,0.457,0.330,0.287,0.667,0.565,0.318,
+0.222,0.379,0.300,0.260,0.259,0.316,0.272,0.022,0.218,0.348,
+0.307,0.291,0.246,0.558,0.451,0.361,0.283,0.486,0.028,0.024,
+0.021,0.044,0.340,0.028,0.259,0.398,0.362,0.412,0.436,0.598,
+0.671,0.356,0.351,0.724,0.421,0.364,0.348,0.652,0.565,0.039,
+0.496,0.805,0.890,0.724,0.774,1.271,1.292,0.657,0.563,0.988,
+0.644,0.406,0.329,0.445,0.479,0.047,0.250,0.451,0.722,0.542,
+0.360,0.659,0.593,0.373,0.403,0.379,0.408,0.235,0.221,0.263,
+0.292,0.029,0.184,0.232,0.300,0.279,0.227,0.360,0.507,0.327,
+0.255,0.453,0.035,0.025,0.022,0.049,0.242,0.021,0.160,0.269,
+0.236,0.264,0.246,0.364,0.681,0.272,0.228,0.486,0.395,0.252,
+0.219,0.355,0.295,0.021,0.165,0.271,0.414,0.229,0.304,0.625,
+0.874,0.487,0.306,0.578,0.597,0.366,0.328,0.354,0.341,0.035,
+0.194,0.293,0.376,0.339,0.222,0.420,0.581,0.509,0.218,0.318,
+0.405,0.225,0.212,0.247,0.315,0.031,0.190,0.265,0.262,0.241,
+0.165,0.268,0.424,0.364,0.251,0.370,0.036,0.032,0.027,0.044,
+0.318,0.029,0.208,0.372,0.276,0.319,0.264,0.371,0.430,0.248,
+0.161,0.319,0.409,0.311,0.226,0.370,0.295,0.022,0.182,0.325,
+0.326,0.258,0.285,0.653,0.546,0.282,0.208,0.370,0.532,0.341,
+0.294,0.362,0.394,0.048,0.220,0.285,0.370,0.372,0.266,0.474,
+0.046,0.043,0.026,0.040,0.045,0.037,0.032,0.040,0.035,5.56e-3,
+0.051,0.039,0.046,0.065,0.041,0.060,0.316,0.279,0.267,0.432,
+0.031,0.024,0.031,0.062,0.256,0.028,0.159,0.219,0.197,0.278,
+0.305,0.317,0.290,0.174,0.184,0.354,0.387,0.283,0.309,0.395,
+0.310,0.029,0.213,0.318,0.318,0.272,0.326,0.527,0.606,0.268,
+0.198,0.419,0.323,0.205,0.188,0.236,0.295,0.030,0.150,0.232,
+0.409,0.309,0.228,0.490,0.473,0.303,0.192,0.316,0.333,0.230,
+0.202,0.252,0.253,0.022,0.209,0.265,0.293,0.279,0.239,0.380,
+0.357,0.309,0.269,0.397,0.030,0.023,0.026,0.041,0.296,0.026,
+0.185,0.284,0.278,0.348,0.347,0.437,0.491,0.262,0.250,0.511,
+0.311,0.199,0.245,0.356,0.467,0.032,0.279,0.476,0.641,0.458,
+0.568,1.012,0.057,0.037,0.031,0.040,0.037,0.029,0.022,0.028,
+0.024,3.57e-3,0.017,0.027,0.032,0.036,0.024,0.036,0.044,0.034,
+0.094,0.035,0.034,0.028,0.031,0.026,0.021,3.75e-3,0.018,0.020,
+0.020,0.023,0.021,0.031,0.024,0.023,0.020,0.026,2.87e-3,3.15e-3,
+2.72e-3,3.86e-3,0.016,2.09e-3,0.012,0.019,0.014,0.019,0.017,0.026,
+0.031,0.017,0.016,0.029,0.029,0.024,0.018,0.027,0.021,2.37e-3,
+0.014,0.024,0.024,0.020,0.025,0.048,0.044,0.033,0.017,0.027,
+0.034,0.036,0.025,0.022,0.018,3.20e-3,0.012,0.017,0.017,0.021,
+0.016,0.024,0.040,0.056,0.021,0.023,0.041,0.042,0.028,0.027,
+0.026,6.19e-3,0.020,0.024,0.020,0.023,0.016,0.022,0.026,0.031,
+0.019,0.024,4.56e-3,6.92e-3,5.30e-3,4.55e-3,0.030,6.17e-3,0.021,0.038,
+0.019,0.030,0.025,0.030,0.025,0.017,0.012,0.022,0.030,0.028,
+0.020,0.026,0.021,2.42e-3,0.015,0.027,0.019,0.018,0.020,0.043,
+0.031,0.019,0.013,0.018,0.030,0.027,0.027,0.023,0.022,3.63e-3,
+0.021,0.018,0.018,0.022,0.018,0.027,2.89e-3,4.71e-3,3.19e-3,2.99e-3,
+3.77e-3,6.59e-3,5.49e-3,4.47e-3,3.22e-3,2.10e-3,0.013,4.16e-3,2.07e-3,4.59e-3,
+4.17e-3,3.91e-3,0.025,0.030,0.025,0.041,3.65e-3,5.36e-3,6.23e-3,6.02e-3,
+0.028,6.50e-3,0.020,0.025,0.015,0.028,0.036,0.031,0.022,0.014,
+0.015,0.031,0.031,0.030,0.028,0.035,0.025,4.73e-3,0.022,0.036,
+0.021,0.027,0.029,0.044,0.038,0.030,0.018,0.030,0.025,0.021,
+0.017,0.020,0.020,2.55e-3,0.013,0.018,0.028,0.026,0.023,0.043,
+0.041,0.039,0.024,0.044,0.036,0.040,0.028,0.037,0.026,3.28e-3,
+0.030,0.029,0.027,0.035,0.029,0.042,0.023,0.024,0.021,0.031,
+2.59e-3,3.48e-3,2.82e-3,4.50e-3,0.022,3.06e-3,0.019,0.026,0.021,0.028,
+0.045,0.042,0.033,0.022,0.019,0.037,0.025,0.021,0.021,0.030,
+0.032,3.34e-3,0.024,0.037,0.041,0.036,0.045,0.080,0.620,0.380,
+0.271,0.465,0.330,0.240,0.186,0.257,0.259,0.027,0.149,0.224,
+0.255,0.204,0.177,0.311,0.489,0.324,0.204,0.277,0.365,0.254,
+0.280,0.258,0.281,0.030,0.286,0.294,0.198,0.260,0.189,0.314,
+0.280,0.284,0.193,0.288,0.035,0.037,0.028,0.052,0.230,0.026,
+0.170,0.228,0.162,0.248,0.198,0.286,0.285,0.168,0.149,0.276,
+0.269,0.212,0.181,0.280,0.303,0.028,0.203,0.398,0.272,0.212,
+0.283,0.571,0.035,0.028,0.015,0.025,0.029,0.030,0.021,0.023,
+0.016,3.43e-3,0.012,0.017,0.015,0.019,0.013,0.024,0.029,0.030,
+0.015,0.017,0.030,0.027,0.028,0.024,0.020,4.94e-3,0.025,0.023,
+0.013,0.019,0.013,0.018,0.020,0.028,0.016,0.022,3.45e-3,6.43e-3,
+4.97e-3,4.44e-3,0.021,5.71e-3,0.025,0.033,0.013,0.024,0.019,0.023,
+0.029,0.019,0.013,0.029,0.035,0.037,0.024,0.038,0.028,4.15e-3,
+0.023,0.096,0.022,0.021,0.024,0.053,0.401,0.248,0.172,0.199,
+0.331,0.302,0.322,0.239,0.259,0.041,0.227,0.254,0.190,0.218,
+0.232,0.337,0.028,0.034,0.017,0.019,0.028,0.035,0.033,0.021,
+0.025,6.19e-3,0.031,0.028,0.020,0.032,0.028,0.030,0.287,0.290,
+0.225,0.253,0.029,0.029,0.036,0.033,0.243,0.033,0.102,0.165,
+0.137,0.192,0.206,0.237,0.216,0.142,0.129,0.177,0.265,0.244,
+0.213,0.239,0.237,0.028,0.275,0.299,0.194,0.200,0.278,0.377,
+0.368,0.224,0.151,0.239,0.238,0.177,0.148,0.151,0.192,0.021,
+0.140,0.188,0.201,0.174,0.146,0.285,0.353,0.295,0.182,0.231,
+0.303,0.273,0.228,0.196,0.233,0.024,0.236,0.257,0.197,0.249,
+0.222,0.274,0.305,0.285,0.225,0.339,0.024,0.029,0.023,0.032,
+0.271,0.027,0.247,0.313,0.200,0.291,0.271,0.353,0.305,0.192,
+0.164,0.282,0.244,0.211,0.177,0.239,0.319,0.026,0.317,0.390,
+0.347,0.326,0.367,0.559,0.713,0.297,0.236,0.480,0.295,0.175,
+0.177,0.250,0.249,0.023,0.125,0.204,0.319,0.228,0.194,0.386,
+0.389,0.209,0.137,0.221,0.222,0.139,0.143,0.187,0.184,0.014,
+0.125,0.176,0.168,0.147,0.130,0.246,0.317,0.215,0.139,0.258,
+0.022,0.017,0.014,0.033,0.221,0.016,0.121,0.208,0.200,0.186,
+0.170,0.299,0.356,0.179,0.164,0.334,0.239,0.150,0.147,0.252,
+0.234,0.017,0.130,0.257,0.305,0.198,0.237,0.560,0.613,0.336,
+0.226,0.391,0.359,0.250,0.259,0.265,0.254,0.022,0.161,0.232,
+0.246,0.231,0.177,0.326,0.399,0.297,0.151,0.236,0.295,0.218,
+0.215,0.243,0.235,0.018,0.179,0.237,0.166,0.173,0.135,0.227,
+0.285,0.278,0.171,0.276,0.022,0.024,0.016,0.030,0.247,0.023,
+0.172,0.320,0.181,0.244,0.213,0.345,0.350,0.208,0.170,0.311,
+0.351,0.256,0.241,0.351,0.263,0.022,0.188,0.434,0.265,0.237,
+0.252,0.517,0.760,0.240,0.192,0.282,0.347,0.259,0.256,0.279,
+0.284,0.035,0.178,0.297,0.259,0.250,0.252,0.428,0.037,0.021,
+0.013,0.022,0.021,0.025,0.022,0.023,0.016,3.11e-3,0.018,0.026,
+0.020,0.030,0.020,0.030,0.324,0.292,0.189,0.285,0.023,0.020,
+0.018,0.031,0.255,0.026,0.188,0.274,0.187,0.251,0.237,0.337,
+0.341,0.198,0.242,0.276,0.341,0.247,0.256,0.339,0.292,0.026,
+0.264,0.492,0.278,0.264,0.350,0.546,0.546,0.231,0.193,0.343,
+0.248,0.161,0.154,0.198,0.271,0.028,0.147,0.229,0.286,0.201,
+0.184,0.409,0.324,0.203,0.139,0.234,0.231,0.192,0.178,0.205,
+0.187,0.014,0.159,0.233,0.189,0.183,0.172,0.278,0.357,0.289,
+0.221,0.382,0.023,0.021,0.016,0.033,0.309,0.023,0.247,0.386,
+0.272,0.314,0.303,0.442,0.478,0.233,0.221,0.460,0.331,0.246,
+0.253,0.370,0.401,0.026,0.331,0.557,0.500,0.385,0.480,0.827,
+1.825,0.654,0.519,1.237,0.568,0.291,0.235,0.428,0.472,0.040,
+0.180,0.359,0.804,0.558,0.306,0.711,0.523,0.254,0.176,0.286,
+0.272,0.137,0.120,0.166,0.237,0.016,0.123,0.171,0.292,0.252,
+0.164,0.286,0.391,0.231,0.179,0.362,0.028,0.017,0.014,0.037,
+0.198,0.014,0.098,0.171,0.215,0.208,0.183,0.306,0.610,0.258,
+0.225,0.547,0.356,0.206,0.185,0.341,0.272,0.018,0.149,0.264,
+0.465,0.271,0.291,0.738,0.621,0.267,0.183,0.392,0.287,0.147,
+0.126,0.177,0.181,0.015,0.080,0.146,0.231,0.173,0.105,0.249,
+0.306,0.171,0.096,0.189,0.176,0.092,0.075,0.109,0.153,9.26e-3,
+0.071,0.114,0.158,0.113,0.085,0.167,0.238,0.149,0.110,0.195,
+0.014,9.72e-3,8.39e-3,0.016,0.158,0.011,0.068,0.123,0.142,0.131,
+0.108,0.179,0.245,0.130,0.090,0.196,0.177,0.116,0.087,0.153,
+0.166,0.010,0.095,0.166,0.191,0.135,0.146,0.359,0.457,0.197,
+0.156,0.286,0.323,0.170,0.139,0.220,0.231,0.024,0.091,0.160,
+0.319,0.241,0.153,0.386,0.027,0.016,0.011,0.022,0.022,0.013,
+0.010,0.019,0.017,1.38e-3,8.35e-3,0.016,0.034,0.031,0.015,0.036,
+0.202,0.140,0.129,0.194,0.015,9.30e-3,9.33e-3,0.019,0.141,0.010,
+0.068,0.116,0.151,0.143,0.148,0.202,0.223,0.118,0.119,0.244,
+0.220,0.127,0.122,0.219,0.179,0.013,0.100,0.186,0.240,0.169,
+0.192,0.399,0.643,0.254,0.196,0.450,0.278,0.146,0.166,0.214,
+0.269,0.024,0.130,0.224,0.494,0.305,0.209,0.516,0.337,0.169,
+0.127,0.221,0.190,0.117,0.101,0.147,0.196,0.013,0.103,0.176,
+0.278,0.215,0.143,0.300,0.246,0.175,0.153,0.259,0.017,0.010,
+0.011,0.022,0.174,0.011,0.099,0.173,0.205,0.202,0.204,0.318,
+0.455,0.215,0.217,0.533,0.274,0.150,0.170,0.279,0.350,0.020,
+0.192,0.346,0.589,0.381,0.468,1.022,0.600,0.296,0.220,0.443,
+0.284,0.168,0.125,0.194,0.198,0.017,0.104,0.188,0.270,0.215,
+0.151,0.324,0.309,0.169,0.168,0.199,0.184,0.115,0.106,0.127,
+0.137,0.010,0.097,0.119,0.135,0.120,0.099,0.184,0.188,0.133,
+0.096,0.177,0.012,0.010,7.29e-3,0.017,0.106,8.47e-3,0.071,0.110,
+0.111,0.112,0.102,0.187,0.221,0.117,0.095,0.207,0.170,0.121,
+0.088,0.150,0.131,0.010,0.081,0.152,0.179,0.136,0.167,0.348,
+0.394,0.200,0.111,0.220,0.213,0.146,0.098,0.139,0.120,9.38e-3,
+0.056,0.100,0.144,0.115,0.076,0.173,0.227,0.162,0.073,0.120,
+0.172,0.129,0.078,0.110,0.113,9.43e-3,0.063,0.095,0.105,0.094,
+0.067,0.125,0.167,0.124,0.083,0.140,0.012,9.70e-3,6.21e-3,0.011,
+0.125,0.011,0.062,0.110,0.103,0.118,0.093,0.158,0.151,0.089,
+0.061,0.130,0.136,0.104,0.065,0.108,0.106,6.90e-3,0.059,0.109,
+0.122,0.102,0.113,0.232,0.254,0.125,0.092,0.150,0.176,0.129,
+0.102,0.129,0.138,0.014,0.063,0.106,0.148,0.126,0.088,0.212,
+0.011,9.21e-3,5.94e-3,0.010,9.23e-3,0.011,6.32e-3,9.68e-3,7.85e-3,1.09e-3,
+7.68e-3,9.16e-3,0.011,0.013,7.55e-3,0.015,0.151,0.125,0.089,0.141,
+0.011,8.26e-3,7.12e-3,0.014,0.108,9.40e-3,0.062,0.094,0.109,0.115,
+0.108,0.175,0.154,0.086,0.077,0.155,0.157,0.107,0.098,0.159,
+0.127,9.09e-3,0.077,0.145,0.154,0.129,0.164,0.306,0.293,0.152,
+0.098,0.196,0.149,0.098,0.081,0.113,0.134,0.011,0.069,0.115,
+0.184,0.135,0.103,0.251,0.198,0.131,0.083,0.145,0.122,0.100,
+0.077,0.120,0.124,9.03e-3,0.079,0.128,0.142,0.143,0.101,0.196,
+0.148,0.111,0.087,0.155,8.96e-3,6.62e-3,5.73e-3,0.012,0.099,7.17e-3,
+0.076,0.111,0.110,0.112,0.147,0.229,0.205,0.102,0.101,0.203,
+0.149,0.094,0.086,0.160,0.162,0.010,0.102,0.183,0.247,0.202,
+0.246,0.509,0.451,0.235,0.169,0.319,0.195,0.128,0.087,0.153,
+0.200,0.014,0.076,0.133,0.202,0.143,0.092,0.209,0.276,0.175,
+0.096,0.169,0.172,0.108,0.090,0.109,0.146,0.012,0.087,0.126,
+0.146,0.153,0.099,0.195,0.189,0.161,0.096,0.177,0.016,0.015,
+9.10e-3,0.023,0.119,0.010,0.057,0.104,0.118,0.142,0.090,0.172,
+0.208,0.123,0.092,0.209,0.151,0.114,0.086,0.156,0.153,0.012,
+0.088,0.171,0.198,0.141,0.165,0.380,0.020,0.013,9.49e-3,0.014,
+0.017,0.011,6.07e-3,9.98e-3,9.66e-3,9.87e-4,4.64e-3,7.89e-3,0.011,0.010,
+6.06e-3,0.014,0.013,0.010,4.46e-3,8.07e-3,0.011,9.56e-3,5.06e-3,7.37e-3,
+8.20e-3,1.02e-3,6.80e-3,8.12e-3,8.83e-3,9.40e-3,6.06e-3,0.012,9.02e-3,0.010,
+5.18e-3,8.83e-3,9.04e-4,1.78e-3,7.47e-4,1.06e-3,8.66e-3,1.32e-3,5.06e-3,8.83e-3,
+7.33e-3,9.80e-3,6.42e-3,0.012,0.015,0.010,6.47e-3,0.016,0.014,0.014,
+7.47e-3,0.015,0.010,9.87e-4,6.82e-3,0.018,0.014,0.012,0.011,0.029,
+0.254,0.136,0.086,0.129,0.170,0.138,0.107,0.135,0.131,0.017,
+0.081,0.122,0.123,0.122,0.101,0.200,0.012,9.33e-3,4.95e-3,8.57e-3,
+9.37e-3,8.64e-3,6.37e-3,7.33e-3,8.63e-3,1.12e-3,6.80e-3,8.66e-3,0.012,0.014,
+0.012,0.015,0.135,0.127,0.084,0.120,0.010,9.48e-3,7.80e-3,0.012,
+0.119,0.011,0.070,0.101,0.087,0.105,0.099,0.145,0.140,0.092,
+0.073,0.120,0.138,0.112,0.085,0.127,0.139,0.011,0.102,0.154,
+0.136,0.116,0.149,0.255,0.279,0.130,0.088,0.170,0.137,0.091,
+0.076,0.109,0.122,0.011,0.075,0.123,0.148,0.113,0.082,0.196,
+0.218,0.128,0.079,0.134,0.128,0.099,0.076,0.090,0.123,8.77e-3,
+0.094,0.130,0.146,0.136,0.103,0.180,0.170,0.140,0.104,0.161,
+9.24e-3,8.82e-3,6.99e-3,0.012,0.131,9.33e-3,0.089,0.132,0.128,0.141,
+0.135,0.203,0.196,0.103,0.098,0.162,0.114,0.093,0.077,0.116,
+0.165,0.011,0.126,0.179,0.203,0.162,0.193,0.354,0.854,0.244,
+0.163,0.408,0.183,0.098,0.079,0.149,0.167,0.013,0.069,0.128,
+0.238,0.161,0.110,0.277,0.221,0.100,0.055,0.108,0.100,0.060,
+0.044,0.070,0.089,5.40e-3,0.045,0.077,0.095,0.072,0.052,0.119,
+0.174,0.107,0.066,0.171,9.37e-3,7.48e-3,5.34e-3,0.016,0.096,6.44e-3,
+0.047,0.088,0.107,0.094,0.068,0.153,0.242,0.125,0.094,0.251,
+0.125,0.078,0.075,0.152,0.123,8.01e-3,0.070,0.133,0.209,0.136,
+0.140,0.396,0.263,0.111,0.070,0.134,0.110,0.069,0.049,0.074,
+0.080,5.61e-3,0.037,0.064,0.091,0.069,0.049,0.106,0.140,0.083,
+0.035,0.068,0.074,0.068,0.030,0.049,0.066,4.46e-3,0.034,0.057,
+0.063,0.054,0.034,0.079,0.099,0.079,0.040,0.087,4.69e-3,4.89e-3,
+2.45e-3,6.41e-3,0.067,4.30e-3,0.032,0.069,0.064,0.065,0.045,0.107,
+0.118,0.062,0.046,0.104,0.079,0.057,0.041,0.085,0.075,4.21e-3,
+0.039,0.083,0.091,0.070,0.065,0.198,0.195,0.076,0.058,0.091,
+0.105,0.061,0.047,0.081,0.081,7.43e-3,0.036,0.072,0.090,0.071,
+0.056,0.127,6.59e-3,4.12e-3,2.40e-3,5.23e-3,3.97e-3,3.44e-3,2.17e-3,4.31e-3,
+3.36e-3,2.35e-4,2.38e-3,3.92e-3,5.79e-3,5.42e-3,3.62e-3,8.83e-3,0.096,0.067,
+0.044,0.079,4.25e-3,3.07e-3,2.49e-3,6.72e-3,0.063,4.22e-3,0.045,0.061,
+0.063,0.059,0.059,0.101,0.107,0.057,0.051,0.086,0.077,0.049,
+0.044,0.082,0.078,4.27e-3,0.050,0.090,0.088,0.058,0.078,0.158,
+0.318,0.079,0.055,0.120,0.073,0.035,0.030,0.048,0.068,4.83e-3,
+0.031,0.055,0.097,0.058,0.043,0.122,0.074,0.035,0.022,0.038,
+0.036,0.020,0.018,0.029,0.035,1.69e-3,0.025,0.036,0.041,0.030,
+0.026,0.063,0.059,0.038,0.026,0.048,2.04e-3,1.57e-3,1.22e-3,3.20e-3,
+0.037,1.77e-3,0.024,0.039,0.041,0.032,0.032,0.057,0.089,0.020,
+0.019,0.039,0.019,0.012,0.012,0.021,0.021,1.01e-3,0.015,0.025,
+0.025,9.67e-3,0.012,0.017
+};
+
+static double hg19_biasTable24_6_large[] = {
+0.749
+};
+
+static double hg19_biasTable25_6_large[] = {
+1.554,0.739,0.467,0.270
+};
+
+static double hg19_biasTable26_6_large[] = {
+2.361,1.490,0.996,1.421,0.997,0.776,0.567,0.635,0.822,0.091,
+0.448,0.537,0.467,0.329,0.171,0.122
+};
+
+static double hg19_biasTable27_6_large[] = {
+3.845,1.966,1.376,2.332,1.998,1.505,1.165,1.339,1.679,0.198,
+0.884,1.257,1.646,1.384,0.951,1.757,1.425,1.117,0.635,0.845,
+0.997,0.824,0.665,0.653,0.836,0.123,0.603,0.725,0.627,0.755,
+0.468,0.719,0.949,0.927,0.632,0.796,0.086,0.101,0.081,0.099,
+0.693,0.089,0.452,0.584,0.477,0.623,0.457,0.604,0.684,0.360,
+0.304,0.529,0.437,0.330,0.240,0.327,0.290,0.023,0.163,0.226,
+0.210,0.121,0.088,0.072
+};
+
+static double hg19_biasTable28_6_large[] = {
+6.220,2.968,2.233,4.092,2.712,1.846,1.444,1.908,2.366,0.237,
+1.155,1.786,2.908,2.249,1.453,2.769,2.947,2.060,1.288,1.749,
+1.969,1.445,1.334,1.319,1.722,0.209,1.289,1.479,1.322,1.491,
+1.015,1.575,1.922,1.761,1.312,1.794,0.185,0.198,0.164,0.253,
+1.301,0.162,0.902,1.199,1.063,1.410,1.040,1.560,2.240,1.175,
+1.056,2.149,1.657,1.293,1.027,1.588,1.376,0.137,0.917,1.417,
+1.747,1.221,1.338,2.808,2.211,1.405,0.812,1.301,1.514,1.257,
+0.835,0.893,1.028,0.137,0.574,0.811,0.872,0.962,0.563,1.021,
+1.405,1.212,0.602,0.808,1.096,0.839,0.704,0.692,0.959,0.183,
+0.682,0.864,0.601,0.842,0.490,0.704,0.926,1.035,0.611,0.798,
+0.107,0.154,0.118,0.120,0.849,0.140,0.608,0.815,0.571,0.958,
+0.604,0.808,0.816,0.558,0.399,0.727,0.875,0.792,0.542,0.805,
+0.677,0.072,0.455,0.708,0.645,0.633,0.561,1.089,1.497,0.874,
+0.605,0.852,1.137,0.965,0.788,0.802,1.056,0.152,0.583,0.767,
+0.779,0.792,0.605,1.028,0.095,0.117,0.058,0.075,0.095,0.132,
+0.105,0.076,0.092,0.036,0.102,0.092,0.078,0.138,0.076,0.099,
+0.739,0.812,0.576,0.656,0.082,0.102,0.084,0.089,0.731,0.112,
+0.437,0.566,0.453,0.697,0.554,0.651,0.606,0.410,0.362,0.545,
+0.693,0.646,0.512,0.662,0.665,0.073,0.483,0.660,0.523,0.497,
+0.547,0.859,1.149,0.488,0.379,0.727,0.511,0.320,0.292,0.357,
+0.537,0.049,0.258,0.401,0.653,0.429,0.323,0.724,0.630,0.466,
+0.275,0.386,0.424,0.359,0.263,0.287,0.365,0.036,0.247,0.330,
+0.329,0.352,0.230,0.381,0.350,0.291,0.233,0.307,0.026,0.023,
+0.021,0.029,0.248,0.023,0.167,0.228,0.213,0.233,0.200,0.264,
+0.319,0.149,0.134,0.241,0.156,0.112,0.091,0.129,0.144,9.21e-3,
+0.085,0.123,0.129,0.068,0.051,0.041
+};
+
+static double hg19_biasTable29_6_large[] = {
+10.7,4.323,3.501,6.664,4.325,2.589,2.145,2.872,3.972,0.377,
+1.808,2.838,5.527,3.984,2.418,4.519,4.279,2.525,1.758,2.349,
+2.641,1.689,1.503,1.585,2.354,0.238,1.465,1.750,2.024,2.009,
+1.449,2.189,3.127,2.176,1.673,2.551,0.251,0.207,0.174,0.320,
+1.793,0.175,1.149,1.541,1.635,1.864,1.523,2.157,4.340,1.937,
+1.802,3.617,2.837,1.963,1.634,2.618,2.219,0.198,1.401,2.057,
+3.081,1.884,2.079,4.115,4.886,2.657,1.630,2.675,3.062,2.080,
+1.480,1.674,2.199,0.284,1.132,1.578,1.924,1.996,1.133,1.993,
+2.940,2.231,1.175,1.587,1.990,1.379,1.208,1.226,2.039,0.341,
+1.292,1.739,1.276,1.625,0.993,1.398,2.048,1.986,1.264,1.630,
+0.234,0.220,0.178,0.207,1.958,0.270,1.223,1.665,1.255,1.875,
+1.268,1.547,1.773,1.252,0.822,1.451,1.895,1.492,1.107,1.478,
+1.511,0.139,0.976,1.446,1.442,1.267,1.291,2.347,3.269,1.480,
+1.183,1.810,2.401,1.693,1.383,1.614,2.526,0.293,1.032,1.446,
+1.973,1.719,1.207,2.324,0.231,0.205,0.121,0.182,0.225,0.221,
+0.172,0.186,0.213,0.051,0.203,0.194,0.229,0.343,0.176,0.274,
+1.428,1.301,1.188,1.359,0.151,0.140,0.175,0.193,1.387,0.201,
+0.925,1.113,0.977,1.374,1.200,1.299,1.345,0.824,0.797,1.275,
+1.621,1.294,1.235,1.536,1.453,0.160,1.096,1.447,1.378,1.269,
+1.366,2.235,3.805,1.447,1.175,2.560,1.607,0.956,0.920,1.230,
+1.935,0.183,0.844,1.306,2.850,1.720,1.243,2.899,2.378,1.603,
+1.082,1.593,1.658,1.239,1.080,1.267,1.527,0.147,1.054,1.409,
+1.677,1.701,1.134,1.952,1.514,1.283,1.168,1.529,0.135,0.108,
+0.141,0.165,1.294,0.122,0.964,1.265,1.191,1.431,1.359,1.698,
+2.262,1.209,1.164,2.274,1.382,1.001,1.015,1.495,1.897,0.148,
+1.287,2.032,2.695,2.054,2.197,4.353,3.293,1.975,1.377,2.245,
+1.869,1.468,1.067,1.221,1.321,0.154,0.702,1.081,1.440,1.385,
+0.866,1.530,2.085,1.631,1.110,1.300,1.547,1.234,1.222,1.067,
+1.130,0.179,0.991,1.049,0.798,1.044,0.716,1.055,1.113,1.219,
+0.817,1.035,0.126,0.172,0.117,0.149,0.792,0.107,0.626,0.767,
+0.648,0.896,0.720,1.000,1.170,0.687,0.602,1.045,1.174,1.063,
+0.712,0.959,0.842,0.109,0.562,0.811,1.019,0.760,0.817,1.542,
+2.076,1.611,0.771,1.183,1.531,1.577,0.846,0.904,0.972,0.150,
+0.528,0.778,0.760,0.956,0.532,1.011,1.432,1.445,0.711,0.873,
+1.106,0.762,0.776,0.725,1.031,0.243,0.712,0.883,0.571,0.951,
+0.552,0.715,1.000,1.308,0.711,0.896,0.147,0.265,0.168,0.180,
+0.964,0.212,0.674,0.892,0.598,1.272,0.750,0.905,0.753,0.603,
+0.408,0.651,0.958,1.063,0.602,0.756,0.727,0.090,0.471,0.707,
+0.604,0.689,0.559,1.036,1.350,0.881,0.602,0.853,1.216,1.115,
+0.888,0.879,0.978,0.168,0.588,0.749,0.711,0.892,0.611,1.017,
+0.101,0.152,0.083,0.103,0.131,0.216,0.154,0.109,0.115,0.072,
+0.168,0.117,0.074,0.219,0.094,0.105,0.876,1.000,0.787,0.783,
+0.135,0.163,0.143,0.115,0.893,0.192,0.640,0.751,0.530,1.066,
+0.859,0.850,0.727,0.479,0.446,0.640,1.010,1.081,0.806,0.891,
+0.838,0.102,0.655,0.860,0.633,0.671,0.780,1.142,1.205,0.673,
+0.510,0.871,0.760,0.529,0.472,0.536,0.679,0.067,0.365,0.525,
+0.818,0.645,0.486,1.025,1.072,1.042,0.623,0.834,0.850,0.913,
+0.673,0.763,0.752,0.110,0.607,0.757,0.668,1.142,0.602,0.917,
+0.670,0.718,0.599,0.722,0.062,0.079,0.067,0.075,0.589,0.073,
+0.523,0.658,0.503,0.732,0.772,0.886,0.834,0.502,0.468,0.762,
+0.684,0.606,0.488,0.684,0.778,0.079,0.564,0.886,0.936,0.931,
+0.948,1.669,2.253,1.349,0.961,1.527,1.132,0.898,0.645,0.847,
+1.092,0.109,0.517,0.736,1.001,0.872,0.560,1.019,1.560,1.352,
+0.694,0.945,1.215,0.979,0.927,0.808,1.151,0.155,0.868,0.965,
+0.732,0.999,0.588,0.907,0.996,1.180,0.984,1.052,0.122,0.157,
+0.153,0.186,0.866,0.142,0.617,0.779,0.558,1.037,0.606,0.932,
+0.958,0.637,0.529,0.995,0.891,0.802,0.643,0.884,0.863,0.094,
+0.586,0.939,0.883,0.758,0.808,1.718,0.125,0.108,0.066,0.091,
+0.152,0.158,0.083,0.097,0.093,0.020,0.056,0.069,0.067,0.091,
+0.055,0.093,0.108,0.139,0.058,0.071,0.153,0.171,0.123,0.092,
+0.108,0.050,0.134,0.113,0.059,0.111,0.058,0.074,0.075,0.127,
+0.093,0.080,0.020,0.048,0.057,0.024,0.111,0.042,0.136,0.129,
+0.055,0.127,0.084,0.102,0.093,0.071,0.050,0.096,0.157,0.159,
+0.118,0.135,0.090,0.017,0.080,0.125,0.081,0.088,0.081,0.151,
+1.109,0.778,0.508,0.595,0.876,0.954,0.796,0.642,0.849,0.158,
+0.633,0.690,0.553,0.686,0.583,0.800,0.081,0.135,0.055,0.055,
+0.083,0.141,0.123,0.061,0.098,0.047,0.113,0.084,0.064,0.128,
+0.087,0.079,0.697,0.995,0.598,0.605,0.088,0.163,0.104,0.092,
+0.736,0.130,0.385,0.520,0.390,0.709,0.559,0.605,0.556,0.446,
+0.355,0.469,0.702,0.890,0.585,0.696,0.776,0.111,0.680,0.744,
+0.503,0.598,0.647,0.885,0.902,0.508,0.362,0.644,0.559,0.410,
+0.302,0.374,0.600,0.061,0.337,0.509,0.597,0.497,0.366,0.739,
+0.919,0.795,0.444,0.584,0.794,0.820,0.552,0.490,0.769,0.094,
+0.573,0.686,0.638,0.777,0.530,0.719,0.724,0.723,0.573,0.666,
+0.063,0.084,0.063,0.075,0.675,0.086,0.567,0.671,0.509,0.762,
+0.627,0.762,0.688,0.430,0.386,0.594,0.563,0.513,0.398,0.524,
+0.728,0.067,0.630,0.829,0.771,0.747,0.755,1.212,1.916,0.807,
+0.598,1.295,0.676,0.415,0.343,0.532,0.651,0.056,0.288,0.511,
+0.921,0.601,0.439,0.983,0.789,0.453,0.283,0.471,0.445,0.277,
+0.254,0.330,0.433,0.035,0.258,0.384,0.389,0.332,0.252,0.459,
+0.647,0.560,0.350,0.632,0.048,0.042,0.031,0.071,0.394,0.035,
+0.228,0.368,0.367,0.393,0.280,0.532,0.832,0.418,0.397,0.957,
+0.506,0.339,0.300,0.571,0.477,0.036,0.292,0.511,0.703,0.460,
+0.490,1.237,0.967,0.562,0.355,0.612,0.622,0.504,0.344,0.407,
+0.467,0.046,0.238,0.374,0.422,0.405,0.240,0.499,0.637,0.462,
+0.229,0.354,0.518,0.386,0.291,0.326,0.382,0.047,0.272,0.371,
+0.295,0.334,0.197,0.347,0.431,0.421,0.278,0.381,0.032,0.040,
+0.034,0.042,0.351,0.037,0.239,0.362,0.281,0.374,0.244,0.411,
+0.438,0.259,0.213,0.420,0.396,0.324,0.252,0.452,0.326,0.028,
+0.211,0.377,0.352,0.322,0.279,0.589,0.556,0.301,0.219,0.333,
+0.363,0.262,0.224,0.291,0.350,0.041,0.190,0.326,0.287,0.272,
+0.220,0.417,0.031,0.036,0.015,0.023,0.022,0.027,0.022,0.022,
+0.022,4.67e-3,0.019,0.028,0.024,0.036,0.019,0.032,0.283,0.272,
+0.174,0.260,0.021,0.021,0.016,0.032,0.296,0.028,0.159,0.226,
+0.198,0.241,0.201,0.284,0.272,0.178,0.156,0.249,0.265,0.205,
+0.178,0.282,0.304,0.024,0.185,0.313,0.241,0.202,0.229,0.389,
+0.567,0.214,0.168,0.327,0.210,0.128,0.106,0.150,0.225,0.019,
+0.103,0.186,0.278,0.183,0.143,0.361,0.238,0.152,0.090,0.145,
+0.148,0.109,0.089,0.106,0.132,9.33e-3,0.081,0.132,0.137,0.123,
+0.088,0.172,0.190,0.139,0.112,0.160,0.014,8.26e-3,7.10e-3,0.012,
+0.132,9.23e-3,0.080,0.123,0.127,0.122,0.101,0.152,0.209,0.084,
+0.076,0.151,0.089,0.060,0.048,0.077,0.081,4.10e-3,0.047,0.073,
+0.080,0.034,0.027,0.023
+};
+
+static double hg19_biasTable30_6_large[] = {
+21.6,6.564,4.875,10.2,6.667,3.541,3.003,4.161,6.556,0.568,
+2.745,4.224,9.461,6.196,3.848,7.304,7.450,3.740,2.627,3.581,
+3.912,2.329,2.036,2.120,3.730,0.305,2.027,2.557,3.235,2.899,
+2.117,3.310,5.789,3.419,2.727,4.040,0.414,0.330,0.264,0.505,
+2.968,0.270,1.773,2.285,2.820,3.030,2.330,3.237,8.518,3.353,
+3.494,6.880,4.929,3.302,2.919,4.854,3.866,0.308,2.167,3.393,
+5.711,3.149,3.282,6.035,7.804,3.530,2.224,3.652,3.829,2.472,
+1.747,2.089,3.137,0.324,1.492,2.126,2.723,2.587,1.529,2.604,
+4.380,2.653,1.532,2.053,2.481,1.640,1.323,1.337,2.498,0.276,
+1.412,1.866,1.652,1.790,1.249,1.685,3.081,2.602,1.585,2.201,
+0.309,0.238,0.176,0.240,2.448,0.255,1.381,1.803,1.561,2.153,
+1.425,1.903,2.785,1.815,1.278,2.258,2.650,1.927,1.520,2.012,
+2.326,0.186,1.351,1.969,2.203,1.794,1.713,3.083,5.653,2.168,
+2.022,2.751,3.201,1.822,1.715,2.015,2.971,0.348,1.300,2.106,
+2.771,2.355,1.749,3.383,0.354,0.253,0.159,0.244,0.256,0.219,
+0.168,0.187,0.245,0.045,0.172,0.234,0.305,0.396,0.221,0.366,
+2.185,1.704,1.541,1.774,0.194,0.158,0.152,0.201,1.823,0.231,
+1.171,1.423,1.347,1.662,1.568,1.635,2.103,1.276,1.253,1.945,
+2.337,1.721,1.463,1.987,2.151,0.209,1.664,2.100,1.931,1.777,
+1.890,3.072,7.767,2.615,2.196,4.877,2.740,1.502,1.553,1.991,
+3.333,0.293,1.378,2.268,4.367,2.725,2.197,5.213,4.326,2.618,
+1.828,2.640,2.661,1.834,1.612,1.813,2.543,0.195,1.550,2.284,
+2.810,2.548,1.910,3.273,2.670,2.053,1.768,2.412,0.211,0.160,
+0.205,0.227,2.021,0.164,1.532,1.930,1.888,2.059,1.897,2.435,
+4.165,2.309,1.989,3.936,2.217,1.536,1.518,2.325,3.038,0.212,
+1.948,3.172,4.156,2.992,3.082,6.291,7.629,4.306,2.850,4.819,
+3.649,2.640,2.005,2.350,2.744,0.297,1.319,2.173,2.972,2.772,
+1.785,3.112,4.249,3.527,2.028,2.521,2.705,2.040,1.829,1.805,
+2.207,0.310,1.513,1.938,1.538,1.874,1.333,1.992,2.388,2.606,
+1.729,2.144,0.259,0.385,0.212,0.292,1.726,0.195,1.265,1.403,
+1.253,1.810,1.445,1.864,2.621,1.477,1.357,2.278,2.489,2.171,
+1.448,1.962,1.764,0.234,1.028,1.568,1.911,1.480,1.594,3.049,
+4.487,3.370,1.542,2.391,2.947,2.770,1.540,1.722,1.987,0.266,
+0.998,1.480,1.526,1.871,1.095,1.869,2.745,2.540,1.251,1.478,
+1.902,1.155,1.289,1.186,1.770,0.281,1.231,1.587,1.026,1.517,
+1.052,1.292,2.024,2.843,1.409,1.933,0.241,0.466,0.242,0.442,
+1.933,0.409,1.268,1.612,1.145,2.968,1.324,1.643,1.631,1.275,
+0.839,1.369,1.899,1.976,1.123,1.526,1.620,0.186,0.880,1.315,
+1.224,1.457,1.060,1.977,2.982,2.005,1.283,1.987,2.388,2.033,
+1.839,1.704,1.935,0.280,1.170,1.718,1.434,1.656,1.349,2.122,
+0.214,0.344,0.143,0.249,0.194,0.295,0.228,0.167,0.195,0.080,
+0.219,0.223,0.141,0.303,0.179,0.212,1.877,2.242,1.960,1.674,
+0.243,0.353,0.242,0.208,1.773,0.290,1.344,1.541,1.071,2.299,
+1.918,1.634,1.527,1.048,1.087,1.355,1.920,2.323,1.555,1.723,
+1.761,0.194,1.418,1.802,1.180,1.328,1.586,2.151,2.680,1.448,
+1.118,1.868,1.671,1.106,1.147,1.127,1.366,0.127,0.711,1.106,
+1.609,1.202,0.978,2.032,2.315,2.275,1.286,1.814,1.646,1.646,
+1.383,1.454,1.502,0.169,1.120,1.698,1.241,1.678,1.166,1.861,
+1.547,1.577,1.316,1.614,0.131,0.161,0.117,0.151,1.296,0.141,
+1.122,1.382,1.087,1.510,1.502,1.782,1.899,1.103,1.085,1.706,
+1.444,1.249,0.971,1.426,1.784,0.192,1.259,1.995,2.036,2.004,
+2.069,3.406,5.273,2.602,2.095,3.174,1.948,1.466,1.097,1.407,
+2.125,0.207,0.979,1.436,2.133,1.880,1.140,2.144,3.298,2.759,
+1.529,2.050,1.933,1.615,1.645,1.448,2.168,0.264,1.431,1.698,
+1.564,2.012,1.142,1.774,2.267,2.441,3.090,2.419,0.240,0.302,
+0.266,0.370,1.533,0.199,1.052,1.340,1.114,1.830,1.122,1.734,
+2.332,1.507,1.507,2.617,1.876,1.767,1.376,1.928,1.758,0.182,
+1.130,1.782,2.002,1.605,1.740,4.040,0.308,0.252,0.142,0.223,
+0.251,0.269,0.142,0.162,0.189,0.040,0.112,0.146,0.165,0.232,
+0.153,0.203,0.266,0.326,0.142,0.172,0.239,0.303,0.184,0.157,
+0.233,0.067,0.189,0.201,0.151,0.279,0.131,0.173,0.179,0.274,
+0.208,0.194,0.033,0.069,0.062,0.042,0.238,0.062,0.250,0.261,
+0.131,0.290,0.162,0.197,0.267,0.198,0.156,0.294,0.339,0.395,
+0.280,0.358,0.228,0.038,0.184,0.253,0.230,0.247,0.216,0.410,
+2.173,1.385,0.999,1.217,1.458,1.382,1.263,1.072,1.886,0.375,
+1.188,1.393,1.237,1.566,1.152,1.565,0.175,0.222,0.102,0.116,
+0.130,0.192,0.142,0.097,0.250,0.139,0.174,0.158,0.153,0.330,
+0.147,0.160,1.379,1.941,1.189,1.136,0.162,0.306,0.195,0.154,
+1.518,0.273,0.885,1.067,0.822,1.510,1.076,1.100,1.203,0.923,
+0.819,1.003,1.382,1.632,1.206,1.358,1.692,0.255,1.399,1.553,
+1.037,1.318,1.234,1.669,2.138,1.062,0.777,1.428,1.177,0.777,
+0.612,0.744,1.451,0.141,0.672,1.057,1.464,1.197,0.809,1.683,
+2.262,1.777,1.028,1.423,1.582,1.520,1.055,1.046,2.072,0.248,
+1.162,1.535,1.543,1.873,1.145,1.654,1.561,1.633,1.193,1.441,
+0.154,0.209,0.129,0.152,1.680,0.231,1.076,1.538,1.139,1.805,
+1.228,1.666,1.888,1.117,1.069,1.470,1.573,1.329,1.015,1.307,
+1.846,0.185,1.454,2.008,2.022,2.007,1.789,3.085,6.001,2.646,
+2.053,4.618,1.989,1.248,1.094,1.477,2.028,0.183,0.920,1.601,
+3.370,2.074,1.496,3.345,2.432,1.388,0.962,1.660,1.301,0.789,
+0.774,0.951,1.513,0.125,0.796,1.265,1.421,1.173,0.826,1.563,
+2.359,1.614,1.416,2.410,0.182,0.153,0.120,0.276,1.326,0.113,
+0.728,1.194,1.269,1.311,0.897,1.758,3.237,1.514,1.791,4.846,
+1.922,1.329,1.245,2.332,1.782,0.141,1.128,1.911,2.777,1.807,
+1.935,5.148,3.579,2.085,1.356,2.515,2.205,1.598,1.229,1.396,
+1.792,0.186,0.911,1.458,1.696,1.698,1.104,1.983,2.443,1.760,
+0.935,1.553,1.655,1.357,0.923,1.058,1.638,0.234,0.995,1.513,
+1.293,1.642,0.818,1.399,1.778,1.591,1.069,1.673,0.132,0.156,
+0.122,0.175,1.524,0.158,1.011,1.512,1.245,1.689,1.041,1.674,
+2.158,1.193,1.065,2.232,1.891,1.566,1.235,2.033,1.613,0.136,
+1.064,1.714,1.819,1.692,1.437,2.902,2.265,1.290,0.989,1.582,
+1.666,1.141,1.043,1.327,1.820,0.248,1.089,1.575,1.492,1.447,
+1.260,2.052,0.162,0.155,0.086,0.147,0.112,0.124,0.100,0.104,
+0.167,0.048,0.132,0.230,0.147,0.218,0.122,0.187,1.380,1.412,
+1.018,1.427,0.115,0.123,0.130,0.151,1.609,0.166,0.901,1.231,
+1.058,1.411,1.249,1.504,1.417,0.955,0.918,1.507,1.588,1.302,
+1.202,1.735,2.026,0.234,1.287,2.009,1.465,1.473,1.498,2.465,
+3.702,1.556,1.297,2.523,1.612,1.050,1.179,1.277,2.179,0.167,
+0.938,1.550,2.556,1.665,1.431,3.525,1.916,1.272,0.864,1.479,
+1.234,0.897,0.847,1.035,1.457,0.123,0.919,1.589,1.545,1.480,
+1.031,1.967,2.148,1.808,1.364,2.256,0.165,0.138,0.105,0.188,
+1.905,0.148,1.188,1.870,1.832,2.056,1.760,2.528,3.522,1.723,
+1.727,3.844,2.309,1.856,1.562,2.527,2.976,0.184,2.073,3.586,
+4.689,3.132,3.303,6.293,4.756,2.826,2.150,3.520,2.967,1.904,
+1.381,1.662,2.266,0.257,1.205,1.764,2.827,2.386,1.435,2.384,
+2.817,1.998,1.231,1.499,2.124,1.487,1.163,1.117,1.616,0.188,
+1.169,1.305,1.155,1.339,1.023,1.381,1.560,1.383,1.007,1.366,
+0.161,0.149,0.126,0.188,1.057,0.131,0.765,0.860,0.920,1.185,
+1.069,1.262,2.015,1.140,0.908,1.756,1.822,1.380,0.980,1.451,
+1.336,0.174,0.831,1.233,1.559,1.191,1.274,2.227,3.241,2.094,
+1.176,1.705,2.605,1.802,1.025,1.096,1.675,0.272,1.065,1.292,
+1.269,1.563,0.890,1.434,2.177,1.859,0.919,1.217,1.717,1.318,
+0.976,0.958,1.634,0.324,1.346,1.594,0.865,1.346,0.860,1.090,
+1.308,1.479,0.805,0.945,0.218,0.203,0.161,0.142,1.527,0.276,
+1.000,1.061,0.799,1.458,0.944,1.007,1.016,0.918,0.503,0.779,
+1.341,1.106,0.833,0.923,1.033,0.120,0.733,1.044,0.892,0.932,
+1.000,1.504,1.733,1.041,0.691,0.997,1.791,1.245,0.892,0.989,
+1.458,0.202,0.699,0.941,0.993,1.030,0.749,1.384,0.140,0.162,
+0.091,0.112,0.209,0.235,0.135,0.127,0.139,0.052,0.134,0.142,
+0.105,0.216,0.117,0.156,0.857,1.016,0.683,0.714,0.110,0.114,
+0.099,0.111,0.861,0.140,0.679,0.842,0.556,0.862,0.815,0.861,
+0.769,0.542,0.482,0.689,1.027,0.936,0.717,0.911,0.983,0.129,
+0.823,1.003,0.788,0.883,0.957,1.371,1.860,0.867,0.653,1.305,
+1.003,0.620,0.489,0.654,1.044,0.118,0.514,0.760,1.172,0.887,
+0.650,1.504,1.566,1.230,0.784,1.110,1.362,1.178,0.812,0.953,
+0.954,0.121,0.739,1.035,0.819,1.105,0.725,1.184,0.846,0.784,
+0.833,0.912,0.099,0.078,0.143,0.122,0.733,0.093,0.577,0.753,
+0.608,0.852,0.818,0.966,1.185,0.717,0.844,1.199,0.807,0.696,
+0.688,0.860,1.095,0.100,0.823,1.245,1.326,1.245,1.290,2.331,
+2.943,2.000,1.362,1.995,2.090,1.908,1.231,1.258,1.242,0.162,
+0.686,0.995,1.253,1.298,0.810,1.382,2.172,1.761,1.068,1.169,
+1.931,1.688,1.607,1.238,1.125,0.214,0.949,1.124,0.702,1.205,
+0.743,1.099,0.987,1.162,0.841,0.931,0.128,0.179,0.142,0.152,
+0.723,0.115,0.606,0.657,0.685,0.864,0.670,0.910,1.001,0.607,
+0.506,0.917,1.106,1.148,0.714,0.886,0.843,0.115,0.539,0.713,
+1.231,0.753,0.753,1.366,2.041,1.807,0.804,1.085,1.714,2.279,
+0.943,0.898,1.050,0.183,0.667,0.966,0.715,1.037,0.545,1.277,
+1.464,1.452,0.752,0.780,0.981,0.599,0.769,0.711,0.982,0.296,
+0.833,1.014,0.505,1.053,0.607,0.743,1.122,1.470,0.746,0.859,
+0.207,0.359,0.220,0.199,0.918,0.236,0.724,0.935,0.514,1.321,
+0.830,0.895,0.698,0.618,0.404,0.582,1.042,1.332,0.649,0.790,
+0.734,0.110,0.581,0.822,0.565,0.726,0.612,1.024,1.395,1.025,
+0.788,0.831,1.609,1.687,1.068,0.927,1.160,0.247,0.684,0.819,
+0.710,1.194,0.692,1.045,0.135,0.206,0.147,0.113,0.262,0.416,
+0.258,0.140,0.175,0.135,0.209,0.158,0.082,0.428,0.118,0.114,
+1.089,1.291,0.826,0.806,0.248,0.263,0.202,0.144,0.914,0.201,
+0.754,0.835,0.529,1.145,1.007,0.889,0.805,0.536,0.474,0.611,
+1.439,1.571,1.121,1.037,1.097,0.146,0.836,0.983,0.704,0.807,
+0.951,1.206,1.078,0.681,0.491,0.774,0.831,0.662,0.436,0.508,
+0.682,0.077,0.381,0.520,0.686,0.611,0.438,0.879,1.101,1.123,
+0.774,0.876,1.119,1.418,0.862,0.884,0.797,0.168,0.657,0.822,
+0.533,1.142,0.595,0.817,0.690,0.904,0.650,0.710,0.085,0.114,
+0.079,0.083,0.564,0.087,0.604,0.659,0.455,0.771,0.853,0.885,
+0.761,0.506,0.445,0.684,0.695,0.737,0.619,0.690,0.747,0.078,
+0.594,0.845,0.822,0.950,1.007,1.576,1.854,1.355,0.859,1.377,
+1.216,0.897,0.596,0.769,1.117,0.120,0.509,0.685,0.902,0.911,
+0.613,1.003,1.575,1.573,0.700,0.997,1.452,1.256,0.942,0.909,
+1.271,0.220,0.999,1.072,0.687,1.222,0.614,0.906,0.859,1.218,
+0.856,1.000,0.128,0.178,0.158,0.207,0.805,0.140,0.624,0.780,
+0.491,0.948,0.624,0.990,0.845,0.593,0.460,0.950,0.989,0.872,
+0.685,0.970,0.821,0.104,0.622,0.926,0.836,0.745,0.802,1.716,
+0.139,0.121,0.059,0.086,0.210,0.194,0.115,0.098,0.150,0.033,
+0.071,0.082,0.074,0.119,0.100,0.138,0.121,0.205,0.078,0.113,
+0.211,0.318,0.220,0.154,0.155,0.128,0.182,0.160,0.066,0.179,
+0.081,0.093,0.076,0.178,0.117,0.096,0.037,0.108,0.097,0.044,
+0.158,0.085,0.238,0.181,0.059,0.181,0.122,0.109,0.081,0.072,
+0.047,0.088,0.293,0.227,0.149,0.178,0.101,0.029,0.117,0.133,
+0.077,0.095,0.098,0.150,1.137,1.126,0.625,0.702,1.035,1.356,
+0.838,0.768,1.079,0.221,0.910,0.993,0.616,0.906,0.675,0.963,
+0.108,0.327,0.083,0.077,0.123,0.270,0.171,0.096,0.137,0.089,
+0.204,0.143,0.072,0.189,0.104,0.099,0.718,1.499,0.699,0.667,
+0.120,0.348,0.170,0.123,0.944,0.244,0.625,0.784,0.454,1.072,
+0.731,0.752,0.578,0.584,0.412,0.565,0.921,1.661,0.816,1.051,
+1.176,0.216,1.223,1.077,0.599,0.857,0.875,1.127,0.955,0.683,
+0.435,0.861,0.650,0.508,0.334,0.428,0.691,0.086,0.397,0.754,
+0.651,0.650,0.416,0.919,1.175,1.539,0.606,0.775,1.297,1.417,
+0.787,0.795,1.111,0.184,0.881,1.117,0.715,1.210,0.693,0.963,
+0.777,1.076,0.880,0.795,0.084,0.138,0.098,0.092,0.858,0.151,
+0.752,0.911,0.571,1.168,0.771,0.958,0.759,0.565,0.454,0.767,
+0.841,0.764,0.528,0.700,0.972,0.110,0.952,1.166,0.958,1.101,
+1.022,1.594,1.780,0.950,0.718,1.408,0.904,0.572,0.463,0.758,
+0.846,0.079,0.402,0.718,0.992,0.745,0.726,1.198,1.080,0.879,
+0.422,0.701,0.690,0.509,0.395,0.554,0.630,0.068,0.399,0.748,
+0.542,0.524,0.436,0.708,0.749,0.702,0.469,0.779,0.061,0.059,
+0.045,0.102,0.525,0.054,0.338,0.517,0.458,0.543,0.381,0.711,
+0.958,0.525,0.499,1.203,0.681,0.494,0.420,0.943,0.683,0.057,
+0.421,0.794,0.947,0.642,0.679,1.798,1.595,1.035,0.651,1.046,
+1.284,1.024,1.040,0.825,1.025,0.125,0.552,0.836,0.807,0.962,
+0.662,1.041,1.166,1.029,0.484,0.765,1.189,1.113,0.702,0.800,
+1.023,0.201,0.683,1.057,0.668,1.046,0.538,0.857,0.725,1.013,
+0.569,0.746,0.081,0.133,0.104,0.128,0.807,0.120,0.631,0.874,
+0.586,1.076,0.599,0.864,0.731,0.529,0.434,0.909,1.010,0.938,
+0.718,1.761,0.756,0.085,0.629,0.966,0.754,0.807,0.730,1.391,
+0.991,0.645,0.444,0.649,0.831,0.816,0.558,0.669,0.880,0.125,
+0.558,0.768,0.646,0.681,0.583,1.010,0.068,0.084,0.039,0.059,
+0.065,0.118,0.071,0.063,0.066,0.021,0.072,0.080,0.055,0.095,
+0.061,0.084,0.575,0.717,0.440,0.593,0.061,0.084,0.061,0.083,
+0.760,0.110,0.536,0.689,0.470,0.759,0.627,0.784,0.570,0.449,
+0.385,0.619,0.726,0.754,0.566,0.893,1.170,0.160,0.751,1.096,
+0.702,0.772,0.816,1.284,1.247,0.669,0.495,0.926,0.648,0.501,
+0.376,0.496,0.745,0.077,0.400,0.656,0.794,0.606,0.505,1.165,
+0.951,0.698,0.413,0.663,0.704,0.656,0.475,0.580,0.704,0.068,
+0.479,0.704,0.612,0.664,0.474,0.979,0.879,0.769,0.578,0.869,
+0.112,0.065,0.048,0.084,0.756,0.076,0.577,0.821,0.700,0.923,
+0.814,1.092,1.155,0.664,0.629,1.280,0.994,0.863,0.698,1.159,
+1.209,0.107,0.986,1.507,1.598,1.389,1.451,2.219,3.283,1.686,
+1.548,2.378,1.769,1.245,1.026,1.256,1.638,0.162,0.807,1.140,
+1.887,1.557,0.976,1.636,1.577,1.147,0.822,1.024,1.161,0.784,
+0.804,0.833,1.030,0.165,0.640,0.733,0.795,0.981,0.652,0.914,
+1.341,1.066,0.744,1.202,0.108,0.093,0.080,0.152,0.761,0.079,
+0.536,0.717,0.617,0.775,0.644,0.900,1.441,0.733,0.588,1.212,
+1.079,0.798,0.632,0.962,0.839,0.072,0.545,0.762,1.038,0.632,
+0.825,1.552,2.365,1.519,0.900,1.472,1.816,1.406,1.142,1.188,
+1.199,0.159,0.619,0.839,1.003,1.145,0.630,1.056,1.641,1.681,
+0.729,0.916,1.292,0.873,0.921,0.870,1.403,0.321,0.838,1.063,
+0.753,1.197,0.572,0.782,1.253,1.338,0.852,1.060,0.145,0.165,
+0.140,0.161,1.162,0.175,0.895,1.385,0.763,1.179,0.872,0.988,
+0.990,0.674,0.455,0.806,1.191,1.049,0.741,1.026,0.841,0.086,
+0.571,0.899,0.784,0.711,0.760,1.377,1.548,0.806,0.595,0.987,
+1.471,1.056,1.042,1.045,2.204,0.235,0.780,0.888,1.154,1.108,
+0.747,1.251,0.139,0.162,0.082,0.118,0.160,0.159,0.153,0.150,
+0.183,0.046,0.226,0.143,0.153,0.283,0.131,0.179,0.853,0.824,
+0.895,0.910,0.106,0.108,0.198,0.172,0.977,0.179,0.656,0.699,
+0.570,0.996,0.763,0.778,0.699,0.455,0.430,0.634,1.028,0.887,
+1.074,1.075,0.860,0.103,0.657,0.858,0.809,0.740,0.788,1.212,
+1.532,0.660,0.526,1.069,0.802,0.522,0.546,0.680,0.993,0.102,
+0.444,0.626,1.269,0.907,0.606,1.290,1.194,0.969,0.576,0.858,
+0.984,0.730,0.739,0.865,0.910,0.107,0.742,0.802,0.902,1.012,
+0.632,1.026,0.866,0.827,0.758,0.946,0.087,0.077,0.089,0.119,
+0.829,0.090,0.640,0.831,0.704,0.966,0.994,1.103,1.137,0.652,
+0.591,1.152,0.790,0.599,0.673,0.932,1.150,0.100,0.804,1.232,
+1.613,1.271,1.417,2.622,0.158,0.120,0.108,0.118,0.125,0.118,
+0.090,0.101,0.088,0.016,0.051,0.073,0.090,0.108,0.063,0.096,
+0.149,0.139,0.161,0.154,0.147,0.142,0.186,0.133,0.103,0.036,
+0.095,0.089,0.070,0.108,0.073,0.092,0.087,0.142,0.069,0.079,
+0.017,0.024,0.020,0.019,0.064,0.017,0.066,0.076,0.044,0.080,
+0.066,0.080,0.083,0.059,0.045,0.079,0.103,0.100,0.073,0.089,
+0.071,0.012,0.054,0.074,0.070,0.063,0.080,0.128,0.136,0.141,
+0.067,0.090,0.146,0.207,0.133,0.126,0.090,0.030,0.056,0.069,
+0.057,0.094,0.059,0.074,0.156,0.259,0.093,0.090,0.186,0.186,
+0.187,0.126,0.197,0.121,0.131,0.127,0.070,0.183,0.075,0.083,
+0.096,0.158,0.092,0.087,0.031,0.084,0.058,0.031,0.153,0.072,
+0.145,0.186,0.080,0.155,0.120,0.102,0.074,0.061,0.041,0.061,
+0.121,0.146,0.095,0.096,0.078,0.017,0.064,0.082,0.055,0.067,
+0.066,0.107,0.099,0.074,0.050,0.063,0.120,0.143,0.133,0.094,
+0.130,0.037,0.126,0.076,0.062,0.104,0.069,0.085,0.015,0.030,
+0.016,0.015,0.031,0.064,0.059,0.030,0.035,0.042,0.117,0.033,
+0.010,0.040,0.026,0.017,0.082,0.122,0.136,0.110,0.025,0.051,
+0.066,0.028,0.185,0.118,0.147,0.114,0.060,0.219,0.136,0.099,
+0.065,0.047,0.048,0.059,0.111,0.141,0.136,0.119,0.098,0.028,
+0.107,0.125,0.060,0.091,0.092,0.115,0.118,0.093,0.062,0.094,
+0.085,0.071,0.064,0.073,0.082,0.012,0.051,0.060,0.102,0.095,
+0.072,0.130,0.160,0.241,0.097,0.127,0.159,0.177,0.153,0.189,
+0.138,0.034,0.177,0.125,0.107,0.188,0.110,0.142,0.076,0.098,
+0.091,0.094,0.012,0.022,0.020,0.019,0.095,0.024,0.098,0.109,
+0.070,0.125,0.193,0.128,0.098,0.070,0.058,0.096,0.085,0.086,
+0.079,0.098,0.104,0.014,0.092,0.127,0.120,0.124,0.141,0.224,
+1.517,1.116,0.730,1.165,0.997,0.897,0.590,0.772,0.876,0.098,
+0.469,0.606,0.673,0.592,0.428,0.708,1.221,1.018,0.589,0.714,
+1.165,0.922,1.122,0.764,1.105,0.148,0.958,1.017,0.559,0.795,
+0.522,0.726,0.829,1.041,0.738,0.866,0.119,0.160,0.183,0.186,
+0.958,0.206,0.733,0.853,0.484,1.046,0.577,0.782,0.699,0.475,
+0.374,0.696,0.724,0.695,0.622,0.761,0.773,0.091,0.593,0.950,
+0.659,0.636,0.692,1.328,0.102,0.106,0.049,0.078,0.147,0.225,
+0.096,0.140,0.072,0.020,0.062,0.069,0.048,0.069,0.040,0.067,
+0.097,0.117,0.056,0.057,0.170,0.160,0.150,0.098,0.105,0.046,
+0.203,0.136,0.048,0.087,0.053,0.058,0.081,0.134,0.111,0.077,
+0.022,0.052,0.093,0.028,0.114,0.054,0.163,0.167,0.049,0.122,
+0.087,0.086,0.081,0.061,0.041,0.075,0.115,0.146,0.134,0.123,
+0.084,0.018,0.083,0.173,0.060,0.068,0.069,0.123,1.086,0.743,
+0.511,0.504,0.968,1.216,1.198,0.722,0.804,0.155,0.742,0.693,
+0.455,0.610,0.607,0.729,0.085,0.134,0.075,0.057,0.107,0.205,
+0.252,0.078,0.102,0.043,0.169,0.105,0.060,0.119,0.103,0.080,
+0.747,0.890,0.687,0.660,0.106,0.135,0.153,0.128,0.705,0.133,
+0.299,0.428,0.339,0.602,0.576,0.581,0.497,0.373,0.329,0.382,
+0.699,0.771,0.684,0.713,0.672,0.102,0.750,0.731,0.424,0.526,
+0.664,0.814,0.793,0.490,0.366,0.564,0.571,0.500,0.367,0.374,
+0.509,0.063,0.374,0.479,0.494,0.437,0.343,0.604,0.886,0.867,
+0.514,0.547,0.929,1.266,0.920,0.582,0.733,0.109,0.769,0.759,
+0.699,0.796,0.618,0.674,0.757,0.989,0.642,0.755,0.084,0.152,
+0.096,0.122,0.811,0.119,0.966,0.923,0.512,0.878,0.792,0.855,
+0.634,0.441,0.368,0.568,0.644,0.654,0.491,0.614,0.764,0.081,
+0.825,0.942,0.735,0.799,0.859,1.195,1.432,0.708,0.511,0.995,
+0.684,0.468,0.381,0.549,0.626,0.063,0.292,0.477,0.746,0.563,
+0.399,0.901,0.880,0.538,0.324,0.484,0.550,0.347,0.368,0.409,
+0.462,0.040,0.294,0.429,0.369,0.360,0.276,0.484,0.736,0.716,
+0.372,0.604,0.060,0.056,0.043,0.083,0.501,0.051,0.321,0.504,
+0.438,0.513,0.393,0.642,0.796,0.454,0.367,0.740,0.588,0.424,
+0.362,0.606,0.527,0.044,0.330,0.572,0.700,0.501,0.556,1.209,
+1.358,0.914,0.528,0.907,1.007,1.047,0.639,0.764,0.672,0.080,
+0.433,0.612,0.609,0.644,0.378,0.764,1.042,0.886,0.448,0.615,
+1.003,0.766,0.821,0.763,0.679,0.094,0.636,0.752,0.433,0.584,
+0.386,0.567,0.843,0.941,0.651,0.690,0.073,0.101,0.105,0.097,
+0.720,0.099,0.611,0.964,0.504,0.837,0.585,0.836,0.797,0.529,
+0.406,0.696,0.839,0.764,0.624,0.860,0.683,0.081,0.495,0.952,
+0.607,0.634,0.578,1.099,1.251,0.752,0.456,0.640,0.820,0.762,
+0.692,0.712,0.798,0.130,0.506,0.860,0.552,0.662,0.539,0.914,
+0.084,0.076,0.041,0.056,0.071,0.104,0.101,0.073,0.059,0.017,
+0.071,0.090,0.052,0.113,0.060,0.076,0.699,0.847,0.522,0.706,
+0.068,0.081,0.071,0.126,0.920,0.167,0.558,0.757,0.496,0.959,
+0.657,0.767,0.622,0.450,0.434,0.563,0.783,0.688,0.687,0.950,
+0.732,0.083,0.673,1.066,0.599,0.626,0.767,1.107,1.101,0.512,
+0.411,0.714,0.558,0.388,0.345,0.419,0.608,0.067,0.333,0.535,
+0.630,0.462,0.393,0.890,0.851,0.615,0.349,0.517,0.597,0.539,
+0.484,0.486,0.509,0.046,0.426,0.605,0.473,0.503,0.417,0.656,
+0.777,0.738,0.555,0.809,0.063,0.066,0.050,0.086,0.797,0.080,
+0.693,0.966,0.675,0.855,0.802,1.000,1.019,0.545,0.511,1.017,
+0.793,0.707,0.609,0.881,0.922,0.071,0.782,1.274,1.162,0.911,
+1.081,1.739,2.901,1.265,1.083,2.403,1.143,0.666,0.555,0.860,
+1.097,0.092,0.438,0.778,1.847,1.210,0.652,1.460,1.069,0.578,
+0.415,0.635,0.610,0.347,0.308,0.389,0.598,0.045,0.339,0.401,
+0.623,0.573,0.350,0.609,0.849,0.566,0.441,0.792,0.064,0.045,
+0.037,0.083,0.489,0.036,0.251,0.396,0.496,0.497,0.382,0.674,
+1.378,0.590,0.550,1.173,0.799,0.500,0.415,0.723,0.656,0.048,
+0.406,0.611,1.038,0.627,0.646,1.621,1.301,0.625,0.404,0.795,
+0.701,0.405,0.292,0.414,0.516,0.046,0.220,0.367,0.609,0.470,
+0.258,0.587,0.688,0.439,0.250,0.411,0.411,0.240,0.209,0.265,
+0.454,0.047,0.220,0.315,0.391,0.359,0.217,0.379,0.560,0.405,
+0.287,0.468,0.043,0.031,0.026,0.041,0.423,0.034,0.198,0.324,
+0.390,0.463,0.286,0.435,0.537,0.324,0.238,0.464,0.447,0.307,
+0.223,0.362,0.384,0.025,0.222,0.360,0.447,0.342,0.333,0.759,
+1.068,0.449,0.342,0.651,0.689,0.504,0.336,0.506,0.743,0.071,
+0.243,0.398,0.842,0.580,0.347,0.835,0.066,0.042,0.027,0.052,
+0.051,0.036,0.030,0.046,0.052,5.88e-3,0.028,0.041,0.089,0.085,
+0.039,0.084,0.472,0.343,0.317,0.446,0.037,0.027,0.026,0.045,
+0.396,0.038,0.197,0.287,0.364,0.389,0.307,0.431,0.477,0.266,
+0.265,0.488,0.477,0.335,0.290,0.476,0.423,0.037,0.245,0.419,
+0.512,0.392,0.408,0.806,1.408,0.512,0.414,1.008,0.575,0.317,
+0.308,0.466,0.804,0.064,0.309,0.488,1.596,0.727,0.469,1.195,
+0.758,0.415,0.307,0.514,0.462,0.278,0.258,0.362,0.496,0.035,
+0.276,0.414,0.704,0.572,0.346,0.694,0.571,0.425,0.367,0.557,
+0.040,0.027,0.032,0.046,0.451,0.030,0.260,0.404,0.483,0.477,
+0.426,0.646,0.931,0.477,0.437,0.996,0.558,0.357,0.342,0.576,
+0.743,0.049,0.425,0.760,1.229,0.872,0.880,2.017,1.419,0.774,
+0.625,1.073,0.788,0.528,0.401,0.530,0.594,0.059,0.290,0.460,
+0.726,0.645,0.379,0.753,0.888,0.546,0.488,0.585,0.599,0.406,
+0.422,0.416,0.481,0.055,0.444,0.405,0.379,0.415,0.304,0.489,
+0.558,0.539,0.317,0.494,0.051,0.048,0.034,0.056,0.346,0.037,
+0.226,0.352,0.311,0.384,0.304,0.504,0.581,0.329,0.285,0.517,
+0.541,0.405,0.292,0.448,0.369,0.036,0.220,0.359,0.470,0.360,
+0.374,0.795,0.961,0.604,0.333,0.610,0.636,0.525,0.314,0.395,
+0.412,0.052,0.189,0.315,0.389,0.404,0.224,0.446,0.671,0.670,
+0.302,0.456,0.549,0.383,0.300,0.332,0.581,0.114,0.273,0.353,
+0.319,0.476,0.218,0.351,0.471,0.451,0.288,0.401,0.063,0.054,
+0.042,0.048,0.419,0.052,0.238,0.371,0.329,0.442,0.305,0.446,
+0.375,0.269,0.194,0.337,0.456,0.391,0.247,0.332,0.301,0.026,
+0.178,0.294,0.324,0.299,0.254,0.548,0.625,0.327,0.241,0.391,
+0.483,0.349,0.316,0.367,0.433,0.057,0.226,0.312,0.372,0.368,
+0.245,0.500,0.034,0.035,0.020,0.031,0.035,0.044,0.032,0.036,
+0.034,0.011,0.050,0.033,0.033,0.059,0.029,0.042,0.373,0.358,
+0.297,0.363,0.035,0.038,0.034,0.041,0.403,0.076,0.218,0.312,
+0.270,0.448,0.331,0.427,0.358,0.222,0.198,0.349,0.417,0.395,
+0.310,0.413,0.356,0.033,0.243,0.374,0.336,0.300,0.349,0.619,
+0.671,0.334,0.262,0.484,0.337,0.219,0.197,0.275,0.359,0.032,
+0.193,0.274,0.477,0.357,0.275,0.608,0.527,0.398,0.267,0.393,
+0.373,0.325,0.274,0.330,0.346,0.041,0.292,0.342,0.390,0.612,
+0.300,0.494,0.360,0.312,0.317,0.381,0.027,0.026,0.046,0.035,
+0.303,0.028,0.213,0.322,0.284,0.345,0.411,0.491,0.463,0.265,
+0.247,0.427,0.378,0.294,0.281,0.369,0.395,0.030,0.259,0.459,
+0.526,0.461,0.465,0.931,0.913,0.459,0.315,0.581,0.409,0.301,
+0.304,0.388,0.410,0.034,0.165,0.278,0.442,0.329,0.201,0.405,
+0.542,0.389,0.202,0.322,0.380,0.268,0.214,0.276,0.362,0.035,
+0.239,0.303,0.289,0.327,0.201,0.367,0.367,0.383,0.262,0.379,
+0.036,0.038,0.038,0.055,0.291,0.031,0.164,0.252,0.236,0.357,
+0.218,0.365,0.376,0.241,0.181,0.366,0.314,0.257,0.199,0.312,
+0.338,0.030,0.194,0.350,0.384,0.303,0.317,0.671,0.040,0.029,
+0.017,0.035,0.038,0.034,0.018,0.026,0.023,3.29e-3,0.012,0.019,
+0.024,0.026,0.014,0.029,0.029,0.029,0.013,0.018,0.040,0.035,
+0.019,0.023,0.026,5.93e-3,0.030,0.029,0.019,0.027,0.017,0.024,
+0.021,0.026,0.019,0.021,3.07e-3,4.72e-3,6.73e-3,3.68e-3,0.025,4.80e-3,
+0.019,0.024,0.018,0.030,0.021,0.031,0.028,0.021,0.014,0.029,
+0.035,0.033,0.023,0.032,0.025,3.32e-3,0.017,0.032,0.027,0.026,
+0.023,0.049,0.447,0.261,0.172,0.245,0.322,0.280,0.242,0.239,
+0.264,0.038,0.169,0.219,0.229,0.239,0.233,0.337,0.025,0.026,
+0.012,0.017,0.022,0.025,0.019,0.016,0.021,5.33e-3,0.020,0.020,
+0.023,0.033,0.043,0.029,0.280,0.327,0.211,0.250,0.025,0.031,
+0.023,0.027,0.270,0.033,0.139,0.195,0.166,0.255,0.209,0.264,
+0.247,0.181,0.140,0.206,0.271,0.264,0.188,0.240,0.276,0.028,
+0.222,0.285,0.234,0.235,0.269,0.410,0.424,0.217,0.154,0.291,
+0.234,0.166,0.125,0.174,0.250,0.022,0.145,0.215,0.274,0.213,
+0.171,0.346,0.371,0.264,0.159,0.248,0.252,0.233,0.166,0.176,
+0.255,0.023,0.195,0.253,0.264,0.303,0.244,0.333,0.401,0.305,
+0.251,0.310,0.023,0.027,0.027,0.029,0.270,0.024,0.200,0.259,
+0.271,0.333,0.288,0.358,0.320,0.196,0.176,0.267,0.228,0.211,
+0.175,0.216,0.313,0.023,0.247,0.347,0.352,0.319,0.340,0.555,
+1.057,0.371,0.252,0.575,0.299,0.172,0.142,0.245,0.300,0.023,
+0.127,0.228,0.412,0.268,0.180,0.443,0.359,0.185,0.110,0.184,
+0.186,0.108,0.090,0.133,0.177,0.014,0.163,0.188,0.165,0.136,
+0.107,0.203,0.276,0.259,0.127,0.273,0.019,0.017,0.011,0.028,
+0.165,0.013,0.083,0.153,0.171,0.178,0.119,0.248,0.386,0.206,
+0.159,0.376,0.222,0.143,0.126,0.241,0.221,0.014,0.119,0.229,
+0.351,0.223,0.236,0.614,0.379,0.196,0.127,0.232,0.200,0.132,
+0.095,0.131,0.151,0.012,0.067,0.125,0.164,0.132,0.080,0.197,
+0.243,0.154,0.078,0.123,0.149,0.117,0.071,0.102,0.126,0.010,
+0.078,0.120,0.113,0.108,0.068,0.140,0.158,0.142,0.092,0.146,
+8.76e-3,9.08e-3,6.98e-3,0.011,0.121,9.33e-3,0.066,0.122,0.117,0.134,
+0.087,0.181,0.179,0.107,0.080,0.166,0.141,0.111,0.076,0.147,
+0.126,7.98e-3,0.069,0.143,0.152,0.129,0.110,0.284,0.304,0.176,
+0.115,0.172,0.186,0.118,0.095,0.145,0.183,0.017,0.080,0.143,
+0.171,0.140,0.110,0.227,0.015,0.039,6.96e-3,0.010,9.23e-3,9.15e-3,
+6.10e-3,8.62e-3,8.02e-3,1.46e-3,5.76e-3,9.03e-3,0.012,0.015,8.34e-3,0.016,
+0.158,0.138,0.090,0.137,8.84e-3,7.88e-3,6.05e-3,0.013,0.122,9.86e-3,
+0.076,0.112,0.108,0.116,0.104,0.166,0.174,0.114,0.088,0.148,
+0.144,0.102,0.088,0.144,0.149,9.26e-3,0.091,0.156,0.142,0.105,
+0.127,0.237,0.413,0.132,0.095,0.198,0.127,0.070,0.055,0.084,
+0.135,9.37e-3,0.059,0.105,0.188,0.113,0.082,0.226,0.141,0.107,
+0.048,0.078,0.092,0.065,0.042,0.057,0.075,4.82e-3,0.043,0.072,
+0.084,0.069,0.051,0.108,0.110,0.081,0.055,0.087,4.66e-3,3.59e-3,
+2.41e-3,5.56e-3,0.070,4.08e-3,0.043,0.070,0.078,0.068,0.057,0.097,
+0.147,0.051,0.043,0.084,0.043,0.027,0.023,0.041,0.042,1.94e-3,
+0.025,0.042,0.043,0.016,0.016,0.016
+};
+
+static double hg19_biasTable31_6_large[] = {
+55.3,10.9,6.796,15.1,11.3,4.922,4.033,6.171,9.752,0.762,
+3.579,5.537,15.1,8.482,5.899,11.6,12.6,5.296,3.727,5.200,
+5.621,2.956,2.730,2.901,5.507,0.380,2.668,3.508,5.030,3.749,
+2.936,4.980,10.6,5.478,4.094,6.178,0.672,0.482,0.359,0.764,
+4.636,0.391,2.630,3.414,4.599,4.464,3.113,4.804,15.1,5.611,
+6.070,11.3,7.693,5.073,4.309,7.791,6.443,0.485,3.290,5.249,
+10.5,4.918,4.943,9.072,14.9,5.752,3.526,5.791,6.117,3.507,
+2.472,2.927,5.082,0.459,1.940,3.078,4.465,3.835,2.141,3.935,
+6.956,3.628,2.166,2.974,3.617,2.202,1.732,1.796,3.659,0.309,
+1.827,2.383,2.461,2.229,1.507,2.305,5.213,3.967,2.381,3.416,
+0.372,0.298,0.231,0.325,3.439,0.310,1.815,2.556,2.467,3.004,
+1.896,2.891,4.625,2.696,2.015,3.661,3.710,2.622,2.461,2.922,
+3.582,0.247,1.824,2.855,3.610,2.653,2.351,4.659,11.7,3.601,
+3.315,4.705,5.210,2.807,2.578,3.122,5.059,0.505,2.005,3.389,
+4.519,3.467,2.643,5.586,0.627,0.373,0.249,0.413,0.437,0.344,
+0.247,0.295,0.392,0.053,0.250,0.365,0.512,0.567,0.334,0.611,
+3.798,2.678,2.451,3.021,0.320,0.219,0.219,0.325,2.850,0.274,
+1.804,2.267,2.192,2.434,2.041,2.521,3.671,2.152,2.087,3.439,
+3.979,2.659,2.308,3.193,3.252,0.281,2.639,3.237,3.092,2.541,
+2.736,4.625,16.3,4.996,4.042,8.854,4.969,2.566,2.546,3.362,
+6.813,0.578,2.513,4.276,8.495,5.039,3.977,10.1,7.713,4.384,
+3.089,4.604,4.666,3.020,2.538,3.074,4.673,0.307,2.620,4.158,
+5.391,4.465,3.442,6.206,4.972,3.650,2.821,4.089,0.370,0.262,
+0.240,0.364,3.396,0.237,1.986,3.071,3.303,3.364,2.927,4.029,
+7.841,4.720,3.400,7.012,3.871,2.569,2.338,3.861,5.007,0.309,
+2.945,4.912,6.747,4.376,4.414,8.711,13.4,6.675,4.116,7.122,
+5.286,3.347,2.503,3.039,3.957,0.390,1.661,2.923,4.311,3.857,
+2.281,4.196,5.947,3.941,2.292,3.191,3.546,2.265,1.970,2.153,
+2.748,0.315,1.608,2.367,2.082,2.159,1.498,2.659,3.815,3.441,
+2.215,3.150,0.343,0.363,0.229,0.368,2.378,0.221,1.601,1.876,
+1.776,2.317,1.847,2.631,3.948,1.938,1.880,3.169,3.343,2.651,
+1.792,2.625,2.559,0.298,1.261,2.089,2.673,1.906,1.898,3.991,
+7.180,4.806,2.160,3.465,3.933,3.019,1.787,1.898,2.841,0.302,
+1.149,1.867,2.247,2.399,1.282,2.326,3.866,2.779,1.406,1.907,
+2.437,1.390,1.386,1.370,2.132,0.242,1.201,1.751,1.317,1.553,
+1.028,1.472,2.913,3.418,1.559,2.154,0.267,0.442,0.184,0.223,
+2.220,0.329,1.331,1.798,1.408,2.666,1.373,2.063,2.310,1.599,
+1.015,1.697,2.284,2.201,1.179,1.530,2.215,0.190,0.957,1.659,
+1.657,1.516,1.147,2.443,4.740,2.707,1.774,3.179,3.472,2.542,
+2.144,2.279,2.624,0.311,1.267,2.153,2.115,2.087,1.586,3.042,
+0.282,0.302,0.159,0.516,0.251,0.305,0.207,0.188,0.211,0.055,
+0.181,0.263,0.189,0.323,0.174,0.276,2.638,2.792,2.091,2.305,
+0.293,0.281,0.213,0.241,2.099,0.262,1.387,1.795,1.345,2.123,
+1.738,2.047,1.981,1.268,1.202,1.818,2.547,2.307,1.722,2.078,
+1.927,0.184,1.500,2.111,1.589,1.448,1.838,2.755,4.524,2.019,
+1.706,2.929,2.504,1.549,1.666,1.574,2.190,0.188,0.990,1.761,
+2.701,1.782,1.390,3.179,3.473,2.482,1.757,2.981,2.324,2.100,
+1.544,1.766,1.835,0.180,1.337,2.857,1.768,2.103,1.483,2.743,
+2.591,2.396,1.926,2.441,0.206,0.196,0.140,0.204,1.934,0.169,
+1.343,1.985,1.590,2.006,1.805,2.548,3.033,1.648,1.597,2.589,
+2.182,1.671,1.382,1.979,2.425,0.190,1.579,2.705,2.965,2.460,
+2.538,4.428,9.678,3.876,4.123,5.115,3.075,1.954,1.581,2.090,
+4.062,0.311,1.537,2.225,3.456,2.703,1.645,3.232,4.955,3.293,
+1.990,2.645,2.487,1.684,1.537,1.594,2.966,0.279,1.602,2.055,
+2.141,2.384,1.323,2.244,3.369,3.201,2.346,3.042,0.330,0.396,
+0.245,0.437,2.084,0.249,1.151,1.747,1.723,2.576,1.430,2.740,
+3.537,2.266,1.944,3.430,2.715,2.635,1.682,2.526,2.745,0.260,
+1.494,2.560,3.013,2.190,2.424,5.966,0.513,0.339,0.221,0.346,
+0.349,0.285,0.172,0.209,0.264,0.042,0.133,0.197,0.241,0.283,
+0.169,0.286,0.366,0.294,0.166,0.201,0.279,0.261,0.173,0.165,
+0.257,0.052,0.169,0.200,0.181,0.251,0.124,0.194,0.255,0.317,
+0.184,0.228,0.036,0.061,0.043,0.039,0.240,0.054,0.168,0.228,
+0.180,0.321,0.167,0.272,0.398,0.257,0.192,0.379,0.419,0.474,
+0.298,0.406,0.312,0.038,0.211,0.324,0.331,0.282,0.274,0.581,
+3.557,1.958,1.465,1.822,2.171,1.761,1.431,1.473,2.500,0.324,
+1.438,1.919,1.831,1.709,1.502,2.094,0.260,0.259,0.114,0.154,
+0.168,0.208,0.139,0.120,0.216,0.050,0.169,0.178,0.202,0.262,
+0.153,0.193,2.046,2.383,1.402,1.523,0.205,0.384,0.157,0.194,
+2.082,0.381,0.949,1.342,1.215,1.886,1.201,1.428,1.833,1.246,
+1.027,1.320,1.796,1.983,1.343,1.588,2.093,0.260,1.787,2.195,
+1.404,1.584,1.437,2.146,3.387,1.589,1.239,2.239,1.958,1.113,
+0.873,1.144,2.078,0.190,1.060,1.695,2.377,1.661,1.206,2.574,
+3.488,2.491,1.401,2.030,2.338,1.877,1.309,1.384,2.185,0.205,
+1.415,2.084,2.158,2.257,1.425,2.205,2.497,2.303,1.624,2.219,
+0.216,0.248,0.143,0.227,2.211,0.308,1.421,2.735,1.765,2.428,
+1.685,2.542,2.802,1.491,1.505,1.994,2.138,1.764,1.402,1.834,
+2.581,0.229,1.915,2.847,2.951,2.501,2.427,4.473,12.7,4.791,
+3.879,9.895,3.706,2.039,1.955,2.798,3.836,0.335,1.642,3.011,
+7.078,3.817,2.562,6.094,4.481,2.271,1.601,2.637,2.180,1.208,
+1.155,1.478,2.504,0.182,1.409,2.184,2.359,1.831,1.265,2.516,
+4.755,2.895,1.954,3.906,0.320,0.247,0.174,0.439,2.287,0.191,
+1.040,2.025,2.364,2.254,1.397,3.077,5.508,2.524,2.626,6.889,
+3.189,2.153,1.925,3.702,3.180,0.253,1.964,3.430,5.057,3.172,
+3.296,9.390,6.748,3.513,2.346,4.749,3.901,2.431,1.749,2.419,
+3.128,0.286,1.438,2.497,3.046,2.686,1.677,3.186,4.370,2.425,
+1.496,2.422,2.679,1.837,1.287,1.577,2.566,0.338,1.435,2.226,
+2.053,2.104,1.084,2.064,3.345,2.614,1.549,2.724,0.207,0.202,
+0.133,0.243,2.397,0.219,1.344,2.261,2.157,2.582,1.544,2.893,
+3.949,1.990,1.703,3.640,3.088,2.449,1.704,3.043,2.851,0.199,
+1.743,2.881,3.245,2.429,2.343,5.076,3.954,2.167,1.715,2.903,
+2.787,1.721,1.568,2.144,2.826,0.318,1.535,2.450,2.576,2.275,
+1.753,3.135,0.276,0.210,0.132,0.231,0.181,0.170,0.136,0.156,
+0.214,0.034,0.174,0.423,0.228,0.255,0.152,0.277,2.365,2.178,
+1.446,2.163,0.178,0.156,0.126,0.206,3.220,0.229,1.204,1.702,
+1.893,1.973,1.760,2.187,2.384,1.532,1.406,2.271,2.441,1.779,
+1.606,2.471,2.898,0.302,1.691,2.772,2.260,2.014,1.992,3.506,
+7.123,2.718,2.333,4.552,2.862,1.712,2.646,2.130,3.333,0.267,
+1.722,2.693,4.634,2.839,2.431,5.858,3.296,1.930,1.423,2.275,
+2.055,1.351,1.254,1.523,2.115,0.151,1.370,2.498,2.585,2.187,
+1.537,3.036,3.739,2.970,2.069,3.402,0.261,0.192,0.140,0.260,
+3.044,0.212,1.687,2.868,3.137,3.176,2.568,3.844,5.827,2.677,
+2.612,5.559,3.560,2.664,2.181,3.564,4.386,0.238,2.854,4.914,
+7.058,4.340,4.362,9.420,11.6,6.401,4.774,7.887,6.991,3.925,
+2.862,3.538,4.974,0.534,2.317,3.631,6.357,5.041,2.977,5.034,
+5.689,3.874,2.358,2.773,3.878,2.580,2.093,2.058,3.214,0.314,
+2.076,2.461,2.324,2.469,1.866,2.761,3.288,2.945,2.011,2.808,
+0.331,0.285,0.216,0.367,2.134,0.233,1.299,1.652,1.957,2.429,
+1.797,2.629,4.201,2.309,1.803,3.645,3.670,2.771,1.838,2.951,
+2.878,0.429,1.573,2.532,3.198,2.451,2.509,4.476,7.141,4.354,
+2.181,3.410,6.642,3.519,1.952,2.131,3.655,0.635,1.611,2.242,
+2.601,3.298,1.527,2.749,4.165,3.241,1.510,1.959,3.099,1.998,
+1.528,1.571,2.688,0.424,1.864,2.380,1.596,2.182,1.276,2.156,
+2.866,2.865,1.425,1.768,0.546,0.287,0.211,0.228,2.300,0.325,
+1.571,1.882,1.543,2.606,1.634,2.010,2.133,1.611,0.892,1.535,
+2.783,1.974,1.206,1.613,1.938,0.200,1.269,1.960,1.712,1.766,
+1.629,2.842,3.809,2.293,1.392,2.162,3.982,2.840,1.729,2.040,
+3.210,0.406,1.346,2.021,2.204,2.142,1.437,2.838,0.308,0.338,
+0.167,0.234,0.531,0.572,0.241,0.253,0.270,0.075,0.228,0.280,
+0.227,0.433,0.200,0.310,1.834,2.453,1.329,1.523,0.227,0.205,
+0.149,0.210,1.669,0.233,1.305,1.896,1.145,1.637,1.283,1.571,
+1.603,1.146,0.920,1.386,2.209,1.975,1.322,1.791,1.830,0.231,
+1.770,2.071,1.567,1.671,1.697,2.556,4.095,1.952,1.455,3.025,
+2.272,1.327,0.992,1.368,2.342,0.272,1.099,1.765,2.641,1.862,
+1.377,3.292,3.334,2.698,1.628,2.334,2.886,2.479,1.666,1.829,
+1.979,0.218,1.475,2.137,1.781,2.227,1.459,2.406,1.885,1.734,
+1.616,1.923,0.241,0.150,0.297,0.271,1.423,0.153,1.067,1.492,
+1.267,1.726,1.453,1.870,2.487,1.445,1.334,2.401,1.653,1.313,
+1.310,1.699,2.208,0.185,1.535,2.506,2.768,2.493,2.439,4.523,
+6.507,4.261,2.930,4.301,4.592,3.921,2.474,2.595,2.578,0.327,
+1.290,2.031,2.601,2.637,1.559,2.823,4.431,3.312,1.902,2.269,
+3.746,2.728,2.673,2.182,2.152,0.333,1.635,2.094,1.306,1.871,
+1.280,2.659,2.007,2.371,1.649,1.974,0.245,0.305,0.236,0.282,
+1.373,0.196,1.129,1.311,1.130,1.698,1.274,1.860,2.041,1.217,
+1.026,1.851,2.177,2.172,1.382,1.797,1.737,0.264,1.023,1.466,
+1.872,1.520,1.442,2.760,3.997,3.452,1.514,2.073,3.433,3.562,
+1.630,1.597,2.016,0.302,1.170,1.531,1.406,1.927,1.016,1.644,
+2.710,2.461,1.188,1.278,1.696,0.716,1.171,1.061,1.705,0.371,
+1.329,1.765,0.881,1.625,0.995,1.251,1.717,2.700,1.246,1.449,
+0.257,0.410,0.233,0.227,1.651,0.336,1.272,1.672,0.959,2.332,
+1.432,1.652,1.284,1.139,0.667,1.017,1.726,2.119,0.988,1.264,
+1.362,0.177,1.004,1.718,1.032,1.244,1.045,1.972,2.953,2.211,
+1.285,1.759,3.812,3.876,2.076,1.947,2.285,0.447,1.249,1.761,
+1.510,2.944,1.307,2.159,0.238,0.355,0.167,0.223,0.654,0.741,
+0.360,0.235,0.258,0.155,0.309,0.268,0.170,1.311,0.190,0.216,
+2.159,2.609,1.511,1.550,0.664,0.496,0.270,0.243,1.732,0.315,
+1.391,1.627,0.995,2.099,1.777,1.629,1.411,1.141,0.905,1.166,
+3.691,4.221,2.264,2.034,1.898,0.241,1.409,1.788,1.277,1.518,
+1.616,2.224,2.368,1.464,1.020,1.713,1.783,1.426,0.870,1.051,
+1.349,0.149,0.731,1.152,1.475,1.305,0.870,1.882,2.141,2.125,
+1.375,2.050,2.346,2.768,1.497,1.522,1.398,0.254,1.217,1.664,
+1.026,2.489,1.106,1.593,1.541,2.039,1.429,1.562,0.223,0.229,
+0.144,0.159,1.069,0.143,1.051,1.272,0.880,1.450,1.355,1.630,
+1.614,1.020,0.868,1.398,1.554,1.494,1.504,1.371,1.534,0.133,
+1.040,1.570,1.697,1.781,1.684,2.847,4.172,2.892,1.982,2.955,
+3.036,1.915,1.339,1.756,2.226,0.251,1.076,1.584,2.051,2.024,
+1.530,2.399,3.246,3.081,1.350,1.910,2.588,2.273,1.636,1.692,
+2.819,0.406,1.946,2.237,1.439,2.275,1.221,1.920,1.854,2.564,
+1.422,1.968,0.237,0.314,0.222,0.358,1.640,0.264,1.125,1.680,
+1.160,2.006,1.190,2.731,1.800,1.247,0.892,1.858,1.856,1.857,
+1.171,1.784,1.852,0.215,1.314,2.060,1.794,1.447,1.670,3.639,
+0.321,0.241,0.123,0.183,0.617,0.356,0.238,0.202,0.210,0.053,
+0.135,0.176,0.154,0.237,0.267,0.372,0.218,0.310,0.119,0.148,
+0.324,0.409,0.242,0.213,0.266,0.130,0.255,0.268,0.119,0.255,
+0.132,0.163,0.155,0.318,0.155,0.158,0.056,0.121,0.092,0.052,
+0.240,0.112,0.251,0.272,0.125,0.326,0.207,0.244,0.166,0.145,
+0.088,0.171,0.330,0.406,0.211,0.271,0.199,0.043,0.209,0.269,
+0.160,0.182,0.201,0.316,2.623,2.412,1.193,1.518,2.431,3.184,
+1.726,1.688,2.403,0.473,2.560,2.422,1.402,1.936,1.476,2.018,
+0.220,0.628,0.149,0.152,0.252,0.711,0.288,0.183,0.250,0.126,
+0.325,0.264,0.143,0.353,0.180,0.180,1.485,3.006,1.336,1.364,
+0.230,0.458,0.245,0.226,2.013,0.456,1.250,1.695,0.999,2.203,
+1.439,1.561,1.189,1.274,0.801,1.037,1.930,3.980,1.530,1.723,
+2.330,0.440,3.059,2.241,1.181,1.752,1.703,2.045,2.074,1.362,
+0.908,1.841,1.434,1.138,0.701,0.948,1.445,0.184,0.907,2.055,
+1.366,1.356,0.885,1.945,2.361,2.814,1.183,1.540,2.467,3.908,
+1.459,1.571,2.058,0.328,1.696,2.138,1.440,2.364,1.316,1.826,
+1.642,2.275,1.663,1.570,0.175,0.258,0.168,0.176,1.879,0.325,
+1.577,1.955,1.245,2.408,1.585,2.055,1.448,1.078,0.856,1.362,
+1.397,1.523,1.113,1.299,1.932,0.214,1.940,2.285,1.868,2.038,
+1.911,2.897,4.054,2.047,1.552,3.114,1.962,1.151,1.016,1.673,
+1.811,0.172,0.819,1.679,2.226,1.589,1.127,2.534,2.433,1.959,
+0.887,1.487,1.413,1.021,0.827,1.204,1.388,0.140,0.881,2.397,
+1.212,1.051,0.730,1.550,1.588,1.553,0.845,1.529,0.125,0.120,
+0.077,0.188,1.010,0.104,0.594,1.141,0.993,1.156,0.743,1.566,
+2.131,1.134,0.951,2.264,1.392,1.051,0.779,1.632,1.360,0.116,
+0.794,1.676,1.891,1.286,1.395,3.613,3.593,2.143,1.393,2.195,
+3.157,2.006,2.272,1.821,2.034,0.247,1.105,1.791,1.683,1.927,
+1.487,2.254,2.376,1.943,0.923,1.430,2.194,1.866,1.219,1.445,
+2.081,0.399,1.213,2.106,1.323,1.951,0.938,1.730,1.587,2.390,
+0.924,1.289,0.156,0.228,0.125,0.174,1.455,0.233,1.078,1.708,
+1.289,2.555,1.169,1.900,1.531,1.112,0.839,1.537,1.868,1.806,
+1.120,1.950,1.486,0.154,1.173,1.868,1.553,1.611,1.502,2.823,
+2.256,1.500,0.994,1.518,1.923,1.685,1.210,1.501,2.027,0.271,
+1.215,1.773,1.465,1.513,1.281,2.251,0.151,0.179,0.083,0.128,
+0.149,0.230,0.144,0.129,0.134,0.034,0.128,0.173,0.122,0.193,
+0.117,0.174,1.390,1.614,0.898,1.324,0.143,0.152,0.104,0.171,
+1.832,0.215,1.033,1.434,1.119,1.622,1.250,1.610,1.256,1.023,
+0.799,1.269,1.648,1.613,1.070,1.733,2.175,0.377,1.515,2.041,
+1.436,1.634,1.599,2.517,2.873,1.470,1.134,2.159,1.456,1.067,
+0.843,1.063,1.655,0.173,0.926,1.616,1.771,1.294,1.147,2.646,
+2.021,1.467,0.906,1.437,1.567,1.382,0.943,1.160,1.341,0.114,
+0.922,1.511,1.402,1.365,1.040,1.911,2.270,1.848,1.243,1.839,
+0.378,0.140,0.099,0.166,1.780,0.169,1.260,1.857,1.692,2.224,
+1.705,2.439,2.590,1.489,1.374,2.731,2.522,1.943,1.513,2.109,
+2.662,0.231,2.241,3.279,3.544,2.814,2.986,4.376,8.980,3.391,
+3.642,5.171,3.693,2.298,2.027,2.427,4.340,0.341,1.588,2.140,
+4.264,3.237,1.821,3.350,2.974,1.916,1.236,1.726,2.035,1.251,
+1.216,1.409,1.830,0.201,1.089,1.284,1.485,1.471,1.043,1.618,
+3.138,1.983,1.377,2.044,0.228,0.175,0.146,0.283,1.545,0.149,
+0.962,1.323,1.318,1.539,1.188,1.752,3.105,1.635,1.248,2.558,
+2.415,1.708,1.331,2.081,1.772,0.153,1.033,1.613,2.252,1.376,
+1.711,3.300,5.309,2.844,1.919,3.160,3.562,2.416,2.445,2.720,
+2.796,0.352,1.197,1.746,2.226,2.484,1.202,2.243,2.848,2.148,
+1.179,1.626,2.079,1.241,1.407,1.776,2.840,0.901,1.304,1.680,
+1.386,2.172,0.898,1.375,2.548,2.507,1.588,2.082,0.283,0.255,
+0.227,0.290,2.144,0.270,1.389,1.876,1.414,2.085,1.468,1.789,
+2.158,1.370,0.945,1.796,2.475,1.978,1.477,2.060,1.720,0.162,
+1.048,1.627,1.540,1.393,1.494,2.676,3.979,1.629,1.319,2.159,
+3.278,2.156,2.158,2.184,8.320,0.634,1.638,1.972,3.132,2.320,
+1.474,2.725,0.309,0.255,0.152,0.240,0.335,0.304,0.265,0.320,
+0.452,0.083,0.268,0.260,0.367,0.545,0.219,0.356,1.689,1.539,
+1.445,1.539,0.196,0.194,0.182,0.238,1.731,0.303,1.007,1.180,
+1.127,2.013,1.103,1.307,1.453,0.873,0.829,1.306,2.093,1.728,
+1.545,2.009,1.710,0.194,1.136,1.465,1.620,1.471,1.438,2.432,
+3.905,1.490,1.268,2.649,1.913,1.196,1.181,1.705,3.075,0.299,
+1.087,1.569,3.710,2.209,1.319,3.240,2.766,1.719,1.227,1.849,
+2.256,1.455,1.616,1.887,2.280,0.222,1.312,1.690,2.286,2.093,
+1.210,2.170,1.891,1.631,1.563,1.975,0.184,0.145,0.154,0.240,
+1.613,0.167,1.109,1.628,1.505,1.937,1.528,2.167,2.702,1.403,
+1.287,2.598,1.797,1.302,1.305,2.012,2.444,0.198,1.656,2.633,
+3.985,2.825,3.084,6.249,0.464,0.268,0.210,0.292,0.313,0.251,
+0.194,0.248,0.247,0.036,0.122,0.166,0.246,0.268,0.143,0.235,
+0.363,0.240,0.181,0.225,0.289,0.237,0.240,0.301,0.194,0.039,
+0.167,0.171,0.136,0.182,0.130,0.204,0.203,0.229,0.146,0.182,
+0.040,0.041,0.037,0.042,0.152,0.028,0.120,0.148,0.107,0.180,
+0.126,0.176,0.213,0.136,0.109,0.201,0.267,0.238,0.182,0.232,
+0.210,0.027,0.128,0.255,0.185,0.148,0.181,0.304,0.362,0.290,
+0.159,0.256,0.328,0.347,0.251,0.388,0.224,0.054,0.117,0.171,
+0.155,0.230,0.118,0.183,0.304,0.312,0.154,0.191,0.308,0.252,
+0.279,0.388,0.259,0.081,0.179,0.212,0.122,0.216,0.121,0.161,
+0.227,0.309,0.201,0.197,0.052,0.084,0.077,0.054,0.251,0.080,
+0.202,0.220,0.120,0.276,0.191,0.202,0.191,0.145,0.099,0.165,
+0.322,0.320,0.225,0.233,0.184,0.026,0.131,0.185,0.135,0.147,
+0.150,0.262,0.272,0.167,0.115,0.161,0.300,0.312,0.267,0.220,
+0.388,0.081,0.200,0.167,0.178,0.243,0.147,0.213,0.029,0.043,
+0.025,0.030,0.054,0.090,0.078,0.055,0.063,0.049,0.084,0.049,
+0.024,0.074,0.037,0.034,0.183,0.261,0.278,0.245,0.047,0.077,
+0.073,0.053,0.394,0.196,0.216,0.205,0.160,0.617,0.205,0.186,
+0.160,0.108,0.113,0.147,0.277,0.330,0.280,0.283,0.215,0.045,
+0.189,0.201,0.152,0.198,0.186,0.265,0.364,0.247,0.179,0.275,
+0.238,0.188,0.164,0.201,0.272,0.035,0.140,0.177,0.346,0.271,
+0.191,0.378,0.415,0.369,0.260,0.317,0.428,0.411,0.389,0.398,
+0.391,0.065,0.330,0.331,0.325,0.487,0.269,0.374,0.207,0.250,
+0.217,0.237,0.029,0.044,0.035,0.042,0.236,0.046,0.203,0.251,
+0.176,0.304,0.250,0.302,0.297,0.193,0.161,0.270,0.255,0.254,
+0.212,0.267,0.286,0.031,0.221,0.326,0.371,0.325,0.345,0.603,
+3.391,1.767,1.400,2.124,1.821,1.413,1.057,1.298,1.707,0.186,
+1.006,1.127,1.410,1.234,0.866,1.361,2.051,1.581,0.973,1.248,
+1.698,1.348,1.406,1.154,1.699,0.224,1.891,1.472,0.989,1.267,
+0.909,1.196,1.869,2.136,1.830,1.841,0.264,0.290,0.607,0.374,
+2.003,0.259,1.173,1.398,1.074,2.058,1.048,1.487,1.484,0.970,
+0.829,1.660,1.550,1.356,1.669,1.663,1.701,0.175,1.174,1.644,
+1.338,1.182,1.284,2.511,0.229,0.189,0.106,0.170,0.244,0.293,
+0.170,0.184,0.144,0.034,0.103,0.122,0.105,0.141,0.081,0.136,
+0.171,0.170,0.085,0.098,0.205,0.222,0.196,0.158,0.160,0.055,
+0.185,0.167,0.088,0.124,0.081,0.102,0.200,0.265,0.381,0.186,
+0.046,0.078,0.398,0.059,0.201,0.070,0.224,0.210,0.105,0.221,
+0.149,0.160,0.185,0.128,0.107,0.192,0.253,0.293,0.478,0.283,
+0.181,0.030,0.156,0.222,0.127,0.133,0.139,0.239,2.115,1.399,
+0.937,1.085,1.982,2.512,1.901,1.510,1.734,0.300,1.349,1.336,
+0.935,1.157,1.098,1.351,0.168,0.251,0.126,0.113,0.210,0.447,
+0.437,0.159,0.189,0.073,0.294,0.192,0.113,0.206,0.160,0.139,
+1.537,1.804,1.340,1.520,0.217,0.269,0.265,0.371,1.654,0.308,
+0.653,0.944,0.743,1.388,1.061,1.135,1.057,0.751,0.650,0.877,
+1.471,1.526,1.285,1.821,1.420,0.203,1.336,1.358,0.837,1.025,
+1.121,1.425,1.728,1.020,0.786,1.281,1.248,0.988,0.651,0.789,
+1.206,0.148,0.807,1.122,1.094,0.959,0.680,1.258,1.806,1.736,
+0.972,1.082,1.781,2.072,1.676,1.138,1.566,0.223,1.460,1.527,
+1.521,1.579,1.054,1.333,1.740,2.269,1.270,1.628,0.194,0.329,
+0.194,0.327,1.853,0.368,1.812,1.885,1.118,2.006,1.499,1.727,
+1.360,0.920,0.735,1.166,1.488,1.471,0.968,1.350,1.566,0.175,
+1.463,1.760,1.461,1.506,1.519,2.223,3.678,1.505,1.157,2.211,
+1.472,0.910,0.776,1.108,1.375,0.145,0.619,1.010,1.843,1.206,
+0.844,1.840,1.910,1.089,0.701,1.053,1.035,0.714,0.632,0.776,
+0.918,0.080,0.633,0.886,0.793,0.691,0.542,0.963,1.624,2.022,
+0.905,1.395,0.130,0.129,0.111,0.193,1.074,0.108,0.587,0.965,
+1.001,1.163,0.800,1.296,1.918,1.165,0.924,1.895,1.320,0.945,
+0.943,1.537,1.265,0.107,0.700,1.213,1.715,1.097,1.275,2.676,
+3.322,2.084,1.291,2.310,2.186,2.009,1.346,1.595,1.626,0.178,
+0.925,1.411,1.500,1.496,0.893,1.848,2.257,1.754,0.932,1.401,
+1.832,1.610,1.256,1.453,1.456,0.165,1.090,1.506,1.024,1.139,
+0.815,1.229,2.293,2.405,2.077,1.729,0.171,0.217,0.409,0.217,
+1.541,0.196,1.238,1.721,1.219,1.894,1.276,1.857,1.947,1.327,
+1.140,1.830,1.994,1.805,1.690,2.009,1.578,0.148,1.104,1.781,
+1.483,1.425,1.314,2.443,2.319,1.498,1.058,1.444,1.878,1.829,
+1.453,1.593,1.767,0.241,1.081,1.708,1.283,1.328,1.150,2.042,
+0.195,0.204,0.097,0.141,0.190,0.406,0.195,0.179,0.137,0.039,
+0.156,0.181,0.125,0.197,0.133,0.168,1.546,2.678,1.153,1.858,
+0.154,0.214,0.150,0.462,1.677,0.280,1.019,1.403,1.176,2.647,
+1.274,1.535,1.387,1.085,0.889,1.297,1.756,1.613,1.473,2.565,
+1.615,0.168,1.331,1.820,1.407,1.476,1.619,2.215,3.035,1.307,
+1.192,1.990,1.455,1.023,0.935,1.072,1.683,0.212,0.886,1.526,
+1.534,1.098,0.931,2.301,2.271,1.818,0.909,1.383,1.628,1.587,
+1.138,1.222,1.301,0.123,1.095,1.553,1.313,1.216,1.017,1.682,
+1.996,2.042,1.366,2.047,0.172,0.201,0.127,0.240,1.922,0.210,
+1.557,2.231,1.704,2.219,1.865,2.364,2.767,1.435,1.329,2.636,
+2.097,2.214,1.465,2.211,2.303,0.179,1.803,2.940,3.155,2.286,
+2.563,4.403,8.855,3.964,3.525,7.786,3.899,2.101,1.860,2.693,
+3.878,0.322,1.445,2.557,7.260,4.223,2.193,4.821,3.260,1.623,
+1.225,1.894,1.884,1.046,0.933,1.158,1.923,0.135,1.080,1.233,
+1.830,1.519,0.902,1.640,2.744,1.753,1.279,2.359,0.217,0.142,
+0.114,0.261,1.525,0.116,0.782,1.263,1.635,1.570,1.089,2.100,
+5.552,2.134,1.850,3.997,2.758,1.708,1.421,2.483,2.285,0.174,
+1.443,2.121,3.667,2.139,2.198,5.495,4.130,1.862,1.264,2.450,
+2.177,1.145,0.912,1.293,1.775,0.162,0.722,1.191,2.256,1.709,
+0.833,1.924,2.090,1.195,0.711,1.184,1.143,0.608,0.586,0.846,
+1.393,0.171,0.634,0.916,1.205,1.019,0.577,1.052,1.990,1.458,
+1.017,1.591,0.162,0.099,0.094,0.141,1.429,0.106,0.628,1.024,
+1.291,1.327,0.905,1.451,1.972,1.119,0.862,1.668,1.610,1.007,
+0.789,1.218,1.340,0.087,0.720,1.189,1.507,1.142,1.049,2.602,
+4.504,1.429,1.212,2.368,2.285,1.255,1.117,1.787,3.164,0.274,
+0.909,1.407,3.461,2.085,1.194,3.011,0.274,0.144,0.105,0.208,
+0.189,0.130,0.112,0.183,0.211,0.021,0.100,0.151,0.367,0.323,
+0.136,0.305,1.563,1.145,1.121,1.542,0.128,0.085,0.086,0.156,
+1.324,0.126,0.588,0.895,1.328,1.311,0.892,1.336,1.587,0.872,
+0.961,1.729,1.606,1.054,0.986,1.629,1.378,0.112,0.803,1.301,
+1.772,1.328,1.313,2.660,5.517,1.832,1.627,4.022,2.147,1.091,
+1.039,1.787,3.745,0.291,1.322,1.991,9.117,3.440,1.986,5.484,
+2.998,1.476,1.250,2.053,1.761,1.047,1.022,1.503,2.202,0.148,
+1.087,1.611,3.243,2.356,1.310,2.673,2.115,1.518,1.434,2.072,
+0.158,0.107,0.115,0.180,1.872,0.120,1.008,1.567,1.955,1.855,
+1.468,2.362,3.828,1.822,1.704,3.791,2.199,1.459,1.335,2.255,
+2.918,0.188,1.723,3.001,5.485,3.701,3.369,8.140,5.502,2.755,
+2.099,4.063,2.957,1.847,1.497,2.004,2.463,0.239,1.032,1.695,
+3.032,2.850,1.390,2.845,3.364,1.836,1.361,2.312,2.197,1.403,
+1.286,1.518,1.611,0.165,1.636,1.436,1.378,1.454,1.002,1.784,
+2.101,1.914,1.224,1.982,0.212,0.182,0.129,0.224,1.322,0.140,
+0.848,1.352,1.275,1.572,1.085,1.926,2.331,1.309,1.109,2.057,
+2.219,1.622,1.183,1.786,1.655,0.164,1.006,1.633,1.931,1.423,
+1.544,3.109,3.767,2.145,1.315,2.609,2.458,1.753,1.198,1.621,
+1.669,0.183,0.677,1.242,1.733,1.876,0.834,1.797,2.352,1.851,
+0.931,1.512,1.857,1.228,1.037,1.380,1.510,0.180,0.828,1.179,
+1.090,1.261,0.742,1.193,1.876,1.939,1.178,1.629,0.257,0.253,
+0.213,0.244,1.597,0.206,0.883,1.317,1.228,1.799,1.110,1.780,
+1.660,1.195,0.842,1.443,2.010,1.842,1.117,1.382,1.207,0.104,
+0.694,1.282,1.295,1.131,0.986,2.195,3.013,1.380,0.988,1.744,
+2.081,1.426,1.315,1.617,2.028,0.254,0.891,1.137,1.838,1.716,
+1.056,2.175,0.153,0.136,0.085,0.153,0.155,0.173,0.141,0.172,
+0.151,0.039,0.147,0.133,0.162,0.258,0.119,0.178,1.605,1.645,
+1.342,1.575,0.158,0.167,0.136,0.179,1.726,0.309,0.850,1.215,
+1.216,2.258,1.210,1.642,1.633,0.922,0.931,1.522,1.856,1.763,
+1.401,1.838,1.601,0.146,0.985,1.460,1.526,1.320,1.423,2.472,
+3.405,1.586,1.307,2.387,1.602,1.014,0.915,1.251,1.911,0.167,
+0.981,1.303,2.904,1.920,1.337,3.018,2.560,1.739,1.367,2.017,
+1.837,1.492,1.401,1.663,1.811,0.183,1.341,1.619,2.089,2.591,
+1.477,2.321,1.695,1.583,1.334,1.871,0.140,0.136,0.103,0.160,
+1.518,0.136,1.009,1.574,1.463,1.778,1.423,2.279,2.527,1.366,
+1.240,2.174,2.049,1.715,1.377,1.707,2.076,0.155,1.310,2.271,
+2.980,2.266,2.181,4.315,3.428,1.863,1.310,2.516,1.744,1.254,
+0.875,1.345,1.791,0.162,0.812,1.272,2.046,1.519,0.972,1.821,
+2.428,1.747,0.958,1.559,1.525,1.126,0.916,1.006,1.644,0.168,
+1.077,1.342,1.373,1.515,0.899,1.550,1.907,2.002,1.433,2.044,
+0.285,0.234,0.247,0.293,1.595,0.169,0.983,1.650,1.219,1.742,
+1.046,2.330,1.847,1.246,0.964,1.954,1.640,1.433,1.125,1.615,
+1.902,0.170,1.098,1.888,1.957,1.394,1.528,3.344,0.206,0.152,
+0.096,0.201,0.222,0.165,0.103,0.133,0.134,0.021,0.078,0.112,
+0.144,0.162,0.103,0.182,0.149,0.131,0.065,0.103,0.141,0.155,
+0.102,0.103,0.126,0.024,0.115,0.126,0.098,0.126,0.076,0.118,
+0.145,0.192,0.191,0.158,0.025,0.038,0.106,0.032,0.183,0.035,
+0.137,0.185,0.121,0.203,0.134,0.468,0.173,0.128,0.099,0.195,
+0.205,0.222,0.234,0.213,0.168,0.020,0.119,0.188,0.164,0.144,
+0.139,0.302,2.125,1.270,0.872,1.275,1.607,1.515,1.209,1.290,
+1.531,0.228,1.193,1.193,1.207,1.338,1.396,1.794,0.141,0.153,
+0.072,0.103,0.119,0.167,0.116,0.090,0.130,0.033,0.248,0.126,
+0.125,0.191,0.137,0.149,1.493,2.661,1.119,1.460,0.149,0.207,
+0.142,0.170,1.605,0.202,0.769,1.044,0.918,1.513,1.108,1.396,
+1.388,1.056,0.768,1.107,1.504,1.541,1.133,1.411,1.649,0.166,
+1.722,1.553,1.227,1.331,1.443,2.073,2.139,1.091,0.828,1.597,
+1.297,0.901,0.672,0.950,1.449,0.134,0.896,1.238,1.705,1.227,
+1.170,1.965,2.212,1.574,1.022,1.524,1.554,1.506,1.060,1.115,
+1.728,0.160,1.376,1.581,1.813,1.876,1.314,1.940,2.444,2.259,
+1.465,2.140,0.206,0.412,0.152,0.206,1.869,0.196,1.335,1.866,
+2.012,2.136,1.675,2.325,1.930,1.196,1.078,1.704,1.662,1.694,
+1.102,1.467,2.069,0.166,1.661,2.142,2.295,2.113,2.073,3.418,
+6.550,2.355,1.943,4.131,2.162,1.248,1.069,1.813,2.207,0.179,
+1.014,1.848,3.233,1.996,1.371,3.495,2.628,1.424,0.907,1.576,
+1.442,0.899,0.777,1.130,1.504,0.129,1.551,1.716,1.353,1.143,
+0.935,1.670,2.284,3.468,1.118,2.333,0.161,0.172,0.104,0.243,
+1.377,0.134,0.834,1.412,1.485,1.565,1.030,2.127,3.343,1.900,
+1.521,3.637,1.951,1.288,1.185,2.253,1.959,0.144,1.274,2.409,
+3.829,2.058,2.198,6.061,2.889,1.564,1.090,2.203,1.760,1.215,
+0.928,1.292,1.424,0.120,0.668,1.288,1.567,1.315,0.880,2.200,
+1.886,1.176,0.672,1.214,1.207,0.869,0.634,0.949,1.184,0.100,
+0.844,1.242,1.045,1.025,0.762,1.341,1.611,1.497,1.133,1.641,
+0.104,0.117,0.140,0.141,1.360,0.120,0.817,1.392,1.334,1.725,
+1.025,2.337,1.968,1.174,1.024,2.080,1.776,1.344,1.081,1.767,
+1.483,0.104,0.919,1.661,1.847,1.466,1.383,3.175,3.174,1.812,
+1.505,2.188,2.181,1.591,1.405,2.046,2.231,0.234,1.113,1.842,
+2.162,1.823,1.637,3.489,0.193,0.193,0.105,0.188,0.138,0.155,
+0.120,0.143,0.132,0.020,0.117,0.151,0.173,0.198,0.130,0.251,
+2.022,2.152,1.367,2.274,0.140,0.141,0.103,0.214,1.876,0.181,
+1.034,1.618,1.627,1.998,1.541,2.401,2.371,1.582,1.429,2.164,
+2.344,1.800,1.573,2.527,2.378,0.200,1.963,2.548,2.272,1.857,
+2.271,3.763,6.068,2.209,1.870,3.915,2.310,1.471,1.237,1.839,
+2.851,0.209,1.396,2.462,4.125,2.519,2.188,6.664,3.444,2.167,
+1.409,2.288,2.346,2.039,1.333,1.722,2.528,0.162,1.437,2.281,
+2.618,2.241,1.732,3.565,3.437,2.889,2.135,3.555,0.188,0.179,
+0.124,0.242,2.881,0.200,1.985,3.264,3.252,3.328,2.990,4.760,
+6.737,3.043,2.928,6.374,3.646,2.694,2.237,4.016,4.347,0.247,
+3.082,5.722,7.462,4.468,4.601,9.094,7.508,3.888,2.763,4.942,
+4.341,2.660,1.903,2.370,4.004,0.417,1.755,2.606,4.812,3.787,
+2.087,3.435,5.193,2.987,1.667,2.140,2.928,1.916,1.407,1.399,
+2.414,0.231,1.301,1.610,1.801,1.833,1.222,1.829,2.929,2.462,
+1.618,2.124,0.270,0.280,0.195,0.305,1.942,0.227,1.284,1.370,
+1.635,2.215,1.485,1.916,4.385,2.039,1.830,3.144,3.013,2.174,
+1.807,2.604,2.309,0.226,1.297,1.923,2.766,1.897,1.877,3.140,
+4.985,2.603,1.349,2.274,2.932,2.239,1.303,1.467,2.389,0.287,
+0.924,1.363,1.759,1.875,0.898,1.516,3.605,2.430,1.084,1.429,
+2.212,1.662,1.085,1.038,1.950,0.278,1.074,1.427,1.100,1.511,
+0.803,1.063,1.904,2.213,1.021,1.360,0.188,0.261,0.151,0.164,
+1.960,0.295,1.111,1.317,1.037,1.966,1.056,1.334,1.569,1.162,
+0.726,1.179,1.712,1.531,0.932,1.191,1.715,0.176,1.009,1.315,
+1.330,1.308,1.154,1.872,2.548,1.350,0.913,1.410,2.022,1.226,
+1.048,1.171,1.786,0.250,0.771,1.254,1.393,1.369,0.963,1.780,
+0.218,0.198,0.095,0.137,0.182,0.167,0.124,0.122,0.175,0.046,
+0.120,0.167,0.159,0.263,0.129,0.202,1.221,1.205,0.901,0.891,
+0.133,0.144,0.115,0.126,1.366,0.317,0.664,0.854,0.715,1.244,
+0.771,0.835,1.197,0.804,0.689,0.928,1.450,1.195,0.908,1.178,
+1.487,0.181,1.060,1.237,1.136,1.187,1.110,1.608,3.415,1.406,
+1.002,2.160,1.585,0.905,0.868,1.093,1.612,0.155,0.670,1.185,
+2.074,1.446,1.056,2.415,2.915,1.839,1.078,1.481,1.942,1.316,
+1.113,1.137,1.604,0.149,0.907,1.318,1.480,1.594,1.028,1.722,
+1.467,1.303,1.224,1.332,0.147,0.126,0.284,0.152,1.276,0.141,
+0.812,1.117,1.120,1.422,1.095,1.314,2.036,1.167,1.081,1.871,
+1.315,1.038,1.069,1.373,1.872,0.177,1.165,1.873,2.088,1.907,
+1.763,3.185,4.811,3.373,1.965,3.038,2.773,2.387,1.549,1.655,
+2.033,0.250,0.994,1.446,1.797,1.984,1.207,1.853,3.344,4.116,
+1.475,1.669,2.366,2.006,1.533,1.354,1.544,0.250,1.053,1.325,
+0.996,1.386,0.841,1.198,1.733,2.955,1.228,1.355,0.264,0.628,
+0.201,0.221,1.681,0.239,1.261,1.121,0.959,1.653,1.407,1.341,
+1.751,1.194,0.868,1.325,1.972,2.286,1.058,1.302,1.469,0.365,
+0.790,1.084,1.473,1.297,1.102,2.007,3.243,2.876,1.103,1.507,
+2.314,2.724,1.293,1.143,1.618,0.278,0.737,1.039,1.005,1.591,
+0.895,1.247,2.214,2.734,0.960,1.007,1.855,1.256,1.232,0.951,
+1.517,0.330,0.913,1.186,0.748,1.469,0.765,0.856,1.431,3.154,
+1.011,1.129,0.245,0.777,0.230,0.184,2.219,0.719,1.115,1.441,
+0.959,3.599,1.128,1.257,1.096,1.079,0.529,0.782,1.576,2.235,
+0.792,0.896,1.645,0.273,0.686,0.938,0.984,1.736,0.766,1.378,
+1.813,1.672,0.792,1.034,1.784,1.714,1.268,1.103,1.278,0.232,
+0.795,0.960,0.766,1.100,0.829,1.120,0.195,0.465,0.115,0.122,
+0.176,0.299,0.201,0.127,0.187,0.106,0.185,0.172,0.086,0.244,
+0.123,0.122,1.269,1.657,1.893,1.002,0.265,0.307,0.229,0.164,
+1.708,0.309,0.977,1.142,0.674,1.569,1.111,0.982,1.000,0.722,
+0.615,0.788,1.539,1.770,1.182,1.210,1.472,0.195,0.995,1.220,
+0.766,1.086,1.009,1.265,1.505,0.949,0.630,0.966,1.058,0.826,
+1.168,0.696,0.934,0.094,0.420,0.598,0.842,0.742,0.551,0.979,
+1.594,1.965,0.870,0.971,1.254,1.404,0.878,0.901,1.662,0.183,
+0.710,0.948,0.766,1.300,0.708,1.007,1.000,1.293,0.881,0.946,
+0.104,0.167,0.104,0.105,1.042,0.148,0.778,0.975,0.697,1.186,
+1.223,1.195,1.213,0.828,0.624,0.910,1.071,1.092,0.654,0.900,
+1.594,0.332,0.893,1.285,1.270,1.702,1.335,1.955,2.432,1.795,
+1.027,1.728,1.339,1.140,0.707,0.863,1.210,0.145,0.585,0.857,
+1.130,1.145,0.599,1.135,2.151,2.790,1.040,1.240,1.533,1.472,
+0.984,0.906,1.386,0.230,0.897,1.061,0.851,1.384,0.697,1.009,
+1.387,1.960,1.126,1.372,0.182,0.249,0.157,0.226,1.094,0.171,
+0.677,0.858,0.699,1.346,0.699,1.041,1.249,0.864,0.731,1.138,
+1.287,1.122,0.747,0.979,1.123,0.140,0.687,1.080,1.183,1.078,
+0.997,2.334,0.170,0.185,0.077,0.128,0.172,0.226,0.105,0.114,
+0.154,0.043,0.076,0.096,0.097,0.174,0.076,0.110,0.184,0.414,
+0.105,0.125,0.212,0.330,0.169,0.139,0.174,0.075,0.144,0.146,
+0.088,0.212,0.093,0.110,0.111,0.232,0.107,0.110,0.036,0.085,
+0.057,0.031,0.167,0.073,0.152,0.144,0.084,0.257,0.118,0.123,
+0.123,0.112,0.070,0.115,0.241,0.275,0.161,0.177,0.173,0.037,
+0.118,0.149,0.129,0.162,0.122,0.223,1.135,0.927,0.600,0.733,
+0.979,1.029,0.951,0.671,1.259,0.216,0.640,0.736,0.632,0.836,
+0.593,0.754,0.106,0.194,0.072,0.071,0.103,0.160,0.118,0.068,
+0.133,0.057,0.107,0.106,0.081,0.186,0.091,0.089,0.789,1.300,
+0.706,0.661,0.120,0.197,0.142,0.102,1.159,0.248,0.587,0.773,
+0.542,1.450,0.739,0.709,0.726,0.575,0.442,0.496,0.911,1.088,
+0.757,0.733,1.535,0.289,0.793,0.919,0.668,1.138,0.741,0.966,
+1.082,0.685,0.422,0.883,0.769,0.537,0.382,0.443,1.368,0.104,
+0.345,0.579,0.873,0.681,0.413,0.874,1.339,1.330,0.654,0.798,
+1.179,1.171,0.758,0.709,1.144,0.157,0.707,0.942,0.870,1.199,
+0.719,0.915,1.019,1.252,0.810,0.851,0.129,0.181,0.108,0.105,
+1.388,0.318,0.727,0.945,0.748,1.530,0.796,1.007,1.094,0.706,
+0.608,0.760,1.023,1.031,0.739,0.815,1.448,0.171,0.975,1.342,
+1.218,1.432,1.088,1.827,2.714,1.605,1.078,2.140,1.171,0.867,
+0.611,0.778,1.104,0.123,0.499,0.893,1.539,1.219,0.747,1.714,
+1.355,1.009,0.569,1.074,0.863,0.601,0.435,0.547,0.784,0.089,
+0.387,0.671,0.679,0.733,0.423,0.811,1.209,1.101,0.655,1.173,
+0.119,0.129,0.075,0.155,0.846,0.082,0.420,0.640,0.695,0.869,
+0.544,0.923,1.496,0.814,0.730,1.615,1.087,0.858,0.604,1.024,
+0.953,0.093,0.595,0.960,1.469,1.108,1.005,2.573,2.256,1.594,
+0.895,1.547,1.668,1.462,0.781,0.973,1.398,0.185,0.604,1.001,
+1.148,1.495,0.712,1.231,1.676,1.844,0.698,1.227,1.483,1.469,
+0.806,0.883,1.272,0.234,0.725,1.141,0.843,1.361,0.688,1.080,
+1.068,1.274,0.585,0.897,0.109,0.168,0.093,0.121,1.142,0.161,
+0.703,0.967,0.815,1.521,0.794,1.072,1.040,0.740,0.521,0.968,
+1.281,1.264,0.745,1.171,1.107,0.117,0.689,1.029,1.089,1.152,
+0.878,1.685,1.170,0.890,0.515,0.834,0.978,0.782,0.587,0.731,
+1.234,0.269,0.704,1.166,0.865,1.081,0.676,1.150,0.092,0.162,
+0.053,0.091,0.075,0.108,0.068,0.064,0.169,0.096,0.099,0.224,
+0.089,0.225,0.073,0.118,0.746,0.909,0.761,0.689,0.083,0.096,
+0.194,0.095,0.936,0.138,0.513,0.752,0.563,0.983,0.967,0.851,
+0.749,0.577,0.471,0.679,0.990,0.867,0.810,0.918,1.348,0.335,
+0.762,1.091,0.814,1.142,0.823,1.320,1.926,0.920,0.632,1.229,
+1.011,0.706,0.488,0.692,2.516,0.134,0.464,0.839,1.515,0.996,
+0.722,1.689,1.103,0.841,0.463,0.823,0.917,0.682,0.531,0.684,
+1.033,0.135,0.527,1.123,0.831,0.993,0.571,1.078,1.267,1.172,
+0.753,1.134,0.112,0.107,0.081,0.113,1.287,0.126,0.712,1.129,
+1.052,1.437,1.280,1.450,1.743,1.005,0.810,1.753,1.423,1.343,
+0.930,1.357,1.880,0.150,1.150,2.040,2.282,1.896,1.772,3.445,
+4.185,2.717,1.890,2.980,2.869,2.247,1.336,1.543,2.330,0.295,
+1.112,1.715,2.406,2.352,1.206,2.054,3.102,2.453,1.270,1.543,
+2.870,2.146,1.414,1.246,1.844,0.257,1.319,1.501,1.127,1.530,
+0.997,1.310,1.399,1.482,0.958,1.187,0.159,0.181,0.145,0.182,
+1.104,0.156,0.731,0.788,0.838,1.256,0.871,1.094,1.684,1.004,
+0.871,1.464,1.575,1.423,1.014,1.320,1.242,0.164,0.799,1.120,
+1.424,1.125,1.132,1.908,3.281,2.251,1.046,1.702,2.549,2.268,
+1.104,1.139,1.739,0.300,0.965,1.205,1.171,1.599,0.750,1.185,
+2.473,2.594,0.970,1.600,2.407,2.085,1.192,1.149,1.899,0.552,
+1.749,2.263,0.908,1.817,0.829,1.104,1.121,1.702,0.808,0.865,
+0.181,0.303,0.223,0.162,1.309,0.317,1.096,1.074,0.769,1.760,
+0.982,1.012,0.841,0.776,0.526,0.662,1.225,1.357,1.329,0.929,
+1.041,0.155,0.750,1.192,0.823,1.026,1.275,1.613,1.446,0.992,
+0.655,0.841,1.554,1.295,0.887,0.927,1.562,0.238,0.688,0.898,
+0.837,1.035,0.676,1.205,0.125,0.179,0.101,0.103,0.192,0.249,
+0.155,0.132,0.162,0.081,0.161,0.160,0.093,0.252,0.112,0.143,
+0.665,0.914,0.662,0.583,0.103,0.138,0.113,0.107,0.865,0.179,
+0.674,0.739,0.463,0.907,0.634,0.635,0.660,0.511,0.531,0.567,
+0.912,0.985,0.689,0.818,0.931,0.160,0.710,0.882,0.668,0.929,
+0.874,1.155,1.592,0.754,0.538,1.079,0.870,0.588,0.434,0.557,
+0.960,0.100,0.413,0.593,1.001,0.834,0.590,1.289,1.480,1.238,
+0.755,0.942,1.561,1.335,0.833,0.943,0.999,0.148,0.726,0.968,
+0.702,1.172,0.637,0.993,0.722,0.774,1.095,0.793,0.079,0.091,
+0.195,0.100,0.718,0.103,0.626,0.713,0.535,0.860,0.713,0.801,
+1.095,0.729,1.456,1.143,0.711,0.740,0.813,0.774,1.041,0.120,
+0.772,1.073,1.120,1.267,1.158,1.980,2.884,2.153,1.272,1.888,
+2.254,2.347,1.377,1.294,1.349,0.196,0.714,0.970,1.126,1.364,
+0.692,1.179,2.304,2.202,1.241,1.183,2.592,2.674,2.619,1.530,
+1.242,0.282,1.082,1.234,0.676,1.256,0.706,0.966,0.991,1.437,
+0.930,0.881,0.146,0.251,0.180,0.165,0.922,0.169,0.796,0.781,
+1.132,1.090,0.727,0.907,0.892,0.639,0.486,0.822,1.137,1.360,
+0.774,0.870,0.760,0.108,0.609,0.718,2.291,0.828,0.739,1.253,
+2.231,1.920,0.775,0.933,1.701,2.335,0.956,0.831,1.265,0.243,
+0.671,0.829,0.684,1.137,0.483,0.834,1.334,1.315,0.616,0.672,
+0.713,0.561,0.606,0.524,1.014,0.433,0.721,0.951,0.454,1.228,
+0.523,0.623,0.813,1.699,0.710,0.735,0.173,0.583,0.258,0.179,
+1.048,0.358,0.801,1.080,0.541,1.735,0.880,0.924,0.561,0.639,
+0.386,0.464,0.986,1.781,0.684,0.757,0.786,0.164,0.647,0.843,
+0.599,0.886,0.577,0.988,1.316,1.131,1.303,0.809,1.671,1.997,
+1.201,1.007,1.146,0.276,0.763,0.821,0.604,1.218,0.711,0.926,
+0.129,0.278,0.314,0.122,0.320,0.625,0.321,0.181,0.207,0.203,
+0.283,0.189,0.086,0.453,0.143,0.118,0.772,1.330,0.869,0.735,
+0.174,0.358,0.248,0.160,0.963,0.259,0.784,0.905,0.485,1.435,
+0.960,0.897,0.585,0.518,0.434,0.502,1.208,1.799,1.209,1.070,
+1.104,0.186,1.007,1.056,0.641,0.909,0.945,1.124,0.949,0.665,
+0.479,0.708,0.820,0.772,0.415,0.460,0.751,0.086,0.343,0.448,
+0.607,0.625,0.404,0.689,0.984,1.309,1.086,0.812,1.419,2.098,
+0.916,0.914,0.930,0.216,0.692,0.822,0.506,1.352,0.608,0.751,
+0.611,1.004,0.679,0.685,0.076,0.171,0.104,0.094,0.662,0.132,
+0.788,0.801,0.451,0.987,1.058,1.015,0.658,0.572,0.407,0.599,
+0.680,0.967,0.540,0.689,0.849,0.118,0.666,0.832,0.735,1.038,
+1.246,1.567,1.943,1.540,0.803,1.287,1.390,1.173,0.620,0.847,
+1.803,0.169,0.556,0.695,0.930,0.996,0.507,0.920,1.954,2.492,
+0.811,1.226,2.512,1.981,1.401,1.266,1.550,0.318,1.201,1.257,
+0.731,1.422,0.648,0.927,1.025,1.591,0.905,1.146,0.253,0.289,
+0.192,0.262,0.990,0.204,0.670,0.876,0.558,1.248,0.615,0.866,
+0.873,0.640,0.437,0.864,1.653,1.217,0.755,1.003,0.907,0.136,
+0.708,1.009,0.857,0.883,0.799,1.609,0.198,0.169,0.067,0.102,
+0.229,0.319,0.151,0.133,0.357,0.059,0.093,0.097,0.090,0.165,
+0.093,0.114,0.178,0.478,0.114,0.252,0.392,0.651,0.470,0.307,
+0.259,0.285,0.283,0.239,0.080,0.268,0.099,0.114,0.113,0.288,
+0.159,0.143,0.088,0.229,0.137,0.069,0.197,0.145,0.261,0.221,
+0.073,0.284,0.162,0.118,0.095,0.084,0.047,0.081,0.828,0.402,
+0.196,0.207,0.125,0.046,0.150,0.155,0.081,0.118,0.106,0.152,
+1.182,1.570,0.879,0.798,1.307,2.028,1.006,0.865,1.313,0.306,
+0.841,0.875,0.619,1.035,0.660,0.911,0.151,0.638,0.126,0.104,
+0.204,0.475,0.266,0.138,0.201,0.153,0.272,0.181,0.081,0.267,
+0.125,0.110,0.722,1.543,0.727,0.670,0.147,0.332,0.189,0.136,
+1.181,0.345,0.655,0.904,0.487,1.390,0.749,0.748,0.573,0.609,
+0.376,0.530,1.051,1.650,0.876,1.019,1.369,0.274,1.459,1.212,
+0.587,1.033,0.873,1.124,0.910,0.778,0.484,1.099,0.778,0.632,
+0.371,0.444,0.841,0.104,0.391,0.633,0.619,0.637,0.356,0.905,
+1.458,2.798,0.743,0.847,2.293,2.128,1.108,1.086,1.758,0.317,
+1.153,1.338,0.813,1.566,0.777,0.997,0.935,1.442,1.484,1.004,
+0.111,0.217,0.150,0.117,1.110,0.246,0.957,1.091,0.604,1.547,
+0.877,0.991,0.812,0.670,0.510,0.815,0.872,1.004,0.624,0.750,
+1.229,0.157,1.159,1.349,0.934,1.343,1.067,1.559,1.530,0.950,
+0.629,1.200,0.911,0.685,0.422,0.691,0.852,0.091,0.389,0.660,
+0.857,0.752,0.435,1.113,1.148,0.981,0.432,0.741,0.901,0.718,
+0.468,0.627,0.668,0.092,0.385,0.641,0.492,0.605,0.315,0.667,
+0.745,0.784,0.436,0.787,0.072,0.077,0.050,0.106,0.619,0.076,
+0.321,0.499,0.453,0.636,0.363,0.620,0.824,0.523,0.398,0.964,
+0.685,0.552,0.382,0.790,0.661,0.065,0.379,0.688,0.843,0.649,
+0.561,1.481,1.747,1.170,0.563,0.941,1.399,1.464,0.808,0.860,
+1.545,0.197,0.604,0.867,0.831,1.248,0.722,1.003,1.317,1.568,
+0.542,1.017,1.920,2.015,1.072,1.117,1.535,0.430,0.845,1.376,
+0.747,1.659,0.580,0.919,0.697,1.154,0.619,0.738,0.121,0.233,
+0.142,0.155,0.921,0.175,0.710,0.863,0.580,1.286,0.691,0.798,
+0.589,0.485,0.356,0.669,1.361,1.209,0.712,1.144,0.820,0.115,
+0.634,0.876,0.662,0.826,0.645,1.171,0.935,0.794,0.441,0.579,
+0.988,1.316,0.634,0.699,1.049,0.176,0.591,0.784,0.623,0.785,
+0.539,0.906,0.070,0.132,0.046,0.064,0.087,0.207,0.093,0.078,
+0.095,0.043,0.085,0.094,0.058,0.131,0.065,0.083,0.499,0.777,
+0.427,0.506,0.068,0.112,0.079,0.085,0.887,0.165,0.595,0.793,
+0.449,0.911,0.606,0.687,0.509,0.473,0.318,0.538,0.751,0.914,
+0.589,0.822,1.333,0.343,0.820,1.017,0.670,1.086,0.731,1.132,
+1.114,0.704,0.408,0.798,0.653,0.607,0.324,0.458,0.789,0.076,
+0.396,0.577,0.717,0.598,0.446,1.009,0.875,0.825,0.384,0.630,
+0.859,0.929,0.499,0.686,1.166,0.124,0.525,0.739,0.615,0.770,
+0.480,0.911,0.861,0.820,0.590,0.741,0.083,0.084,0.057,0.088,
+0.828,0.102,0.632,0.825,0.628,1.010,0.844,0.990,1.022,0.662,
+0.519,1.066,0.936,1.058,0.714,1.086,1.521,0.180,0.992,1.487,
+1.469,1.484,1.419,2.002,2.310,1.659,1.375,1.972,1.735,1.462,
+1.029,1.153,1.450,0.171,0.699,1.061,1.635,1.514,0.860,1.416,
+1.531,1.314,1.149,0.938,1.203,0.869,0.821,0.752,0.925,0.129,
+0.617,0.725,0.694,0.871,0.669,0.853,1.201,1.316,0.746,1.262,
+0.113,0.116,0.088,0.159,0.753,0.094,0.502,0.720,0.562,0.791,
+0.575,0.833,1.264,0.729,0.565,1.065,1.083,0.901,0.683,0.944,
+0.795,0.083,0.790,0.796,0.966,0.674,0.946,1.413,2.266,1.852,
+0.888,1.344,2.072,2.065,1.289,1.163,1.249,0.208,0.598,0.749,
+0.927,1.286,0.648,0.992,1.739,2.389,0.824,0.928,1.579,1.339,
+1.200,0.941,1.519,0.372,0.852,1.042,0.745,1.453,0.659,0.838,
+1.262,1.798,0.930,1.128,0.176,0.288,0.209,0.204,1.377,0.286,
+1.060,1.282,0.709,1.614,0.983,1.043,0.882,0.704,0.426,0.712,
+1.434,1.410,0.813,1.074,0.898,0.114,0.623,0.832,0.752,0.776,
+0.761,1.331,1.223,0.817,0.511,0.816,1.451,1.179,1.053,1.122,
+1.684,0.298,0.660,0.779,0.981,1.247,0.682,1.078,0.121,0.183,
+0.077,0.118,0.155,0.194,0.162,0.214,0.222,0.082,0.169,0.142,
+0.141,0.366,0.138,0.188,0.769,0.846,0.816,0.796,0.119,0.139,
+0.142,0.157,1.021,0.275,0.580,0.627,0.583,1.287,0.641,0.718,
+0.600,0.420,0.345,0.556,0.967,0.974,0.811,1.007,0.822,0.125,
+0.797,0.716,0.764,0.775,0.736,1.563,1.255,0.661,0.460,0.934,
+0.736,0.504,0.477,0.697,0.856,0.100,0.373,0.529,1.147,0.928,
+0.539,1.185,1.124,1.432,0.558,0.828,0.946,0.874,0.767,1.234,
+1.092,0.186,0.689,0.787,0.894,1.363,0.633,1.030,0.765,0.896,
+0.747,0.883,0.090,0.098,0.100,0.130,0.814,0.118,0.709,0.870,
+0.681,1.099,0.845,1.028,1.001,0.691,0.555,1.054,0.779,0.648,
+0.662,0.898,1.080,0.117,0.888,1.129,1.536,1.406,1.498,2.431,
+0.130,0.136,0.193,0.107,0.130,0.170,0.097,0.097,0.091,0.023,
+0.056,0.067,0.076,0.108,0.064,0.087,0.163,0.206,0.369,0.125,
+0.195,0.226,0.222,0.141,0.131,0.071,0.145,0.117,0.065,0.150,
+0.092,0.089,0.112,0.339,0.094,0.082,0.024,0.051,0.034,0.025,
+0.078,0.033,0.089,0.085,0.051,0.112,0.086,0.085,0.082,0.083,
+0.054,0.079,0.121,0.153,0.101,0.104,0.086,0.021,0.131,0.103,
+0.098,0.084,0.221,0.138,0.137,0.203,0.078,0.082,0.207,0.455,
+0.225,0.121,0.109,0.056,0.074,0.072,0.056,0.129,0.116,0.073,
+0.205,0.406,0.140,0.103,0.328,0.396,0.369,0.188,0.299,0.254,
+0.187,0.169,0.090,0.331,0.116,0.096,0.106,0.284,0.133,0.106,
+0.060,0.267,0.143,0.055,0.191,0.160,0.212,0.171,0.065,0.282,
+0.183,0.126,0.073,0.082,0.049,0.060,0.158,0.275,0.147,0.121,
+0.105,0.035,0.094,0.090,0.060,0.100,0.091,0.123,0.086,0.093,
+0.054,0.069,0.139,0.223,0.178,0.178,0.172,0.082,0.120,0.085,
+0.059,0.170,0.075,0.079,0.022,0.064,0.028,0.031,0.059,0.154,
+0.128,0.098,0.082,0.135,0.112,0.060,0.016,0.095,0.043,0.026,
+0.084,0.176,0.243,0.141,0.044,0.118,0.127,0.052,0.297,0.320,
+0.205,0.148,0.077,0.449,0.171,0.111,0.064,0.057,0.053,0.060,
+0.138,0.236,0.189,0.148,0.135,0.062,0.164,0.125,0.064,0.115,
+0.112,0.131,0.091,0.101,0.053,0.077,0.079,0.084,0.066,0.088,
+0.077,0.016,0.044,0.053,0.086,0.102,0.062,0.107,0.208,0.720,
+0.113,0.141,0.189,0.279,0.219,0.429,0.210,0.087,0.160,0.145,
+0.119,0.359,0.124,0.150,0.070,0.137,0.102,0.093,0.017,0.041,
+0.034,0.028,0.123,0.053,0.143,0.143,0.070,0.183,0.154,0.129,
+0.083,0.084,0.055,0.083,0.084,0.111,0.084,0.100,0.117,0.025,
+0.119,0.129,0.111,0.148,0.156,0.197,1.458,1.152,0.749,1.125,
+1.409,1.516,0.761,0.837,1.204,0.153,0.480,0.652,0.786,0.759,
+0.469,0.782,1.270,1.328,0.744,0.811,1.513,1.358,1.714,0.973,
+1.214,0.231,0.981,0.951,0.636,1.048,0.624,0.797,0.907,1.460,
+0.906,1.071,0.166,0.269,0.205,0.257,1.578,0.597,0.807,0.949,
+0.625,2.052,0.707,0.909,0.813,0.569,0.411,0.743,0.997,1.003,
+0.726,0.984,0.890,0.149,0.686,1.017,0.803,0.908,0.857,1.429,
+0.124,0.163,0.061,0.091,0.442,0.596,0.166,0.140,0.114,0.041,
+0.084,0.097,0.064,0.107,0.053,0.084,0.122,0.209,0.087,0.078,
+0.247,0.330,0.358,0.169,0.169,0.116,0.225,0.184,0.067,0.161,
+0.085,0.081,0.088,0.239,0.121,0.100,0.045,0.145,0.115,0.052,
+0.189,0.189,0.240,0.210,0.066,0.260,0.144,0.119,0.087,0.078,
+0.046,0.080,0.187,0.249,0.146,0.170,0.112,0.040,0.122,0.144,
+0.071,0.099,0.092,0.139,0.905,1.051,0.491,0.500,1.355,2.590,
+1.734,0.901,0.968,0.258,0.815,0.760,0.482,0.807,0.624,0.726,
+0.095,0.215,0.106,0.070,0.170,0.393,0.740,0.133,0.153,0.107,
+0.283,0.143,0.082,0.191,0.122,0.101,0.769,1.358,0.885,0.734,
+0.165,0.307,0.322,0.179,1.052,0.274,0.473,0.687,0.431,1.054,
+0.901,0.777,0.557,0.511,0.363,0.411,0.948,1.353,1.110,0.918,
+0.962,0.190,0.874,0.877,0.503,0.782,0.796,0.937,0.775,0.584,
+0.371,0.602,0.711,0.860,0.462,0.449,0.608,0.089,0.409,0.547,
+0.640,0.551,0.357,0.684,1.072,1.374,0.723,0.672,1.501,2.913,
+2.097,0.962,1.043,0.224,1.028,0.987,1.293,1.287,0.779,0.921,
+0.980,1.983,0.881,0.905,0.144,0.378,0.194,0.156,1.258,0.261,
+1.835,1.429,0.697,1.458,1.092,1.077,0.718,0.611,0.424,0.652,
+0.824,1.110,0.722,0.781,1.019,0.144,1.070,1.209,0.870,1.162,
+1.039,1.444,1.373,0.842,0.562,1.045,0.843,0.714,0.484,0.681,
+0.777,0.094,0.309,0.561,0.809,0.741,0.411,1.491,0.930,0.761,
+0.388,0.514,0.703,0.480,0.437,0.435,0.520,0.060,0.325,0.445,
+0.409,0.456,0.310,0.511,0.760,0.848,0.446,0.691,0.084,0.085,
+0.059,0.108,0.623,0.086,0.350,0.533,0.505,0.749,0.659,0.837,
+0.906,0.530,0.408,0.755,0.840,0.596,0.448,0.728,0.597,0.061,
+0.408,0.590,0.861,0.728,0.665,1.418,1.563,1.400,0.664,1.109,
+1.801,2.446,0.973,1.023,0.910,0.160,0.570,0.798,0.737,0.980,
+0.488,0.951,1.496,2.205,0.652,0.852,1.970,1.568,1.237,1.049,
+1.072,0.225,0.833,1.068,0.627,1.100,0.717,0.795,0.959,1.786,
+0.781,0.916,0.133,0.276,0.160,0.170,1.153,0.246,0.950,1.244,
+0.759,1.696,0.927,1.202,0.853,0.721,0.508,0.799,1.268,1.355,
+0.929,1.312,0.948,0.123,0.714,1.028,0.794,0.924,0.793,1.417,
+1.076,1.340,0.518,0.743,1.184,1.343,0.971,0.937,1.123,0.316,
+0.687,1.581,0.602,1.005,0.604,1.034,0.090,0.138,0.050,0.068,
+0.111,0.190,0.168,0.107,0.094,0.046,0.111,0.147,0.060,0.137,
+0.078,0.097,0.765,1.183,0.692,0.803,0.116,0.183,0.150,0.162,
+1.071,0.230,0.726,0.950,0.559,1.237,0.914,0.949,0.686,0.574,
+0.446,0.635,1.095,1.159,1.114,1.495,0.964,0.148,0.838,1.132,
+0.730,0.874,0.927,1.322,1.171,0.687,0.439,0.810,0.716,0.569,
+0.455,0.526,0.725,0.094,0.374,0.673,0.774,0.661,0.496,1.140,
+1.196,1.187,0.423,0.624,0.820,0.916,0.717,0.708,0.779,0.093,
+0.516,0.807,0.626,0.757,0.535,0.893,0.915,1.205,0.721,1.029,
+0.095,0.140,0.085,0.126,1.165,0.152,1.059,1.373,0.848,1.362,
+1.134,1.321,1.179,0.766,0.635,1.306,1.087,1.122,0.912,1.311,
+1.273,0.120,1.047,1.634,1.475,1.386,1.418,2.028,2.275,1.335,
+1.170,2.379,1.317,0.866,0.659,0.968,1.315,0.127,0.496,0.904,
+1.868,1.444,0.713,1.578,1.335,0.857,0.610,0.819,0.826,0.525,
+0.420,0.507,0.752,0.074,0.446,0.527,0.823,0.855,0.519,0.868,
+1.017,0.849,0.588,0.952,0.083,0.073,0.054,0.110,0.683,0.063,
+0.368,0.521,0.660,0.825,0.520,0.944,1.377,0.710,0.625,1.255,
+0.938,0.664,0.527,0.848,0.824,0.083,1.272,0.807,1.212,0.845,
+0.891,1.888,1.717,0.959,0.529,1.104,1.691,0.791,0.462,0.649,
+0.791,0.086,0.300,0.523,0.844,0.788,0.371,0.839,0.992,0.838,
+0.369,0.576,0.703,0.560,0.363,0.446,0.695,0.086,0.319,0.495,
+0.629,0.710,0.351,0.572,0.699,0.713,0.444,0.704,0.070,0.080,
+0.058,0.078,0.655,0.085,0.363,0.535,0.657,1.649,0.508,0.695,
+0.681,0.513,0.322,0.651,0.627,0.544,0.343,0.543,0.584,0.054,
+0.624,0.548,0.640,0.619,0.542,1.121,1.148,0.595,0.432,0.813,
+0.884,0.573,0.500,0.768,0.911,0.117,0.313,0.543,0.942,0.816,
+0.442,1.001,0.072,0.066,0.036,0.067,0.063,0.057,0.045,0.069,
+0.069,0.015,0.036,0.053,0.108,0.147,0.056,0.109,0.539,0.579,
+0.450,0.594,0.051,0.053,0.043,0.065,0.560,0.075,0.340,0.411,
+0.487,0.685,0.422,0.565,0.548,0.379,0.311,0.621,0.592,0.542,
+0.382,0.609,0.575,0.060,0.373,0.522,0.682,0.570,0.548,1.077,
+1.479,0.647,0.486,1.237,0.714,0.414,0.385,0.604,1.056,0.101,
+0.371,0.599,2.037,1.096,0.597,1.483,0.920,0.656,0.412,0.728,
+0.636,0.448,0.376,0.572,0.718,0.072,0.372,0.545,1.104,1.203,
+0.563,1.074,0.716,0.702,0.538,0.770,0.057,0.050,0.049,0.070,
+0.618,0.056,0.426,0.596,0.724,0.853,0.632,0.987,1.132,0.777,
+0.590,1.278,0.718,0.547,0.493,0.784,0.977,0.082,0.681,1.053,
+1.642,1.386,1.348,3.115,2.105,1.391,1.251,1.705,1.404,1.093,
+0.731,0.944,1.051,0.128,0.511,0.772,1.156,1.175,0.627,1.221,
+1.594,1.234,1.282,1.056,1.330,1.061,0.880,0.836,0.971,0.154,
+1.477,0.885,0.646,1.070,0.653,0.916,0.999,1.526,0.706,1.004,
+0.110,0.159,0.104,0.150,0.733,0.113,0.543,0.871,0.637,0.968,
+0.695,1.103,1.000,0.695,0.550,1.018,1.099,1.106,0.698,1.027,
+0.754,0.099,0.618,0.783,0.953,0.789,0.829,1.525,1.617,1.331,
+0.594,1.063,1.403,1.446,0.747,0.796,0.842,0.142,0.381,0.573,
+0.709,0.930,0.522,0.814,1.486,1.874,0.639,0.800,1.461,1.259,
+0.893,0.879,1.149,0.300,0.619,0.808,0.654,1.304,0.559,0.750,
+0.883,1.379,1.026,1.101,0.143,0.297,0.316,0.235,0.989,0.199,
+0.690,0.903,0.694,1.405,1.196,1.117,0.754,0.696,0.506,0.789,
+1.072,1.441,0.942,1.002,0.773,0.094,0.564,0.758,0.724,0.819,
+0.671,1.293,1.003,0.684,0.411,0.782,0.976,0.946,0.708,1.218,
+1.003,0.210,0.462,0.562,0.686,1.024,0.454,0.864,0.068,0.110,
+0.054,0.083,0.095,0.164,0.108,0.161,0.123,0.079,0.098,0.087,
+0.080,0.289,0.076,0.099,0.700,1.000,0.811,0.762,0.089,0.142,
+0.108,0.127,1.001,0.286,0.537,0.716,0.590,1.447,0.721,0.836,
+0.669,0.544,0.416,0.677,0.934,1.290,0.771,0.968,0.891,0.109,
+0.592,0.790,0.734,0.769,0.727,1.189,1.032,0.651,0.451,0.805,
+0.651,0.511,0.406,0.584,0.847,0.097,0.367,0.507,1.213,1.051,
+0.522,1.088,1.086,1.401,0.647,0.893,0.939,1.048,0.799,1.175,
+1.183,0.258,0.686,0.833,1.362,4.408,0.844,1.293,0.685,0.877,
+0.657,0.810,0.068,0.099,0.082,0.093,0.847,0.117,0.648,0.915,
+0.680,1.265,0.867,1.111,0.909,0.705,0.549,0.862,0.806,0.860,
+0.622,0.835,0.987,0.103,0.735,1.129,1.205,1.336,1.163,2.024,
+1.347,0.929,0.567,1.106,0.808,0.791,0.412,0.625,0.782,0.081,
+0.330,0.571,0.750,0.672,0.379,0.800,1.121,0.991,0.481,0.720,
+0.995,0.851,0.661,0.608,0.814,0.122,0.569,0.693,0.573,0.872,
+0.497,0.754,0.825,1.032,0.693,0.962,0.101,0.140,0.102,0.165,
+0.810,0.127,0.587,0.750,0.560,1.038,0.597,0.925,0.786,0.566,
+0.399,0.844,0.758,0.748,0.499,0.766,0.832,0.101,0.550,0.888,
+0.889,0.822,0.747,1.583,0.079,0.082,0.044,0.077,0.104,0.165,
+0.047,0.065,0.059,0.013,0.036,0.051,0.051,0.075,0.038,0.074,
+0.074,0.101,0.039,0.050,0.109,0.192,0.084,0.075,0.077,0.033,
+0.084,0.081,0.048,0.098,0.049,0.060,0.053,0.096,0.055,0.058,
+0.013,0.035,0.026,0.016,0.081,0.034,0.096,0.082,0.050,0.121,
+0.071,0.085,0.062,0.059,0.035,0.068,0.097,0.132,0.073,0.093,
+0.075,0.020,0.066,0.087,0.069,0.081,0.063,0.125,0.797,0.700,
+0.356,0.472,0.747,0.964,0.602,0.583,0.713,0.137,0.410,0.521,
+0.484,0.638,0.471,0.718,0.062,0.102,0.038,0.043,0.070,0.118,
+0.091,0.052,0.074,0.035,0.076,0.064,0.056,0.127,0.069,0.078,
+0.612,1.324,0.575,0.590,0.085,0.155,0.110,0.090,0.922,0.171,
+0.433,0.619,0.439,0.973,0.641,0.702,0.551,0.558,0.333,0.460,
+0.742,0.946,0.645,0.682,0.905,0.126,0.688,0.805,0.614,0.770,
+0.704,1.041,0.831,0.489,0.341,0.626,0.563,0.475,0.332,0.437,
+0.618,0.071,0.348,0.526,0.616,0.582,0.399,0.813,0.927,0.871,
+0.471,0.637,0.857,0.958,0.658,0.594,0.841,0.123,0.602,0.750,
+0.757,1.144,0.704,0.954,1.661,1.251,1.036,0.891,0.209,0.168,
+0.241,0.110,1.062,0.131,0.849,0.983,1.162,1.234,0.944,1.120,
+0.839,0.644,0.556,0.776,0.817,0.826,0.835,0.720,1.085,0.107,
+0.897,1.220,1.162,1.214,1.099,1.747,2.022,0.917,0.696,1.432,
+0.912,0.589,0.424,0.810,0.845,0.083,0.336,0.699,1.088,0.848,
+0.489,1.315,1.035,0.639,0.342,0.582,0.701,0.482,0.348,0.504,
+0.562,0.055,0.349,0.531,0.485,0.512,0.321,0.652,0.791,0.836,
+0.431,0.859,0.071,0.077,0.046,0.111,0.629,0.064,0.333,0.582,
+0.585,0.696,0.425,0.850,1.037,0.597,0.461,1.086,0.706,0.529,
+0.408,0.800,0.724,0.061,0.428,0.815,1.131,0.819,0.714,1.999,
+1.373,0.878,0.581,1.064,0.931,0.860,0.476,0.694,0.666,0.073,
+0.329,0.600,0.661,0.708,0.382,0.947,1.004,0.874,0.351,0.594,
+0.829,0.866,0.416,0.586,0.668,0.090,0.477,0.665,0.495,0.712,
+0.390,0.774,0.667,0.781,0.376,0.641,0.050,0.082,0.045,0.069,
+0.696,0.078,0.474,0.669,0.579,0.877,0.500,0.903,0.745,0.532,
+0.399,0.764,0.757,0.707,0.454,0.797,0.702,0.066,0.425,0.737,
+0.790,1.035,0.602,1.550,1.181,1.409,0.546,0.785,0.879,0.778,
+0.577,0.801,0.926,0.166,0.440,0.851,0.791,0.863,0.608,1.226,
+0.086,0.279,0.042,0.064,0.061,0.084,0.054,0.063,0.060,0.019,
+0.045,0.069,0.065,0.109,0.051,0.110,0.733,0.980,0.542,0.749,
+0.064,0.085,0.064,0.089,0.885,0.116,0.514,0.764,0.597,0.922,
+0.716,1.001,0.836,0.715,0.478,0.808,0.917,0.929,0.731,1.102,
+1.305,0.130,0.749,1.132,0.936,0.952,0.875,1.629,1.792,0.894,
+0.644,1.369,0.870,0.609,0.479,0.707,1.034,0.092,0.493,0.909,
+1.373,1.003,0.778,2.038,1.309,1.297,0.514,0.846,1.051,1.023,
+0.604,0.838,0.994,0.091,0.603,1.089,0.927,1.121,0.707,1.910,
+1.195,1.226,1.076,1.288,0.090,0.093,0.147,0.123,1.283,0.112,
+0.910,1.489,1.206,1.500,1.298,1.929,2.146,1.168,1.023,2.161,
+1.537,1.205,1.096,1.978,1.863,0.131,1.360,2.466,2.319,1.881,
+1.824,2.950,5.442,2.289,2.190,3.415,2.495,1.418,1.367,1.520,
+2.846,0.234,1.385,1.775,3.254,2.292,1.497,2.475,2.698,1.613,
+1.204,1.554,1.785,1.112,1.056,0.994,1.653,0.164,1.091,1.185,
+1.279,1.415,1.015,1.331,2.453,1.255,1.255,1.580,0.172,0.132,
+0.125,0.200,1.285,0.110,0.814,1.025,1.111,1.168,0.989,1.264,
+2.629,1.170,1.301,2.497,1.875,1.311,1.215,1.758,1.505,0.121,
+0.974,1.414,1.908,1.161,1.380,2.212,2.550,1.461,0.966,1.370,
+1.636,1.051,0.873,0.992,1.146,0.133,0.878,1.080,1.052,1.120,
+0.765,1.089,1.722,1.219,0.751,0.943,1.073,0.712,0.694,0.662,
+1.102,0.137,0.805,0.956,0.725,0.918,0.773,0.836,1.270,1.036,
+0.700,0.900,0.209,0.103,0.093,0.128,0.975,0.099,0.679,0.786,
+0.626,0.910,0.658,0.728,1.034,0.715,0.520,0.885,1.324,0.815,
+0.663,0.910,0.941,0.078,0.670,0.893,0.872,0.759,0.799,1.251,
+2.249,0.929,1.162,1.098,1.717,0.847,0.854,0.900,1.313,0.179,
+0.650,0.892,1.358,1.331,0.809,1.302,0.146,0.120,0.075,0.098,
+0.115,0.093,0.080,0.081,0.107,0.024,0.088,0.099,0.139,0.212,
+0.102,0.144,0.908,0.730,0.669,0.695,0.082,0.069,0.073,0.085,
+0.821,0.095,0.630,0.648,0.666,0.735,0.724,0.692,0.788,0.475,
+0.490,0.732,0.926,0.700,0.639,0.824,0.922,0.090,0.691,0.956,
+0.766,0.740,0.827,1.272,2.514,0.887,0.828,1.492,1.008,0.580,
+0.705,0.688,0.992,0.097,0.542,0.753,1.312,0.972,0.804,1.694,
+1.574,1.059,0.742,0.946,1.069,0.719,0.669,0.697,0.971,0.085,
+0.705,0.824,0.989,1.000,0.743,1.110,0.979,0.759,0.642,0.865,
+0.074,0.058,0.064,0.082,0.718,0.062,0.649,0.762,0.671,0.746,
+0.739,0.873,1.369,0.674,0.706,1.339,0.704,0.474,0.566,0.795,
+1.161,0.086,0.810,1.262,1.488,1.126,1.273,2.343,3.447,2.199,
+1.533,2.440,1.989,1.502,1.226,1.358,1.390,0.173,0.807,1.205,
+1.561,1.476,1.039,1.673,2.413,2.017,1.244,1.457,1.663,1.367,
+1.320,1.123,1.695,0.336,1.247,1.349,0.944,1.450,0.953,1.208,
+1.199,1.262,1.152,1.186,0.134,0.176,0.146,0.186,0.867,0.103,
+0.731,0.813,0.624,0.977,0.776,1.009,1.362,0.736,0.754,1.211,
+1.431,1.182,0.927,1.167,0.993,0.113,0.633,0.953,0.921,0.790,
+1.006,1.629,2.327,1.965,0.923,1.364,2.167,1.874,1.113,1.520,
+1.120,0.170,0.739,0.926,0.833,1.092,0.634,1.037,1.622,1.629,
+0.907,0.976,1.101,0.646,0.909,0.819,1.238,0.231,1.093,1.198,
+0.618,1.053,0.805,0.864,1.194,1.709,1.117,1.624,0.167,0.270,
+0.248,0.602,1.093,0.202,0.960,1.079,0.676,2.012,0.927,1.025,
+0.894,0.720,0.543,0.839,1.318,1.185,0.910,1.311,0.806,0.096,
+0.629,0.794,0.624,0.769,0.688,1.100,1.723,1.219,0.823,1.204,
+1.445,1.396,1.416,1.090,1.243,0.207,0.893,1.173,0.805,1.134,
+0.997,1.286,0.135,0.247,0.106,0.129,0.129,0.212,0.192,0.118,
+0.141,0.064,0.195,0.162,0.091,0.239,0.151,0.153,1.139,1.350,
+1.100,1.034,0.141,0.201,0.198,0.148,1.157,0.213,1.127,1.139,
+0.705,1.821,1.554,1.144,1.052,0.598,0.764,0.749,1.143,1.250,
+1.152,1.108,1.071,0.135,1.117,1.243,0.658,0.841,1.134,1.325,
+1.424,0.903,0.675,1.039,0.855,0.647,0.650,0.653,0.682,0.072,
+0.451,0.622,0.763,0.702,0.602,1.135,1.515,2.061,0.877,1.085,
+1.095,1.149,1.008,0.997,0.956,0.122,0.911,1.073,0.779,1.185,
+0.855,1.249,0.802,0.889,0.783,0.927,0.072,0.095,0.080,0.099,
+0.688,0.083,0.724,0.822,0.623,0.929,1.000,1.047,0.996,0.608,
+0.626,0.924,0.773,0.671,0.586,0.823,0.926,0.085,0.840,1.242,
+1.091,1.118,1.474,2.015,2.236,1.419,1.056,1.560,1.005,0.830,
+0.672,0.740,0.995,0.118,0.546,0.745,1.136,1.098,0.645,1.157,
+1.868,1.765,1.025,1.203,1.225,1.141,1.032,0.879,1.549,0.212,
+1.135,1.237,0.923,1.373,0.773,1.145,1.396,1.574,3.715,1.593,
+0.155,0.208,0.264,0.269,1.068,0.147,0.950,1.012,0.614,1.145,
+0.789,0.979,1.248,0.851,0.975,1.406,1.064,1.137,1.057,1.206,
+1.028,0.113,0.808,1.098,1.057,0.937,1.022,2.145,0.163,0.163,
+0.099,0.128,0.189,0.183,0.109,0.115,0.116,0.028,0.083,0.097,
+0.094,0.154,0.089,0.123,0.171,0.224,0.111,0.119,0.172,0.202,
+0.148,0.110,0.201,0.059,0.174,0.161,0.102,0.236,0.104,0.120,
+0.117,0.201,0.222,0.145,0.023,0.051,0.068,0.039,0.249,0.051,
+0.343,0.292,0.090,0.221,0.140,0.131,0.160,0.132,0.116,0.174,
+0.245,0.322,0.271,0.286,0.156,0.031,0.160,0.195,0.145,0.204,
+0.162,0.254,1.201,0.894,0.614,0.651,0.849,0.984,0.820,0.638,
+1.338,0.447,0.921,0.943,0.662,1.320,0.779,0.963,0.108,0.160,
+0.077,0.073,0.089,0.163,0.112,0.067,0.331,0.260,0.162,0.128,
+0.104,0.379,0.121,0.112,0.766,1.329,0.870,0.665,0.107,0.287,
+0.168,0.114,0.979,0.181,0.758,0.733,0.447,0.878,0.766,0.648,
+0.608,0.519,0.517,0.589,0.866,1.250,0.923,1.180,1.130,0.207,
+1.057,1.018,0.583,0.840,0.848,0.959,1.071,0.579,0.441,0.690,
+0.615,0.457,0.373,0.386,0.739,0.088,0.398,0.556,0.640,0.650,
+0.477,0.870,1.381,1.137,0.706,0.873,1.013,1.112,0.748,0.663,
+2.502,0.315,0.928,1.138,1.031,1.467,0.829,1.050,0.805,0.918,
+0.816,0.785,0.085,0.126,0.098,0.091,1.003,0.105,0.772,0.836,
+0.583,1.036,0.778,0.913,1.058,0.707,0.632,0.814,0.973,0.787,
+0.611,0.776,1.048,0.118,0.925,1.175,1.098,1.315,1.067,1.570,
+2.476,1.154,0.929,1.715,0.885,0.600,0.546,0.636,0.914,0.086,
+0.430,0.686,1.268,0.946,0.693,1.436,1.168,0.729,0.535,0.776,
+0.685,0.458,0.465,0.511,0.891,0.087,0.438,0.642,0.736,0.694,
+0.437,0.775,1.053,0.741,0.835,1.151,0.091,0.078,0.075,0.139,
+0.636,0.058,0.430,0.642,0.533,0.622,0.468,0.810,1.380,0.678,
+0.873,1.943,0.969,0.711,0.677,1.142,0.902,0.071,0.573,0.922,
+1.182,0.869,0.945,2.242,1.732,1.097,0.779,1.213,1.177,0.866,
+0.984,0.757,0.884,0.101,0.534,0.776,0.811,0.863,0.598,1.071,
+1.306,1.037,0.563,0.915,0.912,0.811,0.625,0.633,1.054,0.162,
+0.689,0.944,0.746,1.099,0.494,0.770,0.936,0.869,0.786,0.962,
+0.081,0.096,0.120,0.120,0.979,0.100,0.851,1.114,0.662,0.958,
+0.643,0.916,1.126,0.631,0.643,1.134,1.075,0.918,0.878,1.104,
+0.864,0.090,0.638,0.999,0.926,1.190,0.852,1.487,1.317,0.739,
+0.599,0.851,1.059,0.747,0.722,0.815,1.152,0.153,0.715,0.957,
+0.823,0.843,0.860,1.242,0.101,0.094,0.058,0.094,0.075,0.085,
+0.075,0.072,0.116,0.028,0.096,0.114,0.097,0.148,0.093,0.123,
+0.801,0.860,0.636,0.951,0.075,0.089,0.077,0.110,0.913,0.114,
+0.677,0.856,0.588,0.913,0.826,0.984,0.805,0.562,0.573,0.929,
+1.001,0.884,0.847,1.246,1.526,0.149,0.944,1.594,0.928,0.987,
+1.021,1.572,1.856,0.809,0.668,1.203,0.832,0.592,0.555,0.642,
+0.917,0.088,0.500,0.825,1.174,0.918,0.809,1.748,1.030,0.709,
+0.504,0.823,0.666,0.512,0.526,0.597,1.052,0.079,0.600,0.956,
+0.931,0.948,0.661,1.155,1.176,1.019,0.867,1.462,0.102,0.083,
+0.071,0.129,1.088,0.091,0.818,1.178,1.005,1.237,1.138,1.559,
+2.062,1.005,1.077,2.236,1.365,1.103,0.993,1.586,1.841,0.122,
+1.410,2.294,2.944,1.959,2.218,3.416,0.214,0.143,0.120,0.157,
+0.159,0.114,0.099,0.099,0.125,0.019,0.136,0.153,0.130,0.123,
+0.090,0.115,0.161,0.133,0.095,0.099,0.141,0.117,0.111,0.091,
+0.117,0.023,0.105,0.103,0.079,0.108,0.097,0.103,0.095,0.087,
+0.079,0.089,0.014,0.016,0.017,0.017,0.064,0.012,0.072,0.062,
+0.052,0.078,0.090,0.075,0.113,0.072,0.066,0.109,0.120,0.112,
+0.087,0.107,0.090,0.012,0.073,0.084,0.088,0.080,0.089,0.133,
+0.185,0.153,0.108,0.112,0.174,0.154,0.117,0.097,0.126,0.030,
+0.179,0.284,0.080,0.123,0.149,0.131,0.173,0.188,0.108,0.094,
+0.160,0.154,0.143,0.110,0.191,0.067,0.180,0.179,0.078,0.157,
+0.179,0.102,0.095,0.130,0.088,0.083,0.027,0.039,0.045,0.026,
+0.119,0.037,0.119,0.105,0.053,0.123,0.096,0.075,0.073,0.100,
+0.047,0.062,0.120,0.110,0.087,0.103,0.088,0.016,0.093,0.098,
+0.071,0.080,0.092,0.117,0.131,0.091,0.057,0.064,0.300,0.104,
+0.094,0.083,0.108,0.021,0.075,0.077,0.066,0.085,0.065,0.092,
+0.015,0.021,0.016,0.011,0.024,0.030,0.028,0.015,0.017,0.013,
+0.030,0.020,0.011,0.027,0.020,0.015,0.064,0.077,0.067,0.058,
+0.014,0.019,0.022,0.013,0.072,0.025,0.094,0.076,0.042,0.082,
+0.091,0.073,0.059,0.035,0.037,0.049,0.079,0.080,0.080,0.085,
+0.078,0.017,0.085,0.089,0.053,0.068,0.088,0.100,0.132,0.062,
+0.051,0.084,0.083,0.049,0.048,0.053,0.070,0.010,0.046,0.058,
+0.077,0.069,0.055,0.112,0.124,0.109,0.079,0.093,0.111,0.106,
+0.093,0.087,0.086,0.018,0.091,0.100,0.068,0.101,0.079,0.106,
+0.072,0.067,0.073,0.078,0.010,0.011,0.014,0.012,0.060,0.012,
+0.064,0.078,0.047,0.076,0.105,0.090,0.085,0.053,0.055,0.091,
+0.061,0.057,0.059,0.075,0.087,0.012,0.086,0.127,0.099,0.100,
+0.119,0.195,0.177,0.141,0.102,0.126,0.150,0.162,0.122,0.111,
+0.095,0.019,0.069,0.081,0.086,0.095,0.072,0.094,0.171,0.167,
+0.111,0.112,0.177,0.186,0.199,0.138,0.132,0.055,0.157,0.143,
+0.059,0.109,0.113,0.116,0.076,0.107,0.097,0.080,0.017,0.036,
+0.039,0.027,0.066,0.020,0.080,0.067,0.045,0.076,0.073,0.075,
+0.076,0.046,0.044,0.066,0.097,0.112,0.087,0.088,0.141,0.019,
+0.063,0.071,0.061,0.063,0.070,0.101,0.177,0.211,0.106,0.109,
+0.214,0.390,0.182,0.151,0.118,0.041,0.108,0.111,0.062,0.117,
+0.070,0.115,0.188,0.290,0.149,0.112,0.190,0.176,0.215,0.157,
+0.191,0.126,0.242,0.212,0.067,0.189,0.128,0.115,0.127,0.271,
+0.191,0.203,0.046,0.142,0.154,0.124,0.138,0.079,0.153,0.149,
+0.058,0.198,0.145,0.114,0.072,0.074,0.061,0.079,0.133,0.230,
+0.171,0.177,0.086,0.025,0.098,0.097,0.052,0.077,0.095,0.100,
+0.123,0.099,0.075,0.073,0.151,0.197,0.179,0.097,0.115,0.032,
+0.108,0.100,0.056,0.095,0.090,0.096,0.025,0.047,0.030,0.018,
+0.043,0.112,0.136,0.033,0.037,0.055,0.083,0.049,0.010,0.043,
+0.035,0.021,0.152,0.202,0.153,0.116,0.049,0.099,0.097,0.039,
+0.157,0.074,0.200,0.149,0.090,0.189,0.237,0.136,0.187,0.054,
+0.058,0.060,0.133,0.187,0.183,0.130,0.173,0.036,0.162,0.135,
+0.060,0.081,0.134,0.121,0.095,0.069,0.054,0.073,0.069,0.065,
+0.056,0.052,0.058,8.51e-3,0.048,0.050,0.054,0.055,0.048,0.083,
+0.161,0.187,0.098,0.091,0.125,0.184,0.158,0.111,0.100,0.031,
+0.125,0.122,0.058,0.120,0.088,0.100,0.062,0.091,0.084,0.074,
+0.010,0.022,0.021,0.015,0.069,0.019,0.094,0.083,0.050,0.085,
+0.112,0.085,0.068,0.046,0.048,0.063,0.061,0.070,0.065,0.071,
+0.079,0.011,0.084,0.103,0.072,0.090,0.120,0.159,0.124,0.107,
+0.076,0.099,0.080,0.081,0.069,0.069,0.079,0.013,0.053,0.056,
+0.065,0.071,0.051,0.070,0.131,0.164,0.096,0.086,0.149,0.164,
+0.162,0.112,0.154,0.054,0.174,0.148,0.062,0.133,0.079,0.087,
+0.080,0.135,0.183,0.101,0.017,0.036,0.061,0.033,0.172,0.035,
+0.173,0.138,0.042,0.102,0.081,0.078,0.061,0.051,0.053,0.078,
+0.080,0.091,0.140,0.120,0.088,0.018,0.084,0.096,0.064,0.076,
+0.081,0.129,0.013,0.021,0.015,0.011,0.024,0.041,0.033,0.022,
+0.017,0.011,0.021,0.016,8.15e-3,0.020,0.018,0.014,0.023,0.056,
+0.026,0.016,0.051,0.097,0.076,0.034,0.037,0.063,0.081,0.051,
+0.012,0.052,0.026,0.019,0.014,0.048,0.052,0.021,0.013,0.053,
+0.077,0.022,0.109,0.051,0.214,0.101,0.013,0.048,0.045,0.021,
+8.93e-3,0.012,0.011,0.010,0.025,0.045,0.055,0.039,0.023,0.012,
+0.041,0.032,0.012,0.019,0.021,0.021,0.091,0.105,0.069,0.057,
+0.090,0.172,0.145,0.084,0.123,0.045,0.159,0.177,0.053,0.119,
+0.106,0.154,0.016,0.047,0.021,0.012,0.028,0.081,0.068,0.025,
+0.042,0.056,0.118,0.050,0.012,0.044,0.035,0.023,0.085,0.377,
+0.162,0.087,0.035,0.285,0.105,0.037,0.149,0.096,0.209,0.140,
+0.044,0.163,0.141,0.092,0.054,0.068,0.055,0.096,0.116,0.382,
+0.192,0.373,0.190,0.085,0.209,0.171,0.059,0.131,0.128,0.122,
+0.079,0.064,0.045,0.071,0.055,0.053,0.043,0.040,0.065,0.012,
+0.050,0.064,0.050,0.064,0.047,0.081,0.114,0.151,0.087,0.087,
+0.142,0.192,0.141,0.101,0.174,0.050,0.166,0.171,0.077,0.161,
+0.119,0.110,0.070,0.132,0.117,0.084,0.015,0.043,0.036,0.018,
+0.119,0.039,0.143,0.136,0.054,0.158,0.114,0.126,0.068,0.057,
+0.052,0.070,0.147,0.097,0.078,0.099,0.108,0.023,0.130,0.129,
+0.084,0.129,0.118,0.151,0.167,0.103,0.078,0.129,0.115,0.071,
+0.075,0.115,0.103,0.011,0.048,0.084,0.100,0.084,0.075,0.125,
+0.110,0.095,0.057,0.076,0.082,0.065,0.065,0.072,0.083,0.012,
+0.060,0.079,0.064,0.069,0.057,0.083,0.080,0.074,0.072,0.093,
+9.02e-3,9.56e-3,0.011,0.017,0.069,8.25e-3,0.055,0.069,0.045,0.061,
+0.051,0.080,0.101,0.060,0.070,0.143,0.087,0.067,0.070,0.151,
+0.101,9.58e-3,0.059,0.126,0.111,0.083,0.093,0.233,0.189,0.153,
+0.157,0.138,0.163,0.148,0.501,0.132,0.129,0.023,0.102,0.129,
+0.100,0.133,0.111,0.134,0.187,0.194,0.108,0.128,0.189,0.202,
+0.178,0.147,0.167,0.043,0.175,0.203,0.105,0.219,0.110,0.131,
+0.107,0.160,0.153,0.131,0.016,0.033,0.052,0.034,0.221,0.032,
+0.229,0.240,0.081,0.163,0.119,0.130,0.115,0.082,0.084,0.130,
+0.149,0.153,0.188,0.253,0.129,0.020,0.128,0.176,0.130,0.156,
+0.133,0.201,0.103,0.075,0.057,0.070,0.098,0.106,0.109,0.088,
+0.110,0.023,0.094,0.115,0.065,0.088,0.094,0.122,0.011,0.014,
+9.07e-3,0.011,0.015,0.029,0.024,0.016,0.016,9.54e-3,0.025,0.024,
+0.011,0.022,0.019,0.016,0.071,0.123,0.091,0.087,0.013,0.034,
+0.027,0.021,0.118,0.034,0.122,0.123,0.057,0.131,0.128,0.119,
+0.083,0.058,0.061,0.086,0.107,0.133,0.121,0.172,0.350,0.035,
+0.163,0.315,0.097,0.110,0.140,0.181,0.138,0.084,0.064,0.102,
+0.080,0.066,0.062,0.070,0.081,0.011,0.055,0.082,0.085,0.080,
+0.074,0.145,0.105,0.087,0.058,0.083,0.086,0.085,0.083,0.082,
+0.095,0.012,0.080,0.110,0.077,0.097,0.076,0.122,0.096,0.105,
+0.090,0.121,0.013,0.014,0.013,0.016,0.103,0.017,0.103,0.131,
+0.079,0.131,0.131,0.152,0.138,0.082,0.087,0.165,0.125,0.109,
+0.109,0.157,0.165,0.017,0.165,0.227,0.206,0.182,0.224,0.291,
+1.915,1.270,1.113,1.737,1.272,0.966,0.864,1.050,1.094,0.116,
+0.766,0.920,1.384,1.182,0.869,1.233,1.278,0.951,0.690,1.033,
+1.025,0.715,0.939,0.830,0.855,0.109,0.668,0.684,0.686,0.800,
+0.621,0.758,0.865,0.804,0.695,1.094,0.082,0.076,0.079,0.139,
+0.635,0.066,0.567,0.618,0.471,0.600,0.586,0.696,0.916,0.466,
+0.428,0.870,0.690,0.540,0.471,0.667,0.665,0.054,0.446,0.577,
+0.718,0.409,0.608,1.093,1.682,1.195,0.750,1.110,1.330,1.063,
+0.864,0.860,0.905,0.128,0.609,0.715,0.718,0.878,0.519,0.765,
+1.485,1.488,0.736,0.884,1.199,0.777,0.977,0.762,1.497,0.333,
+1.049,1.342,0.707,1.180,0.593,0.711,1.046,1.126,0.878,0.913,
+0.127,0.141,0.143,0.148,1.161,0.177,1.035,1.509,0.843,1.054,
+0.880,0.839,0.700,0.517,0.386,0.569,0.893,0.823,0.656,0.835,
+0.693,0.074,0.555,0.826,0.635,0.565,0.630,1.083,1.237,0.668,
+0.526,0.810,1.225,0.946,0.961,0.888,1.126,0.157,0.911,0.816,
+0.775,0.932,0.725,1.005,0.129,0.139,0.095,0.118,0.165,0.158,
+0.177,0.138,0.150,0.042,0.393,0.165,0.128,0.289,0.153,0.174,
+0.793,0.837,1.273,1.110,0.107,0.111,0.435,0.277,1.029,0.199,
+0.950,0.828,0.496,0.914,1.002,0.792,0.573,0.426,0.456,0.535,
+0.923,0.811,1.637,1.147,0.721,0.095,0.729,0.801,0.635,0.612,
+0.794,1.019,1.130,0.475,0.400,0.743,0.566,0.404,0.421,0.457,
+0.579,0.065,0.372,0.488,0.751,0.679,0.535,0.896,0.949,0.767,
+0.539,0.764,0.817,0.666,0.651,0.625,0.703,0.086,0.982,0.795,
+0.681,0.950,0.640,0.926,0.750,0.742,0.757,0.820,0.077,0.073,
+0.105,0.111,0.859,0.092,0.724,0.806,0.599,0.904,1.330,1.020,
+0.834,0.503,0.495,0.866,0.597,0.507,0.698,0.790,0.934,0.094,
+0.726,1.041,1.149,0.994,1.160,2.076,0.124,0.112,0.077,0.110,
+0.106,0.100,0.101,0.102,0.072,0.015,0.050,0.058,0.074,0.083,
+0.060,0.079,0.133,0.139,0.130,0.294,0.162,0.156,0.328,0.203,
+0.123,0.045,0.121,0.107,0.096,0.121,0.090,0.094,0.060,0.087,
+0.066,0.075,0.014,0.024,0.023,0.020,0.063,0.019,0.085,0.082,
+0.042,0.075,0.077,0.075,0.060,0.041,0.037,0.060,0.076,0.074,
+0.062,0.068,0.055,9.81e-3,0.048,0.057,0.050,0.050,0.064,0.103,
+0.110,0.126,0.066,0.073,0.117,0.140,0.122,0.099,0.089,0.033,
+0.060,0.062,0.047,0.085,0.047,0.057,0.147,0.232,0.109,0.104,
+0.171,0.153,0.205,0.114,0.299,0.197,0.185,0.162,0.078,0.241,
+0.087,0.092,0.080,0.146,0.092,0.083,0.028,0.063,0.061,0.035,
+0.225,0.097,0.219,0.259,0.136,0.169,0.132,0.102,0.057,0.047,
+0.038,0.044,0.084,0.109,0.081,0.084,0.064,0.016,0.066,0.078,
+0.043,0.053,0.059,0.079,0.091,0.075,0.055,0.060,0.119,0.151,
+0.156,0.091,0.100,0.030,0.206,0.084,0.055,0.095,0.084,0.080,
+0.016,0.031,0.020,0.017,0.034,0.068,0.073,0.028,0.031,0.038,
+0.259,0.041,0.011,0.039,0.037,0.019,0.080,0.129,0.143,0.105,
+0.027,0.057,0.103,0.031,0.176,0.109,0.242,0.142,0.055,0.189,
+0.215,0.122,0.057,0.046,0.045,0.047,0.095,0.127,0.166,0.108,
+0.087,0.027,0.134,0.101,0.048,0.070,0.104,0.105,0.094,0.077,
+0.055,0.078,0.064,0.057,0.056,0.055,0.055,8.58e-3,0.048,0.050,
+0.063,0.072,0.072,0.101,0.128,0.149,0.093,0.121,0.145,0.166,
+0.146,0.124,0.109,0.029,0.277,0.126,0.081,0.161,0.125,0.135,
+0.069,0.088,0.100,0.084,0.011,0.021,0.026,0.016,0.091,0.026,
+0.114,0.108,0.072,0.126,0.394,0.132,0.068,0.053,0.048,0.069,
+0.060,0.068,0.072,0.075,0.077,0.012,0.085,0.109,0.086,0.095,
+0.141,0.180,1.305,1.411,0.777,1.269,0.919,0.830,0.625,0.946,
+0.806,0.090,0.536,0.644,0.545,0.514,0.388,0.599,1.342,1.161,
+0.679,0.776,1.550,1.070,1.536,0.914,1.657,0.194,1.432,1.676,
+0.622,0.929,0.614,0.766,0.755,1.005,0.691,0.771,0.122,0.165,
+0.154,0.193,0.885,0.146,1.044,1.177,0.445,0.918,0.676,0.826,
+0.592,0.417,0.305,0.525,0.654,0.635,0.527,0.670,0.776,0.090,
+0.662,1.022,0.583,0.570,0.667,1.210,0.100,0.121,0.058,0.094,
+0.148,0.172,0.118,0.291,0.082,0.024,0.100,0.093,0.047,0.071,
+0.048,0.068,0.121,0.141,0.076,0.071,0.311,0.198,0.196,0.136,
+0.161,0.067,0.490,0.264,0.055,0.115,0.076,0.070,0.084,0.149,
+0.094,0.080,0.026,0.059,0.060,0.033,0.166,0.066,0.253,0.284,
+0.056,0.142,0.116,0.107,0.079,0.061,0.035,0.061,0.113,0.143,
+0.103,0.124,0.090,0.021,0.105,0.206,0.058,0.068,0.074,0.123,
+1.273,0.711,0.585,0.462,0.879,0.995,0.981,0.734,0.824,0.166,
+0.998,0.762,0.423,0.633,0.817,0.726,0.099,0.146,0.110,0.068,
+0.112,0.182,0.164,0.078,0.137,0.060,0.270,0.146,0.060,0.151,
+0.187,0.094,0.763,0.759,0.738,0.557,0.116,0.129,0.183,0.101,
+0.557,0.128,0.289,0.274,0.259,0.441,0.539,0.482,0.409,0.324,
+0.336,0.289,0.556,0.649,0.690,0.521,0.613,0.108,0.905,0.711,
+0.358,0.472,0.725,0.772,0.736,0.429,0.342,0.483,0.496,0.386,
+0.309,0.345,0.438,0.056,0.391,0.425,0.343,0.357,0.354,0.488,
+0.858,0.814,0.545,0.540,0.838,0.974,0.752,0.538,0.803,0.124,
+0.970,0.866,0.487,0.834,0.880,0.619,0.646,0.764,0.636,0.643,
+0.079,0.128,0.105,0.095,0.810,0.124,1.121,0.945,0.450,0.859,
+0.860,0.785,0.523,0.378,0.324,0.454,0.562,0.573,0.477,0.508,
+0.699,0.080,0.956,0.947,0.637,0.723,0.875,1.029,1.195,0.689,
+0.473,0.912,0.625,0.457,0.388,0.551,0.577,0.060,0.331,0.478,
+0.611,0.540,0.402,0.738,0.880,0.588,0.339,0.483,0.650,0.397,
+0.511,0.467,0.553,0.049,0.350,0.494,0.347,0.378,0.288,0.452,
+0.621,0.560,0.348,0.518,0.060,0.058,0.048,0.084,0.494,0.056,
+0.397,0.602,0.378,0.508,0.410,0.603,0.719,0.407,0.291,0.549,
+0.508,0.407,0.315,0.512,0.479,0.042,0.308,0.552,0.538,0.441,
+0.481,0.976,1.229,0.919,0.569,0.881,1.013,0.910,0.810,1.000,
+0.648,0.081,0.582,0.697,0.534,0.613,0.388,0.684,1.170,1.066,
+0.615,0.731,1.346,0.988,1.587,1.192,0.921,0.155,1.228,1.157,
+0.463,0.755,0.477,0.624,0.754,0.967,0.597,0.647,0.083,0.127,
+0.104,0.124,0.867,0.138,0.923,1.510,0.487,0.949,0.740,0.899,
+1.143,0.685,0.367,0.597,0.843,0.845,0.638,0.849,0.664,0.091,
+0.597,1.213,0.557,0.613,0.577,1.015,1.166,0.926,0.520,0.659,
+0.898,0.987,1.021,0.906,0.888,0.130,0.708,0.805,0.586,0.762,
+0.724,0.951,0.090,0.102,0.065,0.071,0.100,0.148,0.183,0.112,
+0.094,0.029,0.135,0.119,0.069,0.212,0.105,0.100,0.829,1.050,
+0.707,0.742,0.101,0.128,0.130,0.121,1.970,0.425,0.999,1.169,
+0.640,1.461,1.056,0.965,0.595,0.500,0.438,0.528,0.843,0.831,
+0.914,0.928,0.898,0.123,0.966,1.257,0.605,0.713,0.950,1.200,
+0.969,0.512,0.387,0.630,0.518,0.410,0.376,0.406,0.546,0.059,
+0.361,0.483,0.594,0.462,0.436,0.785,0.874,0.685,0.442,0.567,
+0.663,0.653,0.662,0.566,0.584,0.063,0.573,0.718,0.521,0.649,
+0.573,0.703,0.789,0.828,0.636,0.813,0.071,0.081,0.072,0.096,
+1.010,0.121,0.993,1.251,0.670,0.998,1.019,1.093,0.931,0.559,
+0.512,0.924,0.791,0.721,0.705,0.887,0.948,0.082,0.992,1.383,
+1.112,0.924,1.207,1.620,2.003,1.033,0.915,1.787,0.959,0.600,
+0.524,0.705,0.854,0.078,0.416,0.673,1.238,0.971,0.597,1.140,
+1.035,0.612,0.464,0.623,0.642,0.383,0.418,0.436,0.633,0.054,
+0.388,0.452,0.588,0.649,0.380,0.588,0.714,0.550,0.510,0.734,
+0.067,0.051,0.050,0.088,0.441,0.037,0.303,0.397,0.402,0.466,
+0.410,0.618,0.998,0.489,0.552,0.930,0.740,0.481,0.434,0.637,
+0.612,0.046,0.397,0.570,0.857,0.534,0.618,1.548,1.337,0.760,
+0.526,0.841,0.769,0.491,0.368,0.463,0.542,0.052,0.295,0.434,
+0.549,0.483,0.311,0.603,0.831,0.550,0.377,0.523,0.512,0.304,
+0.293,0.316,0.623,0.072,0.334,0.446,0.450,0.467,0.287,0.437,
+0.560,0.439,0.332,0.440,0.043,0.039,0.030,0.044,0.480,0.036,
+0.262,0.382,0.430,0.434,0.338,0.441,0.497,0.310,0.244,0.416,
+0.448,0.364,0.246,0.375,0.397,0.028,0.266,0.418,0.448,0.340,
+0.378,0.784,1.204,0.533,0.387,0.639,0.810,0.544,0.424,0.572,
+0.665,0.071,0.280,0.449,0.682,0.557,0.405,0.785,0.081,0.056,
+0.037,0.061,0.064,0.049,0.042,0.054,0.061,9.09e-3,0.048,0.054,
+0.085,0.103,0.054,0.093,0.583,0.436,0.454,0.567,0.047,0.039,
+0.050,0.063,0.523,0.056,0.309,0.414,0.417,0.518,0.475,0.561,
+0.606,0.312,0.331,0.532,0.582,0.436,0.443,0.589,0.562,0.068,
+0.365,0.582,0.546,0.489,0.545,0.945,1.370,0.500,0.408,0.880,
+0.567,0.343,0.341,0.491,0.611,0.054,0.309,0.499,0.988,0.605,
+0.461,1.012,0.887,0.540,0.376,0.594,0.551,0.369,0.333,0.428,
+0.548,0.043,0.371,0.497,0.671,0.651,0.416,0.770,0.623,0.465,
+0.441,0.624,0.044,0.036,0.052,0.057,0.468,0.034,0.337,0.457,
+0.541,0.513,0.580,0.697,0.908,0.467,0.458,0.993,0.550,0.396,
+0.422,0.679,0.813,0.061,0.494,0.887,1.050,0.812,0.961,1.972,
+1.892,1.137,0.890,1.510,1.126,0.844,0.781,0.896,0.809,0.091,
+0.462,0.731,1.009,0.908,0.635,1.135,1.377,0.913,0.807,1.033,
+0.994,0.727,1.448,1.048,0.917,0.123,0.736,0.806,0.649,0.767,
+0.600,0.815,0.762,0.667,0.555,0.729,0.070,0.077,0.074,0.097,
+0.561,0.067,0.463,0.634,0.419,0.616,0.590,0.824,0.831,0.442,
+0.462,0.713,0.825,0.632,0.500,0.673,0.528,0.052,0.368,0.578,
+0.644,0.557,0.636,1.256,1.469,1.073,0.669,0.971,1.090,0.923,
+0.673,0.781,0.773,0.118,0.425,0.581,0.614,0.711,0.434,0.759,
+1.257,1.138,0.861,1.279,1.053,0.685,0.741,0.674,1.774,0.466,
+0.754,0.934,0.661,1.336,0.547,0.713,0.748,0.783,0.555,0.684,
+0.099,0.101,0.072,0.084,0.923,0.135,0.617,0.871,0.657,0.879,
+0.651,0.886,0.564,0.392,0.327,0.485,0.694,0.654,0.422,0.563,
+0.517,0.055,0.391,0.612,0.462,0.472,0.506,0.858,1.039,0.628,
+0.493,0.640,0.969,0.829,0.831,0.758,0.836,0.121,0.635,0.763,
+0.630,0.678,0.556,0.899,0.069,0.084,0.052,0.073,0.088,0.116,
+0.104,0.085,0.083,0.029,0.207,0.095,0.067,0.136,0.087,0.096,
+0.690,0.743,0.713,0.755,0.077,0.101,0.108,0.101,0.837,0.176,
+0.676,0.852,0.521,1.006,1.030,1.037,0.589,0.394,0.406,0.633,
+0.820,0.806,0.816,0.893,0.720,0.084,0.679,0.917,0.575,0.606,
+0.868,1.283,1.095,0.618,0.494,0.895,0.603,0.443,0.440,0.569,
+0.622,0.058,0.398,0.559,0.682,0.577,0.551,1.069,1.070,0.906,
+0.591,0.825,0.787,0.765,0.713,0.754,0.740,0.095,0.840,0.890,
+0.689,1.005,0.765,1.032,0.632,0.625,0.843,0.781,0.054,0.069,
+0.165,0.084,0.586,0.067,0.597,0.769,0.527,0.744,1.442,1.119,
+0.743,0.476,0.486,0.744,0.640,0.611,0.659,0.750,0.704,0.059,
+0.622,1.010,0.844,0.778,1.059,1.756,2.347,0.979,0.840,1.121,
+0.826,0.662,0.815,0.977,0.775,0.071,0.429,0.572,0.831,0.601,
+0.420,0.754,1.216,0.926,0.495,0.701,1.125,0.703,0.668,0.804,
+0.974,0.102,0.839,0.883,0.631,0.786,0.543,0.881,0.714,0.886,
+0.637,0.750,0.090,0.114,0.114,0.131,0.725,0.118,0.517,0.700,
+0.520,1.309,0.679,0.831,0.688,0.494,0.366,0.645,0.770,0.640,
+0.498,0.682,0.704,0.075,0.509,0.895,0.745,0.729,0.779,1.483,
+0.103,0.077,0.139,0.090,0.093,0.087,0.065,0.093,0.056,9.71e-3,
+0.064,0.057,0.052,0.062,0.047,0.071,0.093,0.092,0.046,0.057,
+0.254,0.118,0.084,0.087,0.100,0.029,0.136,0.118,0.054,0.098,
+0.063,0.073,0.047,0.076,0.048,0.051,0.014,0.019,0.017,0.012,
+0.088,0.022,0.086,0.102,0.047,0.120,0.097,0.078,0.062,0.047,
+0.032,0.057,0.174,0.099,0.065,0.087,0.069,0.012,0.060,0.099,
+0.062,0.067,0.067,0.112,1.120,0.670,0.496,0.515,0.840,0.810,
+0.893,0.630,0.695,0.125,0.645,0.640,0.536,0.647,0.862,0.797,
+0.077,0.088,0.047,0.048,0.090,0.095,0.072,0.054,0.076,0.027,
+0.122,0.077,0.067,0.121,0.233,0.090,0.818,0.886,0.732,0.685,
+0.105,0.139,0.112,0.092,0.880,0.150,0.491,0.681,0.462,0.859,
+0.851,0.769,0.583,0.456,0.381,0.465,0.807,0.873,0.717,0.680,
+0.769,0.113,0.875,0.938,0.542,0.665,0.828,1.041,0.958,0.533,
+0.378,0.607,0.555,0.440,0.365,0.415,0.645,0.064,0.450,0.651,
+0.553,0.509,0.448,0.772,1.007,0.846,0.524,0.676,0.806,0.816,
+0.582,0.538,0.817,0.098,0.902,0.939,0.691,1.019,1.031,0.926,
+0.747,0.779,0.605,0.716,0.062,0.087,0.074,0.077,0.846,0.095,
+0.801,0.969,0.647,1.135,1.358,1.108,0.785,0.491,0.445,0.625,
+0.622,0.615,0.529,0.640,0.909,0.080,0.934,1.212,0.896,0.891,
+1.105,1.511,1.857,0.880,0.579,1.118,0.678,0.447,0.382,0.567,
+0.669,0.063,0.357,0.550,0.843,0.601,0.459,0.994,0.889,0.533,
+0.294,0.486,0.566,0.344,0.294,0.405,0.543,0.044,0.325,0.471,
+0.423,0.398,0.312,0.538,0.698,0.603,0.373,0.703,0.067,0.061,
+0.042,0.094,0.474,0.047,0.297,0.503,0.456,0.566,0.400,0.655,
+0.852,0.438,0.383,0.824,0.569,0.381,0.327,0.580,0.552,0.042,
+0.349,0.662,0.764,0.556,0.663,1.594,1.125,0.677,0.651,0.772,
+0.684,0.556,0.500,0.560,0.500,0.048,0.356,0.505,0.528,0.479,
+0.366,0.727,0.868,0.620,0.373,0.518,0.877,0.521,0.458,0.507,
+0.630,0.067,0.510,0.666,0.429,0.534,0.355,0.588,0.541,0.542,
+0.332,0.521,0.043,0.048,0.033,0.053,0.541,0.055,0.433,0.686,
+0.454,0.651,0.513,0.772,0.597,0.398,0.316,0.570,0.609,0.454,
+0.371,0.560,0.535,0.048,0.393,0.716,0.558,0.509,0.551,1.066,
+1.193,0.698,0.511,0.712,0.860,0.681,0.592,0.764,0.853,0.098,
+0.488,0.738,0.739,0.712,0.665,1.132,0.076,0.069,0.040,0.059,
+0.069,0.074,0.056,0.062,0.062,0.011,0.052,0.071,0.072,0.099,
+0.072,0.100,0.846,0.886,0.594,0.785,0.065,0.077,0.063,0.089,
+1.018,0.131,0.690,0.966,0.671,1.034,0.958,1.237,0.793,0.609,
+0.474,0.724,0.852,0.751,0.750,0.937,0.983,0.086,0.801,1.290,
+0.773,0.761,0.909,1.523,1.773,0.728,0.525,1.027,0.695,0.484,
+0.408,0.556,0.791,0.068,0.431,0.704,1.105,0.739,0.720,1.560,
+1.133,0.773,0.481,0.730,0.853,0.838,0.518,0.606,0.824,0.062,
+0.580,0.889,0.839,0.823,0.673,1.112,1.027,0.895,0.701,1.051,
+0.067,0.066,0.057,0.089,1.006,0.082,0.814,1.264,0.956,1.156,
+1.182,1.775,1.656,0.768,0.697,1.493,0.997,0.784,0.718,1.146,
+1.305,0.080,1.072,1.890,1.789,1.163,1.461,2.577,4.016,1.999,
+1.610,3.868,1.733,1.015,0.902,1.366,1.947,0.157,0.847,1.449,
+3.506,2.162,1.210,2.683,1.930,0.900,0.785,1.095,1.016,0.561,
+0.492,0.594,1.004,0.063,0.471,0.693,1.053,0.783,0.573,1.022,
+1.485,0.816,0.716,1.358,0.100,0.067,0.056,0.146,0.736,0.050,
+0.359,0.583,0.855,0.723,0.566,0.980,2.977,0.968,1.018,2.493,
+1.599,0.926,0.833,1.598,1.086,0.072,0.543,0.972,1.875,0.976,
+1.003,2.199,1.890,0.801,0.572,1.036,0.839,0.499,0.401,0.552,
+0.740,0.062,0.370,0.543,0.768,0.620,0.373,0.759,1.042,0.535,
+0.358,0.528,0.510,0.287,0.258,0.311,0.532,0.035,0.286,0.407,
+0.454,0.363,0.302,0.450,0.804,0.518,0.397,0.636,0.054,0.033,
+0.030,0.054,0.591,0.036,0.287,0.409,0.414,0.401,0.305,0.488,
+0.907,0.466,0.394,0.753,0.772,0.462,0.379,0.610,0.574,0.035,
+0.299,0.488,0.626,0.461,0.482,0.930,1.458,0.607,0.508,0.895,
+0.821,0.433,0.434,0.573,0.777,0.094,0.336,0.554,0.879,0.648,
+0.519,1.109,0.089,0.060,0.039,0.068,0.055,0.043,0.034,0.046,
+0.055,7.07e-3,0.032,0.052,0.090,0.088,0.053,0.104,0.651,0.402,
+0.369,0.508,0.043,0.027,0.025,0.045,0.423,0.035,0.235,0.327,
+0.397,0.369,0.362,0.483,0.650,0.358,0.351,0.600,0.632,0.428,
+0.365,0.539,0.623,0.047,0.338,0.571,0.617,0.508,0.549,1.042,
+2.217,0.747,0.717,1.861,0.839,0.419,0.500,0.666,1.000,0.078,
+0.459,0.694,1.527,0.821,0.720,1.679,1.166,0.667,0.498,0.819,
+0.654,0.422,0.401,0.500,0.645,0.042,0.391,0.626,0.851,0.646,
+0.499,0.931,0.784,0.518,0.494,0.765,0.051,0.035,0.040,0.063,
+0.600,0.036,0.500,0.555,0.587,0.533,0.538,0.775,1.423,0.632,
+0.649,1.416,0.746,0.493,0.458,0.772,0.995,0.056,0.572,1.011,
+1.621,1.064,1.114,2.664,2.045,0.986,0.725,1.443,0.953,0.554,
+0.434,0.622,0.688,0.057,0.291,0.566,0.945,0.718,0.480,0.975,
+1.062,0.604,0.488,0.693,0.560,0.345,0.337,0.382,0.487,0.045,
+0.270,0.406,0.421,0.410,0.298,0.521,0.610,0.452,0.367,0.568,
+0.049,0.042,0.031,0.059,0.394,0.032,0.191,0.298,0.346,0.388,
+0.280,0.486,0.784,0.449,0.409,0.760,0.642,0.412,0.352,0.522,
+0.441,0.036,0.219,0.385,0.587,0.408,0.449,0.956,1.094,0.650,
+0.335,0.686,0.578,0.426,0.269,0.378,0.400,0.035,0.195,0.340,
+0.424,0.388,0.221,0.525,0.604,0.448,0.221,0.333,0.351,0.180,
+0.196,0.236,0.319,0.029,0.206,0.294,0.264,0.269,0.192,0.317,
+0.611,0.422,0.276,0.447,0.050,0.035,0.023,0.054,0.339,0.032,
+0.170,0.275,0.278,0.369,0.218,0.362,0.490,0.314,0.241,0.467,
+0.444,0.318,0.231,0.347,0.346,0.024,0.173,0.299,0.347,0.345,
+0.257,0.573,0.836,0.518,0.323,0.573,0.540,0.345,0.353,0.410,
+0.490,0.050,0.256,0.401,0.467,0.407,0.336,0.650,0.048,0.061,
+0.024,0.044,0.030,0.035,0.028,0.034,0.032,5.37e-3,0.029,0.036,
+0.037,0.046,0.029,0.050,0.519,0.426,0.301,0.402,0.035,0.042,
+0.022,0.032,0.307,0.028,0.190,0.278,0.275,0.329,0.287,0.378,
+0.457,0.318,0.265,0.439,0.419,0.447,0.286,0.408,0.403,0.029,
+0.262,0.420,0.370,0.314,0.358,0.654,0.818,0.437,0.344,0.609,
+0.744,0.291,0.292,0.344,0.397,0.030,0.217,0.315,0.535,0.339,
+0.306,0.680,0.593,0.553,0.277,0.439,0.365,0.297,0.252,0.349,
+0.304,0.025,0.250,0.375,0.344,0.337,0.269,0.494,0.434,0.322,
+0.332,0.456,0.028,0.023,0.019,0.033,0.308,0.025,0.271,0.307,
+0.315,0.320,0.327,0.463,0.590,0.282,0.325,0.570,0.382,0.289,
+0.248,0.410,0.486,0.033,0.303,0.543,0.670,0.585,0.579,1.189,
+1.795,0.821,0.567,1.115,0.578,0.404,0.317,0.474,0.575,0.053,
+0.290,0.484,0.778,0.643,0.375,0.841,0.977,0.614,0.403,0.679,
+0.515,0.339,0.795,0.578,0.545,0.046,0.323,0.450,0.573,0.525,
+0.351,0.629,0.714,0.568,0.647,0.791,0.059,0.053,0.049,0.102,
+0.427,0.037,0.216,0.307,0.365,0.483,0.281,0.497,0.929,0.490,
+0.566,1.205,0.604,0.441,0.418,0.749,0.529,0.043,0.291,0.530,
+0.760,0.550,0.555,1.487,0.096,0.064,0.035,0.068,0.053,0.046,
+0.026,0.040,0.045,6.39e-3,0.023,0.037,0.055,0.058,0.031,0.064,
+0.075,0.055,0.026,0.044,0.047,0.038,0.033,0.034,0.047,6.16e-3,
+0.031,0.040,0.053,0.051,0.029,0.052,0.053,0.049,0.037,0.056,
+4.78e-3,5.88e-3,4.72e-3,6.43e-3,0.043,5.22e-3,0.031,0.036,0.038,0.049,
+0.028,0.049,0.101,0.060,0.051,0.120,0.087,0.077,0.058,0.108,
+0.055,5.85e-3,0.034,0.063,0.079,0.071,0.057,0.131,0.785,0.395,
+0.272,0.424,0.406,0.316,0.270,0.315,0.531,0.065,0.294,0.411,
+0.458,0.420,0.336,0.574,0.050,0.041,0.021,0.033,0.029,0.033,
+0.024,0.024,0.042,9.12e-3,0.028,0.032,0.049,0.055,0.032,0.047,
+0.469,0.441,0.284,0.356,0.039,0.042,0.028,0.035,0.341,0.036,
+0.171,0.243,0.254,0.308,0.247,0.326,0.453,0.345,0.282,0.407,
+0.421,0.420,0.285,0.446,0.514,0.049,0.319,0.434,0.392,0.372,
+0.377,0.622,0.802,0.352,0.255,0.512,0.391,0.238,0.201,0.264,
+0.422,0.041,0.212,0.383,0.580,0.467,0.285,0.687,0.698,0.451,
+0.275,0.455,0.425,0.347,0.251,0.285,0.455,0.037,0.274,0.411,
+0.547,0.495,0.316,0.559,0.507,0.426,0.298,0.461,0.036,0.046,
+0.023,0.038,0.379,0.031,0.235,0.367,0.362,0.444,0.336,0.533,
+0.721,0.397,0.374,0.612,0.461,0.376,0.289,0.444,0.588,0.045,
+0.407,0.639,0.773,0.640,0.618,1.230,2.197,0.957,0.759,1.681,
+0.699,0.434,0.361,0.509,0.718,0.054,0.319,0.565,1.344,0.731,
+0.616,1.389,0.881,0.419,0.335,0.623,0.434,0.231,0.303,0.353,
+0.531,0.032,0.248,0.411,0.560,0.366,0.341,0.635,0.860,0.516,
+0.656,1.029,0.058,0.040,0.038,0.096,0.465,0.032,0.276,0.434,
+0.492,0.419,0.332,0.706,1.625,0.642,0.939,2.953,0.790,0.452,
+0.526,1.053,0.698,0.044,0.425,0.754,1.204,0.666,0.794,2.152,
+1.201,0.615,0.425,0.815,0.567,0.379,0.267,0.398,0.554,0.039,
+0.256,0.437,0.588,0.458,0.313,0.701,0.788,0.430,0.234,0.407,
+0.404,0.265,0.201,0.269,0.416,0.033,0.246,0.380,0.471,0.358,
+0.232,0.436,0.598,0.409,0.333,0.620,0.033,0.029,0.022,0.048,
+0.441,0.030,0.226,0.387,0.436,0.402,0.267,0.525,0.865,0.425,
+0.429,1.021,0.608,0.425,0.401,0.783,0.520,0.034,0.292,0.552,
+0.702,0.582,0.489,1.072,0.889,0.411,0.335,0.596,0.535,0.322,
+0.303,0.458,0.574,0.053,0.299,0.494,0.556,0.423,0.422,0.807,
+0.049,0.037,0.022,0.045,0.029,0.027,0.021,0.029,0.039,4.02e-3,
+0.026,0.041,0.049,0.049,0.031,0.058,0.503,0.423,0.286,0.496,
+0.030,0.025,0.019,0.041,0.404,0.033,0.231,0.392,0.378,0.408,
+0.321,0.526,0.569,0.359,0.350,0.654,0.544,0.405,0.357,0.604,
+0.660,0.046,0.384,0.647,0.595,0.482,0.532,0.979,1.452,0.605,
+0.532,1.111,0.640,0.366,0.351,0.567,0.697,0.056,0.338,0.633,
+1.074,0.659,0.574,1.655,0.775,0.466,0.318,0.597,0.442,0.297,
+0.284,0.371,0.492,0.031,0.303,0.535,0.619,0.544,0.375,0.818,
+0.833,0.634,0.518,0.911,0.049,0.042,0.029,0.066,0.623,0.038,
+0.371,0.653,0.725,0.698,0.574,0.973,1.581,0.728,0.768,1.849,
+0.956,0.721,0.642,1.115,1.227,0.064,0.793,1.502,2.246,1.396,
+1.478,2.965,1.902,1.096,0.941,1.591,1.109,0.648,0.562,0.722,
+0.907,0.093,0.687,0.806,1.330,1.021,0.670,1.171,1.150,0.685,
+0.522,0.696,0.772,0.456,0.409,0.450,0.604,0.055,0.457,0.504,
+0.519,0.505,0.461,0.626,0.731,0.541,0.425,0.649,0.066,0.046,
+0.043,0.081,0.414,0.041,0.318,0.386,0.400,0.448,0.415,0.581,
+1.089,0.587,0.432,0.897,0.950,0.538,0.425,0.716,0.584,0.047,
+0.356,0.561,0.785,0.542,0.587,1.161,1.330,0.783,0.580,0.790,
+0.780,0.517,0.373,0.470,0.615,0.077,0.586,0.678,0.564,0.594,
+0.426,0.695,0.869,0.573,0.411,0.518,0.526,0.364,0.340,0.370,
+0.626,0.065,0.559,0.572,0.378,0.434,0.532,0.486,0.623,0.501,
+0.354,0.441,0.069,0.045,0.042,0.051,0.816,0.076,0.458,0.445,
+0.339,0.478,0.412,0.438,0.507,0.381,0.245,0.396,0.590,0.383,
+0.282,0.430,0.455,0.035,0.326,0.420,0.444,0.407,0.433,0.718,
+0.939,0.442,0.332,0.498,0.939,0.398,0.374,0.437,0.546,0.065,
+0.310,0.390,0.483,0.440,0.359,0.700,0.062,0.049,0.031,0.046,
+0.056,0.048,0.037,0.045,0.042,8.10e-3,0.036,0.046,0.045,0.066,
+0.049,0.067,0.429,0.320,0.288,0.327,0.040,0.031,0.031,0.044,
+0.347,0.039,0.236,0.301,0.262,0.347,0.387,0.472,0.393,0.234,
+0.240,0.377,0.447,0.354,0.318,0.452,0.452,0.043,0.313,0.441,
+0.400,0.401,0.483,0.751,1.004,0.400,0.320,0.613,0.478,0.261,
+0.243,0.318,0.513,0.054,0.276,0.354,0.594,0.444,0.310,0.740,
+0.782,0.478,0.342,0.531,0.491,0.388,0.316,0.425,0.392,0.040,
+0.304,0.457,0.400,0.452,0.349,0.579,0.411,0.317,0.320,0.457,
+0.035,0.026,0.041,0.055,0.320,0.035,0.223,0.321,0.300,0.360,
+0.365,0.505,0.609,0.335,0.332,0.630,0.401,0.335,0.309,0.453,
+0.534,0.040,0.376,0.593,0.697,0.597,0.672,1.281,1.390,0.821,
+0.593,0.961,0.829,0.603,0.458,0.560,0.529,0.053,0.292,0.427,
+0.707,0.557,0.411,0.675,0.955,0.631,0.406,0.517,0.659,0.505,
+0.431,0.447,0.435,0.055,0.339,0.430,0.330,0.433,0.319,0.445,
+0.509,0.393,0.310,0.399,0.058,0.046,0.037,0.055,0.282,0.031,
+0.193,0.241,0.250,0.296,0.260,0.437,0.578,0.281,0.242,0.488,
+0.555,0.467,0.292,0.402,0.438,0.044,0.214,0.312,0.470,0.333,
+0.357,0.718,0.974,0.705,0.352,0.615,0.690,0.769,0.352,0.434,
+0.409,0.050,0.262,0.404,0.359,0.433,0.251,0.614,0.749,0.647,
+0.357,0.413,0.525,0.290,0.337,0.370,0.406,0.065,0.352,0.415,
+0.260,0.416,0.277,0.362,1.183,0.515,0.309,0.405,0.234,0.077,
+0.049,0.062,0.393,0.053,0.252,0.347,0.260,0.431,0.320,0.394,
+0.451,0.283,0.233,0.335,0.762,0.480,0.266,0.361,0.329,0.031,
+0.224,0.319,0.291,0.338,0.290,0.519,0.747,0.386,0.309,0.407,
+0.566,0.470,0.382,0.357,0.466,0.070,0.270,0.318,0.365,0.396,
+0.316,0.520,0.097,0.060,0.048,0.049,0.049,0.080,0.056,0.042,
+0.049,0.018,0.047,0.044,0.030,0.069,0.036,0.045,0.563,0.447,
+0.330,0.367,0.055,0.057,0.046,0.049,0.350,0.047,0.257,0.308,
+0.249,0.384,0.414,0.405,0.455,0.237,0.240,0.351,0.467,0.484,
+0.386,0.464,0.476,0.043,0.314,0.423,0.367,0.330,0.475,0.636,
+0.583,0.303,0.241,0.382,0.376,0.242,0.199,0.242,0.323,0.029,
+0.208,0.242,0.353,0.268,0.226,0.450,0.747,0.432,0.321,0.393,
+0.424,0.449,0.340,0.416,0.335,0.052,0.270,0.371,0.269,0.380,
+0.267,0.405,0.340,0.307,0.251,0.309,0.026,0.026,0.021,0.030,
+0.243,0.025,0.217,0.257,0.224,0.300,0.320,0.379,0.408,0.223,
+0.265,0.371,0.320,0.279,0.249,0.323,0.362,0.027,0.264,0.433,
+0.442,0.433,0.479,0.837,0.853,0.577,0.375,0.683,0.422,0.320,
+0.249,0.326,0.368,0.038,0.218,0.296,0.419,0.394,0.268,0.462,
+0.641,0.498,0.288,0.434,0.436,0.379,0.321,0.341,0.439,0.055,
+0.358,0.395,0.315,0.471,0.267,0.408,0.376,0.456,0.382,0.480,
+0.041,0.050,0.052,0.086,0.368,0.039,0.253,0.297,0.201,0.328,
+0.303,0.346,0.424,0.274,0.245,0.535,0.375,0.306,0.313,0.516,
+0.362,0.037,0.249,0.376,0.424,0.353,0.378,0.867,0.040,0.038,
+0.019,0.032,0.041,0.041,0.025,0.029,0.030,5.97e-3,0.020,0.027,
+0.029,0.038,0.023,0.038,0.045,0.045,0.021,0.027,0.051,0.061,
+0.037,0.034,0.040,0.013,0.042,0.042,0.028,0.048,0.027,0.037,
+0.032,0.039,0.031,0.032,7.50e-3,0.012,0.014,9.95e-3,0.076,0.012,
+0.074,0.058,0.023,0.043,0.032,0.036,0.037,0.027,0.021,0.046,
+0.054,0.055,0.050,0.085,0.041,6.59e-3,0.035,0.046,0.035,0.036,
+0.037,0.067,0.526,0.377,0.257,0.322,0.378,0.437,0.316,0.321,
+0.411,0.063,0.296,0.428,0.288,0.356,0.293,0.495,0.037,0.045,
+0.022,0.028,0.031,0.055,0.037,0.032,0.041,0.011,0.041,0.043,
+0.030,0.055,0.036,0.043,0.349,0.592,0.287,0.341,0.039,0.131,
+0.046,0.054,0.339,0.056,0.213,0.278,0.199,0.370,0.313,0.351,
+0.304,0.257,0.220,0.380,0.385,0.604,0.349,0.773,0.699,0.098,
+0.372,0.473,0.340,0.413,0.423,0.631,0.519,0.327,0.205,0.386,
+0.288,0.240,0.155,0.198,0.305,0.033,0.177,0.289,0.349,0.333,
+0.229,0.471,0.548,0.454,0.254,0.379,0.432,0.500,0.289,0.319,
+0.382,0.049,0.326,0.490,0.338,0.508,0.312,0.488,0.386,0.394,
+0.279,0.379,0.029,0.040,0.026,0.038,0.333,0.039,0.263,0.388,
+0.271,0.445,0.327,0.447,0.406,0.267,0.231,0.462,0.334,0.308,
+0.234,0.389,0.470,0.044,0.391,0.563,0.529,0.551,0.548,0.908,
+0.995,0.471,0.374,0.768,0.466,0.260,0.219,0.387,0.410,0.033,
+0.197,0.355,0.550,0.374,0.373,0.633,0.495,0.293,0.197,0.340,
+0.292,0.185,0.162,0.241,0.285,0.022,0.184,0.274,0.279,0.224,
+0.223,0.345,0.411,0.331,0.271,0.454,0.029,0.024,0.021,0.053,
+0.275,0.023,0.226,0.272,0.239,0.244,0.214,0.395,0.543,0.276,
+0.313,0.762,0.398,0.234,0.243,0.590,0.397,0.027,0.255,0.439,
+0.613,0.351,0.398,1.028,0.782,0.489,0.301,0.535,0.481,0.393,
+0.359,0.372,0.395,0.041,0.244,0.391,0.433,0.430,0.253,0.509,
+0.589,0.363,0.212,0.328,0.433,0.329,0.234,0.310,0.375,0.045,
+0.289,0.398,0.362,0.348,0.247,0.404,0.394,0.350,0.277,0.419,
+0.035,0.034,0.034,0.061,0.441,0.039,0.276,0.407,0.296,0.371,
+0.260,0.433,0.446,0.265,0.265,0.612,0.473,0.377,0.379,1.346,
+0.397,0.034,0.309,0.514,0.434,0.402,0.405,0.786,0.536,0.267,
+0.228,0.360,0.375,0.286,0.239,0.325,0.374,0.045,0.260,0.377,
+0.335,0.311,0.292,0.571,0.034,0.025,0.016,0.027,0.023,0.032,
+0.023,0.025,0.023,3.89e-3,0.031,0.031,0.026,0.036,0.025,0.041,
+0.305,0.316,0.220,0.354,0.022,0.029,0.020,0.039,0.296,0.033,
+0.242,0.299,0.229,0.309,0.322,0.460,0.327,0.216,0.218,0.391,
+0.341,0.307,0.284,0.532,0.688,0.044,0.363,0.586,0.419,0.337,
+0.474,0.777,0.717,0.352,0.279,0.529,0.348,0.237,0.194,0.273,
+0.380,0.038,0.198,0.339,0.440,0.336,0.268,0.657,0.577,0.323,
+0.218,0.365,0.319,0.273,0.254,0.282,0.277,0.024,0.249,0.353,
+0.313,0.318,0.233,0.546,0.430,0.359,0.312,0.550,0.032,0.025,
+0.021,0.046,0.343,0.028,0.266,0.402,0.359,0.401,0.428,0.594,
+0.655,0.341,0.368,0.807,0.443,0.382,0.388,0.701,0.595,0.042,
+0.480,0.785,0.899,0.755,0.811,1.300,1.457,0.657,0.541,0.982,
+0.671,0.418,0.326,0.451,0.510,0.056,0.247,0.465,0.727,0.613,
+0.350,0.672,0.597,0.368,0.255,0.375,0.421,0.266,0.218,0.302,
+0.460,0.103,0.207,0.252,0.330,0.544,0.224,0.366,0.510,0.327,
+0.238,0.515,0.035,0.024,0.020,0.051,0.257,0.021,0.150,0.240,
+0.230,0.268,0.224,0.349,0.715,0.306,0.232,0.545,0.427,0.260,
+0.215,0.373,0.331,0.023,0.170,0.283,0.445,0.242,0.307,0.633,
+0.902,0.479,0.282,0.568,0.570,0.357,0.298,0.351,0.332,0.036,
+0.177,0.281,0.359,0.350,0.209,0.407,0.596,0.497,0.202,0.302,
+0.387,0.216,0.211,0.249,0.336,0.044,0.232,0.299,0.262,0.414,
+0.170,0.281,0.450,0.358,0.227,0.364,0.039,0.031,0.025,0.041,
+0.319,0.031,0.205,0.342,0.232,0.306,0.248,0.328,0.434,0.242,
+0.157,0.317,0.410,0.310,0.226,0.356,0.297,0.022,0.172,0.313,
+0.330,0.261,0.264,0.563,0.571,0.281,0.214,0.423,0.502,0.321,
+0.336,0.346,0.416,0.050,0.254,0.311,0.382,0.378,0.264,0.512,
+0.045,0.042,0.022,0.035,0.045,0.037,0.036,0.037,0.038,6.72e-3,
+0.068,0.042,0.047,0.070,0.039,0.060,0.340,0.267,0.248,0.315,
+0.032,0.025,0.034,0.041,0.270,0.037,0.172,0.216,0.195,0.274,
+0.247,0.298,0.317,0.183,0.168,0.268,0.405,0.305,0.367,0.378,
+0.342,0.032,0.207,0.318,0.353,0.279,0.296,0.496,0.600,0.253,
+0.202,0.442,0.307,0.189,0.215,0.241,0.295,0.029,0.161,0.237,
+0.419,0.320,0.229,0.501,0.475,0.286,0.190,0.298,0.372,0.226,
+0.205,0.245,0.260,0.024,0.245,0.271,0.310,0.303,0.222,0.382,
+0.368,0.305,0.255,0.400,0.033,0.023,0.025,0.041,0.273,0.024,
+0.198,0.285,0.277,0.324,0.347,0.435,0.503,0.276,0.232,0.488,
+0.325,0.229,0.243,0.388,0.465,0.033,0.273,0.491,0.641,0.475,
+0.531,1.041,0.057,0.037,0.025,0.039,0.038,0.030,0.022,0.028,
+0.024,3.76e-3,0.013,0.028,0.032,0.042,0.020,0.036,0.041,0.039,
+0.031,0.028,0.034,0.030,0.027,0.026,0.026,4.76e-3,0.020,0.021,
+0.021,0.030,0.018,0.030,0.028,0.024,0.016,0.026,3.45e-3,3.21e-3,
+2.70e-3,3.88e-3,0.016,2.38e-3,0.012,0.020,0.014,0.019,0.016,0.027,
+0.035,0.019,0.014,0.030,0.030,0.024,0.018,0.028,0.020,2.41e-3,
+0.013,0.022,0.026,0.020,0.022,0.048,0.043,0.038,0.015,0.027,
+0.033,0.032,0.021,0.022,0.018,3.27e-3,0.012,0.018,0.017,0.021,
+0.013,0.024,0.048,0.133,0.020,0.023,0.041,0.042,0.028,0.028,
+0.028,8.52e-3,0.026,0.026,0.019,0.036,0.016,0.025,0.035,0.031,
+0.018,0.024,6.55e-3,7.11e-3,5.50e-3,4.31e-3,0.030,6.98e-3,0.021,0.036,
+0.018,0.028,0.028,0.027,0.026,0.019,0.012,0.021,0.033,0.028,
+0.020,0.025,0.021,2.84e-3,0.014,0.026,0.019,0.020,0.019,0.038,
+0.034,0.018,0.014,0.022,0.031,0.026,0.031,0.022,0.023,4.02e-3,
+0.040,0.022,0.018,0.023,0.018,0.028,3.07e-3,5.25e-3,2.64e-3,2.94e-3,
+4.49e-3,6.75e-3,5.84e-3,4.32e-3,3.80e-3,2.40e-3,0.031,5.78e-3,2.07e-3,4.61e-3,
+5.20e-3,4.09e-3,0.027,0.028,0.022,0.027,3.84e-3,5.37e-3,6.38e-3,4.63e-3,
+0.032,1.00e-2,0.021,0.024,0.015,0.033,0.027,0.028,0.023,0.014,
+0.013,0.021,0.031,0.031,0.028,0.031,0.025,4.24e-3,0.022,0.033,
+0.022,0.029,0.025,0.040,0.036,0.028,0.018,0.032,0.024,0.019,
+0.018,0.020,0.021,2.73e-3,0.016,0.018,0.029,0.028,0.022,0.043,
+0.044,0.034,0.022,0.036,0.039,0.035,0.028,0.035,0.026,3.83e-3,
+0.055,0.030,0.027,0.035,0.028,0.041,0.025,0.024,0.022,0.031,
+3.00e-3,3.46e-3,3.46e-3,4.74e-3,0.022,3.48e-3,0.020,0.026,0.020,0.026,
+0.041,0.039,0.034,0.021,0.019,0.034,0.026,0.025,0.023,0.032,
+0.031,3.17e-3,0.023,0.038,0.037,0.038,0.041,0.079,0.671,0.403,
+0.307,0.504,0.333,0.266,0.186,0.261,0.286,0.028,0.157,0.238,
+0.272,0.222,0.175,0.309,0.525,0.329,0.193,0.266,0.372,0.255,
+0.248,0.245,0.351,0.036,0.342,0.343,0.223,0.276,0.178,0.288,
+0.287,0.294,0.206,0.294,0.035,0.040,0.029,0.052,0.239,0.030,
+0.192,0.257,0.160,0.268,0.183,0.298,0.295,0.181,0.168,0.295,
+0.279,0.229,0.177,0.282,0.267,0.026,0.202,0.455,0.266,0.234,
+0.265,0.599,0.036,0.028,0.015,0.024,0.030,0.036,0.021,0.022,
+0.017,4.27e-3,0.013,0.018,0.016,0.019,0.011,0.022,0.032,0.037,
+0.014,0.016,0.042,0.027,0.022,0.020,0.021,5.33e-3,0.031,0.028,
+0.014,0.022,0.013,0.018,0.021,0.029,0.016,0.020,4.11e-3,6.80e-3,
+5.78e-3,4.59e-3,0.023,6.28e-3,0.028,0.035,0.013,0.024,0.019,0.023,
+0.030,0.019,0.013,0.029,0.035,0.038,0.024,0.037,0.027,4.30e-3,
+0.022,0.124,0.022,0.021,0.021,0.050,0.443,0.256,0.201,0.212,
+0.350,0.331,0.609,0.263,0.285,0.047,0.261,0.276,0.189,0.222,
+0.229,0.353,0.028,0.033,0.018,0.018,0.030,0.041,0.040,0.020,
+0.026,6.41e-3,0.033,0.029,0.020,0.032,0.025,0.029,0.303,0.300,
+0.233,0.242,0.033,0.032,0.038,0.031,0.257,0.033,0.106,0.169,
+0.142,0.196,0.215,0.242,0.217,0.143,0.128,0.169,0.294,0.257,
+0.223,0.244,0.248,0.029,0.273,0.304,0.195,0.197,0.284,0.375,
+0.356,0.207,0.153,0.246,0.244,0.181,0.179,0.151,0.202,0.022,
+0.142,0.194,0.205,0.175,0.148,0.287,0.362,0.274,0.179,0.222,
+0.339,0.316,0.227,0.197,0.239,0.025,0.240,0.258,0.205,0.255,
+0.209,0.270,0.302,0.271,0.225,0.302,0.030,0.030,0.023,0.031,
+0.273,0.028,0.263,0.325,0.207,0.292,0.291,0.360,0.298,0.180,
+0.162,0.269,0.269,0.221,0.186,0.249,0.316,0.027,0.322,0.404,
+0.336,0.339,0.373,0.575,0.752,0.301,0.224,0.457,0.302,0.182,
+0.155,0.231,0.256,0.023,0.119,0.203,0.336,0.234,0.182,0.395,
+0.391,0.202,0.129,0.209,0.219,0.134,0.137,0.182,0.181,0.014,
+0.129,0.173,0.173,0.163,0.125,0.239,0.391,0.234,0.151,0.267,
+0.026,0.018,0.015,0.032,0.215,0.016,0.134,0.218,0.194,0.192,
+0.165,0.305,0.380,0.188,0.164,0.342,0.278,0.166,0.148,0.263,
+0.234,0.017,0.138,0.273,0.322,0.213,0.242,0.569,0.617,0.329,
+0.198,0.362,0.343,0.254,0.203,0.241,0.247,0.021,0.146,0.226,
+0.259,0.241,0.150,0.323,0.411,0.279,0.137,0.221,0.303,0.212,
+0.215,0.239,0.208,0.019,0.195,0.249,0.165,0.189,0.129,0.221,
+0.315,0.303,0.182,0.267,0.022,0.023,0.016,0.028,0.258,0.024,
+0.181,0.317,0.190,0.262,0.207,0.336,0.364,0.213,0.158,0.314,
+0.341,0.262,0.211,0.349,0.274,0.027,0.185,0.488,0.262,0.255,
+0.239,0.499,0.923,0.258,0.203,0.323,0.366,0.272,0.285,0.277,
+0.346,0.041,0.192,0.321,0.256,0.282,0.221,0.435,0.038,0.021,
+0.012,0.021,0.024,0.031,0.027,0.023,0.018,3.33e-3,0.021,0.033,
+0.020,0.039,0.018,0.029,0.348,0.293,0.200,0.286,0.024,0.021,
+0.018,0.031,0.286,0.030,0.197,0.294,0.197,0.284,0.241,0.343,
+0.350,0.204,0.237,0.281,0.388,0.279,0.257,0.382,0.334,0.030,
+0.287,0.563,0.285,0.255,0.341,0.543,0.536,0.227,0.185,0.334,
+0.253,0.158,0.145,0.199,0.279,0.028,0.146,0.227,0.287,0.206,
+0.173,0.403,0.342,0.200,0.138,0.221,0.244,0.188,0.193,0.204,
+0.194,0.014,0.165,0.250,0.203,0.202,0.165,0.280,0.378,0.285,
+0.252,0.361,0.024,0.020,0.017,0.032,0.327,0.025,0.261,0.389,
+0.295,0.328,0.337,0.441,0.487,0.235,0.228,0.455,0.350,0.259,
+0.285,0.407,0.405,0.026,0.338,0.592,0.503,0.411,0.489,0.848,
+1.833,0.667,0.502,1.214,0.533,0.300,0.238,0.434,0.485,0.037,
+0.183,0.353,0.783,0.535,0.295,0.719,0.497,0.255,0.165,0.285,
+0.271,0.144,0.118,0.171,0.249,0.020,0.127,0.171,0.292,0.263,
+0.152,0.290,0.383,0.233,0.177,0.387,0.025,0.016,0.013,0.036,
+0.210,0.013,0.105,0.174,0.228,0.208,0.170,0.309,0.606,0.265,
+0.230,0.574,0.354,0.215,0.176,0.342,0.288,0.019,0.158,0.275,
+0.488,0.272,0.282,0.761,0.613,0.260,0.168,0.380,0.276,0.149,
+0.113,0.173,0.186,0.015,0.093,0.154,0.234,0.167,0.107,0.252,
+0.306,0.178,0.092,0.188,0.166,0.091,0.075,0.108,0.165,0.011,
+0.105,0.136,0.164,0.131,0.097,0.178,0.250,0.152,0.105,0.205,
+0.014,9.92e-3,7.70e-3,0.016,0.166,0.016,0.080,0.122,0.145,0.139,
+0.114,0.178,0.238,0.128,0.092,0.204,0.177,0.119,0.084,0.159,
+0.151,9.01e-3,0.085,0.154,0.191,0.137,0.137,0.325,0.465,0.210,
+0.145,0.292,0.323,0.300,0.142,0.214,0.232,0.023,0.094,0.173,
+0.342,0.254,0.158,0.409,0.026,0.017,0.010,0.021,0.021,0.015,
+0.010,0.018,0.016,1.57e-3,9.50e-3,0.018,0.034,0.030,0.015,0.038,
+0.213,0.131,0.119,0.185,0.016,9.65e-3,8.60e-3,0.017,0.164,0.011,
+0.068,0.114,0.151,0.142,0.123,0.200,0.222,0.115,0.108,0.229,
+0.216,0.135,0.114,0.210,0.181,0.012,0.101,0.193,0.240,0.170,
+0.179,0.395,0.659,0.235,0.188,0.457,0.262,0.160,0.156,0.211,
+0.284,0.021,0.133,0.225,0.519,0.283,0.217,0.536,0.350,0.179,
+0.126,0.222,0.199,0.113,0.103,0.150,0.187,0.012,0.113,0.207,
+0.288,0.214,0.153,0.336,0.264,0.182,0.150,0.283,0.016,0.011,
+0.010,0.021,0.185,0.011,0.103,0.205,0.218,0.204,0.195,0.325,
+0.456,0.218,0.209,0.527,0.264,0.162,0.157,0.280,0.348,0.019,
+0.189,0.369,0.592,0.394,0.433,1.047,0.583,0.298,0.200,0.424,
+0.294,0.171,0.132,0.185,0.201,0.017,0.093,0.177,0.273,0.216,
+0.142,0.312,0.319,0.196,0.123,0.181,0.190,0.122,0.109,0.127,
+0.143,0.011,0.088,0.113,0.134,0.123,0.092,0.189,0.232,0.140,
+0.090,0.172,0.014,0.010,6.86e-3,0.016,0.110,8.19e-3,0.057,0.101,
+0.120,0.115,0.100,0.182,0.264,0.130,0.110,0.220,0.181,0.122,
+0.090,0.158,0.127,9.02e-3,0.066,0.121,0.193,0.133,0.135,0.332,
+0.423,0.223,0.108,0.217,0.217,0.142,0.088,0.120,0.119,0.011,
+0.062,0.146,0.141,0.120,0.074,0.177,0.251,0.320,0.073,0.126,
+0.177,0.129,0.079,0.106,0.130,0.019,0.064,0.095,0.105,0.127,
+0.066,0.131,0.196,0.132,0.078,0.138,0.016,9.58e-3,6.07e-3,0.011,
+0.125,0.010,0.059,0.107,0.104,0.120,0.112,0.167,0.155,0.097,
+0.075,0.164,0.142,0.109,0.071,0.126,0.105,6.95e-3,0.054,0.107,
+0.126,0.117,0.100,0.223,0.258,0.121,0.091,0.171,0.219,0.111,
+0.102,0.130,0.129,0.014,0.078,0.158,0.152,0.124,0.092,0.255,
+0.011,9.99e-3,5.45e-3,0.011,9.76e-3,0.010,6.20e-3,0.012,7.11e-3,1.14e-3,
+0.017,0.011,0.011,0.013,7.89e-3,0.016,0.159,0.113,0.088,0.140,
+0.011,7.68e-3,7.31e-3,0.013,0.114,9.94e-3,0.059,0.098,0.108,0.133,
+0.100,0.173,0.153,0.091,0.076,0.151,0.164,0.117,0.098,0.158,
+0.126,9.50e-3,0.079,0.147,0.155,0.124,0.146,0.299,0.287,0.133,
+0.103,0.193,0.142,0.086,0.077,0.107,0.131,0.011,0.073,0.119,
+0.183,0.134,0.114,0.278,0.203,0.132,0.087,0.146,0.128,0.101,
+0.082,0.133,0.106,9.10e-3,0.090,0.120,0.141,0.144,0.107,0.207,
+0.169,0.111,0.089,0.159,8.96e-3,6.45e-3,5.64e-3,0.012,0.104,6.93e-3,
+0.064,0.112,0.112,0.115,0.143,0.211,0.211,0.104,0.111,0.205,
+0.160,0.110,0.091,0.167,0.166,0.010,0.098,0.187,0.236,0.206,
+0.216,0.498,0.455,0.242,0.156,0.314,0.211,0.135,0.091,0.150,
+0.214,0.014,0.079,0.137,0.227,0.157,0.099,0.226,0.281,0.176,
+0.097,0.160,0.155,0.106,0.085,0.106,0.156,0.012,0.089,0.123,
+0.150,0.153,0.092,0.189,0.184,0.193,0.108,0.187,0.015,0.015,
+0.010,0.022,0.135,0.012,0.060,0.107,0.117,0.158,0.093,0.176,
+0.233,0.152,0.098,0.205,0.168,0.130,0.089,0.159,0.174,0.013,
+0.087,0.170,0.207,0.160,0.164,0.383,0.020,0.013,6.02e-3,0.014,
+0.028,0.011,5.57e-3,9.84e-3,9.85e-3,9.19e-4,4.24e-3,7.75e-3,0.011,9.94e-3,
+5.88e-3,0.013,0.014,0.011,4.71e-3,7.78e-3,0.010,9.48e-3,5.10e-3,7.56e-3,
+8.61e-3,1.11e-3,6.99e-3,8.61e-3,8.89e-3,9.83e-3,5.62e-3,0.011,8.75e-3,9.78e-3,
+4.50e-3,8.66e-3,9.09e-4,1.23e-3,7.00e-4,8.62e-4,7.99e-3,1.13e-3,4.39e-3,7.42e-3,
+7.20e-3,0.011,6.73e-3,0.011,0.015,0.011,6.07e-3,0.015,0.015,0.013,
+7.23e-3,0.015,9.76e-3,1.11e-3,5.79e-3,0.016,0.013,0.013,0.011,0.026,
+0.265,0.131,0.093,0.136,0.178,0.130,0.098,0.117,0.128,0.016,
+0.073,0.119,0.125,0.120,0.100,0.207,0.012,0.010,5.03e-3,7.87e-3,
+9.21e-3,8.84e-3,5.53e-3,6.55e-3,8.07e-3,1.11e-3,5.49e-3,7.73e-3,0.011,0.013,
+0.012,0.014,0.138,0.128,0.085,0.124,9.80e-3,9.60e-3,7.50e-3,0.011,
+0.122,0.011,0.070,0.097,0.091,0.115,0.097,0.143,0.141,0.097,
+0.073,0.121,0.137,0.113,0.084,0.122,0.144,0.011,0.107,0.153,
+0.138,0.119,0.160,0.256,0.271,0.132,0.087,0.172,0.140,0.098,
+0.066,0.103,0.131,0.011,0.075,0.122,0.180,0.124,0.091,0.212,
+0.209,0.136,0.077,0.131,0.134,0.104,0.068,0.087,0.128,8.77e-3,
+0.087,0.122,0.153,0.142,0.110,0.179,0.175,0.157,0.101,0.163,
+9.90e-3,9.39e-3,6.47e-3,0.012,0.144,0.011,0.089,0.127,0.147,0.178,
+0.134,0.203,0.194,0.111,0.095,0.164,0.119,0.099,0.078,0.121,
+0.175,0.011,0.129,0.191,0.209,0.177,0.202,0.363,0.830,0.250,
+0.157,0.392,0.186,0.099,0.079,0.144,0.172,0.012,0.068,0.126,
+0.250,0.166,0.109,0.279,0.235,0.102,0.056,0.105,0.110,0.057,
+0.043,0.070,0.093,5.77e-3,0.043,0.075,0.100,0.079,0.051,0.115,
+0.172,0.121,0.068,0.163,9.71e-3,7.25e-3,4.57e-3,0.014,0.094,6.53e-3,
+0.043,0.081,0.099,0.098,0.065,0.150,0.258,0.143,0.095,0.239,
+0.150,0.085,0.069,0.155,0.137,8.64e-3,0.064,0.129,0.224,0.156,
+0.135,0.399,0.249,0.116,0.064,0.131,0.128,0.072,0.045,0.068,
+0.081,5.35e-3,0.035,0.066,0.093,0.072,0.043,0.108,0.158,0.100,
+0.038,0.068,0.097,0.069,0.030,0.050,0.066,4.18e-3,0.036,0.066,
+0.068,0.056,0.035,0.078,0.098,0.111,0.040,0.084,4.61e-3,4.49e-3,
+2.29e-3,5.78e-3,0.068,4.98e-3,0.032,0.063,0.068,0.079,0.044,0.104,
+0.118,0.071,0.043,0.102,0.081,0.062,0.041,0.096,0.080,4.41e-3,
+0.037,0.088,0.095,0.082,0.065,0.194,0.199,0.084,0.064,0.101,
+0.126,0.065,0.050,0.080,0.096,7.56e-3,0.044,0.076,0.096,0.071,
+0.058,0.132,6.89e-3,6.37e-3,2.56e-3,4.72e-3,5.49e-3,3.92e-3,2.33e-3,4.15e-3,
+3.51e-3,3.55e-4,2.68e-3,4.21e-3,5.72e-3,5.26e-3,3.34e-3,8.45e-3,0.091,0.066,
+0.046,0.080,4.57e-3,3.50e-3,2.43e-3,6.12e-3,0.061,4.29e-3,0.045,0.059,
+0.063,0.061,0.059,0.102,0.115,0.066,0.053,0.099,0.092,0.055,
+0.048,0.089,0.082,4.69e-3,0.055,0.091,0.092,0.060,0.081,0.161,
+0.312,0.085,0.059,0.129,0.084,0.045,0.029,0.049,0.072,4.72e-3,
+0.035,0.060,0.105,0.064,0.045,0.130,0.074,0.042,0.023,0.040,
+0.048,0.024,0.021,0.032,0.034,2.00e-3,0.021,0.041,0.044,0.034,
+0.025,0.065,0.061,0.038,0.026,0.047,2.04e-3,1.58e-3,1.08e-3,2.99e-3,
+0.037,1.93e-3,0.024,0.039,0.044,0.037,0.031,0.058,0.095,0.024,
+0.020,0.039,0.020,0.013,0.011,0.022,0.022,9.14e-4,0.015,0.025,
+0.024,0.010,0.012,0.018
+};
+
+static double hg19_biasTable28_7_large[] = {
+0.777
+};
+
+static double hg19_biasTable29_7_large[] = {
+1.602,0.765,0.487,0.279
+};
+
+static double hg19_biasTable30_7_large[] = {
+2.428,1.532,1.029,1.463,1.024,0.811,0.586,0.660,0.840,0.093,
+0.472,0.560,0.476,0.341,0.179,0.125
+};
+
+static double hg19_biasTable31_7_large[] = {
+3.961,2.009,1.411,2.387,2.051,1.556,1.200,1.382,1.724,0.203,
+0.922,1.299,1.683,1.422,0.985,1.808,1.455,1.151,0.653,0.880,
+1.020,0.858,0.705,0.689,0.847,0.129,0.636,0.759,0.647,0.789,
+0.488,0.742,0.960,0.941,0.652,0.813,0.085,0.103,0.083,0.100,
+0.717,0.093,0.476,0.618,0.485,0.647,0.486,0.613,0.694,0.366,
+0.310,0.535,0.445,0.348,0.245,0.331,0.295,0.023,0.170,0.231,
+0.212,0.123,0.091,0.074
+};
+
+static double hg19_biasTable32_7_large[] = {
+6.452,3.026,2.289,4.177,2.770,1.880,1.473,1.954,2.420,0.240,
+1.192,1.829,2.965,2.298,1.501,2.834,3.003,2.112,1.339,1.800,
+2.028,1.474,1.423,1.370,1.763,0.216,1.343,1.526,1.351,1.555,
+1.041,1.618,1.959,1.788,1.350,1.826,0.187,0.200,0.169,0.257,
+1.350,0.171,0.938,1.248,1.089,1.451,1.090,1.603,2.274,1.191,
+1.085,2.197,1.679,1.332,1.048,1.623,1.392,0.136,0.948,1.459,
+1.766,1.230,1.357,2.871,2.250,1.427,0.834,1.334,1.574,1.319,
+0.848,0.936,1.059,0.143,0.593,0.836,0.886,0.991,0.613,1.060,
+1.430,1.279,0.614,0.838,1.118,0.862,0.723,0.724,1.002,0.201,
+0.711,0.933,0.618,0.905,0.512,0.752,0.921,1.051,0.617,0.807,
+0.110,0.160,0.117,0.123,0.914,0.153,0.641,0.907,0.585,0.999,
+0.652,0.832,0.832,0.578,0.404,0.737,0.888,0.852,0.542,0.814,
+0.684,0.070,0.465,0.737,0.643,0.618,0.583,1.120,1.532,0.889,
+0.622,0.872,1.171,0.989,0.833,0.844,1.079,0.158,0.638,0.815,
+0.796,0.823,0.639,1.051,0.097,0.121,0.062,0.080,0.093,0.134,
+0.109,0.080,0.091,0.036,0.116,0.097,0.079,0.142,0.082,0.101,
+0.740,0.824,0.625,0.691,0.078,0.107,0.089,0.093,0.713,0.107,
+0.449,0.575,0.455,0.723,0.596,0.661,0.608,0.413,0.367,0.554,
+0.710,0.691,0.535,0.677,0.690,0.071,0.500,0.683,0.525,0.507,
+0.566,0.892,1.168,0.497,0.385,0.748,0.508,0.328,0.281,0.370,
+0.543,0.049,0.265,0.405,0.675,0.440,0.326,0.730,0.636,0.473,
+0.291,0.403,0.421,0.393,0.297,0.311,0.351,0.035,0.260,0.341,
+0.337,0.364,0.238,0.387,0.350,0.292,0.215,0.299,0.023,0.023,
+0.019,0.028,0.256,0.025,0.185,0.235,0.214,0.239,0.208,0.264,
+0.323,0.150,0.134,0.241,0.157,0.117,0.089,0.132,0.146,9.14e-3,
+0.087,0.126,0.130,0.071,0.053,0.042
+};
+
+static double hg19_biasTable32_8_large[] = {
+0.799
+};
+
+static double hg19_biasTable16_4[] = {
+0.361
+};
+
+static double hg19_biasTable17_4[] = {
+0.621,0.461,0.448,0.617
+};
+
+static double hg19_biasTable18_4[] = {
+0.982,0.727,0.530,0.803,0.625,0.532,0.435,0.533,0.746,0.101,
+0.530,0.725,0.697,0.743,0.615,0.966
+};
+
+static double hg19_biasTable19_4[] = {
+1.642,0.940,0.670,1.146,1.004,0.771,0.614,0.736,0.909,0.115,
+0.506,0.738,0.951,0.846,0.600,1.133,0.928,0.711,0.434,0.603,
+0.685,0.579,0.484,0.501,0.638,0.093,0.491,0.612,0.527,0.637,
+0.432,0.667,0.847,0.880,0.639,0.844,0.092,0.113,0.095,0.115,
+0.786,0.115,0.581,0.773,0.601,0.880,0.703,0.931,0.982,0.601,
+0.525,0.945,0.881,0.781,0.635,0.901,0.879,0.091,0.680,0.997,
+0.976,0.842,0.915,1.591
+};
+
+static double hg19_biasTable20_4[] = {
+2.638,1.407,1.057,1.950,1.309,0.912,0.720,0.960,1.164,0.123,
+0.578,0.909,1.457,1.166,0.753,1.447,1.519,1.063,0.662,0.935,
+1.029,0.770,0.677,0.707,0.932,0.112,0.674,0.812,0.737,0.818,
+0.575,0.907,1.052,0.972,0.720,1.036,0.107,0.114,0.093,0.152,
+0.753,0.097,0.521,0.710,0.630,0.840,0.615,0.956,1.331,0.716,
+0.644,1.315,1.025,0.796,0.649,1.034,0.876,0.086,0.581,0.931,
+1.139,0.818,0.904,1.922,1.467,0.932,0.546,0.911,0.978,0.795,
+0.546,0.618,0.713,0.094,0.395,0.578,0.638,0.689,0.402,0.753,
+0.996,0.810,0.433,0.583,0.760,0.600,0.509,0.515,0.698,0.120,
+0.517,0.658,0.471,0.622,0.392,0.572,0.701,0.791,0.481,0.650,
+0.080,0.116,0.091,0.093,0.695,0.116,0.522,0.687,0.475,0.786,
+0.537,0.719,0.693,0.482,0.350,0.645,0.736,0.690,0.483,0.716,
+0.615,0.065,0.430,0.660,0.599,0.570,0.542,1.047,1.332,0.796,
+0.573,0.818,1.087,0.919,0.787,0.836,1.029,0.158,0.636,0.820,
+0.812,0.844,0.688,1.157,0.103,0.118,0.065,0.086,0.104,0.146,
+0.119,0.091,0.105,0.043,0.125,0.112,0.091,0.160,0.093,0.123,
+0.814,0.928,0.705,0.798,0.099,0.132,0.121,0.116,0.872,0.151,
+0.599,0.770,0.562,0.925,0.793,0.909,0.749,0.532,0.482,0.714,
+0.942,0.930,0.791,0.967,0.928,0.117,0.807,1.055,0.766,0.792,
+0.925,1.383,1.614,0.768,0.598,1.142,0.812,0.561,0.476,0.628,
+0.872,0.091,0.469,0.736,1.099,0.808,0.635,1.437,1.224,0.939,
+0.614,0.874,0.926,0.872,0.683,0.741,0.881,0.106,0.699,0.931,
+0.867,1.022,0.708,1.151,0.953,0.939,0.729,1.020,0.086,0.097,
+0.079,0.107,0.923,0.103,0.755,1.027,0.810,1.081,0.963,1.290,
+1.351,0.748,0.692,1.311,0.953,0.810,0.695,1.036,1.219,0.102,
+0.989,1.502,1.592,1.312,1.441,2.489
+};
+
+static double hg19_biasTable21_4[] = {
+4.313,2.043,1.642,3.135,2.044,1.263,1.055,1.408,1.894,0.190,
+0.873,1.379,2.648,1.980,1.206,2.227,2.079,1.254,0.858,1.181,
+1.309,0.850,0.748,0.804,1.183,0.115,0.739,0.891,1.031,1.004,
+0.744,1.131,1.521,1.098,0.851,1.302,0.130,0.108,0.090,0.169,
+0.913,0.091,0.573,0.777,0.843,0.970,0.760,1.130,2.184,1.006,
+0.926,1.899,1.487,1.011,0.858,1.401,1.161,0.102,0.710,1.094,
+1.615,1.017,1.116,2.209,2.540,1.401,0.865,1.429,1.574,1.088,
+0.782,0.895,1.154,0.144,0.574,0.831,1.049,1.070,0.598,1.095,
+1.572,1.143,0.638,0.846,1.068,0.740,0.658,0.664,1.061,0.154,
+0.678,0.883,0.712,0.855,0.545,0.771,1.103,1.085,0.691,0.916,
+0.117,0.121,0.098,0.117,1.043,0.141,0.681,0.897,0.683,1.013,
+0.720,0.890,1.010,0.679,0.469,0.842,1.035,0.846,0.602,0.850,
+0.873,0.081,0.553,0.829,0.848,0.741,0.737,1.369,1.762,0.841,
+0.668,1.045,1.330,0.900,0.794,0.940,1.346,0.167,0.585,0.850,
+1.133,0.988,0.717,1.399,0.136,0.116,0.072,0.109,0.128,0.124,
+0.100,0.109,0.124,0.029,0.109,0.116,0.138,0.201,0.106,0.168,
+0.830,0.747,0.695,0.803,0.091,0.082,0.105,0.118,0.798,0.114,
+0.542,0.666,0.581,0.809,0.697,0.802,0.800,0.503,0.483,0.779,
+0.983,0.774,0.714,0.948,0.879,0.097,0.636,0.892,0.854,0.799,
+0.851,1.394,2.261,0.899,0.739,1.585,0.983,0.593,0.564,0.780,
+1.157,0.116,0.518,0.840,1.668,1.081,0.797,1.896,1.493,0.978,
+0.690,1.021,1.019,0.772,0.667,0.788,0.971,0.094,0.661,0.915,
+1.091,1.093,0.747,1.295,0.981,0.837,0.733,1.023,0.088,0.072,
+0.079,0.110,0.841,0.081,0.600,0.846,0.797,0.963,0.861,1.174,
+1.524,0.822,0.770,1.571,0.944,0.676,0.672,1.043,1.293,0.101,
+0.871,1.423,1.884,1.452,1.553,3.080,2.217,1.311,0.920,1.568,
+1.257,0.960,0.720,0.856,0.903,0.106,0.467,0.741,1.018,0.960,
+0.612,1.120,1.396,1.061,0.676,0.870,1.013,0.813,0.732,0.689,
+0.766,0.112,0.625,0.726,0.553,0.694,0.508,0.761,0.776,0.810,
+0.563,0.751,0.086,0.109,0.079,0.106,0.550,0.074,0.430,0.550,
+0.457,0.638,0.506,0.745,0.863,0.496,0.441,0.794,0.837,0.731,
+0.514,0.718,0.582,0.066,0.394,0.597,0.712,0.549,0.608,1.203,
+1.504,1.124,0.555,0.876,1.058,1.013,0.600,0.643,0.704,0.105,
+0.385,0.562,0.572,0.692,0.394,0.719,1.038,0.960,0.497,0.604,
+0.792,0.547,0.561,0.539,0.720,0.152,0.524,0.673,0.431,0.672,
+0.427,0.569,0.717,0.941,0.525,0.659,0.098,0.173,0.113,0.108,
+0.727,0.150,0.532,0.694,0.447,0.913,0.590,0.734,0.597,0.474,
+0.317,0.522,0.713,0.792,0.455,0.580,0.569,0.068,0.383,0.573,
+0.487,0.522,0.460,0.862,1.047,0.669,0.462,0.675,0.945,0.856,
+0.712,0.705,0.762,0.126,0.471,0.598,0.590,0.680,0.515,0.858,
+0.077,0.110,0.060,0.079,0.096,0.165,0.123,0.087,0.088,0.053,
+0.131,0.098,0.061,0.146,0.080,0.091,0.691,0.816,0.663,0.673,
+0.102,0.142,0.125,0.101,0.729,0.158,0.566,0.663,0.446,0.873,
+0.731,0.752,0.581,0.402,0.383,0.564,0.805,0.892,0.713,0.793,
+0.712,0.090,0.599,0.778,0.556,0.595,0.716,1.053,1.031,0.582,
+0.444,0.762,0.634,0.462,0.384,0.479,0.577,0.060,0.316,0.469,
+0.707,0.564,0.440,0.922,0.915,0.808,0.546,0.734,0.733,0.790,
+0.615,0.675,0.634,0.095,0.543,0.694,0.595,0.923,0.563,0.851,
+0.603,0.653,0.545,0.692,0.057,0.074,0.057,0.072,0.545,0.069,
+0.490,0.638,0.476,0.696,0.669,0.851,0.777,0.472,0.445,0.739,
+0.635,0.569,0.454,0.665,0.721,0.066,0.553,0.861,0.901,0.860,
+0.916,1.618,1.921,1.223,0.873,1.453,1.022,0.827,0.594,0.798,
+0.965,0.105,0.524,0.739,0.943,0.833,0.547,1.010,1.502,1.265,
+0.697,0.966,1.126,0.965,0.854,0.806,1.112,0.160,0.934,1.002,
+0.749,1.041,0.638,0.969,0.993,1.185,0.940,1.097,0.129,0.164,
+0.148,0.201,0.906,0.157,0.685,0.854,0.594,1.060,0.687,1.002,
+1.000,0.665,0.564,1.086,0.927,0.847,0.682,0.988,0.931,0.107,
+0.693,1.068,0.979,0.833,0.953,1.968,0.130,0.118,0.068,0.102,
+0.137,0.156,0.091,0.098,0.092,0.023,0.069,0.080,0.074,0.106,
+0.066,0.101,0.120,0.148,0.070,0.081,0.151,0.193,0.141,0.108,
+0.122,0.057,0.167,0.135,0.069,0.133,0.073,0.091,0.083,0.147,
+0.101,0.093,0.024,0.057,0.065,0.029,0.127,0.057,0.170,0.154,
+0.065,0.159,0.111,0.117,0.107,0.085,0.060,0.116,0.157,0.191,
+0.136,0.166,0.108,0.023,0.105,0.143,0.097,0.105,0.105,0.189,
+1.204,0.861,0.573,0.676,1.012,1.090,0.905,0.775,1.001,0.198,
+0.829,0.862,0.662,0.853,0.734,1.006,0.100,0.154,0.074,0.072,
+0.106,0.185,0.162,0.082,0.128,0.069,0.173,0.121,0.081,0.173,
+0.107,0.107,0.836,1.167,0.787,0.767,0.119,0.206,0.163,0.122,
+0.963,0.191,0.545,0.740,0.506,0.965,0.810,0.848,0.684,0.546,
+0.462,0.590,0.909,1.125,0.851,0.885,0.986,0.155,1.012,1.088,
+0.664,0.825,0.956,1.254,1.098,0.657,0.472,0.820,0.708,0.547,
+0.401,0.502,0.724,0.084,0.475,0.677,0.752,0.661,0.495,1.001,
+1.232,1.109,0.656,0.837,1.061,1.160,0.831,0.744,1.046,0.156,
+0.936,1.083,0.853,1.189,0.805,1.093,0.950,1.098,0.784,0.965,
+0.102,0.149,0.108,0.116,1.056,0.148,0.956,1.141,0.765,1.253,
+1.043,1.246,0.985,0.656,0.579,0.894,0.870,0.857,0.663,0.836,
+1.142,0.118,1.116,1.392,1.192,1.224,1.295,1.964,2.659,1.196,
+0.901,1.907,1.046,0.664,0.558,0.851,1.001,0.097,0.486,0.846,
+1.397,0.983,0.701,1.605,1.262,0.768,0.476,0.801,0.752,0.507,
+0.437,0.582,0.734,0.066,0.454,0.686,0.670,0.596,0.446,0.841,
+1.017,0.872,0.590,1.090,0.088,0.081,0.060,0.137,0.696,0.070,
+0.430,0.707,0.669,0.747,0.551,1.025,1.428,0.754,0.701,1.667,
+0.931,0.657,0.587,1.123,0.898,0.074,0.570,1.042,1.374,0.939,
+1.014,2.610,1.829,1.146,0.728,1.296,1.232,0.990,0.741,0.879,
+0.945,0.108,0.572,0.870,0.896,0.931,0.583,1.153,1.323,1.060,
+0.549,0.841,1.088,0.972,0.711,0.792,0.936,0.129,0.734,0.986,
+0.697,0.881,0.546,0.900,0.945,1.039,0.638,0.972,0.086,0.121,
+0.096,0.124,0.933,0.122,0.735,1.057,0.731,1.113,0.761,1.181,
+1.101,0.720,0.574,1.148,1.098,0.990,0.773,1.326,0.941,0.090,
+0.702,1.148,0.999,0.950,0.899,1.870,1.455,0.867,0.632,0.940,
+1.141,0.900,0.795,0.982,1.094,0.149,0.707,1.024,0.931,0.920,
+0.836,1.475,0.105,0.102,0.057,0.088,0.089,0.119,0.096,0.090,
+0.086,0.024,0.095,0.116,0.088,0.129,0.085,0.130,0.959,1.058,
+0.732,1.013,0.089,0.106,0.096,0.127,1.070,0.150,0.794,1.065,
+0.751,1.127,1.009,1.304,0.984,0.707,0.629,0.979,1.138,1.007,
+0.940,1.317,1.217,0.131,1.051,1.549,1.042,1.012,1.249,1.983,
+2.271,0.986,0.777,1.522,0.985,0.679,0.587,0.794,1.112,0.107,
+0.596,1.008,1.424,0.997,0.858,2.126,1.366,0.946,0.604,0.979,
+0.963,0.843,0.672,0.823,0.945,0.083,0.708,1.097,1.010,0.986,
+0.770,1.485,1.356,1.230,0.909,1.483,0.102,0.100,0.076,0.135,
+1.316,0.119,1.035,1.563,1.261,1.494,1.380,2.019,2.267,1.095,
+1.024,2.200,1.444,1.201,1.042,1.706,1.822,0.127,1.493,2.479,
+2.608,1.862,2.165,3.852
+};
+
+static double hg19_biasTable22_4[] = {
+8.177,3.073,2.269,4.683,3.116,1.723,1.464,2.034,3.070,0.284,
+1.308,2.039,4.454,3.041,1.882,3.470,3.488,1.823,1.275,1.768,
+1.903,1.148,1.005,1.059,1.837,0.150,1.009,1.269,1.600,1.398,
+1.054,1.650,2.680,1.691,1.346,2.013,0.208,0.165,0.133,0.257,
+1.446,0.134,0.838,1.125,1.383,1.498,1.101,1.617,4.066,1.679,
+1.677,3.435,2.479,1.642,1.455,2.458,1.924,0.156,1.087,1.716,
+2.761,1.600,1.661,3.060,3.778,1.752,1.112,1.840,1.902,1.237,
+0.877,1.063,1.565,0.163,0.707,1.048,1.389,1.309,0.750,1.331,
+2.167,1.332,0.774,1.039,1.248,0.824,0.675,0.687,1.256,0.134,
+0.708,0.933,0.858,0.901,0.631,0.861,1.527,1.312,0.815,1.133,
+0.137,0.119,0.089,0.122,1.231,0.129,0.705,0.925,0.800,1.085,
+0.730,0.987,1.436,0.904,0.660,1.172,1.318,0.976,0.736,1.040,
+1.203,0.097,0.687,1.022,1.157,0.932,0.879,1.610,2.720,1.105,
+0.984,1.417,1.593,0.932,0.877,1.044,1.511,0.178,0.668,1.088,
+1.409,1.186,0.903,1.781,0.184,0.130,0.083,0.127,0.134,0.114,
+0.087,0.098,0.128,0.023,0.089,0.123,0.161,0.205,0.117,0.196,
+1.109,0.873,0.796,0.924,0.102,0.081,0.078,0.106,0.914,0.106,
+0.573,0.730,0.692,0.839,0.757,0.861,1.091,0.661,0.641,1.019,
+1.220,0.886,0.761,1.057,1.110,0.107,0.770,1.096,1.008,0.940,
+0.989,1.639,3.878,1.379,1.159,2.531,1.421,0.794,0.801,1.061,
+1.683,0.158,0.713,1.203,2.281,1.469,1.166,2.814,2.280,1.371,
+0.973,1.400,1.376,0.950,0.831,0.949,1.337,0.105,0.820,1.207,
+1.506,1.365,1.026,1.778,1.400,1.092,0.922,1.297,0.113,0.086,
+0.094,0.123,1.067,0.086,0.724,1.011,1.015,1.109,0.975,1.329,
+2.213,1.155,1.062,2.160,1.198,0.830,0.815,1.278,1.640,0.113,
+1.041,1.724,2.260,1.641,1.699,3.420,4.001,2.238,1.528,2.596,
+1.925,1.390,1.083,1.280,1.465,0.160,0.711,1.165,1.620,1.480,
+0.966,1.728,2.262,1.788,1.027,1.333,1.439,1.078,0.954,0.936,
+1.158,0.147,0.809,1.048,0.839,0.969,0.713,1.100,1.280,1.329,
+0.915,1.164,0.137,0.179,0.114,0.157,0.858,0.101,0.630,0.752,
+0.682,0.955,0.713,1.022,1.453,0.791,0.744,1.261,1.340,1.120,
+0.790,1.086,0.912,0.102,0.555,0.859,1.049,0.796,0.873,1.722,
+2.435,1.784,0.841,1.317,1.540,1.396,0.833,0.886,1.077,0.144,
+0.546,0.809,0.843,1.004,0.574,1.013,1.494,1.338,0.683,0.812,
+1.025,0.622,0.702,0.641,0.964,0.149,0.669,0.873,0.575,0.821,
+0.567,0.725,1.101,1.457,0.783,0.978,0.128,0.216,0.137,0.155,
+1.001,0.189,0.692,0.875,0.611,1.348,0.728,0.924,0.924,0.710,
+0.476,0.769,1.024,1.032,0.630,0.791,0.869,0.094,0.495,0.748,
+0.689,0.736,0.589,1.119,1.631,1.063,0.709,1.071,1.322,1.116,
+1.004,0.946,1.078,0.155,0.653,0.913,0.824,0.914,0.762,1.205,
+0.115,0.166,0.079,0.118,0.107,0.162,0.125,0.093,0.107,0.043,
+0.120,0.123,0.081,0.164,0.101,0.124,1.040,1.200,1.091,0.965,
+0.137,0.178,0.137,0.121,0.961,0.157,0.758,0.879,0.596,1.136,
+0.985,0.941,0.834,0.578,0.578,0.785,1.070,1.161,0.885,0.996,
+0.956,0.108,0.802,1.047,0.682,0.744,0.905,1.270,1.533,0.829,
+0.639,1.081,0.912,0.629,0.567,0.652,0.773,0.074,0.407,0.641,
+0.923,0.701,0.573,1.208,1.309,1.157,0.739,0.999,0.933,0.922,
+0.760,0.817,0.802,0.093,0.637,0.914,0.721,0.952,0.680,1.085,
+0.894,0.906,0.770,0.958,0.077,0.091,0.067,0.090,0.736,0.080,
+0.612,0.808,0.638,0.864,0.816,1.041,1.113,0.644,0.644,1.026,
+0.845,0.727,0.570,0.855,1.001,0.091,0.729,1.163,1.206,1.129,
+1.205,2.023,2.762,1.476,1.133,1.835,1.104,0.839,0.631,0.831,
+1.173,0.121,0.567,0.853,1.233,1.081,0.649,1.272,1.888,1.468,
+0.864,1.188,1.110,0.899,0.850,0.820,1.243,0.151,0.824,0.995,
+0.924,1.147,0.673,1.057,1.292,1.387,1.470,1.379,0.140,0.171,
+0.147,0.216,0.873,0.116,0.605,0.781,0.666,1.074,0.662,1.037,
+1.377,0.860,0.857,1.516,1.095,0.986,0.792,1.140,1.033,0.108,
+0.675,1.080,1.206,0.964,1.049,2.454,0.181,0.149,0.084,0.134,
+0.140,0.149,0.084,0.096,0.111,0.023,0.067,0.089,0.099,0.138,
+0.080,0.123,0.157,0.174,0.084,0.102,0.139,0.164,0.107,0.093,
+0.136,0.038,0.112,0.118,0.092,0.161,0.079,0.107,0.106,0.161,
+0.116,0.116,0.019,0.039,0.034,0.025,0.128,0.035,0.139,0.143,
+0.079,0.171,0.097,0.120,0.163,0.120,0.094,0.179,0.200,0.235,
+0.162,0.214,0.137,0.023,0.111,0.155,0.142,0.147,0.132,0.257,
+1.247,0.812,0.583,0.721,0.865,0.804,0.706,0.646,1.086,0.215,
+0.713,0.820,0.737,0.900,0.680,0.948,0.106,0.128,0.061,0.071,
+0.077,0.110,0.084,0.059,0.146,0.085,0.104,0.095,0.094,0.198,
+0.089,0.099,0.796,1.068,0.698,0.680,0.094,0.164,0.110,0.092,
+0.874,0.150,0.528,0.647,0.494,0.859,0.657,0.686,0.717,0.540,
+0.488,0.607,0.810,0.954,0.718,0.796,0.941,0.139,0.817,0.941,
+0.638,0.785,0.767,1.051,1.235,0.653,0.478,0.873,0.717,0.477,
+0.372,0.464,0.813,0.085,0.414,0.651,0.891,0.718,0.493,1.055,
+1.378,1.072,0.637,0.885,0.948,0.900,0.643,0.644,1.099,0.150,
+0.713,0.946,0.940,1.149,0.706,1.044,0.944,0.998,0.718,0.899,
+0.095,0.125,0.079,0.096,0.942,0.113,0.653,0.893,0.716,1.064,
+0.772,1.058,1.151,0.700,0.674,0.932,0.932,0.835,0.639,0.830,
+1.138,0.115,0.916,1.275,1.287,1.231,1.162,1.989,3.590,1.609,
+1.266,2.786,1.243,0.776,0.684,0.935,1.264,0.118,0.578,1.025,
+2.054,1.311,0.927,2.160,1.511,0.849,0.588,1.038,0.816,0.496,
+0.475,0.614,0.930,0.076,0.494,0.786,0.898,0.717,0.527,1.019,
+1.365,1.014,0.839,1.501,0.115,0.097,0.076,0.177,0.819,0.073,
+0.447,0.761,0.812,0.839,0.581,1.163,2.032,0.975,1.088,2.801,
+1.235,0.845,0.808,1.507,1.153,0.091,0.723,1.259,1.814,1.178,
+1.290,3.440,2.262,1.325,0.854,1.611,1.359,0.997,0.718,0.903,
+1.133,0.117,0.583,0.954,1.097,1.077,0.679,1.287,1.512,1.075,
+0.585,0.964,1.027,0.842,0.580,0.681,1.014,0.130,0.627,0.938,
+0.822,0.960,0.521,0.905,1.126,1.019,0.676,1.112,0.086,0.100,
+0.075,0.117,0.975,0.101,0.642,0.963,0.814,1.077,0.680,1.128,
+1.424,0.803,0.705,1.499,1.244,1.032,0.804,1.363,1.081,0.088,
+0.697,1.154,1.224,1.058,0.963,2.008,1.458,0.837,0.641,1.040,
+1.085,0.738,0.672,0.891,1.153,0.149,0.687,0.994,0.994,0.921,
+0.830,1.401,0.107,0.095,0.056,0.099,0.074,0.080,0.063,0.071,
+0.098,0.023,0.082,0.122,0.100,0.133,0.082,0.128,0.901,0.899,
+0.654,0.958,0.075,0.077,0.073,0.102,0.937,0.102,0.584,0.815,
+0.694,0.906,0.787,1.041,0.946,0.642,0.611,1.031,1.059,0.863,
+0.787,1.186,1.217,0.120,0.847,1.326,1.006,0.956,1.041,1.754,
+2.480,1.071,0.883,1.759,1.093,0.705,0.681,0.859,1.316,0.113,
+0.626,1.079,1.762,1.155,0.991,2.487,1.324,0.865,0.596,1.037,
+0.837,0.613,0.568,0.720,0.950,0.077,0.628,1.073,1.081,0.999,
+0.730,1.419,1.467,1.246,0.928,1.605,0.110,0.094,0.070,0.135,
+1.298,0.102,0.814,1.316,1.309,1.439,1.196,1.825,2.504,1.240,
+1.226,2.715,1.637,1.310,1.117,1.827,2.110,0.128,1.495,2.570,
+3.391,2.241,2.444,4.565,3.191,1.895,1.482,2.464,1.935,1.265,
+0.949,1.166,1.552,0.178,0.784,1.218,1.975,1.668,0.998,1.710,
+1.883,1.335,0.834,1.042,1.367,0.983,0.770,0.768,1.095,0.125,
+0.781,0.909,0.824,0.930,0.713,0.993,1.063,0.923,0.698,0.973,
+0.108,0.100,0.085,0.133,0.731,0.087,0.490,0.589,0.633,0.823,
+0.663,0.885,1.427,0.767,0.638,1.290,1.251,0.908,0.687,1.047,
+0.921,0.102,0.581,0.878,1.123,0.844,0.908,1.661,2.230,1.422,
+0.801,1.208,1.665,1.174,0.703,0.773,1.130,0.180,0.632,0.826,
+0.900,1.081,0.570,0.986,1.478,1.221,0.622,0.787,1.117,0.866,
+0.652,0.656,1.038,0.192,0.790,0.984,0.616,0.895,0.553,0.749,
+0.862,0.994,0.564,0.679,0.121,0.131,0.103,0.098,1.031,0.166,
+0.658,0.733,0.560,0.986,0.660,0.732,0.729,0.575,0.354,0.581,
+0.878,0.762,0.518,0.662,0.752,0.083,0.509,0.713,0.657,0.673,
+0.654,1.098,1.200,0.718,0.487,0.733,1.140,0.809,0.628,0.708,
+0.970,0.139,0.490,0.680,0.721,0.733,0.552,1.028,0.096,0.106,
+0.063,0.082,0.121,0.141,0.091,0.089,0.094,0.033,0.090,0.101,
+0.078,0.148,0.084,0.116,0.586,0.631,0.493,0.523,0.074,0.076,
+0.068,0.079,0.610,0.095,0.465,0.573,0.405,0.618,0.573,0.635,
+0.563,0.392,0.369,0.532,0.737,0.661,0.512,0.672,0.701,0.091,
+0.544,0.713,0.587,0.662,0.712,1.050,1.366,0.636,0.489,0.997,
+0.711,0.448,0.355,0.494,0.756,0.088,0.364,0.576,0.886,0.669,
+0.491,1.168,1.123,0.861,0.574,0.832,0.914,0.803,0.580,0.677,
+0.688,0.086,0.537,0.765,0.628,0.816,0.551,0.908,0.617,0.566,
+0.513,0.677,0.064,0.056,0.070,0.079,0.550,0.070,0.409,0.572,
+0.463,0.648,0.568,0.745,0.898,0.532,0.537,0.936,0.604,0.515,
+0.463,0.649,0.819,0.077,0.607,0.962,1.045,0.972,0.995,1.871,
+2.167,1.436,0.987,1.501,1.484,1.285,0.869,0.920,0.896,0.118,
+0.495,0.735,0.931,0.957,0.612,1.045,1.476,1.234,0.732,0.847,
+1.253,1.135,0.949,0.803,0.802,0.144,0.676,0.804,0.511,0.792,
+0.548,0.771,0.716,0.835,0.595,0.700,0.090,0.124,0.098,0.110,
+0.525,0.083,0.452,0.492,0.439,0.633,0.511,0.689,0.748,0.454,
+0.388,0.725,0.796,0.804,0.528,0.673,0.566,0.070,0.407,0.553,
+0.713,0.545,0.582,1.088,1.517,1.283,0.587,0.813,1.199,1.386,
+0.678,0.657,0.766,0.129,0.481,0.636,0.543,0.756,0.409,0.752,
+1.066,1.022,0.536,0.580,0.708,0.429,0.550,0.525,0.717,0.201,
+0.599,0.752,0.388,0.765,0.458,0.576,0.721,1.048,0.537,0.616,
+0.122,0.236,0.139,0.123,0.697,0.172,0.555,0.695,0.392,0.979,
+0.649,0.706,0.528,0.466,0.299,0.451,0.723,0.949,0.473,0.585,
+0.572,0.083,0.449,0.622,0.441,0.551,0.484,0.834,1.021,0.752,
+0.504,0.632,1.131,1.170,0.803,0.714,0.823,0.156,0.515,0.636,
+0.551,0.763,0.539,0.823,0.087,0.144,0.084,0.083,0.140,0.278,
+0.183,0.104,0.110,0.081,0.148,0.119,0.058,0.205,0.091,0.089,
+0.730,0.943,0.643,0.636,0.144,0.202,0.151,0.114,0.711,0.153,
+0.603,0.679,0.414,0.889,0.788,0.722,0.551,0.408,0.365,0.496,
+0.919,1.145,0.835,0.822,0.806,0.110,0.673,0.804,0.552,0.637,
+0.774,1.005,0.856,0.539,0.391,0.626,0.644,0.514,0.345,0.415,
+0.520,0.058,0.296,0.410,0.554,0.478,0.364,0.718,0.810,0.834,
+0.557,0.693,0.791,1.047,0.685,0.707,0.570,0.110,0.515,0.652,
+0.419,0.780,0.489,0.670,0.529,0.673,0.510,0.587,0.059,0.087,
+0.060,0.068,0.455,0.068,0.475,0.547,0.376,0.632,0.623,0.701,
+0.618,0.406,0.358,0.584,0.538,0.582,0.432,0.571,0.602,0.061,
+0.491,0.708,0.680,0.754,0.789,1.287,1.404,1.045,0.679,1.118,
+0.882,0.707,0.481,0.641,0.778,0.095,0.435,0.570,0.727,0.743,
+0.460,0.807,1.241,1.224,0.565,0.794,1.036,0.993,0.719,0.720,
+0.984,0.176,0.841,0.882,0.577,1.010,0.510,0.764,0.690,0.949,
+0.648,0.802,0.100,0.136,0.114,0.162,0.637,0.114,0.517,0.642,
+0.408,0.780,0.496,0.741,0.695,0.493,0.387,0.810,0.727,0.713,
+0.540,0.795,0.673,0.087,0.529,0.790,0.692,0.628,0.687,1.464,
+0.095,0.096,0.048,0.070,0.128,0.150,0.089,0.079,0.091,0.026,
+0.061,0.067,0.060,0.099,0.071,0.090,0.099,0.156,0.062,0.074,
+0.155,0.250,0.150,0.110,0.120,0.095,0.150,0.132,0.057,0.148,
+0.067,0.078,0.062,0.135,0.085,0.074,0.030,0.079,0.074,0.034,
+0.114,0.069,0.201,0.151,0.050,0.149,0.103,0.091,0.067,0.062,
+0.040,0.076,0.152,0.189,0.116,0.147,0.083,0.024,0.099,0.114,
+0.065,0.081,0.084,0.133,0.914,0.834,0.479,0.576,0.853,1.095,
+0.707,0.651,0.893,0.190,0.836,0.835,0.534,0.772,0.593,0.830,
+0.086,0.195,0.070,0.065,0.104,0.242,0.145,0.084,0.116,0.076,
+0.184,0.128,0.063,0.162,0.092,0.088,0.599,1.173,0.605,0.584,
+0.102,0.281,0.150,0.106,0.811,0.214,0.555,0.704,0.397,0.940,
+0.653,0.682,0.495,0.482,0.353,0.476,0.772,1.274,0.717,0.803,
+0.909,0.174,0.937,0.959,0.521,0.738,0.773,1.007,0.795,0.555,
+0.357,0.651,0.533,0.439,0.285,0.371,0.572,0.073,0.351,0.559,
+0.570,0.556,0.359,0.800,0.977,1.091,0.529,0.669,0.988,1.244,
+0.702,0.706,0.914,0.165,0.801,1.005,0.630,1.067,0.630,0.880,
+0.682,0.921,0.620,0.675,0.072,0.124,0.086,0.082,0.772,0.141,
+0.674,0.832,0.520,1.047,0.698,0.878,0.670,0.500,0.398,0.679,
+0.634,0.673,0.481,0.628,0.854,0.100,0.858,1.081,0.868,0.992,
+0.948,1.450,1.516,0.807,0.617,1.232,0.775,0.494,0.403,0.676,
+0.726,0.071,0.353,0.643,0.874,0.661,0.493,1.057,0.922,0.659,
+0.372,0.617,0.584,0.443,0.348,0.493,0.553,0.059,0.366,0.590,
+0.487,0.468,0.346,0.642,0.640,0.586,0.407,0.705,0.054,0.052,
+0.040,0.094,0.455,0.048,0.304,0.473,0.408,0.477,0.350,0.660,
+0.847,0.474,0.458,1.098,0.598,0.447,0.388,0.855,0.601,0.051,
+0.388,0.740,0.841,0.580,0.641,1.677,1.317,0.898,0.556,0.931,
+1.009,0.873,0.707,0.723,0.832,0.109,0.511,0.757,0.708,0.837,
+0.519,0.917,0.990,0.888,0.435,0.653,0.946,0.960,0.602,0.699,
+0.835,0.150,0.630,0.885,0.597,0.886,0.488,0.777,0.614,0.806,
+0.481,0.676,0.072,0.112,0.086,0.115,0.708,0.107,0.595,0.793,
+0.527,0.898,0.565,0.818,0.670,0.493,0.409,0.842,0.863,0.860,
+0.656,1.432,0.694,0.077,0.595,0.914,0.689,0.713,0.694,1.349,
+0.868,0.577,0.401,0.593,0.770,0.694,0.529,0.643,0.796,0.117,
+0.547,0.740,0.607,0.644,0.572,0.971,0.063,0.073,0.037,0.057,
+0.061,0.106,0.068,0.061,0.060,0.020,0.074,0.078,0.054,0.091,
+0.062,0.084,0.531,0.661,0.432,0.578,0.056,0.079,0.061,0.082,
+0.659,0.108,0.533,0.681,0.439,0.739,0.621,0.775,0.532,0.429,
+0.372,0.590,0.691,0.703,0.566,0.857,0.869,0.123,0.725,1.021,
+0.651,0.706,0.833,1.263,1.159,0.629,0.472,0.881,0.604,0.465,
+0.359,0.477,0.694,0.075,0.388,0.642,0.766,0.578,0.488,1.154,
+0.890,0.644,0.398,0.641,0.645,0.626,0.465,0.572,0.601,0.061,
+0.477,0.706,0.601,0.636,0.486,0.980,0.797,0.732,0.545,0.847,
+0.074,0.063,0.048,0.084,0.730,0.077,0.586,0.842,0.686,0.901,
+0.791,1.109,1.120,0.647,0.615,1.264,0.894,0.821,0.677,1.105,
+1.119,0.096,0.979,1.520,1.586,1.350,1.475,2.198,2.703,1.534,
+1.380,2.259,1.626,1.129,0.990,1.217,1.487,0.155,0.772,1.139,
+1.806,1.482,0.967,1.637,1.455,1.010,0.719,0.965,1.081,0.740,
+0.740,0.786,0.917,0.117,0.635,0.741,0.778,0.855,0.661,0.938,
+1.203,0.953,0.714,1.071,0.105,0.091,0.082,0.147,0.747,0.080,
+0.554,0.745,0.613,0.769,0.673,0.929,1.369,0.694,0.577,1.182,
+1.034,0.749,0.628,0.962,0.814,0.073,0.539,0.793,1.028,0.641,
+0.835,1.588,2.292,1.450,0.905,1.438,1.685,1.303,1.063,1.074,
+1.167,0.157,0.630,0.868,1.007,1.140,0.649,1.113,1.574,1.353,
+0.737,0.905,1.260,0.852,0.934,0.856,1.295,0.236,0.870,1.107,
+0.752,1.075,0.619,0.834,1.195,1.351,0.890,1.079,0.148,0.173,
+0.151,0.172,1.233,0.192,1.000,1.383,0.753,1.248,0.981,1.082,
+1.008,0.701,0.474,0.845,1.255,1.122,0.781,1.075,0.900,0.094,
+0.630,0.959,0.833,0.773,0.826,1.492,1.561,0.825,0.634,1.007,
+1.501,1.116,1.072,1.110,1.887,0.233,0.798,0.952,1.158,1.117,
+0.816,1.363,0.147,0.152,0.091,0.132,0.168,0.172,0.162,0.159,
+0.184,0.047,0.208,0.162,0.163,0.297,0.148,0.205,0.887,0.891,
+0.941,0.993,0.118,0.117,0.220,0.198,1.005,0.183,0.771,0.820,
+0.604,1.075,0.899,0.893,0.741,0.489,0.463,0.709,1.117,0.965,
+1.050,1.184,0.942,0.117,0.766,0.962,0.893,0.859,0.924,1.392,
+1.605,0.710,0.578,1.156,0.849,0.566,0.559,0.721,1.001,0.108,
+0.476,0.700,1.301,0.961,0.684,1.467,1.266,0.944,0.639,0.920,
+1.004,0.804,0.769,0.862,0.973,0.115,0.776,0.906,0.976,1.120,
+0.733,1.185,0.939,0.920,0.836,1.079,0.099,0.089,0.101,0.141,
+0.934,0.105,0.758,1.007,0.805,1.137,1.080,1.312,1.271,0.728,
+0.656,1.306,0.888,0.667,0.733,1.080,1.325,0.117,0.952,1.475,
+1.841,1.480,1.664,3.015,0.170,0.127,0.098,0.130,0.135,0.127,
+0.100,0.114,0.099,0.018,0.061,0.095,0.102,0.119,0.076,0.115,
+0.154,0.146,0.131,0.130,0.159,0.158,0.179,0.137,0.110,0.037,
+0.116,0.108,0.081,0.117,0.091,0.108,0.087,0.121,0.077,0.089,
+0.018,0.027,0.024,0.022,0.078,0.020,0.083,0.097,0.051,0.094,
+0.082,0.097,0.093,0.063,0.052,0.091,0.115,0.115,0.087,0.108,
+0.082,0.014,0.071,0.102,0.083,0.073,0.097,0.156,0.152,0.152,
+0.077,0.101,0.152,0.192,0.140,0.118,0.100,0.031,0.069,0.082,
+0.065,0.106,0.071,0.087,0.168,0.234,0.108,0.102,0.205,0.204,
+0.215,0.153,0.174,0.093,0.154,0.153,0.074,0.162,0.095,0.107,
+0.103,0.181,0.107,0.101,0.034,0.092,0.070,0.035,0.186,0.088,
+0.188,0.212,0.075,0.190,0.158,0.127,0.083,0.072,0.048,0.073,
+0.135,0.175,0.114,0.115,0.092,0.020,0.082,0.101,0.065,0.080,
+0.087,0.134,0.113,0.086,0.061,0.077,0.142,0.171,0.162,0.119,
+0.141,0.041,0.137,0.092,0.072,0.115,0.086,0.105,0.017,0.036,
+0.021,0.023,0.038,0.078,0.075,0.038,0.041,0.052,0.128,0.044,
+0.013,0.048,0.034,0.023,0.095,0.149,0.146,0.124,0.031,0.066,
+0.096,0.037,0.204,0.132,0.203,0.150,0.070,0.239,0.190,0.131,
+0.074,0.057,0.057,0.075,0.135,0.181,0.175,0.149,0.122,0.037,
+0.144,0.144,0.076,0.122,0.125,0.150,0.136,0.109,0.074,0.112,
+0.098,0.085,0.073,0.085,0.094,0.014,0.059,0.074,0.113,0.110,
+0.088,0.157,0.175,0.201,0.118,0.155,0.184,0.212,0.186,0.189,
+0.161,0.041,0.192,0.156,0.125,0.227,0.140,0.181,0.089,0.120,
+0.108,0.117,0.015,0.027,0.025,0.024,0.117,0.032,0.130,0.144,
+0.083,0.155,0.177,0.164,0.116,0.085,0.071,0.117,0.103,0.107,
+0.093,0.122,0.128,0.018,0.117,0.159,0.147,0.155,0.177,0.279,
+1.593,1.158,0.836,1.306,1.061,0.926,0.670,0.832,0.902,0.107,
+0.588,0.723,0.731,0.663,0.513,0.828,1.354,1.174,0.703,0.862,
+1.273,1.083,1.165,0.914,1.146,0.181,1.237,1.126,0.624,0.959,
+0.668,0.888,0.934,1.214,0.882,1.029,0.149,0.202,0.214,0.236,
+1.169,0.270,0.951,1.030,0.578,1.204,0.763,0.974,0.814,0.563,
+0.446,0.855,0.894,0.838,0.747,0.989,0.938,0.119,0.807,1.122,
+0.808,0.753,0.899,1.627,0.123,0.124,0.063,0.094,0.164,0.212,
+0.125,0.126,0.090,0.027,0.091,0.091,0.059,0.090,0.056,0.086,
+0.119,0.152,0.080,0.076,0.187,0.207,0.216,0.141,0.133,0.066,
+0.285,0.172,0.057,0.115,0.077,0.080,0.094,0.182,0.139,0.101,
+0.032,0.080,0.126,0.040,0.162,0.093,0.237,0.211,0.064,0.174,
+0.132,0.119,0.098,0.077,0.053,0.098,0.153,0.199,0.176,0.172,
+0.112,0.026,0.124,0.175,0.078,0.090,0.099,0.164,1.265,0.895,
+0.621,0.611,1.187,1.377,1.292,0.896,1.022,0.210,1.041,0.917,
+0.574,0.789,0.799,0.948,0.112,0.181,0.108,0.081,0.143,0.261,
+0.324,0.110,0.149,0.077,0.274,0.159,0.074,0.171,0.135,0.112,
+0.947,1.174,0.953,0.830,0.155,0.206,0.249,0.160,0.957,0.204,
+0.427,0.622,0.453,0.852,0.862,0.823,0.623,0.486,0.442,0.492,
+0.931,1.079,0.996,0.900,0.918,0.157,1.132,1.075,0.567,0.738,
+0.977,1.145,0.969,0.613,0.469,0.712,0.705,0.596,0.436,0.477,
+0.639,0.085,0.513,0.629,0.582,0.562,0.446,0.794,1.121,1.110,
+0.714,0.745,1.181,1.410,1.187,0.808,1.005,0.171,1.158,1.112,
+0.726,1.109,0.819,0.939,0.950,1.198,0.872,0.995,0.124,0.200,
+0.151,0.152,1.175,0.194,1.374,1.394,0.701,1.303,1.171,1.235,
+0.822,0.591,0.495,0.775,0.877,0.914,0.709,0.839,1.088,0.126,
+1.272,1.386,1.005,1.129,1.263,1.688,1.690,0.874,0.646,1.238,
+0.866,0.592,0.500,0.695,0.772,0.084,0.409,0.641,0.934,0.735,
+0.528,1.127,1.093,0.696,0.431,0.644,0.715,0.489,0.471,0.541,
+0.581,0.058,0.413,0.571,0.485,0.492,0.390,0.661,0.849,0.801,
+0.487,0.802,0.081,0.077,0.062,0.119,0.672,0.075,0.466,0.705,
+0.579,0.699,0.572,0.895,1.015,0.584,0.473,0.976,0.776,0.560,
+0.494,0.848,0.697,0.062,0.454,0.790,0.935,0.692,0.766,1.665,
+1.776,1.231,0.733,1.244,1.357,1.219,0.932,0.997,0.934,0.120,
+0.692,0.908,0.808,0.925,0.566,1.085,1.436,1.304,0.667,0.900,
+1.386,1.188,1.122,1.046,1.014,0.150,1.035,1.177,0.631,0.886,
+0.628,0.871,1.033,1.368,0.828,1.021,0.115,0.182,0.169,0.162,
+1.119,0.181,1.048,1.445,0.731,1.349,0.990,1.309,1.095,0.775,
+0.582,1.009,1.245,1.203,0.996,1.371,0.986,0.113,0.837,1.331,
+0.885,0.941,0.922,1.681,1.475,0.911,0.639,0.861,1.238,1.106,
+1.060,1.058,1.082,0.170,0.826,1.119,0.787,0.909,0.860,1.359,
+0.130,0.121,0.073,0.095,0.122,0.183,0.175,0.125,0.100,0.035,
+0.142,0.159,0.080,0.153,0.105,0.130,1.031,1.302,0.890,1.071,
+0.118,0.152,0.160,0.172,1.298,0.231,1.033,1.329,0.742,1.351,
+1.216,1.329,0.915,0.696,0.645,0.845,1.250,1.174,1.223,1.433,
+1.131,0.143,1.231,1.737,0.915,1.003,1.331,1.802,1.534,0.756,
+0.628,1.071,0.837,0.614,0.550,0.648,0.867,0.106,0.540,0.824,
+0.905,0.706,0.634,1.372,1.212,0.906,0.580,0.839,0.951,0.900,
+0.811,0.811,0.804,0.085,0.750,1.047,0.747,0.825,0.713,1.100,
+1.178,1.229,0.896,1.317,0.107,0.124,0.096,0.149,1.329,0.150,
+1.275,1.770,1.053,1.445,1.414,1.727,1.544,0.876,0.807,1.602,
+1.283,1.175,1.042,1.469,1.504,0.126,1.428,2.194,1.829,1.525,
+1.852,2.819,4.005,1.844,1.585,3.452,1.679,1.005,0.867,1.291,
+1.612,0.146,0.679,1.207,2.612,1.850,1.041,2.266,1.647,0.916,
+0.656,1.008,0.961,0.567,0.515,0.639,0.938,0.076,0.564,0.681,
+0.966,0.889,0.584,1.001,1.251,0.884,0.688,1.227,0.104,0.077,
+0.064,0.143,0.771,0.065,0.437,0.690,0.780,0.834,0.653,1.150,
+2.059,0.939,0.858,1.822,1.261,0.806,0.698,1.210,1.044,0.084,
+0.675,1.042,1.658,1.035,1.117,2.725,2.057,1.055,0.684,1.312,
+1.166,0.701,0.522,0.719,0.827,0.084,0.373,0.638,0.955,0.809,
+0.464,1.016,1.155,0.744,0.442,0.698,0.705,0.455,0.395,0.493,
+0.733,0.075,0.387,0.581,0.654,0.611,0.407,0.688,0.892,0.734,
+0.528,0.815,0.073,0.065,0.050,0.080,0.759,0.087,0.392,0.613,
+0.659,0.794,0.544,0.802,0.911,0.584,0.408,0.811,0.760,0.577,
+0.412,0.666,0.674,0.051,0.410,0.672,0.782,0.621,0.630,1.374,
+1.703,0.756,0.599,1.079,1.173,0.801,0.634,0.944,1.136,0.125,
+0.420,0.717,1.323,0.976,0.626,1.504,0.119,0.080,0.054,0.100,
+0.095,0.076,0.063,0.092,0.092,0.013,0.056,0.082,0.153,0.161,
+0.077,0.161,0.777,0.630,0.594,0.818,0.072,0.057,0.058,0.093,
+0.707,0.076,0.389,0.570,0.648,0.745,0.611,0.853,0.841,0.487,
+0.486,0.896,0.898,0.624,0.573,0.925,0.804,0.078,0.506,0.838,
+0.965,0.774,0.821,1.586,2.379,0.911,0.760,1.762,1.007,0.592,
+0.570,0.886,1.279,0.112,0.547,0.916,2.429,1.299,0.887,2.278,
+1.382,0.789,0.602,0.994,0.837,0.575,0.529,0.719,0.935,0.072,
+0.547,0.821,1.320,1.144,0.716,1.395,1.019,0.810,0.709,1.096,
+0.080,0.058,0.059,0.100,0.861,0.066,0.541,0.842,0.948,1.006,
+0.890,1.380,1.811,0.913,0.870,1.999,1.134,0.728,0.718,1.228,
+1.461,0.102,0.930,1.618,2.545,1.807,1.960,4.383,2.678,1.506,
+1.119,2.117,1.544,1.087,0.856,1.145,1.190,0.129,0.623,1.011,
+1.462,1.330,0.821,1.643,1.765,1.141,0.885,1.230,1.254,0.923,
+0.916,0.932,1.025,0.124,0.939,0.974,0.808,0.941,0.709,1.107,
+1.052,0.999,0.691,1.081,0.102,0.111,0.083,0.138,0.765,0.093,
+0.571,0.886,0.675,0.897,0.739,1.201,1.191,0.697,0.600,1.136,
+1.134,0.930,0.671,1.036,0.809,0.083,0.567,0.910,1.043,0.814,
+0.911,1.913,1.982,1.336,0.737,1.307,1.399,1.177,0.775,0.956,
+0.900,0.118,0.457,0.746,0.862,0.933,0.548,1.071,1.472,1.326,
+0.682,0.956,1.275,0.972,0.808,0.880,1.071,0.183,0.700,0.951,
+0.709,0.990,0.611,0.914,0.984,1.125,0.704,0.979,0.117,0.160,
+0.114,0.131,1.067,0.165,0.713,1.035,0.740,1.195,0.865,1.210,
+0.876,0.669,0.459,0.822,1.016,1.073,0.633,0.871,0.763,0.077,
+0.520,0.856,0.769,0.750,0.710,1.422,1.473,0.804,0.602,0.954,
+1.224,1.008,0.911,1.078,1.045,0.161,0.610,0.778,0.937,0.974,
+0.692,1.336,0.089,0.100,0.061,0.098,0.105,0.149,0.115,0.118,
+0.099,0.041,0.143,0.108,0.093,0.183,0.096,0.128,0.933,1.017,
+0.821,1.006,0.103,0.131,0.121,0.135,1.086,0.202,0.723,0.964,
+0.723,1.295,1.026,1.247,0.900,0.584,0.547,0.928,1.138,1.146,
+0.988,1.239,1.015,0.110,0.799,1.151,0.937,0.918,1.090,1.835,
+1.643,0.870,0.688,1.262,0.917,0.640,0.573,0.790,0.949,0.094,
+0.517,0.768,1.282,0.995,0.755,1.653,1.409,1.109,0.795,1.149,
+1.060,1.029,0.877,1.045,1.045,0.142,0.865,1.084,1.147,1.818,
+0.971,1.513,0.924,0.937,0.811,1.133,0.081,0.091,0.080,0.111,
+0.895,0.099,0.765,1.076,0.826,1.165,1.128,1.549,1.293,0.770,
+0.724,1.259,1.084,0.891,0.746,1.152,1.187,0.099,0.897,1.456,
+1.610,1.452,1.546,3.023,2.112,1.278,0.896,1.637,1.097,0.875,
+0.623,0.926,1.082,0.102,0.538,0.840,1.132,0.886,0.601,1.188,
+1.604,1.256,0.687,1.064,1.151,0.930,0.752,0.815,1.136,0.135,
+0.901,1.056,0.903,1.119,0.733,1.215,1.106,1.243,0.841,1.241,
+0.130,0.151,0.126,0.198,1.014,0.136,0.703,1.015,0.749,1.238,
+0.862,1.313,1.162,0.773,0.595,1.235,1.043,0.901,0.693,1.092,
+1.133,0.115,0.796,1.342,1.257,1.028,1.234,2.466,0.126,0.107,
+0.078,0.113,0.125,0.122,0.072,0.094,0.080,0.014,0.058,0.076,
+0.079,0.098,0.064,0.112,0.107,0.119,0.057,0.076,0.132,0.156,
+0.099,0.094,0.103,0.032,0.127,0.128,0.072,0.117,0.072,0.101,
+0.074,0.115,0.071,0.085,0.016,0.031,0.030,0.019,0.115,0.033,
+0.111,0.125,0.070,0.147,0.114,0.142,0.102,0.082,0.054,0.115,
+0.135,0.150,0.099,0.140,0.103,0.018,0.088,0.136,0.104,0.106,
+0.108,0.207,1.463,0.947,0.640,0.829,1.189,1.169,0.982,0.948,
+1.055,0.183,0.795,0.931,0.834,1.002,0.914,1.362,0.100,0.121,
+0.061,0.074,0.104,0.141,0.104,0.078,0.105,0.038,0.141,0.107,
+0.095,0.167,0.121,0.131,1.047,1.340,0.939,1.021,0.131,0.187,
+0.154,0.138,1.271,0.204,0.713,1.024,0.700,1.259,1.114,1.242,
+0.928,0.707,0.584,0.814,1.169,1.276,1.023,1.107,1.247,0.158,
+1.248,1.438,0.958,1.081,1.359,1.889,1.449,0.832,0.604,1.090,
+0.909,0.705,0.530,0.716,0.910,0.097,0.641,0.903,1.008,0.842,
+0.706,1.414,1.510,1.233,0.770,1.089,1.187,1.185,0.843,0.860,
+1.224,0.141,1.123,1.318,1.167,1.494,1.118,1.573,1.302,1.342,
+0.976,1.345,0.127,0.154,0.119,0.138,1.396,0.152,1.190,1.524,
+1.158,1.672,1.601,1.886,1.348,0.859,0.770,1.236,1.105,1.053,
+0.857,1.093,1.542,0.135,1.479,1.904,1.674,1.618,1.885,2.922,
+4.093,1.551,1.119,2.506,1.348,0.823,0.670,1.143,1.291,0.116,
+0.624,1.111,1.814,1.271,0.898,2.197,1.587,0.912,0.532,0.947,
+0.927,0.623,0.482,0.713,0.903,0.075,0.573,0.842,0.843,0.741,
+0.545,1.088,1.281,1.155,0.665,1.420,0.102,0.099,0.065,0.163,
+0.875,0.084,0.526,0.921,0.912,1.007,0.724,1.432,1.916,1.025,
+0.835,2.023,1.161,0.811,0.688,1.374,1.188,0.093,0.746,1.444,
+2.003,1.360,1.419,3.924,2.071,1.182,0.810,1.475,1.287,0.941,
+0.685,0.942,0.926,0.089,0.529,0.896,1.018,0.940,0.614,1.395,
+1.427,1.039,0.532,0.901,1.075,0.957,0.592,0.798,0.934,0.095,
+0.688,1.010,0.779,0.880,0.580,1.102,1.058,1.031,0.611,1.132,
+0.075,0.093,0.061,0.106,0.984,0.101,0.687,1.096,0.886,1.193,
+0.843,1.530,1.275,0.850,0.635,1.344,1.109,0.928,0.687,1.278,
+1.048,0.085,0.710,1.275,1.252,1.166,1.062,2.598,2.113,1.194,
+0.880,1.314,1.516,1.116,0.967,1.378,1.400,0.169,0.808,1.304,
+1.377,1.256,1.127,2.260,0.124,0.124,0.063,0.104,0.102,0.113,
+0.084,0.105,0.089,0.018,0.086,0.113,0.119,0.147,0.096,0.183,
+1.414,1.427,0.987,1.501,0.107,0.119,0.097,0.156,1.459,0.167,
+1.067,1.492,1.156,1.575,1.469,2.143,1.584,1.094,0.919,1.507,
+1.602,1.341,1.233,1.881,1.745,0.151,1.460,2.246,1.643,1.444,
+1.863,3.290,4.093,1.532,1.159,2.469,1.446,0.965,0.793,1.229,
+1.633,0.136,0.853,1.530,2.365,1.598,1.360,3.691,2.115,1.440,
+0.867,1.453,1.468,1.287,0.889,1.239,1.478,0.114,1.016,1.624,
+1.671,1.546,1.193,2.576,2.061,1.771,1.309,2.252,0.123,0.122,
+0.092,0.178,1.972,0.151,1.512,2.417,2.056,2.274,2.204,3.579,
+4.081,1.674,1.505,3.443,2.059,1.585,1.399,2.590,2.662,0.165,
+2.159,3.843,3.912,2.535,3.088,6.639
+};
+
+static double hg19_biasTable23_4[] = {
+19.8,5.061,3.141,6.924,5.181,2.387,1.963,2.999,4.479,0.378,
+1.717,2.672,6.912,4.150,2.865,5.230,5.797,2.562,1.808,2.555,
+2.731,1.456,1.332,1.440,2.688,0.188,1.312,1.720,2.478,1.846,
+1.450,2.445,4.801,2.672,1.994,3.052,0.336,0.241,0.180,0.384,
+2.201,0.191,1.242,1.671,2.214,2.183,1.500,2.357,7.122,2.761,
+2.741,5.569,3.826,2.483,2.112,3.872,3.144,0.238,1.615,2.608,
+4.752,2.441,2.445,4.490,6.902,2.766,1.718,2.864,2.970,1.723,
+1.217,1.463,2.462,0.227,0.948,1.521,2.214,1.909,1.043,1.970,
+3.376,1.805,1.055,1.465,1.786,1.083,0.860,0.901,1.813,0.153,
+0.898,1.191,1.247,1.115,0.752,1.150,2.551,1.960,1.187,1.716,
+0.182,0.148,0.110,0.164,1.714,0.157,0.908,1.287,1.231,1.489,
+0.947,1.447,2.312,1.342,0.996,1.809,1.852,1.301,1.053,1.453,
+1.790,0.126,0.907,1.428,1.809,1.335,1.174,2.343,5.276,1.795,
+1.575,2.336,2.576,1.395,1.282,1.569,2.494,0.257,0.993,1.690,
+2.247,1.742,1.327,2.813,0.316,0.190,0.126,0.204,0.221,0.172,
+0.122,0.150,0.197,0.027,0.125,0.184,0.259,0.288,0.171,0.313,
+1.854,1.322,1.188,1.488,0.162,0.109,0.106,0.164,1.405,0.133,
+0.790,1.076,1.088,1.203,0.988,1.269,1.829,1.056,1.020,1.697,
+1.993,1.308,1.136,1.620,1.637,0.141,1.113,1.582,1.533,1.296,
+1.367,2.337,7.638,2.511,2.032,4.442,2.484,1.299,1.272,1.724,
+3.131,0.293,1.230,2.157,4.218,2.571,2.015,5.128,3.898,2.218,
+1.566,2.324,2.328,1.506,1.270,1.537,2.334,0.157,1.316,2.069,
+2.741,2.259,1.747,3.181,2.459,1.827,1.430,2.073,0.188,0.134,
+0.118,0.186,1.722,0.122,0.998,1.545,1.683,1.722,1.451,2.069,
+3.907,2.056,1.710,3.603,1.966,1.302,1.197,1.997,2.541,0.159,
+1.492,2.514,3.418,2.251,2.265,4.472,6.555,3.187,2.078,3.590,
+2.609,1.665,1.269,1.549,1.992,0.198,0.840,1.462,2.212,1.930,
+1.147,2.143,2.984,1.952,1.155,1.608,1.781,1.147,0.992,1.071,
+1.380,0.145,0.816,1.193,1.077,1.080,0.768,1.358,1.921,1.726,
+1.100,1.584,0.174,0.179,0.115,0.189,1.103,0.109,0.742,0.935,
+0.904,1.166,0.840,1.327,2.037,0.996,0.958,1.613,1.705,1.313,
+0.913,1.348,1.229,0.125,0.635,1.053,1.370,0.951,0.977,2.073,
+3.598,2.332,1.089,1.766,1.984,1.504,0.913,0.975,1.423,0.155,
+0.587,0.956,1.146,1.216,0.644,1.190,1.950,1.404,0.727,0.961,
+1.224,0.703,0.707,0.688,1.086,0.124,0.614,0.894,0.684,0.795,
+0.530,0.757,1.486,1.687,0.795,1.103,0.136,0.198,0.095,0.115,
+1.116,0.160,0.674,0.913,0.718,1.286,0.705,1.063,1.204,0.829,
+0.527,0.891,1.163,1.076,0.603,0.798,1.116,0.095,0.496,0.842,
+0.859,0.762,0.590,1.264,2.396,1.370,0.903,1.509,1.768,1.283,
+1.087,1.157,1.349,0.163,0.658,1.109,1.101,1.073,0.827,1.567,
+0.144,0.149,0.079,0.185,0.123,0.155,0.106,0.097,0.108,0.028,
+0.094,0.129,0.098,0.157,0.092,0.144,1.338,1.394,1.083,1.171,
+0.144,0.142,0.109,0.125,1.064,0.133,0.710,0.933,0.698,1.075,
+0.886,1.070,1.021,0.646,0.620,0.936,1.275,1.135,0.891,1.083,
+0.995,0.094,0.764,1.093,0.830,0.755,0.941,1.449,2.337,1.058,
+0.877,1.517,1.294,0.804,0.738,0.825,1.129,0.099,0.513,0.915,
+1.377,0.942,0.730,1.677,1.781,1.257,0.912,1.379,1.188,1.046,
+0.795,0.914,0.944,0.093,0.688,1.259,0.928,1.088,0.780,1.402,
+1.325,1.233,1.008,1.282,0.106,0.100,0.073,0.109,0.977,0.088,
+0.687,1.024,0.835,1.047,0.910,1.330,1.586,0.855,0.846,1.376,
+1.127,0.874,0.708,1.055,1.250,0.094,0.816,1.387,1.556,1.282,
+1.329,2.338,4.679,1.958,1.877,2.617,1.556,1.013,0.811,1.082,
+1.929,0.162,0.773,1.158,1.781,1.400,0.844,1.695,2.505,1.585,
+0.997,1.368,1.289,0.861,0.776,0.829,1.504,0.142,0.822,1.072,
+1.116,1.212,0.693,1.186,1.718,1.625,1.184,1.584,0.172,0.191,
+0.127,0.227,1.069,0.127,0.593,0.907,0.910,1.333,0.746,1.404,
+1.842,1.088,0.992,1.784,1.403,1.212,0.865,1.324,1.382,0.133,
+0.778,1.351,1.587,1.150,1.278,3.177,0.266,0.178,0.114,0.183,
+0.176,0.147,0.089,0.110,0.138,0.022,0.071,0.105,0.127,0.149,
+0.085,0.150,0.192,0.152,0.087,0.106,0.147,0.134,0.090,0.088,
+0.132,0.027,0.087,0.104,0.096,0.130,0.066,0.103,0.133,0.165,
+0.095,0.121,0.019,0.031,0.023,0.021,0.125,0.028,0.088,0.119,
+0.095,0.167,0.088,0.143,0.210,0.134,0.102,0.203,0.221,0.238,
+0.151,0.216,0.164,0.020,0.112,0.174,0.177,0.151,0.145,0.314,
+1.784,1.010,0.745,0.951,1.126,0.896,0.721,0.774,1.279,0.170,
+0.753,1.014,0.959,0.896,0.764,1.110,0.136,0.133,0.060,0.080,
+0.088,0.103,0.071,0.063,0.111,0.025,0.085,0.093,0.108,0.136,
+0.080,0.104,1.044,1.157,0.716,0.785,0.103,0.151,0.082,0.097,
+1.002,0.154,0.484,0.689,0.627,0.933,0.630,0.761,0.946,0.632,
+0.527,0.693,0.936,0.945,0.680,0.837,1.071,0.128,0.810,1.078,
+0.744,0.823,0.759,1.149,1.760,0.842,0.638,1.165,1.021,0.588,
+0.453,0.607,1.067,0.100,0.543,0.882,1.240,0.875,0.627,1.370,
+1.819,1.297,0.737,1.066,1.207,0.958,0.681,0.733,1.142,0.106,
+0.738,1.084,1.139,1.177,0.756,1.189,1.291,1.204,0.832,1.161,
+0.115,0.126,0.075,0.118,1.107,0.132,0.718,1.209,0.944,1.248,
+0.886,1.351,1.424,0.792,0.791,1.071,1.132,0.935,0.740,0.983,
+1.374,0.122,0.998,1.499,1.592,1.332,1.307,2.391,6.410,2.502,
+2.025,4.914,1.964,1.084,1.021,1.489,2.025,0.180,0.862,1.610,
+3.590,2.029,1.360,3.292,2.341,1.176,0.827,1.402,1.155,0.646,
+0.601,0.799,1.312,0.097,0.708,1.129,1.264,0.960,0.683,1.376,
+2.176,1.520,1.034,2.095,0.168,0.132,0.095,0.239,1.173,0.102,
+0.549,1.060,1.232,1.195,0.758,1.672,2.936,1.361,1.396,3.567,
+1.723,1.135,1.047,2.013,1.699,0.133,1.027,1.851,2.725,1.703,
+1.821,5.141,3.554,1.882,1.246,2.528,2.034,1.294,0.917,1.294,
+1.661,0.151,0.761,1.347,1.625,1.426,0.877,1.721,2.250,1.283,
+0.776,1.264,1.379,0.959,0.672,0.834,1.325,0.149,0.734,1.158,
+1.081,1.068,0.582,1.106,1.725,1.376,0.817,1.480,0.111,0.108,
+0.070,0.132,1.276,0.117,0.706,1.209,1.144,1.346,0.823,1.559,
+2.098,1.083,0.923,1.978,1.648,1.290,0.918,1.653,1.543,0.108,
+0.922,1.565,1.773,1.308,1.281,2.812,2.073,1.160,0.890,1.542,
+1.495,0.926,0.821,1.165,1.496,0.166,0.795,1.274,1.382,1.189,
+0.942,1.730,0.150,0.112,0.070,0.124,0.099,0.090,0.071,0.086,
+0.110,0.017,0.088,0.170,0.124,0.137,0.083,0.150,1.255,1.141,
+0.763,1.152,0.094,0.080,0.064,0.111,1.321,0.111,0.625,0.907,
+0.960,1.051,0.884,1.198,1.286,0.825,0.750,1.235,1.320,0.957,
+0.852,1.346,1.465,0.128,0.883,1.482,1.243,1.068,1.096,1.955,
+3.757,1.486,1.246,2.483,1.562,0.930,1.082,1.143,1.775,0.148,
+0.889,1.482,2.537,1.575,1.334,3.278,1.773,1.058,0.753,1.251,
+1.108,0.739,0.663,0.839,1.150,0.081,0.739,1.321,1.405,1.194,
+0.854,1.705,2.004,1.620,1.126,1.869,0.135,0.104,0.074,0.144,
+1.618,0.115,0.910,1.567,1.713,1.743,1.373,2.135,3.196,1.491,
+1.415,3.050,1.956,1.478,1.205,1.987,2.425,0.132,1.577,2.726,
+3.951,2.418,2.473,5.081,6.078,3.360,2.568,4.261,3.525,2.075,
+1.552,1.922,2.681,0.290,1.235,1.965,3.406,2.741,1.607,2.745,
+2.968,2.067,1.253,1.502,2.023,1.376,1.108,1.109,1.737,0.170,
+1.115,1.342,1.286,1.357,1.016,1.504,1.758,1.552,1.086,1.530,
+0.174,0.154,0.117,0.200,1.159,0.127,0.688,0.895,1.045,1.323,
+0.951,1.396,2.303,1.227,0.983,2.026,1.943,1.422,1.003,1.623,
+1.509,0.181,0.858,1.377,1.766,1.320,1.380,2.515,3.782,2.337,
+1.178,1.846,3.236,1.850,1.051,1.156,1.847,0.277,0.851,1.203,
+1.409,1.687,0.805,1.492,2.233,1.725,0.817,1.034,1.622,1.060,
+0.817,0.849,1.437,0.213,0.974,1.236,0.877,1.161,0.683,1.073,
+1.413,1.521,0.775,0.970,0.209,0.153,0.112,0.125,1.237,0.173,
+0.836,1.019,0.839,1.403,0.885,1.098,1.166,0.859,0.494,0.863,
+1.353,1.061,0.628,0.883,1.063,0.108,0.690,1.017,0.969,0.990,
+0.889,1.590,2.035,1.200,0.754,1.188,2.003,1.371,0.934,1.096,
+1.657,0.217,0.733,1.097,1.193,1.142,0.799,1.569,0.164,0.171,
+0.091,0.126,0.229,0.245,0.127,0.135,0.145,0.040,0.122,0.150,
+0.126,0.223,0.111,0.173,0.948,1.053,0.699,0.798,0.117,0.104,
+0.078,0.111,0.893,0.125,0.658,0.897,0.617,0.890,0.686,0.847,
+0.877,0.613,0.489,0.774,1.175,1.025,0.704,0.969,0.997,0.122,
+0.772,1.010,0.852,0.924,0.927,1.425,2.264,1.077,0.814,1.704,
+1.188,0.714,0.540,0.759,1.278,0.151,0.590,0.984,1.443,1.031,
+0.763,1.859,1.814,1.424,0.890,1.290,1.454,1.231,0.885,0.985,
+1.085,0.122,0.807,1.171,0.998,1.211,0.810,1.356,1.011,0.905,
+0.774,1.024,0.112,0.080,0.107,0.121,0.782,0.084,0.572,0.806,
+0.707,0.951,0.767,1.050,1.391,0.800,0.688,1.366,0.902,0.731,
+0.655,0.940,1.212,0.104,0.842,1.367,1.567,1.393,1.380,2.614,
+3.567,2.298,1.595,2.381,2.461,1.999,1.336,1.426,1.394,0.178,
+0.707,1.115,1.442,1.446,0.869,1.560,2.211,1.792,1.025,1.207,
+1.880,1.444,1.260,1.099,1.161,0.176,0.892,1.129,0.721,1.001,
+0.698,1.181,1.105,1.292,0.884,1.063,0.132,0.165,0.127,0.154,
+0.751,0.107,0.621,0.719,0.604,0.930,0.706,1.022,1.131,0.666,
+0.567,1.033,1.180,1.136,0.754,0.987,0.851,0.113,0.561,0.804,
+0.963,0.787,0.804,1.552,2.196,1.861,0.829,1.145,1.829,1.817,
+0.892,0.883,1.101,0.164,0.638,0.849,0.777,1.046,0.546,0.908,
+1.456,1.324,0.649,0.706,0.906,0.387,0.633,0.582,0.936,0.198,
+0.726,0.971,0.486,0.877,0.539,0.686,0.943,1.461,0.683,0.798,
+0.135,0.216,0.125,0.124,0.901,0.181,0.699,0.917,0.532,1.267,
+0.784,0.934,0.724,0.635,0.375,0.579,0.935,1.137,0.542,0.702,
+0.762,0.097,0.558,0.877,0.583,0.689,0.575,1.088,1.615,1.180,
+0.686,0.968,1.892,1.836,1.137,1.073,1.242,0.234,0.706,0.993,
+0.830,1.223,0.723,1.210,0.123,0.190,0.089,0.116,0.232,0.338,
+0.191,0.128,0.146,0.081,0.184,0.150,0.084,0.338,0.107,0.118,
+1.051,1.329,0.833,0.849,0.254,0.244,0.146,0.135,0.954,0.172,
+0.760,0.907,0.547,1.149,0.925,0.918,0.753,0.583,0.488,0.652,
+1.548,1.768,1.129,1.117,1.012,0.129,0.778,1.017,0.718,0.822,
+0.907,1.279,1.340,0.830,0.581,0.970,0.994,0.782,0.487,0.603,
+0.765,0.086,0.416,0.653,0.826,0.719,0.496,1.067,1.177,1.161,
+0.754,1.053,1.146,1.375,0.831,0.853,0.783,0.141,0.693,0.935,
+0.577,1.108,0.624,0.909,0.824,1.026,0.787,0.883,0.101,0.116,
+0.077,0.090,0.603,0.080,0.587,0.724,0.515,0.839,0.739,0.930,
+0.915,0.572,0.481,0.811,0.816,0.793,0.647,0.764,0.818,0.074,
+0.586,0.900,0.946,0.982,0.951,1.654,2.261,1.582,1.083,1.668,
+1.514,1.055,0.747,0.991,1.216,0.142,0.607,0.897,1.163,1.131,
+0.748,1.294,1.800,1.691,0.758,1.080,1.412,1.246,0.893,0.949,
+1.520,0.220,1.074,1.240,0.821,1.235,0.676,1.085,1.035,1.415,
+0.791,1.106,0.131,0.171,0.121,0.201,0.915,0.149,0.634,0.936,
+0.639,1.128,0.658,1.276,1.025,0.703,0.511,1.078,1.013,1.002,
+0.663,1.020,1.039,0.123,0.737,1.172,1.008,0.832,0.943,2.083,
+0.157,0.135,0.069,0.104,0.244,0.193,0.127,0.114,0.113,0.029,
+0.076,0.098,0.088,0.133,0.112,0.150,0.123,0.161,0.067,0.080,
+0.177,0.223,0.132,0.119,0.146,0.069,0.141,0.148,0.069,0.140,
+0.073,0.092,0.085,0.171,0.085,0.089,0.029,0.065,0.050,0.029,
+0.130,0.060,0.142,0.152,0.070,0.178,0.114,0.133,0.094,0.082,
+0.050,0.100,0.168,0.222,0.119,0.155,0.114,0.024,0.116,0.152,
+0.093,0.105,0.115,0.186,1.439,1.253,0.668,0.859,1.336,1.603,
+0.972,0.952,1.373,0.278,1.563,1.451,0.804,1.085,0.844,1.174,
+0.120,0.270,0.084,0.086,0.137,0.329,0.158,0.102,0.141,0.069,
+0.186,0.157,0.083,0.193,0.103,0.106,0.827,1.538,0.750,0.778,
+0.129,0.241,0.135,0.128,1.134,0.254,0.695,0.969,0.571,1.253,
+0.812,0.901,0.681,0.684,0.450,0.600,1.073,1.777,0.859,0.969,
+1.250,0.230,1.294,1.242,0.683,0.968,0.952,1.195,1.161,0.763,
+0.508,0.946,0.797,0.607,0.396,0.538,0.818,0.103,0.524,0.922,
+0.795,0.757,0.503,1.114,1.329,1.444,0.677,0.873,1.316,1.734,
+0.820,0.872,1.159,0.187,0.981,1.242,0.834,1.341,0.767,1.075,
+0.911,1.251,0.811,0.904,0.095,0.144,0.093,0.103,1.065,0.177,
+0.875,1.124,0.727,1.374,0.911,1.206,0.839,0.617,0.488,0.803,
+0.792,0.853,0.608,0.760,1.112,0.123,1.077,1.338,1.097,1.185,
+1.128,1.712,2.310,1.158,0.895,1.819,1.118,0.668,0.576,0.977,
+1.049,0.101,0.465,0.957,1.305,0.934,0.633,1.484,1.370,0.965,
+0.509,0.857,0.811,0.579,0.464,0.684,0.799,0.077,0.495,0.981,
+0.705,0.607,0.433,0.887,0.891,0.851,0.485,0.890,0.072,0.068,
+0.045,0.112,0.585,0.061,0.346,0.652,0.573,0.655,0.442,0.915,
+1.202,0.655,0.559,1.312,0.803,0.599,0.461,0.964,0.795,0.067,
+0.468,0.981,1.114,0.755,0.851,2.158,1.982,1.236,0.774,1.291,
+1.564,1.135,1.015,1.019,1.161,0.141,0.637,1.040,0.980,1.095,
+0.716,1.255,1.345,1.086,0.527,0.805,1.193,1.045,0.671,0.820,
+1.102,0.183,0.693,1.116,0.761,1.017,0.543,0.993,0.843,1.140,
+0.517,0.754,0.083,0.120,0.071,0.101,0.832,0.125,0.628,0.984,
+0.714,1.195,0.683,1.112,0.882,0.640,0.487,0.899,1.044,1.034,
+0.647,1.125,0.875,0.089,0.682,1.096,0.909,0.896,0.876,1.699,
+1.288,0.858,0.581,0.881,1.111,0.953,0.698,0.889,1.168,0.158,
+0.715,1.062,0.872,0.882,0.760,1.344,0.088,0.097,0.048,0.076,
+0.083,0.127,0.081,0.076,0.077,0.019,0.074,0.099,0.072,0.111,
+0.071,0.106,0.780,0.903,0.527,0.762,0.079,0.085,0.060,0.097,
+0.919,0.120,0.596,0.843,0.630,0.943,0.727,0.960,0.738,0.597,
+0.477,0.758,0.953,0.902,0.634,1.007,1.121,0.159,0.845,1.192,
+0.842,0.892,0.967,1.507,1.673,0.869,0.672,1.272,0.853,0.632,
+0.481,0.632,0.985,0.105,0.549,0.956,1.068,0.777,0.681,1.602,
+1.185,0.849,0.524,0.846,0.891,0.799,0.551,0.691,0.776,0.068,
+0.550,0.903,0.840,0.813,0.630,1.162,1.177,1.064,0.716,1.095,
+0.137,0.080,0.057,0.100,1.000,0.096,0.737,1.114,0.981,1.257,
+1.001,1.467,1.532,0.887,0.809,1.639,1.338,1.122,0.865,1.258,
+1.523,0.123,1.285,1.952,2.119,1.646,1.809,2.634,4.406,1.951,
+1.962,2.973,2.090,1.300,1.163,1.415,2.291,0.200,0.880,1.260,
+2.468,1.892,1.072,1.989,1.686,1.052,0.710,1.011,1.169,0.721,
+0.700,0.795,1.054,0.114,0.625,0.759,0.883,0.863,0.623,0.981,
+1.701,1.118,0.793,1.171,0.131,0.102,0.086,0.165,0.890,0.086,
+0.556,0.760,0.777,0.905,0.699,1.054,1.809,0.919,0.734,1.518,
+1.383,0.966,0.782,1.238,1.006,0.090,0.594,0.934,1.335,0.817,
+0.994,1.988,3.074,1.663,1.098,1.799,2.003,1.381,1.236,1.346,
+1.583,0.200,0.692,1.026,1.315,1.447,0.698,1.341,1.659,1.194,
+0.689,0.938,1.210,0.714,0.808,0.902,1.482,0.319,0.748,0.972,
+0.830,1.145,0.541,0.829,1.449,1.449,0.916,1.208,0.158,0.151,
+0.133,0.168,1.243,0.155,0.825,1.106,0.828,1.232,0.873,1.077,
+1.264,0.817,0.565,1.079,1.412,1.187,0.856,1.195,1.023,0.098,
+0.622,0.971,0.937,0.849,0.867,1.615,2.230,0.961,0.775,1.264,
+1.876,1.233,1.233,1.274,3.742,0.350,0.906,1.142,1.724,1.326,
+0.884,1.662,0.181,0.148,0.091,0.143,0.193,0.174,0.152,0.172,
+0.252,0.046,0.145,0.155,0.212,0.314,0.131,0.214,0.972,0.882,
+0.805,0.884,0.117,0.106,0.104,0.140,0.987,0.165,0.591,0.705,
+0.652,1.076,0.653,0.788,0.876,0.528,0.490,0.787,1.250,1.018,
+0.888,1.184,1.014,0.116,0.660,0.883,0.983,0.893,0.863,1.444,
+2.303,0.898,0.765,1.594,1.130,0.704,0.683,0.976,1.712,0.171,
+0.632,0.966,2.057,1.286,0.809,2.010,1.613,0.996,0.732,1.085,
+1.260,0.845,0.886,1.017,1.315,0.129,0.746,1.017,1.332,1.220,
+0.737,1.323,1.114,0.978,0.895,1.184,0.112,0.087,0.091,0.146,
+0.965,0.099,0.669,0.986,0.914,1.164,0.930,1.343,1.645,0.854,
+0.772,1.595,1.082,0.787,0.783,1.239,1.488,0.124,0.991,1.629,
+2.421,1.748,1.885,3.867,0.268,0.161,0.122,0.178,0.186,0.149,
+0.116,0.146,0.146,0.022,0.070,0.098,0.147,0.160,0.088,0.145,
+0.197,0.141,0.099,0.130,0.169,0.140,0.139,0.153,0.115,0.023,
+0.099,0.103,0.080,0.109,0.079,0.118,0.120,0.130,0.087,0.111,
+0.023,0.024,0.021,0.025,0.092,0.016,0.073,0.090,0.066,0.107,
+0.077,0.108,0.128,0.082,0.066,0.122,0.159,0.144,0.110,0.143,
+0.115,0.015,0.072,0.124,0.112,0.088,0.105,0.189,0.218,0.172,
+0.094,0.148,0.189,0.196,0.144,0.179,0.133,0.031,0.071,0.104,
+0.094,0.136,0.069,0.111,0.181,0.178,0.091,0.110,0.182,0.145,
+0.160,0.179,0.154,0.045,0.106,0.128,0.074,0.128,0.073,0.100,
+0.132,0.182,0.115,0.118,0.030,0.049,0.045,0.030,0.149,0.045,
+0.121,0.134,0.071,0.162,0.119,0.123,0.116,0.090,0.059,0.103,
+0.175,0.204,0.134,0.140,0.110,0.016,0.079,0.112,0.083,0.090,
+0.091,0.164,0.161,0.100,0.067,0.097,0.177,0.180,0.159,0.131,
+0.217,0.046,0.109,0.100,0.106,0.142,0.089,0.132,0.017,0.025,
+0.015,0.018,0.031,0.051,0.045,0.030,0.036,0.027,0.044,0.029,
+0.014,0.043,0.021,0.020,0.108,0.149,0.140,0.124,0.027,0.043,
+0.043,0.029,0.212,0.100,0.127,0.124,0.084,0.268,0.122,0.113,
+0.097,0.065,0.067,0.090,0.163,0.192,0.165,0.169,0.129,0.026,
+0.112,0.123,0.093,0.114,0.114,0.164,0.222,0.153,0.109,0.170,
+0.146,0.114,0.100,0.123,0.164,0.021,0.082,0.110,0.199,0.163,
+0.119,0.239,0.249,0.212,0.156,0.192,0.255,0.239,0.228,0.227,
+0.234,0.038,0.180,0.200,0.191,0.281,0.161,0.231,0.126,0.148,
+0.130,0.146,0.018,0.025,0.021,0.026,0.142,0.027,0.123,0.154,
+0.109,0.177,0.150,0.188,0.184,0.120,0.098,0.169,0.154,0.148,
+0.125,0.166,0.174,0.019,0.136,0.201,0.228,0.202,0.216,0.384,
+1.906,1.053,0.821,1.271,1.067,0.819,0.616,0.775,0.980,0.110,
+0.579,0.691,0.837,0.728,0.513,0.835,1.230,0.935,0.572,0.752,
+0.993,0.785,0.784,0.683,0.995,0.131,0.882,0.866,0.588,0.761,
+0.522,0.737,1.070,1.230,1.041,1.080,0.157,0.170,0.328,0.228,
+1.194,0.162,0.698,0.845,0.647,1.124,0.641,0.911,0.888,0.582,
+0.500,1.010,0.910,0.788,0.948,1.034,0.991,0.106,0.677,0.983,
+0.829,0.689,0.781,1.539,0.140,0.115,0.064,0.104,0.141,0.167,
+0.100,0.107,0.087,0.021,0.062,0.076,0.065,0.086,0.050,0.084,
+0.101,0.098,0.051,0.060,0.119,0.123,0.112,0.090,0.097,0.032,
+0.108,0.101,0.051,0.076,0.048,0.062,0.106,0.155,0.225,0.108,
+0.027,0.046,0.242,0.036,0.123,0.041,0.132,0.124,0.064,0.130,
+0.093,0.096,0.113,0.078,0.066,0.120,0.153,0.177,0.293,0.180,
+0.110,0.018,0.094,0.133,0.080,0.082,0.086,0.151,1.206,0.822,
+0.555,0.638,1.157,1.237,1.091,0.863,1.027,0.178,0.804,0.816,
+0.570,0.697,0.641,0.838,0.100,0.137,0.074,0.069,0.120,0.203,
+0.254,0.091,0.115,0.043,0.173,0.117,0.067,0.124,0.091,0.087,
+0.904,1.039,0.795,0.804,0.129,0.157,0.157,0.166,0.979,0.180,
+0.394,0.578,0.449,0.812,0.652,0.698,0.633,0.448,0.396,0.519,
+0.883,0.916,0.768,0.922,0.864,0.124,0.808,0.851,0.523,0.630,
+0.706,0.903,1.039,0.609,0.476,0.771,0.739,0.566,0.396,0.483,
+0.713,0.089,0.492,0.678,0.652,0.579,0.420,0.797,1.085,0.951,
+0.576,0.664,1.064,1.118,0.989,0.691,0.933,0.133,0.884,0.948,
+0.789,0.954,0.644,0.834,0.962,1.168,0.763,0.957,0.115,0.171,
+0.118,0.164,1.063,0.176,0.995,1.107,0.682,1.149,0.920,1.066,
+0.825,0.556,0.455,0.734,0.894,0.870,0.605,0.810,0.975,0.104,
+0.906,1.105,0.919,0.939,0.964,1.415,2.021,0.920,0.699,1.370,
+0.902,0.561,0.476,0.690,0.824,0.087,0.382,0.631,1.128,0.750,
+0.513,1.127,1.151,0.655,0.428,0.657,0.633,0.428,0.381,0.482,
+0.559,0.050,0.357,0.539,0.492,0.433,0.334,0.607,0.923,0.998,
+0.528,0.865,0.081,0.077,0.067,0.120,0.645,0.066,0.361,0.600,
+0.622,0.703,0.485,0.817,1.172,0.690,0.563,1.179,0.811,0.578,
+0.560,0.962,0.746,0.063,0.427,0.755,1.081,0.687,0.777,1.709,
+2.037,1.283,0.792,1.446,1.332,1.184,0.825,0.986,1.002,0.110,
+0.571,0.880,0.933,0.940,0.548,1.145,1.363,1.036,0.568,0.860,
+1.094,0.947,0.751,0.855,0.889,0.101,0.671,0.934,0.628,0.711,
+0.488,0.771,1.158,1.302,0.995,1.044,0.100,0.130,0.245,0.135,
+0.946,0.120,0.747,1.059,0.747,1.138,0.780,1.154,1.185,0.797,
+0.667,1.150,1.213,1.112,1.048,1.271,0.977,0.090,0.687,1.090,
+0.942,0.879,0.824,1.568,1.393,0.876,0.651,0.896,1.168,1.001,
+0.880,0.988,1.065,0.145,0.674,1.020,0.804,0.813,0.722,1.291,
+0.119,0.116,0.060,0.088,0.113,0.178,0.114,0.107,0.085,0.023,
+0.096,0.113,0.078,0.119,0.078,0.110,0.928,1.267,0.700,0.969,
+0.092,0.117,0.091,0.167,0.985,0.146,0.631,0.876,0.692,1.181,
+0.788,0.977,0.873,0.650,0.556,0.808,1.102,0.991,0.919,1.308,
+1.007,0.102,0.844,1.157,0.896,0.885,1.039,1.445,1.817,0.818,
+0.749,1.268,0.914,0.640,0.580,0.690,1.041,0.137,0.566,0.974,
+0.973,0.702,0.601,1.484,1.352,0.974,0.575,0.885,1.000,0.884,
+0.713,0.779,0.820,0.077,0.689,0.991,0.828,0.777,0.648,1.093,
+1.218,1.233,0.848,1.296,0.109,0.128,0.081,0.146,1.193,0.129,
+0.957,1.419,1.077,1.360,1.172,1.534,1.728,0.915,0.846,1.701,
+1.340,1.321,0.934,1.414,1.484,0.117,1.165,1.914,2.047,1.469,
+1.676,2.862,5.201,2.447,2.174,4.777,2.334,1.296,1.169,1.705,
+2.365,0.204,0.908,1.635,4.218,2.661,1.393,3.071,2.043,1.008,
+0.762,1.193,1.169,0.643,0.582,0.734,1.214,0.086,0.663,0.800,
+1.163,0.958,0.575,1.073,1.692,1.086,0.816,1.508,0.139,0.089,
+0.074,0.171,0.951,0.074,0.494,0.809,1.042,1.003,0.706,1.373,
+3.319,1.337,1.179,2.523,1.726,1.047,0.915,1.602,1.449,0.111,
+0.829,1.357,2.349,1.373,1.414,3.591,2.572,1.178,0.792,1.552,
+1.332,0.719,0.567,0.808,1.087,0.102,0.434,0.757,1.362,1.065,
+0.530,1.242,1.321,0.749,0.456,0.760,0.725,0.387,0.371,0.517,
+0.855,0.092,0.402,0.585,0.764,0.639,0.380,0.697,1.199,0.906,
+0.641,1.008,0.096,0.064,0.056,0.090,0.872,0.068,0.406,0.653,
+0.825,0.821,0.594,0.937,1.262,0.716,0.550,1.101,0.965,0.645,
+0.503,0.795,0.849,0.056,0.443,0.775,0.990,0.747,0.691,1.689,
+2.399,0.909,0.767,1.478,1.436,0.784,0.720,1.154,1.810,0.167,
+0.540,0.901,2.058,1.291,0.762,1.983,0.169,0.093,0.068,0.134,
+0.121,0.082,0.072,0.118,0.131,0.013,0.063,0.099,0.225,0.198,
+0.087,0.203,0.954,0.706,0.691,0.964,0.082,0.054,0.054,0.103,
+0.792,0.076,0.367,0.572,0.804,0.809,0.573,0.888,1.022,0.561,
+0.597,1.097,1.022,0.666,0.622,1.075,0.894,0.073,0.510,0.862,
+1.157,0.879,0.862,1.785,3.454,1.188,1.058,2.546,1.366,0.710,
+0.681,1.182,2.159,0.174,0.799,1.315,4.705,2.088,1.275,3.578,
+1.906,0.957,0.801,1.324,1.115,0.680,0.663,0.959,1.391,0.094,
+0.702,1.074,2.009,1.469,0.866,1.785,1.366,0.991,0.920,1.374,
+0.104,0.069,0.071,0.122,1.166,0.078,0.640,1.039,1.269,1.240,
+0.959,1.616,2.529,1.197,1.115,2.501,1.429,0.940,0.872,1.515,
+1.924,0.124,1.125,2.027,3.630,2.458,2.278,5.575,3.464,1.763,
+1.314,2.594,1.893,1.181,0.955,1.311,1.545,0.153,0.649,1.104,
+1.946,1.789,0.895,1.883,2.089,1.166,0.836,1.412,1.386,0.885,
+0.800,0.953,1.034,0.105,0.909,0.924,0.895,0.932,0.654,1.164,
+1.328,1.176,0.778,1.286,0.128,0.115,0.080,0.147,0.841,0.091,
+0.545,0.877,0.834,1.014,0.711,1.279,1.508,0.836,0.716,1.365,
+1.387,1.026,0.754,1.187,1.023,0.098,0.605,1.028,1.271,0.887,
+0.973,2.070,2.378,1.365,0.800,1.574,1.524,1.091,0.748,0.984,
+1.024,0.116,0.432,0.796,1.083,1.129,0.530,1.167,1.503,1.120,
+0.589,0.940,1.167,0.774,0.653,0.814,0.931,0.109,0.533,0.771,
+0.689,0.786,0.482,0.794,1.146,1.214,0.700,1.040,0.137,0.153,
+0.106,0.133,0.984,0.126,0.574,0.849,0.784,1.129,0.721,1.165,
+1.072,0.771,0.521,0.962,1.173,1.184,0.668,0.895,0.780,0.068,
+0.454,0.803,0.840,0.729,0.646,1.444,1.894,0.882,0.638,1.140,
+1.332,0.909,0.829,1.044,1.266,0.160,0.559,0.751,1.208,1.107,
+0.698,1.476,0.100,0.088,0.056,0.102,0.101,0.107,0.089,0.105,
+0.098,0.024,0.092,0.090,0.107,0.163,0.079,0.122,1.033,1.040,
+0.831,1.033,0.099,0.104,0.087,0.117,1.056,0.180,0.557,0.800,
+0.766,1.274,0.768,1.101,1.057,0.602,0.606,1.021,1.192,1.061,
+0.899,1.205,1.024,0.095,0.645,0.977,1.018,0.866,0.947,1.713,
+2.225,1.056,0.854,1.614,1.073,0.678,0.616,0.865,1.249,0.112,
+0.599,0.892,1.860,1.255,0.888,2.085,1.681,1.125,0.896,1.328,
+1.215,0.968,0.909,1.079,1.182,0.120,0.845,1.107,1.369,1.624,
+0.964,1.585,1.129,1.048,0.884,1.293,0.093,0.086,0.066,0.110,
+0.986,0.088,0.686,1.054,0.980,1.187,0.938,1.559,1.692,0.909,
+0.833,1.504,1.308,1.002,0.828,1.170,1.386,0.101,0.888,1.517,
+2.020,1.538,1.510,3.042,2.149,1.218,0.855,1.668,1.121,0.815,
+0.561,0.882,1.134,0.104,0.510,0.840,1.317,0.994,0.641,1.247,
+1.603,1.111,0.627,1.038,1.006,0.728,0.575,0.666,1.061,0.109,
+0.671,0.877,0.910,1.004,0.599,1.077,1.224,1.256,0.861,1.325,
+0.152,0.141,0.122,0.192,1.028,0.111,0.620,1.026,0.805,1.135,
+0.706,1.377,1.247,0.788,0.648,1.330,1.062,0.894,0.689,1.092,
+1.240,0.115,0.718,1.281,1.334,0.948,1.038,2.330,0.137,0.102,
+0.062,0.131,0.125,0.105,0.065,0.090,0.087,0.014,0.050,0.075,
+0.097,0.108,0.067,0.125,0.098,0.085,0.044,0.070,0.091,0.100,
+0.062,0.068,0.084,0.016,0.071,0.081,0.068,0.085,0.051,0.082,
+0.090,0.119,0.088,0.100,0.014,0.023,0.037,0.018,0.115,0.021,
+0.081,0.114,0.079,0.131,0.085,0.203,0.118,0.085,0.063,0.135,
+0.133,0.146,0.113,0.144,0.113,0.013,0.077,0.127,0.112,0.100,
+0.096,0.208,1.386,0.840,0.573,0.834,1.058,0.960,0.753,0.865,
+1.013,0.153,0.673,0.806,0.829,0.936,0.865,1.257,0.092,0.095,
+0.047,0.070,0.077,0.101,0.073,0.060,0.084,0.020,0.112,0.081,
+0.087,0.130,0.086,0.105,0.916,1.242,0.718,0.932,0.094,0.121,
+0.087,0.108,1.016,0.127,0.503,0.707,0.612,0.990,0.729,0.959,
+0.894,0.637,0.511,0.757,0.987,0.995,0.743,0.939,1.112,0.111,
+0.926,1.040,0.851,0.902,0.974,1.474,1.430,0.739,0.561,1.083,
+0.864,0.611,0.454,0.657,0.946,0.090,0.584,0.849,1.170,0.841,
+0.763,1.400,1.493,1.048,0.691,1.041,1.044,0.976,0.710,0.751,
+1.147,0.107,0.851,1.075,1.249,1.285,0.890,1.368,1.356,1.318,
+0.909,1.393,0.117,0.161,0.090,0.129,1.226,0.119,0.879,1.201,
+1.199,1.427,1.145,1.607,1.320,0.808,0.731,1.194,1.093,1.031,
+0.736,1.018,1.438,0.114,1.136,1.506,1.632,1.474,1.483,2.497,
+4.332,1.585,1.282,2.855,1.473,0.850,0.728,1.265,1.493,0.124,
+0.678,1.270,2.259,1.399,0.962,2.478,1.777,0.938,0.602,1.086,
+0.967,0.608,0.511,0.764,1.008,0.083,0.746,0.991,0.934,0.781,
+0.604,1.155,1.482,1.526,0.749,1.615,0.109,0.108,0.068,0.169,
+0.937,0.088,0.536,0.968,1.050,1.069,0.716,1.515,2.336,1.209,
+1.055,2.544,1.366,0.893,0.806,1.594,1.378,0.101,0.833,1.688,
+2.648,1.474,1.552,4.419,2.007,1.068,0.739,1.531,1.172,0.807,
+0.617,0.899,0.962,0.083,0.462,0.892,1.111,0.928,0.619,1.533,
+1.275,0.795,0.460,0.846,0.816,0.583,0.430,0.643,0.820,0.068,
+0.563,0.845,0.731,0.709,0.521,0.950,1.096,0.970,0.644,1.139,
+0.071,0.078,0.066,0.096,0.929,0.084,0.552,0.970,0.937,1.156,
+0.722,1.531,1.376,0.815,0.702,1.479,1.184,0.903,0.699,1.258,
+1.045,0.073,0.638,1.184,1.340,1.057,0.996,2.341,2.206,1.201,
+1.007,1.511,1.535,1.072,0.967,1.452,1.526,0.163,0.767,1.292,
+1.527,1.297,1.165,2.511,0.135,0.117,0.070,0.123,0.097,0.101,
+0.079,0.103,0.091,0.013,0.074,0.104,0.126,0.140,0.091,0.183,
+1.387,1.375,0.939,1.553,0.097,0.095,0.071,0.147,1.299,0.121,
+0.720,1.146,1.131,1.352,1.081,1.751,1.659,1.100,0.976,1.549,
+1.643,1.258,1.107,1.806,1.642,0.128,1.226,1.841,1.643,1.317,
+1.612,2.802,4.319,1.605,1.360,2.844,1.658,1.079,0.897,1.362,
+2.003,0.151,0.986,1.814,2.947,1.827,1.608,4.682,2.474,1.477,
+0.985,1.670,1.653,1.424,0.949,1.265,1.724,0.112,1.009,1.670,
+1.919,1.609,1.255,2.608,2.439,2.017,1.486,2.584,0.132,0.123,
+0.085,0.177,2.082,0.144,1.430,2.373,2.354,2.407,2.130,3.515,
+4.936,2.181,2.053,4.602,2.620,1.920,1.617,2.928,3.202,0.178,
+2.280,4.224,5.511,3.128,3.461,6.595,4.984,2.600,1.895,3.489,
+2.869,1.780,1.331,1.687,2.731,0.288,1.158,1.809,3.375,2.647,
+1.450,2.476,3.304,1.943,1.117,1.489,1.919,1.274,0.945,0.969,
+1.651,0.154,0.890,1.123,1.260,1.268,0.852,1.312,1.988,1.659,
+1.101,1.511,0.185,0.183,0.130,0.218,1.304,0.150,0.777,0.951,
+1.124,1.520,0.952,1.333,3.005,1.426,1.265,2.280,2.096,1.501,
+1.239,1.895,1.612,0.151,0.885,1.380,1.960,1.345,1.322,2.274,
+3.369,1.700,0.936,1.610,1.982,1.474,0.883,1.041,1.583,0.190,
+0.627,0.962,1.216,1.272,0.618,1.094,2.279,1.558,0.727,0.975,
+1.447,1.077,0.728,0.715,1.296,0.174,0.693,0.951,0.774,1.010,
+0.553,0.757,1.295,1.455,0.710,0.952,0.126,0.164,0.099,0.115,
+1.312,0.183,0.746,0.913,0.719,1.277,0.729,0.944,1.110,0.817,
+0.513,0.875,1.189,1.058,0.630,0.874,1.160,0.114,0.669,0.936,
+0.956,0.895,0.790,1.367,1.742,0.928,0.634,0.987,1.339,0.839,
+0.726,0.822,1.232,0.170,0.531,0.882,0.994,0.963,0.677,1.293,
+0.147,0.126,0.066,0.094,0.122,0.114,0.084,0.085,0.117,0.029,
+0.082,0.113,0.113,0.182,0.091,0.147,0.834,0.804,0.669,0.652,
+0.094,0.092,0.077,0.090,0.821,0.142,0.450,0.580,0.492,0.767,
+0.532,0.589,0.827,0.553,0.488,0.691,1.012,0.822,0.630,0.863,
+0.984,0.116,0.711,0.897,0.774,0.834,0.792,1.176,2.450,1.013,
+0.729,1.568,1.099,0.648,0.579,0.784,1.158,0.114,0.472,0.835,
+1.531,1.079,0.773,1.819,2.006,1.251,0.758,1.042,1.277,0.907,
+0.721,0.784,1.092,0.103,0.639,0.938,1.056,1.157,0.738,1.272,
+1.029,0.927,0.783,0.994,0.102,0.087,0.127,0.107,0.887,0.091,
+0.561,0.805,0.781,1.016,0.765,0.983,1.491,0.856,0.769,1.420,
+0.954,0.747,0.712,1.009,1.316,0.114,0.851,1.381,1.567,1.389,
+1.325,2.426,3.316,2.227,1.338,2.140,1.899,1.592,1.065,1.176,
+1.394,0.173,0.671,1.003,1.287,1.382,0.859,1.369,2.234,2.441,
+0.959,1.162,1.551,1.309,0.980,0.911,1.052,0.161,0.701,0.921,
+0.691,0.946,0.587,0.892,1.162,1.686,0.821,0.947,0.164,0.302,
+0.128,0.151,0.987,0.143,0.728,0.755,0.640,1.061,0.744,0.922,
+1.265,0.794,0.617,0.965,1.355,1.365,0.739,0.935,0.895,0.146,
+0.521,0.763,0.959,0.802,0.762,1.478,2.245,1.888,0.752,1.084,
+1.561,1.732,0.850,0.794,1.095,0.182,0.504,0.726,0.715,1.049,
+0.570,0.878,1.486,1.691,0.642,0.708,1.206,0.826,0.810,0.650,
+1.014,0.205,0.604,0.807,0.529,0.966,0.527,0.625,0.982,1.787,
+0.685,0.778,0.156,0.373,0.143,0.122,1.248,0.336,0.735,0.935,
+0.611,1.787,0.759,0.887,0.789,0.739,0.382,0.578,1.075,1.366,
+0.547,0.658,0.958,0.138,0.476,0.680,0.659,0.876,0.535,0.993,
+1.229,1.004,0.532,0.727,1.227,1.150,0.856,0.775,0.890,0.155,
+0.541,0.684,0.560,0.764,0.589,0.822,0.111,0.224,0.075,0.084,
+0.118,0.194,0.130,0.084,0.116,0.064,0.118,0.117,0.061,0.160,
+0.083,0.089,0.910,1.143,1.556,0.787,0.194,0.199,0.166,0.120,
+1.014,0.193,0.675,0.786,0.463,1.039,0.757,0.703,0.683,0.512,
+0.467,0.604,1.077,1.204,0.830,0.874,0.950,0.122,0.705,0.887,
+0.554,0.714,0.726,0.960,1.094,0.674,0.447,0.724,0.749,0.580,
+0.535,0.491,0.630,0.066,0.293,0.442,0.632,0.544,0.403,0.758,
+1.087,1.173,0.602,0.708,0.866,0.964,0.609,0.636,0.859,0.111,
+0.486,0.664,0.537,0.899,0.499,0.739,0.734,0.918,0.663,0.718,
+0.078,0.111,0.069,0.077,0.707,0.097,0.546,0.704,0.504,0.829,
+0.739,0.820,0.885,0.595,0.463,0.706,0.773,0.767,0.477,0.701,
+0.961,0.128,0.621,0.943,0.938,1.058,0.948,1.500,1.687,1.195,
+0.709,1.259,0.938,0.799,0.506,0.652,0.825,0.102,0.405,0.631,
+0.831,0.824,0.440,0.856,1.489,1.547,0.715,0.889,1.031,0.950,
+0.664,0.640,0.979,0.154,0.629,0.766,0.629,0.956,0.511,0.758,
+0.956,1.267,0.761,0.956,0.124,0.168,0.106,0.161,0.773,0.120,
+0.466,0.618,0.512,0.951,0.499,0.779,0.914,0.615,0.515,0.863,
+0.896,0.793,0.536,0.736,0.818,0.098,0.495,0.811,0.866,0.782,
+0.740,1.760,0.118,0.123,0.055,0.092,0.118,0.157,0.074,0.078,
+0.101,0.027,0.054,0.070,0.070,0.121,0.055,0.084,0.125,0.216,
+0.070,0.085,0.144,0.229,0.110,0.093,0.120,0.048,0.098,0.102,
+0.066,0.145,0.066,0.081,0.077,0.152,0.073,0.079,0.022,0.054,
+0.036,0.022,0.113,0.046,0.102,0.102,0.060,0.172,0.082,0.091,
+0.091,0.082,0.051,0.089,0.161,0.199,0.111,0.130,0.119,0.024,
+0.085,0.110,0.095,0.112,0.090,0.170,0.809,0.634,0.409,0.521,
+0.703,0.695,0.660,0.497,0.843,0.149,0.461,0.542,0.473,0.604,
+0.446,0.584,0.077,0.120,0.051,0.051,0.070,0.108,0.081,0.048,
+0.089,0.036,0.074,0.074,0.061,0.127,0.065,0.066,0.576,0.892,
+0.510,0.483,0.083,0.131,0.095,0.074,0.772,0.160,0.405,0.550,
+0.380,0.888,0.531,0.530,0.523,0.414,0.319,0.380,0.643,0.767,
+0.540,0.541,0.916,0.158,0.579,0.686,0.491,0.772,0.553,0.753,
+0.803,0.500,0.317,0.648,0.566,0.390,0.286,0.337,0.749,0.071,
+0.261,0.437,0.639,0.504,0.320,0.683,0.986,0.895,0.486,0.603,
+0.807,0.803,0.547,0.520,0.783,0.105,0.505,0.676,0.638,0.866,
+0.513,0.694,0.736,0.899,0.563,0.637,0.089,0.124,0.075,0.078,
+0.859,0.139,0.515,0.698,0.552,0.971,0.592,0.767,0.802,0.528,
+0.463,0.575,0.747,0.752,0.547,0.626,1.010,0.115,0.736,1.013,
+0.924,1.038,0.849,1.427,1.990,1.125,0.785,1.615,0.872,0.630,
+0.451,0.605,0.822,0.091,0.369,0.687,1.188,0.932,0.573,1.328,
+0.998,0.703,0.400,0.776,0.629,0.437,0.318,0.422,0.576,0.060,
+0.290,0.506,0.524,0.524,0.319,0.626,0.876,0.810,0.480,0.890,
+0.089,0.092,0.055,0.119,0.611,0.061,0.303,0.494,0.535,0.648,
+0.404,0.731,1.139,0.621,0.546,1.273,0.812,0.614,0.464,0.810,
+0.717,0.067,0.438,0.761,1.106,0.823,0.774,2.019,1.625,1.133,
+0.626,1.156,1.170,1.025,0.557,0.723,0.979,0.127,0.447,0.760,
+0.856,1.047,0.516,0.944,1.190,1.170,0.485,0.871,1.025,1.033,
+0.558,0.642,0.879,0.146,0.515,0.805,0.623,0.921,0.449,0.759,
+0.756,0.893,0.433,0.696,0.077,0.115,0.065,0.091,0.819,0.112,
+0.519,0.716,0.608,1.058,0.591,0.828,0.798,0.566,0.399,0.765,
+0.940,0.921,0.552,0.887,0.828,0.082,0.510,0.795,0.831,0.824,
+0.678,1.337,0.875,0.628,0.373,0.620,0.733,0.556,0.439,0.555,
+0.820,0.152,0.443,0.700,0.640,0.725,0.509,0.877,0.068,0.088,
+0.038,0.068,0.055,0.072,0.048,0.049,0.084,0.034,0.063,0.112,
+0.064,0.120,0.054,0.087,0.564,0.664,0.467,0.533,0.061,0.068,
+0.089,0.069,0.651,0.091,0.368,0.547,0.418,0.698,0.564,0.646,
+0.565,0.435,0.338,0.530,0.735,0.654,0.532,0.700,0.858,0.139,
+0.515,0.809,0.621,0.729,0.620,1.051,1.484,0.697,0.478,0.966,
+0.747,0.515,0.365,0.520,1.167,0.089,0.347,0.644,1.097,0.761,
+0.569,1.362,0.830,0.603,0.361,0.644,0.659,0.504,0.405,0.514,
+0.679,0.070,0.387,0.758,0.626,0.705,0.443,0.854,0.961,0.894,
+0.555,0.896,0.084,0.081,0.055,0.088,0.957,0.089,0.535,0.871,
+0.831,1.084,0.842,1.143,1.384,0.793,0.643,1.393,1.104,1.021,
+0.722,1.079,1.406,0.104,0.908,1.601,1.838,1.468,1.453,2.823,
+3.080,1.976,1.413,2.286,2.044,1.589,0.994,1.166,1.664,0.215,
+0.812,1.295,1.811,1.745,0.907,1.587,2.201,1.732,0.922,1.135,
+1.857,1.472,0.969,0.909,1.298,0.179,0.944,1.088,0.846,1.129,
+0.737,0.999,1.005,1.026,0.700,0.886,0.112,0.127,0.101,0.136,
+0.776,0.110,0.523,0.589,0.594,0.920,0.632,0.822,1.276,0.746,
+0.613,1.121,1.146,0.996,0.735,0.990,0.927,0.114,0.582,0.846,
+1.033,0.851,0.849,1.487,2.361,1.590,0.763,1.265,1.781,1.566,
+0.786,0.845,1.238,0.211,0.664,0.855,0.869,1.160,0.512,0.884,
+1.738,1.733,0.674,0.944,1.570,1.401,0.818,0.809,1.263,0.310,
+1.038,1.317,0.676,1.252,0.571,0.792,0.809,1.202,0.575,0.642,
+0.122,0.204,0.143,0.113,0.956,0.215,0.771,0.783,0.545,1.233,
+0.710,0.760,0.636,0.563,0.355,0.510,0.879,0.983,0.698,0.674,
+0.786,0.109,0.541,0.784,0.613,0.738,0.694,1.092,1.058,0.725,
+0.458,0.642,1.105,0.919,0.646,0.690,1.047,0.168,0.510,0.681,
+0.635,0.758,0.512,0.922,0.089,0.123,0.071,0.078,0.125,0.170,
+0.109,0.094,0.113,0.053,0.112,0.117,0.072,0.178,0.083,0.110,
+0.495,0.662,0.508,0.455,0.075,0.099,0.081,0.079,0.639,0.125,
+0.498,0.560,0.346,0.663,0.480,0.494,0.510,0.392,0.446,0.461,
+0.695,0.727,0.505,0.630,0.716,0.117,0.537,0.693,0.516,0.698,
+0.665,0.907,1.212,0.570,0.402,0.843,0.654,0.439,0.311,0.429,
+0.707,0.076,0.314,0.470,0.805,0.651,0.439,1.036,1.065,0.888,
+0.547,0.715,1.040,0.956,0.594,0.670,0.735,0.107,0.544,0.747,
+0.554,0.890,0.492,0.780,0.551,0.576,0.587,0.615,0.058,0.065,
+0.094,0.074,0.549,0.077,0.458,0.561,0.414,0.666,0.518,0.637,
+0.833,0.542,0.739,0.862,0.550,0.556,0.514,0.605,0.811,0.092,
+0.586,0.860,0.902,0.990,0.893,1.615,2.188,1.562,0.945,1.426,
+1.632,1.628,0.964,0.962,0.963,0.141,0.528,0.735,0.846,0.991,
+0.537,0.906,1.614,1.544,0.822,0.876,1.596,1.763,1.370,0.982,
+0.895,0.194,0.765,0.880,0.504,0.910,0.524,0.715,0.733,1.029,
+0.643,0.687,0.103,0.173,0.125,0.122,0.645,0.120,0.592,0.585,
+0.558,0.782,0.551,0.693,0.688,0.479,0.378,0.645,0.820,0.983,
+0.583,0.667,0.554,0.077,0.453,0.566,0.918,0.609,0.563,1.007,
+1.667,1.369,0.545,0.723,1.233,1.577,0.688,0.633,0.886,0.170,
+0.499,0.604,0.527,0.834,0.364,0.614,0.994,0.928,0.440,0.496,
+0.514,0.408,0.424,0.388,0.726,0.290,0.518,0.685,0.350,0.891,
+0.396,0.483,0.603,1.217,0.515,0.551,0.121,0.393,0.172,0.125,
+0.791,0.253,0.603,0.772,0.405,1.252,0.660,0.715,0.436,0.478,
+0.278,0.369,0.729,1.287,0.498,0.578,0.603,0.119,0.492,0.639,
+0.434,0.654,0.448,0.805,0.932,0.822,0.620,0.571,1.164,1.449,
+0.873,0.744,0.821,0.181,0.545,0.619,0.468,0.797,0.522,0.708,
+0.087,0.187,0.138,0.087,0.175,0.433,0.220,0.128,0.131,0.119,
+0.177,0.135,0.058,0.253,0.101,0.088,0.580,1.011,0.649,0.570,
+0.126,0.268,0.177,0.122,0.740,0.189,0.600,0.703,0.364,1.041,
+0.725,0.677,0.441,0.399,0.333,0.406,0.879,1.355,0.888,0.827,
+0.894,0.139,0.763,0.832,0.497,0.689,0.744,0.914,0.746,0.513,
+0.345,0.531,0.624,0.581,0.311,0.364,0.543,0.063,0.261,0.344,
+0.498,0.464,0.306,0.553,0.741,0.945,0.628,0.623,0.946,1.514,
+0.691,0.696,0.638,0.139,0.505,0.629,0.393,0.916,0.465,0.597,
+0.491,0.758,0.509,0.549,0.060,0.126,0.075,0.073,0.507,0.096,
+0.586,0.621,0.353,0.755,0.696,0.722,0.526,0.432,0.318,0.502,
+0.528,0.729,0.409,0.563,0.680,0.083,0.521,0.676,0.593,0.788,
+0.804,1.218,1.386,1.119,0.610,1.011,0.999,0.874,0.478,0.689,
+0.973,0.117,0.417,0.553,0.687,0.745,0.382,0.737,1.445,1.671,
+0.603,0.861,1.488,1.447,0.932,0.890,1.123,0.229,0.918,0.968,
+0.570,1.064,0.502,0.741,0.733,1.135,0.640,0.829,0.147,0.189,
+0.125,0.180,0.739,0.153,0.519,0.676,0.439,0.954,0.481,0.689,
+0.668,0.508,0.346,0.703,0.919,0.923,0.548,0.759,0.715,0.107,
+0.542,0.806,0.662,0.691,0.642,1.324,0.112,0.118,0.049,0.074,
+0.152,0.226,0.106,0.099,0.160,0.040,0.071,0.074,0.065,0.122,
+0.064,0.087,0.127,0.258,0.076,0.115,0.246,0.463,0.251,0.171,
+0.174,0.183,0.207,0.177,0.062,0.195,0.075,0.086,0.077,0.185,
+0.100,0.088,0.056,0.140,0.090,0.045,0.136,0.102,0.199,0.167,
+0.056,0.208,0.119,0.093,0.067,0.069,0.036,0.062,0.282,0.310,
+0.133,0.150,0.096,0.036,0.112,0.122,0.063,0.092,0.081,0.123,
+0.881,0.984,0.528,0.583,0.981,1.393,0.767,0.684,0.988,0.229,
+0.669,0.703,0.498,0.806,0.528,0.736,0.107,0.315,0.092,0.078,
+0.147,0.368,0.196,0.109,0.147,0.111,0.207,0.143,0.066,0.203,
+0.097,0.090,0.570,1.177,0.578,0.542,0.114,0.248,0.146,0.107,
+0.910,0.261,0.523,0.735,0.392,1.108,0.607,0.626,0.466,0.476,
+0.300,0.429,0.827,1.290,0.693,0.783,1.036,0.206,0.972,0.986,
+0.486,0.817,0.697,0.911,0.720,0.550,0.334,0.646,0.556,0.468,
+0.273,0.354,0.604,0.078,0.310,0.484,0.496,0.505,0.291,0.711,
+1.058,1.466,0.566,0.663,1.350,1.596,0.858,0.874,1.172,0.235,
+0.910,1.071,0.628,1.233,0.628,0.829,0.768,1.095,0.766,0.694,
+0.086,0.164,0.105,0.091,0.877,0.190,0.754,0.891,0.498,1.232,
+0.698,0.810,0.670,0.538,0.385,0.638,0.653,0.796,0.498,0.630,
+0.961,0.124,0.925,1.114,0.776,1.091,0.883,1.301,1.213,0.744,
+0.496,0.993,0.727,0.534,0.340,0.566,0.647,0.073,0.308,0.548,
+0.696,0.602,0.343,0.886,0.924,0.740,0.346,0.590,0.664,0.560,
+0.354,0.495,0.516,0.068,0.309,0.499,0.402,0.471,0.258,0.545,
+0.571,0.595,0.338,0.600,0.056,0.058,0.038,0.082,0.460,0.057,
+0.265,0.412,0.363,0.484,0.291,0.515,0.679,0.420,0.329,0.812,
+0.538,0.452,0.313,0.631,0.519,0.052,0.312,0.584,0.665,0.521,
+0.474,1.243,1.176,0.889,0.443,0.766,1.021,1.075,0.602,0.676,
+0.949,0.139,0.481,0.694,0.642,0.915,0.463,0.797,0.988,1.136,
+0.415,0.672,1.244,1.487,0.730,0.797,0.975,0.234,0.657,0.921,
+0.580,1.111,0.462,0.720,0.523,0.819,0.426,0.547,0.093,0.157,
+0.093,0.107,0.703,0.132,0.567,0.685,0.461,0.965,0.546,0.658,
+0.476,0.397,0.290,0.533,0.854,0.957,0.525,0.873,0.654,0.089,
+0.508,0.722,0.535,0.642,0.533,0.997,0.742,0.601,0.334,0.462,
+0.783,0.849,0.513,0.578,0.810,0.134,0.479,0.633,0.521,0.632,
+0.450,0.764,0.057,0.094,0.036,0.051,0.068,0.148,0.073,0.063,
+0.069,0.030,0.069,0.076,0.046,0.100,0.054,0.071,0.416,0.626,
+0.357,0.433,0.054,0.088,0.062,0.070,0.657,0.129,0.493,0.638,
+0.362,0.745,0.505,0.592,0.417,0.392,0.269,0.438,0.630,0.737,
+0.489,0.694,0.866,0.182,0.652,0.843,0.526,0.740,0.628,0.949,
+0.924,0.578,0.335,0.656,0.523,0.460,0.270,0.381,0.603,0.062,
+0.309,0.475,0.611,0.496,0.374,0.870,0.725,0.631,0.317,0.505,
+0.648,0.729,0.412,0.566,0.670,0.078,0.421,0.605,0.506,0.615,
+0.414,0.775,0.711,0.664,0.448,0.627,0.063,0.067,0.045,0.070,
+0.668,0.082,0.526,0.707,0.527,0.832,0.661,0.837,0.849,0.552,
+0.437,0.907,0.762,0.856,0.566,0.873,1.039,0.111,0.812,1.235,
+1.219,1.209,1.158,1.646,1.781,1.265,1.017,1.623,1.367,1.088,
+0.829,0.932,1.168,0.139,0.565,0.867,1.376,1.215,0.720,1.202,
+1.195,0.962,0.682,0.745,0.934,0.690,0.628,0.597,0.741,0.100,
+0.500,0.601,0.580,0.712,0.550,0.739,0.878,0.871,0.551,0.875,
+0.091,0.093,0.072,0.127,0.623,0.080,0.413,0.655,0.461,0.652,
+0.477,0.708,1.027,0.579,0.446,0.880,0.909,0.753,0.557,0.787,
+0.652,0.069,0.498,0.654,0.798,0.579,0.690,1.193,1.791,1.387,
+0.727,1.108,1.579,1.435,1.011,0.914,0.999,0.160,0.488,0.630,
+0.783,1.032,0.539,0.858,1.352,1.456,0.646,0.746,1.253,1.029,
+0.959,0.761,1.136,0.241,0.684,0.850,0.605,1.081,0.542,0.683,
+0.970,1.395,0.717,0.894,0.151,0.230,0.162,0.166,1.137,0.231,
+0.897,1.141,0.578,1.271,0.823,0.885,0.754,0.601,0.348,0.624,
+1.289,1.300,0.672,0.892,0.763,0.095,0.494,0.708,0.649,0.663,
+0.629,1.142,1.006,0.649,0.429,0.704,1.174,0.949,0.834,0.874,
+1.262,0.215,0.513,0.641,0.830,0.936,0.555,0.921,0.099,0.131,
+0.065,0.115,0.127,0.155,0.129,0.140,0.166,0.058,0.123,0.118,
+0.118,0.274,0.110,0.151,0.618,0.699,0.604,0.662,0.098,0.114,
+0.117,0.131,0.825,0.222,0.500,0.544,0.464,0.990,0.551,0.597,
+0.508,0.354,0.295,0.490,0.816,0.816,0.662,0.853,0.693,0.104,
+0.612,0.625,0.649,0.661,0.625,1.078,1.054,0.541,0.398,0.812,
+0.616,0.424,0.398,0.552,0.706,0.084,0.310,0.460,0.973,0.780,
+0.468,1.051,0.921,0.895,0.471,0.703,0.777,0.713,0.621,0.780,
+0.862,0.138,0.528,0.663,0.744,1.070,0.542,0.865,0.636,0.728,
+0.592,0.758,0.076,0.080,0.084,0.111,0.702,0.100,0.576,0.754,
+0.596,0.934,0.734,0.921,0.864,0.560,0.463,0.910,0.651,0.547,
+0.552,0.782,0.945,0.102,0.728,1.003,1.316,1.214,1.261,2.123,
+0.105,0.103,0.093,0.085,0.104,0.125,0.078,0.080,0.074,0.018,
+0.044,0.057,0.066,0.089,0.055,0.074,0.125,0.152,0.157,0.094,
+0.152,0.176,0.167,0.111,0.101,0.052,0.114,0.094,0.053,0.116,
+0.075,0.075,0.074,0.165,0.068,0.068,0.018,0.036,0.027,0.021,
+0.069,0.027,0.075,0.076,0.040,0.091,0.068,0.073,0.070,0.060,
+0.044,0.071,0.101,0.125,0.083,0.091,0.075,0.017,0.092,0.110,
+0.072,0.068,0.109,0.118,0.113,0.149,0.064,0.071,0.149,0.249,
+0.147,0.091,0.086,0.039,0.063,0.060,0.047,0.100,0.093,0.065,
+0.158,0.273,0.110,0.088,0.258,0.303,0.291,0.156,0.185,0.145,
+0.146,0.134,0.068,0.200,0.096,0.081,0.086,0.215,0.100,0.085,
+0.047,0.190,0.105,0.042,0.158,0.124,0.175,0.148,0.052,0.224,
+0.147,0.109,0.064,0.070,0.040,0.054,0.143,0.243,0.116,0.104,
+0.086,0.027,0.077,0.080,0.050,0.080,0.075,0.108,0.069,0.074,
+0.043,0.066,0.114,0.172,0.144,0.117,0.128,0.057,0.092,0.068,
+0.049,0.118,0.062,0.070,0.017,0.048,0.023,0.037,0.046,0.116,
+0.100,0.055,0.061,0.100,0.088,0.050,0.013,0.068,0.035,0.022,
+0.070,0.145,0.150,0.101,0.037,0.095,0.105,0.040,0.247,0.257,
+0.176,0.130,0.058,0.320,0.143,0.096,0.054,0.048,0.045,0.056,
+0.116,0.197,0.161,0.125,0.116,0.051,0.137,0.112,0.056,0.096,
+0.099,0.115,0.077,0.081,0.046,0.068,0.065,0.068,0.053,0.065,
+0.064,0.013,0.038,0.046,0.073,0.085,0.054,0.095,0.146,0.291,
+0.095,0.131,0.154,0.219,0.173,0.223,0.163,0.065,0.122,0.121,
+0.096,0.265,0.108,0.128,0.059,0.112,0.084,0.082,0.014,0.033,
+0.028,0.022,0.105,0.044,0.124,0.126,0.062,0.153,0.129,0.117,
+0.073,0.069,0.048,0.074,0.074,0.095,0.071,0.086,0.102,0.020,
+0.099,0.117,0.096,0.128,0.133,0.179,1.189,0.906,0.644,0.959,
+1.036,1.005,0.633,0.709,0.850,0.115,0.418,0.558,0.625,0.626,
+0.406,0.669,1.044,1.052,0.629,0.715,1.193,1.086,1.316,0.858,
+0.985,0.188,0.862,0.818,0.508,0.866,0.555,0.694,0.751,1.197,
+0.743,0.914,0.139,0.227,0.172,0.229,1.429,0.586,0.701,0.852,
+0.522,1.537,0.615,0.803,0.668,0.476,0.347,0.667,0.797,0.828,
+0.620,0.887,0.771,0.132,0.594,0.902,0.675,0.710,0.702,1.273,
+0.099,0.119,0.052,0.078,0.230,0.313,0.144,0.118,0.089,0.032,
+0.074,0.084,0.052,0.089,0.048,0.073,0.103,0.161,0.082,0.071,
+0.211,0.264,0.341,0.169,0.142,0.092,0.197,0.155,0.053,0.131,
+0.080,0.073,0.076,0.198,0.103,0.089,0.038,0.120,0.102,0.045,
+0.174,0.161,0.217,0.192,0.059,0.218,0.130,0.108,0.075,0.066,
+0.040,0.073,0.152,0.218,0.132,0.153,0.099,0.033,0.108,0.128,
+0.063,0.084,0.081,0.127,0.766,0.807,0.414,0.433,1.091,1.538,
+1.391,0.758,0.825,0.212,0.734,0.676,0.418,0.689,0.565,0.686,
+0.081,0.174,0.091,0.064,0.142,0.294,0.589,0.116,0.133,0.095,
+0.252,0.130,0.061,0.167,0.109,0.090,0.677,1.156,0.779,0.655,
+0.148,0.265,0.289,0.158,0.925,0.249,0.426,0.638,0.381,0.939,
+0.809,0.706,0.473,0.432,0.321,0.371,0.830,1.169,0.976,0.809,
+0.828,0.169,0.813,0.822,0.454,0.687,0.733,0.869,0.667,0.479,
+0.329,0.518,0.599,0.590,0.382,0.385,0.514,0.078,0.358,0.475,
+0.484,0.491,0.322,0.626,0.905,1.043,0.590,0.591,1.178,1.665,
+1.593,0.801,0.891,0.190,0.925,0.894,0.708,1.085,0.676,0.801,
+0.855,1.341,0.724,0.806,0.143,0.263,0.165,0.140,1.094,0.225,
+1.277,1.251,0.607,1.297,0.972,1.002,0.631,0.510,0.371,0.589,
+0.746,0.913,0.632,0.701,0.919,0.130,0.962,1.105,0.770,1.021,
+0.947,1.324,1.157,0.685,0.473,0.891,0.713,0.545,0.412,0.570,
+0.621,0.076,0.270,0.474,0.695,0.623,0.361,0.974,0.779,0.591,
+0.325,0.458,0.604,0.405,0.372,0.394,0.431,0.051,0.272,0.398,
+0.358,0.403,0.284,0.451,0.634,0.685,0.376,0.614,0.071,0.073,
+0.053,0.097,0.542,0.080,0.310,0.485,0.442,0.636,0.503,0.699,
+0.803,0.463,0.349,0.684,0.675,0.507,0.397,0.672,0.525,0.054,
+0.325,0.543,0.768,0.626,0.574,1.266,1.330,1.083,0.570,0.965,
+1.353,1.369,0.842,0.879,0.785,0.128,0.515,0.701,0.622,0.835,
+0.439,0.806,1.230,1.473,0.580,0.756,1.637,1.311,1.155,0.987,
+0.929,0.188,0.767,0.953,0.553,0.945,0.651,0.726,0.825,1.405,
+0.649,0.830,0.123,0.234,0.147,0.160,1.009,0.220,0.866,1.133,
+0.646,1.471,0.852,1.086,0.772,0.614,0.439,0.719,1.095,1.176,
+0.841,1.204,0.846,0.107,0.646,0.936,0.710,0.831,0.713,1.294,
+0.906,0.838,0.427,0.613,1.047,1.023,0.841,0.811,0.872,0.188,
+0.577,0.932,0.529,0.747,0.552,0.907,0.076,0.105,0.045,0.064,
+0.101,0.158,0.146,0.095,0.080,0.040,0.105,0.123,0.053,0.115,
+0.073,0.090,0.684,1.042,0.643,0.748,0.107,0.165,0.152,0.142,
+0.939,0.207,0.682,0.890,0.508,1.086,0.852,0.910,0.615,0.516,
+0.400,0.561,0.992,1.047,1.010,1.180,0.853,0.132,0.786,1.042,
+0.654,0.780,0.890,1.214,1.010,0.563,0.399,0.729,0.636,0.499,
+0.404,0.478,0.619,0.076,0.339,0.570,0.679,0.580,0.457,1.024,
+0.861,0.783,0.381,0.568,0.726,0.744,0.635,0.615,0.640,0.081,
+0.478,0.746,0.528,0.682,0.511,0.816,0.827,1.034,0.639,0.948,
+0.086,0.119,0.079,0.117,1.063,0.142,0.941,1.323,0.784,1.246,
+1.060,1.267,1.069,0.689,0.571,1.169,0.990,1.020,0.834,1.164,
+1.164,0.111,0.991,1.550,1.358,1.280,1.329,1.899,1.912,1.137,
+0.980,2.089,1.112,0.728,0.567,0.841,1.125,0.111,0.437,0.812,
+1.628,1.278,0.642,1.421,1.157,0.729,0.502,0.733,0.709,0.455,
+0.370,0.454,0.664,0.066,0.415,0.488,0.718,0.749,0.466,0.789,
+0.883,0.707,0.501,0.835,0.073,0.063,0.047,0.100,0.581,0.056,
+0.306,0.483,0.587,0.699,0.461,0.844,1.228,0.630,0.535,1.126,
+0.830,0.584,0.466,0.780,0.712,0.067,0.575,0.664,1.079,0.743,
+0.752,1.692,1.446,0.820,0.469,0.981,1.080,0.626,0.404,0.562,
+0.678,0.078,0.267,0.474,0.722,0.679,0.338,0.751,0.851,0.661,
+0.325,0.512,0.592,0.475,0.321,0.395,0.604,0.071,0.286,0.445,
+0.539,0.599,0.323,0.529,0.613,0.620,0.385,0.613,0.059,0.066,
+0.045,0.067,0.595,0.073,0.325,0.488,0.520,0.861,0.430,0.625,
+0.619,0.459,0.283,0.600,0.584,0.520,0.300,0.493,0.520,0.046,
+0.359,0.482,0.583,0.519,0.477,1.019,0.969,0.515,0.391,0.709,
+0.754,0.506,0.441,0.670,0.770,0.100,0.289,0.485,0.830,0.697,
+0.398,0.923,0.064,0.057,0.033,0.064,0.056,0.052,0.040,0.060,
+0.060,0.013,0.036,0.051,0.098,0.127,0.051,0.102,0.467,0.476,
+0.384,0.515,0.046,0.047,0.040,0.061,0.506,0.069,0.282,0.373,
+0.430,0.580,0.372,0.525,0.486,0.328,0.283,0.550,0.544,0.465,
+0.350,0.564,0.526,0.056,0.337,0.495,0.622,0.529,0.510,0.996,
+1.318,0.567,0.448,1.086,0.625,0.371,0.351,0.563,0.884,0.086,
+0.326,0.560,1.596,0.941,0.545,1.400,0.822,0.564,0.376,0.651,
+0.554,0.408,0.348,0.493,0.641,0.062,0.345,0.513,0.960,1.016,
+0.507,0.990,0.632,0.600,0.470,0.721,0.054,0.044,0.042,0.067,
+0.568,0.052,0.375,0.569,0.658,0.774,0.604,0.952,1.045,0.636,
+0.542,1.174,0.664,0.490,0.445,0.739,0.904,0.075,0.624,0.985,
+1.535,1.258,1.273,2.732,1.821,1.163,0.856,1.486,1.200,0.933,
+0.638,0.850,0.932,0.115,0.485,0.721,1.039,1.033,0.560,1.124,
+1.380,1.025,0.787,0.923,1.119,0.923,0.734,0.753,0.870,0.141,
+1.136,0.864,0.578,0.927,0.590,0.835,0.835,1.060,0.592,0.887,
+0.095,0.129,0.084,0.132,0.667,0.102,0.512,0.784,0.575,0.859,
+0.618,1.002,0.889,0.592,0.474,0.900,0.952,0.937,0.594,0.907,
+0.677,0.084,0.589,0.776,0.847,0.687,0.762,1.416,1.407,1.123,
+0.530,0.939,1.141,1.109,0.639,0.701,0.741,0.121,0.359,0.530,
+0.633,0.788,0.459,0.766,1.220,1.346,0.551,0.721,1.229,1.078,
+0.775,0.795,0.917,0.202,0.575,0.744,0.571,1.034,0.505,0.717,
+0.760,1.139,0.655,0.838,0.112,0.208,0.155,0.143,0.903,0.181,
+0.629,0.830,0.592,1.195,0.801,1.011,0.689,0.638,0.392,0.699,
+0.940,1.288,0.607,0.802,0.698,0.087,0.485,0.705,0.651,0.715,
+0.607,1.172,0.872,0.586,0.366,0.665,0.874,0.839,0.650,0.926,
+0.840,0.169,0.427,0.516,0.633,0.846,0.431,0.825,0.062,0.093,
+0.050,0.090,0.086,0.148,0.101,0.118,0.103,0.064,0.100,0.085,
+0.073,0.226,0.073,0.094,0.626,0.901,0.650,0.696,0.084,0.134,
+0.101,0.114,0.926,0.258,0.522,0.690,0.523,1.227,0.665,0.797,
+0.614,0.493,0.379,0.641,0.864,1.128,0.735,0.915,0.824,0.102,
+0.572,0.775,0.673,0.716,0.710,1.194,0.938,0.590,0.422,0.752,
+0.598,0.468,0.384,0.539,0.744,0.086,0.338,0.488,1.019,0.892,
+0.488,1.034,0.978,1.056,0.637,0.865,0.856,0.950,0.746,0.929,
+1.017,0.203,0.645,0.801,1.127,2.861,0.780,1.222,0.622,0.808,
+0.587,0.783,0.066,0.092,0.066,0.088,0.760,0.110,0.641,0.892,
+0.638,1.154,0.808,1.102,0.840,0.620,0.500,0.817,0.756,0.791,
+0.543,0.796,0.933,0.093,0.693,1.079,1.140,1.218,1.104,1.991,
+1.185,0.824,0.512,0.984,0.728,0.650,0.377,0.573,0.696,0.075,
+0.315,0.529,0.675,0.602,0.358,0.754,1.027,0.909,0.469,0.697,
+0.891,0.772,0.576,0.573,0.771,0.115,0.569,0.675,0.545,0.808,
+0.486,0.746,0.748,0.934,0.630,0.895,0.097,0.127,0.090,0.156,
+0.769,0.126,0.566,0.753,0.522,0.954,0.593,0.913,0.739,0.519,
+0.384,0.802,0.718,0.681,0.466,0.735,0.781,0.096,0.537,0.891,
+0.839,0.755,0.753,1.565,0.073,0.074,0.038,0.071,0.081,0.110,
+0.046,0.061,0.054,0.012,0.036,0.048,0.048,0.071,0.038,0.072,
+0.069,0.091,0.038,0.048,0.101,0.171,0.083,0.073,0.075,0.031,
+0.085,0.082,0.044,0.092,0.049,0.060,0.049,0.090,0.048,0.055,
+0.013,0.031,0.022,0.015,0.082,0.034,0.101,0.086,0.046,0.116,
+0.070,0.082,0.059,0.056,0.033,0.067,0.091,0.123,0.064,0.090,
+0.074,0.019,0.066,0.091,0.068,0.078,0.065,0.127,0.743,0.612,
+0.337,0.451,0.702,0.820,0.580,0.567,0.674,0.133,0.411,0.521,
+0.463,0.633,0.487,0.754,0.058,0.086,0.038,0.044,0.069,0.111,
+0.086,0.051,0.072,0.033,0.075,0.066,0.054,0.123,0.070,0.082,
+0.568,0.968,0.541,0.587,0.085,0.146,0.110,0.092,0.886,0.170,
+0.438,0.653,0.428,0.954,0.640,0.722,0.524,0.466,0.325,0.452,
+0.724,0.912,0.645,0.696,0.883,0.127,0.673,0.821,0.591,0.749,
+0.728,1.058,0.762,0.459,0.326,0.597,0.539,0.441,0.324,0.425,
+0.573,0.068,0.348,0.509,0.597,0.556,0.402,0.832,0.884,0.801,
+0.473,0.630,0.788,0.859,0.626,0.572,0.798,0.116,0.605,0.760,
+0.693,1.076,0.715,0.989,1.045,1.021,0.710,0.823,0.155,0.132,
+0.131,0.098,0.999,0.129,0.790,1.018,0.850,1.208,0.944,1.154,
+0.795,0.583,0.491,0.760,0.779,0.763,0.629,0.709,1.080,0.108,
+0.920,1.250,1.080,1.155,1.111,1.770,1.851,0.831,0.630,1.365,
+0.849,0.539,0.400,0.743,0.811,0.079,0.334,0.672,1.049,0.783,
+0.481,1.240,0.950,0.590,0.326,0.565,0.636,0.445,0.320,0.474,
+0.549,0.055,0.337,0.511,0.472,0.492,0.311,0.647,0.757,0.764,
+0.424,0.856,0.069,0.075,0.045,0.111,0.591,0.064,0.330,0.579,
+0.575,0.689,0.441,0.881,1.002,0.570,0.450,1.061,0.664,0.497,
+0.398,0.769,0.690,0.060,0.399,0.815,1.095,0.807,0.725,2.033,
+1.281,0.800,0.504,1.016,0.832,0.687,0.435,0.647,0.631,0.070,
+0.326,0.577,0.635,0.688,0.375,0.892,0.912,0.776,0.339,0.575,
+0.765,0.793,0.409,0.560,0.663,0.085,0.488,0.649,0.493,0.687,
+0.395,0.743,0.649,0.793,0.364,0.639,0.052,0.084,0.042,0.070,
+0.670,0.084,0.504,0.683,0.567,0.868,0.513,0.903,0.734,0.543,
+0.389,0.762,0.714,0.655,0.427,0.776,0.692,0.066,0.442,0.757,
+0.789,0.982,0.634,1.589,1.115,0.888,0.497,0.740,0.866,0.723,
+0.567,0.795,0.864,0.131,0.438,0.769,0.764,0.792,0.629,1.239,
+0.078,0.130,0.037,0.061,0.059,0.078,0.053,0.064,0.058,0.017,
+0.048,0.068,0.067,0.103,0.054,0.115,0.726,0.900,0.528,0.798,
+0.065,0.087,0.064,0.093,0.872,0.120,0.547,0.827,0.605,0.950,
+0.753,1.092,0.824,0.673,0.471,0.796,0.919,0.899,0.729,1.095,
+1.145,0.117,0.758,1.178,0.929,0.907,0.938,1.708,1.761,0.841,
+0.630,1.291,0.840,0.590,0.472,0.701,1.002,0.091,0.490,0.896,
+1.335,0.980,0.786,2.009,1.258,1.001,0.512,0.853,0.971,0.939,
+0.597,0.812,0.957,0.088,0.607,1.083,0.924,1.072,0.714,1.800,
+1.171,1.182,0.859,1.322,0.088,0.092,0.088,0.121,1.328,0.117,
+0.932,1.583,1.225,1.539,1.334,2.046,2.127,1.128,0.983,2.176,
+1.424,1.186,1.009,1.880,1.864,0.130,1.417,2.555,2.374,1.827,
+1.894,2.889,4.033,2.034,1.889,3.190,2.173,1.302,1.267,1.468,
+2.500,0.227,1.230,1.666,3.022,2.221,1.461,2.440,2.458,1.491,
+1.147,1.476,1.576,1.029,1.015,0.937,1.575,0.156,1.088,1.177,
+1.238,1.328,1.031,1.328,2.083,1.225,1.213,1.538,0.164,0.129,
+0.128,0.204,1.231,0.113,0.795,0.982,1.061,1.194,1.080,1.286,
+2.466,1.139,1.254,2.448,1.772,1.253,1.210,1.747,1.413,0.121,
+0.991,1.379,1.827,1.161,1.377,2.246,2.302,1.342,0.914,1.318,
+1.432,0.978,0.788,0.890,1.120,0.133,0.774,0.910,1.001,1.075,
+0.762,1.069,1.570,1.143,0.750,0.896,0.988,0.674,0.683,0.635,
+1.091,0.147,0.809,0.962,0.711,0.890,0.759,0.825,1.125,1.003,
+0.712,0.876,0.162,0.103,0.096,0.119,0.955,0.105,0.691,0.816,
+0.608,0.916,0.718,0.757,1.010,0.732,0.529,0.882,1.124,0.800,
+0.655,0.890,0.965,0.084,0.696,0.921,0.899,0.768,0.831,1.285,
+2.007,0.817,1.023,1.061,1.342,0.806,0.832,0.883,1.189,0.162,
+0.638,0.906,1.134,1.092,0.817,1.313,0.140,0.108,0.077,0.098,
+0.105,0.094,0.084,0.081,0.106,0.025,0.092,0.104,0.132,0.202,
+0.112,0.150,0.867,0.716,0.710,0.726,0.081,0.069,0.080,0.090,
+0.787,0.095,0.651,0.700,0.600,0.774,0.899,0.763,0.758,0.470,
+0.504,0.739,0.891,0.699,0.659,0.848,0.896,0.093,0.736,0.989,
+0.765,0.766,0.887,1.329,2.398,0.854,0.809,1.475,0.930,0.564,
+0.623,0.688,0.961,0.097,0.518,0.750,1.290,0.956,0.821,1.705,
+1.496,0.978,0.752,0.946,0.946,0.702,0.703,0.688,0.922,0.087,
+0.692,0.831,0.966,0.996,0.780,1.143,0.956,0.766,0.681,0.894,
+0.077,0.061,0.068,0.089,0.745,0.067,0.599,0.783,0.675,0.796,
+0.799,0.942,1.355,0.695,0.731,1.370,0.705,0.479,0.576,0.823,
+1.142,0.086,0.852,1.305,1.516,1.164,1.333,2.408,3.246,2.052,
+1.537,2.425,1.834,1.422,1.249,1.356,1.389,0.170,0.834,1.265,
+1.527,1.459,1.079,1.744,2.271,1.880,1.217,1.437,1.559,1.280,
+1.291,1.128,1.456,0.222,1.246,1.381,0.916,1.208,0.976,1.255,
+1.151,1.223,1.150,1.192,0.130,0.170,0.153,0.182,0.850,0.105,
+0.751,0.838,0.642,0.996,0.828,1.043,1.333,0.720,0.768,1.240,
+1.349,1.144,0.936,1.179,0.905,0.098,0.669,0.954,0.948,0.798,
+1.012,1.730,2.208,1.855,0.948,1.348,1.685,1.643,1.090,1.143,
+1.115,0.172,0.742,0.940,0.824,1.091,0.693,1.052,1.576,1.554,
+0.954,0.993,1.062,0.631,0.938,0.806,1.206,0.215,1.097,1.251,
+0.632,1.034,0.867,0.937,1.125,1.667,1.170,1.319,0.156,0.249,
+0.263,0.315,1.121,0.217,1.030,1.150,0.662,1.779,1.027,1.081,
+0.898,0.733,0.580,0.829,1.182,1.152,0.943,1.106,0.832,0.102,
+0.674,0.885,0.644,0.772,0.765,1.198,1.652,1.168,0.866,1.152,
+1.435,1.407,1.471,1.143,1.255,0.213,0.969,1.191,0.843,1.135,
+1.053,1.340,0.134,0.220,0.115,0.130,0.134,0.220,0.211,0.132,
+0.145,0.066,0.216,0.179,0.099,0.253,0.172,0.170,1.158,1.454,
+1.223,1.160,0.150,0.230,0.225,0.167,1.240,0.241,1.269,1.282,
+0.762,1.862,1.773,1.308,0.899,0.611,0.760,0.808,1.182,1.351,
+1.266,1.233,1.172,0.152,1.232,1.409,0.702,0.922,1.265,1.483,
+1.435,0.879,0.681,1.069,0.837,0.662,0.635,0.698,0.703,0.076,
+0.479,0.656,0.811,0.742,0.650,1.207,1.468,1.535,0.943,1.145,
+1.096,1.160,1.189,1.120,0.945,0.125,0.955,1.125,0.837,1.223,
+0.947,1.336,0.828,0.918,0.861,1.022,0.077,0.102,0.089,0.108,
+0.747,0.090,0.769,0.932,0.662,1.004,1.056,1.166,1.027,0.624,
+0.693,1.006,0.825,0.722,0.652,0.912,0.994,0.090,0.920,1.333,
+1.165,1.198,1.503,2.179,2.197,1.437,1.071,1.611,1.003,0.866,
+0.687,0.774,1.017,0.124,0.613,0.808,1.097,1.070,0.717,1.195,
+1.953,1.760,1.073,1.287,1.266,1.188,1.093,0.965,1.544,0.220,
+1.243,1.331,0.975,1.459,0.870,1.184,1.419,1.686,3.051,1.684,
+0.161,0.226,0.267,0.290,1.035,0.150,0.995,1.069,0.644,1.228,
+0.901,1.076,1.264,0.903,1.023,1.512,1.086,1.170,1.060,1.219,
+1.076,0.124,0.897,1.198,1.093,0.998,1.160,2.251,0.174,0.176,
+0.103,0.138,0.174,0.206,0.121,0.118,0.126,0.030,0.100,0.110,
+0.103,0.173,0.124,0.136,0.184,0.234,0.126,0.131,0.179,0.223,
+0.166,0.124,0.203,0.065,0.200,0.187,0.111,0.270,0.126,0.138,
+0.126,0.228,0.229,0.163,0.024,0.058,0.066,0.042,0.205,0.055,
+0.314,0.285,0.094,0.251,0.160,0.151,0.174,0.151,0.129,0.202,
+0.259,0.354,0.274,0.314,0.166,0.034,0.180,0.216,0.156,0.201,
+0.182,0.287,1.234,0.930,0.707,0.714,0.918,1.031,0.943,0.710,
+1.336,0.423,1.107,1.009,0.730,1.353,0.919,1.067,0.119,0.177,
+0.090,0.086,0.097,0.166,0.133,0.074,0.306,0.261,0.201,0.148,
+0.114,0.416,0.147,0.133,0.836,1.437,1.028,0.790,0.121,0.293,
+0.202,0.125,1.122,0.214,0.894,0.883,0.520,1.029,0.963,0.796,
+0.651,0.578,0.588,0.624,0.917,1.336,1.074,1.035,1.029,0.190,
+1.271,1.164,0.620,0.875,1.005,1.107,1.084,0.630,0.495,0.776,
+0.640,0.498,0.403,0.430,0.716,0.093,0.466,0.602,0.694,0.706,
+0.525,0.948,1.470,1.238,0.799,0.996,1.068,1.198,0.864,0.762,
+1.702,0.314,1.066,1.242,1.021,1.616,0.951,1.215,0.886,1.058,
+0.930,0.933,0.102,0.148,0.115,0.109,1.123,0.125,0.907,0.987,
+0.690,1.187,0.943,1.078,1.147,0.764,0.747,0.957,1.018,0.900,
+0.712,0.860,1.127,0.132,1.127,1.348,1.215,1.383,1.265,1.820,
+2.479,1.202,0.974,1.823,0.934,0.632,0.597,0.702,0.968,0.096,
+0.491,0.771,1.341,0.999,0.757,1.570,1.245,0.772,0.559,0.848,
+0.729,0.482,0.490,0.584,0.917,0.088,0.507,0.752,0.817,0.724,
+0.501,0.880,1.076,0.829,0.889,1.269,0.101,0.090,0.084,0.162,
+0.684,0.067,0.468,0.705,0.605,0.735,0.546,0.937,1.501,0.764,
+0.933,2.101,1.051,0.788,0.779,1.284,0.991,0.080,0.655,1.031,
+1.311,0.952,1.077,2.572,1.830,1.177,0.818,1.291,1.208,0.957,
+0.901,0.824,0.962,0.112,0.632,0.873,0.871,0.960,0.737,1.167,
+1.380,1.099,0.640,0.943,0.976,0.872,0.695,0.706,1.100,0.170,
+0.801,1.054,0.807,1.214,0.606,0.892,0.983,0.996,0.854,1.106,
+0.090,0.114,0.121,0.142,0.989,0.114,0.898,1.169,0.719,1.119,
+0.769,1.058,1.224,0.733,0.699,1.291,1.207,1.058,0.953,1.332,
+0.974,0.096,0.755,1.135,1.015,1.089,0.955,1.734,1.376,0.795,
+0.690,0.930,1.110,0.827,0.837,0.939,1.228,0.174,0.909,1.081,
+0.926,0.961,1.047,1.427,0.113,0.107,0.069,0.107,0.085,0.099,
+0.086,0.087,0.121,0.033,0.121,0.133,0.114,0.179,0.122,0.151,
+0.881,0.986,0.791,1.125,0.086,0.104,0.099,0.136,1.030,0.136,
+0.843,1.047,0.705,1.093,1.053,1.216,0.878,0.641,0.669,1.062,
+1.111,1.020,1.024,1.441,1.406,0.144,1.165,1.687,1.025,1.096,
+1.277,1.899,2.017,0.914,0.791,1.401,0.911,0.656,0.625,0.746,
+1.020,0.099,0.598,0.930,1.340,0.993,0.925,2.017,1.181,0.807,
+0.607,0.991,0.747,0.591,0.619,0.734,1.016,0.089,0.742,1.120,
+1.070,1.064,0.822,1.407,1.343,1.212,1.030,1.785,0.122,0.102,
+0.088,0.161,1.293,0.112,1.001,1.444,1.224,1.460,1.365,1.919,
+2.340,1.190,1.268,2.648,1.581,1.298,1.214,1.887,2.097,0.141,
+1.746,2.735,3.244,2.217,2.624,4.125,0.223,0.152,0.132,0.179,
+0.162,0.124,0.112,0.114,0.137,0.021,0.113,0.129,0.143,0.142,
+0.106,0.133,0.174,0.146,0.108,0.113,0.148,0.129,0.129,0.104,
+0.128,0.029,0.126,0.122,0.091,0.131,0.115,0.121,0.105,0.096,
+0.093,0.103,0.016,0.018,0.020,0.020,0.075,0.014,0.084,0.074,
+0.060,0.088,0.148,0.098,0.126,0.083,0.075,0.125,0.133,0.125,
+0.101,0.123,0.099,0.014,0.091,0.103,0.101,0.089,0.116,0.158,
+0.198,0.171,0.121,0.133,0.179,0.170,0.135,0.105,0.143,0.038,
+0.196,0.176,0.094,0.148,0.157,0.136,0.190,0.216,0.125,0.110,
+0.171,0.172,0.168,0.123,0.214,0.089,0.207,0.230,0.091,0.199,
+0.147,0.129,0.101,0.150,0.099,0.093,0.029,0.044,0.049,0.026,
+0.149,0.047,0.141,0.131,0.065,0.151,0.123,0.096,0.085,0.123,
+0.057,0.074,0.128,0.127,0.103,0.114,0.108,0.021,0.114,0.123,
+0.084,0.094,0.115,0.141,0.125,0.086,0.066,0.074,0.181,0.114,
+0.109,0.090,0.110,0.025,0.088,0.088,0.070,0.096,0.082,0.107,
+0.016,0.024,0.019,0.014,0.023,0.033,0.034,0.018,0.020,0.016,
+0.035,0.024,0.012,0.034,0.024,0.020,0.070,0.088,0.086,0.068,
+0.015,0.022,0.027,0.016,0.089,0.029,0.119,0.097,0.049,0.102,
+0.147,0.095,0.059,0.042,0.048,0.057,0.090,0.094,0.096,0.096,
+0.094,0.020,0.110,0.107,0.063,0.085,0.115,0.125,0.142,0.070,
+0.060,0.100,0.081,0.056,0.054,0.064,0.077,0.012,0.052,0.067,
+0.086,0.080,0.067,0.132,0.135,0.120,0.095,0.113,0.119,0.125,
+0.116,0.103,0.098,0.021,0.108,0.122,0.080,0.122,0.097,0.135,
+0.076,0.076,0.084,0.097,0.011,0.013,0.017,0.015,0.081,0.017,
+0.078,0.116,0.057,0.100,0.148,0.120,0.096,0.061,0.069,0.110,
+0.073,0.065,0.069,0.089,0.104,0.014,0.110,0.175,0.117,0.122,
+0.151,0.240,0.192,0.157,0.117,0.144,0.164,0.177,0.144,0.129,
+0.108,0.023,0.083,0.097,0.092,0.113,0.090,0.112,0.179,0.185,
+0.127,0.120,0.188,0.205,0.223,0.163,0.144,0.058,0.189,0.173,
+0.071,0.128,0.149,0.133,0.082,0.119,0.110,0.089,0.019,0.040,
+0.042,0.027,0.076,0.024,0.098,0.081,0.053,0.092,0.096,0.088,
+0.080,0.052,0.052,0.079,0.107,0.121,0.098,0.100,0.113,0.017,
+0.077,0.085,0.070,0.067,0.092,0.123,0.197,0.239,0.120,0.120,
+0.224,0.397,0.206,0.143,0.137,0.047,0.129,0.123,0.073,0.135,
+0.092,0.115,0.207,0.316,0.171,0.128,0.208,0.191,0.244,0.180,
+0.206,0.136,0.269,0.256,0.077,0.214,0.160,0.169,0.119,0.266,
+0.171,0.153,0.045,0.139,0.119,0.077,0.159,0.094,0.191,0.175,
+0.065,0.238,0.184,0.134,0.078,0.083,0.063,0.077,0.139,0.219,
+0.151,0.150,0.105,0.030,0.123,0.124,0.064,0.095,0.142,0.135,
+0.132,0.113,0.086,0.084,0.168,0.221,0.219,0.119,0.135,0.039,
+0.136,0.123,0.065,0.116,0.111,0.116,0.024,0.055,0.034,0.021,
+0.048,0.125,0.160,0.041,0.045,0.067,0.106,0.061,0.013,0.055,
+0.046,0.028,0.166,0.246,0.194,0.145,0.058,0.120,0.127,0.049,
+0.196,0.096,0.268,0.196,0.112,0.248,0.321,0.178,0.113,0.059,
+0.069,0.068,0.148,0.226,0.234,0.158,0.205,0.047,0.216,0.174,
+0.075,0.106,0.178,0.155,0.106,0.079,0.063,0.086,0.079,0.076,
+0.070,0.066,0.067,0.010,0.056,0.060,0.063,0.067,0.061,0.102,
+0.138,0.179,0.118,0.110,0.139,0.207,0.220,0.146,0.117,0.039,
+0.156,0.148,0.067,0.150,0.117,0.129,0.071,0.108,0.100,0.090,
+0.012,0.027,0.025,0.017,0.081,0.023,0.119,0.107,0.055,0.106,
+0.136,0.112,0.074,0.053,0.058,0.074,0.072,0.083,0.077,0.087,
+0.097,0.014,0.109,0.128,0.087,0.111,0.150,0.193,0.134,0.121,
+0.088,0.112,0.089,0.098,0.082,0.078,0.086,0.016,0.076,0.067,
+0.071,0.085,0.075,0.079,0.152,0.194,0.117,0.106,0.165,0.199,
+0.189,0.135,0.173,0.067,0.233,0.180,0.077,0.187,0.107,0.109,
+0.092,0.160,0.201,0.120,0.020,0.044,0.065,0.039,0.136,0.040,
+0.210,0.169,0.048,0.124,0.107,0.094,0.070,0.062,0.063,0.093,
+0.094,0.110,0.134,0.127,0.098,0.021,0.110,0.119,0.073,0.085,
+0.102,0.159,0.015,0.026,0.017,0.013,0.027,0.051,0.044,0.022,
+0.019,0.014,0.031,0.020,0.010,0.027,0.039,0.016,0.028,0.069,
+0.035,0.020,0.059,0.118,0.095,0.042,0.044,0.079,0.110,0.068,
+0.017,0.077,0.035,0.025,0.016,0.062,0.060,0.026,0.017,0.067,
+0.098,0.029,0.068,0.069,0.257,0.124,0.014,0.067,0.066,0.029,
+0.011,0.016,0.013,0.013,0.031,0.056,0.059,0.048,0.025,0.016,
+0.056,0.040,0.013,0.023,0.028,0.027,0.106,0.124,0.086,0.068,
+0.110,0.205,0.186,0.101,0.144,0.059,0.231,0.172,0.065,0.162,
+0.145,0.137,0.020,0.061,0.030,0.015,0.036,0.106,0.093,0.031,
+0.054,0.081,0.183,0.069,0.015,0.060,0.048,0.025,0.103,0.414,
+0.207,0.109,0.043,0.301,0.149,0.043,0.192,0.135,0.293,0.199,
+0.057,0.217,0.205,0.124,0.062,0.077,0.071,0.075,0.135,0.395,
+0.237,0.211,0.167,0.076,0.321,0.213,0.067,0.134,0.175,0.152,
+0.089,0.076,0.054,0.079,0.063,0.065,0.051,0.049,0.075,0.015,
+0.066,0.075,0.060,0.084,0.061,0.095,0.138,0.181,0.114,0.109,
+0.164,0.248,0.187,0.131,0.192,0.068,0.229,0.218,0.093,0.213,
+0.155,0.141,0.088,0.165,0.137,0.104,0.020,0.055,0.052,0.022,
+0.150,0.056,0.197,0.178,0.070,0.212,0.159,0.144,0.086,0.069,
+0.066,0.085,0.179,0.119,0.101,0.104,0.126,0.027,0.181,0.170,
+0.106,0.159,0.157,0.186,0.187,0.117,0.092,0.150,0.131,0.084,
+0.088,0.136,0.120,0.014,0.060,0.104,0.117,0.101,0.085,0.147,
+0.128,0.104,0.069,0.091,0.095,0.077,0.078,0.090,0.098,0.016,
+0.080,0.103,0.081,0.092,0.069,0.100,0.091,0.089,0.086,0.111,
+0.011,0.012,0.013,0.021,0.075,0.011,0.067,0.086,0.054,0.077,
+0.066,0.099,0.118,0.071,0.087,0.180,0.103,0.081,0.084,0.173,
+0.117,0.012,0.076,0.149,0.127,0.098,0.114,0.292,0.213,0.179,
+0.154,0.164,0.188,0.181,0.343,0.157,0.151,0.030,0.139,0.157,
+0.116,0.174,0.175,0.167,0.216,0.236,0.136,0.153,0.215,0.244,
+0.217,0.181,0.204,0.060,0.229,0.256,0.133,0.323,0.149,0.170,
+0.122,0.198,0.170,0.163,0.020,0.044,0.059,0.045,0.193,0.041,
+0.277,0.274,0.095,0.214,0.157,0.163,0.131,0.102,0.102,0.167,
+0.182,0.197,0.220,0.325,0.151,0.025,0.172,0.218,0.136,0.165,
+0.172,0.256,0.116,0.087,0.070,0.083,0.116,0.125,0.132,0.112,
+0.130,0.031,0.135,0.139,0.080,0.114,0.128,0.150,0.014,0.019,
+0.012,0.014,0.020,0.037,0.032,0.020,0.021,0.014,0.038,0.029,
+0.014,0.031,0.029,0.023,0.085,0.152,0.122,0.113,0.017,0.041,
+0.040,0.030,0.137,0.048,0.173,0.163,0.070,0.172,0.180,0.154,
+0.090,0.070,0.076,0.101,0.124,0.152,0.161,0.191,0.223,0.036,
+0.210,0.268,0.109,0.131,0.192,0.228,0.161,0.101,0.080,0.124,
+0.095,0.080,0.079,0.089,0.098,0.014,0.071,0.100,0.104,0.095,
+0.093,0.179,0.127,0.105,0.075,0.105,0.103,0.109,0.109,0.109,
+0.107,0.017,0.111,0.141,0.098,0.125,0.105,0.162,0.116,0.130,
+0.113,0.154,0.014,0.019,0.017,0.021,0.131,0.023,0.142,0.177,
+0.102,0.170,0.171,0.198,0.173,0.103,0.112,0.205,0.153,0.136,
+0.137,0.200,0.192,0.020,0.214,0.287,0.247,0.226,0.282,0.370,
+2.022,1.345,1.190,1.917,1.392,1.046,1.017,1.251,1.208,0.134,
+0.909,1.129,1.503,1.292,1.011,1.471,1.418,1.059,0.762,1.056,
+1.112,0.815,0.934,0.885,0.941,0.116,0.807,0.843,0.796,0.888,
+0.749,0.934,0.949,0.899,0.802,1.022,0.096,0.090,0.098,0.150,
+0.752,0.083,0.733,0.805,0.556,0.725,0.766,0.868,0.995,0.529,
+0.488,0.943,0.765,0.587,0.541,0.786,0.730,0.065,0.553,0.725,
+0.818,0.480,0.750,1.292,1.934,1.365,0.910,1.260,1.476,1.227,
+1.048,0.986,1.059,0.151,0.738,0.900,0.850,1.013,0.653,0.960,
+1.669,1.582,0.911,0.994,1.342,0.927,1.177,0.921,1.558,0.280,
+1.299,1.673,0.804,1.208,0.769,0.936,1.111,1.365,1.123,1.072,
+0.156,0.184,0.197,0.194,1.436,0.242,1.428,1.942,0.894,1.357,
+1.207,1.140,0.791,0.603,0.460,0.670,1.069,0.987,0.808,1.006,
+0.838,0.095,0.731,1.043,0.741,0.701,0.828,1.315,1.415,0.797,
+0.649,0.918,1.416,1.182,1.184,1.120,1.294,0.194,1.057,1.030,
+0.905,1.057,0.927,1.277,0.162,0.175,0.121,0.145,0.197,0.209,
+0.224,0.181,0.185,0.057,0.406,0.223,0.160,0.354,0.201,0.240,
+0.967,1.036,1.516,1.328,0.140,0.145,0.524,0.347,1.205,0.214,
+1.296,1.133,0.606,1.139,1.373,1.064,0.679,0.498,0.515,0.650,
+1.107,0.991,1.495,1.346,0.909,0.124,0.979,1.064,0.797,0.797,
+1.053,1.290,1.312,0.582,0.498,0.895,0.678,0.505,0.512,0.574,
+0.668,0.078,0.458,0.595,0.870,0.778,0.667,1.139,1.148,0.930,
+0.666,0.873,0.939,0.826,0.825,0.791,0.852,0.109,1.081,0.993,
+0.825,1.172,0.804,1.225,0.886,0.930,0.957,1.032,0.098,0.096,
+0.133,0.151,1.016,0.120,0.991,1.139,0.729,1.144,1.373,1.329,
+1.015,0.611,0.587,1.049,0.736,0.591,0.737,0.980,1.139,0.115,
+0.988,1.406,1.409,1.243,1.495,2.445,0.146,0.129,0.095,0.127,
+0.127,0.128,0.122,0.124,0.087,0.018,0.068,0.081,0.093,0.102,
+0.081,0.105,0.161,0.178,0.137,0.193,0.192,0.201,0.289,0.184,
+0.138,0.053,0.170,0.143,0.121,0.145,0.125,0.127,0.073,0.113,
+0.090,0.087,0.018,0.032,0.033,0.027,0.087,0.026,0.127,0.125,
+0.052,0.103,0.110,0.103,0.072,0.052,0.046,0.069,0.093,0.097,
+0.082,0.088,0.066,0.013,0.067,0.081,0.064,0.061,0.086,0.133,
+0.136,0.165,0.087,0.093,0.144,0.187,0.167,0.117,0.106,0.039,
+0.088,0.088,0.058,0.101,0.069,0.081,0.189,0.297,0.149,0.124,
+0.209,0.201,0.268,0.155,0.250,0.150,0.255,0.233,0.085,0.214,
+0.130,0.151,0.099,0.200,0.133,0.106,0.037,0.091,0.093,0.044,
+0.304,0.142,0.336,0.368,0.116,0.241,0.199,0.145,0.066,0.061,
+0.048,0.054,0.108,0.139,0.113,0.104,0.083,0.022,0.099,0.107,
+0.054,0.070,0.089,0.109,0.118,0.101,0.085,0.077,0.160,0.211,
+0.231,0.131,0.132,0.043,0.266,0.122,0.065,0.115,0.120,0.108,
+0.023,0.049,0.033,0.023,0.051,0.106,0.119,0.044,0.047,0.067,
+0.328,0.068,0.016,0.057,0.058,0.031,0.107,0.182,0.218,0.151,
+0.042,0.090,0.191,0.051,0.211,0.136,0.394,0.218,0.074,0.242,
+0.360,0.186,0.069,0.059,0.064,0.065,0.131,0.185,0.232,0.152,
+0.125,0.044,0.210,0.152,0.065,0.103,0.162,0.148,0.117,0.100,
+0.074,0.102,0.082,0.079,0.073,0.074,0.070,0.012,0.064,0.068,
+0.079,0.090,0.093,0.132,0.161,0.184,0.128,0.143,0.185,0.232,
+0.212,0.171,0.146,0.044,0.341,0.177,0.108,0.220,0.173,0.196,
+0.083,0.124,0.128,0.115,0.014,0.032,0.035,0.024,0.122,0.038,
+0.174,0.164,0.085,0.167,0.289,0.181,0.088,0.069,0.063,0.091,
+0.080,0.090,0.091,0.103,0.104,0.017,0.126,0.150,0.114,0.129,
+0.181,0.235,1.437,1.361,0.938,1.410,1.034,0.982,0.739,0.879,
+0.893,0.106,0.734,0.775,0.644,0.584,0.500,0.739,1.511,1.460,
+0.861,0.967,1.600,1.374,1.552,1.111,1.496,0.249,1.925,1.604,
+0.687,1.179,0.817,0.952,0.937,1.281,0.944,0.964,0.160,0.230,
+0.213,0.242,1.175,0.209,1.507,1.340,0.561,1.149,0.960,1.041,
+0.710,0.519,0.405,0.677,0.830,0.826,0.690,0.846,0.943,0.122,
+0.957,1.219,0.732,0.702,0.917,1.491,0.128,0.146,0.078,0.102,
+0.170,0.234,0.160,0.178,0.114,0.037,0.163,0.125,0.061,0.099,
+0.074,0.090,0.151,0.208,0.117,0.099,0.276,0.292,0.293,0.201,
+0.202,0.105,0.694,0.313,0.068,0.160,0.114,0.100,0.115,0.229,
+0.146,0.110,0.041,0.104,0.116,0.050,0.241,0.124,0.435,0.314,
+0.078,0.220,0.190,0.152,0.089,0.076,0.052,0.081,0.154,0.208,
+0.155,0.172,0.125,0.033,0.169,0.223,0.079,0.094,0.111,0.167,
+1.553,0.909,0.778,0.582,1.158,1.355,1.295,0.933,1.097,0.241,
+1.475,1.037,0.550,0.846,1.024,0.949,0.135,0.219,0.168,0.100,
+0.157,0.289,0.265,0.118,0.205,0.115,0.464,0.221,0.082,0.221,
+0.212,0.132,1.004,1.055,1.060,0.751,0.173,0.202,0.302,0.144,
+0.752,0.190,0.403,0.388,0.351,0.628,0.827,0.705,0.534,0.434,
+0.474,0.383,0.766,0.926,1.031,0.710,0.861,0.171,1.393,1.056,
+0.486,0.677,1.074,1.084,0.896,0.560,0.447,0.610,0.611,0.517,
+0.405,0.426,0.568,0.078,0.559,0.573,0.439,0.472,0.438,0.638,
+1.100,1.138,0.785,0.735,1.129,1.375,1.071,0.776,1.105,0.202,
+1.459,1.247,0.625,1.185,0.975,0.864,0.846,1.058,0.921,0.880,
+0.116,0.199,0.176,0.140,1.187,0.202,1.764,1.438,0.619,1.274,
+1.300,1.145,0.679,0.510,0.454,0.640,0.758,0.812,0.693,0.715,
+0.992,0.126,1.457,1.368,0.878,1.026,1.279,1.440,1.412,0.821,
+0.595,1.082,0.760,0.577,0.495,0.643,0.708,0.081,0.473,0.628,
+0.765,0.673,0.515,0.925,1.054,0.731,0.444,0.614,0.759,0.519,
+0.579,0.571,0.632,0.067,0.485,0.587,0.449,0.500,0.393,0.586,
+0.723,0.703,0.469,0.681,0.079,0.079,0.067,0.115,0.634,0.076,
+0.581,0.774,0.497,0.658,0.578,0.803,0.788,0.472,0.373,0.715,
+0.651,0.502,0.422,0.697,0.594,0.055,0.436,0.716,0.692,0.561,
+0.649,1.305,1.531,1.180,0.732,1.080,1.258,1.188,1.065,1.010,
+0.893,0.126,0.932,0.964,0.673,0.835,0.566,0.934,1.511,1.453,
+0.845,0.969,1.531,1.380,1.622,1.272,1.270,0.207,1.788,1.585,
+0.630,1.020,0.716,0.901,0.924,1.372,0.847,0.913,0.125,0.210,
+0.175,0.179,1.235,0.222,1.449,1.793,0.658,1.403,1.145,1.278,
+0.966,0.709,0.500,0.783,1.127,1.161,0.952,1.239,0.871,0.117,
+0.932,1.408,0.715,0.814,0.846,1.410,1.414,0.967,0.686,0.806,
+1.219,1.214,1.307,1.154,1.135,0.179,1.087,1.123,0.756,0.954,
+1.027,1.289,0.136,0.148,0.110,0.107,0.153,0.236,0.263,0.163,
+0.134,0.052,0.232,0.192,0.093,0.218,0.156,0.150,1.110,1.445,
+1.121,1.088,0.147,0.188,0.262,0.197,1.825,0.378,1.622,1.803,
+0.799,1.626,1.732,1.511,0.805,0.675,0.629,0.719,1.209,1.225,
+1.455,1.377,1.159,0.165,1.566,1.845,0.817,0.977,1.477,1.715,
+1.254,0.674,0.538,0.848,0.707,0.577,0.537,0.558,0.702,0.083,
+0.539,0.669,0.781,0.625,0.630,1.090,1.164,0.924,0.653,0.809,
+0.940,0.984,0.949,0.823,0.822,0.098,0.886,1.055,0.708,0.871,
+0.804,1.010,1.080,1.198,0.930,1.181,0.108,0.128,0.123,0.148,
+1.375,0.173,1.625,1.979,0.938,1.409,1.588,1.663,1.272,0.759,
+0.726,1.294,1.136,1.043,1.079,1.308,1.322,0.123,1.580,2.073,
+1.505,1.297,1.773,2.258,2.299,1.252,1.129,2.184,1.165,0.757,
+0.686,0.913,1.063,0.102,0.545,0.890,1.521,1.192,0.786,1.490,
+1.295,0.783,0.595,0.812,0.808,0.509,0.512,0.554,0.792,0.069,
+0.536,0.618,0.738,0.760,0.522,0.783,0.875,0.709,0.620,0.910,
+0.085,0.070,0.067,0.117,0.582,0.054,0.435,0.576,0.516,0.625,
+0.590,0.849,1.244,0.617,0.704,1.198,0.920,0.617,0.571,0.858,
+0.739,0.061,0.537,0.794,1.064,0.699,0.851,1.960,1.659,0.982,
+0.674,1.097,0.968,0.677,0.514,0.652,0.674,0.071,0.393,0.598,
+0.689,0.647,0.440,0.821,1.039,0.720,0.483,0.648,0.651,0.434,
+0.434,0.450,0.719,0.078,0.458,0.665,0.565,0.580,0.415,0.632,
+0.673,0.589,0.489,0.597,0.058,0.060,0.049,0.065,0.614,0.060,
+0.405,0.594,0.547,0.612,0.505,0.650,0.649,0.422,0.326,0.559,
+0.599,0.496,0.354,0.530,0.532,0.042,0.392,0.607,0.589,0.471,
+0.557,1.052,1.447,0.668,0.533,0.805,1.021,0.822,0.619,0.799,
+0.830,0.102,0.401,0.629,0.856,0.731,0.565,1.076,0.108,0.080,
+0.055,0.085,0.088,0.080,0.066,0.077,0.083,0.016,0.071,0.083,
+0.115,0.149,0.079,0.134,0.717,0.592,0.643,0.772,0.070,0.061,
+0.077,0.094,0.683,0.081,0.482,0.629,0.561,0.728,0.734,0.818,
+0.754,0.424,0.458,0.718,0.802,0.600,0.597,0.822,0.787,0.107,
+0.565,0.858,0.754,0.708,0.814,1.336,1.732,0.645,0.561,1.169,
+0.736,0.492,0.464,0.670,0.768,0.072,0.423,0.648,1.194,0.765,
+0.627,1.356,1.121,0.699,0.516,0.799,0.692,0.525,0.473,0.570,
+0.711,0.062,0.515,0.704,0.863,0.909,0.607,1.063,0.773,0.619,
+0.588,0.837,0.062,0.051,0.057,0.081,0.626,0.052,0.488,0.667,
+0.693,0.722,0.795,0.990,1.201,0.617,0.628,1.331,0.778,0.524,
+0.575,0.921,1.044,0.083,0.743,1.229,1.443,1.141,1.417,2.732,
+2.447,1.510,1.189,2.018,1.498,1.193,1.038,1.237,1.093,0.131,
+0.667,1.064,1.297,1.211,0.894,1.619,1.814,1.301,1.032,1.350,
+1.350,1.065,1.396,1.158,1.226,0.166,1.125,1.263,0.882,1.061,
+0.899,1.200,0.965,0.948,0.802,1.047,0.100,0.123,0.110,0.149,
+0.834,0.112,0.763,1.102,0.587,0.912,0.917,1.243,1.063,0.619,
+0.602,0.972,1.088,0.935,0.730,0.978,0.722,0.077,0.576,0.909,
+0.877,0.762,0.927,1.813,1.976,1.524,0.915,1.386,1.542,1.452,
+1.048,1.285,1.002,0.152,0.635,0.912,0.844,0.986,0.669,1.146,
+1.711,1.587,1.052,1.315,1.510,1.065,1.167,1.052,1.598,0.336,
+1.172,1.531,0.847,1.374,0.903,1.159,0.973,1.195,0.885,1.044,
+0.130,0.184,0.141,0.151,1.364,0.241,1.090,1.511,0.826,1.438,
+1.124,1.396,0.770,0.587,0.478,0.711,0.986,1.024,0.693,0.879,
+0.760,0.088,0.666,1.045,0.678,0.718,0.800,1.320,1.491,0.934,
+0.794,0.970,1.459,1.388,1.400,1.299,1.134,0.198,0.970,1.074,
+0.850,1.005,0.900,1.368,0.111,0.145,0.091,0.117,0.152,0.228,
+0.200,0.153,0.131,0.063,0.314,0.176,0.102,0.228,0.158,0.164,
+0.998,1.189,1.130,1.199,0.133,0.195,0.216,0.184,1.280,0.264,
+1.226,1.460,0.785,1.650,1.770,1.657,0.841,0.589,0.615,0.905,
+1.242,1.361,1.391,1.452,1.124,0.147,1.205,1.512,0.876,0.999,
+1.453,1.954,1.540,0.884,0.747,1.275,0.865,0.712,0.681,0.884,
+0.841,0.088,0.594,0.833,0.943,0.831,0.808,1.492,1.539,1.311,
+0.935,1.248,1.193,1.301,1.159,1.205,1.126,0.160,1.303,1.432,
+1.033,1.658,1.250,1.612,0.862,0.953,0.996,1.172,0.083,0.115,
+0.131,0.130,0.923,0.120,1.033,1.293,0.777,1.229,1.704,1.721,
+1.071,0.706,0.705,1.084,0.976,0.896,0.818,1.122,1.057,0.097,
+1.034,1.532,1.277,1.225,1.656,2.639,2.267,1.298,1.010,1.484,
+1.042,0.919,0.776,0.977,1.008,0.103,0.627,0.846,1.033,0.801,
+0.600,1.047,1.690,1.462,0.793,1.053,1.350,1.145,1.020,0.977,
+1.345,0.182,1.392,1.400,0.902,1.229,0.882,1.265,1.005,1.304,
+0.961,1.112,0.130,0.181,0.175,0.202,1.089,0.172,0.929,1.153,
+0.748,1.475,1.121,1.242,0.968,0.699,0.551,0.956,1.014,0.926,
+0.769,0.974,1.037,0.119,0.883,1.433,1.080,0.966,1.238,2.209,
+0.139,0.125,0.145,0.123,0.124,0.147,0.106,0.115,0.086,0.018,
+0.095,0.096,0.076,0.106,0.089,0.111,0.136,0.172,0.088,0.096,
+0.208,0.220,0.174,0.140,0.153,0.062,0.263,0.241,0.084,0.174,
+0.116,0.130,0.075,0.145,0.092,0.088,0.023,0.049,0.045,0.025,
+0.150,0.054,0.186,0.184,0.083,0.213,0.205,0.148,0.092,0.080,
+0.056,0.092,0.174,0.175,0.125,0.149,0.109,0.024,0.122,0.168,
+0.099,0.108,0.127,0.188,1.555,1.049,0.773,0.788,1.338,1.442,
+1.474,1.036,1.127,0.236,1.154,1.084,0.797,1.095,1.173,1.274,
+0.125,0.173,0.091,0.085,0.146,0.208,0.160,0.099,0.147,0.070,
+0.270,0.162,0.107,0.235,0.212,0.150,1.276,1.573,1.330,1.121,
+0.205,0.301,0.266,0.177,1.581,0.318,0.947,1.328,0.759,1.556,
+1.667,1.399,0.879,0.716,0.661,0.742,1.344,1.594,1.411,1.182,
+1.250,0.212,1.738,1.717,0.873,1.143,1.549,1.799,1.339,0.826,
+0.589,0.936,0.830,0.733,0.588,0.654,0.877,0.102,0.732,0.922,
+0.789,0.762,0.695,1.169,1.571,1.447,0.908,1.114,1.286,1.468,
+1.049,0.930,1.385,0.194,1.673,1.688,1.090,1.737,1.469,1.531,
+1.107,1.287,1.008,1.166,0.115,0.176,0.146,0.139,1.460,0.186,
+1.546,1.779,1.015,1.867,2.286,1.929,1.175,0.783,0.726,1.002,
+1.030,1.061,0.939,1.029,1.434,0.146,1.731,2.058,1.389,1.484,
+1.932,2.493,2.579,1.178,0.843,1.605,0.994,0.673,0.561,0.817,
+0.989,0.100,0.576,0.866,1.217,0.914,0.699,1.485,1.332,0.834,
+0.460,0.742,0.829,0.560,0.473,0.613,0.849,0.077,0.539,0.758,
+0.657,0.630,0.488,0.836,0.986,0.882,0.579,1.051,0.102,0.100,
+0.072,0.152,0.747,0.077,0.513,0.832,0.729,0.874,0.668,1.051,
+1.263,0.642,0.559,1.190,0.838,0.584,0.522,0.898,0.835,0.068,
+0.575,1.073,1.181,0.855,1.015,2.488,1.679,1.090,0.936,1.211,
+1.058,0.926,0.834,0.876,0.785,0.087,0.608,0.861,0.801,0.806,
+0.620,1.160,1.324,1.055,0.607,0.842,1.096,0.920,0.805,0.826,
+1.021,0.125,0.918,1.228,0.709,0.927,0.628,1.009,0.837,0.945,
+0.581,0.884,0.072,0.099,0.072,0.100,0.926,0.111,0.819,1.174,
+0.759,1.158,0.962,1.362,0.935,0.665,0.514,0.901,0.926,0.792,
+0.648,0.961,0.875,0.081,0.724,1.203,0.921,0.806,0.929,1.786,
+1.809,1.084,0.798,1.062,1.426,1.191,1.064,1.279,1.319,0.178,
+0.892,1.228,1.148,1.167,1.130,1.866,0.128,0.127,0.074,0.100,
+0.121,0.151,0.113,0.115,0.108,0.026,0.117,0.133,0.121,0.176,
+0.123,0.178,1.374,1.520,1.110,1.361,0.125,0.162,0.148,0.172,
+1.681,0.240,1.372,1.854,1.140,1.847,1.873,2.311,1.269,0.981,
+0.817,1.179,1.447,1.354,1.370,1.668,1.628,0.168,1.585,2.325,
+1.271,1.335,1.660,2.727,2.646,1.170,0.831,1.579,1.096,0.828,
+0.686,0.917,1.228,0.117,0.748,1.162,1.677,1.198,1.134,2.478,
+1.823,1.312,0.823,1.220,1.376,1.450,0.900,1.054,1.389,0.122,
+1.117,1.582,1.382,1.435,1.193,1.936,1.631,1.513,1.157,1.760,
+0.117,0.132,0.099,0.161,1.762,0.155,1.557,2.286,1.611,2.044,
+2.196,3.047,2.605,1.246,1.135,2.402,1.644,1.350,1.257,1.929,
+2.158,0.151,1.972,3.213,2.838,2.001,2.517,4.187,5.505,2.863,
+2.359,5.636,2.500,1.509,1.358,2.074,2.818,0.249,1.213,2.123,
+4.880,3.296,1.841,3.977,2.683,1.388,1.094,1.623,1.483,0.878,
+0.767,0.924,1.508,0.105,0.778,1.098,1.482,1.217,0.923,1.585,
+2.072,1.274,1.133,2.034,0.152,0.113,0.097,0.226,1.115,0.088,
+0.593,0.946,1.201,1.164,0.939,1.559,3.996,1.456,1.534,3.644,
+2.321,1.413,1.319,2.420,1.614,0.117,0.899,1.563,2.667,1.519,
+1.569,3.414,2.787,1.280,0.926,1.643,1.318,0.821,0.651,0.898,
+1.166,0.109,0.530,0.846,1.174,1.026,0.618,1.242,1.553,0.876,
+0.587,0.857,0.822,0.495,0.449,0.518,0.871,0.069,0.467,0.673,
+0.718,0.624,0.485,0.747,1.205,0.877,0.671,1.025,0.088,0.067,
+0.056,0.092,0.999,0.076,0.498,0.717,0.664,0.702,0.551,0.827,
+1.357,0.759,0.619,1.159,1.171,0.790,0.645,0.987,0.935,0.064,
+0.508,0.846,0.998,0.764,0.759,1.520,2.018,0.922,0.780,1.336,
+1.204,0.721,0.700,0.936,1.193,0.131,0.535,0.912,1.332,1.014,
+0.825,1.774,0.139,0.098,0.066,0.114,0.090,0.079,0.061,0.079,
+0.093,0.013,0.061,0.091,0.145,0.155,0.095,0.178,0.928,0.679,
+0.645,0.860,0.072,0.056,0.051,0.083,0.686,0.062,0.427,0.585,
+0.615,0.649,0.664,0.852,0.989,0.587,0.579,0.983,1.023,0.753,
+0.648,0.933,0.975,0.084,0.613,0.960,1.000,0.894,0.952,1.788,
+3.289,1.179,1.107,2.779,1.235,0.696,0.771,1.087,1.555,0.130,
+0.662,1.110,2.222,1.315,1.099,2.732,1.814,1.092,0.841,1.337,
+1.027,0.730,0.671,0.829,1.048,0.075,0.659,1.033,1.319,1.099,
+0.870,1.587,1.211,0.882,0.836,1.281,0.089,0.065,0.071,0.112,
+0.960,0.069,0.786,0.955,0.957,0.943,0.936,1.368,2.211,1.072,
+1.079,2.338,1.208,0.823,0.809,1.336,1.625,0.099,1.016,1.766,
+2.655,1.827,1.947,4.654,3.129,1.602,1.220,2.348,1.448,0.941,
+0.782,1.083,1.149,0.102,0.522,0.986,1.519,1.220,0.830,1.728,
+1.668,1.024,0.851,1.189,0.924,0.618,0.605,0.679,0.797,0.073,
+0.502,0.730,0.700,0.700,0.555,0.942,0.948,0.774,0.638,0.979,
+0.083,0.085,0.062,0.109,0.586,0.054,0.354,0.515,0.570,0.657,
+0.503,0.839,1.226,0.694,0.661,1.280,1.013,0.738,0.600,0.916,
+0.689,0.057,0.420,0.710,0.961,0.679,0.779,1.680,1.785,1.143,
+0.605,1.121,1.004,0.812,0.508,0.686,0.707,0.070,0.364,0.642,
+0.714,0.702,0.423,0.986,1.018,0.776,0.430,0.616,0.646,0.354,
+0.380,0.449,0.582,0.058,0.387,0.567,0.468,0.525,0.375,0.623,
+0.860,0.793,0.527,0.786,0.072,0.077,0.061,0.094,0.595,0.074,
+0.357,0.543,0.487,0.714,0.456,0.697,0.832,0.564,0.433,0.811,
+0.729,0.620,0.461,0.659,0.619,0.049,0.350,0.623,0.618,0.588,
+0.491,1.087,1.321,0.773,0.563,0.944,0.905,0.664,0.645,0.749,
+0.854,0.094,0.466,0.718,0.815,0.728,0.603,1.140,0.077,0.088,
+0.048,0.079,0.058,0.083,0.057,0.062,0.062,0.014,0.057,0.071,
+0.069,0.095,0.060,0.096,0.818,0.884,0.607,0.788,0.074,0.161,
+0.053,0.073,0.574,0.067,0.399,0.538,0.489,0.672,0.602,0.720,
+0.773,0.572,0.507,0.821,0.794,1.057,0.583,0.831,0.761,0.067,
+0.539,0.833,0.660,0.617,0.719,1.237,1.318,0.732,0.570,1.050,
+0.812,0.495,0.446,0.623,0.659,0.055,0.361,0.572,0.908,0.603,
+0.529,1.238,0.956,0.775,0.525,0.815,0.617,0.563,0.508,0.649,
+0.525,0.049,0.443,0.649,0.614,0.645,0.517,0.908,0.719,0.586,
+0.571,0.839,0.049,0.055,0.038,0.065,0.542,0.048,0.477,0.597,
+0.569,0.616,0.626,0.901,0.991,0.524,0.592,1.043,0.682,0.575,
+0.461,0.784,0.849,0.059,0.590,1.045,1.210,1.044,1.107,2.210,
+2.692,1.379,0.929,1.932,0.965,0.710,0.544,0.842,0.982,0.098,
+0.502,0.838,1.274,1.074,0.625,1.387,1.690,1.100,0.711,1.255,
+0.895,0.641,0.947,0.894,0.992,0.095,0.634,0.843,1.005,1.025,
+0.644,1.144,1.138,1.030,1.075,1.377,0.105,0.106,0.096,0.194,
+0.666,0.069,0.393,0.571,0.616,0.824,0.527,0.925,1.539,0.871,
+0.953,2.011,1.042,0.823,0.749,1.333,0.895,0.081,0.551,0.993,
+1.321,0.962,1.054,2.738,0.169,0.119,0.065,0.126,0.099,0.091,
+0.054,0.080,0.083,0.014,0.047,0.073,0.099,0.113,0.064,0.125,
+0.131,0.108,0.054,0.087,0.091,0.081,0.067,0.070,0.092,0.015,
+0.064,0.082,0.095,0.109,0.059,0.106,0.090,0.102,0.073,0.106,
+9.45e-3,0.015,0.013,0.014,0.079,0.013,0.059,0.079,0.070,0.099,
+0.060,0.100,0.179,0.116,0.096,0.226,0.165,0.160,0.117,0.206,
+0.101,0.012,0.071,0.125,0.144,0.129,0.112,0.261,1.217,0.702,
+0.495,0.724,0.740,0.630,0.546,0.626,0.947,0.132,0.575,0.753,
+0.813,0.801,0.624,1.073,0.091,0.085,0.045,0.067,0.056,0.067,
+0.054,0.052,0.084,0.020,0.061,0.068,0.095,0.117,0.065,0.096,
+0.761,0.851,0.569,0.689,0.072,0.091,0.068,0.073,0.645,0.080,
+0.351,0.490,0.465,0.630,0.527,0.677,0.773,0.556,0.537,0.752,
+0.778,0.815,0.603,0.812,0.821,0.089,0.679,0.878,0.716,0.707,
+0.776,1.233,1.344,0.656,0.474,0.934,0.661,0.449,0.362,0.492,
+0.773,0.079,0.403,0.704,1.029,0.819,0.518,1.257,1.279,0.897,
+0.541,0.905,0.742,0.692,0.506,0.585,0.849,0.079,0.565,0.820,
+1.003,0.979,0.628,1.119,0.902,0.870,0.581,0.896,0.076,0.111,
+0.052,0.081,0.756,0.069,0.499,0.722,0.700,0.907,0.695,1.071,
+1.275,0.738,0.717,1.158,0.882,0.786,0.579,0.880,1.084,0.093,
+0.839,1.285,1.464,1.247,1.261,2.434,3.687,1.675,1.330,2.947,
+1.236,0.784,0.687,0.974,1.290,0.104,0.606,1.061,2.213,1.333,
+1.056,2.543,1.511,0.787,0.595,1.176,0.776,0.438,0.519,0.675,
+0.950,0.062,0.496,0.793,1.024,0.701,0.622,1.239,1.410,0.941,
+1.018,1.847,0.105,0.078,0.074,0.193,0.847,0.063,0.488,0.816,
+0.902,0.809,0.634,1.348,2.671,1.197,1.573,4.708,1.407,0.882,
+0.976,2.024,1.247,0.087,0.806,1.447,2.199,1.286,1.533,4.222,
+2.128,1.150,0.762,1.536,1.088,0.754,0.540,0.803,0.966,0.081,
+0.513,0.863,1.075,0.925,0.639,1.378,1.292,0.796,0.461,0.831,
+0.775,0.556,0.419,0.570,0.796,0.066,0.488,0.791,0.815,0.724,
+0.467,0.905,1.085,0.850,0.633,1.210,0.067,0.067,0.049,0.106,
+0.856,0.065,0.471,0.814,0.813,0.834,0.561,1.100,1.626,0.854,
+0.830,2.051,1.232,0.909,0.835,1.672,1.011,0.070,0.631,1.176,
+1.324,1.096,0.983,2.244,1.568,0.799,0.635,1.109,1.043,0.672,
+0.618,0.935,1.129,0.116,0.639,0.977,1.072,0.865,0.861,1.625,
+0.100,0.076,0.048,0.097,0.059,0.061,0.049,0.065,0.082,9.94e-3,
+0.061,0.086,0.099,0.102,0.071,0.128,0.935,0.847,0.628,1.078,
+0.062,0.060,0.048,0.094,0.803,0.072,0.522,0.790,0.718,0.822,
+0.714,1.147,1.085,0.687,0.715,1.348,1.110,0.854,0.779,1.312,
+1.240,0.092,0.870,1.403,1.169,0.993,1.211,2.197,2.794,1.219,
+1.045,2.250,1.183,0.749,0.696,1.061,1.401,0.117,0.692,1.298,
+2.178,1.336,1.174,3.442,1.563,1.029,0.680,1.313,0.862,0.644,
+0.612,0.824,1.005,0.070,0.668,1.156,1.275,1.086,0.826,1.780,
+1.620,1.301,1.038,1.952,0.103,0.092,0.065,0.149,1.387,0.093,
+0.841,1.434,1.517,1.531,1.284,2.196,3.219,1.528,1.628,3.973,
+1.970,1.504,1.381,2.454,2.609,0.142,1.804,3.367,4.757,2.999,
+3.355,6.751,3.580,2.163,1.871,3.214,2.103,1.320,1.160,1.489,
+1.778,0.191,1.027,1.541,2.608,2.099,1.408,2.432,2.270,1.437,
+1.077,1.446,1.506,0.993,0.910,0.975,1.249,0.127,0.965,1.116,
+1.092,1.135,1.011,1.385,1.418,1.046,0.935,1.402,0.131,0.105,
+0.103,0.178,0.936,0.101,0.693,0.818,0.854,0.993,0.988,1.259,
+2.043,1.044,0.902,1.925,1.822,1.139,0.936,1.485,1.185,0.105,
+0.812,1.217,1.626,1.150,1.317,2.542,2.670,1.634,1.179,1.652,
+1.571,1.167,0.863,1.013,1.383,0.215,0.911,1.154,1.265,1.390,
+0.875,1.491,1.805,1.269,0.890,1.108,1.163,0.864,0.828,0.868,
+1.311,0.183,1.007,1.260,0.841,1.033,0.854,1.073,1.156,1.134,
+0.822,1.030,0.130,0.126,0.113,0.130,1.848,0.239,0.913,1.029,
+0.809,1.197,0.949,1.000,1.047,0.812,0.526,0.891,1.196,0.909,
+0.691,1.006,1.070,0.098,0.710,0.994,0.981,0.896,0.963,1.635,
+1.630,0.883,0.685,1.046,1.361,0.871,0.839,0.978,1.116,0.150,
+0.647,0.874,1.006,0.966,0.831,1.549,0.118,0.109,0.072,0.112,
+0.116,0.124,0.098,0.111,0.102,0.025,0.093,0.114,0.102,0.166,
+0.120,0.165,0.853,0.752,0.699,0.784,0.092,0.083,0.088,0.112,
+0.838,0.104,0.603,0.758,0.621,0.836,1.024,1.124,0.821,0.530,
+0.519,0.850,1.010,0.829,0.761,1.014,1.029,0.107,0.781,1.063,
+0.934,0.964,1.169,1.779,1.896,0.839,0.693,1.374,0.953,0.596,
+0.526,0.741,0.991,0.116,0.515,0.795,1.244,0.936,0.714,1.690,
+1.520,1.041,0.781,1.239,1.094,0.939,0.752,0.985,0.862,0.099,
+0.706,1.043,0.896,1.075,0.817,1.394,0.855,0.725,0.676,1.019,
+0.079,0.066,0.075,0.115,0.813,0.109,0.548,0.851,0.688,0.903,
+0.897,1.213,1.302,0.743,0.716,1.445,0.913,0.729,0.656,0.995,
+1.179,0.099,0.913,1.502,1.624,1.417,1.595,3.118,2.804,1.775,
+1.325,2.092,1.732,1.403,1.066,1.196,1.151,0.134,0.679,1.017,
+1.372,1.315,0.972,1.638,1.974,1.461,0.993,1.223,1.435,1.194,
+1.088,1.047,1.031,0.154,0.882,1.065,0.766,1.176,0.866,1.118,
+0.961,0.922,0.766,0.985,0.107,0.123,0.103,0.141,0.647,0.082,
+0.512,0.600,0.572,0.751,0.712,0.979,1.119,0.633,0.569,1.173,
+1.103,1.013,0.699,0.963,0.809,0.080,0.551,0.782,0.972,0.749,
+0.890,1.718,2.064,1.717,0.874,1.291,1.573,1.928,0.952,1.002,
+0.964,0.141,0.676,0.996,0.814,1.039,0.652,1.420,1.655,1.576,
+0.905,1.011,1.247,0.765,0.929,0.986,1.028,0.192,0.911,1.129,
+0.653,1.122,0.769,1.023,1.258,1.298,0.809,1.007,0.194,0.217,
+0.155,0.187,0.970,0.172,0.742,0.947,0.578,1.210,1.007,1.066,
+0.891,0.686,0.498,0.802,1.126,1.220,0.731,0.955,0.840,0.089,
+0.641,0.896,0.698,0.793,0.818,1.398,1.449,0.922,0.673,0.930,
+1.360,1.232,1.010,0.944,1.135,0.186,0.701,0.832,0.860,0.992,
+0.817,1.285,0.121,0.153,0.087,0.113,0.124,0.231,0.171,0.122,
+0.131,0.066,0.137,0.132,0.079,0.214,0.114,0.126,1.161,1.260,
+0.916,1.002,0.148,0.208,0.159,0.151,0.979,0.159,0.804,0.928,
+0.651,1.159,1.240,1.142,0.951,0.609,0.585,0.874,1.160,1.334,
+1.127,1.216,1.215,0.131,0.956,1.216,0.939,0.957,1.296,1.705,
+1.256,0.746,0.587,0.940,0.901,0.634,0.528,0.644,0.728,0.074,
+0.460,0.594,0.853,0.684,0.605,1.183,1.227,1.095,0.768,1.026,
+0.989,1.155,1.067,1.179,0.783,0.132,0.733,0.918,0.662,1.026,
+0.771,1.076,0.748,0.826,0.661,0.844,0.066,0.084,0.068,0.093,
+0.641,0.075,0.627,0.752,0.593,0.851,0.975,1.081,0.975,0.576,
+0.588,0.963,0.761,0.750,0.622,0.896,0.874,0.075,0.767,1.153,
+1.117,1.170,1.305,2.180,1.904,1.389,0.956,1.714,0.968,0.822,
+0.633,0.822,0.888,0.107,0.672,0.780,1.008,1.036,0.672,1.146,
+1.608,1.383,0.798,1.157,1.130,1.112,0.897,0.933,1.156,0.194,
+1.179,1.166,0.855,1.633,0.775,1.147,0.922,1.119,1.007,1.184,
+0.110,0.147,0.158,0.234,0.809,0.118,0.727,0.826,0.520,0.940,
+0.770,0.938,1.034,0.715,0.640,1.394,0.921,0.859,0.852,1.311,
+0.862,0.101,0.743,1.089,1.047,0.926,1.083,2.340,0.101,0.109,
+0.058,0.091,0.101,0.136,0.083,0.085,0.078,0.020,0.070,0.079,
+0.081,0.118,0.088,0.111,0.119,0.146,0.071,0.086,0.145,0.206,
+0.132,0.113,0.122,0.052,0.148,0.141,0.081,0.198,0.088,0.111,
+0.072,0.129,0.103,0.097,0.020,0.047,0.064,0.036,0.141,0.046,
+0.214,0.179,0.063,0.145,0.116,0.111,0.097,0.085,0.061,0.131,
+0.146,0.185,0.164,0.245,0.102,0.021,0.115,0.147,0.094,0.106,
+0.115,0.199,1.262,1.019,0.662,0.815,1.013,1.266,0.934,0.887,
+1.099,0.201,0.961,1.079,0.788,1.077,0.884,1.318,0.101,0.153,
+0.075,0.084,0.098,0.192,0.140,0.096,0.125,0.046,0.172,0.146,
+0.091,0.198,0.120,0.134,0.918,1.651,0.921,0.929,0.124,0.358,
+0.186,0.151,1.034,0.210,0.732,0.934,0.577,1.208,1.008,1.090,
+0.783,0.712,0.604,0.823,1.086,1.728,1.118,1.330,1.265,0.200,
+1.269,1.437,0.865,1.070,1.294,1.805,1.232,0.850,0.546,0.999,
+0.730,0.637,0.432,0.556,0.808,0.097,0.515,0.783,0.946,0.900,
+0.590,1.318,1.417,1.351,0.773,1.058,1.183,1.510,0.973,0.990,
+1.182,0.174,1.110,1.527,0.987,1.531,0.986,1.503,1.011,1.209,
+0.850,1.030,0.089,0.139,0.100,0.115,1.022,0.144,0.894,1.162,
+0.798,1.420,1.047,1.381,1.107,0.790,0.666,1.212,0.997,0.951,
+0.734,1.044,1.250,0.127,1.284,1.735,1.518,1.576,1.647,2.671,
+2.405,1.231,1.001,2.002,1.145,0.703,0.625,1.042,1.109,0.097,
+0.592,0.980,1.400,1.023,0.944,1.750,1.295,0.887,0.574,0.953,
+0.780,0.568,0.512,0.720,0.817,0.075,0.597,0.824,0.774,0.729,
+0.640,1.064,1.029,0.837,0.735,1.244,0.080,0.070,0.065,0.163,
+0.723,0.067,0.549,0.758,0.654,0.706,0.612,1.127,1.412,0.764,
+0.881,2.169,0.965,0.673,0.706,1.698,0.993,0.077,0.708,1.273,
+1.488,0.966,1.145,3.099,1.959,1.319,0.882,1.534,1.332,1.139,
+1.000,1.073,1.106,0.130,0.810,1.166,1.123,1.212,0.827,1.496,
+1.451,1.135,0.675,1.017,1.191,1.111,0.824,1.032,1.111,0.143,
+0.968,1.323,0.945,1.220,0.823,1.266,0.997,1.121,0.847,1.270,
+0.097,0.132,0.132,0.213,1.161,0.137,0.929,1.284,0.859,1.262,
+0.892,1.359,1.212,0.849,0.778,1.822,1.424,1.302,1.279,3.552,
+1.123,0.110,1.039,1.667,1.198,1.190,1.221,2.506,1.354,0.783,
+0.630,0.963,1.091,0.888,0.787,1.008,1.100,0.148,0.882,1.149,
+0.971,0.972,0.969,1.656,0.096,0.087,0.054,0.088,0.075,0.117,
+0.087,0.087,0.076,0.018,0.122,0.111,0.083,0.127,0.096,0.138,
+0.860,0.990,0.736,1.027,0.076,0.104,0.085,0.134,0.961,0.136,
+0.885,1.102,0.708,1.119,1.094,1.419,0.900,0.670,0.676,1.089,
+1.079,1.054,0.998,1.581,1.390,0.139,1.231,1.858,1.152,1.116,
+1.572,2.434,1.918,0.984,0.810,1.500,0.959,0.707,0.620,0.820,
+1.114,0.120,0.635,1.053,1.299,0.959,0.817,2.011,1.556,1.018,
+0.687,1.134,0.958,0.893,0.815,0.952,0.891,0.085,0.853,1.202,
+0.986,1.023,0.808,1.878,1.232,1.093,0.925,1.543,0.089,0.089,
+0.073,0.146,1.152,0.107,0.960,1.402,1.152,1.382,1.368,1.980,
+1.969,1.062,1.121,2.357,1.367,1.209,1.169,2.160,1.784,0.136,
+1.647,2.675,2.826,2.412,2.721,4.357,2.923,1.650,1.441,2.628,
+1.724,1.127,0.985,1.322,1.360,0.150,0.766,1.352,1.964,1.587,
+1.103,1.950,1.578,1.013,0.765,1.091,1.147,0.754,0.733,0.899,
+0.968,0.145,0.635,0.788,0.881,0.997,0.746,1.129,1.358,0.973,
+0.750,1.307,0.104,0.079,0.072,0.155,0.754,0.070,0.535,0.817,
+0.678,0.817,0.772,1.120,1.705,0.775,0.659,1.437,1.114,0.731,
+0.651,1.077,0.909,0.070,0.545,0.903,1.199,0.708,0.941,1.950,
+2.464,1.442,0.919,1.640,1.746,1.216,0.995,1.105,1.073,0.124,
+0.627,0.949,1.114,1.114,0.735,1.333,1.675,1.295,0.721,0.982,
+1.273,0.771,0.824,0.882,1.088,0.132,0.794,1.039,0.795,0.935,
+0.642,0.932,1.302,1.244,0.858,1.191,0.133,0.132,0.114,0.165,
+1.176,0.147,0.880,1.482,0.769,1.177,1.061,1.269,1.255,0.810,
+0.541,1.035,1.330,1.108,0.817,1.255,1.009,0.089,0.692,1.169,
+1.027,0.898,1.013,1.970,1.660,0.919,0.708,1.187,1.593,1.144,
+1.079,1.216,1.419,0.183,0.771,1.035,1.230,1.211,0.929,1.641,
+0.149,0.161,0.089,0.132,0.157,0.154,0.149,0.151,0.142,0.029,
+0.185,0.159,0.165,0.258,0.153,0.220,1.025,0.981,0.940,1.172,
+0.118,0.106,0.146,0.180,1.057,0.138,0.726,0.926,0.716,1.160,
+1.073,1.157,0.922,0.591,0.574,0.940,1.327,1.068,1.226,1.406,
+1.188,0.129,0.861,1.313,1.175,1.126,1.187,1.837,1.813,0.838,
+0.665,1.364,0.997,0.652,0.664,0.813,0.969,0.103,0.523,0.803,
+1.401,1.057,0.814,1.718,1.427,1.017,0.710,1.069,1.080,0.860,
+0.788,0.921,0.912,0.091,0.813,0.993,1.048,1.089,0.878,1.398,
+1.155,1.080,0.952,1.390,0.112,0.093,0.101,0.158,1.100,0.106,
+0.822,1.189,1.012,1.356,1.352,1.709,1.601,0.914,0.826,1.726,
+1.116,0.770,0.895,1.368,1.796,0.132,1.142,1.929,2.307,1.781,
+2.082,3.800,0.167,0.119,0.088,0.134,0.125,0.108,0.088,0.108,
+0.090,0.015,0.065,0.152,0.105,0.130,0.085,0.139,0.138,0.116,
+0.148,0.116,0.127,0.116,0.137,0.114,0.089,0.019,0.086,0.097,
+0.077,0.101,0.087,0.115,0.084,0.083,0.065,0.091,0.012,0.015,
+0.014,0.017,0.064,0.011,0.059,0.103,0.049,0.076,0.076,0.105,
+0.102,0.062,0.052,0.103,0.111,0.098,0.074,0.112,0.078,0.011,
+0.059,0.114,0.088,0.077,0.096,0.189,0.143,0.126,0.065,0.096,
+0.130,0.150,0.105,0.093,0.077,0.018,0.056,0.077,0.064,0.088,
+0.060,0.095,0.148,0.211,0.086,0.093,0.174,0.176,0.147,0.130,
+0.120,0.040,0.112,0.126,0.073,0.119,0.083,0.105,0.099,0.131,
+0.085,0.100,0.022,0.042,0.037,0.027,0.141,0.046,0.124,0.206,
+0.069,0.142,0.175,0.137,0.090,0.069,0.047,0.081,0.121,0.134,
+0.098,0.116,0.091,0.015,0.075,0.111,0.072,0.080,0.094,0.161,
+0.108,0.072,0.050,0.070,0.119,0.126,0.119,0.101,0.095,0.021,
+0.090,0.084,0.067,0.089,0.076,0.111,0.013,0.022,0.013,0.015,
+0.023,0.042,0.037,0.025,0.021,0.016,0.057,0.029,9.79e-3,0.025,
+0.022,0.019,0.098,0.125,0.111,0.133,0.021,0.037,0.047,0.029,
+0.156,0.043,0.121,0.131,0.068,0.152,0.151,0.133,0.078,0.057,
+0.057,0.090,0.130,0.158,0.148,0.156,0.124,0.028,0.121,0.194,
+0.091,0.182,0.129,0.180,0.129,0.102,0.069,0.110,0.099,0.080,
+0.071,0.080,0.079,0.011,0.054,0.072,0.105,0.104,0.088,0.167,
+0.150,0.136,0.098,0.165,0.146,0.165,0.137,0.156,0.109,0.020,
+0.142,0.130,0.107,0.158,0.123,0.174,0.089,0.101,0.094,0.130,
+0.013,0.018,0.018,0.024,0.102,0.019,0.100,0.132,0.081,0.131,
+0.161,0.176,0.122,0.085,0.074,0.137,0.105,0.098,0.089,0.134,
+0.134,0.015,0.111,0.173,0.154,0.166,0.183,0.330,1.938,1.368,
+0.974,1.639,1.159,0.940,0.719,0.998,0.950,0.102,0.644,0.890,
+0.852,0.742,0.653,1.098,1.685,1.288,0.784,1.042,1.393,1.126,
+1.146,1.060,1.181,0.163,1.376,1.290,0.742,1.065,0.815,1.206,
+1.019,1.192,0.844,1.205,0.147,0.185,0.152,0.255,0.992,0.141,
+0.947,1.145,0.613,1.097,0.863,1.184,1.020,0.692,0.548,1.103,
+1.080,0.941,0.768,1.267,1.100,0.118,1.038,1.466,1.028,0.952,
+1.245,2.297,0.128,0.120,0.060,0.096,0.127,0.152,0.100,0.109,
+0.074,0.020,0.066,0.083,0.061,0.086,0.055,0.097,0.125,0.145,
+0.072,0.078,0.156,0.156,0.138,0.118,0.098,0.037,0.151,0.132,
+0.057,0.098,0.070,0.087,0.083,0.151,0.088,0.100,0.022,0.050,
+0.047,0.032,0.122,0.047,0.176,0.232,0.057,0.134,0.117,0.124,
+0.116,0.088,0.056,0.120,0.158,0.198,0.126,0.191,0.116,0.022,
+0.127,0.233,0.089,0.104,0.119,0.215,1.602,1.086,0.759,0.813,
+1.393,1.506,1.482,1.082,1.179,0.214,1.234,1.183,0.777,0.962,
+1.021,1.371,0.135,0.206,0.105,0.091,0.156,0.275,0.210,0.118,
+0.149,0.058,0.240,0.174,0.091,0.178,0.142,0.144,1.243,1.499,
+1.226,1.165,0.173,0.208,0.259,0.180,1.233,0.206,0.524,0.915,
+0.647,1.066,1.200,1.220,0.871,0.645,0.588,0.715,1.278,1.344,
+1.247,1.207,1.155,0.168,1.578,1.612,0.822,0.984,1.436,1.776,
+1.307,0.823,0.639,0.979,0.895,0.749,0.583,0.632,0.784,0.096,
+0.659,0.810,0.781,0.729,0.624,1.147,1.434,1.370,0.945,1.017,
+1.405,1.596,1.194,1.001,1.133,0.164,1.447,1.401,0.875,1.260,
+1.037,1.296,1.206,1.334,1.119,1.381,0.127,0.188,0.151,0.171,
+1.423,0.187,1.593,1.871,0.926,1.550,1.551,1.777,1.180,0.805,
+0.713,1.163,1.153,1.109,0.934,1.166,1.504,0.147,1.833,2.026,
+1.489,1.580,1.911,2.672,2.269,1.096,0.835,1.649,1.112,0.702,
+0.633,0.902,0.962,0.094,0.524,0.849,1.180,0.922,0.743,1.551,
+1.429,0.832,0.539,0.867,0.897,0.618,0.585,0.743,0.726,0.064,
+0.562,0.788,0.655,0.645,0.563,1.024,1.165,0.863,0.590,1.071,
+0.097,0.081,0.065,0.145,0.899,0.078,0.624,0.985,0.780,0.828,
+0.749,1.295,1.343,0.734,0.626,1.368,0.997,0.674,0.611,1.116,
+0.951,0.079,0.644,1.186,1.237,0.925,1.096,2.464,2.270,1.419,
+0.862,1.532,1.554,1.221,1.042,1.160,1.084,0.117,0.787,1.115,
+1.037,1.124,0.734,1.499,1.697,1.335,0.704,1.059,1.400,1.160,
+1.074,1.156,1.013,0.111,0.975,1.312,0.736,0.914,0.701,1.121,
+1.279,1.461,0.869,1.332,0.116,0.159,0.114,0.179,1.332,0.167,
+1.167,1.878,0.900,1.439,1.212,1.765,1.524,1.019,0.749,1.427,
+1.599,1.412,1.177,1.849,1.289,0.145,1.105,2.009,1.203,1.293,
+1.339,2.538,2.297,1.067,0.825,1.169,1.561,1.260,1.292,1.326,
+1.312,0.177,1.003,1.479,1.087,1.172,1.173,2.009,0.201,0.124,
+0.079,0.123,0.125,0.170,0.195,0.139,0.101,0.027,0.143,0.218,
+0.097,0.170,0.117,0.172,1.444,1.534,1.140,1.525,0.129,0.143,
+0.148,0.191,1.550,0.216,1.241,1.810,1.003,1.645,1.550,1.975,
+1.393,0.964,1.032,1.324,1.737,1.474,1.565,1.981,1.554,0.178,
+1.773,3.032,1.320,1.423,1.965,2.933,2.121,0.996,0.847,1.474,
+1.111,0.761,0.702,0.885,1.138,0.129,0.727,1.108,1.227,0.936,
+0.866,1.950,1.576,1.044,0.734,1.129,1.166,1.039,0.998,1.058,
+0.965,0.089,0.979,1.446,0.961,1.003,0.922,1.532,1.631,1.501,
+1.200,1.888,0.126,0.128,0.102,0.186,1.738,0.162,1.628,2.448,
+1.447,1.831,1.894,2.537,2.162,1.167,1.114,2.330,1.713,1.389,
+1.368,2.074,2.096,0.159,2.030,3.368,2.488,2.139,2.726,4.586,
+6.968,2.605,2.125,4.938,2.173,1.271,1.068,1.744,1.962,0.171,
+0.852,1.528,3.228,2.343,1.371,3.183,2.147,1.174,0.792,1.325,
+1.188,0.678,0.616,0.833,1.108,0.083,0.674,0.839,1.279,1.135,
+0.796,1.404,1.608,1.063,0.838,1.695,0.121,0.088,0.072,0.185,
+0.996,0.078,0.525,0.916,0.996,1.034,0.878,1.571,2.539,1.205,
+1.042,2.527,1.607,1.010,0.862,1.639,1.308,0.098,0.821,1.391,
+2.206,1.360,1.492,3.852,2.629,1.273,0.826,1.667,1.371,0.809,
+0.619,0.876,0.900,0.088,0.416,0.743,1.085,0.877,0.568,1.290,
+1.443,0.877,0.519,0.902,0.873,0.537,0.470,0.632,0.787,0.063,
+0.432,0.665,0.773,0.654,0.525,0.930,1.113,0.848,0.616,1.067,
+0.080,0.070,0.054,0.098,1.015,0.159,0.442,0.750,0.778,0.956,
+0.670,1.025,1.139,0.769,0.489,1.019,0.927,0.683,0.507,0.870,
+0.815,0.064,0.474,0.853,0.989,0.767,0.822,1.819,2.115,0.965,
+0.730,1.368,1.537,1.212,0.784,1.199,1.198,0.133,0.469,0.882,
+1.626,1.227,0.796,2.092,0.138,0.093,0.060,0.117,0.115,0.095,
+0.076,0.114,0.096,0.011,0.060,0.096,0.180,0.174,0.091,0.209,
+1.002,0.772,0.693,1.063,0.090,0.067,0.063,0.116,0.884,0.080,
+0.436,0.723,0.821,0.895,0.791,1.203,1.138,0.651,0.624,1.259,
+1.252,0.794,0.744,1.273,1.041,0.083,0.632,1.159,1.354,1.011,
+1.117,2.295,3.135,1.278,0.995,2.338,1.342,0.829,0.805,1.172,
+1.406,0.120,0.668,1.175,2.651,1.501,1.145,2.922,1.728,0.967,
+0.734,1.250,1.019,0.710,0.656,0.894,1.037,0.072,0.649,1.017,
+1.538,1.265,0.914,1.835,1.343,1.063,0.889,1.496,0.103,0.070,
+0.068,0.131,1.129,0.082,0.685,1.125,1.221,1.328,1.253,2.026,
+2.536,1.246,1.224,3.122,1.710,0.992,1.010,1.797,2.043,0.127,
+1.269,2.296,3.728,2.458,2.967,6.875,3.101,1.638,1.173,2.451,
+1.640,1.081,0.824,1.225,1.237,0.119,0.745,1.200,1.631,1.352,
+0.971,2.012,1.854,1.120,0.973,1.321,1.216,0.853,0.812,0.936,
+1.017,0.087,0.789,0.904,0.910,0.889,0.729,1.279,1.118,0.860,
+0.619,1.136,0.088,0.083,0.060,0.126,0.746,0.071,0.484,0.836,
+0.725,0.832,0.736,1.323,1.344,0.774,0.629,1.358,1.159,0.883,
+0.634,1.119,0.856,0.077,0.551,0.998,1.212,0.960,1.026,2.457,
+2.242,1.386,0.737,1.394,1.449,1.123,0.695,0.932,0.869,0.085,
+0.419,0.775,0.938,0.882,0.567,1.257,1.513,1.371,0.575,0.923,
+1.255,1.023,0.670,0.910,0.921,0.105,0.559,0.816,0.770,0.841,
+0.581,1.044,1.101,1.001,0.623,1.038,0.098,0.108,0.070,0.108,
+1.089,0.127,0.580,1.003,0.807,1.088,0.872,1.329,1.001,0.717,
+0.471,0.957,1.033,0.950,0.609,0.965,0.843,0.068,0.492,0.941,
+0.933,0.871,0.819,1.840,1.698,0.842,0.647,1.089,1.280,0.937,
+0.817,1.155,0.995,0.124,0.531,0.830,1.094,0.990,0.765,1.730,
+0.086,0.077,0.050,0.090,0.084,0.115,0.074,0.105,0.071,0.016,
+0.077,0.085,0.092,0.125,0.075,0.135,1.103,0.975,0.754,1.141,
+0.098,0.096,0.085,0.129,1.137,0.116,0.608,0.934,0.848,1.122,
+0.975,1.483,1.115,0.671,0.607,1.187,1.300,1.116,0.972,1.441,
+1.130,0.100,0.800,1.378,1.207,1.143,1.289,2.557,1.937,0.983,
+0.756,1.474,1.171,0.725,0.637,0.919,1.021,0.091,0.566,0.891,
+1.418,1.073,0.869,2.103,1.501,1.017,0.746,1.225,1.022,0.942,
+0.741,1.050,0.919,0.091,0.728,1.036,1.144,1.373,0.954,1.711,
+1.116,0.967,0.823,1.326,0.083,0.075,0.066,0.118,0.946,0.082,
+0.730,1.104,0.944,1.151,1.162,1.906,1.614,0.878,0.887,1.688,
+1.356,0.944,0.860,1.600,1.422,0.106,1.008,1.756,2.077,1.911,
+1.983,4.663,2.992,1.817,1.252,2.468,1.549,1.156,0.824,1.320,
+1.542,0.127,0.723,1.172,1.550,1.176,0.826,1.752,2.145,1.579,
+0.880,1.504,1.427,1.106,0.883,1.087,1.412,0.138,1.043,1.318,
+1.280,1.470,0.991,1.817,1.491,1.527,0.957,1.678,0.149,0.161,
+0.125,0.246,1.227,0.137,0.734,1.172,0.954,1.458,1.074,1.780,
+1.726,1.117,0.816,1.902,1.429,1.146,0.884,1.612,1.517,0.135,
+1.078,1.824,1.821,1.485,1.970,3.872,0.159,0.128,0.078,0.135,
+0.184,0.134,0.075,0.115,0.095,0.014,0.057,0.086,0.098,0.110,
+0.068,0.143,0.128,0.129,0.058,0.094,0.138,0.137,0.080,0.100,
+0.102,0.019,0.099,0.118,0.091,0.119,0.076,0.135,0.086,0.111,
+0.061,0.100,0.013,0.023,0.017,0.017,0.119,0.025,0.084,0.120,
+0.074,0.132,0.107,0.143,0.139,0.109,0.065,0.168,0.152,0.160,
+0.098,0.181,0.118,0.016,0.088,0.165,0.140,0.140,0.146,0.310,
+2.226,1.315,0.900,1.267,1.697,1.507,1.196,1.359,1.439,0.216,
+0.987,1.346,1.274,1.384,1.185,2.229,0.128,0.134,0.068,0.099,
+0.128,0.149,0.099,0.102,0.119,0.028,0.123,0.123,0.131,0.184,
+0.124,0.189,1.490,1.684,1.224,1.495,0.150,0.189,0.157,0.178,
+1.652,0.207,0.998,1.446,1.022,1.579,1.482,1.938,1.442,1.037,
+0.853,1.327,1.684,1.678,1.343,1.652,1.794,0.188,1.730,2.227,
+1.545,1.566,2.254,3.326,2.324,1.324,0.955,1.778,1.431,1.060,
+0.774,1.151,1.288,0.128,0.921,1.370,1.517,1.243,0.997,2.330,
+2.139,1.682,1.032,1.609,1.677,1.492,1.029,1.223,1.610,0.152,
+1.424,1.796,1.693,1.951,1.475,2.494,1.834,1.817,1.349,2.058,
+0.137,0.158,0.123,0.190,1.961,0.177,1.605,2.167,1.670,2.270,
+2.183,2.966,2.149,1.290,1.157,2.029,1.578,1.412,1.178,1.667,
+2.271,0.175,2.194,2.903,2.676,2.438,3.129,5.198,7.885,2.659,
+1.760,4.296,2.119,1.256,1.014,1.791,1.914,0.161,0.929,1.669,
+2.790,2.022,1.479,3.707,2.336,1.315,0.757,1.426,1.311,0.902,
+0.647,1.033,1.236,0.089,0.722,1.157,1.335,1.080,0.802,1.760,
+1.945,1.519,0.930,2.213,0.128,0.118,0.078,0.222,1.255,0.108,
+0.745,1.332,1.318,1.431,1.090,2.330,3.142,1.719,1.307,3.428,
+1.810,1.304,1.049,2.292,1.889,0.143,1.208,2.255,3.205,2.374,
+2.441,7.080,3.393,1.813,1.120,2.208,2.169,1.408,0.909,1.389,
+1.354,0.117,0.743,1.286,1.560,1.378,0.871,2.069,2.249,1.571,
+0.742,1.376,1.705,1.568,0.756,1.206,1.262,0.107,0.848,1.381,
+1.210,1.241,0.803,1.765,1.692,1.494,0.883,1.910,0.108,0.118,
+0.069,0.161,1.450,0.131,0.919,1.604,1.314,1.648,1.212,2.395,
+2.103,1.426,0.963,2.304,1.667,1.407,1.002,2.187,1.621,0.123,
+1.060,2.024,2.016,1.923,1.733,4.895,3.395,1.675,1.263,1.991,
+2.278,1.524,1.312,2.033,1.945,0.210,1.170,1.978,2.120,1.817,
+1.630,3.540,0.159,0.132,0.072,0.135,0.131,0.127,0.094,0.138,
+0.101,0.015,0.108,0.150,0.166,0.172,0.118,0.262,2.221,1.970,
+1.411,2.357,0.143,0.136,0.111,0.217,2.040,0.193,1.669,2.197,
+1.782,2.213,2.235,3.549,2.627,1.664,1.444,2.564,2.451,1.915,
+1.780,3.049,2.646,0.198,2.337,3.752,2.782,2.283,3.334,6.209,
+7.876,2.574,1.857,4.282,2.237,1.403,1.150,1.990,2.377,0.187,
+1.217,2.304,3.642,2.456,1.977,5.967,2.990,2.081,1.181,2.135,
+1.940,1.444,1.157,1.892,1.915,0.135,1.380,2.241,2.555,2.160,
+1.678,4.241,3.084,2.438,1.802,3.442,0.159,0.145,0.104,0.259,
+2.796,0.191,2.186,3.547,3.108,3.213,3.285,6.032,6.930,2.245,
+1.920,4.908,2.696,2.000,1.806,3.919,3.564,0.211,3.069,5.707,
+5.359,3.546,4.736,14.4
+};
+
+static double hg19_biasTable24_4[] = {
+55.5,11.0,5.927,13.1,9.503,3.734,2.790,4.642,6.307,0.479,
+2.505,3.514,9.853,5.684,4.390,8.370,10.7,3.983,2.687,3.812,
+4.102,1.853,1.722,1.955,3.710,0.239,1.716,2.252,3.826,2.566,
+2.107,3.610,7.752,3.697,2.821,4.023,0.483,0.308,0.229,0.501,
+2.698,0.234,1.774,2.241,3.099,2.782,1.873,3.049,11.9,4.221,
+4.403,7.834,5.388,3.194,2.847,5.302,5.057,0.326,2.357,3.828,
+8.224,3.608,3.382,6.186,12.6,4.119,2.477,4.539,4.357,2.322,
+1.597,2.078,3.685,0.279,1.218,2.123,3.409,2.591,1.445,2.855,
+5.249,2.424,1.343,2.015,2.390,1.362,0.997,1.113,2.583,0.169,
+1.084,1.542,1.850,1.442,0.925,1.573,3.972,2.693,1.639,2.530,
+0.240,0.175,0.120,0.224,2.311,0.192,1.127,1.656,1.777,1.883,
+1.227,2.042,3.813,2.019,1.457,2.700,2.550,1.694,1.181,2.010,
+2.596,0.158,1.135,1.947,2.916,1.932,1.560,3.456,10.1,2.952,
+2.665,4.007,4.162,2.091,1.932,2.588,3.834,0.347,1.394,2.465,
+3.539,2.606,1.910,4.240,0.550,0.291,0.195,0.313,0.336,0.239,
+0.170,0.223,0.283,0.031,0.154,0.253,0.416,0.413,0.237,0.476,
+3.016,1.935,1.836,2.138,0.234,0.150,0.148,0.237,2.135,0.179,
+1.115,1.612,1.766,1.713,1.347,1.917,3.029,1.690,1.640,2.618,
+2.962,1.900,1.577,2.371,2.408,0.179,1.328,2.147,2.416,1.854,
+1.864,3.379,13.9,4.136,3.348,7.706,4.212,2.026,2.038,2.859,
+5.473,0.460,1.882,3.363,7.093,4.097,3.129,8.189,6.198,3.393,
+2.282,3.533,3.508,2.326,1.875,2.321,3.533,0.211,1.777,2.989,
+4.475,3.548,2.589,4.991,4.216,2.954,2.303,3.253,0.301,0.196,
+0.183,0.281,2.609,0.171,1.443,2.293,2.665,2.578,2.107,3.148,
+7.054,3.940,2.715,5.860,3.112,1.940,1.729,3.063,3.964,0.227,
+2.050,3.621,5.282,3.132,3.124,6.615,13.1,5.806,3.389,6.010,
+4.341,2.528,1.894,2.451,3.193,0.293,1.190,2.258,3.626,2.990,
+1.668,3.267,4.915,3.025,1.681,2.399,2.551,1.538,1.320,1.537,
+1.938,0.173,1.103,1.688,1.643,1.418,0.983,1.839,3.226,2.453,
+1.728,2.557,0.256,0.234,0.151,0.274,1.498,0.135,0.902,1.293,
+1.401,1.646,1.090,1.990,3.385,1.481,1.543,2.512,2.583,1.735,
+1.322,2.041,1.761,0.134,0.812,1.505,2.169,1.341,1.334,3.086,
+6.023,3.319,1.563,2.767,2.890,1.912,1.117,1.346,2.052,0.183,
+0.718,1.308,1.734,1.547,0.889,1.743,3.013,1.880,0.962,1.348,
+1.691,0.933,0.855,0.884,1.433,0.132,0.751,1.147,0.998,0.964,
+0.656,1.006,2.339,2.171,1.099,1.692,0.167,0.190,0.107,0.151,
+1.455,0.177,0.829,1.163,1.012,1.472,0.855,1.452,1.845,1.130,
+0.741,1.292,1.531,1.211,0.722,1.023,1.320,0.100,0.559,1.051,
+1.240,0.936,0.702,1.753,4.188,2.282,1.414,2.419,2.643,1.852,
+1.585,1.818,2.035,0.212,0.904,1.620,1.749,1.531,1.195,2.425,
+0.231,0.224,0.101,0.176,0.154,0.193,0.125,0.126,0.134,0.028,
+0.105,0.176,0.153,0.180,0.116,0.209,2.017,1.857,1.365,1.660,
+0.168,0.171,0.128,0.163,1.405,0.151,0.846,1.246,1.081,1.408,
+1.113,1.574,1.610,0.976,0.922,1.445,1.791,1.478,1.176,1.556,
+1.356,0.109,0.900,1.442,1.295,1.021,1.304,2.207,3.936,1.667,
+1.293,2.417,2.054,1.145,0.964,1.242,1.782,0.139,0.725,1.366,
+2.285,1.411,1.078,2.521,2.661,1.795,1.214,1.783,1.591,1.378,
+1.029,1.246,1.258,0.113,0.891,2.039,1.364,1.472,1.023,1.999,
+2.134,1.696,1.452,1.925,0.145,0.120,0.092,0.150,1.334,0.109,
+0.848,1.362,1.268,1.427,1.223,1.835,2.657,1.291,1.234,2.115,
+1.715,1.207,0.942,1.515,1.715,0.113,1.016,1.883,2.439,1.840,
+1.809,3.362,10.0,3.154,4.059,4.479,2.529,1.576,1.344,1.780,
+2.919,0.235,1.321,1.939,2.916,2.207,1.456,2.842,4.295,2.269,
+1.684,2.146,2.000,1.227,1.159,1.232,2.205,0.177,1.199,1.581,
+1.805,1.661,1.045,1.805,3.000,2.387,2.109,2.574,0.267,0.245,
+0.181,0.336,1.628,0.191,0.833,1.351,1.471,2.075,1.145,2.124,
+3.048,1.541,1.665,2.803,2.137,1.576,1.291,1.999,2.051,0.180,
+1.135,1.972,2.602,1.759,1.963,5.016,0.496,0.288,0.187,0.300,
+0.259,0.214,0.123,0.166,0.210,0.029,0.105,0.162,0.205,0.222,
+0.145,0.250,0.328,0.250,0.145,0.166,0.233,0.203,0.128,0.130,
+0.193,0.030,0.124,0.143,0.159,0.182,0.101,0.159,0.224,0.232,
+0.148,0.188,0.024,0.033,0.024,0.028,0.186,0.038,0.115,0.166,
+0.152,0.241,0.132,0.214,0.350,0.203,0.162,0.327,0.323,0.308,
+0.190,0.335,0.246,0.027,0.159,0.255,0.297,0.224,0.227,0.509,
+3.222,1.619,1.177,1.479,1.774,1.279,1.074,1.194,2.118,0.239,
+1.044,1.404,1.789,1.363,1.155,1.694,0.232,0.209,0.091,0.119,
+0.131,0.124,0.091,0.092,0.165,0.030,0.108,0.126,0.189,0.190,
+0.120,0.160,1.702,1.631,1.127,1.210,0.142,0.152,0.101,0.142,
+1.555,0.264,0.555,0.876,0.995,1.383,0.878,1.117,1.487,0.982,
+0.819,1.104,1.403,1.202,1.000,1.251,1.539,0.161,0.899,1.406,
+1.161,1.106,1.079,1.769,3.067,1.445,1.027,1.836,1.692,0.913,
+0.725,0.942,1.762,0.151,0.869,1.338,2.126,1.417,1.074,2.235,
+2.997,2.291,1.146,1.602,1.918,1.317,0.983,1.068,1.702,0.136,
+1.081,1.667,1.755,1.643,1.225,1.903,1.965,1.716,1.198,1.714,
+0.158,0.156,0.094,0.162,1.628,0.236,0.949,1.795,1.386,1.751,
+1.269,1.994,2.214,1.228,1.200,1.562,1.604,1.240,0.978,1.393,
+1.965,0.166,1.311,2.070,2.370,1.769,1.886,3.400,13.3,4.497,
+3.676,9.873,3.591,1.936,1.839,2.751,3.452,0.294,1.528,2.918,
+5.953,3.484,2.435,6.071,4.261,1.951,1.445,2.361,1.914,1.042,
+0.999,1.274,2.068,0.136,1.144,1.793,2.086,1.461,1.103,2.285,
+4.406,2.653,1.884,3.808,0.321,0.235,0.168,0.454,2.042,0.176,
+0.922,1.836,2.193,2.118,1.326,3.059,5.470,2.332,2.533,6.754,
+3.021,1.861,1.785,3.677,2.916,0.201,1.702,3.301,4.893,2.877,
+3.115,9.827,6.458,3.191,2.020,4.036,3.339,2.122,1.391,2.081,
+2.745,0.216,1.238,2.103,2.740,2.253,1.491,2.868,3.960,2.109,
+1.324,2.008,2.221,1.509,1.083,1.268,2.133,0.163,1.149,1.676,
+1.884,1.599,0.946,1.775,3.198,2.262,1.377,2.574,0.171,0.153,
+0.096,0.210,2.110,0.171,1.135,1.885,2.015,2.197,1.439,2.701,
+3.883,1.876,1.650,3.629,2.772,2.103,1.427,2.806,2.671,0.162,
+1.583,2.631,3.329,2.160,2.282,5.039,3.675,2.036,1.537,2.711,
+2.477,1.518,1.336,2.046,2.383,0.232,1.197,1.946,2.280,1.809,
+1.465,2.794,0.247,0.199,0.114,0.195,0.158,0.134,0.108,0.137,
+0.156,0.020,0.117,0.185,0.200,0.197,0.122,0.226,2.182,1.774,
+1.199,1.781,0.138,0.106,0.084,0.161,1.740,0.150,0.828,1.308,
+1.512,1.638,1.217,1.860,2.208,1.354,1.212,2.003,2.136,1.439,
+1.273,2.079,2.288,0.151,1.261,2.161,2.044,1.574,1.643,3.068,
+6.908,2.572,2.205,4.152,2.624,1.507,2.407,1.984,2.782,0.217,
+1.536,2.373,4.322,2.554,2.253,5.392,2.955,1.789,1.207,1.974,
+1.796,1.144,1.032,1.282,1.707,0.107,1.114,1.893,2.242,1.808,
+1.346,2.641,3.252,2.435,1.722,2.837,0.188,0.137,0.104,0.210,
+2.313,0.154,1.260,2.289,2.591,2.517,1.914,3.103,5.225,2.235,
+2.031,4.335,2.764,1.996,1.594,2.716,3.329,0.161,2.082,3.554,
+5.670,3.108,3.185,6.108,10.9,5.382,3.872,6.560,5.599,2.826,
+2.010,2.536,3.726,0.366,1.552,2.734,4.894,3.643,2.167,3.787,
+4.383,2.610,1.630,1.938,2.538,1.570,1.298,1.315,2.069,0.180,
+1.274,1.587,1.672,1.528,1.206,1.833,2.623,1.984,1.367,2.063,
+0.237,0.171,0.137,0.252,1.415,0.135,0.771,1.065,1.386,1.561,
+1.171,1.779,3.324,1.555,1.318,2.701,2.720,1.647,1.286,2.135,
+1.870,0.187,0.980,1.598,2.326,1.564,1.647,3.103,5.292,2.841,
+1.440,2.462,3.503,1.905,1.098,1.396,2.141,0.229,0.872,1.418,
+1.795,1.830,0.979,1.874,2.989,1.975,0.929,1.288,1.816,1.056,
+0.833,0.912,1.615,0.185,0.928,1.269,1.112,1.243,0.739,1.230,
+1.819,1.617,0.877,1.245,0.220,0.131,0.097,0.140,1.316,0.150,
+0.788,1.033,1.062,1.437,0.976,1.328,1.555,0.998,0.627,1.146,
+1.561,1.095,0.632,1.067,1.246,0.104,0.687,1.052,1.269,1.127,
+1.073,1.998,3.222,1.668,1.060,1.808,2.573,1.616,1.212,1.568,
+2.084,0.233,0.806,1.315,1.768,1.483,1.005,2.143,0.224,0.193,
+0.124,0.159,0.220,0.203,0.143,0.159,0.158,0.029,0.117,0.160,
+0.172,0.239,0.127,0.221,1.275,1.329,0.852,1.042,0.125,0.102,
+0.081,0.133,1.061,0.123,0.736,1.119,0.851,1.033,0.805,1.092,
+1.193,0.764,0.645,1.040,1.542,1.103,0.834,1.224,1.237,0.128,
+0.879,1.180,1.207,1.157,1.148,1.843,3.389,1.388,1.084,2.333,
+1.456,0.846,0.693,1.011,1.727,0.185,0.697,1.251,1.892,1.278,
+0.933,2.400,2.482,1.675,1.111,1.594,1.729,1.245,1.121,1.210,
+1.289,0.120,0.889,1.373,1.321,1.377,0.983,1.744,1.490,1.210,
+1.009,1.300,0.128,0.089,0.143,0.156,0.930,0.089,0.625,0.917,
+0.953,1.167,0.916,1.216,1.935,1.012,0.827,1.749,1.147,0.810,
+0.767,1.121,1.398,0.106,0.927,1.495,2.005,1.581,1.622,3.139,
+5.491,3.316,2.161,3.581,3.364,2.782,1.544,1.775,1.883,0.219,
+0.823,1.465,2.026,1.928,1.108,2.056,3.008,2.187,1.235,1.572,
+2.101,1.579,1.219,1.171,1.340,0.163,0.898,1.270,0.896,1.025,
+0.775,1.225,1.542,1.546,1.118,1.547,0.146,0.165,0.124,0.187,
+0.841,0.106,0.621,0.793,0.747,1.017,0.809,1.273,1.569,0.846,
+0.760,1.445,1.501,1.247,0.915,1.239,0.975,0.103,0.599,0.922,
+1.166,0.843,0.924,1.860,3.016,2.258,1.053,1.546,2.052,1.771,
+0.843,0.989,1.242,0.149,0.597,0.936,0.987,1.123,0.669,1.107,
+1.951,1.438,0.699,0.853,1.132,0.443,0.626,0.630,1.019,0.167,
+0.685,0.978,0.586,0.859,0.566,0.767,1.174,1.462,0.737,1.000,
+0.125,0.164,0.091,0.117,0.916,0.146,0.593,0.816,0.628,1.166,
+0.769,1.035,0.885,0.702,0.434,0.729,0.976,1.002,0.499,0.720,
+0.805,0.082,0.486,0.756,0.688,0.673,0.568,1.120,2.334,1.535,
+0.823,1.293,2.231,2.042,1.259,1.299,1.325,0.188,0.669,1.016,
+1.050,1.095,0.822,1.473,0.157,0.188,0.084,0.118,0.188,0.329,
+0.172,0.123,0.103,0.042,0.112,0.126,0.078,0.164,0.094,0.124,
+1.178,1.373,0.924,1.024,0.182,0.207,0.121,0.141,0.934,0.138,
+0.682,0.960,0.635,1.087,0.855,1.099,0.903,0.604,0.583,0.802,
+1.508,1.418,1.111,1.192,1.010,0.111,0.679,1.035,0.862,0.853,
+0.999,1.564,1.854,1.025,0.724,1.232,1.219,0.863,0.543,0.706,
+0.921,0.089,0.420,0.687,1.005,0.770,0.567,1.233,1.547,1.224,
+0.826,1.085,1.195,1.357,0.876,0.935,0.731,0.096,0.643,0.956,
+0.660,0.863,0.663,1.022,1.104,1.150,1.116,1.135,0.095,0.111,
+0.079,0.100,0.635,0.074,0.557,0.726,0.623,0.874,0.812,1.092,
+1.228,0.660,0.572,0.998,0.894,0.780,0.609,0.804,0.839,0.068,
+0.531,0.935,1.133,1.022,1.032,1.912,3.565,2.110,1.533,2.463,
+1.888,1.278,1.027,1.329,1.521,0.162,0.766,1.188,1.547,1.464,
+1.207,1.907,2.581,2.085,0.969,1.484,1.745,1.329,1.009,1.091,
+1.673,0.191,1.121,1.396,1.069,1.322,0.871,1.404,1.426,1.624,
+0.944,1.435,0.153,0.162,0.116,0.223,0.985,0.141,0.582,0.939,
+0.829,1.338,0.790,1.502,1.400,0.880,0.699,1.446,1.264,1.050,
+0.782,1.232,1.176,0.125,0.766,1.254,1.289,1.016,1.298,2.710,
+0.200,0.164,0.081,0.134,0.209,0.172,0.104,0.117,0.114,0.021,
+0.075,0.108,0.109,0.141,0.239,0.289,0.158,0.174,0.072,0.091,
+0.189,0.199,0.115,0.121,0.135,0.047,0.117,0.128,0.081,0.121,
+0.078,0.109,0.100,0.159,0.076,0.100,0.021,0.041,0.028,0.024,
+0.115,0.042,0.101,0.121,0.083,0.172,0.118,0.146,0.120,0.089,
+0.060,0.126,0.185,0.187,0.105,0.159,0.111,0.020,0.098,0.139,
+0.108,0.113,0.140,0.217,1.933,1.546,0.797,1.117,1.702,1.625,
+1.090,1.208,1.600,0.258,1.170,1.363,1.007,1.205,1.015,1.494,
+0.142,0.255,0.091,0.095,0.130,0.216,0.127,0.099,0.128,0.051,
+0.130,0.127,0.098,0.174,0.107,0.122,1.012,1.583,0.783,0.913,
+0.117,0.180,0.104,0.134,1.142,0.203,0.604,0.907,0.671,1.206,
+0.836,1.034,0.852,0.711,0.517,0.731,1.104,1.352,0.826,1.053,
+1.278,0.170,0.966,1.157,0.804,0.954,1.080,1.462,1.536,0.954,
+0.566,1.051,0.959,0.611,0.435,0.594,0.992,0.103,0.546,0.854,
+0.977,0.848,0.642,1.302,1.698,1.650,0.770,1.028,1.546,1.336,
+0.800,0.910,1.237,0.150,0.929,1.275,0.980,1.239,0.857,1.279,
+1.055,1.243,0.724,0.983,0.096,0.110,0.073,0.099,1.064,0.190,
+0.780,1.054,0.796,1.324,0.935,1.344,1.048,0.723,0.554,1.017,
+0.848,0.790,0.577,0.820,1.246,0.127,1.049,1.376,1.272,1.235,
+1.290,2.037,3.845,1.623,1.283,2.661,1.452,0.878,0.725,1.192,
+1.404,0.129,0.619,1.382,1.783,1.246,0.916,2.158,2.116,1.160,
+0.711,1.219,1.096,0.706,0.599,0.834,1.011,0.080,0.613,1.383,
+0.925,0.698,0.541,1.154,1.404,1.128,0.715,1.300,0.099,0.085,
+0.061,0.153,0.774,0.074,0.412,0.802,0.841,0.923,0.605,1.311,
+1.921,0.897,0.850,1.894,1.104,0.733,0.630,1.317,1.026,0.078,
+0.589,1.243,1.569,1.001,1.113,3.063,2.967,1.609,0.915,1.682,
+1.857,1.279,0.840,1.100,1.475,0.150,0.733,1.308,1.314,1.283,
+1.242,1.779,1.866,1.257,0.649,1.021,1.492,1.100,0.738,0.909,
+1.231,0.118,0.723,1.134,0.984,0.956,0.631,1.112,1.080,1.142,
+0.609,0.971,0.088,0.110,0.063,0.111,1.002,0.132,0.625,1.012,
+1.049,1.682,0.907,1.510,1.178,0.743,0.647,1.165,1.236,1.085,
+0.718,1.353,1.053,0.093,0.782,1.214,1.196,1.122,1.188,2.150,
+2.037,1.248,0.805,1.255,1.568,1.262,0.907,1.225,1.612,0.189,
+0.845,1.406,1.216,1.104,0.996,1.837,0.133,0.125,0.065,0.101,
+0.095,0.125,0.093,0.090,0.088,0.016,0.076,0.114,0.095,0.119,
+0.084,0.139,1.217,1.119,0.659,0.954,0.093,0.086,0.065,0.110,
+1.015,0.120,0.646,0.991,0.870,1.139,0.842,1.281,1.055,0.720,
+0.616,0.965,1.250,0.968,0.779,1.222,1.313,0.126,0.921,1.319,
+1.165,0.999,1.223,1.982,2.678,1.144,0.889,1.674,1.161,0.769,
+0.658,0.854,1.326,0.126,0.683,1.265,1.497,0.998,0.898,2.135,
+1.720,1.066,0.676,1.078,1.164,0.870,0.649,0.833,1.037,0.076,
+0.641,1.111,1.093,0.928,0.766,1.458,1.555,1.269,0.866,1.350,
+0.122,0.084,0.061,0.115,1.157,0.102,0.804,1.225,1.235,1.442,
+1.146,1.780,2.092,1.089,0.979,2.108,1.551,1.193,0.958,1.469,
+1.752,0.117,1.355,2.134,2.639,1.816,1.998,2.991,7.850,2.892,
+3.769,4.599,2.812,1.640,1.585,1.877,4.335,0.288,1.347,1.797,
+3.567,2.679,1.470,2.856,2.392,1.452,1.046,1.392,1.459,0.840,
+0.833,0.944,1.443,0.119,0.751,0.955,1.229,1.035,0.780,1.307,
+3.598,1.653,1.087,1.594,0.198,0.127,0.109,0.217,1.230,0.112,
+0.797,0.987,1.092,1.176,0.947,1.446,2.718,1.268,1.061,2.134,
+1.854,1.147,1.012,1.624,1.284,0.110,0.823,1.187,1.846,1.083,
+1.276,2.621,4.270,2.020,1.426,2.401,2.230,1.400,1.322,1.482,
+1.815,0.175,0.753,1.293,1.570,1.549,0.783,1.607,2.081,1.269,
+0.741,1.092,1.276,0.626,0.730,0.836,1.348,0.134,0.700,0.959,
+0.937,0.961,0.532,0.908,1.888,1.613,0.998,1.576,0.157,0.132,
+0.108,0.176,1.264,0.133,0.784,1.129,0.919,1.240,0.877,1.270,
+1.561,0.915,0.668,1.346,1.497,1.114,0.906,1.375,1.058,0.085,
+0.632,1.012,1.086,0.904,0.888,1.894,2.938,1.260,1.015,1.719,
+2.199,1.424,1.357,1.588,2.509,0.254,0.819,1.209,1.743,1.496,
+1.031,2.108,0.236,0.171,0.109,0.176,0.218,0.180,0.160,0.217,
+0.198,0.030,0.126,0.156,0.219,0.298,0.142,0.254,1.270,1.019,
+0.912,1.115,0.131,0.100,0.115,0.167,0.943,0.114,0.574,0.759,
+0.821,1.060,0.765,1.009,1.220,0.716,0.642,1.080,1.653,1.189,
+1.071,1.466,1.161,0.113,0.699,1.031,1.374,1.162,1.117,2.016,
+3.103,1.194,1.006,2.122,1.389,0.864,0.896,1.307,1.861,0.216,
+0.742,1.190,2.162,1.569,1.019,2.449,2.115,1.249,0.900,1.392,
+1.573,0.993,1.076,1.327,1.389,0.135,0.787,1.175,1.528,1.234,
+0.884,1.683,1.521,1.261,1.208,1.601,0.143,0.100,0.110,0.184,
+1.131,0.107,0.771,1.125,1.182,1.395,1.138,1.716,2.228,1.125,
+0.977,2.065,1.362,0.907,0.899,1.465,1.891,0.147,1.163,1.943,
+3.299,2.223,2.296,4.983,0.393,0.224,0.190,0.265,0.233,0.175,
+0.133,0.174,0.210,0.030,0.085,0.134,0.205,0.226,0.115,0.189,
+0.239,0.171,0.142,0.160,0.184,0.134,0.136,0.138,0.134,0.021,
+0.091,0.112,0.101,0.120,0.085,0.133,0.175,0.145,0.098,0.137,
+0.023,0.021,0.018,0.025,0.103,0.014,0.071,0.095,0.083,0.117,
+0.084,0.136,0.175,0.098,0.083,0.152,0.182,0.138,0.117,0.161,
+0.125,0.014,0.087,0.119,0.141,0.102,0.128,0.231,0.278,0.191,
+0.110,0.193,0.185,0.170,0.114,0.141,0.133,0.020,0.064,0.132,
+0.108,0.127,0.070,0.122,0.212,0.169,0.087,0.121,0.175,0.110,
+0.122,0.131,0.139,0.025,0.087,0.112,0.083,0.104,0.067,0.097,
+0.139,0.161,0.100,0.131,0.023,0.031,0.028,0.025,0.124,0.029,
+0.087,0.111,0.074,0.129,0.093,0.122,0.126,0.086,0.060,0.114,
+0.149,0.139,0.107,0.128,0.093,0.011,0.064,0.096,0.087,0.085,
+0.082,0.158,0.207,0.121,0.082,0.124,0.192,0.177,0.149,0.145,
+0.166,0.028,0.093,0.095,0.109,0.129,0.094,0.153,0.019,0.025,
+0.015,0.018,0.027,0.040,0.033,0.026,0.023,0.014,0.033,0.022,
+0.015,0.029,0.019,0.020,0.124,0.140,0.115,0.125,0.023,0.030,
+0.033,0.028,0.122,0.030,0.098,0.102,0.082,0.163,0.113,0.122,
+0.124,0.071,0.072,0.114,0.177,0.170,0.152,0.171,0.121,0.018,
+0.095,0.118,0.118,0.121,0.128,0.207,0.295,0.193,0.126,0.228,
+0.169,0.123,0.106,0.143,0.177,0.022,0.082,0.127,0.205,0.183,
+0.141,0.287,0.302,0.212,0.154,0.220,0.270,0.231,0.216,0.244,
+0.227,0.028,0.145,0.208,0.204,0.244,0.159,0.261,0.166,0.165,
+0.145,0.181,0.018,0.020,0.016,0.026,0.149,0.023,0.118,0.158,
+0.134,0.186,0.160,0.218,0.242,0.145,0.111,0.211,0.175,0.142,
+0.122,0.169,0.200,0.019,0.141,0.223,0.296,0.241,0.247,0.475,
+2.806,1.429,1.238,1.746,1.439,0.998,0.695,0.933,1.200,0.126,
+0.803,0.885,1.102,0.930,0.716,1.083,1.732,1.139,0.715,0.944,
+1.249,0.839,0.776,0.746,1.056,0.118,0.814,0.928,0.753,0.844,
+0.620,0.899,1.501,1.498,0.915,1.255,0.175,0.167,0.128,0.216,
+1.295,0.209,0.673,0.870,0.861,1.431,0.699,1.100,1.204,0.714,
+0.569,1.376,1.087,0.822,0.667,1.029,1.220,0.108,0.736,1.030,
+1.014,0.804,0.896,1.761,0.194,0.137,0.078,0.138,0.171,0.176,
+0.084,0.103,0.090,0.017,0.056,0.078,0.076,0.086,0.057,0.100,
+0.128,0.101,0.055,0.067,0.128,0.114,0.093,0.083,0.093,0.022,
+0.083,0.087,0.063,0.069,0.051,0.071,0.114,0.146,0.082,0.106,
+0.022,0.029,0.027,0.024,0.109,0.031,0.098,0.105,0.069,0.123,
+0.079,0.105,0.142,0.083,0.061,0.146,0.157,0.148,0.095,0.148,
+0.112,0.014,0.076,0.118,0.091,0.079,0.087,0.160,1.722,1.013,
+0.668,0.812,1.401,1.443,0.937,0.907,1.189,0.172,0.681,0.843,
+0.728,0.783,0.692,0.960,0.122,0.144,0.070,0.080,0.132,0.286,
+0.114,0.092,0.104,0.034,0.098,0.093,0.076,0.124,0.100,0.093,
+1.123,1.120,0.801,1.031,0.125,0.147,0.122,0.243,0.921,0.149,
+0.339,0.544,0.510,0.879,0.622,0.775,0.850,0.539,0.467,0.677,
+1.033,0.951,0.769,1.027,0.924,0.105,0.691,0.813,0.629,0.693,
+0.730,1.010,1.461,0.799,0.586,0.975,0.944,0.664,0.420,0.529,
+0.866,0.101,0.479,0.681,0.747,0.672,0.464,0.905,1.361,1.001,
+0.635,0.773,1.172,1.233,0.762,0.676,0.999,0.118,0.737,0.900,
+0.825,0.952,0.669,0.924,1.166,1.290,0.804,1.081,0.128,0.148,
+0.096,0.150,1.212,0.293,0.857,1.013,0.805,1.385,1.012,1.221,
+1.024,0.628,0.519,0.820,1.026,0.857,0.624,0.820,1.060,0.106,
+0.857,1.035,1.057,0.972,1.046,1.550,2.925,1.301,1.002,1.864,
+1.222,0.738,0.587,0.838,1.110,0.108,0.498,0.855,1.533,0.987,
+0.648,1.528,1.798,0.846,0.588,0.889,0.852,0.495,0.442,0.578,
+0.693,0.053,0.434,0.655,0.693,0.528,0.413,0.806,1.378,1.164,
+0.625,1.143,0.107,0.087,0.063,0.146,0.909,0.082,0.446,0.760,
+0.844,0.917,0.663,1.134,1.756,0.921,0.760,1.568,1.106,0.710,
+0.617,1.087,0.977,0.079,0.550,0.921,1.404,0.872,0.984,2.252,
+2.897,1.657,0.981,1.789,1.684,1.627,0.822,1.097,1.239,0.112,
+0.628,0.984,1.199,1.067,0.663,1.362,1.922,1.188,0.690,1.073,
+1.298,0.914,0.735,0.921,1.005,0.085,0.667,0.991,0.795,0.727,
+0.523,0.904,1.342,1.307,0.751,1.200,0.108,0.112,0.080,0.128,
+1.050,0.109,0.719,1.096,0.888,1.228,0.855,1.399,1.589,0.910,
+0.741,1.346,1.506,1.126,0.813,1.298,1.137,0.086,0.702,1.115,
+1.120,0.921,0.946,1.794,2.009,1.152,0.852,1.196,1.492,1.183,
+0.963,1.213,1.256,0.149,0.700,1.255,1.051,1.019,0.890,1.726,
+0.150,0.126,0.075,0.111,0.124,0.159,0.108,0.117,0.087,0.020,
+0.085,0.109,0.100,0.143,0.100,0.134,1.199,1.304,0.779,1.204,
+0.106,0.125,0.108,0.209,1.116,0.180,0.658,0.951,0.958,1.914,
+0.905,1.231,1.211,0.800,0.719,1.064,1.377,1.127,1.047,1.490,
+1.241,0.104,0.935,1.283,1.236,1.113,1.278,1.823,2.454,0.969,
+0.823,1.513,1.086,0.658,0.632,0.814,1.301,0.151,0.631,1.106,
+1.102,0.806,0.680,1.720,1.693,1.036,0.715,1.111,1.208,0.905,
+0.775,0.875,0.947,0.077,0.818,1.141,0.995,0.867,0.776,1.318,
+1.550,1.486,0.945,1.549,0.123,0.120,0.084,0.164,1.379,0.143,
+1.011,1.502,1.311,1.609,1.316,1.820,2.178,1.104,1.008,2.118,
+1.510,1.242,1.006,1.610,1.694,0.116,1.314,2.134,2.556,1.682,
+1.978,3.449,9.988,4.136,3.587,8.372,3.583,1.970,1.866,2.673,
+3.833,0.328,1.419,2.588,8.209,4.665,2.241,4.945,3.187,1.570,
+1.232,1.908,1.612,0.836,0.854,1.056,1.871,0.115,0.950,1.182,
+1.913,1.438,0.919,1.725,2.846,1.753,1.249,2.315,0.218,0.131,
+0.112,0.262,1.484,0.110,0.732,1.147,1.708,1.528,1.080,2.154,
+6.561,2.243,1.925,3.897,2.710,1.556,1.463,2.446,2.213,0.155,
+1.131,1.978,3.678,2.084,2.088,5.403,4.146,1.748,1.172,2.377,
+1.927,0.966,0.761,1.089,1.574,0.128,0.570,1.071,1.792,1.428,
+0.721,1.703,1.963,1.012,0.601,1.072,0.999,0.488,0.462,0.654,
+1.101,0.069,0.501,0.762,1.050,0.783,0.478,0.903,1.798,1.174,
+0.853,1.463,0.118,0.077,0.070,0.124,1.377,0.104,0.532,0.865,
+1.284,1.221,0.752,1.314,1.872,0.935,0.776,1.506,1.231,0.799,
+0.766,1.089,1.113,0.068,0.553,1.010,1.359,1.017,0.903,2.257,
+4.158,1.364,1.124,2.243,2.136,1.165,1.048,1.778,2.093,0.196,
+0.662,1.213,2.695,1.791,1.057,2.893,0.261,0.129,0.095,0.188,
+0.163,0.105,0.100,0.164,0.160,0.014,0.076,0.129,0.302,0.249,
+0.120,0.288,1.418,0.976,0.945,1.411,0.116,0.070,0.074,0.149,
+0.961,0.087,0.440,0.721,1.215,1.094,0.723,1.238,1.572,0.853,
+0.894,1.660,1.470,0.925,0.897,1.520,1.183,0.092,0.657,1.110,
+1.730,1.291,1.194,2.509,5.129,1.731,1.448,3.523,1.886,0.987,
+0.958,1.643,2.658,0.210,0.984,1.781,5.377,2.604,1.679,4.840,
+2.674,1.325,1.107,1.815,1.504,0.890,0.905,1.279,1.762,0.111,
+0.892,1.440,2.616,1.850,1.177,2.460,2.052,1.453,1.379,1.959,
+0.154,0.095,0.111,0.176,1.680,0.107,0.923,1.444,1.862,1.829,
+1.372,2.393,3.954,1.802,1.611,3.613,2.156,1.322,1.226,2.157,
+2.755,0.170,1.614,2.790,5.430,3.827,3.270,8.218,5.496,2.706,
+2.013,4.116,2.746,1.643,1.293,1.883,2.345,0.224,0.833,1.610,
+3.061,3.085,1.292,2.754,3.108,1.654,1.220,2.232,1.856,1.055,
+1.024,1.264,1.466,0.126,0.863,1.254,1.345,1.284,0.849,1.733,
+2.057,1.703,1.066,1.860,0.174,0.138,0.098,0.196,1.203,0.113,
+0.652,1.096,1.248,1.399,0.938,1.826,2.363,1.205,1.056,1.923,
+1.885,1.267,1.022,1.572,1.386,0.114,0.748,1.292,1.766,1.157,
+1.207,2.792,3.594,1.849,1.104,2.573,1.965,1.203,0.831,1.164,
+1.314,0.119,0.517,1.193,1.524,1.314,0.683,1.586,2.120,1.400,
+0.706,1.350,1.518,0.782,0.689,0.875,1.184,0.100,0.545,0.888,
+0.979,0.871,0.540,0.976,1.578,1.447,0.869,1.456,0.143,0.135,
+0.132,0.201,1.239,0.126,0.610,0.995,1.090,1.266,0.811,1.509,
+1.457,0.967,0.690,1.254,1.336,1.109,0.839,1.047,0.916,0.067,
+0.484,0.876,1.134,0.875,0.747,1.701,2.964,1.306,0.919,1.792,
+1.864,1.165,1.037,1.481,1.525,0.170,0.616,0.978,1.617,1.380,
+0.897,2.056,0.140,0.109,0.067,0.130,0.116,0.112,0.090,0.114,
+0.096,0.017,0.072,0.097,0.140,0.155,0.083,0.152,1.422,1.283,
+1.022,1.406,0.117,0.107,0.103,0.144,1.153,0.120,0.617,0.956,
+1.081,1.388,0.920,1.481,1.485,0.814,0.838,1.482,1.582,1.262,
+1.138,1.456,1.279,0.105,0.744,1.187,1.471,1.150,1.247,2.413,
+3.498,1.504,1.101,2.356,1.480,0.899,0.791,1.179,1.675,0.137,
+0.696,1.212,2.383,1.556,1.139,2.890,2.310,1.403,1.102,1.830,
+1.531,1.175,1.097,1.401,1.389,0.112,0.839,1.353,1.749,1.684,
+1.126,2.098,1.687,1.462,1.217,1.839,0.118,0.097,0.078,0.141,
+1.375,0.103,0.856,1.383,1.416,1.560,1.210,2.125,2.570,1.290,
+1.143,2.128,1.710,1.220,0.947,1.396,1.874,0.127,1.105,2.059,
+2.897,2.157,2.037,4.242,3.057,1.681,1.232,2.394,1.642,1.091,
+0.745,1.195,1.571,0.134,0.730,1.168,2.005,1.464,1.011,1.743,
+2.377,1.429,0.838,1.369,1.335,0.853,0.701,0.839,1.316,0.122,
+0.804,1.085,1.302,1.237,0.760,1.388,1.693,1.604,0.998,1.733,
+0.164,0.173,0.106,0.228,1.173,0.124,0.669,1.251,1.027,1.425,
+0.839,1.850,1.766,1.092,0.926,1.790,1.367,1.210,0.832,1.413,
+1.418,0.124,0.806,1.449,1.607,1.168,1.284,2.896,0.192,0.130,
+0.083,0.199,0.144,0.122,0.076,0.112,0.113,0.013,0.058,0.097,
+0.128,0.127,0.084,0.160,0.142,0.105,0.054,0.095,0.111,0.102,
+0.066,0.082,0.100,0.015,0.077,0.095,0.089,0.093,0.058,0.104,
+0.111,0.139,0.074,0.121,0.012,0.019,0.017,0.019,0.136,0.020,
+0.074,0.126,0.095,0.150,0.095,0.363,0.151,0.104,0.075,0.169,
+0.143,0.147,0.097,0.163,0.121,0.012,0.076,0.124,0.126,0.109,
+0.109,0.259,1.968,1.123,0.778,1.188,1.376,1.192,0.929,1.101,
+1.262,0.160,0.707,0.950,1.072,1.089,0.934,1.553,0.122,0.115,
+0.053,0.087,0.085,0.108,0.063,0.066,0.085,0.016,0.082,0.077,
+0.107,0.130,0.087,0.120,1.289,1.953,0.926,1.255,0.101,0.137,
+0.081,0.130,1.157,0.129,0.496,0.743,0.732,1.076,0.726,1.118,
+1.258,0.921,0.685,1.017,1.166,1.118,0.842,1.108,1.332,0.110,
+1.020,1.123,1.037,0.959,1.060,1.765,1.983,1.018,0.722,1.452,
+1.156,0.784,0.562,0.820,1.214,0.107,0.672,1.033,1.445,1.021,
+0.802,1.702,1.993,1.221,0.822,1.275,1.228,1.046,0.760,0.817,
+1.290,0.103,0.872,1.176,1.459,1.367,0.979,1.615,1.537,1.671,
+1.035,1.705,0.117,0.186,0.095,0.135,1.327,0.131,0.867,1.253,
+1.239,1.597,1.263,1.886,1.682,1.003,0.873,1.438,1.261,1.122,
+0.803,1.135,1.598,0.117,1.180,1.510,1.852,1.642,1.606,2.777,
+6.911,2.240,1.935,4.141,2.124,1.205,0.975,1.669,2.124,0.166,
+0.986,1.761,3.056,2.014,1.309,3.627,2.676,1.250,0.843,1.519,
+1.284,0.739,0.712,1.012,1.359,0.116,1.557,1.651,1.318,1.007,
+0.762,1.536,2.139,1.750,1.023,2.246,0.144,0.131,0.089,0.230,
+1.307,0.109,0.823,1.369,1.431,1.401,0.974,2.153,3.416,1.654,
+1.550,3.606,1.885,1.177,1.087,2.180,1.799,0.124,1.145,2.309,
+3.205,1.915,2.029,6.054,2.782,1.394,0.960,2.010,1.509,1.035,
+0.675,1.035,1.297,0.089,0.571,1.083,1.440,1.098,0.753,1.741,
+1.789,1.015,0.580,1.083,1.025,0.693,0.499,0.754,1.000,0.063,
+0.633,0.991,0.968,0.777,0.542,1.090,1.432,1.079,0.698,1.419,
+0.083,0.082,0.051,0.111,1.131,0.090,0.628,1.128,1.160,1.330,
+0.865,1.993,1.840,1.007,0.904,1.920,1.430,1.029,0.804,1.548,
+1.246,0.075,0.762,1.348,1.604,1.175,1.227,2.858,3.064,1.649,
+1.352,2.016,2.043,1.343,1.216,1.913,1.870,0.179,0.938,1.549,
+1.956,1.521,1.302,2.753,0.169,0.153,0.085,0.138,0.112,0.102,
+0.087,0.116,0.096,0.011,0.081,0.111,0.153,0.144,0.091,0.189,
+1.847,1.709,1.163,1.801,0.113,0.111,0.076,0.160,1.480,0.125,
+0.778,1.279,1.426,1.615,1.238,2.045,2.227,1.409,1.289,1.977,
+2.042,1.483,1.338,2.154,1.984,0.138,1.389,2.035,2.065,1.500,
+1.833,3.213,5.921,1.965,1.635,3.373,2.050,1.232,1.081,1.629,
+2.427,0.160,1.142,1.987,3.577,2.024,1.835,4.904,3.010,1.750,
+1.154,1.969,1.931,1.576,1.059,1.385,1.890,0.108,1.099,1.768,
+2.155,1.690,1.323,2.840,2.916,2.386,1.614,2.851,0.141,0.122,
+0.085,0.182,2.273,0.138,1.488,2.451,2.567,2.528,2.169,3.737,
+6.029,2.632,2.183,5.118,2.865,2.003,1.683,3.220,3.330,0.179,
+2.252,4.204,6.021,3.435,3.383,7.940,9.887,5.057,3.385,6.347,
+5.407,3.093,2.277,2.837,4.750,0.471,2.027,3.108,5.993,4.484,
+2.501,4.210,6.470,3.485,1.895,2.513,3.252,2.046,1.500,1.575,
+2.739,0.241,1.424,1.834,2.179,2.038,1.363,2.151,3.518,2.903,
+1.857,2.525,0.311,0.295,0.205,0.355,2.095,0.216,1.149,1.516,
+1.859,2.439,1.493,2.135,5.329,2.528,2.176,3.724,3.484,2.442,
+2.063,3.074,2.679,0.230,1.359,2.213,3.263,2.162,2.074,3.569,
+5.797,2.424,1.301,2.491,3.223,2.209,1.320,1.573,2.512,0.267,
+0.879,1.397,1.920,1.761,0.863,1.503,3.679,2.164,0.972,1.368,
+2.119,1.446,0.992,0.982,1.985,0.234,0.928,1.325,1.217,1.459,
+0.747,1.041,2.149,2.316,1.068,1.453,0.184,0.206,0.129,0.163,
+1.964,0.228,1.009,1.281,1.121,1.850,1.059,1.378,1.818,1.284,
+0.756,1.305,1.817,1.503,0.861,1.287,1.711,0.146,0.900,1.333,
+1.527,1.322,1.158,2.061,2.962,1.541,0.972,1.616,2.221,1.349,
+1.268,1.429,1.942,0.254,0.783,1.399,1.558,1.545,1.000,2.067,
+0.235,0.217,0.101,0.149,0.187,0.167,0.134,0.133,0.164,0.034,
+0.110,0.160,0.180,0.270,0.131,0.221,1.328,1.284,1.021,1.036,
+0.132,0.121,0.113,0.144,1.152,0.138,0.611,0.873,0.782,1.113,
+0.773,0.936,1.377,0.920,0.819,1.106,1.653,1.272,0.997,1.424,
+1.510,0.151,0.831,1.347,1.289,1.251,1.221,1.883,3.982,1.630,
+1.164,2.498,1.777,1.000,0.950,1.233,1.823,0.171,0.712,1.257,
+2.465,1.712,1.185,2.794,2.939,2.030,1.193,1.696,1.892,1.362,
+1.253,1.273,1.590,0.138,0.949,1.359,1.678,1.774,1.157,1.933,
+1.705,1.485,1.427,1.518,0.156,0.129,0.318,0.173,1.319,0.125,
+0.830,1.181,1.241,1.584,1.231,1.508,2.371,1.394,1.189,2.164,
+1.505,1.138,1.200,1.526,2.057,0.166,1.241,2.094,2.445,2.037,
+2.052,3.599,5.768,3.991,2.106,3.423,3.298,2.575,1.657,1.883,
+2.104,0.240,0.938,1.459,2.144,2.099,1.174,2.022,4.242,5.354,
+1.703,2.013,2.513,2.060,1.440,1.466,1.629,0.233,0.982,1.388,
+1.151,1.412,0.807,1.287,1.980,2.802,1.276,1.485,0.261,0.502,
+0.176,0.225,1.312,0.179,0.890,1.060,0.978,1.582,0.963,1.338,
+1.982,1.287,0.937,1.481,2.165,2.155,1.117,1.432,1.245,0.156,
+0.727,1.123,1.482,1.220,1.136,2.181,3.526,2.824,1.060,1.585,
+2.460,2.262,1.123,1.099,1.499,0.211,0.636,0.936,1.017,1.354,
+0.693,1.114,2.324,2.417,0.865,0.951,1.614,0.884,0.980,0.788,
+1.349,0.226,0.727,0.982,0.762,1.177,0.669,0.809,1.490,2.297,
+0.899,1.104,0.190,0.333,0.176,0.166,1.572,0.314,0.889,1.170,
+0.835,2.092,0.920,1.157,1.203,1.005,0.527,0.790,1.509,1.591,
+0.708,0.879,1.167,0.137,0.591,0.858,1.028,1.228,0.730,1.412,
+2.015,1.817,0.765,1.154,1.907,1.721,1.273,1.227,1.292,0.207,
+0.679,0.934,0.842,1.090,0.791,1.176,0.205,0.464,0.095,0.115,
+0.141,0.221,0.146,0.106,0.129,0.060,0.117,0.142,0.088,0.191,
+0.098,0.122,1.322,1.685,1.012,0.971,0.163,0.230,0.159,0.145,
+1.268,0.208,0.816,1.076,0.686,1.424,0.958,1.030,1.064,0.813,
+0.622,0.876,1.524,1.714,1.140,1.270,1.255,0.153,0.897,1.254,
+0.856,1.051,1.063,1.456,1.778,1.131,0.680,1.103,1.231,0.859,
+0.658,0.723,0.898,0.088,0.383,0.615,0.971,0.813,0.570,1.111,
+1.727,1.922,0.846,1.022,1.227,1.295,0.856,0.893,0.958,0.112,
+0.592,0.879,0.764,1.132,0.645,1.018,1.145,1.284,0.866,0.978,
+0.102,0.136,0.093,0.105,0.982,0.116,0.722,0.956,0.765,1.146,
+1.063,1.154,1.369,0.854,0.662,1.011,1.176,1.087,0.688,1.035,
+1.260,0.127,0.851,1.343,1.450,1.426,1.381,2.166,2.945,1.993,
+1.204,2.073,1.611,1.383,0.840,1.016,1.272,0.157,0.648,0.956,
+1.377,1.326,0.720,1.361,2.698,2.647,1.345,1.479,1.793,1.759,
+1.055,1.004,1.537,0.221,0.911,1.091,1.056,1.444,0.800,1.121,
+1.706,2.045,1.405,1.573,0.203,0.266,0.165,0.241,1.225,0.193,
+0.648,0.889,0.836,1.596,0.784,1.209,1.527,1.002,0.934,1.347,
+1.434,1.238,0.851,1.097,1.227,0.138,0.704,1.142,1.369,1.191,
+1.127,2.640,0.204,0.216,0.086,0.156,0.206,0.255,0.113,0.119,
+0.149,0.035,0.079,0.101,0.110,0.180,0.087,0.128,0.230,0.481,
+0.109,0.143,0.244,0.452,0.166,0.156,0.181,0.059,0.135,0.138,
+0.108,0.214,0.101,0.121,0.130,0.222,0.112,0.121,0.028,0.064,
+0.041,0.028,0.168,0.054,0.134,0.138,0.094,0.252,0.123,0.134,
+0.156,0.130,0.080,0.138,0.270,0.278,0.164,0.194,0.157,0.028,
+0.109,0.152,0.150,0.159,0.134,0.252,1.310,1.025,0.633,0.879,
+1.099,1.050,1.333,0.814,1.206,0.210,0.666,0.741,0.727,0.896,
+0.720,0.877,0.123,0.207,0.070,0.074,0.102,0.150,0.104,0.067,
+0.113,0.036,0.079,0.085,0.091,0.175,0.088,0.095,0.871,1.302,
+0.724,0.702,0.109,0.168,0.119,0.104,1.191,0.225,0.556,0.717,
+0.633,1.542,0.761,0.761,0.809,0.627,0.496,0.559,0.966,1.091,
+0.756,0.774,1.117,0.162,0.645,0.848,0.675,0.956,0.744,1.052,
+1.275,0.801,0.502,0.952,0.903,0.600,0.468,0.500,0.928,0.095,
+0.368,0.591,0.871,0.731,0.502,1.006,1.622,1.518,0.725,0.882,
+1.322,1.288,0.798,0.759,1.100,0.142,0.701,0.904,0.905,1.206,
+0.791,1.009,1.103,1.303,0.739,0.871,0.119,0.167,0.101,0.107,
+1.316,0.270,0.666,0.932,0.794,1.476,0.800,1.050,1.228,0.766,
+0.646,0.800,1.078,1.050,0.714,0.882,1.384,0.154,0.884,1.317,
+1.336,1.342,1.151,1.916,3.349,1.802,1.302,2.655,1.502,1.104,
+0.758,0.969,1.365,0.148,0.625,1.136,2.022,1.527,1.006,2.304,
+1.601,1.153,0.650,1.416,1.013,0.743,0.493,0.635,0.896,0.093,
+0.430,0.757,0.867,0.772,0.487,0.930,1.499,1.374,0.842,1.441,
+0.153,0.159,0.092,0.203,1.021,0.099,0.479,0.781,0.934,1.087,
+0.701,1.242,1.840,1.015,0.921,2.052,1.239,0.918,0.728,1.270,
+1.139,0.095,0.648,1.193,1.736,1.201,1.242,3.314,2.660,1.910,
+0.966,1.789,2.029,1.784,0.852,1.094,1.575,0.187,0.691,1.128,
+1.388,1.483,0.859,1.472,1.958,2.014,0.704,1.256,1.611,1.677,
+0.804,0.930,1.417,0.222,0.790,1.148,1.015,1.279,0.649,1.037,
+1.228,1.383,0.679,1.076,0.113,0.156,0.089,0.131,1.323,0.156,
+0.759,1.011,0.964,1.550,0.951,1.245,1.304,0.883,0.637,1.189,
+1.455,1.327,0.817,1.295,1.253,0.106,0.750,1.148,1.289,1.139,
+1.040,1.989,1.382,1.088,0.620,1.005,1.174,0.874,0.725,0.886,
+1.284,0.254,0.638,1.002,0.948,1.120,0.783,1.296,0.112,0.190,
+0.061,0.096,0.082,0.109,0.066,0.066,0.156,0.081,0.081,0.134,
+0.097,0.209,0.072,0.119,0.859,0.939,0.608,0.743,0.086,0.086,
+0.076,0.090,0.936,0.122,0.485,0.766,0.625,1.045,0.666,0.925,
+0.888,0.659,0.524,0.778,1.153,0.987,0.707,0.996,1.173,0.149,
+0.655,1.135,0.920,0.945,0.862,1.520,2.301,1.082,0.764,1.454,
+1.135,0.747,0.566,0.773,1.328,0.113,0.483,0.883,1.578,1.088,
+0.852,1.983,1.301,0.976,0.511,0.849,0.970,0.752,0.555,0.668,
+1.002,0.123,0.541,1.008,0.915,1.014,0.652,1.213,1.470,1.312,
+0.810,1.298,0.111,0.112,0.072,0.121,1.290,0.126,0.742,1.236,
+1.209,1.609,1.143,1.571,2.127,1.197,0.952,2.035,1.580,1.559,
+0.957,1.523,1.970,0.132,1.233,2.223,2.666,2.018,2.065,3.793,
+5.239,3.289,2.229,3.624,3.463,2.508,1.535,1.763,2.709,0.327,
+1.243,2.158,2.996,2.682,1.438,2.471,3.839,2.875,1.448,1.773,
+3.209,2.204,1.382,1.325,2.088,0.266,1.381,1.650,1.392,1.724,
+1.112,1.514,1.649,1.597,1.050,1.323,0.183,0.180,0.153,0.200,
+1.135,0.153,0.708,0.852,0.917,1.399,0.927,1.249,2.078,1.157,
+0.908,1.664,1.866,1.436,1.088,1.443,1.293,0.156,0.824,1.227,
+1.511,1.228,1.287,2.263,3.609,2.231,1.076,2.059,2.722,2.164,
+1.101,1.229,1.796,0.266,0.869,1.199,1.280,1.573,0.763,1.259,
+2.737,2.599,0.913,1.396,2.114,1.637,1.044,1.032,1.835,0.406,
+1.197,1.739,1.007,1.687,0.780,1.002,1.266,1.692,0.793,0.926,
+0.164,0.237,0.157,0.153,1.331,0.257,0.979,1.023,0.791,1.706,
+1.005,1.050,0.971,0.777,0.435,0.718,1.254,1.268,0.653,0.875,
+1.048,0.129,0.702,0.932,0.914,1.023,1.232,1.665,1.692,1.118,
+0.634,0.997,1.707,1.405,0.994,1.088,1.578,0.234,0.742,1.010,
+0.983,1.181,0.751,1.377,0.137,0.186,0.095,0.114,0.167,0.211,
+0.149,0.133,0.160,0.057,0.135,0.158,0.107,0.245,0.111,0.155,
+0.731,0.972,0.679,0.640,0.102,0.121,0.099,0.108,0.906,0.154,
+0.659,0.779,0.543,0.954,0.670,0.723,0.709,0.578,0.515,0.648,
+1.056,1.033,0.740,0.921,1.023,0.140,0.717,0.955,0.801,1.018,
+0.959,1.343,1.823,0.847,0.586,1.299,0.939,0.627,0.467,0.653,
+1.087,0.109,0.425,0.666,1.179,0.934,0.605,1.442,1.557,1.348,
+0.794,1.051,1.390,1.258,0.922,1.029,1.104,0.142,0.760,1.034,
+0.844,1.301,0.696,1.137,0.848,0.853,0.968,0.850,0.086,0.084,
+0.203,0.113,0.775,0.097,0.639,0.758,0.614,0.950,0.781,0.905,
+1.259,0.743,0.783,1.146,0.785,0.720,0.857,0.878,1.116,0.114,
+0.828,1.178,1.305,1.361,1.293,2.306,3.090,2.331,1.317,2.104,
+2.460,2.421,1.303,1.323,1.418,0.187,0.703,1.029,1.220,1.358,
+0.751,1.279,2.460,2.460,1.196,1.276,2.238,2.471,1.459,1.218,
+1.259,0.230,0.950,1.144,0.713,1.189,0.695,0.954,1.076,1.496,
+0.862,1.009,0.135,0.219,0.145,0.162,0.863,0.148,0.764,0.792,
+0.602,1.067,0.746,0.999,0.969,0.708,0.530,0.926,1.175,1.321,
+0.806,0.919,0.717,0.092,0.630,0.768,0.828,0.756,0.752,1.325,
+2.228,1.889,0.748,1.003,1.699,1.995,0.843,0.800,1.127,0.192,
+0.580,0.710,0.645,1.009,0.447,0.739,1.328,1.198,0.512,0.615,
+0.548,0.230,0.413,0.367,0.878,0.296,0.575,0.799,0.410,0.920,
+0.451,0.560,0.826,1.562,0.660,0.720,0.139,0.344,0.167,0.146,
+1.054,0.275,0.722,0.876,0.544,1.603,0.832,0.934,0.567,0.600,
+0.339,0.447,0.925,1.363,0.568,0.681,0.755,0.124,0.596,0.700,
+0.556,0.777,0.564,0.874,1.278,1.171,0.554,0.788,1.651,2.018,
+1.136,1.078,1.079,0.202,0.648,0.814,0.628,0.963,0.678,0.946,
+0.109,0.248,0.091,0.098,0.173,0.360,0.206,0.132,0.129,0.083,
+0.151,0.139,0.066,0.219,0.107,0.105,0.772,1.333,0.786,0.733,
+0.138,0.277,0.169,0.144,0.967,0.206,0.728,0.911,0.520,1.340,
+0.872,0.963,0.603,0.543,0.427,0.564,1.172,1.698,1.123,1.108,
+1.032,0.149,0.896,1.080,0.675,0.874,0.957,1.247,1.029,0.735,
+0.432,0.712,0.860,0.771,0.410,0.506,0.710,0.076,0.309,0.416,
+0.607,0.583,0.407,0.734,1.018,1.293,0.687,0.770,1.189,1.662,
+0.857,0.882,0.749,0.134,0.565,0.735,0.500,0.981,0.579,0.770,
+0.682,1.003,0.672,0.704,0.070,0.136,0.088,0.095,0.653,0.108,
+0.701,0.783,0.497,0.997,1.030,1.055,0.724,0.583,0.392,0.643,
+0.676,0.870,0.524,0.707,0.757,0.088,0.634,0.838,0.752,0.952,
+1.107,1.626,2.200,1.803,0.937,1.573,1.686,1.336,0.735,1.016,
+1.232,0.152,0.580,0.807,1.049,1.097,0.631,1.120,2.478,2.838,
+0.989,1.387,2.673,2.020,1.490,1.372,1.659,0.294,1.262,1.362,
+0.915,1.513,0.786,1.103,1.120,1.777,0.961,1.175,0.225,0.272,
+0.196,0.273,1.039,0.211,0.718,0.890,0.701,1.536,0.744,1.014,
+1.039,0.778,0.548,0.990,1.689,1.420,0.895,1.131,1.027,0.141,
+0.723,1.021,0.980,1.037,0.979,1.878,0.137,0.184,0.067,0.109,
+0.218,0.276,0.139,0.135,0.147,0.038,0.084,0.091,0.086,0.156,
+0.104,0.125,0.199,0.485,0.106,0.182,0.376,0.422,0.337,0.266,
+0.212,0.138,0.220,0.202,0.091,0.222,0.093,0.108,0.090,0.241,
+0.140,0.122,0.054,0.130,0.089,0.059,0.161,0.097,0.277,0.225,
+0.072,0.248,0.158,0.124,0.117,0.095,0.051,0.081,0.637,0.434,
+0.204,0.216,0.126,0.037,0.130,0.138,0.088,0.117,0.113,0.160,
+1.242,1.684,0.595,0.776,1.387,1.963,1.065,0.976,1.341,0.297,
+0.819,0.897,0.680,1.069,0.682,0.991,0.168,0.685,0.115,0.103,
+0.206,0.447,0.203,0.141,0.166,0.092,0.185,0.143,0.085,0.235,
+0.112,0.112,0.762,1.674,0.731,0.673,0.138,0.283,0.144,0.126,
+1.249,0.306,0.628,0.883,0.557,1.499,0.781,0.813,0.590,0.695,
+0.378,0.539,1.127,1.686,0.874,0.951,1.291,0.221,1.079,1.156,
+0.623,0.993,0.914,1.165,1.025,0.882,0.407,0.732,0.871,0.644,
+0.350,0.500,0.894,0.102,0.386,0.596,0.705,0.675,0.386,0.862,
+1.733,2.889,0.812,0.986,2.430,2.236,1.161,1.517,1.857,0.292,
+1.132,1.344,0.941,1.610,0.821,1.138,1.021,1.543,0.739,0.802,
+0.111,0.192,0.108,0.110,1.081,0.215,0.821,1.019,0.667,1.577,
+0.819,1.025,0.873,0.755,0.470,0.791,0.899,1.020,0.615,0.789,
+1.187,0.143,1.042,1.281,1.005,1.375,1.133,1.638,1.926,1.183,
+0.804,1.470,1.151,0.820,0.531,0.827,0.970,0.106,0.446,0.814,
+1.088,0.906,0.548,1.373,1.427,1.120,0.546,0.905,1.069,0.785,
+0.530,0.772,0.758,0.089,0.421,0.697,0.623,0.646,0.384,0.771,
+0.861,0.900,0.509,0.812,0.083,0.087,0.057,0.120,0.645,0.080,
+0.374,0.576,0.603,0.741,0.491,0.794,1.032,0.623,0.526,1.147,
+0.832,0.657,0.495,0.931,0.719,0.066,0.419,0.788,1.001,0.727,
+0.715,1.860,1.676,1.365,0.635,1.063,1.483,1.449,0.830,0.920,
+1.250,0.169,0.663,0.956,0.935,1.228,0.874,1.260,1.472,1.670,
+0.585,0.938,1.875,1.660,1.044,1.056,1.221,0.213,0.828,1.089,
+0.793,1.157,0.617,0.869,0.697,1.088,0.619,0.765,0.112,0.191,
+0.126,0.146,0.990,0.164,0.769,0.889,0.689,1.279,0.856,0.941,
+0.702,0.536,0.400,0.694,1.422,1.290,0.758,1.137,0.907,0.103,
+0.619,0.887,0.748,0.809,0.758,1.349,1.141,1.051,0.468,0.669,
+1.217,1.345,0.760,0.836,1.384,0.197,0.674,0.919,0.832,0.950,
+0.676,1.100,0.092,0.201,0.052,0.071,0.099,0.194,0.094,0.084,
+0.104,0.032,0.081,0.095,0.069,0.127,0.071,0.094,0.573,0.826,
+0.473,0.556,0.067,0.097,0.070,0.085,0.846,0.141,0.577,0.802,
+0.514,0.956,0.632,0.814,0.602,0.544,0.365,0.561,0.864,0.952,
+0.662,0.897,1.049,0.137,0.750,1.048,0.773,0.823,0.857,1.301,
+1.403,0.907,0.479,0.896,0.766,0.631,0.372,0.532,0.865,0.083,
+0.389,0.609,0.901,0.693,0.529,1.141,1.081,1.061,0.448,0.720,
+0.964,0.931,0.558,0.764,1.268,0.138,0.533,0.789,0.737,0.822,
+0.558,0.983,0.986,0.909,0.567,0.856,0.077,0.080,0.053,0.090,
+0.797,0.093,0.616,0.854,0.710,1.047,0.805,1.063,1.243,0.766,
+0.574,1.238,0.986,1.069,0.707,1.220,1.260,0.113,0.948,1.513,
+1.578,1.441,1.489,2.182,2.876,2.021,1.728,2.515,2.149,1.588,
+1.258,1.387,1.919,0.212,0.889,1.351,2.075,1.843,1.036,1.758,
+1.994,1.546,1.433,1.212,1.412,1.010,0.955,0.870,1.260,0.143,
+0.734,0.871,0.919,1.070,0.862,1.136,1.421,1.327,0.873,1.295,
+0.141,0.134,0.109,0.185,0.940,0.115,0.610,0.783,0.741,1.020,
+0.756,1.090,1.664,0.946,0.716,1.355,1.386,1.086,0.875,1.210,
+1.018,0.101,0.929,1.009,1.259,0.889,1.214,1.877,2.711,1.934,
+1.023,1.587,2.311,1.894,1.328,1.277,1.391,0.194,0.621,0.844,
+1.084,1.372,0.711,1.182,1.959,1.869,0.867,0.994,1.648,1.214,
+1.187,0.967,1.514,0.233,0.805,1.052,0.858,1.360,0.686,0.912,
+1.504,2.167,1.063,1.406,0.195,0.271,0.190,0.232,1.566,0.278,
+1.154,1.333,0.853,1.786,1.107,1.258,1.082,0.832,0.499,0.889,
+1.457,1.412,0.856,1.271,1.046,0.110,0.659,0.913,0.955,0.882,
+0.884,1.658,1.553,0.941,0.607,1.070,1.721,1.398,1.208,1.369,
+1.450,0.228,0.639,0.867,1.110,1.175,0.793,1.373,0.143,0.167,
+0.086,0.131,0.167,0.199,0.157,0.164,0.172,0.046,0.127,0.145,
+0.155,0.300,0.140,0.213,0.913,0.991,0.781,1.003,0.137,0.139,
+0.146,0.179,1.001,0.171,0.651,0.728,0.809,1.211,0.806,0.948,
+0.808,0.545,0.434,0.796,1.235,1.151,0.917,1.238,0.985,0.123,
+0.651,0.895,1.137,1.004,0.976,2.128,1.555,0.757,0.583,1.236,
+0.856,0.587,0.581,0.806,0.917,0.106,0.405,0.625,1.238,1.001,
+0.649,1.447,1.346,1.131,0.665,0.969,1.095,1.019,0.897,1.047,
+1.034,0.135,0.634,0.866,0.966,1.248,0.712,1.180,1.002,1.098,
+0.926,1.166,0.108,0.112,0.119,0.153,1.002,0.126,0.809,1.030,
+0.931,1.346,1.056,1.388,1.280,0.808,0.665,1.319,0.871,0.703,
+0.737,1.035,1.302,0.132,1.005,1.368,1.958,1.711,1.722,3.029,
+0.170,0.159,0.174,0.136,0.156,0.163,0.109,0.116,0.114,0.022,
+0.061,0.081,0.103,0.128,0.076,0.112,0.205,0.230,0.420,0.168,
+0.205,0.213,0.218,0.143,0.150,0.066,0.159,0.138,0.078,0.159,
+0.109,0.110,0.094,0.170,0.098,0.097,0.020,0.038,0.032,0.026,
+0.092,0.029,0.094,0.091,0.058,0.123,0.102,0.112,0.104,0.078,
+0.069,0.101,0.139,0.159,0.111,0.126,0.101,0.021,0.207,0.139,
+0.100,0.094,0.249,0.181,0.153,0.171,0.078,0.092,0.189,0.229,
+0.135,0.098,0.100,0.032,0.062,0.073,0.060,0.108,0.080,0.076,
+0.195,0.291,0.123,0.103,0.289,0.220,0.240,0.148,0.189,0.091,
+0.124,0.125,0.086,0.200,0.096,0.095,0.115,0.243,0.115,0.115,
+0.040,0.123,0.077,0.038,0.170,0.093,0.162,0.142,0.067,0.242,
+0.158,0.129,0.079,0.082,0.048,0.066,0.140,0.201,0.114,0.109,
+0.101,0.022,0.085,0.087,0.064,0.091,0.090,0.126,0.103,0.103,
+0.054,0.082,0.148,0.202,0.180,0.160,0.126,0.043,0.092,0.080,
+0.063,0.114,0.081,0.099,0.020,0.049,0.024,0.023,0.043,0.092,
+0.086,0.040,0.042,0.056,0.065,0.036,0.013,0.049,0.031,0.022,
+0.094,0.173,0.143,0.113,0.038,0.078,0.088,0.039,0.169,0.093,
+0.170,0.140,0.076,0.235,0.178,0.125,0.082,0.066,0.056,0.078,
+0.156,0.234,0.177,0.151,0.139,0.041,0.143,0.137,0.087,0.123,
+0.134,0.192,0.114,0.102,0.063,0.100,0.090,0.090,0.068,0.083,
+0.084,0.014,0.044,0.060,0.093,0.101,0.074,0.133,0.177,0.252,
+0.120,0.145,0.204,0.273,0.211,0.209,0.167,0.045,0.123,0.142,
+0.109,0.235,0.122,0.156,0.089,0.144,0.110,0.114,0.016,0.032,
+0.028,0.022,0.132,0.037,0.141,0.157,0.091,0.189,0.172,0.162,
+0.107,0.092,0.067,0.106,0.100,0.122,0.090,0.110,0.142,0.022,
+0.134,0.162,0.141,0.171,0.186,0.252,1.885,1.384,1.133,1.434,
+1.776,1.369,0.921,1.028,1.173,0.157,0.568,0.794,0.914,0.924,
+0.625,1.000,1.676,1.612,1.048,1.053,1.852,1.513,1.877,1.287,
+1.402,0.251,1.149,1.110,0.751,1.244,0.829,1.013,1.167,1.934,
+1.084,1.353,0.215,0.360,0.225,0.321,2.990,1.820,0.980,1.195,
+0.882,3.269,0.908,1.143,1.083,0.713,0.507,0.948,1.211,1.149,
+0.864,1.172,1.166,0.219,0.855,1.173,0.993,0.999,1.071,1.681,
+0.153,0.151,0.072,0.107,0.484,0.306,0.185,0.152,0.113,0.029,
+0.084,0.110,0.075,0.110,0.062,0.097,0.142,0.200,0.114,0.095,
+0.295,0.296,0.501,0.256,0.172,0.086,0.198,0.182,0.067,0.156,
+0.098,0.091,0.097,0.245,0.115,0.108,0.044,0.108,0.079,0.046,
+0.201,0.136,0.212,0.203,0.077,0.272,0.149,0.130,0.105,0.084,
+0.051,0.092,0.214,0.237,0.148,0.181,0.121,0.033,0.117,0.141,
+0.080,0.099,0.100,0.147,1.137,1.085,0.528,0.583,1.593,2.182,
+1.443,1.029,1.109,0.268,0.805,0.840,0.590,0.933,0.711,0.896,
+0.113,0.234,0.096,0.078,0.176,0.378,0.298,0.125,0.153,0.082,
+0.182,0.127,0.076,0.202,0.123,0.113,0.979,1.663,1.015,0.903,
+0.195,0.320,0.304,0.202,1.240,0.283,0.483,0.796,0.571,1.313,
+1.056,0.961,0.684,0.653,0.441,0.520,1.150,1.571,1.242,1.073,
+1.128,0.203,0.955,0.986,0.632,0.891,0.940,1.162,0.953,0.666,
+0.446,0.678,0.855,0.926,0.491,0.520,0.678,0.096,0.436,0.609,
+0.585,0.639,0.406,0.784,1.289,1.523,0.786,0.767,1.721,3.078,
+1.665,1.045,1.201,0.228,0.980,1.058,0.768,1.367,0.804,0.974,
+1.242,1.807,0.968,1.081,0.245,0.317,0.209,0.176,1.618,0.310,
+1.794,1.671,0.833,1.708,1.214,1.275,0.868,0.664,0.479,0.740,
+1.078,1.177,0.806,0.878,1.205,0.151,1.174,1.313,0.961,1.185,
+1.131,1.533,1.743,1.016,0.708,1.212,1.057,0.724,0.572,0.717,
+0.915,0.097,0.371,0.665,1.020,0.856,0.512,1.474,1.221,0.833,
+0.514,0.651,0.952,0.515,0.475,0.513,0.635,0.064,0.336,0.564,
+0.573,0.556,0.388,0.649,0.928,0.965,0.529,0.872,0.106,0.098,
+0.076,0.135,0.850,0.143,0.445,0.683,0.691,0.947,1.010,1.180,
+1.114,0.663,0.485,0.937,1.019,0.650,0.536,0.858,0.754,0.073,
+0.447,0.755,1.098,0.815,0.816,1.769,1.931,1.434,0.782,1.209,
+2.059,1.590,1.098,1.116,1.059,0.142,0.624,0.897,0.848,1.041,
+0.569,1.060,1.842,1.765,0.779,0.944,2.703,1.553,1.585,1.305,
+1.157,0.188,0.857,1.102,0.793,1.092,0.706,0.930,1.095,1.729,
+0.789,1.063,0.165,0.245,0.152,0.190,1.289,0.239,1.039,1.379,
+0.851,1.678,1.086,1.383,1.083,0.808,0.556,0.914,1.499,1.414,
+1.010,1.494,1.096,0.119,0.776,1.090,0.945,0.930,0.858,1.588,
+1.267,1.089,0.550,0.786,1.434,1.421,1.115,1.086,1.145,0.199,
+0.689,1.329,0.724,0.929,0.741,1.251,0.107,0.141,0.057,0.080,
+0.134,0.177,0.155,0.113,0.098,0.036,0.105,0.137,0.072,0.136,
+0.090,0.116,0.961,1.392,0.875,1.074,0.137,0.185,0.218,0.178,
+1.316,0.228,0.841,1.145,0.752,1.427,1.106,1.248,0.869,0.715,
+0.564,0.775,1.351,1.351,1.358,1.476,1.167,0.147,0.978,1.373,
+0.972,1.001,1.194,1.692,1.303,0.698,0.478,0.896,0.790,0.582,
+0.506,0.604,0.813,0.084,0.390,0.682,0.825,0.670,0.555,1.178,
+1.072,0.892,0.496,0.739,0.982,0.988,0.749,0.739,0.930,0.095,
+0.568,0.880,0.644,0.819,0.636,0.960,1.109,1.331,0.795,1.247,
+0.112,0.134,0.098,0.151,1.407,0.167,1.154,1.630,1.019,1.549,
+1.251,1.578,1.363,0.857,0.706,1.491,1.207,1.168,0.988,1.414,
+1.424,0.121,1.155,1.837,1.670,1.457,1.560,2.226,3.106,1.759,
+1.448,2.993,1.647,1.060,0.817,1.138,1.707,0.157,0.612,1.122,
+2.506,1.901,0.922,1.988,1.679,1.039,0.757,1.024,0.975,0.613,
+0.491,0.602,1.000,0.090,0.552,0.685,1.063,1.103,0.660,1.106,
+1.281,1.045,0.695,1.194,0.108,0.090,0.066,0.140,0.810,0.075,
+0.385,0.603,0.878,1.054,0.659,1.267,1.924,0.944,0.778,1.600,
+1.197,0.837,0.661,1.064,1.018,0.085,0.583,0.868,1.530,1.050,
+1.027,2.362,2.219,1.190,0.668,1.442,1.735,0.867,0.537,0.791,
+0.950,0.099,0.342,0.658,1.010,0.946,0.459,1.033,1.233,0.892,
+0.421,0.709,0.817,0.598,0.399,0.515,0.836,0.086,0.360,0.594,
+0.776,0.863,0.444,0.683,0.923,0.908,0.527,0.861,0.080,0.089,
+0.055,0.088,0.886,0.125,0.394,0.599,0.866,1.858,0.576,0.871,
+0.915,0.681,0.398,0.841,0.765,0.642,0.392,0.651,0.715,0.056,
+0.385,0.589,0.848,0.775,0.626,1.333,1.388,0.693,0.502,1.008,
+1.089,0.705,0.580,1.068,0.931,0.113,0.310,0.597,1.018,0.846,
+0.500,1.215,0.089,0.074,0.043,0.083,0.076,0.064,0.051,0.083,
+0.070,0.012,0.036,0.061,0.118,0.140,0.061,0.128,0.627,0.595,
+0.456,0.688,0.062,0.057,0.047,0.079,0.617,0.075,0.289,0.414,
+0.658,0.820,0.461,0.688,0.687,0.452,0.390,0.779,0.776,0.643,
+0.480,0.744,0.700,0.068,0.390,0.619,0.906,0.729,0.680,1.370,
+1.878,0.747,0.615,1.619,0.846,0.494,0.483,0.818,1.048,0.097,
+0.375,0.727,1.770,1.071,0.676,1.773,1.133,0.719,0.504,0.882,
+0.760,0.528,0.485,0.647,0.754,0.064,0.399,0.632,1.057,1.038,
+0.603,1.179,0.842,0.764,0.632,0.958,0.067,0.057,0.058,0.085,
+0.709,0.062,0.445,0.663,0.867,1.066,0.775,1.244,1.458,0.794,
+0.713,1.514,0.879,0.646,0.588,0.928,1.184,0.093,0.894,1.269,
+2.016,1.706,1.606,3.373,2.781,1.734,1.298,2.196,1.657,1.261,
+0.887,1.165,1.371,0.152,0.616,0.994,1.452,1.459,0.745,1.539,
+2.082,1.425,1.514,1.390,1.483,1.154,0.961,0.975,1.249,0.186,
+1.449,1.388,0.826,1.285,0.775,1.241,1.171,1.421,0.837,1.247,
+0.126,0.155,0.114,0.174,0.892,0.122,0.634,0.917,0.799,1.160,
+0.833,1.391,1.251,0.803,0.669,1.219,1.283,1.151,0.800,1.192,
+0.885,0.099,0.938,1.025,1.115,0.915,1.112,1.927,1.961,1.424,
+0.677,1.357,1.501,1.246,0.748,0.883,0.923,0.126,0.417,0.655,
+0.825,0.921,0.556,0.946,1.596,1.618,0.661,0.953,1.513,0.991,
+0.842,0.860,1.094,0.182,0.604,0.838,0.744,1.128,0.591,0.846,
+1.025,1.416,0.900,1.154,0.133,0.185,0.243,0.205,1.052,0.179,
+0.669,0.893,0.776,1.447,1.058,1.276,0.921,0.787,0.495,0.868,
+1.188,1.239,0.805,0.927,0.816,0.083,0.528,0.758,0.890,0.901,
+0.814,1.405,1.154,0.768,0.456,1.048,1.130,1.016,0.817,1.738,
+0.901,0.147,0.420,0.617,0.712,0.835,0.486,0.996,0.077,0.112,
+0.052,0.095,0.092,0.149,0.099,0.147,0.089,0.036,0.079,0.081,
+0.075,0.162,0.069,0.100,0.799,1.024,0.692,0.836,0.103,0.147,
+0.115,0.139,0.957,0.168,0.579,0.822,0.776,1.411,0.768,1.010,
+0.839,0.658,0.502,0.886,1.201,1.616,0.934,1.149,1.043,0.112,
+0.648,0.941,0.991,0.938,0.909,1.636,1.305,0.735,0.516,0.997,
+0.783,0.570,0.488,0.737,0.918,0.090,0.365,0.595,1.029,0.845,
+0.546,1.204,1.259,1.193,0.718,1.068,1.069,1.097,0.913,1.091,
+0.982,0.137,0.614,0.871,0.962,1.640,0.733,1.212,0.824,1.005,
+0.712,0.975,0.079,0.101,0.076,0.101,0.922,0.109,0.688,1.023,
+0.832,1.381,0.896,1.310,1.148,0.790,0.663,1.055,0.982,1.044,
+0.654,0.941,1.185,0.108,0.854,1.384,1.468,1.457,1.434,2.489,
+1.765,1.194,0.803,1.433,1.146,0.921,0.572,0.820,1.045,0.105,
+0.450,0.736,1.040,0.902,0.545,1.060,1.553,1.260,0.710,0.948,
+1.262,1.031,0.772,0.785,1.031,0.142,0.748,0.891,0.785,1.099,
+0.692,0.996,1.106,1.361,0.894,1.340,0.133,0.167,0.117,0.219,
+1.068,0.192,0.668,0.956,0.764,1.373,0.815,1.317,1.080,0.740,
+0.577,1.106,0.987,0.897,0.672,1.000,1.074,0.121,0.727,1.133,
+1.178,1.017,1.097,2.107,0.105,0.097,0.050,0.100,0.127,0.126,
+0.060,0.080,0.072,0.013,0.044,0.065,0.066,0.091,0.051,0.098,
+0.096,0.126,0.049,0.063,0.126,0.183,0.108,0.095,0.088,0.028,
+0.106,0.106,0.060,0.110,0.060,0.075,0.063,0.115,0.058,0.073,
+0.012,0.028,0.021,0.016,0.091,0.030,0.085,0.090,0.058,0.146,
+0.081,0.115,0.084,0.072,0.045,0.087,0.123,0.132,0.080,0.112,
+0.092,0.017,0.071,0.103,0.087,0.090,0.084,0.164,1.122,0.934,
+0.455,0.641,0.984,1.110,0.761,0.786,0.851,0.157,0.468,0.642,
+0.639,0.798,0.572,1.069,0.087,0.127,0.045,0.060,0.078,0.125,
+0.082,0.059,0.077,0.028,0.068,0.069,0.069,0.133,0.076,0.113,
+0.784,1.469,0.711,0.768,0.095,0.158,0.125,0.106,1.037,0.179,
+0.471,0.713,0.562,1.169,0.734,0.930,0.741,0.731,0.452,0.611,
+0.934,1.166,0.824,0.869,1.059,0.138,0.789,0.943,0.767,0.908,
+0.866,1.320,1.037,0.673,0.446,0.809,0.745,0.610,0.464,0.585,
+0.732,0.085,0.440,0.662,0.751,0.725,0.523,1.057,1.257,1.138,
+0.622,0.831,1.021,1.151,0.782,0.707,0.949,0.114,0.636,0.854,
+0.831,1.223,0.791,1.216,1.109,1.395,0.985,1.090,0.132,0.159,
+0.254,0.125,1.168,0.145,0.928,1.184,0.892,1.431,1.082,1.409,
+1.060,0.750,0.641,0.939,0.957,0.959,0.877,0.842,1.294,0.123,
+1.070,1.403,1.309,1.374,1.332,2.068,2.788,1.161,0.934,1.858,
+1.230,0.761,0.547,0.954,1.195,0.112,0.475,0.916,1.572,1.117,
+0.672,1.761,1.373,0.826,0.459,0.774,0.892,0.597,0.433,0.618,
+0.746,0.066,0.461,0.677,0.648,0.645,0.379,0.866,1.110,1.042,
+0.623,1.183,0.099,0.099,0.065,0.156,0.850,0.081,0.466,0.811,
+0.839,0.961,0.670,1.381,1.421,0.765,0.648,1.456,0.909,0.638,
+0.552,1.022,0.955,0.079,0.573,1.129,1.469,1.046,1.018,2.915,
+1.795,1.091,0.680,1.211,1.165,0.890,0.548,0.817,0.873,0.084,
+0.422,0.733,0.857,0.856,0.518,1.178,1.326,1.070,0.439,0.759,
+1.043,0.918,0.536,0.722,0.815,0.085,0.529,0.789,0.646,0.776,
+0.465,0.892,0.884,0.950,0.465,0.831,0.063,0.080,0.048,0.083,
+0.817,0.087,0.501,0.806,0.733,1.030,0.674,1.198,1.081,0.722,
+0.535,1.043,0.961,0.765,0.566,0.979,0.913,0.070,0.589,0.959,
+1.017,0.884,0.856,1.927,1.648,1.406,0.708,1.032,1.254,1.047,
+0.826,1.160,1.173,0.160,0.561,0.994,1.003,1.021,0.792,1.593,
+0.124,0.318,0.058,0.083,0.079,0.097,0.067,0.079,0.074,0.019,
+0.054,0.081,0.083,0.122,0.064,0.133,1.036,1.254,0.732,1.020,
+0.081,0.110,0.080,0.117,1.147,0.134,0.657,1.033,0.820,1.219,
+0.979,1.471,1.176,1.011,0.680,1.094,1.283,1.327,1.022,1.459,
+1.459,0.138,0.973,1.468,1.286,1.138,1.244,2.260,2.448,1.161,
+0.831,1.728,1.181,0.805,0.640,0.939,1.382,0.114,0.638,1.124,
+1.765,1.240,1.005,2.593,1.851,1.662,0.736,1.193,1.436,1.298,
+0.810,0.994,1.264,0.106,0.769,1.362,1.159,1.257,0.870,1.787,
+1.609,1.688,1.133,1.734,0.110,0.112,0.130,0.148,1.706,0.138,
+1.224,2.137,1.581,1.915,1.699,2.688,2.831,1.574,1.312,2.837,
+1.831,1.450,1.327,2.052,2.329,0.143,1.723,3.107,3.017,2.046,
+2.261,3.362,6.782,2.882,3.251,5.188,2.822,1.598,1.601,1.855,
+4.117,0.299,1.512,2.087,4.155,2.781,1.808,3.280,3.328,1.779,
+1.406,1.930,1.876,1.147,1.097,1.120,1.950,0.178,1.161,1.409,
+1.602,1.377,1.110,1.617,3.987,1.561,1.699,2.180,0.223,0.162,
+0.148,0.271,1.370,0.119,0.860,1.219,1.287,1.280,1.042,1.469,
+3.459,1.477,1.731,3.300,2.359,1.659,1.413,2.196,1.682,0.131,
+0.992,1.512,2.412,1.358,1.535,2.712,2.825,1.417,1.041,1.524,
+1.482,0.943,0.854,0.971,1.287,0.127,0.612,0.836,1.132,1.077,
+0.744,1.122,1.785,1.117,0.795,1.013,0.995,0.621,0.635,0.651,
+1.138,0.117,0.695,0.875,0.808,0.817,0.771,0.823,1.343,1.026,
+0.789,1.101,0.106,0.094,0.102,0.159,1.020,0.095,0.622,0.786,
+0.660,0.860,0.708,0.828,1.210,0.715,0.576,1.046,1.065,0.799,
+0.638,0.981,0.984,0.071,0.567,0.886,1.030,0.743,0.794,1.379,
+2.967,0.785,1.887,1.329,1.615,0.907,0.987,1.009,1.485,0.181,
+0.600,0.937,1.349,1.240,0.758,1.388,0.188,0.120,0.096,0.124,
+0.127,0.101,0.087,0.095,0.123,0.022,0.096,0.108,0.169,0.216,
+0.111,0.170,1.041,0.851,0.835,0.871,0.091,0.077,0.078,0.102,
+0.862,0.087,0.579,0.712,0.727,0.786,0.757,0.803,0.972,0.586,
+0.622,0.946,1.073,0.828,0.747,0.990,1.032,0.095,0.662,1.027,
+0.954,0.857,0.908,1.517,3.071,1.070,1.119,2.036,1.202,0.709,
+0.908,0.897,1.294,0.121,0.613,0.924,1.755,1.238,0.954,2.166,
+2.047,1.312,0.965,1.261,1.292,0.878,0.862,0.882,1.186,0.105,
+0.827,1.032,1.359,1.263,0.915,1.452,1.148,0.880,0.845,1.215,
+0.093,0.069,0.087,0.116,0.856,0.068,0.621,0.857,0.874,0.910,
+0.879,1.111,1.689,0.911,0.948,1.834,0.921,0.627,0.717,1.024,
+1.505,0.104,0.905,1.499,2.007,1.471,1.497,3.032,4.640,2.635,
+1.965,3.170,2.220,1.530,1.379,1.559,1.853,0.211,0.902,1.468,
+2.072,1.825,1.207,2.162,2.782,2.177,1.449,1.687,1.751,1.327,
+1.288,1.194,1.918,0.356,1.287,1.496,1.210,1.577,1.203,1.527,
+1.619,1.526,1.619,1.653,0.172,0.199,0.186,0.255,1.011,0.117,
+0.759,0.901,0.918,1.128,0.882,1.206,1.797,0.880,1.022,1.594,
+1.864,1.364,1.147,1.482,1.057,0.101,0.669,0.988,1.252,0.939,
+1.137,2.069,2.481,1.879,0.938,1.386,1.580,1.322,0.933,0.996,
+1.155,0.147,0.598,0.866,0.887,1.063,0.716,1.113,1.584,1.454,
+0.873,0.963,0.934,0.454,0.757,0.733,1.152,0.177,0.860,1.068,
+0.649,0.959,1.023,1.068,1.290,1.545,1.401,1.886,0.152,0.193,
+0.408,0.620,1.062,0.168,0.828,0.974,0.639,1.304,0.902,1.086,
+1.033,0.723,0.618,0.975,1.128,1.022,1.116,1.455,0.794,0.083,
+0.527,0.775,0.697,0.725,0.672,1.248,2.082,1.420,1.054,1.296,
+1.632,1.433,1.532,1.244,1.434,0.218,0.923,1.122,1.042,1.380,
+1.020,1.438,0.156,0.233,0.117,0.131,0.130,0.183,0.172,0.122,
+0.133,0.047,0.200,0.154,0.116,0.237,0.149,0.175,1.340,1.380,
+1.154,1.165,0.134,0.174,0.161,0.156,1.076,0.172,0.960,1.106,
+0.696,1.371,1.219,1.184,1.047,0.720,0.679,0.891,1.236,1.305,
+1.168,1.248,1.166,0.128,0.962,1.269,0.784,0.922,1.086,1.540,
+1.820,1.089,0.857,1.325,0.995,0.775,0.710,0.808,0.903,0.091,
+0.528,0.745,1.117,0.959,0.746,1.530,1.748,1.634,1.045,1.274,
+1.212,1.173,1.253,1.178,1.042,0.124,1.051,1.233,1.057,1.303,
+0.989,1.479,1.008,0.942,0.962,1.211,0.086,0.094,0.090,0.126,
+0.768,0.081,0.744,0.910,0.748,0.952,0.996,1.220,1.258,0.630,
+0.741,1.132,0.946,0.779,0.676,1.013,1.112,0.091,0.879,1.427,
+1.402,1.344,1.389,2.380,3.260,1.815,1.613,2.348,1.187,0.927,
+0.792,0.956,1.327,0.144,0.683,0.973,1.416,1.297,0.835,1.552,
+2.478,2.110,1.416,1.587,1.502,1.249,1.149,1.073,1.890,0.240,
+1.355,1.515,1.300,1.566,0.967,1.310,2.449,2.313,7.992,3.081,
+0.238,0.272,0.447,0.465,1.312,0.172,1.079,1.126,0.825,1.349,
+1.093,1.345,1.718,1.111,1.800,2.413,1.292,1.242,1.423,1.425,
+1.275,0.130,0.875,1.283,1.406,1.108,1.356,2.821,0.230,0.193,
+0.122,0.184,0.168,0.179,0.113,0.134,0.140,0.026,0.086,0.113,
+0.119,0.178,0.116,0.164,0.220,0.254,0.147,0.157,0.193,0.217,
+0.160,0.130,0.207,0.053,0.178,0.178,0.136,0.281,0.132,0.152,
+0.163,0.248,0.378,0.235,0.023,0.048,0.063,0.050,0.187,0.039,
+0.170,0.195,0.102,0.213,0.153,0.156,0.211,0.160,0.182,0.303,
+0.260,0.339,0.303,0.371,0.168,0.026,0.141,0.193,0.178,0.174,
+0.174,0.335,1.466,0.955,0.704,0.799,0.926,0.973,0.893,0.770,
+1.236,0.215,0.910,0.932,0.756,0.976,0.811,1.036,0.131,0.163,
+0.083,0.092,0.091,0.160,0.105,0.072,0.143,0.044,0.126,0.110,
+0.109,0.199,0.128,0.128,0.809,1.422,0.960,0.799,0.109,0.305,
+0.134,0.121,0.900,0.149,0.620,0.713,0.487,0.852,0.777,0.723,
+0.710,0.609,0.617,0.701,0.877,1.378,0.931,1.200,0.845,0.120,
+0.797,0.869,0.626,0.759,0.778,1.010,1.324,0.715,0.589,0.893,
+0.705,0.501,0.430,0.486,0.771,0.083,0.468,0.655,0.842,0.714,
+0.539,1.073,1.720,1.327,0.873,1.109,1.173,1.251,0.885,0.798,
+1.223,0.145,0.942,1.276,1.119,1.324,0.973,1.362,1.014,1.096,
+1.001,0.974,0.102,0.143,0.107,0.112,0.946,0.103,0.752,0.877,
+0.680,0.981,0.817,1.081,1.331,0.841,0.795,0.993,0.961,0.957,
+0.718,0.962,1.156,0.127,0.936,1.259,1.356,1.343,1.212,1.949,
+3.641,1.593,1.407,2.639,1.216,0.749,0.737,0.911,1.321,0.133,
+0.618,1.004,1.913,1.363,0.971,2.179,1.690,0.957,0.756,1.156,
+0.938,0.585,0.585,0.738,1.204,0.131,0.582,0.856,1.260,1.004,
+0.614,1.096,1.753,1.205,1.758,2.263,0.161,0.124,0.134,0.274,
+0.965,0.088,0.585,0.921,0.902,0.947,0.717,1.320,2.188,1.014,
+1.544,3.664,1.392,0.915,1.058,1.844,1.147,0.089,0.741,1.275,
+1.857,1.175,1.380,3.675,2.476,1.377,0.993,1.661,1.372,0.949,
+0.799,0.913,1.175,0.128,0.650,0.993,1.088,1.078,0.816,1.404,
+1.817,1.245,0.795,1.262,1.091,0.854,0.682,0.787,1.412,0.225,
+0.836,1.148,1.058,1.406,0.691,1.015,1.368,1.197,1.240,1.532,
+0.106,0.128,0.119,0.169,1.125,0.111,0.732,1.068,0.896,1.141,
+0.842,1.218,1.612,0.877,1.013,1.889,1.294,1.123,1.101,1.432,
+1.066,0.088,0.706,1.104,1.226,1.018,1.068,2.013,1.735,0.925,
+0.760,1.069,1.228,0.849,0.844,1.015,1.503,0.166,0.803,1.166,
+1.180,1.051,0.967,1.575,0.134,0.118,0.072,0.126,0.087,0.095,
+0.080,0.090,0.121,0.024,0.098,0.122,0.138,0.176,0.109,0.166,
+1.007,1.042,0.794,1.048,0.085,0.105,0.088,0.122,0.975,0.113,
+0.674,0.930,0.760,1.008,0.973,1.234,1.041,0.706,0.755,1.175,
+1.179,1.054,1.009,1.447,1.272,0.107,0.939,1.423,1.187,1.013,
+1.179,2.025,2.743,1.125,0.974,1.771,1.096,0.760,0.727,0.857,
+1.274,0.115,0.663,1.056,1.754,1.205,1.032,2.435,1.504,0.952,
+0.706,1.196,0.939,0.739,0.677,0.823,1.088,0.084,0.776,1.206,
+1.344,1.139,0.883,1.629,1.657,1.395,1.172,1.768,0.128,0.110,
+0.092,0.167,1.397,0.111,1.046,1.445,1.451,1.577,1.391,2.145,
+3.209,1.532,1.596,3.426,1.914,1.565,1.372,2.189,2.522,0.151,
+1.854,3.060,4.322,2.715,3.269,5.291,0.372,0.222,0.203,0.281,
+0.218,0.148,0.136,0.143,0.205,0.024,0.116,0.146,0.216,0.189,
+0.129,0.182,0.259,0.186,0.143,0.157,0.187,0.144,0.144,0.123,
+0.157,0.025,0.139,0.145,0.126,0.144,0.154,0.166,0.179,0.131,
+0.123,0.154,0.023,0.019,0.020,0.025,0.096,0.013,0.084,0.091,
+0.084,0.097,0.099,0.113,0.196,0.100,0.112,0.181,0.202,0.150,
+0.128,0.165,0.121,0.013,0.094,0.123,0.139,0.106,0.129,0.208,
+0.261,0.180,0.166,0.194,0.190,0.144,0.119,0.113,0.148,0.024,
+0.103,0.127,0.117,0.140,0.133,0.138,0.223,0.201,0.128,0.127,
+0.163,0.134,0.141,0.122,0.177,0.044,0.161,0.178,0.106,0.154,
+0.222,0.154,0.124,0.135,0.095,0.107,0.021,0.024,0.026,0.019,
+0.163,0.026,0.098,0.115,0.071,0.135,0.107,0.098,0.106,0.075,
+0.056,0.086,0.134,0.110,0.082,0.112,0.112,0.014,0.080,0.111,
+0.108,0.095,0.114,0.158,0.174,0.101,0.100,0.107,0.172,0.126,
+0.119,0.108,0.134,0.027,0.088,0.099,0.094,0.122,0.090,0.139,
+0.022,0.026,0.026,0.019,0.022,0.027,0.028,0.018,0.020,9.92e-3,
+0.034,0.022,0.015,0.034,0.026,0.025,0.084,0.105,0.098,0.087,
+0.014,0.018,0.018,0.016,0.091,0.019,0.088,0.095,0.057,0.100,
+0.104,0.099,0.075,0.052,0.060,0.077,0.106,0.103,0.100,0.121,
+0.100,0.015,0.089,0.105,0.080,0.092,0.113,0.148,0.199,0.088,
+0.081,0.147,0.099,0.068,0.076,0.086,0.106,0.013,0.060,0.085,
+0.123,0.108,0.082,0.177,0.197,0.156,0.127,0.158,0.154,0.147,
+0.146,0.134,0.129,0.021,0.138,0.152,0.118,0.152,0.123,0.184,
+0.111,0.099,0.118,0.144,0.012,0.013,0.018,0.019,0.093,0.015,
+0.076,0.109,0.075,0.113,0.173,0.150,0.134,0.076,0.084,0.153,
+0.090,0.068,0.086,0.112,0.131,0.014,0.113,0.168,0.156,0.142,
+0.171,0.290,0.292,0.212,0.155,0.215,0.204,0.182,0.153,0.151,
+0.150,0.025,0.088,0.115,0.147,0.157,0.133,0.161,0.244,0.217,
+0.149,0.149,0.211,0.204,0.212,0.162,0.176,0.046,0.180,0.176,
+0.093,0.152,0.287,0.212,0.116,0.153,0.136,0.128,0.021,0.039,
+0.036,0.027,0.093,0.018,0.086,0.086,0.094,0.109,0.103,0.110,
+0.118,0.070,0.075,0.113,0.155,0.151,0.118,0.123,0.100,0.013,
+0.073,0.089,0.092,0.083,0.108,0.162,0.242,0.220,0.122,0.142,
+0.205,0.243,0.147,0.124,0.136,0.032,0.092,0.106,0.087,0.129,
+0.090,0.138,0.211,0.250,0.139,0.131,0.166,0.097,0.166,0.152,
+0.181,0.079,0.178,0.208,0.086,0.187,0.168,0.305,0.124,0.208,
+0.144,0.146,0.027,0.058,0.051,0.045,0.138,0.042,0.118,0.128,
+0.067,0.179,0.130,0.138,0.084,0.073,0.061,0.078,0.121,0.151,
+0.112,0.130,0.092,0.017,0.083,0.101,0.070,0.091,0.092,0.150,
+0.181,0.133,0.109,0.106,0.188,0.199,0.214,0.131,0.153,0.037,
+0.144,0.132,0.082,0.129,0.118,0.144,0.028,0.043,0.026,0.021,
+0.030,0.064,0.075,0.028,0.033,0.027,0.082,0.037,0.013,0.044,
+0.035,0.030,0.121,0.184,0.166,0.129,0.030,0.061,0.058,0.031,
+0.138,0.043,0.163,0.141,0.067,0.157,0.172,0.141,0.085,0.061,
+0.065,0.073,0.137,0.182,0.184,0.149,0.163,0.026,0.147,0.144,
+0.078,0.100,0.151,0.165,0.155,0.107,0.084,0.119,0.103,0.086,
+0.087,0.087,0.088,0.011,0.063,0.074,0.094,0.092,0.078,0.149,
+0.224,0.200,0.143,0.142,0.167,0.200,0.282,0.187,0.139,0.034,
+0.186,0.178,0.096,0.161,0.138,0.169,0.091,0.117,0.117,0.116,
+0.010,0.019,0.018,0.016,0.083,0.016,0.108,0.111,0.065,0.109,
+0.139,0.137,0.102,0.066,0.068,0.096,0.088,0.090,0.081,0.103,
+0.107,0.013,0.100,0.147,0.116,0.136,0.166,0.241,0.195,0.156,
+0.119,0.178,0.115,0.104,0.083,0.100,0.107,0.017,0.068,0.079,
+0.098,0.103,0.081,0.109,0.210,0.224,0.139,0.136,0.200,0.188,
+0.188,0.147,0.194,0.047,0.211,0.187,0.101,0.174,0.120,0.133,
+0.133,0.198,0.358,0.193,0.024,0.041,0.073,0.048,0.154,0.031,
+0.116,0.142,0.060,0.129,0.102,0.112,0.100,0.079,0.101,0.145,
+0.119,0.127,0.162,0.166,0.114,0.017,0.099,0.127,0.100,0.095,
+0.122,0.211,0.016,0.023,0.014,0.016,0.022,0.034,0.026,0.019,
+0.017,8.96e-3,0.017,0.016,0.011,0.022,0.023,0.018,0.028,0.051,
+0.026,0.021,0.049,0.066,0.057,0.032,0.036,0.036,0.062,0.047,
+0.016,0.054,0.027,0.025,0.016,0.048,0.053,0.029,0.010,0.032,
+0.049,0.017,0.048,0.027,0.053,0.053,0.012,0.046,0.036,0.024,
+0.014,0.013,0.013,0.018,0.030,0.047,0.047,0.050,0.022,8.08e-3,
+0.029,0.027,0.013,0.018,0.022,0.028,0.123,0.139,0.088,0.084,
+0.114,0.197,0.171,0.121,0.148,0.044,0.190,0.204,0.070,0.127,
+0.141,0.173,0.019,0.051,0.023,0.014,0.028,0.067,0.054,0.024,
+0.034,0.031,0.068,0.040,0.015,0.041,0.039,0.023,0.104,0.461,
+0.176,0.121,0.037,0.273,0.061,0.038,0.146,0.065,0.154,0.146,
+0.055,0.180,0.145,0.116,0.068,0.086,0.073,0.114,0.138,0.463,
+0.182,0.334,0.122,0.036,0.168,0.164,0.067,0.105,0.133,0.146,
+0.123,0.100,0.065,0.103,0.075,0.069,0.058,0.059,0.093,0.015,
+0.073,0.090,0.079,0.089,0.071,0.123,0.180,0.211,0.133,0.133,
+0.192,0.240,0.190,0.151,0.182,0.046,0.206,0.230,0.117,0.206,
+0.183,0.174,0.102,0.166,0.131,0.118,0.015,0.041,0.027,0.021,
+0.129,0.034,0.136,0.154,0.070,0.156,0.130,0.138,0.101,0.084,
+0.077,0.113,0.103,0.125,0.097,0.133,0.129,0.020,0.147,0.161,
+0.123,0.153,0.164,0.218,0.320,0.178,0.141,0.250,0.201,0.114,
+0.107,0.192,0.183,0.019,0.083,0.153,0.186,0.152,0.115,0.229,
+0.206,0.140,0.101,0.140,0.136,0.095,0.103,0.126,0.144,0.020,
+0.100,0.139,0.131,0.121,0.094,0.148,0.163,0.142,0.157,0.197,
+0.017,0.016,0.017,0.036,0.117,0.014,0.084,0.118,0.090,0.110,
+0.091,0.151,0.199,0.108,0.159,0.343,0.151,0.108,0.121,0.276,
+0.159,0.015,0.099,0.202,0.202,0.139,0.162,0.454,0.332,0.250,
+0.180,0.240,0.233,0.211,0.240,0.183,0.209,0.038,0.165,0.215,
+0.163,0.217,0.168,0.225,0.328,0.297,0.182,0.221,0.272,0.254,
+0.221,0.215,0.281,0.058,0.267,0.315,0.188,0.330,0.179,0.224,
+0.191,0.272,0.239,0.245,0.022,0.040,0.045,0.048,0.255,0.039,
+0.184,0.260,0.139,0.253,0.189,0.223,0.199,0.137,0.158,0.279,
+0.222,0.224,0.261,0.432,0.205,0.025,0.179,0.240,0.181,0.191,
+0.215,0.342,0.169,0.125,0.093,0.117,0.147,0.155,0.150,0.142,
+0.178,0.034,0.142,0.171,0.114,0.138,0.141,0.192,0.018,0.022,
+0.014,0.018,0.020,0.033,0.030,0.020,0.022,8.34e-3,0.026,0.027,
+0.020,0.034,0.025,0.026,0.111,0.184,0.140,0.137,0.016,0.035,
+0.029,0.027,0.148,0.035,0.145,0.167,0.089,0.173,0.169,0.188,
+0.114,0.087,0.097,0.138,0.150,0.165,0.170,0.230,0.181,0.023,
+0.174,0.225,0.148,0.132,0.197,0.276,0.271,0.153,0.120,0.191,
+0.140,0.112,0.109,0.120,0.143,0.018,0.095,0.138,0.162,0.135,
+0.122,0.260,0.209,0.153,0.106,0.149,0.145,0.148,0.160,0.147,
+0.155,0.019,0.146,0.186,0.150,0.162,0.141,0.216,0.172,0.171,
+0.151,0.202,0.016,0.019,0.016,0.024,0.169,0.022,0.159,0.195,
+0.142,0.211,0.202,0.255,0.280,0.154,0.165,0.321,0.200,0.170,
+0.175,0.267,0.249,0.021,0.246,0.347,0.374,0.297,0.375,0.498,
+2.825,1.435,1.418,2.079,1.394,0.947,0.897,0.997,1.358,0.133,
+0.825,1.004,1.575,1.271,0.882,1.390,1.547,1.030,0.730,0.989,
+1.072,0.711,0.797,0.721,0.928,0.102,0.726,0.732,0.760,0.827,
+0.661,0.870,1.101,0.996,0.772,1.108,0.111,0.095,0.089,0.148,
+0.857,0.082,0.599,0.806,0.571,0.729,0.644,0.833,1.184,0.592,
+0.545,1.051,0.913,0.668,0.537,0.825,0.825,0.068,0.508,0.673,
+0.874,0.505,0.722,1.262,1.887,1.209,0.731,1.125,1.234,0.984,
+0.765,0.780,0.965,0.114,0.527,0.698,0.779,0.890,0.547,0.814,
+1.443,1.137,0.662,0.753,1.063,0.648,0.800,0.650,1.119,0.154,
+0.903,1.012,0.668,0.826,0.588,0.676,1.044,1.192,0.813,0.972,
+0.120,0.128,0.126,0.152,1.018,0.147,0.887,1.567,0.644,1.061,
+0.872,0.921,0.797,0.522,0.418,0.628,0.927,0.748,0.597,0.793,
+0.766,0.068,0.516,0.761,0.699,0.575,0.614,1.076,1.625,0.827,
+0.714,1.173,1.463,1.229,1.111,1.175,1.393,0.186,1.570,1.110,
+1.000,1.059,0.936,1.383,0.180,0.172,0.127,0.155,0.174,0.169,
+0.187,0.154,0.171,0.044,0.919,0.224,0.159,0.309,0.212,0.248,
+0.991,0.946,1.597,1.394,0.121,0.107,0.222,0.206,0.936,0.132,
+0.866,0.878,0.588,0.953,0.947,0.916,0.765,0.495,0.598,0.763,
+1.135,0.909,1.300,1.217,0.821,0.090,0.772,0.898,0.803,0.723,
+0.899,1.241,1.456,0.617,0.525,0.979,0.696,0.517,0.550,0.581,
+0.754,0.088,0.540,0.644,1.026,0.902,0.866,1.294,1.177,0.919,
+0.684,0.896,0.928,0.737,0.802,0.716,0.844,0.103,1.885,1.073,
+0.866,1.142,0.834,1.406,0.871,0.918,1.076,1.164,0.096,0.082,
+0.107,0.140,0.830,0.093,0.779,1.031,0.731,1.016,1.013,1.210,
+1.035,0.599,0.602,1.104,0.698,0.509,0.677,0.903,1.026,0.091,
+0.785,1.262,1.449,1.175,1.264,2.326,0.182,0.135,0.106,0.140,
+0.133,0.115,0.103,0.110,0.099,0.016,0.065,0.078,0.104,0.113,
+0.086,0.116,0.163,0.154,0.116,0.133,0.166,0.152,0.217,0.138,
+0.120,0.034,0.137,0.113,0.083,0.121,0.112,0.116,0.079,0.106,
+0.077,0.088,0.015,0.024,0.022,0.021,0.073,0.018,0.074,0.085,
+0.048,0.090,0.076,0.090,0.080,0.055,0.049,0.075,0.096,0.090,
+0.071,0.087,0.068,9.82e-3,0.054,0.068,0.071,0.058,0.075,0.134,
+0.130,0.134,0.064,0.079,0.109,0.113,0.100,0.073,0.074,0.018,
+0.054,0.059,0.049,0.073,0.051,0.066,0.142,0.166,0.091,0.080,
+0.143,0.102,0.158,0.093,0.137,0.053,0.140,0.123,0.063,0.117,
+0.089,0.094,0.077,0.136,0.088,0.089,0.020,0.040,0.044,0.027,
+0.122,0.047,0.126,0.143,0.058,0.142,0.111,0.097,0.065,0.049,
+0.043,0.050,0.078,0.082,0.072,0.075,0.060,0.011,0.056,0.068,
+0.048,0.053,0.057,0.089,0.127,0.098,0.116,0.089,0.142,0.168,
+0.199,0.116,0.130,0.035,0.598,0.149,0.075,0.120,0.131,0.111,
+0.022,0.039,0.029,0.018,0.035,0.056,0.068,0.026,0.036,0.031,
+0.862,0.055,0.013,0.043,0.063,0.027,0.090,0.129,0.158,0.123,
+0.024,0.042,0.072,0.028,0.130,0.051,0.213,0.134,0.061,0.155,
+0.162,0.120,0.070,0.057,0.059,0.069,0.112,0.131,0.160,0.120,
+0.096,0.022,0.149,0.108,0.061,0.090,0.109,0.125,0.138,0.115,
+0.085,0.117,0.086,0.077,0.075,0.073,0.084,0.012,0.089,0.081,
+0.099,0.110,0.109,0.166,0.172,0.177,0.127,0.139,0.175,0.193,
+0.192,0.153,0.144,0.036,0.820,0.188,0.114,0.199,0.184,0.243,
+0.087,0.114,0.119,0.125,0.011,0.020,0.021,0.020,0.101,0.024,
+0.120,0.134,0.081,0.135,0.165,0.157,0.096,0.069,0.061,0.094,
+0.077,0.079,0.077,0.095,0.101,0.013,0.098,0.135,0.120,0.121,
+0.142,0.224,1.438,1.220,0.859,1.369,1.035,0.854,0.650,0.782,
+0.870,0.096,0.568,0.704,0.723,0.617,0.494,0.747,1.609,1.302,
+0.803,0.960,1.580,1.080,1.447,1.000,1.335,0.185,1.605,1.305,
+0.732,1.003,0.840,0.937,0.961,1.280,0.931,0.969,0.145,0.190,
+0.166,0.215,0.997,0.172,1.055,1.040,0.567,1.037,0.787,0.896,
+0.718,0.499,0.395,0.680,0.771,0.697,0.568,0.774,0.858,0.096,
+0.718,0.927,0.783,0.590,0.762,1.247,0.122,0.121,0.064,0.095,
+0.165,0.171,0.109,0.109,0.086,0.022,0.098,0.092,0.057,0.078,
+0.057,0.085,0.151,0.160,0.089,0.082,0.330,0.184,0.196,0.126,
+0.156,0.058,0.562,0.256,0.066,0.119,0.101,0.083,0.089,0.171,
+0.107,0.094,0.030,0.056,0.055,0.032,0.189,0.060,0.212,0.251,
+0.065,0.161,0.126,0.119,0.087,0.064,0.046,0.074,0.126,0.142,
+0.102,0.129,0.103,0.019,0.099,0.147,0.074,0.070,0.078,0.127,
+1.529,0.854,0.661,0.604,1.126,1.167,1.112,0.788,1.044,0.196,
+1.101,0.861,0.575,0.755,1.107,0.857,0.123,0.178,0.126,0.092,
+0.139,0.211,0.193,0.090,0.144,0.064,0.276,0.145,0.086,0.186,
+0.293,0.127,1.031,1.030,1.052,0.843,0.162,0.174,0.240,0.150,
+0.710,0.154,0.351,0.372,0.363,0.610,0.727,0.623,0.534,0.425,
+0.438,0.411,0.786,0.860,0.921,0.716,0.758,0.121,0.946,0.796,
+0.468,0.580,0.868,0.895,0.942,0.541,0.451,0.620,0.600,0.458,
+0.359,0.385,0.571,0.073,0.438,0.511,0.482,0.494,0.484,0.642,
+1.081,1.010,0.737,0.727,1.013,1.154,0.884,0.641,0.916,0.147,
+1.063,0.969,0.629,1.041,1.284,0.853,0.838,0.981,0.821,0.846,
+0.103,0.145,0.128,0.122,1.010,0.149,1.079,1.023,0.551,1.020,
+0.944,0.911,0.659,0.461,0.409,0.573,0.684,0.653,0.558,0.640,
+0.847,0.090,0.933,0.968,0.757,0.804,0.965,1.104,1.598,0.815,
+0.602,1.176,0.798,0.537,0.453,0.666,0.801,0.084,0.418,0.613,
+0.909,0.694,0.521,0.991,1.178,0.699,0.420,0.683,0.804,0.433,
+0.507,0.563,0.646,0.056,0.387,0.507,0.512,0.482,0.378,0.576,
+0.826,0.770,0.508,0.770,0.091,0.079,0.063,0.125,0.669,0.077,
+0.464,0.772,0.635,0.734,0.549,0.819,0.915,0.517,0.398,0.802,
+0.714,0.492,0.408,0.729,0.625,0.053,0.369,0.645,0.781,0.566,
+0.584,1.273,1.590,1.089,0.675,1.015,1.161,1.049,0.835,0.821,
+0.822,0.099,0.639,0.768,0.663,0.714,0.455,0.841,1.481,1.220,
+0.677,0.910,1.451,1.045,1.073,0.988,1.077,0.143,1.492,1.302,
+0.607,0.823,0.603,0.753,0.884,1.192,0.816,0.872,0.106,0.159,
+0.128,0.143,1.051,0.166,1.023,1.339,0.632,1.182,0.925,1.075,
+1.154,0.742,0.521,0.809,1.061,0.959,0.758,1.067,0.813,0.085,
+0.677,1.018,0.707,0.701,0.702,1.246,1.486,1.019,0.632,0.800,
+1.190,1.252,1.312,1.077,1.104,0.154,0.855,0.965,0.801,0.913,
+0.916,1.249,0.135,0.134,0.094,0.103,0.134,0.187,0.249,0.132,
+0.110,0.035,0.189,0.141,0.098,0.279,0.160,0.141,1.053,1.196,
+1.101,0.990,0.123,0.138,0.319,0.168,1.533,0.274,1.035,1.218,
+0.756,1.351,1.207,1.180,0.805,0.622,0.619,0.705,1.074,1.026,
+1.375,1.207,1.065,0.121,1.058,1.463,0.807,0.832,1.142,1.525,
+1.305,0.651,0.504,0.864,0.709,0.536,0.487,0.512,0.714,0.074,
+0.437,0.602,0.783,0.578,0.536,1.058,1.229,0.886,0.629,0.867,
+0.952,0.970,0.877,0.726,0.766,0.081,0.710,0.878,0.706,0.843,
+0.788,0.950,1.019,1.037,0.821,1.049,0.094,0.102,0.107,0.120,
+1.146,0.130,1.062,1.305,0.826,1.148,1.157,1.315,1.206,0.673,
+0.648,1.165,0.961,0.828,0.861,1.133,1.127,0.093,1.080,1.572,
+1.363,1.082,1.380,1.877,3.190,1.434,1.248,2.380,1.319,0.787,
+0.681,0.913,1.219,0.113,0.539,0.945,1.742,1.341,0.786,1.640,
+1.390,0.748,0.661,0.825,0.791,0.459,0.486,0.517,0.792,0.063,
+0.461,0.597,0.757,0.711,0.488,0.817,0.980,0.739,0.636,0.962,
+0.095,0.071,0.064,0.119,0.593,0.051,0.358,0.533,0.531,0.609,
+0.543,0.851,1.490,0.679,1.038,1.333,1.005,0.609,0.553,0.851,
+0.767,0.058,0.481,0.763,1.117,0.672,0.809,1.948,1.906,0.967,
+0.637,1.135,0.959,0.637,0.435,0.602,0.724,0.068,0.350,0.584,
+0.741,0.674,0.416,0.810,0.997,0.589,0.383,0.575,0.624,0.370,
+0.346,0.384,0.626,0.053,0.354,0.508,0.558,0.492,0.365,0.525,
+0.720,0.554,0.383,0.590,0.054,0.048,0.037,0.061,0.586,0.062,
+0.302,0.500,0.531,0.639,0.413,0.597,0.694,0.383,0.324,0.574,
+0.564,0.391,0.295,0.490,0.521,0.035,0.293,0.494,0.603,0.437,
+0.459,0.942,1.549,0.735,0.577,0.877,1.131,1.413,0.692,0.885,
+0.913,0.110,0.421,0.697,0.960,0.792,0.550,1.177,0.109,0.076,
+0.054,0.084,0.088,0.088,0.060,0.073,0.084,0.013,0.092,0.083,
+0.124,0.144,0.076,0.141,0.686,0.535,0.599,0.796,0.065,0.060,
+0.056,0.086,0.575,0.060,0.324,0.494,0.539,0.662,0.517,0.698,
+0.752,0.452,0.539,0.763,0.837,0.611,0.569,0.813,0.747,0.071,
+0.420,0.719,0.761,0.620,0.665,1.240,2.041,0.733,0.615,1.336,
+0.807,0.639,0.532,0.821,0.927,0.086,0.450,0.808,1.517,0.937,
+0.669,1.635,1.207,0.704,0.518,0.833,0.743,0.534,0.473,0.580,
+0.829,0.065,0.576,0.804,1.012,1.035,0.602,1.270,0.827,0.623,
+0.639,0.928,0.061,0.050,0.060,0.083,0.606,0.050,0.417,0.646,
+0.628,0.740,0.678,0.995,1.373,0.669,0.714,1.598,0.800,0.518,
+0.549,0.901,1.109,0.076,0.711,1.249,1.546,1.175,1.313,2.843,
+2.956,1.657,1.345,2.246,1.655,1.170,1.048,1.287,1.253,0.136,
+0.648,1.150,1.538,1.400,0.989,1.908,1.866,1.214,0.978,1.298,
+1.309,0.953,1.452,1.072,1.208,0.128,0.894,1.089,0.921,0.995,
+0.838,1.216,1.101,1.006,0.769,1.149,0.099,0.108,0.093,0.143,
+0.793,0.092,0.568,0.840,0.636,0.890,0.785,1.226,1.242,0.676,
+0.721,1.113,1.184,0.888,0.699,1.012,0.775,0.069,0.492,0.875,
+0.965,0.755,0.888,2.011,2.025,1.383,0.808,1.272,1.349,1.054,
+0.790,0.998,0.908,0.106,0.496,0.777,0.917,0.852,0.603,1.099,
+1.515,1.203,0.734,0.967,1.361,0.781,0.894,0.789,1.104,0.164,
+0.752,1.018,0.895,0.970,0.691,0.920,0.952,0.992,0.643,0.996,
+0.093,0.107,0.088,0.120,0.959,0.138,0.642,0.969,0.698,1.079,
+0.790,1.203,0.816,0.530,0.457,0.726,0.856,0.727,0.508,0.775,
+0.657,0.059,0.455,0.800,0.688,0.613,0.607,1.194,1.543,0.944,
+1.174,1.062,1.362,1.175,1.517,1.238,1.091,0.176,1.379,1.482,
+0.899,1.022,0.850,1.446,0.101,0.120,0.084,0.096,0.119,0.149,
+0.141,0.115,0.109,0.034,0.682,0.169,0.097,0.166,0.135,0.143,
+0.966,0.945,0.889,1.007,0.102,0.118,0.126,0.134,0.967,0.160,
+0.815,1.068,0.708,1.225,1.048,1.284,0.893,0.577,0.590,0.946,
+1.176,1.124,1.054,1.238,0.984,0.109,0.843,1.211,0.862,0.914,
+1.056,1.819,1.652,0.986,0.828,1.310,0.893,0.702,0.749,0.873,
+0.950,0.093,0.633,1.028,1.147,0.954,0.786,1.752,1.531,1.316,
+0.836,1.212,1.157,1.122,1.036,1.168,1.032,0.125,1.675,1.397,
+1.059,1.437,1.050,1.588,0.960,0.927,0.877,1.169,0.078,0.086,
+0.087,0.112,0.819,0.089,0.773,1.080,0.745,0.961,1.140,1.556,
+1.200,0.732,0.720,1.133,0.975,0.855,0.679,1.039,0.991,0.088,
+0.805,1.431,1.289,1.068,1.361,2.601,1.994,1.228,0.902,1.496,
+1.119,0.837,0.693,0.892,1.143,0.107,0.553,0.817,1.185,0.827,
+0.572,1.024,1.702,1.281,0.709,1.003,1.450,0.952,0.847,0.822,
+1.276,0.143,1.012,1.119,0.983,1.101,0.803,1.097,0.969,1.265,
+0.960,1.103,0.119,0.154,0.133,0.178,0.931,0.151,0.721,0.911,
+0.756,1.251,1.014,1.114,0.984,0.670,0.576,1.009,0.918,0.810,
+0.646,0.906,0.985,0.096,0.731,1.092,1.081,0.841,1.202,2.078,
+0.135,0.120,0.085,0.139,0.137,0.128,0.097,0.105,0.083,0.014,
+0.061,0.084,0.082,0.098,0.064,0.109,0.144,0.150,0.073,0.087,
+0.315,0.180,0.124,0.115,0.126,0.034,0.155,0.145,0.090,0.138,
+0.099,0.102,0.071,0.117,0.073,0.080,0.017,0.029,0.027,0.019,
+0.112,0.031,0.116,0.128,0.067,0.148,0.117,0.121,0.091,0.073,
+0.052,0.097,0.128,0.132,0.085,0.136,0.106,0.014,0.076,0.119,
+0.093,0.086,0.098,0.165,1.414,0.900,0.701,0.728,1.237,1.182,
+1.809,0.988,0.964,0.174,0.818,0.869,0.725,0.899,1.193,1.153,
+0.107,0.121,0.070,0.072,0.137,0.141,0.121,0.076,0.099,0.033,
+0.138,0.097,0.100,0.167,0.313,0.133,0.960,1.164,0.945,0.917,
+0.150,0.182,0.138,0.126,1.052,0.159,0.536,0.789,0.586,1.016,
+0.943,0.979,0.813,0.718,0.565,0.702,1.428,1.557,0.954,0.968,
+0.995,0.138,0.957,1.082,0.756,0.849,0.983,1.341,1.307,0.765,
+0.544,0.889,0.767,0.644,0.604,0.606,0.781,0.090,0.583,0.780,
+0.774,0.757,0.645,1.084,1.455,1.178,0.776,1.022,1.151,1.196,
+0.864,0.786,1.111,0.132,1.163,1.291,1.042,1.428,1.504,1.412,
+1.050,1.133,0.825,1.050,0.088,0.119,0.096,0.109,1.123,0.120,
+0.932,1.217,0.829,1.242,1.194,1.397,1.191,0.774,0.701,0.937,
+0.938,0.951,0.740,0.950,1.271,0.115,1.216,1.572,1.215,1.171,
+1.414,2.022,3.219,1.320,0.961,1.855,1.131,0.691,0.591,0.879,
+1.262,0.131,0.664,0.959,1.515,1.093,0.819,1.670,1.547,0.846,
+0.467,0.817,0.918,0.555,0.446,0.668,1.008,0.079,0.529,0.731,
+0.806,0.677,0.464,0.827,1.228,1.030,0.675,1.265,0.145,0.128,
+0.082,0.195,0.864,0.084,0.502,0.824,0.993,1.032,0.706,1.189,
+1.397,0.609,0.603,1.323,0.883,0.547,0.492,0.908,0.858,0.062,
+0.529,0.962,1.328,0.860,1.051,2.742,1.949,1.158,1.050,1.305,
+1.146,1.012,0.937,0.894,0.843,0.086,0.558,0.822,0.921,0.797,
+0.652,1.190,1.516,1.057,0.569,0.885,1.266,0.883,0.650,0.792,
+1.003,0.100,0.738,1.030,0.765,0.856,0.574,0.941,0.910,0.893,
+0.568,0.927,0.068,0.085,0.058,0.098,0.882,0.095,0.784,1.017,
+0.770,1.058,0.835,1.326,1.068,0.652,0.582,1.032,0.889,0.697,
+0.578,0.960,0.889,0.062,0.646,1.010,1.023,0.732,0.858,1.790,
+1.970,1.060,0.813,1.070,1.459,1.145,1.098,1.278,1.327,0.153,
+0.775,1.160,1.217,1.105,1.041,1.855,0.141,0.128,0.067,0.102,
+0.131,0.175,0.101,0.112,0.107,0.018,0.087,0.113,0.132,0.167,
+0.118,0.174,1.337,1.341,0.928,1.213,0.108,0.140,0.123,0.150,
+1.448,0.173,0.920,1.317,1.095,1.502,1.355,1.765,1.363,0.973,
+0.784,1.212,1.463,1.287,1.177,1.561,1.570,0.127,1.132,1.888,
+1.323,1.178,1.265,2.417,3.156,1.268,0.853,1.681,1.221,0.882,
+0.673,0.908,1.404,0.119,0.723,1.158,1.866,1.249,1.072,2.666,
+1.986,1.439,0.745,1.233,1.560,2.062,0.835,1.003,1.344,0.113,
+0.908,1.392,1.449,1.319,1.080,1.860,1.714,1.506,1.065,1.682,
+0.109,0.133,0.083,0.145,1.583,0.126,1.201,1.772,1.639,1.862,
+1.708,2.496,3.029,1.368,1.203,2.653,1.625,1.283,1.180,1.840,
+2.137,0.136,1.666,2.800,3.258,2.015,2.215,4.126,6.447,3.764,
+3.248,7.668,3.362,1.990,1.798,2.712,3.945,0.318,1.656,2.847,
+7.367,4.328,2.435,5.212,3.892,1.807,1.534,2.216,1.960,1.139,
+0.948,1.183,2.075,0.132,0.998,1.508,2.042,1.525,1.181,2.112,
+3.122,1.802,1.647,2.980,0.222,0.159,0.127,0.313,1.505,0.110,
+0.801,1.239,1.698,1.550,1.228,2.106,7.188,2.146,2.375,5.541,
+3.404,2.100,1.822,3.422,2.269,0.151,1.155,2.030,3.934,2.022,
+2.105,4.359,3.590,1.496,1.098,2.034,1.523,0.863,0.715,0.951,
+1.438,0.111,0.578,0.940,1.502,1.145,0.724,1.426,1.997,0.989,
+0.707,1.014,0.964,0.564,0.493,0.575,1.048,0.068,0.500,0.729,
+0.891,0.683,0.559,0.821,1.630,1.054,0.824,1.377,0.101,0.071,
+0.058,0.114,1.299,0.083,0.530,0.786,0.821,0.772,0.624,1.001,
+1.768,0.881,0.679,1.349,1.371,0.892,0.610,1.004,1.014,0.060,
+0.439,0.802,1.186,0.808,0.762,1.559,2.765,1.166,1.067,1.837,
+1.528,0.844,0.878,1.123,1.467,0.140,0.612,1.060,1.745,1.236,
+0.951,2.136,0.196,0.123,0.085,0.153,0.108,0.082,0.074,0.092,
+0.110,0.012,0.070,0.104,0.185,0.178,0.109,0.212,1.186,0.842,
+0.777,1.026,0.089,0.058,0.054,0.096,0.833,0.064,0.439,0.649,
+0.811,0.770,0.682,0.989,1.408,0.750,0.735,1.295,1.318,0.838,
+0.747,1.125,1.132,0.086,0.612,1.009,1.280,1.073,1.061,2.105,
+5.254,1.593,1.644,5.034,1.702,0.907,1.182,1.604,2.144,0.171,
+0.907,1.521,3.381,1.768,1.417,3.645,2.524,1.410,1.153,1.870,
+1.328,0.842,0.950,1.107,1.408,0.086,0.840,1.349,1.857,1.396,
+1.135,2.061,1.710,1.187,1.147,1.799,0.118,0.080,0.096,0.154,
+1.237,0.078,0.920,1.141,1.308,1.221,1.197,1.737,3.035,1.446,
+1.487,3.496,1.617,1.034,1.054,1.825,2.181,0.120,1.228,2.162,
+3.767,2.404,2.488,5.812,4.093,1.872,1.497,2.902,1.664,1.026,
+0.836,1.211,1.408,0.117,0.564,1.098,1.902,1.432,0.919,2.000,
+2.012,1.150,0.905,1.312,0.991,0.613,0.575,0.710,0.915,0.085,
+0.498,0.783,0.846,0.768,0.589,1.050,1.314,0.906,0.851,1.322,
+0.106,0.094,0.074,0.137,0.746,0.063,0.383,0.561,0.740,0.781,
+0.553,0.973,1.727,1.092,0.910,1.794,1.396,0.956,0.783,1.174,
+0.863,0.066,0.425,0.778,1.267,0.821,0.902,2.008,2.113,1.251,
+0.671,1.287,1.085,0.736,0.488,0.709,0.779,0.068,0.359,0.623,
+0.835,0.728,0.461,1.033,1.090,0.775,0.413,0.644,0.574,0.249,
+0.323,0.411,0.576,0.052,0.344,0.519,0.498,0.499,0.420,0.674,
+0.993,0.820,0.615,1.039,0.071,0.064,0.085,0.161,0.653,0.081,
+0.347,0.550,0.521,0.671,0.434,0.732,1.031,0.651,0.481,0.921,
+0.775,0.599,0.464,0.747,0.616,0.044,0.303,0.562,0.685,0.555,
+0.460,1.108,1.773,1.045,0.783,1.248,1.105,0.738,0.876,0.939,
+1.039,0.105,0.556,0.881,1.020,0.869,0.744,1.427,0.110,0.126,
+0.058,0.093,0.061,0.067,0.061,0.067,0.068,0.012,0.066,0.080,
+0.083,0.099,0.066,0.113,1.110,0.793,0.707,0.926,0.072,0.076,
+0.051,0.076,0.610,0.056,0.395,0.571,0.604,0.641,0.580,0.807,
+1.056,0.626,0.637,1.006,0.917,0.864,0.644,0.897,0.938,0.068,
+0.531,0.869,0.838,0.703,0.796,1.439,1.828,1.002,0.796,1.457,
+0.890,0.657,0.573,0.770,0.863,0.070,0.502,0.780,1.293,0.786,
+0.688,1.689,1.269,1.020,0.632,0.991,0.691,0.564,0.588,0.766,
+0.608,0.051,0.545,0.835,0.769,0.729,0.615,1.087,0.985,0.629,
+0.750,1.055,0.056,0.047,0.044,0.077,0.588,0.044,0.511,0.642,
+0.697,0.662,0.718,1.039,1.330,0.582,0.754,1.313,0.833,0.667,
+0.544,0.961,0.983,0.065,0.618,1.110,1.565,1.308,1.311,2.646,
+4.097,1.704,1.252,2.747,1.184,0.816,0.613,1.044,1.308,0.123,
+0.596,1.060,1.818,1.449,0.795,1.907,2.192,1.304,0.829,1.462,
+1.030,0.677,0.644,0.817,1.231,0.098,0.653,0.917,1.406,1.137,
+0.766,1.343,1.737,1.339,2.083,2.250,0.144,0.120,0.127,0.281,
+0.934,0.081,0.477,0.697,0.845,1.014,0.610,1.157,2.221,1.163,
+1.660,3.353,1.346,0.946,1.030,1.895,1.142,0.095,0.636,1.193,
+1.798,1.243,1.312,3.636,0.262,0.151,0.084,0.182,0.116,0.098,
+0.059,0.099,0.112,0.015,0.053,0.092,0.143,0.145,0.082,0.168,
+0.175,0.132,0.066,0.111,0.103,0.089,0.062,0.074,0.115,0.013,
+0.069,0.091,0.136,0.126,0.075,0.137,0.135,0.124,0.110,0.161,
+0.010,0.013,0.012,0.018,0.102,0.012,0.058,0.083,0.092,0.115,
+0.065,0.126,0.254,0.148,0.141,0.365,0.197,0.178,0.137,0.289,
+0.124,0.012,0.076,0.137,0.190,0.154,0.137,0.335,1.535,0.830,
+0.582,0.904,0.839,0.664,0.620,0.722,1.188,0.132,0.621,0.862,
+1.037,0.864,0.744,1.255,0.111,0.091,0.049,0.078,0.059,0.062,
+0.047,0.051,0.088,0.011,0.051,0.066,0.119,0.113,0.070,0.111,
+0.897,0.952,0.600,0.765,0.084,0.089,0.056,0.079,0.660,0.070,
+0.303,0.445,0.498,0.614,0.477,0.716,0.995,0.728,0.627,0.910,
+0.886,0.832,0.617,0.936,0.883,0.081,0.553,0.790,0.805,0.721,
+0.753,1.290,1.575,0.768,0.606,1.160,0.761,0.481,0.446,0.573,
+1.003,0.092,0.488,0.826,1.390,0.936,0.617,1.493,1.498,0.947,
+0.621,1.045,0.838,0.660,0.565,0.624,0.940,0.076,0.602,0.890,
+1.274,1.016,0.708,1.333,1.058,0.878,0.651,1.006,0.080,0.075,
+0.053,0.085,0.780,0.061,0.490,0.727,0.775,0.872,0.668,1.146,
+1.562,0.871,0.869,1.353,1.018,0.808,0.671,1.038,1.245,0.101,
+0.830,1.287,1.785,1.375,1.355,2.670,5.430,2.234,1.869,4.444,
+1.629,0.950,0.890,1.315,1.848,0.141,0.821,1.448,3.391,1.910,
+1.406,3.618,2.085,1.021,0.790,1.614,0.978,0.525,0.545,0.809,
+1.151,0.074,0.585,0.931,1.505,0.915,0.780,1.574,2.300,1.406,
+1.944,3.209,0.157,0.108,0.116,0.324,1.270,0.089,0.760,1.129,
+1.385,1.145,0.881,1.890,4.730,1.978,2.975,10.2,2.189,1.277,
+1.512,3.549,1.859,0.124,1.114,2.055,3.597,1.892,2.245,6.793,
+3.062,1.464,0.991,2.172,1.364,0.868,0.611,1.004,1.363,0.098,
+0.651,1.110,1.543,1.166,0.867,1.770,1.834,0.960,0.592,1.118,
+0.939,0.627,0.486,0.682,1.075,0.080,0.582,0.943,1.187,0.926,
+0.613,1.164,1.647,1.137,0.974,1.869,0.088,0.085,0.062,0.146,
+1.200,0.078,0.573,0.979,1.119,1.052,0.705,1.442,2.387,1.166,
+1.278,3.346,1.566,1.144,1.012,2.245,1.355,0.077,0.705,1.350,
+1.826,1.331,1.211,2.836,2.098,1.073,0.838,1.491,1.330,0.797,
+0.730,1.128,1.564,0.136,0.779,1.234,1.481,1.064,1.053,1.939,
+0.134,0.096,0.063,0.126,0.070,0.069,0.062,0.078,0.113,0.012,
+0.064,0.099,0.132,0.121,0.085,0.152,1.336,1.172,0.833,1.379,
+0.078,0.069,0.057,0.111,0.994,0.087,0.582,0.921,0.920,0.982,
+0.833,1.456,1.484,0.925,0.942,1.770,1.431,1.013,0.958,1.593,
+1.430,0.091,0.876,1.480,1.452,1.121,1.415,2.526,3.898,1.607,
+1.493,3.178,1.590,0.942,0.966,1.331,1.897,0.141,0.870,1.583,
+3.112,1.693,1.467,3.856,2.019,1.173,0.887,1.682,1.135,0.787,
+0.837,1.040,1.266,0.076,0.816,1.356,1.670,1.264,1.033,2.144,
+2.206,1.654,1.407,2.479,0.133,0.099,0.085,0.181,1.771,0.110,
+0.996,1.659,2.003,1.916,1.552,2.684,4.658,2.166,2.356,5.488,
+2.728,1.972,1.927,3.297,3.278,0.163,2.019,3.710,6.525,3.855,
+4.323,7.810,4.702,2.747,2.390,4.147,2.588,1.500,1.308,1.690,
+2.257,0.214,1.083,1.742,3.461,2.468,1.665,2.864,2.978,1.644,
+1.279,1.718,1.698,1.049,0.962,1.046,1.455,0.130,1.009,1.254,
+1.395,1.201,1.114,1.566,1.941,1.297,1.123,1.872,0.178,0.124,
+0.109,0.206,1.104,0.095,0.589,0.845,1.069,1.059,0.943,1.369,
+2.916,1.267,1.176,2.483,2.805,1.537,1.135,1.765,1.399,0.111,
+0.799,1.297,2.059,1.238,1.412,2.870,3.351,1.730,1.384,1.982,
+1.722,1.078,0.829,1.061,1.396,0.154,0.726,1.102,1.652,1.387,
+0.978,1.727,2.263,1.230,0.906,1.195,1.192,0.727,0.799,0.851,
+1.192,0.122,0.844,1.071,0.985,0.906,0.887,1.079,1.287,1.050,
+0.716,1.103,0.126,0.093,0.083,0.120,2.374,0.180,0.607,0.806,
+0.909,1.035,0.796,0.988,1.292,0.761,0.543,1.001,1.348,0.850,
+0.597,0.966,1.119,0.077,0.568,0.873,1.178,0.857,0.943,1.712,
+2.081,1.052,0.870,1.340,1.610,1.023,0.957,1.157,1.322,0.164,
+0.676,0.970,1.266,1.152,0.920,1.837,0.157,0.131,0.089,0.141,
+0.120,0.120,0.101,0.121,0.103,0.020,0.087,0.113,0.123,0.172,
+0.114,0.183,0.969,0.810,0.721,0.886,0.095,0.079,0.075,0.115,
+0.905,0.088,0.503,0.700,0.719,0.837,0.844,1.140,1.081,0.611,
+0.609,1.050,1.196,0.884,0.817,1.185,1.081,0.098,0.699,0.978,
+1.088,1.001,1.143,1.911,2.517,0.918,0.824,1.811,1.151,0.645,
+0.648,0.928,1.215,0.129,0.583,0.950,1.624,1.108,0.818,1.952,
+1.881,1.171,0.921,1.630,1.213,0.915,0.869,1.155,1.001,0.097,
+0.776,1.164,1.115,1.147,0.912,1.606,1.137,0.871,0.832,1.317,
+0.093,0.068,0.095,0.143,0.969,0.107,0.556,0.835,0.827,1.005,
+1.038,1.295,1.650,0.862,0.830,1.775,0.991,0.690,0.743,1.166,
+1.358,0.101,0.976,1.503,1.916,1.462,1.719,3.253,3.457,2.036,
+1.524,2.569,1.889,1.339,1.045,1.215,1.361,0.143,0.704,1.025,
+1.824,1.547,1.197,1.827,2.299,1.499,0.990,1.348,1.401,1.042,
+0.972,0.979,1.043,0.126,0.777,1.069,0.831,0.956,0.999,1.217,
+1.115,0.987,0.871,1.171,0.111,0.121,0.093,0.140,0.680,0.076,
+0.435,0.544,0.780,0.777,0.693,0.962,1.464,0.828,0.719,1.384,
+1.453,1.342,0.748,1.053,0.837,0.077,0.482,0.743,1.189,0.830,
+0.896,1.797,2.226,1.556,0.868,1.398,1.507,1.331,0.765,0.938,
+0.931,0.114,0.546,0.781,0.901,0.988,0.644,1.278,1.672,1.304,
+0.733,0.999,1.053,0.483,0.738,0.854,0.905,0.136,0.686,0.901,
+0.652,0.880,0.692,1.098,1.071,1.042,0.680,0.970,0.104,0.129,
+0.087,0.122,0.856,0.119,0.503,0.672,0.558,0.947,0.683,0.920,
+0.860,0.627,0.513,0.783,0.890,0.909,0.574,0.803,0.732,0.064,
+0.441,0.704,0.688,0.672,0.602,1.238,1.815,0.988,0.765,1.058,
+1.608,1.162,1.129,1.005,1.115,0.179,0.706,0.837,0.953,1.009,
+0.818,1.411,0.189,0.154,0.085,0.128,0.139,0.178,0.179,0.125,
+0.118,0.053,0.145,0.118,0.086,0.223,0.106,0.129,1.089,1.054,
+0.839,0.997,0.119,0.150,0.112,0.129,0.837,0.115,0.613,0.743,
+0.592,0.920,0.889,1.025,1.002,0.615,0.626,0.926,1.185,1.190,
+1.062,1.144,1.089,0.102,0.753,0.976,0.941,0.954,1.151,1.660,
+1.586,0.870,0.711,1.156,1.030,0.646,0.650,0.794,0.848,0.078,
+0.481,0.696,1.057,0.763,0.659,1.412,1.631,1.108,0.849,1.178,
+1.122,1.003,1.369,1.391,0.813,0.115,0.775,1.006,0.778,0.964,
+0.750,1.129,0.808,0.781,0.660,0.887,0.061,0.064,0.061,0.089,
+0.587,0.058,0.532,0.647,0.598,0.742,0.870,1.046,1.145,0.597,
+0.612,1.030,0.784,0.670,0.609,0.880,0.867,0.067,0.642,1.026,
+1.208,1.181,1.284,2.180,2.525,1.571,1.138,2.429,1.147,0.847,
+0.637,0.929,1.063,0.110,0.570,0.826,1.291,1.139,0.762,1.406,
+1.932,1.362,0.801,1.274,1.100,0.912,0.773,0.874,1.149,0.138,
+1.003,1.059,0.973,1.265,0.768,1.210,1.111,1.193,1.358,1.462,
+0.118,0.134,0.152,0.240,0.893,0.099,0.541,0.742,0.578,0.883,
+0.599,0.960,1.281,0.841,0.885,1.859,1.067,0.873,1.005,1.524,
+0.961,0.095,0.676,1.077,1.279,0.958,1.129,2.570,0.122,0.109,
+0.061,0.108,0.096,0.107,0.066,0.084,0.080,0.015,0.056,0.074,
+0.095,0.116,0.081,0.118,0.130,0.126,0.064,0.087,0.116,0.130,
+0.096,0.090,0.107,0.029,0.113,0.109,0.090,0.150,0.077,0.106,
+0.076,0.119,0.100,0.099,0.014,0.026,0.030,0.026,0.161,0.026,
+0.081,0.113,0.065,0.114,0.083,0.101,0.113,0.085,0.070,0.161,
+0.139,0.151,0.141,0.228,0.103,0.014,0.083,0.119,0.102,0.096,
+0.104,0.187,1.409,1.081,0.704,0.963,1.060,1.207,0.935,0.989,
+1.146,0.182,0.922,1.147,0.852,0.988,0.880,1.445,0.105,0.142,
+0.066,0.087,0.084,0.142,0.107,0.086,0.100,0.024,0.113,0.113,
+0.092,0.147,0.100,0.133,0.854,1.632,0.827,0.961,0.105,0.383,
+0.112,0.135,0.859,0.141,0.520,0.718,0.523,0.940,0.748,1.009,
+0.806,0.718,0.614,0.956,1.035,1.731,0.933,1.514,1.015,0.134,
+0.862,1.094,0.816,0.863,1.060,1.694,1.466,0.956,0.634,1.200,
+0.773,0.597,0.458,0.594,0.941,0.100,0.553,0.851,1.041,0.907,
+0.714,1.467,1.545,1.340,0.772,1.151,1.156,1.209,0.969,0.969,
+1.107,0.129,0.986,1.408,1.045,1.299,0.952,1.570,1.096,1.135,
+0.813,1.088,0.080,0.111,0.079,0.111,0.877,0.099,0.695,0.929,
+0.702,1.084,0.877,1.266,1.182,0.809,0.727,1.373,0.891,0.849,
+0.690,1.061,1.162,0.103,1.090,1.456,1.488,1.369,1.504,2.528,
+3.288,1.529,1.302,2.856,1.465,0.786,0.729,1.272,1.451,0.116,
+0.692,1.185,1.918,1.303,1.035,2.242,1.641,0.885,0.663,1.127,
+0.850,0.554,0.551,0.773,0.925,0.069,0.598,0.887,0.963,0.724,
+0.645,1.147,1.416,1.016,0.952,1.660,0.099,0.077,0.073,0.202,
+0.934,0.071,0.624,0.808,0.828,0.800,0.650,1.308,1.999,0.998,
+1.330,3.246,1.196,0.776,0.878,2.230,1.293,0.091,0.771,1.429,
+2.039,1.191,1.358,3.808,2.455,1.525,0.983,1.810,1.412,1.136,
+0.895,1.121,1.312,0.132,0.827,1.338,1.396,1.331,0.903,1.734,
+1.801,1.228,0.714,1.162,1.195,0.965,0.767,0.977,1.252,0.124,
+0.942,1.352,1.169,1.123,0.820,1.266,1.209,1.194,0.917,1.456,
+0.091,0.106,0.093,0.193,1.452,0.122,0.712,1.155,0.977,1.217,
+0.836,1.430,1.471,0.926,0.926,2.219,1.382,1.187,1.182,2.881,
+1.312,0.101,0.895,1.592,1.388,1.176,1.235,2.585,1.658,0.957,
+0.745,1.178,1.244,0.950,0.863,1.156,1.295,0.149,0.861,1.251,
+1.181,1.075,1.085,1.861,0.118,0.097,0.060,0.101,0.072,0.095,
+0.094,0.087,0.074,0.012,0.081,0.098,0.094,0.119,0.091,0.137,
+0.969,1.043,0.796,1.172,0.070,0.091,0.069,0.124,0.930,0.102,
+0.726,1.004,0.756,0.999,0.979,1.525,1.094,0.748,0.780,1.323,
+1.130,1.033,0.988,1.633,1.186,0.100,1.022,1.473,1.267,0.989,
+1.525,2.520,2.516,1.231,1.067,1.999,1.127,0.767,0.810,0.959,
+1.284,0.128,0.736,1.202,1.644,1.109,1.000,2.303,2.028,1.159,
+0.816,1.312,1.065,0.854,1.095,1.075,0.999,0.083,1.022,1.270,
+1.201,1.032,0.908,1.588,1.490,1.194,1.075,1.832,0.100,0.083,
+0.075,0.148,1.219,0.095,0.934,1.329,1.292,1.362,1.427,2.046,
+2.536,1.314,1.357,2.940,1.563,1.206,1.273,2.160,1.869,0.118,
+1.545,2.537,3.236,2.189,2.839,4.009,2.582,1.722,1.611,2.797,
+1.706,1.054,0.919,1.221,1.396,0.140,0.705,1.201,2.069,1.606,
+1.085,1.954,1.696,0.967,0.769,1.088,1.083,0.649,0.660,0.893,
+0.902,0.082,0.540,0.739,0.914,0.863,0.674,1.099,1.412,1.095,
+0.749,1.329,0.118,0.084,0.066,0.150,0.760,0.069,0.493,0.738,
+0.735,0.848,0.724,1.075,1.923,0.922,0.776,1.692,1.320,0.829,
+0.664,1.201,1.138,0.074,0.525,0.848,1.329,0.821,0.908,1.964,
+2.573,1.318,0.875,1.685,1.619,0.985,0.857,1.022,1.086,0.103,
+0.503,0.839,1.166,1.008,0.736,1.288,1.610,0.990,0.592,0.868,
+1.067,0.527,0.611,0.736,0.942,0.079,0.564,0.739,0.731,0.681,
+0.501,0.770,1.262,1.137,0.738,1.143,0.119,0.100,0.086,0.136,
+1.005,0.127,0.603,0.979,0.684,1.038,0.779,1.036,1.290,0.792,
+0.523,1.062,1.282,0.971,0.677,1.120,0.963,0.069,0.501,0.874,
+1.010,0.912,0.810,1.607,1.878,1.072,0.748,1.257,1.578,1.183,
+1.102,1.220,1.461,0.173,0.791,1.070,1.304,1.234,1.003,1.808,
+0.167,0.234,0.096,0.130,0.142,0.142,0.151,0.136,0.129,0.023,
+0.211,0.142,0.166,0.239,0.148,0.220,1.056,0.901,1.020,1.188,
+0.107,0.090,0.106,0.145,0.970,0.127,0.635,0.772,0.771,1.293,
+1.023,1.093,1.029,0.619,0.610,0.985,1.317,1.017,0.954,1.284,
+0.998,0.116,0.702,1.023,1.160,1.542,1.136,1.787,1.975,0.886,
+0.713,1.442,0.979,0.635,0.752,0.832,1.082,0.109,0.550,0.877,
+1.550,1.118,0.896,1.808,1.500,1.051,0.706,1.042,1.003,0.873,
+0.861,0.916,0.897,0.082,0.863,0.959,1.069,1.032,0.911,1.401,
+1.213,1.087,1.052,1.662,0.122,0.086,0.095,0.158,0.978,0.089,
+0.760,1.069,1.059,1.225,1.295,1.589,1.657,0.972,0.866,1.879,
+1.051,0.695,0.814,1.255,1.422,0.108,0.971,1.687,2.197,1.722,
+1.921,3.548,0.175,0.128,0.099,0.149,0.124,0.103,0.078,0.104,
+0.095,0.016,0.052,0.085,0.124,0.167,0.096,0.142,0.145,0.105,
+0.154,0.112,0.115,0.092,0.115,0.101,0.090,0.016,0.072,0.083,
+0.078,0.094,0.077,0.112,0.093,0.087,0.072,0.100,0.013,0.013,
+0.012,0.017,0.067,0.011,0.050,0.072,0.055,0.079,0.068,0.100,
+0.120,0.077,0.066,0.125,0.122,0.105,0.083,0.124,0.095,0.016,
+0.063,0.096,0.102,0.102,0.100,0.198,0.136,0.102,0.060,0.095,
+0.102,0.095,0.071,0.074,0.067,0.010,0.039,0.059,0.062,0.075,
+0.057,0.088,0.118,0.110,0.066,0.073,0.117,0.102,0.093,0.090,
+0.088,0.018,0.070,0.076,0.060,0.075,0.059,0.077,0.087,0.095,
+0.065,0.092,0.014,0.019,0.015,0.016,0.099,0.025,0.070,0.095,
+0.052,0.098,0.085,0.094,0.089,0.060,0.043,0.079,0.093,0.093,
+0.067,0.088,0.076,8.77e-3,0.048,0.073,0.067,0.075,0.066,0.122,
+0.131,0.089,0.061,0.081,0.121,0.130,0.129,0.101,0.101,0.020,
+0.149,0.096,0.078,0.106,0.093,0.127,0.013,0.020,0.012,0.013,
+0.017,0.028,0.030,0.017,0.018,8.63e-3,0.108,0.023,9.38e-3,0.025,
+0.023,0.017,0.109,0.104,0.120,0.134,0.017,0.022,0.026,0.020,
+0.114,0.024,0.093,0.098,0.073,0.153,0.119,0.117,0.095,0.065,
+0.067,0.092,0.132,0.146,0.117,0.135,0.110,0.024,0.096,0.114,
+0.117,0.438,0.128,0.179,0.151,0.121,0.080,0.123,0.097,0.080,
+0.080,0.085,0.092,0.011,0.066,0.082,0.128,0.124,0.102,0.190,
+0.173,0.134,0.096,0.134,0.144,0.143,0.148,0.155,0.112,0.017,
+0.206,0.131,0.117,0.159,0.127,0.179,0.103,0.103,0.102,0.147,
+0.011,0.011,0.011,0.020,0.091,0.014,0.090,0.113,0.084,0.121,
+0.139,0.166,0.136,0.093,0.077,0.144,0.100,0.091,0.081,0.128,
+0.125,0.012,0.096,0.152,0.162,0.187,0.176,0.314,1.873,1.188,
+0.970,1.565,1.098,0.780,0.617,0.883,0.937,0.083,0.522,0.765,
+0.882,0.718,0.700,1.068,1.584,1.053,0.672,0.951,1.225,0.829,
+0.922,0.907,1.116,0.110,0.890,0.936,0.733,0.904,0.776,1.080,
+1.002,1.112,0.818,1.146,0.131,0.140,0.120,0.225,0.856,0.116,
+0.884,0.897,0.564,0.944,0.739,1.005,1.015,0.644,0.569,1.107,
+1.032,0.798,0.698,1.275,1.093,0.097,1.103,1.242,1.008,0.818,
+1.272,1.989,0.122,0.099,0.056,0.092,0.110,0.108,0.077,0.086,
+0.065,0.013,0.048,0.062,0.058,0.076,0.054,0.092,0.107,0.094,
+0.048,0.062,0.130,0.095,0.100,0.083,0.080,0.020,0.105,0.090,
+0.049,0.070,0.056,0.066,0.076,0.109,0.071,0.082,0.015,0.025,
+0.021,0.020,0.097,0.029,0.183,0.157,0.048,0.103,0.082,0.092,
+0.115,0.073,0.052,0.110,0.132,0.142,0.091,0.158,0.096,0.013,
+0.100,0.140,0.082,0.083,0.095,0.162,1.379,0.856,0.700,0.764,
+1.283,1.216,1.655,0.966,0.993,0.154,0.787,0.962,0.721,0.819,
+0.906,1.329,0.108,0.124,0.071,0.075,0.110,0.152,0.145,0.082,
+0.104,0.026,0.121,0.100,0.075,0.126,0.117,0.119,1.068,1.138,
+0.906,0.994,0.115,0.128,0.140,0.129,0.872,0.123,0.406,0.625,
+0.477,0.763,0.752,0.855,0.769,0.558,0.497,0.636,1.067,1.047,
+0.919,0.958,0.906,0.115,0.961,0.963,0.708,0.808,1.021,1.337,
+1.330,0.779,0.600,0.902,0.807,0.601,0.595,0.578,0.764,0.082,
+0.507,0.704,0.742,0.683,0.570,1.055,1.329,1.051,0.728,0.872,
+1.161,1.131,0.979,0.760,0.952,0.106,0.947,0.986,0.781,1.002,
+0.908,1.101,1.112,1.129,1.044,1.204,0.097,0.115,0.109,0.127,
+1.061,0.124,1.291,1.353,0.711,1.080,1.127,1.284,1.077,0.685,
+0.644,1.014,0.991,0.836,0.807,1.007,1.251,0.108,1.205,1.365,
+1.248,1.271,1.433,1.996,2.286,1.025,0.831,1.618,1.038,0.592,
+0.533,0.808,0.943,0.085,0.458,0.766,1.194,0.886,0.771,1.511,
+1.431,0.747,0.495,0.810,0.808,0.475,0.501,0.682,0.698,0.052,
+0.428,0.649,0.641,0.599,0.521,0.881,1.207,0.900,0.589,1.124,
+0.094,0.070,0.057,0.140,0.834,0.069,0.565,0.891,0.730,0.790,
+0.692,1.204,1.594,0.832,0.696,1.606,1.021,0.647,0.572,1.153,
+0.988,0.077,0.651,1.394,1.304,0.947,1.034,2.357,2.384,1.295,
+0.826,1.506,1.415,0.992,0.815,0.998,1.096,0.103,0.637,0.949,
+1.082,1.048,0.705,1.370,1.591,1.057,0.602,0.945,1.203,0.890,
+0.873,0.968,0.957,0.080,0.792,1.036,0.700,0.771,0.615,0.942,
+1.412,1.203,0.762,1.258,0.103,0.111,0.078,0.137,1.068,0.119,
+0.915,1.343,0.789,1.161,0.905,1.469,1.812,1.007,0.776,1.458,
+1.509,1.169,0.925,1.573,1.164,0.094,0.850,1.480,1.163,1.111,
+1.097,2.144,2.492,1.050,0.807,1.239,1.533,1.149,1.390,1.296,
+1.377,0.167,0.811,1.334,1.114,1.214,1.154,2.168,0.177,0.106,
+0.086,0.111,0.111,0.127,0.318,0.129,0.086,0.019,0.108,0.150,
+0.093,0.162,0.107,0.161,1.339,1.294,0.977,1.344,0.102,0.099,
+0.131,0.151,1.249,0.149,0.881,1.265,0.885,1.327,1.106,1.552,
+1.439,0.943,1.204,1.324,1.517,1.207,1.369,1.668,1.324,0.125,
+1.200,1.969,1.252,1.255,1.595,2.393,2.139,0.957,0.820,1.403,
+1.085,0.681,0.671,0.816,1.181,0.122,0.627,1.013,1.223,0.893,
+0.785,1.903,1.641,0.985,0.703,1.093,1.199,0.932,1.095,0.965,
+0.935,0.073,0.782,1.181,0.943,0.930,0.832,1.396,1.594,1.359,
+1.138,1.700,0.115,0.099,0.088,0.155,1.426,0.118,1.265,1.768,
+1.231,1.432,1.475,1.925,2.156,1.093,1.097,2.231,1.575,1.178,
+1.282,1.914,1.810,0.118,1.542,2.498,2.340,1.849,2.318,3.591,
+7.282,2.682,2.324,5.265,2.328,1.309,1.056,1.683,2.311,0.181,
+0.968,1.708,3.883,2.706,1.517,3.391,2.457,1.217,0.837,1.413,
+1.242,0.683,0.627,0.868,1.293,0.082,0.665,0.889,1.519,1.220,
+0.841,1.509,1.867,1.214,0.935,1.994,0.137,0.093,0.075,0.193,
+1.186,0.098,0.543,0.908,1.231,1.187,1.043,1.661,3.163,1.457,
+1.284,3.178,1.852,1.054,0.950,1.766,1.503,0.099,0.816,1.450,
+2.709,1.461,1.690,4.135,3.057,1.351,0.893,1.850,1.424,0.841,
+0.622,0.893,1.065,0.095,0.453,0.811,1.281,0.980,0.663,1.453,
+1.596,0.860,0.534,0.904,0.892,0.481,0.461,0.618,0.880,0.067,
+0.462,0.657,0.914,0.667,0.570,0.936,1.284,0.945,0.619,1.214,
+0.095,0.083,0.053,0.103,1.538,0.426,0.465,0.762,0.953,1.459,
+0.652,1.046,1.322,0.735,0.548,1.154,1.049,0.692,0.522,0.895,
+0.986,0.088,0.498,0.887,1.128,0.844,0.888,1.808,2.470,1.140,
+0.814,1.564,1.720,2.442,0.877,1.344,1.382,0.156,0.494,0.982,
+1.891,1.364,0.907,2.348,0.156,0.099,0.061,0.123,0.115,0.126,
+0.076,0.119,0.102,9.21e-3,0.060,0.101,0.193,0.170,0.092,0.222,
+1.092,0.796,0.744,1.144,0.095,0.081,0.062,0.116,0.969,0.087,
+0.406,0.708,0.904,0.940,0.828,1.228,1.342,0.719,0.712,1.448,
+1.325,0.894,0.757,1.331,1.098,0.080,0.607,1.097,1.459,1.090,
+1.136,2.419,3.879,1.403,1.190,2.934,1.529,1.147,0.882,1.339,
+1.798,0.145,0.807,1.501,3.608,1.810,1.392,3.520,2.135,1.073,
+0.829,1.459,1.134,0.799,0.685,0.983,1.252,0.076,0.707,1.213,
+1.875,1.416,1.032,2.107,1.560,1.159,1.014,1.808,0.108,0.077,
+0.072,0.150,1.228,0.094,0.771,1.276,1.455,1.514,1.524,2.311,
+3.160,1.490,1.537,4.571,1.753,1.060,1.079,2.042,2.280,0.136,
+1.359,2.486,4.080,2.757,3.332,7.682,2.996,1.567,1.127,2.392,
+1.540,0.969,0.711,1.081,1.277,0.109,0.562,1.031,1.735,1.385,
+1.041,2.021,1.726,1.009,0.758,1.248,1.051,0.695,0.705,0.807,
+1.073,0.077,0.558,0.786,0.926,0.861,0.641,1.189,1.198,0.870,
+0.608,1.199,0.086,0.076,0.053,0.118,0.721,0.063,0.398,0.676,
+0.777,0.829,0.718,1.270,1.456,0.830,0.695,1.486,1.170,0.893,
+0.608,1.070,0.896,0.077,0.514,1.007,1.315,1.125,1.070,2.694,
+2.011,1.175,0.668,1.282,1.132,0.800,0.526,0.737,0.798,0.068,
+0.341,0.645,0.894,0.771,0.548,1.205,1.240,0.858,0.430,0.762,
+0.791,0.538,0.416,0.602,0.694,0.061,0.399,0.581,0.703,0.614,
+0.446,0.834,1.015,0.813,0.505,0.966,0.072,0.068,0.048,0.084,
+0.967,0.116,0.428,0.781,0.714,0.904,0.683,1.119,0.947,0.615,
+0.478,0.904,0.887,0.713,0.473,0.786,0.748,0.058,0.410,0.898,
+0.859,0.762,0.723,1.486,1.731,0.821,0.712,1.158,1.143,0.889,
+0.822,1.076,0.962,0.114,0.571,0.996,1.082,0.996,0.735,1.781,
+0.088,0.069,0.045,0.082,0.072,0.084,0.064,0.093,0.060,0.011,
+0.119,0.082,0.084,0.113,0.066,0.125,1.113,0.856,0.714,1.057,
+0.086,0.080,0.065,0.105,0.875,0.083,0.477,0.797,0.817,0.983,
+0.800,1.311,1.194,0.708,0.642,1.229,1.263,1.245,0.870,1.301,
+0.995,0.092,0.661,1.162,1.209,1.406,1.167,2.446,2.105,1.049,
+0.802,1.604,1.059,0.706,0.636,0.890,1.147,0.098,0.587,1.009,
+1.621,1.214,0.906,2.243,1.770,1.043,0.723,1.256,1.026,0.823,
+0.681,1.133,0.912,0.080,0.761,1.079,1.204,1.262,0.893,1.721,
+1.125,0.947,0.783,1.345,0.073,0.063,0.050,0.108,0.850,0.068,
+0.646,1.000,0.955,1.013,1.013,1.791,1.775,0.911,0.880,1.833,
+1.241,0.922,0.766,1.334,1.369,0.093,0.916,1.635,2.054,1.550,
+1.823,4.023,3.038,1.797,1.380,2.667,1.638,1.124,0.799,1.290,
+1.952,0.141,0.779,1.208,1.840,1.358,0.933,1.966,2.272,1.501,
+0.894,1.502,1.492,1.006,0.813,1.017,1.560,0.124,1.014,1.210,
+1.503,1.498,1.071,1.782,1.731,1.580,1.040,1.811,0.158,0.145,
+0.110,0.240,1.214,0.112,0.710,1.056,1.042,1.381,1.106,1.672,
+1.933,1.141,0.935,2.150,1.566,1.086,0.900,1.677,1.607,0.128,
+1.153,1.819,2.004,1.531,2.589,4.027,0.170,0.129,0.084,0.160,
+0.155,0.120,0.072,0.127,0.112,0.012,0.060,0.097,0.110,0.124,
+0.083,0.179,0.129,0.112,0.054,0.093,0.130,0.115,0.069,0.092,
+0.100,0.013,0.102,0.106,0.096,0.110,0.075,0.134,0.097,0.106,
+0.059,0.105,0.011,0.016,9.63e-3,0.016,0.106,0.018,0.073,0.103,
+0.076,0.121,0.086,0.135,0.156,0.104,0.069,0.180,0.152,0.140,
+0.088,0.182,0.118,0.013,0.082,0.155,0.146,0.137,0.154,0.298,
+2.171,1.256,0.881,1.275,1.668,1.417,1.197,1.268,1.426,0.186,
+0.812,1.363,1.286,1.389,1.123,2.506,0.121,0.107,0.061,0.099,
+0.122,0.105,0.077,0.079,0.093,0.016,0.079,0.094,0.129,0.159,
+0.115,0.190,1.287,1.450,1.121,1.389,0.113,0.130,0.102,0.143,
+1.151,0.128,0.619,0.995,0.856,1.162,1.055,1.543,1.375,1.059,
+0.816,1.308,1.515,1.506,1.053,1.383,1.443,0.141,1.183,1.582,
+1.370,1.297,1.669,2.724,2.470,1.378,0.995,1.836,1.476,1.043,
+0.773,1.135,1.424,0.128,0.942,1.446,1.603,1.280,0.990,2.371,
+2.253,1.616,1.046,1.696,1.697,1.322,0.929,1.127,1.533,0.121,
+1.223,1.580,1.725,1.812,1.363,2.407,1.745,1.659,1.259,1.961,
+0.116,0.121,0.100,0.181,1.658,0.136,1.300,1.903,1.447,1.766,
+1.738,2.463,2.119,1.295,1.169,2.023,1.458,1.264,1.071,1.512,
+2.073,0.148,1.812,2.479,2.373,2.071,2.571,4.307,8.240,2.723,
+1.927,4.537,2.277,1.319,1.028,1.832,2.332,0.170,1.110,1.857,
+3.324,2.206,1.815,4.110,2.785,1.423,0.840,1.620,1.503,0.988,
+0.689,1.169,1.497,0.092,0.807,1.222,1.484,1.211,0.919,1.866,
+2.457,1.686,1.123,2.835,0.148,0.125,0.084,0.249,1.522,0.118,
+0.869,1.463,1.680,1.713,1.248,2.655,3.902,1.969,1.602,4.458,
+2.111,1.433,1.179,2.633,2.263,0.164,1.416,2.638,3.975,3.082,
+2.936,9.120,3.882,1.986,1.405,2.681,2.074,1.421,0.977,1.492,
+1.576,0.112,0.836,1.446,1.801,1.449,1.061,2.413,2.611,1.683,
+0.799,1.571,1.820,1.726,0.829,1.385,1.415,0.097,0.898,1.421,
+1.268,1.232,0.848,1.749,2.078,1.521,0.918,2.453,0.109,0.101,
+0.060,0.180,1.502,0.123,0.871,1.567,1.458,1.641,1.153,2.472,
+2.516,1.440,1.073,2.705,1.795,1.384,0.992,2.320,1.795,0.109,
+1.091,2.070,2.326,2.027,1.745,4.451,4.065,1.919,1.487,2.368,
+2.725,1.703,1.448,2.250,2.334,0.214,1.228,2.220,2.492,1.980,
+1.849,4.113,0.174,0.136,0.076,0.145,0.137,0.121,0.101,0.136,
+0.104,0.012,0.091,0.135,0.166,0.164,0.115,0.265,2.387,1.989,
+1.452,2.556,0.141,0.123,0.097,0.216,2.031,0.163,1.443,2.117,
+1.844,2.082,2.068,3.575,3.035,1.896,1.629,2.925,2.641,2.056,
+1.849,3.181,2.797,0.178,2.182,3.455,2.995,2.275,3.196,5.785,
+9.220,3.141,2.298,5.253,3.092,1.875,1.454,2.370,3.477,0.237,
+1.611,2.979,5.076,3.197,2.541,7.874,3.991,2.398,1.408,2.795,
+2.530,1.847,1.306,2.088,2.366,0.137,1.526,2.491,3.025,2.389,
+1.916,4.537,3.783,2.896,2.097,4.124,0.174,0.151,0.112,0.279,
+3.157,0.185,2.210,3.623,3.702,3.433,3.514,6.429,9.101,3.302,
+2.647,7.379,3.197,2.256,2.313,4.990,4.376,0.225,3.083,6.272,
+6.982,3.853,4.268,11.9,10.4,3.590,1.958,4.291,4.466,2.145,
+1.662,2.239,3.737,0.349,1.302,2.249,5.111,3.461,2.097,3.385,
+5.132,2.550,1.633,2.320,2.714,1.703,1.364,1.391,2.385,0.198,
+1.200,1.567,1.921,1.639,1.240,1.977,3.660,2.727,1.774,2.855,
+0.321,0.274,0.184,0.377,1.985,0.194,1.017,1.481,1.903,2.128,
+1.266,1.994,5.040,2.176,2.049,4.334,3.334,2.263,1.797,3.274,
+2.369,0.216,1.221,2.039,3.101,1.840,1.839,3.196,6.517,2.841,
+1.520,2.563,3.231,1.952,1.242,1.426,2.094,0.222,0.856,1.332,
+1.758,1.684,0.938,1.608,3.323,1.992,1.021,1.419,1.932,1.333,
+0.907,0.957,1.657,0.172,0.841,1.132,1.065,1.090,0.693,1.041,
+2.129,1.973,1.028,1.508,0.175,0.170,0.113,0.161,1.471,0.159,
+0.795,1.150,0.981,1.390,0.857,1.286,1.816,1.140,0.760,1.346,
+1.742,1.300,0.842,1.215,1.425,0.119,0.735,1.149,1.310,1.061,
+1.021,1.883,3.420,1.536,1.237,1.824,2.605,1.496,1.225,1.354,
+1.953,0.228,0.813,1.445,1.577,1.384,1.068,2.041,0.267,0.193,
+0.111,0.173,0.242,0.226,0.126,0.142,0.184,0.034,0.127,0.179,
+0.204,0.269,0.153,0.248,1.580,1.353,1.050,1.279,0.186,0.130,
+0.126,0.162,1.161,0.140,0.850,1.049,0.820,1.096,0.894,1.029,
+1.468,0.913,0.814,1.338,2.245,1.381,1.120,1.399,1.406,0.137,
+0.950,1.374,1.245,1.140,1.184,1.806,5.220,2.040,1.530,3.352,
+2.225,1.191,0.996,1.322,2.310,0.247,0.938,1.611,2.663,1.853,
+1.405,3.256,3.245,1.945,1.315,1.931,2.153,1.528,1.102,1.260,
+2.066,0.154,1.082,1.703,2.031,1.902,1.383,2.317,1.952,1.639,
+1.186,1.732,0.182,0.140,0.117,0.169,1.371,0.114,0.806,1.284,
+1.280,1.517,1.139,1.622,2.819,1.408,1.189,2.486,1.772,1.163,
+0.982,1.500,2.016,0.139,1.124,2.046,2.470,1.846,1.712,3.130,
+5.398,3.082,1.925,3.205,2.603,1.809,1.171,1.286,1.619,0.195,
+0.719,1.234,1.747,1.833,1.104,1.824,2.921,2.222,1.236,1.611,
+2.154,1.512,1.133,1.141,1.375,0.167,0.821,1.185,0.983,1.133,
+0.783,1.279,1.756,2.001,1.068,1.567,0.201,0.223,0.138,0.199,
+0.926,0.114,0.630,0.853,0.773,1.146,0.752,1.199,1.725,0.928,
+0.825,1.418,1.681,1.365,0.893,1.176,0.984,0.113,0.533,0.863,
+1.093,0.804,0.854,1.648,3.556,2.934,1.098,1.670,2.263,1.976,
+1.056,0.991,1.303,0.182,0.579,0.861,0.981,1.259,0.644,1.056,
+2.147,1.821,0.852,1.024,1.602,0.949,0.940,0.851,1.141,0.174,
+0.680,0.929,0.668,0.919,0.544,0.741,1.430,1.938,0.787,1.068,
+0.175,0.260,0.133,0.135,1.062,0.210,0.628,0.904,0.622,1.429,
+0.716,1.076,1.062,0.834,0.464,0.750,1.302,1.309,0.672,0.789,
+0.925,0.104,0.456,0.744,0.675,0.737,0.559,1.082,1.934,1.302,
+0.818,1.163,1.993,1.605,1.215,1.055,1.192,0.164,0.581,0.916,
+0.861,0.977,0.735,1.260,0.133,0.167,0.082,0.126,0.168,0.242,
+0.143,0.107,0.123,0.039,0.102,0.133,0.084,0.155,0.093,0.130,
+1.357,1.749,1.016,1.171,0.215,0.212,0.156,0.155,1.123,0.158,
+0.768,0.953,0.621,1.131,0.911,1.009,0.911,0.646,0.540,0.796,
+1.545,1.451,1.080,1.086,1.041,0.113,0.716,1.064,0.787,0.775,
+0.921,1.322,1.776,0.870,0.690,1.124,1.205,0.830,0.573,0.674,
+0.906,0.089,0.387,0.682,0.965,0.775,0.553,1.222,1.506,1.291,
+0.859,1.131,1.243,1.295,0.820,0.913,0.888,0.095,0.600,0.959,
+0.713,0.988,0.682,1.133,1.231,1.426,0.890,1.136,0.130,0.133,
+0.082,0.114,1.005,0.099,0.646,0.962,0.720,1.067,0.819,1.165,
+1.295,0.787,0.693,1.065,1.069,0.927,0.715,0.907,1.136,0.113,
+0.718,1.220,1.254,1.209,1.175,1.880,2.556,1.689,1.036,1.744,
+1.336,0.944,0.608,0.846,1.103,0.124,0.485,0.850,1.108,1.076,
+0.577,1.212,2.009,1.439,0.878,1.087,1.132,0.868,0.681,0.694,
+1.243,0.140,0.684,0.868,0.779,1.058,0.534,0.942,1.229,1.567,
+0.913,1.256,0.152,0.194,0.123,0.213,0.815,0.109,0.453,0.764,
+0.664,1.110,0.598,1.184,1.244,0.806,0.725,1.231,1.079,1.008,
+0.729,1.078,1.014,0.113,0.571,1.037,1.039,0.823,1.056,2.294,
+0.182,0.155,0.099,0.154,0.177,0.154,0.081,0.098,0.103,0.020,
+0.057,0.085,0.086,0.120,0.065,0.109,0.166,0.141,0.086,0.096,
+0.141,0.145,0.091,0.079,0.117,0.033,0.085,0.101,0.072,0.128,
+0.055,0.087,0.101,0.177,0.089,0.102,0.021,0.043,0.029,0.023,
+0.108,0.030,0.076,0.115,0.075,0.162,0.080,0.138,0.144,0.098,
+0.075,0.138,0.185,0.226,0.144,0.177,0.123,0.019,0.090,0.135,
+0.118,0.120,0.124,0.228,1.210,0.857,0.565,0.737,1.013,0.970,
+0.640,0.616,0.942,0.156,0.711,0.902,0.578,0.743,0.539,0.763,
+0.114,0.145,0.056,0.062,0.093,0.139,0.078,0.059,0.101,0.030,
+0.085,0.094,0.075,0.140,0.066,0.082,0.780,1.361,0.598,0.602,
+0.113,0.294,0.089,0.092,0.732,0.139,0.376,0.570,0.434,0.823,
+0.519,0.567,0.643,0.508,0.369,0.466,0.800,1.062,0.571,0.682,
+0.777,0.103,0.546,0.720,0.478,0.634,0.560,0.701,1.289,0.684,
+0.464,0.906,0.889,0.538,0.337,0.466,0.837,0.089,0.418,0.641,
+0.778,0.669,0.427,0.905,1.522,1.143,0.612,0.795,1.109,1.004,
+0.594,0.605,0.910,0.115,0.630,0.886,0.848,1.164,0.587,0.888,
+1.044,1.230,0.753,0.962,0.113,0.162,0.080,0.113,0.877,0.114,
+0.640,1.377,0.690,1.091,0.749,1.095,1.147,0.635,0.591,0.767,
+1.007,0.945,0.612,0.798,1.079,0.114,0.851,1.160,1.088,1.099,
+1.010,1.550,3.692,1.872,1.348,2.957,1.476,0.858,0.689,1.052,
+1.241,0.133,0.537,1.017,1.962,1.454,0.879,2.031,1.753,0.999,
+0.659,1.028,0.950,0.598,0.470,0.596,0.914,0.084,0.495,0.861,
+0.866,0.841,0.495,0.982,1.352,1.226,0.720,1.367,0.120,0.104,
+0.073,0.162,0.758,0.071,0.358,0.715,0.905,0.849,0.524,1.103,
+1.945,1.006,0.990,2.232,1.277,0.917,0.758,1.382,1.115,0.093,
+0.667,1.238,1.780,1.171,1.265,3.110,2.709,1.702,1.057,2.636,
+1.798,1.234,0.797,1.222,1.222,0.138,0.573,1.113,1.104,1.157,
+0.657,1.282,1.940,1.239,0.725,1.286,1.296,0.999,0.607,0.760,
+1.044,0.171,0.612,1.094,0.825,0.986,0.469,0.890,1.262,1.335,
+0.680,1.130,0.097,0.123,0.072,0.122,0.955,0.107,0.537,0.973,
+0.786,1.089,0.633,1.269,1.498,0.806,0.661,1.305,1.334,1.209,
+0.775,1.343,1.113,0.092,0.655,1.111,1.136,1.003,1.034,1.954,
+1.506,0.879,0.701,1.070,1.304,0.869,0.661,0.895,1.152,0.155,
+0.700,1.184,1.032,1.000,0.756,1.231,0.152,0.101,0.058,0.102,
+0.097,0.105,0.069,0.078,0.094,0.021,0.102,0.321,0.099,0.127,
+0.071,0.136,0.933,1.109,0.642,0.888,0.091,0.102,0.064,0.112,
+0.922,0.104,0.473,0.763,0.695,0.953,0.664,0.929,0.995,0.662,
+0.601,0.898,1.178,0.963,0.814,1.151,1.151,0.112,0.679,1.148,
+0.878,0.877,0.856,1.340,2.382,1.091,0.836,1.688,1.269,0.770,
+0.588,0.820,1.379,0.121,0.590,1.034,1.599,1.118,0.906,2.088,
+1.445,0.910,0.569,0.918,0.989,0.759,0.555,0.701,0.912,0.075,
+0.615,1.295,1.083,1.024,0.674,1.293,1.531,1.474,0.902,1.400,
+0.146,0.118,0.069,0.127,1.273,0.101,0.758,1.306,1.339,1.492,
+1.090,1.643,2.090,1.166,0.960,2.083,1.727,1.385,0.951,1.534,
+1.917,0.121,1.225,2.070,2.743,1.908,1.841,3.300,4.785,2.987,
+2.078,3.523,3.577,2.258,1.434,1.726,2.291,0.285,1.113,1.709,
+2.705,2.414,1.327,2.196,2.670,2.294,1.222,1.465,2.277,1.798,
+1.179,1.158,1.697,0.212,1.113,1.259,1.102,1.371,0.944,1.314,
+1.489,1.668,1.063,1.438,0.175,0.191,0.129,0.203,1.108,0.138,
+0.674,0.793,0.851,1.217,0.842,1.146,1.806,1.038,0.786,1.556,
+1.802,1.511,0.889,1.395,1.381,0.305,0.736,1.139,1.368,1.196,
+1.082,1.909,3.734,2.448,1.065,1.770,5.417,2.312,1.119,1.203,
+1.739,0.248,0.800,1.094,1.158,1.532,0.699,1.291,2.230,2.066,
+0.840,1.121,2.011,1.413,0.912,0.948,1.418,0.258,1.057,1.236,
+0.792,1.225,0.657,0.998,1.158,1.528,0.693,0.851,0.198,0.186,
+0.133,0.131,1.107,0.185,0.705,0.825,0.679,1.304,0.772,0.949,
+0.951,0.781,0.383,0.664,1.277,1.151,0.557,0.825,0.898,0.110,
+0.570,0.786,0.757,0.807,0.752,1.278,1.762,1.264,0.650,1.023,
+2.742,2.069,0.994,1.148,1.482,0.228,0.698,0.911,0.907,1.002,
+0.684,1.222,0.186,0.249,0.093,0.142,0.447,0.506,0.154,0.171,
+0.158,0.057,0.138,0.165,0.114,0.226,0.111,0.158,0.952,1.508,
+0.763,0.852,0.180,0.158,0.102,0.144,0.961,0.161,0.794,1.094,
+0.553,0.960,0.720,0.828,0.722,0.646,0.517,0.718,1.354,1.219,
+0.734,1.005,0.990,0.152,0.885,1.050,0.757,0.908,0.827,1.237,
+1.851,1.005,0.684,1.552,1.181,0.872,0.487,0.677,1.026,0.143,
+0.536,0.784,1.066,0.824,0.617,1.392,1.744,1.571,0.850,1.317,
+1.846,1.883,0.876,1.011,1.013,0.142,0.762,1.052,0.802,1.121,
+0.695,1.141,0.905,0.967,0.747,1.032,0.174,0.108,0.172,0.165,
+0.730,0.100,0.503,0.783,0.585,0.984,0.615,0.912,1.206,0.750,
+0.747,1.210,0.910,0.793,0.692,0.881,1.037,0.108,0.722,1.217,
+1.303,1.379,1.151,2.147,3.133,2.262,1.587,2.067,2.653,2.299,
+1.301,1.370,1.219,0.187,0.640,0.987,1.124,1.232,0.770,1.238,
+2.093,2.054,1.029,1.105,2.470,2.030,1.337,1.178,1.169,0.231,
+0.914,1.114,0.637,0.999,0.658,0.901,1.027,1.466,0.947,0.973,
+0.174,0.224,0.164,0.169,0.695,0.124,0.580,0.627,0.489,0.929,
+0.643,0.860,0.955,0.596,0.489,0.837,1.239,1.273,0.758,0.971,
+0.976,0.195,0.517,0.665,0.875,0.795,0.665,1.234,2.122,2.034,
+0.789,1.050,2.320,2.598,1.008,0.949,1.061,0.193,0.601,0.736,
+0.644,1.002,0.479,0.727,1.578,1.761,0.774,0.754,1.149,0.613,
+0.838,0.728,1.057,0.299,0.843,1.061,0.457,0.988,0.541,0.626,
+0.920,1.739,0.671,0.749,0.178,0.324,0.176,0.148,0.812,0.204,
+0.625,0.792,0.437,1.215,0.763,0.839,0.658,0.668,0.323,0.476,
+1.056,1.462,0.611,0.773,0.700,0.116,0.558,0.749,0.484,0.642,
+0.511,0.880,1.388,1.205,0.571,0.802,2.388,2.681,1.258,1.067,
+1.136,0.225,0.636,0.771,0.638,0.921,0.660,0.922,0.147,0.268,
+0.096,0.123,0.456,0.653,0.282,0.167,0.140,0.093,0.173,0.171,
+0.069,0.208,0.106,0.109,1.480,1.818,0.915,0.898,0.625,0.381,
+0.222,0.177,1.092,0.215,0.781,0.871,0.585,1.227,1.112,0.867,
+0.786,0.607,0.498,0.589,2.601,2.073,1.511,1.239,1.128,0.156,
+0.807,0.966,0.726,0.831,0.914,1.109,1.099,0.776,0.476,0.828,
+1.046,0.987,0.447,0.516,0.644,0.080,0.347,0.470,0.603,0.601,
+0.396,0.728,1.156,1.400,0.772,1.031,1.513,2.212,0.971,0.944,
+0.662,0.132,0.615,0.791,0.435,0.883,0.566,0.770,0.911,1.392,
+0.755,0.856,0.184,0.182,0.106,0.099,0.591,0.092,0.559,0.678,
+0.435,0.816,0.694,0.802,0.898,0.602,0.487,0.681,0.976,0.942,
+1.002,0.775,0.716,0.080,0.564,0.801,0.879,0.911,0.902,1.343,
+1.667,1.391,0.754,1.148,1.613,1.038,0.612,0.833,0.914,0.120,
+0.431,0.684,0.767,0.842,0.463,0.855,1.568,1.781,0.674,0.912,
+1.415,1.421,0.862,0.926,1.162,0.239,0.946,1.108,0.616,1.133,
+0.514,0.864,0.737,1.337,0.664,0.842,0.118,0.188,0.126,0.193,
+0.684,0.137,0.514,0.849,0.419,0.926,0.498,0.910,0.674,0.531,
+0.345,0.702,0.777,0.914,0.561,0.835,0.740,0.106,0.564,0.966,
+0.635,0.588,0.634,1.457,0.179,0.128,0.060,0.088,0.426,0.235,
+0.152,0.120,0.115,0.032,0.072,0.084,0.068,0.113,0.069,0.091,
+0.117,0.205,0.070,0.083,0.211,0.281,0.156,0.132,0.134,0.085,
+0.156,0.148,0.056,0.142,0.062,0.077,0.080,0.217,0.090,0.082,
+0.041,0.103,0.080,0.035,0.118,0.072,0.128,0.157,0.059,0.173,
+0.114,0.125,0.065,0.071,0.038,0.070,0.143,0.233,0.121,0.150,
+0.087,0.024,0.094,0.128,0.064,0.079,0.082,0.133,1.174,1.299,
+0.530,0.696,1.249,1.616,0.924,0.817,1.219,0.338,3.368,2.313,
+0.555,0.991,0.767,0.873,0.131,0.493,0.089,0.093,0.156,0.342,
+0.193,0.108,0.145,0.095,0.238,0.189,0.069,0.220,0.100,0.096,
+0.744,1.951,0.757,0.689,0.155,0.318,0.169,0.137,0.975,0.270,
+0.623,0.846,0.433,1.182,0.772,0.779,0.495,0.590,0.329,0.454,
+0.956,1.563,0.793,0.891,1.034,0.201,0.884,0.933,0.487,0.762,
+0.719,0.856,1.030,0.697,0.378,0.656,0.734,0.585,0.328,0.413,
+0.650,0.100,0.524,0.619,0.578,0.721,0.382,0.759,1.281,1.668,
+0.628,0.782,1.349,1.770,0.864,0.870,1.023,0.224,0.979,1.113,
+0.672,1.309,0.666,0.876,0.951,1.420,0.700,0.799,0.114,0.172,
+0.102,0.106,0.905,0.174,0.761,1.006,0.556,1.242,0.771,1.000,
+0.640,0.543,0.415,0.630,0.709,0.862,0.625,0.708,0.879,0.115,
+0.877,1.054,0.800,0.958,0.858,1.247,1.560,0.931,0.642,1.263,
+0.981,0.607,0.417,0.712,0.719,0.081,0.310,0.694,0.872,0.665,
+0.397,0.977,1.128,0.787,0.399,0.703,0.751,0.630,0.384,0.569,
+0.607,0.074,0.402,1.240,0.505,0.505,0.304,0.678,0.660,0.850,
+0.377,0.657,0.063,0.071,0.040,0.091,0.383,0.049,0.253,0.499,
+0.380,0.486,0.303,0.610,0.805,0.491,0.370,0.872,0.613,0.510,
+0.347,0.716,0.536,0.058,0.327,0.706,0.681,0.518,0.523,1.322,
+1.555,1.116,0.617,1.104,1.784,1.202,0.817,1.009,0.967,0.129,
+0.519,0.812,0.675,0.868,0.466,0.838,1.158,1.120,0.473,0.744,
+1.160,1.247,0.677,0.797,0.823,0.141,0.600,0.893,0.553,0.878,
+0.431,0.705,0.810,1.678,0.442,0.610,0.089,0.177,0.080,0.103,
+0.626,0.123,0.467,0.743,0.467,0.909,0.499,0.801,0.640,0.567,
+0.346,0.610,0.903,1.070,0.595,1.063,0.635,0.083,0.509,0.783,
+0.586,0.648,0.588,1.156,1.046,0.772,0.447,0.698,1.166,1.065,
+0.661,0.805,0.939,0.150,0.685,0.901,0.634,0.723,0.598,0.927,
+0.082,0.118,0.044,0.069,0.105,0.177,0.086,0.078,0.073,0.024,
+0.074,0.108,0.057,0.105,0.063,0.086,0.662,1.024,0.496,0.675,
+0.102,0.115,0.071,0.101,0.776,0.132,0.540,0.747,0.481,0.902,
+0.646,0.803,0.579,0.521,0.371,0.557,0.934,0.938,0.591,0.875,
+1.096,0.259,0.695,0.966,0.632,0.866,0.751,1.068,1.279,0.748,
+0.498,1.046,0.802,0.673,0.385,0.536,0.727,0.088,0.387,0.664,
+0.705,0.592,0.464,1.075,1.079,0.873,0.433,0.737,0.938,0.983,
+0.528,0.644,0.629,0.070,0.458,0.764,0.652,0.723,0.505,0.942,
+1.288,1.087,0.629,0.936,0.290,0.096,0.064,0.100,0.858,0.098,
+0.630,0.927,0.744,1.075,0.824,1.169,1.181,0.765,0.602,1.227,
+1.434,1.105,0.748,1.039,1.271,0.152,0.926,1.492,1.534,1.373,
+1.281,1.874,2.419,1.390,1.083,1.920,1.699,1.174,0.871,1.086,
+1.242,0.151,0.609,0.865,1.619,1.393,0.744,1.323,1.345,1.030,
+0.566,0.837,1.126,0.725,0.610,0.763,0.789,0.095,0.522,0.631,
+0.627,0.708,0.506,0.778,0.893,0.920,0.585,0.935,0.105,0.096,
+0.071,0.137,0.628,0.071,0.393,0.542,0.530,0.740,0.501,0.764,
+1.185,0.620,0.501,1.034,1.065,0.799,0.570,0.883,0.662,0.071,
+0.392,0.648,0.836,0.584,0.666,1.361,2.358,1.444,0.837,1.373,
+1.987,1.420,1.371,1.582,1.364,0.180,0.551,0.789,0.936,1.096,
+0.573,0.978,1.431,1.233,0.605,0.893,1.198,0.702,0.780,1.192,
+1.080,0.182,0.627,0.796,0.592,0.845,0.473,0.668,1.036,1.248,
+0.708,0.943,0.154,0.158,0.129,0.178,0.916,0.136,0.651,0.822,
+0.540,1.008,0.673,0.854,0.867,0.572,0.378,0.709,1.168,1.047,
+0.650,0.989,0.723,0.081,0.466,0.789,0.604,0.626,0.588,1.231,
+1.626,0.804,0.548,0.899,1.784,1.230,1.098,1.044,1.593,0.214,
+0.547,0.727,1.076,1.043,0.626,1.126,0.156,0.145,0.071,0.131,
+0.193,0.188,0.132,0.163,0.158,0.040,0.107,0.122,0.133,0.253,
+0.107,0.156,0.862,0.889,0.622,0.748,0.125,0.108,0.111,0.140,
+0.716,0.117,0.480,0.564,0.445,0.829,0.562,0.657,0.677,0.433,
+0.343,0.607,1.123,0.979,0.734,0.993,0.772,0.101,0.489,0.649,
+0.700,0.729,0.677,1.030,1.514,0.656,0.481,1.026,0.870,0.552,
+0.448,0.609,0.952,0.111,0.410,0.607,1.022,0.767,0.512,1.172,
+1.270,0.907,0.542,0.917,1.054,0.755,0.604,0.789,0.838,0.096,
+0.527,0.699,0.746,0.820,0.512,0.885,0.838,0.871,0.669,0.910,
+0.099,0.087,0.081,0.127,0.734,0.080,0.472,0.703,0.646,0.927,
+0.699,0.989,1.156,0.648,0.561,1.122,0.886,0.739,0.608,0.917,
+1.030,0.101,0.688,1.159,1.657,1.459,1.383,2.604,0.159,0.122,
+0.080,0.115,0.147,0.132,0.093,0.123,0.091,0.017,0.048,0.062,
+0.096,0.121,0.060,0.094,0.147,0.137,0.083,0.108,0.183,0.152,
+0.141,0.160,0.097,0.027,0.082,0.090,0.058,0.092,0.065,0.101,
+0.093,0.149,0.071,0.094,0.033,0.030,0.021,0.025,0.072,0.017,
+0.058,0.072,0.047,0.089,0.061,0.082,0.090,0.062,0.047,0.082,
+0.147,0.144,0.088,0.107,0.080,0.013,0.052,0.076,0.077,0.063,
+0.072,0.125,0.160,0.154,0.069,0.120,0.182,0.218,0.152,0.341,
+0.114,0.038,0.053,0.078,0.068,0.124,0.066,0.089,0.167,0.203,
+0.091,0.120,0.211,0.189,0.198,0.347,0.154,0.063,0.101,0.126,
+0.060,0.138,0.071,0.106,0.104,0.181,0.094,0.101,0.036,0.068,
+0.047,0.040,0.127,0.052,0.104,0.111,0.053,0.150,0.101,0.105,
+0.084,0.070,0.041,0.069,0.149,0.188,0.114,0.131,0.087,0.017,
+0.067,0.094,0.060,0.076,0.066,0.124,0.112,0.081,0.045,0.072,
+0.165,0.187,0.144,0.115,0.122,0.035,0.069,0.068,0.064,0.103,
+0.066,0.082,0.018,0.031,0.016,0.023,0.042,0.073,0.059,0.041,
+0.036,0.033,0.040,0.033,9.94e-3,0.036,0.022,0.019,0.100,0.146,
+0.100,0.107,0.039,0.055,0.055,0.035,0.129,0.056,0.120,0.106,
+0.053,0.160,0.106,0.093,0.073,0.056,0.046,0.066,0.174,0.201,
+0.164,0.152,0.105,0.025,0.101,0.099,0.069,0.091,0.091,0.114,
+0.125,0.092,0.056,0.090,0.105,0.086,0.060,0.078,0.089,0.013,
+0.043,0.059,0.087,0.085,0.065,0.119,0.184,0.216,0.111,0.151,
+0.212,0.220,0.165,0.204,0.153,0.034,0.119,0.141,0.098,0.176,
+0.106,0.143,0.104,0.154,0.106,0.116,0.020,0.028,0.022,0.027,
+0.110,0.023,0.095,0.113,0.073,0.134,0.106,0.128,0.123,0.087,
+0.064,0.108,0.120,0.121,0.100,0.112,0.118,0.017,0.095,0.132,
+0.144,0.147,0.151,0.240,1.135,0.766,0.496,0.865,0.817,0.722,
+0.436,0.580,0.702,0.098,0.393,0.467,0.624,0.602,0.351,0.539,
+0.926,0.840,0.461,0.601,0.846,0.718,0.664,0.575,0.754,0.134,
+1.146,0.711,0.404,0.652,0.413,0.536,0.715,1.253,0.633,0.816,
+0.134,0.160,0.125,0.181,0.644,0.106,0.497,0.611,0.371,0.756,
+0.428,0.624,0.552,0.427,0.302,0.620,0.654,0.649,0.441,0.685,
+0.571,0.081,0.502,0.646,0.490,0.435,0.476,0.948,0.095,0.093,
+0.046,0.074,0.126,0.175,0.084,0.100,0.067,0.020,0.056,0.061,
+0.045,0.067,0.037,0.057,0.085,0.098,0.044,0.054,0.114,0.117,
+0.108,0.094,0.080,0.035,0.116,0.095,0.037,0.066,0.040,0.049,
+0.068,0.141,0.075,0.076,0.025,0.052,0.040,0.028,0.084,0.034,
+0.088,0.091,0.049,0.106,0.065,0.077,0.075,0.058,0.035,0.077,
+0.122,0.161,0.095,0.133,0.074,0.016,0.076,0.097,0.049,0.059,
+0.056,0.100,0.848,0.652,0.379,0.442,1.009,1.084,0.829,0.679,
+0.745,0.155,0.574,0.584,0.388,0.550,0.457,0.549,0.086,0.133,
+0.055,0.059,0.117,0.189,0.134,0.085,0.100,0.050,0.141,0.093,
+0.047,0.111,0.070,0.067,0.726,1.034,0.645,0.730,0.132,0.183,
+0.158,0.173,0.711,0.172,0.300,0.451,0.332,0.769,0.532,0.580,
+0.461,0.354,0.283,0.441,0.848,0.951,0.704,1.142,0.692,0.133,
+0.642,0.671,0.387,0.535,0.543,0.666,0.775,0.454,0.328,0.558,
+0.570,0.436,0.290,0.367,0.482,0.066,0.300,0.438,0.395,0.390,
+0.260,0.482,0.884,0.791,0.413,0.501,0.896,0.989,0.630,0.574,
+0.679,0.117,0.691,0.689,0.446,0.724,0.477,0.530,0.950,1.309,
+0.623,0.934,0.113,0.179,0.103,0.261,0.749,0.124,0.681,0.800,
+0.472,0.892,0.656,0.743,0.606,0.490,0.328,0.559,0.844,0.969,
+0.491,0.828,0.726,0.102,0.645,0.751,0.644,0.782,0.685,0.920,
+1.183,0.689,0.445,0.912,0.758,0.465,0.319,0.466,0.595,0.067,
+0.235,0.376,1.007,0.567,0.308,0.729,0.862,0.578,0.319,0.515,
+0.536,0.383,0.279,0.371,0.397,0.047,0.321,0.395,0.339,0.362,
+0.242,0.412,0.675,1.428,0.360,0.657,0.065,0.089,0.041,0.091,
+0.384,0.054,0.221,0.388,0.405,0.514,0.305,0.535,0.795,0.653,
+0.352,0.784,0.587,0.489,0.337,0.612,0.462,0.048,0.289,0.485,
+0.668,0.473,0.494,1.107,1.397,0.969,0.542,1.058,1.108,1.050,
+0.651,0.805,0.746,0.096,0.416,0.694,0.617,0.683,0.367,0.755,
+1.072,0.985,0.450,0.760,0.954,0.847,0.659,0.801,0.723,0.104,
+0.568,0.817,0.453,0.630,0.411,0.613,0.764,1.111,0.518,0.767,
+0.083,0.133,0.089,0.117,0.639,0.098,0.515,0.780,0.488,0.846,
+0.523,0.863,0.806,0.588,0.410,0.767,0.934,0.971,0.620,0.960,
+0.676,0.073,0.511,0.810,0.588,0.630,0.533,1.043,1.115,0.783,
+0.445,0.634,1.095,0.913,0.769,0.845,0.877,0.141,0.511,0.763,
+0.567,0.642,0.515,0.840,0.130,0.105,0.050,0.076,0.118,0.166,
+0.109,0.108,0.079,0.026,0.088,0.108,0.059,0.106,0.063,0.085,
+0.843,1.063,0.616,0.989,0.101,0.123,0.099,0.263,0.783,0.128,
+0.476,0.687,0.495,0.890,0.649,0.780,0.687,0.521,0.428,0.587,
+1.013,0.940,0.806,1.203,0.801,0.098,0.668,0.815,0.618,0.711,
+0.778,0.981,1.307,0.611,0.482,0.841,0.719,0.509,0.396,0.495,
+0.732,0.106,0.372,0.656,0.558,0.460,0.378,0.917,1.101,0.788,
+0.442,0.679,0.912,0.855,0.600,0.662,0.664,0.074,0.612,0.858,
+0.579,0.631,0.503,0.805,1.126,1.171,0.689,1.107,0.110,0.124,
+0.078,0.155,0.983,0.113,0.759,1.119,0.804,1.137,0.938,1.202,
+1.252,0.717,0.566,1.180,1.135,1.157,0.786,1.113,1.100,0.096,
+0.854,1.362,1.360,1.128,1.224,2.045,2.696,1.558,1.213,2.546,
+1.720,1.008,0.749,1.063,1.451,0.139,0.565,1.006,2.129,1.672,
+0.869,1.843,1.403,0.804,0.510,0.787,0.973,0.604,0.428,0.533,
+0.802,0.064,0.414,0.533,0.711,0.656,0.374,0.688,0.956,0.814,
+0.539,0.994,0.103,0.081,0.062,0.121,0.601,0.054,0.309,0.520,
+0.658,0.737,0.466,0.896,1.761,0.848,0.698,1.470,1.231,0.851,
+0.630,1.037,0.878,0.084,0.494,0.851,1.334,0.889,0.911,2.212,
+1.639,0.854,0.522,0.996,1.079,0.628,0.482,0.647,0.727,0.077,
+0.303,0.511,1.172,0.803,0.368,0.809,0.991,0.627,0.341,0.569,
+0.628,0.355,0.313,0.470,0.546,0.053,0.274,0.407,0.513,0.453,
+0.260,0.472,0.674,0.582,0.408,0.654,0.065,0.054,0.051,0.070,
+0.490,0.044,0.242,0.390,0.471,0.547,0.379,0.641,0.756,0.414,
+0.316,0.624,0.734,0.504,0.331,0.547,0.477,0.037,0.261,0.507,
+0.552,0.488,0.427,1.057,1.459,0.681,0.487,0.911,1.204,0.706,
+0.572,0.784,0.974,0.109,0.313,0.538,1.075,0.883,0.486,1.144,
+0.123,0.081,0.050,0.104,0.120,0.089,0.060,0.101,0.088,0.012,
+0.048,0.073,0.126,0.145,0.064,0.143,0.718,0.586,0.502,0.668,
+0.070,0.052,0.045,0.078,0.523,0.052,0.252,0.399,0.448,0.576,
+0.397,0.568,0.665,0.413,0.387,0.687,0.812,0.589,0.455,0.750,
+0.636,0.062,0.359,0.568,0.673,0.635,0.551,1.075,1.894,0.728,
+0.584,1.376,0.952,0.499,0.405,0.646,1.005,0.089,0.428,0.682,
+1.775,1.023,0.666,1.683,1.183,0.691,0.508,0.890,0.846,0.565,
+0.422,0.655,0.749,0.064,0.412,0.640,0.881,0.847,0.517,1.016,
+0.812,0.675,0.566,0.831,0.076,0.060,0.051,0.083,0.726,0.053,
+0.377,0.610,0.710,0.824,0.599,0.934,1.512,0.847,0.689,1.413,
+1.019,0.785,0.565,0.958,1.144,0.089,0.683,1.194,1.957,1.640,
+1.412,3.130,2.376,1.380,0.949,1.841,1.631,1.071,0.819,1.042,
+1.114,0.131,0.500,0.781,1.329,1.349,0.690,1.304,1.806,1.086,
+0.686,1.144,1.528,0.928,0.773,0.915,0.855,0.108,0.532,0.750,
+0.705,0.798,0.523,0.883,1.041,1.186,0.646,1.077,0.144,0.140,
+0.088,0.141,0.635,0.085,0.411,0.666,0.629,0.839,0.587,0.996,
+1.164,0.726,0.525,1.032,1.477,1.117,0.667,0.972,0.760,0.076,
+0.455,0.794,0.928,0.663,0.745,1.468,1.801,1.242,0.621,1.127,
+1.506,1.234,0.803,1.221,0.912,0.132,0.343,0.578,0.903,1.230,
+0.471,0.952,1.408,1.241,0.578,0.914,1.338,0.965,0.773,1.118,
+0.911,0.143,0.497,0.708,0.589,0.845,0.456,0.713,0.894,1.157,
+0.615,0.880,0.130,0.182,0.135,0.143,0.790,0.133,0.470,0.685,
+0.586,1.018,0.637,1.015,0.789,0.623,0.370,0.729,1.098,1.161,
+0.647,0.821,0.633,0.071,0.379,0.748,0.667,0.681,0.528,1.207,
+1.213,0.694,0.409,0.738,1.159,0.904,0.711,0.831,0.769,0.122,
+0.361,0.487,0.700,0.728,0.476,0.897,0.084,0.085,0.047,0.094,
+0.118,0.136,0.096,0.113,0.079,0.026,0.070,0.085,0.073,0.128,
+0.071,0.094,0.853,0.978,0.637,0.825,0.116,0.120,0.094,0.121,
+0.823,0.124,0.480,0.666,0.508,0.914,0.647,0.818,0.768,0.491,
+0.437,0.748,1.190,1.196,0.857,1.026,0.920,0.090,0.557,0.811,
+0.704,0.679,0.739,1.204,1.188,0.642,0.470,0.905,0.759,0.551,
+0.413,0.554,0.701,0.075,0.333,0.498,0.858,0.685,0.480,1.056,
+1.208,0.973,0.617,1.009,1.121,0.975,0.723,0.904,0.792,0.107,
+0.532,0.793,0.774,1.128,0.644,1.040,0.809,0.922,0.668,0.927,
+0.088,0.092,0.062,0.089,0.735,0.076,0.500,0.742,0.631,0.898,
+0.669,1.004,1.115,0.704,0.570,0.956,1.073,0.894,0.596,0.779,
+0.999,0.088,0.649,0.998,1.243,1.134,1.079,1.925,1.111,0.844,
+0.510,1.061,0.793,0.696,0.398,0.658,0.631,0.074,0.286,0.510,
+0.738,0.660,0.350,0.752,0.986,0.845,0.402,0.719,0.762,0.607,
+0.417,0.457,0.634,0.085,0.494,0.564,0.482,0.718,0.364,0.674,
+0.775,1.007,0.665,0.883,0.182,0.133,0.151,0.166,0.564,0.081,
+0.377,0.784,0.438,0.773,0.465,1.185,0.733,0.583,0.403,0.867,
+0.775,0.778,0.573,0.830,0.695,0.078,0.444,0.835,0.775,0.618,
+0.653,1.486,0.085,0.069,0.039,0.079,0.152,0.097,0.054,0.066,
+0.056,0.012,0.036,0.051,0.062,0.073,0.052,0.087,0.066,0.070,
+0.030,0.054,0.080,0.098,0.057,0.056,0.056,0.015,0.061,0.060,
+0.039,0.067,0.034,0.056,0.058,0.091,0.116,0.081,0.017,0.026,
+0.077,0.022,0.079,0.019,0.060,0.099,0.051,0.102,0.068,0.241,
+0.068,0.057,0.046,0.085,0.102,0.128,0.144,0.118,0.069,9.67e-3,
+0.055,0.085,0.065,0.068,0.066,0.149,0.813,0.579,0.350,0.528,
+0.755,0.744,0.584,0.595,0.598,0.109,0.642,0.562,0.426,0.561,
+0.477,0.683,0.065,0.084,0.038,0.060,0.067,0.092,0.063,0.051,
+0.066,0.024,0.203,0.078,0.050,0.094,0.067,0.067,0.588,0.864,
+0.521,0.654,0.078,0.114,0.085,0.090,0.611,0.101,0.318,0.450,
+0.355,0.699,0.483,0.671,0.511,0.402,0.304,0.463,0.734,0.800,
+0.550,0.736,0.660,0.083,0.870,0.705,0.488,0.580,0.641,0.896,
+0.822,0.477,0.329,0.647,0.589,0.447,0.305,0.413,0.501,0.056,
+0.348,0.459,0.569,0.476,0.363,0.722,0.955,0.800,0.457,0.758,
+0.766,0.826,0.505,0.538,0.659,0.086,0.712,0.704,0.604,0.844,
+0.580,0.792,0.835,1.062,0.648,0.983,0.123,0.242,0.099,0.138,
+0.713,0.095,0.509,0.776,0.638,0.935,0.699,0.996,0.742,0.595,
+0.431,0.738,0.775,0.939,0.525,0.749,0.832,0.087,0.711,0.872,
+0.888,0.968,0.939,1.450,2.349,1.100,0.713,1.818,0.956,0.613,
+0.424,0.816,0.844,0.081,0.336,0.666,1.168,0.896,0.518,1.300,
+1.109,0.746,0.382,0.771,0.702,0.526,0.331,0.520,0.590,0.059,
+0.310,0.516,0.514,0.622,0.316,0.648,1.047,2.354,0.496,1.057,
+0.077,0.122,0.047,0.116,0.510,0.074,0.270,0.544,0.571,0.702,
+0.396,0.925,1.408,1.049,0.578,1.416,0.884,0.716,0.481,0.987,
+0.747,0.065,0.477,0.998,1.306,0.851,0.869,2.457,1.224,0.725,
+0.442,0.953,0.836,0.611,0.416,0.573,0.578,0.061,0.260,0.550,
+0.623,0.604,0.347,1.020,0.931,0.675,0.343,0.714,0.641,0.544,
+0.345,0.499,0.576,0.061,0.369,0.626,0.446,0.557,0.351,0.721,
+0.714,0.829,0.470,0.758,0.054,0.068,0.089,0.077,0.537,0.062,
+0.329,0.636,0.533,0.847,0.472,1.238,0.814,0.522,0.398,0.794,
+0.799,0.695,0.538,0.822,0.605,0.050,0.397,0.731,0.719,0.658,
+0.586,1.477,1.421,0.862,0.582,1.024,1.125,0.832,0.662,0.980,
+0.888,0.111,0.489,0.749,0.823,0.796,0.694,1.291,0.111,0.090,
+0.048,0.091,0.082,0.095,0.060,0.087,0.064,0.013,0.068,0.078,
+0.072,0.108,0.060,0.113,0.980,1.082,0.673,1.131,0.084,0.087,
+0.062,0.125,0.820,0.097,0.481,0.755,0.677,0.955,0.768,1.106,
+1.067,0.734,0.627,0.918,1.298,1.047,0.810,1.215,1.145,0.117,
+1.007,1.167,0.972,0.895,1.100,1.644,2.338,0.982,0.715,1.533,
+1.069,0.778,0.552,0.790,1.059,0.093,0.514,0.921,1.473,1.047,
+0.867,2.224,1.664,1.066,0.621,1.094,1.205,1.320,0.714,0.883,
+1.118,0.090,0.676,1.035,1.037,1.064,0.752,1.493,1.579,1.507,
+0.941,1.657,0.106,0.115,0.072,0.127,1.261,0.105,0.843,1.444,
+1.377,1.604,1.326,2.149,2.580,1.330,1.054,2.432,1.704,1.381,
+1.037,1.808,1.892,0.127,1.329,2.509,3.042,2.079,2.099,4.219,
+5.177,2.419,1.759,3.075,2.830,2.027,1.423,1.674,2.632,0.294,
+1.061,1.710,3.022,2.581,1.331,2.261,3.272,2.232,1.189,1.546,
+2.387,1.778,1.156,1.086,1.696,0.191,0.957,1.152,1.174,1.343,
+0.863,1.303,2.032,1.914,1.203,1.560,0.212,0.244,0.160,0.246,
+1.378,0.193,0.756,0.949,1.110,1.838,0.924,1.359,2.682,1.385,
+1.201,2.016,2.122,1.714,1.323,1.864,1.448,0.157,0.815,1.227,
+1.784,1.286,1.219,2.095,3.674,2.314,1.099,1.792,2.496,2.126,
+1.117,1.230,1.715,0.239,0.694,1.069,1.206,1.484,0.712,1.176,
+3.051,2.348,0.937,1.213,2.155,1.803,1.032,0.953,1.578,0.273,
+0.889,1.184,0.840,1.317,0.650,0.855,1.437,1.855,0.837,1.106,
+0.166,0.259,0.146,0.152,1.542,0.282,0.936,1.058,0.788,1.681,
+0.872,1.060,1.137,0.897,0.519,0.846,1.429,1.436,0.732,0.949,
+1.208,0.144,0.744,0.884,0.925,0.963,0.843,1.303,1.588,0.943,
+0.614,0.909,1.519,1.028,0.793,0.799,1.256,0.184,0.526,0.858,
+0.896,0.914,0.648,1.114,0.146,0.137,0.069,0.099,0.151,0.162,
+0.101,0.095,0.137,0.042,0.094,0.134,0.110,0.197,0.097,0.142,
+0.916,0.937,0.645,0.641,0.108,0.133,0.102,0.100,0.826,0.144,
+0.503,0.635,0.447,0.819,0.574,0.533,0.723,0.562,0.492,0.628,
+1.095,1.040,0.710,0.868,0.943,0.124,0.624,0.861,0.753,0.826,
+0.722,1.013,2.166,0.964,0.632,1.375,1.084,0.673,0.536,0.713,
+1.113,0.113,0.430,0.843,1.298,0.942,0.689,1.596,1.712,1.256,
+0.682,0.967,1.430,1.110,0.706,0.789,1.225,0.128,0.627,0.997,
+1.003,1.147,0.681,1.162,1.034,0.970,0.736,1.008,0.131,0.108,
+0.112,0.114,0.860,0.100,0.565,0.821,0.728,1.032,0.724,0.923,
+1.310,0.832,0.809,1.239,0.956,0.851,0.734,0.898,1.260,0.132,
+0.782,1.246,1.468,1.363,1.133,2.029,3.499,2.434,1.412,2.200,
+2.062,2.002,1.190,1.145,1.247,0.195,0.661,0.978,1.166,1.530,
+1.096,1.408,2.411,2.523,1.044,1.204,2.083,1.943,1.235,1.049,
+1.182,0.215,0.774,0.986,0.692,1.101,0.664,0.939,1.159,1.932,
+0.890,1.026,0.180,0.322,0.173,0.180,0.988,0.193,0.771,0.756,
+0.592,1.240,0.709,0.923,1.232,0.821,0.582,0.869,1.416,1.544,
+0.788,0.936,0.787,0.161,0.481,0.646,0.837,0.773,0.681,1.283,
+2.473,2.520,0.839,1.178,2.069,2.841,1.139,0.955,1.143,0.251,
+0.547,0.783,0.707,1.294,0.913,1.020,1.937,2.681,0.872,0.883,
+1.908,1.534,1.264,0.948,1.296,0.344,0.716,0.943,0.592,1.351,
+0.641,0.687,1.091,2.419,0.756,0.880,0.233,0.670,0.219,0.167,
+1.734,0.718,0.863,1.081,0.737,2.949,0.882,0.970,0.899,0.888,
+0.388,0.559,1.478,2.088,0.735,0.802,0.988,0.216,0.492,0.640,
+0.635,1.212,0.546,0.896,1.127,0.990,0.470,0.671,1.427,1.568,
+1.030,0.811,0.944,0.184,0.532,0.656,0.510,0.774,0.569,0.736,
+0.107,0.218,0.072,0.096,0.166,0.340,0.196,0.115,0.177,0.103,
+0.151,0.149,0.065,0.193,0.102,0.096,0.850,1.388,0.856,0.750,
+0.178,0.317,0.222,0.145,1.122,0.270,0.821,0.897,0.439,1.227,
+0.811,0.680,0.691,0.550,0.425,0.534,1.264,1.701,1.052,0.958,
+1.032,0.163,0.751,0.912,0.613,0.839,0.711,0.912,0.932,0.640,
+0.370,0.617,0.745,0.667,0.441,0.419,0.737,0.077,0.246,0.391,
+0.538,0.502,0.360,0.656,1.026,1.249,0.575,0.709,1.084,1.412,
+0.710,0.757,1.610,0.182,0.470,0.676,0.583,0.952,0.491,0.699,
+0.729,1.122,0.607,0.702,0.091,0.169,0.089,0.089,0.747,0.133,
+0.584,0.717,0.493,0.965,0.894,0.853,0.770,0.645,0.437,0.612,
+0.792,0.996,0.526,0.664,1.139,0.271,0.615,0.827,0.881,1.305,
+0.955,1.318,1.422,1.128,0.620,1.098,0.916,0.849,0.500,0.646,
+0.803,0.101,0.345,0.603,0.675,0.748,0.392,0.768,1.387,1.545,
+0.673,0.847,1.145,1.133,0.745,0.670,0.966,0.190,0.662,0.775,
+0.535,1.019,0.515,0.704,0.981,1.617,0.760,0.911,0.142,0.224,
+0.131,0.179,0.775,0.139,0.523,0.618,0.468,0.994,0.506,0.774,
+0.806,0.628,0.420,0.708,0.913,0.925,0.519,0.709,0.711,0.102,
+0.498,0.749,0.757,0.715,0.654,1.601,0.099,0.122,0.053,0.084,
+0.125,0.208,0.086,0.076,0.119,0.032,0.062,0.073,0.061,0.118,
+0.057,0.078,0.121,0.202,0.087,0.096,0.170,0.278,0.137,0.099,
+0.133,0.067,0.118,0.119,0.058,0.169,0.075,0.076,0.080,0.203,
+0.087,0.083,0.030,0.093,0.059,0.031,0.128,0.073,0.129,0.124,
+0.059,0.220,0.094,0.099,0.079,0.083,0.047,0.079,0.164,0.282,
+0.134,0.138,0.107,0.029,0.094,0.105,0.081,0.118,0.087,0.155,
+0.663,0.602,0.309,0.417,0.787,0.835,0.578,0.463,0.932,0.160,
+0.439,0.540,0.387,0.576,0.378,0.485,0.072,0.128,0.051,0.049,
+0.088,0.153,0.100,0.055,0.100,0.052,0.083,0.089,0.052,0.137,
+0.067,0.061,0.561,1.029,0.530,0.450,0.102,0.189,0.127,0.082,
+0.778,0.191,0.425,0.611,0.334,0.867,0.557,0.494,0.430,0.392,
+0.270,0.303,0.655,0.893,0.594,0.526,0.714,0.126,0.497,0.594,
+0.379,0.600,0.446,0.559,0.701,0.493,0.271,0.590,0.601,0.428,
+0.254,0.294,1.218,0.087,0.226,0.393,0.590,0.465,0.264,0.551,
+0.913,0.933,0.444,0.502,0.888,0.959,0.566,0.512,0.786,0.124,
+0.468,0.668,0.520,0.909,0.469,0.638,0.784,0.994,0.556,0.564,
+0.130,0.169,0.092,0.081,0.814,0.130,0.523,0.701,0.496,1.036,
+0.567,0.687,0.680,0.515,0.441,0.445,0.795,0.900,0.549,0.571,
+0.937,0.126,0.730,0.896,0.761,1.039,0.730,1.129,1.667,1.100,
+0.698,1.441,0.784,0.600,0.384,0.525,0.676,0.082,0.290,0.576,
+0.971,0.807,0.479,1.144,0.908,0.698,0.359,0.668,0.623,0.474,
+0.296,0.369,0.490,0.058,0.259,0.450,0.424,0.465,0.287,0.554,
+0.859,0.822,0.415,0.769,0.078,0.081,0.048,0.099,0.500,0.059,
+0.285,0.420,0.424,0.544,0.335,0.585,1.022,0.619,0.495,1.112,
+0.805,0.660,0.421,0.739,0.618,0.065,0.440,0.650,1.029,0.774,
+0.667,1.728,1.409,1.156,0.591,1.146,1.123,1.151,0.557,0.741,
+0.935,0.129,0.417,0.730,0.703,0.935,0.451,0.797,1.211,1.390,
+0.511,1.115,1.141,1.348,0.634,0.724,0.850,0.161,0.523,0.870,
+0.536,0.956,0.522,0.715,0.763,1.095,0.441,0.672,0.085,0.165,
+0.080,0.099,0.769,0.136,0.571,0.723,0.537,1.122,0.568,0.777,
+0.663,0.557,0.362,0.645,0.955,1.211,0.563,0.874,0.706,0.088,
+0.487,0.701,0.670,0.777,0.571,1.124,0.815,0.576,0.321,0.515,
+0.750,0.647,0.430,0.494,0.837,0.195,0.534,0.929,0.591,0.712,
+0.444,0.754,0.063,0.073,0.035,0.063,0.062,0.097,0.051,0.053,
+0.075,0.029,0.078,0.221,0.054,0.102,0.053,0.091,0.543,0.758,
+0.423,0.484,0.067,0.094,0.073,0.074,0.685,0.116,0.407,0.646,
+0.389,0.749,0.524,0.599,0.497,0.451,0.297,0.424,0.728,0.739,
+0.542,0.668,0.777,0.113,0.479,0.732,0.522,0.680,0.534,0.831,
+1.460,0.694,0.395,0.824,0.788,0.607,0.320,0.478,2.224,0.133,
+0.328,0.607,1.161,0.736,0.496,1.139,0.771,0.600,0.315,0.529,
+0.711,0.635,0.383,0.514,0.721,0.067,0.380,0.976,0.550,0.648,
+0.400,0.848,0.989,0.940,0.540,0.807,0.110,0.104,0.059,0.095,
+0.901,0.094,0.541,0.830,0.702,1.054,0.722,0.982,1.162,0.764,
+0.546,1.158,1.199,1.131,0.669,0.985,1.313,0.116,0.816,1.361,
+1.574,1.394,1.220,2.332,3.235,2.043,1.314,2.212,2.146,1.929,
+1.012,1.199,1.554,0.231,0.791,1.236,1.605,1.800,0.841,1.497,
+2.283,2.044,0.972,1.268,2.183,2.179,1.140,1.062,1.374,0.237,
+1.118,1.179,0.811,1.292,0.766,1.018,1.021,1.176,0.753,0.939,
+0.123,0.168,0.115,0.159,0.770,0.139,0.598,0.618,0.552,0.969,
+0.643,0.797,1.138,0.710,0.568,0.996,1.121,1.128,0.713,1.037,
+0.764,0.112,0.543,0.744,0.865,0.775,0.753,1.255,2.538,1.919,
+0.758,1.312,2.219,2.181,0.895,0.932,1.365,0.262,0.761,0.966,
+0.859,1.306,0.507,0.863,2.035,2.285,0.827,1.359,2.471,2.495,
+1.098,1.098,1.636,0.519,1.716,1.946,0.779,1.717,0.695,0.855,
+0.815,1.467,0.625,0.692,0.154,0.309,0.177,0.140,1.084,0.288,
+0.882,0.832,0.614,1.388,0.768,0.781,0.613,0.592,0.333,0.496,
+1.013,1.338,0.568,0.751,0.766,0.132,0.532,0.683,0.585,0.743,
+0.626,0.938,1.051,0.783,0.464,0.652,1.378,1.244,0.750,0.771,
+1.190,0.197,0.531,0.692,0.604,0.802,0.499,0.863,0.093,0.150,
+0.079,0.091,0.162,0.274,0.137,0.122,0.139,0.079,0.138,0.146,
+0.073,0.208,0.094,0.115,0.536,0.837,0.713,0.537,0.100,0.156,
+0.121,0.107,0.828,0.188,0.660,0.706,0.373,0.858,0.566,0.556,
+0.447,0.440,0.928,0.582,0.798,0.958,0.636,0.767,0.754,0.147,
+0.592,0.725,0.495,0.794,0.651,0.855,1.056,0.547,0.383,0.789,
+0.667,0.521,0.319,0.421,0.713,0.081,0.285,0.450,0.679,0.596,
+0.385,0.941,1.001,0.992,0.558,0.761,1.146,1.404,0.659,0.753,
+0.804,0.138,0.587,0.824,0.506,0.938,0.473,0.768,0.527,0.647,
+0.514,0.563,0.064,0.091,0.078,0.078,0.622,0.103,0.482,0.627,
+0.422,0.747,0.497,0.621,0.744,0.612,1.658,1.034,0.553,0.689,
+0.610,0.634,0.760,0.103,0.575,0.834,0.809,0.977,0.830,1.452,
+2.593,1.718,0.977,1.431,1.701,1.937,0.963,0.913,0.927,0.148,
+0.473,0.649,0.704,0.929,0.493,0.781,1.618,1.721,0.757,0.868,
+1.704,2.483,1.201,0.997,0.929,0.243,0.751,0.843,0.455,0.955,
+0.483,0.653,0.766,1.302,0.792,0.728,0.121,0.256,0.161,0.145,
+0.614,0.156,0.668,0.568,0.386,0.847,0.546,0.654,0.671,0.501,
+0.366,0.581,0.847,1.253,0.580,0.673,0.494,0.081,0.406,0.483,
+0.635,0.547,0.474,0.823,1.644,1.283,0.452,0.623,1.016,1.615,
+0.575,0.541,0.754,0.167,0.385,0.469,0.420,0.780,0.315,0.487,
+0.706,0.645,0.318,0.403,0.340,0.658,0.299,0.347,0.548,0.308,
+0.378,0.478,0.219,0.721,0.286,0.338,0.548,1.341,0.510,0.522,
+0.141,0.636,0.238,0.154,0.680,0.272,0.521,0.617,0.335,1.224,
+0.602,0.603,0.386,0.467,0.253,0.302,0.726,1.707,0.538,0.621,
+0.512,0.130,0.417,0.538,0.379,0.650,0.375,0.546,0.799,0.785,
+0.362,0.478,1.276,1.871,0.961,0.789,0.799,0.184,0.515,0.577,
+0.404,0.713,0.478,0.624,0.084,0.220,0.089,0.094,0.229,0.841,
+0.312,0.201,0.149,0.168,0.206,0.170,0.053,0.242,0.116,0.092,
+0.641,1.241,0.696,0.608,0.183,0.417,0.255,0.161,0.817,0.243,
+0.624,0.739,0.391,1.278,0.777,0.681,0.418,0.441,0.373,0.401,
+1.087,1.857,1.145,0.955,0.862,0.163,0.813,0.816,0.500,0.750,
+0.771,0.858,0.618,0.486,0.250,0.400,0.598,0.715,0.282,0.324,
+0.550,0.068,0.227,0.288,0.384,0.411,0.254,0.438,0.700,1.112,
+0.504,0.628,1.106,2.429,0.801,0.861,0.685,0.176,0.501,0.645,
+0.355,0.931,0.468,0.579,0.472,0.946,0.501,0.510,0.077,0.207,
+0.105,0.088,0.550,0.130,0.651,0.654,0.329,0.833,0.738,0.698,
+0.472,0.480,0.355,0.454,0.545,1.027,0.479,0.595,0.600,0.095,
+0.506,0.602,0.501,0.765,0.952,1.110,1.252,1.126,0.508,0.877,
+1.005,1.043,0.482,0.787,1.554,0.155,0.370,0.516,0.629,0.727,
+0.325,0.625,1.303,1.839,0.610,0.948,1.602,2.162,1.033,1.035,
+1.164,0.289,1.023,1.034,0.528,1.246,0.510,0.715,0.658,1.328,
+0.625,0.702,0.128,0.289,0.132,0.183,0.746,0.190,0.560,0.710,
+0.391,1.010,0.468,0.622,0.521,0.515,0.279,0.573,0.771,1.284,
+0.495,0.731,0.647,0.124,0.577,0.757,0.534,0.639,0.538,1.148,
+0.099,0.126,0.047,0.078,0.179,0.325,0.130,0.120,0.355,0.056,
+0.084,0.087,0.077,0.135,0.063,0.075,0.125,0.298,0.090,0.201,
+0.310,0.899,0.325,0.211,0.198,0.211,0.264,0.216,0.063,0.260,
+0.089,0.102,0.070,0.274,0.105,0.082,0.051,0.252,0.129,0.053,
+0.153,0.144,0.214,0.214,0.056,0.262,0.128,0.097,0.051,0.094,
+0.033,0.059,0.181,0.576,0.141,0.173,0.102,0.051,0.126,0.129,
+0.056,0.106,0.077,0.114,0.705,0.838,0.362,0.428,1.023,1.615,
+0.793,0.645,0.999,0.246,0.694,0.680,0.431,0.798,0.464,0.602,
+0.088,0.264,0.083,0.073,0.167,0.548,0.244,0.123,0.172,0.151,
+0.225,0.162,0.061,0.234,0.102,0.091,0.554,1.315,0.611,0.501,
+0.129,0.327,0.184,0.119,0.896,0.281,0.512,0.721,0.384,1.213,
+0.629,0.601,0.371,0.459,0.283,0.351,0.870,1.639,0.789,0.911,
+0.959,0.228,0.838,0.895,0.427,0.833,0.631,0.836,0.605,0.490,
+0.236,0.448,0.526,0.533,0.241,0.301,0.586,0.084,0.283,0.392,
+0.385,0.469,0.244,0.533,0.970,1.416,0.554,0.606,1.385,2.204,
+0.994,0.881,1.133,0.307,1.001,1.136,0.540,1.345,0.651,0.787,
+1.121,1.340,0.646,0.598,0.112,0.235,0.118,0.096,0.996,0.245,
+0.874,0.962,0.474,1.385,0.711,0.780,0.594,0.530,0.353,0.534,
+0.622,0.999,0.519,0.638,0.907,0.146,0.926,1.016,0.663,1.072,
+0.802,1.142,1.020,0.694,0.405,0.882,0.669,0.591,0.298,0.500,
+0.603,0.072,0.253,0.465,0.556,0.532,0.267,0.795,0.837,0.793,
+0.316,0.567,0.692,0.822,0.347,0.472,0.450,0.069,0.283,0.454,
+0.342,0.458,0.219,0.447,0.569,0.679,0.344,0.619,0.056,0.077,
+0.038,0.084,0.374,0.055,0.261,0.363,0.299,0.418,0.250,0.416,
+0.553,0.402,0.279,0.786,0.493,0.529,0.272,0.583,0.422,0.048,
+0.287,0.479,0.495,0.437,0.364,0.929,0.963,0.900,0.404,0.714,
+1.048,1.392,0.650,0.727,1.265,0.169,0.485,0.673,0.575,0.901,
+0.379,0.663,0.991,1.479,0.469,0.902,1.487,2.646,0.926,1.052,
+0.916,0.244,0.703,0.930,0.509,1.121,0.498,0.683,0.509,1.123,
+0.428,0.532,0.085,0.262,0.103,0.113,0.650,0.155,0.567,0.673,
+0.405,1.021,0.523,0.582,0.384,0.436,0.290,0.477,0.783,1.429,
+0.535,1.005,0.606,0.108,0.516,0.644,0.457,0.650,0.453,0.845,
+0.711,0.573,0.297,0.399,0.866,1.019,0.581,0.584,0.784,0.149,
+0.484,0.635,0.489,0.644,0.409,0.665,0.060,0.091,0.038,0.050,
+0.086,0.245,0.099,0.075,0.077,0.044,0.084,0.096,0.045,0.115,
+0.061,0.072,0.434,0.761,0.410,0.436,0.073,0.139,0.091,0.083,
+0.756,0.188,0.648,0.771,0.382,0.916,0.584,0.616,0.369,0.407,
+0.270,0.376,0.697,0.975,0.598,0.769,1.006,0.196,0.750,0.880,
+0.515,0.875,0.628,0.907,0.795,0.502,0.267,0.554,0.541,0.581,
+0.258,0.359,0.588,0.063,0.245,0.394,0.517,0.449,0.314,0.740,
+0.706,0.645,0.294,0.484,0.749,1.123,0.470,0.597,0.562,0.082,
+0.397,0.614,0.427,0.623,0.400,0.823,0.967,0.760,0.475,0.584,
+0.097,0.097,0.059,0.085,0.697,0.102,0.596,0.708,0.480,0.848,
+0.631,0.768,0.694,0.514,0.385,0.799,0.819,0.978,0.541,0.849,
+1.204,0.160,0.755,1.165,1.048,1.188,1.019,1.702,1.738,1.343,
+1.000,1.524,1.478,1.283,0.842,0.907,1.049,0.138,0.503,0.765,
+1.178,1.114,0.682,1.097,1.340,1.283,0.631,0.790,1.186,0.915,
+0.732,0.687,0.738,0.121,0.500,0.562,0.556,0.789,0.612,0.817,
+0.994,1.225,0.651,1.189,0.111,0.120,0.087,0.155,0.666,0.095,
+0.407,0.516,0.429,0.685,0.456,0.650,0.928,0.558,0.441,0.848,
+0.882,0.786,0.557,0.775,0.565,0.064,0.382,0.533,0.719,0.534,
+0.599,1.118,1.967,1.851,0.797,1.222,2.009,2.204,1.389,1.166,
+1.107,0.199,0.496,0.630,0.783,1.109,0.730,0.879,1.807,2.467,
+0.855,0.955,1.755,1.662,1.383,1.027,1.560,0.399,0.852,0.974,
+0.693,1.477,0.691,0.744,0.984,1.744,0.801,0.997,0.175,0.330,
+0.211,0.202,1.258,0.289,1.019,1.132,0.565,1.455,0.947,0.926,
+0.707,0.629,0.350,0.609,1.160,1.421,0.767,0.938,0.744,0.108,
+0.467,0.702,0.599,0.670,0.627,1.092,1.030,0.774,0.393,0.780,
+1.474,1.192,0.905,1.010,1.278,0.263,0.445,0.611,0.901,1.099,
+0.533,0.835,0.118,0.215,0.073,0.215,0.162,0.221,0.151,0.235,
+0.204,0.080,0.106,0.119,0.123,0.343,0.123,0.143,0.687,0.898,
+0.625,0.780,0.130,0.162,0.151,0.173,0.817,0.216,0.503,0.560,
+0.436,1.054,0.620,0.637,0.541,0.398,0.303,0.532,0.949,1.071,
+0.790,1.026,0.775,0.124,0.452,0.588,0.616,0.670,0.600,0.888,
+1.023,0.621,0.342,0.722,0.652,0.469,0.380,0.546,0.645,0.087,
+0.262,0.402,0.834,0.683,0.417,0.897,1.036,1.511,0.483,0.896,
+0.910,0.919,0.705,1.235,0.936,0.195,0.462,0.643,0.644,1.109,
+0.541,0.786,0.630,0.842,0.622,0.787,0.087,0.106,0.103,0.135,
+0.743,0.120,0.566,0.761,0.566,1.022,0.755,0.902,0.807,0.571,
+0.459,0.842,0.698,0.667,0.587,0.829,0.898,0.114,0.629,0.944,
+1.208,1.235,1.083,1.805,0.107,0.133,0.129,0.090,0.113,0.178,
+0.095,0.087,0.077,0.024,0.043,0.055,0.058,0.095,0.070,0.078,
+0.151,0.232,0.124,0.113,0.223,0.287,0.239,0.163,0.133,0.074,
+0.116,0.104,0.060,0.159,0.092,0.087,0.122,0.378,0.093,0.090,
+0.029,0.064,0.038,0.028,0.081,0.039,0.087,0.079,0.038,0.114,
+0.072,0.076,0.073,0.079,0.045,0.064,0.122,0.166,0.104,0.099,
+0.077,0.019,0.080,0.082,0.070,0.071,0.095,0.119,0.129,0.225,
+0.079,0.080,0.199,0.485,0.239,0.138,0.106,0.063,0.070,0.068,
+0.052,0.138,0.219,0.085,0.231,0.489,0.159,0.124,0.405,0.656,
+0.534,0.268,0.335,0.312,0.198,0.183,0.097,0.370,0.141,0.095,
+0.107,0.352,0.136,0.107,0.080,0.421,0.174,0.065,0.218,0.204,
+0.223,0.186,0.060,0.329,0.197,0.128,0.070,0.082,0.044,0.052,
+0.155,0.340,0.165,0.124,0.099,0.039,0.081,0.082,0.055,0.099,
+0.086,0.110,0.073,0.089,0.043,0.120,0.148,0.246,0.174,0.182,
+0.160,0.087,0.089,0.076,0.057,0.167,0.069,0.069,0.026,0.080,
+0.031,0.109,0.076,0.215,0.148,0.128,0.083,0.128,0.090,0.064,
+0.017,0.096,0.043,0.028,0.085,0.187,0.143,0.144,0.056,0.152,
+0.141,0.060,0.237,0.207,0.212,0.154,0.069,0.348,0.168,0.113,
+0.060,0.056,0.045,0.068,0.155,0.291,0.221,0.169,0.146,0.067,
+0.146,0.122,0.056,0.111,0.103,0.105,0.071,0.112,0.037,0.063,
+0.062,0.082,0.050,0.083,0.062,0.015,0.031,0.037,0.056,0.074,
+0.046,0.075,0.239,0.735,0.109,0.243,0.196,0.328,0.234,0.520,
+0.216,0.096,0.108,0.128,0.089,0.283,0.109,0.129,0.064,0.148,
+0.089,0.090,0.020,0.055,0.036,0.034,0.120,0.060,0.136,0.136,
+0.059,0.181,0.137,0.117,0.066,0.075,0.045,0.068,0.082,0.118,
+0.078,0.093,0.099,0.028,0.092,0.108,0.081,0.134,0.128,0.154,
+1.131,0.980,0.544,0.895,1.112,1.479,0.674,0.740,1.047,0.159,
+0.404,0.551,0.661,0.685,0.378,0.639,1.181,1.346,0.640,0.790,
+1.526,1.466,1.683,1.018,1.051,0.247,0.944,0.849,0.485,1.011,
+0.572,0.684,0.743,1.425,0.844,0.968,0.153,0.281,0.217,0.268,
+0.944,0.222,0.704,0.821,0.408,1.081,0.605,0.735,0.589,0.479,
+0.345,0.595,0.790,0.966,0.649,0.840,0.648,0.122,0.523,0.836,
+0.596,0.623,0.600,1.161,0.108,0.171,0.059,0.093,0.254,0.692,
+0.200,0.161,0.118,0.049,0.091,0.110,0.058,0.111,0.062,0.084,
+0.135,0.252,0.111,0.096,0.286,0.441,0.532,0.243,0.189,0.146,
+0.259,0.195,0.059,0.182,0.109,0.089,0.080,0.267,0.130,0.113,
+0.052,0.187,0.142,0.063,0.188,0.160,0.259,0.223,0.059,0.241,
+0.155,0.120,0.070,0.077,0.044,0.072,0.163,0.302,0.171,0.181,
+0.103,0.039,0.115,0.134,0.060,0.087,0.083,0.130,0.707,0.814,
+0.372,0.405,1.224,1.640,1.143,0.736,0.835,0.229,0.656,0.613,
+0.391,0.712,0.502,0.575,0.090,0.214,0.081,0.072,0.173,0.374,
+0.324,0.123,0.148,0.120,0.199,0.122,0.055,0.189,0.101,0.085,
+0.720,1.360,0.907,0.687,0.173,0.353,0.350,0.174,0.898,0.250,
+0.373,0.584,0.365,1.041,0.847,0.700,0.477,0.428,0.326,0.347,
+0.969,1.477,1.132,0.875,0.802,0.186,0.714,0.741,0.400,0.656,
+0.695,0.763,0.643,0.458,0.290,0.486,0.617,0.606,0.338,0.358,
+0.461,0.081,0.287,0.380,0.420,0.470,0.286,0.557,0.963,1.232,
+0.562,0.587,1.281,1.744,1.297,0.878,0.892,0.227,0.852,0.816,
+0.557,1.144,0.693,0.779,1.052,1.506,0.830,0.868,0.158,0.311,
+0.196,0.167,1.127,0.248,1.420,1.191,0.581,1.397,1.039,0.959,
+0.591,0.504,0.345,0.516,0.804,1.101,0.677,0.711,0.854,0.151,
+0.865,0.941,0.678,1.060,0.845,1.094,1.020,0.693,0.399,0.793,
+0.680,0.651,0.375,0.512,0.595,0.087,0.230,0.443,0.594,0.580,
+0.306,1.204,0.785,0.743,0.301,0.431,0.618,0.509,0.399,0.366,
+0.383,0.060,0.321,0.336,0.287,0.411,0.318,0.420,0.592,0.870,
+0.391,0.599,0.068,0.093,0.057,0.095,0.470,0.071,0.283,0.423,
+0.391,0.597,0.383,0.585,0.634,0.449,0.330,0.585,0.568,0.523,
+0.365,0.578,0.424,0.050,0.259,0.436,0.665,0.567,0.503,1.149,
+1.309,1.380,0.598,1.008,1.560,2.434,1.017,1.014,0.815,0.173,
+0.544,0.750,0.548,0.862,0.487,0.783,1.470,2.538,0.740,0.876,
+1.742,2.013,1.544,1.182,1.092,0.280,0.950,1.142,0.552,1.142,
+1.094,0.826,0.886,2.112,0.807,0.989,0.148,0.385,0.203,0.209,
+1.110,0.286,1.015,1.249,0.601,1.643,0.946,1.126,0.694,0.714,
+0.490,0.649,1.152,1.555,0.966,1.297,0.823,0.125,0.660,0.915,
+0.609,0.831,0.685,1.215,0.948,1.290,0.411,0.550,1.338,1.305,
+0.931,0.851,1.075,0.342,0.635,1.235,0.535,0.964,0.526,0.828,
+0.086,0.142,0.048,0.075,0.133,0.233,0.175,0.119,0.102,0.060,
+0.116,0.150,0.054,0.145,0.081,0.089,0.739,1.287,0.737,0.772,
+0.141,0.252,0.192,0.178,1.055,0.274,0.750,0.957,0.495,1.258,
+0.926,0.907,0.564,0.544,0.400,0.494,1.158,1.344,1.227,1.230,
+0.884,0.162,0.777,0.987,0.572,0.778,0.822,1.087,1.069,0.607,
+0.375,0.659,0.700,0.595,0.409,0.465,0.622,0.097,0.309,0.539,
+0.621,0.597,0.411,0.954,0.846,0.888,0.380,0.546,0.849,0.940,
+0.709,0.706,0.677,0.100,0.503,0.732,0.510,0.740,0.536,0.760,
+0.923,1.246,0.735,0.983,0.103,0.158,0.100,0.135,1.117,0.175,
+1.065,1.375,0.738,1.356,1.103,1.284,0.948,0.674,0.508,0.993,
+1.095,1.204,0.930,1.168,1.073,0.118,0.952,1.406,1.198,1.188,
+1.203,1.658,1.512,0.991,0.765,1.613,1.025,0.759,0.490,0.716,
+0.912,0.102,0.333,0.647,1.293,1.038,0.513,1.154,1.090,0.786,
+0.420,0.623,0.761,0.572,0.378,0.432,0.585,0.074,0.313,0.391,
+0.592,0.679,0.370,0.633,0.712,0.716,0.429,0.752,0.071,0.074,
+0.049,0.098,0.547,0.059,0.245,0.392,0.495,0.648,0.377,0.683,
+0.973,0.531,0.420,0.874,0.749,0.588,0.418,0.672,0.540,0.053,
+0.309,0.480,0.877,0.616,0.595,1.499,1.395,0.924,0.453,0.945,
+1.088,0.822,0.478,0.596,0.630,0.084,0.240,0.435,0.706,0.653,
+0.353,0.669,0.943,0.879,0.338,0.517,0.734,0.688,0.390,0.437,
+0.620,0.095,0.282,0.434,0.573,0.643,0.299,0.480,0.525,0.651,
+0.352,0.549,0.060,0.086,0.056,0.074,0.512,0.066,0.280,0.384,
+0.411,0.656,0.416,0.545,0.515,0.393,0.224,0.484,0.569,0.575,
+0.285,0.470,0.412,0.041,0.219,0.365,0.477,0.436,0.417,0.877,
+0.891,0.504,0.314,0.598,0.767,0.573,0.464,0.599,0.664,0.106,
+0.227,0.368,0.708,0.698,0.330,0.696,0.062,0.064,0.030,0.071,
+0.061,0.066,0.042,0.065,0.059,0.017,0.031,0.044,0.079,0.123,
+0.045,0.082,0.476,0.567,0.347,0.477,0.052,0.068,0.045,0.063,
+0.447,0.076,0.229,0.311,0.346,0.556,0.335,0.421,0.398,0.318,
+0.247,0.502,0.518,0.568,0.338,0.528,0.485,0.062,0.240,0.384,
+0.482,0.464,0.389,0.734,1.090,0.487,0.339,0.818,0.576,0.362,
+0.307,0.446,0.652,0.068,0.225,0.379,1.174,0.692,0.427,1.000,
+0.717,0.601,0.302,0.565,0.528,0.465,0.328,0.499,0.521,0.062,
+0.263,0.412,0.632,0.770,0.403,0.744,0.509,0.596,0.400,0.588,
+0.056,0.049,0.042,0.060,0.495,0.053,0.276,0.435,0.494,0.657,
+0.501,0.704,0.813,0.523,0.446,0.907,0.594,0.499,0.396,0.615,
+0.692,0.065,0.430,0.721,1.140,1.021,0.958,1.910,1.508,1.153,
+0.891,1.227,1.094,1.072,0.634,0.777,0.738,0.114,0.358,0.570,
+0.768,0.897,0.498,0.926,1.350,1.297,0.659,0.827,1.338,1.329,
+0.854,0.819,0.874,0.180,0.698,0.696,0.525,0.975,0.521,0.703,
+0.869,1.549,0.625,0.867,0.118,0.194,0.106,0.144,0.655,0.119,
+0.483,0.676,0.513,0.854,0.583,0.849,0.805,0.614,0.417,0.753,
+1.048,1.227,0.625,0.804,0.583,0.080,0.583,0.657,0.734,0.611,
+0.688,1.190,1.324,1.362,0.503,0.806,1.295,1.683,0.818,0.814,
+0.710,0.156,0.337,0.468,0.561,0.860,0.629,0.713,1.503,2.112,
+0.673,0.800,1.754,2.013,1.148,1.089,1.145,0.369,0.650,0.802,
+0.601,1.413,0.545,0.673,0.745,1.529,0.793,0.913,0.145,0.388,
+0.241,0.192,0.927,0.248,0.661,0.813,0.512,1.313,0.975,0.981,
+0.653,0.695,0.370,0.621,1.084,1.764,0.788,0.892,0.650,0.105,
+0.436,0.674,0.580,0.733,0.564,1.040,0.720,0.560,0.271,0.584,
+0.853,0.961,0.695,0.816,0.774,0.189,0.362,0.413,0.505,0.752,
+0.358,0.610,0.066,0.120,0.050,0.157,0.109,0.226,0.126,0.176,
+0.124,0.079,0.088,0.091,0.063,0.215,0.069,0.089,0.613,0.939,
+0.584,0.707,0.098,0.178,0.122,0.133,0.879,0.234,0.520,0.658,
+0.409,1.099,0.601,0.673,0.526,0.443,0.324,0.563,0.910,1.326,
+0.766,0.884,0.861,0.114,0.542,0.681,0.528,0.627,0.585,0.904,
+0.653,0.502,0.269,0.504,0.473,0.435,0.286,0.405,0.569,0.069,
+0.227,0.311,0.654,0.540,0.314,0.652,0.878,1.422,0.483,0.828,
+0.878,1.127,0.720,1.164,0.844,0.190,0.456,0.644,0.666,1.531,
+0.547,0.811,0.533,0.895,0.522,0.690,0.077,0.120,0.073,0.090,
+0.653,0.113,0.530,0.752,0.444,1.012,0.656,0.802,0.654,0.519,
+0.368,0.614,0.694,0.819,0.470,0.608,0.744,0.094,0.522,0.785,
+0.807,1.007,0.830,1.385,0.913,0.810,0.423,0.842,0.728,0.794,
+0.358,0.552,0.594,0.072,0.249,0.430,0.508,0.518,0.258,0.575,
+1.011,1.064,0.443,0.636,1.171,1.006,0.685,0.611,0.760,0.138,
+0.543,0.621,0.454,0.808,0.417,0.641,0.675,1.014,0.742,0.832,
+0.108,0.154,0.114,0.162,0.658,0.118,0.487,0.660,0.405,0.900,
+0.516,0.729,0.620,0.486,0.329,0.659,0.716,0.734,0.449,0.652,
+0.598,0.087,0.428,0.693,0.641,0.615,0.581,1.239,0.058,0.079,
+0.033,0.061,0.089,0.188,0.048,0.062,0.053,0.014,0.035,0.044,
+0.040,0.068,0.036,0.060,0.070,0.112,0.041,0.050,0.135,0.264,
+0.107,0.092,0.079,0.044,0.088,0.084,0.040,0.102,0.054,0.056,
+0.048,0.115,0.058,0.057,0.019,0.050,0.032,0.019,0.079,0.040,
+0.076,0.082,0.040,0.122,0.067,0.079,0.047,0.054,0.030,0.055,
+0.093,0.150,0.075,0.086,0.061,0.018,0.059,0.080,0.053,0.068,
+0.057,0.106,0.549,0.526,0.258,0.338,0.666,0.852,0.519,0.484,
+0.559,0.128,0.331,0.420,0.330,0.541,0.347,0.522,0.053,0.091,
+0.036,0.038,0.079,0.140,0.081,0.052,0.073,0.044,0.069,0.064,
+0.041,0.123,0.057,0.062,0.545,1.008,0.556,0.545,0.106,0.191,
+0.128,0.094,0.833,0.192,0.382,0.575,0.361,1.016,0.601,0.592,
+0.411,0.409,0.273,0.358,0.739,1.016,0.637,0.606,0.713,0.123,
+0.549,0.642,0.430,0.633,0.586,0.732,0.579,0.390,0.260,0.454,
+0.513,0.452,0.275,0.342,0.434,0.061,0.244,0.344,0.437,0.459,
+0.302,0.577,0.787,0.840,0.405,0.509,0.883,0.974,0.588,0.533,
+0.713,0.134,0.495,0.626,0.528,0.969,0.551,0.749,1.013,1.040,
+0.841,0.712,0.354,0.167,0.165,0.100,0.937,0.140,0.703,0.864,
+0.608,1.150,0.779,0.870,0.616,0.511,0.429,0.577,0.944,0.812,
+0.707,0.606,0.849,0.106,0.686,0.883,0.775,0.991,0.851,1.214,
+1.415,0.713,0.477,1.113,0.779,0.550,0.328,0.668,0.584,0.064,
+0.224,0.472,0.749,0.620,0.337,0.943,0.787,0.582,0.274,0.459,
+0.629,0.526,0.287,0.411,0.432,0.054,0.232,0.366,0.358,0.435,
+0.236,0.502,0.614,0.780,0.365,0.684,0.056,0.069,0.037,0.084,
+0.498,0.058,0.249,0.441,0.433,0.546,0.305,0.631,0.777,0.502,
+0.352,0.826,0.567,0.473,0.331,0.621,0.532,0.050,0.292,0.630,
+0.805,0.610,0.542,1.549,0.999,0.723,0.418,0.789,0.777,0.849,
+0.378,0.548,0.513,0.067,0.245,0.447,0.476,0.561,0.285,0.714,
+0.865,0.907,0.329,0.524,0.780,1.161,0.436,0.561,0.606,0.095,
+0.389,0.565,0.437,0.675,0.387,0.798,0.621,1.209,0.393,0.568,
+0.057,0.143,0.048,0.074,0.647,0.103,0.352,0.597,0.457,0.803,
+0.417,0.763,0.567,0.541,0.340,0.597,0.647,0.759,0.399,0.676,
+0.589,0.062,0.347,0.673,0.613,0.701,0.490,1.340,0.947,1.002,
+0.411,0.564,0.813,0.738,0.480,0.640,0.718,0.155,0.351,0.603,
+0.535,0.658,0.508,0.839,0.072,0.100,0.031,0.054,0.059,0.096,
+0.051,0.063,0.054,0.022,0.044,0.061,0.051,0.098,0.047,0.087,
+0.642,0.895,0.478,0.691,0.070,0.102,0.068,0.089,0.806,0.133,
+0.479,0.698,0.486,0.893,0.643,0.826,0.616,0.566,0.363,0.574,
+0.850,0.907,0.692,0.901,0.984,0.103,0.656,0.926,0.694,0.771,
+0.721,1.185,1.304,0.676,0.471,0.984,0.717,0.571,0.383,0.550,
+0.744,0.078,0.328,0.608,0.930,0.737,0.569,1.423,1.093,0.863,
+0.414,0.703,0.956,1.093,0.596,0.809,0.807,0.087,0.500,0.888,
+0.716,0.901,0.614,1.314,1.008,1.126,1.012,1.111,0.104,0.108,
+0.131,0.113,1.123,0.118,0.789,1.244,0.947,1.389,1.113,1.539,
+1.556,0.927,0.764,1.681,1.321,1.165,0.941,1.492,1.464,0.123,
+1.061,2.035,1.708,1.446,1.314,2.250,2.174,1.488,1.271,2.293,
+1.803,1.109,1.039,1.166,1.634,0.183,0.955,1.353,2.086,1.726,
+1.023,1.701,1.941,1.309,1.005,1.267,1.495,1.051,0.991,0.859,
+1.295,0.142,0.918,0.980,0.933,1.033,0.784,0.999,1.380,1.104,
+0.964,1.263,0.136,0.126,0.116,0.180,0.927,0.100,0.540,0.714,
+0.874,0.943,0.748,0.945,1.846,0.869,0.928,1.909,1.463,1.066,
+0.999,1.365,1.180,0.103,0.671,0.957,1.445,0.878,0.945,1.577,
+1.815,1.167,0.745,1.090,1.467,0.978,0.695,0.752,0.911,0.126,
+0.827,0.965,0.751,0.895,0.553,0.810,1.300,1.028,0.642,0.793,
+0.909,0.704,0.601,0.558,0.911,0.130,0.687,0.808,0.548,0.745,
+0.489,0.622,0.835,0.867,0.587,0.692,0.096,0.108,0.097,0.099,
+0.778,0.103,0.521,0.616,0.457,0.792,0.626,0.572,0.756,0.506,
+0.405,0.662,0.856,0.737,0.564,0.708,0.874,0.078,0.559,0.709,
+0.786,0.623,0.611,0.959,1.388,0.775,0.656,0.762,1.439,0.743,
+0.696,0.694,0.976,0.144,0.469,0.652,1.046,0.970,0.597,0.965,
+0.111,0.107,0.065,0.082,0.105,0.100,0.092,0.077,0.092,0.026,
+0.079,0.090,0.111,0.186,0.099,0.115,0.647,0.597,0.660,0.618,
+0.075,0.071,0.091,0.084,0.573,0.082,0.474,0.540,0.437,0.618,
+1.035,0.616,0.548,0.371,0.391,0.541,0.734,0.631,0.577,0.677,
+0.634,0.080,0.520,0.684,0.571,0.621,0.711,0.952,1.764,0.698,
+0.592,1.092,0.815,0.494,0.479,0.547,0.738,0.078,0.398,0.584,
+0.998,0.762,0.554,1.231,1.283,0.940,0.632,0.815,0.859,0.728,
+0.794,0.702,0.828,0.089,0.590,0.733,0.760,0.912,0.601,0.894,
+0.697,0.650,0.558,0.739,0.065,0.060,0.067,0.086,0.589,0.072,
+0.588,0.833,0.534,0.691,0.691,0.761,1.015,0.582,0.574,1.044,
+0.597,0.460,0.555,0.728,0.870,0.076,0.730,1.156,1.156,0.975,
+0.976,1.706,2.433,1.701,1.221,1.862,1.759,1.513,1.179,1.171,
+1.065,0.161,0.692,1.015,1.136,1.177,0.804,1.343,1.983,1.814,
+1.178,1.391,1.595,1.510,1.418,1.286,1.278,0.217,1.228,1.351,
+0.740,1.102,0.799,1.037,0.900,1.194,0.939,0.985,0.124,0.191,
+0.161,0.167,0.619,0.092,0.598,0.658,0.423,0.747,0.597,0.771,
+0.991,0.601,0.597,0.957,1.150,1.127,0.857,1.024,0.821,0.101,
+0.545,0.725,0.724,0.652,0.810,1.274,1.792,1.738,0.850,1.066,
+1.960,1.925,1.129,0.965,0.960,0.185,0.644,0.812,0.656,0.956,
+0.552,0.843,1.422,1.729,0.965,0.928,1.215,0.904,1.125,0.897,
+1.222,0.289,1.125,1.230,0.541,1.060,0.698,0.769,0.921,1.769,
+0.958,0.950,0.164,0.365,0.261,0.194,0.889,0.215,0.791,0.866,
+0.452,1.366,0.786,0.832,0.692,0.658,0.456,0.624,1.051,1.396,
+0.980,0.942,0.722,0.109,0.605,0.751,0.507,0.683,0.575,1.002,
+1.272,1.041,0.736,0.870,1.410,1.530,1.644,1.045,1.056,0.201,
+0.762,0.884,0.673,0.972,0.856,1.113,0.117,0.259,0.118,0.118,
+0.153,0.300,0.313,0.163,0.155,0.094,0.223,0.179,0.086,0.261,
+0.166,0.156,0.927,1.443,1.142,1.084,0.155,0.288,0.301,0.185,
+1.078,0.257,1.149,1.134,0.529,1.473,1.547,1.108,0.627,0.534,
+0.522,0.643,1.100,1.510,1.355,1.157,0.958,0.156,1.054,1.146,
+0.558,0.771,1.065,1.172,1.008,0.755,0.507,0.769,0.682,0.591,
+0.573,0.576,0.517,0.065,0.338,0.480,0.581,0.574,0.465,0.900,
+1.276,2.170,0.887,0.987,0.997,1.318,1.713,1.340,0.858,0.143,
+0.793,0.914,0.656,1.147,0.727,1.075,0.632,0.905,0.717,0.815,
+0.070,0.119,0.093,0.101,0.570,0.087,0.598,0.747,0.470,0.831,
+0.733,0.830,0.753,0.572,0.534,0.747,0.645,0.695,0.576,0.750,
+0.749,0.087,0.701,1.004,0.861,1.043,1.142,1.581,1.345,1.037,
+0.665,0.996,0.794,0.690,0.566,0.570,0.668,0.100,0.407,0.557,
+0.686,0.780,0.577,0.809,1.450,1.571,0.781,0.926,1.054,1.082,
+0.924,0.760,1.202,0.201,0.967,0.992,0.722,1.373,0.627,0.817,
+0.904,1.383,1.665,1.185,0.131,0.207,0.276,0.262,0.733,0.117,
+0.535,0.710,0.421,0.869,0.585,0.709,0.884,0.786,0.676,1.007,
+0.834,0.927,0.963,1.088,0.762,0.094,0.569,0.812,0.774,0.724,
+0.776,1.435,0.107,0.127,0.077,0.086,0.162,0.161,0.131,0.084,
+0.083,0.023,0.075,0.082,0.069,0.140,0.171,0.098,0.126,0.197,
+0.092,0.093,0.157,0.214,0.153,0.098,0.141,0.061,0.172,0.144,
+0.087,0.298,0.094,0.096,0.092,0.201,0.243,0.140,0.024,0.065,
+0.104,0.046,0.158,0.048,0.137,0.165,0.064,0.189,0.119,0.105,
+0.116,0.119,0.102,0.139,0.200,0.306,0.309,0.299,0.123,0.029,
+0.132,0.161,0.109,0.163,0.147,0.195,0.787,0.727,0.512,0.468,
+0.659,0.905,0.744,0.504,0.719,0.193,0.810,0.777,0.429,0.771,
+0.666,0.833,0.086,0.163,0.076,0.068,0.080,0.172,0.139,0.067,
+0.124,0.072,0.162,0.113,0.073,0.230,0.118,0.108,0.595,1.379,
+0.778,0.589,0.105,0.479,0.204,0.112,0.732,0.164,0.555,0.567,
+0.313,0.763,0.621,0.490,0.457,0.479,0.488,0.451,0.665,1.428,
+1.005,0.919,0.621,0.133,0.749,0.714,0.388,0.646,0.661,0.718,
+0.746,0.457,0.328,0.517,0.448,0.403,0.281,0.292,0.471,0.063,
+0.285,0.379,0.439,0.485,0.335,0.730,1.008,1.021,0.577,0.675,
+0.826,1.102,0.754,0.598,0.906,0.148,0.761,0.861,0.649,1.238,
+0.652,0.905,0.689,0.855,0.647,0.600,0.089,0.147,0.101,0.085,
+1.361,0.117,0.556,0.634,0.514,0.850,0.561,0.630,0.784,0.627,
+0.584,0.619,0.686,0.778,0.567,0.637,0.823,0.133,0.740,0.847,
+0.922,1.606,0.857,1.189,1.564,0.850,0.646,1.174,0.701,0.488,
+0.504,0.506,0.650,0.074,0.327,0.550,0.917,0.780,0.486,1.090,
+0.889,0.627,0.375,0.584,0.550,0.393,0.350,0.411,0.636,0.068,
+0.369,0.531,0.640,0.642,0.332,0.624,0.756,0.628,0.584,0.879,
+0.073,0.072,0.068,0.123,0.454,0.044,0.272,0.482,0.394,0.474,
+0.348,0.629,1.115,0.654,0.666,1.498,0.818,0.663,0.611,1.055,
+0.664,0.060,0.427,0.731,0.971,0.693,0.764,1.790,1.253,0.871,
+0.694,0.909,0.995,0.779,1.376,0.696,0.668,0.091,0.465,0.674,
+0.597,0.797,0.624,0.844,1.009,0.930,0.483,0.705,0.816,0.826,
+0.654,0.586,0.841,0.159,0.661,0.846,0.675,1.441,0.448,0.667,
+0.763,0.855,0.871,1.009,0.085,0.113,0.204,0.163,0.764,0.092,
+0.504,0.802,0.514,0.816,0.563,0.778,0.859,0.585,0.530,1.026,
+0.976,0.956,0.992,1.429,0.733,0.075,0.527,0.847,0.735,0.735,
+0.732,1.284,0.916,0.568,0.469,0.608,0.850,0.704,0.676,0.701,
+0.844,0.140,0.620,0.796,0.637,0.726,0.675,1.018,0.081,0.087,
+0.053,0.083,0.071,0.095,0.084,0.072,0.088,0.028,0.104,0.118,
+0.083,0.156,0.089,0.117,0.670,0.831,0.590,0.742,0.079,0.113,
+0.095,0.115,0.814,0.125,0.582,0.801,0.496,0.864,0.764,0.912,
+0.604,0.518,0.502,0.784,0.881,0.908,0.858,1.120,0.938,0.111,
+0.781,1.121,0.706,0.764,0.910,1.327,1.337,0.656,0.537,0.947,
+0.699,0.554,0.465,0.549,0.740,0.073,0.409,0.649,0.886,0.708,
+0.621,1.451,0.880,0.660,0.425,0.661,0.599,0.563,0.493,0.547,
+0.728,0.075,0.558,0.860,0.700,0.859,0.564,1.026,1.005,0.942,
+0.718,1.151,0.107,0.096,0.079,0.130,1.044,0.093,0.722,1.106,
+0.826,1.040,0.889,1.284,1.601,0.989,0.901,1.813,1.322,1.159,
+0.996,1.416,1.512,0.120,1.355,2.113,2.199,1.718,1.803,2.862,
+0.122,0.101,0.088,0.113,0.136,0.108,0.086,0.084,0.090,0.019,
+0.134,0.152,0.088,0.097,0.071,0.085,0.123,0.123,0.084,0.088,
+0.137,0.145,0.121,0.101,0.090,0.029,0.101,0.092,0.059,0.100,
+0.077,0.084,0.068,0.080,0.072,0.078,0.013,0.020,0.021,0.018,
+0.054,0.014,0.057,0.053,0.040,0.063,0.065,0.062,0.079,0.052,
+0.047,0.086,0.098,0.091,0.076,0.091,0.081,0.014,0.059,0.068,
+0.067,0.061,0.070,0.101,0.152,0.151,0.098,0.102,0.199,0.181,
+0.134,0.101,0.121,0.037,0.209,0.308,0.062,0.115,0.106,0.101,
+0.160,0.222,0.122,0.106,0.185,0.216,0.180,0.128,0.175,0.088,
+0.201,0.211,0.069,0.183,0.099,0.097,0.079,0.154,0.094,0.079,
+0.042,0.072,0.070,0.027,0.170,0.067,0.117,0.108,0.053,0.149,
+0.102,0.073,0.057,0.060,0.043,0.051,0.122,0.139,0.101,0.105,
+0.091,0.022,0.093,0.099,0.057,0.071,0.079,0.095,0.103,0.099,
+0.048,0.052,0.358,0.135,0.110,0.094,0.103,0.025,0.073,0.077,
+0.055,0.077,0.064,0.078,0.014,0.029,0.018,0.012,0.033,0.045,
+0.046,0.021,0.023,0.024,0.036,0.026,9.92e-3,0.036,0.023,0.017,
+0.054,0.085,0.081,0.060,0.019,0.031,0.038,0.020,0.073,0.036,
+0.102,0.090,0.035,0.092,0.103,0.077,0.037,0.035,0.045,0.045,
+0.083,0.097,0.097,0.087,0.071,0.023,0.090,0.089,0.045,0.075,
+0.080,0.092,0.100,0.062,0.047,0.071,0.087,0.052,0.043,0.061,
+0.061,0.011,0.044,0.061,0.062,0.065,0.052,0.109,0.110,0.121,
+0.081,0.095,0.120,0.148,0.131,0.106,0.088,0.028,0.101,0.115,
+0.057,0.115,0.083,0.111,0.058,0.075,0.080,0.096,0.012,0.018,
+0.021,0.018,0.094,0.029,0.076,0.199,0.047,0.109,0.171,0.136,
+0.069,0.052,0.079,0.095,0.057,0.066,0.067,0.084,0.083,0.016,
+0.108,0.279,0.080,0.101,0.119,0.180,0.132,0.130,0.091,0.101,
+0.152,0.199,0.134,0.117,0.084,0.024,0.070,0.081,0.058,0.086,
+0.063,0.076,0.151,0.190,0.126,0.133,0.204,0.275,0.277,0.264,
+0.126,0.079,0.186,0.203,0.048,0.115,0.102,0.101,0.062,0.120,
+0.094,0.068,0.020,0.054,0.055,0.027,0.062,0.029,0.095,0.069,
+0.030,0.078,0.072,0.063,0.055,0.041,0.039,0.056,0.093,0.128,
+0.093,0.086,0.215,0.029,0.075,0.079,0.055,0.060,0.064,0.084,
+0.165,0.245,0.125,0.100,0.256,0.466,0.252,0.137,0.131,0.061,
+0.128,0.123,0.057,0.125,0.088,0.083,0.226,0.453,0.217,0.143,
+0.270,0.352,0.362,0.234,0.250,0.253,0.359,0.308,0.070,0.276,
+0.157,0.125,0.102,0.367,0.176,0.110,0.064,0.282,0.186,0.060,
+0.142,0.120,0.181,0.144,0.045,0.225,0.164,0.104,0.065,0.098,
+0.057,0.055,0.147,0.356,0.181,0.135,0.101,0.038,0.126,0.120,
+0.047,0.090,0.089,0.099,0.100,0.111,0.069,0.064,0.189,0.287,
+0.269,0.122,0.124,0.049,0.125,0.107,0.047,0.102,0.094,0.098,
+0.027,0.084,0.050,0.026,0.080,0.244,0.373,0.071,0.066,0.130,
+0.138,0.089,0.013,0.069,0.054,0.031,0.106,0.241,0.179,0.111,
+0.063,0.183,0.195,0.057,0.161,0.120,0.256,0.167,0.049,0.199,
+0.223,0.122,0.053,0.050,0.058,0.049,0.154,0.281,0.302,0.164,
+0.156,0.056,0.220,0.158,0.056,0.096,0.155,0.132,0.073,0.070,
+0.049,0.063,0.072,0.079,0.075,0.058,0.057,0.011,0.045,0.049,
+0.044,0.051,0.045,0.078,0.113,0.247,0.117,0.103,0.154,0.294,
+0.362,0.190,0.120,0.057,0.145,0.144,0.051,0.148,0.101,0.121,
+0.059,0.120,0.092,0.075,0.016,0.040,0.035,0.019,0.073,0.028,
+0.112,0.096,0.041,0.094,0.103,0.087,0.051,0.046,0.052,0.053,
+0.063,0.095,0.088,0.078,0.077,0.016,0.101,0.111,0.060,0.092,
+0.126,0.159,0.076,0.082,0.060,0.060,0.072,0.089,0.078,0.059,
+0.063,0.015,0.051,0.047,0.045,0.075,0.105,0.050,0.112,0.178,
+0.088,0.077,0.151,0.215,0.202,0.126,0.139,0.088,0.207,0.145,
+0.065,0.246,0.090,0.079,0.067,0.147,0.211,0.094,0.022,0.061,
+0.106,0.045,0.111,0.044,0.106,0.114,0.033,0.104,0.074,0.064,
+0.043,0.046,0.049,0.060,0.076,0.103,0.186,0.118,0.071,0.019,
+0.077,0.083,0.048,0.065,0.072,0.098,0.013,0.025,0.021,0.011,
+0.032,0.065,0.073,0.026,0.019,0.018,0.034,0.021,0.010,0.034,
+0.099,0.017,0.028,0.096,0.043,0.020,0.077,0.194,0.143,0.053,
+0.051,0.131,0.142,0.077,0.021,0.143,0.042,0.024,0.020,0.087,
+0.108,0.033,0.029,0.121,0.200,0.055,0.061,0.086,0.132,0.080,
+0.014,0.075,0.080,0.029,8.86e-3,0.016,0.016,0.011,0.032,0.072,
+0.105,0.071,0.023,0.020,0.057,0.040,0.011,0.024,0.028,0.024,
+0.065,0.105,0.065,0.047,0.094,0.226,0.178,0.085,0.109,0.060,
+0.248,0.223,0.041,0.120,0.140,0.120,0.020,0.079,0.034,0.015,
+0.046,0.165,0.131,0.040,0.059,0.118,0.170,0.077,0.015,0.071,
+0.049,0.027,0.086,0.611,0.212,0.092,0.061,0.710,0.217,0.053,
+0.152,0.150,0.241,0.167,0.042,0.207,0.178,0.093,0.042,0.070,
+0.061,0.064,0.117,0.661,0.278,0.253,0.112,0.064,0.219,0.181,
+0.045,0.098,0.134,0.109,0.063,0.062,0.041,0.052,0.051,0.064,
+0.042,0.037,0.055,0.016,0.055,0.055,0.041,0.061,0.056,0.069,
+0.102,0.179,0.099,0.085,0.149,0.307,0.207,0.127,0.159,0.094,
+0.208,0.186,0.064,0.204,0.127,0.109,0.080,0.176,0.124,0.084,
+0.023,0.086,0.072,0.026,0.163,0.067,0.171,0.158,0.052,0.165,
+0.136,0.098,0.055,0.056,0.054,0.059,0.073,0.123,0.101,0.091,
+0.093,0.028,0.149,0.128,0.076,0.155,0.117,0.124,0.099,0.070,
+0.059,0.080,0.082,0.062,0.107,0.085,0.070,0.010,0.038,0.065,
+0.066,0.070,0.052,0.087,0.079,0.078,0.048,0.057,0.074,0.070,
+0.062,0.067,0.062,0.015,0.059,0.077,0.058,0.103,0.042,0.063,
+0.056,0.065,0.063,0.073,9.55e-3,0.011,0.014,0.017,0.049,8.00e-3,
+0.040,0.056,0.031,0.051,0.041,0.060,0.074,0.049,0.054,0.115,
+0.073,0.066,0.068,0.136,0.070,9.19e-3,0.048,0.091,0.075,0.063,
+0.073,0.168,0.141,0.134,0.218,0.115,0.178,0.180,0.859,0.175,
+0.113,0.029,0.124,0.121,0.073,0.172,0.187,0.113,0.152,0.226,
+0.120,0.121,0.194,0.281,0.243,0.171,0.174,0.081,0.225,0.219,
+0.124,0.563,0.130,0.128,0.095,0.193,0.215,0.162,0.024,0.062,
+0.111,0.070,0.153,0.039,0.134,0.176,0.061,0.183,0.125,0.119,
+0.090,0.082,0.087,0.130,0.160,0.212,0.289,0.426,0.110,0.024,
+0.136,0.165,0.082,0.125,0.128,0.180,0.072,0.064,0.051,0.052,
+0.098,0.125,0.140,0.090,0.092,0.030,0.105,0.113,0.050,0.092,
+0.088,0.098,0.012,0.020,0.012,0.012,0.022,0.050,0.040,0.022,
+0.020,0.020,0.040,0.033,0.010,0.036,0.023,0.018,0.066,0.157,
+0.112,0.088,0.022,0.066,0.056,0.033,0.126,0.064,0.164,0.145,
+0.053,0.167,0.163,0.123,0.057,0.058,0.060,0.073,0.107,0.174,
+0.163,0.171,0.132,0.036,0.171,0.181,0.070,0.104,0.143,0.153,
+0.091,0.071,0.054,0.076,0.070,0.068,0.072,0.069,0.069,0.011,
+0.048,0.065,0.058,0.063,0.064,0.112,0.085,0.086,0.055,0.071,
+0.084,0.111,0.099,0.088,0.073,0.019,0.086,0.108,0.060,0.107,
+0.072,0.109,0.096,0.117,0.090,0.108,0.017,0.023,0.022,0.020,
+0.109,0.025,0.117,0.152,0.068,0.136,0.131,0.136,0.104,0.079,
+0.077,0.126,0.120,0.127,0.117,0.150,0.142,0.021,0.163,0.208,
+0.147,0.162,0.184,0.226,1.577,1.056,0.831,1.355,1.115,0.864,
+0.825,0.847,0.896,0.111,0.771,0.822,1.073,0.992,0.721,1.076,
+1.309,1.014,0.727,1.172,1.154,0.887,1.115,0.949,0.938,0.147,
+0.725,0.745,0.619,0.862,0.592,0.782,0.806,0.831,0.705,1.151,
+0.091,0.095,0.108,0.172,0.570,0.073,0.473,0.562,0.411,0.639,
+0.531,0.660,0.837,0.446,0.385,0.860,0.732,0.595,0.498,0.696,
+0.634,0.064,0.382,0.552,0.695,0.414,0.556,1.032,1.480,1.128,
+0.654,0.940,1.289,1.167,0.911,0.866,1.002,0.160,0.597,0.791,
+0.695,0.907,0.507,0.773,1.444,1.560,0.826,1.006,1.303,0.996,
+1.171,0.907,2.003,0.499,1.344,1.614,0.735,1.384,0.631,0.756,
+0.863,1.258,0.880,0.988,0.151,0.203,0.208,0.195,1.104,0.216,
+0.997,1.159,0.507,1.106,0.871,0.811,0.622,0.502,0.355,0.569,
+0.921,0.936,0.743,0.884,0.757,0.098,0.582,0.803,0.593,0.584,
+0.603,1.011,1.139,0.713,0.489,0.692,1.388,1.179,1.186,1.070,
+1.156,0.205,0.724,0.908,0.789,1.067,0.732,1.100,0.137,0.170,
+0.110,0.145,0.197,0.229,0.278,0.208,0.186,0.071,0.226,0.211,
+0.144,0.395,0.164,0.221,0.845,1.003,2.302,1.966,0.168,0.170,
+1.444,0.829,0.953,0.188,0.823,0.860,0.486,1.033,1.026,0.891,
+0.580,0.424,0.500,0.620,1.068,0.972,2.577,1.857,0.777,0.122,
+0.712,0.865,0.659,0.708,0.825,1.037,1.164,0.466,0.387,0.691,
+0.595,0.439,0.406,0.471,0.521,0.069,0.323,0.488,0.674,0.674,
+0.429,0.915,0.962,0.855,0.547,0.870,0.864,0.853,0.827,0.797,
+0.762,0.127,0.714,0.900,0.691,1.221,0.610,1.093,0.671,0.797,
+0.753,0.896,0.094,0.104,0.164,0.169,0.718,0.104,0.658,0.919,
+0.563,1.017,0.871,1.196,0.813,0.501,0.466,0.952,0.650,0.574,
+0.770,0.880,0.846,0.095,0.707,1.209,1.082,1.074,1.097,1.880,
+0.110,0.106,0.072,0.110,0.115,0.122,0.136,0.110,0.072,0.018,
+0.052,0.069,0.074,0.089,0.060,0.091,0.167,0.200,0.173,0.427,
+0.234,0.254,0.509,0.308,0.161,0.087,0.180,0.155,0.075,0.173,
+0.113,0.115,0.062,0.118,0.085,0.096,0.020,0.036,0.041,0.032,
+0.075,0.029,0.098,0.096,0.043,0.106,0.090,0.098,0.060,0.045,
+0.039,0.065,0.088,0.101,0.086,0.084,0.062,0.014,0.052,0.065,
+0.053,0.062,0.069,0.110,0.111,0.154,0.072,0.076,0.145,0.199,
+0.183,0.124,0.112,0.058,0.079,0.081,0.049,0.109,0.064,0.066,
+0.195,0.326,0.175,0.159,0.249,0.284,0.344,0.188,0.458,0.348,
+0.342,0.281,0.100,0.359,0.131,0.112,0.094,0.236,0.131,0.107,
+0.048,0.141,0.126,0.055,0.199,0.141,0.242,0.210,0.065,0.241,
+0.190,0.128,0.060,0.063,0.041,0.049,0.111,0.173,0.134,0.109,
+0.087,0.032,0.099,0.104,0.047,0.075,0.078,0.094,0.093,0.089,
+0.056,0.069,0.170,0.232,0.256,0.138,0.129,0.050,0.133,0.100,
+0.061,0.109,0.096,0.090,0.024,0.059,0.039,0.031,0.074,0.160,
+0.183,0.065,0.063,0.101,0.158,0.086,0.017,0.073,0.059,0.033,
+0.099,0.201,0.223,0.183,0.060,0.135,0.378,0.079,0.205,0.158,
+0.306,0.205,0.065,0.253,0.281,0.172,0.061,0.055,0.057,0.062,
+0.146,0.227,0.326,0.178,0.124,0.057,0.193,0.147,0.058,0.102,
+0.145,0.126,0.092,0.078,0.057,0.073,0.070,0.072,0.063,0.061,
+0.056,0.012,0.044,0.050,0.057,0.073,0.061,0.101,0.142,0.204,
+0.117,0.156,0.185,0.264,0.242,0.187,0.149,0.060,0.162,0.160,
+0.089,0.233,0.133,0.164,0.067,0.125,0.105,0.099,0.017,0.043,
+0.046,0.028,0.109,0.040,0.134,0.149,0.062,0.155,0.151,0.145,
+0.069,0.058,0.050,0.076,0.070,0.090,0.087,0.090,0.083,0.017,
+0.101,0.124,0.086,0.117,0.131,0.175,0.786,0.901,0.561,0.838,
+0.929,1.014,0.680,0.648,0.595,0.086,0.462,0.525,0.444,0.438,
+0.344,0.514,1.288,1.447,0.810,0.866,1.852,1.500,1.981,1.064,
+1.333,0.293,2.463,1.557,0.529,1.099,0.683,0.748,0.653,1.156,
+0.737,0.773,0.157,0.252,0.225,0.223,0.848,0.182,0.947,1.001,
+0.360,0.934,0.679,0.758,0.506,0.405,0.282,0.486,0.683,0.780,
+0.624,0.691,0.735,0.102,0.637,0.800,0.497,0.529,0.619,1.124,
+0.087,0.113,0.056,0.070,0.155,0.251,0.167,0.125,0.088,0.038,
+0.136,0.104,0.042,0.085,0.061,0.069,0.135,0.220,0.122,0.095,
+0.294,0.340,0.367,0.192,0.261,0.165,1.483,0.487,0.061,0.184,
+0.130,0.092,0.087,0.222,0.124,0.100,0.048,0.136,0.142,0.055,
+0.263,0.136,0.330,0.305,0.058,0.198,0.151,0.115,0.079,0.069,
+0.039,0.061,0.137,0.222,0.152,0.159,0.105,0.036,0.140,0.155,
+0.063,0.084,0.090,0.126,1.025,0.766,0.515,0.420,1.076,1.451,
+1.261,0.867,0.887,0.244,1.166,0.846,0.416,0.754,0.774,0.691,
+0.124,0.242,0.139,0.091,0.188,0.392,0.339,0.146,0.222,0.172,
+0.538,0.232,0.072,0.253,0.192,0.118,0.832,1.185,0.999,0.715,
+0.183,0.281,0.365,0.170,0.763,0.240,0.303,0.414,0.324,0.753,
+0.847,0.640,0.439,0.383,0.392,0.318,0.784,1.105,1.128,0.756,
+0.824,0.207,1.260,0.966,0.401,0.637,0.937,0.865,0.667,0.449,
+0.328,0.459,0.535,0.502,0.365,0.339,0.427,0.072,0.391,0.400,
+0.335,0.392,0.309,0.458,0.932,1.125,0.652,0.623,1.174,1.586,
+1.159,0.786,1.061,0.247,1.431,1.190,0.514,1.223,0.783,0.734,
+0.722,1.046,0.787,0.786,0.118,0.234,0.186,0.139,0.964,0.189,
+1.091,1.035,0.459,1.093,0.911,0.839,0.542,0.436,0.343,0.503,
+0.677,0.842,0.608,0.635,0.793,0.121,1.027,1.004,0.686,0.903,
+0.915,0.995,0.980,0.595,0.384,0.721,0.593,0.493,0.388,0.456,
+0.519,0.064,0.307,0.434,0.544,0.491,0.339,0.713,0.892,0.625,
+0.383,0.514,0.740,0.499,0.667,0.531,0.557,0.070,0.443,0.478,
+0.363,0.462,0.284,0.446,0.543,0.613,0.350,0.562,0.068,0.079,
+0.062,0.103,0.493,0.068,0.351,0.532,0.382,0.518,0.402,0.614,
+0.697,0.433,0.271,0.562,0.535,0.497,0.355,0.597,0.449,0.048,
+0.296,0.499,0.531,0.456,0.485,1.051,1.218,0.996,0.603,0.831,
+1.151,1.123,1.105,0.870,0.792,0.121,0.722,0.768,0.514,0.704,
+0.428,0.733,1.455,1.479,0.910,0.944,1.653,1.541,2.266,1.568,
+1.591,0.318,2.769,1.886,0.602,1.150,0.713,0.789,0.777,1.343,
+0.685,0.787,0.133,0.242,0.203,0.188,1.067,0.217,1.036,1.431,
+0.518,1.215,0.860,1.008,1.116,0.779,0.405,0.643,1.049,1.226,
+0.942,1.166,0.770,0.141,0.759,1.059,0.604,0.733,0.692,1.205,
+1.222,0.971,0.634,0.711,1.218,1.314,1.647,1.361,0.949,0.180,
+0.857,0.946,0.622,0.814,0.770,1.043,0.161,0.152,0.163,0.115,
+0.171,0.290,0.407,0.214,0.147,0.068,0.242,0.213,0.084,0.203,
+0.133,0.142,0.981,1.556,0.938,0.972,0.172,0.243,0.284,0.214,
+2.061,0.560,1.216,1.452,0.724,1.802,1.321,1.243,0.683,0.642,
+0.539,0.589,1.176,1.308,1.452,1.294,1.056,0.187,1.240,1.435,
+0.659,0.884,1.153,1.337,0.986,0.534,0.395,0.633,0.590,0.513,
+0.473,0.484,0.547,0.070,0.377,0.499,0.567,0.500,0.433,0.869,
+1.003,0.783,0.581,0.661,0.875,1.029,1.006,0.798,0.738,0.104,
+0.754,0.953,0.584,0.794,0.608,0.839,0.887,1.132,0.714,0.968,
+0.113,0.146,0.121,0.143,1.146,0.183,1.147,1.403,0.718,1.251,
+1.180,1.301,1.009,0.626,0.519,0.945,0.996,1.036,0.991,1.094,
+1.038,0.112,1.159,1.499,1.197,1.108,1.368,1.675,1.508,0.929,
+0.765,1.462,0.899,0.649,0.534,0.678,0.809,0.085,0.375,0.637,
+1.078,0.901,0.552,1.055,1.032,0.691,0.466,0.684,0.734,0.503,
+0.487,0.485,0.658,0.070,0.417,0.513,0.582,0.715,0.395,0.602,
+0.644,0.558,0.503,0.807,0.073,0.064,0.062,0.106,0.419,0.043,
+0.256,0.365,0.398,0.493,0.382,0.638,0.954,0.458,0.435,0.949,
+0.770,0.552,0.456,0.731,0.534,0.050,0.319,0.552,0.885,0.554,
+0.583,2.014,1.153,0.735,0.468,0.779,0.806,0.575,0.411,0.614,
+0.515,0.061,0.273,0.463,0.491,0.475,0.306,0.571,0.775,0.575,
+0.478,0.631,0.525,0.378,0.359,0.367,0.601,0.087,0.337,0.484,
+0.393,0.479,0.294,0.424,0.483,0.490,0.317,0.451,0.049,0.060,
+0.042,0.055,0.457,0.048,0.239,0.353,0.369,0.466,0.326,0.446,
+0.501,0.284,0.216,0.441,0.484,0.432,0.277,0.430,0.395,0.037,
+0.257,0.462,0.423,0.338,0.343,0.709,1.013,0.513,0.410,0.625,
+0.871,0.620,0.528,0.751,0.646,0.094,0.289,0.484,0.659,0.613,
+0.411,0.783,0.085,0.071,0.048,0.081,0.079,0.078,0.064,0.073,
+0.073,0.019,0.050,0.070,0.090,0.139,0.057,0.104,0.507,0.490,
+0.528,0.669,0.062,0.058,0.100,0.102,0.488,0.069,0.287,0.404,
+0.371,0.590,0.448,0.540,0.520,0.357,0.333,0.574,0.691,0.572,
+0.581,0.726,0.789,0.217,0.437,0.632,0.592,0.737,0.568,0.941,
+1.423,0.484,0.462,0.884,0.587,0.382,0.364,0.531,0.561,0.058,
+0.309,0.479,0.823,0.565,0.407,0.958,0.961,0.581,0.421,0.780,
+0.612,0.496,0.406,0.530,0.576,0.062,0.380,0.582,0.632,0.786,
+0.443,0.862,0.573,0.483,0.414,0.644,0.052,0.045,0.044,0.075,
+0.422,0.041,0.382,0.475,0.441,0.566,0.488,0.692,0.949,0.480,
+0.502,1.171,0.666,0.470,0.489,0.920,0.773,0.081,0.536,0.938,
+1.127,0.967,1.005,2.010,1.794,1.241,0.851,1.476,1.248,1.095,
+0.921,1.129,0.858,0.121,0.482,0.835,1.021,1.003,0.663,1.216,
+1.645,1.328,1.036,1.524,1.394,1.181,1.764,1.355,1.122,0.211,
+0.950,1.113,0.725,1.092,0.779,0.958,0.733,0.894,0.661,0.870,
+0.097,0.143,0.126,0.150,0.614,0.110,0.578,0.771,0.433,0.812,
+0.661,0.916,0.827,0.512,0.436,0.728,0.927,0.928,0.662,0.846,
+0.543,0.073,0.432,0.726,0.652,0.643,0.658,1.303,1.571,1.363,
+0.804,1.261,1.562,1.607,1.107,1.882,0.852,0.182,0.536,0.771,
+0.638,0.893,0.587,0.952,1.671,1.684,1.507,1.982,1.575,1.287,
+1.285,1.146,1.632,0.515,1.162,1.437,0.720,1.512,0.849,0.955,
+0.814,1.237,0.763,0.939,0.145,0.260,0.173,0.179,0.970,0.243,
+0.796,1.089,0.519,1.343,0.886,1.095,0.648,0.535,0.421,0.630,
+0.980,1.194,0.743,0.903,0.691,0.106,0.589,1.324,0.550,0.662,
+0.642,1.079,1.152,0.769,0.548,0.876,1.414,1.432,1.306,1.573,
+0.926,0.193,0.714,0.794,0.726,0.861,0.722,1.043,0.106,0.157,
+0.097,0.139,0.181,0.306,0.260,0.195,0.134,0.091,0.183,0.183,
+0.096,0.250,0.146,0.149,0.831,1.174,0.952,1.115,0.143,0.251,
+0.274,0.217,1.111,0.270,0.960,1.142,0.589,1.466,1.254,1.248,
+0.707,0.504,0.520,0.883,1.222,1.543,1.639,1.529,0.963,0.165,
+1.024,1.274,0.712,0.864,1.218,1.580,1.041,0.650,0.581,0.844,
+0.666,0.602,0.527,0.685,0.675,0.077,0.449,0.577,0.658,0.623,
+0.573,1.043,1.268,1.234,0.792,1.140,1.108,1.398,1.118,1.120,
+1.055,0.193,0.921,1.223,0.829,1.664,1.053,1.332,0.671,0.964,
+0.797,0.965,0.077,0.130,0.104,0.119,0.736,0.117,0.754,0.989,
+0.549,1.020,0.993,1.206,0.855,0.587,0.532,0.880,0.815,0.869,
+0.677,0.990,0.781,0.090,0.795,1.216,0.950,1.078,1.238,1.951,
+1.165,0.916,0.607,0.968,0.828,0.819,0.919,0.898,0.717,0.087,
+0.372,0.549,0.782,0.614,0.414,0.667,1.337,1.454,0.619,0.807,
+1.192,1.143,1.014,0.809,1.075,0.197,1.035,1.080,0.700,1.109,
+0.643,0.815,0.702,1.136,0.863,0.832,0.107,0.203,0.275,0.189,
+0.749,0.190,0.600,0.803,0.566,1.782,0.762,0.830,0.636,0.515,
+0.361,0.615,0.702,0.812,0.781,0.740,0.719,0.100,0.550,0.851,
+0.740,0.758,0.779,1.388,0.077,0.087,0.070,0.074,0.104,0.126,
+0.105,0.092,0.056,0.015,0.051,0.058,0.051,0.077,0.059,0.071,
+0.100,0.159,0.069,0.080,0.152,0.207,0.165,0.112,0.125,0.074,
+0.215,0.174,0.058,0.159,0.083,0.084,0.052,0.126,0.080,0.065,
+0.019,0.059,0.059,0.024,0.106,0.055,0.131,0.131,0.052,0.197,
+0.147,0.105,0.060,0.057,0.037,0.058,0.096,0.147,0.111,0.111,
+0.076,0.023,0.087,0.109,0.069,0.083,0.087,0.122,0.978,0.778,
+0.485,0.511,1.026,1.289,1.095,0.786,0.800,0.210,0.840,0.753,
+0.514,0.865,0.800,0.838,0.102,0.177,0.080,0.071,0.136,0.247,
+0.183,0.099,0.128,0.088,0.262,0.141,0.078,0.235,0.147,0.115,
+0.808,1.305,0.915,0.763,0.141,0.304,0.242,0.144,1.064,0.266,
+0.574,0.836,0.470,1.258,1.003,0.848,0.591,0.535,0.427,0.491,
+0.981,1.385,1.107,0.911,0.952,0.192,1.152,1.134,0.604,0.882,
+1.042,1.129,0.870,0.595,0.395,0.610,0.627,0.598,0.408,0.440,
+0.530,0.079,0.474,0.524,0.486,0.548,0.469,0.758,1.201,1.253,
+0.678,0.857,1.124,1.409,0.919,0.760,1.138,0.216,1.391,1.323,
+0.767,1.571,1.235,1.225,0.790,1.118,0.707,0.820,0.102,0.184,
+0.128,0.118,0.996,0.158,0.915,1.094,0.637,1.374,1.100,1.087,
+0.833,0.579,0.508,0.712,0.748,0.898,0.687,0.817,0.990,0.124,
+1.129,1.334,0.960,1.127,1.250,1.566,1.691,0.784,0.590,1.010,
+0.701,0.521,0.468,0.581,0.651,0.071,0.329,0.550,0.866,0.659,
+0.427,0.977,1.010,0.681,0.330,0.534,0.697,0.489,0.382,0.454,
+0.627,0.070,0.363,0.563,0.478,0.532,0.320,0.590,0.680,0.677,
+0.405,0.728,0.069,0.072,0.064,0.103,0.474,0.059,0.298,0.528,
+0.488,0.679,0.414,0.724,0.908,0.526,0.405,0.891,0.641,0.516,
+0.442,0.734,0.623,0.056,0.398,0.761,0.906,0.689,0.684,1.850,
+1.085,0.774,0.844,0.805,0.799,0.799,0.950,0.693,0.527,0.069,
+0.363,0.573,0.543,0.602,0.404,0.743,0.966,0.873,0.457,0.625,
+0.852,0.817,0.691,0.658,0.834,0.130,0.694,0.907,0.513,0.836,
+0.440,0.700,0.617,0.883,0.456,0.639,0.059,0.107,0.073,0.085,
+0.619,0.094,0.473,0.736,0.493,0.877,0.610,1.025,0.665,0.516,
+0.344,0.606,0.678,0.716,0.558,0.797,0.631,0.070,0.505,0.854,
+0.683,0.648,0.614,1.344,1.239,0.812,0.574,0.714,1.163,1.061,
+0.909,1.043,0.892,0.152,0.650,0.877,0.812,0.913,0.813,1.278,
+0.097,0.111,0.062,0.076,0.105,0.144,0.129,0.102,0.083,0.028,
+0.096,0.110,0.087,0.156,0.094,0.133,1.054,1.356,0.841,1.034,
+0.114,0.171,0.134,0.151,1.302,0.249,0.952,1.296,0.835,1.670,
+1.292,1.535,0.936,0.784,0.590,0.842,1.191,1.270,1.167,1.392,
+1.259,0.160,1.178,1.662,0.945,1.090,1.172,1.897,1.822,0.843,
+0.574,1.057,0.866,0.683,0.538,0.682,0.886,0.093,0.496,0.819,
+1.196,0.918,0.751,1.849,1.416,1.034,0.617,0.917,1.160,1.253,
+0.820,0.890,1.119,0.116,0.851,1.267,1.017,1.247,0.866,1.572,
+1.265,1.260,0.845,1.311,0.103,0.123,0.084,0.135,1.291,0.134,
+1.015,1.540,1.151,1.640,1.437,2.003,1.868,0.982,0.828,1.789,
+1.347,1.197,1.033,1.603,1.533,0.122,1.427,2.264,1.993,1.505,
+1.666,2.538,2.332,1.505,1.218,2.652,1.545,0.996,0.833,1.200,
+1.695,0.179,0.762,1.312,2.782,2.369,1.057,2.206,1.713,0.957,
+0.723,1.083,1.049,0.722,0.515,0.642,0.990,0.083,0.509,0.694,
+0.897,0.919,0.570,0.995,1.367,0.987,0.805,1.369,0.108,0.095,
+0.077,0.165,0.728,0.067,0.378,0.587,0.802,0.880,0.598,0.985,
+2.178,0.961,1.064,2.363,1.527,1.117,0.899,1.602,1.002,0.085,
+0.540,0.954,1.679,1.066,0.958,2.023,1.876,0.933,0.674,1.167,
+1.039,0.686,0.501,0.699,0.825,0.099,0.450,0.658,0.827,0.816,
+0.431,0.874,1.093,0.674,0.442,0.643,0.639,0.437,0.344,0.406,
+0.612,0.059,0.338,0.482,0.496,0.485,0.322,0.522,0.770,0.664,
+0.500,0.730,0.064,0.067,0.053,0.078,0.797,0.082,0.347,0.474,
+0.455,0.544,0.410,0.556,0.921,0.575,0.516,0.871,0.870,0.751,
+0.589,0.805,0.732,0.057,0.436,0.650,0.772,0.624,0.594,1.191,
+1.513,0.647,0.528,0.878,1.007,0.600,0.531,0.708,0.881,0.098,
+0.370,0.668,0.908,0.756,0.559,1.136,0.096,0.074,0.046,0.078,
+0.071,0.074,0.047,0.062,0.068,0.011,0.044,0.065,0.096,0.125,
+0.064,0.115,0.691,0.499,0.538,0.621,0.059,0.049,0.051,0.067,
+0.470,0.054,0.324,0.391,0.409,0.484,0.486,0.567,0.734,0.427,
+0.447,0.749,0.852,0.688,0.535,0.741,0.686,0.067,0.440,0.661,
+0.732,0.747,0.689,1.226,1.947,0.763,0.686,1.545,0.814,0.492,
+0.504,0.722,0.928,0.090,0.430,0.707,1.344,0.857,0.692,1.638,
+1.163,0.771,0.533,0.868,0.715,0.582,0.465,0.596,0.696,0.061,
+0.453,0.671,0.786,0.798,0.572,0.983,0.844,0.605,0.583,0.838,
+0.067,0.050,0.068,0.088,0.627,0.067,1.075,0.711,0.587,0.620,
+0.662,0.824,1.406,0.713,0.718,1.501,0.856,0.596,0.597,0.949,
+1.036,0.071,0.742,1.193,1.737,1.246,1.173,2.677,2.084,1.223,
+0.879,1.627,1.112,0.809,0.587,0.789,0.765,0.083,0.358,0.680,
+1.036,0.998,0.631,1.298,1.313,0.898,1.017,1.192,0.789,0.596,
+0.524,0.613,0.587,0.065,0.406,0.565,0.512,0.587,0.432,0.729,
+0.696,0.709,0.535,0.785,0.069,0.082,0.060,0.100,0.398,0.046,
+0.266,0.364,0.396,0.529,0.364,0.621,0.894,0.515,0.546,0.953,
+0.802,0.664,0.501,0.768,0.493,0.046,0.301,0.526,0.691,0.532,
+0.596,1.213,1.270,0.894,0.448,0.803,0.881,0.803,0.426,0.557,
+0.518,0.063,0.272,0.453,0.493,0.568,0.310,0.689,0.798,0.695,
+0.392,0.495,0.626,0.452,0.388,0.443,0.463,0.061,0.323,0.440,
+0.354,0.487,0.282,0.466,0.627,0.729,0.457,0.620,0.060,0.092,
+0.061,0.073,0.432,0.070,0.271,0.385,0.365,0.591,0.330,0.515,
+0.632,0.529,0.386,0.622,0.630,0.690,0.481,0.617,0.479,0.045,
+0.270,0.506,0.457,0.490,0.372,0.821,0.878,0.548,0.383,0.654,
+0.746,0.628,0.520,0.597,0.623,0.085,0.337,0.505,0.568,0.619,
+0.441,0.848,0.057,0.071,0.043,0.066,0.053,0.099,0.058,0.058,
+0.059,0.018,0.047,0.056,0.054,0.098,0.046,0.071,0.587,0.645,
+0.530,0.636,0.063,0.109,0.056,0.067,0.464,0.056,0.356,0.434,
+0.368,0.529,0.496,0.582,0.548,0.534,0.394,0.633,0.793,1.605,
+0.538,0.696,0.613,0.065,0.435,0.627,0.511,0.524,0.544,0.937,
+0.870,0.524,0.387,0.704,0.557,0.412,0.337,0.543,0.460,0.044,
+0.244,0.390,0.660,0.466,0.385,0.917,0.676,0.676,0.393,0.613,
+0.475,0.546,0.484,0.606,0.424,0.052,0.294,0.440,0.433,0.562,
+0.349,0.641,0.528,0.511,0.437,0.611,0.042,0.046,0.039,0.056,
+0.381,0.040,0.602,0.465,0.381,0.449,0.468,0.646,0.712,0.429,
+0.456,0.742,0.531,0.541,0.394,0.630,0.599,0.049,0.464,0.819,
+0.850,0.810,0.805,1.660,1.431,0.863,0.536,1.075,0.646,0.511,
+0.341,0.577,0.633,0.073,0.343,0.534,0.796,0.758,0.398,0.911,
+1.028,0.783,0.452,0.774,0.624,0.490,0.417,0.518,0.653,0.078,
+0.486,0.567,0.688,0.865,0.410,0.750,0.709,0.762,0.700,0.936,
+0.077,0.085,0.084,0.156,0.445,0.051,0.284,0.394,0.384,0.574,
+0.348,0.654,0.891,0.578,0.608,1.277,0.700,0.582,0.529,1.010,
+0.552,0.058,0.355,0.635,0.774,0.631,0.662,1.650,0.085,0.068,
+0.038,0.068,0.069,0.066,0.039,0.053,0.050,0.010,0.030,0.044,
+0.056,0.075,0.051,0.077,0.072,0.069,0.033,0.053,0.060,0.065,
+0.039,0.044,0.053,0.013,0.044,0.049,0.057,0.088,0.036,0.061,
+0.050,0.069,0.054,0.069,6.69e-3,0.015,0.016,0.013,0.050,9.96e-3,
+0.035,0.049,0.042,0.065,0.038,0.061,0.102,0.077,0.070,0.143,
+0.113,0.126,0.100,0.172,0.067,9.67e-3,0.046,0.082,0.086,0.085,
+0.077,0.161,0.678,0.459,0.284,0.460,0.510,0.540,0.418,0.451,
+0.625,0.091,0.368,0.480,0.485,0.549,0.372,0.679,0.054,0.060,
+0.030,0.042,0.043,0.063,0.041,0.044,0.054,0.014,0.044,0.048,
+0.056,0.085,0.042,0.062,0.507,0.611,0.415,0.518,0.056,0.097,
+0.061,0.062,0.485,0.063,0.256,0.343,0.302,0.443,0.325,0.435,
+0.478,0.394,0.384,0.473,0.542,0.750,0.459,0.593,0.536,0.063,
+0.383,0.519,0.428,0.480,0.467,0.735,0.729,0.416,0.274,0.540,
+0.430,0.348,0.219,0.322,0.474,0.054,0.219,0.395,0.597,0.538,
+0.312,0.776,0.751,0.577,0.331,0.527,0.533,0.569,0.352,0.431,
+0.498,0.055,0.352,0.501,0.566,0.652,0.371,0.678,0.593,0.574,
+0.399,0.547,0.054,0.070,0.042,0.059,0.592,0.047,0.320,0.432,
+0.423,0.556,0.392,0.622,0.795,0.500,0.518,0.685,0.582,0.570,
+0.400,0.575,0.709,0.069,0.511,0.762,0.921,0.899,0.757,1.446,
+2.023,0.936,0.732,1.608,0.760,0.508,0.417,0.603,0.741,0.071,
+0.348,0.639,1.377,0.866,0.577,1.577,0.943,0.510,0.370,0.693,
+0.503,0.319,0.271,0.400,0.549,0.045,0.332,0.490,0.644,0.517,
+0.355,0.755,0.893,0.665,0.696,1.331,0.074,0.062,0.055,0.155,
+0.472,0.041,0.280,0.522,0.511,0.515,0.380,0.847,1.551,0.780,
+1.171,3.061,0.931,0.675,0.668,1.545,0.724,0.059,0.490,0.929,
+1.288,0.818,0.994,2.545,1.222,0.681,0.460,0.940,0.737,0.546,
+0.423,0.582,0.570,0.059,0.324,0.558,0.670,0.625,0.410,0.927,
+0.784,0.554,0.314,0.582,0.509,0.448,0.284,0.400,0.498,0.056,
+0.342,0.505,0.536,0.594,0.301,0.566,0.659,0.574,0.465,0.883,
+0.048,0.055,0.049,0.100,0.519,0.048,0.280,0.542,0.465,0.548,
+0.345,0.705,0.996,0.602,0.613,1.677,0.916,0.760,0.675,1.778,
+0.668,0.054,0.425,0.899,0.849,0.765,0.716,1.666,0.967,0.494,
+0.385,0.702,0.717,0.547,0.434,0.717,0.741,0.080,0.410,0.667,
+0.709,0.589,0.531,1.071,0.066,0.049,0.033,0.067,0.042,0.052,
+0.035,0.049,0.052,7.54e-3,0.043,0.068,0.064,0.072,0.045,0.088,
+0.574,0.568,0.438,0.711,0.046,0.049,0.038,0.075,0.569,0.058,
+0.369,0.520,0.439,0.607,0.492,0.761,0.714,0.491,0.542,0.908,
+0.775,0.714,0.605,1.021,0.861,0.067,0.590,0.918,0.779,0.697,
+0.829,1.528,1.544,0.759,0.615,1.284,0.764,0.569,0.426,0.812,
+0.903,0.081,0.421,0.778,1.302,0.827,0.697,1.902,0.899,0.587,
+0.402,0.784,0.563,0.490,0.380,0.544,0.586,0.046,0.434,0.726,
+0.722,0.680,0.504,1.071,0.987,0.839,0.634,1.176,0.073,0.067,
+0.048,0.113,0.986,0.073,0.562,0.909,0.881,0.992,0.776,1.314,
+1.815,0.945,1.059,2.364,1.309,1.108,0.926,1.731,1.624,0.102,
+1.211,2.195,2.792,1.947,2.028,4.318,2.442,1.544,1.240,2.125,
+1.657,1.134,0.837,1.070,1.232,0.161,0.955,1.172,1.837,1.605,
+0.948,1.604,1.714,1.168,0.816,1.147,1.244,0.990,0.703,0.822,
+0.928,0.117,0.724,0.798,0.786,0.994,0.697,0.941,1.029,0.891,
+0.728,1.107,0.108,0.106,0.091,0.156,0.816,0.114,0.492,0.570,
+0.603,0.804,0.630,0.868,1.401,0.766,0.633,1.406,1.313,0.964,
+0.712,1.174,0.806,0.085,0.548,0.821,1.109,0.787,0.899,1.732,
+1.950,1.309,1.035,1.290,1.478,1.115,0.728,0.825,1.035,0.166,
+0.990,1.093,0.897,1.124,0.673,1.053,1.420,1.220,0.844,1.035,
+1.123,0.990,0.782,0.827,0.994,0.176,0.827,0.976,0.652,0.967,
+0.617,0.804,0.913,1.093,0.676,0.826,0.146,0.168,0.125,0.130,
+3.199,0.495,0.698,0.776,0.817,1.285,0.710,0.730,0.715,0.573,
+0.398,0.637,1.143,0.972,0.649,0.983,0.987,0.111,0.564,0.743,
+0.712,0.711,0.753,1.194,1.242,0.785,0.550,0.791,1.714,0.956,
+0.791,0.891,0.995,0.155,0.530,0.713,0.784,0.881,0.678,1.224,
+0.101,0.112,0.065,0.105,0.136,0.162,0.104,0.121,0.106,0.037,
+0.089,0.107,0.089,0.184,0.110,0.146,0.668,0.745,0.600,0.669,
+0.098,0.098,0.095,0.119,0.770,0.127,0.500,0.668,0.484,0.832,
+0.752,1.100,0.652,0.467,0.441,0.754,0.933,0.859,0.711,0.954,
+0.911,0.113,0.601,0.866,0.765,0.944,0.890,1.438,1.346,0.691,
+0.525,1.012,0.819,0.526,0.415,0.631,0.768,0.104,0.405,0.637,
+0.926,0.788,0.562,1.360,1.217,0.947,0.619,1.060,1.028,1.025,
+0.722,1.027,0.735,0.116,0.618,0.934,0.679,1.095,0.676,1.222,
+0.670,0.679,0.562,0.834,0.074,0.076,0.078,0.115,0.855,0.211,
+0.496,0.925,0.528,0.908,0.748,0.995,1.016,0.639,0.608,1.155,
+0.707,0.667,0.559,0.844,0.911,0.100,0.728,1.381,1.157,1.120,
+1.158,2.274,1.917,1.380,0.917,1.446,1.415,1.351,0.848,0.925,
+0.810,0.113,0.478,0.741,0.943,0.997,0.684,1.161,1.571,1.267,
+0.793,0.969,1.255,1.269,0.917,1.044,0.837,0.148,0.733,0.864,
+0.537,0.897,0.614,0.780,0.672,0.849,0.651,0.811,0.097,0.142,
+0.112,0.137,0.486,0.076,0.419,0.466,0.359,0.611,0.495,0.665,
+0.780,0.482,0.432,0.861,0.852,0.947,0.593,0.787,0.761,0.089,
+0.427,0.605,0.661,0.572,0.649,1.211,1.582,1.524,0.727,1.090,
+1.507,2.097,0.954,0.953,0.791,0.136,0.570,0.730,0.578,0.888,
+0.524,0.926,1.430,1.749,0.884,0.888,1.233,1.044,1.003,1.066,
+0.963,0.250,0.898,1.015,0.517,1.242,0.648,0.802,0.800,1.362,
+0.729,0.819,0.145,0.322,0.187,0.173,0.814,0.181,0.606,0.723,
+0.412,1.065,0.740,0.782,0.641,0.647,0.408,0.604,0.954,1.512,
+0.753,0.969,0.682,0.090,0.543,0.723,0.504,0.674,0.601,1.117,
+1.068,0.792,0.487,0.713,1.358,1.407,0.953,0.889,1.111,0.278,
+0.601,0.696,0.679,1.037,0.652,1.036,0.100,0.163,0.074,0.115,
+0.134,0.348,0.215,0.152,0.224,0.133,0.145,0.144,0.079,0.292,
+0.103,0.114,0.823,1.131,0.843,0.840,0.151,0.237,0.183,0.158,
+0.888,0.167,0.698,0.782,0.474,1.036,0.908,0.921,0.653,0.511,
+0.520,0.706,1.129,1.432,1.132,1.139,1.365,0.154,0.810,0.981,
+0.884,0.853,1.005,1.353,0.941,0.645,0.445,0.742,0.804,0.660,
+0.499,0.610,0.686,0.088,0.348,0.466,0.736,0.639,0.491,0.966,
+1.004,1.113,0.679,1.022,0.961,1.392,1.391,1.564,0.868,0.223,
+0.619,0.777,0.555,1.181,0.616,0.914,0.605,0.881,0.600,0.724,
+0.068,0.105,0.078,0.099,0.578,0.083,0.631,0.670,0.448,0.796,
+0.766,0.843,0.760,0.511,0.552,0.793,0.645,0.739,0.670,0.833,
+0.729,0.074,0.631,1.023,0.860,1.032,1.062,1.810,1.117,0.918,
+0.567,0.911,0.689,0.648,0.459,0.571,0.542,0.086,0.392,0.461,
+0.630,0.881,0.504,0.695,1.089,1.122,0.545,0.774,0.873,1.036,
+0.678,0.799,0.824,0.206,0.815,0.787,0.628,1.918,0.533,0.762,
+0.637,0.926,0.943,0.898,0.093,0.148,0.208,0.239,0.620,0.102,
+0.435,0.590,0.334,0.710,0.433,0.608,0.623,0.494,0.466,0.972,
+0.665,0.714,0.848,1.223,0.546,0.072,0.438,0.678,0.620,0.628,
+0.690,1.384,0.066,0.075,0.048,0.059,0.096,0.122,0.091,0.071,
+0.062,0.018,0.062,0.060,0.053,0.107,0.136,0.076,0.086,0.129,
+0.061,0.070,0.134,0.224,0.127,0.109,0.100,0.058,0.134,0.114,
+0.067,0.262,0.076,0.080,0.056,0.124,0.139,0.097,0.024,0.060,
+0.122,0.056,0.137,0.046,0.105,0.122,0.047,0.130,0.088,0.077,
+0.065,0.065,0.057,0.107,0.126,0.198,0.244,0.358,0.077,0.018,
+0.088,0.111,0.059,0.083,0.088,0.150,0.770,0.832,0.414,0.501,
+0.840,1.370,0.778,0.640,0.814,0.177,0.828,0.870,0.508,0.836,
+0.630,0.854,0.071,0.141,0.060,0.064,0.088,0.225,0.137,0.089,
+0.110,0.049,0.133,0.117,0.066,0.197,0.096,0.102,0.627,1.648,
+0.767,0.692,0.120,0.580,0.200,0.142,0.744,0.182,0.519,0.656,
+0.381,0.976,0.664,0.752,0.500,0.574,0.458,0.580,0.849,2.007,
+0.960,1.168,0.893,0.151,0.747,0.892,0.554,0.760,0.790,1.107,
+0.804,0.695,0.352,0.620,0.597,0.681,0.324,0.388,0.580,0.079,
+0.356,0.513,0.632,0.682,0.417,0.855,0.971,1.200,0.566,0.749,
+1.035,1.880,0.878,0.823,0.915,0.180,0.797,1.079,0.658,1.314,
+0.722,0.998,0.826,1.094,0.677,0.721,0.075,0.147,0.095,0.095,
+0.764,0.120,0.619,0.803,0.515,1.025,0.691,0.883,0.739,0.633,
+0.505,0.827,0.656,0.864,0.582,0.780,0.855,0.100,0.827,1.069,
+0.984,1.158,1.030,1.632,1.320,0.730,0.609,1.118,0.750,0.517,
+0.445,0.677,0.650,0.070,0.362,0.612,0.816,0.699,0.477,1.034,
+0.810,0.583,0.413,0.597,0.541,0.486,0.349,0.503,0.546,0.065,
+0.398,0.539,0.522,0.666,0.362,0.631,0.738,0.662,0.664,0.953,
+0.063,0.064,0.065,0.154,0.461,0.053,0.343,0.509,0.381,0.477,
+0.383,0.723,0.962,0.582,0.701,1.938,0.721,0.569,0.586,1.759,
+0.623,0.055,0.419,0.867,0.903,0.616,0.738,1.910,1.253,0.921,
+0.726,1.054,1.140,0.998,1.347,0.982,0.811,0.120,0.746,0.898,
+0.753,1.039,0.707,1.012,1.009,1.018,0.594,0.826,0.982,1.169,
+0.753,0.926,0.924,0.176,0.842,1.065,0.723,1.536,0.637,0.918,
+0.764,1.041,0.958,1.381,0.098,0.153,0.238,0.346,0.938,0.131,
+0.628,0.926,0.567,1.030,0.669,0.957,0.914,0.781,0.739,2.183,
+1.440,1.545,1.716,7.491,0.816,0.104,0.783,1.454,0.825,1.003,
+0.914,2.195,0.856,0.598,0.442,0.611,0.923,0.879,0.679,0.774,
+0.798,0.134,0.610,0.828,0.668,0.775,0.652,1.060,0.074,0.077,
+0.042,0.072,0.070,0.134,0.084,0.080,0.064,0.021,0.086,0.097,
+0.060,0.124,0.071,0.098,0.642,0.917,0.642,0.865,0.076,0.131,
+0.095,0.140,0.792,0.139,0.787,0.871,0.531,0.995,0.941,1.131,
+0.625,0.565,0.530,0.856,0.949,1.151,0.935,1.638,0.973,0.118,
+0.884,1.293,0.806,0.845,1.077,1.726,1.182,0.725,0.526,0.943,
+0.731,0.633,0.508,0.637,0.800,0.093,0.428,0.695,0.827,0.673,
+0.544,1.239,1.010,0.795,0.483,0.763,0.794,0.981,0.678,0.760,
+0.639,0.081,0.611,0.866,0.665,0.885,0.581,1.086,0.948,0.947,
+0.723,1.140,0.083,0.094,0.072,0.126,0.902,0.099,0.742,1.054,
+0.811,1.123,1.046,1.369,1.295,0.823,0.804,1.663,1.103,1.161,
+0.969,1.688,1.278,0.115,1.192,1.860,1.855,1.649,1.776,2.764,
+1.582,0.984,0.805,1.414,1.149,0.806,0.610,0.753,0.805,0.096,
+0.421,0.740,1.150,1.050,0.616,1.152,1.033,0.742,0.452,0.710,
+0.835,0.592,0.563,0.631,0.577,0.072,0.372,0.495,0.533,0.608,
+0.446,0.716,0.789,0.694,0.485,0.838,0.074,0.065,0.053,0.107,
+0.473,0.048,0.296,0.448,0.419,0.587,0.439,0.681,0.940,0.480,
+0.399,0.897,0.753,0.547,0.417,0.704,0.571,0.046,0.311,0.510,
+0.794,0.466,0.569,1.219,1.528,1.004,0.570,1.036,1.248,0.956,
+0.687,0.767,0.771,0.096,0.406,0.616,0.711,0.806,0.466,0.824,
+1.204,1.224,0.501,0.718,1.040,0.708,0.645,0.718,0.868,0.135,
+0.549,0.787,0.563,0.708,0.415,0.634,0.807,0.957,0.564,0.777,
+0.109,0.123,0.097,0.133,0.825,0.117,0.555,0.798,0.468,0.843,
+0.633,0.768,0.699,0.521,0.336,0.634,0.895,0.895,0.580,0.882,
+0.718,0.067,0.438,0.731,0.633,0.588,0.613,1.165,1.188,0.644,
+0.452,0.728,1.214,0.922,0.786,0.836,1.200,0.156,0.464,0.717,
+0.890,0.990,0.612,1.111,0.114,0.119,0.061,0.097,0.126,0.147,
+0.115,0.122,0.124,0.027,0.097,0.118,0.125,0.233,0.112,0.156,
+0.759,0.790,0.704,0.859,0.109,0.101,0.143,0.155,1.017,0.118,
+0.502,0.680,0.537,0.878,0.787,0.832,0.653,0.430,0.383,0.634,
+1.002,0.880,0.885,1.070,0.867,0.099,0.582,0.842,0.815,0.787,
+0.859,1.212,1.209,0.538,0.397,0.826,0.671,0.474,0.417,0.525,
+0.646,0.073,0.306,0.516,0.901,0.714,0.503,1.109,0.992,0.774,
+0.430,0.698,0.770,0.727,0.555,0.691,0.667,0.077,0.471,0.661,
+0.659,0.844,0.549,0.906,0.771,0.817,0.630,0.922,0.087,0.086,
+0.083,0.128,0.745,0.082,0.543,0.800,0.675,0.958,0.845,1.108,
+1.048,0.644,0.526,1.156,0.780,0.659,0.633,0.965,1.059,0.090,
+0.688,1.193,1.460,1.258,1.312,2.268,0.092,0.076,0.048,0.076,
+0.086,0.080,0.064,0.068,0.054,9.04e-3,0.031,0.059,0.065,0.085,
+0.048,0.088,0.087,0.083,0.067,0.092,0.100,0.103,0.150,0.097,
+0.060,0.015,0.048,0.059,0.046,0.073,0.051,0.074,0.049,0.066,
+0.043,0.059,9.94e-3,0.013,0.012,0.015,0.046,8.50e-3,0.037,0.052,
+0.030,0.058,0.041,0.064,0.058,0.041,0.031,0.062,0.075,0.083,
+0.052,0.076,0.050,6.89e-3,0.034,0.060,0.056,0.051,0.058,0.123,
+0.091,0.084,0.041,0.061,0.095,0.124,0.078,0.071,0.054,0.017,
+0.037,0.045,0.038,0.061,0.039,0.054,0.106,0.176,0.061,0.070,
+0.180,0.242,0.138,0.128,0.110,0.055,0.079,0.094,0.052,0.115,
+0.056,0.073,0.063,0.111,0.061,0.066,0.018,0.045,0.035,0.024,
+0.109,0.042,0.084,0.109,0.042,0.111,0.085,0.091,0.055,0.048,
+0.029,0.046,0.087,0.120,0.078,0.084,0.068,0.014,0.051,0.066,
+0.042,0.053,0.055,0.091,0.074,0.049,0.030,0.044,0.084,0.102,
+0.093,0.083,0.075,0.018,0.047,0.052,0.044,0.064,0.047,0.067,
+0.013,0.017,9.55e-3,0.013,0.021,0.044,0.036,0.024,0.019,0.017,
+0.029,0.023,7.56e-3,0.022,0.016,0.014,0.069,0.106,0.073,0.086,
+0.021,0.038,0.052,0.028,0.212,0.040,0.084,0.085,0.055,0.112,
+0.096,0.083,0.051,0.039,0.041,0.056,0.099,0.136,0.115,0.117,
+0.096,0.018,0.075,0.094,0.059,0.082,0.087,0.104,0.076,0.062,
+0.039,0.061,0.062,0.059,0.049,0.053,0.053,8.00e-3,0.030,0.043,
+0.062,0.063,0.051,0.094,0.102,0.112,0.060,0.097,0.105,0.156,
+0.107,0.128,0.082,0.021,0.072,0.083,0.063,0.119,0.074,0.108,
+0.058,0.085,0.065,0.090,0.012,0.020,0.018,0.026,0.084,0.018,
+0.073,0.093,0.051,0.099,0.091,0.123,0.079,0.059,0.047,0.085,
+0.068,0.080,0.064,0.102,0.084,0.011,0.066,0.100,0.098,0.108,
+0.112,0.192,0.969,0.741,0.478,0.805,0.781,0.681,0.447,0.566,
+0.531,0.063,0.324,0.438,0.486,0.429,0.329,0.573,0.959,0.836,
+0.431,0.599,0.979,0.834,0.841,0.671,0.698,0.120,0.759,0.762,
+0.416,0.734,0.449,0.681,0.561,0.851,0.584,0.711,0.094,0.145,
+0.119,0.177,0.536,0.088,0.462,0.568,0.313,0.672,0.474,0.637,
+0.549,0.409,0.313,0.590,0.643,0.643,0.484,0.787,0.682,0.074,
+0.506,0.704,0.569,0.527,0.671,1.288,0.075,0.069,0.034,0.055,
+0.090,0.123,0.067,0.069,0.048,0.014,0.041,0.049,0.036,0.055,
+0.031,0.054,0.077,0.109,0.042,0.048,0.124,0.128,0.112,0.085,
+0.074,0.034,0.135,0.106,0.034,0.072,0.044,0.054,0.051,0.113,
+0.061,0.062,0.019,0.048,0.042,0.025,0.078,0.033,0.090,0.103,
+0.034,0.092,0.069,0.071,0.062,0.053,0.035,0.066,0.106,0.157,
+0.090,0.142,0.073,0.016,0.086,0.109,0.053,0.065,0.080,0.134,
+0.803,0.645,0.413,0.429,0.950,1.091,1.196,0.709,0.737,0.151,
+0.651,0.644,0.465,0.625,0.571,0.704,0.086,0.133,0.061,0.061,
+0.116,0.217,0.165,0.090,0.110,0.054,0.159,0.120,0.057,0.131,
+0.092,0.087,0.804,1.169,0.870,0.729,0.134,0.193,0.213,0.141,
+0.773,0.152,0.325,0.518,0.368,0.778,0.775,0.701,0.511,0.420,
+0.388,0.404,0.936,1.076,0.962,0.870,0.724,0.119,0.873,0.864,
+0.487,0.624,0.838,0.956,0.723,0.477,0.363,0.545,0.582,0.500,
+0.426,0.377,0.477,0.066,0.340,0.422,0.450,0.442,0.327,0.596,
+0.910,0.912,0.501,0.589,0.988,1.203,0.812,0.668,0.761,0.130,
+0.844,0.861,0.504,0.930,0.615,0.748,0.810,1.010,0.833,0.904,
+0.095,0.159,0.123,0.133,0.854,0.126,0.824,0.911,0.517,0.994,
+0.848,0.941,0.698,0.522,0.451,0.710,0.763,0.825,0.639,0.786,
+0.925,0.104,0.924,0.978,0.838,1.075,1.020,1.342,1.220,0.596,
+0.428,0.833,0.617,0.431,0.332,0.467,0.524,0.061,0.271,0.455,
+0.664,0.539,0.379,0.823,0.834,0.524,0.313,0.497,0.561,0.427,
+0.370,0.421,0.449,0.047,0.306,0.505,0.377,0.442,0.315,0.576,
+0.634,0.603,0.410,0.659,0.061,0.064,0.048,0.100,0.487,0.049,
+0.315,0.547,0.417,0.512,0.397,0.719,0.769,0.456,0.373,0.803,
+0.612,0.500,0.382,0.749,0.571,0.050,0.355,0.652,0.705,0.539,
+0.681,1.438,1.352,0.848,0.473,0.891,1.030,0.868,0.627,0.707,
+0.656,0.080,0.448,0.720,0.598,0.695,0.396,0.847,1.101,0.968,
+0.431,0.687,0.983,0.896,0.802,0.800,0.749,0.100,0.683,1.008,
+0.454,0.687,0.456,0.710,0.790,1.060,0.548,0.816,0.089,0.144,
+0.091,0.144,0.720,0.109,0.624,0.980,0.489,0.929,0.667,0.970,
+0.876,0.647,0.447,0.829,1.022,1.097,0.789,1.437,0.755,0.093,
+0.687,1.347,0.694,0.791,0.864,1.656,2.469,0.745,0.518,0.755,
+1.181,1.051,0.973,0.957,0.881,0.142,0.640,1.280,0.679,0.759,
+0.685,1.199,0.361,0.101,0.066,0.148,0.107,0.164,0.152,0.115,
+0.085,0.026,0.113,0.334,0.065,0.114,0.081,0.135,1.083,1.178,
+0.791,0.997,0.105,0.130,0.130,0.153,1.102,0.186,0.765,1.152,
+0.657,1.191,1.019,1.230,1.033,0.628,0.960,0.910,1.190,1.073,
+1.176,1.436,0.995,0.127,1.043,1.652,0.857,0.898,1.228,1.674,
+1.286,0.603,0.486,0.837,0.734,0.537,0.458,0.621,0.741,0.094,
+0.418,0.733,0.722,0.600,0.513,1.221,1.287,0.689,0.459,0.764,
+0.811,0.844,0.700,0.731,0.659,0.071,0.621,1.237,0.550,0.705,
+0.567,1.034,1.135,1.116,0.820,1.277,0.097,0.107,0.084,0.146,
+1.163,0.123,0.975,1.447,0.922,1.291,1.226,1.598,1.375,0.764,
+0.718,1.522,1.199,1.040,1.014,1.416,1.308,0.107,1.196,1.868,
+1.567,1.449,1.615,2.538,2.873,1.277,1.017,2.301,1.163,0.749,
+0.566,0.860,1.121,0.109,0.481,0.826,1.780,1.347,0.721,1.644,
+1.283,0.816,0.488,0.830,0.777,0.505,0.382,0.506,0.687,0.061,
+0.374,0.486,0.854,0.839,0.485,0.817,0.933,0.725,0.532,1.068,
+0.078,0.066,0.052,0.121,0.546,0.049,0.272,0.475,0.644,0.681,
+0.494,0.881,1.430,0.690,0.613,1.481,0.963,0.690,0.530,0.967,
+0.710,0.059,0.393,0.772,1.222,0.775,0.841,2.167,1.538,0.806,
+0.495,0.984,0.859,0.574,0.399,0.540,0.546,0.059,0.254,0.450,
+0.637,0.569,0.329,0.735,0.959,0.640,0.364,0.599,0.615,0.414,
+0.320,0.446,0.533,0.049,0.274,0.437,0.508,0.494,0.327,0.582,
+0.648,0.565,0.356,0.635,0.056,0.053,0.041,0.068,0.662,0.075,
+0.232,0.404,0.493,0.616,0.379,0.576,0.631,0.385,0.273,0.603,
+0.586,0.486,0.324,0.581,0.457,0.038,0.266,0.494,0.610,0.482,
+0.475,1.043,1.235,0.577,0.431,0.803,0.963,0.688,0.595,0.846,
+0.813,0.096,0.274,0.520,1.024,0.860,0.469,1.098,0.089,0.068,
+0.039,0.080,0.083,0.071,0.060,0.087,0.074,9.07e-3,0.037,0.063,
+0.122,0.135,0.059,0.131,0.632,0.593,0.449,0.707,0.063,0.055,
+0.050,0.087,0.595,0.059,0.249,0.432,0.513,0.620,0.475,0.720,
+0.694,0.415,0.389,0.810,0.794,0.586,0.508,0.885,0.663,0.065,
+0.376,0.667,0.862,0.687,0.711,1.291,1.651,0.655,0.527,1.192,
+0.726,0.471,0.476,0.619,0.780,0.073,0.340,0.613,1.401,0.844,
+0.587,1.442,0.965,0.597,0.395,0.710,0.601,0.484,0.388,0.528,
+0.629,0.051,0.338,0.583,0.808,0.788,0.485,1.016,0.763,0.666,
+0.528,0.814,0.061,0.049,0.046,0.085,0.600,0.051,0.379,0.580,
+0.711,0.794,0.684,1.089,1.400,0.704,0.681,1.626,0.899,0.656,
+0.585,1.120,1.044,0.078,0.633,1.161,1.898,1.413,1.535,3.352,
+1.865,1.073,0.713,1.513,1.079,0.760,0.570,0.819,0.819,0.085,
+0.421,0.718,1.145,1.032,0.584,1.354,1.249,0.783,0.515,0.813,
+0.861,0.685,0.610,0.631,0.711,0.070,0.420,0.563,0.631,0.694,
+0.446,0.840,0.681,0.665,0.431,0.759,0.065,0.072,0.051,0.092,
+0.508,0.056,0.282,0.470,0.453,0.621,0.443,0.802,0.806,0.524,
+0.386,0.835,0.794,0.755,0.466,0.764,0.520,0.055,0.321,0.617,
+0.720,0.647,0.687,1.552,1.402,0.923,0.466,0.885,1.029,0.913,
+0.489,0.715,0.579,0.068,0.259,0.460,0.567,0.625,0.352,0.775,
+1.036,0.926,0.435,0.706,1.013,0.990,0.513,0.675,0.643,0.105,
+0.376,0.527,0.509,0.690,0.391,0.670,0.744,0.797,0.416,0.717,
+0.082,0.108,0.063,0.089,0.940,0.117,0.359,0.596,0.499,0.839,
+0.489,0.790,0.620,0.490,0.290,0.585,0.766,0.855,0.467,0.693,
+0.623,0.054,0.307,0.622,0.585,0.686,0.559,1.175,1.002,0.546,
+0.362,0.717,0.837,0.687,0.551,1.197,0.658,0.086,0.274,0.454,
+0.613,0.624,0.415,0.920,0.060,0.054,0.030,0.065,0.060,0.109,
+0.057,0.115,0.060,0.016,0.040,0.054,0.056,0.094,0.046,0.085,
+0.687,0.781,0.477,0.761,0.077,0.083,0.068,0.111,1.101,0.098,
+0.355,0.545,0.569,0.781,0.578,0.833,0.683,0.428,0.384,0.786,
+0.847,0.852,0.743,1.064,0.766,0.064,0.475,0.767,0.755,0.654,
+0.813,1.417,1.069,0.623,0.430,0.830,0.669,0.519,0.418,0.588,
+0.691,0.063,0.316,0.500,0.827,0.662,0.478,1.107,0.916,0.756,
+0.448,0.760,0.660,0.790,0.484,0.718,0.644,0.078,0.396,0.607,
+0.635,0.922,0.552,1.021,0.646,0.697,0.568,0.869,0.055,0.061,
+0.048,0.103,0.641,0.059,0.453,0.632,0.558,0.780,0.650,1.066,
+0.978,0.584,0.544,1.074,0.870,0.748,0.659,1.761,0.887,0.075,
+0.614,0.984,1.341,1.201,1.243,2.675,1.419,0.994,0.685,1.396,
+1.169,0.859,0.724,0.938,0.844,0.081,0.416,0.671,0.873,0.694,
+0.446,0.969,1.177,0.994,0.471,0.835,0.876,0.796,0.579,0.665,
+0.813,0.100,0.587,0.787,0.721,0.946,0.543,0.991,0.835,1.009,
+0.662,0.974,0.102,0.126,0.135,0.168,0.649,0.089,0.392,0.633,
+0.536,1.049,0.610,0.918,0.923,0.691,0.457,1.007,0.828,0.787,
+0.603,0.981,0.871,0.088,0.603,0.978,0.987,0.931,1.056,2.016,
+0.099,0.077,0.055,0.085,0.280,0.130,0.071,0.082,0.060,9.90e-3,
+0.034,0.048,0.059,0.064,0.041,0.080,0.072,0.077,0.034,0.056,
+0.087,0.103,0.057,0.066,0.064,0.015,0.059,0.073,0.053,0.081,
+0.045,0.080,0.052,0.073,0.046,0.063,0.012,0.022,0.021,0.015,
+0.066,0.018,0.045,0.064,0.043,0.091,0.058,0.082,0.078,0.062,
+0.038,0.090,0.095,0.121,0.073,0.124,0.067,0.011,0.051,0.086,
+0.083,0.090,0.098,0.190,1.063,0.744,0.464,0.655,1.025,1.068,
+0.753,0.791,0.819,0.143,0.504,0.666,0.693,0.803,0.621,1.112,
+0.071,0.088,0.041,0.059,0.088,0.125,0.070,0.066,0.077,0.024,
+0.079,0.076,0.072,0.124,0.068,0.114,0.848,1.067,0.720,0.878,
+0.098,0.144,0.119,0.120,0.864,0.134,0.460,0.749,0.525,0.978,
+0.794,1.035,0.754,0.554,0.446,0.683,0.944,1.093,0.849,0.942,
+1.008,0.116,0.847,1.063,0.802,0.920,1.108,1.573,1.155,0.761,
+0.500,0.896,0.906,0.721,0.457,0.630,0.692,0.077,0.455,0.670,
+0.810,0.694,0.518,1.184,1.197,1.055,0.570,0.876,1.173,1.095,
+0.652,0.720,1.006,0.109,0.805,1.017,0.923,1.254,0.824,1.423,
+1.169,1.195,0.989,1.301,0.103,0.122,0.099,0.150,1.126,0.113,
+0.770,1.053,0.898,1.334,1.057,1.452,1.178,0.783,0.676,1.098,
+0.927,0.969,0.740,1.026,1.265,0.112,1.094,1.300,1.464,1.477,
+1.529,2.438,3.103,1.233,0.829,1.921,1.129,0.732,0.586,0.942,
+1.018,0.098,0.486,0.935,1.412,1.101,0.726,1.973,1.315,0.798,
+0.429,0.836,0.790,0.606,0.380,0.595,0.751,0.062,0.399,0.690,
+0.686,0.683,0.448,1.003,1.141,0.990,0.598,1.306,0.084,0.082,
+0.057,0.141,0.707,0.073,0.407,0.785,0.746,0.917,0.643,1.298,
+1.745,1.015,0.736,1.881,1.049,0.830,0.645,1.422,1.083,0.092,
+0.694,1.301,1.722,1.396,1.349,3.652,1.892,1.099,0.698,1.382,
+1.546,1.046,0.620,0.893,0.755,0.078,0.426,0.802,0.871,0.825,
+0.500,1.243,1.458,1.053,0.476,0.937,1.155,1.214,0.558,0.858,
+0.838,0.084,0.540,0.948,0.703,0.855,0.496,1.230,1.074,1.067,
+0.566,1.156,0.076,0.098,0.060,0.119,0.906,0.097,0.502,0.938,
+0.852,1.251,0.741,1.533,1.158,0.787,0.532,1.246,1.044,1.011,
+0.669,1.609,0.968,0.083,0.619,1.212,1.266,1.246,1.035,3.855,
+1.904,1.009,0.706,1.111,1.456,1.142,0.842,1.333,1.164,0.150,
+0.933,1.283,1.213,1.121,0.973,2.026,0.121,0.090,0.049,0.098,
+0.088,0.109,0.068,0.105,0.070,0.014,0.127,0.156,0.095,0.126,
+0.081,0.189,1.485,1.430,0.911,1.531,0.104,0.114,0.090,0.160,
+1.333,0.148,0.971,1.313,1.112,1.579,1.569,2.139,1.552,0.999,
+0.884,1.493,1.632,1.358,1.234,1.975,1.741,0.141,1.391,2.116,
+1.656,1.429,1.912,3.273,3.645,1.611,1.013,2.304,1.479,1.063,
+0.760,1.243,1.596,0.139,0.771,1.460,2.398,1.627,1.216,3.555,
+2.000,1.384,0.809,1.583,1.345,1.225,0.819,1.414,1.302,0.104,
+0.989,1.693,1.517,1.552,1.093,3.532,2.139,1.789,1.211,2.374,
+0.121,0.116,0.086,0.203,1.986,0.151,1.310,2.266,2.083,2.349,
+2.092,3.811,3.661,1.463,1.237,3.238,1.807,1.332,1.309,3.016,
+2.357,0.149,1.766,3.369,2.597,2.186,1.949,5.148,7.663,2.725,
+2.458,4.031,3.079,1.619,1.503,2.033,3.832,0.314,1.480,2.082,
+4.476,2.824,2.073,3.674,3.710,1.803,1.451,1.837,1.961,1.087,
+1.107,1.085,2.326,0.165,1.182,1.446,1.704,1.390,1.132,1.696,
+4.265,2.081,1.644,2.217,0.272,0.188,0.159,0.293,2.166,0.180,
+1.216,1.435,1.696,1.810,1.394,1.842,4.475,1.932,1.947,3.861,
+2.705,1.860,1.678,2.717,2.344,0.192,1.386,1.980,3.059,1.783,
+1.902,3.115,4.179,2.175,1.489,2.084,2.266,1.446,1.115,1.177,
+2.080,0.217,0.976,1.352,1.689,1.667,0.961,1.634,2.541,1.514,
+1.063,1.253,1.543,0.926,0.879,0.800,1.696,0.166,1.048,1.176,
+0.992,1.041,0.771,0.969,2.122,1.710,1.138,1.383,0.187,0.162,
+0.138,0.147,1.777,0.175,1.068,1.362,1.081,1.491,0.937,1.236,
+1.682,1.067,0.874,1.366,1.580,1.192,1.375,1.292,1.676,0.127,
+1.025,1.331,1.375,1.133,1.071,1.768,4.494,1.314,1.201,1.551,
+1.724,1.069,1.062,1.076,2.212,0.244,1.005,1.435,1.579,1.342,
+1.125,2.159,0.233,0.142,0.106,0.178,0.162,0.128,0.111,0.118,
+0.178,0.028,0.139,0.167,0.187,0.239,0.151,0.241,1.482,1.050,
+1.045,1.394,0.126,0.091,0.093,0.144,1.337,0.132,0.780,0.956,
+0.891,1.159,0.893,1.026,1.348,0.770,0.817,1.362,1.395,1.043,
+1.038,1.352,1.440,0.140,1.412,1.435,1.113,1.042,1.199,1.830,
+4.135,1.661,1.402,2.755,1.546,0.907,0.962,1.179,2.120,0.216,
+1.023,1.705,2.678,1.777,1.625,3.806,2.605,1.564,1.250,1.712,
+1.751,1.050,1.078,1.185,1.806,0.136,1.227,1.713,1.775,1.594,
+1.448,2.217,1.809,1.315,1.117,1.474,0.139,0.104,0.098,0.145,
+1.540,0.112,0.976,1.364,1.274,1.391,1.335,1.569,2.461,1.262,
+1.236,2.413,1.301,0.940,0.965,1.475,2.029,0.134,1.364,2.023,
+2.391,1.701,1.835,3.121,3.620,1.960,1.415,2.291,1.845,1.289,
+1.089,1.181,1.610,0.164,0.775,1.144,1.511,1.418,0.885,1.501,
+2.178,1.485,0.897,1.232,1.333,0.889,0.886,0.834,1.242,0.170,
+0.790,0.986,0.787,0.992,0.709,1.110,1.367,1.326,0.837,0.993,
+0.137,0.157,0.107,0.135,1.296,0.122,0.966,0.859,0.723,1.064,
+0.938,0.999,1.411,0.791,0.703,1.123,1.320,1.254,0.756,1.019,
+1.260,0.183,0.699,0.973,0.999,0.871,0.875,1.576,2.391,1.701,
+0.925,1.301,1.576,1.300,0.894,0.835,1.314,0.155,0.635,0.914,
+0.918,1.176,0.580,0.950,1.422,1.130,0.627,0.800,0.939,0.564,
+0.632,0.575,1.075,0.129,0.648,0.894,0.561,0.766,0.547,0.680,
+1.185,1.609,0.755,0.871,0.132,0.266,0.098,0.107,1.254,0.185,
+0.835,0.989,0.690,1.496,0.777,0.944,0.947,0.708,0.482,0.722,
+1.052,1.149,0.643,0.772,1.421,0.120,0.599,0.937,0.793,0.801,
+0.627,1.114,1.597,0.987,0.652,1.335,1.287,0.969,0.876,0.914,
+1.146,0.164,0.632,0.925,0.774,0.932,0.681,1.150,0.110,0.126,
+0.079,0.363,0.104,0.119,0.100,0.091,0.115,0.035,0.115,0.123,
+0.078,0.193,0.090,0.121,0.979,1.087,0.862,0.931,0.107,0.120,
+0.093,0.102,1.008,0.152,0.739,0.879,0.534,1.074,0.841,0.847,
+0.755,0.495,0.510,0.696,0.971,1.038,0.770,0.924,0.903,0.101,
+0.864,1.045,0.570,0.672,0.779,1.020,1.472,0.804,0.688,1.098,
+0.899,0.626,0.869,0.636,0.838,0.085,0.468,0.733,0.912,0.716,
+0.641,1.281,1.270,0.983,0.783,1.540,0.971,0.826,0.707,0.730,
+0.880,0.099,0.669,0.991,0.705,0.993,0.733,1.157,0.959,0.968,
+0.946,1.009,0.080,0.091,0.075,0.091,0.907,0.092,0.790,1.020,
+0.689,0.952,0.902,1.172,1.129,0.666,0.746,1.075,0.869,0.733,
+0.630,0.863,1.188,0.089,0.822,1.246,1.177,1.034,1.135,1.825,
+3.318,1.545,1.259,2.019,1.183,0.766,0.633,0.722,2.481,0.163,
+0.700,0.871,1.333,1.101,0.662,1.177,1.958,1.610,0.788,1.117,
+1.073,0.787,0.692,0.698,1.429,0.156,0.827,0.941,0.870,1.159,
+0.613,0.916,1.302,1.386,0.969,1.158,0.148,0.198,0.125,0.187,
+1.009,0.123,0.652,0.798,0.709,1.143,0.651,1.164,1.354,1.169,
+0.765,1.337,1.234,1.480,0.739,1.023,1.263,0.135,0.767,1.138,
+1.171,0.951,0.993,2.176,0.196,0.141,0.090,0.134,0.149,0.119,
+0.083,0.084,0.131,0.023,0.067,0.088,0.093,0.121,0.066,0.111,
+0.150,0.125,0.064,0.083,0.117,0.108,0.082,0.069,0.127,0.029,
+0.085,0.097,0.072,0.117,0.057,0.080,0.108,0.144,0.082,0.093,
+0.019,0.034,0.029,0.020,0.120,0.030,0.105,0.116,0.075,0.150,
+0.078,0.115,0.161,0.127,0.086,0.157,0.207,0.271,0.165,0.174,
+0.153,0.020,0.120,0.157,0.130,0.131,0.115,0.224,1.300,0.761,
+0.683,0.754,0.904,0.707,0.657,0.618,1.084,0.168,0.719,0.893,
+0.655,0.738,0.669,0.873,0.102,0.096,0.053,0.074,0.072,0.081,
+0.071,0.054,0.110,0.027,0.097,0.087,0.081,0.121,0.073,0.085,
+0.911,0.932,0.661,0.675,0.091,0.109,0.091,0.094,1.046,0.150,
+0.644,0.788,0.569,0.911,0.653,0.683,0.858,0.547,0.483,0.549,
+0.805,0.944,0.669,0.725,1.099,0.155,1.240,1.222,0.615,0.805,
+0.741,0.920,1.169,0.572,0.476,0.830,0.702,0.416,0.342,0.430,
+0.783,0.081,0.432,0.740,0.851,0.638,0.473,1.012,1.237,0.870,
+0.582,0.898,0.916,0.730,0.583,0.579,1.008,0.098,0.668,0.874,
+0.925,0.959,0.619,0.900,1.097,0.960,0.710,0.850,0.103,0.106,
+0.071,0.093,1.086,0.116,0.743,1.032,0.870,1.190,0.809,1.113,
+1.051,0.603,0.623,0.801,0.928,0.809,0.611,0.741,1.204,0.109,
+0.958,1.307,1.259,1.140,1.060,1.897,3.627,1.575,1.426,3.079,
+1.209,0.680,0.687,0.863,1.483,0.130,0.604,1.045,1.958,1.219,
+0.851,1.913,1.480,0.774,0.545,0.956,0.803,0.460,0.447,0.563,
+1.062,0.085,0.570,0.811,0.767,0.662,0.469,0.872,1.191,0.876,
+0.608,1.195,0.100,0.089,0.061,0.138,0.863,0.074,0.436,0.719,
+0.729,0.772,0.518,1.000,1.630,0.855,0.824,1.887,1.127,0.850,
+0.691,1.189,1.232,0.123,0.770,1.191,1.641,1.193,1.152,2.884,
+2.319,1.220,0.949,1.533,1.497,0.872,0.768,0.827,1.279,0.129,
+0.609,1.008,1.046,0.988,0.615,1.156,1.587,0.899,0.532,0.805,
+1.006,0.725,0.521,0.580,1.120,0.189,0.614,0.932,0.715,0.852,
+0.438,0.781,1.197,0.950,0.621,0.955,0.094,0.091,0.066,0.098,
+1.024,0.101,0.631,1.033,0.765,0.978,0.586,1.012,1.290,0.733,
+0.631,1.237,1.221,0.971,0.724,1.106,1.146,0.092,0.714,1.190,
+1.095,0.952,0.816,1.740,1.329,0.769,0.640,1.125,1.035,0.635,
+0.658,0.767,1.100,0.149,0.601,0.908,0.904,0.926,0.659,1.146,
+0.089,0.071,0.050,0.099,0.067,0.060,0.059,0.058,0.091,0.016,
+0.068,0.100,0.085,0.110,0.063,0.100,0.842,0.769,0.575,0.821,
+0.068,0.060,0.063,0.081,1.032,0.092,0.551,0.764,0.730,0.795,
+0.821,0.855,0.825,0.548,0.532,0.816,0.907,0.719,0.643,0.941,
+1.118,0.161,0.781,1.212,0.826,0.856,0.814,1.319,2.329,0.907,
+0.768,1.456,0.975,0.592,0.556,0.673,1.208,0.112,0.609,1.018,
+1.529,1.033,0.881,2.074,0.977,0.588,0.465,0.811,0.619,0.389,
+0.410,0.507,0.842,0.061,0.523,0.897,0.863,0.777,0.578,1.097,
+1.439,1.137,0.790,1.238,0.102,0.078,0.059,0.105,1.316,0.108,
+0.780,1.237,1.234,1.343,1.172,1.551,2.013,1.002,1.049,2.038,
+1.336,1.120,0.870,1.365,1.843,0.111,1.271,2.152,2.610,1.771,
+1.829,3.516,4.548,2.798,2.330,3.431,2.834,1.917,1.653,1.863,
+2.602,0.289,1.377,1.921,3.074,2.573,1.609,2.532,2.700,1.992,
+1.286,1.419,1.978,1.343,1.262,1.160,1.926,0.194,1.362,1.554,
+1.255,1.476,1.135,1.607,1.603,1.480,1.135,1.380,0.179,0.167,
+0.134,0.206,1.302,0.160,0.849,1.046,1.047,1.524,1.080,1.475,
+2.041,1.236,0.983,1.905,1.806,1.484,1.037,1.574,1.543,0.156,
+1.042,1.610,1.669,1.345,1.486,2.525,3.489,2.542,1.336,1.775,
+2.778,2.195,1.373,1.239,2.011,0.286,1.158,1.455,1.423,1.818,
+0.936,1.615,2.271,1.930,0.997,1.075,1.821,1.235,1.084,1.013,
+1.823,0.296,1.398,1.702,0.944,1.413,0.892,1.357,1.803,1.978,
+1.029,1.098,0.371,0.226,0.164,0.155,1.779,0.275,1.393,1.580,
+0.977,2.000,1.256,1.332,1.275,1.000,0.552,0.875,1.796,1.316,
+0.827,0.984,1.279,0.145,1.028,1.510,1.024,1.193,1.085,1.772,
+1.731,1.132,0.770,1.008,1.707,1.241,1.017,0.960,2.001,0.278,
+1.004,1.366,1.098,1.259,0.892,1.557,0.144,0.165,0.096,0.119,
+0.185,0.216,0.154,0.132,0.183,0.060,0.181,0.191,0.123,0.300,
+0.133,0.182,0.914,0.989,0.775,0.758,0.109,0.117,0.090,0.108,
+1.039,0.163,0.825,0.998,0.617,1.059,0.815,0.882,0.913,0.577,
+0.442,0.652,1.079,1.198,0.816,0.953,1.095,0.143,0.953,1.145,
+0.777,0.964,1.049,1.412,1.999,1.062,0.791,1.515,0.958,0.638,
+0.557,0.743,1.226,0.153,0.651,1.064,1.296,1.045,0.819,1.831,
+1.723,1.536,0.950,1.242,1.386,1.194,1.016,1.026,1.234,0.156,
+1.027,1.358,0.976,1.445,0.931,1.397,0.908,0.872,0.914,0.991,
+0.096,0.083,0.107,0.111,0.895,0.101,0.748,0.947,0.675,1.020,
+0.990,1.165,1.231,0.734,0.627,1.231,0.838,0.776,0.684,0.924,
+1.360,0.119,1.028,1.575,1.444,1.405,1.514,2.602,3.083,2.164,
+1.561,2.088,2.330,1.954,1.694,1.501,1.504,0.203,0.898,1.214,
+1.332,1.549,0.951,1.605,2.418,1.926,1.206,1.326,2.022,1.526,
+1.855,1.345,1.450,0.237,1.282,1.430,0.763,1.295,0.887,1.786,
+1.088,1.420,0.972,1.003,0.145,0.202,0.170,0.173,0.973,0.146,
+0.912,0.961,0.614,1.141,0.901,1.125,1.070,0.678,0.596,0.974,
+1.185,1.336,0.871,1.013,0.905,0.109,0.751,1.030,0.846,0.801,
+0.944,1.650,2.123,2.089,0.972,1.155,1.918,2.064,1.256,1.020,
+1.426,0.231,1.007,1.179,0.856,1.360,0.702,1.092,1.368,1.382,
+0.764,0.759,0.835,0.326,0.759,0.621,1.172,0.251,1.037,1.313,
+0.529,1.111,0.744,0.874,1.082,1.883,0.950,0.939,0.188,0.309,
+0.195,0.175,1.387,0.305,1.205,1.521,0.671,1.966,1.193,1.202,
+0.778,0.697,0.450,0.619,1.115,1.450,0.757,0.849,1.049,0.141,
+0.869,1.470,0.651,0.905,0.812,1.436,1.520,1.265,0.773,0.984,
+2.004,2.030,1.471,1.234,1.769,0.434,1.140,1.432,0.955,2.177,
+0.930,1.403,0.127,0.231,0.117,0.155,0.253,0.345,0.255,0.162,
+0.288,0.171,0.400,0.231,0.136,0.877,0.176,0.165,1.004,1.553,
+1.042,0.926,0.182,0.340,0.196,0.161,1.329,0.280,1.229,1.313,
+0.602,1.726,1.219,1.093,0.775,0.754,0.521,0.641,1.526,3.009,
+1.474,1.382,1.322,0.196,1.221,1.406,0.736,1.099,1.120,1.406,
+1.189,0.857,0.614,0.951,0.939,0.755,0.601,0.660,0.854,0.115,
+0.561,0.812,0.766,0.887,0.576,1.128,1.164,1.363,0.878,1.383,
+1.270,1.392,1.030,0.967,1.247,0.281,1.108,1.210,0.697,1.956,
+0.836,1.065,0.697,0.989,0.822,0.841,0.086,0.130,0.093,0.103,
+0.758,0.110,0.872,0.973,0.531,1.064,0.941,1.031,0.785,0.562,
+0.478,0.763,0.775,0.947,0.618,0.789,1.065,0.098,0.818,1.117,
+0.888,1.159,1.092,1.705,2.125,1.695,1.227,1.628,1.558,1.221,
+0.878,1.059,1.496,0.187,0.798,1.013,1.237,1.281,0.834,1.308,
+1.831,1.858,0.917,1.175,1.694,1.571,1.220,1.181,2.259,0.351,
+1.658,1.666,0.902,1.632,0.844,1.230,1.117,1.708,1.025,1.216,
+0.169,0.252,0.186,0.253,1.346,0.240,1.047,1.283,0.777,1.463,
+0.900,1.751,0.998,0.775,0.546,1.072,1.219,1.435,0.816,1.139,
+1.417,0.177,1.106,1.549,1.141,0.982,1.077,2.213,0.156,0.168,
+0.093,0.120,0.262,0.275,0.203,0.152,0.153,0.047,0.120,0.142,
+0.100,0.180,0.103,0.142,0.145,0.197,0.092,0.104,0.227,0.295,
+0.201,0.159,0.240,0.126,0.238,0.244,0.085,0.218,0.105,0.121,
+0.103,0.236,0.130,0.113,0.042,0.102,0.077,0.044,0.214,0.109,
+0.284,0.261,0.090,0.280,0.169,0.181,0.110,0.108,0.065,0.115,
+0.247,0.379,0.188,0.214,0.181,0.043,0.216,0.251,0.118,0.154,
+0.162,0.250,1.551,1.338,0.866,0.933,1.500,1.889,1.370,1.102,
+1.742,0.371,1.357,1.469,0.976,1.410,1.038,1.276,0.142,0.244,
+0.115,0.103,0.174,0.373,0.245,0.139,0.226,0.108,0.324,0.247,
+0.107,0.280,0.152,0.131,1.027,1.922,1.074,0.976,0.191,0.379,
+0.225,0.178,1.807,0.454,1.240,1.607,0.786,1.979,1.223,1.170,
+0.830,0.962,0.600,0.713,1.620,3.506,1.388,1.340,1.977,0.454,
+2.776,2.103,0.887,1.516,1.415,1.485,1.073,0.769,0.612,1.225,
+0.765,0.603,0.459,0.633,0.905,0.134,0.639,1.510,0.770,0.790,
+0.540,1.169,1.373,1.518,0.853,1.013,1.449,1.821,1.113,1.071,
+1.609,0.265,1.471,1.755,0.944,1.771,1.013,1.234,0.983,1.541,
+1.211,1.023,0.115,0.208,0.150,0.138,1.612,0.273,1.399,1.686,
+0.916,2.004,1.298,1.448,0.856,0.657,0.539,0.771,0.909,1.173,
+0.787,0.867,1.448,0.176,1.643,1.838,1.222,1.494,1.392,1.871,
+1.997,1.132,0.927,1.718,1.133,0.683,0.691,1.033,1.148,0.114,
+0.526,0.951,1.219,1.003,0.673,1.409,1.200,0.871,0.512,0.789,
+0.816,0.598,0.518,0.737,0.956,0.099,0.597,0.927,0.675,0.725,
+0.503,0.915,0.780,0.775,0.476,0.794,0.074,0.073,0.048,0.111,
+0.696,0.074,0.426,0.737,0.564,0.675,0.486,0.923,1.008,0.600,
+0.511,1.141,0.849,0.721,0.477,0.954,0.902,0.078,0.545,1.088,
+1.091,0.786,0.863,2.129,2.047,1.419,1.065,1.386,1.700,1.396,
+1.964,1.273,1.393,0.197,0.908,1.299,1.062,1.357,0.782,1.416,
+1.489,1.308,0.677,0.936,1.404,1.286,0.949,1.046,1.692,0.398,
+1.065,1.734,0.913,1.564,0.744,1.342,0.957,1.273,0.707,0.876,
+0.109,0.153,0.110,0.130,1.124,0.177,1.034,1.510,0.806,1.463,
+0.920,1.340,1.004,0.754,0.588,1.030,1.327,1.430,0.873,1.325,
+1.131,0.125,0.983,1.572,1.060,1.149,1.098,2.083,1.068,0.817,
+0.626,0.822,1.045,0.933,0.816,0.902,1.263,0.197,0.841,1.166,
+0.876,1.020,0.837,1.383,0.080,0.092,0.056,0.082,0.090,0.127,
+0.105,0.090,0.096,0.028,0.108,0.123,0.078,0.150,0.091,0.117,
+0.701,0.928,0.608,0.772,0.080,0.101,0.078,0.103,1.041,0.164,
+0.833,1.058,0.645,1.135,0.944,1.028,0.693,0.644,0.535,0.804,
+1.002,1.183,0.761,1.139,1.321,0.192,1.211,1.570,0.858,1.058,
+1.146,1.644,1.445,0.834,0.676,1.176,0.793,0.621,0.489,0.608,
+1.008,0.116,0.641,1.026,0.983,0.797,0.724,1.541,1.044,0.836,
+0.581,0.859,0.815,0.730,0.635,0.725,0.839,0.081,0.680,1.020,
+0.836,0.912,0.735,1.183,1.038,1.092,0.801,1.070,0.103,0.089,
+0.064,0.106,1.206,0.125,0.974,1.408,1.036,1.535,1.226,1.582,
+1.371,0.884,0.866,1.563,1.264,1.338,0.943,1.302,1.720,0.139,
+1.811,2.427,2.099,1.814,2.111,2.784,3.122,1.795,1.556,2.404,
+1.951,1.287,1.240,1.314,1.987,0.200,0.891,1.254,2.100,1.649,
+1.062,1.686,1.499,0.948,0.700,0.907,1.133,0.764,0.790,0.803,
+1.095,0.118,0.739,0.818,0.787,0.837,0.626,0.864,1.182,1.036,
+0.870,1.025,0.121,0.108,0.105,0.164,0.929,0.096,0.625,0.820,
+0.710,0.897,0.712,0.932,1.556,0.914,0.677,1.281,1.333,0.998,
+0.862,1.147,1.122,0.099,0.649,1.038,1.207,0.766,1.023,1.817,
+2.975,1.856,1.245,1.799,2.298,1.735,1.613,1.456,1.904,0.240,
+0.968,1.220,1.375,1.585,0.860,1.361,1.775,1.390,0.920,1.013,
+1.511,1.002,1.231,1.041,1.696,0.258,1.128,1.352,0.922,1.301,
+0.725,0.945,1.730,1.881,1.332,1.302,0.224,0.227,0.230,0.204,
+1.852,0.249,1.337,1.595,1.095,1.751,1.290,1.238,1.294,0.970,
+0.648,1.012,1.726,1.609,1.249,1.328,1.264,0.130,0.890,1.218,
+0.987,0.967,1.188,1.641,2.496,1.015,0.932,1.291,2.177,1.464,
+1.706,1.453,8.856,0.727,1.652,1.723,2.381,1.621,1.144,1.712,
+0.194,0.177,0.122,0.156,0.241,0.230,0.234,0.202,0.493,0.086,
+0.273,0.239,0.298,0.448,0.179,0.248,0.982,1.092,1.197,0.951,
+0.136,0.167,0.145,0.160,1.679,0.366,0.976,1.009,0.821,1.834,
+0.869,0.856,0.778,0.536,0.562,0.715,1.268,1.256,1.153,1.292,
+1.390,0.180,0.931,1.130,0.936,0.987,0.978,1.437,2.062,0.835,
+0.789,1.407,1.118,0.721,0.782,1.028,2.151,0.190,0.772,1.040,
+2.171,1.270,0.841,1.849,1.534,0.979,0.843,1.022,1.408,0.967,
+1.218,1.142,1.807,0.175,1.079,1.253,1.467,1.414,0.821,1.243,
+1.094,1.023,1.079,1.146,0.119,0.107,0.115,0.156,1.220,0.145,
+0.942,1.311,0.937,1.408,1.107,1.382,1.440,0.793,0.786,1.379,
+1.026,0.841,0.905,1.254,1.603,0.138,1.140,1.789,2.077,1.584,
+1.879,3.545,0.241,0.166,0.126,0.165,0.207,0.185,0.153,0.164,
+0.168,0.026,0.103,0.117,0.141,0.168,0.105,0.142,0.268,0.168,
+0.113,0.163,0.206,0.196,0.200,0.235,0.152,0.030,0.171,0.138,
+0.091,0.137,0.106,0.142,0.119,0.148,0.122,0.117,0.024,0.031,
+0.035,0.031,0.134,0.025,0.118,0.126,0.073,0.145,0.107,0.120,
+0.126,0.090,0.071,0.126,0.182,0.189,0.157,0.171,0.169,0.023,
+0.101,0.217,0.115,0.105,0.127,0.200,0.236,0.217,0.126,0.160,
+0.255,0.285,0.234,0.165,0.193,0.051,0.124,0.136,0.112,0.192,
+0.093,0.129,0.218,0.243,0.132,0.126,0.247,0.212,0.251,0.185,
+0.219,0.061,0.186,0.200,0.091,0.175,0.109,0.123,0.188,0.277,
+0.205,0.147,0.046,0.080,0.091,0.043,0.260,0.083,0.231,0.230,
+0.100,0.270,0.216,0.169,0.134,0.121,0.079,0.112,0.284,0.382,
+0.243,0.196,0.171,0.026,0.134,0.175,0.097,0.121,0.142,0.196,
+0.179,0.125,0.091,0.111,0.234,0.261,0.252,0.172,0.453,0.101,
+0.217,0.165,0.145,0.231,0.127,0.154,0.021,0.033,0.021,0.023,
+0.043,0.072,0.074,0.042,0.074,0.054,0.090,0.049,0.022,0.085,
+0.034,0.028,0.134,0.240,0.282,0.189,0.035,0.075,0.072,0.041,
+0.520,0.297,0.243,0.221,0.152,0.686,0.200,0.156,0.103,0.083,
+0.096,0.096,0.204,0.311,0.259,0.240,0.212,0.051,0.191,0.190,
+0.103,0.171,0.154,0.181,0.215,0.175,0.136,0.173,0.169,0.144,
+0.145,0.149,0.224,0.029,0.127,0.137,0.226,0.198,0.145,0.248,
+0.294,0.278,0.235,0.237,0.362,0.360,0.394,0.309,0.393,0.071,
+0.347,0.303,0.266,0.448,0.252,0.303,0.132,0.182,0.185,0.168,
+0.023,0.043,0.035,0.036,0.222,0.050,0.209,0.243,0.134,0.273,
+0.225,0.239,0.185,0.141,0.123,0.175,0.181,0.232,0.181,0.220,
+0.229,0.027,0.199,0.276,0.238,0.241,0.266,0.408,1.796,1.090,
+0.865,1.228,1.111,0.945,0.850,0.849,1.238,0.135,0.707,0.782,
+0.797,0.735,0.563,0.786,1.227,1.019,0.678,0.780,1.141,1.034,
+1.160,0.833,1.399,0.189,1.132,1.090,0.598,0.904,0.632,0.728,
+1.095,1.276,1.962,1.149,0.212,0.249,0.961,0.341,2.009,0.247,
+1.133,1.139,0.768,1.496,0.910,0.957,0.828,0.613,0.624,0.902,
+1.082,1.057,2.073,1.430,1.334,0.155,0.968,1.273,0.891,0.837,
+0.969,1.639,0.147,0.143,0.081,0.108,0.171,0.227,0.176,0.138,
+0.126,0.033,0.097,0.106,0.071,0.114,0.067,0.093,0.116,0.131,
+0.072,0.070,0.162,0.192,0.195,0.123,0.141,0.051,0.183,0.159,
+0.059,0.106,0.065,0.069,0.169,0.242,0.672,0.165,0.049,0.086,
+0.868,0.077,0.227,0.083,0.279,0.218,0.085,0.210,0.174,0.125,
+0.122,0.099,0.112,0.126,0.219,0.292,0.887,0.308,0.172,0.032,
+0.170,0.216,0.098,0.118,0.131,0.189,1.160,0.919,0.693,0.612,
+1.326,1.654,1.914,0.989,1.370,0.267,1.412,1.116,0.592,0.857,
+0.859,0.888,0.112,0.178,0.121,0.076,0.157,0.241,0.665,0.125,
+0.182,0.071,0.376,0.198,0.088,0.173,0.140,0.103,1.050,1.348,
+1.252,0.878,0.177,0.224,0.278,0.183,1.634,0.316,0.734,0.919,
+0.586,1.099,1.004,0.867,0.623,0.497,0.486,0.490,0.945,1.172,
+1.086,0.954,1.182,0.184,1.346,1.177,0.561,0.758,0.919,0.965,
+0.879,0.591,0.494,0.656,0.719,0.625,0.497,0.498,0.787,0.107,
+0.631,0.850,0.673,0.610,0.458,0.780,1.083,1.242,0.728,0.679,
+1.293,1.392,1.858,0.861,1.296,0.211,1.466,1.369,1.147,1.264,
+0.852,0.962,0.924,1.374,1.001,0.904,0.138,0.275,0.206,0.158,
+1.484,0.218,1.764,1.698,0.795,1.417,1.240,1.244,0.753,0.576,
+0.487,0.686,0.941,1.018,0.771,0.821,1.155,0.133,1.301,1.457,
+0.900,1.039,1.086,1.431,1.622,0.822,0.686,1.240,0.783,0.545,
+0.530,0.674,0.807,0.094,0.435,0.650,0.830,0.704,0.603,0.992,
+0.931,0.613,0.441,0.587,0.606,0.460,0.460,0.479,0.599,0.058,
+0.412,0.553,0.412,0.432,0.355,0.528,0.773,0.778,0.643,0.712,
+0.077,0.076,0.108,0.118,0.711,0.077,0.453,0.641,0.519,0.723,
+0.494,0.695,0.855,0.537,0.508,0.900,0.707,0.580,0.666,0.930,
+0.817,0.070,0.464,0.777,0.916,0.656,0.802,1.452,2.026,1.461,
+0.943,1.488,1.440,1.296,1.144,1.097,1.182,0.152,0.797,1.081,
+0.949,1.140,0.701,1.222,1.403,1.262,0.727,0.905,1.331,1.369,
+1.120,1.015,1.096,0.146,1.003,1.230,0.663,0.913,0.645,0.844,
+1.696,1.959,2.182,1.271,0.143,0.204,0.738,0.196,1.349,0.195,
+1.251,1.494,0.921,1.612,1.153,1.329,1.203,0.934,0.859,1.136,
+1.394,1.543,2.040,1.576,1.243,0.137,1.013,1.441,1.030,1.133,
+1.061,1.682,1.191,0.827,0.688,0.864,1.127,1.043,1.098,0.998,
+1.302,0.188,0.975,1.299,0.811,0.866,0.800,1.288,0.109,0.138,
+0.071,0.094,0.123,0.173,0.176,0.123,0.116,0.033,0.154,0.159,
+0.085,0.139,0.093,0.120,0.931,1.957,0.890,0.933,0.099,0.149,
+0.113,0.146,1.322,0.209,0.954,1.174,0.734,1.261,0.977,1.015,
+0.746,0.711,0.581,0.761,1.085,1.162,1.105,1.484,1.151,0.136,
+1.093,1.414,0.839,0.961,1.141,1.403,1.685,0.852,0.858,1.225,
+0.919,0.735,0.724,0.711,1.072,0.158,0.682,1.096,1.047,0.737,
+0.648,1.438,1.424,1.308,0.619,0.857,0.996,0.920,0.880,0.836,
+0.903,0.095,0.790,1.077,0.868,0.843,0.706,1.055,1.085,1.292,
+0.992,1.186,0.114,0.180,0.102,0.142,1.360,0.169,1.295,1.716,
+1.083,1.475,1.360,1.515,1.543,0.924,0.917,1.519,1.386,1.941,
+1.034,1.374,1.574,0.150,1.340,2.030,1.808,1.409,1.634,2.503,
+3.449,1.732,1.612,3.214,1.689,0.976,0.916,1.258,1.788,0.161,
+0.744,1.229,2.515,1.756,1.036,2.032,1.522,0.753,0.602,0.881,
+0.942,0.522,0.501,0.577,0.994,0.077,0.684,0.666,0.826,0.731,
+0.465,0.806,1.295,0.810,0.667,1.126,0.116,0.071,0.062,0.138,
+0.782,0.065,0.443,0.683,0.729,0.792,0.591,0.983,1.937,0.944,
+0.820,1.695,1.290,0.812,0.701,1.224,1.155,0.094,0.725,1.078,
+1.633,1.018,1.105,2.556,2.002,1.023,0.689,1.298,1.111,0.684,
+0.558,0.757,0.975,0.100,0.455,0.722,0.989,0.917,0.479,1.027,
+1.115,0.701,0.442,0.674,0.675,0.381,0.395,0.491,0.824,0.075,
+0.467,0.617,0.686,0.607,0.389,0.676,1.171,0.934,0.690,0.908,
+0.130,0.076,0.062,0.088,0.818,0.071,0.469,0.678,0.699,0.788,
+0.706,0.843,1.079,0.748,0.532,0.946,1.022,0.713,0.486,0.726,
+0.769,0.057,0.455,0.731,0.807,0.644,0.678,1.417,1.778,0.712,
+0.660,1.199,1.131,0.629,0.626,0.951,2.041,0.178,0.553,0.844,
+1.801,1.089,0.682,1.558,0.143,0.082,0.063,0.120,0.107,0.072,
+0.072,0.109,0.146,0.015,0.073,0.103,0.194,0.195,0.085,0.180,
+0.744,0.606,0.641,0.770,0.071,0.054,0.052,0.090,0.793,0.103,
+0.413,0.579,0.649,0.849,0.583,0.772,0.749,0.421,0.471,0.793,
+0.856,0.597,0.573,0.946,0.804,0.072,0.508,0.809,0.879,0.703,
+0.764,1.418,2.473,0.920,0.841,1.819,1.022,0.549,0.559,0.948,
+1.879,0.152,0.692,1.063,3.303,1.643,1.026,2.610,1.639,0.785,
+0.714,1.112,1.014,0.590,0.673,0.912,1.354,0.094,0.693,1.001,
+1.606,1.256,0.773,1.571,1.144,0.865,0.843,1.136,0.087,0.064,
+0.065,0.106,1.009,0.077,0.600,0.952,0.994,1.048,0.824,1.285,
+1.776,0.867,0.850,1.772,1.061,0.796,0.748,1.235,1.584,0.105,
+0.940,1.697,2.616,1.782,1.841,4.112,2.780,1.475,1.126,1.993,
+1.586,1.112,0.926,1.116,1.376,0.147,0.752,1.043,1.490,1.387,
+0.799,1.527,1.834,1.051,0.794,1.236,1.191,0.979,0.823,0.873,
+1.046,0.121,1.758,0.985,0.744,0.869,0.696,1.023,1.078,0.971,
+0.757,1.067,0.116,0.114,0.086,0.135,0.852,0.102,0.655,0.946,
+0.695,0.997,0.709,1.112,1.156,0.686,0.592,1.073,1.127,0.982,
+0.720,1.050,1.046,0.118,0.701,1.142,1.070,0.877,0.958,1.820,
+2.052,1.320,0.806,1.390,1.482,1.182,0.864,0.901,1.100,0.140,
+0.546,0.796,0.972,1.185,0.561,1.099,1.372,1.120,0.624,0.819,
+1.106,0.891,0.755,0.766,1.013,0.135,0.731,0.927,0.630,0.865,
+0.556,0.794,1.215,1.404,0.846,0.997,0.210,0.231,0.128,0.127,
+1.183,0.175,0.805,1.068,0.773,1.373,0.938,1.180,1.022,0.816,
+0.557,0.872,1.432,1.825,0.783,0.990,0.868,0.087,0.577,0.907,
+0.756,0.738,0.748,1.354,1.561,0.792,0.621,0.991,1.207,0.938,
+0.863,1.008,1.627,0.226,0.787,0.839,1.108,1.247,0.728,1.374,
+0.094,0.098,0.067,0.106,0.106,0.123,0.111,0.119,0.152,0.042,
+0.182,0.118,0.110,0.230,0.103,0.131,0.921,1.068,1.046,0.985,
+0.099,0.134,0.103,0.123,1.531,0.405,0.733,0.971,0.817,2.006,
+0.898,1.092,0.884,0.548,0.610,0.858,1.073,1.159,0.967,1.338,
+1.101,0.123,0.788,1.084,0.878,0.895,0.967,1.520,1.744,0.991,
+0.852,1.348,0.913,0.619,0.619,0.799,1.165,0.110,0.700,0.851,
+1.455,1.083,0.884,1.795,1.516,1.139,0.993,1.229,1.177,0.959,
+1.066,1.074,1.377,0.151,1.146,1.199,1.212,1.641,1.045,1.501,
+0.940,0.947,0.887,1.153,0.092,0.104,0.075,0.118,0.965,0.108,
+0.806,1.168,0.866,1.241,1.007,1.468,1.320,0.782,0.750,1.231,
+1.148,1.166,0.920,1.237,1.308,0.104,0.919,1.529,1.657,1.344,
+1.385,2.594,2.082,1.179,0.828,1.458,1.024,0.803,0.586,0.787,
+1.249,0.122,0.564,0.850,1.115,0.946,0.595,1.092,1.563,1.216,
+0.688,1.022,1.052,0.869,0.691,0.724,1.310,0.150,0.870,1.041,
+0.883,1.145,0.679,1.069,1.215,1.332,1.084,1.343,0.147,0.166,
+0.173,0.216,1.426,0.157,0.902,1.208,0.897,1.323,0.867,1.280,
+1.171,0.765,0.626,1.172,1.066,0.940,0.801,1.082,1.644,0.162,
+0.943,1.485,1.355,0.986,1.147,2.264,0.140,0.117,0.065,0.135,
+0.119,0.132,0.080,0.099,0.104,0.021,0.066,0.088,0.094,0.141,
+0.073,0.124,0.104,0.106,0.057,0.073,0.105,0.126,0.086,0.078,
+0.112,0.025,0.104,0.106,0.075,0.114,0.069,0.092,0.105,0.151,
+0.120,0.113,0.019,0.037,0.052,0.022,0.165,0.035,0.132,0.153,
+0.097,0.181,0.116,0.142,0.134,0.104,0.074,0.147,0.167,0.214,
+0.158,0.181,0.163,0.023,0.120,0.184,0.132,0.125,0.124,0.227,
+1.308,0.861,0.613,0.765,1.085,1.132,0.904,0.860,1.193,0.215,
+0.854,0.930,0.860,1.185,1.218,1.318,0.102,0.110,0.060,0.072,
+0.096,0.128,0.122,0.074,0.120,0.031,0.137,0.109,0.105,0.188,
+0.127,0.125,0.966,1.326,0.880,0.982,0.122,0.167,0.127,0.130,
+1.383,0.195,0.802,1.008,0.728,1.365,1.000,1.126,0.872,0.659,
+0.567,0.735,1.108,1.301,0.957,1.058,1.430,0.170,1.285,1.366,
+0.914,1.178,1.250,1.561,1.287,0.700,0.570,0.974,0.814,0.629,
+0.474,0.667,1.018,0.106,0.646,0.928,1.155,0.913,0.798,1.429,
+1.501,1.175,0.792,1.009,1.181,1.118,0.914,0.896,1.504,0.148,
+1.107,1.368,1.578,1.594,1.103,1.550,1.764,1.505,1.138,1.378,
+0.145,0.192,0.114,0.139,1.642,0.168,1.311,1.576,1.701,1.815,
+1.520,1.837,1.360,0.809,0.813,1.146,1.222,1.220,0.904,1.090,
+1.715,0.145,1.493,1.781,1.759,1.666,1.679,2.548,3.533,1.276,
+1.115,2.202,1.209,0.711,0.654,1.100,1.302,0.117,0.633,1.132,
+1.601,1.116,0.880,2.035,1.430,0.813,0.535,0.890,0.889,0.594,
+0.487,0.684,0.987,0.084,0.606,0.848,0.759,0.700,0.560,0.984,
+1.142,0.990,0.686,1.289,0.095,0.089,0.068,0.147,0.896,0.085,
+0.530,0.898,0.851,0.996,0.656,1.240,1.729,0.882,0.862,1.922,
+1.122,0.775,0.761,1.348,1.318,0.102,0.798,1.505,2.000,1.229,
+1.436,3.466,1.738,0.958,0.700,1.358,1.021,0.780,0.623,0.827,
+0.919,0.094,0.517,0.909,0.943,0.936,0.659,1.461,1.103,0.747,
+0.431,0.725,0.770,0.542,0.444,0.627,0.835,0.084,0.671,0.903,
+0.680,0.748,0.605,0.937,1.088,1.070,0.827,1.133,0.074,0.093,
+0.087,0.104,1.067,0.105,0.705,1.107,0.953,1.278,0.834,1.453,
+1.276,0.854,0.743,1.445,1.160,1.047,0.799,1.303,1.136,0.092,
+0.748,1.327,1.244,1.104,1.088,2.233,1.934,1.099,1.017,1.362,
+1.406,1.064,1.002,1.409,1.608,0.200,0.899,1.448,1.404,1.419,
+1.379,3.044,0.130,0.135,0.081,0.147,0.103,0.108,0.089,0.111,
+0.115,0.020,0.093,0.127,0.130,0.169,0.123,0.223,1.271,1.468,
+0.998,1.498,0.103,0.106,0.086,0.156,1.576,0.161,0.941,1.366,
+1.128,1.545,1.240,1.919,1.474,1.041,0.986,1.437,1.582,1.292,
+1.181,1.843,1.773,0.150,1.503,2.089,1.559,1.407,1.846,2.937,
+3.844,1.539,1.344,2.702,1.498,1.067,0.900,1.332,2.020,0.169,
+1.032,1.893,2.633,1.781,1.675,4.620,2.260,1.483,1.044,1.586,
+1.584,1.376,0.991,1.281,1.798,0.129,1.120,1.844,1.886,1.651,
+1.390,2.689,2.374,1.996,1.595,2.489,0.138,0.140,0.097,0.191,
+2.349,0.177,1.822,2.685,2.446,2.570,2.449,3.587,4.567,2.010,
+2.285,4.242,2.450,2.042,1.705,2.768,3.357,0.195,2.580,4.454,
+4.814,2.830,3.437,5.583,0.332,0.191,0.150,0.229,0.214,0.140,
+0.123,0.133,0.231,0.032,0.124,0.144,0.219,0.197,0.125,0.182,
+0.251,0.174,0.109,0.116,0.176,0.117,0.113,0.094,0.179,0.026,
+0.122,0.122,0.109,0.140,0.094,0.116,0.172,0.140,0.116,0.123,
+0.019,0.021,0.022,0.021,0.167,0.024,0.165,0.116,0.097,0.139,
+0.175,0.119,0.207,0.104,0.102,0.162,0.170,0.127,0.121,0.153,
+0.150,0.024,0.121,0.135,0.138,0.108,0.126,0.161,0.262,0.181,
+0.111,0.145,0.187,0.162,0.123,0.115,0.174,0.031,0.106,0.122,
+0.109,0.145,0.088,0.114,0.202,0.181,0.102,0.107,0.167,0.141,
+0.118,0.091,0.173,0.045,0.149,0.150,0.081,0.136,0.099,0.105,
+0.129,0.183,0.099,0.103,0.022,0.044,0.030,0.020,0.169,0.044,
+0.150,0.143,0.076,0.179,0.116,0.120,0.105,0.093,0.067,0.102,
+0.137,0.148,0.121,0.124,0.159,0.024,0.126,0.155,0.101,0.110,
+0.112,0.165,0.167,0.088,0.073,0.093,0.123,0.090,0.090,0.084,
+0.146,0.029,0.092,0.107,0.090,0.106,0.094,0.125,0.021,0.018,
+0.011,0.012,0.021,0.020,0.018,0.013,0.021,0.011,0.027,0.021,
+0.013,0.029,0.017,0.019,0.079,0.079,0.075,0.068,0.012,0.015,
+0.015,0.012,0.122,0.032,0.101,0.087,0.053,0.097,0.080,0.069,
+0.077,0.048,0.055,0.064,0.091,0.087,0.088,0.091,0.118,0.027,
+0.368,0.138,0.067,0.091,0.120,0.117,0.198,0.094,0.077,0.138,
+0.104,0.072,0.087,0.078,0.130,0.015,0.065,0.094,0.134,0.105,
+0.091,0.173,0.204,0.132,0.090,0.106,0.209,0.108,0.098,0.095,
+0.144,0.018,0.113,0.129,0.111,0.135,0.103,0.144,0.101,0.097,
+0.100,0.101,0.014,0.014,0.016,0.014,0.130,0.018,0.105,0.114,
+0.082,0.118,0.108,0.108,0.130,0.078,0.074,0.121,0.094,0.076,
+0.076,0.112,0.144,0.016,0.143,0.170,0.138,0.133,0.139,0.225,
+0.266,0.210,0.138,0.180,0.202,0.191,0.163,0.131,0.213,0.034,
+0.107,0.140,0.124,0.151,0.127,0.139,0.211,0.258,0.123,0.126,
+0.199,0.172,0.197,0.119,0.179,0.054,0.167,0.148,0.074,0.142,
+0.099,0.107,0.137,0.219,0.120,0.103,0.030,0.063,0.037,0.023,
+0.442,0.049,0.230,0.148,0.111,0.206,0.310,0.127,0.120,0.097,
+0.071,0.092,0.163,0.216,0.112,0.111,0.265,0.123,0.122,0.159,
+0.110,0.180,0.118,0.156,0.246,0.259,0.120,0.137,0.222,0.317,
+0.197,0.136,0.187,0.057,0.122,0.134,0.084,0.170,0.082,0.108,
+0.189,0.260,0.121,0.115,0.199,0.169,0.200,0.121,0.206,0.083,
+0.183,0.202,0.073,0.184,0.133,0.105,0.154,0.447,0.150,0.133,
+0.052,0.215,0.067,0.037,0.268,0.117,0.228,0.226,0.109,0.465,
+0.203,0.167,0.104,0.120,0.062,0.079,0.184,0.384,0.133,0.121,
+0.278,0.047,0.124,0.158,0.097,0.155,0.105,0.169,0.132,0.116,
+0.069,0.090,0.157,0.171,0.171,0.109,0.136,0.039,0.112,0.113,
+0.060,0.122,0.091,0.103,0.022,0.054,0.019,0.022,0.038,0.065,
+0.055,0.020,0.041,0.048,0.066,0.041,0.010,0.052,0.025,0.017,
+0.112,0.176,0.214,0.104,0.046,0.063,0.055,0.026,0.182,0.076,
+0.167,0.144,0.059,0.209,0.158,0.105,0.076,0.060,0.062,0.067,
+0.139,0.182,0.156,0.129,0.141,0.035,0.169,0.153,0.056,0.101,
+0.116,0.114,0.111,0.079,0.075,0.082,0.089,0.083,0.309,0.080,
+0.083,0.013,0.066,0.067,0.067,0.074,0.066,0.092,0.134,0.167,
+0.098,0.115,0.144,0.150,0.128,0.092,0.124,0.038,0.125,0.127,
+0.071,0.176,0.101,0.110,0.085,0.135,0.113,0.100,0.013,0.030,
+0.024,0.015,0.144,0.033,0.144,0.140,0.070,0.143,0.153,0.129,
+0.112,0.078,0.067,0.083,0.099,0.105,0.080,0.096,0.165,0.026,
+0.122,0.152,0.111,0.140,0.136,0.179,0.173,0.142,0.081,0.109,
+0.124,0.092,0.069,0.065,0.116,0.018,0.062,0.069,0.077,0.095,
+0.051,0.075,0.168,0.390,0.100,0.096,0.123,0.130,0.122,0.085,
+0.148,0.043,0.126,0.119,0.067,0.141,0.070,0.084,0.091,0.155,
+0.099,0.099,0.018,0.031,0.025,0.025,0.122,0.028,0.107,0.101,
+0.055,0.124,0.083,0.091,0.080,0.069,0.056,0.078,0.108,0.116,
+0.076,0.089,0.115,0.022,0.088,0.106,0.085,0.092,0.092,0.159,
+0.018,0.023,0.010,0.012,0.023,0.036,0.021,0.016,0.024,0.016,
+0.018,0.017,9.15e-3,0.022,0.010,0.013,0.021,0.041,0.016,0.014,
+0.030,0.048,0.035,0.018,0.033,0.031,0.040,0.032,0.010,0.030,
+0.016,0.014,0.013,0.037,0.018,0.014,8.48e-3,0.027,0.020,7.92e-3,
+0.033,0.026,0.049,0.033,9.90e-3,0.041,0.027,0.019,0.012,0.015,
+8.84e-3,0.013,0.030,0.049,0.030,0.026,0.028,0.011,0.030,0.029,
+0.014,0.020,0.019,0.027,0.089,0.077,0.056,0.057,0.087,0.102,
+0.106,0.061,0.125,0.037,0.105,0.081,0.052,0.086,0.070,0.066,
+0.012,0.026,0.014,8.59e-3,0.016,0.028,0.032,0.011,0.026,0.023,
+0.039,0.022,9.63e-3,0.027,0.016,0.012,0.072,0.132,0.087,0.065,
+0.021,0.041,0.038,0.017,0.159,0.066,0.129,0.125,0.051,0.139,
+0.120,0.081,0.062,0.050,0.044,0.043,0.089,0.131,0.109,0.081,
+0.193,0.049,0.219,0.144,0.063,0.114,0.105,0.103,0.078,0.050,
+0.037,0.075,0.054,0.042,0.040,0.035,0.082,0.013,0.042,0.055,
+0.065,0.057,0.038,0.069,0.106,0.115,0.068,0.072,0.101,0.111,
+0.100,0.067,0.136,0.032,0.109,0.108,0.091,0.129,0.081,0.085,
+0.083,0.115,0.106,0.077,0.014,0.033,0.021,0.013,0.141,0.037,
+0.133,0.131,0.078,0.143,0.110,0.103,0.080,0.056,0.058,0.061,
+0.091,0.098,0.080,0.073,0.146,0.024,0.146,0.149,0.103,0.130,
+0.114,0.154,0.199,0.121,0.090,0.159,0.091,0.069,0.059,0.062,
+0.101,0.012,0.049,0.077,0.116,0.100,0.065,0.120,0.104,0.094,
+0.052,0.075,0.070,0.052,0.049,0.053,0.083,0.012,0.052,0.073,
+0.060,0.070,0.048,0.080,0.082,0.080,0.059,0.090,0.011,0.013,
+8.82e-3,0.014,0.085,0.010,0.049,0.066,0.054,0.080,0.058,0.077,
+0.102,0.062,0.059,0.123,0.092,0.078,0.060,0.090,0.094,0.016,
+0.066,0.095,0.117,0.123,0.094,0.200,0.182,0.142,0.091,0.127,
+0.147,0.139,0.102,0.096,0.145,0.030,0.088,0.117,0.099,0.159,
+0.078,0.120,0.151,0.154,0.075,0.098,0.144,0.156,0.104,0.098,
+0.147,0.041,0.121,0.158,0.079,0.154,0.079,0.105,0.096,0.131,
+0.070,0.096,0.017,0.032,0.018,0.018,0.138,0.031,0.123,0.142,
+0.086,0.176,0.106,0.122,0.098,0.072,0.057,0.094,0.131,0.139,
+0.093,0.128,0.133,0.021,0.102,0.133,0.111,0.139,0.113,0.184,
+0.096,0.084,0.051,0.077,0.089,0.077,0.071,0.069,0.131,0.034,
+0.080,0.101,0.093,0.114,0.079,0.112,9.63e-3,0.014,6.62e-3,0.015,
+0.010,0.016,0.015,0.010,0.017,0.010,0.020,0.019,0.011,0.022,
+0.014,0.014,0.067,0.093,0.093,0.077,0.013,0.017,0.028,0.013,
+0.108,0.030,0.084,0.093,0.060,0.110,0.211,0.105,0.063,0.055,
+0.047,0.065,0.097,0.101,0.108,0.102,0.198,0.105,0.181,0.159,
+0.081,0.166,0.117,0.136,0.150,0.079,0.060,0.098,0.077,0.061,
+0.053,0.056,0.131,0.012,0.053,0.084,0.113,0.094,0.078,0.159,
+0.095,0.073,0.046,0.078,0.072,0.056,0.063,0.070,0.098,0.013,
+0.065,0.103,0.082,0.100,0.071,0.105,0.110,0.111,0.086,0.110,
+0.014,0.016,0.014,0.014,0.158,0.021,0.110,0.158,0.109,0.158,
+0.293,0.188,0.149,0.085,0.083,0.152,0.129,0.121,0.105,0.132,
+0.197,0.022,0.158,0.231,0.224,0.198,0.217,0.330,0.248,0.190,
+0.150,0.184,0.192,0.176,0.135,0.126,0.173,0.038,0.118,0.140,
+0.158,0.180,0.102,0.138,0.213,0.196,0.128,0.120,0.212,0.180,
+0.192,0.130,0.179,0.049,0.179,0.170,0.095,0.170,0.112,0.145,
+0.108,0.128,0.101,0.096,0.018,0.026,0.025,0.022,0.104,0.031,
+0.100,0.096,0.062,0.130,0.099,0.102,0.117,0.080,0.069,0.105,
+0.127,0.122,0.094,0.112,0.118,0.021,0.092,0.132,0.099,0.097,
+0.102,0.151,0.243,0.227,0.114,0.135,0.217,0.247,0.161,0.118,
+0.173,0.054,0.143,0.142,0.092,0.167,0.098,0.130,0.215,0.290,
+0.129,0.122,0.242,0.240,0.188,0.153,0.235,0.119,0.253,0.305,
+0.086,0.218,0.123,0.275,0.119,0.239,0.121,0.097,0.041,0.088,
+0.072,0.033,0.195,0.109,0.243,0.215,0.076,0.275,0.177,0.182,
+0.079,0.099,0.049,0.063,0.137,0.155,0.118,0.106,0.130,0.037,
+0.134,0.317,0.074,0.116,0.111,0.244,0.110,0.091,0.059,0.069,
+0.143,0.132,0.114,0.089,0.173,0.045,0.116,0.109,0.069,0.112,
+0.074,0.104,0.018,0.028,0.017,0.014,0.041,0.058,0.040,0.022,
+0.035,0.035,0.061,0.036,0.011,0.052,0.022,0.022,0.065,0.099,
+0.084,0.056,0.018,0.032,0.028,0.018,0.103,0.046,0.130,0.112,
+0.047,0.107,0.098,0.074,0.084,0.045,0.041,0.044,0.087,0.113,
+0.089,0.080,0.107,0.032,0.132,0.116,0.058,0.091,0.097,0.107,
+0.118,0.065,0.050,0.089,0.066,0.051,0.043,0.049,0.082,0.013,
+0.053,0.062,0.077,0.076,0.054,0.110,0.132,0.123,0.084,0.090,
+0.150,0.136,0.105,0.097,0.116,0.031,0.115,0.131,0.068,0.144,
+0.082,0.107,0.069,0.083,0.223,0.107,0.011,0.017,0.030,0.014,
+0.083,0.026,0.106,0.095,0.048,0.101,0.105,0.089,0.080,0.056,
+0.072,0.079,0.063,0.072,0.072,0.066,0.127,0.020,0.100,0.124,
+0.093,0.111,0.115,0.174,0.240,0.235,0.152,0.163,0.247,0.297,
+0.257,0.168,0.165,0.043,0.140,0.135,0.101,0.161,0.097,0.122,
+0.267,0.289,0.200,0.151,0.384,0.387,0.632,0.265,0.210,0.105,
+0.284,0.229,0.076,0.203,0.130,0.175,0.113,0.195,0.139,0.103,
+0.028,0.065,0.062,0.034,0.137,0.052,0.187,0.143,0.078,0.162,
+0.136,0.119,0.086,0.064,0.057,0.086,0.131,0.176,0.125,0.112,
+0.104,0.029,0.118,0.121,0.117,0.096,0.099,0.157,0.253,0.316,
+0.136,0.127,0.313,0.525,0.274,0.161,0.221,0.090,0.194,0.180,
+0.085,0.199,0.102,0.130,0.220,0.333,0.156,0.126,0.198,0.180,
+0.239,0.153,0.243,0.216,0.250,0.273,0.087,0.315,0.174,0.150,
+0.138,0.381,0.170,0.138,0.064,0.279,0.143,0.064,0.259,0.205,
+0.288,0.332,0.093,0.459,0.268,0.208,0.079,0.103,0.061,0.067,
+0.178,0.374,0.162,0.149,0.164,0.067,0.192,0.225,0.075,0.151,
+0.137,0.346,0.139,0.148,0.111,0.083,0.305,0.350,0.272,0.153,
+0.224,0.101,0.207,0.162,0.085,0.302,0.120,0.122,0.031,0.080,
+0.044,0.025,0.134,0.220,0.161,0.053,0.096,0.142,0.169,0.081,
+0.027,0.208,0.055,0.032,0.109,0.248,0.168,0.115,0.052,0.158,
+0.122,0.046,0.194,0.124,0.243,0.204,0.062,0.282,0.220,0.141,
+0.078,0.072,0.057,0.056,0.174,0.356,0.256,0.174,0.212,0.070,
+0.253,0.205,0.079,0.148,0.159,0.153,0.090,0.083,0.059,0.082,
+0.104,0.101,0.074,0.058,0.093,0.020,0.071,0.070,0.066,0.101,
+0.054,0.089,0.122,0.190,0.123,0.126,0.265,0.311,0.182,0.136,
+0.175,0.083,0.193,0.165,0.077,0.305,0.120,0.114,0.068,0.137,
+0.128,0.088,0.015,0.049,0.034,0.021,0.112,0.047,0.187,0.148,
+0.053,0.164,0.158,0.122,0.072,0.061,0.057,0.067,0.090,0.122,
+0.083,0.088,0.266,0.033,0.141,0.143,0.088,0.131,0.147,0.179,
+0.160,0.155,0.097,0.118,0.132,0.132,0.093,0.096,0.132,0.028,
+0.100,0.086,0.079,0.109,0.059,0.089,0.186,0.258,0.108,0.124,
+0.236,0.271,0.218,0.165,0.253,0.111,0.291,0.228,0.078,0.196,
+0.097,0.109,0.102,0.193,0.129,0.120,0.030,0.053,0.037,0.038,
+0.155,0.057,0.165,0.169,0.066,0.176,0.119,0.136,0.075,0.063,
+0.046,0.075,0.120,0.147,0.093,0.108,0.129,0.029,0.133,0.155,
+0.091,0.098,0.107,0.172,0.027,0.036,0.017,0.017,0.047,0.089,
+0.054,0.032,0.038,0.031,0.038,0.031,0.012,0.035,0.019,0.019,
+0.039,0.092,0.032,0.028,0.097,0.209,0.136,0.060,0.097,0.270,
+0.161,0.116,0.018,0.081,0.035,0.029,0.023,0.087,0.046,0.027,
+0.030,0.125,0.087,0.027,0.065,0.103,0.160,0.098,0.019,0.111,
+0.074,0.041,0.012,0.018,9.82e-3,0.011,0.048,0.090,0.046,0.041,
+0.032,0.028,0.069,0.056,0.016,0.029,0.031,0.039,0.179,0.203,
+0.144,0.144,0.213,0.362,0.258,0.159,0.241,0.092,0.252,0.194,
+0.099,0.188,0.167,0.135,0.042,0.107,0.051,0.034,0.074,0.211,
+0.148,0.053,0.087,0.120,0.206,0.097,0.023,0.089,0.053,0.032,
+0.137,0.313,0.194,0.146,0.056,0.164,0.118,0.047,0.303,0.202,
+0.280,0.292,0.095,0.317,0.212,0.160,0.123,0.111,0.088,0.128,
+0.202,0.369,0.227,0.204,0.296,0.117,0.566,0.334,0.111,0.201,
+0.208,0.197,0.088,0.075,0.068,0.252,0.066,0.067,0.049,0.057,
+0.086,0.023,0.065,0.109,0.059,0.073,0.043,0.101,0.145,0.216,
+0.119,0.118,0.217,0.323,0.222,0.149,0.255,0.112,0.290,0.284,
+0.104,0.255,0.141,0.135,0.108,0.211,0.400,0.148,0.022,0.075,
+0.066,0.029,0.212,0.109,0.287,0.260,0.086,0.277,0.185,0.150,
+0.078,0.070,0.077,0.078,0.092,0.133,0.103,0.097,0.186,0.044,
+0.259,0.229,0.103,0.174,0.159,0.185,0.142,0.097,0.073,0.117,
+0.095,0.074,0.063,0.086,0.100,0.015,0.055,0.083,0.086,0.089,
+0.062,0.110,0.103,0.095,0.050,0.071,0.087,0.073,0.066,0.078,
+0.087,0.022,0.073,0.102,0.055,0.077,0.051,0.080,0.065,0.080,
+0.052,0.071,8.15e-3,0.012,8.08e-3,0.013,0.076,0.016,0.055,0.079,
+0.044,0.076,0.049,0.074,0.075,0.050,0.041,0.085,0.073,0.064,
+0.046,0.084,0.079,9.78e-3,0.056,0.098,0.087,0.074,0.074,0.177,
+0.209,0.143,0.091,0.113,0.169,0.193,0.213,0.151,0.162,0.040,
+0.123,0.149,0.087,0.154,0.082,0.120,0.161,0.198,0.087,0.114,
+0.208,0.280,0.182,0.164,0.226,0.106,0.212,0.359,0.094,0.245,
+0.103,0.149,0.090,0.180,0.101,0.099,0.024,0.058,0.045,0.030,
+0.156,0.058,0.202,0.210,0.083,0.238,0.135,0.139,0.077,0.065,
+0.049,0.080,0.143,0.189,0.113,0.163,0.122,0.028,0.140,0.180,
+0.089,0.123,0.108,0.204,0.085,0.081,0.055,0.063,0.104,0.131,
+0.107,0.093,0.128,0.036,0.117,0.121,0.069,0.100,0.086,0.109,
+0.010,0.016,8.86e-3,0.012,0.019,0.040,0.029,0.020,0.019,0.017,
+0.036,0.026,8.94e-3,0.028,0.016,0.015,0.061,0.116,0.075,0.075,
+0.015,0.032,0.028,0.019,0.127,0.056,0.151,0.144,0.054,0.147,
+0.123,0.105,0.055,0.054,0.046,0.067,0.096,0.121,0.095,0.118,
+0.167,0.045,0.177,0.169,0.073,0.123,0.114,0.140,0.095,0.068,
+0.049,0.086,0.061,0.061,0.042,0.049,0.083,0.012,0.060,0.078,
+0.067,0.066,0.056,0.107,0.089,0.082,0.051,0.069,0.086,0.094,
+0.074,0.081,0.094,0.018,0.091,0.109,0.069,0.099,0.073,0.112,
+0.092,0.103,0.107,0.093,0.011,0.017,0.015,0.013,0.120,0.031,
+0.136,0.152,0.077,0.163,0.138,0.137,0.098,0.070,0.070,0.111,
+0.102,0.128,0.099,0.119,0.174,0.023,0.191,0.216,0.164,0.185,
+0.192,0.239,0.173,0.131,0.102,0.134,0.135,0.127,0.119,0.108,
+0.137,0.024,0.087,0.106,0.124,0.129,0.092,0.107,0.113,0.103,
+0.070,0.071,0.116,0.095,0.103,0.080,0.103,0.031,0.101,0.095,
+0.064,0.097,0.075,0.079,0.086,0.096,0.080,0.085,0.013,0.016,
+0.018,0.018,0.081,0.019,0.079,0.132,0.046,0.081,0.068,0.074,
+0.103,0.059,0.049,0.078,0.094,0.093,0.073,0.084,0.089,0.014,
+0.070,0.135,0.076,0.059,0.074,0.107,0.190,0.186,0.114,0.120,
+0.201,0.233,0.216,0.129,0.172,0.045,0.135,0.116,0.091,0.148,
+0.088,0.100,0.183,0.245,0.130,0.107,0.216,0.199,0.242,0.144,
+0.208,0.101,0.228,0.223,0.093,0.211,0.121,0.118,0.139,0.256,
+0.173,0.131,0.041,0.088,0.093,0.047,0.239,0.111,0.302,0.284,
+0.103,0.258,0.218,0.147,0.091,0.090,0.057,0.073,0.185,0.287,
+0.147,0.147,0.128,0.031,0.125,0.146,0.076,0.097,0.120,0.144,
+0.123,0.086,0.080,0.082,0.157,0.167,0.195,0.124,0.417,0.079,
+0.187,0.138,0.114,0.152,0.104,0.114,0.018,0.025,0.020,0.017,
+0.034,0.046,0.060,0.035,0.081,0.048,0.087,0.047,0.022,0.071,
+0.036,0.029,0.089,0.139,0.223,0.114,0.025,0.044,0.057,0.034,
+0.310,0.213,0.180,0.141,0.071,0.391,0.132,0.097,0.050,0.043,
+0.051,0.050,0.099,0.131,0.141,0.127,0.124,0.042,0.156,0.115,
+0.066,0.101,0.098,0.114,0.102,0.057,0.049,0.074,0.069,0.053,
+0.062,0.064,0.111,0.015,0.064,0.063,0.113,0.093,0.061,0.109,
+0.114,0.104,0.077,0.084,0.111,0.102,0.125,0.103,0.177,0.060,
+0.176,0.134,0.106,0.176,0.098,0.132,0.079,0.100,0.118,0.097,
+0.015,0.021,0.026,0.022,0.124,0.036,0.139,0.141,0.068,0.155,
+0.136,0.118,0.083,0.063,0.061,0.088,0.077,0.073,0.091,0.101,
+0.131,0.019,0.121,0.141,0.130,0.136,0.159,0.214,0.015,0.019,
+0.014,0.011,0.022,0.036,0.028,0.017,0.016,9.00e-3,0.022,0.019,
+9.99e-3,0.018,0.013,0.011,0.028,0.035,0.026,0.019,0.042,0.062,
+0.068,0.033,0.031,0.037,0.075,0.037,0.013,0.034,0.024,0.019,
+0.012,0.029,0.021,0.013,8.48e-3,0.019,0.020,0.010,0.028,0.019,
+0.045,0.034,8.40e-3,0.029,0.026,0.017,0.010,0.011,7.71e-3,0.013,
+0.021,0.038,0.028,0.023,0.025,0.011,0.029,0.101,0.011,0.015,
+0.018,0.022,0.028,0.043,0.025,0.016,0.053,0.101,0.091,0.033,
+0.035,0.029,0.047,0.027,0.010,0.030,0.025,0.017,0.050,0.106,
+0.053,0.028,0.106,0.125,0.177,0.064,0.071,0.110,0.120,0.082,
+0.020,0.068,0.049,0.034,0.023,0.082,0.048,0.025,0.033,0.137,
+0.116,0.032,0.082,0.122,0.146,0.093,0.021,0.110,0.091,0.051,
+0.015,0.027,0.014,0.012,0.057,0.156,0.067,0.040,0.031,0.022,
+0.050,0.038,0.013,0.027,0.031,0.031,0.017,0.022,0.016,0.010,
+0.041,0.085,0.092,0.033,0.082,0.051,0.078,0.034,0.012,0.049,
+0.026,0.018,9.74e-3,0.031,0.017,9.13e-3,0.038,0.100,0.101,0.030,
+0.070,0.142,0.127,0.057,8.19e-3,0.059,0.034,0.014,0.026,0.081,
+0.129,0.049,0.028,0.093,0.129,0.028,0.278,0.490,0.173,0.094,
+0.029,0.342,0.092,0.042,0.011,0.015,0.019,0.010,0.038,0.089,
+0.097,0.045,0.049,0.053,0.101,0.062,0.012,0.037,0.040,0.028,
+0.011,0.013,9.21e-3,0.010,0.014,0.016,0.021,0.013,0.016,5.81e-3,
+0.018,0.012,0.012,0.016,0.011,0.014,0.029,0.044,0.029,0.023,
+0.046,0.070,0.069,0.042,0.063,0.049,0.083,0.046,0.026,0.094,
+0.041,0.032,0.013,0.033,0.034,0.021,6.50e-3,0.023,0.024,9.96e-3,
+0.046,0.039,0.084,0.056,0.015,0.061,0.053,0.031,0.013,0.015,
+0.012,0.013,0.016,0.029,0.026,0.022,0.029,0.011,0.040,0.034,
+0.018,0.027,0.034,0.030,0.129,0.115,0.085,0.095,0.119,0.154,
+0.129,0.096,0.134,0.027,0.099,0.087,0.065,0.085,0.059,0.064,
+0.108,0.151,0.101,0.079,0.169,0.201,0.321,0.138,0.209,0.075,
+0.280,0.185,0.069,0.146,0.106,0.086,0.107,0.174,0.181,0.122,
+0.035,0.066,0.082,0.058,0.396,0.108,0.240,0.216,0.106,0.366,
+0.138,0.118,0.068,0.060,0.055,0.080,0.135,0.158,0.164,0.217,
+0.166,0.040,0.160,0.224,0.086,0.169,0.151,0.161,0.018,0.031,
+0.017,0.014,0.047,0.092,0.072,0.034,0.027,0.022,0.044,0.028,
+9.28e-3,0.023,0.014,0.014,0.031,0.062,0.033,0.020,0.083,0.124,
+0.161,0.056,0.057,0.081,0.150,0.084,0.017,0.050,0.034,0.022,
+0.026,0.096,0.065,0.029,0.031,0.122,0.135,0.036,0.121,0.264,
+0.213,0.141,0.021,0.125,0.088,0.045,0.014,0.019,0.013,0.014,
+0.038,0.086,0.067,0.052,0.036,0.031,0.069,0.058,0.012,0.027,
+0.030,0.030,0.107,0.138,0.110,0.060,0.191,0.439,0.908,0.171,
+0.188,0.088,0.386,0.183,0.058,0.133,0.146,0.104,0.024,0.068,
+0.067,0.017,0.068,0.155,0.930,0.068,0.078,0.109,0.335,0.091,
+0.024,0.058,0.064,0.027,0.122,0.257,0.256,0.136,0.066,0.153,
+0.252,0.076,0.351,0.221,0.311,0.296,0.081,0.257,0.298,0.167,
+0.056,0.061,0.062,0.050,0.137,0.254,0.313,0.172,0.177,0.081,
+0.341,0.225,0.064,0.130,0.172,0.132,0.070,0.066,0.051,0.063,
+0.070,0.095,0.095,0.053,0.083,0.021,0.097,0.084,0.111,0.073,
+0.053,0.071,0.130,0.189,0.147,0.082,0.201,0.297,0.940,0.167,
+0.225,0.098,0.404,0.239,0.361,0.233,0.169,0.127,0.120,0.287,
+0.166,0.117,0.033,0.153,0.089,0.040,0.255,0.119,0.529,0.408,
+0.117,0.302,0.257,0.187,0.069,0.076,0.057,0.067,0.104,0.198,
+0.133,0.112,0.155,0.043,0.275,0.231,0.106,0.165,0.173,0.167,
+0.115,0.086,0.064,0.093,0.084,0.076,0.071,0.077,0.082,0.016,
+0.054,0.064,0.075,0.084,0.056,0.105,0.082,0.076,0.047,0.049,
+0.073,0.063,0.071,0.054,0.067,0.014,0.061,0.064,0.042,0.056,
+0.046,0.054,0.082,0.087,0.064,0.071,0.014,0.015,0.016,0.018,
+0.090,0.021,0.068,0.090,0.056,0.098,0.074,0.077,0.074,0.052,
+0.043,0.074,0.081,0.075,0.070,0.119,0.079,0.011,0.058,0.098,
+0.082,0.083,0.082,0.134,0.165,0.167,0.098,0.121,0.175,0.218,
+0.192,0.141,0.140,0.039,0.141,0.137,0.085,0.149,0.085,0.117,
+0.178,0.253,0.119,0.113,0.258,0.270,0.289,0.180,0.187,0.076,
+0.253,0.235,0.084,0.193,0.131,0.119,0.151,0.293,0.197,0.136,
+0.036,0.095,0.095,0.047,0.227,0.109,0.290,0.293,0.105,0.347,
+0.231,0.193,0.102,0.097,0.077,0.097,0.171,0.239,0.213,0.235,
+0.174,0.043,0.182,0.224,0.098,0.150,0.139,0.181,0.103,0.105,
+0.069,0.076,0.135,0.184,0.216,0.130,0.150,0.049,0.173,0.186,
+0.067,0.118,0.104,0.128,0.022,0.029,0.015,0.014,0.033,0.062,
+0.092,0.032,0.032,0.035,0.079,0.065,0.011,0.031,0.027,0.021,
+0.110,0.229,0.145,0.124,0.034,0.070,0.077,0.044,0.205,0.115,
+0.243,0.230,0.080,0.245,0.230,0.164,0.067,0.071,0.061,0.081,
+0.141,0.190,0.219,0.323,0.144,0.053,0.212,0.231,0.081,0.160,
+0.167,0.175,0.121,0.083,0.060,0.081,0.074,0.074,0.070,0.061,
+0.085,0.015,0.075,0.088,0.083,0.079,0.065,0.116,0.340,0.273,
+0.074,0.085,0.103,0.125,0.152,0.100,0.107,0.029,0.125,0.147,
+0.103,0.114,0.093,0.111,0.107,0.159,0.115,0.129,0.018,0.039,
+0.029,0.024,0.171,0.050,0.241,0.264,0.099,0.197,0.209,0.176,
+0.124,0.089,0.082,0.133,0.145,0.181,0.142,0.180,0.162,0.026,
+0.196,0.245,0.156,0.166,0.196,0.229,0.225,0.151,0.136,0.237,
+0.150,0.104,0.093,0.121,0.157,0.018,0.078,0.114,0.182,0.166,
+0.092,0.161,0.179,0.125,0.096,0.125,0.115,0.076,0.072,0.075,
+0.115,0.016,0.150,0.089,0.133,0.158,0.106,0.150,0.143,0.119,
+0.092,0.127,0.014,0.012,9.71e-3,0.018,0.087,0.011,0.060,0.082,
+0.091,0.116,0.090,0.121,0.152,0.092,0.079,0.147,0.126,0.085,
+0.077,0.117,0.107,0.013,0.111,0.113,0.143,0.111,0.120,0.215,
+0.181,0.126,0.077,0.129,0.147,0.103,0.079,0.090,0.112,0.018,
+0.061,0.087,0.095,0.107,0.057,0.106,0.126,0.110,0.066,0.081,
+0.092,0.078,0.068,0.070,0.114,0.021,0.079,0.100,0.086,0.110,
+0.066,0.101,0.098,0.111,0.082,0.101,0.014,0.020,0.016,0.015,
+0.108,0.022,0.084,0.105,0.076,0.138,0.097,0.104,0.094,0.083,
+0.054,0.094,0.106,0.124,0.060,0.085,0.091,0.012,0.076,0.097,
+0.081,0.082,0.090,0.150,0.132,0.072,0.064,0.099,0.107,0.078,
+0.078,0.093,0.162,0.024,0.070,0.090,0.127,0.110,0.073,0.136,
+0.012,0.012,7.73e-3,0.012,0.011,0.013,0.011,0.012,0.016,5.54e-3,
+0.015,0.014,0.021,0.030,0.013,0.022,0.065,0.072,0.090,0.078,
+8.42e-3,9.80e-3,0.011,0.012,0.098,0.027,0.071,0.075,0.063,0.120,
+0.078,0.085,0.061,0.042,0.042,0.071,0.079,0.072,0.064,0.093,
+0.087,0.013,0.076,0.089,0.084,0.083,0.090,0.141,0.177,0.088,
+0.070,0.140,0.087,0.057,0.060,0.082,0.165,0.017,0.072,0.097,
+0.274,0.157,0.091,0.208,0.140,0.092,0.074,0.107,0.098,0.070,
+0.070,0.090,0.129,0.014,0.086,0.107,0.176,0.194,0.111,0.220,
+0.121,0.115,0.104,0.130,0.011,0.011,0.011,0.015,0.105,0.012,
+0.081,0.107,0.124,0.154,0.136,0.185,0.148,0.105,0.088,0.169,
+0.107,0.084,0.078,0.123,0.163,0.015,0.113,0.168,0.252,0.218,
+0.251,0.454,0.295,0.197,0.151,0.217,0.224,0.189,0.154,0.152,
+0.191,0.034,0.246,0.169,0.164,0.199,0.117,0.177,0.250,0.181,
+0.167,0.166,0.211,0.181,0.193,0.144,0.210,0.055,1.143,0.257,
+0.106,0.193,0.186,0.157,0.144,0.182,0.131,0.151,0.023,0.035,
+0.029,0.035,0.161,0.037,0.161,0.205,0.102,0.191,0.150,0.188,
+0.138,0.114,0.083,0.132,0.177,0.215,0.141,0.170,0.178,0.035,
+0.230,0.284,0.138,0.149,0.154,0.234,0.281,0.262,0.143,0.184,
+0.273,0.294,0.208,0.172,0.208,0.049,0.130,0.158,0.132,0.215,
+0.108,0.162,0.255,0.309,0.148,0.155,0.286,0.253,0.241,0.202,
+0.280,0.090,0.242,0.266,0.121,0.276,0.156,0.177,0.172,0.293,
+0.176,0.181,0.043,0.096,0.059,0.045,0.289,0.092,0.246,0.295,
+0.144,0.375,0.263,0.252,0.138,0.170,0.094,0.137,0.279,0.661,
+0.196,0.219,0.190,0.037,0.157,0.217,0.125,0.170,0.150,0.238,
+0.167,0.125,0.085,0.113,0.194,0.235,0.194,0.176,0.276,0.071,
+0.198,0.147,0.126,0.233,0.124,0.173,0.015,0.028,0.020,0.020,
+0.033,0.058,0.052,0.033,0.053,0.050,0.092,0.042,0.021,0.100,
+0.035,0.026,0.119,0.217,0.285,0.174,0.024,0.055,0.049,0.036,
+0.436,0.275,0.190,0.211,0.125,0.585,0.221,0.192,0.102,0.087,
+0.087,0.106,0.168,0.270,0.205,0.219,0.196,0.043,0.187,0.204,
+0.115,0.164,0.165,0.213,0.168,0.119,0.096,0.143,0.111,0.099,
+0.097,0.105,0.163,0.024,0.109,0.114,0.192,0.174,0.111,0.198,
+0.196,0.215,0.156,0.166,0.189,0.209,0.205,0.187,0.302,0.077,
+0.279,0.236,0.223,0.636,0.211,0.255,0.125,0.163,0.153,0.167,
+0.017,0.031,0.024,0.026,0.203,0.052,0.202,0.236,0.136,0.279,
+0.228,0.235,0.152,0.154,0.099,0.145,0.149,0.195,0.143,0.183,
+0.218,0.030,0.183,0.258,0.211,0.241,0.228,0.348,0.158,0.122,
+0.078,0.112,0.097,0.097,0.067,0.087,0.117,0.017,0.066,0.082,
+0.090,0.094,0.060,0.089,0.137,0.146,0.080,0.101,0.139,0.141,
+0.119,0.104,0.166,0.040,0.186,0.143,0.082,0.152,0.100,0.113,
+0.110,0.158,0.122,0.131,0.020,0.036,0.027,0.039,0.182,0.039,
+0.155,0.170,0.091,0.194,0.130,0.148,0.092,0.075,0.058,0.097,
+0.119,0.123,0.092,0.123,0.168,0.029,0.128,0.191,0.122,0.127,
+0.135,0.221,0.015,0.019,9.61e-3,0.014,0.017,0.029,0.016,0.015,
+0.015,6.10e-3,0.014,0.013,9.57e-3,0.021,0.012,0.013,0.023,0.030,
+0.015,0.013,0.032,0.059,0.037,0.022,0.029,0.023,0.045,0.031,
+0.012,0.031,0.019,0.017,0.015,0.034,0.019,0.014,6.81e-3,0.023,
+0.016,8.48e-3,0.034,0.031,0.050,0.037,0.016,0.047,0.033,0.023,
+0.014,0.017,8.94e-3,0.014,0.026,0.048,0.024,0.027,0.028,0.017,
+0.035,0.034,0.017,0.023,0.021,0.030,0.111,0.098,0.066,0.065,
+0.122,0.194,0.193,0.106,0.158,0.051,0.156,0.125,0.072,0.135,
+0.131,0.116,0.014,0.028,0.016,0.010,0.026,0.056,0.067,0.018,
+0.034,0.029,0.065,0.033,0.014,0.045,0.039,0.021,0.106,0.195,
+0.137,0.115,0.029,0.070,0.062,0.032,0.236,0.091,0.174,0.194,
+0.086,0.231,0.189,0.148,0.079,0.071,0.063,0.068,0.138,0.218,
+0.186,0.151,0.211,0.055,0.248,0.210,0.098,0.155,0.182,0.184,
+0.134,0.077,0.060,0.094,0.081,0.076,0.060,0.064,0.111,0.016,
+0.083,0.095,0.102,0.101,0.079,0.126,0.148,0.147,0.099,0.103,
+0.143,0.183,0.172,0.114,0.208,0.044,0.202,0.193,0.176,0.239,
+0.177,0.181,0.425,0.223,0.162,0.147,0.034,0.053,0.034,0.026,
+0.272,0.056,0.255,0.268,0.350,0.292,0.243,0.232,0.134,0.094,
+0.100,0.113,0.127,0.152,0.124,0.126,0.223,0.032,0.245,0.272,
+0.195,0.218,0.227,0.278,0.252,0.124,0.097,0.174,0.122,0.083,
+0.072,0.128,0.128,0.015,0.067,0.110,0.138,0.115,0.078,0.165,
+0.136,0.099,0.061,0.084,0.102,0.075,0.063,0.082,0.105,0.014,
+0.098,0.100,0.080,0.095,0.069,0.114,0.101,0.105,0.067,0.120,
+0.012,0.013,0.010,0.021,0.098,0.016,0.068,0.105,0.081,0.116,
+0.078,0.127,0.129,0.080,0.070,0.137,0.103,0.078,0.073,0.129,
+0.124,0.013,0.083,0.153,0.166,0.131,0.128,0.295,0.168,0.122,
+0.081,0.139,0.117,0.109,0.092,0.105,0.105,0.017,0.073,0.107,
+0.091,0.119,0.077,0.135,0.141,0.123,0.064,0.085,0.133,0.122,
+0.086,0.099,0.125,0.027,0.147,0.141,0.080,0.137,0.092,0.129,
+0.100,0.136,0.080,0.114,0.012,0.022,0.016,0.017,0.139,0.026,
+0.129,0.154,0.098,0.186,0.119,0.165,0.112,0.086,0.073,0.122,
+0.125,0.132,0.100,0.146,0.139,0.019,0.102,0.161,0.130,0.160,
+0.123,0.238,0.151,0.126,0.085,0.104,0.134,0.127,0.124,0.137,
+0.161,0.032,0.109,0.153,0.116,0.142,0.133,0.228,0.016,0.021,
+8.84e-3,0.013,0.015,0.023,0.021,0.016,0.016,9.76e-3,0.022,0.021,
+0.013,0.025,0.018,0.030,0.116,0.158,0.112,0.142,0.017,0.026,
+0.024,0.026,0.187,0.045,0.149,0.188,0.107,0.200,0.186,0.219,
+0.114,0.095,0.082,0.118,0.156,0.160,0.164,0.207,0.220,0.035,
+0.190,0.244,0.144,0.165,0.194,0.292,0.257,0.142,0.113,0.181,
+0.121,0.094,0.085,0.113,0.168,0.018,0.101,0.161,0.193,0.160,
+0.137,0.331,0.211,0.174,0.097,0.138,0.151,0.150,0.112,0.131,
+0.176,0.023,0.141,0.209,0.163,0.200,0.156,0.284,0.198,0.195,
+0.163,0.218,0.018,0.022,0.018,0.024,0.266,0.037,0.229,0.327,
+0.222,0.291,0.282,0.362,0.315,0.179,0.181,0.317,0.227,0.205,
+0.183,0.295,0.346,0.029,0.295,0.464,0.381,0.312,0.344,0.453,
+2.955,1.678,1.340,2.255,1.794,1.194,1.173,1.270,1.979,0.204,
+1.179,1.459,2.378,2.006,1.369,1.998,2.012,1.375,1.033,1.178,
+1.412,0.944,1.030,0.833,1.561,0.176,1.214,1.157,1.086,1.676,
+1.136,1.224,1.389,1.123,1.138,1.221,0.127,0.116,0.126,0.170,
+1.488,0.133,0.984,1.061,0.930,1.330,1.102,1.204,1.977,1.029,
+1.109,1.958,1.416,1.078,1.148,1.560,1.315,0.124,1.123,1.524,
+1.451,1.104,1.372,1.994,2.044,1.436,0.975,1.252,1.349,1.083,
+0.889,0.950,1.165,0.156,0.811,0.954,0.976,1.177,1.008,1.133,
+1.524,1.301,0.827,0.825,1.024,0.756,0.841,0.657,1.320,0.247,
+1.098,1.159,0.694,1.072,0.982,0.859,0.980,1.124,0.844,0.851,
+0.109,0.123,0.115,0.121,1.076,0.134,1.009,1.030,0.617,1.148,
+0.859,0.793,0.919,0.986,0.561,0.814,1.008,0.885,0.752,0.935,
+0.980,0.100,0.895,1.041,0.779,0.808,0.936,1.240,1.380,0.768,
+0.749,0.936,1.049,0.825,0.863,0.891,1.144,0.192,0.822,1.103,
+0.847,1.188,0.893,1.234,0.116,0.104,0.079,0.086,0.092,0.101,
+0.089,0.080,0.115,0.036,0.119,0.124,0.106,0.238,0.119,0.141,
+0.877,0.748,0.734,0.671,0.079,0.074,0.091,0.089,0.920,0.126,
+1.022,0.883,0.598,0.951,0.950,0.767,0.653,0.439,0.507,0.649,
+0.770,0.666,0.688,0.790,0.893,0.099,1.004,1.096,0.660,0.731,
+0.913,1.194,1.600,0.676,0.668,1.066,0.660,0.478,0.466,0.526,
+0.749,0.084,0.492,0.643,0.909,0.798,0.793,1.307,0.983,0.759,
+0.644,0.690,0.719,0.581,0.565,0.503,0.732,0.078,0.661,0.707,
+0.687,0.837,0.742,0.908,0.812,0.795,0.656,0.691,0.062,0.063,
+0.066,0.069,0.760,0.070,0.677,0.721,0.573,0.769,0.779,0.802,
+1.112,0.569,0.589,1.030,0.474,0.362,0.462,0.630,0.940,0.074,
+0.864,1.142,1.206,0.941,1.153,1.919,2.508,1.816,1.374,2.092,
+1.586,1.343,1.286,1.296,1.259,0.159,0.914,1.356,1.256,1.304,
+1.046,1.487,1.910,1.750,1.080,1.199,1.413,1.193,1.326,1.012,
+1.333,0.186,1.347,1.352,0.777,1.139,0.947,1.117,0.959,1.124,
+1.148,1.039,0.110,0.170,0.161,0.168,0.936,0.120,0.971,0.958,
+0.576,1.166,0.936,0.978,1.065,0.652,0.702,1.005,1.072,1.049,
+0.892,1.062,0.798,0.099,0.743,0.992,0.739,0.713,0.959,1.457,
+2.096,2.066,1.082,1.492,1.705,1.914,1.363,1.512,1.270,0.216,
+1.008,1.176,0.809,1.299,0.799,1.119,1.600,1.676,1.081,1.046,
+1.112,0.650,1.111,0.855,1.418,0.260,1.487,1.581,0.624,1.180,
+0.960,0.953,1.193,2.042,1.564,1.526,0.172,0.308,0.304,0.362,
+1.526,0.344,1.660,1.714,0.941,3.214,1.525,1.351,0.891,0.821,
+0.709,0.830,1.263,1.305,1.085,1.242,0.969,0.130,0.917,1.080,
+0.626,0.929,1.052,1.208,1.329,1.088,0.848,1.241,1.344,1.478,
+1.538,1.147,1.379,0.271,1.322,1.678,0.701,1.167,1.196,1.288,
+0.130,0.228,0.131,0.143,0.142,0.242,0.220,0.134,0.177,0.087,
+0.295,0.234,0.094,0.319,0.203,0.170,1.334,1.766,1.462,1.237,
+0.195,0.301,0.287,0.192,1.720,0.368,1.908,1.757,1.097,3.379,
+2.137,1.506,1.099,0.623,1.225,0.822,1.221,1.457,1.483,1.316,
+1.258,0.187,1.701,1.714,0.643,1.057,1.450,1.465,1.020,0.702,
+0.580,0.882,0.672,0.580,0.591,0.604,0.592,0.069,0.555,0.654,
+0.577,0.604,0.590,0.929,1.214,1.188,0.874,1.027,1.008,1.111,
+0.944,0.913,0.918,0.132,1.057,1.147,0.676,1.223,0.965,1.190,
+0.731,0.886,0.869,0.892,0.074,0.108,0.095,0.104,0.827,0.110,
+0.963,1.041,0.684,1.214,1.235,1.119,0.868,0.615,0.660,0.845,
+0.699,0.661,0.635,0.825,0.920,0.091,1.036,1.286,0.971,1.053,
+1.380,1.911,1.984,1.342,1.008,1.379,0.917,0.870,0.723,0.700,
+0.982,0.132,0.749,0.759,0.913,1.092,0.688,1.025,1.760,1.667,
+1.106,1.178,1.235,1.276,1.288,0.988,1.561,0.270,1.544,1.396,
+0.849,1.572,0.967,1.122,1.093,1.457,1.495,1.181,0.132,0.219,
+0.206,0.223,1.080,0.181,1.634,1.403,0.605,1.418,1.056,1.076,
+1.011,0.746,0.749,1.143,1.004,1.182,0.948,1.141,1.064,0.137,
+1.214,1.333,0.914,0.970,1.192,2.089,0.182,0.211,0.120,0.137,
+0.177,0.248,0.149,0.132,0.160,0.046,0.150,0.134,0.100,0.216,
+0.127,0.142,0.204,0.284,0.160,0.142,0.204,0.271,0.218,0.146,
+0.265,0.106,0.298,0.233,0.109,0.310,0.160,0.150,0.129,0.272,
+0.192,0.151,0.031,0.083,0.072,0.044,0.250,0.093,0.802,0.518,
+0.107,0.375,0.234,0.184,0.177,0.167,0.122,0.178,0.309,0.469,
+0.304,0.347,0.196,0.050,0.285,0.280,0.161,0.272,0.227,0.305,
+1.280,1.028,0.872,0.735,1.013,1.247,1.202,0.732,2.196,1.046,
+1.790,1.263,0.836,2.402,1.159,1.112,0.131,0.220,0.119,0.092,
+0.117,0.205,0.178,0.084,0.740,0.865,0.365,0.233,0.148,0.956,
+0.192,0.147,1.013,1.486,1.486,0.912,0.150,0.235,0.339,0.147,
+1.784,0.374,1.700,1.369,0.673,1.444,1.453,1.007,0.631,0.560,
+0.654,0.604,0.917,1.317,1.363,1.007,1.539,0.345,2.143,1.596,
+0.687,1.093,1.326,1.198,0.983,0.588,0.488,0.678,0.649,0.536,
+0.432,0.392,0.761,0.131,0.565,0.640,0.594,0.738,0.503,0.793,
+1.391,1.245,0.870,0.957,1.054,1.259,0.931,0.749,2.543,0.773,
+1.436,1.446,1.050,2.271,1.036,1.132,0.787,1.048,0.971,0.855,
+0.096,0.162,0.132,0.106,1.192,0.152,1.335,1.272,0.710,1.321,
+1.152,1.100,0.936,0.632,0.757,0.895,0.813,0.880,0.724,0.803,
+1.166,0.140,1.428,1.515,1.048,1.183,1.288,1.697,2.061,0.987,
+0.824,1.428,0.755,0.529,0.517,0.538,0.825,0.078,0.470,0.634,
+0.945,0.781,0.708,1.173,0.942,0.630,0.508,0.646,0.612,0.418,
+0.514,0.490,0.809,0.074,0.523,0.651,0.546,0.578,0.477,0.710,
+0.758,0.600,0.560,0.775,0.077,0.069,0.063,0.106,0.583,0.063,
+0.551,0.651,0.464,0.699,0.514,0.724,1.048,0.551,0.647,1.267,
+0.920,0.660,0.655,0.921,1.032,0.081,0.662,0.917,0.952,0.846,
+0.914,1.880,1.606,1.147,0.785,1.083,1.107,1.030,0.816,0.802,
+0.967,0.118,0.724,0.875,0.729,0.939,0.763,1.117,1.256,1.056,
+0.660,0.808,0.965,0.877,0.779,0.702,1.089,0.166,0.958,1.118,
+0.664,1.065,0.644,0.820,0.851,1.000,0.710,0.865,0.088,0.124,
+0.101,0.126,1.031,0.145,1.643,1.598,0.675,1.396,0.923,1.038,
+1.102,0.693,0.579,0.957,1.356,1.190,0.941,1.260,0.945,0.120,
+0.940,1.248,0.924,1.490,1.010,1.566,1.168,0.757,0.770,0.895,
+1.094,0.843,0.930,0.886,1.280,0.220,1.231,1.149,0.799,0.983,
+1.111,1.280,0.098,0.113,0.081,0.104,0.089,0.109,0.100,0.089,
+0.157,0.058,0.163,0.157,0.113,0.207,0.144,0.143,0.831,1.003,
+0.954,1.348,0.091,0.111,0.125,0.154,1.215,0.176,1.278,1.323,
+0.740,1.338,1.277,1.257,0.768,0.595,0.650,0.936,1.065,1.061,
+1.121,1.375,1.774,0.206,1.568,2.151,0.952,1.308,1.383,1.730,
+1.580,0.751,0.709,1.057,0.756,0.556,0.550,0.596,0.842,0.089,
+0.596,0.844,1.020,0.816,0.856,1.544,0.923,0.666,0.548,0.831,
+0.618,0.494,0.597,0.673,1.040,0.106,0.772,1.078,0.971,1.037,
+0.797,1.155,1.045,1.041,0.963,1.560,0.132,0.100,0.088,0.146,
+1.299,0.118,1.141,1.433,1.132,1.492,1.448,1.632,1.626,0.860,
+1.096,2.103,1.234,1.079,1.059,1.652,1.771,0.125,1.708,2.414,
+2.643,1.844,2.215,3.192,0.174,0.143,0.118,0.151,0.149,0.125,
+0.121,0.123,0.132,0.023,0.108,0.117,0.125,0.142,0.118,0.124,
+0.156,0.149,0.107,0.098,0.144,0.125,0.144,0.100,0.154,0.043,
+0.160,0.135,0.091,0.170,0.122,0.118,0.083,0.094,0.091,0.082,
+0.014,0.018,0.022,0.019,0.077,0.017,0.096,0.081,0.053,0.090,
+0.099,0.085,0.108,0.098,0.067,0.105,0.106,0.099,0.097,0.108,
+0.092,0.015,0.106,0.112,0.085,0.080,0.119,0.138,0.195,0.209,
+0.121,0.123,0.193,0.218,0.188,0.118,0.172,0.059,0.163,0.165,
+0.107,0.205,0.294,0.204,0.213,0.292,0.158,0.112,0.207,0.222,
+0.234,0.145,0.381,0.197,0.318,0.318,0.110,0.337,0.177,0.146,
+0.108,0.205,0.137,0.109,0.032,0.063,0.076,0.043,0.167,0.076,
+0.246,0.195,0.082,0.206,0.172,0.115,0.096,0.290,0.074,0.080,
+0.140,0.165,0.142,0.141,0.131,0.033,0.170,0.170,0.082,0.113,
+0.163,0.154,0.094,0.077,0.061,0.064,0.113,0.124,0.131,0.086,
+0.113,0.031,0.120,0.101,0.058,0.102,0.092,0.099,0.015,0.026,
+0.020,0.013,0.023,0.043,0.044,0.019,0.026,0.023,0.052,0.032,
+0.014,0.042,0.030,0.020,0.079,0.101,0.104,0.066,0.019,0.028,
+0.039,0.020,0.118,0.047,0.211,0.136,0.058,0.131,0.206,0.113,
+0.068,0.049,0.047,0.048,0.092,0.107,0.117,0.096,0.109,0.028,
+0.172,0.136,0.061,0.095,0.140,0.120,0.101,0.061,0.050,0.076,
+0.059,0.052,0.047,0.049,0.063,0.011,0.052,0.058,0.059,0.062,
+0.061,0.096,0.100,0.102,0.086,0.083,0.095,0.108,0.104,0.084,
+0.086,0.022,0.110,0.111,0.059,0.107,0.085,0.104,0.057,0.066,
+0.074,0.069,9.07e-3,0.013,0.017,0.012,0.071,0.017,0.095,0.086,
+0.045,0.084,0.106,0.089,0.075,0.055,0.050,0.080,0.052,0.065,
+0.060,0.070,0.093,0.015,0.110,0.125,0.097,0.103,0.135,0.198,
+0.157,0.150,0.116,0.123,0.162,0.185,0.176,0.141,0.106,0.026,
+0.103,0.113,0.077,0.111,0.084,0.101,0.161,0.186,0.130,0.100,
+0.186,0.194,0.242,0.134,0.156,0.071,0.255,0.189,0.081,0.150,
+0.124,0.123,0.080,0.119,0.135,0.092,0.022,0.047,0.055,0.037,
+0.085,0.033,0.137,0.101,0.043,0.104,0.116,0.089,0.071,0.047,
+0.048,0.067,0.090,0.112,0.102,0.104,0.074,0.017,0.093,0.092,
+0.053,0.060,0.108,0.104,0.194,0.296,0.142,0.129,0.255,0.502,
+0.283,0.177,0.172,0.067,0.192,0.169,0.074,0.169,0.115,0.146,
+0.202,0.314,0.194,0.128,0.198,0.162,0.271,0.176,0.237,0.153,
+0.369,0.322,0.073,0.223,0.187,0.142,0.154,0.327,0.268,0.273,
+0.065,0.169,0.203,0.182,0.236,0.163,0.337,0.292,0.095,0.372,
+0.301,0.181,0.085,0.090,0.082,0.088,0.168,0.234,0.228,0.242,
+0.124,0.042,0.189,0.165,0.068,0.111,0.294,0.155,0.118,0.112,
+0.086,0.081,0.172,0.250,0.255,0.127,0.156,0.051,0.178,0.151,
+0.059,0.136,0.123,0.108,0.025,0.065,0.037,0.022,0.056,0.134,
+0.136,0.040,0.057,0.085,0.151,0.082,0.015,0.075,0.057,0.031,
+0.339,0.392,0.291,0.204,0.115,0.186,0.195,0.078,0.356,0.170,
+0.482,0.338,0.262,0.464,0.474,0.286,0.248,0.076,0.095,0.079,
+0.191,0.295,0.300,0.184,0.184,0.063,0.325,0.231,0.076,0.122,
+0.219,0.165,0.073,0.063,0.058,0.072,0.061,0.066,0.063,0.057,
+0.058,0.011,0.067,0.057,0.041,0.054,0.051,0.071,0.096,0.143,
+0.102,0.090,0.119,0.184,0.153,0.104,0.109,0.043,0.166,0.137,
+0.051,0.162,0.109,0.099,0.059,0.101,0.095,0.077,0.013,0.029,
+0.029,0.020,0.091,0.031,0.158,0.119,0.054,0.121,0.154,0.104,
+0.063,0.046,0.051,0.058,0.058,0.073,0.070,0.079,0.094,0.015,
+0.129,0.119,0.068,0.091,0.131,0.150,0.139,0.137,0.096,0.101,
+0.094,0.116,0.110,0.086,0.102,0.022,0.139,0.082,0.071,0.094,
+0.069,0.076,0.153,0.231,0.149,0.110,0.190,0.250,0.244,0.161,
+0.218,0.096,0.373,0.242,0.076,0.204,0.136,0.113,0.089,0.181,
+0.154,0.107,0.020,0.051,0.061,0.042,0.147,0.064,0.528,0.333,
+0.050,0.157,0.171,0.114,0.066,0.064,0.053,0.081,0.093,0.126,
+0.116,0.127,0.113,0.031,0.176,0.161,0.068,0.091,0.120,0.154,
+0.019,0.038,0.020,0.015,0.033,0.076,0.060,0.029,0.024,0.023,
+0.056,0.030,0.011,0.036,0.027,0.019,0.035,0.094,0.050,0.025,
+0.079,0.152,0.136,0.056,0.064,0.119,0.188,0.107,0.018,0.081,
+0.049,0.031,0.018,0.084,0.059,0.028,0.022,0.095,0.120,0.033,
+0.087,0.133,0.780,0.321,0.016,0.104,0.108,0.043,0.012,0.024,
+0.015,0.013,0.037,0.081,0.064,0.048,0.032,0.028,0.108,0.067,
+0.017,0.033,0.042,0.033,0.120,0.132,0.109,0.070,0.129,0.238,
+0.255,0.110,0.193,0.095,0.412,0.192,0.074,0.225,0.183,0.130,
+0.026,0.079,0.045,0.019,0.049,0.136,0.138,0.039,0.091,0.140,
+0.420,0.123,0.017,0.086,0.070,0.030,0.125,0.297,0.311,0.126,
+0.055,0.173,0.270,0.056,0.329,0.266,0.644,0.349,0.077,0.302,
+0.330,0.167,0.068,0.079,0.091,0.063,0.144,0.309,0.348,0.179,
+0.304,0.166,0.701,0.330,0.087,0.216,0.267,0.189,0.076,0.072,
+0.054,0.077,0.061,0.070,0.059,0.047,0.073,0.019,0.086,0.083,
+0.053,0.080,0.052,0.074,0.124,0.178,0.122,0.103,0.158,0.251,
+0.205,0.129,0.241,0.093,0.328,0.273,0.089,0.233,0.162,0.127,
+0.079,0.168,0.163,0.093,0.020,0.062,0.070,0.023,0.182,0.085,
+0.330,0.246,0.071,0.224,0.183,0.133,0.064,0.061,0.066,0.070,
+0.094,0.120,0.108,0.093,0.140,0.040,0.267,0.208,0.094,0.158,
+0.170,0.171,0.161,0.106,0.082,0.122,0.119,0.082,0.073,0.128,
+0.117,0.013,0.065,0.101,0.096,0.089,0.098,0.128,0.099,0.088,
+0.067,0.074,0.083,0.073,0.081,0.078,0.090,0.016,0.092,0.096,
+0.059,0.076,0.076,0.086,0.068,0.073,0.063,0.077,9.38e-3,0.011,
+0.012,0.016,0.063,0.012,0.091,0.092,0.044,0.072,0.069,0.088,
+0.085,0.058,0.063,0.112,0.094,0.072,0.072,0.124,0.125,0.013,
+0.083,0.154,0.105,0.089,0.105,0.233,0.192,0.186,0.125,0.145,
+0.175,0.198,0.216,0.155,0.159,0.034,0.155,0.167,0.102,0.171,
+0.138,0.166,0.210,0.245,0.146,0.142,0.225,0.261,0.254,0.192,
+0.210,0.068,0.278,0.298,0.110,0.254,0.163,0.161,0.108,0.202,
+0.144,0.133,0.021,0.053,0.061,0.042,0.188,0.059,0.653,0.475,
+0.091,0.258,0.198,0.167,0.120,0.105,0.086,0.122,0.202,0.217,
+0.212,0.254,0.155,0.032,0.238,0.272,0.157,0.206,0.193,0.241,
+0.105,0.080,0.072,0.077,0.117,0.124,0.146,0.111,0.135,0.036,
+0.189,0.157,0.072,0.114,0.140,0.136,0.013,0.019,0.013,0.012,
+0.025,0.043,0.038,0.023,0.027,0.018,0.059,0.037,0.012,0.031,
+0.033,0.021,0.082,0.147,0.142,0.118,0.019,0.044,0.053,0.039,
+0.158,0.067,0.264,0.211,0.072,0.207,0.220,0.162,0.101,0.071,
+0.080,0.094,0.125,0.165,0.187,0.198,0.422,0.059,0.325,0.442,
+0.112,0.157,0.230,0.231,0.116,0.076,0.066,0.093,0.076,0.066,
+0.064,0.071,0.078,0.013,0.073,0.090,0.075,0.072,0.086,0.133,
+0.091,0.081,0.063,0.083,0.084,0.090,0.093,0.093,0.098,0.016,
+0.115,0.137,0.079,0.109,0.099,0.128,0.083,0.107,0.104,0.124,
+0.013,0.018,0.018,0.019,0.127,0.027,0.172,0.181,0.091,0.161,
+0.183,0.168,0.125,0.077,0.095,0.160,0.115,0.119,0.125,0.161,
+0.182,0.020,0.241,0.289,0.198,0.185,0.265,0.298,1.443,1.358,
+1.231,1.791,1.447,1.191,1.230,1.744,1.256,0.147,1.091,1.288,
+1.482,1.380,1.304,1.544,1.272,1.143,0.832,0.928,1.097,0.877,
+1.019,0.965,0.950,0.120,0.950,0.974,0.944,0.910,0.846,0.903,
+0.878,0.882,0.995,0.872,0.087,0.089,0.112,0.141,0.794,0.096,
+1.128,0.940,0.597,0.723,0.957,0.853,0.841,0.485,0.487,0.789,
+0.586,0.479,0.557,0.735,0.589,0.056,0.625,0.744,0.683,0.386,
+0.760,1.147,2.038,1.632,1.105,1.330,1.773,1.526,1.412,1.168,
+1.167,0.190,0.982,1.147,0.929,1.112,0.817,1.051,1.921,2.276,
+1.197,1.115,1.623,1.176,1.590,1.146,1.676,0.297,1.735,2.791,
+0.915,1.405,0.991,1.227,1.344,1.729,1.875,1.229,0.206,0.253,
+0.303,0.243,2.194,0.394,2.469,2.731,1.691,1.865,1.766,1.338,
+0.834,0.742,0.568,0.656,1.222,1.238,1.097,1.211,0.905,0.113,
+0.963,1.336,0.785,0.738,1.001,1.326,1.360,0.830,0.770,0.825,
+1.420,1.250,1.383,1.107,1.398,0.205,1.117,1.084,0.797,0.973,
+0.963,1.156,0.157,0.197,0.150,0.140,0.221,0.255,0.258,0.192,
+0.213,0.070,0.315,0.264,0.154,0.366,0.222,0.234,1.098,1.279,
+1.404,1.001,0.152,0.189,0.299,0.202,1.699,0.310,2.428,1.649,
+0.689,1.382,2.101,1.288,0.624,0.546,0.533,0.560,1.062,1.113,
+1.300,1.160,1.017,0.148,1.402,1.296,0.755,0.819,1.286,1.367,
+1.046,0.535,0.488,0.799,0.592,0.483,0.493,0.521,0.576,0.067,
+0.462,0.521,0.683,0.588,0.562,0.889,1.002,0.857,0.709,0.795,
+0.899,0.843,0.851,0.731,0.820,0.103,0.886,0.976,0.693,0.987,
+0.756,0.984,0.921,0.967,1.034,0.901,0.096,0.105,0.148,0.143,
+1.045,0.135,1.413,1.260,0.687,1.190,1.849,1.245,0.934,0.598,
+0.583,0.844,0.652,0.591,0.717,0.869,1.092,0.104,1.119,1.385,
+1.178,1.059,1.527,2.273,0.140,0.139,0.113,0.121,0.135,0.153,
+0.148,0.154,0.095,0.023,0.095,0.100,0.105,0.110,0.095,0.104,
+0.173,0.222,0.161,0.132,0.219,0.251,0.290,0.180,0.166,0.063,
+0.239,0.178,0.263,0.174,0.162,0.161,0.087,0.142,0.136,0.093,
+0.024,0.044,0.049,0.033,0.135,0.041,0.255,0.230,0.077,0.127,
+0.170,0.131,0.070,0.058,0.053,0.065,0.096,0.107,0.100,0.094,
+0.070,0.017,0.099,0.111,0.063,0.061,0.104,0.136,0.154,0.220,
+0.125,0.107,0.185,0.259,0.250,0.141,0.135,0.059,0.140,0.136,
+0.071,0.131,0.091,0.109,0.252,0.506,0.215,0.150,0.284,0.282,
+0.393,0.212,0.284,0.157,0.378,0.376,0.107,0.248,0.186,0.294,
+0.145,0.294,0.228,0.148,0.059,0.136,0.159,0.069,0.754,0.320,
+0.807,0.917,0.295,0.424,0.347,0.227,0.073,0.079,0.064,0.059,
+0.141,0.193,0.166,0.146,0.112,0.031,0.158,0.157,0.067,0.079,
+0.133,0.126,0.141,0.127,0.110,0.084,0.191,0.275,0.301,0.151,
+0.160,0.057,0.226,0.145,0.063,0.126,0.140,0.116,0.027,0.067,
+0.042,0.027,0.061,0.144,0.156,0.055,0.061,0.099,0.218,0.089,
+0.021,0.071,0.070,0.038,0.160,0.263,0.378,0.179,0.059,0.133,
+0.242,0.065,0.327,0.223,0.833,0.367,0.099,0.345,0.562,0.282,
+0.085,0.071,0.091,0.067,0.157,0.241,0.300,0.184,0.155,0.059,
+0.334,0.216,0.074,0.118,0.229,0.188,0.091,0.091,0.073,0.107,
+0.073,0.079,0.077,0.078,0.063,0.013,0.068,0.064,0.065,0.072,
+0.086,0.104,0.150,0.184,0.147,0.138,0.186,0.251,0.230,0.168,
+0.157,0.048,0.223,0.197,0.103,0.223,0.187,0.180,0.083,0.138,
+0.166,0.117,0.017,0.042,0.045,0.027,0.142,0.053,0.273,0.211,
+0.090,0.202,0.424,0.203,0.084,0.076,0.072,0.085,0.076,0.100,
+0.099,0.103,0.105,0.019,0.161,0.162,0.102,0.127,0.218,0.227,
+1.938,1.405,1.214,1.709,0.997,0.989,0.813,0.862,0.975,0.123,
+1.138,0.897,0.577,0.540,0.536,0.695,1.410,1.473,0.889,0.892,
+1.446,1.490,1.484,1.037,1.436,0.274,2.011,1.508,0.690,1.333,
+0.842,0.911,1.012,1.285,1.157,0.966,0.175,0.259,0.277,0.258,
+1.408,0.279,2.616,1.655,0.565,1.275,1.240,1.103,0.665,0.488,
+0.444,0.620,0.880,0.878,0.808,0.862,0.996,0.155,1.348,1.671,
+0.630,0.724,1.003,1.481,0.156,0.172,0.102,0.112,0.200,0.298,
+0.207,0.174,0.171,0.059,0.265,0.180,0.078,0.126,0.100,0.099,
+0.155,0.249,0.131,0.096,0.266,0.378,0.333,0.183,0.206,0.122,
+0.451,0.289,0.072,0.182,0.115,0.107,0.168,0.302,0.223,0.132,
+0.056,0.150,0.191,0.064,0.340,0.209,0.903,0.417,0.111,0.295,
+0.283,0.199,0.088,0.086,0.066,0.088,0.193,0.267,0.216,0.215,
+0.158,0.046,0.273,0.398,0.083,0.107,0.142,0.197,1.722,0.823,
+0.975,0.532,0.954,1.223,1.291,0.783,1.080,0.246,1.975,0.979,
+0.479,0.828,0.962,0.770,0.138,0.223,0.233,0.103,0.142,0.278,
+0.289,0.101,0.218,0.121,0.655,0.221,0.071,0.212,0.187,0.111,
+0.845,0.692,1.035,0.471,0.153,0.167,0.348,0.097,0.587,0.176,
+0.650,0.222,0.182,0.329,0.613,0.439,0.405,0.309,0.451,0.246,
+0.517,0.649,0.905,0.456,0.740,0.163,1.545,0.884,0.393,0.551,
+0.955,0.938,0.782,0.473,0.415,0.476,0.532,0.459,0.384,0.371,
+0.542,0.075,0.692,0.596,0.333,0.371,0.357,0.479,0.899,0.957,
+0.708,0.530,0.923,1.181,0.987,0.639,1.067,0.204,1.655,1.229,
+0.521,1.009,0.705,0.626,0.779,0.959,0.991,0.735,0.116,0.218,
+0.215,0.137,1.266,0.243,2.483,1.634,0.566,1.230,1.401,1.052,
+0.552,0.426,0.431,0.545,0.635,0.760,0.710,0.620,0.959,0.134,
+1.795,1.443,0.759,0.906,1.345,1.362,1.252,0.777,0.609,0.969,
+0.667,0.541,0.486,0.554,0.596,0.075,0.532,0.597,0.603,0.607,
+0.513,0.737,0.861,0.709,0.423,0.469,0.636,0.517,0.491,0.435,
+0.542,0.067,0.515,0.510,0.386,0.455,0.386,0.492,0.634,0.614,
+0.481,0.555,0.071,0.073,0.069,0.098,0.570,0.076,0.824,0.778,
+0.387,0.595,0.626,0.698,0.559,0.358,0.319,0.529,0.548,0.414,
+0.385,0.561,0.501,0.050,0.466,0.755,0.494,0.461,0.594,1.024,
+1.414,1.219,0.788,1.005,1.235,1.264,1.142,0.936,0.910,0.138,
+1.037,1.078,0.622,0.879,0.608,0.857,1.357,1.534,0.821,0.824,
+1.463,1.498,1.493,1.080,1.169,0.202,1.448,1.503,0.562,1.006,
+0.711,0.845,0.980,1.529,1.037,0.912,0.142,0.255,0.219,0.194,
+1.400,0.274,2.177,2.026,0.678,1.577,1.423,1.344,0.728,0.627,
+0.489,0.675,1.161,1.277,1.091,1.250,0.843,0.126,1.150,1.896,
+0.589,0.779,0.867,1.247,1.189,0.851,0.671,0.696,1.059,1.091,
+1.159,0.950,1.045,0.180,1.349,1.143,0.605,0.954,0.928,1.060,
+0.116,0.156,0.100,0.095,0.154,0.253,0.240,0.150,0.144,0.063,
+0.286,0.214,0.081,0.198,0.151,0.133,1.061,1.421,1.267,1.039,
+0.144,0.193,0.274,0.203,1.783,0.381,2.579,2.432,0.691,1.517,
+2.034,1.566,0.672,0.605,0.610,0.604,1.119,1.192,1.510,1.312,
+1.102,0.170,1.922,2.056,0.687,0.886,1.502,1.535,0.955,0.585,
+0.505,0.682,0.578,0.512,0.499,0.459,0.563,0.076,0.575,0.608,
+0.613,0.520,0.600,0.850,0.968,0.851,0.590,0.653,0.795,0.878,
+0.870,0.722,0.753,0.096,0.931,1.005,0.571,0.757,0.721,0.829,
+0.915,1.053,0.977,1.050,0.099,0.125,0.137,0.145,1.344,0.179,
+2.180,2.183,0.827,1.330,1.787,1.561,1.036,0.647,0.715,1.146,
+1.000,0.945,1.031,1.166,1.199,0.117,1.765,2.073,1.233,1.080,
+1.691,1.806,1.657,1.094,1.063,1.879,1.048,0.716,0.683,0.862,
+0.909,0.094,0.576,0.809,1.271,1.081,0.771,1.238,1.098,0.737,
+0.540,0.676,0.761,0.509,0.513,0.534,0.751,0.074,0.590,0.585,
+0.689,0.738,0.510,0.660,0.766,0.680,0.640,0.771,0.078,0.067,
+0.072,0.108,0.591,0.060,0.595,0.661,0.483,0.617,0.660,0.771,
+0.979,0.538,0.595,0.966,0.795,0.558,0.598,0.774,0.671,0.060,
+0.608,0.740,0.873,0.606,0.777,1.471,1.501,1.008,0.718,1.024,
+0.971,0.729,0.598,0.638,0.650,0.077,0.450,0.615,0.612,0.639,
+0.455,0.773,1.080,0.878,0.502,0.607,0.668,0.457,0.502,0.460,
+0.823,0.109,0.573,0.890,0.580,0.653,0.437,0.659,0.664,0.625,
+0.684,0.593,0.063,0.070,0.065,0.070,0.671,0.067,0.553,0.674,
+0.591,0.606,0.577,0.615,0.555,0.435,0.346,0.480,0.580,0.525,
+0.399,0.508,0.499,0.042,0.438,0.603,0.497,0.416,0.538,0.907,
+1.094,0.611,0.516,0.700,0.909,0.633,0.599,0.693,0.779,0.096,
+0.437,0.572,0.666,0.626,0.550,0.894,0.092,0.086,0.059,0.079,
+0.087,0.081,0.072,0.078,0.083,0.018,0.081,0.087,0.105,0.148,
+0.084,0.126,0.661,0.590,0.662,0.642,0.071,0.067,0.083,0.085,
+0.744,0.097,0.723,0.772,0.561,0.757,0.959,0.842,0.545,0.376,
+0.415,0.667,0.713,0.575,0.591,0.774,0.719,0.076,0.669,0.863,
+0.628,0.621,0.830,1.151,1.202,0.533,0.464,0.989,0.569,0.389,
+0.385,0.565,0.590,0.057,0.365,0.487,0.822,0.561,0.500,0.992,
+0.869,0.651,0.475,0.628,0.603,0.488,0.435,0.495,0.584,0.056,
+0.468,0.587,0.685,0.728,0.552,0.856,0.669,0.569,0.524,0.633,
+0.053,0.050,0.050,0.066,0.560,0.051,0.513,0.627,0.537,0.634,
+0.875,0.846,0.875,0.514,0.487,0.904,0.595,0.470,0.490,0.707,
+0.858,0.079,0.675,1.004,1.118,0.905,1.188,2.045,1.962,1.348,
+1.155,1.690,1.366,1.202,1.067,1.119,1.015,0.132,0.749,1.060,
+1.096,1.073,0.832,1.358,1.613,1.298,1.032,1.132,1.272,1.087,
+1.329,1.124,1.302,0.195,1.397,1.463,0.962,1.066,0.925,1.186,
+0.872,0.883,0.884,0.953,0.102,0.121,0.125,0.159,1.002,0.142,
+1.052,1.655,0.604,0.921,1.071,1.299,0.843,0.533,0.552,0.780,
+0.949,0.840,0.725,0.851,0.654,0.079,0.649,0.906,0.712,0.641,
+0.874,1.534,1.940,1.666,1.067,1.410,1.662,1.697,1.304,1.188,
+1.232,0.204,0.851,1.151,0.809,1.144,0.751,1.217,1.844,2.029,
+1.105,1.230,1.656,1.255,1.452,1.191,2.439,0.535,1.640,2.233,
+0.908,1.829,1.091,1.448,1.106,1.469,1.347,1.207,0.185,0.242,
+0.212,0.197,2.328,0.421,1.922,2.647,1.267,1.932,1.632,1.666,
+0.716,0.606,0.543,0.675,1.061,1.216,0.882,0.963,0.867,0.105,
+0.847,1.077,0.653,0.715,0.957,1.312,1.285,0.906,0.698,0.844,
+1.437,1.521,1.435,1.127,1.216,0.233,0.970,1.004,0.665,0.939,
+0.897,1.173,0.106,0.169,0.101,0.125,0.168,0.272,0.237,0.164,
+0.166,0.084,0.248,0.206,0.098,0.264,0.185,0.175,1.043,1.363,
+1.408,1.168,0.157,0.251,0.284,0.203,1.594,0.346,1.870,2.020,
+0.808,2.008,2.545,1.938,0.735,0.558,0.623,0.733,1.213,1.486,
+1.517,1.435,1.166,0.166,1.556,1.717,0.754,0.960,1.599,1.837,
+1.095,0.740,0.660,1.489,0.685,0.630,0.612,0.972,0.690,0.078,
+0.564,0.684,0.672,0.638,0.709,1.139,1.284,1.204,0.925,1.132,
+1.109,1.268,1.169,1.133,1.062,0.169,1.190,1.411,0.853,1.488,
+1.232,1.425,0.707,0.863,0.934,1.011,0.078,0.137,0.125,0.135,
+0.922,0.134,1.263,1.428,0.692,1.245,2.207,1.636,0.820,0.632,
+0.606,0.821,0.787,0.845,0.730,0.920,0.921,0.091,1.041,1.352,
+0.986,1.082,1.517,2.099,1.938,1.310,1.044,1.442,0.974,1.004,
+0.847,1.122,0.931,0.106,0.844,0.895,0.841,0.773,0.609,1.031,
+1.579,1.463,0.856,1.012,1.342,1.266,1.157,1.173,1.395,0.214,
+2.202,1.559,0.811,1.295,1.025,1.550,1.086,1.377,0.988,1.136,
+0.140,0.199,0.164,0.217,1.323,0.192,1.399,1.478,0.679,1.387,
+1.178,1.282,0.916,0.717,0.547,0.864,1.121,1.026,0.762,0.951,
+1.066,0.136,1.148,1.801,0.960,0.879,1.234,2.116,0.141,0.151,
+0.138,0.122,0.140,0.198,0.128,0.132,0.110,0.027,0.185,0.127,
+0.079,0.131,0.095,0.124,0.158,0.224,0.122,0.109,0.221,0.295,
+0.254,0.177,0.205,0.094,0.504,0.280,0.095,0.231,0.162,0.170,
+0.100,0.208,0.123,0.110,0.033,0.077,0.066,0.035,0.226,0.087,
+0.340,0.282,0.097,0.276,0.227,0.172,0.104,0.101,0.069,0.098,
+0.296,0.252,0.160,0.182,0.138,0.036,0.203,0.253,0.107,0.126,
+0.154,0.216,1.647,1.120,0.912,0.805,1.519,1.696,1.581,1.062,
+1.247,0.288,1.735,1.262,0.776,1.174,1.240,1.197,0.150,0.222,
+0.124,0.096,0.178,0.262,0.201,0.117,0.206,0.105,0.528,0.235,
+0.114,0.287,0.223,0.168,2.012,2.122,2.098,1.326,0.374,0.507,
+0.459,0.241,2.300,0.540,1.693,2.042,0.936,2.080,2.542,1.765,
+0.936,0.761,0.807,0.727,1.514,1.928,1.895,1.330,1.585,0.308,
+2.856,2.262,0.882,1.291,2.009,1.913,1.083,0.768,0.569,0.817,
+0.788,0.732,0.577,0.625,0.736,0.100,0.835,0.869,0.624,0.681,
+0.625,0.961,1.465,1.454,0.962,0.986,1.260,1.541,1.166,0.972,
+1.481,0.230,2.264,1.909,1.004,1.743,1.408,1.389,1.134,1.342,
+1.113,1.089,0.131,0.217,0.177,0.142,1.712,0.252,2.171,2.175,
+1.055,2.196,2.293,1.920,1.005,0.744,0.676,0.861,0.944,1.083,
+0.970,0.942,1.437,0.161,2.133,2.220,1.249,1.439,1.942,2.291,
+1.998,1.002,0.725,1.327,0.860,0.633,0.521,0.699,0.777,0.080,
+0.545,0.760,0.890,0.712,0.613,1.198,1.065,0.745,0.439,0.588,
+0.740,0.546,0.492,0.544,0.750,0.076,0.618,0.723,0.504,0.541,
+0.459,0.740,0.802,0.721,0.518,0.785,0.079,0.080,0.061,0.112,
+0.661,0.073,0.594,0.837,0.511,0.686,0.611,0.877,1.108,0.589,
+0.500,0.955,0.770,0.526,0.471,0.748,0.766,0.066,0.607,1.098,
+0.898,0.683,0.872,1.928,1.566,1.138,0.864,1.127,1.052,1.012,
+0.823,0.840,0.818,0.098,0.791,0.928,0.700,0.802,0.670,1.088,
+1.224,1.100,0.668,0.783,1.114,0.993,1.012,0.846,1.090,0.152,
+1.263,1.351,0.645,0.958,0.710,1.004,0.804,1.004,0.639,0.867,
+0.085,0.113,0.088,0.107,1.030,0.130,1.065,1.347,0.711,1.229,
+1.024,1.283,0.859,0.679,0.510,0.810,1.027,0.866,0.700,0.919,
+0.898,0.089,0.852,1.416,0.798,0.765,0.938,1.565,1.567,1.051,
+0.759,0.968,1.347,1.219,1.086,1.174,1.232,0.187,1.067,1.262,
+0.926,1.109,1.070,1.649,0.117,0.133,0.082,0.100,0.124,0.153,
+0.121,0.115,0.122,0.036,0.178,0.160,0.104,0.181,0.135,0.174,
+1.320,1.577,1.307,1.342,0.141,0.186,0.193,0.182,1.898,0.298,
+1.950,2.411,1.052,1.948,2.286,2.751,1.072,0.881,0.805,1.016,
+1.343,1.338,1.469,1.542,1.633,0.186,2.018,2.559,1.090,1.280,
+1.811,2.536,2.041,1.025,0.755,1.296,0.890,0.720,0.662,0.782,
+1.001,0.105,0.759,1.055,1.280,0.974,1.005,1.959,1.537,1.164,
+0.817,1.060,1.192,1.193,0.870,0.950,1.378,0.129,1.279,1.581,
+1.154,1.287,1.193,1.646,1.355,1.323,1.128,1.507,0.111,0.127,
+0.106,0.149,1.771,0.172,1.934,2.499,1.376,1.914,2.244,2.835,
+2.062,1.033,1.001,1.967,1.329,1.187,1.107,1.603,1.911,0.141,
+2.049,3.053,2.149,1.603,2.141,3.271,2.911,1.635,1.458,3.423,
+1.646,1.041,0.980,1.377,1.872,0.177,0.922,1.581,2.843,2.010,
+1.329,2.630,1.780,1.048,0.778,1.084,1.106,0.647,0.622,0.672,
+1.141,0.088,0.671,0.858,0.945,0.893,0.726,1.112,1.285,0.854,
+0.819,1.325,0.100,0.077,0.080,0.153,0.863,0.071,0.513,0.748,
+0.831,0.879,0.766,1.097,2.141,0.895,0.938,2.155,1.410,0.860,
+0.996,1.533,1.121,0.086,0.758,1.196,1.586,1.010,1.160,2.231,
+2.038,1.093,0.774,1.299,1.055,0.741,0.580,0.770,1.032,0.094,
+0.511,0.757,0.847,0.813,0.591,1.015,1.238,0.796,0.518,0.696,
+0.725,0.437,0.432,0.451,0.835,0.080,0.497,0.659,0.554,0.577,
+0.476,0.630,0.950,0.784,0.631,0.822,0.077,0.063,0.057,0.082,
+0.807,0.070,0.537,0.747,0.557,0.663,0.546,0.722,0.969,0.619,
+0.497,0.891,0.967,0.632,0.624,0.844,0.773,0.059,0.504,0.760,
+0.721,0.600,0.630,1.198,1.321,0.717,0.575,0.910,0.891,0.644,
+0.580,0.741,1.041,0.143,0.516,0.802,0.897,0.780,0.695,1.290,
+0.103,0.087,0.056,0.094,0.075,0.078,0.058,0.069,0.092,0.016,
+0.070,0.089,0.108,0.135,0.088,0.140,0.672,0.543,0.512,0.613,
+0.056,0.047,0.048,0.067,0.620,0.061,0.490,0.580,0.474,0.565,
+0.622,0.659,0.607,0.472,0.420,0.577,0.691,0.633,0.566,0.626,
+0.798,0.076,0.657,0.846,0.695,0.660,0.786,1.275,1.974,0.838,
+0.712,1.486,0.806,0.522,0.481,0.674,1.401,0.107,0.529,0.796,
+1.331,0.872,0.823,1.794,1.229,0.843,0.648,0.986,0.772,0.604,
+0.502,0.605,0.822,0.065,0.563,0.859,0.885,0.800,0.651,1.121,
+0.814,0.676,0.632,0.861,0.062,0.053,0.053,0.078,0.784,0.056,
+0.585,0.746,0.719,0.733,0.736,1.007,1.402,0.742,0.717,1.428,
+0.742,0.571,0.584,0.914,1.136,0.074,0.829,1.385,1.769,1.248,
+1.383,3.623,2.442,1.364,0.989,1.898,1.320,0.886,0.790,0.978,
+1.040,0.098,0.561,1.022,1.230,1.040,0.724,1.428,1.377,0.952,
+0.633,0.943,0.856,0.613,0.647,0.612,0.740,0.070,0.548,0.707,
+0.588,0.724,0.522,0.812,0.718,0.688,0.567,0.745,0.067,0.073,
+0.058,0.089,0.582,0.055,0.407,0.543,0.519,0.641,0.526,0.723,
+0.846,0.499,0.496,0.931,0.765,0.601,0.528,0.710,0.592,0.054,
+0.462,0.669,0.751,0.557,0.664,1.333,1.501,1.064,0.556,1.070,
+0.890,0.770,0.539,0.713,0.681,0.072,0.418,0.786,0.581,0.660,
+0.409,0.984,0.906,0.733,0.418,0.564,0.617,0.314,0.386,0.425,
+0.606,0.063,0.430,0.652,0.411,0.499,0.352,0.553,0.842,0.797,
+0.556,0.718,0.087,0.083,0.062,0.084,0.635,0.088,0.457,0.671,
+0.520,0.902,0.588,0.704,0.665,0.465,0.394,0.758,0.704,0.571,
+0.467,0.600,0.593,0.050,0.397,0.629,0.516,0.540,0.507,0.992,
+0.960,0.619,0.425,0.711,0.727,0.557,0.504,0.583,0.783,0.086,
+0.444,0.675,0.555,0.549,0.482,0.817,0.058,0.068,0.042,0.065,
+0.054,0.073,0.054,0.059,0.057,0.015,0.057,0.068,0.047,0.083,
+0.056,0.076,0.643,0.716,0.517,0.613,0.054,0.080,0.049,0.060,
+0.560,0.071,0.444,0.553,0.421,0.779,0.609,0.612,0.635,0.511,
+0.476,0.612,0.581,0.642,0.528,0.717,0.632,0.057,0.544,0.799,
+0.476,0.499,0.653,0.989,0.898,0.580,0.413,0.716,0.525,0.368,
+0.367,0.449,0.507,0.043,0.312,0.452,0.576,0.422,0.407,0.847,
+0.713,0.620,0.433,0.639,0.538,0.544,0.425,0.497,0.436,0.044,
+0.400,0.544,0.436,0.537,0.442,0.715,0.532,0.522,0.467,0.617,
+0.038,0.047,0.034,0.050,0.511,0.045,0.433,0.586,0.495,0.564,
+0.637,0.758,0.709,0.484,0.430,0.745,0.494,0.441,0.364,0.590,
+0.697,0.050,0.564,0.933,0.912,0.774,0.910,1.661,2.484,1.204,
+0.791,1.442,0.845,0.668,0.530,0.668,0.832,0.086,0.523,0.713,
+0.895,0.863,0.503,0.984,1.454,1.000,0.659,1.023,0.820,0.644,
+1.116,0.914,0.856,0.098,0.723,0.820,0.778,0.945,0.591,0.914,
+0.841,0.859,0.740,0.909,0.085,0.102,0.083,0.142,0.568,0.068,
+0.439,0.539,0.514,0.750,0.535,0.737,1.048,0.627,0.597,1.169,
+0.789,0.678,0.591,0.886,0.768,0.073,0.559,0.873,0.931,0.726,
+0.796,1.873,0.156,0.113,0.063,0.103,0.092,0.099,0.058,0.074,
+0.078,0.015,0.055,0.072,0.076,0.101,0.059,0.104,0.120,0.105,
+0.054,0.073,0.093,0.085,0.077,0.067,0.085,0.019,0.076,0.083,
+0.072,0.097,0.055,0.086,0.081,0.103,0.065,0.085,0.011,0.023,
+0.016,0.013,0.076,0.017,0.097,0.096,0.063,0.107,0.071,0.092,
+0.145,0.095,0.074,0.147,0.160,0.164,0.118,0.157,0.097,0.014,
+0.081,0.126,0.113,0.124,0.098,0.203,1.161,0.634,0.501,0.610,
+0.704,0.610,0.528,0.540,0.947,0.173,0.690,0.784,0.721,0.820,
+0.620,0.965,0.085,0.085,0.049,0.062,0.055,0.076,0.064,0.049,
+0.104,0.041,0.083,0.082,0.085,0.137,0.068,0.086,0.712,0.775,
+0.639,0.636,0.072,0.089,0.094,0.071,0.747,0.105,0.468,0.614,
+0.479,0.701,0.666,0.684,0.623,0.460,0.530,0.649,0.740,0.817,
+0.656,0.726,0.949,0.112,0.891,1.012,0.656,0.691,0.824,1.115,
+1.446,0.561,0.390,0.733,0.608,0.428,0.291,0.384,0.686,0.079,
+0.392,0.685,0.792,0.764,0.409,0.931,1.149,0.783,0.522,0.788,
+0.675,0.736,0.500,0.516,0.858,0.100,0.618,0.830,0.827,0.985,
+0.577,0.917,0.841,1.035,0.575,0.758,0.089,0.232,0.059,0.075,
+0.802,0.096,0.593,0.784,0.695,0.987,0.784,0.989,0.972,0.618,
+0.574,0.867,0.773,0.900,0.503,0.709,1.002,0.093,0.888,1.286,
+1.195,1.065,1.146,1.983,2.704,1.296,1.034,1.970,0.872,0.584,
+0.536,0.606,0.925,0.078,0.491,0.765,1.314,0.878,0.887,1.640,
+1.065,0.596,0.461,0.840,0.614,0.354,0.489,0.544,0.701,0.052,
+0.450,0.664,0.677,0.538,0.583,0.917,0.874,0.629,0.590,1.004,
+0.070,0.057,0.052,0.107,0.630,0.050,0.399,0.624,0.649,0.592,
+0.481,0.888,1.390,0.687,0.783,1.969,0.854,0.550,0.658,1.021,
+0.821,0.062,0.620,1.020,1.274,0.846,1.002,2.325,1.646,1.020,
+0.699,1.150,0.927,0.714,0.506,0.673,0.779,0.076,0.483,0.734,
+0.770,0.761,0.585,1.107,1.053,0.692,0.412,0.631,0.707,0.497,
+0.405,0.505,0.659,0.061,0.474,0.708,0.590,0.590,0.416,0.699,
+0.800,0.740,0.493,0.833,0.059,0.063,0.045,0.080,0.708,0.065,
+0.522,0.781,0.652,0.767,0.535,0.880,1.129,0.623,0.577,1.150,
+1.012,0.739,0.803,1.115,0.775,0.066,0.616,0.988,0.909,1.058,
+0.808,1.532,1.181,0.588,0.534,0.818,0.778,0.529,0.503,0.680,
+0.865,0.114,0.600,0.791,0.753,0.690,0.722,1.212,0.072,0.061,
+0.039,0.077,0.050,0.057,0.044,0.053,0.076,0.010,0.070,0.074,
+0.074,0.090,0.062,0.099,0.636,0.592,0.481,0.814,0.046,0.046,
+0.041,0.074,0.649,0.063,0.496,0.761,0.561,0.671,0.604,0.850,
+0.705,0.504,0.512,1.094,0.755,0.664,0.597,0.892,1.016,0.093,
+0.817,1.301,0.810,0.779,0.921,1.472,1.886,0.822,0.689,1.441,
+0.813,0.540,0.455,0.672,0.959,0.094,0.524,0.945,1.360,0.936,
+0.845,2.225,1.020,0.693,0.494,0.926,0.609,0.483,0.442,0.577,
+0.777,0.059,0.547,0.934,0.917,0.921,0.615,1.270,1.164,1.025,
+0.756,1.296,0.081,0.103,0.049,0.103,1.058,0.079,0.705,1.153,
+1.139,1.244,1.025,1.555,1.839,0.901,0.963,2.110,1.221,1.029,
+0.865,1.485,1.721,0.101,1.374,2.508,2.799,1.911,2.161,4.164,
+3.217,1.980,1.780,2.888,1.999,1.319,1.248,1.508,1.757,0.199,
+1.131,1.708,2.239,2.011,1.478,2.395,2.103,1.454,1.107,1.359,
+1.603,1.040,1.125,1.037,1.451,0.161,1.250,1.335,1.036,1.307,
+1.157,1.508,1.244,1.016,0.950,1.191,0.127,0.104,0.117,0.177,
+0.918,0.103,0.754,0.909,0.835,1.091,1.091,1.271,1.737,1.016,
+0.832,1.660,1.519,1.038,0.936,1.390,1.230,0.114,0.945,1.313,
+1.478,1.144,1.470,2.430,2.617,1.852,1.192,1.642,1.628,1.344,
+1.124,1.139,1.514,0.223,1.053,1.420,1.168,1.515,1.089,1.730,
+1.784,1.506,1.023,1.134,1.295,0.964,1.044,0.981,2.074,0.336,
+1.525,1.859,0.879,1.415,1.184,1.298,1.296,1.428,1.091,1.133,
+0.167,0.166,0.170,0.168,1.440,0.212,1.363,1.550,0.853,1.550,
+1.450,1.251,1.059,1.115,0.576,0.888,1.279,1.046,0.849,1.105,
+1.210,0.119,0.993,1.301,0.947,0.960,1.199,1.731,1.420,0.826,
+0.691,0.947,1.076,0.843,0.959,0.935,1.175,0.164,0.879,1.011,
+0.889,0.936,0.925,1.460,0.109,0.109,0.080,0.103,0.117,0.137,
+0.122,0.116,0.128,0.031,0.135,0.147,0.095,0.181,0.155,0.170,
+0.901,0.803,0.880,0.782,0.103,0.100,0.125,0.122,0.970,0.137,
+0.959,1.006,0.674,0.998,1.662,1.199,0.714,0.521,0.506,0.621,
+0.966,0.881,0.894,0.934,1.155,0.130,1.116,1.287,0.881,0.972,
+1.459,1.699,1.641,0.818,0.677,1.150,0.819,0.568,0.484,0.620,
+0.944,0.118,0.593,0.770,0.987,0.796,0.680,1.450,1.397,1.053,
+0.823,1.122,1.069,0.963,0.801,0.946,0.900,0.106,0.828,1.107,
+0.775,1.020,0.863,1.279,0.710,0.653,0.679,0.866,0.070,0.066,
+0.075,0.099,0.739,0.082,0.646,0.851,0.633,0.862,0.987,1.202,
+1.071,0.672,0.600,1.183,0.770,0.791,0.652,0.864,1.176,0.099,
+0.970,1.486,1.478,1.297,1.649,2.896,2.700,1.836,1.416,2.004,
+1.860,1.585,1.358,1.345,1.329,0.164,0.906,1.303,1.303,1.493,
+1.059,1.768,2.030,1.734,1.170,1.286,1.701,1.431,1.563,1.188,
+1.312,0.235,1.288,1.393,0.954,2.071,1.069,1.316,1.074,1.024,
+0.915,1.035,0.142,0.151,0.143,0.179,0.825,0.118,0.776,0.837,
+0.590,0.926,1.032,1.135,1.080,0.594,0.570,1.175,1.116,1.010,
+0.810,1.040,0.893,0.092,0.760,0.950,0.970,0.777,1.111,1.770,
+2.275,2.106,1.067,1.457,1.830,2.133,1.301,1.187,1.301,0.203,
+1.077,1.760,0.947,1.327,0.881,2.371,1.817,1.930,1.196,1.146,
+1.379,0.701,1.177,1.030,1.382,0.263,1.399,1.664,0.706,1.366,
+1.042,1.142,2.143,1.752,1.259,1.454,0.443,0.300,0.285,0.372,
+1.455,0.292,1.326,1.658,0.819,1.897,1.944,1.588,1.126,0.781,
+0.591,0.962,1.770,1.495,1.066,1.304,1.153,0.130,1.040,1.318,
+0.787,0.943,1.341,1.639,1.334,0.961,0.775,0.856,1.330,1.365,
+1.167,0.945,1.415,0.204,0.934,1.017,0.867,1.071,0.974,1.297,
+0.113,0.185,0.122,0.106,0.146,0.262,0.204,0.127,0.134,0.071,
+0.186,0.176,0.079,0.238,0.152,0.141,1.653,1.602,1.191,1.112,
+0.225,0.305,0.242,0.199,1.412,0.256,1.290,1.421,0.924,1.713,
+1.996,1.492,1.277,0.719,0.632,0.789,1.308,1.666,1.435,1.389,
+1.293,0.172,1.395,1.668,0.943,1.085,1.745,1.865,1.036,0.684,
+0.582,0.795,0.754,0.587,0.490,0.533,0.697,0.073,0.554,0.607,
+0.692,0.609,0.581,0.989,1.079,1.178,0.816,0.908,0.963,1.245,
+0.978,0.953,0.771,0.131,0.896,0.996,0.565,1.079,0.890,1.024,
+0.703,0.803,0.741,0.815,0.072,0.099,0.082,0.102,0.762,0.098,
+0.846,0.976,0.625,0.984,1.470,1.263,0.840,0.544,0.498,0.849,
+0.694,0.749,0.585,0.863,0.933,0.080,0.936,1.283,1.010,1.055,
+1.361,1.904,1.859,1.602,1.051,1.517,1.022,1.003,0.846,0.900,
+0.979,0.135,1.192,0.965,0.970,1.103,0.766,1.087,1.823,1.777,
+1.065,1.216,1.473,1.547,1.375,1.199,1.546,0.291,2.106,1.754,
+0.928,1.987,1.069,1.302,0.959,1.368,1.045,1.216,0.132,0.200,
+0.190,0.275,0.965,0.183,1.452,1.318,0.611,1.250,1.437,1.130,
+0.981,0.737,0.567,1.146,0.980,1.006,0.863,1.199,1.002,0.133,
+1.108,1.391,1.007,0.957,1.299,2.252,0.118,0.153,0.073,0.102,
+0.134,0.208,0.126,0.113,0.102,0.032,0.113,0.119,0.094,0.148,
+0.090,0.144,0.159,0.226,0.113,0.111,0.222,0.301,0.226,0.166,
+0.188,0.098,0.271,0.249,0.092,0.242,0.138,0.142,0.097,0.185,
+0.125,0.119,0.033,0.083,0.088,0.049,0.170,0.091,0.598,0.406,
+0.084,0.236,0.221,0.166,0.111,0.108,0.068,0.124,0.198,0.273,
+0.196,0.248,0.151,0.039,0.215,0.234,0.115,0.139,0.171,0.234,
+1.325,1.091,0.795,0.809,1.109,1.443,1.233,0.999,1.364,0.287,
+1.504,1.412,0.880,1.370,1.159,1.434,0.120,0.203,0.111,0.097,
+0.140,0.280,0.231,0.133,0.193,0.086,0.346,0.246,0.111,0.279,
+0.185,0.163,1.073,1.723,1.337,1.034,0.175,0.338,0.346,0.209,
+1.634,0.383,1.351,1.564,0.806,1.880,1.733,1.457,0.837,0.784,
+0.736,0.808,1.361,2.061,1.733,1.508,2.099,0.382,2.462,2.312,
+1.082,1.513,1.943,2.159,1.121,0.780,0.566,0.923,0.712,0.631,
+0.487,0.544,0.821,0.112,0.648,0.893,0.977,0.929,0.574,1.175,
+1.456,1.474,0.955,1.126,1.333,1.730,1.245,1.180,1.459,0.255,
+1.714,2.183,1.082,1.893,1.243,1.631,1.005,1.411,1.061,1.053,
+0.109,0.199,0.148,0.135,1.424,0.240,1.474,1.707,1.025,1.954,
+1.498,1.612,1.021,0.782,0.663,1.052,1.028,1.124,0.851,1.030,
+1.514,0.181,1.849,2.313,1.527,1.700,1.972,2.678,2.335,1.221,
+0.976,1.683,1.128,0.724,0.670,1.039,1.159,0.102,0.730,1.035,
+1.230,0.964,1.406,1.643,1.167,0.806,0.598,0.912,0.838,0.611,
+0.623,0.798,0.860,0.086,0.832,0.974,0.733,0.786,0.972,1.134,
+0.913,0.813,0.653,1.019,0.078,0.072,0.066,0.139,0.732,0.079,
+0.692,0.896,0.687,0.771,0.789,1.120,1.092,0.620,0.669,1.412,
+0.894,0.605,0.627,1.220,0.993,0.082,0.818,1.367,1.293,0.879,
+1.187,2.661,2.063,1.537,1.018,1.584,1.530,1.379,1.144,1.254,
+1.224,0.158,1.019,1.364,1.136,1.323,0.972,1.611,1.557,1.276,
+0.842,1.124,1.476,1.304,1.150,1.314,1.289,0.177,1.404,1.804,
+0.953,1.282,1.166,1.474,1.037,1.366,0.931,1.203,0.119,0.185,
+0.143,0.197,1.315,0.197,1.724,2.018,1.027,1.727,1.349,1.659,
+1.183,0.873,0.763,1.337,1.645,1.453,1.395,2.206,1.300,0.146,
+1.574,2.048,1.225,1.340,1.551,2.384,1.204,0.727,0.657,0.884,
+1.030,0.894,0.893,1.014,1.157,0.180,1.316,1.389,0.888,0.992,
+1.142,1.701,0.087,0.095,0.065,0.088,0.092,0.152,0.113,0.107,
+0.098,0.028,0.254,0.161,0.086,0.152,0.138,0.149,0.843,1.029,
+0.842,0.998,0.088,0.121,0.118,0.155,1.155,0.194,1.304,1.500,
+0.770,1.418,1.466,1.545,0.824,0.687,0.717,0.911,1.092,1.129,
+1.201,1.530,2.127,0.216,1.913,2.830,1.194,1.309,2.003,2.445,
+1.506,0.839,0.734,1.228,0.867,0.683,0.558,0.732,0.966,0.119,
+0.699,1.053,1.018,0.805,0.797,1.746,1.222,0.917,0.691,1.103,
+0.942,0.904,0.808,0.965,0.887,0.094,1.029,1.308,0.912,1.060,
+0.896,1.671,1.025,1.018,0.897,1.323,0.082,0.096,0.081,0.132,
+1.254,0.129,1.184,1.616,1.152,1.487,1.582,1.959,1.484,0.856,
+0.986,1.812,1.153,1.129,1.109,1.547,1.737,0.140,1.899,2.904,
+2.316,2.062,2.695,3.600,3.998,1.679,1.423,2.392,1.697,1.148,
+1.020,1.381,1.383,0.169,0.856,1.714,1.675,1.489,1.072,1.748,
+1.493,1.063,0.671,0.987,1.197,0.849,0.775,0.884,1.223,0.248,
+0.836,0.890,0.863,1.320,0.788,1.038,1.263,0.909,0.784,1.122,
+0.100,0.080,0.084,0.152,0.755,0.080,0.649,1.057,0.639,0.826,
+0.878,1.064,1.716,0.708,0.590,1.166,0.972,0.653,0.656,0.944,
+0.782,0.072,0.591,0.980,0.963,0.590,0.903,1.760,2.530,1.632,
+1.053,1.607,1.952,1.495,1.247,1.182,1.103,0.151,0.824,1.122,
+1.027,1.183,0.799,1.236,1.848,1.695,0.910,1.045,1.498,0.962,
+1.128,1.019,1.319,0.196,1.177,1.456,0.864,1.327,0.789,1.005,
+1.466,1.465,1.190,1.336,0.162,0.181,0.174,0.213,1.486,0.210,
+1.428,2.652,0.958,1.503,1.627,1.616,1.313,0.797,0.568,0.956,
+1.384,1.213,1.020,1.328,1.043,0.110,0.927,1.494,0.909,0.866,
+1.138,2.207,1.405,0.857,0.748,1.048,1.537,1.199,1.221,1.328,
+1.488,0.207,1.059,1.149,1.033,1.130,0.936,1.387,0.134,0.162,
+0.101,0.131,0.176,0.179,0.198,0.177,0.168,0.040,0.306,0.212,
+0.150,0.277,0.176,0.211,1.035,1.187,1.105,1.086,0.132,0.140,
+0.231,0.198,1.200,0.191,1.094,1.263,0.704,1.354,1.374,1.214,
+0.826,0.614,0.655,0.949,1.325,1.195,1.990,1.580,1.434,0.166,
+1.188,1.782,1.003,0.979,1.290,1.750,1.478,0.746,0.597,1.076,
+0.888,0.649,0.577,0.706,0.865,0.092,0.549,0.714,1.045,0.796,
+0.685,1.319,1.291,0.999,0.753,1.082,1.113,0.868,0.838,0.927,
+0.904,0.101,1.041,1.082,0.883,0.974,0.853,1.231,1.020,1.051,
+0.950,1.156,0.104,0.103,0.117,0.154,1.109,0.119,0.983,1.344,
+0.973,1.561,1.574,1.695,1.361,0.838,0.765,1.380,0.961,0.762,
+0.920,1.264,1.616,0.132,1.250,2.000,2.014,1.590,1.940,3.360,
+0.201,0.131,0.088,0.142,0.136,0.132,0.111,0.124,0.110,0.022,
+0.108,0.372,0.100,0.146,0.091,0.162,0.145,0.148,0.100,0.107,
+0.153,0.155,0.151,0.130,0.117,0.028,0.142,0.144,0.100,0.134,
+0.106,0.127,0.081,0.092,0.080,0.093,0.013,0.020,0.019,0.020,
+0.076,0.015,0.091,0.203,0.055,0.090,0.116,0.127,0.101,0.058,
+0.050,0.097,0.114,0.109,0.084,0.119,0.082,0.014,0.076,0.200,
+0.082,0.073,0.100,0.192,0.170,0.179,0.089,0.110,0.178,0.220,
+0.176,0.119,0.107,0.029,0.093,0.124,0.072,0.114,0.083,0.117,
+0.212,0.388,0.133,0.126,0.242,0.224,0.239,0.176,0.188,0.067,
+0.215,0.228,0.100,0.183,0.132,0.152,0.138,0.199,0.143,0.137,
+0.040,0.082,0.078,0.049,0.229,0.093,0.260,0.498,0.115,0.232,
+0.424,0.231,0.105,0.084,0.060,0.090,0.174,0.199,0.160,0.165,
+0.126,0.025,0.130,0.188,0.081,0.092,0.144,0.206,0.102,0.080,
+0.054,0.068,0.142,0.166,0.155,0.120,0.117,0.030,0.110,0.114,
+0.064,0.097,0.081,0.111,0.014,0.036,0.019,0.022,0.035,0.067,
+0.059,0.037,0.034,0.031,0.069,0.051,0.012,0.034,0.031,0.024,
+0.121,0.181,0.161,0.144,0.029,0.063,0.083,0.041,0.203,0.083,
+0.225,0.241,0.079,0.229,0.254,0.182,0.086,0.067,0.070,0.113,
+0.163,0.223,0.252,0.226,0.178,0.052,0.213,0.404,0.087,0.128,
+0.168,0.215,0.110,0.095,0.066,0.100,0.090,0.086,0.072,0.073,
+0.076,0.012,0.062,0.075,0.079,0.086,0.078,0.126,0.144,0.171,
+0.121,0.281,0.163,0.206,0.167,0.171,0.125,0.026,0.189,0.167,
+0.105,0.171,0.143,0.178,0.088,0.107,0.110,0.133,0.015,0.027,
+0.028,0.027,0.126,0.028,0.144,0.189,0.085,0.163,0.244,0.190,
+0.112,0.088,0.071,0.124,0.106,0.107,0.102,0.122,0.140,0.018,
+0.143,0.211,0.136,0.143,0.188,0.289,2.111,1.501,1.046,1.642,
+1.197,1.096,0.871,1.055,1.022,0.121,0.907,1.079,0.762,0.742,
+0.666,1.003,1.787,1.597,0.970,1.062,1.616,1.517,1.456,1.224,
+1.488,0.252,2.563,1.778,0.744,1.264,0.993,1.185,1.055,1.272,
+1.006,1.219,0.178,0.246,0.224,0.299,1.254,0.202,1.502,1.724,
+0.687,1.308,1.111,1.263,1.001,0.695,0.555,0.962,1.191,1.055,
+0.918,1.258,1.197,0.152,1.398,2.061,0.917,0.896,1.224,2.097,
+0.157,0.161,0.078,0.109,0.164,0.222,0.162,0.149,0.097,0.032,
+0.110,0.127,0.065,0.106,0.069,0.103,0.157,0.230,0.107,0.096,
+0.213,0.248,0.216,0.158,0.135,0.064,0.247,0.200,0.065,0.134,
+0.098,0.102,0.103,0.225,0.134,0.129,0.036,0.093,0.097,0.053,
+0.185,0.092,0.313,0.519,0.075,0.201,0.200,0.178,0.128,0.105,
+0.069,0.129,0.207,0.290,0.197,0.251,0.162,0.037,0.208,0.492,
+0.093,0.119,0.141,0.250,2.078,1.409,0.933,0.855,1.514,1.991,
+1.690,1.205,1.454,0.305,2.086,1.589,0.783,1.094,1.242,1.423,
+0.188,0.377,0.185,0.113,0.228,0.501,0.347,0.166,0.217,0.106,
+0.468,0.289,0.104,0.240,0.201,0.166,1.386,1.926,1.742,1.317,
+0.252,0.315,0.462,0.250,1.602,0.329,0.673,1.216,0.778,1.379,
+1.756,1.443,0.896,0.726,0.687,0.752,1.403,1.695,1.720,1.448,
+1.494,0.249,2.663,2.365,0.833,1.118,1.818,1.874,1.210,0.810,
+0.656,0.890,0.866,0.865,0.585,0.587,0.796,0.111,0.867,0.893,
+0.681,0.691,0.618,1.002,1.451,1.732,1.406,1.014,1.564,2.253,
+1.624,1.150,1.350,0.241,2.320,1.857,0.893,1.385,1.225,1.271,
+1.141,1.475,1.206,1.221,0.157,0.279,0.218,0.200,1.817,0.288,
+2.324,2.603,0.981,1.908,2.048,1.977,1.056,0.797,0.680,0.979,
+1.166,1.287,1.031,1.127,1.579,0.178,2.339,2.161,1.334,1.517,
+1.985,2.406,2.136,1.051,0.799,1.420,1.078,0.738,0.676,0.829,
+0.868,0.097,0.579,0.822,0.968,0.838,0.725,1.240,1.224,0.856,
+0.525,0.737,0.903,0.720,0.619,0.708,0.727,0.077,0.748,0.827,
+0.587,0.624,0.567,0.855,1.328,0.811,0.579,0.877,0.107,0.089,
+0.076,0.137,0.961,0.092,0.793,1.109,0.976,0.847,0.788,1.163,
+1.055,0.594,0.505,1.026,0.894,0.627,0.619,0.932,0.883,0.085,
+0.689,1.151,1.014,0.762,0.982,1.956,2.212,1.627,0.985,1.494,
+1.662,1.471,1.423,1.264,1.181,0.150,1.066,1.256,0.979,1.234,
+0.854,1.428,1.693,1.594,0.840,1.052,1.686,1.487,1.422,1.318,
+1.127,0.153,1.329,1.619,0.750,1.011,0.838,1.146,1.305,1.792,
+1.110,1.366,0.143,0.226,0.180,0.227,1.791,0.260,1.857,2.867,
+1.065,1.881,1.750,2.101,1.339,0.988,0.776,1.290,1.733,1.645,
+1.590,2.035,1.589,0.258,1.534,2.666,1.108,1.408,1.429,2.250,
+1.686,0.998,0.779,1.012,1.383,1.284,1.301,1.212,1.220,0.178,
+1.266,1.412,0.901,1.036,1.081,1.669,0.131,0.146,0.085,0.105,
+0.139,0.228,0.191,0.153,0.116,0.037,0.211,0.224,0.092,0.165,
+0.135,0.164,1.369,1.719,1.278,1.505,0.147,0.188,0.194,0.218,
+1.751,0.286,1.739,2.459,1.048,1.897,2.040,2.184,1.125,0.939,
+0.883,1.141,1.828,1.750,1.802,2.162,1.825,0.257,2.512,4.834,
+1.177,1.443,2.205,2.984,1.785,0.915,0.817,1.217,0.969,0.737,
+0.686,0.756,0.976,0.126,0.780,1.037,0.913,0.758,0.792,1.568,
+1.349,1.071,0.771,0.979,1.093,1.156,1.007,1.031,0.946,0.101,
+1.230,1.523,0.833,0.941,0.990,1.395,1.498,1.448,1.173,1.652,
+0.131,0.145,0.120,0.188,1.851,0.197,2.042,2.880,1.423,1.998,
+2.277,2.600,1.774,1.055,0.959,1.806,1.534,1.374,1.302,1.771,
+1.950,0.169,2.224,3.465,2.032,1.782,2.514,3.769,3.895,1.771,
+1.604,3.155,1.576,1.022,0.842,1.322,1.409,0.141,0.682,1.170,
+1.989,1.546,0.962,1.963,1.530,0.911,0.601,0.950,0.951,0.581,
+0.523,0.654,0.887,0.081,0.613,0.687,0.867,0.852,0.604,0.966,
+1.164,0.833,0.728,1.254,0.102,0.076,0.068,0.156,0.843,0.066,
+0.507,0.901,0.775,0.824,0.744,1.141,1.713,0.823,0.746,1.614,
+1.144,0.750,0.657,1.119,0.952,0.080,0.693,1.086,1.396,0.915,
+1.087,2.578,2.051,1.140,0.771,1.393,1.210,0.767,0.593,0.778,
+0.705,0.076,0.390,0.678,0.779,0.704,0.474,1.023,1.254,0.810,
+0.474,0.806,0.789,0.478,0.448,0.535,0.743,0.069,0.438,0.660,
+0.616,0.599,0.461,0.798,0.989,0.783,0.686,0.968,0.075,0.073,
+0.061,0.099,0.775,0.081,0.486,0.846,0.642,0.773,0.692,0.951,
+0.892,0.559,0.421,0.768,0.773,0.595,0.459,0.704,0.653,0.051,
+0.471,0.790,0.673,0.577,0.680,1.432,1.494,0.802,0.620,1.058,
+1.162,0.750,0.655,0.983,1.007,0.118,0.475,0.737,1.107,0.989,
+0.632,1.502,0.133,0.097,0.061,0.119,0.115,0.091,0.078,0.114,
+0.098,0.013,0.078,0.101,0.153,0.174,0.092,0.189,0.806,0.690,
+0.644,0.864,0.077,0.061,0.068,0.104,0.758,0.084,0.482,0.736,
+0.668,0.853,0.783,1.036,0.834,0.581,0.527,0.991,0.999,0.695,
+0.743,1.085,0.862,0.081,0.633,1.114,0.899,0.799,0.863,1.664,
+2.040,1.024,0.650,1.386,0.838,0.531,0.492,0.726,0.939,0.087,
+0.477,0.750,1.410,0.922,0.731,1.729,1.210,0.747,0.535,0.885,
+0.724,0.532,0.469,0.624,0.737,0.057,0.563,0.746,0.928,0.843,
+0.646,1.195,0.941,0.817,0.687,0.914,0.071,0.056,0.058,0.087,
+0.840,0.065,0.549,0.857,0.883,1.050,0.998,1.386,1.558,0.845,
+0.758,1.587,0.999,0.686,0.688,1.069,1.404,0.096,0.959,1.629,
+2.254,1.676,2.029,4.083,2.437,1.378,1.019,1.923,1.467,1.055,
+0.804,1.063,1.148,0.131,1.120,1.489,1.244,1.095,0.869,1.685,
+1.519,0.998,0.720,1.035,1.130,0.857,0.857,0.911,0.995,0.102,
+1.324,1.042,0.800,0.837,0.758,1.151,0.874,0.733,0.593,0.955,
+0.079,0.081,0.064,0.124,0.724,0.080,0.572,1.083,0.626,0.823,
+0.765,1.252,1.059,0.593,0.496,1.072,0.966,0.764,0.570,0.941,
+0.795,0.083,0.578,1.058,0.983,0.772,0.879,2.042,1.940,1.363,
+0.765,1.259,1.422,1.137,0.783,0.903,0.916,0.098,0.531,0.911,
+0.818,0.866,0.578,1.129,1.506,1.425,0.643,0.873,1.234,0.842,
+0.761,0.862,1.257,0.148,0.806,1.068,0.744,0.929,0.653,1.012,
+1.108,1.094,0.828,1.083,0.124,0.137,0.104,0.137,1.228,0.169,
+0.843,1.490,0.905,1.299,1.269,1.521,0.911,0.641,0.458,0.842,
+1.050,1.005,0.728,0.958,0.852,0.079,0.596,1.004,0.833,0.769,
+0.844,1.619,1.280,0.717,0.547,0.821,1.148,0.911,0.777,0.978,
+0.911,0.126,0.550,0.760,0.771,0.791,0.695,1.301,0.072,0.079,
+0.048,0.092,0.089,0.124,0.086,0.098,0.078,0.022,0.084,0.104,
+0.075,0.122,0.082,0.122,0.995,0.971,0.783,0.984,0.098,0.109,
+0.111,0.128,1.193,0.150,0.804,1.158,0.769,1.252,1.179,1.539,
+0.904,0.614,0.545,1.005,1.163,1.096,1.029,1.388,1.129,0.115,
+0.971,1.687,0.946,0.979,1.289,2.279,1.332,0.798,0.579,1.062,
+0.857,0.619,0.511,0.701,0.793,0.075,0.498,0.708,0.881,0.710,
+0.683,1.355,1.142,0.866,0.651,1.083,0.844,0.835,0.703,0.809,
+0.818,0.087,0.767,0.944,0.790,1.003,0.810,1.261,0.901,0.822,
+0.762,1.036,0.071,0.079,0.082,0.095,0.919,0.091,0.786,1.114,
+0.796,1.130,1.277,1.673,1.189,0.721,0.639,1.165,0.989,0.777,
+0.713,0.782,1.166,0.088,0.950,1.537,1.435,1.295,1.533,2.940,
+2.536,1.675,1.095,1.987,1.316,1.130,0.763,1.162,1.297,0.119,
+0.718,1.087,1.209,0.957,0.726,1.387,1.940,1.627,0.848,1.322,
+1.463,1.233,0.998,1.106,1.384,0.168,1.330,1.420,1.060,1.460,
+0.976,1.652,1.335,1.540,0.925,1.527,0.146,0.183,0.135,0.251,
+1.174,0.141,0.910,1.365,0.826,1.399,1.104,1.612,1.459,1.019,
+0.683,1.459,1.335,1.143,0.851,1.369,1.346,0.141,1.168,1.901,
+1.451,1.207,1.677,3.174,0.164,0.144,0.076,0.129,0.149,0.154,
+0.086,0.120,0.104,0.019,0.077,0.097,0.094,0.115,0.066,0.128,
+0.153,0.162,0.071,0.101,0.202,0.174,0.113,0.121,0.125,0.030,
+0.146,0.157,0.091,0.142,0.090,0.139,0.098,0.151,0.075,0.111,
+0.017,0.039,0.027,0.022,0.126,0.036,0.125,0.184,0.079,0.166,
+0.129,0.161,0.147,0.115,0.069,0.155,0.183,0.205,0.127,0.194,
+0.135,0.022,0.125,0.217,0.133,0.142,0.153,0.284,2.093,1.352,
+0.915,1.184,1.728,1.652,1.352,1.399,1.478,0.256,1.329,1.427,
+1.074,1.317,1.233,1.849,0.141,0.176,0.084,0.102,0.154,0.215,
+0.149,0.133,0.160,0.045,0.217,0.173,0.128,0.220,0.154,0.185,
+1.671,2.067,1.508,1.541,0.201,0.298,0.250,0.220,2.039,0.320,
+1.294,1.868,1.127,2.082,2.009,2.260,1.364,1.082,0.895,1.247,
+1.783,2.070,1.751,1.850,2.011,0.255,2.493,2.810,1.487,1.698,
+2.887,3.310,1.802,1.138,0.806,1.356,1.263,1.016,0.729,0.954,
+1.055,0.124,0.913,1.193,1.120,1.020,0.855,1.747,1.857,1.631,
+1.016,1.333,1.539,1.612,1.117,1.206,1.635,0.190,1.784,1.937,
+1.375,1.867,1.439,2.030,1.683,1.860,1.290,1.729,0.146,0.202,
+0.151,0.177,2.014,0.225,1.906,2.234,1.573,2.545,2.420,2.833,
+1.618,1.077,0.933,1.482,1.393,1.420,1.156,1.409,1.947,0.179,
+2.293,2.290,2.106,2.193,2.840,3.920,4.940,1.803,1.228,2.691,
+1.652,1.004,0.790,1.267,1.345,0.124,0.710,1.161,1.748,1.282,
+1.065,2.252,1.724,1.055,0.594,1.027,1.135,0.796,0.588,0.813,
+0.956,0.086,0.695,1.027,0.874,0.827,0.682,1.309,1.473,1.216,
+0.729,1.528,0.112,0.107,0.071,0.179,1.021,0.099,0.695,1.193,
+0.970,1.142,0.933,1.632,2.281,1.311,0.938,2.248,1.393,0.993,
+0.848,1.588,1.523,0.122,1.120,1.816,2.141,1.562,1.899,4.406,
+2.856,1.674,1.001,1.803,1.817,1.328,0.911,1.240,1.184,0.123,
+0.818,1.193,1.197,1.184,0.842,1.684,2.121,1.507,0.742,1.177,
+2.361,1.452,0.908,1.231,1.163,0.120,0.950,1.394,0.948,1.094,
+0.764,1.438,1.492,1.598,0.936,1.570,0.119,0.139,0.082,0.152,
+1.435,0.153,1.133,1.783,1.199,1.694,1.380,2.116,1.783,1.200,
+0.871,1.715,1.605,1.340,1.039,1.804,1.548,0.136,1.149,1.992,
+1.524,1.496,1.690,3.119,2.556,1.382,1.063,1.554,1.842,1.351,
+1.228,1.665,1.614,0.201,1.117,1.736,1.527,1.466,1.383,2.702,
+0.144,0.128,0.073,0.124,0.149,0.140,0.107,0.133,0.104,0.019,
+0.123,0.154,0.132,0.164,0.121,0.227,1.882,1.821,1.377,2.005,
+0.139,0.150,0.126,0.207,1.996,0.231,1.724,2.318,1.523,2.168,
+2.258,3.280,1.996,1.375,1.224,1.881,2.110,1.820,1.701,2.605,
+2.330,0.214,2.417,3.921,2.078,1.976,3.086,5.272,4.735,1.773,
+1.297,2.679,1.581,1.092,0.923,1.422,1.672,0.152,0.991,1.748,
+2.410,1.735,1.554,3.997,2.300,1.632,0.988,1.723,1.612,1.374,
+1.041,1.430,1.631,0.126,1.319,2.008,1.783,1.772,1.387,2.854,
+2.442,1.985,1.534,2.737,0.142,0.143,0.102,0.221,2.437,0.189,
+2.065,3.257,2.404,2.779,2.977,4.862,4.664,1.646,1.503,3.669,
+2.154,1.656,1.486,2.819,2.830,0.181,2.429,4.752,3.299,2.604,
+3.420,7.955,9.479,3.368,2.544,7.120,4.158,2.168,1.987,3.235,
+4.466,0.381,1.686,3.001,8.950,4.830,3.055,6.097,4.129,2.037,
+1.550,2.346,2.278,1.233,1.192,1.369,2.433,0.156,1.194,1.677,
+2.544,1.847,1.365,2.605,4.007,2.307,1.821,3.224,0.274,0.201,
+0.150,0.372,2.095,0.164,1.049,1.598,2.285,2.102,1.535,2.641,
+7.654,2.821,2.769,6.516,3.993,2.737,2.203,4.340,2.947,0.227,
+1.562,2.667,4.992,2.625,2.748,5.686,4.911,2.082,1.455,2.376,
+2.171,1.247,0.954,1.214,2.110,0.196,0.784,1.330,2.073,1.743,
+0.872,1.842,2.562,1.339,0.838,1.228,1.340,0.758,0.685,0.758,
+1.372,0.109,0.658,0.949,1.105,0.915,0.643,1.052,2.085,1.533,
+0.972,1.478,0.133,0.092,0.073,0.126,1.346,0.107,0.662,1.014,
+1.118,1.241,0.791,1.264,2.007,1.182,0.921,1.873,1.594,1.064,
+0.899,1.346,1.511,0.104,0.763,1.332,1.686,1.252,1.082,2.357,
+3.584,1.433,1.313,2.049,1.906,0.975,0.949,1.297,2.077,0.211,
+0.797,1.471,2.371,1.684,1.238,2.905,0.222,0.137,0.094,0.158,
+0.149,0.102,0.083,0.118,0.146,0.017,0.085,0.140,0.234,0.236,
+0.145,0.293,1.413,1.000,0.874,1.201,0.104,0.068,0.062,0.117,
+1.048,0.090,0.499,0.752,0.913,0.893,0.867,1.143,1.538,0.898,
+0.853,1.553,1.436,0.967,0.863,1.415,1.342,0.113,0.885,1.440,
+1.408,1.179,1.265,2.422,7.964,2.288,1.913,4.134,2.038,1.112,
+1.134,1.575,2.774,0.253,1.134,2.017,4.674,2.622,1.969,5.464,
+3.671,2.032,1.457,2.184,1.998,1.185,1.075,1.443,2.010,0.130,
+1.220,1.955,2.762,2.062,1.635,3.298,1.971,1.463,1.161,1.901,
+0.135,0.099,0.081,0.153,1.425,0.093,0.805,1.294,1.559,1.447,
+1.286,1.998,3.485,1.764,1.760,3.772,1.741,1.214,1.149,2.007,
+2.245,0.139,1.475,2.446,3.684,2.389,2.462,5.262,4.502,2.063,
+1.652,2.997,1.770,1.098,0.953,1.321,1.610,0.145,0.700,1.267,
+2.017,1.548,0.983,2.059,2.026,1.173,0.857,1.248,1.146,0.682,
+0.663,0.810,1.012,0.082,0.572,0.952,0.916,0.822,0.621,1.250,
+1.404,1.201,0.807,1.278,0.107,0.115,0.068,0.151,0.771,0.070,
+0.535,0.775,0.748,0.852,0.639,1.166,1.669,0.811,0.787,1.450,
+1.280,0.958,0.701,1.192,0.982,0.080,0.517,0.911,1.258,0.826,
+0.866,2.045,2.570,1.498,0.809,1.373,1.276,0.892,0.605,0.753,
+1.074,0.101,0.427,0.762,0.990,0.919,0.488,1.047,1.281,0.829,
+0.485,0.713,0.710,0.393,0.422,0.468,0.722,0.063,0.395,0.629,
+0.522,0.550,0.384,0.625,1.028,1.109,0.560,0.811,0.073,0.093,
+0.046,0.068,0.750,0.093,0.423,0.622,0.570,0.851,0.487,0.804,
+0.982,0.659,0.429,0.813,0.800,0.694,0.391,0.630,0.842,0.062,
+0.379,0.672,0.749,0.614,0.486,1.157,1.942,0.948,0.755,1.204,
+1.198,0.755,0.697,0.872,1.056,0.113,0.529,0.997,1.042,0.888,
+0.710,1.479,0.105,0.085,0.057,0.110,0.070,0.074,0.060,0.066,
+0.064,0.013,0.058,0.088,0.080,0.106,0.068,0.117,1.041,0.949,
+1.130,0.963,0.095,0.074,0.059,0.080,0.757,0.075,0.505,0.670,
+0.572,0.728,0.713,0.870,0.832,0.481,0.525,0.834,0.836,0.635,
+0.564,0.791,0.708,0.055,0.604,0.847,0.682,0.568,0.790,1.284,
+2.225,0.908,0.863,1.463,1.044,0.636,0.613,0.764,1.019,0.085,
+0.480,0.901,1.382,0.885,0.665,1.729,1.743,1.017,0.813,1.164,
+0.987,0.747,0.653,0.796,0.788,0.065,0.612,1.129,0.956,0.939,
+0.707,1.379,1.020,0.883,0.769,1.087,0.070,0.059,0.045,0.082,
+0.710,0.056,0.492,0.792,0.682,0.775,0.749,1.204,1.305,0.696,
+0.730,1.279,0.889,0.656,0.569,0.959,1.002,0.068,0.737,1.261,
+1.401,1.094,1.245,2.399,3.065,1.523,1.254,2.320,1.235,0.794,
+0.679,1.007,1.395,0.129,0.616,1.000,1.826,1.251,0.708,1.595,
+1.870,1.122,0.689,1.169,0.980,0.595,0.614,0.717,1.191,0.100,
+0.602,0.921,1.037,1.017,0.595,1.111,1.389,1.224,0.801,1.390,
+0.126,0.145,0.081,0.177,0.863,0.088,0.451,0.749,0.814,1.048,
+0.606,1.201,1.773,0.911,0.855,1.829,1.207,0.910,0.732,1.230,
+1.261,0.110,0.661,1.287,1.574,1.101,1.137,3.323,0.196,0.132,
+0.082,0.147,0.128,0.106,0.071,0.091,0.110,0.016,0.054,0.085,
+0.126,0.134,0.067,0.131,0.128,0.096,0.053,0.082,0.098,0.084,
+0.063,0.074,0.095,0.014,0.058,0.079,0.083,0.097,0.050,0.088,
+0.100,0.110,0.063,0.100,0.012,0.016,0.010,0.014,0.089,0.016,
+0.056,0.085,0.079,0.118,0.061,0.107,0.188,0.112,0.085,0.195,
+0.173,0.156,0.111,0.183,0.136,0.014,0.080,0.150,0.164,0.131,
+0.119,0.299,1.475,0.826,0.583,0.863,0.840,0.661,0.545,0.687,
+1.009,0.121,0.573,0.887,0.835,0.760,0.724,1.139,0.099,0.084,
+0.041,0.064,0.056,0.076,0.045,0.049,0.072,0.014,0.053,0.067,
+0.086,0.096,0.061,0.090,0.819,0.768,0.500,0.676,0.069,0.067,
+0.046,0.064,0.720,0.074,0.377,0.554,0.527,0.646,0.483,0.694,
+0.829,0.518,0.457,0.669,0.762,0.630,0.507,0.712,0.916,0.099,
+0.635,1.031,0.738,0.780,0.674,1.239,1.567,0.680,0.605,1.126,
+0.837,0.500,0.422,0.599,0.926,0.082,0.475,0.840,1.246,0.798,
+0.550,1.359,1.572,0.915,0.623,1.000,0.928,0.825,0.591,0.696,
+0.984,0.079,0.598,0.943,1.064,0.983,0.608,1.093,1.116,0.948,
+0.701,1.167,0.089,0.086,0.055,0.110,0.883,0.073,0.592,0.924,
+0.847,1.006,0.742,1.265,1.347,0.718,0.769,1.182,1.018,0.774,
+0.782,1.026,1.282,0.103,0.910,1.528,1.693,1.363,1.303,2.848,
+5.407,2.147,1.716,4.021,1.625,0.887,0.897,1.331,1.992,0.166,
+0.803,1.493,4.723,2.018,1.313,3.252,1.947,1.028,0.696,1.304,
+0.986,0.508,0.521,0.782,1.244,0.083,0.670,1.114,1.374,0.914,
+0.679,1.406,1.853,1.375,0.954,2.072,0.132,0.105,0.077,0.206,
+1.080,0.088,0.494,1.008,1.148,1.073,0.675,1.566,2.782,1.280,
+1.287,3.647,1.499,0.949,0.973,1.860,1.579,0.117,1.011,1.725,
+2.665,1.627,1.795,4.923,2.854,1.459,0.990,1.983,1.586,0.979,
+0.743,1.086,1.437,0.122,0.639,1.190,1.656,1.344,0.776,1.617,
+1.639,0.924,0.559,1.013,1.053,0.643,0.501,0.758,1.053,0.087,
+0.591,0.983,0.947,0.887,0.488,1.014,1.307,1.001,0.615,1.292,
+0.083,0.067,0.048,0.102,1.046,0.092,0.541,0.980,1.046,1.167,
+0.652,1.299,1.797,0.934,0.775,1.799,1.314,0.922,0.772,1.411,
+1.278,0.088,0.764,1.374,1.574,1.166,1.037,2.610,1.849,0.987,
+0.720,1.316,1.198,0.711,0.658,0.979,1.396,0.138,0.722,1.115,
+1.359,1.091,0.920,1.786,0.117,0.081,0.057,0.103,0.074,0.063,
+0.053,0.070,0.104,0.011,0.070,0.103,0.115,0.117,0.077,0.142,
+1.103,0.955,0.667,1.159,0.080,0.053,0.053,0.091,1.722,0.104,
+0.669,0.822,0.949,0.849,0.893,1.182,1.149,0.755,0.684,1.258,
+1.089,0.735,0.718,1.255,1.379,0.103,0.848,1.464,1.247,1.008,
+1.094,2.157,3.595,1.403,1.214,2.710,1.418,0.878,0.891,1.126,
+1.795,0.145,0.863,1.533,2.787,1.635,1.328,3.664,1.768,0.970,
+0.797,1.336,1.061,0.684,0.686,0.886,1.171,0.084,0.727,1.274,
+1.488,1.210,0.837,1.843,1.877,1.485,1.121,2.054,0.110,0.084,
+0.067,0.135,1.623,0.098,0.876,1.505,1.742,1.669,1.376,2.329,
+3.568,1.590,1.674,3.892,2.053,1.458,1.444,2.406,2.685,0.138,
+1.777,3.243,4.960,2.993,3.119,7.895,4.434,2.405,2.086,3.679,
+2.314,1.372,1.143,1.610,2.183,0.223,0.938,1.565,3.093,2.430,
+1.370,2.564,2.258,1.433,0.914,1.227,1.393,0.834,0.730,0.828,
+1.299,0.096,0.734,1.017,1.139,1.096,0.807,1.315,1.370,1.150,
+0.813,1.292,0.110,0.092,0.068,0.141,0.840,0.076,0.479,0.701,
+0.943,1.042,0.747,1.245,2.102,1.133,0.879,2.000,1.526,1.136,
+0.826,1.439,1.317,0.112,0.697,1.218,1.754,1.254,1.345,2.606,
+2.791,1.585,0.905,1.441,1.587,1.065,0.649,0.824,1.643,0.374,
+0.614,0.901,1.311,1.660,0.639,1.240,1.508,0.982,0.518,0.703,
+0.914,0.569,0.455,0.547,0.937,0.126,0.567,0.824,0.677,0.809,
+0.470,0.786,0.969,1.014,0.517,0.707,0.093,0.072,0.054,0.074,
+0.785,0.088,0.482,0.663,0.660,0.910,0.555,0.809,0.915,0.691,
+0.424,0.782,0.895,0.718,0.531,0.687,0.856,0.077,0.498,0.804,
+0.846,0.862,0.685,1.395,1.507,0.798,0.565,0.947,1.150,0.688,
+0.540,0.747,1.159,0.135,0.448,0.833,1.037,0.871,0.631,1.406,
+0.107,0.089,0.052,0.085,0.104,0.097,0.062,0.082,0.087,0.016,
+0.058,0.088,0.096,0.137,0.074,0.132,0.718,0.615,0.444,0.594,
+0.060,0.052,0.041,0.065,0.539,0.056,0.334,0.496,0.472,0.539,
+0.434,0.627,0.706,0.505,0.376,0.705,0.776,0.672,0.470,0.739,
+0.698,0.072,0.486,0.767,0.692,0.699,0.719,1.262,1.874,0.879,
+0.715,1.460,1.215,0.534,0.443,0.629,1.178,0.125,0.499,0.863,
+1.581,1.004,0.708,1.871,1.370,0.983,0.675,1.053,0.966,0.709,
+0.571,0.734,0.837,0.072,0.574,0.934,0.914,0.946,0.648,1.178,
+0.788,0.627,0.525,0.843,0.062,0.045,0.046,0.076,0.595,0.048,
+0.435,0.618,0.634,0.675,0.594,0.957,1.230,0.727,0.594,1.314,
+0.744,0.572,0.546,0.877,1.102,0.082,0.722,1.244,1.559,1.258,
+1.275,2.671,2.684,1.518,1.124,1.846,1.587,1.068,0.845,1.097,
+1.013,0.106,0.485,0.829,1.328,1.122,0.672,1.398,1.457,1.054,
+0.662,0.870,1.065,0.707,0.756,0.764,0.720,0.079,0.497,0.745,
+0.610,0.729,0.498,0.939,0.783,0.767,0.528,0.764,0.067,0.072,
+0.053,0.090,0.513,0.055,0.385,0.509,0.587,0.658,0.484,0.865,
+0.961,0.563,0.443,0.905,0.826,0.742,0.495,0.763,0.613,0.060,
+0.393,0.635,1.015,0.770,0.703,1.523,1.588,1.125,0.524,0.857,
+1.108,0.961,0.476,0.594,0.713,0.088,0.364,0.567,0.648,0.733,
+0.357,0.740,0.979,0.765,0.372,0.478,0.544,0.183,0.329,0.368,
+0.522,0.080,0.365,0.566,0.383,0.584,0.327,0.514,0.618,0.805,
+0.387,0.527,0.056,0.076,0.042,0.058,0.524,0.082,0.391,0.567,
+0.401,0.768,0.438,0.677,0.588,0.483,0.304,0.507,0.625,0.683,
+0.315,0.491,0.509,0.051,0.331,0.624,0.521,0.560,0.435,1.006,
+1.271,0.772,0.616,0.821,1.072,0.814,0.588,0.721,0.812,0.119,
+0.418,0.777,0.710,0.893,0.503,1.080,0.067,0.084,0.064,0.075,
+0.076,0.106,0.064,0.063,0.068,0.028,0.078,0.075,0.057,0.197,
+0.054,0.080,0.628,0.727,0.473,0.577,0.073,0.119,0.047,0.065,
+0.491,0.061,0.378,0.507,0.384,0.602,0.567,0.636,0.583,0.410,
+0.376,0.598,0.763,0.898,0.540,0.702,0.661,0.060,0.431,0.686,
+0.568,0.541,0.623,1.074,1.249,0.673,0.520,0.903,0.797,0.556,
+0.372,0.546,0.667,0.063,0.348,0.662,0.957,0.653,0.456,1.217,
+0.876,0.707,0.563,0.790,0.699,0.721,0.485,0.598,0.541,0.068,
+0.445,0.808,0.543,0.866,0.450,0.810,0.623,0.659,0.480,0.729,
+0.050,0.054,0.036,0.059,0.445,0.045,0.380,0.538,0.483,0.625,
+0.558,0.848,0.774,0.481,0.407,0.823,0.668,0.551,0.444,0.729,
+0.707,0.054,0.446,0.772,0.924,0.884,0.827,1.756,1.794,1.191,
+0.867,1.468,1.152,0.712,0.490,0.768,0.991,0.100,0.451,0.722,
+1.132,0.971,0.537,1.162,1.278,1.090,0.491,0.785,0.838,0.700,
+0.511,0.621,1.045,0.106,0.606,0.846,0.717,0.918,0.496,0.883,
+0.888,1.033,0.556,0.964,0.088,0.090,0.061,0.139,0.680,0.082,
+0.410,0.704,0.555,0.812,0.467,1.068,1.052,0.647,0.464,1.117,
+0.834,0.683,0.516,0.905,0.855,0.085,0.531,0.952,1.003,0.762,
+0.789,2.037,0.106,0.083,0.044,0.077,0.135,0.098,0.054,0.068,
+0.078,0.016,0.039,0.060,0.076,0.100,0.050,0.093,0.075,0.077,
+0.033,0.048,0.085,0.123,0.059,0.066,0.078,0.020,0.057,0.075,
+0.054,0.084,0.049,0.064,0.059,0.082,0.046,0.062,0.013,0.017,
+0.014,0.012,0.077,0.020,0.059,0.074,0.051,0.092,0.057,0.085,
+0.082,0.064,0.039,0.090,0.109,0.106,0.065,0.101,0.077,0.011,
+0.059,0.095,0.082,0.076,0.077,0.150,1.174,0.913,0.504,0.717,
+0.943,1.452,0.534,0.709,0.974,0.151,0.539,0.784,0.714,0.786,
+0.587,1.098,0.072,0.131,0.041,0.054,0.094,0.444,0.074,0.066,
+0.065,0.022,0.059,0.065,0.059,0.105,0.054,0.077,0.551,0.804,
+0.408,0.551,0.058,0.102,0.047,0.065,0.638,0.092,0.335,0.541,
+0.407,0.672,0.441,0.641,0.566,0.519,0.372,0.520,0.671,0.975,
+0.462,0.640,0.800,0.112,0.701,0.826,0.571,0.692,0.624,1.010,
+1.046,0.651,0.495,0.924,0.761,0.666,0.375,0.526,0.749,0.078,
+0.408,0.821,0.877,0.699,0.463,1.272,1.008,1.038,0.468,0.698,
+0.995,2.266,0.528,0.675,0.811,0.113,0.566,0.856,0.771,1.101,
+0.545,0.935,0.702,0.849,0.697,0.841,0.059,0.090,0.051,0.071,
+0.715,0.077,0.593,0.795,0.655,0.966,0.666,1.067,0.833,0.560,
+0.457,0.809,0.735,0.629,0.469,0.664,0.908,0.078,0.781,1.129,
+1.125,1.091,0.995,1.766,1.901,0.976,0.749,1.676,0.940,0.515,
+0.489,0.998,0.949,0.081,0.422,0.839,1.376,0.847,0.569,1.426,
+1.076,1.117,0.425,0.743,0.594,0.399,0.376,0.629,0.649,0.059,
+0.394,0.710,0.733,0.528,0.399,0.847,0.747,0.696,0.383,0.829,
+0.053,0.045,0.030,0.091,0.509,0.047,0.303,0.596,0.523,0.559,
+0.384,0.839,1.106,0.651,0.517,1.393,0.669,0.461,0.396,0.897,
+0.732,0.054,0.420,0.922,1.143,0.737,0.933,2.199,1.456,0.830,
+0.532,1.026,1.126,0.695,0.577,0.750,0.847,0.093,0.406,0.766,
+0.896,0.915,0.444,1.031,0.910,0.697,0.320,0.557,0.779,0.582,
+0.354,0.559,0.744,0.106,0.407,0.799,0.622,0.767,0.381,0.854,
+0.580,0.622,0.328,0.579,0.050,0.050,0.033,0.062,0.606,0.073,
+0.400,0.706,0.559,0.818,0.418,0.826,0.735,0.520,0.386,0.828,
+0.755,0.605,0.422,0.814,0.701,0.057,0.469,0.853,0.815,0.706,
+0.657,1.475,1.040,0.621,0.459,0.773,0.694,0.595,0.429,0.642,
+0.888,0.100,0.511,0.798,0.779,0.709,0.625,1.260,0.055,0.057,
+0.030,0.054,0.044,0.086,0.044,0.048,0.052,8.63e-3,0.038,0.057,
+0.058,0.073,0.045,0.084,0.568,0.584,0.356,0.679,0.043,0.043,
+0.030,0.077,0.910,0.069,0.384,0.600,0.542,0.617,0.496,0.753,
+0.636,0.521,0.398,0.735,0.658,0.574,0.423,0.833,0.870,0.102,
+0.594,0.969,0.740,0.722,0.773,1.399,1.341,0.770,0.637,1.235,
+0.677,0.481,0.407,0.541,0.899,0.090,0.495,0.893,1.107,0.735,
+0.652,1.703,0.931,0.648,0.419,0.742,0.680,0.649,0.411,0.581,
+0.628,0.048,0.434,0.743,0.806,0.715,0.530,1.108,0.929,0.844,
+0.593,1.054,0.063,0.054,0.038,0.082,0.824,0.063,0.563,0.932,
+0.941,1.036,0.845,1.403,1.529,0.830,0.811,1.707,1.193,0.907,
+0.851,1.279,1.435,0.096,1.099,1.842,2.288,1.671,1.914,3.085,
+4.657,1.797,1.524,3.095,1.980,1.147,0.999,1.432,1.707,0.164,
+0.713,1.161,2.682,1.914,1.038,2.152,1.568,0.837,0.550,0.937,
+0.992,0.579,0.588,0.704,0.925,0.127,0.509,0.651,0.902,0.905,
+0.593,0.997,1.208,0.904,0.658,1.190,0.103,0.080,0.062,0.148,
+0.802,0.069,0.424,0.731,0.794,0.827,0.655,1.097,1.835,0.917,
+0.713,1.667,1.328,0.975,0.703,1.336,1.011,0.084,0.537,0.900,
+1.489,0.853,1.043,2.210,2.817,1.372,0.924,1.700,1.591,1.012,
+0.786,1.041,1.324,0.214,0.520,0.834,1.411,1.624,0.599,1.453,
+1.390,0.938,0.501,0.785,0.886,0.550,0.518,0.632,1.960,0.770,
+0.591,0.831,0.894,1.590,0.450,0.823,1.202,1.094,0.654,1.048,
+0.106,0.089,0.066,0.119,0.987,0.109,0.541,0.930,0.783,0.959,
+0.681,0.975,1.369,0.831,0.576,1.280,1.328,1.050,0.649,1.132,
+1.076,0.099,0.516,0.911,1.087,0.918,0.850,1.757,1.979,0.786,
+0.632,1.194,1.417,0.852,0.821,1.054,2.564,0.224,0.666,0.951,
+1.837,1.221,0.764,1.746,0.143,0.102,0.062,0.115,0.125,0.101,
+0.088,0.114,0.169,0.028,0.085,0.107,0.207,0.275,0.100,0.203,
+0.813,0.564,0.552,0.769,0.077,0.052,0.051,0.096,0.654,0.075,
+0.351,0.508,0.549,0.665,0.436,0.654,0.845,0.436,0.429,0.768,
+0.982,0.684,0.630,1.031,0.759,0.071,0.552,0.747,0.948,0.720,
+0.703,1.349,2.602,0.926,0.801,1.867,1.179,0.702,0.628,1.005,
+2.007,0.173,0.633,1.050,3.082,1.602,0.883,2.621,1.591,0.887,
+0.657,1.057,1.070,0.694,0.690,0.870,1.298,0.115,0.637,0.974,
+1.650,1.478,0.746,1.526,1.033,0.781,0.669,1.114,0.088,0.058,
+0.058,0.121,0.803,0.067,0.507,0.837,0.913,0.962,0.798,1.323,
+1.792,0.873,0.786,1.865,1.084,0.695,0.744,1.358,1.466,0.112,
+1.002,1.675,2.741,1.777,2.036,4.478,0.286,0.133,0.095,0.171,
+0.157,0.106,0.086,0.129,0.118,0.013,0.048,0.081,0.147,0.130,
+0.071,0.157,0.142,0.093,0.066,0.095,0.107,0.079,0.083,0.095,
+0.077,0.013,0.055,0.071,0.073,0.088,0.060,0.100,0.095,0.082,
+0.057,0.097,0.013,0.013,0.010,0.019,0.063,9.78e-3,0.046,0.069,
+0.061,0.079,0.058,0.096,0.124,0.078,0.063,0.130,0.127,0.109,
+0.080,0.137,0.094,0.011,0.053,0.100,0.115,0.085,0.097,0.204,
+0.199,0.128,0.073,0.126,0.138,0.117,0.080,0.100,0.093,0.014,
+0.042,0.069,0.088,0.105,0.048,0.106,0.127,0.104,0.056,0.077,
+0.097,0.071,0.073,0.084,0.111,0.033,0.054,0.077,0.061,0.098,
+0.046,0.077,0.098,0.112,0.064,0.094,0.014,0.018,0.014,0.015,
+0.092,0.020,0.061,0.084,0.059,0.104,0.068,0.097,0.120,0.085,
+0.055,0.119,0.132,0.123,0.074,0.110,0.090,9.32e-3,0.052,0.087,
+0.088,0.081,0.077,0.183,0.150,0.075,0.053,0.084,0.120,0.098,
+0.093,0.097,0.135,0.021,0.063,0.075,0.107,0.111,0.070,0.139,
+9.84e-3,0.011,7.31e-3,9.86e-3,0.014,0.020,0.016,0.012,0.012,8.02e-3,
+0.017,0.013,0.011,0.022,0.010,0.014,0.077,0.077,0.078,0.085,
+0.010,0.015,0.012,0.013,0.093,0.026,0.051,0.067,0.056,0.112,
+0.071,0.081,0.092,0.050,0.055,0.085,0.101,0.091,0.088,0.116,
+0.079,0.010,0.064,0.086,0.084,0.077,0.085,0.154,0.254,0.154,
+0.120,0.191,0.146,0.106,0.091,0.124,0.169,0.021,0.079,0.118,
+0.292,0.192,0.127,0.304,0.223,0.148,0.125,0.166,0.184,0.153,
+0.144,0.163,0.174,0.022,0.123,0.152,0.205,0.275,0.132,0.222,
+0.103,0.093,0.088,0.119,0.011,0.011,9.84e-3,0.017,0.093,0.012,
+0.073,0.106,0.094,0.123,0.114,0.169,0.185,0.109,0.096,0.186,
+0.142,0.104,0.105,0.169,0.151,0.013,0.109,0.179,0.241,0.183,
+0.201,0.422,1.999,0.947,0.711,1.276,0.928,0.635,0.503,0.758,
+0.834,0.083,0.434,0.641,0.851,0.669,0.444,0.954,1.064,0.763,
+0.452,0.705,0.764,0.571,0.592,0.606,0.807,0.086,0.543,0.773,
+0.610,0.664,0.447,0.803,1.014,0.945,0.725,1.158,0.112,0.108,
+0.128,0.187,0.930,0.090,0.511,0.792,0.616,0.888,0.545,0.988,
+0.990,0.593,0.524,1.183,0.848,0.658,0.678,1.061,0.886,0.081,
+0.530,1.021,0.943,0.708,0.817,1.874,0.127,0.088,0.052,0.098,
+0.098,0.095,0.059,0.090,0.068,0.013,0.042,0.059,0.067,0.076,
+0.039,0.088,0.077,0.064,0.033,0.048,0.076,0.071,0.058,0.066,
+0.074,0.022,0.057,0.067,0.048,0.065,0.038,0.060,0.079,0.096,
+0.075,0.090,0.012,0.018,0.036,0.016,0.077,0.018,0.064,0.086,
+0.053,0.085,0.057,0.079,0.116,0.073,0.057,0.135,0.116,0.113,
+0.101,0.141,0.086,0.011,0.056,0.109,0.083,0.072,0.073,0.158,
+1.151,0.729,0.500,0.709,0.932,0.861,0.747,0.924,0.832,0.121,
+0.592,0.746,0.583,0.617,0.591,0.987,0.082,0.096,0.052,0.061,
+0.075,0.109,0.117,0.066,0.074,0.017,0.096,0.087,0.061,0.091,
+0.058,0.085,0.748,0.692,0.515,0.646,0.085,0.079,0.071,0.086,
+0.690,0.088,0.221,0.414,0.381,0.534,0.464,0.593,0.616,0.411,
+0.356,0.493,0.728,0.618,0.534,0.656,0.689,0.076,0.584,0.767,
+0.527,0.551,0.650,0.993,1.074,0.608,0.508,0.924,0.742,0.569,
+0.387,0.551,0.741,0.084,0.571,0.766,0.821,0.662,0.511,1.038,
+1.044,0.826,0.547,0.722,0.928,0.927,0.760,0.676,0.786,0.091,
+0.688,0.859,0.825,0.907,0.597,0.945,0.878,0.841,0.648,0.959,
+0.085,0.100,0.070,0.105,0.861,0.085,0.787,1.009,0.677,0.950,
+0.805,1.099,0.940,0.549,0.494,0.892,0.797,0.685,0.547,0.813,
+0.981,0.080,0.843,1.212,1.094,0.989,1.060,1.815,2.464,0.884,
+0.679,1.490,0.860,0.506,0.477,0.796,0.804,0.079,0.367,0.653,
+1.168,0.760,0.512,1.315,1.044,0.595,0.375,0.647,0.554,0.386,
+0.361,0.511,0.557,0.042,0.283,0.576,0.530,0.417,0.333,0.697,
+0.909,0.739,0.507,0.966,0.074,0.059,0.058,0.129,0.601,0.055,
+0.335,0.630,0.736,0.680,0.495,0.923,1.312,0.687,0.647,1.505,
+0.860,0.550,0.642,1.268,0.753,0.058,0.415,0.858,1.367,0.767,
+0.859,2.071,1.877,1.070,0.718,1.495,1.128,0.810,0.703,0.974,
+0.859,0.082,0.453,0.778,0.991,0.893,0.478,1.281,1.088,0.752,
+0.417,0.730,0.844,0.696,0.526,0.741,0.762,0.074,0.475,0.735,
+0.617,0.601,0.395,0.745,0.927,0.923,0.608,0.974,0.068,0.074,
+0.077,0.101,0.770,0.079,0.524,0.900,0.713,0.906,0.613,1.066,
+1.183,0.787,0.683,1.393,1.054,0.848,0.742,1.296,0.873,0.068,
+0.536,1.046,1.051,0.867,0.774,1.813,1.306,0.785,0.635,0.914,
+0.980,0.918,0.724,0.925,0.863,0.108,0.529,0.835,0.806,0.751,
+0.696,1.350,0.089,0.099,0.046,0.073,0.089,0.230,0.072,0.082,
+0.060,0.013,0.059,0.079,0.071,0.092,0.058,0.104,0.774,0.916,
+0.540,0.844,0.064,0.078,0.048,0.092,0.767,0.076,0.450,0.715,
+0.606,0.755,0.640,0.907,0.862,0.596,0.510,0.848,0.954,0.768,
+0.742,1.197,0.862,0.073,0.700,1.157,0.909,0.788,0.979,1.628,
+1.893,0.861,0.855,1.521,0.949,0.681,0.590,0.753,1.090,0.135,
+0.588,1.065,1.222,0.823,0.705,1.907,1.249,0.854,0.532,0.922,
+0.911,0.909,0.620,0.764,0.787,0.063,0.559,0.916,0.898,0.786,
+0.623,1.230,1.153,1.037,0.787,1.383,0.090,0.094,0.060,0.128,
+1.093,0.094,0.800,1.385,1.136,1.264,1.106,1.658,1.988,0.941,
+0.913,2.048,1.369,1.111,0.934,1.615,1.600,0.109,1.177,2.188,
+2.527,1.706,1.909,3.685,4.962,2.424,2.350,5.152,2.456,1.270,
+1.175,1.864,2.477,0.191,0.929,1.759,4.235,2.642,1.461,3.590,
+2.106,0.926,0.723,1.221,1.183,0.635,0.561,0.789,1.212,0.088,
+0.629,0.836,1.225,1.053,0.552,1.101,1.738,0.998,0.825,1.637,
+0.121,0.074,0.059,0.164,0.961,0.069,0.502,0.905,1.092,0.975,
+0.701,1.490,3.190,1.359,1.299,3.135,1.728,1.012,0.885,1.743,
+1.591,0.114,1.014,1.555,2.812,1.539,1.584,4.320,2.571,1.113,
+0.807,1.587,1.293,0.616,0.487,0.770,1.113,0.106,0.432,0.746,
+1.561,1.159,0.568,1.464,1.251,0.679,0.447,0.744,0.621,0.337,
+0.323,0.481,0.988,0.179,0.403,0.578,0.835,0.740,0.400,0.762,
+1.201,0.969,0.631,1.034,0.076,0.050,0.042,0.080,0.849,0.058,
+0.390,0.703,0.870,0.771,0.570,0.981,1.374,0.794,0.590,1.372,
+0.939,0.600,0.446,0.841,1.057,0.062,0.519,0.874,1.262,0.857,
+0.773,2.112,2.360,0.903,0.820,1.620,1.318,0.672,0.656,1.143,
+2.297,0.189,0.661,1.036,2.833,1.459,0.843,2.398,0.150,0.081,
+0.065,0.127,0.096,0.062,0.057,0.100,0.137,0.012,0.058,0.092,
+0.285,0.212,0.082,0.206,0.972,0.682,0.711,1.051,0.072,0.043,
+0.044,0.095,0.939,0.067,0.374,0.603,0.944,0.757,0.605,0.991,
+1.121,0.570,0.659,1.288,0.981,0.577,0.582,1.119,0.971,0.067,
+0.535,0.976,1.373,0.908,0.955,2.188,4.481,1.406,1.386,3.604,
+1.659,0.826,0.818,1.533,3.314,0.253,1.145,1.776,9.414,3.271,
+1.784,5.403,2.197,1.048,0.897,1.538,1.140,0.693,0.679,1.045,
+1.761,0.112,0.834,1.241,3.069,2.020,1.023,2.174,1.492,0.995,
+0.924,1.614,0.102,0.061,0.061,0.125,1.308,0.077,0.680,1.185,
+1.556,1.300,1.081,1.907,2.932,1.316,1.341,3.319,1.532,0.903,
+0.981,1.763,2.269,0.134,1.297,2.478,4.665,2.675,2.658,7.088,
+3.329,1.525,1.207,2.508,1.656,0.928,0.806,1.235,1.407,0.114,
+0.540,1.005,1.962,1.410,0.822,1.995,1.686,0.901,0.676,1.117,
+1.016,0.608,0.610,0.804,0.793,0.067,0.596,0.733,0.803,0.811,
+0.564,1.054,1.167,0.885,0.663,1.174,0.084,0.071,0.050,0.119,
+0.696,0.065,0.476,0.832,0.781,0.850,0.624,1.213,1.385,0.756,
+0.704,1.484,1.114,0.792,0.630,1.191,0.966,0.092,0.578,0.952,
+1.363,0.899,1.024,2.277,2.132,1.078,0.704,1.295,1.190,0.781,
+0.517,0.721,0.816,0.074,0.329,0.640,0.984,0.860,0.424,1.078,
+1.151,0.780,0.465,0.725,0.750,0.497,0.416,0.576,0.655,0.065,
+0.383,0.588,0.581,0.599,0.392,0.726,0.948,0.892,0.508,0.857,
+0.081,0.074,0.040,0.070,0.777,0.084,0.428,0.681,0.717,0.927,
+0.549,1.006,1.060,0.710,0.487,1.035,0.942,0.789,0.440,0.766,
+0.721,0.051,0.385,0.728,0.829,0.652,0.585,1.594,1.911,0.761,
+0.620,1.077,1.138,0.658,0.738,0.905,1.200,0.126,0.511,0.719,
+1.445,1.115,0.708,1.611,0.083,0.061,0.044,0.081,0.067,0.063,
+0.062,0.079,0.066,0.011,0.058,0.064,0.106,0.145,0.063,0.112,
+0.963,0.864,0.676,0.946,0.068,0.061,0.049,0.085,0.772,0.087,
+0.407,0.629,0.693,0.911,0.636,1.046,1.119,0.571,0.558,1.026,
+0.961,0.691,0.665,1.040,0.835,0.063,0.512,0.845,1.038,0.768,
+0.857,1.756,2.531,1.112,1.018,1.889,1.167,0.664,0.654,0.950,
+1.503,0.129,0.700,1.023,2.870,1.753,1.080,2.667,1.739,1.029,
+0.893,1.302,1.076,0.801,0.787,1.002,1.227,0.113,0.918,1.114,
+1.807,2.192,1.086,1.751,1.104,0.887,0.787,1.286,0.078,0.057,
+0.051,0.093,0.907,0.067,0.600,0.969,1.032,1.092,0.899,1.716,
+1.812,0.889,0.893,1.746,1.387,0.822,0.931,1.325,1.432,0.089,
+0.904,1.541,2.362,1.579,1.578,3.539,2.453,1.198,0.873,1.802,
+1.058,0.697,0.536,0.920,1.134,0.089,0.478,0.854,1.453,0.945,
+0.625,1.437,1.523,0.996,0.600,1.082,0.910,0.617,0.515,0.660,
+1.018,0.083,0.546,0.844,0.995,0.952,0.605,1.207,1.267,1.140,
+0.747,1.401,0.131,0.102,0.072,0.164,0.996,0.086,0.559,0.936,
+0.888,1.059,0.670,1.313,1.346,0.765,0.662,1.544,1.085,0.722,
+0.590,1.088,1.262,0.101,0.707,1.399,1.649,1.045,1.106,2.750,
+0.132,0.094,0.061,0.116,0.097,0.075,0.051,0.084,0.078,9.59e-3,
+0.040,0.066,0.104,0.095,0.060,0.130,0.081,0.062,0.035,0.059,
+0.071,0.076,0.043,0.056,0.070,9.57e-3,0.049,0.068,0.068,0.068,
+0.045,0.079,0.089,0.099,0.054,0.090,9.71e-3,0.011,9.07e-3,0.010,
+0.086,0.011,0.064,0.085,0.076,0.096,0.065,0.106,0.122,0.076,
+0.058,0.142,0.124,0.101,0.065,0.119,0.102,9.23e-3,0.058,0.117,
+0.128,0.098,0.086,0.204,1.503,0.813,0.567,0.885,1.046,0.812,
+0.634,0.936,1.024,0.130,0.566,0.810,0.979,0.961,0.895,1.531,
+0.080,0.071,0.037,0.060,0.063,0.080,0.047,0.051,0.066,0.010,
+0.054,0.062,0.088,0.111,0.068,0.110,0.850,0.933,0.570,0.887,
+0.076,0.073,0.056,0.086,0.955,0.088,0.414,0.644,0.646,0.851,
+0.729,0.961,0.964,0.591,0.500,0.833,0.969,0.811,0.647,0.891,
+1.067,0.084,0.704,1.017,0.982,0.924,0.986,1.736,1.666,0.774,
+0.633,1.291,0.923,0.610,0.486,0.745,1.091,0.092,0.697,0.999,
+1.555,0.981,1.141,1.796,1.561,1.027,0.714,1.164,1.022,0.955,
+0.688,0.776,1.182,0.092,0.778,1.084,1.410,1.375,0.931,1.569,
+1.400,1.157,0.882,1.590,0.097,0.100,0.061,0.114,1.272,0.090,
+0.867,1.277,1.311,1.419,1.151,1.783,1.533,0.853,0.828,1.488,
+1.168,0.953,0.747,1.133,1.646,0.109,1.205,1.912,2.076,1.676,
+1.751,3.362,4.748,1.761,1.413,3.335,1.631,0.890,0.876,1.509,
+1.742,0.134,0.773,1.555,3.258,1.598,1.161,3.032,1.930,0.972,
+0.666,1.192,1.019,0.596,0.535,0.870,1.120,0.074,0.596,1.018,
+1.163,0.828,0.808,1.494,1.659,1.247,0.810,1.921,0.122,0.095,
+0.068,0.183,1.062,0.086,0.544,1.089,1.370,1.212,0.854,1.786,
+2.856,1.311,1.262,3.395,1.607,0.941,0.918,1.917,1.679,0.116,
+0.945,1.992,4.238,1.949,1.924,5.901,2.337,1.222,0.877,1.859,
+1.367,0.836,0.782,1.183,1.081,0.090,0.512,1.053,1.468,1.113,
+0.736,1.983,1.313,0.763,0.497,0.896,0.858,0.572,0.449,0.719,
+0.887,0.065,0.625,0.901,0.851,0.780,0.613,1.085,1.185,0.957,
+0.621,1.286,0.073,0.070,0.042,0.096,1.006,0.080,0.572,1.039,
+1.129,1.232,0.743,1.555,1.617,0.908,0.792,1.822,1.398,0.893,
+0.687,1.412,1.214,0.077,0.661,1.368,1.836,1.335,1.113,2.906,
+2.462,1.239,1.124,1.702,1.592,1.087,1.026,1.553,1.794,0.163,
+0.772,1.460,1.967,1.494,1.336,3.073,0.133,0.096,0.066,0.119,
+0.091,0.101,0.083,0.101,0.091,8.61e-3,0.058,0.102,0.152,0.142,
+0.094,0.209,1.482,1.294,0.954,1.883,0.088,0.078,0.059,0.151,
+1.367,0.105,0.698,1.217,1.328,1.338,1.114,2.001,1.909,1.242,
+1.042,1.914,1.693,1.262,1.135,2.093,1.732,0.119,1.173,2.142,
+2.013,1.511,1.744,3.573,5.338,1.984,1.780,3.858,2.050,1.280,
+1.085,1.733,2.590,0.184,1.288,2.499,4.245,2.513,2.112,7.352,
+3.023,1.671,1.154,2.084,1.950,1.502,1.072,1.552,2.179,0.124,
+1.173,2.085,2.662,2.097,1.607,3.549,2.976,2.245,1.846,3.451,
+0.146,0.123,0.088,0.212,2.502,0.157,1.606,2.999,3.097,3.031,
+2.674,4.810,6.749,2.837,2.774,6.921,3.577,2.365,2.101,4.092,
+4.328,0.216,3.027,5.959,8.546,4.425,5.062,9.514,4.873,2.827,
+2.352,4.402,3.141,1.910,1.530,2.134,3.393,0.358,1.466,2.332,
+4.350,3.388,1.889,3.324,3.397,1.957,1.307,1.812,1.946,1.191,
+1.035,1.134,2.025,0.162,1.073,1.405,1.598,1.578,1.105,1.704,
+2.293,1.724,1.268,1.864,0.201,0.177,0.139,0.251,1.630,0.173,
+1.157,1.262,1.464,1.730,1.292,1.758,3.902,1.716,1.618,3.268,
+2.656,1.760,1.500,2.536,2.225,0.200,1.283,1.980,2.707,1.857,
+1.907,3.325,3.873,1.945,1.254,2.065,2.083,1.446,0.989,1.264,
+1.983,0.223,0.843,1.284,1.656,1.724,0.834,1.605,2.308,1.594,
+0.913,1.252,1.407,0.960,0.782,0.848,1.489,0.152,0.834,1.190,
+0.971,1.163,0.736,1.052,1.501,1.515,0.847,1.169,0.137,0.154,
+0.091,0.127,1.614,0.184,0.909,1.190,0.909,1.452,0.886,1.245,
+1.399,1.007,0.721,1.263,1.404,1.186,0.834,1.158,1.599,0.144,
+0.940,1.404,1.285,1.219,1.079,1.989,2.303,1.163,0.898,1.352,
+1.543,0.909,0.774,0.994,1.619,0.216,0.740,1.189,1.457,1.315,
+0.987,1.898,0.188,0.136,0.084,0.119,0.130,0.108,0.084,0.100,
+0.148,0.029,0.099,0.140,0.151,0.236,0.120,0.208,1.041,0.939,
+0.951,0.879,0.124,0.100,0.080,0.107,1.228,0.269,0.605,0.747,
+0.699,1.075,0.720,0.831,1.155,0.697,0.611,0.980,1.233,0.913,
+0.746,1.108,1.410,0.167,1.209,1.280,1.022,1.191,1.142,1.721,
+3.511,1.387,1.053,2.299,1.465,0.869,0.780,1.140,1.596,0.160,
+0.696,1.175,2.269,1.571,1.151,2.758,3.233,1.624,1.080,1.426,
+1.667,1.078,0.855,1.011,1.455,0.131,0.885,1.297,1.467,1.601,
+1.026,1.890,1.310,1.175,0.920,1.381,0.113,0.098,0.081,0.131,
+1.264,0.125,0.763,1.126,1.095,1.361,1.033,1.418,2.184,1.139,
+1.037,2.183,1.287,0.939,0.880,1.536,1.838,0.145,1.272,2.056,
+2.250,2.056,2.008,3.935,3.838,2.351,1.737,2.829,2.088,1.645,
+1.272,1.571,2.085,0.227,1.002,1.478,1.743,1.797,1.145,1.980,
+2.143,1.841,1.012,1.339,1.464,1.109,1.105,1.038,1.246,0.148,
+0.899,1.181,0.862,1.161,0.798,1.260,1.430,2.015,1.033,1.201,
+0.198,0.382,0.133,0.181,1.428,0.167,1.140,1.101,0.920,1.307,
+1.163,1.343,1.752,1.021,0.896,1.447,1.732,1.693,0.954,1.281,
+1.397,0.208,0.794,1.185,1.452,1.127,1.150,2.343,2.796,2.017,
+1.008,1.465,1.535,1.607,0.971,1.009,1.585,0.211,0.721,1.070,
+1.068,1.423,0.660,1.324,1.539,1.507,0.730,0.906,1.149,0.748,
+0.818,0.758,1.235,0.174,0.807,1.127,0.698,1.196,0.685,0.920,
+1.226,2.195,0.955,1.022,0.160,0.363,0.114,0.123,1.553,0.263,
+0.979,1.317,0.807,1.971,1.063,1.285,0.970,0.974,0.561,0.896,
+1.179,1.572,0.628,0.849,1.504,0.171,0.711,1.098,0.909,1.090,
+0.781,1.559,1.676,1.140,0.841,1.011,1.447,1.168,0.983,0.980,
+1.208,0.195,0.857,1.051,0.839,1.102,0.921,1.295,0.118,0.181,
+0.116,0.109,0.132,0.155,0.125,0.096,0.125,0.048,0.141,0.140,
+0.080,0.212,0.108,0.124,1.399,1.362,4.275,1.345,0.416,0.192,
+0.230,0.169,1.551,0.224,0.910,1.049,0.681,1.346,1.135,1.014,
+0.928,0.636,0.774,0.961,1.430,1.262,0.992,1.173,1.418,0.143,
+1.030,1.251,0.701,0.906,1.035,1.379,1.571,0.860,0.682,1.106,
+0.947,0.724,0.930,0.767,0.836,0.086,0.491,0.704,0.963,0.798,
+0.633,1.188,1.499,1.434,0.905,1.005,1.047,1.028,0.768,0.826,
+0.895,0.121,0.773,0.996,0.752,1.379,0.775,1.152,0.997,1.155,
+1.079,1.103,0.106,0.113,0.074,0.101,0.985,0.108,0.753,1.021,
+0.702,1.091,0.990,1.225,1.314,0.817,0.696,1.129,1.052,0.904,
+0.631,1.030,1.365,0.113,0.922,1.493,1.334,1.438,1.397,2.416,
+2.272,1.565,0.956,1.794,1.140,0.898,0.625,0.892,1.140,0.132,
+0.576,0.907,1.211,1.144,0.609,1.239,1.759,1.857,0.765,1.163,
+1.094,0.843,0.765,0.817,1.284,0.167,0.828,1.092,0.867,1.256,
+0.672,1.137,1.090,1.322,0.811,1.280,0.138,0.155,0.107,0.205,
+0.999,0.123,0.601,0.887,0.700,1.114,0.638,1.061,1.264,0.778,
+0.666,1.337,1.176,0.934,0.714,1.068,1.237,0.134,0.701,1.264,
+1.277,1.152,1.104,2.694,0.154,0.133,0.070,0.119,0.121,0.136,
+0.077,0.105,0.115,0.027,0.059,0.088,0.100,0.164,0.067,0.118,
+0.132,0.168,0.072,0.094,0.136,0.159,0.105,0.100,0.135,0.035,
+0.101,0.122,0.087,0.171,0.074,0.114,0.086,0.151,0.077,0.098,
+0.022,0.034,0.023,0.020,0.126,0.031,0.099,0.117,0.078,0.178,
+0.086,0.114,0.116,0.100,0.069,0.126,0.186,0.199,0.120,0.165,
+0.188,0.029,0.108,0.155,0.137,0.156,0.122,0.249,1.195,0.849,
+0.656,0.752,0.857,0.821,0.684,0.663,1.148,0.193,0.650,0.819,
+0.734,0.871,0.630,0.918,0.101,0.126,0.068,0.075,0.074,0.108,
+0.091,0.060,0.121,0.034,0.097,0.101,0.092,0.170,0.090,0.096,
+0.815,1.136,0.711,0.725,0.100,0.127,0.099,0.092,0.985,0.160,
+0.521,0.763,0.512,1.039,0.702,0.795,0.810,0.595,0.474,0.620,
+0.878,0.976,0.715,0.797,1.717,0.311,1.010,1.179,0.859,1.445,
+0.931,1.316,1.175,0.663,0.464,1.000,0.715,0.497,0.394,0.525,
+0.867,0.090,0.411,0.718,1.054,0.771,0.479,1.116,1.324,1.050,
+0.715,0.968,0.944,0.892,0.744,0.762,1.141,0.126,0.753,1.044,
+1.058,1.241,0.720,1.059,1.006,1.212,0.889,1.050,0.098,0.133,
+0.087,0.112,1.204,0.126,0.756,1.055,0.854,1.265,0.908,1.247,
+1.244,0.782,0.721,1.006,1.048,0.979,0.865,0.991,1.615,0.161,
+1.218,1.720,1.514,1.676,1.416,2.559,2.797,1.513,1.072,2.260,
+1.127,0.763,0.610,0.873,1.164,0.125,0.521,0.972,1.669,1.318,
+0.756,1.782,1.400,0.899,0.556,0.989,0.823,0.494,0.444,0.640,
+0.852,0.079,0.425,0.762,0.756,0.808,0.458,0.968,1.096,0.988,
+0.619,1.288,0.117,0.117,0.073,0.160,0.864,0.078,0.414,0.721,
+0.738,0.895,0.534,1.031,1.615,0.804,0.729,1.865,1.135,0.824,
+0.657,1.161,1.035,0.095,0.615,1.130,1.576,1.233,1.111,2.895,
+2.292,1.352,0.878,1.610,1.417,1.062,0.731,0.982,1.295,0.167,
+0.601,1.078,1.257,1.651,0.698,1.415,1.474,1.193,0.666,1.086,
+1.237,1.008,0.709,0.850,1.135,0.168,0.641,1.090,0.879,1.338,
+0.571,1.216,0.968,1.000,0.550,0.959,0.095,0.113,0.072,0.118,
+1.063,0.128,0.642,1.009,0.857,1.420,0.751,1.180,1.140,0.763,
+0.551,1.150,1.250,1.057,0.752,1.284,1.235,0.118,0.716,1.218,
+1.270,1.285,1.010,2.083,1.233,0.796,0.514,0.900,0.935,0.650,
+0.547,0.785,1.110,0.171,0.586,0.873,0.967,1.042,0.750,1.378,
+0.087,0.080,0.051,0.100,0.066,0.070,0.061,0.067,0.102,0.023,
+0.082,0.099,0.095,0.164,0.080,0.126,0.801,0.888,0.795,0.841,
+0.081,0.075,0.197,0.102,0.901,0.101,0.506,0.708,0.608,0.912,
+0.978,0.982,0.827,0.591,0.494,0.862,0.987,0.807,0.813,1.055,
+1.378,0.246,0.796,1.261,0.979,1.201,0.997,1.757,2.070,0.953,
+0.707,1.505,1.005,0.664,0.534,0.788,1.219,0.106,0.537,1.026,
+1.593,1.156,0.863,2.206,1.177,0.787,0.577,1.139,0.906,0.587,
+0.632,0.826,0.957,0.087,0.582,1.024,0.982,1.107,0.662,1.280,
+1.322,1.238,0.809,1.391,0.105,0.093,0.079,0.123,1.515,0.116,
+0.765,1.293,1.323,1.545,1.349,1.883,2.124,1.142,1.004,2.264,
+1.533,1.309,1.180,1.704,2.200,0.150,1.449,2.644,2.934,2.323,
+2.364,4.994,3.712,2.430,2.002,3.171,2.437,1.795,1.315,1.596,
+2.262,0.267,1.122,1.693,2.520,2.356,1.264,2.277,2.541,1.853,
+1.166,1.419,1.927,1.380,1.215,1.148,1.592,0.171,1.130,1.409,
+1.102,1.365,0.988,1.365,1.271,1.236,0.917,1.210,0.126,0.134,
+0.113,0.166,1.118,0.120,0.706,0.806,0.861,1.210,0.880,1.163,
+1.795,1.059,0.936,1.750,1.495,1.342,1.077,1.401,1.563,0.175,
+0.884,1.306,1.684,1.334,1.276,2.321,3.145,2.023,1.127,1.665,
+2.035,1.723,1.000,1.118,1.667,0.272,0.918,1.168,1.273,1.635,
+0.710,1.323,2.023,1.831,0.853,1.069,1.558,1.291,0.966,0.994,
+1.455,0.256,1.124,1.606,0.862,1.494,0.733,1.185,1.056,1.442,
+0.778,0.871,0.135,0.187,0.170,0.128,1.239,0.211,1.005,1.095,
+0.719,1.604,0.912,1.064,0.893,0.805,0.623,0.779,1.144,1.210,
+1.529,0.989,1.219,0.141,0.811,1.346,0.892,1.097,0.884,1.644,
+1.407,0.920,0.692,0.864,1.230,0.916,0.735,0.825,1.302,0.200,
+0.664,0.929,0.903,0.966,0.734,1.376,0.111,0.131,0.095,0.095,
+0.138,0.146,0.111,0.101,0.120,0.043,0.119,0.132,0.096,0.216,
+0.108,0.149,0.659,0.767,0.585,0.593,0.079,0.090,0.076,0.086,
+0.735,0.113,0.554,0.659,0.434,0.752,0.599,0.633,0.812,0.514,
+0.388,0.589,0.850,0.827,0.579,0.765,1.004,0.151,0.728,0.993,
+0.723,0.911,0.978,1.346,1.888,0.831,0.602,1.218,0.959,0.566,
+0.428,0.605,0.978,0.105,0.500,0.710,1.312,1.014,0.729,1.696,
+1.607,1.108,0.768,0.982,1.534,1.054,0.714,0.831,0.944,0.119,
+0.734,1.020,0.807,1.213,0.729,1.132,0.784,0.738,0.814,0.985,
+0.073,0.070,0.090,0.096,0.731,0.082,0.625,0.781,0.588,0.879,
+0.730,0.956,1.274,0.777,0.644,1.246,0.811,0.761,0.592,0.865,
+1.277,0.132,0.857,1.325,1.422,1.534,1.376,2.597,2.891,2.012,
+1.369,2.040,2.164,1.915,1.387,1.479,1.376,0.186,0.809,1.149,
+1.377,1.546,0.823,1.468,2.185,1.764,1.195,1.242,2.194,1.822,
+2.532,1.558,1.208,0.206,1.102,1.337,0.787,1.331,0.811,1.128,
+0.994,1.152,0.809,0.927,0.127,0.157,0.134,0.149,0.990,0.128,
+0.768,0.852,1.210,1.073,0.792,1.021,1.044,0.655,0.576,1.009,
+1.152,1.220,0.842,0.980,0.930,0.110,0.677,0.920,2.197,1.067,
+0.942,1.761,2.609,2.034,0.872,1.158,1.953,2.281,1.080,1.048,
+1.486,0.235,0.851,1.079,0.974,1.373,0.606,1.129,1.764,1.596,
+0.796,0.869,1.003,0.597,0.776,0.713,1.268,0.354,0.893,1.233,
+0.697,1.662,0.699,0.922,0.919,1.633,0.740,0.843,0.144,0.338,
+0.148,0.142,1.207,0.276,0.894,1.307,0.659,1.784,0.965,1.140,
+0.724,0.751,0.482,0.674,1.114,1.784,0.744,0.890,1.004,0.157,
+0.782,1.168,0.746,1.068,0.740,1.618,1.544,1.214,1.521,0.953,
+1.510,1.607,1.143,0.983,1.230,0.259,0.838,0.940,0.774,1.330,
+0.830,1.162,0.128,0.208,0.345,0.133,0.207,0.332,0.214,0.131,
+0.168,0.105,0.202,0.156,0.094,0.421,0.130,0.126,0.817,1.289,
+0.969,0.840,0.138,0.256,0.165,0.138,1.007,0.190,0.816,0.975,
+0.495,1.321,1.055,0.945,0.680,0.551,0.486,0.610,1.125,1.602,
+1.064,1.089,1.562,0.178,1.112,1.252,0.756,1.009,1.109,1.426,
+1.261,0.755,0.652,0.954,0.955,0.749,0.491,0.579,0.862,0.093,
+0.447,0.612,0.961,0.789,0.523,0.970,1.146,1.223,1.244,0.999,
+1.325,1.726,0.967,0.939,1.000,0.182,0.789,0.989,0.659,1.556,
+0.712,0.950,0.758,0.972,0.755,0.906,0.077,0.117,0.075,0.090,
+0.733,0.103,0.830,0.916,0.544,1.049,0.945,1.079,0.850,0.617,
+0.485,0.856,0.821,0.924,0.574,0.884,1.226,0.123,0.824,1.146,
+1.054,1.340,1.170,2.094,1.997,1.433,0.913,1.504,1.213,1.014,
+0.613,0.875,1.128,0.139,0.640,0.811,1.017,1.069,0.530,1.134,
+1.860,1.834,0.723,1.069,1.519,1.387,1.039,1.026,1.450,0.227,
+1.126,1.270,0.774,1.338,0.629,1.061,1.085,1.304,0.876,1.356,
+0.220,0.172,0.142,0.235,1.047,0.159,0.649,0.979,0.613,1.118,
+0.612,1.008,1.052,0.702,0.521,1.191,1.177,1.020,0.739,1.100,
+1.079,0.138,0.759,1.312,1.065,1.011,0.962,2.138,0.198,0.128,
+0.068,0.100,0.174,0.227,0.105,0.111,0.145,0.034,0.081,0.091,
+0.087,0.164,0.074,0.133,0.150,0.178,0.077,0.097,0.213,0.342,
+0.223,0.161,0.196,0.121,0.189,0.185,0.077,0.223,0.083,0.109,
+0.136,0.162,0.118,0.128,0.096,0.076,0.060,0.045,0.176,0.067,
+0.156,0.160,0.079,0.218,0.121,0.114,0.092,0.077,0.052,0.100,
+0.309,0.250,0.153,0.179,0.128,0.030,0.127,0.173,0.092,0.122,
+0.105,0.186,1.422,1.268,1.051,1.010,1.344,1.829,0.980,0.974,
+1.398,0.289,0.938,1.063,0.798,1.194,0.814,1.244,0.133,0.239,
+0.120,0.105,0.150,0.374,0.199,0.123,0.166,0.083,0.218,0.174,
+0.095,0.263,0.124,0.126,0.847,1.445,0.798,0.861,0.134,0.227,
+0.143,0.137,1.221,0.262,0.689,1.060,0.542,1.425,0.822,0.939,
+0.792,0.653,0.460,0.717,1.132,1.539,0.899,1.105,1.665,0.267,
+1.526,1.593,0.794,1.268,1.060,1.481,1.186,0.774,0.644,1.305,
+0.779,0.654,0.462,0.577,0.879,0.106,0.512,0.864,0.847,0.816,
+0.497,1.382,1.437,1.478,0.794,0.973,1.479,1.809,1.087,1.025,
+1.507,0.236,1.244,1.556,0.958,1.761,0.912,1.278,0.960,1.334,
+1.464,1.279,0.106,0.161,0.136,0.132,1.243,0.194,1.058,1.347,
+0.776,1.718,1.095,1.308,1.165,0.811,0.664,1.168,1.029,1.067,
+0.773,1.014,1.602,0.163,1.507,1.955,1.350,1.775,1.456,2.292,
+1.795,1.016,0.713,1.530,1.002,0.662,0.473,0.862,0.936,0.099,
+0.487,0.844,1.069,0.900,0.508,1.311,1.347,0.979,0.477,0.842,
+0.824,0.571,0.489,0.672,0.781,0.096,0.467,0.786,0.597,0.719,
+0.384,0.903,0.810,0.748,0.460,0.928,0.079,0.061,0.048,0.113,
+0.767,0.078,0.374,0.643,0.519,0.715,0.381,0.784,1.070,0.618,
+0.479,1.278,0.771,0.586,0.446,0.958,0.870,0.084,0.497,0.993,
+1.098,0.865,0.759,2.063,1.951,1.170,0.652,1.203,1.425,1.311,
+0.765,0.929,1.227,0.184,0.663,1.025,0.994,1.421,0.566,1.177,
+1.363,1.255,0.531,0.851,1.484,1.429,0.811,0.963,1.607,0.402,
+0.913,1.456,0.941,2.005,0.647,1.221,0.832,0.960,0.583,0.824,
+0.161,0.140,0.106,0.143,1.043,0.155,0.752,1.018,0.680,1.354,
+0.686,0.984,0.756,0.569,0.438,0.915,1.137,1.068,0.722,1.258,
+1.003,0.122,0.774,1.210,0.861,1.013,0.827,1.642,1.048,0.720,
+0.525,0.728,0.966,0.957,0.615,0.806,0.967,0.158,0.652,0.881,
+0.706,0.858,0.636,1.199,0.068,0.076,0.048,0.072,0.070,0.124,
+0.073,0.073,0.078,0.027,0.078,0.090,0.063,0.135,0.071,0.103,
+0.606,0.821,0.481,0.673,0.062,0.085,0.061,0.095,0.924,0.134,
+0.611,0.864,0.503,0.981,0.694,0.848,0.654,0.575,0.402,0.768,
+0.880,0.930,0.616,1.016,1.353,0.384,0.969,1.312,0.766,1.214,
+0.926,1.491,1.426,0.846,0.549,1.111,0.731,0.581,0.414,0.591,
+0.903,0.089,0.551,0.830,0.971,0.784,0.604,1.515,1.053,0.763,
+0.481,0.770,0.817,0.798,0.558,0.852,0.819,0.081,0.680,0.932,
+0.811,0.937,0.642,1.228,0.947,0.907,0.683,1.004,0.075,0.075,
+0.055,0.096,1.088,0.102,0.771,1.138,0.852,1.292,1.101,1.407,
+1.394,0.872,0.727,1.508,1.168,1.288,0.934,1.354,1.626,0.161,
+1.383,2.101,2.129,2.108,1.984,2.629,2.436,1.611,1.284,2.360,
+1.750,1.390,1.114,1.347,1.597,0.182,0.797,1.280,2.157,1.802,
+1.096,1.878,1.362,0.953,0.654,0.932,1.048,0.754,0.742,0.766,
+0.878,0.106,0.682,0.898,0.789,0.909,0.668,0.941,1.058,0.888,
+0.629,1.003,0.100,0.103,0.073,0.153,0.829,0.093,0.571,1.273,
+0.633,0.836,0.636,1.039,1.445,0.766,0.591,1.262,1.296,1.092,
+0.732,1.095,0.968,0.100,0.662,1.004,1.158,0.851,0.902,1.701,
+2.344,1.634,0.992,1.533,1.843,1.468,1.142,1.110,1.348,0.203,
+0.715,0.945,1.187,1.525,0.660,1.299,1.496,1.361,0.747,0.948,
+1.423,1.070,1.053,0.931,1.313,0.248,0.879,1.192,0.786,1.320,
+0.685,0.982,1.283,1.455,0.862,1.075,0.200,0.241,0.159,0.189,
+1.527,0.253,1.140,1.885,0.807,1.620,1.045,1.231,1.152,0.871,
+0.494,0.945,2.456,2.246,0.938,1.243,1.150,0.134,0.740,1.104,
+0.975,1.016,0.910,1.718,1.335,0.815,0.653,0.914,1.372,1.061,
+1.053,1.029,1.988,0.305,0.832,0.968,1.226,1.373,0.805,1.380,
+0.118,0.126,0.084,0.112,0.145,0.156,0.152,0.139,0.219,0.063,
+0.194,0.165,0.175,0.398,0.148,0.225,0.806,0.788,0.901,0.801,
+0.100,0.113,0.118,0.144,1.208,0.300,0.680,0.758,0.562,1.402,
+0.662,0.727,0.646,0.436,0.410,0.602,0.995,0.929,0.827,1.047,
+0.904,0.132,1.268,0.924,0.791,0.890,0.849,1.255,1.553,0.747,
+0.625,1.236,0.897,0.594,0.582,0.813,1.172,0.128,0.521,0.755,
+1.745,1.367,0.754,1.768,1.214,0.913,0.671,0.906,1.010,0.831,
+0.784,0.833,1.352,0.173,0.901,1.029,1.287,1.804,0.833,1.396,
+0.847,0.889,0.737,1.004,0.093,0.085,0.091,0.136,0.959,0.120,
+0.811,1.106,0.836,1.249,1.006,1.299,1.301,0.818,0.683,1.410,
+0.978,0.759,0.810,1.185,1.474,0.147,1.184,1.581,2.006,1.805,
+2.115,3.509,0.130,0.102,0.070,0.103,0.128,0.127,0.081,0.101,
+0.091,0.017,0.052,0.074,0.092,0.114,0.061,0.098,0.119,0.115,
+0.087,0.084,0.140,0.147,0.151,0.109,0.091,0.033,0.113,0.098,
+0.061,0.115,0.078,0.087,0.071,0.104,0.065,0.075,0.015,0.025,
+0.019,0.021,0.080,0.020,0.075,0.105,0.057,0.099,0.073,0.088,
+0.092,0.073,0.055,0.109,0.124,0.143,0.090,0.120,0.105,0.018,
+0.074,0.165,0.109,0.094,0.090,0.157,0.145,0.162,0.077,0.096,
+0.159,0.201,0.129,0.098,0.103,0.032,0.077,0.074,0.068,0.125,
+0.066,0.085,0.159,0.220,0.106,0.099,0.239,0.220,0.221,0.148,
+0.159,0.078,0.146,0.150,0.073,0.181,0.099,0.101,0.099,0.189,
+0.106,0.096,0.033,0.087,0.057,0.033,0.169,0.082,0.173,0.173,
+0.064,0.224,0.148,0.132,0.091,0.094,0.055,0.088,0.230,0.327,
+0.121,0.147,0.114,0.028,0.094,0.119,0.071,0.107,0.097,0.171,
+0.086,0.081,0.063,0.059,0.119,0.161,0.134,0.105,0.152,0.055,
+0.124,0.086,0.067,0.153,0.075,0.097,0.013,0.032,0.021,0.017,
+0.030,0.061,0.066,0.030,0.053,0.080,0.081,0.042,0.013,0.077,
+0.033,0.023,0.077,0.143,0.243,0.119,0.026,0.060,0.066,0.034,
+0.321,0.253,0.156,0.133,0.068,0.414,0.140,0.106,0.065,0.056,
+0.062,0.069,0.116,0.178,0.152,0.137,0.130,0.045,0.164,0.131,
+0.067,0.118,0.119,0.141,0.112,0.101,0.073,0.101,0.097,0.083,
+0.076,0.086,0.096,0.017,0.060,0.074,0.132,0.151,0.087,0.158,
+0.152,0.180,0.126,0.130,0.175,0.212,0.185,0.171,0.220,0.078,
+0.197,0.173,0.166,0.472,0.164,0.198,0.073,0.126,0.109,0.104,
+0.013,0.025,0.025,0.022,0.126,0.040,0.139,0.158,0.083,0.187,
+0.160,0.162,0.105,0.095,0.068,0.111,0.099,0.114,0.092,0.122,
+0.143,0.021,0.133,0.166,0.145,0.182,0.188,0.285,1.657,1.165,
+0.830,1.435,1.186,1.094,0.830,0.992,1.124,0.123,0.608,0.810,
+0.886,0.826,0.569,0.997,1.236,1.123,0.750,0.959,1.297,1.195,
+1.557,1.056,1.320,0.185,1.115,1.153,0.743,1.085,0.730,1.012,
+1.015,1.284,0.893,1.241,0.158,0.206,0.172,0.278,1.597,0.227,
+0.904,1.205,0.732,1.611,0.827,1.234,0.955,0.659,0.493,1.067,
+1.090,1.068,0.830,1.392,1.137,0.149,0.856,1.419,1.052,1.105,
+1.037,2.135,0.117,0.128,0.063,0.098,0.158,0.206,0.126,0.127,
+0.102,0.030,0.080,0.089,0.068,0.115,0.054,0.099,0.106,0.136,
+0.072,0.079,0.191,0.203,0.237,0.145,0.151,0.058,0.190,0.166,
+0.071,0.140,0.083,0.092,0.103,0.188,0.104,0.108,0.027,0.066,
+0.054,0.037,0.198,0.093,0.195,0.209,0.079,0.243,0.129,0.137,
+0.112,0.086,0.054,0.115,0.199,0.255,0.145,0.204,0.137,0.031,
+0.131,0.183,0.099,0.125,0.112,0.203,1.133,1.224,0.662,0.692,
+1.393,2.074,2.175,1.126,1.189,0.274,1.161,1.103,0.643,0.999,
+0.921,1.190,0.100,0.184,0.124,0.091,0.156,0.280,0.863,0.152,
+0.156,0.072,0.347,0.184,0.097,0.221,0.153,0.139,0.903,1.374,
+0.968,0.912,0.162,0.240,0.260,0.183,1.248,0.247,0.560,0.891,
+0.518,1.169,1.056,1.013,0.687,0.594,0.462,0.577,1.074,1.402,
+1.245,1.142,1.236,0.206,1.267,1.351,0.728,1.086,1.136,1.437,
+1.013,0.738,0.536,0.863,0.866,0.776,0.621,0.620,0.848,0.114,
+0.628,0.841,0.871,0.802,0.549,1.110,1.269,1.282,0.888,0.942,
+1.555,1.681,2.612,1.150,1.282,0.211,1.546,1.490,1.374,1.644,
+1.065,1.354,1.089,1.945,0.971,1.183,0.148,0.314,0.176,0.180,
+1.443,0.236,1.626,1.841,0.925,1.824,1.424,1.617,1.014,0.817,
+0.610,1.044,1.030,1.243,0.932,1.124,1.484,0.177,1.579,1.970,
+1.357,1.706,1.659,2.558,1.780,0.962,0.733,1.488,1.046,0.752,
+0.639,0.992,0.914,0.105,0.428,0.747,1.111,0.989,0.582,1.337,
+1.046,0.736,0.445,0.708,0.810,0.542,0.562,0.655,0.652,0.067,
+0.383,0.640,0.541,0.599,0.397,0.697,0.954,0.844,0.530,0.924,
+0.097,0.088,0.063,0.141,0.781,0.087,0.451,0.755,0.644,0.932,
+0.588,0.988,1.416,0.699,0.547,1.157,1.057,0.794,0.628,1.168,
+0.853,0.083,0.547,0.901,1.253,1.078,0.919,2.061,1.946,1.397,
+0.816,1.554,1.696,1.398,1.087,1.276,1.142,0.162,0.763,1.040,
+1.020,1.309,0.636,1.302,1.486,1.476,0.699,1.123,2.041,1.449,
+1.316,1.355,1.315,0.212,1.044,1.368,0.803,1.387,0.759,1.056,
+1.205,1.572,0.839,1.159,0.147,0.217,0.142,0.195,1.442,0.253,
+1.140,1.639,1.056,2.269,1.165,1.672,1.235,0.858,0.652,1.235,
+1.596,1.543,1.201,1.855,1.304,0.145,0.975,1.543,1.203,1.443,
+1.194,2.228,1.341,0.992,0.694,1.063,1.304,1.239,1.132,1.202,
+1.166,0.187,0.857,1.224,0.803,1.029,0.851,1.464,0.095,0.115,
+0.060,0.089,0.108,0.164,0.169,0.121,0.092,0.031,0.127,0.152,
+0.075,0.154,0.097,0.137,0.944,1.295,0.836,1.041,0.119,0.157,
+0.129,0.175,1.217,0.215,0.910,1.251,0.717,1.455,1.171,1.340,
+0.969,0.744,0.585,0.913,1.339,1.328,1.268,1.821,1.237,0.171,
+1.191,1.617,1.006,1.217,1.393,1.941,1.584,0.887,0.689,1.292,
+0.989,0.764,0.641,0.791,0.972,0.112,0.588,1.000,1.206,0.989,
+0.804,1.880,1.349,1.246,0.583,0.922,0.983,0.954,0.955,0.940,
+0.874,0.101,0.730,1.247,0.885,1.078,0.793,1.455,1.201,1.445,
+0.926,1.459,0.112,0.148,0.089,0.160,1.587,0.180,1.353,2.061,
+1.296,1.920,1.697,2.067,1.861,1.151,1.000,2.094,1.540,1.576,
+1.294,1.949,2.020,0.179,1.679,2.748,2.442,2.353,2.391,3.599,
+2.865,1.670,1.596,3.561,1.661,1.005,0.876,1.407,1.746,0.169,
+0.737,1.381,2.572,2.039,1.053,2.420,1.701,0.976,0.757,1.178,
+0.999,0.567,0.551,0.716,0.965,0.083,0.679,0.800,1.095,1.077,
+0.738,1.291,1.427,0.965,0.797,1.287,0.100,0.079,0.063,0.145,
+0.901,0.080,0.544,0.869,0.895,0.995,0.729,1.321,1.891,0.963,
+0.874,1.906,1.263,0.847,0.723,1.286,1.202,0.120,1.381,1.223,
+1.788,1.216,1.288,2.760,2.026,1.058,0.688,1.441,1.544,0.741,
+0.531,0.786,1.037,0.111,0.431,0.730,1.101,1.026,0.496,1.221,
+1.114,0.786,0.481,0.755,0.739,0.548,0.432,0.568,0.863,0.085,
+0.441,0.678,0.735,0.801,0.491,0.878,0.918,0.822,0.589,0.960,
+0.084,0.074,0.053,0.092,0.893,0.083,0.551,0.885,0.750,0.920,
+0.657,0.996,0.960,0.691,0.464,1.005,0.921,0.783,0.474,0.782,
+0.869,0.075,0.793,0.892,0.932,0.799,0.799,1.761,1.499,0.805,
+0.696,1.154,1.080,0.689,0.661,0.955,1.350,0.160,0.566,0.903,
+1.500,1.166,0.697,1.664,0.096,0.077,0.054,0.092,0.078,0.065,
+0.054,0.082,0.096,0.016,0.062,0.086,0.175,0.219,0.085,0.178,
+0.716,0.695,0.675,0.838,0.064,0.057,0.056,0.090,0.884,0.099,
+0.553,0.701,0.661,0.854,0.630,0.915,0.804,0.507,0.461,0.867,
+0.811,0.602,0.524,0.904,0.843,0.082,0.660,0.896,1.025,0.852,
+0.891,1.766,2.156,0.962,0.773,1.797,1.008,0.580,0.567,0.923,
+1.718,0.165,0.645,1.050,3.337,1.890,1.004,2.661,1.312,0.861,
+0.632,1.076,0.848,0.581,0.518,0.761,1.177,0.110,0.643,0.914,
+2.015,2.114,0.930,1.872,1.073,0.942,0.764,1.224,0.081,0.062,
+0.059,0.108,0.986,0.080,0.711,1.086,1.167,1.240,1.028,1.701,
+1.781,1.149,0.933,2.138,1.095,0.750,0.732,1.311,1.601,0.128,
+1.084,1.803,2.773,2.139,2.320,5.330,2.761,1.607,1.174,2.347,
+1.860,1.239,0.896,1.325,1.453,0.161,0.779,1.175,1.801,1.608,
+0.901,1.882,1.895,1.243,0.899,1.367,1.484,1.057,0.968,1.103,
+1.175,0.150,1.739,1.196,0.864,1.296,0.916,1.266,1.179,1.171,
+0.801,1.303,0.117,0.137,0.090,0.176,0.977,0.131,0.791,1.372,
+0.900,1.255,0.933,1.610,1.380,0.867,0.748,1.535,1.337,1.227,
+0.841,1.498,1.110,0.135,0.826,1.292,1.424,1.106,1.147,2.363,
+2.101,1.493,0.820,1.440,1.538,1.268,0.808,0.961,1.142,0.157,
+0.564,0.851,1.036,1.187,0.595,1.276,1.576,1.475,0.745,1.007,
+1.412,1.099,0.899,1.066,1.195,0.187,0.836,1.104,0.835,1.379,
+0.748,1.203,1.120,1.373,0.825,1.160,0.134,0.190,0.107,0.147,
+1.383,0.217,0.962,1.344,0.962,1.710,1.074,1.598,1.060,0.932,
+0.631,1.207,1.288,1.776,0.712,1.235,1.155,0.124,0.842,1.210,
+1.020,1.086,0.932,2.073,1.471,0.914,0.668,0.961,1.348,1.183,
+0.923,1.084,1.454,0.282,0.786,0.910,1.209,1.622,0.767,1.544,
+0.090,0.117,0.081,0.100,0.112,0.162,0.129,0.129,0.152,0.098,
+0.160,0.127,0.135,0.446,0.123,0.164,0.990,1.453,1.164,1.119,
+0.112,0.161,0.125,0.153,1.470,0.369,0.815,1.083,0.811,1.941,
+1.111,1.341,1.003,0.798,0.622,1.033,1.205,1.381,1.059,1.442,
+1.222,0.143,0.930,1.291,1.068,1.160,1.193,2.049,1.649,1.024,
+0.815,1.386,1.035,0.778,0.677,0.933,1.364,0.163,0.667,0.944,
+2.287,2.060,0.993,2.121,1.607,1.489,1.211,1.450,1.313,1.396,
+1.173,1.379,2.010,0.425,1.293,1.477,2.732,8.009,1.661,2.656,
+1.027,1.191,0.987,1.325,0.092,0.117,0.095,0.137,1.293,0.170,
+1.161,1.583,1.162,2.002,1.497,2.106,1.423,1.047,0.884,1.471,
+1.229,1.160,0.935,1.489,1.615,0.144,1.232,1.924,2.100,2.222,
+1.961,3.832,1.942,1.191,0.759,1.574,0.965,0.813,0.521,0.844,
+1.050,0.106,0.500,0.876,1.077,0.909,0.575,1.317,1.432,1.190,
+0.655,1.120,1.056,0.934,0.766,0.816,1.147,0.142,0.823,1.058,
+0.868,1.189,0.745,1.248,1.119,1.224,0.782,1.302,0.128,0.154,
+0.108,0.207,1.200,0.158,0.986,1.246,0.841,1.378,0.929,1.478,
+1.176,0.786,0.577,1.364,1.073,0.994,0.664,1.182,1.303,0.147,
+0.885,1.573,1.437,1.278,1.217,2.736,0.114,0.103,0.060,0.111,
+0.095,0.110,0.059,0.087,0.077,0.015,0.051,0.071,0.077,0.106,
+0.053,0.117,0.087,0.100,0.047,0.067,0.116,0.182,0.087,0.085,
+0.106,0.028,0.109,0.110,0.066,0.127,0.065,0.093,0.071,0.101,
+0.058,0.078,0.014,0.025,0.018,0.016,0.126,0.038,0.204,0.136,
+0.073,0.153,0.104,0.115,0.093,0.080,0.049,0.113,0.126,0.170,
+0.080,0.138,0.116,0.024,0.102,0.147,0.114,0.133,0.098,0.211,
+1.208,0.908,0.576,0.772,1.054,1.168,0.871,0.906,1.140,0.200,
+0.709,0.911,0.819,1.079,0.917,1.341,0.080,0.102,0.056,0.068,
+0.093,0.131,0.121,0.076,0.103,0.033,0.107,0.099,0.092,0.196,
+0.113,0.136,0.859,1.286,0.783,0.941,0.113,0.170,0.127,0.136,
+1.469,0.220,0.740,1.141,0.714,1.429,1.062,1.237,0.874,0.673,
+0.517,0.778,1.104,1.275,0.951,1.172,1.572,0.193,1.140,1.505,
+1.082,1.316,1.299,2.036,1.324,0.706,0.547,1.050,0.828,0.642,
+0.509,0.720,1.031,0.112,0.633,0.944,1.115,0.960,0.722,1.603,
+1.371,1.105,0.778,1.093,1.135,1.166,0.996,0.954,1.348,0.174,
+1.110,1.386,1.281,1.912,1.367,1.856,1.894,1.508,0.987,1.379,
+0.146,0.163,0.113,0.146,1.674,0.178,1.334,1.789,1.706,2.010,
+1.726,2.147,1.398,0.994,0.823,1.430,1.158,1.169,0.899,1.285,
+1.980,0.173,1.707,2.481,2.091,2.084,2.070,3.614,3.008,1.340,
+1.028,2.348,1.282,0.776,0.660,1.245,1.353,0.126,0.576,1.199,
+1.756,1.298,0.845,2.140,1.524,0.864,0.515,0.951,0.938,0.596,
+0.510,0.799,0.920,0.084,0.578,0.920,0.807,0.803,0.568,1.131,
+1.219,1.166,0.649,1.465,0.110,0.119,0.069,0.186,0.934,0.101,
+0.551,0.970,0.956,1.152,0.717,1.408,1.697,0.946,0.736,1.854,
+1.087,0.810,0.645,1.325,1.160,0.098,0.661,1.368,1.971,1.468,
+1.228,3.449,2.197,1.288,0.862,1.964,1.295,0.940,0.744,1.139,
+1.046,0.112,0.576,1.031,1.129,1.243,0.634,1.578,1.343,1.034,
+0.534,0.948,1.142,0.994,0.593,0.877,1.125,0.135,0.946,1.127,
+0.823,1.189,0.662,1.194,1.016,0.979,0.535,1.061,0.078,0.097,
+0.058,0.108,1.099,0.124,1.083,1.197,0.993,1.486,0.864,1.514,
+1.191,0.849,0.623,1.312,1.145,1.002,0.662,1.333,1.138,0.116,
+0.742,1.263,1.416,2.240,1.088,2.951,1.742,1.132,0.810,1.281,
+1.274,1.007,0.854,1.264,1.427,0.185,0.746,1.365,1.417,1.376,
+1.109,2.331,0.102,0.107,0.053,0.094,0.086,0.097,0.074,0.101,
+0.090,0.019,0.073,0.111,0.120,0.168,0.088,0.211,1.132,1.330,
+0.812,1.373,0.091,0.110,0.085,0.144,1.373,0.170,0.918,1.415,
+1.024,1.517,1.232,1.890,1.403,1.042,0.770,1.418,1.408,1.240,
+1.069,1.860,1.979,0.198,1.250,2.112,1.610,1.588,1.615,3.177,
+3.078,1.413,1.126,2.319,1.355,0.904,0.794,1.220,1.738,0.154,
+0.909,1.710,2.483,1.806,1.456,3.777,1.921,1.379,0.811,1.404,
+1.375,1.249,0.895,1.351,1.615,0.138,1.037,1.922,1.685,1.973,
+1.250,3.953,1.919,1.768,1.225,2.271,0.126,0.128,0.089,0.205,
+2.259,0.176,1.523,2.687,2.183,2.609,2.301,3.694,3.865,1.869,
+1.710,3.957,2.387,1.989,1.639,3.828,3.380,0.231,2.637,4.738,
+4.501,3.665,3.731,5.893,4.895,2.188,1.836,3.245,2.385,1.341,
+1.312,1.628,2.440,0.228,1.339,1.834,3.599,2.441,1.698,2.871,
+2.648,1.547,1.188,1.574,1.596,1.005,0.973,0.961,1.545,0.136,
+1.090,1.193,1.366,1.325,1.127,1.506,1.710,1.146,1.095,1.537,
+0.173,0.115,0.122,0.196,1.182,0.102,0.824,0.972,1.198,1.268,
+1.486,1.561,2.675,1.216,1.300,2.718,1.898,1.262,1.321,1.914,
+1.534,0.128,1.203,1.575,2.055,1.341,1.695,2.769,2.605,1.385,
+0.929,1.442,1.490,0.940,0.743,0.928,1.155,0.125,0.911,0.942,
+1.169,1.198,0.793,1.249,1.715,1.160,0.759,0.985,1.050,0.634,
+0.670,0.688,1.042,0.106,0.783,1.054,0.808,0.972,0.829,1.026,
+1.397,1.026,0.647,0.885,0.354,0.088,0.074,0.101,0.989,0.090,
+0.626,0.865,0.718,0.910,0.706,0.849,1.174,0.776,0.582,1.027,
+1.632,0.812,0.685,0.964,1.043,0.089,0.789,1.081,1.023,0.923,
+1.005,1.598,2.396,0.978,0.873,1.244,1.358,0.785,0.807,0.972,
+1.209,0.147,0.689,0.980,1.391,1.145,1.055,1.709,0.146,0.104,
+0.069,0.099,0.098,0.074,0.070,0.076,0.096,0.016,0.078,0.096,
+0.144,0.182,0.120,0.175,0.934,0.689,0.639,0.773,0.079,0.057,
+0.062,0.085,0.825,0.090,0.557,0.683,0.679,0.781,0.963,0.895,
+0.875,0.493,0.516,0.841,1.012,0.686,0.639,0.950,1.056,0.100,
+0.790,1.172,0.894,0.879,1.046,1.697,3.265,0.994,0.884,1.748,
+1.075,0.591,0.665,0.799,1.091,0.105,0.585,0.870,1.538,1.068,
+1.016,2.168,1.709,0.944,0.787,1.043,0.960,0.646,0.638,0.699,
+0.970,0.077,0.708,0.870,1.086,1.010,0.884,1.358,1.205,0.768,
+0.700,0.990,0.088,0.052,0.056,0.086,0.803,0.062,0.549,0.779,
+0.740,0.841,0.923,1.142,1.653,0.735,0.835,1.610,0.848,0.477,
+0.594,0.933,1.287,0.090,0.936,1.480,1.738,1.304,1.750,3.082,
+3.533,2.106,1.627,2.665,1.834,1.348,1.189,1.445,1.413,0.154,
+0.847,1.281,1.695,1.583,1.294,2.033,2.468,1.848,1.200,1.514,
+1.513,1.118,1.184,1.079,1.354,0.142,1.149,1.360,0.967,1.079,
+1.007,1.390,1.166,1.082,0.942,1.127,0.118,0.127,0.107,0.145,
+0.872,0.094,0.699,0.859,0.666,0.998,0.924,1.244,1.512,0.765,
+0.773,1.436,1.364,1.079,0.877,1.177,0.992,0.096,0.731,1.149,
+1.101,0.915,1.179,2.168,2.525,1.794,0.953,1.498,1.611,1.551,
+0.969,1.270,1.097,0.141,0.737,0.930,0.973,1.086,0.731,1.168,
+1.733,1.398,0.925,1.070,1.013,0.535,0.784,0.777,1.069,0.139,
+0.950,1.156,0.729,0.972,0.842,1.010,1.134,1.383,0.836,1.041,
+0.142,0.148,0.108,0.138,1.076,0.170,0.873,1.087,0.663,1.531,
+0.942,1.093,0.994,0.747,0.556,0.919,1.340,0.938,0.654,0.877,
+0.870,0.090,0.664,0.963,0.759,0.800,0.807,1.389,1.981,1.160,
+0.857,1.256,1.397,1.224,1.219,1.180,1.191,0.167,0.907,1.207,
+0.974,1.074,1.180,1.579,0.134,0.170,0.097,0.132,0.114,0.158,
+0.146,0.112,0.117,0.038,0.151,0.153,0.102,0.205,0.173,0.183,
+1.069,1.288,1.186,1.216,0.121,0.177,0.157,0.137,1.121,0.174,
+1.090,1.162,0.768,1.515,2.359,1.494,0.894,0.586,0.720,0.908,
+1.203,1.202,1.092,1.242,1.374,0.139,1.251,1.540,0.837,0.979,
+1.505,1.807,1.923,0.994,0.795,1.336,1.016,0.720,0.705,0.833,
+0.813,0.080,0.514,0.771,0.987,0.856,0.814,1.510,1.685,1.334,
+0.999,1.337,1.198,1.080,1.040,1.150,1.001,0.101,0.946,1.239,
+0.991,1.272,1.132,1.653,0.962,0.968,0.923,1.202,0.081,0.091,
+0.079,0.106,0.845,0.085,0.794,1.057,0.771,1.078,1.336,1.541,
+1.255,0.697,0.854,1.322,1.028,0.770,0.736,1.083,1.226,0.094,
+1.099,1.660,1.453,1.402,2.177,2.943,2.298,1.596,1.038,1.765,
+1.148,0.998,0.689,0.889,1.130,0.123,0.636,0.963,1.406,1.162,
+0.809,1.427,2.184,1.746,1.022,1.487,1.302,1.175,1.072,1.072,
+1.576,0.172,1.146,1.473,1.053,1.393,0.940,1.523,1.280,1.642,
+1.425,1.388,0.147,0.208,0.158,0.222,1.091,0.135,0.781,1.136,
+0.741,1.324,0.901,1.211,1.478,1.005,0.915,1.557,1.251,1.377,
+0.974,1.290,1.240,0.135,0.961,1.410,1.305,1.224,1.346,2.737,
+0.179,0.177,0.094,0.148,0.200,0.246,0.096,0.126,0.124,0.026,
+0.092,0.116,0.124,0.164,0.099,0.143,0.188,0.203,0.105,0.134,
+0.164,0.195,0.136,0.124,0.203,0.040,0.158,0.204,0.115,0.214,
+0.120,0.158,0.121,0.196,0.121,0.133,0.021,0.035,0.029,0.030,
+0.251,0.043,0.173,0.312,0.105,0.236,0.139,0.163,0.194,0.160,
+0.112,0.196,0.276,0.313,0.198,0.252,0.180,0.031,0.166,0.239,
+0.176,0.206,0.184,0.318,1.443,1.039,0.770,0.878,1.102,1.036,
+0.971,0.856,1.293,0.279,1.075,1.180,0.932,1.385,1.096,1.354,
+0.131,0.165,0.083,0.094,0.101,0.134,0.113,0.076,0.228,0.071,
+0.157,0.141,0.129,0.292,0.153,0.154,0.963,1.544,0.936,0.894,
+0.122,0.167,0.148,0.123,1.109,0.173,0.734,0.909,0.623,1.090,
+1.036,0.984,0.821,0.683,0.613,0.769,1.248,1.282,1.043,1.128,
+1.182,0.176,1.473,1.516,0.799,1.045,1.284,1.535,1.310,0.773,
+0.581,1.042,0.771,0.565,0.480,0.559,0.897,0.100,0.569,0.759,
+0.921,0.919,0.741,1.229,1.797,1.387,0.889,1.272,1.241,1.226,
+0.910,0.922,2.314,0.200,1.153,1.432,1.308,1.688,1.177,1.508,
+1.079,1.259,1.135,1.331,0.123,0.143,0.122,0.133,1.122,0.133,
+1.013,1.204,0.882,1.647,1.268,1.529,1.563,0.979,0.869,1.355,
+1.685,1.018,0.854,1.072,1.401,0.137,1.435,1.810,1.577,1.565,
+1.734,2.527,2.742,1.408,1.044,2.101,1.084,0.775,0.645,0.871,
+1.100,0.102,0.559,0.909,1.620,1.106,0.887,1.874,1.486,0.894,
+0.612,1.027,0.829,0.544,0.535,0.717,1.045,0.082,0.566,1.001,
+0.856,0.712,0.589,1.115,1.082,0.904,0.708,1.210,0.097,0.096,
+0.072,0.149,0.758,0.072,0.480,0.798,0.675,0.852,0.614,1.092,
+1.703,0.858,0.929,2.172,1.130,0.948,0.820,1.388,1.146,0.092,
+0.806,1.232,1.490,1.126,1.273,3.012,2.031,1.345,0.834,1.545,
+1.416,1.111,0.712,0.911,1.062,0.114,0.714,0.974,1.090,1.066,
+0.810,1.360,1.488,1.193,0.641,1.035,1.061,0.958,0.687,0.769,
+1.115,0.143,0.778,1.169,0.866,1.105,0.658,1.095,0.985,0.964,
+0.658,1.060,0.085,0.093,0.072,0.116,1.112,0.112,0.761,1.348,
+0.819,1.184,0.774,1.231,1.367,0.794,0.701,1.353,1.254,1.012,
+0.842,1.285,1.184,0.106,0.873,1.389,1.202,1.230,1.068,2.134,
+1.733,0.949,0.789,1.179,1.316,0.937,0.928,1.178,1.345,0.176,
+1.052,1.268,1.118,1.127,1.483,1.883,0.144,0.112,0.073,0.120,
+0.093,0.096,0.087,0.098,0.123,0.021,0.122,0.138,0.126,0.179,
+0.149,0.181,1.045,1.102,0.856,1.449,0.090,0.091,0.090,0.153,
+1.150,0.132,0.858,1.169,0.838,1.204,1.240,1.505,1.117,0.764,
+0.792,1.405,1.360,1.087,1.143,1.887,1.743,0.163,1.409,2.166,
+1.285,1.343,1.667,2.584,2.470,1.144,0.964,1.862,1.116,0.785,
+0.778,1.003,1.258,0.121,0.745,1.198,1.740,1.283,1.222,2.711,
+1.450,0.973,0.761,1.315,0.849,0.591,0.734,0.928,1.255,0.093,
+0.885,1.383,1.310,1.279,1.065,1.862,1.711,1.509,1.302,2.762,
+0.128,0.105,0.096,0.203,1.493,0.129,1.129,1.847,1.531,1.790,
+1.785,2.694,2.988,1.416,1.522,3.381,1.903,1.434,1.467,2.376,
+2.642,0.169,2.114,3.464,3.959,2.691,3.299,5.368,0.236,0.143,
+0.121,0.175,0.147,0.117,0.104,0.109,0.124,0.017,0.104,0.109,
+0.146,0.141,0.111,0.142,0.161,0.129,0.100,0.113,0.125,0.102,
+0.110,0.096,0.113,0.019,0.105,0.118,0.090,0.114,0.111,0.120,
+0.091,0.083,0.086,0.101,0.012,0.015,0.018,0.016,0.073,0.011,
+0.105,0.075,0.066,0.106,0.348,0.133,0.126,0.087,0.076,0.131,
+0.127,0.168,0.105,0.128,0.103,0.016,0.108,0.114,0.112,0.111,
+0.151,0.187,0.188,0.145,0.105,0.119,0.138,0.141,0.102,0.090,
+0.138,0.034,0.336,0.136,0.093,0.140,0.123,0.118,0.164,0.155,
+0.093,0.099,0.130,0.116,0.119,0.101,0.146,0.040,0.156,0.230,
+0.081,0.145,0.108,0.128,0.096,0.110,0.074,0.080,0.020,0.019,
+0.024,0.016,0.105,0.022,0.107,0.113,0.059,0.116,0.116,0.101,
+0.085,0.096,0.054,0.081,0.120,0.098,0.089,0.102,0.100,0.014,
+0.118,0.118,0.092,0.100,0.110,0.161,0.135,0.073,0.056,0.073,
+0.105,0.077,0.076,0.075,0.093,0.016,0.076,0.078,0.076,0.089,
+0.085,0.114,0.013,0.015,0.011,0.011,0.014,0.016,0.018,0.011,
+0.013,6.18e-3,0.019,0.017,0.010,0.022,0.019,0.018,0.063,0.068,
+0.065,0.063,9.17e-3,0.011,0.015,9.86e-3,0.073,0.015,0.079,0.070,
+0.048,0.088,0.190,0.097,0.058,0.036,0.042,0.060,0.079,0.073,
+0.070,0.084,0.099,0.014,0.091,0.102,0.069,0.080,0.131,0.142,
+0.169,0.070,0.061,0.107,0.081,0.052,0.053,0.061,0.080,0.011,
+0.054,0.066,0.101,0.086,0.077,0.152,0.136,0.104,0.087,0.119,
+0.109,0.100,0.091,0.092,0.089,0.014,0.085,0.111,0.088,0.117,
+0.098,0.147,0.082,0.066,0.077,0.091,0.013,9.19e-3,0.013,0.012,
+0.073,0.011,0.068,0.085,0.063,0.101,0.188,0.124,0.108,0.063,
+0.066,0.117,0.092,0.063,0.066,0.091,0.110,0.012,0.114,0.149,
+0.138,0.141,0.182,0.300,0.191,0.137,0.108,0.140,0.138,0.147,
+0.115,0.112,0.092,0.017,0.070,0.083,0.089,0.102,0.082,0.112,
+0.163,0.149,0.108,0.103,0.157,0.150,0.182,0.118,0.117,0.036,
+0.139,0.131,0.064,0.100,0.102,0.109,0.072,0.087,0.078,0.071,
+0.014,0.020,0.022,0.016,0.065,0.015,0.074,0.069,0.045,0.079,
+0.096,0.092,0.078,0.050,0.048,0.080,0.091,0.096,0.078,0.087,
+0.080,0.012,0.068,0.084,0.084,0.068,0.090,0.143,0.190,0.205,
+0.094,0.111,0.190,0.433,0.145,0.145,0.112,0.029,0.105,0.099,
+0.076,0.121,0.078,0.102,0.193,0.256,0.135,0.114,0.200,0.159,
+0.185,0.165,0.160,0.064,0.176,0.192,0.082,0.178,0.133,0.128,
+0.100,0.175,0.107,0.102,0.023,0.055,0.049,0.035,0.127,0.055,
+0.128,0.141,0.057,0.187,0.148,0.117,0.079,0.074,0.054,0.088,
+0.126,0.149,0.097,0.110,0.104,0.021,0.096,0.112,0.073,0.091,
+0.115,0.145,0.132,0.096,0.084,0.084,0.129,0.155,0.144,0.099,
+0.112,0.022,0.100,0.107,0.071,0.101,0.112,0.118,0.017,0.029,
+0.024,0.017,0.027,0.059,0.060,0.024,0.026,0.028,0.057,0.037,
+0.011,0.036,0.039,0.022,0.104,0.185,0.144,0.140,0.027,0.067,
+0.062,0.030,0.135,0.052,0.175,0.138,0.072,0.181,0.431,0.167,
+0.092,0.052,0.063,0.074,0.117,0.164,0.154,0.137,0.351,0.046,
+0.177,0.164,0.093,0.108,0.193,0.160,0.126,0.078,0.063,0.094,
+0.082,0.073,0.061,0.063,0.066,8.02e-3,0.051,0.063,0.072,0.070,
+0.069,0.113,0.125,0.137,0.115,0.109,0.123,0.158,0.142,0.117,
+0.104,0.024,0.129,0.136,0.072,0.138,0.122,0.132,0.075,0.100,
+0.097,0.095,8.54e-3,0.019,0.018,0.014,0.080,0.019,0.101,0.103,
+0.061,0.105,0.161,0.122,0.083,0.054,0.063,0.089,0.082,0.078,
+0.073,0.091,0.118,0.012,0.110,0.138,0.104,0.129,0.185,0.232,
+0.130,0.113,0.080,0.111,0.078,0.085,0.059,0.071,0.075,0.010,
+0.055,0.061,0.074,0.073,0.054,0.082,0.135,0.147,0.092,0.105,
+0.123,0.147,0.127,0.108,0.146,0.038,0.146,0.151,0.069,0.141,
+0.085,0.112,0.081,0.117,0.097,0.089,0.013,0.023,0.024,0.024,
+0.153,0.023,0.093,0.104,0.051,0.107,0.091,0.090,0.073,0.059,
+0.050,0.089,0.088,0.089,0.081,0.102,0.096,0.016,0.088,0.107,
+0.079,0.092,0.098,0.175,0.012,0.017,0.012,0.012,0.022,0.031,
+0.019,0.016,0.016,7.17e-3,0.019,0.012,0.011,0.018,0.019,0.013,
+0.020,0.037,0.019,0.016,0.032,0.060,0.046,0.029,0.026,0.031,
+0.050,0.042,0.013,0.042,0.023,0.022,0.012,0.032,0.025,0.014,
+7.02e-3,0.021,0.028,9.92e-3,0.089,0.030,0.067,0.051,0.013,0.043,
+0.040,0.021,9.38e-3,0.011,7.83e-3,0.011,0.025,0.029,0.026,0.023,
+0.022,7.58e-3,0.031,0.027,0.012,0.017,0.022,0.024,0.116,0.121,
+0.087,0.072,0.103,0.167,0.146,0.092,0.135,0.042,0.146,0.128,
+0.076,0.187,0.130,0.146,0.015,0.036,0.019,0.013,0.022,0.058,
+0.050,0.020,0.032,0.035,0.082,0.040,0.014,0.046,0.036,0.021,
+0.101,0.316,0.142,0.101,0.022,0.066,0.061,0.027,0.143,0.063,
+0.141,0.141,0.054,0.185,0.170,0.122,0.072,0.076,0.060,0.070,
+0.145,0.172,0.158,0.139,0.149,0.045,0.226,0.190,0.071,0.125,
+0.171,0.167,0.096,0.073,0.056,0.090,0.067,0.058,0.049,0.054,
+0.083,0.013,0.058,0.077,0.071,0.109,0.068,0.116,0.145,0.159,
+0.103,0.117,0.163,0.204,0.150,0.120,0.193,0.040,0.177,0.188,
+0.103,0.213,0.152,0.160,0.092,0.153,0.136,0.121,0.022,0.031,
+0.043,0.020,0.132,0.039,0.155,0.162,0.087,0.315,0.192,0.210,
+0.125,0.078,0.066,0.101,0.471,0.112,0.102,0.106,0.148,0.021,
+0.164,0.185,0.135,0.180,0.178,0.234,0.170,0.113,0.086,0.149,
+0.121,0.079,0.069,0.140,0.111,0.011,0.055,0.099,0.122,0.093,
+0.079,0.147,0.128,0.114,0.062,0.094,0.089,0.070,0.069,0.092,
+0.094,0.013,0.070,0.107,0.076,0.074,0.065,0.107,0.080,0.076,
+0.063,0.097,8.36e-3,9.65e-3,8.65e-3,0.017,0.075,8.73e-3,0.055,0.081,
+0.052,0.074,0.064,0.098,0.118,0.070,0.075,0.159,0.095,0.082,
+0.075,0.166,0.115,0.011,0.075,0.152,0.130,0.100,0.119,0.319,
+0.194,0.149,0.105,0.157,0.173,0.139,0.125,0.120,0.127,0.021,
+0.118,0.129,0.128,0.146,0.236,0.171,0.180,0.178,0.096,0.132,
+0.175,0.185,0.154,0.150,0.159,0.036,0.154,0.205,0.117,0.212,
+0.130,0.171,0.096,0.130,0.094,0.119,0.014,0.022,0.022,0.023,
+0.203,0.028,0.141,0.214,0.090,0.169,0.117,0.147,0.119,0.087,
+0.080,0.145,0.149,0.138,0.131,0.219,0.138,0.017,0.140,0.201,
+0.130,0.149,0.154,0.266,0.122,0.080,0.067,0.087,0.103,0.099,
+0.099,0.105,0.115,0.023,0.115,0.124,0.085,0.113,0.146,0.179,
+0.014,0.014,9.28e-3,0.013,0.014,0.024,0.021,0.015,0.014,8.31e-3,
+0.028,0.021,0.012,0.024,0.033,0.025,0.081,0.125,0.094,0.110,
+0.012,0.021,0.022,0.021,0.122,0.028,0.122,0.131,0.066,0.146,
+0.172,0.145,0.091,0.064,0.069,0.103,0.115,0.109,0.126,0.176,
+0.191,0.027,0.180,0.261,0.111,0.136,0.203,0.258,0.169,0.104,
+0.080,0.137,0.093,0.077,0.073,0.099,0.103,0.014,0.070,0.109,
+0.120,0.112,0.103,0.215,0.126,0.102,0.077,0.119,0.100,0.091,
+0.092,0.111,0.103,0.013,0.104,0.137,0.104,0.124,0.109,0.200,
+0.117,0.127,0.110,0.185,0.012,0.014,0.013,0.023,0.125,0.018,
+0.121,0.184,0.109,0.177,0.173,0.237,0.185,0.105,0.111,0.217,
+0.181,0.129,0.133,0.226,0.199,0.019,0.208,0.311,0.275,0.268,
+0.311,0.476,2.396,1.588,1.336,2.529,1.642,1.216,1.154,1.516,
+1.361,0.148,0.980,1.443,1.938,1.563,1.184,1.916,1.578,1.087,
+0.799,1.205,1.154,0.801,0.868,0.954,0.978,0.100,0.849,0.969,
+0.912,0.983,0.916,1.208,1.053,0.923,0.792,1.066,0.095,0.083,
+0.084,0.145,0.808,0.083,0.752,0.956,0.668,0.825,0.953,1.151,
+1.148,0.609,0.552,1.119,0.847,0.622,0.590,0.924,0.901,0.073,
+0.711,0.955,1.049,0.623,0.978,1.776,2.385,1.549,1.184,1.693,
+1.641,1.265,1.128,1.162,1.137,0.145,0.868,1.020,1.027,1.172,
+0.759,1.231,1.936,1.550,0.983,1.152,1.420,0.914,1.180,1.015,
+1.546,0.205,1.265,1.645,0.933,1.296,0.887,1.163,1.253,1.327,
+1.035,1.168,0.154,0.155,0.154,0.195,1.488,0.219,1.399,2.567,
+0.900,1.447,1.351,1.539,0.939,0.676,0.525,0.848,1.238,1.057,
+0.819,1.174,0.953,0.102,0.879,1.357,0.921,0.925,1.115,1.908,
+1.593,0.842,0.647,1.023,1.440,1.103,1.092,1.159,1.288,0.184,
+0.868,1.059,1.066,1.172,1.106,1.527,0.174,0.166,0.103,0.145,
+0.199,0.185,0.180,0.176,0.175,0.046,0.191,0.201,0.186,0.358,
+0.211,0.270,0.983,0.964,0.964,1.103,0.122,0.119,0.157,0.168,
+1.302,0.239,1.121,1.190,0.686,1.236,1.533,1.209,0.765,0.541,
+0.472,0.690,1.200,1.000,0.991,1.224,1.048,0.136,1.064,1.230,
+0.999,0.967,1.239,1.572,1.634,0.721,0.605,1.142,0.843,0.595,
+0.609,0.741,0.840,0.091,0.521,0.754,1.134,0.984,0.826,1.505,
+1.481,1.125,0.750,1.000,1.091,0.892,0.855,0.950,1.001,0.107,
+0.898,1.087,1.087,1.402,1.049,1.599,1.129,1.075,1.023,1.213,
+0.108,0.097,0.117,0.153,1.534,0.150,1.141,1.390,0.966,1.399,
+1.917,1.726,1.316,0.763,0.719,1.336,0.970,0.709,0.846,1.317,
+1.652,0.172,1.373,1.852,1.987,1.719,2.136,3.443,0.154,0.137,
+0.090,0.137,0.126,0.124,0.106,0.126,0.084,0.016,0.060,0.080,
+0.092,0.098,0.083,0.111,0.145,0.143,0.108,0.116,0.152,0.150,
+0.177,0.131,0.110,0.032,0.130,0.129,0.089,0.119,0.116,0.120,
+0.067,0.090,0.065,0.074,0.015,0.025,0.021,0.020,0.067,0.018,
+0.084,0.098,0.043,0.088,0.108,0.096,0.078,0.049,0.043,0.072,
+0.091,0.092,0.071,0.091,0.065,9.92e-3,0.064,0.082,0.073,0.067,
+0.095,0.154,0.150,0.156,0.087,0.110,0.139,0.182,0.138,0.136,
+0.105,0.024,0.082,0.077,0.064,0.095,0.069,0.084,0.172,0.227,
+0.118,0.112,0.165,0.141,0.186,0.134,0.150,0.066,0.169,0.172,
+0.075,0.154,0.116,0.130,0.081,0.139,0.088,0.083,0.022,0.049,
+0.048,0.028,0.155,0.070,0.171,0.215,0.078,0.168,0.157,0.131,
+0.070,0.057,0.044,0.058,0.102,0.114,0.083,0.093,0.075,0.017,
+0.086,0.105,0.056,0.074,0.090,0.131,0.113,0.090,0.063,0.068,
+0.140,0.170,0.173,0.123,0.111,0.031,0.112,0.097,0.064,0.107,
+0.114,0.116,0.019,0.033,0.021,0.017,0.036,0.063,0.072,0.032,
+0.029,0.039,0.077,0.041,0.012,0.044,0.043,0.027,0.083,0.141,
+0.142,0.128,0.025,0.054,0.081,0.031,0.195,0.120,0.240,0.169,
+0.076,0.229,0.481,0.184,0.063,0.052,0.054,0.062,0.113,0.145,
+0.153,0.129,0.127,0.037,0.167,0.140,0.068,0.104,0.171,0.154,
+0.149,0.118,0.082,0.116,0.098,0.088,0.079,0.086,0.079,0.012,
+0.057,0.078,0.096,0.106,0.118,0.162,0.184,0.177,0.125,0.147,
+0.196,0.223,0.195,0.181,0.139,0.033,0.165,0.169,0.128,0.232,
+0.194,0.217,0.096,0.121,0.128,0.122,0.012,0.023,0.029,0.023,
+0.137,0.037,0.171,0.167,0.111,0.183,0.473,0.225,0.103,0.073,
+0.071,0.110,0.097,0.091,0.105,0.127,0.128,0.020,0.148,0.182,
+0.148,0.157,0.240,0.322,1.658,2.000,1.147,1.786,1.217,1.100,
+0.851,1.277,1.165,0.123,0.793,1.002,0.852,0.763,0.640,1.023,
+1.802,1.657,0.987,1.186,1.652,1.466,1.590,1.419,1.961,0.249,
+1.716,2.219,0.835,1.330,0.955,1.257,1.155,1.439,0.982,1.185,
+0.168,0.226,0.194,0.279,1.526,0.210,1.479,1.820,0.775,1.392,
+1.162,1.467,0.983,0.698,0.509,0.941,1.025,0.971,0.797,1.095,
+1.237,0.140,1.155,1.594,1.048,0.993,1.318,2.198,0.149,0.180,
+0.091,0.133,0.169,0.220,0.160,0.325,0.113,0.031,0.158,0.131,
+0.071,0.107,0.080,0.111,0.165,0.210,0.127,0.128,0.241,0.271,
+0.297,0.323,0.192,0.078,0.308,0.275,0.077,0.162,0.112,0.125,
+0.119,0.223,0.136,0.120,0.030,0.076,0.079,0.049,0.213,0.096,
+0.308,0.356,0.083,0.229,0.204,0.182,0.111,0.091,0.058,0.104,
+0.164,0.205,0.156,0.191,0.138,0.031,0.167,0.235,0.099,0.116,
+0.137,0.226,2.004,1.220,0.989,0.797,1.511,1.624,1.582,1.336,
+1.414,0.283,1.736,1.507,0.750,1.098,1.334,1.525,0.159,0.239,
+0.178,0.119,0.165,0.280,0.251,0.141,0.239,0.105,0.405,0.293,
+0.099,0.241,0.205,0.176,1.365,1.359,1.223,1.028,0.202,0.191,
+0.268,0.167,1.003,0.202,0.347,0.564,0.545,0.845,1.159,1.145,
+0.772,0.631,0.629,0.569,1.007,1.121,1.214,0.944,1.145,0.197,
+1.886,1.612,0.698,0.959,1.581,1.682,1.214,0.784,0.604,0.905,
+0.795,0.662,0.526,0.620,0.743,0.091,0.730,0.800,0.616,0.648,
+0.622,0.997,1.519,1.490,1.065,1.082,1.434,1.618,1.301,1.062,
+1.416,0.213,1.741,1.648,0.866,1.512,1.203,1.275,1.071,1.279,
+1.117,1.188,0.131,0.202,0.178,0.165,1.549,0.234,2.509,2.128,
+0.915,1.791,1.996,1.813,0.976,0.726,0.642,0.964,1.062,1.013,
+0.912,0.987,1.399,0.160,2.140,2.102,1.347,1.527,1.931,2.361,
+1.861,1.118,0.794,1.491,0.993,0.746,0.672,0.915,0.937,0.104,
+0.652,0.886,1.022,0.927,0.707,1.292,1.320,0.907,0.565,0.812,
+0.890,0.638,0.721,0.789,0.804,0.076,0.619,0.883,0.549,0.616,
+0.535,0.844,0.918,0.838,0.547,0.850,0.087,0.087,0.075,0.138,
+0.824,0.087,0.696,1.048,0.598,0.806,0.751,1.101,1.034,0.608,
+0.512,0.985,0.827,0.620,0.550,0.935,0.822,0.068,0.621,1.000,
+0.975,0.781,0.955,1.916,1.941,1.451,0.897,1.506,1.528,1.379,
+1.254,1.469,1.070,0.148,1.413,1.284,0.913,1.070,0.795,1.332,
+1.800,1.626,1.012,1.239,1.655,1.466,1.864,1.569,1.296,0.174,
+1.586,1.828,0.770,1.150,0.863,1.253,1.103,1.467,0.886,1.106,
+0.122,0.186,0.155,0.197,1.495,0.239,1.601,2.572,0.827,1.685,
+1.399,1.737,1.080,0.802,0.606,1.040,1.284,1.234,1.045,1.518,
+1.094,0.123,1.163,1.811,0.988,1.076,1.146,2.001,1.848,1.133,
+0.852,1.046,1.454,1.272,1.354,1.301,1.490,0.207,1.341,1.476,
+1.016,1.185,1.533,1.839,0.142,0.155,0.098,0.117,0.156,0.219,
+0.219,0.163,0.140,0.044,0.220,0.203,0.109,0.205,0.186,0.187,
+1.400,1.694,1.251,1.393,0.154,0.185,0.204,0.209,2.158,0.368,
+1.740,2.224,1.060,1.987,2.453,2.109,1.085,0.856,0.782,0.998,
+1.499,1.414,1.576,1.745,1.454,0.191,2.095,2.524,1.136,1.339,
+2.159,2.536,1.806,0.945,0.761,1.235,0.963,0.761,0.723,0.791,
+1.002,0.112,0.778,0.977,1.188,0.920,0.970,1.609,1.505,1.213,
+0.841,1.088,1.157,1.094,1.138,1.075,1.056,0.111,1.182,1.415,
+0.997,1.117,1.132,1.458,1.527,1.604,1.240,1.692,0.127,0.141,
+0.134,0.188,1.922,0.211,2.173,3.143,1.402,1.971,2.277,2.549,
+1.871,1.110,1.044,1.971,1.619,1.398,1.484,1.899,1.955,0.172,
+2.369,3.234,2.275,1.961,2.723,3.854,3.023,1.585,1.481,3.091,
+1.425,0.894,0.862,1.221,1.348,0.118,0.706,1.182,2.036,1.481,
+1.053,2.057,1.685,0.973,0.728,1.083,0.964,0.575,0.581,0.698,
+0.990,0.072,0.693,0.794,0.944,0.908,0.703,1.072,1.134,0.878,
+0.723,1.132,0.093,0.078,0.069,0.139,0.740,0.063,0.542,0.760,
+0.667,0.798,0.791,1.160,1.584,0.808,0.766,1.586,1.141,0.764,
+0.701,1.104,1.008,0.080,0.763,1.139,1.418,0.981,1.255,2.585,
+2.122,1.258,0.899,1.478,1.167,0.787,0.623,0.777,0.828,0.080,
+0.510,0.747,0.930,0.817,0.597,1.153,1.335,0.876,0.591,0.808,
+0.804,0.539,0.547,0.601,0.865,0.069,0.593,0.837,0.752,0.725,
+0.573,0.950,0.849,0.704,0.596,0.769,0.066,0.062,0.052,0.076,
+0.782,0.067,0.536,0.887,0.740,0.763,0.717,0.963,0.857,0.598,
+0.426,0.757,0.781,0.653,0.453,0.705,0.725,0.055,0.589,0.894,
+0.844,0.698,0.899,1.695,2.230,0.840,0.655,1.045,1.212,0.692,
+0.676,0.902,1.012,0.112,0.468,0.780,1.158,0.912,0.760,1.476,
+0.147,0.089,0.060,0.095,0.098,0.072,0.068,0.086,0.093,0.013,
+0.063,0.091,0.143,0.169,0.101,0.168,1.041,0.767,0.811,1.022,
+0.081,0.059,0.071,0.102,0.952,0.099,0.601,0.860,0.789,0.928,
+1.040,1.208,1.243,0.525,0.556,0.896,0.999,0.667,0.671,0.996,
+0.944,0.083,0.748,1.240,1.049,0.899,1.208,2.055,2.336,0.847,
+0.719,1.514,0.997,0.573,0.588,0.798,1.021,0.086,0.579,0.834,
+1.676,1.018,0.947,1.877,1.477,0.885,0.659,0.995,0.832,0.596,
+0.590,0.696,0.877,0.064,0.652,0.864,1.153,1.124,0.852,1.382,
+1.055,0.819,0.794,1.170,0.082,0.059,0.076,0.101,0.937,0.065,
+0.653,0.937,1.192,0.971,1.193,1.456,1.639,0.821,0.821,1.707,
+1.077,0.659,0.794,1.205,1.493,0.099,1.067,1.769,2.030,1.556,
+2.203,4.167,3.153,1.832,1.451,2.711,1.756,1.341,1.154,1.462,
+1.275,0.136,0.808,1.243,1.588,1.408,1.118,2.042,2.183,1.401,
+1.156,1.536,1.464,1.064,1.201,1.189,1.311,0.137,1.317,1.440,
+0.982,1.126,1.083,1.481,1.184,1.031,0.916,1.237,0.104,0.120,
+0.097,0.150,0.961,0.106,0.873,1.233,0.689,1.050,1.174,1.572,
+1.379,0.771,0.719,1.303,1.337,1.121,0.855,1.228,0.935,0.090,
+0.751,1.178,1.197,1.039,1.311,2.483,2.419,1.733,1.026,1.659,
+1.640,1.527,1.024,1.232,1.054,0.123,0.672,0.983,1.056,1.090,
+0.756,1.364,1.879,1.550,0.961,1.259,1.500,0.968,1.076,1.125,
+1.428,0.191,1.184,1.558,0.933,1.332,1.018,1.392,1.058,1.117,
+0.823,1.075,0.103,0.132,0.095,0.116,1.315,0.184,1.021,1.421,
+0.925,1.466,1.230,1.689,0.921,0.693,0.515,0.837,1.091,1.014,
+0.662,0.916,0.850,0.087,0.789,1.099,0.841,0.905,1.025,1.750,
+2.051,1.146,0.826,1.140,1.666,1.458,1.416,1.348,1.352,0.196,
+0.852,1.109,1.136,1.223,1.161,1.854,0.132,0.135,0.085,0.116,
+0.141,0.187,0.168,0.140,0.117,0.043,0.148,0.148,0.119,0.236,
+0.171,0.194,1.179,1.304,1.336,1.552,0.131,0.167,0.189,0.184,
+1.489,0.289,1.291,1.646,1.058,1.963,2.390,2.224,1.055,0.732,
+0.742,1.098,1.405,1.342,1.402,1.649,1.417,0.150,1.423,1.888,
+1.190,1.289,1.982,2.646,2.425,1.182,0.954,1.595,1.235,0.932,
+0.865,1.090,1.083,0.106,0.755,1.074,1.318,1.133,1.194,2.107,
+2.125,1.542,1.212,1.569,1.428,1.453,1.360,1.456,1.388,0.156,
+1.462,1.736,1.418,2.125,1.745,2.191,1.134,1.082,1.438,1.581,
+0.102,0.112,0.228,0.161,1.236,0.143,1.365,1.704,1.152,1.727,
+2.771,2.570,1.435,0.895,0.983,1.536,1.361,1.061,1.236,1.599,
+1.570,0.122,1.529,2.188,1.916,1.719,2.572,4.057,4.170,1.783,
+1.588,2.088,1.293,1.056,0.803,1.160,1.293,0.116,0.774,1.149,
+1.373,1.016,0.829,1.499,2.201,1.677,1.013,1.421,1.506,1.246,
+1.145,1.192,1.689,0.176,1.482,1.924,1.138,1.442,1.097,1.663,
+1.296,1.507,1.096,1.415,0.160,0.173,0.154,0.232,1.401,0.165,
+1.027,1.466,1.030,1.630,1.599,1.787,1.361,0.920,0.739,1.358,
+1.374,1.095,0.942,1.339,1.404,0.146,1.126,2.055,1.564,1.429,
+1.783,3.333,0.206,0.145,0.324,0.164,0.120,0.139,0.105,0.138,
+0.096,0.016,0.090,0.120,0.095,0.120,0.145,0.144,0.146,0.159,
+0.090,0.109,0.168,0.200,0.157,0.163,0.160,0.045,0.210,0.400,
+0.096,0.172,0.124,0.168,0.080,0.132,0.096,0.099,0.022,0.033,
+0.032,0.022,0.165,0.044,0.164,0.209,0.118,0.239,0.349,0.199,
+0.117,0.090,0.067,0.116,0.197,0.174,0.149,0.169,0.119,0.025,
+0.121,0.203,0.127,0.142,0.173,0.253,2.254,1.419,1.036,1.128,
+1.627,1.647,1.563,1.352,1.535,0.274,1.313,1.486,1.200,1.472,
+1.531,1.948,0.146,0.177,0.092,0.104,0.138,0.185,0.142,0.108,
+0.158,0.054,0.205,0.183,0.137,0.257,0.187,0.187,1.459,1.803,
+1.485,1.533,0.186,0.245,0.245,0.200,1.963,0.314,1.026,1.690,
+1.070,1.915,2.279,2.051,1.210,0.887,0.872,1.074,1.626,1.692,
+1.817,1.572,1.513,0.217,2.074,2.441,1.274,1.586,2.228,2.871,
+2.133,1.192,0.859,1.452,1.159,0.977,0.790,0.964,1.521,0.140,
+1.063,1.568,1.292,1.085,1.072,1.917,2.198,1.937,1.242,1.631,
+1.646,1.772,1.283,1.232,1.845,0.199,1.990,2.282,1.586,2.277,
+1.930,2.222,1.502,1.594,1.436,1.735,0.144,0.193,0.191,0.189,
+2.039,0.218,2.221,2.680,1.571,2.730,4.788,3.408,1.702,1.052,
+1.034,1.525,1.533,1.354,1.410,1.469,2.076,0.185,2.493,3.178,
+2.174,2.247,3.205,4.256,3.513,1.641,1.134,2.271,1.300,0.867,
+0.701,1.136,1.289,0.120,0.785,1.215,1.626,1.208,0.956,2.136,
+1.734,1.079,0.612,1.043,0.995,0.663,0.590,0.807,1.037,0.081,
+0.675,1.040,0.851,0.783,0.721,1.209,1.267,1.127,0.741,1.451,
+0.117,0.120,0.083,0.197,1.004,0.093,0.668,1.155,0.942,1.124,
+0.955,1.437,1.695,0.866,0.753,1.626,1.085,0.759,0.697,1.224,
+1.116,0.088,0.778,1.500,1.620,1.210,1.479,3.545,2.163,1.330,
+1.236,1.669,1.286,0.973,0.833,1.133,0.967,0.095,0.758,1.145,
+1.058,1.044,0.793,1.656,1.621,1.216,0.764,1.098,1.230,1.011,
+0.921,1.039,1.188,0.121,1.052,1.709,0.931,1.099,0.810,1.427,
+1.037,1.034,0.685,1.132,0.080,0.094,0.071,0.111,1.204,0.127,
+0.980,1.652,1.091,1.512,1.423,1.865,1.195,0.850,0.645,1.185,
+1.154,0.915,0.784,1.194,1.106,0.106,0.906,1.604,1.215,1.115,
+1.331,2.524,2.513,1.449,1.082,1.527,1.770,1.378,1.231,1.657,
+1.866,0.224,1.107,1.646,1.662,1.576,1.627,2.737,0.158,0.137,
+0.085,0.126,0.128,0.138,0.112,0.134,0.122,0.022,0.113,0.153,
+0.162,0.204,0.149,0.233,1.833,1.859,1.421,1.886,0.141,0.156,
+0.149,0.205,2.142,0.250,1.705,2.451,1.602,2.332,2.633,3.328,
+1.728,1.318,1.111,1.676,1.834,1.579,1.744,2.227,2.098,0.202,
+2.060,3.274,1.755,1.832,2.466,4.235,3.647,1.582,1.161,2.323,
+1.422,1.053,0.899,1.323,1.659,0.152,1.031,1.648,2.438,1.686,
+1.752,3.573,2.400,1.671,1.140,1.703,1.637,1.441,1.115,1.403,
+1.762,0.134,1.480,2.152,1.953,1.951,1.705,2.780,2.227,1.998,
+1.634,2.585,0.146,0.147,0.127,0.217,2.450,0.191,2.125,3.423,
+2.313,2.833,3.495,5.083,3.538,1.641,1.541,3.313,2.340,1.800,
+1.764,2.776,3.125,0.210,2.809,4.918,4.116,3.018,4.182,7.517,
+10.9,4.659,3.620,9.155,3.515,2.048,1.853,3.068,3.852,0.323,
+1.562,2.826,6.752,4.564,2.584,6.007,3.443,1.775,1.391,2.147,
+1.856,1.033,1.007,1.221,1.864,0.120,0.952,1.355,2.080,1.568,
+1.236,2.161,2.599,1.484,1.291,2.530,0.182,0.122,0.105,0.278,
+1.391,0.103,0.699,1.248,1.509,1.372,1.184,2.087,4.663,1.856,
+1.807,4.673,3.010,1.626,1.599,3.199,2.100,0.146,1.161,2.112,
+3.570,2.017,2.083,5.179,3.723,1.623,1.181,2.112,1.686,1.019,
+0.823,1.197,1.394,0.135,0.612,1.055,1.545,1.359,0.747,1.682,
+1.923,1.066,0.699,1.092,0.979,0.555,0.542,0.651,1.015,0.074,
+0.559,0.845,0.942,0.774,0.601,1.035,1.499,1.020,0.740,1.193,
+0.114,0.068,0.055,0.098,1.169,0.077,0.596,0.884,0.840,0.850,
+0.633,1.049,1.805,0.982,0.797,1.559,1.540,0.923,0.775,1.337,
+1.242,0.082,0.676,1.208,1.334,1.046,1.083,2.200,2.566,1.183,
+0.973,1.753,1.428,0.822,0.831,1.195,1.422,0.149,0.656,1.142,
+1.817,1.315,1.115,2.575,0.162,0.111,0.078,0.134,0.105,0.085,
+0.067,0.094,0.103,0.012,0.064,0.107,0.190,0.186,0.119,0.245,
+1.197,0.850,0.766,1.201,0.083,0.073,0.054,0.105,0.841,0.069,
+0.474,0.730,0.781,0.793,0.898,1.218,1.230,0.712,0.723,1.337,
+1.253,0.885,0.756,1.261,1.320,0.111,0.766,1.345,1.310,1.121,
+1.289,2.609,4.098,1.546,1.413,3.168,1.649,0.879,0.948,1.374,
+1.786,0.152,0.805,1.442,2.938,1.788,1.504,3.934,2.372,1.368,
+1.052,1.669,1.318,0.925,0.800,1.031,1.293,0.088,0.803,1.283,
+1.780,1.430,1.151,2.226,1.504,1.079,1.011,1.663,0.112,0.078,
+0.070,0.132,1.238,0.078,0.730,1.271,1.234,1.221,1.199,1.942,
+3.078,1.418,1.416,2.996,1.654,1.116,1.022,1.694,2.185,0.130,
+1.306,2.380,3.454,2.468,2.806,6.890,4.006,1.984,1.546,3.034,
+1.737,1.067,0.934,1.381,1.413,0.114,0.615,1.182,1.945,1.457,
+1.070,2.237,2.019,1.125,0.978,1.419,1.076,0.666,0.710,0.811,
+0.967,0.072,0.568,0.881,0.866,0.752,0.694,1.204,1.088,0.823,
+0.622,1.091,0.091,0.096,0.056,0.113,0.647,0.055,0.371,0.604,
+0.637,0.705,0.583,1.060,1.461,0.705,0.713,1.485,1.120,0.762,
+0.606,1.036,0.833,0.064,0.504,0.890,1.156,0.830,0.988,2.219,
+2.291,1.391,0.758,1.363,1.186,0.981,0.590,0.802,0.864,0.078,
+0.415,0.732,0.961,0.869,0.520,1.296,1.299,0.926,0.510,0.778,
+0.780,0.411,0.436,0.532,0.696,0.058,0.469,0.677,0.624,0.631,
+0.462,0.832,1.013,0.852,0.499,0.803,0.072,0.072,0.041,0.068,
+0.712,0.084,0.364,0.590,0.565,0.771,0.490,0.860,1.020,0.627,
+0.481,0.985,0.833,0.645,0.450,0.705,0.807,0.061,0.439,0.818,
+0.830,0.811,0.641,1.476,1.713,0.906,0.673,1.187,1.063,0.750,
+0.703,0.903,0.997,0.101,0.539,0.841,1.136,0.900,0.758,1.504,
+0.086,0.089,0.052,0.096,0.064,0.095,0.057,0.068,0.065,0.012,
+0.059,0.081,0.091,0.102,0.075,0.124,0.970,1.496,0.698,1.014,
+0.110,0.420,0.056,0.092,0.678,0.089,0.415,0.603,0.583,0.791,
+0.760,0.902,0.876,0.659,0.544,1.060,0.922,1.331,0.636,1.040,
+0.905,0.081,0.664,1.056,0.834,0.766,0.901,1.622,1.702,0.837,
+0.695,1.343,1.321,0.560,0.530,0.750,0.824,0.063,0.398,0.683,
+1.133,0.750,0.650,1.564,1.194,0.833,0.656,1.047,0.777,0.622,
+0.586,0.767,0.649,0.050,0.545,0.801,0.834,0.773,0.676,1.215,
+0.849,0.699,0.646,1.092,0.061,0.081,0.038,0.077,0.706,0.064,
+0.430,0.717,0.717,0.812,0.720,1.195,1.234,0.613,0.738,1.400,
+0.881,0.675,0.552,0.979,1.142,0.073,0.737,1.364,1.548,1.341,
+1.447,3.013,3.047,1.790,1.165,2.518,1.219,0.871,0.724,1.108,
+1.189,0.110,0.567,1.068,1.625,1.271,0.828,1.799,2.138,1.348,
+0.944,1.826,1.139,0.776,1.909,1.491,1.257,0.106,0.712,1.096,
+1.186,1.215,0.837,1.607,1.302,1.185,0.867,1.468,0.116,0.120,
+0.095,0.205,0.754,0.076,0.387,0.676,0.739,0.997,0.635,1.179,
+2.034,1.143,0.990,2.384,1.361,1.115,0.873,1.609,1.137,0.100,
+0.666,1.296,1.814,1.283,1.477,3.874,0.180,0.147,0.075,0.152,
+0.118,0.101,0.061,0.095,0.091,0.014,0.050,0.085,0.120,0.132,
+0.066,0.153,0.158,0.129,0.064,0.110,0.108,0.088,0.096,0.097,
+0.116,0.015,0.068,0.106,0.115,0.128,0.072,0.143,0.097,0.113,
+0.065,0.112,9.65e-3,0.011,8.31e-3,0.013,0.090,0.012,0.048,0.092,
+0.085,0.111,0.066,0.121,0.218,0.147,0.101,0.256,0.194,0.176,
+0.116,0.213,0.115,0.013,0.080,0.156,0.187,0.160,0.140,0.351,
+1.553,0.902,0.626,0.946,0.931,0.719,0.646,0.812,1.080,0.138,
+0.655,0.916,1.048,1.004,0.783,1.448,0.117,0.104,0.054,0.088,
+0.067,0.071,0.068,0.066,0.094,0.016,0.067,0.079,0.120,0.136,
+0.082,0.127,0.971,1.118,0.637,0.863,0.080,0.093,0.064,0.084,
+0.710,0.082,0.389,0.570,0.594,0.778,0.648,0.888,1.015,0.665,
+0.621,1.006,0.982,0.899,0.692,1.030,0.961,0.105,0.909,1.210,
+0.986,0.951,1.072,1.824,1.720,0.892,0.633,1.326,0.859,0.555,
+0.501,0.700,0.960,0.095,0.523,0.929,1.377,1.075,0.745,1.869,
+1.755,1.304,0.697,1.285,0.941,0.845,0.631,0.793,1.132,0.089,
+0.703,1.078,1.381,1.290,0.869,1.581,1.143,1.048,0.708,1.292,
+0.082,0.089,0.056,0.106,0.889,0.077,0.607,0.968,0.920,1.239,
+0.950,1.549,1.800,0.981,0.920,1.752,1.185,0.917,0.751,1.217,
+1.406,0.110,1.140,1.833,1.996,1.691,1.818,3.749,4.732,2.294,
+1.725,3.896,1.711,1.126,0.922,1.410,1.681,0.129,0.778,1.410,
+2.876,1.714,1.397,3.428,1.989,1.043,0.776,1.606,1.027,0.566,
+0.834,0.983,1.429,0.076,0.639,1.114,1.309,0.856,0.795,1.762,
+1.635,1.094,0.944,1.991,0.121,0.088,0.075,0.198,1.048,0.075,
+0.544,1.024,1.100,1.009,0.809,1.805,3.199,1.395,1.561,4.667,
+1.710,1.062,1.112,2.177,1.623,0.106,1.028,1.854,2.758,1.632,
+1.945,5.441,2.639,1.460,0.920,1.928,1.353,0.920,0.637,0.984,
+1.181,0.090,0.612,1.069,1.348,1.178,0.729,1.770,1.541,1.005,
+0.540,1.019,0.969,0.672,0.517,0.714,0.975,0.069,0.578,1.044,
+0.986,0.833,0.555,1.229,1.262,0.981,0.625,1.300,0.074,0.069,
+0.044,0.101,1.030,0.073,0.521,0.992,1.039,0.996,0.672,1.397,
+2.044,1.047,0.891,2.216,1.475,1.029,0.885,1.715,1.269,0.083,
+0.802,1.522,1.762,1.332,1.246,3.058,2.088,1.059,0.800,1.457,
+1.377,0.838,0.829,1.243,1.388,0.138,0.798,1.246,1.377,1.146,
+1.167,2.334,0.132,0.101,0.058,0.120,0.075,0.070,0.056,0.080,
+0.090,0.011,0.070,0.104,0.127,0.128,0.095,0.176,1.227,1.099,
+0.781,1.467,0.078,0.077,0.057,0.117,1.033,0.083,0.658,0.988,
+0.972,1.056,0.950,1.561,1.468,0.850,0.889,1.708,1.513,1.060,
+0.981,1.792,1.729,0.120,1.227,1.976,1.665,1.407,1.716,3.365,
+3.931,1.719,1.407,3.152,1.596,0.977,0.959,1.486,1.884,0.153,
+0.969,1.918,3.052,1.932,1.728,5.992,2.354,1.705,0.953,1.911,
+1.166,0.844,0.823,1.169,1.418,0.100,0.909,1.647,1.840,1.533,
+1.173,2.708,2.179,1.746,1.401,2.927,0.127,0.105,0.077,0.200,
+1.801,0.114,1.127,2.069,2.088,2.033,1.822,3.305,4.655,2.144,
+2.185,6.216,2.677,1.973,1.847,3.426,3.892,0.204,2.665,5.229,
+7.166,4.443,5.033,11.4,4.113,2.441,2.142,3.793,2.234,1.354,
+1.277,1.720,1.908,0.193,1.021,1.617,2.971,2.371,1.593,2.934,
+2.350,1.519,1.134,1.604,1.530,0.920,0.880,1.021,1.198,0.103,
+0.914,1.108,1.172,1.084,1.120,1.558,1.505,1.018,0.965,1.495,
+0.115,0.088,0.098,0.177,0.964,0.098,1.020,1.003,0.934,1.044,
+1.361,1.566,2.191,1.188,0.992,2.208,1.721,1.076,0.995,1.660,
+1.351,0.113,0.991,1.482,1.898,1.472,1.533,3.226,2.842,1.686,
+1.188,1.754,1.516,1.180,0.792,1.060,1.699,0.341,0.981,1.107,
+1.401,1.628,0.830,1.551,1.814,1.163,0.813,1.114,1.076,0.795,
+0.720,0.843,1.098,0.119,0.924,1.217,0.885,0.928,0.834,1.163,
+1.172,0.999,0.834,1.107,0.088,0.080,0.078,0.105,1.066,0.112,
+1.061,1.048,0.714,0.986,0.895,1.061,1.150,0.862,0.602,1.061,
+1.075,0.801,0.698,1.008,1.015,0.087,0.744,1.100,1.112,1.084,
+1.013,1.962,1.848,0.892,0.646,1.127,1.141,0.699,0.664,0.956,
+1.019,0.124,0.529,0.824,1.107,0.929,0.816,1.715,0.110,0.088,
+0.056,0.099,0.095,0.084,0.068,0.088,0.076,0.012,0.062,0.090,
+0.104,0.134,0.103,0.165,0.909,0.675,0.613,0.818,0.075,0.058,
+0.058,0.093,0.742,0.067,0.468,0.676,0.622,0.705,0.949,1.115,
+0.856,0.533,0.531,0.995,0.966,0.725,0.644,1.011,1.012,0.089,
+0.724,1.144,1.018,0.968,1.224,2.133,2.144,0.948,0.758,1.554,
+1.060,0.663,0.575,0.831,1.070,0.117,0.501,0.843,1.485,1.110,
+0.820,2.053,1.653,1.024,0.780,1.209,1.121,0.909,0.666,0.887,
+0.843,0.080,0.628,1.005,1.039,1.091,0.840,1.539,0.926,0.718,
+0.677,1.129,0.083,0.056,0.061,0.110,0.778,0.066,0.522,0.862,
+0.789,0.903,0.907,1.444,1.501,0.819,0.849,1.708,1.213,0.804,
+0.704,1.159,1.316,0.101,1.012,1.709,1.988,1.842,1.924,4.218,
+3.248,1.891,1.491,2.404,1.818,1.390,1.057,1.339,1.141,0.119,
+0.662,1.048,1.474,1.287,0.993,1.857,2.067,1.379,1.072,1.343,
+1.427,1.072,0.995,1.050,0.961,0.112,0.755,0.969,0.780,0.944,
+0.836,1.206,1.018,0.849,0.661,0.969,0.082,0.083,0.065,0.112,
+0.615,0.062,0.434,0.572,0.573,0.707,0.661,1.197,1.218,0.652,
+0.576,1.333,1.045,0.832,0.670,1.006,0.815,0.068,0.549,0.854,
+1.123,0.848,0.936,2.165,2.231,1.744,0.862,1.275,1.532,2.451,
+0.833,0.983,0.861,0.114,0.545,0.804,0.860,0.989,0.591,1.309,
+1.762,1.380,0.843,1.067,1.373,0.873,0.841,1.041,0.895,0.124,
+0.707,0.975,0.761,1.053,0.733,1.125,1.177,1.086,0.607,0.856,
+0.112,0.132,0.075,0.105,0.815,0.117,0.558,0.768,0.542,0.994,
+0.752,1.012,0.988,0.718,0.509,0.905,0.982,1.044,0.575,0.806,
+0.827,0.075,0.559,0.878,0.830,0.918,0.787,1.685,1.638,0.979,
+0.698,1.123,1.192,1.045,0.827,0.968,0.988,0.115,0.596,0.806,
+0.969,0.925,0.847,1.435,0.096,0.117,0.071,0.109,0.086,0.158,
+0.100,0.091,0.076,0.026,0.083,0.095,0.078,0.138,0.097,0.122,
+1.172,1.375,0.816,1.097,0.104,0.189,0.103,0.123,0.816,0.106,
+0.631,0.783,0.634,1.014,1.258,1.168,0.962,0.629,0.583,1.112,
+1.069,1.170,0.918,1.242,1.289,0.107,0.885,1.271,1.041,0.982,
+1.331,2.003,1.498,0.800,0.626,1.099,1.050,0.664,0.511,0.680,
+0.721,0.062,0.482,0.628,0.965,0.752,0.716,1.423,1.282,1.041,
+0.773,1.068,0.968,1.062,0.814,0.995,0.757,0.088,0.683,0.927,
+0.790,0.970,0.858,1.284,0.902,0.869,0.661,0.975,0.063,0.074,
+0.054,0.084,0.655,0.064,0.527,0.733,0.727,0.920,0.918,1.251,
+1.188,0.664,0.709,1.207,0.944,0.870,0.653,1.051,1.019,0.080,
+0.889,1.319,1.425,1.469,1.574,2.985,2.194,1.508,1.098,2.062,
+1.045,0.814,0.620,0.909,1.000,0.100,0.619,0.893,1.175,1.087,
+0.707,1.427,1.653,1.309,0.801,1.408,1.103,0.986,0.806,0.902,
+1.157,0.154,0.888,1.106,0.935,1.687,0.762,1.348,1.011,1.027,
+0.756,1.215,0.099,0.111,0.093,0.193,0.848,0.091,0.513,0.707,
+0.576,0.958,0.755,1.092,1.273,0.812,0.661,1.658,0.997,0.868,
+0.747,1.381,0.971,0.105,0.772,1.241,1.310,1.190,1.265,3.225,
+0.100,0.099,0.052,0.097,0.079,0.109,0.051,0.072,0.072,0.014,
+0.049,0.065,0.088,0.105,0.059,0.112,0.104,0.106,0.049,0.077,
+0.113,0.174,0.085,0.089,0.095,0.025,0.080,0.097,0.077,0.166,
+0.066,0.118,0.062,0.091,0.055,0.077,0.011,0.018,0.019,0.016,
+0.127,0.022,0.078,0.090,0.057,0.103,0.080,0.102,0.099,0.082,
+0.052,0.137,0.124,0.124,0.090,0.165,0.082,0.013,0.079,0.129,
+0.102,0.110,0.100,0.230,1.583,1.097,0.756,1.006,1.061,1.095,
+0.829,0.949,1.113,0.167,0.747,1.012,0.933,1.167,0.905,1.598,
+0.110,0.132,0.063,0.088,0.081,0.135,0.090,0.079,0.101,0.024,
+0.106,0.113,0.097,0.178,0.102,0.142,1.150,1.707,0.789,1.060,
+0.100,0.148,0.100,0.122,0.924,0.138,0.560,0.822,0.611,1.066,
+0.915,1.167,1.009,0.802,0.623,0.996,1.141,1.201,0.901,1.292,
+1.215,0.149,1.073,1.496,1.039,1.191,1.418,2.328,1.567,0.996,
+0.644,1.280,0.854,0.664,0.476,0.709,0.914,0.098,0.525,0.902,
+1.179,1.123,0.677,1.819,1.746,1.446,0.815,1.245,1.268,1.365,
+0.854,1.038,1.304,0.138,0.984,1.501,1.199,1.685,1.053,1.884,
+1.163,1.231,0.882,1.286,0.095,0.105,0.080,0.124,1.049,0.120,
+0.807,1.248,0.968,1.667,1.152,1.794,1.510,0.953,0.777,1.627,
+1.516,0.995,0.832,1.343,1.508,0.127,1.415,2.143,2.107,2.128,
+2.122,3.964,2.754,1.474,1.152,2.428,1.267,0.807,0.675,1.215,
+1.221,0.099,0.612,1.110,1.672,1.157,0.982,2.135,1.597,1.331,
+0.637,1.213,0.909,0.638,0.546,0.835,0.961,0.082,0.594,0.933,
+0.909,0.788,0.643,1.383,1.094,0.902,0.723,1.403,0.080,0.067,
+0.057,0.163,0.802,0.064,0.577,0.848,0.745,0.793,0.662,1.387,
+1.640,0.883,0.885,2.325,1.080,0.762,0.760,1.741,1.097,0.082,
+0.855,1.479,1.809,1.205,1.338,4.191,2.125,1.342,0.837,1.750,
+1.322,1.096,0.718,0.980,1.114,0.111,0.681,1.102,1.253,1.228,
+0.799,1.685,1.494,1.065,0.568,0.992,1.156,1.043,0.658,0.953,
+1.022,0.105,0.730,1.136,0.996,1.092,0.711,1.466,1.011,0.946,
+0.634,1.114,0.081,0.089,0.065,0.132,1.054,0.103,0.676,1.119,
+0.890,1.118,0.737,1.427,1.309,0.849,0.716,1.741,1.293,1.088,
+0.914,2.271,1.109,0.091,0.971,1.692,1.401,1.299,1.226,2.983,
+1.745,0.866,0.693,1.207,1.197,0.855,0.738,1.111,1.180,0.136,
+0.828,1.169,1.168,1.078,1.036,2.054,0.110,0.081,0.049,0.093,
+0.069,0.090,0.063,0.078,0.070,0.012,0.094,0.093,0.095,0.119,
+0.090,0.172,1.012,1.008,0.679,1.124,0.072,0.077,0.061,0.119,
+0.999,0.111,0.760,1.070,0.786,1.093,1.026,1.534,1.084,0.704,
+0.700,1.317,1.175,0.942,0.897,1.630,1.430,0.135,1.159,1.987,
+1.390,1.371,1.747,3.193,2.528,1.171,0.932,1.873,1.136,0.768,
+0.643,0.987,1.447,0.145,0.706,1.288,1.744,1.285,0.952,2.840,
+2.052,1.252,0.782,1.413,1.074,0.886,0.781,1.075,1.073,0.085,
+0.904,1.423,1.202,1.175,0.887,3.302,1.509,1.243,1.037,1.947,
+0.091,0.086,0.068,0.181,1.277,0.109,1.020,1.660,1.379,1.599,
+1.486,2.622,2.625,1.293,1.369,3.112,1.694,1.384,1.374,3.401,
+2.303,0.176,2.022,3.503,4.005,3.918,3.695,7.462,3.807,2.281,
+1.985,4.002,2.398,1.532,1.414,1.969,1.901,0.201,1.100,1.842,
+3.012,2.257,1.664,2.999,2.131,1.324,1.224,1.622,1.504,0.952,
+0.983,1.224,1.258,0.217,0.824,1.059,1.243,1.308,1.091,1.694,
+2.029,1.223,1.005,2.012,0.125,0.089,0.084,0.212,1.044,0.086,
+0.716,1.067,0.931,1.027,1.074,1.694,2.312,1.016,0.888,2.032,
+1.440,0.920,0.887,1.490,1.172,0.090,0.767,1.303,1.750,0.974,
+1.413,2.934,3.293,1.853,1.195,2.277,2.213,1.458,1.210,1.471,
+1.356,0.147,0.789,1.253,1.582,1.497,0.966,2.014,2.098,1.439,
+0.901,1.325,1.526,0.911,0.930,1.082,1.266,0.128,0.924,1.255,
+1.055,1.095,0.881,1.350,1.721,1.460,0.971,1.550,0.143,0.126,
+0.102,0.181,1.442,0.140,0.960,1.691,0.996,1.361,1.257,1.705,
+1.747,1.153,0.749,1.510,1.794,1.395,1.009,1.720,1.333,0.111,
+0.916,1.629,1.576,1.248,1.516,2.986,2.225,1.139,0.902,1.760,
+2.092,1.303,1.253,1.522,1.587,0.200,0.827,1.242,1.727,1.538,
+1.191,2.308,0.182,0.145,0.101,0.172,0.186,0.150,0.140,0.171,
+0.150,0.026,0.162,0.172,0.221,0.290,0.180,0.298,1.281,1.083,
+0.997,1.629,0.124,0.095,0.113,0.227,1.122,0.122,0.693,1.019,
+0.874,1.169,1.163,1.521,1.201,0.713,0.676,1.252,1.696,1.210,
+1.221,1.753,1.508,0.140,1.000,1.687,1.764,1.269,1.493,2.661,
+2.636,1.205,0.964,2.139,1.483,0.869,0.942,1.209,1.314,0.139,
+0.702,1.126,2.174,1.645,1.191,2.669,1.976,1.309,0.974,1.501,
+1.471,1.005,0.948,1.191,1.199,0.106,0.949,1.307,1.607,1.541,
+1.242,2.113,1.643,1.407,1.211,1.872,0.137,0.100,0.109,0.196,
+1.622,0.135,1.025,1.573,1.375,1.734,1.759,2.492,2.376,1.235,
+1.164,2.549,1.705,0.988,1.247,2.042,3.177,0.201,1.689,2.925,
+3.639,2.607,3.220,6.166,0.204,0.144,0.119,0.173,0.156,0.119,
+0.099,0.138,0.103,0.015,0.072,0.124,0.132,0.136,0.105,0.169,
+0.179,0.131,0.311,0.163,0.143,0.115,0.153,0.132,0.093,0.019,
+0.084,0.106,0.090,0.108,0.114,0.151,0.115,0.088,0.070,0.112,
+0.014,0.013,0.011,0.018,0.070,0.010,0.058,0.092,0.056,0.080,
+0.080,0.130,0.128,0.072,0.064,0.131,0.134,0.097,0.079,0.132,
+0.089,9.44e-3,0.063,0.111,0.114,0.086,0.127,0.247,0.178,0.144,
+0.072,0.119,0.148,0.167,0.098,0.111,0.080,0.015,0.053,0.084,
+0.084,0.103,0.064,0.126,0.161,0.206,0.085,0.106,0.161,0.140,
+0.122,0.127,0.100,0.024,0.087,0.112,0.083,0.111,0.087,0.121,
+0.108,0.121,0.073,0.106,0.015,0.025,0.019,0.018,0.138,0.033,
+0.086,0.148,0.072,0.135,0.134,0.138,0.112,0.086,0.056,0.110,
+0.132,0.129,0.089,0.129,0.098,0.011,0.074,0.120,0.098,0.102,
+0.113,0.230,0.127,0.073,0.057,0.089,0.132,0.107,0.105,0.104,
+0.090,0.016,0.065,0.075,0.084,0.092,0.085,0.140,0.013,0.014,
+0.013,0.013,0.019,0.028,0.024,0.023,0.013,9.36e-3,0.027,0.020,
+0.011,0.021,0.018,0.020,0.097,0.115,0.096,0.177,0.016,0.027,
+0.029,0.027,0.117,0.029,0.086,0.106,0.070,0.121,0.142,0.153,
+0.083,0.057,0.053,0.104,0.131,0.133,0.114,0.151,0.118,0.020,
+0.104,0.191,0.105,0.110,0.134,0.228,0.181,0.130,0.090,0.157,
+0.149,0.094,0.084,0.111,0.096,0.012,0.061,0.089,0.151,0.146,
+0.123,0.258,0.184,0.137,0.116,0.172,0.173,0.159,0.135,0.177,
+0.120,0.017,0.115,0.142,0.145,0.190,0.155,0.236,0.108,0.111,
+0.102,0.153,0.013,0.015,0.014,0.021,0.110,0.016,0.095,0.135,
+0.107,0.144,0.184,0.230,0.163,0.101,0.099,0.198,0.148,0.116,
+0.111,0.187,0.191,0.021,0.142,0.233,0.221,0.230,0.262,0.537,
+2.888,2.081,1.431,2.589,1.593,1.222,0.963,1.514,1.338,0.141,
+0.846,1.307,1.295,1.094,0.937,1.781,2.475,1.696,1.092,1.576,
+1.804,1.346,1.448,1.476,1.467,0.176,1.451,1.763,1.092,1.387,
+1.071,1.927,1.482,1.556,0.989,1.785,0.185,0.210,0.150,0.323,
+1.365,0.160,0.990,1.473,0.903,1.495,1.152,1.872,1.536,1.039,
+0.770,1.790,1.490,1.292,0.994,1.810,1.468,0.153,1.203,1.953,
+1.641,1.604,1.880,3.909,0.163,0.152,0.072,0.128,0.147,0.157,
+0.096,0.140,0.087,0.022,0.068,0.098,0.084,0.108,0.067,0.140,
+0.161,0.155,0.090,0.107,0.164,0.155,0.132,0.150,0.104,0.029,
+0.128,0.140,0.081,0.116,0.084,0.130,0.104,0.159,0.087,0.127,
+0.020,0.036,0.027,0.028,0.137,0.038,0.126,0.194,0.074,0.144,
+0.119,0.157,0.160,0.120,0.070,0.176,0.188,0.206,0.127,0.220,
+0.135,0.022,0.118,0.223,0.129,0.152,0.161,0.320,2.262,1.494,
+1.026,1.225,1.876,1.814,1.612,1.500,1.571,0.255,1.519,1.592,
+1.164,1.348,1.412,2.097,0.165,0.211,0.110,0.118,0.174,0.254,
+0.196,0.139,0.167,0.048,0.226,0.191,0.128,0.217,0.163,0.207,
+1.751,1.820,1.424,1.662,0.194,0.203,0.228,0.203,1.733,0.225,
+0.720,1.337,0.978,1.368,1.559,1.924,1.326,0.893,0.796,1.093,
+1.741,1.597,1.422,1.587,1.532,0.193,1.928,2.320,1.278,1.418,
+2.125,2.999,1.994,1.248,0.951,1.603,1.346,1.064,0.772,1.000,
+1.116,0.128,0.942,1.238,1.267,1.116,0.995,1.969,2.095,1.872,
+1.221,1.623,1.955,1.929,1.439,1.456,1.497,0.182,1.784,1.947,
+1.361,1.761,1.438,2.096,1.806,1.771,1.428,2.239,0.164,0.205,
+0.158,0.228,2.000,0.214,2.036,2.731,1.511,2.253,2.240,2.972,
+1.915,1.233,1.092,1.983,1.725,1.521,1.285,1.779,2.308,0.200,
+2.968,3.681,2.575,2.539,3.288,5.080,3.554,1.731,1.300,2.758,
+1.737,1.059,1.005,1.522,1.531,0.136,0.798,1.376,1.920,1.447,
+1.115,2.671,2.267,1.222,0.832,1.449,1.342,0.869,0.877,1.187,
+1.043,0.081,0.793,1.206,1.031,0.928,0.860,1.826,1.585,1.164,
+0.796,1.645,0.128,0.102,0.080,0.203,1.350,0.102,0.840,1.421,
+1.069,1.183,1.136,2.131,1.994,1.076,0.946,2.089,1.493,0.943,
+0.886,1.682,1.398,0.106,0.901,1.605,1.964,1.490,1.737,4.219,
+3.207,1.939,1.179,2.268,2.167,1.585,1.339,1.702,1.433,0.138,
+1.026,1.563,1.524,1.563,1.000,2.390,2.453,1.783,0.957,1.583,
+1.790,1.394,1.262,1.586,1.244,0.113,1.143,1.661,1.064,1.220,
+0.920,1.723,1.663,1.831,1.088,1.923,0.133,0.156,0.108,0.213,
+1.798,0.184,1.310,2.458,1.283,1.827,1.556,2.572,2.138,1.482,
+1.025,2.182,2.191,1.787,1.438,2.458,1.726,0.154,1.378,2.699,
+1.887,1.945,2.026,4.236,2.931,1.521,1.231,1.716,2.204,1.609,
+1.628,1.882,1.842,0.233,1.348,2.028,1.685,1.741,1.804,3.079,
+0.180,0.148,0.086,0.141,0.147,0.169,0.155,0.163,0.119,0.027,
+0.149,0.201,0.141,0.246,0.147,0.236,2.049,2.003,1.559,2.302,
+0.164,0.156,0.147,0.246,2.181,0.256,1.610,2.446,1.451,2.262,
+2.085,3.003,2.045,1.379,1.297,2.005,2.478,1.905,1.981,2.779,
+2.137,0.211,2.413,4.071,2.034,2.158,2.920,4.867,3.362,1.529,
+1.288,2.469,1.679,1.104,1.024,1.378,1.696,0.176,1.098,1.680,
+2.083,1.516,1.392,3.176,2.138,1.477,1.029,1.715,1.599,1.272,
+1.276,1.542,1.347,0.111,1.337,1.960,1.550,1.476,1.338,2.373,
+2.354,2.115,1.707,2.975,0.164,0.160,0.120,0.260,2.571,0.213,
+2.270,3.807,2.252,2.675,2.670,4.177,3.424,1.790,1.720,3.883,
+2.610,2.010,1.935,3.303,3.382,0.244,3.228,5.888,4.104,3.598,
+4.606,8.998,14.3,4.750,3.618,9.185,3.677,2.033,1.828,3.164,
+3.063,0.256,1.310,2.446,5.346,3.836,2.314,5.832,3.365,1.781,
+1.264,2.141,1.810,0.962,0.960,1.325,1.590,0.113,1.076,1.312,
+1.904,1.670,1.281,2.373,2.513,1.504,1.175,2.511,0.167,0.116,
+0.092,0.271,1.438,0.101,0.792,1.406,1.355,1.464,1.259,2.647,
+3.912,1.875,1.546,3.901,2.497,1.577,1.330,2.737,2.090,0.153,
+1.415,2.292,3.573,2.328,2.389,6.750,3.922,1.822,1.165,2.481,
+2.044,1.076,0.874,1.305,1.303,0.126,0.579,1.048,1.669,1.273,
+0.822,1.985,1.993,1.240,0.716,1.334,1.220,0.788,0.670,0.953,
+1.015,0.070,0.588,0.939,1.077,0.878,0.767,1.448,1.560,1.125,
+0.816,1.481,0.096,0.075,0.062,0.122,1.193,0.094,0.600,1.025,
+1.052,1.073,0.987,1.554,1.729,1.436,0.724,1.573,1.317,0.978,
+0.736,1.320,1.186,0.080,0.684,1.276,1.572,1.187,1.274,3.077,
+3.317,1.370,1.070,2.089,2.357,1.098,1.035,1.673,1.624,0.164,
+0.652,1.308,2.531,1.734,1.191,3.490,0.176,0.110,0.079,0.150,
+0.147,0.094,0.091,0.140,0.113,0.011,0.068,0.119,0.255,0.219,
+0.122,0.296,1.499,1.029,0.954,1.572,0.128,0.073,0.075,0.158,
+1.262,0.091,0.615,1.033,1.216,1.187,1.102,1.850,1.698,0.901,
+0.879,1.825,1.919,1.027,0.990,1.829,1.566,0.108,0.926,1.784,
+2.229,1.493,1.783,3.884,5.083,2.079,1.633,3.900,2.311,1.203,
+1.409,2.038,2.154,0.178,1.067,1.862,4.430,2.482,1.899,5.088,
+2.643,1.478,1.192,1.974,1.643,1.047,1.115,1.468,1.556,0.102,
+1.008,1.553,2.586,2.054,1.516,3.091,2.139,1.645,1.346,2.491,
+0.173,0.100,0.099,0.204,1.896,0.120,1.064,1.816,1.868,1.991,
+1.848,3.377,4.094,1.983,1.948,4.942,3.260,1.611,1.721,3.035,
+3.520,0.200,2.160,3.974,6.916,4.089,5.115,12.9,5.205,2.567,
+1.871,4.042,2.520,1.570,1.238,1.974,1.743,0.153,0.963,1.654,
+2.453,1.942,1.429,3.068,2.971,1.737,2.033,2.274,1.867,1.200,
+1.177,1.458,1.342,0.102,0.961,1.266,1.313,1.192,1.099,2.002,
+1.752,1.195,0.863,1.654,0.123,0.105,0.073,0.171,1.061,0.086,
+0.698,1.151,1.059,1.076,1.039,2.013,2.080,1.178,0.953,2.081,
+1.737,1.176,0.910,1.732,1.241,0.094,0.816,1.362,1.860,1.337,
+1.506,3.670,3.685,2.135,1.071,2.184,2.261,1.691,0.998,1.410,
+1.206,0.110,0.553,1.120,1.501,1.289,0.807,1.961,2.323,2.466,
+0.811,1.396,2.021,1.754,1.016,1.532,1.138,0.111,0.684,1.125,
+1.165,1.175,0.850,1.708,1.572,1.331,0.760,1.415,0.116,0.123,
+0.067,0.125,1.365,0.139,0.711,1.215,1.168,1.386,1.112,1.934,
+1.548,1.154,0.669,1.526,1.464,1.285,0.791,1.468,1.190,0.085,
+0.666,1.292,1.490,1.307,1.189,3.179,2.843,1.300,0.988,1.702,
+2.036,1.295,1.161,1.552,1.479,0.172,0.755,1.155,1.933,1.578,
+1.239,2.986,0.127,0.109,0.076,0.126,0.115,0.145,0.091,0.124,
+0.087,0.017,0.072,0.102,0.153,0.175,0.109,0.210,1.645,1.334,
+1.071,1.807,0.133,0.116,0.100,0.178,1.519,0.139,0.807,1.258,
+1.274,1.519,1.380,2.295,1.704,0.951,0.869,1.780,1.974,1.331,
+1.285,2.074,1.675,0.131,1.117,1.965,1.945,1.599,1.927,4.194,
+3.303,1.489,1.232,2.449,2.168,1.085,1.009,1.546,1.496,0.130,
+0.889,1.370,2.397,1.753,1.444,3.817,2.238,1.440,1.182,1.866,
+1.588,1.363,1.133,1.601,1.341,0.122,1.025,1.542,1.985,2.385,
+1.610,2.907,1.829,1.434,1.207,2.088,0.134,0.097,0.093,0.172,
+1.412,0.112,1.058,1.693,1.496,1.727,1.778,3.183,2.565,1.325,
+1.517,2.756,2.391,1.385,1.358,2.709,2.316,0.170,1.588,2.927,
+3.574,3.746,3.412,9.424,5.073,2.840,1.891,3.881,2.156,1.553,
+1.082,1.955,2.167,0.170,1.002,1.761,2.327,1.721,1.223,2.744,
+3.226,2.227,1.329,2.397,1.929,1.419,1.191,1.596,1.938,0.161,
+1.299,1.899,1.872,2.016,1.399,2.902,2.116,2.035,1.229,2.447,
+0.191,0.195,0.131,0.330,1.925,0.212,0.942,1.675,1.433,2.054,
+1.519,2.978,2.627,1.653,1.207,3.061,2.036,1.600,1.210,2.475,
+2.299,0.184,1.431,2.663,2.884,2.317,2.671,6.424,0.208,0.163,
+0.100,0.168,0.183,0.139,0.075,0.134,0.110,0.015,0.059,0.104,
+0.132,0.139,0.083,0.187,0.160,0.171,0.072,0.126,0.142,0.158,
+0.085,0.123,0.120,0.019,0.097,0.144,0.125,0.146,0.093,0.190,
+0.099,0.118,0.066,0.123,0.012,0.018,0.013,0.017,0.185,0.027,
+0.095,0.136,0.100,0.150,0.159,0.200,0.177,0.156,0.084,0.252,
+0.180,0.179,0.106,0.226,0.154,0.018,0.096,0.206,0.199,0.194,
+0.183,0.482,3.652,1.936,1.369,1.993,2.412,1.937,1.559,2.025,
+2.085,0.282,1.349,1.964,2.085,2.068,1.798,3.550,0.180,0.168,
+0.088,0.138,0.150,0.157,0.105,0.132,0.145,0.026,0.122,0.151,
+0.199,0.238,0.161,0.273,2.201,2.214,1.589,2.212,0.191,0.191,
+0.161,0.233,2.600,0.247,1.652,2.224,1.599,2.129,2.124,2.992,
+2.300,1.481,1.268,2.114,2.554,2.114,1.763,2.487,2.779,0.244,
+2.469,3.522,2.561,2.396,3.499,5.906,3.913,2.045,1.541,3.063,
+2.123,1.494,1.164,1.920,2.016,0.183,1.401,2.211,2.568,2.009,
+1.647,4.113,3.291,2.490,1.524,2.573,2.370,2.005,1.461,1.876,
+2.332,0.190,1.946,2.709,2.807,2.945,2.341,4.242,2.804,2.617,
+1.932,3.324,0.189,0.193,0.148,0.263,3.110,0.238,2.506,3.587,
+2.811,3.503,3.636,5.239,3.730,2.034,1.875,3.570,2.584,2.047,
+1.792,2.793,3.865,0.265,3.658,5.696,4.883,4.127,5.780,10.7,
+15.6,4.948,3.094,8.165,3.482,2.006,1.689,3.204,3.012,0.254,
+1.435,2.777,4.743,3.545,2.352,6.699,3.563,2.036,1.188,2.262,
+1.858,1.247,0.960,1.594,1.776,0.116,1.014,1.736,2.362,1.630,
+1.179,2.935,2.771,2.260,1.298,3.274,0.171,0.159,0.100,0.323,
+1.802,0.145,1.032,1.920,1.907,1.993,1.563,3.814,4.758,2.664,
+1.987,5.325,2.738,2.010,1.549,3.617,2.760,0.197,1.667,3.343,
+5.143,3.587,3.681,12.0,5.051,2.548,1.426,3.028,3.470,1.922,
+1.178,1.987,1.942,0.158,0.918,1.749,2.429,2.095,1.111,3.026,
+2.894,2.115,0.971,1.872,1.706,1.949,0.769,1.425,1.668,0.131,
+1.053,1.838,1.976,1.828,1.132,2.756,2.198,1.866,1.137,2.545,
+0.133,0.138,0.076,0.196,2.016,0.155,1.221,2.191,1.798,2.086,
+1.622,3.556,3.020,2.375,1.406,3.688,2.287,1.958,1.336,3.169,
+2.258,0.168,1.420,2.925,3.056,3.073,2.540,8.780,5.161,2.431,
+1.845,2.985,3.150,1.945,1.782,2.949,2.715,0.282,1.501,2.766,
+3.304,2.749,2.370,5.471,0.200,0.178,0.090,0.175,0.155,0.140,
+0.104,0.182,0.130,0.015,0.108,0.167,0.275,0.235,0.157,0.380,
+3.204,2.700,1.946,3.423,0.190,0.159,0.131,0.289,2.862,0.236,
+2.603,3.103,2.687,3.092,3.128,5.399,3.981,2.433,2.084,4.045,
+3.496,2.490,2.396,4.589,3.812,0.262,3.477,5.718,4.484,3.540,
+5.318,11.3,14.3,3.879,2.879,7.125,2.901,1.642,1.513,3.080,
+2.868,0.225,1.533,3.110,4.884,3.373,2.671,9.069,3.778,3.166,
+1.566,2.564,2.370,1.434,1.542,2.777,2.464,0.178,1.777,2.897,
+4.163,3.064,2.405,6.592,4.081,3.178,2.435,4.699,0.207,0.174,
+0.121,0.349,3.712,0.245,3.230,5.191,4.365,4.460,4.721,9.654,
+10.8,2.793,2.373,5.895,3.935,2.934,2.241,5.570,4.873,0.304,
+5.138,8.932,9.180,6.290,9.748,36.2
+};
+
+static double hg19_biasTable25_4[] = {
+174.6,28.4,12.8,26.1,21.9,7.738,5.570,9.763,11.4,0.792,
+5.525,6.446,15.4,9.863,10.5,17.5,21.8,6.812,4.337,6.135,
+6.674,2.684,2.637,3.060,5.270,0.343,2.575,3.060,5.874,3.785,
+3.341,5.677,12.4,4.894,3.996,4.571,0.670,0.398,0.295,0.561,
+3.475,0.290,3.196,3.156,4.253,3.471,2.388,4.065,18.3,6.234,
+6.303,9.591,7.560,4.307,3.987,7.033,7.744,0.480,3.711,5.747,
+13.7,5.644,5.235,9.750,25.3,6.782,4.184,7.799,7.175,3.372,
+2.396,3.188,5.696,0.392,1.677,3.067,5.302,3.668,2.049,4.320,
+8.593,3.408,1.855,2.730,3.066,1.798,1.200,1.380,3.435,0.212,
+1.338,1.961,2.573,1.848,1.202,2.232,5.794,3.469,2.189,3.480,
+0.315,0.227,0.136,0.281,3.069,0.271,1.439,2.132,2.399,2.325,
+1.570,2.793,6.076,3.086,2.209,4.061,3.648,2.415,1.539,2.718,
+3.912,0.216,1.534,2.819,4.526,2.698,2.188,5.136,17.9,4.403,
+4.166,5.464,6.011,2.845,2.534,3.498,5.803,0.465,1.912,3.210,
+4.870,3.462,2.383,5.471,0.865,0.392,0.266,0.420,0.429,0.307,
+0.212,0.288,0.392,0.035,0.176,0.319,0.583,0.522,0.284,0.619,
+3.941,2.189,2.239,2.548,0.296,0.182,0.176,0.286,3.126,0.224,
+1.460,2.367,2.364,2.287,1.734,2.643,4.360,2.561,2.237,3.442,
+3.826,2.453,1.885,3.037,3.022,0.217,1.558,2.754,3.162,2.417,
+2.341,4.363,25.1,6.441,5.163,11.8,6.832,2.933,3.102,4.178,
+9.955,0.707,2.690,4.820,10.6,5.593,4.056,11.3,9.193,4.555,
+3.132,4.821,4.572,2.878,2.391,3.044,5.004,0.256,2.284,3.936,
+6.371,4.549,3.359,7.043,7.114,4.773,3.715,4.907,0.427,0.263,
+0.234,0.388,3.738,0.226,2.125,3.410,4.016,3.663,2.987,4.711,
+12.4,8.608,4.421,9.143,4.678,2.891,2.442,4.550,5.417,0.319,
+2.839,5.029,7.489,3.942,4.022,9.578,26.7,9.765,5.543,9.728,
+7.059,3.526,2.543,3.592,4.951,0.430,1.679,2.942,5.923,4.946,
+2.537,4.920,7.475,4.602,2.344,3.186,3.479,2.028,1.779,2.080,
+2.669,0.216,1.531,2.022,2.467,2.050,1.371,2.471,5.308,3.325,
+2.497,3.766,0.337,0.263,0.179,0.340,2.053,0.170,1.120,1.567,
+2.171,2.369,1.415,2.589,5.429,2.162,2.399,3.745,3.514,2.218,
+1.901,2.771,2.555,0.176,1.136,1.963,3.358,2.044,1.882,4.205,
+9.856,4.812,2.428,4.142,3.959,2.509,1.463,1.811,2.695,0.222,
+0.879,1.605,2.447,2.157,1.183,2.329,4.325,2.431,1.236,1.635,
+2.097,1.365,0.974,1.044,1.754,0.140,0.850,1.264,1.253,1.186,
+0.800,1.232,3.679,2.820,1.489,2.417,0.203,0.211,0.104,0.161,
+1.910,0.233,0.866,1.374,1.451,1.856,1.004,1.896,2.810,1.600,
+1.120,1.901,2.014,1.563,0.940,1.282,1.688,0.119,0.660,1.251,
+1.791,1.312,0.877,2.351,6.895,3.347,2.164,3.619,3.850,2.409,
+2.156,2.426,3.071,0.278,1.206,2.034,2.672,2.249,1.723,3.536,
+0.353,0.249,0.137,0.225,0.190,0.227,0.137,0.147,0.176,0.029,
+0.112,0.165,0.225,0.238,0.139,0.296,2.907,2.360,1.755,2.274,
+0.202,0.211,0.159,0.201,1.836,0.165,1.031,1.504,1.459,1.725,
+1.378,2.090,2.448,1.394,1.290,2.016,2.442,1.825,1.384,1.933,
+1.815,0.132,1.180,1.805,1.899,1.388,1.797,3.141,6.863,2.482,
+2.037,3.967,3.215,1.637,1.464,1.815,2.857,0.201,0.991,1.820,
+3.397,2.088,1.571,3.783,3.934,2.283,1.628,2.397,2.174,1.794,
+1.266,1.602,1.670,0.119,1.033,1.931,1.952,2.028,1.389,2.739,
+3.382,2.377,1.927,2.763,0.191,0.149,0.104,0.186,1.775,0.132,
+1.011,1.643,1.788,1.953,1.558,2.525,4.558,2.064,1.863,3.315,
+2.657,1.714,1.286,2.128,2.391,0.157,1.286,2.435,3.718,2.767,
+2.466,4.963,22.0,5.741,6.618,7.270,4.289,2.482,2.200,2.925,
+5.378,0.382,2.050,3.025,5.001,3.685,2.470,4.988,7.028,3.512,
+2.902,3.339,3.025,1.720,1.781,1.880,3.492,0.246,1.757,2.294,
+3.140,2.679,1.662,2.954,5.166,3.541,2.994,3.774,0.392,0.315,
+0.231,0.451,2.404,0.227,1.153,1.818,2.218,2.946,1.647,3.113,
+5.024,2.398,2.572,4.241,3.288,2.270,1.912,2.994,3.089,0.242,
+1.572,2.769,4.268,2.684,2.864,7.257,0.962,0.473,0.307,0.470,
+0.403,0.314,0.189,0.259,0.347,0.041,0.152,0.240,0.332,0.349,
+0.191,0.384,0.512,0.333,0.264,0.239,0.321,0.275,0.189,0.175,
+0.282,0.041,0.171,0.190,0.247,0.264,0.144,0.241,0.354,0.307,
+0.207,0.269,0.031,0.035,0.024,0.035,0.249,0.039,0.138,0.192,
+0.221,0.318,0.180,0.298,0.556,0.316,0.252,0.547,0.478,0.446,
+0.257,0.476,0.365,0.037,0.204,0.344,0.469,0.342,0.328,0.770,
+5.736,2.466,1.826,2.184,2.746,1.737,1.590,1.720,3.610,0.351,
+1.468,2.006,2.356,1.985,1.760,2.529,0.373,0.262,0.133,0.171,
+0.195,0.147,0.135,0.129,0.260,0.037,0.138,0.169,0.285,0.268,
+0.170,0.226,2.841,2.201,1.743,1.826,0.216,0.169,0.127,0.210,
+2.458,0.297,0.714,1.091,1.620,1.905,1.340,1.685,2.446,1.624,
+1.296,1.776,2.142,1.635,1.307,1.819,2.173,0.194,1.199,1.863,
+1.814,1.629,1.614,2.648,5.375,2.279,1.688,2.858,2.789,1.318,
+1.279,1.458,3.131,0.222,1.300,1.979,3.458,2.073,1.572,3.445,
+4.756,3.025,1.740,2.396,2.901,1.728,1.508,1.545,2.490,0.169,
+1.439,2.255,2.721,2.233,1.795,2.783,3.069,2.430,1.745,2.445,
+0.218,0.182,0.117,0.203,2.214,0.279,1.140,1.762,1.971,2.249,
+1.728,2.726,3.532,2.008,1.839,2.414,2.340,1.716,1.377,2.021,
+2.840,0.213,1.814,2.629,3.579,2.499,2.605,4.928,27.7,7.933,
+6.130,15.1,6.057,3.071,2.964,4.537,5.895,0.457,2.413,4.719,
+10.8,5.842,4.067,10.4,7.360,3.293,2.490,3.852,2.898,1.584,
+1.670,1.986,3.309,0.210,1.887,2.847,3.523,2.367,1.781,3.815,
+9.117,4.349,3.084,5.980,0.556,0.352,0.248,0.695,3.210,0.256,
+1.352,2.795,3.505,3.239,2.031,4.781,9.304,3.857,4.172,11.3,
+4.896,2.964,2.832,5.770,4.715,0.308,2.499,5.061,8.090,4.500,
+4.938,15.5,10.7,5.055,3.248,5.887,5.024,3.323,2.159,3.155,
+4.127,0.296,1.760,2.981,4.323,3.425,2.120,4.326,5.911,3.109,
+2.196,2.909,3.316,2.402,1.805,1.862,3.275,0.268,1.645,2.378,
+2.866,2.390,1.347,2.763,4.974,3.341,2.067,3.836,0.234,0.212,
+0.120,0.282,2.950,0.225,1.434,2.532,2.960,3.192,2.081,3.851,
+6.191,3.099,2.693,5.999,4.266,3.605,2.155,4.300,4.106,0.233,
+2.209,3.864,5.372,3.335,3.498,7.854,6.321,3.329,2.800,4.613,
+4.003,2.267,2.320,3.363,3.968,0.346,1.876,3.082,3.614,2.813,
+2.273,4.375,0.399,0.297,0.199,0.314,0.235,0.190,0.166,0.198,
+0.246,0.027,0.165,0.305,0.321,0.293,0.180,0.331,3.478,2.553,
+1.778,2.689,0.205,0.137,0.117,0.230,2.541,0.190,1.189,1.890,
+2.356,2.224,1.853,2.811,3.493,2.196,1.902,3.129,3.319,2.047,
+1.826,3.170,3.336,0.204,1.851,3.092,3.201,2.290,2.522,4.635,
+13.1,4.388,4.158,6.977,4.385,2.442,6.610,3.348,4.700,0.326,
+2.309,3.611,7.126,4.023,3.657,8.786,4.678,2.769,2.011,3.090,
+2.640,1.664,1.624,1.897,2.546,0.147,1.567,2.699,3.544,2.624,
+2.024,4.117,5.274,3.623,2.718,4.364,0.268,0.183,0.174,0.289,
+3.378,0.215,1.699,2.952,3.933,3.483,2.686,4.457,8.657,3.391,
+3.074,6.222,3.915,2.631,2.329,3.734,4.833,0.217,2.860,4.639,
+8.526,4.187,4.444,9.539,24.0,11.1,6.812,11.6,11.9,4.772,
+3.201,3.982,6.338,0.599,2.557,4.158,8.268,6.029,3.676,6.280,
+7.530,4.071,2.805,3.177,4.130,2.346,1.879,1.863,3.110,0.225,
+2.033,2.266,2.701,2.312,1.896,2.961,4.576,2.988,2.120,3.208,
+0.389,0.236,0.187,0.366,2.142,0.178,1.044,1.426,2.314,2.307,
+1.747,2.747,5.751,2.447,2.138,4.250,4.581,2.414,1.909,3.140,
+2.788,0.221,1.407,2.296,3.695,2.370,2.515,4.575,9.171,4.502,
+2.288,3.849,6.251,2.645,1.518,1.876,3.189,0.293,1.247,2.044,
+2.844,2.638,1.366,2.796,4.477,2.692,1.293,1.797,2.591,1.373,
+1.030,1.191,2.178,0.194,1.269,1.678,1.634,1.546,0.980,2.040,
+2.589,2.131,1.236,1.834,0.269,0.143,0.110,0.176,1.706,0.184,
+1.116,1.442,1.514,1.851,1.378,2.050,2.454,1.448,0.960,1.734,
+2.106,1.352,0.815,1.435,1.623,0.125,0.848,1.357,1.812,1.527,
+1.358,2.689,5.964,2.596,1.727,2.735,3.818,2.235,1.652,2.183,
+3.529,0.355,1.195,1.913,2.958,2.433,1.580,3.369,0.346,0.269,
+0.182,0.230,0.283,0.285,0.172,0.205,0.228,0.032,0.146,0.197,
+0.273,0.320,0.171,0.336,1.985,1.424,1.152,1.480,0.167,0.118,
+0.092,0.167,1.396,0.148,0.836,1.264,1.262,1.415,1.012,1.525,
+1.918,1.095,1.001,1.611,2.343,1.503,1.074,1.696,1.685,0.158,
+1.072,1.473,2.001,1.744,1.641,2.658,5.897,2.311,1.792,3.616,
+2.184,1.237,1.021,1.508,2.890,0.288,1.092,1.962,2.977,1.975,
+1.483,3.687,3.898,2.475,1.648,2.345,2.331,1.725,1.364,1.571,
+1.880,0.150,1.259,2.027,2.045,1.950,1.476,2.733,2.249,1.774,
+1.328,1.802,0.166,0.111,0.105,0.159,1.231,0.106,0.787,1.141,
+1.412,1.560,1.327,1.767,3.166,1.633,1.263,2.674,1.690,1.186,
+0.975,1.539,1.955,0.139,1.258,2.001,3.074,2.256,2.454,4.620,
+9.870,5.423,3.310,5.769,5.294,3.519,2.082,2.519,2.917,0.320,
+1.155,1.894,3.387,3.108,1.635,3.040,4.504,3.075,1.749,2.291,
+2.834,1.936,1.476,1.441,1.757,0.181,1.080,1.466,1.320,1.378,
+1.053,1.652,2.303,2.065,1.509,2.452,0.184,0.176,0.129,0.247,
+1.112,0.119,0.697,0.959,1.131,1.307,1.039,1.792,2.419,1.202,
+1.154,2.212,2.060,1.514,1.082,1.564,1.448,0.127,0.789,1.220,
+1.807,1.199,1.329,2.694,4.907,3.223,1.634,2.404,2.972,2.173,
+1.098,1.317,1.719,0.174,0.767,1.208,1.501,1.555,0.855,1.525,
+2.810,1.902,0.903,1.200,1.553,0.641,0.767,0.790,1.284,0.171,
+0.851,1.144,0.798,1.033,0.733,0.998,1.671,1.720,0.919,1.455,
+0.145,0.160,0.090,0.135,1.212,0.171,0.671,0.973,0.898,1.391,
+0.915,1.417,1.318,0.926,0.658,1.115,1.245,1.148,0.589,0.888,
+1.023,0.098,0.548,0.968,1.026,0.851,0.692,1.479,3.889,2.207,
+1.309,1.997,3.073,2.235,1.619,1.805,1.960,0.255,0.867,1.337,
+1.725,1.619,1.229,2.253,0.199,0.207,0.110,0.152,0.190,0.265,
+0.170,0.139,0.125,0.044,0.122,0.140,0.117,0.214,0.109,0.168,
+1.605,1.676,1.138,1.439,0.188,0.234,0.121,0.171,1.101,0.149,
+0.878,1.218,0.869,1.301,1.016,1.511,1.356,0.773,0.796,1.137,
+1.844,1.557,1.102,1.424,1.242,0.120,0.814,1.256,1.266,1.090,
+1.239,2.241,3.030,1.483,1.076,1.807,1.748,1.057,0.750,0.985,
+1.388,0.114,0.564,0.913,1.523,1.071,0.797,1.794,2.178,1.506,
+1.071,1.390,1.465,1.372,0.947,1.088,0.927,0.098,0.757,1.123,
+0.884,1.089,0.780,1.353,1.480,1.363,1.110,1.353,0.106,0.120,
+0.073,0.102,0.765,0.079,0.589,0.813,0.908,1.054,0.887,1.381,
+1.912,0.924,0.767,1.380,1.151,0.982,0.690,0.963,1.036,0.077,
+0.607,1.105,1.758,1.374,1.293,2.634,6.570,3.524,2.635,4.164,
+3.265,1.996,1.683,2.272,2.486,0.247,1.177,1.771,2.631,2.383,
+1.702,3.032,3.958,2.867,1.506,2.284,2.529,1.875,1.482,1.576,
+2.480,0.250,1.725,1.928,1.772,2.054,1.233,2.275,2.352,2.384,
+1.338,2.108,0.207,0.202,0.141,0.299,1.450,0.170,0.778,1.235,
+1.242,1.885,1.114,2.276,2.327,1.336,1.119,2.240,1.849,1.400,
+1.104,1.787,1.768,0.171,1.095,1.759,2.083,1.507,2.005,4.173,
+0.349,0.244,0.124,0.212,0.377,0.228,0.136,0.167,0.160,0.025,
+0.087,0.134,0.161,0.188,0.136,0.224,0.219,0.197,0.091,0.111,
+0.234,0.250,0.143,0.151,0.167,0.045,0.141,0.150,0.115,0.150,
+0.092,0.148,0.131,0.191,0.085,0.131,0.021,0.039,0.026,0.025,
+0.139,0.040,0.108,0.133,0.118,0.252,0.157,0.189,0.190,0.131,
+0.088,0.204,0.192,0.204,0.124,0.201,0.151,0.023,0.113,0.176,
+0.168,0.159,0.195,0.318,3.208,2.046,1.200,1.659,2.361,2.001,
+1.493,1.608,2.399,0.323,1.179,1.586,1.537,1.637,1.346,2.157,
+0.200,0.245,0.107,0.123,0.160,0.261,0.146,0.122,0.165,0.060,
+0.138,0.152,0.146,0.204,0.136,0.170,1.420,1.927,1.014,1.293,
+0.139,0.176,0.111,0.178,1.402,0.212,0.710,1.074,0.923,1.514,
+1.082,1.482,1.421,0.975,0.802,1.158,1.550,1.614,1.052,1.442,
+1.578,0.190,1.209,1.494,1.215,1.305,1.563,2.238,2.549,1.369,
+0.926,1.616,1.499,0.850,0.688,0.896,1.612,0.139,0.736,1.217,
+1.604,1.215,0.954,2.033,2.658,2.006,1.077,1.465,2.148,1.607,
+1.033,1.180,1.679,0.156,1.190,1.717,1.481,1.586,1.210,1.971,
+1.509,1.597,0.953,1.394,0.110,0.117,0.083,0.126,1.260,0.149,
+0.968,1.251,1.107,1.618,1.207,1.856,1.681,1.038,0.849,1.658,
+1.218,0.998,0.782,1.097,1.740,0.146,1.436,1.949,2.016,1.760,
+1.957,3.137,6.955,2.649,2.068,4.183,2.353,1.348,1.139,1.850,
+2.205,0.184,0.935,1.863,2.957,1.992,1.347,3.424,3.497,1.679,
+1.132,1.960,1.546,1.003,0.869,1.181,1.427,0.100,0.969,1.413,
+1.404,1.019,0.810,1.757,2.409,1.716,1.094,1.966,0.144,0.119,
+0.084,0.209,1.165,0.104,0.562,1.083,1.280,1.435,0.840,1.947,
+3.546,1.407,1.388,2.947,1.684,1.086,0.936,1.954,1.573,0.112,
+0.876,1.764,2.468,1.537,1.639,4.487,4.482,2.394,1.385,2.434,
+2.772,1.752,1.133,1.582,2.026,0.191,0.962,1.695,1.917,1.799,
+1.148,2.302,2.541,1.604,0.897,1.346,1.849,1.447,1.095,1.182,
+1.569,0.136,0.947,1.495,1.338,1.241,0.794,1.643,1.483,1.453,
+0.801,1.323,0.110,0.141,0.068,0.138,1.340,0.202,0.742,1.301,
+1.671,3.429,1.194,2.223,1.763,1.068,0.928,1.720,1.629,1.467,
+0.917,1.923,1.469,0.116,0.947,1.577,1.762,1.705,1.564,3.039,
+3.381,1.916,1.352,1.958,2.195,1.635,1.273,1.712,2.488,0.263,
+1.207,1.871,1.885,1.655,1.484,2.711,0.193,0.149,0.090,0.150,
+0.114,0.143,0.111,0.112,0.120,0.017,0.090,0.144,0.138,0.160,
+0.112,0.191,1.589,1.461,0.908,1.418,0.108,0.104,0.077,0.148,
+1.256,0.130,0.790,1.230,1.177,1.470,1.080,1.752,1.609,1.042,
+0.935,1.507,1.707,1.254,1.009,1.778,1.816,0.167,1.262,1.698,
+1.727,1.346,1.642,2.661,4.692,1.842,1.529,2.630,1.717,1.056,
+1.196,1.254,2.098,0.187,0.973,1.692,2.391,1.558,1.328,3.211,
+2.829,1.509,0.954,1.604,1.682,1.140,0.879,1.149,1.461,0.091,
+0.831,1.412,1.623,1.292,1.043,2.129,2.119,1.675,1.153,1.947,
+0.135,0.100,0.074,0.145,1.541,0.114,0.982,1.448,1.753,1.968,
+1.484,2.379,3.467,1.624,1.479,3.249,2.297,1.648,1.373,2.097,
+2.602,0.152,1.753,2.777,4.064,2.448,2.726,4.312,18.6,5.221,
+9.248,8.095,4.627,2.586,2.568,2.914,11.2,0.520,2.332,2.995,
+6.153,4.473,2.624,4.840,4.076,2.111,1.695,2.288,2.304,1.230,
+1.288,1.514,2.524,0.169,1.217,1.521,2.036,1.574,1.341,2.200,
+4.845,2.781,1.798,2.515,0.282,0.188,0.161,0.312,2.129,0.171,
+1.432,1.638,1.798,1.866,1.665,2.476,4.458,2.080,1.837,3.366,
+2.923,1.801,1.626,2.518,2.166,0.169,1.512,2.044,3.060,1.824,
+2.206,4.359,7.599,3.381,2.502,3.832,3.437,2.084,1.687,1.931,
+3.108,0.258,1.246,2.197,2.441,2.291,1.273,2.618,3.364,1.872,
+1.100,1.698,1.879,0.788,0.978,1.299,2.040,0.155,1.025,1.457,
+1.429,1.285,0.794,1.442,2.841,2.239,1.401,2.406,0.199,0.148,
+0.129,0.236,1.847,0.188,1.128,1.663,1.379,1.757,1.290,1.930,
+2.546,1.403,1.060,2.247,2.114,1.461,1.208,1.900,1.555,0.124,
+0.939,1.586,1.612,1.388,1.370,2.887,5.505,2.087,1.763,2.747,
+3.467,2.058,1.869,2.199,4.844,0.411,1.309,1.979,2.946,2.310,
+1.684,3.406,0.398,0.247,0.167,0.257,0.303,0.228,0.209,0.245,
+0.317,0.039,0.152,0.220,0.356,0.389,0.220,0.383,2.005,1.477,
+1.394,1.689,0.190,0.134,0.197,0.259,1.393,0.147,0.728,1.079,
+1.252,1.474,1.209,1.502,2.027,1.145,1.055,1.680,2.632,1.751,
+1.674,2.319,1.773,0.162,1.039,1.643,2.043,1.699,1.768,3.025,
+5.366,2.002,1.642,3.239,2.170,1.278,1.139,1.626,3.296,0.343,
+1.166,1.908,3.492,2.366,1.567,3.858,3.412,1.822,1.351,1.998,
+2.137,1.343,1.320,1.553,2.164,0.166,1.122,1.736,2.427,1.597,
+1.361,2.643,2.341,1.917,1.696,2.302,0.194,0.133,0.145,0.251,
+1.707,0.142,1.075,1.637,1.777,1.999,1.622,2.514,3.748,1.870,
+1.600,3.284,2.153,1.368,1.389,2.169,3.104,0.212,1.749,2.831,
+5.456,3.395,3.528,7.788,0.792,0.389,0.371,0.443,0.391,0.282,
+0.202,0.281,0.377,0.042,0.129,0.204,0.341,0.359,0.192,0.313,
+0.374,0.252,0.173,0.239,0.264,0.188,0.188,0.217,0.194,0.025,
+0.125,0.151,0.158,0.166,0.132,0.210,0.264,0.218,0.146,0.214,
+0.033,0.026,0.025,0.033,0.159,0.017,0.110,0.137,0.129,0.172,
+0.127,0.220,0.284,0.149,0.141,0.245,0.274,0.196,0.175,0.246,
+0.202,0.021,0.174,0.193,0.231,0.171,0.246,0.359,0.506,0.314,
+0.180,0.317,0.304,0.288,0.165,0.252,0.212,0.031,0.105,0.235,
+0.168,0.191,0.109,0.199,0.351,0.256,0.130,0.202,0.261,0.156,
+0.169,0.233,0.203,0.028,0.118,0.166,0.122,0.144,0.100,0.154,
+0.213,0.221,0.147,0.193,0.027,0.029,0.036,0.030,0.192,0.039,
+0.122,0.145,0.105,0.168,0.127,0.174,0.204,0.132,0.102,0.198,
+0.208,0.180,0.157,0.186,0.141,0.016,0.097,0.151,0.140,0.127,
+0.123,0.245,0.382,0.187,0.134,0.195,0.289,0.231,0.208,0.203,
+0.273,0.040,0.145,0.139,0.176,0.193,0.148,0.235,0.028,0.029,
+0.019,0.022,0.032,0.035,0.036,0.031,0.029,0.015,0.028,0.024,
+0.023,0.036,0.022,0.029,0.195,0.193,0.164,0.198,0.028,0.037,
+0.040,0.048,0.172,0.033,0.118,0.138,0.121,0.214,0.154,0.180,
+0.201,0.112,0.120,0.175,0.267,0.234,0.213,0.255,0.184,0.024,
+0.147,0.173,0.182,0.183,0.190,0.304,0.511,0.317,0.204,0.371,
+0.267,0.185,0.156,0.207,0.291,0.033,0.129,0.195,0.335,0.295,
+0.213,0.467,0.464,0.301,0.213,0.317,0.354,0.293,0.270,0.318,
+0.297,0.031,0.170,0.264,0.324,0.379,0.236,0.406,0.271,0.240,
+0.198,0.275,0.024,0.026,0.020,0.038,0.224,0.027,0.169,0.217,
+0.207,0.261,0.229,0.327,0.420,0.238,0.181,0.352,0.268,0.208,
+0.173,0.249,0.324,0.030,0.220,0.335,0.499,0.389,0.396,0.758,
+5.153,2.427,2.448,3.018,2.273,1.626,1.154,1.452,2.048,0.193,
+1.173,1.337,1.759,1.491,1.014,1.689,2.811,1.698,1.208,1.409,
+1.875,1.106,1.083,1.085,1.610,0.161,1.303,1.279,1.234,1.276,
+0.943,1.352,2.755,2.396,1.430,2.023,0.263,0.225,0.162,0.311,
+1.771,0.195,1.003,1.249,1.161,1.867,0.991,1.635,2.073,1.247,
+1.022,2.873,1.653,1.241,1.018,1.567,1.882,0.160,1.120,1.534,
+1.584,1.189,1.426,2.621,0.327,0.230,0.134,0.239,0.238,0.319,
+0.121,0.159,0.143,0.021,0.081,0.118,0.114,0.132,0.080,0.151,
+0.204,0.137,0.088,0.099,0.171,0.118,0.101,0.109,0.139,0.023,
+0.103,0.105,0.100,0.092,0.077,0.101,0.191,0.199,0.110,0.168,
+0.025,0.032,0.027,0.038,0.142,0.030,0.127,0.141,0.092,0.148,
+0.117,0.148,0.241,0.132,0.104,0.282,0.212,0.201,0.124,0.225,
+0.176,0.017,0.107,0.181,0.145,0.121,0.129,0.246,2.981,1.548,
+1.126,1.202,2.015,1.800,1.423,1.330,2.031,0.248,1.004,1.260,
+1.198,1.153,1.100,1.435,0.184,0.171,0.097,0.119,0.148,0.199,
+0.142,0.126,0.142,0.034,0.117,0.113,0.118,0.159,0.165,0.134,
+1.822,1.438,1.204,1.933,0.173,0.151,0.166,0.642,1.085,0.159,
+0.380,0.619,0.684,1.044,0.779,1.036,1.369,0.820,0.760,1.092,
+1.449,1.241,1.088,1.888,1.323,0.134,0.941,1.131,0.953,0.952,
+1.123,1.463,2.442,1.218,0.918,1.413,1.522,1.030,0.631,0.796,
+1.406,0.147,0.709,1.035,1.212,1.050,0.710,1.467,2.180,1.391,
+0.982,1.091,1.580,1.271,1.078,0.907,1.712,0.142,1.018,1.208,
+1.348,1.310,0.961,1.421,1.735,1.741,1.127,1.620,0.150,0.154,
+0.107,0.247,1.341,0.177,0.940,1.172,1.114,1.545,1.179,1.873,
+1.594,0.946,0.860,1.267,1.357,1.068,0.837,1.195,1.619,0.129,
+1.222,1.371,1.728,1.450,1.580,2.355,5.242,2.237,1.853,3.031,
+2.100,1.294,1.026,1.393,1.971,0.167,0.777,1.226,2.522,1.574,
+1.025,2.250,3.137,1.267,1.026,1.406,1.337,0.702,0.712,0.931,
+1.088,0.073,0.798,1.001,1.115,0.790,0.636,1.250,2.458,1.835,
+1.043,1.789,0.162,0.128,0.100,0.217,1.467,0.119,0.734,1.207,
+1.308,1.349,0.981,1.756,3.167,1.496,1.403,2.522,1.789,1.203,
+1.073,1.638,1.745,0.153,0.926,1.518,2.265,1.379,1.732,3.628,
+4.798,2.822,1.619,2.822,2.735,3.512,1.210,1.795,2.034,0.166,
+0.946,1.459,1.835,1.606,0.965,2.023,3.141,1.717,1.156,1.748,
+1.752,1.210,0.980,1.372,1.516,0.104,0.944,1.413,1.209,0.999,
+0.730,1.360,2.062,1.862,1.108,1.824,0.140,0.140,0.096,0.173,
+1.583,0.146,1.049,1.585,1.350,1.838,1.376,2.182,2.506,1.364,
+1.151,2.027,2.065,1.633,1.092,1.825,1.918,0.139,1.065,1.820,
+1.808,1.412,1.564,2.879,3.027,1.711,1.374,1.784,2.180,1.582,
+1.329,1.801,1.871,0.200,1.005,1.744,1.650,1.548,1.312,2.393,
+0.209,0.162,0.111,0.151,0.156,0.168,0.140,0.166,0.116,0.019,
+0.101,0.138,0.152,0.204,0.112,0.182,1.766,1.715,1.162,1.996,
+0.157,0.176,0.194,0.485,1.449,0.254,0.879,1.258,1.410,3.039,
+1.215,1.797,1.800,1.163,1.081,1.529,1.913,1.541,1.420,2.241,
+1.841,0.141,1.315,1.811,1.856,1.638,1.903,2.642,3.746,1.554,
+1.360,2.272,1.661,0.977,1.066,1.260,2.092,0.227,0.935,1.595,
+1.635,1.221,0.975,2.449,2.515,1.455,0.988,1.479,1.661,1.136,
+1.009,1.171,1.377,0.095,1.003,1.460,1.517,1.233,1.013,1.837,
+2.264,2.130,1.343,2.164,0.163,0.148,0.121,0.236,1.862,0.151,
+1.354,1.914,1.903,2.271,1.705,2.486,3.375,1.633,1.470,3.054,
+2.042,1.576,1.365,2.131,2.506,0.161,1.901,3.025,3.707,2.362,
+2.685,4.954,21.6,8.059,6.962,17.5,6.425,3.515,3.353,4.821,
+6.937,0.554,2.691,4.632,18.7,8.137,4.261,9.489,5.825,2.740,
+2.338,3.520,2.833,1.404,1.590,1.959,3.284,0.187,1.873,2.094,
+3.593,2.441,1.728,3.300,4.721,2.937,2.222,4.021,0.364,0.197,
+0.186,0.434,2.619,0.182,1.334,2.020,3.123,2.625,1.944,4.041,
+10.4,3.546,3.440,6.707,4.671,2.539,2.513,4.281,3.856,0.261,
+2.027,3.658,6.657,3.785,3.809,10.2,7.865,3.078,2.151,4.083,
+3.251,1.583,1.261,1.742,2.723,0.207,1.047,1.854,3.024,2.243,
+1.278,2.943,3.421,1.568,0.988,1.722,1.653,0.744,0.742,1.060,
+1.831,0.099,0.877,1.235,1.660,1.160,0.778,1.514,2.823,1.791,
+1.344,2.345,0.175,0.105,0.091,0.174,2.156,0.195,0.863,1.420,
+1.954,1.992,1.227,2.082,3.118,1.490,1.274,2.496,1.927,1.144,
+1.118,1.688,1.801,0.113,0.879,1.630,2.221,1.729,1.504,3.719,
+9.813,2.511,2.059,3.849,4.001,1.902,1.754,3.026,4.017,0.352,
+1.129,2.091,5.221,3.139,1.866,5.104,0.558,0.234,0.174,0.327,
+0.301,0.177,0.180,0.283,0.292,0.022,0.134,0.223,0.604,0.454,
+0.221,0.539,2.503,1.590,1.686,2.493,0.205,0.112,0.134,0.258,
+1.669,0.145,0.706,1.191,2.206,1.822,1.223,2.152,2.887,1.649,
+1.562,2.742,2.645,1.622,1.608,2.655,2.118,0.163,1.126,1.914,
+3.266,2.420,2.133,4.477,9.981,3.266,2.663,6.115,3.396,1.694,
+1.606,2.659,5.033,0.369,1.721,3.091,10.8,4.704,3.022,8.893,
+4.844,2.340,1.950,2.983,2.520,1.480,1.497,2.001,3.069,0.172,
+1.512,2.407,4.953,3.258,2.127,4.448,3.685,2.545,2.347,3.144,
+0.253,0.150,0.147,0.259,2.856,0.169,1.502,2.324,3.314,3.227,
+2.417,4.349,7.259,3.353,2.930,6.146,3.703,2.222,2.151,3.480,
+4.943,0.299,2.617,4.647,10.6,7.533,6.049,15.5,10.5,4.838,
+3.501,7.199,4.868,2.768,2.108,3.074,3.840,0.332,1.348,2.593,
+5.003,4.467,2.123,4.639,5.177,2.663,1.917,3.656,3.130,1.609,
+1.665,2.122,2.302,0.168,1.282,1.861,2.179,1.888,1.358,2.941,
+3.517,2.779,1.758,2.997,0.283,0.183,0.131,0.274,2.094,0.173,
+1.054,1.664,1.914,2.124,1.453,2.950,4.003,1.971,1.879,3.182,
+3.022,1.897,1.687,2.464,2.355,0.181,1.375,2.108,2.986,1.922,
+2.026,4.586,6.857,3.242,1.776,4.107,3.379,1.907,1.301,1.886,
+2.289,0.183,0.904,1.965,2.415,1.952,1.166,2.554,3.526,2.131,
+1.130,2.180,2.482,1.162,1.061,1.368,2.042,0.136,0.861,1.355,
+1.435,1.252,0.870,1.540,2.668,2.317,1.361,2.236,0.193,0.162,
+0.126,0.178,2.151,0.195,0.928,1.391,1.573,1.789,1.161,2.218,
+2.546,1.617,1.267,2.185,2.024,1.470,1.448,1.542,1.563,0.100,
+0.799,1.337,1.911,1.366,1.189,2.670,6.172,2.251,1.593,2.946,
+3.393,1.810,1.611,2.274,2.670,0.281,1.016,1.564,2.941,2.281,
+1.563,3.553,0.242,0.156,0.102,0.186,0.175,0.141,0.131,0.167,
+0.143,0.024,0.088,0.129,0.247,0.226,0.125,0.243,2.452,2.011,
+1.680,2.336,0.188,0.152,0.130,0.216,2.028,0.172,0.971,1.408,
+1.767,1.985,1.433,2.396,2.771,1.422,1.515,2.415,2.757,2.115,
+1.697,2.310,2.417,0.179,1.310,1.895,2.677,1.996,2.058,4.148,
+6.790,2.743,1.986,4.115,2.626,1.519,1.363,2.019,3.061,0.230,
+1.260,2.083,4.425,2.770,2.012,5.380,4.026,2.322,1.804,2.997,
+2.443,1.827,1.794,2.432,2.265,0.169,1.238,2.052,3.010,2.785,
+1.838,3.644,3.098,2.513,2.084,3.023,0.190,0.140,0.114,0.203,
+2.704,0.169,1.441,2.079,2.560,2.495,2.030,3.538,5.043,2.430,
+2.126,3.780,2.877,2.029,1.602,2.169,3.514,0.220,1.894,3.563,
+5.465,3.940,3.543,7.312,5.518,3.002,2.229,4.087,2.932,1.987,
+1.321,1.968,2.816,0.216,1.167,2.015,3.652,2.616,1.580,3.089,
+3.958,2.351,1.406,2.245,2.255,1.348,1.086,1.423,2.082,0.176,
+1.454,1.730,2.474,2.083,1.291,2.385,2.894,2.378,1.612,2.703,
+0.242,0.195,0.157,0.337,1.815,0.171,1.101,1.742,1.643,2.144,
+1.320,2.707,2.975,1.659,1.566,2.973,2.172,1.526,1.327,2.261,
+2.174,0.169,1.264,2.284,2.609,1.890,2.147,4.583,0.343,0.227,
+0.134,0.286,0.264,0.222,0.138,0.186,0.195,0.021,0.094,0.150,
+0.210,0.207,0.124,0.241,0.233,0.158,0.086,0.157,0.167,0.144,
+0.098,0.131,0.158,0.016,0.118,0.145,0.161,0.140,0.091,0.158,
+0.170,0.171,0.115,0.170,0.015,0.019,0.028,0.021,0.178,0.021,
+0.109,0.161,0.135,0.193,0.131,0.288,0.256,0.151,0.117,0.279,
+0.206,0.190,0.150,0.244,0.180,0.016,0.109,0.186,0.200,0.170,
+0.174,0.364,3.728,1.866,1.337,1.851,2.234,1.720,1.479,1.698,
+2.147,0.253,0.987,1.443,1.831,1.683,1.362,2.287,0.201,0.152,
+0.076,0.126,0.122,0.120,0.087,0.098,0.122,0.019,0.090,0.104,
+0.176,0.189,0.116,0.166,1.918,2.037,1.302,1.762,0.140,0.144,
+0.106,0.217,1.440,0.152,0.690,1.043,1.064,1.493,1.052,1.645,
+2.081,1.362,1.098,1.551,1.836,1.653,1.290,1.825,1.891,0.152,
+1.218,1.641,1.641,1.493,1.627,2.713,3.570,1.786,1.259,2.260,
+1.967,1.299,0.918,1.272,1.934,0.180,1.089,1.671,2.320,1.648,
+1.255,2.821,3.422,1.895,1.303,1.962,1.927,1.441,1.180,1.234,
+1.934,0.144,1.263,1.783,2.266,2.048,1.481,2.556,2.502,2.363,
+1.583,2.822,0.157,0.150,0.103,0.198,1.996,0.147,1.279,1.664,
+1.910,2.210,1.827,2.745,2.907,1.604,1.489,2.211,1.938,1.529,
+1.202,1.660,2.558,0.170,1.767,2.106,3.023,2.715,2.515,4.093,
+13.4,3.980,3.358,7.268,3.820,2.094,1.626,2.799,3.665,0.267,
+1.918,3.103,5.260,3.318,2.249,5.877,4.582,1.993,1.470,2.518,
+2.037,1.119,1.274,1.654,2.274,0.243,4.620,3.822,2.319,1.600,
+1.427,2.737,3.546,2.531,1.633,3.475,0.214,0.178,0.135,0.343,
+2.185,0.166,1.718,2.204,2.282,2.081,1.620,3.557,5.848,2.722,
+2.704,6.108,3.097,1.854,1.761,3.531,2.987,0.200,2.064,3.853,
+5.121,3.064,3.386,10.1,4.855,2.412,1.537,3.091,2.621,1.853,
+1.065,1.655,2.232,0.137,0.947,1.553,2.420,1.694,1.180,2.633,
+3.013,1.552,0.981,1.699,1.564,1.071,0.799,1.163,1.606,0.091,
+1.090,1.413,1.626,1.141,0.782,1.605,2.164,1.551,1.036,2.103,
+0.109,0.093,0.074,0.154,1.726,0.136,1.000,1.618,1.748,1.912,
+1.272,2.689,2.935,1.564,1.412,3.105,2.146,1.579,1.212,2.333,
+2.012,0.117,1.215,2.068,2.521,1.808,1.912,4.368,5.283,2.609,
+2.208,2.992,3.233,2.023,1.754,2.769,2.994,0.270,1.402,2.269,
+3.336,2.390,1.879,3.851,0.259,0.189,0.116,0.188,0.163,0.134,
+0.105,0.149,0.139,0.013,0.124,0.149,0.261,0.215,0.121,0.248,
+2.791,2.366,1.639,2.500,0.157,0.136,0.098,0.230,2.041,0.169,
+1.075,1.773,2.187,2.402,1.721,2.933,3.469,2.215,1.935,2.792,
+3.044,2.212,1.841,3.038,2.876,0.191,1.799,2.824,3.153,2.204,
+2.607,4.528,10.3,3.220,2.673,4.914,3.111,1.787,1.716,2.381,
+3.418,0.216,1.731,2.829,5.107,2.886,2.485,7.024,4.410,2.416,
+1.599,2.675,2.717,2.051,1.394,1.860,2.557,0.142,1.457,2.283,
+3.041,2.340,1.723,3.827,4.273,3.259,2.174,3.673,0.181,0.146,
+0.095,0.221,3.065,0.180,2.121,3.011,3.494,3.463,2.729,4.647,
+9.391,3.630,3.023,6.779,3.775,2.571,2.143,4.007,4.389,0.232,
+2.882,5.311,7.418,3.912,3.923,9.484,20.2,9.022,5.343,9.733,
+10.2,4.420,3.313,4.003,7.508,0.718,2.891,4.478,9.358,7.078,
+3.760,6.248,12.4,4.869,2.421,3.327,4.819,2.665,1.909,2.035,
+3.667,0.292,1.773,2.335,2.970,2.693,1.741,2.790,5.308,3.792,
+2.403,3.490,0.436,0.340,0.237,0.455,2.766,0.255,1.390,1.828,
+2.766,3.452,1.948,2.867,7.922,3.486,3.109,5.222,4.851,3.209,
+2.622,3.976,3.699,0.301,1.803,2.921,4.728,3.098,2.745,4.687,
+9.065,3.846,1.694,3.151,4.270,2.714,1.646,1.885,3.541,0.318,
+1.058,1.690,2.751,2.162,1.032,1.861,5.108,2.459,1.106,1.596,
+2.546,1.601,1.081,1.089,2.407,0.224,1.087,1.520,1.582,1.623,
+0.854,1.232,2.788,2.510,1.219,1.794,0.216,0.201,0.124,0.178,
+2.448,0.243,1.038,1.395,1.480,2.049,1.195,1.666,2.498,1.565,
+0.960,1.683,2.173,1.596,0.962,1.402,2.153,0.176,0.976,1.548,
+1.947,1.589,1.346,2.505,4.929,2.163,1.342,2.163,3.021,1.672,
+1.588,1.703,2.528,0.300,0.945,1.722,2.199,2.050,1.309,2.741,
+0.386,0.255,0.123,0.192,0.223,0.176,0.144,0.143,0.201,0.033,
+0.125,0.191,0.243,0.327,0.156,0.288,1.792,1.522,1.129,1.246,
+0.160,0.125,0.109,0.146,1.301,0.144,0.670,0.995,0.995,1.291,
+0.828,1.169,1.944,1.212,0.994,1.440,2.073,1.450,1.153,1.608,
+1.889,0.181,0.964,1.684,1.697,1.640,1.472,2.362,6.142,2.295,
+1.600,3.341,2.285,1.248,1.203,1.512,2.570,0.218,0.908,1.602,
+3.285,2.295,1.532,3.728,4.608,2.671,1.537,2.195,2.298,1.542,
+1.381,1.412,2.117,0.166,1.186,1.707,2.253,2.275,1.470,2.624,
+2.400,1.841,1.525,1.801,0.183,0.143,0.266,0.185,1.531,0.138,
+0.885,1.382,1.433,1.808,1.317,1.869,3.280,1.808,1.455,2.833,
+1.901,1.406,1.272,1.744,2.555,0.197,1.448,2.425,3.117,2.556,
+2.382,4.421,8.634,5.409,2.677,4.626,4.316,3.001,1.927,2.185,
+2.671,0.279,1.060,1.774,2.970,2.768,1.548,2.644,5.283,5.004,
+1.742,2.201,2.860,2.035,1.400,1.382,1.794,0.223,0.979,1.424,
+1.444,1.625,0.979,1.574,2.638,2.716,1.422,1.854,0.239,0.300,
+0.154,0.227,1.378,0.165,0.899,1.066,1.214,1.811,1.027,1.663,
+2.570,1.492,1.186,1.978,2.395,2.083,1.246,1.640,1.482,0.194,
+0.974,1.312,1.969,1.494,1.344,2.748,4.924,3.726,1.335,2.047,
+2.888,2.609,1.217,1.235,1.739,0.220,0.706,1.070,1.385,1.563,
+0.849,1.405,2.849,2.457,0.919,1.086,1.652,0.926,0.899,0.760,
+1.390,0.196,0.774,0.992,0.906,1.194,0.678,0.885,1.903,2.337,
+0.974,1.276,0.196,0.277,0.131,0.145,1.549,0.272,0.824,1.103,
+0.921,1.965,0.884,1.346,1.584,1.223,0.615,1.041,1.733,1.644,
+0.712,0.917,1.268,0.139,0.682,0.889,1.166,1.147,0.775,1.906,
+3.099,1.893,0.940,1.435,2.220,1.721,1.281,1.270,1.553,0.216,
+0.705,1.049,1.116,1.410,0.940,1.532,0.380,0.321,0.094,0.120,
+0.138,0.176,0.114,0.099,0.118,0.040,0.100,0.132,0.114,0.200,
+0.104,0.141,1.496,1.613,1.034,1.141,0.152,0.185,0.130,0.136,
+1.212,0.198,0.721,1.051,0.753,1.432,0.864,1.107,1.483,0.886,
+0.738,1.167,1.627,1.652,1.090,1.408,1.395,0.156,0.932,1.445,
+1.088,1.179,1.230,1.849,2.534,1.369,0.872,1.467,1.494,0.950,
+0.694,0.866,1.184,0.107,0.463,0.762,1.308,1.087,0.709,1.496,
+2.352,1.856,0.937,1.179,1.353,1.258,0.840,0.946,0.916,0.098,
+0.612,0.912,0.929,1.278,0.729,1.372,1.534,1.364,0.960,1.148,
+0.107,0.116,0.086,0.107,1.024,0.114,0.654,0.968,0.877,1.234,
+0.899,1.220,1.906,1.014,0.831,1.346,1.380,1.204,0.768,1.171,
+1.587,0.197,0.951,1.592,1.892,1.904,1.487,2.759,4.861,3.123,
+1.815,3.199,2.316,1.851,1.161,1.394,1.822,0.210,0.903,1.324,
+2.028,2.019,1.089,2.143,3.804,2.903,1.695,1.968,2.244,1.711,
+1.335,1.250,2.060,0.239,1.148,1.428,1.550,2.009,1.095,1.670,
+2.356,2.449,1.478,2.154,0.238,0.251,0.162,0.283,1.410,0.177,
+0.671,0.983,1.095,1.780,0.904,1.508,2.297,1.413,1.553,1.876,
+1.945,1.591,1.089,1.363,1.576,0.157,0.887,1.415,1.978,1.505,
+1.539,3.603,0.315,0.275,0.113,0.196,0.241,0.249,0.143,0.141,
+0.207,0.043,0.103,0.143,0.144,0.221,0.100,0.173,0.291,0.331,
+0.114,0.155,0.235,0.280,0.158,0.148,0.212,0.047,0.156,0.161,
+0.137,0.241,0.115,0.145,0.170,0.213,0.103,0.146,0.025,0.043,
+0.026,0.021,0.178,0.045,0.117,0.132,0.117,0.254,0.119,0.153,
+0.227,0.162,0.112,0.188,0.289,0.279,0.187,0.208,0.189,0.029,
+0.122,0.170,0.207,0.178,0.174,0.329,1.950,1.305,0.878,1.005,
+1.379,1.109,1.952,0.985,1.474,0.243,0.837,0.878,0.870,1.177,
+0.969,1.192,0.160,0.178,0.076,0.087,0.103,0.127,0.113,0.066,
+0.129,0.029,0.077,0.091,0.112,0.198,0.108,0.119,1.208,1.440,
+0.786,0.843,0.124,0.141,0.121,0.108,1.440,0.234,0.597,0.745,
+0.863,1.990,0.843,0.934,1.246,0.838,0.614,0.742,1.274,1.191,
+0.810,0.889,1.358,0.176,0.708,1.014,0.901,1.235,0.917,1.362,
+1.973,1.031,0.637,1.158,1.149,0.684,0.612,0.628,1.236,0.120,
+0.488,0.760,1.146,0.960,0.691,1.375,2.351,1.703,0.974,1.173,
+1.455,1.269,0.880,0.835,1.370,0.148,0.789,1.056,1.144,1.429,
+1.037,1.331,1.533,1.541,0.830,1.070,0.132,0.170,0.097,0.117,
+1.644,0.362,0.660,0.976,0.961,1.760,0.866,1.247,1.929,1.027,
+0.867,1.063,1.455,1.283,0.818,1.107,1.804,0.191,1.076,1.549,
+1.736,1.713,1.476,2.493,5.251,2.602,1.863,3.900,1.939,1.354,
+1.002,1.276,1.885,0.188,0.789,1.495,2.759,2.106,1.311,3.197,
+2.216,1.384,0.839,1.409,1.206,0.788,0.637,0.768,1.169,0.110,
+0.558,0.947,1.165,0.998,0.662,1.239,2.191,1.844,1.055,1.872,
+0.201,0.190,0.112,0.239,1.215,0.113,0.529,0.951,1.187,1.311,
+0.905,1.633,2.522,1.254,1.292,2.548,1.589,1.181,0.913,1.463,
+1.419,0.111,0.821,1.398,2.191,1.424,1.714,4.347,3.876,2.484,
+1.275,2.343,2.462,1.911,1.032,1.341,1.961,0.212,0.851,1.432,
+1.752,1.850,0.980,1.818,2.565,2.141,0.814,1.487,1.713,1.494,
+0.835,0.975,1.828,0.305,0.977,1.431,1.317,1.588,0.776,1.214,
+1.567,1.537,0.756,1.313,0.129,0.143,0.084,0.125,1.510,0.154,
+0.807,1.100,1.196,1.637,1.156,1.536,1.791,1.133,0.831,1.555,
+1.709,1.475,0.940,1.427,1.602,0.119,0.920,1.312,1.752,1.316,
+1.381,2.562,2.120,1.659,0.910,1.352,1.737,1.107,0.893,1.175,
+1.776,0.297,0.725,1.314,1.240,1.411,0.945,1.668,0.152,0.173,
+0.073,0.118,0.094,0.112,0.071,0.081,0.220,0.105,0.092,0.188,
+0.129,0.283,0.079,0.148,1.112,1.093,0.664,0.872,0.097,0.086,
+0.075,0.099,1.010,0.121,0.546,0.842,0.740,1.139,0.714,1.109,
+1.271,0.919,0.671,0.989,1.486,1.230,0.795,1.207,1.435,0.152,
+0.713,1.405,1.079,1.083,0.951,1.772,3.391,1.444,1.007,1.939,
+1.484,0.890,0.759,0.942,1.550,0.131,0.572,1.082,2.088,1.403,
+1.029,2.513,1.753,1.150,0.637,1.075,1.073,0.798,0.609,0.776,
+1.129,0.148,0.626,1.223,1.098,1.174,0.742,1.504,1.702,1.483,
+0.891,1.533,0.117,0.107,0.070,0.130,1.488,0.132,0.785,1.325,
+1.360,1.696,1.128,1.824,2.828,1.478,1.201,2.561,1.940,1.613,
+1.054,1.749,2.368,0.145,1.412,2.596,3.288,2.255,2.410,4.657,
+8.516,4.974,3.301,5.342,5.476,3.544,2.030,2.373,3.892,0.432,
+1.622,2.747,4.751,3.849,2.143,3.708,5.707,3.733,1.860,2.272,
+5.326,2.843,1.628,1.630,2.538,0.269,1.528,1.877,1.827,2.045,
+1.314,1.939,2.391,1.987,1.381,1.829,0.250,0.205,0.185,0.241,
+1.453,0.153,0.764,0.943,1.279,1.682,1.205,1.737,2.966,1.525,
+1.289,2.370,2.724,1.798,1.409,1.849,1.695,0.179,1.018,1.566,
+2.078,1.623,1.632,2.928,5.284,3.148,1.415,2.271,3.609,2.506,
+1.248,1.436,2.235,0.287,1.004,1.439,1.796,1.922,0.869,1.757,
+3.409,2.780,0.959,1.328,2.602,1.676,1.041,1.056,1.934,0.288,
+1.170,1.520,1.186,1.659,0.746,1.120,1.543,1.804,0.870,1.167,
+0.171,0.199,0.125,0.159,1.426,0.225,0.925,1.030,0.964,1.719,
+1.089,1.335,1.266,0.889,0.514,0.927,1.347,1.215,0.618,0.936,
+1.205,0.124,0.728,1.058,1.102,1.092,0.954,1.782,2.613,1.452,
+0.805,1.328,2.190,1.594,1.103,1.329,1.981,0.284,0.928,1.315,
+1.428,1.775,1.048,2.030,0.175,0.185,0.096,0.130,0.190,0.199,
+0.136,0.136,0.165,0.042,0.123,0.165,0.135,0.283,0.131,0.204,
+0.890,1.019,0.686,0.782,0.108,0.115,0.085,0.115,0.928,0.134,
+0.614,0.817,0.636,0.982,0.684,0.885,0.983,0.692,0.493,0.833,
+1.245,1.058,0.736,1.044,1.200,0.150,0.786,1.114,1.060,1.252,
+1.085,1.724,2.648,1.184,0.757,1.727,1.256,0.727,0.568,0.846,
+1.450,0.145,0.567,0.896,1.634,1.300,0.827,2.063,2.132,1.667,
+0.957,1.277,1.672,1.343,0.914,1.091,1.333,0.141,0.974,1.242,
+1.068,1.555,0.856,1.505,1.089,0.987,0.888,1.000,0.095,0.084,
+0.137,0.109,0.836,0.094,0.611,0.874,0.794,1.054,0.752,1.109,
+1.642,0.891,0.711,1.448,0.933,0.782,0.762,0.938,1.286,0.125,
+0.918,1.388,1.707,1.580,1.391,2.800,4.507,3.114,1.629,2.877,
+3.136,2.890,1.526,1.579,1.863,0.225,0.858,1.297,1.704,1.803,
+0.939,1.778,3.042,2.615,1.128,1.467,2.339,2.366,1.286,1.172,
+1.257,0.187,0.859,1.080,0.859,1.274,0.718,1.122,1.307,1.568,
+0.867,1.253,0.137,0.179,0.113,0.168,0.833,0.126,0.660,0.778,
+0.719,1.034,0.731,1.281,1.211,0.836,0.675,1.254,1.307,1.379,
+0.788,1.056,0.859,0.102,0.851,0.908,1.028,0.898,0.878,1.658,
+3.182,2.513,0.908,1.267,1.944,2.063,0.867,0.917,1.212,0.188,
+0.618,0.791,0.871,1.151,0.498,0.910,1.915,1.368,0.543,0.732,
+0.665,0.352,0.392,0.368,0.920,0.229,0.561,0.806,0.485,0.918,
+0.473,0.654,1.032,1.566,0.647,0.847,0.132,0.289,0.118,0.133,
+1.088,0.214,0.657,0.808,0.639,1.415,0.787,1.102,0.726,0.689,
+0.373,0.564,0.961,1.297,0.521,0.678,0.839,0.117,0.616,0.721,
+0.670,0.810,0.557,1.059,1.796,1.352,0.618,0.947,1.810,1.895,
+1.092,1.082,1.206,0.191,0.640,0.928,0.815,1.111,0.816,1.286,
+0.124,0.200,0.078,0.099,0.133,0.275,0.142,0.109,0.105,0.048,
+0.103,0.109,0.070,0.195,0.091,0.112,0.888,1.325,0.707,0.764,
+0.124,0.217,0.126,0.123,0.827,0.153,0.599,0.802,0.530,1.087,
+0.734,0.922,0.801,0.587,0.458,0.679,1.213,1.509,0.916,1.060,
+1.039,0.130,0.838,1.084,0.819,0.917,0.941,1.474,1.352,0.891,
+0.493,0.813,0.987,0.784,0.428,0.612,0.865,0.085,0.326,0.472,
+0.796,0.716,0.466,0.954,1.208,1.299,0.632,0.781,1.105,1.446,
+0.702,0.775,0.704,0.108,0.517,0.678,0.533,0.977,0.537,0.843,
+0.896,0.998,0.598,0.739,0.070,0.109,0.066,0.084,0.639,0.078,
+0.551,0.687,0.548,0.882,0.689,0.920,0.996,0.613,0.418,0.731,
+0.743,0.835,0.468,0.661,0.756,0.081,0.627,0.821,0.899,0.983,
+0.903,1.727,3.274,2.561,1.304,2.256,2.179,1.755,0.924,1.326,
+1.416,0.178,0.674,1.035,1.385,1.432,0.831,1.541,3.133,3.003,
+1.222,1.633,2.914,2.104,1.716,1.591,1.917,0.274,1.355,1.522,
+1.154,1.753,0.922,1.387,1.346,1.823,0.874,1.284,0.191,0.194,
+0.128,0.246,1.152,0.163,0.561,0.818,0.786,1.410,0.704,1.178,
+1.342,0.906,0.720,1.257,1.373,1.156,0.756,1.134,1.179,0.142,
+0.827,1.158,1.223,1.141,1.180,2.383,0.197,0.236,0.077,0.124,
+0.226,0.259,0.131,0.143,0.131,0.033,0.078,0.094,0.100,0.165,
+0.078,0.130,0.205,0.329,0.103,0.127,0.360,0.350,0.356,0.303,
+0.227,0.099,0.191,0.179,0.093,0.201,0.084,0.116,0.082,0.169,
+0.080,0.083,0.030,0.066,0.047,0.028,0.139,0.059,0.123,0.127,
+0.074,0.196,0.111,0.122,0.099,0.077,0.049,0.089,0.197,0.210,
+0.116,0.140,0.117,0.030,0.102,0.126,0.093,0.113,0.111,0.179,
+1.535,1.612,0.688,0.905,1.505,1.874,1.109,1.055,1.588,0.307,
+0.861,0.958,0.865,1.254,0.781,1.223,0.144,0.403,0.096,0.098,
+0.164,0.391,0.161,0.126,0.158,0.059,0.140,0.128,0.103,0.230,
+0.110,0.124,0.858,1.480,0.686,0.727,0.125,0.208,0.106,0.115,
+1.188,0.231,0.551,0.778,0.671,1.520,0.753,0.921,0.750,0.751,
+0.425,0.625,1.181,1.491,0.778,0.919,1.193,0.188,0.923,1.135,
+0.783,1.138,1.023,1.490,1.342,0.940,0.485,0.860,0.884,0.649,
+0.374,0.516,1.126,0.117,0.425,0.697,0.886,0.794,0.476,1.066,
+1.918,2.323,0.843,1.030,1.708,1.902,1.005,1.117,2.006,0.228,
+1.048,1.269,1.016,1.610,0.851,1.317,0.999,1.499,0.717,0.841,
+0.102,0.158,0.087,0.099,1.010,0.165,0.669,0.884,0.746,1.512,
+0.786,1.112,1.070,0.853,0.556,0.981,0.967,1.013,0.628,0.815,
+1.340,0.148,1.141,1.390,1.284,1.546,1.388,2.073,2.829,1.583,
+1.017,2.009,1.459,0.974,0.642,1.034,1.258,0.125,0.532,0.991,
+1.438,1.135,0.649,1.724,1.899,1.265,0.664,1.067,1.192,0.835,
+0.611,0.833,0.878,0.084,0.469,0.746,0.753,0.731,0.447,0.899,
+1.110,1.117,0.537,0.941,0.090,0.088,0.054,0.124,0.695,0.073,
+0.338,0.578,0.630,0.733,0.468,0.925,1.350,0.748,0.641,1.297,
+0.894,0.679,0.520,0.998,0.852,0.073,0.482,0.867,1.146,0.829,
+0.810,2.163,2.332,1.821,0.794,1.289,1.674,1.450,0.795,1.000,
+1.391,0.165,0.681,1.084,1.127,1.310,0.641,1.290,1.758,1.577,
+0.598,0.885,1.850,1.541,1.049,1.100,1.352,0.194,0.828,1.157,
+0.931,1.181,0.649,1.001,0.772,0.990,0.470,0.701,0.081,0.127,
+0.072,0.105,1.110,0.135,0.583,0.766,0.776,1.287,0.751,1.042,
+0.864,0.576,0.450,0.761,0.993,0.970,0.536,0.968,1.095,0.110,
+0.592,0.873,0.910,0.950,0.745,1.507,1.581,1.312,0.659,0.891,
+1.433,1.377,0.851,0.978,2.243,0.255,0.852,1.149,1.137,1.191,
+0.861,1.378,0.102,0.150,0.057,0.076,0.095,0.180,0.085,0.087,
+0.114,0.029,0.077,0.096,0.083,0.142,0.071,0.106,0.649,0.818,
+0.460,0.623,0.068,0.080,0.066,0.083,0.859,0.115,0.498,0.768,
+0.563,0.881,0.577,0.892,0.823,0.628,0.408,0.646,0.980,0.951,
+0.635,0.947,1.218,0.156,0.742,1.164,0.891,0.989,0.985,1.534,
+1.953,1.129,0.635,1.228,0.927,0.659,0.436,0.627,1.066,0.092,
+0.422,0.719,1.152,0.845,0.589,1.420,1.269,1.092,0.474,0.761,
+0.897,0.983,0.528,0.740,1.093,0.093,0.510,0.795,0.793,0.857,
+0.527,1.054,0.909,0.906,0.559,1.011,0.068,0.070,0.046,0.091,
+0.769,0.075,0.511,0.778,0.771,1.055,0.772,1.163,1.543,0.864,
+0.677,1.482,1.082,1.040,0.742,1.254,1.407,0.117,0.975,1.657,
+1.902,1.569,1.620,2.607,5.066,2.965,2.657,3.721,2.934,2.055,
+1.670,1.810,3.078,0.290,1.121,1.686,3.145,2.703,1.497,2.574,
+2.737,1.943,1.400,1.546,1.847,1.145,1.071,1.070,1.918,0.160,
+0.925,1.139,1.259,1.267,1.205,1.614,1.879,1.653,1.035,1.549,
+0.175,0.146,0.120,0.209,1.246,0.119,0.773,0.958,1.013,1.299,
+0.949,1.519,2.208,1.191,0.992,1.818,1.802,1.439,1.111,1.540,
+1.451,0.148,1.777,1.626,1.813,1.302,1.995,2.660,4.090,2.758,
+1.359,2.173,3.072,2.349,1.421,1.544,1.846,0.226,0.762,1.054,
+1.540,1.811,0.948,1.678,2.558,2.307,0.958,1.218,1.889,1.263,
+1.113,1.084,1.833,0.230,0.845,1.171,1.070,1.452,0.756,1.102,
+1.941,2.257,1.042,1.490,0.190,0.223,0.144,0.210,1.851,0.256,
+1.088,1.325,1.079,1.950,1.131,1.470,1.452,0.992,0.640,1.208,
+1.593,1.404,0.912,1.408,1.302,0.130,0.909,1.185,1.262,1.113,
+1.116,2.170,2.280,1.302,0.760,1.391,2.181,1.609,1.236,1.503,
+1.880,0.261,0.656,0.993,1.450,1.529,0.975,1.809,0.185,0.194,
+0.091,0.143,0.167,0.170,0.139,0.171,0.194,0.038,0.101,0.134,
+0.189,0.317,0.151,0.237,1.048,1.053,0.798,1.055,0.140,0.121,
+0.127,0.177,0.944,0.140,0.558,0.693,0.863,1.143,0.756,1.008,
+1.128,0.691,0.527,0.985,1.535,1.349,0.993,1.503,1.289,0.131,
+0.719,1.038,1.543,1.181,1.099,2.215,2.246,1.063,0.765,1.548,
+1.120,0.727,0.709,0.978,1.329,0.144,0.519,0.820,1.630,1.403,
+0.822,1.947,1.718,1.473,0.786,1.155,1.211,0.938,0.949,1.128,
+1.283,0.147,0.707,1.001,1.194,1.463,0.826,1.463,1.230,1.259,
+0.938,1.292,0.117,0.115,0.107,0.160,1.143,0.117,0.747,1.067,
+1.031,1.373,1.051,1.578,1.703,0.994,0.820,1.657,1.087,0.832,
+0.873,1.286,1.844,0.165,1.404,1.856,2.730,2.189,2.131,3.869,
+0.251,0.216,0.160,0.179,0.190,0.196,0.127,0.145,0.137,0.023,
+0.072,0.094,0.139,0.154,0.099,0.147,0.235,0.225,0.244,0.149,
+0.193,0.182,0.171,0.141,0.152,0.036,0.123,0.106,0.087,0.150,
+0.124,0.112,0.108,0.151,0.093,0.106,0.016,0.027,0.021,0.022,
+0.082,0.021,0.105,0.094,0.066,0.116,0.111,0.145,0.131,0.086,
+0.095,0.127,0.151,0.146,0.128,0.143,0.132,0.030,0.603,0.264,
+0.145,0.134,0.693,0.277,0.214,0.222,0.085,0.113,0.192,0.271,
+0.134,0.106,0.107,0.029,0.074,0.081,0.074,0.119,0.084,0.091,
+0.219,0.326,0.111,0.107,0.272,0.214,0.183,0.129,0.188,0.073,
+0.098,0.107,0.095,0.214,0.085,0.095,0.124,0.213,0.096,0.108,
+0.033,0.080,0.048,0.025,0.159,0.065,0.120,0.128,0.069,0.207,
+0.116,0.124,0.095,0.090,0.056,0.083,0.136,0.168,0.083,0.101,
+0.103,0.020,0.098,0.095,0.074,0.100,0.104,0.164,0.138,0.128,
+0.055,0.081,0.153,0.182,0.152,0.153,0.134,0.038,0.065,0.069,
+0.077,0.124,0.084,0.116,0.019,0.034,0.016,0.015,0.028,0.057,
+0.048,0.032,0.031,0.031,0.029,0.023,0.012,0.041,0.024,0.021,
+0.096,0.134,0.130,0.103,0.029,0.052,0.058,0.030,0.130,0.057,
+0.112,0.106,0.066,0.182,0.127,0.114,0.102,0.079,0.061,0.092,
+0.157,0.249,0.143,0.150,0.148,0.036,0.155,0.139,0.106,0.137,
+0.146,0.198,0.150,0.137,0.078,0.120,0.101,0.090,0.068,0.096,
+0.110,0.015,0.047,0.068,0.113,0.127,0.089,0.174,0.189,0.352,
+0.108,0.135,0.165,0.200,0.170,0.217,0.164,0.037,0.094,0.127,
+0.120,0.233,0.111,0.175,0.097,0.134,0.100,0.115,0.014,0.026,
+0.020,0.018,0.125,0.026,0.106,0.134,0.094,0.177,0.127,0.158,
+0.131,0.105,0.072,0.122,0.108,0.133,0.091,0.122,0.171,0.026,
+0.176,0.189,0.176,0.189,0.195,0.311,2.711,1.902,1.273,1.910,
+2.028,1.860,1.100,1.253,1.371,0.170,0.669,0.990,1.183,1.184,
+0.807,1.324,2.302,1.898,1.335,1.321,2.058,1.525,1.713,1.272,
+1.689,0.236,1.202,1.271,1.002,1.491,1.103,1.273,1.502,2.197,
+1.161,1.578,0.220,0.305,0.193,0.319,2.047,0.544,0.995,1.179,
+1.010,2.211,0.944,1.340,1.283,0.884,0.638,1.239,1.403,1.234,
+0.911,1.301,1.394,0.185,1.113,1.424,1.288,1.178,1.349,2.223,
+0.185,0.193,0.074,0.117,0.334,0.411,0.151,0.144,0.121,0.029,
+0.082,0.136,0.080,0.120,0.070,0.110,0.161,0.188,0.088,0.084,
+0.233,0.228,0.252,0.157,0.151,0.060,0.150,0.151,0.076,0.143,
+0.089,0.087,0.099,0.222,0.093,0.102,0.029,0.093,0.047,0.036,
+0.149,0.065,0.144,0.162,0.078,0.198,0.111,0.124,0.122,0.093,
+0.060,0.117,0.193,0.218,0.121,0.168,0.123,0.028,0.125,0.153,
+0.102,0.107,0.108,0.174,1.453,1.249,0.636,0.728,1.763,2.016,
+1.509,1.103,1.189,0.255,0.783,0.919,0.701,1.029,0.860,1.083,
+0.119,0.187,0.085,0.079,0.148,0.241,0.239,0.101,0.130,0.049,
+0.125,0.110,0.086,0.196,0.132,0.125,1.106,1.536,0.966,0.991,
+0.157,0.221,0.245,0.197,1.064,0.196,0.434,0.730,0.561,1.134,
+0.920,1.032,0.894,0.668,0.505,0.627,1.179,1.442,1.095,1.125,
+1.161,0.175,0.982,1.041,0.764,0.936,1.033,1.413,1.286,0.742,
+0.550,0.847,0.956,0.778,0.502,0.623,0.803,0.098,0.437,0.747,
+0.739,0.756,0.464,0.976,1.472,1.378,0.760,0.824,1.500,1.762,
+1.304,0.906,1.188,0.168,0.874,1.089,0.952,1.346,0.828,1.114,
+1.253,1.828,0.919,1.163,0.148,0.223,0.149,0.166,1.366,0.200,
+1.050,1.283,0.839,1.457,1.012,1.339,1.037,0.755,0.575,0.860,
+1.025,1.143,0.753,0.918,1.358,0.148,1.327,1.504,1.238,1.388,
+1.343,1.905,2.376,1.286,0.931,1.578,1.320,0.923,0.695,0.896,
+1.015,0.101,0.413,0.744,1.196,0.966,0.616,1.444,1.591,0.983,
+0.565,0.724,0.903,0.515,0.493,0.545,0.761,0.062,0.375,0.561,
+0.615,0.566,0.454,0.752,1.148,1.223,0.601,1.021,0.106,0.102,
+0.074,0.132,0.906,0.101,0.467,0.726,0.753,0.925,0.651,1.105,
+1.371,0.830,0.602,1.122,1.123,0.755,0.596,0.941,0.914,0.081,
+0.634,0.969,1.251,0.951,0.949,2.082,2.572,1.876,0.928,1.458,
+2.196,2.203,1.085,1.196,1.225,0.148,0.667,1.057,1.075,1.138,
+0.662,1.262,2.267,2.192,0.802,1.034,1.805,1.363,1.108,1.105,
+1.140,0.158,0.829,1.096,0.790,1.058,0.826,1.010,1.211,1.893,
+0.785,1.103,0.123,0.201,0.120,0.159,1.326,0.200,0.918,1.289,
+1.041,1.591,0.992,1.499,1.272,0.949,0.654,1.066,1.393,1.272,
+0.947,1.364,1.257,0.127,0.835,1.232,1.186,1.052,0.959,1.941,
+1.518,1.111,0.672,0.949,1.613,1.273,0.998,1.110,1.133,0.160,
+0.607,1.006,0.826,0.953,0.824,1.342,0.121,0.129,0.058,0.081,
+0.104,0.128,0.120,0.089,0.085,0.021,0.081,0.103,0.075,0.123,
+0.083,0.115,1.048,1.212,0.887,1.149,0.120,0.134,0.355,0.184,
+1.120,0.166,0.763,1.088,0.768,1.234,0.936,1.305,0.990,0.760,
+0.581,0.859,1.382,1.245,1.250,1.459,1.168,0.139,0.956,1.494,
+1.073,1.037,1.223,2.080,1.644,0.844,0.594,1.124,0.972,0.647,
+0.522,0.762,0.972,0.094,0.428,0.729,1.054,0.826,0.737,1.476,
+1.190,0.940,0.508,0.765,0.967,0.832,0.668,0.704,0.831,0.077,
+0.532,0.877,0.722,0.850,0.679,1.042,1.282,1.445,0.824,1.465,
+0.110,0.122,0.103,0.176,1.513,0.146,1.005,1.558,1.153,1.595,
+1.130,1.658,1.652,0.988,0.794,1.670,1.318,1.184,0.990,1.469,
+1.674,0.130,1.275,2.106,2.052,1.629,1.749,2.782,5.391,2.835,
+2.325,4.941,2.287,1.520,1.162,1.553,2.464,0.214,0.860,1.607,
+3.768,2.592,1.327,3.005,2.250,1.302,0.903,1.366,1.315,0.761,
+0.638,0.808,1.306,0.099,0.647,0.860,1.332,1.185,0.796,1.469,
+1.760,1.331,0.913,1.628,0.150,0.108,0.078,0.182,1.061,0.091,
+0.512,0.820,1.233,1.443,0.871,2.033,2.593,1.204,1.115,2.235,
+1.653,1.076,0.869,1.407,1.368,0.123,0.894,1.317,2.176,1.575,
+1.416,3.524,3.513,1.834,1.017,2.147,1.878,1.101,0.690,0.988,
+1.337,0.124,0.492,0.906,1.445,1.253,0.646,1.558,1.726,1.195,
+0.540,0.941,1.029,0.693,0.488,0.625,1.091,0.096,0.484,0.753,
+1.018,0.945,0.512,0.874,1.264,1.158,0.595,1.041,0.082,0.099,
+0.048,0.093,1.117,0.195,0.456,0.713,1.197,2.934,0.660,1.149,
+1.259,0.827,0.515,1.108,0.928,0.705,0.423,0.747,0.930,0.072,
+0.428,0.741,1.104,1.039,0.732,1.780,2.425,1.084,0.702,1.448,
+1.588,0.940,0.732,1.274,1.414,0.163,0.415,0.885,1.495,1.194,
+0.703,1.831,0.138,0.097,0.053,0.108,0.099,0.079,0.063,0.099,
+0.102,0.014,0.044,0.086,0.179,0.176,0.080,0.178,0.846,0.735,
+0.640,0.892,0.078,0.067,0.057,0.095,0.725,0.076,0.334,0.520,
+0.822,0.933,0.545,0.927,1.063,0.662,0.544,1.106,1.147,0.910,
+0.623,1.045,1.026,0.092,0.475,0.834,1.390,1.002,0.900,1.968,
+3.063,1.131,0.885,2.731,1.230,0.684,0.663,1.026,1.690,0.150,
+0.520,1.062,2.556,1.577,0.906,2.574,1.602,1.001,0.648,1.181,
+0.927,0.636,0.586,0.792,1.061,0.077,0.537,0.851,1.481,1.356,
+0.808,1.644,1.211,0.973,0.749,1.183,0.083,0.068,0.059,0.101,
+0.928,0.077,0.523,0.832,1.090,1.346,0.911,1.652,2.188,1.069,
+0.944,2.098,1.226,0.867,0.739,1.193,1.665,0.118,1.031,1.658,
+2.991,2.402,2.114,4.812,4.324,2.673,1.624,3.369,2.232,1.647,
+1.071,1.522,1.665,0.178,0.661,1.169,1.927,1.787,0.938,2.099,
+2.770,1.760,1.306,1.672,1.753,1.206,1.038,1.152,1.350,0.144,
+0.876,1.023,0.974,1.191,0.837,1.416,1.576,1.717,0.972,1.655,
+0.142,0.162,0.106,0.191,1.051,0.130,0.724,1.047,1.002,1.326,
+0.957,1.973,1.649,1.049,0.928,1.652,1.524,1.322,0.956,1.363,
+1.229,0.149,2.203,1.661,1.541,1.186,1.841,2.674,2.798,1.995,
+0.853,1.876,1.799,1.459,0.833,0.963,1.178,0.140,0.539,0.763,
+1.121,1.076,0.702,1.216,1.945,2.155,0.745,1.222,1.633,1.054,
+0.835,0.901,1.338,0.196,0.604,0.862,0.879,1.156,0.684,0.950,
+1.302,1.698,0.743,1.212,0.118,0.137,0.092,0.125,1.195,0.179,
+0.646,0.890,0.867,1.515,0.836,1.357,1.208,1.035,0.572,1.141,
+1.224,1.201,0.593,0.833,0.989,0.089,0.603,0.857,1.008,0.999,
+0.780,1.683,1.684,1.016,0.525,1.127,1.347,1.138,0.793,1.344,
+1.201,0.170,0.428,0.651,0.960,1.031,0.598,1.306,0.098,0.115,
+0.050,0.089,0.096,0.142,0.088,0.121,0.094,0.029,0.060,0.072,
+0.095,0.167,0.069,0.114,1.027,1.159,0.815,1.027,0.125,0.176,
+0.100,0.133,1.029,0.145,0.538,0.799,0.861,1.305,0.745,1.157,
+1.237,1.098,0.684,1.241,1.755,3.013,0.930,1.351,1.559,0.156,
+0.784,1.150,1.480,1.201,1.093,2.296,1.795,1.000,0.627,1.308,
+0.974,0.674,0.532,0.798,1.354,0.115,0.434,0.716,1.343,1.056,
+0.661,1.620,1.551,1.497,0.752,1.212,1.117,1.123,0.898,1.220,
+1.210,0.141,0.607,0.927,1.227,1.848,0.829,1.556,1.121,1.201,
+0.768,1.133,0.089,0.113,0.068,0.103,1.226,0.124,0.719,1.079,
+0.987,1.526,0.890,1.498,1.575,1.048,0.802,1.374,1.297,1.465,
+0.735,1.058,1.718,0.142,1.155,1.784,1.952,1.828,1.696,3.163,
+2.884,1.831,1.271,2.242,1.672,1.385,0.812,1.164,1.478,0.143,
+0.607,1.006,1.492,1.294,0.750,1.507,2.253,1.720,0.959,1.362,
+1.769,1.240,0.932,1.169,1.368,0.177,0.919,1.185,1.159,1.455,
+0.877,1.430,1.571,1.792,1.239,1.881,0.166,0.180,0.126,0.288,
+1.273,0.167,0.773,1.181,1.051,1.624,0.993,1.983,1.543,0.994,
+0.822,1.516,1.290,1.043,0.804,1.299,1.406,0.154,0.950,1.493,
+1.640,1.354,1.437,2.951,0.167,0.145,0.073,0.151,0.144,0.191,
+0.072,0.099,0.101,0.017,0.059,0.085,0.092,0.116,0.066,0.131,
+0.125,0.128,0.052,0.077,0.141,0.176,0.089,0.099,0.102,0.027,
+0.116,0.131,0.081,0.124,0.066,0.088,0.080,0.128,0.060,0.086,
+0.010,0.022,0.016,0.016,0.098,0.027,0.080,0.100,0.066,0.163,
+0.078,0.150,0.121,0.084,0.053,0.123,0.133,0.134,0.083,0.128,
+0.109,0.019,0.081,0.128,0.121,0.114,0.098,0.223,1.822,1.519,
+0.641,0.962,1.309,1.338,0.905,0.951,1.110,0.184,0.542,0.812,
+0.841,0.996,0.697,1.312,0.122,0.132,0.050,0.071,0.086,0.118,
+0.076,0.066,0.089,0.021,0.065,0.084,0.092,0.146,0.088,0.114,
+0.995,1.340,0.818,0.928,0.104,0.142,0.122,0.113,1.135,0.153,
+0.503,0.811,0.698,1.250,0.782,1.266,1.120,0.981,0.575,0.824,
+1.218,1.402,0.920,1.048,1.242,0.152,0.852,1.136,1.088,1.178,
+1.087,1.805,1.609,0.930,0.599,1.102,0.980,0.726,0.515,0.667,
+0.975,0.105,0.534,0.860,0.970,0.900,0.606,1.398,1.842,1.380,
+0.754,1.058,1.193,1.152,0.770,0.774,1.205,0.119,0.717,1.096,
+1.098,1.397,0.896,1.520,1.364,1.560,1.020,1.382,0.103,0.127,
+0.159,0.122,1.351,0.136,0.971,1.264,1.053,1.493,1.105,1.656,
+1.598,1.005,0.820,1.266,1.161,1.039,0.857,0.965,1.698,0.150,
+1.346,1.719,1.936,1.910,1.624,2.537,4.697,1.768,1.472,2.846,
+1.577,1.038,0.737,1.241,1.566,0.135,0.634,1.234,2.016,1.444,
+0.881,2.374,1.902,1.102,0.607,1.045,1.068,0.676,0.537,0.808,
+0.954,0.079,0.715,0.953,0.893,0.804,0.522,1.213,1.555,1.404,
+0.802,1.563,0.118,0.111,0.079,0.195,1.058,0.093,0.593,1.005,
+1.053,1.173,0.819,2.039,1.976,1.081,0.909,2.037,1.176,0.816,
+0.685,1.330,1.233,0.099,0.794,1.481,1.892,1.339,1.343,4.003,
+2.825,1.537,0.920,1.645,1.465,1.209,0.644,0.974,1.261,0.104,
+0.493,0.871,1.129,1.019,0.657,1.531,1.827,1.334,0.578,0.947,
+1.112,1.012,0.568,0.803,0.992,0.091,0.615,0.913,0.816,0.891,
+0.544,1.102,1.216,1.425,0.532,1.027,0.071,0.097,0.047,0.089,
+0.975,0.106,0.574,0.921,0.916,1.264,0.727,1.574,1.393,0.925,
+0.676,1.394,1.108,0.894,0.625,1.100,1.163,0.085,0.679,1.148,
+1.297,1.087,1.013,2.466,2.351,1.738,0.867,1.317,1.642,1.266,
+0.893,1.298,1.474,0.189,0.653,1.160,1.326,1.264,0.958,1.879,
+0.143,0.214,0.056,0.086,0.090,0.101,0.069,0.078,0.080,0.020,
+0.055,0.089,0.106,0.131,0.072,0.151,1.335,1.357,0.809,1.168,
+0.086,0.121,0.085,0.121,1.245,0.131,0.691,1.167,0.943,1.256,
+1.021,1.719,1.489,1.314,0.836,1.340,1.578,1.695,1.025,1.545,
+1.679,0.156,1.088,1.694,1.638,1.329,1.463,2.751,3.551,1.542,
+1.057,2.259,1.539,0.982,0.745,1.102,1.637,0.142,0.787,1.371,
+2.301,1.598,1.195,3.403,2.286,1.829,0.778,1.353,1.582,1.339,
+0.808,1.077,1.353,0.109,0.874,1.512,1.389,1.461,0.994,2.062,
+2.031,1.951,1.148,1.928,0.116,0.121,0.091,0.143,1.934,0.150,
+1.171,2.217,1.830,2.142,1.771,2.846,3.799,1.901,1.497,3.434,
+2.089,1.711,1.328,2.198,2.711,0.169,1.798,3.359,3.464,2.351,
+2.348,3.919,13.4,4.743,6.611,7.159,4.176,2.274,2.597,2.614,
+9.081,0.501,2.679,3.294,6.713,4.309,2.725,4.818,4.614,2.276,
+1.906,2.540,2.354,1.423,1.406,1.417,2.697,0.243,1.505,1.981,
+2.193,1.866,1.345,2.163,10.4,2.388,2.213,3.116,0.386,0.218,
+0.188,0.366,2.144,0.160,1.240,1.926,1.999,1.762,1.400,2.077,
+5.227,2.081,2.414,4.645,3.488,2.335,1.949,3.029,2.323,0.172,
+1.332,2.090,3.669,1.933,2.084,3.844,4.102,1.965,1.491,2.058,
+2.020,1.205,1.279,1.379,1.956,0.170,0.918,1.186,1.654,1.423,
+0.987,1.526,2.281,1.368,0.942,1.273,1.203,0.720,0.728,0.721,
+1.444,0.125,0.774,1.012,1.071,0.981,0.773,0.973,2.160,1.340,
+0.945,1.384,0.130,0.105,0.094,0.149,1.187,0.104,0.776,0.954,
+0.879,0.993,0.906,1.058,1.761,0.958,0.757,1.456,1.354,0.951,
+0.698,1.162,1.235,0.084,0.669,1.158,1.444,0.957,1.063,1.794,
+6.337,1.168,5.318,2.067,2.727,1.160,1.444,1.370,2.219,0.234,
+0.698,1.242,1.889,1.695,0.966,1.876,0.296,0.154,0.169,0.176,
+0.171,0.122,0.105,0.113,0.170,0.023,0.098,0.148,0.240,0.272,
+0.132,0.226,1.568,1.278,1.021,1.100,0.124,0.099,0.095,0.131,
+1.296,0.111,0.794,1.025,1.069,1.055,0.798,1.059,1.400,0.830,
+0.805,1.353,1.441,1.082,0.916,1.280,1.408,0.116,0.873,1.417,
+1.320,1.189,1.169,2.130,4.485,1.522,1.841,3.091,1.845,0.915,
+1.129,1.217,1.916,0.167,0.842,1.346,2.448,1.720,1.314,3.108,
+2.846,1.651,1.285,1.684,1.540,1.028,0.998,1.044,1.551,0.122,
+1.015,1.379,1.862,1.576,1.127,1.958,1.567,1.191,1.006,1.406,
+0.120,0.086,0.098,0.136,1.195,0.087,0.800,1.258,1.151,1.184,
+0.962,1.478,2.260,1.351,1.303,2.523,1.258,0.851,0.889,1.358,
+1.846,0.122,1.182,1.994,2.643,1.963,1.891,4.040,6.787,3.356,
+2.745,4.335,2.785,1.746,1.643,1.933,2.532,0.261,1.183,1.785,
+3.137,2.412,1.488,2.671,3.188,2.214,1.628,1.957,1.758,1.280,
+1.371,1.219,2.219,0.449,1.263,1.497,1.524,1.958,1.055,1.521,
+2.237,1.432,1.772,1.911,0.178,0.151,0.161,0.212,1.205,0.108,
+0.757,0.963,1.565,1.192,0.957,1.494,2.235,0.880,1.251,1.957,
+1.934,1.357,1.333,1.625,1.202,0.110,0.725,1.104,1.580,1.105,
+1.233,2.539,3.277,2.197,1.140,1.743,1.796,1.309,0.930,1.066,
+1.278,0.144,0.626,0.925,1.128,1.198,0.746,1.319,1.788,1.371,
+0.904,1.064,0.865,0.395,0.624,0.630,1.082,0.151,0.734,0.972,
+0.711,0.955,0.799,0.925,1.611,1.531,1.000,1.292,0.122,0.134,
+0.121,0.162,1.091,0.160,0.762,0.827,0.755,1.193,0.812,1.103,
+1.263,0.780,0.629,1.091,1.158,0.980,0.754,0.987,0.803,0.077,
+0.506,0.749,0.830,0.765,0.669,1.381,2.834,1.696,1.459,1.620,
+2.105,1.419,1.606,1.364,1.665,0.264,0.954,1.140,1.409,2.020,
+1.203,1.768,0.181,0.189,0.120,0.145,0.140,0.141,0.134,0.118,
+0.129,0.035,0.134,0.137,0.150,0.248,0.131,0.179,1.405,1.383,
+1.088,1.208,0.123,0.148,0.123,0.137,1.047,0.138,0.866,1.099,
+0.794,1.370,1.100,1.292,1.200,0.693,0.745,1.051,1.292,1.271,
+1.137,1.281,1.123,0.121,0.953,1.328,0.949,1.043,1.172,1.938,
+2.273,1.250,1.081,1.660,1.233,0.781,0.746,0.915,1.078,0.118,
+0.634,0.852,1.373,1.347,0.902,1.811,1.992,1.484,1.103,1.439,
+1.255,1.046,0.989,1.194,1.103,0.118,1.081,1.354,1.417,1.415,
+1.021,1.731,1.157,0.960,0.914,1.218,0.086,0.074,0.072,0.107,
+0.785,0.078,0.738,0.942,0.775,0.975,0.965,1.358,1.520,0.623,
+0.860,1.349,1.026,0.805,0.712,1.086,1.167,0.095,0.881,1.420,
+1.645,1.664,1.536,2.797,4.431,2.454,1.926,3.048,1.605,1.177,
+1.039,1.236,1.810,0.180,0.836,1.255,1.953,1.736,1.119,2.108,
+3.119,2.288,1.467,1.973,1.885,1.346,1.268,1.241,2.225,0.290,
+1.398,1.579,1.652,2.117,1.080,1.572,2.323,2.052,3.445,2.369,
+0.216,0.229,0.254,0.324,1.240,0.142,0.859,1.053,0.933,1.398,
+0.976,1.548,2.070,1.253,1.506,2.176,1.729,1.589,1.250,1.483,
+1.494,0.147,0.994,1.505,1.862,1.367,1.576,3.661,0.309,0.253,
+0.149,0.236,0.201,0.203,0.124,0.157,0.172,0.033,0.098,0.134,
+0.148,0.236,0.119,0.203,0.267,0.267,0.141,0.204,0.231,0.199,
+0.156,0.141,0.244,0.067,0.158,0.186,0.174,0.435,0.121,0.173,
+0.178,0.231,0.196,0.191,0.021,0.038,0.032,0.031,0.154,0.030,
+0.168,0.156,0.114,0.205,0.136,0.172,0.261,0.183,0.150,0.282,
+0.303,0.377,0.220,0.303,0.179,0.025,0.156,0.209,0.208,0.208,
+0.192,0.410,1.995,1.251,0.860,1.014,1.180,1.044,1.000,0.872,
+1.483,0.245,1.000,0.964,0.946,1.162,1.011,1.380,0.162,0.168,
+0.090,0.104,0.107,0.125,0.095,0.075,0.195,0.041,0.122,0.113,
+0.143,0.221,0.151,0.159,0.964,1.130,0.863,0.830,0.111,0.126,
+0.115,0.105,0.957,0.117,0.580,0.660,0.579,0.845,0.800,0.829,
+0.944,0.746,0.778,0.826,1.074,1.198,0.933,1.068,0.940,0.123,
+0.943,1.074,0.805,0.955,0.969,1.330,1.842,0.953,0.827,1.280,
+1.015,0.646,0.562,0.658,1.023,0.113,0.571,0.871,1.118,1.005,
+0.710,1.512,2.363,1.651,1.118,1.515,1.492,1.354,0.974,0.962,
+1.540,0.163,1.064,1.563,1.489,1.583,1.084,1.750,1.284,1.233,
+1.004,1.147,0.116,0.124,0.094,0.120,1.017,0.102,0.727,0.967,
+0.811,1.090,0.859,1.397,1.833,1.153,1.107,1.442,1.318,1.188,
+0.883,1.297,1.533,0.178,1.168,1.618,1.890,2.094,1.608,2.680,
+5.107,2.123,1.778,3.469,1.665,0.984,0.976,1.174,1.742,0.190,
+0.786,1.331,2.509,1.938,1.243,2.859,2.129,1.177,0.856,1.444,
+1.165,0.823,0.693,0.820,1.751,0.278,0.683,0.983,1.572,1.794,
+0.725,1.309,2.330,1.463,1.518,2.212,0.242,0.155,0.158,0.326,
+1.225,0.101,0.599,1.071,1.120,1.150,0.854,1.661,2.674,1.183,
+1.483,3.369,2.028,1.163,1.255,1.908,1.467,0.112,0.961,1.555,
+2.266,1.411,1.714,4.440,3.320,1.824,1.193,2.174,1.828,1.140,
+0.890,1.191,1.503,0.184,0.759,1.186,1.428,1.538,0.898,1.761,
+2.228,1.565,0.839,1.790,1.358,0.969,0.767,0.937,1.947,0.465,
+0.838,1.240,1.408,2.270,0.726,1.173,1.645,1.408,0.989,1.562,
+0.133,0.176,0.085,0.159,1.199,0.122,0.795,1.056,1.042,1.296,
+0.941,1.453,2.000,1.041,1.035,2.056,1.457,1.253,0.964,1.316,
+1.280,0.102,0.841,1.329,1.605,1.216,1.249,2.689,2.347,1.232,
+1.100,1.441,1.687,1.055,1.059,1.275,2.146,0.218,0.998,1.592,
+1.715,1.384,1.224,2.157,0.170,0.138,0.094,0.174,0.112,0.100,
+0.085,0.106,0.156,0.027,0.110,0.151,0.191,0.218,0.122,0.210,
+1.283,1.161,0.874,1.232,0.098,0.095,0.108,0.133,1.116,0.116,
+0.756,1.116,0.955,1.111,0.960,1.495,1.362,0.931,0.957,1.495,
+1.481,1.207,1.179,1.741,1.514,0.128,1.144,1.789,1.550,1.281,
+1.368,2.698,3.697,1.516,1.340,2.392,1.436,0.940,1.058,1.111,
+1.611,0.156,0.799,1.357,2.195,1.643,1.261,3.211,1.932,1.180,
+0.866,1.509,1.121,0.817,0.762,0.956,1.256,0.095,0.844,1.418,
+1.600,1.337,0.990,1.967,2.192,1.882,1.338,2.196,0.158,0.128,
+0.103,0.201,1.826,0.127,1.083,1.643,1.785,1.827,1.597,2.605,
+4.370,1.974,2.238,4.687,2.529,1.878,1.760,2.777,3.128,0.183,
+2.231,3.678,5.565,3.467,4.010,7.000,0.558,0.330,0.323,0.365,
+0.320,0.197,0.192,0.192,0.348,0.036,0.157,0.224,0.344,0.276,
+0.190,0.258,0.331,0.235,0.179,0.189,0.235,0.163,0.171,0.134,
+0.189,0.027,0.155,0.164,0.169,0.178,0.156,0.193,0.337,0.161,
+0.152,0.197,0.042,0.022,0.024,0.031,0.125,0.012,0.086,0.116,
+0.148,0.123,0.117,0.148,0.286,0.134,0.162,0.240,0.335,0.197,
+0.171,0.205,0.160,0.015,0.129,0.155,0.201,0.139,0.171,0.247,
+0.364,0.233,0.173,0.192,0.249,0.162,0.140,0.135,0.207,0.025,
+0.149,0.201,0.172,0.173,0.131,0.169,0.257,0.214,0.130,0.139,
+0.170,0.127,0.124,0.113,0.194,0.033,0.144,0.175,0.130,0.154,
+0.137,0.133,0.170,0.150,0.099,0.123,0.026,0.021,0.021,0.018,
+0.130,0.027,0.101,0.109,0.089,0.137,0.111,0.112,0.141,0.084,
+0.067,0.112,0.159,0.121,0.082,0.122,0.124,0.013,0.082,0.121,
+0.138,0.105,0.117,0.176,0.264,0.125,0.171,0.141,0.207,0.127,
+0.127,0.121,0.163,0.027,0.091,0.112,0.120,0.152,0.106,0.170,
+0.026,0.025,0.024,0.018,0.023,0.021,0.023,0.016,0.022,9.44e-3,
+0.022,0.020,0.018,0.034,0.022,0.026,0.115,0.098,0.099,0.101,
+0.014,0.012,0.016,0.014,0.094,0.015,0.084,0.094,0.068,0.107,
+0.100,0.104,0.100,0.063,0.070,0.098,0.128,0.107,0.106,0.129,
+0.107,0.016,0.094,0.119,0.104,0.120,0.137,0.184,0.281,0.116,
+0.113,0.192,0.133,0.067,0.094,0.103,0.141,0.015,0.072,0.105,
+0.153,0.138,0.103,0.216,0.240,0.180,0.141,0.170,0.158,0.135,
+0.128,0.130,0.150,0.020,0.128,0.170,0.143,0.165,0.126,0.211,
+0.127,0.131,0.107,0.139,0.013,0.012,0.013,0.018,0.104,0.014,
+0.081,0.159,0.089,0.127,0.114,0.147,0.179,0.100,0.105,0.179,
+0.113,0.078,0.092,0.124,0.140,0.016,0.130,0.243,0.202,0.175,
+0.200,0.349,0.380,0.265,0.194,0.275,0.233,0.187,0.169,0.176,
+0.195,0.030,0.093,0.126,0.203,0.222,0.154,0.199,0.237,0.198,
+0.145,0.160,0.174,0.160,0.202,0.144,0.156,0.035,0.130,0.138,
+0.102,0.154,0.164,0.151,0.147,0.137,0.118,0.130,0.020,0.019,
+0.021,0.021,0.093,0.015,0.073,0.076,0.209,0.101,0.102,0.118,
+0.151,0.074,0.084,0.127,0.157,0.125,0.112,0.117,0.101,0.013,
+0.076,0.089,0.119,0.093,0.113,0.165,0.302,0.243,0.128,0.181,
+0.215,0.208,0.130,0.125,0.135,0.023,0.089,0.102,0.109,0.136,
+0.090,0.153,0.231,0.214,0.116,0.141,0.136,0.075,0.121,0.107,
+0.148,0.044,0.135,0.164,0.081,0.151,0.121,0.179,0.152,0.181,
+0.106,0.121,0.018,0.031,0.028,0.023,0.127,0.031,0.096,0.094,
+0.076,0.144,0.099,0.132,0.100,0.073,0.070,0.090,0.110,0.119,
+0.088,0.101,0.089,0.014,0.075,0.089,0.084,0.084,0.082,0.140,
+0.203,0.139,0.098,0.118,0.181,0.162,0.172,0.130,0.158,0.038,
+0.101,0.107,0.098,0.157,0.116,0.157,0.021,0.031,0.020,0.020,
+0.021,0.038,0.043,0.022,0.034,0.021,0.032,0.026,0.013,0.045,
+0.021,0.022,0.122,0.140,0.122,0.112,0.019,0.040,0.037,0.020,
+0.102,0.025,0.121,0.104,0.069,0.116,0.137,0.125,0.093,0.056,
+0.069,0.077,0.120,0.137,0.139,0.121,0.115,0.019,0.119,0.122,
+0.084,0.099,0.133,0.173,0.174,0.112,0.093,0.126,0.114,0.070,
+0.075,0.086,0.098,0.012,0.063,0.067,0.104,0.104,0.082,0.167,
+0.179,0.174,0.111,0.136,0.133,0.137,0.144,0.145,0.124,0.027,
+0.123,0.157,0.099,0.150,0.113,0.151,0.093,0.093,0.088,0.101,
+8.86e-3,0.013,0.011,0.011,0.069,0.011,0.088,0.088,0.064,0.095,
+0.099,0.127,0.115,0.066,0.065,0.105,0.091,0.081,0.076,0.095,
+0.098,0.010,0.086,0.136,0.123,0.128,0.151,0.232,0.258,0.198,
+0.144,0.231,0.144,0.125,0.103,0.113,0.133,0.019,0.081,0.095,
+0.121,0.140,0.100,0.136,0.249,0.228,0.139,0.155,0.217,0.173,
+0.177,0.146,0.192,0.042,0.182,0.180,0.116,0.199,0.119,0.147,
+0.145,0.180,0.184,0.156,0.021,0.026,0.031,0.034,0.146,0.023,
+0.098,0.109,0.062,0.119,0.088,0.111,0.119,0.086,0.091,0.140,
+0.132,0.117,0.124,0.143,0.120,0.018,0.103,0.133,0.127,0.108,
+0.129,0.247,0.018,0.027,0.015,0.017,0.024,0.031,0.025,0.019,
+0.017,7.77e-3,0.016,0.018,0.012,0.023,0.017,0.019,0.029,0.040,
+0.019,0.019,0.049,0.047,0.042,0.024,0.029,0.024,0.042,0.035,
+0.017,0.049,0.019,0.020,0.015,0.033,0.024,0.018,7.02e-3,0.018,
+0.022,8.02e-3,0.028,0.019,0.050,0.036,8.52e-3,0.037,0.024,0.020,
+0.017,0.015,0.011,0.017,0.023,0.034,0.029,0.032,0.018,5.10e-3,
+0.028,0.025,0.014,0.018,0.021,0.027,0.155,0.152,0.094,0.095,
+0.124,0.166,0.165,0.109,0.167,0.037,0.133,0.126,0.080,0.129,
+0.152,0.143,0.022,0.040,0.019,0.012,0.023,0.044,0.035,0.018,
+0.038,0.020,0.045,0.030,0.015,0.036,0.043,0.019,0.094,0.173,
+0.119,0.103,0.020,0.047,0.032,0.023,0.120,0.039,0.122,0.111,
+0.050,0.134,0.120,0.107,0.085,0.080,0.080,0.083,0.160,0.208,
+0.140,0.154,0.118,0.031,0.150,0.155,0.083,0.106,0.139,0.163,
+0.157,0.120,0.082,0.137,0.086,0.070,0.064,0.066,0.108,0.016,
+0.068,0.098,0.105,0.110,0.093,0.151,0.209,0.209,0.146,0.145,
+0.174,0.208,0.161,0.141,0.187,0.039,0.176,0.210,0.129,0.216,
+0.168,0.173,0.116,0.137,0.110,0.122,0.013,0.022,0.018,0.017,
+0.125,0.024,0.111,0.122,0.077,0.137,0.115,0.145,0.129,0.102,
+0.096,0.146,0.142,0.114,0.100,0.132,0.157,0.020,0.158,0.177,
+0.160,0.200,0.195,0.286,0.444,0.230,0.181,0.328,0.254,0.139,
+0.137,0.243,0.208,0.025,0.090,0.183,0.245,0.218,0.159,0.294,
+0.242,0.162,0.106,0.169,0.145,0.101,0.110,0.137,0.169,0.024,
+0.099,0.134,0.154,0.170,0.101,0.154,0.207,0.170,0.139,0.195,
+0.020,0.015,0.017,0.035,0.127,0.012,0.075,0.115,0.104,0.130,
+0.099,0.175,0.247,0.132,0.150,0.291,0.201,0.127,0.139,0.266,
+0.190,0.016,0.125,0.232,0.245,0.167,0.203,0.535,0.424,0.296,
+0.195,0.294,0.261,0.199,0.196,0.198,0.221,0.036,0.151,0.211,
+0.206,0.263,0.148,0.266,0.356,0.303,0.168,0.257,0.271,0.231,
+0.216,0.216,0.312,0.067,0.222,0.279,0.233,0.380,0.164,0.223,
+0.206,0.309,0.176,0.228,0.019,0.032,0.027,0.034,0.186,0.030,
+0.164,0.199,0.149,0.270,0.184,0.234,0.239,0.157,0.150,0.271,
+0.220,0.214,0.210,0.338,0.201,0.021,0.182,0.235,0.220,0.202,
+0.228,0.396,0.226,0.158,0.124,0.155,0.179,0.166,0.156,0.163,
+0.222,0.032,0.139,0.190,0.155,0.168,0.165,0.239,0.019,0.022,
+0.013,0.018,0.017,0.025,0.019,0.018,0.020,5.51e-3,0.017,0.022,
+0.022,0.029,0.024,0.030,0.131,0.169,0.141,0.157,0.014,0.021,
+0.036,0.026,0.141,0.028,0.135,0.170,0.101,0.166,0.167,0.201,
+0.146,0.107,0.117,0.166,0.169,0.158,0.193,0.228,0.181,0.022,
+0.190,0.248,0.164,0.157,0.219,0.333,0.353,0.201,0.165,0.253,
+0.175,0.122,0.139,0.148,0.168,0.022,0.097,0.156,0.196,0.176,
+0.146,0.328,0.240,0.172,0.119,0.169,0.151,0.130,0.139,0.150,
+0.159,0.016,0.128,0.185,0.153,0.160,0.133,0.230,0.209,0.202,
+0.157,0.235,0.018,0.019,0.014,0.025,0.185,0.022,0.150,0.209,
+0.173,0.226,0.204,0.293,0.383,0.201,0.201,0.406,0.254,0.194,
+0.208,0.309,0.297,0.023,0.269,0.401,0.472,0.365,0.442,0.628,
+4.413,2.052,2.149,2.791,1.973,1.206,1.234,1.335,2.216,0.190,
+1.273,1.356,2.323,1.675,1.205,1.844,2.114,1.303,0.938,1.443,
+1.404,0.785,0.950,0.882,1.111,0.107,0.713,0.865,0.964,0.974,
+0.746,1.063,1.600,1.131,0.875,1.226,0.148,0.098,0.096,0.164,
+1.329,0.106,0.852,0.976,0.741,0.913,0.798,1.113,1.564,0.821,
+0.721,1.319,1.240,0.802,0.658,1.052,1.196,0.088,0.714,0.889,
+1.174,0.689,0.904,1.587,2.874,1.523,0.995,1.579,1.555,1.093,
+0.946,0.979,1.269,0.125,0.622,0.858,0.992,1.007,0.767,1.042,
+1.954,1.312,0.786,0.973,1.244,0.669,0.785,0.680,1.234,0.161,
+0.752,0.993,0.795,0.882,0.588,0.736,1.213,1.215,0.829,0.987,
+0.121,0.111,0.112,0.131,1.065,0.131,0.867,1.234,0.765,1.038,
+0.927,1.009,1.094,0.628,0.477,0.825,1.053,0.790,0.650,0.895,
+0.896,0.074,0.643,0.891,0.854,0.674,0.740,1.343,2.343,1.108,
+0.886,1.763,1.948,1.337,1.300,1.452,1.622,0.188,0.808,1.063,
+1.205,1.296,1.039,1.513,0.230,0.188,0.110,0.176,0.190,0.156,
+0.163,0.160,0.164,0.029,0.173,0.152,0.177,0.302,0.166,0.221,
+1.153,0.982,1.467,1.653,0.129,0.106,0.327,0.284,0.972,0.119,
+0.797,0.821,0.660,0.961,0.877,0.997,1.130,0.622,0.670,1.048,
+1.536,1.126,1.492,1.618,0.971,0.098,0.726,1.012,0.967,0.889,
+0.966,1.602,2.084,0.817,0.694,1.258,0.855,0.543,0.750,0.717,
+0.971,0.102,0.504,0.706,1.202,1.078,1.793,1.463,1.513,1.148,
+0.734,0.980,1.020,0.726,0.804,0.758,0.927,0.085,0.752,0.924,
+0.969,1.142,0.840,1.187,1.031,1.249,1.365,1.328,0.095,0.087,
+0.111,0.142,0.884,0.096,0.888,1.100,0.765,1.181,0.983,1.217,
+1.324,0.759,0.712,1.282,0.826,0.553,0.756,1.122,1.246,0.095,
+0.854,1.419,1.642,1.305,1.424,2.717,0.255,0.177,0.154,0.192,
+0.163,0.129,0.121,0.134,0.132,0.018,0.075,0.087,0.150,0.141,
+0.121,0.144,0.179,0.162,0.128,0.226,0.180,0.135,0.247,0.147,
+0.120,0.027,0.086,0.105,0.082,0.121,0.096,0.113,0.096,0.101,
+0.074,0.089,0.015,0.018,0.017,0.016,0.074,0.012,0.065,0.074,
+0.055,0.086,0.074,0.096,0.094,0.066,0.058,0.088,0.106,0.080,
+0.069,0.091,0.080,0.010,0.061,0.077,0.090,0.066,0.093,0.151,
+0.176,0.159,0.082,0.098,0.125,0.111,0.093,0.076,0.083,0.018,
+0.059,0.062,0.058,0.078,0.059,0.073,0.155,0.182,0.092,0.086,
+0.150,0.096,0.133,0.082,0.139,0.050,0.090,0.098,0.064,0.123,
+0.071,0.075,0.084,0.127,0.082,0.080,0.019,0.029,0.025,0.016,
+0.104,0.037,0.094,0.100,0.061,0.116,0.087,0.086,0.082,0.051,
+0.061,0.062,0.079,0.074,0.056,0.068,0.063,0.010,0.061,0.071,
+0.062,0.058,0.059,0.104,0.158,0.100,0.076,0.127,0.159,0.149,
+0.162,0.116,0.125,0.026,0.096,0.083,0.079,0.113,0.121,0.115,
+0.022,0.031,0.017,0.019,0.025,0.036,0.038,0.018,0.023,0.015,
+0.050,0.021,0.012,0.032,0.035,0.018,0.092,0.103,0.123,0.122,
+0.019,0.033,0.049,0.024,0.105,0.035,0.157,0.099,0.061,0.126,
+0.123,0.114,0.082,0.059,0.055,0.079,0.113,0.126,0.141,0.115,
+0.102,0.019,0.094,0.100,0.071,0.112,0.098,0.142,0.188,0.144,
+0.097,0.142,0.098,0.078,0.075,0.081,0.098,0.014,0.054,0.077,
+0.111,0.127,0.173,0.174,0.188,0.197,0.104,0.144,0.165,0.150,
+0.144,0.133,0.115,0.022,0.119,0.125,0.115,0.166,0.144,0.169,
+0.096,0.121,0.112,0.122,8.02e-3,0.016,0.016,0.016,0.086,0.015,
+0.093,0.111,0.080,0.120,0.132,0.142,0.116,0.077,0.068,0.104,
+0.078,0.068,0.072,0.101,0.117,0.014,0.087,0.128,0.129,0.130,
+0.145,0.237,2.142,1.561,1.252,1.997,1.283,0.979,0.774,1.038,
+1.038,0.111,0.683,0.850,0.854,0.758,0.631,1.036,2.158,1.457,
+0.897,1.127,2.343,1.141,1.292,1.139,1.451,0.171,1.034,1.132,
+0.803,1.092,0.793,0.965,1.266,1.581,0.897,1.056,0.167,0.187,
+0.134,0.204,0.977,0.147,0.799,0.838,0.580,1.070,0.782,0.957,
+0.965,0.665,0.486,0.812,0.925,0.790,0.595,0.837,1.022,0.112,
+0.656,1.013,0.869,0.691,0.828,1.471,0.159,0.138,0.076,0.118,
+0.204,0.164,0.099,0.114,0.091,0.022,0.089,0.082,0.066,0.083,
+0.069,0.105,0.201,0.169,0.080,0.086,0.738,0.192,0.166,0.125,
+0.143,0.042,0.149,0.127,0.086,0.117,0.094,0.076,0.093,0.150,
+0.087,0.086,0.032,0.043,0.038,0.023,0.109,0.032,0.131,0.121,
+0.051,0.128,0.104,0.092,0.096,0.069,0.049,0.089,0.139,0.136,
+0.090,0.132,0.126,0.017,0.085,0.180,0.082,0.070,0.073,0.149,
+1.981,1.026,0.760,0.756,1.218,1.216,1.202,0.883,1.182,0.188,
+0.977,0.879,0.684,0.855,1.637,1.100,0.133,0.169,0.115,0.086,
+0.156,0.193,0.157,0.088,0.123,0.044,0.211,0.114,0.107,0.192,
+0.585,0.160,1.143,0.947,0.843,0.785,0.145,0.134,0.183,0.145,
+0.624,0.113,0.280,0.343,0.359,0.536,0.645,0.646,0.655,0.478,
+0.447,0.469,0.935,0.973,0.919,0.744,0.786,0.104,0.802,0.807,
+0.600,0.616,0.904,1.008,1.282,0.697,0.625,0.821,0.725,0.551,
+0.446,0.449,0.765,0.084,0.467,0.565,0.650,0.684,0.600,0.803,
+1.319,1.110,0.917,0.808,1.175,1.091,0.871,0.689,0.986,0.128,
+0.995,0.988,0.784,1.122,1.400,0.909,0.993,1.006,0.802,0.924,
+0.088,0.112,0.101,0.120,0.914,0.103,0.867,0.895,0.577,0.935,
+0.852,0.902,0.815,0.543,0.497,0.670,0.726,0.711,0.616,0.735,
+0.966,0.089,0.882,0.996,0.929,0.898,1.027,1.203,2.289,1.087,
+0.809,1.718,1.043,0.629,0.574,0.969,0.962,0.095,0.511,0.789,
+1.228,0.816,0.677,1.196,1.446,0.872,0.514,0.984,0.947,0.472,
+0.604,0.672,0.714,0.058,0.383,0.538,0.569,0.524,0.404,0.628,
+1.004,0.999,0.611,0.884,0.107,0.084,0.076,0.139,0.759,0.074,
+0.422,0.673,0.576,0.733,0.556,0.872,1.033,0.629,0.475,0.868,
+0.819,0.625,0.510,0.757,0.701,0.057,0.401,0.704,0.847,0.624,
+0.652,1.511,2.042,1.282,0.839,1.308,1.329,0.997,0.781,0.924,
+0.992,0.097,0.654,0.821,0.794,0.814,0.509,0.994,1.677,1.301,
+0.742,1.013,1.902,0.959,1.222,1.047,1.064,0.126,0.892,1.020,
+0.644,0.802,0.541,0.740,0.921,1.119,1.051,0.960,0.106,0.128,
+0.117,0.124,0.932,0.128,0.839,1.066,0.599,1.075,0.887,1.063,
+1.037,0.685,0.653,0.946,1.149,0.900,0.728,1.055,0.844,0.073,
+0.632,1.149,0.775,0.711,0.756,1.470,1.877,1.036,0.802,1.005,
+1.403,1.239,1.288,1.311,1.174,0.157,0.861,1.042,0.884,1.003,
+1.059,1.413,0.166,0.126,0.117,0.112,0.136,0.143,0.195,0.128,
+0.099,0.024,0.141,0.123,0.101,0.177,0.197,0.142,1.179,1.154,
+1.591,1.147,0.154,0.127,0.818,0.238,1.310,0.214,0.890,1.069,
+0.704,1.264,1.026,1.120,0.966,0.707,0.756,0.830,1.190,1.067,
+2.182,1.371,1.067,0.119,1.054,1.846,0.891,0.872,1.175,2.022,
+1.683,0.740,0.606,1.092,0.823,0.557,0.544,0.600,0.843,0.082,
+0.478,0.686,0.871,0.680,0.590,1.149,1.597,0.957,0.707,0.901,
+1.009,0.822,0.853,0.772,0.862,0.070,0.670,0.912,0.774,0.793,
+0.771,0.965,1.156,1.143,0.864,1.111,0.084,0.090,0.144,0.118,
+1.150,0.110,0.962,1.221,0.812,1.132,0.997,1.215,1.412,0.824,
+0.706,1.302,1.031,0.829,0.891,1.162,1.228,0.096,1.087,1.793,
+1.526,1.178,1.382,2.150,4.371,2.124,1.912,3.387,1.923,1.058,
+0.991,1.260,1.752,0.147,0.745,1.386,2.389,1.803,1.038,2.257,
+1.889,0.986,0.893,1.143,1.000,0.543,0.722,0.698,0.956,0.071,
+0.538,0.794,0.925,0.787,0.587,1.061,1.396,0.903,0.871,1.301,
+0.121,0.086,0.084,0.145,0.775,0.064,0.467,0.697,0.718,0.800,
+0.712,1.210,2.148,0.957,1.303,1.761,1.371,0.785,0.741,1.079,
+0.976,0.068,0.567,0.985,1.516,0.879,1.017,2.755,3.319,1.384,
+0.913,1.657,1.327,0.755,0.553,0.764,1.044,0.086,0.487,0.757,
+1.050,0.850,0.572,1.100,1.425,0.743,0.517,0.733,0.716,0.414,
+0.407,0.449,0.767,0.056,0.398,0.559,0.736,0.549,0.415,0.623,
+0.893,0.675,0.469,0.744,0.060,0.048,0.039,0.064,0.777,0.118,
+0.347,0.523,0.626,0.816,0.471,0.738,1.039,0.512,0.451,0.779,
+0.706,0.463,0.344,0.606,0.650,0.046,0.363,0.597,0.815,0.567,
+0.606,1.256,2.552,0.952,0.775,1.299,1.557,1.213,0.802,1.134,
+1.165,0.128,0.427,0.792,1.285,1.080,0.709,1.519,0.161,0.094,
+0.063,0.112,0.110,0.080,0.067,0.090,0.104,0.013,0.053,0.083,
+0.162,0.182,0.088,0.155,1.032,0.697,0.716,1.246,0.087,0.057,
+0.064,0.120,0.750,0.069,0.381,0.593,0.751,0.799,0.610,0.896,
+1.095,0.643,0.640,1.021,1.209,0.772,0.679,1.031,1.066,0.122,
+0.523,0.967,1.073,0.894,0.849,1.755,3.272,1.067,0.865,1.892,
+1.137,0.722,0.699,1.156,1.303,0.117,0.588,1.065,1.943,1.265,
+0.990,2.114,1.681,0.968,0.687,1.122,0.938,0.594,0.597,0.724,
+1.018,0.072,0.551,0.844,1.242,1.116,0.723,1.290,1.182,0.813,
+0.778,1.170,0.080,0.057,0.090,0.094,0.785,0.062,0.519,0.856,
+0.752,0.941,0.794,1.214,1.945,0.946,0.876,1.867,1.100,0.667,
+0.687,1.051,1.363,0.098,0.956,1.554,2.051,1.544,1.675,3.781,
+4.219,2.328,2.003,3.115,2.175,1.476,1.397,1.611,1.616,0.164,
+0.764,1.398,1.900,1.656,1.259,2.384,2.237,1.445,1.371,1.717,
+1.488,1.039,2.608,1.451,1.237,0.116,0.820,1.122,1.019,1.033,
+0.983,1.370,1.500,1.171,0.898,1.411,0.108,0.100,0.093,0.146,
+0.933,0.091,0.596,0.902,0.775,0.901,0.846,1.429,1.691,0.866,
+0.901,1.363,1.463,0.926,0.774,1.127,0.978,0.078,0.586,1.030,
+1.247,0.903,0.956,2.372,3.015,1.881,1.158,1.693,1.609,1.231,
+0.861,1.078,1.119,0.121,0.657,0.886,1.213,1.023,0.769,1.325,
+1.709,1.354,0.979,1.202,1.283,0.754,0.832,0.801,1.159,0.173,
+0.680,0.960,0.972,1.104,0.675,0.969,1.174,1.064,0.726,1.074,
+0.086,0.084,0.068,0.104,0.995,0.138,0.643,0.912,0.882,1.052,
+0.808,1.273,1.100,0.646,0.565,0.883,0.948,0.710,0.488,0.781,
+0.735,0.062,0.485,0.818,0.897,0.718,0.652,1.363,2.102,1.191,
+0.875,1.238,1.680,1.209,1.134,1.232,1.256,0.187,0.637,0.952,
+1.112,1.207,0.897,1.611,0.119,0.138,0.075,0.102,0.116,0.125,
+0.103,0.105,0.108,0.025,0.091,0.097,0.112,0.155,0.103,0.143,
+1.269,0.999,0.851,1.111,0.109,0.103,0.101,0.126,1.004,0.137,
+0.784,0.973,0.837,1.215,0.981,1.375,1.171,0.681,0.648,1.066,
+1.462,1.213,1.014,1.270,1.172,0.114,0.816,1.356,1.105,1.094,
+1.186,2.260,2.352,1.406,0.991,1.660,1.092,0.790,0.738,1.035,
+1.284,0.108,0.600,0.995,1.389,1.116,0.913,1.988,1.891,1.909,
+0.913,1.396,1.220,1.069,0.987,1.250,1.114,0.112,0.828,1.208,
+1.180,1.439,1.005,1.594,1.269,1.088,0.920,1.297,0.083,0.082,
+0.076,0.102,0.910,0.081,0.762,1.062,0.820,0.959,1.065,1.644,
+1.523,0.886,0.819,1.261,1.073,0.870,0.692,1.062,1.210,0.100,
+0.951,1.546,1.552,1.188,1.516,2.957,3.002,1.737,1.286,2.077,
+1.560,1.057,0.844,1.185,1.554,0.131,0.689,1.052,1.514,1.097,
+0.775,1.422,2.265,1.589,0.848,1.287,1.665,1.082,0.991,1.041,
+1.396,0.143,1.040,1.298,1.189,1.392,0.931,1.364,1.281,1.558,
+0.951,1.258,0.138,0.155,0.117,0.190,1.059,0.134,0.705,0.915,
+0.948,1.493,1.231,1.429,1.309,0.948,0.725,1.244,1.209,1.026,
+0.739,1.136,1.305,0.120,0.865,1.296,1.455,1.094,1.520,2.892,
+0.187,0.166,0.092,0.160,0.160,0.135,0.089,0.121,0.115,0.014,
+0.075,0.098,0.098,0.121,0.079,0.145,0.164,0.156,0.076,0.103,
+0.253,0.159,0.124,0.111,0.124,0.028,0.131,0.152,0.101,0.155,
+0.101,0.115,0.086,0.114,0.065,0.082,0.014,0.026,0.025,0.017,
+0.106,0.023,0.106,0.105,0.071,0.138,0.102,0.126,0.121,0.094,
+0.059,0.125,0.189,0.156,0.087,0.149,0.175,0.016,0.081,0.138,
+0.119,0.098,0.111,0.208,1.913,1.178,0.812,0.919,1.542,1.392,
+1.248,1.080,1.129,0.187,0.870,0.945,0.888,1.120,1.516,1.403,
+0.143,0.124,0.083,0.079,0.172,0.151,0.101,0.081,0.110,0.029,
+0.192,0.106,0.122,0.191,0.423,0.150,1.231,1.278,0.945,1.066,
+0.278,0.226,0.111,0.136,1.138,0.143,0.560,0.808,0.676,1.094,
+0.946,1.114,1.186,1.075,0.745,0.891,3.062,3.021,1.021,1.155,
+1.226,0.171,1.013,1.234,1.053,1.116,1.105,1.680,1.894,1.056,
+0.712,1.193,1.021,0.813,0.629,0.746,1.106,0.114,0.703,0.966,
+1.094,1.039,0.780,1.364,1.906,1.425,0.949,1.248,1.416,1.303,
+0.907,0.907,1.285,0.140,1.348,1.435,1.340,1.735,1.486,1.505,
+1.457,1.359,0.897,1.300,0.110,0.119,0.083,0.105,1.394,0.122,
+0.954,1.293,0.980,1.429,1.194,1.551,1.668,1.138,0.939,1.231,
+1.321,1.292,0.819,1.086,1.672,0.148,1.443,1.873,1.657,1.556,
+1.712,2.401,4.502,1.909,1.195,2.375,1.357,0.810,0.679,1.042,
+1.349,0.133,0.697,1.132,1.672,1.237,1.027,2.145,1.803,0.982,
+0.545,1.031,0.906,0.554,0.487,0.693,0.962,0.081,0.665,0.866,
+0.865,0.833,0.528,1.049,1.686,1.272,0.784,1.513,0.170,0.143,
+0.082,0.212,0.964,0.086,0.572,0.911,1.053,1.110,0.826,1.459,
+1.565,0.722,0.694,1.444,1.031,0.649,0.535,1.030,0.959,0.068,
+0.629,1.073,1.441,0.933,1.249,3.293,2.540,1.545,1.038,1.678,
+1.382,0.983,0.767,1.036,1.050,0.101,0.667,1.056,1.151,0.992,
+0.749,1.576,1.845,1.230,0.671,1.110,1.192,0.881,0.729,0.840,
+1.076,0.103,0.770,1.174,0.868,0.959,0.594,1.098,1.069,1.026,
+0.631,1.076,0.069,0.081,0.058,0.099,1.011,0.102,1.016,1.169,
+0.870,1.172,0.951,1.608,1.254,0.763,0.709,1.265,1.033,0.756,
+0.624,1.071,1.052,0.072,0.778,1.218,1.232,0.824,1.020,2.230,
+2.576,1.331,0.967,1.353,1.864,1.345,1.194,1.570,1.513,0.167,
+0.818,1.295,1.480,1.319,1.203,2.223,0.166,0.132,0.079,0.116,
+0.137,0.135,0.092,0.119,0.111,0.017,0.086,0.124,0.159,0.183,
+0.126,0.191,1.619,1.523,1.032,1.400,0.126,0.136,0.171,0.154,
+1.524,0.167,0.984,1.396,1.223,1.551,1.348,1.928,1.676,1.211,
+0.938,1.443,1.792,1.581,1.417,1.742,1.700,0.144,1.238,2.207,
+1.561,1.403,1.423,2.955,4.048,1.543,1.009,2.142,1.505,0.972,
+0.809,1.149,1.632,0.140,0.823,1.461,2.285,1.564,1.284,3.392,
+2.351,1.413,0.851,1.451,1.605,1.462,0.845,1.107,1.417,0.102,
+0.963,1.563,1.738,1.429,1.166,2.149,2.007,1.730,1.182,1.877,
+0.114,0.117,0.084,0.149,1.869,0.141,1.338,1.935,1.925,2.112,
+1.819,2.734,3.817,1.675,1.438,3.366,1.896,1.478,1.289,2.115,
+2.576,0.162,1.945,3.269,3.791,2.521,2.529,5.134,13.9,6.803,
+5.757,14.2,5.650,3.259,3.129,4.638,6.562,0.492,2.671,4.710,
+14.2,6.898,4.145,8.762,5.769,2.800,2.421,3.450,2.894,1.716,
+1.513,1.813,3.152,0.205,1.607,2.559,3.193,2.314,1.876,3.372,
+5.369,2.783,2.562,4.739,0.365,0.247,0.192,0.518,2.312,0.168,
+1.250,1.979,2.791,2.364,1.912,3.359,17.1,3.679,4.188,8.897,
+6.299,3.515,3.085,5.934,3.631,0.235,1.844,3.292,6.380,3.205,
+3.294,7.073,5.824,2.135,1.694,3.137,2.379,1.267,1.156,1.513,
+2.403,0.169,0.928,1.462,2.598,1.734,1.143,2.190,2.807,1.320,
+0.919,1.418,1.295,0.680,0.632,0.752,1.589,0.089,0.716,1.052,
+1.303,0.931,0.850,1.159,2.591,1.523,1.322,2.088,0.148,0.089,
+0.079,0.147,1.845,0.141,0.746,1.116,1.274,1.137,0.886,1.453,
+3.059,1.376,1.116,2.134,2.102,1.218,0.941,1.520,1.613,0.090,
+0.672,1.334,1.987,1.263,1.253,2.434,4.575,1.950,1.864,3.101,
+2.565,1.256,1.421,1.814,2.246,0.209,0.949,1.614,2.592,1.882,
+1.457,3.363,0.316,0.190,0.133,0.236,0.157,0.120,0.115,0.133,
+0.163,0.016,0.109,0.162,0.297,0.265,0.160,0.329,1.972,1.377,
+1.113,1.526,0.133,0.089,0.078,0.140,1.249,0.093,0.623,0.979,
+1.162,1.119,0.924,1.404,2.457,1.197,1.185,2.041,2.035,1.282,
+1.130,1.681,1.742,0.132,0.952,1.512,2.044,1.769,1.635,3.201,
+9.737,2.701,3.078,11.4,2.819,1.382,2.008,2.843,3.474,0.267,
+1.484,2.505,4.867,2.662,2.206,5.954,4.013,2.155,1.804,2.923,
+1.906,1.212,1.508,1.644,2.174,0.124,1.325,2.276,2.875,2.052,
+1.661,3.240,2.712,1.871,1.723,2.606,0.179,0.108,0.130,0.207,
+1.837,0.113,1.047,1.555,1.973,1.911,1.592,2.480,4.843,2.293,
+2.339,5.335,2.521,1.542,1.583,2.726,3.325,0.170,1.756,3.124,
+5.684,3.599,3.671,8.760,7.033,2.843,2.351,4.482,2.492,1.471,
+1.234,1.826,2.102,0.176,0.817,1.622,3.067,2.203,1.381,2.920,
+3.101,1.484,1.324,1.869,1.371,0.804,0.799,0.904,1.250,0.113,
+0.657,1.042,1.206,1.051,0.782,1.334,2.164,1.045,1.247,1.917,
+0.134,0.106,0.104,0.172,0.986,0.077,0.516,0.720,1.132,0.994,
+0.759,1.424,2.666,1.032,1.271,2.242,1.795,1.161,1.197,1.620,
+1.193,0.086,0.571,1.048,1.802,1.107,1.145,2.784,3.239,1.789,
+1.010,1.871,1.533,0.902,0.624,1.019,1.052,0.082,0.457,0.818,
+1.253,0.995,0.622,1.441,1.591,1.006,0.557,0.867,0.757,0.324,
+0.398,0.479,0.744,0.060,0.427,0.629,0.650,0.667,0.504,0.817,
+1.559,1.009,0.706,1.157,0.085,0.061,0.049,0.084,0.850,0.127,
+0.428,0.630,0.741,0.851,0.514,0.971,1.465,0.876,0.684,1.196,
+1.019,0.720,0.549,0.859,0.787,0.054,0.378,0.701,0.925,0.668,
+0.589,1.442,2.989,1.379,1.126,1.767,1.603,0.913,1.004,1.196,
+1.432,0.147,0.751,1.099,1.442,1.292,1.111,2.047,0.162,0.112,
+0.079,0.121,0.076,0.086,0.067,0.080,0.091,0.018,0.068,0.106,
+0.119,0.142,0.087,0.148,2.048,1.171,1.035,1.372,0.109,0.148,
+0.063,0.101,0.798,0.073,0.518,0.748,0.849,0.803,0.765,1.068,
+1.805,0.927,0.992,1.455,1.355,1.475,0.893,1.242,1.090,0.088,
+0.696,1.152,1.158,1.002,1.097,2.029,2.738,1.284,1.209,2.294,
+1.183,0.720,0.789,1.062,1.200,0.090,0.736,1.093,1.660,1.074,
+0.974,2.355,1.741,1.027,0.844,1.335,0.900,0.709,0.662,0.945,
+0.839,0.069,0.813,1.416,1.057,0.959,0.836,1.525,1.457,0.720,
+0.912,1.384,0.075,0.055,0.049,0.094,0.789,0.055,0.580,0.796,
+0.911,0.828,0.935,1.385,1.918,0.642,1.082,1.813,1.155,0.847,
+0.754,1.333,1.317,0.081,0.795,1.425,2.082,1.644,1.849,3.517,
+8.365,2.649,1.971,4.179,1.842,1.175,0.930,1.525,1.965,0.173,
+0.820,1.561,2.817,2.106,1.212,2.884,3.334,1.904,1.212,2.149,
+1.540,0.959,1.034,1.184,1.830,0.142,0.933,1.314,2.228,1.745,
+1.192,1.997,2.342,1.742,1.748,2.605,0.196,0.149,0.132,0.308,
+1.145,0.091,0.551,0.874,1.156,1.311,0.798,1.604,3.465,1.628,
+1.874,3.890,2.087,1.382,1.304,2.429,1.641,0.130,0.842,1.626,
+2.665,1.744,1.826,5.387,0.455,0.219,0.125,0.256,0.166,0.129,
+0.086,0.136,0.158,0.020,0.070,0.134,0.198,0.204,0.108,0.244,
+0.243,0.172,0.088,0.150,0.142,0.104,0.081,0.094,0.171,0.018,
+0.091,0.121,0.203,0.182,0.102,0.174,0.179,0.151,0.110,0.199,
+0.012,0.014,0.010,0.019,0.120,0.015,0.074,0.097,0.125,0.137,
+0.085,0.173,0.388,0.214,0.182,0.425,0.284,0.236,0.167,0.312,
+0.178,0.016,0.101,0.185,0.273,0.207,0.190,0.485,2.262,1.237,
+0.869,1.346,1.189,0.841,0.916,0.984,1.668,0.187,0.830,1.143,
+1.435,1.176,1.115,1.990,0.159,0.124,0.071,0.110,0.079,0.072,
+0.063,0.066,0.139,0.016,0.062,0.083,0.187,0.156,0.098,0.159,
+1.145,1.059,0.719,0.946,0.113,0.079,0.068,0.089,0.822,0.076,
+0.355,0.518,0.639,0.757,0.586,0.921,1.584,1.205,0.942,1.201,
+1.351,1.099,0.811,1.162,1.057,0.103,0.717,1.025,1.121,0.982,
+1.074,1.793,2.375,1.174,0.976,1.793,1.150,0.681,0.762,0.864,
+1.456,0.148,0.700,1.310,1.907,1.547,0.960,2.324,2.162,1.331,
+0.920,1.491,1.152,0.873,0.846,0.863,1.462,0.118,0.806,1.239,
+1.890,1.439,0.983,1.809,1.448,1.129,0.804,1.367,0.109,0.082,
+0.068,0.112,1.059,0.074,0.604,0.906,1.001,1.116,0.839,1.498,
+2.349,1.360,1.306,1.940,1.538,1.117,1.010,1.522,1.767,0.145,
+1.160,1.720,2.482,1.955,1.927,3.728,8.349,3.193,2.715,6.396,
+2.415,1.318,1.347,1.869,2.489,0.195,1.089,2.030,4.502,2.640,
+1.944,5.076,2.983,1.413,1.114,2.055,1.363,0.720,0.822,1.061,
+1.648,0.113,0.813,1.279,2.012,1.348,1.114,2.141,3.395,1.896,
+1.776,3.668,0.223,0.135,0.129,0.354,1.652,0.106,0.788,1.413,
+1.882,1.533,1.159,2.583,6.689,2.497,3.296,9.562,3.012,1.632,
+1.917,3.920,2.584,0.163,1.442,2.552,4.880,2.657,3.078,8.870,
+4.283,2.042,1.429,2.975,1.927,1.113,0.891,1.384,1.881,0.132,
+0.846,1.587,2.093,1.662,1.067,2.465,2.458,1.274,0.815,1.504,
+1.254,0.805,0.656,0.861,1.576,0.133,0.751,1.198,1.653,1.317,
+0.777,1.431,2.201,1.465,1.081,2.330,0.117,0.108,0.066,0.159,
+1.521,0.100,0.725,1.232,1.489,1.358,0.980,1.953,3.417,1.605,
+1.681,3.814,2.162,1.523,1.307,2.448,1.930,0.094,0.964,1.737,
+2.550,1.714,1.699,3.912,3.091,1.663,1.315,2.170,2.026,1.121,
+1.085,1.602,2.444,0.206,1.133,1.792,2.055,1.507,1.528,2.802,
+0.201,0.139,0.099,0.179,0.103,0.096,0.084,0.101,0.214,0.014,
+0.087,0.138,0.200,0.182,0.117,0.213,1.978,1.798,1.164,1.862,
+0.107,0.098,0.081,0.145,1.398,0.114,0.792,1.435,1.290,1.333,
+1.154,2.037,2.263,1.431,1.405,2.383,2.129,1.526,1.415,2.282,
+2.018,0.124,1.287,2.100,2.137,1.598,2.194,3.706,6.000,2.487,
+2.460,4.950,2.375,1.315,1.640,1.927,2.646,0.201,1.296,2.325,
+4.066,2.496,2.132,5.865,3.006,1.740,1.375,2.563,1.576,1.082,
+1.201,1.463,1.843,0.105,1.096,1.883,2.348,1.759,1.454,3.131,
+3.262,2.421,1.962,3.426,0.185,0.131,0.123,0.245,2.821,0.155,
+1.326,2.198,2.870,2.529,2.098,3.700,7.054,3.097,3.710,7.978,
+4.214,2.769,3.316,5.158,4.919,0.227,2.876,5.102,9.699,5.453,
+6.627,11.3,7.476,4.349,3.901,6.412,4.118,2.231,1.995,2.524,
+3.548,0.321,1.584,2.655,5.772,3.797,2.588,4.431,4.311,2.402,
+1.892,2.425,2.508,1.404,1.285,1.414,2.043,0.167,1.330,1.656,
+2.117,1.681,1.501,2.262,3.303,1.863,1.624,2.648,0.309,0.159,
+0.149,0.284,1.378,0.123,0.752,1.094,1.776,1.481,1.293,1.917,
+5.096,1.827,1.864,3.515,5.813,2.263,1.778,2.606,2.149,0.152,
+1.137,1.755,3.362,1.833,2.039,3.828,5.086,2.579,1.984,2.858,
+2.549,1.495,1.155,1.447,2.043,0.207,1.113,1.575,3.069,2.081,
+1.444,2.468,3.057,1.687,1.136,1.579,1.510,0.922,0.840,0.956,
+1.617,0.148,0.998,1.360,1.435,1.186,1.059,1.402,1.933,1.441,
+0.987,1.531,0.162,0.109,0.100,0.137,1.559,0.259,0.712,0.962,
+1.275,1.395,1.035,1.349,2.038,1.076,0.823,1.461,2.033,1.104,
+0.800,1.235,1.446,0.105,0.721,1.135,2.036,1.271,1.306,2.374,
+3.274,1.634,1.325,2.039,2.411,1.476,1.332,1.640,1.827,0.220,
+0.909,1.321,1.849,1.646,1.310,2.670,0.210,0.203,0.114,0.179,
+0.156,0.135,0.118,0.145,0.136,0.026,0.094,0.136,0.173,0.236,
+0.134,0.244,1.480,1.118,0.978,1.272,0.128,0.088,0.090,0.146,
+1.043,0.101,0.596,0.877,0.914,1.027,1.071,1.402,1.718,0.883,
+0.930,1.479,1.810,1.172,1.139,1.493,1.429,0.126,0.941,1.266,
+1.622,1.414,1.628,2.677,3.998,1.405,1.281,2.834,1.719,0.879,
+0.967,1.286,1.832,0.194,0.870,1.345,2.223,1.564,1.158,2.788,
+2.617,1.690,1.263,2.021,1.546,1.090,1.014,1.451,1.419,0.121,
+0.971,1.598,1.516,1.449,1.175,2.180,1.696,1.246,1.055,1.599,
+0.116,0.082,0.117,0.146,1.112,0.118,0.680,1.130,1.099,1.263,
+1.185,1.658,2.489,1.172,1.176,2.256,1.426,0.891,0.957,1.372,
+1.681,0.126,1.154,1.899,2.716,1.941,2.218,4.343,5.386,3.057,
+2.258,3.786,2.668,1.681,1.386,1.692,2.070,0.212,0.875,1.299,
+3.043,2.647,1.964,2.851,2.950,1.869,1.236,1.830,1.596,1.073,
+1.088,1.070,1.235,0.130,0.804,1.173,1.099,1.150,1.030,1.413,
+1.720,1.172,0.992,1.417,0.131,0.107,0.090,0.148,0.851,0.083,
+0.493,0.653,1.559,0.960,0.981,1.326,2.499,0.991,0.977,1.724,
+1.805,1.309,0.922,1.267,1.127,0.091,0.609,0.927,1.833,1.106,
+1.160,2.293,3.274,2.066,1.104,2.074,2.142,1.427,0.883,1.229,
+1.149,0.123,0.617,0.952,1.311,1.263,0.887,2.025,2.265,1.570,
+0.851,1.442,1.153,0.487,0.663,0.833,0.995,0.122,0.671,0.979,
+0.783,0.911,0.669,1.176,1.691,1.159,0.755,1.182,0.107,0.106,
+0.079,0.110,0.891,0.123,0.514,0.670,0.758,0.990,0.744,1.083,
+1.250,0.796,0.812,1.103,1.058,0.898,0.661,0.895,0.840,0.066,
+0.492,0.772,0.984,0.781,0.690,1.466,2.579,1.286,0.979,1.513,
+2.044,1.324,1.183,1.267,1.439,0.268,0.806,0.997,1.324,1.476,
+1.097,1.981,0.162,0.167,0.081,0.169,0.130,0.168,0.128,0.120,
+0.182,0.120,0.119,0.123,0.120,0.464,0.106,0.147,1.632,1.152,
+0.933,1.313,0.123,0.144,0.103,0.138,0.882,0.111,0.652,0.805,
+0.761,0.972,1.084,1.206,1.554,0.684,0.866,1.302,1.467,1.197,
+1.112,1.336,1.204,0.114,0.844,1.105,1.279,1.211,1.428,2.172,
+2.266,1.069,0.932,1.598,1.358,0.717,0.791,1.043,1.177,0.107,
+0.665,0.842,1.275,0.938,0.874,1.989,1.846,1.245,0.887,1.408,
+1.192,0.990,0.949,1.351,1.096,0.178,0.806,1.342,0.864,1.174,
+0.807,1.388,1.081,0.877,0.682,1.036,0.072,0.059,0.051,0.085,
+0.645,0.054,0.536,0.705,0.720,0.776,0.862,1.164,1.730,0.713,
+0.812,1.309,1.074,0.705,0.718,1.032,1.024,0.073,0.715,1.194,
+1.548,1.273,1.481,2.543,4.033,2.314,1.759,3.904,1.730,1.213,
+0.957,1.361,1.574,0.161,0.801,1.161,1.996,1.813,1.252,2.174,
+2.672,1.818,1.110,1.910,1.429,1.103,1.020,1.132,1.492,0.172,
+1.171,1.334,1.357,1.951,1.021,1.643,1.527,1.516,1.343,1.762,
+0.150,0.138,0.144,0.250,1.001,0.107,0.567,0.808,0.771,1.111,
+0.769,1.278,1.915,1.119,1.112,2.350,1.546,1.073,1.168,1.759,
+1.300,0.126,0.832,1.342,1.843,1.339,1.502,3.573,0.177,0.145,
+0.085,0.153,0.129,0.114,0.087,0.107,0.095,0.017,0.063,0.092,
+0.135,0.140,0.093,0.153,0.157,0.139,0.068,0.102,0.128,0.123,
+0.102,0.099,0.117,0.024,0.104,0.117,0.114,0.154,0.079,0.113,
+0.096,0.107,0.080,0.104,0.013,0.018,0.017,0.021,0.100,0.021,
+0.082,0.086,0.072,0.112,0.089,0.116,0.179,0.105,0.084,0.194,
+0.157,0.147,0.123,0.194,0.106,0.016,0.088,0.125,0.136,0.120,
+0.125,0.231,1.971,1.424,0.970,1.340,1.376,1.322,1.233,1.234,
+1.523,0.216,1.026,1.352,1.163,1.284,1.202,2.005,0.130,0.147,
+0.078,0.114,0.090,0.138,0.114,0.087,0.141,0.025,0.118,0.130,
+0.117,0.181,0.117,0.161,1.048,1.359,0.944,1.301,0.103,0.141,
+0.105,0.132,0.990,0.127,0.606,0.765,0.658,0.977,0.880,1.328,
+1.185,0.991,0.933,1.237,1.373,1.692,1.083,1.459,1.165,0.156,
+1.029,1.353,1.149,1.127,1.416,2.260,2.127,1.213,0.932,1.700,
+1.061,0.737,0.648,0.827,1.289,0.135,0.728,1.222,1.453,1.301,
+1.198,2.079,2.116,1.649,1.035,1.585,1.367,1.434,1.144,1.182,
+1.526,0.140,1.157,1.773,1.319,1.582,1.145,1.804,1.481,1.291,
+0.967,1.418,0.102,0.097,0.098,0.126,1.085,0.102,0.807,1.005,
+0.925,1.234,1.056,1.557,1.734,1.152,1.082,1.945,1.301,1.059,
+0.911,1.369,1.562,0.129,1.418,1.918,2.127,1.920,2.113,3.548,
+5.343,2.197,2.090,4.525,2.055,1.080,1.159,1.762,1.852,0.153,
+0.866,1.545,2.741,1.967,1.546,3.226,2.243,1.214,0.920,1.566,
+1.114,0.711,0.761,1.025,1.245,0.088,0.751,1.091,1.321,1.037,
+0.858,1.518,2.087,1.406,1.173,2.083,0.136,0.090,0.088,0.232,
+1.162,0.087,0.579,0.970,1.133,1.067,0.823,1.846,2.997,1.387,
+1.652,3.577,1.759,1.008,1.155,2.330,1.696,0.117,1.016,1.741,
+2.863,1.704,1.931,5.113,3.476,1.967,1.333,2.506,1.861,1.286,
+1.099,1.411,1.653,0.148,1.004,1.638,2.086,1.819,1.114,2.362,
+2.337,1.497,0.886,1.439,1.489,1.142,0.934,1.164,1.704,0.140,
+1.033,1.561,1.829,1.353,0.959,1.537,1.561,1.380,0.942,1.707,
+0.099,0.101,0.081,0.169,1.268,0.117,0.774,1.206,1.220,1.461,
+0.998,1.757,2.112,1.211,1.151,2.563,1.690,1.343,1.213,2.535,
+1.542,0.113,1.131,1.740,1.918,1.523,1.570,3.412,2.398,1.410,
+1.158,1.803,1.715,1.274,1.222,1.657,1.794,0.197,1.199,1.695,
+1.712,1.512,1.504,2.671,0.146,0.118,0.078,0.132,0.084,0.107,
+0.099,0.099,0.104,0.013,0.081,0.115,0.128,0.154,0.107,0.177,
+1.359,1.374,1.024,1.802,0.084,0.086,0.082,0.162,1.133,0.115,
+0.913,1.284,1.027,1.218,1.321,2.009,1.574,1.080,1.094,1.946,
+1.526,1.371,1.293,2.091,1.470,0.120,1.448,1.839,1.753,1.320,
+2.123,3.353,3.779,1.811,1.685,3.064,1.586,0.978,1.221,1.397,
+1.751,0.172,1.022,1.637,2.252,1.552,1.414,3.334,2.520,1.450,
+1.131,1.782,1.390,1.063,1.196,1.283,1.289,0.089,0.941,1.490,
+1.449,1.269,1.018,1.875,2.065,1.560,1.423,2.502,0.131,0.100,
+0.089,0.187,1.612,0.112,1.139,1.578,1.902,1.888,1.782,2.718,
+3.823,1.771,1.962,4.085,2.245,1.606,1.842,3.000,2.595,0.156,
+2.102,3.325,4.671,2.990,3.945,5.479,3.234,2.643,2.650,3.878,
+2.357,1.383,1.328,1.683,2.036,0.201,1.030,1.695,2.955,2.227,
+1.637,2.818,2.518,1.336,1.107,1.657,1.457,0.800,0.875,1.260,
+1.205,0.094,0.678,1.022,1.231,1.096,0.898,1.577,2.144,1.439,
+1.013,1.753,0.152,0.099,0.082,0.207,1.067,0.091,0.668,1.144,
+0.990,1.159,1.025,1.534,3.095,1.354,1.195,2.455,2.036,1.095,
+0.969,1.802,1.965,0.117,0.776,1.227,1.895,1.217,1.249,2.649,
+3.948,1.877,1.266,2.471,2.082,1.236,1.116,1.315,1.501,0.145,
+0.659,1.068,1.539,1.279,0.917,1.768,2.193,1.241,0.751,1.181,
+1.233,0.606,0.720,0.872,1.216,0.088,0.655,0.884,0.968,0.824,
+0.601,0.983,1.661,1.338,0.933,1.379,0.141,0.103,0.099,0.149,
+1.357,0.207,0.662,1.036,0.873,1.358,0.877,1.278,1.927,1.123,
+0.701,1.509,1.610,1.120,0.839,1.404,1.230,0.090,0.621,1.110,
+1.300,1.254,0.985,2.039,2.617,1.464,1.012,1.734,2.060,1.367,
+1.509,1.553,1.799,0.195,0.797,1.220,1.711,1.562,1.334,2.370,
+0.200,0.194,0.112,0.156,0.169,0.155,0.210,0.171,0.146,0.024,
+0.124,0.135,0.212,0.274,0.165,0.264,1.384,1.009,1.041,1.293,
+0.129,0.097,0.111,0.161,1.077,0.139,0.645,0.831,0.953,1.545,
+1.285,1.297,1.409,0.784,0.709,1.223,1.715,1.276,1.141,1.593,
+1.238,0.148,0.781,1.203,1.558,2.265,1.412,2.324,2.786,1.244,
+1.042,2.023,1.352,0.826,1.126,1.134,1.718,0.149,0.769,1.098,
+2.043,1.442,1.280,2.443,1.946,1.305,0.928,1.329,1.242,1.185,
+1.316,1.248,1.173,0.097,0.932,1.162,1.435,1.298,1.202,1.767,
+1.527,1.339,1.175,1.678,0.147,0.091,0.099,0.161,1.113,0.097,
+0.854,1.177,1.191,1.438,1.400,1.802,2.157,1.180,1.056,2.059,
+1.338,0.822,1.038,1.495,1.820,0.130,1.164,2.059,2.778,2.166,
+2.327,4.361,0.242,0.185,0.138,0.207,0.161,0.122,0.104,0.134,
+0.134,0.025,0.070,0.105,0.177,0.280,0.146,0.205,0.187,0.128,
+0.125,0.141,0.141,0.096,0.131,0.122,0.109,0.021,0.074,0.103,
+0.099,0.116,0.092,0.143,0.132,0.097,0.097,0.128,0.013,0.011,
+8.36e-3,0.018,0.081,9.86e-3,0.057,0.083,0.069,0.097,0.088,0.136,
+0.174,0.096,0.087,0.156,0.151,0.106,0.096,0.154,0.135,0.015,
+0.082,0.108,0.134,0.134,0.130,0.247,0.198,0.149,0.082,0.140,
+0.128,0.110,0.088,0.095,0.087,0.012,0.045,0.073,0.081,0.097,
+0.078,0.127,0.147,0.131,0.077,0.091,0.125,0.098,0.091,0.097,
+0.105,0.017,0.066,0.081,0.072,0.088,0.075,0.096,0.107,0.100,
+0.081,0.116,0.013,0.018,0.013,0.015,0.112,0.028,0.074,0.098,
+0.069,0.116,0.088,0.114,0.120,0.074,0.058,0.106,0.106,0.092,
+0.075,0.100,0.087,0.010,0.051,0.082,0.088,0.101,0.078,0.149,
+0.170,0.095,0.075,0.105,0.141,0.123,0.180,0.120,0.110,0.018,
+0.086,0.083,0.098,0.131,0.102,0.153,0.012,0.015,9.86e-3,0.013,
+0.014,0.020,0.026,0.016,0.014,7.27e-3,0.032,0.016,8.94e-3,0.033,
+0.018,0.019,0.137,0.103,0.165,0.147,0.018,0.021,0.023,0.019,
+0.102,0.018,0.082,0.095,0.083,0.178,0.118,0.133,0.121,0.082,
+0.072,0.107,0.149,0.179,0.127,0.151,0.126,0.039,0.100,0.121,
+0.179,0.996,0.173,0.233,0.193,0.146,0.104,0.162,0.117,0.093,
+0.104,0.108,0.122,0.015,0.069,0.095,0.153,0.147,0.131,0.246,
+0.183,0.138,0.104,0.149,0.146,0.134,0.152,0.161,0.117,0.016,
+0.122,0.136,0.138,0.177,0.138,0.203,0.123,0.113,0.105,0.145,
+0.011,9.11e-3,9.78e-3,0.017,0.090,0.012,0.090,0.112,0.084,0.120,
+0.126,0.169,0.164,0.098,0.087,0.155,0.117,0.097,0.092,0.132,
+0.149,0.014,0.099,0.177,0.200,0.256,0.205,0.385,2.762,1.664,
+1.331,2.170,1.457,1.022,0.884,1.154,1.295,0.109,0.683,1.046,
+1.279,1.060,0.910,1.547,2.016,1.384,0.870,1.254,1.659,0.960,
+1.093,1.098,1.470,0.121,1.055,1.129,0.985,1.183,0.934,1.326,
+1.338,1.392,0.986,1.365,0.155,0.139,0.118,0.231,0.959,0.104,
+0.844,0.964,0.679,1.116,0.819,1.205,1.358,0.903,0.726,1.320,
+1.365,0.917,0.827,1.283,1.279,0.105,0.920,1.495,1.304,1.014,
+1.436,2.506,0.174,0.119,0.075,0.121,0.125,0.119,0.116,0.106,
+0.072,0.014,0.054,0.073,0.075,0.088,0.064,0.123,0.122,0.098,
+0.049,0.073,0.182,0.090,0.089,0.077,0.078,0.015,0.080,0.082,
+0.059,0.074,0.058,0.072,0.083,0.104,0.068,0.084,0.012,0.019,
+0.016,0.016,0.077,0.020,0.128,0.113,0.048,0.099,0.072,0.091,
+0.145,0.090,0.060,0.135,0.144,0.136,0.092,0.150,0.097,0.010,
+0.076,0.172,0.097,0.092,0.104,0.187,1.838,1.061,1.244,1.099,
+1.621,1.403,3.796,1.465,1.150,0.171,0.985,1.444,0.894,0.983,
+1.256,1.977,0.115,0.123,0.089,0.078,0.117,0.135,0.216,0.092,
+0.090,0.019,0.112,0.106,0.089,0.132,0.162,0.145,1.349,1.202,
+1.035,1.117,0.117,0.116,0.155,0.134,0.856,0.103,0.418,0.619,
+0.525,0.790,0.760,0.912,0.939,0.626,0.578,0.802,1.192,1.069,
+1.049,1.031,0.940,0.102,0.846,1.033,0.891,0.967,1.130,1.519,
+1.960,1.034,0.915,1.191,1.093,0.762,1.119,0.798,0.956,0.103,
+0.717,0.983,0.982,0.945,0.769,1.403,1.576,1.166,0.956,0.996,
+1.266,1.122,1.245,0.881,1.028,0.095,1.120,1.144,0.940,1.138,
+1.078,1.306,1.493,1.234,1.298,1.364,0.107,0.102,0.107,0.126,
+1.091,0.116,1.506,1.534,0.818,1.116,1.191,1.400,1.354,0.795,
+0.828,1.184,1.050,0.908,0.872,1.024,1.335,0.109,1.320,1.505,
+1.564,1.521,1.711,2.320,3.258,1.379,1.121,2.218,1.446,0.791,
+0.749,1.112,1.257,0.113,0.577,0.950,1.614,1.251,1.047,1.934,
+1.853,1.040,0.689,1.076,1.009,0.560,0.695,0.894,0.877,0.060,
+0.543,0.780,0.804,0.740,0.640,1.104,1.628,1.196,0.722,1.372,
+0.116,0.077,0.066,0.172,1.048,0.074,0.603,0.980,0.827,0.913,
+0.882,1.530,2.110,1.154,0.890,1.681,1.282,0.805,0.737,1.277,
+1.176,0.085,0.746,1.219,1.570,1.050,1.283,2.934,3.245,1.602,
+1.109,2.067,1.655,1.109,0.940,1.198,1.289,0.110,0.750,1.159,
+1.303,1.248,0.831,1.749,1.866,1.209,0.699,1.156,1.291,0.898,
+0.941,1.096,1.056,0.075,0.811,1.118,0.780,0.816,0.616,1.064,
+1.533,1.249,0.846,1.597,0.115,0.093,0.070,0.137,1.152,0.112,
+0.899,1.359,0.874,1.258,0.941,1.657,1.900,1.262,0.974,1.753,
+1.665,1.203,0.989,1.643,1.326,0.096,0.893,1.622,1.368,1.225,
+1.282,2.613,2.428,1.211,1.070,1.482,1.884,1.318,1.991,1.631,
+1.480,0.177,0.942,1.587,1.329,1.558,1.604,2.443,0.150,0.103,
+0.101,0.119,0.109,0.117,0.434,0.138,0.080,0.017,0.102,0.190,
+0.105,0.156,0.121,0.161,1.531,1.327,1.051,1.456,0.104,0.093,
+0.190,0.154,1.239,0.129,0.842,1.279,0.916,1.397,1.055,1.712,
+1.556,1.065,0.963,1.399,1.676,1.359,1.632,1.796,1.432,0.134,
+1.287,2.233,1.486,1.485,1.820,2.834,2.828,1.217,1.016,1.704,
+1.317,0.834,0.899,0.985,1.343,0.146,0.792,1.221,1.445,1.162,
+0.973,2.197,1.920,1.115,0.828,1.211,1.224,0.975,1.276,1.079,
+1.018,0.073,0.824,1.321,1.062,1.002,0.950,1.550,1.807,1.469,
+1.297,1.848,0.117,0.101,0.097,0.154,1.529,0.110,1.314,1.799,
+1.304,1.508,1.431,1.822,2.521,1.273,1.254,2.392,1.750,1.249,
+1.566,2.052,1.998,0.129,1.626,2.693,2.664,2.068,2.422,4.043,
+12.1,4.144,3.874,7.959,3.278,1.755,1.594,2.375,3.351,0.257,
+1.520,2.690,5.412,3.712,2.243,5.293,3.555,1.655,1.276,2.042,
+1.672,0.898,0.976,1.312,1.716,0.096,0.849,1.249,1.914,1.466,
+1.169,2.151,2.804,1.560,1.380,2.807,0.190,0.119,0.100,0.257,
+1.783,0.189,0.726,1.291,1.611,1.711,1.430,2.365,4.591,1.867,
+1.762,4.064,2.801,1.440,1.365,2.482,2.148,0.137,1.049,1.916,
+4.395,2.099,2.269,5.882,4.855,1.964,1.308,2.638,1.899,1.073,
+0.863,1.180,1.499,0.148,0.629,1.116,1.846,1.371,0.967,1.942,
+2.197,1.078,0.691,1.185,1.088,0.582,0.568,0.727,1.289,0.110,
+0.627,0.871,1.204,0.892,0.768,1.217,1.761,1.306,0.827,1.591,
+0.132,0.161,0.062,0.119,3.656,1.488,0.680,1.145,1.380,3.432,
+0.841,1.453,1.892,1.030,0.839,1.549,1.387,0.902,0.663,1.101,
+1.319,0.187,0.567,1.018,1.495,1.282,1.159,2.273,3.718,1.492,
+1.162,2.235,2.229,1.909,1.146,1.813,1.893,0.188,0.693,1.333,
+2.562,1.897,1.340,3.231,0.209,0.122,0.083,0.165,0.146,0.117,
+0.103,0.161,0.146,0.013,0.068,0.130,0.263,0.230,0.128,0.303,
+1.648,1.034,0.987,1.601,0.129,0.084,0.074,0.152,1.691,0.151,
+0.552,0.962,1.294,1.303,1.232,1.706,1.947,1.004,0.954,1.835,
+1.814,1.112,0.978,1.718,1.518,0.114,0.809,1.473,2.125,1.569,
+1.577,3.407,5.706,1.990,1.806,4.225,2.167,1.317,1.277,1.894,
+2.616,0.201,1.247,2.179,4.817,2.577,2.088,5.065,2.934,1.471,
+1.201,1.962,1.457,1.013,0.954,1.316,1.705,0.095,0.968,1.601,
+2.542,1.900,1.459,2.856,2.212,1.584,1.306,2.119,0.141,0.097,
+0.084,0.173,1.836,0.168,0.974,1.650,1.937,2.243,1.959,3.159,
+4.270,1.929,1.895,4.804,2.414,1.413,1.384,2.478,2.934,0.173,
+1.799,3.239,5.603,3.922,4.408,10.4,4.283,2.122,1.576,3.213,
+2.057,1.209,0.947,1.395,1.658,0.130,0.737,1.352,2.198,1.679,
+1.506,2.724,2.236,1.260,0.980,1.589,1.293,0.807,1.020,1.051,
+1.118,0.072,0.608,0.917,1.061,0.902,0.766,1.420,1.835,1.051,
+0.807,1.546,0.098,0.073,0.058,0.127,0.946,0.074,0.505,0.774,
+0.945,0.947,0.991,1.488,2.023,1.061,0.894,1.807,1.441,0.938,
+0.758,1.274,1.171,0.091,0.652,1.123,1.576,1.199,1.175,3.052,
+2.992,1.548,0.914,1.757,1.484,0.976,0.659,0.961,0.949,0.074,
+0.450,0.867,1.206,0.938,0.682,1.543,1.543,1.033,0.559,0.982,
+0.920,0.623,0.530,0.711,0.827,0.060,0.445,0.680,0.778,0.692,
+0.522,1.045,1.334,0.930,0.602,1.152,0.072,0.059,0.043,0.080,
+1.125,0.163,0.475,0.811,0.834,0.996,0.879,1.319,1.234,0.751,
+0.748,1.165,0.988,0.747,0.517,0.870,0.826,0.062,0.437,0.850,
+1.026,0.873,0.791,1.688,2.382,1.059,0.886,1.448,1.366,0.915,
+0.850,1.207,1.182,0.129,0.545,0.949,1.386,1.247,0.885,2.181,
+0.113,0.075,0.049,0.098,0.075,0.084,0.057,0.118,0.062,0.010,
+0.057,0.074,0.103,0.133,0.066,0.143,1.445,0.990,0.884,1.238,
+0.099,0.092,0.061,0.111,1.011,0.089,0.527,0.902,1.010,1.090,
+0.868,1.565,1.592,0.881,0.806,1.387,1.493,1.524,0.934,1.419,
+1.233,0.117,0.755,1.372,1.568,2.092,1.380,3.101,2.750,1.292,
+1.093,2.308,1.306,0.819,0.822,1.119,1.615,0.122,0.716,1.197,
+2.158,1.494,1.166,2.912,2.067,1.251,0.899,1.547,1.165,0.914,
+0.784,1.284,1.115,0.088,0.750,1.283,1.483,1.501,1.147,2.097,
+1.455,1.107,0.898,1.543,0.082,0.064,0.049,0.106,1.037,0.072,
+0.793,1.161,1.137,1.102,1.118,2.068,2.206,1.079,1.074,2.077,
+1.461,1.059,0.869,1.330,1.739,0.107,1.091,1.993,2.520,1.855,
+2.117,5.020,4.403,2.392,1.853,3.672,2.444,1.465,1.093,1.680,
+2.665,0.175,1.028,1.602,2.364,1.827,1.200,2.711,3.128,1.983,
+1.161,1.924,1.883,1.208,1.050,1.262,2.021,0.149,1.183,1.555,
+1.927,2.020,1.373,2.367,2.116,1.815,1.300,2.294,0.181,0.152,
+0.115,0.271,1.563,0.125,0.844,1.244,1.254,1.650,1.217,2.098,
+2.377,1.487,1.228,2.812,1.817,1.254,1.054,1.990,1.962,0.142,
+1.194,1.937,2.402,1.738,2.304,4.618,0.227,0.164,0.094,0.192,
+0.251,0.157,0.084,0.134,0.146,0.011,0.066,0.122,0.131,0.131,
+0.102,0.192,0.156,0.122,0.063,0.108,0.136,0.117,0.072,0.085,
+0.111,0.014,0.090,0.139,0.111,0.125,0.079,0.150,0.114,0.098,
+0.060,0.115,0.011,0.012,8.69e-3,0.013,0.132,0.029,0.069,0.100,
+0.080,0.138,0.082,0.145,0.187,0.117,0.082,0.230,0.166,0.142,
+0.091,0.179,0.128,0.012,0.075,0.152,0.164,0.145,0.143,0.306,
+2.900,1.632,1.234,1.658,2.139,1.591,1.586,1.596,1.678,0.212,
+0.996,1.796,1.516,1.537,1.408,2.793,0.150,0.117,0.074,0.114,
+0.171,0.104,0.089,0.083,0.102,0.016,0.081,0.107,0.148,0.175,
+0.129,0.194,1.576,1.606,1.210,1.585,0.126,0.136,0.094,0.147,
+1.242,0.127,0.653,1.105,0.978,1.288,1.123,1.756,1.732,1.377,
+1.011,1.614,1.870,1.960,1.152,1.572,1.700,0.161,1.283,1.834,
+1.761,1.584,1.863,3.009,3.440,1.798,1.335,2.377,1.953,1.272,
+1.042,1.399,1.778,0.155,1.392,1.869,2.065,1.652,1.333,2.900,
+2.908,1.864,1.354,2.074,2.008,1.518,1.174,1.272,1.765,0.131,
+1.559,1.920,2.089,2.214,1.673,2.696,2.245,1.937,1.517,2.293,
+0.129,0.124,0.105,0.201,1.885,0.135,1.479,2.170,1.656,1.989,
+1.848,2.695,2.734,1.621,1.513,2.422,1.699,1.467,1.188,1.688,
+2.433,0.175,2.107,2.668,2.860,2.567,2.854,4.679,12.2,3.275,
+2.443,5.917,2.919,1.540,1.230,2.196,2.876,0.191,1.261,2.244,
+3.805,2.547,1.979,5.232,3.522,1.727,1.052,1.928,1.772,1.089,
+0.838,1.239,1.792,0.103,1.017,1.456,1.761,1.454,1.074,2.251,
+3.085,1.934,1.365,3.453,0.168,0.119,0.084,0.269,1.862,0.127,
+0.927,1.680,1.832,1.761,1.352,3.033,5.014,2.441,1.944,5.079,
+2.444,1.492,1.290,2.907,2.660,0.174,1.609,2.932,4.286,3.031,
+3.170,9.338,4.731,2.382,1.608,3.378,2.636,1.684,1.046,1.691,
+1.806,0.127,0.898,1.823,2.133,1.699,1.235,2.850,3.093,1.886,
+0.992,1.794,2.113,2.055,0.889,1.284,1.692,0.099,0.947,1.530,
+1.482,1.363,0.884,1.836,2.183,1.634,0.961,2.860,0.110,0.094,
+0.056,0.174,1.675,0.146,0.942,1.667,1.615,1.708,1.191,2.599,
+2.803,1.612,1.206,3.043,1.933,1.495,1.020,2.359,1.945,0.112,
+1.135,2.121,2.739,2.047,1.858,4.814,4.838,2.323,1.795,2.774,
+3.323,1.964,1.683,2.638,2.528,0.221,1.332,2.399,2.856,2.233,
+1.965,4.433,0.188,0.139,0.085,0.152,0.141,0.115,0.108,0.130,
+0.102,0.011,0.083,0.146,0.192,0.172,0.109,0.258,2.654,2.136,
+1.529,2.832,0.140,0.107,0.088,0.219,2.121,0.158,1.475,2.231,
+1.942,2.112,2.143,3.669,3.397,2.033,1.770,3.113,2.750,2.070,
+1.972,3.412,2.846,0.165,2.285,3.436,3.341,2.335,3.351,6.078,
+11.8,3.612,2.600,6.237,3.915,2.172,1.739,2.793,3.413,0.241,
+1.791,3.319,5.540,3.722,2.908,8.496,4.402,2.409,1.582,3.138,
+2.772,1.807,1.402,2.095,2.437,0.135,1.591,2.606,3.452,2.609,
+2.176,4.798,4.078,2.990,2.156,4.154,0.170,0.138,0.116,0.302,
+3.372,0.177,2.109,3.409,3.812,3.578,3.376,6.176,10.9,3.116,
+2.741,7.661,3.344,2.169,2.520,6.140,4.480,0.229,3.003,5.912,
+7.870,4.589,4.198,15.9,22.2,7.302,3.447,7.238,9.527,4.018,
+3.033,3.909,6.896,0.610,2.311,3.808,9.342,6.246,3.949,5.993,
+11.0,4.720,2.644,3.658,4.843,3.018,2.314,2.298,4.209,0.315,
+2.054,2.576,3.310,2.718,2.049,3.312,6.754,4.595,2.979,4.794,
+0.546,0.421,0.290,0.632,3.428,0.310,1.877,2.582,3.395,3.670,
+2.117,3.336,9.193,3.839,3.511,7.607,5.765,3.660,2.961,5.681,
+4.050,0.329,2.125,3.570,5.393,3.142,3.067,5.348,14.3,5.119,
+2.671,4.421,6.402,3.359,2.057,2.302,3.655,0.361,1.444,2.180,
+2.974,2.826,1.600,2.698,5.934,3.362,1.637,2.200,3.229,2.082,
+1.418,1.504,2.676,0.261,1.317,1.776,1.704,1.704,1.135,1.784,
+3.730,3.141,1.688,2.446,0.290,0.256,0.170,0.249,2.351,0.228,
+1.299,1.838,1.637,2.265,1.390,2.083,3.169,2.080,1.294,2.218,
+2.891,2.075,1.324,1.895,2.371,0.180,1.123,1.810,2.189,1.731,
+1.693,3.033,6.290,2.741,2.078,3.058,4.812,2.578,2.074,2.219,
+3.445,0.378,1.355,2.285,2.680,2.385,1.756,3.318,0.470,0.331,
+0.176,0.271,0.389,0.378,0.198,0.228,0.311,0.046,0.182,0.286,
+0.341,0.431,0.246,0.403,2.634,2.191,1.636,1.960,0.266,0.185,
+0.183,0.233,1.784,0.184,1.107,1.583,1.316,1.818,1.312,1.653,
+2.405,1.563,1.336,2.184,3.473,2.202,1.876,2.274,2.361,0.204,
+1.314,2.145,1.982,1.875,1.964,2.765,9.961,3.456,2.701,5.423,
+4.266,2.050,1.709,2.142,4.205,0.407,1.673,2.521,4.482,3.105,
+2.216,5.162,5.662,3.168,2.129,3.050,3.643,2.406,1.786,1.996,
+3.648,0.235,1.695,2.768,3.387,2.989,2.294,3.705,3.456,2.636,
+2.001,2.726,0.293,0.209,0.175,0.249,2.170,0.167,1.201,1.929,
+2.048,2.472,1.786,2.592,4.826,2.399,1.952,3.979,2.907,1.937,
+1.533,2.326,3.241,0.216,1.734,3.152,4.065,2.913,2.752,4.649,
+9.919,5.276,3.007,5.215,4.328,2.514,1.544,1.436,2.303,0.282,
+1.039,1.606,2.647,2.982,1.794,2.671,4.971,3.681,1.874,2.445,
+3.344,2.282,1.655,1.616,2.132,0.233,1.187,1.751,1.532,1.733,
+1.170,1.873,2.855,3.029,1.646,2.624,0.294,0.317,0.187,0.276,
+1.299,0.147,0.870,1.216,1.176,1.676,1.076,1.684,2.732,1.439,
+1.326,2.234,2.315,1.929,1.309,1.524,1.324,0.147,0.827,1.178,
+1.458,1.192,1.291,2.102,5.976,4.375,1.827,2.706,3.181,2.671,
+1.535,1.334,1.759,0.234,0.772,1.144,1.344,1.740,0.935,1.504,
+3.264,2.613,1.232,1.423,2.150,1.250,1.235,1.186,1.624,0.219,
+0.910,1.232,0.928,1.230,0.760,1.020,2.341,2.836,1.210,1.614,
+0.247,0.343,0.175,0.180,1.492,0.236,0.883,1.130,0.921,1.953,
+0.966,1.501,1.693,1.294,0.744,1.151,1.980,1.857,1.011,1.040,
+1.289,0.137,0.649,0.934,0.957,1.031,0.809,1.391,3.276,2.191,
+1.320,1.848,3.323,2.300,2.040,1.643,1.799,0.234,0.860,1.390,
+1.334,1.496,1.099,1.915,0.209,0.233,0.120,0.174,0.214,0.284,
+0.186,0.142,0.164,0.043,0.131,0.180,0.121,0.217,0.129,0.188,
+2.082,2.670,1.485,1.657,0.243,0.270,0.197,0.206,1.543,0.195,
+1.027,1.284,0.911,1.614,1.208,1.410,1.419,1.037,0.833,1.216,
+2.212,2.152,1.521,1.568,1.517,0.144,1.008,1.599,1.135,1.118,
+1.316,1.986,3.140,1.331,1.078,1.744,2.026,1.231,0.888,1.012,
+1.388,0.134,0.584,0.928,1.468,1.181,0.829,1.756,2.463,1.895,
+1.294,1.650,1.869,1.714,1.146,1.318,1.195,0.119,0.874,1.275,
+1.039,1.413,1.064,1.671,1.963,1.984,1.291,1.644,0.175,0.160,
+0.103,0.149,1.398,0.122,0.881,1.227,1.070,1.637,1.063,1.586,
+2.202,1.231,1.077,1.622,1.639,1.369,1.056,1.279,1.721,0.199,
+1.050,1.702,1.965,1.944,1.781,2.641,4.456,3.099,1.682,2.705,
+2.353,1.563,0.985,1.304,1.712,0.195,0.752,1.247,1.778,1.811,
+0.935,1.964,3.310,2.454,1.485,1.704,1.864,1.409,1.085,1.061,
+2.324,0.242,1.173,1.409,1.417,1.910,0.897,1.538,1.997,2.438,
+1.416,1.964,0.239,0.270,0.189,0.323,1.319,0.153,0.658,1.017,
+1.099,1.820,0.923,1.793,2.011,1.214,1.188,1.862,1.785,1.451,
+1.312,1.726,1.492,0.158,0.858,1.510,1.719,1.290,1.750,3.563,
+0.327,0.257,0.147,0.213,0.362,0.246,0.124,0.148,0.155,0.029,
+0.089,0.131,0.129,0.193,0.099,0.178,0.244,0.211,0.160,0.135,
+0.212,0.201,0.139,0.119,0.194,0.054,0.133,0.156,0.115,0.202,
+0.087,0.131,0.156,0.231,0.126,0.144,0.027,0.046,0.035,0.030,
+0.160,0.037,0.101,0.145,0.110,0.227,0.111,0.193,0.234,0.147,
+0.120,0.222,0.282,0.304,0.242,0.262,0.180,0.024,0.129,0.192,
+0.187,0.175,0.190,0.334,1.993,1.380,0.833,1.136,1.715,1.487,
+0.977,0.976,1.486,0.234,0.886,1.500,0.925,1.200,0.830,1.209,
+0.171,0.180,0.084,0.095,0.136,0.153,0.109,0.086,0.147,0.036,
+0.105,0.169,0.125,0.228,0.094,0.132,1.162,1.725,0.878,0.888,
+0.129,0.191,0.112,0.124,1.014,0.155,0.528,0.757,0.671,1.250,
+0.787,0.812,0.959,0.795,0.623,0.765,1.206,1.338,0.856,1.086,
+1.103,0.130,0.769,1.108,0.773,0.968,0.919,1.099,2.295,1.110,
+0.747,1.412,1.582,0.862,0.531,0.738,1.347,0.152,0.800,1.029,
+1.263,1.082,0.693,1.407,2.523,1.793,1.004,1.335,1.755,1.458,
+0.937,0.967,1.405,0.160,1.000,1.452,1.392,1.990,0.963,1.418,
+1.611,1.845,1.338,1.320,0.164,0.187,0.116,0.140,1.209,0.133,
+0.818,1.196,1.075,1.635,1.146,1.571,1.938,1.018,1.014,1.276,
+1.485,1.367,0.958,1.228,1.659,0.182,1.392,1.691,1.720,1.806,
+1.678,2.421,6.528,3.144,2.089,4.258,2.480,1.395,1.117,1.552,
+1.998,0.211,0.877,1.587,3.059,2.337,1.415,3.231,2.809,1.797,
+1.016,1.557,1.427,0.899,0.791,0.906,1.521,0.133,0.799,1.393,
+1.347,1.260,0.796,1.565,2.250,1.852,1.174,2.064,0.183,0.160,
+0.109,0.232,1.193,0.101,0.521,1.050,1.354,1.252,0.818,1.633,
+3.174,1.609,1.618,3.534,2.082,1.459,1.232,2.108,1.773,0.135,
+0.983,1.863,2.795,1.781,2.008,4.633,4.564,2.808,1.500,2.973,
+3.199,2.018,1.176,1.824,1.950,0.219,0.909,1.717,1.798,1.944,
+1.040,2.079,2.828,1.941,1.173,1.685,2.047,1.485,0.907,1.076,
+1.764,0.407,1.043,1.904,1.304,1.679,0.753,1.424,1.923,1.867,
+0.927,1.669,0.140,0.157,0.095,0.161,1.429,0.142,0.779,1.465,
+1.186,1.535,0.914,1.834,2.334,1.280,1.044,2.104,2.121,1.872,
+1.190,1.971,1.849,0.141,0.997,1.678,1.790,1.500,1.644,2.834,
+2.511,1.508,1.123,1.737,2.077,1.382,1.089,1.422,1.862,0.231,
+1.279,2.485,1.558,1.466,1.142,1.945,0.209,0.160,0.085,0.173,
+0.143,0.149,0.099,0.129,0.150,0.037,0.177,1.017,0.145,0.188,
+0.107,0.259,1.409,1.640,0.936,1.312,0.128,0.114,0.094,0.166,
+1.291,0.133,0.708,1.206,1.069,1.354,0.936,1.380,1.580,1.069,
+1.015,1.355,1.872,1.377,1.369,1.784,1.799,0.172,1.040,1.970,
+1.392,1.335,1.297,2.031,4.033,1.778,1.308,2.403,2.174,1.189,
+1.015,1.241,1.974,0.178,1.018,1.634,2.434,1.716,1.417,3.121,
+2.266,1.489,0.899,1.400,1.513,1.124,0.828,1.115,1.359,0.113,
+0.953,2.503,1.465,1.529,1.076,2.071,2.379,2.407,1.462,2.042,
+0.204,0.190,0.103,0.173,1.928,0.144,1.129,1.786,2.130,2.256,
+1.608,2.423,3.375,1.863,1.542,3.042,2.506,2.033,1.435,2.211,
+3.015,0.176,1.918,3.150,4.051,2.688,2.810,4.947,8.818,5.338,
+3.374,5.701,7.104,3.900,2.435,2.734,3.827,0.425,1.662,2.558,
+4.341,3.969,2.013,3.476,4.709,3.999,2.134,2.440,3.755,2.920,
+1.904,1.785,2.715,0.285,1.743,1.912,1.791,2.140,1.428,2.203,
+2.456,2.371,1.589,2.041,0.269,0.233,0.187,0.277,1.441,0.174,
+1.113,1.079,1.277,1.749,1.159,1.680,3.109,1.678,1.355,2.489,
+2.915,2.087,1.380,2.059,1.838,0.257,1.096,1.562,2.016,1.630,
+1.683,2.814,7.640,4.448,1.940,3.121,14.2,3.955,2.058,2.065,
+3.222,0.385,1.413,1.888,2.066,2.554,1.212,2.277,3.866,3.291,
+1.332,1.634,3.363,2.091,1.428,1.454,2.170,0.305,1.538,1.779,
+1.279,1.789,1.030,1.806,1.955,2.204,1.063,1.329,0.343,0.229,
+0.180,0.189,1.530,0.228,1.054,1.147,1.067,1.848,1.172,1.501,
+1.613,1.364,0.614,1.046,2.034,1.637,0.833,1.181,1.231,0.134,
+0.789,1.094,1.139,1.177,1.056,1.797,3.147,2.089,1.121,1.648,
+4.673,3.574,1.552,1.734,2.535,0.358,0.971,1.286,1.489,1.620,
+1.002,1.863,0.276,0.443,0.141,0.211,0.476,1.189,0.232,0.271,
+0.227,0.078,0.175,0.230,0.172,0.337,0.157,0.240,1.394,1.647,
+1.068,1.182,0.209,0.216,0.118,0.182,1.312,0.178,0.915,1.193,
+0.838,1.336,0.917,1.182,1.163,0.970,0.683,1.122,1.951,1.877,
+1.052,1.515,1.360,0.179,1.052,1.308,1.152,1.368,1.144,1.721,
+3.090,1.640,1.075,2.154,1.985,1.440,0.762,1.028,1.675,0.209,
+0.717,1.163,1.664,1.275,0.907,2.120,2.803,2.661,1.319,1.969,
+2.642,3.451,1.320,1.492,1.576,0.207,1.125,1.584,1.238,1.696,
+1.043,1.778,1.355,1.335,0.973,1.349,0.198,0.142,0.134,0.165,
+1.047,0.130,0.664,1.109,0.922,1.371,0.839,1.404,2.072,1.220,
+0.890,1.782,1.445,1.271,0.946,1.289,1.513,0.149,0.988,1.950,
+2.095,1.826,1.716,3.145,5.238,3.642,2.142,3.154,4.224,3.252,
+1.890,2.023,1.820,0.254,0.857,1.328,1.665,1.808,1.051,1.841,
+3.340,3.283,1.579,1.690,3.283,2.580,1.733,1.515,1.589,0.253,
+1.203,1.470,0.903,1.354,0.909,1.248,1.465,1.945,1.242,1.375,
+0.195,0.262,0.182,0.207,0.883,0.134,0.742,0.793,0.636,1.175,
+0.798,1.147,1.336,0.827,0.699,1.230,1.608,1.574,0.980,1.299,
+1.116,0.172,0.652,0.870,1.010,0.938,0.882,1.659,3.478,3.030,
+1.243,1.614,3.839,3.171,1.445,1.345,1.511,0.225,0.753,0.988,
+0.878,1.325,0.594,1.021,2.258,2.228,1.002,1.003,1.321,0.536,
+0.901,0.796,1.339,0.267,1.017,1.318,0.591,1.090,0.682,0.798,
+1.308,2.081,0.930,1.100,0.211,0.313,0.210,0.173,1.067,0.207,
+0.752,0.901,0.583,1.449,0.851,1.059,0.956,0.931,0.472,0.697,
+1.341,1.635,0.809,0.950,0.914,0.123,0.695,0.960,0.653,0.841,
+0.634,1.124,2.207,1.691,0.868,1.212,3.137,2.897,1.753,1.481,
+1.495,0.270,0.807,1.038,0.934,1.285,0.896,1.327,0.184,0.308,
+0.120,0.152,0.349,0.537,0.288,0.182,0.172,0.100,0.220,0.224,
+0.092,0.298,0.135,0.146,1.637,2.222,1.263,1.218,0.410,0.417,
+0.241,0.207,1.277,0.222,0.984,1.084,0.722,1.597,1.254,1.137,
+1.070,0.794,0.686,0.810,2.610,2.559,1.821,1.541,1.318,0.166,
+0.984,1.226,0.957,1.052,1.163,1.474,1.807,1.137,0.731,1.154,
+1.505,1.169,0.645,0.719,0.937,0.098,0.459,0.628,0.852,0.772,
+0.525,1.021,1.789,1.851,1.101,1.334,1.799,2.260,1.220,1.159,
+0.885,0.145,0.802,1.016,0.590,1.165,0.702,1.085,1.176,1.518,
+0.964,1.037,0.149,0.175,0.120,0.114,0.759,0.091,0.660,0.875,
+0.596,1.031,0.774,1.054,1.624,0.868,0.702,0.965,1.243,1.264,
+1.648,1.074,0.950,0.101,0.733,1.166,1.526,1.190,1.195,1.850,
+2.913,2.200,1.264,1.771,3.569,1.701,1.024,1.219,1.273,0.168,
+0.655,0.990,1.196,1.336,0.763,1.348,2.601,2.645,1.061,1.357,
+2.230,2.120,1.257,1.313,1.765,0.319,1.495,1.551,0.954,1.807,
+0.818,1.367,1.142,1.953,0.946,1.149,0.182,0.239,0.160,0.250,
+0.957,0.158,0.662,0.953,0.634,1.314,0.662,1.136,1.080,0.763,
+0.529,1.008,1.170,1.263,0.795,1.152,1.094,0.142,0.764,1.175,
+1.003,0.854,0.972,1.892,0.446,0.191,0.092,0.126,1.238,0.340,
+0.228,0.176,0.149,0.034,0.085,0.116,0.113,0.143,0.082,0.124,
+0.163,0.215,0.092,0.095,0.269,0.294,0.173,0.154,0.168,0.072,
+0.177,0.170,0.080,0.165,0.082,0.099,0.096,0.214,0.110,0.096,
+0.048,0.086,0.074,0.034,0.130,0.055,0.130,0.156,0.078,0.215,
+0.131,0.147,0.101,0.097,0.057,0.100,0.189,0.251,0.146,0.182,
+0.113,0.025,0.110,0.146,0.091,0.106,0.114,0.179,2.041,1.631,
+0.743,0.925,2.051,2.261,1.321,1.155,1.536,0.300,1.039,1.183,
+0.790,1.155,0.848,1.104,0.146,0.293,0.104,0.113,0.181,0.378,
+0.232,0.135,0.170,0.083,0.200,0.182,0.094,0.237,0.124,0.124,
+0.991,2.107,1.048,0.960,0.163,0.290,0.203,0.181,1.221,0.273,
+0.755,1.027,0.602,1.535,1.101,1.095,0.769,0.792,0.522,0.675,
+1.369,2.007,1.125,1.234,1.285,0.243,1.109,1.206,0.719,1.089,
+1.063,1.264,1.636,1.020,0.642,0.990,1.219,0.869,0.513,0.669,
+0.961,0.127,0.600,0.816,0.902,0.887,0.567,1.163,1.907,2.107,
+0.917,1.193,1.945,2.433,1.247,1.268,1.424,0.251,1.363,1.539,
+1.027,1.752,0.999,1.325,1.179,1.784,1.000,1.084,0.145,0.204,
+0.128,0.137,1.167,0.188,1.003,1.256,0.822,1.666,1.101,1.455,
+1.012,0.833,0.636,0.952,1.055,1.196,0.939,1.082,1.299,0.158,
+1.248,1.578,1.256,1.432,1.346,1.815,2.706,1.431,1.083,1.930,
+1.798,0.947,0.683,1.139,1.123,0.118,0.495,0.994,1.286,1.023,
+0.625,1.493,1.965,1.222,0.648,1.132,1.121,0.906,0.599,0.825,
+0.880,0.090,0.569,1.168,0.702,0.742,0.490,0.975,0.993,1.107,
+0.543,0.961,0.086,0.088,0.051,0.128,0.540,0.056,0.327,0.612,
+0.538,0.690,0.413,0.828,1.312,0.720,0.583,1.287,0.923,0.747,
+0.519,1.072,0.814,0.078,0.442,0.954,1.019,0.752,0.777,1.906,
+2.795,1.737,0.993,1.476,3.808,1.749,1.122,1.306,1.367,0.167,
+0.738,1.133,1.044,1.211,0.656,1.194,1.723,1.516,0.697,0.992,
+1.682,1.543,0.963,1.035,1.193,0.169,0.843,1.240,0.835,1.103,
+0.637,1.014,0.962,1.604,0.541,0.765,0.108,0.152,0.080,0.111,
+0.779,0.124,0.567,0.906,0.659,1.241,0.608,1.035,0.940,0.739,
+0.524,0.870,1.230,1.313,0.719,1.294,0.859,0.105,0.630,0.996,
+0.799,0.878,0.780,1.636,1.677,1.218,0.714,1.000,1.697,1.441,
+0.964,1.059,1.411,0.186,0.790,1.095,0.888,0.974,0.823,1.237,
+0.110,0.139,0.061,0.101,0.119,0.215,0.111,0.101,0.099,0.025,
+0.092,0.157,0.076,0.142,0.082,0.121,0.934,1.351,0.710,0.953,
+0.106,0.135,0.085,0.140,1.031,0.147,0.716,1.009,0.672,1.199,
+0.859,1.113,0.871,0.803,0.573,0.823,1.280,1.270,0.825,1.236,
+1.713,0.427,0.893,1.310,0.929,1.331,0.974,1.434,2.125,1.193,
+0.813,1.370,1.183,0.932,0.575,0.740,1.059,0.119,0.581,0.904,
+1.026,0.841,0.664,1.525,1.700,1.336,0.660,1.033,1.332,1.342,
+0.771,0.923,0.928,0.094,0.668,1.074,0.935,1.070,0.735,1.418,
+1.452,1.471,0.877,1.277,0.208,0.115,0.081,0.120,1.193,0.117,
+0.881,1.239,1.080,1.544,1.073,1.714,1.922,1.170,0.914,1.817,
+1.787,1.485,1.057,1.446,1.942,0.225,1.271,2.153,2.291,1.874,
+1.754,2.822,4.498,2.370,1.888,3.107,3.104,1.796,1.361,1.785,
+2.273,0.241,0.960,1.389,2.748,2.224,1.269,2.125,2.376,1.702,
+0.993,1.426,1.993,1.100,1.010,1.502,1.365,0.136,0.922,0.972,
+1.031,1.038,0.799,1.213,1.452,1.378,0.886,1.400,0.170,0.140,
+0.107,0.214,0.953,0.105,0.657,0.910,0.829,1.121,0.739,1.147,
+2.024,1.015,0.836,1.656,1.711,1.332,0.894,1.398,1.049,0.107,
+0.688,1.054,1.315,0.911,1.124,2.133,4.628,2.620,1.341,2.313,
+3.799,2.322,1.716,3.021,2.777,0.299,0.975,1.371,1.635,1.724,
+0.979,1.624,2.544,2.181,0.958,1.577,1.989,1.051,1.212,3.014,
+1.787,0.243,0.956,1.277,0.938,1.184,0.785,1.145,1.744,1.883,
+1.029,1.525,0.224,0.202,0.160,0.302,1.339,0.176,0.914,1.234,
+0.831,1.431,0.894,1.222,1.525,0.939,0.600,1.177,1.775,1.497,
+0.908,1.641,1.060,0.114,0.693,1.370,0.894,0.923,0.867,1.829,
+3.019,1.393,1.009,1.486,3.209,1.919,1.491,1.642,3.215,0.357,
+0.972,1.159,1.856,1.752,1.038,1.726,0.274,0.246,0.113,0.187,
+0.303,0.294,0.192,0.286,0.273,0.055,0.163,0.172,0.218,0.354,
+0.161,0.234,1.373,1.400,0.963,1.201,0.190,0.159,0.189,0.242,
+1.032,0.156,0.650,0.766,0.655,1.220,0.834,0.875,1.107,0.703,
+0.548,0.997,1.832,1.613,1.195,1.795,1.237,0.154,0.758,1.003,
+1.082,1.093,1.111,1.595,2.668,1.088,0.797,1.586,1.581,0.833,
+0.676,0.940,1.861,0.188,0.766,0.972,1.711,1.164,0.805,1.741,
+2.122,1.576,0.839,1.297,1.739,1.136,0.891,1.239,1.455,0.146,
+0.812,1.016,1.189,1.141,0.766,1.314,1.352,1.265,0.993,1.322,
+0.141,0.116,0.114,0.180,1.088,0.109,0.653,0.980,0.994,1.285,
+0.988,1.323,1.887,0.955,0.908,1.752,1.311,1.051,0.991,1.440,
+1.649,0.144,1.033,1.700,2.593,1.973,2.215,3.889,0.284,0.214,
+0.118,0.202,0.263,0.208,0.142,0.261,0.147,0.026,0.073,0.098,
+0.165,0.212,0.097,0.156,0.249,0.229,0.142,0.209,0.283,0.212,
+0.189,0.351,0.147,0.033,0.150,0.127,0.092,0.138,0.108,0.138,
+0.143,0.188,0.108,0.160,0.040,0.036,0.027,0.036,0.109,0.019,
+0.084,0.106,0.072,0.124,0.084,0.125,0.145,0.094,0.072,0.132,
+0.203,0.222,0.131,0.172,0.131,0.017,0.087,0.115,0.113,0.097,
+0.111,0.191,0.299,0.262,0.110,0.255,0.329,0.383,0.242,1.078,
+0.178,0.047,0.078,0.134,0.107,0.187,0.108,0.177,0.270,0.347,
+0.130,0.243,0.308,0.286,0.292,1.023,0.250,0.092,0.139,0.192,
+0.094,0.225,0.111,0.210,0.170,0.252,0.138,0.166,0.042,0.068,
+0.053,0.073,0.187,0.059,0.134,0.164,0.078,0.203,0.125,0.148,
+0.143,0.108,0.065,0.118,0.216,0.253,0.159,0.234,0.130,0.022,
+0.099,0.153,0.089,0.113,0.097,0.188,0.195,0.131,0.074,0.124,
+0.265,0.238,0.198,0.190,0.199,0.047,0.105,0.098,0.107,0.153,
+0.099,0.125,0.025,0.042,0.020,0.024,0.051,0.074,0.065,0.068,
+0.045,0.034,0.048,0.038,0.015,0.048,0.025,0.025,0.151,0.214,
+0.142,0.167,0.043,0.065,0.059,0.049,0.175,0.069,0.153,0.143,
+0.076,0.214,0.139,0.127,0.117,0.085,0.068,0.108,0.245,0.282,
+0.228,0.262,0.159,0.030,0.159,0.149,0.101,0.124,0.140,0.172,
+0.224,0.160,0.095,0.148,0.181,0.124,0.083,0.134,0.145,0.019,
+0.069,0.090,0.142,0.130,0.094,0.188,0.294,0.460,0.172,0.209,
+0.293,0.277,0.222,0.326,0.232,0.045,0.184,0.200,0.153,0.263,
+0.150,0.214,0.150,0.185,0.130,0.164,0.023,0.033,0.026,0.032,
+0.142,0.026,0.122,0.145,0.117,0.174,0.146,0.173,0.209,0.126,
+0.100,0.165,0.162,0.164,0.147,0.168,0.181,0.025,0.141,0.190,
+0.229,0.205,0.226,0.352,1.827,1.258,0.806,1.390,1.371,1.228,
+0.658,0.872,0.953,0.150,0.761,0.707,1.149,1.123,0.503,0.827,
+1.461,1.322,0.777,0.865,1.365,1.050,0.969,0.858,1.221,0.222,
+3.074,1.186,0.648,1.041,0.774,0.836,1.051,1.674,0.896,1.249,
+0.214,0.214,0.163,0.261,0.933,0.138,0.754,0.869,0.555,1.032,
+0.571,0.824,0.830,0.653,0.450,0.992,0.965,0.930,0.657,1.061,
+0.860,0.138,0.965,0.967,0.787,0.652,0.732,1.360,0.160,0.154,
+0.074,0.107,0.224,0.333,0.097,0.188,0.096,0.026,0.079,0.082,
+0.069,0.098,0.051,0.078,0.125,0.149,0.058,0.078,0.149,0.152,
+0.135,0.169,0.100,0.033,0.178,0.110,0.056,0.086,0.060,0.068,
+0.088,0.167,0.099,0.103,0.022,0.047,0.042,0.032,0.093,0.027,
+0.091,0.106,0.069,0.111,0.069,0.091,0.112,0.082,0.051,0.119,
+0.156,0.213,0.127,0.212,0.095,0.019,0.099,0.142,0.075,0.078,
+0.078,0.149,1.345,0.960,0.570,0.627,1.629,1.601,1.058,0.958,
+1.114,0.212,0.809,0.785,0.588,0.743,0.734,0.766,0.131,0.164,
+0.068,0.076,0.160,0.236,0.161,0.118,0.131,0.051,0.186,0.113,
+0.070,0.144,0.109,0.096,1.051,1.460,0.923,1.464,0.171,0.212,
+0.194,0.346,1.032,0.212,0.414,0.601,0.469,0.986,0.706,0.725,
+0.697,0.521,0.444,0.925,1.283,1.297,1.093,2.820,1.024,0.182,
+0.867,0.993,0.572,0.707,0.791,0.992,1.380,0.700,0.483,0.715,
+0.903,0.680,0.409,0.527,0.741,0.095,0.442,0.727,0.606,0.564,
+0.379,0.698,1.468,1.179,0.568,0.675,1.322,1.397,0.860,0.805,
+0.982,0.141,0.980,0.944,0.662,0.982,0.726,0.743,1.111,1.418,
+0.804,1.209,0.126,0.177,0.122,0.235,0.871,0.125,0.738,0.864,
+0.635,1.069,0.804,0.897,0.862,0.594,0.463,0.795,0.964,0.951,
+0.677,1.302,1.021,0.137,0.889,0.945,0.943,1.073,0.967,1.253,
+1.921,1.082,0.734,1.380,1.275,0.738,0.486,0.716,0.993,0.097,
+0.380,0.551,1.574,0.812,0.442,1.003,1.401,0.918,0.519,0.792,
+0.875,0.542,0.412,0.596,0.621,0.067,0.652,0.571,0.508,0.515,
+0.387,0.600,0.959,1.338,0.526,0.949,0.091,0.096,0.053,0.143,
+0.547,0.060,0.310,0.563,0.571,0.673,0.380,0.746,1.162,0.717,
+0.511,1.110,0.890,0.680,0.488,0.878,0.709,0.067,0.473,0.772,
+1.020,0.655,0.721,1.644,2.401,1.661,0.850,1.614,1.929,1.932,
+0.920,1.372,1.168,0.137,0.641,0.969,0.908,0.981,0.552,1.101,
+1.741,1.748,0.695,1.212,1.529,1.193,1.059,1.517,1.066,0.138,
+0.888,1.144,0.650,0.824,0.732,0.883,1.107,1.536,0.714,1.086,
+0.116,0.163,0.123,0.174,0.861,0.115,0.664,1.186,0.688,1.127,
+0.653,1.171,1.199,0.811,0.576,1.051,1.377,1.298,0.845,1.336,
+0.991,0.096,0.739,1.391,0.872,0.825,0.778,1.591,1.709,1.109,
+0.671,0.956,1.731,1.255,1.022,1.244,1.155,0.162,0.679,0.978,
+0.821,0.813,0.739,1.124,0.153,0.145,0.072,0.109,0.154,0.213,
+0.127,0.182,0.105,0.027,0.111,0.164,0.082,0.132,0.095,0.119,
+1.172,1.414,0.948,1.953,0.144,0.152,0.152,0.754,1.054,0.164,
+0.570,0.906,0.680,1.188,0.821,1.073,0.986,0.733,0.578,0.909,
+1.434,1.247,1.104,2.376,1.102,0.128,0.866,1.124,0.880,0.969,
+1.021,1.356,2.188,0.917,0.695,1.180,1.120,0.707,0.538,0.713,
+1.016,0.133,0.504,0.946,0.764,0.615,0.507,1.332,1.668,1.135,
+0.618,0.914,1.360,1.168,0.790,0.914,0.931,0.091,0.727,1.125,
+0.846,0.842,0.673,1.191,1.518,1.579,0.946,1.546,0.137,0.151,
+0.105,0.232,1.213,0.131,0.883,1.320,1.098,1.482,1.180,1.536,
+1.947,0.977,0.803,1.650,1.435,1.446,1.018,1.524,1.499,0.124,
+1.193,1.807,1.867,1.444,1.665,2.735,4.612,2.576,2.024,4.248,
+2.800,1.519,1.220,1.698,2.438,0.220,0.921,1.651,3.617,2.673,
+1.435,2.948,2.415,1.377,0.909,1.335,1.768,0.996,0.748,0.939,
+1.366,0.102,0.699,0.879,1.179,0.990,0.618,1.097,1.568,1.269,
+0.941,1.701,0.163,0.122,0.101,0.206,1.019,0.085,0.513,0.895,
+1.137,1.205,0.746,1.468,2.964,1.374,1.263,2.514,1.945,1.295,
+1.101,1.787,1.571,0.141,0.885,1.449,2.281,1.560,1.636,3.788,
+2.736,1.427,0.782,1.480,1.940,0.989,0.687,1.045,1.228,0.117,
+0.504,0.772,2.597,1.338,0.610,1.236,1.581,1.067,0.556,0.874,
+0.993,0.576,0.509,0.940,0.857,0.073,0.420,0.633,0.806,0.622,
+0.420,0.702,1.090,0.881,0.620,1.008,0.093,0.076,0.095,0.111,
+0.725,0.062,0.359,0.579,0.722,0.831,0.535,0.965,1.292,0.661,
+0.533,1.005,1.029,0.733,0.514,0.837,0.723,0.055,0.404,0.776,
+0.808,0.780,0.641,1.512,2.556,1.118,0.846,1.523,2.235,1.154,
+0.885,1.258,1.833,0.181,0.520,0.860,1.887,1.391,0.762,1.756,
+0.212,0.143,0.088,0.169,0.216,0.164,0.100,0.161,0.160,0.020,
+0.072,0.115,0.231,0.237,0.112,0.236,1.071,0.929,0.907,1.215,
+0.109,0.079,0.075,0.133,0.845,0.082,0.375,0.630,0.739,0.936,
+0.605,0.864,1.114,0.704,0.712,1.221,1.337,0.949,0.782,1.293,
+1.125,0.115,0.620,0.962,1.147,1.130,0.948,1.771,3.157,1.149,
+0.944,2.146,1.808,0.767,0.614,0.901,1.827,0.146,0.725,1.026,
+3.033,1.611,1.051,2.595,1.831,1.128,0.805,1.214,1.351,0.867,
+0.634,0.853,1.246,0.104,0.637,0.937,1.427,1.297,0.837,1.553,
+1.348,1.006,0.906,1.317,0.115,0.081,0.073,0.114,1.074,0.077,
+0.567,0.885,1.161,1.305,0.940,1.401,2.444,1.208,1.108,2.210,
+1.453,1.090,0.906,1.380,1.834,0.124,1.151,1.883,3.268,2.576,
+2.436,5.081,4.046,2.277,1.465,2.905,2.935,1.753,1.286,1.721,
+1.703,0.202,0.767,1.207,2.101,2.148,1.045,1.941,3.164,1.823,
+1.189,2.025,2.947,1.394,1.233,1.669,1.314,0.159,0.840,1.105,
+1.147,1.163,0.809,1.278,1.686,1.767,1.076,1.816,0.204,0.208,
+0.129,0.215,0.994,0.127,0.647,1.003,0.901,1.280,0.860,1.484,
+1.811,1.216,0.868,1.695,1.886,1.595,1.014,1.472,1.300,0.122,
+0.805,1.240,1.364,1.059,1.159,2.337,3.092,2.015,0.937,1.834,
+2.551,1.917,1.180,2.617,1.272,0.178,0.501,0.877,1.311,1.574,
+0.718,1.500,2.234,1.944,0.920,1.420,2.036,1.374,1.170,2.307,
+1.283,0.203,0.727,1.026,0.870,1.139,0.700,1.056,1.543,1.775,
+1.003,1.393,0.196,0.248,0.236,0.222,1.260,0.208,0.718,1.012,
+0.836,1.483,0.894,1.422,1.329,0.950,0.603,1.213,1.534,1.464,
+0.972,1.191,0.970,0.095,0.582,0.967,0.884,0.973,0.778,1.544,
+2.121,1.054,0.656,1.112,2.022,1.303,1.027,1.215,1.284,0.183,
+0.539,0.720,1.170,1.075,0.730,1.351,0.134,0.130,0.067,0.122,
+0.163,0.164,0.127,0.174,0.117,0.034,0.095,0.113,0.118,0.178,
+0.100,0.131,1.371,1.634,0.987,1.330,0.150,0.170,0.128,0.180,
+1.229,0.174,0.695,0.951,0.752,1.292,0.870,1.150,1.236,0.790,
+0.700,1.141,1.663,1.823,1.232,1.526,1.626,0.133,0.877,1.190,
+1.132,1.011,1.089,1.765,2.037,1.037,0.718,1.446,1.275,0.834,
+0.616,0.825,1.169,0.119,0.508,0.764,1.413,1.053,0.691,1.626,
+1.871,1.638,0.962,1.448,1.608,1.340,1.040,1.359,1.233,0.153,
+0.781,1.121,1.216,1.593,0.890,1.523,1.342,1.396,0.952,1.336,
+0.111,0.116,0.084,0.116,1.119,0.103,0.726,1.067,0.999,1.283,
+0.929,1.410,1.831,1.017,0.891,1.437,1.362,1.320,0.872,1.035,
+1.619,0.117,0.933,1.510,1.956,1.660,1.591,2.783,1.804,1.377,
+0.820,1.557,1.491,1.346,0.614,0.970,1.079,0.138,0.490,0.799,
+1.240,1.188,0.509,1.121,1.552,1.407,0.630,1.158,1.303,0.935,
+0.611,0.685,1.001,0.143,0.928,0.877,0.786,1.186,0.549,1.048,
+1.228,1.401,1.199,1.374,0.279,0.162,0.357,0.264,0.841,0.108,
+0.547,1.093,0.646,1.162,0.692,1.570,1.120,0.764,0.664,1.269,
+1.193,0.967,1.058,1.345,1.087,0.122,0.728,1.221,1.121,0.948,
+1.033,2.117,0.158,0.118,0.071,0.108,0.432,0.190,0.101,0.109,
+0.095,0.020,0.058,0.075,0.098,0.105,0.073,0.111,0.095,0.109,
+0.044,0.082,0.127,0.132,0.092,0.090,0.083,0.018,0.085,0.080,
+0.057,0.085,0.044,0.080,0.089,0.130,0.311,0.125,0.029,0.030,
+0.252,0.042,0.102,0.021,0.087,0.118,0.070,0.128,0.101,0.247,
+0.105,0.075,0.089,0.122,0.152,0.156,0.378,0.186,0.095,0.013,
+0.072,0.109,0.090,0.097,0.096,0.193,1.343,0.915,0.496,0.695,
+1.200,1.072,0.714,0.792,0.898,0.145,0.633,0.779,0.620,0.766,
+0.668,0.930,0.098,0.114,0.050,0.084,0.094,0.110,0.075,0.067,
+0.083,0.025,0.104,0.096,0.074,0.126,0.074,0.086,0.839,1.143,
+0.790,1.013,0.099,0.129,0.119,0.145,0.818,0.121,0.406,0.603,
+0.527,0.955,0.716,0.892,0.756,0.569,0.458,0.728,1.091,1.070,
+0.805,1.276,0.891,0.107,0.800,0.885,0.763,0.858,0.889,1.217,
+1.387,0.742,0.510,0.936,0.941,0.643,0.446,0.623,0.762,0.084,
+0.522,0.747,0.857,0.700,0.513,1.053,1.525,1.216,0.641,1.291,
+1.178,1.228,0.705,0.877,0.954,0.106,0.785,0.998,0.888,1.210,
+0.781,1.124,1.205,1.317,0.857,1.388,0.115,0.165,0.126,0.213,
+1.003,0.100,0.637,0.895,1.020,1.267,0.951,1.338,1.158,0.819,
+0.644,1.086,0.981,0.998,0.729,1.125,1.193,0.112,0.967,1.193,
+1.336,1.322,1.515,1.955,3.817,1.639,1.103,2.685,1.525,0.944,
+0.637,1.241,1.432,0.120,0.530,0.999,1.810,1.330,0.787,1.912,
+1.742,1.111,0.591,1.123,1.083,0.752,0.474,0.696,0.913,0.084,
+0.524,0.767,0.774,0.904,0.448,0.986,1.368,1.998,0.683,1.390,
+0.107,0.118,0.075,0.155,0.707,0.072,0.398,0.765,0.756,0.880,
+0.555,1.357,2.112,1.237,0.887,2.119,1.294,0.909,0.741,1.430,
+1.119,0.089,0.757,1.458,1.808,1.182,1.295,3.690,2.017,1.197,
+0.670,1.356,1.484,1.013,0.585,0.880,0.850,0.085,0.385,0.730,
+0.897,0.807,0.461,1.243,1.422,1.071,0.521,0.895,0.971,0.793,
+0.526,0.745,0.843,0.076,0.519,0.799,0.622,0.716,0.447,0.900,
+1.065,1.241,0.760,1.026,0.079,0.097,0.234,0.109,0.745,0.084,
+0.473,0.878,0.734,1.097,0.612,1.635,1.194,0.751,0.595,1.138,
+1.137,0.937,0.899,1.134,0.908,0.066,0.590,1.055,1.038,0.904,
+0.865,2.066,2.178,1.390,0.891,1.482,1.762,1.298,0.877,1.341,
+1.355,0.153,0.680,1.070,1.302,1.116,1.050,1.756,0.141,0.127,
+0.064,0.113,0.118,0.140,0.075,0.118,0.090,0.015,0.073,0.111,
+0.106,0.148,0.080,0.151,1.312,1.433,0.985,1.470,0.119,0.114,
+0.084,0.197,1.161,0.123,0.647,1.047,0.992,1.365,1.058,1.553,
+1.478,1.109,1.008,1.270,1.920,1.667,1.167,1.763,1.668,0.145,
+1.213,1.588,1.399,1.239,1.431,2.247,3.634,1.587,1.112,2.229,
+1.687,1.146,0.815,1.159,1.536,0.130,0.788,1.369,2.123,1.512,
+1.261,3.297,2.433,1.583,0.889,1.447,1.906,2.164,0.955,1.288,
+1.406,0.106,0.925,1.411,1.442,1.493,1.062,2.129,2.260,2.148,
+1.312,2.219,0.132,0.147,0.087,0.166,1.708,0.136,1.188,1.915,
+1.892,2.191,1.939,2.925,3.910,1.901,1.531,3.358,2.335,2.074,
+1.392,2.333,2.653,0.165,1.882,3.615,4.139,2.596,2.922,5.614,
+9.250,4.223,2.858,4.783,5.066,3.283,2.300,2.583,4.202,0.468,
+1.670,2.625,4.916,4.090,2.146,3.428,5.968,3.765,1.904,2.355,
+3.941,2.744,1.806,1.618,2.669,0.280,1.452,1.758,1.832,2.050,
+1.275,1.916,3.473,3.197,1.803,2.419,0.353,0.369,0.224,0.366,
+2.146,0.297,1.132,1.422,1.935,3.193,1.381,2.213,4.547,2.235,
+1.982,3.292,3.495,2.660,1.933,2.692,2.354,0.259,1.281,1.892,
+2.869,2.118,1.922,3.025,6.749,4.095,1.813,2.848,4.386,3.506,
+1.796,1.894,2.698,0.358,1.115,1.655,1.919,2.276,1.128,1.819,
+6.007,3.943,1.442,1.747,3.422,2.601,1.540,1.349,2.357,0.356,
+1.208,1.634,1.296,1.843,0.967,1.213,2.314,2.898,1.368,1.824,
+0.252,0.376,0.210,0.233,2.246,0.351,1.372,1.579,1.260,2.484,
+1.325,1.585,1.927,1.481,0.849,1.334,2.289,2.128,1.107,1.404,
+1.957,0.214,1.002,1.314,1.482,1.443,1.268,1.905,2.771,1.561,
+0.908,1.406,2.458,1.586,1.225,1.165,1.892,0.270,0.816,1.259,
+1.394,1.432,0.922,1.584,0.263,0.217,0.104,0.153,0.220,0.229,
+0.134,0.140,0.221,0.053,0.137,0.209,0.165,0.294,0.138,0.205,
+1.295,1.455,0.873,0.939,0.155,0.183,0.132,0.143,1.144,0.175,
+0.675,0.850,0.661,1.168,0.833,0.767,1.156,0.926,0.633,0.973,
+1.765,1.528,1.075,1.262,1.527,0.172,0.797,1.233,1.239,1.288,
+1.046,1.456,3.754,1.640,0.975,1.997,1.768,1.021,0.862,1.002,
+1.763,0.169,0.656,1.080,2.035,1.454,0.967,2.233,3.033,2.042,
+1.037,1.414,2.029,1.574,1.011,1.171,1.765,0.184,0.956,1.496,
+1.447,1.726,0.999,1.633,1.492,1.391,1.044,1.272,0.154,0.151,
+0.176,0.150,1.310,0.137,0.756,1.116,1.070,1.529,1.017,1.319,
+2.094,1.265,0.971,1.736,1.433,1.276,1.012,1.224,2.046,0.246,
+1.101,1.797,2.384,2.192,1.612,2.933,5.476,3.832,1.979,3.261,
+2.964,2.870,1.696,1.460,1.739,0.281,0.885,1.445,1.756,2.416,
+2.223,2.250,3.783,3.972,1.506,1.701,3.038,2.631,1.655,1.376,
+1.662,0.283,1.086,1.392,1.032,1.607,0.986,1.314,1.779,2.667,
+1.280,1.498,0.244,0.378,0.216,0.234,1.228,0.213,1.018,1.042,
+0.860,1.769,0.936,1.270,1.801,1.195,0.862,1.297,2.001,2.049,
+1.089,1.192,1.162,0.325,0.729,0.891,1.225,1.163,0.976,1.729,
+3.977,3.987,1.260,1.806,3.090,4.483,1.668,1.301,1.519,0.327,
+0.756,1.077,1.025,1.809,1.480,1.518,2.769,3.523,1.117,1.139,
+2.260,1.700,1.502,1.120,1.679,0.406,0.910,1.206,0.795,1.681,
+0.795,0.893,1.653,3.473,1.096,1.241,0.307,0.902,0.277,0.211,
+1.838,0.600,1.089,1.356,0.997,3.852,1.084,1.279,1.332,1.325,
+0.586,0.816,2.162,2.722,0.985,0.990,1.389,0.294,0.657,0.854,
+0.845,1.393,0.686,1.160,1.816,1.588,0.672,1.027,2.081,2.182,
+1.432,1.109,1.305,0.263,0.739,0.886,0.760,1.169,0.818,0.989,
+0.165,0.280,0.094,0.122,0.208,0.373,0.224,0.145,0.177,0.099,
+0.192,0.170,0.082,0.262,0.155,0.124,1.253,1.934,1.149,1.006,
+0.224,0.376,0.246,0.186,1.442,0.310,1.038,1.148,0.612,1.624,
+0.986,0.890,0.951,0.818,0.625,0.784,1.811,2.387,1.387,1.296,
+1.536,0.240,0.990,1.283,0.872,1.132,0.939,1.280,1.459,1.027,
+0.538,0.882,1.080,0.904,0.578,0.566,0.793,0.103,0.342,0.515,
+0.738,0.735,0.528,0.891,1.545,1.844,0.796,0.919,1.430,1.716,
+0.893,1.073,1.008,0.186,0.591,0.855,0.647,1.271,0.653,0.957,
+1.054,1.457,0.777,0.923,0.117,0.195,0.101,0.108,0.993,0.152,
+0.759,0.923,0.647,1.263,0.867,0.977,1.227,0.991,0.618,0.841,
+1.148,1.459,0.694,0.837,2.265,0.792,0.926,1.176,1.357,2.544,
+1.183,1.752,2.361,1.804,0.947,1.695,1.467,1.351,0.752,0.911,
+0.988,0.148,0.531,0.880,1.029,1.166,0.646,1.162,2.238,2.342,
+1.049,1.222,1.807,1.692,1.145,1.002,1.510,0.267,1.035,1.180,
+0.881,1.586,0.829,1.082,1.620,2.405,1.112,1.243,0.224,0.307,
+0.174,0.235,1.215,0.198,0.740,0.838,0.802,1.473,0.725,1.062,
+1.328,1.012,0.637,0.977,1.721,1.331,0.762,0.974,1.089,0.146,
+0.723,1.061,1.358,1.083,1.018,2.096,0.167,0.190,0.079,0.113,
+0.190,0.328,0.121,0.107,0.127,0.049,0.099,0.107,0.086,0.175,
+0.081,0.118,0.184,0.266,0.110,0.111,0.226,0.310,0.182,0.128,
+0.182,0.075,0.163,0.177,0.087,0.225,0.114,0.110,0.125,0.289,
+0.117,0.113,0.034,0.094,0.065,0.036,0.159,0.075,0.159,0.150,
+0.084,0.294,0.121,0.136,0.126,0.126,0.067,0.111,0.253,0.353,
+0.190,0.189,0.148,0.034,0.127,0.137,0.132,0.159,0.124,0.207,
+1.002,0.911,0.462,0.557,1.238,1.191,0.843,0.636,1.155,0.219,
+0.608,0.760,0.533,0.804,0.537,0.696,0.104,0.170,0.067,0.066,
+0.114,0.178,0.126,0.069,0.122,0.056,0.103,0.117,0.074,0.186,
+0.088,0.085,0.807,1.475,0.732,0.623,0.133,0.225,0.148,0.112,
+1.070,0.223,0.585,0.772,0.474,1.181,0.788,0.691,0.652,0.632,
+0.432,0.465,1.021,1.264,0.834,0.718,0.994,0.157,0.692,0.857,
+0.570,0.861,0.646,0.824,1.074,0.689,0.408,0.686,0.894,0.614,
+0.381,0.434,1.177,0.099,0.321,0.525,0.774,0.672,0.373,0.790,
+1.368,1.393,0.708,0.766,1.266,1.308,0.834,0.739,1.045,0.153,
+0.713,1.093,0.757,1.317,0.690,0.936,1.033,1.458,0.811,0.808,
+0.135,0.201,0.113,0.110,1.086,0.154,0.734,0.910,0.712,1.417,
+0.760,0.945,1.034,0.802,0.693,0.696,1.233,1.260,0.780,0.823,
+1.395,0.182,1.053,1.240,1.139,1.566,1.085,1.635,2.702,1.590,
+0.976,2.061,1.194,0.880,0.557,0.767,0.971,0.122,0.418,0.844,
+1.475,1.324,0.772,1.679,1.328,1.035,0.545,0.863,0.876,0.688,
+0.444,0.506,0.702,0.079,0.376,0.734,0.625,0.691,0.460,0.858,
+1.536,1.228,0.608,1.031,0.123,0.112,0.070,0.131,0.700,0.078,
+0.385,0.546,0.620,0.767,0.451,0.829,1.614,0.927,0.687,1.514,
+1.252,0.966,0.586,0.958,0.936,0.098,0.521,0.884,1.428,1.108,
+0.940,2.327,2.221,1.784,0.775,1.470,1.747,1.754,0.802,1.116,
+1.245,0.186,0.648,1.123,1.035,1.389,0.673,1.152,1.783,2.011,
+0.684,1.127,1.572,1.695,0.873,0.911,1.221,0.223,0.794,1.507,
+0.798,1.334,1.031,1.088,1.226,1.668,0.635,0.927,0.120,0.222,
+0.099,0.130,1.063,0.161,0.865,0.979,0.800,1.505,0.768,1.076,
+1.024,0.890,0.526,0.956,1.411,1.847,0.838,1.181,1.045,0.121,
+0.664,0.965,1.000,1.074,0.858,1.642,1.268,0.879,0.502,0.764,
+1.154,0.937,0.627,0.722,1.153,0.208,0.808,1.967,0.753,0.880,
+0.642,1.170,0.092,0.102,0.056,0.097,0.083,0.117,0.065,0.072,
+0.114,0.035,0.127,0.617,0.068,0.137,0.082,0.174,0.826,1.066,
+0.571,0.651,0.088,0.119,0.083,0.099,0.948,0.135,0.526,0.983,
+0.562,0.962,0.655,0.868,0.733,0.702,0.417,0.618,1.095,1.037,
+0.756,0.926,1.217,0.175,0.660,1.129,0.761,1.013,0.700,1.176,
+2.340,1.046,0.567,1.123,1.118,0.765,0.449,0.653,1.904,0.124,
+0.418,0.869,1.448,0.980,0.636,1.574,1.079,0.867,0.480,0.731,
+0.855,0.796,0.505,0.742,0.950,0.089,0.610,1.982,0.750,0.882,
+0.615,1.316,1.386,1.291,0.750,1.051,0.142,0.127,0.071,0.116,
+1.324,0.116,0.780,1.133,1.011,1.416,0.926,1.381,1.730,1.104,
+0.796,1.607,1.734,1.507,0.916,1.308,1.937,0.176,1.170,1.938,
+2.290,1.879,1.717,3.423,4.649,2.990,1.776,2.991,3.410,2.817,
+1.485,1.657,2.178,0.311,1.077,1.734,2.397,2.643,1.208,2.246,
+3.606,3.126,1.438,1.716,3.556,3.118,1.670,1.436,1.922,0.286,
+1.532,1.521,1.152,1.760,1.002,1.402,1.537,1.744,1.112,1.316,
+0.180,0.221,0.144,0.205,1.034,0.166,0.819,0.808,0.774,1.298,
+0.912,1.153,1.679,1.043,0.793,1.389,1.639,1.517,1.004,1.299,
+1.049,0.141,0.807,1.029,1.194,1.052,1.117,1.777,3.936,2.978,
+1.127,1.849,3.918,3.279,1.394,1.349,1.907,0.352,1.209,1.390,
+1.246,1.839,0.755,1.293,3.247,3.302,1.075,1.422,4.307,2.959,
+1.457,1.350,2.127,0.452,1.491,1.844,1.019,1.989,0.838,1.080,
+1.220,1.966,0.859,1.005,0.216,0.329,0.194,0.182,1.406,0.353,
+1.056,1.005,0.746,1.765,0.996,1.087,0.886,0.858,0.433,0.684,
+1.434,1.636,0.727,0.978,1.014,0.168,0.695,0.929,0.802,0.979,
+0.809,1.247,1.624,1.127,0.626,0.946,2.116,1.753,1.075,1.076,
+1.574,0.266,0.718,0.916,0.865,1.193,0.679,1.335,0.137,0.199,
+0.093,0.115,0.229,0.337,0.166,0.150,0.175,0.077,0.157,0.175,
+0.096,0.275,0.119,0.162,0.775,1.157,0.772,0.764,0.127,0.194,
+0.129,0.144,1.149,0.221,0.802,0.904,0.515,1.168,0.744,0.759,
+0.656,0.610,0.473,0.686,1.127,1.315,0.773,1.071,1.068,0.182,
+0.750,1.000,0.727,1.200,0.851,1.249,1.622,0.788,0.473,1.014,
+1.013,0.727,0.509,0.603,0.917,0.109,0.418,0.688,0.927,0.842,
+0.504,1.467,1.565,1.434,0.742,0.997,1.692,1.772,0.872,0.988,
+1.080,0.171,0.827,1.170,0.680,1.267,0.643,1.114,0.745,0.861,
+0.559,0.712,0.084,0.110,0.081,0.095,0.917,0.133,0.596,0.931,
+0.635,0.996,0.605,0.863,0.995,0.737,0.649,0.974,0.778,0.892,
+0.601,0.784,1.013,0.139,0.696,1.197,1.107,1.271,1.042,1.911,
+3.555,2.294,1.211,1.890,2.394,2.638,1.385,1.193,1.349,0.195,
+0.594,0.887,0.963,1.294,0.684,1.104,2.306,2.469,0.949,1.100,
+2.336,3.195,1.364,1.164,1.192,0.269,0.926,1.001,0.576,1.226,
+0.587,0.829,1.017,1.607,0.928,0.982,0.148,0.288,0.168,0.167,
+0.722,0.162,0.769,0.675,0.456,0.980,0.593,0.820,0.752,0.628,
+0.429,0.779,1.044,1.479,0.696,0.834,0.573,0.096,0.518,0.607,
+0.651,0.683,0.597,1.036,2.312,1.686,0.556,0.785,1.426,1.969,
+0.784,0.658,0.875,0.190,0.453,0.538,0.537,0.929,0.408,0.607,
+0.835,0.645,0.318,0.407,0.303,0.216,0.202,0.204,0.572,0.238,
+0.388,0.462,0.223,0.632,0.273,0.346,0.704,1.528,0.634,0.661,
+0.169,0.568,0.274,0.180,0.798,0.268,0.577,0.667,0.416,1.438,
+0.632,0.727,0.451,0.516,0.315,0.364,0.846,1.536,0.609,0.707,
+0.609,0.135,0.477,0.594,0.432,0.761,0.435,0.623,1.157,1.070,
+0.474,0.615,1.773,2.288,1.243,0.971,1.052,0.235,0.681,0.687,
+0.537,0.956,0.615,0.783,0.109,0.251,0.095,0.102,0.230,0.682,
+0.290,0.179,0.158,0.134,0.215,0.164,0.065,0.279,0.138,0.105,
+0.906,1.680,0.867,0.797,0.202,0.449,0.261,0.194,1.011,0.260,
+0.734,0.889,0.439,1.425,0.883,0.772,0.587,0.601,0.477,0.524,
+1.414,2.377,1.444,1.219,1.126,0.188,0.978,1.050,0.674,0.954,
+0.972,1.154,0.830,0.655,0.314,0.476,0.813,0.833,0.366,0.399,
+0.680,0.081,0.279,0.339,0.476,0.502,0.285,0.531,0.956,1.469,
+0.607,0.712,1.363,2.271,0.903,0.955,0.779,0.179,0.580,0.746,
+0.417,1.135,0.522,0.672,0.646,1.212,0.575,0.604,0.096,0.209,
+0.104,0.091,0.742,0.140,0.756,0.771,0.415,0.933,0.744,0.728,
+0.699,0.632,0.382,0.523,0.715,1.197,0.593,0.646,0.798,0.135,
+0.590,0.749,0.658,0.953,0.833,1.098,1.676,1.544,0.740,1.170,
+1.540,1.555,0.706,0.909,0.951,0.146,0.475,0.654,0.741,1.030,
+0.509,0.887,1.931,2.679,0.859,1.161,2.392,2.948,1.439,1.337,
+1.533,0.350,1.372,1.309,0.719,1.919,0.747,0.964,0.926,1.729,
+0.804,0.873,0.163,0.290,0.152,0.207,0.967,0.203,0.664,0.774,
+0.598,1.289,0.583,0.806,0.726,0.667,0.390,0.737,1.046,1.313,
+0.613,0.915,0.830,0.148,0.789,0.961,0.794,0.831,0.768,1.417,
+0.132,0.158,0.056,0.092,0.273,0.421,0.163,0.149,0.129,0.045,
+0.097,0.094,0.069,0.160,0.074,0.090,0.153,0.312,0.093,0.139,
+0.325,0.627,0.292,0.202,0.212,0.149,0.252,0.213,0.069,0.256,
+0.096,0.108,0.080,0.244,0.109,0.086,0.045,0.150,0.092,0.046,
+0.159,0.097,0.188,0.165,0.068,0.256,0.127,0.105,0.062,0.086,
+0.044,0.074,0.186,0.382,0.144,0.174,0.110,0.045,0.135,0.139,
+0.070,0.115,0.096,0.140,0.929,1.097,0.521,0.550,1.387,2.109,
+1.040,0.826,1.199,0.296,0.826,0.836,0.521,1.035,0.593,0.795,
+0.104,0.267,0.099,0.084,0.176,0.551,0.251,0.140,0.178,0.113,
+0.206,0.179,0.074,0.271,0.120,0.111,0.709,1.626,0.869,0.679,
+0.151,0.340,0.192,0.143,1.125,0.293,0.644,0.861,0.474,1.553,
+0.823,0.814,0.525,0.657,0.421,0.482,1.151,2.101,1.009,1.138,
+1.164,0.261,0.976,1.103,0.576,1.201,0.876,1.228,0.808,0.651,
+0.352,0.622,0.723,0.702,0.336,0.418,0.687,0.105,0.387,0.537,
+0.518,0.663,0.340,0.742,1.270,1.848,0.772,0.816,1.730,2.716,
+1.255,1.129,1.378,0.326,1.295,1.521,0.714,1.788,0.850,1.098,
+0.896,1.685,0.836,0.751,0.110,0.248,0.126,0.113,1.232,0.233,
+0.999,1.144,0.636,1.754,0.906,1.050,0.744,0.735,0.497,0.734,
+0.813,1.210,0.664,0.820,1.237,0.174,1.134,1.306,0.955,1.466,
+1.081,1.505,1.474,0.978,0.556,1.117,0.981,0.842,0.431,0.694,
+0.661,0.087,0.344,0.643,0.751,0.747,0.388,0.979,1.204,1.108,
+0.449,0.692,0.976,1.021,0.485,0.610,0.619,0.084,0.386,0.559,
+0.444,0.665,0.325,0.596,0.776,0.887,0.432,0.782,0.069,0.085,
+0.049,0.100,0.460,0.059,0.295,0.427,0.342,0.514,0.290,0.521,
+0.744,0.525,0.351,0.819,0.656,0.635,0.363,0.686,0.577,0.065,
+0.366,0.635,0.649,0.576,0.516,1.207,1.399,1.259,0.537,0.894,
+1.525,1.869,0.884,0.935,1.026,0.173,0.647,0.925,0.711,1.068,
+0.492,0.826,1.371,1.967,0.584,0.882,1.891,2.536,1.122,1.148,
+1.185,0.262,0.887,1.111,0.681,1.336,0.717,0.826,0.683,1.253,
+0.487,0.595,0.096,0.218,0.105,0.119,0.786,0.145,0.633,0.708,
+0.514,1.159,0.577,0.700,0.521,0.534,0.366,0.594,0.917,1.398,
+0.594,1.043,0.794,0.126,0.631,0.786,0.599,0.827,0.562,1.106,
+0.917,0.795,0.485,0.540,1.172,1.328,0.773,0.756,1.054,0.179,
+0.645,0.825,0.583,0.797,0.546,0.898,0.067,0.108,0.048,0.059,
+0.097,0.250,0.109,0.089,0.098,0.038,0.094,0.122,0.054,0.156,
+0.076,0.096,0.579,0.955,0.524,0.565,0.084,0.148,0.099,0.101,
+0.971,0.204,0.765,0.883,0.508,1.119,0.720,0.804,0.560,0.581,
+0.367,0.489,0.941,1.314,0.760,0.997,1.731,0.344,0.969,1.171,
+0.768,1.419,0.823,1.280,1.101,0.711,0.377,0.717,0.744,0.768,
+0.353,0.477,0.672,0.074,0.320,0.513,0.638,0.584,0.390,0.968,
+0.883,0.872,0.380,0.580,0.916,1.244,0.576,0.762,0.692,0.084,
+0.523,0.815,0.546,0.786,0.480,1.033,0.866,0.916,0.562,0.704,
+0.091,0.104,0.069,0.093,0.877,0.109,0.721,0.860,0.609,1.005,
+0.776,0.986,0.886,0.671,0.463,0.995,0.980,1.174,0.688,0.988,
+1.758,0.231,0.939,1.599,1.411,1.511,1.286,2.390,2.895,2.157,
+1.483,2.332,2.531,2.092,1.247,1.392,1.687,0.214,0.769,1.095,
+1.843,1.678,1.143,1.668,2.349,2.348,0.927,1.217,1.945,1.330,
+1.053,1.045,1.213,0.190,0.740,0.812,0.842,1.162,0.929,1.158,
+1.338,1.470,0.812,1.376,0.149,0.153,0.111,0.196,0.949,0.124,
+0.531,0.737,0.650,1.030,0.625,0.935,1.455,0.832,0.704,1.240,
+1.318,1.137,0.841,1.108,0.900,0.101,0.699,0.854,1.096,0.844,
+0.944,1.618,3.540,3.283,1.224,1.974,3.568,4.131,1.985,1.869,
+1.888,0.327,0.792,0.976,1.308,1.722,1.228,1.383,3.141,5.168,
+1.330,1.486,2.600,2.190,1.812,1.539,2.716,0.698,1.246,1.418,
+1.111,2.331,1.066,1.076,1.540,2.555,1.129,1.452,0.235,0.402,
+0.259,0.282,1.825,0.352,1.318,1.573,0.879,2.018,1.290,1.286,
+1.200,0.993,0.545,0.948,1.670,1.920,1.081,1.415,1.120,0.153,
+0.687,1.202,0.916,1.035,0.894,1.589,1.658,1.277,0.580,1.010,
+2.580,1.774,1.241,1.581,2.011,0.403,0.623,0.856,1.134,1.585,
+0.863,1.193,0.187,0.476,0.095,0.188,0.234,0.310,0.185,0.378,
+0.362,0.133,0.144,0.164,0.183,0.550,0.191,0.196,0.964,1.292,
+0.853,1.074,0.179,0.209,0.209,0.251,1.198,0.372,0.656,0.698,
+0.592,1.500,0.762,0.778,0.840,0.642,0.434,0.896,1.518,1.616,
+1.143,1.897,1.281,0.187,0.623,0.905,0.918,0.986,0.873,1.301,
+1.584,1.163,0.488,1.015,1.058,0.714,0.536,0.826,1.048,0.147,
+0.424,0.591,1.114,1.003,0.609,1.253,1.743,3.932,0.700,1.192,
+1.357,1.368,0.977,2.124,1.695,0.420,0.656,0.923,0.937,1.797,
+0.819,1.073,0.914,1.212,0.922,1.098,0.112,0.133,0.135,0.188,
+1.085,0.162,0.707,0.964,0.746,1.298,0.947,1.112,1.184,0.896,
+0.625,1.251,1.042,0.989,0.840,1.305,1.429,0.174,0.901,1.441,
+1.767,1.703,1.545,2.539,0.148,0.202,0.096,0.109,0.173,0.307,
+0.131,0.133,0.102,0.033,0.057,0.077,0.081,0.145,0.109,0.106,
+0.214,0.382,0.139,0.151,0.286,0.313,0.284,0.228,0.201,0.086,
+0.141,0.131,0.086,0.232,0.118,0.109,0.109,0.271,0.101,0.120,
+0.026,0.055,0.041,0.031,0.101,0.041,0.101,0.094,0.046,0.138,
+0.081,0.098,0.099,0.089,0.065,0.091,0.152,0.199,0.153,0.124,
+0.103,0.026,0.174,0.124,0.093,0.108,0.140,0.165,0.194,0.379,
+0.114,0.116,0.327,1.052,0.403,0.263,0.160,0.093,0.089,0.087,
+0.079,0.213,0.362,0.127,0.338,0.867,0.197,0.153,0.411,0.511,
+0.460,0.319,0.570,0.416,0.201,0.217,0.152,0.670,0.173,0.119,
+0.138,0.426,0.156,0.133,0.068,0.288,0.136,0.062,0.266,0.172,
+0.231,0.213,0.074,0.372,0.206,0.162,0.116,0.116,0.060,0.075,
+0.194,0.363,0.183,0.154,0.128,0.041,0.093,0.112,0.065,0.126,
+0.103,0.142,0.102,0.136,0.047,0.081,0.209,0.305,0.201,0.262,
+0.259,0.128,0.100,0.087,0.079,0.257,0.083,0.085,0.027,0.134,
+0.026,0.044,0.072,0.164,0.120,0.174,0.111,0.124,0.076,0.052,
+0.025,0.148,0.040,0.029,0.110,0.234,0.163,0.141,0.058,0.143,
+0.126,0.067,0.401,0.351,0.229,0.173,0.105,0.551,0.169,0.131,
+0.079,0.074,0.059,0.078,0.197,0.338,0.242,0.220,0.209,0.080,
+0.193,0.158,0.082,0.156,0.127,0.136,0.108,0.281,0.046,0.079,
+0.085,0.109,0.064,0.124,0.090,0.022,0.042,0.049,0.068,0.106,
+0.060,0.093,0.388,2.423,0.165,0.254,0.243,0.410,0.270,0.876,
+0.373,0.175,0.138,0.163,0.133,0.470,0.133,0.157,0.085,0.222,
+0.101,0.107,0.020,0.052,0.035,0.042,0.154,0.073,0.149,0.150,
+0.072,0.216,0.142,0.125,0.095,0.127,0.056,0.084,0.107,0.145,
+0.093,0.124,0.146,0.044,0.122,0.142,0.107,0.194,0.151,0.189,
+1.521,1.519,0.743,1.216,1.746,3.173,0.932,1.078,0.964,0.202,
+0.547,0.683,0.894,0.951,0.498,0.806,1.715,1.989,0.870,1.020,
+2.447,2.038,2.131,1.406,1.521,0.318,1.360,1.105,0.725,1.450,
+0.833,0.925,1.041,1.923,1.166,1.266,0.202,0.380,0.267,0.342,
+1.168,0.246,0.866,1.008,0.534,1.434,0.738,0.902,0.787,0.682,
+0.459,0.811,1.096,1.284,0.854,1.069,0.893,0.164,0.688,1.001,
+0.952,0.872,0.811,1.388,0.144,0.349,0.080,0.111,0.468,1.912,
+0.275,0.250,0.130,0.079,0.111,0.142,0.066,0.164,0.087,0.100,
+0.181,0.397,0.147,0.121,0.352,0.477,0.657,0.337,0.221,0.141,
+0.259,0.198,0.074,0.231,0.165,0.104,0.090,0.319,0.140,0.121,
+0.044,0.156,0.109,0.058,0.175,0.118,0.234,0.216,0.064,0.247,
+0.141,0.120,0.087,0.099,0.062,0.091,0.191,0.349,0.191,0.212,
+0.118,0.041,0.127,0.163,0.082,0.112,0.102,0.153,0.938,1.114,
+0.519,0.489,1.938,2.304,1.544,0.956,1.044,0.291,0.857,0.746,
+0.472,0.895,0.639,0.694,0.115,0.267,0.098,0.073,0.215,0.401,
+0.367,0.155,0.158,0.097,0.192,0.133,0.069,0.218,0.121,0.096,
+0.901,1.886,1.332,0.948,0.207,0.408,0.395,0.224,1.090,0.283,
+0.458,0.693,0.441,1.252,1.040,0.815,0.633,0.623,0.477,0.509,
+1.392,1.985,1.407,1.249,1.131,0.224,0.891,0.899,0.546,0.869,
+0.906,0.942,0.796,0.653,0.378,0.543,0.893,0.994,0.468,0.458,
+0.563,0.112,0.375,0.471,0.523,0.678,0.345,0.628,1.237,1.851,
+0.779,0.713,1.716,2.219,1.689,1.166,1.116,0.273,1.079,1.042,
+0.708,1.497,0.808,0.826,1.116,2.058,1.138,0.967,0.154,0.336,
+0.214,0.181,1.244,0.269,1.528,1.350,0.653,1.671,1.230,1.107,
+0.732,0.664,0.474,0.635,0.955,1.329,0.839,0.867,1.193,0.211,
+1.133,1.152,0.870,1.371,1.103,1.356,1.435,1.054,0.574,1.065,
+1.040,1.223,0.564,0.740,0.696,0.104,0.311,0.521,0.750,0.739,
+0.438,1.033,1.212,1.354,0.442,0.585,0.868,0.655,0.557,0.526,
+0.516,0.081,0.384,0.424,0.377,0.524,0.608,0.529,0.888,1.360,
+0.576,0.821,0.087,0.132,0.072,0.118,0.581,0.085,0.343,0.541,
+0.485,0.733,0.473,0.706,0.838,0.696,0.502,0.811,0.752,0.707,
+0.512,0.739,0.557,0.067,0.346,0.579,0.821,0.647,0.575,1.434,
+2.071,2.650,0.882,1.467,2.905,6.055,1.537,1.592,1.165,0.293,
+0.780,1.028,0.788,1.320,0.866,1.025,2.519,5.622,1.145,1.227,
+2.594,2.654,2.197,1.695,1.510,0.397,1.370,1.437,0.788,1.660,
+2.799,1.231,1.399,3.993,1.143,1.194,0.193,0.510,0.225,0.251,
+1.402,0.347,1.229,1.569,0.807,2.041,1.222,1.348,0.978,1.205,
+0.768,0.879,1.537,2.102,1.256,1.580,1.069,0.153,0.827,1.245,
+0.820,1.071,1.006,1.694,1.335,1.567,0.581,0.703,2.211,1.765,
+1.173,1.070,1.097,0.230,0.689,0.980,0.668,0.894,0.717,0.956,
+0.111,0.201,0.063,0.076,0.173,0.273,0.182,0.146,0.115,0.049,
+0.117,0.156,0.064,0.149,0.123,0.108,0.918,1.591,0.897,0.947,
+0.165,0.264,0.206,0.233,1.225,0.297,0.775,1.006,0.603,1.431,
+1.029,1.036,0.746,0.784,0.502,0.648,1.590,1.764,1.436,1.550,
+1.060,0.183,0.895,1.149,0.718,0.983,1.007,1.412,1.327,0.798,
+0.515,0.879,1.052,0.846,0.507,0.628,0.766,0.101,0.396,0.622,
+0.772,0.720,0.539,1.143,1.100,1.404,0.514,0.669,1.156,1.202,
+0.849,0.893,0.843,0.118,0.600,0.917,0.595,0.913,0.737,0.943,
+1.061,1.679,0.880,1.180,0.120,0.183,0.105,0.165,1.271,0.194,
+1.161,1.566,0.878,1.612,1.225,1.426,1.253,0.871,0.650,1.265,
+1.339,1.513,1.121,1.565,1.401,0.149,1.216,1.789,1.505,1.516,
+1.499,2.069,2.477,1.572,1.172,2.509,1.665,1.170,0.771,1.144,
+1.491,0.173,0.513,1.058,1.909,1.508,0.788,1.698,1.729,1.262,
+0.663,0.964,1.202,0.833,0.581,0.675,0.937,0.114,0.477,0.599,
+0.912,0.937,0.546,0.920,1.082,0.999,0.651,1.162,0.104,0.100,
+0.071,0.148,0.751,0.089,0.359,0.590,0.744,0.995,0.523,1.005,
+1.529,0.790,0.661,1.389,1.107,0.825,0.656,1.061,0.850,0.086,
+0.513,0.759,1.422,1.043,0.902,2.183,2.235,1.502,0.673,1.317,
+1.638,1.311,0.679,0.881,1.021,0.134,0.375,0.662,1.194,0.964,
+0.509,0.978,1.482,1.558,0.528,0.759,1.058,0.887,0.586,0.626,
+0.980,0.148,0.403,0.604,1.007,0.960,0.458,0.683,0.797,0.959,
+0.476,0.818,0.086,0.098,0.069,0.109,0.685,0.091,0.376,0.539,
+0.605,0.979,0.505,0.733,0.824,0.572,0.339,0.767,0.826,0.698,
+0.375,0.706,0.625,0.056,0.304,0.557,0.695,0.624,0.557,1.234,
+1.381,0.786,0.451,0.846,1.259,0.829,0.640,0.895,1.035,0.148,
+0.344,0.523,0.922,0.924,0.449,0.973,0.098,0.107,0.044,0.084,
+0.094,0.095,0.057,0.100,0.094,0.026,0.049,0.062,0.114,0.176,
+0.071,0.120,0.604,0.766,0.524,0.701,0.073,0.090,0.061,0.099,
+0.630,0.113,0.332,0.429,0.496,0.779,0.477,0.573,0.667,0.494,
+0.376,0.890,0.804,0.778,0.502,0.899,0.876,0.114,0.376,0.612,
+0.781,0.726,0.594,1.090,1.654,0.758,0.496,1.241,0.923,0.549,
+0.405,0.627,1.091,0.111,0.353,0.563,1.570,1.033,0.598,1.430,
+1.072,1.093,0.446,0.794,0.762,0.676,0.465,0.743,0.852,0.106,
+0.436,0.596,0.981,1.093,0.618,1.066,0.742,0.766,0.566,0.813,
+0.070,0.064,0.049,0.082,0.690,0.064,0.367,0.563,0.697,0.898,
+0.611,0.966,1.295,0.707,0.616,1.413,0.877,0.684,0.520,0.843,
+1.091,0.095,0.633,1.058,1.752,1.470,1.427,2.871,2.207,1.826,
+0.937,1.784,1.692,1.677,0.941,1.190,1.058,0.169,0.519,0.807,
+1.070,1.280,0.693,1.240,1.933,1.979,0.874,1.204,1.895,1.605,
+1.184,1.150,1.291,0.267,0.870,0.914,0.737,1.329,0.705,0.927,
+1.123,1.746,0.862,1.319,0.139,0.219,0.131,0.191,0.874,0.151,
+0.696,0.946,0.661,1.215,0.783,1.189,1.118,0.856,0.625,1.159,
+1.311,1.584,0.915,1.149,0.884,0.142,1.463,1.168,1.144,1.023,
+1.199,1.749,1.963,2.094,0.745,1.146,1.907,2.641,1.152,1.124,
+1.025,0.222,0.468,0.639,0.753,1.137,0.983,0.986,2.102,3.519,
+1.017,1.112,2.025,1.917,1.481,1.286,1.780,0.585,0.865,1.035,
+0.828,1.957,0.694,0.823,1.030,1.965,0.830,1.092,0.163,0.317,
+0.207,0.170,1.190,0.290,0.825,1.021,0.660,1.620,0.970,1.151,
+0.916,0.910,0.474,0.891,1.245,1.671,0.778,0.964,0.907,0.131,
+0.579,0.870,0.690,0.865,0.666,1.272,1.018,0.802,0.350,0.638,
+1.206,1.266,0.867,1.056,1.226,0.287,0.465,0.545,0.718,1.108,
+0.491,0.801,0.089,0.205,0.061,0.104,0.128,0.245,0.148,0.255,
+0.204,0.105,0.102,0.103,0.097,0.316,0.084,0.102,0.868,1.372,
+0.832,0.925,0.123,0.226,0.144,0.170,1.286,0.387,0.665,0.783,
+0.554,1.530,0.719,0.824,0.774,0.667,0.496,0.832,1.212,1.780,
+0.967,1.188,1.589,0.169,0.743,0.950,0.839,0.896,0.791,1.249,
+0.938,0.850,0.374,0.701,0.655,0.602,0.352,0.546,0.781,0.094,
+0.319,0.418,0.799,0.729,0.404,0.865,1.316,3.243,0.711,1.037,
+1.136,1.407,0.930,1.793,1.347,0.302,0.623,0.824,0.929,1.955,
+0.704,1.048,0.772,1.354,0.662,0.871,0.082,0.147,0.078,0.106,
+0.873,0.143,0.632,0.837,0.576,1.241,0.778,0.981,0.928,0.738,
+0.504,0.843,0.858,1.065,0.578,0.751,1.195,0.146,0.692,1.019,
+1.169,1.397,1.069,1.803,1.470,1.255,0.641,1.222,1.343,1.542,
+0.535,0.868,0.812,0.105,0.359,0.600,0.769,0.777,0.368,0.773,
+1.656,1.656,0.646,0.944,2.374,1.403,0.884,0.908,1.178,0.194,
+0.798,0.886,0.705,1.182,0.575,0.896,1.122,1.597,1.428,1.431,
+0.167,0.207,0.179,0.240,0.947,0.158,0.670,0.934,0.614,1.302,
+0.733,1.054,1.032,0.748,0.567,0.999,1.184,1.003,0.694,0.950,
+0.931,0.130,0.651,1.005,1.038,0.903,0.827,1.671,0.096,0.140,
+0.051,0.082,0.184,0.484,0.073,0.096,0.072,0.022,0.049,0.065,
+0.058,0.094,0.050,0.081,0.112,0.164,0.055,0.067,0.249,0.279,
+0.134,0.135,0.112,0.050,0.111,0.106,0.064,0.135,0.072,0.068,
+0.067,0.182,0.091,0.083,0.020,0.049,0.039,0.022,0.097,0.043,
+0.087,0.097,0.053,0.150,0.078,0.102,0.073,0.076,0.044,0.083,
+0.118,0.174,0.107,0.113,0.085,0.022,0.071,0.106,0.076,0.088,
+0.077,0.136,0.778,0.720,0.342,0.458,0.976,1.112,0.643,0.590,
+0.733,0.157,0.420,0.594,0.427,0.671,0.457,0.682,0.068,0.108,
+0.046,0.048,0.106,0.141,0.084,0.060,0.088,0.039,0.070,0.084,
+0.052,0.149,0.069,0.073,0.702,1.212,0.788,0.709,0.122,0.198,
+0.139,0.112,0.968,0.199,0.466,0.680,0.450,1.176,0.816,0.785,
+0.584,0.572,0.389,0.515,1.005,1.256,0.785,0.797,0.926,0.139,
+0.660,0.809,0.598,0.840,0.827,1.006,0.793,0.544,0.392,0.702,
+0.706,0.656,0.354,0.473,0.570,0.079,0.328,0.485,0.545,0.602,
+0.362,0.747,1.029,1.155,0.577,0.714,1.102,1.298,0.734,0.696,
+0.949,0.169,0.660,0.884,0.692,1.264,0.701,0.950,0.933,1.396,
+1.044,0.901,0.126,0.163,0.160,0.109,1.040,0.145,0.801,1.030,
+0.758,1.448,0.948,1.067,0.842,0.766,0.655,0.878,0.837,0.933,
+0.823,0.738,1.201,0.143,0.887,1.216,1.130,1.356,1.174,1.587,
+2.205,1.057,0.710,1.664,1.143,0.867,0.498,1.142,0.833,0.088,
+0.316,0.685,1.061,0.814,0.457,1.270,1.159,0.877,0.400,0.645,
+0.886,0.660,0.396,0.602,0.609,0.073,0.314,0.494,0.513,0.585,
+0.327,0.715,0.879,1.220,0.506,0.899,0.073,0.097,0.053,0.112,
+0.583,0.077,0.325,0.580,0.530,0.675,0.393,0.846,1.124,0.760,
+0.529,1.207,0.791,0.647,0.503,0.842,0.723,0.069,0.440,0.898,
+1.065,0.798,0.710,2.012,1.533,1.193,0.583,1.046,1.281,1.666,
+0.566,0.819,0.743,0.097,0.340,0.617,0.654,0.767,0.412,1.079,
+1.338,1.484,0.460,0.653,1.086,1.352,0.614,0.710,0.837,0.123,
+0.557,0.726,0.581,0.941,0.654,0.938,1.033,3.070,0.556,0.784,
+0.090,0.310,0.070,0.108,0.754,0.162,0.455,0.790,0.605,1.100,
+0.507,0.970,0.802,0.877,0.459,0.846,0.830,1.082,0.548,0.864,
+0.746,0.083,0.468,0.960,0.808,0.884,0.654,1.628,1.268,1.522,
+0.549,0.708,1.207,1.013,0.614,0.822,0.947,0.178,0.450,0.714,
+0.697,0.814,0.834,1.125,0.084,0.126,0.038,0.061,0.079,0.113,
+0.053,0.076,0.065,0.021,0.050,0.079,0.067,0.114,0.068,0.111,
+0.777,1.131,0.566,0.733,0.083,0.121,0.068,0.104,0.975,0.148,
+0.569,0.788,0.597,1.070,0.832,0.940,0.818,0.791,0.486,0.755,
+1.127,1.208,0.804,1.070,1.177,0.133,0.841,1.090,0.924,1.000,
+0.916,1.436,1.791,1.011,0.697,1.555,1.049,0.802,0.494,0.732,
+0.967,0.099,0.435,0.804,1.228,0.990,0.761,2.013,1.372,1.182,
+0.525,0.887,1.208,1.488,0.649,0.960,1.027,0.110,0.627,1.079,
+0.996,1.236,0.840,1.906,1.245,1.512,1.051,1.299,0.093,0.128,
+0.113,0.125,1.331,0.141,0.902,1.436,1.159,1.741,1.369,1.825,
+2.039,1.196,0.990,2.127,1.530,1.474,1.099,1.713,1.904,0.152,
+1.354,2.597,2.237,1.906,1.765,2.933,3.512,2.552,2.128,3.449,
+2.887,1.728,1.736,1.809,2.841,0.290,1.547,2.334,3.286,2.566,
+1.604,2.656,3.119,2.030,1.644,1.890,2.197,1.520,1.437,1.252,
+2.053,0.208,1.329,1.465,1.387,1.486,1.175,1.530,2.506,1.710,
+1.512,2.006,0.223,0.188,0.175,0.266,1.545,0.145,0.804,1.099,
+1.511,1.449,1.023,1.482,2.827,1.288,1.419,2.801,2.168,1.598,
+1.613,2.044,1.620,0.150,0.998,1.393,2.144,1.279,1.378,2.271,
+3.100,2.031,1.214,1.694,2.422,1.493,1.125,1.192,1.568,0.223,
+2.025,2.255,1.197,1.397,0.961,1.351,2.040,1.581,0.952,1.104,
+1.361,1.030,0.880,0.786,1.415,0.177,1.068,1.202,0.818,1.060,
+0.719,0.895,1.531,1.416,0.973,1.151,0.151,0.155,0.121,0.146,
+1.109,0.152,0.760,0.933,0.746,1.120,0.774,0.861,1.212,0.795,
+0.651,1.026,1.295,1.051,0.914,1.036,1.414,0.115,0.829,1.122,
+1.268,0.958,0.913,1.440,2.176,1.138,1.170,1.237,1.945,1.170,
+1.178,1.068,1.547,0.212,0.729,1.040,1.363,1.469,0.910,1.496,
+0.181,0.152,0.102,0.129,0.150,0.151,0.129,0.109,0.153,0.032,
+0.112,0.142,0.163,0.270,0.128,0.180,1.041,0.948,0.944,0.851,
+0.107,0.101,0.127,0.126,0.882,0.106,0.651,0.824,0.654,0.911,
+0.800,0.798,0.888,0.615,0.615,0.856,1.129,1.014,0.910,1.036,
+1.034,0.128,0.817,1.068,0.905,1.054,1.037,1.396,2.836,1.135,
+0.975,1.748,1.372,0.846,0.750,0.835,1.202,0.124,0.627,0.931,
+1.533,1.200,0.833,1.878,2.052,1.358,0.943,1.219,1.309,1.128,
+1.004,0.954,1.345,0.129,0.888,1.162,1.220,1.363,0.875,1.410,
+1.111,1.093,0.836,1.069,0.097,0.094,0.092,0.126,0.976,0.123,
+1.014,1.857,0.883,1.163,0.848,1.224,1.608,0.947,0.897,1.613,
+0.929,0.709,0.842,1.110,1.397,0.129,1.243,2.319,1.821,1.651,
+1.483,2.646,3.631,2.594,1.918,2.768,2.477,1.949,1.667,1.695,
+1.522,0.202,0.912,1.476,1.690,1.689,1.084,1.919,2.877,2.644,
+1.722,2.067,2.215,1.968,1.833,1.614,1.773,0.276,1.543,1.745,
+1.095,1.579,1.028,1.431,1.317,1.611,1.276,1.377,0.157,0.220,
+0.189,0.210,0.805,0.105,0.713,0.873,0.652,0.951,0.719,1.074,
+1.371,0.817,0.856,1.301,1.449,1.463,1.276,1.326,0.970,0.119,
+0.749,1.029,1.043,0.928,1.017,1.775,2.671,2.494,1.192,1.510,
+2.358,2.411,1.504,1.296,1.274,0.231,0.859,1.119,0.886,1.262,
+0.689,1.157,1.922,2.202,1.259,1.237,1.480,1.000,1.294,1.104,
+1.572,0.349,1.336,1.533,0.723,1.357,0.834,0.987,1.373,2.211,
+1.260,1.272,0.192,0.336,0.224,0.188,1.044,0.222,0.942,1.030,
+0.620,1.610,0.910,1.094,1.009,0.894,0.659,0.879,1.359,1.652,
+1.296,1.160,0.937,0.134,0.764,0.922,0.738,0.970,0.729,1.246,
+1.965,1.638,1.127,1.331,2.123,2.132,2.856,1.615,1.658,0.278,
+1.135,1.221,1.039,1.558,1.362,1.738,0.161,0.301,0.149,0.170,
+0.198,0.346,0.347,0.202,0.188,0.095,0.260,0.217,0.130,0.380,
+0.208,0.216,1.276,2.039,1.546,1.440,0.190,0.351,0.346,0.231,
+1.388,0.277,1.431,1.557,0.698,1.909,1.505,1.268,0.929,0.804,
+0.770,0.922,1.544,2.244,1.841,1.579,1.343,0.189,1.352,1.561,
+0.872,1.101,1.382,1.704,1.478,0.989,0.750,1.124,0.981,0.804,
+0.768,0.786,0.730,0.088,0.493,0.693,0.873,0.829,0.645,1.234,
+1.733,1.736,1.101,1.298,1.294,1.525,1.464,1.419,1.027,0.156,
+1.017,1.242,1.042,1.609,0.953,1.558,0.888,1.234,1.007,1.072,
+0.085,0.134,0.103,0.119,0.715,0.100,0.763,1.109,0.643,1.128,
+0.843,1.076,1.176,0.828,0.780,1.046,0.877,0.922,0.771,0.968,
+1.039,0.134,0.928,1.479,1.278,1.706,1.524,2.241,2.118,1.617,
+0.997,1.509,1.202,1.011,0.759,0.813,0.996,0.128,0.539,0.774,
+1.102,1.233,0.716,1.266,2.130,2.256,1.184,1.337,1.630,1.601,
+1.354,1.051,1.803,0.294,1.364,1.396,1.188,2.206,0.907,1.219,
+1.204,1.792,1.513,1.322,0.173,0.255,0.237,0.251,0.965,0.150,
+0.642,0.822,0.615,1.239,0.704,0.931,1.261,1.066,0.872,1.259,
+1.267,1.256,1.059,1.153,1.181,0.129,0.763,1.122,1.211,1.114,
+1.121,2.083,0.158,0.193,0.100,0.123,0.205,0.217,0.139,0.113,
+0.109,0.028,0.094,0.115,0.093,0.177,0.120,0.138,0.174,0.253,
+0.122,0.122,0.228,0.263,0.187,0.122,0.183,0.062,0.208,0.178,
+0.121,0.307,0.112,0.124,0.124,0.253,0.178,0.139,0.026,0.066,
+0.060,0.035,0.147,0.043,0.165,0.157,0.080,0.254,0.126,0.126,
+0.160,0.161,0.126,0.174,0.259,0.372,0.292,0.282,0.165,0.036,
+0.167,0.193,0.153,0.258,0.182,0.271,1.198,1.151,0.671,0.654,
+0.975,1.261,1.035,0.705,1.076,0.268,0.908,0.910,0.676,1.140,
+0.907,1.357,0.125,0.218,0.108,0.098,0.107,0.203,0.163,0.083,
+0.168,0.078,0.196,0.142,0.108,0.297,0.153,0.160,0.826,1.514,
+0.966,0.727,0.122,0.253,0.189,0.122,0.945,0.180,0.739,0.749,
+0.452,1.042,0.765,0.664,0.742,0.840,0.984,0.695,0.966,1.509,
+1.339,1.063,0.941,0.177,1.090,1.032,0.632,1.070,1.011,1.130,
+1.257,0.702,0.533,0.769,0.716,0.615,0.421,0.438,0.662,0.096,
+0.400,0.586,0.702,0.776,0.494,1.285,1.543,1.475,0.893,1.049,
+1.251,1.547,1.008,0.822,1.210,0.171,1.032,1.274,0.977,1.755,
+0.909,1.362,1.016,1.231,0.879,0.826,0.110,0.165,0.113,0.106,
+0.945,0.117,0.738,0.844,0.646,1.337,0.764,0.911,1.296,1.135,
+1.096,1.059,1.110,1.212,0.837,0.901,1.264,0.300,1.132,1.285,
+1.747,4.291,1.451,1.982,2.373,1.267,0.924,1.678,1.023,0.701,
+0.637,0.680,0.949,0.117,0.480,0.793,1.377,1.326,0.675,1.609,
+1.222,0.872,0.533,0.804,0.762,0.540,0.507,0.548,0.968,0.106,
+0.518,0.745,0.962,0.973,0.462,0.854,1.087,0.872,0.683,1.044,
+0.106,0.098,0.082,0.139,0.639,0.057,0.346,0.586,0.564,0.655,
+0.444,0.845,1.524,0.918,0.838,1.695,1.229,0.855,0.785,1.159,
+0.981,0.078,0.596,0.953,1.405,0.958,1.037,2.405,1.957,1.359,
+0.868,1.253,1.481,1.093,1.156,0.899,0.971,0.131,0.646,0.930,
+0.886,1.188,0.675,1.165,1.468,1.294,0.700,0.950,1.223,1.145,
+0.960,0.809,1.273,0.206,0.962,1.193,1.067,1.667,0.627,0.917,
+1.030,1.145,0.837,1.148,0.103,0.138,0.149,0.154,0.896,0.105,
+0.657,0.897,0.730,1.058,0.680,1.014,1.123,0.799,0.685,1.270,
+1.310,1.196,1.136,1.386,1.008,0.096,0.713,1.039,1.088,1.003,
+0.934,1.725,1.443,0.912,0.774,0.902,1.283,1.056,1.027,1.048,
+1.304,0.198,0.974,1.259,0.956,1.129,1.034,1.583,0.120,0.121,
+0.083,0.111,0.102,0.129,0.117,0.100,0.130,0.035,0.139,0.176,
+0.119,0.205,0.122,0.168,0.970,1.208,0.827,1.037,0.106,0.127,
+0.115,0.158,1.120,0.166,0.805,1.163,0.718,1.180,0.981,1.253,
+0.943,0.831,0.859,1.109,1.271,1.250,1.289,1.619,1.346,0.156,
+1.122,1.613,1.052,1.124,1.372,2.040,1.999,0.974,0.867,1.313,
+1.045,0.857,0.636,0.733,0.977,0.102,0.631,0.971,1.214,1.044,
+0.849,2.229,1.202,0.830,0.597,0.875,0.806,0.686,0.639,0.697,
+0.964,0.089,0.744,1.160,0.913,1.083,0.741,1.421,1.455,1.343,
+0.977,1.460,0.139,0.128,0.103,0.159,1.364,0.120,1.042,1.553,
+1.142,1.437,1.219,1.711,2.314,1.455,1.436,2.684,1.978,1.598,
+1.433,1.909,2.152,0.177,1.782,2.830,3.097,2.737,2.472,4.022,
+0.210,0.159,0.141,0.174,0.221,0.157,0.139,0.124,0.154,0.028,
+0.168,0.389,0.152,0.144,0.104,0.150,0.184,0.181,0.126,0.135,
+0.195,0.198,0.149,0.115,0.130,0.033,0.139,0.135,0.091,0.139,
+0.106,0.128,0.115,0.119,0.108,0.118,0.019,0.023,0.021,0.025,
+0.077,0.020,0.070,0.078,0.069,0.087,0.082,0.089,0.129,0.074,
+0.074,0.136,0.162,0.119,0.104,0.128,0.100,0.015,0.085,0.107,
+0.105,0.084,0.109,0.152,0.254,0.238,0.165,0.170,0.342,0.239,
+0.190,0.158,0.225,0.065,0.579,0.986,0.101,0.179,0.186,0.220,
+0.233,0.288,0.162,0.139,0.247,0.238,0.223,0.147,0.235,0.091,
+0.254,0.304,0.096,0.219,0.128,0.131,0.135,0.210,0.132,0.129,
+0.086,0.075,0.069,0.034,0.227,0.103,0.154,0.161,0.092,0.229,
+0.133,0.102,0.088,0.086,0.062,0.077,0.190,0.179,0.132,0.139,
+0.136,0.030,0.119,0.159,0.092,0.101,0.109,0.139,0.126,0.106,
+0.069,0.077,0.259,0.176,0.145,0.111,0.136,0.032,0.103,0.124,
+0.073,0.110,0.092,0.113,0.017,0.030,0.018,0.015,0.031,0.055,
+0.046,0.024,0.035,0.023,0.041,0.031,0.014,0.044,0.028,0.019,
+0.080,0.100,0.106,0.081,0.019,0.026,0.045,0.027,0.102,0.037,
+0.113,0.127,0.049,0.123,0.102,0.093,0.060,0.053,0.052,0.066,
+0.113,0.123,0.133,0.125,0.112,0.032,0.126,0.146,0.072,0.121,
+0.111,0.146,0.149,0.090,0.073,0.104,0.106,0.072,0.064,0.073,
+0.090,0.018,0.063,0.110,0.091,0.098,0.074,0.141,0.156,0.161,
+0.104,0.136,0.169,0.203,0.140,0.127,0.131,0.027,0.123,0.168,
+0.080,0.154,0.111,0.160,0.089,0.108,0.093,0.117,0.016,0.021,
+0.023,0.024,0.184,0.050,0.115,0.576,0.079,0.187,0.121,0.191,
+0.107,0.076,0.079,0.143,0.086,0.086,0.084,0.125,0.138,0.030,
+0.165,0.842,0.130,0.160,0.166,0.286,0.186,0.167,0.124,0.138,
+0.195,0.199,0.161,0.133,0.106,0.027,0.082,0.100,0.078,0.108,
+0.077,0.106,0.182,0.215,0.149,0.219,0.217,0.256,0.253,0.201,
+0.139,0.071,0.173,0.161,0.058,0.134,0.097,0.103,0.080,0.130,
+0.104,0.086,0.017,0.043,0.045,0.026,0.062,0.025,0.083,0.081,
+0.040,0.086,0.078,0.086,0.068,0.045,0.049,0.078,0.102,0.128,
+0.100,0.101,0.124,0.021,0.082,0.102,0.061,0.070,0.073,0.101,
+0.218,0.285,0.154,0.127,0.301,0.457,0.270,0.144,0.153,0.052,
+0.134,0.154,0.069,0.145,0.087,0.113,0.279,0.491,0.218,0.173,
+0.245,0.182,0.271,0.182,0.268,0.160,0.269,0.268,0.080,0.259,
+0.137,0.120,0.126,0.335,0.170,0.131,0.052,0.157,0.111,0.047,
+0.137,0.078,0.153,0.131,0.051,0.195,0.141,0.116,0.085,0.117,
+0.068,0.075,0.166,0.312,0.170,0.156,0.105,0.032,0.127,0.123,
+0.060,0.113,0.093,0.115,0.131,0.147,0.096,0.087,0.224,0.293,
+0.306,0.150,0.154,0.057,0.139,0.112,0.064,0.143,0.126,0.130,
+0.024,0.074,0.040,0.024,0.065,0.163,0.214,0.052,0.058,0.085,
+0.103,0.064,0.014,0.067,0.043,0.027,0.115,0.256,0.185,0.130,
+0.050,0.141,0.130,0.052,0.164,0.083,0.227,0.175,0.053,0.192,
+0.200,0.124,0.062,0.066,0.074,0.067,0.172,0.304,0.305,0.190,
+0.197,0.047,0.220,0.175,0.077,0.112,0.173,0.155,0.096,0.082,
+0.061,0.077,0.090,0.089,0.087,0.064,0.067,0.012,0.053,0.061,
+0.056,0.067,0.054,0.090,0.130,0.196,0.117,0.121,0.156,0.250,
+0.250,0.158,0.134,0.047,0.136,0.142,0.060,0.165,0.096,0.119,
+0.073,0.136,0.103,0.094,0.013,0.028,0.025,0.020,0.088,0.024,
+0.115,0.116,0.065,0.102,0.096,0.094,0.070,0.055,0.059,0.071,
+0.074,0.105,0.101,0.088,0.087,0.014,0.107,0.159,0.084,0.114,
+0.138,0.173,0.116,0.121,0.082,0.093,0.118,0.129,0.087,0.081,
+0.077,0.019,0.057,0.063,0.066,0.124,0.078,0.067,0.149,0.227,
+0.111,0.106,0.208,0.255,0.210,0.140,0.194,0.104,0.250,0.174,
+0.101,0.354,0.101,0.097,0.084,0.177,0.150,0.097,0.025,0.056,
+0.059,0.034,0.119,0.042,0.107,0.102,0.040,0.125,0.079,0.079,
+0.063,0.061,0.054,0.074,0.097,0.125,0.127,0.108,0.094,0.026,
+0.097,0.107,0.076,0.093,0.091,0.136,0.018,0.028,0.022,0.013,
+0.043,0.068,0.057,0.032,0.018,0.019,0.030,0.028,8.61e-3,0.033,
+0.039,0.014,0.029,0.083,0.040,0.021,0.073,0.142,0.108,0.045,
+0.051,0.100,0.129,0.067,0.018,0.089,0.035,0.021,0.017,0.070,
+0.056,0.024,0.022,0.088,0.087,0.027,0.045,0.057,0.102,0.055,
+0.010,0.060,0.052,0.022,0.011,0.018,0.013,9.78e-3,0.030,0.064,
+0.062,0.041,0.022,0.018,0.047,0.037,0.011,0.025,0.028,0.026,
+0.100,0.135,0.080,0.063,0.123,0.248,0.213,0.107,0.143,0.067,
+0.206,0.171,0.057,0.143,0.142,0.115,0.023,0.076,0.036,0.017,
+0.042,0.127,0.105,0.041,0.057,0.095,0.137,0.066,0.017,0.070,
+0.047,0.024,0.085,0.306,0.185,0.101,0.039,0.165,0.127,0.040,
+0.167,0.102,0.247,0.165,0.053,0.208,0.186,0.114,0.060,0.085,
+0.089,0.069,0.137,0.348,0.262,0.198,0.148,0.066,0.247,0.258,
+0.066,0.128,0.168,0.138,0.100,0.091,0.064,0.074,0.072,0.086,
+0.056,0.051,0.077,0.019,0.060,0.068,0.064,0.091,0.058,0.103,
+0.147,0.227,0.128,0.124,0.187,0.383,0.216,0.157,0.186,0.080,
+0.228,0.214,0.085,0.240,0.145,0.137,0.106,0.208,0.134,0.108,
+0.022,0.064,0.055,0.025,0.183,0.054,0.171,0.166,0.068,0.204,
+0.151,0.127,0.084,0.090,0.086,0.089,0.116,0.154,0.117,0.106,
+0.139,0.036,0.189,0.177,0.127,0.336,0.164,0.172,0.159,0.103,
+0.080,0.114,0.121,0.087,0.085,0.116,0.097,0.012,0.051,0.093,
+0.099,0.110,0.064,0.127,0.115,0.100,0.068,0.076,0.100,0.088,
+0.085,0.089,0.091,0.016,0.078,0.087,0.082,0.114,0.053,0.085,
+0.085,0.092,0.067,0.093,0.013,0.012,0.013,0.017,0.059,9.19e-3,
+0.048,0.059,0.043,0.065,0.050,0.083,0.110,0.072,0.069,0.121,
+0.109,0.083,0.076,0.138,0.098,0.011,0.069,0.118,0.111,0.088,
+0.102,0.230,0.234,0.191,0.159,0.139,0.258,0.210,0.431,0.170,
+0.141,0.032,0.152,0.160,0.096,0.210,0.138,0.143,0.214,0.284,
+0.160,0.160,0.251,0.306,0.322,0.230,0.219,0.071,0.288,0.276,
+0.136,0.418,0.150,0.147,0.126,0.226,0.166,0.155,0.023,0.055,
+0.061,0.043,0.145,0.036,0.148,0.165,0.080,0.216,0.137,0.138,
+0.109,0.105,0.091,0.132,0.190,0.232,0.235,0.285,0.129,0.022,
+0.161,0.176,0.112,0.139,0.154,0.220,0.110,0.094,0.079,0.074,
+0.135,0.161,0.159,0.123,0.134,0.032,0.135,0.140,0.073,0.129,
+0.118,0.136,0.015,0.021,0.017,0.013,0.021,0.044,0.038,0.023,
+0.025,0.016,0.037,0.033,0.010,0.033,0.023,0.021,0.092,0.185,
+0.130,0.121,0.022,0.048,0.045,0.034,0.162,0.057,0.175,0.172,
+0.077,0.205,0.184,0.162,0.082,0.087,0.092,0.104,0.146,0.205,
+0.201,0.206,0.181,0.045,0.219,0.252,0.100,0.154,0.185,0.209,
+0.135,0.109,0.083,0.103,0.103,0.094,0.082,0.090,0.099,0.013,
+0.065,0.094,0.081,0.094,0.083,0.167,0.118,0.110,0.079,0.094,
+0.113,0.138,0.121,0.117,0.097,0.017,0.106,0.140,0.077,0.123,
+0.093,0.148,0.138,0.170,0.117,0.145,0.019,0.025,0.022,0.022,
+0.158,0.027,0.148,0.212,0.104,0.186,0.172,0.189,0.153,0.116,
+0.113,0.181,0.170,0.170,0.158,0.188,0.214,0.030,0.216,0.288,
+0.212,0.242,0.242,0.316,2.481,1.763,1.280,2.122,1.761,1.292,
+1.311,1.223,1.425,0.166,1.704,1.295,1.659,1.432,1.141,1.553,
+2.055,1.561,1.168,2.527,1.862,1.255,1.252,1.172,1.414,0.227,
+1.038,1.041,0.885,1.277,0.822,1.155,1.225,1.199,0.940,1.384,
+0.133,0.131,0.157,0.210,0.843,0.098,0.617,0.719,0.597,0.953,
+0.717,0.924,1.247,0.667,0.555,1.209,1.114,0.872,0.736,0.992,
+1.017,0.108,0.587,0.803,1.115,0.629,0.870,1.421,2.402,1.835,
+0.980,1.520,2.076,1.770,1.315,1.329,1.682,0.266,1.002,1.322,
+0.994,1.374,0.739,1.136,2.181,2.290,1.264,1.773,1.875,1.296,
+1.630,1.309,3.231,0.980,1.690,1.936,1.075,2.329,0.863,1.029,
+1.335,1.786,1.190,1.334,0.228,0.259,0.261,0.263,1.669,0.270,
+1.252,1.436,0.736,1.533,1.098,1.096,0.981,0.698,0.486,0.853,
+1.365,1.307,1.053,1.274,1.234,0.149,0.821,1.144,0.902,0.873,
+0.865,1.441,1.786,1.119,0.739,1.056,2.224,1.835,2.013,1.725,
+1.714,0.303,1.028,1.309,1.131,1.716,1.038,1.565,0.211,0.249,
+0.165,0.243,0.294,0.306,0.492,0.354,0.281,0.094,0.255,0.273,
+0.205,0.577,0.216,0.293,1.338,1.518,5.562,4.482,0.318,0.281,
+4.967,2.711,1.446,0.264,1.088,1.155,0.706,1.399,1.449,1.260,
+0.976,0.704,0.803,1.088,1.751,1.506,6.308,4.500,1.184,0.193,
+1.010,1.271,0.903,1.041,1.136,1.516,2.134,0.720,0.526,1.028,
+0.948,0.659,0.597,0.660,0.802,0.108,0.460,0.667,0.958,1.041,
+0.620,1.209,1.466,1.269,0.785,1.415,1.225,1.157,1.173,1.070,
+1.127,0.186,0.926,1.243,0.924,1.703,0.818,1.284,0.991,1.200,
+1.141,1.367,0.128,0.139,0.320,0.295,1.019,0.128,0.875,1.459,
+0.778,1.354,1.103,1.493,1.229,0.769,0.626,1.386,0.946,0.786,
+1.036,1.252,1.310,0.142,1.026,1.897,1.449,1.402,1.512,2.397,
+0.161,0.153,0.102,0.206,0.156,0.147,0.171,0.135,0.103,0.025,
+0.068,0.094,0.089,0.124,0.084,0.142,0.236,0.270,0.276,1.317,
+0.275,0.274,0.382,0.316,0.241,0.111,0.208,0.191,0.096,0.243,
+0.126,0.154,0.076,0.147,0.098,0.136,0.021,0.033,0.033,0.031,
+0.098,0.028,0.103,0.107,0.059,0.132,0.106,0.145,0.079,0.059,
+0.055,0.108,0.112,0.119,0.105,0.103,0.077,0.017,0.071,0.085,
+0.075,0.080,0.093,0.144,0.160,0.204,0.101,0.104,0.190,0.247,
+0.226,0.139,0.176,0.093,0.096,0.101,0.064,0.160,0.075,0.083,
+0.256,0.434,0.255,0.256,0.297,0.296,0.378,0.226,0.836,0.636,
+0.348,0.321,0.164,0.642,0.143,0.130,0.123,0.282,0.151,0.134,
+0.049,0.123,0.106,0.064,0.227,0.129,0.229,0.212,0.084,0.282,
+0.216,0.152,0.073,0.080,0.052,0.066,0.141,0.194,0.147,0.143,
+0.122,0.045,0.121,0.106,0.063,0.102,0.088,0.111,0.124,0.120,
+0.070,0.076,0.241,0.275,0.304,0.163,0.156,0.055,0.136,0.111,
+0.067,0.132,0.120,0.114,0.026,0.064,0.039,0.047,0.079,0.136,
+0.151,0.067,0.061,0.081,0.107,0.065,0.017,0.078,0.054,0.036,
+0.115,0.225,0.255,0.213,0.056,0.120,0.275,0.094,0.229,0.121,
+0.297,0.208,0.081,0.284,0.265,0.184,0.085,0.071,0.072,0.080,
+0.179,0.281,0.384,0.248,0.151,0.056,0.219,0.172,0.072,0.134,
+0.167,0.150,0.144,0.103,0.073,0.101,0.094,0.090,0.075,0.079,
+0.072,0.014,0.053,0.064,0.069,0.103,0.077,0.122,0.187,0.255,
+0.153,0.287,0.220,0.277,0.242,0.215,0.187,0.062,0.166,0.178,
+0.109,0.284,0.145,0.189,0.084,0.156,0.123,0.123,0.017,0.045,
+0.041,0.029,0.117,0.035,0.143,0.177,0.075,0.174,0.157,0.158,
+0.090,0.073,0.059,0.100,0.085,0.107,0.096,0.108,0.108,0.019,
+0.123,0.153,0.105,0.141,0.153,0.193,1.206,1.235,0.867,1.270,
+1.391,1.190,0.918,0.884,0.786,0.104,0.562,0.668,0.593,0.596,
+0.461,0.692,2.053,2.038,1.083,1.261,3.642,2.008,1.971,1.398,
+1.821,0.364,1.993,1.654,0.779,1.565,0.815,0.980,0.885,1.587,
+0.962,1.025,0.220,0.330,0.258,0.270,0.957,0.219,1.023,1.043,
+0.450,1.240,0.811,0.885,0.741,0.562,0.401,0.662,1.004,1.038,
+0.812,0.901,0.922,0.126,0.790,1.020,0.659,0.766,0.794,1.384,
+0.119,0.151,0.079,0.103,0.227,0.330,0.213,0.171,0.108,0.042,
+0.128,0.110,0.054,0.105,0.069,0.084,0.181,0.273,0.135,0.120,
+0.469,0.378,0.461,0.249,0.255,0.161,0.500,0.298,0.073,0.217,
+0.113,0.101,0.094,0.255,0.133,0.132,0.046,0.123,0.107,0.052,
+0.191,0.096,0.246,0.204,0.056,0.202,0.143,0.109,0.091,0.079,
+0.050,0.086,0.179,0.266,0.178,0.187,0.123,0.040,0.150,0.181,
+0.077,0.107,0.107,0.161,1.525,1.117,0.724,0.579,1.604,2.039,
+1.818,1.230,1.266,0.319,1.391,1.103,0.563,1.061,1.030,0.978,
+0.168,0.325,0.175,0.113,0.267,0.464,0.365,0.186,0.282,0.167,
+0.510,0.260,0.099,0.335,0.224,0.156,1.141,1.627,1.284,0.937,
+0.234,0.309,0.384,0.210,0.961,0.251,0.277,0.467,0.433,0.951,
+1.011,0.811,0.647,0.584,0.577,0.484,1.150,1.593,1.493,1.039,
+1.154,0.246,1.562,1.291,0.593,0.886,1.233,1.150,0.929,0.647,
+0.528,0.642,0.797,0.767,0.602,0.463,0.601,0.096,0.522,0.549,
+0.464,0.570,0.425,0.628,1.274,1.518,0.938,0.888,1.675,2.076,
+1.525,1.035,1.389,0.282,1.780,1.541,0.724,1.604,1.001,0.981,
+0.936,1.421,1.081,1.118,0.142,0.276,0.226,0.172,1.198,0.196,
+1.239,1.206,0.572,1.295,1.063,1.025,0.752,0.627,0.501,0.657,
+0.884,1.120,0.792,0.785,1.085,0.160,1.284,1.243,0.922,1.317,
+1.201,1.257,1.401,0.836,0.561,1.036,0.837,0.651,0.539,0.656,
+0.661,0.081,0.446,0.611,0.712,0.654,0.466,0.893,1.219,0.886,
+0.578,0.770,1.229,0.685,1.098,0.861,0.696,0.091,0.606,0.605,
+0.505,0.613,0.393,0.584,0.691,0.842,0.468,0.724,0.089,0.096,
+0.077,0.124,0.660,0.087,0.415,0.601,0.500,0.680,0.500,0.785,
+0.793,0.515,0.348,0.694,0.715,0.637,0.465,0.757,0.560,0.059,
+0.385,0.627,0.673,0.616,0.561,1.305,1.676,1.435,0.889,1.192,
+1.677,1.559,1.674,1.336,0.999,0.166,1.083,1.012,0.655,0.942,
+0.574,0.919,1.958,2.083,1.622,1.435,2.785,2.146,5.433,3.280,
+1.929,0.477,2.722,1.950,0.739,1.507,1.042,1.001,1.012,1.893,
+0.919,1.022,0.171,0.286,0.233,0.232,1.179,0.220,1.142,1.410,
+0.630,1.479,0.978,1.163,1.036,0.781,0.507,0.783,1.373,1.487,
+1.239,1.417,0.898,0.134,0.924,1.290,0.739,0.865,0.811,1.506,
+1.803,1.151,1.153,1.021,1.774,1.837,1.792,1.951,1.313,0.235,
+1.102,1.255,0.808,1.095,1.040,1.399,0.276,0.198,0.381,0.181,
+0.230,0.348,0.423,0.295,0.203,0.075,0.297,0.279,0.109,0.253,
+0.164,0.182,1.479,2.356,1.410,1.377,0.245,0.328,0.407,0.294,
+3.304,0.896,1.479,1.807,1.063,2.650,1.564,1.552,0.923,0.934,
+0.724,0.781,1.594,1.782,1.912,1.623,1.417,0.254,1.474,1.748,
+0.865,1.185,1.358,1.719,1.433,0.690,0.564,0.812,0.803,0.671,
+0.566,0.626,0.699,0.084,0.501,0.645,0.719,0.643,0.539,1.073,
+1.481,1.020,1.037,0.892,1.166,1.280,1.259,1.065,0.991,0.127,
+0.959,1.186,0.782,0.980,0.747,1.031,1.122,1.603,0.912,1.214,
+0.133,0.173,0.138,0.165,1.466,0.211,1.390,1.663,0.904,1.499,
+1.366,1.511,1.265,0.805,0.652,1.136,1.190,1.240,1.089,1.242,
+1.263,0.131,1.384,1.763,1.392,1.310,1.551,1.925,2.349,1.375,
+1.185,2.106,1.373,0.988,0.809,0.925,1.293,0.122,0.526,0.910,
+1.525,1.208,0.721,1.420,1.536,0.941,0.719,1.066,0.989,0.668,
+0.642,0.620,0.871,0.088,0.580,0.760,0.746,0.816,0.503,0.817,
+0.982,0.775,0.654,1.273,0.098,0.081,0.074,0.138,0.608,0.064,
+0.326,0.493,0.587,0.699,0.491,0.911,1.470,0.639,0.634,1.353,
+1.069,0.716,0.659,1.001,0.771,0.077,0.450,0.760,1.344,0.758,
+0.808,3.219,1.890,1.203,0.698,1.123,1.245,0.824,0.571,0.717,
+0.819,0.094,0.413,0.765,0.743,0.645,0.420,0.812,1.132,0.809,
+0.964,0.993,0.677,0.462,0.465,0.464,0.787,0.140,0.427,0.578,
+0.501,0.656,0.374,0.539,0.715,0.760,0.437,0.656,0.063,0.072,
+0.052,0.069,0.560,0.061,0.299,0.428,0.593,0.657,0.447,0.574,
+0.901,0.430,0.323,0.649,0.684,0.561,0.383,0.606,0.591,0.060,
+0.355,0.556,0.659,0.479,0.490,0.983,1.483,0.792,0.546,0.914,
+1.285,0.857,0.740,1.008,0.932,0.144,0.387,0.662,0.909,0.915,
+0.583,1.092,0.121,0.097,0.074,0.137,0.108,0.107,0.080,0.096,
+0.116,0.030,0.067,0.095,0.127,0.206,0.078,0.133,0.775,0.714,
+0.832,1.108,0.088,0.083,0.216,0.190,0.760,0.111,0.375,0.551,
+0.575,0.853,0.587,0.734,0.818,0.640,0.481,0.845,1.011,0.883,
+0.861,1.066,1.772,0.701,0.748,1.034,0.970,1.680,0.839,1.367,
+1.910,0.709,0.587,1.278,0.857,0.551,0.510,0.749,0.792,0.076,
+0.409,0.673,1.128,0.798,0.546,1.291,1.246,0.844,0.637,1.444,
+0.801,0.635,0.533,0.644,0.782,0.083,0.532,0.754,0.825,1.063,
+0.566,0.993,0.815,0.682,0.583,0.949,0.074,0.062,0.058,0.099,
+0.609,0.059,0.410,0.735,0.643,0.856,0.601,0.942,1.384,0.681,
+0.676,1.677,0.941,0.606,0.635,1.106,1.112,0.150,0.708,1.351,
+1.610,1.408,1.325,2.797,2.707,1.767,1.247,2.063,1.799,1.470,
+1.181,1.322,1.236,0.161,0.625,1.130,1.215,1.261,0.829,1.558,
+2.151,1.801,1.693,2.840,1.736,1.441,1.807,1.486,1.508,0.280,
+1.203,1.436,0.881,1.407,0.949,1.267,1.021,1.199,0.844,1.189,
+0.112,0.162,0.126,0.168,0.805,0.127,0.690,0.881,0.591,1.020,
+0.788,1.202,1.167,0.665,0.590,0.988,1.221,1.125,0.818,1.021,
+0.718,0.093,0.599,0.878,0.942,0.796,0.855,1.680,2.386,2.094,
+1.275,1.721,2.118,2.156,1.326,1.597,1.171,0.274,0.707,1.004,
+0.822,1.197,0.644,1.148,2.191,2.218,3.647,3.455,1.833,1.396,
+1.641,1.389,2.551,0.954,1.418,1.683,0.949,2.325,0.957,1.137,
+1.005,1.483,0.987,1.184,0.150,0.249,0.172,0.184,1.156,0.252,
+0.919,1.122,0.665,1.492,0.967,1.317,0.942,0.709,0.660,0.889,
+1.161,1.291,0.871,1.059,0.899,0.123,0.687,1.151,0.803,0.883,
+0.779,1.289,1.563,1.135,0.710,0.997,1.974,1.789,1.637,1.596,
+1.180,0.242,0.817,0.936,0.866,1.137,0.935,1.343,0.129,0.190,
+0.146,0.203,0.209,0.310,0.257,0.209,0.158,0.085,0.191,0.177,
+0.114,0.307,0.163,0.181,1.146,1.511,1.161,1.367,0.166,0.269,
+0.283,0.238,1.413,0.288,1.127,1.343,0.769,1.759,1.462,1.550,
+0.970,0.667,0.675,1.110,1.467,1.760,1.768,1.744,1.322,0.220,
+1.286,1.544,0.957,1.162,1.508,1.937,1.469,0.916,0.821,1.159,
+0.922,0.812,0.681,0.835,0.841,0.096,0.577,0.731,0.827,0.826,
+0.695,1.329,1.628,1.643,1.113,1.723,1.352,1.654,1.320,1.368,
+1.281,0.224,1.123,1.433,1.039,2.245,1.173,1.573,0.928,1.286,
+0.961,1.223,0.089,0.149,0.107,0.132,0.908,0.129,0.891,1.193,
+0.686,1.214,1.059,1.418,1.194,0.761,0.700,1.137,0.962,0.983,
+0.765,1.026,0.999,0.114,0.954,1.388,1.229,1.330,1.516,2.305,
+1.599,1.307,0.856,1.339,1.190,1.046,1.093,1.118,0.906,0.112,
+0.463,0.730,0.890,0.857,0.497,0.920,1.763,1.972,0.913,1.122,
+1.815,1.515,1.362,1.091,1.448,0.255,1.358,1.427,0.869,1.563,
+0.823,1.113,0.962,1.617,0.965,1.063,0.137,0.245,0.210,0.214,
+0.943,0.256,0.685,0.906,0.814,2.959,0.898,1.015,0.900,0.688,
+0.477,0.837,0.955,0.992,0.865,0.926,0.999,0.135,0.728,1.114,
+1.048,1.101,1.032,1.866,0.111,0.129,0.092,0.101,0.177,0.166,
+0.124,0.109,0.071,0.019,0.067,0.072,0.061,0.102,0.059,0.100,
+0.122,0.206,0.101,0.112,0.186,0.218,0.187,0.122,0.151,0.077,
+0.217,0.181,0.068,0.190,0.090,0.108,0.069,0.157,0.089,0.079,
+0.019,0.054,0.047,0.024,0.113,0.049,0.132,0.126,0.063,0.253,
+0.137,0.108,0.085,0.074,0.047,0.081,0.129,0.165,0.125,0.127,
+0.102,0.026,0.109,0.126,0.094,0.105,0.110,0.157,1.392,1.099,
+0.678,0.694,1.449,1.706,1.416,1.028,1.059,0.293,1.167,1.025,
+0.685,1.285,1.175,1.203,0.133,0.217,0.104,0.096,0.164,0.260,
+0.194,0.127,0.163,0.088,0.481,0.173,0.099,0.290,0.184,0.142,
+1.136,1.840,1.307,1.055,0.174,0.320,0.251,0.172,1.379,0.291,
+0.689,1.020,0.644,1.678,1.192,1.086,0.859,0.812,0.646,0.710,
+1.387,1.893,1.358,1.135,1.287,0.259,1.412,1.488,0.904,1.326,
+1.307,1.476,1.212,0.815,0.568,0.891,0.896,0.805,0.564,0.602,
+0.765,0.113,0.651,0.734,0.665,0.795,0.607,1.047,1.664,1.631,
+0.941,1.193,1.551,1.765,1.150,0.962,1.521,0.256,1.955,1.739,
+1.047,2.068,1.358,1.463,1.074,1.553,0.941,1.129,0.113,0.198,
+0.138,0.139,1.335,0.182,1.039,1.376,0.887,1.895,1.331,1.412,
+1.244,0.880,0.766,1.032,1.000,1.170,0.862,0.995,1.410,0.170,
+1.432,1.781,1.510,1.700,1.656,1.972,2.223,1.001,0.684,1.331,
+0.910,0.658,0.508,0.733,0.758,0.084,0.385,0.692,1.001,0.798,
+0.536,1.263,1.172,0.836,0.441,0.719,0.755,0.559,0.479,0.551,
+0.708,0.086,0.471,0.772,0.552,0.685,0.396,0.793,0.901,0.919,
+0.483,0.961,0.082,0.085,0.060,0.111,0.568,0.075,0.327,0.595,
+0.566,0.877,0.467,0.852,1.091,0.663,0.482,1.072,0.767,0.573,
+0.508,0.840,0.736,0.065,0.539,0.894,1.055,0.764,0.812,2.103,
+1.472,1.094,0.740,1.011,1.092,0.918,0.807,0.793,0.688,0.090,
+0.457,0.765,0.653,0.828,0.477,1.020,1.286,1.141,0.688,0.849,
+1.075,0.935,1.140,0.909,0.981,0.159,0.867,1.032,0.582,0.972,
+0.561,0.865,0.854,1.541,0.609,0.803,0.070,0.137,0.079,0.096,
+0.767,0.109,0.574,0.830,0.609,1.081,0.699,1.149,0.810,0.610,
+0.428,0.739,0.855,0.824,0.725,0.890,0.829,0.079,0.669,0.977,
+0.880,0.729,0.752,1.499,1.681,1.057,0.781,0.950,1.516,1.361,
+1.105,1.371,1.130,0.180,0.768,1.113,1.058,1.181,1.151,1.642,
+0.125,0.135,0.095,0.099,0.126,0.165,0.128,0.120,0.105,0.031,
+0.122,0.138,0.121,0.188,0.132,0.167,1.355,1.834,1.152,1.341,
+0.135,0.202,0.157,0.177,1.711,0.308,1.106,1.528,1.091,2.042,
+1.569,1.862,1.176,1.067,0.796,1.055,1.477,1.618,1.543,1.619,
+1.531,0.203,1.379,1.907,1.238,1.443,1.410,2.263,2.327,1.102,
+0.720,1.324,1.095,0.848,0.637,0.860,1.081,0.113,0.602,1.038,
+1.473,1.117,0.896,2.530,1.749,1.214,0.778,1.117,1.388,1.361,
+0.922,1.031,1.301,0.122,1.047,1.495,1.273,1.433,1.040,1.967,
+1.574,1.631,0.969,1.542,0.116,0.136,0.090,0.143,1.508,0.145,
+1.194,1.788,1.452,1.956,1.653,2.320,2.360,1.200,1.028,2.122,
+1.575,1.404,1.202,1.700,1.860,0.138,1.710,2.556,2.463,1.815,
+1.864,2.878,3.960,2.482,1.936,4.141,2.472,1.487,1.312,1.790,
+2.532,0.239,1.083,1.965,4.229,2.889,1.547,3.363,2.561,1.451,
+1.100,1.518,1.541,1.002,0.779,0.939,1.409,0.103,0.722,1.045,
+1.245,1.140,0.774,1.414,2.156,1.492,1.190,2.024,0.164,0.134,
+0.104,0.225,1.048,0.098,0.501,0.810,1.157,1.191,0.783,1.375,
+3.574,1.385,1.585,3.539,2.394,1.575,1.360,2.297,1.445,0.122,
+0.759,1.371,2.339,1.458,1.352,2.835,2.770,1.347,0.993,1.622,
+1.540,0.956,0.710,0.959,1.166,0.119,0.763,1.028,1.214,1.045,
+0.624,1.227,1.544,0.945,0.602,0.823,0.915,0.572,0.462,0.510,
+0.814,0.070,0.445,0.643,0.662,0.646,0.415,0.690,1.183,0.963,
+0.793,1.073,0.091,0.092,0.072,0.106,0.983,0.164,0.451,0.631,
+0.723,0.807,0.494,0.734,1.362,0.898,0.795,1.208,1.271,1.104,
+0.946,1.106,1.016,0.081,0.601,0.956,1.114,0.864,0.877,1.589,
+2.025,0.999,0.807,1.313,1.513,0.875,0.804,1.002,1.216,0.132,
+0.528,0.911,1.245,1.094,0.833,1.627,0.142,0.119,0.066,0.109,
+0.099,0.108,0.067,0.086,0.103,0.014,0.056,0.093,0.140,0.173,
+0.085,0.163,1.076,0.714,0.673,0.813,0.082,0.071,0.062,0.088,
+0.627,0.062,0.351,0.506,0.544,0.649,0.527,0.701,1.145,0.678,
+0.653,1.052,1.265,1.194,0.793,1.004,1.059,0.107,0.590,0.894,
+1.131,1.293,0.987,1.684,3.025,1.162,1.071,2.477,1.235,0.725,
+0.775,1.056,1.378,0.133,0.585,1.022,1.828,1.194,1.018,2.390,
+1.693,1.157,0.771,1.186,1.015,0.900,0.691,0.782,1.008,0.089,
+0.575,0.981,1.074,1.052,0.772,1.372,1.338,0.871,0.748,1.138,
+0.090,0.068,0.074,0.110,0.835,0.077,0.608,0.864,0.867,0.853,
+0.693,1.079,2.053,0.996,1.041,2.051,1.192,0.839,0.910,1.283,
+1.503,0.099,0.911,1.621,2.456,1.823,1.648,3.580,3.232,1.891,
+1.380,2.416,1.660,1.151,0.849,1.117,1.091,0.125,0.478,0.990,
+1.575,1.544,0.839,1.854,1.937,1.362,1.988,1.878,1.111,0.808,
+0.760,0.814,0.786,0.084,0.530,0.756,0.753,0.869,0.595,0.965,
+1.010,0.948,0.785,1.074,0.094,0.104,0.076,0.123,0.497,0.055,
+0.344,0.478,0.586,0.737,0.469,0.852,1.316,0.689,0.791,1.262,
+1.089,0.946,0.780,0.992,0.645,0.060,0.395,0.746,1.020,0.709,
+0.752,1.679,1.891,1.264,0.640,1.148,1.240,0.982,0.602,0.763,
+0.664,0.077,0.353,0.594,0.706,0.753,0.407,0.983,1.137,0.926,
+0.552,0.671,0.831,0.525,0.519,0.529,0.599,0.074,0.384,0.545,
+0.483,0.666,0.345,0.576,0.898,0.946,0.680,0.836,0.076,0.107,
+0.080,0.082,0.529,0.086,0.371,0.470,0.520,0.749,0.417,0.718,
+0.928,0.717,0.596,0.878,0.871,0.974,0.829,0.813,0.624,0.057,
+0.369,0.739,0.636,0.580,0.487,1.041,1.358,0.854,0.562,0.932,
+1.156,0.901,0.764,0.831,0.855,0.125,0.473,0.673,0.778,0.825,
+0.635,1.239,0.073,0.089,0.069,0.092,0.072,0.150,0.066,0.070,
+0.075,0.024,0.055,0.068,0.069,0.131,0.059,0.093,0.898,0.990,
+0.783,0.910,0.108,0.241,0.072,0.089,0.559,0.065,0.412,0.544,
+0.471,0.669,0.567,0.697,0.881,1.151,0.618,0.901,1.547,4.660,
+0.849,1.058,0.861,0.110,0.529,0.830,0.766,0.757,0.739,1.238,
+1.283,0.710,0.594,1.082,0.806,0.525,0.504,0.905,0.639,0.060,
+0.335,0.561,0.857,0.615,0.541,1.377,0.938,0.787,0.541,0.812,
+0.639,0.741,0.515,0.700,0.515,0.070,0.387,0.605,0.583,0.712,
+0.450,0.876,0.782,0.671,0.581,0.835,0.057,0.059,0.043,0.067,
+0.509,0.044,0.487,0.511,0.500,0.571,0.544,0.748,1.079,0.615,
+0.669,1.039,0.775,0.926,0.606,0.837,0.863,0.074,0.558,1.023,
+1.182,1.098,1.114,1.982,2.136,1.252,0.752,1.441,0.931,0.669,
+0.458,0.727,0.770,0.102,0.468,0.688,1.188,1.164,0.522,1.190,
+1.468,1.165,0.695,1.049,0.831,0.663,0.656,0.702,0.877,0.113,
+0.611,0.737,1.134,1.603,0.596,0.999,0.943,1.033,0.717,1.044,
+0.099,0.110,0.085,0.158,0.491,0.059,0.275,0.418,0.501,0.704,
+0.469,0.728,1.218,0.777,0.728,1.362,0.955,0.765,0.636,1.043,
+0.725,0.073,0.436,0.770,1.050,0.810,0.937,2.088,0.124,0.091,
+0.053,0.088,0.105,0.079,0.050,0.064,0.064,0.014,0.038,0.057,
+0.082,0.104,0.052,0.095,0.101,0.098,0.046,0.058,0.077,0.076,
+0.051,0.052,0.069,0.015,0.060,0.061,0.080,0.125,0.048,0.081,
+0.066,0.090,0.055,0.071,8.02e-3,0.016,0.012,0.011,0.050,9.19e-3,
+0.035,0.051,0.050,0.076,0.045,0.073,0.135,0.103,0.082,0.154,
+0.138,0.159,0.115,0.148,0.081,0.012,0.057,0.095,0.110,0.108,
+0.095,0.198,0.924,0.647,0.383,0.566,0.686,0.629,0.552,0.527,
+0.795,0.113,0.401,0.525,0.663,0.814,0.466,0.846,0.072,0.079,
+0.043,0.054,0.056,0.074,0.050,0.047,0.069,0.016,0.051,0.054,
+0.078,0.113,0.051,0.076,0.717,0.759,0.475,0.546,0.075,0.097,
+0.062,0.066,0.508,0.060,0.260,0.332,0.344,0.481,0.367,0.467,
+0.691,0.632,0.662,0.661,0.794,1.175,0.624,0.722,0.680,0.078,
+0.461,0.635,0.589,0.647,0.617,0.909,1.014,0.596,0.415,0.734,
+0.634,0.448,0.310,0.425,0.640,0.074,0.295,0.558,0.827,0.814,
+0.415,1.095,1.074,0.786,0.477,0.781,0.783,0.808,0.464,0.550,
+0.680,0.071,0.482,0.697,0.774,0.879,0.472,0.859,0.833,0.790,
+0.504,0.680,0.067,0.085,0.051,0.070,0.642,0.056,0.368,0.508,
+0.547,0.693,0.487,0.761,1.138,0.772,0.782,0.940,0.825,0.800,
+0.559,0.742,1.002,0.098,0.680,0.952,1.343,1.395,1.004,1.820,
+2.987,1.327,1.044,2.182,1.069,0.622,0.544,0.759,1.051,0.099,
+0.459,0.858,2.302,1.263,0.778,2.271,1.262,0.751,0.522,0.858,
+0.656,0.414,0.398,0.513,0.774,0.066,0.437,0.664,0.965,0.775,
+0.508,1.053,1.256,0.921,0.723,1.316,0.094,0.082,0.063,0.148,
+0.586,0.050,0.303,0.564,0.705,0.663,0.496,1.055,2.075,1.032,
+1.225,2.815,1.246,0.812,0.810,1.432,0.993,0.076,0.614,1.035,
+1.717,1.058,1.298,3.053,1.738,0.965,0.630,1.223,1.023,0.674,
+0.477,0.717,0.772,0.082,0.431,0.737,0.974,0.946,0.516,1.117,
+1.078,0.823,0.465,0.696,0.683,0.583,0.393,0.459,0.709,0.081,
+0.499,0.671,0.736,0.739,0.430,0.706,0.856,0.738,0.495,0.934,
+0.061,0.061,0.049,0.087,0.627,0.055,0.334,0.585,0.629,0.658,
+0.422,0.823,1.250,0.782,0.719,1.486,1.143,0.919,0.774,1.333,
+0.881,0.065,0.532,0.945,1.067,0.894,0.888,1.886,1.256,0.688,
+0.563,0.873,0.973,0.675,0.563,0.853,0.997,0.107,0.539,0.902,
+0.970,0.796,0.704,1.380,0.075,0.064,0.046,0.086,0.057,0.066,
+0.048,0.058,0.070,8.77e-3,0.050,0.107,0.085,0.090,0.057,0.110,
+0.759,0.740,0.526,0.826,0.057,0.062,0.046,0.085,0.664,0.065,
+0.404,0.654,0.553,0.655,0.560,0.891,0.950,0.695,0.772,1.065,
+1.096,1.093,0.834,1.274,1.132,0.085,0.756,1.144,1.064,0.877,
+1.113,1.954,2.163,1.040,0.949,1.706,1.056,0.708,0.571,0.855,
+1.159,0.108,0.588,1.012,1.624,1.095,0.898,2.465,1.188,0.762,
+0.561,1.024,0.783,0.612,0.511,0.697,0.766,0.059,0.572,0.970,
+0.905,0.821,0.641,1.360,1.379,1.153,0.823,1.402,0.097,0.084,
+0.065,0.127,1.717,0.117,0.721,1.080,1.237,1.229,1.014,1.619,
+2.478,1.272,1.431,2.912,1.842,1.488,1.334,2.215,2.257,0.129,
+1.529,2.534,3.710,2.480,2.567,4.824,3.903,2.384,1.840,3.049,
+2.679,1.610,1.221,1.496,1.849,0.229,1.310,1.940,2.949,2.174,
+1.344,2.403,2.409,1.706,1.112,1.425,1.822,1.292,0.926,1.035,
+1.280,0.149,1.009,1.127,1.122,1.340,0.925,1.295,1.660,1.288,
+1.033,1.541,0.166,0.143,0.110,0.192,0.989,0.205,0.590,0.712,
+0.919,1.108,0.839,1.150,2.134,0.946,0.903,1.855,2.166,1.285,
+0.959,1.456,1.107,0.109,0.709,1.068,1.614,1.063,1.249,2.260,
+2.910,1.958,1.788,1.750,2.180,1.451,1.028,1.078,1.505,0.263,
+2.385,2.337,1.385,1.507,1.156,1.612,2.018,1.736,1.040,1.174,
+1.536,1.201,0.938,0.956,1.322,0.223,1.061,1.275,0.873,1.202,
+0.785,1.060,1.353,1.579,0.936,1.185,0.221,0.249,0.140,0.145,
+2.974,1.282,0.909,1.013,1.425,2.423,0.926,1.002,1.068,0.822,
+0.560,0.865,1.884,1.310,0.853,1.152,1.250,0.207,0.698,0.978,
+1.096,1.013,1.214,1.713,1.750,1.095,0.761,1.093,2.131,1.325,
+1.111,1.173,1.378,0.224,0.774,0.999,1.105,1.246,0.971,1.687,
+0.134,0.151,0.086,0.134,0.159,0.207,0.125,0.135,0.155,0.053,
+0.114,0.138,0.121,0.246,0.137,0.195,0.956,0.957,0.792,0.875,
+0.124,0.117,0.110,0.140,0.962,0.177,0.595,0.825,0.657,1.034,
+0.860,1.140,0.982,0.641,0.614,0.966,1.353,1.119,0.990,1.193,
+1.312,0.149,0.801,1.100,1.144,1.374,1.228,1.849,1.939,0.974,
+0.754,1.353,1.160,0.709,0.579,0.775,1.088,0.149,0.554,0.904,
+1.245,1.108,0.771,1.790,1.651,1.289,0.828,1.397,1.369,1.290,
+0.857,1.120,1.058,0.157,0.746,1.268,0.890,1.345,0.896,1.688,
+0.976,0.897,0.668,1.023,0.093,0.089,0.083,0.133,1.272,0.319,
+0.615,1.850,0.765,1.311,0.819,1.304,1.418,0.812,0.762,1.486,
+1.011,0.850,0.748,1.075,1.269,0.141,0.950,2.294,1.653,1.531,
+1.512,3.061,2.749,1.889,1.263,1.973,1.906,1.501,1.111,1.215,
+1.092,0.139,0.577,0.911,1.386,1.380,0.934,1.775,2.012,1.639,
+1.056,1.328,1.538,1.336,1.046,1.093,1.016,0.171,0.814,1.012,
+0.715,1.195,0.703,0.944,0.906,1.045,0.763,0.997,0.106,0.142,
+0.110,0.147,0.549,0.079,0.473,0.578,0.479,0.741,0.583,0.832,
+1.096,0.603,0.549,1.082,1.058,1.034,0.732,0.881,0.813,0.084,
+0.565,0.793,0.869,0.706,0.789,1.439,2.195,1.938,0.929,1.352,
+2.032,2.145,1.291,1.124,0.956,0.147,0.696,0.866,0.770,1.074,
+0.621,1.385,1.897,2.086,1.025,1.078,1.349,0.728,0.953,0.956,
+1.142,0.238,0.914,1.096,0.608,1.307,0.680,0.873,1.104,1.481,
+0.807,1.030,0.159,0.255,0.169,0.155,0.846,0.193,0.655,0.741,
+0.535,1.152,0.786,0.907,0.845,0.844,0.535,0.767,1.138,1.494,
+0.928,0.986,0.804,0.095,0.680,0.809,0.661,0.782,0.710,1.251,
+1.488,1.087,0.656,0.890,1.931,1.548,1.154,1.066,1.626,0.485,
+0.760,0.833,0.927,1.584,0.816,1.370,0.120,0.205,0.083,0.127,
+0.141,0.294,0.179,0.134,0.380,0.273,0.199,0.172,0.113,0.494,
+0.116,0.127,1.029,1.293,0.938,0.970,0.151,0.242,0.169,0.160,
+0.956,0.173,0.728,0.833,0.559,1.127,0.944,0.958,0.887,0.607,
+0.726,0.907,1.437,1.752,1.340,1.338,2.103,0.204,0.959,1.158,
+1.327,1.022,1.223,1.582,1.300,0.850,0.616,0.934,1.109,0.758,
+0.602,0.691,0.884,0.128,0.442,0.546,0.878,0.807,0.651,1.166,
+1.384,1.416,0.788,1.231,1.143,1.416,1.146,1.305,1.273,0.383,
+0.755,0.899,0.640,1.466,0.689,0.975,0.771,1.002,0.662,0.838,
+0.073,0.097,0.069,0.094,0.674,0.083,0.623,0.753,0.578,0.853,
+0.730,0.895,1.139,0.656,0.766,1.010,0.842,0.828,0.976,0.993,
+0.950,0.091,0.745,1.515,1.120,1.206,1.299,2.045,1.489,1.254,
+0.714,1.184,1.018,0.860,0.552,0.673,0.687,0.144,0.444,0.564,
+0.964,1.790,0.605,0.942,1.336,1.491,0.695,1.032,1.081,1.314,
+0.801,0.895,1.091,0.340,0.940,0.929,1.068,4.586,0.696,1.002,
+0.840,1.121,0.787,0.878,0.115,0.156,0.137,0.182,0.601,0.105,
+0.434,0.552,0.430,0.898,0.514,0.652,0.798,0.597,0.493,0.971,
+0.841,0.832,0.732,0.959,0.648,0.084,0.490,0.728,0.817,0.829,
+0.784,1.570,0.090,0.094,0.056,0.068,0.154,0.135,0.087,0.077,
+0.063,0.020,0.057,0.070,0.066,0.153,0.086,0.082,0.094,0.137,
+0.065,0.074,0.139,0.231,0.126,0.100,0.111,0.054,0.124,0.110,
+0.086,0.360,0.070,0.087,0.064,0.123,0.088,0.082,0.021,0.048,
+0.050,0.026,0.096,0.036,0.094,0.092,0.051,0.128,0.076,0.071,
+0.076,0.077,0.051,0.094,0.130,0.188,0.155,0.180,0.076,0.017,
+0.081,0.101,0.072,0.093,0.090,0.146,1.019,1.044,0.528,0.615,
+1.055,1.381,0.945,0.737,1.037,0.203,0.738,0.825,0.663,1.013,
+0.695,0.995,0.089,0.174,0.070,0.082,0.104,0.253,0.146,0.093,
+0.157,0.052,0.134,0.121,0.084,0.266,0.099,0.112,0.772,1.457,
+0.810,0.804,0.117,0.264,0.160,0.134,0.890,0.172,0.586,0.678,
+0.511,1.079,0.762,0.951,0.722,0.899,0.765,0.735,1.169,2.209,
+1.144,1.164,1.003,0.175,0.842,1.069,0.747,0.977,0.992,1.340,
+1.168,0.897,0.490,0.822,0.783,0.962,0.424,0.508,0.808,0.112,
+0.432,0.668,0.954,0.995,0.522,1.106,1.388,1.701,0.743,1.040,
+1.447,3.220,1.083,1.000,1.371,0.235,0.930,1.258,0.892,1.711,
+0.865,1.164,1.144,1.371,0.809,0.868,0.093,0.162,0.097,0.100,
+0.903,0.123,0.699,0.879,0.676,1.234,0.794,1.071,1.098,1.017,
+0.794,1.073,0.943,1.160,0.755,0.915,1.124,0.128,1.035,1.368,
+1.479,1.738,1.349,2.026,1.956,0.968,0.837,1.510,1.005,0.624,
+0.510,0.817,0.812,0.087,0.417,0.752,1.086,0.972,0.590,1.357,
+1.095,0.769,0.553,0.731,0.682,0.578,0.448,0.576,0.695,0.086,
+0.522,0.662,0.664,1.040,0.478,0.794,1.105,0.931,0.703,0.982,
+0.090,0.076,0.061,0.135,0.521,0.058,0.360,0.529,0.495,0.583,
+0.444,0.871,1.274,0.707,0.701,1.488,0.947,0.626,0.568,1.262,
+0.770,0.062,0.477,0.881,1.159,0.731,0.843,2.103,1.830,1.200,
+0.796,1.266,1.559,1.152,1.117,1.062,0.991,0.138,0.725,1.036,
+1.046,1.327,0.723,1.216,1.370,1.252,0.733,0.941,1.227,1.256,
+0.931,0.999,1.195,0.213,0.975,1.296,0.941,1.585,0.822,1.075,
+0.979,1.137,0.750,1.082,0.102,0.137,0.125,0.188,0.852,0.124,
+0.640,0.854,0.708,1.102,0.684,1.006,1.006,0.890,0.622,1.354,
+1.393,1.472,1.187,2.599,0.869,0.096,0.785,1.191,0.963,0.960,
+0.965,1.982,1.139,0.803,0.592,0.777,1.241,1.034,0.820,0.939,
+1.029,0.158,0.693,0.983,0.858,0.973,0.777,1.305,0.086,0.089,
+0.053,0.092,0.088,0.136,0.091,0.090,0.081,0.024,0.079,0.123,
+0.072,0.144,0.080,0.110,0.805,1.091,0.729,1.089,0.083,0.121,
+0.091,0.139,0.915,0.146,0.782,0.918,0.653,1.125,0.993,1.338,
+0.816,0.764,0.702,1.068,1.230,1.455,1.130,1.756,1.188,0.142,
+0.968,1.309,1.041,1.047,1.262,1.914,1.633,1.015,0.755,1.208,
+0.983,0.799,0.641,0.760,1.099,0.120,0.550,0.904,1.093,0.869,
+0.684,1.591,1.343,1.017,0.646,0.950,1.145,1.321,0.852,0.951,
+0.837,0.098,0.675,1.021,0.815,1.018,0.699,1.249,1.310,1.224,
+0.856,1.371,0.104,0.111,0.082,0.135,1.168,0.119,0.920,1.250,
+1.125,1.481,1.273,1.696,1.741,1.098,1.070,1.984,1.455,1.432,
+1.223,1.762,1.768,0.141,1.596,2.269,2.448,2.124,2.252,3.209,
+2.319,1.533,1.167,2.101,1.683,1.168,0.898,1.060,1.210,0.136,
+0.705,1.186,1.654,1.370,0.966,1.793,1.656,1.089,0.725,1.153,
+1.296,0.781,0.743,0.879,0.850,0.092,0.582,0.777,0.760,0.817,
+0.680,1.040,1.329,1.021,0.702,1.150,0.116,0.090,0.073,0.139,
+0.697,0.070,0.408,0.630,0.608,0.863,0.611,0.876,1.549,0.723,
+0.634,1.274,1.182,0.789,0.653,0.997,0.870,0.071,0.516,0.732,
+1.209,0.680,0.849,1.540,2.349,1.482,0.828,1.602,1.787,1.307,
+0.891,1.078,1.183,0.131,0.592,0.953,1.000,1.013,0.646,1.149,
+1.771,1.535,0.706,1.096,1.426,0.829,0.847,1.049,1.230,0.183,
+0.715,0.994,0.894,0.930,0.544,0.816,1.163,1.244,0.726,1.008,
+0.162,0.139,0.106,0.167,1.127,0.162,0.724,0.995,0.664,1.081,
+0.792,1.045,1.061,0.726,0.476,0.887,1.294,1.179,0.791,1.158,
+1.070,0.098,0.636,0.972,0.883,0.803,0.836,1.480,1.835,0.948,
+0.609,1.051,1.852,1.313,1.124,1.191,1.722,0.212,0.618,1.035,
+1.296,1.459,0.996,1.642,0.164,0.153,0.084,0.133,0.176,0.176,
+0.160,0.162,0.167,0.032,0.116,0.153,0.184,0.316,0.163,0.219,
+1.064,1.017,0.972,1.245,0.139,0.122,0.260,0.251,1.030,0.131,
+0.606,0.923,0.692,1.095,0.976,1.087,1.028,0.631,0.517,0.892,
+1.487,1.254,1.253,1.517,1.221,0.127,0.780,1.145,1.270,1.136,
+1.219,1.674,1.829,0.767,0.553,1.191,0.987,0.652,0.593,0.745,
+1.007,0.102,0.450,0.756,1.193,0.985,0.676,1.589,1.364,1.071,
+0.593,0.954,1.037,0.872,0.780,0.923,1.030,0.110,0.641,0.922,
+0.920,1.155,0.742,1.204,1.119,1.133,0.844,1.217,0.113,0.106,
+0.108,0.157,1.002,0.104,0.705,1.119,0.876,1.194,1.032,1.444,
+1.559,0.934,0.728,1.515,1.104,0.917,0.856,1.207,1.638,0.132,
+0.942,1.711,2.065,1.675,1.723,2.989,0.135,0.110,0.065,0.111,
+0.112,0.097,0.088,0.093,0.075,0.011,0.043,0.071,0.087,0.111,
+0.076,0.128,0.124,0.111,0.093,0.190,0.131,0.113,0.149,0.115,
+0.078,0.021,0.064,0.079,0.063,0.095,0.073,0.090,0.073,0.080,
+0.055,0.079,0.013,0.012,0.012,0.017,0.055,9.94e-3,0.044,0.067,
+0.043,0.081,0.054,0.085,0.085,0.052,0.043,0.086,0.100,0.101,
+0.065,0.099,0.070,8.27e-3,0.051,0.077,0.087,0.068,0.081,0.156,
+0.125,0.114,0.056,0.089,0.133,0.164,0.103,0.108,0.071,0.021,
+0.047,0.057,0.051,0.077,0.049,0.076,0.136,0.208,0.073,0.093,
+0.206,0.223,0.145,0.162,0.161,0.078,0.090,0.112,0.078,0.159,
+0.062,0.085,0.080,0.122,0.069,0.081,0.020,0.039,0.030,0.024,
+0.132,0.046,0.105,0.141,0.060,0.140,0.094,0.135,0.075,0.063,
+0.038,0.064,0.110,0.135,0.095,0.099,0.084,0.014,0.061,0.082,
+0.058,0.070,0.064,0.110,0.092,0.065,0.040,0.056,0.113,0.121,
+0.128,0.100,0.091,0.023,0.050,0.069,0.057,0.084,0.060,0.089,
+0.011,0.017,9.61e-3,0.012,0.021,0.034,0.032,0.025,0.019,0.016,
+0.023,0.026,9.19e-3,0.024,0.015,0.015,0.081,0.101,0.084,0.099,
+0.018,0.032,0.042,0.027,0.121,0.036,0.086,0.098,0.055,0.117,
+0.097,0.094,0.069,0.049,0.046,0.068,0.131,0.187,0.130,0.137,
+0.109,0.018,0.088,0.112,0.090,0.124,0.117,0.134,0.102,0.089,
+0.056,0.088,0.084,0.072,0.064,0.067,0.072,9.36e-3,0.040,0.058,
+0.077,0.079,0.065,0.130,0.128,0.167,0.078,0.131,0.123,0.144,
+0.114,0.149,0.109,0.026,0.082,0.104,0.077,0.150,0.084,0.138,
+0.077,0.099,0.078,0.114,0.011,0.017,0.016,0.024,0.084,0.017,
+0.081,0.103,0.061,0.105,0.103,0.144,0.106,0.074,0.062,0.106,
+0.091,0.094,0.077,0.100,0.112,0.013,0.081,0.131,0.132,0.137,
+0.148,0.240,1.539,1.149,0.701,1.132,1.375,0.941,0.656,0.828,
+0.710,0.086,0.425,0.608,0.660,0.630,0.432,0.862,1.349,1.166,
+0.608,0.827,1.524,1.060,1.039,0.868,0.923,0.149,1.018,0.986,
+0.575,1.085,0.598,0.899,0.762,1.136,0.662,0.856,0.124,0.178,
+0.135,0.190,0.641,0.102,0.519,0.619,0.400,0.906,0.530,0.747,
+0.787,0.623,0.430,0.724,0.874,0.825,0.640,0.865,0.748,0.092,
+0.597,0.862,0.853,0.772,0.974,1.753,0.122,0.103,0.049,0.075,
+0.148,0.182,0.088,0.097,0.058,0.016,0.045,0.061,0.050,0.080,
+0.037,0.076,0.090,0.118,0.047,0.057,0.146,0.131,0.130,0.097,
+0.081,0.030,0.113,0.104,0.042,0.086,0.048,0.058,0.060,0.125,
+0.058,0.066,0.018,0.039,0.033,0.022,0.070,0.026,0.083,0.094,
+0.038,0.098,0.064,0.077,0.082,0.071,0.041,0.080,0.132,0.174,
+0.095,0.133,0.079,0.015,0.083,0.130,0.076,0.082,0.112,0.187,
+1.077,0.859,0.642,0.586,1.325,1.410,2.334,1.018,1.005,0.189,
+0.833,0.844,0.619,0.796,0.737,0.944,0.098,0.143,0.072,0.068,
+0.131,0.217,0.191,0.097,0.129,0.056,0.166,0.153,0.076,0.148,
+0.100,0.103,1.019,1.371,0.985,0.806,0.158,0.202,0.211,0.147,
+0.875,0.144,0.338,0.544,0.448,0.835,0.777,0.799,0.665,0.577,
+0.512,0.506,1.179,1.310,1.170,1.041,0.859,0.128,0.965,0.998,
+0.706,0.781,1.053,1.199,1.031,0.632,0.592,0.724,0.880,0.696,
+0.849,0.555,0.662,0.082,0.480,0.592,0.609,0.596,0.444,0.803,
+1.163,1.136,0.690,0.763,1.258,1.468,1.128,0.848,0.979,0.147,
+1.067,1.117,0.645,1.165,0.749,0.928,1.043,1.209,0.944,1.063,
+0.112,0.169,0.131,0.140,0.991,0.131,0.986,1.084,0.638,1.110,
+0.951,1.080,0.938,0.701,0.615,0.833,0.971,0.966,0.822,0.892,
+1.093,0.113,1.115,1.157,1.126,1.328,1.270,1.595,1.581,0.836,
+0.612,1.133,0.934,0.619,0.463,0.691,0.717,0.079,0.369,0.623,
+0.867,0.751,0.518,1.110,1.121,0.746,0.454,0.670,0.787,0.552,
+0.538,0.577,0.619,0.061,0.445,0.748,0.502,0.641,0.463,0.742,
+0.816,0.842,0.481,0.803,0.081,0.085,0.056,0.118,0.663,0.066,
+0.379,0.663,0.535,0.717,0.495,0.913,1.006,0.622,0.460,0.923,
+0.848,0.696,0.499,0.874,0.857,0.076,0.426,0.770,0.957,0.699,
+0.784,1.816,1.956,1.260,0.648,1.199,1.556,1.252,0.829,0.969,
+0.884,0.107,0.573,0.939,0.777,0.981,0.516,1.071,1.410,1.267,
+0.589,0.862,1.300,1.045,1.258,1.120,0.907,0.118,0.860,1.307,
+0.561,0.811,0.624,0.860,0.990,1.270,0.609,0.946,0.092,0.136,
+0.092,0.136,0.788,0.107,0.683,0.979,0.591,1.080,0.709,1.055,
+1.059,0.816,0.524,0.939,1.251,1.392,0.905,1.381,0.920,0.097,
+0.775,1.396,0.859,0.945,1.039,2.071,1.914,0.920,0.713,0.982,
+1.550,1.530,1.353,1.263,1.098,0.196,0.828,1.974,0.880,1.030,
+0.953,1.543,0.220,0.110,0.085,0.133,0.119,0.206,0.187,0.142,
+0.127,0.037,0.153,0.786,0.080,0.143,0.098,0.187,1.268,1.389,
+0.903,1.152,0.126,0.143,0.139,0.177,1.393,0.221,0.814,1.342,
+0.838,1.401,1.108,1.421,1.100,0.814,0.767,0.924,1.478,1.316,
+1.392,1.580,1.220,0.154,1.166,1.831,1.070,1.113,1.461,2.041,
+1.657,0.810,0.726,1.075,0.975,0.708,0.639,0.695,0.917,0.124,
+0.561,0.988,0.897,0.757,0.669,1.450,1.488,0.875,0.607,0.906,
+0.995,1.114,0.880,0.888,0.842,0.089,0.790,1.923,0.673,0.852,
+0.684,1.179,1.390,1.370,0.952,1.484,0.115,0.125,0.098,0.156,
+1.374,0.129,1.144,1.657,1.119,1.454,1.373,1.690,1.833,0.999,
+0.826,1.636,1.452,1.217,1.293,1.583,1.628,0.122,1.451,2.154,
+1.946,1.627,1.878,2.900,4.530,1.881,1.550,3.276,1.662,1.052,
+0.807,1.140,1.674,0.152,0.726,1.220,2.470,1.723,1.019,2.247,
+1.847,1.137,0.778,1.184,1.126,0.662,0.568,0.700,0.930,0.073,
+0.489,0.702,1.072,0.985,0.648,1.127,1.476,1.007,0.788,1.531,
+0.116,0.089,0.076,0.169,0.776,0.067,0.385,0.676,0.856,0.934,
+0.659,1.232,2.277,0.972,0.961,2.105,1.405,0.965,0.814,1.307,
+1.036,0.080,0.577,1.001,1.730,1.054,1.208,3.112,2.287,1.173,
+0.661,1.402,1.285,0.814,0.530,0.697,0.783,0.076,0.351,0.636,
+0.940,0.748,0.458,0.967,1.372,0.909,0.511,0.795,0.890,0.514,
+0.432,0.575,0.718,0.063,0.352,0.618,0.678,0.590,0.433,0.784,
+0.922,0.763,0.471,0.842,0.067,0.065,0.048,0.085,0.899,0.159,
+0.296,0.525,0.641,0.851,0.504,0.749,0.909,0.529,0.386,0.773,
+0.797,0.648,0.436,0.707,0.576,0.054,0.330,0.562,0.912,0.671,
+0.663,1.241,1.866,0.879,0.589,1.121,1.453,0.893,0.705,1.133,
+1.193,0.133,0.411,0.761,1.388,1.135,0.683,1.543,0.129,0.093,
+0.058,0.115,0.123,0.088,0.072,0.114,0.110,0.013,0.048,0.091,
+0.167,0.185,0.083,0.190,0.953,0.769,0.643,1.053,0.081,0.064,
+0.065,0.113,0.806,0.083,0.347,0.642,0.749,0.836,0.683,0.992,
+1.064,0.614,0.566,1.118,1.190,0.820,0.693,1.151,1.072,0.122,
+0.546,0.955,1.488,1.079,1.155,1.863,2.358,0.956,0.730,1.658,
+1.046,0.628,0.558,0.838,1.143,0.100,0.490,0.865,1.867,1.134,
+0.805,2.037,1.303,0.821,0.553,0.974,0.818,0.602,0.476,0.665,
+0.884,0.066,0.474,0.792,1.074,1.024,0.637,1.366,1.127,0.899,
+0.736,1.074,0.086,0.064,0.061,0.106,0.883,0.074,0.515,0.839,
+1.025,1.123,0.911,1.479,1.962,0.959,0.912,2.066,1.282,0.842,
+0.763,1.316,1.514,0.107,0.874,1.592,2.825,2.039,2.169,4.700,
+2.728,1.522,0.953,2.015,1.586,1.055,0.734,1.016,1.122,0.107,
+0.584,0.939,1.337,1.184,0.762,1.586,1.732,1.067,0.728,1.164,
+1.190,0.817,0.779,0.797,0.845,0.090,0.549,0.719,0.818,0.821,
+0.594,1.051,0.991,0.862,0.646,1.013,0.077,0.085,0.066,0.109,
+0.626,0.067,0.410,0.595,0.595,0.770,0.563,1.017,1.157,0.658,
+0.533,1.089,1.018,0.883,0.638,0.905,0.739,0.087,0.469,0.796,
+1.009,0.796,0.907,2.041,2.113,1.359,0.646,1.221,1.596,1.238,
+0.623,0.880,0.720,0.083,0.349,0.609,0.794,0.763,0.476,1.018,
+1.393,1.159,0.707,0.963,1.225,1.001,0.641,0.819,0.868,0.151,
+0.472,0.674,0.685,0.870,0.511,0.847,0.954,0.924,0.521,0.870,
+0.086,0.098,0.066,0.093,0.849,0.117,0.478,0.690,0.613,0.984,
+0.585,0.992,0.824,0.600,0.399,0.768,0.887,0.908,0.566,0.755,
+0.722,0.059,0.389,0.701,0.769,0.793,0.687,1.339,1.440,0.781,
+0.493,0.840,1.182,0.882,0.656,1.131,0.856,0.107,0.338,0.567,
+0.819,0.796,0.552,1.169,0.077,0.064,0.040,0.075,0.070,0.100,
+0.059,0.093,0.066,0.019,0.042,0.064,0.073,0.111,0.052,0.096,
+0.901,0.872,0.591,0.912,0.082,0.089,0.075,0.104,0.835,0.096,
+0.434,0.649,0.655,0.853,0.701,1.027,0.942,0.553,0.503,0.941,
+1.110,1.079,0.833,1.124,1.020,0.082,0.616,0.997,1.111,0.852,
+1.079,1.781,1.565,0.909,0.634,1.243,0.944,0.704,0.520,0.739,
+0.930,0.088,0.434,0.698,1.143,0.894,0.628,1.531,1.226,0.955,
+0.660,1.043,0.845,0.815,0.599,0.812,0.874,0.096,0.526,0.784,
+0.851,1.161,0.669,1.257,0.929,0.909,0.703,1.120,0.070,0.066,
+0.054,0.092,0.774,0.072,0.669,0.850,0.747,0.947,0.819,1.336,
+1.345,0.733,0.706,1.305,1.054,0.873,0.689,0.941,1.264,0.106,
+0.793,1.277,1.732,1.496,1.526,3.017,2.217,1.535,1.013,1.886,
+2.442,1.357,0.849,1.253,1.169,0.117,0.658,0.928,1.179,1.008,
+0.597,1.367,1.734,1.464,0.705,1.125,1.338,1.140,0.826,0.922,
+1.175,0.139,0.903,1.114,0.995,1.502,0.760,1.410,1.213,1.356,
+0.846,1.300,0.154,0.160,0.124,0.206,0.844,0.113,0.495,0.800,
+0.715,1.411,0.729,1.175,1.224,0.874,0.631,1.297,1.128,0.990,
+0.750,1.246,1.086,0.108,0.752,1.233,1.302,1.189,1.363,2.552,
+0.188,0.125,0.086,0.109,0.902,0.283,0.116,0.121,0.103,0.016,
+0.049,0.071,0.087,0.088,0.057,0.100,0.101,0.098,0.049,0.069,
+0.132,0.118,0.069,0.075,0.085,0.017,0.078,0.092,0.066,0.102,
+0.051,0.097,0.075,0.093,0.056,0.074,0.021,0.021,0.020,0.015,
+0.076,0.017,0.052,0.070,0.051,0.115,0.063,0.096,0.098,0.077,
+0.047,0.111,0.135,0.136,0.085,0.136,0.086,0.012,0.053,0.104,
+0.104,0.109,0.115,0.206,1.630,1.007,0.683,0.863,1.579,1.377,
+1.086,1.053,1.236,0.204,0.639,0.883,0.868,1.062,0.887,1.295,
+0.093,0.107,0.053,0.071,0.122,0.161,0.082,0.082,0.105,0.026,
+0.099,0.093,0.098,0.159,0.084,0.129,1.148,1.406,0.929,1.144,
+0.120,0.158,0.124,0.138,1.051,0.146,0.541,0.909,0.693,1.217,
+0.949,1.294,1.016,0.779,0.632,0.865,1.258,1.449,1.033,1.160,
+1.447,0.150,1.046,1.303,1.283,1.376,1.354,1.917,1.658,1.014,
+0.755,1.298,1.432,1.023,0.706,0.940,0.991,0.106,0.644,0.994,
+1.075,0.999,0.715,1.616,1.741,1.404,0.814,1.197,1.886,1.594,
+0.984,0.955,1.401,0.139,1.129,1.450,1.271,1.741,1.107,1.771,
+1.566,1.555,1.195,1.591,0.124,0.140,0.116,0.179,1.428,0.131,
+0.950,1.431,1.160,1.673,1.266,1.801,1.676,1.122,0.927,1.446,
+1.252,1.175,0.932,1.226,1.822,0.154,1.422,1.603,2.270,2.080,
+1.887,2.917,4.485,1.631,1.113,2.601,1.723,1.003,0.693,1.257,
+1.377,0.120,0.608,1.232,1.904,1.409,0.894,2.765,1.872,1.153,
+0.607,1.111,1.109,0.803,0.535,0.782,1.016,0.080,0.574,0.901,
+0.905,0.894,0.607,1.363,1.657,1.365,0.780,1.769,0.119,0.105,
+0.063,0.174,0.949,0.090,0.509,1.018,0.982,1.121,0.773,1.638,
+2.345,1.393,0.974,2.381,1.433,1.060,0.824,1.670,1.435,0.114,
+0.853,1.632,2.348,1.637,1.783,4.690,2.947,1.733,0.920,1.883,
+3.119,1.747,0.778,1.272,1.110,0.115,0.552,1.197,1.251,1.193,
+0.673,1.695,2.334,1.533,0.691,1.271,1.786,1.581,0.792,1.071,
+1.196,0.106,0.737,1.236,0.914,1.086,0.645,1.350,1.552,1.479,
+0.684,1.397,0.111,0.125,0.068,0.123,1.243,0.123,0.630,1.097,
+1.207,1.705,0.904,1.690,1.491,0.974,0.669,1.525,1.376,1.313,
+0.800,1.577,1.272,0.091,0.742,1.392,1.546,1.413,1.313,2.940,
+2.579,1.376,1.019,1.503,2.125,1.632,1.159,1.921,1.591,0.191,
+1.019,1.813,1.613,1.434,1.367,2.588,0.142,0.114,0.067,0.118,
+0.114,0.132,0.080,0.126,0.092,0.015,0.119,0.317,0.122,0.148,
+0.099,0.227,1.969,1.779,1.177,1.935,0.128,0.135,0.103,0.189,
+1.655,0.182,1.406,1.706,1.507,2.016,2.397,2.752,2.022,1.281,
+1.133,1.904,2.160,1.666,1.547,2.338,2.389,0.170,1.761,2.544,
+2.389,1.824,2.640,4.016,5.088,1.993,1.362,2.936,2.093,1.508,
+1.049,1.705,2.099,0.168,1.042,1.968,3.092,2.058,1.599,4.697,
+2.678,1.702,1.121,1.890,1.781,1.577,1.000,1.493,1.712,0.121,
+1.312,2.239,1.885,1.813,1.362,3.240,2.812,2.339,1.438,2.783,
+0.134,0.134,0.097,0.208,2.352,0.166,1.721,2.714,2.556,2.778,
+2.698,4.508,4.835,1.793,1.554,3.982,2.127,1.606,1.553,3.004,
+2.993,0.166,2.167,3.779,2.996,2.400,2.321,5.975,12.5,4.192,
+4.574,6.687,4.485,2.249,2.073,2.834,7.221,0.486,2.463,3.151,
+7.013,4.214,3.322,6.927,4.766,2.303,1.916,2.400,2.455,1.301,
+1.369,1.293,3.054,0.214,1.486,1.716,2.261,1.734,1.335,2.152,
+8.627,2.989,2.375,2.952,0.409,0.234,0.195,0.362,2.674,0.223,
+1.492,1.711,2.294,2.319,1.551,2.257,6.195,2.670,2.884,5.011,
+3.607,2.318,1.963,3.297,3.124,0.235,1.622,2.316,4.570,2.415,
+2.315,4.004,6.014,2.848,1.864,2.713,2.921,1.703,1.194,1.345,
+2.752,0.264,1.078,1.561,2.393,2.218,1.112,2.055,3.065,1.758,
+1.239,1.496,1.802,1.035,0.945,0.841,1.955,0.176,1.038,1.238,
+1.242,1.255,0.855,1.161,2.906,2.056,1.270,1.634,0.287,0.173,
+0.113,0.151,1.937,0.183,1.037,1.522,1.429,1.832,0.964,1.471,
+2.195,1.393,1.115,1.730,2.069,1.256,0.989,1.250,1.790,0.137,
+1.024,1.524,1.737,1.444,1.159,2.164,10.8,1.926,1.825,2.058,
+2.371,1.343,1.277,1.291,3.604,0.347,1.161,1.752,2.432,1.951,
+1.422,3.016,0.382,0.186,0.135,0.190,0.213,0.162,0.133,0.145,
+0.233,0.032,0.141,0.189,0.273,0.334,0.172,0.307,1.925,1.177,
+1.179,1.242,0.139,0.108,0.097,0.134,1.525,0.144,0.803,1.004,
+1.156,1.657,0.908,1.245,1.679,1.019,1.018,1.474,1.601,1.164,
+0.984,1.400,1.548,0.145,1.058,1.443,1.378,1.244,1.229,2.061,
+6.102,2.207,1.897,3.740,2.175,1.161,1.143,1.454,3.215,0.306,
+1.254,2.217,3.830,2.391,1.941,5.146,3.728,2.108,1.583,2.068,
+2.385,1.424,1.431,1.483,2.332,0.162,1.260,1.930,2.479,2.031,
+1.513,2.808,2.232,1.563,1.312,1.676,0.159,0.115,0.096,0.156,
+1.651,0.113,0.915,1.311,1.518,1.547,1.269,1.746,3.156,1.736,
+1.743,3.093,1.629,1.142,1.048,1.639,2.383,0.157,1.437,2.195,
+3.228,2.038,1.937,3.726,4.835,2.237,1.673,2.649,2.070,1.323,
+1.091,1.215,2.017,0.199,0.764,1.235,1.817,1.617,1.009,1.710,
+2.385,1.439,0.962,1.180,1.341,0.874,0.817,0.755,1.427,0.305,
+0.757,0.987,0.898,1.207,0.742,1.089,1.764,1.463,0.875,1.083,
+0.146,0.133,0.095,0.135,0.901,0.097,0.728,0.748,0.705,0.988,
+0.731,0.941,1.674,0.844,0.796,1.229,1.435,1.071,0.779,1.041,
+1.116,0.118,0.661,1.126,1.168,0.850,0.824,1.673,2.970,1.840,
+1.009,1.359,1.703,1.210,0.785,0.787,1.510,0.164,0.615,0.911,
+1.100,1.399,0.578,1.030,1.487,1.077,0.643,0.794,0.864,0.516,
+0.555,0.560,1.063,0.121,0.580,0.787,0.596,0.795,0.512,0.723,
+1.450,1.444,0.766,0.921,0.135,0.154,0.081,0.100,1.099,0.151,
+0.688,0.858,0.753,1.226,0.639,0.909,1.123,0.768,0.532,0.822,
+1.114,0.920,0.560,0.699,1.262,0.105,0.589,1.208,0.806,0.741,
+0.548,1.225,2.338,1.092,0.778,1.213,1.405,0.969,0.897,0.849,
+1.411,0.202,0.655,0.911,1.051,1.289,0.740,1.393,0.126,0.119,
+0.068,0.114,0.095,0.101,0.100,0.081,0.134,0.039,0.127,0.111,
+0.106,0.310,0.096,0.137,1.193,1.140,0.925,0.856,0.102,0.100,
+0.087,0.091,0.938,0.115,0.652,0.794,0.572,1.092,0.700,0.813,
+0.854,0.532,0.534,0.731,0.995,0.855,0.709,0.895,0.885,0.093,
+0.794,1.084,0.671,0.757,0.786,1.111,1.951,0.910,0.766,1.228,
+1.043,0.624,0.563,0.643,1.001,0.094,0.467,0.750,1.120,0.854,
+0.704,1.525,1.444,1.064,0.773,0.999,0.998,0.825,0.682,0.719,
+0.956,0.103,0.625,0.886,0.801,1.176,0.714,1.276,1.091,0.962,
+0.894,1.002,0.073,0.071,0.058,0.081,0.766,0.073,0.616,0.820,
+0.696,0.885,0.831,1.160,1.352,0.770,0.815,1.196,0.894,0.691,
+0.568,0.826,1.079,0.083,0.796,1.239,1.329,1.079,1.131,2.003,
+6.144,1.915,1.702,2.216,1.181,0.765,0.638,0.574,5.820,0.237,
+0.916,0.930,1.832,1.338,0.845,1.342,2.590,1.579,1.014,1.360,
+1.199,0.860,0.833,0.770,1.803,0.161,0.965,1.048,1.066,1.250,
+0.723,1.016,1.733,1.540,1.314,1.420,0.175,0.203,0.124,0.230,
+0.950,0.115,0.621,0.733,0.825,1.219,0.656,1.062,1.698,1.197,
+0.994,1.557,1.438,1.619,0.843,1.129,1.157,0.121,0.744,1.023,
+1.277,1.087,1.063,2.152,0.291,0.179,0.120,0.161,0.183,0.132,
+0.083,0.084,0.190,0.028,0.076,0.093,0.129,0.155,0.076,0.139,
+0.195,0.137,0.083,0.096,0.125,0.117,0.087,0.076,0.136,0.025,
+0.084,0.102,0.089,0.131,0.065,0.096,0.133,0.150,0.092,0.117,
+0.020,0.027,0.021,0.019,0.119,0.025,0.116,0.125,0.087,0.147,
+0.071,0.127,0.218,0.137,0.116,0.208,0.230,0.266,0.191,0.186,
+0.152,0.017,0.114,0.161,0.154,0.160,0.127,0.242,1.754,0.865,
+0.746,0.827,1.198,0.765,0.767,0.713,1.353,0.187,0.827,1.005,
+0.842,0.868,0.800,1.014,0.132,0.097,0.059,0.077,0.084,0.076,
+0.083,0.067,0.117,0.022,0.084,0.088,0.103,0.130,0.080,0.098,
+1.168,0.928,0.716,0.674,0.099,0.087,0.080,0.082,1.011,0.119,
+0.562,0.644,0.702,0.888,0.603,0.667,1.024,0.613,0.654,0.656,
+0.886,0.815,0.737,0.730,1.045,0.132,0.878,1.020,0.712,0.840,
+0.727,0.949,1.591,0.713,0.601,0.996,0.903,0.495,0.416,0.536,
+1.058,0.099,0.508,0.841,1.103,0.776,0.622,1.307,1.599,0.995,
+0.697,1.015,1.145,0.804,0.693,0.688,1.205,0.102,0.732,0.962,
+1.139,1.065,0.713,1.056,1.431,1.051,0.794,0.888,0.120,0.100,
+0.072,0.087,1.070,0.109,0.648,0.837,1.019,1.215,0.761,1.132,
+1.340,0.751,0.767,0.974,1.065,0.873,0.681,0.824,1.339,0.110,
+0.920,1.276,1.534,1.292,1.145,2.121,5.333,2.034,1.713,3.285,
+1.645,0.854,0.825,0.979,2.184,0.169,0.820,1.332,3.022,1.623,
+1.106,2.444,1.964,0.965,0.778,1.136,0.958,0.630,0.616,0.654,
+1.570,0.114,0.909,1.126,1.093,0.861,0.614,1.039,1.713,1.167,
+0.823,1.504,0.132,0.106,0.072,0.178,1.045,0.087,0.483,0.853,
+0.956,0.978,0.578,1.196,2.235,1.111,1.139,2.568,1.482,1.044,
+0.909,1.548,1.550,0.124,0.811,1.357,2.260,1.600,1.372,3.493,
+3.433,1.692,1.218,1.887,2.393,1.127,0.853,0.975,1.733,0.164,
+0.772,1.203,1.468,1.343,0.756,1.496,2.295,1.229,0.716,0.990,
+1.266,0.993,0.602,0.685,1.367,0.176,0.783,1.158,0.946,1.050,
+0.521,1.046,1.529,1.157,0.819,1.266,0.128,0.105,0.068,0.121,
+1.173,0.117,0.732,1.304,0.980,1.226,0.649,1.287,1.811,0.951,
+0.912,1.804,1.621,1.168,0.886,1.422,1.341,0.106,0.787,1.444,
+1.436,1.288,0.970,2.142,1.644,1.034,0.806,1.146,1.274,0.748,
+0.686,0.834,1.487,0.224,0.647,1.072,1.316,1.535,0.782,1.358,
+0.118,0.087,0.065,0.103,0.079,0.068,0.064,0.067,0.115,0.019,
+0.078,0.141,0.116,0.159,0.070,0.123,1.110,0.886,0.612,0.837,
+0.079,0.061,0.052,0.082,1.088,0.093,0.549,0.789,0.940,0.875,
+0.715,0.949,1.164,0.705,0.655,0.995,1.135,0.804,0.692,1.026,
+1.329,0.242,0.761,1.272,1.050,1.059,0.863,1.526,2.908,1.179,
+0.985,1.713,1.328,0.730,0.759,0.850,1.687,0.154,0.709,1.268,
+2.155,1.425,1.075,2.728,1.376,0.777,0.568,0.981,0.839,0.532,
+0.524,0.621,1.065,0.066,0.657,1.106,1.113,0.936,0.696,1.370,
+2.076,1.527,1.016,1.467,0.144,0.092,0.073,0.114,1.484,0.104,
+0.803,1.254,1.571,1.602,1.129,1.737,2.782,1.339,1.296,2.647,
+1.908,1.359,1.034,1.631,2.228,0.134,1.318,2.332,3.440,2.152,
+2.062,4.539,6.673,3.809,3.328,4.913,3.911,2.326,1.980,2.432,
+3.587,0.349,1.642,2.326,4.209,3.276,1.914,3.397,3.264,2.437,
+1.504,1.710,2.222,1.446,1.263,1.213,2.291,0.207,1.438,1.608,
+1.615,1.688,1.201,1.766,2.343,1.938,1.383,1.816,0.294,0.198,
+0.134,0.227,1.566,0.164,0.849,1.053,1.492,1.656,1.225,1.553,
+2.763,1.702,1.380,2.533,2.546,1.842,1.195,1.803,1.844,0.176,
+1.084,1.752,2.326,1.672,1.662,3.041,4.480,2.983,1.574,2.150,
+3.865,2.266,1.341,1.344,2.660,0.301,1.286,1.603,1.887,2.071,
+1.007,1.817,2.648,2.165,1.049,1.169,2.127,1.207,1.051,0.966,
+1.987,0.246,1.338,1.616,1.144,1.493,0.857,1.329,3.151,2.288,
+1.161,1.293,0.970,0.230,0.165,0.166,2.155,0.236,1.284,1.578,
+1.323,2.030,1.212,1.451,1.873,1.230,0.678,1.110,3.220,1.415,
+0.852,1.078,1.377,0.151,1.049,2.410,1.347,1.448,1.113,2.306,
+2.533,1.475,1.098,1.418,2.354,1.519,1.154,1.125,3.304,0.398,
+1.168,1.719,1.716,1.857,1.045,2.069,0.213,0.225,0.112,0.140,
+0.226,0.265,0.169,0.147,0.260,0.074,0.202,0.215,0.172,0.491,
+0.153,0.224,1.312,1.087,0.823,0.865,0.146,0.121,0.087,0.117,
+1.152,0.149,0.762,0.992,0.740,1.157,0.772,0.953,1.575,0.733,
+0.527,0.853,1.386,1.282,0.819,1.080,1.260,0.149,0.893,1.240,
+0.958,1.099,1.058,1.733,2.771,1.491,1.028,1.929,1.297,0.808,
+0.620,0.817,1.852,0.215,0.749,1.295,1.871,1.329,0.929,2.284,
+2.589,2.368,1.133,1.455,1.707,1.554,1.113,1.133,1.693,0.199,
+1.101,1.640,1.294,1.942,1.013,1.731,1.239,0.993,0.896,1.144,
+0.123,0.086,0.087,0.109,1.018,0.093,0.675,0.909,0.796,1.086,
+0.892,1.194,1.721,0.958,0.751,1.625,1.103,0.912,0.738,1.025,
+1.650,0.132,1.032,1.769,1.870,1.661,1.609,3.169,3.722,2.300,
+1.625,2.315,2.507,1.921,1.603,1.534,1.624,0.210,0.795,1.154,
+1.508,1.601,0.887,1.575,2.352,1.779,1.057,1.186,1.783,1.275,
+1.264,1.009,1.338,0.216,1.080,1.124,0.782,1.364,0.759,1.128,
+1.211,1.460,0.941,1.027,0.134,0.173,0.128,0.155,0.826,0.119,
+0.673,0.785,0.630,1.044,0.758,1.042,1.165,0.715,0.603,1.080,
+1.245,1.167,0.824,1.038,0.946,0.102,0.633,1.230,0.958,0.809,
+0.859,1.861,2.315,1.945,0.926,1.168,2.086,1.822,1.016,0.941,
+1.461,0.206,0.824,1.020,0.923,1.311,0.605,1.037,1.279,1.150,
+0.644,0.678,0.648,0.227,0.507,0.443,1.015,0.186,0.850,0.998,
+0.512,1.065,0.650,0.744,1.170,1.679,0.860,0.924,0.201,0.246,
+0.135,0.137,1.137,0.212,0.859,1.253,0.684,1.568,0.925,1.113,
+0.809,0.673,0.438,0.686,1.189,1.207,0.661,0.826,0.977,0.132,
+0.748,2.428,0.717,0.911,0.704,2.081,1.887,1.309,0.924,1.090,
+1.971,1.806,1.307,1.138,2.373,0.745,1.456,1.237,1.449,4.082,
+0.989,1.509,0.137,0.250,0.116,0.112,0.183,0.272,0.196,0.130,
+0.459,0.265,0.784,0.234,0.264,2.079,0.236,0.188,1.043,1.397,
+0.977,0.877,0.144,0.266,0.136,0.135,1.135,0.207,1.006,1.005,
+0.573,1.524,0.918,0.920,0.809,0.570,0.496,0.696,1.307,1.689,
+1.100,1.180,1.247,0.162,1.010,1.222,0.821,1.119,0.995,1.450,
+1.507,0.980,0.667,0.990,0.991,0.743,0.523,0.642,1.050,0.148,
+0.564,0.734,1.037,1.179,0.578,1.164,1.361,1.424,0.811,0.943,
+1.108,1.218,0.891,0.902,1.719,0.437,1.367,1.120,0.957,3.274,
+0.830,1.085,0.743,0.925,0.732,0.791,0.076,0.103,0.066,0.087,
+0.663,0.079,0.644,0.731,0.535,0.924,0.765,0.893,0.928,0.575,
+0.486,0.807,0.851,0.763,0.567,0.741,0.865,0.082,0.677,1.083,
+1.013,1.150,1.039,1.830,3.111,2.083,1.324,1.898,2.190,1.390,
+0.934,1.230,1.973,0.197,0.960,1.117,1.556,1.431,0.824,1.394,
+2.201,1.989,0.984,1.392,1.814,1.538,1.175,1.230,2.340,0.309,
+1.819,1.704,1.062,1.707,0.941,1.285,1.348,1.910,1.118,1.406,
+0.191,0.269,0.157,0.262,1.296,0.203,0.999,1.217,0.863,1.471,
+0.850,1.344,1.229,0.954,0.672,1.333,1.473,1.883,0.862,1.379,
+1.396,0.169,1.012,1.522,1.303,1.079,1.100,2.293,0.223,0.176,
+0.096,0.134,0.386,0.253,0.158,0.152,0.170,0.044,0.121,0.132,
+0.113,0.183,0.089,0.141,0.152,0.160,0.092,0.117,0.201,0.231,
+0.158,0.142,0.203,0.075,0.204,0.210,0.090,0.189,0.098,0.113,
+0.108,0.212,0.109,0.108,0.040,0.071,0.044,0.033,0.178,0.067,
+0.300,0.256,0.090,0.238,0.137,0.150,0.135,0.113,0.073,0.144,
+0.249,0.326,0.171,0.214,0.152,0.032,0.160,0.254,0.129,0.152,
+0.147,0.275,2.168,1.365,0.940,0.997,1.500,1.646,1.287,1.115,
+1.750,0.345,1.189,1.363,0.997,1.389,0.974,1.336,0.156,0.196,
+0.097,0.092,0.138,0.256,0.193,0.112,0.170,0.068,0.222,0.185,
+0.105,0.264,0.133,0.127,0.947,1.574,0.927,0.877,0.148,0.243,
+0.152,0.146,1.400,0.304,0.939,1.213,0.709,1.654,1.020,1.062,
+0.802,0.732,0.570,0.697,1.283,1.927,1.179,1.185,1.557,0.299,
+1.531,1.530,0.860,1.297,1.199,1.410,1.379,0.884,0.830,1.130,
+0.933,0.622,0.520,0.819,1.024,0.122,0.583,1.008,0.944,0.815,
+0.571,1.246,1.583,1.460,0.868,1.054,1.485,1.612,1.055,1.092,
+1.550,0.216,1.339,1.584,1.062,1.661,1.005,1.279,0.996,1.400,
+1.267,1.070,0.111,0.166,0.118,0.120,1.324,0.200,1.084,1.276,
+0.874,1.713,1.097,1.424,0.972,0.728,0.584,0.863,0.998,1.037,
+0.772,0.906,1.364,0.147,1.288,1.562,1.430,1.502,1.338,1.920,
+2.841,1.342,1.111,2.025,1.516,0.795,0.796,1.274,1.487,0.130,
+0.694,1.140,1.641,1.149,0.826,1.701,1.503,0.924,0.620,0.953,
+0.924,0.661,0.637,0.899,1.036,0.091,0.728,1.007,0.834,0.779,
+0.606,1.027,1.050,0.959,0.593,1.025,0.091,0.093,0.050,0.132,
+0.718,0.073,0.442,0.889,0.663,0.798,0.507,1.021,1.385,0.808,
+0.692,1.608,1.030,1.027,0.580,1.247,1.052,0.090,0.555,1.296,
+1.459,1.001,1.052,2.651,2.698,1.601,1.179,1.560,2.400,1.418,
+1.521,1.325,1.646,0.197,0.937,1.416,1.298,1.474,0.776,1.566,
+1.749,1.377,0.737,1.011,1.434,1.278,0.920,1.111,1.669,0.301,
+1.094,2.058,1.018,1.555,0.751,1.447,1.124,1.340,0.751,0.987,
+0.137,0.145,0.086,0.134,1.144,0.163,1.014,1.906,0.947,1.631,
+0.872,1.510,1.326,0.877,0.745,1.321,1.476,1.536,0.862,1.396,
+1.202,0.122,0.904,1.751,1.269,1.301,1.063,2.333,1.400,0.963,
+0.747,0.949,1.116,0.949,0.807,0.913,1.552,0.237,0.886,1.193,
+1.086,1.389,0.916,1.493,0.094,0.097,0.058,0.095,0.081,0.115,
+0.097,0.083,0.103,0.027,0.106,0.127,0.091,0.195,0.094,0.126,
+0.763,0.961,0.586,0.771,0.078,0.088,0.064,0.098,1.033,0.133,
+0.791,1.043,0.683,1.109,0.824,1.036,0.841,0.733,0.575,0.852,
+1.006,1.033,0.718,1.070,1.318,0.212,0.992,1.504,0.968,1.154,
+1.100,1.698,1.788,1.011,0.866,1.385,0.850,0.593,0.456,0.633,
+1.196,0.138,0.636,1.003,1.162,0.930,0.735,1.716,1.250,0.940,
+0.656,0.953,0.903,0.778,0.671,0.776,0.925,0.087,0.685,1.017,
+0.943,1.066,0.759,1.299,1.155,1.268,0.892,1.161,0.096,0.099,
+0.064,0.105,1.305,0.139,0.832,1.276,1.160,1.902,1.087,1.626,
+1.744,1.066,0.979,1.843,1.567,1.496,0.961,1.413,1.853,0.154,
+1.336,2.257,2.493,2.046,1.983,3.055,5.212,2.455,2.129,3.365,
+2.677,1.618,1.444,1.581,3.530,0.294,1.153,1.579,3.262,2.391,
+1.479,2.368,1.854,1.126,0.778,1.018,1.332,0.797,0.800,0.793,
+1.410,0.137,0.756,0.885,1.031,1.003,0.752,1.059,1.601,1.240,
+1.153,1.363,0.153,0.129,0.109,0.186,1.125,0.103,0.652,0.865,
+0.948,1.070,0.791,1.100,2.067,1.035,0.910,1.694,1.620,1.341,
+0.940,1.331,1.330,0.112,0.756,1.164,1.619,0.987,1.326,2.307,
+4.078,2.337,1.438,2.123,3.148,1.954,1.784,1.661,2.930,0.291,
+1.109,1.397,1.823,1.919,0.993,1.651,2.285,1.676,0.971,1.130,
+1.800,0.963,1.189,1.092,1.951,0.227,1.067,1.392,1.152,1.351,
+0.760,1.043,2.453,2.174,1.427,1.582,0.364,0.223,0.167,0.220,
+2.457,0.238,1.276,1.574,1.621,1.884,1.211,1.376,1.808,1.307,
+0.784,1.331,2.260,1.575,1.120,1.382,1.490,0.139,0.902,1.363,
+1.184,1.129,1.113,1.831,5.075,1.505,1.412,1.906,3.749,1.953,
+1.820,1.820,26.8,1.817,2.847,3.010,5.599,2.796,1.577,2.664,
+0.325,0.261,0.157,0.211,0.337,0.274,0.246,0.237,1.101,0.148,
+0.281,0.304,0.577,0.722,0.226,0.361,1.299,1.256,1.623,1.160,
+0.154,0.229,0.150,0.172,1.789,0.221,1.227,1.117,1.079,1.650,
+0.901,0.965,1.022,0.658,0.686,0.950,1.477,1.468,1.134,1.385,
+1.916,0.196,0.991,1.302,1.280,1.149,1.149,1.849,3.016,1.090,
+1.011,1.819,1.693,0.919,0.790,1.084,4.691,0.327,0.994,1.347,
+4.377,1.948,1.051,2.468,2.106,1.141,0.862,1.088,1.820,1.145,
+1.016,1.042,3.112,0.241,1.050,1.411,1.988,1.659,0.796,1.308,
+1.339,1.135,1.327,1.338,0.138,0.114,0.113,0.158,1.326,0.133,
+0.895,1.165,1.207,1.460,1.098,1.402,1.897,0.984,0.947,1.818,
+1.231,0.881,0.942,1.405,2.120,0.162,1.186,1.993,2.910,1.947,
+2.162,4.320,0.352,0.203,0.151,0.215,0.253,0.196,0.151,0.171,
+0.234,0.033,0.093,0.133,0.204,0.233,0.123,0.180,0.232,0.178,
+0.118,0.148,0.210,0.172,0.175,0.160,0.164,0.027,0.128,0.132,
+0.108,0.166,0.114,0.149,0.145,0.151,0.133,0.132,0.025,0.028,
+0.024,0.026,0.119,0.020,0.095,0.110,0.085,0.149,0.098,0.121,
+0.154,0.095,0.087,0.139,0.210,0.180,0.149,0.178,0.171,0.018,
+0.097,0.184,0.146,0.125,0.143,0.245,0.299,0.249,0.141,0.193,
+0.314,0.295,0.216,0.194,0.258,0.073,0.118,0.141,0.139,0.250,
+0.096,0.148,0.240,0.278,0.127,0.132,0.253,0.197,0.220,0.201,
+0.226,0.058,0.167,0.189,0.103,0.182,0.102,0.133,0.237,0.269,
+0.167,0.161,0.066,0.064,0.046,0.037,0.259,0.066,0.191,0.201,
+0.123,0.257,0.173,0.163,0.173,0.135,0.091,0.146,0.464,0.303,
+0.200,0.188,0.177,0.024,0.121,0.207,0.112,0.134,0.127,0.236,
+0.268,0.143,0.107,0.135,0.287,0.269,0.251,0.187,0.980,0.156,
+0.216,0.195,0.265,0.360,0.133,0.188,0.024,0.031,0.019,0.019,
+0.035,0.057,0.058,0.041,0.092,0.065,0.059,0.042,0.030,0.111,
+0.032,0.030,0.134,0.190,0.281,0.152,0.027,0.047,0.055,0.030,
+0.246,0.074,0.187,0.178,0.132,0.366,0.174,0.142,0.121,0.082,
+0.099,0.106,0.193,0.225,0.217,0.219,0.227,0.035,0.172,0.179,
+0.122,0.160,0.145,0.201,0.287,0.206,0.150,0.204,0.207,0.162,
+0.129,0.145,0.394,0.044,0.143,0.152,0.424,0.324,0.174,0.309,
+0.336,0.283,0.208,0.215,0.375,0.386,0.329,0.280,0.577,0.080,
+0.291,0.281,0.370,0.594,0.233,0.307,0.147,0.171,0.180,0.174,
+0.022,0.030,0.023,0.029,0.184,0.030,0.155,0.195,0.144,0.226,
+0.187,0.219,0.229,0.147,0.130,0.208,0.188,0.174,0.145,0.191,
+0.236,0.024,0.175,0.262,0.326,0.271,0.281,0.468,2.315,1.232,
+0.978,1.394,1.215,0.980,0.795,0.852,1.310,0.136,0.617,0.779,
+0.958,0.786,0.629,0.862,1.241,1.051,0.663,0.763,1.105,1.076,
+1.022,0.722,1.208,0.166,1.168,1.065,0.628,0.939,0.792,0.758,
+1.048,1.297,1.465,1.205,0.168,0.219,0.238,0.245,1.754,0.202,
+0.809,0.948,0.709,1.588,0.688,0.844,0.896,0.624,0.582,0.948,
+1.032,1.047,0.889,0.989,1.190,0.136,0.783,1.167,0.887,0.863,
+0.879,1.571,0.169,0.149,0.083,0.125,0.172,0.214,0.138,0.131,
+0.131,0.028,0.077,0.097,0.084,0.119,0.061,0.105,0.115,0.118,
+0.064,0.069,0.145,0.243,0.161,0.101,0.114,0.033,0.138,0.137,
+0.067,0.098,0.057,0.067,0.099,0.164,0.153,0.163,0.026,0.050,
+0.067,0.034,0.161,0.039,0.149,0.156,0.080,0.170,0.090,0.104,
+0.132,0.091,0.075,0.138,0.201,0.222,0.191,0.185,0.143,0.022,
+0.124,0.229,0.103,0.117,0.108,0.185,1.142,0.831,0.692,0.592,
+1.305,1.268,2.302,0.907,1.553,0.261,1.070,0.985,0.698,0.899,
+0.721,0.903,0.104,0.137,0.127,0.073,0.137,0.186,0.807,0.121,
+0.151,0.047,0.198,0.145,0.106,0.169,0.115,0.100,0.887,0.972,
+1.042,0.730,0.126,0.148,0.181,0.145,1.094,0.180,0.533,0.688,
+0.499,0.886,0.792,0.691,0.597,0.417,0.444,0.502,0.820,0.902,
+0.879,0.827,1.002,0.142,1.047,0.946,0.547,0.673,0.793,0.890,
+1.019,0.608,0.536,0.691,0.770,0.643,0.557,0.489,0.973,0.107,
+0.595,0.815,0.906,0.651,0.448,0.833,1.128,0.989,0.780,0.644,
+1.215,1.236,2.345,0.820,1.289,0.167,1.117,1.176,1.824,1.350,
+0.809,0.993,0.836,0.912,0.832,0.830,0.110,0.138,0.119,0.116,
+0.997,0.127,1.096,0.994,0.704,1.061,0.834,0.898,0.808,0.502,
+0.483,0.728,1.020,0.747,0.607,0.691,1.010,0.104,0.967,1.039,
+0.941,0.929,0.919,1.268,2.082,0.981,0.804,1.453,0.928,0.638,
+0.564,0.735,1.054,0.119,0.473,0.722,1.048,0.824,0.629,1.086,
+1.102,0.639,0.468,0.620,0.628,0.474,0.442,0.469,0.643,0.064,
+0.427,0.594,0.471,0.469,0.409,0.600,0.851,0.798,0.639,0.811,
+0.079,0.073,0.065,0.114,0.685,0.072,0.431,0.705,0.574,0.804,
+0.500,0.761,1.050,0.578,0.615,1.140,0.819,0.586,0.619,0.848,
+0.808,0.069,0.452,0.837,1.031,0.740,0.878,1.668,2.511,1.641,
+1.044,1.716,1.626,1.483,1.064,1.154,1.383,0.167,0.809,1.148,
+1.110,1.309,0.666,1.381,1.593,1.391,0.763,0.971,1.387,1.663,
+1.041,0.975,1.149,0.145,0.991,1.271,0.731,0.940,0.633,0.899,
+1.174,1.478,1.045,1.228,0.118,0.169,0.141,0.155,1.244,0.169,
+0.967,1.407,1.096,1.680,0.986,1.418,1.370,0.915,0.869,1.346,
+1.471,1.361,1.120,1.372,1.272,0.139,0.901,1.621,1.151,1.366,
+1.055,1.955,1.416,0.934,0.764,0.967,1.280,1.035,1.091,1.009,
+1.740,0.212,0.917,1.165,0.964,0.943,0.756,1.247,0.109,0.126,
+0.076,0.097,0.118,0.153,0.185,0.123,0.133,0.029,0.128,0.140,
+0.093,0.147,0.091,0.119,0.847,1.361,0.803,0.854,0.086,0.107,
+0.087,0.134,1.197,0.148,0.738,0.960,0.693,1.075,0.827,0.940,
+0.788,0.632,0.569,0.747,1.014,0.982,0.901,1.058,1.097,0.114,
+0.896,1.180,0.902,0.878,1.121,1.459,2.158,1.042,0.878,1.280,
+1.114,0.899,0.671,0.717,1.245,0.177,0.669,1.104,1.067,0.767,
+0.635,1.526,1.353,0.977,0.650,0.883,1.131,0.956,0.911,0.858,
+0.998,0.090,0.733,1.061,1.038,0.926,0.703,1.224,1.216,1.237,
+0.982,1.210,0.122,0.155,0.095,0.138,1.219,0.131,1.025,1.383,
+1.096,1.397,1.199,1.389,1.941,0.947,0.933,1.633,1.587,1.706,
+0.942,1.245,1.632,0.136,1.221,1.879,2.156,1.451,1.639,2.629,
+5.064,2.435,2.283,4.875,2.302,1.256,1.155,1.688,2.789,0.229,
+0.981,1.677,3.820,2.516,1.365,2.912,1.965,0.947,0.788,1.186,
+1.164,0.584,0.585,0.673,1.334,0.092,0.699,0.832,1.152,0.918,
+0.549,1.039,1.794,1.038,0.874,1.619,0.183,0.092,0.077,0.184,
+1.043,0.089,0.517,0.830,1.027,1.009,0.686,1.306,2.718,1.315,
+1.222,2.440,1.893,1.070,0.913,1.621,1.516,0.123,0.876,1.395,
+2.371,1.427,1.389,3.561,2.959,1.361,0.866,1.611,1.489,0.833,
+0.628,0.908,1.416,0.131,0.629,0.878,1.466,1.273,0.617,1.299,
+1.524,0.913,0.518,0.827,0.965,0.439,0.438,0.521,1.086,0.080,
+0.491,0.712,1.066,0.725,0.431,0.759,1.905,1.079,0.762,1.144,
+0.302,0.081,0.059,0.099,1.024,0.077,0.497,0.741,0.946,0.927,
+0.631,0.935,1.760,1.267,0.756,1.328,1.941,0.796,0.526,0.862,
+0.983,0.073,0.538,0.879,1.120,0.879,0.751,1.649,3.184,1.135,
+1.002,1.766,1.807,0.909,0.816,1.312,4.696,0.352,0.863,1.277,
+3.910,1.957,0.989,2.332,0.246,0.132,0.090,0.180,0.157,0.099,
+0.094,0.146,0.284,0.025,0.091,0.140,0.387,0.349,0.120,0.255,
+1.110,0.831,0.881,1.081,0.101,0.071,0.063,0.117,1.073,0.117,
+0.486,0.685,0.960,1.035,0.742,0.994,1.123,0.638,0.661,1.199,
+1.211,0.718,0.661,1.223,1.117,0.094,0.609,1.061,1.344,0.996,
+0.991,1.969,3.770,1.355,1.147,2.534,1.539,0.735,0.647,1.159,
+3.687,0.263,0.933,1.412,6.828,2.843,1.431,3.933,2.388,1.112,
+0.841,1.280,1.228,0.750,0.742,0.962,2.192,0.136,0.780,1.164,
+2.780,1.856,0.948,1.908,1.466,0.935,0.942,1.266,0.110,0.073,
+0.061,0.115,1.274,0.085,0.654,0.962,1.346,1.290,0.982,1.514,
+2.580,1.182,1.164,2.529,1.416,0.897,0.871,1.547,2.226,0.139,
+1.109,2.071,4.107,2.538,2.326,5.800,4.061,1.845,1.394,2.668,
+1.988,1.212,0.987,1.354,1.841,0.175,0.699,1.293,2.002,1.784,
+0.910,1.986,1.929,1.119,0.854,1.665,1.272,0.800,0.808,0.933,
+1.127,0.112,1.064,0.969,0.899,0.972,0.641,1.159,1.441,1.109,
+0.847,1.326,0.166,0.117,0.084,0.150,0.920,0.103,0.626,0.959,
+0.832,1.127,0.706,1.320,1.447,0.795,0.736,1.389,1.401,0.979,
+0.775,1.199,1.187,0.107,0.669,1.345,1.384,0.999,0.971,2.307,
+2.893,1.632,1.028,1.797,1.925,1.262,0.819,1.023,1.628,0.187,
+0.551,0.858,1.345,1.867,0.622,1.298,1.615,1.255,0.624,0.915,
+1.262,0.732,0.696,0.752,1.087,0.124,0.649,0.879,0.807,0.986,
+0.529,0.847,1.908,1.719,0.929,1.193,0.468,0.231,0.110,0.127,
+1.351,0.180,0.760,1.073,0.971,1.531,0.853,1.278,1.458,1.041,
+0.657,1.114,2.466,1.626,0.746,1.000,1.008,0.085,0.607,1.077,
+0.945,0.868,0.728,1.539,2.428,1.001,0.796,1.293,1.615,1.075,
+0.927,1.223,2.935,0.342,0.794,0.980,1.823,1.784,0.807,1.765,
+0.127,0.106,0.072,0.121,0.115,0.112,0.120,0.176,0.209,0.040,
+0.124,0.110,0.152,0.292,0.092,0.148,1.124,1.162,1.172,1.095,
+0.110,0.112,0.095,0.128,1.201,0.163,0.681,0.899,0.864,1.590,
+0.804,1.127,1.096,0.642,0.788,1.084,1.242,1.072,0.897,1.384,
+1.308,0.114,0.822,1.140,1.141,0.989,0.996,1.770,2.508,1.226,
+0.984,1.760,1.191,0.748,0.674,0.915,1.888,0.159,1.013,1.056,
+2.461,1.607,1.172,2.418,1.777,1.216,0.951,1.268,1.241,1.035,
+1.167,1.105,2.018,0.173,1.134,1.158,1.539,1.791,0.936,1.510,
+1.190,1.016,0.877,1.201,0.102,0.087,0.056,0.109,1.057,0.088,
+0.699,0.989,0.991,1.219,0.866,1.361,1.732,0.874,0.825,1.484,
+1.297,0.944,0.728,1.136,1.563,0.108,0.927,1.723,2.123,1.563,
+1.397,3.005,2.787,1.450,1.027,1.725,1.182,0.941,0.645,0.951,
+1.457,0.130,0.574,0.895,1.329,1.037,0.659,1.272,1.829,1.271,
+0.805,1.039,1.107,0.869,0.694,0.740,1.313,0.147,0.892,1.039,
+0.994,1.205,0.737,1.136,1.585,1.477,1.400,1.657,0.155,0.155,
+0.132,0.225,1.278,0.135,0.703,1.121,1.116,1.418,0.843,1.341,
+1.440,0.970,0.886,1.468,1.208,1.027,0.782,1.216,1.452,0.139,
+0.818,1.473,1.620,1.105,1.145,2.469,0.178,0.143,0.074,0.143,
+0.142,0.144,0.080,0.108,0.120,0.021,0.061,0.087,0.115,0.166,
+0.075,0.150,0.108,0.104,0.064,0.073,0.106,0.119,0.079,0.075,
+0.105,0.019,0.096,0.101,0.082,0.111,0.071,0.098,0.113,0.143,
+0.105,0.124,0.019,0.030,0.027,0.019,0.140,0.026,0.102,0.126,
+0.102,0.161,0.091,0.137,0.160,0.117,0.091,0.187,0.216,0.189,
+0.128,0.174,0.143,0.019,0.103,0.171,0.149,0.139,0.123,0.252,
+1.632,0.954,0.638,0.821,1.250,1.129,0.949,0.876,1.390,0.206,
+0.716,0.881,0.982,1.089,0.864,1.279,0.110,0.101,0.059,0.069,
+0.092,0.119,0.141,0.071,0.116,0.021,0.118,0.100,0.109,0.169,
+0.092,0.120,0.941,1.176,0.813,0.991,0.105,0.131,0.101,0.116,
+1.119,0.136,0.620,0.829,0.675,1.206,0.796,1.069,0.945,0.660,
+0.612,0.834,1.039,1.083,0.917,1.020,1.441,0.159,1.048,1.291,
+0.998,1.283,1.112,1.585,1.571,0.825,0.671,1.110,0.964,0.666,
+0.512,0.691,1.304,0.117,0.643,0.979,1.345,0.967,0.770,1.651,
+1.670,1.186,0.795,1.081,1.227,1.106,1.000,0.909,1.572,0.133,
+1.037,1.320,1.522,1.622,1.056,1.628,1.437,1.335,0.987,1.360,
+0.106,0.120,0.081,0.121,1.410,0.127,1.037,1.195,1.265,1.603,
+1.211,1.643,1.576,0.885,0.998,1.319,1.197,1.024,0.804,1.052,
+1.752,0.132,1.321,1.532,1.956,1.801,1.659,2.731,5.045,1.702,
+1.360,2.915,1.538,0.893,0.753,1.326,1.736,0.140,0.711,1.325,
+2.187,1.398,1.008,2.513,1.822,0.911,0.646,1.023,1.007,0.689,
+0.549,0.825,1.110,0.092,0.764,0.984,0.946,0.800,0.598,1.094,
+1.534,1.152,0.798,1.635,0.114,0.097,0.080,0.172,0.998,0.088,
+0.562,1.021,1.053,1.094,0.695,1.397,2.239,1.112,1.131,2.573,
+1.383,0.904,0.978,1.589,1.459,0.112,0.798,1.771,2.472,1.472,
+1.606,4.241,2.373,1.200,0.868,1.601,1.265,0.945,0.667,0.958,
+1.169,0.105,0.559,1.002,1.236,1.114,0.676,1.792,1.432,0.951,
+0.574,0.820,0.993,0.743,0.536,0.719,0.954,0.086,0.728,0.963,
+0.822,0.821,0.636,1.037,1.276,1.093,0.715,1.289,0.085,0.085,
+0.063,0.105,1.210,0.107,0.678,1.127,1.119,1.430,0.782,1.528,
+1.590,1.004,0.999,1.820,1.418,1.023,0.824,1.324,1.299,0.097,
+0.731,1.418,1.538,1.344,1.130,2.539,2.757,1.383,0.987,1.540,
+1.876,1.162,1.002,1.559,2.178,0.239,0.880,1.425,1.787,1.553,
+1.172,2.593,0.161,0.140,0.076,0.135,0.120,0.110,0.096,0.116,
+0.138,0.017,0.087,0.129,0.156,0.187,0.115,0.213,1.482,1.538,
+0.991,1.619,0.113,0.103,0.079,0.149,1.955,0.154,0.852,1.308,
+1.258,1.552,1.136,1.874,1.753,1.328,1.070,1.673,1.864,1.441,
+1.205,1.840,2.013,0.153,1.395,2.038,1.905,1.616,2.026,3.102,
+5.697,2.390,1.574,3.261,2.071,1.491,1.015,1.592,2.640,0.219,
+1.261,2.301,3.564,2.429,1.931,5.891,2.911,1.884,1.108,1.784,
+1.931,1.794,1.149,1.441,2.122,0.143,1.193,2.051,2.255,2.018,
+1.514,3.023,3.167,2.397,1.727,2.867,0.160,0.156,0.094,0.197,
+2.744,0.182,1.856,2.680,2.876,2.964,2.539,3.950,6.639,2.744,
+2.569,5.425,3.203,2.590,1.879,3.261,4.344,0.239,2.994,5.635,
+6.475,3.811,4.077,6.935,0.538,0.309,0.254,0.398,0.333,0.205,
+0.164,0.189,0.394,0.044,0.178,0.204,0.341,0.298,0.189,0.310,
+0.357,0.219,0.142,0.156,0.216,0.134,0.132,0.110,0.237,0.024,
+0.137,0.147,0.151,0.164,0.111,0.149,0.298,0.199,0.154,0.171,
+0.028,0.022,0.019,0.026,0.184,0.024,0.137,0.127,0.128,0.173,
+0.145,0.142,0.324,0.150,0.156,0.237,0.251,0.165,0.149,0.197,
+0.201,0.021,0.123,0.171,0.207,0.152,0.154,0.217,0.431,0.255,
+0.150,0.201,0.256,0.205,0.138,0.147,0.250,0.038,0.128,0.155,
+0.168,0.207,0.099,0.156,0.288,0.211,0.120,0.131,0.206,0.149,
+0.123,0.101,0.218,0.039,0.152,0.166,0.107,0.163,0.103,0.120,
+0.179,0.190,0.122,0.136,0.025,0.032,0.025,0.018,0.205,0.039,
+0.148,0.164,0.101,0.197,0.120,0.162,0.154,0.118,0.094,0.138,
+0.184,0.147,0.106,0.139,0.220,0.025,0.134,0.247,0.140,0.136,
+0.148,0.243,0.328,0.131,0.120,0.141,0.184,0.120,0.111,0.110,
+0.230,0.035,0.097,0.133,0.149,0.168,0.114,0.190,0.038,0.023,
+0.014,0.017,0.023,0.020,0.018,0.014,0.028,8.61e-3,0.022,0.022,
+0.021,0.036,0.019,0.024,0.108,0.095,0.098,0.084,0.011,0.014,
+0.012,0.014,0.145,0.025,0.079,0.090,0.074,0.115,0.084,0.093,
+0.121,0.065,0.065,0.084,0.117,0.090,0.080,0.101,0.145,0.022,
+0.116,0.121,0.092,0.107,0.106,0.150,0.326,0.141,0.110,0.209,
+0.140,0.095,0.077,0.091,0.221,0.020,0.083,0.127,0.213,0.155,
+0.113,0.244,0.342,0.195,0.122,0.152,0.231,0.139,0.128,0.109,
+0.214,0.019,0.118,0.161,0.167,0.178,0.123,0.192,0.137,0.117,
+0.107,0.127,0.014,0.012,0.013,0.014,0.149,0.017,0.097,0.117,
+0.104,0.137,0.116,0.135,0.187,0.107,0.104,0.160,0.129,0.096,
+0.081,0.119,0.192,0.016,0.127,0.183,0.202,0.183,0.155,0.293,
+0.391,0.267,0.166,0.223,0.235,0.195,0.151,0.143,0.341,0.035,
+0.110,0.193,0.185,0.184,0.227,0.203,0.252,0.259,0.127,0.127,
+0.190,0.147,0.135,0.107,0.169,0.040,0.129,0.143,0.090,0.156,
+0.097,0.112,0.151,0.206,0.121,0.115,0.021,0.035,0.021,0.021,
+0.136,0.022,0.142,0.120,0.078,0.150,0.172,0.120,0.154,0.091,
+0.099,0.126,0.173,0.150,0.121,0.120,0.190,0.035,0.101,0.228,
+0.129,0.121,0.102,0.204,0.335,0.276,0.133,0.151,0.234,0.276,
+0.168,0.129,0.217,0.057,0.108,0.131,0.104,0.191,0.093,0.124,
+0.201,0.232,0.109,0.112,0.169,0.124,0.143,0.101,0.199,0.051,
+0.149,0.167,0.081,0.164,0.127,0.119,0.161,0.282,0.143,0.127,
+0.029,0.081,0.043,0.025,0.229,0.065,0.173,0.181,0.098,0.310,
+0.148,0.160,0.139,0.114,0.074,0.099,0.177,0.222,0.112,0.108,
+0.556,0.050,0.122,0.222,0.119,0.133,0.096,0.287,0.198,0.128,
+0.075,0.099,0.156,0.154,0.129,0.103,0.148,0.034,0.096,0.102,
+0.078,0.135,0.095,0.123,0.029,0.029,0.014,0.014,0.021,0.032,
+0.030,0.013,0.025,0.020,0.035,0.025,0.011,0.034,0.020,0.014,
+0.115,0.151,0.288,0.105,0.024,0.034,0.027,0.017,0.138,0.033,
+0.114,0.109,0.060,0.202,0.110,0.096,0.083,0.061,0.062,0.078,
+0.133,0.153,0.129,0.128,0.141,0.025,0.123,0.142,0.064,0.103,
+0.104,0.124,0.154,0.099,0.071,0.100,0.088,0.070,0.086,0.061,
+0.096,0.011,0.052,0.067,0.083,0.087,0.064,0.111,0.172,0.173,
+0.093,0.102,0.139,0.118,0.094,0.090,0.117,0.023,0.090,0.100,
+0.079,0.156,0.096,0.117,0.101,0.130,0.108,0.108,0.010,0.019,
+0.015,0.012,0.104,0.020,0.095,0.102,0.073,0.127,0.122,0.122,
+0.162,0.101,0.073,0.100,0.124,0.098,0.068,0.090,0.179,0.033,
+0.105,0.143,0.141,0.164,0.136,0.198,0.269,0.173,0.107,0.148,
+0.135,0.115,0.078,0.076,0.197,0.027,0.086,0.091,0.113,0.140,
+0.073,0.104,0.201,0.264,0.114,0.116,0.138,0.119,0.152,0.102,
+0.175,0.033,0.137,0.131,0.089,0.157,0.081,0.104,0.131,0.168,
+0.120,0.120,0.024,0.030,0.026,0.029,0.122,0.023,0.108,0.102,
+0.070,0.146,0.081,0.102,0.118,0.085,0.074,0.098,0.157,0.132,
+0.091,0.111,0.134,0.021,0.087,0.118,0.120,0.116,0.117,0.203,
+0.028,0.031,0.014,0.016,0.027,0.040,0.019,0.018,0.037,0.028,
+0.021,0.021,0.014,0.034,0.012,0.015,0.024,0.033,0.016,0.015,
+0.029,0.037,0.027,0.017,0.031,0.019,0.033,0.028,0.013,0.028,
+0.015,0.017,0.015,0.031,0.019,0.016,6.10e-3,0.015,0.012,6.43e-3,
+0.032,0.015,0.054,0.035,0.012,0.035,0.021,0.017,0.018,0.015,
+0.011,0.016,0.035,0.044,0.030,0.029,0.035,8.69e-3,0.029,0.033,
+0.019,0.026,0.020,0.034,0.118,0.094,0.061,0.067,0.112,0.108,
+0.127,0.075,0.147,0.045,0.109,0.091,0.070,0.112,0.086,0.081,
+0.015,0.021,0.011,7.69e-3,0.013,0.018,0.032,0.010,0.020,0.011,
+0.023,0.019,0.011,0.024,0.014,0.013,0.083,0.124,0.088,0.069,
+0.014,0.024,0.025,0.014,0.128,0.040,0.092,0.093,0.056,0.125,
+0.114,0.088,0.076,0.054,0.049,0.050,0.094,0.118,0.107,0.083,
+0.152,0.035,0.116,0.118,0.069,0.125,0.096,0.108,0.108,0.067,
+0.047,0.081,0.067,0.050,0.044,0.046,0.105,0.015,0.048,0.072,
+0.093,0.074,0.050,0.092,0.139,0.120,0.076,0.090,0.111,0.111,
+0.115,0.075,0.156,0.024,0.104,0.118,0.144,0.146,0.094,0.102,
+0.095,0.121,0.100,0.085,0.014,0.022,0.015,0.011,0.123,0.024,
+0.101,0.108,0.079,0.141,0.098,0.103,0.109,0.066,0.072,0.074,
+0.101,0.103,0.082,0.082,0.159,0.021,0.123,0.150,0.130,0.151,
+0.124,0.189,0.304,0.171,0.119,0.205,0.123,0.083,0.073,0.074,
+0.145,0.016,0.064,0.100,0.183,0.145,0.092,0.169,0.138,0.095,
+0.074,0.091,0.080,0.063,0.068,0.061,0.119,0.011,0.073,0.103,
+0.086,0.095,0.064,0.100,0.122,0.110,0.078,0.116,0.015,0.013,
+8.61e-3,0.017,0.096,9.02e-3,0.055,0.082,0.077,0.105,0.060,0.097,
+0.149,0.085,0.084,0.175,0.136,0.097,0.086,0.116,0.125,0.019,
+0.076,0.111,0.166,0.176,0.119,0.251,0.296,0.193,0.123,0.178,
+0.217,0.172,0.117,0.124,0.201,0.041,0.111,0.157,0.145,0.236,
+0.097,0.156,0.221,0.190,0.088,0.118,0.172,0.189,0.123,0.108,
+0.193,0.045,0.143,0.209,0.106,0.204,0.094,0.136,0.133,0.163,
+0.090,0.132,0.017,0.030,0.018,0.021,0.179,0.034,0.159,0.185,
+0.116,0.205,0.123,0.167,0.146,0.098,0.087,0.141,0.178,0.153,
+0.119,0.157,0.187,0.025,0.111,0.174,0.149,0.203,0.138,0.253,
+0.151,0.138,0.065,0.094,0.130,0.101,0.080,0.090,0.210,0.048,
+0.090,0.135,0.157,0.190,0.100,0.149,0.012,0.015,7.27e-3,0.013,
+0.011,0.014,0.014,0.012,0.023,0.010,0.017,0.023,0.016,0.030,
+0.014,0.016,0.093,0.111,0.084,0.088,0.011,0.016,0.021,0.013,
+0.114,0.026,0.072,0.095,0.075,0.121,0.139,0.111,0.091,0.075,
+0.056,0.081,0.126,0.118,0.100,0.113,0.302,0.167,0.127,0.170,
+0.115,0.253,0.110,0.158,0.215,0.109,0.087,0.128,0.103,0.069,
+0.060,0.073,0.156,0.016,0.060,0.108,0.161,0.141,0.099,0.215,
+0.124,0.083,0.059,0.096,0.078,0.064,0.060,0.070,0.130,0.014,
+0.074,0.128,0.113,0.133,0.080,0.125,0.155,0.135,0.102,0.134,
+0.015,0.015,0.013,0.013,0.182,0.019,0.102,0.153,0.138,0.173,
+0.197,0.183,0.210,0.109,0.106,0.201,0.166,0.138,0.115,0.153,
+0.254,0.029,0.159,0.249,0.284,0.245,0.230,0.405,0.383,0.270,
+0.232,0.286,0.286,0.230,0.164,0.168,0.255,0.044,0.141,0.180,
+0.255,0.257,0.134,0.216,0.286,0.241,0.146,0.147,0.257,0.192,
+0.155,0.128,0.218,0.038,0.178,0.178,0.132,0.194,0.119,0.160,
+0.165,0.175,0.126,0.136,0.025,0.030,0.021,0.026,0.136,0.025,
+0.095,0.100,0.089,0.153,0.103,0.116,0.185,0.114,0.119,0.174,
+0.179,0.182,0.117,0.154,0.186,0.026,0.107,0.217,0.151,0.141,
+0.126,0.228,0.365,0.278,0.146,0.189,0.306,0.267,0.160,0.137,
+0.234,0.052,0.147,0.166,0.136,0.206,0.099,0.156,0.274,0.296,
+0.139,0.137,0.283,0.213,0.182,0.142,0.258,0.076,0.236,0.286,
+0.111,0.211,0.124,0.223,0.181,0.255,0.145,0.129,0.057,0.058,
+0.041,0.031,0.215,0.063,0.210,0.237,0.098,0.271,0.162,0.180,
+0.119,0.097,0.057,0.100,0.210,0.167,0.101,0.139,0.168,0.037,
+0.150,0.872,0.107,0.134,0.121,0.518,0.174,0.117,0.071,0.101,
+0.209,0.159,0.131,0.113,0.240,0.051,0.118,0.140,0.112,0.143,
+0.097,0.162,0.025,0.024,0.017,0.019,0.053,0.046,0.035,0.023,
+0.038,0.033,0.043,0.030,0.017,0.051,0.021,0.022,0.092,0.124,
+0.090,0.068,0.017,0.024,0.017,0.016,0.112,0.027,0.101,0.107,
+0.062,0.112,0.086,0.086,0.210,0.059,0.043,0.067,0.121,0.129,
+0.087,0.098,0.128,0.032,0.109,0.144,0.085,0.107,0.103,0.147,
+0.202,0.097,0.062,0.112,0.104,0.068,0.051,0.060,0.132,0.016,
+0.070,0.083,0.125,0.109,0.073,0.145,0.233,0.173,0.102,0.116,
+0.224,0.155,0.116,0.112,0.159,0.032,0.123,0.162,0.101,0.167,
+0.093,0.132,0.094,0.089,0.132,0.098,0.011,0.015,0.016,0.013,
+0.096,0.016,0.084,0.096,0.063,0.105,0.088,0.100,0.131,0.075,
+0.061,0.105,0.090,0.094,0.072,0.078,0.155,0.020,0.101,0.161,
+0.132,0.146,0.131,0.241,0.328,0.275,0.164,0.202,0.258,0.270,
+0.197,0.159,0.196,0.036,0.115,0.141,0.140,0.183,0.103,0.144,
+0.283,0.257,0.148,0.134,0.292,0.279,0.257,0.155,0.181,0.051,
+0.183,0.172,0.079,0.180,0.106,0.134,0.126,0.188,0.125,0.106,
+0.019,0.048,0.034,0.027,0.116,0.028,0.119,0.107,0.067,0.137,
+0.102,0.119,0.109,0.069,0.059,0.111,0.140,0.161,0.105,0.112,
+0.113,0.019,0.100,0.134,0.116,0.107,0.093,0.249,0.307,0.287,
+0.122,0.129,0.304,0.367,0.193,0.139,0.203,0.062,0.142,0.150,
+0.102,0.191,0.087,0.145,0.206,0.242,0.113,0.104,0.122,0.077,
+0.108,0.082,0.200,0.094,0.172,0.201,0.078,0.235,0.146,0.157,
+0.131,0.325,0.141,0.131,0.042,0.193,0.053,0.040,0.210,0.084,
+0.189,0.232,0.094,0.329,0.195,0.216,0.094,0.099,0.062,0.091,
+0.171,0.318,0.130,0.140,0.158,0.049,0.145,0.338,0.087,0.159,
+0.134,0.953,0.184,0.143,0.084,0.088,0.247,0.265,0.197,0.129,
+0.211,0.066,0.163,0.139,0.092,0.243,0.115,0.141,0.025,0.046,
+0.022,0.017,0.063,0.084,0.065,0.025,0.045,0.041,0.081,0.039,
+0.017,0.109,0.035,0.022,0.102,0.195,0.142,0.115,0.026,0.068,
+0.047,0.028,0.137,0.046,0.146,0.144,0.053,0.202,0.149,0.111,
+0.082,0.064,0.055,0.066,0.151,0.241,0.180,0.145,0.148,0.034,
+0.161,0.179,0.096,0.128,0.146,0.187,0.120,0.086,0.057,0.074,
+0.099,0.085,0.052,0.056,0.108,0.016,0.060,0.061,0.079,0.089,
+0.052,0.092,0.131,0.157,0.094,0.103,0.180,0.201,0.125,0.105,
+0.149,0.040,0.138,0.124,0.079,0.233,0.106,0.109,0.074,0.119,
+0.088,0.086,0.011,0.027,0.015,0.013,0.096,0.021,0.109,0.107,
+0.055,0.126,0.116,0.107,0.085,0.067,0.052,0.077,0.110,0.108,
+0.066,0.084,0.129,0.018,0.095,0.124,0.092,0.129,0.168,0.226,
+0.259,0.195,0.112,0.160,0.170,0.148,0.106,0.110,0.154,0.029,
+0.151,0.105,0.107,0.133,0.071,0.114,0.240,0.263,0.114,0.135,
+0.219,0.240,0.183,0.158,0.262,0.071,0.298,0.227,0.091,0.207,
+0.106,0.122,0.121,0.204,0.152,0.141,0.034,0.049,0.029,0.037,
+0.171,0.039,0.183,0.186,0.077,0.186,0.141,0.131,0.099,0.075,
+0.056,0.098,0.144,0.152,0.096,0.127,0.145,0.029,0.131,0.168,
+0.116,0.116,0.129,0.220,0.052,0.033,0.016,0.015,0.047,0.063,
+0.037,0.027,0.030,0.021,0.028,0.024,0.014,0.034,0.018,0.020,
+0.032,0.051,0.019,0.019,0.057,0.097,0.066,0.037,0.063,0.080,
+0.083,0.074,0.014,0.054,0.023,0.021,0.021,0.052,0.041,0.021,
+0.018,0.047,0.031,0.014,0.047,0.041,0.153,0.088,0.016,0.063,
+0.041,0.029,0.014,0.016,0.010,0.013,0.052,0.057,0.035,0.035,
+0.027,0.015,0.042,0.059,0.015,0.026,0.027,0.054,0.146,0.142,
+0.100,0.097,0.161,0.267,0.190,0.125,0.214,0.077,0.209,0.164,
+0.094,0.159,0.128,0.136,0.021,0.056,0.028,0.015,0.037,0.111,
+0.074,0.026,0.044,0.046,0.093,0.050,0.014,0.056,0.032,0.023,
+0.095,0.218,0.137,0.102,0.029,0.066,0.051,0.027,0.208,0.085,
+0.172,0.191,0.067,0.228,0.145,0.124,0.075,0.066,0.055,0.071,
+0.137,0.222,0.138,0.134,0.179,0.059,0.247,0.206,0.081,0.156,
+0.161,0.166,0.107,0.072,0.061,0.103,0.072,0.062,0.054,0.058,
+0.090,0.022,0.064,0.086,0.077,0.076,0.045,0.097,0.158,0.180,
+0.108,0.104,0.174,0.256,0.174,0.128,0.221,0.059,0.216,0.243,
+0.121,0.213,0.130,0.133,0.097,0.176,0.270,0.125,0.018,0.037,
+0.031,0.020,0.168,0.049,0.184,0.188,0.087,0.217,0.135,0.140,
+0.088,0.074,0.069,0.081,0.109,0.116,0.085,0.092,0.175,0.031,
+0.201,0.201,0.122,0.183,0.155,0.199,0.227,0.128,0.100,0.166,
+0.141,0.097,0.075,0.115,0.127,0.019,0.074,0.115,0.126,0.124,
+0.069,0.156,0.144,0.107,0.067,0.096,0.103,0.079,0.068,0.092,
+0.111,0.018,0.087,0.136,0.074,0.095,0.061,0.118,0.090,0.101,
+0.064,0.096,9.36e-3,0.013,8.10e-3,0.014,0.083,0.014,0.063,0.093,
+0.054,0.096,0.057,0.092,0.111,0.074,0.061,0.132,0.102,0.091,
+0.062,0.113,0.110,0.011,0.064,0.129,0.129,0.111,0.099,0.258,
+0.454,0.189,0.115,0.156,0.235,0.206,0.185,0.182,0.194,0.043,
+0.137,0.202,0.122,0.201,0.088,0.159,0.226,0.217,0.104,0.123,
+0.219,0.248,0.172,0.163,0.288,0.097,0.235,0.544,0.128,0.295,
+0.125,0.207,0.125,0.197,0.118,0.120,0.025,0.047,0.038,0.028,
+0.188,0.045,0.248,0.266,0.122,0.281,0.144,0.168,0.114,0.082,
+0.067,0.121,0.173,0.186,0.112,0.176,0.159,0.027,0.145,0.227,
+0.131,0.159,0.127,0.269,0.117,0.100,0.069,0.080,0.115,0.141,
+0.110,0.102,0.170,0.038,0.124,0.137,0.094,0.128,0.101,0.141,
+8.77e-3,0.015,7.60e-3,0.010,0.015,0.027,0.021,0.014,0.018,8.77e-3,
+0.022,0.022,0.010,0.024,0.015,0.015,0.068,0.111,0.074,0.077,
+0.014,0.018,0.019,0.014,0.131,0.034,0.126,0.142,0.069,0.145,
+0.113,0.117,0.073,0.067,0.049,0.071,0.106,0.117,0.093,0.118,
+0.180,0.056,0.156,0.174,0.097,0.158,0.124,0.175,0.137,0.098,
+0.064,0.109,0.080,0.071,0.047,0.067,0.101,0.015,0.064,0.091,
+0.093,0.086,0.071,0.136,0.116,0.099,0.059,0.078,0.099,0.101,
+0.072,0.088,0.113,0.013,0.083,0.116,0.093,0.114,0.079,0.128,
+0.099,0.116,0.106,0.108,0.010,0.015,0.013,0.014,0.129,0.021,
+0.113,0.139,0.094,0.211,0.130,0.156,0.140,0.094,0.084,0.147,
+0.146,0.170,0.100,0.132,0.227,0.026,0.175,0.241,0.242,0.226,
+0.210,0.291,0.263,0.184,0.141,0.196,0.183,0.165,0.143,0.133,
+0.214,0.033,0.108,0.121,0.206,0.192,0.158,0.167,0.151,0.133,
+0.084,0.091,0.123,0.099,0.107,0.087,0.126,0.022,0.091,0.095,
+0.088,0.114,0.099,0.100,0.117,0.115,0.091,0.106,0.014,0.016,
+0.018,0.020,0.093,0.014,0.070,0.098,0.061,0.095,0.074,0.087,
+0.139,0.071,0.071,0.112,0.115,0.106,0.087,0.106,0.108,0.015,
+0.089,0.114,0.101,0.082,0.107,0.147,0.292,0.260,0.133,0.161,
+0.256,0.259,0.230,0.154,0.240,0.046,0.139,0.135,0.127,0.184,
+0.103,0.131,0.230,0.320,0.133,0.127,0.225,0.176,0.217,0.138,
+0.248,0.074,0.204,0.235,0.115,0.224,0.122,0.131,0.188,0.261,
+0.171,0.159,0.036,0.058,0.053,0.040,0.278,0.068,0.261,0.240,
+0.128,0.270,0.200,0.156,0.123,0.106,0.074,0.101,0.182,0.232,
+0.134,0.156,0.155,0.025,0.116,0.185,0.099,0.115,0.133,0.188,
+0.206,0.123,0.100,0.105,0.227,0.196,0.212,0.160,0.945,0.128,
+0.201,0.186,0.224,0.244,0.133,0.173,0.024,0.031,0.021,0.018,
+0.035,0.040,0.054,0.036,0.150,0.041,0.061,0.045,0.033,0.091,
+0.035,0.033,0.124,0.131,0.262,0.111,0.022,0.031,0.039,0.031,
+0.171,0.048,0.131,0.117,0.085,0.277,0.120,0.106,0.064,0.053,
+0.058,0.066,0.120,0.127,0.139,0.134,0.155,0.027,0.111,0.114,
+0.085,0.113,0.114,0.137,0.155,0.083,0.063,0.099,0.103,0.070,
+0.066,0.077,0.227,0.022,0.070,0.087,0.210,0.142,0.076,0.155,
+0.151,0.147,0.092,0.092,0.141,0.115,0.133,0.121,0.304,0.058,
+0.147,0.149,0.169,0.233,0.108,0.157,0.098,0.110,0.138,0.110,
+0.013,0.015,0.017,0.024,0.130,0.022,0.113,0.133,0.088,0.162,
+0.132,0.131,0.116,0.084,0.077,0.124,0.092,0.076,0.097,0.118,
+0.181,0.020,0.121,0.166,0.195,0.180,0.191,0.281,0.017,0.019,
+0.015,0.013,0.022,0.029,0.022,0.017,0.018,7.60e-3,0.016,0.014,
+0.013,0.023,0.014,0.012,0.024,0.031,0.018,0.014,0.031,0.042,
+0.041,0.021,0.024,0.019,0.035,0.025,9.61e-3,0.030,0.021,0.015,
+0.011,0.024,0.019,0.014,5.60e-3,0.011,0.012,7.60e-3,0.017,7.27e-3,
+0.025,0.019,8.02e-3,0.025,0.019,0.013,0.010,0.012,8.02e-3,0.012,
+0.021,0.025,0.024,0.020,0.021,5.35e-3,0.022,0.045,0.011,0.013,
+0.024,0.024,0.030,0.039,0.025,0.018,0.043,0.076,0.059,0.027,
+0.033,0.019,0.031,0.021,0.011,0.035,0.023,0.016,0.041,0.096,
+0.038,0.022,0.065,0.065,0.091,0.043,0.057,0.056,0.060,0.054,
+0.018,0.055,0.031,0.024,0.022,0.060,0.040,0.024,0.016,0.057,
+0.053,0.019,0.059,0.052,0.081,0.056,0.021,0.077,0.055,0.036,
+0.015,0.021,0.014,0.014,0.049,0.089,0.047,0.034,0.032,0.013,
+0.033,0.033,0.011,0.024,0.025,0.042,0.020,0.021,0.014,9.44e-3,
+0.034,0.062,0.069,0.028,0.101,0.040,0.047,0.026,0.015,0.059,
+0.024,0.019,6.18e-3,0.020,9.86e-3,5.01e-3,0.021,0.045,0.048,0.015,
+0.047,0.071,0.050,0.030,6.18e-3,0.039,0.016,9.11e-3,0.021,0.041,
+0.106,0.027,0.011,0.035,0.050,0.014,0.054,0.054,0.064,0.042,
+0.023,0.124,0.050,0.029,9.69e-3,0.012,0.017,0.010,0.029,0.057,
+0.065,0.034,0.034,0.019,0.051,0.040,0.014,0.027,0.030,0.024,
+0.015,0.016,9.94e-3,0.014,0.013,0.015,0.011,0.013,0.021,5.85e-3,
+0.012,0.013,0.021,0.023,0.013,0.017,0.028,0.054,0.024,0.019,
+0.038,0.052,0.058,0.039,0.074,0.030,0.050,0.037,0.040,0.091,
+0.037,0.032,0.014,0.026,0.028,0.020,4.76e-3,9.86e-3,0.013,5.18e-3,
+0.032,0.013,0.040,0.033,0.014,0.038,0.032,0.026,0.014,0.014,
+0.012,0.014,0.017,0.018,0.020,0.020,0.024,6.18e-3,0.030,0.028,
+0.021,0.029,0.029,0.034,0.154,0.135,0.097,0.110,0.137,0.176,
+0.142,0.102,0.145,0.024,0.095,0.091,0.091,0.099,0.068,0.080,
+0.117,0.154,0.109,0.077,0.172,0.182,0.314,0.124,0.188,0.055,
+0.276,0.171,0.096,0.168,0.121,0.103,0.120,0.186,0.160,0.129,
+0.028,0.054,0.051,0.043,0.382,0.067,0.172,0.169,0.122,0.506,
+0.129,0.121,0.078,0.068,0.056,0.077,0.117,0.138,0.128,0.127,
+0.172,0.036,0.147,0.216,0.104,0.225,0.229,0.170,0.020,0.029,
+0.014,0.014,0.038,0.084,0.055,0.027,0.022,0.016,0.032,0.023,
+0.011,0.023,0.011,0.012,0.025,0.045,0.028,0.016,0.053,0.072,
+0.107,0.040,0.039,0.037,0.083,0.058,0.022,0.038,0.023,0.015,
+0.018,0.051,0.037,0.031,0.013,0.049,0.045,0.017,0.063,0.059,
+0.087,0.064,0.015,0.074,0.041,0.029,0.016,0.016,0.012,0.015,
+0.031,0.056,0.042,0.035,0.031,0.013,0.046,0.066,0.012,0.024,
+0.031,0.027,0.102,0.116,0.135,0.065,0.194,0.271,1.252,0.177,
+0.188,0.084,0.285,0.153,0.077,0.147,0.151,0.114,0.018,0.043,
+0.073,0.014,0.053,0.089,0.918,0.064,0.044,0.040,0.117,0.048,
+0.039,0.044,0.045,0.025,0.098,0.181,0.200,0.107,0.037,0.070,
+0.115,0.041,0.211,0.082,0.151,0.174,0.061,0.186,0.206,0.135,
+0.057,0.051,0.062,0.053,0.124,0.194,0.268,0.140,0.145,0.045,
+0.224,0.169,0.062,0.117,0.152,0.131,0.079,0.065,0.061,0.069,
+0.080,0.078,0.132,0.059,0.108,0.020,0.082,0.084,0.235,0.095,
+0.059,0.085,0.139,0.151,0.188,0.084,0.206,0.243,1.274,0.182,
+0.234,0.055,0.256,0.194,0.859,0.265,0.178,0.146,0.095,0.167,
+0.126,0.103,0.018,0.055,0.048,0.026,0.172,0.047,0.237,0.218,
+0.112,0.227,0.177,0.143,0.074,0.065,0.057,0.073,0.098,0.112,
+0.115,0.098,0.141,0.028,0.195,0.170,0.127,0.157,0.150,0.156,
+0.163,0.117,0.079,0.134,0.107,0.094,0.087,0.112,0.107,0.017,
+0.061,0.076,0.109,0.111,0.071,0.121,0.102,0.087,0.053,0.058,
+0.081,0.063,0.078,0.056,0.077,0.012,0.068,0.075,0.052,0.065,
+0.055,0.065,0.100,0.107,0.072,0.093,0.013,0.015,0.014,0.016,
+0.101,0.017,0.066,0.113,0.063,0.129,0.082,0.089,0.094,0.067,
+0.058,0.096,0.102,0.082,0.074,0.099,0.091,0.011,0.074,0.109,
+0.104,0.107,0.103,0.181,0.230,0.218,0.118,0.157,0.206,0.287,
+0.191,0.161,0.179,0.041,0.150,0.161,0.112,0.189,0.098,0.135,
+0.204,0.319,0.135,0.120,0.260,0.254,0.277,0.171,0.214,0.059,
+0.251,0.241,0.100,0.204,0.174,0.131,0.137,0.286,0.158,0.151,
+0.028,0.067,0.051,0.039,0.234,0.068,0.245,0.281,0.153,0.357,
+0.211,0.203,0.138,0.114,0.095,0.124,0.188,0.226,0.192,0.220,
+0.233,0.036,0.169,0.304,0.127,0.183,0.160,0.232,0.120,0.118,
+0.083,0.090,0.149,0.158,0.222,0.139,0.179,0.044,0.145,0.156,
+0.084,0.136,0.113,0.141,0.013,0.020,0.017,0.012,0.025,0.032,
+0.082,0.025,0.021,0.018,0.038,0.031,0.012,0.032,0.021,0.018,
+0.101,0.170,0.132,0.114,0.022,0.038,0.046,0.028,0.160,0.051,
+0.153,0.184,0.085,0.190,0.189,0.159,0.076,0.069,0.063,0.074,
+0.134,0.155,0.177,0.159,0.139,0.033,0.160,0.188,0.092,0.127,
+0.161,0.172,0.139,0.091,0.068,0.103,0.095,0.090,0.076,0.074,
+0.108,0.017,0.080,0.104,0.121,0.101,0.082,0.151,0.131,0.124,
+0.075,0.087,0.106,0.117,0.178,0.104,0.116,0.020,0.105,0.148,
+0.177,0.128,0.100,0.136,0.114,0.148,0.113,0.144,0.014,0.024,
+0.020,0.019,0.166,0.025,0.176,0.223,0.111,0.183,0.175,0.176,
+0.147,0.093,0.096,0.159,0.152,0.163,0.137,0.161,0.192,0.022,
+0.187,0.257,0.220,0.175,0.211,0.273,0.395,0.248,0.228,0.410,
+0.232,0.155,0.137,0.191,0.261,0.026,0.107,0.171,0.315,0.278,
+0.140,0.269,0.262,0.184,0.159,0.204,0.159,0.100,0.093,0.105,
+0.171,0.016,0.120,0.122,0.201,0.221,0.138,0.211,0.232,0.168,
+0.129,0.205,0.022,0.016,0.011,0.028,0.130,0.014,0.077,0.114,
+0.151,0.165,0.114,0.183,0.247,0.139,0.125,0.234,0.199,0.123,
+0.113,0.176,0.162,0.017,0.130,0.155,0.226,0.179,0.173,0.338,
+0.315,0.190,0.121,0.201,0.191,0.138,0.106,0.126,0.177,0.021,
+0.086,0.123,0.155,0.156,0.082,0.166,0.194,0.156,0.084,0.112,
+0.132,0.086,0.080,0.082,0.166,0.022,0.096,0.129,0.142,0.143,
+0.082,0.141,0.169,0.152,0.106,0.152,0.023,0.020,0.017,0.018,
+0.149,0.022,0.098,0.131,0.116,0.203,0.104,0.137,0.159,0.138,
+0.086,0.144,0.173,0.122,0.074,0.119,0.133,0.016,0.085,0.143,
+0.127,0.122,0.129,0.217,0.254,0.126,0.107,0.168,0.190,0.124,
+0.115,0.142,0.362,0.041,0.095,0.133,0.264,0.195,0.109,0.223,
+0.019,0.018,0.012,0.018,0.016,0.015,0.015,0.017,0.029,5.35e-3,
+0.015,0.017,0.043,0.047,0.019,0.035,0.104,0.109,0.137,0.124,
+0.013,0.012,0.014,0.017,0.128,0.020,0.093,0.099,0.099,0.155,
+0.101,0.120,0.103,0.072,0.066,0.120,0.128,0.091,0.087,0.135,
+0.134,0.016,0.087,0.127,0.143,0.121,0.125,0.215,0.310,0.147,
+0.112,0.228,0.149,0.089,0.079,0.116,0.355,0.036,0.106,0.144,
+0.624,0.289,0.142,0.349,0.224,0.144,0.095,0.142,0.141,0.091,
+0.087,0.114,0.224,0.021,0.102,0.139,0.337,0.297,0.153,0.334,
+0.178,0.153,0.130,0.178,0.016,0.013,0.012,0.019,0.149,0.014,
+0.106,0.129,0.177,0.211,0.177,0.248,0.246,0.151,0.134,0.277,
+0.169,0.107,0.103,0.180,0.251,0.022,0.149,0.230,0.432,0.350,
+0.350,0.689,0.487,0.296,0.206,0.344,0.349,0.253,0.185,0.216,
+0.280,0.045,0.178,0.219,0.249,0.299,0.148,0.269,0.304,0.225,
+0.169,0.239,0.280,0.196,0.185,0.187,0.238,0.043,0.525,0.223,
+0.142,0.240,0.160,0.192,0.222,0.226,0.171,0.219,0.035,0.039,
+0.032,0.045,0.207,0.038,0.177,0.239,0.153,0.250,0.176,0.286,
+0.204,0.129,0.120,0.199,0.251,0.222,0.177,0.223,0.203,0.030,
+0.182,0.265,0.208,0.179,0.186,0.332,0.447,0.369,0.230,0.276,
+0.393,0.353,0.231,0.218,0.314,0.066,0.153,0.200,0.197,0.329,
+0.134,0.231,0.354,0.395,0.163,0.190,0.357,0.226,0.244,0.194,
+0.314,0.083,0.230,0.263,0.162,0.326,0.168,0.210,0.294,0.370,
+0.223,0.245,0.067,0.080,0.050,0.039,0.362,0.087,0.272,0.350,
+0.215,0.473,0.274,0.307,0.214,0.200,0.131,0.212,0.403,0.509,
+0.195,0.246,0.245,0.036,0.179,0.257,0.179,0.209,0.177,0.333,
+0.295,0.194,0.115,0.164,0.291,0.350,0.228,0.238,0.498,0.094,
+0.193,0.181,0.219,0.344,0.153,0.266,0.020,0.029,0.020,0.020,
+0.032,0.048,0.045,0.036,0.058,0.034,0.053,0.036,0.030,0.097,
+0.033,0.033,0.177,0.272,0.366,0.219,0.025,0.048,0.047,0.037,
+0.280,0.071,0.175,0.211,0.163,0.458,0.202,0.257,0.151,0.126,
+0.128,0.154,0.223,0.303,0.227,0.265,0.266,0.040,0.208,0.244,
+0.185,0.210,0.205,0.298,0.276,0.176,0.126,0.222,0.159,0.133,
+0.112,0.146,0.288,0.034,0.153,0.161,0.386,0.272,0.161,0.310,
+0.257,0.273,0.167,0.200,0.217,0.231,0.221,0.231,0.473,0.077,
+0.257,0.252,0.367,0.827,0.238,0.329,0.197,0.224,0.182,0.223,
+0.021,0.031,0.021,0.028,0.247,0.041,0.195,0.236,0.170,0.307,
+0.202,0.286,0.229,0.163,0.125,0.208,0.202,0.195,0.138,0.233,
+0.306,0.032,0.202,0.325,0.309,0.324,0.271,0.469,0.229,0.172,
+0.110,0.167,0.148,0.137,0.088,0.129,0.165,0.021,0.080,0.105,
+0.130,0.131,0.078,0.128,0.182,0.182,0.101,0.122,0.195,0.155,
+0.143,0.130,0.196,0.044,0.199,0.166,0.112,0.188,0.120,0.148,
+0.162,0.204,0.166,0.184,0.024,0.041,0.027,0.043,0.210,0.042,
+0.137,0.183,0.123,0.239,0.147,0.183,0.133,0.103,0.086,0.135,
+0.157,0.139,0.112,0.143,0.191,0.033,0.128,0.214,0.169,0.167,
+0.159,0.276,0.020,0.022,0.012,0.019,0.024,0.033,0.015,0.017,
+0.020,5.43e-3,0.016,0.014,0.013,0.026,0.012,0.020,0.025,0.025,
+0.014,0.015,0.032,0.046,0.032,0.021,0.027,0.015,0.044,0.034,
+0.016,0.030,0.018,0.018,0.016,0.032,0.021,0.018,4.76e-3,0.013,
+9.19e-3,6.02e-3,0.027,0.015,0.032,0.031,0.013,0.046,0.025,0.022,
+0.021,0.023,0.013,0.023,0.043,0.040,0.024,0.030,0.026,0.011,
+0.029,0.035,0.023,0.025,0.022,0.035,0.155,0.128,0.081,0.083,
+0.161,0.202,0.254,0.124,0.207,0.053,0.160,0.143,0.103,0.161,
+0.139,0.148,0.014,0.024,0.015,0.011,0.022,0.034,0.072,0.016,
+0.027,0.016,0.049,0.026,0.018,0.039,0.031,0.022,0.119,0.195,
+0.141,0.141,0.024,0.048,0.044,0.027,0.219,0.057,0.138,0.170,
+0.090,0.237,0.169,0.173,0.105,0.087,0.076,0.090,0.154,0.201,
+0.184,0.157,0.223,0.040,0.209,0.208,0.128,0.179,0.212,0.240,
+0.156,0.103,0.075,0.122,0.108,0.087,0.079,0.075,0.151,0.020,
+0.097,0.118,0.148,0.130,0.100,0.176,0.177,0.168,0.121,0.135,
+0.164,0.164,0.215,0.122,0.238,0.039,0.205,0.202,0.254,0.275,
+0.181,0.220,0.188,0.204,0.166,0.174,0.016,0.033,0.023,0.021,
+0.241,0.036,0.193,0.229,0.189,0.276,0.210,0.233,0.168,0.117,
+0.164,0.148,0.134,0.140,0.123,0.133,0.259,0.029,0.237,0.266,
+0.245,0.266,0.260,0.340,0.434,0.200,0.156,0.296,0.188,0.123,
+0.103,0.201,0.201,0.022,0.092,0.166,0.226,0.174,0.110,0.255,
+0.206,0.137,0.098,0.124,0.143,0.101,0.086,0.119,0.148,0.016,
+0.130,0.144,0.115,0.128,0.088,0.150,0.156,0.145,0.095,0.177,
+0.014,0.015,0.013,0.029,0.136,0.018,0.085,0.143,0.118,0.156,
+0.102,0.178,0.199,0.120,0.113,0.216,0.147,0.107,0.109,0.178,
+0.167,0.018,0.099,0.205,0.244,0.189,0.175,0.435,0.299,0.187,
+0.127,0.226,0.179,0.165,0.120,0.151,0.159,0.021,0.105,0.141,
+0.141,0.160,0.094,0.204,0.204,0.171,0.093,0.113,0.213,0.149,
+0.110,0.124,0.168,0.028,0.261,0.197,0.113,0.178,0.134,0.167,
+0.148,0.215,0.097,0.166,0.014,0.024,0.018,0.021,0.183,0.029,
+0.182,0.198,0.132,0.253,0.144,0.218,0.168,0.128,0.120,0.188,
+0.173,0.150,0.145,0.188,0.192,0.023,0.129,0.220,0.192,0.202,
+0.155,0.317,0.244,0.183,0.113,0.151,0.196,0.160,0.156,0.177,
+0.249,0.041,0.125,0.193,0.181,0.192,0.164,0.274,0.019,0.021,
+0.010,0.014,0.019,0.020,0.020,0.018,0.019,5.43e-3,0.021,0.020,
+0.016,0.030,0.019,0.032,0.159,0.197,0.131,0.189,0.017,0.025,
+0.024,0.024,0.232,0.038,0.160,0.209,0.132,0.219,0.190,0.240,
+0.162,0.135,0.107,0.165,0.211,0.196,0.211,0.232,0.286,0.037,
+0.202,0.284,0.205,0.208,0.245,0.365,0.424,0.253,0.172,0.275,
+0.190,0.143,0.122,0.161,0.255,0.025,0.152,0.233,0.320,0.253,
+0.187,0.528,0.275,0.212,0.126,0.188,0.193,0.188,0.137,0.166,
+0.244,0.027,0.169,0.260,0.237,0.282,0.193,0.359,0.263,0.261,
+0.190,0.287,0.019,0.025,0.016,0.026,0.332,0.037,0.256,0.362,
+0.265,0.368,0.317,0.443,0.517,0.271,0.242,0.468,0.324,0.277,
+0.223,0.366,0.489,0.035,0.365,0.618,0.552,0.433,0.460,0.556,
+4.564,2.047,1.880,3.024,1.899,1.165,1.377,1.339,2.506,0.224,
+1.538,1.501,2.612,2.112,1.546,2.117,2.096,1.312,1.061,1.133,
+1.284,0.830,0.915,0.778,1.420,0.127,1.046,1.021,0.980,1.051,
+0.873,1.101,1.681,1.163,1.276,1.379,0.134,0.110,0.121,0.167,
+1.355,0.108,0.909,0.960,0.896,1.148,0.903,1.088,2.011,1.025,
+1.260,2.055,1.443,1.109,1.112,1.445,1.218,0.103,0.937,1.295,
+1.508,1.026,1.202,1.847,2.358,1.505,1.018,1.342,1.369,1.024,
+0.803,0.942,1.208,0.143,0.696,0.894,1.008,1.155,0.750,1.077,
+1.543,1.228,0.779,0.760,0.951,0.671,0.673,0.558,1.185,0.151,
+0.834,1.056,0.651,0.849,0.661,0.746,1.093,1.060,0.789,0.796,
+0.098,0.114,0.096,0.099,0.987,0.109,0.931,0.910,0.587,0.962,
+0.696,0.703,0.952,0.724,0.555,0.824,0.981,0.865,0.647,0.832,
+0.892,0.081,0.774,0.911,0.800,0.759,0.769,1.174,1.702,0.805,
+0.865,1.066,1.166,0.818,0.866,1.172,1.151,0.193,0.751,1.018,
+0.923,1.332,0.941,1.306,0.143,0.119,0.091,0.095,0.114,0.096,
+0.080,0.091,0.115,0.026,0.097,0.118,0.119,0.219,0.115,0.145,
+1.222,0.789,0.739,0.713,0.092,0.070,0.073,0.094,0.874,0.102,
+0.696,0.748,0.809,0.991,0.745,0.730,0.710,0.477,0.459,0.644,
+0.834,0.690,0.637,0.768,0.838,0.083,0.733,0.932,0.712,0.716,
+0.777,1.141,1.766,0.777,0.908,1.325,0.788,0.528,0.491,0.573,
+0.873,0.091,0.537,0.691,1.027,0.851,0.903,1.459,1.234,0.880,
+0.777,0.790,0.970,0.638,0.577,0.527,0.786,0.067,0.612,0.692,
+0.804,0.805,0.768,0.949,0.915,1.062,0.635,0.737,0.071,0.069,
+0.062,0.071,0.632,0.062,0.621,0.739,0.584,0.693,0.648,0.782,
+1.165,0.637,0.615,1.096,0.552,0.384,0.461,0.635,0.912,0.066,
+0.805,1.123,1.333,0.895,1.007,1.853,2.641,1.691,1.347,1.909,
+1.427,1.096,1.216,1.133,1.089,0.133,0.743,0.972,1.177,1.151,
+0.915,1.282,1.670,1.351,0.949,0.989,1.087,0.878,1.125,0.877,
+1.068,0.134,0.888,0.984,0.655,0.916,0.690,0.875,0.947,0.987,
+1.040,0.914,0.087,0.130,0.114,0.127,0.701,0.090,0.638,0.694,
+0.495,0.936,0.627,0.764,0.967,0.600,0.637,0.924,0.931,0.924,
+0.804,0.928,0.682,0.076,0.535,0.915,0.721,0.624,0.695,1.228,
+1.994,1.764,0.886,1.165,1.416,1.268,0.945,0.966,0.977,0.143,
+0.689,0.847,0.668,0.935,0.547,0.873,1.291,1.287,0.877,0.828,
+0.761,0.453,0.769,0.616,0.986,0.156,1.046,1.041,0.479,0.815,
+0.626,0.688,0.950,1.395,1.109,1.052,0.109,0.177,0.168,0.169,
+1.036,0.199,1.240,1.188,0.647,1.675,0.886,0.925,0.775,0.659,
+0.586,0.666,0.864,0.940,0.719,0.805,0.741,0.086,0.752,0.796,
+0.530,0.658,0.636,0.899,1.321,0.966,0.774,1.148,1.253,1.127,
+1.322,1.103,1.121,0.206,0.967,0.993,0.647,1.038,1.053,1.191,
+0.113,0.158,0.094,0.115,0.112,0.145,0.147,0.111,0.125,0.044,
+0.184,0.154,0.081,0.255,0.141,0.139,0.885,1.261,1.053,0.906,
+0.106,0.207,0.153,0.127,1.109,0.275,1.073,1.130,0.872,3.557,
+1.195,1.127,0.758,0.528,0.634,0.688,0.959,1.154,1.065,1.093,
+0.982,0.139,1.129,1.259,0.569,0.980,0.995,1.187,1.005,0.723,
+0.598,0.879,0.646,0.462,0.455,0.535,0.531,0.061,0.555,0.550,
+0.552,0.537,0.563,0.871,1.125,0.962,0.742,0.904,0.809,0.764,
+0.670,0.767,0.751,0.086,0.754,0.813,0.591,0.932,0.692,0.970,
+0.629,0.918,0.710,0.834,0.056,0.082,0.060,0.073,0.578,0.079,
+0.671,0.754,0.501,1.000,0.762,0.837,0.817,0.632,0.571,0.786,
+0.619,0.546,0.469,0.675,0.724,0.062,0.702,0.978,0.914,0.873,
+0.993,1.547,2.323,1.518,1.231,1.483,0.973,0.875,0.752,0.731,
+1.023,0.150,0.891,0.822,1.143,1.504,0.860,1.270,1.899,1.568,
+1.189,1.247,1.193,1.141,1.554,1.171,1.558,0.204,1.381,1.335,
+0.942,1.606,0.951,1.240,1.199,1.417,1.752,1.261,0.132,0.189,
+0.199,0.230,1.179,0.201,2.826,2.269,0.691,1.453,1.107,1.246,
+1.174,0.783,0.834,1.238,1.153,1.122,0.893,1.125,1.151,0.139,
+1.139,1.359,1.079,1.046,1.117,2.382,0.208,0.219,0.146,0.152,
+0.201,0.228,0.146,0.120,0.152,0.042,0.171,0.148,0.105,0.224,
+0.141,0.158,0.207,0.228,0.138,0.125,0.174,0.207,0.178,0.119,
+0.233,0.057,0.260,0.205,0.107,0.239,0.132,0.140,0.132,0.226,
+0.186,0.145,0.026,0.059,0.058,0.036,0.310,0.103,2.139,1.262,
+0.108,0.322,0.267,0.213,0.192,0.151,0.122,0.172,0.321,0.387,
+0.258,0.278,0.176,0.041,0.323,0.321,0.180,0.317,0.194,0.316,
+1.380,1.015,0.823,0.780,1.019,1.084,1.003,0.713,2.239,0.767,
+2.341,1.293,0.930,2.146,1.385,1.331,0.118,0.163,0.099,0.105,
+0.095,0.130,0.128,0.076,0.332,0.162,0.254,0.157,0.119,0.396,
+0.172,0.145,0.881,1.188,0.999,0.701,0.106,0.156,0.169,0.100,
+1.133,0.212,1.211,0.931,0.591,1.197,0.964,0.793,0.638,0.534,
+0.601,0.585,0.903,1.058,0.973,0.909,1.081,0.182,1.395,1.161,
+0.693,0.915,1.018,1.062,1.086,0.636,0.526,0.832,0.657,0.490,
+0.433,0.415,0.930,0.139,0.666,0.702,0.703,0.845,0.617,0.928,
+1.444,1.131,0.867,1.137,1.001,1.070,0.832,0.753,2.432,0.284,
+1.263,1.434,1.131,1.594,0.981,1.217,0.757,0.946,0.846,0.751,
+0.077,0.114,0.086,0.085,0.880,0.103,1.057,1.082,0.664,1.135,
+0.854,0.953,0.957,0.640,0.759,0.865,0.853,0.739,0.607,0.720,
+1.106,0.110,1.100,1.304,1.094,1.213,1.134,1.577,2.342,1.119,
+0.943,1.466,0.826,0.543,0.563,0.547,0.872,0.083,0.511,0.642,
+1.065,0.898,0.691,1.284,0.981,0.583,0.581,0.660,0.593,0.385,
+0.640,0.472,0.978,0.068,0.506,0.658,0.598,0.555,0.455,0.723,
+0.896,0.681,0.639,0.823,0.099,0.072,0.067,0.115,0.658,0.069,
+0.697,0.768,0.535,0.782,0.506,0.771,1.255,0.665,0.784,1.444,
+1.283,0.718,0.710,0.970,1.903,0.101,0.610,0.870,1.233,1.072,
+0.901,2.011,1.683,1.168,0.781,1.097,1.197,0.945,0.798,0.766,
+0.970,0.122,0.765,0.900,0.770,0.957,0.748,1.160,1.441,0.959,
+0.614,0.732,0.923,0.744,0.703,0.595,1.153,0.135,0.921,1.043,
+0.676,0.894,0.556,0.755,0.895,0.948,0.724,0.826,0.090,0.108,
+0.104,0.113,1.145,0.180,3.576,2.917,0.787,1.522,0.934,1.129,
+1.210,0.695,0.615,0.962,1.548,1.090,0.924,1.059,0.997,0.137,
+0.957,1.281,1.139,2.156,0.933,1.543,1.209,0.795,0.693,0.807,
+1.296,0.800,0.831,0.793,1.569,0.240,1.432,1.120,0.938,1.024,
+1.293,1.475,0.097,0.118,0.077,0.098,0.089,0.085,0.081,0.072,
+0.135,0.030,0.142,0.126,0.122,0.172,0.130,0.140,0.783,0.886,
+0.735,0.941,0.087,0.089,0.091,0.108,0.953,0.143,1.047,0.993,
+0.732,1.382,0.971,1.124,0.812,0.640,0.605,0.887,1.071,0.949,
+0.911,1.160,1.373,0.166,1.140,1.453,0.994,1.202,1.134,1.556,
+1.560,0.839,0.693,1.062,0.795,0.532,0.522,0.557,0.916,0.096,
+0.616,0.799,1.076,0.881,0.863,1.627,0.868,0.624,0.537,0.787,
+0.574,0.427,0.519,0.529,1.055,0.089,0.692,0.928,0.905,0.992,
+0.676,1.075,1.052,1.024,0.847,1.214,0.111,0.079,0.067,0.109,
+0.999,0.087,0.908,1.165,1.199,1.402,1.100,1.413,1.678,0.856,
+1.103,2.190,1.363,0.971,0.919,1.496,1.624,0.109,1.357,1.988,
+2.667,1.798,1.885,3.035,0.232,0.160,0.147,0.192,0.170,0.126,
+0.128,0.119,0.158,0.023,0.115,0.132,0.151,0.161,0.114,0.135,
+0.177,0.146,0.108,0.102,0.132,0.113,0.126,0.090,0.137,0.023,
+0.131,0.120,0.089,0.125,0.108,0.119,0.107,0.099,0.097,0.093,
+0.014,0.016,0.017,0.016,0.085,0.015,0.084,0.075,0.062,0.090,
+0.081,0.081,0.117,0.083,0.083,0.135,0.121,0.111,0.106,0.116,
+0.105,0.013,0.115,0.116,0.102,0.091,0.117,0.155,0.215,0.194,
+0.117,0.127,0.193,0.172,0.148,0.103,0.159,0.032,0.139,0.142,
+0.098,0.149,0.149,0.143,0.206,0.224,0.136,0.102,0.181,0.151,
+0.166,0.111,0.274,0.083,0.238,0.291,0.097,0.204,0.129,0.130,
+0.115,0.153,0.120,0.093,0.030,0.037,0.042,0.027,0.134,0.039,
+0.210,0.165,0.077,0.165,0.114,0.098,0.090,0.104,0.064,0.079,
+0.138,0.120,0.109,0.118,0.109,0.022,0.123,0.197,0.086,0.095,
+0.115,0.169,0.109,0.074,0.060,0.072,0.114,0.105,0.121,0.084,
+0.107,0.026,0.091,0.086,0.069,0.106,0.079,0.101,0.014,0.022,
+0.014,0.012,0.020,0.030,0.030,0.017,0.022,0.014,0.029,0.024,
+0.018,0.031,0.020,0.016,0.068,0.081,0.082,0.063,0.016,0.019,
+0.022,0.017,0.085,0.025,0.103,0.085,0.050,0.100,0.105,0.085,
+0.055,0.041,0.044,0.050,0.096,0.087,0.088,0.088,0.086,0.017,
+0.102,0.101,0.059,0.081,0.108,0.111,0.114,0.064,0.058,0.086,
+0.069,0.049,0.050,0.050,0.076,0.013,0.052,0.055,0.070,0.069,
+0.058,0.104,0.111,0.108,0.082,0.083,0.100,0.103,0.088,0.071,
+0.089,0.015,0.083,0.098,0.068,0.100,0.080,0.101,0.068,0.070,
+0.063,0.074,9.36e-3,8.52e-3,0.011,0.011,0.059,9.28e-3,0.075,0.074,
+0.045,0.075,0.070,0.081,0.088,0.057,0.050,0.089,0.060,0.052,
+0.054,0.067,0.086,0.011,0.089,0.118,0.110,0.106,0.117,0.203,
+0.161,0.134,0.107,0.121,0.141,0.141,0.133,0.123,0.089,0.016,
+0.072,0.079,0.074,0.091,0.067,0.084,0.127,0.135,0.097,0.080,
+0.118,0.118,0.124,0.096,0.102,0.039,0.141,0.119,0.049,0.092,
+0.074,0.077,0.067,0.085,0.080,0.064,0.011,0.023,0.024,0.016,
+0.058,0.017,0.082,0.059,0.036,0.073,0.065,0.063,0.060,0.039,
+0.040,0.058,0.068,0.082,0.070,0.073,0.056,0.011,0.065,0.074,
+0.052,0.054,0.066,0.092,0.165,0.203,0.099,0.103,0.172,0.257,
+0.142,0.101,0.112,0.031,0.119,0.102,0.055,0.105,0.066,0.096,
+0.140,0.220,0.132,0.086,0.112,0.076,0.127,0.094,0.137,0.056,
+0.255,0.197,0.050,0.136,0.102,0.085,0.092,0.181,0.148,0.130,
+0.025,0.062,0.072,0.055,0.137,0.062,0.187,0.175,0.074,0.187,
+0.128,0.106,0.072,0.059,0.057,0.066,0.098,0.138,0.120,0.116,
+0.083,0.021,0.128,0.128,0.058,0.074,0.120,0.131,0.096,0.083,
+0.061,0.067,0.134,0.155,0.157,0.100,0.121,0.033,0.110,0.092,
+0.055,0.124,0.091,0.087,0.015,0.036,0.018,0.013,0.027,0.058,
+0.055,0.020,0.032,0.031,0.064,0.048,9.53e-3,0.053,0.028,0.018,
+0.094,0.161,0.139,0.097,0.025,0.075,0.060,0.027,0.131,0.055,
+0.181,0.137,0.060,0.223,0.177,0.121,0.084,0.047,0.052,0.054,
+0.113,0.173,0.166,0.117,0.110,0.027,0.169,0.137,0.060,0.084,
+0.129,0.116,0.072,0.060,0.053,0.075,0.052,0.048,0.043,0.054,
+0.053,6.52e-3,0.068,0.048,0.046,0.051,0.042,0.063,0.073,0.105,
+0.069,0.067,0.078,0.098,0.083,0.069,0.083,0.020,0.101,0.084,
+0.039,0.119,0.072,0.073,0.041,0.077,0.062,0.060,8.02e-3,0.013,
+0.011,9.19e-3,0.054,0.014,0.089,0.067,0.039,0.088,0.082,0.065,
+0.050,0.043,0.042,0.058,0.051,0.051,0.046,0.066,0.060,9.78e-3,
+0.075,0.086,0.060,0.077,0.095,0.127,0.146,0.135,0.111,0.116,
+0.093,0.108,0.102,0.091,0.095,0.022,0.263,0.100,0.077,0.106,
+0.077,0.102,0.150,0.192,0.119,0.109,0.151,0.191,0.192,0.139,
+0.192,0.058,0.345,0.209,0.070,0.167,0.120,0.109,0.097,0.161,
+0.152,0.113,0.018,0.038,0.043,0.043,0.178,0.064,1.381,0.790,
+0.061,0.161,0.262,0.127,0.076,0.065,0.059,0.105,0.105,0.117,
+0.102,0.164,0.111,0.023,0.197,0.196,0.078,0.085,0.116,0.168,
+0.020,0.037,0.018,0.015,0.029,0.060,0.040,0.026,0.019,0.015,
+0.052,0.032,8.36e-3,0.028,0.018,0.018,0.025,0.057,0.035,0.022,
+0.044,0.074,0.072,0.034,0.043,0.056,0.108,0.068,0.013,0.045,
+0.028,0.020,0.014,0.053,0.050,0.026,0.011,0.039,0.055,0.019,
+0.121,0.088,2.356,0.919,0.013,0.070,0.093,0.044,0.011,0.016,
+0.011,0.013,0.036,0.053,0.045,0.039,0.024,0.014,0.126,0.087,
+0.022,0.028,0.027,0.031,0.108,0.106,0.082,0.064,0.102,0.166,
+0.157,0.090,0.163,0.065,0.269,0.142,0.072,0.170,0.141,0.116,
+0.018,0.042,0.025,0.010,0.022,0.065,0.059,0.023,0.042,0.048,
+0.145,0.053,0.011,0.046,0.035,0.019,0.103,0.183,0.159,0.081,
+0.028,0.067,0.081,0.028,0.176,0.092,0.399,0.189,0.058,0.186,
+0.184,0.113,0.055,0.059,0.069,0.061,0.128,0.197,0.174,0.123,
+0.136,0.054,0.286,0.176,0.068,0.114,0.156,0.143,0.085,0.068,
+0.054,0.075,0.068,0.057,0.062,0.048,0.075,0.017,0.074,0.071,
+0.063,0.082,0.055,0.077,0.117,0.131,0.098,0.104,0.117,0.170,
+0.136,0.103,0.191,0.042,0.212,0.203,0.083,0.169,0.122,0.107,
+0.080,0.117,0.107,0.081,0.014,0.032,0.027,0.014,0.113,0.036,
+0.252,0.195,0.066,0.148,0.118,0.102,0.069,0.056,0.056,0.064,
+0.131,0.085,0.074,0.075,0.109,0.021,0.157,0.150,0.094,0.133,
+0.129,0.148,0.199,0.118,0.095,0.141,0.142,0.091,0.084,0.144,
+0.132,0.013,0.083,0.112,0.124,0.109,0.084,0.154,0.111,0.085,
+0.074,0.076,0.078,0.066,0.091,0.075,0.096,0.013,0.099,0.093,
+0.064,0.074,0.069,0.086,0.086,0.080,0.077,0.092,0.011,0.010,
+0.010,0.016,0.071,0.011,0.144,0.130,0.057,0.083,0.083,0.102,
+0.107,0.066,0.080,0.145,0.130,0.084,0.080,0.147,0.182,0.015,
+0.079,0.160,0.151,0.122,0.117,0.278,0.223,0.181,0.132,0.153,
+0.194,0.177,0.186,0.154,0.157,0.029,0.157,0.168,0.109,0.168,
+0.118,0.164,0.231,0.211,0.130,0.133,0.204,0.214,0.203,0.155,
+0.202,0.047,0.244,0.281,0.111,0.208,0.147,0.150,0.113,0.181,
+0.150,0.133,0.019,0.038,0.053,0.036,0.236,0.068,1.845,1.166,
+0.112,0.249,0.204,0.188,0.133,0.096,0.097,0.134,0.204,0.190,
+0.190,0.217,0.150,0.026,0.240,0.324,0.294,0.286,0.173,0.245,
+0.107,0.083,0.074,0.083,0.129,0.112,0.121,0.096,0.140,0.032,
+0.164,0.139,0.087,0.124,0.144,0.146,0.010,0.016,9.11e-3,0.010,
+0.016,0.024,0.025,0.016,0.018,9.69e-3,0.034,0.023,0.012,0.024,
+0.024,0.019,0.080,0.120,0.112,0.094,0.014,0.024,0.030,0.026,
+0.114,0.037,0.186,0.146,0.070,0.179,0.158,0.132,0.080,0.070,
+0.079,0.095,0.112,0.133,0.139,0.157,0.194,0.034,0.199,0.244,
+0.106,0.143,0.185,0.198,0.124,0.090,0.075,0.097,0.078,0.067,
+0.061,0.070,0.079,0.012,0.069,0.086,0.082,0.079,0.082,0.134,
+0.088,0.075,0.064,0.081,0.078,0.074,0.078,0.089,0.094,0.012,
+0.095,0.108,0.075,0.104,0.085,0.118,0.084,0.101,0.104,0.116,
+0.012,0.013,0.011,0.017,0.108,0.017,0.129,0.140,0.104,0.153,
+0.137,0.147,0.132,0.080,0.098,0.174,0.124,0.106,0.107,0.148,
+0.155,0.016,0.172,0.227,0.204,0.183,0.224,0.290,1.538,1.468,
+1.209,1.592,1.489,1.248,1.055,1.164,1.288,0.150,0.943,1.082,
+1.487,1.546,1.285,1.271,1.299,1.215,0.792,0.870,0.993,0.784,
+0.854,0.803,0.885,0.106,0.747,0.901,0.711,0.822,0.790,0.829,
+0.992,0.896,0.790,0.829,0.087,0.089,0.086,0.121,0.761,0.079,
+0.710,0.727,0.595,0.710,0.743,0.790,0.948,0.629,0.520,0.829,
+0.662,0.540,0.582,0.708,0.652,0.058,0.540,0.743,0.746,0.399,
+0.699,1.160,2.371,1.727,0.991,1.412,1.700,1.365,1.147,1.022,
+1.144,0.158,0.834,1.120,0.968,1.033,0.780,1.100,1.949,2.486,
+0.989,1.026,1.338,0.929,1.193,0.885,1.569,0.264,1.327,3.035,
+0.943,1.178,0.887,1.060,1.594,1.569,1.222,1.019,0.177,0.196,
+0.188,0.180,2.030,0.316,1.768,2.350,1.467,1.486,1.268,1.127,
+1.041,0.781,0.485,0.673,1.139,1.091,0.838,0.977,0.863,0.099,
+0.800,1.695,0.765,0.695,0.926,1.405,1.539,0.801,0.699,0.834,
+1.632,1.194,1.293,1.056,1.608,0.208,0.948,0.983,0.909,0.965,
+0.868,1.152,0.159,0.177,0.121,0.126,0.208,0.204,0.196,0.154,
+0.198,0.050,0.201,0.220,0.157,0.300,0.184,0.222,0.983,1.001,
+1.179,0.878,0.137,0.155,0.224,0.176,1.541,0.219,1.374,1.123,
+0.633,1.118,1.433,1.044,0.692,0.590,0.460,0.539,1.050,1.006,
+1.047,1.077,0.993,0.130,1.014,1.026,0.660,0.749,1.037,1.174,
+1.122,0.511,0.482,0.770,0.647,0.439,0.443,0.480,0.660,0.073,
+0.393,0.460,0.749,0.608,0.512,0.860,1.046,0.826,0.585,0.644,
+0.852,0.710,0.667,0.573,0.778,0.084,0.631,0.795,0.738,0.834,
+0.623,0.923,0.856,0.862,0.942,0.823,0.079,0.080,0.107,0.119,
+1.029,0.103,0.862,0.903,0.634,0.978,1.164,0.982,1.196,0.673,
+0.503,0.805,0.628,0.525,0.539,0.683,1.056,0.088,0.823,1.095,
+1.139,0.880,1.191,1.809,0.138,0.142,0.107,0.104,0.126,0.132,
+0.114,0.115,0.088,0.018,0.078,0.070,0.102,0.103,0.085,0.095,
+0.145,0.218,0.168,0.143,0.158,0.178,0.204,0.149,0.131,0.041,
+0.155,0.116,0.091,0.134,0.111,0.105,0.074,0.113,0.086,0.071,
+0.016,0.024,0.026,0.022,0.098,0.024,0.134,0.140,0.068,0.093,
+0.102,0.108,0.064,0.062,0.043,0.060,0.081,0.087,0.073,0.073,
+0.059,0.012,0.067,0.089,0.062,0.059,0.084,0.136,0.149,0.246,
+0.116,0.099,0.159,0.208,0.169,0.106,0.112,0.037,0.101,0.109,
+0.072,0.107,0.072,0.081,0.271,0.819,0.164,0.121,0.188,0.191,
+0.229,0.131,0.212,0.105,0.230,0.249,0.085,0.179,0.120,0.129,
+0.128,0.236,0.155,0.107,0.037,0.080,0.076,0.040,0.678,0.213,
+0.566,0.801,0.356,0.320,0.218,0.173,0.072,0.081,0.057,0.055,
+0.116,0.158,0.109,0.099,0.091,0.022,0.117,0.175,0.069,0.071,
+0.086,0.108,0.113,0.096,0.074,0.074,0.159,0.198,0.210,0.117,
+0.141,0.042,0.151,0.095,0.057,0.110,0.111,0.102,0.020,0.053,
+0.028,0.018,0.038,0.075,0.077,0.033,0.037,0.044,0.092,0.048,
+0.014,0.046,0.041,0.026,0.114,0.173,0.340,0.141,0.032,0.067,
+0.102,0.039,0.202,0.097,0.347,0.209,0.084,0.259,0.454,0.251,
+0.068,0.060,0.074,0.061,0.125,0.177,0.202,0.141,0.124,0.037,
+0.199,0.145,0.061,0.095,0.181,0.141,0.090,0.084,0.066,0.111,
+0.067,0.062,0.053,0.075,0.065,0.012,0.053,0.053,0.061,0.068,
+0.071,0.098,0.136,0.156,0.107,0.106,0.136,0.171,0.143,0.118,
+0.124,0.027,0.135,0.125,0.090,0.151,0.134,0.144,0.072,0.108,
+0.132,0.109,0.011,0.026,0.022,0.018,0.103,0.023,0.142,0.129,
+0.071,0.127,0.234,0.167,0.094,0.069,0.056,0.077,0.063,0.077,
+0.064,0.076,0.083,0.016,0.101,0.110,0.095,0.097,0.148,0.169,
+2.001,1.362,1.200,1.599,0.995,0.892,0.750,0.800,0.873,0.108,
+0.863,0.817,0.620,0.535,0.561,0.716,1.462,1.396,0.889,0.794,
+1.308,1.276,1.266,0.844,1.275,0.213,1.699,1.315,0.569,1.071,
+0.725,0.811,1.056,1.240,1.030,0.883,0.171,0.219,0.204,0.196,
+1.062,0.190,1.875,1.301,0.474,1.124,0.967,0.906,0.785,0.512,
+0.429,0.600,0.829,0.767,0.682,0.761,0.992,0.163,1.122,2.332,
+0.638,0.613,0.850,1.367,0.145,0.152,0.090,0.107,0.182,0.245,
+0.153,0.133,0.132,0.039,0.180,0.157,0.072,0.110,0.094,0.093,
+0.148,0.224,0.108,0.078,0.216,0.265,0.232,0.135,0.164,0.073,
+0.310,0.230,0.062,0.132,0.090,0.076,0.120,0.212,0.147,0.099,
+0.037,0.084,0.091,0.045,0.205,0.100,0.490,0.314,0.086,0.192,
+0.169,0.135,0.094,0.084,0.061,0.106,0.180,0.212,0.162,0.195,
+0.146,0.038,0.230,0.834,0.080,0.091,0.121,0.220,1.734,0.853,
+0.966,0.597,0.958,1.168,1.241,0.779,1.120,0.238,1.931,0.941,
+0.510,0.976,1.121,0.824,0.141,0.205,0.211,0.097,0.123,0.225,
+0.258,0.094,0.193,0.081,0.503,0.186,0.068,0.214,0.212,0.110,
+0.840,0.661,0.943,0.416,0.142,0.136,0.261,0.081,0.608,0.150,
+0.456,0.203,0.200,0.373,0.548,0.374,0.427,0.318,0.454,0.259,
+0.554,0.608,0.854,0.441,0.718,0.135,1.284,0.783,0.382,0.510,
+0.843,0.766,0.781,0.459,0.432,0.471,0.533,0.444,0.362,0.370,
+0.520,0.075,0.635,0.527,0.359,0.411,0.410,0.477,0.944,0.923,
+0.771,0.570,0.834,1.069,0.959,0.615,0.979,0.165,1.413,1.149,
+0.562,0.973,0.729,0.630,0.710,0.853,0.834,0.646,0.094,0.147,
+0.140,0.105,0.927,0.155,1.593,1.122,0.477,0.966,0.968,0.779,
+0.537,0.400,0.405,0.542,0.585,0.595,0.602,0.562,0.827,0.105,
+1.385,1.177,0.699,0.744,1.117,1.045,1.387,0.843,0.587,0.984,
+0.672,0.516,0.456,0.525,0.637,0.075,0.523,0.583,0.690,0.603,
+0.504,0.709,0.938,0.635,0.415,0.436,0.577,0.437,0.449,0.375,
+0.483,0.063,0.449,0.453,0.328,0.393,0.368,0.457,0.711,0.618,
+0.438,0.533,0.074,0.069,0.062,0.085,0.497,0.057,0.576,0.626,
+0.340,0.560,0.526,0.626,0.648,0.379,0.335,0.582,0.678,0.401,
+0.374,0.536,0.515,0.056,0.406,1.003,0.514,0.488,0.548,1.041,
+1.447,1.173,0.742,0.978,1.172,1.070,0.979,0.834,0.853,0.117,
+0.853,1.149,0.666,0.805,0.608,0.864,1.258,1.335,0.751,0.731,
+1.248,1.171,1.343,0.897,0.963,0.157,1.170,1.287,0.495,0.772,
+0.621,0.687,0.910,1.225,0.789,0.759,0.118,0.188,0.140,0.144,
+1.093,0.188,1.413,1.588,0.592,1.219,0.991,1.098,0.748,0.584,
+0.480,0.719,1.179,1.033,0.882,1.103,0.873,0.132,0.987,3.517,
+0.602,0.775,0.740,1.337,1.211,0.853,0.626,0.693,1.039,1.004,
+1.019,0.885,1.107,0.173,1.097,0.931,0.661,0.954,0.838,0.955,
+0.114,0.124,0.089,0.086,0.126,0.181,0.165,0.111,0.120,0.046,
+0.201,0.146,0.086,0.170,0.123,0.112,0.971,1.153,1.099,0.845,
+0.139,0.134,0.189,0.142,1.396,0.244,1.354,1.353,0.601,1.182,
+1.287,1.048,0.642,0.520,0.526,0.522,1.085,0.933,1.111,0.974,
+0.912,0.132,1.287,1.465,0.619,0.725,1.132,1.182,0.961,0.541,
+0.466,0.679,0.561,0.462,0.416,0.411,0.554,0.072,0.494,0.519,
+0.543,0.498,0.508,0.757,0.931,0.670,0.556,0.599,0.684,0.700,
+0.668,0.570,0.632,0.080,0.740,0.789,0.554,0.694,0.616,0.716,
+0.905,0.888,0.781,0.830,0.080,0.094,0.088,0.098,0.999,0.118,
+1.317,1.316,0.672,1.000,1.143,1.069,0.958,0.539,0.607,0.945,
+0.935,0.736,0.699,0.862,1.003,0.092,1.234,1.556,1.054,0.850,
+1.184,1.350,1.940,1.191,1.231,2.081,1.099,0.700,0.643,0.837,
+0.998,0.106,0.537,0.774,1.450,1.338,0.729,1.232,1.195,0.757,
+0.557,0.699,0.688,0.456,0.472,0.544,0.692,0.066,0.518,0.548,
+0.701,0.820,0.484,0.685,0.915,0.728,0.671,0.910,0.086,0.067,
+0.066,0.119,0.590,0.055,0.430,0.604,0.511,0.599,0.552,0.804,
+1.184,0.680,0.664,1.128,0.804,0.555,0.583,0.869,0.844,0.061,
+0.491,0.705,1.049,0.623,0.733,1.589,1.788,1.079,0.728,1.150,
+0.967,0.704,0.508,0.630,0.653,0.074,0.387,0.574,0.647,0.756,
+0.484,0.874,1.284,0.932,0.470,0.571,0.592,0.390,0.380,0.374,
+0.733,0.075,0.443,0.839,0.576,0.669,0.402,0.642,0.760,0.615,
+0.612,0.613,0.061,0.054,0.044,0.063,0.533,0.054,0.404,0.565,
+0.522,0.528,0.452,0.542,0.690,0.456,0.348,0.564,0.630,0.496,
+0.329,0.483,0.509,0.038,0.366,0.608,0.519,0.415,0.468,0.918,
+1.349,0.638,0.564,0.779,1.152,0.628,0.613,0.722,0.927,0.106,
+0.422,0.586,0.812,0.712,0.563,1.010,0.112,0.098,0.065,0.092,
+0.096,0.077,0.066,0.079,0.085,0.015,0.072,0.085,0.133,0.150,
+0.079,0.139,0.748,0.585,0.648,0.712,0.082,0.069,0.071,0.086,
+0.693,0.078,0.487,0.605,0.710,0.749,0.847,0.801,0.657,0.463,
+0.459,0.986,0.886,0.598,0.578,0.898,0.772,0.090,0.546,0.807,
+0.684,0.634,0.789,1.179,1.443,0.581,0.517,1.162,0.673,0.401,
+0.389,0.625,0.682,0.065,0.355,0.496,1.029,0.628,0.505,1.063,
+0.995,0.730,0.520,0.640,0.645,0.473,0.401,0.463,0.643,0.053,
+0.405,0.538,0.897,0.723,0.509,0.828,0.775,0.599,0.504,0.641,
+0.060,0.054,0.040,0.060,0.540,0.044,0.381,0.514,0.599,0.581,
+0.644,0.767,1.029,0.609,0.495,1.003,0.702,0.499,0.432,0.651,
+0.835,0.065,0.571,0.876,1.195,0.889,1.037,1.988,2.167,1.375,
+1.168,1.686,1.288,1.073,0.952,1.069,1.007,0.123,0.678,0.912,
+1.069,1.004,0.719,1.283,1.434,1.153,1.055,1.070,1.025,0.865,
+1.007,1.382,1.009,0.142,1.166,1.065,0.650,0.868,0.752,1.036,
+0.909,0.802,0.723,0.869,0.086,0.094,0.087,0.132,0.791,0.103,
+0.702,0.984,0.513,0.728,0.741,1.123,0.852,0.560,0.501,0.750,
+0.802,0.781,0.578,0.721,0.597,0.071,0.477,0.683,0.700,0.569,
+0.695,1.422,2.019,1.679,0.935,1.330,1.464,1.445,1.024,0.975,
+1.034,0.158,0.670,0.859,0.821,1.096,0.639,1.116,1.677,2.196,
+1.003,1.048,1.333,0.955,1.061,0.847,1.585,0.308,1.113,1.390,
+0.746,1.384,0.774,1.123,0.988,1.277,1.068,0.999,0.128,0.178,
+0.135,0.135,1.946,0.333,1.569,2.181,1.378,1.541,1.127,1.305,
+0.703,0.608,0.481,0.646,0.933,1.020,0.650,0.720,0.745,0.081,
+0.704,0.901,0.628,0.618,0.681,1.102,1.281,0.827,0.609,0.836,
+1.318,1.265,1.201,1.013,1.355,0.278,0.795,0.885,0.711,0.919,
+0.743,1.131,0.098,0.137,0.086,0.104,0.131,0.191,0.180,0.137,
+0.138,0.051,0.176,0.149,0.090,0.207,0.133,0.143,0.925,1.118,
+1.209,0.982,0.127,0.195,0.188,0.159,1.293,0.241,1.259,1.322,
+0.715,1.566,1.670,1.481,0.708,0.527,0.565,0.738,1.159,1.217,
+1.141,1.240,1.032,0.143,1.232,1.311,0.709,0.814,1.226,1.566,
+1.317,0.782,0.675,2.015,0.677,0.579,0.545,1.260,0.803,0.085,
+0.535,0.678,0.777,0.672,0.653,1.157,1.382,1.091,0.800,1.002,
+0.953,1.015,0.879,1.023,0.961,0.124,0.893,1.064,0.842,1.289,
+0.935,1.222,0.738,0.835,0.790,0.910,0.069,0.099,0.073,0.100,
+0.790,0.094,0.827,1.006,0.610,0.986,1.239,1.272,0.846,0.651,
+0.545,0.798,0.775,0.734,0.545,0.773,0.849,0.077,0.832,1.060,
+0.960,0.970,1.208,1.868,2.115,1.240,1.107,1.568,0.969,0.898,
+0.813,1.519,0.897,0.097,0.748,0.806,0.928,0.714,0.559,1.021,
+1.547,1.341,0.849,1.065,1.155,1.073,1.120,1.831,1.311,0.181,
+2.484,1.468,0.768,1.189,0.963,1.429,0.991,1.343,0.996,1.122,
+0.127,0.159,0.130,0.205,1.029,0.143,1.064,1.207,0.629,1.224,
+0.878,1.149,0.949,0.763,0.589,0.924,1.225,0.904,0.640,0.939,
+1.012,0.129,0.881,1.693,1.009,0.857,1.075,2.089,0.148,0.137,
+0.125,0.134,0.135,0.167,0.104,0.132,0.094,0.022,0.151,0.113,
+0.075,0.117,0.091,0.129,0.145,0.182,0.111,0.101,0.175,0.210,
+0.195,0.174,0.163,0.053,0.551,0.271,0.079,0.171,0.136,0.146,
+0.084,0.166,0.101,0.091,0.034,0.049,0.037,0.022,0.165,0.049,
+0.295,0.253,0.082,0.203,0.143,0.138,0.130,0.094,0.061,0.109,
+0.676,0.215,0.123,0.160,0.134,0.026,0.154,0.341,0.114,0.115,
+0.126,0.209,1.543,1.008,0.933,0.763,1.260,1.374,1.221,0.977,
+1.110,0.257,1.999,1.135,0.751,1.080,1.088,1.080,0.118,0.165,
+0.129,0.084,0.119,0.193,0.149,0.099,0.162,0.060,0.903,0.228,
+0.096,0.217,0.234,0.137,1.597,2.039,1.671,1.020,0.242,0.515,
+0.245,0.158,1.549,0.326,1.097,1.201,0.706,1.561,1.476,1.169,
+0.954,0.744,0.709,0.651,1.355,1.930,1.268,1.032,1.263,0.208,
+1.836,1.553,0.804,1.104,1.385,1.448,1.124,0.717,0.573,0.817,
+0.722,0.671,0.515,0.592,0.784,0.102,0.792,0.833,0.643,0.712,
+0.574,0.907,1.286,1.237,0.885,0.908,1.039,1.264,0.947,0.890,
+1.292,0.180,2.502,1.665,0.912,1.526,1.199,1.218,1.092,1.314,
+0.950,0.934,0.097,0.177,0.107,0.105,1.312,0.168,1.366,1.401,
+0.941,2.096,1.452,1.405,1.108,0.717,0.622,0.801,0.924,0.937,
+0.733,0.765,1.329,0.129,1.524,1.615,1.244,1.322,1.549,2.049,
+2.100,0.993,0.728,1.437,0.837,0.575,0.473,0.735,0.761,0.072,
+0.491,0.699,0.893,0.685,0.586,1.310,1.077,0.698,0.464,0.609,
+0.640,0.456,0.492,0.571,0.655,0.065,0.600,0.646,0.463,0.490,
+0.410,0.692,0.808,0.743,0.514,0.809,0.072,0.070,0.049,0.104,
+0.564,0.061,0.441,0.687,0.479,0.628,0.514,0.798,1.004,0.571,
+0.578,0.999,0.746,0.481,0.412,0.685,0.693,0.059,0.463,0.935,
+0.889,0.656,0.773,1.936,1.746,1.113,0.865,1.235,1.047,0.884,
+0.819,0.817,0.828,0.094,0.713,0.897,0.733,0.758,0.771,1.242,
+1.244,1.025,0.786,0.772,1.099,0.824,1.206,0.793,1.001,0.128,
+1.311,1.137,0.581,0.792,0.666,0.880,0.779,0.888,0.589,0.830,
+0.079,0.088,0.070,0.089,0.832,0.101,0.849,1.074,0.658,1.012,
+0.772,1.084,0.882,0.601,0.517,0.836,1.297,0.727,0.594,0.806,
+0.828,0.078,0.695,1.617,0.803,0.723,0.773,1.521,1.562,0.942,
+0.697,0.891,1.269,1.015,0.896,0.987,1.214,0.174,0.888,1.023,
+0.913,0.992,0.909,1.401,0.105,0.114,0.072,0.085,0.111,0.113,
+0.097,0.087,0.108,0.033,0.174,0.119,0.089,0.147,0.113,0.129,
+1.132,1.337,1.072,1.076,0.106,0.148,0.144,0.130,1.448,0.193,
+1.193,1.427,0.839,1.388,1.417,1.596,1.005,0.761,0.667,0.882,
+1.194,1.117,1.107,1.219,1.343,0.138,1.400,1.761,0.972,1.072,
+1.347,1.900,2.008,0.977,0.680,1.179,0.815,0.634,0.559,0.695,
+0.916,0.108,0.637,0.937,1.134,0.942,0.823,1.779,1.316,0.949,
+0.684,0.906,0.963,0.903,0.675,0.786,1.124,0.103,0.997,1.243,
+1.009,1.093,1.031,1.433,1.235,1.162,0.891,1.234,0.090,0.102,
+0.067,0.115,1.371,0.125,1.220,1.617,1.192,1.605,1.496,2.047,
+2.009,0.907,0.824,1.731,1.240,1.030,0.797,1.290,1.683,0.117,
+1.473,2.270,1.831,1.392,1.590,2.764,3.830,2.076,1.946,5.445,
+1.900,1.158,1.104,1.636,2.150,0.196,0.981,1.701,3.259,2.123,
+1.408,2.801,2.035,1.219,0.843,1.222,1.161,0.638,0.666,0.700,
+1.153,0.081,0.657,0.842,0.986,0.804,0.711,1.160,1.556,0.961,
+0.896,1.500,0.119,0.089,0.081,0.162,0.907,0.070,0.482,0.714,
+0.993,0.913,0.774,1.117,2.479,1.000,1.113,2.417,1.691,0.980,
+1.150,1.575,1.207,0.085,0.705,1.156,1.838,1.120,1.203,2.422,
+2.357,1.100,0.765,1.363,1.073,0.708,0.506,0.716,1.392,0.099,
+0.473,0.690,0.982,0.818,0.519,0.992,1.257,0.784,0.482,0.656,
+0.679,0.391,0.368,0.401,0.837,0.065,0.415,0.637,0.560,0.513,
+0.390,0.610,0.980,0.734,0.615,0.848,0.070,0.058,0.050,0.075,
+0.740,0.059,0.445,0.610,0.587,0.597,0.467,0.754,1.030,0.599,
+0.531,0.875,0.944,0.611,0.584,0.714,0.741,0.052,0.461,0.705,
+0.791,0.627,0.615,1.252,1.575,0.713,0.617,1.043,0.966,0.595,
+0.622,0.788,1.217,0.124,0.459,0.764,0.984,0.797,0.667,1.413,
+0.124,0.097,0.056,0.107,0.078,0.078,0.056,0.071,0.106,0.015,
+0.058,0.079,0.118,0.134,0.080,0.143,0.728,0.551,0.479,0.625,
+0.054,0.044,0.038,0.068,0.569,0.051,0.351,0.466,0.481,0.558,
+0.460,0.641,0.630,0.524,0.440,0.539,0.706,0.590,0.521,0.626,
+0.816,0.083,0.538,0.743,0.746,0.720,0.705,1.249,2.416,0.959,
+0.835,1.797,0.938,0.562,0.521,0.709,2.650,0.146,0.543,0.840,
+1.670,0.940,0.849,1.891,1.428,0.922,0.626,1.075,0.812,0.598,
+0.469,0.572,0.926,0.063,0.499,0.735,0.921,0.780,0.627,1.085,
+0.906,0.676,0.579,0.950,0.066,0.043,0.044,0.079,0.701,0.047,
+0.534,0.660,0.805,0.691,0.647,0.930,1.463,0.785,0.750,1.488,
+0.772,0.535,0.535,0.849,1.199,0.070,0.734,1.249,2.140,1.283,
+1.246,3.218,2.981,1.500,1.077,2.166,1.340,0.853,0.757,0.948,
+0.985,0.096,0.518,0.964,1.342,1.116,0.688,1.421,1.447,0.912,
+0.620,0.883,0.784,0.589,0.604,0.588,0.650,0.057,0.435,0.602,
+0.570,0.624,0.465,0.760,0.804,0.810,0.546,0.756,0.066,0.076,
+0.051,0.080,0.505,0.052,0.373,0.483,0.566,0.680,0.451,0.646,
+0.973,0.554,0.494,0.951,0.783,0.633,0.583,0.706,0.591,0.049,
+0.387,0.649,0.816,0.609,0.585,1.237,1.545,0.988,0.503,0.970,
+0.824,0.599,0.399,0.543,0.591,0.060,0.319,0.567,0.548,0.629,
+0.318,0.827,0.873,0.762,0.378,0.508,0.519,0.289,0.318,0.359,
+0.528,0.049,0.342,0.471,0.360,0.454,0.272,0.455,0.679,0.705,
+0.471,0.666,0.054,0.061,0.043,0.056,0.513,0.070,0.384,0.464,
+0.437,0.622,0.372,0.617,0.723,0.452,0.378,0.698,0.593,0.515,
+0.389,0.480,0.560,0.042,0.337,0.533,0.492,0.450,0.377,0.787,
+1.127,0.586,0.434,0.757,0.680,0.493,0.467,0.582,0.634,0.065,
+0.332,0.506,0.560,0.528,0.446,0.838,0.061,0.059,0.038,0.058,
+0.051,0.054,0.040,0.048,0.044,0.010,0.041,0.055,0.046,0.077,
+0.047,0.074,0.575,0.693,0.527,0.574,0.046,0.119,0.033,0.055,
+0.449,0.060,0.285,0.416,0.384,0.764,0.386,0.514,0.616,0.490,
+0.401,0.630,0.587,0.757,0.437,0.804,0.543,0.044,0.397,0.671,
+0.482,0.488,0.514,0.911,1.002,0.597,0.413,0.772,0.503,0.321,
+0.291,0.420,0.560,0.041,0.280,0.424,0.614,0.417,0.409,0.863,
+0.726,0.544,0.384,0.609,0.426,0.385,0.349,0.409,0.381,0.034,
+0.319,0.448,0.416,0.494,0.392,0.664,0.536,0.497,0.449,0.612,
+0.035,0.036,0.024,0.044,0.412,0.034,0.302,0.426,0.444,0.470,
+0.435,0.636,0.747,0.482,0.422,0.765,0.498,0.392,0.319,0.542,
+0.647,0.047,0.407,0.744,0.943,0.669,0.725,1.456,2.415,1.295,
+0.943,1.622,0.896,0.683,0.661,0.772,0.855,0.088,0.658,0.734,
+1.015,0.925,0.523,1.072,1.507,0.997,0.931,1.166,0.932,0.697,
+2.857,1.923,0.888,0.094,0.975,0.852,0.875,0.924,0.718,1.057,
+0.942,0.915,0.852,0.973,0.091,0.093,0.105,0.156,0.590,0.067,
+0.493,0.552,0.630,0.746,0.666,0.786,1.179,0.677,0.698,1.300,
+0.902,0.689,0.685,0.916,0.838,0.070,0.485,0.819,1.085,0.809,
+0.809,2.026,0.151,0.106,0.071,0.110,0.097,0.082,0.057,0.070,
+0.080,0.013,0.053,0.069,0.083,0.099,0.055,0.100,0.122,0.101,
+0.058,0.075,0.089,0.075,0.115,0.085,0.080,0.015,0.071,0.076,
+0.072,0.082,0.053,0.086,0.081,0.105,0.064,0.089,0.010,0.017,
+0.013,0.011,0.076,0.015,0.157,0.128,0.073,0.092,0.070,0.097,
+0.163,0.097,0.079,0.157,0.176,0.138,0.128,0.138,0.095,0.011,
+0.071,0.132,0.123,0.147,0.090,0.206,1.070,0.590,0.459,0.642,
+0.667,0.514,0.455,0.516,0.894,0.163,0.673,0.691,0.752,0.775,
+0.669,1.045,0.079,0.073,0.048,0.063,0.050,0.059,0.076,0.059,
+0.081,0.018,0.067,0.060,0.087,0.107,0.066,0.087,0.692,0.648,
+0.454,0.529,0.067,0.058,0.056,0.058,0.508,0.068,0.318,0.406,
+0.432,0.560,0.426,0.571,0.621,0.435,0.469,0.648,0.798,0.714,
+0.517,0.653,0.710,0.071,0.563,0.732,0.620,0.582,0.637,0.962,
+1.145,0.568,0.428,0.883,0.728,0.384,0.288,0.418,0.774,0.076,
+0.415,0.905,0.874,0.698,0.433,1.059,1.141,0.759,0.577,0.894,
+0.689,0.762,0.506,0.526,0.877,0.076,0.558,0.781,0.961,0.847,
+0.543,0.912,0.852,0.942,0.517,0.710,0.066,0.122,0.040,0.062,
+0.632,0.066,0.423,0.568,0.697,0.786,0.566,0.840,1.000,0.608,
+0.589,0.853,0.731,0.691,0.451,0.627,0.922,0.074,0.668,1.002,
+1.259,1.006,0.949,1.779,3.317,1.501,1.289,2.143,1.032,0.595,
+0.648,0.677,1.022,0.087,0.533,0.829,1.611,1.034,0.830,1.886,
+1.189,0.627,0.582,0.849,0.659,0.371,0.912,0.718,0.764,0.054,
+0.557,0.768,0.850,0.573,0.764,1.138,1.130,0.753,0.699,1.148,
+0.091,0.065,0.067,0.122,0.721,0.054,0.402,0.630,0.974,0.737,
+0.552,1.008,1.749,0.834,1.008,2.533,1.133,0.613,0.891,1.145,
+1.086,0.075,0.606,0.916,1.698,1.115,1.096,2.660,1.858,1.040,
+0.774,1.188,1.011,0.620,0.549,0.653,0.827,0.076,0.452,0.723,
+0.866,0.807,0.543,1.128,1.197,0.726,0.461,0.613,0.742,0.476,
+0.450,0.485,0.687,0.061,0.497,0.657,0.635,0.577,0.400,0.716,
+0.932,0.947,0.536,0.948,0.069,0.060,0.049,0.083,0.761,0.068,
+0.648,0.850,0.851,0.853,0.569,0.971,1.309,0.688,0.783,1.289,
+1.169,0.756,1.171,1.086,0.857,0.080,0.552,0.931,1.124,1.585,
+0.841,1.605,1.219,0.652,0.639,0.820,0.808,0.522,0.528,0.646,
+1.058,0.173,0.592,0.766,0.853,0.851,0.763,1.288,0.071,0.060,
+0.043,0.072,0.052,0.053,0.047,0.050,0.109,0.011,0.059,0.065,
+0.085,0.091,0.062,0.097,0.701,0.594,0.459,0.682,0.054,0.048,
+0.032,0.066,0.606,0.058,0.417,0.594,0.618,0.644,0.500,0.844,
+0.736,0.492,0.507,0.789,0.851,0.717,0.577,0.837,0.950,0.090,
+0.659,1.042,0.897,0.779,0.849,1.473,2.082,0.921,0.847,1.658,
+0.932,0.556,0.499,0.698,1.124,0.104,0.589,1.049,1.590,1.049,
+0.982,2.811,1.062,0.667,0.556,0.928,0.585,0.502,0.435,0.561,
+0.826,0.051,0.508,0.818,0.963,0.839,0.601,1.219,1.218,1.094,
+0.950,1.244,0.080,0.077,0.053,0.096,1.187,0.074,0.624,0.993,
+1.391,1.197,0.896,1.545,1.985,0.965,1.127,2.136,1.330,1.036,
+0.902,1.450,1.795,0.094,1.246,2.131,3.135,1.988,2.164,4.139,
+3.910,2.265,2.158,3.574,2.259,1.370,1.343,1.688,2.009,0.217,
+1.244,1.956,2.724,2.157,1.491,2.642,2.478,1.618,1.117,1.433,
+1.704,0.992,1.003,1.006,1.508,0.134,1.206,1.366,1.210,1.214,
+1.148,1.598,1.494,1.072,1.080,1.389,0.143,0.105,0.113,0.184,
+0.959,0.099,0.717,0.831,0.980,1.241,1.136,1.273,2.108,1.035,
+1.049,1.999,1.799,1.208,1.101,1.532,1.542,0.128,0.968,1.359,
+1.876,1.466,1.573,2.769,2.819,1.845,1.138,1.680,1.670,1.198,
+0.937,1.070,1.494,0.172,0.987,1.292,1.347,1.412,0.862,1.607,
+1.868,1.347,0.950,1.098,1.232,0.845,0.856,0.891,2.125,0.210,
+1.489,2.080,0.962,1.123,0.942,1.310,1.264,1.208,1.196,1.189,
+0.140,0.118,0.121,0.137,1.192,0.174,1.105,1.122,0.911,1.299,
+1.039,1.128,1.224,0.835,0.651,1.007,1.259,0.948,0.790,1.004,
+1.197,0.095,0.841,1.242,1.067,0.953,1.062,1.803,1.687,0.891,
+0.748,1.098,1.250,0.827,0.971,0.994,1.221,0.150,0.776,0.950,
+1.049,1.001,0.917,1.643,0.118,0.104,0.071,0.103,0.118,0.115,
+0.100,0.098,0.115,0.024,0.100,0.133,0.111,0.167,0.122,0.170,
+0.839,0.810,0.761,0.773,0.093,0.086,0.082,0.106,0.791,0.097,
+0.647,0.745,0.642,0.855,0.891,0.987,0.747,0.581,0.514,0.708,
+1.092,0.819,0.761,0.897,1.157,0.109,0.840,1.056,0.991,0.970,
+1.233,1.730,1.975,0.914,0.784,1.314,0.982,0.579,0.508,0.645,
+1.295,0.146,0.615,0.845,1.230,0.918,0.724,1.602,1.677,1.117,
+0.832,1.138,1.139,0.928,0.714,0.795,0.975,0.092,0.720,1.023,
+0.887,1.020,0.853,1.300,0.825,0.699,0.675,0.924,0.073,0.060,
+0.058,0.086,0.670,0.069,0.524,0.718,0.743,0.852,0.768,1.166,
+1.263,0.704,0.628,1.278,0.912,0.710,0.597,0.818,1.254,0.093,
+0.816,1.415,1.709,1.446,1.672,3.287,2.837,1.751,1.438,2.122,
+1.780,1.330,1.138,1.342,1.240,0.129,0.802,1.086,1.336,1.273,
+0.887,1.621,1.874,1.471,0.932,1.150,1.323,0.987,0.992,0.943,
+1.089,0.139,0.944,1.013,0.839,1.371,0.800,1.070,0.983,0.952,
+0.773,0.943,0.095,0.116,0.092,0.122,0.669,0.088,0.649,0.596,
+0.584,0.797,0.783,0.960,1.294,0.599,0.574,1.254,1.008,0.879,
+0.643,0.890,0.875,0.078,0.676,0.812,1.066,0.758,0.903,1.696,
+2.150,1.763,0.875,1.304,1.605,1.440,0.888,0.925,1.015,0.129,
+0.736,1.091,0.807,0.982,0.594,1.571,1.667,1.687,1.032,1.113,
+1.036,0.522,0.804,0.777,1.069,0.154,1.176,1.228,0.610,0.976,
+0.705,0.888,1.215,1.281,0.879,1.086,0.151,0.183,0.154,0.177,
+1.023,0.163,0.851,0.990,0.741,1.244,1.012,1.107,1.338,0.735,
+0.583,1.050,1.116,1.191,0.709,0.912,0.937,0.091,0.786,0.978,
+0.771,0.764,0.799,1.369,1.500,0.869,0.622,0.841,1.204,1.022,
+0.941,0.821,1.084,0.149,0.631,0.726,0.921,0.966,0.880,1.245,
+0.090,0.121,0.071,0.092,0.088,0.149,0.110,0.082,0.095,0.040,
+0.110,0.111,0.071,0.197,0.102,0.114,0.985,1.125,0.850,0.906,
+0.111,0.194,0.127,0.125,0.881,0.139,0.730,0.826,0.639,1.110,
+1.097,1.059,0.880,0.681,0.521,0.749,1.065,1.195,0.952,1.124,
+1.022,0.108,0.887,1.159,0.975,0.881,1.354,1.638,1.223,0.685,
+0.531,0.839,0.718,0.481,0.423,0.505,0.718,0.065,0.534,0.529,
+0.788,0.586,0.572,0.973,1.077,0.891,0.632,0.842,0.716,0.821,
+0.674,0.709,0.641,0.093,0.606,0.704,0.579,0.938,0.748,0.881,
+0.622,0.699,0.576,0.749,0.056,0.064,0.047,0.072,0.595,0.067,
+0.542,0.625,0.621,0.778,0.903,0.960,0.882,0.536,0.485,0.868,
+0.686,0.610,0.461,0.704,0.765,0.056,0.657,0.962,1.057,0.938,
+1.099,1.711,1.998,1.467,1.157,1.594,1.047,0.918,0.973,0.896,
+1.070,0.161,2.615,1.146,1.105,1.103,0.916,1.168,1.791,1.522,
+0.997,1.167,1.255,1.177,1.250,1.080,1.448,0.226,3.055,1.572,
+0.944,1.667,1.151,1.242,0.992,1.215,1.042,1.145,0.125,0.162,
+0.183,0.239,0.998,0.163,2.513,1.908,0.742,1.342,2.962,1.308,
+1.068,0.707,0.615,1.224,1.070,0.948,0.869,1.238,0.996,0.110,
+1.073,1.252,1.142,1.006,1.443,2.253,0.116,0.129,0.068,0.095,
+0.128,0.153,0.101,0.103,0.089,0.022,0.130,0.098,0.087,0.114,
+0.071,0.112,0.142,0.156,0.090,0.090,0.156,0.186,0.139,0.115,
+0.138,0.048,0.211,0.169,0.086,0.163,0.094,0.118,0.079,0.138,
+0.098,0.124,0.016,0.044,0.046,0.031,0.198,0.071,1.572,0.911,
+0.089,0.174,0.255,0.171,0.117,0.087,0.061,0.125,0.161,0.188,
+0.139,0.178,0.114,0.020,0.191,0.220,0.115,0.119,0.139,0.202,
+1.450,0.958,0.706,0.779,0.993,1.049,0.916,0.837,1.155,0.206,
+1.155,1.063,0.813,1.034,0.945,1.258,0.106,0.140,0.077,0.086,
+0.092,0.163,0.131,0.089,0.126,0.039,0.193,0.148,0.099,0.185,
+0.124,0.130,0.960,1.270,0.850,0.820,0.133,0.215,0.156,0.137,
+1.078,0.212,0.986,1.002,0.759,1.306,1.165,1.083,0.778,0.700,
+0.626,0.751,1.175,1.519,1.091,1.141,1.231,0.181,1.334,1.472,
+0.930,1.114,1.345,1.773,1.236,0.757,0.591,1.003,0.731,0.574,
+0.463,0.563,0.841,0.116,0.579,0.840,1.147,0.907,0.573,1.188,
+1.557,1.247,0.850,1.100,1.131,1.420,0.946,1.053,1.239,0.171,
+1.214,1.618,1.095,1.530,0.988,1.365,1.100,1.171,0.808,0.901,
+0.105,0.143,0.087,0.104,1.060,0.133,1.027,1.165,1.076,1.435,
+1.097,1.269,1.077,0.740,0.629,1.018,1.272,0.908,0.656,0.884,
+1.249,0.120,1.232,1.636,1.610,1.640,1.651,2.439,2.423,1.243,
+1.110,1.868,1.309,0.719,0.778,1.179,1.253,0.106,0.883,1.114,
+1.452,1.054,0.964,1.801,1.271,0.785,0.639,0.890,0.851,0.562,
+0.685,0.734,0.893,0.078,1.046,1.014,0.816,0.726,0.812,1.162,
+1.016,0.817,0.829,1.160,0.084,0.076,0.069,0.145,0.760,0.079,
+0.773,0.938,0.870,0.964,1.085,1.266,1.309,0.701,0.857,1.736,
+1.121,0.663,0.736,1.324,1.088,0.084,0.741,1.244,1.674,1.083,
+1.237,3.063,2.137,1.414,1.040,1.566,1.793,1.183,1.092,1.305,
+1.171,0.137,0.855,1.193,1.258,1.251,0.837,1.523,1.679,1.136,
+0.802,1.038,1.441,1.050,0.975,1.051,1.222,0.146,1.211,1.589,
+1.082,1.188,1.035,1.407,1.028,1.138,0.851,1.128,0.105,0.130,
+0.113,0.155,1.286,0.173,2.718,2.574,1.312,1.606,1.173,1.524,
+1.237,0.828,0.807,1.378,1.493,1.209,1.352,1.729,1.176,0.128,
+1.250,1.687,1.406,1.416,1.362,2.213,1.383,0.792,0.743,0.951,
+1.081,0.819,0.837,0.982,1.174,0.171,1.008,1.173,0.997,1.011,
+1.045,1.643,0.085,0.085,0.060,0.080,0.070,0.103,0.085,0.090,
+0.081,0.018,0.136,0.117,0.088,0.125,0.103,0.132,0.847,0.879,
+0.691,0.871,0.079,0.087,0.078,0.113,0.951,0.124,0.937,1.089,
+0.784,1.162,1.067,1.321,0.801,0.634,0.678,0.881,0.926,0.916,
+0.882,1.130,1.506,0.135,1.309,1.698,1.203,1.150,1.750,2.170,
+1.693,0.956,0.869,1.297,0.937,0.644,0.577,0.783,1.037,0.127,
+0.678,1.048,1.106,0.836,0.802,1.805,1.269,0.903,0.702,1.049,
+0.889,0.813,0.710,1.052,0.836,0.077,0.755,1.062,0.956,1.039,
+0.791,1.391,1.079,0.908,0.839,1.159,0.086,0.081,0.069,0.115,
+1.109,0.091,0.868,1.170,1.418,1.364,1.272,1.697,1.593,0.847,
+0.972,1.764,1.126,0.947,0.947,1.272,1.601,0.119,1.508,2.234,
+2.441,1.945,2.632,3.467,2.539,1.688,1.357,2.476,1.570,1.084,
+0.951,1.333,1.355,0.155,0.812,1.315,1.725,1.560,1.067,1.670,
+1.554,1.191,0.684,1.094,1.080,0.758,0.711,0.811,1.046,0.170,
+0.806,0.800,0.774,1.024,0.771,1.025,1.526,1.000,0.818,1.259,
+0.107,0.080,0.087,0.155,0.759,0.072,0.556,0.832,0.668,0.795,
+0.860,0.958,1.954,0.809,0.666,1.353,1.008,0.680,0.671,0.964,
+0.798,0.067,0.558,0.875,0.996,0.600,0.882,1.631,2.569,1.676,
+0.979,1.623,1.795,1.265,1.007,1.077,1.047,0.127,0.688,0.983,
+1.029,1.041,0.732,1.221,1.913,2.271,0.800,0.999,1.299,0.821,
+0.874,0.836,1.162,0.147,0.869,1.267,0.750,0.964,0.680,0.916,
+1.550,1.343,0.979,1.272,0.143,0.133,0.125,0.172,1.373,0.157,
+1.003,1.562,0.912,1.214,1.183,1.206,1.494,0.852,0.560,1.052,
+1.330,1.055,0.873,1.162,1.016,0.100,0.753,1.387,0.872,0.794,
+0.978,1.761,1.472,0.805,0.608,1.010,1.591,1.094,1.058,1.378,
+1.768,0.214,0.815,1.074,1.136,1.099,0.817,1.379,0.136,0.136,
+0.087,0.121,0.166,0.152,0.154,0.147,0.166,0.030,0.177,0.167,
+0.154,0.231,0.134,0.194,0.945,0.918,0.909,0.973,0.125,0.126,
+0.188,0.172,1.090,0.146,0.725,0.938,0.656,1.058,0.960,0.992,
+0.844,0.613,0.586,1.020,1.303,1.065,1.378,1.323,1.729,0.155,
+0.935,1.294,0.910,0.918,1.080,1.569,1.511,0.775,0.574,1.096,
+0.939,0.611,0.503,0.648,1.042,0.102,0.466,0.704,1.129,0.883,
+0.661,1.385,1.244,0.876,0.661,0.918,1.044,0.738,0.710,0.783,
+0.907,0.085,0.714,0.891,0.893,0.854,0.731,1.167,1.048,0.917,
+0.894,1.106,0.092,0.082,0.090,0.121,1.040,0.089,0.707,1.106,
+0.843,1.095,1.089,1.360,1.447,0.803,0.751,1.342,0.971,0.685,
+0.729,0.996,1.888,0.120,1.068,1.794,2.120,1.464,1.683,3.091,
+0.163,0.150,0.084,0.143,0.129,0.120,0.110,0.124,0.099,0.019,
+0.099,0.126,0.116,0.216,0.093,0.139,0.146,0.210,0.090,0.112,
+0.126,0.129,0.134,0.125,0.105,0.020,0.155,0.112,0.077,0.120,
+0.105,0.119,0.084,0.091,0.069,0.090,0.012,0.015,0.013,0.015,
+0.066,0.011,0.071,0.099,0.055,0.088,0.091,0.101,0.117,0.066,
+0.050,0.097,0.113,0.096,0.075,0.108,0.079,0.011,0.064,0.105,
+0.087,0.082,0.097,0.171,0.169,0.209,0.090,0.113,0.164,0.187,
+0.150,0.106,0.097,0.023,0.073,0.099,0.072,0.107,0.072,0.101,
+0.258,0.839,0.128,0.125,0.197,0.216,0.170,0.141,0.146,0.046,
+0.144,0.163,0.077,0.156,0.100,0.132,0.115,0.169,0.110,0.114,
+0.026,0.048,0.038,0.026,0.180,0.061,0.161,0.225,0.116,0.164,
+0.168,0.138,0.115,0.100,0.057,0.092,0.148,0.155,0.120,0.133,
+0.111,0.019,0.091,0.187,0.080,0.079,0.095,0.156,0.098,0.069,
+0.050,0.070,0.122,0.128,0.119,0.100,0.114,0.023,0.073,0.083,
+0.065,0.088,0.067,0.103,0.013,0.029,0.016,0.012,0.019,0.039,
+0.035,0.026,0.021,0.019,0.034,0.034,0.011,0.024,0.021,0.021,
+0.093,0.122,0.126,0.109,0.018,0.035,0.044,0.025,0.152,0.040,
+0.127,0.147,0.066,0.157,0.161,0.135,0.072,0.056,0.056,0.087,
+0.132,0.154,0.155,0.150,0.150,0.029,0.123,0.167,0.081,0.124,
+0.120,0.163,0.113,0.097,0.060,0.096,0.089,0.076,0.062,0.065,
+0.082,0.012,0.050,0.063,0.085,0.101,0.069,0.135,0.135,0.142,
+0.114,0.130,0.131,0.157,0.126,0.118,0.107,0.019,0.098,0.117,
+0.109,0.154,0.120,0.163,0.096,0.083,0.090,0.164,0.011,0.015,
+0.016,0.017,0.095,0.015,0.082,0.115,0.077,0.109,0.151,0.140,
+0.120,0.074,0.065,0.112,0.102,0.087,0.071,0.086,0.137,0.013,
+0.096,0.149,0.140,0.127,0.146,0.248,1.957,1.345,0.929,1.453,
+1.062,0.872,0.728,0.950,0.884,0.103,0.992,0.873,0.725,0.635,
+0.629,0.938,1.512,1.475,1.069,0.945,1.283,1.200,1.304,0.986,
+1.335,0.245,4.610,1.594,0.677,1.117,1.150,1.062,0.945,1.130,
+0.823,0.974,0.148,0.180,0.147,0.222,0.973,0.137,1.056,1.147,
+0.552,1.065,0.911,0.972,0.938,0.647,0.484,0.849,1.003,0.847,
+0.733,1.043,1.062,0.142,1.203,2.682,0.884,0.839,1.063,1.874,
+0.130,0.127,0.076,0.096,0.125,0.147,0.111,0.103,0.074,0.023,
+0.076,0.111,0.058,0.085,0.054,0.093,0.126,0.228,0.127,0.080,
+0.149,0.170,0.148,0.103,0.095,0.042,0.223,0.134,0.052,0.095,
+0.076,0.081,0.079,0.144,0.080,0.096,0.020,0.046,0.038,0.028,
+0.112,0.039,0.146,0.267,0.055,0.126,0.101,0.107,0.122,0.086,
+0.062,0.135,0.158,0.200,0.125,0.189,0.178,0.038,0.168,1.053,
+0.085,0.107,0.106,0.246,1.405,0.954,0.786,0.752,1.170,1.326,
+1.306,0.903,1.125,0.202,1.388,1.111,0.693,0.919,0.919,1.180,
+0.114,0.179,0.257,0.094,0.127,0.260,0.263,0.099,0.120,0.043,
+0.245,0.147,0.083,0.162,0.132,0.131,1.011,1.183,1.069,0.966,
+0.138,0.150,0.212,0.139,0.940,0.158,0.394,0.662,0.493,0.872,
+0.924,0.883,0.699,0.540,0.506,0.613,1.010,1.107,1.036,0.935,
+1.015,0.136,1.313,1.333,0.689,0.843,1.092,1.310,1.122,0.743,
+0.654,0.779,0.885,0.937,0.566,0.553,0.759,0.094,0.647,0.770,
+0.682,0.643,0.524,0.986,1.303,1.628,2.321,0.985,1.408,2.458,
+1.899,0.982,1.043,0.156,1.357,1.305,0.852,1.123,0.888,1.059,
+1.002,1.157,0.909,0.956,0.133,0.171,0.128,0.124,1.145,0.148,
+1.256,1.301,0.717,1.240,1.164,1.222,0.970,0.665,0.583,0.828,
+0.965,0.948,0.708,0.800,1.143,0.114,1.375,1.322,1.125,1.141,
+1.334,1.790,2.067,1.053,0.746,1.384,1.018,0.663,0.591,0.795,
+0.831,0.089,0.553,0.713,0.974,0.791,0.632,1.168,1.137,0.758,
+0.507,0.676,0.803,0.590,0.558,0.632,0.666,0.067,1.035,0.705,
+0.550,0.551,0.555,0.776,0.969,0.779,0.555,0.837,0.093,0.075,
+0.065,0.127,0.816,0.075,0.603,0.849,0.678,0.804,0.677,0.977,
+1.009,0.603,0.541,0.953,0.951,0.587,0.594,0.917,0.863,0.088,
+0.600,1.068,1.000,0.766,0.848,1.740,2.154,1.437,0.864,1.383,
+1.481,1.187,1.009,1.050,1.047,0.128,0.857,1.089,0.953,1.131,
+0.722,1.314,1.540,1.437,0.739,0.925,1.560,1.193,1.055,1.014,
+0.970,0.114,1.075,1.327,0.667,0.839,0.663,0.989,1.130,1.387,
+0.819,1.120,0.116,0.145,0.110,0.158,1.432,0.175,1.211,1.873,
+0.969,1.474,1.182,1.559,1.301,0.893,0.753,1.256,1.678,1.286,
+1.212,1.598,1.747,0.336,1.202,3.147,1.114,1.556,1.150,1.925,
+1.613,0.882,0.734,1.004,1.312,1.089,1.073,1.078,1.126,0.155,
+0.954,1.091,0.944,0.965,0.870,1.440,0.101,0.096,0.072,0.087,
+0.099,0.144,0.128,0.106,0.086,0.021,0.128,0.151,0.079,0.132,
+0.098,0.128,1.167,1.247,0.976,1.121,0.106,0.118,0.113,0.141,
+1.242,0.165,0.964,1.369,0.855,1.349,1.221,1.466,0.971,0.733,
+0.712,0.918,1.303,1.201,1.145,1.342,1.269,0.153,1.359,2.030,
+1.056,1.154,1.530,1.882,1.790,0.971,0.840,1.183,1.043,0.724,
+0.618,0.730,1.020,0.124,0.719,0.953,0.850,0.704,0.732,1.478,
+1.204,0.914,0.782,0.904,1.016,1.037,0.888,0.933,0.828,0.074,
+0.894,1.184,0.787,0.824,0.929,1.306,1.403,1.293,0.989,1.419,
+0.118,0.118,0.081,0.143,1.485,0.138,1.389,1.875,1.281,1.582,
+1.547,1.896,1.653,0.888,0.805,1.535,1.319,1.117,0.933,1.336,
+1.677,0.137,1.569,2.300,1.796,1.473,1.847,3.047,4.954,2.176,
+1.840,4.019,1.673,1.028,0.904,1.790,1.638,0.191,0.770,1.279,
+2.284,1.895,1.092,2.198,1.726,1.055,0.661,1.099,0.968,0.552,
+0.540,0.718,0.929,0.073,0.655,0.724,0.964,0.877,0.647,1.045,
+1.432,1.024,0.900,1.728,0.134,0.093,0.086,0.211,0.957,0.075,
+0.513,1.127,0.915,0.919,0.768,1.251,2.106,1.035,0.909,2.036,
+1.383,0.905,0.784,1.324,1.162,0.094,0.786,1.253,1.616,1.087,
+1.208,2.795,2.404,1.262,0.863,1.689,1.203,0.784,0.590,0.819,
+0.719,0.078,0.373,0.709,0.867,0.801,0.497,1.114,1.441,0.961,
+0.474,0.831,0.837,0.463,0.415,0.513,0.707,0.059,0.382,0.653,
+0.663,0.599,0.473,0.965,1.135,0.875,0.772,1.294,0.081,0.071,
+0.057,0.107,0.875,0.119,0.406,0.740,0.643,0.801,0.589,0.910,
+1.103,0.703,0.488,0.942,0.858,0.659,0.466,0.735,0.684,0.050,
+0.409,0.721,0.685,0.622,0.634,1.375,1.863,1.016,0.655,1.425,
+1.401,0.838,0.735,1.171,1.273,0.139,0.470,0.836,1.439,1.177,
+0.707,1.758,0.195,0.137,0.075,0.177,0.159,0.116,0.095,0.142,
+0.133,0.014,0.066,0.115,0.211,0.210,0.114,0.247,0.948,0.790,
+0.686,1.048,0.089,0.066,0.066,0.116,0.837,0.080,0.397,0.697,
+0.745,0.834,0.683,1.040,1.083,0.856,0.678,1.374,1.280,0.840,
+0.740,1.280,0.991,0.097,0.621,1.131,1.102,0.938,0.883,1.848,
+2.234,1.248,0.653,1.521,0.816,0.493,0.470,0.668,1.084,0.102,
+0.464,0.776,1.607,1.130,0.743,1.848,1.308,0.832,0.526,0.892,
+0.701,0.506,0.424,0.565,0.805,0.050,0.458,0.665,1.021,0.838,
+0.611,1.177,1.045,0.756,0.742,0.899,0.075,0.052,0.045,0.077,
+0.836,0.054,0.461,0.772,0.871,0.909,0.795,1.282,1.847,0.976,
+0.835,1.670,1.187,0.710,0.596,0.962,1.650,0.100,0.947,1.554,
+2.745,1.806,1.970,4.520,2.885,1.604,1.106,2.241,1.557,1.030,
+0.879,1.195,1.330,0.146,1.543,1.329,1.414,1.202,0.939,1.695,
+1.620,1.174,0.754,1.081,1.143,0.843,1.008,1.147,1.014,0.102,
+1.715,1.073,0.782,0.831,0.802,1.183,0.992,0.770,0.581,1.036,
+0.082,0.079,0.057,0.129,0.751,0.076,0.539,0.877,0.654,0.837,
+0.645,1.162,1.261,0.648,0.534,1.255,0.967,0.734,0.537,0.963,
+0.980,0.115,0.590,0.951,1.107,0.855,0.857,1.967,2.305,1.585,
+0.826,1.399,1.478,1.103,0.727,0.945,0.905,0.091,0.470,0.827,
+0.894,0.952,0.545,1.161,1.613,2.106,0.621,0.879,1.223,0.856,
+0.684,0.790,0.973,0.114,0.654,0.877,0.677,0.897,0.584,1.035,
+1.160,1.054,0.734,1.078,0.119,0.105,0.076,0.104,1.086,0.137,
+0.672,1.077,0.888,1.132,0.885,1.247,1.025,0.671,0.453,0.922,
+1.026,0.900,0.644,0.875,0.870,0.070,0.503,0.871,0.845,0.731,
+0.744,1.459,1.473,0.731,0.573,0.875,1.185,0.787,0.728,0.896,
+1.001,0.134,0.474,0.677,0.898,0.861,0.602,1.367,0.072,0.077,
+0.048,0.076,0.082,0.098,0.071,0.089,0.076,0.016,0.062,0.077,
+0.089,0.115,0.072,0.117,1.018,0.899,0.708,0.916,0.098,0.090,
+0.084,0.110,1.475,0.130,0.659,0.907,0.830,1.083,0.868,1.315,
+0.960,0.608,0.530,0.991,1.186,0.983,0.851,1.239,1.210,0.102,
+0.817,1.230,1.036,0.906,1.131,2.266,1.552,0.880,0.623,1.245,
+0.831,0.572,0.498,0.721,0.963,0.089,0.546,0.749,1.056,0.857,
+0.715,1.524,1.209,0.826,0.598,0.940,0.774,0.715,0.606,0.706,
+0.817,0.071,0.614,0.820,0.867,0.985,0.759,1.246,1.031,0.812,
+0.707,1.023,0.065,0.061,0.050,0.073,0.991,0.079,0.620,0.904,
+0.802,0.963,0.904,1.388,1.330,0.790,0.659,1.338,1.113,0.710,
+0.544,0.580,1.241,0.081,0.794,1.330,1.585,1.262,1.382,2.982,
+2.846,1.685,1.255,2.168,1.343,0.995,0.710,1.227,1.416,0.120,
+0.745,1.000,1.307,0.932,0.693,1.365,2.028,1.609,0.888,1.337,
+1.422,1.107,0.975,1.121,1.427,0.152,1.579,1.299,1.116,1.459,
+0.958,1.596,1.373,1.516,0.952,1.488,0.133,0.148,0.110,0.220,
+1.077,0.119,0.723,1.201,0.826,1.334,0.972,1.537,1.549,1.045,
+0.741,1.554,1.314,1.038,0.771,1.323,1.368,0.132,0.987,1.721,
+1.570,1.264,1.564,3.058,0.188,0.150,0.079,0.147,0.177,0.132,
+0.082,0.124,0.095,0.016,0.067,0.092,0.100,0.112,0.061,0.134,
+0.179,0.172,0.072,0.102,0.330,0.162,0.105,0.115,0.116,0.025,
+0.139,0.129,0.098,0.134,0.082,0.135,0.103,0.141,0.068,0.116,
+0.017,0.023,0.015,0.015,0.102,0.021,0.088,0.138,0.075,0.145,
+0.093,0.137,0.164,0.120,0.074,0.169,0.221,0.169,0.103,0.180,
+0.126,0.017,0.093,0.249,0.151,0.145,0.129,0.271,2.061,1.293,
+0.883,1.150,1.524,1.365,1.174,1.342,1.292,0.193,1.046,1.214,
+1.045,1.162,1.004,1.656,0.122,0.136,0.083,0.094,0.126,0.172,
+0.136,0.127,0.122,0.028,0.208,0.139,0.125,0.183,0.124,0.170,
+1.536,1.909,1.146,1.269,0.147,0.233,0.162,0.160,1.481,0.197,
+0.816,1.209,0.917,1.549,1.251,1.571,1.353,1.129,0.791,1.136,
+1.545,1.714,1.285,1.507,1.660,0.174,1.624,2.005,1.362,1.421,
+1.790,2.520,2.029,1.183,0.823,1.438,1.258,1.007,0.714,0.940,
+1.089,0.117,0.824,1.119,1.198,1.049,0.806,1.815,1.866,1.570,
+1.171,1.307,1.426,1.591,1.086,1.127,1.417,0.144,1.478,1.698,
+1.324,1.775,1.246,1.935,1.791,1.883,1.117,1.550,0.126,0.156,
+0.099,0.130,1.634,0.166,1.304,1.444,1.443,2.247,1.695,2.198,
+1.786,1.123,0.969,1.433,1.369,1.235,0.891,1.238,1.747,0.140,
+1.803,1.403,2.013,2.036,2.262,3.451,5.957,2.026,1.417,3.308,
+1.745,0.994,0.824,1.548,1.484,0.130,0.702,1.110,1.983,1.398,
+1.003,2.357,1.975,1.096,0.682,1.148,1.369,0.745,0.616,0.827,
+0.948,0.075,0.755,0.925,0.918,0.815,0.671,1.235,1.635,1.413,
+0.839,1.757,0.117,0.107,0.063,0.190,1.049,0.095,0.608,1.146,
+1.014,1.227,0.839,1.573,2.526,1.346,1.096,2.526,1.459,0.994,
+0.890,1.673,1.540,0.119,0.938,1.703,2.381,1.715,1.882,4.769,
+3.231,1.702,1.099,1.944,2.261,1.309,0.905,1.347,1.124,0.122,
+0.701,1.044,1.275,1.128,0.828,1.716,2.727,1.555,0.863,1.169,
+4.802,1.614,1.054,1.237,1.175,0.108,0.870,1.209,0.981,1.003,
+0.706,1.339,1.520,1.474,0.842,1.565,0.147,0.122,0.061,0.124,
+1.263,0.123,0.863,1.396,1.150,1.534,1.089,1.826,1.944,1.122,
+0.949,1.803,1.644,1.150,0.938,1.572,1.492,0.128,0.946,1.801,
+1.611,1.483,1.499,2.906,2.767,1.387,1.092,1.634,1.904,1.314,
+1.159,1.682,1.646,0.182,0.965,1.486,1.659,1.377,1.211,2.501,
+0.142,0.112,0.067,0.114,0.208,0.118,0.093,0.119,0.103,0.013,
+0.095,0.124,0.138,0.140,0.104,0.198,1.815,1.637,1.181,1.722,
+0.126,0.113,0.093,0.174,1.769,0.160,1.230,1.661,1.391,1.696,
+1.641,2.387,2.146,1.358,1.169,1.905,2.030,1.631,1.439,2.400,
+2.140,0.167,1.875,2.681,2.078,1.720,2.432,3.830,5.733,2.035,
+1.408,3.001,1.828,1.165,0.916,1.601,1.894,0.156,1.007,1.776,
+2.778,1.934,1.545,4.425,2.378,1.551,1.022,1.582,1.618,1.309,
+0.930,1.315,1.779,0.106,1.100,1.794,1.873,1.649,1.294,2.596,
+2.612,1.991,1.452,2.533,0.143,0.131,0.081,0.190,2.235,0.155,
+1.701,2.602,2.346,2.625,2.365,3.920,6.012,1.766,1.552,3.826,
+2.484,1.628,1.272,2.779,2.799,0.149,2.142,3.813,3.179,2.546,
+3.186,7.885,9.378,4.975,3.052,8.777,5.750,3.107,2.458,3.838,
+6.287,0.513,2.318,4.012,12.8,6.595,3.777,7.892,5.546,2.808,
+2.087,3.077,3.060,1.653,1.544,1.742,3.318,0.188,1.574,2.147,
+3.380,2.337,1.658,3.541,5.746,3.225,2.464,4.440,0.374,0.251,
+0.187,0.462,2.947,0.225,1.383,2.146,3.213,2.881,1.959,3.418,
+12.5,4.036,4.116,9.180,5.605,3.527,2.771,5.490,4.044,0.301,
+2.066,3.374,6.943,3.611,3.543,6.888,7.509,2.832,2.130,3.275,
+2.924,1.596,1.203,1.538,3.285,0.250,1.023,1.640,3.060,2.376,
+1.105,2.373,3.523,1.690,1.107,1.566,1.752,1.033,0.881,0.949,
+1.769,0.119,0.791,1.133,1.486,1.158,0.790,1.316,3.080,1.991,
+1.276,1.997,0.178,0.111,0.080,0.161,1.782,0.139,0.809,1.284,
+1.610,1.847,0.951,1.658,2.792,1.630,1.295,2.479,2.108,1.339,
+1.049,1.635,1.965,0.128,0.987,1.662,2.342,1.783,1.342,3.021,
+5.829,2.103,1.789,2.884,2.839,1.355,1.282,1.776,3.263,0.308,
+1.076,1.976,3.717,2.556,1.676,4.053,0.345,0.188,0.132,0.224,
+0.215,0.139,0.113,0.171,0.206,0.020,0.103,0.179,0.345,0.331,
+0.189,0.389,1.980,1.352,1.149,1.567,0.133,0.086,0.073,0.150,
+1.464,0.109,0.668,0.986,1.270,1.197,1.023,1.493,2.119,1.334,
+1.191,2.189,1.902,1.349,1.116,1.857,1.861,0.141,1.128,1.809,
+1.981,1.625,1.657,3.212,16.9,3.637,2.802,6.294,3.197,1.625,
+1.624,2.183,4.610,0.400,1.621,2.929,7.655,4.005,2.709,8.041,
+5.911,2.742,1.982,3.067,3.200,1.665,1.463,2.166,2.937,0.177,
+1.527,2.687,3.983,2.936,2.158,4.707,2.848,1.959,1.620,2.703,
+0.174,0.129,0.103,0.199,1.873,0.113,1.075,1.589,2.071,1.884,
+1.669,2.538,5.001,2.521,2.869,5.553,2.371,1.660,1.485,2.613,
+3.099,0.181,2.099,3.095,4.963,3.211,3.198,6.209,6.057,2.653,
+2.017,3.695,2.252,1.248,1.059,1.449,2.046,0.176,0.773,1.417,
+2.665,1.930,1.159,2.415,2.474,1.339,0.923,1.383,1.266,0.715,
+0.662,0.816,1.158,0.097,0.602,1.022,1.045,0.907,0.592,1.276,
+1.849,1.385,0.946,1.599,0.122,0.103,0.065,0.155,0.834,0.076,
+0.555,0.867,0.903,0.969,0.640,1.263,2.121,1.042,1.010,1.859,
+1.480,0.996,0.783,1.333,1.177,0.086,0.599,1.057,1.646,0.973,
+0.891,2.224,3.486,1.825,1.056,1.675,1.485,0.960,0.689,0.844,
+1.438,0.116,0.465,0.832,1.276,1.092,0.519,1.186,1.542,0.903,
+0.565,0.879,0.776,0.466,0.508,0.533,0.860,0.063,0.402,0.664,
+0.600,0.611,0.418,0.685,1.367,1.184,0.667,0.992,0.078,0.078,
+0.046,0.070,0.863,0.106,0.411,0.639,0.679,0.931,0.457,0.867,
+1.248,0.790,0.529,1.007,0.927,0.677,0.412,0.732,1.004,0.069,
+0.409,0.775,0.853,0.701,0.483,1.259,2.809,1.246,0.943,1.551,
+1.513,0.882,0.795,1.038,1.510,0.146,0.577,1.081,1.552,1.224,
+0.836,1.932,0.135,0.112,0.059,0.101,0.076,0.080,0.059,0.070,
+0.077,0.013,0.054,0.090,0.105,0.137,0.070,0.147,1.365,1.359,
+1.452,1.140,0.088,0.100,0.062,0.083,0.823,0.070,0.517,0.716,
+0.668,0.832,0.685,0.969,1.019,0.612,0.635,1.029,0.921,0.723,
+0.578,0.878,0.842,0.063,0.649,0.949,0.860,0.700,0.866,1.593,
+3.120,1.176,0.966,1.851,1.299,0.753,0.617,0.866,1.205,0.099,
+0.484,0.933,1.719,1.057,0.710,1.933,2.056,1.440,0.795,1.276,
+1.188,0.949,0.617,0.857,0.830,0.070,0.522,1.034,0.992,0.962,
+0.644,1.444,1.173,0.941,0.774,1.187,0.071,0.054,0.037,0.077,
+0.616,0.045,0.420,0.681,0.701,0.716,0.725,1.080,1.602,0.806,
+0.816,1.538,0.991,0.693,0.555,1.004,1.059,0.066,0.693,1.252,
+1.556,1.146,1.145,2.426,4.496,2.066,1.628,2.985,1.642,0.964,
+0.773,1.327,2.069,0.172,0.777,1.277,2.727,1.692,0.905,2.062,
+2.508,1.310,0.842,1.492,1.166,0.678,0.734,0.834,1.552,0.120,
+0.742,1.117,1.378,1.210,0.673,1.247,1.778,1.402,0.974,1.741,
+0.143,0.128,0.088,0.204,1.050,0.100,0.474,0.836,1.025,1.211,
+0.654,1.361,2.403,1.114,1.111,2.404,1.511,1.092,0.870,1.488,
+1.536,0.131,0.718,1.434,2.012,1.407,1.347,3.809,0.301,0.175,
+0.112,0.199,0.181,0.126,0.074,0.116,0.151,0.019,0.066,0.105,
+0.181,0.178,0.083,0.170,0.164,0.106,0.068,0.093,0.105,0.088,
+0.063,0.073,0.113,0.014,0.073,0.100,0.103,0.109,0.058,0.100,
+0.125,0.118,0.075,0.122,0.012,0.012,0.010,0.015,0.114,0.021,
+0.059,0.086,0.092,0.135,0.064,0.127,0.234,0.137,0.111,0.259,
+0.208,0.169,0.119,0.218,0.152,0.016,0.095,0.172,0.201,0.163,
+0.138,0.348,1.970,1.029,0.691,1.080,1.116,0.725,0.690,0.860,
+1.347,0.136,0.638,0.997,1.146,0.929,0.735,1.309,0.131,0.099,
+0.045,0.082,0.064,0.062,0.052,0.056,0.086,0.014,0.047,0.070,
+0.112,0.107,0.064,0.103,1.040,0.910,0.584,0.817,0.078,0.066,
+0.045,0.069,0.814,0.071,0.369,0.513,0.655,0.735,0.477,0.738,
+1.105,0.695,0.584,0.881,0.975,0.707,0.582,0.832,1.044,0.093,
+0.656,0.946,0.922,0.923,0.756,1.372,2.265,0.998,0.799,1.603,
+1.112,0.614,0.515,0.773,1.249,0.094,0.575,1.028,1.674,1.018,
+0.691,1.815,2.086,1.173,0.766,1.267,1.103,0.790,0.683,0.794,
+1.200,0.085,0.666,1.044,1.320,1.101,0.737,1.355,1.330,1.107,
+0.846,1.265,0.095,0.082,0.060,0.106,0.939,0.072,0.592,0.855,
+0.967,0.989,0.748,1.341,1.715,0.919,0.968,1.533,1.275,0.901,
+0.925,1.213,1.512,0.111,1.001,1.632,2.108,1.583,1.503,3.265,
+9.478,3.274,2.425,6.075,2.369,1.186,1.167,1.688,3.140,0.240,
+1.159,2.073,10.4,3.330,1.929,4.956,2.766,1.319,0.946,1.810,
+1.280,0.669,0.677,1.018,1.893,0.121,1.066,1.697,2.231,1.374,
+0.981,1.877,2.658,1.729,1.190,3.039,0.178,0.135,0.094,0.280,
+1.448,0.113,0.636,1.453,1.654,1.483,0.878,2.091,4.063,1.806,
+1.847,6.047,2.030,1.244,1.283,2.538,2.082,0.156,1.228,2.229,
+3.668,2.213,2.643,6.165,4.198,1.982,1.343,2.618,2.206,1.232,
+0.879,1.359,2.103,0.161,0.867,1.517,2.625,1.910,0.950,2.041,
+2.238,1.147,0.707,1.247,1.278,0.758,0.573,0.778,1.431,0.108,
+0.949,1.370,1.348,1.178,0.639,1.293,1.777,1.251,0.794,1.825,
+0.099,0.074,0.048,0.122,1.321,0.126,0.666,1.268,1.372,1.662,
+0.702,1.695,2.411,1.219,1.075,2.756,1.692,1.152,0.915,1.846,
+1.662,0.110,1.057,1.748,2.093,1.585,1.327,3.289,2.714,1.376,
+0.988,1.798,1.701,0.942,0.830,1.292,2.069,0.199,0.885,1.466,
+2.123,1.622,1.183,2.319,0.161,0.104,0.071,0.138,0.097,0.071,
+0.060,0.091,0.137,0.015,0.089,0.150,0.172,0.169,0.101,0.178,
+1.495,1.289,0.829,1.364,0.092,0.060,0.054,0.105,1.903,0.111,
+0.828,0.978,1.240,1.038,0.855,1.479,1.645,1.029,0.879,1.693,
+1.469,0.942,0.856,1.640,1.830,0.138,1.093,1.780,1.793,1.293,
+1.264,2.638,5.107,1.984,1.618,3.494,2.000,1.140,1.153,1.519,
+2.631,0.196,1.097,2.040,4.505,2.406,1.833,5.327,2.441,1.304,
+0.964,1.787,1.416,0.829,0.799,1.114,1.579,0.092,0.938,1.629,
+2.134,1.584,1.115,2.518,2.625,2.008,1.482,2.642,0.144,0.102,
+0.072,0.163,2.013,0.113,1.079,1.744,2.279,2.052,1.515,2.834,
+5.154,2.229,2.235,5.533,2.946,1.945,1.705,3.063,3.693,0.167,
+2.139,3.997,6.814,3.837,3.834,8.919,6.044,3.070,2.642,4.722,
+2.768,1.560,1.308,1.881,2.795,0.250,1.076,1.897,4.053,2.963,
+1.540,3.114,2.543,1.613,1.037,1.489,1.581,0.889,0.782,0.871,
+1.463,0.097,0.764,1.032,1.411,1.240,0.789,1.428,1.771,1.279,
+1.008,1.611,0.142,0.097,0.073,0.158,0.969,0.077,0.480,0.738,
+1.194,1.151,0.732,1.341,2.559,1.345,1.161,2.580,1.947,1.274,
+0.903,1.654,1.568,0.132,0.722,1.275,2.202,1.494,1.515,2.828,
+3.448,1.760,1.122,1.773,1.955,1.048,0.722,0.913,1.880,0.259,
+0.611,0.934,1.652,1.609,0.649,1.389,1.645,1.043,0.526,0.761,
+0.949,0.577,0.420,0.515,0.948,0.088,0.507,0.774,0.776,0.836,
+0.433,0.815,1.215,1.049,0.590,0.832,0.153,0.065,0.050,0.080,
+0.846,0.081,0.438,0.636,0.781,0.950,0.533,0.881,1.133,0.796,
+0.496,0.970,1.139,0.760,0.446,0.759,0.900,0.077,0.491,0.909,
+1.005,1.007,0.705,1.507,2.220,1.025,0.721,1.334,1.401,0.744,
+0.620,0.885,1.669,0.167,0.526,1.079,1.551,1.111,0.771,1.908,
+0.141,0.111,0.061,0.112,0.108,0.104,0.074,0.092,0.126,0.018,
+0.058,0.098,0.130,0.180,0.078,0.162,1.112,0.640,0.537,0.755,
+0.073,0.053,0.051,0.077,0.637,0.057,0.338,0.506,0.590,0.567,
+0.449,0.650,0.956,0.615,0.480,0.925,0.982,0.824,0.533,0.835,
+0.828,0.082,0.489,0.820,0.854,0.811,0.749,1.490,2.755,1.211,
+0.993,1.988,2.396,0.716,0.594,0.783,1.796,0.172,0.613,1.077,
+2.622,1.340,0.902,2.373,2.011,1.372,0.820,1.433,1.383,0.863,
+0.721,0.902,1.325,0.096,0.619,1.124,1.325,1.189,0.724,1.481,
+1.154,0.735,0.588,1.005,0.088,0.050,0.047,0.080,0.664,0.049,
+0.388,0.605,0.768,0.736,0.621,0.999,1.734,0.928,0.731,1.703,
+0.983,0.692,0.634,1.001,1.426,0.097,0.765,1.350,1.961,1.539,
+1.430,3.134,3.341,1.755,1.250,2.132,1.895,1.111,0.881,1.143,
+1.220,0.129,0.486,0.863,1.581,1.336,0.690,1.579,1.653,1.098,
+0.658,0.952,1.043,0.659,0.578,0.679,0.744,0.088,0.444,0.684,
+0.656,0.871,0.451,0.887,0.902,0.817,0.561,0.846,0.069,0.066,
+0.046,0.092,0.512,0.056,0.364,0.507,0.537,0.669,0.455,0.838,
+1.067,0.655,0.509,1.122,0.885,0.710,0.506,0.821,0.694,0.064,
+0.385,0.713,1.023,0.800,0.759,1.578,1.781,1.097,0.538,0.966,
+1.249,0.812,0.440,0.627,0.730,0.078,0.321,0.528,0.740,0.712,
+0.334,0.802,0.948,0.615,0.290,0.449,0.403,0.118,0.215,0.261,
+0.467,0.061,0.301,0.474,0.357,0.516,0.316,0.469,0.644,0.720,
+0.402,0.548,0.056,0.062,0.033,0.056,0.493,0.070,0.296,0.528,
+0.409,0.685,0.358,0.635,0.651,0.494,0.310,0.546,0.628,0.582,
+0.293,0.506,0.526,0.051,0.281,0.857,0.562,0.632,0.429,1.107,
+1.671,0.845,0.570,0.918,1.176,0.790,0.567,0.768,1.080,0.189,
+0.493,0.732,0.967,1.494,0.555,1.247,0.079,0.089,0.042,0.074,
+0.064,0.080,0.052,0.062,0.105,0.043,0.130,0.073,0.087,0.449,
+0.063,0.082,0.746,0.778,0.488,0.632,0.071,0.152,0.041,0.069,
+0.497,0.059,0.369,0.474,0.420,0.598,0.585,0.619,0.651,0.409,
+0.355,0.679,0.760,0.765,0.473,0.713,0.650,0.055,0.379,0.666,
+0.628,0.567,0.600,1.142,1.712,0.818,0.572,1.047,0.991,0.575,
+0.389,0.670,0.851,0.073,0.350,0.656,1.223,0.819,0.465,1.204,
+1.089,0.780,0.487,0.756,0.759,0.654,0.417,0.590,0.664,0.096,
+0.424,0.696,0.653,1.154,0.425,0.816,0.705,0.633,0.458,0.674,
+0.044,0.051,0.031,0.048,0.404,0.033,0.309,0.469,0.489,0.559,
+0.474,0.737,0.915,0.505,0.421,0.910,0.666,0.499,0.395,0.680,
+0.669,0.050,0.381,0.750,1.007,0.890,0.771,1.795,2.687,1.637,
+0.993,1.829,1.849,0.832,0.591,0.974,1.505,0.136,0.583,0.926,
+1.649,1.334,0.633,1.402,1.640,1.207,0.586,1.005,0.971,0.701,
+0.556,0.733,1.535,0.132,0.809,1.079,0.975,1.190,0.561,1.057,
+1.156,1.158,0.669,1.197,0.108,0.099,0.066,0.150,0.852,0.091,
+0.468,0.825,0.770,1.002,0.539,1.233,1.258,0.801,0.594,1.439,
+1.005,0.824,0.579,1.086,1.132,0.109,0.598,1.150,1.375,1.035,
+0.955,2.383,0.177,0.105,0.056,0.106,0.289,0.095,0.049,0.087,
+0.101,0.015,0.045,0.069,0.103,0.106,0.054,0.111,0.087,0.069,
+0.035,0.054,0.076,0.088,0.048,0.057,0.093,0.016,0.056,0.082,
+0.062,0.092,0.045,0.071,0.070,0.084,0.048,0.073,0.014,0.012,
+9.28e-3,0.011,0.113,0.020,0.059,0.079,0.062,0.109,0.058,0.090,
+0.099,0.073,0.045,0.115,0.122,0.102,0.061,0.114,0.090,0.012,
+0.058,0.106,0.104,0.092,0.082,0.175,1.820,1.174,0.628,0.884,
+0.975,0.925,0.536,0.758,1.225,0.154,0.565,0.906,0.883,0.846,
+0.700,1.302,0.095,0.086,0.041,0.065,0.058,0.149,0.049,0.053,
+0.069,0.013,0.054,0.067,0.067,0.098,0.055,0.085,0.639,0.762,
+0.448,0.598,0.051,0.067,0.041,0.065,0.668,0.077,0.317,0.524,
+0.465,0.678,0.449,0.699,0.676,0.561,0.532,0.676,0.702,0.719,
+0.479,0.686,0.821,0.097,0.610,0.807,0.703,0.724,0.672,1.143,
+1.490,0.811,0.725,1.225,0.936,0.561,0.407,0.619,1.046,0.082,
+0.515,0.920,1.233,0.795,0.563,1.448,1.303,0.979,0.531,0.879,
+0.980,1.343,0.502,0.698,0.962,0.084,0.615,0.925,0.910,1.012,
+0.602,1.074,0.830,0.866,1.113,1.033,0.067,0.065,0.062,0.080,
+0.746,0.064,0.549,0.773,0.733,0.930,0.681,1.156,1.017,0.715,
+0.618,1.027,0.994,0.612,0.498,0.747,1.093,0.084,0.806,1.220,
+1.421,1.266,1.103,1.993,2.751,1.223,1.001,2.372,1.333,0.635,
+0.676,1.391,1.371,0.109,0.609,1.111,2.119,1.138,0.759,1.835,
+1.313,0.773,0.496,0.998,0.734,0.447,0.518,0.961,0.842,0.059,
+0.565,0.845,0.910,0.641,0.500,1.046,0.990,0.844,0.512,1.119,
+0.064,0.058,0.038,0.122,0.660,0.062,0.429,0.879,0.700,0.827,
+0.528,1.098,1.494,0.874,0.733,2.118,0.844,0.595,0.519,1.200,
+0.950,0.072,0.517,1.228,1.577,1.006,1.471,2.800,2.106,1.000,
+0.677,1.337,1.880,0.744,0.579,0.983,1.091,0.096,0.469,0.886,
+1.224,1.051,0.494,1.219,1.094,0.690,0.356,0.635,0.822,0.559,
+0.359,0.534,0.888,0.125,0.447,0.923,0.743,0.928,0.390,1.038,
+0.681,0.691,0.363,0.706,0.057,0.053,0.027,0.067,0.773,0.114,
+0.408,0.906,0.700,1.270,0.416,0.999,0.918,0.590,0.471,1.115,
+0.869,0.662,0.443,0.958,0.888,0.073,0.502,1.015,1.029,0.928,
+0.722,1.690,1.490,0.812,0.615,1.047,0.794,0.576,0.445,0.708,
+1.206,0.124,0.715,0.973,1.072,0.891,0.776,1.495,0.068,0.054,
+0.035,0.068,0.044,0.053,0.041,0.050,0.063,8.27e-3,0.042,0.063,
+0.076,0.087,0.049,0.096,0.647,0.634,0.379,0.699,0.042,0.040,
+0.029,0.066,0.950,0.065,0.399,0.668,0.612,0.640,0.495,0.834,
+0.795,0.586,0.489,0.924,0.756,0.585,0.447,0.869,1.005,0.104,
+0.652,1.136,0.932,0.783,0.860,1.602,1.821,0.969,0.900,1.657,
+0.823,0.510,0.458,0.556,1.208,0.117,0.644,1.054,1.545,0.897,
+0.775,2.052,1.224,0.738,0.493,0.885,0.910,0.640,0.457,0.675,
+0.796,0.050,0.470,0.868,1.097,0.825,0.576,1.373,1.075,0.933,
+0.716,1.227,0.073,0.059,0.044,0.085,0.891,0.064,0.557,0.972,
+1.036,1.138,0.840,1.448,1.999,1.036,1.056,2.202,1.704,1.136,
+1.000,1.464,1.910,0.115,1.158,2.124,3.025,2.071,2.116,3.465,
+8.026,2.449,1.937,4.603,2.643,1.356,1.079,1.774,2.509,0.210,
+0.820,1.507,3.967,2.692,1.341,3.068,1.906,0.980,0.647,1.229,
+1.176,0.658,0.610,0.834,1.112,0.082,0.511,0.755,1.190,1.015,
+0.711,1.280,1.633,1.140,0.868,1.621,0.130,0.106,0.074,0.185,
+0.965,0.077,0.503,0.855,1.049,1.012,0.773,1.426,2.573,1.130,
+1.074,2.541,1.742,1.421,0.886,1.812,1.323,0.102,0.644,1.135,
+2.104,1.142,1.345,3.073,3.827,1.686,1.116,2.196,2.066,1.104,
+0.828,1.247,1.637,0.159,0.558,0.974,1.848,1.599,0.687,1.744,
+1.633,1.059,0.535,0.918,0.976,0.530,0.506,0.709,1.221,0.155,
+0.479,0.767,0.961,0.926,0.480,0.928,1.628,1.220,0.768,1.341,
+0.125,0.079,0.061,0.129,1.130,0.091,0.523,0.887,1.015,0.986,
+0.613,1.074,1.809,1.090,0.780,1.982,1.456,1.091,0.687,1.340,
+1.378,0.104,0.544,1.061,1.376,1.127,0.867,2.029,3.275,1.109,
+0.841,1.800,2.070,1.053,0.887,1.368,5.942,0.409,0.912,1.352,
+3.719,1.863,1.004,2.556,0.210,0.134,0.076,0.157,0.153,0.105,
+0.090,0.134,0.278,0.026,0.079,0.130,0.361,0.390,0.115,0.272,
+1.231,0.679,0.767,1.118,0.093,0.059,0.054,0.118,0.873,0.078,
+0.378,0.604,0.828,0.770,0.452,0.763,1.192,0.562,0.531,1.113,
+1.216,0.834,0.753,1.291,1.029,0.079,0.495,0.845,1.250,0.884,
+0.803,1.708,4.034,1.258,1.042,2.608,1.787,0.882,0.724,1.282,
+4.089,0.304,0.870,1.500,6.163,2.550,1.171,3.840,2.236,1.077,
+0.753,1.340,1.386,0.784,0.675,0.955,2.071,0.146,0.662,1.281,
+2.672,2.083,0.882,2.052,1.346,0.928,0.846,1.473,0.104,0.063,
+0.066,0.146,1.019,0.073,0.535,0.929,1.227,1.139,0.876,1.560,
+2.391,1.058,1.028,2.755,1.361,0.881,0.946,1.825,2.013,0.139,
+1.028,2.105,3.758,2.367,2.494,6.004,0.476,0.188,0.131,0.263,
+0.211,0.131,0.095,0.167,0.165,0.017,0.054,0.102,0.211,0.190,
+0.090,0.240,0.173,0.107,0.069,0.118,0.120,0.080,0.086,0.109,
+0.095,9.53e-3,0.051,0.081,0.100,0.108,0.066,0.124,0.133,0.104,
+0.077,0.136,0.016,0.013,9.44e-3,0.023,0.074,8.44e-3,0.055,0.076,
+0.076,0.097,0.069,0.125,0.174,0.104,0.097,0.199,0.159,0.134,
+0.105,0.186,0.127,0.012,0.071,0.122,0.153,0.110,0.129,0.282,
+0.265,0.163,0.098,0.177,0.178,0.137,0.081,0.136,0.118,0.016,
+0.048,0.084,0.126,0.125,0.059,0.136,0.143,0.115,0.059,0.096,
+0.103,0.072,0.074,0.109,0.095,0.015,0.051,0.088,0.074,0.089,
+0.051,0.085,0.137,0.122,0.082,0.118,0.015,0.012,0.010,0.015,
+0.104,0.020,0.063,0.090,0.075,0.110,0.067,0.115,0.167,0.115,
+0.073,0.192,0.160,0.121,0.083,0.142,0.116,9.53e-3,0.060,0.117,
+0.110,0.096,0.087,0.259,0.247,0.103,0.070,0.125,0.166,0.111,
+0.092,0.127,0.242,0.030,0.074,0.094,0.197,0.167,0.084,0.201,
+0.012,0.010,7.44e-3,0.011,0.012,0.012,0.013,0.013,0.016,7.85e-3,
+0.011,0.012,0.017,0.029,0.010,0.019,0.107,0.091,0.101,0.112,
+9.61e-3,0.014,0.010,0.016,0.092,0.017,0.049,0.074,0.069,0.104,
+0.070,0.092,0.120,0.059,0.070,0.120,0.120,0.100,0.098,0.143,
+0.094,8.27e-3,0.064,0.094,0.110,0.094,0.099,0.202,0.378,0.211,
+0.154,0.275,0.200,0.130,0.100,0.161,0.287,0.030,0.097,0.152,
+0.595,0.302,0.160,0.431,0.287,0.176,0.128,0.199,0.222,0.170,
+0.137,0.183,0.242,0.024,0.115,0.167,0.330,0.435,0.132,0.289,
+0.141,0.106,0.098,0.153,0.012,0.010,0.010,0.017,0.111,0.011,
+0.081,0.106,0.112,0.133,0.117,0.185,0.256,0.129,0.119,0.258,
+0.183,0.119,0.110,0.205,0.192,0.013,0.121,0.223,0.320,0.235,
+0.239,0.548,2.643,1.209,0.789,1.575,1.142,0.769,0.534,0.884,
+1.015,0.100,0.463,0.761,1.118,0.844,0.524,1.157,1.267,0.811,
+0.487,0.811,0.848,0.577,0.609,0.629,0.957,0.087,0.599,0.869,
+0.757,0.736,0.514,0.901,1.171,1.207,0.875,1.579,0.116,0.111,
+0.093,0.211,1.019,0.091,0.506,0.896,0.735,1.039,0.574,1.134,
+1.262,0.753,0.678,1.496,0.943,0.730,0.680,1.128,1.129,0.093,
+0.563,1.231,1.113,0.803,0.989,2.171,0.162,0.106,0.059,0.117,
+0.113,0.108,0.055,0.090,0.074,0.017,0.040,0.064,0.081,0.089,
+0.042,0.101,0.085,0.065,0.035,0.050,0.071,0.070,0.050,0.056,
+0.063,8.94e-3,0.052,0.066,0.054,0.055,0.034,0.061,0.077,0.098,
+0.058,0.123,9.28e-3,0.011,0.010,0.013,0.069,0.013,0.052,0.072,
+0.055,0.079,0.051,0.081,0.141,0.082,0.069,0.183,0.123,0.109,
+0.078,0.142,0.100,0.011,0.052,0.118,0.092,0.081,0.084,0.189,
+1.480,0.868,0.540,0.763,1.120,0.881,0.856,1.008,0.982,0.130,
+0.537,0.760,0.712,0.715,0.565,1.089,0.104,0.126,0.050,0.060,
+0.070,0.086,0.146,0.059,0.074,0.012,0.064,0.076,0.077,0.092,
+0.054,0.092,0.821,0.633,0.516,0.695,0.077,0.059,0.057,0.087,
+0.578,0.066,0.201,0.369,0.369,0.476,0.383,0.557,0.688,0.416,
+0.365,0.538,0.716,0.571,0.504,0.680,0.633,0.068,0.512,0.699,
+0.565,0.566,0.647,1.104,1.382,0.771,0.627,1.251,0.971,0.870,
+0.466,0.663,0.949,0.108,0.586,0.878,1.087,0.850,0.530,1.201,
+1.261,0.990,0.557,0.774,0.958,0.879,0.855,0.665,0.898,0.082,
+0.635,0.863,1.131,0.979,0.586,1.092,1.118,0.818,0.628,1.014,
+0.085,0.079,0.062,0.099,0.756,0.061,0.587,0.821,0.669,0.811,
+0.664,1.025,1.110,0.596,0.531,0.997,0.853,0.650,0.547,0.844,
+1.036,0.077,0.762,1.145,1.233,1.002,1.031,1.915,2.693,1.061,
+0.783,1.797,1.042,0.582,0.541,0.917,1.096,0.103,0.450,0.785,
+1.536,0.942,0.618,1.559,1.242,0.629,0.414,0.771,0.616,0.363,
+0.387,0.567,0.775,0.048,0.334,0.652,0.646,0.467,0.405,0.781,
+1.207,0.885,0.674,1.284,0.086,0.064,0.076,0.146,0.720,0.060,
+0.412,0.774,0.838,0.762,0.639,1.099,1.671,0.803,0.954,2.187,
+1.000,0.587,0.902,1.327,0.946,0.065,0.481,0.990,1.545,0.858,
+1.146,2.467,2.248,1.241,0.799,1.745,1.249,0.894,0.646,1.018,
+1.040,0.090,0.480,0.883,1.198,1.028,0.496,1.485,1.236,0.870,
+0.444,0.821,0.833,0.665,0.486,0.669,0.852,0.063,0.554,0.823,
+0.668,0.616,0.417,0.803,1.022,0.931,0.586,1.251,0.067,0.065,
+0.071,0.105,0.853,0.075,0.560,0.937,0.819,0.956,0.603,1.204,
+1.447,0.895,0.834,1.960,1.137,0.850,0.749,1.348,1.037,0.074,
+0.563,1.171,1.229,0.986,0.924,2.239,1.565,0.868,0.744,1.081,
+1.099,0.757,0.674,1.002,1.061,0.121,0.540,0.890,1.010,0.866,
+0.688,1.474,0.100,0.088,0.050,0.083,0.068,0.093,0.062,0.079,
+0.069,8.77e-3,0.054,0.081,0.081,0.093,0.058,0.110,0.844,0.826,
+0.572,0.905,0.056,0.051,0.044,0.096,0.799,0.071,0.418,0.686,
+0.627,0.732,0.623,0.941,0.985,0.594,0.556,0.976,0.972,0.702,
+0.707,1.121,0.897,0.074,0.662,1.045,1.028,0.812,1.025,1.740,
+2.386,1.076,0.958,1.859,1.162,0.852,0.628,0.866,1.424,0.174,
+0.686,1.203,1.527,0.981,0.763,2.162,1.515,0.913,0.569,1.094,
+1.009,0.770,0.649,0.822,1.006,0.066,0.579,1.045,1.131,0.915,
+0.674,1.451,1.445,1.158,0.852,1.545,0.103,0.094,0.063,0.142,
+1.161,0.096,0.766,1.309,1.209,1.252,1.051,1.651,2.587,1.053,
+1.063,2.480,1.621,1.165,1.019,1.728,1.843,0.118,1.213,2.261,
+2.918,1.814,2.012,3.990,7.646,3.333,3.131,7.798,3.316,1.593,
+1.532,2.545,3.654,0.254,1.228,2.375,6.977,3.982,1.968,5.078,
+2.724,1.133,0.974,1.720,1.453,0.715,0.681,0.972,1.638,0.096,
+0.734,1.100,1.796,1.358,0.674,1.461,2.439,1.292,1.157,2.555,
+0.166,0.097,0.078,0.223,1.347,0.090,0.651,1.214,1.605,1.282,
+0.891,2.031,4.433,1.833,1.963,5.586,2.488,1.418,1.239,2.555,
+2.266,0.150,1.149,2.092,4.177,2.144,2.157,6.098,3.741,1.460,
+1.054,2.131,1.855,0.742,0.558,0.948,1.577,0.118,0.565,0.918,
+2.596,1.457,0.729,1.724,1.602,0.836,0.543,0.946,0.765,0.388,
+0.373,0.581,0.997,0.068,0.459,0.677,1.173,0.729,0.482,0.869,
+1.528,1.003,0.739,1.354,0.106,0.055,0.045,0.092,1.055,0.062,
+0.432,0.807,1.142,0.879,0.606,1.107,1.960,1.102,0.820,2.181,
+1.316,0.722,0.534,1.119,1.371,0.075,0.566,1.124,1.739,1.236,
+0.915,2.447,4.152,1.395,1.199,2.582,2.146,0.926,0.866,1.719,
+5.171,0.352,1.045,1.506,5.941,2.379,1.196,3.637,0.229,0.120,
+0.090,0.190,0.140,0.078,0.077,0.137,0.256,0.019,0.075,0.116,
+0.582,0.345,0.114,0.284,1.475,0.919,1.119,1.619,0.104,0.056,
+0.060,0.136,1.676,0.104,0.538,0.805,1.533,1.034,0.719,1.279,
+1.689,0.837,0.941,2.116,1.443,0.774,0.777,1.619,1.472,0.094,
+0.663,1.315,2.126,1.284,1.231,2.954,8.335,2.206,2.203,6.631,
+2.971,1.277,1.209,2.557,7.340,0.507,1.718,2.828,24.1,6.629,
+3.016,9.694,3.511,1.584,1.330,2.415,1.738,0.991,0.964,1.455,
+3.189,0.184,1.050,1.703,6.319,3.484,1.431,3.392,2.273,1.353,
+1.371,2.494,0.155,0.081,0.083,0.178,2.025,0.105,0.869,1.503,
+2.394,1.906,1.440,2.561,4.679,1.977,2.139,5.846,2.342,1.302,
+1.380,2.587,3.594,0.189,1.709,3.553,8.178,4.238,3.782,11.3,
+5.043,2.109,1.603,3.604,2.218,1.144,0.939,1.579,1.871,0.151,
+0.652,1.310,2.821,2.014,1.021,2.900,2.140,1.130,0.790,1.420,
+1.227,0.684,0.645,0.931,0.989,0.076,0.561,0.824,1.086,1.083,
+0.628,1.236,1.708,1.178,0.933,1.671,0.112,0.084,0.058,0.140,
+0.896,0.076,0.648,1.005,1.050,1.105,0.769,1.536,1.907,1.044,
+0.994,2.268,1.435,0.979,0.801,1.477,1.311,0.107,0.826,1.272,
+1.820,1.112,1.278,2.922,3.017,1.432,1.099,1.855,1.542,0.899,
+0.584,0.840,1.155,0.088,0.396,0.744,1.470,1.171,0.516,1.339,
+1.456,0.915,0.536,0.868,0.904,0.547,0.448,0.619,0.816,0.063,
+0.420,0.660,0.756,0.739,0.426,0.817,1.401,1.094,0.677,1.150,
+0.124,0.080,0.044,0.076,0.939,0.093,0.498,0.817,0.990,0.974,
+0.619,1.221,1.570,1.032,0.671,1.520,1.338,0.883,0.547,0.979,
+0.950,0.060,0.466,0.999,1.076,0.825,0.709,2.116,3.144,1.094,
+0.833,1.566,1.726,0.864,0.777,1.230,2.031,0.188,0.739,0.981,
+2.578,1.699,0.881,2.378,0.113,0.076,0.056,0.106,0.089,0.069,
+0.072,0.115,0.103,0.013,0.057,0.074,0.171,0.203,0.067,0.148,
+1.390,1.182,0.955,1.302,0.084,0.067,0.058,0.104,1.007,0.084,
+0.480,0.732,0.940,1.063,0.693,1.245,1.532,0.755,0.772,1.440,
+1.248,0.843,0.807,1.334,1.131,0.074,0.610,1.012,1.501,1.038,
+1.025,2.227,3.953,1.564,1.317,2.773,1.709,0.908,0.778,1.288,
+2.654,0.196,0.945,1.388,5.726,2.732,1.394,3.855,2.324,1.283,
+1.017,1.672,1.450,1.013,0.909,1.245,1.798,0.139,0.873,1.272,
+2.907,3.039,1.074,2.194,1.585,1.142,1.024,1.696,0.097,0.063,
+0.048,0.101,1.145,0.071,0.637,0.979,1.347,1.283,0.943,1.856,
+2.593,1.195,1.157,2.406,1.936,0.996,0.908,1.545,1.946,0.108,
+0.986,1.839,3.233,2.105,1.788,4.297,3.312,1.683,1.117,2.331,
+1.414,0.961,0.693,1.239,1.581,0.113,0.592,1.080,2.142,1.284,
+0.747,1.814,2.013,1.255,0.788,1.293,1.095,0.732,0.605,0.764,
+1.229,0.096,0.628,0.981,1.311,1.178,0.667,1.371,1.703,1.555,
+1.054,2.002,0.136,0.125,0.088,0.198,1.212,0.105,0.611,1.206,
+1.210,1.321,0.795,1.642,1.750,1.004,0.945,2.269,1.272,0.879,
+0.743,1.378,1.522,0.119,0.862,1.740,1.982,1.248,1.354,3.213,
+0.182,0.128,0.076,0.152,0.138,0.091,0.055,0.103,0.109,0.011,
+0.048,0.086,0.151,0.127,0.070,0.156,0.100,0.073,0.039,0.069,
+0.079,0.089,0.047,0.060,0.081,9.28e-3,0.063,0.099,0.087,0.076,
+0.053,0.095,0.108,0.162,0.068,0.121,0.010,0.012,0.013,0.012,
+0.095,0.011,0.057,0.095,0.101,0.112,0.066,0.119,0.152,0.093,
+0.075,0.208,0.153,0.110,0.082,0.145,0.126,0.010,0.064,0.141,
+0.155,0.112,0.103,0.242,2.329,1.137,0.766,1.156,1.617,1.045,
+0.842,1.250,1.521,0.170,0.647,1.021,1.521,1.250,1.083,1.716,
+0.106,0.088,0.046,0.075,0.081,0.075,0.057,0.063,0.078,0.010,
+0.057,0.082,0.121,0.126,0.073,0.125,1.095,1.054,0.711,1.144,
+0.094,0.075,0.075,0.108,1.008,0.088,0.471,0.778,0.778,1.029,
+0.703,1.201,1.189,0.759,0.636,1.115,1.176,0.913,0.758,1.106,
+1.250,0.098,0.774,1.230,1.267,1.204,1.214,2.205,2.330,1.098,
+0.832,1.703,1.348,0.840,0.602,0.936,1.599,0.119,0.825,1.249,
+2.411,1.270,1.202,2.269,2.022,1.306,0.876,1.543,1.270,1.078,
+0.795,0.927,1.593,0.105,0.856,1.300,1.781,1.633,1.028,1.968,
+1.696,1.239,0.973,1.876,0.105,0.086,0.060,0.117,1.292,0.087,
+0.843,1.310,1.368,1.508,1.141,1.946,1.939,1.038,1.009,1.843,
+1.399,1.081,0.807,1.226,2.065,0.120,1.279,2.246,2.523,1.960,
+1.966,3.729,6.665,2.408,1.920,4.661,2.188,1.192,1.058,2.011,
+2.591,0.181,1.130,2.104,4.925,2.239,1.536,4.066,2.641,1.214,
+0.985,1.552,1.332,0.725,0.667,1.071,1.532,0.088,0.926,1.373,
+1.548,1.055,0.967,1.786,2.239,1.541,1.066,2.780,0.151,0.103,
+0.082,0.229,1.342,0.097,0.664,1.390,1.637,1.401,1.100,2.234,
+3.642,1.674,1.772,5.601,1.985,1.143,1.228,2.451,2.104,0.132,
+1.136,2.520,4.138,2.149,2.562,6.699,3.137,1.575,1.099,2.303,
+1.576,0.966,0.829,1.350,1.510,0.116,0.672,1.265,2.021,1.434,
+0.885,2.446,1.722,0.991,0.684,1.163,1.082,0.734,0.546,0.807,
+1.176,0.081,0.974,1.181,1.127,0.948,0.800,1.318,1.486,1.152,
+0.714,1.742,0.079,0.066,0.050,0.110,1.273,0.094,0.725,1.199,
+1.379,1.449,0.805,1.819,1.977,1.124,1.038,2.575,1.593,1.023,
+0.809,1.661,1.583,0.088,0.811,1.669,2.368,1.537,1.394,3.357,
+3.576,1.689,1.382,2.219,2.181,1.335,1.122,2.012,2.624,0.218,
+0.983,1.843,2.910,2.042,1.525,3.493,0.177,0.121,0.080,0.156,
+0.109,0.098,0.068,0.123,0.127,0.012,0.071,0.131,0.203,0.171,
+0.108,0.244,1.890,1.567,1.178,2.516,0.104,0.090,0.064,0.182,
+1.689,0.126,0.799,1.395,1.570,1.540,1.218,2.344,2.471,1.632,
+1.323,2.618,2.160,1.662,1.332,2.563,2.210,0.134,1.386,2.498,
+2.574,1.874,2.143,4.192,7.919,3.051,2.346,5.404,2.970,1.900,
+1.439,2.407,3.916,0.258,1.789,3.524,6.897,3.832,2.735,8.731,
+4.309,2.322,1.509,2.812,2.641,1.990,1.309,2.014,3.308,0.163,
+1.461,2.831,3.716,2.883,2.030,4.661,4.009,2.808,2.156,4.211,
+0.180,0.144,0.089,0.239,2.904,0.165,1.720,3.340,3.681,3.294,
+2.769,5.169,9.675,3.793,3.645,9.164,4.831,3.203,2.524,4.994,
+5.874,0.269,3.699,7.593,10.5,5.480,5.887,9.651,6.750,3.838,
+2.884,5.483,4.298,2.431,1.810,2.531,4.650,0.468,1.696,2.807,
+5.838,4.487,2.239,4.118,4.373,2.317,1.556,2.156,2.350,1.335,
+1.115,1.223,2.442,0.181,1.122,1.505,1.909,1.776,1.167,1.927,
+3.119,2.146,1.487,2.308,0.248,0.186,0.143,0.282,1.904,0.181,
+1.020,1.283,1.838,2.064,1.215,1.909,5.317,2.245,2.148,4.218,
+3.357,2.056,1.654,2.866,2.874,0.245,1.358,2.249,3.407,2.295,
+2.129,3.697,5.743,2.327,1.455,2.457,2.544,1.596,1.037,1.419,
+2.475,0.257,0.934,1.466,2.078,2.049,0.883,1.885,2.856,1.721,
+0.934,1.315,1.599,1.013,0.788,0.816,1.717,0.155,0.793,1.201,
+1.110,1.296,0.697,1.098,1.875,1.623,0.941,1.401,0.150,0.143,
+0.086,0.142,1.777,0.220,0.880,1.188,1.081,1.657,0.840,1.475,
+1.841,1.272,0.923,1.560,1.601,1.196,0.800,1.220,1.770,0.155,
+0.990,1.586,1.560,1.387,1.132,2.213,3.466,1.524,1.077,1.743,
+2.089,1.087,0.882,1.167,2.135,0.268,0.768,1.344,2.089,1.803,
+1.136,2.535,0.300,0.166,0.098,0.147,0.173,0.119,0.094,0.111,
+0.179,0.026,0.084,0.148,0.201,0.265,0.123,0.236,1.281,1.007,
+1.209,0.973,0.114,0.086,0.077,0.105,1.013,0.169,0.512,0.683,
+0.772,1.002,0.669,0.970,1.530,0.810,0.733,1.219,1.382,0.969,
+0.744,1.154,1.560,0.147,0.831,1.271,1.168,1.260,1.088,1.980,
+5.494,1.991,1.302,2.979,1.977,1.058,0.834,1.246,2.322,0.208,
+0.792,1.397,3.149,2.082,1.311,3.437,5.698,2.387,1.371,1.902,
+2.562,1.423,1.078,1.185,2.033,0.156,0.901,1.477,1.942,1.876,
+1.109,2.163,1.701,1.319,1.067,1.534,0.128,0.099,0.080,0.137,
+1.344,0.111,0.700,1.059,1.175,1.391,1.094,1.557,2.981,1.412,
+1.245,2.631,1.501,1.090,0.907,1.473,2.212,0.159,1.229,2.070,
+2.702,2.425,2.011,4.412,5.485,2.837,1.891,3.260,2.498,1.699,
+1.211,1.536,2.861,0.263,0.865,1.670,2.233,2.109,1.391,2.273,
+2.587,1.881,1.013,1.441,1.504,1.053,0.852,0.915,1.303,0.140,
+0.755,1.137,0.972,1.218,0.741,1.333,1.573,1.598,1.063,1.374,
+0.159,0.176,0.103,0.177,1.066,0.114,0.854,0.914,0.889,1.220,
+0.940,1.408,2.322,1.162,1.260,1.922,1.864,1.383,0.972,1.365,
+1.643,0.158,0.775,1.418,1.690,1.303,1.103,2.949,4.152,2.307,
+1.072,1.614,1.653,1.461,0.858,0.968,1.727,0.216,0.628,1.072,
+1.260,1.556,0.638,1.356,1.729,1.437,0.647,0.978,1.049,0.607,
+0.623,0.637,1.294,0.155,0.671,1.111,0.761,1.141,0.610,0.921,
+1.314,1.606,0.831,1.041,0.123,0.175,0.085,0.107,1.473,0.208,
+0.758,0.982,0.808,1.595,0.768,1.142,1.225,1.063,0.637,1.032,
+1.143,1.124,0.546,0.831,1.720,0.141,0.614,1.151,0.972,1.065,
+0.674,1.644,2.133,1.185,0.750,1.105,1.430,1.077,0.798,0.913,
+1.217,0.176,0.598,0.880,1.006,1.254,0.743,1.443,0.138,0.168,
+0.092,0.109,0.106,0.110,0.083,0.075,0.101,0.027,0.096,0.109,
+0.087,0.186,0.085,0.121,1.440,1.323,6.643,1.477,0.214,0.163,
+0.224,0.135,0.940,0.113,0.637,0.750,0.559,1.066,0.755,0.869,
+1.095,0.648,0.901,1.031,1.198,1.078,0.827,1.065,1.198,0.109,
+0.788,1.101,0.769,0.907,0.869,1.420,2.059,1.156,0.700,1.274,
+1.073,0.767,0.535,0.691,0.990,0.093,0.416,0.677,1.135,0.921,
+0.609,1.349,1.885,1.698,0.840,1.051,1.135,0.917,0.616,0.759,
+0.898,0.095,0.577,0.831,0.820,1.284,0.645,1.135,1.107,1.132,
+1.159,1.115,0.082,0.083,0.060,0.084,0.851,0.080,0.548,0.801,
+0.700,0.972,0.767,1.065,1.711,1.039,0.731,1.268,1.072,0.898,
+0.563,0.908,1.572,0.130,0.791,1.320,1.534,1.610,1.255,2.490,
+3.158,1.879,1.192,2.155,1.452,1.028,0.700,1.047,1.550,0.172,
+0.647,1.123,1.637,1.487,0.730,1.519,2.339,1.826,0.942,1.385,
+1.401,0.890,0.941,0.931,1.582,0.161,0.870,1.230,1.127,1.478,
+0.757,1.283,1.475,1.518,0.900,1.435,0.177,0.152,0.105,0.226,
+1.188,0.127,0.565,0.837,0.843,1.260,0.636,1.153,1.672,0.961,
+0.798,1.651,1.601,1.055,0.768,1.213,1.494,0.154,0.710,1.332,
+1.661,1.416,1.273,3.038,0.238,0.165,0.085,0.145,0.151,0.144,
+0.082,0.154,0.147,0.035,0.062,0.110,0.124,0.226,0.074,0.143,
+0.160,0.143,0.069,0.107,0.140,0.135,0.092,0.115,0.148,0.033,
+0.096,0.127,0.107,0.194,0.072,0.115,0.100,0.138,0.073,0.103,
+0.024,0.025,0.014,0.018,0.129,0.026,0.087,0.108,0.086,0.172,
+0.076,0.118,0.141,0.113,0.076,0.161,0.224,0.182,0.113,0.174,
+0.183,0.023,0.096,0.154,0.164,0.172,0.124,0.273,1.430,1.034,
+0.594,0.843,0.992,0.792,0.703,0.774,1.269,0.199,0.605,0.823,
+0.914,0.964,0.659,1.024,0.121,0.119,0.062,0.080,0.074,0.088,
+0.090,0.063,0.109,0.023,0.077,0.091,0.110,0.170,0.082,0.098,
+0.993,1.236,0.684,0.741,0.091,0.106,0.073,0.084,0.865,0.117,
+0.428,0.607,0.544,0.949,0.589,0.728,1.044,0.673,0.499,0.687,
+0.951,0.952,0.667,0.802,1.408,0.167,0.809,1.033,0.917,1.390,
+0.918,1.364,1.617,0.923,0.573,1.238,0.862,0.542,0.429,0.621,
+1.035,0.108,0.456,0.847,1.305,0.950,0.596,1.368,1.679,1.191,
+0.804,1.128,1.063,0.886,0.780,0.836,1.319,0.124,0.756,1.084,
+1.414,1.361,0.796,1.193,1.149,1.255,0.830,1.107,0.098,0.114,
+0.077,0.105,1.105,0.106,0.664,0.931,0.830,1.129,0.803,1.159,
+1.510,0.886,0.810,1.161,1.184,0.976,0.852,1.014,1.679,0.150,
+1.113,1.647,1.696,1.830,1.424,2.729,3.999,1.964,1.290,2.878,
+1.297,0.813,0.657,0.919,1.456,0.156,0.598,1.097,2.438,1.801,
+0.930,2.107,1.702,0.986,0.679,1.269,0.896,0.518,0.501,0.676,
+1.039,0.100,0.520,0.945,1.006,1.065,0.523,1.157,1.471,1.196,
+0.703,1.513,0.142,0.121,0.078,0.176,1.002,0.088,0.433,0.814,
+0.978,1.097,0.570,1.176,2.072,1.028,0.904,2.533,1.447,0.956,
+0.779,1.277,1.239,0.108,0.659,1.284,1.951,1.522,1.262,3.133,
+3.121,1.595,0.954,1.899,1.698,1.108,0.808,1.110,1.633,0.224,
+0.633,1.210,1.712,2.531,0.738,1.618,1.809,1.251,0.612,1.206,
+1.248,0.997,0.609,0.828,1.415,0.215,0.651,1.230,1.076,1.740,
+0.573,1.306,1.193,1.124,0.566,1.139,0.102,0.111,0.063,0.115,
+1.219,0.138,0.678,1.085,1.067,1.609,0.709,1.309,1.456,0.872,
+0.651,1.496,1.437,1.073,0.752,1.351,1.482,0.133,0.741,1.307,
+1.595,1.551,1.050,2.313,1.714,1.118,0.613,1.143,1.191,0.770,
+0.595,0.953,1.540,0.238,0.621,0.985,1.449,1.442,0.888,1.591,
+0.107,0.093,0.058,0.115,0.068,0.071,0.059,0.074,0.144,0.033,
+0.102,0.112,0.141,0.219,0.082,0.142,1.083,1.165,0.790,0.934,
+0.087,0.078,0.176,0.098,0.948,0.104,0.479,0.707,0.692,0.939,
+0.758,0.996,1.088,0.709,0.541,0.995,1.213,0.895,0.789,1.164,
+1.764,0.333,0.819,1.366,1.189,1.309,0.960,1.806,2.702,1.206,
+0.848,1.877,1.198,0.701,0.581,0.993,1.472,0.129,0.610,1.125,
+2.042,1.487,1.041,2.574,1.388,0.814,0.595,1.186,0.886,0.584,
+0.558,0.749,1.197,0.114,0.613,1.085,1.312,1.366,0.697,1.383,
+1.707,1.390,0.868,1.524,0.113,0.093,0.073,0.129,1.836,0.122,
+0.733,1.257,1.512,1.618,1.146,1.783,2.577,1.345,1.098,2.694,
+1.654,1.421,1.101,1.706,2.603,0.170,1.471,2.692,3.387,2.514,
+2.313,4.869,4.873,2.861,2.441,3.762,3.021,2.019,1.406,1.740,
+2.707,0.312,1.198,1.911,3.224,2.890,1.387,2.839,2.948,1.962,
+1.158,1.530,2.040,1.313,0.969,1.052,1.641,0.157,1.036,1.365,
+1.207,1.403,0.880,1.387,1.542,1.541,0.985,1.420,0.145,0.158,
+0.096,0.177,1.393,0.127,0.612,0.736,0.918,1.307,0.745,1.161,
+2.250,1.302,1.392,2.459,1.780,1.839,1.040,1.602,2.242,0.279,
+0.857,1.490,1.959,1.601,1.269,2.523,4.018,2.212,1.205,1.830,
+2.363,1.644,0.894,1.117,1.742,0.241,0.839,1.161,1.554,1.785,
+0.666,1.422,2.252,1.684,0.717,0.978,1.517,1.068,0.761,0.840,
+1.457,0.204,0.910,1.354,0.921,1.336,0.597,1.110,1.163,1.423,
+0.715,0.888,0.143,0.154,0.100,0.111,1.186,0.179,0.802,0.958,
+0.794,1.602,0.763,1.155,1.052,0.834,0.556,0.899,1.163,1.116,
+0.703,0.875,1.281,0.159,0.684,2.018,1.006,1.140,0.754,2.039,
+1.913,0.939,0.618,1.026,1.484,0.920,0.687,0.877,1.617,0.220,
+0.622,1.086,1.175,1.041,0.725,1.795,0.152,0.127,0.066,0.101,
+0.172,0.130,0.090,0.094,0.122,0.034,0.091,0.124,0.116,0.194,
+0.089,0.161,0.801,0.740,0.573,0.623,0.079,0.084,0.059,0.083,
+0.669,0.088,0.428,0.560,0.471,0.643,0.472,0.600,1.505,0.527,
+0.403,0.701,1.000,0.818,0.531,0.776,1.041,0.202,0.582,0.975,
+0.805,0.853,0.786,1.430,2.860,1.068,0.663,1.357,1.480,0.738,
+0.465,0.688,1.339,0.133,0.591,0.836,1.718,1.241,0.782,1.849,
+2.594,1.386,0.769,1.160,2.610,1.247,0.749,0.948,1.175,0.123,
+0.663,1.054,1.010,1.293,0.689,1.243,0.989,0.785,0.691,0.928,
+0.086,0.068,0.070,0.087,0.705,0.071,0.501,0.660,0.637,0.831,
+0.616,0.900,1.903,0.856,0.664,1.391,1.026,0.909,0.562,0.852,
+1.369,0.138,0.770,1.326,1.634,1.600,1.277,2.712,3.456,2.062,
+1.308,2.121,2.210,1.669,1.083,1.282,1.485,0.179,0.718,1.110,
+1.652,1.641,0.767,1.572,2.470,1.613,0.910,1.124,1.850,1.469,
+1.066,1.017,1.086,0.155,0.790,1.049,0.784,1.305,0.626,1.080,
+1.016,1.087,0.698,0.935,0.110,0.128,0.090,0.131,0.809,0.104,
+0.587,0.700,0.701,0.940,0.590,0.921,1.137,0.698,0.625,1.169,
+1.137,1.169,0.684,0.991,0.925,0.105,0.601,0.979,1.432,1.191,
+0.814,1.801,3.088,1.818,0.743,1.109,1.848,1.627,0.842,0.933,
+1.346,0.194,0.585,0.821,1.155,1.302,0.497,1.076,1.746,1.289,
+0.513,0.695,0.717,0.352,0.441,0.427,1.171,0.287,0.615,0.917,
+0.655,1.412,0.606,0.788,0.867,1.383,0.606,0.771,0.112,0.241,
+0.089,0.109,0.989,0.196,0.615,0.969,0.625,1.368,0.661,0.970,
+0.720,0.690,0.513,0.706,0.957,1.339,0.528,0.714,0.848,0.125,
+0.540,1.325,0.740,1.051,0.597,2.191,1.883,0.991,0.676,0.794,
+1.326,1.235,0.814,0.813,1.138,0.187,0.639,0.774,0.835,1.097,
+0.677,1.316,0.107,0.139,0.086,0.087,0.129,0.194,0.118,0.080,
+0.101,0.040,0.109,0.097,0.074,0.229,0.082,0.110,0.794,1.102,
+0.796,0.755,0.102,0.192,0.089,0.101,0.715,0.109,0.515,0.681,
+0.419,0.902,0.649,0.730,0.744,0.486,0.414,0.595,0.977,1.191,
+0.760,0.883,0.947,0.111,0.728,0.959,0.700,0.796,0.871,1.341,
+1.411,0.750,0.486,0.812,0.967,0.658,0.371,0.533,1.070,0.090,
+0.368,0.549,0.987,0.785,0.431,0.946,1.207,1.006,0.609,0.762,
+1.159,1.217,0.612,0.696,0.948,0.113,0.549,0.714,0.666,1.186,
+0.551,0.833,0.740,0.847,0.597,0.756,0.063,0.078,0.048,0.069,
+0.590,0.066,0.490,0.625,0.470,0.783,0.714,0.879,0.910,0.575,
+0.438,0.840,0.810,0.765,0.449,0.680,0.883,0.087,0.576,0.875,
+1.034,1.165,0.956,1.853,2.912,1.673,0.994,1.763,1.475,0.964,
+0.616,0.918,1.378,0.166,0.639,0.898,1.241,1.217,0.556,1.239,
+2.502,1.980,0.811,1.205,1.562,1.239,0.911,0.963,1.734,0.216,
+1.250,1.364,0.907,1.382,0.638,1.110,1.137,1.272,0.832,1.283,
+0.262,0.151,0.111,0.213,1.197,0.146,0.602,0.910,0.664,1.127,
+0.557,1.025,1.181,0.786,0.564,1.299,1.340,0.989,0.682,1.091,
+1.136,0.145,0.703,1.306,1.206,1.114,0.997,2.363,0.449,0.143,
+0.071,0.116,0.235,0.178,0.097,0.112,0.134,0.035,0.077,0.097,
+0.104,0.182,0.084,0.148,0.228,0.159,0.081,0.099,0.194,0.237,
+0.161,0.127,0.252,0.103,0.179,0.190,0.087,0.219,0.078,0.121,
+0.151,0.136,0.090,0.108,0.119,0.047,0.031,0.027,0.238,0.053,
+0.154,0.148,0.089,0.188,0.092,0.106,0.109,0.078,0.050,0.108,
+0.492,0.198,0.108,0.155,0.130,0.024,0.103,0.170,0.100,0.116,
+0.092,0.211,1.497,1.115,0.815,0.985,1.203,1.294,0.839,0.919,
+1.324,0.238,0.837,0.974,0.945,1.057,0.746,1.288,0.137,0.174,
+0.084,0.085,0.112,0.265,0.139,0.094,0.121,0.046,0.143,0.140,
+0.100,0.201,0.100,0.117,0.800,1.162,0.658,0.749,0.108,0.148,
+0.090,0.116,0.965,0.169,0.521,0.808,0.483,1.100,0.620,0.782,
+0.781,0.547,0.409,0.644,0.995,1.146,0.692,0.873,1.130,0.180,
+1.085,1.203,0.725,1.051,0.925,1.428,1.535,0.820,0.599,1.090,
+0.834,0.572,0.518,0.568,0.999,0.109,0.517,0.898,1.014,0.843,
+0.524,1.359,1.713,1.407,0.720,0.951,1.420,1.576,0.920,0.911,
+1.572,0.193,1.078,1.448,1.090,1.510,0.809,1.202,0.920,1.136,
+1.329,1.080,0.101,0.114,0.096,0.101,1.035,0.132,0.844,1.010,
+0.701,1.279,0.794,1.147,1.215,0.803,0.661,1.110,1.351,1.024,
+0.670,0.860,1.544,0.143,1.310,1.640,1.467,1.632,1.320,2.266,
+2.354,1.213,0.842,1.979,1.209,0.698,0.534,1.059,1.128,0.117,
+0.542,1.069,1.376,1.099,0.566,1.610,1.556,0.968,0.545,1.078,
+0.853,0.551,0.462,0.729,0.939,0.116,0.559,1.008,0.699,0.848,
+0.425,1.251,0.944,0.912,0.506,1.058,0.082,0.069,0.044,0.120,
+0.785,0.076,0.387,0.689,0.591,0.957,0.390,0.897,1.272,0.788,
+0.577,1.625,0.873,0.666,0.471,1.063,0.916,0.096,0.477,1.168,
+1.307,1.072,0.827,2.510,3.318,1.252,0.716,1.399,1.675,1.091,
+0.724,0.976,1.396,0.217,0.647,1.165,1.222,1.714,0.551,1.282,
+1.799,1.230,0.538,0.988,1.303,1.193,0.676,0.866,2.293,0.577,
+0.970,1.824,1.145,2.401,0.644,1.528,0.926,1.019,0.519,0.833,
+0.168,0.119,0.074,0.112,1.173,0.158,0.748,1.057,0.846,1.602,
+0.594,1.035,0.937,0.631,0.445,1.142,1.242,0.960,0.584,1.127,
+1.029,0.120,0.688,1.180,0.975,1.108,0.753,1.715,1.194,0.728,
+0.515,0.816,0.955,0.832,0.550,0.799,1.026,0.145,0.615,0.862,
+0.827,0.852,0.633,1.255,0.072,0.069,0.039,0.066,0.057,0.087,
+0.051,0.061,0.078,0.023,0.062,0.082,0.074,0.123,0.057,0.101,
+0.596,0.733,0.418,0.609,0.053,0.061,0.045,0.073,0.781,0.096,
+0.505,0.758,0.476,0.798,0.525,0.794,0.731,0.535,0.377,0.763,
+0.865,0.758,0.513,0.851,1.175,0.380,0.807,1.194,0.796,1.115,
+0.843,1.474,1.734,0.949,0.605,1.338,0.793,0.577,0.415,0.615,
+1.003,0.093,0.554,0.812,1.134,0.836,0.615,1.549,1.234,0.729,
+0.451,0.747,0.811,0.716,0.468,0.700,0.977,0.080,0.560,0.838,
+0.988,0.907,0.565,1.089,1.032,0.884,0.641,0.946,0.070,0.070,
+0.044,0.085,0.927,0.082,0.632,0.937,0.849,1.222,0.836,1.222,
+1.594,0.970,0.723,1.574,1.355,1.426,0.805,1.214,1.790,0.169,
+1.265,1.965,2.603,1.959,1.740,2.531,3.544,2.037,1.553,3.070,
+2.135,1.454,1.157,1.575,2.078,0.227,0.865,1.403,3.013,2.373,
+1.637,2.825,1.724,1.113,0.722,1.059,1.149,0.745,0.724,0.793,
+1.031,0.099,0.631,0.795,0.925,0.958,0.782,1.075,1.363,1.023,
+0.700,1.194,0.110,0.098,0.073,0.160,0.933,0.086,0.500,0.774,
+0.746,0.928,0.628,1.015,1.782,0.893,0.771,1.749,1.330,1.111,
+0.838,1.312,1.208,0.114,0.740,1.021,1.500,0.985,1.074,2.095,
+3.167,1.882,1.003,1.782,1.993,1.373,0.990,1.113,1.482,0.184,
+0.608,0.939,1.382,1.467,0.663,1.608,1.608,1.281,0.656,0.888,
+1.241,0.819,0.836,0.766,1.274,0.160,0.686,0.993,0.852,1.130,
+0.579,0.959,1.434,1.329,0.745,1.114,0.141,0.156,0.100,0.154,
+1.777,0.193,0.932,1.172,0.942,1.422,0.812,1.081,1.223,0.887,
+0.545,1.258,1.507,1.630,0.759,1.242,1.224,0.121,0.660,1.084,
+1.109,1.042,0.862,1.849,1.829,0.942,0.623,1.079,1.645,1.104,
+0.922,1.125,3.306,0.412,0.749,1.061,1.800,1.534,0.837,1.713,
+0.149,0.132,0.082,0.110,0.150,0.129,0.129,0.130,0.283,0.051,
+0.125,0.154,0.222,0.389,0.122,0.233,0.901,0.761,1.123,0.850,
+0.090,0.086,0.098,0.124,0.954,0.128,0.513,0.588,0.654,1.145,
+0.543,0.693,0.746,0.448,0.424,0.700,1.015,0.840,0.693,1.000,
+0.949,0.108,0.593,0.768,0.948,0.874,0.734,1.301,2.076,0.859,
+0.677,1.532,1.146,0.690,0.608,0.942,1.892,0.175,0.558,0.935,
+2.575,1.719,0.872,2.329,1.542,1.079,0.688,0.977,1.151,0.818,
+0.725,0.812,1.913,0.194,0.803,1.146,1.799,1.985,0.814,1.562,
+0.977,0.940,0.819,1.132,0.084,0.075,0.082,0.141,1.047,0.102,
+0.629,0.942,0.903,1.204,0.904,1.328,1.593,0.925,0.822,1.798,
+1.032,0.734,0.816,1.268,1.774,0.157,0.976,1.633,2.540,2.019,
+1.946,3.825,0.171,0.114,0.080,0.124,0.140,0.117,0.076,0.105,
+0.109,0.016,0.047,0.074,0.106,0.125,0.075,0.128,0.128,0.110,
+0.069,0.078,0.123,0.123,0.095,0.089,0.086,0.023,0.076,0.080,
+0.062,0.118,0.070,0.086,0.079,0.091,0.066,0.083,0.014,0.017,
+0.012,0.019,0.071,0.012,0.058,0.083,0.053,0.095,0.061,0.089,
+0.104,0.075,0.073,0.128,0.123,0.119,0.092,0.133,0.107,0.014,
+0.077,0.131,0.105,0.092,0.101,0.175,0.173,0.162,0.084,0.104,
+0.154,0.162,0.098,0.093,0.105,0.027,0.060,0.064,0.075,0.124,
+0.059,0.092,0.144,0.173,0.073,0.075,0.155,0.128,0.140,0.099,
+0.128,0.044,0.092,0.123,0.069,0.146,0.065,0.082,0.095,0.149,
+0.084,0.101,0.021,0.042,0.026,0.027,0.165,0.049,0.123,0.122,
+0.069,0.170,0.096,0.101,0.094,0.086,0.062,0.122,0.143,0.202,
+0.091,0.177,0.102,0.018,0.074,0.118,0.072,0.099,0.079,0.176,
+0.105,0.081,0.050,0.068,0.121,0.128,0.108,0.123,0.193,0.044,
+0.090,0.077,0.086,0.141,0.067,0.103,8.69e-3,0.025,0.011,0.012,
+0.018,0.029,0.036,0.024,0.032,0.029,0.038,0.021,0.013,0.053,
+0.022,0.017,0.082,0.118,0.343,0.119,0.013,0.032,0.041,0.020,
+0.109,0.044,0.089,0.084,0.065,0.223,0.094,0.089,0.069,0.050,
+0.068,0.074,0.108,0.123,0.111,0.113,0.103,0.027,0.100,0.103,
+0.077,0.106,0.092,0.132,0.137,0.116,0.075,0.126,0.105,0.081,
+0.065,0.091,0.131,0.016,0.054,0.080,0.183,0.178,0.090,0.196,
+0.164,0.189,0.095,0.116,0.156,0.159,0.143,0.147,0.236,0.052,
+0.133,0.148,0.205,0.406,0.126,0.187,0.078,0.118,0.110,0.109,
+9.86e-3,0.017,0.013,0.017,0.104,0.022,0.094,0.111,0.082,0.148,
+0.107,0.141,0.118,0.092,0.070,0.130,0.093,0.096,0.077,0.118,
+0.143,0.016,0.104,0.155,0.159,0.169,0.154,0.269,1.973,1.287,
+0.867,1.546,1.307,1.114,0.858,1.059,1.270,0.130,0.576,0.857,
+1.134,0.965,0.619,1.155,1.380,1.123,0.789,0.958,1.328,1.018,
+1.523,0.982,1.398,0.171,1.045,1.162,1.021,1.156,0.732,1.073,
+1.103,1.330,0.874,1.304,0.155,0.186,0.142,0.246,1.740,0.214,
+0.756,1.068,0.836,1.907,0.757,1.215,1.037,0.696,0.536,1.149,
+1.028,0.964,0.786,1.191,1.206,0.148,0.807,1.383,1.263,1.197,
+1.135,2.250,0.133,0.127,0.066,0.097,0.145,0.195,0.114,0.115,
+0.092,0.026,0.060,0.084,0.079,0.117,0.052,0.102,0.100,0.113,
+0.060,0.064,0.141,0.136,0.189,0.107,0.138,0.036,0.125,0.131,
+0.090,0.122,0.063,0.072,0.091,0.136,0.073,0.101,0.016,0.033,
+0.023,0.023,0.164,0.039,0.110,0.142,0.080,0.190,0.082,0.106,
+0.113,0.083,0.053,0.121,0.150,0.182,0.099,0.158,0.121,0.021,
+0.092,0.165,0.107,0.121,0.107,0.199,1.079,0.940,0.713,0.704,
+1.360,1.396,2.786,1.108,1.165,0.236,0.915,1.024,0.742,0.971,
+1.015,1.159,0.093,0.122,0.129,0.078,0.134,0.183,1.113,0.143,
+0.119,0.035,0.170,0.125,0.129,0.181,0.121,0.116,0.853,1.016,
+0.816,0.766,0.114,0.139,0.185,0.130,0.888,0.141,0.400,0.658,
+0.426,0.850,0.755,0.852,0.647,0.485,0.411,0.557,0.885,1.008,
+0.981,0.907,0.907,0.137,0.875,1.087,0.691,0.897,1.012,1.464,
+1.085,0.686,0.552,0.912,0.859,0.667,0.720,0.652,0.943,0.118,
+0.564,0.849,1.272,0.908,0.574,1.141,1.322,1.096,0.863,0.893,
+1.427,1.348,3.240,1.054,1.267,0.159,1.067,1.271,2.492,1.579,
+0.946,1.295,0.939,1.342,0.781,1.042,0.106,0.160,0.142,0.136,
+1.182,0.142,0.943,1.214,0.812,1.330,0.978,1.278,1.019,0.704,
+0.552,1.000,0.919,0.903,0.731,0.920,1.295,0.142,1.227,1.603,
+1.423,1.592,1.430,2.386,2.151,1.155,0.822,1.781,1.123,0.818,
+0.686,1.231,1.119,0.129,0.450,0.845,1.345,1.200,0.697,1.581,
+1.155,0.737,0.466,0.744,0.764,0.469,0.545,0.620,0.715,0.067,
+0.392,0.671,0.594,0.623,0.411,0.759,1.205,0.965,0.561,1.053,
+0.105,0.088,0.064,0.144,0.860,0.093,0.453,0.819,0.744,1.067,
+0.582,1.039,1.402,0.753,0.650,1.374,1.079,0.764,0.678,1.126,
+0.981,0.087,0.816,1.025,1.391,1.114,1.073,2.329,2.285,1.451,
+0.891,1.595,1.657,1.480,1.020,1.244,1.246,0.168,0.660,1.023,
+1.176,1.457,0.618,1.385,1.522,1.472,0.674,1.011,1.628,1.159,
+1.070,1.022,1.422,0.211,0.998,1.315,0.841,1.346,0.753,0.988,
+1.203,1.431,0.687,1.125,0.114,0.156,0.091,0.154,1.401,0.191,
+0.934,1.445,1.259,2.005,0.930,1.493,1.260,0.868,0.724,1.351,
+1.422,1.287,0.952,1.561,1.317,0.125,0.870,1.518,1.284,1.354,
+1.253,2.466,1.388,0.945,0.908,1.196,1.276,1.003,1.085,1.203,
+1.227,0.178,0.714,1.151,0.928,1.116,0.822,1.521,0.085,0.090,
+0.061,0.086,0.082,0.105,0.160,0.099,0.084,0.017,0.086,0.130,
+0.082,0.148,0.083,0.130,0.921,1.014,0.701,0.893,0.090,0.095,
+0.088,0.126,0.987,0.138,0.647,1.024,0.628,1.136,0.807,1.172,
+0.883,0.588,0.513,0.830,1.133,0.982,0.968,1.270,1.036,0.125,
+1.035,1.334,0.988,0.996,1.234,1.858,1.702,0.891,0.748,1.398,
+1.029,0.718,0.661,0.841,1.142,0.122,0.581,1.071,1.499,1.114,
+0.803,2.104,1.171,0.970,0.558,0.891,0.904,0.813,0.897,0.801,
+0.893,0.083,0.631,1.165,1.092,1.098,0.709,1.389,1.194,1.262,
+0.833,1.375,0.096,0.105,0.074,0.135,1.465,0.142,1.014,1.781,
+1.161,1.620,1.273,1.799,1.931,1.051,0.964,2.027,1.459,1.274,
+1.123,1.640,1.970,0.151,1.474,2.446,2.520,2.067,2.154,3.436,
+4.215,2.224,2.139,4.660,2.107,1.175,1.094,1.761,2.415,0.224,
+0.851,1.743,3.716,2.952,1.377,3.481,2.144,1.182,1.040,1.555,
+1.148,0.616,0.575,0.820,1.212,0.090,0.670,0.954,1.435,1.338,
+0.802,1.535,2.054,1.177,0.910,1.716,0.132,0.088,0.070,0.177,
+1.202,0.090,0.568,0.925,1.220,1.185,0.787,1.565,2.542,1.214,
+1.182,2.769,1.629,1.027,0.931,1.648,1.675,0.131,0.989,1.384,
+2.530,1.549,1.476,3.455,2.762,1.333,0.826,1.681,1.396,0.759,
+0.560,0.837,1.288,0.119,0.446,0.805,1.446,1.173,0.534,1.377,
+1.302,0.855,0.475,0.775,0.761,0.514,0.412,0.533,1.001,0.079,
+0.435,0.709,0.896,0.847,0.469,0.897,1.142,0.893,0.603,1.072,
+0.081,0.065,0.046,0.086,1.004,0.083,0.500,0.819,0.919,1.027,
+0.598,1.022,1.208,0.822,0.558,1.280,0.930,0.733,0.434,0.814,
+1.020,0.072,0.546,0.957,1.136,0.951,0.752,1.774,2.204,1.110,
+0.830,1.573,1.413,0.793,0.712,1.172,2.066,0.211,0.574,0.989,
+2.317,1.471,0.794,2.106,0.127,0.095,0.057,0.116,0.097,0.066,
+0.055,0.091,0.126,0.017,0.058,0.091,0.276,0.242,0.094,0.199,
+0.901,0.849,0.988,1.043,0.073,0.053,0.061,0.096,1.011,0.089,
+0.690,0.771,0.804,0.882,0.628,0.942,1.008,0.596,0.581,1.137,
+0.981,0.637,0.563,1.030,1.012,0.090,0.549,0.959,1.398,0.963,
+0.932,1.960,3.265,1.258,1.010,2.512,1.420,0.742,0.699,1.154,
+3.021,0.252,0.813,1.338,5.638,2.730,1.216,3.706,1.785,1.080,
+0.718,1.217,1.070,0.682,0.546,0.822,1.694,0.133,0.645,1.057,
+3.296,2.515,1.041,2.234,1.538,1.198,0.950,1.528,0.108,0.071,
+0.064,0.121,1.221,0.089,0.779,1.029,1.473,1.402,1.037,1.832,
+2.573,1.367,1.253,3.012,1.576,0.870,0.849,1.492,2.139,0.153,
+1.118,2.043,4.090,2.714,2.563,5.962,3.681,1.984,1.354,2.848,
+2.347,1.392,0.937,1.494,1.731,0.184,0.730,1.302,2.080,1.920,
+0.981,2.294,2.085,1.278,0.881,1.457,1.655,1.015,0.809,1.129,
+1.246,0.137,1.193,1.095,0.985,1.404,0.823,1.296,1.459,1.313,
+0.944,1.557,0.131,0.131,0.089,0.178,1.051,0.129,0.750,1.404,
+1.138,1.398,0.978,1.875,1.682,1.006,0.970,1.967,1.526,1.246,
+0.969,1.635,1.245,0.127,0.879,1.399,1.821,1.217,1.264,2.686,
+2.709,1.772,1.062,1.734,1.886,1.268,0.829,0.980,1.337,0.153,
+0.536,0.839,1.303,1.380,0.611,1.374,1.737,1.443,0.665,0.967,
+1.356,0.871,0.747,0.909,1.229,0.153,0.694,1.013,0.878,1.361,
+0.641,1.049,1.384,1.438,0.903,1.312,0.137,0.144,0.085,0.130,
+1.454,0.179,0.908,1.260,1.260,1.624,0.955,1.610,1.237,1.056,
+0.829,1.608,1.241,1.436,0.662,1.226,1.204,0.114,0.740,1.254,
+1.119,1.069,0.858,2.048,2.010,1.100,0.640,1.115,1.546,1.329,
+0.851,1.126,1.883,0.263,0.674,0.881,1.657,1.703,0.749,1.758,
+0.099,0.111,0.059,0.096,0.102,0.122,0.094,0.107,0.140,0.039,
+0.096,0.100,0.166,0.350,0.104,0.158,1.230,1.825,1.512,1.341,
+0.104,0.135,0.109,0.145,1.178,0.170,0.633,0.880,0.917,1.632,
+0.852,1.301,1.140,0.877,0.706,1.201,1.280,1.229,0.985,1.414,
+1.310,0.121,0.776,1.148,1.392,1.195,1.100,2.062,2.135,1.213,
+0.850,1.712,1.183,0.877,0.667,0.997,1.823,0.182,0.675,1.051,
+3.122,2.312,1.000,2.619,1.796,1.497,0.919,1.352,1.322,1.258,
+0.961,1.244,2.195,0.297,0.976,1.320,2.915,5.202,1.372,2.393,
+1.406,1.458,0.985,1.443,0.103,0.105,0.068,0.130,1.340,0.143,
+0.894,1.237,1.252,1.865,1.157,2.176,1.782,1.118,0.945,1.729,
+1.387,1.101,0.822,1.429,1.841,0.145,1.073,1.916,2.446,2.314,
+1.863,3.771,2.399,1.480,0.906,1.881,1.209,0.978,0.612,1.038,
+1.333,0.130,0.535,0.990,1.457,1.127,0.636,1.512,1.709,1.406,
+0.735,1.147,1.198,0.929,0.812,0.874,1.314,0.149,0.833,1.169,
+1.124,1.336,0.741,1.436,1.365,1.405,0.874,1.559,0.132,0.145,
+0.105,0.214,1.258,0.147,0.733,1.329,0.958,1.488,0.912,1.671,
+1.425,0.940,0.702,1.673,1.227,1.039,0.731,1.321,1.530,0.158,
+0.872,1.808,1.770,1.439,1.301,2.974,0.147,0.115,0.068,0.145,
+0.113,0.118,0.066,0.092,0.094,0.016,0.053,0.077,0.102,0.119,
+0.056,0.129,0.088,0.094,0.044,0.063,0.110,0.127,0.071,0.072,
+0.110,0.021,0.125,0.127,0.076,0.118,0.063,0.093,0.068,0.095,
+0.051,0.083,0.011,0.016,9.19e-3,0.011,0.097,0.023,0.095,0.113,
+0.070,0.134,0.077,0.112,0.099,0.089,0.056,0.133,0.136,0.144,
+0.072,0.129,0.121,0.018,0.078,0.149,0.127,0.114,0.095,0.214,
+1.453,0.956,0.639,0.845,1.251,1.095,0.918,0.948,1.342,0.204,
+0.700,0.965,1.040,1.208,1.072,1.425,0.081,0.087,0.052,0.061,
+0.082,0.096,0.125,0.067,0.093,0.020,0.075,0.088,0.101,0.171,
+0.096,0.130,0.904,1.190,0.711,0.932,0.101,0.117,0.088,0.104,
+1.195,0.153,0.576,0.994,0.701,1.269,0.855,1.231,0.959,0.708,
+0.524,0.846,1.134,1.077,0.787,1.024,1.451,0.154,0.972,1.375,
+1.207,1.256,1.375,2.379,1.636,0.868,0.649,1.235,1.016,0.676,
+0.553,0.765,1.276,0.130,0.653,1.079,1.404,1.094,0.837,2.000,
+1.515,1.125,0.784,1.108,1.176,1.092,1.015,0.880,1.451,0.151,
+1.000,1.364,1.527,1.859,1.259,1.958,1.228,1.294,0.912,1.350,
+0.095,0.108,0.081,0.118,1.508,0.135,0.987,1.492,1.215,1.613,
+1.229,1.872,1.515,1.040,0.942,1.595,1.159,0.991,0.747,1.076,
+2.041,0.171,1.456,2.483,2.346,2.183,1.990,3.702,3.965,1.729,
+1.355,3.069,1.550,0.954,0.814,1.640,1.884,0.165,0.700,1.535,
+2.468,1.688,1.077,2.807,1.774,1.001,0.641,1.106,0.973,0.648,
+0.578,0.888,1.142,0.099,0.742,1.288,1.000,0.919,0.617,1.315,
+1.437,1.245,0.720,1.753,0.117,0.115,0.072,0.207,1.093,0.113,
+0.614,1.146,1.122,1.301,0.781,1.633,2.023,1.083,0.942,2.565,
+1.263,0.846,0.743,1.611,1.445,0.110,0.742,1.724,2.285,1.533,
+1.411,4.027,2.977,1.598,1.257,2.428,1.387,1.006,1.029,1.264,
+1.309,0.133,0.721,1.126,1.459,1.393,0.699,1.737,1.548,1.152,
+0.603,0.979,1.090,0.893,0.622,0.834,1.361,0.170,1.700,1.320,
+0.967,1.266,0.923,1.218,1.123,1.140,0.571,1.185,0.078,0.087,
+0.061,0.108,1.212,0.134,1.564,1.311,1.104,1.616,0.886,1.534,
+1.374,1.044,0.793,1.633,1.142,0.971,0.680,1.374,1.310,0.098,
+0.854,1.406,1.453,1.390,1.061,2.512,2.157,1.306,1.014,1.520,
+1.462,1.029,0.900,1.407,1.854,0.221,0.778,1.478,1.866,1.674,
+1.317,2.562,0.124,0.115,0.059,0.107,0.084,0.076,0.072,0.102,
+0.102,0.013,0.075,0.110,0.135,0.172,0.095,0.192,1.277,1.394,
+0.790,1.440,0.084,0.096,0.076,0.125,1.409,0.148,0.908,1.308,
+1.019,1.389,1.086,1.862,1.634,1.119,0.824,1.612,1.466,1.212,
+1.005,1.805,2.343,0.187,1.196,2.052,1.848,1.527,1.670,3.191,
+4.006,1.774,1.509,2.902,1.715,1.053,1.036,1.493,2.237,0.184,
+1.030,2.001,3.340,2.268,1.609,4.632,2.298,1.509,0.904,1.568,
+1.441,1.177,0.880,1.348,1.922,0.147,1.050,1.996,2.049,2.197,
+1.342,3.133,2.099,1.852,1.226,2.321,0.121,0.109,0.077,0.166,
+2.237,0.163,1.392,2.425,2.202,2.498,1.963,3.525,4.579,2.061,
+1.880,4.482,2.566,1.857,1.499,2.898,3.903,0.224,2.562,4.751,
+4.738,3.352,3.549,4.523,3.232,2.556,1.713,2.957,2.553,1.429,
+1.383,1.579,2.785,0.238,1.638,1.888,3.714,2.542,1.888,3.119,
+2.604,1.487,1.242,1.536,1.521,0.910,0.906,0.897,1.505,0.114,
+0.957,1.116,1.340,1.192,0.930,1.436,1.740,1.214,1.093,1.564,
+0.153,0.119,0.105,0.184,1.184,0.092,0.679,0.878,1.283,1.227,
+0.963,1.368,2.809,1.368,1.391,2.752,1.999,1.420,1.265,1.774,
+1.814,0.138,1.006,1.414,2.299,1.427,1.465,2.665,2.838,1.460,
+0.975,1.552,1.427,0.882,0.657,0.915,1.328,0.123,0.761,0.902,
+1.290,1.188,0.695,1.198,1.665,1.045,0.694,0.950,0.930,0.550,
+0.538,0.589,1.102,0.099,0.593,0.875,0.886,1.214,0.626,0.872,
+1.153,0.971,0.618,0.888,0.114,0.072,0.055,0.089,0.913,0.073,
+0.509,0.680,0.812,0.844,0.552,0.767,1.203,0.788,0.588,1.094,
+1.128,0.832,0.610,0.910,1.084,0.092,0.627,0.906,1.137,1.014,
+0.824,1.451,2.516,1.029,0.888,1.258,1.724,0.859,0.788,1.059,
+1.266,0.144,0.646,0.955,1.399,1.120,1.044,1.789,0.170,0.130,
+0.070,0.109,0.116,0.074,0.066,0.081,0.098,0.016,0.066,0.083,
+0.150,0.181,0.101,0.172,1.026,0.688,0.613,0.727,0.085,0.058,
+0.055,0.080,0.844,0.107,0.457,0.587,0.878,0.744,0.618,0.764,
+1.024,0.537,0.495,0.901,1.142,0.732,0.600,0.934,1.141,0.106,
+0.651,1.024,0.962,0.852,0.888,1.620,3.384,1.153,1.115,2.102,
+1.347,0.684,0.752,0.932,1.286,0.127,0.698,1.015,1.869,1.234,
+1.185,2.549,2.123,1.052,0.907,1.239,1.228,0.686,0.647,0.779,
+1.051,0.078,0.669,0.871,1.297,1.133,0.905,1.506,1.709,0.928,
+0.802,1.151,0.095,0.056,0.055,0.090,0.815,0.062,0.515,0.720,
+0.827,0.788,0.715,1.076,1.864,0.807,0.872,1.794,1.137,0.545,
+0.627,0.997,1.349,0.082,0.836,1.379,1.904,1.363,1.561,3.077,
+3.751,2.129,1.735,2.726,1.737,1.175,1.071,1.310,1.386,0.137,
+0.785,1.207,1.731,1.532,1.471,2.036,2.472,1.548,1.100,1.412,
+1.260,0.858,0.932,0.906,1.286,0.125,0.845,1.206,0.969,1.070,
+0.825,1.257,1.340,1.042,0.882,1.112,0.104,0.101,0.083,0.125,
+0.727,0.074,0.524,0.698,0.720,0.889,0.698,1.069,1.580,0.829,
+0.773,1.520,1.196,1.069,0.753,1.064,1.049,0.099,0.618,1.227,
+1.216,0.937,1.034,1.990,2.524,1.655,0.896,1.413,1.360,1.020,
+0.708,0.928,0.941,0.111,0.554,0.771,0.908,0.977,0.602,1.004,
+1.586,1.048,0.721,0.951,0.731,0.303,0.520,0.566,0.837,0.092,
+0.634,0.894,0.772,0.853,0.567,0.779,1.074,1.149,0.680,0.910,
+0.075,0.087,0.067,0.088,0.847,0.123,0.598,0.708,0.577,1.026,
+0.576,0.803,0.954,0.703,0.504,0.779,0.888,0.723,0.488,0.638,
+0.764,0.073,0.510,0.673,0.731,0.712,0.566,1.085,1.949,1.131,
+0.777,1.219,1.295,1.054,1.125,1.121,1.075,0.139,0.745,1.019,
+0.981,1.014,1.055,1.557,0.124,0.147,0.079,0.129,0.092,0.104,
+0.102,0.104,0.093,0.024,0.104,0.125,0.093,0.172,0.120,0.160,
+0.969,1.208,0.903,0.973,0.100,0.206,0.098,0.109,0.830,0.132,
+0.667,0.796,0.622,1.321,1.011,1.031,0.788,0.546,0.562,0.849,
+1.136,1.130,0.859,1.064,0.985,0.091,0.855,1.204,0.826,0.850,
+1.027,1.464,1.842,1.044,0.812,1.484,0.979,0.646,0.705,0.869,
+0.779,0.075,0.471,0.780,1.072,0.876,0.798,1.532,1.704,1.156,
+0.862,1.449,1.092,0.864,0.775,1.181,0.889,0.079,0.708,1.048,
+0.942,1.140,0.884,1.544,0.950,1.023,0.767,1.126,0.068,0.076,
+0.051,0.083,0.646,0.061,0.532,0.771,0.635,0.844,0.861,1.172,
+1.277,0.744,0.739,1.290,1.255,0.777,0.616,1.041,1.050,0.081,
+0.783,1.344,1.359,1.256,1.436,2.405,2.616,1.937,1.134,1.902,
+1.351,1.300,0.775,0.952,1.188,0.133,0.668,1.026,1.402,1.289,
+0.837,1.537,2.239,1.656,1.036,1.415,1.370,1.196,1.208,1.047,
+1.595,0.169,1.049,1.677,1.123,1.487,0.888,1.404,1.388,1.640,
+1.495,1.384,0.158,0.183,0.139,0.215,1.346,0.135,0.757,1.005,
+0.922,1.358,0.819,1.222,1.629,1.028,0.922,1.662,1.472,1.333,
+0.916,1.266,1.588,0.152,0.878,1.431,1.656,1.467,1.242,2.935,
+0.202,0.217,0.101,0.156,0.280,0.486,0.100,0.134,0.131,0.034,
+0.097,0.125,0.118,0.165,0.093,0.146,0.187,0.167,0.096,0.122,
+0.158,0.206,0.110,0.099,0.186,0.035,0.127,0.277,0.111,0.198,
+0.096,0.144,0.124,0.172,0.108,0.112,0.019,0.031,0.020,0.023,
+0.424,0.043,0.215,0.210,0.138,0.194,0.106,0.138,0.209,0.158,
+0.106,0.194,0.317,0.284,0.159,0.205,0.219,0.029,0.142,0.207,
+0.204,0.215,0.156,0.309,1.498,1.097,0.725,0.929,1.027,0.946,
+0.827,0.827,1.409,0.250,1.266,1.240,0.942,1.142,1.287,1.436,
+0.124,0.144,0.071,0.093,0.104,0.103,0.086,0.068,0.147,0.033,
+0.123,0.124,0.115,0.189,0.139,0.138,1.008,1.409,0.752,0.780,
+0.164,0.134,0.105,0.118,1.068,0.127,0.660,0.704,0.609,0.927,
+0.766,0.797,0.956,0.805,0.606,0.741,2.069,1.433,0.848,0.970,
+1.285,0.146,1.417,1.316,0.869,0.976,1.123,1.427,1.413,0.834,
+0.630,1.264,0.832,0.581,0.488,0.595,0.957,0.097,0.585,0.817,
+0.970,0.841,0.816,1.340,1.771,1.273,0.843,1.417,1.294,1.100,
+0.821,0.885,1.505,0.125,0.964,1.261,1.180,1.436,1.070,1.467,
+1.034,1.093,0.852,1.035,0.179,0.101,0.087,0.105,1.011,0.096,
+0.789,0.930,0.814,1.218,0.887,1.188,1.666,0.901,0.871,1.239,
+3.697,1.080,0.816,1.001,1.508,0.129,1.287,1.658,1.664,1.604,
+1.545,2.384,3.046,1.594,1.114,2.179,1.154,0.826,0.687,0.900,
+1.210,0.111,0.585,0.961,1.679,1.205,0.967,1.940,1.442,0.872,
+0.632,0.989,0.797,0.553,0.546,0.665,1.056,0.090,0.565,1.383,
+0.888,0.768,0.572,1.118,1.278,1.142,0.714,1.226,0.113,0.120,
+0.064,0.142,0.904,0.082,0.453,0.786,0.779,1.009,0.598,1.150,
+1.843,1.009,0.948,2.454,1.332,1.127,0.772,1.298,1.546,0.108,
+0.731,1.223,1.760,1.279,1.247,2.967,2.262,1.439,0.817,1.522,
+1.544,1.195,0.667,0.883,1.095,0.121,0.668,0.958,1.055,1.135,
+0.710,1.291,1.501,1.096,0.555,0.883,1.102,1.233,0.560,0.648,
+1.292,0.208,0.721,1.345,0.886,1.295,0.556,0.985,1.043,0.991,
+0.592,0.983,0.084,0.094,0.057,0.094,1.460,0.114,0.807,1.186,
+0.940,1.148,0.638,1.145,1.403,0.849,0.681,1.358,1.325,1.026,
+0.711,1.101,1.439,0.118,0.834,1.301,1.336,1.343,0.948,2.017,
+1.834,1.009,0.810,1.224,1.448,0.958,0.866,1.126,1.535,0.175,
+1.178,1.357,1.316,1.146,2.226,2.037,0.190,0.116,0.069,0.118,
+0.094,0.088,0.074,0.089,0.117,0.019,0.111,0.136,0.131,0.164,
+0.163,0.178,1.022,1.067,0.726,1.121,0.088,0.080,0.074,0.113,
+1.169,0.122,0.782,0.991,0.840,1.187,1.009,1.277,1.199,0.830,
+0.777,1.458,1.462,1.069,0.949,1.456,1.910,0.156,1.266,1.912,
+1.360,1.247,1.459,2.317,2.561,1.211,0.995,1.891,1.235,0.833,
+0.782,1.076,1.423,0.122,0.745,1.190,1.936,1.346,1.378,2.904,
+1.410,0.894,0.692,1.239,0.791,0.558,0.650,0.793,1.124,0.084,
+0.841,1.225,1.216,1.169,0.977,1.684,1.471,1.337,1.001,1.908,
+0.117,0.087,0.074,0.155,1.449,0.114,0.937,1.401,1.593,1.642,
+1.428,2.160,2.831,1.437,1.440,3.121,2.218,1.367,1.286,2.085,
+2.716,0.148,1.840,3.029,3.932,2.603,2.905,4.819,0.214,0.168,
+0.129,0.190,0.156,0.127,0.113,0.115,0.143,0.018,0.112,0.125,
+0.168,0.153,0.115,0.160,0.161,0.134,0.096,0.107,0.118,0.098,
+0.104,0.094,0.105,0.013,0.088,0.107,0.096,0.112,0.089,0.119,
+0.103,0.091,0.085,0.102,0.012,0.021,0.013,0.015,0.078,8.94e-3,
+0.062,0.061,0.065,0.092,0.093,0.092,0.146,0.103,0.097,0.151,
+0.151,0.279,0.116,0.136,0.148,0.025,0.097,0.117,0.133,0.129,
+0.117,0.189,0.206,0.137,0.106,0.132,0.140,0.104,0.091,0.087,
+0.131,0.024,0.364,0.142,0.099,0.131,0.106,0.116,0.153,0.130,
+0.086,0.094,0.112,0.085,0.092,0.080,0.143,0.024,0.125,0.178,
+0.083,0.135,0.080,0.109,0.093,0.099,0.084,0.085,0.013,0.015,
+0.024,0.013,0.123,0.017,0.074,0.078,0.068,0.109,0.071,0.084,
+0.089,0.070,0.059,0.095,0.103,0.093,0.083,0.100,0.104,0.011,
+0.086,0.108,0.097,0.098,0.093,0.160,0.144,0.083,0.058,0.087,
+0.119,0.075,0.072,0.082,0.105,0.016,0.080,0.088,0.088,0.089,
+0.086,0.137,0.014,0.017,0.010,0.012,0.013,0.012,0.016,0.010,
+0.014,5.26e-3,0.014,0.015,0.012,0.021,0.016,0.018,0.070,0.063,
+0.070,0.065,9.86e-3,9.28e-3,0.014,9.11e-3,0.067,0.013,0.063,0.060,
+0.051,0.081,0.081,0.075,0.064,0.038,0.046,0.072,0.091,0.072,
+0.067,0.088,0.090,0.014,0.073,0.098,0.067,0.085,0.098,0.148,
+0.195,0.086,0.075,0.126,0.116,0.060,0.062,0.069,0.103,0.014,
+0.067,0.080,0.132,0.103,0.084,0.182,0.160,0.115,0.092,0.124,
+0.137,0.099,0.089,0.098,0.120,0.016,0.083,0.118,0.103,0.125,
+0.098,0.177,0.113,0.077,0.089,0.103,0.024,0.013,0.014,0.013,
+0.083,0.010,0.066,0.095,0.084,0.097,0.092,0.114,0.136,0.070,
+0.071,0.130,0.159,0.077,0.075,0.103,0.134,0.015,0.097,0.159,
+0.158,0.158,0.169,0.311,0.188,0.124,0.098,0.136,0.128,0.105,
+0.081,0.096,0.093,0.014,0.061,0.072,0.091,0.102,0.082,0.106,
+0.137,0.107,0.086,0.080,0.107,0.098,0.094,0.082,0.089,0.021,
+0.087,0.088,0.051,0.091,0.072,0.084,0.070,0.076,0.063,0.063,
+9.19e-3,0.012,9.61e-3,0.011,0.052,7.85e-3,0.051,0.048,0.041,0.061,
+0.062,0.072,0.074,0.056,0.043,0.076,0.078,0.091,0.060,0.071,
+0.081,0.011,0.054,0.083,0.080,0.074,0.075,0.122,0.162,0.143,
+0.077,0.092,0.120,0.148,0.089,0.091,0.094,0.016,0.082,0.075,
+0.070,0.087,0.053,0.082,0.148,0.151,0.087,0.083,0.130,0.076,
+0.104,0.103,0.122,0.028,0.103,0.118,0.070,0.125,0.082,0.084,
+0.075,0.131,0.072,0.075,0.011,0.024,0.019,0.016,0.104,0.025,
+0.076,0.079,0.047,0.109,0.073,0.078,0.069,0.058,0.055,0.060,
+0.078,0.090,0.063,0.070,0.092,0.010,0.062,0.076,0.066,0.070,
+0.066,0.112,0.132,0.086,0.058,0.073,0.105,0.104,0.096,0.074,
+0.089,0.017,0.068,0.085,0.077,0.092,0.085,0.115,0.011,0.020,
+0.012,0.012,0.015,0.024,0.024,0.014,0.012,9.11e-3,0.021,0.019,
+7.44e-3,0.026,0.018,0.014,0.079,0.137,0.092,0.091,0.013,0.046,
+0.024,0.017,0.088,0.029,0.087,0.078,0.044,0.119,0.127,0.095,
+0.054,0.038,0.055,0.063,0.086,0.118,0.095,0.098,0.121,0.015,
+0.099,0.110,0.067,0.071,0.118,0.120,0.130,0.074,0.056,0.097,
+0.073,0.056,0.051,0.061,0.065,6.69e-3,0.045,0.057,0.073,0.071,
+0.059,0.114,0.112,0.097,0.073,0.093,0.093,0.098,0.084,0.099,
+0.081,0.014,0.078,0.094,0.063,0.103,0.082,0.104,0.066,0.083,
+0.073,0.083,7.44e-3,0.011,8.36e-3,8.61e-3,0.057,9.69e-3,0.060,0.064,
+0.054,0.075,0.078,0.087,0.080,0.049,0.055,0.084,0.107,0.063,
+0.054,0.081,0.081,8.77e-3,0.073,0.102,0.091,0.103,0.119,0.173,
+0.173,0.138,0.086,0.128,0.103,0.121,0.066,0.074,0.102,0.012,
+0.068,0.066,0.091,0.082,0.056,0.098,0.153,0.151,0.083,0.099,
+0.128,0.178,0.117,0.101,0.190,0.032,0.126,0.178,0.076,0.141,
+0.078,0.109,0.095,0.116,0.098,0.097,0.017,0.019,0.021,0.022,
+0.363,0.030,0.124,0.116,0.078,0.109,0.108,0.098,0.090,0.069,
+0.055,0.101,0.130,0.101,0.081,0.119,0.144,0.021,0.092,0.120,
+0.105,0.114,0.101,0.190,0.013,0.016,0.010,0.012,0.022,0.031,
+0.014,0.014,0.019,6.52e-3,0.015,9.86e-3,0.010,0.016,0.013,0.014,
+0.015,0.025,0.013,0.016,0.027,0.044,0.025,0.019,0.026,0.019,
+0.033,0.044,9.78e-3,0.027,0.014,0.017,0.015,0.025,0.022,0.012,
+7.02e-3,9.78e-3,0.013,4.60e-3,0.271,0.028,0.104,0.064,0.024,0.031,
+0.023,0.015,0.011,9.11e-3,7.35e-3,0.010,0.043,0.023,0.019,0.018,
+0.038,6.60e-3,0.024,0.024,0.015,0.016,0.016,0.023,0.138,0.139,
+0.078,0.083,0.099,0.119,0.112,0.089,0.189,0.033,0.141,0.128,
+0.088,0.125,0.138,0.190,0.013,0.030,0.014,0.012,0.017,0.032,
+0.027,0.012,0.021,0.017,0.042,0.025,0.011,0.028,0.024,0.016,
+0.090,0.193,0.099,0.089,0.018,0.029,0.031,0.018,0.135,0.031,
+0.106,0.101,0.053,0.126,0.117,0.097,0.093,0.071,0.063,0.070,
+0.271,0.139,0.110,0.110,0.144,0.028,0.159,0.150,0.079,0.106,
+0.128,0.155,0.117,0.082,0.066,0.114,0.096,0.058,0.049,0.059,
+0.109,0.012,0.063,0.087,0.080,0.085,0.077,0.126,0.161,0.148,
+0.087,0.133,0.210,0.162,0.111,0.108,0.146,0.023,0.145,0.155,
+0.101,0.164,0.122,0.153,0.104,0.125,0.105,0.112,0.052,0.017,
+0.019,0.014,0.138,0.019,0.110,0.120,0.076,0.144,0.109,0.128,
+0.229,0.075,0.070,0.107,1.613,0.140,0.107,0.122,0.202,0.018,
+0.136,0.164,0.171,0.176,0.153,0.220,0.198,0.132,0.100,0.176,
+0.145,0.093,0.083,0.167,0.136,0.013,0.060,0.111,0.136,0.108,
+0.083,0.167,0.135,0.096,0.066,0.090,0.094,0.075,0.065,0.089,
+0.100,0.011,0.071,0.141,0.079,0.083,0.064,0.115,0.097,0.088,
+0.072,0.113,8.02e-3,0.011,7.85e-3,0.019,0.119,0.011,0.057,0.083,
+0.068,0.088,0.065,0.110,0.132,0.089,0.089,0.204,0.119,0.106,
+0.084,0.189,0.159,0.016,0.070,0.164,0.169,0.131,0.130,0.329,
+0.252,0.156,0.110,0.182,0.169,0.143,0.104,0.122,0.137,0.021,
+0.091,0.138,0.114,0.154,0.107,0.162,0.197,0.168,0.093,0.122,
+0.164,0.169,0.120,0.123,0.184,0.036,0.141,0.240,0.125,0.221,
+0.104,0.174,0.109,0.131,0.087,0.121,0.015,0.019,0.016,0.020,
+0.443,0.035,0.179,0.214,0.122,0.170,0.095,0.142,0.131,0.095,
+0.083,0.161,0.184,0.142,0.120,0.196,0.178,0.016,0.133,0.185,
+0.156,0.163,0.140,0.258,0.139,0.096,0.079,0.098,0.119,0.095,
+0.096,0.105,0.138,0.021,0.118,0.129,0.102,0.116,0.182,0.191,
+0.014,0.012,6.77e-3,0.011,9.94e-3,0.014,0.012,9.94e-3,0.012,3.93e-3,
+0.015,0.014,0.013,0.022,0.024,0.022,0.082,0.107,0.080,0.096,
+9.69e-3,0.013,0.015,0.017,0.126,0.020,0.099,0.117,0.068,0.137,
+0.125,0.125,0.092,0.066,0.070,0.108,0.133,0.105,0.107,0.143,
+0.180,0.021,0.157,0.199,0.113,0.131,0.183,0.240,0.187,0.122,
+0.091,0.145,0.103,0.078,0.082,0.110,0.113,0.014,0.072,0.110,
+0.130,0.118,0.108,0.220,0.125,0.091,0.075,0.111,0.100,0.085,
+0.084,0.095,0.099,0.011,0.090,0.125,0.102,0.123,0.106,0.184,
+0.125,0.124,0.099,0.153,0.013,0.011,8.69e-3,0.016,0.120,0.013,
+0.098,0.153,0.126,0.153,0.137,0.196,0.199,0.113,0.118,0.221,
+0.318,0.130,0.118,0.197,0.218,0.016,0.187,0.283,0.301,0.249,
+0.283,0.425,2.340,1.591,1.217,2.414,1.533,1.150,0.917,1.184,
+1.385,0.142,1.059,1.314,1.904,1.519,1.067,1.808,1.590,1.060,
+0.706,1.062,1.019,0.674,0.654,0.783,0.933,0.083,0.645,0.822,
+0.833,0.876,0.737,1.099,1.225,0.907,0.653,0.993,0.085,0.074,
+0.058,0.116,0.807,0.079,0.557,0.651,0.671,0.777,0.663,0.963,
+1.222,0.669,0.518,1.138,0.883,0.656,0.528,0.818,1.185,0.079,
+0.684,0.891,1.182,0.643,0.824,1.654,2.297,1.425,0.867,1.813,
+1.462,1.008,0.833,0.928,1.058,0.117,0.685,0.850,0.982,1.039,
+0.632,1.167,1.680,1.466,0.737,1.075,1.100,0.695,0.809,0.724,
+1.309,0.163,0.900,1.394,0.822,1.101,0.723,1.009,1.491,1.219,
+0.816,1.014,0.119,0.108,0.095,0.120,1.261,0.139,0.949,1.245,
+0.832,1.059,0.853,1.034,0.986,0.681,0.445,0.835,1.115,0.904,
+0.645,0.969,1.013,0.090,0.754,1.294,0.918,0.845,0.841,1.757,
+1.635,0.837,0.556,0.999,1.539,1.033,0.894,1.005,1.454,0.185,
+0.726,0.939,1.142,1.171,0.860,1.438,0.171,0.148,0.080,0.127,
+0.171,0.149,0.117,0.126,0.162,0.032,0.130,0.157,0.192,0.293,
+0.161,0.258,0.886,0.785,0.806,0.983,0.113,0.103,0.126,0.127,
+1.595,0.411,0.817,0.859,0.693,1.248,0.863,0.875,0.713,0.502,
+0.409,0.641,1.141,0.879,0.769,1.015,1.110,0.145,0.722,1.002,
+0.893,0.879,0.931,1.348,1.737,0.719,0.534,1.090,0.909,0.551,
+0.498,0.631,1.030,0.090,0.487,0.688,1.230,1.002,0.732,1.492,
+1.607,1.090,0.601,0.878,1.057,0.791,0.645,0.723,1.048,0.087,
+0.713,0.958,1.206,1.216,0.943,1.810,1.155,1.014,1.054,1.192,
+0.105,0.077,0.089,0.120,2.325,0.185,0.893,1.130,1.097,1.324,
+1.193,1.438,1.386,0.768,0.663,1.231,0.999,0.590,0.706,0.998,
+2.298,0.154,1.064,1.640,1.965,1.498,1.676,2.886,0.148,0.120,
+0.087,0.133,0.111,0.106,0.082,0.098,0.089,0.013,0.051,0.071,
+0.087,0.091,0.078,0.113,0.124,0.119,0.091,0.110,0.118,0.108,
+0.109,0.098,0.107,0.021,0.078,0.106,0.067,0.096,0.086,0.097,
+0.072,0.077,0.047,0.064,0.012,0.015,0.012,0.013,0.057,0.016,
+0.056,0.067,0.041,0.069,0.063,0.077,0.076,0.051,0.037,0.070,
+0.083,0.090,0.055,0.075,0.074,9.44e-3,0.055,0.077,0.078,0.064,
+0.082,0.144,0.131,0.128,0.066,0.104,0.101,0.107,0.084,0.087,
+0.067,0.016,0.052,0.057,0.053,0.073,0.052,0.072,0.138,0.221,
+0.080,0.087,0.113,0.088,0.105,0.073,0.130,0.052,0.100,0.122,
+0.058,0.119,0.074,0.082,0.077,0.113,0.068,0.064,0.013,0.025,
+0.024,0.016,0.126,0.045,0.117,0.134,0.080,0.118,0.086,0.084,
+0.064,0.045,0.035,0.053,0.074,0.079,0.057,0.071,0.068,0.012,
+0.062,0.082,0.051,0.056,0.057,0.099,0.108,0.083,0.052,0.063,
+0.112,0.122,0.107,0.096,0.103,0.027,0.075,0.077,0.058,0.089,
+0.083,0.098,0.014,0.022,0.012,0.012,0.020,0.031,0.033,0.017,
+0.018,0.017,0.030,0.018,9.11e-3,0.032,0.023,0.018,0.065,0.118,
+0.115,0.096,0.018,0.040,0.040,0.018,0.298,0.218,0.160,0.124,
+0.071,0.308,0.179,0.110,0.053,0.040,0.043,0.055,0.099,0.106,
+0.101,0.111,0.103,0.034,0.101,0.093,0.057,0.094,0.105,0.116,
+0.163,0.114,0.072,0.113,0.090,0.072,0.059,0.074,0.083,0.011,
+0.046,0.069,0.094,0.103,0.090,0.153,0.176,0.145,0.087,0.125,
+0.165,0.146,0.120,0.139,0.115,0.020,0.104,0.124,0.121,0.179,
+0.140,0.195,0.078,0.103,0.099,0.106,9.53e-3,0.015,0.014,0.016,
+0.151,0.039,0.106,0.108,0.091,0.156,0.166,0.155,0.100,0.069,
+0.060,0.099,0.097,0.073,0.072,0.092,0.138,0.015,0.093,0.137,
+0.138,0.124,0.154,0.233,1.549,1.409,1.016,1.589,1.059,0.867,
+0.654,0.862,1.273,0.106,0.607,0.893,0.830,0.719,0.557,0.969,
+1.866,1.468,0.835,1.036,1.567,1.237,1.101,1.012,2.924,0.247,
+1.323,2.644,0.873,1.195,0.699,1.156,1.015,1.269,0.772,0.946,
+0.132,0.161,0.132,0.193,1.049,0.130,0.906,1.094,0.699,1.145,
+0.825,1.222,0.950,0.636,0.460,0.856,0.887,0.814,0.668,0.928,
+1.214,0.122,0.929,1.406,1.161,0.911,1.162,2.166,0.140,0.128,
+0.061,0.103,0.134,0.157,0.087,0.122,0.090,0.020,0.077,0.100,
+0.064,0.087,0.057,0.092,0.139,0.144,0.074,0.087,0.172,0.169,
+0.152,0.119,0.175,0.045,0.158,0.223,0.061,0.110,0.069,0.091,
+0.084,0.137,0.113,0.085,0.015,0.032,0.035,0.022,0.140,0.038,
+0.157,0.153,0.065,0.132,0.102,0.100,0.096,0.071,0.044,0.087,
+0.133,0.137,0.098,0.136,0.124,0.020,0.102,0.228,0.095,0.091,
+0.097,0.194,1.765,1.007,0.718,0.807,1.186,1.205,1.092,1.097,
+1.177,0.249,1.149,1.082,0.672,0.971,1.011,1.381,0.119,0.161,
+0.096,0.086,0.113,0.173,0.140,0.086,0.159,0.047,0.192,0.166,
+0.082,0.167,0.132,0.137,1.035,0.896,0.876,0.699,0.132,0.114,
+0.143,0.106,0.812,0.143,0.290,0.393,0.412,0.642,0.711,0.753,
+0.589,0.437,0.442,0.444,0.806,0.813,0.768,0.685,0.856,0.121,
+1.039,1.007,0.569,0.717,0.956,1.202,1.100,0.665,0.514,0.813,
+0.717,0.584,0.435,0.508,0.674,0.079,0.586,0.661,0.560,0.570,
+0.573,0.856,1.364,1.222,0.766,0.960,1.201,1.221,0.987,0.807,
+1.094,0.141,1.242,1.220,0.766,1.117,0.911,1.061,0.854,0.957,
+0.862,0.987,0.103,0.115,0.128,0.118,1.048,0.126,1.555,1.175,
+0.656,1.075,1.040,1.097,0.883,0.599,0.512,0.864,1.149,0.724,
+0.643,0.793,1.210,0.121,1.362,1.423,1.268,1.227,1.260,1.644,
+1.991,1.072,0.775,1.517,0.924,0.695,0.703,0.830,0.958,0.095,
+0.574,0.791,0.959,0.847,0.639,1.180,1.241,0.804,0.494,0.703,
+0.786,0.536,0.532,0.562,0.978,0.076,0.509,0.901,0.524,0.609,
+0.457,0.739,0.954,0.836,0.495,0.785,0.082,0.078,0.055,0.114,
+0.731,0.070,0.496,0.739,0.544,0.752,0.590,0.946,1.003,0.577,
+0.456,0.942,0.852,0.571,0.483,0.836,0.822,0.067,0.525,0.881,
+0.994,0.747,0.791,1.709,1.980,1.331,0.745,1.295,1.370,1.021,
+0.854,1.000,0.949,0.109,0.797,1.087,0.879,0.917,0.553,1.166,
+1.526,1.290,0.769,1.094,1.303,1.035,1.215,1.034,1.069,0.133,
+1.120,1.734,0.610,0.879,0.601,0.968,1.059,1.144,0.727,0.904,
+0.091,0.122,0.094,0.119,1.223,0.145,0.998,1.461,0.693,1.186,
+0.855,1.227,0.986,0.699,0.519,0.930,1.179,0.951,0.754,1.144,
+1.130,0.100,0.828,1.645,0.930,0.886,0.883,1.725,1.667,0.975,
+0.837,1.023,1.323,1.051,1.080,1.089,1.672,0.202,1.171,1.170,
+1.040,1.079,1.160,1.569,0.115,0.110,0.075,0.092,0.104,0.134,
+0.120,0.104,0.125,0.026,0.148,0.140,0.092,0.157,0.124,0.138,
+1.122,1.270,0.911,0.980,0.113,0.125,0.127,0.138,2.543,0.425,
+1.070,1.376,0.994,2.039,1.270,1.304,0.868,0.645,0.570,0.768,
+1.175,0.969,1.012,1.189,1.325,0.161,1.426,1.654,0.958,1.116,
+1.339,1.767,1.624,0.812,0.742,1.151,0.841,0.626,0.632,0.655,
+0.975,0.104,0.675,0.830,1.059,0.810,0.799,1.406,1.320,1.002,
+0.730,0.943,0.944,0.826,0.818,0.769,0.982,0.083,1.059,1.137,
+0.862,0.902,1.050,1.263,1.457,1.303,0.955,1.319,0.105,0.099,
+0.104,0.131,1.644,0.150,1.333,1.735,1.132,1.423,1.357,1.591,
+1.670,0.908,0.848,1.593,1.459,1.078,1.127,1.495,1.740,0.139,
+1.667,2.242,2.020,1.522,1.828,2.675,3.155,1.541,1.456,3.081,
+1.379,0.834,0.748,1.152,1.435,0.114,0.683,1.106,2.056,1.497,
+0.991,1.948,1.614,0.891,0.703,0.964,0.826,0.486,0.474,0.588,
+0.832,0.059,0.534,0.715,0.844,0.782,0.586,1.029,1.178,0.803,
+0.686,1.120,0.084,0.066,0.066,0.123,0.704,0.055,0.435,0.645,
+0.683,0.754,0.620,1.018,1.695,0.790,0.745,1.566,1.076,0.735,
+0.720,1.036,1.203,0.082,0.692,1.127,1.539,0.960,1.094,2.485,
+2.260,1.192,0.818,1.504,1.128,0.689,0.496,0.692,0.831,0.073,
+0.424,0.663,0.899,0.775,0.507,1.071,1.237,0.795,0.509,0.709,
+0.640,0.420,0.403,0.438,0.769,0.060,0.438,0.763,0.642,0.699,
+0.455,0.962,0.879,0.654,0.533,0.742,0.054,0.051,0.040,0.062,
+0.654,0.051,0.416,0.596,0.719,0.631,0.529,0.730,0.864,0.551,
+0.391,0.768,0.738,0.635,0.396,0.639,0.723,0.050,0.528,0.791,
+0.798,0.668,0.684,1.389,2.179,0.927,0.676,1.100,1.458,0.670,
+0.615,0.894,1.107,0.112,0.415,0.734,1.311,0.945,0.700,1.561,
+0.140,0.086,0.060,0.091,0.089,0.058,0.059,0.075,0.088,0.011,
+0.050,0.078,0.149,0.145,0.090,0.177,0.950,0.652,0.702,1.054,
+0.076,0.049,0.062,0.090,1.015,0.112,0.468,0.693,0.893,0.870,
+0.781,1.053,0.933,0.491,0.517,0.994,0.997,0.619,0.578,0.976,
+0.971,0.090,0.591,1.136,1.030,0.836,1.021,1.949,3.007,0.999,
+0.756,1.675,1.323,0.618,0.566,0.844,1.280,0.095,0.560,0.863,
+2.156,1.163,1.110,2.057,1.597,0.841,0.677,0.994,0.847,0.556,
+0.542,0.652,0.896,0.057,0.538,0.803,1.315,1.069,0.792,1.474,
+1.145,0.775,0.763,1.297,0.100,0.054,0.059,0.097,1.179,0.065,
+0.534,0.855,2.192,1.087,1.012,1.417,1.789,0.824,0.811,1.817,
+1.340,0.618,0.745,1.117,1.614,0.089,0.893,1.562,2.225,1.526,
+1.908,3.826,3.601,1.833,1.437,2.729,1.702,1.234,0.956,1.315,
+1.369,0.134,0.687,1.127,1.696,1.391,1.002,1.956,2.049,1.229,
+1.104,1.342,1.215,0.857,0.915,1.010,1.145,0.105,0.899,1.124,
+0.863,1.005,0.850,1.286,1.472,1.051,0.771,1.149,0.107,0.111,
+0.074,0.123,0.835,0.090,0.678,0.956,0.657,0.906,0.886,1.361,
+1.593,0.840,0.643,1.278,1.288,1.226,0.707,1.036,0.993,0.090,
+0.645,1.114,1.180,0.984,1.071,2.268,2.391,1.580,0.893,1.524,
+1.404,1.154,0.768,0.929,0.934,0.107,0.547,0.824,0.913,1.048,
+0.605,1.229,1.626,1.339,0.837,1.051,1.207,0.778,0.795,0.794,
+1.264,0.160,0.870,1.242,0.797,1.271,0.710,1.133,1.142,1.017,
+0.705,0.983,0.082,0.097,0.061,0.084,1.054,0.144,0.931,1.067,
+0.833,1.140,0.898,1.314,0.879,0.668,0.476,0.786,0.965,0.863,
+0.504,0.772,0.777,0.076,0.756,0.872,0.749,0.851,0.771,1.424,
+2.633,1.227,0.735,1.132,1.532,1.160,0.990,1.152,1.248,0.171,
+0.644,1.011,1.161,1.119,0.886,1.893,0.151,0.110,0.063,0.090,
+0.109,0.130,0.100,0.103,0.096,0.028,0.088,0.100,0.107,0.178,
+0.107,0.156,1.045,1.069,0.983,1.199,0.099,0.131,0.119,0.131,
+1.367,0.357,0.904,1.133,0.885,1.606,1.345,1.620,0.950,0.608,
+0.603,1.004,1.234,1.102,0.990,1.352,1.126,0.135,1.011,1.370,
+1.060,1.073,1.532,2.251,3.436,1.246,0.911,1.749,1.390,0.856,
+0.740,1.078,1.337,0.109,0.642,1.045,1.509,1.141,1.088,2.127,
+2.339,1.345,0.977,1.422,1.354,1.155,0.980,1.218,1.275,0.116,
+0.953,1.367,1.355,1.718,1.285,1.970,1.210,1.049,1.023,1.397,
+0.095,0.082,0.085,0.116,1.169,0.121,0.896,1.231,1.137,1.367,
+1.499,1.965,1.526,0.855,0.831,1.472,1.445,0.909,0.818,1.332,
+1.514,0.103,1.089,1.702,1.830,1.476,1.965,3.348,5.119,1.752,
+1.429,2.167,1.388,0.991,0.730,1.131,1.339,0.113,0.665,1.147,
+1.658,1.016,0.747,1.579,2.233,1.620,1.008,1.331,1.407,1.112,
+0.995,1.117,1.731,0.171,1.415,2.468,1.188,1.431,0.933,1.668,
+1.336,1.669,1.110,1.460,0.144,0.150,0.143,0.240,1.135,0.135,
+0.830,1.175,0.963,1.594,1.213,1.651,1.385,0.970,0.720,1.408,
+1.451,1.046,0.860,1.588,1.372,0.153,1.060,2.089,1.781,1.656,
+1.684,3.651,0.233,0.138,0.194,0.157,0.116,0.124,0.074,0.112,
+0.098,0.011,0.072,0.170,0.097,0.113,0.101,0.137,0.139,0.129,
+0.081,0.100,0.130,0.146,0.108,0.128,0.155,0.039,0.221,0.986,
+0.081,0.144,0.091,0.208,0.076,0.111,0.077,0.083,0.021,0.019,
+0.022,0.016,0.151,0.026,0.113,0.150,0.098,0.178,0.195,0.142,
+0.119,0.084,0.057,0.112,0.275,0.146,0.094,0.150,0.110,0.018,
+0.100,0.202,0.135,0.127,0.145,0.242,2.248,1.266,0.881,1.012,
+1.494,1.381,1.178,1.157,1.330,0.221,1.112,1.289,1.110,1.241,
+1.273,1.798,0.126,0.130,0.072,0.082,0.108,0.124,0.090,0.078,
+0.119,0.030,0.197,0.192,0.118,0.192,0.134,0.162,1.291,1.479,
+1.132,1.143,0.154,0.184,0.136,0.133,1.502,0.199,0.730,1.107,
+0.892,1.422,1.321,1.455,1.174,0.748,0.712,0.941,1.773,1.435,
+1.085,1.185,1.248,0.152,1.343,1.700,1.178,1.271,1.517,2.274,
+2.420,1.176,0.797,1.413,1.240,0.961,0.714,0.888,2.118,0.153,
+1.044,1.799,1.374,1.038,1.050,1.892,2.067,1.591,1.012,1.437,
+1.429,1.470,0.962,0.990,1.658,0.156,1.721,1.999,1.447,1.852,
+1.463,1.951,1.348,1.408,1.142,1.431,0.125,0.139,0.111,0.130,
+1.621,0.153,1.375,1.671,1.338,2.076,2.347,2.201,1.756,0.981,
+0.914,1.384,1.833,1.122,1.018,1.161,1.990,0.164,1.853,2.412,
+2.123,2.057,2.281,3.168,3.605,1.662,1.065,2.284,1.261,0.811,
+0.649,1.124,1.314,0.112,0.703,1.175,1.616,1.135,0.840,2.036,
+1.690,1.082,0.621,0.965,0.867,0.623,0.537,0.703,0.995,0.078,
+0.615,1.030,0.796,0.765,0.598,1.120,1.271,1.207,0.729,1.552,
+0.106,0.115,0.070,0.198,0.889,0.080,0.551,0.994,0.874,1.055,
+0.774,1.364,1.575,0.866,0.747,1.733,1.026,0.764,0.605,1.193,
+1.052,0.080,0.694,1.326,1.583,1.200,1.350,3.517,2.417,1.331,
+1.074,1.832,1.293,0.862,0.705,1.125,0.979,0.090,0.614,1.144,
+1.054,0.952,0.716,1.676,1.711,1.158,0.916,1.061,1.150,0.888,
+0.839,0.877,1.069,0.111,1.021,2.350,0.871,0.965,0.675,1.389,
+1.108,0.964,0.616,1.071,0.073,0.076,0.053,0.089,1.082,0.094,
+0.774,1.198,0.986,1.222,1.040,1.525,1.140,0.794,0.614,1.240,
+1.215,0.859,0.647,1.029,1.068,0.080,0.782,1.423,1.202,0.934,
+1.145,2.328,2.585,1.359,1.065,1.405,1.719,1.245,1.037,1.460,
+1.982,0.216,0.986,1.399,1.598,1.493,1.340,2.397,0.148,0.112,
+0.094,0.108,0.107,0.106,0.085,0.100,0.114,0.017,0.095,0.129,
+0.147,0.169,0.113,0.192,1.573,1.535,1.094,1.524,0.113,0.112,
+0.098,0.150,1.979,0.206,1.198,1.721,1.338,1.854,1.666,2.261,
+1.521,1.070,0.865,1.486,1.546,1.254,1.220,1.741,1.822,0.158,
+1.520,2.430,1.450,1.479,1.656,3.175,3.783,1.518,1.121,2.238,
+1.387,0.978,0.812,1.216,1.785,0.151,0.938,1.543,2.357,1.722,
+1.429,3.478,2.234,1.420,1.134,1.554,1.407,1.222,0.939,1.162,
+1.755,0.110,1.420,1.888,1.856,1.809,1.515,2.540,2.069,1.675,
+1.401,2.128,0.119,0.110,0.079,0.164,2.228,0.155,1.484,2.328,
+2.146,2.337,2.285,3.289,3.535,1.427,1.371,3.070,2.106,1.529,
+1.416,2.419,3.287,0.180,2.227,3.651,3.662,2.551,2.993,5.335,
+11.6,4.885,3.997,9.065,3.762,2.136,1.866,3.019,4.286,0.334,
+1.801,2.941,7.386,4.874,2.683,6.215,3.648,1.895,1.636,2.222,
+1.968,1.014,1.081,1.212,1.848,0.113,0.951,1.323,1.939,1.476,
+1.186,2.149,3.136,1.729,1.549,2.886,0.217,0.124,0.111,0.273,
+1.543,0.109,0.752,1.515,1.870,1.519,1.267,2.234,5.816,2.169,
+2.223,5.405,3.966,1.800,1.852,3.262,2.533,0.158,1.212,2.203,
+4.376,2.172,2.169,4.920,4.416,1.788,1.319,2.366,1.802,1.093,
+0.805,1.190,1.556,0.124,0.610,1.069,1.779,1.444,0.737,1.707,
+2.024,1.085,0.714,1.165,0.990,0.554,0.535,0.664,1.118,0.074,
+0.537,0.799,1.039,0.809,0.555,1.089,1.719,1.121,0.929,1.417,
+0.102,0.068,0.057,0.101,1.099,0.075,0.608,0.898,0.970,0.859,
+0.630,1.114,2.157,1.112,0.997,1.841,1.724,1.000,0.882,1.294,
+1.393,0.091,0.723,1.178,1.626,1.155,1.033,2.259,3.066,1.345,
+1.122,1.969,1.712,0.958,0.939,1.273,1.690,0.167,0.700,1.200,
+2.246,1.486,1.228,3.062,0.188,0.128,0.084,0.149,0.114,0.088,
+0.071,0.098,0.119,0.012,0.066,0.103,0.208,0.189,0.116,0.260,
+1.418,1.069,0.766,1.528,0.096,0.137,0.051,0.113,0.902,0.069,
+0.502,0.712,0.857,0.801,0.741,1.245,1.610,0.866,0.837,1.637,
+1.537,1.062,0.802,1.370,1.913,0.161,0.804,1.344,1.548,1.250,
+1.250,2.617,5.043,1.827,1.792,4.048,2.021,0.999,1.167,1.666,
+2.369,0.174,0.926,1.679,3.880,2.173,1.814,4.906,2.873,1.547,
+1.130,1.886,1.465,0.918,0.801,1.056,1.509,0.091,0.878,1.338,
+2.007,1.463,1.211,2.406,1.879,1.220,1.083,1.856,0.118,0.081,
+0.068,0.129,1.335,0.077,0.746,1.127,1.420,1.291,1.150,1.962,
+4.195,1.632,1.646,3.466,1.947,1.143,1.084,1.697,2.872,0.149,
+1.358,2.415,4.206,2.712,2.776,6.955,4.954,2.188,1.768,3.384,
+1.897,1.101,0.971,1.457,1.487,0.118,0.687,1.296,2.148,1.719,
+1.179,2.382,2.267,1.120,0.936,1.414,1.107,0.671,0.803,0.830,
+0.972,0.071,0.548,0.908,0.905,0.792,0.690,1.195,1.330,0.995,
+0.712,1.253,0.102,0.109,0.057,0.114,0.658,0.060,0.408,0.704,
+0.741,0.830,0.579,1.107,1.804,0.836,0.801,1.702,1.289,0.866,
+0.689,1.090,1.049,0.077,0.613,0.950,1.457,1.007,1.110,2.272,
+2.696,1.463,0.807,1.448,1.276,0.877,0.545,0.769,0.965,0.085,
+0.406,0.699,0.990,0.966,0.486,1.196,1.405,0.876,0.467,0.846,
+0.715,0.339,0.392,0.483,0.686,0.057,0.483,0.637,0.601,0.698,
+0.406,0.789,1.152,0.907,0.561,0.928,0.069,0.090,0.038,0.071,
+0.807,0.108,0.406,0.556,0.597,0.774,0.445,0.835,1.224,0.693,
+0.554,1.223,0.857,0.664,0.471,0.689,1.008,0.069,0.518,0.724,
+0.957,0.849,0.582,1.392,2.032,1.045,0.732,1.347,1.120,0.903,
+0.758,1.032,1.034,0.099,0.541,0.811,1.333,1.005,0.802,1.741,
+0.102,0.115,0.048,0.115,0.066,0.149,0.053,0.069,0.068,0.012,
+0.056,0.078,0.094,0.114,0.068,0.135,1.264,3.299,0.793,1.125,
+0.230,1.430,0.071,0.126,0.694,0.161,0.400,0.634,0.642,0.996,
+0.566,0.881,1.069,0.962,0.591,1.231,1.217,3.113,0.656,1.169,
+0.958,0.101,0.564,0.995,0.926,0.876,0.804,1.595,1.950,0.930,
+0.785,1.638,0.981,0.557,0.532,0.890,0.971,0.073,0.435,0.730,
+1.290,0.846,0.710,1.784,1.352,0.894,0.664,1.332,0.768,0.637,
+0.543,0.839,0.664,0.045,0.619,0.780,0.842,0.786,0.688,1.277,
+1.020,1.024,0.712,1.241,0.072,0.172,0.035,0.079,0.793,0.103,
+0.432,0.704,0.820,0.981,0.646,1.151,1.466,0.685,0.781,1.609,
+1.011,0.852,0.546,0.993,1.381,0.083,0.744,1.386,1.653,1.428,
+1.380,2.822,3.656,2.054,1.350,2.882,1.310,0.957,1.094,1.353,
+1.335,0.120,0.630,1.197,1.860,1.473,0.823,2.157,2.347,1.387,
+1.400,1.935,1.543,1.018,5.645,3.319,1.393,0.122,0.851,1.193,
+1.433,1.336,0.985,1.681,1.527,1.341,0.969,1.721,0.130,0.117,
+0.140,0.248,0.843,0.079,0.384,0.684,0.901,1.120,0.663,1.264,
+2.475,1.200,1.116,2.813,1.593,1.113,1.014,1.786,1.411,0.113,
+0.668,1.455,2.336,1.602,1.392,4.117,0.195,0.155,0.092,0.184,
+0.132,0.106,0.066,0.095,0.091,0.013,0.050,0.092,0.128,0.133,
+0.063,0.168,0.164,0.119,0.070,0.111,0.114,0.089,0.195,0.138,
+0.120,0.017,0.066,0.103,0.131,0.133,0.069,0.145,0.099,0.123,
+0.065,0.122,8.61e-3,9.94e-3,7.94e-3,0.010,0.102,0.011,0.050,0.079,
+0.112,0.112,0.067,0.117,0.232,0.154,0.107,0.281,0.200,0.156,
+0.117,0.211,0.123,0.013,0.078,0.156,0.219,0.177,0.133,0.363,
+1.716,0.962,0.667,1.040,0.983,0.742,0.635,0.844,1.209,0.132,
+0.731,0.927,1.220,0.995,0.818,1.574,0.118,0.104,0.062,0.095,
+0.067,0.075,0.106,0.088,0.088,0.015,0.072,0.074,0.129,0.126,
+0.077,0.134,1.018,1.533,0.591,0.817,0.088,0.132,0.056,0.075,
+0.684,0.074,0.380,0.489,0.630,0.833,0.554,0.831,1.138,0.794,
+0.654,1.046,1.170,1.013,0.649,0.968,1.097,0.099,0.995,1.157,
+1.084,1.024,1.045,1.781,2.000,1.000,0.735,1.651,1.001,0.615,
+0.484,0.787,1.095,0.099,0.572,1.092,1.626,1.087,0.807,2.297,
+1.824,1.283,0.744,1.481,1.042,1.021,0.710,0.884,1.106,0.085,
+0.743,1.114,1.533,1.271,0.881,1.656,1.282,1.170,0.717,1.254,
+0.090,0.082,0.052,0.099,0.870,0.071,0.625,0.877,0.957,1.147,
+0.843,1.453,2.025,1.023,0.975,1.843,1.493,0.939,0.754,1.219,
+1.563,0.110,1.094,1.792,2.218,1.819,1.765,3.950,5.983,2.652,
+2.113,4.841,1.905,1.107,1.088,1.551,2.064,0.151,0.897,1.669,
+3.707,2.179,1.700,4.222,2.381,1.114,0.935,1.724,1.215,0.641,
+1.666,1.371,1.444,0.078,0.754,1.273,1.574,0.975,0.946,1.886,
+2.166,1.412,1.151,2.503,0.155,0.104,0.094,0.228,1.307,0.091,
+0.615,1.234,1.535,1.309,0.970,2.232,4.324,1.730,2.024,6.681,
+2.161,1.253,1.372,2.507,2.178,0.132,1.130,2.172,3.811,2.095,
+2.154,6.093,3.341,1.664,1.147,2.430,1.572,0.965,0.687,1.086,
+1.401,0.100,0.621,1.208,1.643,1.403,0.790,2.021,1.842,1.080,
+0.568,1.080,1.131,0.722,0.601,0.792,1.074,0.080,0.599,1.009,
+1.156,0.956,0.570,1.272,1.562,1.195,0.701,1.569,0.083,0.072,
+0.046,0.105,1.199,0.084,0.564,1.002,1.446,1.217,0.714,1.539,
+2.552,1.242,1.110,2.651,1.683,1.149,1.032,1.837,1.610,0.094,
+0.827,1.616,2.248,1.665,1.321,3.254,2.433,1.200,0.967,1.663,
+1.521,0.921,0.868,1.344,1.652,0.144,0.929,1.347,1.682,1.269,
+1.489,2.825,0.137,0.101,0.066,0.128,0.080,0.078,0.064,0.086,
+0.101,8.36e-3,0.075,0.104,0.155,0.133,0.107,0.207,1.355,1.439,
+0.792,1.361,0.084,0.129,0.057,0.111,1.187,0.095,0.822,1.007,
+1.204,1.245,1.013,1.710,1.796,1.045,1.043,1.952,1.754,1.347,
+1.055,1.930,2.428,0.142,1.451,2.141,2.138,1.636,1.909,3.604,
+4.879,1.942,1.876,4.009,1.979,1.108,1.101,1.803,2.368,0.176,
+1.158,2.478,4.049,2.363,2.302,9.973,2.404,1.478,1.050,2.119,
+1.225,0.896,0.827,1.322,1.511,0.089,1.014,1.720,2.129,1.684,
+1.303,3.116,2.462,2.162,1.609,2.975,0.147,0.111,0.080,0.209,
+2.083,0.122,1.281,1.976,2.431,2.309,1.909,3.350,5.488,2.407,
+2.466,6.071,3.199,2.148,2.029,3.706,4.791,0.222,3.015,5.400,
+8.529,5.217,5.544,11.7,4.025,2.359,2.056,3.594,2.180,1.262,
+1.200,1.653,1.908,0.163,0.940,1.523,3.123,2.254,1.460,2.775,
+2.236,1.604,0.959,1.413,1.457,0.818,0.735,0.892,1.086,0.085,
+0.738,0.949,1.153,0.936,0.889,1.364,1.599,1.034,0.998,1.506,
+0.115,0.090,0.077,0.153,0.918,0.068,0.555,0.733,0.947,0.966,
+0.938,1.304,2.401,1.225,1.111,2.243,1.834,1.156,1.026,1.556,
+1.779,0.136,0.847,1.500,2.171,1.627,1.362,2.966,2.658,1.517,
+1.062,1.688,1.424,0.956,0.681,1.020,1.196,0.139,0.755,0.999,
+1.517,1.386,0.675,1.471,1.552,0.980,0.677,1.018,0.911,0.607,
+0.576,0.697,1.034,0.079,0.742,1.016,0.903,0.744,0.577,1.030,
+1.125,0.952,1.076,1.188,0.077,0.065,0.073,0.093,0.859,0.094,
+0.580,0.720,0.717,0.840,0.654,0.948,1.140,0.748,0.737,1.099,
+1.009,0.737,0.776,0.944,0.964,0.075,0.564,0.974,1.103,1.049,
+0.863,1.769,2.035,0.978,0.637,1.189,1.230,0.690,0.644,0.933,
+1.061,0.110,0.494,0.779,1.236,0.936,0.803,1.847,0.110,0.083,
+0.053,0.099,0.087,0.076,0.063,0.080,0.080,0.010,0.049,0.075,
+0.103,0.127,0.089,0.153,0.875,0.620,0.578,0.835,0.070,0.054,
+0.047,0.082,0.641,0.057,0.351,0.555,0.614,0.630,0.558,0.915,
+0.966,0.568,0.518,1.069,1.083,0.687,0.585,0.976,1.236,0.098,
+0.590,0.988,1.099,1.027,1.017,1.969,2.360,1.038,0.806,1.643,
+1.271,0.681,0.553,0.835,1.281,0.126,0.511,0.875,1.747,1.235,
+0.824,2.173,1.718,1.042,0.751,1.191,1.250,0.929,0.624,0.822,
+0.902,0.070,0.558,0.918,1.062,1.004,0.778,1.457,1.036,0.756,
+0.694,1.117,0.100,0.059,0.053,0.097,0.756,0.064,0.477,0.776,
+1.006,0.974,0.755,1.333,1.735,0.891,0.866,1.787,1.781,0.879,
+0.741,1.148,1.520,0.107,0.929,1.761,2.310,2.021,1.980,4.612,
+2.988,1.763,1.259,2.082,1.679,1.044,0.844,1.169,1.118,0.108,
+0.604,0.861,1.422,1.178,0.889,1.667,1.674,1.098,0.762,1.016,
+1.067,0.754,0.648,0.745,0.815,0.071,0.522,0.706,0.666,0.785,
+0.598,0.917,0.916,0.841,0.583,0.861,0.069,0.070,0.045,0.088,
+0.506,0.050,0.354,0.460,0.540,0.613,0.482,0.968,1.254,0.635,
+0.536,1.177,1.012,0.710,0.545,0.836,0.966,0.067,0.488,0.699,
+1.289,0.917,0.772,1.882,1.916,1.299,0.664,1.106,1.146,1.025,
+0.556,0.753,0.673,0.071,0.390,0.596,0.777,0.769,0.425,1.102,
+1.274,0.722,0.408,0.788,0.757,0.350,0.440,0.619,0.603,0.072,
+0.421,0.579,0.532,0.687,0.442,0.760,0.804,0.796,0.483,0.706,
+0.063,0.071,0.049,0.061,0.632,0.087,0.386,0.508,0.469,0.700,
+0.436,0.730,0.935,0.586,0.567,0.764,0.714,0.695,0.473,0.589,
+0.711,0.053,0.398,0.631,0.826,0.760,0.536,1.240,1.664,0.886,
+0.564,0.967,1.039,0.792,0.639,0.788,0.876,0.094,0.441,0.615,
+1.014,0.824,0.712,1.333,0.078,0.087,0.043,0.080,0.059,0.092,
+0.056,0.064,0.058,0.017,0.055,0.063,0.073,0.111,0.062,0.092,
+1.071,1.240,0.637,0.995,0.091,0.215,0.072,0.096,0.646,0.082,
+0.452,0.541,0.631,0.892,0.713,0.934,0.881,0.591,0.506,0.898,
+0.979,1.008,0.666,0.997,1.169,0.076,0.589,0.928,1.048,0.794,
+1.000,1.662,1.449,0.739,0.543,1.068,0.851,0.520,0.461,0.645,
+0.772,0.061,0.509,0.585,1.017,0.709,0.571,1.344,1.169,0.869,
+0.585,0.943,0.798,0.745,0.540,0.785,0.672,0.088,0.474,0.673,
+0.786,0.785,0.606,1.000,0.838,0.798,0.532,0.845,0.061,0.068,
+0.040,0.065,0.635,0.068,0.404,0.544,0.979,1.038,0.650,1.002,
+1.149,0.597,0.602,1.104,0.992,0.715,0.534,0.831,1.019,0.079,
+0.713,1.109,1.392,1.199,1.204,2.189,2.423,1.550,1.016,1.987,
+1.033,0.804,0.589,0.874,1.136,0.107,0.790,0.861,1.381,1.140,
+0.691,1.442,1.637,1.146,0.682,1.127,1.025,0.815,0.915,0.889,
+1.294,0.123,0.924,0.995,0.997,1.389,0.708,1.253,1.030,1.000,
+0.737,1.100,0.101,0.099,0.088,0.170,1.041,0.092,0.531,0.681,
+0.685,1.088,1.252,1.120,1.303,0.813,0.676,1.550,1.111,0.832,
+0.771,1.305,1.073,0.109,0.660,1.119,1.556,1.430,1.261,2.932,
+0.101,0.094,0.050,0.109,0.081,0.086,0.042,0.067,0.070,0.011,
+0.043,0.058,0.086,0.092,0.044,0.107,0.101,0.081,0.042,0.066,
+0.095,0.104,0.065,0.075,0.105,0.015,0.061,0.080,0.072,0.116,
+0.048,0.141,0.054,0.069,0.047,0.069,0.011,0.012,0.011,0.011,
+0.283,0.026,0.102,0.096,0.075,0.090,0.083,0.086,0.090,0.071,
+0.048,0.126,0.141,0.105,0.073,0.138,0.086,0.010,0.062,0.110,
+0.115,0.104,0.088,0.192,1.794,1.066,0.656,0.964,1.023,0.904,
+0.685,0.828,1.183,0.143,0.662,0.888,0.961,0.963,0.819,1.511,
+0.100,0.116,0.050,0.078,0.074,0.111,0.069,0.068,0.082,0.014,
+0.071,0.092,0.090,0.126,0.083,0.122,0.875,1.354,0.568,0.780,
+0.078,0.109,0.056,0.089,0.766,0.095,0.441,0.615,0.597,0.935,
+0.730,0.948,0.966,0.810,0.605,0.915,1.181,1.007,0.692,1.091,
+1.080,0.108,0.815,1.213,1.024,1.071,1.178,1.989,1.717,1.020,
+0.696,1.365,0.968,0.673,0.464,0.749,1.045,0.090,0.535,0.911,
+1.415,1.074,0.694,1.769,1.746,1.410,0.726,1.216,1.599,1.612,
+0.766,1.138,1.196,0.114,0.849,1.341,1.231,1.442,0.915,1.640,
+1.125,1.036,0.744,1.103,0.135,0.082,0.057,0.098,0.938,0.084,
+0.644,0.994,1.005,1.337,0.900,1.438,1.680,0.897,0.752,1.547,
+3.068,0.947,0.729,1.224,1.537,0.108,1.177,1.875,2.185,2.152,
+1.862,3.652,2.948,1.562,1.216,2.751,1.340,0.806,0.723,1.378,
+1.374,0.105,0.614,1.138,1.852,1.254,1.115,2.244,1.580,0.980,
+0.594,1.109,0.920,0.597,0.547,0.784,0.978,0.067,0.565,0.951,
+0.914,0.759,0.603,1.311,1.240,0.996,0.838,1.553,0.092,0.074,
+0.060,0.168,0.921,0.065,0.557,0.830,0.917,0.982,0.755,1.418,
+1.859,0.994,1.084,2.612,1.348,0.936,0.839,1.788,1.291,0.092,
+0.767,1.498,2.237,1.511,1.407,3.877,2.445,1.431,0.980,2.314,
+1.383,1.124,0.694,1.014,1.196,0.108,0.564,1.038,1.405,1.270,
+0.677,1.711,1.640,0.975,0.538,0.985,1.118,0.833,0.540,0.823,
+1.042,0.097,0.601,1.004,1.173,1.140,0.672,1.636,1.056,0.891,
+0.635,1.086,0.088,0.078,0.052,0.103,1.324,0.101,0.667,1.029,
+1.118,1.195,0.649,1.385,1.418,0.881,0.748,1.803,1.362,1.078,
+0.870,1.786,1.153,0.085,0.872,1.492,1.627,1.374,1.201,2.728,
+1.730,0.903,0.723,1.165,1.175,0.817,0.701,1.109,1.215,0.123,
+0.723,1.080,1.211,1.082,1.045,2.056,0.089,0.072,0.047,0.087,
+0.056,0.071,0.054,0.071,0.066,8.02e-3,0.056,0.070,0.098,0.113,
+0.078,0.142,0.917,0.895,0.579,1.029,0.061,0.059,0.046,0.105,
+0.946,0.086,0.642,0.925,0.817,1.028,0.858,1.312,1.085,0.692,
+0.698,1.359,1.025,0.842,0.777,1.425,1.358,0.117,0.998,1.610,
+1.460,1.410,1.643,2.704,2.701,1.324,1.126,1.988,1.148,0.781,
+0.681,1.051,1.386,0.135,0.718,1.293,1.912,1.340,1.039,3.089,
+1.852,1.121,0.763,1.260,1.118,0.872,0.686,1.043,1.017,0.072,
+0.735,1.253,1.266,1.195,0.841,2.080,1.571,1.223,0.945,1.777,
+0.091,0.079,0.058,0.144,1.252,0.090,0.902,1.441,1.559,1.542,
+1.282,2.186,2.756,1.324,1.290,2.901,1.806,1.277,1.151,2.025,
+2.268,0.148,1.884,3.044,4.194,3.135,3.442,5.451,3.749,2.366,
+1.944,4.156,2.402,1.516,1.355,1.953,2.033,0.200,1.440,1.865,
+3.196,2.390,1.808,3.324,2.333,1.434,1.114,1.756,1.466,0.922,
+0.932,1.203,1.252,0.153,0.803,1.024,1.231,1.187,1.086,1.690,
+2.869,1.510,1.183,2.395,0.146,0.099,0.096,0.225,1.231,0.087,
+0.791,1.027,1.055,1.069,1.108,1.629,2.923,1.164,1.028,2.299,
+1.743,1.045,1.121,1.592,1.495,0.095,0.832,1.337,2.225,1.067,
+1.582,3.057,3.535,1.903,1.186,2.497,2.206,1.311,1.087,1.420,
+1.381,0.133,0.874,1.196,1.565,1.420,0.991,2.053,2.204,1.584,
+0.956,1.314,1.434,0.810,0.842,0.963,1.207,0.100,0.814,1.162,
+0.990,0.980,0.812,1.303,2.128,1.621,0.960,1.593,0.140,0.113,
+0.084,0.158,1.691,0.130,0.842,1.443,1.035,1.300,1.062,1.471,
+2.136,1.309,0.851,1.764,1.863,1.397,1.043,1.723,1.577,0.115,
+0.983,1.634,1.663,1.238,1.483,2.789,2.554,1.245,0.970,2.269,
+2.146,1.406,1.270,1.564,1.939,0.200,0.789,1.256,2.011,1.620,
+1.141,2.510,0.200,0.163,0.094,0.180,0.175,0.133,0.118,0.154,
+0.165,0.020,0.113,0.145,0.236,0.266,0.160,0.299,1.431,1.102,
+0.956,1.405,0.120,0.087,0.091,0.153,1.261,0.127,0.590,0.885,
+0.932,1.135,0.900,1.288,1.343,0.786,0.719,1.352,1.773,1.144,
+1.062,1.570,1.965,0.144,0.870,1.474,1.761,1.221,1.299,2.431,
+2.970,1.353,1.016,2.450,1.607,0.918,0.887,1.179,1.659,0.166,
+0.727,1.204,2.548,2.004,1.193,2.929,2.232,1.622,0.920,1.540,
+1.455,0.972,0.842,1.096,1.391,0.106,0.864,1.254,1.827,1.537,
+1.189,2.205,1.851,1.467,1.282,1.878,0.143,0.095,0.103,0.172,
+2.123,0.140,0.930,1.461,1.557,1.760,1.676,2.354,2.797,1.349,
+1.241,2.661,2.022,1.001,1.238,1.891,5.495,0.281,1.758,3.002,
+4.604,2.764,2.951,5.892,0.224,0.154,0.111,0.192,0.161,0.116,
+0.094,0.144,0.112,0.015,0.097,0.111,0.160,0.169,0.126,0.189,
+0.180,0.123,0.184,0.153,0.127,0.104,0.125,0.126,0.095,0.016,
+0.081,0.096,0.094,0.118,0.141,0.162,0.144,0.096,0.072,0.137,
+0.013,0.012,6.43e-3,0.018,0.080,9.11e-3,0.070,0.084,0.067,0.093,
+0.084,0.147,0.151,0.080,0.065,0.144,0.184,0.097,0.084,0.134,
+0.127,0.012,0.081,0.114,0.147,0.106,0.186,0.281,0.181,0.139,
+0.071,0.126,0.142,0.120,0.082,0.104,0.080,0.013,0.051,0.073,
+0.081,0.101,0.064,0.127,0.151,0.197,0.078,0.101,0.136,0.114,
+0.100,0.111,0.088,0.017,0.073,0.098,0.069,0.111,0.077,0.114,
+0.114,0.120,0.065,0.102,0.010,0.019,0.012,0.013,0.208,0.031,
+0.076,0.112,0.076,0.145,0.097,0.113,0.121,0.085,0.060,0.119,
+0.125,0.113,0.081,0.122,0.107,9.36e-3,0.072,0.111,0.103,0.099,
+0.105,0.233,0.143,0.077,0.058,0.112,0.125,0.100,0.098,0.101,
+0.096,0.015,0.057,0.069,0.094,0.093,0.080,0.154,0.014,0.011,
+8.19e-3,0.012,0.014,0.018,0.012,0.019,9.86e-3,4.76e-3,0.013,0.011,
+0.012,0.019,0.015,0.017,0.101,0.118,0.091,0.117,0.013,0.030,
+0.017,0.014,0.109,0.034,0.071,0.083,0.070,0.132,0.096,0.119,
+0.092,0.058,0.053,0.103,0.132,0.131,0.095,0.127,0.125,0.015,
+0.082,0.121,0.109,0.111,0.116,0.207,0.202,0.141,0.096,0.187,
+0.131,0.094,0.077,0.113,0.116,0.014,0.058,0.087,0.170,0.174,
+0.120,0.258,0.199,0.147,0.104,0.161,0.157,0.142,0.109,0.155,
+0.126,0.014,0.093,0.122,0.163,0.192,0.139,0.238,0.119,0.110,
+0.100,0.145,0.011,0.015,0.010,0.017,0.126,0.015,0.077,0.113,
+0.134,0.150,0.138,0.203,0.186,0.102,0.100,0.196,0.178,0.110,
+0.098,0.163,0.263,0.021,0.124,0.209,0.265,0.225,0.240,0.465,
+3.046,1.931,1.306,2.445,1.545,1.163,0.911,1.419,1.355,0.127,
+0.869,1.198,1.315,1.157,0.908,1.742,2.528,1.635,1.064,1.486,
+1.696,1.214,1.466,1.332,1.559,0.156,1.613,1.577,1.052,1.353,
+0.994,1.697,1.564,1.506,0.966,1.711,0.164,0.181,0.133,0.271,
+1.159,0.131,0.845,1.133,0.889,1.549,1.191,1.872,1.583,1.022,
+0.777,1.797,1.476,1.388,1.049,1.728,1.463,0.158,1.087,1.834,
+1.880,2.040,2.332,3.973,0.160,0.136,0.068,0.120,0.124,0.128,
+0.073,0.104,0.081,0.016,0.057,0.090,0.085,0.107,0.061,0.144,
+0.143,0.125,0.123,0.098,0.122,0.112,0.088,0.097,0.084,0.018,
+0.099,0.111,0.066,0.086,0.063,0.101,0.094,0.113,0.065,0.102,
+0.015,0.022,0.012,0.016,0.096,0.019,0.088,0.114,0.065,0.109,
+0.087,0.117,0.156,0.114,0.071,0.177,0.171,0.183,0.104,0.181,
+0.125,0.018,0.091,0.236,0.136,0.158,0.167,0.303,1.912,1.251,
+0.870,1.133,1.641,1.515,1.386,1.298,1.387,0.235,1.575,1.347,
+1.089,1.252,1.240,2.030,0.127,0.143,0.092,0.092,0.126,0.164,
+0.139,0.094,0.114,0.025,0.150,0.121,0.104,0.166,0.117,0.186,
+1.326,1.251,0.939,1.102,0.131,0.122,0.132,0.129,1.113,0.126,
+0.476,0.773,0.724,1.018,0.993,1.270,1.121,0.734,0.625,0.961,
+1.350,1.146,0.995,1.172,1.237,0.138,1.245,1.622,1.174,1.145,
+1.497,2.402,1.954,1.243,0.871,1.459,1.436,1.174,0.705,0.972,
+1.112,0.122,0.903,1.139,1.318,1.086,0.998,1.872,1.935,1.616,
+1.177,1.401,1.824,1.849,1.267,1.180,1.245,0.121,1.354,1.509,
+1.231,1.428,1.150,1.749,1.667,1.471,1.093,1.575,0.154,0.154,
+0.103,0.155,1.474,0.127,1.368,1.791,1.199,1.622,1.496,2.036,
+1.858,1.097,0.897,1.660,1.583,1.343,0.947,1.351,1.971,0.148,
+1.892,2.703,2.388,2.172,2.403,4.035,3.904,1.829,1.325,2.867,
+1.812,1.090,1.011,1.628,1.653,0.151,0.794,1.406,2.067,1.607,
+1.085,2.616,2.370,1.216,0.842,1.512,1.303,0.816,0.894,1.174,
+1.112,0.077,0.819,1.101,1.039,1.027,0.841,1.667,1.938,1.315,
+0.824,1.673,0.140,0.101,0.078,0.195,1.581,0.107,0.820,1.310,
+1.144,1.265,1.257,2.167,2.130,1.155,0.998,2.162,1.705,0.962,
+0.895,1.600,1.545,0.104,0.861,1.474,2.145,1.522,1.837,4.054,
+3.415,2.010,1.154,2.462,2.171,1.570,1.159,1.612,1.570,0.138,
+0.878,1.628,1.716,1.700,0.920,2.480,2.378,1.678,0.983,1.831,
+1.607,1.235,1.060,1.425,1.191,0.088,0.948,1.523,1.060,1.123,
+0.775,1.583,1.722,1.735,0.941,1.769,0.127,0.121,0.077,0.159,
+1.721,0.146,1.090,1.961,1.299,1.680,1.217,2.156,2.140,1.589,
+1.016,2.201,2.279,1.667,1.229,2.132,1.843,0.150,1.180,2.339,
+2.058,1.918,1.938,3.816,2.701,1.439,1.203,1.673,2.023,1.447,
+1.504,1.710,1.923,0.211,1.216,1.730,1.834,1.771,1.467,2.844,
+0.148,0.118,0.076,0.124,0.112,0.126,0.117,0.129,0.112,0.017,
+0.108,0.166,0.139,0.298,0.111,0.192,1.883,1.716,1.219,1.852,
+0.130,0.129,0.102,0.190,1.915,0.251,1.277,1.838,1.347,2.725,
+1.523,2.258,1.775,1.147,1.113,1.773,2.013,1.434,1.526,2.127,
+1.974,0.171,1.822,3.034,1.966,1.877,2.239,3.843,3.266,1.533,
+1.319,2.392,1.695,1.108,1.036,1.361,1.795,0.184,1.091,1.622,
+2.083,1.559,1.339,3.151,2.039,1.256,0.997,1.567,1.425,1.145,
+1.153,1.358,1.357,0.093,1.199,1.669,1.391,1.423,1.209,2.077,
+2.295,2.008,1.590,2.453,0.145,0.142,0.099,0.208,2.392,0.179,
+1.857,2.884,2.010,2.498,2.372,3.138,3.144,1.573,1.546,3.265,
+2.366,1.670,1.616,2.679,3.105,0.190,2.632,4.422,3.843,3.067,
+3.530,7.019,15.4,4.737,3.859,9.263,3.738,1.991,1.845,3.387,
+3.374,0.260,1.490,2.609,6.034,3.891,2.426,5.881,3.759,1.803,
+1.265,2.319,1.887,1.000,0.966,1.448,1.645,0.103,1.028,1.348,
+2.018,1.584,1.446,2.348,3.161,1.732,1.396,3.081,0.179,0.112,
+0.099,0.291,1.721,0.112,0.975,1.656,1.637,1.597,1.404,2.815,
+4.783,2.007,1.900,4.659,2.852,1.555,1.514,2.940,2.550,0.166,
+1.888,2.694,4.132,2.438,2.810,7.168,4.814,2.141,1.331,2.903,
+2.210,1.174,0.932,1.398,1.419,0.121,0.674,1.159,1.895,1.428,
+0.955,2.225,2.323,1.360,0.815,1.547,1.367,0.846,0.753,1.002,
+1.083,0.067,0.621,1.009,1.182,0.946,0.908,1.683,1.976,1.272,
+0.966,1.805,0.103,0.076,0.064,0.126,1.405,0.131,0.648,1.074,
+1.133,1.173,1.011,1.601,2.097,1.207,0.845,1.814,1.543,1.012,
+0.902,1.420,1.423,0.083,0.805,1.380,1.751,1.295,1.412,3.043,
+4.160,1.770,1.274,2.738,2.574,1.190,1.165,1.868,2.032,0.180,
+0.755,1.567,3.449,2.117,1.384,4.534,0.209,0.130,0.086,0.170,
+0.161,0.106,0.088,0.144,0.131,0.011,0.067,0.128,0.315,0.231,
+0.122,0.333,1.934,1.205,1.037,1.951,0.158,0.079,0.069,0.165,
+1.666,0.100,0.620,1.131,1.509,1.298,1.085,1.992,2.201,1.132,
+1.048,2.366,2.638,1.155,1.037,2.061,1.971,0.129,0.993,1.916,
+2.914,1.726,1.878,4.157,6.615,2.366,1.903,4.880,2.832,1.371,
+1.566,2.171,2.801,0.216,1.244,2.175,6.168,3.255,2.247,6.407,
+3.238,1.725,1.332,2.188,1.968,1.279,1.026,1.493,1.915,0.117,
+1.039,1.668,3.282,2.224,1.629,3.465,2.839,1.832,1.540,2.889,
+0.241,0.105,0.096,0.216,2.385,0.124,1.173,2.046,2.474,2.267,
+2.003,3.870,5.566,2.348,2.256,5.866,5.384,1.966,1.884,3.269,
+4.937,0.236,2.391,4.274,11.6,5.220,5.671,14.9,6.158,2.893,
+1.990,4.550,2.871,1.644,1.305,2.160,2.179,0.180,1.409,1.882,
+3.066,2.292,1.756,3.662,3.084,1.734,1.425,2.144,1.917,1.207,
+1.116,1.479,1.489,0.094,1.015,1.337,1.442,1.286,1.194,2.081,
+2.167,1.348,0.946,1.884,0.125,0.091,0.066,0.167,1.205,0.089,
+0.853,1.228,1.292,1.215,1.085,2.239,2.592,1.319,1.003,2.328,
+1.997,1.164,0.917,1.738,1.577,0.112,1.057,1.542,2.273,1.540,
+1.768,4.138,4.474,2.391,1.170,2.468,2.491,1.737,1.086,1.474,
+1.353,0.115,0.624,1.116,1.666,1.554,0.925,2.184,2.610,2.234,
+0.893,1.613,2.311,1.844,1.172,1.607,1.264,0.117,0.716,1.246,
+1.267,1.484,0.883,2.004,1.959,1.410,0.796,1.522,0.113,0.101,
+0.058,0.115,1.465,0.138,0.806,1.222,1.142,1.397,1.277,1.941,
+1.723,1.089,0.697,1.584,1.553,1.201,0.785,1.411,1.290,0.084,
+0.708,1.329,1.567,1.271,1.221,3.008,3.733,1.540,1.160,1.977,
+2.077,1.231,1.226,1.589,1.663,0.167,0.670,1.186,2.777,1.932,
+1.268,4.000,0.146,0.102,0.069,0.121,0.109,0.109,0.072,0.113,
+0.084,0.011,0.056,0.089,0.212,0.179,0.094,0.240,1.836,1.388,
+1.060,1.758,0.135,0.124,0.079,0.154,1.522,0.128,0.701,1.158,
+1.445,1.429,1.188,2.247,2.065,1.043,0.905,1.849,2.256,1.275,
+1.144,1.930,1.737,0.110,0.990,1.789,2.210,1.652,1.888,4.205,
+4.152,1.700,1.373,2.889,2.006,1.137,1.043,1.614,1.834,0.143,
+0.886,1.449,3.074,2.142,1.516,4.178,2.600,1.548,1.139,1.927,
+1.715,1.314,1.033,1.504,1.483,0.108,0.905,1.488,2.455,2.325,
+1.567,3.040,2.340,1.485,1.235,2.174,0.146,0.087,0.062,0.142,
+1.635,0.105,0.993,1.665,1.829,1.728,1.628,3.159,3.231,1.454,
+1.697,2.992,3.307,1.453,1.238,2.197,2.698,0.151,1.471,2.692,
+4.300,3.160,3.277,7.262,6.320,3.299,2.238,4.517,2.539,1.665,
+1.258,2.252,2.745,0.196,1.134,1.937,2.947,2.001,1.403,3.174,
+3.920,2.728,1.567,2.758,2.170,1.548,1.407,1.722,2.205,0.168,
+1.452,2.012,2.162,2.281,1.492,3.095,2.647,2.491,1.410,2.834,
+0.194,0.192,0.128,0.343,1.959,0.180,1.000,1.806,1.616,2.321,
+1.590,3.416,3.138,1.890,1.386,3.613,2.303,1.704,1.295,2.663,
+2.708,0.200,1.621,2.926,3.540,2.823,3.053,7.182,0.220,0.181,
+0.100,0.197,0.187,0.140,0.080,0.142,0.114,0.015,0.063,0.114,
+0.151,0.149,0.087,0.193,0.174,0.161,0.077,0.138,0.149,0.141,
+0.084,0.112,0.122,0.015,0.093,0.184,0.128,0.141,0.089,0.188,
+0.099,0.126,0.065,0.125,0.011,0.013,8.44e-3,0.014,0.153,0.018,
+0.079,0.118,0.101,0.140,0.122,0.181,0.176,0.144,0.086,0.260,
+0.191,0.163,0.097,0.208,0.156,0.016,0.087,0.201,0.237,0.207,
+0.179,0.445,3.945,2.076,1.474,2.092,2.480,1.888,1.522,2.095,
+2.185,0.272,1.411,1.965,2.331,2.249,1.953,3.769,0.187,0.159,
+0.084,0.134,0.138,0.142,0.093,0.119,0.134,0.017,0.103,0.136,
+0.207,0.238,0.152,0.270,2.307,2.225,1.488,2.137,0.179,0.153,
+0.122,0.197,2.260,0.188,1.436,1.916,1.672,2.148,1.874,2.838,
+2.407,1.565,1.258,2.168,2.572,1.963,1.537,2.295,2.786,0.219,
+2.163,3.141,2.818,2.512,3.306,5.795,4.549,2.405,1.816,3.425,
+2.505,1.711,1.282,2.128,2.404,0.194,1.553,2.398,3.166,2.269,
+1.818,4.512,3.690,2.628,1.603,2.706,2.644,2.252,1.491,1.910,
+2.540,0.172,1.963,2.773,3.104,3.134,2.221,4.382,3.263,2.789,
+2.011,3.234,0.196,0.169,0.123,0.228,3.170,0.207,2.219,3.228,
+2.931,3.408,2.965,4.630,4.128,2.183,2.025,3.702,2.852,2.025,
+1.664,2.647,4.124,0.239,3.336,5.178,5.133,4.229,5.008,9.086,
+18.6,5.693,3.582,9.236,4.267,2.357,2.061,3.949,4.022,0.302,
+1.645,3.284,6.336,4.242,2.676,7.874,5.092,2.733,1.550,3.102,
+2.558,1.584,1.347,2.074,2.260,0.134,1.349,2.104,2.672,2.030,
+1.466,3.374,3.969,3.747,1.747,4.623,0.219,0.197,0.120,0.413,
+2.504,0.186,1.311,2.481,2.579,2.608,1.908,4.877,6.451,3.670,
+2.691,7.663,3.671,2.391,1.977,4.834,3.658,0.245,2.059,4.248,
+6.860,4.523,4.723,15.9,6.743,3.334,1.869,4.115,3.584,2.195,
+1.433,2.512,2.331,0.171,1.087,2.070,3.383,2.646,1.367,3.889,
+3.884,2.618,1.303,2.418,2.387,2.480,0.997,1.610,1.912,0.129,
+1.190,2.044,2.320,2.028,1.282,2.797,2.809,2.341,1.279,3.100,
+0.141,0.136,0.073,0.198,2.323,0.160,1.362,2.309,2.234,2.381,
+1.698,3.702,3.731,2.494,1.621,4.387,2.704,2.057,1.510,3.341,
+2.878,0.175,1.544,3.115,4.119,3.334,2.929,7.997,6.412,2.922,
+2.301,3.571,3.767,2.290,2.039,3.566,3.461,0.327,1.643,3.010,
+4.146,3.261,2.767,6.428,0.229,0.170,0.112,0.189,0.167,0.149,
+0.107,0.183,0.166,0.014,0.103,0.171,0.338,0.258,0.165,0.367,
+3.825,3.018,2.096,3.751,0.190,0.150,0.119,0.281,3.189,0.228,
+2.464,2.997,2.945,3.266,3.017,5.340,4.839,2.850,2.460,4.735,
+3.881,2.562,2.439,4.938,4.420,0.258,3.739,5.764,5.390,3.784,
+5.662,11.2,19.4,4.937,3.497,8.913,4.033,2.319,2.090,5.099,
+4.155,0.296,2.068,4.121,7.888,4.979,3.828,13.2,4.986,3.043,
+1.951,2.930,2.874,1.483,1.743,3.010,3.570,0.193,2.143,3.467,
+6.378,4.015,3.078,7.020,5.311,3.915,2.907,5.473,0.234,0.172,
+0.119,0.383,4.337,0.238,3.038,4.781,5.424,5.050,5.257,9.526,
+13.8,3.350,2.817,8.345,4.541,2.788,2.265,6.215,5.319,0.264,
+4.532,7.094,10.2,5.962,10.5,22.2,20.7,6.763,4.169,10.7,
+6.353,2.819,2.110,3.214,4.049,0.338,1.159,2.340,7.015,4.101,
+1.960,4.225,9.154,3.717,2.224,2.996,3.716,1.798,1.536,1.576,
+3.200,0.217,1.433,1.838,2.805,2.059,1.553,2.575,5.677,3.463,
+2.320,3.594,0.425,0.303,0.215,0.459,2.097,0.220,1.201,1.727,
+2.463,2.700,1.527,2.359,8.414,3.163,3.007,5.970,4.585,2.858,
+2.354,4.106,3.615,0.270,1.629,2.907,4.774,2.575,2.359,3.927,
+11.4,3.836,2.090,3.588,4.296,2.607,1.531,1.854,3.199,0.285,
+1.163,1.938,2.962,2.646,1.332,2.414,5.048,2.751,1.306,1.822,
+2.872,1.677,1.110,1.194,2.616,0.194,1.132,1.562,1.732,1.562,
+0.913,1.382,3.391,2.564,1.463,2.165,0.233,0.197,0.146,0.219,
+2.039,0.186,1.088,1.510,1.498,1.918,1.107,1.768,2.890,1.625,
+1.177,2.010,2.251,1.604,1.086,1.640,2.128,0.156,1.006,1.689,
+2.168,1.735,1.336,2.711,6.693,2.592,2.048,3.417,4.217,2.260,
+1.901,2.595,3.336,0.346,1.208,2.241,3.203,2.584,1.785,3.913,
+0.514,0.303,0.184,0.286,0.420,0.271,0.186,0.221,0.278,0.040,
+0.165,0.253,0.380,0.447,0.241,0.445,2.813,1.870,1.592,1.735,
+0.256,0.174,0.146,0.206,1.713,0.186,0.915,1.294,1.620,1.590,
+1.146,1.615,2.691,1.417,1.485,2.085,3.117,2.021,1.447,1.984,
+2.046,0.169,1.118,1.751,1.962,1.661,1.682,2.717,8.909,3.291,
+2.528,5.531,3.338,1.703,1.509,2.182,3.897,0.370,1.379,2.607,
+4.970,3.304,2.536,6.654,5.382,3.084,2.034,2.885,3.420,2.122,
+1.697,1.880,2.992,0.212,1.556,2.458,3.419,3.548,2.216,4.026,
+3.136,2.309,1.764,2.341,0.251,0.191,0.210,0.226,1.974,0.161,
+1.091,1.687,2.038,2.209,1.546,2.412,4.495,2.256,1.915,3.835,
+2.353,1.606,1.370,2.073,2.778,0.174,1.647,2.793,3.503,2.528,
+2.342,4.483,11.1,7.322,2.971,5.301,4.105,2.971,2.132,2.285,
+2.842,0.293,1.109,1.859,3.068,2.795,1.598,2.862,5.261,3.822,
+1.728,2.288,2.904,1.881,1.495,1.580,2.024,0.222,1.117,1.629,
+1.491,1.531,0.993,1.714,2.732,2.321,1.381,1.991,0.250,0.239,
+0.150,0.250,1.306,0.135,0.839,1.176,1.165,1.594,0.975,1.615,
+2.692,1.255,1.170,1.940,2.319,1.653,1.108,1.680,1.437,0.124,
+0.714,1.510,1.696,1.133,1.111,2.510,5.624,3.936,1.438,2.464,
+3.131,2.330,1.198,1.344,1.922,0.207,0.709,1.280,1.549,1.620,
+0.876,1.680,3.174,2.374,0.986,1.249,2.056,1.118,1.096,1.094,
+1.474,0.171,0.805,1.192,0.971,1.145,0.729,1.000,2.025,2.241,
+0.988,1.406,0.186,0.233,0.113,0.158,1.357,0.193,0.730,1.105,
+0.892,1.549,0.753,1.356,1.534,1.072,0.627,1.034,1.508,1.290,
+0.652,0.924,1.187,0.119,0.498,0.981,1.097,0.870,0.645,1.572,
+3.427,2.091,1.169,1.877,2.662,1.968,1.640,1.665,1.722,0.215,
+0.832,1.350,1.431,1.417,1.086,2.122,0.228,0.223,0.099,0.153,
+0.191,0.217,0.140,0.133,0.131,0.036,0.122,0.163,0.137,0.187,
+0.125,0.195,1.725,1.706,1.151,1.326,0.189,0.181,0.124,0.145,
+1.185,0.163,0.754,1.092,0.864,1.364,0.981,1.410,1.285,0.805,
+0.738,1.106,1.743,1.424,1.063,1.349,1.185,0.112,0.820,1.323,
+1.068,0.938,1.215,1.949,3.068,1.463,0.989,1.773,1.900,1.009,
+0.744,0.931,1.379,0.116,0.547,1.009,1.532,1.096,0.842,1.928,
+2.467,1.773,1.209,1.549,1.639,1.458,1.005,1.128,1.055,0.111,
+0.809,1.406,1.050,1.325,0.906,1.592,1.707,1.461,1.113,1.454,
+0.135,0.122,0.085,0.134,1.044,0.101,0.695,1.116,0.946,1.225,
+0.937,1.503,1.879,0.932,0.949,1.497,1.349,1.010,0.745,1.153,
+1.339,0.103,0.933,1.726,1.935,1.560,1.484,2.604,5.453,2.828,
+2.189,3.303,2.205,1.471,1.107,1.382,2.088,0.202,1.195,1.532,
+2.137,1.854,1.234,2.112,4.254,2.686,1.582,1.979,2.160,1.466,
+1.216,1.184,2.013,0.188,1.225,1.497,1.417,1.489,1.008,1.523,
+2.307,2.187,1.498,1.862,0.239,0.246,0.160,0.269,1.299,0.193,
+0.723,1.062,1.160,1.975,1.023,1.693,2.214,1.192,1.179,1.748,
+1.787,1.418,0.983,1.368,1.680,0.159,0.897,1.555,1.815,1.353,
+1.502,3.528,0.380,0.293,0.146,0.252,0.267,0.237,0.122,0.147,
+0.179,0.032,0.094,0.142,0.161,0.209,0.124,0.199,0.327,0.371,
+0.122,0.159,0.303,0.313,0.145,0.155,0.182,0.038,0.135,0.151,
+0.134,0.188,0.102,0.145,0.206,0.251,0.128,0.154,0.028,0.045,
+0.033,0.029,0.191,0.057,0.112,0.154,0.130,0.261,0.131,0.199,
+0.277,0.175,0.133,0.232,0.297,0.315,0.180,0.284,0.210,0.029,
+0.142,0.231,0.230,0.184,0.191,0.387,2.499,1.651,1.020,1.192,
+1.770,1.378,1.182,1.116,1.715,0.251,0.990,1.283,1.201,1.309,
+1.183,1.470,0.222,0.310,0.099,0.118,0.154,0.169,0.103,0.097,
+0.173,0.049,0.152,0.138,0.154,0.209,0.139,0.151,1.328,1.541,
+0.889,0.917,0.142,0.179,0.102,0.147,1.665,0.575,0.574,0.814,
+0.935,1.755,0.738,0.911,1.142,0.768,0.627,0.756,1.295,1.248,
+0.806,1.052,1.350,0.231,0.871,1.189,0.964,1.048,0.847,1.289,
+2.331,1.328,0.813,1.422,1.547,0.838,0.563,0.725,1.320,0.135,
+0.702,1.129,1.480,1.124,0.943,1.859,2.956,3.495,1.168,1.450,
+2.122,1.523,0.960,0.984,1.610,0.166,1.219,1.531,1.394,1.576,
+1.144,1.521,1.678,1.643,1.072,1.264,0.154,0.180,0.088,0.130,
+1.560,0.371,0.800,1.192,1.169,1.852,1.056,1.505,1.807,0.996,
+1.117,1.148,1.407,1.184,0.862,1.121,1.633,0.178,1.166,1.787,
+1.763,1.560,1.501,2.441,8.526,3.959,2.829,5.749,2.940,1.669,
+1.638,1.970,2.550,0.257,1.204,2.159,4.221,2.858,2.006,4.430,
+3.837,1.906,1.296,1.915,1.834,1.052,0.867,1.033,1.680,0.121,
+0.875,1.323,1.471,1.171,0.951,1.710,3.070,2.260,1.385,2.585,
+0.261,0.227,0.149,0.351,1.572,0.143,0.689,1.404,1.647,1.704,
+1.007,2.118,3.619,1.629,1.706,3.746,2.290,1.537,1.263,2.355,
+1.976,0.149,1.130,2.411,3.059,1.929,2.056,6.032,5.450,3.039,
+1.619,2.959,2.883,2.019,1.228,1.680,2.328,0.200,1.011,1.745,
+2.207,2.001,1.226,2.334,3.531,2.339,1.075,1.731,2.181,1.785,
+1.002,1.184,1.749,0.158,1.012,1.505,1.443,1.362,0.831,1.423,
+3.090,2.230,1.102,1.944,0.174,0.168,0.095,0.182,1.738,0.161,
+0.885,1.573,1.670,1.893,1.173,2.119,2.900,1.545,1.225,2.504,
+2.408,1.917,1.137,2.187,2.004,0.140,1.197,2.240,2.271,1.621,
+1.831,3.579,2.759,1.918,1.186,2.004,2.254,1.537,1.130,1.686,
+1.919,0.219,1.076,1.561,1.910,1.585,1.248,2.234,0.222,0.245,
+0.098,0.166,0.170,0.151,0.108,0.130,0.146,0.030,0.131,0.167,
+0.168,0.197,0.114,0.199,1.715,1.571,0.974,1.250,0.132,0.108,
+0.084,0.133,1.431,0.185,0.662,0.997,1.258,1.565,0.973,1.397,
+1.643,1.145,0.935,1.424,1.951,1.383,1.127,1.631,1.691,0.145,
+1.063,1.693,1.506,1.319,1.262,2.438,4.837,2.233,1.518,2.765,
+2.080,1.230,1.082,1.282,2.027,0.172,0.937,1.647,2.896,1.864,
+1.569,3.655,2.670,1.859,1.050,1.567,1.655,1.084,0.945,0.998,
+1.376,0.101,0.963,1.509,1.564,1.491,1.062,1.900,2.631,2.076,
+1.378,2.026,0.176,0.135,0.084,0.163,1.831,0.152,0.942,1.599,
+2.002,2.333,1.542,2.376,3.593,1.708,1.498,3.159,2.298,1.847,
+1.333,1.958,2.446,0.141,1.544,2.747,3.859,2.352,2.365,3.998,
+7.791,4.749,3.524,5.696,4.875,3.200,1.957,2.419,3.306,0.376,
+1.431,2.640,4.296,3.431,1.847,3.338,4.718,2.725,1.407,1.686,
+2.731,1.856,1.346,1.368,1.904,0.207,1.164,1.428,1.370,1.367,
+0.984,1.457,2.051,1.710,1.053,1.693,0.216,0.186,0.136,0.243,
+1.196,0.137,0.640,0.914,1.111,1.518,0.869,1.469,2.647,1.267,
+0.979,2.122,2.552,1.700,1.174,1.985,1.906,0.272,0.868,1.457,
+1.910,1.486,1.358,2.601,4.916,3.242,1.385,2.201,3.746,2.470,
+1.216,1.522,2.309,0.287,0.901,1.484,1.748,2.011,0.873,1.852,
+3.534,2.778,1.057,1.320,2.319,1.517,1.110,1.137,1.882,0.273,
+1.051,1.348,1.105,1.482,0.833,1.179,1.768,1.756,0.819,1.178,
+0.194,0.186,0.126,0.166,1.283,0.188,0.814,1.010,0.983,1.641,
+0.907,1.228,1.410,0.968,0.546,1.020,1.554,1.239,0.654,1.108,
+1.288,0.124,0.700,1.031,1.164,1.145,0.922,1.910,2.747,1.664,
+0.974,1.694,2.948,1.928,1.448,1.760,2.007,0.249,0.763,1.275,
+1.766,1.431,0.969,2.176,0.253,0.229,0.149,0.175,0.280,0.241,
+0.186,0.188,0.181,0.044,0.145,0.186,0.173,0.260,0.143,0.224,
+1.052,1.069,0.755,0.848,0.142,0.107,0.085,0.124,0.958,0.128,
+0.610,0.837,0.747,1.007,0.715,0.961,1.029,0.674,0.550,0.848,
+1.582,1.161,0.780,1.081,1.245,0.136,0.684,0.962,1.052,1.060,
+1.064,1.636,2.771,1.285,0.925,1.946,1.406,0.837,0.619,0.864,
+1.470,0.172,0.561,1.111,1.663,1.094,0.747,2.224,2.446,1.781,
+1.065,1.462,1.890,1.392,1.079,1.129,1.230,0.139,0.883,1.333,
+1.150,1.360,0.809,1.406,1.181,1.045,0.843,0.950,0.129,0.087,
+0.143,0.110,0.816,0.091,0.520,0.717,0.780,1.051,0.703,0.942,
+1.707,0.813,0.614,1.255,1.006,0.705,0.680,0.867,1.210,0.109,
+0.812,1.294,1.559,1.303,1.239,2.523,5.243,3.792,1.985,3.346,
+3.893,4.538,1.772,1.828,1.921,0.256,0.900,1.347,1.830,1.999,
+1.037,1.850,3.543,2.765,1.281,1.554,2.874,2.288,1.475,1.343,
+1.548,0.223,1.125,1.340,0.851,1.149,0.853,1.127,1.412,1.548,
+0.929,1.363,0.169,0.226,0.141,0.197,0.782,0.119,0.656,0.778,
+0.621,1.011,0.747,1.079,1.351,0.797,0.605,1.189,1.567,1.504,
+0.860,1.139,0.972,0.147,0.615,0.875,0.915,0.847,0.859,1.626,
+3.138,2.935,1.098,1.499,2.564,2.666,1.010,1.113,1.417,0.213,
+0.715,1.088,0.980,1.356,0.660,1.140,2.558,2.084,0.897,0.942,
+1.530,0.555,0.879,0.852,1.345,0.292,0.917,1.225,0.652,1.165,
+0.722,0.900,1.170,1.673,0.731,1.007,0.163,0.252,0.127,0.154,
+0.962,0.194,0.677,0.897,0.588,1.368,0.777,0.999,0.819,0.806,
+0.386,0.668,1.121,1.254,0.539,0.780,0.780,0.101,0.522,0.780,
+0.606,0.718,0.513,1.146,2.320,1.573,0.734,1.137,2.681,2.306,
+1.480,1.331,1.247,0.198,0.714,0.999,0.897,1.104,0.874,1.415,
+0.236,0.240,0.100,0.131,0.313,0.323,0.256,0.158,0.134,0.064,
+0.164,0.169,0.082,0.194,0.128,0.137,1.196,1.345,0.826,0.915,
+0.310,0.243,0.150,0.154,0.851,0.148,0.650,0.872,0.580,1.144,
+0.909,1.007,0.810,0.556,0.460,0.671,1.904,1.579,1.092,1.213,
+0.953,0.128,0.727,1.069,0.754,0.870,1.152,1.552,1.643,0.980,
+0.612,1.027,1.297,0.900,0.508,0.640,0.789,0.086,0.383,0.606,
+0.794,0.655,0.502,1.059,1.802,1.467,0.883,1.098,1.568,1.617,
+1.059,1.030,0.792,0.124,0.742,1.044,0.597,0.920,0.658,0.989,
+0.938,1.116,0.775,0.897,0.119,0.128,0.076,0.099,0.567,0.082,
+0.515,0.664,0.516,0.866,0.688,0.927,0.951,0.578,0.418,0.766,
+0.870,0.795,0.595,0.732,0.696,0.075,0.554,0.919,0.875,0.987,
+0.852,1.644,2.703,1.956,1.212,1.907,1.824,1.363,0.936,1.127,
+1.286,0.162,0.763,1.092,1.196,1.291,0.811,1.379,2.757,2.737,
+1.007,1.536,2.280,1.729,1.232,1.260,1.866,0.252,1.225,1.542,
+0.930,1.356,0.775,1.174,1.253,1.654,0.769,1.114,0.165,0.172,
+0.117,0.205,0.854,0.150,0.530,0.796,0.698,1.240,0.632,1.114,
+1.108,0.783,0.522,1.047,1.185,1.087,0.670,0.997,1.029,0.129,
+0.708,1.087,0.990,0.872,1.128,2.084,0.164,0.185,0.071,0.114,
+0.214,0.219,0.120,0.119,0.118,0.031,0.068,0.112,0.097,0.149,
+0.106,0.159,0.191,0.297,0.088,0.106,0.289,0.320,0.182,0.188,
+0.169,0.084,0.155,0.165,0.081,0.161,0.084,0.106,0.112,0.201,
+0.083,0.098,0.028,0.057,0.041,0.030,0.114,0.053,0.111,0.129,
+0.080,0.185,0.120,0.147,0.102,0.086,0.049,0.098,0.163,0.200,
+0.105,0.156,0.105,0.024,0.101,0.143,0.085,0.115,0.129,0.193,
+1.796,1.833,0.834,1.011,2.119,2.132,1.398,1.410,1.574,0.313,
+0.964,1.228,0.900,1.282,1.083,1.446,0.178,0.437,0.139,0.118,
+0.191,0.333,0.201,0.128,0.179,0.089,0.187,0.169,0.103,0.245,
+0.137,0.139,1.089,1.694,0.846,0.887,0.147,0.205,0.137,0.144,
+1.181,0.256,0.712,0.944,0.704,1.281,0.907,0.939,0.728,0.674,
+0.497,0.601,1.191,1.448,0.893,1.007,1.230,0.213,1.076,1.148,
+0.705,0.934,1.163,1.250,1.386,1.012,0.454,0.814,0.983,0.695,
+0.406,0.512,0.870,0.105,0.460,0.732,0.779,0.753,0.576,1.089,
+1.885,2.509,0.851,1.013,1.958,1.925,0.994,0.984,1.585,0.231,
+1.149,1.399,0.895,1.414,0.873,1.178,1.101,1.507,0.691,0.879,
+0.119,0.143,0.085,0.105,0.997,0.165,0.748,0.964,0.736,1.392,
+0.883,1.276,0.964,0.791,0.549,0.865,0.849,0.876,0.589,0.803,
+1.123,0.162,1.124,1.313,1.072,1.224,1.205,1.844,2.859,1.430,
+0.967,1.876,1.164,0.823,0.603,0.896,1.061,0.113,0.495,1.105,
+1.264,1.001,0.661,1.585,1.927,1.250,0.623,1.037,1.140,0.806,
+0.594,0.793,0.893,0.074,0.512,0.830,0.753,0.632,0.467,0.852,
+1.105,1.063,0.529,0.941,0.090,0.089,0.052,0.125,0.572,0.063,
+0.313,0.603,0.596,0.773,0.455,0.915,1.353,0.711,0.570,1.238,
+0.927,0.690,0.499,0.992,0.771,0.065,0.445,0.940,1.089,0.752,
+0.872,2.188,2.399,1.595,0.745,1.305,1.679,1.531,0.933,1.059,
+1.438,0.171,0.634,1.207,1.138,1.318,0.716,1.381,1.847,1.607,
+0.611,0.948,1.794,1.592,0.834,1.019,1.262,0.163,0.759,1.117,
+0.967,1.136,0.604,0.974,0.998,1.351,0.488,0.744,0.084,0.127,
+0.066,0.104,0.864,0.134,0.524,0.890,0.766,1.279,0.697,1.126,
+0.922,0.667,0.444,0.827,1.136,1.068,0.622,1.145,0.886,0.088,
+0.633,1.150,0.908,0.893,0.943,1.810,1.883,1.369,0.684,1.034,
+1.798,1.702,1.015,1.239,1.396,0.190,0.749,1.232,1.030,1.002,
+0.925,1.604,0.159,0.192,0.073,0.102,0.124,0.187,0.117,0.109,
+0.099,0.025,0.090,0.113,0.092,0.137,0.093,0.134,1.457,1.225,
+0.610,0.776,0.117,0.105,0.071,0.103,1.022,0.131,0.620,0.825,
+0.931,1.116,0.758,1.088,0.943,0.675,0.524,0.749,1.355,1.080,
+0.784,1.070,1.130,0.165,0.879,1.124,0.983,0.956,1.111,1.638,
+2.085,1.182,0.671,1.265,1.115,0.829,0.510,0.702,1.118,0.116,
+0.575,0.976,1.113,0.815,0.710,1.634,1.556,1.251,0.588,0.906,
+1.222,1.044,0.657,0.801,1.140,0.102,0.623,1.070,0.900,0.886,
+0.662,1.199,1.525,1.259,0.720,1.076,0.197,0.096,0.063,0.110,
+1.029,0.103,0.727,1.032,1.049,1.348,1.053,1.480,1.674,0.969,
+0.754,1.648,1.502,1.199,0.935,1.245,1.461,0.127,1.195,1.948,
+2.016,1.498,1.705,2.357,3.332,2.085,1.941,2.931,2.347,1.483,
+1.488,1.504,1.842,0.194,0.816,1.315,2.171,1.935,1.029,1.866,
+1.863,1.248,1.123,1.162,1.343,0.839,0.820,0.789,0.991,0.108,
+0.591,0.747,0.868,0.873,0.650,1.002,1.354,1.158,0.864,1.089,
+0.134,0.109,0.092,0.164,0.766,0.094,0.447,0.645,0.751,0.992,
+0.677,0.996,1.543,0.843,0.695,1.374,1.435,0.952,0.819,1.133,
+0.881,0.086,0.506,0.848,1.290,0.806,0.904,1.873,3.307,1.721,
+1.178,1.909,2.110,1.395,1.134,1.155,1.524,0.172,0.665,1.203,
+1.191,1.275,0.645,1.259,1.749,1.243,0.679,0.878,1.272,0.704,
+0.767,0.736,1.226,0.129,0.583,0.814,0.712,0.905,0.447,0.724,
+1.409,1.383,0.899,1.349,0.144,0.147,0.115,0.158,0.993,0.124,
+0.615,1.020,0.658,1.123,0.735,0.969,1.018,0.654,0.499,0.965,
+1.205,1.033,0.976,1.056,0.824,0.073,0.462,0.784,0.807,0.714,
+0.722,1.554,1.963,1.049,0.722,1.203,2.071,1.497,1.392,1.356,
+1.793,0.236,0.676,0.966,1.255,1.372,0.845,1.593,0.200,0.167,
+0.098,0.143,0.222,0.230,0.158,0.172,0.183,0.041,0.120,0.149,
+0.181,0.324,0.134,0.218,0.992,0.921,0.636,0.732,0.118,0.104,
+0.085,0.128,0.746,0.099,0.410,0.563,0.681,1.074,0.568,0.755,
+0.887,0.622,0.442,0.718,1.410,1.068,0.904,1.081,0.943,0.113,
+0.547,0.794,1.278,1.039,0.929,1.532,2.090,0.899,0.680,1.329,
+1.132,0.688,0.599,0.832,1.268,0.190,0.578,0.899,1.327,1.159,
+0.755,1.720,1.589,1.088,0.690,0.969,1.321,1.035,0.803,0.910,
+1.161,0.185,0.667,0.935,1.088,1.302,0.696,1.262,1.049,1.069,
+0.955,1.049,0.132,0.099,0.089,0.138,0.817,0.085,0.542,0.851,
+0.843,1.159,0.819,1.346,1.411,0.781,0.669,1.308,0.976,0.706,
+0.643,0.990,1.428,0.136,1.015,1.671,2.166,1.704,1.827,3.535,
+0.229,0.184,0.147,0.174,0.189,0.167,0.131,0.132,0.166,0.038,
+0.076,0.121,0.163,0.221,0.094,0.139,0.208,0.171,0.203,0.141,
+0.189,0.154,0.151,0.121,0.110,0.022,0.093,0.099,0.079,0.121,
+0.080,0.114,0.113,0.121,0.083,0.098,0.017,0.024,0.016,0.024,
+0.080,0.016,0.059,0.072,0.064,0.109,0.068,0.099,0.111,0.070,
+0.059,0.103,0.149,0.125,0.095,0.115,0.099,0.012,0.055,0.096,
+0.095,0.071,0.088,0.182,0.221,0.177,0.095,0.178,0.169,0.173,
+0.111,0.114,0.122,0.026,0.060,0.139,0.098,0.125,0.061,0.102,
+0.193,0.187,0.088,0.099,0.186,0.134,0.139,0.124,0.129,0.035,
+0.095,0.106,0.066,0.106,0.064,0.082,0.106,0.156,0.090,0.117,
+0.027,0.042,0.030,0.036,0.114,0.033,0.084,0.109,0.065,0.139,
+0.088,0.113,0.088,0.072,0.047,0.081,0.145,0.152,0.106,0.109,
+0.080,0.010,0.054,0.078,0.070,0.070,0.075,0.134,0.145,0.108,
+0.063,0.090,0.188,0.204,0.173,0.149,0.151,0.033,0.088,0.087,
+0.085,0.117,0.086,0.121,0.019,0.032,0.015,0.018,0.035,0.065,
+0.044,0.029,0.028,0.020,0.040,0.028,0.013,0.034,0.024,0.020,
+0.105,0.135,0.100,0.095,0.026,0.039,0.032,0.025,0.095,0.032,
+0.087,0.091,0.069,0.180,0.113,0.105,0.101,0.065,0.055,0.081,
+0.177,0.177,0.141,0.153,0.108,0.021,0.084,0.109,0.105,0.129,
+0.124,0.199,0.218,0.139,0.084,0.137,0.130,0.097,0.074,0.093,
+0.122,0.021,0.061,0.097,0.123,0.120,0.117,0.192,0.254,0.198,
+0.135,0.154,0.265,0.254,0.198,0.193,0.217,0.034,0.151,0.179,
+0.149,0.226,0.140,0.197,0.113,0.139,0.112,0.130,0.017,0.021,
+0.016,0.023,0.110,0.019,0.103,0.127,0.096,0.149,0.124,0.174,
+0.153,0.104,0.078,0.140,0.135,0.120,0.096,0.130,0.147,0.018,
+0.129,0.202,0.204,0.191,0.189,0.333,1.791,1.082,0.815,1.194,
+1.232,0.874,0.595,0.748,0.779,0.110,0.715,0.703,0.823,0.754,
+0.606,0.789,1.535,1.131,0.649,0.760,1.407,1.036,0.789,0.681,
+0.886,0.129,0.783,0.784,0.556,0.758,0.491,0.666,0.965,1.301,
+0.673,0.850,0.157,0.178,0.107,0.183,1.241,0.401,0.544,0.692,
+0.580,1.763,0.504,0.787,0.769,0.476,0.367,0.707,1.018,0.707,
+0.529,0.738,0.744,0.096,0.547,0.784,0.625,0.642,0.598,1.201,
+0.152,0.120,0.069,0.116,0.239,0.177,0.084,0.092,0.078,0.021,
+0.056,0.069,0.057,0.074,0.046,0.072,0.135,0.128,0.052,0.060,
+0.173,0.194,0.107,0.089,0.094,0.035,0.093,0.092,0.051,0.075,
+0.047,0.063,0.090,0.154,0.077,0.085,0.028,0.044,0.030,0.022,
+0.102,0.041,0.101,0.097,0.056,0.138,0.070,0.117,0.104,0.063,
+0.048,0.085,0.193,0.156,0.092,0.123,0.086,0.016,0.068,0.094,
+0.064,0.064,0.078,0.122,1.156,0.974,0.488,0.520,1.564,2.292,
+0.927,0.802,0.883,0.184,0.646,0.708,0.480,0.693,0.553,0.696,
+0.112,0.210,0.065,0.071,0.216,0.766,0.155,0.114,0.106,0.054,
+0.106,0.094,0.064,0.147,0.081,0.077,0.827,1.010,0.528,0.581,
+0.126,0.206,0.104,0.124,0.694,0.134,0.264,0.417,0.380,0.869,
+0.480,0.573,0.643,0.410,0.284,0.415,1.061,0.986,0.591,0.679,
+0.792,0.111,0.543,0.646,0.455,0.633,0.503,0.690,1.028,0.598,
+0.387,0.583,0.744,0.611,0.316,0.374,0.572,0.082,0.349,0.483,
+0.463,0.475,0.347,0.586,1.109,1.020,0.528,0.560,1.264,1.733,
+0.721,0.633,0.771,0.137,0.653,0.733,0.576,0.891,0.591,0.694,
+0.807,1.095,0.540,0.679,0.101,0.140,0.076,0.099,0.848,0.121,
+0.559,0.680,0.537,0.970,0.635,0.761,0.670,0.463,0.312,0.470,
+0.897,0.691,0.416,0.553,0.723,0.081,0.636,0.809,0.619,0.663,
+0.667,0.865,2.040,1.050,0.698,1.405,1.011,0.629,0.466,0.639,
+0.779,0.082,0.351,0.655,1.270,0.745,0.479,1.181,1.587,0.856,
+0.469,0.682,0.783,0.513,0.389,0.476,0.517,0.049,0.308,0.476,
+0.482,0.443,0.319,0.631,1.028,1.167,0.442,0.761,0.100,0.082,
+0.050,0.126,0.778,0.087,0.297,0.540,0.569,0.869,0.401,0.736,
+1.116,0.622,0.487,0.901,0.944,0.544,0.439,0.764,0.657,0.054,
+0.367,0.638,0.891,0.611,0.630,1.494,2.344,1.457,0.850,1.473,
+1.606,1.253,0.780,0.959,0.988,0.109,0.537,0.825,0.907,0.853,
+0.478,0.960,1.729,1.336,0.566,0.847,1.292,1.052,0.790,0.915,
+0.848,0.095,0.596,0.848,0.619,0.657,0.419,0.737,1.020,1.159,
+0.611,0.868,0.120,0.125,0.093,0.125,0.886,0.116,0.650,0.891,
+0.650,1.164,0.649,1.111,1.275,0.695,0.590,0.864,1.792,1.035,
+0.798,1.097,0.865,0.071,0.561,0.858,0.791,0.721,0.702,1.350,
+1.584,1.095,0.671,0.865,1.506,1.452,0.962,1.061,1.036,0.152,
+0.623,1.241,0.826,0.969,0.781,1.315,0.147,0.147,0.064,0.095,
+0.147,0.257,0.135,0.121,0.086,0.036,0.091,0.111,0.085,0.183,
+0.079,0.113,0.918,1.321,0.557,0.752,0.099,0.149,0.088,0.123,
+1.021,0.280,0.501,0.812,0.946,3.249,0.734,0.973,0.906,0.665,
+0.489,0.710,1.299,1.123,0.862,1.101,1.085,0.111,0.771,1.045,
+1.007,1.131,0.913,1.375,2.262,0.792,0.600,1.042,0.910,0.573,
+0.448,0.618,0.930,0.119,0.448,0.882,0.750,0.581,0.488,1.273,
+1.534,1.083,0.601,0.833,1.241,1.039,0.742,0.780,0.790,0.083,
+0.658,0.934,0.727,0.800,0.624,1.071,1.185,1.294,0.714,1.146,
+0.114,0.130,0.071,0.144,1.196,0.130,0.855,1.272,0.956,1.471,
+0.950,1.318,1.520,0.823,0.681,1.348,1.298,1.201,0.769,1.175,
+1.261,0.097,1.030,1.671,1.590,1.180,1.350,2.117,4.965,2.834,
+2.315,4.727,2.738,1.557,1.392,1.843,2.461,0.226,0.953,1.775,
+3.969,3.278,1.488,3.153,2.324,1.253,1.006,1.346,1.299,0.726,
+0.658,0.756,1.209,0.089,0.641,0.826,1.163,1.084,0.732,1.261,
+1.568,1.189,0.802,1.420,0.146,0.113,0.090,0.186,0.941,0.078,
+0.422,0.716,0.967,1.111,0.654,1.347,2.830,1.271,1.193,2.610,
+1.826,1.211,1.226,1.613,1.381,0.111,0.730,1.311,2.081,1.329,
+1.357,3.384,2.838,1.475,0.870,1.881,1.673,0.885,0.627,0.855,
+1.285,0.107,0.485,0.798,1.242,1.093,0.520,1.280,1.537,1.021,
+0.476,0.790,0.933,0.478,0.440,0.563,0.912,0.056,0.371,0.559,
+0.718,0.645,0.354,0.673,1.115,0.873,0.638,1.061,0.088,0.074,
+0.068,0.108,0.976,0.068,0.368,0.588,0.900,1.095,0.524,0.991,
+1.099,0.634,0.595,1.170,0.927,0.691,0.950,0.891,0.826,0.051,
+0.385,0.729,0.889,0.720,0.630,1.725,2.250,1.018,0.749,1.418,
+1.622,1.112,0.930,1.286,1.493,0.144,0.439,0.825,1.599,1.229,
+0.717,1.941,0.172,0.106,0.070,0.132,0.124,0.098,0.079,0.116,
+0.118,0.014,0.060,0.102,0.180,0.175,0.090,0.204,0.863,0.748,
+0.603,0.838,0.080,0.058,0.051,0.097,0.606,0.065,0.268,0.503,
+0.726,0.845,0.484,0.823,0.970,0.571,0.755,1.411,1.017,0.712,
+0.632,1.054,0.827,0.074,0.429,0.773,1.096,0.846,0.849,1.637,
+3.449,1.299,0.930,2.137,1.446,0.818,0.667,1.108,1.825,0.152,
+0.726,1.296,3.149,1.681,1.100,3.065,1.955,1.103,0.794,1.268,
+1.260,0.814,0.706,0.899,1.251,0.108,0.672,1.015,1.606,1.391,
+0.835,1.720,1.290,1.060,0.860,1.266,0.104,0.081,0.070,0.121,
+1.063,0.069,0.604,0.946,1.131,1.282,0.858,1.712,2.341,1.194,
+1.078,2.567,1.456,1.046,0.834,1.375,1.877,0.124,1.079,1.996,
+3.116,2.375,2.055,4.943,3.869,2.333,1.622,3.097,2.332,1.654,
+1.247,1.608,1.866,0.258,0.760,1.368,2.872,4.286,1.180,2.323,
+2.640,1.717,1.220,1.696,1.727,1.146,0.989,1.091,1.190,0.134,
+0.834,1.051,1.119,1.452,0.812,1.552,1.384,1.443,0.790,1.292,
+0.143,0.147,0.089,0.174,0.886,0.098,0.515,0.804,1.017,1.237,
+0.780,1.438,1.466,0.877,0.768,1.335,1.489,1.225,0.810,1.142,
+0.956,0.088,0.580,1.025,1.197,0.898,0.919,2.147,2.751,1.676,
+0.907,2.594,1.809,1.282,0.804,1.093,1.143,0.128,0.466,1.203,
+1.607,1.516,0.594,1.506,1.845,1.619,0.650,1.144,1.509,0.894,
+0.739,0.878,1.027,0.107,0.527,0.789,0.813,0.929,0.484,0.834,
+1.146,1.239,0.638,1.188,0.160,0.139,0.088,0.323,1.004,0.116,
+0.498,0.849,1.122,1.234,0.654,1.420,0.990,0.855,0.548,0.960,
+1.155,1.234,0.664,0.946,0.694,0.064,0.380,0.750,0.856,0.715,
+0.594,1.422,2.042,1.075,0.666,1.310,1.616,1.172,1.038,1.580,
+1.252,0.150,0.561,0.779,1.158,1.147,0.724,1.510,0.116,0.109,
+0.064,0.101,0.128,0.135,0.107,0.124,0.094,0.020,0.083,0.093,
+0.112,0.155,0.088,0.133,1.060,1.076,0.711,0.988,0.107,0.109,
+0.085,0.130,0.810,0.105,0.464,0.778,0.791,1.219,0.735,1.179,
+0.999,0.635,0.577,0.947,1.263,1.111,0.884,1.119,0.925,0.089,
+0.557,0.968,1.102,0.981,1.116,1.941,2.698,1.192,0.732,1.430,
+1.112,0.725,0.571,0.823,1.107,0.105,0.521,0.935,1.509,1.060,
+0.843,1.847,1.853,1.294,0.971,1.254,1.489,1.228,1.017,1.126,
+1.130,0.118,0.755,1.111,1.330,1.518,0.973,1.590,1.149,1.189,
+0.843,1.303,0.098,0.090,0.064,0.117,0.874,0.080,0.657,1.017,
+0.916,1.192,0.841,1.517,1.563,0.890,0.768,1.341,1.277,1.010,
+0.677,1.077,1.377,0.107,0.980,1.712,1.888,1.629,1.508,2.842,
+2.027,1.383,0.887,1.775,1.211,0.880,0.581,0.856,1.068,0.113,
+0.767,0.905,1.374,1.067,0.691,1.182,2.091,1.314,0.761,1.065,
+1.278,0.864,0.666,0.682,1.009,0.102,0.676,0.869,0.977,1.034,
+0.586,1.002,1.181,1.414,0.789,1.250,0.160,0.171,0.095,0.198,
+0.944,0.123,0.533,1.235,0.744,1.323,0.664,2.114,1.197,0.839,
+0.853,1.284,1.129,1.251,0.680,1.001,1.074,0.130,0.701,1.143,
+1.037,0.898,0.928,2.078,0.159,0.120,0.083,0.254,0.125,0.116,
+0.065,0.100,0.085,0.012,0.051,0.084,0.101,0.107,0.067,0.138,
+0.133,0.121,0.050,0.084,0.120,0.141,0.080,0.079,0.089,0.019,
+0.078,0.094,0.068,0.095,0.049,0.102,0.082,0.120,0.064,0.111,
+0.013,0.023,0.017,0.031,0.160,0.026,0.072,0.160,0.092,0.197,
+0.107,0.977,0.116,0.085,0.067,0.130,0.132,0.145,0.092,0.141,
+0.097,0.013,0.064,0.108,0.089,0.093,0.092,0.276,1.394,0.957,
+0.627,0.771,1.314,1.382,0.890,0.886,1.077,0.157,0.576,0.775,
+0.774,0.879,0.780,1.143,0.113,0.125,0.052,0.075,0.096,0.188,
+0.071,0.061,0.090,0.021,0.069,0.077,0.093,0.138,0.109,0.111,
+0.920,1.341,0.657,0.785,0.101,0.137,0.076,0.104,0.815,0.116,
+0.381,0.589,0.533,1.015,0.596,0.931,0.871,0.687,0.494,0.739,
+1.048,1.166,0.762,0.848,0.969,0.095,0.732,0.873,0.732,0.804,
+0.855,1.346,1.570,0.807,0.540,1.100,0.967,0.688,0.419,0.585,
+1.085,0.095,0.501,0.752,1.164,0.764,0.570,1.123,1.700,1.258,
+0.751,1.033,1.222,1.265,0.694,0.697,1.393,0.122,0.773,1.023,
+1.254,1.290,0.842,1.266,1.220,1.445,0.865,1.111,0.097,0.119,
+0.136,0.104,1.027,0.106,0.623,0.978,0.880,1.423,0.930,1.398,
+1.202,0.777,0.620,0.924,1.051,0.940,0.695,0.844,1.138,0.097,
+0.905,1.294,1.243,1.174,1.104,1.863,3.754,1.732,1.270,2.819,
+1.503,0.942,0.724,1.205,1.368,0.129,0.678,1.186,2.000,1.598,
+0.918,2.263,2.220,1.144,0.655,1.081,1.109,0.725,0.537,0.719,
+0.913,0.070,0.569,0.822,0.897,0.838,0.529,1.028,1.483,1.918,
+0.721,1.495,0.117,0.135,0.067,0.169,0.951,0.087,0.456,0.888,
+0.936,1.148,0.648,1.421,2.060,1.238,0.998,2.146,1.315,0.981,
+0.792,1.405,1.180,0.089,0.741,1.628,1.904,1.280,1.344,3.848,
+2.116,1.204,0.871,1.634,1.251,0.956,0.557,0.894,0.902,0.076,
+0.446,0.863,0.958,0.871,0.581,1.276,1.588,1.079,0.484,0.825,
+1.034,0.805,0.513,0.696,0.803,0.064,0.509,0.862,0.761,0.729,
+0.444,0.887,1.074,0.969,0.540,1.090,0.073,0.073,0.047,0.108,
+0.909,0.086,0.506,0.979,0.936,1.439,0.675,2.263,1.462,0.871,
+0.738,1.344,1.179,0.880,0.752,1.316,0.923,0.059,0.577,1.149,
+1.124,0.913,0.924,2.241,2.296,1.536,0.964,1.369,1.850,1.380,
+1.147,1.554,1.401,0.154,0.812,1.261,1.335,1.199,1.039,2.052,
+0.160,0.235,0.082,0.118,0.117,0.125,0.115,0.119,0.080,0.013,
+0.076,0.105,0.118,0.139,0.083,0.172,1.444,1.558,0.847,1.263,
+0.105,0.097,0.073,0.131,1.205,0.124,0.614,1.108,1.086,1.614,
+0.961,1.617,1.639,1.195,1.076,1.503,1.746,1.386,1.205,1.655,
+1.528,0.112,1.024,1.716,1.505,1.232,1.376,2.500,3.620,1.534,
+1.085,2.149,1.609,1.074,0.811,1.186,1.548,0.117,0.833,1.354,
+2.173,1.457,1.470,3.285,2.651,1.780,1.004,1.534,1.808,1.576,
+0.995,1.184,1.445,0.096,0.913,1.373,1.534,1.409,1.125,2.105,
+2.177,2.126,1.282,2.133,0.126,0.118,0.094,0.147,1.728,0.119,
+1.147,1.935,1.831,2.114,1.664,2.723,3.912,2.110,1.538,3.510,
+2.274,1.793,1.300,2.326,2.427,0.131,1.761,3.079,3.825,2.161,
+2.352,4.976,6.854,4.255,2.853,5.287,4.409,3.191,2.057,2.380,
+3.706,0.425,1.547,2.676,5.002,3.845,1.969,3.377,5.806,4.470,
+1.926,2.321,3.484,2.525,1.563,1.525,2.475,0.271,1.345,1.670,
+1.814,1.988,1.271,1.859,2.738,2.881,1.628,1.964,0.283,0.308,
+0.231,0.326,1.719,0.239,1.189,1.369,1.448,2.436,1.273,1.740,
+4.245,2.175,1.724,2.775,2.990,2.311,1.873,2.593,2.049,0.239,
+1.138,1.931,2.498,1.887,1.680,2.777,4.861,2.290,1.265,2.332,
+3.554,2.641,1.476,1.562,2.324,0.310,0.911,1.364,1.707,1.907,
+0.859,1.423,3.747,2.977,1.100,1.361,2.715,2.143,1.224,1.149,
+2.045,0.308,1.019,1.364,1.163,1.683,0.794,1.008,1.973,2.477,
+1.110,1.252,0.211,0.287,0.174,0.180,1.867,0.283,1.072,1.245,
+0.961,2.014,0.948,1.137,1.542,1.156,0.663,1.059,1.807,1.570,
+0.901,1.255,1.561,0.156,0.900,1.181,1.401,1.247,0.931,1.703,
+2.401,1.437,0.854,1.287,2.382,1.490,1.567,1.312,1.979,0.312,
+0.751,1.275,1.381,1.769,0.925,1.758,0.218,0.232,0.106,0.145,
+0.243,0.222,0.171,0.137,0.180,0.051,0.126,0.165,0.160,0.308,
+0.136,0.210,1.111,1.266,1.229,0.851,0.131,0.140,0.158,0.131,
+1.085,0.149,0.589,0.911,0.646,1.083,0.718,0.755,1.071,0.756,
+0.776,0.833,1.520,1.275,1.041,1.075,1.464,0.148,0.710,1.088,
+0.962,1.126,1.070,1.467,3.086,1.368,0.918,1.889,1.534,0.892,
+0.872,0.898,1.434,0.155,0.547,1.031,1.778,1.441,0.915,2.113,
+2.586,2.099,1.135,1.442,2.075,1.546,1.418,1.139,1.425,0.149,
+0.813,1.192,1.368,1.688,0.956,1.597,1.366,1.300,1.915,1.177,
+0.158,0.147,0.885,0.211,1.122,0.132,0.773,0.956,1.005,1.447,
+1.019,1.148,1.951,1.050,0.997,1.512,1.243,0.968,1.594,1.179,
+1.575,0.153,1.047,1.578,1.824,1.624,1.552,2.685,5.414,4.677,
+1.971,3.031,3.553,2.921,1.679,1.700,1.946,0.260,0.810,1.253,
+1.942,2.196,1.106,1.880,5.974,11.6,2.507,2.518,3.167,2.985,
+1.742,1.467,1.807,0.368,0.991,1.335,1.079,1.715,0.847,1.201,
+1.676,2.979,1.138,1.252,0.243,0.358,0.191,0.207,1.150,0.187,
+0.933,0.967,0.783,1.533,0.995,1.110,1.599,1.154,0.784,1.131,
+2.028,1.877,1.010,1.246,1.090,0.128,0.646,0.949,1.299,1.076,
+0.935,1.881,3.264,3.163,1.050,1.494,3.042,2.770,1.307,1.195,
+1.530,0.257,0.659,0.934,0.967,1.542,0.853,1.200,2.564,3.576,
+0.983,1.015,2.188,1.257,1.269,0.977,1.509,0.305,0.796,1.064,
+0.780,1.375,0.782,0.876,1.354,2.530,0.869,0.955,0.229,0.423,
+0.212,0.177,1.699,0.460,0.936,1.227,0.804,2.357,0.852,1.009,
+1.092,0.989,0.450,0.647,1.647,1.730,0.717,0.841,1.114,0.154,
+0.551,0.825,1.165,1.071,0.637,1.165,1.626,1.504,0.616,0.906,
+1.913,1.785,1.286,1.166,1.153,0.224,0.629,0.773,0.656,1.017,
+0.750,1.000,0.170,0.425,0.095,0.110,0.169,0.279,0.182,0.117,
+0.143,0.094,0.142,0.156,0.082,0.224,0.099,0.122,1.140,1.497,
+1.013,0.809,0.191,0.248,0.168,0.138,1.054,0.191,0.712,0.883,
+0.532,1.210,0.780,0.791,0.852,0.664,0.531,0.679,1.469,1.603,
+1.081,1.091,1.057,0.143,0.803,1.098,0.706,0.990,0.900,1.235,
+1.487,0.954,0.538,0.838,1.262,0.812,0.506,0.579,0.695,0.072,
+0.294,0.479,0.729,0.648,0.456,0.832,1.576,1.856,0.805,0.903,
+1.340,1.574,0.862,0.857,0.830,0.125,0.534,0.748,0.647,1.230,
+0.579,0.863,0.910,1.150,0.764,0.788,0.097,0.139,0.114,0.096,
+0.813,0.121,0.586,0.773,0.590,1.022,0.708,0.844,1.041,0.698,
+0.539,0.759,0.956,0.948,0.584,0.755,0.960,0.108,0.809,1.153,
+1.165,1.135,1.047,1.805,2.398,2.137,0.997,1.581,1.661,1.754,
+0.818,0.909,1.063,0.161,0.572,0.819,1.132,1.218,0.637,1.127,
+3.336,4.976,1.535,1.506,2.604,3.535,1.278,1.241,1.620,0.336,
+0.968,1.078,0.978,1.648,0.959,1.067,1.589,2.188,1.089,1.146,
+0.234,0.333,0.148,0.207,1.212,0.248,0.585,0.771,0.651,1.490,
+0.635,0.890,1.224,0.861,0.628,0.934,1.321,1.188,0.685,0.849,
+1.102,0.134,0.582,0.931,1.087,0.926,0.857,2.062,0.202,0.323,
+0.090,0.144,0.284,0.438,0.151,0.149,0.149,0.045,0.083,0.097,
+0.114,0.230,0.094,0.135,0.334,1.297,0.146,0.170,0.446,1.164,
+0.260,0.290,0.212,0.109,0.145,0.155,0.119,0.303,0.126,0.147,
+0.130,0.288,0.110,0.108,0.039,0.102,0.051,0.036,0.190,0.079,
+0.142,0.144,0.089,0.307,0.147,0.125,0.136,0.141,0.067,0.115,
+0.252,0.310,0.159,0.189,0.153,0.035,0.111,0.147,0.134,0.160,
+0.120,0.221,1.224,1.289,0.707,0.632,1.332,1.454,2.484,0.941,
+1.257,0.281,0.825,0.723,0.630,0.999,0.982,0.838,0.146,0.427,
+0.092,0.076,0.136,0.257,0.163,0.083,0.145,0.065,0.108,0.093,
+0.093,0.263,0.130,0.099,0.843,1.563,0.735,0.732,0.133,0.235,
+0.160,0.117,1.445,0.357,0.732,0.758,0.717,2.378,0.820,0.691,
+0.674,0.618,0.470,0.466,1.041,1.269,0.772,0.779,1.234,0.227,
+0.683,0.786,0.602,1.179,0.684,0.904,1.088,0.770,0.403,0.640,
+0.894,0.692,0.584,0.441,1.124,0.119,0.324,0.558,0.772,0.720,
+0.495,0.911,1.599,2.322,0.723,0.856,1.474,1.792,0.922,0.768,
+1.239,0.214,0.672,0.849,0.824,1.335,0.946,0.970,0.990,1.487,
+0.751,0.769,0.125,0.232,0.144,0.119,1.660,0.564,0.642,0.891,
+0.738,1.997,0.728,0.916,0.972,0.780,0.574,0.747,1.007,1.102,
+0.704,0.851,1.285,0.189,0.774,1.095,1.120,1.377,0.954,1.555,
+2.664,1.702,1.051,2.013,1.451,1.119,0.659,0.813,1.170,0.146,
+0.524,0.911,1.836,1.522,0.930,1.969,1.583,1.605,0.602,0.999,
+1.195,1.217,0.510,0.631,0.860,0.127,0.374,0.599,0.711,0.773,
+0.456,0.785,1.223,1.205,0.636,1.064,0.148,0.157,0.080,0.192,
+1.083,0.098,0.376,0.614,0.752,0.966,0.508,0.925,1.446,0.758,
+0.671,1.430,1.017,0.778,0.529,0.990,1.017,0.082,0.447,0.951,
+1.291,0.981,0.871,2.465,2.444,2.039,0.928,1.655,2.184,2.170,
+0.908,1.100,1.518,0.217,0.645,1.041,1.336,1.671,0.862,1.458,
+2.172,3.496,0.757,1.222,2.316,3.291,1.023,1.182,1.410,0.312,
+0.741,1.075,1.011,1.469,0.638,0.983,1.118,1.448,0.620,0.890,
+0.123,0.210,0.101,0.140,1.203,0.175,0.724,0.959,0.829,1.537,
+0.823,1.036,1.061,0.788,0.512,0.861,1.335,1.295,0.755,1.128,
+1.088,0.107,0.611,0.986,1.070,1.047,0.815,1.662,1.184,1.175,
+0.560,0.749,1.194,1.071,0.863,0.780,1.323,0.377,0.570,0.793,
+0.868,1.354,0.782,1.196,0.133,0.434,0.072,0.097,0.104,0.174,
+0.088,0.070,0.295,0.225,0.098,0.120,0.110,0.384,0.083,0.117,
+0.743,0.970,0.602,0.628,0.103,0.108,0.105,0.091,0.854,0.150,
+0.434,0.599,0.548,1.205,0.670,0.774,0.732,0.563,0.439,0.627,
+1.343,1.074,0.723,0.886,0.968,0.166,0.508,0.848,0.735,0.921,
+0.698,1.343,1.909,1.072,0.715,1.163,1.035,0.811,0.531,0.641,
+1.874,0.137,0.409,0.727,1.438,1.076,0.779,1.603,1.229,1.252,
+0.477,0.729,1.028,0.947,0.571,0.650,1.302,0.244,0.478,0.850,
+0.820,1.178,0.589,0.987,1.147,1.219,0.699,1.103,0.110,0.127,
+0.086,0.114,1.118,0.157,0.635,1.012,0.952,1.710,1.004,1.286,
+1.737,1.050,0.763,1.697,1.483,1.916,0.878,1.306,1.637,0.143,
+1.048,1.806,2.169,1.910,1.578,3.000,4.473,3.212,1.882,3.015,
+3.352,2.679,1.425,1.643,2.468,0.354,1.167,2.432,2.403,2.532,
+1.196,2.166,3.916,3.627,1.493,1.665,3.509,2.859,1.518,1.413,
+2.020,0.315,1.323,1.568,1.248,1.817,1.096,1.352,1.369,1.580,
+0.871,1.082,0.195,0.207,0.157,0.193,0.955,0.161,0.651,0.821,
+0.741,1.419,0.736,1.083,1.679,0.948,0.643,1.240,1.601,1.351,
+0.848,1.152,1.169,0.199,0.694,1.051,1.205,1.098,0.962,1.720,
+3.459,2.495,0.937,1.532,3.027,2.837,1.147,1.255,1.859,0.321,
+0.837,1.115,1.123,1.664,0.588,1.059,3.424,4.277,1.051,1.265,
+2.929,2.618,1.342,1.309,1.991,0.530,1.269,1.595,1.009,2.032,
+0.738,0.978,1.241,1.913,0.748,0.807,0.189,0.339,0.219,0.189,
+1.262,0.338,1.046,1.031,0.722,1.975,0.868,0.922,0.850,0.721,
+0.383,0.604,1.220,1.314,0.640,0.842,0.985,0.148,0.674,0.835,
+0.767,0.952,0.712,1.196,1.501,1.217,0.562,0.839,1.963,1.731,
+1.115,1.081,1.832,0.275,0.725,0.997,0.864,1.140,0.668,1.249,
+0.160,0.286,0.124,0.130,0.226,0.302,0.208,0.163,0.211,0.094,
+0.174,0.180,0.111,0.288,0.118,0.159,0.658,0.937,0.670,0.531,
+0.118,0.148,0.129,0.104,0.824,0.175,0.616,0.716,0.455,0.919,
+0.567,0.575,0.614,0.504,0.364,0.483,1.071,1.026,0.838,0.840,
+0.940,0.147,0.651,0.843,0.691,0.888,0.777,1.097,1.474,0.800,
+0.512,1.053,0.856,0.612,0.454,0.487,0.956,0.100,0.345,0.566,
+0.935,0.817,0.463,1.152,1.585,1.630,0.785,0.995,1.581,1.545,
+1.065,0.972,1.203,0.179,0.694,0.984,0.832,1.494,0.614,0.984,
+0.769,0.891,1.811,0.792,0.106,0.098,0.546,0.149,0.668,0.102,
+0.711,0.645,0.476,0.840,0.680,0.705,1.415,0.652,0.647,0.842,
+0.742,0.644,1.305,0.730,0.903,0.111,0.727,0.940,1.028,1.083,
+0.968,1.910,2.991,2.478,1.216,1.858,2.760,2.922,1.257,1.263,
+1.389,0.216,0.642,0.922,1.065,1.337,0.682,1.137,2.879,3.715,
+1.490,1.339,3.306,4.020,1.802,1.479,1.476,0.341,1.040,1.192,
+0.710,1.391,0.756,0.957,1.036,1.587,0.796,0.863,0.163,0.273,
+0.168,0.170,0.720,0.167,0.768,0.774,0.459,1.057,0.643,0.798,
+0.827,0.699,0.395,0.684,1.181,1.379,0.672,0.792,0.582,0.093,
+0.540,0.722,0.599,0.643,0.590,1.087,2.246,2.215,0.896,0.997,
+2.197,2.944,1.048,0.922,1.405,0.280,0.663,0.768,0.623,1.191,
+0.461,0.755,1.550,1.738,0.658,0.688,0.898,0.368,0.659,0.546,
+1.132,0.485,0.742,1.004,0.455,1.244,0.556,0.672,0.849,1.890,
+0.769,0.744,0.195,0.532,0.267,0.208,1.129,0.416,0.847,1.006,
+0.499,1.979,0.869,0.922,0.534,0.606,0.306,0.388,0.999,1.586,
+0.634,0.753,0.718,0.146,0.587,0.719,0.473,0.776,0.486,0.779,
+1.206,1.290,0.487,0.711,2.060,2.503,1.253,1.190,1.034,0.228,
+0.662,0.770,0.525,0.914,0.687,0.883,0.131,0.357,0.114,0.112,
+0.294,0.533,0.298,0.179,0.165,0.138,0.219,0.183,0.072,0.264,
+0.139,0.120,0.711,1.211,0.718,0.624,0.163,0.321,0.186,0.149,
+0.813,0.206,0.663,0.830,0.428,1.217,0.769,0.771,0.487,0.466,
+0.356,0.445,1.163,1.625,1.066,1.027,0.926,0.154,0.923,1.078,
+0.565,0.815,0.908,1.084,0.934,0.763,0.379,0.563,0.971,0.878,
+0.395,0.436,0.594,0.072,0.275,0.357,0.482,0.522,0.325,0.584,
+1.118,1.680,0.692,0.766,1.675,2.239,1.012,0.972,0.912,0.183,
+0.598,0.778,0.559,1.148,0.596,0.814,0.571,1.021,0.634,0.594,
+0.079,0.165,0.115,0.110,0.593,0.133,0.737,0.789,0.411,0.991,
+0.773,0.846,0.618,0.533,0.312,0.482,0.629,0.864,0.496,0.599,
+0.589,0.084,0.621,0.763,0.593,0.847,0.760,1.347,1.914,1.712,
+0.781,1.178,1.847,1.496,0.673,0.881,0.963,0.149,0.487,0.690,
+0.847,1.022,0.485,0.868,3.005,4.362,1.102,1.360,4.754,2.883,
+1.929,1.765,1.855,0.407,1.355,1.446,0.913,1.638,0.762,0.988,
+1.116,1.899,0.705,0.870,0.320,0.270,0.143,0.199,0.957,0.252,
+0.614,0.732,0.509,1.283,0.573,0.733,0.835,0.658,0.367,0.704,
+1.271,1.070,0.585,0.826,1.014,0.147,0.617,0.883,0.744,0.801,
+0.727,1.432,0.148,0.275,0.076,0.096,0.308,0.419,0.191,0.170,
+0.143,0.057,0.087,0.098,0.082,0.200,0.082,0.130,0.334,1.270,
+0.169,0.180,0.726,0.820,0.682,0.524,0.302,0.267,0.296,0.269,
+0.102,0.336,0.111,0.126,0.092,0.274,0.104,0.092,0.064,0.160,
+0.097,0.055,0.164,0.135,0.223,0.173,0.073,0.297,0.196,0.124,
+0.080,0.094,0.040,0.065,0.246,0.288,0.140,0.170,0.115,0.040,
+0.130,0.141,0.072,0.111,0.107,0.147,1.418,3.325,0.705,0.732,
+1.893,2.994,1.404,1.123,1.412,0.395,0.913,0.952,0.606,1.165,
+0.741,1.105,0.332,2.033,0.196,0.147,0.314,0.741,0.320,0.180,
+0.244,0.163,0.288,0.198,0.093,0.341,0.138,0.137,0.817,2.168,
+0.765,0.649,0.180,0.369,0.171,0.141,1.207,0.363,0.665,0.898,
+0.473,1.539,0.761,0.731,0.580,0.865,0.375,0.550,1.247,1.872,
+0.884,0.931,1.568,0.283,1.409,1.288,0.551,0.981,0.923,1.033,
+0.976,1.302,0.358,0.568,0.883,0.827,0.345,0.397,0.950,0.124,
+0.372,0.580,0.563,0.669,0.342,0.794,2.321,6.715,1.019,1.052,
+2.518,3.339,1.358,1.222,2.933,0.490,1.364,1.501,0.967,2.049,
+0.869,1.121,0.903,2.142,0.793,0.715,0.119,0.267,0.138,0.105,
+1.105,0.280,0.867,0.993,0.619,1.598,0.790,0.872,0.869,0.916,
+0.453,0.684,0.897,1.110,0.638,0.704,1.212,0.169,1.089,1.214,
+0.837,1.289,0.977,1.356,1.626,1.116,0.609,1.061,1.097,0.848,
+0.473,0.697,0.768,0.098,0.367,0.685,0.857,0.827,0.428,1.257,
+1.475,1.434,0.520,0.787,1.486,1.084,0.596,0.858,0.732,0.091,
+0.384,0.586,0.511,0.625,0.338,0.601,0.759,0.831,0.370,0.637,
+0.087,0.085,0.048,0.102,0.528,0.080,0.306,0.485,0.403,0.621,
+0.314,0.553,0.866,0.500,0.337,0.721,0.693,0.572,0.399,0.755,
+0.595,0.055,0.324,0.620,0.662,0.546,0.482,1.232,1.650,1.527,
+0.579,0.900,1.780,1.928,0.978,0.974,1.296,0.214,0.620,0.983,
+0.932,1.410,0.552,1.318,1.846,2.860,0.663,0.859,3.261,2.879,
+1.550,1.515,1.473,0.326,0.927,1.199,0.805,1.505,0.631,0.871,
+0.596,1.076,0.436,0.551,0.116,0.196,0.098,0.122,0.893,0.175,
+0.653,0.759,0.575,1.204,0.663,0.740,0.548,0.461,0.283,0.452,
+0.995,1.110,0.570,0.888,0.813,0.097,0.532,0.843,0.594,0.698,
+0.588,1.230,1.101,1.638,0.425,0.556,1.554,2.395,0.897,0.877,
+1.253,0.242,0.657,0.888,0.739,0.977,0.649,1.085,0.123,0.509,
+0.062,0.076,0.151,0.357,0.132,0.102,0.160,0.059,0.104,0.108,
+0.073,0.160,0.071,0.096,0.550,0.911,0.461,0.458,0.075,0.130,
+0.077,0.088,0.787,0.150,0.582,0.726,0.461,0.988,0.563,0.725,
+0.482,0.509,0.309,0.446,0.871,1.024,0.630,0.752,1.020,0.159,
+0.715,0.911,0.695,0.801,0.711,1.027,1.292,1.172,0.416,0.742,
+0.799,0.809,0.354,0.466,1.005,0.106,0.368,0.525,0.729,0.674,
+0.430,0.905,1.174,1.771,0.436,0.613,1.173,1.273,0.628,0.731,
+2.765,0.316,0.583,0.816,0.851,1.031,0.483,0.815,0.729,0.980,
+0.495,0.674,0.078,0.094,0.065,0.083,0.738,0.103,0.625,0.820,
+0.610,1.004,0.754,0.858,1.325,0.756,0.478,1.024,0.910,1.174,
+0.673,0.919,1.315,0.143,0.901,1.302,1.264,1.320,1.139,1.694,
+1.919,1.647,1.461,1.723,1.856,1.588,1.058,1.099,1.293,0.177,
+0.650,0.910,1.308,1.352,0.759,1.181,1.698,1.618,2.275,1.124,
+1.346,1.072,0.997,0.765,0.977,0.155,0.636,0.689,0.659,0.962,
+0.785,0.943,0.907,1.157,0.674,0.980,0.113,0.128,0.096,0.144,
+0.691,0.126,0.404,0.513,0.545,0.922,0.544,0.743,1.088,0.684,
+0.489,0.829,1.024,0.925,0.631,0.800,0.765,0.080,0.414,0.616,
+0.896,0.639,0.650,1.254,2.325,1.798,0.956,1.239,2.469,2.096,
+1.417,1.180,1.231,0.207,0.560,0.709,0.840,1.269,0.613,0.948,
+1.840,2.108,0.900,0.847,1.837,1.505,1.369,0.996,1.435,0.271,
+0.787,0.976,0.751,1.445,0.650,0.878,1.051,1.857,0.817,0.943,
+0.199,0.329,0.215,0.214,1.297,0.297,1.013,1.198,0.672,1.865,
+0.959,0.987,0.804,0.694,0.365,0.617,1.275,1.548,0.758,0.997,
+0.847,0.107,0.465,0.644,0.731,0.737,0.660,1.364,1.115,0.770,
+0.426,0.649,1.613,1.495,1.124,1.146,1.218,0.227,0.547,0.677,
+0.786,1.001,0.565,1.028,0.128,0.166,0.085,0.096,0.185,0.227,
+0.170,0.173,0.179,0.057,0.138,0.130,0.131,0.323,0.135,0.184,
+0.719,0.887,0.556,0.585,0.121,0.141,0.142,0.146,0.843,0.150,
+0.510,0.565,0.857,1.174,0.652,0.754,0.558,0.407,0.286,0.433,
+1.050,1.057,0.737,0.872,0.794,0.110,0.477,0.616,0.911,0.850,
+0.703,1.202,1.075,0.543,0.375,0.717,0.669,0.498,0.402,0.566,
+0.610,0.076,0.279,0.418,0.751,0.666,0.416,0.985,1.014,0.936,
+0.533,0.639,1.040,0.957,0.794,0.895,0.873,0.147,0.552,0.683,
+0.702,1.147,0.578,0.935,0.679,0.949,0.646,0.711,0.084,0.109,
+0.116,0.118,0.737,0.117,0.631,0.785,0.746,1.151,0.824,1.180,
+0.844,0.575,0.429,0.708,0.621,0.551,0.529,0.659,0.872,0.105,
+0.663,0.904,1.358,1.148,1.210,2.176,0.144,0.163,0.322,0.128,
+0.151,0.162,0.110,0.093,0.093,0.027,0.056,0.066,0.076,0.123,
+0.069,0.086,0.239,0.354,1.016,0.238,0.234,0.282,0.283,0.148,
+0.178,0.131,0.170,0.132,0.070,0.187,0.112,0.112,0.081,0.215,
+0.105,0.071,0.019,0.043,0.041,0.025,0.086,0.043,0.082,0.077,
+0.043,0.133,0.084,0.075,0.076,0.070,0.060,0.066,0.124,0.149,
+0.089,0.090,0.084,0.019,0.074,0.101,0.072,0.068,0.100,0.128,
+0.136,0.169,0.084,0.081,0.274,0.275,0.173,0.106,0.103,0.044,
+0.062,0.072,0.050,0.117,0.096,0.073,0.215,0.367,0.160,0.107,
+0.366,0.287,0.301,0.175,0.199,0.136,0.151,0.140,0.083,0.233,
+0.105,0.110,0.094,0.254,0.105,0.083,0.049,0.157,0.098,0.039,
+0.176,0.131,0.181,0.138,0.057,0.278,0.145,0.114,0.064,0.072,
+0.039,0.048,0.144,0.235,0.105,0.089,0.086,0.026,0.068,0.068,
+0.051,0.081,0.069,0.109,0.087,0.101,0.053,0.084,0.169,0.253,
+0.210,0.246,0.133,0.051,0.102,0.076,0.054,0.105,0.077,0.090,
+0.026,0.078,0.036,0.023,0.066,0.145,0.141,0.063,0.056,0.107,
+0.102,0.053,0.013,0.062,0.038,0.026,0.085,0.175,0.129,0.088,
+0.047,0.100,0.102,0.041,0.139,0.086,0.166,0.122,0.077,0.239,
+0.215,0.109,0.067,0.060,0.049,0.061,0.162,0.227,0.167,0.137,
+0.137,0.047,0.138,0.134,0.082,0.121,0.120,0.177,0.083,0.072,
+0.043,0.063,0.079,0.080,0.049,0.075,0.060,0.011,0.037,0.045,
+0.058,0.077,0.053,0.091,0.153,0.208,0.111,0.106,0.210,0.271,
+0.207,0.250,0.178,0.056,0.128,0.125,0.095,0.256,0.115,0.134,
+0.063,0.122,0.084,0.077,0.013,0.034,0.030,0.020,0.105,0.038,
+0.110,0.123,0.070,0.159,0.165,0.124,0.073,0.067,0.055,0.063,
+0.076,0.097,0.068,0.077,0.097,0.019,0.094,0.118,0.099,0.130,
+0.132,0.171,1.331,1.116,1.023,1.283,2.343,1.321,0.811,0.887,
+0.887,0.193,0.460,0.588,0.696,0.798,0.466,0.858,1.503,1.559,
+1.064,0.914,2.038,1.700,1.663,1.120,1.327,0.323,1.077,0.985,
+0.587,1.227,0.654,0.815,0.910,2.147,0.891,0.964,0.267,0.600,
+0.219,0.280,7.478,6.317,0.934,1.337,0.948,8.060,0.694,0.870,
+0.709,0.557,0.346,0.617,1.333,1.154,0.673,0.875,1.159,0.424,
+0.613,0.900,0.651,1.052,0.647,1.165,0.191,0.175,0.074,0.091,
+1.336,0.393,0.227,0.176,0.135,0.040,0.084,0.100,0.095,0.124,
+0.061,0.096,0.148,0.288,0.108,0.083,0.369,0.411,0.391,0.210,
+0.199,0.129,0.224,0.224,0.065,0.188,0.088,0.093,0.091,0.285,
+0.114,0.093,0.071,0.154,0.101,0.053,0.280,0.250,0.219,0.206,
+0.071,0.415,0.156,0.118,0.088,0.078,0.044,0.067,0.315,0.269,
+0.143,0.171,0.126,0.044,0.109,0.120,0.067,0.100,0.085,0.132,
+0.923,1.206,0.449,0.429,1.960,3.439,1.613,1.008,1.058,0.338,
+0.858,0.804,0.480,0.894,0.644,0.753,0.120,0.325,0.099,0.078,
+0.229,0.551,0.376,0.131,0.194,0.128,0.218,0.142,0.079,0.234,
+0.130,0.107,0.806,1.605,0.832,0.668,0.211,0.377,0.300,0.194,
+1.140,0.309,0.416,0.636,0.472,1.300,0.874,0.754,0.536,0.525,
+0.325,0.354,1.138,1.635,1.059,0.913,1.179,0.226,0.859,0.865,
+0.558,0.859,0.791,0.928,0.661,0.560,0.319,0.448,0.800,0.833,
+0.384,0.373,0.508,0.082,0.308,0.425,0.431,0.552,0.306,0.541,
+1.123,1.511,0.630,0.592,1.594,2.349,1.488,0.895,1.150,0.246,
+0.874,0.921,0.693,1.324,0.746,0.832,0.805,1.815,0.781,0.772,
+0.148,0.316,0.195,0.149,1.192,0.279,1.023,1.073,0.558,1.458,
+0.844,0.885,0.598,0.566,0.327,0.460,0.814,1.024,0.610,0.620,
+0.958,0.143,0.826,0.965,0.687,0.985,0.755,1.009,1.515,0.913,
+0.700,1.046,1.006,0.664,0.548,0.594,0.651,0.086,0.293,0.490,
+0.767,0.686,0.367,0.817,1.059,0.815,0.540,0.550,0.871,0.594,
+0.435,0.450,0.508,0.066,0.287,0.458,0.393,0.488,0.300,0.478,
+0.752,0.861,0.404,0.598,0.123,0.109,0.061,0.110,0.956,0.291,
+0.360,0.517,0.441,0.973,0.425,0.654,0.858,0.506,0.345,0.619,
+1.291,0.596,0.435,0.641,0.631,0.067,0.307,0.532,0.715,0.580,
+0.517,1.236,1.920,1.424,0.777,1.059,2.785,1.677,1.220,1.167,
+0.997,0.165,0.571,0.788,0.728,1.056,0.477,0.885,1.784,2.026,
+0.763,0.853,2.369,1.996,1.534,1.227,1.227,0.244,0.913,1.090,
+0.742,1.182,0.658,0.932,0.919,1.692,0.695,0.802,0.190,0.321,
+0.186,0.201,1.213,0.299,1.098,1.329,0.674,1.712,0.947,1.132,
+0.945,0.668,0.462,0.634,1.731,1.429,0.931,1.224,0.941,0.124,
+0.710,0.902,0.713,0.791,0.735,1.291,1.209,1.582,0.472,0.655,
+1.605,2.034,1.100,1.043,1.088,0.210,0.628,0.894,0.613,0.886,
+0.666,1.040,0.117,0.220,0.058,0.070,0.146,0.248,0.179,0.117,
+0.110,0.051,0.118,0.131,0.066,0.161,0.089,0.111,0.836,1.365,
+0.665,0.775,0.145,0.223,0.172,0.163,1.130,0.236,0.704,0.990,
+0.646,1.479,0.845,1.096,0.685,0.594,0.426,0.528,1.312,1.399,
+1.090,1.197,0.985,0.146,0.799,1.162,0.754,0.958,0.923,1.386,
+0.981,0.602,0.362,0.627,0.739,0.567,0.402,0.470,0.787,0.081,
+0.304,0.497,0.658,0.572,0.407,0.892,0.971,0.898,0.433,0.551,
+1.023,0.989,0.753,0.699,1.199,0.121,0.511,0.779,0.565,0.852,
+0.545,0.900,0.837,1.228,0.616,0.844,0.096,0.148,0.089,0.128,
+1.158,0.164,0.897,1.312,0.738,1.385,0.927,1.202,1.087,0.653,
+0.531,0.946,1.024,1.072,0.774,0.976,1.101,0.108,0.871,1.363,
+1.207,1.095,1.117,1.611,1.982,1.361,1.017,1.908,1.309,0.948,
+0.663,0.823,1.224,0.127,0.444,0.791,1.603,1.418,0.672,1.374,
+1.358,0.960,0.844,0.804,0.867,0.614,0.449,0.507,0.725,0.079,
+0.402,0.468,0.673,0.827,0.532,0.831,0.800,0.825,0.484,0.777,
+0.081,0.078,0.057,0.109,0.512,0.061,0.260,0.411,0.576,0.971,
+0.444,0.824,1.207,0.623,0.543,1.135,0.836,0.617,0.504,0.711,
+0.652,0.063,0.327,0.551,0.949,0.700,0.649,1.628,1.665,1.080,
+0.557,1.243,1.153,0.855,0.468,0.685,0.735,0.096,0.275,0.497,
+0.746,0.840,0.372,0.878,1.081,0.948,0.377,0.607,0.849,0.731,
+0.420,0.528,0.695,0.091,0.285,0.476,0.605,0.794,0.336,0.566,
+0.669,0.786,0.395,0.593,0.070,0.113,0.045,0.072,0.684,0.156,
+0.316,0.478,0.965,3.452,0.462,0.685,0.597,0.478,0.274,0.689,
+0.626,0.584,0.324,0.503,0.530,0.049,0.246,0.396,0.607,0.771,
+0.404,0.975,0.964,0.583,0.345,0.765,0.896,0.795,0.508,1.273,
+0.737,0.102,0.235,0.443,0.724,0.720,0.354,0.845,0.069,0.078,
+0.038,0.067,0.073,0.074,0.048,0.091,0.062,0.014,0.034,0.050,
+0.087,0.131,0.053,0.096,0.406,0.451,0.283,0.395,0.047,0.051,
+0.039,0.060,0.460,0.071,0.199,0.288,0.501,0.730,0.307,0.480,
+0.435,0.311,0.269,0.519,0.568,0.497,0.370,0.516,0.492,0.055,
+0.251,0.418,0.617,0.533,0.451,0.848,1.293,0.557,0.412,0.973,
+0.644,0.426,0.333,0.574,0.671,0.073,0.252,0.485,1.156,0.772,
+0.437,1.144,0.837,0.628,0.397,0.597,0.633,0.524,0.389,0.502,
+0.583,0.066,0.290,0.454,0.701,0.887,0.443,0.844,0.533,0.589,
+0.457,0.576,0.051,0.052,0.070,0.064,0.483,0.052,0.328,0.451,
+0.590,0.852,0.517,0.896,0.882,0.511,0.453,0.886,0.621,0.441,
+0.450,0.575,0.753,0.065,0.486,0.796,1.248,1.034,1.004,2.025,
+2.058,1.450,1.207,1.591,1.470,1.227,0.797,0.994,1.081,0.162,
+0.521,0.736,1.111,1.528,0.597,1.207,2.099,1.574,2.468,1.318,
+1.492,1.372,1.073,0.900,1.101,0.204,1.166,0.898,0.680,1.513,
+0.699,1.205,0.880,1.431,0.689,0.911,0.117,0.159,0.103,0.141,
+0.721,0.124,0.514,0.736,0.600,1.075,0.625,0.960,0.863,0.599,
+0.482,0.770,1.025,1.031,0.604,0.832,0.635,0.078,0.479,0.683,
+0.755,0.663,0.643,1.298,1.554,1.338,0.575,1.202,1.488,1.343,
+0.710,0.969,0.821,0.147,0.400,0.537,0.729,0.949,0.499,0.825,
+1.514,1.687,0.660,0.812,1.799,1.250,1.005,0.961,1.095,0.217,
+0.608,0.808,0.660,1.225,0.510,0.810,0.783,1.233,0.539,0.751,
+0.130,0.200,0.108,0.129,0.904,0.187,0.562,0.756,0.601,1.434,
+0.661,0.921,0.661,0.629,0.348,0.583,1.085,1.286,0.519,0.673,
+0.663,0.078,0.401,0.587,0.634,0.682,0.509,1.006,0.880,0.685,
+0.367,1.430,1.147,1.165,0.925,3.924,0.696,0.145,0.380,0.563,
+0.511,0.768,0.366,0.808,0.070,0.124,0.057,0.112,0.104,0.212,
+0.121,0.286,0.089,0.053,0.094,0.085,0.061,0.192,0.069,0.091,
+0.595,0.863,0.491,0.568,0.099,0.135,0.096,0.167,0.699,0.143,
+0.444,0.589,0.610,1.087,0.604,0.700,0.557,0.435,0.337,0.546,
+0.969,1.155,0.653,0.900,0.744,0.090,0.499,0.671,0.724,0.714,
+0.634,1.145,0.980,0.569,0.349,0.684,0.621,0.511,0.385,0.780,
+0.582,0.073,0.269,0.473,0.627,0.646,0.377,0.803,1.042,1.156,
+0.623,0.814,1.065,1.252,0.860,1.130,0.919,0.168,0.584,0.720,
+0.780,1.864,0.659,0.987,0.578,0.794,0.527,0.653,0.068,0.097,
+0.083,0.087,0.652,0.098,0.545,0.749,0.547,1.055,0.642,0.909,
+0.710,0.512,0.513,0.629,0.713,0.746,0.476,0.669,0.769,0.079,
+0.599,0.912,0.975,0.989,1.018,1.670,1.335,1.139,0.647,1.090,
+1.107,0.875,0.469,0.655,0.764,0.096,0.366,0.571,0.739,0.745,
+0.424,0.915,1.531,1.463,0.821,0.874,1.429,1.282,0.837,0.745,
+0.957,0.167,0.745,0.784,0.645,1.110,0.607,0.874,0.805,1.259,
+0.730,0.975,0.121,0.186,0.119,0.177,1.085,0.348,0.539,0.790,
+0.564,1.484,0.608,0.968,0.750,0.589,0.436,0.769,0.823,0.797,
+0.554,0.732,0.829,0.115,0.593,0.860,0.758,0.747,0.767,1.444,
+0.093,0.100,0.047,0.090,0.198,0.143,0.062,0.082,0.068,0.016,
+0.035,0.056,0.058,0.087,0.043,0.089,0.105,0.206,0.055,0.059,
+0.164,0.305,0.130,0.112,0.095,0.040,0.108,0.104,0.053,0.126,
+0.059,0.076,0.051,0.117,0.063,0.061,0.015,0.037,0.029,0.016,
+0.094,0.042,0.082,0.081,0.048,0.175,0.090,0.124,0.066,0.062,
+0.036,0.061,0.118,0.132,0.078,0.094,0.081,0.019,0.066,0.085,
+0.062,0.077,0.070,0.134,0.931,0.882,0.370,0.482,1.085,1.446,
+0.809,0.799,0.783,0.184,0.443,0.579,0.532,0.754,0.520,0.925,
+0.103,0.195,0.052,0.066,0.101,0.189,0.105,0.068,0.084,0.044,
+0.079,0.076,0.066,0.153,0.090,0.098,0.663,1.258,0.611,0.586,
+0.105,0.178,0.144,0.105,0.956,0.195,0.409,0.611,0.467,1.135,
+0.676,0.729,0.590,0.559,0.341,0.439,0.894,1.185,0.763,0.779,
+0.950,0.147,0.703,0.797,0.643,0.811,0.739,1.036,0.791,0.604,
+0.352,0.582,0.669,0.562,0.421,0.442,0.600,0.073,0.335,0.482,
+0.552,0.567,0.360,0.755,1.131,1.356,0.591,0.692,1.060,1.280,
+0.799,0.639,0.944,0.131,0.578,0.724,0.673,1.173,0.726,0.947,
+0.818,1.276,1.503,0.921,0.095,0.156,0.702,0.160,0.952,0.151,
+0.778,0.932,0.624,1.251,0.979,1.052,0.747,0.592,0.569,0.638,
+0.763,0.820,1.273,0.714,0.975,0.110,0.860,1.078,0.937,1.026,
+0.955,1.382,1.911,1.030,0.811,1.402,1.100,0.695,0.457,0.754,
+0.863,0.103,0.357,0.674,1.225,1.008,0.534,1.457,1.219,0.943,
+0.443,0.620,0.927,0.788,0.429,0.569,0.616,0.067,0.363,0.495,
+0.494,0.622,0.325,0.713,0.813,0.881,0.445,0.779,0.088,0.094,
+0.053,0.115,0.628,0.076,0.319,0.533,0.556,0.783,0.434,0.898,
+0.955,0.553,0.425,0.891,0.722,0.522,0.430,0.702,0.680,0.065,
+0.380,0.736,0.930,0.786,0.659,1.947,1.495,1.066,0.725,1.086,
+1.201,0.946,0.525,0.850,0.715,0.086,0.330,0.607,0.687,0.807,
+0.412,1.065,1.285,1.418,0.441,0.647,1.213,1.358,0.605,0.780,
+0.802,0.109,0.511,0.699,0.551,0.804,0.435,0.801,0.693,0.835,
+0.375,0.625,0.063,0.092,0.049,0.076,0.693,0.089,0.426,0.631,
+0.584,1.011,0.537,0.946,0.845,0.611,0.419,0.750,0.867,0.706,
+0.524,0.809,0.723,0.067,0.485,0.752,0.734,0.759,0.662,1.647,
+1.491,2.340,0.618,0.915,1.272,1.204,0.766,1.143,1.016,0.181,
+0.492,0.845,0.818,1.005,0.652,1.298,0.177,0.924,0.088,0.093,
+0.088,0.139,0.077,0.084,0.084,0.034,0.060,0.082,0.071,0.152,
+0.062,0.117,0.862,1.329,0.543,0.737,0.084,0.125,0.078,0.107,
+0.962,0.132,0.574,0.871,0.663,1.143,0.732,1.197,0.923,0.859,
+0.481,0.740,1.139,1.163,0.796,1.234,1.302,0.143,0.736,1.146,
+1.029,1.062,0.897,1.734,1.754,1.106,0.643,1.250,1.016,0.768,
+0.532,0.752,1.046,0.095,0.482,0.796,1.299,0.979,0.762,1.891,
+1.706,2.544,0.733,0.957,1.443,1.337,0.779,0.889,1.234,0.128,
+0.650,1.025,0.903,1.164,0.723,1.393,1.226,1.523,1.185,1.224,
+0.099,0.116,0.277,0.137,1.317,0.126,0.890,1.398,1.139,1.701,
+1.256,1.920,2.099,1.180,0.962,1.939,1.537,1.254,1.218,1.547,
+1.675,0.117,1.207,2.145,2.250,1.451,1.541,2.331,2.929,1.912,
+1.862,3.075,1.972,1.243,1.093,1.278,1.869,0.197,0.953,1.348,
+2.478,1.808,1.274,2.178,2.550,1.567,1.232,1.506,1.639,1.140,
+0.943,1.015,1.448,0.181,0.877,1.009,1.069,1.088,1.069,1.162,
+1.466,1.168,1.024,1.360,0.146,0.144,0.120,0.195,0.857,0.090,
+0.694,0.837,0.790,0.981,0.709,0.997,2.095,1.117,1.266,2.064,
+1.647,1.379,1.072,1.517,1.086,0.102,0.746,1.055,1.491,0.974,
+1.136,1.713,2.107,1.222,0.857,1.225,1.404,0.957,0.857,0.952,
+0.980,0.115,0.504,0.672,0.810,0.938,0.662,0.959,1.563,1.119,
+0.783,1.065,0.975,0.681,0.622,0.635,0.952,0.121,0.639,0.750,
+0.618,0.757,0.932,0.799,0.986,0.910,0.567,0.715,0.092,0.103,
+0.082,0.105,0.764,0.090,0.533,0.718,0.500,0.810,0.536,0.687,
+0.853,0.561,0.422,0.677,0.871,0.748,0.498,0.726,0.824,0.069,
+0.462,0.679,0.852,0.643,0.622,1.009,1.521,0.642,0.593,0.844,
+1.321,0.882,0.732,0.781,1.021,0.147,0.472,0.714,1.086,1.066,
+0.614,1.015,0.144,0.107,0.072,0.098,0.115,0.104,0.079,0.085,
+0.096,0.024,0.075,0.089,0.130,0.185,0.107,0.129,0.739,0.648,
+0.580,0.559,0.076,0.071,0.065,0.074,0.631,0.067,0.393,0.492,
+0.578,0.624,0.464,0.528,0.700,0.436,0.406,0.581,0.866,0.765,
+0.586,0.753,0.733,0.091,0.465,0.720,0.668,0.680,0.662,1.056,
+1.934,0.786,0.730,1.308,0.823,0.538,0.518,0.606,0.833,0.097,
+0.447,0.637,1.088,0.896,0.700,1.469,1.508,1.021,0.775,0.971,
+1.034,0.841,0.680,0.665,0.847,0.094,0.591,0.761,0.857,0.975,
+0.733,0.980,0.744,0.656,0.567,0.696,0.064,0.059,0.085,0.081,
+0.556,0.054,0.383,0.582,0.563,0.712,0.591,0.738,1.032,0.606,
+0.608,1.106,0.649,0.522,0.485,0.693,0.920,0.076,0.605,1.076,
+1.250,1.101,1.066,2.063,3.415,2.406,1.463,2.223,1.880,1.487,
+1.204,1.243,1.337,0.209,0.713,1.122,1.342,1.456,1.067,1.675,
+2.469,2.513,1.586,1.488,1.712,1.545,1.328,1.144,2.297,0.710,
+1.334,1.369,1.030,2.130,1.985,1.493,1.283,1.766,1.210,1.243,
+0.152,0.224,0.159,0.187,0.745,0.112,0.639,0.719,0.560,0.998,
+0.729,0.892,1.244,0.761,0.716,1.038,1.345,1.209,0.807,1.040,
+0.938,0.103,0.506,0.766,0.881,0.749,0.834,1.473,1.993,1.839,
+0.801,1.121,1.674,1.586,0.870,0.880,0.974,0.155,0.558,0.741,
+0.672,0.954,0.912,1.093,1.459,1.554,0.896,0.910,0.910,0.449,
+0.740,0.722,1.058,0.219,0.881,0.990,0.556,1.005,1.912,1.553,
+0.970,1.539,0.853,0.988,0.135,0.221,0.171,0.211,0.817,0.162,
+0.747,0.806,0.480,1.177,0.725,0.831,0.746,0.616,0.429,0.582,
+0.914,1.001,0.677,0.812,0.662,0.081,0.453,0.709,0.528,0.594,
+0.576,0.996,1.420,1.149,0.682,0.912,1.427,1.361,1.219,0.998,
+1.052,0.175,0.763,0.859,0.778,1.012,0.882,1.120,0.127,0.249,
+0.118,0.126,0.129,0.205,0.179,0.121,0.128,0.061,0.181,0.147,
+0.098,0.253,0.186,0.181,0.869,1.146,0.842,0.823,0.114,0.164,
+0.136,0.132,0.819,0.155,0.793,0.847,0.495,1.092,0.860,0.859,
+0.639,0.483,0.462,0.582,0.994,1.109,0.943,0.992,0.792,0.112,
+0.787,1.008,0.559,0.810,0.870,1.198,1.271,0.776,0.561,0.873,
+0.736,0.549,0.470,0.539,0.597,0.064,0.374,0.480,0.665,0.636,
+0.557,0.989,1.352,1.379,0.901,1.069,1.059,1.233,0.968,0.962,
+0.821,0.129,0.756,0.908,0.695,1.228,0.948,1.125,0.665,0.742,
+0.692,0.798,0.068,0.092,0.077,0.090,0.531,0.068,0.591,0.676,
+0.496,0.772,0.918,1.008,0.803,0.374,0.508,0.737,0.665,0.634,
+0.481,0.729,0.702,0.069,0.635,0.954,0.951,1.042,1.139,1.833,
+2.249,1.584,1.228,1.562,1.003,0.845,0.654,0.736,0.932,0.111,
+0.525,0.648,0.874,0.919,0.680,1.152,2.266,2.388,1.334,1.280,
+1.483,1.466,1.101,0.929,1.609,0.270,1.450,1.185,0.853,1.419,
+0.914,1.035,1.279,1.815,2.068,1.314,0.160,0.228,0.234,0.238,
+0.714,0.108,0.681,0.705,0.481,0.970,0.638,0.827,1.288,1.074,
+0.943,1.070,1.052,1.107,1.114,0.962,0.934,0.104,0.611,0.871,
+0.921,0.774,1.004,1.829,0.183,0.186,0.113,0.146,0.172,0.181,
+0.110,0.119,0.106,0.022,0.072,0.085,0.082,0.154,0.147,0.146,
+0.205,0.310,0.131,0.135,0.193,0.275,0.159,0.131,0.164,0.055,
+0.162,0.148,0.096,0.262,0.161,0.142,0.118,0.219,0.178,0.121,
+0.023,0.051,0.051,0.036,0.125,0.039,0.138,0.129,0.072,0.193,
+0.115,0.109,0.153,0.138,0.105,0.139,0.231,0.327,0.228,0.234,
+0.134,0.024,0.117,0.153,0.123,0.139,0.133,0.231,1.387,0.903,
+0.584,0.598,0.930,0.979,0.928,0.748,0.883,0.221,0.709,0.694,
+0.531,0.860,0.826,0.800,0.138,0.202,0.080,0.084,0.096,0.158,
+0.109,0.070,0.140,0.069,0.133,0.101,0.088,0.223,0.146,0.110,
+0.609,1.031,0.698,0.544,0.096,0.143,0.132,0.098,0.687,0.140,
+0.519,0.585,0.405,0.761,0.592,0.514,0.518,0.444,0.421,0.405,
+0.737,1.004,0.816,0.783,0.755,0.118,0.704,0.689,0.466,0.743,
+0.663,0.778,0.987,0.611,0.434,0.684,0.569,0.447,0.333,0.386,
+0.515,0.067,0.342,0.455,0.557,0.578,0.485,0.823,1.486,1.410,
+0.755,0.858,1.117,1.281,0.826,0.712,1.021,0.159,0.817,0.958,
+0.769,1.239,0.949,1.045,0.879,0.969,0.625,0.641,0.093,0.132,
+0.086,0.094,0.642,0.098,0.580,0.652,0.462,0.811,0.594,0.738,
+0.915,0.749,0.525,0.634,0.800,0.866,0.563,0.700,0.875,0.107,
+0.729,1.017,0.894,0.968,0.898,1.382,2.298,1.235,0.952,1.610,
+0.894,0.570,0.548,0.627,0.792,0.080,0.429,0.632,1.076,0.866,
+0.721,1.464,1.242,0.859,0.599,0.802,0.724,0.489,0.515,0.499,
+0.706,0.074,0.442,0.579,0.623,0.612,0.495,0.719,1.175,0.898,
+0.725,1.051,0.114,0.101,0.082,0.150,0.563,0.058,0.425,0.617,
+0.509,0.679,0.443,0.808,1.247,0.732,0.707,1.430,0.862,0.661,
+0.630,0.936,0.714,0.061,0.463,0.819,1.010,0.753,0.836,2.105,
+1.787,1.187,0.955,1.210,1.232,0.841,0.911,0.732,0.867,0.103,
+0.482,0.726,0.743,0.895,0.862,1.228,1.484,1.214,0.622,0.947,
+0.947,0.856,0.602,0.629,0.865,0.136,0.644,0.787,0.640,1.147,
+0.608,0.809,0.949,0.907,0.696,0.817,0.082,0.104,0.101,0.102,
+0.693,0.084,0.563,0.791,0.550,0.869,0.578,0.808,0.966,0.622,
+0.520,0.886,0.962,0.877,0.688,0.783,0.723,0.062,0.491,0.778,
+0.775,0.703,0.696,1.375,1.230,0.792,0.562,0.784,1.059,0.840,
+0.734,0.873,1.016,0.145,0.634,0.897,0.764,0.872,0.819,1.199,
+0.109,0.134,0.065,0.091,0.081,0.099,0.082,0.086,0.094,0.029,
+0.097,0.105,0.098,0.177,0.103,0.134,0.781,0.885,0.594,0.701,
+0.073,0.088,0.068,0.093,0.691,0.093,0.457,0.653,0.525,0.812,
+0.614,0.874,0.746,0.569,0.546,0.736,0.975,0.931,0.796,1.021,
+0.973,0.097,0.701,1.035,0.816,0.854,0.805,1.500,1.859,0.887,
+0.689,1.205,0.842,0.627,0.497,0.636,0.960,0.096,0.456,0.749,
+1.110,0.958,0.777,1.678,1.173,0.876,0.607,0.903,0.875,0.707,
+0.638,0.761,0.817,0.076,0.664,0.891,0.853,0.951,0.739,1.141,
+1.191,1.090,0.745,1.109,0.104,0.106,0.072,0.124,0.972,0.090,
+0.675,1.027,0.992,1.237,0.978,1.462,2.139,1.261,1.054,2.226,
+1.632,1.716,1.022,1.523,1.870,0.138,1.290,2.271,2.785,2.052,
+2.248,3.392,0.186,0.155,0.131,0.166,0.159,0.124,0.100,0.104,
+0.107,0.016,0.103,0.096,0.124,0.129,0.097,0.110,0.198,0.162,
+0.119,0.111,0.157,0.139,0.123,0.110,0.114,0.024,0.110,0.125,
+0.076,0.117,0.175,0.131,0.090,0.094,0.077,0.105,0.015,0.021,
+0.015,0.019,0.056,0.012,0.055,0.070,0.044,0.071,0.063,0.072,
+0.122,0.070,0.085,0.108,0.133,0.135,0.106,0.116,0.083,0.011,
+0.063,0.085,0.086,0.082,0.093,0.117,0.206,0.169,0.102,0.114,
+0.182,0.150,0.115,0.101,0.115,0.029,0.087,0.102,0.076,0.130,
+0.107,0.124,0.224,0.251,0.137,0.121,0.170,0.170,0.148,0.120,
+0.171,0.066,0.158,0.174,0.079,0.169,0.188,0.224,0.098,0.132,
+0.082,0.080,0.023,0.031,0.034,0.021,0.088,0.028,0.086,0.130,
+0.050,0.134,0.089,0.087,0.074,0.059,0.042,0.057,0.109,0.103,
+0.070,0.087,0.083,0.015,0.061,0.104,0.117,0.097,0.079,0.120,
+0.131,0.098,0.066,0.077,0.228,0.163,0.117,0.100,0.112,0.027,
+0.069,0.078,0.078,0.115,0.077,0.107,0.025,0.039,0.044,0.024,
+0.028,0.039,0.036,0.020,0.020,0.013,0.030,0.022,0.013,0.038,
+0.028,0.023,0.061,0.098,0.073,0.058,0.014,0.017,0.021,0.015,
+0.067,0.020,0.073,0.072,0.041,0.095,0.075,0.076,0.055,0.040,
+0.043,0.052,0.090,0.088,0.082,0.096,0.075,0.016,0.074,0.081,
+0.056,0.076,0.087,0.109,0.126,0.071,0.061,0.102,0.080,0.060,
+0.051,0.057,0.072,9.94e-3,0.046,0.059,0.075,0.077,0.061,0.116,
+0.161,0.155,0.116,0.160,0.148,0.177,0.131,0.124,0.099,0.021,
+0.111,0.119,0.080,0.125,0.106,0.117,0.087,0.075,0.084,0.080,
+0.011,0.013,0.019,0.012,0.063,0.015,0.059,0.073,0.051,0.087,
+0.084,0.082,0.096,0.059,0.055,0.099,0.065,0.054,0.067,0.069,
+0.084,0.013,0.082,0.110,0.097,0.100,0.116,0.189,0.201,0.178,
+0.110,0.153,0.169,0.189,0.135,0.124,0.101,0.022,0.071,0.083,
+0.088,0.116,0.149,0.135,0.218,0.231,0.150,0.132,0.219,0.243,
+0.221,0.200,0.168,0.068,0.192,0.186,0.081,0.189,0.764,0.420,
+0.085,0.162,0.108,0.103,0.021,0.069,0.038,0.027,0.059,0.018,
+0.068,0.068,0.043,0.091,0.094,0.087,0.081,0.064,0.055,0.072,
+0.126,0.183,0.091,0.097,0.120,0.015,0.060,0.071,0.070,0.069,
+0.105,0.118,0.202,0.239,0.111,0.116,0.220,0.299,0.159,0.139,
+0.127,0.047,0.095,0.097,0.066,0.132,0.107,0.187,0.210,0.341,
+0.160,0.136,0.208,0.132,0.197,0.226,0.208,0.164,0.199,0.235,
+0.092,0.270,0.302,0.831,0.098,0.253,0.144,0.125,0.034,0.105,
+0.068,0.049,0.109,0.050,0.120,0.126,0.056,0.186,0.121,0.143,
+0.062,0.074,0.051,0.054,0.123,0.200,0.114,0.122,0.080,0.021,
+0.079,0.107,0.056,0.105,0.079,0.198,0.138,0.123,0.077,0.079,
+0.189,0.216,0.201,0.121,0.118,0.034,0.126,0.100,0.060,0.106,
+0.120,0.119,0.027,0.061,0.034,0.024,0.039,0.089,0.108,0.034,
+0.037,0.038,0.070,0.043,0.013,0.050,0.054,0.046,0.089,0.163,
+0.151,0.105,0.034,0.068,0.069,0.037,0.110,0.043,0.146,0.118,
+0.055,0.138,0.142,0.113,0.059,0.048,0.053,0.051,0.121,0.173,
+0.177,0.132,0.114,0.026,0.139,0.128,0.054,0.101,0.135,0.132,
+0.113,0.082,0.056,0.084,0.086,0.074,0.057,0.065,0.061,8.36e-3,
+0.048,0.047,0.053,0.061,0.068,0.095,0.151,0.186,0.129,0.133,
+0.168,0.222,0.201,0.165,0.122,0.037,0.148,0.151,0.065,0.151,
+0.148,0.166,0.067,0.110,0.092,0.081,9.61e-3,0.024,0.018,0.017,
+0.064,0.016,0.099,0.090,0.046,0.089,0.130,0.115,0.077,0.052,
+0.049,0.062,0.068,0.082,0.071,0.081,0.071,0.010,0.086,0.097,
+0.076,0.100,0.144,0.182,0.130,0.129,0.095,0.096,0.097,0.090,
+0.069,0.071,0.064,0.015,0.049,0.054,0.066,0.072,0.079,0.072,
+0.194,0.239,0.123,0.109,0.214,0.213,0.190,0.140,0.171,0.056,
+0.198,0.154,0.068,0.178,0.115,0.104,0.085,0.158,0.144,0.104,
+0.021,0.037,0.050,0.033,0.076,0.029,0.082,0.091,0.035,0.096,
+0.065,0.075,0.072,0.063,0.054,0.070,0.092,0.100,0.126,0.097,
+0.085,0.013,0.078,0.091,0.055,0.062,0.089,0.125,0.017,0.025,
+0.016,0.014,0.024,0.044,0.035,0.023,0.014,0.013,0.021,0.017,
+7.77e-3,0.026,0.045,0.017,0.030,0.080,0.035,0.024,0.060,0.101,
+0.084,0.048,0.043,0.062,0.078,0.055,0.015,0.083,0.034,0.038,
+0.016,0.055,0.039,0.036,0.014,0.051,0.053,0.016,0.035,0.036,
+0.055,0.036,0.011,0.058,0.042,0.020,8.61e-3,0.012,9.36e-3,9.36e-3,
+0.023,0.046,0.043,0.034,0.022,0.010,0.032,0.027,0.012,0.018,
+0.021,0.025,0.108,0.154,0.076,0.063,0.118,0.198,0.167,0.103,
+0.113,0.046,0.132,0.114,0.048,0.122,0.161,0.102,0.024,0.084,
+0.031,0.017,0.041,0.082,0.071,0.027,0.038,0.049,0.089,0.045,
+0.012,0.053,0.055,0.021,0.074,0.213,0.146,0.085,0.029,0.078,
+0.083,0.035,0.117,0.067,0.150,0.151,0.045,0.151,0.138,0.091,
+0.047,0.052,0.059,0.056,0.103,0.188,0.177,0.179,0.096,0.033,
+0.162,0.133,0.048,0.095,0.123,0.107,0.090,0.081,0.050,0.071,
+0.066,0.067,0.047,0.044,0.060,0.013,0.050,0.061,0.048,0.071,
+0.062,0.085,0.171,0.282,0.130,0.116,0.197,0.268,0.201,0.138,
+0.181,0.057,0.216,0.203,0.083,0.201,0.198,0.132,0.092,0.152,
+0.094,0.085,0.016,0.034,0.030,0.020,0.101,0.038,0.126,0.144,
+0.052,0.137,0.106,0.103,0.075,0.070,0.056,0.075,0.087,0.102,
+0.085,0.093,0.095,0.018,0.122,0.128,0.083,0.113,0.123,0.139,
+0.174,0.120,0.079,0.129,0.113,0.072,0.077,0.109,0.087,9.78e-3,
+0.048,0.080,0.086,0.079,0.069,0.127,0.139,0.116,0.073,0.092,
+0.096,0.080,0.084,0.084,0.082,0.016,0.062,0.077,0.063,0.083,
+0.076,0.091,0.092,0.104,0.072,0.091,0.012,0.013,0.010,0.018,
+0.055,9.02e-3,0.043,0.067,0.045,0.065,0.050,0.078,0.100,0.067,
+0.067,0.116,0.087,0.072,0.064,0.119,0.079,9.19e-3,0.053,0.118,
+0.090,0.069,0.095,0.225,0.212,0.205,0.168,0.156,0.190,0.183,
+0.392,0.156,0.139,0.031,0.118,0.157,0.099,0.178,0.164,0.168,
+0.242,0.303,0.154,0.154,0.242,0.255,0.204,0.183,0.186,0.058,
+0.199,0.219,0.122,0.388,0.144,0.182,0.120,0.207,0.157,0.131,
+0.020,0.041,0.042,0.035,0.130,0.032,0.131,0.189,0.085,0.198,
+0.133,0.150,0.108,0.088,0.083,0.116,0.155,0.170,0.173,0.211,
+0.120,0.020,0.125,0.159,0.101,0.118,0.136,0.220,0.124,0.132,
+0.078,0.085,0.144,0.202,0.150,0.126,0.129,0.041,0.119,0.137,
+0.073,0.126,0.127,0.139,0.018,0.033,0.013,0.016,0.022,0.041,
+0.032,0.020,0.021,0.013,0.028,0.027,0.015,0.043,0.026,0.023,
+0.084,0.157,0.109,0.091,0.015,0.026,0.029,0.022,0.107,0.032,
+0.119,0.122,0.061,0.138,0.123,0.131,0.078,0.064,0.070,0.082,
+0.122,0.132,0.135,0.146,0.124,0.021,0.130,0.149,0.093,0.101,
+0.138,0.181,0.167,0.119,0.085,0.122,0.100,0.091,0.077,0.079,
+0.092,0.012,0.064,0.090,0.088,0.094,0.091,0.159,0.137,0.158,
+0.080,0.105,0.125,0.132,0.112,0.117,0.152,0.021,0.106,0.130,
+0.089,0.126,0.106,0.130,0.122,0.133,0.100,0.118,0.016,0.020,
+0.014,0.017,0.114,0.020,0.121,0.123,0.091,0.148,0.134,0.153,
+0.179,0.111,0.105,0.186,0.148,0.152,0.127,0.164,0.179,0.019,
+0.174,0.233,0.233,0.213,0.236,0.282,1.566,0.922,0.799,1.292,
+0.972,0.765,0.619,0.718,0.739,0.092,0.512,0.651,0.983,0.965,
+0.634,0.896,1.169,0.830,0.606,0.680,0.857,0.639,0.743,0.670,
+0.639,0.093,0.483,0.541,0.493,0.710,0.520,0.607,0.636,0.690,
+0.503,1.048,0.085,0.090,0.073,0.150,0.471,0.056,0.394,0.675,
+0.358,0.555,0.423,0.537,0.889,0.438,0.372,0.834,0.686,0.725,
+0.397,0.650,0.602,0.055,0.304,0.457,0.589,0.353,0.443,0.782,
+1.327,1.041,0.577,0.773,1.079,0.934,0.696,0.662,0.649,0.122,
+0.450,0.639,0.548,0.810,0.446,0.617,1.116,1.113,0.570,0.607,
+0.891,0.619,0.731,0.638,0.875,0.172,0.666,1.001,0.481,0.830,
+0.475,0.538,0.669,1.049,0.565,0.754,0.111,0.140,0.116,0.172,
+0.830,0.164,0.867,2.995,0.445,0.943,0.638,0.850,0.499,0.388,
+0.306,0.432,0.782,0.727,0.487,0.637,0.499,0.058,0.369,0.748,
+0.514,0.450,0.435,0.752,1.091,0.726,0.425,0.639,1.367,1.733,
+0.986,1.019,0.965,0.162,0.605,0.816,0.785,0.877,0.665,0.963,
+0.171,0.179,0.086,0.109,0.154,0.187,0.155,0.146,0.128,0.042,
+0.182,0.152,0.125,0.290,0.148,0.163,0.579,0.732,0.635,0.649,
+0.093,0.099,0.105,0.128,0.638,0.102,0.530,0.732,0.389,0.808,
+0.632,0.632,0.447,0.373,0.287,0.386,0.782,0.768,0.708,0.774,
+0.540,0.079,0.458,0.640,0.502,0.617,0.595,0.797,0.872,0.447,
+0.320,0.575,0.475,0.431,0.414,0.401,0.438,0.066,0.276,0.441,
+0.649,0.642,0.433,0.775,0.852,0.755,0.476,0.544,0.731,0.733,
+0.597,0.552,0.548,0.075,0.543,0.612,0.536,0.880,0.636,0.706,
+0.556,0.636,0.537,0.571,0.094,0.066,0.070,0.098,0.538,0.075,
+0.480,0.952,0.446,0.758,0.635,0.756,0.587,0.410,0.337,0.635,
+0.462,0.386,0.379,0.522,0.634,0.059,0.465,0.751,0.829,0.789,
+0.824,1.364,0.118,0.102,0.075,0.085,0.098,0.103,0.089,0.083,
+0.064,0.013,0.056,0.053,0.069,0.085,0.064,0.080,0.136,0.152,
+0.128,0.094,0.146,0.162,0.246,0.157,0.101,0.039,0.099,0.097,
+0.058,0.113,0.133,0.102,0.053,0.086,0.056,0.071,0.014,0.027,
+0.022,0.017,0.063,0.024,0.066,0.070,0.035,0.085,0.058,0.067,
+0.057,0.037,0.034,0.052,0.071,0.081,0.053,0.066,0.057,8.61e-3,
+0.036,0.047,0.045,0.042,0.051,0.089,0.093,0.131,0.052,0.063,
+0.097,0.116,0.108,0.072,0.055,0.022,0.050,0.048,0.041,0.070,
+0.047,0.058,0.130,0.172,0.085,0.070,0.126,0.106,0.138,0.100,
+0.140,0.079,0.109,0.112,0.059,0.134,0.091,0.099,0.056,0.135,
+0.072,0.061,0.019,0.052,0.047,0.023,0.114,0.054,0.126,0.175,
+0.057,0.148,0.092,0.088,0.038,0.042,0.037,0.034,0.064,0.079,
+0.063,0.061,0.043,0.011,0.046,0.062,0.034,0.042,0.049,0.072,
+0.086,0.089,0.051,0.048,0.122,0.192,0.150,0.105,0.092,0.030,
+0.101,0.079,0.057,0.089,0.085,0.074,0.018,0.042,0.025,0.014,
+0.036,0.069,0.073,0.031,0.025,0.031,0.072,0.033,0.011,0.045,
+0.035,0.020,0.061,0.109,0.095,0.073,0.022,0.042,0.050,0.021,
+0.089,0.042,0.125,0.098,0.042,0.131,0.108,0.085,0.048,0.054,
+0.047,0.047,0.092,0.122,0.115,0.096,0.065,0.021,0.084,0.089,
+0.045,0.089,0.080,0.094,0.093,0.090,0.052,0.067,0.063,0.062,
+0.055,0.051,0.050,8.44e-3,0.038,0.044,0.065,0.073,0.068,0.101,
+0.131,0.150,0.104,0.103,0.157,0.209,0.152,0.129,0.108,0.031,
+0.132,0.111,0.076,0.167,0.167,0.124,0.058,0.084,0.080,0.073,
+0.011,0.019,0.018,0.014,0.071,0.023,0.098,0.114,0.055,0.107,
+0.120,0.106,0.054,0.048,0.040,0.055,0.053,0.069,0.051,0.063,
+0.059,0.010,0.063,0.091,0.075,0.085,0.102,0.140,0.917,0.943,
+0.682,0.880,0.813,0.718,0.515,0.573,0.573,0.075,0.387,0.488,
+0.425,0.449,0.385,0.518,1.367,1.304,0.673,0.712,1.398,1.113,
+1.071,0.780,1.273,0.187,0.990,0.906,0.502,0.942,0.637,0.663,
+0.625,1.135,0.597,0.637,0.119,0.185,0.143,0.176,0.657,0.172,
+0.774,0.710,0.338,0.886,0.498,0.631,0.474,0.391,0.266,0.427,
+0.621,0.620,0.432,0.533,0.542,0.077,0.492,0.735,0.424,0.436,
+0.502,0.842,0.096,0.112,0.059,0.077,0.161,0.174,0.110,0.093,
+0.062,0.022,0.072,0.063,0.036,0.072,0.049,0.081,0.126,0.183,
+0.088,0.073,0.219,0.218,0.196,0.124,0.131,0.075,0.185,0.148,
+0.049,0.139,0.087,0.068,0.060,0.178,0.091,0.073,0.030,0.071,
+0.069,0.032,0.114,0.064,0.213,0.177,0.037,0.152,0.099,0.083,
+0.052,0.049,0.036,0.052,0.112,0.139,0.089,0.106,0.066,0.018,
+0.087,0.109,0.041,0.061,0.064,0.102,1.175,0.837,0.478,0.436,
+1.190,1.293,0.974,0.707,0.854,0.199,0.871,0.675,0.401,0.662,
+1.261,0.686,0.122,0.209,0.119,0.080,0.158,0.261,0.220,0.094,
+0.148,0.094,0.257,0.135,0.076,0.205,0.306,0.123,0.691,0.864,
+0.666,0.655,0.156,0.176,0.205,0.158,0.459,0.114,0.351,0.284,
+0.261,0.525,0.560,0.464,0.381,0.322,0.311,0.322,0.753,0.848,
+0.818,0.676,0.579,0.119,0.760,0.678,0.320,0.519,0.736,0.765,
+0.659,0.453,0.332,0.406,0.469,0.400,0.270,0.280,0.389,0.060,
+0.344,0.343,0.322,0.353,0.613,0.517,1.030,1.110,0.704,0.563,
+1.047,1.300,0.865,0.604,0.793,0.169,1.043,0.836,0.541,1.035,
+2.426,0.869,0.612,0.917,0.631,0.625,0.106,0.173,0.140,0.118,
+0.751,0.152,0.887,0.800,0.386,0.861,0.775,0.675,0.462,0.367,
+0.306,0.422,0.627,0.590,0.437,0.496,0.608,0.081,0.737,0.751,
+0.515,0.609,0.749,0.805,1.094,0.661,0.470,0.905,0.594,0.433,
+0.338,0.458,0.538,0.060,0.291,0.435,0.569,0.467,0.477,0.753,
+0.885,0.601,0.354,0.448,0.599,0.402,0.358,0.393,0.455,0.046,
+0.295,0.371,0.344,0.417,0.304,0.411,0.555,0.606,0.310,0.470,
+0.065,0.070,0.046,0.083,0.385,0.057,0.312,0.452,0.344,0.593,
+0.324,0.505,0.538,0.330,0.244,0.473,0.480,0.377,0.266,0.442,
+0.356,0.036,0.225,0.425,0.429,0.361,0.350,0.793,1.193,0.997,
+0.572,0.801,0.961,0.842,0.703,0.677,0.541,0.085,0.493,0.539,
+0.439,0.616,0.356,0.609,1.195,1.122,0.561,0.722,1.137,1.026,
+0.933,0.879,0.744,0.136,0.787,0.866,0.423,0.818,0.488,0.591,
+0.582,1.047,0.526,0.582,0.090,0.149,0.113,0.115,0.696,0.145,
+0.891,1.057,0.394,0.979,0.632,0.759,0.547,0.436,0.320,0.492,
+0.801,0.784,0.569,0.755,0.522,0.074,0.528,0.797,0.401,0.476,
+0.447,0.803,1.299,1.613,0.492,0.596,1.329,2.185,1.003,0.989,
+0.827,0.183,0.710,0.792,0.561,1.119,1.094,1.055,0.123,0.174,
+0.078,0.084,0.139,0.265,0.196,0.131,0.100,0.050,0.134,0.132,
+0.101,0.663,0.208,0.142,0.693,1.131,0.587,0.618,0.100,0.150,
+0.135,0.118,1.046,0.189,0.697,0.835,0.494,1.240,0.754,0.772,
+0.553,0.530,0.387,0.429,0.915,0.959,0.859,0.861,0.735,0.102,
+0.769,1.030,0.513,0.683,0.814,0.984,0.913,0.603,0.371,0.555,
+0.641,0.589,0.360,0.395,0.489,0.060,0.334,0.432,0.491,0.458,
+0.465,0.841,1.106,1.041,0.613,0.629,1.108,1.327,0.822,0.654,
+0.575,0.083,0.587,0.732,0.553,1.027,1.053,0.777,0.729,0.904,
+0.600,0.685,0.094,0.112,0.098,0.107,0.783,0.100,0.765,0.948,
+0.501,0.859,0.787,0.877,0.837,0.500,0.482,0.771,0.806,0.765,
+0.696,0.895,0.794,0.072,0.772,1.112,0.839,0.755,0.921,1.184,
+1.478,0.948,0.862,1.461,0.941,0.674,0.490,0.664,0.708,0.082,
+0.388,0.612,1.047,0.978,0.550,1.084,1.057,0.582,0.800,0.606,
+0.639,0.399,0.415,0.413,0.510,0.049,0.337,0.387,0.470,0.481,
+0.388,0.531,0.593,0.626,0.539,0.639,0.069,0.065,0.050,0.085,
+0.349,0.035,0.234,0.326,0.268,0.397,0.328,0.516,1.020,0.477,
+1.570,0.999,0.753,0.498,0.445,0.588,0.457,0.041,0.302,0.433,
+0.647,0.453,0.523,1.315,1.258,0.823,0.540,0.838,0.763,0.625,
+0.379,0.561,0.494,0.061,0.262,0.466,0.538,0.555,0.338,0.639,
+0.784,0.556,0.339,0.475,0.510,0.361,0.305,0.364,0.440,0.053,
+0.258,0.375,0.386,0.405,0.303,0.401,0.447,0.448,0.283,0.415,
+0.043,0.050,0.037,0.059,0.395,0.039,0.251,0.625,0.358,0.470,
+0.300,0.469,0.435,0.274,0.247,0.405,0.431,0.359,0.257,0.413,
+0.344,0.026,0.211,0.392,0.406,0.303,0.314,0.627,1.010,0.768,
+0.370,0.581,1.136,3.514,0.578,0.887,0.613,0.116,0.270,0.449,
+0.679,0.630,0.458,0.876,0.080,0.075,0.044,0.064,0.080,0.151,
+0.056,0.072,0.053,0.013,0.042,0.054,0.083,0.113,0.078,0.093,
+0.384,0.397,0.326,0.438,0.048,0.073,0.037,0.059,0.327,0.040,
+0.197,0.321,0.324,0.449,0.338,0.447,0.450,0.347,0.331,0.500,
+0.547,0.523,0.384,0.613,0.414,0.044,0.276,0.492,0.461,0.437,
+0.457,0.790,1.269,0.577,0.420,0.926,0.608,0.944,0.379,0.761,
+0.550,0.066,0.296,0.500,0.922,0.618,0.495,1.114,0.829,0.559,
+0.400,0.564,0.569,0.551,0.392,0.460,0.471,0.049,0.359,0.472,
+0.599,0.668,0.492,0.714,0.494,0.461,0.370,0.527,0.045,0.045,
+0.042,0.059,0.401,0.036,0.269,0.455,0.352,0.475,0.455,0.663,
+0.803,0.457,0.476,0.954,0.512,0.401,0.380,0.607,0.650,0.049,
+0.465,0.821,0.916,0.769,0.953,1.803,1.960,1.235,0.911,1.507,
+1.208,0.964,0.783,0.944,0.791,0.108,0.503,0.775,1.069,1.141,
+0.702,1.347,1.557,1.095,0.869,0.937,1.140,0.925,1.242,0.956,
+0.881,0.128,0.788,0.822,0.688,0.862,0.764,0.935,0.781,0.866,
+0.597,0.752,0.076,0.108,0.088,0.115,0.570,0.085,0.438,0.577,
+0.470,0.820,0.603,0.893,0.795,0.488,0.512,0.678,0.783,0.745,
+0.479,0.736,0.530,0.055,0.343,0.547,0.617,0.562,0.593,1.262,
+1.447,1.209,0.639,1.018,1.107,1.003,0.730,1.184,0.687,0.109,
+0.408,0.603,0.802,0.806,0.547,0.928,1.350,1.220,0.585,0.694,
+1.145,0.764,0.767,0.732,1.032,0.217,0.631,0.810,0.845,1.001,
+0.616,0.829,0.719,0.945,0.519,0.724,0.084,0.131,0.084,0.119,
+0.782,0.130,0.571,0.816,0.570,0.996,0.649,1.090,0.530,0.425,
+0.346,0.521,0.633,0.720,0.415,0.782,0.489,0.057,0.371,0.763,
+0.517,0.521,0.503,0.926,1.091,0.719,0.558,0.706,1.115,1.258,
+0.927,1.194,0.775,0.127,0.534,0.658,0.667,0.752,0.633,1.033,
+0.080,0.116,0.064,0.073,0.111,0.167,0.133,0.124,0.083,0.039,
+0.137,0.103,0.083,0.160,0.114,0.115,0.611,0.753,0.548,0.651,
+0.080,0.110,0.093,0.111,0.635,0.134,0.569,0.733,0.456,1.030,
+0.734,0.924,0.610,0.436,0.356,0.559,0.794,0.943,0.732,0.931,
+0.597,0.084,0.603,0.815,0.597,0.887,0.755,1.250,1.115,0.743,
+0.500,0.890,0.633,0.584,0.456,0.696,0.592,0.065,0.406,0.590,
+0.735,0.595,0.578,1.176,1.122,1.065,0.681,0.884,0.979,1.070,
+0.887,0.964,0.724,0.110,0.765,0.896,0.728,1.131,0.909,1.097,
+0.632,0.735,0.581,0.761,0.056,0.080,0.065,0.090,0.558,0.070,
+0.597,0.824,0.488,0.696,1.000,1.107,0.715,0.507,0.466,0.676,
+0.650,0.667,0.449,0.771,0.640,0.064,0.551,0.885,0.821,0.710,
+1.013,1.647,1.454,1.018,0.821,1.209,0.865,0.729,0.759,0.821,
+0.676,0.084,0.421,0.604,0.722,0.609,0.455,0.759,1.474,1.335,
+0.730,0.856,1.138,0.996,0.807,0.731,1.056,0.150,0.954,0.940,
+0.680,0.969,0.764,0.994,0.713,1.296,0.746,0.806,0.098,0.160,
+0.160,0.152,0.615,0.129,0.596,0.715,0.454,1.097,0.688,0.860,
+0.662,0.533,0.437,0.646,0.682,0.703,0.567,0.629,0.646,0.074,
+0.545,0.805,0.652,0.592,0.790,1.338,0.114,0.116,0.109,0.193,
+0.102,0.121,0.088,0.108,0.055,0.014,0.057,0.076,0.058,0.085,
+0.069,0.094,0.128,0.169,0.093,0.085,0.174,0.230,0.146,0.116,
+0.116,0.046,0.152,0.124,0.067,0.144,0.132,0.096,0.056,0.126,
+0.065,0.070,0.015,0.035,0.031,0.021,0.086,0.033,0.121,0.115,
+0.050,0.149,0.108,0.129,0.062,0.064,0.044,0.064,0.097,0.133,
+0.077,0.117,0.068,0.014,0.072,0.102,0.066,0.066,0.080,0.127,
+1.341,0.904,0.557,0.593,1.230,1.255,1.001,0.788,0.816,0.176,
+0.795,0.705,0.575,0.838,1.749,1.014,0.109,0.145,0.082,0.069,
+0.126,0.174,0.114,0.079,0.098,0.046,0.166,0.093,0.100,0.192,
+0.736,0.158,0.812,1.069,0.655,0.626,0.122,0.164,0.126,0.107,
+0.767,0.134,0.429,0.579,0.434,0.875,0.742,0.717,0.590,0.542,
+0.399,0.455,0.929,1.147,0.752,0.762,0.746,0.121,0.844,0.896,
+0.533,0.688,0.868,1.047,0.994,0.653,0.434,0.675,0.671,0.568,
+0.385,0.466,0.578,0.073,0.483,0.588,0.503,0.493,0.625,0.757,
+1.315,1.197,0.733,0.826,1.111,1.193,0.795,0.674,0.958,0.134,
+1.105,1.049,0.733,1.186,2.098,1.062,0.816,1.024,0.623,0.753,
+0.074,0.126,0.099,0.096,0.848,0.110,0.741,0.985,0.528,0.921,
+0.850,0.978,0.838,0.559,0.491,0.591,0.737,0.798,0.588,0.741,
+0.897,0.091,0.967,1.167,0.798,0.780,0.984,1.383,1.966,0.983,
+0.845,1.496,0.823,0.535,0.441,0.653,0.773,0.092,0.427,0.645,
+0.908,0.714,0.589,1.167,1.102,0.741,0.455,0.600,0.685,0.506,
+0.365,0.487,0.626,0.056,0.401,0.508,0.502,0.510,0.385,0.591,
+0.765,0.873,0.502,0.812,0.107,0.112,0.070,0.136,0.509,0.059,
+0.369,0.554,0.587,0.733,0.531,0.788,0.744,0.429,0.372,0.697,
+0.574,0.398,0.327,0.546,0.490,0.041,0.356,0.627,0.724,0.514,
+0.755,1.709,1.431,1.001,0.914,1.088,0.920,0.780,0.707,0.767,
+0.602,0.074,0.432,0.667,0.607,0.688,0.533,0.897,1.287,1.106,
+0.569,0.712,0.994,0.992,0.652,0.800,0.816,0.114,0.659,0.825,
+0.546,0.860,0.520,0.740,0.660,0.784,0.445,0.783,0.062,0.083,
+0.057,0.097,0.676,0.095,0.784,0.918,0.537,0.946,0.787,1.193,
+0.670,0.530,0.427,0.701,0.707,0.613,0.459,0.753,0.612,0.050,
+0.559,0.800,0.644,0.544,0.688,1.363,1.788,1.099,0.820,0.879,
+1.425,1.282,0.883,1.138,1.004,0.146,0.704,0.918,0.893,1.036,
+1.061,1.487,0.135,0.148,0.071,0.088,0.132,0.161,0.095,0.110,
+0.097,0.022,0.088,0.102,0.108,0.198,0.172,0.158,1.027,1.381,
+0.693,0.883,0.098,0.136,0.091,0.127,1.203,0.168,0.688,0.999,
+0.795,1.319,1.090,1.315,1.031,0.841,0.561,0.799,1.268,1.146,
+0.919,1.240,1.343,0.115,0.898,1.418,1.000,0.986,0.978,1.878,
+2.133,1.038,0.679,1.188,0.970,0.715,0.503,0.692,0.870,0.089,
+0.532,0.781,1.161,0.885,0.830,1.865,1.620,1.298,0.687,0.959,
+1.479,1.579,0.763,0.859,1.094,0.095,0.799,1.182,1.008,1.070,
+1.063,1.356,1.224,1.250,0.775,1.167,0.089,0.108,0.075,0.111,
+1.158,0.103,0.887,1.282,1.084,1.412,1.255,1.726,2.035,0.981,
+0.796,1.648,1.285,1.051,0.861,1.344,1.540,0.103,1.264,2.007,
+2.296,1.347,1.526,3.107,2.903,2.130,1.956,3.859,2.194,1.396,
+1.123,1.551,2.119,0.200,0.942,1.621,3.475,2.439,1.415,2.912,
+3.022,1.469,1.105,1.419,1.527,1.018,0.701,0.821,1.319,0.097,
+0.676,0.918,1.193,0.993,0.835,1.246,2.001,1.232,0.989,1.627,
+0.157,0.115,0.098,0.187,0.888,0.079,0.532,0.773,0.970,1.101,
+0.775,1.191,3.040,1.329,1.423,2.773,2.115,1.366,1.322,1.943,
+1.326,0.107,0.812,1.252,2.116,1.310,1.507,2.496,2.394,1.091,
+0.794,1.353,1.201,0.755,0.544,0.730,0.908,0.080,0.396,0.664,
+0.874,0.807,0.506,0.977,1.666,0.908,0.548,0.795,0.908,0.602,
+0.408,0.519,0.736,0.060,0.395,0.530,0.562,0.523,0.461,0.595,
+1.117,0.779,0.523,0.806,0.073,0.061,0.045,0.078,0.686,0.057,
+0.376,0.542,0.517,0.584,0.382,0.663,1.041,0.599,0.433,0.776,
+0.896,0.623,0.463,0.650,0.653,0.043,0.298,0.504,0.737,0.555,
+0.499,0.971,1.464,0.739,0.586,1.047,1.067,0.763,0.655,0.794,
+0.950,0.100,0.421,0.693,1.054,0.832,0.720,1.390,0.135,0.102,
+0.063,0.113,0.091,0.083,0.072,0.079,0.089,0.014,0.063,0.083,
+0.120,0.134,0.085,0.146,0.697,0.574,0.533,0.610,0.067,0.045,
+0.042,0.061,0.527,0.050,0.268,0.394,0.504,0.574,0.422,0.594,
+0.899,0.514,0.455,0.773,0.983,0.673,0.544,0.759,0.740,0.065,
+0.395,0.669,0.759,0.813,0.701,1.330,2.699,1.008,0.982,2.382,
+1.067,0.618,0.758,0.970,1.250,0.117,0.552,0.882,1.708,1.104,
+0.958,2.130,1.695,1.050,0.806,1.398,1.029,0.729,0.810,0.873,
+0.989,0.067,0.583,0.888,1.124,0.998,0.778,1.261,0.952,0.769,
+0.707,1.111,0.083,0.062,0.088,0.108,0.860,0.055,0.428,0.645,
+0.771,0.827,0.793,1.024,1.739,0.923,0.853,1.834,1.104,0.718,
+0.684,1.079,1.377,0.085,0.762,1.431,2.166,1.669,1.552,3.530,
+2.498,1.318,0.946,1.820,1.218,0.814,0.594,0.803,0.900,0.088,
+0.374,0.734,1.089,0.926,0.616,1.374,1.543,0.981,0.787,1.044,
+0.841,0.591,0.504,0.585,0.768,0.105,0.460,0.618,0.560,0.691,
+0.590,0.777,0.790,0.746,0.544,0.854,0.079,0.084,0.052,0.094,
+0.545,0.064,0.254,0.360,0.459,0.640,0.352,0.615,1.188,1.664,
+0.708,1.259,1.040,0.901,0.526,0.780,0.596,0.062,0.296,0.524,
+0.800,0.614,0.575,1.268,1.481,1.078,0.486,0.952,0.882,0.734,
+0.388,0.519,0.553,0.058,0.294,0.462,0.532,0.569,0.400,0.789,
+0.895,0.695,0.357,0.585,0.494,0.227,0.293,0.414,0.454,0.050,
+0.339,0.414,0.347,0.411,0.550,0.610,0.616,0.636,0.364,0.576,
+0.057,0.060,0.037,0.059,0.441,0.066,0.255,0.349,0.346,0.521,
+0.301,0.470,0.632,0.570,0.332,0.529,0.547,0.487,0.341,0.451,
+0.409,0.034,0.213,0.389,0.433,0.405,0.334,0.724,1.008,0.580,
+0.428,0.688,0.753,0.526,0.480,0.575,0.676,0.072,0.394,0.508,
+0.597,0.540,0.526,0.979,0.069,0.076,0.043,0.072,0.052,0.059,
+0.049,0.054,0.050,9.69e-3,0.091,0.060,0.052,0.075,0.061,0.093,
+0.550,0.502,0.408,0.509,0.048,0.047,0.032,0.048,0.348,0.037,
+0.243,0.341,0.317,0.423,0.352,0.471,0.575,0.374,0.363,0.578,
+0.620,0.585,0.427,0.571,0.572,0.044,0.341,0.572,0.504,0.584,
+0.573,0.937,1.166,0.594,0.451,0.829,0.541,0.352,0.329,0.439,
+0.510,0.043,0.298,0.418,0.627,0.456,0.452,0.973,0.904,0.799,
+0.476,0.815,0.518,0.471,0.425,0.614,0.417,0.043,0.391,0.485,
+0.456,0.541,0.485,0.717,0.523,0.374,0.422,0.593,0.036,0.032,
+0.030,0.048,0.351,0.031,0.289,0.375,0.397,0.449,0.505,0.686,
+0.741,0.347,0.437,0.695,0.512,0.435,0.373,0.646,0.589,0.042,
+0.394,0.691,0.910,0.900,0.880,1.584,2.317,1.264,0.807,1.519,
+0.927,0.631,0.465,0.721,0.823,0.086,0.395,0.654,0.994,0.979,
+0.547,1.154,1.827,1.279,0.674,1.069,0.897,0.703,0.590,0.663,
+0.995,0.087,0.528,0.696,0.799,0.876,0.578,0.898,1.106,0.988,
+0.838,0.991,0.100,0.102,0.080,0.156,0.521,0.055,0.280,0.407,
+0.476,0.661,0.373,0.650,1.276,0.846,0.812,1.398,0.940,0.691,
+0.778,1.165,0.764,0.067,0.419,0.705,0.986,0.729,0.849,2.029,
+0.172,0.130,0.070,0.122,0.103,0.093,0.051,0.076,0.082,0.013,
+0.038,0.069,0.101,0.115,0.070,0.130,0.166,0.160,0.062,0.095,
+0.103,0.125,0.061,0.072,0.089,0.013,0.058,0.081,0.082,0.111,
+0.072,0.144,0.092,0.107,0.065,0.088,9.78e-3,0.014,0.012,0.012,
+0.069,0.012,0.051,0.062,0.061,0.098,0.047,0.089,0.158,0.110,
+0.077,0.159,0.153,0.147,0.106,0.175,0.084,0.011,0.067,0.094,
+0.130,0.106,0.114,0.222,1.284,0.643,0.407,0.572,0.674,0.546,
+0.572,0.566,0.772,0.101,0.485,0.665,0.570,0.585,0.678,0.866,
+0.088,0.095,0.042,0.056,0.051,0.062,0.048,0.048,0.067,0.013,
+0.046,0.057,0.072,0.093,0.068,0.081,0.559,0.720,0.403,0.429,
+0.060,0.057,0.043,0.050,0.464,0.060,0.196,0.293,0.368,0.472,
+0.329,0.451,0.560,0.414,0.367,0.457,0.638,0.606,0.502,0.571,
+0.583,0.062,0.410,0.544,0.470,0.517,0.488,0.807,1.001,0.548,
+0.379,0.739,0.563,0.371,0.321,0.406,0.617,0.064,0.321,0.552,
+0.722,0.596,0.459,0.985,1.085,0.888,0.505,0.784,0.673,0.626,
+0.522,0.555,0.661,0.066,0.454,0.645,0.727,0.813,0.564,0.904,
+0.820,0.710,0.421,0.608,0.064,0.083,0.041,0.061,0.537,0.053,
+0.345,0.519,0.468,0.638,0.467,0.706,0.916,0.561,0.485,0.736,
+0.723,0.656,0.490,0.692,0.787,0.068,0.544,0.813,0.986,0.916,
+0.842,1.571,2.934,1.370,1.075,2.229,1.045,0.603,0.538,0.742,
+1.012,0.081,0.451,0.803,1.508,1.063,0.874,2.092,1.440,0.717,
+0.542,1.138,0.696,0.415,0.388,0.507,0.674,0.046,0.357,0.550,
+0.692,0.513,0.477,0.917,1.264,0.882,0.679,1.224,0.093,0.073,
+0.054,0.138,0.754,0.056,0.325,0.599,0.707,0.684,0.431,0.921,
+1.991,1.083,1.222,2.924,1.190,0.781,0.724,1.428,1.008,0.073,
+0.559,1.041,1.589,1.050,1.092,3.025,1.835,1.025,0.707,1.197,
+0.975,0.678,0.469,0.654,0.882,0.073,0.397,0.686,0.908,0.825,
+0.622,1.238,1.309,0.921,0.444,0.737,0.737,0.636,0.387,0.510,
+0.644,0.053,0.393,0.604,0.593,0.644,0.406,1.027,0.925,0.739,
+0.479,0.864,0.064,0.071,0.042,0.079,0.662,0.054,0.344,0.594,
+0.654,0.707,0.412,0.802,1.124,0.673,0.572,1.165,1.001,0.778,
+0.580,1.047,0.795,0.052,0.433,0.800,0.998,0.769,0.733,1.587,
+1.232,0.707,0.504,0.819,0.881,0.602,0.510,0.720,0.849,0.088,
+0.562,0.780,0.770,0.677,0.734,1.161,0.093,0.083,0.048,0.083,
+0.052,0.063,0.067,0.059,0.067,0.015,0.051,0.071,0.075,0.093,
+0.062,0.105,0.772,0.830,0.563,0.774,0.050,0.050,0.045,0.067,
+0.608,0.057,0.353,0.501,0.507,0.642,0.461,0.855,0.811,0.573,
+0.576,0.898,0.931,0.746,0.715,0.926,0.962,0.068,0.491,0.915,
+0.804,0.711,0.763,1.481,2.253,1.057,0.947,1.815,1.137,0.739,
+0.687,0.883,1.122,0.109,0.538,1.014,1.496,1.032,0.947,2.206,
+1.324,0.928,0.661,1.196,0.833,0.675,0.797,0.898,0.809,0.060,
+0.560,0.841,0.915,0.891,0.711,1.340,1.327,1.153,0.826,1.298,
+0.096,0.091,0.059,0.112,1.094,0.078,0.623,0.957,1.114,1.221,
+0.910,1.550,2.495,1.327,1.334,2.702,1.798,1.698,1.204,1.928,
+1.983,0.130,1.341,2.246,3.407,2.589,2.541,4.056,3.171,1.987,
+1.633,2.762,2.072,1.295,0.979,1.201,1.478,0.180,0.881,1.301,
+2.237,1.928,1.294,1.964,2.568,1.547,1.086,1.364,1.458,1.037,
+0.887,0.921,1.109,0.126,0.932,1.154,0.942,1.008,1.060,1.189,
+1.304,1.050,0.794,1.348,0.135,0.128,0.101,0.162,0.686,0.085,
+0.441,0.811,0.664,0.875,0.639,0.956,1.973,1.041,0.818,1.520,
+1.857,1.479,0.981,1.168,1.001,0.096,0.655,1.034,1.370,0.945,
+1.068,1.865,3.059,1.665,1.084,1.482,1.608,1.160,0.711,0.883,
+1.052,0.151,0.616,0.945,1.027,1.243,0.825,1.566,2.734,1.473,
+0.879,1.109,1.243,0.872,0.773,0.838,1.082,0.148,0.849,1.040,
+0.685,0.912,1.021,1.098,1.005,0.991,0.584,0.860,0.112,0.110,
+0.094,0.117,0.804,0.122,0.500,0.713,0.594,0.916,0.660,0.845,
+1.002,0.727,0.403,0.699,1.039,0.882,0.529,0.762,0.825,0.075,
+0.456,0.744,0.788,0.698,0.754,1.315,1.554,0.916,0.660,1.051,
+1.654,1.174,0.950,1.033,1.116,0.152,0.563,0.769,0.962,1.069,
+0.816,1.486,0.147,0.154,0.097,0.181,0.139,0.165,0.122,0.136,
+0.106,0.024,0.102,0.123,0.102,0.176,0.126,0.162,0.654,0.700,
+0.561,0.631,0.091,0.077,0.070,0.101,0.589,0.081,0.414,0.563,
+0.467,0.724,0.637,0.850,0.809,0.482,0.464,0.772,0.996,0.784,
+0.672,0.913,0.848,0.088,0.586,0.833,0.774,0.835,0.930,1.464,
+1.801,0.734,0.644,1.489,1.077,0.571,0.521,0.759,0.857,0.102,
+0.458,0.691,1.098,0.875,0.691,1.498,1.697,1.231,0.908,2.155,
+1.311,1.046,0.862,1.303,0.839,0.105,0.734,1.010,0.838,1.011,
+0.834,1.222,0.821,0.738,0.573,0.940,0.076,0.059,0.068,0.104,
+0.672,0.100,0.430,0.644,0.559,0.905,0.784,0.957,1.208,0.759,
+0.577,1.192,0.770,0.562,0.560,0.778,0.987,0.089,0.754,1.166,
+1.358,1.066,1.232,2.255,2.524,1.654,1.112,1.949,1.663,1.417,
+0.921,0.990,0.955,0.132,0.519,0.900,1.096,1.147,0.889,1.415,
+2.137,1.658,1.019,1.249,1.564,1.298,1.055,1.056,1.014,0.163,
+0.915,1.168,0.711,1.149,1.700,1.516,0.821,1.027,0.796,1.063,
+0.116,0.173,0.101,0.142,0.491,0.072,0.353,0.460,0.446,0.647,
+0.520,0.711,1.052,0.918,0.617,1.086,1.389,2.123,0.681,0.875,
+0.749,0.089,0.415,0.654,0.990,0.730,0.761,1.388,1.960,1.694,
+0.789,1.223,1.577,1.756,0.778,0.908,0.843,0.146,0.559,0.784,
+0.681,1.020,0.692,1.324,1.820,1.719,0.849,1.012,1.276,0.656,
+0.845,1.109,0.995,0.211,0.866,1.044,0.588,1.120,1.099,1.850,
+0.772,1.193,0.729,0.997,0.112,0.203,0.114,0.152,0.680,0.142,
+0.523,0.652,0.420,0.925,0.634,0.874,0.679,0.683,0.429,0.584,
+0.858,1.226,0.627,0.720,0.625,0.070,0.423,0.729,0.518,0.629,
+0.567,1.174,1.372,0.838,0.588,0.797,1.434,1.206,1.085,0.933,
+0.914,0.157,0.720,0.704,0.682,0.843,0.824,1.198,0.126,0.168,
+0.095,0.134,0.140,0.224,0.226,0.146,0.130,0.052,0.225,0.147,
+0.075,0.190,0.151,0.161,0.768,0.953,0.717,0.745,0.134,0.154,
+0.128,0.124,0.634,0.108,0.536,0.606,0.415,0.804,0.752,0.785,
+0.686,0.452,0.524,0.700,0.991,1.109,1.017,0.988,0.938,0.101,
+0.680,0.864,0.736,0.964,1.075,1.340,1.181,0.662,0.508,0.820,
+0.828,0.559,0.473,0.648,0.579,0.061,0.385,0.465,0.675,0.533,
+0.648,1.094,1.235,1.093,0.816,1.291,1.068,1.128,1.097,1.406,
+0.766,0.122,0.843,0.896,0.560,0.901,0.822,1.030,0.571,0.737,
+0.561,0.676,0.057,0.070,0.071,0.088,0.453,0.057,0.487,0.527,
+0.411,0.640,1.060,0.974,0.923,0.491,0.534,0.750,0.628,0.650,
+0.645,0.834,0.711,0.062,0.539,0.814,0.917,0.906,1.189,1.899,
+1.739,1.162,0.734,1.267,0.939,0.776,0.502,0.607,0.649,0.081,
+0.368,0.544,0.747,0.773,0.575,0.876,1.710,1.385,0.661,0.915,
+1.133,1.012,0.738,0.764,0.990,0.144,0.799,0.938,0.669,1.111,
+0.642,0.939,0.720,0.904,0.702,0.763,0.092,0.125,0.117,0.158,
+0.508,0.076,0.382,0.487,0.343,0.640,0.373,0.597,0.803,0.643,
+0.482,0.887,0.745,0.686,0.705,0.797,0.624,0.074,0.477,0.740,
+0.712,0.603,0.739,1.553,0.105,0.102,0.052,0.080,0.089,0.107,
+0.073,0.073,0.061,0.018,0.046,0.062,0.064,0.110,0.107,0.099,
+0.140,0.172,0.072,0.091,0.138,0.184,0.122,0.102,0.102,0.041,
+0.121,0.120,0.069,0.175,0.092,0.122,0.057,0.105,0.086,0.069,
+0.013,0.031,0.040,0.021,0.086,0.030,0.079,0.086,0.049,0.123,
+0.078,0.090,0.079,0.076,0.049,0.089,0.109,0.135,0.135,0.137,
+0.080,0.016,0.083,0.104,0.067,0.072,0.088,0.150,1.151,0.998,
+0.561,0.715,0.979,1.112,0.946,0.896,0.888,0.171,0.697,0.804,
+0.585,0.812,0.820,1.099,0.107,0.200,0.073,0.086,0.100,0.159,
+0.136,0.088,0.100,0.033,0.128,0.114,0.081,0.163,0.120,0.121,
+0.686,1.167,0.782,0.683,0.088,0.158,0.135,0.116,0.700,0.133,
+0.463,0.632,0.380,0.829,0.671,0.803,0.554,0.492,0.437,0.554,
+0.849,1.068,0.839,0.924,0.769,0.122,0.858,0.878,0.532,0.680,
+0.857,1.228,1.084,0.723,0.467,0.806,0.649,0.489,0.396,0.443,
+0.656,0.077,0.398,0.622,0.688,0.685,0.535,1.099,1.417,1.587,
+0.749,1.049,1.283,1.377,1.159,1.042,0.994,0.155,0.950,1.347,
+0.765,1.246,0.891,1.225,1.208,1.099,0.665,0.737,0.088,0.103,
+0.077,0.092,0.727,0.103,0.617,0.795,0.526,0.955,0.802,0.974,
+0.887,0.603,0.507,0.825,0.737,0.696,0.559,0.736,0.835,0.091,
+0.928,1.118,0.982,1.023,1.103,1.725,1.713,0.919,0.724,1.413,
+0.865,0.547,0.462,0.709,0.734,0.073,0.385,0.697,0.926,0.738,
+0.640,1.333,1.139,0.741,0.463,0.703,0.658,0.496,0.490,0.575,
+0.595,0.058,0.414,0.589,0.532,0.514,0.465,0.715,0.821,0.698,
+0.497,0.806,0.067,0.068,0.051,0.113,0.544,0.046,0.298,0.450,
+0.431,0.514,0.358,0.694,1.008,0.628,0.577,1.238,0.699,0.603,
+0.490,0.970,0.705,0.055,0.403,0.766,1.017,0.636,0.722,1.864,
+1.680,1.256,0.777,1.143,1.150,1.010,1.002,0.824,0.890,0.113,
+0.484,0.992,0.859,1.113,0.739,1.362,1.511,1.523,0.629,0.871,
+1.157,1.116,0.767,0.890,0.917,0.129,0.808,1.050,0.729,1.243,
+0.677,1.018,0.768,0.962,0.628,0.831,0.084,0.111,0.103,0.136,
+0.733,0.102,0.451,0.853,0.597,1.061,0.583,0.965,0.890,0.700,
+0.534,0.986,1.022,1.055,0.992,1.512,0.816,0.076,0.624,1.077,
+0.844,0.802,0.841,1.696,1.143,0.784,0.547,0.772,1.053,0.900,
+0.822,0.928,0.902,0.127,0.687,0.965,0.771,0.820,0.825,1.302,
+0.097,0.114,0.054,0.088,0.074,0.106,0.111,0.080,0.061,0.014,
+0.078,0.096,0.067,0.110,0.075,0.105,0.715,0.875,0.642,0.725,
+0.061,0.080,0.073,0.091,0.706,0.087,0.539,0.675,0.498,0.786,
+0.665,1.035,0.712,0.532,0.519,0.774,0.860,0.826,0.846,1.073,
+0.870,0.085,0.751,0.987,0.803,0.705,0.953,1.575,1.598,0.896,
+0.747,1.238,0.849,0.667,0.654,0.674,0.833,0.094,0.520,0.844,
+0.926,0.720,0.738,1.457,1.472,1.261,0.621,1.014,0.978,0.825,
+0.885,0.931,0.796,0.079,0.624,0.909,0.718,0.774,0.626,1.010,
+1.114,0.997,0.765,1.147,0.098,0.084,0.068,0.105,0.828,0.083,
+0.775,0.930,0.787,0.985,0.922,1.319,1.539,0.911,0.866,1.678,
+1.160,1.031,0.988,1.386,1.297,0.099,1.156,1.783,1.898,1.641,
+1.787,2.419,1.298,0.968,0.821,1.383,1.165,0.777,0.634,0.818,
+0.788,0.101,0.458,0.704,1.163,1.135,0.769,1.215,1.123,0.704,
+0.653,0.735,0.820,0.526,0.626,0.847,0.623,0.084,0.426,0.475,
+0.593,0.765,0.552,0.745,0.807,0.614,0.412,0.715,0.096,0.061,
+0.045,0.098,0.404,0.046,0.292,0.409,0.393,0.594,0.410,0.658,
+1.103,0.542,0.438,0.888,0.886,0.652,0.443,0.689,0.573,0.050,
+0.303,0.477,0.738,0.533,0.592,1.172,1.568,0.947,0.549,0.898,
+1.222,0.790,0.692,0.698,0.657,0.083,0.362,0.514,0.717,0.853,
+0.503,0.850,1.190,0.915,0.437,0.553,0.860,0.440,0.532,0.617,
+0.625,0.064,0.448,0.554,0.438,0.522,0.356,0.520,0.713,0.803,
+0.423,0.607,0.085,0.097,0.065,0.095,0.594,0.082,0.446,0.885,
+0.398,0.746,0.465,0.662,0.666,0.478,0.278,0.512,0.903,0.849,
+0.490,0.668,0.543,0.053,0.314,0.552,0.596,0.668,0.478,0.977,
+1.124,0.869,0.496,0.664,1.213,1.136,0.939,0.827,1.046,0.148,
+0.823,0.711,0.803,0.971,0.703,1.090,0.150,0.440,0.095,0.100,
+0.114,0.146,0.179,0.112,0.115,0.027,0.372,0.131,0.118,0.250,
+0.151,0.155,0.597,0.638,0.470,0.573,0.077,0.088,0.075,0.088,
+0.561,0.111,0.360,0.490,0.501,1.551,0.552,0.651,0.541,0.429,
+0.308,0.482,0.876,0.811,0.663,0.770,0.656,0.127,0.430,0.662,
+0.809,2.317,0.703,1.153,1.132,0.603,0.431,0.778,0.673,0.499,
+0.682,0.548,0.623,0.089,0.411,0.508,0.887,0.951,0.611,1.066,
+0.999,0.946,0.502,0.698,0.795,0.868,0.774,0.762,0.657,0.079,
+0.978,0.660,0.716,0.896,0.856,0.904,0.730,0.778,0.532,0.764,
+0.085,0.067,0.066,0.096,0.590,0.068,0.456,0.675,0.641,0.940,
+0.834,0.962,0.963,0.653,0.541,0.971,0.721,0.499,0.513,0.751,
+0.925,0.086,0.596,1.021,1.294,1.373,1.226,2.112,0.100,0.077,
+0.082,0.086,0.079,0.070,0.061,0.068,0.050,0.010,0.042,0.055,
+0.068,0.091,0.070,0.089,0.113,0.088,0.361,0.103,0.085,0.081,
+0.132,0.095,0.058,0.015,0.086,0.060,0.047,0.069,0.067,0.084,
+0.053,0.061,0.052,0.059,0.011,9.86e-3,0.013,0.012,0.041,9.02e-3,
+0.043,0.052,0.032,0.063,0.044,0.067,0.074,0.060,0.046,0.071,
+0.081,0.082,0.059,0.070,0.071,0.023,0.047,0.066,0.061,0.094,
+0.070,0.127,0.085,0.078,0.043,0.060,0.079,0.085,0.058,0.056,
+0.041,0.011,0.034,0.036,0.042,0.065,0.046,0.064,0.092,0.109,
+0.065,0.059,0.106,0.109,0.090,0.088,0.068,0.022,0.077,0.065,
+0.039,0.069,0.049,0.071,0.051,0.076,0.043,0.055,0.010,0.020,
+0.016,0.013,0.069,0.025,0.073,0.080,0.034,0.081,0.061,0.067,
+0.049,0.039,0.027,0.042,0.069,0.091,0.051,0.058,0.048,7.77e-3,
+0.034,0.049,0.040,0.061,0.044,0.079,0.079,0.059,0.049,0.045,
+0.087,0.098,0.109,0.074,0.081,0.020,0.318,0.083,0.053,0.081,
+0.102,0.094,0.011,0.028,0.020,0.012,0.020,0.029,0.043,0.015,
+0.023,0.013,0.267,0.038,8.27e-3,0.029,0.039,0.016,0.063,0.081,
+0.072,0.106,0.015,0.022,0.025,0.015,0.070,0.025,0.076,0.070,
+0.048,0.195,0.083,0.080,0.056,0.054,0.038,0.055,0.095,0.138,
+0.089,0.091,0.084,0.028,0.081,0.082,0.115,0.669,0.105,0.140,
+0.084,0.077,0.044,0.068,0.064,0.053,0.065,0.051,0.052,7.27e-3,
+0.080,0.050,0.075,0.086,0.072,0.109,0.110,0.117,0.087,0.096,
+0.112,0.134,0.136,0.139,0.094,0.019,0.395,0.116,0.079,0.140,
+0.141,0.118,0.064,0.071,0.061,0.079,8.10e-3,8.61e-3,9.19e-3,0.013,
+0.059,0.011,0.071,0.080,0.051,0.093,0.091,0.104,0.077,0.060,
+0.046,0.078,0.065,0.067,0.057,0.082,0.081,0.010,0.076,0.097,
+0.103,0.178,0.126,0.196,0.974,0.726,0.670,0.902,0.802,0.549,
+0.417,0.556,0.523,0.056,0.347,0.483,0.482,0.451,0.539,0.666,
+1.067,0.832,0.516,0.622,0.953,0.702,0.704,0.625,0.969,0.099,
+0.651,0.650,0.470,0.655,0.531,0.749,0.570,0.756,0.473,0.604,
+0.092,0.114,0.097,0.136,0.609,0.150,1.095,0.850,0.333,0.765,
+0.493,0.694,0.536,0.374,0.275,0.520,0.638,0.559,0.426,0.631,
+0.598,0.068,0.559,0.705,0.507,0.499,0.593,1.156,0.079,0.074,
+0.042,0.066,0.110,0.099,0.059,0.070,0.048,0.014,0.046,0.046,
+0.040,0.076,0.049,0.075,0.085,0.090,0.042,0.051,0.108,0.094,
+0.091,0.075,0.068,0.023,0.085,0.077,0.034,0.061,0.050,0.057,
+0.054,0.096,0.062,0.055,0.017,0.030,0.030,0.020,0.098,0.048,
+0.456,0.271,0.036,0.110,0.092,0.082,0.061,0.047,0.032,0.060,
+0.096,0.112,0.071,0.097,0.062,0.014,0.094,0.102,0.042,0.058,
+0.060,0.109,0.894,0.652,0.388,0.427,0.970,1.022,0.904,0.595,
+0.769,0.130,0.584,0.623,0.455,0.577,0.730,0.889,0.083,0.114,
+0.059,0.059,0.103,0.160,0.129,0.070,0.102,0.030,0.130,0.084,
+0.052,0.108,0.110,0.091,0.684,0.798,0.487,0.487,0.098,0.109,
+0.106,0.090,0.510,0.091,0.288,0.395,0.280,0.559,0.460,0.510,
+0.456,0.365,0.274,0.329,0.812,0.771,0.624,0.607,0.657,0.111,
+0.581,0.608,0.444,0.763,0.672,0.847,0.780,0.464,0.329,0.482,
+0.547,0.409,0.335,0.323,0.444,0.050,0.326,0.403,0.426,0.414,
+0.409,0.619,0.956,0.862,0.526,0.603,0.993,0.964,0.702,0.560,
+0.658,0.094,0.771,0.694,0.515,0.732,0.991,0.762,0.662,0.777,
+0.567,0.647,0.072,0.093,0.079,0.093,0.712,0.113,1.576,1.352,
+0.425,0.741,0.860,0.842,0.677,0.406,0.359,0.518,0.733,0.580,
+0.456,0.567,0.731,0.074,0.872,0.926,0.687,0.880,0.882,1.163,
+1.230,0.657,0.474,0.947,0.660,0.403,0.356,0.494,0.532,0.055,
+0.279,0.455,0.664,0.554,0.464,0.935,0.991,0.546,0.337,0.502,
+0.557,0.392,0.380,0.468,0.454,0.036,0.309,0.429,0.372,0.400,
+0.336,0.554,0.575,0.581,0.311,0.548,0.055,0.053,0.037,0.079,
+0.502,0.049,0.376,0.487,0.340,0.495,0.363,0.647,0.724,0.483,
+0.332,0.749,0.567,0.412,0.319,0.616,0.492,0.042,0.335,0.593,
+0.594,0.503,0.512,1.294,1.381,0.910,0.583,0.962,1.054,0.792,
+0.636,0.734,0.679,0.094,0.433,0.637,0.635,1.015,0.516,0.925,
+1.129,0.870,0.447,0.634,0.961,0.826,0.751,0.784,0.618,0.066,
+0.608,0.740,0.415,0.591,0.437,0.734,0.681,0.859,0.449,0.658,
+0.071,0.099,0.076,0.098,0.669,0.119,1.037,1.114,0.438,0.870,
+0.605,0.923,0.764,0.579,0.387,0.692,0.943,0.853,0.646,0.959,
+0.675,0.073,0.618,0.987,0.579,0.661,0.650,1.292,1.419,0.812,
+0.512,0.661,1.163,1.040,1.321,0.861,0.813,0.136,0.612,1.085,
+0.682,1.021,0.833,1.464,0.206,0.104,0.106,0.100,0.112,0.130,
+0.678,0.152,0.074,0.027,0.138,0.168,0.073,0.245,0.109,0.142,
+0.763,0.930,0.517,0.662,0.080,0.087,0.122,0.102,0.719,0.120,
+0.480,0.737,0.486,1.259,0.603,0.866,0.768,0.638,0.517,0.653,
+0.983,0.833,0.954,1.000,0.830,0.112,0.685,1.195,0.681,1.111,
+0.873,1.384,1.191,0.632,0.437,0.718,0.838,0.538,0.509,0.524,
+0.658,0.076,0.390,0.609,0.736,0.566,0.513,1.160,1.180,0.772,
+0.503,0.687,1.106,0.867,1.178,0.733,0.602,0.062,0.602,0.871,
+0.623,0.776,0.663,0.972,0.959,0.900,0.601,0.891,0.099,0.078,
+0.074,0.102,0.822,0.085,0.852,1.131,0.666,0.932,0.874,1.045,
+1.196,0.640,0.592,1.141,1.200,0.792,0.795,1.139,1.125,0.081,
+0.986,1.606,1.287,1.260,1.326,1.980,3.925,1.602,1.278,2.636,
+1.712,1.083,0.655,1.006,1.312,0.129,0.527,0.896,2.239,2.140,
+0.965,1.967,1.607,0.828,0.565,0.852,0.868,0.567,0.438,0.594,
+0.715,0.059,0.394,0.535,0.869,0.805,0.601,1.011,1.041,0.772,
+0.523,1.076,0.087,0.068,0.053,0.115,0.553,0.046,0.287,0.462,
+0.558,0.705,0.513,0.893,1.673,0.769,0.720,1.529,1.153,0.766,
+0.654,1.034,0.794,0.060,0.446,0.777,1.242,0.827,0.918,2.227,
+1.810,0.981,0.585,1.075,1.060,0.857,0.458,0.641,0.661,0.071,
+0.282,0.518,0.820,0.773,0.472,1.041,1.081,0.627,0.465,0.650,
+0.718,0.431,0.463,0.512,0.516,0.042,0.327,0.450,0.509,0.445,
+0.477,0.664,0.741,0.562,0.364,0.704,0.068,0.053,0.043,0.072,
+0.511,0.070,0.238,0.433,0.477,0.623,0.373,0.616,0.729,0.417,
+0.301,0.619,0.860,0.575,0.484,0.629,0.521,0.038,0.260,0.447,
+0.604,0.497,0.472,1.029,1.478,1.260,0.522,1.023,1.820,6.664,
+0.798,1.101,0.859,0.185,0.358,0.599,1.029,1.053,0.641,1.548,
+0.092,0.096,0.043,0.080,0.095,0.250,0.068,0.089,0.060,8.52e-3,
+0.063,0.062,0.111,0.130,0.070,0.159,0.548,0.554,0.382,0.569,
+0.064,0.123,0.040,0.072,0.430,0.053,0.206,0.393,0.477,0.629,
+0.437,0.647,0.708,0.443,0.379,0.762,0.795,0.726,0.466,0.847,
+0.589,0.050,0.324,0.624,0.880,0.813,0.673,1.374,2.276,1.009,
+0.705,1.685,1.117,1.806,0.609,0.826,0.988,0.097,0.462,0.775,
+1.691,1.127,0.916,1.966,1.259,0.769,0.549,0.973,0.855,0.824,
+0.533,0.688,0.715,0.054,0.485,0.683,1.043,0.928,0.734,1.269,
+0.815,0.732,0.524,0.925,0.067,0.059,0.043,0.091,0.716,0.055,
+0.408,0.743,0.828,0.985,0.904,1.304,1.647,0.883,0.832,1.900,
+0.985,0.683,0.642,1.105,1.245,0.080,0.763,1.403,2.092,1.684,
+2.009,4.104,1.776,1.039,0.728,1.385,0.983,0.728,0.510,0.699,
+0.676,0.074,0.435,0.598,0.970,0.944,0.693,1.229,1.214,0.758,
+0.654,0.759,0.771,0.586,0.535,0.570,0.650,0.053,0.481,0.497,
+0.503,0.558,0.469,0.771,0.665,0.651,0.362,0.639,0.053,0.066,
+0.043,0.081,0.383,0.044,0.241,0.375,0.426,0.580,0.429,0.776,
+0.790,0.599,0.371,0.743,0.690,0.696,0.378,0.664,0.500,0.058,
+0.320,0.515,0.831,1.000,0.679,1.610,1.366,0.996,0.464,0.928,
+0.908,0.738,0.435,0.634,0.598,0.066,0.278,0.438,0.643,0.724,
+0.596,0.939,0.941,0.737,0.345,0.558,0.683,0.535,0.400,0.569,
+0.511,0.059,0.352,0.469,0.450,0.517,0.373,0.669,0.666,0.666,
+0.357,0.624,0.060,0.069,0.045,0.070,0.576,0.093,0.319,0.499,
+0.491,0.742,0.462,0.824,0.541,0.427,0.302,0.526,0.607,0.625,
+0.427,0.599,0.479,0.052,0.365,0.525,0.603,0.674,0.600,1.036,
+1.137,0.573,0.492,0.692,0.867,0.976,0.586,0.957,0.607,0.084,
+0.669,0.596,0.635,0.640,0.557,1.234,0.059,0.062,0.039,0.058,
+0.057,0.083,0.056,0.079,0.046,0.013,0.255,0.074,0.054,0.093,
+0.065,0.098,0.567,0.619,0.405,0.567,0.057,0.071,0.043,0.077,
+0.442,0.052,0.304,0.535,0.443,0.794,0.475,0.864,0.655,0.508,
+0.351,0.626,0.818,1.224,0.566,0.834,0.596,0.089,0.424,0.797,
+0.788,1.717,0.823,1.788,1.259,0.768,0.458,0.821,0.664,0.521,
+0.376,0.542,0.586,0.058,0.418,0.548,0.814,0.643,0.550,1.203,
+1.029,0.849,0.521,0.829,0.754,0.669,0.510,0.871,0.570,0.069,
+0.877,0.708,0.690,0.850,0.666,1.111,0.616,0.640,0.460,0.709,
+0.046,0.046,0.035,0.075,0.483,0.046,0.418,0.654,0.547,0.633,
+0.633,1.136,0.916,0.554,0.506,0.910,0.689,0.648,0.459,0.846,
+0.781,0.065,0.551,0.959,1.129,1.089,1.239,2.516,1.678,1.217,
+1.064,1.749,1.062,0.822,0.689,0.908,0.973,0.092,0.524,0.758,
+0.976,1.056,0.679,1.457,1.598,1.258,0.654,1.001,1.109,0.890,
+0.611,0.733,1.078,0.098,0.667,0.820,0.916,1.111,0.697,1.237,
+0.873,1.119,0.617,0.988,0.099,0.110,0.091,0.148,0.750,0.083,
+0.481,0.668,0.549,0.923,0.590,0.948,1.069,0.699,0.508,1.034,
+0.912,0.786,0.584,0.918,0.885,0.080,0.764,1.068,1.022,0.887,
+1.178,2.099,0.119,0.100,0.089,0.137,0.108,0.099,0.062,0.093,
+0.063,0.011,0.042,0.077,0.065,0.094,0.073,0.134,0.101,0.103,
+0.047,0.078,0.107,0.122,0.066,0.085,0.075,0.013,0.071,0.083,
+0.066,0.094,0.064,0.128,0.059,0.078,0.045,0.076,0.012,0.015,
+0.012,0.013,0.075,0.016,0.088,0.102,0.047,0.097,0.063,0.106,
+0.082,0.070,0.042,0.095,0.113,0.121,0.076,0.126,0.069,0.012,
+0.061,0.098,0.077,0.096,0.094,0.187,1.488,0.949,0.644,0.859,
+1.375,1.275,0.817,0.887,1.049,0.155,0.580,0.936,0.898,1.021,
+0.878,1.815,0.094,0.099,0.055,0.086,0.101,0.112,0.070,0.067,
+0.079,0.019,0.075,0.078,0.097,0.131,0.138,0.144,0.853,1.055,
+0.626,0.757,0.091,0.112,0.086,0.099,0.754,0.094,0.436,0.656,
+0.578,0.829,0.710,0.927,0.870,0.679,0.472,0.699,1.059,1.120,
+0.759,0.895,1.082,0.112,0.855,1.050,0.910,0.878,1.044,1.621,
+1.591,0.889,0.623,1.183,1.023,0.730,0.496,0.699,1.011,0.091,
+0.602,0.831,0.932,0.780,0.625,1.356,1.628,1.295,0.802,1.487,
+1.417,1.144,0.730,0.933,1.143,0.103,0.917,1.095,1.040,1.286,
+1.087,1.489,1.241,1.222,0.788,1.382,0.093,0.096,0.090,0.201,
+1.104,0.114,1.094,1.909,0.859,1.221,1.095,1.531,1.264,0.836,
+0.681,1.116,0.939,0.905,0.742,1.020,1.238,0.099,1.357,1.771,
+1.286,1.278,1.607,2.453,4.090,1.657,1.200,2.455,1.353,0.851,
+0.639,1.102,1.181,0.100,0.597,0.990,1.601,1.316,0.983,2.264,
+1.709,1.029,0.556,0.996,1.033,0.890,0.480,0.725,0.927,0.061,
+0.503,0.730,0.822,0.749,0.558,1.040,1.196,1.084,0.603,1.377,
+0.089,0.086,0.054,0.142,0.745,0.061,0.470,0.789,0.791,0.928,
+0.658,1.316,1.954,1.151,0.843,1.988,1.211,0.890,0.716,1.383,
+1.168,0.089,0.800,1.432,1.840,1.425,1.498,4.202,2.254,1.350,
+1.311,1.767,1.434,1.083,0.706,1.066,0.891,0.077,0.551,0.977,
+0.986,0.977,0.779,1.666,1.775,1.379,0.610,1.081,1.553,1.766,
+0.731,1.292,0.935,0.081,0.740,1.141,0.756,0.974,0.607,1.226,
+1.222,0.990,0.600,1.730,0.082,0.076,0.051,0.154,0.876,0.086,
+0.651,1.116,0.806,1.084,0.764,1.505,1.300,0.911,0.594,1.360,
+1.177,0.960,0.694,1.453,1.009,0.066,0.664,1.282,1.242,1.054,
+1.068,2.646,2.512,1.372,1.047,1.434,2.088,1.400,1.067,1.522,
+1.372,0.153,0.936,1.344,1.410,1.373,1.294,2.622,0.130,0.126,
+0.060,0.110,0.123,0.111,0.117,0.115,0.075,0.012,0.106,0.100,
+0.097,0.126,0.097,0.190,1.419,1.407,0.846,1.395,0.101,0.103,
+0.079,0.139,1.230,0.111,0.840,1.203,1.064,1.372,1.225,2.158,
+1.809,1.265,0.918,1.550,1.755,1.457,1.308,1.936,1.894,0.129,
+1.305,2.020,1.760,1.449,1.841,3.635,4.644,1.840,1.213,2.663,
+1.813,1.185,0.935,1.419,1.664,0.135,0.881,1.556,2.530,1.742,
+1.395,4.124,2.419,1.599,0.958,1.885,1.897,1.133,0.957,1.604,
+1.412,0.091,1.072,1.602,1.780,1.525,1.284,2.726,2.253,1.887,
+1.201,2.267,0.124,0.109,0.090,0.189,1.835,0.122,1.267,2.130,
+2.201,2.193,1.991,3.754,5.121,1.833,1.488,3.797,2.064,1.448,
+1.647,3.311,2.560,0.137,1.798,3.942,3.418,1.967,1.924,9.803,
+10.5,3.674,2.127,4.553,3.798,2.174,1.619,2.129,3.335,0.337,
+1.259,2.159,4.570,3.075,1.794,2.929,4.723,2.845,1.608,2.220,
+3.023,2.073,1.581,1.471,2.420,0.249,1.337,1.715,1.812,1.717,
+1.271,1.920,3.361,2.969,1.687,2.593,0.325,0.293,0.202,0.359,
+1.785,0.219,0.932,1.339,1.674,2.236,1.186,1.792,4.598,2.055,
+1.794,3.681,3.180,2.404,1.813,2.975,2.095,0.270,1.144,1.856,
+2.628,1.807,1.769,2.899,5.802,3.156,1.623,2.633,3.461,2.486,
+1.434,1.594,2.100,0.256,1.013,1.422,1.772,1.813,0.992,1.632,
+4.026,2.671,1.307,1.649,2.606,2.021,1.253,1.279,1.922,0.240,
+1.087,1.398,1.147,1.339,0.778,1.090,2.108,2.187,1.055,1.464,
+0.205,0.240,0.139,0.181,1.519,0.208,0.872,1.247,0.940,1.551,
+0.848,1.284,1.709,1.078,0.711,1.208,1.839,1.472,0.869,1.209,
+1.363,0.136,0.772,1.197,1.258,1.091,1.008,1.884,3.257,1.613,
+1.442,1.888,2.902,1.831,1.460,1.505,2.062,0.265,0.888,1.647,
+1.581,1.441,1.135,2.113,0.299,0.231,0.137,0.185,0.320,0.316,
+0.172,0.173,0.223,0.051,0.159,0.210,0.214,0.327,0.173,0.270,
+1.716,1.436,1.160,1.240,0.284,0.164,0.158,0.170,1.185,0.152,
+0.770,0.945,0.778,1.147,0.900,0.987,1.640,0.877,0.770,1.170,
+3.341,1.558,1.189,1.340,1.377,0.157,0.913,1.276,1.351,1.173,
+1.211,1.751,4.449,1.905,1.411,3.007,2.077,1.262,0.969,1.250,
+2.180,0.249,0.877,1.528,2.302,1.648,1.320,2.844,3.153,2.169,
+1.335,1.861,2.422,1.874,1.233,1.349,2.224,0.186,1.153,1.786,
+1.971,1.989,1.273,2.259,1.752,1.574,1.036,1.464,0.201,0.157,
+0.115,0.158,1.259,0.121,0.726,1.172,1.079,1.427,1.027,1.392,
+2.684,1.311,1.057,2.122,1.790,1.146,0.894,1.336,1.783,0.140,
+1.080,1.899,2.232,1.741,1.553,2.894,5.697,3.765,2.004,3.350,
+3.284,2.638,1.569,1.840,1.909,0.232,0.852,1.422,1.898,1.910,
+1.330,2.102,3.646,3.085,1.450,1.874,3.081,2.304,1.666,1.508,
+1.732,0.233,1.084,1.431,1.098,1.398,0.983,1.460,1.907,2.470,
+1.092,1.454,0.251,0.305,0.176,0.229,1.003,0.143,0.747,0.896,
+0.781,1.325,0.874,1.321,1.782,0.994,0.786,1.277,1.953,1.689,
+1.006,1.317,1.151,0.167,0.589,0.970,1.110,0.935,0.900,1.785,
+4.375,4.884,1.315,1.927,3.326,3.256,1.505,1.391,1.587,0.279,
+0.798,1.100,1.092,1.603,0.889,1.319,3.133,2.997,1.237,1.366,
+2.659,1.622,1.636,1.364,1.578,0.280,1.009,1.276,0.864,1.331,
+0.736,0.892,1.668,2.549,0.936,1.217,0.270,0.445,0.200,0.192,
+1.338,0.379,0.776,1.134,0.701,1.966,0.819,1.323,1.143,0.950,
+0.504,0.774,1.680,1.798,0.843,0.987,1.030,0.144,0.545,0.902,
+0.727,0.859,0.636,1.216,2.063,1.565,0.987,1.187,2.586,2.143,
+1.505,1.238,1.371,0.215,0.722,1.062,0.905,1.194,0.909,1.459,
+0.175,0.238,0.117,0.134,0.307,0.358,0.225,0.155,0.177,0.067,
+0.159,0.182,0.106,0.216,0.131,0.154,1.668,2.000,1.221,1.327,
+0.411,0.304,0.214,0.213,1.376,0.222,1.029,1.139,0.634,1.363,
+1.078,1.172,1.079,0.679,0.598,0.820,2.291,1.827,1.402,1.293,
+1.185,0.160,0.924,1.234,0.800,0.888,1.127,1.455,1.766,0.967,
+0.745,1.096,1.331,0.939,0.642,0.688,0.913,0.090,0.399,0.681,
+0.876,0.761,0.547,1.211,1.701,1.677,1.081,1.291,1.681,1.830,
+1.118,1.151,0.968,0.127,0.730,1.122,0.726,1.159,0.721,1.200,
+1.330,1.481,0.950,1.119,0.184,0.174,0.102,0.125,1.162,0.119,
+0.687,1.062,0.662,1.054,0.755,1.079,1.210,0.776,0.718,1.012,
+1.153,0.981,0.851,0.926,1.082,0.126,0.820,1.383,1.138,1.119,
+1.187,1.803,2.359,1.612,0.966,1.461,1.358,1.047,0.605,0.780,
+1.113,0.117,0.464,0.801,1.063,0.955,0.548,1.093,2.548,1.748,
+0.778,1.087,1.366,1.116,0.824,0.827,1.291,0.161,0.772,0.964,
+0.692,1.016,0.561,0.947,1.248,1.862,0.876,1.080,0.165,0.231,
+0.138,0.204,0.824,0.117,0.468,0.709,0.631,1.093,0.602,1.140,
+1.186,0.795,0.635,0.996,1.019,1.074,0.663,0.919,1.072,0.105,
+0.530,0.935,0.875,0.710,1.001,1.893,0.180,0.173,0.111,0.125,
+0.167,0.193,0.094,0.097,0.109,0.024,0.061,0.082,0.088,0.122,
+0.085,0.103,0.234,0.192,0.083,0.099,0.197,0.228,0.121,0.101,
+0.126,0.045,0.111,0.121,0.068,0.157,0.063,0.093,0.113,0.241,
+0.098,0.100,0.029,0.064,0.043,0.029,0.122,0.040,0.091,0.124,
+0.082,0.186,0.098,0.175,0.150,0.104,0.071,0.121,0.200,0.268,
+0.145,0.178,0.133,0.021,0.095,0.143,0.102,0.119,0.130,0.219,
+1.358,0.948,0.700,0.719,1.153,1.155,0.794,0.665,1.071,0.175,
+0.602,0.755,0.544,0.763,0.538,0.727,0.141,0.156,0.069,0.069,
+0.132,0.205,0.122,0.075,0.126,0.049,0.130,0.105,0.074,0.157,
+0.085,0.085,0.791,1.282,0.684,0.565,0.127,0.224,0.127,0.104,
+0.810,0.169,0.457,0.587,0.409,0.883,0.633,0.637,0.599,0.450,
+0.347,0.396,0.871,1.056,0.672,0.697,0.784,0.123,0.692,0.725,
+0.413,0.564,0.557,0.606,1.099,0.652,0.431,0.726,0.931,0.579,
+0.337,0.417,0.998,0.084,0.363,0.573,0.693,0.615,0.393,0.822,
+1.599,1.399,0.653,0.754,1.424,1.349,0.741,0.691,0.992,0.145,
+0.790,0.936,0.767,1.233,0.625,0.880,1.053,1.246,0.713,0.788,
+0.121,0.177,0.099,0.102,0.810,0.119,0.629,0.997,0.601,1.083,
+0.803,0.981,1.133,0.639,0.587,0.687,0.917,0.938,0.670,0.802,
+0.929,0.104,0.835,1.038,0.896,0.965,0.919,1.293,3.389,1.746,
+1.165,2.405,1.376,0.875,0.637,0.985,1.101,0.119,0.440,0.881,
+1.772,1.198,0.766,1.792,1.862,1.051,0.554,0.896,0.973,0.705,
+0.451,0.573,0.906,0.080,0.445,0.734,0.749,0.722,0.468,0.943,
+1.316,1.488,0.569,1.123,0.121,0.116,0.066,0.150,0.707,0.072,
+0.312,0.646,1.157,0.820,0.491,1.012,1.820,0.940,0.775,1.691,
+1.146,0.892,0.629,1.107,0.987,0.093,0.541,1.162,1.709,1.043,
+1.074,2.631,2.433,1.748,0.944,1.769,1.707,1.406,0.883,1.063,
+1.133,0.139,0.524,0.941,1.025,1.103,0.614,1.144,2.469,1.550,
+0.738,1.069,1.514,1.415,0.705,0.830,1.017,0.146,0.643,1.035,
+0.802,1.071,0.465,0.843,1.493,1.885,0.639,0.950,0.122,0.177,
+0.090,0.126,0.934,0.133,0.567,0.889,0.789,1.221,0.678,1.344,
+1.675,0.826,0.558,1.025,1.301,1.337,0.789,1.179,0.985,0.095,
+0.618,1.041,0.980,0.942,1.013,1.744,1.492,0.910,0.867,0.930,
+1.372,0.993,0.705,0.822,1.178,0.152,0.685,0.962,1.171,0.916,
+0.816,1.170,0.244,0.122,0.069,0.098,0.120,0.140,0.088,0.084,
+0.110,0.026,0.147,0.175,0.107,0.137,0.084,0.130,0.932,1.118,
+0.644,0.759,0.108,0.111,0.077,0.104,0.971,0.130,0.475,0.704,
+0.708,0.966,0.714,0.928,0.980,0.650,0.547,0.749,1.204,1.075,
+0.829,1.036,1.083,0.146,0.700,0.995,0.796,0.853,0.807,1.254,
+2.045,1.074,0.771,1.372,1.229,0.820,0.555,0.738,1.800,0.134,
+0.500,0.922,1.415,1.054,0.766,1.758,1.481,0.984,0.544,0.835,
+1.106,0.922,0.658,0.742,0.970,0.082,0.661,1.262,0.852,0.975,
+0.609,1.172,1.573,1.483,0.824,1.207,0.218,0.129,0.071,0.125,
+1.207,0.111,0.720,1.110,1.106,1.423,1.043,1.439,1.869,1.117,
+0.875,2.045,1.728,1.447,0.912,1.412,1.609,0.124,1.084,1.736,
+2.102,1.649,1.639,2.776,4.943,3.378,1.994,3.795,3.679,2.749,
+1.493,1.869,2.284,0.336,1.313,1.777,2.787,2.499,1.310,2.299,
+2.853,2.689,1.234,1.513,2.826,2.425,1.403,1.398,1.844,0.286,
+1.254,1.392,1.035,1.426,0.891,1.246,1.339,1.634,0.864,1.182,
+0.191,0.244,0.144,0.207,1.014,0.173,0.678,0.817,0.794,1.345,
+0.734,1.108,1.623,1.057,0.648,1.371,1.873,2.109,0.897,1.386,
+1.890,0.805,0.833,1.243,1.259,1.738,1.026,1.797,3.762,2.985,
+1.116,1.819,4.471,3.135,1.227,1.367,1.819,0.329,0.887,1.167,
+1.102,1.747,0.674,1.316,2.822,3.088,1.087,1.402,2.902,2.290,
+1.323,1.309,1.755,0.411,1.336,1.470,0.868,1.539,0.763,1.044,
+1.202,1.858,0.755,0.933,0.223,0.291,0.184,0.165,1.171,0.243,
+0.787,0.904,0.642,1.511,0.813,0.993,0.943,0.805,0.374,0.656,
+1.408,1.470,0.617,0.923,1.027,0.157,0.642,0.848,0.765,0.926,
+0.782,1.315,1.783,1.258,0.626,0.987,3.149,2.160,1.214,1.307,
+1.604,0.258,0.741,0.980,0.907,1.031,0.762,1.433,0.198,0.260,
+0.111,0.154,0.459,0.454,0.200,0.200,0.201,0.088,0.196,0.208,
+0.119,0.274,0.140,0.188,1.068,1.416,0.716,0.813,0.311,0.183,
+0.131,0.162,1.068,0.204,0.836,1.029,0.508,1.044,0.741,0.748,
+0.758,0.589,0.408,0.628,1.892,1.362,0.790,0.986,1.020,0.191,
+0.759,0.908,0.675,0.899,0.880,1.267,1.797,1.043,0.636,1.476,
+1.290,0.895,0.477,0.648,1.005,0.140,0.439,0.753,0.973,0.742,
+0.498,1.301,1.778,1.751,0.896,1.271,2.104,2.030,0.991,1.123,
+1.047,0.171,0.820,1.123,0.756,1.168,0.690,1.145,0.880,0.907,
+0.591,0.818,0.334,0.114,0.114,0.125,0.691,0.109,0.477,0.666,
+0.488,0.893,0.509,0.709,1.105,0.694,0.509,1.078,0.976,0.794,
+0.623,0.769,0.887,0.114,0.724,1.024,1.045,1.160,1.078,1.898,
+3.553,2.734,1.517,2.142,3.523,3.411,1.589,1.655,1.346,0.243,
+0.774,1.019,1.209,1.410,0.839,1.281,2.826,2.877,1.274,1.342,
+4.317,3.385,2.000,1.809,1.546,0.345,1.271,1.418,0.720,1.247,
+0.858,1.014,1.072,1.673,0.897,0.952,0.267,0.325,0.211,0.208,
+0.748,0.161,0.636,0.654,0.468,1.122,0.702,0.870,0.931,0.692,
+0.443,0.779,1.515,1.804,0.866,1.061,1.845,0.516,0.725,0.804,
+0.835,1.379,0.764,1.231,2.587,3.028,0.979,1.231,3.324,4.848,
+1.453,1.319,1.305,0.319,0.942,0.971,0.776,1.379,0.557,0.851,
+2.360,3.096,1.246,1.018,2.093,1.226,1.583,1.279,1.587,0.570,
+1.361,1.580,0.622,1.581,0.780,0.826,1.099,2.391,0.848,0.875,
+0.297,0.591,0.272,0.224,0.932,0.292,0.749,0.904,0.463,1.523,
+0.849,0.965,0.727,0.796,0.344,0.510,1.478,2.155,0.822,1.009,
+0.819,0.172,0.703,0.891,0.486,0.791,0.538,0.947,1.571,1.340,
+0.633,0.844,3.760,3.001,1.739,1.377,1.174,0.241,0.778,0.842,
+0.619,0.993,0.889,1.041,0.262,0.378,0.140,0.162,1.161,0.828,
+0.511,0.278,0.208,0.151,0.275,0.247,0.096,0.272,0.157,0.146,
+2.899,2.099,1.083,1.102,1.903,0.572,0.331,0.261,1.264,0.287,
+0.936,0.988,0.670,1.457,1.325,0.928,1.169,0.705,0.521,0.618,
+6.108,2.862,1.964,1.545,1.208,0.213,1.007,1.125,0.723,0.904,
+1.069,1.225,1.217,0.887,0.547,0.989,1.360,1.118,0.539,0.573,
+0.636,0.084,0.362,0.477,0.537,0.559,0.417,0.732,1.536,1.987,
+1.050,1.423,2.630,3.064,1.471,1.383,0.844,0.194,0.859,1.062,
+0.493,1.087,0.707,0.950,1.165,1.335,0.721,0.812,0.446,0.212,
+0.139,0.112,0.607,0.107,0.593,0.685,0.393,0.821,0.677,0.684,
+0.807,0.624,0.508,0.647,1.472,1.112,1.774,0.954,0.648,0.093,
+0.679,0.788,0.681,0.875,0.858,1.210,1.448,1.455,0.651,0.985,
+1.386,1.189,0.611,0.807,0.762,0.118,0.398,0.609,0.689,0.819,
+0.425,0.765,1.764,2.214,0.753,0.998,1.854,1.999,1.221,1.233,
+1.358,0.318,1.162,1.296,0.583,1.244,0.586,0.847,0.739,1.576,
+0.698,0.782,0.136,0.238,0.161,0.205,0.645,0.158,0.603,0.740,
+0.383,0.951,0.493,0.809,0.618,0.510,0.315,0.605,0.780,0.945,
+0.598,0.792,0.701,0.132,0.551,0.905,0.524,0.576,0.558,1.310,
+0.127,0.151,0.068,0.085,0.263,0.313,0.173,0.130,0.090,0.037,
+0.080,0.083,0.064,0.139,0.090,0.094,0.159,0.305,0.103,0.100,
+0.342,0.537,0.267,0.215,0.180,0.147,0.239,0.221,0.067,0.222,
+0.082,0.095,0.120,0.371,0.125,0.099,0.065,0.167,0.130,0.050,
+0.138,0.099,0.160,0.216,0.074,0.213,0.141,0.168,0.069,0.083,
+0.039,0.069,0.168,0.279,0.157,0.171,0.090,0.033,0.114,0.174,
+0.061,0.089,0.088,0.145,1.085,1.201,0.531,0.605,1.475,2.058,
+1.138,0.900,1.180,0.303,0.957,0.999,0.533,0.953,0.675,0.849,
+0.144,0.353,0.112,0.109,0.264,0.522,0.327,0.160,0.201,0.158,
+0.297,0.233,0.077,0.253,0.135,0.117,0.822,1.959,0.997,0.746,
+0.250,0.397,0.264,0.174,1.147,0.365,0.794,0.994,0.450,1.401,
+0.909,0.845,0.498,0.529,0.338,0.396,1.204,1.798,0.967,0.978,
+1.000,0.265,0.997,0.999,0.422,0.762,0.728,0.820,1.151,0.734,
+0.351,0.567,0.798,0.678,0.333,0.397,0.686,0.096,0.412,0.518,
+0.505,0.601,0.337,0.700,1.602,1.885,0.761,0.848,1.968,2.587,
+1.203,1.113,1.264,0.325,1.298,1.349,0.662,1.454,0.777,0.958,
+0.928,1.609,0.810,0.818,0.174,0.227,0.140,0.123,0.986,0.212,
+0.845,0.979,0.527,1.349,0.804,0.991,0.663,0.586,0.543,0.673,
+0.780,0.968,0.945,0.779,0.804,0.132,0.910,1.013,0.760,0.903,
+0.820,1.198,1.322,0.921,0.499,0.997,0.865,0.691,0.385,0.631,
+0.610,0.078,0.259,0.538,0.782,0.566,0.328,0.808,1.106,0.906,
+0.375,0.607,0.853,0.884,0.394,0.545,0.556,0.069,0.391,0.806,
+0.400,0.485,0.279,0.523,0.726,1.358,0.351,0.570,0.077,0.104,
+0.044,0.087,0.332,0.055,0.238,0.364,0.359,0.485,0.258,0.480,
+0.700,0.508,0.292,0.661,0.580,0.536,0.311,0.588,0.471,0.075,
+0.282,0.626,0.572,0.509,0.434,1.126,1.371,1.307,0.575,0.879,
+1.502,1.558,1.089,0.946,0.876,0.150,0.513,0.775,0.626,0.994,
+0.442,0.789,1.423,1.650,0.566,0.740,1.602,2.134,0.907,1.031,
+0.933,0.204,0.737,0.982,0.577,1.305,0.461,0.731,1.494,4.096,
+0.558,0.635,0.152,0.355,0.113,0.119,0.633,0.180,0.457,0.624,
+0.444,1.045,0.485,0.747,0.731,0.815,0.333,0.488,0.946,1.268,
+0.655,0.962,0.615,0.103,0.505,0.756,0.520,0.683,0.551,1.057,
+1.105,0.827,0.429,0.582,1.494,1.377,0.778,0.857,0.897,0.161,
+0.565,0.817,0.585,0.705,0.608,0.919,0.115,0.131,0.051,0.071,
+0.173,0.278,0.123,0.105,0.095,0.040,0.100,0.125,0.063,0.130,
+0.072,0.092,0.743,1.152,0.518,0.593,0.183,0.153,0.098,0.105,
+0.832,0.165,0.589,0.763,0.466,0.978,0.644,0.795,0.606,0.534,
+0.348,0.502,1.204,1.155,0.653,0.884,1.321,0.559,0.754,1.058,
+0.593,1.131,0.680,1.069,1.136,0.724,0.439,0.797,0.929,0.742,
+0.408,0.522,0.711,0.095,0.356,0.596,0.578,0.540,0.398,0.944,
+1.136,0.979,0.421,0.663,1.299,1.352,0.649,0.736,0.674,0.091,
+0.504,0.848,0.562,0.742,0.477,0.888,2.038,1.263,0.651,0.845,
+0.876,0.146,0.090,0.116,0.927,0.114,0.651,0.813,0.668,0.981,
+0.704,0.982,1.115,0.754,0.568,1.124,2.255,1.274,0.899,1.055,
+1.369,0.263,0.920,1.344,1.317,1.339,1.120,1.557,2.003,1.307,
+0.867,1.544,1.541,1.223,0.820,0.949,1.111,0.141,0.503,0.745,
+1.426,1.209,0.662,1.139,1.283,1.056,0.556,0.784,1.135,0.876,
+0.698,0.698,0.712,0.106,0.514,0.672,0.539,0.714,0.560,0.777,
+0.718,1.070,0.524,0.960,0.096,0.106,0.071,0.133,0.527,0.073,
+0.331,0.455,0.451,0.803,0.491,0.676,0.957,0.544,0.385,0.825,
+0.959,0.793,0.513,0.738,0.604,0.087,0.324,0.567,0.695,0.587,
+0.577,1.230,2.105,1.436,0.847,1.183,1.963,1.735,1.338,1.185,
+1.195,0.199,0.555,0.757,0.794,1.122,0.606,0.883,1.541,1.460,
+0.770,0.828,1.523,1.031,1.052,0.944,1.127,0.213,0.747,0.913,
+0.580,0.953,0.527,0.629,0.888,1.372,0.762,0.855,0.177,0.230,
+0.178,0.176,0.920,0.168,0.744,0.824,0.463,1.083,0.725,0.841,
+0.707,0.529,0.349,0.559,1.128,1.278,0.767,0.926,0.731,0.093,
+0.510,0.740,0.553,0.636,0.566,1.071,1.708,0.841,0.544,0.896,
+2.107,1.701,1.618,1.233,1.472,0.234,0.580,0.776,0.933,0.974,
+0.614,1.162,0.187,0.169,0.078,0.135,0.251,0.268,0.189,0.196,
+0.173,0.056,0.140,0.157,0.129,0.292,0.125,0.174,0.841,1.036,
+0.568,0.677,0.158,0.143,0.119,0.138,0.762,0.139,0.578,0.625,
+0.417,0.938,0.532,0.600,0.640,0.446,0.290,0.506,1.207,1.121,
+0.765,0.897,0.782,0.120,0.501,0.628,0.754,0.797,0.629,0.933,
+1.344,0.620,0.439,0.846,0.853,0.672,0.455,0.566,0.714,0.106,
+0.346,0.523,0.758,0.703,0.432,0.956,1.358,0.957,0.515,0.873,
+1.192,0.949,0.677,0.915,0.745,0.108,0.540,0.691,0.620,0.874,
+0.510,0.843,0.697,0.892,0.546,0.720,0.106,0.104,0.082,0.116,
+0.776,0.089,0.462,0.684,0.529,0.931,0.621,0.930,0.952,0.622,
+0.484,1.003,0.782,0.775,0.537,0.788,0.905,0.108,0.606,1.006,
+1.426,1.637,1.198,2.213,0.124,0.116,0.064,0.093,0.137,0.152,
+0.112,0.090,0.079,0.020,0.056,0.059,0.087,0.106,0.065,0.080,
+0.151,0.161,0.091,0.097,0.235,0.230,0.216,0.153,0.103,0.036,
+0.095,0.109,0.050,0.098,0.072,0.084,0.088,0.245,0.071,0.081,
+0.034,0.042,0.028,0.026,0.081,0.021,0.068,0.080,0.041,0.104,
+0.068,0.080,0.073,0.064,0.042,0.066,0.139,0.150,0.092,0.094,
+0.084,0.019,0.051,0.076,0.062,0.070,0.067,0.114,0.141,0.178,
+0.075,0.092,0.207,0.281,0.172,0.150,0.128,0.068,0.070,0.084,
+0.064,0.157,0.095,0.076,0.190,0.256,0.130,0.105,0.288,0.282,
+0.315,0.235,0.172,0.089,0.138,0.150,0.067,0.163,0.088,0.081,
+0.104,0.222,0.110,0.097,0.049,0.109,0.067,0.043,0.140,0.070,
+0.138,0.126,0.051,0.185,0.117,0.125,0.071,0.069,0.038,0.053,
+0.155,0.248,0.149,0.127,0.096,0.023,0.078,0.108,0.055,0.075,
+0.070,0.107,0.119,0.095,0.049,0.061,0.209,0.258,0.205,0.145,
+0.132,0.044,0.092,0.082,0.058,0.107,0.077,0.090,0.025,0.051,
+0.022,0.020,0.068,0.131,0.105,0.068,0.060,0.059,0.066,0.052,
+0.012,0.051,0.036,0.026,0.118,0.177,0.115,0.101,0.073,0.088,
+0.086,0.046,0.148,0.076,0.164,0.132,0.056,0.210,0.133,0.107,
+0.073,0.061,0.044,0.057,0.248,0.265,0.205,0.165,0.117,0.037,
+0.114,0.108,0.071,0.109,0.101,0.116,0.109,0.084,0.049,0.075,
+0.106,0.095,0.062,0.071,0.073,0.013,0.047,0.054,0.068,0.084,
+0.065,0.102,0.204,0.191,0.117,0.148,0.297,0.313,0.218,0.311,
+0.177,0.048,0.148,0.165,0.093,0.193,0.118,0.153,0.093,0.148,
+0.091,0.097,0.028,0.036,0.027,0.025,0.122,0.028,0.106,0.123,
+0.062,0.139,0.097,0.123,0.097,0.076,0.057,0.097,0.119,0.127,
+0.122,0.110,0.111,0.017,0.091,0.128,0.131,0.146,0.137,0.210,
+0.855,0.681,0.421,0.702,0.737,0.722,0.443,0.513,0.471,0.084,
+0.305,0.380,0.401,0.447,0.372,0.462,0.978,0.969,0.510,0.710,
+0.972,0.929,0.782,0.673,0.763,0.150,0.750,0.668,0.368,0.619,
+0.369,0.503,0.647,1.762,0.668,0.739,0.135,0.194,0.134,0.179,
+0.610,0.120,0.473,0.564,0.307,0.842,0.398,0.622,0.446,0.406,
+0.243,0.460,0.613,0.656,0.440,0.602,0.479,0.076,0.387,0.574,
+0.376,0.377,0.404,0.790,0.078,0.093,0.045,0.072,0.127,0.190,
+0.106,0.089,0.056,0.025,0.061,0.062,0.033,0.068,0.039,0.055,
+0.101,0.129,0.060,0.062,0.161,0.178,0.165,0.108,0.099,0.056,
+0.131,0.120,0.042,0.079,0.043,0.058,0.062,0.184,0.078,0.077,
+0.037,0.085,0.055,0.031,0.087,0.045,0.105,0.097,0.043,0.136,
+0.075,0.102,0.064,0.057,0.030,0.060,0.133,0.185,0.105,0.125,
+0.070,0.018,0.079,0.101,0.043,0.062,0.052,0.089,0.794,0.704,
+0.361,0.397,1.068,1.398,0.920,0.759,0.701,0.178,0.628,0.633,
+0.327,0.556,0.425,0.501,0.099,0.183,0.067,0.060,0.152,0.290,
+0.200,0.119,0.125,0.080,0.184,0.123,0.049,0.135,0.074,0.072,
+0.734,1.176,0.666,0.550,0.168,0.250,0.197,0.150,0.709,0.200,
+0.317,0.481,0.336,0.895,0.575,0.655,0.445,0.354,0.255,0.286,
+0.875,1.124,0.746,0.741,0.682,0.159,0.724,0.679,0.365,0.537,
+0.524,0.559,0.570,0.393,0.297,0.479,0.531,0.442,0.270,0.332,
+0.366,0.063,0.290,0.367,0.289,0.333,0.218,0.376,0.836,0.860,
+0.424,0.511,0.966,1.209,0.736,0.682,0.680,0.148,0.803,0.760,
+0.377,0.769,0.456,0.512,0.619,1.094,0.548,0.617,0.099,0.179,
+0.104,0.124,0.630,0.118,0.585,0.673,0.347,0.809,0.564,0.671,
+0.466,0.387,0.262,0.406,0.653,0.733,0.435,0.590,0.529,0.086,
+0.529,0.644,0.471,0.628,0.491,0.652,0.948,0.668,0.395,0.808,
+0.772,0.486,0.313,0.405,0.506,0.062,0.193,0.327,1.109,0.450,
+0.256,0.566,0.885,0.687,0.328,0.516,0.550,0.504,0.308,0.353,
+0.366,0.053,0.255,0.349,0.297,0.316,0.212,0.353,0.780,3.552,
+0.353,0.596,0.070,0.159,0.043,0.083,0.340,0.077,0.184,0.307,
+0.377,0.547,0.242,0.415,0.635,0.941,0.264,0.577,0.510,0.518,
+0.311,0.534,0.378,0.049,0.231,0.400,0.520,0.423,0.376,0.889,
+1.233,0.925,0.531,0.980,1.122,1.122,0.756,0.748,0.623,0.100,
+0.412,0.648,0.495,0.597,0.308,0.612,1.190,1.117,0.518,0.745,
+1.133,1.148,0.792,0.780,0.728,0.131,0.603,0.817,0.423,0.641,
+0.372,0.628,0.672,1.392,0.459,0.658,0.091,0.183,0.104,0.120,
+0.597,0.113,0.492,0.680,0.399,0.932,0.469,0.897,0.675,0.556,
+0.325,0.536,0.940,1.111,0.686,0.918,0.610,0.078,0.502,0.690,
+0.496,0.697,0.459,0.922,1.126,1.080,0.426,0.567,1.172,1.160,
+0.825,0.839,0.858,0.150,0.540,0.701,0.491,0.605,0.460,0.709,
+0.239,0.143,0.058,0.089,0.158,0.246,0.151,0.121,0.093,0.039,
+0.119,0.121,0.060,0.120,0.062,0.084,0.787,1.247,0.577,0.677,
+0.109,0.167,0.103,0.145,0.768,0.139,0.507,0.693,0.454,0.979,
+0.661,0.728,0.625,0.507,0.375,0.482,1.055,1.145,0.912,1.059,
+0.748,0.118,0.641,0.769,0.525,0.698,0.686,0.849,1.036,0.556,
+0.433,0.716,0.685,0.528,0.387,0.468,0.702,0.104,0.350,0.624,
+0.450,0.368,0.300,0.667,1.230,0.888,0.454,0.633,1.075,1.093,
+0.686,0.773,0.645,0.088,0.674,0.815,0.507,0.635,0.459,0.690,
+1.011,1.154,0.643,0.984,0.130,0.157,0.087,0.135,1.025,0.128,
+0.797,1.023,0.692,1.081,0.879,0.961,0.961,0.636,0.484,0.979,
+1.079,1.298,0.795,1.032,0.957,0.090,0.759,1.128,1.028,0.995,
+0.992,1.537,2.301,1.427,0.947,2.031,1.882,0.961,0.671,0.942,
+1.308,0.126,0.513,0.862,1.846,1.497,0.808,1.684,1.236,0.762,
+0.458,0.688,0.896,0.639,0.416,0.459,0.636,0.060,0.364,0.485,
+0.576,0.566,0.347,0.619,0.754,0.834,0.403,0.733,0.095,0.085,
+0.051,0.097,0.448,0.049,0.243,0.425,0.486,0.666,0.371,0.793,
+1.502,0.718,0.541,1.142,1.010,0.912,0.527,0.806,0.678,0.094,
+0.412,0.750,1.031,0.798,0.750,2.038,1.462,0.851,0.476,0.856,
+1.023,0.705,0.467,0.606,0.637,0.077,0.288,0.441,0.789,0.823,
+0.340,0.752,0.990,0.656,0.329,0.530,0.687,0.450,0.358,0.408,
+0.484,0.057,0.265,0.383,0.412,0.441,0.235,0.393,0.525,0.537,
+0.338,0.575,0.058,0.061,0.045,0.068,0.435,0.041,0.217,0.346,
+0.377,0.496,0.306,0.633,0.593,0.361,0.262,0.487,0.561,0.533,
+0.316,0.458,0.422,0.034,0.223,0.481,0.499,0.431,0.364,0.938,
+1.574,0.737,0.422,0.755,1.184,0.739,0.650,0.746,0.815,0.108,
+0.271,0.473,0.836,0.836,0.412,1.020,0.118,0.075,0.044,0.078,
+0.099,0.085,0.056,0.084,0.071,0.011,0.043,0.068,0.089,0.133,
+0.049,0.128,0.592,0.566,0.374,0.479,0.075,0.052,0.043,0.065,
+0.469,0.049,0.275,0.358,0.353,0.529,0.331,0.476,0.537,0.369,
+0.285,0.514,0.697,0.538,0.387,0.561,0.558,0.054,0.284,0.448,
+0.533,0.511,0.441,0.862,1.725,0.743,0.530,1.110,0.916,0.547,
+0.414,0.610,0.852,0.084,0.425,0.630,1.558,0.953,0.553,1.427,
+1.275,0.755,0.483,0.729,0.931,0.690,0.437,0.599,0.655,0.064,
+0.382,0.589,0.744,0.805,0.457,0.965,0.662,0.666,0.495,0.665,
+0.076,0.065,0.046,0.074,0.867,0.055,0.326,0.536,0.605,0.751,
+0.441,0.815,1.333,1.020,0.611,1.224,0.949,0.867,0.499,0.810,
+1.058,0.106,0.531,0.984,1.639,1.669,1.135,2.518,1.959,1.270,
+0.845,1.590,1.543,1.179,0.963,0.975,0.893,0.135,0.615,0.740,
+1.228,1.464,0.760,1.180,1.601,1.162,0.688,1.061,1.536,1.213,
+0.972,0.907,0.797,0.116,0.603,0.725,0.670,0.882,0.560,0.872,
+0.903,1.470,0.575,0.850,0.136,0.155,0.094,0.132,0.571,0.084,
+0.397,0.624,0.561,0.839,0.583,0.952,0.936,0.606,0.446,0.839,
+1.149,1.129,0.663,0.828,0.611,0.075,0.386,0.749,0.682,0.576,
+0.684,1.263,1.720,1.373,0.683,1.098,1.716,1.691,1.027,1.193,
+0.845,0.183,0.418,0.609,1.000,2.098,0.553,0.941,1.460,1.557,
+0.641,0.923,1.755,1.468,1.079,1.115,0.948,0.185,0.635,0.784,
+0.632,1.122,0.495,0.674,0.811,1.248,0.574,0.791,0.143,0.228,
+0.125,0.151,0.763,0.144,0.500,0.697,0.635,1.109,0.614,1.161,
+0.674,0.593,0.327,0.562,1.004,1.397,0.682,0.779,0.600,0.084,
+0.388,1.121,0.629,0.650,0.521,1.101,1.213,0.822,0.398,0.668,
+1.317,1.165,0.923,1.023,0.720,0.133,0.416,0.499,0.631,0.750,
+0.481,0.840,0.092,0.109,0.056,0.084,0.172,0.201,0.137,0.153,
+0.092,0.036,0.091,0.102,0.070,0.145,0.079,0.102,0.806,0.987,
+0.589,0.705,0.157,0.148,0.109,0.131,0.893,0.142,0.524,0.755,
+0.486,1.004,0.612,0.819,0.710,0.455,0.384,0.604,1.261,1.311,
+0.925,1.019,0.865,0.103,0.550,0.768,0.612,0.673,0.737,1.105,
+1.027,0.575,0.397,0.664,0.766,0.570,0.403,0.500,0.599,0.072,
+0.351,0.435,0.695,0.653,0.411,0.836,1.313,1.064,0.604,0.866,
+1.588,1.341,0.876,1.108,0.822,0.124,0.554,0.764,0.712,1.175,
+0.632,1.000,0.673,0.872,0.575,0.711,0.097,0.103,0.066,0.086,
+0.716,0.079,0.484,0.685,0.545,0.832,0.568,0.875,0.902,0.592,
+0.470,0.727,0.946,0.836,0.575,0.778,0.828,0.082,0.531,0.853,
+1.045,1.019,0.910,1.547,0.979,0.825,0.440,1.053,0.704,0.628,
+0.413,0.578,0.509,0.061,0.254,0.466,0.580,0.532,0.319,0.643,
+1.040,0.930,0.401,0.640,0.888,0.746,0.486,0.482,0.624,0.089,
+0.427,0.593,0.410,0.644,0.334,0.598,0.787,1.219,0.568,0.841,
+0.363,0.156,0.110,0.185,0.508,0.094,0.368,1.245,0.389,0.851,
+0.472,2.162,0.658,0.557,0.356,0.822,0.804,0.916,0.472,0.703,
+0.579,0.071,0.372,0.770,0.578,0.515,0.577,1.369,0.073,0.070,
+0.033,0.076,0.087,0.096,0.048,0.063,0.047,0.011,0.030,0.052,
+0.054,0.071,0.043,0.085,0.079,0.086,0.031,0.051,0.101,0.159,
+0.067,0.060,0.055,0.021,0.061,0.067,0.035,0.085,0.036,0.057,
+0.055,0.107,0.060,0.079,0.024,0.036,0.032,0.025,0.070,0.023,
+0.058,0.166,0.054,0.147,0.081,0.645,0.060,0.053,0.032,0.074,
+0.096,0.134,0.080,0.103,0.062,0.011,0.051,0.092,0.053,0.068,
+0.060,0.185,0.788,0.594,0.333,0.468,0.823,0.956,0.602,0.669,
+0.576,0.120,0.469,0.539,0.379,0.527,0.425,0.612,0.069,0.100,
+0.038,0.062,0.089,0.136,0.083,0.069,0.074,0.035,0.104,0.079,
+0.051,0.109,0.060,0.075,0.618,0.969,0.568,0.596,0.107,0.151,
+0.114,0.093,0.645,0.130,0.345,0.512,0.345,0.824,0.563,0.883,
+0.485,0.412,0.280,0.381,0.789,0.979,0.599,0.641,0.628,0.094,
+0.742,0.655,0.430,0.566,0.607,0.803,0.710,0.432,0.281,0.584,
+0.622,0.528,0.290,0.381,0.423,0.051,0.325,0.399,0.425,0.407,
+0.296,0.575,0.978,0.877,0.446,0.622,0.873,0.995,0.567,0.532,
+0.685,0.108,0.649,0.737,0.537,0.902,0.529,0.718,0.706,0.945,
+0.719,0.787,0.085,0.156,0.126,0.100,0.611,0.088,0.492,0.739,
+0.475,0.852,0.655,0.970,0.616,0.490,0.402,0.594,0.732,0.767,
+0.602,0.656,0.656,0.072,0.594,0.824,0.670,0.776,0.731,1.159,
+2.040,1.321,0.647,1.903,0.933,0.699,0.391,0.783,0.666,0.074,
+0.283,0.566,0.972,0.832,0.449,1.065,1.141,0.982,0.363,0.690,
+0.828,0.768,0.370,0.487,0.516,0.064,0.263,0.441,0.434,0.623,
+0.305,0.571,1.511,6.742,0.562,1.097,0.098,0.273,0.049,0.132,
+0.465,0.136,0.227,0.500,0.465,0.772,0.331,0.891,1.315,1.861,
+0.505,1.139,0.771,0.926,0.416,0.864,0.618,0.066,0.421,0.890,
+1.027,0.756,0.724,2.075,1.131,0.730,0.394,0.847,0.776,0.682,
+0.393,0.556,0.446,0.055,0.232,0.532,0.475,0.559,0.302,0.789,
+1.048,0.810,0.335,0.669,0.780,0.822,0.402,0.549,0.516,0.070,
+0.364,0.589,0.440,0.585,0.310,0.739,0.751,1.122,0.362,0.727,
+0.057,0.083,0.044,0.087,0.494,0.073,0.284,0.688,0.520,1.194,
+0.429,1.904,0.731,0.524,0.317,0.647,0.704,0.719,0.432,0.750,
+0.504,0.052,0.330,0.730,0.636,0.693,0.525,1.570,1.582,1.005,
+0.578,0.827,1.165,0.949,0.695,0.969,0.865,0.119,0.486,0.710,
+0.669,0.745,0.657,1.174,0.166,0.124,0.060,0.095,0.104,0.128,
+0.073,0.116,0.064,0.017,0.072,0.086,0.070,0.120,0.061,0.131,
+0.906,1.308,0.574,0.845,0.090,0.109,0.069,0.107,0.783,0.113,
+0.476,0.817,0.607,0.989,0.676,1.062,0.901,0.705,0.482,0.729,
+1.217,1.113,0.785,1.110,0.933,0.108,0.804,1.067,0.821,0.852,
+0.878,1.395,1.969,0.898,0.594,1.201,1.005,0.842,0.522,0.696,
+0.859,0.086,0.466,0.785,1.123,0.890,0.816,1.831,1.988,1.191,
+0.644,0.996,1.324,1.473,0.804,0.944,0.916,0.090,0.685,1.000,
+0.832,1.019,0.742,1.367,1.448,1.549,0.936,1.394,0.128,0.124,
+0.099,0.120,1.097,0.106,0.795,1.289,1.066,1.484,1.136,1.793,
+2.141,1.211,0.886,2.093,1.638,1.357,0.987,1.649,1.533,0.125,
+1.145,2.107,2.413,1.832,1.637,3.564,5.885,2.403,1.686,3.031,
+2.791,2.268,1.448,1.705,2.254,0.297,1.011,1.733,2.844,2.642,
+1.276,2.119,3.266,2.590,1.270,1.500,2.776,2.400,1.357,1.239,
+1.621,0.221,1.024,1.197,1.135,1.461,0.900,1.320,1.711,1.975,
+1.124,1.449,0.210,0.276,0.183,0.258,1.243,0.236,0.810,0.916,
+0.901,2.000,0.903,1.185,2.354,1.267,1.094,1.726,2.046,1.881,
+1.454,1.874,1.237,0.163,0.802,1.179,1.541,1.235,1.137,2.109,
+3.627,2.516,1.168,1.859,2.774,2.695,1.332,1.402,1.707,0.283,
+0.772,1.140,1.210,1.745,0.872,1.308,3.208,3.122,1.146,1.332,
+3.062,2.907,1.448,1.369,1.766,0.358,1.074,1.397,0.902,1.613,
+0.769,0.981,1.445,2.188,0.890,1.020,0.206,0.386,0.197,0.172,
+1.824,0.468,1.096,1.183,0.736,2.175,0.886,0.997,1.069,0.917,
+0.496,0.773,1.592,1.733,0.849,1.045,1.163,0.183,0.860,0.895,
+0.877,1.006,0.852,1.369,1.496,1.003,0.707,0.913,1.558,1.315,
+1.000,0.856,1.343,0.217,0.553,0.929,0.839,1.015,0.783,1.156,
+0.142,0.165,0.081,0.103,0.175,0.238,0.143,0.118,0.141,0.056,
+0.111,0.152,0.119,0.240,0.121,0.159,0.756,0.991,0.725,0.619,
+0.124,0.180,0.140,0.114,0.877,0.184,0.628,0.722,0.431,0.915,
+0.622,0.524,0.703,0.536,0.431,0.551,1.128,1.147,0.798,0.823,
+0.895,0.138,0.650,0.904,0.653,0.860,0.713,0.976,1.813,0.857,
+0.570,1.329,0.962,0.744,0.501,0.641,1.137,0.113,0.370,0.688,
+1.175,0.889,0.626,1.313,1.515,1.368,0.683,0.927,1.396,1.464,
+0.776,0.896,1.119,0.143,0.581,1.036,1.165,1.237,0.677,1.107,
+0.774,0.862,0.685,0.755,0.096,0.120,0.139,0.101,0.744,0.108,
+0.547,0.791,0.573,0.997,0.633,0.790,1.105,0.726,0.599,1.049,
+0.868,0.826,0.649,0.784,1.058,0.119,0.735,1.122,1.212,1.198,
+0.953,1.679,3.891,2.726,1.403,2.249,2.468,2.542,1.366,1.330,
+1.255,0.210,0.624,0.960,1.164,1.568,1.137,1.478,2.824,3.464,
+1.285,1.381,2.772,2.993,1.677,1.350,1.365,0.279,0.900,1.051,
+0.744,1.304,0.728,0.964,1.176,2.370,0.987,1.006,0.215,0.428,
+0.211,0.208,1.057,0.312,0.957,0.817,0.589,1.568,0.833,0.969,
+1.241,0.832,0.580,0.813,1.551,1.811,0.860,1.048,0.801,0.136,
+0.490,0.624,0.797,0.763,0.631,1.281,2.750,3.164,0.987,1.318,
+2.709,3.792,1.471,1.250,1.335,0.353,0.699,0.974,0.822,1.695,
+1.748,1.544,2.787,4.697,1.355,1.267,3.407,2.915,2.186,1.591,
+1.660,0.544,1.009,1.209,0.747,1.916,0.907,0.870,1.292,3.563,
+0.947,0.943,0.384,1.277,0.309,0.236,3.129,1.844,1.177,1.544,
+1.011,5.353,1.040,1.086,1.080,1.066,0.427,0.602,1.989,3.009,
+0.970,1.113,1.196,0.370,0.580,0.741,0.663,1.352,0.554,0.944,
+1.086,1.081,0.469,0.634,1.650,2.046,1.239,0.960,1.007,0.211,
+0.581,0.711,0.503,0.855,0.629,0.796,0.127,0.293,0.095,0.104,
+0.226,0.548,0.287,0.180,0.178,0.152,0.201,0.182,0.075,0.249,
+0.120,0.119,0.902,1.556,1.058,0.846,0.254,0.432,0.286,0.187,
+1.239,0.341,0.997,0.984,0.409,1.392,0.889,0.665,0.917,0.572,
+0.459,0.543,1.403,1.941,1.175,1.069,1.041,0.184,0.850,1.017,
+0.575,0.859,0.745,0.965,0.860,0.612,0.361,0.632,0.781,0.787,
+0.387,0.420,0.684,0.070,0.226,0.375,0.533,0.495,0.345,0.625,
+1.080,1.504,0.699,0.792,1.308,2.164,0.884,1.023,0.879,0.161,
+0.504,0.750,0.611,1.105,0.576,0.738,0.670,1.139,0.596,0.675,
+0.108,0.229,0.095,0.101,0.705,0.168,0.564,0.720,0.454,0.988,
+0.656,0.669,0.705,0.631,0.420,0.596,0.795,1.040,0.508,0.650,
+0.886,0.191,0.649,0.816,0.782,1.050,0.812,1.146,1.370,1.198,
+0.691,0.991,1.017,1.007,0.508,0.613,0.724,0.105,0.353,0.690,
+0.648,0.748,0.414,0.812,1.672,2.191,0.793,0.908,1.510,1.709,
+0.972,0.806,1.046,0.253,0.814,0.894,0.528,1.197,0.604,0.764,
+1.075,2.145,0.804,0.919,0.153,0.294,0.156,0.192,0.785,0.161,
+0.549,0.640,0.432,1.095,0.550,0.701,0.744,0.644,0.414,0.639,
+0.858,1.128,0.547,0.704,0.692,0.102,0.486,0.721,0.666,0.687,
+0.655,1.473,0.098,0.147,0.056,0.076,0.152,0.259,0.104,0.086,
+0.129,0.038,0.069,0.085,0.065,0.130,0.078,0.093,0.147,0.315,
+0.100,0.092,0.261,0.500,0.196,0.143,0.153,0.098,0.156,0.141,
+0.068,0.229,0.097,0.096,0.092,0.272,0.105,0.093,0.041,0.151,
+0.085,0.043,0.159,0.100,0.153,0.148,0.065,0.298,0.120,0.107,
+0.074,0.086,0.050,0.086,0.189,0.338,0.151,0.156,0.118,0.036,
+0.104,0.116,0.075,0.127,0.093,0.168,0.687,0.711,0.351,0.401,
+0.942,1.124,0.761,0.541,1.501,0.209,0.577,0.669,0.447,0.706,
+0.474,0.535,0.085,0.191,0.066,0.061,0.126,0.259,0.156,0.085,
+0.143,0.086,0.123,0.131,0.062,0.187,0.099,0.079,0.668,1.431,
+0.719,0.517,0.149,0.297,0.202,0.107,1.013,0.278,0.584,0.780,
+0.379,1.184,0.716,0.558,0.449,0.446,0.294,0.310,0.784,1.228,
+0.781,0.658,0.834,0.178,0.593,0.670,0.398,0.749,0.493,0.594,
+0.647,0.465,0.249,0.436,0.684,0.511,0.274,0.304,3.213,0.161,
+0.296,0.527,0.951,0.567,0.297,0.591,0.936,1.213,0.513,0.542,
+1.053,1.374,0.752,0.673,1.041,0.178,0.566,0.795,0.600,1.128,
+0.593,0.789,0.714,1.171,0.601,0.544,0.126,0.252,0.121,0.094,
+0.887,0.176,0.565,0.759,0.473,1.208,0.586,0.649,0.619,0.538,
+0.417,0.420,0.830,1.111,0.639,0.630,0.936,0.135,0.684,0.872,
+0.686,1.035,0.706,1.012,1.548,0.993,0.530,1.182,0.766,0.623,
+0.340,0.460,0.710,0.076,0.236,0.532,1.022,0.766,0.391,0.996,
+0.936,0.854,0.337,0.547,0.711,0.660,0.329,0.388,0.560,0.072,
+0.257,0.402,0.406,0.489,0.276,0.522,0.780,0.983,0.366,0.772,
+0.077,0.094,0.048,0.105,0.446,0.065,0.249,0.388,0.383,0.556,
+0.351,0.518,0.912,0.586,0.382,0.852,0.720,0.655,0.364,0.657,
+0.576,0.066,0.333,0.575,0.810,0.813,0.611,1.575,1.327,1.267,
+0.514,0.925,1.231,1.414,0.626,0.716,1.005,0.145,0.410,0.708,
+0.724,1.020,0.469,0.853,1.328,1.864,0.528,0.895,1.632,2.317,
+0.848,0.844,0.954,0.219,0.603,0.878,0.560,1.199,0.480,0.806,
+0.873,1.323,0.454,0.619,0.109,0.228,0.106,0.111,0.847,0.189,
+0.609,0.729,0.535,1.392,0.647,0.749,0.659,0.547,0.304,0.526,
+1.017,1.300,0.581,0.878,0.686,0.099,0.453,0.664,0.637,0.872,
+0.529,1.057,0.696,0.627,0.304,0.498,0.785,0.774,0.501,0.540,
+0.985,0.142,0.391,0.610,0.542,0.625,0.418,0.681,0.064,0.095,
+0.035,0.063,0.076,0.148,0.068,0.076,0.088,0.042,0.069,0.117,
+0.058,0.122,0.057,0.079,0.552,0.917,0.536,0.501,0.087,0.125,
+0.117,0.085,0.715,0.141,0.495,0.584,0.371,0.856,0.716,0.602,
+0.539,0.516,0.274,0.380,0.801,0.899,0.626,0.678,0.732,0.137,
+0.471,0.669,0.461,0.715,0.515,0.807,1.199,0.697,0.394,0.735,
+0.902,0.723,0.334,0.542,6.423,0.284,0.403,0.702,1.927,0.955,
+0.448,1.048,0.703,0.697,0.308,0.514,0.760,0.888,0.482,0.642,
+1.043,0.092,0.372,1.029,0.595,0.766,0.391,0.809,0.906,0.950,
+0.502,0.704,0.124,0.118,0.069,0.102,0.905,0.107,0.537,0.774,
+0.624,1.093,0.751,0.897,1.005,0.672,0.488,1.094,1.169,1.188,
+0.651,0.915,1.289,0.127,0.739,1.204,1.341,1.311,1.109,2.088,
+4.349,2.334,1.294,2.452,2.283,2.372,1.039,1.212,1.418,0.245,
+0.891,1.404,1.537,1.894,0.842,1.483,2.376,2.344,0.938,1.170,
+2.448,2.951,1.201,1.190,1.466,0.265,1.045,1.105,0.740,1.297,
+0.678,0.960,1.001,1.174,0.663,0.936,0.126,0.194,0.116,0.159,
+0.659,0.135,0.542,0.566,0.449,0.908,0.555,0.697,0.966,0.626,
+0.413,0.821,1.054,1.206,0.631,0.844,0.706,0.137,0.480,0.668,
+0.710,0.755,0.613,1.066,2.475,2.062,0.716,1.251,2.326,2.714,
+0.920,0.966,1.281,0.279,0.663,0.820,0.799,1.391,0.465,0.833,
+2.151,2.818,0.845,1.042,2.920,4.308,1.434,1.376,1.504,0.516,
+1.376,1.494,0.717,1.793,0.672,0.861,0.796,1.662,0.612,0.661,
+0.181,0.425,0.214,0.156,1.012,0.306,0.908,0.788,0.475,1.424,
+0.717,0.770,0.561,0.573,0.260,0.430,1.047,1.518,0.532,0.741,
+0.728,0.133,0.493,0.583,0.530,0.715,0.512,0.873,1.115,0.911,
+0.409,0.649,1.744,1.644,0.917,0.941,1.627,0.249,0.603,0.778,
+0.623,0.866,0.537,0.905,0.107,0.200,0.080,0.099,0.227,0.427,
+0.191,0.181,0.176,0.123,0.175,0.174,0.074,0.261,0.115,0.133,
+0.508,0.853,0.606,0.495,0.133,0.209,0.159,0.123,0.880,0.236,
+0.789,0.780,0.316,0.884,0.574,0.505,0.375,0.391,0.390,0.402,
+0.853,1.074,0.658,0.833,0.693,0.170,0.599,0.737,0.428,0.776,
+0.629,0.799,0.942,0.559,0.336,0.856,0.701,0.594,0.300,0.420,
+0.734,0.088,0.264,0.392,0.612,0.570,0.365,0.787,0.993,1.132,
+0.497,0.781,1.368,1.953,0.757,0.969,0.781,0.167,0.570,0.809,
+0.491,0.994,0.466,0.751,0.432,0.613,0.478,0.479,0.066,0.100,
+0.083,0.079,0.510,0.100,0.488,0.533,0.303,0.660,0.440,0.537,
+0.702,0.533,0.584,0.776,0.529,0.729,0.415,0.536,0.611,0.093,
+0.488,0.708,0.650,0.805,0.653,1.199,2.742,1.568,0.873,1.436,
+1.586,1.936,0.821,0.817,0.724,0.133,0.428,0.534,0.610,0.807,
+0.431,0.655,1.307,1.424,0.615,0.742,1.600,2.875,1.029,1.029,
+0.765,0.228,0.633,0.687,0.372,0.807,0.442,0.554,0.648,1.175,
+0.657,0.570,0.115,0.275,0.146,0.136,0.446,0.132,0.517,0.451,
+0.306,0.691,0.396,0.494,0.507,0.430,0.294,0.457,0.737,1.248,
+0.518,0.631,0.437,0.085,0.341,0.406,0.405,0.502,0.388,0.665,
+1.206,0.834,0.315,0.479,0.613,1.234,0.358,0.401,0.531,0.137,
+0.284,0.328,0.321,0.612,0.286,0.405,0.456,0.405,0.220,0.285,
+0.347,1.503,0.355,0.444,0.349,0.316,0.266,0.273,0.151,0.636,
+0.330,0.280,0.394,1.007,0.408,0.400,0.115,0.753,0.231,0.145,
+0.451,0.230,0.393,0.458,0.223,0.876,0.412,0.426,0.230,0.289,
+0.168,0.194,0.478,1.466,0.439,0.523,0.360,0.098,0.303,0.390,
+0.252,0.483,0.254,0.370,0.734,0.728,0.306,0.432,1.359,2.080,
+1.010,0.951,0.751,0.185,0.527,0.588,0.354,0.651,0.473,0.618,
+0.098,0.259,0.101,0.109,0.370,1.391,0.431,0.367,0.178,0.242,
+0.292,0.242,0.057,0.298,0.147,0.116,0.570,1.048,0.601,0.517,
+0.229,0.436,0.251,0.175,0.669,0.215,0.561,0.644,0.294,0.997,
+0.656,0.532,0.347,0.378,0.291,0.328,1.140,1.759,1.099,0.937,
+0.718,0.153,0.807,0.745,0.396,0.620,0.708,0.698,0.544,0.417,
+0.213,0.376,0.539,0.775,0.238,0.323,0.493,0.061,0.208,0.268,
+0.321,0.342,0.208,0.342,0.646,1.129,0.492,0.655,1.320,3.461,
+0.901,1.197,0.665,0.214,0.569,0.714,0.411,0.978,0.528,0.584,
+0.366,0.819,0.441,0.436,0.086,0.236,0.109,0.093,0.428,0.119,
+0.575,0.554,0.246,0.660,0.678,0.596,0.388,0.499,0.259,0.380,
+0.499,1.092,0.460,0.578,0.442,0.081,0.470,0.516,0.347,0.598,
+0.575,0.702,1.075,0.990,0.444,0.701,0.928,1.134,0.448,0.646,
+0.588,0.100,0.324,0.445,0.459,0.627,0.302,0.529,1.412,2.155,
+0.653,0.920,1.994,3.040,1.242,1.253,1.204,0.361,1.161,1.133,
+0.510,1.327,0.558,0.781,0.629,1.336,0.617,0.637,0.137,0.275,
+0.145,0.181,0.656,0.191,0.585,0.638,0.329,0.993,0.445,0.552,
+0.472,0.437,0.238,0.474,0.708,1.028,0.479,0.656,0.583,0.124,
+0.514,0.697,0.444,0.600,0.467,0.997,0.082,0.138,0.051,0.067,
+0.175,0.424,0.150,0.132,0.119,0.057,0.095,0.086,0.057,0.148,
+0.082,0.091,0.163,0.486,0.118,0.156,0.514,2.003,0.514,0.349,
+0.236,0.340,0.377,0.311,0.086,0.426,0.132,0.166,0.073,0.309,
+0.132,0.086,0.068,0.338,0.197,0.070,0.160,0.178,0.280,0.211,
+0.066,0.345,0.162,0.109,0.051,0.073,0.034,0.053,0.162,0.468,
+0.158,0.191,0.106,0.060,0.152,0.149,0.057,0.117,0.083,0.114,
+0.710,1.038,0.393,0.443,1.245,2.076,0.949,0.727,1.034,0.291,
+0.753,0.720,0.392,0.866,0.533,0.653,0.111,0.417,0.121,0.090,
+0.249,0.891,0.362,0.177,0.224,0.238,0.332,0.230,0.072,0.310,
+0.141,0.124,0.577,1.531,0.659,0.514,0.168,0.416,0.236,0.153,
+0.885,0.314,0.546,0.756,0.362,1.318,0.684,0.602,0.395,0.490,
+0.298,0.397,1.030,1.957,0.923,1.277,0.928,0.271,0.935,0.983,
+0.371,0.837,0.640,0.896,0.546,0.501,0.220,0.411,0.579,0.652,
+0.248,0.291,0.694,0.095,0.318,0.410,0.371,0.462,0.245,0.533,
+1.096,1.959,0.684,0.650,1.824,3.243,1.311,1.091,1.382,0.457,
+1.355,1.407,0.563,1.595,0.808,0.869,0.699,1.472,0.712,0.590,
+0.109,0.298,0.142,0.106,0.960,0.284,1.006,1.021,0.426,1.384,
+0.723,0.744,0.541,0.581,0.363,0.529,0.643,1.080,0.615,0.682,
+0.881,0.169,1.029,1.024,0.588,1.023,0.778,1.057,0.893,0.637,
+0.317,0.635,0.614,0.675,0.279,0.382,0.383,0.061,0.207,0.349,
+0.438,0.431,0.204,0.532,0.794,0.863,0.281,0.462,0.783,1.224,
+0.371,0.493,0.409,0.078,0.275,0.370,0.278,0.439,0.201,0.380,
+0.526,0.731,0.315,0.682,0.060,0.087,0.037,0.089,0.277,0.054,
+0.263,0.318,0.214,0.384,0.209,0.347,0.455,0.346,0.202,0.544,
+0.448,0.482,0.230,0.490,0.340,0.048,0.263,0.370,0.387,0.401,
+0.268,0.703,0.861,0.978,0.385,0.588,1.121,1.853,0.798,0.729,
+0.798,0.178,0.447,0.602,0.528,0.994,0.364,0.644,1.139,2.022,
+0.514,0.791,2.125,5.110,1.208,1.334,1.026,0.381,0.825,0.993,
+0.541,1.576,0.545,0.814,0.512,1.302,0.447,0.500,0.100,0.350,
+0.127,0.129,0.579,0.179,0.609,0.648,0.386,1.135,0.522,0.549,
+0.350,0.406,0.310,0.366,0.722,1.428,0.543,1.064,0.583,0.122,
+0.537,0.637,0.464,0.715,0.407,0.749,0.594,0.676,0.267,0.366,
+0.992,1.401,0.731,0.688,0.741,0.160,0.512,0.601,0.390,0.617,
+0.406,0.632,0.064,0.135,0.052,0.058,0.132,0.445,0.148,0.107,
+0.100,0.076,0.122,0.124,0.050,0.140,0.076,0.084,0.421,0.916,
+0.442,0.437,0.096,0.202,0.126,0.099,0.790,0.246,0.785,0.805,
+0.360,1.036,0.615,0.617,0.333,0.417,0.239,0.336,0.733,1.195,
+0.644,0.776,1.037,0.248,0.817,0.897,0.464,0.932,0.602,0.827,
+0.637,0.513,0.241,0.507,0.551,0.777,0.261,0.346,0.794,0.075,
+0.237,0.361,0.473,0.449,0.265,0.643,0.632,0.803,0.301,0.453,
+0.942,1.875,0.616,0.707,0.701,0.121,0.447,0.675,0.418,0.729,
+0.398,0.859,0.652,0.800,0.459,0.513,0.116,0.126,0.065,0.083,
+0.615,0.112,0.636,0.677,0.381,0.808,0.567,0.665,0.566,0.472,
+0.318,0.661,0.753,1.036,0.521,0.785,1.744,0.290,0.785,1.140,
+0.948,1.236,0.927,1.418,1.521,1.387,0.775,1.386,1.407,1.485,
+0.794,0.855,0.832,0.127,0.449,0.632,0.929,0.993,0.657,0.949,
+1.226,1.325,0.710,0.795,1.269,1.225,0.897,0.802,0.681,0.135,
+0.540,0.578,0.521,0.855,0.778,1.020,1.401,2.232,0.894,2.233,
+0.139,0.171,0.100,0.220,0.549,0.104,0.370,0.464,0.358,0.690,
+0.420,0.609,0.788,0.590,0.358,0.830,0.806,0.881,0.520,0.724,
+0.498,0.065,0.283,0.465,0.571,0.450,0.481,1.012,1.735,1.617,
+0.795,1.082,2.106,2.508,1.606,1.180,1.024,0.213,0.557,0.662,
+0.702,1.160,1.120,0.925,1.947,2.469,1.052,0.976,2.478,2.706,
+2.130,1.380,1.542,0.420,1.063,1.131,0.713,1.698,0.895,0.862,
+0.928,1.928,0.870,0.962,0.208,0.446,0.273,0.232,1.355,0.357,
+1.164,1.232,0.503,1.649,1.097,0.911,0.621,0.616,0.308,0.581,
+1.273,1.880,0.905,0.963,0.766,0.125,0.505,0.657,0.565,0.652,
+0.648,1.026,0.941,0.744,0.347,0.621,1.485,1.495,1.137,1.244,
+1.133,0.236,0.506,0.637,0.633,0.969,0.450,0.773,0.120,0.177,
+0.076,0.142,0.216,0.311,0.220,0.432,0.177,0.077,0.137,0.140,
+0.106,0.333,0.135,0.160,0.700,0.971,0.604,0.734,0.158,0.212,
+0.185,0.210,0.808,0.227,0.591,0.628,0.445,1.246,0.625,0.587,
+0.552,0.374,0.251,0.402,1.001,1.235,0.883,0.939,0.714,0.130,
+0.467,0.567,0.558,0.666,0.535,0.741,0.769,0.476,0.287,0.561,
+0.590,0.510,0.374,0.605,0.494,0.072,0.227,0.326,0.637,0.590,
+0.347,0.730,0.896,0.977,0.464,0.785,1.030,1.170,0.887,2.187,
+0.709,0.146,0.490,0.645,0.531,1.044,0.574,0.791,0.521,0.823,
+0.565,0.692,0.085,0.127,0.129,0.157,0.724,0.132,0.608,0.872,
+0.484,1.013,0.723,0.825,0.621,0.474,0.390,0.664,0.606,0.645,
+0.559,0.756,0.720,0.100,0.557,0.780,1.097,1.178,0.886,1.468,
+0.098,0.154,0.075,0.077,0.119,0.201,0.102,0.087,0.067,0.028,
+0.044,0.049,0.053,0.096,0.096,0.073,0.158,0.273,0.178,0.119,
+0.270,0.450,0.347,0.239,0.141,0.101,0.151,0.130,0.060,0.188,
+0.128,0.105,0.273,1.031,0.147,0.116,0.044,0.100,0.047,0.037,
+0.092,0.054,0.101,0.090,0.043,0.148,0.079,0.082,0.078,0.133,
+0.045,0.060,0.132,0.205,0.101,0.104,0.078,0.020,0.063,0.094,
+0.055,0.064,0.071,0.110,0.132,0.195,0.091,0.082,0.237,0.504,
+0.311,0.149,0.108,0.068,0.103,0.087,0.062,0.156,0.538,0.137,
+0.282,0.570,0.241,0.152,0.703,1.329,1.113,0.470,0.350,0.394,
+0.311,0.247,0.113,0.381,0.226,0.130,0.117,0.419,0.156,0.106,
+0.099,0.454,0.216,0.084,0.266,0.273,0.289,0.235,0.067,0.450,
+0.217,0.142,0.068,0.091,0.043,0.051,0.189,0.481,0.227,0.150,
+0.112,0.051,0.097,0.099,0.070,0.108,0.106,0.132,0.074,0.099,
+0.039,0.069,0.190,0.358,0.244,0.324,0.133,0.087,0.113,0.087,
+0.046,0.128,0.082,0.075,0.031,0.089,0.037,0.050,0.117,0.380,
+0.234,0.294,0.090,0.200,0.134,0.092,0.018,0.099,0.059,0.037,
+0.097,0.234,0.146,0.139,0.082,0.217,0.186,0.094,0.207,0.190,
+0.279,0.189,0.094,0.488,0.216,0.127,0.063,0.063,0.044,0.056,
+0.191,0.370,0.271,0.219,0.142,0.070,0.166,0.134,0.055,0.121,
+0.111,0.106,0.053,0.063,0.035,0.054,0.064,0.111,0.061,0.147,
+0.054,0.011,0.032,0.036,0.047,0.066,0.056,0.072,0.141,0.280,
+0.111,0.213,0.263,0.504,0.395,1.225,0.174,0.091,0.137,0.163,
+0.088,0.296,0.141,0.172,0.059,0.158,0.099,0.094,0.027,0.075,
+0.047,0.055,0.121,0.070,0.157,0.160,0.056,0.205,0.143,0.117,
+0.057,0.065,0.042,0.062,0.082,0.134,0.089,0.122,0.091,0.027,
+0.092,0.099,0.079,0.123,0.119,0.138,0.775,0.810,0.465,0.782,
+0.931,1.136,0.662,0.649,0.533,0.110,0.337,0.477,0.408,0.522,
+0.324,0.472,1.061,1.436,0.688,0.927,1.559,1.833,1.924,1.200,
+1.014,0.289,0.983,0.895,0.375,0.993,0.576,0.642,0.634,1.598,
+0.864,0.941,0.158,0.319,0.235,0.275,1.012,0.291,0.692,0.798,
+0.355,1.175,0.575,0.634,0.483,0.453,0.294,0.500,0.771,1.022,
+0.665,0.750,0.547,0.124,0.493,0.698,0.470,0.541,0.490,0.919,
+0.085,0.133,0.057,0.077,0.239,0.444,0.227,0.155,0.092,0.042,
+0.091,0.110,0.045,0.100,0.074,0.074,0.136,0.285,0.136,0.111,
+0.386,0.748,0.762,0.320,0.221,0.209,0.319,0.230,0.058,0.221,
+0.120,0.094,0.080,0.327,0.159,0.127,0.070,0.260,0.193,0.082,
+0.197,0.175,0.285,0.242,0.057,0.285,0.183,0.125,0.061,0.082,
+0.042,0.061,0.181,0.361,0.211,0.187,0.104,0.044,0.130,0.130,
+0.058,0.094,0.085,0.128,0.599,0.885,0.366,0.384,1.195,1.907,
+1.381,0.806,0.784,0.236,0.790,0.652,0.300,0.679,0.527,0.504,
+0.093,0.255,0.094,0.076,0.215,0.522,0.416,0.160,0.170,0.153,
+0.263,0.152,0.054,0.216,0.120,0.088,0.664,1.411,0.917,0.608,
+0.187,0.398,0.363,0.180,0.843,0.249,0.388,0.571,0.319,1.072,
+0.845,0.658,0.517,0.429,0.311,0.289,1.032,1.709,1.253,0.876,
+0.796,0.210,0.754,0.765,0.384,0.656,0.692,0.681,0.441,0.400,
+0.240,0.412,0.555,0.565,0.349,0.379,0.395,0.075,0.289,0.384,
+0.313,0.396,0.261,0.446,0.914,1.348,0.626,0.610,1.497,2.238,
+1.681,1.180,0.958,0.287,0.988,0.938,0.531,1.290,0.968,0.935,
+0.648,1.652,0.831,0.743,0.141,0.374,0.224,0.177,0.944,0.262,
+1.101,1.070,0.438,1.388,0.936,0.830,0.503,0.497,0.306,0.410,
+0.776,1.162,0.725,0.688,0.726,0.153,0.781,0.873,0.606,1.185,
+0.724,0.858,0.804,0.640,0.326,0.668,0.588,0.593,0.366,0.420,
+0.386,0.068,0.187,0.308,0.497,0.456,0.239,0.623,0.710,0.693,
+0.288,0.422,0.627,0.672,0.448,0.396,0.343,0.067,0.251,0.306,
+0.225,0.371,0.247,0.365,0.509,1.011,0.351,0.511,0.067,0.109,
+0.061,0.100,0.403,0.076,0.281,0.375,0.287,0.537,0.306,0.445,
+0.487,0.401,0.235,0.421,0.542,0.520,0.329,0.491,0.347,0.047,
+0.217,0.367,0.482,0.424,0.368,0.864,1.199,1.298,0.565,0.851,
+1.560,2.028,1.143,0.989,0.746,0.165,0.601,0.716,0.487,0.834,
+0.452,0.663,1.478,2.324,0.850,0.935,2.176,3.109,2.150,1.441,
+1.221,0.368,1.153,1.250,0.530,1.307,0.825,0.894,0.794,2.029,
+0.814,0.935,0.187,0.511,0.280,0.254,1.216,0.341,1.174,1.298,
+0.595,1.889,1.009,1.087,0.595,0.639,0.409,0.528,1.230,1.785,
+1.086,1.299,0.812,0.148,0.747,0.906,0.558,0.863,0.629,1.115,
+1.079,2.723,0.442,0.582,1.508,1.723,1.176,1.019,0.879,0.238,
+0.653,0.863,0.415,0.768,0.505,0.721,0.114,0.207,0.056,0.076,
+0.160,0.357,0.256,0.167,0.102,0.074,0.145,0.151,0.049,0.156,
+0.083,0.098,0.789,1.544,0.893,0.804,0.181,0.348,0.245,0.210,
+1.197,0.327,0.913,1.083,0.469,1.458,1.026,0.922,0.533,0.561,
+0.376,0.433,1.273,1.663,1.377,1.256,0.824,0.176,0.798,1.060,
+0.485,0.768,0.818,1.070,0.843,0.670,0.302,0.600,0.661,0.589,
+0.429,0.451,0.585,0.083,0.299,0.456,0.509,0.509,0.372,0.758,
+0.793,0.825,0.376,0.504,0.969,1.231,0.914,0.897,0.669,0.120,
+0.540,0.761,0.423,0.779,0.555,0.809,0.840,1.242,0.718,0.857,
+0.116,0.202,0.125,0.143,1.056,0.203,1.112,1.366,0.623,1.328,
+1.084,1.044,0.767,0.618,0.459,0.815,1.031,1.317,0.906,1.048,
+0.924,0.125,0.879,1.290,0.994,1.051,1.118,1.435,1.291,0.917,
+0.585,1.306,0.948,0.804,0.423,0.609,0.755,0.087,0.275,0.507,
+1.215,0.933,0.462,0.947,0.965,0.772,0.399,0.548,0.807,0.714,
+0.405,0.444,0.490,0.073,0.295,0.338,0.466,0.612,0.367,0.564,
+0.594,0.833,0.373,0.663,0.067,0.086,0.043,0.095,0.411,0.054,
+0.230,0.324,0.376,0.596,0.307,0.593,0.771,0.456,0.347,0.663,
+0.630,0.592,0.357,0.564,0.418,0.050,0.219,0.388,0.698,0.512,
+0.458,1.572,1.232,0.912,0.407,0.810,1.059,1.027,0.494,0.609,
+0.561,0.086,0.239,0.383,0.624,0.685,0.384,0.605,0.951,0.962,
+0.364,0.497,1.015,1.178,0.522,0.583,0.568,0.103,0.307,0.419,
+0.484,0.674,0.318,0.421,0.432,0.625,0.303,0.445,0.056,0.104,
+0.044,0.071,0.442,0.071,0.275,0.348,0.326,0.708,0.365,0.451,
+0.404,0.364,0.186,0.421,0.504,0.655,0.256,0.425,0.345,0.043,
+0.186,0.306,0.377,0.394,0.303,0.724,0.934,0.549,0.264,0.556,
+0.804,0.753,0.520,0.678,0.679,0.130,0.229,0.357,0.714,0.945,
+0.287,0.587,0.061,0.071,0.030,0.061,0.073,0.095,0.050,0.092,
+0.054,0.018,0.033,0.047,0.073,0.147,0.044,0.073,0.360,0.467,
+0.297,0.376,0.049,0.062,0.048,0.060,0.409,0.080,0.257,0.301,
+0.276,0.556,0.294,0.336,0.312,0.290,0.189,0.419,0.446,0.478,
+0.319,0.437,0.403,0.054,0.223,0.328,0.374,0.408,0.310,0.576,
+0.910,0.415,0.272,0.622,0.554,0.390,0.265,0.410,0.578,0.067,
+0.182,0.299,1.373,0.703,0.340,0.810,0.692,0.549,0.280,0.461,
+0.567,0.600,0.348,0.618,0.448,0.059,0.233,0.351,0.550,0.778,
+0.414,0.608,0.371,0.509,0.376,0.444,0.044,0.050,0.048,0.053,
+0.454,0.056,0.257,0.393,0.438,0.580,0.362,0.556,0.599,0.409,
+0.338,0.647,0.497,0.435,0.336,0.492,0.555,0.059,0.315,0.534,
+0.909,0.769,0.712,1.351,1.243,1.041,0.579,1.015,1.057,1.210,
+0.639,0.710,0.632,0.115,0.366,0.508,0.660,0.888,0.489,0.842,
+1.257,1.376,0.755,0.841,1.543,1.918,1.141,1.006,0.863,0.201,
+0.877,0.707,0.506,1.083,0.626,0.707,1.085,2.869,0.678,0.772,
+0.145,0.284,0.111,0.143,0.657,0.145,0.501,0.647,0.529,0.875,
+0.534,0.776,0.709,0.649,0.355,0.616,1.027,1.334,0.570,0.709,
+0.537,0.070,0.376,0.549,0.572,0.485,0.542,1.065,1.257,1.365,
+0.526,0.838,1.595,2.235,1.084,1.076,0.757,0.183,0.436,0.511,
+0.599,1.180,1.148,0.849,1.646,2.585,0.824,0.931,2.918,3.988,
+1.913,1.855,1.309,0.451,0.949,1.024,0.721,1.965,0.770,0.794,
+0.683,1.615,0.629,0.763,0.166,0.465,0.171,0.181,0.992,0.302,
+0.700,0.837,0.501,1.532,0.744,1.003,0.565,0.672,0.297,0.510,
+1.053,1.973,0.702,0.793,0.660,0.118,0.464,0.777,0.524,0.698,
+0.544,0.995,0.663,0.640,0.261,0.492,1.025,1.322,0.981,1.267,
+0.714,0.168,0.419,0.426,0.492,0.714,0.376,0.569,0.069,0.131,
+0.049,0.093,0.161,0.377,0.186,0.338,0.106,0.096,0.115,0.099,
+0.057,0.228,0.082,0.091,0.554,0.957,0.526,0.580,0.111,0.223,
+0.132,0.157,0.796,0.214,0.595,0.675,0.386,1.182,0.603,0.590,
+0.467,0.403,0.300,0.457,0.933,1.410,0.853,0.907,0.684,0.112,
+0.638,0.673,0.421,0.596,0.551,0.770,0.525,0.392,0.224,0.402,
+0.476,0.501,0.309,0.472,0.618,0.073,0.211,0.277,0.537,0.550,
+0.285,0.557,0.841,1.100,0.478,0.745,1.149,1.679,1.005,1.991,
+0.793,0.202,0.516,0.639,0.665,1.883,0.667,0.855,0.464,0.856,
+0.539,0.585,0.082,0.153,0.092,0.108,0.640,0.122,0.549,0.764,
+0.376,0.968,0.582,0.665,0.588,0.443,0.333,0.477,0.673,0.815,
+0.511,0.622,0.616,0.082,0.466,0.655,0.653,0.831,0.751,1.160,
+0.782,0.804,0.383,0.898,0.647,0.738,0.387,0.532,0.443,0.064,
+0.230,0.457,0.399,0.456,0.242,0.507,1.024,1.254,0.527,0.672,
+1.195,1.442,0.781,0.691,0.813,0.176,0.648,0.698,0.411,0.873,
+0.446,0.615,0.595,1.097,0.718,0.745,0.107,0.192,0.132,0.169,
+0.611,0.136,0.506,0.691,0.355,0.951,0.529,0.732,0.526,0.475,
+0.297,0.667,0.648,0.852,0.459,0.632,0.510,0.084,0.405,0.642,
+0.501,0.567,0.526,1.076,0.054,0.079,0.032,0.079,0.084,0.154,
+0.057,0.071,0.050,0.016,0.038,0.048,0.035,0.067,0.044,0.057,
+0.076,0.163,0.055,0.054,0.168,0.531,0.160,0.125,0.096,0.068,
+0.127,0.108,0.038,0.135,0.060,0.070,0.047,0.132,0.067,0.062,
+0.022,0.079,0.048,0.026,0.089,0.055,0.096,0.098,0.042,0.158,
+0.081,0.105,0.042,0.054,0.030,0.055,0.102,0.173,0.087,0.098,
+0.063,0.023,0.067,0.090,0.049,0.070,0.060,0.110,0.536,0.588,
+0.275,0.347,0.742,1.076,0.645,0.604,0.609,0.161,0.405,0.476,
+0.305,0.583,0.369,0.493,0.067,0.133,0.045,0.048,0.111,0.240,
+0.129,0.077,0.104,0.081,0.097,0.084,0.047,0.154,0.070,0.064,
+0.586,1.172,0.697,0.587,0.144,0.297,0.189,0.124,1.065,0.282,
+0.510,0.749,0.381,1.329,0.766,0.643,0.434,0.440,0.303,0.357,
+0.882,1.301,0.814,0.687,0.791,0.166,0.645,0.743,0.435,0.701,
+0.634,0.705,0.467,0.371,0.241,0.407,0.495,0.475,0.311,0.360,
+0.435,0.063,0.246,0.343,0.344,0.417,0.247,0.501,0.822,0.999,
+0.447,0.535,1.130,1.332,0.822,0.650,0.869,0.202,0.623,0.708,
+0.514,1.153,0.666,0.764,0.686,1.153,1.556,0.782,0.121,0.217,
+0.346,0.131,0.974,0.185,0.868,1.012,0.510,1.259,0.901,0.886,
+0.531,0.492,0.518,0.546,0.747,0.935,1.223,0.708,0.800,0.115,
+0.720,0.887,0.691,1.005,0.835,1.131,1.113,0.719,0.391,0.972,
+0.652,0.569,0.289,0.507,0.450,0.056,0.195,0.371,0.633,0.548,
+0.295,0.755,0.791,0.667,0.279,0.439,0.761,0.838,0.324,0.418,
+0.420,0.060,0.231,0.324,0.301,0.433,0.228,0.479,0.567,0.943,
+0.318,0.565,0.055,0.079,0.039,0.080,0.349,0.051,0.231,0.352,
+0.322,0.469,0.266,0.527,0.683,0.469,0.278,0.648,0.506,0.491,
+0.280,0.526,0.438,0.046,0.241,0.533,0.641,0.542,0.425,1.364,
+0.946,0.730,0.365,0.809,0.773,0.887,0.386,0.545,0.460,0.071,
+0.233,0.414,0.443,0.577,0.280,0.658,0.939,1.133,0.394,0.548,
+1.078,2.142,0.578,0.716,0.685,0.131,0.450,0.622,0.398,0.766,
+0.383,0.864,0.593,0.847,0.337,0.494,0.060,0.141,0.052,0.076,
+0.612,0.107,0.356,0.523,0.421,0.875,0.414,0.762,0.497,0.447,
+0.258,0.511,0.631,0.840,0.386,0.646,0.524,0.069,0.332,0.691,
+0.582,0.776,0.455,1.531,1.183,1.920,0.370,0.571,0.873,0.938,
+0.543,0.707,0.711,0.229,0.388,0.602,0.464,0.687,0.456,0.751,
+0.109,0.195,0.034,0.061,0.080,0.157,0.071,0.080,0.065,0.041,
+0.062,0.071,0.051,0.141,0.056,0.096,0.659,1.024,0.525,0.611,
+0.083,0.135,0.095,0.097,0.862,0.165,0.557,0.822,0.440,0.969,
+0.648,0.790,0.567,0.553,0.323,0.485,0.845,1.001,0.709,0.856,
+0.790,0.111,0.632,1.021,0.582,0.835,0.627,1.051,1.025,0.656,
+0.369,0.741,0.637,0.592,0.338,0.496,0.682,0.076,0.295,0.505,
+0.796,0.652,0.539,1.237,1.190,1.028,0.409,0.671,1.061,1.324,
+0.666,0.887,0.767,0.108,0.505,0.793,0.593,0.933,0.704,1.202,
+0.924,1.109,1.965,1.070,0.092,0.126,0.323,0.134,0.971,0.133,
+0.822,1.124,0.775,1.369,1.192,1.382,1.265,0.807,0.781,1.391,
+1.130,1.121,1.146,1.454,1.204,0.124,0.925,1.859,1.572,1.267,
+1.227,2.907,2.097,1.554,1.245,2.126,1.942,1.314,1.054,1.125,
+1.371,0.181,1.195,1.341,1.914,1.571,1.054,1.606,2.024,1.547,
+1.014,1.382,1.780,1.376,1.063,0.974,1.195,0.163,0.994,1.033,
+0.848,1.034,0.796,0.960,1.137,1.146,0.883,1.056,0.128,0.141,
+0.121,0.166,0.775,0.112,0.507,0.637,0.659,0.912,0.647,0.856,
+1.647,0.824,0.793,1.474,1.292,1.060,0.931,1.191,1.011,0.105,
+0.706,0.930,1.207,0.867,0.899,1.443,2.002,1.372,0.828,1.191,
+2.072,1.380,0.868,0.908,0.907,0.133,0.716,0.801,0.771,0.946,
+0.613,0.853,1.560,1.375,0.816,1.038,1.154,0.976,0.820,0.721,
+1.012,0.169,0.829,0.940,0.570,0.928,0.593,0.685,0.747,0.986,
+0.598,0.638,0.113,0.152,0.121,0.104,0.749,0.113,0.544,0.603,
+0.425,0.802,0.504,0.528,0.717,0.534,0.407,0.572,0.932,0.897,
+0.627,0.719,0.991,0.093,0.661,0.723,0.956,0.703,0.658,0.976,
+1.648,1.184,0.572,0.728,2.642,0.999,0.755,0.781,1.271,0.210,
+0.524,0.675,1.898,1.464,0.633,0.972,0.122,0.158,0.073,0.094,
+0.152,0.136,0.104,0.093,0.104,0.040,0.098,0.107,0.153,0.249,
+0.107,0.119,0.632,0.663,0.834,0.574,0.102,0.085,0.106,0.090,
+0.554,0.100,0.433,0.551,0.438,0.605,0.547,0.504,0.512,0.376,
+0.367,0.467,0.797,0.692,0.580,0.683,0.586,0.086,0.506,0.650,
+0.528,0.610,0.632,0.839,1.464,0.687,0.554,1.035,0.833,0.498,
+0.415,0.510,0.686,0.082,0.445,0.567,0.991,0.777,0.545,1.111,
+1.133,0.931,0.645,0.838,0.899,0.869,0.706,0.690,0.752,0.103,
+0.639,0.745,0.699,0.942,0.647,0.828,0.578,0.636,0.484,0.583,
+0.061,0.065,0.056,0.072,0.501,0.085,0.378,0.588,0.406,0.660,
+0.467,0.618,0.912,0.574,0.468,0.939,0.551,0.481,0.428,0.688,
+0.785,0.075,0.655,0.915,1.058,0.921,0.968,1.554,2.625,2.009,
+1.290,1.981,2.311,2.386,1.386,1.463,1.107,0.177,0.802,1.115,
+1.164,1.278,0.898,1.580,2.381,2.399,1.602,1.711,2.213,2.355,
+2.208,2.219,1.645,0.304,1.743,1.919,0.839,1.421,1.107,1.335,
+0.957,1.489,1.029,0.975,0.147,0.255,0.204,0.196,0.627,0.092,
+0.630,0.643,0.400,0.842,0.576,0.718,1.001,0.705,0.592,0.847,
+1.122,1.368,0.927,1.040,1.397,0.169,0.660,0.811,0.736,0.764,
+0.775,1.272,2.301,2.512,1.103,1.374,3.873,3.470,1.621,1.377,
+1.236,0.253,0.890,1.065,0.757,1.210,0.789,1.104,1.904,2.521,
+1.369,1.254,1.899,1.570,1.833,1.389,1.700,0.425,1.678,1.778,
+0.622,1.499,0.997,1.030,1.146,2.855,1.270,1.079,0.264,0.733,
+0.393,0.258,1.087,0.297,0.977,1.084,0.499,1.676,0.875,0.881,
+0.755,0.873,0.525,0.631,1.339,2.256,1.296,1.122,0.882,0.150,
+0.803,0.961,0.542,0.763,0.670,1.015,1.227,1.196,0.693,0.844,
+1.851,2.183,1.804,1.208,1.150,0.249,0.882,0.940,0.752,1.144,
+0.948,1.173,0.126,0.296,0.145,0.139,0.215,0.465,0.432,0.216,
+0.183,0.131,0.290,0.242,0.096,0.329,0.205,0.180,0.955,1.741,
+1.279,1.086,0.204,0.381,0.354,0.220,1.152,0.292,1.348,1.310,
+0.524,1.607,1.363,1.055,0.600,0.561,0.507,0.608,1.239,1.773,
+1.514,1.319,1.036,0.175,1.276,1.328,0.550,0.849,1.132,1.190,
+0.898,0.673,0.486,0.786,0.745,0.692,0.531,0.560,0.498,0.065,
+0.363,0.481,0.521,0.651,0.461,0.825,1.177,1.596,0.914,0.981,
+1.192,1.815,1.439,1.276,0.897,0.173,0.979,1.035,0.603,1.309,
+0.807,1.056,0.592,0.951,0.692,0.753,0.082,0.154,0.097,0.100,
+0.512,0.082,0.568,0.715,0.434,0.950,0.671,0.781,0.664,0.554,
+0.508,0.678,0.608,0.786,0.563,0.732,0.662,0.081,0.777,1.010,
+0.759,0.949,1.257,1.442,1.368,1.166,0.686,0.921,1.030,0.825,
+0.694,0.595,0.557,0.089,0.424,0.510,0.607,0.803,1.018,0.778,
+1.790,2.297,0.899,0.961,1.262,1.463,1.175,0.890,1.177,0.252,
+1.097,1.115,0.689,1.831,0.792,0.827,0.918,1.754,1.553,0.972,
+0.147,0.260,0.416,0.253,0.572,0.106,0.516,0.602,0.361,0.918,
+0.573,0.607,0.935,1.169,0.688,0.864,0.885,1.156,1.377,1.086,
+0.715,0.100,0.552,0.780,0.654,0.686,0.753,1.258,0.125,0.151,
+0.111,0.087,0.317,0.228,0.258,0.098,0.084,0.026,0.097,0.085,
+0.086,0.209,0.491,0.133,0.158,0.278,0.115,0.100,0.202,0.334,
+0.227,0.125,0.161,0.090,0.196,0.159,0.112,0.633,0.135,0.114,
+0.096,0.247,0.365,0.133,0.030,0.083,0.172,0.048,0.122,0.045,
+0.137,0.123,0.057,0.199,0.127,0.095,0.115,0.148,0.126,0.109,
+0.225,0.386,0.529,0.276,0.125,0.031,0.149,0.188,0.098,0.147,
+0.147,0.182,0.881,0.906,0.514,0.469,0.850,1.199,0.973,0.594,
+0.770,0.236,0.777,0.764,0.442,1.008,0.896,0.821,0.106,0.234,
+0.099,0.083,0.110,0.247,0.202,0.092,0.160,0.109,0.198,0.139,
+0.079,0.342,0.160,0.117,0.584,1.183,0.989,0.550,0.121,0.253,
+0.374,0.139,0.684,0.169,0.591,0.576,0.295,0.843,0.623,0.487,
+0.428,0.485,0.451,0.390,0.726,1.227,1.273,1.075,0.636,0.162,
+0.889,0.804,0.360,0.725,0.742,0.747,0.705,0.521,0.336,0.617,
+0.493,0.487,0.304,0.311,0.482,0.069,0.291,0.379,0.412,0.558,
+0.406,0.772,1.119,1.294,0.687,0.710,1.032,1.531,0.985,0.751,
+0.977,0.212,0.974,1.010,0.648,1.637,0.759,1.081,0.809,1.004,
+0.716,0.591,0.098,0.172,0.137,0.090,0.648,0.097,0.504,0.588,
+0.373,0.855,0.529,0.608,0.747,0.662,0.537,0.530,0.652,0.835,
+0.594,0.612,0.715,0.098,0.752,0.849,0.740,1.013,0.813,1.039,
+1.525,0.887,0.644,1.055,0.780,0.559,0.771,0.467,0.545,0.065,
+0.299,0.464,0.745,0.664,0.517,0.979,0.933,0.762,0.382,0.541,
+0.604,0.462,0.415,0.404,0.543,0.077,0.393,0.513,0.489,0.825,
+0.350,0.557,0.742,0.706,0.513,0.639,0.075,0.077,0.091,0.107,
+0.351,0.042,0.240,0.419,0.324,0.446,0.309,0.535,0.982,0.736,
+0.589,1.055,0.722,0.661,0.606,0.764,0.593,0.059,0.394,0.631,
+0.763,0.630,0.669,1.533,1.271,0.979,1.098,0.891,1.340,1.055,
+3.690,0.905,0.659,0.104,0.553,0.634,0.582,1.035,1.158,0.945,
+1.123,1.249,0.558,0.729,0.981,1.162,0.926,0.651,0.907,0.264,
+0.752,0.921,0.787,3.160,0.560,0.768,0.794,0.982,1.264,0.809,
+0.100,0.138,0.429,0.152,0.636,0.095,0.496,0.634,0.428,0.878,
+0.571,0.711,0.739,0.635,0.546,0.678,0.996,1.064,1.443,1.046,
+0.742,0.085,0.547,0.810,0.613,0.759,0.681,1.110,0.906,0.644,
+0.441,0.540,0.963,0.897,0.804,0.733,0.957,0.187,0.639,0.749,
+0.628,0.836,0.730,0.979,0.092,0.116,0.055,0.087,0.091,0.138,
+0.106,0.087,0.104,0.039,0.140,0.129,0.084,0.225,0.107,0.127,
+0.743,0.932,0.663,0.663,0.095,0.132,0.136,0.119,0.760,0.137,
+0.576,0.802,0.466,0.919,0.696,0.980,0.605,0.595,0.459,0.617,
+0.953,1.088,1.004,1.067,0.962,0.127,0.821,1.125,0.644,0.803,
+0.898,1.280,1.191,0.703,0.474,0.881,0.764,0.580,0.480,0.495,
+0.858,0.076,0.376,0.561,0.776,0.705,0.598,1.312,0.908,0.791,
+0.464,0.650,0.721,0.769,0.574,0.616,0.740,0.093,0.645,0.882,
+0.646,1.078,0.591,1.021,0.988,1.014,0.674,0.934,0.129,0.118,
+0.091,0.121,0.884,0.096,0.577,0.975,0.784,1.032,0.799,1.183,
+1.466,1.135,0.768,1.499,1.356,1.393,0.955,1.270,1.388,0.120,
+1.166,1.682,1.788,1.584,1.570,2.312,0.119,0.111,0.101,0.102,
+0.188,0.154,0.105,0.094,0.092,0.025,0.316,0.127,0.081,0.100,
+0.103,0.083,0.126,0.152,0.087,0.090,0.188,0.206,0.174,0.154,
+0.102,0.043,0.123,0.114,0.058,0.116,0.090,0.086,0.064,0.087,
+0.077,0.080,0.017,0.029,0.029,0.020,0.047,0.014,0.058,0.055,
+0.033,0.066,0.063,0.058,0.070,0.048,0.044,0.071,0.101,0.109,
+0.087,0.087,0.129,0.021,0.070,0.069,0.062,0.069,0.074,0.110,
+0.175,0.208,0.112,0.111,0.281,0.309,0.214,0.141,0.129,0.043,
+0.164,0.171,0.065,0.142,0.156,0.097,0.215,0.360,0.173,0.149,
+0.268,0.390,0.295,0.199,0.255,0.152,0.271,0.287,0.084,0.309,
+0.131,0.143,0.084,0.230,0.129,0.091,0.044,0.119,0.104,0.033,
+0.132,0.073,0.141,0.118,0.045,0.177,0.114,0.083,0.063,0.074,
+0.050,0.053,0.148,0.227,0.142,0.128,0.102,0.030,0.123,0.116,
+0.063,0.083,0.092,0.110,0.187,0.209,0.056,0.060,1.086,0.228,
+0.174,0.161,0.176,0.035,0.087,0.082,0.088,0.105,0.083,0.085,
+0.023,0.052,0.026,0.016,0.069,0.073,0.080,0.035,0.028,0.039,
+0.048,0.040,0.012,0.052,0.030,0.020,0.060,0.105,0.096,0.065,
+0.036,0.044,0.052,0.026,0.083,0.046,0.124,0.095,0.036,0.099,
+0.105,0.076,0.038,0.036,0.036,0.043,0.119,0.122,0.116,0.101,
+0.076,0.026,0.101,0.088,0.045,0.083,0.088,0.088,0.098,0.075,
+0.046,0.074,0.156,0.068,0.045,0.056,0.064,0.012,0.050,0.055,
+0.057,0.063,0.051,0.086,0.122,0.156,0.103,0.110,0.167,0.198,
+0.155,0.145,0.099,0.042,0.141,0.136,0.056,0.133,0.097,0.111,
+0.058,0.087,0.080,0.091,0.016,0.026,0.021,0.014,0.106,0.038,
+0.073,0.118,0.036,0.115,0.098,0.084,0.072,0.063,0.057,0.090,
+0.062,0.078,0.062,0.081,0.076,0.017,0.149,0.158,0.073,0.101,
+0.136,0.165,0.142,0.161,0.102,0.111,0.204,0.340,0.178,0.196,
+0.101,0.032,0.087,0.100,0.064,0.098,0.076,0.082,0.186,0.269,
+0.178,0.171,0.322,0.475,0.523,0.706,0.176,0.129,0.264,0.414,
+0.057,0.157,0.175,0.170,0.069,0.164,0.119,0.075,0.030,0.096,
+0.086,0.044,0.080,0.032,0.105,0.065,0.032,0.096,0.082,0.063,
+0.065,0.054,0.041,0.050,0.122,0.197,0.132,0.108,0.683,0.070,
+0.110,0.107,0.084,0.095,0.076,0.091,0.218,0.383,0.190,0.140,
+0.443,0.900,0.429,0.245,0.183,0.096,0.195,0.166,0.067,0.181,
+0.147,0.109,0.341,0.732,0.358,0.197,0.521,0.891,0.743,0.484,
+0.412,0.532,0.676,0.530,0.104,0.501,0.261,0.218,0.150,0.751,
+0.329,0.163,0.124,0.669,0.391,0.114,0.175,0.170,0.261,0.191,
+0.057,0.343,0.210,0.127,0.081,0.169,0.078,0.065,0.227,0.786,
+0.336,0.197,0.150,0.058,0.176,0.187,0.051,0.111,0.105,0.115,
+0.123,0.153,0.080,0.074,0.309,0.486,0.440,0.188,0.172,0.073,
+0.167,0.136,0.054,0.144,0.124,0.109,0.049,0.140,0.091,0.042,
+0.154,0.507,0.907,0.143,0.105,0.239,0.209,0.146,0.019,0.116,
+0.085,0.043,0.135,0.345,0.248,0.147,0.115,0.316,0.310,0.083,
+0.190,0.155,0.337,0.212,0.054,0.262,0.283,0.147,0.059,0.058,
+0.072,0.052,0.237,0.428,0.442,0.223,0.222,0.075,0.300,0.200,
+0.067,0.124,0.185,0.140,0.072,0.072,0.058,0.079,0.085,0.103,
+0.073,0.070,0.059,0.013,0.055,0.050,0.039,0.056,0.048,0.065,
+0.123,0.235,0.139,0.127,0.237,0.490,0.391,0.254,0.168,0.092,
+0.209,0.195,0.057,0.195,0.131,0.117,0.062,0.147,0.109,0.080,
+0.027,0.060,0.044,0.024,0.071,0.029,0.123,0.101,0.032,0.102,
+0.109,0.085,0.048,0.055,0.069,0.050,0.070,0.127,0.112,0.091,
+0.084,0.020,0.132,0.110,0.055,0.097,0.148,0.147,0.074,0.086,
+0.075,0.058,0.076,0.100,0.124,0.062,0.047,0.016,0.066,0.047,
+0.048,0.094,0.312,0.064,0.129,0.263,0.112,0.090,0.201,0.325,
+0.289,0.174,0.167,0.128,0.225,0.181,0.079,0.457,0.147,0.085,
+0.072,0.179,0.310,0.096,0.030,0.085,0.191,0.052,0.095,0.041,
+0.123,0.103,0.030,0.125,0.091,0.060,0.045,0.055,0.072,0.057,
+0.084,0.121,0.377,0.117,0.079,0.020,0.090,0.090,0.043,0.069,
+0.080,0.087,0.016,0.035,0.040,0.016,0.044,0.098,0.158,0.036,
+0.020,0.026,0.058,0.023,0.022,0.073,0.344,0.037,0.043,0.167,
+0.065,0.029,0.131,0.366,0.277,0.089,0.070,0.228,0.188,0.108,
+0.045,0.391,0.075,0.040,0.026,0.126,0.152,0.034,0.043,0.195,
+0.230,0.049,0.054,0.095,0.139,0.072,0.017,0.104,0.104,0.032,
+9.61e-3,0.021,0.028,0.012,0.041,0.100,0.185,0.070,0.026,0.024,
+0.072,0.050,0.013,0.032,0.039,0.028,0.074,0.135,0.079,0.052,
+0.131,0.270,0.248,0.104,0.119,0.073,0.213,0.194,0.050,0.172,
+0.249,0.126,0.028,0.126,0.052,0.020,0.073,0.256,0.221,0.062,
+0.082,0.167,0.215,0.103,0.020,0.120,0.075,0.031,0.097,0.348,
+0.405,0.123,0.071,0.262,0.446,0.082,0.169,0.165,0.303,0.215,
+0.047,0.234,0.228,0.110,0.046,0.064,0.082,0.091,0.132,0.357,
+0.494,0.476,0.121,0.072,0.278,0.205,0.047,0.117,0.166,0.127,
+0.066,0.074,0.045,0.056,0.061,0.076,0.048,0.040,0.052,0.018,
+0.056,0.055,0.037,0.067,0.102,0.072,0.126,0.254,0.134,0.106,
+0.210,0.459,0.315,0.182,0.200,0.150,0.282,0.254,0.076,0.306,
+0.175,0.127,0.091,0.226,0.172,0.098,0.028,0.103,0.104,0.038,
+0.132,0.071,0.194,0.193,0.048,0.193,0.143,0.106,0.057,0.056,
+0.055,0.058,0.069,0.133,0.141,0.107,0.086,0.031,0.162,0.135,
+0.067,0.121,0.128,0.108,0.083,0.065,0.072,0.065,0.078,0.072,
+0.274,0.074,0.049,0.011,0.036,0.050,0.047,0.063,0.078,0.069,
+0.071,0.085,0.046,0.048,0.092,0.093,0.075,0.072,0.053,0.022,
+0.061,0.066,0.048,0.200,0.044,0.052,0.045,0.073,0.075,0.059,
+8.94e-3,0.012,0.024,0.016,0.037,8.44e-3,0.036,0.045,0.020,0.050,
+0.035,0.044,0.056,0.047,0.046,0.074,0.060,0.063,0.086,0.090,
+0.069,9.78e-3,0.042,0.067,0.059,0.057,0.057,0.128,0.141,0.171,
+0.584,0.135,0.265,0.299,2.922,0.325,0.105,0.040,0.184,0.120,
+0.089,0.303,0.505,0.144,0.178,0.329,0.153,0.127,0.269,0.472,
+0.389,0.205,0.232,0.167,0.288,0.258,0.237,1.654,0.195,0.183,
+0.107,0.261,0.384,0.137,0.031,0.094,0.212,0.060,0.114,0.041,
+0.143,0.139,0.053,0.224,0.135,0.106,0.077,0.085,0.121,0.077,
+0.163,0.253,0.474,0.280,0.107,0.027,0.150,0.155,0.069,0.165,
+0.131,0.155,0.073,0.080,0.055,0.048,0.125,0.168,0.212,0.102,
+0.097,0.038,0.111,0.112,0.048,0.109,0.107,0.099,0.015,0.033,
+0.016,0.015,0.034,0.090,0.064,0.031,0.025,0.031,0.051,0.038,
+0.015,0.072,0.031,0.019,0.071,0.176,0.153,0.082,0.031,0.073,
+0.100,0.040,0.131,0.072,0.184,0.158,0.050,0.196,0.167,0.130,
+0.053,0.064,0.059,0.058,0.127,0.195,0.221,0.187,0.139,0.050,
+0.186,0.173,0.064,0.116,0.146,0.142,0.080,0.071,0.052,0.063,
+0.071,0.075,0.106,0.057,0.066,0.012,0.048,0.055,0.046,0.061,
+0.067,0.100,0.091,0.115,0.058,0.068,0.105,0.152,0.117,0.100,
+0.079,0.028,0.098,0.106,0.053,0.155,0.075,0.094,0.091,0.126,
+0.097,0.084,0.032,0.030,0.029,0.022,0.095,0.027,0.111,0.137,
+0.059,0.133,0.122,0.119,0.085,0.081,0.061,0.098,0.130,0.147,
+0.128,0.136,0.151,0.027,0.154,0.185,0.117,0.153,0.167,0.180,
+1.446,1.035,0.812,1.275,1.117,0.993,0.943,0.904,0.766,0.110,
+0.580,0.731,0.954,0.945,0.735,0.965,1.382,1.239,0.814,1.072,
+1.355,1.188,2.061,1.539,0.889,0.186,0.796,0.858,0.576,0.941,
+0.664,0.796,0.831,0.966,0.725,1.917,0.106,0.125,0.129,0.293,
+0.510,0.076,0.463,0.576,0.374,0.668,0.508,0.664,0.852,0.453,
+0.348,1.051,0.773,0.729,0.487,0.780,0.567,0.066,0.371,0.512,
+0.593,0.401,0.505,1.079,1.522,1.426,0.817,0.998,1.568,1.563,
+1.209,1.084,0.873,0.196,0.666,0.865,0.704,1.019,0.616,0.846,
+1.662,2.377,1.018,1.180,1.672,1.377,1.650,1.216,2.129,0.711,
+1.705,2.540,0.749,1.776,0.794,0.865,0.814,1.514,0.892,1.033,
+0.180,0.296,0.264,0.252,1.034,0.280,1.139,1.360,0.454,1.200,
+0.926,0.837,0.553,0.530,0.313,0.556,1.036,1.213,0.824,0.993,
+0.670,0.116,0.623,0.901,0.545,0.592,0.608,1.002,1.113,0.841,
+0.444,0.591,1.695,1.557,1.294,1.197,1.324,0.265,0.843,0.973,
+0.822,1.188,0.834,1.059,0.149,0.223,0.105,0.138,0.259,0.332,
+0.296,0.242,0.222,0.097,0.278,0.281,0.150,0.497,0.204,0.226,
+0.728,1.074,1.025,0.997,0.151,0.191,0.294,0.253,0.909,0.195,
+0.838,0.885,0.430,1.115,0.916,0.838,0.460,0.401,0.328,0.451,
+0.937,1.080,1.189,1.141,0.713,0.133,0.738,0.845,0.523,0.712,
+0.765,0.953,0.966,0.472,0.312,0.628,0.545,0.481,0.391,0.508,
+0.468,0.073,0.340,0.522,0.581,0.636,0.397,0.779,0.900,0.970,
+0.550,0.756,0.982,1.110,0.891,0.904,0.757,0.149,0.764,0.944,
+0.579,1.305,0.632,0.866,0.556,0.807,0.580,0.663,0.102,0.126,
+0.121,0.143,0.599,0.107,0.599,0.796,0.431,1.016,0.736,1.200,
+0.619,0.462,0.386,0.957,0.558,0.603,0.557,0.786,0.684,0.092,
+0.635,1.011,0.887,1.129,1.009,1.676,0.125,0.122,0.081,0.106,
+0.139,0.173,0.219,0.169,0.074,0.025,0.061,0.077,0.105,0.100,
+0.071,0.099,0.223,0.271,0.274,0.267,0.401,0.444,1.354,0.752,
+0.207,0.137,0.248,0.218,0.087,0.235,0.173,0.156,0.085,0.164,
+0.108,0.123,0.026,0.057,0.065,0.049,0.089,0.038,0.129,0.111,
+0.057,0.153,0.113,0.119,0.067,0.052,0.043,0.071,0.097,0.134,
+0.110,0.106,0.091,0.019,0.063,0.081,0.055,0.069,0.081,0.130,
+0.134,0.217,0.092,0.097,0.210,0.313,0.280,0.225,0.141,0.085,
+0.112,0.114,0.061,0.153,0.091,0.085,0.262,0.501,0.227,0.165,
+0.382,0.511,0.585,0.297,0.698,0.582,0.525,0.433,0.136,0.561,
+0.178,0.142,0.110,0.350,0.180,0.121,0.068,0.251,0.191,0.078,
+0.247,0.205,0.326,0.265,0.079,0.321,0.235,0.151,0.058,0.077,
+0.045,0.057,0.139,0.268,0.186,0.138,0.100,0.043,0.128,0.172,
+0.052,0.093,0.100,0.113,0.096,0.107,0.057,0.062,0.214,0.337,
+0.316,0.205,0.174,0.067,0.160,0.126,0.079,0.150,0.122,0.105,
+0.034,0.086,0.054,0.035,0.103,0.271,0.276,0.097,0.090,0.156,
+0.195,0.128,0.023,0.104,0.081,0.043,0.109,0.253,0.218,0.175,
+0.075,0.185,0.299,0.081,0.242,0.174,0.370,0.258,0.071,0.323,
+0.306,0.194,0.058,0.065,0.054,0.057,0.168,0.295,0.309,0.192,
+0.140,0.070,0.230,0.185,0.059,0.122,0.156,0.144,0.080,0.079,
+0.051,0.070,0.078,0.088,0.070,0.073,0.061,0.014,0.051,0.052,
+0.056,0.078,0.059,0.095,0.150,0.225,0.138,0.140,0.243,0.399,
+0.313,0.261,0.186,0.089,0.197,0.214,0.096,0.302,0.170,0.162,
+0.066,0.146,0.105,0.094,0.021,0.056,0.048,0.030,0.111,0.044,
+0.147,0.159,0.057,0.178,0.142,0.161,0.058,0.059,0.047,0.078,
+0.066,0.108,0.083,0.093,0.082,0.018,0.108,0.125,0.079,0.128,
+0.140,0.174,0.734,0.858,0.511,0.735,0.932,1.003,0.695,0.656,
+0.539,0.085,0.417,0.454,0.390,0.419,0.363,0.455,1.375,1.910,
+0.757,0.880,1.811,1.940,1.747,1.143,1.330,0.340,1.564,1.364,
+0.457,1.177,0.620,0.708,0.661,1.265,0.719,0.713,0.164,0.282,
+0.244,0.229,0.656,0.157,0.957,0.870,0.306,0.936,0.612,0.625,
+0.465,0.423,0.259,0.423,0.685,0.887,0.635,0.660,0.549,0.090,
+0.630,0.742,0.391,0.465,0.536,0.916,0.094,0.132,0.061,0.072,
+0.187,0.317,0.209,0.145,0.082,0.045,0.107,0.090,0.043,0.094,
+0.086,0.069,0.155,0.304,0.127,0.107,0.344,0.497,0.437,0.225,
+0.243,0.210,0.535,0.322,0.059,0.241,0.109,0.090,0.106,0.254,
+0.143,0.092,0.063,0.185,0.168,0.063,0.174,0.112,0.307,0.206,
+0.045,0.200,0.143,0.100,0.060,0.069,0.039,0.052,0.141,0.269,
+0.177,0.170,0.090,0.039,0.141,0.134,0.054,0.082,0.086,0.117,
+1.063,0.889,0.517,0.425,1.271,1.764,1.400,1.041,0.959,0.291,
+1.500,0.924,0.396,0.821,0.866,0.686,0.144,0.307,0.142,0.103,
+0.234,0.556,0.432,0.201,0.263,0.218,0.666,0.260,0.075,0.296,
+0.193,0.133,0.806,1.271,0.917,0.619,0.190,0.302,0.334,0.177,
+0.657,0.195,0.261,0.386,0.268,0.730,0.762,0.581,0.444,0.381,
+0.357,0.282,0.871,1.265,1.204,0.836,0.805,0.227,1.348,1.027,
+0.356,0.652,0.928,0.883,0.660,0.460,0.316,0.482,0.519,0.529,
+0.339,0.334,0.394,0.076,0.452,0.386,0.283,0.362,0.323,0.429,
+1.054,1.449,0.740,0.645,1.395,2.154,1.395,0.996,1.205,0.321,
+1.685,1.334,0.493,1.357,0.916,0.754,0.672,1.079,0.828,0.651,
+0.122,0.280,0.197,0.147,0.796,0.169,1.009,0.892,0.370,1.024,
+0.803,0.780,0.473,0.406,0.314,0.410,0.620,0.847,0.582,0.582,
+0.719,0.121,1.015,0.934,0.594,0.792,0.812,0.866,0.927,0.610,
+0.369,0.679,0.575,0.486,0.374,0.403,0.479,0.063,0.263,0.358,
+0.508,0.451,0.340,0.662,0.904,0.736,0.371,0.470,0.790,0.608,
+0.584,0.476,0.478,0.077,0.370,0.436,0.296,0.477,0.263,0.407,
+0.477,0.607,0.321,0.449,0.067,0.095,0.067,0.095,0.358,0.056,
+0.318,0.419,0.273,0.445,0.300,0.513,0.557,0.405,0.236,0.495,
+0.499,0.547,0.333,0.521,0.388,0.054,0.265,0.441,0.424,0.433,
+0.390,0.999,1.227,1.175,0.632,0.850,1.401,1.364,1.351,0.885,
+0.765,0.133,0.658,0.705,0.475,0.728,0.462,0.696,1.530,1.875,
+0.844,0.904,1.818,2.071,1.821,1.332,1.443,0.380,1.753,1.669,
+0.560,1.529,0.673,0.801,0.723,1.477,0.685,0.700,0.144,0.324,
+0.235,0.208,0.907,0.224,1.049,1.251,0.430,1.184,0.794,0.865,
+0.735,0.702,0.329,0.500,1.098,1.423,0.983,1.105,0.797,0.236,
+0.772,0.994,0.549,0.873,0.604,1.124,1.361,1.778,0.528,0.753,
+1.502,1.825,1.370,1.435,1.078,0.222,1.021,1.047,0.704,0.931,
+0.840,1.038,0.208,0.212,0.105,0.119,0.214,0.429,0.373,0.237,
+0.172,0.088,0.270,0.255,0.092,0.264,0.159,0.159,0.976,1.793,
+0.883,0.907,0.211,0.290,0.267,0.229,2.531,0.432,1.423,1.495,
+0.680,1.654,1.269,1.195,0.657,0.655,0.505,0.526,1.236,1.526,
+1.498,1.351,1.091,0.189,1.350,1.559,0.561,0.893,1.089,1.315,
+0.885,0.601,0.338,0.561,0.597,0.585,0.413,0.430,0.468,0.073,
+0.382,0.463,0.498,0.440,0.392,0.745,1.136,0.973,0.528,0.603,
+1.087,1.464,1.040,0.840,0.710,0.128,0.820,1.066,0.542,0.867,
+0.652,0.795,0.808,1.130,0.692,0.806,0.144,0.185,0.128,0.153,
+1.005,0.167,1.079,1.230,0.551,1.069,1.041,1.117,0.850,0.590,
+0.474,0.814,0.973,1.203,1.075,1.025,0.864,0.112,1.099,1.320,
+0.907,1.021,1.140,1.352,1.202,0.873,0.657,1.367,0.861,0.636,
+0.539,0.760,0.608,0.076,0.332,0.585,0.917,0.819,0.491,0.971,
+0.952,0.683,0.478,0.624,0.754,0.578,0.715,0.621,0.536,0.075,
+0.413,0.483,0.469,0.595,0.403,0.594,0.534,0.556,0.596,0.757,
+0.064,0.076,0.090,0.124,0.349,0.040,0.225,0.312,0.325,0.455,
+0.363,0.653,0.734,0.382,0.401,0.880,0.638,0.536,0.433,0.738,
+0.425,0.041,0.265,0.501,0.765,0.525,0.549,3.294,1.064,0.789,
+0.500,0.815,0.844,0.692,0.478,1.070,0.439,0.063,0.281,0.428,
+0.414,0.471,0.308,0.539,0.809,0.689,0.477,0.525,0.621,0.540,
+0.436,0.458,0.550,0.111,0.390,0.583,0.327,0.471,0.295,0.384,
+0.393,0.469,0.288,0.393,0.055,0.079,0.045,0.064,0.611,0.056,
+0.248,0.394,0.294,0.395,0.290,0.371,0.363,0.255,0.192,0.341,
+0.441,0.507,0.276,0.429,0.365,0.036,0.264,0.642,0.348,0.302,
+0.315,0.732,0.947,0.544,0.344,0.550,0.995,0.872,0.610,1.078,
+0.628,0.106,0.333,0.509,0.655,0.608,0.412,0.737,0.083,0.074,
+0.045,0.071,0.092,0.105,0.082,0.094,0.072,0.024,0.058,0.076,
+0.080,0.144,0.058,0.099,0.413,0.497,0.422,0.563,0.061,0.064,
+0.067,0.091,0.411,0.068,0.282,0.375,0.295,0.543,0.390,0.466,
+0.414,0.323,0.273,0.568,0.611,0.526,0.520,0.747,0.491,0.098,
+0.397,0.561,0.443,0.500,0.502,0.909,1.054,0.427,0.332,0.736,
+0.506,0.407,0.336,0.564,0.484,0.063,0.363,0.429,0.660,0.538,
+0.358,0.801,0.756,0.550,0.393,0.583,0.591,0.582,0.412,0.517,
+0.502,0.069,0.387,0.510,0.495,0.721,0.432,0.679,0.407,0.460,
+0.334,0.504,0.044,0.047,0.038,0.070,0.373,0.035,0.263,0.369,
+0.336,0.478,0.379,0.558,0.751,0.466,0.451,1.050,0.549,0.456,
+0.407,0.898,0.721,0.069,0.428,0.820,0.949,0.932,0.900,1.863,
+1.708,1.262,0.848,1.453,1.367,1.320,1.342,1.656,0.819,0.133,
+0.539,0.918,1.183,1.033,0.675,1.199,1.934,1.591,1.369,1.468,
+1.950,1.778,4.078,2.636,1.253,0.280,1.226,1.348,0.801,1.291,
+0.978,1.044,0.716,1.017,0.714,0.835,0.105,0.190,0.207,0.199,
+0.605,0.130,0.650,0.805,0.430,0.926,0.752,0.913,0.694,0.470,
+0.396,0.640,0.843,1.003,0.711,0.914,0.559,0.083,0.433,0.914,
+0.541,0.580,0.686,1.353,1.748,1.712,0.893,1.656,2.122,2.395,
+1.725,4.808,1.006,0.249,0.703,1.042,0.706,1.128,0.656,1.064,
+2.175,2.329,1.223,1.337,2.326,2.137,1.968,1.725,2.132,0.763,
+1.535,1.930,0.844,1.994,0.960,1.048,0.857,1.596,0.902,1.039,
+0.181,0.424,0.247,0.281,1.133,0.343,0.990,1.382,0.588,1.746,
+1.059,1.205,0.595,0.574,0.442,0.616,0.998,1.533,0.900,1.184,
+0.788,0.159,0.768,3.027,0.520,0.738,0.792,1.308,1.196,0.899,
+0.547,0.932,1.828,2.024,1.722,3.144,1.214,0.257,0.853,0.942,
+0.949,1.064,0.815,1.187,0.125,0.227,0.115,0.128,0.272,0.509,
+0.426,0.343,0.182,0.153,0.231,0.250,0.124,0.343,0.197,0.179,
+0.829,1.445,0.988,1.213,0.182,0.374,0.296,0.300,1.212,0.349,
+1.156,1.362,0.580,1.783,1.332,1.323,0.615,0.516,0.488,0.802,
+1.307,1.860,1.669,1.775,0.956,0.193,1.174,1.489,0.640,0.934,
+1.257,1.707,0.921,0.630,0.448,0.798,0.689,0.678,0.555,0.983,
+0.750,0.088,0.557,0.609,0.591,0.583,0.519,0.925,1.294,1.383,
+0.900,1.065,1.406,1.976,1.469,1.418,1.156,0.257,1.111,1.357,
+0.809,1.794,1.287,1.360,0.589,1.054,0.785,0.873,0.082,0.169,
+0.113,0.135,0.697,0.129,0.809,1.017,0.473,1.083,0.975,1.150,
+0.676,0.556,0.474,0.741,0.757,0.960,0.643,0.984,0.726,0.094,
+0.776,1.167,0.825,1.066,1.233,1.767,1.140,0.979,0.737,0.978,
+0.926,0.999,1.998,1.544,0.612,0.091,0.394,0.563,0.558,0.586,
+0.478,0.602,1.644,2.148,0.717,0.887,1.365,1.576,1.289,1.051,
+1.111,0.243,1.190,1.197,0.584,1.251,0.774,0.829,0.732,1.405,
+1.384,0.902,0.141,0.313,0.719,0.276,0.759,0.306,0.701,0.838,
+0.612,3.093,0.885,0.853,0.592,0.579,0.444,0.547,0.733,1.006,
+1.422,0.823,0.596,0.101,0.577,0.847,0.583,0.768,0.759,1.249,
+0.083,0.097,0.086,0.083,0.117,0.163,0.152,0.146,0.052,0.018,
+0.059,0.064,0.049,0.084,0.105,0.069,0.128,0.237,0.084,0.085,
+0.197,0.334,0.254,0.151,0.150,0.117,0.233,0.204,0.059,0.225,
+0.103,0.093,0.056,0.168,0.120,0.068,0.026,0.087,0.098,0.033,
+0.113,0.064,0.149,0.142,0.060,0.277,0.160,0.121,0.053,0.065,
+0.044,0.053,0.096,0.192,0.171,0.125,0.064,0.023,0.101,0.140,
+0.056,0.085,0.093,0.123,1.016,0.896,0.557,0.504,1.257,1.690,
+1.302,0.926,0.821,0.235,1.087,0.837,0.491,0.920,0.896,0.804,
+0.126,0.246,0.107,0.085,0.192,0.399,0.285,0.135,0.165,0.143,
+0.284,0.182,0.081,0.315,0.188,0.135,0.927,1.529,1.019,0.782,
+0.194,0.392,0.336,0.181,1.129,0.315,0.648,0.918,0.476,1.462,
+1.052,0.861,0.578,0.539,0.432,0.435,1.063,1.656,1.298,1.048,
+0.983,0.223,1.324,1.193,0.532,0.893,1.118,1.098,0.755,0.595,
+0.375,0.537,0.654,0.690,0.398,0.442,0.473,0.079,0.545,0.511,
+0.394,0.475,0.450,0.667,1.346,1.634,0.805,0.862,1.404,1.937,
+1.163,0.885,1.327,0.295,1.768,1.539,0.699,1.766,1.279,1.232,
+0.775,1.287,0.742,0.754,0.113,0.251,0.161,0.127,0.947,0.174,
+0.909,1.087,0.606,1.415,0.988,0.973,0.701,0.541,0.461,0.596,
+0.718,0.984,0.687,0.739,0.881,0.123,1.092,1.203,0.788,1.001,
+1.127,1.483,1.787,0.837,0.710,1.003,0.686,0.572,0.583,0.618,
+0.629,0.071,0.303,0.502,0.795,0.605,0.393,0.863,1.049,0.859,
+0.377,0.524,0.780,0.639,0.489,0.503,0.593,0.083,0.403,0.564,
+0.427,0.561,0.334,0.546,0.642,0.779,0.458,0.632,0.071,0.093,
+0.115,0.116,0.405,0.067,0.294,0.476,0.406,0.767,0.385,0.648,
+0.825,0.562,0.364,0.747,0.593,0.608,0.524,0.682,0.540,0.054,
+0.355,0.702,0.740,0.606,0.636,1.894,1.073,0.835,0.693,0.817,
+0.849,0.901,1.102,0.818,0.483,0.076,0.374,0.592,0.496,0.598,
+0.429,0.676,1.060,1.190,0.507,0.652,1.033,1.226,0.782,0.740,
+0.860,0.186,0.773,1.036,0.493,1.167,0.488,0.713,0.620,0.962,
+0.525,0.631,0.070,0.135,0.098,0.099,0.632,0.116,0.532,0.743,
+0.422,0.979,0.625,0.923,0.575,0.654,0.328,0.507,0.686,0.907,
+0.612,0.774,0.600,0.085,0.536,0.947,0.612,0.622,0.598,1.223,
+1.282,1.048,0.675,0.738,1.472,1.400,0.969,1.190,0.956,0.186,
+0.852,0.979,0.794,0.975,0.902,1.286,0.113,0.142,0.069,0.090,
+0.148,0.215,0.143,0.129,0.101,0.042,0.124,0.135,0.088,0.200,
+0.105,0.146,1.030,1.593,0.848,1.026,0.145,0.222,0.158,0.176,
+1.451,0.277,1.071,1.501,0.812,1.867,1.310,1.532,0.856,0.798,
+0.540,0.767,1.263,1.534,1.201,1.452,1.246,0.182,1.251,1.750,
+0.854,1.085,1.168,2.064,1.569,0.773,0.511,0.953,0.852,0.716,
+0.485,0.651,0.744,0.089,0.497,0.712,0.957,0.788,0.678,1.571,
+1.569,1.193,0.687,0.955,1.437,1.521,0.879,1.006,1.245,0.150,
+0.994,1.357,0.915,1.381,0.900,1.510,1.114,1.299,0.791,1.110,
+0.108,0.139,0.089,0.137,1.189,0.143,1.039,1.451,0.989,1.585,
+1.331,1.742,1.586,0.918,0.718,1.598,1.230,1.140,0.922,1.492,
+1.310,0.116,1.355,2.059,1.578,1.369,1.433,2.333,1.737,1.273,
+0.998,2.068,1.326,0.957,0.689,1.007,1.221,0.134,0.697,1.039,
+2.141,1.667,0.883,1.805,1.598,0.992,0.607,0.919,1.071,0.852,
+0.508,0.623,0.796,0.084,0.495,0.589,0.725,0.785,0.538,0.824,
+1.123,0.854,0.651,1.045,0.097,0.093,0.066,0.157,0.521,0.058,
+0.297,0.458,0.561,0.765,0.493,0.785,1.675,0.775,0.965,1.788,
+1.204,0.941,0.767,1.262,0.744,0.072,0.465,0.778,1.213,0.867,
+0.832,1.728,1.692,0.952,0.659,1.069,1.097,0.824,0.530,0.706,
+0.667,0.083,0.376,0.559,0.647,0.690,0.379,0.782,1.097,0.831,
+0.464,0.669,0.747,0.626,0.436,0.488,0.565,0.072,0.382,0.502,
+0.427,0.494,0.333,0.482,0.647,0.669,0.436,0.594,0.067,0.090,
+0.063,0.078,0.503,0.068,0.294,0.390,0.352,0.476,0.309,0.433,
+0.769,0.504,0.417,0.687,0.771,0.725,0.538,0.689,0.580,0.049,
+0.351,0.504,0.622,0.518,0.458,0.942,1.131,0.587,0.438,0.708,
+1.071,0.649,0.513,0.666,0.748,0.098,0.332,0.548,0.808,0.700,
+0.505,1.015,0.083,0.079,0.047,0.077,0.081,0.094,0.054,0.066,
+0.065,0.014,0.050,0.066,0.085,0.135,0.065,0.109,0.538,0.493,
+0.608,0.576,0.060,0.054,0.059,0.062,0.365,0.066,0.239,0.313,
+0.331,0.452,0.371,0.423,0.607,0.367,0.380,0.633,0.852,0.624,
+0.495,0.639,0.529,0.065,0.350,0.570,0.586,0.627,0.564,0.969,
+1.493,0.687,0.557,1.169,0.686,0.466,0.381,0.601,0.696,0.080,
+0.321,0.592,0.959,0.727,0.534,1.290,1.006,0.776,0.465,0.759,
+0.691,0.631,0.422,0.619,0.589,0.065,0.381,0.653,0.639,0.783,
+0.473,0.810,0.609,0.520,0.421,0.618,0.056,0.051,0.042,0.065,
+0.473,0.060,0.315,0.413,0.413,0.540,0.405,0.574,1.178,0.684,
+0.538,1.129,0.848,0.542,0.413,0.702,0.801,0.063,0.498,1.039,
+1.700,1.239,0.920,2.237,1.955,1.272,0.824,1.550,1.198,1.043,
+0.649,0.822,0.704,0.086,0.381,0.648,0.891,0.926,0.582,1.427,
+1.396,1.087,0.851,1.059,0.980,0.847,0.710,0.776,0.641,0.086,
+0.546,0.651,0.496,0.663,0.493,0.739,0.614,0.768,0.482,0.663,
+0.071,0.101,0.064,0.102,0.353,0.043,0.236,0.332,0.349,0.541,
+0.322,0.539,0.844,0.604,0.567,0.833,0.739,0.756,0.473,0.656,
+0.503,0.053,0.351,0.535,0.599,0.508,0.498,1.088,1.316,1.101,
+0.496,0.878,1.141,1.287,0.508,0.631,0.504,0.070,0.313,0.472,
+0.428,0.587,0.343,0.723,0.915,0.962,0.488,0.583,0.840,0.744,
+0.534,0.645,0.506,0.084,0.456,0.524,0.367,0.590,0.328,0.468,
+0.566,0.909,0.466,0.554,0.072,0.157,0.080,0.078,0.399,0.088,
+0.282,0.377,0.360,0.642,0.315,0.442,0.589,0.707,0.424,0.582,
+0.633,0.872,0.494,0.589,0.414,0.049,0.286,0.456,0.412,0.452,
+0.346,0.720,0.733,0.520,0.311,0.538,0.751,0.742,0.513,0.609,
+0.602,0.097,0.286,0.435,0.491,0.617,0.388,0.717,0.060,0.078,
+0.039,0.065,0.062,0.134,0.076,0.073,0.077,0.027,0.057,0.065,
+0.052,0.130,0.051,0.069,0.458,0.609,0.472,0.520,0.059,0.087,
+0.055,0.065,0.371,0.058,0.299,0.399,0.254,0.482,0.381,0.423,
+0.433,0.376,0.319,0.526,0.633,0.959,0.467,0.603,0.616,0.060,
+0.420,0.603,0.450,0.537,0.463,0.747,0.729,0.467,0.308,0.563,
+0.474,0.397,0.286,0.417,0.363,0.041,0.191,0.303,0.471,0.463,
+0.317,0.702,0.643,0.680,0.375,0.600,0.493,0.695,0.454,0.671,
+0.405,0.066,0.281,0.397,0.356,0.626,0.348,0.568,0.392,0.478,
+0.328,0.453,0.035,0.052,0.030,0.045,0.257,0.032,0.265,0.327,
+0.271,0.401,0.316,0.483,0.545,0.390,0.391,0.588,0.436,0.464,
+0.332,0.518,0.463,0.043,0.367,0.824,0.695,0.802,0.698,1.362,
+1.298,0.891,0.521,0.881,0.601,0.532,0.365,0.533,0.472,0.064,
+0.301,0.425,0.585,0.666,0.437,0.725,1.048,0.954,0.430,0.651,
+0.658,0.630,0.484,0.538,0.594,0.084,0.590,0.608,0.555,0.831,
+0.422,0.613,0.593,0.826,0.581,0.681,0.074,0.096,0.108,0.152,
+0.352,0.041,0.204,0.323,0.288,0.468,0.276,0.448,0.753,0.625,
+0.532,0.965,0.657,0.623,0.566,1.008,0.429,0.050,0.337,0.511,
+0.547,0.480,0.518,1.254,0.077,0.069,0.038,0.063,0.074,0.078,
+0.054,0.053,0.038,0.010,0.030,0.041,0.044,0.080,0.095,0.073,
+0.072,0.086,0.035,0.051,0.070,0.093,0.052,0.052,0.053,0.016,
+0.050,0.050,0.050,0.121,0.038,0.054,0.045,0.075,0.066,0.052,
+6.69e-3,0.022,0.027,0.013,0.040,0.011,0.035,0.040,0.033,0.063,
+0.037,0.045,0.080,0.078,0.061,0.096,0.110,0.133,0.116,0.138,
+0.051,9.44e-3,0.045,0.076,0.069,0.074,0.065,0.122,0.679,0.486,
+0.278,0.490,0.526,0.650,0.581,0.543,0.514,0.091,0.351,0.443,
+0.381,0.510,0.399,0.637,0.053,0.077,0.034,0.045,0.050,0.093,
+0.058,0.073,0.053,0.019,0.056,0.054,0.047,0.093,0.048,0.065,
+0.415,0.617,0.392,0.373,0.057,0.100,0.089,0.062,0.371,0.060,
+0.205,0.285,0.227,0.412,0.273,0.335,0.393,0.358,0.301,0.338,
+0.509,0.714,0.475,0.544,0.470,0.063,0.370,0.448,0.344,0.411,
+0.381,0.555,0.554,0.389,0.227,0.431,0.388,0.389,0.218,0.287,
+0.426,0.056,0.183,0.335,0.455,0.546,0.287,0.742,0.635,0.641,
+0.331,0.476,0.541,0.730,0.453,0.597,0.438,0.061,0.360,0.499,
+0.424,0.672,0.358,0.671,0.577,0.605,0.353,0.418,0.055,0.096,
+0.046,0.055,0.368,0.041,0.227,0.331,0.303,0.485,0.295,0.456,
+0.618,0.442,0.380,0.492,0.485,0.573,0.346,0.465,0.505,0.062,
+0.403,0.591,0.650,0.741,0.560,1.004,1.673,0.834,0.612,1.257,
+0.647,0.484,0.365,0.466,0.533,0.059,0.275,0.492,0.881,0.674,
+0.465,1.271,0.898,0.525,0.331,0.559,0.468,0.357,0.278,0.349,
+0.418,0.043,0.366,0.412,0.459,0.465,0.301,0.570,0.694,0.607,
+0.524,0.814,0.068,0.056,0.049,0.103,0.335,0.034,0.181,0.353,
+0.341,0.389,0.259,0.529,1.144,0.687,1.218,1.763,0.772,0.565,
+0.521,0.939,0.534,0.047,0.426,0.724,0.886,0.647,0.742,1.746,
+1.055,0.660,0.430,0.736,0.712,0.611,0.661,0.494,0.443,0.056,
+0.281,0.430,0.506,0.554,0.440,0.782,0.721,0.625,0.285,0.487,
+0.542,0.597,0.318,0.407,0.436,0.067,0.342,0.472,0.448,0.827,
+0.273,0.494,0.553,0.569,0.428,0.552,0.045,0.066,0.073,0.070,
+0.366,0.041,0.219,0.431,0.337,0.503,0.279,0.534,0.695,0.515,
+0.465,0.871,0.792,0.733,0.585,0.996,0.496,0.045,0.349,0.747,
+0.608,0.648,0.579,1.166,0.752,0.470,0.299,0.523,0.674,0.656,
+0.455,0.631,0.608,0.074,0.379,0.560,0.527,0.500,0.454,0.880,
+0.079,0.052,0.032,0.063,0.042,0.064,0.041,0.052,0.050,0.010,
+0.047,0.064,0.051,0.074,0.040,0.077,0.496,0.528,0.399,0.572,
+0.048,0.057,0.041,0.067,0.404,0.045,0.261,0.399,0.317,0.479,
+0.352,0.601,0.551,0.385,0.439,0.614,0.663,0.670,0.541,0.765,
+0.832,0.069,0.443,0.700,0.594,0.544,0.565,1.130,1.147,0.749,
+0.448,0.929,0.665,0.575,0.336,0.535,0.823,0.074,0.328,0.589,
+0.934,0.673,0.549,1.493,0.781,0.540,0.362,0.713,0.523,0.545,
+0.398,0.544,0.501,0.046,0.438,0.621,0.544,0.640,0.453,0.837,
+0.809,0.723,0.467,0.783,0.068,0.070,0.040,0.085,0.648,0.056,
+0.367,0.665,0.620,0.811,0.557,0.917,1.345,0.800,0.792,1.656,
+1.076,1.115,0.689,1.241,1.174,0.093,0.877,1.738,1.950,1.689,
+1.383,2.700,2.039,1.358,1.025,1.662,1.635,1.266,0.785,0.989,
+1.008,0.174,1.602,1.007,1.352,1.345,0.943,1.320,1.493,1.217,
+0.707,0.977,1.345,1.300,0.789,0.886,0.870,0.142,0.778,0.771,
+0.630,0.957,0.729,0.815,0.796,0.796,0.592,0.777,0.100,0.122,
+0.101,0.136,0.492,0.090,0.406,0.457,0.427,0.699,0.497,0.668,
+1.050,0.582,0.486,0.970,1.095,0.988,0.648,0.882,0.740,0.093,
+0.490,0.697,0.873,0.678,0.790,1.392,1.897,1.429,0.875,1.227,
+1.827,1.626,0.853,0.964,0.886,0.161,0.790,0.840,0.675,1.043,
+0.643,0.981,1.656,1.659,0.965,1.136,1.460,1.607,1.199,1.096,
+1.078,0.264,1.008,1.108,0.564,1.199,0.716,0.838,0.802,1.281,
+0.703,0.733,0.144,0.249,0.183,0.149,1.177,0.324,0.666,0.692,
+0.464,1.086,0.630,0.625,0.630,0.585,0.363,0.530,1.096,1.254,
+0.677,0.912,0.761,0.100,0.551,0.683,0.566,0.644,0.615,0.998,
+1.378,0.948,0.490,0.728,3.239,1.290,0.961,1.058,1.121,0.177,
+0.560,0.684,0.703,0.876,0.695,1.216,0.122,0.154,0.077,0.119,
+0.225,0.252,0.144,0.169,0.133,0.050,0.113,0.132,0.098,0.209,
+0.130,0.143,0.611,0.822,0.589,0.613,0.123,0.119,0.116,0.122,
+0.659,0.143,0.503,0.639,0.383,0.818,0.662,0.853,0.546,0.433,
+0.380,0.712,0.948,0.929,0.685,0.873,0.877,0.126,0.562,0.794,
+0.634,0.828,0.761,1.194,1.183,0.664,0.458,0.929,0.934,0.564,
+0.383,0.607,0.638,0.107,0.384,0.553,0.680,0.710,0.545,1.106,
+1.326,1.083,0.641,1.195,1.356,1.410,0.799,1.428,0.755,0.149,
+0.647,0.980,0.584,1.026,0.640,0.987,0.582,0.714,0.453,0.608,
+0.080,0.095,0.066,0.083,0.995,0.329,0.401,0.752,0.412,0.984,
+0.577,0.718,0.896,0.727,0.462,0.882,0.642,0.753,0.428,0.651,
+0.755,0.112,0.682,1.256,0.899,1.007,1.013,1.883,1.685,1.402,
+0.866,1.373,1.563,2.051,0.910,1.013,0.748,0.132,0.497,0.654,
+0.717,0.944,0.585,0.997,1.584,1.647,0.923,1.066,1.684,2.021,
+1.356,1.802,0.936,0.205,1.057,1.124,0.539,1.113,0.779,0.876,
+0.566,0.945,0.650,0.696,0.114,0.210,0.147,0.160,0.418,0.082,
+0.420,0.435,0.289,0.601,0.446,0.546,0.704,0.508,0.405,0.648,
+0.859,1.306,0.613,0.705,1.405,0.175,0.480,0.603,0.672,0.634,
+0.571,1.016,1.687,2.070,0.868,1.479,2.164,3.979,1.213,1.381,
+0.919,0.201,0.722,0.881,0.548,1.081,0.589,1.023,1.844,2.684,
+1.410,1.146,2.062,2.387,1.719,1.948,1.339,0.439,1.465,1.405,
+0.619,1.917,0.858,0.995,0.775,2.014,1.003,0.874,0.214,0.687,
+0.347,0.284,0.761,0.228,0.778,0.857,0.366,1.221,0.842,0.799,
+0.618,0.838,0.421,0.542,1.134,2.564,0.977,1.087,0.696,0.112,
+0.615,0.784,0.447,0.652,0.628,0.988,0.988,0.895,0.436,0.678,
+1.646,2.199,1.220,1.162,1.444,0.436,0.663,0.752,0.659,1.312,
+0.712,1.053,0.117,0.233,0.100,0.134,0.232,0.751,0.355,0.261,
+0.395,0.196,0.206,0.208,0.105,0.415,0.135,0.136,0.764,1.232,
+0.879,0.851,0.214,0.334,0.246,0.205,0.884,0.189,0.752,0.840,
+0.390,1.107,0.922,0.851,0.566,0.453,0.468,0.575,1.265,1.625,
+1.233,1.180,2.112,0.208,0.849,0.979,1.014,0.880,0.946,1.153,
+0.840,0.622,0.428,0.731,0.803,0.802,0.484,0.703,0.632,0.106,
+0.356,0.410,0.543,0.644,0.470,0.854,1.002,1.277,0.800,1.300,
+1.237,2.185,1.382,2.377,1.252,0.333,0.762,0.920,0.560,1.382,
+0.705,0.992,0.502,0.938,0.565,0.605,0.084,0.142,0.088,0.112,
+0.494,0.092,0.553,0.617,0.333,0.738,0.862,0.808,0.613,0.489,
+0.589,0.644,0.590,0.840,0.689,0.840,0.739,0.079,0.598,0.879,
+0.729,1.032,1.007,1.462,1.001,0.749,0.488,0.672,0.599,0.614,
+0.579,0.476,0.386,0.066,0.303,0.339,0.431,0.633,0.805,0.545,
+0.971,1.256,0.543,0.657,0.987,1.266,0.815,0.799,0.890,0.237,
+0.890,0.820,0.480,1.695,0.572,0.623,0.504,0.938,1.068,0.657,
+0.090,0.162,0.345,0.184,0.450,0.101,0.446,0.471,0.248,0.623,
+0.384,0.412,0.480,0.424,0.435,0.712,0.557,0.683,1.092,0.769,
+0.423,0.061,0.413,0.545,0.423,0.484,0.536,1.013,0.069,0.079,
+0.061,0.057,0.097,0.161,0.160,0.076,0.052,0.020,0.074,0.054,
+0.052,0.129,0.395,0.097,0.102,0.181,0.082,0.074,0.195,0.368,
+0.195,0.151,0.117,0.087,0.167,0.135,0.082,0.472,0.105,0.083,
+0.053,0.146,0.229,0.080,0.029,0.088,0.159,0.046,0.091,0.059,
+0.112,0.094,0.041,0.159,0.101,0.069,0.053,0.066,0.065,0.069,
+0.116,0.216,0.340,0.212,0.064,0.019,0.093,0.099,0.043,0.080,
+0.092,0.143,0.769,0.842,0.406,0.450,0.826,1.324,0.990,0.641,
+0.770,0.181,0.673,0.759,0.463,0.828,0.780,0.799,0.078,0.174,
+0.073,0.067,0.111,0.294,0.195,0.116,0.125,0.070,0.161,0.135,
+0.069,0.240,0.132,0.098,0.589,1.314,0.999,0.660,0.129,0.288,
+0.382,0.160,0.674,0.192,0.547,0.675,0.319,1.008,0.672,0.645,
+0.391,0.418,0.385,0.451,0.776,1.394,1.150,1.164,0.713,0.147,
+0.781,0.781,0.442,0.670,0.728,0.873,0.702,0.596,0.301,0.522,
+0.565,0.579,0.298,0.338,0.486,0.074,0.296,0.449,0.476,0.613,
+0.421,0.759,0.974,1.335,0.615,0.736,1.205,2.067,1.100,0.996,
+0.851,0.221,0.878,1.130,0.544,1.319,0.767,0.936,0.961,1.217,
+0.671,0.621,0.079,0.156,0.126,0.099,0.690,0.131,0.588,0.775,
+0.430,0.979,0.614,0.715,0.635,0.507,0.391,0.583,0.551,0.776,
+0.564,0.634,0.664,0.095,0.718,0.866,0.704,0.900,0.823,1.203,
+0.852,0.558,0.457,0.757,0.566,0.512,0.521,0.470,0.392,0.054,
+0.241,0.393,0.488,0.468,0.364,0.707,0.616,0.505,0.341,0.432,
+0.477,0.509,0.341,0.419,0.371,0.063,0.337,0.379,0.331,0.620,
+0.266,0.427,0.557,0.570,0.624,0.566,0.054,0.062,0.074,0.088,
+0.300,0.046,0.234,0.335,0.235,0.357,0.242,0.415,0.641,0.505,
+0.465,1.072,0.488,0.445,0.409,0.845,0.433,0.041,0.269,0.524,
+0.633,0.396,0.448,1.153,0.999,0.883,0.894,0.811,1.137,1.246,
+3.118,0.947,0.604,0.114,0.606,0.626,0.571,1.022,0.985,0.829,
+0.970,1.244,0.598,0.718,1.080,1.591,0.935,0.934,0.823,0.236,
+0.840,0.999,0.716,2.741,0.621,0.829,0.599,1.061,1.058,0.739,
+0.098,0.185,0.299,0.201,0.567,0.131,0.513,0.626,0.383,1.009,
+0.553,0.657,0.618,0.662,0.517,0.897,1.079,1.369,1.412,2.431,
+0.569,0.080,0.603,0.959,0.572,0.736,0.656,1.301,0.711,0.561,
+0.383,0.491,0.972,0.978,0.880,0.791,0.677,0.130,0.548,0.751,
+0.575,0.702,0.583,0.917,0.099,0.086,0.044,0.084,0.083,0.186,
+0.121,0.093,0.070,0.029,0.093,0.102,0.056,0.143,0.071,0.090,
+0.526,0.868,0.609,0.621,0.081,0.131,0.123,0.120,0.654,0.146,
+0.608,0.718,0.408,0.934,0.714,0.971,0.445,0.413,0.392,0.530,
+0.875,1.124,0.927,1.159,0.816,0.125,0.750,0.959,0.596,0.667,
+0.765,1.203,0.947,0.588,0.401,0.696,0.633,0.580,0.426,0.454,
+0.552,0.077,0.326,0.522,0.560,0.527,0.427,0.954,0.911,0.805,
+0.427,0.659,0.783,1.053,0.723,0.742,0.552,0.085,0.526,0.731,
+0.506,0.759,0.480,0.709,0.789,0.840,0.574,0.789,0.103,0.103,
+0.071,0.104,0.644,0.089,0.546,0.824,0.581,0.896,0.722,0.956,
+0.908,0.665,0.572,1.100,0.924,1.247,0.767,1.141,0.928,0.114,
+0.906,1.390,1.241,1.274,1.207,1.867,1.122,0.836,0.620,1.092,
+1.061,0.878,0.630,0.687,0.684,0.098,0.370,0.548,0.956,1.006,
+0.541,0.899,0.952,0.921,0.465,0.619,0.888,0.722,0.875,0.741,
+0.518,0.098,0.367,0.460,0.457,0.664,0.440,0.662,0.598,0.675,
+0.371,0.767,0.063,0.068,0.052,0.104,0.365,0.044,0.244,0.347,
+0.314,0.571,0.337,0.501,0.702,0.383,0.276,0.679,0.654,0.523,
+0.348,0.555,0.375,0.038,0.236,0.388,0.511,0.402,0.454,0.955,
+1.448,1.178,0.571,0.878,1.483,1.156,0.789,0.846,0.675,0.104,
+0.445,0.560,0.616,0.752,0.429,0.761,1.381,2.233,0.586,0.751,
+1.362,1.001,0.857,0.843,0.849,0.196,0.668,1.097,0.480,0.845,
+0.486,0.659,0.774,1.051,0.551,0.687,0.119,0.167,0.122,0.146,
+0.694,0.125,0.597,0.769,0.396,0.854,0.579,0.662,0.570,0.489,
+0.275,0.490,0.850,1.004,0.589,0.808,0.550,0.062,0.411,0.653,
+0.528,0.529,0.530,0.987,1.104,0.674,0.381,0.560,1.318,1.073,
+0.832,0.857,1.523,0.184,0.560,0.725,0.836,0.999,0.475,1.038,
+0.128,0.161,0.060,0.092,0.144,0.184,0.138,0.150,0.139,0.036,
+0.142,0.145,0.113,0.271,0.117,0.150,0.673,0.806,0.518,0.647,
+0.103,0.117,0.119,0.133,0.734,0.118,0.463,0.642,0.441,0.904,
+0.619,0.692,0.494,0.373,0.292,0.465,0.894,0.923,0.866,0.937,
+0.712,0.100,0.514,0.751,0.584,0.755,0.629,0.963,1.007,0.551,
+0.304,0.631,0.595,0.526,0.368,0.470,0.532,0.078,0.265,0.449,
+0.665,0.718,0.400,0.870,0.948,0.900,0.392,0.650,0.782,0.857,
+0.554,0.765,0.590,0.078,0.502,0.640,0.516,0.855,0.491,0.756,
+0.608,0.710,0.459,0.624,0.079,0.085,0.076,0.110,0.564,0.076,
+0.431,0.649,0.500,0.794,0.643,0.842,0.761,0.558,0.383,0.880,
+0.608,0.563,0.524,0.776,0.788,0.079,0.540,0.925,1.128,1.113,
+1.012,1.738,0.066,0.063,0.039,0.064,0.075,0.095,0.079,0.068,
+0.044,0.011,0.030,0.047,0.051,0.087,0.042,0.066,0.085,0.103,
+0.102,0.072,0.120,0.140,0.356,0.166,0.059,0.018,0.055,0.062,
+0.040,0.077,0.053,0.080,0.040,0.082,0.041,0.052,9.69e-3,0.016,
+0.016,0.017,0.043,8.86e-3,0.036,0.052,0.027,0.057,0.036,0.057,
+0.048,0.040,0.026,0.046,0.064,0.096,0.052,0.059,0.047,7.77e-3,
+0.032,0.059,0.044,0.042,0.050,0.106,0.083,0.100,0.043,0.057,
+0.112,0.159,0.097,0.084,0.053,0.023,0.045,0.046,0.034,0.061,
+0.051,0.055,0.119,0.296,0.080,0.072,0.252,0.415,0.214,0.183,
+0.133,0.079,0.103,0.121,0.051,0.152,0.075,0.097,0.060,0.130,
+0.069,0.058,0.023,0.069,0.050,0.034,0.100,0.050,0.091,0.112,
+0.040,0.124,0.085,0.087,0.048,0.051,0.026,0.035,0.083,0.153,
+0.088,0.085,0.068,0.022,0.060,0.069,0.037,0.050,0.056,0.082,
+0.074,0.053,0.025,0.042,0.096,0.131,0.107,0.129,0.091,0.021,
+0.069,0.054,0.041,0.075,0.049,0.062,0.025,0.026,0.013,0.015,
+0.028,0.072,0.060,0.041,0.021,0.028,0.050,0.032,8.36e-3,0.027,
+0.022,0.018,0.067,0.106,0.065,0.080,0.022,0.050,0.056,0.033,
+0.100,0.038,0.084,0.082,0.040,0.129,0.088,0.074,0.046,0.040,
+0.030,0.043,0.099,0.148,0.123,0.117,0.086,0.022,0.077,0.083,
+0.047,0.099,0.080,0.092,0.061,0.055,0.028,0.045,0.059,0.064,
+0.043,0.051,0.045,9.28e-3,0.030,0.038,0.047,0.061,0.044,0.069,
+0.107,0.112,0.065,0.093,0.125,0.198,0.113,0.170,0.089,0.026,
+0.094,0.097,0.057,0.122,0.075,0.093,0.047,0.084,0.049,0.063,
+0.013,0.025,0.017,0.019,0.065,0.018,0.065,0.090,0.042,0.095,
+0.081,0.103,0.061,0.054,0.037,0.059,0.055,0.077,0.055,0.085,
+0.072,0.011,0.057,0.087,0.081,0.107,0.093,0.147,0.660,0.548,
+0.374,0.622,0.625,0.583,0.442,0.463,0.363,0.048,0.269,0.354,
+0.320,0.318,0.279,0.441,0.847,0.878,0.397,0.554,0.939,0.986,
+0.833,0.668,0.601,0.122,0.686,0.674,0.300,0.624,0.408,0.618,
+0.440,0.808,0.473,0.522,0.084,0.157,0.123,0.151,0.369,0.078,
+0.424,0.460,0.210,0.537,0.405,0.540,0.394,0.324,0.212,0.393,
+0.531,0.666,0.416,0.567,0.393,0.055,0.421,0.525,0.341,0.352,
+0.457,0.950,0.062,0.068,0.033,0.048,0.087,0.137,0.075,0.065,
+0.041,0.016,0.042,0.045,0.028,0.046,0.034,0.045,0.081,0.144,
+0.047,0.049,0.141,0.177,0.140,0.103,0.068,0.046,0.110,0.103,
+0.030,0.071,0.048,0.059,0.048,0.130,0.062,0.053,0.021,0.071,
+0.055,0.029,0.057,0.035,0.096,0.089,0.028,0.089,0.069,0.072,
+0.044,0.048,0.028,0.045,0.095,0.181,0.099,0.118,0.056,0.015,
+0.076,0.079,0.039,0.049,0.057,0.104,0.732,0.701,0.379,0.388,
+0.949,1.212,1.226,0.700,0.703,0.167,0.714,0.660,0.409,0.595,
+0.565,0.625,0.110,0.177,0.069,0.074,0.143,0.295,0.213,0.118,
+0.119,0.069,0.195,0.132,0.055,0.142,0.096,0.083,0.848,1.214,
+0.691,0.597,0.154,0.242,0.231,0.144,0.638,0.158,0.285,0.454,
+0.297,0.759,0.651,0.600,0.457,0.385,0.297,0.309,1.084,1.238,
+0.969,0.816,0.608,0.129,0.950,0.740,0.348,0.564,0.711,0.752,
+0.546,0.422,0.271,0.410,0.503,0.478,0.357,0.310,0.365,0.073,
+0.311,0.349,0.326,0.377,0.280,0.456,0.893,1.048,0.500,0.542,
+1.113,1.431,0.850,0.696,0.699,0.147,0.876,0.837,0.399,0.825,
+0.564,0.650,0.656,0.948,0.631,0.627,0.092,0.171,0.116,0.115,
+0.646,0.121,0.696,0.749,0.353,0.839,0.664,0.719,0.533,0.408,
+0.318,0.467,0.632,0.773,0.530,0.604,0.719,0.087,0.779,0.778,
+0.560,0.770,0.714,0.893,0.866,0.493,0.314,0.663,0.513,0.388,
+0.288,0.375,0.414,0.064,0.216,0.353,0.539,0.399,0.286,0.614,
+0.808,0.549,0.280,0.428,0.548,0.505,0.371,0.394,0.351,0.054,
+0.294,0.406,0.288,0.366,0.261,0.463,0.429,0.565,0.301,0.450,
+0.050,0.064,0.045,0.085,0.320,0.038,0.240,0.378,0.250,0.361,
+0.266,0.505,0.537,0.383,0.262,0.581,0.480,0.419,0.299,0.658,
+0.387,0.038,0.294,0.503,0.421,0.341,0.495,1.067,1.084,0.798,
+0.438,0.852,1.082,0.951,0.655,0.695,0.510,0.076,0.437,0.605,
+0.431,0.584,0.347,0.681,1.236,1.192,0.455,0.709,1.061,1.177,
+0.863,0.810,0.627,0.116,0.674,0.958,0.360,0.701,0.454,0.628,
+0.611,1.150,0.482,0.627,0.094,0.197,0.105,0.144,0.540,0.104,
+0.562,0.784,0.357,0.842,0.539,0.776,0.621,0.619,0.316,0.572,
+0.911,1.124,0.741,1.124,0.584,0.090,0.566,0.978,0.490,0.649,
+0.665,1.216,2.277,0.841,0.476,0.739,1.147,1.104,1.000,0.955,
+0.791,0.141,0.744,1.883,0.543,0.668,0.599,1.075,1.021,0.159,
+0.092,0.328,0.140,0.198,0.199,0.142,0.087,0.030,0.150,0.433,
+0.065,0.119,0.083,0.137,1.011,1.258,0.688,0.843,0.115,0.157,
+0.139,0.153,0.895,0.182,0.669,1.110,0.494,1.147,0.849,0.989,
+0.814,0.530,0.505,0.614,1.135,1.101,1.103,1.286,0.789,0.119,
+0.885,1.350,0.559,0.796,0.912,1.230,1.007,0.503,0.370,0.612,
+0.679,0.512,0.396,0.472,0.589,0.083,0.377,0.707,0.519,0.484,
+0.398,0.928,2.040,0.750,0.481,0.749,0.905,0.946,0.735,0.691,
+0.598,0.079,0.688,1.603,0.432,0.620,0.507,0.886,0.870,0.990,
+0.617,0.945,0.091,0.121,0.082,0.130,0.763,0.108,0.771,1.115,
+0.580,0.983,0.923,1.061,0.988,0.600,0.542,0.995,1.079,0.952,
+0.870,1.102,0.900,0.092,0.997,1.445,0.980,1.120,1.149,1.649,
+2.272,1.049,0.732,1.633,1.000,0.682,0.473,0.710,0.875,0.097,
+0.343,0.603,1.466,1.154,0.593,1.268,1.204,0.822,0.403,0.704,
+0.770,0.560,0.397,0.488,0.566,0.063,0.306,0.381,0.819,0.749,
+0.428,0.697,0.667,0.586,0.389,0.703,0.056,0.062,0.045,0.092,
+0.343,0.038,0.205,0.312,0.416,0.499,0.355,0.627,0.981,0.519,
+0.441,1.072,0.722,0.648,0.433,0.691,0.483,0.047,0.282,0.540,
+0.834,0.574,0.659,1.745,1.191,0.730,0.459,0.786,0.813,0.602,
+0.382,0.542,0.456,0.059,0.219,0.364,0.479,0.499,0.271,0.591,
+0.857,0.714,0.408,0.567,0.671,0.548,0.386,0.515,0.450,0.052,
+0.246,0.410,0.423,0.454,0.281,0.499,0.494,0.479,0.294,0.467,
+0.053,0.057,0.044,0.065,0.386,0.043,0.186,0.317,0.325,0.442,
+0.287,0.419,0.466,0.312,0.212,0.448,0.503,0.469,0.303,0.474,
+0.334,0.032,0.195,0.385,0.501,0.370,0.361,0.786,0.996,0.526,
+0.320,0.622,0.880,0.888,0.487,0.929,0.711,0.093,0.241,0.423,
+0.743,0.776,0.380,0.855,0.068,0.065,0.029,0.063,0.067,0.077,
+0.048,0.087,0.055,9.11e-3,0.035,0.051,0.082,0.108,0.049,0.099,
+0.467,0.675,0.323,0.545,0.054,0.057,0.042,0.082,0.399,0.052,
+0.210,0.340,0.366,0.531,0.356,0.517,0.489,0.339,0.279,0.636,
+0.574,0.475,0.396,0.757,0.433,0.045,0.263,0.483,0.566,0.522,
+0.509,0.934,1.277,0.560,0.390,0.890,0.646,0.490,0.340,0.544,
+0.609,0.071,0.272,0.461,1.017,0.759,0.467,1.074,0.788,0.558,
+0.326,0.600,0.550,0.518,0.320,0.510,0.496,0.051,0.292,0.490,
+0.610,0.676,0.418,0.790,0.565,0.584,0.385,0.598,0.048,0.046,
+0.038,0.070,0.472,0.047,0.246,0.408,0.548,0.662,0.521,0.804,
+1.025,0.580,0.493,1.148,0.657,0.532,0.424,0.839,0.770,0.066,
+0.436,0.908,1.356,1.215,1.223,2.452,1.476,0.897,0.536,1.114,
+0.865,0.714,0.570,0.765,0.599,0.077,0.359,0.663,0.806,0.783,
+0.536,1.055,1.204,0.767,0.496,0.659,0.900,0.842,0.989,0.751,
+0.557,0.070,0.405,0.495,0.502,0.600,0.429,0.678,0.532,0.649,
+0.336,0.543,0.057,0.078,0.054,0.082,0.353,0.047,0.220,0.364,
+0.326,0.498,0.373,0.596,0.601,0.445,0.289,0.576,0.607,0.684,
+0.391,0.575,0.378,0.041,0.253,0.477,0.540,0.489,0.705,1.163,
+1.235,0.912,0.467,0.872,1.055,1.057,0.590,1.011,0.537,0.074,
+0.277,0.436,0.464,0.614,0.354,0.673,0.997,1.124,0.432,0.593,
+1.464,1.615,0.700,0.900,0.646,0.132,0.416,0.565,0.436,0.741,
+0.395,0.687,0.656,0.808,0.398,0.572,0.081,0.139,0.072,0.091,
+0.593,0.101,0.340,0.538,0.389,0.773,0.442,0.666,0.518,0.501,
+0.272,0.471,0.674,0.888,0.524,0.634,0.472,0.055,0.304,0.750,
+0.541,0.823,0.695,1.179,0.892,0.536,0.307,0.783,0.916,0.834,
+0.662,2.738,0.734,0.101,0.312,0.448,0.525,0.586,0.371,0.806,
+0.068,0.059,0.031,0.071,0.079,0.155,0.079,0.275,0.059,0.019,
+0.056,0.062,0.051,0.108,0.051,0.086,0.581,0.953,0.436,0.643,
+0.069,0.107,0.081,0.162,0.547,0.083,0.313,0.475,0.417,0.806,
+0.487,0.705,0.554,0.392,0.299,0.592,0.761,0.857,0.641,0.982,
+0.552,0.060,0.411,0.656,0.533,0.619,0.764,1.169,0.837,0.497,
+0.319,0.624,0.633,0.534,0.346,0.687,0.575,0.056,0.307,0.438,
+0.605,0.599,0.377,0.827,0.788,0.708,0.425,0.680,0.735,0.911,
+0.489,0.936,0.571,0.090,0.399,0.549,0.495,0.862,0.515,0.850,
+0.509,0.684,0.511,0.659,0.047,0.070,0.045,0.087,0.445,0.055,
+0.354,0.541,0.436,0.799,0.587,0.914,0.777,0.498,0.433,0.763,
+0.691,0.719,0.482,0.935,0.673,0.065,0.463,0.780,1.088,1.121,
+1.196,2.041,1.009,0.777,0.674,1.364,0.886,0.759,1.433,1.162,
+0.676,0.072,0.352,0.568,0.602,0.495,0.437,0.740,1.069,1.067,
+0.423,0.702,0.835,0.891,0.620,0.629,0.669,0.105,0.524,0.629,
+0.533,0.779,0.502,0.761,0.623,0.916,0.633,0.725,0.092,0.129,
+0.271,0.151,0.475,0.085,0.358,0.497,0.367,0.925,0.501,0.668,
+0.630,0.527,0.336,0.651,0.633,0.701,0.641,0.690,0.568,0.071,
+0.633,0.790,0.639,0.609,0.757,1.365,0.071,0.063,0.060,0.100,
+0.131,0.099,0.092,0.091,0.044,9.11e-3,0.030,0.042,0.044,0.052,
+0.047,0.074,0.065,0.087,0.030,0.053,0.089,0.146,0.072,0.080,
+0.058,0.019,0.057,0.070,0.044,0.083,0.049,0.076,0.042,0.075,
+0.047,0.052,0.011,0.028,0.033,0.018,0.056,0.021,0.044,0.058,
+0.036,0.087,0.054,0.071,0.060,0.058,0.030,0.055,0.078,0.145,
+0.082,0.095,0.050,0.013,0.056,0.072,0.071,0.075,0.080,0.123,
+0.849,0.748,0.407,0.587,0.919,1.138,0.775,0.778,0.709,0.140,
+0.504,0.573,0.704,0.700,0.525,0.877,0.072,0.105,0.042,0.061,
+0.092,0.151,0.086,0.080,0.077,0.030,0.086,0.080,0.064,0.125,
+0.072,0.099,0.797,1.068,0.649,0.728,0.103,0.172,0.150,0.108,
+0.747,0.135,0.445,0.599,0.438,0.890,0.642,0.842,0.642,0.476,
+0.350,0.483,0.856,1.140,0.802,0.793,0.849,0.106,0.775,0.861,
+0.547,0.697,0.918,1.160,0.817,0.589,0.379,0.686,0.743,0.618,
+0.403,0.516,0.512,0.067,0.384,0.492,0.565,0.524,0.380,0.837,
+1.031,1.077,0.513,0.794,1.081,1.183,0.652,0.734,0.952,0.117,
+0.807,0.911,0.651,1.076,0.725,1.193,1.221,1.175,0.711,0.862,
+0.085,0.132,0.096,0.102,1.022,0.108,0.665,0.861,0.769,1.120,
+0.798,1.053,0.901,0.638,0.478,0.770,0.726,0.985,0.640,0.766,
+0.903,0.092,0.847,1.056,0.921,1.101,1.102,1.653,2.162,0.972,
+0.643,1.469,0.846,0.620,0.510,0.750,0.752,0.079,0.348,0.721,
+0.980,0.887,0.547,1.580,1.082,0.744,0.368,0.682,0.744,0.668,
+0.369,0.512,0.617,0.061,0.331,0.534,0.496,0.562,0.404,0.749,
+0.814,0.886,0.444,0.851,0.067,0.076,0.061,0.107,0.475,0.058,
+0.278,0.504,0.480,0.665,0.441,0.858,1.219,0.774,0.515,1.227,
+0.778,0.678,0.511,0.993,0.789,0.071,0.510,0.921,1.155,0.931,
+0.967,2.685,1.406,0.901,0.678,1.415,1.097,0.960,0.624,0.806,
+0.562,0.067,0.358,0.678,0.649,0.680,0.456,1.046,1.270,1.128,
+0.496,0.957,1.224,1.605,0.638,0.930,0.717,0.097,0.566,1.038,
+0.583,0.929,0.512,1.252,0.871,0.992,0.489,0.899,0.066,0.108,
+0.069,0.106,0.711,0.092,0.442,0.767,0.670,1.172,0.627,1.120,
+0.914,0.776,0.386,0.811,0.915,0.978,0.581,1.156,0.925,0.083,
+0.510,0.975,1.287,0.991,0.825,2.254,1.567,0.929,0.662,0.927,
+1.303,1.172,0.820,1.250,1.028,0.165,1.783,1.343,0.966,0.988,
+0.911,1.632,0.165,0.098,0.054,0.112,0.094,0.135,0.085,0.120,
+0.071,0.020,0.310,0.162,0.076,0.133,0.100,0.151,1.149,1.412,
+0.770,1.191,0.101,0.128,0.104,0.140,1.105,0.137,0.873,1.075,
+0.841,1.385,1.168,1.613,1.219,0.842,0.666,1.072,1.409,1.322,
+1.199,1.655,1.409,0.122,1.293,1.687,1.170,1.117,1.399,2.513,
+2.554,1.239,0.756,1.739,1.164,0.960,0.621,0.983,1.167,0.118,
+0.715,1.100,1.955,1.276,0.930,2.653,1.792,1.284,0.735,1.580,
+1.250,1.154,0.812,1.504,1.080,0.106,1.161,1.498,1.097,1.397,
+0.958,2.593,1.704,1.529,0.979,1.686,0.107,0.118,0.094,0.177,
+1.462,0.140,1.001,1.668,1.741,2.120,1.562,2.848,2.538,1.122,
+0.866,2.377,1.303,1.206,1.076,2.304,1.568,0.126,1.255,2.356,
+1.597,1.750,1.167,4.731,3.649,1.688,1.222,2.278,2.399,1.275,
+1.056,1.269,2.367,0.233,1.026,1.513,3.091,2.099,1.594,2.512,
+3.056,1.617,1.221,1.404,1.695,1.052,0.908,0.802,1.913,0.153,
+0.922,1.209,1.411,1.161,0.844,1.284,2.397,1.544,1.141,1.494,
+0.212,0.170,0.135,0.216,1.445,0.160,1.209,1.120,1.351,1.518,
+1.305,1.330,3.241,1.346,1.294,2.510,2.143,1.637,1.270,1.883,
+1.627,0.160,0.982,1.356,2.050,1.320,1.300,2.172,3.263,1.745,
+1.181,1.615,2.050,1.328,0.944,0.944,1.772,0.207,0.857,1.232,
+1.341,1.462,0.784,1.529,2.237,1.537,1.183,1.092,1.577,1.077,
+0.852,0.724,1.659,0.209,1.049,1.081,0.837,1.068,0.680,0.883,
+1.617,1.482,0.959,1.148,0.161,0.150,0.120,0.136,1.515,0.166,
+0.911,1.103,0.836,1.332,0.767,1.004,1.267,0.815,0.655,1.011,
+1.287,1.041,0.866,0.956,1.237,0.106,0.791,1.021,0.957,0.929,
+0.759,1.368,2.461,1.075,0.865,1.156,1.525,1.058,0.942,0.920,
+1.668,0.224,0.775,1.215,1.173,1.126,0.957,1.825,0.191,0.135,
+0.099,0.120,0.155,0.136,0.114,0.102,0.154,0.031,0.125,0.155,
+0.152,0.220,0.137,0.211,1.168,0.845,0.929,0.818,0.133,0.080,
+0.083,0.105,0.866,0.100,0.525,0.679,0.610,0.841,0.671,0.744,
+1.223,0.593,0.637,1.114,1.180,0.858,0.785,0.975,0.984,0.112,
+0.896,1.037,0.762,0.794,0.891,1.359,3.094,1.244,1.052,2.035,
+1.183,0.717,0.679,0.908,1.509,0.162,0.707,1.353,1.903,1.328,
+1.210,3.277,2.160,1.304,1.132,1.287,1.541,0.917,0.940,0.899,
+1.522,0.123,0.941,1.443,1.357,1.381,1.003,1.745,1.713,1.009,
+0.973,1.127,0.123,0.086,0.090,0.116,1.044,0.091,0.654,0.909,
+0.921,1.020,0.867,1.040,2.231,0.931,0.957,1.723,1.015,0.764,
+0.732,1.025,1.364,0.106,0.887,1.441,1.552,1.188,1.333,2.278,
+2.852,1.740,1.016,1.693,1.620,1.301,0.862,0.913,1.289,0.152,
+0.643,0.919,1.189,1.270,0.736,1.194,2.298,1.869,0.779,1.000,
+1.426,0.958,0.810,0.742,1.094,0.145,0.727,0.840,0.669,0.934,
+0.589,0.834,1.037,1.146,0.739,0.749,0.116,0.139,0.129,0.125,
+0.831,0.122,1.603,0.949,0.592,1.006,1.577,0.887,1.082,0.619,
+0.526,0.788,1.080,1.102,0.636,0.791,0.730,0.090,0.664,0.767,
+0.707,0.630,0.718,1.214,1.947,1.595,0.721,0.960,1.417,1.275,
+0.766,0.677,1.088,0.148,0.537,0.818,0.705,1.188,0.453,0.864,
+1.268,1.206,0.555,0.622,0.940,0.640,0.666,0.585,0.915,0.140,
+0.575,0.785,0.452,0.750,0.429,0.609,0.901,1.346,0.680,0.737,
+0.114,0.201,0.100,0.109,0.988,0.180,0.756,0.844,0.509,1.373,
+0.631,0.753,0.670,0.580,0.387,0.558,0.862,1.013,0.535,0.592,
+0.765,0.085,0.434,0.683,0.525,0.717,0.420,0.846,1.169,0.965,
+0.500,0.722,1.104,0.952,0.757,0.669,0.904,0.134,0.573,0.747,
+0.579,0.734,0.564,0.902,0.099,0.140,0.056,0.093,0.120,0.133,
+0.106,0.075,0.105,0.034,0.138,0.114,0.063,0.148,0.083,0.104,
+0.772,0.910,0.797,0.658,0.118,0.118,0.090,0.089,0.688,0.108,
+0.619,0.682,0.388,0.822,0.664,0.612,0.553,0.395,0.386,0.507,
+0.851,0.897,0.675,0.769,0.646,0.093,0.957,0.901,0.409,0.530,
+0.594,0.766,1.092,0.640,0.535,0.761,0.686,0.487,0.412,0.446,
+0.626,0.067,0.354,0.579,0.641,0.547,0.481,0.987,1.036,0.897,
+0.695,0.805,0.924,0.741,0.678,0.625,0.751,0.085,0.592,0.843,
+0.555,0.844,0.575,0.868,0.775,0.816,1.061,0.872,0.071,0.087,
+0.073,0.081,0.720,0.084,0.666,0.787,0.525,0.811,0.707,0.820,
+0.858,0.565,0.818,0.925,0.647,0.605,0.565,0.684,0.767,0.071,
+0.672,0.949,0.838,0.825,0.867,1.328,2.259,1.347,0.807,1.226,
+1.410,0.718,0.480,0.563,1.395,0.118,0.483,0.660,0.957,0.780,
+0.458,0.864,1.869,2.622,0.630,0.851,1.049,0.809,0.595,0.536,
+1.195,0.165,0.665,0.774,0.677,0.972,0.444,0.695,1.045,1.513,
+0.626,0.800,0.133,0.215,0.095,0.137,0.704,0.102,0.509,0.576,
+0.524,0.897,0.488,0.720,1.130,1.782,0.517,0.917,1.037,1.655,
+0.558,0.729,0.864,0.111,0.571,0.856,0.874,0.687,0.687,1.630,
+0.153,0.121,0.076,0.098,0.146,0.121,0.091,0.074,0.099,0.024,
+0.057,0.079,0.072,0.106,0.054,0.095,0.145,0.160,0.055,0.065,
+0.127,0.125,0.087,0.062,0.141,0.051,0.083,0.096,0.064,0.123,
+0.051,0.072,0.091,0.141,0.063,0.076,0.019,0.040,0.027,0.019,
+0.100,0.031,0.091,0.096,0.060,0.141,0.068,0.091,0.123,0.142,
+0.067,0.118,0.193,0.279,0.134,0.144,0.119,0.019,0.113,0.149,
+0.096,0.102,0.084,0.177,0.961,0.655,0.462,0.527,0.737,0.595,
+0.598,0.468,0.897,0.173,0.669,0.933,0.509,0.606,0.647,0.733,
+0.087,0.110,0.045,0.061,0.069,0.086,0.082,0.048,0.109,0.044,
+0.113,0.099,0.068,0.126,0.069,0.074,0.653,0.727,0.488,0.437,
+0.076,0.093,0.091,0.070,0.748,0.126,0.442,0.606,0.454,0.745,
+0.501,0.475,0.555,0.435,0.403,0.391,0.630,0.742,0.565,0.558,
+0.960,0.203,1.779,1.515,0.487,0.736,0.593,0.682,0.829,0.450,
+0.360,0.556,0.578,0.330,0.269,0.313,0.581,0.061,0.334,0.596,
+0.582,0.456,0.360,0.771,1.030,0.817,0.476,0.619,0.847,0.684,
+0.531,0.472,0.880,0.106,0.572,0.764,0.691,0.818,0.485,0.722,
+0.740,0.751,0.480,0.572,0.082,0.107,0.060,0.073,0.807,0.101,
+0.491,0.698,0.588,0.832,0.565,0.770,0.770,0.476,0.487,0.563,
+0.689,0.701,0.547,0.563,0.912,0.094,0.841,1.039,0.947,0.879,
+0.751,1.258,2.772,1.273,1.185,1.888,1.038,0.620,0.559,0.594,
+1.084,0.098,0.427,0.771,1.388,0.921,0.665,1.407,1.290,0.826,
+0.412,0.759,0.727,0.434,0.397,0.426,0.848,0.087,0.398,0.601,
+0.605,0.535,0.376,0.684,0.921,0.750,0.437,0.858,0.081,0.082,
+0.049,0.100,0.684,0.064,0.342,0.527,0.559,0.594,0.452,0.748,
+1.222,0.819,0.622,1.364,0.879,0.758,0.552,0.875,0.772,0.075,
+0.493,0.887,1.135,0.827,0.821,2.164,1.834,1.062,1.005,1.257,
+1.226,0.865,0.995,0.727,1.047,0.139,0.528,0.828,0.827,0.899,
+0.516,1.033,1.375,0.940,0.456,0.688,1.030,0.852,0.524,0.532,
+1.370,0.441,0.582,0.904,0.644,1.106,0.390,0.727,1.050,0.926,
+0.531,0.840,0.092,0.104,0.064,0.098,0.876,0.106,0.564,0.829,
+0.619,0.932,0.525,0.870,0.985,0.651,0.460,0.958,1.133,0.992,
+0.624,0.934,0.835,0.089,0.528,0.968,0.804,0.759,0.634,1.393,
+1.000,0.633,0.451,0.718,0.880,0.607,0.530,0.608,0.952,0.135,
+0.422,0.758,0.785,0.733,0.539,0.955,0.082,0.067,0.038,0.073,
+0.066,0.064,0.058,0.054,0.098,0.021,0.062,0.090,0.083,0.108,
+0.066,0.092,0.606,0.666,0.568,0.548,0.061,0.059,0.104,0.068,
+1.283,0.102,0.436,0.635,0.753,0.699,1.305,0.766,0.581,0.456,
+0.523,0.618,0.727,0.660,0.655,0.748,1.073,0.274,0.623,0.938,
+0.650,0.796,0.695,0.986,1.643,0.764,0.594,1.068,0.790,0.562,
+0.433,0.550,0.961,0.096,0.400,0.863,1.115,0.842,0.678,1.569,
+0.845,0.532,0.384,0.632,0.617,0.390,0.374,0.467,0.872,0.081,
+0.422,0.873,0.737,0.820,0.483,0.900,1.057,0.925,0.624,0.895,
+0.084,0.076,0.059,0.089,1.213,0.089,0.656,1.018,1.009,1.098,
+1.459,1.261,1.501,0.779,0.883,1.488,1.074,1.085,0.725,1.048,
+1.426,0.095,0.882,1.528,1.831,1.319,1.368,2.356,3.385,2.250,
+1.704,2.468,2.313,1.706,1.369,1.443,1.967,0.253,1.171,1.536,
+2.163,2.009,1.361,1.986,2.851,1.927,1.146,1.213,2.104,1.522,
+1.350,1.157,1.764,0.222,1.213,1.574,1.024,1.391,0.909,1.414,
+1.183,1.280,0.815,1.011,0.155,0.166,0.129,0.200,1.097,0.168,
+0.712,0.812,0.819,1.443,0.809,1.036,1.570,0.914,0.737,1.356,
+1.450,1.278,0.807,1.207,1.125,0.158,0.773,1.182,1.217,1.110,
+1.205,1.874,3.029,2.233,1.182,1.524,2.583,2.139,1.434,1.135,
+1.899,0.365,1.105,1.393,1.195,1.822,0.971,1.651,2.285,2.129,
+0.987,1.010,2.151,1.572,1.250,1.099,2.018,0.471,1.464,1.811,
+0.850,1.710,0.864,1.997,1.288,1.953,0.913,0.992,0.236,0.275,
+0.184,0.180,1.757,0.350,1.397,1.435,0.853,2.270,1.111,1.242,
+0.973,0.839,0.454,0.706,1.425,1.353,0.763,0.893,1.055,0.153,
+0.892,1.116,0.804,1.115,0.861,1.405,1.259,0.978,0.615,0.764,
+1.566,1.249,1.095,0.883,1.495,0.235,0.908,1.134,0.827,0.989,
+0.847,1.290,0.129,0.162,0.102,0.103,0.209,0.223,0.200,0.138,
+0.169,0.064,0.209,0.204,0.104,0.251,0.134,0.185,0.624,0.792,
+0.562,0.514,0.090,0.107,0.084,0.087,0.828,0.161,0.661,0.753,
+0.454,0.921,0.601,0.673,0.559,0.401,0.302,0.432,0.822,0.838,
+0.650,0.702,0.784,0.137,0.648,0.827,0.589,0.769,0.762,0.994,
+1.435,0.823,0.635,1.088,0.802,0.560,0.472,0.578,0.908,0.126,
+0.529,0.835,0.920,0.809,0.715,1.406,1.427,1.309,0.943,0.961,
+1.362,1.167,1.109,0.908,1.006,0.152,0.985,1.317,0.850,1.290,
+0.804,1.184,0.664,0.748,1.248,0.790,0.084,0.080,0.155,0.103,
+0.707,0.106,0.631,0.754,0.493,0.856,0.744,0.830,0.936,0.582,
+0.539,0.868,0.640,0.636,0.651,0.723,1.003,0.112,0.827,1.336,
+1.025,1.140,1.140,1.832,2.611,1.922,1.133,1.540,2.240,2.047,
+1.449,1.256,1.380,0.203,0.808,1.039,1.023,1.319,0.755,1.182,
+3.648,2.278,1.088,1.104,3.048,1.884,1.632,1.296,1.559,0.278,
+1.345,1.367,0.787,1.351,0.747,1.021,0.953,1.329,0.784,0.792,
+0.163,0.222,0.178,0.181,0.811,0.152,0.824,0.798,0.513,1.104,
+0.771,0.878,0.871,0.532,0.489,0.756,1.020,1.168,0.735,0.919,
+0.701,0.108,0.602,0.809,0.620,0.711,0.743,1.315,1.859,2.001,
+0.870,0.978,2.034,2.444,1.425,1.046,1.454,0.274,0.973,1.194,
+0.676,1.349,0.632,1.087,1.586,1.735,0.817,0.754,1.195,0.524,
+1.068,0.847,1.466,0.411,1.188,1.463,0.527,1.399,0.781,0.913,
+0.888,2.105,0.978,0.947,0.217,0.428,0.264,0.258,1.467,0.398,
+1.239,1.416,0.620,2.204,1.033,1.085,0.587,0.634,0.432,0.521,
+1.016,1.597,0.783,0.873,0.850,0.143,0.735,1.083,0.514,0.891,
+0.591,1.106,1.244,1.177,0.592,0.701,2.289,2.261,1.525,1.102,
+1.342,0.291,1.082,1.155,0.659,1.275,0.815,1.083,0.164,0.261,
+0.121,0.117,0.506,0.448,0.359,0.190,0.251,0.145,0.413,0.253,
+0.088,0.388,0.173,0.137,0.774,1.308,0.793,0.702,0.202,0.326,
+0.190,0.149,0.986,0.249,0.935,1.011,0.438,1.403,0.867,0.780,
+0.511,0.486,0.358,0.467,1.277,1.823,1.211,1.225,0.918,0.166,
+0.954,1.125,0.530,0.854,0.884,1.081,0.927,0.705,0.482,0.659,
+0.899,0.746,0.503,0.497,0.647,0.093,0.463,0.627,0.553,0.630,
+0.501,0.820,1.141,1.386,0.836,0.863,1.797,1.673,1.211,0.992,
+1.227,0.245,1.174,1.311,0.585,1.458,0.814,0.945,0.552,0.937,
+0.735,0.680,0.089,0.137,0.101,0.110,0.672,0.119,0.778,0.865,
+0.440,1.028,0.758,0.814,0.573,0.490,0.397,0.575,0.633,0.808,
+0.567,0.758,0.676,0.092,0.678,0.865,0.671,1.281,0.824,1.310,
+1.612,1.404,1.002,1.133,1.425,1.098,0.828,0.857,1.353,0.174,
+0.646,0.807,1.033,0.989,0.561,0.922,1.809,2.009,0.869,0.993,
+1.940,1.713,1.364,1.147,2.730,0.470,1.667,1.762,0.847,1.644,
+0.709,1.000,0.996,1.481,0.819,0.984,0.168,0.242,0.167,0.231,
+1.025,0.234,0.843,0.963,0.724,1.307,0.640,0.913,0.813,0.670,
+0.393,0.836,1.214,1.155,0.683,0.907,1.115,0.171,0.917,1.238,
+1.069,0.853,0.881,1.697,0.123,0.152,0.100,0.095,0.222,0.316,
+0.353,0.160,0.149,0.062,0.121,0.139,0.085,0.179,0.092,0.117,
+0.161,0.254,0.102,0.099,0.306,0.421,0.288,0.190,0.375,0.262,
+0.302,0.329,0.097,0.311,0.113,0.138,0.099,0.261,0.153,0.112,
+0.056,0.153,0.107,0.059,0.220,0.150,0.274,0.251,0.093,0.301,
+0.171,0.154,0.095,0.097,0.058,0.097,0.278,0.372,0.190,0.222,
+0.178,0.054,0.203,0.230,0.115,0.149,0.151,0.212,1.172,1.163,
+0.743,0.668,1.571,1.919,1.351,0.963,1.644,0.382,1.237,1.332,
+1.044,1.231,1.008,1.114,0.135,0.274,0.117,0.096,0.220,0.454,
+0.331,0.157,0.294,0.172,0.430,0.313,0.116,0.314,0.172,0.138,
+0.930,1.733,0.908,0.776,0.222,0.388,0.248,0.178,1.568,0.510,
+1.101,1.441,0.741,1.835,1.074,0.915,0.587,0.684,0.408,0.459,
+1.433,2.289,1.199,1.077,1.997,0.622,1.938,1.820,0.712,1.601,
+1.087,1.114,0.841,0.632,0.407,0.642,0.708,0.580,0.414,0.445,
+0.730,0.107,0.483,0.783,0.643,0.636,0.424,0.879,1.279,1.567,
+0.734,0.846,1.668,2.130,1.220,1.091,1.735,0.347,1.517,1.851,
+0.868,1.734,0.925,1.115,0.771,1.436,0.845,0.801,0.118,0.227,
+0.145,0.133,1.345,0.301,1.216,1.376,0.708,1.724,1.078,1.088,
+0.691,0.560,0.412,0.577,0.778,0.941,0.671,0.712,1.215,0.189,
+1.378,1.507,1.021,1.248,1.061,1.390,1.402,0.888,0.701,1.060,
+0.875,0.569,0.875,0.744,0.865,0.094,0.391,0.686,0.869,0.768,
+0.461,0.989,1.022,0.749,0.381,0.583,0.769,0.569,0.468,0.572,
+0.890,0.138,0.527,0.763,0.568,0.693,0.378,0.681,0.554,0.638,
+0.350,0.533,0.059,0.070,0.045,0.088,0.465,0.062,0.331,0.499,
+0.407,0.528,0.376,0.620,0.707,0.479,0.383,0.767,0.651,0.634,
+0.368,0.671,0.611,0.062,0.391,0.800,0.761,0.613,0.651,1.619,
+1.540,1.244,1.287,1.090,1.504,1.524,4.745,1.474,1.294,0.259,
+0.906,1.129,0.828,1.305,0.705,1.143,1.292,1.376,0.592,0.747,
+1.526,1.581,1.183,1.029,2.782,1.040,1.193,2.223,0.999,2.527,
+0.695,1.339,0.757,1.373,0.642,0.693,0.113,0.183,0.145,0.137,
+0.970,0.208,0.918,1.095,0.631,1.328,0.718,0.998,0.735,0.657,
+0.470,0.789,1.311,1.397,0.855,1.112,0.875,0.135,0.749,1.166,
+0.821,0.949,0.867,1.717,0.841,0.668,0.448,0.582,1.044,0.969,
+0.846,0.783,1.011,0.182,0.670,1.016,0.705,0.784,0.678,1.116,
+0.070,0.093,0.047,0.070,0.112,0.151,0.128,0.087,0.100,0.038,
+0.110,0.125,0.073,0.142,0.085,0.105,0.500,0.832,0.451,0.522,
+0.074,0.107,0.088,0.081,0.887,0.144,0.630,0.757,0.501,0.893,
+0.872,0.760,0.476,0.518,0.362,0.540,0.873,0.988,0.667,0.848,
+0.945,0.186,0.781,1.059,0.615,0.863,0.792,1.080,1.043,0.676,
+0.506,0.795,0.709,0.565,0.501,0.524,0.784,0.097,0.478,0.785,
+0.705,0.614,0.533,1.143,0.827,0.724,0.439,0.598,0.825,0.750,
+0.580,0.637,0.753,0.091,0.572,0.901,0.678,0.825,0.569,0.940,
+0.755,0.870,0.636,0.758,0.110,0.088,0.063,0.092,0.864,0.105,
+0.815,1.045,0.733,1.111,1.045,1.170,1.027,0.692,0.617,1.120,
+1.081,1.356,0.798,1.007,1.323,0.129,1.219,1.948,1.562,1.427,
+1.473,1.922,1.705,1.200,0.976,1.530,1.345,0.982,0.877,0.955,
+1.173,0.133,0.569,0.802,1.223,1.056,0.700,1.018,1.243,0.757,
+0.579,0.634,0.877,0.672,0.633,0.588,0.817,0.108,0.637,0.730,
+0.549,0.665,0.457,0.618,0.723,0.756,0.547,0.680,0.089,0.085,
+0.076,0.152,0.609,0.070,0.398,0.561,0.453,0.660,0.518,0.612,
+1.000,0.503,0.440,0.818,0.881,0.721,0.708,0.836,0.882,0.087,
+0.433,0.967,0.786,0.506,0.741,1.219,2.229,1.458,0.912,1.240,
+2.097,1.593,1.444,1.188,1.313,0.194,0.735,0.895,0.927,1.150,
+0.663,0.975,1.440,1.220,0.795,0.787,1.348,0.926,1.200,0.869,
+1.342,0.213,0.986,1.203,0.674,1.081,0.577,0.725,1.324,1.562,
+1.047,0.946,0.177,0.247,0.199,0.185,1.321,0.223,1.084,1.254,
+0.702,1.439,0.920,0.928,0.910,0.730,0.520,0.750,1.330,1.855,
+1.308,1.107,0.893,0.111,0.666,0.852,0.689,0.702,0.810,1.084,
+1.413,0.747,0.623,0.853,1.602,1.267,1.385,1.308,3.787,0.471,
+1.377,1.187,1.342,1.253,0.975,1.222,0.152,0.148,0.107,0.119,
+0.192,0.227,0.224,0.188,0.380,0.092,0.414,0.246,0.268,0.411,
+0.171,0.214,0.663,0.820,0.922,0.590,0.112,0.113,0.120,0.125,
+0.845,0.161,0.542,0.605,0.559,1.261,0.567,0.539,0.529,0.365,
+0.366,0.431,0.916,0.904,0.838,0.845,0.893,0.125,0.618,0.713,
+0.664,0.684,0.606,0.900,1.383,0.587,0.537,1.044,0.860,0.540,
+0.627,1.151,1.218,0.129,0.588,0.788,1.321,0.863,0.560,1.316,
+1.232,0.757,0.657,0.713,1.109,0.786,0.912,0.923,1.307,0.186,
+1.325,1.133,1.475,1.364,0.654,0.964,0.821,0.752,0.746,0.769,
+0.094,0.079,0.084,0.121,0.750,0.102,0.575,0.861,0.584,0.987,
+0.738,0.966,1.062,0.610,0.545,0.891,0.767,0.655,0.628,0.875,
+1.019,0.105,0.792,1.201,1.334,1.123,1.139,2.163,0.143,0.114,
+0.077,0.097,0.138,0.141,0.124,0.105,0.113,0.020,0.095,0.083,
+0.080,0.104,0.073,0.088,0.326,0.147,0.096,0.098,0.178,0.172,
+0.173,0.121,0.124,0.036,0.260,0.125,0.061,0.111,0.081,0.085,
+0.075,0.108,0.076,0.073,0.018,0.028,0.025,0.023,0.086,0.017,
+0.091,0.107,0.050,0.113,0.084,0.084,0.082,0.058,0.049,0.090,
+0.132,0.184,0.124,0.126,0.179,0.024,0.084,0.431,0.074,0.074,
+0.092,0.156,0.158,0.166,0.083,0.100,0.199,0.252,0.211,0.129,
+0.133,0.040,0.098,0.099,0.072,0.135,0.076,0.089,0.197,0.223,
+0.110,0.102,0.224,0.209,0.261,0.162,0.200,0.066,0.175,0.172,
+0.065,0.155,0.086,0.087,0.108,0.207,0.142,0.110,0.039,0.094,
+0.072,0.042,0.202,0.086,0.203,0.199,0.083,0.229,0.145,0.122,
+0.091,0.118,0.067,0.075,0.208,0.647,0.225,0.169,0.117,0.026,
+0.102,0.132,0.066,0.095,0.092,0.131,0.119,0.101,0.076,0.074,
+0.191,0.230,0.245,0.145,0.384,0.118,0.346,0.153,0.109,0.200,
+0.130,0.126,0.019,0.033,0.023,0.019,0.048,0.079,0.089,0.043,
+0.104,0.082,0.174,0.064,0.025,0.092,0.042,0.026,0.094,0.198,
+0.253,0.103,0.031,0.061,0.066,0.033,0.171,0.075,0.159,0.144,
+0.090,0.367,0.139,0.104,0.071,0.063,0.063,0.060,0.146,0.234,
+0.192,0.194,0.146,0.036,0.152,0.146,0.074,0.115,0.109,0.124,
+0.139,0.111,0.090,0.123,0.127,0.113,0.106,0.132,0.150,0.024,
+0.127,0.111,0.136,0.140,0.112,0.171,0.227,0.230,0.185,0.160,
+0.294,0.330,0.352,0.251,0.350,0.087,0.532,0.306,0.264,0.494,
+0.227,0.231,0.093,0.138,0.149,0.115,0.019,0.041,0.028,0.030,
+0.158,0.037,0.150,0.186,0.086,0.209,0.160,0.195,0.127,0.110,
+0.089,0.112,0.134,0.207,0.127,0.194,0.164,0.023,0.151,0.256,
+0.152,0.183,0.179,0.269,1.085,0.739,0.572,0.770,0.862,0.733,
+0.700,0.639,0.716,0.099,0.672,0.570,0.463,0.475,0.447,0.509,
+0.859,0.819,0.458,0.509,0.987,0.952,1.053,0.644,1.056,0.179,
+0.881,0.876,0.423,0.703,0.421,0.480,0.619,0.913,0.703,0.673,
+0.162,0.212,0.216,0.193,1.704,0.234,0.693,0.760,0.551,1.598,
+0.522,0.599,0.511,0.379,0.312,0.523,0.765,0.778,0.836,0.737,
+0.887,0.126,0.706,0.992,0.576,0.696,0.651,1.511,0.100,0.108,
+0.061,0.076,0.163,0.221,0.152,0.119,0.098,0.033,0.084,0.090,
+0.049,0.096,0.055,0.071,0.092,0.113,0.060,0.057,0.166,0.189,
+0.218,0.114,0.145,0.063,0.191,0.157,0.054,0.103,0.060,0.053,
+0.079,0.191,0.140,0.090,0.039,0.096,0.106,0.047,0.183,0.072,
+0.226,0.171,0.062,0.198,0.105,0.091,0.078,0.077,0.055,0.080,
+0.178,0.307,0.248,0.194,0.131,0.030,0.146,0.164,0.071,0.096,
+0.105,0.165,0.713,0.642,0.565,0.479,1.084,1.175,2.530,0.764,
+0.950,0.211,1.089,0.908,0.399,0.620,0.685,0.684,0.080,0.147,
+0.128,0.064,0.156,0.242,1.383,0.144,0.165,0.078,0.417,0.173,
+0.084,0.157,0.123,0.088,0.664,1.045,0.722,0.535,0.138,0.188,
+0.206,0.127,0.941,0.212,0.458,0.619,0.351,0.790,0.637,0.510,
+0.354,0.342,0.269,0.295,0.705,0.878,0.818,0.669,0.713,0.144,
+0.815,0.827,0.327,0.537,0.527,0.580,0.591,0.381,0.383,0.479,
+0.583,0.433,0.518,0.395,0.536,0.082,0.499,0.852,0.487,0.402,
+0.358,0.581,0.769,0.796,0.613,0.490,1.088,1.160,2.716,0.784,
+1.118,0.215,1.411,1.321,1.215,1.128,0.691,0.763,0.545,0.817,
+0.590,0.543,0.099,0.187,0.134,0.114,0.842,0.157,1.018,0.995,
+0.449,0.978,0.726,0.723,0.471,0.380,0.292,0.416,0.736,0.762,
+0.541,0.582,0.729,0.104,0.809,1.013,0.557,0.746,0.656,0.933,
+1.029,0.564,0.500,0.934,0.562,0.408,0.397,0.467,0.494,0.061,
+0.314,0.444,0.508,0.457,0.482,0.638,0.650,0.467,0.297,0.381,
+0.519,0.397,0.359,0.343,0.416,0.045,0.282,0.382,0.272,0.306,
+0.240,0.352,0.469,0.689,0.333,0.422,0.059,0.069,0.049,0.074,
+0.465,0.058,0.255,0.375,0.306,0.515,0.295,0.417,0.548,0.389,
+0.303,0.527,0.494,0.467,0.471,0.521,0.452,0.051,0.313,0.533,
+0.591,0.479,0.800,1.098,1.338,1.061,0.626,1.023,1.143,1.084,
+0.998,0.878,0.818,0.126,0.591,0.780,0.614,0.772,0.501,0.825,
+1.073,1.049,0.548,0.644,1.271,1.269,1.062,0.834,0.979,0.168,
+0.843,1.047,0.491,0.789,0.477,0.646,0.744,1.350,0.823,0.756,
+0.102,0.196,0.163,0.133,0.929,0.166,0.897,1.068,0.577,1.186,
+0.767,0.933,0.736,0.662,0.510,0.701,1.103,1.434,1.337,1.126,
+0.808,0.121,0.768,0.920,0.662,0.802,0.957,1.225,0.846,0.673,
+0.497,0.772,0.878,0.839,0.924,0.793,0.931,0.145,0.681,0.846,
+0.504,0.578,0.528,0.802,0.096,0.123,0.056,0.085,0.127,0.159,
+0.200,0.107,0.097,0.033,0.146,0.130,0.064,0.116,0.077,0.083,
+0.868,3.982,0.644,0.696,0.083,0.208,0.090,0.101,0.822,0.178,
+0.525,0.725,0.459,0.918,0.599,0.599,0.483,0.853,0.352,0.458,
+0.756,1.087,0.769,0.851,0.685,0.102,0.629,0.837,0.483,0.589,
+0.659,0.803,1.116,0.570,0.577,0.883,0.731,0.627,0.588,0.583,
+0.756,0.120,0.539,0.929,0.584,0.469,0.483,0.953,0.978,0.719,
+0.462,0.604,0.825,0.856,0.798,0.655,0.633,0.083,0.633,0.929,
+0.680,0.660,0.511,0.717,0.712,1.191,0.664,0.788,0.098,0.275,
+0.078,0.106,0.848,0.142,0.866,1.126,0.622,0.967,0.880,0.944,
+1.082,0.888,0.718,1.055,1.404,3.674,0.899,1.056,1.064,0.189,
+0.876,1.320,1.169,1.050,1.082,1.505,2.117,1.160,1.034,1.975,
+1.208,0.687,0.621,0.896,1.151,0.110,0.524,0.808,1.525,1.179,
+0.722,1.289,1.237,0.560,0.432,0.594,0.728,0.390,0.410,0.434,
+0.691,0.064,0.853,0.501,0.615,0.530,0.350,0.540,0.887,0.526,
+0.444,0.756,0.079,0.055,0.048,0.112,0.497,0.045,0.280,0.490,
+0.498,0.594,0.425,0.688,1.354,0.571,0.556,1.205,0.906,0.617,
+0.574,1.050,0.731,0.067,0.409,0.745,1.117,0.707,0.785,1.766,
+1.411,0.752,0.489,0.916,0.871,0.595,0.458,0.596,0.633,0.075,
+0.297,0.496,0.654,0.608,0.327,0.750,0.842,0.545,0.342,0.479,
+0.513,0.336,0.355,0.373,0.567,0.059,0.331,0.456,0.436,0.443,
+0.275,0.502,0.758,0.629,0.506,0.668,0.071,0.070,0.057,0.076,
+0.576,0.056,0.330,0.517,0.483,0.627,0.424,0.599,0.698,0.486,
+0.507,0.915,0.697,0.829,0.485,0.606,0.501,0.042,0.296,0.492,
+0.538,0.456,0.450,1.070,1.243,0.521,0.446,0.833,0.851,0.484,
+0.458,0.729,1.225,0.129,0.428,0.578,1.140,0.768,0.472,1.148,
+0.105,0.060,0.045,0.082,0.087,0.058,0.058,0.084,0.099,0.012,
+0.083,0.083,0.135,0.153,0.068,0.139,0.487,0.413,0.443,0.485,
+0.047,0.033,0.036,0.059,0.448,0.058,0.235,0.351,0.442,0.612,
+0.381,0.516,0.491,0.265,0.298,0.527,0.552,0.389,0.372,0.588,
+0.528,0.047,0.301,0.520,0.596,0.485,0.493,0.950,1.829,0.649,
+0.647,1.362,0.842,0.443,0.454,0.898,1.239,0.116,0.523,0.806,
+2.229,1.165,0.734,1.932,1.343,0.641,0.536,0.773,0.852,0.515,
+0.610,0.706,0.984,0.084,0.617,0.777,1.216,1.127,0.619,1.303,
+0.792,0.566,0.536,0.775,0.067,0.046,0.045,0.083,0.681,0.055,
+0.363,0.616,0.686,0.791,0.551,0.909,1.348,0.659,0.618,1.272,
+0.767,0.560,0.556,0.900,1.111,0.079,0.631,1.247,1.784,1.284,
+1.260,2.857,1.915,1.042,0.776,1.336,1.120,0.884,0.721,0.777,
+0.956,0.122,1.011,0.786,0.991,0.985,0.617,1.055,1.632,0.888,
+0.683,0.857,0.980,0.760,0.753,0.644,0.900,0.143,4.466,1.086,
+0.534,0.786,0.773,0.752,0.693,0.717,0.538,0.736,0.081,0.103,
+0.072,0.109,0.588,0.079,0.520,0.691,0.503,0.851,0.556,0.801,
+0.754,0.445,0.436,0.765,0.834,0.977,0.627,0.800,0.821,0.099,
+0.509,1.141,0.711,0.637,0.692,1.371,1.387,1.039,0.572,1.064,
+1.126,1.115,0.764,0.732,0.761,0.121,0.423,0.636,0.656,0.910,
+0.428,0.841,1.129,0.992,0.505,0.663,0.962,0.910,0.778,0.677,
+0.977,0.163,0.701,0.821,0.462,0.835,0.446,0.615,0.741,1.100,
+0.726,0.818,0.126,0.274,0.118,0.128,0.966,0.161,0.682,0.855,
+0.611,1.240,0.656,0.904,0.660,0.812,0.608,0.688,1.180,3.220,
+0.843,0.876,0.614,0.094,0.434,0.663,0.513,0.645,0.515,1.015,
+1.146,0.640,0.490,0.795,0.966,0.851,0.759,0.861,1.391,0.237,
+1.207,0.754,0.923,1.267,0.708,1.173,0.082,0.102,0.070,0.089,
+0.105,0.141,0.115,0.095,0.197,0.069,0.436,0.146,0.110,0.290,
+0.133,0.127,0.659,0.827,0.940,0.676,0.078,0.116,0.085,0.090,
+0.765,0.140,0.489,0.633,0.586,1.418,0.581,0.755,0.646,0.401,
+0.442,0.578,0.785,0.957,0.680,0.866,0.777,0.087,0.614,0.787,
+0.635,0.695,0.683,1.119,1.254,0.670,0.566,0.964,0.710,0.488,
+0.474,0.676,0.835,0.092,0.565,0.648,1.075,0.987,0.766,1.311,
+1.237,1.003,0.797,0.890,1.087,0.934,0.930,0.900,1.291,0.192,
+1.501,1.091,1.163,2.305,1.098,1.249,0.658,0.811,0.711,0.770,
+0.071,0.088,0.060,0.084,0.683,0.079,0.554,0.797,0.599,1.048,
+0.688,1.081,0.925,0.579,0.587,0.858,0.787,0.800,0.539,0.841,
+0.911,0.082,0.660,1.317,1.201,1.071,0.993,1.901,1.344,0.847,
+0.547,0.941,0.734,0.574,0.434,0.539,0.781,0.086,0.395,0.629,
+0.724,0.592,0.374,0.758,1.260,0.963,0.497,0.698,0.928,0.720,
+0.606,0.574,0.997,0.132,0.782,0.822,0.656,0.901,0.478,0.782,
+0.758,0.951,0.729,0.964,0.121,0.142,0.121,0.181,0.931,0.120,
+0.567,0.890,0.607,1.042,0.605,0.965,0.788,0.528,0.424,0.817,
+0.765,0.749,0.632,0.780,0.918,0.108,0.696,1.000,0.923,0.693,
+0.798,1.685,0.094,0.084,0.052,0.094,0.089,0.108,0.074,0.079,
+0.070,0.019,0.052,0.072,0.067,0.114,0.058,0.096,0.089,0.091,
+0.046,0.057,0.100,0.123,0.090,0.068,0.103,0.030,0.105,0.100,
+0.057,0.103,0.056,0.075,0.069,0.123,0.071,0.090,0.019,0.042,
+0.026,0.024,0.137,0.036,0.105,0.140,0.069,0.171,0.099,0.136,
+0.091,0.080,0.056,0.103,0.135,0.219,0.127,0.149,0.110,0.018,
+0.093,0.135,0.101,0.098,0.092,0.180,1.038,0.659,0.462,0.538,
+0.903,0.941,0.839,0.661,0.860,0.173,0.606,0.733,0.571,0.838,
+0.681,0.898,0.089,0.107,0.057,0.062,0.094,0.129,0.161,0.069,
+0.107,0.035,0.136,0.103,0.077,0.183,0.097,0.106,0.775,1.238,
+0.616,0.666,0.114,0.172,0.110,0.108,0.935,0.168,0.522,0.711,
+0.541,1.236,0.672,0.779,0.604,0.494,0.387,0.504,0.882,1.033,
+0.742,0.816,1.062,0.152,0.873,0.989,0.706,1.063,0.835,1.078,
+0.842,0.494,0.413,0.671,0.650,0.476,0.401,0.559,0.678,0.080,
+0.474,0.782,0.777,0.688,0.516,1.192,1.134,0.954,0.694,0.753,
+0.960,0.974,0.929,0.785,1.084,0.147,0.946,1.283,1.056,1.353,
+0.811,1.308,0.942,1.120,0.764,0.951,0.090,0.142,0.096,0.116,
+1.058,0.141,0.867,1.066,0.836,1.407,1.014,1.252,0.909,0.597,
+0.528,0.796,0.809,0.831,0.643,0.788,1.181,0.114,1.003,1.357,
+1.137,1.184,1.133,1.893,2.199,0.898,0.739,1.538,0.845,0.525,
+0.469,0.796,0.820,0.083,0.428,0.828,1.018,0.756,0.638,1.394,
+1.048,0.632,0.384,0.753,0.815,0.488,0.376,0.572,0.667,0.061,
+0.496,0.655,0.516,0.515,0.426,0.757,0.768,0.865,0.437,0.915,
+0.068,0.069,0.046,0.111,0.568,0.071,0.359,0.649,0.563,0.697,
+0.490,0.858,1.150,0.614,0.546,1.242,0.763,0.580,0.573,0.927,
+0.821,0.069,0.529,1.073,1.330,0.834,1.181,2.506,1.189,0.764,
+0.516,1.094,0.776,0.646,0.560,0.678,0.617,0.069,0.356,0.663,
+0.608,0.643,0.436,0.970,0.862,0.653,0.339,0.548,0.708,0.542,
+0.431,0.587,0.705,0.095,0.476,0.707,0.496,0.626,0.400,0.676,
+0.729,0.835,0.510,0.851,0.065,0.088,0.058,0.088,0.774,0.091,
+0.531,0.849,0.736,1.000,0.637,1.088,0.840,0.605,0.484,0.885,
+0.907,0.897,0.705,0.951,0.787,0.075,0.507,0.898,0.892,0.761,
+0.818,1.651,1.411,0.936,0.680,1.019,1.080,0.839,0.765,1.098,
+1.142,0.149,0.647,0.951,0.930,0.926,0.999,1.784,0.115,0.143,
+0.063,0.111,0.093,0.110,0.086,0.099,0.099,0.024,0.082,0.112,
+0.100,0.146,0.107,0.170,0.973,1.615,0.670,1.020,0.082,0.106,
+0.068,0.118,1.132,0.133,0.639,1.017,0.943,1.258,0.868,1.415,
+1.052,0.780,0.583,0.911,1.124,1.032,0.819,1.204,1.199,0.116,
+0.893,1.370,1.100,1.024,1.184,1.861,2.542,1.133,0.893,1.863,
+1.186,0.938,0.756,1.122,1.361,0.126,0.769,1.372,1.702,1.209,
+1.312,3.076,1.863,1.290,0.910,1.250,1.350,1.327,0.871,1.119,
+1.341,0.124,0.937,1.609,1.319,1.345,1.079,1.963,1.632,1.661,
+1.105,1.680,0.111,0.138,0.083,0.150,1.795,0.158,1.548,1.980,
+1.938,1.988,2.027,2.618,3.160,1.459,1.465,2.753,1.799,1.915,
+1.275,1.996,2.313,0.151,1.823,2.962,3.243,1.937,2.383,4.008,
+0.162,0.129,0.083,0.117,0.139,0.101,0.086,0.079,0.134,0.027,
+0.093,0.100,0.124,0.123,0.088,0.121,0.204,0.185,0.079,0.082,
+0.142,0.123,0.097,0.074,0.134,0.028,0.096,0.089,0.073,0.107,
+0.073,0.084,0.098,0.099,0.089,0.078,0.014,0.019,0.029,0.016,
+0.104,0.027,0.347,0.118,0.071,0.119,0.364,0.098,0.130,0.068,
+0.062,0.094,0.114,0.097,0.085,0.094,0.085,0.015,0.102,0.090,
+0.082,0.065,0.099,0.099,0.176,0.145,0.074,0.100,0.149,0.151,
+0.108,0.087,0.127,0.030,0.082,0.098,0.072,0.117,0.072,0.095,
+0.167,0.192,0.095,0.098,0.191,0.188,0.120,0.086,0.159,0.066,
+0.131,0.131,0.059,0.136,0.098,0.124,0.082,0.133,0.073,0.073,
+0.023,0.041,0.033,0.020,0.128,0.046,0.127,0.106,0.048,0.146,
+0.091,0.089,0.071,0.057,0.043,0.066,0.105,0.128,0.082,0.088,
+0.104,0.020,0.090,0.094,0.067,0.085,0.070,0.115,0.102,0.066,
+0.046,0.060,0.094,0.083,0.079,0.065,0.110,0.032,0.070,0.079,
+0.064,0.087,0.074,0.090,0.014,0.019,0.011,9.53e-3,0.019,0.027,
+0.022,0.012,0.019,0.014,0.028,0.022,9.78e-3,0.030,0.015,0.018,
+0.051,0.057,0.067,0.042,0.014,0.016,0.016,0.011,0.068,0.027,
+0.070,0.063,0.028,0.071,0.064,0.049,0.050,0.032,0.033,0.046,
+0.068,0.064,0.057,0.062,0.071,0.021,0.094,0.078,0.042,0.066,
+0.063,0.076,0.119,0.064,0.048,0.085,0.062,0.052,0.040,0.057,
+0.079,0.011,0.039,0.059,0.084,0.075,0.067,0.119,0.140,0.110,
+0.070,0.072,0.120,0.099,0.079,0.067,0.104,0.020,0.083,0.096,
+0.075,0.115,0.075,0.101,0.066,0.068,0.125,0.074,7.60e-3,0.013,
+0.024,0.011,0.075,0.015,0.072,0.076,0.044,0.083,0.078,0.069,
+0.092,0.053,0.048,0.077,0.059,0.055,0.062,0.072,0.089,0.013,
+0.075,0.104,0.077,0.083,0.090,0.157,0.188,0.187,0.098,0.136,
+0.181,0.197,0.126,0.104,0.154,0.034,0.098,0.111,0.079,0.130,
+0.097,0.106,0.223,0.345,0.123,0.111,0.239,0.209,0.174,0.105,
+0.151,0.071,0.191,0.132,0.062,0.153,0.104,0.086,0.102,0.166,
+0.135,0.085,0.026,0.043,0.055,0.025,0.187,0.047,0.468,0.194,
+0.085,0.227,0.888,0.174,0.082,0.057,0.053,0.058,0.131,0.151,
+0.098,0.082,0.117,0.037,0.133,0.146,0.069,0.089,0.151,0.108,
+0.196,0.252,0.096,0.099,0.225,0.343,0.200,0.126,0.176,0.065,
+0.117,0.129,0.065,0.182,0.078,0.104,0.182,0.314,0.116,0.131,
+0.245,0.224,0.252,0.144,0.191,0.126,0.190,0.215,0.066,0.206,
+0.140,0.101,0.111,0.314,0.138,0.142,0.058,0.167,0.086,0.046,
+0.225,0.144,0.227,0.218,0.079,0.430,0.211,0.143,0.074,0.094,
+0.048,0.061,0.159,0.331,0.132,0.119,0.143,0.036,0.106,0.114,
+0.072,0.131,0.079,0.111,0.093,0.115,0.055,0.053,0.179,0.197,
+0.153,0.090,0.122,0.042,0.119,0.094,0.046,0.100,0.082,0.089,
+0.027,0.105,0.023,0.015,0.071,0.104,0.088,0.027,0.051,0.078,
+0.099,0.053,9.02e-3,0.051,0.027,0.019,0.143,0.167,0.287,0.096,
+0.095,0.080,0.063,0.034,0.134,0.068,0.147,0.122,0.046,0.170,
+0.138,0.083,0.054,0.047,0.047,0.064,0.164,0.175,0.148,0.116,
+0.106,0.038,0.143,0.124,0.041,0.086,0.083,0.085,0.076,0.061,
+0.039,0.052,0.071,0.068,0.063,0.043,0.066,0.015,0.043,0.049,
+0.044,0.051,0.044,0.067,0.123,0.190,0.088,0.089,0.176,0.172,
+0.125,0.090,0.110,0.044,0.131,0.122,0.060,0.179,0.087,0.095,
+0.065,0.118,0.105,0.078,0.016,0.033,0.024,0.016,0.103,0.034,
+0.122,0.113,0.046,0.118,0.141,0.096,0.066,0.056,0.051,0.057,
+0.067,0.087,0.062,0.068,0.089,0.021,0.095,0.116,0.071,0.100,
+0.091,0.117,0.125,0.174,0.054,0.063,0.204,0.096,0.057,0.052,
+0.082,0.016,0.046,0.048,0.056,0.069,0.036,0.049,0.230,1.104,
+0.114,0.090,0.145,0.209,0.110,0.078,0.147,0.074,0.115,0.106,
+0.059,0.180,0.064,0.078,0.074,0.205,0.075,0.066,0.018,0.038,
+0.025,0.018,0.096,0.030,0.094,0.074,0.040,0.119,0.091,0.061,
+0.056,0.074,0.043,0.051,0.081,0.105,0.063,0.063,0.087,0.018,
+0.067,0.084,0.061,0.075,0.066,0.110,0.015,0.025,8.19e-3,9.02e-3,
+0.032,0.043,0.025,0.015,0.021,0.017,0.016,0.016,8.27e-3,0.020,
+9.36e-3,0.011,0.024,0.078,0.017,0.016,0.036,0.077,0.044,0.024,
+0.041,0.059,0.048,0.038,0.010,0.041,0.018,0.016,0.013,0.048,
+0.017,0.014,0.015,0.040,0.029,0.010,0.030,0.033,0.052,0.031,
+8.02e-3,0.047,0.030,0.020,9.19e-3,0.015,7.02e-3,8.77e-3,0.033,0.053,
+0.033,0.026,0.024,0.014,0.027,0.025,0.011,0.018,0.017,0.022,
+0.068,0.071,0.041,0.037,0.074,0.096,0.124,0.047,0.121,0.044,
+0.088,0.073,0.039,0.084,0.067,0.050,0.011,0.039,0.015,9.53e-3,
+0.023,0.042,0.047,0.012,0.034,0.042,0.049,0.028,9.36e-3,0.036,
+0.021,0.012,0.053,0.120,0.071,0.051,0.026,0.054,0.047,0.016,
+0.123,0.076,0.107,0.104,0.042,0.130,0.125,0.064,0.043,0.038,
+0.033,0.028,0.076,0.127,0.099,0.067,0.128,0.049,0.129,0.116,
+0.047,0.117,0.076,0.072,0.050,0.043,0.023,0.033,0.043,0.034,
+0.032,0.029,0.097,0.013,0.031,0.041,0.051,0.045,0.033,0.053,
+0.090,0.136,0.055,0.054,0.099,0.121,0.111,0.059,0.141,0.048,
+0.099,0.102,0.077,0.127,0.075,0.073,0.054,0.105,0.072,0.056,
+0.014,0.045,0.020,0.014,0.118,0.049,0.095,0.101,0.050,0.128,
+0.106,0.077,0.055,0.046,0.037,0.044,0.074,0.097,0.077,0.056,
+0.097,0.023,0.098,0.104,0.075,0.111,0.081,0.104,0.138,0.098,
+0.066,0.098,0.080,0.070,0.047,0.051,0.081,0.010,0.035,0.061,
+0.078,0.081,0.042,0.083,0.097,0.156,0.042,0.059,0.068,0.058,
+0.043,0.039,0.064,0.016,0.039,0.055,0.049,0.066,0.041,0.094,
+0.060,0.072,0.048,0.065,9.19e-3,0.013,9.78e-3,0.013,0.068,0.012,
+0.045,0.051,0.040,0.073,0.075,0.062,0.075,0.052,0.039,0.083,
+0.075,0.074,0.046,0.065,0.075,0.018,0.044,0.074,0.085,0.134,
+0.064,0.160,0.136,0.130,0.081,0.094,0.134,0.148,0.113,0.092,
+0.123,0.031,0.074,0.097,0.079,0.143,0.063,0.097,0.136,0.198,
+0.061,0.089,0.158,0.217,0.111,0.109,0.155,0.073,0.117,0.184,
+0.074,0.180,0.066,0.108,0.076,0.130,0.065,0.083,0.022,0.046,
+0.024,0.020,0.121,0.037,0.120,0.131,0.066,0.186,0.110,0.103,
+0.065,0.056,0.038,0.067,0.122,0.144,0.085,0.112,0.111,0.027,
+0.084,0.112,0.087,0.131,0.080,0.153,0.070,0.066,0.042,0.056,
+0.085,0.082,0.077,0.056,0.130,0.045,0.066,0.088,0.098,0.117,
+0.078,0.108,9.02e-3,0.018,6.27e-3,0.015,0.013,0.023,0.024,0.011,
+0.023,0.020,0.021,0.020,0.012,0.027,0.019,0.016,0.057,0.083,
+0.174,0.070,0.014,0.024,0.065,0.016,0.106,0.040,0.087,0.078,
+0.062,0.120,0.557,0.140,0.047,0.051,0.047,0.047,0.085,0.114,
+0.162,0.087,0.273,0.254,0.132,0.132,0.073,0.258,0.148,0.114,
+0.099,0.065,0.045,0.069,0.064,0.064,0.038,0.043,0.202,0.013,
+0.043,0.073,0.100,0.081,0.077,0.128,0.074,0.062,0.035,0.058,
+0.070,0.064,0.069,0.060,0.107,0.018,0.055,0.093,0.067,0.102,
+0.081,0.093,0.074,0.093,0.084,0.083,0.013,0.017,0.022,0.014,
+0.114,0.023,0.128,0.179,0.093,0.168,0.773,0.263,0.094,0.063,
+0.058,0.105,0.101,0.114,0.090,0.102,0.159,0.029,0.113,0.180,
+0.147,0.161,0.200,0.230,0.168,0.140,0.102,0.118,0.152,0.155,
+0.113,0.102,0.122,0.035,0.105,0.102,0.100,0.135,0.076,0.095,
+0.204,0.195,0.111,0.102,0.228,0.221,0.211,0.144,0.156,0.064,
+0.165,0.154,0.072,0.161,0.091,0.161,0.077,0.110,0.082,0.070,
+0.017,0.031,0.028,0.021,0.079,0.036,0.092,0.075,0.044,0.121,
+0.083,0.080,0.079,0.052,0.041,0.062,0.103,0.096,0.067,0.077,
+0.080,0.022,0.066,0.086,0.060,0.071,0.073,0.101,0.199,0.209,
+0.096,0.101,0.201,0.275,0.171,0.114,0.155,0.075,0.141,0.136,
+0.071,0.171,0.135,0.179,0.215,0.353,0.133,0.120,0.309,0.360,
+0.242,0.193,0.288,0.220,0.269,0.362,0.086,0.303,0.133,0.709,
+0.087,0.233,0.104,0.082,0.046,0.130,0.101,0.041,0.172,0.143,
+0.238,0.197,0.070,0.300,0.191,0.319,0.055,0.061,0.036,0.041,
+0.111,0.164,0.093,0.094,0.098,0.042,0.112,0.161,0.050,0.107,
+0.079,0.181,0.079,0.073,0.048,0.048,0.149,0.135,0.119,0.079,
+0.123,0.041,0.124,0.092,0.046,0.080,0.065,0.084,0.019,0.032,
+0.018,0.013,0.063,0.070,0.056,0.029,0.039,0.044,0.091,0.049,
+9.78e-3,0.044,0.026,0.033,0.045,0.081,0.082,0.044,0.020,0.038,
+0.036,0.021,0.091,0.059,0.124,0.109,0.040,0.096,0.078,0.063,
+0.033,0.035,0.027,0.027,0.071,0.094,0.083,0.064,0.071,0.035,
+0.095,0.085,0.039,0.067,0.073,0.073,0.076,0.049,0.046,0.053,
+0.052,0.041,0.037,0.034,0.055,0.012,0.045,0.044,0.047,0.051,
+0.042,0.084,0.101,0.112,0.084,0.075,0.165,0.146,0.115,0.093,
+0.097,0.034,0.122,0.124,0.051,0.122,0.076,0.101,0.065,0.093,
+0.640,0.179,0.013,0.022,0.070,0.020,0.066,0.032,0.122,0.085,
+0.036,0.092,0.120,0.076,0.053,0.040,0.078,0.056,0.043,0.061,
+0.100,0.048,0.073,0.016,0.073,0.093,0.056,0.078,0.086,0.116,
+0.200,0.220,0.119,0.121,0.278,0.351,0.214,0.142,0.153,0.053,
+0.171,0.128,0.074,0.148,0.083,0.097,0.367,0.358,0.172,0.135,
+0.669,0.549,0.442,0.238,0.237,0.160,0.371,0.247,0.079,0.247,
+0.119,0.113,0.114,0.197,0.119,0.096,0.038,0.091,0.072,0.041,
+0.117,0.063,0.187,0.146,0.058,0.174,0.146,0.118,0.062,0.054,
+0.042,0.073,0.111,0.182,0.105,0.104,0.087,0.029,0.111,0.130,
+0.074,0.079,0.078,0.105,0.239,0.381,0.154,0.130,0.416,0.818,
+0.377,0.209,0.279,0.145,0.233,0.216,0.079,0.226,0.106,0.166,
+0.260,0.473,0.198,0.154,0.345,0.398,0.422,0.253,0.330,0.436,
+0.330,0.359,0.093,0.458,0.212,0.182,0.125,0.497,0.208,0.174,
+0.104,0.539,0.257,0.118,0.302,0.360,0.366,0.414,0.101,0.590,
+0.303,0.249,0.061,0.111,0.053,0.054,0.191,0.534,0.198,0.184,
+0.155,0.090,0.197,0.187,0.062,0.158,0.104,0.184,0.131,0.142,
+0.077,0.061,0.541,0.476,0.326,0.168,0.188,0.083,0.291,0.158,
+0.057,0.155,0.128,0.104,0.058,0.117,0.052,0.033,0.362,0.420,
+0.303,0.085,0.114,0.205,0.327,0.118,0.021,0.117,0.072,0.034,
+0.092,0.243,0.144,0.092,0.077,0.208,0.143,0.052,0.163,0.146,
+0.234,0.186,0.047,0.249,0.173,0.110,0.045,0.057,0.043,0.038,
+0.184,0.319,0.252,0.154,0.139,0.078,0.256,0.188,0.055,0.113,
+0.135,0.114,0.077,0.079,0.049,0.057,0.146,0.131,0.069,0.051,
+0.077,0.017,0.076,0.061,0.048,0.066,0.042,0.066,0.146,0.233,
+0.117,0.097,0.608,0.465,0.239,0.172,0.174,0.085,0.295,0.184,
+0.077,0.226,0.126,0.114,0.053,0.145,0.137,0.075,0.021,0.066,
+0.042,0.024,0.099,0.060,0.199,0.148,0.040,0.168,0.155,0.127,
+0.047,0.050,0.042,0.049,0.066,0.124,0.095,0.077,0.088,0.027,
+0.124,0.117,0.055,0.115,0.102,0.128,0.112,0.134,0.081,0.075,
+0.137,0.136,0.089,0.084,0.099,0.032,0.077,0.067,0.057,0.098,
+0.045,0.059,0.187,0.341,0.114,0.119,0.335,0.348,0.284,0.190,
+0.314,0.211,0.302,0.256,0.080,0.227,0.086,0.098,0.096,0.191,
+0.109,0.104,0.042,0.066,0.043,0.045,0.146,0.070,0.138,0.147,
+0.065,0.168,0.096,0.103,0.056,0.047,0.035,0.051,0.121,0.119,
+0.089,0.086,0.106,0.032,0.114,0.126,0.097,0.087,0.082,0.131,
+0.023,0.049,0.019,0.018,0.061,0.141,0.090,0.046,0.045,0.058,
+0.053,0.044,0.011,0.045,0.024,0.023,0.057,0.174,0.051,0.039,
+0.185,0.425,0.270,0.103,0.203,0.778,0.302,0.229,0.029,0.158,
+0.050,0.049,0.033,0.139,0.058,0.036,0.059,0.254,0.160,0.049,
+0.087,0.167,0.180,0.119,0.025,0.164,0.108,0.059,0.012,0.020,
+9.44e-3,0.010,0.054,0.114,0.059,0.050,0.038,0.042,0.080,0.058,
+0.021,0.034,0.034,0.038,0.096,0.168,0.097,0.068,0.200,0.383,
+0.265,0.123,0.207,0.105,0.239,0.166,0.062,0.160,0.121,0.102,
+0.034,0.146,0.049,0.025,0.112,0.348,0.220,0.062,0.124,0.220,
+0.304,0.134,0.022,0.104,0.068,0.035,0.101,0.301,0.149,0.096,
+0.076,0.217,0.137,0.053,0.262,0.255,0.247,0.261,0.067,0.298,
+0.179,0.126,0.046,0.062,0.040,0.046,0.153,0.314,0.190,0.142,
+0.198,0.123,0.323,0.251,0.058,0.158,0.147,0.126,0.058,0.059,
+0.036,0.061,0.060,0.066,0.039,0.036,0.080,0.027,0.054,0.074,
+0.047,0.062,0.030,0.058,0.140,0.283,0.108,0.091,0.271,0.411,
+0.299,0.156,0.324,0.196,0.350,0.343,0.108,0.271,0.146,0.135,
+0.082,0.216,0.215,0.126,0.028,0.098,0.062,0.037,0.208,0.146,
+0.280,0.249,0.067,0.267,0.171,0.129,0.065,0.059,0.043,0.056,
+0.077,0.124,0.089,0.096,0.154,0.052,0.218,0.198,0.084,0.156,
+0.127,0.165,0.096,0.080,0.049,0.068,0.074,0.064,0.075,0.069,
+0.071,0.017,0.044,0.065,0.059,0.083,0.037,0.074,0.090,0.098,
+0.041,0.058,0.096,0.087,0.065,0.070,0.085,0.037,0.073,0.109,
+0.048,0.082,0.039,0.061,0.051,0.074,0.041,0.063,9.86e-3,0.013,
+9.19e-3,0.012,0.054,0.016,0.046,0.065,0.031,0.066,0.040,0.058,
+0.052,0.041,0.026,0.058,0.057,0.053,0.036,0.059,0.053,9.61e-3,
+0.041,0.078,0.063,0.061,0.051,0.144,0.134,0.135,0.096,0.089,
+0.165,0.236,0.439,0.179,0.142,0.055,0.123,0.152,0.071,0.164,
+0.073,0.108,0.149,0.261,0.086,0.122,0.265,0.454,0.265,0.200,
+0.341,0.239,0.272,0.656,0.101,0.377,0.109,0.184,0.087,0.201,
+0.104,0.091,0.038,0.091,0.062,0.039,0.138,0.078,0.188,0.182,
+0.068,0.248,0.133,0.129,0.056,0.055,0.037,0.057,0.145,0.194,
+0.114,0.144,0.101,0.033,0.117,0.155,0.074,0.117,0.083,0.228,
+0.065,0.080,0.041,0.049,0.114,0.161,0.119,0.087,0.111,0.039,
+0.110,0.109,0.056,0.083,0.074,0.089,0.012,0.023,8.52e-3,0.018,
+0.030,0.063,0.044,0.025,0.025,0.028,0.049,0.038,0.011,0.031,
+0.020,0.017,0.051,0.117,0.064,0.061,0.018,0.043,0.034,0.018,
+0.120,0.071,0.143,0.116,0.044,0.143,0.117,0.082,0.036,0.039,
+0.033,0.058,0.079,0.120,0.086,0.091,0.123,0.049,0.128,0.119,
+0.056,0.108,0.088,0.098,0.064,0.059,0.033,0.048,0.055,0.059,
+0.037,0.036,0.076,0.011,0.059,0.062,0.047,0.050,0.040,0.076,
+0.071,0.083,0.045,0.053,0.099,0.115,0.089,0.078,0.113,0.029,
+0.102,0.112,0.058,0.097,0.065,0.093,0.057,0.090,0.089,0.074,
+0.013,0.020,0.018,0.013,0.096,0.040,0.136,0.133,0.058,0.135,
+0.152,0.106,0.067,0.051,0.044,0.078,0.077,0.111,0.083,0.100,
+0.153,0.028,0.154,0.174,0.116,0.182,0.149,0.201,0.084,0.087,
+0.057,0.075,0.088,0.096,0.083,0.062,0.089,0.020,0.066,0.068,
+0.059,0.078,0.051,0.054,0.088,0.087,0.061,0.053,0.090,0.100,
+0.095,0.072,0.080,0.039,0.113,0.082,0.037,0.081,0.058,0.058,
+0.052,0.080,0.056,0.066,0.011,0.018,0.017,0.014,0.060,0.018,
+0.050,0.079,0.032,0.066,0.047,0.045,0.055,0.038,0.028,0.057,
+0.068,0.118,0.057,0.061,0.100,0.019,0.049,0.277,0.043,0.039,
+0.044,0.076,0.134,0.147,0.087,0.080,0.180,0.230,0.206,0.101,
+0.120,0.046,0.104,0.084,0.057,0.107,0.079,0.067,0.155,0.241,
+0.121,0.091,0.219,0.227,0.277,0.139,0.177,0.171,0.239,0.232,
+0.071,0.202,0.119,0.117,0.101,0.231,0.133,0.094,0.045,0.126,
+0.132,0.052,0.201,0.123,0.279,0.227,0.073,0.223,0.173,0.114,
+0.065,0.095,0.041,0.065,0.164,0.585,0.154,0.134,0.102,0.035,
+0.098,0.129,0.051,0.074,0.098,0.096,0.085,0.065,0.063,0.057,
+0.135,0.149,0.194,0.113,0.379,0.080,0.286,0.126,0.077,0.119,
+0.102,0.082,0.019,0.028,0.025,0.019,0.041,0.063,0.091,0.049,
+0.088,0.096,0.184,0.066,0.023,0.090,0.045,0.026,0.059,0.115,
+0.202,0.079,0.027,0.047,0.066,0.036,0.120,0.067,0.128,0.109,
+0.056,0.245,0.102,0.072,0.034,0.029,0.039,0.029,0.077,0.120,
+0.134,0.086,0.086,0.034,0.097,0.081,0.042,0.077,0.067,0.073,
+0.060,0.035,0.032,0.046,0.049,0.040,0.046,0.048,0.068,0.012,
+0.072,0.048,0.075,0.066,0.037,0.063,0.099,0.081,0.070,0.056,
+0.097,0.091,0.122,0.102,0.145,0.124,0.357,0.152,0.097,0.198,
+0.096,0.089,0.050,0.076,0.098,0.063,0.014,0.018,0.025,0.020,
+0.084,0.029,0.094,0.101,0.043,0.121,0.093,0.080,0.059,0.044,
+0.040,0.050,0.064,0.065,0.067,0.065,0.092,0.018,0.082,0.096,
+0.076,0.091,0.098,0.127,0.012,0.015,0.014,9.11e-3,0.018,0.038,
+0.028,0.015,0.015,0.010,0.036,0.022,6.52e-3,0.016,0.013,9.02e-3,
+0.029,0.045,0.035,0.019,0.052,0.080,0.089,0.039,0.037,0.065,
+0.156,0.049,9.44e-3,0.042,0.031,0.023,0.012,0.034,0.020,0.011,
+0.012,0.025,0.024,0.012,0.023,0.021,0.050,0.044,7.19e-3,0.033,
+0.029,0.017,8.69e-3,9.44e-3,5.85e-3,0.017,0.022,0.064,0.027,0.029,
+0.041,0.017,0.035,0.332,8.44e-3,0.014,0.016,0.030,0.028,0.045,
+0.024,0.013,0.070,0.148,0.125,0.039,0.041,0.041,0.059,0.032,
+7.27e-3,0.027,0.031,0.015,0.058,0.144,0.071,0.036,0.167,0.218,
+0.301,0.093,0.098,0.195,0.173,0.109,0.021,0.090,0.066,0.037,
+0.021,0.103,0.056,0.023,0.051,0.232,0.194,0.049,0.101,0.168,
+0.182,0.115,0.027,0.134,0.102,0.047,0.014,0.045,0.016,0.012,
+0.074,0.393,0.092,0.050,0.034,0.028,0.057,0.050,0.012,0.031,
+0.028,0.027,0.019,0.027,0.021,0.011,0.056,0.116,0.135,0.044,
+0.146,0.090,0.156,0.050,0.015,0.063,0.037,0.020,0.017,0.055,
+0.028,0.015,0.069,0.187,0.176,0.053,0.144,0.356,0.225,0.091,
+0.015,0.132,0.054,0.023,0.026,0.078,0.114,0.030,0.041,0.117,
+0.155,0.032,0.093,0.147,0.195,0.095,0.027,0.164,0.099,0.043,
+0.011,0.019,0.018,8.77e-3,0.042,0.102,0.115,0.043,0.051,0.066,
+0.128,0.077,0.011,0.037,0.042,0.028,9.19e-3,8.69e-3,8.19e-3,9.36e-3,
+0.012,0.018,0.018,0.014,0.017,7.35e-3,0.030,0.012,0.010,0.015,
+7.69e-3,0.011,0.025,0.045,0.036,0.020,0.057,0.091,0.084,0.056,
+0.094,0.104,0.176,0.057,0.031,0.176,0.052,0.033,0.010,0.033,
+0.032,0.017,8.19e-3,0.030,0.029,0.012,0.040,0.040,0.089,0.061,
+0.014,0.070,0.050,0.029,0.011,0.012,0.011,9.28e-3,0.014,0.038,
+0.023,0.020,0.023,0.013,0.042,0.034,0.014,0.027,0.031,0.024,
+0.069,0.082,0.052,0.057,0.110,0.132,0.113,0.068,0.091,0.026,
+0.078,0.064,0.041,0.068,0.044,0.039,0.083,0.144,0.086,0.063,
+0.174,0.216,0.379,0.135,0.187,0.089,0.268,0.171,0.056,0.139,
+0.083,0.066,0.079,0.152,0.121,0.086,0.039,0.081,0.073,0.049,
+0.543,0.139,0.174,0.209,0.133,0.660,0.108,0.091,0.042,0.043,
+0.033,0.048,0.104,0.158,0.116,0.111,0.160,0.044,0.119,0.252,
+0.066,0.241,0.084,0.123,0.019,0.032,0.016,0.013,0.070,0.112,
+0.096,0.040,0.030,0.028,0.045,0.032,7.35e-3,0.023,0.014,0.014,
+0.036,0.084,0.041,0.023,0.127,0.196,0.265,0.075,0.077,0.134,
+0.209,0.104,0.021,0.070,0.044,0.027,0.027,0.117,0.065,0.027,
+0.046,0.178,0.194,0.053,0.125,0.213,0.206,0.139,0.022,0.146,
+0.098,0.047,0.013,0.021,0.012,0.012,0.041,0.126,0.071,0.048,
+0.036,0.034,0.071,0.056,0.012,0.032,0.027,0.037,0.072,0.104,
+0.118,0.050,0.189,0.330,1.754,0.187,0.163,0.089,0.451,0.167,
+0.048,0.105,0.138,0.079,0.029,0.085,0.108,0.022,0.100,0.224,
+2.414,0.121,0.104,0.156,0.516,0.120,0.031,0.071,0.086,0.028,
+0.097,0.231,0.193,0.089,0.080,0.184,0.278,0.058,0.248,0.200,
+0.235,0.285,0.058,0.229,0.278,0.116,0.039,0.055,0.044,0.032,
+0.122,0.252,0.324,0.132,0.135,0.088,0.285,0.206,0.052,0.104,
+0.128,0.091,0.050,0.043,0.037,0.040,0.059,0.062,0.117,0.042,
+0.062,0.021,0.086,0.075,0.119,0.055,0.040,0.049,0.101,0.142,
+0.158,0.068,0.230,0.299,1.925,0.204,0.243,0.158,0.496,0.241,
+0.543,0.261,0.162,0.116,0.066,0.177,0.121,0.084,0.032,0.106,
+0.087,0.034,0.191,0.112,0.303,0.273,0.083,0.303,0.209,0.141,
+0.047,0.050,0.036,0.047,0.082,0.128,0.104,0.080,0.112,0.046,
+0.200,0.176,0.079,0.132,0.121,0.105,0.075,0.065,0.052,0.063,
+0.067,0.065,0.062,0.054,0.060,0.013,0.044,0.048,0.049,0.059,
+0.042,0.058,0.062,0.067,0.038,0.039,0.077,0.059,0.073,0.046,
+0.055,0.015,0.048,0.049,0.026,0.047,0.036,0.039,0.050,0.077,
+0.045,0.046,0.014,0.017,0.017,0.015,0.089,0.022,0.046,0.069,
+0.034,0.094,0.049,0.050,0.051,0.039,0.032,0.041,0.068,0.069,
+0.054,0.056,0.061,0.012,0.043,0.110,0.054,0.066,0.068,0.089,
+0.117,0.136,0.072,0.082,0.181,0.210,0.204,0.123,0.119,0.049,
+0.123,0.105,0.057,0.118,0.064,0.104,0.154,0.243,0.107,0.093,
+0.330,0.352,0.361,0.191,0.195,0.113,0.285,0.239,0.077,0.205,
+0.116,0.112,0.105,0.268,0.168,0.099,0.047,0.136,0.137,0.057,
+0.193,0.117,0.270,0.254,0.071,0.327,0.198,0.150,0.064,0.077,
+0.054,0.061,0.156,0.279,0.211,0.176,0.129,0.044,0.169,0.165,
+0.068,0.118,0.114,0.136,0.088,0.106,0.056,0.074,0.136,0.183,
+0.254,0.130,0.135,0.051,0.178,0.135,0.049,0.097,0.091,0.100,
+0.019,0.033,0.019,0.020,0.047,0.102,0.155,0.041,0.042,0.055,
+0.119,0.072,0.011,0.035,0.039,0.020,0.125,0.326,0.125,0.096,
+0.044,0.092,0.090,0.042,0.169,0.127,0.207,0.184,0.067,0.225,
+0.221,0.130,0.050,0.065,0.045,0.048,0.124,0.184,0.195,0.160,
+0.120,0.061,0.187,0.177,0.057,0.100,0.128,0.109,0.070,0.049,
+0.042,0.058,0.059,0.057,0.061,0.046,0.065,0.013,0.065,0.072,
+0.055,0.055,0.046,0.079,0.093,0.094,0.049,0.056,0.099,0.127,
+0.176,0.090,0.100,0.047,0.134,0.127,0.095,0.106,0.081,0.085,
+0.067,0.129,0.089,0.090,0.019,0.042,0.032,0.022,0.126,0.058,
+0.198,0.216,0.064,0.159,0.172,0.120,0.082,0.072,0.064,0.088,
+0.155,0.237,0.124,0.124,0.117,0.027,0.146,0.178,0.093,0.118,
+0.157,0.133,0.115,0.095,0.074,0.114,0.093,0.065,0.057,0.066,
+0.093,0.011,0.069,0.062,0.091,0.089,0.053,0.087,0.120,0.080,
+0.059,0.071,0.085,0.058,0.056,0.051,0.076,0.014,0.331,0.067,
+0.087,0.100,0.069,0.086,0.079,0.074,0.052,0.075,9.86e-3,0.011,
+7.44e-3,0.013,0.053,9.78e-3,0.037,0.052,0.050,0.079,0.060,0.069,
+0.088,0.049,0.044,0.084,0.081,0.072,0.049,0.081,0.068,9.02e-3,
+0.048,0.086,0.087,0.065,0.068,0.126,0.106,0.088,0.048,0.076,
+0.094,0.094,0.061,0.065,0.074,0.017,0.044,0.057,0.054,0.073,
+0.038,0.063,0.090,0.091,0.063,0.056,0.076,0.087,0.061,0.056,
+0.083,0.022,0.065,0.079,0.053,0.088,0.049,0.080,0.055,0.077,
+0.056,0.062,0.011,0.023,0.014,0.013,0.075,0.021,0.065,0.076,
+0.049,0.138,0.060,0.066,0.055,0.059,0.039,0.084,0.081,0.228,
+0.051,0.064,0.055,0.011,0.046,0.057,0.049,0.055,0.055,0.093,
+0.078,0.050,0.040,0.058,0.072,0.062,0.056,0.070,0.101,0.020,
+0.072,0.063,0.074,0.078,0.053,0.089,9.36e-3,0.013,6.85e-3,9.28e-3,
+8.86e-3,0.012,0.014,9.86e-3,0.012,7.10e-3,0.025,0.011,0.014,0.028,
+9.78e-3,0.016,0.041,0.044,0.067,0.045,6.35e-3,8.19e-3,8.52e-3,9.02e-3,
+0.055,0.015,0.042,0.047,0.039,0.089,0.047,0.052,0.033,0.024,
+0.025,0.043,0.052,0.056,0.043,0.053,0.055,9.69e-3,0.046,0.055,
+0.051,0.055,0.051,0.083,0.104,0.062,0.045,0.088,0.055,0.042,
+0.042,0.059,0.090,0.012,0.055,0.061,0.179,0.103,0.053,0.129,
+0.100,0.077,0.051,0.063,0.074,0.063,0.057,0.070,0.090,0.014,
+0.092,0.080,0.118,0.193,0.082,0.154,0.064,0.074,0.072,0.073,
+9.28e-3,7.94e-3,9.11e-3,0.011,0.067,0.011,0.047,0.067,0.067,0.106,
+0.083,0.109,0.090,0.066,0.054,0.091,0.070,0.058,0.050,0.077,
+0.107,0.010,0.064,0.111,0.146,0.130,0.146,0.251,0.204,0.129,
+0.108,0.132,0.154,0.152,0.126,0.107,0.148,0.039,0.616,0.154,
+0.096,0.135,0.114,0.119,0.224,0.173,0.200,0.140,0.186,0.177,
+0.238,0.127,0.236,0.093,3.785,0.425,0.077,0.203,0.333,0.131,
+0.097,0.161,0.096,0.101,0.017,0.040,0.028,0.031,0.119,0.034,
+0.169,0.185,0.070,0.157,0.124,0.133,0.083,0.076,0.052,0.083,
+0.146,0.292,0.128,0.137,0.182,0.029,0.141,0.434,0.088,0.105,
+0.098,0.164,0.179,0.205,0.097,0.129,0.231,0.319,0.203,0.154,
+0.170,0.055,0.129,0.129,0.086,0.184,0.099,0.119,0.207,0.305,
+0.136,0.130,0.293,0.341,0.279,0.214,0.310,0.125,0.299,0.262,
+0.096,0.316,0.140,0.139,0.112,0.296,0.152,0.139,0.049,0.158,
+0.066,0.059,0.288,0.112,0.238,0.268,0.123,0.347,0.205,0.206,
+0.091,0.241,0.082,0.096,0.323,1.672,0.220,0.235,0.164,0.054,
+0.133,0.172,0.084,0.171,0.102,0.161,0.109,0.102,0.076,0.095,
+0.170,0.226,0.193,0.189,0.272,0.091,0.382,0.147,0.104,0.269,
+0.134,0.144,0.015,0.039,0.023,0.020,0.047,0.088,0.073,0.041,
+0.082,0.102,0.211,0.060,0.025,0.185,0.047,0.028,0.079,0.163,
+0.271,0.113,0.022,0.052,0.048,0.033,0.165,0.077,0.149,0.147,
+0.099,0.373,0.138,0.128,0.061,0.062,0.062,0.062,0.136,0.273,
+0.168,0.161,0.150,0.036,0.156,0.161,0.081,0.138,0.119,0.140,
+0.112,0.075,0.059,0.115,0.079,0.086,0.072,0.092,0.125,0.025,
+0.116,0.085,0.136,0.172,0.082,0.133,0.163,0.209,0.137,0.134,
+0.199,0.243,0.217,0.195,0.332,0.132,0.480,0.248,0.230,1.037,
+0.232,0.245,0.071,0.130,0.126,0.113,0.015,0.036,0.023,0.022,
+0.153,0.054,0.159,0.180,0.080,0.263,0.152,0.169,0.089,0.083,
+0.067,0.088,0.104,0.179,0.096,0.125,0.148,0.027,0.132,0.208,
+0.140,0.194,0.156,0.229,0.088,0.082,0.051,0.069,0.068,0.076,
+0.052,0.058,0.073,0.015,0.054,0.062,0.051,0.061,0.041,0.055,
+0.114,0.140,0.070,0.071,0.132,0.151,0.124,0.094,0.142,0.045,
+0.265,0.124,0.057,0.127,0.087,0.089,0.072,0.124,0.085,0.090,
+0.018,0.037,0.028,0.036,0.149,0.038,0.106,0.131,0.059,0.188,
+0.107,0.104,0.056,0.054,0.035,0.055,0.084,0.118,0.077,0.090,
+0.109,0.024,0.094,0.129,0.076,0.093,0.091,0.135,0.010,0.016,
+9.28e-3,0.011,0.017,0.032,0.019,0.015,0.012,7.44e-3,0.016,0.013,
+5.85e-3,0.018,0.014,9.53e-3,0.022,0.038,0.017,9.36e-3,0.045,0.081,
+0.050,0.026,0.031,0.037,0.063,0.031,0.011,0.035,0.022,0.017,
+0.011,0.037,0.017,0.013,0.010,0.034,0.023,0.013,0.035,0.034,
+0.048,0.041,0.013,0.052,0.044,0.025,0.011,0.015,6.69e-3,9.02e-3,
+0.021,0.073,0.025,0.027,0.022,0.015,0.031,0.025,0.014,0.019,
+0.018,0.020,0.082,0.082,0.055,0.046,0.115,0.190,0.228,0.098,
+0.128,0.055,0.158,0.112,0.049,0.116,0.100,0.088,0.017,0.039,
+0.020,0.011,0.040,0.075,0.126,0.022,0.043,0.047,0.094,0.044,
+0.014,0.057,0.037,0.022,0.114,0.202,0.108,0.085,0.042,0.108,
+0.073,0.034,0.211,0.120,0.150,0.176,0.065,0.242,0.159,0.115,
+0.062,0.060,0.046,0.046,0.137,0.231,0.173,0.133,0.192,0.064,
+0.213,0.185,0.083,0.140,0.135,0.135,0.068,0.059,0.043,0.058,
+0.065,0.066,0.054,0.047,0.087,0.015,0.066,0.072,0.065,0.074,
+0.057,0.098,0.115,0.140,0.093,0.080,0.157,0.196,0.237,0.111,
+0.192,0.062,0.215,0.188,0.141,0.236,0.154,0.162,0.115,0.171,
+0.144,0.104,0.022,0.051,0.048,0.026,0.196,0.072,0.200,0.219,
+0.109,0.279,0.183,0.159,0.079,0.067,0.063,0.070,0.089,0.116,
+0.120,0.094,0.163,0.034,0.184,0.190,0.120,0.156,0.158,0.181,
+0.128,0.080,0.056,0.100,0.085,0.058,0.053,0.088,0.078,0.010,
+0.051,0.076,0.079,0.074,0.049,0.101,0.097,0.079,0.043,0.063,
+0.090,0.068,0.051,0.064,0.077,0.015,0.128,0.076,0.054,0.074,
+0.057,0.094,0.065,0.092,0.042,0.078,9.69e-3,0.011,8.77e-3,0.013,
+0.063,0.014,0.042,0.073,0.051,0.082,0.052,0.077,0.076,0.046,
+0.039,0.072,0.070,0.059,0.047,0.078,0.086,0.010,0.051,0.107,
+0.096,0.081,0.090,0.184,0.101,0.089,0.058,0.094,0.090,0.088,
+0.084,0.086,0.071,0.015,0.052,0.081,0.054,0.089,0.057,0.085,
+0.103,0.121,0.049,0.063,0.126,0.143,0.087,0.087,0.117,0.035,
+0.118,0.127,0.058,0.126,0.069,0.100,0.063,0.104,0.056,0.071,
+0.011,0.026,0.019,0.017,0.106,0.028,0.091,0.119,0.069,0.152,
+0.097,0.114,0.068,0.059,0.041,0.070,0.094,0.149,0.081,0.107,
+0.095,0.016,0.072,0.104,0.079,0.103,0.091,0.163,0.112,0.140,
+0.063,0.074,0.115,0.124,0.115,0.115,0.122,0.032,0.094,0.112,
+0.076,0.107,0.101,0.147,0.017,0.036,8.19e-3,0.011,0.018,0.029,
+0.028,0.019,0.017,0.018,0.028,0.024,0.012,0.026,0.017,0.024,
+0.097,0.160,0.082,0.101,0.020,0.033,0.023,0.023,0.158,0.047,
+0.112,0.151,0.101,0.179,0.149,0.189,0.076,0.072,0.051,0.073,
+0.127,0.147,0.128,0.142,0.161,0.034,0.147,0.184,0.102,0.125,
+0.129,0.187,0.145,0.091,0.070,0.110,0.087,0.079,0.066,0.084,
+0.117,0.015,0.068,0.109,0.112,0.104,0.099,0.188,0.153,0.155,
+0.076,0.100,0.138,0.147,0.105,0.119,0.145,0.026,0.122,0.175,
+0.116,0.173,0.119,0.192,0.118,0.155,0.159,0.141,0.015,0.024,
+0.026,0.018,0.199,0.041,0.185,0.230,0.135,0.228,0.234,0.239,
+0.183,0.118,0.112,0.176,0.154,0.164,0.136,0.197,0.218,0.023,
+0.203,0.292,0.231,0.191,0.209,0.281,2.120,1.384,1.075,1.799,
+1.405,1.010,0.919,0.934,1.366,0.151,0.805,1.029,1.618,1.407,
+0.981,1.448,1.588,1.126,0.814,0.951,1.139,0.824,0.823,0.683,
+1.360,0.170,0.890,0.929,0.747,1.031,0.769,0.871,0.985,0.868,
+0.859,0.887,0.102,0.100,0.107,0.138,1.649,0.133,0.661,0.665,
+0.732,1.020,0.758,0.810,1.491,0.746,0.765,1.322,1.072,0.882,
+0.870,1.162,1.034,0.107,0.795,0.965,1.052,0.858,0.997,1.421,
+1.836,1.293,0.954,1.182,1.269,1.073,0.865,0.882,1.113,0.195,
+0.733,0.916,0.941,1.266,1.307,1.320,1.571,1.490,0.799,0.800,
+1.143,0.872,0.882,0.676,1.834,0.578,1.084,1.236,0.709,1.527,
+0.848,0.879,0.870,1.079,0.945,0.881,0.113,0.155,0.150,0.175,
+0.993,0.148,0.910,0.860,0.529,1.071,0.731,0.681,0.739,0.598,
+0.488,0.665,0.947,0.876,0.757,0.891,0.835,0.099,0.683,0.762,
+0.653,0.720,0.748,1.023,1.217,0.752,0.581,0.714,0.979,0.825,
+0.817,0.729,0.975,0.275,0.710,0.905,0.875,1.844,0.870,1.187,
+0.101,0.115,0.073,0.076,0.088,0.116,0.100,0.076,0.128,0.068,
+0.119,0.121,0.106,0.349,0.115,0.136,0.614,0.637,0.548,0.491,
+0.064,0.068,0.084,0.074,0.614,0.091,0.601,0.588,0.395,0.703,
+0.619,0.540,0.499,0.349,0.334,0.465,0.696,0.593,0.591,0.689,
+0.627,0.079,0.645,0.777,0.469,0.627,0.668,0.890,1.371,0.621,
+0.515,0.863,0.546,0.409,0.398,0.436,0.550,0.080,0.401,0.517,
+0.719,0.759,0.795,1.220,0.949,0.789,0.557,0.640,0.705,0.633,
+0.548,0.509,0.671,0.101,0.576,0.654,0.568,0.830,0.651,0.762,
+0.659,0.721,0.608,0.564,0.054,0.072,0.067,0.064,0.480,0.060,
+0.480,0.510,0.406,0.644,0.558,0.612,1.039,0.491,0.461,0.810,
+0.412,0.339,0.387,0.524,0.665,0.067,0.658,0.847,0.870,0.740,
+0.961,1.603,1.890,1.449,1.079,1.525,1.347,1.121,0.984,1.101,
+0.872,0.120,0.660,0.973,0.846,1.039,0.725,1.166,1.669,1.628,
+0.920,0.964,1.340,1.210,1.217,0.918,1.185,0.198,1.158,1.137,
+0.620,1.180,0.775,0.912,0.753,0.993,1.286,1.014,0.096,0.146,
+0.186,0.217,0.716,0.107,0.846,0.741,0.509,1.092,0.831,0.782,
+0.851,0.535,0.619,0.795,0.847,0.922,0.877,1.006,0.667,0.086,
+0.576,0.705,0.588,0.596,0.694,1.227,1.741,1.786,1.004,1.283,
+1.578,1.719,1.396,1.747,1.086,0.235,0.865,1.138,0.654,1.481,
+0.716,1.264,1.489,1.715,1.072,0.963,1.112,0.660,1.287,0.948,
+1.493,0.330,1.378,1.533,0.567,1.324,0.867,0.906,1.058,2.113,
+2.545,2.506,0.201,0.396,0.583,0.898,1.567,0.398,1.678,1.771,
+0.890,3.159,1.379,1.305,0.700,0.691,0.741,0.834,1.088,1.325,
+1.429,1.825,0.807,0.120,0.744,0.861,0.491,0.794,0.707,1.066,
+1.049,1.005,0.645,0.778,1.213,1.459,1.431,0.958,1.107,0.275,
+1.092,1.091,0.561,1.144,1.140,1.167,0.114,0.267,0.119,0.108,
+0.149,0.281,0.245,0.137,0.182,0.116,0.317,0.222,0.079,0.341,
+0.201,0.162,0.860,1.515,1.146,0.919,0.139,0.280,0.283,0.172,
+1.175,0.273,1.309,1.244,0.542,1.800,1.340,1.016,0.565,0.435,
+0.540,0.510,0.904,1.263,1.210,1.073,0.874,0.160,1.223,1.236,
+0.439,0.779,1.008,1.030,0.779,0.612,0.439,0.669,0.528,0.484,
+0.519,0.493,0.443,0.059,0.458,0.477,0.447,0.492,0.519,0.852,
+0.987,1.119,0.737,0.856,0.938,1.090,0.896,0.838,0.883,0.154,
+0.952,1.004,0.552,1.184,0.823,0.992,0.546,0.819,0.902,0.786,
+0.062,0.112,0.103,0.117,0.607,0.103,0.773,0.853,0.478,0.965,
+0.913,0.900,0.642,0.529,0.511,0.704,0.522,0.578,0.542,0.701,
+0.653,0.069,0.737,0.962,0.718,0.809,1.000,1.551,1.577,1.143,
+0.838,1.033,0.830,0.781,0.650,0.605,0.760,0.133,0.496,0.585,
+0.699,0.814,0.498,0.780,1.646,1.830,1.125,0.989,1.287,1.406,
+1.170,0.881,1.570,0.408,1.477,1.322,0.775,1.670,0.866,0.991,
+0.894,1.561,1.232,0.971,0.132,0.264,0.209,0.219,0.842,0.163,
+0.982,0.927,0.510,1.440,0.836,0.873,0.909,0.739,0.614,0.913,
+0.957,1.257,0.921,1.171,0.876,0.124,0.883,1.056,0.767,0.859,
+0.995,1.822,0.149,0.190,0.104,0.106,0.169,0.244,0.145,0.124,
+0.148,0.064,0.116,0.117,0.084,0.230,0.132,0.141,0.201,0.300,
+0.170,0.117,0.229,0.295,0.238,0.155,0.358,0.213,0.307,0.242,
+0.113,0.426,0.156,0.144,0.115,0.294,0.198,0.139,0.036,0.101,
+0.092,0.054,0.206,0.083,0.377,0.247,0.100,0.383,0.200,0.166,
+0.164,0.158,0.108,0.146,0.361,0.546,0.340,0.345,0.165,0.049,
+0.223,0.220,0.143,0.268,0.205,0.274,1.031,1.185,0.644,0.557,
+0.948,1.321,1.102,0.680,4.079,2.947,1.466,1.272,1.035,5.214,
+1.095,0.992,0.150,0.327,0.117,0.081,0.133,0.268,0.196,0.083,
+2.177,3.127,0.479,0.378,0.257,2.868,0.209,0.163,0.783,1.483,
+0.986,0.607,0.148,0.244,0.239,0.126,1.156,0.324,0.901,0.930,
+0.490,1.261,1.002,0.705,0.511,0.518,0.495,0.427,0.819,1.243,
+1.221,0.868,1.070,0.381,1.471,1.214,0.515,1.079,1.053,0.942,
+0.807,0.581,0.412,0.533,0.500,0.441,0.424,0.343,0.869,0.228,
+0.453,0.510,0.545,0.902,0.423,0.651,1.391,1.388,0.762,0.761,
+1.037,1.290,0.901,0.680,5.356,2.442,1.526,1.593,1.278,4.446,
+0.945,1.025,0.664,1.031,0.813,0.617,0.087,0.188,0.128,0.090,
+0.934,0.138,0.893,0.904,0.574,1.187,0.884,0.836,0.767,0.562,
+0.693,0.625,0.629,0.847,0.675,0.699,0.913,0.126,1.110,1.172,
+0.805,1.091,0.998,1.282,2.164,0.860,0.680,1.027,0.614,0.426,
+0.427,0.403,0.715,0.064,0.321,0.471,0.716,0.580,0.543,0.942,
+0.826,0.580,0.453,0.532,0.561,0.395,0.408,0.397,0.601,0.072,
+0.428,0.530,0.416,0.499,0.382,0.597,0.592,0.526,0.406,0.568,
+0.061,0.066,0.057,0.091,0.451,0.053,0.344,0.447,0.354,0.642,
+0.385,0.588,0.841,0.456,0.460,0.954,0.755,0.624,0.596,0.757,
+0.569,0.063,0.436,0.654,0.706,0.750,0.707,1.516,1.371,0.990,
+0.671,0.836,0.967,0.944,0.828,0.717,0.779,0.121,0.553,0.751,
+0.589,0.943,0.801,1.218,1.141,1.060,0.616,0.651,1.018,0.968,
+0.771,0.667,1.109,0.251,0.869,1.118,0.600,1.259,0.602,0.766,
+0.715,1.003,0.645,0.697,0.098,0.156,0.118,0.139,0.866,0.130,
+0.897,0.984,0.582,1.320,0.792,0.942,1.044,0.608,0.448,0.687,
+1.654,1.338,0.916,1.036,0.751,0.116,0.685,0.894,0.758,1.543,
+0.819,1.327,0.891,0.641,0.536,0.627,0.901,0.796,0.796,0.711,
+1.096,0.294,0.800,0.863,0.657,1.066,0.865,1.047,0.090,0.120,
+0.074,0.093,0.089,0.130,0.109,0.087,0.214,0.139,0.157,0.150,
+0.106,0.308,0.132,0.135,0.597,0.884,0.664,0.749,0.075,0.108,
+0.114,0.119,0.870,0.135,0.764,0.885,0.665,1.087,1.057,0.921,
+0.542,0.527,0.501,0.696,0.851,1.034,1.092,1.126,1.019,0.205,
+1.000,1.315,0.770,1.596,1.094,1.384,1.316,0.639,0.521,0.794,
+0.609,0.489,0.441,0.470,0.679,0.084,0.428,0.697,0.803,0.750,
+0.835,1.481,0.874,0.622,0.468,0.645,0.637,0.525,0.559,0.587,
+1.314,0.174,0.693,1.006,0.842,1.042,0.668,0.999,0.792,0.837,
+0.698,1.074,0.082,0.093,0.077,0.133,0.933,0.095,0.788,1.028,
+1.020,1.333,1.255,1.344,1.311,0.725,0.839,1.469,1.025,0.972,
+0.945,1.386,1.306,0.103,1.218,1.775,1.977,1.546,1.700,2.368,
+0.126,0.113,0.092,0.111,0.126,0.105,0.102,0.092,0.099,0.020,
+0.085,0.083,0.091,0.120,0.123,0.110,0.139,0.145,0.093,0.084,
+0.136,0.134,0.127,0.092,0.200,0.079,0.143,0.133,0.069,0.187,
+0.100,0.097,0.064,0.084,0.073,0.068,0.015,0.016,0.023,0.019,
+0.063,0.016,0.074,0.055,0.046,0.082,0.078,0.069,0.094,0.082,
+0.048,0.078,0.099,0.086,0.080,0.092,0.075,0.016,0.076,0.074,
+0.072,0.071,0.119,0.106,0.185,0.226,0.131,0.131,0.217,0.231,
+0.224,0.135,0.209,0.105,0.193,0.207,0.168,0.348,0.851,0.469,
+0.236,0.429,0.173,0.116,0.253,0.317,0.281,0.171,0.852,0.558,
+0.393,0.433,0.161,0.768,0.220,0.193,0.108,0.219,0.162,0.160,
+0.042,0.101,0.121,0.086,0.176,0.112,0.251,0.184,0.073,0.254,
+0.180,0.120,0.074,0.101,0.061,0.071,0.146,0.189,0.183,0.183,
+0.126,0.041,0.154,0.133,0.071,0.117,0.139,0.137,0.075,0.072,
+0.048,0.053,0.130,0.121,0.135,0.087,0.094,0.034,0.121,0.096,
+0.055,0.125,0.106,0.100,0.015,0.028,0.023,0.014,0.026,0.050,
+0.048,0.021,0.034,0.033,0.060,0.038,0.013,0.059,0.034,0.022,
+0.059,0.096,0.091,0.057,0.020,0.033,0.044,0.020,0.090,0.045,
+0.152,0.106,0.042,0.123,0.136,0.084,0.052,0.044,0.039,0.039,
+0.092,0.116,0.123,0.097,0.088,0.026,0.134,0.111,0.051,0.107,
+0.127,0.111,0.081,0.052,0.041,0.069,0.051,0.043,0.040,0.045,
+0.049,0.010,0.044,0.054,0.044,0.058,0.070,0.090,0.091,0.103,
+0.085,0.073,0.098,0.113,0.109,0.084,0.084,0.035,0.114,0.114,
+0.052,0.114,0.081,0.091,0.044,0.060,0.088,0.060,8.94e-3,0.015,
+0.019,0.015,0.051,0.016,0.073,0.069,0.035,0.074,0.082,0.071,
+0.062,0.045,0.042,0.065,0.046,0.077,0.058,0.068,0.074,0.019,
+0.081,0.105,0.076,0.087,0.113,0.166,0.123,0.131,0.096,0.095,
+0.154,0.161,0.158,0.144,0.084,0.025,0.091,0.090,0.053,0.104,
+0.063,0.088,0.172,0.197,0.123,0.089,0.215,0.234,0.213,0.139,
+0.166,0.091,0.289,0.191,0.066,0.226,0.120,0.098,0.068,0.119,
+0.140,0.126,0.025,0.048,0.084,0.079,0.073,0.038,0.125,0.083,
+0.040,0.108,0.101,0.077,0.050,0.042,0.039,0.064,0.075,0.106,
+0.123,0.138,0.078,0.019,0.084,0.078,0.044,0.058,0.078,0.087,
+0.187,0.313,0.154,0.132,0.264,0.437,0.369,0.249,0.182,0.081,
+0.217,0.227,0.070,0.199,0.137,0.257,0.224,0.403,0.226,0.146,
+0.264,0.214,0.408,0.255,0.324,0.252,0.436,0.374,0.078,0.309,
+0.215,0.156,0.151,0.493,0.547,0.717,0.106,0.307,0.470,0.577,
+0.303,0.264,0.419,0.394,0.124,0.463,0.319,0.238,0.069,0.087,
+0.110,0.140,0.176,0.311,0.426,0.574,0.131,0.051,0.187,0.156,
+0.056,0.106,0.150,0.139,0.107,0.122,0.079,0.071,0.202,0.308,
+0.297,0.141,0.137,0.058,0.193,0.142,0.046,0.132,0.136,0.117,
+0.027,0.089,0.049,0.026,0.090,0.214,0.205,0.058,0.070,0.124,
+0.210,0.103,0.015,0.095,0.074,0.037,0.127,0.294,0.238,0.141,
+0.069,0.221,0.204,0.074,0.199,0.158,0.360,0.254,0.067,0.295,
+0.319,0.163,0.093,0.054,0.067,0.049,0.149,0.302,0.327,0.190,
+0.149,0.066,0.330,0.220,0.048,0.115,0.208,0.142,0.060,0.056,
+0.046,0.080,0.060,0.065,0.061,0.067,0.044,9.53e-3,0.060,0.049,
+0.035,0.046,0.048,0.069,0.096,0.161,0.106,0.081,0.152,0.231,
+0.190,0.125,0.124,0.060,0.199,0.156,0.050,0.174,0.116,0.096,
+0.046,0.110,0.109,0.086,0.013,0.039,0.042,0.036,0.087,0.034,
+0.162,0.117,0.037,0.115,0.160,0.116,0.042,0.043,0.047,0.054,
+0.050,0.077,0.079,0.094,0.071,0.015,0.120,0.106,0.056,0.079,
+0.108,0.137,0.105,0.113,0.082,0.072,0.087,0.105,0.091,0.074,
+0.069,0.019,0.079,0.059,0.081,0.080,0.059,0.059,0.150,0.255,
+0.178,0.099,0.215,0.297,0.246,0.171,0.232,0.129,0.404,0.262,
+0.079,0.239,0.135,0.102,0.082,0.202,0.146,0.091,0.021,0.062,
+0.074,0.045,0.115,0.058,0.197,0.162,0.040,0.150,0.124,0.089,
+0.066,0.060,0.049,0.072,0.084,0.122,0.114,0.119,0.096,0.030,
+0.133,0.128,0.057,0.076,0.108,0.123,0.019,0.040,0.024,0.014,
+0.037,0.088,0.077,0.033,0.026,0.029,0.067,0.034,0.011,0.044,
+0.044,0.027,0.047,0.142,0.076,0.033,0.117,0.236,0.209,0.079,
+0.088,0.214,0.272,0.160,0.025,0.126,0.068,0.040,0.021,0.119,
+0.077,0.035,0.032,0.146,0.176,0.050,0.084,0.174,0.249,0.125,
+0.023,0.133,0.139,0.052,0.013,0.025,0.016,0.014,0.045,0.101,
+0.085,0.060,0.033,0.035,0.106,0.062,0.017,0.036,0.044,0.036,
+0.097,0.141,0.097,0.063,0.137,0.269,0.285,0.113,0.224,0.140,
+0.364,0.178,0.086,0.302,0.229,0.128,0.037,0.120,0.059,0.027,
+0.077,0.213,0.196,0.056,0.163,0.273,0.882,0.215,0.024,0.144,
+0.108,0.041,0.122,0.337,0.255,0.116,0.075,0.201,0.300,0.060,
+0.264,0.253,0.426,0.290,0.069,0.307,0.304,0.145,0.058,0.073,
+0.076,0.053,0.151,0.319,0.361,0.187,0.197,0.133,0.508,0.291,
+0.070,0.184,0.263,0.176,0.065,0.077,0.048,0.056,0.053,0.068,
+0.059,0.042,0.070,0.023,0.072,0.067,0.051,0.084,0.048,0.066,
+0.130,0.208,0.140,0.105,0.188,0.318,0.254,0.149,0.364,0.163,
+0.434,0.357,0.101,0.298,0.188,0.128,0.069,0.187,0.156,0.088,
+0.027,0.079,0.093,0.030,0.169,0.105,0.280,0.221,0.067,0.224,
+0.178,0.120,0.054,0.058,0.064,0.057,0.075,0.123,0.113,0.099,
+0.120,0.038,0.232,0.191,0.082,0.148,0.142,0.134,0.132,0.090,
+0.059,0.087,0.090,0.067,0.064,0.093,0.099,0.013,0.047,0.072,
+0.067,0.066,0.065,0.097,0.081,0.080,0.060,0.060,0.079,0.076,
+0.066,0.067,0.076,0.020,0.079,0.078,0.045,0.074,0.057,0.068,
+0.052,0.071,0.050,0.053,7.44e-3,0.012,0.014,0.015,0.051,0.010,
+0.056,0.058,0.032,0.059,0.046,0.063,0.063,0.043,0.043,0.079,
+0.074,0.063,0.062,0.096,0.076,0.011,0.061,0.099,0.073,0.071,
+0.082,0.181,0.149,0.175,0.127,0.117,0.158,0.201,0.324,0.149,
+0.138,0.040,0.136,0.158,0.085,0.168,0.183,0.199,0.190,0.277,
+0.155,0.122,0.253,0.315,0.285,0.205,0.240,0.112,0.286,0.341,
+0.100,0.337,0.162,0.158,0.094,0.225,0.151,0.127,0.025,0.073,
+0.087,0.057,0.148,0.061,0.241,0.199,0.072,0.254,0.176,0.140,
+0.105,0.090,0.068,0.093,0.228,0.242,0.230,0.235,0.122,0.033,
+0.188,0.189,0.100,0.188,0.167,0.207,0.074,0.071,0.059,0.062,
+0.110,0.130,0.154,0.108,0.108,0.043,0.144,0.125,0.065,0.112,
+0.113,0.109,0.014,0.024,0.015,0.013,0.031,0.068,0.047,0.028,
+0.034,0.028,0.078,0.045,0.013,0.039,0.036,0.024,0.065,0.152,
+0.133,0.088,0.022,0.045,0.057,0.037,0.123,0.065,0.191,0.160,
+0.056,0.205,0.200,0.135,0.057,0.057,0.059,0.073,0.104,0.146,
+0.201,0.172,0.143,0.041,0.205,0.223,0.083,0.140,0.188,0.172,
+0.088,0.063,0.051,0.075,0.065,0.057,0.052,0.059,0.063,0.012,
+0.056,0.067,0.055,0.061,0.077,0.113,0.078,0.080,0.055,0.065,
+0.088,0.101,0.093,0.081,0.103,0.022,0.100,0.127,0.067,0.101,
+0.087,0.107,0.064,0.094,0.084,0.089,0.011,0.019,0.019,0.017,
+0.089,0.025,0.144,0.145,0.067,0.145,0.152,0.139,0.096,0.061,
+0.072,0.117,0.100,0.111,0.116,0.142,0.125,0.018,0.173,0.208,
+0.144,0.149,0.192,0.216,0.713,0.827,0.637,0.988,0.965,0.795,
+0.865,1.005,0.732,0.098,0.631,0.794,0.837,0.898,0.736,0.903,
+1.090,1.089,0.727,0.845,0.992,0.857,1.041,1.209,0.759,0.136,
+0.799,1.094,0.476,0.751,0.644,0.737,0.547,0.605,0.602,0.642,
+0.069,0.078,0.087,0.111,0.542,0.079,0.595,0.637,0.416,0.557,
+0.587,0.560,0.618,0.317,0.298,0.550,0.420,0.375,0.424,0.538,
+0.419,0.049,0.391,0.524,0.447,0.270,0.521,0.827,1.755,1.462,
+0.892,1.079,1.830,1.484,1.412,1.086,0.997,0.173,0.903,1.238,
+0.806,1.016,0.754,0.927,2.027,3.191,1.248,1.177,1.675,1.264,
+1.770,1.346,1.757,0.423,1.825,4.626,0.758,1.479,0.934,1.173,
+1.163,1.681,1.413,1.117,0.238,0.304,0.356,0.278,2.852,0.605,
+2.890,3.576,1.738,1.975,1.549,1.179,0.662,0.577,0.412,0.481,
+1.142,1.202,1.043,1.034,0.763,0.117,0.801,1.088,0.613,0.583,
+0.821,1.003,0.964,0.678,0.455,0.533,1.231,1.198,1.248,0.968,
+0.979,0.178,0.873,0.935,0.569,0.838,0.768,0.932,0.157,0.212,
+0.137,0.126,0.245,0.285,0.276,0.204,0.189,0.080,0.332,0.314,
+0.117,0.356,0.206,0.217,0.669,0.898,1.165,0.702,0.129,0.171,
+0.266,0.165,1.177,0.264,1.221,1.151,0.487,1.236,1.399,0.946,
+0.399,0.346,0.348,0.352,0.819,0.897,1.152,0.905,0.728,0.138,
+0.887,0.973,0.449,0.639,0.827,1.186,0.768,0.373,0.337,0.556,
+0.446,0.367,0.372,0.442,0.372,0.049,0.312,0.398,0.470,0.436,
+0.378,0.666,0.907,0.767,0.527,0.548,0.842,0.821,0.776,0.698,
+0.654,0.108,0.835,0.933,0.505,0.895,0.605,0.772,0.822,0.866,
+0.678,0.604,0.085,0.106,0.107,0.112,0.723,0.109,0.829,0.893,
+0.465,0.919,0.995,0.836,0.651,0.418,0.370,0.561,0.523,0.470,
+0.524,0.609,0.775,0.084,0.711,0.919,0.850,0.771,1.018,1.915,
+0.088,0.103,0.074,0.083,0.101,0.124,0.128,0.101,0.066,0.020,
+0.070,0.070,0.058,0.080,0.071,0.074,0.154,0.217,0.140,0.112,
+0.216,0.268,0.327,0.197,0.148,0.081,0.264,0.181,0.076,0.162,
+0.137,0.130,0.062,0.107,0.111,0.074,0.022,0.046,0.052,0.033,
+0.143,0.048,0.183,0.175,0.091,0.118,0.126,0.089,0.050,0.037,
+0.039,0.042,0.074,0.096,0.092,0.080,0.064,0.022,0.066,0.097,
+0.047,0.053,0.076,0.103,0.133,0.206,0.108,0.095,0.192,0.261,
+0.286,0.144,0.137,0.061,0.143,0.151,0.074,0.132,0.089,0.089,
+0.259,0.539,0.237,0.151,0.313,0.318,0.494,0.238,0.386,0.240,
+0.444,0.439,0.107,0.309,0.199,0.166,0.188,0.380,0.280,0.203,
+0.101,0.202,0.243,0.119,1.724,0.703,1.521,2.035,0.669,0.664,
+0.412,0.300,0.061,0.073,0.057,0.054,0.154,0.228,0.198,0.162,
+0.136,0.044,0.180,0.163,0.078,0.072,0.116,0.106,0.087,0.128,
+0.068,0.070,0.179,0.270,0.300,0.141,0.122,0.057,0.194,0.126,
+0.058,0.117,0.130,0.098,0.030,0.087,0.050,0.027,0.075,0.193,
+0.206,0.070,0.063,0.129,0.271,0.107,0.018,0.083,0.082,0.038,
+0.115,0.250,0.531,0.185,0.061,0.151,0.271,0.063,0.248,0.265,
+0.513,0.297,0.093,0.336,0.557,0.277,0.056,0.057,0.075,0.046,
+0.137,0.224,0.279,0.155,0.115,0.063,0.255,0.172,0.047,0.104,
+0.170,0.141,0.069,0.069,0.054,0.131,0.056,0.069,0.067,0.086,
+0.044,0.012,0.048,0.050,0.052,0.053,0.059,0.083,0.139,0.176,
+0.132,0.101,0.193,0.277,0.243,0.176,0.145,0.060,0.220,0.185,
+0.084,0.241,0.166,0.145,0.064,0.129,0.140,0.090,0.020,0.055,
+0.044,0.029,0.120,0.055,0.200,0.189,0.070,0.177,0.232,0.150,
+0.061,0.072,0.054,0.065,0.063,0.099,0.087,0.088,0.085,0.016,
+0.126,0.138,0.071,0.102,0.150,0.181,0.996,1.045,0.902,1.174,
+0.807,0.831,0.756,0.686,0.636,0.094,0.715,0.624,0.384,0.360,
+0.398,0.552,1.197,1.479,0.842,0.799,1.527,1.622,1.610,1.068,
+1.260,0.310,1.935,1.576,0.555,1.361,0.771,0.827,0.716,1.187,
+0.908,0.753,0.158,0.283,0.284,0.252,0.998,0.242,1.941,1.530,
+0.418,1.134,1.009,0.845,0.496,0.404,0.318,0.450,0.727,0.838,
+0.774,0.698,0.736,0.125,1.084,1.169,0.434,0.524,0.753,1.066,
+0.117,0.173,0.103,0.101,0.207,0.340,0.250,0.173,0.132,0.067,
+0.210,0.150,0.058,0.129,0.091,0.086,0.169,0.316,0.159,0.109,
+0.346,0.506,0.483,0.234,0.231,0.187,0.589,0.358,0.070,0.255,
+0.143,0.123,0.136,0.369,0.254,0.137,0.072,0.228,0.297,0.091,
+0.310,0.266,1.110,0.476,0.116,0.342,0.296,0.178,0.073,0.087,
+0.060,0.069,0.204,0.325,0.259,0.225,0.145,0.052,0.300,0.278,
+0.073,0.103,0.138,0.158,1.343,0.819,0.757,0.426,1.065,1.398,
+1.481,0.813,1.065,0.309,1.689,0.963,0.413,0.966,0.851,0.668,
+0.135,0.274,0.224,0.102,0.191,0.374,0.439,0.124,0.244,0.194,
+0.758,0.270,0.077,0.284,0.200,0.123,0.791,0.851,1.011,0.432,
+0.196,0.242,0.418,0.112,0.483,0.173,0.365,0.198,0.193,0.447,
+0.643,0.380,0.371,0.319,0.396,0.219,0.610,0.854,1.055,0.511,
+0.691,0.211,1.593,0.902,0.317,0.566,0.887,0.801,0.601,0.401,
+0.359,0.402,0.461,0.412,0.357,0.305,0.439,0.077,0.541,0.519,
+0.265,0.327,0.296,0.392,0.871,1.032,0.731,0.516,1.047,1.362,
+1.282,0.750,1.129,0.277,1.826,1.302,0.512,1.166,0.743,0.619,
+0.676,1.024,0.979,0.637,0.138,0.283,0.255,0.153,1.109,0.282,
+2.169,1.516,0.451,1.299,1.252,0.883,0.442,0.381,0.351,0.440,
+0.582,0.769,0.651,0.554,0.775,0.127,1.612,1.248,0.570,0.807,
+1.105,1.004,0.929,0.579,0.437,0.740,0.520,0.446,0.414,0.422,
+0.415,0.060,0.407,0.436,0.398,0.424,0.443,0.580,0.732,0.656,
+0.369,0.392,0.639,0.525,0.470,0.381,0.511,0.062,0.432,0.473,
+0.279,0.391,0.298,0.393,0.455,0.511,0.333,0.414,0.063,0.071,
+0.064,0.088,0.406,0.063,0.522,0.578,0.256,0.442,0.423,0.484,
+0.425,0.275,0.250,0.393,0.437,0.369,0.343,0.425,0.349,0.040,
+0.343,0.509,0.342,0.333,0.435,0.729,1.141,1.099,0.643,0.858,
+1.162,1.298,1.179,0.875,0.756,0.136,0.866,0.859,0.467,0.767,
+0.535,0.731,1.322,1.742,0.856,0.791,1.610,1.808,1.769,1.180,
+1.176,0.265,1.616,1.623,0.497,1.133,0.726,0.808,0.831,1.598,
+0.981,0.854,0.160,0.328,0.277,0.225,1.375,0.333,2.183,1.864,
+0.636,1.649,1.363,1.146,0.597,0.563,0.403,0.505,1.169,1.367,
+1.194,1.184,0.747,0.137,1.044,1.233,0.487,0.698,0.762,1.003,
+0.961,0.850,0.515,0.577,1.073,1.196,1.087,0.850,0.851,0.181,
+1.223,0.926,0.514,1.048,0.767,0.849,0.118,0.173,0.090,0.091,
+0.174,0.323,0.282,0.160,0.141,0.076,0.299,0.232,0.070,0.223,
+0.145,0.121,0.844,1.419,0.879,0.764,0.129,0.198,0.246,0.184,
+1.173,0.312,1.422,1.472,0.482,1.326,1.316,1.033,0.499,0.513,
+0.417,0.412,0.942,1.128,1.259,1.057,0.777,0.151,1.313,1.414,
+0.472,0.767,1.088,1.042,0.743,0.482,0.431,0.525,0.513,0.456,
+0.411,0.367,0.424,0.066,0.433,0.454,0.532,0.443,0.417,0.633,
+0.847,0.776,0.544,0.552,0.829,0.985,0.886,0.680,0.622,0.105,
+0.822,0.891,0.458,0.735,0.628,0.729,0.695,0.969,0.730,0.788,
+0.093,0.142,0.117,0.135,0.983,0.155,1.462,1.517,0.577,1.115,
+1.235,1.101,0.806,0.516,0.551,0.897,0.860,0.922,0.873,1.000,
+0.892,0.093,1.230,1.457,0.859,0.816,1.122,1.200,1.111,0.732,
+0.721,1.375,0.732,0.515,0.512,0.629,0.562,0.066,0.361,0.552,
+0.792,0.728,0.490,0.886,0.849,0.585,0.418,0.530,0.630,0.430,
+0.430,0.491,0.535,0.071,0.483,0.483,0.417,0.539,0.376,0.502,
+0.542,0.459,0.487,0.602,0.062,0.054,0.051,0.088,0.443,0.043,
+0.337,0.419,0.327,0.450,0.429,0.543,0.719,0.354,0.430,0.684,
+0.576,0.460,0.388,0.551,0.456,0.048,0.390,0.471,0.613,0.483,
+0.541,1.240,1.215,0.823,0.645,0.899,0.811,0.619,0.511,0.565,
+0.552,0.076,0.378,0.547,0.444,0.528,0.398,0.704,0.922,1.056,
+0.495,0.536,0.618,0.459,0.479,0.453,1.080,0.216,0.555,0.996,
+0.420,0.781,0.374,0.614,0.512,0.532,0.645,0.548,0.067,0.074,
+0.067,0.073,0.655,0.069,0.469,0.613,0.484,0.504,0.444,0.509,
+0.425,0.315,0.335,0.391,0.512,0.540,0.367,0.444,0.380,0.037,
+0.306,0.420,0.363,0.315,0.394,0.724,0.792,0.510,0.357,0.526,
+0.747,0.589,0.488,0.650,0.546,0.077,0.340,0.443,0.499,0.515,
+0.476,0.772,0.074,0.078,0.051,0.068,0.082,0.084,0.073,0.080,
+0.074,0.021,0.076,0.080,0.078,0.146,0.076,0.112,0.554,0.434,
+0.527,0.476,0.070,0.065,0.068,0.072,0.480,0.068,0.372,0.490,
+0.364,0.583,0.590,0.600,0.390,0.268,0.344,0.537,0.514,0.460,
+0.475,0.639,0.514,0.057,0.414,0.633,0.428,0.547,0.603,0.903,
+0.954,0.424,0.355,1.124,0.443,0.320,0.310,0.693,0.382,0.043,
+0.270,0.391,0.589,0.437,0.393,0.835,0.710,0.534,0.368,0.542,
+0.556,0.494,0.390,0.571,0.447,0.054,0.397,0.528,0.511,0.686,
+0.500,0.714,0.478,0.447,0.375,0.505,0.043,0.046,0.042,0.064,
+0.377,0.037,0.324,0.452,0.348,0.488,0.522,0.645,0.672,0.382,
+0.365,0.713,0.452,0.369,0.389,0.630,0.631,0.050,0.463,0.805,
+0.855,0.695,0.884,1.797,1.490,1.047,0.938,1.419,1.133,0.994,
+0.904,0.981,0.817,0.121,0.655,0.848,0.807,0.834,0.635,1.069,
+1.535,1.255,0.880,0.963,1.183,1.066,1.276,1.004,1.457,0.264,
+1.575,1.310,0.589,1.122,0.827,0.991,0.716,0.766,0.882,0.821,
+0.100,0.122,0.125,0.138,1.128,0.130,0.787,0.959,0.514,0.806,
+0.848,0.937,0.636,0.415,0.429,0.585,0.770,0.738,0.616,0.707,
+0.550,0.074,0.473,0.638,0.536,0.586,0.681,1.155,1.744,1.564,
+1.111,1.436,1.612,1.636,1.401,1.318,1.522,0.282,0.862,1.095,
+0.744,1.269,0.694,1.139,2.035,2.437,1.157,1.108,1.820,1.467,
+1.639,1.310,4.948,1.314,1.775,2.002,1.154,3.158,1.090,1.312,
+1.213,1.655,2.033,1.540,0.333,0.328,0.324,0.308,4.232,0.747,
+2.742,3.749,2.007,2.307,1.719,1.789,0.630,0.567,0.604,0.623,
+1.143,1.502,0.987,1.041,0.968,0.128,0.817,1.003,0.615,0.654,
+0.797,1.122,1.016,0.797,0.537,0.787,1.432,1.508,1.316,1.159,
+0.913,0.204,0.835,0.806,0.552,0.850,0.739,1.022,0.109,0.195,
+0.106,0.123,0.198,0.338,0.247,0.188,0.215,0.122,0.277,0.207,
+0.087,0.315,0.180,0.174,0.828,1.221,1.346,0.930,0.152,0.266,
+0.274,0.185,1.202,0.308,1.220,1.440,0.634,1.831,1.763,1.588,
+0.563,0.460,0.503,0.559,0.964,1.400,1.349,1.176,0.862,0.140,
+1.192,1.261,0.538,0.835,1.224,1.461,0.923,0.627,0.617,2.609,
+0.589,0.548,0.591,1.535,0.488,0.066,0.480,0.602,0.504,0.512,
+0.601,0.982,1.145,1.151,0.833,1.105,1.106,1.381,1.149,1.317,
+1.035,0.203,1.167,1.398,0.726,1.574,1.111,1.284,0.563,0.880,
+0.785,0.878,0.080,0.208,0.111,0.171,0.777,0.132,0.970,1.172,
+0.519,1.132,1.278,1.339,0.638,0.595,0.514,0.698,0.650,0.833,
+0.595,0.878,0.797,0.085,0.822,1.093,0.797,0.945,1.244,1.870,
+1.613,1.134,1.088,1.161,0.862,0.840,1.060,1.247,0.643,0.101,
+1.034,0.814,0.602,0.705,0.558,1.019,1.623,1.476,0.881,0.928,
+1.622,1.365,1.292,1.086,1.298,0.269,3.600,1.746,0.723,1.326,
+1.178,2.355,0.980,1.228,0.803,0.821,0.141,0.214,0.175,0.195,
+0.974,0.174,1.110,1.202,0.513,1.236,1.036,1.031,0.812,0.619,
+0.434,0.645,0.845,0.920,0.697,0.814,0.774,0.113,0.973,1.234,
+0.778,0.708,0.993,1.710,0.138,0.149,0.242,0.130,0.131,0.190,
+0.156,0.134,0.097,0.030,0.379,0.165,0.068,0.139,0.127,0.131,
+0.172,0.257,0.146,0.112,0.277,0.361,0.323,0.203,0.284,0.152,
+0.929,0.335,0.098,0.314,0.216,0.240,0.125,0.232,0.130,0.106,
+0.042,0.102,0.090,0.042,0.236,0.107,0.346,0.289,0.108,0.318,
+0.263,0.172,0.090,0.100,0.065,0.084,0.189,0.278,0.168,0.183,
+0.116,0.036,0.201,0.182,0.098,0.124,0.149,0.197,1.460,1.086,
+0.782,0.645,1.966,1.743,1.676,0.978,1.041,0.284,1.407,1.057,
+0.709,1.060,1.070,1.083,0.206,0.276,0.122,0.094,0.287,0.355,
+0.214,0.133,0.225,0.144,0.526,0.257,0.119,0.314,0.224,0.202,
+3.741,2.592,1.420,1.058,0.882,0.858,0.431,0.251,2.025,0.516,
+1.043,1.371,0.887,1.932,1.788,1.265,1.054,0.716,0.597,0.579,
+2.226,2.337,1.654,1.283,1.329,0.299,1.992,1.702,0.780,1.195,
+1.509,1.510,0.903,0.653,0.491,0.705,0.800,0.664,0.536,0.593,
+0.600,0.090,0.735,0.760,0.493,0.546,0.521,0.803,1.375,1.453,
+0.940,0.960,1.362,1.641,1.208,1.071,1.446,0.274,2.255,1.879,
+0.859,1.648,1.329,1.367,1.181,1.353,0.872,0.878,0.190,0.269,
+0.170,0.137,1.413,0.243,1.688,1.646,0.806,1.825,1.738,1.409,
+0.848,0.614,0.533,0.653,0.904,1.035,0.808,0.821,1.118,0.143,
+1.673,1.697,0.921,1.161,1.514,1.783,1.630,0.783,0.550,1.007,
+0.683,0.488,0.421,0.558,0.535,0.060,0.411,0.582,0.608,0.515,
+0.455,0.973,0.883,0.641,0.367,0.473,0.669,0.494,0.436,0.461,
+0.568,0.070,0.653,0.631,0.369,0.451,0.404,0.720,0.661,0.588,
+0.383,0.569,0.066,0.071,0.051,0.091,0.473,0.057,0.395,0.588,
+0.357,0.536,0.458,0.650,0.775,0.469,0.348,0.687,0.582,0.437,
+0.400,0.587,0.517,0.053,0.421,0.745,0.663,0.556,0.672,1.603,
+1.233,0.990,0.880,0.949,0.878,0.840,0.703,0.722,0.609,0.089,
+0.906,0.759,0.502,0.685,0.601,0.875,1.133,1.115,0.610,0.651,
+1.161,1.090,1.036,0.852,1.127,0.205,1.577,1.217,0.547,1.023,
+0.695,0.956,0.699,0.953,0.587,0.745,0.081,0.126,0.098,0.112,
+0.899,0.136,0.905,1.100,0.631,1.150,0.969,1.097,0.711,0.638,
+0.392,0.617,0.905,0.827,0.659,0.799,0.659,0.078,0.690,1.018,
+0.612,0.655,0.822,1.280,1.272,0.924,0.629,0.737,1.371,1.135,
+1.035,1.023,0.951,0.163,0.806,0.948,0.726,0.949,0.876,1.341,
+0.120,0.144,0.086,0.104,0.142,0.187,0.133,0.124,0.119,0.041,
+0.172,0.154,0.088,0.194,0.122,0.170,1.280,1.419,0.968,0.986,
+0.182,0.219,0.192,0.156,1.469,0.262,1.198,1.683,0.813,1.632,
+1.525,1.665,0.860,0.703,0.568,0.752,1.209,1.251,1.309,1.288,
+1.236,0.163,1.435,1.902,0.850,1.168,1.329,1.891,1.596,0.822,
+0.603,1.043,0.734,0.611,0.513,0.658,0.706,0.084,0.521,0.772,
+0.868,0.728,0.694,1.509,1.329,1.054,0.683,0.929,1.198,1.221,
+0.826,0.927,1.347,0.138,1.066,1.444,0.904,1.131,0.947,1.412,
+1.081,1.111,0.854,1.126,0.100,0.132,0.096,0.124,1.322,0.148,
+1.389,1.800,0.994,1.533,1.573,1.923,1.715,0.801,0.755,1.552,
+1.127,1.065,0.904,1.372,1.498,0.117,1.599,2.298,1.536,1.278,
+1.534,2.428,1.788,1.150,1.039,2.123,1.266,0.829,0.721,0.927,
+1.256,0.129,0.627,1.062,1.786,1.408,0.944,1.737,1.388,0.881,
+0.545,0.799,0.989,0.590,0.499,0.545,0.945,0.089,0.474,0.642,
+0.670,0.756,0.497,0.808,0.946,0.651,0.608,1.055,0.085,0.066,
+0.066,0.124,0.634,0.056,0.343,0.475,0.602,0.685,0.527,0.745,
+1.648,0.643,0.627,1.410,1.196,0.656,0.746,1.034,0.796,0.070,
+0.520,0.829,1.075,0.729,0.785,1.656,1.550,0.905,0.653,1.042,
+0.959,0.676,0.513,0.627,0.740,0.089,0.405,0.643,0.622,0.692,
+0.526,0.924,1.064,0.793,0.450,0.648,0.766,0.438,0.404,0.412,
+0.907,0.122,0.418,0.563,0.448,0.631,0.346,0.549,0.697,0.679,
+0.567,0.694,0.074,0.066,0.060,0.079,0.652,0.066,0.443,0.517,
+0.521,0.608,0.402,0.536,0.836,0.479,0.395,0.627,1.057,0.574,
+0.588,0.676,0.621,0.053,0.383,0.528,0.546,0.452,0.440,0.990,
+0.913,0.584,0.417,0.677,0.692,0.507,0.474,0.566,0.772,0.223,
+0.405,0.646,0.653,0.761,0.645,1.205,0.086,0.084,0.042,0.082,
+0.070,0.070,0.054,0.064,0.082,0.022,0.069,0.080,0.085,0.134,
+0.079,0.128,0.473,0.446,0.347,0.419,0.046,0.038,0.041,0.049,
+0.372,0.045,0.262,0.345,0.292,0.396,0.350,0.426,0.467,0.397,
+0.289,0.452,0.566,0.463,0.479,0.480,0.499,0.059,0.416,0.559,
+0.469,0.486,0.513,1.107,1.517,0.702,0.511,1.106,0.583,0.388,
+0.368,0.500,0.735,0.084,0.356,0.571,0.910,0.666,0.655,1.600,
+1.034,0.787,0.494,0.777,0.691,0.559,0.443,0.529,0.704,0.061,
+0.431,0.643,0.691,0.727,0.502,1.024,0.591,0.568,0.402,0.587,
+0.049,0.056,0.038,0.058,0.469,0.040,0.318,0.454,0.448,0.529,
+0.519,0.727,1.281,0.642,0.537,1.121,0.565,0.482,0.433,0.751,
+0.737,0.056,0.564,0.985,1.293,1.017,1.033,5.203,1.597,1.062,
+0.682,1.290,0.972,0.705,0.558,0.730,0.679,0.068,0.422,0.716,
+0.791,0.806,0.490,1.057,1.124,0.914,0.481,0.724,0.729,0.549,
+0.532,0.503,0.595,0.082,0.413,0.568,0.502,1.052,0.385,0.632,
+0.497,0.528,0.486,0.562,0.052,0.058,0.052,0.082,0.397,0.042,
+0.312,0.350,0.424,0.520,0.413,0.518,0.593,0.388,0.364,0.628,
+0.559,0.441,0.399,0.505,0.458,0.038,0.297,0.438,0.540,0.415,
+0.436,0.903,1.096,0.895,0.419,0.710,0.720,0.632,0.418,0.554,
+0.495,0.066,0.385,1.033,0.431,0.555,0.341,1.321,0.712,0.638,
+0.328,0.433,0.539,0.256,0.352,0.373,0.473,0.065,0.337,0.579,
+0.286,0.456,0.281,0.455,0.494,0.611,0.614,0.702,0.058,0.072,
+0.089,0.132,0.469,0.069,0.343,0.475,0.387,0.690,0.394,0.493,
+0.450,0.346,0.315,0.467,0.489,0.440,0.465,0.532,0.464,0.038,
+0.275,0.403,0.356,0.395,0.318,0.639,0.640,0.520,0.274,0.505,
+0.632,0.467,0.406,0.472,0.499,0.072,0.294,0.417,0.363,0.415,
+0.383,0.655,0.046,0.070,0.031,0.049,0.051,0.070,0.056,0.063,
+0.051,0.018,0.047,0.054,0.033,0.081,0.045,0.060,0.401,0.620,
+0.347,0.492,0.043,0.059,0.040,0.052,0.336,0.050,0.237,0.335,
+0.238,0.457,0.337,0.388,0.368,0.446,0.274,0.399,0.427,0.506,
+0.417,0.526,0.415,0.049,0.330,0.513,0.292,0.354,0.412,0.736,
+0.672,0.571,0.283,0.486,0.350,0.271,0.233,0.287,0.325,0.031,
+0.201,0.312,0.412,0.315,0.322,0.744,0.534,0.577,0.337,0.493,
+0.434,0.450,0.422,0.441,0.362,0.040,0.293,0.418,0.331,0.506,
+0.336,0.554,0.347,0.443,0.357,0.440,0.028,0.051,0.030,0.042,
+0.328,0.038,0.269,0.396,0.324,0.430,0.561,0.585,0.504,0.373,
+0.315,0.508,0.336,0.343,0.270,0.410,0.441,0.035,0.348,0.553,
+0.562,0.536,0.562,1.204,1.421,0.973,0.633,1.057,0.680,0.521,
+0.364,0.497,0.750,0.077,0.336,0.498,0.716,0.651,0.370,0.783,
+1.214,1.046,0.523,0.728,0.728,0.621,0.617,0.545,0.776,0.111,
+0.556,0.678,0.770,1.091,0.461,0.729,0.627,0.778,0.551,0.642,
+0.075,0.122,0.068,0.111,0.437,0.059,0.292,0.372,0.424,0.617,
+0.379,0.532,0.847,0.541,0.457,0.803,0.665,0.650,0.474,0.675,
+0.560,0.061,0.417,0.609,0.683,0.546,0.563,1.351,0.108,0.104,
+0.054,0.077,0.077,0.101,0.049,0.059,0.067,0.017,0.044,0.065,
+0.062,0.092,0.065,0.110,0.103,0.108,0.051,0.055,0.099,0.092,
+0.065,0.056,0.085,0.026,0.067,0.077,0.063,0.103,0.049,0.077,
+0.062,0.110,0.055,0.066,0.013,0.035,0.018,0.013,0.062,0.019,
+0.057,0.062,0.054,0.102,0.054,0.073,0.119,0.078,0.060,0.101,
+0.147,0.183,0.106,0.121,0.073,0.012,0.059,0.084,0.088,0.107,
+0.075,0.149,0.738,0.526,0.334,0.440,0.561,0.544,0.445,0.420,
+0.806,0.252,0.496,0.589,0.625,0.844,0.463,0.781,0.068,0.085,
+0.042,0.054,0.053,0.077,0.062,0.042,0.136,0.101,0.078,0.088,
+0.080,0.194,0.059,0.075,0.476,0.679,0.434,0.384,0.061,0.105,
+0.064,0.052,0.456,0.078,0.239,0.379,0.301,0.510,0.391,0.417,
+0.421,0.341,0.343,0.382,0.592,0.761,0.507,0.530,0.521,0.081,
+0.534,0.663,0.434,0.481,0.511,0.740,0.770,0.508,0.287,0.528,
+0.479,0.443,0.239,0.290,0.490,0.069,0.277,0.502,0.636,0.590,
+0.317,0.771,0.936,0.763,0.417,0.668,0.606,0.757,0.499,0.457,
+0.913,0.151,0.520,0.766,0.727,0.979,0.468,0.746,0.749,1.631,
+0.439,0.511,0.149,0.675,0.067,0.077,0.673,0.143,0.391,0.576,
+0.502,0.885,0.497,0.673,0.761,0.605,0.444,0.580,0.678,1.472,
+0.410,0.550,0.682,0.091,0.632,0.878,0.820,0.843,0.741,1.386,
+1.983,1.266,0.965,1.565,0.666,0.449,0.384,0.446,0.922,0.065,
+0.337,0.551,0.996,0.668,0.613,1.272,0.896,0.518,0.360,0.584,
+0.522,0.315,0.314,0.383,0.575,0.047,0.339,0.501,0.583,0.480,
+0.375,0.705,0.655,0.535,0.374,0.693,0.059,0.059,0.036,0.078,
+0.542,0.046,0.254,0.404,0.476,0.464,0.321,0.669,1.065,0.536,
+0.527,1.183,0.663,0.502,0.447,0.660,0.557,0.046,0.420,0.608,
+0.916,0.656,0.677,1.598,1.310,0.924,0.720,0.919,0.764,0.625,
+0.442,0.501,0.644,0.079,0.364,0.605,0.621,0.711,0.705,1.133,
+0.923,0.675,0.377,0.484,0.675,0.503,0.373,0.442,0.592,0.066,
+0.384,0.589,0.467,0.582,0.395,0.696,0.661,0.672,0.385,0.594,
+0.058,0.080,0.045,0.069,0.555,0.062,0.378,0.531,0.533,0.700,
+0.410,0.699,0.899,0.513,0.390,0.737,0.995,0.746,0.627,0.792,
+0.602,0.062,0.441,0.676,0.720,1.050,0.593,1.130,0.900,0.493,
+0.360,0.559,0.589,0.438,0.396,0.517,0.605,0.090,0.395,0.570,
+0.582,0.536,0.512,0.960,0.064,0.057,0.031,0.058,0.043,0.054,
+0.039,0.046,0.057,0.013,0.043,0.063,0.065,0.097,0.049,0.091,
+0.442,0.482,0.311,0.459,0.036,0.041,0.035,0.055,0.439,0.049,
+0.311,0.770,0.384,0.482,0.460,0.596,0.485,0.376,0.331,0.579,
+0.601,0.584,0.472,0.625,0.631,0.097,0.475,0.770,0.549,0.594,
+0.606,1.035,1.430,0.693,0.539,1.151,0.604,0.438,0.362,0.525,
+0.774,0.085,0.389,0.768,1.141,0.848,0.746,1.986,0.908,0.651,
+0.378,0.744,0.542,0.441,0.401,0.504,0.699,0.069,0.429,0.770,
+0.947,1.143,0.519,1.125,0.807,0.900,0.560,0.859,0.066,0.138,
+0.042,0.086,0.713,0.067,0.521,0.865,0.811,0.971,0.819,1.205,
+1.475,0.732,0.723,1.597,1.041,1.020,0.688,1.159,1.236,0.088,
+0.977,1.733,2.006,1.570,1.506,3.027,2.323,1.502,1.372,2.033,
+1.699,1.115,1.010,1.174,1.289,0.162,0.805,1.173,1.541,1.623,
+1.075,1.707,1.761,1.291,0.905,1.057,1.441,1.017,1.034,0.914,
+1.447,0.243,0.977,1.096,0.850,1.658,0.889,1.255,0.955,0.823,
+0.759,0.911,0.118,0.103,0.110,0.155,0.700,0.095,0.536,0.604,
+0.696,0.979,0.774,0.922,1.557,0.847,0.584,1.150,1.374,0.904,
+0.754,0.998,0.975,0.112,0.707,0.875,1.094,0.919,1.159,1.737,
+2.248,1.804,1.072,1.502,1.671,1.423,1.170,1.090,1.472,0.291,
+1.020,1.496,1.005,1.673,1.442,2.248,1.767,1.856,0.944,1.107,
+1.480,1.182,1.099,1.001,3.600,0.822,1.387,1.867,0.959,2.495,
+0.999,1.333,0.980,1.465,1.007,1.066,0.168,0.222,0.225,0.234,
+1.218,0.250,1.166,1.185,0.685,1.667,1.112,1.013,0.918,0.864,
+0.463,0.686,1.274,1.121,0.899,1.103,1.150,0.132,0.849,1.017,
+0.712,0.875,0.918,1.353,1.017,0.715,0.514,0.694,1.017,0.803,
+0.941,0.832,0.875,0.159,0.813,0.819,0.625,0.810,0.838,1.222,
+0.098,0.122,0.072,0.094,0.134,0.168,0.143,0.127,0.159,0.045,
+0.156,0.154,0.083,0.220,0.144,0.161,0.581,0.686,0.649,0.546,
+0.097,0.103,0.127,0.111,0.688,0.139,0.738,0.755,0.448,0.877,
+0.933,0.846,0.514,0.418,0.360,0.444,0.840,0.778,0.837,0.814,
+0.819,0.113,0.782,0.940,0.604,0.781,1.025,1.269,1.327,0.642,
+0.508,0.868,0.665,0.466,0.411,0.520,0.645,0.093,0.439,0.577,
+0.663,0.633,0.529,1.105,1.162,1.030,0.676,0.865,1.087,1.014,
+0.786,0.847,0.790,0.124,0.741,1.019,0.623,1.000,0.737,1.048,
+0.505,0.558,0.540,0.588,0.064,0.070,0.074,0.086,0.544,0.076,
+0.493,0.624,0.448,0.781,0.849,0.890,0.773,0.582,0.437,0.833,
+0.618,0.807,0.502,0.680,0.777,0.084,0.694,1.093,0.965,0.967,
+1.140,2.192,2.044,1.600,1.130,1.546,1.597,1.511,1.211,1.186,
+1.071,0.172,0.829,1.199,0.968,1.625,0.838,1.813,1.980,2.012,
+1.162,1.163,1.825,1.765,1.685,1.236,1.404,0.401,1.279,1.408,
+1.330,4.788,1.024,1.309,0.743,0.969,0.805,0.911,0.126,0.179,
+0.181,0.250,0.704,0.127,0.654,0.667,0.480,0.919,0.814,0.911,
+0.804,0.462,0.436,0.872,0.887,0.972,0.790,0.950,0.950,0.099,
+0.607,0.713,0.780,0.724,0.888,1.475,2.043,2.271,1.020,1.440,
+1.786,2.214,1.451,1.356,1.318,0.257,1.454,3.438,0.909,1.474,
+0.985,5.462,1.786,2.275,1.209,1.100,1.597,0.875,1.453,1.250,
+1.524,0.388,1.411,1.867,0.681,1.718,0.982,1.291,1.067,1.883,
+1.630,2.104,0.261,0.420,0.540,0.916,1.334,0.362,1.372,1.607,
+0.669,2.059,1.574,1.510,0.806,0.705,0.545,0.860,1.318,1.593,
+1.383,1.878,1.259,0.156,0.913,1.098,0.640,0.843,0.908,1.465,
+1.055,1.011,0.530,0.691,1.333,1.533,1.200,0.909,0.985,0.199,
+0.945,0.956,0.601,0.983,0.964,1.259,0.120,0.251,0.107,0.107,
+0.218,0.377,0.289,0.161,0.149,0.099,0.235,0.212,0.075,0.311,
+0.176,0.164,0.834,1.341,0.919,0.820,0.177,0.365,0.244,0.195,
+0.957,0.267,0.920,1.046,0.481,1.364,1.451,1.116,0.608,0.513,
+0.437,0.533,1.087,1.682,1.356,1.273,0.955,0.168,1.133,1.303,
+0.593,0.899,1.439,1.486,0.875,0.657,0.429,0.644,0.655,0.577,
+0.445,0.473,0.507,0.066,0.545,0.590,0.529,0.518,0.561,0.961,
+1.008,1.323,0.791,0.836,1.138,1.574,1.096,1.010,0.799,0.172,
+0.970,1.053,0.520,1.212,0.928,1.004,0.516,0.826,0.724,0.721,
+0.067,0.122,0.114,0.126,0.647,0.107,0.777,0.849,0.551,1.053,
+2.478,1.748,0.623,0.466,0.414,0.713,0.562,0.743,0.566,0.796,
+0.727,0.075,0.807,0.982,0.732,0.906,1.181,1.564,1.419,1.293,
+0.759,1.190,0.856,0.871,0.635,0.726,0.807,0.117,0.621,0.669,
+0.916,1.186,0.594,0.880,1.755,1.866,1.088,1.002,1.553,1.725,
+1.306,1.175,1.526,0.395,1.706,1.637,1.034,3.378,0.948,1.163,
+0.763,1.271,0.849,0.855,0.136,0.221,0.190,0.228,0.805,0.183,
+0.997,0.909,0.454,1.128,0.833,0.795,0.942,0.756,0.458,0.789,
+0.867,0.918,0.760,0.915,0.828,0.120,0.927,1.036,0.770,0.779,
+1.039,1.610,0.105,0.150,0.070,0.099,0.139,0.228,0.142,0.119,
+0.096,0.040,0.110,0.145,0.080,0.165,0.115,0.212,0.177,0.298,
+0.136,0.116,0.298,0.410,0.315,0.202,0.245,0.178,0.312,0.311,
+0.101,0.381,0.152,0.157,0.085,0.210,0.137,0.107,0.042,0.123,
+0.133,0.067,0.150,0.105,0.268,0.212,0.079,0.285,0.213,0.158,
+0.108,0.110,0.066,0.102,0.212,0.314,0.229,0.248,0.141,0.043,
+0.206,0.198,0.092,0.133,0.167,0.206,1.065,1.022,0.611,0.644,
+1.081,1.467,1.226,0.953,1.172,0.307,1.203,1.149,0.889,1.363,
+1.082,1.182,0.134,0.229,0.117,0.094,0.180,0.373,0.296,0.159,
+0.224,0.136,0.431,0.309,0.134,0.358,0.210,0.171,0.927,1.704,
+1.055,0.803,0.202,0.358,0.323,0.203,1.251,0.358,0.990,1.254,
+0.577,1.656,1.266,1.085,0.625,0.622,0.548,0.573,1.204,1.862,
+1.538,1.294,1.238,0.286,1.743,1.773,0.731,1.203,1.477,1.614,
+0.937,0.701,0.453,0.753,0.631,0.546,0.388,0.458,0.688,0.110,
+0.526,0.765,1.118,0.996,0.484,1.002,1.386,1.507,0.895,1.128,
+1.520,1.965,1.412,1.318,1.570,0.367,1.788,2.888,1.169,2.189,
+1.197,1.618,0.798,1.382,0.892,0.804,0.112,0.267,0.157,0.133,
+1.179,0.280,1.240,1.417,0.778,1.782,1.303,1.277,0.805,0.730,
+0.519,0.808,0.793,1.060,0.732,0.899,1.185,0.165,1.498,2.050,
+1.149,1.437,1.630,2.143,1.418,0.905,0.729,1.143,0.819,0.574,
+0.493,0.724,1.095,0.087,0.480,0.701,0.865,0.746,0.651,1.138,
+0.920,0.673,0.474,0.606,0.725,0.569,0.496,0.624,0.698,0.097,
+0.592,0.732,0.555,0.921,0.515,0.792,0.754,0.797,0.467,0.714,
+0.073,0.072,0.056,0.110,0.629,0.070,0.483,0.635,0.492,0.603,
+0.481,0.749,0.838,0.499,0.439,0.864,0.701,0.516,0.472,0.812,
+0.706,0.065,0.649,0.891,0.869,0.641,0.920,1.781,1.552,1.318,
+0.944,1.299,1.345,1.353,1.234,1.051,1.056,0.160,0.826,1.144,
+0.881,1.237,0.945,1.564,1.375,1.385,0.777,0.915,1.532,1.537,
+1.231,1.333,1.266,0.244,1.299,1.700,0.738,1.491,0.999,1.296,
+0.919,1.561,0.838,0.946,0.128,0.251,0.179,0.219,1.059,0.207,
+1.176,1.255,0.786,1.753,1.131,1.249,1.070,0.807,0.571,0.887,
+1.987,1.603,1.360,1.763,1.171,0.164,1.441,1.497,0.914,1.234,
+1.335,1.887,0.882,0.635,0.508,0.664,0.978,0.946,0.956,0.994,
+0.943,0.169,0.977,1.110,0.711,0.866,0.952,1.347,0.082,0.097,
+0.053,0.078,0.102,0.169,0.133,0.116,0.084,0.033,0.162,0.139,
+0.079,0.150,0.118,0.130,0.666,0.925,0.663,0.704,0.084,0.129,
+0.120,0.137,0.837,0.184,0.924,1.077,0.529,1.236,1.084,1.128,
+0.552,0.490,0.528,0.634,0.856,0.978,1.093,1.170,1.102,0.155,
+1.189,1.555,0.779,0.986,1.429,1.656,1.204,0.668,0.579,0.987,
+0.696,0.567,0.479,0.611,0.720,0.099,0.508,0.805,0.794,0.667,
+0.642,1.434,1.056,0.870,0.548,0.800,0.931,0.894,0.808,0.865,
+0.749,0.095,0.730,1.149,0.793,1.012,0.725,1.460,0.737,0.836,
+0.670,0.893,0.075,0.099,0.075,0.112,0.849,0.119,1.003,1.235,
+0.776,1.228,1.417,1.509,1.163,0.671,0.691,1.291,1.035,1.081,
+0.945,1.275,1.285,0.125,1.476,2.082,1.666,1.740,1.936,2.531,
+1.503,0.949,0.850,1.401,1.210,0.848,0.729,0.897,0.951,0.162,
+0.577,0.768,1.021,1.130,0.708,1.039,1.119,0.950,0.557,0.726,
+0.967,0.826,0.702,0.818,1.685,0.560,0.860,0.790,0.634,1.652,
+0.687,0.764,0.803,0.619,0.523,0.948,0.086,0.070,0.075,0.121,
+0.496,0.063,0.371,0.562,0.406,0.607,0.551,0.642,1.476,0.460,
+0.406,0.810,0.799,0.470,0.547,0.657,0.635,0.072,0.380,0.588,
+0.678,0.403,0.568,1.036,1.999,1.376,0.841,1.167,2.144,1.512,
+1.184,1.004,0.889,0.142,0.651,0.808,0.711,0.966,0.628,0.939,
+1.513,1.689,0.782,0.857,1.430,0.977,1.196,0.987,1.254,0.259,
+1.130,1.538,0.584,1.228,0.681,0.795,1.092,1.250,0.967,1.009,
+0.171,0.217,0.199,0.204,1.279,0.205,1.187,1.502,0.736,1.335,
+1.219,1.071,1.124,0.613,0.440,0.636,1.249,1.142,0.976,1.098,
+0.822,0.104,0.749,0.917,0.651,0.614,0.781,1.226,1.005,0.617,
+0.511,0.691,1.243,1.045,1.182,1.117,1.143,0.189,1.286,0.929,
+0.675,0.813,0.778,1.082,0.105,0.128,0.099,0.102,0.172,0.175,
+0.285,0.190,0.180,0.051,0.687,0.260,0.111,0.260,0.209,0.188,
+0.670,0.766,0.891,0.699,0.112,0.122,0.374,0.185,0.775,0.151,
+0.668,0.818,0.437,1.091,0.908,0.800,0.605,0.402,0.726,0.584,
+1.191,0.967,4.047,1.495,0.971,0.142,0.867,1.097,0.594,0.709,
+0.915,1.130,1.019,0.467,0.386,0.680,0.599,0.476,0.428,0.566,
+0.504,0.063,0.439,0.452,0.610,0.517,0.447,0.892,0.922,0.701,
+0.520,0.681,0.940,0.739,0.792,0.820,0.757,0.110,1.408,0.971,
+0.593,0.810,0.710,0.866,0.709,0.791,0.643,0.751,0.086,0.092,
+0.107,0.117,0.711,0.094,0.602,0.805,0.538,0.952,0.906,1.022,
+1.000,0.585,0.514,0.878,0.762,0.561,0.925,0.839,1.049,0.097,
+0.830,1.155,1.183,1.026,1.218,2.154,0.089,0.080,0.061,0.081,
+0.096,0.094,0.080,0.078,0.064,0.013,0.102,0.107,0.058,0.089,
+0.064,0.087,0.110,0.114,0.126,0.074,0.122,0.133,0.145,0.108,
+0.120,0.038,0.147,0.122,0.054,0.150,0.082,0.089,0.047,0.067,
+0.050,0.062,8.94e-3,0.018,0.018,0.016,0.050,0.012,0.061,0.080,
+0.036,0.067,0.060,0.070,0.077,0.038,0.032,0.057,0.079,0.084,
+0.071,0.075,0.067,0.011,0.048,0.114,0.055,0.048,0.061,0.121,
+0.119,0.138,0.066,0.077,0.160,0.217,0.162,0.101,0.076,0.030,
+0.080,0.091,0.047,0.091,0.064,0.124,0.148,0.261,0.118,0.088,
+0.225,0.208,0.245,0.154,0.164,0.087,0.207,0.207,0.059,0.174,
+0.112,0.106,0.088,0.172,0.127,0.116,0.040,0.107,0.092,0.060,
+0.227,0.106,0.236,0.295,0.124,0.211,0.214,0.155,0.075,0.058,
+0.045,0.055,0.135,0.211,0.150,0.146,0.104,0.026,0.100,0.104,
+0.056,0.069,0.091,0.123,0.070,0.060,0.037,0.042,0.127,0.142,
+0.140,0.098,0.093,0.027,0.115,0.087,0.041,0.070,0.063,0.086,
+0.014,0.031,0.019,0.013,0.040,0.081,0.077,0.036,0.044,0.038,
+0.105,0.054,9.36e-3,0.034,0.032,0.022,0.075,0.119,0.140,0.091,
+0.028,0.064,0.093,0.037,0.135,0.073,0.155,0.162,0.054,0.178,
+0.178,0.122,0.054,0.045,0.060,0.052,0.130,0.192,0.326,0.156,
+0.141,0.060,0.165,0.224,0.055,0.108,0.123,0.134,0.071,0.060,
+0.043,0.065,0.063,0.063,0.048,0.054,0.049,8.94e-3,0.044,0.046,
+0.046,0.056,0.045,0.088,0.101,0.104,0.079,0.100,0.135,0.172,
+0.143,0.140,0.107,0.025,0.184,0.135,0.072,0.143,0.107,0.124,
+0.067,0.080,0.082,0.077,0.013,0.033,0.027,0.020,0.089,0.028,
+0.100,0.130,0.051,0.119,0.144,0.130,0.080,0.075,0.050,0.074,
+0.076,0.089,0.093,0.080,0.101,0.018,0.101,0.129,0.084,0.101,
+0.120,0.186,1.280,0.975,0.659,1.032,0.899,0.815,0.662,0.743,
+0.653,0.092,0.591,0.617,0.489,0.508,0.416,0.643,1.297,1.331,
+0.715,0.772,1.398,1.370,1.393,1.011,1.174,0.252,1.665,1.334,
+0.515,1.075,0.724,0.858,0.702,0.995,0.680,0.837,0.164,0.240,
+0.206,0.232,0.920,0.164,1.114,1.207,0.485,0.992,0.720,0.840,
+0.708,0.435,0.333,0.585,1.010,0.876,0.743,0.844,0.897,0.128,
+1.038,1.173,0.628,0.617,0.810,1.314,0.121,0.139,0.063,0.084,
+0.166,0.235,0.164,0.144,0.088,0.033,0.093,0.107,0.048,0.092,
+0.063,0.084,0.147,0.216,0.096,0.084,0.248,0.294,0.277,0.170,
+0.144,0.092,0.269,0.229,0.054,0.140,0.109,0.097,0.083,0.213,
+0.119,0.099,0.044,0.121,0.125,0.062,0.165,0.102,0.329,0.474,
+0.061,0.182,0.179,0.144,0.096,0.086,0.050,0.079,0.205,0.323,
+0.199,0.214,0.147,0.041,0.175,0.233,0.073,0.106,0.116,0.166,
+1.196,0.944,0.580,0.544,1.248,1.617,1.531,0.859,1.102,0.256,
+1.172,1.196,0.613,0.819,0.775,0.874,0.133,0.224,0.125,0.087,
+0.217,0.409,0.443,0.151,0.195,0.121,0.397,0.262,0.087,0.211,
+0.154,0.126,0.941,1.377,1.119,0.837,0.209,0.293,0.375,0.190,
+0.932,0.244,0.355,0.773,0.452,1.006,1.038,0.863,0.565,0.461,
+0.419,0.438,1.172,1.453,1.402,1.034,0.949,0.200,1.437,1.444,
+0.494,0.780,1.028,1.098,0.826,0.568,0.436,0.546,0.697,0.635,
+0.436,0.390,0.516,0.087,0.514,0.600,0.469,0.500,0.389,0.623,
+1.249,1.200,0.836,0.702,1.415,1.763,1.469,0.950,1.164,0.236,
+1.558,1.501,0.729,1.161,0.861,0.926,0.849,1.221,0.920,0.852,
+0.140,0.268,0.198,0.166,1.192,0.256,1.515,1.669,0.597,1.383,
+1.353,1.227,0.754,0.557,0.450,0.670,0.972,1.042,0.750,0.786,
+1.033,0.139,1.485,1.524,0.881,0.993,1.186,1.478,1.358,0.720,
+0.503,0.918,0.783,0.538,0.477,0.585,0.620,0.068,0.383,0.512,
+0.622,0.542,0.452,0.837,0.918,0.708,0.387,0.501,0.722,0.661,
+0.506,0.511,0.532,0.070,0.473,0.567,0.364,0.462,0.375,0.564,
+0.634,0.581,0.356,0.558,0.074,0.079,0.062,0.103,0.675,0.074,
+0.501,0.657,0.419,0.546,0.463,0.676,0.699,0.391,0.300,0.561,
+0.664,0.486,0.439,0.608,0.677,0.081,0.449,0.685,0.632,0.522,
+0.619,1.275,1.710,1.327,0.703,1.087,1.487,1.319,1.202,1.020,
+0.925,0.145,0.773,0.881,0.693,0.952,0.705,1.109,1.433,1.550,
+0.701,0.834,1.556,1.542,1.398,1.160,0.980,0.172,1.213,1.342,
+0.521,0.879,0.711,0.953,1.041,1.637,0.917,0.975,0.148,0.279,
+0.209,0.228,1.702,0.289,1.592,2.026,0.819,1.672,1.404,1.424,
+1.003,0.780,0.507,0.792,1.630,1.602,1.446,1.643,1.671,0.440,
+1.296,1.682,0.847,1.371,1.138,1.627,1.193,0.769,0.537,0.679,
+1.180,1.217,1.147,0.948,0.878,0.149,0.834,0.990,0.611,0.839,
+0.697,1.149,0.143,0.118,0.066,0.087,0.141,0.243,0.214,0.141,
+0.099,0.043,0.180,0.192,0.070,0.156,0.112,0.137,0.940,1.387,
+0.795,0.892,0.124,0.182,0.164,0.164,1.066,0.227,0.900,1.484,
+0.623,1.394,1.150,1.229,0.722,0.636,0.503,0.701,1.327,1.405,
+1.414,1.390,1.026,0.177,1.236,1.992,0.672,0.973,1.205,1.523,
+1.232,0.695,0.616,0.805,0.736,0.562,0.505,0.519,0.685,0.104,
+0.539,0.711,0.640,0.530,0.543,1.157,1.029,0.793,0.520,0.668,
+0.927,0.985,0.886,0.816,0.724,0.090,0.846,1.112,0.603,0.742,
+0.805,1.165,0.987,1.145,0.788,1.052,0.109,0.135,0.102,0.149,
+1.187,0.171,1.340,1.829,0.872,1.366,1.461,1.662,1.229,0.851,
+0.611,1.186,1.249,1.133,0.957,1.199,1.366,0.142,1.451,2.062,
+1.334,1.217,1.477,2.292,2.312,1.075,1.372,2.046,1.081,0.668,
+0.584,0.816,1.043,0.096,0.543,0.709,1.221,0.986,0.614,1.230,
+1.106,0.631,0.434,0.647,0.750,0.476,0.401,0.479,0.701,0.097,
+0.608,0.497,0.576,0.670,0.434,0.661,0.752,0.539,0.513,0.810,
+0.074,0.060,0.049,0.102,0.479,0.043,0.293,0.503,0.452,0.546,
+0.470,0.736,1.293,0.559,0.562,1.073,0.843,0.566,0.471,0.761,
+0.628,0.056,0.389,0.640,0.927,0.634,0.703,1.657,1.582,0.835,
+0.630,1.014,1.020,0.630,0.485,0.593,0.517,0.059,0.279,0.472,
+0.526,0.518,0.348,0.748,0.949,0.674,0.396,0.810,0.675,0.417,
+0.412,0.460,0.594,0.073,0.352,0.537,0.404,0.507,0.344,0.575,
+0.677,0.597,0.580,0.664,0.067,0.073,0.057,0.086,0.513,0.057,
+0.353,0.538,0.426,0.618,0.545,0.673,0.672,0.383,0.324,0.539,
+0.676,0.513,0.401,0.547,0.443,0.036,0.311,0.496,0.474,0.400,
+0.468,1.030,1.051,0.523,0.428,0.730,0.837,0.608,0.489,0.787,
+0.669,0.081,0.374,0.509,0.698,0.606,0.453,1.164,0.089,0.066,
+0.043,0.078,0.077,0.067,0.060,0.085,0.064,0.011,0.109,0.078,
+0.097,0.117,0.069,0.129,0.521,0.440,0.415,0.528,0.053,0.045,
+0.067,0.075,0.440,0.058,0.263,0.435,0.395,0.601,0.479,0.643,
+0.549,0.363,0.371,0.680,0.671,0.479,0.823,0.790,0.548,0.055,
+0.375,0.684,0.601,0.552,0.605,1.151,1.496,0.622,0.475,1.057,
+0.664,0.434,0.383,0.631,0.679,0.066,0.346,0.538,1.015,0.662,
+0.538,1.360,0.942,0.554,0.383,0.693,0.616,0.464,0.428,0.567,
+0.590,0.053,0.522,0.623,0.712,0.722,0.523,0.989,0.711,0.645,
+0.475,0.676,0.057,0.053,0.046,0.068,0.654,0.054,0.333,0.565,
+0.618,0.764,0.673,1.002,1.204,0.686,0.566,1.183,0.788,0.610,
+0.541,0.834,0.952,0.070,0.631,1.090,1.544,1.318,1.661,2.963,
+1.487,0.869,0.762,1.243,1.012,0.756,0.631,0.720,0.727,0.117,
+1.831,0.922,0.729,0.719,0.715,1.100,1.156,0.749,0.593,0.723,
+0.876,0.731,0.909,0.735,0.743,0.110,2.237,0.989,0.529,0.730,
+0.725,0.842,0.551,0.534,0.411,0.616,0.057,0.073,0.055,0.093,
+0.477,0.059,0.389,0.542,0.408,0.624,0.472,0.798,0.719,0.444,
+0.328,0.695,0.672,0.644,0.448,0.657,0.539,0.061,0.413,0.623,
+0.572,0.529,0.590,1.300,1.350,1.029,0.561,0.934,1.122,0.971,
+0.677,0.735,0.630,0.085,0.453,0.676,0.512,0.674,0.421,0.915,
+1.136,1.096,0.536,0.666,1.032,0.755,0.725,0.768,1.081,0.189,
+0.697,0.891,0.498,0.879,0.510,0.781,0.747,0.897,0.817,0.889,
+0.112,0.162,0.108,0.144,1.011,0.166,0.676,0.959,0.662,1.105,
+0.797,1.105,0.651,0.517,0.355,0.541,0.798,1.055,0.726,0.809,
+0.599,0.077,0.447,0.651,0.511,0.566,0.587,1.150,0.953,0.541,
+0.391,0.595,1.052,0.807,0.636,1.114,0.647,0.106,0.552,0.544,
+0.509,0.604,0.493,0.958,0.063,0.069,0.040,0.066,0.091,0.144,
+0.091,0.106,0.074,0.025,0.108,0.088,0.053,0.114,0.068,0.106,
+0.642,0.684,0.539,0.623,0.080,0.101,0.095,0.101,0.674,0.103,
+0.437,0.685,0.458,0.891,0.670,0.941,0.596,0.420,0.363,0.598,
+0.857,0.910,0.810,0.950,0.734,0.096,0.609,1.010,0.649,0.870,
+0.920,1.696,0.899,0.539,0.399,0.854,0.649,0.488,0.369,0.584,
+0.500,0.056,0.364,0.461,0.556,0.491,0.459,0.930,0.839,0.666,
+0.473,0.742,0.732,0.780,0.642,0.724,0.742,0.090,0.659,0.766,
+0.579,0.918,0.682,1.024,0.635,0.661,0.529,0.705,0.061,0.085,
+0.057,0.077,0.673,0.074,0.524,0.754,0.535,0.900,0.829,1.195,
+0.914,0.596,0.457,0.781,0.773,0.704,0.486,0.646,0.795,0.072,
+0.607,0.990,0.989,1.118,1.116,2.194,1.679,1.231,0.772,1.304,
+0.935,0.816,0.637,0.885,0.915,0.088,0.584,0.735,0.772,0.645,
+0.502,0.956,1.618,1.414,0.670,0.975,1.287,1.136,0.905,0.947,
+1.054,0.162,1.284,1.181,0.772,1.271,0.768,1.390,0.898,1.116,
+0.638,0.926,0.135,0.162,0.126,0.188,0.868,0.121,0.648,0.986,
+0.561,1.087,0.792,1.091,1.131,0.741,0.460,0.937,1.043,0.964,
+0.688,0.969,0.932,0.111,0.967,1.278,0.999,0.856,1.192,2.091,
+0.118,0.116,0.066,0.089,0.115,0.148,0.077,0.107,0.075,0.018,
+0.078,0.081,0.063,0.089,0.057,0.095,0.124,0.151,0.064,0.080,
+0.162,0.184,0.119,0.112,0.115,0.037,0.173,0.198,0.064,0.131,
+0.087,0.125,0.072,0.127,0.061,0.073,0.018,0.043,0.030,0.021,
+0.112,0.037,0.097,0.140,0.057,0.145,0.113,0.126,0.111,0.090,
+0.046,0.102,0.147,0.196,0.122,0.161,0.101,0.019,0.115,0.143,
+0.095,0.108,0.121,0.209,1.565,1.148,0.682,0.847,1.586,1.527,
+1.210,1.152,1.169,0.225,0.908,1.102,0.822,1.072,0.882,1.384,
+0.131,0.166,0.068,0.091,0.167,0.232,0.155,0.134,0.151,0.050,
+0.175,0.161,0.104,0.203,0.133,0.165,1.475,1.746,0.983,1.078,
+0.246,0.361,0.215,0.195,1.414,0.271,0.834,1.321,0.792,1.649,
+1.240,1.543,1.050,0.835,0.602,0.864,1.709,2.031,1.460,1.567,
+1.516,0.216,1.577,1.880,1.021,1.310,1.769,2.074,1.297,0.841,
+0.633,0.989,1.053,0.819,0.549,0.733,0.771,0.099,0.646,0.858,
+0.774,0.764,0.596,1.248,1.528,1.382,0.784,1.090,1.355,1.571,
+0.987,1.201,1.501,0.189,1.384,1.650,1.049,1.655,1.207,1.688,
+1.347,1.577,0.926,1.206,0.136,0.220,0.139,0.150,1.499,0.210,
+1.356,1.665,1.084,1.968,1.682,1.939,1.240,0.844,0.661,1.045,
+1.167,1.258,0.857,1.104,1.456,0.150,1.573,1.528,1.448,1.554,
+2.134,2.511,3.386,1.254,0.861,1.816,1.198,0.714,0.601,0.878,
+0.910,0.089,0.490,0.817,1.125,0.858,0.642,1.613,1.370,0.889,
+0.455,0.758,0.890,0.695,0.509,0.649,0.721,0.073,0.536,0.834,
+0.604,0.635,0.485,1.013,1.055,0.895,0.502,1.105,0.094,0.084,
+0.057,0.136,0.702,0.078,0.435,0.774,0.612,0.836,0.665,1.182,
+1.650,0.952,0.633,1.572,1.102,0.787,0.632,1.166,1.018,0.093,
+0.690,1.214,1.446,1.294,1.424,3.295,2.126,1.421,0.769,1.370,
+1.315,1.138,0.732,0.975,0.850,0.100,0.618,0.912,0.827,0.898,
+0.624,1.337,1.735,1.407,0.590,0.921,1.683,1.458,0.856,1.062,
+0.950,0.121,0.892,1.355,0.745,0.964,0.625,1.248,1.193,1.434,
+0.710,1.160,0.100,0.150,0.079,0.136,1.198,0.147,0.792,1.283,
+0.860,1.485,1.059,1.689,1.411,0.997,0.584,1.099,1.492,1.238,
+0.887,1.410,1.158,0.141,0.840,1.352,1.108,1.193,1.498,2.570,
+1.949,1.127,0.820,1.187,1.525,1.168,1.002,1.368,1.234,0.165,
+0.766,1.241,1.092,1.170,0.983,2.020,0.123,0.115,0.064,0.109,
+0.122,0.141,0.106,0.123,0.083,0.021,0.102,0.134,0.100,0.150,
+0.096,0.194,1.391,1.470,0.972,1.358,0.125,0.140,0.114,0.159,
+1.345,0.184,1.047,1.497,1.038,1.699,1.422,2.021,1.438,0.998,
+0.846,1.335,1.719,1.525,1.369,1.985,1.655,0.173,1.506,2.436,
+1.451,1.473,1.977,3.153,3.291,1.355,0.962,1.888,1.233,0.907,
+0.714,1.093,1.219,0.123,0.679,1.303,1.688,1.317,1.121,3.082,
+1.896,1.349,0.769,1.414,1.336,1.187,0.924,1.397,1.272,0.112,
+1.044,1.736,1.300,1.462,1.097,2.614,1.712,1.564,1.051,1.818,
+0.110,0.130,0.084,0.166,1.815,0.164,1.498,2.270,1.675,2.137,
+2.058,3.243,3.336,1.260,0.998,2.429,1.644,1.288,1.077,2.071,
+1.898,0.130,1.628,3.048,1.915,1.708,2.118,4.620,3.732,1.646,
+1.194,2.850,2.279,1.240,0.995,1.530,2.268,0.230,0.879,1.517,
+3.878,2.575,1.470,2.741,2.607,1.316,0.918,1.361,1.540,0.861,
+0.759,0.838,1.459,0.121,0.729,1.035,1.409,1.190,0.792,1.428,
+2.284,1.552,1.130,1.846,0.192,0.182,0.108,0.238,1.201,0.119,
+0.792,0.991,1.371,1.447,0.958,1.500,4.244,1.749,1.605,3.594,
+2.852,2.674,1.448,2.560,1.683,0.146,0.882,1.536,2.642,1.587,
+1.546,3.083,3.022,1.439,0.896,1.525,1.504,0.934,0.610,0.798,
+1.356,0.192,0.549,0.829,1.260,1.269,0.589,1.243,1.757,1.026,
+0.594,0.838,1.082,0.660,0.559,0.610,0.881,0.074,0.466,0.647,
+0.734,0.678,0.470,0.699,1.229,1.067,0.738,0.940,0.098,0.075,
+0.066,0.096,0.861,0.082,0.456,0.647,0.666,0.819,0.516,0.781,
+1.205,0.764,0.605,1.025,1.148,0.914,0.714,0.914,0.927,0.080,
+0.484,0.795,1.018,0.850,0.673,1.461,2.431,1.010,0.804,1.267,
+1.501,0.798,0.699,0.978,1.410,0.170,0.573,1.077,1.471,1.186,
+0.844,1.997,0.147,0.107,0.063,0.116,0.122,0.094,0.074,0.092,
+0.115,0.017,0.066,0.112,0.149,0.204,0.105,0.207,0.928,0.674,
+0.588,0.740,0.089,0.054,0.045,0.082,0.676,0.060,0.315,0.475,
+0.563,0.601,0.497,0.694,0.977,0.647,0.565,1.045,1.121,0.760,
+0.639,1.017,0.851,0.090,0.553,0.908,0.840,0.865,0.768,1.488,
+3.832,1.369,1.112,2.442,1.281,0.720,0.720,1.149,1.848,0.179,
+0.805,1.448,2.761,1.662,1.355,3.744,2.353,1.340,1.002,1.440,
+1.541,1.006,0.857,1.095,1.315,0.102,0.768,1.432,1.667,1.490,
+1.054,2.227,1.234,0.935,0.755,1.103,0.099,0.076,0.063,0.104,
+0.856,0.060,0.480,0.777,0.941,0.921,0.763,1.207,2.109,1.316,
+1.111,2.242,1.157,0.942,0.902,1.297,1.330,0.100,0.878,1.537,
+2.025,1.555,1.493,3.080,2.925,1.516,1.074,2.015,1.292,0.837,
+0.657,0.958,1.191,0.115,0.476,0.926,1.344,1.169,0.680,1.490,
+1.603,1.019,0.613,0.935,0.988,0.592,0.538,0.633,0.725,0.069,
+0.460,0.757,0.664,0.695,0.497,0.948,0.938,0.866,0.572,0.942,
+0.088,0.088,0.062,0.167,0.523,0.060,0.577,0.688,0.529,0.688,
+0.605,0.836,1.208,0.553,0.566,0.995,0.980,0.768,0.533,1.014,
+0.637,0.058,0.391,0.644,0.824,0.601,0.614,1.468,1.690,1.298,
+0.524,0.888,0.959,0.742,0.441,0.566,0.769,0.088,0.317,0.605,
+0.660,0.734,0.350,0.840,0.950,0.736,0.365,0.512,0.615,0.360,
+0.364,0.413,0.500,0.058,0.320,0.502,0.378,0.464,0.301,0.488,
+0.661,0.825,0.407,0.563,0.061,0.074,0.040,0.060,0.506,0.075,
+0.304,0.476,0.382,0.645,0.324,0.588,0.683,0.479,0.300,0.528,
+0.599,0.578,0.294,0.478,0.527,0.046,0.257,0.462,0.469,0.455,
+0.320,0.855,1.205,0.674,0.460,0.751,0.924,0.598,0.512,0.629,
+0.729,0.089,0.397,0.792,0.694,0.657,0.496,1.080,0.073,0.073,
+0.044,0.069,0.073,0.069,0.068,0.061,0.051,0.016,0.058,0.086,
+0.062,0.097,0.057,0.097,0.755,0.647,1.184,0.704,0.153,0.060,
+0.051,0.073,0.487,0.053,0.364,0.492,0.355,0.513,0.458,0.576,
+0.544,0.347,0.351,0.592,0.677,0.501,0.412,0.605,0.452,0.038,
+0.530,0.629,0.422,0.415,0.547,0.848,1.515,0.665,0.546,0.967,
+0.778,0.495,0.446,0.584,0.845,0.071,0.383,0.772,1.038,0.676,
+0.493,1.293,1.223,0.792,0.626,0.857,0.885,0.694,0.680,0.760,
+0.665,0.063,0.542,1.100,0.743,0.840,0.537,1.116,0.785,0.716,
+0.630,0.807,0.067,0.054,0.041,0.066,0.630,0.051,0.409,0.676,
+0.519,0.634,0.566,0.893,0.955,0.543,0.614,0.986,0.707,0.545,
+0.486,0.770,0.705,0.054,0.592,1.039,0.998,0.852,1.113,1.852,
+2.146,1.103,1.203,1.713,0.898,0.584,0.466,0.657,0.922,0.090,
+0.415,0.695,1.108,0.843,0.494,1.078,1.566,1.122,0.538,0.835,
+0.834,0.534,0.503,0.539,0.876,0.088,0.471,0.695,0.759,0.800,
+0.464,0.817,1.063,0.962,0.594,0.931,0.100,0.100,0.070,0.121,
+0.573,0.066,0.330,0.517,0.543,0.799,0.537,0.815,1.206,0.692,
+0.590,1.166,0.902,0.728,0.584,0.828,0.845,0.080,0.449,0.872,
+0.996,0.686,0.766,2.109,0.130,0.097,0.064,0.097,0.096,0.087,
+0.053,0.063,0.076,0.013,0.037,0.058,0.080,0.093,0.048,0.091,
+0.102,0.082,0.039,0.062,0.095,0.088,0.057,0.059,0.074,0.014,
+0.047,0.055,0.060,0.085,0.037,0.065,0.072,0.081,0.048,0.072,
+0.010,0.014,8.69e-3,0.012,0.065,0.012,0.043,0.056,0.051,0.088,
+0.049,0.072,0.130,0.076,0.059,0.121,0.145,0.131,0.091,0.135,
+0.092,0.011,0.054,0.101,0.102,0.089,0.079,0.192,1.239,0.576,
+0.406,0.597,0.628,0.501,0.413,0.462,0.757,0.101,0.542,0.770,
+0.547,0.582,0.568,0.800,0.084,0.072,0.033,0.047,0.052,0.061,
+0.042,0.040,0.064,0.015,0.065,0.060,0.062,0.079,0.054,0.071,
+0.551,0.580,0.336,0.428,0.071,0.056,0.044,0.046,0.644,0.063,
+0.252,0.362,0.366,0.474,0.313,0.421,0.549,0.362,0.313,0.417,
+0.570,0.490,0.396,0.488,0.686,0.088,0.506,0.695,0.480,0.609,
+0.417,0.777,1.097,0.541,0.539,0.777,0.590,0.409,0.306,0.410,
+0.678,0.069,0.384,0.661,0.855,0.637,0.439,1.074,1.302,0.833,
+0.542,0.742,0.815,0.907,0.520,0.546,0.772,0.075,0.510,0.794,
+0.737,0.854,0.508,0.871,0.765,0.757,0.510,0.733,0.070,0.079,
+0.049,0.072,0.648,0.058,0.444,0.623,0.576,0.698,0.535,0.844,
+0.996,0.521,0.607,0.811,0.750,0.623,0.819,0.815,0.893,0.080,
+0.721,1.073,1.149,0.974,0.948,1.854,3.173,1.296,1.108,2.247,
+1.053,0.585,0.577,0.847,1.239,0.110,0.483,0.919,2.282,1.201,
+0.856,1.880,1.354,0.680,0.424,0.807,0.737,0.374,0.367,0.494,
+0.816,0.060,0.463,0.687,0.897,0.629,0.473,0.898,1.084,0.841,
+0.549,1.247,0.091,0.077,0.056,0.137,0.714,0.064,0.350,0.613,
+0.715,0.741,0.447,0.935,1.713,0.780,0.786,2.121,1.001,0.666,
+0.620,1.155,0.989,0.074,0.625,1.100,1.513,0.962,1.129,2.974,
+1.786,0.982,0.655,1.244,1.099,0.738,0.510,0.760,0.930,0.092,
+0.394,0.722,0.990,0.911,0.532,1.056,1.159,0.689,0.359,0.667,
+0.967,0.546,0.361,0.491,0.789,0.101,0.377,0.611,0.657,0.718,
+0.326,0.697,0.854,0.686,0.420,0.836,0.075,0.056,0.041,0.073,
+0.731,0.065,0.401,0.644,0.606,0.832,0.446,0.813,1.099,0.564,
+0.471,1.019,1.006,0.678,0.547,0.978,0.828,0.066,0.486,0.925,
+0.937,0.727,0.669,1.614,1.298,0.770,0.475,0.861,0.843,0.507,
+0.424,0.651,1.039,0.107,0.450,0.760,0.886,0.716,0.583,1.185,
+0.091,0.068,0.037,0.071,0.060,0.050,0.042,0.049,0.132,0.015,
+0.058,0.077,0.086,0.099,0.058,0.110,0.708,0.692,0.489,0.652,
+0.097,0.042,0.073,0.061,3.422,0.161,0.655,0.611,0.983,0.619,
+0.648,0.704,0.697,0.524,0.427,0.712,0.706,0.501,0.533,0.758,
+1.240,0.099,0.524,0.882,0.771,0.655,0.622,1.273,2.167,1.066,
+0.768,1.647,0.932,0.649,0.543,0.741,1.207,0.117,0.524,1.036,
+1.668,1.097,0.863,2.389,1.336,0.701,0.511,0.898,0.793,0.533,
+0.453,0.615,0.891,0.107,0.490,0.916,0.966,0.966,0.591,1.299,
+1.146,1.007,0.763,1.242,0.078,0.063,0.049,0.097,1.392,0.080,
+0.604,0.958,1.212,1.145,0.985,1.480,2.152,1.014,1.103,2.761,
+1.315,0.971,0.956,1.770,1.636,0.093,1.046,1.940,2.779,1.814,
+1.940,4.254,2.886,1.726,1.319,2.434,1.829,1.091,0.838,1.151,
+1.543,0.233,0.655,1.120,2.029,1.836,0.930,1.749,1.745,1.168,
+0.680,0.872,1.238,0.766,0.573,0.675,0.938,0.091,0.533,0.798,
+0.803,0.863,0.562,0.940,0.919,0.808,0.532,0.813,0.095,0.080,
+0.049,0.110,0.586,0.061,0.317,0.472,0.631,0.809,0.482,0.814,
+1.453,0.792,0.586,1.332,1.325,1.044,0.584,1.090,0.916,0.100,
+0.478,1.072,1.212,1.010,1.082,1.933,2.190,1.382,0.625,1.090,
+1.405,0.997,0.510,0.709,2.109,0.981,0.528,0.790,1.102,2.397,
+0.531,0.988,1.261,0.914,0.411,0.577,0.877,0.591,0.403,0.519,
+0.811,0.161,0.485,0.684,0.560,0.817,0.395,0.729,0.668,0.773,
+0.403,0.514,0.074,0.073,0.048,0.066,0.643,0.096,0.389,0.505,
+0.462,0.799,0.409,0.601,0.627,0.542,0.307,0.575,0.753,0.690,
+0.348,0.569,0.680,0.088,0.376,0.595,0.611,0.724,0.498,1.100,
+1.059,0.617,0.427,0.689,1.014,0.645,0.522,0.665,0.903,0.147,
+0.400,0.706,0.773,0.747,0.523,1.117,0.085,0.082,0.043,0.067,
+0.092,0.098,0.065,0.077,0.073,0.019,0.062,0.087,0.082,0.130,
+0.074,0.117,0.447,0.450,0.305,0.398,0.050,0.054,0.030,0.051,
+0.409,0.048,0.248,0.364,0.316,0.427,0.298,0.419,0.470,0.366,
+0.256,0.499,0.651,0.553,0.354,0.574,0.495,0.059,0.338,0.570,
+0.484,0.549,0.532,0.928,1.365,0.684,0.512,1.029,0.785,0.440,
+0.334,0.513,0.865,0.127,0.436,0.775,1.041,0.789,0.576,1.431,
+1.072,0.820,0.555,0.777,0.846,0.727,0.491,0.612,0.629,0.070,
+0.465,0.851,0.706,0.841,0.571,0.985,0.524,0.466,0.471,0.540,
+0.049,0.035,0.044,0.058,0.487,0.041,0.277,0.419,0.475,0.537,
+0.438,0.671,0.874,0.582,0.429,0.890,0.528,0.443,0.535,0.652,
+0.792,0.068,0.549,1.005,1.067,0.948,0.934,1.930,1.940,1.180,
+0.719,1.250,1.274,0.922,0.603,0.783,0.718,0.094,0.344,0.641,
+0.842,0.918,0.475,0.997,1.333,0.988,0.531,0.697,1.219,0.758,
+0.585,0.689,0.560,0.076,0.426,0.649,0.476,0.628,0.409,0.725,
+0.551,0.612,0.383,0.530,0.060,0.066,0.047,0.079,0.358,0.047,
+0.304,0.386,0.362,0.548,0.343,0.567,0.653,0.390,0.310,0.626,
+0.666,0.614,0.382,0.626,0.428,0.055,0.285,0.479,0.597,0.580,
+0.493,1.106,1.203,0.992,0.380,0.625,0.963,0.892,0.416,0.515,
+0.665,0.116,0.295,0.515,0.461,0.667,0.278,0.585,0.877,0.852,
+0.346,0.436,0.681,0.283,0.389,0.462,0.540,0.113,0.355,0.563,
+0.348,0.671,0.310,0.451,0.444,0.681,0.321,0.414,0.058,0.079,
+0.049,0.060,0.434,0.082,0.308,0.478,0.288,0.647,0.324,0.508,
+0.433,0.408,0.217,0.363,0.570,0.674,0.273,0.445,0.382,0.048,
+0.263,0.437,0.364,0.445,0.289,0.779,0.951,0.565,0.406,0.607,
+0.996,0.774,0.539,0.625,0.597,0.092,0.378,0.772,0.501,0.624,
+0.425,0.944,0.061,0.079,0.038,0.064,0.116,0.110,0.074,0.073,
+0.055,0.024,0.077,0.091,0.044,0.111,0.056,0.080,0.464,0.554,
+0.332,0.390,0.089,0.106,0.040,0.052,0.360,0.050,0.287,0.398,
+0.278,0.463,0.371,0.436,0.413,0.312,0.248,0.503,0.725,0.681,
+0.405,0.582,0.414,0.045,0.338,0.528,0.371,0.407,0.500,0.794,
+0.955,0.533,0.388,0.662,0.712,0.617,0.333,0.467,0.523,0.059,
+0.293,0.672,0.655,0.535,0.371,0.937,0.756,0.683,0.473,0.619,
+0.774,0.892,0.518,0.603,0.451,0.065,0.438,0.986,0.493,0.813,
+0.409,0.780,0.458,0.567,0.389,0.508,0.045,0.049,0.034,0.054,
+0.331,0.042,0.290,0.422,0.357,0.591,0.475,0.621,0.538,0.395,
+0.311,0.594,0.468,0.433,0.431,0.673,0.484,0.046,0.352,0.614,
+0.627,0.734,0.632,1.314,1.207,0.828,0.559,0.931,0.782,0.535,
+0.353,0.534,0.664,0.077,0.289,0.506,0.754,0.694,0.356,0.829,
+1.048,0.960,0.383,0.601,0.793,0.703,0.489,0.544,0.826,0.100,
+0.491,0.672,0.571,0.802,0.363,0.659,0.684,0.713,0.428,0.689,
+0.094,0.068,0.063,0.122,0.448,0.061,0.302,0.544,0.389,0.619,
+0.325,0.701,0.718,0.456,0.334,0.773,0.753,0.515,0.446,0.803,
+0.610,0.066,0.393,0.698,0.710,0.543,0.588,1.573,0.075,0.064,
+0.032,0.056,0.085,0.080,0.064,0.056,0.074,0.027,0.028,0.047,
+0.060,0.105,0.036,0.067,0.067,0.076,0.030,0.040,0.099,0.156,
+0.070,0.073,0.073,0.031,0.058,0.071,0.048,0.086,0.046,0.055,
+0.058,0.073,0.050,0.058,0.022,0.016,0.020,0.016,0.059,0.020,
+0.048,0.060,0.038,0.075,0.051,0.063,0.063,0.053,0.033,0.068,
+0.138,0.094,0.066,0.099,0.057,0.013,0.044,0.070,0.062,0.057,
+0.054,0.113,0.851,0.643,0.354,0.513,0.731,0.911,0.438,0.522,
+0.797,0.124,0.480,0.734,0.545,0.608,0.514,0.892,0.061,0.104,
+0.037,0.053,0.074,0.251,0.068,0.052,0.060,0.026,0.068,0.070,
+0.050,0.093,0.052,0.072,0.443,0.704,0.323,0.408,0.057,0.070,
+0.045,0.053,0.587,0.088,0.287,0.476,0.323,0.596,0.359,0.468,
+0.468,0.423,0.244,0.359,0.556,0.698,0.371,0.508,0.683,0.129,
+0.517,0.678,0.427,0.670,0.471,0.787,0.765,0.544,0.319,0.574,
+0.604,0.926,0.279,0.396,0.574,0.077,0.323,0.608,0.676,0.537,
+0.360,0.978,0.925,1.344,0.397,0.571,1.328,4.408,0.586,0.695,
+0.701,0.167,0.506,0.789,0.608,0.970,0.464,0.760,0.534,0.717,
+0.575,0.664,0.057,0.098,0.046,0.062,0.551,0.071,0.502,0.642,
+0.494,0.757,0.525,0.746,0.689,0.425,0.342,0.598,0.611,0.566,
+0.400,0.544,0.671,0.071,0.609,0.834,0.880,0.846,0.741,1.298,
+1.314,0.662,0.478,1.036,0.669,0.377,0.376,0.681,0.653,0.064,
+0.274,0.561,0.904,0.609,0.370,0.943,0.829,0.599,0.301,0.516,
+0.520,0.332,0.343,0.461,0.537,0.055,0.277,0.484,0.743,0.469,
+0.327,0.646,0.495,0.503,0.265,0.588,0.043,0.038,0.026,0.069,
+0.373,0.034,0.193,0.383,0.358,0.387,0.274,0.547,0.808,0.545,
+0.369,0.952,0.517,0.405,0.302,0.655,0.522,0.041,0.285,0.705,
+0.749,0.540,0.831,1.596,1.001,0.613,0.393,0.709,0.822,0.569,
+0.786,0.580,0.657,0.106,0.287,0.530,0.659,0.794,0.304,0.710,
+0.701,0.570,0.238,0.397,0.777,0.634,0.326,0.467,0.787,0.194,
+0.344,0.645,0.597,0.915,0.290,0.653,0.465,0.578,0.268,0.402,
+0.062,0.051,0.042,0.056,0.446,0.055,0.258,0.423,0.376,0.571,
+0.293,0.529,0.510,0.412,0.282,0.541,0.715,0.525,0.362,0.672,
+0.489,0.047,0.294,0.570,0.577,0.500,0.444,1.052,0.815,0.472,
+0.310,0.523,0.638,0.512,0.360,0.538,0.683,0.079,0.386,0.609,
+0.539,0.519,0.462,0.932,0.051,0.047,0.023,0.047,0.041,0.064,
+0.041,0.041,0.061,0.010,0.038,0.049,0.054,0.063,0.039,0.070,
+0.410,0.465,0.253,0.409,0.049,0.038,0.026,0.048,1.649,0.096,
+0.377,0.458,0.578,0.469,0.362,0.489,0.425,0.363,0.260,0.482,
+0.501,0.445,0.309,0.545,0.750,0.083,0.399,0.671,0.525,0.512,
+0.544,1.031,0.976,0.633,0.422,0.824,0.548,0.437,0.292,0.443,
+0.690,0.081,0.389,0.666,0.761,0.570,0.456,1.190,0.739,0.578,
+0.293,0.522,0.613,0.776,0.337,0.469,0.532,0.054,0.379,0.619,
+0.627,0.654,0.417,0.834,0.659,0.622,0.426,0.701,0.067,0.042,
+0.027,0.064,0.726,0.055,0.469,0.637,0.775,0.790,0.764,1.001,
+1.073,0.599,0.553,1.193,0.930,0.700,0.625,1.021,1.064,0.080,
+0.782,1.325,1.683,1.229,1.518,2.302,2.331,1.022,0.819,1.619,
+1.252,0.719,0.570,0.934,0.979,0.099,0.396,0.678,1.462,1.071,
+0.589,1.191,1.040,0.562,0.381,0.613,0.706,0.435,0.400,0.515,
+0.560,0.065,0.318,0.428,0.578,0.618,0.438,0.696,0.752,0.577,
+0.440,0.793,0.070,0.063,0.045,0.113,0.616,0.050,0.264,0.454,
+0.508,0.542,0.414,0.680,1.150,0.548,0.454,1.049,0.847,0.728,
+0.488,0.997,0.649,0.057,0.302,0.596,0.984,0.536,0.722,1.428,
+1.689,0.888,0.545,1.010,1.151,0.725,0.516,0.753,0.838,0.145,
+0.309,0.536,0.824,0.957,0.392,0.957,1.007,0.624,0.345,0.538,
+0.673,0.412,0.401,0.480,0.743,0.122,0.329,0.503,0.498,0.641,
+0.317,0.644,0.732,0.731,0.441,0.728,0.072,0.090,0.051,0.099,
+0.747,0.083,0.418,0.725,0.480,0.686,0.473,0.642,0.905,0.597,
+0.444,0.830,0.856,1.283,0.515,0.890,0.697,0.064,0.322,0.569,
+0.662,0.613,0.589,1.154,1.213,0.505,0.380,0.754,1.033,0.640,
+0.572,0.817,1.504,0.166,0.512,0.652,1.120,0.961,0.529,1.163,
+0.105,0.076,0.048,0.079,0.095,0.080,0.070,0.095,0.119,0.023,
+0.106,0.094,0.152,0.246,0.082,0.150,0.592,0.385,0.366,0.461,
+0.057,0.040,0.041,0.066,0.433,0.053,0.294,0.371,0.352,0.507,
+0.289,0.445,0.529,0.286,0.276,0.452,0.655,0.480,0.450,0.737,
+0.507,0.055,0.325,0.524,0.730,0.526,0.453,0.931,1.445,0.558,
+0.458,1.113,0.729,0.431,0.391,0.775,1.164,0.117,0.459,0.714,
+1.871,1.059,0.569,1.687,1.066,0.646,0.432,0.671,0.721,0.536,
+0.450,0.628,0.821,0.092,0.532,0.689,1.132,1.432,0.524,1.031,
+0.624,0.507,0.432,0.655,0.061,0.039,0.040,0.091,0.556,0.046,
+0.303,0.526,0.556,0.670,0.495,0.833,1.024,0.556,0.455,1.073,
+0.697,0.485,0.457,0.914,0.991,0.082,0.554,1.042,1.536,1.159,
+1.237,2.707,0.127,0.076,0.048,0.088,0.084,0.065,0.051,0.072,
+0.065,9.19e-3,0.030,0.047,0.074,0.075,0.041,0.083,0.102,0.067,
+0.052,0.057,0.080,0.063,0.062,0.060,0.048,0.011,0.046,0.052,
+0.048,0.061,0.043,0.060,0.052,0.053,0.035,0.059,0.010,0.010,
+7.94e-3,0.013,0.042,6.85e-3,0.029,0.042,0.037,0.051,0.038,0.053,
+0.070,0.043,0.038,0.075,0.077,0.076,0.052,0.096,0.064,8.52e-3,
+0.033,0.102,0.067,0.050,0.070,0.122,0.109,0.075,0.040,0.066,
+0.087,0.078,0.052,0.058,0.056,0.010,0.024,0.040,0.052,0.068,
+0.029,0.062,0.083,0.075,0.038,0.046,0.074,0.068,0.057,0.059,
+0.054,0.013,0.039,0.050,0.034,0.057,0.034,0.051,0.051,0.067,
+0.038,0.055,0.011,0.017,0.012,0.011,0.062,0.018,0.040,0.058,
+0.035,0.070,0.039,0.053,0.071,0.054,0.038,0.065,0.079,0.150,
+0.053,0.077,0.052,7.02e-3,0.032,0.052,0.048,0.052,0.046,0.099,
+0.076,0.045,0.028,0.050,0.081,0.071,0.064,0.060,0.085,0.018,
+0.064,0.052,0.064,0.083,0.047,0.081,7.69e-3,7.69e-3,5.77e-3,5.60e-3,
+0.013,0.019,0.017,0.011,0.014,0.010,0.026,0.013,7.77e-3,0.024,
+0.011,0.011,0.044,0.054,0.057,0.046,8.52e-3,0.011,9.78e-3,0.011,
+0.046,0.012,0.036,0.048,0.034,0.074,0.043,0.048,0.049,0.033,
+0.034,0.050,0.066,0.061,0.060,0.074,0.047,6.69e-3,0.040,0.057,
+0.050,0.050,0.051,0.094,0.140,0.091,0.065,0.113,0.091,0.072,
+0.058,0.087,0.112,0.018,0.067,0.085,0.172,0.142,0.082,0.178,
+0.153,0.113,0.081,0.105,0.132,0.128,0.119,0.126,0.135,0.025,
+0.123,0.122,0.151,0.293,0.104,0.149,0.059,0.064,0.068,0.076,
+7.44e-3,9.94e-3,7.85e-3,0.014,0.059,8.69e-3,0.050,0.067,0.056,0.088,
+0.071,0.115,0.101,0.070,0.060,0.115,0.090,0.075,0.061,0.118,
+0.105,9.02e-3,0.074,0.121,0.136,0.121,0.129,0.258,1.078,0.529,
+0.423,0.700,0.596,0.423,0.363,0.460,0.440,0.052,0.263,0.385,
+0.460,0.396,0.294,0.707,0.738,0.506,0.338,0.466,0.642,0.444,
+0.594,0.490,0.546,0.069,0.436,0.648,0.482,0.452,0.332,0.565,
+0.588,0.683,0.458,0.825,0.077,0.090,0.073,0.128,0.644,0.077,
+0.297,0.479,0.361,0.675,0.350,0.566,0.573,0.362,0.341,0.681,
+0.532,0.455,0.572,0.669,0.492,0.055,0.336,0.614,0.531,0.422,
+0.524,1.273,0.071,0.054,0.034,0.054,0.075,0.070,0.043,0.054,
+0.045,9.86e-3,0.028,0.039,0.041,0.045,0.025,0.058,0.057,0.051,
+0.026,0.037,0.075,0.064,0.054,0.060,0.051,0.012,0.048,0.055,
+0.039,0.043,0.039,0.057,0.047,0.069,0.044,0.057,8.86e-3,0.018,
+0.017,0.013,0.059,0.017,0.045,0.058,0.033,0.066,0.041,0.052,
+0.064,0.048,0.037,0.076,0.076,0.094,0.070,0.100,0.051,7.69e-3,
+0.041,0.068,0.048,0.046,0.051,0.104,0.669,0.463,0.356,0.570,
+0.663,0.600,0.619,0.576,0.608,0.090,0.441,0.535,0.412,0.436,
+0.427,0.828,0.058,0.074,0.041,0.053,0.068,0.095,0.166,0.061,
+0.061,0.018,0.094,0.073,0.047,0.080,0.048,0.074,0.559,0.552,
+0.354,0.512,0.073,0.070,0.051,0.062,0.474,0.074,0.165,0.322,
+0.254,0.447,0.302,0.385,0.403,0.304,0.217,0.306,0.480,0.462,
+0.413,0.429,0.423,0.056,0.348,0.480,0.337,0.377,0.383,0.655,
+0.645,0.378,0.330,0.568,0.530,0.377,0.314,0.363,0.481,0.058,
+0.411,0.590,0.502,0.400,0.329,0.671,0.744,0.571,0.388,0.478,
+0.751,0.849,0.836,0.597,0.559,0.085,0.543,0.657,0.592,0.711,
+0.434,0.655,0.529,0.607,0.427,0.611,0.057,0.073,0.050,0.072,
+0.476,0.060,0.426,0.574,0.384,0.648,0.445,0.613,0.533,0.356,
+0.295,0.535,0.527,0.489,0.384,0.529,0.570,0.053,0.518,0.735,
+0.611,0.621,0.616,1.108,1.207,0.498,0.382,0.859,0.557,0.312,
+0.324,0.481,0.438,0.048,0.217,0.393,0.620,0.425,0.299,0.829,
+0.691,0.386,0.247,0.402,0.433,0.292,0.331,0.350,0.338,0.029,
+0.183,0.329,0.346,0.258,0.235,0.456,0.500,0.566,0.283,0.563,
+0.050,0.041,0.040,0.086,0.333,0.034,0.175,0.338,0.377,0.419,
+0.273,0.512,0.745,0.425,0.380,0.845,0.536,0.388,0.493,0.765,
+0.439,0.041,0.249,0.525,0.821,0.433,0.599,1.270,1.094,0.638,
+0.448,0.841,0.749,0.539,0.458,0.570,0.540,0.058,0.271,0.459,
+0.603,0.535,0.284,0.694,0.861,0.566,0.271,0.450,0.809,0.605,
+0.399,0.490,0.585,0.053,0.304,0.478,0.547,0.412,0.295,0.491,
+0.510,0.606,0.341,0.545,0.052,0.057,0.044,0.066,0.496,0.062,
+0.314,0.543,0.420,0.579,0.368,0.647,0.638,0.441,0.438,0.755,
+0.690,0.621,0.527,0.783,0.513,0.045,0.338,0.593,0.633,0.506,
+0.509,1.076,0.797,0.489,0.380,0.720,0.650,0.531,0.475,0.654,
+0.589,0.086,0.356,0.570,0.478,0.491,0.396,0.832,0.069,0.062,
+0.031,0.057,0.062,0.099,0.061,0.062,0.045,0.011,0.053,0.060,
+0.050,0.069,0.046,0.071,0.513,1.038,0.346,0.588,0.041,0.055,
+0.032,0.060,0.534,0.061,0.262,0.437,0.354,0.501,0.366,0.521,
+0.476,0.423,0.309,0.498,0.579,0.495,0.470,0.686,0.491,0.051,
+0.391,0.640,0.534,0.480,0.550,0.935,1.141,0.535,0.525,0.992,
+0.655,0.432,0.398,0.522,0.758,0.107,0.422,0.795,0.685,0.486,
+0.431,1.145,0.855,0.531,0.357,0.592,0.665,0.577,0.501,0.551,
+0.511,0.052,0.400,0.642,0.576,0.562,0.414,0.752,0.714,0.756,
+0.474,0.909,0.065,0.077,0.043,0.092,0.660,0.071,0.486,0.836,
+0.652,0.779,0.664,0.963,1.188,0.602,0.619,1.293,0.933,0.930,
+0.646,1.148,0.967,0.082,0.721,1.270,1.482,0.995,1.194,2.156,
+2.724,1.382,1.282,2.747,1.345,0.705,0.630,1.075,1.328,0.112,
+0.511,0.983,2.214,1.461,0.843,1.939,1.282,0.590,0.431,0.753,
+0.716,0.377,0.348,0.607,0.743,0.057,0.403,0.475,0.733,0.648,
+0.363,0.680,0.976,0.588,0.461,0.951,0.081,0.051,0.039,0.112,
+0.565,0.043,0.264,0.524,0.612,0.629,0.409,0.913,2.314,0.740,
+0.774,1.784,1.133,0.668,0.555,1.133,0.867,0.070,0.490,0.891,
+1.629,0.988,0.992,2.753,1.597,0.728,0.460,1.013,0.773,0.428,
+0.308,0.538,0.696,0.080,0.261,0.452,0.866,0.686,0.345,0.887,
+0.867,0.443,0.256,0.460,0.438,0.268,0.241,0.334,0.475,0.040,
+0.228,0.350,0.483,0.393,0.237,0.490,0.633,0.543,0.382,0.647,
+0.049,0.039,0.028,0.066,0.560,0.035,0.242,0.505,0.531,0.483,
+0.339,0.615,0.790,0.474,0.389,0.934,0.591,0.564,0.312,0.616,
+0.596,0.036,0.258,0.536,0.667,0.501,0.478,1.405,1.397,0.603,
+0.504,1.092,0.894,0.489,0.436,0.852,1.479,0.167,0.469,0.711,
+1.980,1.224,0.571,1.648,0.103,0.058,0.042,0.093,0.073,0.051,
+0.041,0.085,0.089,0.011,0.048,0.074,0.214,0.203,0.059,0.154,
+0.541,0.406,0.386,0.564,0.047,0.029,0.029,0.059,0.532,0.039,
+0.202,0.357,0.623,0.524,0.338,0.637,0.631,0.333,0.371,0.715,
+0.629,0.380,0.383,0.679,0.584,0.044,0.304,0.593,0.865,0.604,
+0.560,1.380,2.555,0.892,0.805,1.990,1.048,0.548,0.516,1.025,
+2.194,0.222,1.178,1.221,5.700,2.455,1.232,3.335,1.497,0.746,
+0.548,0.956,0.815,0.586,0.473,0.849,1.181,0.101,0.591,0.822,
+2.209,1.895,0.713,1.499,0.889,0.609,0.519,0.893,0.072,0.041,
+0.037,0.086,0.850,0.053,0.372,0.698,0.919,0.839,0.692,1.303,
+1.700,0.840,0.780,1.855,0.976,0.592,0.612,1.114,1.506,0.097,
+0.771,1.638,2.665,1.672,1.690,4.234,1.912,0.929,0.674,1.401,
+0.920,0.599,0.459,0.755,0.784,0.076,0.361,0.626,1.099,0.943,
+0.510,1.221,1.092,0.710,0.442,0.719,0.692,0.495,0.409,0.604,
+0.499,0.052,0.710,0.505,0.514,0.641,0.448,0.736,0.655,0.561,
+0.387,0.684,0.057,0.055,0.037,0.089,0.411,0.039,0.290,0.563,
+0.464,0.575,0.408,0.793,0.800,0.450,0.503,0.946,0.681,0.544,
+0.425,0.870,0.564,0.052,0.363,0.678,0.768,0.561,0.838,1.578,
+1.280,0.696,0.400,0.779,0.796,0.613,0.329,0.489,0.565,0.059,
+0.215,0.426,0.672,0.642,0.282,0.746,0.741,0.568,0.274,0.458,
+0.565,0.488,0.324,0.425,0.436,0.049,0.257,0.400,0.381,0.472,
+0.267,0.487,0.542,0.585,0.334,0.537,0.061,0.073,0.030,0.061,
+0.573,0.069,0.285,0.455,0.441,0.604,0.346,0.639,0.622,0.495,
+0.350,0.693,0.611,0.905,0.316,0.595,0.474,0.036,0.249,0.456,
+0.471,0.423,0.377,1.007,1.107,0.507,0.367,0.664,0.729,0.495,
+0.445,0.636,0.834,0.112,0.428,0.499,0.997,0.978,0.485,1.093,
+0.055,0.051,0.032,0.055,0.053,0.057,0.050,0.058,0.050,0.015,
+0.076,0.056,0.088,0.171,0.056,0.086,0.567,0.538,0.424,0.557,
+0.050,0.051,0.032,0.059,0.433,0.048,0.245,0.398,0.423,0.688,
+0.370,0.712,0.599,0.346,0.331,0.588,0.635,0.496,0.400,0.669,
+0.490,0.044,0.311,0.539,0.623,0.532,0.544,1.132,1.578,0.713,
+0.589,1.117,0.773,0.483,0.469,0.690,1.086,0.123,0.530,0.730,
+2.264,1.883,0.825,1.867,1.290,0.880,0.607,0.906,0.846,0.738,
+0.632,0.840,1.011,0.139,0.709,0.866,1.738,3.114,0.927,1.511,
+0.735,0.641,0.501,0.809,0.064,0.046,0.038,0.070,0.598,0.054,
+0.416,0.642,0.688,0.897,0.619,1.436,1.121,0.614,0.579,1.096,
+0.984,0.594,0.514,1.016,0.998,0.067,0.669,1.169,1.682,1.273,
+1.188,2.585,1.614,0.751,0.517,1.021,0.642,0.462,0.330,0.545,
+0.666,0.061,0.286,0.532,0.945,0.606,0.380,0.895,1.121,0.717,
+0.396,0.646,0.756,0.532,0.436,0.481,0.687,0.069,0.401,0.586,
+0.751,0.735,0.496,0.907,0.749,0.764,0.507,0.965,0.081,0.074,
+0.051,0.116,0.623,0.059,0.359,0.612,0.551,0.742,0.449,0.937,
+0.847,0.490,0.507,1.005,0.672,0.502,0.443,0.749,0.754,0.066,
+0.443,0.869,0.974,0.651,0.775,1.904,0.079,0.058,0.056,0.071,
+0.058,0.052,0.032,0.054,0.053,7.77e-3,0.027,0.046,0.068,0.067,
+0.043,0.093,0.061,0.046,0.023,0.039,0.058,0.072,0.035,0.042,
+0.049,9.19e-3,0.038,0.047,0.048,0.052,0.034,0.062,0.047,0.057,
+0.036,0.068,7.19e-3,8.86e-3,5.93e-3,8.36e-3,0.064,9.69e-3,0.039,0.060,
+0.050,0.071,0.055,0.098,0.078,0.047,0.041,0.091,0.078,0.078,
+0.048,0.083,0.064,6.18e-3,0.038,0.072,0.077,0.068,0.063,0.144,
+0.912,0.524,0.354,0.521,0.720,0.562,0.440,0.564,0.701,0.099,
+0.417,0.543,0.599,0.676,0.619,0.980,0.056,0.057,0.028,0.041,
+0.055,0.062,0.041,0.040,0.056,0.011,0.039,0.046,0.063,0.097,
+0.051,0.088,0.552,0.778,0.362,0.623,0.064,0.066,0.039,0.066,
+0.701,0.072,0.285,0.425,0.439,0.624,0.404,0.628,0.573,0.391,
+0.307,0.495,0.760,0.604,0.491,0.610,0.763,0.067,0.451,0.697,
+0.652,0.641,0.598,1.174,1.137,0.521,0.411,0.803,0.653,0.458,
+0.366,0.503,0.771,0.075,0.558,0.786,0.990,0.695,0.696,1.273,
+1.060,0.777,0.508,0.766,0.792,0.870,0.594,0.627,0.877,0.087,
+0.593,0.877,0.966,1.170,0.708,1.265,0.866,0.840,0.620,1.172,
+0.066,0.064,0.047,0.095,0.847,0.066,0.597,0.863,0.775,0.978,
+0.752,1.182,0.994,0.594,0.547,0.992,0.813,0.667,0.519,0.805,
+1.127,0.080,0.779,1.341,1.471,1.169,1.153,2.380,2.547,1.008,
+0.761,1.881,1.016,0.539,0.598,0.902,0.961,0.083,0.486,0.940,
+1.779,0.895,0.699,1.782,1.254,0.654,0.415,0.742,0.783,0.494,
+0.410,0.617,0.652,0.052,0.388,0.622,0.732,0.552,0.877,1.174,
+0.994,0.963,0.483,1.197,0.078,0.072,0.044,0.129,0.629,0.053,
+0.339,0.670,0.739,0.720,0.533,1.131,1.675,0.809,0.761,1.993,
+0.932,0.611,0.548,1.226,0.944,0.071,0.538,1.248,2.037,1.015,
+1.176,3.427,1.339,0.745,0.495,1.036,0.797,0.518,0.406,0.638,
+0.632,0.063,0.272,0.648,0.811,0.710,0.447,1.191,0.876,0.558,
+0.304,0.530,0.656,0.497,0.310,0.515,0.596,0.048,0.328,0.561,
+0.546,0.559,0.366,0.717,0.641,0.586,0.352,0.774,0.043,0.048,
+0.030,0.066,0.651,0.052,0.339,0.720,0.663,0.743,0.477,1.035,
+0.854,0.515,0.460,1.074,0.783,0.588,0.443,0.917,0.770,0.047,
+0.382,0.826,1.057,0.704,0.680,1.873,1.501,0.776,0.604,1.087,
+0.986,0.735,0.588,1.073,1.040,0.112,0.481,0.912,1.104,0.910,
+0.805,1.899,0.094,0.068,0.039,0.091,0.062,0.073,0.050,0.086,
+0.064,6.35e-3,0.043,0.081,0.099,0.107,0.078,0.171,0.888,0.924,
+0.610,1.608,0.060,0.056,0.041,0.136,0.974,0.074,0.421,0.803,
+0.860,0.871,0.651,1.290,1.060,0.708,0.596,1.175,1.048,0.786,
+0.758,1.412,1.071,0.077,0.646,1.324,1.240,0.959,0.974,2.114,
+2.899,1.202,0.970,2.208,1.250,0.831,0.631,1.084,1.584,0.134,
+0.953,1.599,2.422,1.566,1.407,4.133,1.949,1.154,0.757,1.397,
+1.417,1.079,0.765,1.213,1.415,0.095,0.797,1.416,1.729,1.581,
+1.237,2.440,1.792,1.509,1.076,2.150,0.102,0.088,0.062,0.156,
+1.663,0.121,1.100,1.990,1.977,2.042,1.730,3.130,3.821,1.696,
+1.638,4.128,2.177,1.523,1.328,2.860,2.749,0.146,1.783,3.493,
+5.687,2.710,3.012,6.343,3.258,2.055,1.584,2.930,2.270,1.453,
+1.048,1.440,2.262,0.311,0.977,1.460,2.670,2.539,1.205,2.152,
+2.665,1.646,1.018,1.372,1.685,1.107,0.857,0.916,1.484,0.142,
+0.780,0.966,1.075,1.273,0.786,1.167,1.502,1.326,0.919,1.209,
+0.161,0.154,0.150,0.188,1.123,0.175,1.780,1.050,0.973,1.396,
+1.275,1.162,2.930,1.244,1.085,2.147,2.047,1.564,1.106,1.729,
+1.421,0.149,0.927,1.338,1.729,1.277,1.269,2.171,2.781,1.662,
+0.847,1.615,1.676,1.235,0.784,1.001,1.533,0.216,0.609,0.928,
+1.280,1.450,0.616,1.287,1.799,1.519,0.731,0.960,1.373,1.096,
+0.729,0.789,1.088,0.151,0.682,0.909,0.745,1.087,0.618,0.863,
+1.037,1.209,0.650,0.830,0.116,0.153,0.089,0.112,1.193,0.162,
+0.714,0.855,0.598,1.156,0.633,0.821,1.045,0.788,0.489,0.840,
+1.172,1.172,0.680,0.980,1.073,0.106,0.652,0.969,0.872,0.845,
+0.718,1.345,1.678,0.945,0.569,0.940,1.224,0.854,0.668,0.855,
+1.292,0.201,0.563,0.871,1.132,1.079,0.777,1.474,0.137,0.138,
+0.065,0.093,0.121,0.117,0.086,0.102,0.124,0.031,0.090,0.121,
+0.126,0.233,0.099,0.168,0.811,0.699,1.190,0.660,0.181,0.086,
+0.091,0.109,0.772,0.224,0.458,0.556,0.471,0.784,0.499,0.550,
+0.774,0.491,0.442,0.722,0.976,0.747,0.636,0.884,0.897,0.121,
+0.646,0.880,0.683,0.927,0.704,1.172,2.240,1.071,0.681,1.675,
+0.941,0.606,0.550,1.062,1.132,0.128,0.466,0.816,1.662,1.197,
+0.845,1.958,2.147,1.358,0.760,1.017,1.329,1.017,0.702,0.836,
+1.088,0.122,0.673,0.978,1.131,1.486,0.737,1.380,0.836,0.794,
+0.770,0.860,0.085,0.081,0.081,0.099,0.843,0.109,0.508,0.753,
+0.716,0.998,0.687,0.908,1.463,0.772,0.747,1.484,0.836,0.697,
+0.625,1.012,1.224,0.113,0.826,1.452,1.470,1.423,1.363,2.708,
+2.820,1.827,1.151,2.051,1.756,1.431,0.938,1.135,2.042,0.236,
+0.735,1.226,1.286,1.588,0.810,1.533,1.900,2.026,0.886,1.161,
+1.536,1.156,0.887,0.913,1.032,0.152,0.790,0.957,0.646,1.138,
+0.633,0.905,1.018,1.276,0.985,0.918,0.171,0.188,0.153,0.164,
+0.883,0.148,2.005,1.215,0.588,1.113,1.793,1.111,1.283,0.700,
+0.652,0.975,1.493,1.277,0.792,0.988,0.957,0.119,0.797,0.881,
+0.929,0.823,0.890,1.622,2.087,1.840,0.721,1.062,1.440,1.644,
+0.930,0.904,1.581,0.248,0.641,0.950,0.855,1.484,0.579,1.274,
+1.341,1.647,0.695,0.841,1.255,0.912,0.956,0.851,1.049,0.209,
+0.830,1.067,0.575,1.338,0.624,0.794,0.907,1.522,0.796,0.791,
+0.185,0.273,0.129,0.128,1.117,0.262,0.850,1.133,0.545,1.685,
+0.801,0.916,0.752,0.782,0.436,0.650,1.123,1.358,0.595,0.836,
+0.986,0.132,0.560,0.804,0.660,0.903,0.545,1.131,1.295,1.016,
+0.597,0.766,1.491,1.188,0.911,0.826,1.053,0.188,0.678,0.799,
+0.671,0.973,0.692,0.989,0.122,0.235,0.122,0.108,0.228,0.189,
+0.156,0.110,0.128,0.072,0.161,0.143,0.072,0.238,0.100,0.112,
+2.126,1.291,9.959,1.954,1.238,0.225,0.393,0.294,0.976,0.170,
+0.821,0.855,0.496,1.039,0.873,0.721,0.741,0.502,0.979,1.182,
+1.963,1.144,0.942,1.282,0.911,0.115,0.822,1.008,0.494,0.767,
+0.697,0.972,1.093,0.623,0.419,0.736,0.759,0.583,0.440,0.524,
+0.662,0.075,0.351,0.507,0.711,0.644,0.411,0.788,1.313,1.721,
+0.761,0.842,1.113,1.175,0.805,0.825,0.847,0.162,0.698,0.902,
+0.680,1.684,0.635,0.977,0.911,0.986,1.243,0.893,0.170,0.112,
+0.073,0.098,0.736,0.100,0.614,0.825,0.509,0.897,0.762,0.826,
+0.886,0.589,0.537,0.853,0.878,0.716,0.487,0.791,0.900,0.090,
+0.719,1.338,0.944,1.071,1.031,1.757,1.698,1.403,0.665,1.247,
+1.132,0.803,0.514,0.715,0.923,0.121,0.481,0.691,0.864,0.947,
+0.459,0.905,1.868,3.422,0.799,1.048,1.177,1.092,0.793,0.789,
+1.202,0.223,0.807,0.949,0.710,1.361,0.596,0.919,0.956,1.416,
+0.697,0.963,0.161,0.173,0.116,0.175,0.792,0.114,0.551,0.679,
+0.532,1.013,0.541,0.783,0.993,0.659,0.508,0.997,1.085,0.893,
+0.683,0.891,1.044,0.118,0.573,0.986,1.020,0.947,0.845,2.106,
+0.129,0.126,0.049,0.101,0.132,0.150,0.077,0.090,0.105,0.028,
+0.053,0.075,0.086,0.168,0.065,0.104,0.131,0.245,0.078,0.098,
+0.171,0.231,0.131,0.119,0.137,0.048,0.107,0.122,0.084,0.213,
+0.077,0.111,0.089,0.156,0.087,0.097,0.040,0.045,0.038,0.027,
+0.122,0.037,0.096,0.104,0.065,0.179,0.084,0.100,0.097,0.087,
+0.072,0.102,0.214,0.208,0.143,0.177,0.174,0.031,0.096,0.140,
+0.123,0.149,0.108,0.207,0.951,0.739,0.462,0.535,0.842,0.831,
+0.738,0.583,0.981,0.195,0.564,0.668,0.589,0.842,0.554,0.703,
+0.095,0.158,0.070,0.068,0.085,0.128,0.119,0.062,0.122,0.046,
+0.109,0.103,0.083,0.204,0.102,0.087,0.718,1.056,0.740,0.591,
+0.145,0.150,0.128,0.092,0.816,0.159,0.455,0.573,0.422,1.046,
+0.629,0.590,0.596,0.491,0.388,0.471,0.841,1.046,0.737,0.729,
+1.147,0.203,0.744,0.938,0.850,1.730,0.775,1.100,0.893,0.634,
+0.378,0.712,0.613,0.447,0.364,0.452,0.795,0.090,0.324,0.570,
+0.974,0.709,0.420,0.936,1.149,1.147,0.673,0.781,0.954,0.930,
+0.868,0.709,1.011,0.147,0.704,0.994,0.940,1.271,0.695,0.929,
+0.779,1.149,0.859,0.895,0.096,0.150,0.100,0.108,0.904,0.122,
+0.587,0.803,0.636,1.113,0.775,0.961,1.016,0.685,0.606,0.766,
+0.923,0.961,1.032,0.895,1.198,0.134,0.948,1.292,1.217,1.550,
+1.124,1.893,2.009,1.093,0.749,1.552,0.933,0.604,0.476,0.757,
+0.889,0.106,0.377,0.734,1.165,1.091,0.537,1.275,1.195,0.923,
+0.416,0.768,0.753,0.469,0.385,0.506,0.670,0.075,0.337,0.582,
+0.606,0.801,0.363,0.782,0.806,0.804,0.518,0.963,0.102,0.110,
+0.077,0.131,0.621,0.071,0.389,0.551,0.527,0.826,0.454,0.761,
+1.187,0.610,0.527,1.400,0.941,0.769,0.527,0.949,0.797,0.088,
+0.480,0.905,1.225,1.122,0.850,2.314,1.853,1.103,0.669,1.285,
+1.287,0.999,0.637,0.883,1.040,0.172,0.447,0.827,0.995,1.623,
+0.528,1.154,1.330,1.261,0.503,1.053,1.385,1.182,0.676,0.904,
+1.095,0.232,0.577,1.007,0.859,1.596,0.523,1.208,0.791,0.881,
+0.507,0.791,0.114,0.125,0.093,0.138,0.889,0.132,0.574,0.902,
+0.700,1.491,0.632,0.956,0.872,0.570,0.427,0.859,1.250,1.061,
+0.743,1.385,1.045,0.121,0.556,0.999,1.111,1.258,0.881,1.750,
+0.943,0.661,0.413,0.678,0.887,0.636,0.552,0.659,0.981,0.189,
+0.456,0.668,0.808,0.970,0.597,1.034,0.070,0.086,0.054,0.089,
+0.070,0.085,0.085,0.065,0.114,0.032,0.084,0.088,0.087,0.194,
+0.081,0.107,0.661,0.754,1.419,0.716,0.112,0.087,0.576,0.133,
+0.869,0.099,0.499,0.558,0.526,0.839,1.661,0.901,0.614,0.451,
+0.469,0.601,0.861,0.769,1.196,0.903,1.189,0.344,0.597,0.994,
+0.728,1.174,0.852,1.327,1.536,0.898,0.564,1.084,0.860,0.728,
+0.412,0.576,1.181,0.106,0.426,0.755,1.243,0.992,0.695,1.730,
+0.934,0.651,0.445,0.810,0.886,0.566,0.608,0.635,0.832,0.093,
+0.499,0.833,0.767,1.066,0.560,1.016,0.916,0.952,0.741,1.065,
+0.092,0.089,0.116,0.109,1.121,0.107,0.666,1.052,1.022,1.439,
+1.750,1.526,1.478,0.808,0.741,1.615,1.152,1.061,0.959,1.335,
+1.562,0.136,1.032,1.938,2.001,1.735,1.765,3.673,2.554,1.800,
+1.281,2.075,1.909,1.441,1.011,1.189,1.511,0.213,0.784,1.181,
+1.630,1.807,0.843,1.532,2.056,1.611,0.961,1.084,1.894,1.476,
+1.035,1.072,1.256,0.179,0.839,1.143,0.785,1.250,0.703,1.003,
+0.893,0.973,0.608,0.787,0.114,0.125,0.086,0.130,0.736,0.102,
+0.531,0.560,0.549,1.077,0.564,0.810,1.306,0.755,0.604,1.134,
+1.255,1.101,0.664,0.999,1.056,0.125,0.577,0.998,1.082,1.128,
+0.839,1.631,2.667,1.702,0.776,1.191,1.746,1.609,0.773,0.964,
+1.322,0.307,0.683,0.895,0.915,1.465,0.517,1.036,1.715,1.772,
+0.658,0.900,1.646,1.530,0.875,1.059,1.215,0.300,0.872,1.346,
+0.719,1.626,0.582,1.454,0.826,1.265,0.602,0.685,0.139,0.200,
+0.126,0.131,0.941,0.212,0.894,0.912,0.523,1.437,0.698,0.860,
+0.632,0.614,0.346,0.565,0.967,1.228,0.636,0.793,0.828,0.118,
+0.570,0.957,0.588,0.839,0.553,1.168,0.999,0.704,0.412,0.583,
+1.132,0.902,0.667,0.706,1.041,0.200,0.615,0.760,0.720,0.844,
+0.644,1.061,0.102,0.134,0.067,0.084,0.155,0.178,0.126,0.112,
+0.118,0.054,0.147,0.133,0.087,0.225,0.109,0.133,0.449,0.618,
+0.464,0.425,0.072,0.088,0.069,0.075,0.599,0.107,0.445,0.535,
+0.321,0.645,0.455,0.456,0.442,0.370,0.253,0.377,0.687,0.726,
+0.461,0.586,0.644,0.112,0.513,0.719,0.466,0.681,0.606,0.920,
+1.277,0.669,0.408,0.800,0.710,0.461,0.316,0.454,0.725,0.088,
+0.401,0.523,0.889,0.775,0.587,1.225,1.215,0.934,0.564,0.715,
+1.392,1.068,0.663,0.726,0.753,0.122,0.662,0.847,0.621,1.100,
+0.578,0.870,0.543,0.619,1.338,0.772,0.063,0.064,0.163,0.091,
+0.532,0.077,0.550,0.568,0.449,0.712,0.602,0.689,0.847,0.518,
+0.485,0.826,0.589,0.581,0.548,0.613,0.942,0.101,0.630,0.947,
+0.977,1.101,0.991,1.806,2.225,1.755,0.904,1.474,2.097,1.918,
+0.981,1.144,1.134,0.186,0.669,0.936,1.000,1.615,0.622,1.206,
+2.180,1.881,0.906,1.138,3.312,2.294,1.466,1.600,1.167,0.227,
+1.064,1.413,0.687,1.531,0.670,0.971,0.833,1.023,0.619,0.706,
+0.128,0.167,0.115,0.137,0.673,0.120,0.713,0.797,0.526,0.963,
+0.636,0.829,0.725,0.503,0.370,0.725,0.960,1.165,0.619,0.822,
+0.684,0.110,0.552,0.769,0.880,0.932,0.660,1.301,2.121,1.948,
+0.711,0.962,2.081,2.724,1.146,1.078,1.599,0.287,0.706,0.993,
+0.730,1.377,0.484,0.992,1.605,1.730,0.761,0.860,1.327,0.961,
+0.987,0.937,1.361,0.499,0.894,1.289,0.663,2.094,0.669,0.862,
+0.741,1.676,0.693,0.768,0.172,0.465,0.183,0.185,1.061,0.324,
+0.914,1.337,0.485,1.805,0.822,0.972,0.518,0.689,0.338,0.529,
+1.032,2.224,0.734,1.026,0.840,0.180,0.682,0.909,0.502,0.990,
+0.525,1.224,1.207,0.915,0.554,0.569,1.822,1.799,1.041,0.854,
+1.048,0.227,0.865,0.802,0.570,1.032,0.764,0.947,0.147,0.226,
+0.114,0.102,0.448,0.480,0.243,0.163,0.172,0.108,0.305,0.180,
+0.088,0.357,0.139,0.118,0.664,1.133,0.825,0.664,0.182,0.268,
+0.152,0.132,0.790,0.165,0.637,0.847,0.372,1.099,0.751,0.686,
+0.456,0.416,0.336,0.449,1.008,1.446,0.897,0.940,0.844,0.152,
+0.977,1.013,0.504,0.795,0.821,1.025,0.933,0.619,0.423,0.607,
+0.930,0.793,0.438,0.446,0.710,0.083,0.383,0.469,0.640,0.660,
+0.394,0.732,1.079,1.312,0.692,0.759,1.891,2.311,0.957,0.999,
+1.013,0.212,0.874,0.949,0.633,1.701,0.673,0.899,0.544,0.907,
+0.679,0.627,0.071,0.127,0.081,0.083,0.594,0.099,0.763,0.735,
+0.422,0.970,0.731,0.795,0.583,0.491,0.364,0.588,0.644,0.830,
+0.492,0.758,0.727,0.124,0.694,0.877,0.742,1.157,0.889,1.733,
+1.445,1.193,0.611,1.049,1.092,0.851,0.533,0.714,0.771,0.119,
+0.451,0.615,0.719,0.875,0.397,0.884,1.697,2.120,0.708,0.949,
+1.746,1.573,1.254,1.135,1.420,0.287,0.992,1.137,0.666,1.500,
+0.540,0.872,1.254,1.205,0.911,1.270,0.448,0.189,0.231,0.315,
+0.894,0.162,0.520,0.864,0.529,0.972,0.488,0.822,0.840,0.546,
+0.409,0.953,1.441,0.941,0.838,1.076,0.890,0.131,0.592,1.006,
+0.914,0.827,0.724,1.710,0.147,0.117,0.056,0.083,0.189,0.216,
+0.132,0.121,0.106,0.038,0.067,0.087,0.070,0.173,0.073,0.154,
+0.137,0.214,0.086,0.102,0.284,0.481,0.406,0.257,0.238,0.207,
+0.209,0.216,0.084,0.320,0.090,0.120,0.290,0.208,0.222,0.243,
+0.263,0.103,0.109,0.096,0.205,0.074,0.148,0.167,0.103,0.225,
+0.135,0.121,0.099,0.071,0.053,0.098,0.483,0.275,0.222,0.251,
+0.119,0.034,0.112,0.148,0.088,0.111,0.095,0.166,1.029,1.070,
+0.593,0.634,1.250,1.563,0.906,0.837,1.269,0.295,0.875,0.944,
+0.609,1.106,0.728,0.934,0.121,0.292,0.103,0.093,0.171,0.415,
+0.239,0.134,0.182,0.109,0.256,0.188,0.081,0.302,0.136,0.116,
+0.751,1.455,0.705,0.704,0.155,0.241,0.140,0.137,1.044,0.271,
+0.603,0.885,0.428,1.303,0.700,0.708,0.573,0.514,0.332,0.491,
+1.009,1.449,0.770,0.943,1.098,0.242,1.057,1.253,0.600,1.150,
+0.825,1.125,0.870,0.635,0.403,0.724,0.676,0.519,0.344,0.525,
+0.755,0.099,0.469,0.772,0.701,0.696,0.417,1.035,1.335,1.679,
+0.730,0.820,1.594,2.010,1.120,1.069,1.489,0.275,1.264,1.526,
+0.904,1.748,0.842,1.091,0.881,1.348,2.005,1.592,0.133,0.160,
+0.172,0.173,1.025,0.195,0.947,1.095,0.594,1.419,0.939,0.994,
+1.281,0.694,0.653,0.977,0.847,0.955,0.772,0.880,1.194,0.142,
+1.225,1.470,1.084,1.505,1.111,1.753,1.435,0.829,0.497,1.023,
+0.920,0.589,0.404,0.675,0.736,0.096,0.321,0.631,0.778,0.853,
+0.364,0.999,1.175,0.922,0.422,0.709,0.862,0.648,0.505,0.638,
+0.771,0.134,0.415,0.693,0.553,0.859,0.330,0.717,0.707,0.683,
+0.439,0.977,0.111,0.065,0.062,0.123,0.517,0.060,0.297,0.525,
+0.362,0.577,0.287,0.651,0.882,0.530,0.388,1.186,0.739,0.569,
+0.418,0.864,0.697,0.074,0.372,0.841,0.834,0.744,0.599,1.740,
+1.523,1.062,0.532,0.943,1.477,1.227,0.915,0.895,1.119,0.238,
+0.527,0.858,0.903,1.740,0.470,1.048,1.180,1.399,0.506,0.786,
+1.618,1.878,1.047,1.092,2.199,0.838,0.965,1.771,1.122,3.357,
+0.632,1.308,0.997,0.964,0.752,0.930,0.364,0.176,0.183,0.227,
+0.927,0.162,0.599,0.826,0.568,1.226,0.558,0.787,0.634,0.495,
+0.361,0.758,1.364,1.147,0.837,1.522,0.860,0.123,0.567,0.934,
+0.740,0.919,0.631,1.413,0.823,0.661,0.371,0.582,1.096,1.031,
+0.640,0.778,0.864,0.169,0.590,0.786,0.579,0.771,0.559,0.995,
+0.062,0.090,0.039,0.081,0.087,0.162,0.095,0.078,0.083,0.037,
+0.092,0.100,0.064,0.161,0.072,0.099,0.528,0.788,0.456,0.558,
+0.070,0.096,0.078,0.091,1.091,0.142,0.578,0.765,0.464,0.884,
+0.662,0.691,0.474,0.453,0.318,0.559,0.920,0.899,0.570,0.833,
+1.031,0.226,0.750,1.095,0.584,0.907,0.746,1.161,1.074,0.801,
+0.415,0.759,0.649,0.558,0.353,0.488,0.808,0.091,0.639,0.685,
+0.784,0.725,0.530,1.145,0.842,0.739,0.396,0.615,0.814,0.856,
+0.546,0.752,0.791,0.101,0.877,0.943,0.754,1.002,0.576,1.020,
+0.686,0.774,0.674,0.830,0.071,0.071,0.067,0.088,0.864,0.097,
+0.709,0.876,0.671,1.098,1.229,1.121,1.092,0.668,0.560,1.137,
+0.988,1.074,0.948,1.186,1.331,0.135,1.162,1.650,1.699,1.802,
+1.618,2.236,1.391,1.159,0.708,1.261,1.089,1.076,0.696,0.834,
+0.969,0.126,0.484,0.697,1.086,1.039,0.579,0.952,0.933,0.715,
+0.518,0.612,0.761,0.632,0.593,0.617,0.620,0.096,0.540,0.601,
+0.516,0.702,0.459,0.624,0.579,0.623,0.396,0.587,0.068,0.125,
+0.055,0.099,0.633,0.067,0.337,0.551,0.368,0.576,0.375,0.533,
+0.898,0.572,0.356,0.714,0.848,1.559,0.520,0.728,0.824,0.089,
+0.357,0.801,0.699,0.527,0.537,1.028,1.478,1.346,0.650,0.941,
+1.423,1.327,0.926,0.841,0.932,0.167,0.477,0.611,0.817,0.997,
+0.460,0.852,1.089,1.150,0.574,0.703,1.266,1.136,0.962,0.804,
+0.941,0.216,0.680,0.895,0.592,1.145,0.537,0.994,0.871,1.159,
+0.638,0.680,0.143,0.359,0.174,0.164,1.097,0.212,0.855,1.125,
+0.492,1.184,0.705,0.781,0.706,0.904,0.337,0.600,1.538,4.686,
+0.888,1.094,0.815,0.139,0.461,0.734,0.591,0.744,0.619,1.121,
+0.873,0.589,0.477,0.633,1.120,0.916,0.840,0.844,1.762,0.319,
+1.006,0.758,0.863,1.219,0.617,0.925,0.091,0.116,0.076,0.091,
+0.131,0.163,0.156,0.145,0.249,0.105,0.336,0.166,0.148,0.508,
+0.143,0.167,0.514,0.602,0.895,0.522,0.087,0.101,0.101,0.124,
+0.678,0.135,0.457,0.484,0.394,1.122,0.442,0.469,0.425,0.272,
+0.279,0.367,0.698,0.791,0.636,0.738,0.605,0.092,0.517,0.540,
+0.530,0.638,0.469,0.815,0.958,0.495,0.348,0.699,0.642,0.436,
+0.383,0.527,0.847,0.106,0.423,0.503,1.327,1.033,0.478,1.095,
+0.834,0.736,0.516,0.586,0.772,0.719,0.674,0.703,1.251,0.242,
+1.149,0.841,1.049,2.295,0.670,0.982,0.497,0.612,0.514,0.574,
+0.060,0.067,0.068,0.094,0.598,0.089,0.441,0.629,0.458,0.891,
+0.616,0.760,0.769,0.507,0.413,0.798,0.604,0.600,0.520,0.809,
+1.126,0.120,0.620,0.950,1.187,1.197,1.127,2.047,0.082,0.074,
+0.047,0.062,0.086,0.093,0.058,0.064,0.073,0.016,0.050,0.054,
+0.055,0.081,0.042,0.059,0.098,0.107,0.110,0.076,0.127,0.136,
+0.132,0.095,0.080,0.042,0.162,0.087,0.043,0.112,0.066,0.065,
+0.049,0.095,0.054,0.050,0.012,0.026,0.017,0.019,0.066,0.017,
+0.068,0.099,0.034,0.081,0.065,0.062,0.055,0.048,0.034,0.075,
+0.090,0.173,0.073,0.101,0.136,0.023,0.064,0.353,0.062,0.065,
+0.061,0.118,0.098,0.127,0.053,0.068,0.135,0.182,0.123,0.078,
+0.085,0.033,0.067,0.059,0.050,0.106,0.063,0.063,0.129,0.206,
+0.097,0.106,0.253,0.249,0.243,0.154,0.143,0.095,0.143,0.128,
+0.062,0.193,0.093,0.089,0.077,0.166,0.092,0.068,0.033,0.104,
+0.064,0.033,0.141,0.085,0.165,0.146,0.048,0.197,0.120,0.092,
+0.061,0.108,0.046,0.058,0.161,0.667,0.129,0.140,0.092,0.030,
+0.079,0.103,0.051,0.090,0.072,0.109,0.062,0.068,0.047,0.048,
+0.112,0.155,0.136,0.094,0.184,0.078,0.225,0.085,0.057,0.179,
+0.078,0.078,0.013,0.045,0.022,0.019,0.036,0.084,0.083,0.037,
+0.101,0.193,0.146,0.059,0.016,0.144,0.040,0.024,0.069,0.122,
+0.273,0.094,0.029,0.056,0.060,0.040,0.112,0.075,0.132,0.104,
+0.059,0.265,0.109,0.078,0.043,0.035,0.055,0.054,0.100,0.162,
+0.146,0.117,0.097,0.033,0.121,0.102,0.052,0.091,0.078,0.091,
+0.078,0.072,0.045,0.063,0.072,0.071,0.059,0.059,0.082,0.021,
+0.067,0.059,0.114,0.148,0.064,0.105,0.121,0.175,0.102,0.108,
+0.174,0.231,0.200,0.190,0.305,0.167,0.346,0.183,0.200,0.898,
+0.184,0.193,0.049,0.099,0.091,0.071,0.011,0.024,0.019,0.019,
+0.094,0.035,0.109,0.114,0.056,0.163,0.116,0.110,0.062,0.059,
+0.043,0.070,0.075,0.098,0.065,0.094,0.114,0.021,0.095,0.127,
+0.115,0.156,0.126,0.205,1.023,0.728,0.538,0.806,0.972,0.825,
+0.813,0.733,0.657,0.090,0.403,0.515,0.526,0.541,0.341,0.604,
+0.974,0.911,0.758,0.729,1.237,1.085,2.125,1.065,1.047,0.178,
+0.958,0.951,0.489,0.840,0.519,0.724,0.711,0.974,0.719,0.900,
+0.150,0.192,0.156,0.220,1.751,0.260,0.633,0.827,0.589,1.777,
+0.549,0.747,0.588,0.438,0.330,0.687,0.812,0.947,0.713,0.920,
+0.814,0.128,0.596,1.012,0.623,0.853,0.632,1.362,0.079,0.092,
+0.046,0.068,0.158,0.180,0.126,0.105,0.076,0.027,0.067,0.072,
+0.049,0.088,0.039,0.080,0.096,0.125,0.068,0.065,0.247,0.234,
+0.285,0.141,0.139,0.066,0.194,0.152,0.064,0.133,0.075,0.087,
+0.115,0.163,0.086,0.083,0.031,0.070,0.057,0.039,0.169,0.075,
+0.146,0.149,0.060,0.217,0.100,0.097,0.074,0.072,0.040,0.079,
+0.166,0.315,0.146,0.172,0.102,0.029,0.113,0.143,0.069,0.102,
+0.081,0.159,0.719,0.799,0.527,0.476,1.173,1.444,3.074,0.940,
+0.913,0.239,1.123,0.830,0.465,0.791,0.760,0.772,0.083,0.169,
+0.152,0.077,0.161,0.268,1.712,0.192,0.143,0.079,0.428,0.172,
+0.087,0.226,0.151,0.107,0.639,1.049,0.703,0.605,0.143,0.203,
+0.230,0.154,0.834,0.186,0.425,0.641,0.347,0.877,0.757,0.660,
+0.430,0.389,0.309,0.402,0.846,1.168,1.035,0.867,0.749,0.160,
+0.838,0.918,0.589,0.773,0.721,0.940,0.630,0.452,0.376,0.547,
+0.665,0.511,0.666,0.464,0.593,0.094,0.473,0.682,0.663,0.572,
+0.372,0.741,0.906,0.965,0.868,0.669,1.328,1.401,4.178,1.185,
+1.073,0.220,1.366,1.233,1.399,1.554,0.872,0.989,0.680,1.470,
+0.699,0.785,0.114,0.208,0.146,0.140,0.829,0.164,0.920,1.091,
+0.514,1.231,0.870,0.975,0.637,0.539,0.406,0.641,0.736,0.848,
+0.717,0.759,0.872,0.134,0.953,1.213,0.835,1.146,0.984,1.489,
+1.136,0.624,0.531,0.946,0.842,0.580,0.596,0.782,0.578,0.074,
+0.285,0.474,0.673,0.629,0.357,0.827,0.853,0.593,0.412,0.537,
+0.987,0.499,0.662,0.614,0.521,0.055,0.288,0.439,0.355,0.419,
+0.293,0.491,0.664,0.646,0.423,0.603,0.085,0.074,0.055,0.104,
+0.578,0.071,0.307,0.484,0.397,0.717,0.379,0.580,0.913,0.505,
+0.388,0.742,0.818,0.690,0.494,0.746,0.637,0.061,0.354,0.630,
+0.811,0.654,0.631,1.342,1.349,1.037,0.556,0.962,1.610,1.244,
+1.006,0.998,0.831,0.145,0.557,0.738,0.668,0.999,0.433,0.918,
+1.412,1.358,0.606,0.806,3.443,1.694,1.441,1.230,1.271,0.227,
+0.894,1.160,0.698,1.196,0.580,0.841,1.040,1.282,0.643,0.744,
+0.184,0.227,0.144,0.171,1.012,0.212,0.859,1.120,0.756,1.724,
+0.823,1.048,0.811,0.612,0.443,0.779,1.331,1.491,1.058,1.426,
+0.946,0.124,0.791,1.042,0.792,0.955,0.859,1.416,0.974,0.759,
+0.546,1.057,1.130,1.032,1.038,1.193,0.920,0.175,0.688,0.938,
+0.535,0.762,0.588,1.009,0.073,0.092,0.052,0.084,0.118,0.147,
+0.202,0.124,0.083,0.032,0.129,0.137,0.057,0.144,0.083,0.097,
+0.695,1.065,0.594,0.729,0.100,0.132,0.108,0.139,0.846,0.161,
+0.610,0.870,0.485,1.117,0.759,0.877,0.600,0.490,0.400,0.577,
+0.993,1.022,0.925,1.176,0.833,0.125,0.760,1.060,0.668,0.797,
+0.845,1.233,0.989,0.569,0.473,0.933,0.818,0.542,0.569,0.612,
+0.701,0.090,0.440,0.795,0.770,0.683,0.526,1.347,0.842,0.705,
+0.449,0.643,0.869,0.811,0.999,0.792,0.681,0.102,0.601,0.960,
+0.638,0.977,0.579,0.948,0.802,1.057,0.636,0.936,0.089,0.111,
+0.071,0.127,0.971,0.139,0.878,1.340,0.718,1.249,1.107,1.215,
+1.151,0.741,0.755,1.301,1.147,1.246,0.978,1.296,1.260,0.128,
+1.036,1.709,1.459,1.481,1.471,2.153,1.578,1.092,0.852,1.784,
+0.952,0.647,0.510,0.821,1.100,0.106,0.454,0.789,1.418,1.143,
+0.603,1.331,1.120,0.682,0.475,0.735,0.758,0.436,0.372,0.524,
+0.627,0.069,0.651,0.488,0.700,0.750,0.500,0.779,0.824,0.616,
+0.441,0.732,0.073,0.064,0.043,0.100,0.579,0.053,0.305,0.520,
+0.525,0.683,0.440,0.808,1.132,0.578,0.478,1.086,0.890,0.682,
+0.442,0.802,0.709,0.069,0.456,0.690,1.036,0.755,0.733,1.627,
+1.241,0.772,0.409,0.835,0.849,0.591,0.358,0.546,0.771,0.101,
+0.307,0.476,0.693,0.670,0.303,0.730,0.772,0.615,0.311,0.471,
+0.611,0.572,0.339,0.431,0.565,0.067,0.307,0.469,0.491,0.632,
+0.309,0.596,0.530,0.615,0.465,0.585,0.057,0.088,0.046,0.071,
+0.615,0.069,0.350,0.566,0.458,0.705,0.415,0.595,0.571,0.542,
+0.290,0.698,0.638,1.100,0.331,0.650,0.534,0.055,0.321,0.551,
+0.531,0.510,0.444,1.049,1.005,0.667,0.456,0.850,0.805,0.569,
+0.458,0.838,1.194,0.167,0.628,0.702,1.135,1.050,0.496,1.169,
+0.073,0.072,0.042,0.066,0.064,0.065,0.047,0.081,0.091,0.023,
+0.074,0.073,0.138,0.275,0.063,0.142,0.419,0.469,0.461,0.512,
+0.051,0.053,0.042,0.069,0.580,0.064,0.321,0.421,0.446,0.677,
+0.375,0.556,0.432,0.315,0.276,0.506,0.530,0.462,0.344,0.578,
+0.575,0.061,0.345,0.561,0.680,0.595,0.522,1.111,1.449,0.808,
+0.464,1.158,0.780,0.494,0.387,0.695,1.430,0.165,0.516,0.739,
+3.738,1.850,0.685,1.780,0.957,0.801,0.420,0.717,0.632,0.570,
+0.412,0.668,1.026,0.150,0.506,0.683,1.849,3.129,0.722,1.534,
+0.632,0.649,0.520,0.710,0.054,0.049,0.044,0.073,0.653,0.063,
+0.367,0.600,0.812,0.958,0.661,1.061,1.040,0.812,0.571,1.213,
+0.667,0.516,0.441,0.850,1.086,0.097,0.589,1.195,1.719,1.451,
+1.410,3.112,1.823,1.135,0.694,1.419,1.160,0.943,0.637,0.957,
+1.062,0.149,0.909,0.860,1.062,1.252,0.632,1.295,1.513,1.254,
+0.786,1.099,1.169,1.020,0.848,0.983,1.050,0.201,3.849,1.160,
+0.634,1.484,0.909,0.969,0.788,0.999,0.595,0.880,0.099,0.138,
+0.084,0.162,0.752,0.127,0.738,1.404,0.591,1.064,0.733,1.220,
+0.871,0.590,0.522,1.042,0.993,1.216,0.718,1.295,0.908,0.110,
+0.598,1.269,0.887,0.775,0.791,1.614,1.400,1.149,0.528,0.972,
+1.262,1.310,0.705,0.818,1.021,0.193,0.483,0.690,0.753,1.089,
+0.477,1.010,1.217,1.387,0.564,0.780,1.380,1.379,0.913,1.027,
+1.074,0.231,0.760,0.975,0.652,1.592,0.609,0.879,0.798,1.228,
+0.784,0.913,0.157,0.277,0.117,0.164,1.130,0.235,0.855,1.170,
+0.698,1.564,0.863,1.160,0.692,0.890,0.474,0.870,1.176,3.110,
+0.704,1.458,0.862,0.126,0.657,0.916,0.688,0.896,0.660,1.452,
+1.074,0.818,0.452,0.730,1.137,1.171,0.849,1.041,1.545,0.466,
+1.093,0.804,1.168,2.349,0.714,1.404,0.084,0.140,0.074,0.094,
+0.122,0.201,0.145,0.146,0.237,0.264,0.320,0.158,0.172,0.927,
+0.147,0.179,0.699,1.182,1.100,0.833,0.106,0.157,0.116,0.148,
+0.916,0.196,0.609,0.803,0.590,1.590,0.715,0.885,0.624,0.527,
+0.440,0.684,0.945,1.250,0.823,1.138,0.930,0.122,0.684,0.948,
+0.739,0.967,0.770,1.369,1.315,0.836,0.521,1.002,0.885,0.770,
+0.621,0.878,1.416,0.228,0.593,0.750,3.080,3.155,0.891,1.920,
+1.541,1.870,0.987,1.432,1.351,1.810,1.318,1.770,2.922,0.998,
+1.602,1.543,5.042,21.2,2.256,4.013,0.675,0.999,0.726,0.876,
+0.074,0.140,0.078,0.124,0.989,0.181,0.822,1.159,0.931,2.298,
+1.148,1.537,0.926,0.766,0.605,1.013,0.918,1.141,0.645,1.338,
+1.267,0.146,0.854,1.409,1.810,2.395,1.565,3.115,1.218,0.788,
+0.519,0.922,0.718,0.670,0.419,0.593,0.689,0.083,0.329,0.678,
+0.655,0.631,0.363,0.810,1.257,1.089,0.583,0.784,1.013,0.939,
+0.860,0.718,0.992,0.138,0.756,0.859,0.622,0.993,0.608,0.893,
+0.728,0.980,0.575,0.928,0.111,0.160,0.096,0.171,0.871,0.137,
+0.619,0.846,0.570,1.111,0.671,0.991,0.783,0.555,0.398,0.951,
+0.813,0.915,0.531,0.863,0.846,0.109,0.577,1.090,0.888,0.834,
+0.787,1.746,0.074,0.080,0.069,0.076,0.077,0.110,0.053,0.073,
+0.059,0.015,0.039,0.056,0.052,0.089,0.049,0.101,0.081,0.102,
+0.043,0.055,0.129,0.213,0.112,0.086,0.107,0.033,0.105,0.095,
+0.053,0.128,0.059,0.079,0.050,0.093,0.051,0.065,0.019,0.031,
+0.019,0.017,0.099,0.034,0.111,0.105,0.054,0.143,0.098,0.095,
+0.064,0.059,0.034,0.083,0.109,0.185,0.074,0.133,0.084,0.022,
+0.066,0.113,0.082,0.084,0.080,0.147,0.908,0.728,0.419,0.535,
+0.959,1.083,0.869,0.783,0.983,0.211,0.648,0.744,0.615,1.101,
+0.805,1.001,0.074,0.114,0.059,0.058,0.119,0.157,0.173,0.080,
+0.106,0.050,0.127,0.100,0.081,0.248,0.110,0.125,0.687,1.188,
+0.603,0.716,0.124,0.183,0.121,0.130,1.384,0.219,0.666,0.931,
+0.564,1.268,0.801,0.874,0.665,0.523,0.380,0.564,0.997,1.227,
+0.798,0.973,1.472,0.183,0.899,1.250,1.019,1.095,0.942,1.503,
+0.868,0.550,0.387,0.701,0.687,0.554,0.496,0.544,0.780,0.105,
+0.485,0.764,0.814,0.838,0.533,1.278,1.107,1.090,0.726,0.891,
+1.081,1.236,1.293,1.035,1.230,0.225,1.039,1.273,1.114,2.478,
+1.237,1.865,0.905,1.222,0.830,0.992,0.088,0.149,0.123,0.116,
+1.151,0.162,0.992,1.255,0.916,1.701,1.164,1.444,0.941,0.782,
+0.578,0.941,0.815,0.966,0.721,0.901,1.436,0.138,1.099,1.654,
+1.566,1.569,1.381,2.475,1.750,0.919,0.654,1.428,0.919,0.576,
+0.522,0.901,0.857,0.090,0.382,0.781,1.027,0.826,0.528,1.409,
+1.112,0.713,0.399,0.710,0.843,0.552,0.485,0.665,0.708,0.078,
+0.620,0.657,0.538,0.635,0.493,0.916,0.891,1.010,0.431,0.908,
+0.086,0.102,0.049,0.134,0.621,0.078,0.370,0.647,0.599,0.786,
+0.485,0.918,1.104,0.601,0.464,1.153,0.747,0.615,0.426,0.913,
+0.762,0.065,0.411,0.946,1.150,0.833,0.790,2.204,1.359,0.962,
+0.570,1.186,1.031,0.814,0.538,0.820,0.771,0.097,0.378,0.689,
+0.702,0.913,0.418,1.035,1.135,1.005,0.391,0.672,1.383,1.201,
+0.614,0.787,1.021,0.149,0.678,0.902,0.634,1.063,0.483,0.885,
+0.720,0.771,0.397,0.679,0.082,0.101,0.051,0.094,0.826,0.100,
+0.729,0.831,0.722,1.084,0.648,1.035,0.777,0.577,0.436,0.879,
+0.890,0.968,0.546,1.169,0.857,0.080,0.518,0.881,0.855,0.889,
+0.854,1.794,1.287,0.969,0.559,1.001,1.083,0.899,0.748,1.072,
+1.107,0.179,0.588,1.029,1.005,1.136,0.801,1.647,0.089,0.118,
+0.043,0.084,0.098,0.109,0.073,0.098,0.082,0.027,0.074,0.106,
+0.095,0.180,0.078,0.153,0.907,1.148,0.600,0.975,0.090,0.105,
+0.081,0.120,1.092,0.152,0.652,1.101,0.779,1.217,0.886,1.370,
+0.974,0.743,0.525,1.016,1.196,1.105,0.815,1.402,1.627,0.157,
+0.872,1.580,1.185,1.160,1.060,2.098,1.901,0.979,0.744,1.569,
+1.054,0.739,0.615,0.902,1.246,0.125,0.644,1.212,1.734,1.384,
+0.986,2.590,1.485,1.197,0.666,1.088,1.264,1.265,0.853,1.308,
+1.330,0.154,0.869,1.542,1.337,2.267,1.026,2.205,1.330,1.398,
+0.922,1.489,0.106,0.118,0.083,0.156,1.747,0.150,1.104,1.808,
+1.455,2.001,1.645,2.383,2.484,1.336,1.147,2.500,1.689,1.462,
+1.124,2.380,2.293,0.167,1.663,3.012,2.906,2.184,2.341,3.779,
+2.185,1.224,1.023,1.995,1.361,0.834,0.757,1.008,1.241,0.135,
+0.747,1.118,1.740,1.383,0.944,1.611,1.709,1.041,0.726,1.166,
+1.138,0.773,0.639,0.693,0.950,0.091,0.658,0.759,0.703,0.759,
+0.710,0.849,0.934,0.773,0.645,0.879,0.092,0.092,0.077,0.125,
+0.694,0.062,0.418,0.514,0.674,0.813,0.713,0.793,1.593,0.758,
+0.763,1.502,1.221,1.019,0.887,1.109,0.866,0.079,0.635,0.893,
+1.168,0.917,0.973,1.593,1.653,0.905,0.614,0.977,1.112,0.671,
+0.517,0.713,0.681,0.084,0.461,0.601,0.726,0.793,0.520,0.816,
+1.228,0.857,0.533,0.737,0.788,0.505,0.544,0.544,0.733,0.106,
+0.531,0.975,0.511,0.729,0.598,0.716,0.680,0.643,0.444,0.550,
+0.093,0.068,0.054,0.077,0.546,0.064,0.379,0.505,0.384,0.670,
+0.431,0.505,0.728,0.481,0.346,0.581,0.774,0.562,0.459,0.650,
+0.649,0.062,0.453,0.625,0.626,0.649,0.618,0.989,1.279,0.630,
+0.489,0.771,0.942,0.611,0.555,0.686,0.762,0.105,0.425,0.655,
+0.791,0.830,0.632,1.125,0.095,0.080,0.049,0.072,0.074,0.064,
+0.057,0.065,0.066,0.016,0.054,0.079,0.087,0.143,0.079,0.119,
+0.564,0.495,0.396,0.447,0.053,0.040,0.044,0.056,0.438,0.056,
+0.306,0.388,0.386,0.491,0.429,0.496,0.566,0.321,0.296,0.496,
+0.756,0.470,0.423,0.708,0.591,0.067,0.435,0.669,0.504,0.711,
+0.566,0.971,1.628,0.596,0.512,1.039,0.633,0.388,0.372,0.538,
+0.637,0.067,0.353,0.545,0.879,0.657,0.670,1.395,1.127,0.676,
+0.531,0.692,0.689,0.503,0.455,0.553,0.581,0.056,0.453,0.583,
+0.650,0.692,0.614,0.866,0.718,0.521,0.447,0.607,0.055,0.038,
+0.035,0.058,0.441,0.036,0.306,0.466,0.408,0.515,0.486,0.639,
+1.263,0.476,0.503,0.967,0.581,0.320,0.385,0.590,0.791,0.064,
+0.530,0.905,1.024,0.807,1.042,2.052,2.154,1.373,0.992,1.614,
+1.235,0.897,0.792,1.128,0.857,0.112,0.505,0.813,0.938,1.116,
+0.774,1.358,1.751,1.387,0.867,1.010,1.150,0.899,0.923,0.873,
+0.886,0.112,0.813,0.945,0.589,0.834,0.718,0.943,0.752,0.877,
+0.710,0.765,0.081,0.101,0.084,0.122,0.524,0.073,0.464,0.572,
+0.402,0.756,0.572,0.747,0.964,0.528,0.498,0.865,0.890,0.863,
+0.675,0.827,0.701,0.071,0.457,0.646,0.657,0.604,0.730,1.320,
+1.731,1.323,0.688,1.119,1.506,1.150,0.806,1.721,0.711,0.107,
+0.510,0.686,0.611,0.824,0.521,0.939,1.395,1.255,0.761,0.776,
+0.890,0.500,0.724,0.740,0.817,0.138,0.719,0.919,0.515,0.840,
+0.703,0.838,0.727,1.121,0.818,0.835,0.099,0.145,0.123,0.183,
+0.691,0.149,0.632,0.739,0.453,1.386,0.628,0.754,0.704,0.621,
+0.388,0.554,0.772,0.787,0.559,0.739,0.591,0.071,0.440,0.566,
+0.475,0.584,0.530,0.973,1.226,0.810,0.516,0.693,1.049,1.075,
+0.897,0.836,0.758,0.130,0.617,0.757,0.570,0.750,0.751,1.045,
+0.114,0.164,0.073,0.090,0.104,0.156,0.141,0.094,0.087,0.042,
+0.132,0.128,0.071,0.188,0.131,0.144,0.698,1.018,0.871,0.743,
+0.118,0.138,0.116,0.101,0.661,0.120,0.681,0.767,0.418,0.971,
+0.978,0.847,0.544,0.408,0.394,0.531,0.870,0.923,0.734,0.859,
+0.747,0.097,0.777,0.922,0.474,0.690,0.854,1.073,1.009,0.586,
+0.461,0.746,0.620,0.483,0.431,0.563,0.465,0.055,0.333,0.495,
+0.570,0.507,0.515,0.948,1.082,0.983,0.663,0.869,0.988,0.960,
+0.766,0.896,0.666,0.087,0.683,0.890,0.631,1.017,0.759,1.135,
+0.626,0.787,0.667,0.800,0.056,0.079,0.054,0.078,0.486,0.068,
+0.513,0.692,0.440,0.774,0.727,0.996,0.778,0.448,0.546,0.770,
+0.625,0.552,0.475,0.712,0.714,0.067,0.653,1.028,0.845,0.876,
+1.203,1.757,1.720,1.215,0.704,1.146,0.813,0.712,0.470,0.596,
+0.633,0.087,0.412,0.685,0.730,0.764,0.528,0.902,1.619,1.536,
+0.753,0.970,1.082,1.010,0.823,0.799,1.016,0.145,0.897,1.107,
+0.638,1.100,0.682,0.937,1.001,1.961,0.941,0.934,0.122,0.202,
+0.135,0.166,0.632,0.100,0.476,0.659,0.487,1.055,0.605,0.735,
+1.063,0.901,0.593,1.018,1.013,1.263,0.761,0.946,0.819,0.095,
+0.589,0.957,0.822,0.853,1.020,1.773,0.137,0.136,0.083,0.103,
+0.135,0.159,0.081,0.107,0.079,0.021,0.061,0.083,0.073,0.125,
+0.088,0.103,0.151,0.176,0.082,0.094,0.160,0.192,0.133,0.106,
+0.142,0.042,0.130,0.148,0.079,0.203,0.097,0.110,0.090,0.213,
+0.101,0.096,0.016,0.037,0.032,0.025,0.124,0.031,0.110,0.125,
+0.067,0.192,0.112,0.102,0.144,0.148,0.083,0.127,0.237,0.311,
+0.183,0.205,0.132,0.025,0.118,0.175,0.117,0.155,0.138,0.216,
+1.057,0.885,0.534,0.581,0.808,0.975,0.789,0.622,0.950,0.312,
+0.795,0.795,0.611,1.169,0.810,0.881,0.108,0.187,0.073,0.072,
+0.085,0.136,0.113,0.069,0.190,0.127,0.139,0.118,0.090,0.289,
+0.127,0.115,0.818,2.218,0.711,0.607,0.098,0.172,0.119,0.093,
+0.759,0.150,0.494,0.616,0.526,0.909,0.671,0.639,0.594,0.640,
+0.463,0.486,0.860,1.025,0.842,0.805,0.812,0.139,1.071,1.145,
+0.573,0.802,0.881,1.084,0.930,0.603,0.413,0.674,0.526,0.465,
+0.340,0.394,0.575,0.076,0.374,0.514,0.618,0.629,0.458,0.847,
+1.358,1.131,0.663,0.870,0.996,1.060,0.732,0.742,1.407,0.217,
+0.902,1.059,0.847,1.443,0.907,1.101,0.796,1.181,0.742,0.794,
+0.083,0.129,0.095,0.090,0.727,0.100,0.728,0.783,0.577,1.053,
+0.836,0.917,1.149,0.693,0.625,0.806,0.903,0.774,0.704,0.792,
+0.974,0.097,1.092,1.286,1.014,1.042,1.213,1.601,1.921,0.969,
+0.650,1.325,0.724,0.521,0.396,0.518,0.655,0.061,0.329,0.545,
+0.897,0.684,0.550,1.183,0.982,0.624,0.392,0.701,0.609,0.415,
+0.372,0.509,0.597,0.059,0.386,0.637,0.495,0.509,0.404,0.699,
+0.727,0.701,0.417,0.745,0.067,0.077,0.053,0.095,0.437,0.049,
+0.276,0.465,0.414,0.605,0.387,0.664,1.107,0.653,0.543,1.325,
+0.780,0.732,0.525,0.840,0.685,0.061,0.483,0.793,0.908,0.809,
+0.805,1.931,1.457,1.056,0.572,0.914,0.975,0.947,0.566,0.653,
+0.652,0.081,0.403,0.591,0.617,0.781,0.504,0.904,1.096,0.930,
+0.444,0.621,0.934,0.886,0.533,0.585,0.794,0.135,0.538,0.776,
+0.590,0.999,0.463,0.733,0.680,0.815,0.506,0.684,0.066,0.085,
+0.065,0.092,0.676,0.077,0.468,0.674,0.502,0.851,0.514,0.788,
+0.875,0.589,0.432,0.749,1.012,0.852,0.660,0.869,0.771,0.074,
+0.506,0.853,0.736,0.841,0.689,1.373,1.152,0.701,0.498,0.744,
+0.971,0.808,0.679,0.834,0.895,0.141,0.653,0.842,0.718,0.837,
+0.897,1.249,0.105,0.097,0.058,0.088,0.083,0.095,0.084,0.082,
+0.094,0.023,0.109,0.108,0.095,0.159,0.117,0.140,0.690,0.995,
+0.559,0.782,0.072,0.078,0.082,0.097,0.844,0.101,0.499,0.752,
+0.620,0.868,0.774,0.958,0.724,0.623,0.542,0.828,0.946,0.834,
+0.946,1.141,1.064,0.119,0.888,1.328,0.825,0.925,1.033,1.664,
+1.647,0.825,0.618,1.119,0.785,0.670,0.502,0.643,0.801,0.092,
+0.459,0.760,1.119,0.931,0.801,1.813,1.032,0.674,0.534,0.889,
+0.764,0.516,0.554,0.828,0.845,0.077,0.658,0.969,0.833,0.976,
+0.782,1.285,1.032,1.127,0.759,1.344,0.087,0.086,0.065,0.123,
+0.922,0.087,0.687,1.062,0.946,1.194,1.118,1.541,1.967,0.970,
+0.988,1.951,1.272,1.064,1.124,1.612,1.703,0.109,1.334,2.124,
+2.290,1.698,1.984,3.136,0.109,0.082,0.063,0.114,0.094,0.073,
+0.066,0.071,0.067,0.011,0.051,0.063,0.068,0.090,0.061,0.084,
+0.104,0.090,0.055,0.098,0.089,0.078,0.080,0.072,0.071,0.020,
+0.070,0.100,0.052,0.079,0.071,0.072,0.054,0.056,0.045,0.060,
+7.19e-3,0.011,7.60e-3,0.011,0.046,5.77e-3,0.033,0.038,0.037,0.057,
+0.086,0.059,0.080,0.059,0.042,0.079,0.093,0.113,0.058,0.078,
+0.059,9.94e-3,0.060,0.065,0.072,0.080,0.085,0.118,0.117,0.098,
+0.058,0.078,0.104,0.092,0.067,0.073,0.074,0.026,0.085,0.089,
+0.063,0.100,0.110,0.101,0.131,0.131,0.064,0.078,0.121,0.116,
+0.090,0.085,0.153,0.066,0.103,0.337,0.057,0.153,0.079,0.112,
+0.054,0.075,0.052,0.060,0.011,0.018,0.017,0.015,0.054,0.017,
+0.058,0.063,0.033,0.084,0.061,0.060,0.053,0.053,0.033,0.044,
+0.075,0.079,0.058,0.079,0.065,9.86e-3,0.060,0.070,0.060,0.069,
+0.063,0.107,0.076,0.047,0.032,0.042,0.095,0.060,0.057,0.056,
+0.058,0.012,0.043,0.059,0.048,0.061,0.050,0.078,9.86e-3,0.013,
+8.86e-3,8.36e-3,0.012,0.015,0.013,0.011,8.77e-3,4.93e-3,0.015,0.017,
+6.85e-3,0.021,0.014,0.018,0.037,0.067,0.041,0.039,6.10e-3,9.53e-3,
+0.011,7.52e-3,0.041,0.010,0.052,0.048,0.028,0.065,0.063,0.054,
+0.034,0.026,0.023,0.039,0.060,0.061,0.048,0.061,0.049,8.36e-3,
+0.048,0.059,0.039,0.058,0.071,0.091,0.088,0.044,0.035,0.065,
+0.051,0.039,0.032,0.044,0.044,8.52e-3,0.029,0.042,0.055,0.051,
+0.049,0.094,0.091,0.076,0.058,0.077,0.089,0.099,0.072,0.073,
+0.054,0.013,0.060,0.081,0.058,0.080,0.066,0.099,0.047,0.044,
+0.055,0.056,7.27e-3,6.18e-3,7.35e-3,6.85e-3,0.044,8.52e-3,0.038,0.048,
+0.035,0.065,0.072,0.072,0.078,0.041,0.038,0.069,0.058,0.047,
+0.041,0.059,0.067,7.35e-3,0.066,0.093,0.087,0.093,0.103,0.210,
+0.118,0.092,0.068,0.085,0.089,0.087,0.074,0.085,0.052,0.013,
+0.044,0.055,0.049,0.067,0.055,0.075,0.119,0.120,0.069,0.073,
+0.141,0.130,0.119,0.111,0.076,0.031,0.103,0.102,0.037,0.079,
+0.090,0.081,0.043,0.072,0.053,0.050,0.010,0.020,0.021,0.016,
+0.041,0.013,0.049,0.046,0.026,0.053,0.049,0.051,0.047,0.033,
+0.029,0.043,0.056,0.071,0.053,0.063,0.062,8.52e-3,0.040,0.048,
+0.042,0.041,0.051,0.084,0.128,0.140,0.069,0.087,0.163,0.232,
+0.124,0.213,0.077,0.022,0.069,0.074,0.048,0.092,0.056,0.087,
+0.178,0.324,0.123,0.096,0.286,0.250,0.220,0.217,0.157,0.081,
+0.141,0.177,0.068,0.202,0.120,0.127,0.062,0.152,0.108,0.122,
+0.022,0.063,0.069,0.068,0.082,0.049,0.092,0.096,0.042,0.158,
+0.096,0.083,0.056,0.064,0.036,0.052,0.083,0.154,0.100,0.126,
+0.067,0.020,0.063,0.073,0.062,0.062,0.067,0.102,0.089,0.071,
+0.046,0.046,0.111,0.145,0.112,0.080,0.078,0.019,0.075,0.071,
+0.040,0.074,0.073,0.077,0.016,0.027,0.017,0.013,0.029,0.066,
+0.061,0.023,0.023,0.030,0.051,0.036,0.011,0.034,0.032,0.021,
+0.072,0.193,0.099,0.081,0.023,0.072,0.048,0.026,0.078,0.039,
+0.121,0.100,0.036,0.139,0.168,0.096,0.047,0.042,0.036,0.042,
+0.086,0.139,0.119,0.104,0.108,0.020,0.114,0.101,0.044,0.077,
+0.136,0.111,0.069,0.050,0.037,0.064,0.053,0.054,0.041,0.045,
+0.038,5.10e-3,0.032,0.042,0.037,0.040,0.038,0.068,0.084,0.118,
+0.075,0.073,0.118,0.158,0.111,0.098,0.081,0.026,0.094,0.110,
+0.046,0.117,0.081,0.095,0.048,0.090,0.071,0.063,7.10e-3,0.023,
+0.013,0.013,0.049,0.016,0.069,0.069,0.035,0.077,0.077,0.075,
+0.049,0.037,0.034,0.049,0.049,0.059,0.045,0.059,0.059,8.27e-3,
+0.068,0.084,0.063,0.071,0.101,0.132,0.101,0.068,0.063,0.069,
+0.051,0.061,0.036,0.049,0.041,6.10e-3,0.031,0.042,0.041,0.048,
+0.040,0.049,0.090,0.114,0.068,0.064,0.104,0.115,0.104,0.088,
+0.095,0.037,0.111,0.133,0.050,0.151,0.062,0.073,0.060,0.117,
+0.068,0.061,0.011,0.021,0.022,0.018,0.070,0.015,0.051,0.055,
+0.032,0.070,0.057,0.051,0.048,0.043,0.030,0.054,0.060,0.067,
+0.062,0.068,0.054,0.010,0.057,0.067,0.046,0.055,0.064,0.102,
+0.011,0.014,0.020,7.44e-3,0.014,0.025,0.017,0.013,9.02e-3,6.10e-3,
+0.014,9.19e-3,5.10e-3,0.015,0.022,0.010,0.017,0.038,0.018,0.011,
+0.032,0.067,0.051,0.028,0.021,0.037,0.050,0.037,0.011,0.049,
+0.021,0.016,9.94e-3,0.035,0.021,0.010,7.10e-3,0.023,0.027,0.011,
+0.034,0.024,0.036,0.025,8.61e-3,0.035,0.032,0.016,6.85e-3,9.53e-3,
+6.02e-3,7.94e-3,0.017,0.025,0.026,0.020,0.013,6.94e-3,0.023,0.019,
+8.27e-3,0.014,0.019,0.015,0.084,0.103,0.053,0.042,0.080,0.194,
+0.106,0.062,0.082,0.034,0.096,0.082,0.046,0.116,0.099,0.084,
+0.014,0.041,0.018,0.011,0.021,0.061,0.052,0.020,0.031,0.041,
+0.095,0.040,0.014,0.041,0.038,0.019,0.109,0.667,0.115,0.084,
+0.021,0.067,0.053,0.024,0.095,0.054,0.097,0.092,0.036,0.129,
+0.104,0.075,0.048,0.102,0.038,0.042,0.085,0.140,0.122,0.108,
+0.087,0.029,0.144,0.124,0.044,0.083,0.104,0.104,0.060,0.056,
+0.036,0.053,0.040,0.051,0.031,0.034,0.061,8.52e-3,0.038,0.060,
+0.044,0.060,0.043,0.076,0.109,0.140,0.075,0.073,0.128,0.199,
+0.121,0.099,0.127,0.041,0.141,0.152,0.066,0.156,0.119,0.129,
+0.067,0.155,0.097,0.081,0.011,0.024,0.024,0.014,0.076,0.027,
+0.100,0.098,0.044,0.144,0.098,0.091,0.075,0.055,0.043,0.062,
+0.133,0.069,0.063,0.068,0.090,0.016,0.123,0.122,0.076,0.103,
+0.106,0.133,0.110,0.069,0.047,0.079,0.076,0.052,0.040,0.081,
+0.060,7.02e-3,0.030,0.057,0.061,0.054,0.045,0.083,0.081,0.068,
+0.038,0.063,0.065,0.055,0.050,0.066,0.062,0.013,0.049,0.071,
+0.045,0.056,0.045,0.067,0.053,0.058,0.038,0.062,7.44e-3,7.35e-3,
+6.52e-3,0.011,0.040,5.85e-3,0.028,0.046,0.032,0.046,0.039,0.054,
+0.074,0.046,0.041,0.089,0.065,0.056,0.043,0.087,0.063,7.02e-3,
+0.042,0.091,0.072,0.058,0.069,0.179,0.128,0.110,0.084,0.090,
+0.109,0.119,0.141,0.091,0.081,0.017,0.067,0.074,0.068,0.109,
+0.103,0.111,0.125,0.148,0.067,0.081,0.166,0.217,0.131,0.116,
+0.130,0.047,0.105,0.149,0.082,0.236,0.083,0.115,0.070,0.111,
+0.073,0.078,0.017,0.024,0.025,0.020,0.095,0.019,0.081,0.095,
+0.053,0.116,0.082,0.082,0.071,0.061,0.045,0.075,0.112,0.107,
+0.101,0.158,0.078,0.013,0.084,0.120,0.077,0.094,0.100,0.160,
+0.077,0.061,0.039,0.055,0.081,0.100,0.080,0.079,0.080,0.018,
+0.075,0.086,0.058,0.083,0.105,0.114,0.012,0.017,7.77e-3,0.012,
+0.014,0.028,0.022,0.015,0.013,0.010,0.030,0.019,0.012,0.024,
+0.045,0.026,0.060,0.148,0.068,0.071,0.011,0.022,0.022,0.018,
+0.099,0.026,0.085,0.086,0.046,0.110,0.125,0.091,0.053,0.050,
+0.044,0.059,0.082,0.087,0.109,0.119,0.100,0.017,0.110,0.140,
+0.072,0.096,0.147,0.177,0.106,0.075,0.053,0.082,0.068,0.063,
+0.046,0.061,0.064,9.94e-3,0.047,0.069,0.070,0.075,0.065,0.132,
+0.080,0.074,0.051,0.069,0.078,0.081,0.071,0.092,0.070,0.013,
+0.072,0.100,0.066,0.093,0.081,0.170,0.069,0.097,0.067,0.102,
+8.36e-3,0.011,9.94e-3,0.013,0.072,0.013,0.082,0.098,0.061,0.113,
+0.106,0.120,0.122,0.068,0.069,0.135,0.105,0.095,0.096,0.139,
+0.118,0.014,0.132,0.184,0.160,0.161,0.179,0.273,1.144,0.781,
+0.661,1.322,0.843,0.692,0.588,0.861,0.625,0.082,0.501,0.711,
+0.826,0.802,0.611,0.994,0.913,0.738,0.502,1.012,0.735,0.566,
+0.633,0.805,0.547,0.080,0.521,0.657,0.421,0.609,0.571,0.675,
+0.578,0.554,0.391,0.614,0.057,0.053,0.051,0.091,0.407,0.046,
+0.388,0.461,0.304,0.430,0.453,0.573,0.636,0.363,0.292,0.664,
+0.438,0.387,0.334,0.569,0.480,0.043,0.321,0.477,0.531,0.332,
+0.484,0.964,1.417,0.921,0.564,0.971,1.077,0.827,0.699,0.758,
+0.599,0.093,0.449,0.592,0.546,0.707,0.438,0.711,1.272,1.286,
+0.647,0.764,1.020,0.684,0.876,0.771,0.997,0.165,0.838,1.480,
+0.514,0.890,0.557,0.742,0.660,0.856,0.605,0.681,0.097,0.133,
+0.113,0.137,0.874,0.157,0.862,1.166,0.566,0.959,0.764,0.799,
+0.517,0.433,0.272,0.450,0.767,0.843,0.560,0.777,0.528,0.067,
+0.514,0.696,0.495,0.549,0.586,1.120,0.887,0.512,0.334,0.520,
+0.995,0.817,0.775,0.829,0.888,0.147,0.596,0.718,0.601,0.755,
+0.616,0.881,0.109,0.118,0.062,0.089,0.154,0.147,0.152,0.129,
+0.128,0.043,0.143,0.164,0.112,0.288,0.143,0.166,0.547,0.556,
+0.518,0.536,0.080,0.080,0.091,0.104,0.652,0.119,0.504,0.584,
+0.334,0.733,0.627,0.591,0.385,0.291,0.234,0.346,0.736,0.627,
+0.591,0.746,0.557,0.080,0.566,0.704,0.516,0.588,0.600,0.868,
+0.901,0.387,0.347,0.568,0.476,0.338,0.373,0.458,0.455,0.054,
+0.275,0.478,0.566,0.540,0.444,0.825,0.891,0.695,0.432,0.568,
+0.749,0.638,0.581,0.621,0.595,0.087,0.550,0.712,0.582,1.111,
+0.608,0.876,0.895,0.723,0.518,0.625,0.084,0.065,0.063,0.085,
+0.744,0.090,0.528,0.673,0.454,0.816,0.748,0.810,0.800,0.413,
+0.368,0.712,0.555,0.406,0.439,0.718,0.897,0.098,0.662,1.061,
+1.003,1.054,1.107,2.045,0.100,0.070,0.050,0.082,0.068,0.080,
+0.061,0.069,0.044,0.011,0.033,0.049,0.050,0.059,0.049,0.061,
+0.089,0.101,0.084,0.089,0.109,0.122,0.156,0.108,0.064,0.027,
+0.085,0.093,0.037,0.076,0.090,0.073,0.041,0.061,0.042,0.049,
+0.012,0.017,0.015,0.013,0.042,0.014,0.055,0.054,0.026,0.058,
+0.057,0.054,0.045,0.031,0.026,0.044,0.054,0.060,0.045,0.064,
+0.035,6.52e-3,0.032,0.049,0.037,0.040,0.050,0.091,0.090,0.093,
+0.049,0.079,0.104,0.116,0.103,0.118,0.055,0.017,0.046,0.053,
+0.036,0.063,0.042,0.049,0.125,0.218,0.086,0.074,0.133,0.124,
+0.156,0.101,0.127,0.071,0.122,0.134,0.048,0.129,0.084,0.081,
+0.050,0.108,0.075,0.062,0.019,0.047,0.041,0.027,0.145,0.070,
+0.151,0.177,0.094,0.140,0.109,0.091,0.037,0.040,0.026,0.032,
+0.064,0.096,0.060,0.070,0.046,0.013,0.058,0.061,0.036,0.045,
+0.050,0.085,0.069,0.058,0.038,0.040,0.102,0.129,0.130,0.093,
+0.072,0.024,0.078,0.070,0.034,0.078,0.070,0.069,0.014,0.029,
+0.017,0.014,0.032,0.060,0.072,0.030,0.028,0.041,0.060,0.038,
+8.94e-3,0.043,0.032,0.018,0.051,0.091,0.099,0.071,0.020,0.040,
+0.050,0.021,0.093,0.058,0.119,0.092,0.039,0.128,0.158,0.093,
+0.038,0.031,0.032,0.035,0.076,0.109,0.100,0.082,0.064,0.023,
+0.101,0.089,0.039,0.074,0.083,0.087,0.076,0.065,0.044,0.064,
+0.057,0.055,0.045,0.054,0.048,8.52e-3,0.033,0.050,0.052,0.060,
+0.064,0.090,0.115,0.129,0.089,0.093,0.156,0.174,0.162,0.141,
+0.099,0.031,0.112,0.119,0.082,0.215,0.132,0.141,0.060,0.086,
+0.075,0.072,0.010,0.023,0.016,0.015,0.091,0.039,0.104,0.113,
+0.052,0.131,0.147,0.111,0.066,0.043,0.042,0.064,0.059,0.062,
+0.055,0.084,0.084,0.014,0.082,0.143,0.085,0.103,0.125,0.229,
+0.853,0.876,0.623,0.891,0.754,0.675,0.551,0.616,0.537,0.074,
+0.439,0.624,0.413,0.409,0.346,0.558,1.140,1.251,0.639,0.810,
+1.201,1.094,1.152,0.945,1.102,0.195,1.159,2.587,0.465,0.939,
+0.579,0.881,0.711,1.033,0.566,0.653,0.122,0.177,0.139,0.168,
+0.729,0.126,0.817,0.958,0.387,0.858,0.633,0.722,0.599,0.462,
+0.276,0.536,0.669,0.682,0.514,0.647,0.658,0.093,0.647,0.904,
+0.505,0.561,0.642,1.123,0.088,0.100,0.082,0.077,0.121,0.170,
+0.130,0.117,0.070,0.024,0.077,0.075,0.040,0.077,0.062,0.067,
+0.120,0.181,0.087,0.078,0.213,0.251,0.237,0.169,0.136,0.079,
+0.224,0.225,0.053,0.134,0.087,0.086,0.076,0.184,0.107,0.074,
+0.026,0.075,0.078,0.037,0.130,0.076,0.239,0.190,0.054,0.165,
+0.147,0.115,0.068,0.060,0.039,0.064,0.117,0.167,0.119,0.123,
+0.080,0.026,0.131,0.134,0.058,0.077,0.089,0.125,1.289,0.889,
+0.670,0.397,1.187,1.347,1.195,0.973,0.947,0.224,1.353,0.999,
+0.451,0.803,0.834,0.846,0.126,0.209,0.113,0.090,0.153,0.267,
+0.231,0.122,0.173,0.114,0.350,0.222,0.066,0.218,0.156,0.123,
+0.849,1.012,0.772,0.503,0.144,0.160,0.195,0.112,0.623,0.138,
+0.228,0.319,0.296,0.579,0.659,0.545,0.455,0.386,0.348,0.289,
+0.729,0.917,0.811,0.662,0.719,0.150,1.239,1.006,0.394,0.615,
+0.886,0.919,0.735,0.473,0.364,0.479,0.518,0.466,0.330,0.376,
+0.500,0.063,0.475,0.533,0.352,0.367,0.354,0.549,1.104,1.134,
+0.835,0.710,1.147,1.274,1.046,0.863,1.062,0.203,1.362,1.248,
+0.555,1.141,0.906,0.898,0.685,0.914,0.681,0.639,0.090,0.165,
+0.112,0.108,0.873,0.159,1.378,1.114,0.501,1.075,0.991,0.910,
+0.585,0.452,0.359,0.563,0.635,0.685,0.558,0.632,0.832,0.109,
+1.218,1.208,0.738,0.897,0.976,1.233,1.041,0.624,0.423,0.814,
+0.600,0.453,0.387,0.474,0.478,0.064,0.414,0.504,0.487,0.519,
+0.475,0.718,0.835,0.638,0.358,0.510,0.629,0.434,0.485,0.463,
+0.453,0.052,0.452,0.804,0.281,0.400,0.331,0.504,0.589,0.546,
+0.310,0.473,0.059,0.060,0.064,0.083,0.414,0.052,0.355,0.546,
+0.306,0.457,0.371,0.558,0.620,0.367,0.277,0.540,0.508,0.408,
+0.345,0.514,0.425,0.039,0.323,0.527,0.500,0.422,0.464,1.008,
+1.163,0.958,0.587,0.961,1.058,1.008,0.802,0.802,0.624,0.104,
+0.597,0.691,0.489,0.690,0.429,0.757,1.286,1.287,0.673,0.736,
+1.320,1.271,1.276,0.978,0.883,0.150,0.996,1.245,0.459,0.852,
+0.582,0.787,0.715,1.087,0.607,0.653,0.093,0.162,0.128,0.136,
+0.891,0.168,1.032,1.305,0.513,1.122,0.878,0.948,0.610,0.521,
+0.341,0.552,0.971,0.983,0.798,0.986,0.614,0.089,0.783,0.980,
+0.544,0.681,0.677,1.100,1.191,0.879,0.531,0.667,1.113,1.082,
+0.938,0.923,1.209,0.198,0.935,1.023,0.674,0.947,0.888,1.123,
+0.105,0.125,0.062,0.088,0.133,0.199,0.169,0.134,0.112,0.045,
+0.175,0.160,0.072,0.181,0.144,0.135,0.860,1.219,0.655,0.720,
+0.101,0.142,0.127,0.136,1.165,0.222,0.858,1.085,0.524,1.155,
+1.042,0.949,0.626,0.523,0.404,0.521,0.966,0.972,0.991,1.059,
+0.825,0.127,1.097,1.358,0.592,0.812,1.072,1.305,1.054,0.598,
+0.451,0.703,0.651,0.518,0.455,0.476,0.645,0.081,0.470,0.613,
+0.809,0.587,0.541,0.926,1.001,0.833,0.536,0.693,0.892,0.872,
+0.789,0.758,0.713,0.114,0.806,0.940,0.582,0.847,0.783,0.952,
+0.935,1.089,0.772,0.940,0.095,0.108,0.097,0.121,1.018,0.124,
+1.142,1.430,0.660,1.060,1.084,1.130,1.047,0.615,0.596,1.109,
+1.054,0.889,1.179,1.270,1.062,0.106,1.305,1.634,1.148,1.138,
+1.323,1.799,1.798,0.816,0.779,1.560,0.756,0.498,0.441,0.697,
+0.668,0.068,0.365,0.613,0.954,0.790,0.549,1.047,0.930,0.526,
+0.386,0.632,0.553,0.362,0.364,0.452,0.479,0.044,0.373,0.435,
+0.431,0.454,0.446,0.549,0.566,0.469,0.405,0.664,0.053,0.053,
+0.040,0.098,0.386,0.034,0.274,0.397,0.335,0.440,0.438,0.612,
+0.842,0.423,0.427,0.982,0.619,0.489,0.398,0.657,0.526,0.044,
+0.357,0.594,0.698,0.556,0.640,1.414,1.211,0.749,0.552,0.841,
+0.695,0.494,0.392,0.524,0.470,0.054,0.290,0.443,0.480,0.490,
+0.349,0.679,0.799,0.592,0.368,0.496,0.543,0.384,0.375,0.412,
+0.537,0.053,0.360,0.557,0.364,0.454,0.365,0.510,0.462,0.459,
+0.416,0.462,0.043,0.053,0.038,0.056,0.447,0.042,0.302,0.441,
+0.518,0.471,0.504,0.551,0.477,0.360,0.246,0.430,0.499,0.512,
+0.297,0.469,0.396,0.032,0.325,0.515,0.442,0.425,0.466,0.997,
+1.066,0.545,0.349,0.590,0.760,0.533,0.494,0.649,0.663,0.086,
+0.336,0.559,0.675,0.608,0.457,0.906,0.083,0.059,0.037,0.067,
+0.070,0.058,0.055,0.073,0.067,0.011,0.045,0.070,0.088,0.139,
+0.068,0.107,0.526,0.442,0.436,0.551,0.050,0.043,0.042,0.064,
+0.481,0.055,0.283,0.445,0.429,0.579,0.525,0.664,0.566,0.305,
+0.300,0.512,0.610,0.443,0.391,0.614,0.522,0.051,0.371,0.647,
+0.544,0.564,0.632,1.151,1.303,0.491,0.393,0.904,0.558,0.356,
+0.357,0.559,0.586,0.057,0.338,0.519,0.929,0.648,0.548,1.108,
+0.878,0.542,0.398,0.640,0.567,0.427,0.451,0.570,0.536,0.051,
+0.392,0.552,0.706,0.917,0.587,0.826,0.652,0.508,0.425,0.727,
+0.052,0.041,0.035,0.073,0.511,0.043,0.319,0.554,0.562,0.584,
+0.622,0.862,0.935,0.524,0.429,0.955,0.620,0.388,0.405,0.762,
+1.121,0.074,0.543,1.019,1.117,0.943,1.289,2.456,1.936,1.093,
+0.835,1.595,1.001,0.847,0.671,0.897,0.676,0.090,0.424,0.705,
+0.830,0.930,0.648,1.170,1.405,1.027,0.697,1.034,0.996,0.793,
+0.872,0.843,0.782,0.106,0.732,0.903,0.510,0.750,0.724,0.858,
+0.662,0.657,0.577,0.741,0.064,0.084,0.068,0.103,0.554,0.070,
+0.530,0.653,0.398,0.686,0.829,0.981,0.781,0.446,0.395,0.781,
+0.758,0.731,0.499,0.810,0.523,0.059,0.388,0.621,0.612,0.618,
+0.768,1.411,1.464,1.124,0.803,1.045,1.104,1.057,0.724,1.047,
+0.637,0.096,0.393,0.607,0.576,0.782,0.517,0.892,1.338,1.170,
+0.639,0.816,1.111,0.751,0.839,0.898,1.269,0.230,0.743,1.060,
+0.581,1.090,0.675,0.898,0.634,0.834,0.743,0.801,0.090,0.115,
+0.085,0.110,0.979,0.146,0.715,0.932,0.742,1.084,0.983,1.303,
+0.524,0.467,0.330,0.503,0.821,0.801,0.471,0.675,0.511,0.064,
+0.518,0.756,0.484,0.544,0.645,1.189,1.214,0.810,0.493,0.667,
+1.175,1.060,1.062,0.980,0.817,0.142,0.545,0.695,0.637,0.858,
+0.675,1.104,0.094,0.115,0.063,0.085,0.121,0.172,0.166,0.120,
+0.089,0.045,0.116,0.114,0.086,0.226,0.129,0.136,0.626,0.758,
+0.717,0.790,0.086,0.119,0.119,0.112,0.797,0.154,0.680,0.877,
+0.523,1.110,1.107,1.205,0.590,0.413,0.373,0.587,0.869,0.986,
+0.882,1.005,0.798,0.093,0.754,1.032,0.614,0.742,1.006,1.538,
+1.233,0.687,0.530,1.097,0.685,0.554,0.526,0.848,0.639,0.070,
+0.429,0.671,0.746,0.706,0.656,1.223,1.265,1.080,0.751,1.019,
+1.034,1.103,1.120,1.181,0.914,0.140,0.915,1.202,0.974,2.045,
+1.308,1.492,0.632,0.706,0.748,0.956,0.072,0.098,0.094,0.113,
+0.779,0.121,0.807,1.059,0.688,1.517,1.542,1.695,0.817,0.583,
+0.533,0.864,0.800,0.773,0.610,1.017,1.260,0.102,0.787,1.356,
+1.233,1.106,1.565,2.805,6.217,1.218,2.014,1.483,0.973,0.679,
+0.608,0.772,0.818,0.073,0.495,0.715,0.848,0.622,0.636,0.960,
+1.680,1.304,0.704,1.130,1.245,1.049,0.879,1.110,1.021,0.140,
+1.286,1.536,0.707,0.992,0.855,1.312,0.905,1.036,0.726,0.908,
+0.145,0.133,0.133,0.168,0.854,0.127,0.724,0.892,0.967,1.371,
+1.866,1.205,0.916,0.577,0.434,0.801,0.894,0.743,0.606,0.827,
+0.788,0.093,0.681,1.198,0.918,0.835,1.173,1.919,0.272,0.119,
+0.973,0.204,0.089,0.102,0.127,0.093,0.063,0.013,0.104,0.087,
+0.080,0.099,0.322,0.124,0.129,0.131,0.085,0.088,0.148,0.207,
+0.143,0.167,0.129,0.043,0.205,0.246,0.070,0.142,0.125,0.128,
+0.058,0.105,0.109,0.071,0.020,0.033,0.032,0.019,0.130,0.041,
+0.154,0.138,0.173,0.318,0.731,0.219,0.073,0.063,0.054,0.071,
+0.111,0.140,0.090,0.119,0.083,0.019,0.087,0.135,0.087,0.111,
+0.176,0.176,1.845,0.964,0.848,0.764,1.310,1.306,1.184,0.963,
+1.037,0.205,0.926,1.030,0.748,1.002,1.029,1.233,0.122,0.147,
+0.073,0.080,0.127,0.175,0.126,0.093,0.128,0.053,0.192,0.148,
+0.098,0.212,0.161,0.147,1.219,1.494,0.888,0.916,0.198,0.244,
+0.175,0.146,1.279,0.233,0.612,0.949,0.761,1.363,1.394,1.141,
+0.842,0.624,0.524,0.653,1.298,1.374,1.084,1.065,1.075,0.170,
+1.284,1.567,0.858,1.071,1.254,1.761,1.839,0.827,0.630,0.926,
+0.769,0.671,0.486,0.610,1.556,0.127,0.827,1.665,0.866,0.789,
+0.749,1.313,1.511,1.356,0.859,1.058,1.167,1.276,0.927,0.941,
+1.286,0.176,1.591,1.704,0.957,1.704,1.539,1.610,0.988,1.127,
+0.870,1.026,0.105,0.150,0.122,0.132,1.259,0.151,1.305,1.482,
+0.906,1.721,2.369,1.718,1.280,0.655,0.617,0.905,1.008,0.872,
+0.766,0.969,1.522,0.136,1.454,1.845,1.320,1.382,1.720,2.326,
+2.217,0.942,0.750,1.302,0.811,0.506,0.435,0.670,0.712,0.072,
+0.420,0.755,0.842,0.664,0.563,1.288,1.109,0.725,0.396,0.719,
+0.681,0.490,0.413,0.572,0.613,0.054,0.478,0.703,0.468,0.483,
+0.678,0.881,0.792,0.721,0.470,1.011,0.086,0.084,0.058,0.151,
+0.579,0.062,0.395,0.642,0.594,0.719,0.760,0.898,0.971,0.527,
+0.425,0.973,0.701,0.504,0.431,0.776,0.630,0.052,0.459,0.918,
+0.919,0.698,0.997,2.304,1.473,0.945,1.774,1.140,0.817,0.680,
+0.583,0.690,0.581,0.069,0.466,0.734,0.668,0.697,0.624,1.105,
+1.150,0.904,0.515,0.697,0.998,0.908,0.708,0.806,0.875,0.099,
+0.725,1.147,0.611,0.822,0.576,0.936,0.676,0.742,0.514,0.721,
+0.057,0.084,0.062,0.084,0.775,0.100,0.672,0.963,0.978,1.202,
+1.650,1.347,0.672,0.498,0.381,0.658,0.775,0.686,0.574,0.803,
+0.661,0.063,0.561,0.992,0.749,0.649,1.090,1.689,1.725,1.154,
+0.725,0.966,1.339,1.129,0.880,1.132,1.289,0.177,0.720,1.114,
+1.053,1.123,1.083,1.871,0.115,0.115,0.058,0.100,0.108,0.118,
+0.094,0.109,0.094,0.021,0.090,0.131,0.111,0.168,0.120,0.185,
+1.265,1.326,0.954,1.144,0.109,0.133,0.104,0.147,1.347,0.171,
+0.943,1.452,0.973,1.495,1.486,1.862,1.148,0.813,0.670,1.069,
+1.344,1.182,1.165,1.503,1.403,0.143,1.243,2.135,1.123,1.237,
+1.378,2.739,2.266,0.996,0.714,1.570,0.932,0.776,0.543,0.834,
+1.120,0.106,0.603,1.080,1.541,1.152,1.089,2.413,1.652,1.187,
+0.744,1.240,1.210,1.062,0.831,1.076,1.333,0.111,1.017,1.666,
+1.188,1.375,1.225,1.928,1.430,1.277,0.999,1.554,0.099,0.107,
+0.077,0.147,1.491,0.130,1.281,1.915,1.330,1.907,1.900,2.393,
+2.309,0.994,0.900,2.111,1.575,1.188,1.208,1.904,2.152,0.140,
+1.612,2.612,2.377,1.918,2.213,3.788,4.397,1.984,1.691,3.524,
+1.736,1.040,0.942,1.411,1.768,0.177,0.768,1.372,2.879,2.561,
+1.217,2.606,1.845,0.983,0.721,1.128,1.108,0.624,0.595,0.685,
+0.986,0.083,0.499,0.707,0.903,0.867,0.678,1.011,1.347,0.904,
+0.747,1.512,0.118,0.083,0.070,0.168,0.795,0.062,0.369,0.718,
+0.814,0.797,0.634,1.074,2.766,1.035,0.959,2.385,1.923,0.995,
+0.903,1.590,1.075,0.083,0.608,1.128,1.753,1.108,1.070,2.689,
+2.042,0.977,0.809,1.320,1.085,0.750,0.610,0.834,0.769,0.092,
+0.370,0.735,0.876,1.006,0.442,1.021,1.178,0.709,0.470,0.765,
+0.716,0.429,0.429,0.458,0.628,0.052,0.324,0.542,0.521,0.538,
+0.356,0.617,0.887,0.641,0.471,0.759,0.074,0.055,0.044,0.070,
+0.618,0.044,0.320,0.522,0.460,0.523,0.353,0.612,1.328,0.623,
+0.520,0.964,1.262,0.663,0.571,0.889,0.765,0.058,0.446,0.681,
+0.695,0.640,0.607,1.344,1.347,0.718,0.577,1.103,0.901,0.577,
+0.558,0.874,0.860,0.108,0.402,0.768,1.010,0.836,0.754,1.689,
+0.102,0.074,0.049,0.089,0.075,0.069,0.051,0.072,0.072,0.011,
+0.047,0.080,0.114,0.133,0.075,0.160,0.625,0.539,0.414,0.618,
+0.051,0.041,0.038,0.068,0.411,0.040,0.244,0.397,0.399,0.468,
+0.412,0.627,0.763,0.479,0.434,0.912,0.823,0.547,0.504,0.859,
+0.685,0.066,0.442,0.788,0.673,0.688,0.667,1.511,2.119,0.883,
+0.826,1.912,0.865,0.522,0.539,0.845,0.985,0.105,0.448,0.926,
+1.550,1.052,0.943,2.406,1.369,0.882,0.614,0.997,0.880,0.707,
+0.514,0.683,0.748,0.063,0.465,0.856,0.948,0.916,0.682,1.333,
+0.789,0.643,0.560,0.858,0.069,0.052,0.042,0.074,0.577,0.046,
+0.384,0.573,0.654,0.727,0.722,1.012,1.622,0.869,0.793,1.632,
+0.906,0.604,0.615,0.987,1.201,0.086,0.773,1.318,1.780,1.438,
+1.516,4.047,2.233,1.235,0.888,1.825,1.037,0.746,0.627,0.829,
+0.806,0.075,0.366,0.748,1.004,1.005,0.614,1.345,1.277,0.761,
+0.610,0.814,0.757,0.471,0.498,0.580,0.601,0.052,0.381,0.566,
+0.490,0.541,0.429,0.710,0.629,0.532,0.395,0.637,0.061,0.055,
+0.037,0.082,0.356,0.037,0.245,0.388,0.369,0.468,0.364,0.603,
+0.864,0.462,0.405,0.830,0.714,0.494,0.410,0.665,0.497,0.040,
+0.287,0.500,0.633,0.494,0.530,1.292,1.405,1.007,0.562,0.878,
+0.815,0.720,0.442,0.609,0.532,0.062,0.276,0.604,0.529,0.640,
+0.329,0.929,0.851,0.743,0.367,0.514,0.570,0.308,0.364,0.420,
+0.434,0.046,0.302,0.512,0.357,0.508,0.329,0.605,0.620,0.618,
+0.369,0.536,0.058,0.049,0.035,0.055,0.441,0.058,0.232,0.375,
+0.361,0.553,0.323,0.525,0.644,0.441,0.342,0.618,0.593,0.483,
+0.377,0.536,0.499,0.038,0.302,0.482,0.530,0.511,0.387,0.912,
+0.940,0.585,0.379,0.694,0.679,0.551,0.452,0.592,0.553,0.064,
+0.309,0.503,0.593,0.565,0.461,0.929,0.054,0.070,0.035,0.065,
+0.048,0.064,0.044,0.055,0.046,0.012,0.044,0.064,0.056,0.080,
+0.052,0.086,0.577,1.052,0.501,0.594,0.075,0.141,0.035,0.056,
+0.330,0.046,0.218,0.338,0.301,0.480,0.359,0.482,0.518,0.423,
+0.320,0.721,0.579,0.697,0.424,0.802,0.482,0.045,0.345,0.652,
+0.429,0.473,0.464,0.944,0.902,0.504,0.385,0.738,0.507,0.332,
+0.299,0.409,0.426,0.037,0.225,0.409,0.637,0.447,0.374,0.966,
+0.739,0.558,0.416,0.640,0.523,0.488,0.415,0.527,0.397,0.034,
+0.331,0.538,0.522,0.564,0.430,0.820,0.471,0.423,0.379,0.565,
+0.036,0.043,0.025,0.048,0.377,0.036,0.243,0.413,0.408,0.544,
+0.399,0.645,0.690,0.405,0.547,0.821,0.542,0.421,0.369,0.602,
+0.647,0.051,0.448,0.766,0.789,0.893,0.819,1.709,1.718,1.129,
+0.740,1.378,0.731,0.559,0.404,0.621,0.707,0.074,0.316,0.636,
+0.848,0.825,0.473,1.084,1.444,0.989,0.519,0.921,0.823,0.579,
+0.717,0.711,1.032,0.089,0.456,0.840,0.796,1.114,0.513,1.000,
+0.861,1.048,0.504,0.854,0.091,0.107,0.058,0.131,0.436,0.052,
+0.229,0.382,0.440,0.657,0.352,0.640,1.302,0.939,0.577,1.319,
+1.007,0.919,0.579,0.970,0.703,0.067,0.394,0.718,0.987,0.725,
+0.735,1.958,0.110,0.096,0.053,0.098,0.086,0.076,0.043,0.068,
+0.058,0.012,0.032,0.056,0.075,0.095,0.042,0.107,0.109,0.105,
+0.047,0.072,0.088,0.074,0.055,0.066,0.100,0.014,0.048,0.078,
+0.076,0.122,0.048,0.105,0.068,0.102,0.050,0.076,8.02e-3,0.010,
+7.69e-3,0.010,0.058,9.19e-3,0.033,0.048,0.053,0.078,0.042,0.077,
+0.152,0.116,0.065,0.159,0.159,0.144,0.087,0.150,0.076,9.61e-3,
+0.053,0.096,0.122,0.105,0.082,0.216,1.010,0.596,0.385,0.545,
+0.809,0.627,0.432,0.529,0.645,0.108,0.438,0.612,0.667,0.734,
+0.506,0.936,0.082,0.077,0.037,0.057,0.059,0.066,0.046,0.050,
+0.066,0.015,0.054,0.066,0.087,0.112,0.060,0.090,0.578,0.969,
+0.414,0.479,0.062,0.071,0.051,0.056,0.409,0.058,0.220,0.313,
+0.371,0.511,0.366,0.488,0.648,0.469,0.383,0.561,0.659,0.653,
+0.490,0.688,0.548,0.070,0.556,0.733,0.607,0.592,0.600,1.088,
+1.015,0.587,0.387,0.791,0.572,0.394,0.282,0.417,0.583,0.066,
+0.305,0.606,0.893,0.672,0.450,1.243,1.087,0.812,0.462,0.821,
+0.694,0.623,0.443,0.597,0.728,0.066,0.485,0.761,0.967,0.906,
+0.569,1.119,0.721,0.815,0.418,0.718,0.058,0.101,0.039,0.068,
+0.542,0.055,0.360,0.549,0.557,0.726,0.532,0.860,1.307,0.663,
+0.557,0.948,0.762,0.718,0.525,0.762,0.909,0.079,0.784,1.093,
+1.179,0.981,0.999,2.021,2.551,1.240,0.911,1.918,0.921,0.570,
+0.475,0.664,0.926,0.070,0.385,0.733,1.373,0.905,0.712,1.796,
+1.164,0.574,0.397,0.776,0.648,0.361,0.360,0.532,0.933,0.048,
+0.340,0.603,0.671,0.525,0.426,0.863,0.922,0.727,0.471,1.011,
+0.074,0.062,0.047,0.111,0.533,0.046,0.270,0.515,0.571,0.595,
+0.411,0.884,1.755,0.873,0.810,2.211,0.968,0.641,0.630,1.154,
+0.815,0.059,0.540,0.948,1.334,0.846,0.940,2.665,1.448,0.857,
+0.540,1.026,0.820,0.610,0.386,0.579,0.670,0.061,0.297,0.555,
+0.686,0.707,0.423,1.036,0.878,0.671,0.337,0.533,0.653,0.471,
+0.347,0.478,0.687,0.049,0.307,0.527,0.525,0.578,0.322,0.696,
+0.773,0.708,0.352,0.692,0.053,0.054,0.032,0.067,0.543,0.041,
+0.274,0.501,0.570,0.634,0.374,0.766,1.120,0.610,0.459,1.057,
+0.961,0.677,0.533,1.003,0.645,0.050,0.456,0.796,0.963,0.771,
+0.692,1.663,1.172,0.625,0.450,0.813,0.855,0.561,0.497,0.765,
+0.814,0.089,0.461,0.753,0.712,0.657,0.637,1.262,0.077,0.056,
+0.037,0.073,0.054,0.048,0.039,0.056,0.061,8.86e-3,0.044,0.070,
+0.073,0.087,0.070,0.111,0.665,0.682,0.410,0.659,0.047,0.047,
+0.048,0.064,0.644,0.050,0.341,0.503,0.499,0.567,0.506,0.761,
+0.849,0.508,0.517,0.987,0.872,0.642,0.628,1.046,0.936,0.076,
+0.659,1.078,0.848,0.792,0.934,1.802,2.080,0.954,0.812,1.780,
+0.903,0.606,0.510,0.809,1.036,0.090,0.552,1.059,1.517,1.030,
+0.992,3.015,1.195,0.763,0.528,1.126,0.712,0.542,0.502,0.900,
+0.777,0.063,0.546,0.962,1.009,0.947,0.717,1.839,1.179,1.016,
+0.679,1.323,0.077,0.075,0.047,0.113,0.915,0.064,0.589,0.975,
+1.064,1.093,0.936,1.570,2.605,1.171,1.135,2.727,1.547,1.152,
+1.064,1.923,1.972,0.117,1.433,2.658,3.436,2.359,2.558,5.153,
+2.392,1.533,1.257,2.333,1.485,0.893,0.840,1.093,1.051,0.122,
+0.663,1.038,1.609,1.569,1.050,1.870,1.522,1.032,0.718,1.075,
+1.061,0.662,0.627,0.703,0.768,0.092,0.674,0.770,0.701,0.813,
+0.808,0.984,1.001,0.707,0.567,1.032,0.095,0.068,0.057,0.123,
+0.754,0.056,0.377,0.537,0.712,0.699,0.616,0.872,1.642,1.008,
+0.597,1.396,1.596,0.911,0.670,0.988,0.810,0.073,0.566,0.909,
+1.222,1.127,0.953,2.179,1.811,1.158,0.840,1.204,1.064,0.803,
+0.539,0.744,0.777,0.134,0.464,0.725,0.763,0.933,0.509,1.091,
+1.219,0.856,0.548,0.850,0.879,0.693,0.531,0.652,0.839,0.122,
+0.512,1.101,0.553,0.728,0.480,0.808,0.688,0.673,0.569,0.954,
+0.063,0.076,0.054,0.090,0.591,0.076,0.442,0.587,0.411,0.668,
+0.468,0.716,0.788,0.641,0.386,0.728,0.871,0.658,0.495,0.765,
+0.636,0.060,0.427,0.669,0.605,0.756,0.653,1.371,1.029,0.604,
+0.395,0.710,0.872,0.551,0.500,0.755,0.693,0.086,0.374,0.591,
+0.682,0.629,0.559,1.174,0.076,0.073,0.037,0.074,0.076,0.079,
+0.058,0.077,0.060,0.010,0.055,0.080,0.071,0.102,0.071,0.127,
+0.527,0.642,0.374,0.528,0.057,0.056,0.039,0.073,0.389,0.045,
+0.257,0.445,0.330,0.461,0.439,0.660,0.533,0.360,0.305,0.620,
+0.759,0.548,0.452,0.736,0.592,0.053,0.428,0.707,0.581,0.596,
+0.667,1.381,1.232,0.581,0.442,0.982,0.660,0.457,0.367,0.633,
+0.599,0.078,0.318,0.555,0.815,0.699,0.516,1.324,1.111,0.765,
+0.506,0.811,0.996,0.830,0.533,0.710,0.610,0.065,0.436,0.775,
+0.638,0.768,0.562,1.103,0.540,0.503,0.416,0.632,0.059,0.043,
+0.050,0.070,0.442,0.047,0.297,0.503,0.435,0.606,0.539,0.917,
+0.909,0.509,0.480,0.990,0.798,0.544,0.450,0.818,0.792,0.065,
+0.794,1.132,1.150,1.103,1.166,2.865,1.946,1.251,0.964,1.485,
+1.197,0.948,0.672,0.898,0.701,0.080,0.412,0.679,0.816,0.870,
+0.649,1.235,1.405,1.060,0.826,0.870,1.176,0.854,0.753,0.909,
+0.638,0.088,0.560,0.683,0.534,1.011,0.569,0.827,0.640,0.621,
+0.426,0.648,0.063,0.068,0.054,0.087,0.378,0.045,0.273,0.345,
+0.343,0.468,0.394,0.644,0.737,0.420,0.357,0.761,0.744,0.647,
+0.463,0.660,0.538,0.048,0.334,0.493,0.656,0.524,0.620,1.326,
+1.430,1.238,0.639,0.869,1.118,1.315,0.565,0.755,0.591,0.077,
+0.387,0.715,0.529,0.699,0.394,1.314,1.299,1.296,0.747,0.730,
+1.311,0.945,0.752,0.971,0.700,0.138,0.512,0.719,0.502,0.945,
+0.500,0.775,0.615,0.803,0.476,0.697,0.080,0.120,0.086,0.136,
+0.511,0.100,0.368,0.538,0.324,0.696,0.451,0.647,0.621,0.526,
+0.368,0.534,0.701,0.867,0.517,0.697,0.563,0.060,0.357,0.594,
+0.496,0.591,0.483,1.125,1.133,0.802,0.407,0.658,0.934,0.965,
+0.616,0.688,0.629,0.094,0.405,0.543,0.630,0.691,0.566,0.997,
+0.075,0.132,0.048,0.077,0.084,0.171,0.096,0.082,0.072,0.030,
+0.074,0.077,0.057,0.133,0.075,0.095,0.754,1.865,0.580,0.781,
+0.084,0.204,0.091,0.099,0.456,0.083,0.385,0.522,0.335,0.709,
+0.675,0.689,0.549,0.480,0.355,0.638,0.783,0.944,0.735,0.931,
+0.649,0.063,0.529,0.731,0.574,0.583,0.822,1.191,0.885,0.555,
+0.381,0.672,0.630,0.555,0.334,0.456,0.437,0.045,0.286,0.395,
+0.579,0.487,0.418,0.870,0.878,0.932,0.544,0.739,0.842,1.130,
+0.657,0.832,0.618,0.078,0.501,0.687,0.563,0.824,0.561,0.860,
+0.609,0.889,0.459,0.594,0.045,0.071,0.041,0.059,0.381,0.045,
+0.346,0.462,0.383,0.616,0.690,0.853,0.740,0.476,0.424,0.710,
+0.739,0.820,0.458,0.755,0.666,0.061,0.698,0.843,0.929,0.970,
+1.011,1.840,1.325,0.941,0.597,1.176,0.696,0.542,0.387,0.570,
+0.582,0.068,0.297,0.507,0.682,0.859,0.465,0.913,1.123,0.992,
+0.503,0.753,0.874,0.771,0.526,0.604,0.784,0.207,0.534,0.702,
+0.776,2.882,0.562,0.888,0.784,0.797,0.435,0.646,0.076,0.079,
+0.069,0.121,0.426,0.054,0.264,0.359,0.338,0.617,0.351,0.526,
+0.746,0.526,0.353,0.835,0.666,0.563,0.487,0.795,0.544,0.060,
+0.402,0.660,0.717,0.725,0.656,1.611,0.072,0.073,0.037,0.061,
+0.052,0.075,0.038,0.053,0.043,9.44e-3,0.027,0.042,0.047,0.082,
+0.054,0.083,0.070,0.089,0.036,0.047,0.104,0.186,0.069,0.077,
+0.067,0.034,0.059,0.071,0.061,0.293,0.048,0.077,0.049,0.095,
+0.046,0.054,0.011,0.019,0.020,0.015,0.059,0.018,0.039,0.047,
+0.033,0.075,0.055,0.054,0.063,0.060,0.034,0.069,0.097,0.093,
+0.074,0.115,0.050,0.010,0.044,0.080,0.060,0.074,0.065,0.141,
+0.977,0.819,0.417,0.556,0.855,1.138,0.537,0.633,0.720,0.128,
+0.446,0.626,0.607,0.883,0.597,0.978,0.081,0.129,0.043,0.058,
+0.067,0.127,0.077,0.062,0.076,0.024,0.079,0.095,0.072,0.195,
+0.075,0.107,0.837,2.810,0.525,0.640,0.075,0.170,0.076,0.083,
+0.556,0.109,0.307,0.458,0.356,0.742,0.484,0.611,0.613,0.765,
+0.396,0.555,0.717,0.875,0.601,0.972,0.699,0.097,0.635,0.891,
+0.569,0.717,0.741,1.319,0.947,0.668,0.372,0.755,0.517,0.497,
+0.277,0.428,0.582,0.068,0.312,0.579,0.823,0.780,0.418,1.144,
+1.131,1.002,0.514,0.757,0.916,1.095,0.655,0.767,1.063,0.121,
+0.694,1.120,0.831,1.283,0.716,1.457,0.770,1.090,0.531,0.732,
+0.051,0.082,0.048,0.078,0.675,0.077,0.476,0.680,0.568,0.953,
+0.621,0.945,0.993,0.607,0.467,0.974,0.730,0.623,0.483,0.802,
+0.927,0.083,0.965,1.305,1.224,1.167,1.172,2.134,1.520,0.876,
+0.629,1.262,0.856,0.551,0.427,0.671,0.749,0.067,0.324,0.590,
+0.907,0.750,0.520,1.162,0.960,0.654,0.359,0.719,0.696,0.466,
+0.350,0.579,0.722,0.069,0.339,0.553,0.529,0.695,0.363,0.790,
+0.828,0.678,0.444,0.844,0.060,0.051,0.040,0.103,0.511,0.043,
+0.271,0.446,0.481,0.482,0.343,0.703,1.043,0.580,0.500,1.207,
+0.694,0.511,0.455,1.009,0.636,0.051,0.412,0.821,1.014,0.659,
+0.746,2.031,1.258,0.934,0.519,0.975,0.947,0.940,0.547,0.627,
+0.731,0.075,0.383,0.613,0.729,0.828,0.487,1.020,0.924,0.841,
+0.343,0.550,0.986,1.075,0.449,0.700,0.696,0.107,0.437,0.708,
+0.581,1.006,0.430,0.888,0.790,0.745,0.452,0.616,0.071,0.084,
+0.063,0.095,0.583,0.069,0.359,0.583,0.547,0.717,0.425,0.749,
+0.786,0.538,0.389,0.839,0.936,0.801,0.627,1.354,0.637,0.056,
+0.524,1.010,0.797,0.795,0.723,1.792,0.960,0.577,0.414,0.641,
+0.807,0.721,0.528,0.746,0.882,0.108,0.508,0.780,0.727,0.798,
+0.661,1.307,0.067,0.063,0.031,0.059,0.051,0.086,0.051,0.060,
+0.056,0.012,0.056,0.068,0.069,0.104,0.073,0.168,0.613,0.977,
+0.416,0.617,0.047,0.067,0.044,0.078,0.719,0.093,0.415,0.602,
+0.454,0.717,0.557,0.809,0.620,0.479,0.414,0.733,0.720,0.672,
+0.610,1.141,0.791,0.081,0.618,1.125,0.813,0.766,0.982,1.726,
+1.517,0.740,0.577,1.103,0.728,0.577,0.423,0.618,0.816,0.097,
+0.445,0.820,1.047,0.825,0.596,1.853,1.229,0.902,0.487,0.890,
+0.839,0.757,0.571,0.851,0.852,0.073,0.565,1.173,0.823,0.923,
+0.621,4.971,1.036,0.904,0.576,1.078,0.069,0.067,0.049,0.119,
+0.791,0.071,0.709,0.913,0.768,0.971,0.851,1.363,1.965,0.824,
+0.802,1.851,1.223,0.955,0.864,1.827,1.383,0.108,1.444,2.097,
+2.444,2.198,2.087,4.124,1.706,1.129,1.042,1.833,1.284,0.858,
+0.758,1.098,1.027,0.169,0.660,0.911,1.422,1.283,1.311,1.608,
+1.285,0.983,1.605,1.060,0.961,0.803,0.857,0.875,1.200,0.534,
+0.649,0.687,0.695,1.250,0.889,1.028,0.976,0.694,0.544,1.211,
+0.079,0.060,0.054,0.133,0.665,0.064,0.366,0.586,0.498,0.599,
+0.700,0.916,1.344,0.556,0.488,1.123,0.853,0.562,0.513,0.860,
+0.627,0.068,0.390,0.715,0.880,0.594,0.867,1.568,1.849,1.062,
+0.644,1.169,1.470,0.924,0.717,0.877,0.708,0.095,0.436,0.650,
+0.785,0.847,0.591,1.135,1.245,0.982,0.565,0.748,1.084,0.710,
+0.652,0.763,0.769,0.116,0.620,0.848,0.551,0.735,0.565,0.830,
+0.937,0.859,0.567,0.905,0.099,0.104,0.076,0.122,0.863,0.094,
+0.555,0.851,0.592,0.875,0.766,0.933,0.998,0.648,0.451,0.800,
+1.092,1.051,0.629,1.041,0.727,0.072,0.529,0.857,0.780,0.708,
+0.867,1.630,1.239,0.636,0.499,0.994,1.262,0.844,0.935,1.026,
+1.089,0.148,0.661,0.774,0.904,0.913,0.751,1.340,0.120,0.104,
+0.087,0.104,0.138,0.110,0.127,0.131,0.120,0.030,0.268,0.145,
+0.125,0.218,0.147,0.188,0.746,0.631,0.510,0.722,0.084,0.063,
+0.097,0.115,0.604,0.075,0.363,0.532,0.441,0.722,0.584,0.794,
+0.674,0.399,0.400,0.683,1.124,0.752,1.179,1.207,0.839,0.093,
+0.546,0.990,0.811,0.721,0.751,1.405,1.371,0.628,0.541,1.162,
+0.848,0.482,0.669,0.786,0.715,0.082,0.398,0.640,1.020,0.849,
+0.752,1.444,1.155,0.807,0.556,0.816,1.043,0.662,0.670,0.799,
+0.748,0.086,0.774,0.837,0.854,1.009,0.921,1.190,1.006,0.938,
+0.641,0.942,0.094,0.071,0.076,0.113,1.018,0.097,0.524,0.800,
+0.709,0.993,0.953,1.276,1.284,0.695,0.640,1.346,0.988,0.613,
+0.907,1.251,1.681,0.119,0.930,1.530,1.740,1.495,1.629,3.243,
+0.103,0.078,0.123,0.101,0.087,0.072,0.068,0.084,0.067,0.013,
+0.064,0.082,0.064,0.081,0.091,0.103,0.143,0.119,0.832,0.181,
+0.103,0.095,0.224,0.118,0.075,0.028,0.084,0.102,0.047,0.089,
+0.098,0.098,0.054,0.056,0.067,0.066,9.19e-3,8.86e-3,9.28e-3,0.012,
+0.044,7.27e-3,0.032,0.051,0.029,0.046,0.046,0.073,0.074,0.045,
+0.048,0.074,0.071,0.059,0.051,0.073,0.048,7.10e-3,0.037,0.071,
+0.064,0.049,0.077,0.133,0.098,0.080,0.043,0.067,0.089,0.093,
+0.056,0.071,0.045,0.012,0.031,0.048,0.042,0.068,0.037,0.080,
+0.098,0.117,0.075,0.061,0.113,0.105,0.099,0.098,0.063,0.022,
+0.063,0.081,0.045,0.085,0.061,0.075,0.063,0.080,0.050,0.065,
+0.011,0.018,0.018,0.014,0.077,0.026,0.060,0.078,0.047,0.093,
+0.075,0.079,0.066,0.053,0.033,0.059,0.079,0.102,0.060,0.083,
+0.054,8.36e-3,0.053,0.066,0.053,0.058,0.068,0.143,0.075,0.043,
+0.038,0.054,0.081,0.072,0.069,0.070,0.064,0.011,0.057,0.053,
+0.050,0.063,0.052,0.086,0.010,0.011,0.019,8.10e-3,0.018,0.027,
+0.026,0.017,0.012,0.012,0.038,0.024,6.94e-3,0.020,0.016,0.016,
+0.058,0.085,0.051,0.072,0.013,0.019,0.022,0.015,0.052,0.017,
+0.051,0.061,0.037,0.075,0.069,0.078,0.049,0.039,0.032,0.053,
+0.089,0.088,0.097,0.094,0.067,0.013,0.061,0.093,0.056,0.074,
+0.074,0.125,0.095,0.066,0.054,0.099,0.072,0.052,0.054,0.069,
+0.056,7.85e-3,0.037,0.050,0.075,0.075,0.069,0.140,0.110,0.088,
+0.084,0.100,0.122,0.109,0.101,0.155,0.082,0.017,0.100,0.098,
+0.087,0.149,0.117,0.147,0.065,0.078,0.052,0.076,9.94e-3,0.012,
+8.61e-3,0.014,0.064,0.010,0.056,0.077,0.055,0.090,0.088,0.113,
+0.090,0.066,0.068,0.112,0.091,0.081,0.071,0.118,0.119,0.019,
+0.108,0.149,0.120,0.180,0.146,0.319,1.401,1.031,0.711,1.150,
+0.951,0.677,0.555,0.815,0.688,0.080,0.464,0.639,0.677,0.583,
+0.467,0.914,1.421,1.043,0.792,0.888,1.328,0.935,1.103,0.934,
+0.913,0.143,0.865,1.139,0.559,0.863,0.615,1.149,0.783,0.972,
+0.523,1.037,0.121,0.136,0.099,0.221,0.674,0.095,0.529,0.734,
+0.429,0.855,0.549,0.844,0.802,0.547,0.386,1.064,0.900,0.734,
+0.575,1.022,0.797,0.093,0.680,0.938,0.793,1.026,0.897,1.788,
+0.088,0.086,0.040,0.072,0.097,0.107,0.062,0.086,0.054,0.015,
+0.039,0.055,0.049,0.066,0.041,0.080,0.110,0.121,0.052,0.067,
+0.147,0.134,0.108,0.116,0.071,0.027,0.088,0.096,0.045,0.081,
+0.052,0.089,0.062,0.113,0.053,0.083,0.016,0.031,0.025,0.024,
+0.079,0.032,0.091,0.116,0.041,0.100,0.081,0.084,0.085,0.071,
+0.037,0.095,0.133,0.141,0.085,0.137,0.079,0.014,0.070,0.108,
+0.066,0.114,0.105,0.176,1.278,0.868,0.613,0.655,1.160,1.255,
+0.999,0.875,0.950,0.181,0.854,0.915,0.745,0.894,0.798,1.104,
+0.107,0.132,0.074,0.079,0.130,0.189,0.162,0.098,0.118,0.040,
+0.175,0.144,0.082,0.170,0.104,0.125,0.953,1.088,0.699,0.741,
+0.130,0.149,0.147,0.112,0.833,0.132,0.323,0.562,0.477,0.813,
+0.843,0.890,0.698,0.490,0.382,0.538,1.072,1.053,0.859,0.942,
+0.837,0.120,0.993,1.239,0.678,0.830,1.050,1.623,1.013,0.629,
+0.577,0.815,0.723,0.568,0.425,0.508,0.595,0.077,0.480,0.638,
+0.625,0.599,0.471,1.068,1.187,1.049,0.678,0.879,1.239,1.236,
+1.037,0.881,1.005,0.148,1.106,1.164,0.730,1.095,0.793,1.180,
+1.167,1.107,0.727,1.079,0.103,0.138,0.092,0.131,1.011,0.130,
+0.996,1.269,0.717,1.192,1.036,1.327,1.019,0.651,0.524,1.038,
+1.071,0.927,0.720,0.990,1.166,0.115,1.328,1.850,1.208,1.293,
+1.417,2.418,1.780,0.888,0.658,1.313,0.991,0.604,0.610,0.848,
+0.791,0.080,0.463,0.672,0.970,0.734,0.595,1.301,1.388,0.860,
+0.539,0.872,0.902,0.638,0.651,0.712,0.600,0.064,0.505,0.673,
+0.521,0.569,0.520,0.921,0.834,0.717,0.403,0.823,0.077,0.067,
+0.049,0.116,0.687,0.053,0.412,0.674,0.490,0.628,0.548,1.029,
+1.125,0.631,0.453,1.048,0.861,0.560,0.485,0.876,0.782,0.064,
+0.472,0.766,0.970,0.770,0.879,2.156,1.780,1.185,0.647,1.196,
+1.353,1.042,0.846,1.002,0.801,0.090,0.562,0.836,0.786,0.907,
+0.545,1.280,1.686,1.640,0.568,0.871,1.432,1.119,0.883,0.983,
+0.754,0.090,0.813,0.976,0.559,0.791,0.561,0.982,0.991,1.393,
+0.660,1.026,0.094,0.128,0.081,0.134,1.054,0.128,0.815,1.234,
+0.679,1.112,0.945,1.355,1.162,0.934,0.531,1.099,1.463,1.230,
+0.904,1.443,1.002,0.129,0.838,1.357,0.974,1.091,1.209,2.475,
+1.876,0.988,0.802,1.042,1.371,1.209,1.054,1.170,1.217,0.228,
+0.892,1.698,0.939,1.378,1.047,1.941,0.159,0.108,0.057,0.097,
+0.105,0.138,0.125,0.120,0.092,0.030,0.114,0.164,0.089,0.250,
+0.104,0.169,1.191,1.345,0.762,1.247,0.104,0.113,0.088,0.148,
+1.085,0.149,0.707,1.160,0.651,1.264,0.946,1.406,1.089,0.810,
+0.615,1.105,1.459,1.176,1.163,1.565,1.093,0.120,1.121,1.910,
+0.986,1.129,1.406,2.318,1.754,0.838,0.801,1.338,1.058,0.685,
+0.645,0.764,0.932,0.118,0.660,1.007,1.062,0.865,0.777,1.708,
+1.279,0.868,0.612,0.981,1.102,0.867,0.931,1.012,0.843,0.098,
+0.840,1.208,0.798,1.001,0.857,1.488,1.369,1.411,0.842,1.468,
+0.111,0.112,0.067,0.157,1.318,0.124,1.168,1.780,0.965,1.318,
+1.268,1.675,1.848,1.016,0.895,2.161,1.752,1.171,1.178,1.870,
+1.669,0.141,1.629,2.706,1.980,1.787,2.098,4.002,5.126,2.141,
+1.622,3.613,1.695,0.971,0.857,1.433,1.438,0.131,0.649,1.108,
+2.301,1.784,1.190,2.438,1.813,0.937,0.730,1.067,1.065,0.584,
+0.552,0.747,0.854,0.093,0.728,0.699,0.911,0.862,0.818,1.219,
+1.262,0.832,0.646,1.350,0.101,0.082,0.054,0.154,0.775,0.065,
+0.395,0.718,0.663,0.866,0.777,1.475,2.021,0.972,0.751,1.922,
+1.355,0.994,0.730,1.352,1.059,0.092,0.653,1.111,1.910,1.445,
+1.286,3.373,2.197,1.069,0.668,1.338,1.250,0.709,0.508,0.737,
+0.706,0.070,0.329,0.615,0.978,0.773,0.478,1.133,1.215,0.758,
+0.434,0.768,0.846,0.550,0.437,0.599,0.575,0.047,0.366,0.544,
+0.580,0.536,0.476,0.797,0.906,0.711,0.552,0.852,0.063,0.056,
+0.048,0.083,0.649,0.057,0.325,0.571,0.559,0.663,0.637,0.919,
+0.959,0.628,0.392,0.781,0.820,0.653,0.483,0.790,0.634,0.044,
+0.384,0.745,0.827,0.677,0.692,1.842,1.949,0.830,0.626,1.185,
+1.348,0.790,0.709,1.147,1.011,0.108,0.440,0.848,1.376,1.035,
+0.725,2.120,0.123,0.068,0.050,0.097,0.101,0.066,0.061,0.100,
+0.076,0.010,0.059,0.084,0.154,0.155,0.079,0.179,0.848,0.650,
+0.495,0.844,0.080,0.055,0.056,0.100,0.700,0.056,0.316,0.562,
+0.777,0.759,0.599,1.030,0.978,0.538,0.484,0.990,1.229,0.673,
+0.676,1.115,0.920,0.068,0.505,1.093,1.223,0.960,0.954,2.073,
+2.780,1.192,0.906,2.142,1.225,0.711,0.901,1.266,1.192,0.108,
+0.609,1.043,2.275,1.461,1.074,2.757,1.551,0.884,0.649,1.122,
+1.021,0.685,0.687,0.947,0.953,0.072,0.626,0.939,1.500,1.492,
+0.948,1.790,1.245,1.077,0.747,1.292,0.107,0.075,0.064,0.124,
+1.199,0.082,0.533,0.985,1.032,1.284,1.044,1.868,2.263,1.131,
+1.101,2.430,1.845,1.000,1.086,1.711,2.043,0.136,1.168,2.075,
+3.208,2.601,2.818,6.143,2.837,1.480,1.105,2.195,1.434,0.953,
+0.771,1.280,0.999,0.108,0.700,1.019,1.348,1.255,1.087,1.872,
+2.089,1.115,1.847,1.407,1.243,0.843,1.048,1.120,0.778,0.075,
+0.797,0.867,0.736,0.784,0.796,1.288,0.890,0.745,0.510,0.888,
+0.082,0.069,0.055,0.109,0.613,0.058,0.377,0.665,0.628,0.686,
+0.670,1.248,1.148,0.737,0.512,1.110,1.030,0.737,0.541,1.008,
+0.710,0.067,0.439,0.797,1.063,0.800,0.902,2.239,2.436,1.420,
+0.717,1.309,1.467,1.165,0.672,0.936,0.768,0.080,0.367,0.696,
+0.884,0.950,0.620,1.324,1.719,1.323,0.623,0.990,1.561,1.192,
+0.903,1.221,0.798,0.088,0.507,0.859,0.673,0.846,0.690,1.245,
+0.945,1.009,0.544,0.873,0.086,0.102,0.055,0.093,0.852,0.111,
+0.466,0.743,0.673,1.141,0.786,1.249,0.878,0.757,0.409,0.791,
+0.959,0.973,0.558,0.958,0.694,0.061,0.435,0.806,0.829,0.879,
+0.798,2.498,1.923,0.836,0.597,0.983,1.445,0.906,0.781,1.181,
+0.952,0.123,0.486,0.713,1.076,1.014,0.758,1.797,0.093,0.076,
+0.061,0.079,0.095,0.109,0.080,0.111,0.070,0.019,0.069,0.083,
+0.095,0.153,0.085,0.145,1.076,0.977,0.628,0.974,0.107,0.089,
+0.079,0.113,0.767,0.085,0.445,0.718,0.670,1.039,0.776,1.287,
+1.177,0.721,0.551,0.998,1.657,1.016,1.058,1.346,1.027,0.090,
+0.651,1.213,1.145,1.176,1.192,2.663,1.771,0.830,0.739,1.317,
+0.989,0.620,0.640,0.927,0.818,0.075,0.512,0.733,1.259,1.024,
+0.811,1.929,1.412,0.949,0.726,1.112,1.080,0.925,0.853,1.215,
+0.898,0.104,0.697,0.989,1.303,2.053,1.264,1.926,1.098,0.911,
+0.679,1.225,0.092,0.068,0.053,0.119,0.775,0.076,0.668,0.973,
+0.828,1.232,1.012,1.814,1.452,0.852,1.232,1.632,1.569,1.035,
+0.816,1.637,1.391,0.140,0.964,1.680,2.350,4.598,2.237,6.801,
+2.933,1.646,1.110,2.015,1.329,0.921,0.724,1.093,1.252,0.110,
+0.530,0.958,1.254,0.979,0.706,1.535,2.120,1.466,0.837,1.441,
+1.456,1.064,0.916,1.172,1.200,0.123,0.832,1.241,1.122,1.369,
+0.913,1.989,1.252,1.367,0.694,1.361,0.141,0.153,0.101,0.207,
+2.018,0.336,0.587,0.966,0.978,1.526,1.096,1.630,1.557,1.043,
+0.683,1.593,1.235,1.117,0.763,1.395,1.408,0.137,0.898,1.492,
+1.602,1.446,1.602,3.513,0.140,0.111,0.126,0.112,0.114,0.100,
+0.057,0.091,0.080,9.19e-3,0.040,0.067,0.088,0.093,0.073,0.139,
+0.112,0.106,0.049,0.086,0.121,0.141,0.075,0.099,0.085,0.018,
+0.074,0.096,0.085,0.116,0.075,0.147,0.066,0.090,0.045,0.080,
+0.013,0.017,0.012,0.013,0.323,0.044,0.074,0.094,0.091,0.147,
+0.256,0.155,0.107,0.095,0.050,0.129,0.124,0.153,0.079,0.152,
+0.125,0.014,0.064,0.122,0.120,0.132,0.145,0.365,2.445,1.347,
+0.935,1.267,1.663,1.508,1.153,1.438,1.335,0.205,0.860,1.264,
+1.300,1.494,1.106,2.262,0.129,0.121,0.067,0.100,0.124,0.134,
+0.092,0.107,0.108,0.027,0.098,0.131,0.133,0.193,0.113,0.200,
+1.470,1.698,0.895,1.316,0.152,0.166,0.117,0.160,1.700,0.180,
+0.856,1.187,0.969,1.500,1.180,1.633,1.493,1.027,0.718,1.234,
+2.020,1.603,1.135,1.627,2.512,0.200,1.507,2.135,1.733,1.641,
+1.966,3.270,2.307,1.253,0.906,1.760,1.258,0.964,0.704,1.084,
+1.251,0.122,0.824,1.371,1.429,1.288,0.937,2.345,2.092,1.725,
+1.012,1.734,1.620,1.434,1.076,1.325,1.578,0.156,1.316,1.920,
+1.624,2.102,1.463,2.762,1.950,2.032,1.156,1.887,0.129,0.158,
+0.102,0.174,2.120,0.177,1.359,1.962,1.606,2.267,1.952,2.694,
+2.299,1.273,1.084,2.011,1.669,1.360,1.042,1.681,2.569,0.178,
+1.995,2.959,2.608,2.525,2.843,5.262,6.711,2.410,1.635,3.876,
+2.072,1.203,1.377,1.848,1.647,0.142,0.733,1.544,2.415,1.781,
+1.265,3.814,2.338,1.364,0.793,1.451,1.351,0.959,0.731,1.249,
+1.153,0.080,0.665,1.164,1.245,1.001,0.848,1.918,1.851,1.605,
+0.833,2.137,0.127,0.122,0.079,0.231,1.226,0.115,0.596,1.171,
+1.171,1.334,1.024,2.342,3.353,1.935,1.288,3.112,1.815,1.380,
+1.039,2.307,1.753,0.135,0.956,2.048,2.901,2.261,2.336,6.844,
+3.327,1.730,1.061,1.932,2.082,1.356,0.829,1.343,1.344,0.109,
+0.620,1.186,1.687,1.347,0.835,2.564,2.003,1.540,0.655,1.219,
+1.402,1.744,0.632,1.171,1.163,0.097,0.776,1.279,1.459,1.332,
+0.799,2.164,1.566,1.393,0.704,1.569,0.094,0.120,0.060,0.142,
+1.639,0.136,0.763,1.487,1.262,1.607,1.350,2.635,1.964,1.499,
+0.805,1.865,1.663,1.554,0.958,2.088,1.500,0.123,0.879,1.901,
+1.931,2.024,1.955,8.657,3.430,1.863,1.266,2.045,2.183,1.471,
+1.355,2.181,1.830,0.216,1.006,1.833,2.060,1.952,1.646,3.903,
+0.157,0.131,0.065,0.130,0.112,0.111,0.092,0.151,0.100,0.013,
+0.100,0.132,0.179,0.190,0.125,0.322,2.371,1.990,1.287,2.356,
+0.143,0.132,0.101,0.228,2.014,0.176,1.288,1.819,1.693,2.148,
+1.909,3.375,2.672,1.773,1.320,2.642,2.528,1.875,1.700,3.374,
+2.805,0.195,2.030,3.394,2.909,2.393,3.466,6.642,6.793,2.234,
+1.694,4.009,1.787,1.115,1.063,1.944,1.830,0.164,1.027,1.947,
+3.082,2.380,1.938,5.689,2.476,2.057,1.047,1.749,1.537,0.927,
+1.052,1.867,1.682,0.122,1.331,2.153,2.480,2.180,1.861,5.926,
+2.751,2.268,1.561,2.905,0.141,0.126,0.085,0.249,2.409,0.160,
+1.673,2.877,2.594,2.840,2.859,5.295,4.714,1.461,1.213,3.085,
+2.387,1.730,1.230,3.681,2.190,0.148,2.120,3.404,3.455,3.205,
+4.148,10.5,17.6,4.639,3.949,6.465,4.657,2.091,1.713,2.585,
+5.234,0.366,1.920,2.548,6.644,3.191,1.948,4.894,5.500,2.459,
+1.947,2.581,2.552,1.286,1.261,1.418,2.702,0.176,1.365,1.813,
+2.533,1.783,1.349,2.568,7.172,3.000,2.198,3.342,0.399,0.242,
+0.187,0.433,2.520,0.214,1.298,1.960,2.366,2.196,1.444,2.412,
+7.265,2.738,2.710,5.476,3.603,2.114,1.896,3.751,3.845,0.222,
+1.745,2.610,6.804,2.383,2.147,4.021,7.121,3.036,1.778,3.118,
+2.921,1.616,1.204,1.507,2.892,0.215,1.119,1.636,2.311,1.807,
+1.202,2.085,3.539,1.696,1.107,1.544,1.747,0.949,0.820,0.850,
+1.995,0.141,1.025,1.303,1.308,1.123,0.759,1.172,3.503,2.396,
+1.477,2.016,0.231,0.151,0.106,0.177,2.039,0.167,1.043,1.506,
+1.463,1.652,1.081,1.630,2.622,1.438,0.980,1.814,1.939,1.222,
+0.978,1.456,1.987,0.116,1.001,1.449,1.990,1.309,1.190,2.349,
+10.0,2.301,2.174,3.092,3.199,1.523,1.720,1.944,2.958,0.270,
+1.273,2.113,2.424,1.824,1.650,3.019,0.443,0.225,0.170,0.254,
+0.249,0.182,0.147,0.178,0.228,0.027,0.155,0.232,0.296,0.314,
+0.207,0.359,2.871,2.037,1.904,1.989,0.199,0.133,0.175,0.222,
+2.011,0.175,1.261,1.520,1.391,1.550,1.294,1.564,2.246,1.254,
+1.251,2.099,2.328,1.525,1.451,2.013,2.208,0.168,1.403,1.889,
+1.998,1.457,1.513,2.468,7.875,2.663,2.330,5.230,2.822,1.370,
+1.602,1.992,3.403,0.306,1.657,2.501,4.630,2.914,2.551,5.468,
+4.290,2.294,1.701,2.588,2.645,1.551,1.539,1.778,2.458,0.168,
+1.544,2.597,2.909,2.517,2.039,3.457,3.123,2.100,1.770,2.479,
+0.236,0.158,0.154,0.226,2.254,0.148,1.303,1.897,1.880,2.034,
+1.835,2.228,4.299,2.435,1.820,3.879,2.299,1.383,1.327,2.182,
+3.173,0.185,1.654,2.656,3.650,2.349,2.344,4.185,6.780,3.357,
+2.536,4.190,3.241,2.017,1.533,1.999,2.583,0.238,1.087,2.099,
+2.477,2.043,1.302,2.559,3.619,2.059,1.395,2.068,2.046,1.281,
+1.146,1.338,1.655,0.154,1.006,1.668,1.266,1.106,0.784,1.569,
+2.494,2.137,1.564,2.201,0.237,0.209,0.156,0.266,1.457,0.139,
+0.990,1.346,1.117,1.436,1.021,1.869,2.498,1.153,1.186,1.961,
+2.224,1.529,1.174,1.777,1.712,0.127,0.761,1.291,1.647,1.089,
+1.151,2.689,4.442,2.376,1.267,2.163,2.417,1.564,0.972,1.134,
+2.140,0.185,0.739,1.261,1.484,1.226,0.857,1.507,2.497,1.520,
+0.925,1.279,1.453,0.702,0.823,0.749,1.370,0.140,0.786,1.248,
+0.873,0.852,0.602,0.890,1.995,2.138,1.124,1.572,0.166,0.211,
+0.137,0.151,1.517,0.188,1.164,1.348,0.887,1.476,0.981,1.381,
+1.414,0.934,0.611,1.022,1.390,1.132,0.745,0.922,1.345,0.095,
+0.622,1.054,0.958,0.829,0.679,1.437,3.269,2.056,1.148,2.124,
+2.089,1.719,1.455,1.621,1.812,0.201,0.899,1.666,1.313,1.229,
+1.036,1.978,0.190,0.297,0.102,0.169,0.143,0.228,0.150,0.134,
+0.136,0.031,0.124,0.271,0.119,0.169,0.115,0.188,1.945,2.094,
+1.494,1.624,0.171,0.201,0.149,0.180,1.609,0.184,1.034,1.456,
+1.125,1.555,1.254,1.552,1.306,0.970,0.839,1.239,1.626,1.644,
+1.247,1.513,1.350,0.116,0.887,1.406,1.067,0.931,1.194,1.776,
+2.673,1.308,0.975,1.804,1.499,0.936,0.857,0.998,1.359,0.118,
+0.731,1.317,1.515,1.114,0.896,1.960,2.100,1.682,1.030,1.562,
+1.311,1.243,1.062,1.192,1.187,0.142,1.024,3.426,1.037,1.337,
+0.945,1.897,1.790,1.568,1.573,1.811,0.138,0.115,0.107,0.149,
+1.414,0.119,1.034,1.565,1.067,1.278,1.358,1.665,1.889,1.055,
+0.992,1.592,1.353,1.066,0.858,1.286,1.531,0.096,0.973,1.714,
+1.691,1.390,1.586,2.445,7.855,1.759,5.770,3.219,1.714,1.159,
+1.145,1.268,2.081,0.165,1.100,1.540,1.925,1.399,1.088,1.847,
+2.933,1.404,1.130,1.476,1.464,0.971,0.925,0.946,1.742,0.156,
+1.025,1.346,1.228,1.163,0.711,1.222,2.284,1.971,2.369,2.296,
+0.224,0.239,0.191,0.326,1.597,0.228,0.828,1.414,1.229,1.772,
+0.977,1.798,1.975,1.032,1.260,2.080,1.553,1.220,1.082,1.543,
+1.700,0.167,1.029,1.637,1.855,1.295,1.639,3.921,0.348,0.190,
+0.176,0.221,0.184,0.163,0.098,0.126,0.168,0.023,0.097,0.136,
+0.151,0.163,0.175,0.236,0.256,0.158,0.111,0.127,0.173,0.137,
+0.105,0.097,0.169,0.027,0.118,0.132,0.126,0.139,0.087,0.121,
+0.181,0.215,0.145,0.174,0.022,0.035,0.027,0.027,0.189,0.041,
+0.131,0.201,0.128,0.234,0.116,0.192,0.239,0.157,0.126,0.226,
+0.269,0.251,0.175,0.263,0.209,0.023,0.153,0.222,0.212,0.173,
+0.188,0.391,2.594,1.191,0.989,1.209,1.352,1.045,0.894,0.926,
+1.781,0.198,1.017,1.225,2.343,1.088,0.898,1.278,0.194,0.146,
+0.072,0.095,0.100,0.107,0.078,0.080,0.138,0.023,0.094,0.117,
+0.194,0.152,0.097,0.133,1.458,1.633,1.168,1.133,0.126,0.156,
+0.121,0.129,1.381,0.173,0.614,0.988,0.792,1.210,0.843,0.999,
+1.090,0.842,0.754,0.906,1.169,1.102,1.288,1.155,1.429,0.132,
+0.870,1.174,0.867,0.878,1.001,1.385,2.082,1.056,0.841,1.463,
+1.178,0.726,0.534,0.672,1.253,0.120,0.819,1.105,1.740,1.175,
+0.936,1.664,2.195,1.313,0.859,1.242,1.434,1.101,0.796,0.873,
+1.442,0.122,0.951,1.683,1.345,1.361,1.042,1.707,1.583,1.518,
+1.057,1.641,0.145,0.153,0.098,0.171,1.600,0.249,1.105,3.093,
+1.140,1.573,1.153,1.949,1.531,0.906,0.868,1.169,1.223,1.027,
+0.849,1.090,1.629,0.140,1.125,1.967,1.704,1.373,1.580,2.714,
+6.297,2.527,2.576,5.280,2.211,1.393,1.287,1.796,2.245,0.184,
+1.185,2.028,3.359,2.126,1.663,3.928,2.588,1.185,0.946,1.500,
+1.394,0.683,0.684,0.900,1.452,0.102,0.913,1.439,1.405,0.996,
+0.764,1.570,2.517,1.925,1.404,2.682,0.216,0.174,0.133,0.343,
+1.697,0.165,0.781,1.484,1.674,1.764,1.035,2.411,3.327,1.523,
+1.685,4.234,2.031,1.282,1.276,2.545,2.221,0.167,1.615,2.556,
+3.312,2.154,2.363,7.541,4.153,2.062,1.481,2.768,2.339,1.492,
+1.029,1.420,2.119,0.156,1.114,1.647,1.853,1.527,1.407,2.118,
+3.090,1.412,1.082,1.502,1.666,0.913,0.767,0.891,1.688,0.125,
+1.134,1.404,1.491,1.198,0.783,1.319,2.286,1.790,1.159,2.017,
+0.142,0.127,0.092,0.182,1.910,0.167,1.145,1.723,1.552,1.982,
+1.173,2.190,2.387,1.222,1.185,2.336,1.924,1.405,1.114,1.952,
+2.135,0.131,1.605,1.969,2.220,1.585,1.684,3.429,2.919,1.364,
+1.083,1.997,1.696,1.136,0.977,1.488,1.797,0.181,0.976,1.543,
+1.628,1.291,1.061,1.938,0.195,0.129,0.090,0.145,0.118,0.100,
+0.086,0.112,0.125,0.014,0.101,0.155,0.158,0.144,0.103,0.176,
+1.845,1.665,1.112,1.583,0.118,0.102,0.082,0.148,1.692,0.139,
+0.813,1.278,1.241,1.587,1.058,1.591,1.579,1.007,0.983,1.553,
+1.596,1.200,1.144,1.657,2.323,0.146,1.120,1.843,1.546,1.248,
+1.262,2.257,4.185,1.572,1.437,2.733,1.748,1.027,1.033,1.281,
+1.804,0.151,1.207,1.805,2.743,1.687,1.672,3.593,1.946,1.118,
+0.800,1.368,1.347,0.801,0.738,0.908,1.272,0.080,0.917,1.612,
+1.618,1.311,1.083,1.937,2.432,2.014,1.380,2.362,0.149,0.117,
+0.085,0.188,1.944,0.126,1.188,2.253,1.958,1.974,1.637,2.562,
+3.222,1.625,1.580,3.214,2.011,1.574,1.207,2.037,2.639,0.130,
+1.732,2.879,3.787,2.337,2.523,3.902,5.596,2.831,2.386,3.784,
+2.947,1.742,1.463,1.720,2.537,0.229,1.097,1.828,3.087,2.356,
+1.445,2.347,2.797,1.905,1.247,1.478,1.790,1.147,1.165,1.082,
+1.699,0.163,1.076,1.446,1.192,1.154,0.988,1.412,2.004,1.809,
+1.148,1.547,0.193,0.150,0.122,0.196,1.161,0.122,0.833,1.010,
+0.973,1.210,1.078,1.347,2.083,1.161,0.949,1.876,1.824,1.287,
+1.008,1.602,1.339,0.172,0.844,1.224,1.495,1.129,1.236,2.192,
+3.781,1.987,1.136,1.901,2.350,1.460,1.010,1.164,1.529,0.171,
+0.796,1.111,1.205,1.307,1.058,1.419,2.081,1.392,0.796,1.103,
+1.322,0.776,0.750,0.721,1.301,0.172,0.877,1.234,0.814,1.028,
+0.658,0.870,1.741,1.494,0.792,1.005,0.359,0.126,0.098,0.123,
+1.293,0.144,0.768,0.974,0.807,1.226,0.917,1.011,1.082,0.794,
+0.475,0.809,1.572,0.979,0.583,0.894,1.104,0.094,0.694,0.962,
+0.934,0.888,1.069,1.592,2.095,1.333,0.741,1.369,1.899,1.297,
+0.991,1.159,1.471,0.171,0.685,1.047,1.040,0.921,0.699,1.324,
+0.162,0.168,0.095,0.125,0.177,0.188,0.134,0.136,0.126,0.026,
+0.123,0.158,0.112,0.165,0.106,0.159,1.227,2.153,0.941,1.107,
+0.116,0.126,0.101,0.153,1.141,0.144,1.072,1.700,0.669,0.942,
+0.830,1.044,0.912,0.722,0.508,0.790,1.205,1.035,0.893,1.183,
+1.088,0.132,1.270,1.452,0.827,0.877,0.949,1.368,2.261,0.971,
+0.792,1.646,1.146,0.648,0.593,0.798,1.251,0.139,0.556,0.882,
+1.235,0.977,0.720,1.584,1.857,1.325,0.919,1.239,1.547,1.033,
+1.325,1.200,1.017,0.105,0.801,1.115,0.903,1.039,0.852,1.303,
+1.507,1.160,1.185,1.314,0.143,0.100,0.275,0.257,0.912,0.103,
+0.748,1.073,0.760,1.139,0.945,1.097,1.310,0.783,0.650,1.281,
+1.009,0.675,0.805,1.060,1.221,0.095,0.876,1.337,1.485,1.248,
+1.308,2.303,3.304,2.164,1.649,2.500,2.261,1.834,1.327,1.414,
+1.475,0.171,0.703,1.380,1.356,1.399,0.883,1.595,2.250,1.733,
+1.070,1.297,1.615,1.329,1.181,1.120,1.189,0.148,0.892,1.368,
+0.710,0.864,0.680,1.106,1.366,1.571,1.088,1.259,0.145,0.163,
+0.135,0.177,0.879,0.120,0.707,0.841,0.647,1.015,0.829,1.179,
+1.166,0.695,0.640,1.196,1.269,1.148,1.059,1.285,0.816,0.082,
+0.580,0.853,0.857,0.685,0.797,1.474,2.079,1.667,0.830,1.139,
+1.510,1.398,0.782,0.852,1.052,0.133,0.557,0.775,0.701,0.881,
+0.757,0.906,1.369,1.081,0.612,0.710,0.849,0.335,0.560,0.522,
+0.865,0.138,0.644,0.891,0.456,0.755,0.506,0.603,1.103,1.562,
+0.758,0.895,0.129,0.168,0.101,0.118,0.943,0.154,0.647,0.858,
+0.556,1.241,0.839,0.962,0.706,0.585,0.377,0.585,0.882,0.951,
+0.559,0.690,0.864,0.080,0.533,0.716,0.542,0.645,0.623,0.928,
+1.623,1.400,0.696,1.057,1.804,2.421,1.235,1.127,1.188,0.192,
+0.671,0.986,0.763,0.928,0.681,1.131,0.123,0.221,0.082,0.107,
+0.180,0.623,0.196,0.127,0.102,0.046,0.117,0.127,0.061,0.167,
+0.094,0.109,1.155,1.704,1.149,1.049,0.162,0.274,0.158,0.155,
+1.135,0.179,0.841,1.202,0.607,1.259,0.963,1.144,0.749,0.648,
+0.684,0.713,1.384,1.793,1.658,1.312,1.121,0.129,0.775,1.109,
+0.727,0.868,0.918,1.287,1.318,0.855,0.609,1.024,0.931,0.816,
+0.503,0.596,0.802,0.085,0.408,0.639,0.744,0.668,0.505,0.979,
+1.262,1.171,0.813,0.999,1.063,1.707,1.000,0.950,0.704,0.113,
+0.725,1.048,0.547,0.831,0.766,0.966,1.239,1.367,1.765,1.386,
+0.102,0.134,0.120,0.128,0.714,0.088,0.738,0.865,0.562,0.925,
+1.120,1.193,1.022,0.617,0.624,0.933,0.878,0.805,0.732,0.835,
+0.950,0.075,0.553,0.955,0.905,0.898,1.071,1.626,2.225,1.384,
+1.179,1.668,1.258,0.927,0.872,0.909,1.051,0.118,0.616,0.842,
+1.005,1.075,1.694,1.794,1.861,1.489,0.746,1.091,1.222,0.997,
+0.835,0.837,1.229,0.159,0.942,1.216,0.735,0.986,0.900,1.086,
+1.057,1.403,0.954,1.195,0.139,0.175,0.136,0.211,0.894,0.151,
+0.598,0.902,0.633,1.203,0.709,1.173,0.907,0.628,0.535,1.040,
+1.069,0.967,0.728,1.023,0.942,0.106,0.665,1.024,0.868,0.782,
+0.994,1.987,0.146,0.121,0.073,0.103,0.147,0.146,0.104,0.112,
+0.093,0.017,0.099,0.109,0.097,0.131,0.669,0.686,0.122,0.124,
+0.073,0.098,0.144,0.142,0.096,0.095,0.116,0.039,0.117,0.129,
+0.062,0.103,0.095,0.108,0.096,0.171,0.092,0.101,0.025,0.053,
+0.034,0.029,0.130,0.059,0.128,0.149,0.068,0.162,0.124,0.140,
+0.096,0.073,0.052,0.092,0.279,0.242,0.122,0.158,0.108,0.019,
+0.108,0.128,0.085,0.095,0.128,0.179,1.294,1.269,0.595,0.784,
+1.247,1.350,0.914,0.872,1.310,0.211,0.929,1.030,0.763,0.966,
+0.919,1.129,0.106,0.171,0.079,0.075,0.107,0.174,0.115,0.085,
+0.108,0.035,0.120,0.108,0.073,0.137,0.100,0.098,0.834,1.649,
+0.787,0.785,0.117,0.249,0.116,0.130,1.195,0.230,0.606,0.939,
+0.546,1.245,0.813,0.922,0.587,0.603,0.405,0.551,0.936,1.557,
+0.850,1.018,1.243,0.172,0.914,1.059,0.598,0.854,0.859,1.094,
+1.016,0.719,0.461,0.849,0.686,0.449,0.366,0.489,0.739,0.084,
+0.517,0.719,0.662,0.621,0.570,0.956,1.180,1.202,0.686,0.853,
+1.381,1.125,0.777,0.938,0.995,0.140,0.843,1.119,0.803,1.079,
+0.805,1.036,0.853,1.123,0.760,0.899,0.102,0.121,0.083,0.100,
+1.122,0.371,0.867,1.169,0.663,1.389,0.983,1.188,0.664,0.508,
+0.410,0.703,0.693,0.741,0.545,0.727,1.008,0.109,0.886,1.124,
+0.850,0.925,0.943,1.374,2.238,1.069,0.911,1.685,1.097,0.627,
+0.551,0.950,1.063,0.095,0.507,1.123,1.173,0.865,0.844,1.547,
+1.387,0.816,0.553,0.859,0.811,0.514,0.530,0.675,0.801,0.087,
+0.548,2.485,0.647,0.545,0.425,0.961,0.976,0.871,0.578,0.936,
+0.085,0.073,0.058,0.127,0.664,0.068,0.415,0.747,0.650,0.740,
+0.524,1.025,1.155,0.614,0.602,1.290,0.810,0.562,0.498,1.003,
+0.856,0.068,0.518,1.147,1.141,0.766,0.858,2.380,1.998,1.150,
+0.728,1.226,1.357,0.975,0.725,0.895,1.145,0.120,0.774,1.108,
+0.989,0.964,2.545,1.984,1.432,0.969,0.601,0.922,1.183,0.735,
+0.641,0.787,0.989,0.099,0.695,1.073,0.709,0.711,0.652,0.870,
+0.954,1.071,0.632,0.886,0.089,0.113,0.079,0.117,0.921,0.118,
+0.672,0.980,0.763,1.185,0.840,1.201,0.854,0.588,0.523,0.866,
+1.183,1.018,0.691,1.132,0.953,0.090,0.812,1.089,0.909,0.997,
+1.032,1.716,1.387,0.885,0.607,0.977,1.177,0.957,0.776,0.974,
+1.436,0.178,0.798,1.394,0.916,0.848,0.836,1.450,0.094,0.086,
+0.060,0.080,0.085,0.109,0.098,0.075,0.080,0.015,0.080,0.127,
+0.076,0.098,0.077,0.116,1.043,1.095,0.668,0.845,0.097,0.092,
+0.071,0.110,1.052,0.145,0.775,1.228,0.753,1.223,0.877,1.257,
+0.821,0.616,0.540,0.791,1.084,0.895,0.760,1.094,1.274,0.117,
+0.909,1.336,0.977,0.900,1.082,1.767,1.761,0.815,0.689,1.269,
+0.879,0.585,0.489,0.723,0.993,0.096,0.622,1.287,1.044,0.733,
+0.814,1.726,1.161,0.810,0.675,0.856,0.927,0.702,0.618,0.706,
+0.793,0.061,0.596,1.090,0.830,0.755,0.693,1.194,1.453,1.147,
+0.926,1.257,0.102,0.076,0.067,0.111,1.045,0.110,0.884,1.268,
+0.975,1.270,1.114,1.660,1.418,0.822,0.851,1.640,1.181,0.950,
+0.785,1.237,1.408,0.095,1.175,1.881,1.898,1.440,1.658,2.344,
+5.753,2.197,2.086,3.420,2.214,1.275,1.251,1.538,2.439,0.229,
+1.029,1.404,2.954,2.067,1.044,2.091,1.850,1.368,0.663,0.926,
+1.085,0.645,0.646,0.710,1.151,0.102,0.599,0.698,0.837,0.722,
+0.527,0.822,6.526,1.516,0.874,1.390,0.236,0.113,0.103,0.205,
+1.066,0.104,0.759,0.885,0.808,0.871,0.758,1.065,2.220,0.942,
+0.695,1.512,1.463,0.888,0.759,1.328,0.992,0.089,0.687,0.888,
+1.300,0.719,0.917,1.794,3.332,1.522,1.123,1.939,1.909,1.211,
+1.715,1.832,1.458,0.149,0.626,0.949,1.266,1.357,0.662,1.226,
+1.706,1.052,0.656,0.898,1.088,0.597,0.717,0.774,1.112,0.125,
+0.693,0.867,0.794,0.844,0.477,0.697,1.902,1.601,0.928,1.330,
+0.183,0.131,0.126,0.189,1.271,0.136,0.854,1.065,0.786,1.111,
+0.809,1.070,1.242,0.765,0.504,0.984,1.418,1.000,0.805,1.475,
+0.928,0.073,0.642,0.827,0.876,0.686,0.701,1.415,2.166,0.930,
+0.799,1.362,1.729,1.145,1.302,1.479,2.029,0.201,0.732,0.958,
+1.239,1.128,0.779,1.518,0.185,0.150,0.100,0.159,0.220,0.159,
+0.185,0.253,0.171,0.027,0.163,0.145,0.163,0.278,0.112,0.201,
+1.107,0.973,0.924,1.081,0.122,0.102,0.112,0.157,0.949,0.140,
+0.722,0.825,0.638,0.957,0.707,0.911,0.876,0.539,0.510,0.925,
+1.309,1.102,0.933,1.266,0.953,0.096,0.682,0.893,1.000,1.032,
+0.879,1.838,2.145,0.871,0.766,1.692,1.196,0.821,1.209,1.756,
+1.390,0.182,0.637,0.897,1.568,1.348,0.779,1.711,1.719,1.140,
+0.841,1.323,1.826,0.927,1.565,1.964,1.112,0.107,0.773,0.989,
+1.101,1.079,0.714,1.235,1.345,1.068,1.172,1.534,0.132,0.091,
+0.129,0.193,1.071,0.127,0.853,1.048,0.976,1.249,1.060,1.295,
+1.583,0.813,0.722,1.594,1.022,0.757,0.780,1.278,1.450,0.117,
+0.931,1.507,2.168,1.611,1.621,3.348,0.285,0.169,0.123,0.211,
+0.181,0.132,0.110,0.141,0.166,0.021,0.072,0.102,0.148,0.158,
+0.090,0.141,0.205,0.146,0.113,0.138,0.148,0.107,0.116,0.107,
+0.121,0.022,0.085,0.107,0.077,0.102,0.066,0.096,0.196,0.130,
+0.081,0.118,0.028,0.020,0.022,0.023,0.094,0.015,0.070,0.090,
+0.067,0.099,0.078,0.107,0.132,0.076,0.059,0.105,0.143,0.109,
+0.098,0.134,0.095,9.94e-3,0.065,0.097,0.102,0.075,0.095,0.175,
+0.203,0.148,0.103,0.148,0.144,0.125,0.115,0.118,0.107,0.015,
+0.052,0.083,0.078,0.102,0.061,0.093,0.166,0.135,0.076,0.092,
+0.147,0.079,0.109,0.096,0.122,0.024,0.082,0.102,0.061,0.083,
+0.057,0.076,0.134,0.159,0.100,0.116,0.025,0.034,0.035,0.024,
+0.112,0.030,0.089,0.112,0.065,0.123,0.097,0.102,0.098,0.070,
+0.044,0.079,0.129,0.122,0.100,0.120,0.078,9.02e-3,0.061,0.082,
+0.067,0.071,0.071,0.113,0.160,0.101,0.074,0.100,0.170,0.159,
+0.127,0.121,0.134,0.023,0.090,0.080,0.079,0.102,0.072,0.120,
+0.019,0.026,0.014,0.015,0.028,0.046,0.036,0.024,0.023,0.015,
+0.052,0.026,0.011,0.029,0.020,0.018,0.114,0.145,0.114,0.111,
+0.026,0.031,0.036,0.026,0.141,0.045,0.124,0.114,0.070,0.167,
+0.114,0.113,0.090,0.058,0.058,0.094,0.143,0.163,0.145,0.148,
+0.102,0.016,0.092,0.104,0.090,0.095,0.109,0.170,0.205,0.158,
+0.103,0.177,0.143,0.108,0.111,0.154,0.149,0.019,0.075,0.104,
+0.153,0.154,0.108,0.214,0.267,0.202,0.153,0.212,0.296,0.239,
+0.268,0.309,0.243,0.029,0.165,0.230,0.158,0.195,0.136,0.211,
+0.147,0.160,0.147,0.161,0.018,0.021,0.017,0.024,0.162,0.037,
+0.126,0.159,0.118,0.192,0.151,0.172,0.170,0.109,0.084,0.159,
+0.140,0.125,0.114,0.147,0.166,0.016,0.112,0.166,0.205,0.173,
+0.188,0.333,2.058,1.037,0.882,1.271,1.110,0.700,0.537,0.715,
+1.060,0.110,0.820,0.772,0.814,0.712,0.668,0.844,1.302,0.920,
+0.541,0.878,0.927,0.672,0.631,0.610,0.943,0.108,0.711,0.882,
+0.573,0.661,0.537,0.716,1.146,1.254,0.896,1.066,0.155,0.154,
+0.165,0.204,1.226,0.148,0.668,0.860,0.832,1.121,0.665,0.997,
+0.861,0.518,0.421,0.829,0.794,0.688,0.623,0.869,1.050,0.093,
+0.630,0.934,0.796,0.695,0.710,1.341,0.152,0.100,0.058,0.098,
+0.111,0.120,0.075,0.081,0.075,0.015,0.052,0.070,0.067,0.074,
+0.064,0.094,0.101,0.080,0.046,0.060,0.098,0.091,0.075,0.063,
+0.081,0.019,0.090,0.095,0.060,0.059,0.045,0.057,0.100,0.146,
+0.097,0.098,0.022,0.026,0.039,0.023,0.126,0.039,0.104,0.123,
+0.068,0.127,0.072,0.085,0.107,0.068,0.045,0.104,0.121,0.133,
+0.102,0.130,0.096,0.014,0.076,0.108,0.073,0.070,0.070,0.127,
+1.544,0.825,0.570,0.751,1.150,1.015,0.833,0.751,1.070,0.150,
+0.660,0.779,0.620,0.683,0.638,0.772,0.114,0.117,0.064,0.070,
+0.104,0.156,0.105,0.074,0.106,0.034,0.119,0.112,0.068,0.115,
+0.109,0.087,1.051,1.191,0.991,0.992,0.131,0.159,0.160,0.152,
+1.168,0.224,0.479,0.724,0.520,1.072,0.771,0.827,0.680,0.493,
+0.460,0.653,0.894,0.964,0.901,0.907,0.864,0.110,0.816,0.836,
+0.513,0.650,0.712,0.870,1.224,0.750,0.519,0.982,0.809,0.565,
+0.390,0.454,0.810,0.100,0.464,0.584,0.593,0.550,0.383,0.683,
+1.080,0.876,0.572,0.710,1.089,1.348,0.792,0.654,0.893,0.127,
+0.752,0.934,0.697,0.879,0.597,0.747,1.097,1.418,0.912,1.057,
+0.159,0.211,0.135,0.137,1.863,0.815,1.323,1.402,0.829,2.134,
+1.080,1.139,0.782,0.524,0.445,0.719,0.888,0.896,0.732,0.755,
+0.979,0.144,0.868,1.014,0.772,0.833,0.871,1.239,1.920,0.833,
+0.653,1.293,0.807,0.467,0.395,0.627,0.784,0.084,0.376,0.668,
+0.963,0.670,0.486,1.225,1.123,0.588,0.428,0.678,0.579,0.363,
+0.324,0.402,0.537,0.040,0.298,0.504,0.487,0.379,0.299,0.560,
+0.934,0.791,0.506,0.916,0.082,0.065,0.058,0.120,0.669,0.061,
+0.394,0.611,0.658,0.687,0.697,0.960,1.146,0.567,0.507,1.205,
+0.760,0.484,0.443,0.873,0.678,0.050,0.424,0.750,1.033,0.603,
+0.715,1.716,1.940,1.095,0.702,1.223,1.143,0.935,0.641,0.775,
+0.933,0.084,0.530,0.790,0.903,0.864,0.660,1.205,1.420,0.873,
+0.558,0.828,0.950,0.731,0.573,0.679,0.800,0.070,0.611,0.860,
+0.613,0.583,0.458,0.671,1.128,1.178,0.729,1.020,0.091,0.105,
+0.082,0.113,0.917,0.097,0.647,1.024,0.711,0.977,0.716,1.104,
+1.219,0.725,0.612,1.157,1.108,0.909,0.711,1.118,0.882,0.068,
+0.623,0.910,0.839,0.686,0.717,1.367,1.699,0.918,0.759,1.056,
+1.144,0.897,0.871,0.952,1.096,0.123,0.647,1.010,0.740,0.706,
+0.702,1.268,0.136,0.106,0.070,0.102,0.106,0.127,0.102,0.094,
+0.084,0.017,0.085,0.098,0.073,0.100,0.099,0.106,1.124,1.299,
+0.829,1.127,0.103,0.120,0.103,0.141,1.144,0.158,0.724,0.964,
+0.782,1.375,0.944,1.086,1.058,0.697,0.711,1.030,1.222,1.020,
+1.134,1.411,1.050,0.092,0.922,1.181,0.936,0.885,1.147,1.502,
+1.717,0.710,0.638,1.159,0.827,0.496,0.485,0.616,1.012,0.120,
+0.522,0.859,0.824,0.607,0.546,1.239,1.293,0.765,0.678,1.006,
+1.009,0.753,0.729,0.779,0.765,0.062,0.684,0.944,0.747,0.634,
+0.631,0.959,1.329,1.290,0.867,1.368,0.108,0.110,0.081,0.138,
+1.276,0.190,0.997,1.420,1.062,1.422,1.231,1.564,1.559,0.835,
+0.888,1.780,1.172,1.018,0.934,1.463,1.357,0.093,1.084,1.717,
+1.986,1.290,1.774,2.606,5.571,2.274,2.238,4.538,2.102,1.178,
+1.340,1.720,2.925,0.270,0.927,1.645,4.643,3.402,1.399,3.029,
+2.061,0.918,0.687,1.196,1.021,0.504,0.557,0.644,1.296,0.080,
+0.604,0.784,1.151,0.850,0.520,0.943,2.364,1.226,0.836,1.564,
+0.160,0.093,0.081,0.189,1.009,0.074,0.549,0.794,1.074,0.981,
+0.789,1.355,3.304,1.428,1.027,2.143,1.648,0.960,0.829,1.462,
+1.376,0.089,0.755,1.195,2.149,1.175,1.295,3.064,2.690,1.038,
+0.744,1.492,1.177,0.612,0.546,0.781,1.052,0.092,0.350,0.705,
+1.213,1.092,0.506,1.044,1.360,0.646,0.437,0.781,0.684,0.340,
+0.333,0.493,0.729,0.059,0.392,0.624,0.761,0.547,0.357,0.605,
+1.615,0.930,0.659,1.106,0.106,0.063,0.071,0.105,1.175,0.082,
+0.421,0.639,0.930,0.837,0.560,0.944,1.185,0.597,0.444,0.855,
+0.879,0.556,0.471,0.760,0.771,0.045,0.425,0.643,0.889,0.611,
+0.609,1.393,1.917,0.745,0.662,1.468,1.135,0.670,0.630,1.091,
+1.194,0.114,0.397,0.734,1.417,1.051,0.627,1.704,0.134,0.076,
+0.062,0.127,0.106,0.064,0.071,0.118,0.099,8.69e-3,0.052,0.085,
+0.166,0.152,0.069,0.166,0.984,0.695,0.736,1.083,0.074,0.052,
+0.057,0.113,0.712,0.064,0.414,0.564,0.765,0.766,0.532,0.825,
+0.921,0.473,0.531,1.012,0.936,0.595,0.593,0.977,0.764,0.062,
+0.518,0.740,0.966,0.767,0.743,1.541,2.663,0.929,0.856,2.093,
+1.070,0.582,0.665,1.145,1.482,0.131,0.638,1.068,2.394,1.502,
+1.034,2.659,1.657,0.818,0.785,1.275,1.061,0.578,0.750,1.064,
+1.114,0.072,0.621,0.967,1.484,1.120,0.742,1.430,1.382,0.943,
+1.144,1.521,0.117,0.076,0.150,0.163,1.127,0.088,0.817,1.096,
+1.160,1.243,0.976,1.412,2.382,1.068,0.951,2.204,1.513,0.889,
+0.835,1.587,1.750,0.119,1.034,1.735,2.980,2.151,1.933,4.527,
+3.421,1.637,1.431,2.846,1.761,0.994,0.856,1.284,1.893,0.153,
+0.597,1.187,1.900,1.659,0.872,1.731,2.289,1.052,0.852,1.896,
+1.253,0.702,0.694,0.851,1.128,0.116,0.791,1.101,0.867,0.804,
+0.588,1.069,1.604,1.269,0.851,1.425,0.141,0.117,0.094,0.167,
+0.906,0.091,0.549,0.901,0.879,1.072,0.751,1.341,1.476,0.825,
+0.642,1.264,1.295,0.874,0.692,1.109,0.940,0.072,0.507,0.953,
+1.125,0.776,0.857,1.885,2.263,1.184,0.999,1.985,1.342,0.813,
+0.619,0.839,0.891,0.087,0.370,0.799,0.899,0.848,0.476,1.019,
+1.602,0.946,0.547,0.949,1.230,0.543,0.536,0.620,0.816,0.092,
+0.443,0.750,0.639,0.604,0.416,0.674,1.275,1.208,0.879,1.199,
+0.137,0.154,0.272,0.229,0.962,0.115,0.549,0.846,0.764,1.017,
+0.807,1.177,0.984,0.667,0.435,0.795,1.027,0.853,0.736,0.853,
+0.668,0.053,0.383,0.659,0.708,0.673,0.604,1.170,1.736,0.963,
+0.711,1.436,1.195,0.843,0.784,0.995,1.118,0.126,0.488,0.772,
+0.993,0.923,0.591,1.327,0.106,0.095,0.055,0.123,0.094,0.113,
+0.074,0.086,0.083,0.015,0.078,0.090,0.095,0.126,0.062,0.110,
+1.072,1.074,0.835,1.135,0.090,0.099,0.093,0.123,0.990,0.129,
+0.591,0.827,0.872,1.351,0.794,1.141,0.915,0.540,0.555,1.070,
+1.071,0.916,0.850,1.094,0.857,0.072,0.576,0.849,0.885,0.782,
+0.868,1.525,1.924,0.903,0.723,1.636,0.957,0.622,0.550,0.822,
+1.178,0.098,0.474,0.804,1.487,1.068,0.711,1.718,1.629,1.025,
+0.827,1.465,1.148,0.888,0.858,1.027,1.049,0.083,0.713,1.076,
+1.163,1.151,0.784,1.352,1.190,1.055,0.944,1.417,0.089,0.086,
+0.072,0.124,1.009,0.091,0.681,1.093,1.025,1.319,0.917,1.523,
+1.500,0.794,0.709,1.394,1.153,0.904,0.681,1.103,1.230,0.088,
+0.700,1.267,1.717,1.277,1.343,2.670,2.113,0.954,0.793,1.497,
+1.042,0.661,0.521,0.873,1.202,0.107,0.491,0.784,1.359,1.035,
+1.000,1.152,1.622,0.962,0.604,0.986,0.857,0.576,0.555,0.570,
+1.145,0.130,0.576,0.810,0.762,0.843,0.554,0.923,1.182,1.281,
+0.759,1.212,0.129,0.202,0.099,0.176,0.844,0.105,0.485,0.995,
+0.735,1.096,0.641,1.181,1.070,0.882,0.561,1.135,0.926,1.223,
+0.654,1.004,0.948,0.089,0.578,1.037,1.020,0.781,0.884,1.920,
+0.121,0.074,0.054,0.107,0.085,0.068,0.052,0.079,0.084,9.44e-3,
+0.044,0.066,0.086,0.097,0.090,0.125,0.096,0.069,0.040,0.062,
+0.076,0.063,0.046,0.057,0.083,0.015,0.066,0.078,0.056,0.065,
+0.044,0.068,0.094,0.112,0.065,0.097,0.013,0.022,0.015,0.014,
+0.095,0.019,0.060,0.101,0.071,0.110,0.073,0.147,0.099,0.085,
+0.049,0.109,0.108,0.136,0.076,0.126,0.079,8.61e-3,0.068,0.097,
+0.081,0.074,0.078,0.167,1.223,0.720,0.524,0.926,0.881,0.759,
+0.686,0.767,0.841,0.111,0.659,0.714,0.712,0.832,0.713,1.049,
+0.078,0.077,0.043,0.073,0.065,0.070,0.056,0.052,0.064,0.014,
+0.107,0.072,0.072,0.099,0.068,0.086,0.910,1.194,0.958,1.144,
+0.076,0.116,0.079,0.101,0.900,0.117,0.512,0.690,0.608,0.914,
+0.657,0.898,0.944,0.636,0.581,0.800,0.827,0.851,0.705,0.815,
+0.885,0.087,1.432,0.985,0.661,0.694,0.868,1.219,1.176,0.648,
+0.468,1.022,0.712,0.499,0.400,0.596,0.838,0.071,0.527,0.719,
+0.892,0.698,0.606,1.086,1.317,0.808,0.604,0.924,0.861,0.784,
+0.610,0.642,0.841,0.077,0.769,0.905,0.923,1.007,0.748,1.100,
+1.066,1.373,0.820,1.313,0.113,0.393,0.087,0.117,1.052,0.184,
+0.771,1.190,0.950,1.423,1.052,1.500,1.045,0.701,0.580,0.996,
+0.931,1.109,0.629,0.848,1.010,0.091,0.972,1.204,1.140,1.064,
+1.131,1.969,4.362,1.253,1.370,2.431,1.262,0.672,0.628,1.076,
+1.354,0.109,0.560,1.063,1.752,1.167,0.827,2.099,1.635,0.776,
+0.543,0.964,0.845,0.451,0.462,0.624,0.882,0.060,0.531,0.784,
+0.762,0.609,0.449,0.877,1.450,1.144,0.732,1.527,0.104,0.097,
+0.068,0.179,0.857,0.078,0.500,1.029,0.953,0.947,0.698,1.498,
+2.060,0.979,0.995,2.121,1.222,0.767,0.717,1.451,1.156,0.077,
+0.777,1.538,2.066,1.174,1.328,3.768,1.542,0.719,0.599,1.071,
+0.847,0.511,0.405,0.597,0.738,0.054,0.389,0.688,0.813,0.720,
+0.538,1.193,0.977,0.547,0.330,0.632,0.569,0.314,0.264,0.411,
+0.584,0.041,0.397,0.625,0.522,0.468,0.354,0.693,1.124,0.759,
+0.535,0.978,0.071,0.056,0.040,0.080,0.775,0.059,0.439,0.830,
+0.770,0.865,0.626,1.355,1.187,0.585,0.540,1.157,1.011,0.617,
+0.505,0.996,0.799,0.049,0.576,0.896,1.030,0.732,0.806,1.838,
+1.973,1.145,1.109,1.592,1.314,0.868,0.918,1.479,1.286,0.127,
+0.694,1.071,1.197,1.008,0.965,1.801,0.117,0.100,0.079,0.118,
+0.080,0.074,0.070,0.089,0.080,0.010,0.067,0.082,0.100,0.104,
+0.081,0.138,1.380,1.251,1.124,1.547,0.095,0.131,0.075,0.134,
+1.263,0.108,0.734,1.039,1.045,1.238,1.107,1.600,1.554,0.941,
+0.997,1.471,1.513,1.119,1.117,1.653,1.444,0.138,1.606,1.610,
+1.335,1.131,1.470,2.322,3.591,1.246,1.085,2.163,1.351,0.826,
+0.729,1.113,1.827,0.119,0.859,1.435,2.280,1.373,1.333,3.213,
+1.920,1.166,0.894,1.404,1.427,1.230,0.845,1.025,1.275,0.075,
+0.870,1.279,1.431,1.139,0.992,1.925,2.046,1.784,1.300,2.288,
+0.110,0.118,0.070,0.150,1.717,0.112,1.197,2.085,1.836,1.889,
+1.877,3.075,3.571,1.775,1.579,3.579,2.006,1.501,1.296,2.348,
+2.320,0.125,1.781,3.136,4.009,2.252,2.615,5.337,6.680,3.775,
+2.847,5.058,3.801,2.706,2.126,2.622,4.135,0.414,2.053,2.788,
+4.569,3.517,2.158,3.575,4.411,2.743,1.930,2.315,2.762,1.808,
+1.561,1.573,2.855,0.255,1.596,1.949,2.072,1.894,1.404,2.128,
+3.265,2.749,1.985,2.469,0.294,0.272,0.222,0.371,2.245,0.223,
+1.314,1.753,1.687,2.200,1.674,2.175,4.814,2.305,2.016,3.278,
+3.242,2.193,1.969,2.941,2.642,0.208,1.454,2.186,2.790,1.875,
+2.112,3.435,4.880,2.129,1.307,2.601,2.945,2.123,1.343,1.594,
+2.454,0.275,0.994,1.451,1.605,1.680,0.937,1.485,3.471,2.031,
+1.048,1.437,1.968,1.314,1.111,1.007,2.220,0.290,1.070,1.539,
+1.142,1.568,0.853,1.128,2.192,2.676,1.249,1.630,0.204,0.227,
+0.160,0.188,2.266,0.269,1.325,1.610,1.175,2.117,1.379,1.601,
+1.712,1.295,0.771,1.261,1.924,1.651,0.973,1.390,1.812,0.155,
+1.075,1.523,1.425,1.424,1.429,2.229,2.458,1.517,0.940,1.539,
+2.038,1.353,1.233,1.351,1.910,0.250,0.890,1.512,1.333,1.289,
+1.002,1.922,0.201,0.276,0.109,0.143,0.181,0.181,0.154,0.153,
+0.178,0.041,0.134,0.183,0.176,0.291,0.147,0.218,1.440,1.481,
+1.096,1.234,0.154,0.152,0.135,0.205,1.418,0.176,0.817,0.998,
+0.839,1.324,0.983,1.056,1.334,0.960,0.793,1.142,1.726,1.448,
+1.110,1.900,1.597,0.178,0.996,1.576,1.353,1.284,1.334,2.016,
+3.338,1.446,1.103,2.318,1.821,1.051,0.971,1.183,1.769,0.167,
+0.811,1.219,2.391,1.556,1.209,2.522,2.525,1.956,1.176,1.638,
+1.843,1.463,1.334,1.398,1.530,0.144,1.039,1.453,1.526,1.754,
+1.250,1.803,1.650,1.505,1.422,1.630,0.156,0.137,0.166,0.174,
+1.564,0.144,1.070,1.402,1.395,1.714,1.708,1.691,2.122,1.402,
+1.134,2.052,1.523,1.172,1.103,1.625,2.145,0.157,1.400,2.265,
+2.341,2.014,2.331,3.474,4.902,3.601,2.251,3.302,3.225,2.792,
+1.968,2.231,2.329,0.263,1.108,1.669,1.961,1.989,1.214,1.985,
+3.699,3.716,1.757,2.073,2.668,2.250,1.823,2.098,1.969,0.254,
+1.378,1.924,1.196,1.470,0.893,1.419,2.029,2.790,1.671,1.637,
+0.248,0.388,0.245,0.279,1.709,0.224,1.253,1.472,1.154,1.918,
+1.269,1.522,2.015,1.212,1.006,1.494,2.248,2.089,1.375,1.601,
+1.461,0.209,0.849,1.253,1.434,1.414,1.417,2.260,3.466,2.845,
+1.175,1.645,2.542,2.555,1.389,1.265,1.790,0.262,0.835,1.111,
+0.986,1.505,0.735,1.102,2.531,2.666,1.070,1.083,1.771,0.919,
+1.307,0.967,1.735,0.303,1.001,1.313,0.816,1.479,0.859,0.922,
+1.727,3.047,1.226,1.350,0.235,0.476,0.281,0.214,2.095,0.430,
+1.360,1.740,1.022,3.012,1.410,1.450,1.238,1.086,0.669,0.808,
+1.686,2.002,0.969,1.041,1.499,0.191,0.802,1.098,1.053,2.068,
+1.012,1.549,2.111,3.052,0.974,1.325,2.338,2.368,1.808,1.459,
+1.626,0.286,0.973,1.248,0.922,1.262,0.958,1.266,0.227,1.069,
+0.149,0.156,0.190,0.342,0.229,0.147,0.181,0.090,0.182,0.207,
+0.094,0.249,0.138,0.143,1.857,2.671,1.409,1.259,0.231,0.385,
+0.267,0.220,2.063,0.359,1.415,1.761,0.970,2.286,1.591,1.502,
+1.124,1.124,0.748,0.935,2.026,2.596,1.702,1.718,1.794,0.242,
+1.338,1.674,0.951,1.400,1.390,1.639,1.857,1.374,0.766,1.165,
+1.295,1.027,0.967,0.784,0.934,0.104,0.481,0.694,0.923,0.811,
+0.644,1.130,1.963,3.180,1.089,1.230,1.421,1.597,1.164,1.118,
+1.073,0.152,0.859,1.261,0.789,1.278,0.816,1.073,1.256,1.616,
+1.120,1.143,0.131,0.185,0.129,0.137,1.369,0.169,1.196,1.401,
+0.927,1.522,2.052,1.701,1.465,0.962,0.712,0.994,1.438,1.300,
+0.837,1.229,1.533,0.141,1.067,1.616,1.456,1.584,1.884,2.261,
+2.552,1.475,1.224,1.729,1.477,1.217,0.899,0.970,1.244,0.157,
+0.752,0.952,1.184,1.139,0.628,1.100,2.184,1.842,1.502,1.356,
+1.530,1.360,1.140,0.965,1.579,0.222,1.079,1.205,0.913,1.279,
+0.707,0.953,1.764,2.274,2.251,1.827,0.223,0.315,0.272,0.312,
+1.592,0.263,0.959,1.241,0.932,2.041,1.062,1.493,1.330,0.902,
+0.911,1.273,1.475,1.339,1.052,1.236,1.346,0.163,0.816,1.258,
+1.256,1.324,1.206,2.486,0.169,0.166,0.092,0.151,0.196,0.240,
+0.116,0.110,0.153,0.034,0.091,0.105,0.094,0.170,0.101,0.114,
+0.193,0.260,0.129,0.168,0.210,0.352,0.183,0.132,0.209,0.063,
+0.184,0.166,0.098,0.205,0.106,0.121,0.132,0.278,0.176,0.151,
+0.038,0.089,0.073,0.043,0.220,0.075,0.223,0.213,0.105,0.329,
+0.163,0.171,0.147,0.131,0.087,0.130,0.398,0.376,0.225,0.239,
+0.183,0.034,0.139,0.178,0.143,0.186,0.149,0.256,1.155,0.900,
+0.629,1.021,1.058,1.077,1.059,0.796,1.350,0.221,0.714,0.837,
+0.766,0.845,0.647,0.784,0.115,0.165,0.079,0.078,0.114,0.157,
+0.114,0.086,0.128,0.038,0.100,0.095,0.092,0.168,0.078,0.095,
+0.903,1.527,0.974,0.776,0.130,0.233,0.159,0.133,1.435,0.265,
+0.670,0.956,0.634,1.517,0.980,0.903,0.706,0.640,0.568,0.569,
+0.994,1.327,1.026,0.916,1.262,0.183,0.818,1.013,0.684,0.927,
+0.882,1.061,1.043,0.804,0.590,1.239,0.819,0.576,0.444,0.480,
+0.737,0.081,0.395,0.562,0.722,0.622,0.443,0.830,1.445,1.268,
+0.764,0.869,1.515,1.466,0.952,0.974,1.128,0.148,0.922,1.099,
+0.869,1.215,0.763,0.983,1.102,1.435,0.895,0.973,0.134,0.197,
+0.119,0.123,1.452,0.213,0.949,1.254,0.838,1.512,1.040,1.213,
+1.081,0.699,0.634,0.708,1.057,1.103,0.822,0.897,1.438,0.146,
+1.046,1.592,1.264,1.279,1.239,1.899,2.865,1.629,1.277,2.269,
+1.414,1.156,0.782,0.926,1.276,0.145,0.645,1.113,1.638,1.284,
+0.990,2.181,1.302,0.886,0.585,1.081,0.906,0.587,0.487,0.582,
+0.849,0.085,0.464,0.851,0.832,0.709,0.485,0.967,1.338,1.287,
+0.921,1.378,0.142,0.153,0.109,0.209,1.042,0.111,0.589,0.874,
+0.917,1.194,0.832,1.351,1.627,0.873,0.834,1.881,1.203,0.922,
+0.794,1.287,1.143,0.107,0.732,1.310,1.586,1.250,1.282,3.240,
+2.365,1.897,0.982,1.707,2.148,2.038,0.939,1.099,1.666,0.183,
+0.791,1.181,1.217,1.349,0.988,1.450,1.864,1.630,0.799,1.303,
+1.510,1.413,0.931,0.963,1.520,0.199,1.028,1.351,0.933,1.239,
+0.753,1.204,1.269,1.587,0.890,1.223,0.130,0.195,0.131,0.170,
+1.617,0.208,1.034,1.275,0.996,1.976,1.118,1.375,1.266,0.872,
+0.663,1.128,1.744,1.645,1.016,1.460,1.369,0.125,0.948,1.291,
+1.216,1.275,1.139,1.982,1.186,0.900,0.614,0.965,1.019,0.810,
+0.795,0.881,1.307,0.313,0.922,1.277,0.844,1.044,0.876,1.253,
+0.100,0.133,0.064,0.093,0.081,0.105,0.075,0.070,0.117,0.038,
+0.109,0.183,0.085,0.154,0.083,0.124,0.968,1.066,0.715,0.850,
+0.099,0.109,0.093,0.105,1.204,0.157,0.661,0.992,0.693,1.210,
+0.843,1.060,0.797,0.641,0.531,0.741,1.092,1.043,0.853,1.104,
+1.494,0.221,0.910,1.402,0.977,1.100,1.052,1.581,1.944,0.960,
+0.731,1.316,1.023,0.682,0.533,0.714,1.015,0.103,0.547,0.864,
+1.285,0.931,0.832,1.905,1.206,0.856,0.520,0.790,1.051,0.733,
+0.649,0.694,0.890,0.088,0.660,1.133,0.858,0.923,0.719,1.218,
+1.713,1.418,0.981,1.391,0.126,0.127,0.087,0.140,1.462,0.138,
+0.981,1.544,1.386,1.743,1.454,1.783,1.896,1.110,0.924,1.872,
+1.534,1.525,1.031,1.567,2.047,0.137,1.416,2.483,2.455,2.078,
+2.253,3.682,4.259,2.784,2.116,3.256,2.980,2.367,1.677,1.671,
+2.613,0.317,1.368,1.995,2.450,2.432,1.383,2.119,3.443,2.572,
+1.505,1.870,2.697,2.129,1.613,1.417,2.525,0.349,1.873,2.106,
+1.360,1.842,1.287,1.564,1.656,1.827,1.196,1.390,0.188,0.213,
+0.182,0.231,1.366,0.202,0.975,1.061,0.920,1.561,1.139,1.255,
+1.863,1.126,0.843,1.522,1.888,1.587,1.234,1.539,1.330,0.160,
+0.976,1.348,1.370,1.227,1.532,2.364,3.189,2.119,1.331,3.346,
+2.741,2.221,1.391,1.394,1.948,0.324,1.164,1.449,1.174,1.678,
+1.179,1.365,2.569,2.344,1.145,2.223,2.009,1.589,1.334,1.204,
+2.456,0.688,1.680,2.992,1.055,2.078,1.186,1.258,1.438,2.176,
+1.098,1.133,0.220,0.319,0.222,0.192,1.865,0.371,1.488,1.433,
+0.880,2.230,1.461,1.204,0.959,0.874,0.501,0.744,1.627,1.626,
+0.943,1.071,1.241,0.175,0.974,1.189,1.005,1.337,2.625,2.527,
+1.490,1.130,0.729,1.026,1.701,1.572,1.259,1.169,1.614,0.263,
+0.921,1.100,0.924,1.105,0.791,1.214,0.138,0.201,0.113,0.129,
+0.185,0.259,0.197,0.167,0.197,0.076,0.195,0.215,0.112,0.283,
+0.141,0.159,0.853,1.385,0.902,0.774,0.127,0.169,0.142,0.145,
+1.272,0.238,1.048,1.110,0.647,1.342,0.992,0.887,0.671,0.659,
+0.502,0.647,1.178,1.387,0.906,1.112,1.252,0.182,0.977,1.207,
+0.798,1.213,1.090,1.431,1.668,0.769,0.594,1.276,0.914,0.677,
+0.484,0.650,1.174,0.115,0.476,0.641,1.061,0.891,0.638,1.331,
+1.455,1.309,0.845,1.160,1.504,1.414,1.080,1.416,1.185,0.177,
+0.930,1.210,0.804,1.353,0.799,1.119,0.925,0.960,0.830,0.939,
+0.095,0.104,0.119,0.122,1.041,0.138,0.871,0.966,0.683,1.213,
+1.184,1.089,1.015,0.720,0.641,1.046,0.804,0.836,0.705,0.881,
+1.343,0.135,0.975,1.339,1.267,1.553,1.607,2.232,2.634,2.292,
+1.493,2.120,2.490,2.679,1.669,1.552,1.598,0.215,0.880,1.207,
+1.176,1.386,0.817,1.255,2.478,2.425,1.391,1.418,2.235,2.649,
+1.878,1.560,1.633,0.303,1.437,1.676,0.772,1.376,0.878,1.069,
+1.286,1.950,1.255,1.259,0.169,0.296,0.237,0.227,1.371,0.230,
+1.265,1.184,0.807,1.538,1.142,1.251,1.020,0.775,0.626,1.032,
+1.411,1.675,1.221,1.177,0.928,0.120,0.815,0.956,0.986,0.917,
+1.015,1.492,1.913,1.749,0.778,1.064,1.648,2.008,1.009,0.885,
+1.266,0.221,0.746,0.833,0.628,1.083,0.560,0.778,1.047,1.094,
+0.566,0.650,0.390,0.126,0.430,0.365,0.973,0.362,0.737,0.988,
+0.411,1.002,0.525,0.560,0.949,2.020,0.888,0.859,0.171,0.425,
+0.228,0.186,1.458,0.370,1.069,1.267,0.662,2.230,1.239,1.150,
+0.563,0.652,0.446,0.471,1.130,1.725,0.790,0.844,1.013,0.173,
+0.872,0.943,0.628,1.033,0.837,1.041,1.299,1.382,0.758,0.920,
+1.892,2.720,1.646,1.309,1.471,0.306,0.977,1.063,0.703,1.263,
+0.835,0.980,0.133,0.363,0.136,0.130,0.212,0.528,0.318,0.183,
+0.199,0.128,0.239,0.215,0.082,0.335,0.156,0.131,1.013,2.177,
+1.304,1.075,0.205,0.488,0.298,0.236,1.608,0.385,1.304,1.541,
+0.735,2.359,1.529,1.515,0.678,0.752,0.579,0.683,1.627,2.780,
+1.838,1.653,1.573,0.248,1.398,1.571,0.797,1.218,1.295,1.522,
+1.007,0.761,0.504,0.861,0.870,0.858,0.520,0.551,0.811,0.091,
+0.412,0.495,0.609,0.636,0.471,0.771,1.114,1.507,0.938,0.940,
+1.380,2.018,1.237,1.220,0.955,0.191,0.855,1.040,0.552,1.234,
+0.772,0.863,0.807,1.412,1.044,0.951,0.095,0.205,0.131,0.133,
+0.956,0.168,1.162,1.206,0.654,1.528,2.159,1.738,0.719,0.684,
+0.478,0.733,0.839,1.193,0.717,0.895,1.072,0.123,0.914,1.168,
+0.823,1.222,1.964,1.935,1.977,1.685,1.017,1.449,1.756,1.382,
+0.916,1.063,1.329,0.167,0.770,0.860,0.975,1.107,0.809,1.078,
+2.418,2.836,1.135,1.726,2.433,2.306,1.883,1.576,1.988,0.381,
+1.789,1.760,0.968,1.769,1.011,1.211,1.307,2.474,1.724,1.703,
+0.319,0.523,0.442,0.518,1.462,0.336,1.346,1.509,0.921,2.424,
+1.119,1.301,1.180,0.953,0.702,1.065,3.266,2.675,1.736,1.790,
+1.238,0.198,1.000,1.311,1.076,1.373,1.234,1.983,0.122,0.155,
+0.083,0.153,0.249,0.329,0.190,0.165,0.171,0.048,0.132,0.122,
+0.090,0.172,0.220,0.154,0.192,0.333,0.128,0.392,0.372,0.427,
+0.340,0.257,0.248,0.159,0.329,0.290,0.119,0.268,0.139,0.127,
+0.141,0.447,0.332,0.262,0.112,0.269,0.191,0.138,0.278,0.170,
+0.697,0.536,0.098,0.399,0.254,0.181,0.226,0.156,0.082,0.111,
+1.950,1.110,0.488,0.456,0.203,0.063,0.233,0.219,0.121,0.177,
+0.172,0.199,1.201,1.307,0.676,0.886,1.474,2.315,1.355,1.127,
+1.579,0.368,1.117,1.135,0.720,1.245,0.818,0.947,0.141,0.331,
+0.133,0.128,0.300,0.586,0.284,0.216,0.206,0.122,0.267,0.193,
+0.094,0.283,0.147,0.121,0.940,2.382,1.119,0.905,0.195,0.479,
+0.254,0.195,1.993,0.534,1.014,1.427,0.721,2.262,1.204,1.093,
+0.609,0.773,0.450,0.584,1.509,2.627,1.415,1.449,1.594,0.319,
+1.464,1.526,0.684,1.254,1.153,1.301,0.974,0.775,0.490,0.895,
+1.209,0.688,0.455,0.740,0.864,0.102,0.485,0.645,0.658,0.692,
+0.417,0.812,1.820,2.107,0.993,1.284,4.816,2.917,1.820,3.276,
+2.065,0.366,1.613,1.923,1.199,1.955,1.074,1.358,1.410,1.845,
+1.023,1.104,0.169,0.275,0.164,0.183,1.605,0.344,1.364,1.611,
+0.811,2.264,1.197,1.379,0.855,0.747,0.516,0.843,1.185,1.385,
+0.826,1.083,1.374,0.177,1.333,1.614,1.019,1.584,1.330,1.721,
+1.629,1.088,0.780,1.272,1.141,0.861,0.611,0.826,0.990,0.120,
+0.525,0.833,0.985,0.904,0.662,1.285,1.247,1.067,0.585,0.874,
+0.956,0.757,0.575,0.739,0.860,0.132,0.542,0.912,0.652,0.748,
+0.437,0.823,0.843,1.014,0.700,0.881,0.097,0.121,0.092,0.155,
+0.809,0.116,0.577,0.758,0.719,0.970,0.696,0.894,0.908,0.590,
+0.525,1.057,1.058,0.878,0.647,1.053,0.771,0.076,0.524,0.945,
+1.020,0.777,0.856,1.900,1.523,1.282,0.724,1.152,1.586,1.697,
+1.132,1.071,1.325,0.191,0.925,1.092,0.905,1.369,1.906,1.533,
+1.397,1.579,0.769,1.424,1.638,1.598,1.256,1.116,1.374,0.247,
+1.140,1.383,0.837,1.283,0.816,0.959,0.933,1.703,1.227,1.225,
+0.199,0.380,0.290,0.289,1.327,0.275,1.427,1.503,0.782,1.756,
+1.191,1.139,0.830,0.691,0.529,0.783,2.919,2.349,1.409,1.700,
+1.088,0.143,0.937,1.201,0.792,0.963,1.046,1.491,0.952,0.765,
+0.456,0.627,1.089,1.147,0.877,0.859,1.270,0.199,0.818,1.033,
+0.725,0.868,0.738,1.057,0.082,0.122,0.060,0.082,0.104,0.190,
+0.122,0.103,0.102,0.036,0.109,0.125,0.069,0.144,0.096,0.103,
+0.657,1.087,0.656,0.648,0.090,0.139,0.098,0.113,1.154,0.234,
+0.906,1.227,0.598,1.344,0.946,1.026,0.564,0.582,0.427,0.555,
+0.997,1.187,0.930,1.165,1.270,0.177,1.035,1.309,0.796,0.913,
+1.018,1.426,1.182,0.715,0.469,0.785,0.718,0.581,0.399,0.563,
+0.747,0.077,0.452,0.643,0.770,0.634,0.572,1.089,1.012,0.881,
+0.496,0.733,1.233,0.944,0.709,0.967,0.877,0.096,0.609,0.916,
+0.690,0.809,0.634,1.042,1.564,1.028,0.756,1.018,0.109,0.098,
+0.069,0.118,1.074,0.139,0.912,1.170,0.792,1.323,1.095,1.288,
+1.065,0.723,0.579,1.201,1.078,1.166,0.823,1.669,1.310,0.122,
+1.145,1.810,1.464,1.540,1.623,2.248,2.449,2.057,1.621,2.445,
+2.102,1.734,1.476,1.533,1.930,0.234,1.140,1.667,1.945,1.853,
+1.075,1.678,2.130,1.648,1.305,1.232,1.545,1.233,1.147,0.993,
+1.325,0.175,0.969,1.063,0.928,1.212,0.956,1.162,1.762,1.580,
+1.093,1.612,0.172,0.177,0.154,0.250,1.115,0.140,0.869,1.093,
+0.757,1.114,0.982,1.221,1.762,1.072,0.735,1.413,1.516,1.224,
+1.011,1.412,1.049,0.107,1.130,1.103,1.141,0.862,1.389,1.896,
+2.632,1.935,1.122,1.685,2.266,2.097,1.658,1.451,1.584,0.239,
+0.822,1.044,1.077,1.503,0.889,1.263,2.258,2.209,1.127,1.221,
+1.927,1.524,1.638,1.228,1.925,0.330,1.195,1.470,0.963,1.726,
+0.967,1.099,2.028,3.390,1.690,2.034,0.289,0.433,0.329,0.365,
+2.255,0.451,1.929,2.045,1.008,2.423,1.678,1.590,1.156,0.957,
+0.572,0.941,1.874,1.824,1.183,1.718,1.234,0.144,0.889,1.136,
+0.987,0.987,1.135,1.859,1.608,1.039,0.716,1.150,1.896,1.680,
+1.721,1.571,1.725,0.294,0.992,1.118,1.097,1.289,1.065,1.460,
+0.165,0.224,0.118,0.175,0.229,0.311,0.248,0.224,0.228,0.071,
+0.219,0.239,0.167,0.379,0.195,0.278,1.205,1.434,1.248,1.562,
+0.208,0.232,0.247,0.276,1.589,0.315,1.153,1.152,0.903,1.794,
+1.201,1.269,0.817,0.670,0.568,1.117,1.435,1.504,1.313,1.646,
+1.179,0.178,0.993,1.300,1.079,1.245,1.349,3.767,1.428,0.741,
+0.630,1.218,0.901,0.660,0.703,0.860,0.933,0.120,0.495,0.645,
+1.214,1.005,0.717,1.374,1.529,1.411,0.855,1.176,1.405,1.620,
+1.313,1.516,1.189,0.167,0.868,1.062,0.989,1.405,0.885,1.309,
+1.224,1.410,1.466,1.631,0.147,0.161,0.187,0.215,1.414,0.203,
+1.345,1.498,1.127,1.924,1.548,1.644,1.353,0.883,0.812,1.594,
+0.946,0.851,0.929,1.220,1.445,0.159,1.189,1.537,1.839,1.995,
+1.899,3.224,0.161,0.169,0.159,0.140,0.177,0.213,0.143,0.142,
+0.149,0.027,0.084,0.114,0.112,0.145,0.091,0.133,0.244,0.248,
+0.383,0.195,0.288,0.302,0.320,0.197,0.201,0.080,0.294,0.252,
+0.097,0.212,0.155,0.147,0.118,0.218,0.141,0.137,0.034,0.056,
+0.056,0.044,0.144,0.041,0.151,0.144,0.079,0.173,0.165,0.156,
+0.117,0.090,0.076,0.116,0.178,0.217,0.158,0.168,0.122,0.025,
+0.137,0.130,0.100,0.105,0.176,0.190,0.169,0.197,0.102,0.114,
+0.204,0.289,0.174,0.126,0.138,0.044,0.087,0.100,0.070,0.132,
+0.123,0.098,0.249,0.363,0.167,0.132,0.350,0.283,0.344,0.207,
+0.283,0.122,0.201,0.200,0.106,0.253,0.155,0.126,0.167,0.398,
+0.208,0.197,0.067,0.225,0.144,0.072,0.275,0.149,0.288,0.245,
+0.094,0.383,0.307,0.202,0.092,0.105,0.066,0.078,0.189,0.305,
+0.210,0.175,0.145,0.029,0.132,0.117,0.076,0.125,0.139,0.148,
+0.122,0.130,0.074,0.091,0.198,0.289,0.282,0.177,0.171,0.064,
+0.166,0.124,0.069,0.147,0.120,0.118,0.027,0.072,0.036,0.033,
+0.067,0.146,0.135,0.060,0.067,0.073,0.113,0.057,0.018,0.074,
+0.053,0.033,0.139,0.310,0.230,0.179,0.063,0.142,0.164,0.070,
+0.336,0.206,0.335,0.261,0.111,0.436,0.300,0.201,0.096,0.087,
+0.076,0.101,0.220,0.368,0.306,0.231,0.198,0.067,0.216,0.200,
+0.095,0.163,0.193,0.283,0.128,0.122,0.078,0.113,0.115,0.126,
+0.097,0.098,0.103,0.019,0.061,0.076,0.106,0.118,0.093,0.144,
+0.254,0.367,0.195,0.203,0.337,0.513,0.377,0.311,0.235,0.070,
+0.213,0.237,0.138,0.320,0.192,0.208,0.129,0.231,0.188,0.179,
+0.028,0.056,0.050,0.037,0.228,0.072,0.286,0.284,0.130,0.322,
+0.308,0.251,0.128,0.118,0.088,0.140,0.141,0.183,0.141,0.154,
+0.203,0.032,0.188,0.228,0.163,0.237,0.284,0.322,1.849,1.389,
+1.584,1.455,1.646,1.486,1.107,1.145,1.554,0.176,0.767,1.002,
+0.988,0.987,0.752,1.029,1.797,1.968,1.098,1.170,2.085,1.995,
+2.109,1.444,1.880,0.347,1.765,1.515,0.849,1.483,0.999,1.092,
+1.394,2.383,1.585,1.652,0.261,0.408,0.358,0.470,1.896,0.436,
+1.522,1.623,0.931,2.079,1.413,1.534,1.519,0.855,0.613,0.990,
+1.371,1.502,1.273,1.576,1.336,0.185,1.099,1.559,1.114,1.038,
+1.204,1.791,0.162,0.165,0.095,0.148,0.262,0.334,0.219,0.166,
+0.147,0.038,0.129,0.145,0.082,0.131,0.084,0.115,0.179,0.254,
+0.140,0.123,0.339,0.411,0.511,0.253,0.262,0.119,0.330,0.274,
+0.087,0.210,0.146,0.116,0.148,0.386,0.201,0.169,0.060,0.164,
+0.136,0.073,0.310,0.205,0.424,0.370,0.113,0.387,0.276,0.216,
+0.138,0.111,0.070,0.109,0.267,0.362,0.240,0.261,0.168,0.049,
+0.186,0.207,0.089,0.122,0.139,0.176,1.433,1.287,0.709,0.708,
+1.896,2.520,2.045,1.286,1.581,0.373,1.236,1.137,0.730,1.236,
+0.940,1.017,0.158,0.344,0.163,0.105,0.265,0.632,0.456,0.191,
+0.234,0.131,0.336,0.206,0.100,0.288,0.180,0.145,1.389,2.701,
+1.792,1.378,0.338,0.583,0.572,0.330,2.178,0.537,0.861,1.430,
+0.871,2.207,1.951,1.439,0.825,1.002,0.651,0.687,1.663,2.497,
+2.208,1.584,1.597,0.335,1.525,1.455,0.732,1.213,1.357,1.405,
+1.124,0.833,0.567,0.826,1.091,1.522,0.716,0.654,0.900,0.136,
+0.634,0.759,0.670,0.757,0.523,0.919,1.744,2.493,1.366,1.079,
+3.018,7.381,3.189,1.790,1.893,0.417,1.703,1.605,0.962,2.032,
+1.188,1.233,2.093,2.780,1.656,1.611,0.575,0.620,0.422,0.299,
+3.111,0.672,4.549,3.515,1.348,2.969,2.287,1.988,1.124,0.843,
+0.653,0.967,1.773,1.858,1.371,1.238,1.722,0.234,1.894,1.894,
+1.094,1.482,1.546,1.859,1.534,0.976,0.663,1.139,0.950,0.762,
+0.618,0.757,1.097,0.116,0.459,0.811,1.046,0.917,0.602,2.562,
+1.125,0.845,0.473,0.634,0.855,0.564,0.477,0.527,0.715,0.078,
+0.392,0.664,0.698,0.635,0.464,0.760,0.946,1.053,0.669,0.978,
+0.111,0.123,0.122,0.188,0.906,0.124,0.648,0.910,0.901,1.180,
+2.384,2.041,1.089,0.655,0.478,0.868,0.913,0.703,0.643,0.917,
+0.766,0.082,0.498,0.827,1.075,0.835,0.970,1.863,1.815,1.525,
+0.868,1.306,1.814,1.749,1.340,1.195,1.295,0.176,0.875,1.080,
+0.870,1.216,0.754,1.245,1.820,2.018,0.934,1.065,2.348,1.840,
+1.779,1.397,1.461,0.256,1.239,1.527,0.893,1.437,0.930,1.043,
+1.390,2.470,1.189,1.437,0.198,0.367,0.223,0.276,1.852,0.365,
+1.655,2.035,1.032,2.417,1.768,1.869,1.210,0.935,0.668,0.984,
+1.801,1.981,1.458,1.892,1.383,0.156,1.100,1.423,1.003,1.107,
+1.092,1.752,1.392,1.075,0.658,0.832,1.585,1.635,1.694,1.295,
+1.482,0.274,1.080,2.336,0.759,1.065,0.916,1.396,0.123,0.156,
+0.078,0.104,0.166,0.260,0.248,0.163,0.142,0.059,0.179,0.230,
+0.086,0.178,0.140,0.149,1.258,2.176,1.467,1.624,0.212,0.316,
+0.301,0.270,2.018,0.413,1.427,1.775,0.983,2.206,1.947,1.660,
+1.018,0.930,0.795,0.938,1.812,1.958,2.286,2.009,1.642,0.216,
+1.523,1.837,1.107,1.245,1.628,1.848,1.322,0.735,0.515,0.875,
+0.799,0.647,0.596,0.598,0.819,0.098,0.475,0.795,0.751,0.648,
+0.575,1.121,1.154,1.015,0.664,0.839,1.203,1.560,1.063,0.980,
+1.138,0.128,0.798,1.114,0.701,0.953,0.809,1.020,1.375,1.691,
+1.153,1.633,0.170,0.192,0.149,0.200,1.942,0.261,2.029,2.445,
+1.318,2.090,1.979,2.020,1.372,0.951,0.825,1.778,1.443,1.421,
+1.345,1.826,1.650,0.146,1.538,2.263,1.687,1.684,1.895,2.284,
+2.640,1.455,1.323,2.613,1.549,0.986,0.836,1.186,1.772,0.161,
+0.672,1.126,2.315,1.885,0.922,1.786,1.730,1.032,0.723,1.066,
+0.985,0.609,0.528,0.620,1.054,0.105,0.779,0.884,1.121,1.166,
+0.739,1.120,1.417,1.126,0.796,1.278,0.116,0.107,0.079,0.154,
+0.914,0.084,0.456,0.668,0.860,1.014,0.771,1.170,1.852,0.909,
+0.726,1.411,1.243,0.984,0.723,1.098,1.074,0.085,0.695,0.861,
+1.465,0.974,1.132,2.087,1.905,0.973,0.646,1.299,1.360,0.792,
+0.557,0.799,0.894,0.096,0.360,0.708,0.880,0.904,0.480,0.906,
+1.211,0.828,0.471,0.768,0.799,0.601,0.444,0.567,0.855,0.100,
+0.439,0.695,0.746,0.914,0.584,0.726,1.015,1.018,0.739,1.094,
+0.087,0.096,0.095,0.126,1.038,0.112,0.516,0.737,0.768,1.314,
+0.773,0.935,0.881,0.640,0.430,0.757,0.832,0.772,0.533,0.797,
+0.783,0.059,0.522,0.660,0.823,0.702,0.822,1.337,1.111,0.594,
+0.477,0.953,0.937,0.614,0.612,0.954,0.858,0.108,0.355,0.587,
+0.850,0.745,0.519,1.071,0.084,0.073,0.049,0.091,0.075,0.067,
+0.064,0.089,0.068,0.012,0.046,0.064,0.106,0.144,0.068,0.128,
+0.686,0.694,0.561,0.901,0.070,0.069,0.061,0.099,0.710,0.097,
+0.396,0.509,0.651,0.978,0.602,0.734,0.635,0.420,0.397,0.832,
+0.741,0.641,0.530,0.799,0.715,0.075,0.481,0.681,0.771,0.744,
+0.772,1.451,1.530,0.622,0.592,1.305,0.756,0.450,0.466,0.743,
+0.923,0.079,0.390,0.663,1.470,0.910,0.689,1.521,1.153,0.699,
+0.592,1.000,0.889,0.605,0.650,0.792,0.736,0.066,0.452,0.658,
+1.022,1.007,0.664,1.145,0.855,0.839,0.812,1.128,0.075,0.068,
+0.070,0.100,0.782,0.072,0.558,0.775,0.912,1.196,0.969,1.291,
+1.363,0.798,0.748,1.481,0.846,0.691,0.622,1.000,1.258,0.101,
+0.835,1.278,1.834,1.790,1.690,3.270,2.755,1.708,1.503,2.278,
+1.821,1.400,1.130,1.344,1.806,0.180,0.952,1.400,1.505,1.501,
+0.921,1.640,2.213,1.493,1.532,1.662,1.785,1.349,1.240,1.247,
+1.769,0.318,3.407,3.031,0.955,1.570,1.138,1.505,1.341,1.641,
+1.138,1.489,0.166,0.194,0.193,0.243,1.220,0.170,0.966,1.294,
+0.929,1.465,1.200,1.625,1.358,0.865,0.741,1.313,1.567,1.394,
+1.060,1.470,1.021,0.112,0.851,1.176,1.165,1.092,1.298,2.138,
+2.106,1.494,0.857,1.532,1.688,1.503,0.999,1.077,1.114,0.156,
+0.527,0.927,0.842,1.085,0.742,1.104,1.869,1.774,0.862,1.154,
+1.777,1.130,1.146,1.127,1.385,0.246,0.933,1.274,0.833,1.453,
+0.861,1.073,1.305,1.916,1.886,1.919,0.209,0.303,0.704,0.490,
+1.497,0.274,1.114,1.410,0.976,2.042,2.270,1.875,1.032,0.890,
+0.734,1.049,1.536,1.652,1.694,1.596,1.046,0.111,0.809,1.027,
+1.035,1.125,1.434,1.842,1.275,0.912,0.612,1.074,1.358,1.255,
+1.132,1.398,1.171,0.194,0.640,0.851,0.792,0.978,0.648,1.099,
+0.095,0.163,0.072,0.111,0.126,0.196,0.148,0.146,0.130,0.049,
+0.133,0.129,0.088,0.208,0.098,0.127,0.972,1.436,0.984,1.125,
+0.130,0.218,0.178,0.182,1.548,0.311,1.011,1.283,1.050,2.404,
+1.219,1.400,0.933,0.705,0.604,1.002,1.363,1.711,1.334,1.486,
+1.285,0.152,0.939,1.318,1.027,1.207,1.240,1.919,1.469,0.797,
+0.650,1.133,0.955,0.675,0.627,0.772,1.084,0.110,0.476,0.705,
+1.182,1.004,0.677,1.293,1.580,1.453,1.028,1.362,1.466,1.440,
+1.422,1.449,1.192,0.172,0.924,1.225,1.093,1.879,0.975,1.396,
+0.957,1.275,1.041,1.267,0.104,0.142,0.113,0.144,1.250,0.156,
+1.069,1.471,1.134,2.030,1.401,1.770,1.314,0.933,0.801,1.218,
+1.162,1.341,0.905,1.232,1.402,0.140,1.074,1.801,1.659,1.812,
+1.941,2.999,1.497,0.912,0.690,1.197,1.013,0.832,0.624,0.816,
+1.128,0.108,0.506,0.775,0.963,0.835,0.586,0.915,1.497,1.151,
+0.668,0.905,1.175,1.019,0.820,0.741,1.174,0.159,0.926,1.030,
+0.769,1.103,0.819,0.926,1.186,1.456,1.033,1.412,0.153,0.211,
+0.158,0.269,1.160,0.169,0.867,1.188,0.790,1.468,1.084,1.341,
+1.056,0.757,0.596,1.120,1.037,1.103,0.844,1.142,1.130,0.132,
+0.822,1.277,1.159,1.075,1.225,2.091,0.095,0.088,0.048,0.091,
+0.099,0.115,0.070,0.083,0.074,0.015,0.057,0.078,0.064,0.104,
+0.064,0.097,0.101,0.122,0.062,0.075,0.125,0.180,0.111,0.094,
+0.105,0.036,0.148,0.131,0.068,0.128,0.081,0.082,0.077,0.138,
+0.079,0.092,0.017,0.039,0.032,0.025,0.124,0.037,0.142,0.134,
+0.073,0.177,0.119,0.125,0.081,0.082,0.056,0.094,0.161,0.189,
+0.117,0.144,0.110,0.020,0.102,0.132,0.089,0.098,0.109,0.172,
+0.985,0.768,0.464,0.606,0.925,1.064,0.917,0.821,0.939,0.174,
+0.607,0.725,0.665,0.854,0.650,0.933,0.077,0.121,0.055,0.069,
+0.085,0.146,0.108,0.067,0.097,0.037,0.097,0.083,0.069,0.161,
+0.085,0.099,0.830,1.501,0.952,0.919,0.117,0.213,0.181,0.145,
+1.414,0.270,0.679,0.989,0.653,1.531,1.026,1.037,0.683,0.697,
+0.549,0.662,1.019,1.401,1.110,1.030,1.276,0.173,1.160,1.198,
+0.745,1.006,1.041,1.332,0.884,0.619,0.468,0.812,0.729,0.683,
+0.503,0.683,0.779,0.099,0.547,0.735,0.741,0.823,0.696,0.996,
+1.209,1.195,0.750,0.894,1.222,1.606,1.102,0.936,1.077,0.147,
+0.866,0.970,0.878,1.500,1.019,1.201,1.340,1.751,1.086,1.216,
+0.166,0.279,0.200,0.150,1.536,0.212,1.467,1.714,1.144,1.896,
+1.534,1.775,0.999,0.791,0.686,0.974,1.084,1.258,0.959,1.000,
+1.454,0.143,1.320,1.687,1.243,1.452,1.598,2.328,2.342,1.037,
+0.836,1.595,1.151,0.714,0.548,0.932,1.172,0.113,0.504,0.924,
+1.345,1.014,0.714,1.656,1.286,0.705,0.454,0.758,0.905,0.530,
+0.459,0.604,0.754,0.069,0.459,0.692,0.615,0.614,0.397,0.811,
+1.096,1.052,0.709,1.187,0.107,0.107,0.080,0.169,0.920,0.089,
+0.595,0.980,0.872,1.012,0.886,1.374,1.334,0.689,0.635,1.285,
+0.915,0.663,0.593,1.027,0.981,0.081,0.644,1.203,1.413,0.995,
+1.102,2.674,1.502,0.976,0.623,1.089,1.094,0.841,0.615,0.806,
+0.850,0.086,0.551,0.857,0.786,0.888,0.623,1.157,1.183,0.892,
+0.426,0.775,0.906,0.760,0.550,0.713,0.850,0.095,0.650,0.957,
+0.633,0.817,0.539,0.916,0.891,0.954,0.593,0.936,0.070,0.088,
+0.066,0.104,0.935,0.100,0.672,1.024,0.779,1.132,0.896,1.287,
+1.138,0.677,0.549,1.001,1.052,0.853,0.692,1.078,0.978,0.076,
+0.782,1.115,1.001,0.887,1.004,1.860,1.509,1.012,0.692,0.972,
+1.176,1.003,0.976,1.236,1.284,0.161,0.690,1.110,0.936,0.968,
+0.887,1.506,0.110,0.163,0.057,0.089,0.084,0.100,0.080,0.092,
+0.083,0.016,0.068,0.090,0.082,0.127,0.080,0.135,1.146,1.357,
+1.075,1.300,0.100,0.137,0.116,0.148,1.489,0.189,0.921,1.324,
+0.967,1.576,1.445,1.680,1.229,1.007,0.790,1.146,1.429,1.633,
+1.466,1.688,1.672,0.157,1.322,1.784,1.295,1.232,1.534,2.313,
+2.167,1.005,0.816,1.515,1.146,0.793,0.684,0.928,1.453,0.117,
+0.747,1.169,1.590,1.192,1.113,2.385,1.743,1.321,0.814,1.212,
+1.690,1.612,1.001,1.139,1.339,0.108,0.915,1.430,1.132,1.303,
+1.001,1.798,1.714,1.819,1.352,2.065,0.127,0.131,0.117,0.185,
+2.089,0.176,1.981,3.122,1.765,2.193,2.419,3.437,2.590,1.565,
+1.451,2.842,1.927,1.563,1.528,2.315,2.502,0.152,2.235,3.643,
+2.903,2.233,2.710,3.396,4.169,2.293,2.181,4.025,2.564,1.536,
+1.469,1.661,2.805,0.250,1.384,1.828,3.223,2.269,1.518,2.659,
+3.033,1.646,1.363,1.832,1.830,1.115,1.152,1.078,1.980,0.182,
+1.395,1.436,1.467,1.322,1.060,1.435,2.096,1.445,2.277,2.238,
+0.186,0.158,0.176,0.283,1.308,0.133,0.940,1.213,1.173,1.280,
+1.158,1.445,2.783,1.232,1.589,2.855,1.928,1.365,1.329,2.004,
+1.623,0.127,1.040,1.496,1.917,1.119,1.413,2.335,2.290,1.244,
+1.085,1.453,1.316,0.899,0.762,0.832,1.230,0.128,0.619,0.844,
+0.980,0.957,0.749,0.986,1.677,1.092,0.878,0.916,0.982,0.648,
+0.744,0.699,1.208,0.136,0.865,0.973,0.741,0.859,0.898,0.769,
+1.213,1.083,0.980,1.131,0.117,0.103,0.113,0.140,1.194,0.120,
+0.769,0.894,0.639,0.954,0.851,0.852,1.020,0.662,0.560,0.927,
+0.998,0.760,0.658,0.947,0.962,0.069,0.631,0.848,0.821,0.644,
+0.787,1.223,1.977,0.679,0.939,1.181,1.271,0.933,0.994,0.978,
+1.551,0.206,0.756,1.005,1.116,1.012,0.766,1.252,0.156,0.129,
+0.087,0.115,0.125,0.106,0.099,0.102,0.130,0.027,0.153,0.116,
+0.150,0.234,0.117,0.165,0.981,0.867,0.999,0.903,0.089,0.088,
+0.095,0.113,0.865,0.110,0.739,0.795,0.628,0.810,1.014,0.860,
+0.821,0.561,0.650,0.822,0.959,0.825,0.818,1.006,0.973,0.092,
+0.752,1.047,0.796,0.760,0.892,1.294,2.747,0.929,0.942,1.666,
+1.007,0.778,1.102,0.829,1.131,0.106,0.646,0.834,1.466,0.976,
+0.897,1.817,1.820,1.440,0.983,1.163,1.304,0.853,0.946,0.949,
+1.193,0.119,1.074,1.085,1.188,1.144,0.968,1.330,1.218,0.892,
+1.065,1.429,0.094,0.071,0.104,0.133,0.891,0.076,0.763,0.882,
+0.894,0.935,1.201,1.192,1.526,0.802,0.940,1.597,0.779,0.564,
+0.791,0.952,1.514,0.101,1.001,1.505,1.909,1.294,1.489,2.614,
+4.011,2.730,2.088,3.160,2.295,1.774,1.646,1.742,1.958,0.232,
+1.074,1.741,1.870,1.844,1.264,2.265,3.082,2.585,1.717,1.874,
+2.182,1.657,1.630,1.508,2.253,0.291,1.897,2.092,1.316,1.539,
+1.198,1.834,1.675,1.729,2.433,1.861,0.197,0.242,0.256,0.271,
+1.317,0.175,1.156,1.247,0.863,1.517,1.163,1.365,1.754,0.970,
+1.180,1.626,1.895,1.526,1.348,1.605,1.210,0.117,0.932,1.213,
+1.148,1.017,1.275,2.028,2.586,2.081,1.083,1.413,1.732,1.572,
+1.165,1.135,1.514,0.207,0.822,1.151,0.936,1.274,0.738,1.119,
+1.857,1.996,1.135,1.108,1.263,0.652,1.140,0.981,1.706,0.264,
+1.371,1.611,0.762,1.273,1.028,1.134,1.528,2.027,1.653,1.650,
+0.183,0.248,0.299,0.320,1.525,0.260,1.287,1.476,0.801,1.988,
+1.315,1.354,1.131,0.862,0.733,0.985,1.367,1.276,1.230,1.377,
+1.042,0.117,0.766,0.988,0.732,0.877,0.884,1.312,2.376,1.912,
+1.272,1.448,1.865,2.034,2.149,1.531,1.968,0.307,1.444,1.665,
+1.007,1.392,1.255,1.577,0.207,0.387,0.156,0.159,0.176,0.296,
+0.276,0.165,0.199,0.073,0.409,0.242,0.123,0.290,0.197,0.211,
+2.133,2.131,1.761,1.532,0.220,0.298,0.269,0.217,1.676,0.298,
+1.597,1.797,0.865,1.941,2.002,1.617,1.376,1.128,0.906,1.014,
+1.675,1.997,1.728,1.646,1.856,0.188,1.451,1.740,0.893,1.088,
+1.401,1.590,1.805,1.250,0.876,1.269,1.055,1.101,0.915,0.841,
+0.961,0.099,0.679,0.866,0.979,0.839,0.801,1.449,2.021,2.176,
+1.347,1.431,1.521,1.585,1.990,1.465,1.376,0.171,1.753,1.728,
+1.052,1.451,1.236,1.605,1.190,1.199,1.306,1.390,0.112,0.136,
+0.125,0.149,1.079,0.122,1.094,1.281,0.930,1.206,1.352,1.413,
+1.276,0.731,0.829,1.123,1.031,0.928,0.828,1.093,1.429,0.112,
+1.284,2.017,1.441,1.371,1.548,2.244,3.773,1.794,2.099,2.422,
+1.163,0.973,0.927,1.011,1.537,0.167,0.886,1.167,1.454,1.344,
+0.881,1.525,2.542,2.509,1.974,1.781,1.616,1.451,1.560,1.263,
+2.430,0.297,1.833,2.310,1.538,1.668,1.158,1.481,4.513,3.938,
+23.6,5.994,0.424,0.488,1.105,0.949,2.376,0.343,2.141,1.908,
+1.118,1.988,2.003,1.878,1.805,1.172,3.207,3.616,1.260,1.294,
+2.267,1.759,1.643,0.163,1.219,1.604,1.346,1.156,1.551,2.832,
+0.245,0.191,0.148,0.195,0.178,0.222,0.146,0.162,0.180,0.032,
+0.122,0.156,0.131,0.186,0.126,0.183,0.247,0.306,0.238,0.178,
+0.226,0.293,0.242,0.161,0.289,0.069,0.303,0.279,0.164,0.303,
+0.167,0.178,0.238,0.403,0.958,0.418,0.036,0.081,0.143,0.086,
+0.366,0.071,0.298,0.394,0.139,0.319,0.269,0.234,0.230,0.186,
+0.325,0.473,0.300,0.431,0.503,0.580,0.229,0.037,0.198,0.258,
+0.192,0.197,0.220,0.390,1.348,1.004,0.813,0.801,1.005,1.327,
+1.179,0.918,1.769,0.272,1.436,1.496,0.833,1.008,0.889,1.126,
+0.132,0.193,0.110,0.110,0.115,0.294,0.170,0.104,0.177,0.053,
+0.191,0.164,0.117,0.223,0.154,0.149,1.080,2.864,1.683,1.192,
+0.182,0.877,0.225,0.210,1.456,0.267,1.007,1.197,0.609,1.272,
+1.180,0.996,0.746,0.832,0.790,0.980,1.162,2.704,1.424,2.293,
+1.109,0.177,1.074,1.139,0.634,0.835,0.894,1.077,1.109,0.672,
+0.560,0.784,0.641,0.524,0.500,0.490,0.855,0.084,0.621,0.724,
+0.778,0.628,0.533,0.937,1.602,1.339,1.007,1.153,1.284,1.681,
+1.188,0.929,1.509,0.186,1.300,1.667,1.158,1.433,1.203,1.417,
+1.123,1.474,1.708,1.293,0.126,0.253,0.185,0.159,1.262,0.148,
+1.095,1.264,0.764,1.281,1.205,1.296,1.195,0.786,0.839,0.945,
+0.920,1.108,0.866,1.083,1.257,0.141,1.137,1.399,1.239,1.350,
+1.311,1.910,3.293,1.344,1.453,2.226,1.077,0.714,0.723,0.836,
+1.379,0.131,0.659,1.007,1.710,1.138,0.929,1.885,1.626,0.932,
+0.904,1.056,0.989,0.549,0.655,0.713,1.279,0.104,0.715,1.053,
+1.531,0.845,0.644,1.140,1.763,1.244,3.158,2.625,0.158,0.129,
+0.183,0.294,1.159,0.110,0.777,1.074,0.937,0.989,0.879,1.374,
+2.007,0.924,1.938,4.016,1.227,0.865,1.144,1.890,1.184,0.097,
+0.805,1.298,1.673,1.099,1.364,3.296,2.375,1.269,1.028,1.517,
+1.238,1.017,0.828,0.861,1.237,0.128,0.856,1.167,1.013,0.951,
+0.889,1.265,1.959,1.342,1.184,1.225,1.166,1.018,0.873,0.835,
+1.724,0.205,1.309,1.695,1.206,1.398,0.890,1.119,1.559,1.504,
+2.300,2.014,0.120,0.157,0.198,0.232,1.612,0.160,1.063,1.612,
+1.034,1.418,1.161,1.437,1.563,0.933,1.438,2.056,1.343,1.348,
+1.347,1.669,1.178,0.113,0.885,1.137,1.029,1.093,1.285,1.613,
+1.746,0.916,0.756,1.002,1.201,0.898,0.986,1.029,1.823,0.186,
+1.040,1.330,1.124,1.020,1.004,1.460,0.145,0.118,0.077,0.138,
+0.095,0.122,0.110,0.102,0.153,0.027,0.132,0.151,0.142,0.179,
+0.130,0.176,1.141,1.396,1.106,1.272,0.111,0.179,0.126,0.168,
+1.344,0.173,0.993,1.277,0.883,1.347,1.530,1.540,1.023,0.725,
+0.839,1.186,1.276,1.328,1.266,1.814,1.508,0.126,1.150,1.671,
+1.215,1.041,1.404,1.902,2.409,0.967,0.920,1.488,1.000,0.709,
+0.704,0.768,1.236,0.104,0.776,1.051,1.564,0.979,0.973,2.021,
+1.363,0.927,0.718,1.120,0.970,0.860,0.778,0.792,1.260,0.095,
+0.935,1.356,1.394,1.113,0.971,1.581,1.650,1.431,1.501,1.861,
+0.135,0.125,0.115,0.177,1.497,0.135,1.251,1.696,1.446,1.788,
+1.670,2.295,2.615,1.292,1.477,2.969,1.612,1.367,1.366,2.011,
+2.501,0.143,1.959,2.958,3.768,2.500,3.510,4.554,0.307,0.211,
+0.186,0.266,0.216,0.156,0.154,0.141,0.199,0.026,0.131,0.150,
+0.192,0.173,0.127,0.169,0.275,0.204,0.169,0.181,0.219,0.180,
+0.190,0.153,0.193,0.034,0.204,0.181,0.131,0.160,0.191,0.180,
+0.156,0.165,0.172,0.180,0.023,0.024,0.030,0.029,0.128,0.020,
+0.152,0.116,0.077,0.117,0.150,0.126,0.179,0.101,0.107,0.176,
+0.187,0.167,0.135,0.184,0.143,0.016,0.118,0.144,0.131,0.100,
+0.135,0.204,0.260,0.200,0.307,0.345,0.208,0.173,0.161,0.134,
+0.169,0.029,0.118,0.137,0.125,0.154,0.238,0.157,0.257,0.230,
+0.179,0.160,0.216,0.174,0.227,0.170,0.234,0.061,0.258,0.254,
+0.122,0.195,0.514,0.176,0.149,0.179,0.140,0.143,0.028,0.031,
+0.036,0.025,0.345,0.039,0.159,0.158,0.089,0.180,0.162,0.123,
+0.112,0.095,0.066,0.095,0.163,0.136,0.111,0.141,0.154,0.018,
+0.118,0.133,0.099,0.101,0.179,0.193,0.162,0.104,0.097,0.114,
+0.165,0.152,0.154,0.123,0.174,0.039,0.144,0.137,0.094,0.122,
+0.106,0.149,0.025,0.025,0.025,0.020,0.025,0.036,0.040,0.024,
+0.027,0.013,0.071,0.031,0.017,0.038,0.042,0.028,0.104,0.166,
+0.156,0.117,0.020,0.034,0.026,0.022,0.134,0.031,0.148,0.158,
+0.070,0.134,0.166,0.137,0.081,0.061,0.069,0.082,0.123,0.150,
+0.139,0.174,0.140,0.020,0.128,0.141,0.084,0.099,0.134,0.161,
+0.196,0.084,0.086,0.141,0.095,0.082,0.092,0.091,0.108,0.013,
+0.073,0.091,0.121,0.105,0.092,0.192,0.226,0.177,0.157,0.172,
+0.189,0.174,0.230,0.173,0.162,0.033,0.234,0.204,0.128,0.177,
+0.167,0.219,0.147,0.125,0.201,0.230,0.015,0.018,0.028,0.031,
+0.127,0.026,0.117,0.137,0.091,0.155,0.409,0.260,0.132,0.077,
+0.091,0.161,0.092,0.082,0.108,0.142,0.170,0.016,0.137,0.190,
+0.163,0.151,0.199,0.293,0.294,0.241,0.182,0.228,0.252,0.235,
+0.206,0.178,0.189,0.036,0.123,0.158,0.165,0.170,0.138,0.169,
+0.326,0.305,0.208,0.183,0.312,0.304,0.309,0.219,0.272,0.068,
+0.317,0.282,0.110,0.184,0.188,0.181,0.146,0.216,0.243,0.171,
+0.033,0.054,0.073,0.043,0.161,0.033,0.158,0.147,0.075,0.169,
+0.154,0.147,0.130,0.084,0.097,0.139,0.215,0.198,0.191,0.167,
+0.126,0.018,0.108,0.123,0.094,0.105,0.133,0.183,0.286,0.263,
+0.165,0.163,0.264,0.346,0.214,0.156,0.196,0.045,0.135,0.153,
+0.101,0.165,0.109,0.129,0.276,0.332,0.214,0.168,0.234,0.133,
+0.276,0.209,0.281,0.091,0.307,0.329,0.105,0.239,0.201,0.201,
+0.172,0.305,0.222,0.180,0.046,0.081,0.068,0.049,0.240,0.072,
+0.209,0.228,0.091,0.293,0.226,0.191,0.108,0.091,0.076,0.090,
+0.171,0.206,0.156,0.167,0.136,0.023,0.137,0.140,0.079,0.109,
+0.149,0.157,0.242,0.185,0.191,0.140,0.265,0.316,0.350,0.183,
+0.244,0.059,0.288,0.240,0.094,0.158,0.161,0.178,0.054,0.067,
+0.037,0.029,0.048,0.108,0.125,0.043,0.052,0.043,0.206,0.064,
+0.018,0.059,0.054,0.040,0.193,0.343,0.304,0.202,0.055,0.118,
+0.105,0.055,0.254,0.088,0.314,0.272,0.094,0.275,0.323,0.232,
+0.125,0.091,0.089,0.099,0.211,0.326,0.306,0.245,0.343,0.046,
+0.256,0.236,0.108,0.127,0.233,0.211,0.173,0.134,0.105,0.126,
+0.121,0.126,0.137,0.104,0.105,0.014,0.092,0.108,0.101,0.101,
+0.092,0.152,0.432,0.292,0.244,0.191,0.265,0.333,0.673,0.322,
+0.222,0.060,0.396,0.299,0.131,0.227,0.209,0.222,0.122,0.184,
+0.205,0.173,0.016,0.032,0.032,0.025,0.135,0.030,0.186,0.186,
+0.084,0.166,0.248,0.208,0.107,0.084,0.090,0.108,0.111,0.128,
+0.115,0.133,0.163,0.021,0.158,0.230,0.132,0.160,0.226,0.270,
+0.213,0.170,0.151,0.183,0.131,0.133,0.110,0.124,0.139,0.024,
+0.100,0.103,0.112,0.117,0.093,0.126,0.244,0.305,0.214,0.174,
+0.253,0.281,0.305,0.213,0.293,0.070,0.346,0.304,0.132,0.223,
+0.162,0.173,0.203,0.345,0.952,0.354,0.040,0.083,0.189,0.097,
+0.324,0.057,0.226,0.288,0.091,0.214,0.192,0.168,0.113,0.100,
+0.171,0.201,0.162,0.205,0.293,0.277,0.165,0.027,0.148,0.175,
+0.106,0.121,0.161,0.231,0.020,0.027,0.017,0.021,0.026,0.046,
+0.035,0.024,0.024,0.012,0.025,0.023,0.014,0.027,0.026,0.027,
+0.039,0.064,0.039,0.032,0.063,0.095,0.084,0.044,0.059,0.047,
+0.108,0.081,0.023,0.070,0.045,0.033,0.026,0.089,0.135,0.050,
+0.017,0.052,0.110,0.038,0.117,0.046,0.093,0.123,0.022,0.070,
+0.066,0.041,0.019,0.018,0.022,0.030,0.058,0.089,0.093,0.106,
+0.037,0.014,0.046,0.042,0.018,0.024,0.034,0.037,0.133,0.173,
+0.129,0.106,0.144,0.336,0.289,0.202,0.226,0.072,0.425,0.502,
+0.089,0.169,0.180,0.360,0.022,0.063,0.034,0.020,0.038,0.124,
+0.095,0.045,0.050,0.048,0.122,0.070,0.023,0.057,0.046,0.041,
+0.187,1.355,0.360,0.225,0.087,0.938,0.113,0.083,0.281,0.136,
+0.293,0.266,0.088,0.353,0.254,0.194,0.090,0.167,0.109,0.263,
+0.234,1.360,0.342,0.960,0.196,0.066,0.269,0.277,0.082,0.159,
+0.190,0.198,0.120,0.106,0.076,0.110,0.087,0.086,0.082,0.078,
+0.119,0.018,0.125,0.135,0.081,0.093,0.076,0.137,0.215,0.243,
+0.183,0.177,0.300,0.383,0.325,0.250,0.266,0.071,0.333,0.377,
+0.164,0.285,0.274,0.247,0.129,0.290,0.247,0.184,0.024,0.097,
+0.051,0.035,0.202,0.062,0.238,0.267,0.090,0.254,0.220,0.198,
+0.098,0.095,0.094,0.127,0.119,0.209,0.144,0.221,0.159,0.028,
+0.208,0.222,0.123,0.178,0.196,0.229,0.303,0.174,0.154,0.231,
+0.240,0.137,0.118,0.207,0.225,0.023,0.112,0.186,0.183,0.145,
+0.128,0.236,0.234,0.160,0.137,0.146,0.171,0.120,0.142,0.148,
+0.184,0.026,0.152,0.225,0.166,0.127,0.118,0.188,0.189,0.181,
+0.283,0.247,0.020,0.022,0.026,0.049,0.173,0.023,0.147,0.176,
+0.112,0.138,0.127,0.175,0.211,0.112,0.210,0.384,0.163,0.126,
+0.151,0.357,0.194,0.018,0.130,0.240,0.209,0.152,0.176,0.457,
+0.376,0.304,0.234,0.269,0.304,0.316,0.277,0.229,0.294,0.055,
+0.277,0.316,0.190,0.254,0.253,0.258,0.458,0.415,0.293,0.294,
+0.387,0.405,0.354,0.305,0.429,0.083,0.500,0.574,0.245,0.401,
+0.288,0.309,0.281,0.421,0.490,0.397,0.038,0.066,0.090,0.091,
+0.530,0.075,0.335,0.501,0.196,0.381,0.312,0.328,0.254,0.189,
+0.249,0.387,0.334,0.356,0.418,0.706,0.332,0.043,0.288,0.357,
+0.214,0.282,0.319,0.410,0.179,0.127,0.102,0.119,0.167,0.174,
+0.217,0.173,0.248,0.044,0.220,0.238,0.124,0.151,0.172,0.226,
+0.023,0.025,0.020,0.025,0.029,0.052,0.058,0.032,0.034,0.013,
+0.049,0.045,0.027,0.045,0.037,0.034,0.147,0.318,0.229,0.198,
+0.027,0.084,0.043,0.047,0.240,0.066,0.257,0.278,0.123,0.285,
+0.283,0.286,0.131,0.111,0.128,0.169,0.195,0.276,0.250,0.385,
+0.264,0.038,0.264,0.338,0.208,0.165,0.263,0.327,0.274,0.154,
+0.126,0.188,0.159,0.131,0.143,0.135,0.170,0.020,0.138,0.168,
+0.172,0.136,0.134,0.259,0.234,0.175,0.138,0.180,0.197,0.242,
+0.307,0.205,0.192,0.029,0.234,0.273,0.198,0.224,0.200,0.266,
+0.211,0.226,0.226,0.255,0.020,0.028,0.028,0.034,0.230,0.033,
+0.250,0.286,0.167,0.304,0.313,0.328,0.269,0.154,0.205,0.331,
+0.216,0.199,0.211,0.338,0.300,0.026,0.324,0.415,0.380,0.306,
+0.445,0.508,2.487,1.512,1.315,1.959,1.397,1.023,0.978,0.982,
+1.297,0.141,0.947,1.101,1.397,1.242,0.963,1.337,1.545,1.116,
+0.809,0.994,1.155,0.864,0.993,0.793,1.099,0.140,1.237,0.976,
+0.752,0.848,0.849,0.978,1.250,1.446,1.093,1.261,0.122,0.129,
+0.125,0.168,0.921,0.107,0.764,1.048,0.604,0.833,0.811,0.889,
+1.121,0.582,0.555,0.955,0.860,0.662,0.618,0.817,0.894,0.080,
+0.583,0.726,0.779,0.464,0.801,1.120,1.725,1.293,0.799,1.122,
+1.311,1.045,0.905,0.841,1.130,0.136,0.692,0.776,0.762,0.972,
+0.583,0.825,1.566,1.317,0.847,0.853,1.347,0.833,1.205,0.784,
+1.396,0.209,1.671,1.457,0.720,0.956,0.888,0.808,1.431,1.701,
+1.189,1.352,0.162,0.186,0.204,0.207,1.412,0.208,1.315,1.627,
+0.702,1.424,1.185,1.070,0.832,0.557,0.407,0.611,1.048,0.876,
+0.780,0.932,1.015,0.084,0.646,0.810,0.683,0.572,0.662,1.007,
+1.545,0.783,0.992,1.118,1.356,1.140,1.461,1.188,1.923,0.269,
+4.276,1.674,0.946,1.054,1.326,1.360,0.193,0.204,0.235,0.227,
+0.236,0.233,0.336,0.199,0.283,0.086,3.173,0.475,0.181,0.409,
+0.423,0.395,1.407,1.370,3.371,2.332,0.176,0.161,0.372,0.300,
+1.419,0.228,1.602,1.315,0.688,1.260,1.492,1.147,0.792,0.544,
+0.898,0.905,1.276,1.088,2.254,1.524,1.048,0.119,1.387,1.125,
+0.805,0.711,1.106,1.233,1.254,0.574,0.555,0.949,0.683,0.627,
+0.583,0.577,0.773,0.090,0.958,0.729,0.967,0.764,0.639,1.320,
+1.200,0.980,0.990,1.223,1.198,0.930,1.260,0.912,1.098,0.175,
+5.583,1.802,0.963,1.386,1.241,2.496,1.075,1.047,1.585,1.736,
+0.119,0.116,0.176,0.211,1.210,0.142,1.210,1.345,0.884,1.215,
+1.464,1.593,1.077,0.605,0.718,1.186,0.748,0.595,1.002,1.047,
+1.123,0.103,1.087,1.620,1.584,1.226,1.395,2.421,0.174,0.150,
+0.117,0.150,0.161,0.147,0.136,0.129,0.113,0.019,0.085,0.107,
+0.094,0.120,0.098,0.124,0.206,0.198,0.146,0.138,0.224,0.218,
+0.297,0.177,0.172,0.055,0.300,0.181,0.093,0.159,0.149,0.153,
+0.097,0.167,0.122,0.118,0.023,0.039,0.039,0.031,0.107,0.029,
+0.127,0.127,0.059,0.124,0.122,0.120,0.088,0.064,0.055,0.076,
+0.119,0.127,0.102,0.109,0.085,0.013,0.080,0.091,0.077,0.066,
+0.091,0.140,0.142,0.155,0.082,0.089,0.135,0.155,0.147,0.092,
+0.102,0.024,0.079,0.085,0.054,0.088,0.065,0.075,0.187,0.221,
+0.136,0.105,0.209,0.144,0.292,0.132,0.201,0.071,0.301,0.212,
+0.073,0.150,0.150,0.123,0.110,0.208,0.132,0.117,0.032,0.060,
+0.075,0.036,0.204,0.077,0.225,0.233,0.079,0.220,0.199,0.143,
+0.084,0.060,0.042,0.052,0.103,0.118,0.110,0.097,0.087,0.014,
+0.078,0.081,0.051,0.057,0.076,0.092,0.157,0.133,0.287,0.111,
+0.190,0.239,0.383,0.163,0.221,0.068,2.090,0.360,0.095,0.180,
+0.247,0.149,0.039,0.066,0.066,0.027,0.062,0.097,0.140,0.045,
+0.083,0.067,3.236,0.148,0.020,0.070,0.165,0.055,0.140,0.228,
+0.334,0.220,0.044,0.076,0.158,0.053,0.251,0.109,0.489,0.271,
+0.090,0.260,0.329,0.197,0.090,0.074,0.088,0.090,0.163,0.201,
+0.293,0.189,0.152,0.034,0.348,0.165,0.072,0.100,0.171,0.159,
+0.128,0.121,0.113,0.127,0.097,0.104,0.106,0.089,0.100,0.015,
+0.215,0.120,0.095,0.111,0.114,0.194,0.224,0.243,0.220,0.194,
+0.267,0.305,0.366,0.240,0.254,0.078,2.876,0.394,0.150,0.294,
+0.332,0.521,0.119,0.168,0.207,0.199,0.019,0.034,0.042,0.033,
+0.178,0.045,0.233,0.228,0.112,0.209,0.309,0.242,0.117,0.086,
+0.079,0.111,0.100,0.121,0.123,0.129,0.133,0.017,0.170,0.207,
+0.148,0.144,0.190,0.280,1.303,1.118,0.854,1.434,1.027,0.973,
+0.853,0.885,1.061,0.117,0.772,0.841,0.694,0.574,0.516,0.679,
+1.582,1.456,1.101,1.244,1.624,1.364,2.641,1.385,1.676,0.274,
+3.489,2.345,0.687,1.138,1.029,1.161,1.053,1.538,1.593,1.337,
+0.186,0.278,0.296,0.315,1.626,0.281,1.976,1.880,0.733,1.390,
+1.221,1.158,0.699,0.491,0.454,0.739,0.842,0.830,0.803,0.987,
+1.103,0.123,1.125,1.135,0.772,0.602,0.926,1.278,0.123,0.130,
+0.081,0.117,0.163,0.239,0.173,0.154,0.131,0.031,0.178,0.148,
+0.060,0.090,0.069,0.086,0.183,0.197,0.139,0.115,0.260,0.236,
+0.309,0.175,0.264,0.094,1.708,0.637,0.074,0.148,0.166,0.117,
+0.132,0.261,0.191,0.149,0.044,0.088,0.095,0.059,0.445,0.116,
+0.401,0.609,0.113,0.257,0.221,0.207,0.125,0.086,0.059,0.085,
+0.161,0.194,0.161,0.180,0.154,0.030,0.164,0.220,0.085,0.082,
+0.107,0.139,1.645,0.956,0.939,0.691,1.303,1.479,1.681,0.973,
+1.473,0.294,1.977,1.300,0.576,0.942,1.113,0.900,0.148,0.233,
+0.200,0.127,0.165,0.299,0.309,0.127,0.233,0.098,0.535,0.251,
+0.096,0.243,0.253,0.147,1.477,1.706,2.073,1.336,0.250,0.315,
+0.477,0.228,1.351,0.326,0.637,0.643,0.538,0.995,1.249,0.910,
+0.620,0.570,0.665,0.502,0.882,1.133,1.435,0.978,1.111,0.191,
+1.618,1.112,0.511,0.745,1.196,1.035,0.823,0.515,0.502,0.681,
+0.589,0.507,0.446,0.454,0.623,0.084,0.584,0.662,0.430,0.487,
+0.417,0.638,1.050,1.108,0.835,0.808,1.113,1.545,1.288,0.798,
+1.194,0.216,1.602,1.357,0.640,1.270,0.996,0.955,1.026,1.315,
+1.304,1.125,0.145,0.223,0.204,0.168,1.663,0.262,1.868,1.653,
+0.694,1.484,1.377,1.181,0.669,0.505,0.473,0.610,0.749,0.785,
+0.747,0.766,1.029,0.115,1.319,1.227,0.691,0.861,1.144,1.181,
+1.360,0.687,0.548,0.935,0.715,0.560,0.497,0.611,0.867,0.093,
+0.452,0.577,0.756,0.598,0.439,0.847,1.092,0.667,0.451,0.687,
+0.733,0.465,0.712,0.655,0.742,0.070,0.543,0.650,0.508,0.519,
+0.404,0.573,0.903,0.806,0.632,0.830,0.112,0.096,0.084,0.139,
+0.829,0.106,0.658,0.949,0.882,0.896,0.749,0.916,1.069,0.532,
+0.392,0.735,0.807,0.494,0.437,0.724,0.711,0.058,0.447,0.628,
+0.798,0.547,0.631,1.161,1.489,1.131,0.765,0.977,1.240,1.623,
+1.295,0.967,0.945,0.138,0.942,0.916,0.634,0.739,0.540,0.817,
+1.689,1.489,0.904,1.120,1.586,1.431,1.452,1.163,1.478,0.222,
+3.472,2.387,0.675,0.982,0.915,0.894,1.216,1.752,1.121,1.129,
+0.154,0.264,0.212,0.217,1.756,0.286,1.693,2.234,0.880,1.729,
+1.451,1.444,2.054,1.231,0.627,0.889,1.331,1.341,1.076,1.347,
+1.136,0.124,0.966,1.203,0.836,0.836,0.904,1.299,1.439,0.849,
+0.725,0.732,1.148,1.100,2.352,1.129,1.379,0.175,1.315,1.181,
+0.758,0.805,0.888,1.185,0.148,0.154,0.126,0.130,0.174,0.253,
+0.540,0.179,0.161,0.053,0.401,0.216,0.103,0.199,0.174,0.158,
+1.438,1.669,1.582,1.308,0.165,0.214,0.293,0.212,2.777,0.598,
+1.864,1.991,1.082,2.091,2.075,1.651,0.886,0.694,0.814,0.816,
+1.251,1.271,1.699,1.483,1.519,0.180,1.547,1.745,0.955,1.016,
+1.497,1.547,1.146,0.568,0.523,0.793,0.651,0.538,0.632,0.508,
+0.732,0.081,0.502,0.640,0.770,0.518,0.537,0.941,1.141,0.845,
+0.705,1.123,0.958,1.110,1.261,0.833,0.896,0.112,1.027,1.071,
+0.701,0.853,0.754,1.008,1.111,1.158,1.092,1.282,0.117,0.132,
+0.132,0.151,1.605,0.219,1.621,1.794,1.010,1.524,1.688,1.650,
+1.153,0.621,0.682,1.161,0.979,0.877,1.053,1.269,1.209,0.108,
+1.338,1.704,1.296,1.123,1.544,1.797,2.366,1.193,0.983,2.002,
+1.149,0.702,0.639,0.812,1.199,0.113,0.551,0.902,1.550,1.215,
+0.757,1.472,1.231,0.654,0.485,0.767,0.770,0.467,0.447,0.498,
+0.838,0.071,0.550,0.673,0.707,0.677,0.493,0.832,0.941,0.743,
+0.628,0.932,0.104,0.071,0.072,0.128,0.669,0.063,0.416,0.598,
+0.554,0.633,0.619,0.802,1.180,0.541,0.565,1.041,0.927,0.564,
+0.525,0.810,0.877,0.067,0.626,0.882,0.989,0.607,0.827,1.563,
+1.370,0.771,0.578,1.020,0.853,0.621,0.457,0.532,0.707,0.069,
+0.373,0.626,0.610,0.666,0.369,0.715,0.897,0.562,0.391,0.585,
+0.654,0.403,0.399,0.396,0.709,0.065,0.477,0.610,0.480,0.511,
+0.409,0.529,0.737,0.615,0.431,0.627,0.063,0.056,0.044,0.069,
+0.703,0.057,0.383,0.518,0.542,0.627,0.483,0.570,0.595,0.335,
+0.257,0.468,0.559,0.397,0.312,0.466,0.583,0.034,0.316,0.495,
+0.502,0.386,0.443,0.784,1.139,0.571,0.670,0.743,0.917,0.620,
+0.876,0.727,0.930,0.106,0.676,0.924,0.745,0.604,0.504,1.012,
+0.092,0.070,0.061,0.084,0.090,0.072,0.076,0.068,0.085,0.014,
+0.228,0.117,0.106,0.125,0.081,0.169,0.666,0.560,0.845,0.833,
+0.068,0.070,0.081,0.091,0.660,0.079,0.444,0.639,0.505,0.757,
+0.616,0.708,0.618,0.376,0.452,0.644,0.816,0.665,0.656,0.782,
+0.706,0.068,0.484,0.727,0.614,0.534,0.630,1.011,1.431,0.514,
+0.514,0.974,0.673,0.442,0.474,0.568,0.768,0.065,0.463,0.754,
+1.158,0.659,0.510,1.305,0.986,0.584,0.506,0.767,0.786,0.525,
+0.481,0.554,0.751,0.067,0.920,0.970,0.832,0.832,0.581,1.620,
+0.803,0.646,0.842,1.053,0.065,0.056,0.065,0.096,0.645,0.054,
+0.485,0.679,0.640,0.727,0.782,0.986,1.119,0.557,0.630,1.382,
+0.749,0.505,0.534,0.856,1.198,0.077,0.704,1.279,1.318,1.018,
+1.169,2.333,2.881,1.628,1.383,2.249,1.840,1.324,1.257,1.446,
+1.389,0.154,0.809,1.454,1.501,1.353,1.117,2.019,2.044,1.311,
+1.006,1.417,1.561,1.143,1.337,1.167,1.483,0.173,1.397,1.553,
+0.958,1.087,0.971,1.392,1.206,1.234,0.983,1.332,0.134,0.153,
+0.129,0.193,1.047,0.134,0.851,1.168,0.731,1.085,1.078,1.455,
+1.207,0.721,0.745,1.141,1.377,1.123,0.891,1.203,0.939,0.091,
+0.633,1.173,0.992,0.825,1.044,2.056,2.040,1.382,0.873,1.341,
+1.639,1.268,1.081,1.104,1.105,0.133,0.627,1.059,0.887,0.926,
+0.637,1.185,1.802,1.426,0.943,1.194,1.962,1.035,1.464,1.075,
+1.495,0.205,1.265,1.540,0.860,1.140,0.986,1.101,1.091,1.293,
+0.846,1.173,0.135,0.151,0.144,0.158,1.398,0.212,0.979,1.444,
+0.804,1.489,1.157,1.496,0.892,0.582,0.441,0.749,1.105,0.918,
+0.719,0.931,0.866,0.075,0.617,1.041,0.694,0.656,0.743,1.293,
+1.719,1.201,2.771,1.364,1.669,1.489,3.232,1.649,1.493,0.281,
+3.852,3.616,0.914,1.176,1.248,1.832,0.131,0.155,0.157,0.132,
+0.180,0.227,0.254,0.160,0.178,0.059,2.389,0.378,0.109,0.218,
+0.258,0.202,1.184,1.340,1.502,1.397,0.148,0.196,0.230,0.208,
+1.477,0.283,1.411,1.869,0.901,1.742,1.635,1.729,0.972,0.732,
+0.801,1.211,1.555,1.619,1.626,1.710,1.348,0.156,1.381,1.765,
+0.904,1.000,1.352,2.092,1.533,0.939,1.078,1.295,0.992,0.814,
+1.052,0.914,0.955,0.111,1.007,1.446,1.035,0.944,0.872,1.727,
+1.644,1.371,1.119,1.471,1.556,1.577,1.536,1.568,1.370,0.192,
+4.375,2.309,1.137,1.679,1.492,2.094,1.087,1.127,1.321,1.486,
+0.101,0.130,0.157,0.166,1.155,0.143,1.193,1.578,0.911,1.270,
+1.640,2.002,1.250,0.835,0.827,1.227,1.197,1.213,0.934,1.259,
+1.188,0.110,1.032,1.938,1.324,1.178,1.536,2.739,1.725,0.990,
+0.790,1.284,0.951,0.843,0.712,0.824,1.257,0.118,0.582,0.809,
+1.253,0.779,0.554,0.896,1.534,1.227,0.758,1.009,1.289,1.029,
+1.047,0.864,1.530,0.185,1.317,1.392,1.049,1.100,0.854,1.020,
+0.996,1.335,1.534,1.380,0.138,0.197,0.191,0.229,1.300,0.257,
+1.085,1.294,0.971,1.573,1.522,1.196,0.951,0.612,0.650,1.075,
+0.934,0.813,0.769,0.976,1.071,0.108,0.876,1.164,1.026,0.814,
+1.435,1.913,0.120,0.103,0.096,0.118,0.121,0.165,0.162,0.111,
+0.096,0.017,0.075,0.095,0.092,0.105,0.071,0.110,0.136,0.174,
+0.085,0.100,0.207,0.192,0.159,0.141,0.172,0.045,0.270,0.225,
+0.100,0.158,0.118,0.119,0.081,0.156,0.120,0.110,0.021,0.043,
+0.040,0.030,0.180,0.051,0.174,0.220,0.094,0.207,0.191,0.144,
+0.098,0.079,0.059,0.105,0.126,0.150,0.116,0.165,0.113,0.019,
+0.100,0.144,0.090,0.099,0.122,0.170,1.216,0.817,0.972,0.762,
+1.289,1.336,4.337,1.323,1.119,0.214,1.118,1.147,0.668,0.885,
+1.092,1.120,0.099,0.130,0.081,0.087,0.118,0.173,0.217,0.097,
+0.129,0.042,0.155,0.128,0.103,0.180,0.173,0.136,1.037,1.520,
+1.543,1.247,0.142,0.275,0.244,0.180,1.554,0.261,0.803,1.211,
+0.731,1.341,1.380,1.261,0.740,0.735,0.646,0.840,1.098,1.457,
+1.314,1.237,1.202,0.158,1.246,1.329,0.722,0.863,1.137,1.350,
+1.016,0.630,0.553,0.797,0.663,0.621,0.974,0.631,0.743,0.091,
+0.659,0.840,0.651,0.712,0.659,1.052,1.281,1.162,0.843,1.083,
+1.115,1.518,1.155,0.917,1.274,0.168,1.404,1.594,1.050,1.543,
+1.829,1.718,1.015,1.282,1.150,1.190,0.095,0.161,0.147,0.146,
+1.342,0.163,1.293,1.590,0.885,1.443,1.714,1.651,1.045,0.708,
+0.702,0.915,0.873,0.988,0.905,1.125,1.298,0.118,1.409,1.757,
+1.040,1.121,1.490,2.011,3.151,1.141,0.903,1.586,1.146,0.732,
+0.697,0.865,1.560,0.162,0.752,0.980,1.554,1.068,0.815,1.480,
+1.630,0.826,0.456,0.789,1.007,0.644,0.535,0.806,1.409,0.105,
+0.591,0.819,0.921,0.677,0.481,0.774,1.260,0.988,0.741,1.330,
+0.173,0.141,0.095,0.224,1.089,0.111,0.601,0.934,1.234,1.184,
+0.805,1.180,1.680,0.587,0.643,1.369,0.995,0.546,0.521,0.918,
+0.988,0.068,0.551,0.994,1.403,0.863,1.080,2.438,1.868,1.071,
+1.658,1.223,1.153,1.536,1.804,1.011,0.887,0.099,0.684,0.816,
+0.859,0.748,0.771,1.073,1.446,1.020,0.634,0.901,1.176,0.954,
+0.756,0.824,1.158,0.112,0.987,1.290,0.807,0.865,0.713,0.978,
+0.945,1.034,0.706,0.952,0.078,0.110,0.078,0.115,1.061,0.117,
+0.853,1.149,0.846,1.211,0.973,1.291,1.223,0.665,0.630,0.998,
+0.913,0.768,0.690,1.014,1.024,0.072,0.710,1.029,1.043,0.734,
+0.872,1.592,1.688,0.927,0.804,0.942,1.326,1.135,1.568,1.210,
+1.549,0.162,0.974,1.317,1.098,1.008,0.996,1.656,0.136,0.141,
+0.072,0.109,0.141,0.316,0.156,0.130,0.133,0.022,0.119,0.136,
+0.129,0.155,0.108,0.177,1.377,1.445,1.252,1.394,0.125,0.196,
+0.163,0.193,1.925,0.254,1.299,1.744,1.218,1.859,1.786,2.035,
+1.341,0.937,0.851,1.227,1.494,1.396,1.385,1.652,1.806,0.148,
+1.383,2.146,1.291,1.162,1.369,2.268,2.792,1.106,0.847,1.459,
+1.141,1.030,0.743,0.828,1.607,0.127,0.800,1.156,1.684,1.141,
+0.979,2.305,1.881,1.796,0.751,1.187,1.898,4.329,1.023,1.070,
+1.493,0.170,1.032,1.461,1.324,1.351,1.076,1.805,1.696,1.618,
+1.263,1.767,0.122,0.216,0.103,0.167,1.726,0.148,1.459,2.041,
+1.646,1.879,1.970,2.664,2.643,1.166,1.184,2.297,1.499,1.316,
+1.161,1.700,2.025,0.139,1.686,2.720,2.803,1.815,2.059,3.450,
+3.923,2.670,2.337,5.027,2.335,1.429,1.300,1.897,2.906,0.247,
+1.281,2.047,4.396,3.038,1.731,3.762,2.649,1.289,1.150,1.708,
+1.414,0.800,0.740,0.969,1.657,0.111,0.790,1.128,1.446,1.158,
+0.868,1.582,2.162,1.429,1.359,2.260,0.168,0.122,0.108,0.248,
+1.253,0.090,0.646,0.997,1.186,1.182,0.961,1.604,3.354,1.377,
+1.562,3.837,2.100,1.396,1.221,2.346,1.668,0.115,0.879,1.496,
+2.446,1.342,1.500,2.881,2.534,1.144,0.878,1.567,1.149,0.636,
+0.531,0.701,1.076,0.088,0.496,0.761,1.010,0.837,0.555,1.143,
+1.532,0.836,0.604,0.818,0.767,0.401,0.437,0.496,0.866,0.063,
+0.446,0.638,0.670,0.514,0.448,0.683,1.292,0.900,0.689,1.110,
+0.092,0.064,0.055,0.098,1.522,0.076,0.499,0.731,0.639,0.637,
+0.563,0.833,1.236,0.626,0.487,0.971,1.009,0.711,0.466,0.762,
+0.845,0.050,0.356,0.614,0.809,0.605,0.586,1.238,2.189,0.895,
+0.810,1.333,1.111,0.644,0.677,0.820,1.171,0.120,0.522,0.862,
+1.307,0.903,0.735,1.583,0.162,0.105,0.076,0.123,0.085,0.064,
+0.059,0.076,0.094,9.69e-3,0.059,0.086,0.135,0.142,0.100,0.176,
+0.906,0.661,0.707,0.863,0.076,0.050,0.049,0.087,0.699,0.053,
+0.434,0.592,0.625,0.624,0.659,0.832,0.944,0.542,0.552,0.884,
+0.998,0.639,0.614,0.929,0.918,0.070,0.534,0.853,0.894,0.702,
+0.812,1.538,3.325,1.088,1.026,2.350,1.160,0.731,0.859,1.057,
+1.412,0.117,0.669,1.093,2.092,1.197,1.036,2.487,1.830,1.115,
+0.932,1.324,1.011,0.650,0.738,0.871,1.019,0.068,0.702,1.025,
+1.289,0.993,1.032,1.624,1.329,0.864,0.978,1.485,0.091,0.071,
+0.078,0.137,0.950,0.066,0.936,0.994,0.961,0.908,1.067,1.399,
+2.037,1.013,1.092,2.408,1.102,0.772,0.835,1.391,1.607,0.092,
+1.049,1.701,2.656,1.703,1.892,4.010,2.981,1.542,1.284,2.240,
+1.375,0.926,0.754,1.057,1.152,0.102,0.515,0.994,1.477,1.283,
+0.781,1.692,1.617,0.988,0.794,1.071,0.900,0.582,0.534,0.735,
+0.859,0.076,0.492,0.812,0.784,0.720,0.504,1.033,1.096,0.859,
+0.843,1.125,0.102,0.095,0.075,0.128,0.750,0.063,0.417,0.614,
+0.641,0.814,0.559,0.888,1.263,0.712,0.705,1.297,1.180,0.880,
+0.680,0.964,0.762,0.058,0.412,0.693,0.987,0.713,0.766,1.661,
+1.731,1.082,0.592,1.073,0.990,0.700,0.490,0.637,0.725,0.072,
+0.381,0.597,0.685,0.670,0.411,0.946,0.944,0.816,0.394,0.566,
+0.552,0.226,0.341,0.413,0.589,0.063,0.358,0.580,0.462,0.493,
+0.345,0.672,0.910,0.902,0.574,0.940,0.071,0.073,0.057,0.100,
+0.707,0.086,0.393,0.704,0.500,0.734,0.508,0.744,0.935,0.566,
+0.418,0.860,0.723,0.655,0.415,0.650,0.612,0.047,0.331,0.571,
+0.642,0.571,0.460,1.056,1.519,1.376,0.770,1.084,1.057,0.844,
+0.973,0.895,1.059,0.111,0.618,0.988,0.885,0.786,0.682,1.294,
+0.134,0.247,0.065,0.087,0.070,0.080,0.078,0.078,0.077,0.013,
+0.070,0.090,0.078,0.098,0.067,0.111,0.933,0.824,0.697,0.838,
+0.075,0.073,0.061,0.076,0.696,0.067,0.456,0.663,0.553,0.697,
+0.648,0.827,0.855,0.633,0.532,0.789,0.852,0.838,0.634,0.843,
+1.331,0.089,0.601,0.877,0.831,0.610,0.754,1.199,1.498,1.087,
+0.658,1.100,0.841,0.917,0.564,0.713,0.725,0.072,0.547,0.815,
+0.979,0.664,0.602,1.611,1.241,1.447,0.616,0.872,0.691,0.602,
+0.776,0.833,0.565,0.050,0.572,0.769,0.666,0.654,0.588,1.013,
+0.838,0.607,0.701,0.945,0.054,0.053,0.049,0.073,0.575,0.047,
+0.543,0.666,0.620,0.647,0.728,0.943,1.034,0.523,0.643,1.034,
+0.726,0.606,0.466,0.787,0.959,0.063,0.623,1.086,1.354,1.168,
+1.103,2.084,2.606,1.301,1.023,2.251,0.848,0.660,0.497,0.858,
+1.057,0.115,0.587,0.896,1.410,1.320,0.629,1.488,1.661,1.039,
+0.703,1.146,0.809,0.547,0.506,0.666,0.991,0.088,0.591,0.840,
+1.198,0.929,0.589,1.112,1.664,1.293,3.042,2.354,0.134,0.119,
+0.175,0.290,0.860,0.090,0.563,0.724,0.721,0.971,0.649,1.052,
+1.652,0.936,1.914,2.827,1.017,0.765,0.990,1.626,0.962,0.086,
+0.631,1.068,1.369,1.062,1.070,2.753,0.202,0.125,0.071,0.177,
+0.093,0.087,0.053,0.094,0.094,0.015,0.060,0.081,0.124,0.134,
+0.079,0.146,0.153,0.112,0.063,0.101,0.087,0.071,0.057,0.073,
+0.105,0.012,0.074,0.098,0.134,0.108,0.069,0.127,0.143,0.130,
+0.144,0.172,0.011,0.013,0.015,0.022,0.119,0.014,0.062,0.102,
+0.089,0.124,0.073,0.128,0.212,0.127,0.138,0.303,0.174,0.171,
+0.135,0.310,0.119,0.014,0.076,0.131,0.159,0.145,0.123,0.294,
+1.150,0.661,0.477,0.706,0.706,0.645,0.510,0.579,1.010,0.117,
+0.665,0.812,0.877,0.736,0.551,0.933,0.097,0.075,0.042,0.069,
+0.058,0.069,0.045,0.047,0.074,9.02e-3,0.058,0.069,0.096,0.103,
+0.058,0.105,0.799,0.979,0.668,0.758,0.102,0.164,0.064,0.090,
+0.723,0.085,0.344,0.507,0.458,0.633,0.518,0.715,0.731,0.554,
+0.538,0.791,0.835,0.960,0.620,1.039,0.947,0.089,0.556,0.759,
+0.685,0.667,0.672,1.080,1.134,0.576,0.455,0.840,0.565,0.391,
+0.317,0.415,0.743,0.066,0.474,0.613,0.996,0.659,0.447,1.082,
+1.315,0.743,0.509,0.879,0.777,0.611,0.484,0.531,0.776,0.063,
+0.641,0.832,1.043,0.844,0.621,1.315,0.869,0.787,0.637,0.935,
+0.074,0.078,0.055,0.081,0.731,0.064,0.505,0.742,0.702,0.814,
+0.660,1.068,1.169,0.639,0.670,1.048,0.784,0.661,0.543,0.833,
+1.052,0.086,0.747,1.183,1.362,1.135,1.108,2.086,3.731,1.540,
+1.448,3.252,1.195,0.727,0.667,1.112,1.388,0.109,0.760,1.128,
+2.190,1.392,1.134,2.604,1.582,0.704,0.632,1.196,0.746,0.411,
+0.421,0.625,0.870,0.057,0.522,0.796,1.239,0.657,0.602,1.321,
+1.884,1.142,1.890,2.748,0.134,0.095,0.107,0.278,1.009,0.072,
+0.698,1.019,1.020,0.916,0.792,1.542,3.114,1.361,2.529,6.634,
+1.654,1.020,1.180,2.829,1.457,0.099,0.936,1.640,2.599,1.507,
+1.688,4.707,2.628,1.163,0.832,2.031,1.054,0.733,0.499,0.870,
+1.096,0.081,0.712,0.985,1.229,0.909,0.935,1.422,1.753,0.792,
+0.556,1.021,0.804,0.521,0.446,0.599,0.963,0.069,0.635,1.054,
+1.192,0.758,0.654,1.084,1.567,1.167,1.034,1.729,0.081,0.084,
+0.065,0.148,1.131,0.077,0.598,0.993,0.956,0.976,0.681,1.413,
+1.916,0.953,1.080,2.557,1.278,1.016,0.853,1.928,1.163,0.075,
+0.699,1.171,1.492,1.345,1.138,2.394,1.745,0.864,0.733,1.262,
+1.114,0.705,0.665,0.988,1.334,0.122,0.771,1.167,1.173,0.862,
+0.902,1.629,0.112,0.083,0.055,0.101,0.064,0.060,0.059,0.074,
+0.087,0.011,0.065,0.098,0.109,0.101,0.080,0.132,1.125,0.946,
+0.753,1.242,0.078,0.069,0.053,0.110,0.900,0.074,0.589,0.850,
+0.780,0.885,0.812,1.357,1.220,0.684,0.772,1.326,1.244,0.832,
+0.799,1.338,1.203,0.083,0.747,1.284,1.098,0.966,1.088,2.021,
+2.797,1.151,1.046,2.131,1.166,0.708,0.655,0.950,1.414,0.102,
+0.716,1.185,2.167,1.186,1.104,2.663,1.555,0.842,0.656,1.207,
+1.037,0.630,0.731,0.821,1.029,0.061,0.729,1.191,1.389,0.970,
+0.896,1.720,1.766,1.278,1.216,2.102,0.113,0.080,0.073,0.154,
+1.344,0.090,0.894,1.441,1.562,1.564,1.422,2.272,3.298,1.572,
+1.689,3.964,1.975,1.442,1.346,2.392,2.532,0.124,1.630,3.107,
+4.671,2.892,3.322,5.646,3.616,2.253,2.013,3.350,2.071,1.273,
+1.180,1.405,1.915,0.174,0.988,1.449,2.530,1.827,1.417,2.242,
+2.395,1.352,1.126,1.497,1.527,1.014,0.966,0.976,1.373,0.134,
+1.001,1.206,1.086,1.032,1.036,1.339,1.504,1.227,1.121,1.697,
+0.147,0.132,0.113,0.199,1.438,0.107,0.731,0.816,0.890,0.974,
+1.052,1.286,1.983,1.050,0.925,2.037,1.799,1.389,0.907,1.516,
+1.247,0.106,0.741,1.119,1.512,1.018,1.210,2.394,2.608,1.398,
+1.596,1.873,1.456,0.932,0.860,0.982,1.332,0.141,0.673,1.065,
+1.195,1.180,1.032,1.656,1.741,0.998,0.955,1.094,1.230,0.662,
+1.103,0.979,1.166,0.121,0.912,1.122,0.797,0.796,0.973,0.988,
+1.245,1.051,0.771,1.145,0.153,0.101,0.093,0.140,6.167,0.283,
+0.822,0.934,1.071,1.079,0.892,0.947,1.025,0.632,0.478,0.860,
+1.175,0.802,0.571,0.949,1.311,0.075,0.618,0.821,0.898,0.724,
+0.939,1.557,1.646,0.838,0.780,1.067,1.254,0.813,0.863,0.979,
+1.248,0.168,0.681,0.962,1.010,0.955,0.792,1.533,0.171,0.102,
+0.084,0.112,0.112,0.118,0.108,0.119,0.102,0.020,0.106,0.119,
+0.105,0.151,0.119,0.165,0.960,0.846,0.787,0.846,0.096,0.099,
+0.086,0.129,1.115,0.107,0.620,0.800,0.772,0.865,0.986,1.201,
+0.879,0.533,0.506,0.881,1.015,0.907,0.785,1.312,1.092,0.102,
+0.700,0.956,0.928,0.869,1.007,1.663,2.027,0.712,0.656,1.256,
+0.850,0.554,0.533,0.835,0.970,0.102,0.503,0.805,1.235,0.855,
+0.685,1.537,1.699,0.911,0.818,1.122,1.087,0.847,1.014,1.033,
+0.878,0.094,0.813,1.121,0.964,1.005,0.874,1.387,1.094,0.804,
+0.957,1.436,0.102,0.080,0.117,0.185,1.195,0.187,0.617,0.871,
+0.791,1.089,1.398,1.394,1.298,0.732,0.713,1.571,0.850,0.669,
+0.724,1.343,1.470,0.106,0.896,1.430,1.607,1.324,1.584,2.831,
+2.805,1.793,1.443,2.211,1.757,1.307,1.085,1.156,1.331,0.133,
+0.709,1.076,1.716,1.294,1.071,1.559,2.297,1.412,0.994,1.266,
+1.485,1.108,1.085,1.082,1.132,0.139,0.910,1.288,0.775,0.900,
+0.826,1.121,1.041,1.020,1.135,1.241,0.126,0.138,0.130,0.167,
+0.855,0.100,0.585,0.652,0.599,0.856,0.757,0.984,1.206,0.790,
+0.697,1.233,1.597,1.295,0.840,1.092,0.870,0.080,0.531,0.776,
+1.006,0.817,0.902,1.698,1.945,1.416,0.886,1.271,1.369,1.361,
+0.841,0.963,0.991,0.120,0.601,0.799,0.793,0.951,0.596,0.959,
+1.494,1.201,0.811,0.948,1.098,0.477,1.048,1.007,1.005,0.150,
+0.837,1.038,0.597,0.940,0.671,0.873,1.156,1.173,0.773,0.978,
+0.142,0.155,0.104,0.142,1.219,0.157,0.673,0.897,0.597,1.216,
+0.894,1.026,0.803,0.576,0.426,0.730,0.983,0.976,0.629,0.893,
+0.860,0.079,0.537,0.755,0.634,0.696,0.694,1.169,1.953,1.097,
+0.896,0.975,1.913,1.392,1.372,1.024,1.345,0.225,0.862,1.007,
+0.912,1.011,0.796,1.294,0.403,0.210,0.121,0.124,0.225,0.253,
+0.294,0.172,0.126,0.042,0.198,0.149,0.088,0.175,0.118,0.131,
+1.177,1.421,1.106,1.056,0.153,0.233,0.155,0.162,1.147,0.178,
+0.875,1.034,0.641,1.227,1.158,1.267,0.980,0.697,0.593,0.845,
+1.304,1.709,1.210,1.338,1.566,0.139,0.962,1.159,0.943,0.936,
+1.251,1.620,1.462,0.924,0.738,0.993,1.013,0.737,0.767,0.790,
+0.815,0.083,0.505,0.850,0.998,0.742,0.583,1.190,2.350,1.267,
+1.123,1.138,1.534,1.269,2.858,2.056,0.870,0.119,1.025,1.145,
+0.966,1.010,0.849,1.191,0.807,0.877,0.839,0.964,0.065,0.087,
+0.084,0.112,0.717,0.078,0.700,0.822,0.602,0.849,0.998,1.204,
+0.943,0.598,0.568,0.920,0.747,0.753,0.603,0.866,0.973,0.071,
+0.759,1.208,1.105,1.050,1.305,1.992,2.022,1.363,1.013,1.889,
+0.957,0.765,0.587,0.880,1.014,0.108,0.587,0.791,1.133,1.017,
+0.625,1.221,1.657,1.263,0.805,1.129,1.051,0.958,0.833,0.927,
+1.119,0.149,1.069,1.136,0.979,1.177,0.745,1.168,1.164,1.410,
+2.320,1.717,0.137,0.187,0.258,0.331,1.357,0.146,0.730,1.016,
+0.606,0.996,0.751,1.025,1.036,0.765,0.980,1.681,1.032,0.984,
+1.269,1.767,1.004,0.101,0.755,1.076,1.179,0.923,1.150,2.269,
+0.109,0.104,0.064,0.102,0.094,0.140,0.068,0.092,0.098,0.018,
+0.071,0.083,0.093,0.124,0.083,0.128,0.133,0.121,0.076,0.094,
+0.127,0.146,0.116,0.106,0.126,0.034,0.156,0.133,0.107,0.185,
+0.088,0.109,0.096,0.201,0.179,0.139,0.024,0.049,0.052,0.045,
+0.387,0.044,0.119,0.214,0.086,0.151,0.114,0.123,0.104,0.090,
+0.083,0.166,0.184,0.216,0.198,0.338,0.145,0.017,0.103,0.149,
+0.110,0.109,0.120,0.187,1.195,1.007,0.684,0.820,0.982,1.399,
+0.982,0.941,1.182,0.215,1.386,1.605,0.747,0.994,0.846,1.409,
+0.106,0.139,0.070,0.081,0.091,0.203,0.131,0.114,0.101,0.028,
+0.149,0.143,0.090,0.154,0.101,0.150,0.970,3.140,1.038,1.080,
+0.171,1.127,0.153,0.211,1.113,0.226,0.664,0.940,0.582,1.288,
+0.928,1.109,0.732,0.821,0.597,1.187,1.180,3.307,1.207,2.665,
+1.253,0.178,0.961,1.245,0.763,0.906,1.118,1.611,1.180,0.826,
+0.560,0.992,0.670,0.576,0.419,0.535,0.934,0.096,0.621,0.830,
+0.870,0.767,0.548,1.273,1.348,1.180,0.753,1.037,1.206,1.329,
+1.114,1.043,1.089,0.147,1.117,1.556,1.133,1.356,1.025,1.936,
+0.899,1.322,0.976,1.251,0.080,0.180,0.093,0.143,0.984,0.134,
+0.870,1.185,0.688,1.235,1.005,1.427,0.934,0.725,0.650,1.215,
+0.780,0.966,0.730,1.141,1.148,0.108,1.156,1.474,1.251,1.226,
+1.400,2.219,2.519,1.289,1.047,2.144,1.476,0.728,0.605,1.192,
+1.417,0.112,0.788,1.128,1.545,1.027,0.970,1.879,1.396,0.719,
+0.611,0.939,0.776,0.512,0.498,0.699,0.856,0.069,0.610,0.966,
+0.892,0.611,0.609,1.106,1.209,0.956,1.045,1.479,0.092,0.075,
+0.078,0.195,0.923,0.081,0.963,0.907,0.738,0.755,0.712,1.215,
+1.508,0.781,1.216,2.381,0.998,0.644,0.770,1.953,1.274,0.090,
+0.863,1.355,1.746,1.051,1.216,3.198,2.099,1.478,0.928,1.606,
+1.379,1.254,0.841,1.142,1.397,0.146,1.000,1.456,1.224,1.207,
+0.984,1.553,1.742,1.061,0.760,1.193,1.153,0.920,0.832,0.959,
+1.281,0.137,1.169,1.714,1.070,1.052,0.895,1.336,1.285,1.505,
+1.259,1.541,0.106,0.136,0.121,0.245,2.054,0.173,1.001,1.494,
+0.967,1.311,1.003,1.555,1.249,0.833,0.949,1.857,1.361,1.183,
+1.280,2.825,1.434,0.116,0.967,1.723,1.229,1.167,1.328,2.341,
+1.426,0.796,0.618,0.941,1.136,0.859,0.809,1.005,1.269,0.153,
+0.886,1.268,0.978,0.971,1.075,1.624,0.125,0.090,0.060,0.094,
+0.079,0.110,0.128,0.105,0.077,0.014,0.100,0.111,0.097,0.122,
+0.111,0.145,0.900,1.123,0.823,1.035,0.083,0.145,0.074,0.133,
+1.037,0.137,0.852,1.223,0.760,1.116,1.116,1.742,0.983,0.660,
+0.762,1.080,1.138,1.116,1.022,1.730,1.298,0.117,1.034,1.622,
+1.188,0.924,1.429,2.394,2.003,0.974,0.831,1.493,0.954,0.653,
+0.753,0.801,1.129,0.108,0.675,1.108,1.337,0.896,0.831,1.876,
+1.802,0.933,0.799,1.122,1.019,0.851,1.713,1.270,0.961,0.092,
+1.288,1.434,1.322,1.022,1.036,1.653,1.315,1.118,1.074,1.762,
+0.093,0.082,0.087,0.159,1.150,0.106,1.004,1.437,1.136,1.287,
+1.739,2.050,1.953,1.086,1.173,2.459,1.317,1.039,1.114,1.941,
+1.636,0.102,1.439,2.383,2.633,1.785,2.567,3.452,2.881,1.594,
+1.334,2.613,1.646,1.063,0.907,1.129,1.313,0.133,0.692,1.189,
+1.771,1.406,0.979,1.698,1.561,0.922,0.683,0.949,1.117,0.675,
+0.665,0.771,0.872,0.087,0.579,0.821,0.775,0.754,0.660,0.973,
+1.428,1.304,0.895,1.416,0.135,0.108,0.084,0.162,0.822,0.082,
+0.594,0.768,0.740,0.875,0.799,1.002,1.541,0.798,0.703,1.442,
+1.200,0.853,0.648,1.118,0.985,0.066,0.540,0.803,1.104,0.718,
+0.862,1.700,2.398,1.266,0.915,1.709,1.770,1.071,0.954,1.128,
+1.121,0.106,0.557,1.005,1.017,0.937,0.933,1.265,1.653,1.002,
+0.691,0.890,1.341,0.602,0.755,0.815,1.046,0.104,0.719,0.919,
+0.723,0.772,0.625,0.802,1.489,1.362,0.975,1.454,0.157,0.132,
+0.119,0.194,1.240,0.145,0.839,1.289,0.750,1.211,1.066,1.156,
+1.227,0.762,0.529,1.026,1.423,1.088,0.783,1.319,1.087,0.076,
+0.601,0.963,0.967,0.856,0.866,1.611,1.947,0.944,0.790,1.244,
+1.647,1.223,1.223,1.274,1.783,0.210,1.061,1.368,1.268,1.210,
+1.137,1.805,0.176,0.149,0.115,0.151,0.181,0.159,0.170,0.157,
+0.159,0.029,0.311,0.210,0.177,0.254,0.178,0.261,1.264,1.114,
+1.733,1.704,0.142,0.111,0.172,0.205,1.376,0.185,1.010,1.072,
+0.864,1.346,1.382,1.297,1.132,0.646,0.786,1.057,1.441,1.150,
+1.249,1.488,1.172,0.117,0.988,1.209,1.072,0.960,1.314,1.808,
+1.846,0.793,0.694,1.377,0.936,0.602,0.735,0.815,0.922,0.094,
+0.550,0.962,1.301,0.925,0.841,1.654,1.471,0.918,0.786,1.121,
+1.124,0.820,0.911,0.948,0.913,0.089,1.080,1.168,0.946,0.967,
+0.915,1.557,1.385,1.175,1.557,2.551,0.164,0.113,0.142,0.230,
+1.246,0.121,1.028,1.410,1.109,1.346,1.657,1.862,1.614,1.017,
+0.906,1.910,1.008,0.721,0.896,1.336,1.471,0.112,1.101,1.939,
+2.114,1.549,1.993,3.448,0.187,0.133,0.094,0.147,0.134,0.129,
+0.091,0.115,0.100,0.017,0.057,0.085,0.116,0.189,0.101,0.139,
+0.157,0.113,0.092,0.115,0.149,0.121,0.142,0.117,0.109,0.020,
+0.086,0.104,0.082,0.103,0.089,0.123,0.106,0.112,0.086,0.112,
+0.018,0.022,0.021,0.023,0.084,0.017,0.068,0.098,0.059,0.095,
+0.087,0.110,0.115,0.075,0.066,0.120,0.147,0.150,0.112,0.165,
+0.093,0.015,0.075,0.111,0.095,0.098,0.102,0.202,0.148,0.105,
+0.063,0.101,0.129,0.116,0.093,0.088,0.084,0.014,0.049,0.082,
+0.063,0.077,0.069,0.084,0.135,0.127,0.079,0.081,0.154,0.117,
+0.125,0.109,0.114,0.024,0.101,0.106,0.065,0.090,0.076,0.082,
+0.118,0.131,0.086,0.114,0.022,0.030,0.023,0.027,0.142,0.033,
+0.096,0.150,0.064,0.131,0.113,0.117,0.101,0.070,0.045,0.086,
+0.122,0.126,0.089,0.119,0.101,0.012,0.071,0.092,0.072,0.077,
+0.081,0.138,0.157,0.099,0.076,0.090,0.153,0.168,0.159,0.126,
+0.134,0.027,0.171,0.156,0.084,0.129,0.111,0.132,0.019,0.023,
+0.014,0.019,0.026,0.051,0.045,0.028,0.028,0.012,0.142,0.031,
+0.011,0.027,0.028,0.023,0.151,0.157,0.173,0.185,0.026,0.035,
+0.047,0.033,0.174,0.040,0.159,0.158,0.092,0.170,0.198,0.157,
+0.114,0.073,0.099,0.105,0.177,0.188,0.172,0.187,0.149,0.023,
+0.143,0.151,0.100,0.131,0.149,0.190,0.163,0.137,0.100,0.139,
+0.114,0.108,0.095,0.102,0.102,0.014,0.074,0.106,0.134,0.140,
+0.113,0.204,0.211,0.161,0.123,0.178,0.214,0.202,0.231,0.215,
+0.147,0.027,0.269,0.190,0.136,0.195,0.158,0.242,0.127,0.135,
+0.159,0.233,0.017,0.020,0.021,0.035,0.135,0.024,0.138,0.182,
+0.106,0.174,0.224,0.237,0.154,0.114,0.092,0.167,0.118,0.114,
+0.103,0.167,0.158,0.015,0.126,0.198,0.174,0.167,0.217,0.351,
+1.630,1.079,0.982,1.585,1.053,0.788,0.670,0.952,1.027,0.092,
+0.600,0.749,0.778,0.658,0.723,0.916,1.487,1.080,0.753,1.042,
+1.305,0.984,1.212,1.107,1.142,0.135,1.199,1.176,0.670,0.926,
+0.808,1.053,1.055,1.277,1.096,1.367,0.159,0.189,0.181,0.339,
+1.034,0.142,1.160,1.126,0.615,1.094,0.953,1.075,1.023,0.621,
+0.641,1.176,1.096,0.921,0.910,1.932,1.255,0.127,2.067,1.560,
+0.970,0.871,1.518,1.953,0.125,0.115,0.065,0.104,0.118,0.135,
+0.089,0.100,0.082,0.017,0.062,0.079,0.058,0.077,0.063,0.091,
+0.121,0.122,0.067,0.074,0.154,0.123,0.134,0.104,0.113,0.029,
+0.201,0.153,0.056,0.090,0.075,0.075,0.105,0.155,0.105,0.117,
+0.024,0.038,0.028,0.034,0.156,0.038,0.151,0.213,0.064,0.137,
+0.114,0.122,0.140,0.089,0.065,0.127,0.170,0.202,0.133,0.250,
+0.139,0.021,0.166,0.185,0.094,0.103,0.121,0.182,1.504,0.931,
+0.697,0.759,1.413,1.545,1.390,1.006,1.213,0.203,1.061,1.059,
+0.726,0.959,1.016,1.252,0.141,0.168,0.090,0.090,0.142,0.231,
+0.189,0.112,0.143,0.038,0.181,0.149,0.086,0.164,0.137,0.135,
+1.301,1.565,1.397,1.298,0.160,0.209,0.226,0.186,1.395,0.219,
+0.632,0.977,0.626,1.094,1.183,1.150,0.866,0.678,0.676,0.709,
+1.306,1.557,1.333,1.310,1.156,0.156,1.394,1.306,0.729,0.882,
+1.360,1.573,1.173,0.728,0.642,0.962,0.796,0.665,0.548,0.640,
+0.881,0.095,0.564,0.741,0.704,0.680,0.575,0.989,1.401,1.217,
+0.840,1.008,1.329,1.613,1.426,0.944,1.218,0.156,1.222,1.251,
+0.845,1.234,0.960,1.216,1.224,1.452,1.491,1.594,0.135,0.176,
+0.185,0.189,1.569,0.194,1.651,1.798,0.842,1.525,1.563,1.581,
+1.089,0.751,0.739,1.090,1.135,1.057,1.212,1.362,1.572,0.124,
+1.595,1.738,1.237,1.252,1.626,2.161,2.094,0.891,0.777,1.427,
+0.933,0.551,0.523,0.798,0.959,0.086,0.499,0.745,1.012,0.754,
+0.776,1.370,1.319,0.690,0.488,0.773,0.791,0.490,0.517,0.742,
+0.725,0.062,0.458,0.661,0.619,0.661,0.562,0.836,1.332,0.954,
+0.659,1.162,0.110,0.083,0.071,0.161,0.870,0.082,0.702,0.942,
+0.806,0.883,0.816,1.226,1.780,0.729,0.697,1.448,1.152,0.652,
+0.601,1.289,1.008,0.083,0.784,1.350,1.343,1.059,1.100,2.254,
+2.385,1.366,0.851,1.435,1.568,1.151,0.976,1.047,1.307,0.121,
+0.758,1.016,0.999,0.970,0.801,1.290,1.776,1.196,0.731,1.037,
+1.372,1.062,1.023,1.040,1.145,0.116,1.092,1.341,0.790,0.951,
+0.861,1.017,2.069,1.585,0.986,1.440,0.143,0.159,0.105,0.185,
+1.427,0.166,1.149,1.713,0.948,1.485,1.267,1.800,2.742,1.146,
+0.946,1.578,1.884,1.439,1.154,1.932,1.440,0.126,1.116,1.746,
+1.342,1.360,1.265,2.289,3.993,1.186,0.937,1.369,1.770,1.300,
+1.623,1.413,1.887,0.227,1.043,1.476,1.087,1.181,1.234,2.048,
+0.241,0.131,0.098,0.122,0.152,0.179,0.310,0.151,0.123,0.024,
+0.144,0.167,0.104,0.147,0.130,0.175,1.672,1.715,1.474,1.774,
+0.142,0.147,0.171,0.216,1.798,0.247,1.417,1.815,1.077,1.690,
+1.670,1.914,1.908,1.123,2.448,1.664,1.907,1.519,1.825,2.052,
+1.704,0.159,1.722,2.526,1.434,1.329,2.011,2.623,2.154,0.898,
+1.002,1.439,1.093,0.664,0.680,0.809,1.413,0.142,0.689,1.036,
+1.207,0.840,0.803,1.753,1.884,1.086,0.794,1.203,1.405,1.062,
+1.364,1.115,1.164,0.093,0.977,1.408,1.016,1.004,0.936,1.425,
+1.826,1.599,1.466,2.008,0.137,0.127,0.115,0.203,1.789,0.172,
+1.758,2.279,1.337,1.716,1.942,2.163,2.309,1.104,1.277,2.406,
+1.656,1.373,1.481,2.193,1.995,0.129,1.810,2.803,2.290,1.793,
+2.636,3.543,6.087,2.135,1.787,4.227,1.841,1.025,0.864,1.387,
+2.038,0.151,0.899,1.401,2.991,2.031,1.288,2.539,2.023,0.996,
+0.674,1.155,1.087,0.569,0.512,0.686,1.168,0.082,0.604,0.774,
+1.386,1.079,0.719,1.244,1.584,1.127,0.828,1.690,0.126,0.090,
+0.073,0.180,1.117,0.073,0.539,0.821,1.061,1.015,1.047,1.430,
+2.220,1.048,0.901,2.247,1.449,0.892,0.754,1.384,1.314,0.083,
+0.813,1.333,2.024,1.195,1.597,3.362,2.346,1.062,0.729,1.608,
+1.251,0.689,0.536,0.799,0.929,0.073,0.395,0.751,0.970,0.762,
+0.563,1.287,1.407,0.836,0.496,0.852,0.916,0.461,0.431,0.596,
+0.809,0.061,0.440,0.649,0.897,0.588,0.469,0.807,1.192,0.929,
+0.641,1.208,0.094,0.066,0.062,0.114,1.122,0.126,0.459,0.751,
+0.871,0.914,0.660,0.970,1.075,0.594,0.436,0.937,0.923,0.624,
+0.449,0.821,0.949,0.056,0.433,0.817,0.989,0.659,0.740,1.579,
+1.857,0.779,0.715,1.239,1.288,0.912,0.741,1.047,1.266,0.115,
+0.454,0.933,1.497,1.021,0.733,1.932,0.130,0.081,0.058,0.110,
+0.106,0.075,0.066,0.111,0.092,8.44e-3,0.063,0.110,0.166,0.139,
+0.086,0.201,0.961,0.729,0.841,1.076,0.082,0.064,0.079,0.117,
+0.881,0.076,0.438,0.741,0.785,0.889,0.820,1.122,1.053,0.598,
+0.621,1.145,1.183,0.927,0.744,1.165,0.990,0.073,0.562,1.010,
+1.115,0.841,1.017,2.009,2.808,1.025,0.919,2.188,1.156,0.670,
+0.668,1.046,1.430,0.125,0.666,1.252,2.613,1.404,1.072,2.660,
+1.719,0.865,0.687,1.236,1.045,0.623,0.569,0.886,1.087,0.072,
+0.654,1.266,1.564,1.145,0.899,1.844,1.386,1.055,1.081,1.778,
+0.104,0.075,0.081,0.151,1.085,0.078,0.744,1.317,1.208,1.244,
+1.481,2.115,2.396,1.195,1.202,3.253,1.401,0.953,0.925,1.659,
+2.161,0.124,1.191,2.330,3.188,2.111,2.852,5.796,2.577,1.366,
+0.987,2.042,1.361,0.912,0.644,0.929,1.175,0.106,0.513,1.022,
+1.407,1.211,1.050,1.824,1.564,0.881,0.608,1.046,1.031,0.679,
+0.717,0.719,0.961,0.083,0.610,0.862,0.851,0.775,0.617,1.081,
+1.064,0.842,0.627,1.157,0.096,0.085,0.063,0.133,0.775,0.072,
+0.448,0.785,0.743,0.838,0.753,1.317,1.226,0.693,0.602,1.264,
+1.169,0.982,0.605,1.032,0.872,0.076,0.531,1.182,1.179,1.018,
+1.079,2.623,1.698,0.994,0.591,1.143,1.078,0.758,0.521,0.643,
+0.714,0.065,0.322,0.631,0.724,0.659,0.456,1.075,1.174,0.815,
+0.404,0.706,0.831,0.454,0.373,0.526,0.679,0.070,0.435,0.602,
+0.695,0.579,0.471,0.786,0.980,0.866,0.542,0.967,0.084,0.085,
+0.066,0.102,1.138,0.120,0.514,0.944,0.736,0.977,0.749,1.173,
+0.867,0.622,0.409,0.838,0.948,0.776,0.489,0.797,0.820,0.064,
+0.443,1.131,0.803,0.715,0.757,1.503,1.590,0.815,0.831,1.148,
+1.233,0.926,1.098,1.073,1.042,0.138,0.703,1.586,0.991,1.012,
+0.774,1.802,0.087,0.071,0.055,0.084,0.093,0.102,0.077,0.102,
+0.074,0.014,0.144,0.121,0.086,0.120,0.075,0.134,1.238,0.972,
+0.881,1.199,0.102,0.096,0.094,0.128,1.072,0.119,0.627,1.024,
+0.852,1.108,1.030,1.457,1.126,0.733,0.684,1.295,1.372,1.360,
+0.985,1.443,1.110,0.094,0.811,1.338,1.130,1.052,1.284,2.382,
+1.855,0.996,0.821,1.454,1.125,0.771,0.659,0.893,1.115,0.111,
+0.656,1.131,1.479,1.348,0.944,2.087,1.658,0.972,0.761,1.282,
+1.249,0.880,0.803,1.340,1.000,0.090,0.884,1.245,1.263,1.336,
+0.918,1.753,1.148,1.010,0.922,1.482,0.088,0.083,0.067,0.133,
+0.977,0.085,0.758,1.182,0.956,1.160,1.212,2.021,1.563,0.908,
+0.832,1.693,1.287,1.029,0.782,1.357,1.491,0.101,0.975,1.816,
+1.953,1.415,1.849,3.755,2.671,1.589,1.263,2.255,1.459,1.071,
+0.714,1.182,2.034,0.140,0.775,1.167,1.717,1.187,0.925,1.650,
+2.003,1.322,0.929,1.386,1.506,0.967,0.831,0.999,1.598,0.135,
+1.029,1.271,1.480,1.378,1.153,1.671,1.713,1.637,1.228,1.902,
+0.184,0.178,0.142,0.298,1.329,0.129,0.886,1.275,1.051,1.479,
+1.523,1.772,1.713,1.007,0.930,1.993,1.788,1.119,1.005,1.827,
+1.742,0.148,1.469,2.240,2.059,1.659,4.152,4.469,0.159,0.122,
+0.086,0.157,0.153,0.128,0.088,0.176,0.127,0.016,0.078,0.106,
+0.117,0.159,0.095,0.223,0.132,0.122,0.061,0.097,0.126,0.127,
+0.078,0.105,0.120,0.017,0.101,0.121,0.103,0.120,0.089,0.132,
+0.110,0.147,0.078,0.126,0.013,0.026,0.014,0.025,0.129,0.018,
+0.089,0.139,0.087,0.144,0.123,0.155,0.159,0.107,0.075,0.180,
+0.184,0.168,0.102,0.226,0.156,0.017,0.109,0.218,0.161,0.161,
+0.220,0.355,1.905,1.165,0.848,1.191,1.596,1.523,1.549,1.260,
+1.525,0.185,0.958,1.353,1.182,1.293,1.121,2.486,0.119,0.119,
+0.069,0.104,0.115,0.120,0.098,0.093,0.110,0.020,0.101,0.112,
+0.133,0.166,0.114,0.216,1.332,1.707,1.705,1.641,0.138,0.176,
+0.152,0.178,1.493,0.181,0.797,1.309,0.927,1.392,1.343,1.832,
+1.272,0.984,0.937,1.352,1.664,1.692,1.309,1.563,1.565,0.168,
+1.423,1.823,1.267,1.397,2.014,3.071,1.995,1.199,1.038,1.702,
+1.320,0.965,0.787,1.109,1.416,0.130,0.913,1.533,1.381,1.268,
+0.948,2.210,2.029,1.724,1.098,1.531,1.655,1.392,1.008,1.158,
+1.660,0.142,1.296,1.652,1.790,1.906,1.409,2.370,1.672,1.919,
+1.497,2.065,0.132,0.158,0.130,0.181,2.038,0.183,1.584,2.288,
+1.509,1.967,2.154,2.764,1.941,1.213,1.149,1.963,1.513,1.304,
+1.234,1.616,2.359,0.162,1.952,3.001,2.266,2.011,2.817,4.764,
+7.284,2.477,1.794,3.895,2.063,1.286,1.001,1.849,2.325,0.172,
+1.152,1.752,3.025,2.029,2.121,3.684,2.491,1.229,0.785,1.500,
+1.395,0.907,0.709,1.296,1.513,0.099,0.805,1.210,1.392,1.167,
+0.998,1.803,2.472,1.674,1.123,2.893,0.163,0.134,0.097,0.284,
+1.595,0.131,0.930,1.494,1.732,1.863,1.406,2.596,3.482,1.707,
+1.451,3.961,2.083,1.332,1.203,2.550,2.407,0.184,1.474,2.685,
+4.027,3.378,3.270,8.003,3.635,1.742,1.299,2.397,1.913,1.377,
+1.159,1.549,1.743,0.121,0.973,1.369,1.692,1.363,1.119,2.199,
+2.483,1.552,0.784,1.545,1.698,1.468,0.889,1.516,1.475,0.111,
+0.936,1.461,1.250,1.234,0.961,1.705,2.144,1.704,1.042,2.350,
+0.122,0.130,0.070,0.193,1.650,0.139,1.006,1.702,1.512,1.860,
+1.351,2.700,2.595,1.324,1.069,2.612,1.840,1.377,1.048,2.382,
+2.057,0.126,1.204,2.228,2.334,2.094,1.917,4.508,3.936,1.823,
+1.562,2.263,2.645,1.656,1.579,2.146,2.667,0.236,1.332,2.186,
+2.384,1.844,1.957,3.830,0.185,0.137,0.085,0.149,0.150,0.142,
+0.115,0.155,0.128,0.014,0.100,0.145,0.173,0.176,0.134,0.283,
+2.539,2.195,1.824,2.893,0.168,0.154,0.128,0.258,2.479,0.221,
+1.936,2.708,1.978,2.437,2.533,3.846,3.107,1.888,1.843,3.022,
+2.903,2.144,2.003,3.287,3.041,0.207,2.481,4.176,2.866,2.311,
+3.415,5.889,8.101,2.852,2.554,4.875,2.814,1.714,1.400,2.144,
+4.472,0.268,1.651,2.906,4.905,3.017,2.441,6.738,3.612,2.291,
+1.394,2.567,2.521,2.241,1.391,2.132,2.634,0.155,1.563,2.523,
+2.797,2.282,1.807,4.274,3.685,2.975,2.443,4.418,0.180,0.177,
+0.122,0.302,3.360,0.222,2.675,4.111,3.624,3.503,3.837,7.010,
+7.487,2.786,2.580,6.540,2.845,2.248,2.126,4.180,4.331,0.206,
+3.063,6.237,5.941,3.153,4.146,9.338,0.695,0.222,0.155,0.277,
+0.300,0.160,0.138,0.169,0.284,0.029,0.129,0.161,0.346,0.212,
+0.133,0.239,0.347,0.202,0.135,0.179,0.206,0.123,0.115,0.117,
+0.208,0.024,0.119,0.141,0.137,0.134,0.101,0.159,0.324,0.216,
+0.161,0.227,0.033,0.031,0.025,0.039,0.193,0.023,0.125,0.159,
+0.139,0.152,0.122,0.162,0.318,0.142,0.152,0.269,0.233,0.162,
+0.151,0.241,0.197,0.023,0.124,0.162,0.255,0.124,0.131,0.228,
+0.447,0.218,0.154,0.193,0.232,0.166,0.157,0.143,0.192,0.024,
+0.098,0.125,0.129,0.130,0.081,0.125,0.293,0.166,0.110,0.137,
+0.163,0.122,0.097,0.086,0.184,0.031,0.109,0.130,0.098,0.105,
+0.073,0.099,0.222,0.217,0.130,0.152,0.025,0.029,0.026,0.022,
+0.181,0.030,0.126,0.151,0.097,0.149,0.114,0.129,0.151,0.090,
+0.080,0.118,0.161,0.122,0.153,0.131,0.146,0.017,0.095,0.122,
+0.114,0.093,0.102,0.157,0.325,0.121,0.107,0.138,0.194,0.126,
+0.123,0.118,0.176,0.025,0.115,0.150,0.123,0.108,0.100,0.159,
+0.027,0.021,0.012,0.018,0.024,0.028,0.019,0.012,0.024,9.11e-3,
+0.028,0.027,0.016,0.026,0.019,0.023,0.160,0.203,0.141,0.177,
+0.021,0.021,0.027,0.027,0.157,0.038,0.284,0.226,0.081,0.123,
+0.147,0.117,0.112,0.080,0.080,0.118,0.149,0.125,0.130,0.155,
+0.151,0.027,0.322,0.243,0.099,0.093,0.128,0.157,0.347,0.140,
+0.112,0.230,0.143,0.084,0.090,0.100,0.170,0.020,0.089,0.131,
+0.170,0.125,0.131,0.225,0.267,0.148,0.113,0.156,0.169,0.123,
+0.105,0.111,0.163,0.020,0.124,0.177,0.141,0.149,0.138,0.185,
+0.161,0.136,0.140,0.168,0.017,0.018,0.034,0.027,0.159,0.018,
+0.133,0.185,0.112,0.141,0.147,0.145,0.184,0.103,0.092,0.177,
+0.122,0.090,0.093,0.130,0.178,0.015,0.131,0.185,0.168,0.128,
+0.131,0.219,0.392,0.240,0.181,0.238,0.250,0.188,0.145,0.144,
+0.175,0.025,0.096,0.147,0.151,0.163,0.101,0.166,0.261,0.191,
+0.136,0.162,0.213,0.164,0.138,0.133,0.168,0.034,0.124,0.169,
+0.099,0.125,0.095,0.144,0.183,0.198,0.145,0.170,0.033,0.032,
+0.029,0.032,0.144,0.023,0.119,0.139,0.089,0.146,0.103,0.151,
+0.151,0.080,0.079,0.125,0.190,0.146,0.109,0.136,0.156,0.019,
+0.073,0.109,0.105,0.088,0.093,0.171,0.302,0.247,0.114,0.150,
+0.239,0.228,0.139,0.118,0.179,0.030,0.087,0.116,0.109,0.134,
+0.077,0.110,0.223,0.203,0.114,0.129,0.205,0.120,0.137,0.105,
+0.160,0.043,0.115,0.154,0.076,0.119,0.078,0.093,0.163,0.266,
+0.128,0.139,0.038,0.071,0.044,0.029,0.190,0.056,0.153,0.201,
+0.081,0.229,0.138,0.156,0.105,0.087,0.055,0.078,0.152,0.180,
+0.103,0.110,0.157,0.023,0.087,0.132,0.081,0.146,0.077,0.131,
+0.187,0.141,0.080,0.108,0.196,0.267,0.159,0.119,0.154,0.029,
+0.093,0.121,0.085,0.111,0.087,0.129,0.021,0.037,0.015,0.017,
+0.030,0.086,0.041,0.021,0.033,0.019,0.034,0.037,0.011,0.028,
+0.019,0.021,0.149,0.228,0.149,0.150,0.035,0.059,0.052,0.031,
+0.200,0.050,0.177,0.173,0.077,0.181,0.172,0.142,0.088,0.069,
+0.067,0.079,0.171,0.210,0.191,0.150,0.147,0.028,0.135,0.153,
+0.090,0.106,0.146,0.142,0.159,0.084,0.076,0.104,0.115,0.093,
+0.093,0.076,0.110,0.011,0.051,0.098,0.108,0.085,0.070,0.147,
+0.174,0.153,0.100,0.123,0.153,0.220,0.117,0.110,0.123,0.023,
+0.101,0.246,0.094,0.138,0.100,0.164,0.152,0.204,0.133,0.151,
+0.023,0.029,0.024,0.020,0.163,0.026,0.133,0.187,0.092,0.146,
+0.199,0.190,0.129,0.083,0.080,0.114,0.120,0.114,0.096,0.111,
+0.151,0.018,0.100,0.182,0.136,0.144,0.173,0.211,0.235,0.144,
+0.147,0.147,0.113,0.086,0.070,0.083,0.110,0.015,0.061,0.110,
+0.106,0.101,0.060,0.106,0.166,0.127,0.093,0.109,0.117,0.091,
+0.077,0.077,0.132,0.024,0.094,0.113,0.077,0.106,0.061,0.092,
+0.128,0.160,0.140,0.158,0.022,0.037,0.024,0.033,0.122,0.025,
+0.077,0.150,0.075,0.132,0.077,0.145,0.108,0.077,0.072,0.105,
+0.100,0.131,0.079,0.117,0.142,0.023,0.087,0.130,0.097,0.082,
+0.103,0.218,0.020,0.021,0.021,0.022,0.019,0.023,0.015,0.015,
+0.016,5.60e-3,9.78e-3,0.014,0.011,0.015,9.36e-3,0.015,0.033,0.023,
+0.014,0.016,0.023,0.025,0.019,0.014,0.021,0.010,0.019,0.020,
+0.012,0.017,0.010,0.012,0.016,0.034,0.018,0.016,6.77e-3,0.017,
+0.014,6.35e-3,0.028,0.014,0.024,0.046,0.011,0.034,0.018,0.023,
+0.015,0.013,9.86e-3,0.014,0.025,0.041,0.026,0.023,0.018,6.43e-3,
+0.020,0.024,0.014,0.016,0.018,0.028,0.105,0.076,0.058,0.076,
+0.090,0.096,0.075,0.057,0.101,0.023,0.085,0.091,0.066,0.069,
+0.060,0.076,0.014,0.019,8.69e-3,7.52e-3,0.015,0.022,0.016,8.94e-3,
+0.016,0.011,0.018,0.015,0.011,0.017,0.011,9.94e-3,0.097,0.187,
+0.122,0.088,0.023,0.063,0.027,0.018,0.129,0.044,0.078,0.163,
+0.068,0.122,0.084,0.079,0.071,0.053,0.043,0.049,0.083,0.139,
+0.088,0.083,0.106,0.023,0.088,0.103,0.048,0.077,0.073,0.080,
+0.102,0.059,0.048,0.099,0.067,0.048,0.035,0.043,0.073,9.61e-3,
+0.049,0.090,0.073,0.058,0.042,0.084,0.128,0.099,0.065,0.073,
+0.099,0.124,0.069,0.059,0.111,0.021,0.082,0.146,0.083,0.116,
+0.067,0.099,0.107,0.139,0.089,0.143,0.019,0.036,0.021,0.039,
+0.170,0.046,0.248,1.264,0.082,0.147,0.109,0.238,0.094,0.056,
+0.053,0.067,0.096,0.110,0.075,0.086,0.122,0.017,0.129,0.236,
+0.099,0.103,0.111,0.158,0.272,0.160,0.128,0.236,0.125,0.081,
+0.075,0.098,0.127,0.015,0.059,0.107,0.172,0.132,0.086,0.167,
+0.172,0.082,0.070,0.095,0.118,0.060,0.046,0.066,0.088,0.010,
+0.068,0.205,0.087,0.082,0.052,0.095,0.138,0.135,0.100,0.146,
+0.013,0.015,0.011,0.020,0.098,0.011,0.053,0.097,0.085,0.106,
+0.064,0.121,0.165,0.084,0.095,0.195,0.115,0.091,0.078,0.137,
+0.112,0.012,0.111,0.133,0.147,0.116,0.126,0.303,0.261,0.160,
+0.125,0.273,0.174,0.127,0.093,0.136,0.133,0.016,0.083,0.129,
+0.111,0.114,0.081,0.121,0.457,0.142,0.109,0.164,0.153,0.107,
+0.082,0.093,0.131,0.022,0.093,0.151,0.113,0.108,0.063,0.096,
+0.147,0.172,0.114,0.146,0.012,0.023,0.018,0.020,0.154,0.024,
+0.101,0.177,0.101,0.157,0.099,0.160,0.154,0.076,0.081,0.134,
+0.145,0.131,0.103,0.163,0.144,0.015,0.107,0.146,0.121,0.122,
+0.130,0.205,0.148,0.085,0.070,0.103,0.117,0.088,0.090,0.093,
+0.133,0.031,0.105,0.140,0.088,0.106,0.087,0.125,0.021,0.011,
+7.60e-3,0.015,0.013,0.017,0.019,8.86e-3,0.012,6.77e-3,0.017,0.030,
+0.011,0.016,0.011,0.017,0.120,0.173,0.101,0.130,0.018,0.022,
+0.016,0.018,0.156,0.028,0.097,0.142,0.090,0.141,0.108,0.118,
+0.097,0.065,0.077,0.091,0.122,0.107,0.111,0.132,0.156,0.018,
+0.111,0.149,0.086,0.096,0.106,0.143,0.201,0.096,0.087,0.142,
+0.112,0.067,0.058,0.076,0.110,0.014,0.069,0.105,0.128,0.091,
+0.089,0.176,0.142,0.084,0.063,0.088,0.100,0.073,0.067,0.067,
+0.091,8.27e-3,0.077,0.131,0.143,0.102,0.076,0.130,0.162,0.142,
+0.112,0.161,0.017,0.017,0.012,0.018,0.157,0.019,0.120,0.300,
+0.165,0.165,0.155,0.201,0.179,0.099,0.099,0.176,0.146,0.127,
+0.103,0.156,0.186,0.014,0.142,0.214,0.236,0.186,0.170,0.311,
+0.370,0.244,0.193,0.259,0.302,0.219,0.164,0.155,0.231,0.038,
+0.126,0.161,0.221,0.197,0.133,0.173,0.256,0.260,0.143,0.153,
+0.241,0.217,0.163,0.148,0.208,0.051,0.185,0.216,0.113,0.147,
+0.124,0.141,0.188,0.345,0.157,0.180,0.030,0.039,0.032,0.036,
+0.150,0.029,0.117,0.133,0.116,0.150,0.140,0.162,0.154,0.129,
+0.079,0.137,0.174,0.159,0.116,0.160,0.197,0.079,0.112,0.150,
+0.123,0.147,0.121,0.179,0.316,0.229,0.119,0.184,0.437,0.271,
+0.179,0.151,0.196,0.038,0.111,0.151,0.105,0.161,0.118,0.125,
+0.247,0.252,0.128,0.173,0.226,0.185,0.149,0.127,0.233,0.090,
+0.200,0.292,0.085,0.178,0.101,0.117,0.169,0.285,0.130,0.139,
+0.073,0.060,0.054,0.033,0.253,0.065,0.169,0.184,0.094,0.221,
+0.147,0.133,0.089,0.087,0.052,0.069,0.190,0.165,0.105,0.114,
+0.128,0.023,0.118,0.130,0.078,0.092,0.114,0.146,0.180,0.186,
+0.079,0.112,0.319,0.288,0.154,0.136,0.176,0.035,0.131,0.144,
+0.082,0.107,0.090,0.134,0.025,0.055,0.020,0.023,0.077,0.115,
+0.040,0.030,0.032,0.024,0.049,0.047,0.012,0.036,0.022,0.024,
+0.226,1.065,0.247,0.403,0.032,0.066,0.049,0.055,0.185,0.064,
+0.294,0.422,0.075,0.192,0.168,0.170,0.083,0.180,0.090,0.111,
+0.165,0.240,0.206,0.244,0.187,0.058,0.650,0.482,0.082,0.116,
+0.155,0.168,0.163,0.096,0.081,0.139,0.108,0.093,0.100,0.092,
+0.102,0.017,0.077,0.090,0.089,0.080,0.071,0.130,0.193,0.188,
+0.120,0.157,0.243,0.268,0.211,0.169,0.130,0.029,0.135,0.155,
+0.081,0.138,0.094,0.131,0.167,0.273,0.371,0.325,0.054,0.044,
+0.281,0.163,0.135,0.040,0.145,0.176,0.079,0.240,0.179,0.159,
+0.114,0.085,0.112,0.137,0.122,0.109,0.307,0.230,0.131,0.019,
+0.157,0.177,0.120,0.147,0.156,0.208,0.296,0.265,0.208,0.216,
+0.309,0.335,0.220,0.175,0.178,0.037,0.113,0.155,0.125,0.166,
+0.114,0.145,0.264,0.286,0.179,0.163,0.369,0.415,0.298,0.200,
+0.219,0.080,0.219,0.279,0.107,0.161,0.114,0.169,0.146,0.272,
+0.187,0.148,0.053,0.068,0.072,0.036,0.143,0.045,0.153,0.149,
+0.076,0.168,0.144,0.151,0.106,0.071,0.063,0.097,0.174,0.200,
+0.153,0.156,0.114,0.022,0.090,0.103,0.103,0.089,0.090,0.152,
+0.240,0.269,0.117,0.132,0.280,0.418,0.207,0.139,0.170,0.049,
+0.127,0.137,0.086,0.158,0.117,0.100,0.223,0.301,0.148,0.125,
+0.196,0.139,0.210,0.136,0.206,0.126,0.219,0.249,0.068,0.192,
+0.116,0.108,0.149,0.378,0.162,0.138,0.058,0.137,0.090,0.047,
+0.213,0.097,0.204,0.221,0.085,0.328,0.221,0.177,0.082,0.093,
+0.057,0.063,0.175,0.279,0.141,0.141,0.142,0.042,0.167,0.183,
+0.068,0.111,0.108,0.134,0.174,0.243,0.094,0.114,0.384,1.027,
+0.292,0.192,0.225,0.062,0.153,0.162,0.087,0.171,0.125,0.155,
+0.033,0.124,0.030,0.027,0.127,0.600,0.138,0.067,0.055,0.068,
+0.078,0.068,0.015,0.070,0.036,0.027,0.203,0.463,0.233,0.188,
+0.104,0.183,0.127,0.060,0.272,0.112,0.265,0.265,0.096,0.328,
+0.291,0.192,0.099,0.119,0.133,0.097,0.361,0.643,0.637,0.304,
+0.247,0.058,0.269,0.243,0.113,0.168,0.207,0.184,0.131,0.119,
+0.069,0.100,0.131,0.201,0.084,0.074,0.094,0.017,0.064,0.073,
+0.068,0.090,0.060,0.099,0.164,0.292,0.138,0.149,0.285,0.863,
+0.290,0.192,0.139,0.059,0.155,0.180,0.068,0.180,0.121,0.115,
+0.215,0.565,0.218,0.175,0.032,0.075,0.054,0.033,0.125,0.041,
+0.168,0.163,0.070,0.189,0.210,0.171,0.110,0.102,0.089,0.091,
+0.125,0.176,0.207,0.132,0.144,0.021,0.120,0.138,0.103,0.130,
+0.264,0.201,0.178,0.148,0.084,0.121,0.141,0.128,0.099,0.098,
+0.110,0.021,0.060,0.085,0.071,0.097,0.088,0.110,0.166,0.220,
+0.097,0.149,0.193,0.202,0.148,0.143,0.178,0.068,0.186,0.271,
+0.089,0.158,0.083,0.109,0.101,0.212,0.115,0.120,0.023,0.055,
+0.040,0.038,0.128,0.045,0.114,0.166,0.058,0.143,0.089,0.167,
+0.065,0.060,0.042,0.073,0.103,0.194,0.089,0.110,0.104,0.020,
+0.098,0.143,0.080,0.077,0.082,0.174,0.031,0.028,0.015,0.015,
+0.055,0.067,0.068,0.029,0.022,0.012,0.019,0.021,8.44e-3,0.020,
+0.029,0.032,0.028,0.063,0.022,0.039,0.071,0.083,0.066,0.042,
+0.039,0.056,0.071,0.056,0.011,0.032,0.020,0.017,0.019,0.085,
+0.036,0.025,0.026,0.082,0.064,0.021,0.055,0.066,0.073,0.073,
+0.015,0.068,0.048,0.033,9.44e-3,0.013,8.77e-3,0.010,0.041,0.102,
+0.036,0.039,0.020,0.011,0.035,0.035,9.44e-3,0.017,0.018,0.023,
+0.119,0.188,0.067,0.081,0.144,0.274,0.183,0.111,0.178,0.063,
+0.354,0.277,0.064,0.140,0.101,0.114,0.033,0.114,0.023,0.018,
+0.042,0.120,0.064,0.028,0.044,0.050,0.078,0.049,0.013,0.046,
+0.026,0.021,0.099,0.368,0.157,0.108,0.049,0.140,0.076,0.038,
+0.198,0.120,0.164,0.188,0.064,0.235,0.153,0.127,0.058,0.079,
+0.042,0.058,0.145,0.374,0.168,0.163,0.180,0.058,0.223,0.175,
+0.061,0.120,0.123,0.119,0.106,0.073,0.043,0.086,0.071,0.068,
+0.054,0.049,0.073,0.018,0.063,0.097,0.053,0.089,0.046,0.079,
+0.139,0.234,0.095,0.094,0.175,0.268,0.150,0.140,0.183,0.076,
+0.176,0.191,0.093,0.200,0.110,0.117,0.126,0.221,0.114,0.109,
+0.023,0.055,0.041,0.024,0.162,0.073,0.188,0.268,0.076,0.241,
+0.143,0.156,0.060,0.058,0.044,0.062,0.085,0.143,0.087,0.094,
+0.121,0.026,0.174,0.147,0.081,0.123,0.113,0.138,0.146,0.093,
+0.076,0.129,0.098,0.070,0.057,0.091,0.086,0.012,0.047,0.170,
+0.086,0.078,0.055,0.111,0.105,0.094,0.052,0.110,0.089,0.081,
+0.056,0.113,0.107,0.033,0.129,1.271,0.066,0.070,0.045,0.156,
+0.080,0.100,0.059,0.094,0.012,0.014,0.011,0.017,0.066,0.012,
+0.061,0.134,0.055,0.075,0.049,0.091,0.083,0.048,0.046,0.091,
+0.073,0.074,0.049,0.101,0.071,9.94e-3,0.056,0.135,0.078,0.061,
+0.065,0.166,0.182,0.138,0.081,0.140,0.197,0.178,0.139,0.159,
+0.138,0.026,0.103,0.129,0.080,0.118,0.135,0.134,0.177,0.154,
+0.084,0.168,0.164,0.168,0.133,0.137,0.130,0.040,0.133,0.221,
+0.068,0.117,0.083,0.101,0.090,0.213,0.092,0.106,0.022,0.064,
+0.038,0.029,0.146,0.039,0.132,0.187,0.074,0.181,0.114,0.140,
+0.076,0.074,0.052,0.082,0.153,0.254,0.123,0.186,0.113,0.021,
+0.121,0.151,0.077,0.097,0.107,0.161,0.111,0.092,0.053,0.087,
+0.144,0.179,0.111,0.109,0.149,0.037,0.122,0.147,0.077,0.105,
+0.090,0.127,0.012,0.021,8.19e-3,0.013,0.020,0.051,0.029,0.019,
+0.021,0.012,0.030,0.036,9.78e-3,0.019,0.017,0.015,0.105,0.202,
+0.111,0.166,0.026,0.041,0.031,0.032,0.175,0.057,0.166,0.183,
+0.080,0.191,0.148,0.141,0.072,0.067,0.062,0.079,0.132,0.160,
+0.129,0.154,0.195,0.054,0.186,0.186,0.083,0.129,0.146,0.161,
+0.143,0.087,0.069,0.157,0.089,0.083,0.058,0.084,0.089,0.014,
+0.065,0.103,0.075,0.070,0.063,0.124,0.119,0.106,0.065,0.110,
+0.115,0.136,0.088,0.085,0.087,0.014,0.081,0.142,0.079,0.098,
+0.092,0.118,0.237,0.172,0.115,0.147,0.041,0.022,0.020,0.024,
+0.152,0.036,0.134,0.168,0.101,0.177,0.154,0.178,0.132,0.086,
+0.084,0.145,0.161,0.144,0.114,0.145,0.166,0.024,0.155,0.202,
+0.166,0.162,0.177,0.214,0.252,0.138,0.122,0.186,0.156,0.129,
+0.157,0.135,0.138,0.018,0.081,0.087,0.143,0.120,0.071,0.103,
+0.148,0.210,0.064,0.081,0.118,0.087,0.082,0.082,0.103,0.019,
+0.079,0.076,0.062,0.073,0.052,0.075,0.170,0.115,0.076,0.106,
+0.016,0.017,0.017,0.021,0.090,0.015,0.068,0.075,0.054,0.072,
+0.062,0.087,0.110,0.059,0.048,0.091,0.116,0.086,0.075,0.102,
+0.074,9.61e-3,0.052,0.067,0.070,0.048,0.063,0.117,0.220,0.149,
+0.148,0.165,0.277,0.214,0.696,0.479,0.170,0.031,0.097,0.105,
+0.087,0.126,0.072,0.100,0.153,0.155,0.086,0.101,0.147,0.101,
+0.140,0.134,0.164,0.049,0.156,0.127,0.071,0.134,0.063,0.072,
+0.148,0.194,0.125,0.125,0.047,0.046,0.045,0.035,0.161,0.038,
+0.149,0.158,0.073,0.156,0.127,0.121,0.087,0.058,0.047,0.074,
+0.170,0.135,0.124,0.140,0.096,0.016,0.076,0.093,0.067,0.066,
+0.070,0.135,0.142,0.078,0.059,0.086,0.170,0.141,0.184,0.131,
+0.191,0.034,0.081,0.093,0.104,0.113,0.070,0.109,0.018,0.022,
+0.013,0.019,0.034,0.034,0.029,0.029,0.033,0.015,0.027,0.026,
+0.017,0.045,0.016,0.021,0.103,0.148,0.127,0.120,0.024,0.029,
+0.033,0.026,0.146,0.044,0.122,0.120,0.060,0.138,0.100,0.108,
+0.066,0.046,0.044,0.067,0.127,0.121,0.129,0.122,0.106,0.021,
+0.103,0.109,0.078,0.090,0.082,0.118,0.124,0.055,0.049,0.093,
+0.076,0.053,0.068,0.082,0.098,0.012,0.048,0.066,0.086,0.073,
+0.047,0.107,0.137,0.110,0.071,0.118,0.136,0.099,0.110,0.125,
+0.107,0.017,0.083,0.097,0.078,0.117,0.061,0.104,0.099,0.114,
+0.119,0.131,0.017,0.018,0.030,0.025,0.110,0.019,0.101,0.124,
+0.082,0.125,0.103,0.114,0.115,0.067,0.056,0.105,0.096,0.082,
+0.086,0.107,0.121,0.014,0.099,0.136,0.146,0.127,0.128,0.237,
+0.026,0.017,0.015,0.015,0.029,0.025,0.019,0.018,0.016,4.09e-3,
+0.011,0.011,0.011,0.014,0.010,0.013,0.028,0.031,0.018,0.017,
+0.047,0.036,0.037,0.025,0.028,0.017,0.019,0.022,0.011,0.022,
+0.014,0.018,0.025,0.030,0.021,0.019,0.027,0.014,0.014,0.011,
+0.018,9.36e-3,0.022,0.021,0.011,0.022,0.020,0.017,0.010,8.44e-3,
+7.52e-3,0.010,0.028,0.023,0.019,0.019,0.013,2.84e-3,0.013,0.012,
+0.012,9.36e-3,0.012,0.018,0.029,0.025,0.015,0.017,0.034,0.039,
+0.051,0.042,0.024,0.011,0.013,0.016,0.011,0.021,0.012,0.012,
+0.035,0.045,0.022,0.018,0.052,0.044,0.056,0.042,0.034,0.027,
+0.038,0.043,0.011,0.028,0.018,0.018,0.023,0.054,0.031,0.024,
+0.025,0.049,0.036,0.016,0.041,0.033,0.047,0.038,0.013,0.044,
+0.042,0.027,0.013,0.012,7.94e-3,8.52e-3,0.029,0.038,0.029,0.021,
+0.019,6.60e-3,0.020,0.019,8.86e-3,0.014,0.014,0.020,0.018,0.015,
+9.19e-3,0.010,0.042,0.051,0.039,0.019,0.027,9.36e-3,0.021,0.013,
+8.69e-3,0.018,0.015,0.016,6.94e-3,0.013,8.27e-3,5.68e-3,0.022,0.043,
+0.031,0.012,0.016,0.022,0.024,0.017,3.17e-3,0.012,0.011,5.43e-3,
+0.023,0.047,0.032,0.028,0.018,0.031,0.040,0.016,0.058,0.041,
+0.062,0.039,0.013,0.057,0.036,0.026,0.010,9.69e-3,9.94e-3,0.010,
+0.032,0.051,0.052,0.029,0.029,0.013,0.037,0.029,0.012,0.021,
+0.021,0.021,0.016,0.013,9.02e-3,0.011,0.016,0.015,0.016,0.013,
+0.014,2.42e-3,8.61e-3,0.010,0.017,0.013,9.28e-3,0.015,0.033,0.036,
+0.024,0.028,0.046,0.060,0.049,0.040,0.038,0.014,0.033,0.036,
+0.016,0.035,0.027,0.028,0.021,0.044,0.027,0.023,6.77e-3,0.014,
+0.013,9.44e-3,0.036,0.013,0.037,0.034,0.015,0.037,0.034,0.030,
+0.017,0.014,0.011,0.014,0.017,0.023,0.021,0.020,0.021,4.68e-3,
+0.022,0.026,0.020,0.026,0.028,0.035,0.124,0.081,0.067,0.087,
+0.085,0.080,0.073,0.074,0.095,0.014,0.052,0.063,0.054,0.060,
+0.053,0.064,0.098,0.111,0.063,0.075,0.112,0.099,0.119,0.083,
+0.109,0.029,0.173,0.120,0.047,0.080,0.051,0.065,0.096,0.168,
+0.127,0.114,0.028,0.034,0.051,0.035,0.138,0.033,0.115,0.137,
+0.052,0.108,0.076,0.087,0.060,0.052,0.037,0.060,0.083,0.089,
+0.089,0.086,0.095,0.016,0.074,0.096,0.050,0.053,0.059,0.103,
+0.013,0.016,9.61e-3,9.28e-3,0.027,0.032,0.027,0.019,0.014,8.36e-3,
+0.017,0.015,5.77e-3,0.010,8.94e-3,9.78e-3,0.016,0.024,0.013,0.012,
+0.030,0.029,0.036,0.019,0.023,0.019,0.051,0.037,6.43e-3,0.013,
+0.011,0.012,0.015,0.040,0.030,0.018,0.017,0.032,0.032,0.012,
+0.040,0.026,0.046,0.044,9.78e-3,0.035,0.027,0.018,0.013,0.010,
+5.93e-3,9.61e-3,0.024,0.034,0.028,0.023,0.018,5.93e-3,0.021,0.020,
+7.69e-3,0.011,0.011,0.017,0.101,0.082,0.057,0.049,0.128,0.160,
+0.153,0.089,0.111,0.037,0.113,0.089,0.043,0.074,0.072,0.070,
+0.017,0.034,0.021,0.010,0.035,0.059,0.053,0.018,0.036,0.032,
+0.055,0.031,8.94e-3,0.025,0.020,0.014,0.127,0.210,0.181,0.122,
+0.051,0.081,0.094,0.040,0.194,0.091,0.099,0.134,0.062,0.177,
+0.145,0.119,0.057,0.052,0.044,0.052,0.119,0.165,0.148,0.126,
+0.138,0.041,0.176,0.128,0.048,0.078,0.101,0.098,0.085,0.052,
+0.042,0.070,0.065,0.052,0.041,0.041,0.057,0.011,0.050,0.057,
+0.039,0.043,0.034,0.057,0.101,0.116,0.068,0.073,0.141,0.179,
+0.122,0.085,0.120,0.038,0.151,0.131,0.058,0.111,0.079,0.077,
+0.156,0.388,0.132,0.149,0.030,0.079,0.040,0.054,0.189,0.066,
+0.333,0.323,0.081,0.200,0.156,0.149,0.068,0.075,0.047,0.066,
+0.110,0.165,0.082,0.105,0.113,0.022,0.149,0.137,0.073,0.104,
+0.117,0.119,0.130,0.065,0.042,0.077,0.066,0.050,0.035,0.050,
+0.058,8.36e-3,0.029,0.051,0.075,0.052,0.036,0.140,0.078,0.058,
+0.035,0.047,0.048,0.044,0.035,0.040,0.043,0.011,0.039,0.073,
+0.033,0.037,0.025,0.046,0.073,0.126,0.056,0.077,0.015,0.014,
+0.011,0.014,0.058,0.010,0.039,0.061,0.047,0.059,0.048,0.068,
+0.082,0.057,0.043,0.078,0.061,0.053,0.045,0.071,0.054,5.77e-3,
+0.033,0.060,0.069,0.044,0.054,0.110,0.143,0.107,0.070,0.104,
+0.117,0.124,0.116,0.103,0.093,0.016,0.065,0.099,0.061,0.073,
+0.055,0.098,0.127,0.120,0.069,0.088,0.117,0.120,0.108,0.100,
+0.104,0.026,0.125,0.149,0.054,0.087,0.055,0.073,0.114,0.175,
+0.136,0.120,0.021,0.044,0.037,0.025,0.129,0.034,0.126,0.148,
+0.064,0.134,0.114,0.122,0.121,0.082,0.061,0.102,0.130,0.141,
+0.117,0.131,0.102,0.016,0.093,0.115,0.068,0.077,0.074,0.124,
+0.132,0.078,0.058,0.065,0.115,0.122,0.131,0.094,0.121,0.026,
+0.098,0.200,0.055,0.078,0.072,0.104,0.015,0.017,0.013,0.011,
+0.028,0.045,0.042,0.020,0.016,0.014,0.027,0.027,8.02e-3,0.017,
+0.014,0.012,0.113,0.185,0.122,0.146,0.030,0.046,0.042,0.032,
+0.172,0.057,0.136,0.169,0.078,0.176,0.149,0.123,0.082,0.068,
+0.091,0.073,0.134,0.139,0.150,0.150,0.126,0.022,0.157,0.136,
+0.073,0.095,0.124,0.121,0.119,0.064,0.054,0.085,0.068,0.054,
+0.049,0.052,0.084,0.014,0.054,0.082,0.053,0.054,0.047,0.090,
+0.112,0.094,0.060,0.098,0.102,0.118,0.092,0.082,0.086,0.016,
+0.099,0.120,0.060,0.072,0.068,0.092,0.149,0.179,0.107,0.154,
+0.021,0.030,0.019,0.025,0.156,0.034,0.179,0.218,0.098,0.163,
+0.161,0.177,0.127,0.081,0.074,0.132,0.130,0.144,0.112,0.135,
+0.135,0.015,0.127,0.180,0.137,0.118,0.149,0.215,0.271,0.148,
+0.131,0.248,0.164,0.111,0.099,0.112,0.166,0.019,0.070,0.108,
+0.213,0.175,0.087,0.165,0.137,0.086,0.052,0.087,0.100,0.065,
+0.054,0.057,0.099,8.94e-3,0.060,0.071,0.070,0.067,0.043,0.069,
+0.127,0.094,0.068,0.117,0.013,0.012,9.86e-3,0.015,0.068,8.94e-3,
+0.050,0.067,0.068,0.079,0.065,0.097,0.168,0.096,0.067,0.133,
+0.134,0.087,0.073,0.107,0.097,0.010,0.064,0.090,0.125,0.078,
+0.088,0.192,0.165,0.085,0.066,0.102,0.109,0.074,0.099,0.100,
+0.082,0.011,0.045,0.073,0.092,0.086,0.042,0.082,0.103,0.067,
+0.044,0.066,0.065,0.038,0.045,0.060,0.070,0.013,0.052,0.060,
+0.061,0.061,0.036,0.056,0.097,0.081,0.065,0.090,0.010,0.012,
+0.013,0.011,0.086,0.011,0.049,0.065,0.062,0.089,0.062,0.080,
+0.085,0.048,0.040,0.066,0.095,0.061,0.053,0.069,0.070,4.60e-3,
+0.048,0.069,0.065,0.056,0.054,0.145,0.122,0.062,0.052,0.091,
+0.102,0.073,0.063,0.084,0.106,0.013,0.048,0.069,0.106,0.086,
+0.057,0.110,0.012,9.86e-3,8.52e-3,0.013,0.014,0.014,0.010,0.013,
+0.012,3.09e-3,8.94e-3,0.011,0.014,0.017,0.010,0.016,0.086,0.091,
+0.073,0.097,9.11e-3,0.011,9.28e-3,0.012,0.077,0.012,0.047,0.060,
+0.054,0.079,0.056,0.076,0.064,0.041,0.043,0.069,0.092,0.072,
+0.061,0.095,0.071,0.012,0.079,0.073,0.068,0.067,0.063,0.112,
+0.162,0.060,0.057,0.129,0.076,0.048,0.049,0.073,0.097,0.010,
+0.048,0.081,0.163,0.101,0.068,0.162,0.125,0.069,0.062,0.114,
+0.098,0.066,0.062,0.086,0.093,9.19e-3,0.058,0.081,0.093,0.094,
+0.065,0.111,0.088,0.091,0.087,0.113,0.011,0.023,0.017,0.017,
+0.086,0.011,0.062,0.105,0.080,0.103,0.086,0.114,0.158,0.087,
+0.074,0.151,0.155,0.138,0.084,0.123,0.137,0.012,0.093,0.135,
+0.185,0.160,0.158,0.300,0.253,0.154,0.130,0.196,0.192,0.136,
+0.112,0.129,0.165,0.020,0.075,0.106,0.141,0.146,0.083,0.140,
+0.217,0.127,0.091,0.156,0.195,0.122,0.118,0.122,0.138,0.029,
+0.104,0.140,0.083,0.109,0.076,0.117,0.150,0.169,0.108,0.156,
+0.031,0.030,0.024,0.033,0.119,0.022,0.084,0.129,0.086,0.123,
+0.109,0.153,0.128,0.084,0.065,0.118,0.237,0.150,0.107,0.143,
+0.107,0.013,0.076,0.117,0.115,0.085,0.115,0.170,0.215,0.149,
+0.091,0.150,0.180,0.158,0.135,0.146,0.134,0.022,0.058,0.087,
+0.091,0.126,0.068,0.110,0.183,0.160,0.104,0.131,0.190,0.140,
+0.130,0.168,0.152,0.044,0.094,0.129,0.078,0.118,0.084,0.113,
+0.129,0.190,0.126,0.145,0.032,0.055,0.043,0.037,0.156,0.043,
+0.126,0.160,0.083,0.182,0.196,0.179,0.096,0.080,0.052,0.088,
+0.171,0.177,0.127,0.142,0.101,0.014,0.070,0.135,0.079,0.093,
+0.091,0.159,0.147,0.087,0.056,0.095,0.152,0.149,0.112,0.113,
+0.113,0.022,0.063,0.082,0.084,0.104,0.071,0.125,0.018,0.017,
+0.011,0.024,0.025,0.050,0.028,0.024,0.019,0.010,0.019,0.025,
+0.012,0.027,0.017,0.017,0.126,0.161,0.128,0.138,0.027,0.037,
+0.032,0.029,0.175,0.049,0.123,0.149,0.084,0.201,0.145,0.142,
+0.099,0.070,0.064,0.112,0.177,0.195,0.167,0.167,0.133,0.021,
+0.132,0.141,0.094,0.106,0.125,0.162,0.141,0.074,0.064,0.112,
+0.085,0.070,0.062,0.073,0.097,0.011,0.048,0.074,0.104,0.079,
+0.063,0.131,0.159,0.130,0.094,0.147,0.148,0.149,0.124,0.137,
+0.122,0.023,0.097,0.133,0.105,0.162,0.106,0.141,0.112,0.153,
+0.121,0.151,0.017,0.032,0.015,0.020,0.136,0.022,0.104,0.147,
+0.090,0.161,0.121,0.163,0.143,0.094,0.077,0.130,0.171,0.152,
+0.108,0.132,0.179,0.020,0.106,0.149,0.161,0.177,0.159,0.244,
+0.120,0.087,0.075,0.106,0.082,0.077,0.063,0.117,0.078,0.011,
+0.040,0.075,0.086,0.074,0.058,0.088,0.107,0.095,0.065,0.091,
+0.087,0.080,0.072,0.070,0.098,0.017,0.078,0.092,0.057,0.091,
+0.051,0.079,0.126,0.185,0.106,0.117,0.034,0.049,0.029,0.028,
+0.099,0.018,0.070,0.134,0.060,0.115,0.077,0.152,0.088,0.139,
+0.054,0.098,0.100,0.170,0.088,0.110,0.099,0.013,0.079,0.128,
+0.114,0.076,0.090,0.172,0.012,9.53e-3,6.85e-3,0.010,0.017,0.017,
+0.011,0.013,7.60e-3,2.34e-3,7.77e-3,8.86e-3,0.011,0.014,0.021,0.015,
+0.012,0.014,6.94e-3,8.44e-3,0.015,0.019,0.018,0.013,0.016,6.85e-3,
+0.020,0.018,8.61e-3,0.013,8.19e-3,0.011,0.012,0.023,0.019,0.016,
+6.77e-3,0.017,0.013,5.85e-3,0.019,0.012,0.022,0.028,9.69e-3,0.024,
+0.015,0.028,0.010,0.014,7.77e-3,0.013,0.017,0.034,0.020,0.019,
+0.014,2.42e-3,0.018,0.020,0.010,0.010,0.013,0.021,0.084,0.066,
+0.048,0.071,0.097,0.096,0.108,0.073,0.091,0.020,0.175,0.093,
+0.056,0.079,0.084,0.090,0.011,0.018,0.011,0.011,0.015,0.026,
+0.019,0.011,0.017,9.28e-3,0.068,0.020,7.44e-3,0.017,0.016,0.011,
+0.079,0.145,0.107,0.106,0.021,0.050,0.031,0.019,0.115,0.034,
+0.087,0.103,0.056,0.116,0.097,0.106,0.069,0.057,0.054,0.061,
+0.095,0.144,0.105,0.101,0.120,0.023,0.569,0.183,0.057,0.080,
+0.152,0.136,0.083,0.054,0.042,0.074,0.063,0.072,0.038,0.049,
+0.063,8.52e-3,0.057,0.061,0.059,0.060,0.058,0.082,0.110,0.103,
+0.076,0.101,0.108,0.140,0.083,0.079,0.107,0.023,0.177,0.129,
+0.076,0.117,0.102,0.113,0.140,0.441,0.124,0.159,0.056,0.361,
+0.038,0.041,0.155,0.065,0.145,0.407,0.099,0.205,0.131,0.225,
+0.092,0.095,0.053,0.089,0.122,0.398,0.088,0.118,0.123,0.020,
+0.179,0.153,0.111,0.127,0.128,0.179,0.242,0.108,0.088,0.163,
+0.101,0.060,0.056,0.098,0.101,0.010,0.048,0.082,0.111,0.087,
+0.061,0.133,0.116,0.070,0.047,0.077,0.086,0.052,0.044,0.064,
+0.077,8.77e-3,0.043,0.085,0.052,0.061,0.038,0.074,0.117,0.223,
+0.064,0.128,0.011,0.014,7.10e-3,0.017,0.065,9.19e-3,0.048,0.090,
+0.074,0.088,0.064,0.110,0.143,0.098,0.068,0.143,0.102,0.084,
+0.064,0.129,0.090,0.010,0.087,0.129,0.164,0.099,0.110,0.266,
+0.123,0.076,0.076,0.104,0.086,0.065,0.075,0.068,0.069,8.27e-3,
+0.041,0.067,0.069,0.076,0.050,0.118,0.099,0.068,0.042,0.082,
+0.065,0.046,0.051,0.063,0.071,0.013,0.067,0.103,0.053,0.082,
+0.057,0.090,0.093,0.109,0.084,0.108,9.94e-3,0.015,0.016,0.011,
+0.081,0.011,0.063,0.107,0.068,0.111,0.082,0.151,0.110,0.057,
+0.061,0.101,0.109,0.095,0.086,0.111,0.083,9.78e-3,0.086,0.109,
+0.093,0.079,0.084,0.163,0.142,0.094,0.079,0.128,0.124,0.096,
+0.103,0.120,0.125,0.020,0.092,0.111,0.089,0.102,0.098,0.150,
+0.014,0.015,8.27e-3,0.020,0.014,0.018,0.017,0.014,0.015,5.01e-3,
+0.021,0.015,9.36e-3,0.015,0.012,0.019,0.135,0.164,0.122,0.216,
+0.018,0.025,0.020,0.023,0.144,0.030,0.134,0.139,0.101,0.157,
+0.205,0.174,0.128,0.091,0.100,0.121,0.163,0.133,0.161,0.176,
+0.234,0.070,0.710,0.253,0.125,0.172,0.253,0.217,0.245,0.100,
+0.085,0.166,0.108,0.081,0.069,0.083,0.137,0.011,0.073,0.113,
+0.150,0.111,0.108,0.242,0.171,0.123,0.085,0.142,0.136,0.142,
+0.106,0.104,0.149,0.017,0.114,0.144,0.122,0.128,0.099,0.181,
+0.191,0.213,0.146,0.243,0.016,0.039,0.014,0.023,0.191,0.022,
+0.158,0.263,0.176,0.208,0.236,0.307,0.291,0.171,0.144,0.294,
+0.202,0.185,0.164,0.245,0.253,0.020,0.270,0.334,0.346,0.236,
+0.285,0.460,0.395,0.209,0.157,0.237,0.235,0.199,0.165,0.162,
+0.265,0.037,0.138,0.162,0.229,0.209,0.120,0.179,0.286,0.204,
+0.130,0.150,0.239,0.191,0.146,0.130,0.208,0.044,0.140,0.147,
+0.116,0.150,0.105,0.136,0.196,0.190,0.147,0.163,0.029,0.047,
+0.041,0.035,0.168,0.033,0.131,0.141,0.102,0.171,0.134,0.154,
+0.234,0.121,0.118,0.161,0.203,0.166,0.162,0.188,0.157,0.020,
+0.103,0.130,0.148,0.113,0.112,0.181,0.324,0.225,0.125,0.181,
+0.241,0.246,0.160,0.139,0.215,0.047,0.108,0.144,0.107,0.170,
+0.090,0.114,0.305,0.261,0.133,0.156,0.230,0.224,0.152,0.118,
+0.275,0.108,0.173,0.235,0.099,0.224,0.094,0.111,0.161,0.272,
+0.140,0.146,0.034,0.083,0.054,0.028,0.241,0.078,0.204,0.194,
+0.093,0.276,0.163,0.150,0.118,0.102,0.069,0.092,0.194,0.220,
+0.139,0.131,0.162,0.037,0.122,0.129,0.107,0.197,0.130,0.160,
+0.163,0.109,0.069,0.092,0.170,0.130,0.121,0.095,0.158,0.040,
+0.092,0.117,0.082,0.103,0.084,0.115,0.022,0.024,0.014,0.013,
+0.032,0.034,0.025,0.015,0.026,0.021,0.029,0.025,0.014,0.035,
+0.020,0.020,0.118,0.125,0.095,0.081,0.023,0.042,0.039,0.022,
+0.139,0.047,0.112,0.104,0.060,0.138,0.107,0.079,0.072,0.058,
+0.058,0.062,0.135,0.142,0.109,0.136,0.129,0.036,0.121,0.114,
+0.094,0.114,0.099,0.106,0.190,0.084,0.067,0.128,0.103,0.073,
+0.070,0.076,0.105,0.013,0.056,0.107,0.116,0.084,0.073,0.150,
+0.181,0.135,0.083,0.111,0.167,0.129,0.103,0.094,0.134,0.022,
+0.096,0.125,0.092,0.138,0.091,0.129,0.127,0.120,0.104,0.120,
+0.020,0.021,0.024,0.019,0.120,0.025,0.105,0.119,0.087,0.141,
+0.171,0.137,0.113,0.086,0.082,0.117,0.097,0.098,0.090,0.105,
+0.139,0.018,0.109,0.142,0.129,0.131,0.149,0.198,0.328,0.255,
+0.188,0.205,0.250,0.273,0.214,0.172,0.175,0.041,0.107,0.132,
+0.116,0.185,0.109,0.137,0.280,0.293,0.152,0.143,0.292,0.291,
+0.241,0.169,0.203,0.077,0.180,0.183,0.083,0.158,0.110,0.121,
+0.151,0.262,0.155,0.127,0.037,0.079,0.065,0.039,0.176,0.061,
+0.188,0.150,0.084,0.203,0.151,0.133,0.124,0.090,0.065,0.090,
+0.194,0.217,0.138,0.124,0.142,0.064,0.090,0.102,0.101,0.181,
+0.104,0.149,0.281,0.323,0.128,0.131,0.288,0.471,0.252,0.150,
+0.193,0.073,0.125,0.128,0.076,0.197,0.109,0.113,0.264,0.415,
+0.169,0.125,0.282,0.259,0.272,0.151,0.241,0.139,0.174,0.202,
+0.085,0.272,0.154,0.107,0.159,0.488,0.159,0.146,0.065,0.261,
+0.111,0.047,0.316,0.198,0.259,0.259,0.123,0.684,0.265,0.192,
+0.103,0.124,0.057,0.063,0.205,0.403,0.155,0.125,0.190,0.072,
+0.113,0.124,0.139,0.808,0.135,0.178,0.139,0.177,0.080,0.085,
+0.220,0.325,0.281,0.136,0.172,0.056,0.131,0.128,0.060,0.131,
+0.102,0.096,0.025,0.096,0.025,0.021,0.067,0.144,0.107,0.035,
+0.067,0.089,0.078,0.053,0.012,0.058,0.037,0.024,0.141,0.320,
+0.190,0.128,0.062,0.177,0.150,0.047,0.300,0.162,0.281,0.232,
+0.087,0.335,0.280,0.164,0.084,0.087,0.071,0.065,0.223,0.381,
+0.308,0.195,0.248,0.073,0.211,0.181,0.102,0.362,0.173,0.145,
+0.108,0.079,0.056,0.074,0.086,0.087,0.176,0.069,0.085,0.013,
+0.044,0.055,0.055,0.061,0.056,0.081,0.143,0.222,0.092,0.099,
+0.152,0.227,0.141,0.105,0.222,0.042,0.096,0.119,0.069,0.155,
+0.101,0.103,0.103,0.182,0.132,0.104,0.020,0.058,0.047,0.025,
+0.148,0.051,0.175,0.163,0.090,0.218,0.678,0.360,0.089,0.075,
+0.063,0.070,0.107,0.149,0.100,0.110,0.157,0.041,0.115,0.136,
+0.111,0.239,0.401,0.279,0.136,0.124,0.077,0.106,0.098,0.109,
+0.075,0.081,0.093,0.018,0.057,0.070,0.068,0.090,0.047,0.071,
+0.150,0.179,0.118,0.129,0.143,0.161,0.128,0.098,0.147,0.058,
+0.127,0.126,0.061,0.139,0.075,0.081,0.133,0.238,0.185,0.140,
+0.027,0.065,0.050,0.041,0.143,0.046,0.134,0.147,0.056,0.162,
+0.100,0.119,0.080,0.067,0.054,0.074,0.104,0.167,0.089,0.096,
+0.095,0.024,0.080,0.098,0.071,0.088,0.086,0.171,0.017,0.023,
+0.014,0.016,0.024,0.050,0.025,0.013,0.021,0.013,0.017,0.017,
+8.02e-3,0.025,0.012,0.013,0.028,0.050,0.044,0.045,0.043,0.108,
+0.056,0.027,0.042,0.040,0.044,0.035,0.011,0.045,0.018,0.016,
+0.019,0.066,0.036,0.022,0.018,0.060,0.046,0.015,0.053,0.058,
+0.075,0.064,0.016,0.070,0.036,0.025,0.010,0.016,8.77e-3,0.010,
+0.037,0.106,0.043,0.029,0.025,0.013,0.028,0.024,0.013,0.037,
+0.019,0.022,0.074,0.073,0.051,0.067,0.095,0.126,0.107,0.070,
+0.130,0.040,0.089,0.082,0.039,0.077,0.052,0.057,0.014,0.031,
+0.016,0.011,0.025,0.049,0.038,0.015,0.029,0.030,0.034,0.021,
+0.011,0.033,0.015,0.012,0.084,0.169,0.095,0.065,0.029,0.077,
+0.058,0.021,0.173,0.094,0.119,0.137,0.051,0.175,0.141,0.081,
+0.062,0.051,0.040,0.037,0.088,0.141,0.116,0.084,0.145,0.046,
+0.101,0.101,0.049,0.095,0.080,0.073,0.071,0.055,0.040,0.170,
+0.054,0.051,0.039,0.034,0.081,0.012,0.030,0.042,0.045,0.045,
+0.031,0.056,0.103,0.112,0.067,0.065,0.122,0.147,0.107,0.079,
+0.128,0.042,0.087,0.102,0.059,0.122,0.065,0.075,0.106,0.153,
+0.096,0.077,0.027,0.054,0.035,0.014,0.165,0.056,0.141,0.173,
+0.065,0.168,0.119,0.115,0.077,0.056,0.052,0.047,0.085,0.122,
+0.087,0.072,0.127,0.027,0.116,0.122,0.081,0.122,0.100,0.129,
+0.145,0.114,0.085,0.130,0.084,0.071,0.050,0.057,0.072,0.014,
+0.045,0.073,0.080,0.082,0.054,0.141,0.088,0.062,0.044,0.072,
+0.068,0.053,0.038,0.043,0.059,0.012,0.040,0.062,0.046,0.054,
+0.034,0.062,0.085,0.092,0.061,0.091,0.012,0.017,0.011,0.013,
+0.076,0.012,0.054,0.069,0.046,0.076,0.054,0.074,0.091,0.061,
+0.050,0.106,0.081,0.081,0.056,0.086,0.069,0.012,0.059,0.076,
+0.106,0.087,0.077,0.172,0.150,0.148,0.094,0.140,0.136,0.161,
+0.098,0.097,0.128,0.030,0.078,0.102,0.073,0.119,0.071,0.098,
+0.153,0.178,0.089,0.185,0.139,0.187,0.112,0.109,0.134,0.039,
+0.111,0.137,0.070,0.139,0.081,0.102,0.096,0.173,0.088,0.109,
+0.019,0.051,0.032,0.023,0.137,0.039,0.137,0.152,0.072,0.215,
+0.110,0.126,0.077,0.070,0.049,0.077,0.137,0.216,0.101,0.130,
+0.111,0.020,0.090,0.106,0.083,0.124,0.091,0.135,0.084,0.076,
+0.052,0.065,0.091,0.101,0.075,0.067,0.214,0.192,0.300,0.299,
+0.067,0.174,0.092,0.116,9.94e-3,0.015,7.19e-3,0.010,0.016,0.027,
+0.018,9.28e-3,0.020,0.019,0.038,0.052,7.44e-3,0.024,0.012,0.013,
+0.065,0.119,0.079,0.069,0.020,0.040,0.027,0.017,0.140,0.048,
+0.104,0.137,0.057,0.133,0.100,0.091,0.055,0.050,0.040,0.049,
+0.103,0.109,0.100,0.093,0.136,0.037,0.115,0.140,0.061,0.103,
+0.090,0.104,0.130,0.070,0.044,0.079,0.070,0.060,0.044,0.048,
+0.148,0.018,0.058,0.077,0.080,0.068,0.055,0.113,0.090,0.065,
+0.040,0.059,0.091,0.074,0.064,0.061,0.080,0.013,0.079,0.125,
+0.054,0.070,0.052,0.088,0.172,0.123,0.108,0.113,0.020,0.024,
+0.018,0.017,0.131,0.029,0.105,0.136,0.086,0.142,0.135,0.134,
+0.118,0.083,0.060,0.112,0.125,0.121,0.086,0.113,0.155,0.019,
+0.116,0.169,0.156,0.150,0.152,0.240,0.306,0.249,0.178,0.230,
+0.287,0.303,0.183,0.169,0.226,0.059,0.143,0.182,0.167,0.216,
+0.116,0.157,0.301,0.306,0.169,0.216,0.345,0.376,0.269,0.199,
+0.311,0.123,0.283,0.338,0.113,0.250,0.153,0.168,0.152,0.221,
+0.145,0.143,0.028,0.057,0.048,0.041,0.165,0.076,0.178,0.142,
+0.083,0.192,0.135,0.131,0.126,0.087,0.072,0.120,0.168,0.195,
+0.127,0.159,0.125,0.029,0.108,0.126,0.101,0.104,0.120,0.168,
+0.329,0.319,0.147,0.290,0.333,0.430,0.222,0.174,0.269,0.105,
+0.187,0.261,0.111,0.246,0.121,0.136,0.367,0.512,0.222,0.479,
+0.472,0.511,0.320,0.260,0.643,0.488,0.517,1.158,0.156,0.567,
+0.194,0.223,0.149,0.389,0.162,0.143,0.060,0.187,0.122,0.052,
+0.342,0.182,0.330,0.294,0.116,0.407,0.231,0.166,0.077,0.097,
+0.058,0.073,0.180,0.322,0.181,0.140,0.163,0.058,0.137,0.167,
+0.087,0.157,0.249,0.228,0.143,0.125,0.092,0.094,0.212,0.251,
+0.185,0.135,0.204,0.065,0.135,0.156,0.075,0.138,0.093,0.109,
+0.021,0.045,0.025,0.022,0.048,0.106,0.066,0.039,0.054,0.064,
+0.071,0.062,0.016,0.064,0.033,0.024,0.089,0.214,0.149,0.100,
+0.034,0.077,0.064,0.035,0.201,0.100,0.256,0.193,0.070,0.242,
+0.152,0.109,0.062,0.070,0.120,0.069,0.140,0.226,0.150,0.136,
+0.162,0.057,0.178,0.151,0.070,0.145,0.128,0.136,0.126,0.067,
+0.057,0.093,0.083,0.070,0.048,0.055,0.105,0.013,0.049,0.062,
+0.100,0.075,0.060,0.116,0.145,0.152,0.106,0.123,0.174,0.248,
+0.144,0.143,0.140,0.052,0.141,0.173,0.072,0.171,0.091,0.117,
+0.095,0.118,0.106,0.102,0.018,0.034,0.040,0.025,0.139,0.049,
+0.148,0.136,0.061,0.154,0.153,0.120,0.087,0.086,0.216,0.113,
+0.073,0.109,0.109,0.097,0.122,0.027,0.122,0.126,0.098,0.138,
+0.214,0.192,0.321,0.316,0.183,0.193,0.328,0.472,0.273,0.194,
+0.203,0.057,0.140,0.145,0.107,0.173,0.104,0.126,0.370,0.469,
+0.230,0.187,0.495,0.804,0.503,0.312,0.304,0.167,0.324,0.303,
+0.100,0.259,0.143,0.144,0.160,0.360,0.215,0.154,0.051,0.137,
+0.118,0.057,0.189,0.097,0.294,0.197,0.101,0.273,0.191,0.161,
+0.096,0.089,0.068,0.086,0.174,0.302,0.178,0.144,0.117,0.034,
+0.132,0.125,0.147,0.113,0.114,0.156,0.291,0.342,0.120,0.129,
+0.300,0.630,0.242,0.162,0.223,0.099,0.159,0.146,0.083,0.217,
+0.098,0.107,0.215,0.311,0.135,0.134,0.154,0.238,0.176,0.152,
+0.241,0.280,0.192,0.254,0.068,0.332,0.107,0.110,0.151,0.503,
+0.184,0.139,0.081,0.506,0.202,0.081,0.254,0.216,0.259,0.274,
+0.090,0.515,0.295,0.198,0.083,0.128,0.072,0.066,0.220,0.652,
+0.210,0.183,0.192,0.094,0.202,0.213,0.081,0.220,0.139,0.171,
+0.150,0.187,0.119,0.098,0.316,0.646,0.363,0.206,0.235,0.093,
+0.187,0.166,0.080,0.218,0.139,0.120,0.036,0.129,0.063,0.030,
+0.128,0.617,0.285,0.098,0.110,0.197,0.159,0.105,0.019,0.139,
+0.065,0.035,0.164,0.448,0.269,0.159,0.113,0.367,0.259,0.085,
+0.311,0.214,0.321,0.309,0.113,0.627,0.370,0.237,0.086,0.121,
+0.088,0.076,0.319,0.708,0.509,0.308,0.314,0.117,0.366,0.279,
+0.128,0.238,0.267,0.210,0.096,0.091,0.056,0.076,0.111,0.161,
+0.078,0.061,0.108,0.021,0.057,0.058,0.059,0.077,0.058,0.073,
+0.149,0.281,0.159,0.126,0.277,0.697,0.313,0.224,0.191,0.103,
+0.174,0.182,0.077,0.258,0.143,0.124,0.108,0.261,0.170,0.117,
+0.030,0.119,0.081,0.038,0.167,0.093,0.280,0.230,0.071,0.274,
+0.348,0.225,0.073,0.090,0.067,0.071,0.103,0.251,0.132,0.121,
+0.195,0.045,0.161,0.153,0.101,0.178,0.911,0.355,0.164,0.177,
+0.082,0.136,0.147,0.209,0.107,0.131,0.241,0.036,0.084,0.090,
+0.075,0.113,0.063,0.083,0.209,0.440,0.156,0.457,0.326,0.514,
+0.305,0.261,0.300,0.152,0.345,0.296,0.089,0.271,0.120,0.134,
+0.129,0.423,0.190,0.168,0.048,0.227,0.075,0.070,0.214,0.111,
+0.215,0.326,0.075,0.286,0.141,0.150,0.082,0.132,0.053,0.081,
+0.228,0.769,0.147,0.179,0.138,0.049,0.134,0.166,0.078,0.136,
+0.102,0.177,0.023,0.045,0.019,0.040,0.057,0.152,0.072,0.042,
+0.074,0.033,0.038,0.035,0.014,0.039,0.028,0.019,0.053,0.158,
+0.062,0.287,0.150,0.387,0.251,0.100,0.104,0.238,0.179,0.128,
+0.020,0.117,0.040,0.035,0.034,0.236,0.077,0.049,0.050,0.345,
+0.143,0.048,0.097,0.168,0.203,0.250,0.023,0.168,0.083,0.051,
+0.017,0.065,0.014,0.019,0.137,0.628,0.086,0.083,0.044,0.043,
+0.074,0.063,0.016,0.050,0.031,0.033,0.106,0.167,0.086,0.081,
+0.183,0.418,0.259,0.139,0.217,0.092,0.197,0.172,0.069,0.187,
+0.099,0.111,0.029,0.115,0.035,0.030,0.077,0.342,0.164,0.053,
+0.092,0.152,0.162,0.084,0.018,0.098,0.044,0.025,0.111,0.389,
+0.165,0.113,0.061,0.244,0.143,0.048,0.289,0.212,0.211,0.266,
+0.077,0.386,0.204,0.151,0.057,0.086,0.051,0.056,0.189,0.501,
+0.239,0.208,0.262,0.112,0.282,0.227,0.080,0.174,0.164,0.147,
+0.083,0.076,0.044,0.113,0.087,0.093,0.048,0.060,0.084,0.024,
+0.058,0.063,0.048,0.072,0.037,0.070,0.174,0.274,0.114,0.140,
+0.363,0.535,0.276,0.269,0.301,0.163,0.281,0.282,0.103,0.302,
+0.148,0.144,0.281,0.314,0.153,0.122,0.037,0.140,0.070,0.034,
+0.264,0.159,0.306,0.288,0.088,0.367,0.187,0.181,0.104,0.086,
+0.055,0.076,0.103,0.268,0.112,0.120,0.168,0.051,0.216,0.204,
+0.093,0.185,0.168,0.170,0.112,0.090,0.057,0.103,0.094,0.100,
+0.056,0.083,0.086,0.016,0.051,0.082,0.068,0.080,0.048,0.134,
+0.113,0.123,0.055,0.129,0.106,0.136,0.075,0.087,0.079,0.023,
+0.070,0.135,0.048,0.077,0.040,0.070,0.086,0.132,0.070,0.089,
+0.012,0.033,0.012,0.022,0.084,0.021,0.077,0.105,0.053,0.089,
+0.066,0.074,0.065,0.060,0.041,0.101,0.082,0.161,0.051,0.124,
+0.066,9.28e-3,0.054,0.087,0.071,0.068,0.066,0.152,0.130,0.147,
+0.076,0.138,0.168,0.296,0.149,0.151,0.204,0.048,0.112,0.131,
+0.079,0.178,0.123,0.132,0.174,0.276,0.126,0.524,0.287,0.478,
+0.258,0.228,0.197,0.098,0.191,0.249,0.087,0.226,0.109,0.126,
+0.105,0.353,0.134,0.124,0.041,0.192,0.064,0.045,0.187,0.083,
+0.226,0.313,0.087,0.285,0.150,0.143,0.068,0.112,0.053,0.082,
+0.236,0.687,0.162,0.225,0.129,0.046,0.146,0.162,0.073,0.131,
+0.102,0.151,0.086,0.084,0.043,0.060,0.131,0.186,0.132,0.101,
+0.149,0.051,0.144,0.182,0.060,0.112,0.082,0.101,0.012,0.024,
+9.69e-3,0.016,0.033,0.090,0.047,0.027,0.028,0.031,0.042,0.034,
+0.011,0.035,0.020,0.016,0.096,0.166,0.103,0.086,0.031,0.074,
+0.053,0.028,0.194,0.106,0.225,0.230,0.068,0.232,0.169,0.125,
+0.051,0.063,0.047,0.053,0.135,0.209,0.159,0.156,0.197,0.058,
+0.203,0.179,0.073,0.142,0.124,0.152,0.110,0.067,0.040,0.075,
+0.068,0.080,0.046,0.050,0.081,0.013,0.065,0.073,0.062,0.063,
+0.049,0.095,0.111,0.094,0.050,0.110,0.130,0.176,0.088,0.095,
+0.095,0.029,0.102,0.107,0.060,0.106,0.071,0.115,0.611,0.179,
+0.194,0.154,0.045,0.036,0.029,0.023,0.170,0.049,0.172,0.178,
+0.093,0.186,0.150,0.145,0.118,0.072,0.058,0.109,0.129,0.167,
+0.097,0.135,0.215,0.034,0.152,0.194,0.139,0.172,0.197,0.217,
+0.182,0.155,0.147,0.162,0.178,0.171,0.146,0.126,0.148,0.026,
+0.094,0.122,0.116,0.139,0.086,0.134,0.166,0.161,0.102,0.099,
+0.151,0.136,0.140,0.103,0.114,0.034,0.113,0.110,0.073,0.122,
+0.094,0.098,0.128,0.160,0.102,0.143,0.021,0.033,0.029,0.030,
+0.116,0.029,0.107,0.154,0.054,0.095,0.092,0.103,0.111,0.062,
+0.052,0.092,0.119,0.118,0.091,0.110,0.080,9.86e-3,0.069,0.076,
+0.083,0.057,0.082,0.136,0.239,0.245,0.128,0.136,0.244,0.329,
+0.285,0.177,0.178,0.047,0.103,0.106,0.087,0.174,0.124,0.116,
+0.268,0.373,0.165,0.143,0.283,0.299,0.319,0.189,0.303,0.134,
+0.221,0.225,0.103,0.299,0.139,0.122,0.187,0.412,0.214,0.200,
+0.074,0.185,0.120,0.067,0.316,0.160,0.349,0.344,0.095,0.357,
+0.275,0.190,0.089,0.086,0.064,0.076,0.210,0.249,0.167,0.163,
+0.133,0.032,0.108,0.114,0.076,0.098,0.111,0.152,0.123,0.123,
+0.066,0.103,0.197,0.220,0.199,0.157,0.216,0.059,0.127,0.121,
+0.102,0.161,0.104,0.117,0.023,0.039,0.019,0.041,0.039,0.067,
+0.060,0.048,0.046,0.030,0.038,0.037,0.019,0.068,0.034,0.032,
+0.133,0.184,0.160,0.152,0.036,0.069,0.073,0.049,0.238,0.096,
+0.176,0.150,0.083,0.286,0.175,0.138,0.068,0.059,0.054,0.087,
+0.146,0.198,0.198,0.166,0.150,0.043,0.163,0.125,0.086,0.122,
+0.133,0.213,0.110,0.062,0.045,0.084,0.069,0.059,0.059,0.064,
+0.081,0.013,0.040,0.054,0.077,0.076,0.053,0.094,0.126,0.152,
+0.081,0.130,0.133,0.149,0.139,0.171,0.136,0.034,0.096,0.106,
+0.079,0.151,0.084,0.120,0.098,0.149,0.130,0.139,0.020,0.031,
+0.037,0.030,0.156,0.042,0.170,0.169,0.088,0.204,0.169,0.162,
+0.103,0.087,0.063,0.116,0.087,0.093,0.101,0.112,0.139,0.026,
+0.127,0.138,0.133,0.164,0.167,0.229,0.024,0.026,0.044,0.018,
+0.033,0.051,0.038,0.023,0.021,0.011,0.018,0.018,0.012,0.020,
+0.016,0.020,0.053,0.063,0.046,0.028,0.084,0.120,0.106,0.046,
+0.048,0.056,0.065,0.048,0.017,0.053,0.032,0.025,0.026,0.074,
+0.031,0.021,0.021,0.051,0.034,0.017,0.030,0.030,0.055,0.035,
+0.011,0.045,0.042,0.026,0.012,0.014,0.010,0.012,0.031,0.048,
+0.036,0.025,0.022,0.011,0.025,0.021,0.014,0.018,0.022,0.023,
+0.038,0.066,0.030,0.021,0.074,0.158,0.101,0.038,0.034,0.034,
+0.034,0.027,0.011,0.037,0.047,0.021,0.084,0.192,0.075,0.040,
+0.178,0.297,0.273,0.090,0.118,0.214,0.117,0.100,0.028,0.118,
+0.063,0.032,0.053,0.222,0.073,0.043,0.098,0.723,0.221,0.058,
+0.126,0.230,0.180,0.113,0.028,0.206,0.171,0.061,0.017,0.027,
+0.015,0.012,0.060,0.151,0.076,0.039,0.038,0.026,0.048,0.026,
+0.013,0.042,0.036,0.028,0.019,0.031,0.017,0.025,0.061,0.124,
+0.109,0.052,0.049,0.041,0.060,0.038,0.013,0.043,0.032,0.021,
+0.016,0.054,0.023,0.030,0.070,0.215,0.162,0.056,0.069,0.120,
+0.096,0.062,8.61e-3,0.048,0.036,0.016,0.034,0.104,0.074,0.049,
+0.048,0.160,0.170,0.038,0.155,0.197,0.190,0.100,0.026,0.184,
+0.125,0.061,0.017,0.024,0.019,0.018,0.071,0.155,0.152,0.068,
+0.077,0.066,0.096,0.059,0.016,0.049,0.060,0.039,0.012,0.016,
+8.94e-3,0.012,0.015,0.024,0.019,0.015,0.013,5.51e-3,0.011,9.36e-3,
+7.60e-3,0.014,8.36e-3,0.015,0.048,0.078,0.030,0.044,0.065,0.116,
+0.084,0.097,0.055,0.041,0.045,0.045,0.020,0.070,0.040,0.034,
+0.018,0.050,0.037,0.025,0.012,0.046,0.037,0.016,0.060,0.052,
+0.096,0.069,0.019,0.079,0.081,0.046,0.013,0.019,0.013,0.019,
+0.021,0.042,0.030,0.023,0.032,0.016,0.041,0.037,0.018,0.040,
+0.062,0.039,0.270,0.159,0.122,0.166,0.250,0.244,0.163,0.159,
+0.284,0.044,0.113,0.144,0.157,0.141,0.098,0.183,0.257,0.277,
+0.156,0.166,0.348,0.348,0.498,0.271,0.296,0.119,0.356,0.273,
+0.113,0.216,0.141,0.168,0.176,0.336,0.245,0.209,0.053,0.114,
+0.107,0.092,0.322,0.117,0.294,0.285,0.100,0.284,0.199,0.198,
+0.136,0.078,0.072,0.111,0.171,0.234,0.161,0.190,0.158,0.045,
+0.152,0.335,0.101,0.110,0.116,0.215,0.057,0.049,0.025,0.038,
+0.103,0.152,0.113,0.061,0.064,0.029,0.057,0.054,0.029,0.042,
+0.029,0.038,0.070,0.118,0.064,0.047,0.158,0.220,0.358,0.128,
+0.109,0.136,0.218,0.132,0.028,0.082,0.056,0.048,0.049,0.158,
+0.088,0.052,0.053,0.208,0.168,0.051,0.159,0.227,0.273,0.174,
+0.035,0.152,0.127,0.075,0.026,0.026,0.016,0.024,0.063,0.134,
+0.085,0.076,0.045,0.032,0.070,0.067,0.021,0.029,0.032,0.044,
+0.182,0.177,0.097,0.095,0.280,0.410,0.372,0.193,0.246,0.094,
+0.235,0.212,0.104,0.177,0.147,0.156,0.038,0.108,0.048,0.030,
+0.092,0.251,0.258,0.059,0.088,0.143,0.170,0.074,0.019,0.083,
+0.052,0.035,0.207,0.448,0.337,0.222,0.103,0.280,0.344,0.084,
+0.409,0.216,0.216,0.284,0.127,0.379,0.423,0.242,0.115,0.101,
+0.084,0.082,0.236,0.406,0.410,0.216,0.237,0.103,0.291,0.220,
+0.089,0.157,0.206,0.190,0.195,0.095,0.067,0.136,0.144,0.134,
+0.083,0.084,0.135,0.025,0.082,0.113,0.115,0.107,0.079,0.215,
+0.229,0.277,0.156,0.147,0.333,0.561,0.397,0.210,0.273,0.114,
+0.282,0.243,0.145,0.276,0.175,0.223,0.276,0.418,0.263,0.243,
+0.067,0.201,0.136,0.071,0.443,0.175,1.191,0.582,0.178,0.448,
+0.409,0.316,0.138,0.101,0.078,0.128,0.180,0.277,0.180,0.173,
+0.215,0.054,0.311,0.262,0.129,0.197,0.202,0.269,0.116,0.081,
+0.052,0.108,0.074,0.075,0.059,0.094,0.091,0.019,0.042,0.129,
+0.094,0.106,0.060,0.851,0.086,0.085,0.041,0.051,0.080,0.073,
+0.065,0.050,0.062,0.017,0.058,0.061,0.041,0.055,0.041,0.093,
+0.075,0.115,0.071,0.082,0.019,0.026,0.021,0.024,0.081,0.024,
+0.069,0.088,0.059,0.116,0.123,0.146,0.089,0.048,0.039,0.061,
+0.078,0.076,0.060,0.080,0.056,9.53e-3,0.042,0.063,0.075,0.078,
+0.068,0.189,0.173,0.182,0.094,0.132,0.212,0.287,0.212,0.159,
+0.151,0.044,0.124,0.164,0.080,0.143,0.082,0.172,0.215,0.367,
+0.151,0.142,0.301,0.352,0.410,0.244,0.235,0.103,0.293,0.265,
+0.090,0.216,0.163,0.132,0.162,0.459,0.216,0.188,0.057,0.199,
+0.121,0.071,0.298,0.154,0.357,0.354,0.118,0.455,0.309,0.260,
+0.132,0.110,0.081,0.096,0.238,0.325,0.225,0.239,0.174,0.043,
+0.162,0.185,0.092,0.133,0.128,0.190,0.125,0.151,0.076,0.089,
+0.183,0.258,0.238,0.173,0.256,0.126,0.325,1.193,0.071,0.183,
+0.125,0.241,0.018,0.037,0.015,0.017,0.047,0.105,0.109,0.040,
+0.043,0.056,0.072,0.106,0.013,0.043,0.034,0.025,0.143,0.324,
+0.204,0.182,0.061,0.165,0.145,0.066,0.314,0.182,0.309,0.354,
+0.112,0.377,0.325,0.231,0.089,0.090,0.090,0.079,0.219,0.297,
+0.351,0.242,0.203,0.068,0.242,0.233,0.094,0.141,0.188,0.181,
+0.116,0.072,0.047,0.076,0.075,0.078,0.069,0.059,0.082,0.017,
+0.068,0.165,0.060,0.075,0.052,0.130,0.110,0.123,0.064,0.076,
+0.121,0.162,0.147,0.105,0.119,0.030,0.113,0.153,0.069,0.123,
+0.094,0.104,0.162,0.221,0.171,0.197,0.028,0.063,0.048,0.038,
+0.241,0.076,0.377,0.357,0.127,0.283,0.270,0.239,0.116,0.085,
+0.078,0.133,0.159,0.186,0.170,0.185,0.173,0.029,0.207,0.232,
+0.142,0.164,0.189,0.253,0.172,0.104,0.108,0.185,0.132,0.095,
+0.071,0.089,0.126,0.018,0.061,0.086,0.150,0.134,0.062,0.121,
+0.139,0.098,0.062,0.082,0.101,0.077,0.060,0.057,0.091,0.019,
+0.071,0.075,0.082,0.108,0.061,0.093,0.106,0.106,0.078,0.109,
+0.014,0.017,0.015,0.017,0.088,0.014,0.052,0.068,0.071,0.091,
+0.074,0.097,0.130,0.064,0.057,0.095,0.105,0.081,0.079,0.093,
+0.085,8.94e-3,0.091,0.067,0.110,0.072,0.091,0.167,0.151,0.100,
+0.057,0.105,0.127,0.101,0.071,0.080,0.082,0.017,0.040,0.064,
+0.072,0.086,0.051,0.074,0.117,0.111,0.050,0.071,0.092,0.086,
+0.057,0.058,0.096,0.030,0.052,0.090,0.068,0.110,0.054,0.080,
+0.079,0.106,0.071,0.091,0.015,0.031,0.023,0.019,0.108,0.025,
+0.070,0.089,0.063,0.125,0.134,0.095,0.069,0.058,0.033,0.059,
+0.082,0.097,0.059,0.072,0.070,9.69e-3,0.067,0.060,0.065,0.061,
+0.082,0.115,0.094,0.060,0.041,0.066,0.085,0.082,0.072,0.081,
+0.089,0.017,0.042,0.061,0.072,0.081,0.049,0.084,8.02e-3,0.010,
+4.60e-3,9.86e-3,0.010,0.013,0.012,0.012,9.94e-3,5.77e-3,7.77e-3,8.86e-3,
+9.02e-3,0.021,9.61e-3,0.012,0.066,0.108,0.062,0.073,0.010,0.023,
+0.017,0.013,0.085,0.026,0.050,0.060,0.055,0.110,0.079,0.075,
+0.048,0.037,0.032,0.058,0.075,0.092,0.066,0.072,0.072,0.014,
+0.052,0.059,0.063,0.071,0.064,0.099,0.119,0.050,0.042,0.091,
+0.061,0.043,0.037,0.059,0.076,6.77e-3,0.030,0.051,0.119,0.072,
+0.050,0.100,0.091,0.067,0.047,0.085,0.072,0.063,0.056,0.068,
+0.070,9.78e-3,0.041,0.064,0.077,0.105,0.059,0.097,0.070,0.088,
+0.071,0.088,8.86e-3,9.36e-3,0.011,0.010,0.080,0.012,0.061,0.073,
+0.079,0.109,0.096,0.111,0.105,0.072,0.058,0.113,0.081,0.066,
+0.064,0.086,0.102,0.012,0.075,0.107,0.147,0.165,0.149,0.253,
+0.220,0.149,0.309,0.181,0.159,0.167,0.126,0.123,0.138,0.025,
+0.086,0.117,0.107,0.132,0.086,0.128,0.211,0.197,0.137,0.137,
+0.228,0.231,0.175,0.141,0.200,0.074,0.353,0.260,0.095,0.260,
+0.127,0.134,0.134,0.233,0.134,0.150,0.029,0.052,0.040,0.040,
+0.144,0.044,0.141,0.166,0.086,0.173,0.183,0.164,0.107,0.077,
+0.061,0.104,0.166,0.196,0.120,0.138,0.103,0.018,0.094,0.116,
+0.095,0.100,0.118,0.170,0.207,0.213,0.101,0.127,0.217,0.279,
+0.172,0.127,0.134,0.042,0.073,0.099,0.084,0.142,0.122,0.112,
+0.231,0.354,0.127,0.127,0.319,0.377,0.245,0.181,0.228,0.115,
+0.165,0.227,0.101,0.278,0.139,0.146,0.140,0.322,0.242,0.216,
+0.047,0.189,0.129,0.070,0.244,0.119,0.237,0.252,0.115,0.358,
+0.787,0.286,0.098,0.104,0.078,0.098,0.220,0.364,0.220,0.193,
+0.132,0.033,0.116,0.133,0.094,0.145,0.179,0.188,0.111,0.101,
+0.055,0.096,0.169,0.223,0.178,0.151,0.157,0.051,0.095,0.105,
+0.077,0.136,0.076,0.109,0.015,0.034,0.017,0.033,0.040,0.092,
+0.057,0.046,0.042,0.051,0.044,0.044,0.013,0.060,0.027,0.023,
+0.108,0.220,0.150,0.146,0.033,0.088,0.072,0.041,0.286,0.133,
+0.186,0.205,0.098,0.357,0.220,0.170,0.094,0.082,0.062,0.094,
+0.206,0.317,0.237,0.196,0.184,0.047,0.153,0.159,0.090,0.148,
+0.147,0.173,0.106,0.070,0.051,0.079,0.076,0.066,0.057,0.061,
+0.084,0.014,0.042,0.055,0.092,0.084,0.051,0.095,0.146,0.185,
+0.105,0.146,0.175,0.218,0.161,0.207,0.152,0.051,0.106,0.146,
+0.104,0.306,0.109,0.139,0.086,0.155,0.124,0.126,0.017,0.038,
+0.032,0.025,0.163,0.048,0.159,0.189,0.091,0.268,0.192,0.177,
+0.098,0.092,0.070,0.096,0.118,0.158,0.102,0.118,0.133,0.028,
+0.121,0.152,0.133,0.263,0.207,0.236,0.101,0.088,0.059,0.091,
+0.085,0.104,0.057,0.080,0.094,0.015,0.046,0.066,0.064,0.074,
+0.041,0.073,0.123,0.137,0.067,0.091,0.153,0.149,0.125,0.104,
+0.149,0.044,0.120,0.118,0.062,0.136,0.080,0.094,0.094,0.172,
+0.122,0.124,0.023,0.045,0.034,0.041,0.145,0.041,0.135,0.151,
+0.065,0.168,0.128,0.124,0.076,0.073,0.047,0.079,0.096,0.131,
+0.081,0.094,0.109,0.021,0.086,0.126,0.085,0.090,0.092,0.168,
+0.011,0.014,7.10e-3,8.61e-3,0.014,0.025,0.014,0.013,0.012,5.43e-3,
+8.10e-3,0.010,6.85e-3,0.022,9.28e-3,0.010,0.017,0.031,0.011,0.017,
+0.030,0.061,0.043,0.025,0.025,0.024,0.037,0.029,8.69e-3,0.032,
+0.024,0.014,0.011,0.038,0.015,0.014,7.77e-3,0.034,0.020,8.19e-3,
+0.032,0.031,0.044,0.037,0.010,0.040,0.035,0.021,8.86e-3,0.013,
+5.85e-3,8.36e-3,0.022,0.056,0.020,0.018,0.015,9.28e-3,0.021,0.020,
+8.94e-3,0.016,0.016,0.019,0.079,0.072,0.047,0.048,0.101,0.157,
+0.122,0.083,0.105,0.036,0.076,0.082,0.051,0.098,0.075,0.077,
+0.013,0.025,0.014,8.69e-3,0.023,0.051,0.037,0.017,0.027,0.028,
+0.035,0.023,7.69e-3,0.033,0.019,0.015,0.086,0.198,0.121,0.106,
+0.033,0.090,0.070,0.030,0.224,0.098,0.122,0.162,0.071,0.228,
+0.162,0.117,0.055,0.059,0.050,0.053,0.116,0.203,0.152,0.116,
+0.144,0.045,0.166,0.138,0.067,0.116,0.116,0.120,0.074,0.049,
+0.038,0.059,0.063,0.062,0.043,0.047,0.077,0.012,0.044,0.054,
+0.055,0.064,0.068,0.082,0.110,0.123,0.078,0.073,0.128,0.163,
+0.109,0.087,0.140,0.037,0.097,0.107,0.080,0.170,0.112,0.112,
+0.225,0.201,0.144,0.117,0.055,0.068,0.040,0.022,0.204,0.058,
+0.254,0.207,0.138,0.213,0.176,0.157,0.079,0.074,0.060,0.080,
+0.129,0.150,0.119,0.105,0.145,0.024,0.142,0.146,0.103,0.142,
+0.142,0.175,0.143,0.076,0.059,0.105,0.090,0.063,0.045,0.076,
+0.083,9.19e-3,0.037,0.066,0.085,0.074,0.045,0.145,0.091,0.062,
+0.038,0.056,0.083,0.058,0.044,0.059,0.062,0.012,0.040,0.056,
+0.044,0.059,0.034,0.058,0.085,0.097,0.057,0.096,0.011,0.014,
+7.69e-3,0.015,0.083,0.014,0.060,0.085,0.065,0.088,0.063,0.097,
+0.085,0.052,0.044,0.087,0.075,0.061,0.045,0.084,0.081,8.10e-3,
+0.048,0.089,0.095,0.073,0.074,0.186,0.109,0.084,0.073,0.091,
+0.096,0.093,0.064,0.077,0.074,0.013,0.044,0.072,0.058,0.089,
+0.044,0.086,0.101,0.116,0.050,0.079,0.095,0.134,0.073,0.075,
+0.094,0.026,0.078,0.099,0.056,0.110,0.062,0.098,0.078,0.145,
+0.070,0.086,0.012,0.030,0.018,0.014,0.122,0.030,0.095,0.118,
+0.080,0.138,0.098,0.122,0.079,0.068,0.053,0.076,0.103,0.122,
+0.072,0.100,0.099,0.013,0.071,0.108,0.084,0.099,0.094,0.172,
+0.115,0.134,0.052,0.071,0.103,0.117,0.094,0.099,0.129,0.042,
+0.087,0.193,0.065,0.106,0.082,0.122,0.012,0.016,7.35e-3,9.02e-3,
+0.011,0.024,0.017,0.016,0.014,0.011,0.018,0.017,8.77e-3,0.020,
+9.86e-3,0.015,0.100,0.154,0.106,0.123,0.021,0.045,0.035,0.023,
+0.181,0.067,0.135,0.164,0.100,0.200,0.162,0.150,0.084,0.079,
+0.063,0.081,0.137,0.177,0.174,0.169,0.178,0.030,0.173,0.175,
+0.099,0.128,0.142,0.179,0.148,0.076,0.061,0.107,0.082,0.072,
+0.057,0.068,0.112,0.012,0.060,0.097,0.110,0.091,0.079,0.163,
+0.140,0.109,0.065,0.096,0.133,0.157,0.115,0.110,0.131,0.018,
+0.110,0.140,0.091,0.127,0.095,0.165,0.164,0.180,0.178,0.185,
+0.017,0.027,0.027,0.023,0.219,0.032,0.234,0.285,0.153,0.217,
+0.233,0.263,0.195,0.121,0.117,0.226,0.193,0.164,0.162,0.229,
+0.229,0.022,0.209,0.312,0.220,0.246,0.220,0.284,0.250,0.142,
+0.123,0.187,0.181,0.117,0.116,0.112,0.163,0.022,0.106,0.119,
+0.168,0.148,0.090,0.131,0.189,0.126,0.108,0.118,0.158,0.116,
+0.134,0.100,0.166,0.034,0.148,0.129,0.096,0.145,0.096,0.096,
+0.131,0.119,0.156,0.145,0.018,0.022,0.028,0.030,0.112,0.018,
+0.106,0.115,0.076,0.104,0.138,0.110,0.167,0.077,0.098,0.155,
+0.142,0.109,0.122,0.144,0.158,0.012,0.090,0.113,0.112,0.078,
+0.099,0.141,0.153,0.113,0.100,0.093,0.133,0.107,0.093,0.082,
+0.099,0.020,0.077,0.088,0.067,0.094,0.063,0.064,0.134,0.128,
+0.127,0.086,0.101,0.099,0.102,0.081,0.122,0.040,0.125,0.128,
+0.059,0.108,0.086,0.070,0.097,0.125,0.102,0.090,0.018,0.030,
+0.054,0.022,0.142,0.032,0.113,0.119,0.050,0.128,0.126,0.080,
+0.074,0.070,0.051,0.066,0.119,0.092,0.086,0.091,0.101,0.014,
+0.092,0.095,0.064,0.067,0.089,0.094,0.128,0.075,0.071,0.072,
+0.120,0.089,0.099,0.076,0.117,0.023,0.088,0.096,0.079,0.093,
+0.076,0.093,0.013,0.015,0.014,9.78e-3,0.015,0.020,0.019,0.011,
+0.018,9.19e-3,0.027,0.018,0.012,0.027,0.019,0.015,0.066,0.084,
+0.101,0.078,0.013,0.023,0.025,0.013,0.088,0.028,0.113,0.089,
+0.066,0.100,0.293,0.088,0.049,0.034,0.050,0.053,0.073,0.077,
+0.093,0.081,0.082,0.015,0.088,0.088,0.050,0.063,0.096,0.088,
+0.213,0.060,0.058,0.087,0.074,0.050,0.062,0.049,0.076,8.19e-3,
+0.051,0.059,0.083,0.064,0.061,0.105,0.116,0.105,0.077,0.081,
+0.093,0.077,0.128,0.084,0.095,0.016,0.093,0.091,0.073,0.093,
+0.076,0.095,0.079,0.071,0.099,0.116,9.44e-3,0.012,0.020,0.016,
+0.080,0.015,0.097,0.092,0.061,0.087,0.275,0.146,0.084,0.047,
+0.087,0.092,0.053,0.042,0.077,0.066,0.095,0.011,0.086,0.108,
+0.102,0.081,0.102,0.146,0.239,0.192,0.154,0.177,0.207,0.213,
+0.187,0.141,0.150,0.038,0.126,0.144,0.108,0.143,0.103,0.128,
+0.237,0.243,0.168,0.158,0.238,0.249,0.273,0.176,0.239,0.078,
+0.293,0.258,0.089,0.163,0.127,0.140,0.127,0.183,0.227,0.153,
+0.027,0.053,0.065,0.037,0.141,0.039,0.202,0.161,0.059,0.148,
+0.134,0.125,0.110,0.067,0.088,0.101,0.157,0.161,0.141,0.134,
+0.115,0.022,0.103,0.112,0.071,0.078,0.117,0.137,0.210,0.251,
+0.146,0.130,0.253,0.344,0.233,0.163,0.176,0.059,0.147,0.139,
+0.080,0.158,0.096,0.094,0.219,0.317,0.197,0.133,0.200,0.185,
+0.257,0.158,0.255,0.122,0.320,0.275,0.077,0.219,0.162,0.118,
+0.135,0.331,0.216,0.154,0.047,0.135,0.166,0.059,0.244,0.112,
+0.288,0.272,0.083,0.402,0.250,0.168,0.102,0.107,0.081,0.082,
+0.214,0.257,0.207,0.168,0.152,0.036,0.159,0.140,0.073,0.130,
+0.130,0.146,0.166,0.158,0.121,0.113,0.205,0.290,0.362,0.170,
+0.198,0.065,0.212,0.229,0.076,0.146,0.159,0.146,0.027,0.070,
+0.042,0.024,0.054,0.117,0.139,0.045,0.067,0.079,0.148,0.079,
+0.017,0.072,0.061,0.037,0.167,0.308,0.283,0.202,0.056,0.140,
+0.191,0.059,0.283,0.161,0.449,0.318,0.097,0.348,0.475,0.228,
+0.109,0.084,0.138,0.087,0.191,0.308,0.334,0.204,0.245,0.069,
+0.322,0.241,0.075,0.137,0.222,0.159,0.121,0.095,0.066,0.086,
+0.080,0.094,0.116,0.073,0.075,0.014,0.065,0.074,0.057,0.061,
+0.065,0.113,0.161,0.303,0.159,0.127,0.160,0.235,0.575,0.235,
+0.157,0.052,0.199,0.182,0.087,0.188,0.144,0.170,0.090,0.149,
+0.145,0.130,0.017,0.040,0.041,0.026,0.126,0.044,0.175,0.157,
+0.074,0.149,0.215,0.152,0.086,0.061,0.079,0.078,0.087,0.102,
+0.102,0.096,0.153,0.024,0.151,0.156,0.101,0.135,0.172,0.172,
+0.155,0.121,0.108,0.109,0.093,0.095,0.089,0.070,0.113,0.021,
+0.084,0.103,0.074,0.098,0.069,0.085,0.163,0.200,0.143,0.125,
+0.164,0.176,0.204,0.129,0.236,0.064,0.266,0.217,0.092,0.186,
+0.108,0.111,0.183,0.264,0.957,0.308,0.031,0.075,0.137,0.078,
+0.250,0.058,0.199,0.266,0.078,0.172,0.168,0.138,0.094,0.079,
+0.139,0.144,0.107,0.140,0.195,0.170,0.131,0.020,0.123,0.146,
+0.087,0.088,0.112,0.170,0.016,0.025,0.015,0.016,0.021,0.035,
+0.025,0.017,0.022,0.012,0.021,0.025,9.78e-3,0.026,0.021,0.013,
+0.026,0.058,0.031,0.022,0.040,0.066,0.050,0.028,0.046,0.044,
+0.091,0.059,0.017,0.074,0.030,0.021,0.025,0.079,0.168,0.055,
+0.011,0.050,0.102,0.032,0.104,0.049,0.082,0.132,0.020,0.074,
+0.057,0.038,0.017,0.023,0.024,0.025,0.039,0.084,0.086,0.079,
+0.037,0.015,0.049,0.046,0.016,0.030,0.038,0.032,0.089,0.102,
+0.081,0.087,0.092,0.204,0.174,0.091,0.157,0.065,0.347,0.413,
+0.052,0.121,0.126,0.179,0.017,0.046,0.025,0.012,0.022,0.074,
+0.062,0.020,0.044,0.047,0.091,0.050,0.013,0.063,0.036,0.025,
+0.118,0.813,0.201,0.114,0.051,0.670,0.095,0.040,0.217,0.107,
+0.216,0.184,0.060,0.218,0.184,0.106,0.050,0.086,0.067,0.084,
+0.142,0.876,0.249,0.324,0.128,0.059,0.197,0.150,0.052,0.105,
+0.129,0.102,0.065,0.049,0.038,0.047,0.046,0.052,0.042,0.033,
+0.067,0.012,0.065,0.063,0.042,0.052,0.044,0.065,0.104,0.131,
+0.085,0.076,0.109,0.186,0.148,0.084,0.197,0.050,0.166,0.159,
+0.083,0.171,0.137,0.120,0.081,0.155,0.167,0.095,0.020,0.083,
+0.042,0.022,0.309,0.045,0.147,0.165,0.080,0.158,0.127,0.100,
+0.070,0.060,0.065,0.070,0.083,0.133,0.087,0.102,0.122,0.020,
+0.129,0.124,0.087,0.145,0.114,0.120,0.141,0.081,0.073,0.114,
+0.071,0.053,0.050,0.054,0.073,0.011,0.048,0.065,0.080,0.073,
+0.053,0.090,0.093,0.065,0.052,0.065,0.065,0.052,0.048,0.048,
+0.085,0.011,0.069,0.086,0.073,0.064,0.049,0.069,0.085,0.072,
+0.157,0.134,0.010,0.012,0.014,0.022,0.085,0.010,0.062,0.104,
+0.048,0.065,0.060,0.080,0.111,0.057,0.101,0.184,0.082,0.072,
+0.082,0.136,0.074,8.02e-3,0.063,0.100,0.092,0.073,0.102,0.170,
+0.151,0.101,0.096,0.107,0.113,0.101,0.129,0.079,0.101,0.017,
+0.083,0.109,0.065,0.092,0.083,0.097,0.131,0.135,0.088,0.092,
+0.109,0.115,0.106,0.080,0.137,0.034,0.154,0.179,0.076,0.180,
+0.078,0.080,0.118,0.151,0.247,0.197,0.022,0.039,0.122,0.059,
+0.250,0.033,0.145,0.329,0.087,0.171,0.145,0.139,0.119,0.076,
+0.096,0.138,0.129,0.157,0.184,0.238,0.120,0.016,0.112,0.150,
+0.088,0.105,0.179,0.165,0.102,0.073,0.068,0.076,0.100,0.097,
+0.116,0.087,0.141,0.032,0.149,0.161,0.070,0.096,0.105,0.119,
+0.012,0.018,0.014,0.017,0.013,0.024,0.030,0.017,0.023,0.015,
+0.039,0.029,0.014,0.032,0.023,0.017,0.088,0.168,0.126,0.117,
+0.020,0.059,0.035,0.028,0.162,0.053,0.171,0.172,0.072,0.175,
+0.179,0.141,0.068,0.053,0.069,0.085,0.122,0.171,0.146,0.185,
+0.151,0.031,0.160,0.207,0.086,0.106,0.136,0.147,0.125,0.060,
+0.065,0.081,0.069,0.060,0.066,0.059,0.089,0.011,0.065,0.083,
+0.086,0.072,0.067,0.127,0.092,0.087,0.053,0.079,0.066,0.074,
+0.090,0.065,0.107,0.019,0.111,0.134,0.084,0.114,0.087,0.121,
+0.125,0.122,0.125,0.155,0.016,0.020,0.020,0.019,0.146,0.024,
+0.141,0.176,0.099,0.148,0.151,0.168,0.156,0.087,0.106,0.173,
+0.129,0.124,0.128,0.162,0.186,0.019,0.183,0.248,0.220,0.162,
+0.206,0.269,0.018,0.017,0.014,0.013,0.019,0.021,0.019,0.015,
+0.013,5.77e-3,0.019,0.018,0.010,0.014,0.012,9.61e-3,0.021,0.030,
+0.019,0.016,0.031,0.040,0.041,0.034,0.024,0.017,0.044,0.027,
+9.36e-3,0.021,0.019,0.018,0.014,0.019,0.021,0.013,5.35e-3,9.86e-3,
+0.015,5.85e-3,0.020,9.11e-3,0.042,0.018,7.69e-3,0.016,0.038,0.016,
+0.011,9.19e-3,8.44e-3,0.011,0.016,0.019,0.020,0.018,0.016,6.35e-3,
+0.018,0.014,8.02e-3,9.78e-3,0.013,0.014,0.026,0.039,0.027,0.021,
+0.037,0.047,0.038,0.021,0.023,0.015,0.034,0.034,8.94e-3,0.024,
+0.027,0.015,0.039,0.066,0.043,0.023,0.051,0.079,0.071,0.049,
+0.054,0.059,0.089,0.075,0.014,0.052,0.047,0.022,0.018,0.056,
+0.033,0.018,0.019,0.056,0.059,0.016,0.133,0.054,0.072,0.047,
+0.015,0.058,0.050,0.025,0.011,0.022,0.011,8.61e-3,0.035,0.038,
+0.038,0.026,0.024,0.012,0.036,0.024,8.02e-3,0.016,0.034,0.018,
+0.012,0.014,0.013,9.28e-3,0.033,0.032,0.032,0.020,0.021,9.44e-3,
+0.031,0.026,7.52e-3,0.015,0.016,0.014,5.18e-3,0.012,0.011,5.01e-3,
+9.36e-3,0.025,0.030,0.010,0.011,0.020,0.033,0.015,3.34e-3,0.015,
+0.015,7.10e-3,0.015,0.045,0.033,0.020,8.44e-3,0.030,0.030,8.86e-3,
+0.031,0.033,0.077,0.040,9.11e-3,0.037,0.062,0.029,6.69e-3,9.36e-3,
+0.011,6.60e-3,0.015,0.037,0.041,0.025,0.021,0.014,0.043,0.026,
+6.35e-3,0.016,0.025,0.019,0.016,9.86e-3,8.36e-3,8.02e-3,0.011,9.11e-3,
+0.012,0.013,9.19e-3,3.43e-3,8.69e-3,9.61e-3,7.60e-3,0.012,0.015,0.018,
+0.020,0.026,0.022,0.019,0.024,0.037,0.069,0.027,0.023,0.016,
+0.039,0.033,0.013,0.024,0.030,0.024,0.012,0.020,0.037,0.034,
+5.18e-3,9.78e-3,0.018,0.011,0.030,0.020,0.037,0.033,0.016,0.044,
+0.275,0.108,8.77e-3,9.19e-3,0.013,0.014,8.10e-3,0.017,0.019,0.017,
+0.016,5.18e-3,0.024,0.032,0.012,0.014,0.033,0.028,0.029,0.037,
+0.027,0.018,0.038,0.063,0.047,0.023,0.027,0.014,0.033,0.025,
+0.011,0.019,0.017,0.015,0.048,0.077,0.055,0.032,0.088,0.121,
+0.133,0.063,0.063,0.061,0.144,0.094,0.017,0.039,0.047,0.031,
+0.020,0.051,0.048,0.023,0.016,0.037,0.048,0.015,0.031,0.031,
+0.087,0.040,0.011,0.034,0.043,0.022,0.010,9.86e-3,0.012,9.19e-3,
+0.023,0.041,0.034,0.022,0.029,0.011,0.035,0.026,9.28e-3,0.017,
+0.020,0.021,0.041,0.086,0.046,0.027,0.075,0.194,0.118,0.042,
+0.045,0.044,0.071,0.054,0.016,0.041,0.033,0.021,0.076,0.186,
+0.117,0.048,0.097,0.119,0.200,0.085,0.111,0.200,0.230,0.170,
+0.022,0.101,0.089,0.046,0.033,0.138,0.080,0.034,0.044,0.197,
+0.161,0.039,0.092,0.143,0.149,0.097,0.019,0.131,0.126,0.051,
+0.019,0.026,0.021,0.013,0.049,0.106,0.071,0.045,0.040,0.031,
+0.077,0.049,0.015,0.033,0.055,0.033,0.025,0.029,0.023,0.013,
+0.051,0.118,0.126,0.036,0.046,0.027,0.070,0.050,0.011,0.029,
+0.034,0.026,0.016,0.061,0.038,0.016,0.061,0.193,0.251,0.047,
+0.062,0.143,0.164,0.094,7.60e-3,0.047,0.050,0.022,0.044,0.136,
+0.103,0.045,0.050,0.172,0.223,0.045,0.098,0.149,0.226,0.111,
+0.024,0.124,0.166,0.057,0.026,0.019,0.025,0.013,0.057,0.142,
+0.175,0.068,0.077,0.053,0.158,0.079,0.018,0.035,0.086,0.067,
+0.014,0.018,0.015,0.014,0.020,0.027,0.045,0.019,0.016,5.77e-3,
+0.020,0.016,7.10e-3,0.011,0.015,0.015,0.041,0.085,0.073,0.033,
+0.062,0.126,0.386,0.092,0.052,0.046,0.093,0.076,0.016,0.055,
+0.052,0.038,0.017,0.043,0.043,0.022,7.35e-3,0.033,0.036,0.013,
+0.037,0.030,0.080,0.052,0.012,0.040,0.069,0.032,0.011,0.014,
+0.015,0.012,0.017,0.028,0.040,0.022,0.032,0.011,0.046,0.038,
+0.012,0.023,0.054,0.036,0.017,0.022,0.018,0.012,0.018,0.031,
+0.027,0.014,0.016,8.94e-3,0.022,0.020,6.18e-3,0.013,0.013,9.19e-3,
+0.032,0.067,0.041,0.023,0.063,0.108,0.114,0.057,0.061,0.066,
+0.161,0.082,0.017,0.054,0.036,0.026,0.028,0.076,0.187,0.045,
+0.014,0.054,0.104,0.036,0.089,0.051,0.091,0.090,0.014,0.047,
+0.048,0.029,6.77e-3,0.011,0.016,0.015,0.035,0.045,0.071,0.046,
+0.023,0.012,0.038,0.033,9.94e-3,0.017,0.023,0.021,6.43e-3,0.017,
+0.010,5.60e-3,0.020,0.050,0.040,0.016,0.012,0.015,0.026,0.016,
+3.34e-3,0.012,0.016,5.43e-3,0.019,0.076,0.042,0.015,0.062,0.171,
+0.123,0.044,0.043,0.130,0.155,0.076,9.61e-3,0.059,0.034,0.017,
+0.019,0.090,0.136,0.041,0.032,0.124,0.332,0.088,0.082,0.124,
+0.195,0.117,0.014,0.074,0.106,0.034,4.18e-3,0.012,0.011,6.43e-3,
+0.021,0.053,0.087,0.079,0.019,0.022,0.063,0.034,6.60e-3,0.014,
+0.020,0.014,0.016,0.044,0.028,0.017,0.035,0.153,0.100,0.039,
+0.057,0.044,0.189,0.300,0.011,0.043,0.051,0.117,0.014,0.062,
+0.027,8.94e-3,0.038,0.176,0.127,0.032,0.055,0.146,0.227,0.090,
+8.44e-3,0.042,0.041,0.020,0.055,0.907,0.111,0.044,0.078,1.640,
+0.203,0.047,0.112,0.217,0.229,0.135,0.022,0.166,0.141,0.050,
+0.012,0.049,0.023,0.033,0.069,0.988,0.148,0.182,0.059,0.066,
+0.148,0.099,0.014,0.041,0.067,0.046,8.44e-3,0.014,9.11e-3,0.012,
+0.012,0.022,0.016,0.012,0.013,9.69e-3,0.028,0.030,6.69e-3,0.010,
+9.53e-3,0.016,0.024,0.062,0.041,0.024,0.058,0.133,0.120,0.046,
+0.076,0.081,0.135,0.098,0.018,0.069,0.059,0.035,0.020,0.083,
+0.067,0.027,0.016,0.099,0.078,0.017,0.072,0.083,0.149,0.101,
+0.019,0.090,0.099,0.039,9.02e-3,0.015,0.016,0.010,0.020,0.059,
+0.036,0.034,0.028,0.020,0.069,0.045,0.015,0.030,0.036,0.030,
+0.013,0.011,0.011,0.010,0.014,0.013,0.010,0.015,0.013,4.09e-3,
+8.94e-3,0.011,8.52e-3,0.011,9.36e-3,0.013,0.014,0.016,0.014,0.010,
+0.014,0.020,0.018,0.014,0.015,8.10e-3,0.024,0.039,9.78e-3,0.016,
+0.014,0.013,8.36e-3,0.018,0.023,0.015,4.26e-3,6.77e-3,7.10e-3,5.10e-3,
+0.022,4.51e-3,0.018,0.028,7.19e-3,0.013,0.013,0.015,0.011,7.02e-3,
+0.013,0.020,0.012,0.012,0.012,0.027,0.011,2.76e-3,0.012,0.020,
+8.77e-3,8.10e-3,0.013,0.025,0.023,0.033,0.039,0.020,0.031,0.044,
+0.071,0.034,0.031,0.015,0.037,0.032,0.011,0.031,0.030,0.021,
+0.038,0.067,0.044,0.035,0.055,0.092,0.080,0.055,0.050,0.036,
+0.103,0.088,0.018,0.078,0.042,0.030,0.024,0.074,0.100,0.057,
+0.015,0.040,0.093,0.047,0.120,0.031,0.083,0.116,0.024,0.070,
+0.054,0.039,0.029,0.022,0.021,0.031,0.047,0.075,0.094,0.164,
+0.039,0.014,0.058,0.055,0.017,0.029,0.043,0.040,0.012,0.017,
+0.012,0.011,0.022,0.041,0.045,0.023,0.025,0.015,0.047,0.054,
+9.69e-3,0.021,0.027,0.026,4.93e-3,0.010,6.02e-3,4.68e-3,0.014,0.035,
+0.029,0.014,0.011,0.020,0.041,0.024,4.68e-3,0.011,0.015,8.52e-3,
+0.019,0.087,0.050,0.030,0.013,0.078,0.044,0.022,0.062,0.073,
+0.126,0.076,0.017,0.079,0.090,0.040,0.012,0.014,0.019,0.016,
+0.031,0.097,0.059,0.060,0.038,0.021,0.085,0.068,0.016,0.025,
+0.050,0.034,0.013,0.014,0.012,0.013,0.011,0.012,0.024,0.015,
+0.015,3.51e-3,0.016,0.015,9.44e-3,0.012,0.012,0.017,0.013,0.019,
+0.016,0.015,0.017,0.031,0.046,0.023,0.021,0.012,0.037,0.034,
+0.013,0.025,0.023,0.026,0.026,0.031,0.030,0.028,4.85e-3,0.016,
+0.016,7.60e-3,0.035,0.019,0.057,0.051,0.014,0.038,0.050,0.034,
+0.018,0.015,0.018,0.021,0.020,0.027,0.030,0.033,0.027,6.10e-3,
+0.055,0.049,0.023,0.027,0.039,0.031,0.176,0.112,0.099,0.134,
+0.130,0.108,0.122,0.102,0.111,0.020,0.095,0.113,0.088,0.110,
+0.082,0.101,0.142,0.127,0.099,0.108,0.155,0.143,0.196,0.127,
+0.144,0.040,0.188,0.146,0.072,0.114,0.104,0.099,0.106,0.129,
+0.150,0.163,0.019,0.024,0.037,0.031,0.109,0.026,0.138,0.125,
+0.052,0.094,0.107,0.095,0.081,0.049,0.051,0.082,0.081,0.077,
+0.091,0.090,0.085,0.012,0.064,0.075,0.062,0.044,0.063,0.089,
+0.137,0.122,0.089,0.087,0.155,0.158,0.177,0.114,0.140,0.035,
+0.113,0.119,0.066,0.109,0.067,0.076,0.179,0.229,0.149,0.122,
+0.205,0.182,0.263,0.154,0.292,0.115,0.471,0.442,0.089,0.216,
+0.134,0.118,0.153,0.264,0.222,0.209,0.046,0.078,0.114,0.061,
+0.273,0.103,0.363,0.391,0.089,0.252,0.243,0.159,0.091,0.071,
+0.058,0.061,0.131,0.143,0.167,0.145,0.132,0.025,0.133,0.136,
+0.077,0.070,0.089,0.109,0.144,0.088,0.108,0.096,0.158,0.170,
+0.232,0.138,0.220,0.054,0.245,0.217,0.088,0.137,0.129,0.139,
+0.026,0.038,0.044,0.035,0.050,0.061,0.104,0.049,0.051,0.042,
+0.166,0.076,0.025,0.087,0.055,0.069,0.184,0.237,0.836,0.527,
+0.048,0.061,0.245,0.092,0.243,0.097,0.371,0.259,0.094,0.251,
+0.337,0.193,0.076,0.061,0.194,0.118,0.183,0.183,0.899,0.290,
+0.151,0.038,0.201,0.166,0.076,0.101,0.167,0.131,0.100,0.046,
+0.050,0.076,0.063,0.055,0.067,0.055,0.063,0.010,0.067,0.080,
+0.072,0.071,0.052,0.131,0.120,0.120,0.123,0.186,0.142,0.149,
+0.210,0.136,0.139,0.038,0.287,0.207,0.112,0.212,0.138,0.472,
+0.116,0.135,0.226,0.211,0.022,0.029,0.068,0.045,0.170,0.040,
+0.210,0.221,0.106,0.194,0.317,0.296,0.091,0.054,0.096,0.107,
+0.089,0.091,0.358,0.165,0.133,0.019,0.142,0.358,0.117,0.125,
+0.149,0.258,0.016,0.025,0.016,0.017,0.027,0.033,0.044,0.020,
+0.019,8.69e-3,0.021,0.019,0.010,0.017,0.016,0.012,0.040,0.068,
+0.041,0.038,0.075,0.096,0.148,0.054,0.052,0.056,0.113,0.070,
+0.017,0.047,0.044,0.028,0.015,0.040,0.031,0.023,0.013,0.025,
+0.033,0.016,0.034,0.025,0.066,0.051,9.02e-3,0.034,0.044,0.026,
+0.011,0.010,8.19e-3,7.69e-3,0.019,0.028,0.027,0.018,0.012,6.43e-3,
+0.021,0.017,7.69e-3,0.016,0.017,0.015,0.026,0.054,0.026,0.015,
+0.045,0.077,0.088,0.037,0.034,0.025,0.044,0.032,0.010,0.028,
+0.023,0.017,0.070,0.134,0.086,0.042,0.107,0.124,0.190,0.076,
+0.126,0.135,0.243,0.146,0.024,0.086,0.076,0.042,0.034,0.102,
+0.058,0.035,0.039,0.115,0.135,0.036,0.113,0.139,0.207,0.144,
+0.032,0.120,0.126,0.059,0.024,0.023,0.015,8.19e-3,0.036,0.067,
+0.059,0.037,0.033,0.016,0.052,0.034,0.013,0.020,0.032,0.024,
+0.025,0.032,0.032,0.017,0.060,0.105,0.172,0.049,0.055,0.041,
+0.110,0.054,0.019,0.034,0.040,0.024,0.018,0.049,0.040,0.017,
+0.071,0.152,0.214,0.054,0.064,0.123,0.248,0.104,0.010,0.048,
+0.062,0.024,0.051,0.129,0.207,0.108,0.071,0.164,0.760,0.082,
+0.128,0.242,0.334,0.152,0.029,0.161,0.277,0.098,0.017,0.023,
+0.031,0.016,0.060,0.107,0.261,0.076,0.066,0.064,0.148,0.072,
+0.018,0.037,0.082,0.044,0.015,0.013,0.013,0.016,0.015,0.021,
+0.026,0.015,0.013,6.35e-3,0.019,0.013,9.53e-3,0.013,0.015,0.020,
+0.032,0.049,0.041,0.032,0.065,0.102,0.130,0.053,0.050,0.045,
+0.113,0.064,0.021,0.068,0.054,0.072,0.019,0.046,0.051,0.029,
+0.011,0.035,0.059,0.019,0.060,0.041,0.099,0.078,0.020,0.062,
+0.104,0.047,0.012,0.013,0.012,0.013,0.018,0.027,0.046,0.020,
+0.023,9.53e-3,0.042,0.049,0.015,0.024,0.040,0.042,0.100,0.138,
+0.086,0.112,0.115,0.169,0.167,0.113,0.115,0.028,0.167,0.136,
+0.055,0.063,0.058,0.066,0.165,0.234,0.233,0.150,0.297,0.319,
+1.025,0.287,0.382,0.151,2.287,0.889,0.082,0.206,0.243,0.163,
+0.119,0.255,0.226,0.156,0.054,0.102,0.120,0.080,0.458,0.122,
+0.479,0.533,0.090,0.241,0.218,0.191,0.074,0.058,0.045,0.057,
+0.109,0.146,0.152,0.130,0.160,0.043,0.191,0.196,0.070,0.092,
+0.115,0.140,0.022,0.035,0.023,0.015,0.046,0.094,0.086,0.046,
+0.042,0.028,0.133,0.068,7.44e-3,0.024,0.019,0.018,0.049,0.098,
+0.083,0.043,0.124,0.170,0.235,0.098,0.213,0.163,2.758,0.650,
+0.024,0.079,0.118,0.053,0.042,0.140,0.088,0.043,0.045,0.138,
+0.201,0.053,0.379,0.212,0.408,0.395,0.041,0.128,0.130,0.068,
+0.044,0.029,0.014,0.012,0.039,0.076,0.066,0.054,0.054,0.028,
+0.094,0.085,0.017,0.026,0.035,0.029,0.150,0.139,0.134,0.066,
+0.181,0.325,0.373,0.153,0.222,0.107,0.456,0.248,0.065,0.158,
+0.206,0.118,0.044,0.109,0.079,0.032,0.082,0.214,0.257,0.062,
+0.135,0.191,0.534,0.153,0.023,0.092,0.152,0.043,0.232,0.430,
+0.494,0.260,0.108,0.257,0.423,0.100,0.425,0.276,0.320,0.235,
+0.115,0.365,0.487,0.222,0.073,0.081,0.109,0.063,0.155,0.281,
+0.412,0.183,0.242,0.132,0.575,0.257,0.070,0.146,0.286,0.169,
+0.067,0.056,0.049,0.054,0.064,0.072,0.061,0.049,0.065,0.021,
+0.087,0.076,0.036,0.063,0.049,0.051,0.131,0.192,0.135,0.094,
+0.214,0.337,0.315,0.155,0.272,0.124,0.498,0.366,0.086,0.252,
+0.208,0.150,0.117,0.226,0.216,0.151,0.038,0.117,0.125,0.046,
+0.312,0.145,0.515,0.404,0.107,0.312,0.290,0.191,0.072,0.057,
+0.060,0.067,0.108,0.153,0.141,0.118,0.147,0.047,0.282,0.214,
+0.080,0.133,0.177,0.139,0.095,0.068,0.045,0.072,0.066,0.069,
+0.073,0.057,0.074,0.014,0.057,0.061,0.056,0.062,0.045,0.092,
+0.093,0.073,0.055,0.063,0.085,0.071,0.173,0.070,0.080,0.023,
+0.159,0.125,0.043,0.068,0.049,0.052,0.079,0.099,0.069,0.085,
+0.016,0.023,0.022,0.024,0.117,0.033,0.103,0.142,0.056,0.104,
+0.091,0.090,0.250,0.108,0.040,0.066,0.086,0.072,0.059,0.076,
+0.070,0.010,0.057,0.075,0.069,0.057,0.059,0.099,0.147,0.136,
+0.142,0.100,0.150,0.215,0.258,0.147,0.137,0.037,0.252,0.173,
+0.056,0.105,0.074,0.092,0.217,0.256,0.184,0.154,0.258,0.278,
+0.418,0.253,0.369,0.129,2.383,0.959,0.090,0.211,0.219,0.151,
+0.199,0.340,0.205,0.167,0.054,0.107,0.165,0.068,0.472,0.134,
+0.422,0.643,0.114,0.348,0.271,0.229,0.929,0.436,0.103,0.123,
+0.225,0.284,0.211,0.221,0.196,0.045,0.214,0.229,0.110,0.120,
+0.128,0.154,0.196,0.114,0.109,0.076,0.173,0.205,0.621,0.205,
+0.165,0.055,0.252,0.204,0.070,0.117,0.139,0.143,0.025,0.041,
+0.046,0.023,0.066,0.121,0.391,0.074,0.058,0.061,0.152,0.087,
+0.019,0.057,0.052,0.032,0.185,0.352,0.282,0.214,0.070,0.131,
+0.208,0.074,0.739,0.486,0.523,0.473,0.167,0.705,0.525,0.294,
+0.128,0.105,0.161,0.088,0.222,0.275,0.476,0.248,0.244,0.091,
+0.402,0.302,0.101,0.174,0.284,0.193,0.097,0.064,0.053,0.066,
+0.070,0.072,0.106,0.060,0.078,0.014,0.070,0.067,0.061,0.061,
+0.061,0.088,0.116,0.113,0.096,0.093,0.127,0.171,0.392,0.135,
+0.138,0.036,0.176,0.185,0.079,0.130,0.117,0.125,0.122,0.179,
+0.159,0.164,0.028,0.049,0.061,0.036,0.283,0.105,0.362,0.359,
+0.116,0.289,0.305,0.223,0.148,0.085,0.083,0.113,0.133,0.155,
+0.201,0.173,0.167,0.029,0.240,0.262,0.133,0.141,0.196,0.202,
+0.155,0.089,0.085,0.135,0.111,0.081,0.078,0.076,0.104,0.014,
+0.059,0.080,0.107,0.101,0.064,0.101,0.117,0.081,0.058,0.079,
+0.098,0.074,0.067,0.064,0.099,0.016,0.084,0.086,0.068,0.108,
+0.057,0.075,0.086,0.072,0.073,0.098,0.019,0.013,0.012,0.018,
+0.073,0.011,0.062,0.070,0.049,0.070,0.063,0.077,0.109,0.051,
+0.047,0.095,0.108,0.073,0.065,0.090,0.077,0.010,0.061,0.079,
+0.092,0.062,0.074,0.195,0.110,0.077,0.067,0.076,0.094,0.083,
+0.066,0.064,0.064,0.011,0.051,0.061,0.045,0.058,0.037,0.057,
+0.092,0.077,0.054,0.069,0.075,0.061,0.063,0.053,0.089,0.024,
+0.078,0.094,0.047,0.069,0.047,0.054,0.074,0.077,0.056,0.066,
+0.011,0.017,0.018,0.012,0.079,0.017,0.067,0.082,0.048,0.080,
+0.063,0.063,0.055,0.035,0.028,0.049,0.064,0.058,0.046,0.057,
+0.061,7.85e-3,0.050,0.065,0.049,0.041,0.050,0.074,0.138,0.063,
+0.068,0.064,0.098,0.076,0.094,0.079,0.096,0.019,0.059,0.083,
+0.067,0.069,0.058,0.090,0.012,0.018,0.013,0.011,0.014,0.017,
+0.018,0.010,0.015,8.36e-3,0.022,0.020,0.013,0.025,0.014,0.020,
+0.064,0.075,0.132,0.104,0.014,0.018,0.034,0.018,0.090,0.024,
+0.078,0.081,0.052,0.131,0.099,0.085,0.079,0.037,0.052,0.061,
+0.093,0.082,0.127,0.094,0.107,0.023,0.074,0.091,0.062,0.074,
+0.078,0.094,0.130,0.045,0.043,0.080,0.062,0.042,0.048,0.055,
+0.062,7.60e-3,0.042,0.062,0.086,0.055,0.046,0.111,0.107,0.070,
+0.061,0.087,0.088,0.072,0.070,0.070,0.086,0.012,0.077,0.105,
+0.081,0.102,0.075,0.238,0.077,0.070,0.078,0.096,0.010,0.010,
+0.013,0.011,0.068,0.010,0.075,0.081,0.059,0.087,0.137,0.112,
+0.103,0.054,0.061,0.112,0.082,0.066,0.081,0.108,0.109,0.012,
+0.086,0.127,0.112,0.099,0.122,0.206,0.205,0.158,0.129,0.171,
+0.179,0.179,0.157,0.155,0.130,0.027,0.100,0.136,0.110,0.127,
+0.098,0.152,0.203,0.189,0.133,0.177,0.214,0.204,0.272,0.188,
+0.215,0.066,0.246,0.243,0.098,0.178,0.147,0.144,0.117,0.159,
+0.137,0.146,0.025,0.045,0.043,0.044,0.144,0.042,0.178,0.198,
+0.068,0.152,0.154,0.181,0.107,0.069,0.071,0.096,0.147,0.167,
+0.133,0.152,0.096,0.017,0.086,0.143,0.081,0.117,0.103,0.172,
+0.203,0.202,0.160,0.155,0.240,0.282,0.254,0.255,0.159,0.048,
+0.129,0.143,0.078,0.146,0.099,0.131,0.246,0.338,0.202,0.261,
+0.305,0.258,0.301,0.218,0.313,0.142,0.353,0.355,0.104,0.264,
+0.189,0.169,0.144,0.269,0.167,0.169,0.049,0.108,0.094,0.055,
+0.273,0.122,0.292,0.328,0.099,0.339,0.283,0.226,0.102,0.087,
+0.064,0.086,0.186,0.234,0.180,0.175,0.132,0.029,0.152,0.216,
+0.079,0.108,0.129,0.160,0.172,0.131,0.185,0.122,0.236,0.315,
+0.398,0.228,0.187,0.065,0.262,0.294,0.086,0.157,0.144,0.157,
+0.028,0.049,0.037,0.030,0.069,0.131,0.125,0.057,0.058,0.067,
+0.145,0.109,0.017,0.073,0.057,0.042,0.145,0.262,0.285,0.224,
+0.048,0.117,0.200,0.072,0.300,0.155,0.363,0.346,0.115,0.382,
+0.405,0.273,0.108,0.087,0.096,0.131,0.271,0.369,0.456,0.302,
+0.239,0.068,0.308,0.312,0.104,0.159,0.254,0.259,0.127,0.082,
+0.091,0.110,0.096,0.101,0.107,0.087,0.097,0.018,0.084,0.112,
+0.076,0.086,0.088,0.138,0.179,0.199,0.138,0.169,0.210,0.276,
+0.277,0.203,0.202,0.062,0.286,0.304,0.119,0.298,0.261,0.275,
+0.112,0.179,0.241,0.166,0.023,0.047,0.068,0.035,0.178,0.057,
+0.244,0.250,0.096,0.225,0.345,0.238,0.107,0.093,0.080,0.113,
+0.129,0.171,0.153,0.152,0.137,0.024,0.165,0.235,0.116,0.158,
+0.199,0.254,0.130,0.098,0.081,0.104,0.096,0.113,0.108,0.104,
+0.104,0.018,0.066,0.088,0.099,0.077,0.054,0.076,0.156,0.181,
+0.102,0.102,0.176,0.190,0.242,0.143,0.222,0.069,0.318,0.264,
+0.100,0.176,0.131,0.114,0.102,0.176,0.189,0.134,0.022,0.055,
+0.072,0.049,0.186,0.069,0.185,0.259,0.095,0.321,0.209,0.140,
+0.076,0.061,0.052,0.077,0.105,0.126,0.130,0.115,0.126,0.027,
+0.116,0.150,0.099,0.108,0.138,0.169,0.016,0.021,0.036,0.017,
+0.020,0.038,0.039,0.020,0.014,6.69e-3,0.023,0.018,7.77e-3,0.019,
+0.012,0.017,0.028,0.053,0.028,0.021,0.048,0.082,0.077,0.044,
+0.049,0.052,0.169,0.104,0.013,0.051,0.039,0.026,0.015,0.053,
+0.037,0.022,0.014,0.050,0.061,0.016,0.065,0.061,0.106,0.087,
+0.018,0.084,0.123,0.039,0.011,0.015,0.010,9.02e-3,0.020,0.042,
+0.034,0.028,0.026,0.017,0.036,0.032,0.011,0.023,0.025,0.023,
+0.158,0.119,0.093,0.074,0.154,0.252,0.379,0.139,0.166,0.064,
+0.191,0.166,0.069,0.140,0.158,0.130,0.024,0.067,0.029,0.016,
+0.048,0.112,0.087,0.033,0.055,0.059,0.125,0.069,0.019,0.064,
+0.061,0.034,0.135,0.309,0.226,0.153,0.050,0.204,0.159,0.050,
+0.317,0.166,0.228,0.264,0.095,0.311,0.334,0.182,0.081,0.077,
+0.078,0.085,0.170,0.334,0.281,0.203,0.253,0.081,0.346,0.253,
+0.102,0.149,0.220,0.187,0.086,0.070,0.050,0.064,0.065,0.083,
+0.078,0.058,0.074,0.017,0.077,0.078,0.057,0.071,0.098,0.101,
+0.147,0.186,0.112,0.122,0.166,0.265,0.195,0.139,0.230,0.077,
+0.301,0.274,0.128,0.286,0.602,0.358,0.108,0.185,0.150,0.137,
+0.022,0.083,0.069,0.039,0.216,0.076,0.281,0.278,0.102,0.254,
+0.358,0.215,0.096,0.070,0.064,0.096,0.104,0.151,0.145,0.259,
+0.171,0.033,0.236,0.232,0.107,0.153,0.229,0.221,0.171,0.090,
+0.126,0.100,0.088,0.075,0.101,0.073,0.096,0.012,0.063,0.068,
+0.095,0.078,0.056,0.096,0.113,0.081,0.040,0.063,0.099,0.070,
+0.066,0.068,0.109,0.015,0.071,0.085,0.064,0.070,0.045,0.066,
+0.085,0.090,0.068,0.098,0.013,0.013,0.012,0.019,0.093,0.018,
+0.077,0.114,0.073,0.102,0.082,0.096,0.127,0.053,0.058,0.096,
+0.096,0.063,0.064,0.094,0.090,0.010,0.061,0.101,0.108,0.080,
+0.091,0.184,0.169,0.137,0.940,0.204,0.130,0.231,0.632,0.171,
+0.080,0.015,0.109,0.094,0.061,0.091,0.096,0.097,0.115,0.124,
+0.087,0.087,0.119,0.134,0.135,0.117,0.146,0.041,0.210,0.216,
+0.072,0.138,0.087,0.107,0.091,0.136,0.100,0.102,0.015,0.039,
+0.040,0.024,0.136,0.036,0.137,0.196,0.087,0.173,0.167,0.162,
+0.172,0.092,0.069,0.086,0.104,0.114,0.106,0.132,0.112,0.018,
+0.105,0.139,0.095,0.092,0.098,0.161,0.141,0.102,0.108,0.079,
+0.136,0.148,0.221,0.137,0.144,0.034,0.141,0.144,0.091,0.136,
+0.122,0.169,0.015,0.027,0.017,0.013,0.025,0.046,0.063,0.023,
+0.025,0.017,0.041,0.035,0.014,0.033,0.025,0.024,0.144,0.219,
+0.171,0.155,0.028,0.072,0.066,0.034,0.298,0.130,0.259,0.287,
+0.128,0.356,0.305,0.274,0.116,0.088,0.089,0.105,0.171,0.194,
+0.218,0.208,0.231,0.047,0.279,0.283,0.122,0.150,0.209,0.226,
+0.194,0.100,0.093,0.110,0.100,0.089,0.091,0.078,0.124,0.015,
+0.085,0.104,0.124,0.113,0.099,0.200,0.170,0.206,0.093,0.117,
+0.159,0.310,0.152,0.118,0.176,0.031,0.164,0.198,0.125,0.195,
+0.179,0.235,0.156,0.172,0.140,0.181,0.018,0.033,0.030,0.025,
+0.227,0.041,0.223,0.296,0.154,0.252,0.272,0.303,0.199,0.104,
+0.127,0.199,0.152,0.150,0.154,0.214,0.204,0.025,0.251,0.315,
+0.219,0.178,0.216,0.309,0.262,0.182,0.163,0.297,0.205,0.124,
+0.124,0.154,0.233,0.022,0.116,0.172,0.306,0.262,0.134,0.249,
+0.221,0.117,0.109,0.153,0.140,0.097,0.078,0.102,0.162,0.017,
+0.088,0.106,0.125,0.134,0.089,0.136,0.182,0.130,0.128,0.192,
+0.015,0.014,0.018,0.025,0.125,0.012,0.077,0.101,0.100,0.114,
+0.099,0.143,0.244,0.105,0.121,0.260,0.188,0.136,0.121,0.221,
+0.143,0.012,0.082,0.131,0.189,0.120,0.123,0.212,0.273,0.141,
+0.120,0.182,0.162,0.115,0.095,0.128,0.157,0.023,0.088,0.119,
+0.129,0.142,0.077,0.151,0.173,0.105,0.080,0.102,0.099,0.068,
+0.067,0.071,0.112,0.016,0.071,0.088,0.081,0.074,0.062,0.085,
+0.131,0.111,0.091,0.126,0.015,0.015,0.015,0.018,0.449,0.021,
+0.079,0.100,0.076,0.101,0.080,0.102,0.167,0.091,0.097,0.177,
+0.179,0.149,0.119,0.186,0.173,0.013,0.100,0.136,0.135,0.118,
+0.124,0.224,0.253,0.097,0.091,0.137,0.153,0.099,0.100,0.126,
+0.154,0.017,0.075,0.122,0.137,0.107,0.088,0.175,0.018,0.013,
+0.011,0.015,0.013,0.012,0.011,0.012,0.014,2.84e-3,9.86e-3,0.012,
+0.018,0.022,0.012,0.020,0.094,0.074,0.086,0.095,9.94e-3,9.78e-3,
+0.011,0.014,0.084,0.013,0.071,0.074,0.061,0.073,0.100,0.096,
+0.102,0.061,0.082,0.118,0.125,0.102,0.099,0.137,0.125,0.011,
+0.099,0.124,0.099,0.095,0.112,0.180,0.248,0.093,0.092,0.176,
+0.114,0.068,0.083,0.105,0.133,0.013,0.069,0.102,0.169,0.101,
+0.114,0.205,0.172,0.110,0.095,0.128,0.105,0.071,0.079,0.087,
+0.108,9.86e-3,0.084,0.104,0.115,0.108,0.099,0.150,0.111,0.079,
+0.107,0.132,0.012,8.52e-3,0.013,0.018,0.137,0.020,0.191,0.119,
+0.089,0.099,0.133,0.133,0.168,0.088,0.115,0.201,0.115,0.086,
+0.095,0.150,0.164,0.011,0.128,0.178,0.216,0.152,0.166,0.331,
+0.255,0.157,0.121,0.195,0.157,0.125,0.098,0.123,0.123,0.014,
+0.061,0.111,0.139,0.132,0.089,0.159,0.181,0.116,0.136,0.160,
+0.124,0.089,0.088,0.111,0.112,0.017,0.080,0.108,0.077,0.092,
+0.074,0.118,0.110,0.111,0.102,0.128,0.015,0.017,0.019,0.020,
+0.091,0.013,0.063,0.079,0.064,0.096,0.080,0.108,0.115,0.068,
+0.078,0.120,0.130,0.104,0.081,0.113,0.081,9.69e-3,0.051,0.086,
+0.091,0.075,0.094,0.165,0.179,0.131,0.075,0.119,0.132,0.133,
+0.084,0.093,0.097,0.015,0.074,0.082,0.073,0.091,0.054,0.104,
+0.117,0.114,0.061,0.077,0.096,0.065,0.073,0.078,0.090,0.019,
+0.070,0.092,0.059,0.081,0.061,0.082,0.113,0.137,0.088,0.118,
+0.018,0.026,0.020,0.021,0.109,0.024,0.071,0.114,0.069,0.138,
+0.087,0.107,0.101,0.078,0.060,0.108,0.122,0.124,0.083,0.111,
+0.095,0.012,0.062,0.096,0.075,0.103,0.083,0.145,0.129,0.099,
+0.070,0.095,0.115,0.109,0.111,0.112,0.124,0.019,0.078,0.107,
+0.091,0.099,0.082,0.133,0.015,0.020,0.010,9.69e-3,0.016,0.023,
+0.022,0.017,0.016,8.69e-3,0.019,0.021,0.013,0.020,0.013,0.015,
+0.099,0.120,0.102,0.114,0.017,0.029,0.025,0.019,0.116,0.023,
+0.092,0.106,0.069,0.111,0.131,0.113,0.085,0.068,0.067,0.085,
+0.124,0.217,0.102,0.119,0.163,0.017,0.096,0.118,0.088,0.086,
+0.102,0.142,0.130,0.091,0.061,0.092,0.089,0.091,0.072,0.084,
+0.075,8.69e-3,0.057,0.075,0.097,0.069,0.063,0.152,0.117,0.133,
+0.079,0.097,0.083,0.093,0.194,0.138,0.075,0.011,0.068,0.087,
+0.070,0.087,0.067,0.115,0.086,0.084,0.085,0.112,9.61e-3,0.012,
+0.013,0.014,0.079,0.012,0.119,0.098,0.066,0.085,0.111,0.128,
+0.104,0.058,0.069,0.094,0.086,0.082,0.061,0.097,0.114,0.010,
+0.084,0.155,0.129,0.120,0.129,0.225,0.190,0.119,0.077,0.143,
+0.085,0.072,0.051,0.080,0.098,0.013,0.060,0.087,0.105,0.106,
+0.066,0.121,0.136,0.104,0.071,0.119,0.095,0.071,0.067,0.082,
+0.110,0.018,0.086,0.100,0.089,0.105,0.067,0.109,0.124,0.123,
+0.218,0.189,0.017,0.018,0.024,0.037,0.107,0.016,0.068,0.094,
+0.066,0.106,0.076,0.115,0.120,0.075,0.120,0.193,0.096,0.091,
+0.094,0.157,0.099,0.011,0.069,0.112,0.112,0.099,0.104,0.231,
+0.015,0.012,7.44e-3,0.013,0.012,0.016,8.86e-3,0.012,0.010,3.17e-3,
+7.69e-3,9.78e-3,0.011,0.014,8.10e-3,0.016,0.014,0.013,6.77e-3,0.012,
+0.012,0.013,0.013,0.012,0.012,5.77e-3,0.013,0.015,0.011,0.017,
+9.69e-3,0.012,0.012,0.018,0.017,0.018,3.01e-3,6.85e-3,6.94e-3,5.35e-3,
+0.020,6.10e-3,0.015,0.020,9.61e-3,0.019,0.012,0.015,0.020,0.015,
+0.020,0.029,0.024,0.031,0.027,0.038,0.016,3.34e-3,0.014,0.019,
+0.016,0.016,0.019,0.036,0.092,0.064,0.044,0.060,0.072,0.086,
+0.067,0.065,0.112,0.020,0.110,0.131,0.068,0.084,0.061,0.105,
+8.44e-3,0.011,6.35e-3,8.19e-3,9.02e-3,0.013,0.012,5.43e-3,0.013,5.93e-3,
+0.015,0.013,9.94e-3,0.018,9.53e-3,0.012,0.078,0.139,0.090,0.087,
+0.016,0.058,0.018,0.014,0.109,0.023,0.068,0.084,0.057,0.085,
+0.077,0.080,0.069,0.056,0.055,0.073,0.092,0.167,0.093,0.133,
+0.114,0.018,0.083,0.098,0.063,0.079,0.082,0.114,0.092,0.053,
+0.035,0.065,0.053,0.043,0.032,0.041,0.065,8.27e-3,0.040,0.056,
+0.077,0.076,0.044,0.089,0.110,0.084,0.052,0.071,0.079,0.083,
+0.063,0.062,0.090,0.015,0.067,0.085,0.082,0.111,0.064,0.115,
+0.084,0.089,0.076,0.099,0.011,0.016,0.014,0.012,0.124,0.013,
+0.070,0.103,0.068,0.101,0.075,0.111,0.102,0.063,0.078,0.094,
+0.091,0.087,0.066,0.088,0.121,0.012,0.094,0.132,0.127,0.125,
+0.117,0.195,0.262,0.129,0.099,0.219,0.112,0.074,0.061,0.105,
+0.109,0.011,0.065,0.097,0.159,0.121,0.099,0.185,0.130,0.063,
+0.056,0.098,0.079,0.047,0.037,0.064,0.085,8.36e-3,0.062,0.086,
+0.096,0.063,0.060,0.108,0.142,0.095,0.170,0.261,0.011,0.010,
+0.012,0.036,0.089,7.69e-3,0.071,0.121,0.082,0.090,0.073,0.142,
+0.227,0.104,0.225,0.566,0.148,0.102,0.114,0.271,0.124,7.27e-3,
+0.082,0.152,0.184,0.132,0.153,0.366,0.197,0.112,0.083,0.169,
+0.114,0.090,0.062,0.102,0.102,0.011,0.077,0.104,0.102,0.096,
+0.080,0.152,0.144,0.090,0.056,0.102,0.082,0.070,0.054,0.074,
+0.090,0.010,0.075,0.104,0.100,0.091,0.065,0.104,0.126,0.107,
+0.110,0.177,9.94e-3,0.013,0.013,0.022,0.125,0.012,0.074,0.138,
+0.085,0.117,0.079,0.147,0.189,0.096,0.120,0.305,0.166,0.146,
+0.130,0.335,0.141,0.013,0.112,0.179,0.163,0.178,0.187,0.365,
+0.186,0.089,0.079,0.131,0.128,0.099,0.092,0.144,0.146,0.019,
+0.101,0.150,0.122,0.106,0.107,0.188,0.013,0.011,7.94e-3,0.014,
+8.52e-3,0.013,9.94e-3,0.011,0.012,3.51e-3,0.015,0.015,0.013,0.017,
+0.011,0.019,0.098,0.100,0.094,0.130,0.012,0.012,0.011,0.015,
+0.112,0.016,0.091,0.106,0.077,0.107,0.106,0.140,0.130,0.076,
+0.123,0.172,0.154,0.132,0.122,0.208,0.195,0.014,0.137,0.203,
+0.145,0.136,0.173,0.287,0.218,0.106,0.096,0.173,0.125,0.083,
+0.086,0.130,0.132,0.015,0.082,0.126,0.179,0.125,0.109,0.264,
+0.148,0.097,0.061,0.121,0.097,0.074,0.078,0.089,0.099,8.02e-3,
+0.084,0.121,0.121,0.113,0.096,0.163,0.173,0.132,0.136,0.214,
+0.013,0.014,0.011,0.021,0.151,0.014,0.112,0.176,0.141,0.164,
+0.151,0.218,0.291,0.143,0.181,0.395,0.214,0.180,0.168,0.310,
+0.324,0.020,0.248,0.415,0.457,0.307,0.383,0.676,0.345,0.250,
+0.242,0.356,0.249,0.191,0.167,0.181,0.225,0.031,0.158,0.194,
+0.246,0.232,0.161,0.231,0.298,0.198,0.182,0.222,0.237,0.181,
+0.162,0.180,0.209,0.035,0.188,0.184,0.126,0.167,0.144,0.175,
+0.186,0.176,0.183,0.222,0.030,0.026,0.034,0.044,0.489,0.048,
+0.319,0.203,0.126,0.167,0.196,0.190,0.207,0.123,0.110,0.222,
+0.233,0.183,0.148,0.233,0.168,0.020,0.128,0.153,0.165,0.125,
+0.155,0.265,0.305,0.214,0.254,0.236,0.220,0.203,0.156,0.148,
+0.278,0.039,0.149,0.215,0.139,0.219,0.134,0.179,0.237,0.212,
+0.199,0.198,0.204,0.168,0.176,0.179,0.270,0.056,0.213,0.241,
+0.105,0.170,0.160,0.147,0.240,0.231,0.188,0.187,0.072,0.051,
+0.053,0.045,4.943,0.220,0.312,0.289,0.373,0.312,0.208,0.171,
+0.126,0.104,0.085,0.110,0.222,0.180,0.161,0.211,0.433,0.029,
+0.153,0.161,0.132,0.123,0.161,0.212,0.208,0.125,0.111,0.131,
+0.235,0.167,0.166,0.167,0.199,0.039,0.127,0.163,0.117,0.162,
+0.127,0.198,0.028,0.023,0.019,0.022,0.027,0.041,0.041,0.033,
+0.030,0.017,0.034,0.034,0.018,0.045,0.042,0.033,0.143,0.194,
+0.162,0.149,0.026,0.046,0.038,0.037,0.257,0.052,0.164,0.178,
+0.105,0.212,0.258,0.255,0.114,0.083,0.084,0.128,0.169,0.198,
+0.175,0.225,0.220,0.036,0.159,0.189,0.132,0.173,0.187,0.263,
+0.218,0.101,0.087,0.147,0.122,0.086,0.089,0.166,0.128,0.019,
+0.077,0.108,0.132,0.115,0.087,0.199,0.233,0.153,0.142,0.185,
+0.184,0.181,0.270,0.240,0.149,0.033,0.183,0.207,0.116,0.193,
+0.148,0.224,0.138,0.146,0.205,0.249,0.025,0.029,0.045,0.045,
+0.408,0.216,0.151,0.201,0.128,0.345,0.428,0.299,0.153,0.096,
+0.109,0.200,0.135,0.126,0.137,0.209,0.211,0.036,0.149,0.229,
+0.185,0.185,0.223,0.347,0.356,0.292,0.208,0.273,0.307,0.306,
+0.238,0.203,0.193,0.035,0.136,0.216,0.188,0.190,0.155,0.205,
+0.367,0.300,0.211,0.219,0.316,0.309,0.289,0.264,0.252,0.063,
+0.238,0.281,0.115,0.209,0.173,0.192,0.169,0.226,0.227,0.212,
+0.039,0.057,0.054,0.048,0.161,0.036,0.169,0.156,0.087,0.175,
+0.178,0.194,0.153,0.100,0.103,0.173,0.230,0.255,0.172,0.207,
+0.151,0.021,0.113,0.148,0.123,0.116,0.159,0.250,0.291,0.314,
+0.183,0.237,0.299,0.487,0.259,0.206,0.193,0.045,0.167,0.192,
+0.119,0.203,0.127,0.172,0.286,0.393,0.225,0.248,0.263,0.185,
+0.309,0.258,0.261,0.102,0.287,0.315,0.107,0.312,0.199,0.191,
+0.265,0.381,0.242,0.238,0.074,0.119,0.091,0.078,0.371,0.099,
+0.232,0.273,0.110,0.370,0.330,0.262,0.148,0.121,0.092,0.125,
+0.284,0.350,0.218,0.257,0.194,0.034,0.187,0.208,0.103,0.165,
+0.196,0.246,0.244,0.179,0.132,0.136,0.305,0.366,0.303,0.206,
+0.270,0.063,0.181,0.198,0.133,0.211,0.164,0.217,0.055,0.056,
+0.032,0.032,0.051,0.127,0.142,0.068,0.056,0.048,0.071,0.064,
+0.020,0.078,0.044,0.038,0.253,0.375,0.292,0.241,0.064,0.124,
+0.109,0.071,0.310,0.094,0.289,0.291,0.130,0.374,0.380,0.303,
+0.181,0.130,0.123,0.144,0.307,0.471,0.381,0.349,0.408,0.055,
+0.300,0.304,0.177,0.219,0.302,0.314,0.180,0.126,0.105,0.143,
+0.164,0.147,0.215,0.170,0.145,0.017,0.098,0.117,0.138,0.119,
+0.103,0.187,0.335,0.268,0.284,0.250,0.320,0.393,1.338,0.780,
+0.217,0.073,0.236,0.266,0.148,0.274,0.212,0.252,0.135,0.228,
+0.201,0.198,0.019,0.041,0.045,0.044,0.174,0.042,0.208,0.209,
+0.109,0.227,0.293,0.247,0.145,0.109,0.103,0.145,0.140,0.179,
+0.170,0.194,0.174,0.021,0.172,0.235,0.159,0.190,0.263,0.348,
+0.191,0.203,0.113,0.163,0.130,0.139,0.101,0.131,0.118,0.018,
+0.099,0.107,0.111,0.137,0.081,0.124,0.225,0.237,0.142,0.175,
+0.215,0.253,0.205,0.279,0.209,0.067,0.268,0.234,0.117,0.278,
+0.129,0.187,0.155,0.265,0.433,0.262,0.033,0.072,0.089,0.091,
+0.351,0.055,0.169,0.249,0.086,0.191,0.144,0.170,0.108,0.090,
+0.114,0.194,0.158,0.196,0.237,0.351,0.163,0.027,0.128,0.182,
+0.131,0.130,0.157,0.275,0.014,0.018,0.012,0.014,0.023,0.040,
+0.028,0.021,0.022,9.19e-3,0.024,0.024,0.014,0.027,0.021,0.017,
+0.029,0.046,0.027,0.031,0.048,0.079,0.059,0.046,0.040,0.040,
+0.073,0.056,0.016,0.057,0.032,0.027,0.027,0.072,0.074,0.043,
+0.024,0.050,0.085,0.041,0.154,0.042,0.085,0.106,0.023,0.059,
+0.051,0.037,0.018,0.018,0.020,0.031,0.050,0.089,0.119,0.151,
+0.039,0.012,0.045,0.044,0.016,0.022,0.029,0.040,0.128,0.165,
+0.097,0.091,0.156,0.364,0.207,0.146,0.200,0.068,0.462,0.524,
+0.088,0.203,0.163,0.277,0.017,0.043,0.019,0.016,0.030,0.094,
+0.062,0.033,0.037,0.029,0.071,0.062,0.015,0.058,0.036,0.039,
+0.175,1.152,0.235,0.188,0.071,0.885,0.086,0.066,0.241,0.109,
+0.183,0.233,0.086,0.336,0.218,0.205,0.097,0.147,0.093,0.172,
+0.222,1.323,0.284,0.563,0.334,0.063,0.240,0.264,0.117,0.193,
+0.200,0.263,0.129,0.114,0.065,0.100,0.091,0.115,0.072,0.069,
+0.110,0.016,0.107,0.121,0.092,0.111,0.072,0.153,0.170,0.225,
+0.133,0.143,0.220,0.400,0.272,0.199,0.218,0.065,0.249,0.294,
+0.139,0.311,0.180,0.257,0.143,0.274,0.191,0.176,0.021,0.077,
+0.041,0.032,0.208,0.056,0.224,0.264,0.108,0.279,0.221,0.210,
+0.115,0.108,0.090,0.146,0.121,0.206,0.139,0.194,0.185,0.026,
+0.205,0.245,0.158,0.202,0.217,0.276,0.237,0.142,0.107,0.186,
+0.153,0.102,0.085,0.137,0.137,0.016,0.098,0.133,0.135,0.120,
+0.137,0.186,0.147,0.104,0.080,0.113,0.107,0.101,0.079,0.109,
+0.117,0.017,0.106,0.158,0.098,0.099,0.099,0.126,0.133,0.138,
+0.179,0.207,0.015,0.021,0.019,0.040,0.147,0.018,0.130,0.149,
+0.082,0.111,0.110,0.157,0.153,0.094,0.171,0.364,0.133,0.099,
+0.121,0.347,0.138,0.014,0.114,0.180,0.167,0.119,0.147,0.362,
+0.231,0.199,0.152,0.205,0.208,0.231,0.215,0.220,0.193,0.032,
+0.184,0.217,0.136,0.197,0.144,0.193,0.206,0.206,0.145,0.203,
+0.213,0.228,0.187,0.210,0.214,0.052,0.260,0.296,0.135,0.261,
+0.163,0.193,0.194,0.305,0.313,0.420,0.034,0.065,0.082,0.131,
+0.477,0.066,0.236,0.377,0.149,0.299,0.232,0.268,0.178,0.135,
+0.174,0.415,0.322,0.359,0.485,1.447,0.229,0.034,0.238,0.350,
+0.171,0.202,0.234,0.417,0.175,0.128,0.086,0.114,0.164,0.185,
+0.160,0.147,0.184,0.039,0.182,0.220,0.111,0.181,0.156,0.225,
+0.018,0.022,0.012,0.017,0.022,0.043,0.037,0.025,0.020,0.012,
+0.033,0.032,0.015,0.040,0.022,0.026,0.144,0.259,0.199,0.212,
+0.032,0.081,0.046,0.049,0.212,0.064,0.251,0.286,0.118,0.277,
+0.277,0.276,0.124,0.111,0.152,0.164,0.207,0.296,0.238,0.382,
+0.266,0.037,0.254,0.364,0.159,0.178,0.251,0.356,0.210,0.126,
+0.114,0.160,0.130,0.125,0.252,0.132,0.140,0.020,0.102,0.135,
+0.137,0.120,0.109,0.214,0.193,0.147,0.109,0.150,0.151,0.185,
+0.264,0.195,0.145,0.022,0.197,0.216,0.149,0.221,0.143,0.229,
+0.202,0.210,0.199,0.266,0.021,0.029,0.030,0.039,0.217,0.039,
+0.210,0.269,0.158,0.258,0.315,0.309,0.233,0.143,0.170,0.300,
+0.200,0.212,0.221,0.336,0.257,0.027,0.261,0.368,0.310,0.276,
+0.350,0.460,0.248,0.126,0.102,0.166,0.158,0.113,0.095,0.123,
+0.116,0.016,0.065,0.114,0.120,0.122,0.081,0.125,0.135,0.096,
+0.067,0.088,0.117,0.089,0.089,0.095,0.091,0.017,0.075,0.084,
+0.073,0.102,0.075,0.100,0.114,0.117,0.097,0.143,0.016,0.015,
+0.015,0.021,0.086,0.010,0.071,0.100,0.060,0.082,0.084,0.101,
+0.121,0.061,0.064,0.115,0.111,0.083,0.070,0.110,0.095,8.69e-3,
+0.056,0.082,0.088,0.054,0.076,0.137,0.189,0.137,0.089,0.134,
+0.177,0.152,0.141,0.117,0.118,0.020,0.080,0.103,0.084,0.120,
+0.091,0.112,0.183,0.180,0.098,0.103,0.178,0.120,0.142,0.126,
+0.153,0.041,0.136,0.151,0.082,0.143,0.088,0.104,0.145,0.191,
+0.157,0.173,0.031,0.042,0.043,0.044,0.269,0.043,0.171,0.279,
+0.080,0.173,0.169,0.152,0.098,0.075,0.062,0.094,0.158,0.157,
+0.132,0.165,0.140,0.016,0.106,0.139,0.088,0.089,0.108,0.167,
+0.174,0.088,0.074,0.108,0.181,0.155,0.161,0.135,0.201,0.039,
+0.114,0.138,0.119,0.147,0.113,0.148,0.023,0.021,0.016,0.021,
+0.033,0.041,0.040,0.031,0.027,0.014,0.037,0.032,0.029,0.062,
+0.031,0.036,0.145,0.158,0.235,0.212,0.029,0.036,0.050,0.040,
+0.239,0.046,0.168,0.174,0.104,0.194,0.219,0.166,0.104,0.069,
+0.097,0.099,0.178,0.164,0.240,0.199,0.178,0.029,0.152,0.165,
+0.119,0.110,0.172,0.198,0.140,0.065,0.059,0.103,0.085,0.070,
+0.074,0.071,0.084,0.011,0.053,0.082,0.105,0.085,0.077,0.122,
+0.158,0.109,0.087,0.123,0.128,0.119,0.130,0.118,0.111,0.019,
+0.107,0.133,0.100,0.126,0.099,0.175,0.129,0.146,0.171,0.230,
+0.023,0.023,0.031,0.040,0.159,0.030,0.137,0.187,0.149,0.194,
+0.210,0.217,0.137,0.094,0.095,0.163,0.118,0.103,0.129,0.161,
+0.168,0.016,0.137,0.221,0.240,0.157,0.203,0.294,0.018,0.019,
+0.010,0.012,0.020,0.020,0.017,0.018,0.013,3.34e-3,7.77e-3,0.015,
+0.012,0.017,0.010,0.015,0.018,0.022,0.014,0.014,0.027,0.032,
+0.033,0.023,0.017,8.27e-3,0.018,0.018,9.36e-3,0.017,0.015,0.018,
+0.011,0.018,0.017,0.014,4.34e-3,6.35e-3,7.35e-3,6.43e-3,0.015,3.34e-3,
+0.018,0.021,5.93e-3,0.014,0.016,0.015,0.011,7.02e-3,8.44e-3,0.012,
+0.021,0.021,0.020,0.022,0.015,2.34e-3,0.011,0.017,9.69e-3,9.94e-3,
+0.012,0.021,0.035,0.025,0.016,0.017,0.028,0.043,0.032,0.018,
+0.017,8.86e-3,0.017,0.018,9.28e-3,0.015,0.014,0.012,0.032,0.050,
+0.024,0.021,0.068,0.064,0.064,0.041,0.036,0.028,0.045,0.039,
+0.012,0.034,0.024,0.020,0.022,0.042,0.028,0.022,0.013,0.033,
+0.030,0.016,0.045,0.027,0.044,0.064,0.011,0.043,0.042,0.027,
+0.016,0.012,9.69e-3,0.012,0.029,0.037,0.034,0.027,0.024,6.52e-3,
+0.024,0.022,0.011,0.014,0.019,0.022,0.027,0.014,0.010,0.010,
+0.030,0.040,0.042,0.023,0.026,8.77e-3,0.022,0.020,9.11e-3,0.015,
+0.017,0.017,4.43e-3,0.011,6.43e-3,5.77e-3,0.016,0.033,0.028,0.015,
+0.011,0.015,0.023,0.016,3.51e-3,0.012,0.011,7.94e-3,0.024,0.037,
+0.040,0.035,0.013,0.030,0.062,0.019,0.065,0.032,0.058,0.046,
+0.015,0.046,0.053,0.035,0.016,0.012,0.024,0.014,0.036,0.052,
+0.057,0.043,0.044,0.012,0.040,0.037,0.014,0.020,0.031,0.027,
+0.019,0.014,0.011,0.013,0.017,0.020,0.017,0.016,0.013,3.01e-3,
+9.02e-3,0.011,0.011,0.014,0.013,0.020,0.027,0.027,0.018,0.033,
+0.032,0.050,0.066,0.045,0.025,0.011,0.030,0.030,0.015,0.037,
+0.027,0.031,0.019,0.029,0.028,0.036,7.44e-3,0.014,0.019,0.029,
+0.034,0.015,0.038,0.053,0.015,0.034,0.043,0.046,0.018,0.016,
+0.015,0.020,0.020,0.025,0.022,0.027,0.024,4.09e-3,0.023,0.031,
+0.024,0.023,0.030,0.042,0.137,0.110,0.084,0.116,0.106,0.106,
+0.086,0.096,0.099,0.014,0.070,0.083,0.061,0.062,0.063,0.075,
+0.147,0.148,0.094,0.102,0.189,0.186,0.260,0.160,0.172,0.049,
+0.299,0.261,0.067,0.132,0.105,0.122,0.102,0.181,0.193,0.156,
+0.030,0.052,0.060,0.063,0.189,0.040,0.179,0.223,0.061,0.150,
+0.153,0.136,0.076,0.061,0.059,0.091,0.118,0.131,0.120,0.172,
+0.157,0.024,0.174,0.173,0.077,0.081,0.128,0.179,0.015,0.017,
+0.011,0.013,0.022,0.037,0.032,0.023,0.014,8.10e-3,0.022,0.018,
+6.85e-3,0.013,9.02e-3,0.013,0.026,0.044,0.020,0.016,0.081,0.054,
+0.060,0.033,0.033,0.026,0.136,0.077,0.010,0.025,0.020,0.017,
+0.021,0.052,0.037,0.026,0.014,0.037,0.041,0.023,0.065,0.035,
+0.073,0.090,0.013,0.044,0.046,0.029,0.017,0.013,0.012,0.015,
+0.037,0.052,0.037,0.054,0.032,0.012,0.063,0.050,0.012,0.018,
+0.024,0.031,0.174,0.117,0.077,0.065,0.184,0.242,0.235,0.124,
+0.146,0.047,0.204,0.154,0.070,0.122,0.152,0.121,0.024,0.052,
+0.024,0.016,0.049,0.113,0.086,0.034,0.050,0.044,0.099,0.054,
+0.014,0.044,0.047,0.025,0.162,0.301,0.298,0.185,0.051,0.105,
+0.143,0.065,0.256,0.094,0.154,0.196,0.083,0.222,0.288,0.185,
+0.088,0.078,0.111,0.073,0.181,0.261,0.279,0.207,0.178,0.053,
+0.299,0.228,0.076,0.127,0.209,0.184,0.101,0.068,0.058,0.088,
+0.080,0.079,0.066,0.062,0.086,0.016,0.073,0.076,0.058,0.071,
+0.061,0.083,0.146,0.190,0.111,0.107,0.194,0.311,0.218,0.155,
+0.207,0.057,0.255,0.229,0.092,0.209,0.159,0.148,0.153,0.231,
+0.253,0.213,0.028,0.074,0.067,0.053,0.258,0.073,0.337,0.329,
+0.106,0.255,0.259,0.223,0.109,0.087,0.085,0.112,0.142,0.168,
+0.149,0.163,0.195,0.030,0.259,0.247,0.122,0.186,0.206,0.225,
+0.284,0.087,0.067,0.117,0.095,0.076,0.059,0.076,0.091,0.011,
+0.062,0.074,0.083,0.081,0.075,0.139,0.120,0.079,0.054,0.070,
+0.092,0.075,0.067,0.071,0.074,0.011,0.061,0.093,0.051,0.062,
+0.060,0.085,0.122,0.110,0.098,0.115,0.013,0.014,0.015,0.022,
+0.102,0.014,0.089,0.128,0.079,0.090,0.089,0.123,0.140,0.072,
+0.082,0.118,0.117,0.083,0.075,0.128,0.105,9.28e-3,0.081,0.121,
+0.105,0.094,0.105,0.203,0.233,0.144,0.093,0.129,0.174,0.155,
+0.137,0.127,0.128,0.021,0.109,0.137,0.087,0.106,0.081,0.140,
+0.182,0.191,0.088,0.117,0.237,0.183,0.169,0.151,0.151,0.032,
+0.264,0.252,0.080,0.134,0.122,0.125,0.209,0.267,0.168,0.194,
+0.031,0.053,0.045,0.047,0.220,0.053,0.217,0.322,0.108,0.241,
+0.204,0.220,0.281,0.143,0.140,0.161,0.228,0.234,0.200,0.299,
+0.184,0.029,0.200,0.298,0.124,0.153,0.176,0.272,1.522,0.158,
+0.129,0.147,0.268,0.214,0.262,0.172,0.222,0.038,0.157,0.246,
+0.112,0.130,0.151,0.198,0.072,0.026,0.021,0.022,0.038,0.064,
+0.084,0.033,0.027,0.014,0.042,0.054,0.015,0.030,0.031,0.028,
+0.287,0.282,0.301,0.239,0.035,0.057,0.082,0.050,0.313,0.107,
+0.279,0.333,0.142,0.333,0.317,0.289,0.264,0.139,0.886,0.273,
+0.260,0.244,0.377,0.299,0.243,0.040,0.321,0.374,0.172,0.174,
+0.285,0.301,0.242,0.088,0.092,0.121,0.113,0.085,0.085,0.096,
+0.179,0.025,0.081,0.121,0.108,0.087,0.086,0.173,0.188,0.116,
+0.085,0.126,0.145,0.156,0.172,0.141,0.132,0.020,0.134,0.214,
+0.095,0.131,0.121,0.160,0.209,0.211,0.214,0.261,0.024,0.031,
+0.031,0.042,0.272,0.046,0.291,0.375,0.178,0.298,0.310,0.309,
+0.232,0.123,0.190,0.248,0.205,0.191,0.204,0.273,0.249,0.022,
+0.267,0.372,0.232,0.218,0.289,0.378,0.404,0.168,0.143,0.297,
+0.169,0.111,0.093,0.123,0.164,0.018,0.087,0.119,0.225,0.180,
+0.101,0.193,0.178,0.121,0.077,0.114,0.118,0.078,0.059,0.077,
+0.124,0.014,0.069,0.081,0.133,0.154,0.092,0.135,0.144,0.111,
+0.091,0.165,0.014,0.013,0.011,0.023,0.104,0.010,0.061,0.091,
+0.093,0.112,0.100,0.139,0.185,0.096,0.079,0.190,0.141,0.097,
+0.080,0.144,0.114,9.86e-3,0.072,0.117,0.165,0.103,0.129,0.264,
+0.213,0.108,0.078,0.145,0.141,0.091,0.074,0.092,0.095,0.011,
+0.058,0.081,0.087,0.081,0.057,0.114,0.146,0.105,0.061,0.097,
+0.100,0.066,0.058,0.077,0.095,0.013,0.063,0.083,0.090,0.090,
+0.058,0.093,0.112,0.108,0.078,0.124,0.012,0.012,0.015,0.018,
+0.204,0.021,0.067,0.108,0.086,0.118,0.086,0.109,0.108,0.060,
+0.046,0.104,0.113,0.089,0.064,0.117,0.111,9.36e-3,0.062,0.096,
+0.099,0.086,0.092,0.181,0.154,0.073,0.067,0.108,0.127,0.098,
+0.090,0.106,0.120,0.016,0.049,0.083,0.135,0.116,0.074,0.156,
+0.016,9.86e-3,8.52e-3,0.013,0.012,0.012,0.011,0.016,0.016,2.67e-3,
+9.61e-3,0.014,0.022,0.026,0.011,0.023,0.094,0.089,0.092,0.117,
+0.014,0.014,0.017,0.017,0.111,0.017,0.057,0.085,0.082,0.112,
+0.100,0.125,0.096,0.058,0.064,0.109,0.125,0.104,0.095,0.139,
+0.116,0.011,0.076,0.107,0.119,0.094,0.112,0.185,0.207,0.084,
+0.073,0.152,0.098,0.063,0.071,0.089,0.117,0.011,0.057,0.094,
+0.174,0.111,0.082,0.182,0.151,0.085,0.068,0.107,0.093,0.072,
+0.066,0.084,0.106,0.011,0.064,0.111,0.136,0.119,0.081,0.182,
+0.127,0.113,0.110,0.149,0.011,0.012,0.011,0.021,0.122,0.015,
+0.077,0.121,0.122,0.146,0.148,0.199,0.202,0.105,0.110,0.247,
+0.141,0.122,0.100,0.165,0.183,0.015,0.117,0.201,0.278,0.194,
+0.258,0.455,0.225,0.147,0.106,0.196,0.158,0.120,0.092,0.117,
+0.129,0.015,0.074,0.109,0.147,0.133,0.095,0.185,0.161,0.118,
+0.076,0.115,0.132,0.105,0.103,0.098,0.135,0.020,0.106,0.109,
+0.095,0.115,0.085,0.123,0.103,0.105,0.083,0.129,0.016,0.017,
+0.012,0.021,0.109,0.016,0.063,0.105,0.077,0.116,0.091,0.144,
+0.113,0.077,0.061,0.115,0.137,0.131,0.078,0.133,0.095,0.012,
+0.063,0.140,0.100,0.108,0.110,0.228,0.224,0.134,0.081,0.128,
+0.150,0.140,0.094,0.110,0.101,0.015,0.054,0.086,0.075,0.095,
+0.056,0.114,0.154,0.198,0.071,0.112,0.151,0.133,0.091,0.113,
+0.127,0.029,0.085,0.103,0.087,0.116,0.081,0.111,0.123,0.145,
+0.095,0.139,0.022,0.036,0.024,0.028,0.282,0.039,0.108,0.177,
+0.092,0.172,0.140,0.165,0.102,0.075,0.049,0.096,0.152,0.160,
+0.104,0.134,0.138,0.013,0.076,0.147,0.092,0.113,0.115,0.199,
+0.148,0.082,0.064,0.107,0.133,0.134,0.116,0.164,0.113,0.020,
+0.068,0.127,0.089,0.113,0.081,0.174,0.012,0.013,9.28e-3,0.013,
+0.016,0.030,0.022,0.021,0.017,8.19e-3,0.019,0.019,0.011,0.022,
+0.013,0.021,0.130,0.146,0.119,0.165,0.022,0.027,0.028,0.027,
+0.251,0.035,0.100,0.141,0.112,0.175,0.152,0.181,0.109,0.075,
+0.073,0.134,0.176,0.202,0.173,0.196,0.173,0.020,0.116,0.168,
+0.121,0.125,0.166,0.251,0.153,0.097,0.070,0.129,0.098,0.084,
+0.075,0.089,0.118,0.012,0.066,0.098,0.125,0.115,0.082,0.166,
+0.161,0.119,0.083,0.138,0.125,0.134,0.132,0.144,0.157,0.020,
+0.098,0.130,0.120,0.171,0.116,0.179,0.120,0.133,0.134,0.169,
+0.011,0.018,0.018,0.028,0.140,0.018,0.105,0.146,0.096,0.157,
+0.169,0.222,0.159,0.096,0.094,0.174,0.155,0.144,0.124,0.223,
+0.165,0.015,0.122,0.191,0.195,0.176,0.203,0.383,0.190,0.136,
+0.099,0.179,0.142,0.128,0.105,0.137,0.140,0.013,0.071,0.116,
+0.114,0.103,0.070,0.131,0.170,0.143,0.091,0.131,0.145,0.142,
+0.109,0.115,0.165,0.026,0.136,0.172,0.122,0.156,0.112,0.160,
+0.137,0.181,0.146,0.182,0.024,0.031,0.032,0.043,0.142,0.026,
+0.108,0.160,0.092,0.193,0.160,0.171,0.131,0.098,0.080,0.154,
+0.146,0.136,0.118,0.170,0.174,0.020,0.136,0.203,0.163,0.153,
+0.263,0.334,0.018,0.015,0.014,0.017,0.030,0.020,0.016,0.018,
+0.011,3.01e-3,0.011,0.010,8.69e-3,0.017,9.02e-3,0.019,0.016,0.020,
+0.010,0.013,0.022,0.030,0.022,0.018,0.019,9.78e-3,0.025,0.028,
+9.94e-3,0.020,0.015,0.019,0.012,0.021,0.015,0.017,4.01e-3,0.014,
+0.014,7.02e-3,0.022,9.86e-3,0.025,0.031,9.19e-3,0.027,0.025,0.024,
+0.014,0.010,8.52e-3,0.018,0.022,0.029,0.020,0.030,0.021,4.18e-3,
+0.020,0.025,0.019,0.022,0.036,0.044,0.160,0.125,0.077,0.104,
+0.150,0.197,0.158,0.129,0.148,0.031,0.133,0.137,0.102,0.141,
+0.132,0.200,0.016,0.026,0.012,0.013,0.024,0.042,0.021,0.016,
+0.025,0.014,0.032,0.025,0.015,0.033,0.021,0.034,0.145,0.240,
+0.192,0.174,0.031,0.062,0.049,0.037,0.213,0.054,0.131,0.197,
+0.102,0.218,0.213,0.221,0.116,0.089,0.087,0.140,0.173,0.226,
+0.202,0.201,0.211,0.034,0.245,0.258,0.133,0.166,0.255,0.329,
+0.152,0.103,0.080,0.120,0.119,0.100,0.071,0.093,0.114,0.014,
+0.084,0.119,0.104,0.109,0.089,0.173,0.185,0.192,0.104,0.144,
+0.188,0.193,0.131,0.130,0.239,0.033,0.178,0.210,0.158,0.230,
+0.195,0.255,0.174,0.253,0.223,0.239,0.024,0.041,0.036,0.040,
+0.248,0.041,0.213,0.263,0.157,0.271,0.258,0.292,0.171,0.121,
+0.116,0.170,0.153,0.172,0.149,0.193,0.236,0.025,0.235,0.282,
+0.221,0.230,0.298,0.423,0.466,0.179,0.128,0.261,0.168,0.125,
+0.097,0.183,0.177,0.017,0.098,0.161,0.188,0.160,0.130,0.248,
+0.182,0.114,0.069,0.119,0.120,0.089,0.066,0.103,0.131,0.012,
+0.074,0.126,0.107,0.106,0.087,0.154,0.193,0.155,0.107,0.221,
+0.016,0.016,0.012,0.030,0.125,0.018,0.092,0.172,0.128,0.169,
+0.127,0.220,0.248,0.151,0.116,0.262,0.179,0.133,0.107,0.224,
+0.192,0.018,0.122,0.219,0.277,0.274,0.233,0.548,0.277,0.166,
+0.197,0.210,0.208,0.172,0.174,0.149,0.134,0.015,0.102,0.139,
+0.128,0.130,0.101,0.195,0.216,0.166,0.083,0.142,0.172,0.179,
+0.104,0.149,0.149,0.019,0.111,0.168,0.109,0.136,0.096,0.183,
+0.172,0.183,0.129,0.221,0.016,0.027,0.019,0.030,0.191,0.023,
+0.131,0.222,0.152,0.232,0.175,0.283,0.213,0.128,0.099,0.214,
+0.190,0.181,0.139,0.291,0.217,0.020,0.143,0.245,0.211,0.226,
+0.197,0.511,0.353,0.159,0.122,0.170,0.235,0.180,0.155,0.213,
+0.227,0.030,0.172,0.231,0.187,0.182,0.177,0.328,0.025,0.020,
+0.010,0.016,0.019,0.028,0.020,0.022,0.017,6.10e-3,0.024,0.027,
+0.016,0.027,0.017,0.036,0.281,0.270,0.216,0.305,0.030,0.040,
+0.035,0.042,0.312,0.054,0.246,0.310,0.210,0.335,0.336,0.429,
+0.251,0.161,0.235,0.253,0.290,0.257,0.257,0.362,0.346,0.037,
+0.311,0.439,0.258,0.241,0.368,0.586,0.540,0.228,0.178,0.318,
+0.228,0.165,0.134,0.192,0.322,0.027,0.139,0.243,0.339,0.239,
+0.190,0.503,0.321,0.220,0.139,0.233,0.232,0.216,0.150,0.225,
+0.248,0.023,0.184,0.280,0.251,0.256,0.187,0.495,0.349,0.311,
+0.273,0.457,0.023,0.027,0.023,0.041,0.388,0.037,0.296,0.464,
+0.336,0.406,0.425,0.697,0.549,0.236,0.235,0.510,0.301,0.241,
+0.238,0.475,0.414,0.029,0.327,0.613,0.443,0.343,0.338,0.714,
+5.230,2.343,1.765,2.796,2.371,1.455,1.289,1.658,2.334,0.240,
+1.227,1.615,3.258,2.199,1.455,2.212,2.994,1.526,1.183,1.538,
+1.739,0.986,1.039,1.044,2.068,0.151,1.139,1.378,1.339,1.239,
+1.064,1.478,2.830,1.874,1.434,1.869,0.206,0.171,0.159,0.282,
+2.010,0.157,1.109,1.489,1.351,1.550,1.245,1.751,3.300,1.538,
+1.507,3.230,2.218,1.564,1.777,2.575,2.012,0.180,1.347,2.006,
+2.255,1.453,1.780,2.579,3.283,1.948,1.189,1.680,1.929,1.384,
+1.099,1.113,1.801,0.191,0.951,1.204,1.330,1.359,0.783,1.257,
+2.469,1.310,0.868,1.076,1.371,0.809,0.877,0.741,1.554,0.147,
+1.200,1.244,0.864,0.891,0.767,0.823,2.111,1.732,1.205,1.274,
+0.158,0.202,0.202,0.159,1.853,0.192,1.309,1.522,1.036,1.424,
+1.018,1.180,1.463,0.962,0.840,1.137,1.508,1.416,2.678,1.492,
+1.799,0.143,1.238,1.412,1.267,1.012,1.105,1.560,2.288,1.074,
+0.959,1.271,1.526,0.974,1.042,0.971,1.795,0.212,1.206,1.391,
+1.194,1.043,1.030,1.641,0.173,0.117,0.092,0.128,0.141,0.114,
+0.109,0.102,0.164,0.028,0.150,0.163,0.142,0.195,0.151,0.194,
+1.586,1.142,1.122,2.143,0.132,0.101,0.110,0.192,1.568,0.162,
+1.058,1.170,0.943,1.142,1.141,1.058,1.171,0.670,0.696,1.210,
+1.434,1.139,1.314,1.526,1.533,0.138,1.266,1.500,1.032,0.955,
+1.181,1.683,3.228,1.476,1.148,2.120,1.287,0.822,1.051,1.017,
+1.699,0.184,1.123,1.486,2.077,1.447,1.637,2.742,2.038,1.262,
+1.062,1.325,1.483,0.925,0.973,0.964,1.533,0.124,1.395,1.575,
+1.366,1.371,1.696,1.857,1.556,1.226,1.071,1.442,0.137,0.106,
+0.112,0.141,1.714,0.121,1.181,1.501,1.272,1.507,1.818,1.604,
+1.907,1.028,0.966,1.926,1.176,0.889,1.036,1.362,1.939,0.127,
+1.442,2.011,1.958,1.585,1.827,2.651,3.006,1.834,1.354,2.022,
+1.892,1.369,1.276,1.242,1.603,0.164,1.002,1.163,1.382,1.284,
+0.901,1.467,2.069,1.370,0.884,1.103,1.401,1.004,1.019,0.933,
+1.308,0.143,0.970,1.152,0.754,0.989,0.793,1.307,1.347,1.436,
+0.937,0.995,0.142,0.227,0.123,0.140,1.286,0.147,0.909,0.935,
+0.749,1.246,0.831,1.032,1.293,0.848,0.693,1.105,1.285,1.631,
+0.812,1.042,1.923,0.428,0.771,1.039,0.996,1.138,0.939,1.534,
+2.144,1.693,0.944,1.343,1.681,1.582,1.061,0.936,1.396,0.171,
+0.765,0.987,0.808,1.037,0.586,0.881,1.523,1.186,0.686,0.722,
+1.049,0.650,0.742,0.595,1.249,0.155,0.838,1.133,0.542,0.789,
+0.603,0.701,1.295,2.356,0.857,0.915,0.182,0.606,0.130,0.125,
+1.670,0.272,1.141,1.338,0.728,1.815,1.025,1.120,0.903,0.766,
+0.481,0.650,1.154,1.784,0.725,0.749,2.085,0.179,0.739,0.960,
+0.809,0.908,0.670,1.077,1.451,0.976,0.628,0.896,1.415,1.127,
+1.087,0.913,1.286,0.195,0.779,1.137,0.706,0.956,0.711,1.053,
+0.113,0.129,0.071,0.129,0.124,0.164,0.116,0.091,0.136,0.047,
+0.130,0.148,0.074,0.204,0.097,0.115,1.048,1.324,0.949,1.010,
+0.130,0.171,0.122,0.116,1.472,0.277,1.071,1.235,0.607,1.375,
+1.121,1.042,0.780,0.565,0.537,0.611,1.106,1.568,0.939,1.063,
+1.169,0.134,0.954,1.194,0.564,0.732,0.886,1.001,1.281,0.782,
+0.726,0.924,0.925,0.686,1.948,0.738,0.817,0.090,0.581,0.775,
+0.822,0.684,0.664,1.108,1.245,0.986,0.771,1.052,1.028,0.933,
+0.860,0.754,0.919,0.120,0.824,1.164,0.659,1.063,0.868,1.179,
+0.948,1.048,0.960,0.982,0.088,0.113,0.099,0.101,1.126,0.120,
+1.109,1.249,0.732,1.088,1.096,1.277,0.965,0.625,0.624,0.911,
+0.816,0.858,0.716,0.878,1.378,0.106,0.914,1.366,1.071,1.024,
+1.165,1.719,1.901,1.219,1.047,1.409,0.948,0.758,0.680,0.706,
+1.279,0.146,0.725,0.869,1.012,1.030,0.651,1.073,1.503,1.086,
+0.741,0.889,1.025,0.814,0.748,0.735,1.361,0.168,0.947,1.000,
+0.753,1.305,0.655,0.889,1.143,1.287,1.090,1.096,0.145,0.268,
+0.184,0.185,1.291,0.157,0.815,1.056,0.731,1.348,0.764,1.668,
+0.999,0.828,0.598,0.998,1.102,2.077,0.803,0.962,1.291,0.153,
+0.826,1.336,0.992,0.917,0.979,2.086,0.154,0.127,0.078,0.107,
+0.132,0.119,0.087,0.082,0.125,0.023,0.076,0.092,0.075,0.111,
+0.066,0.093,0.132,0.100,0.062,0.072,0.122,0.113,0.094,0.077,
+0.122,0.024,0.107,0.106,0.063,0.117,0.065,0.074,0.105,0.167,
+0.104,0.088,0.020,0.048,0.054,0.024,0.150,0.042,0.141,0.144,
+0.078,0.184,0.100,0.135,0.122,0.112,0.073,0.120,0.203,0.386,
+0.207,0.176,0.165,0.021,0.127,0.165,0.113,0.126,0.120,0.206,
+1.245,0.762,0.817,0.721,0.881,0.775,0.728,0.620,1.114,0.178,
+0.826,0.832,0.593,0.764,0.634,0.706,0.097,0.095,0.063,0.062,
+0.075,0.094,0.077,0.053,0.120,0.029,0.123,0.093,0.072,0.128,
+0.079,0.078,1.003,1.127,0.812,0.768,0.109,0.158,0.129,0.111,
+1.580,0.251,1.072,1.209,0.625,1.213,0.882,0.829,0.887,0.588,
+0.438,0.495,0.889,1.494,0.779,0.754,1.322,0.178,1.081,1.257,
+0.570,0.812,0.790,0.924,0.951,0.480,0.419,0.781,0.631,0.397,
+0.353,0.385,0.707,0.082,0.462,0.817,0.774,0.606,0.418,0.815,
+1.011,0.778,0.533,0.781,0.811,0.722,0.591,0.549,0.972,0.100,
+0.780,0.913,0.790,0.929,0.631,0.819,0.987,1.013,0.710,0.885,
+0.103,0.125,0.082,0.089,1.366,0.147,1.056,1.513,0.935,1.325,
+0.953,1.193,0.874,0.527,0.565,0.692,0.811,0.869,0.585,0.685,
+1.238,0.115,0.967,1.351,1.044,1.070,1.000,1.692,2.427,1.064,
+0.994,1.959,0.882,0.521,0.611,0.704,1.196,0.112,0.546,0.850,
+1.258,0.969,0.661,1.397,1.110,0.532,0.393,0.617,0.710,0.354,
+0.355,0.512,0.749,0.064,0.452,0.610,0.519,0.523,0.392,0.680,
+0.899,0.719,0.515,0.876,0.086,0.090,0.058,0.102,0.818,0.065,
+0.434,0.663,0.593,0.683,0.442,0.875,1.160,0.598,0.586,1.303,
+0.925,0.852,0.551,0.907,1.103,0.153,0.868,1.095,1.154,0.872,
+1.005,2.228,1.497,0.840,0.608,1.001,1.139,0.704,0.542,0.669,
+1.062,0.101,0.536,0.901,0.754,0.719,0.497,0.802,1.284,0.635,
+0.404,0.583,0.846,0.524,0.456,0.510,0.824,0.091,0.584,0.771,
+0.500,0.578,0.388,0.555,0.910,0.777,0.557,0.707,0.080,0.085,
+0.072,0.078,0.961,0.094,0.627,0.977,0.603,0.852,0.555,0.831,
+0.901,0.519,0.483,0.861,0.975,0.880,0.638,0.892,1.075,0.082,
+0.781,1.060,0.829,0.780,0.703,1.348,1.214,0.634,0.551,0.873,
+1.084,0.608,0.823,0.716,0.967,0.120,0.736,0.830,0.648,0.690,
+0.570,0.873,0.071,0.060,0.050,0.072,0.067,0.064,0.074,0.052,
+0.083,0.016,0.077,0.087,0.058,0.086,0.055,0.079,0.799,0.769,
+0.579,0.917,0.069,0.067,0.059,0.085,1.017,0.107,0.717,0.882,
+0.645,0.832,0.636,0.785,0.686,0.476,0.450,0.691,0.870,0.700,
+0.622,0.910,1.036,0.103,0.768,1.236,0.703,0.683,0.709,1.128,
+2.048,0.695,0.594,1.152,0.800,0.474,0.478,0.535,0.941,0.082,
+0.546,0.802,1.135,0.784,0.697,1.528,0.647,0.399,0.323,0.533,
+0.453,0.270,0.334,0.396,0.609,0.044,0.490,0.716,0.590,0.577,
+0.507,0.855,1.080,0.898,0.691,1.103,0.084,0.068,0.051,0.095,
+1.234,0.143,0.815,1.280,1.025,1.196,0.991,1.381,1.511,0.763,
+0.918,1.665,1.001,0.889,0.746,1.152,1.515,0.093,1.127,1.915,
+1.997,1.367,1.588,2.790,3.377,2.257,1.875,2.571,2.385,1.754,
+1.551,1.607,2.239,0.257,1.349,1.676,2.739,2.168,1.441,2.084,
+2.113,1.816,1.192,1.258,1.845,1.225,1.237,1.105,1.822,0.185,
+1.553,1.623,1.095,1.390,1.168,1.589,1.335,1.342,1.151,1.239,
+0.134,0.159,0.148,0.196,1.282,0.177,1.003,1.214,0.920,1.668,
+1.160,1.789,1.559,1.090,0.800,1.623,1.424,1.336,1.037,1.461,
+1.293,0.138,1.128,1.669,1.272,1.106,1.381,2.230,2.880,2.176,
+1.175,1.451,2.305,2.135,1.413,1.182,1.665,0.238,1.110,1.323,
+1.136,1.496,0.814,1.373,2.067,1.660,0.989,0.967,1.561,1.186,
+1.107,0.938,1.686,0.269,1.524,1.880,0.840,1.242,0.951,1.049,
+1.459,1.893,1.040,0.987,0.182,0.239,0.185,0.142,1.670,0.303,
+1.668,1.762,0.816,1.951,1.394,1.272,0.938,1.018,0.502,0.710,
+1.297,1.346,0.988,0.979,1.251,0.145,1.149,1.257,0.847,0.993,
+1.108,1.544,1.364,0.976,0.678,0.845,1.491,1.146,0.977,0.908,
+1.803,0.272,1.108,1.449,0.859,1.121,0.820,1.385,0.111,0.143,
+0.089,0.099,0.164,0.241,0.149,0.135,0.180,0.072,0.192,0.204,
+0.100,0.281,0.134,0.162,0.921,1.202,0.882,0.790,0.112,0.144,
+0.112,0.116,1.209,0.210,1.162,1.338,0.667,1.200,1.043,0.944,
+0.686,0.608,0.450,0.582,1.069,1.697,0.973,1.048,1.211,0.158,
+1.157,1.249,0.681,0.907,1.086,1.259,1.528,0.782,0.654,1.330,
+0.808,0.541,0.573,0.700,0.974,0.125,0.678,1.063,0.976,0.835,
+0.740,1.493,1.311,1.103,0.816,1.075,1.229,1.035,1.019,0.945,
+1.087,0.154,1.084,1.263,0.786,1.331,0.945,1.217,0.803,0.764,
+0.755,0.884,0.090,0.081,0.116,0.113,0.927,0.110,0.897,1.053,
+0.638,1.057,1.099,1.214,0.952,0.568,0.501,0.947,0.707,0.693,
+0.649,0.822,1.330,0.112,1.048,1.371,1.151,1.219,1.396,2.090,
+2.713,2.188,1.571,1.954,2.472,2.149,2.037,1.674,1.573,0.228,
+1.129,1.421,1.319,1.654,1.137,1.933,2.036,2.063,1.370,1.415,
+1.943,1.790,2.270,1.841,1.637,0.292,1.649,1.915,0.763,1.436,
+1.149,2.996,1.136,1.682,1.192,1.085,0.168,0.276,0.230,0.197,
+1.307,0.197,1.303,1.259,0.727,1.409,1.178,1.422,1.017,0.726,
+0.603,0.910,1.259,1.889,1.066,1.070,1.033,0.138,0.988,1.055,
+0.855,0.858,1.142,1.659,1.977,2.245,1.050,1.156,1.912,2.303,
+1.439,1.094,1.501,0.266,1.249,1.326,0.832,1.536,0.783,1.064,
+1.336,1.442,0.892,0.795,0.835,0.327,0.836,0.615,1.274,0.263,
+1.271,1.657,0.504,1.142,0.830,0.971,1.265,2.233,1.170,1.038,
+0.217,0.378,0.260,0.192,1.787,0.406,1.702,2.098,0.755,2.491,
+1.669,1.442,0.719,0.746,0.465,0.577,1.202,1.781,0.890,0.888,
+1.260,0.168,1.141,1.285,0.638,0.946,0.999,1.253,1.531,1.386,
+0.899,0.984,2.326,2.565,1.855,1.492,2.251,0.555,1.344,2.198,
+0.968,2.552,1.094,1.674,0.127,0.279,0.149,0.137,0.237,0.496,
+0.313,0.196,0.358,0.250,0.326,0.309,0.140,0.987,0.199,0.196,
+1.251,2.292,1.456,1.147,0.266,0.596,0.312,0.221,2.110,0.490,
+1.974,2.107,0.827,2.665,1.907,1.499,1.037,1.427,0.689,0.719,
+2.332,7.160,2.294,1.919,2.101,0.332,1.778,1.960,0.865,1.554,
+1.439,1.598,1.074,0.878,0.661,0.976,0.999,0.829,0.790,0.715,
+0.921,0.134,0.714,1.107,0.702,0.932,0.594,1.131,1.131,1.511,
+1.025,1.427,1.336,1.651,1.220,1.050,1.351,0.351,1.242,1.459,
+0.696,2.230,0.989,1.186,0.752,1.167,1.035,0.945,0.108,0.173,
+0.124,0.120,0.976,0.150,1.288,1.276,0.587,1.321,1.257,1.173,
+0.729,0.602,0.481,0.702,0.820,1.415,0.740,0.813,1.780,0.135,
+1.064,1.319,0.856,1.119,1.247,1.646,1.610,1.468,1.025,1.251,
+1.228,1.256,0.917,0.975,1.292,0.201,0.857,1.066,0.989,1.357,
+1.220,1.491,1.569,1.754,0.969,1.109,1.627,1.703,1.398,1.207,
+2.167,0.365,1.900,1.772,0.768,1.681,0.940,1.245,1.088,1.964,
+1.261,1.245,0.184,0.330,0.289,0.301,1.835,0.330,1.422,1.787,
+0.802,1.758,1.182,3.327,0.761,0.685,0.494,0.877,1.073,1.661,
+0.945,1.072,1.533,0.192,1.288,1.831,0.982,0.924,1.106,2.209,
+0.138,0.174,0.087,0.124,0.257,0.317,0.186,0.159,0.159,0.047,
+0.144,0.175,0.088,0.184,0.138,0.167,0.143,0.215,0.102,0.111,
+0.239,0.325,0.231,0.177,0.214,0.107,0.289,0.274,0.075,0.218,
+0.124,0.121,0.118,0.299,0.162,0.129,0.050,0.132,0.114,0.055,
+0.292,0.161,0.380,0.350,0.096,0.368,0.213,0.268,0.091,0.122,
+0.064,0.099,0.275,0.563,0.241,0.227,0.213,0.052,0.265,0.283,
+0.106,0.163,0.168,0.245,1.592,1.618,1.035,1.131,1.700,2.376,
+1.777,1.270,2.030,0.476,1.665,1.740,0.881,1.772,1.127,1.224,
+0.171,0.313,0.159,0.138,0.220,0.503,0.313,0.183,0.279,0.136,
+0.428,0.310,0.110,0.336,0.184,0.143,1.311,2.834,1.498,1.292,
+0.263,0.675,0.322,0.242,2.745,0.693,1.824,2.412,1.006,2.840,
+1.671,1.546,1.112,1.714,0.753,0.953,2.599,8.402,1.982,1.880,
+2.558,0.606,2.878,2.636,0.963,1.895,1.612,1.627,0.970,0.796,
+0.667,2.203,0.704,0.623,0.493,0.697,0.992,0.195,0.893,3.335,
+0.642,0.855,0.569,1.302,1.282,1.604,0.949,1.075,1.455,1.954,
+1.309,1.162,1.767,0.303,1.793,2.136,0.872,2.017,1.144,1.264,
+1.031,1.827,1.134,1.076,0.128,0.283,0.182,0.158,2.171,0.371,
+1.936,2.383,1.069,2.572,1.597,1.651,0.708,0.658,0.495,0.726,
+0.923,1.657,0.893,0.867,1.679,0.207,1.833,2.129,1.076,1.621,
+1.425,1.793,1.413,0.852,0.680,1.153,0.887,0.589,0.489,0.851,
+0.956,0.101,0.467,0.809,0.865,0.949,0.645,1.105,0.925,0.719,
+0.435,0.619,0.697,0.587,0.450,0.602,0.848,0.082,0.528,0.978,
+0.515,0.659,0.496,0.780,0.655,0.640,0.450,0.632,0.068,0.064,
+0.049,0.098,0.917,0.090,0.489,0.767,0.563,0.655,0.502,0.936,
+0.726,0.445,0.377,0.766,0.723,0.594,0.397,0.720,0.815,0.073,
+0.539,0.952,0.805,0.600,0.700,1.642,1.713,1.250,0.759,1.154,
+1.441,1.337,0.947,1.059,1.193,0.167,0.914,1.232,0.872,1.205,
+0.806,1.257,1.356,1.151,0.638,0.905,1.367,1.213,0.886,1.016,
+1.145,0.183,1.065,1.403,0.682,1.109,0.764,1.116,0.896,1.204,
+0.773,0.823,0.100,0.168,0.135,0.126,1.251,0.193,1.220,1.583,
+0.719,1.489,1.049,1.361,0.770,0.637,0.476,0.837,1.231,1.474,
+0.885,1.360,1.086,0.119,1.103,1.576,0.880,1.098,1.073,1.739,
+0.913,0.773,0.555,0.699,1.050,0.917,0.787,0.816,1.246,0.198,
+0.913,1.143,0.744,0.906,0.786,1.158,0.074,0.092,0.057,0.074,
+0.093,0.142,0.103,0.095,0.098,0.032,0.120,0.129,0.067,0.149,
+0.093,0.108,0.751,1.051,0.721,0.809,0.099,0.129,0.089,0.124,
+1.229,0.236,1.082,1.324,0.677,1.388,1.042,1.073,0.674,0.679,
+0.570,0.875,1.098,1.754,0.855,1.311,1.607,0.247,1.343,1.833,
+0.783,1.079,1.148,1.499,1.274,0.677,0.537,1.007,0.797,0.651,
+0.451,0.580,0.879,0.099,0.617,1.087,0.776,0.655,0.681,1.290,
+0.833,0.748,0.482,0.745,0.711,0.671,0.583,0.689,0.756,0.076,
+0.695,1.022,0.659,0.804,0.757,1.098,0.974,0.980,0.751,0.991,
+0.119,0.083,0.063,0.103,1.355,0.137,1.142,1.542,0.948,1.455,
+1.297,1.468,1.040,0.724,0.768,1.374,1.036,1.144,0.849,1.211,
+1.705,0.127,1.561,2.188,1.716,1.527,2.025,2.474,2.847,1.591,
+1.540,2.043,1.837,1.209,1.215,1.152,1.607,0.179,0.992,1.283,
+1.731,1.370,0.952,1.493,1.266,0.894,0.701,0.836,1.178,0.769,
+0.825,0.725,1.058,0.121,0.891,0.839,0.659,0.778,0.601,0.776,
+1.073,1.006,0.941,0.960,0.124,0.111,0.146,0.152,1.008,0.119,
+0.841,1.058,0.602,0.855,0.698,0.892,1.352,0.698,0.594,1.035,
+1.509,1.005,0.913,1.047,1.050,0.089,0.716,0.921,1.053,0.610,
+0.871,1.594,2.615,1.647,1.198,1.632,1.999,1.761,1.644,1.303,
+1.698,0.241,1.138,1.391,1.219,1.451,0.850,1.220,1.696,1.342,
+0.957,0.961,1.589,1.124,1.361,1.059,1.946,0.347,1.403,1.533,
+0.866,1.461,0.769,0.900,1.473,1.947,1.578,1.277,0.201,0.261,
+0.398,0.225,2.065,0.317,1.772,2.079,0.998,1.954,1.407,1.262,
+1.104,0.853,0.615,0.839,1.760,1.695,1.522,1.385,1.364,0.146,
+1.070,1.310,0.943,0.926,1.027,1.622,1.696,0.837,0.790,1.086,
+1.715,1.308,1.618,1.217,2.960,0.354,1.364,1.370,1.201,1.200,
+1.034,1.320,0.144,0.144,0.108,0.132,0.216,0.237,0.236,0.187,
+0.285,0.065,0.256,0.222,0.165,0.357,0.172,0.202,1.046,1.238,
+1.136,0.932,0.152,0.210,0.181,0.185,2.896,0.898,1.428,1.425,
+0.847,2.793,1.089,0.978,0.715,0.529,0.525,0.659,1.366,1.478,
+1.374,1.498,1.492,0.254,1.204,1.303,0.800,1.049,1.031,1.452,
+1.572,0.714,0.668,1.115,0.885,0.619,0.741,0.761,1.232,0.139,
+0.732,0.910,1.283,1.031,0.771,1.523,1.265,0.918,0.844,1.014,
+1.380,0.997,1.337,1.060,1.423,0.151,1.048,1.191,1.082,1.363,
+0.902,1.278,1.026,1.095,1.070,1.090,0.118,0.124,0.144,0.166,
+1.529,0.220,1.307,1.854,0.921,1.659,1.297,1.499,1.174,0.673,
+0.669,1.149,0.906,0.886,0.966,1.153,1.497,0.136,1.310,1.848,
+1.572,1.393,1.887,3.653,0.239,0.175,0.154,0.161,0.244,0.233,
+0.196,0.175,0.178,0.030,0.147,0.127,0.133,0.157,0.114,0.143,
+0.237,0.192,0.130,0.153,0.262,0.262,0.273,0.199,0.191,0.038,
+0.197,0.170,0.092,0.146,0.130,0.162,0.136,0.198,0.179,0.131,
+0.032,0.046,0.070,0.037,0.204,0.046,0.182,0.170,0.079,0.188,
+0.134,0.138,0.127,0.087,0.075,0.113,0.216,0.242,0.225,0.188,
+0.199,0.031,0.132,0.153,0.120,0.121,0.140,0.193,0.253,0.241,
+0.145,0.181,0.300,0.354,0.310,0.180,0.223,0.055,0.191,0.174,
+0.123,0.208,0.106,0.133,0.244,0.266,0.168,0.138,0.314,0.236,
+0.325,0.210,0.270,0.077,0.263,0.263,0.098,0.208,0.138,0.139,
+0.188,0.352,0.353,0.175,0.051,0.113,0.202,0.061,0.374,0.127,
+0.360,0.334,0.104,0.360,0.270,0.200,0.124,0.117,0.089,0.107,
+0.271,0.374,0.372,0.230,0.218,0.034,0.184,0.209,0.104,0.135,
+0.152,0.210,0.183,0.141,0.089,0.106,0.273,0.324,0.300,0.196,
+0.289,0.086,0.215,0.183,0.107,0.212,0.139,0.146,0.028,0.043,
+0.026,0.025,0.064,0.108,0.104,0.055,0.074,0.055,0.102,0.060,
+0.019,0.089,0.040,0.031,0.186,0.374,0.264,0.186,0.055,0.144,
+0.112,0.061,1.456,0.972,0.469,0.392,0.204,1.414,0.295,0.211,
+0.115,0.111,0.098,0.105,0.281,0.546,0.373,0.313,0.311,0.102,
+0.279,0.248,0.106,0.231,0.201,0.204,0.205,0.198,0.143,0.165,
+0.182,0.152,0.195,0.146,0.179,0.026,0.136,0.147,0.169,0.169,
+0.143,0.233,0.339,0.327,0.306,0.272,0.498,0.458,0.539,0.392,
+0.383,0.081,0.380,0.375,0.244,0.431,0.335,0.392,0.148,0.247,
+0.211,0.181,0.029,0.068,0.057,0.048,0.361,0.103,0.342,0.346,
+0.158,0.387,0.307,0.274,0.185,0.164,0.129,0.170,0.210,0.369,
+0.267,0.266,0.289,0.038,0.271,0.315,0.226,0.254,0.306,0.438,
+1.899,1.085,0.966,1.218,1.136,0.982,1.143,0.902,1.611,0.167,
+0.877,0.895,0.759,0.766,0.623,0.816,1.322,1.123,0.786,0.854,
+1.317,1.128,1.545,1.067,1.833,0.232,1.522,1.274,0.591,0.910,
+0.705,0.734,1.283,1.612,4.695,1.526,0.327,0.362,3.171,0.540,
+3.260,0.368,2.008,1.653,0.895,1.627,1.403,1.183,0.838,0.637,
+1.037,0.893,1.435,1.387,5.569,1.696,1.672,0.191,1.386,1.442,
+0.922,0.848,1.218,1.498,0.159,0.157,0.103,0.109,0.187,0.249,
+0.289,0.158,0.161,0.042,0.148,0.129,0.072,0.119,0.086,0.093,
+0.141,0.150,0.101,0.078,0.197,0.193,0.268,0.168,0.179,0.069,
+0.269,0.202,0.059,0.122,0.083,0.073,0.175,0.353,2.223,0.274,
+0.077,0.139,3.192,0.175,0.382,0.162,0.556,0.368,0.108,0.291,
+0.365,0.170,0.124,0.109,0.237,0.123,0.284,0.387,2.868,0.380,
+0.221,0.045,0.253,0.251,0.101,0.131,0.169,0.187,1.538,1.029,
+0.859,0.683,1.540,1.662,1.591,1.219,1.735,0.340,2.499,1.464,
+0.600,0.971,1.202,0.915,0.146,0.221,0.148,0.092,0.201,0.293,
+0.314,0.141,0.264,0.112,0.722,0.304,0.086,0.207,0.184,0.115,
+1.540,2.076,2.245,1.327,0.288,0.373,0.547,0.296,3.187,0.657,
+1.473,1.531,0.878,1.706,1.603,1.322,0.803,0.667,0.669,0.570,
+1.240,1.778,1.626,1.201,1.800,0.282,2.166,1.620,0.686,0.945,
+1.263,1.156,0.842,0.587,0.473,0.636,0.731,0.575,0.436,0.516,
+0.796,0.124,0.837,0.888,0.551,0.687,0.490,0.708,1.038,1.162,
+0.772,0.721,1.443,1.552,1.360,0.953,1.510,0.260,2.128,1.636,
+0.827,1.286,0.979,0.967,1.190,2.632,1.454,1.118,0.205,0.592,
+0.416,0.220,2.526,0.391,3.061,2.765,1.070,2.005,1.707,1.674,
+0.771,0.733,0.583,0.697,0.939,1.512,1.089,0.920,1.464,0.174,
+1.809,1.891,0.881,1.125,1.264,1.552,1.552,0.733,0.633,1.059,
+0.726,0.486,0.499,0.654,0.757,0.084,0.463,0.657,0.675,0.623,
+0.556,0.873,0.887,0.582,0.507,0.633,0.616,0.477,0.568,0.502,
+0.616,0.055,0.516,0.558,0.347,0.406,0.359,0.460,0.667,0.667,
+1.047,0.711,0.080,0.088,0.250,0.122,0.865,0.095,0.627,0.689,
+0.537,0.781,0.579,0.687,0.710,0.431,0.546,0.704,0.692,0.619,
+0.930,0.768,0.704,0.063,0.532,0.724,0.826,0.543,0.673,1.152,
+1.836,1.353,1.027,1.389,1.415,1.251,1.278,1.055,1.257,0.155,
+0.962,1.137,0.853,1.082,0.822,1.098,1.325,1.173,0.837,0.899,
+1.345,1.324,1.270,1.135,1.107,0.143,1.202,1.292,0.608,0.876,
+0.732,0.794,1.347,1.854,5.730,1.657,0.159,0.239,2.456,0.312,
+1.733,0.243,1.911,1.889,0.939,1.807,1.659,1.427,1.055,0.826,
+1.289,1.089,1.438,1.732,4.338,1.718,1.305,0.136,1.258,1.475,
+1.018,1.018,1.051,1.465,1.090,0.707,0.638,0.727,1.113,1.037,
+1.104,0.964,1.160,0.185,1.228,1.352,0.643,0.805,0.875,1.119,
+0.093,0.125,0.075,0.093,0.131,0.217,0.182,0.125,0.121,0.038,
+0.204,0.170,0.077,0.136,0.098,0.116,0.998,1.536,1.203,1.073,
+0.121,0.167,0.162,0.161,1.905,0.343,1.508,1.611,0.973,1.662,
+1.300,1.197,0.759,0.678,0.676,0.743,1.194,1.327,1.369,1.427,
+1.360,0.166,1.470,1.639,0.852,0.976,1.255,1.335,1.408,0.649,
+0.680,1.021,0.763,0.593,0.581,0.599,1.050,0.155,0.732,1.112,
+1.076,0.726,0.594,1.230,0.969,0.881,0.580,0.855,0.950,0.878,
+0.864,0.860,0.898,0.090,0.882,1.049,0.756,0.776,0.738,0.963,
+1.012,1.346,1.158,1.194,0.113,0.176,0.132,0.144,1.706,0.218,
+1.715,2.104,1.238,1.669,1.586,1.610,1.217,0.781,0.887,1.332,
+1.110,1.404,1.033,1.234,1.525,0.126,1.447,2.083,1.591,1.238,
+1.587,2.441,3.263,1.357,1.353,2.390,1.395,0.805,0.782,0.989,
+1.445,0.132,0.687,1.048,2.035,1.325,0.879,1.507,1.193,0.604,
+0.500,0.737,0.757,0.432,0.452,0.482,0.842,0.063,0.597,0.574,
+0.596,0.521,0.400,0.643,1.148,0.712,0.600,0.865,0.087,0.059,
+0.057,0.109,0.700,0.060,0.484,0.642,0.562,0.665,0.521,0.796,
+1.402,0.629,0.600,1.159,0.975,0.685,0.573,0.915,1.004,0.085,
+0.882,0.905,1.147,0.743,0.978,1.856,1.479,0.772,0.559,0.975,
+0.887,0.576,0.481,0.589,0.846,0.082,0.429,0.692,0.741,0.655,
+0.409,0.789,0.930,0.558,0.402,0.563,0.565,0.329,0.380,0.402,
+0.789,0.075,0.588,0.626,0.479,0.500,0.375,0.618,0.931,0.849,
+0.697,0.770,0.075,0.074,0.071,0.078,0.804,0.076,0.522,0.699,
+0.550,0.722,0.599,0.744,0.749,0.475,0.374,0.593,0.674,0.599,
+0.453,0.608,0.713,0.051,0.485,0.672,0.629,0.481,0.562,1.185,
+1.137,0.506,0.500,0.919,0.764,0.483,0.510,0.655,1.072,0.103,
+0.450,0.625,0.875,0.650,0.580,1.010,0.096,0.056,0.055,0.103,
+0.076,0.059,0.063,0.079,0.095,0.012,0.063,0.082,0.107,0.116,
+0.070,0.131,0.586,0.529,0.555,0.674,0.056,0.058,0.056,0.084,
+0.915,0.163,0.500,0.647,0.506,0.886,0.552,0.678,0.543,0.322,
+0.404,0.602,0.656,0.588,0.633,0.974,0.704,0.074,0.545,0.739,
+0.597,0.548,0.670,1.092,1.657,0.677,0.641,1.248,0.683,0.421,
+0.491,0.620,1.148,0.094,0.567,0.803,1.673,1.015,0.784,1.638,
+1.298,0.608,0.729,1.113,0.817,0.504,0.612,0.719,1.056,0.075,
+0.660,0.850,1.001,0.867,0.671,1.171,1.083,1.026,0.971,1.072,
+0.080,0.072,0.081,0.094,0.936,0.088,0.663,0.971,0.819,0.943,
+0.770,1.167,1.245,0.663,0.653,1.259,0.836,0.843,0.717,1.033,
+1.233,0.085,0.900,1.450,1.712,1.301,1.563,3.013,2.315,1.348,
+1.109,1.687,1.509,1.102,0.965,1.031,1.330,0.140,0.698,0.992,
+1.219,1.092,0.781,1.259,1.621,1.017,0.745,1.075,1.254,1.095,
+0.918,0.878,1.163,0.128,1.046,0.971,0.696,0.812,0.704,1.024,
+0.984,1.033,0.883,1.000,0.106,0.127,0.113,0.130,0.965,0.136,
+0.833,0.984,0.658,1.052,0.772,1.038,0.945,0.574,0.531,0.877,
+1.020,1.015,0.735,1.013,1.171,0.169,0.812,0.971,0.943,1.060,
+1.095,1.472,1.826,1.178,0.742,1.314,1.371,1.146,0.885,0.840,
+0.996,0.132,0.687,0.835,0.818,0.937,0.561,0.940,1.324,1.052,
+0.691,0.810,1.131,0.788,0.822,0.780,1.063,0.143,0.892,1.034,
+0.550,0.818,0.631,0.819,1.150,1.307,0.981,0.965,0.146,0.202,
+0.181,0.140,1.328,0.214,1.032,1.286,0.738,1.509,1.056,1.208,
+0.847,0.610,0.460,0.751,1.053,1.342,0.810,1.113,0.917,0.089,
+0.656,0.930,0.671,0.667,0.719,1.240,1.264,0.788,0.554,0.823,
+1.177,0.989,0.923,0.923,1.164,0.186,0.680,0.825,0.756,0.981,
+0.671,1.068,0.085,0.109,0.067,0.095,0.120,0.142,0.124,0.112,
+0.123,0.040,0.124,0.121,0.088,0.198,0.099,0.121,0.959,1.287,
+0.924,0.985,0.116,0.204,0.123,0.142,3.123,1.162,1.082,1.342,
+0.954,3.371,1.044,1.163,0.804,0.591,0.509,0.813,1.113,1.646,
+1.173,1.761,1.329,0.193,0.951,1.254,0.766,0.975,1.057,1.378,
+1.394,1.085,0.890,1.095,0.816,0.595,0.668,0.724,0.852,0.090,
+0.624,0.758,0.984,0.776,0.703,1.387,1.600,1.320,1.229,1.350,
+1.335,1.050,1.263,1.155,1.187,0.141,1.172,1.286,1.049,1.323,
+1.160,1.574,0.850,0.976,0.913,1.062,0.092,0.152,0.106,0.136,
+1.157,0.173,1.142,1.329,0.872,1.383,1.230,1.568,1.072,0.866,
+0.716,1.082,1.098,2.035,1.519,1.615,1.407,0.130,1.078,1.463,
+1.433,1.213,1.423,2.243,1.819,1.018,0.734,1.144,0.940,0.761,
+0.620,0.726,1.392,0.139,0.704,0.889,1.021,1.004,0.671,0.926,
+1.340,1.240,0.731,1.142,1.005,0.856,0.746,0.791,1.454,0.167,
+0.995,1.123,0.764,1.130,0.733,0.931,1.157,1.471,1.265,1.284,
+0.161,0.203,0.310,0.221,1.896,0.202,1.328,1.591,0.883,1.393,
+1.023,1.331,1.004,0.672,0.546,1.000,1.004,1.011,1.013,0.957,
+1.615,0.155,1.125,1.606,1.120,0.880,1.246,1.904,0.128,0.105,
+0.058,0.100,0.124,0.146,0.087,0.095,0.117,0.024,0.089,0.096,
+0.086,0.146,0.083,0.104,0.103,0.111,0.062,0.083,0.113,0.136,
+0.098,0.089,0.121,0.029,0.129,0.120,0.069,0.124,0.081,0.083,
+0.119,0.181,0.212,0.122,0.021,0.051,0.136,0.027,0.205,0.048,
+0.198,0.202,0.115,0.217,0.155,0.147,0.134,0.104,0.076,0.138,
+0.153,0.240,0.252,0.190,0.172,0.025,0.152,0.231,0.120,0.116,
+0.133,0.204,1.165,0.823,0.636,0.720,1.042,1.147,0.964,0.883,
+1.272,0.252,1.292,1.049,0.784,1.318,2.113,1.335,0.100,0.120,
+0.065,0.080,0.108,0.151,0.110,0.080,0.143,0.041,0.191,0.132,
+0.104,0.205,0.189,0.124,1.052,1.533,1.153,1.152,0.132,0.229,
+0.185,0.164,2.040,0.303,1.324,1.475,0.902,1.681,1.375,1.369,
+0.904,0.764,0.606,0.708,1.215,1.911,1.182,1.161,1.555,0.199,
+1.817,1.577,0.841,1.160,1.514,1.542,1.172,0.590,0.493,0.850,
+0.707,0.628,0.437,0.628,0.874,0.104,0.746,0.899,0.922,0.878,
+0.859,1.124,1.305,1.121,0.851,1.033,1.203,1.210,0.898,0.973,
+1.537,0.157,1.362,1.456,1.423,1.534,1.211,1.370,2.943,1.899,
+1.333,1.387,0.211,0.351,0.153,0.147,2.220,0.223,1.830,2.077,
+2.879,2.084,1.876,2.089,1.306,0.797,0.754,0.995,1.321,1.810,
+1.118,1.089,1.733,0.152,1.727,1.951,1.645,1.509,1.647,2.173,
+2.828,0.957,1.027,1.561,0.979,0.555,0.575,0.913,1.079,0.102,
+0.681,1.001,1.166,0.878,0.763,1.435,1.167,0.667,0.484,0.722,
+0.743,0.479,0.456,0.557,0.888,0.075,0.526,0.721,0.570,0.567,
+0.490,0.770,0.902,0.799,0.652,1.031,0.085,0.082,0.071,0.120,
+0.882,0.084,0.592,0.838,0.721,1.008,0.607,1.083,1.332,0.691,
+0.659,1.420,0.895,0.695,0.604,1.094,1.149,0.093,0.899,1.309,
+1.528,0.966,1.193,2.534,1.345,0.748,0.575,1.042,0.851,0.659,
+0.482,0.688,0.797,0.087,0.519,0.800,0.746,0.838,0.669,1.097,
+0.880,0.587,0.374,0.642,0.627,0.402,0.396,0.559,0.723,0.076,
+0.736,0.871,0.524,0.683,0.731,0.808,0.890,0.924,1.355,1.091,
+0.063,0.091,0.163,0.111,1.013,0.107,0.846,1.135,0.780,1.222,
+0.910,1.442,1.115,0.699,0.687,1.430,0.998,1.029,0.806,1.367,
+1.002,0.083,0.801,1.323,0.958,0.905,0.961,1.824,1.421,0.832,
+0.868,1.092,1.133,0.964,0.908,1.200,1.422,0.188,0.997,1.281,
+1.112,1.431,1.546,2.248,0.108,0.137,0.096,0.194,0.097,0.111,
+0.083,0.111,0.107,0.019,0.108,0.117,0.108,0.162,0.136,0.184,
+1.194,1.276,1.088,1.690,0.100,0.108,0.094,0.172,1.638,0.193,
+1.225,1.522,1.053,1.569,1.380,1.772,1.378,0.920,1.014,1.266,
+1.552,1.335,1.263,1.908,1.660,0.157,1.971,2.087,1.241,1.253,
+1.705,2.373,2.751,0.986,1.003,1.796,1.089,0.741,0.667,0.956,
+1.835,0.139,0.906,1.556,2.174,1.390,1.398,3.542,1.609,1.058,
+0.973,1.344,1.316,1.043,0.870,1.116,1.523,0.105,1.064,1.583,
+1.605,1.345,1.379,2.358,1.883,1.624,1.561,2.071,0.127,0.123,
+0.095,0.158,2.136,0.169,1.900,2.652,2.117,2.194,2.295,3.125,
+3.346,1.501,2.456,3.436,1.987,1.574,1.594,2.303,2.738,0.154,
+2.382,3.655,3.696,2.082,2.836,4.266,0.243,0.162,0.123,0.170,
+0.189,0.137,0.128,0.122,0.188,0.031,0.119,0.136,0.187,0.179,
+0.108,0.134,0.213,0.160,0.112,0.112,0.167,0.113,0.120,0.103,
+0.181,0.031,0.142,0.133,0.107,0.175,0.106,0.112,0.143,0.145,
+0.125,0.118,0.018,0.024,0.026,0.024,0.160,0.025,0.124,0.127,
+0.094,0.138,0.118,0.121,0.168,0.097,0.091,0.144,0.150,0.122,
+0.141,0.158,0.166,0.042,0.126,0.144,0.113,0.115,0.124,0.148,
+0.210,0.170,0.113,0.131,0.177,0.165,0.141,0.115,0.158,0.033,
+0.119,0.119,0.090,0.126,0.080,0.097,0.194,0.177,0.107,0.100,
+0.143,0.133,0.135,0.092,0.173,0.049,0.182,0.175,0.074,0.128,
+0.110,0.091,0.138,0.267,0.117,0.104,0.027,0.078,0.045,0.025,
+0.192,0.061,0.206,0.183,0.077,0.200,0.148,0.118,0.095,0.115,
+0.068,0.093,0.141,0.203,0.214,0.144,0.159,0.030,0.150,0.152,
+0.094,0.113,0.120,0.146,0.117,0.073,0.064,0.078,0.113,0.089,
+0.099,0.077,0.131,0.028,0.096,0.114,0.068,0.085,0.085,0.091,
+0.015,0.018,0.011,0.011,0.020,0.021,0.020,0.013,0.023,0.016,
+0.027,0.023,9.78e-3,0.029,0.020,0.017,0.083,0.084,0.071,0.072,
+0.013,0.019,0.022,0.014,0.117,0.043,0.122,0.102,0.061,0.100,
+0.096,0.068,0.068,0.048,0.042,0.054,0.082,0.087,0.091,0.102,
+0.114,0.022,0.150,0.115,0.064,0.083,0.092,0.103,0.162,0.078,
+0.073,0.119,0.096,0.076,0.165,0.081,0.099,0.013,0.068,0.091,
+0.099,0.081,0.097,0.146,0.143,0.109,0.087,0.087,0.129,0.095,
+0.094,0.081,0.120,0.020,0.121,0.127,0.079,0.119,0.107,0.130,
+0.094,0.096,0.084,0.094,0.015,0.016,0.017,0.013,0.153,0.025,
+0.126,0.125,0.086,0.126,0.130,0.106,0.107,0.067,0.064,0.100,
+0.077,0.070,0.078,0.099,0.141,0.016,0.130,0.191,0.118,0.115,
+0.136,0.182,0.227,0.217,0.162,0.173,0.210,0.235,0.242,0.156,
+0.176,0.044,0.132,0.136,0.108,0.160,0.104,0.125,0.210,0.270,
+0.142,0.155,0.226,0.224,0.261,0.168,0.224,0.083,0.246,0.203,
+0.074,0.168,0.114,0.119,0.133,0.299,0.146,0.116,0.033,0.126,
+0.054,0.029,0.230,0.073,0.205,0.155,0.094,0.296,0.159,0.126,
+0.122,0.154,0.071,0.088,0.179,0.393,0.138,0.133,0.536,0.406,
+0.169,0.169,0.140,0.436,0.130,0.159,0.244,0.310,0.144,0.157,
+0.265,0.471,0.284,0.167,0.213,0.076,0.176,0.169,0.087,0.174,
+0.088,0.099,0.223,0.318,0.166,0.122,0.244,0.228,0.273,0.146,
+0.267,0.116,0.277,0.278,0.076,0.228,0.168,0.109,0.230,1.011,
+0.212,0.161,0.102,0.576,0.109,0.056,0.352,0.202,0.373,0.353,
+0.125,0.642,0.309,0.220,0.107,0.187,0.075,0.077,0.258,0.832,
+0.188,0.147,0.290,0.082,0.170,0.176,0.089,0.216,0.143,0.145,
+0.134,0.133,0.086,0.081,0.187,0.218,0.292,0.145,0.176,0.061,
+0.153,0.166,0.063,0.177,0.101,0.099,0.023,0.064,0.026,0.017,
+0.048,0.100,0.080,0.028,0.062,0.081,0.101,0.060,0.013,0.104,
+0.037,0.020,0.118,0.274,0.166,0.115,0.056,0.112,0.102,0.036,
+0.278,0.166,0.299,0.245,0.069,0.305,0.266,0.144,0.103,0.083,
+0.088,0.059,0.157,0.277,0.227,0.168,0.209,0.056,0.225,0.201,
+0.063,0.126,0.145,0.128,0.106,0.082,0.130,0.082,0.115,0.125,
+1.025,0.150,0.088,0.016,0.117,0.085,0.063,0.083,0.096,0.083,
+0.135,0.194,0.130,0.103,0.153,0.200,0.207,0.113,0.149,0.067,
+0.187,0.171,0.072,0.251,0.130,0.118,0.094,0.183,0.142,0.107,
+0.017,0.049,0.045,0.022,0.173,0.054,0.245,0.211,0.082,0.202,
+0.236,0.166,0.100,0.083,0.070,0.077,0.102,0.142,0.111,0.104,
+0.256,0.036,0.170,0.197,0.108,0.155,0.172,0.183,0.115,0.104,
+0.073,0.084,0.079,0.084,0.081,0.063,0.093,0.016,0.067,0.067,
+0.059,0.081,0.047,0.067,0.127,0.146,0.101,0.082,0.125,0.121,
+0.162,0.092,0.159,0.047,0.169,0.150,0.056,0.135,0.076,0.076,
+0.081,0.141,0.131,0.098,0.018,0.042,0.035,0.028,0.147,0.042,
+0.147,0.147,0.056,0.142,0.094,0.112,0.065,0.056,0.046,0.064,
+0.089,0.149,0.086,0.086,0.125,0.032,0.101,0.112,0.070,0.090,
+0.094,0.142,0.014,0.021,0.011,0.013,0.021,0.039,0.029,0.017,
+0.023,0.014,0.023,0.021,7.85e-3,0.020,0.011,0.012,0.022,0.037,
+0.019,0.013,0.038,0.057,0.055,0.023,0.039,0.038,0.055,0.043,
+0.011,0.032,0.020,0.014,0.014,0.051,0.025,0.016,9.53e-3,0.043,
+0.029,0.011,0.046,0.045,0.071,0.047,0.011,0.053,0.038,0.024,
+0.012,0.016,0.011,0.018,0.034,0.068,0.038,0.030,0.036,0.014,
+0.037,0.034,0.013,0.020,0.020,0.026,0.088,0.083,0.079,0.069,
+0.093,0.121,0.121,0.069,0.141,0.040,0.146,0.092,0.044,0.090,
+0.069,0.063,0.015,0.031,0.022,9.53e-3,0.021,0.039,0.038,0.013,
+0.036,0.030,0.061,0.029,0.012,0.033,0.021,0.013,0.097,0.175,
+0.122,0.080,0.032,0.066,0.065,0.026,0.286,0.117,0.236,0.208,
+0.067,0.210,0.164,0.103,0.069,0.060,0.051,0.051,0.117,0.171,
+0.139,0.098,0.367,0.082,0.213,0.183,0.079,0.127,0.127,0.123,
+0.066,0.047,0.043,0.123,0.060,0.046,0.060,0.034,0.068,0.014,
+0.049,0.056,0.049,0.054,0.032,0.056,0.096,0.111,0.087,0.074,
+0.111,0.126,0.115,0.075,0.150,0.040,0.151,0.131,0.074,0.140,
+0.090,0.079,0.105,0.144,0.106,0.084,0.017,0.050,0.030,0.016,
+0.204,0.057,0.233,0.199,0.108,0.181,0.139,0.120,0.072,0.056,
+0.056,0.059,0.107,0.109,0.090,0.077,0.186,0.033,0.174,0.169,
+0.094,0.126,0.114,0.147,0.136,0.089,0.073,0.106,0.074,0.061,
+0.056,0.053,0.081,0.011,0.046,0.064,0.079,0.077,0.058,0.092,
+0.079,0.062,0.042,0.054,0.065,0.044,0.044,0.056,0.063,0.011,
+0.053,0.063,0.043,0.055,0.044,0.054,0.063,0.065,0.055,0.070,
+9.02e-3,0.013,8.36e-3,0.014,0.083,0.012,0.051,0.064,0.045,0.067,
+0.051,0.067,0.070,0.041,0.041,0.085,0.064,0.071,0.043,0.069,
+0.080,0.020,0.064,0.080,0.075,0.079,0.083,0.148,0.126,0.110,
+0.072,0.094,0.115,0.126,0.091,0.079,0.129,0.024,0.087,0.103,
+0.068,0.108,0.069,0.087,0.115,0.113,0.069,0.083,0.115,0.124,
+0.100,0.093,0.123,0.030,0.128,0.136,0.060,0.114,0.071,0.090,
+0.075,0.121,0.069,0.079,0.017,0.033,0.019,0.018,0.131,0.033,
+0.138,0.138,0.071,0.168,0.104,0.103,0.072,0.056,0.044,0.065,
+0.108,0.132,0.081,0.112,0.112,0.018,0.105,0.107,0.087,0.098,
+0.098,0.135,0.072,0.055,0.044,0.056,0.071,0.061,0.073,0.062,
+0.096,0.027,0.089,0.090,0.052,0.078,0.065,0.081,9.19e-3,9.94e-3,
+6.85e-3,0.010,0.010,0.017,0.015,9.28e-3,0.014,9.36e-3,0.027,0.017,
+7.02e-3,0.019,0.013,0.010,0.058,0.089,0.066,0.071,0.015,0.019,
+0.020,0.014,0.125,0.038,0.106,0.113,0.053,0.110,0.098,0.085,
+0.050,0.046,0.037,0.047,0.084,0.088,0.083,0.084,0.141,0.042,
+0.117,0.133,0.060,0.100,0.090,0.112,0.118,0.058,0.047,0.079,
+0.065,0.048,0.062,0.046,0.075,9.19e-3,0.053,0.061,0.078,0.065,
+0.058,0.118,0.066,0.052,0.036,0.056,0.063,0.050,0.071,0.080,
+0.068,9.94e-3,0.069,0.093,0.060,0.076,0.060,0.086,0.103,0.099,
+0.077,0.096,0.017,0.016,0.012,0.015,0.144,0.025,0.120,0.154,
+0.095,0.135,0.135,0.142,0.122,0.068,0.076,0.122,0.106,0.105,
+0.090,0.113,0.161,0.017,0.152,0.214,0.178,0.154,0.198,0.267,
+0.185,0.168,0.129,0.146,0.172,0.175,0.139,0.115,0.159,0.041,
+0.129,0.136,0.129,0.155,0.100,0.108,0.189,0.197,0.142,0.121,
+0.214,0.178,0.212,0.141,0.195,0.068,0.226,0.217,0.089,0.198,
+0.137,0.140,0.101,0.126,0.108,0.091,0.018,0.028,0.032,0.025,
+0.113,0.043,0.134,0.121,0.065,0.142,0.128,0.124,0.090,0.078,
+0.057,0.083,0.113,0.114,0.109,0.109,0.093,0.021,0.105,0.119,
+0.085,0.087,0.105,0.129,0.192,0.212,0.109,0.134,0.193,0.256,
+0.185,0.112,0.158,0.056,0.166,0.142,0.073,0.153,0.086,0.091,
+0.198,0.284,0.138,0.125,0.217,0.229,0.196,0.135,0.227,0.127,
+0.285,0.353,0.073,0.207,0.141,0.126,0.116,0.278,0.137,0.095,
+0.040,0.108,0.101,0.036,0.242,0.168,0.348,0.265,0.073,0.329,
+0.221,0.136,0.068,0.163,0.059,0.054,0.122,0.172,0.209,0.108,
+0.134,0.044,0.167,0.152,0.069,0.119,0.145,0.163,0.089,0.092,
+0.072,0.068,0.125,0.142,0.122,0.088,0.224,0.064,0.138,0.118,
+0.060,0.145,0.072,0.093,0.015,0.036,0.022,0.013,0.033,0.091,
+0.046,0.024,0.047,0.048,0.080,0.046,0.012,0.088,0.028,0.022,
+0.071,0.115,0.096,0.058,0.024,0.046,0.042,0.020,0.128,0.068,
+0.203,0.149,0.049,0.131,0.146,0.081,0.049,0.045,0.040,0.040,
+0.083,0.134,0.115,0.084,0.134,0.041,0.161,0.132,0.052,0.096,
+0.106,0.105,0.083,0.052,0.047,0.105,0.053,0.046,0.046,0.044,
+0.071,0.012,0.051,0.059,0.058,0.065,0.049,0.099,0.094,0.103,
+0.081,0.080,0.113,0.132,0.113,0.094,0.113,0.041,0.124,0.132,
+0.063,0.175,0.084,0.097,0.058,0.075,0.083,0.080,9.86e-3,0.019,
+0.024,0.014,0.093,0.036,0.135,0.110,0.046,0.115,0.119,0.090,
+0.062,0.047,0.044,0.060,0.058,0.063,0.060,0.060,0.176,0.025,
+0.119,0.118,0.080,0.101,0.107,0.128,0.203,0.243,0.168,0.163,
+0.262,0.358,0.355,0.221,0.181,0.058,0.170,0.160,0.094,0.183,
+0.109,0.129,0.245,0.340,0.259,0.184,0.375,0.471,0.814,0.448,
+0.275,0.158,0.386,0.318,0.080,0.256,0.166,0.217,0.122,0.256,
+0.194,0.116,0.038,0.086,0.101,0.045,0.182,0.087,0.299,0.202,
+0.132,0.217,0.191,0.139,0.084,0.072,0.069,0.071,0.149,0.229,
+0.174,0.130,0.131,0.049,0.156,0.126,0.207,0.120,0.133,0.142,
+0.218,0.328,0.142,0.122,0.278,0.536,0.301,0.150,0.226,0.103,
+0.248,0.203,0.075,0.216,0.115,0.109,0.191,0.318,0.167,0.119,
+0.162,0.131,0.229,0.129,0.249,0.233,0.302,0.303,0.080,0.315,
+0.186,0.128,0.184,0.432,0.194,0.141,0.079,0.281,0.184,0.071,
+0.335,0.282,0.406,0.475,0.103,0.590,0.375,0.225,0.073,0.105,
+0.063,0.050,0.191,0.374,0.182,0.148,0.196,0.084,0.253,0.220,
+0.077,0.155,0.190,0.152,0.129,0.178,0.218,0.103,0.316,0.448,
+0.366,0.192,0.370,0.221,0.268,0.236,0.133,0.720,0.152,0.145,
+0.031,0.122,0.081,0.031,0.104,0.301,0.206,0.074,0.198,0.294,
+0.215,0.128,0.061,0.576,0.086,0.051,0.167,0.390,0.241,0.150,
+0.080,0.280,0.221,0.073,0.338,0.243,0.426,0.343,0.099,0.490,
+0.374,0.212,0.131,0.108,0.076,0.070,0.232,0.638,0.387,0.250,
+0.426,0.123,0.382,0.286,0.106,0.241,0.210,0.173,0.073,0.090,
+0.071,0.110,0.091,0.103,0.114,0.063,0.112,0.033,0.095,0.091,
+0.067,0.150,0.061,0.080,0.121,0.237,0.188,0.133,0.187,0.370,
+0.225,0.160,0.287,0.177,0.236,0.233,0.102,0.633,0.145,0.130,
+0.078,0.172,0.148,0.101,0.019,0.069,0.054,0.027,0.160,0.077,
+0.311,0.212,0.065,0.228,0.230,0.141,0.084,0.068,0.056,0.067,
+0.099,0.158,0.097,0.093,0.753,0.066,0.224,0.193,0.121,0.156,
+0.188,0.162,0.128,0.141,0.092,0.111,0.116,0.138,0.104,0.091,
+0.118,0.031,0.103,0.093,0.064,0.100,0.070,0.093,0.171,0.257,
+0.121,0.145,0.247,0.317,0.257,0.184,0.256,0.112,0.388,0.267,
+0.076,0.209,0.118,0.108,0.107,0.230,0.154,0.135,0.030,0.075,
+0.055,0.046,0.187,0.084,0.223,0.223,0.068,0.216,0.139,0.189,
+0.065,0.061,0.044,0.065,0.127,0.203,0.115,0.109,0.128,0.033,
+0.154,0.178,0.073,0.098,0.109,0.155,0.023,0.037,0.019,0.023,
+0.058,0.106,0.064,0.034,0.039,0.028,0.047,0.036,0.013,0.033,
+0.022,0.019,0.045,0.098,0.040,0.041,0.104,0.219,0.151,0.065,
+0.081,0.165,0.185,0.115,0.018,0.071,0.042,0.029,0.026,0.111,
+0.056,0.034,0.034,0.153,0.119,0.035,0.092,0.161,0.224,0.132,
+0.023,0.154,0.103,0.052,0.013,0.023,0.010,0.012,0.062,0.136,
+0.062,0.050,0.039,0.035,0.087,0.067,0.015,0.033,0.038,0.037,
+0.365,0.371,0.308,0.324,0.359,0.527,0.415,0.276,0.368,0.124,
+0.382,0.296,0.161,0.288,0.187,0.184,0.098,0.179,0.103,0.082,
+0.119,0.295,0.238,0.097,0.140,0.167,0.325,0.153,0.043,0.143,
+0.078,0.050,0.268,0.547,0.329,0.282,0.095,0.290,0.218,0.081,
+0.558,0.367,0.494,0.514,0.186,0.535,0.363,0.274,0.303,0.243,
+0.184,0.323,0.388,0.705,0.390,0.401,0.574,0.187,0.606,0.543,
+0.218,0.323,0.291,0.321,0.118,0.100,0.115,0.770,0.075,0.077,
+0.063,0.092,0.095,0.026,0.086,0.183,0.057,0.079,0.047,0.139,
+0.170,0.255,0.156,0.190,0.292,0.402,0.281,0.213,0.308,0.140,
+0.393,0.367,0.105,0.312,0.170,0.152,0.125,0.257,0.213,0.150,
+0.027,0.111,0.081,0.033,0.294,0.179,0.447,0.385,0.111,0.391,
+0.244,0.183,0.078,0.074,0.063,0.094,0.099,0.170,0.117,0.104,
+0.239,0.058,0.304,0.277,0.101,0.196,0.177,0.191,0.087,0.069,
+0.059,0.079,0.073,0.060,0.051,0.068,0.095,0.013,0.054,0.068,
+0.057,0.065,0.090,0.082,0.078,0.075,0.041,0.053,0.072,0.064,
+0.061,0.068,0.071,0.022,0.070,0.091,0.041,0.067,0.063,0.059,
+0.053,0.074,0.052,0.053,8.19e-3,0.012,8.61e-3,0.014,0.099,0.021,
+0.063,0.089,0.041,0.072,0.050,0.064,0.053,0.035,0.029,0.047,
+0.055,0.058,0.037,0.066,0.063,9.53e-3,0.053,0.079,0.058,0.051,
+0.063,0.113,0.116,0.113,0.067,0.087,0.138,0.181,0.133,0.124,
+0.130,0.034,0.125,0.120,0.064,0.117,0.088,0.093,0.129,0.159,
+0.079,0.114,0.195,0.222,0.172,0.155,0.148,0.062,0.194,0.213,
+0.061,0.160,0.098,0.098,0.072,0.179,0.097,0.089,0.022,0.064,
+0.053,0.034,0.159,0.071,0.218,0.219,0.067,0.225,0.138,0.122,
+0.053,0.058,0.039,0.056,0.142,0.214,0.120,0.186,0.103,0.025,
+0.149,0.161,0.063,0.102,0.102,0.131,0.065,0.068,0.053,0.051,
+0.097,0.109,0.108,0.089,0.116,0.037,0.119,0.113,0.054,0.095,
+0.079,0.082,0.010,0.018,0.012,0.013,0.020,0.043,0.032,0.022,
+0.022,0.024,0.042,0.028,8.02e-3,0.040,0.017,0.015,0.063,0.134,
+0.091,0.079,0.018,0.045,0.037,0.024,0.150,0.081,0.212,0.190,
+0.050,0.175,0.142,0.109,0.049,0.054,0.055,0.062,0.106,0.142,
+0.115,0.127,0.190,0.053,0.192,0.194,0.064,0.127,0.109,0.121,
+0.073,0.045,0.044,0.094,0.052,0.054,0.037,0.042,0.064,0.010,
+0.059,0.071,0.046,0.052,0.049,0.083,0.061,0.065,0.045,0.061,
+0.072,0.081,0.066,0.074,0.075,0.020,0.086,0.103,0.051,0.093,
+0.070,0.106,0.117,0.099,0.082,0.085,0.012,0.018,0.016,0.014,
+0.126,0.038,0.173,0.181,0.068,0.153,0.135,0.120,0.071,0.056,
+0.060,0.085,0.079,0.106,0.083,0.096,0.159,0.020,0.164,0.182,
+0.120,0.138,0.163,0.181,0.172,0.135,0.115,0.139,0.141,0.144,
+0.149,0.116,0.132,0.027,0.107,0.120,0.108,0.124,0.080,0.095,
+0.110,0.110,0.081,0.076,0.129,0.111,0.136,0.087,0.125,0.049,
+0.133,0.136,0.062,0.120,0.084,0.080,0.097,0.114,0.104,0.095,
+0.018,0.022,0.026,0.025,0.110,0.032,0.139,0.291,0.046,0.099,
+0.086,0.098,0.121,0.053,0.047,0.067,0.113,0.091,0.087,0.086,
+0.078,0.015,0.088,0.096,0.088,0.050,0.075,0.096,0.174,0.186,
+0.137,0.118,0.219,0.279,0.280,0.146,0.191,0.058,0.202,0.147,
+0.089,0.155,0.098,0.096,0.211,0.262,0.169,0.118,0.266,0.230,
+0.319,0.187,0.254,0.109,0.323,0.293,0.100,0.266,0.155,0.126,
+0.145,0.349,0.222,0.157,0.055,0.123,0.138,0.068,0.323,0.197,
+0.490,0.494,0.096,0.355,0.319,0.200,0.092,0.088,0.061,0.063,
+0.215,0.229,0.201,0.176,0.150,0.045,0.188,0.162,0.078,0.102,
+0.127,0.144,0.107,0.087,0.082,0.082,0.157,0.202,0.245,0.124,
+0.223,0.076,0.184,0.136,0.076,0.142,0.110,0.104,0.017,0.026,
+0.020,0.019,0.041,0.059,0.067,0.038,0.063,0.044,0.082,0.054,
+0.020,0.071,0.042,0.034,0.095,0.211,0.170,0.116,0.037,0.081,
+0.089,0.047,0.828,0.690,0.358,0.247,0.096,0.912,0.205,0.131,
+0.052,0.052,0.049,0.049,0.119,0.181,0.186,0.145,0.166,0.084,
+0.297,0.156,0.065,0.130,0.126,0.139,0.091,0.051,0.051,0.070,
+0.060,0.053,0.082,0.063,0.074,0.014,0.067,0.057,0.076,0.077,
+0.071,0.101,0.094,0.097,0.084,0.100,0.119,0.122,0.155,0.108,
+0.153,0.039,0.138,0.137,0.082,0.157,0.107,0.171,0.088,0.123,
+0.131,0.112,0.020,0.032,0.047,0.028,0.191,0.071,0.232,0.214,
+0.078,0.217,0.208,0.142,0.075,0.064,0.055,0.077,0.071,0.084,
+0.110,0.101,0.136,0.021,0.167,0.159,0.109,0.128,0.170,0.212,
+0.021,0.025,0.017,0.013,0.032,0.056,0.044,0.021,0.022,0.013,
+0.028,0.019,0.010,0.022,0.015,0.011,0.034,0.044,0.033,0.021,
+0.062,0.100,0.101,0.044,0.045,0.051,0.088,0.054,0.014,0.047,
+0.031,0.023,0.016,0.038,0.027,0.014,0.013,0.029,0.034,0.015,
+0.043,0.040,0.085,0.054,0.012,0.045,0.038,0.025,0.011,0.011,
+9.02e-3,0.012,0.029,0.048,0.042,0.024,0.026,0.016,0.034,0.032,
+0.017,0.023,0.020,0.018,0.034,0.056,0.032,0.019,0.071,0.128,
+0.134,0.046,0.048,0.039,0.075,0.040,0.015,0.035,0.031,0.022,
+0.070,0.133,0.078,0.035,0.140,0.149,0.240,0.082,0.091,0.145,
+0.187,0.124,0.024,0.087,0.070,0.042,0.033,0.124,0.066,0.035,
+0.049,0.214,0.171,0.045,0.129,0.217,0.253,0.155,0.023,0.168,
+0.145,0.095,0.018,0.025,0.016,0.014,0.060,0.122,0.091,0.052,
+0.040,0.034,0.078,0.044,0.014,0.032,0.044,0.033,0.019,0.027,
+0.016,0.011,0.055,0.114,0.124,0.043,0.061,0.052,0.083,0.043,
+0.011,0.053,0.031,0.019,0.012,0.040,0.024,0.010,0.051,0.138,
+0.147,0.042,0.076,0.120,0.200,0.087,9.19e-3,0.051,0.054,0.017,
+0.038,0.166,0.096,0.050,0.049,0.185,0.252,0.049,0.902,1.684,
+0.361,0.191,0.053,1.008,0.162,0.070,0.014,0.023,0.018,0.011,
+0.059,0.142,0.151,0.065,0.085,0.099,0.165,0.084,0.017,0.060,
+0.059,0.037,0.011,0.016,0.010,0.011,0.019,0.022,0.041,0.016,
+0.015,7.10e-3,0.022,0.015,0.010,0.013,0.014,0.014,0.031,0.049,
+0.038,0.032,0.067,0.103,0.100,0.053,0.062,0.048,0.083,0.065,
+0.020,0.081,0.053,0.041,0.017,0.051,0.040,0.023,9.28e-3,0.042,
+0.043,0.018,0.090,0.088,0.160,0.096,0.021,0.105,0.096,0.045,
+0.013,0.024,0.015,0.014,0.020,0.044,0.040,0.028,0.047,0.017,
+0.060,0.043,0.020,0.033,0.047,0.033,0.155,0.123,0.099,0.104,
+0.117,0.157,0.152,0.103,0.161,0.034,0.140,0.104,0.059,0.088,
+0.070,0.062,0.125,0.185,0.115,0.092,0.206,0.249,0.326,0.173,
+0.261,0.109,0.406,0.247,0.064,0.153,0.138,0.088,0.134,0.223,
+0.282,0.141,0.055,0.091,0.164,0.078,0.707,0.198,0.458,0.338,
+0.125,0.305,0.202,0.149,0.078,0.067,0.069,0.083,0.210,0.197,
+0.291,0.226,0.209,0.052,0.228,0.251,0.086,0.143,0.136,0.162,
+0.022,0.040,0.024,0.017,0.055,0.115,0.104,0.045,0.040,0.030,
+0.074,0.037,0.011,0.028,0.020,0.016,0.042,0.082,0.048,0.025,
+0.110,0.164,0.194,0.078,0.077,0.114,0.241,0.123,0.018,0.060,
+0.049,0.030,0.038,0.164,0.122,0.040,0.048,0.210,0.246,0.058,
+0.252,0.697,0.457,0.293,0.035,0.223,0.161,0.074,0.015,0.022,
+0.016,0.015,0.053,0.114,0.119,0.060,0.049,0.054,0.107,0.071,
+0.014,0.033,0.039,0.032,0.156,0.165,0.116,0.067,0.208,0.393,
+0.414,0.185,0.262,0.113,0.648,0.255,0.057,0.149,0.194,0.106,
+0.034,0.101,0.067,0.021,0.089,0.218,0.327,0.062,0.124,0.198,
+0.634,0.153,0.019,0.075,0.100,0.032,0.197,0.432,0.460,0.234,
+0.115,0.283,0.512,0.167,0.757,0.522,0.748,0.567,0.145,0.448,
+0.523,0.285,0.075,0.087,0.088,0.060,0.179,0.372,0.433,0.230,
+0.274,0.136,0.594,0.325,0.079,0.173,0.253,0.166,0.074,0.072,
+0.053,0.075,0.076,0.109,0.077,0.058,0.087,0.027,0.153,0.103,
+0.056,0.075,0.060,0.062,0.120,0.229,0.142,0.089,0.235,0.438,
+0.403,0.174,0.286,0.134,0.665,0.341,0.132,0.248,0.214,0.127,
+0.216,0.649,0.250,0.166,0.064,0.402,0.168,0.073,0.470,0.260,
+1.295,0.879,0.180,0.455,0.424,0.281,0.085,0.119,0.075,0.075,
+0.138,0.416,0.201,0.145,0.209,0.062,0.452,0.353,0.112,0.204,
+0.236,0.210,0.100,0.075,0.058,0.073,0.077,0.069,0.074,0.069,
+0.076,0.012,0.062,0.066,0.060,0.074,0.052,0.128,0.069,0.071,
+0.056,0.049,0.072,0.078,0.070,0.060,0.073,0.019,0.077,0.067,
+0.039,0.053,0.049,0.049,0.065,0.081,0.082,0.063,0.017,0.018,
+0.023,0.018,0.114,0.030,0.100,0.102,0.054,0.096,0.100,0.089,
+0.069,0.041,0.041,0.059,0.080,0.077,0.081,0.085,0.061,0.012,
+0.062,0.075,0.069,0.061,0.069,0.099,0.140,0.147,0.106,0.106,
+0.161,0.203,0.213,0.136,0.141,0.038,0.177,0.133,0.076,0.139,
+0.094,0.103,0.153,0.231,0.132,0.118,0.237,0.280,0.295,0.195,
+0.188,0.083,0.298,0.252,0.078,0.191,0.137,0.110,0.133,0.341,
+0.347,0.155,0.043,0.124,0.147,0.059,0.293,0.184,0.437,0.403,
+0.106,0.440,0.325,0.227,0.093,0.091,0.088,0.086,0.175,0.261,
+0.280,0.217,0.169,0.050,0.224,0.206,0.087,0.130,0.147,0.145,
+0.095,0.086,0.071,0.067,0.134,0.188,0.232,0.118,0.143,0.048,
+0.234,0.251,0.054,0.105,0.106,0.108,0.020,0.030,0.017,0.013,
+0.038,0.081,0.096,0.033,0.040,0.049,0.115,0.077,0.013,0.031,
+0.028,0.021,0.118,0.265,0.194,0.153,0.051,0.108,0.126,0.055,
+0.332,0.221,0.439,0.333,0.099,0.353,0.332,0.203,0.071,0.080,
+0.068,0.067,0.158,0.238,0.277,0.225,0.161,0.057,0.285,0.231,
+0.076,0.127,0.183,0.147,0.090,0.059,0.047,0.063,0.065,0.063,
+0.066,0.050,0.079,0.015,0.086,0.085,0.066,0.064,0.063,0.089,
+0.116,0.122,0.069,0.076,0.094,0.130,0.145,0.112,0.096,0.029,
+0.154,0.157,0.065,0.105,0.103,0.101,0.103,0.193,0.141,0.129,
+0.025,0.066,0.042,0.030,0.223,0.083,0.394,0.376,0.114,0.243,
+0.281,0.197,0.106,0.083,0.076,0.113,0.131,0.180,0.152,0.175,
+0.158,0.028,0.239,0.256,0.125,0.155,0.197,0.212,0.197,0.123,
+0.119,0.204,0.132,0.102,0.085,0.107,0.136,0.017,0.076,0.100,
+0.147,0.133,0.089,0.119,0.166,0.115,0.085,0.112,0.110,0.079,
+0.069,0.072,0.103,0.017,0.090,0.084,0.118,0.146,0.108,0.142,
+0.139,0.119,0.099,0.114,0.013,0.013,0.011,0.016,0.080,0.013,
+0.073,0.095,0.079,0.111,0.100,0.114,0.131,0.075,0.072,0.108,
+0.105,0.078,0.073,0.102,0.100,0.014,0.182,0.108,0.121,0.093,
+0.122,0.179,0.132,0.102,0.066,0.098,0.115,0.084,0.076,0.076,
+0.095,0.017,0.067,0.089,0.072,0.091,0.053,0.080,0.107,0.095,
+0.056,0.075,0.084,0.072,0.070,0.067,0.110,0.024,0.089,0.102,
+0.062,0.096,0.067,0.087,0.084,0.106,0.083,0.090,0.011,0.021,
+0.018,0.017,0.111,0.030,0.103,0.125,0.059,0.119,0.105,0.102,
+0.073,0.061,0.042,0.063,0.086,0.081,0.065,0.075,0.088,0.013,
+0.118,0.091,0.069,0.065,0.081,0.129,0.089,0.054,0.052,0.077,
+0.080,0.067,0.070,0.075,0.093,0.020,0.061,0.080,0.075,0.077,
+0.064,0.094,9.94e-3,9.53e-3,6.35e-3,0.012,0.011,0.014,9.53e-3,0.011,
+0.014,6.35e-3,0.014,0.014,0.012,0.024,0.012,0.016,0.053,0.068,
+0.064,0.068,7.60e-3,0.011,0.014,0.013,0.132,0.058,0.089,0.085,
+0.052,0.151,0.084,0.082,0.050,0.034,0.034,0.060,0.061,0.070,
+0.067,0.092,0.080,0.014,0.095,0.088,0.065,0.077,0.089,0.121,
+0.123,0.061,0.058,0.100,0.064,0.046,0.061,0.060,0.098,9.11e-3,
+0.063,0.081,0.131,0.102,0.074,0.139,0.116,0.072,0.075,0.116,
+0.080,0.061,0.072,0.075,0.101,0.011,0.080,0.097,0.113,0.126,
+0.098,0.160,0.133,0.128,0.114,0.127,0.011,0.012,0.013,0.015,
+0.107,0.014,0.096,0.115,0.132,0.151,0.150,0.188,0.113,0.103,
+0.076,0.129,0.088,0.087,0.077,0.109,0.135,0.012,0.120,0.153,
+0.182,0.179,0.233,0.343,0.235,0.191,0.154,0.189,0.215,0.212,
+0.163,0.155,0.191,0.028,0.130,0.154,0.144,0.173,0.111,0.154,
+0.224,0.187,0.140,0.149,0.219,0.217,0.208,0.153,0.224,0.059,
+0.353,0.245,0.106,0.197,0.159,0.159,0.132,0.203,0.155,0.150,
+0.024,0.040,0.037,0.036,0.175,0.054,0.186,0.206,0.098,0.214,
+0.181,0.178,0.120,0.094,0.075,0.120,0.165,0.205,0.149,0.167,
+0.197,0.047,0.152,0.168,0.128,0.187,0.166,0.194,0.277,0.255,
+0.135,0.177,0.266,0.295,0.240,0.179,0.204,0.050,0.161,0.172,
+0.125,0.187,0.114,0.142,0.255,0.312,0.174,0.161,0.300,0.257,
+0.279,0.209,0.308,0.102,0.286,0.327,0.112,0.279,0.192,0.188,
+0.163,0.294,0.201,0.187,0.039,0.097,0.082,0.056,0.314,0.118,
+0.320,0.364,0.129,0.428,0.366,0.286,0.112,0.122,0.090,0.117,
+0.215,0.359,0.221,0.231,0.200,0.036,0.192,0.229,0.112,0.150,
+0.171,0.213,0.142,0.115,0.078,0.097,0.191,0.232,0.226,0.163,
+0.206,0.065,0.159,0.149,0.087,0.194,0.119,0.135,0.014,0.029,
+0.023,0.020,0.040,0.069,0.067,0.035,0.054,0.051,0.087,0.053,
+0.019,0.086,0.039,0.026,0.122,0.287,0.194,0.153,0.032,0.094,
+0.061,0.048,1.115,0.888,0.302,0.320,0.157,1.284,0.269,0.204,
+0.100,0.095,0.070,0.101,0.183,0.341,0.250,0.261,0.240,0.071,
+0.243,0.239,0.099,0.185,0.178,0.208,0.139,0.122,0.102,0.119,
+0.106,0.095,0.132,0.095,0.117,0.020,0.097,0.112,0.117,0.122,
+0.100,0.150,0.202,0.230,0.200,0.181,0.205,0.226,0.251,0.190,
+0.247,0.074,0.268,0.263,0.152,0.419,0.225,0.228,0.123,0.179,
+0.166,0.158,0.020,0.041,0.036,0.032,0.260,0.082,0.301,0.312,
+0.170,0.341,0.334,0.257,0.144,0.268,0.107,0.130,0.145,0.276,
+0.214,0.208,0.239,0.037,0.229,0.271,0.182,0.234,0.251,0.303,
+0.170,0.103,0.067,0.087,0.081,0.088,0.070,0.080,0.116,0.016,
+0.075,0.080,0.084,0.085,0.067,0.071,0.129,0.150,0.085,0.105,
+0.128,0.146,0.119,0.106,0.187,0.047,0.187,0.163,0.078,0.157,
+0.110,0.098,0.107,0.174,0.142,0.120,0.023,0.044,0.036,0.042,
+0.238,0.051,0.251,0.225,0.104,0.202,0.164,0.164,0.083,0.066,
+0.052,0.087,0.118,0.129,0.100,0.111,0.170,0.028,0.153,0.215,
+0.108,0.111,0.148,0.181,0.015,0.017,9.36e-3,0.011,0.015,0.029,
+0.017,0.015,0.016,7.10e-3,0.017,0.013,9.02e-3,0.020,9.94e-3,0.010,
+0.029,0.036,0.018,0.017,0.034,0.070,0.043,0.026,0.034,0.026,
+0.053,0.037,0.012,0.036,0.026,0.018,0.023,0.044,0.027,0.015,
+7.35e-3,0.031,0.023,0.011,0.049,0.052,0.084,0.051,0.024,0.056,
+0.043,0.028,0.014,0.017,7.69e-3,0.012,0.022,0.046,0.029,0.026,
+0.032,0.016,0.044,0.041,0.015,0.022,0.022,0.027,0.108,0.089,
+0.070,0.063,0.114,0.190,0.174,0.114,0.172,0.056,0.206,0.139,
+0.063,0.138,0.175,0.101,0.014,0.033,0.017,0.012,0.030,0.084,
+0.048,0.021,0.044,0.038,0.088,0.043,0.013,0.052,0.068,0.022,
+0.112,0.215,0.171,0.135,0.032,0.089,0.097,0.049,0.346,0.138,
+0.296,0.280,0.121,0.288,0.269,0.174,0.073,0.076,0.070,0.069,
+0.149,0.281,0.222,0.179,0.239,0.067,0.326,0.251,0.090,0.165,
+0.218,0.177,0.201,0.066,0.060,0.094,0.076,0.079,0.056,0.075,
+0.112,0.016,0.094,0.100,0.097,0.100,0.080,0.101,0.156,0.151,
+0.102,0.099,0.142,0.240,0.144,0.141,0.240,0.048,0.247,0.218,
+0.179,0.239,0.229,0.156,1.228,0.333,0.191,0.162,0.065,0.105,
+0.044,0.034,0.441,0.078,0.424,0.383,0.901,0.378,0.350,0.294,
+0.167,0.099,0.087,0.105,0.145,0.216,0.140,0.135,0.244,0.036,
+0.306,0.340,0.222,0.208,0.244,0.259,0.185,0.088,0.081,0.114,
+0.096,0.062,0.055,0.093,0.102,0.014,0.061,0.089,0.097,0.087,
+0.069,0.121,0.112,0.077,0.050,0.066,0.088,0.058,0.055,0.065,
+0.088,0.012,0.074,0.081,0.059,0.075,0.063,0.086,0.079,0.082,
+0.062,0.092,0.011,0.012,0.010,0.018,0.095,0.016,0.081,0.101,
+0.071,0.105,0.080,0.107,0.096,0.057,0.052,0.093,0.078,0.065,
+0.054,0.092,0.108,0.013,0.090,0.133,0.125,0.094,0.110,0.204,
+0.117,0.092,0.062,0.093,0.093,0.085,0.069,0.077,0.088,0.014,
+0.066,0.085,0.071,0.102,0.065,0.097,0.113,0.096,0.058,0.072,
+0.095,0.100,0.076,0.089,0.103,0.025,0.122,0.120,0.064,0.124,
+0.086,0.102,0.079,0.107,0.107,0.101,0.010,0.021,0.017,0.015,
+0.134,0.029,0.145,0.154,0.088,0.183,0.124,0.157,0.088,0.064,
+0.061,0.103,0.105,0.112,0.091,0.131,0.125,0.016,0.110,0.147,
+0.103,0.108,0.108,0.194,0.104,0.081,0.068,0.078,0.105,0.104,
+0.108,0.111,0.135,0.029,0.116,0.137,0.084,0.119,0.126,0.168,
+0.013,0.016,9.61e-3,0.016,0.012,0.027,0.020,0.014,0.016,0.010,
+0.025,0.022,0.010,0.024,0.020,0.023,0.101,0.138,0.122,0.149,
+0.017,0.028,0.031,0.033,0.209,0.062,0.197,0.221,0.099,0.216,
+0.213,0.199,0.103,0.081,0.083,0.096,0.139,0.152,0.166,0.191,
+0.240,0.039,0.224,0.242,0.113,0.143,0.181,0.239,0.199,0.092,
+0.084,0.125,0.089,0.069,0.066,0.085,0.139,0.016,0.090,0.137,
+0.151,0.124,0.120,0.249,0.142,0.113,0.088,0.119,0.126,0.139,
+0.104,0.109,0.148,0.021,0.145,0.188,0.122,0.152,0.157,0.213,
+0.221,0.172,0.155,0.190,0.018,0.022,0.019,0.022,0.285,0.042,
+0.276,0.367,0.258,0.278,0.299,0.338,0.229,0.143,0.175,0.247,
+0.185,0.170,0.163,0.225,0.311,0.026,0.303,0.429,0.285,0.235,
+0.294,0.387,2.055,1.402,0.927,1.448,1.815,1.211,1.167,1.290,
+1.988,0.213,1.155,1.619,2.290,2.092,1.092,1.780,2.018,1.496,
+1.087,1.224,1.637,1.091,1.195,0.904,1.861,0.267,1.512,1.335,
+1.303,3.181,1.460,1.370,1.355,1.248,1.235,1.212,0.129,0.129,
+0.149,0.182,1.453,0.154,1.335,1.450,0.970,1.537,1.341,1.348,
+1.873,1.132,1.059,1.943,1.392,1.064,1.321,1.797,1.574,0.151,
+1.475,2.095,1.463,1.173,1.546,2.043,1.751,1.353,0.872,1.143,
+1.434,1.195,0.964,1.032,1.192,0.149,0.965,1.075,0.861,1.043,
+0.865,0.973,1.438,1.282,0.876,0.817,1.054,0.788,0.982,0.702,
+1.219,0.169,1.450,1.266,0.664,1.064,1.338,0.833,0.972,1.255,
+0.793,0.827,0.127,0.129,0.119,0.110,1.193,0.159,1.241,1.229,
+0.652,1.492,1.000,0.825,0.919,1.854,0.566,0.768,1.050,0.880,
+0.805,0.947,1.075,0.110,1.061,1.157,0.708,0.762,1.041,1.129,
+1.173,0.716,0.768,0.880,0.993,0.859,0.881,0.824,1.377,0.179,
+1.086,1.441,0.717,0.856,0.852,1.090,0.095,0.094,0.079,0.081,
+0.083,0.101,0.097,0.075,0.118,0.034,0.157,0.144,0.090,0.220,
+0.126,0.136,0.862,0.795,0.844,0.694,0.086,0.087,0.117,0.095,
+1.204,0.186,1.881,1.266,0.600,0.926,1.338,0.939,0.702,0.449,
+0.663,0.629,0.726,0.655,0.729,0.795,1.084,0.124,1.321,1.323,
+0.617,0.687,1.015,1.114,1.396,0.553,0.557,0.876,0.540,0.459,
+0.452,0.510,0.725,0.073,0.540,0.629,0.781,0.636,0.702,1.060,
+0.701,0.590,0.517,0.545,0.521,0.488,0.510,0.409,0.720,0.074,
+0.761,0.698,0.602,0.830,0.705,0.838,0.663,0.567,0.542,0.592,
+0.051,0.052,0.062,0.060,0.792,0.074,0.875,0.773,0.551,0.725,
+0.932,0.791,0.950,0.466,0.518,0.824,0.358,0.268,0.394,0.527,
+0.935,0.075,0.918,1.125,1.056,0.806,1.065,1.688,2.509,1.911,
+1.466,2.340,1.729,1.636,1.621,1.607,1.442,0.190,1.201,1.651,
+1.268,1.418,1.154,1.524,2.153,2.248,1.282,1.450,1.779,1.516,
+1.601,1.247,1.716,0.253,1.931,1.772,0.826,1.398,1.207,1.280,
+1.082,1.329,1.215,1.069,0.143,0.263,0.191,0.168,1.148,0.164,
+1.337,1.300,0.670,1.539,1.276,1.187,1.186,0.718,0.804,1.055,
+1.200,1.202,0.961,1.106,0.955,0.140,0.993,1.205,0.742,0.790,
+1.267,1.445,2.298,2.400,1.226,1.854,2.150,3.104,1.746,2.459,
+1.630,0.302,1.428,1.468,0.861,1.566,0.969,1.116,1.920,2.105,
+1.260,1.250,1.456,0.847,1.362,1.066,1.764,0.338,2.176,2.106,
+0.720,1.526,1.304,1.074,1.504,2.534,1.390,1.344,0.241,0.432,
+0.286,0.243,2.014,0.534,2.231,2.212,1.501,6.398,2.372,1.755,
+1.054,0.992,0.800,0.893,1.724,1.576,1.140,1.237,1.191,0.180,
+1.224,1.385,0.714,1.295,1.761,1.310,1.508,1.316,1.075,1.566,
+1.633,1.952,1.939,1.454,2.017,0.393,2.088,3.505,0.779,1.355,
+1.378,1.489,0.170,0.309,0.186,0.169,0.192,0.340,0.307,0.176,
+0.256,0.132,0.458,0.382,0.112,0.390,0.273,0.204,2.341,2.622,
+2.122,1.792,0.393,0.446,0.449,0.293,2.915,0.554,3.471,2.989,
+1.810,3.383,3.639,2.229,2.290,0.913,3.023,1.194,1.810,2.003,
+2.070,1.653,1.860,0.268,2.528,2.463,0.785,1.139,1.891,1.574,
+1.045,0.710,0.611,1.002,0.737,0.759,0.814,0.752,0.675,0.083,
+0.728,0.838,0.546,0.609,0.619,0.863,1.331,1.437,1.056,1.092,
+1.249,1.476,1.215,1.060,1.161,0.177,1.533,1.552,0.750,1.557,
+1.251,1.342,0.845,0.962,0.942,0.893,0.091,0.127,0.120,0.114,
+1.029,0.143,1.384,1.313,0.805,1.439,1.883,1.318,0.972,0.636,
+0.794,0.790,0.753,0.730,0.681,0.801,1.118,0.135,1.330,1.452,
+0.956,1.125,1.520,1.745,1.947,1.300,0.915,1.330,0.943,0.910,
+0.772,0.712,1.265,0.132,0.895,0.817,0.846,0.886,0.673,0.914,
+1.799,1.709,1.083,1.134,1.321,1.356,1.358,0.992,1.685,0.268,
+1.980,1.640,0.792,1.514,1.077,1.071,1.105,1.487,1.790,1.248,
+0.133,0.221,0.239,0.228,1.236,0.205,1.694,1.358,0.587,1.414,
+1.238,1.117,0.828,0.645,0.721,1.017,0.843,1.042,0.937,1.100,
+1.080,0.147,1.312,1.340,0.783,0.856,1.217,1.803,0.178,0.211,
+0.107,0.133,0.178,0.296,0.164,0.157,0.211,0.050,0.197,0.147,
+0.107,0.202,0.124,0.131,0.215,0.354,0.168,0.151,0.237,0.341,
+0.273,0.172,0.273,0.096,0.387,0.278,0.103,0.309,0.208,0.150,
+0.146,0.322,0.219,0.165,0.036,0.106,0.089,0.049,0.296,0.119,
+0.485,0.372,0.116,0.484,0.272,0.195,0.149,0.181,0.120,0.174,
+0.275,0.459,0.325,0.415,0.239,0.061,0.306,0.289,0.151,0.245,
+0.257,0.287,1.377,1.066,1.218,0.807,1.159,1.589,1.621,0.831,
+1.626,0.389,2.268,1.414,0.662,1.274,1.117,0.984,0.141,0.229,
+0.149,0.090,0.146,0.279,0.242,0.099,0.329,0.128,0.498,0.248,
+0.109,0.340,0.219,0.143,1.422,1.973,2.265,1.238,0.225,0.360,
+0.464,0.200,3.361,0.694,3.432,2.286,0.976,1.997,2.230,1.453,
+0.700,0.616,0.809,0.672,1.060,1.667,1.639,1.206,2.742,0.601,
+3.077,2.257,0.825,1.427,1.651,1.346,0.848,0.541,0.507,0.616,
+0.746,0.611,0.466,0.384,0.654,0.092,0.673,0.738,0.482,0.590,
+0.464,0.721,1.256,1.256,0.915,0.850,1.145,1.493,1.085,0.770,
+1.681,0.236,1.819,1.517,0.839,1.582,1.199,1.056,0.836,1.180,
+1.153,0.924,0.113,0.191,0.167,0.124,1.577,0.221,2.129,1.706,
+0.797,1.584,1.559,1.282,0.837,0.591,0.707,0.950,0.836,0.928,
+0.728,0.828,1.413,0.190,1.835,1.760,1.074,1.180,1.446,1.852,
+1.496,0.751,0.685,1.290,0.690,0.489,0.468,0.504,0.773,0.073,
+0.509,0.603,0.791,0.611,0.798,1.033,0.853,0.547,0.423,0.555,
+0.590,0.399,0.475,0.474,0.680,0.071,0.587,0.643,0.476,0.512,
+0.519,0.593,0.588,0.500,0.562,0.666,0.063,0.058,0.057,0.091,
+0.530,0.060,0.609,0.658,0.370,0.567,0.534,0.630,0.774,0.419,
+0.565,0.991,0.585,0.513,0.512,0.754,0.657,0.066,0.680,0.855,
+0.686,0.568,0.809,1.517,1.398,1.011,0.651,0.974,1.008,0.975,
+0.730,0.734,1.064,0.116,0.826,0.856,0.671,0.778,0.778,1.024,
+1.116,1.064,0.637,0.799,0.948,0.896,0.828,0.710,1.013,0.147,
+1.118,1.142,0.570,0.914,0.716,0.741,0.815,0.966,0.714,0.805,
+0.082,0.116,0.096,0.119,1.010,0.149,1.144,1.282,0.605,1.456,
+0.974,0.940,0.864,0.607,0.535,0.794,0.967,0.989,0.825,1.197,
+0.863,0.096,0.938,1.145,0.718,0.910,1.012,1.331,1.191,0.736,
+0.875,0.954,1.097,0.872,1.026,0.906,1.271,0.185,1.449,1.290,
+0.675,0.841,1.033,1.084,0.099,0.106,0.086,0.095,0.096,0.116,
+0.112,0.098,0.159,0.039,0.200,0.197,0.103,0.171,0.171,0.138,
+0.880,1.046,1.053,1.246,0.100,0.134,0.142,0.165,1.683,0.251,
+1.969,1.777,0.762,1.416,1.540,1.347,0.693,0.550,0.676,0.855,
+1.065,1.024,1.162,1.547,2.029,0.229,2.017,3.418,0.871,0.998,
+1.424,1.730,1.453,0.647,0.775,0.912,0.724,0.547,0.559,0.578,
+0.758,0.076,0.643,0.892,0.803,0.645,0.728,1.220,0.822,0.630,
+0.502,0.671,0.589,0.513,0.636,0.636,0.834,0.076,0.859,1.119,
+0.792,0.852,0.837,1.035,0.936,1.021,1.020,1.435,0.094,0.103,
+0.092,0.130,1.300,0.129,1.490,1.579,0.998,1.518,1.545,1.543,
+1.395,0.719,0.985,1.658,0.981,0.925,0.915,1.453,1.761,0.125,
+1.855,2.406,2.679,1.527,2.089,2.912,0.159,0.142,0.122,0.140,
+0.155,0.145,0.136,0.123,0.145,0.029,0.141,0.137,0.124,0.138,
+0.110,0.114,0.158,0.162,0.119,0.104,0.173,0.143,0.182,0.117,
+0.164,0.046,0.225,0.161,0.096,0.250,0.154,0.127,0.084,0.111,
+0.104,0.084,0.015,0.028,0.028,0.022,0.092,0.023,0.151,0.113,
+0.049,0.100,0.154,0.102,0.104,0.161,0.073,0.101,0.104,0.112,
+0.111,0.114,0.092,0.017,0.130,0.143,0.077,0.077,0.132,0.132,
+0.198,0.243,0.131,0.126,0.215,0.299,0.243,0.137,0.190,0.065,
+0.196,0.208,0.088,0.184,0.134,0.127,0.236,0.325,0.193,0.129,
+0.246,0.262,0.318,0.181,0.274,0.119,0.427,0.345,0.096,0.256,
+0.236,0.142,0.126,0.309,0.144,0.101,0.038,0.080,0.095,0.040,
+0.220,0.107,0.364,0.269,0.073,0.253,0.256,0.137,0.149,0.892,
+0.115,0.100,0.170,0.222,0.160,0.155,0.160,0.044,0.247,0.202,
+0.093,0.134,0.264,0.168,0.107,0.092,0.083,0.068,0.123,0.183,
+0.169,0.096,0.169,0.043,0.195,0.139,0.052,0.101,0.111,0.109,
+0.018,0.035,0.027,0.014,0.030,0.057,0.067,0.022,0.033,0.035,
+0.087,0.043,0.015,0.052,0.043,0.023,0.137,0.153,0.161,0.093,
+0.032,0.042,0.061,0.029,0.216,0.089,0.464,0.256,0.094,0.201,
+0.460,0.190,0.123,0.075,0.062,0.057,0.107,0.136,0.151,0.115,
+0.152,0.045,0.274,0.213,0.072,0.113,0.196,0.147,0.097,0.063,
+0.048,0.074,0.059,0.066,0.055,0.054,0.068,0.013,0.068,0.064,
+0.056,0.057,0.060,0.087,0.104,0.100,0.093,0.087,0.100,0.119,
+0.125,0.085,0.097,0.023,0.151,0.129,0.058,0.120,0.097,0.101,
+0.058,0.074,0.077,0.075,0.011,0.017,0.025,0.015,0.102,0.025,
+0.154,0.118,0.052,0.105,0.184,0.110,0.074,0.063,0.047,0.069,
+0.044,0.062,0.066,0.072,0.112,0.016,0.145,0.144,0.092,0.106,
+0.149,0.201,0.174,0.175,0.131,0.137,0.197,0.274,0.243,0.173,
+0.142,0.040,0.156,0.165,0.080,0.131,0.111,0.109,0.194,0.245,
+0.173,0.129,0.261,0.257,0.339,0.187,0.218,0.108,0.398,0.276,
+0.074,0.168,0.173,0.154,0.115,0.174,0.155,0.098,0.038,0.096,
+0.077,0.035,0.126,0.057,0.232,0.147,0.059,0.155,0.200,0.131,
+0.102,0.058,0.061,0.070,0.125,0.157,0.127,0.117,0.089,0.020,
+0.136,0.121,0.063,0.069,0.194,0.119,0.238,0.438,0.189,0.156,
+0.397,1.046,0.417,0.251,0.253,0.107,0.291,0.212,0.088,0.233,
+0.154,0.130,0.282,0.416,0.269,0.171,0.278,0.254,0.366,0.233,
+0.325,0.223,0.559,0.467,0.092,0.295,0.280,0.183,0.289,0.424,
+0.265,0.171,0.105,0.226,0.210,0.090,0.344,0.239,0.534,0.399,
+0.129,0.609,0.558,0.242,0.126,0.133,0.100,0.081,0.273,0.292,
+0.252,0.182,0.165,0.062,0.295,0.226,0.096,0.160,0.794,0.208,
+0.174,0.157,0.136,0.117,0.240,0.375,0.392,0.174,0.263,0.089,
+0.300,0.274,0.083,0.210,0.166,0.138,0.044,0.103,0.060,0.032,
+0.078,0.201,0.209,0.060,0.097,0.150,0.256,0.132,0.024,0.123,
+0.088,0.044,1.016,0.928,0.624,0.470,0.333,0.369,0.415,0.172,
+0.926,0.389,1.142,0.781,0.827,1.042,1.122,0.703,0.789,0.153,
+0.201,0.156,0.391,0.527,0.491,0.300,0.350,0.116,0.545,0.385,
+0.132,0.186,0.344,0.253,0.080,0.069,0.067,0.075,0.074,0.096,
+0.091,0.057,0.076,0.017,0.093,0.073,0.041,0.065,0.061,0.071,
+0.125,0.189,0.144,0.111,0.155,0.270,0.224,0.131,0.154,0.068,
+0.249,0.197,0.065,0.251,0.152,0.124,0.094,0.136,0.127,0.091,
+0.022,0.042,0.043,0.020,0.137,0.050,0.263,0.182,0.079,0.168,
+0.251,0.132,0.100,0.052,0.064,0.057,0.072,0.090,0.083,0.071,
+0.165,0.022,0.196,0.154,0.080,0.106,0.171,0.148,0.183,0.171,
+0.105,0.110,0.112,0.147,0.157,0.098,0.165,0.030,0.148,0.099,
+0.070,0.104,0.086,0.078,0.178,0.286,0.178,0.122,0.239,0.317,
+0.345,0.200,0.279,0.132,0.498,0.296,0.079,0.232,0.171,0.124,
+0.098,0.222,0.196,0.128,0.026,0.071,0.083,0.049,0.188,0.095,
+0.373,0.252,0.052,0.191,0.196,0.145,0.061,0.071,0.054,0.068,
+0.099,0.144,0.143,0.118,0.138,0.049,0.206,0.169,0.067,0.113,
+0.135,0.150,0.023,0.046,0.024,0.015,0.042,0.108,0.084,0.037,
+0.033,0.030,0.074,0.034,0.015,0.045,0.028,0.019,0.042,0.114,
+0.059,0.030,0.106,0.214,0.187,0.074,0.083,0.144,0.269,0.131,
+0.020,0.098,0.068,0.036,0.024,0.113,0.076,0.033,0.031,0.139,
+0.185,0.042,0.104,0.205,0.397,0.168,0.020,0.149,0.138,0.050,
+0.013,0.041,0.019,0.014,0.040,0.105,0.080,0.059,0.046,0.040,
+0.126,0.070,0.015,0.041,0.062,0.036,0.186,0.182,0.181,0.094,
+0.175,0.349,0.382,0.151,0.276,0.128,0.838,0.315,0.075,0.259,
+0.231,0.163,0.031,0.113,0.069,0.024,0.070,0.196,0.214,0.053,
+0.115,0.182,0.512,0.164,0.021,0.108,0.095,0.037,0.184,0.467,
+0.476,0.186,0.084,0.320,0.414,0.081,0.684,0.598,1.378,0.686,
+0.126,0.523,0.551,0.273,0.098,0.122,0.105,0.077,0.193,0.501,
+0.446,0.258,0.650,0.397,0.809,0.490,0.137,0.437,0.333,0.259,
+0.080,0.079,0.066,0.118,0.074,0.092,0.067,0.054,0.086,0.022,
+0.137,0.123,0.048,0.089,0.055,0.077,0.141,0.225,0.152,0.111,
+0.204,0.336,0.274,0.151,0.279,0.118,0.462,0.345,0.097,0.299,
+0.205,0.136,0.093,0.232,0.189,0.109,0.024,0.091,0.095,0.026,
+0.286,0.137,0.554,0.363,0.088,0.340,0.268,0.172,0.068,0.073,
+0.074,0.084,0.086,0.155,0.129,0.106,0.210,0.071,0.366,0.279,
+0.109,0.213,0.219,0.218,0.112,0.084,0.072,0.098,0.106,0.077,
+0.066,0.115,0.111,0.011,0.070,0.098,0.080,0.075,0.166,0.114,
+0.091,0.079,0.059,0.064,0.086,0.076,0.084,0.071,0.086,0.017,
+0.105,0.104,0.056,0.070,0.109,0.082,0.053,0.066,0.065,0.067,
+8.69e-3,0.013,0.014,0.016,0.067,0.015,0.095,0.095,0.037,0.069,
+0.075,0.077,0.066,0.055,0.056,0.084,0.070,0.062,0.060,0.097,
+0.095,0.012,0.086,0.154,0.080,0.062,0.095,0.181,0.175,0.180,
+0.112,0.135,0.176,0.221,0.194,0.150,0.195,0.040,0.182,0.172,
+0.106,0.157,0.142,0.152,0.202,0.253,0.147,0.144,0.236,0.282,
+0.284,0.205,0.203,0.066,0.341,0.311,0.101,0.236,0.189,0.146,
+0.117,0.223,0.152,0.136,0.024,0.060,0.065,0.043,0.209,0.065,
+0.319,0.303,0.093,0.303,0.233,0.167,0.103,0.122,0.085,0.106,
+0.181,0.229,0.228,0.257,0.162,0.035,0.271,0.287,0.115,0.163,
+0.218,0.227,0.095,0.083,0.078,0.076,0.127,0.141,0.169,0.117,
+0.152,0.043,0.268,0.211,0.062,0.111,0.164,0.136,0.016,0.022,
+0.016,0.015,0.037,0.054,0.051,0.029,0.032,0.023,0.075,0.052,
+0.012,0.034,0.041,0.022,0.095,0.177,0.170,0.127,0.024,0.081,
+0.069,0.045,0.231,0.116,0.431,0.322,0.090,0.265,0.299,0.193,
+0.096,0.079,0.091,0.098,0.136,0.219,0.214,0.250,0.353,0.085,
+0.430,0.959,0.107,0.174,0.274,0.271,0.111,0.067,0.070,0.089,
+0.083,0.075,0.072,0.078,0.084,0.014,0.090,0.102,0.066,0.066,
+0.087,0.123,0.083,0.082,0.063,0.075,0.091,0.103,0.108,0.097,
+0.094,0.017,0.136,0.149,0.072,0.109,0.111,0.123,0.081,0.113,
+0.114,0.114,0.013,0.020,0.023,0.020,0.144,0.034,0.242,0.224,
+0.089,0.174,0.214,0.177,0.108,0.068,0.090,0.142,0.101,0.116,
+0.133,0.159,0.191,0.027,0.306,0.359,0.191,0.169,0.265,0.290,
+2.028,1.614,1.732,2.451,1.603,1.183,1.422,1.460,1.525,0.173,
+1.600,1.581,1.674,1.453,1.753,1.997,1.173,1.061,0.892,0.886,
+1.147,0.929,1.068,0.825,0.968,0.134,1.233,0.932,0.690,0.952,
+0.966,0.876,0.899,0.933,1.178,0.917,0.097,0.096,0.154,0.145,
+1.011,0.132,2.153,1.295,0.560,0.746,1.323,0.979,0.726,0.379,
+0.484,0.734,0.502,0.400,0.519,0.760,0.534,0.051,0.802,0.772,
+0.612,0.314,0.806,1.065,1.781,1.514,1.131,1.253,1.679,1.529,
+1.540,1.175,1.184,0.179,1.169,1.042,0.807,1.059,0.802,0.916,
+1.728,1.809,1.245,1.023,1.703,1.292,1.811,1.173,1.654,0.273,
+2.060,2.023,0.779,1.432,1.030,0.932,1.184,1.764,1.705,1.151,
+0.200,0.283,0.354,0.259,2.072,0.362,3.098,2.613,0.933,1.858,
+1.974,1.330,0.732,0.844,0.601,0.652,1.283,1.342,1.254,1.530,
+0.945,0.117,1.153,1.173,0.682,0.736,1.023,1.221,1.424,0.836,
+0.989,0.831,1.334,1.257,1.529,1.040,1.620,0.233,1.581,1.224,
+0.710,0.957,1.087,1.140,0.160,0.202,0.186,0.156,0.234,0.284,
+0.313,0.210,0.257,0.093,0.463,0.301,0.135,0.408,0.268,0.231,
+1.286,1.384,1.842,1.169,0.188,0.229,0.455,0.249,2.501,0.477,
+5.087,2.495,0.705,1.603,2.854,1.527,0.596,0.525,0.600,0.560,
+1.102,1.196,1.555,1.283,1.163,0.165,2.127,1.533,0.681,0.753,
+1.580,1.423,1.012,0.490,0.470,0.720,0.525,0.479,0.487,0.470,
+0.558,0.066,0.593,0.568,0.564,0.506,0.630,0.794,0.907,0.845,
+0.843,1.014,0.914,0.905,0.963,0.744,0.903,0.117,1.147,1.088,
+0.608,1.050,0.873,0.964,0.906,0.967,1.178,0.975,0.102,0.118,
+0.219,0.186,1.224,0.179,2.321,1.698,0.723,1.389,3.278,1.505,
+0.755,0.486,0.538,0.761,0.573,0.529,0.836,0.985,1.029,0.108,
+1.449,1.447,0.974,0.929,1.781,2.300,0.183,0.161,0.137,0.145,
+0.164,0.188,0.187,0.152,0.116,0.032,0.146,0.117,0.091,0.125,
+0.121,0.112,0.200,0.253,0.202,0.148,0.289,0.336,0.368,0.204,
+0.191,0.080,0.336,0.225,0.128,0.196,0.229,0.153,0.129,0.220,
+0.217,0.124,0.038,0.072,0.079,0.046,0.198,0.058,0.536,0.276,
+0.079,0.169,0.294,0.184,0.086,0.070,0.071,0.084,0.126,0.134,
+0.128,0.118,0.084,0.019,0.165,0.135,0.061,0.059,0.138,0.139,
+0.160,0.215,0.137,0.111,0.212,0.322,0.299,0.169,0.149,0.057,
+0.183,0.135,0.067,0.132,0.097,0.091,0.249,0.408,0.246,0.162,
+0.375,0.368,0.508,0.262,0.300,0.167,0.497,0.373,0.094,0.247,
+0.216,0.177,0.146,0.301,0.235,0.144,0.061,0.163,0.197,0.069,
+0.361,0.225,0.762,0.463,0.127,0.404,0.414,0.218,0.078,0.079,
+0.068,0.064,0.152,0.194,0.194,0.193,0.110,0.032,0.180,0.141,
+0.055,0.082,0.178,0.120,0.228,0.169,0.176,0.104,0.240,0.375,
+0.404,0.192,0.222,0.077,0.370,0.228,0.065,0.151,0.179,0.133,
+0.036,0.087,0.062,0.040,0.087,0.206,0.232,0.077,0.095,0.161,
+0.374,0.136,0.021,0.091,0.103,0.043,0.273,0.385,0.477,0.227,
+0.100,0.209,0.428,0.101,0.611,0.393,1.987,0.640,0.123,0.441,
+0.764,0.352,0.136,0.093,0.135,0.085,0.212,0.321,0.420,0.232,
+0.221,0.079,0.547,0.289,0.093,0.140,0.319,0.246,0.095,0.090,
+0.078,0.090,0.086,0.096,0.091,0.072,0.069,0.016,0.099,0.079,
+0.063,0.077,0.114,0.100,0.166,0.222,0.199,0.194,0.238,0.324,
+0.305,0.202,0.203,0.066,0.335,0.262,0.112,0.287,0.259,0.207,
+0.102,0.169,0.232,0.131,0.020,0.053,0.074,0.036,0.202,0.095,
+0.494,0.311,0.125,0.303,0.969,0.278,0.083,0.077,0.084,0.090,
+0.079,0.111,0.117,0.123,0.123,0.024,0.227,0.198,0.103,0.138,
+0.298,0.256,2.643,1.311,1.206,1.795,0.898,0.869,0.736,0.823,
+1.197,0.135,1.606,0.985,0.560,0.448,0.520,0.610,1.139,1.190,
+0.741,0.765,1.297,1.297,1.414,0.938,1.390,0.267,2.156,1.387,
+0.586,1.040,0.760,0.770,0.997,1.136,1.354,0.859,0.179,0.250,
+0.335,0.226,1.836,0.366,3.937,1.841,0.539,1.123,1.231,1.051,
+0.536,0.383,0.474,0.541,1.024,0.771,0.865,0.732,0.885,0.147,
+1.462,1.388,0.546,0.539,0.895,1.120,0.176,0.157,0.109,0.113,
+0.200,0.288,0.205,0.209,0.243,0.067,0.418,0.213,0.094,0.111,
+0.113,0.094,0.140,0.211,0.125,0.092,0.254,0.373,0.310,0.182,
+0.220,0.125,0.533,0.282,0.066,0.140,0.113,0.086,0.210,0.288,
+0.246,0.129,0.064,0.144,0.216,0.062,0.518,0.292,1.336,0.492,
+0.094,0.291,0.294,0.208,0.076,0.073,0.065,0.072,0.204,0.236,
+0.218,0.197,0.151,0.044,0.276,0.281,0.072,0.086,0.130,0.158,
+1.629,0.526,0.904,0.358,0.591,0.804,0.857,0.532,0.919,0.183,
+2.356,0.728,0.314,0.447,0.650,0.481,0.122,0.185,0.232,0.081,
+0.116,0.255,0.222,0.082,0.220,0.117,0.884,0.182,0.051,0.133,
+0.131,0.077,0.692,0.406,0.933,0.341,0.114,0.136,0.385,0.075,
+0.714,0.234,1.496,0.201,0.081,0.124,0.356,0.333,0.192,0.145,
+0.284,0.110,0.240,0.336,0.521,0.225,0.549,0.122,1.269,0.533,
+0.248,0.303,0.573,0.640,0.655,0.339,0.305,0.330,0.367,0.330,
+0.250,0.294,0.471,0.058,0.765,0.519,0.213,0.221,0.227,0.324,
+0.629,0.675,0.470,0.312,0.654,0.862,0.654,0.444,0.884,0.181,
+1.575,1.001,0.337,0.649,0.442,0.404,0.662,0.794,0.903,0.615,
+0.094,0.212,0.226,0.124,1.312,0.255,2.971,1.698,0.468,0.908,
+1.265,0.913,0.423,0.326,0.367,0.464,0.466,0.627,0.633,0.493,
+0.836,0.123,1.645,1.242,0.574,0.697,1.143,1.367,1.084,0.650,
+0.559,0.849,0.584,0.449,0.410,0.457,0.542,0.065,0.548,0.516,
+0.459,0.447,0.426,0.580,0.698,0.631,0.386,0.423,0.544,0.460,
+0.452,0.389,0.461,0.068,0.569,0.448,0.299,0.408,0.370,0.417,
+0.549,0.564,0.551,0.512,0.065,0.071,0.080,0.086,0.613,0.092,
+1.210,0.864,0.385,0.590,0.732,0.688,0.411,0.265,0.259,0.401,
+0.425,0.330,0.332,0.410,0.361,0.043,0.456,0.576,0.378,0.341,
+0.484,0.721,1.143,0.965,0.724,0.796,1.039,1.042,0.988,0.791,
+0.842,0.123,1.058,0.842,0.469,0.602,0.444,0.619,1.117,1.226,
+0.679,0.684,1.236,1.305,1.274,0.936,1.106,0.181,1.393,1.297,
+0.477,0.807,0.612,0.668,0.861,1.454,1.158,0.826,0.149,0.238,
+0.250,0.183,1.489,0.306,2.703,2.164,0.592,1.532,1.516,1.298,
+0.618,0.536,0.415,0.535,1.008,1.122,0.972,0.963,0.652,0.098,
+1.042,1.046,0.429,0.591,0.706,0.785,1.127,0.711,0.698,0.598,
+0.902,0.949,1.145,0.855,0.979,0.170,1.621,1.216,0.455,0.675,
+0.886,0.932,0.110,0.160,0.106,0.090,0.163,0.257,0.292,0.164,
+0.155,0.076,0.386,0.247,0.067,0.184,0.170,0.128,1.132,1.418,
+1.495,1.048,0.157,0.225,0.375,0.218,2.306,0.511,4.356,2.876,
+0.699,1.593,2.639,1.649,0.577,0.534,0.606,0.560,0.997,1.180,
+1.565,1.205,1.108,0.173,2.304,2.060,0.569,0.746,1.537,1.371,
+0.789,0.455,0.428,0.544,0.467,0.416,0.441,0.386,0.486,0.065,
+0.622,0.554,0.508,0.389,0.610,0.703,0.790,0.711,0.495,0.560,
+0.717,0.787,0.862,0.691,0.732,0.099,1.021,1.011,0.446,0.643,
+0.680,0.722,0.807,0.954,1.081,1.022,0.098,0.121,0.178,0.145,
+1.503,0.221,2.944,2.579,0.779,1.302,2.140,1.586,0.855,0.512,
+0.654,1.040,0.791,0.790,1.052,1.026,1.140,0.118,2.055,2.104,
+1.087,0.941,1.682,1.774,1.518,0.984,0.978,1.567,1.035,0.680,
+0.681,0.729,0.892,0.089,0.672,0.791,1.064,0.895,0.863,1.074,
+0.928,0.640,0.490,0.620,0.729,0.495,0.483,0.460,0.689,0.071,
+0.641,0.552,0.530,0.617,0.518,0.563,0.652,0.558,0.546,0.640,
+0.073,0.064,0.071,0.092,0.558,0.063,0.844,0.675,0.418,0.541,
+0.756,0.691,0.775,0.398,0.527,0.726,0.783,0.476,0.496,0.693,
+0.557,0.051,0.747,0.721,0.673,0.458,0.729,1.100,1.182,0.869,
+0.630,0.799,0.912,0.696,0.658,0.582,0.566,0.066,0.507,0.560,
+0.460,0.489,0.382,0.548,0.915,0.659,0.428,0.550,0.671,0.453,
+0.511,0.439,0.630,0.069,0.605,0.678,0.395,0.470,0.409,0.473,
+0.617,0.599,0.517,0.453,0.060,0.079,0.067,0.063,0.652,0.071,
+0.708,0.648,0.388,0.567,0.579,0.518,0.446,0.506,0.279,0.359,
+0.506,0.474,0.383,0.466,0.449,0.043,0.510,0.548,0.410,0.368,
+0.511,0.687,0.969,0.565,0.450,0.585,0.742,0.574,0.577,0.571,
+0.750,0.094,0.513,0.574,0.499,0.510,0.509,0.707,0.081,0.078,
+0.057,0.068,0.078,0.076,0.073,0.067,0.078,0.022,0.088,0.088,
+0.081,0.125,0.082,0.105,0.550,0.556,0.632,0.551,0.063,0.067,
+0.093,0.080,0.905,0.134,1.249,1.020,0.480,0.753,1.073,0.821,
+0.473,0.314,0.338,0.437,0.589,0.571,0.572,0.662,0.666,0.076,
+0.882,0.889,0.506,0.507,0.807,0.984,0.878,0.413,0.341,0.619,
+0.426,0.314,0.325,0.373,0.455,0.045,0.367,0.412,0.575,0.422,
+0.412,0.718,0.700,0.542,0.412,0.552,0.494,0.396,0.387,0.385,
+0.498,0.046,0.469,0.531,0.486,0.540,0.493,0.753,0.559,0.477,
+0.477,0.504,0.042,0.041,0.055,0.063,0.496,0.051,0.646,0.676,
+0.445,0.584,1.252,0.791,0.615,0.356,0.360,0.655,0.434,0.352,
+0.432,0.640,0.688,0.058,0.706,0.936,0.865,0.653,1.049,1.554,
+1.839,1.271,1.049,1.514,1.417,1.272,1.136,1.069,1.045,0.142,
+0.879,1.109,0.985,0.965,0.891,1.202,1.558,1.278,1.015,1.108,
+1.468,1.197,1.357,1.055,1.304,0.198,1.571,1.519,0.707,1.016,
+0.963,1.088,0.873,0.944,0.934,0.903,0.113,0.135,0.154,0.152,
+1.064,0.161,1.490,1.475,0.697,1.016,1.317,1.307,0.798,0.463,
+0.528,0.717,1.093,0.854,0.729,0.867,0.691,0.081,0.751,0.925,
+0.654,0.577,0.866,1.349,1.743,1.532,0.948,1.230,1.733,1.804,
+1.400,1.234,1.098,0.186,0.959,1.056,0.673,0.966,0.719,0.953,
+1.747,1.802,1.100,1.236,1.811,1.318,1.588,1.289,1.797,0.319,
+1.940,1.988,0.720,1.372,1.141,1.118,1.172,1.449,1.074,1.013,
+0.155,0.260,0.218,0.177,1.690,0.320,1.821,2.009,0.842,1.981,
+1.718,1.530,0.694,0.546,0.446,0.581,1.019,1.118,0.920,0.999,
+0.810,0.100,0.904,1.041,0.567,0.689,1.011,1.139,1.452,0.941,
+0.776,0.799,1.549,1.726,1.711,1.157,1.404,0.251,1.268,1.272,
+0.595,0.958,1.010,1.104,0.112,0.190,0.112,0.159,0.203,0.328,
+0.307,0.185,0.178,0.104,0.335,0.260,0.095,0.292,0.223,0.168,
+1.217,1.587,1.568,1.255,0.198,0.302,0.359,0.241,2.218,0.515,
+3.048,2.975,0.895,2.343,2.852,2.074,0.789,0.584,0.652,0.711,
+1.343,1.737,1.707,1.551,1.389,0.203,1.995,2.125,0.759,0.992,
+1.764,1.900,0.876,0.646,0.572,0.841,0.644,0.627,0.607,0.647,
+0.618,0.069,0.627,0.651,0.524,0.557,0.702,0.931,1.215,1.270,
+1.017,1.178,1.237,1.380,1.404,1.115,1.084,0.185,1.498,1.610,
+0.777,1.461,1.461,1.356,0.686,0.759,1.056,0.899,0.076,0.119,
+0.188,0.129,0.999,0.164,1.751,1.705,0.765,1.366,4.099,1.753,
+0.664,0.514,0.519,0.667,0.708,0.794,0.766,0.877,0.874,0.093,
+1.111,1.400,0.827,0.974,1.494,1.743,1.607,1.140,0.843,1.197,
+0.895,0.976,0.726,0.827,0.966,0.102,0.827,0.801,0.719,0.682,
+0.586,0.810,1.331,1.281,0.785,0.855,1.237,1.201,1.076,0.870,
+1.350,0.203,1.695,1.417,0.708,1.142,0.930,1.039,0.883,1.325,
+1.010,0.999,0.136,0.212,0.180,0.197,1.636,0.233,1.931,1.640,
+0.678,1.361,1.354,1.202,0.723,0.544,0.491,0.677,1.235,1.073,
+0.759,0.810,0.991,0.122,1.217,1.396,0.760,0.703,1.165,1.625,
+0.120,0.140,0.109,0.100,0.133,0.228,0.131,0.136,0.125,0.032,
+0.139,0.105,0.079,0.123,0.078,0.100,0.154,0.233,0.124,0.105,
+0.224,0.337,0.277,0.178,0.198,0.101,0.399,0.265,0.090,0.217,
+0.163,0.132,0.087,0.236,0.131,0.123,0.031,0.100,0.080,0.043,
+0.260,0.114,0.457,0.317,0.090,0.308,0.278,0.184,0.082,0.098,
+0.068,0.080,0.180,0.261,0.177,0.176,0.136,0.035,0.225,0.211,
+0.087,0.111,0.151,0.184,1.627,1.022,0.870,0.759,1.324,1.664,
+1.716,1.008,1.397,0.312,2.041,1.345,0.697,1.117,1.283,1.077,
+0.138,0.229,0.118,0.095,0.169,0.255,0.235,0.115,0.244,0.124,
+0.478,0.256,0.110,0.310,0.234,0.160,1.427,2.032,2.290,1.465,
+0.236,0.461,0.568,0.274,3.237,0.836,3.063,3.332,1.064,2.622,
+3.893,2.353,0.683,0.704,0.741,0.650,1.169,1.762,1.884,1.285,
+1.776,0.366,3.497,2.578,0.798,1.290,2.292,1.943,0.916,0.637,
+0.474,0.673,0.682,0.644,0.547,0.560,0.672,0.090,0.874,0.813,
+0.492,0.583,0.576,0.774,1.387,1.387,0.903,0.836,1.187,1.521,
+1.206,0.876,1.484,0.237,2.394,1.953,0.887,1.659,1.498,1.241,
+0.980,1.269,1.129,1.058,0.107,0.218,0.205,0.150,1.880,0.300,
+2.927,2.629,1.061,2.242,2.986,2.045,0.781,0.657,0.599,0.725,
+0.745,0.996,0.960,0.857,1.321,0.157,2.316,2.246,1.015,1.269,
+1.882,2.014,1.513,0.735,0.579,1.004,0.756,0.551,0.482,0.563,
+0.731,0.076,0.563,0.664,0.717,0.565,0.565,0.895,0.868,0.608,
+0.368,0.472,0.668,0.499,0.430,0.458,0.711,0.072,0.570,0.656,
+0.421,0.467,0.408,0.545,0.617,0.593,0.429,0.620,0.073,0.074,
+0.060,0.098,0.673,0.077,0.725,0.835,0.467,0.606,0.603,0.762,
+0.989,0.403,0.375,0.708,0.685,0.436,0.385,0.584,0.741,0.056,
+0.638,0.985,0.744,0.512,0.726,1.433,1.251,0.885,0.838,0.927,
+0.918,0.915,0.856,0.757,0.784,0.085,0.712,0.793,0.605,0.675,
+0.534,0.808,1.011,0.934,0.571,0.676,0.968,0.937,0.861,0.760,
+0.988,0.132,1.142,1.239,0.583,0.879,0.651,0.788,0.689,0.966,
+0.636,0.740,0.069,0.112,0.102,0.103,1.001,0.139,1.271,1.328,
+0.610,1.217,1.066,1.148,0.708,0.520,0.437,0.638,0.813,0.778,
+0.675,0.777,0.860,0.084,0.883,1.073,0.654,0.632,0.837,1.209,
+1.346,0.875,0.647,0.812,1.111,1.076,1.031,1.010,1.182,0.178,
+1.282,1.292,0.776,1.004,1.050,1.389,0.103,0.125,0.080,0.089,
+0.113,0.142,0.131,0.114,0.126,0.042,0.195,0.188,0.100,0.175,
+0.146,0.160,1.188,1.504,1.413,1.304,0.128,0.185,0.222,0.185,
+2.328,0.391,2.985,3.098,1.057,2.141,2.819,2.815,0.886,0.796,
+0.765,0.879,1.210,1.203,1.487,1.456,1.658,0.203,2.438,2.891,
+0.955,1.146,1.852,2.327,1.674,0.837,0.637,1.009,0.764,0.607,
+0.597,0.631,0.958,0.092,0.838,0.993,1.071,0.827,1.012,1.726,
+1.353,1.019,0.764,0.904,1.013,1.117,0.847,0.827,1.193,0.116,
+1.345,1.506,0.972,1.132,1.192,1.415,1.157,1.217,1.106,1.335,
+0.096,0.114,0.119,0.138,1.817,0.190,2.374,2.721,1.271,1.829,
+2.546,2.703,1.581,0.879,0.884,1.623,1.011,0.962,1.051,1.325,
+1.640,0.122,2.066,2.993,1.685,1.281,1.795,2.518,1.941,1.267,
+1.124,2.336,1.418,0.912,0.904,1.162,1.664,0.163,0.953,1.510,
+2.483,1.709,1.177,2.206,1.559,0.886,0.811,0.960,1.027,0.607,
+0.605,0.636,1.082,0.089,0.717,0.856,0.845,0.926,0.729,0.981,
+1.098,0.724,0.744,1.088,0.087,0.067,0.086,0.139,0.824,0.074,
+0.601,0.811,0.697,0.799,0.758,0.988,1.672,0.752,0.802,1.895,
+1.141,0.734,0.964,1.518,1.053,0.085,0.821,1.144,1.266,0.835,
+1.059,1.804,1.675,0.941,0.670,1.122,0.961,0.710,0.565,0.722,
+0.849,0.079,0.513,0.729,0.688,0.664,0.526,0.835,1.182,0.733,
+0.506,0.629,0.704,0.428,0.458,0.452,0.740,0.070,0.583,0.665,
+0.484,0.544,0.553,0.568,1.048,0.736,0.531,0.719,0.090,0.065,
+0.058,0.083,0.855,0.080,0.605,0.842,0.484,0.648,0.579,0.640,
+0.832,0.656,0.421,0.900,0.876,0.583,0.601,0.925,0.747,0.057,
+0.524,0.715,0.598,0.506,0.569,0.977,1.108,0.609,0.564,0.794,
+0.852,0.690,0.549,0.648,1.051,0.114,0.589,0.827,0.827,0.650,
+0.639,0.984,0.091,0.076,0.062,0.085,0.073,0.075,0.061,0.060,
+0.094,0.017,0.076,0.103,0.101,0.125,0.089,0.121,0.677,0.527,
+0.554,0.621,0.062,0.050,0.060,0.070,0.732,0.080,0.812,0.774,
+0.506,0.580,0.898,0.688,0.579,0.412,0.428,0.521,0.683,0.649,
+0.561,0.585,0.903,0.078,0.752,0.926,0.625,0.576,0.826,1.067,
+1.572,0.662,0.608,1.092,0.722,0.450,0.434,0.561,1.007,0.090,
+0.584,0.723,1.049,0.721,0.750,1.359,1.009,0.660,0.682,0.847,
+0.672,0.547,0.489,0.536,0.743,0.064,0.589,1.047,0.835,0.694,
+0.644,0.958,0.710,0.548,0.716,0.729,0.058,0.049,0.066,0.068,
+0.894,0.061,0.730,0.772,0.610,0.688,0.780,0.896,1.124,0.591,
+0.660,1.140,0.641,0.461,0.570,0.765,1.024,0.068,0.824,1.203,
+1.353,0.987,1.238,2.346,2.158,1.210,0.951,1.714,1.377,0.871,
+0.830,0.999,1.148,0.103,0.611,1.039,1.172,0.938,0.713,1.293,
+1.339,0.937,0.686,0.946,0.958,0.649,0.669,0.655,0.824,0.078,
+0.711,0.787,0.562,0.616,0.569,0.818,0.738,0.641,0.561,0.676,
+0.076,0.082,0.063,0.088,0.637,0.063,0.473,0.636,0.479,0.668,
+0.583,0.744,0.742,0.429,0.476,0.814,0.786,0.647,0.480,0.664,
+0.578,0.070,0.532,0.655,0.652,0.507,0.694,1.259,1.544,1.032,
+0.571,1.227,0.986,0.998,0.655,0.937,0.760,0.083,0.474,0.704,
+0.558,0.663,0.426,0.792,0.915,0.720,0.456,0.595,0.660,0.325,
+0.411,0.441,0.639,0.074,0.535,0.768,0.383,0.512,0.394,0.559,
+1.322,0.877,0.492,0.674,0.179,0.126,0.066,0.075,0.735,0.126,
+0.553,0.907,0.687,1.396,0.854,0.758,0.662,0.433,0.364,0.899,
+0.965,0.605,0.446,0.637,0.582,0.055,0.434,0.686,0.495,0.544,
+0.608,1.030,0.919,0.604,0.490,0.663,0.785,0.618,0.540,0.577,
+1.081,0.113,0.600,1.031,0.594,0.576,0.489,0.727,0.061,0.075,
+0.056,0.062,0.062,0.093,0.066,0.059,0.071,0.021,0.079,0.091,
+0.052,0.087,0.064,0.079,0.827,0.797,0.526,0.578,0.070,0.079,
+0.059,0.061,0.715,0.091,0.683,0.736,0.494,0.717,0.845,0.664,
+0.725,0.454,0.737,0.541,0.609,0.626,0.558,0.644,0.725,0.067,
+0.672,0.857,0.456,0.458,0.699,0.855,0.733,0.471,0.398,0.628,
+0.526,0.374,0.502,0.397,0.508,0.046,0.394,0.452,0.494,0.397,
+0.360,0.680,0.647,0.586,0.488,0.609,0.597,0.606,0.441,0.479,
+0.463,0.053,0.486,0.604,0.398,0.529,0.463,0.649,0.535,0.485,
+0.443,0.544,0.041,0.042,0.039,0.046,0.540,0.052,0.526,0.637,
+0.458,0.578,0.703,0.690,0.598,0.390,0.399,0.609,0.443,0.396,
+0.326,0.501,0.687,0.048,0.578,0.843,0.795,0.733,0.833,1.293,
+1.575,1.084,0.621,1.143,0.800,0.614,0.487,0.568,0.757,0.080,
+0.530,0.710,0.725,0.787,0.481,0.821,1.395,0.895,0.540,0.847,
+0.776,0.634,0.555,0.580,0.798,0.095,0.699,0.814,0.647,0.802,
+0.556,0.785,0.742,0.766,0.753,0.871,0.079,0.092,0.080,0.136,
+0.580,0.072,0.510,0.594,0.416,0.685,0.506,0.684,0.814,0.469,
+0.486,0.901,0.662,0.590,0.496,0.766,0.761,0.071,0.566,0.814,
+0.752,0.608,0.710,1.520,0.115,0.105,0.055,0.096,0.096,0.105,
+0.063,0.082,0.079,0.016,0.068,0.075,0.072,0.103,0.052,0.091,
+0.121,0.106,0.053,0.071,0.097,0.095,0.069,0.063,0.088,0.021,
+0.092,0.089,0.068,0.106,0.059,0.080,0.086,0.094,0.065,0.087,
+0.014,0.025,0.020,0.016,0.085,0.022,0.111,0.111,0.058,0.122,
+0.078,0.092,0.133,0.085,0.067,0.136,0.156,0.161,0.118,0.159,
+0.107,0.016,0.093,0.120,0.104,0.116,0.095,0.192,0.921,0.631,
+0.592,0.528,0.646,0.657,0.581,0.491,0.964,0.141,0.800,0.755,
+0.581,0.726,0.543,0.727,0.084,0.096,0.052,0.057,0.059,0.099,
+0.064,0.049,0.105,0.027,0.107,0.092,0.073,0.125,0.071,0.073,
+0.749,0.806,0.779,0.661,0.082,0.101,0.127,0.077,1.113,0.160,
+0.776,0.851,0.565,0.863,0.882,0.789,0.592,0.456,0.612,0.595,
+0.718,0.818,0.747,0.754,1.437,0.177,1.099,1.176,0.679,0.779,
+0.884,1.046,0.871,0.463,0.325,0.541,0.515,0.387,0.280,0.326,
+0.646,0.089,0.399,0.536,0.663,0.954,0.348,0.726,1.038,0.712,
+0.481,0.648,0.637,0.750,0.476,0.456,0.780,0.090,0.692,0.814,
+0.691,1.086,0.563,0.770,0.800,0.755,0.593,0.749,0.068,0.107,
+0.062,0.070,0.887,0.093,0.789,0.916,0.668,1.025,0.813,0.955,
+0.792,0.502,0.496,0.736,0.750,0.656,0.477,0.620,1.054,0.092,
+0.933,1.255,1.036,0.933,1.031,1.626,1.858,0.916,0.691,1.367,
+0.713,0.506,0.433,0.492,0.673,0.063,0.467,0.659,0.951,0.663,
+1.158,1.280,0.851,0.474,0.353,0.611,0.519,0.316,0.319,0.405,
+0.540,0.042,0.416,0.546,0.484,0.437,0.662,0.725,0.615,0.493,
+0.515,0.758,0.056,0.044,0.043,0.087,0.478,0.040,0.393,0.554,
+0.424,0.431,0.412,0.685,1.002,0.472,0.557,1.275,0.611,0.430,
+0.457,0.755,0.639,0.046,0.543,0.781,0.870,0.593,0.806,1.709,
+1.259,0.826,0.488,0.915,0.853,0.690,0.450,0.634,0.666,0.064,
+0.532,0.648,0.621,0.602,0.466,0.839,0.926,0.602,0.342,0.556,
+0.659,0.486,0.365,0.451,0.545,0.058,0.483,0.659,0.489,0.556,
+0.401,0.552,0.660,0.570,0.443,0.673,0.052,0.057,0.043,0.073,
+0.603,0.058,0.513,0.706,0.479,0.650,0.501,0.730,1.009,0.482,
+0.427,0.850,0.834,0.606,0.558,0.929,0.669,0.055,0.662,0.839,
+0.720,0.769,0.693,1.274,1.071,0.483,0.479,0.665,0.757,0.491,
+0.458,0.581,0.741,0.082,0.582,0.702,0.577,0.543,0.554,0.866,
+0.064,0.048,0.038,0.062,0.051,0.063,0.041,0.047,0.059,8.36e-3,
+0.067,0.069,0.055,0.082,0.055,0.074,0.556,0.509,0.461,0.732,
+0.042,0.046,0.047,0.070,0.688,0.068,0.594,0.708,0.504,0.668,
+0.601,0.745,0.605,0.402,0.432,0.721,0.644,0.544,0.553,0.803,
+1.161,0.091,0.870,1.452,0.690,0.631,0.829,1.248,1.402,0.606,
+0.527,0.977,0.701,0.446,0.384,0.536,0.720,0.079,0.449,0.706,
+0.934,0.713,0.601,1.379,0.802,0.490,0.404,0.698,0.540,0.455,
+0.408,0.492,0.592,0.049,0.507,0.825,0.625,0.778,0.534,0.910,
+1.049,0.766,0.601,1.073,0.075,0.114,0.045,0.091,0.873,0.069,
+0.733,1.032,0.855,1.053,0.899,1.230,1.475,0.663,0.738,1.628,
+0.955,0.817,0.702,1.172,1.396,0.082,1.254,2.052,2.146,1.368,
+1.717,2.996,2.493,1.611,1.483,2.297,1.733,1.202,1.178,1.299,
+1.617,0.183,1.207,1.649,1.830,1.655,1.330,1.971,1.833,1.296,
+1.100,1.259,1.651,1.058,1.122,1.003,1.349,0.145,1.425,1.376,
+0.862,1.107,1.198,1.352,1.171,1.008,0.887,1.029,0.134,0.104,
+0.126,0.167,0.935,0.117,0.943,1.031,0.749,0.975,1.270,1.295,
+1.347,1.052,0.726,1.334,1.387,0.938,0.820,1.194,1.009,0.096,
+0.959,1.280,1.168,0.881,1.349,2.063,2.184,1.642,1.214,1.448,
+1.518,1.388,1.236,1.078,1.416,0.201,1.104,1.474,0.969,1.318,
+0.975,1.301,1.642,1.350,1.085,1.040,1.251,0.929,1.191,0.993,
+1.479,0.205,1.888,1.835,0.690,1.094,1.668,1.173,1.697,1.546,
+1.044,1.008,0.249,0.183,0.194,0.162,1.878,0.254,1.780,1.795,
+0.880,1.669,2.146,1.274,0.970,1.886,0.547,0.780,1.394,1.044,
+0.837,1.036,1.147,0.134,1.152,1.284,0.872,0.903,1.421,1.606,
+1.228,0.720,0.718,0.838,0.938,0.829,0.944,0.833,1.322,0.184,
+0.985,1.062,0.791,0.847,0.916,1.278,0.110,0.105,0.099,0.097,
+0.109,0.138,0.129,0.108,0.133,0.035,0.166,0.167,0.084,0.179,
+0.212,0.168,1.298,0.884,1.049,0.857,0.132,0.117,0.176,0.149,
+1.242,0.185,1.479,1.335,0.788,1.218,3.467,1.580,0.874,0.503,
+0.513,0.556,0.934,0.898,0.956,0.919,1.301,0.156,1.386,1.468,
+0.813,0.976,1.848,1.646,1.276,0.608,0.573,0.933,0.676,0.495,
+0.452,0.520,0.777,0.108,0.668,0.683,0.757,0.653,0.602,1.121,
+1.203,0.799,0.825,1.016,0.933,0.868,0.787,0.795,0.781,0.108,
+0.912,1.117,0.623,0.909,0.846,1.045,0.645,0.583,0.630,0.778,
+0.067,0.061,0.083,0.105,0.791,0.101,0.787,0.938,0.567,0.817,
+1.180,1.110,0.868,0.557,0.513,0.929,0.598,0.614,0.643,0.732,
+1.041,0.097,1.000,1.369,1.220,1.120,1.554,2.287,2.605,1.790,
+1.501,1.915,2.003,1.768,1.549,1.386,1.559,0.205,1.130,1.408,
+1.323,1.540,1.204,1.605,2.135,1.852,1.318,1.377,2.100,1.680,
+1.696,1.354,1.532,0.261,1.704,1.734,0.783,1.348,1.259,1.412,
+1.590,1.198,1.132,1.097,0.249,0.193,0.190,0.196,1.079,0.162,
+1.072,1.108,0.676,1.079,1.511,1.399,1.095,0.586,0.564,1.026,
+1.434,1.167,0.930,1.100,0.880,0.096,0.949,1.091,0.991,0.772,
+1.420,1.729,2.446,2.258,1.237,1.497,2.302,3.044,1.631,1.329,
+1.529,0.253,1.230,1.439,0.973,1.535,1.041,1.436,2.002,2.058,
+1.381,1.212,1.693,0.820,1.393,1.153,1.695,0.331,1.787,2.018,
+0.728,1.509,1.333,1.216,5.176,2.270,1.449,1.454,1.274,0.406,
+0.314,0.284,2.080,0.421,1.911,2.212,1.109,2.507,3.586,2.052,
+1.403,0.804,0.603,0.906,3.465,1.703,1.188,1.278,1.229,0.155,
+1.409,1.596,0.819,1.016,2.327,1.791,1.433,1.005,1.141,0.898,
+1.609,1.758,1.473,1.069,2.350,0.327,1.352,1.396,1.045,1.393,
+1.101,1.313,0.161,0.232,0.235,0.129,0.181,0.350,0.274,0.164,
+0.206,0.116,0.273,0.258,0.097,0.323,0.210,0.164,3.690,2.569,
+1.786,1.550,0.483,0.488,0.412,0.315,2.539,0.447,2.323,2.416,
+1.820,2.925,3.721,2.305,2.728,0.877,0.844,0.950,1.846,2.321,
+1.923,1.703,1.938,0.273,2.098,2.262,1.153,1.355,2.171,2.051,
+0.900,0.622,0.616,0.744,0.734,0.652,0.551,0.502,0.818,0.085,
+0.643,0.635,0.655,0.641,0.545,0.869,1.116,1.161,1.054,0.954,
+1.076,1.507,1.253,1.093,0.934,0.179,1.190,1.252,0.563,1.276,
+0.988,1.061,0.934,0.891,0.857,0.821,0.100,0.118,0.096,0.106,
+0.928,0.125,1.154,1.193,0.655,1.099,1.474,1.128,0.881,0.530,
+0.488,0.736,0.722,0.772,0.603,0.774,1.148,0.101,1.134,1.486,
+1.013,1.072,1.440,1.761,1.495,1.587,0.891,1.230,0.990,1.044,
+0.811,0.798,0.942,0.133,0.831,0.914,0.763,0.925,0.801,0.918,
+1.781,1.771,1.059,1.178,1.599,1.729,1.516,1.259,1.591,0.305,
+2.031,1.846,0.769,1.479,1.133,1.163,0.976,1.369,1.189,1.391,
+0.139,0.227,0.220,0.359,1.058,0.219,1.344,1.277,0.550,1.253,
+1.102,1.142,0.719,0.592,0.487,0.879,0.871,0.977,0.862,1.067,
+0.998,0.146,1.155,1.308,0.874,0.847,1.175,1.820,0.105,0.151,
+0.079,0.091,0.150,0.267,0.143,0.118,0.121,0.038,0.126,0.119,
+0.119,0.165,0.094,0.129,0.169,0.252,0.130,0.122,0.258,0.367,
+0.273,0.194,0.206,0.109,0.355,0.281,0.089,0.240,0.187,0.142,
+0.146,0.231,0.157,0.133,0.051,0.111,0.116,0.060,0.214,0.128,
+0.356,0.300,0.092,0.295,0.258,0.182,0.104,0.118,0.068,0.107,
+0.237,0.324,0.230,0.270,0.199,0.047,0.253,0.246,0.128,0.144,
+0.201,0.230,1.271,1.163,0.969,0.795,1.174,1.750,1.509,1.050,
+1.593,0.351,2.215,1.560,0.778,1.391,1.201,1.332,0.128,0.255,
+0.142,0.108,0.170,0.377,0.305,0.156,0.257,0.113,0.477,0.296,
+0.107,0.324,0.220,0.162,1.268,2.158,1.774,1.210,0.213,0.450,
+0.465,0.263,2.511,0.644,2.095,2.272,1.020,2.722,2.517,1.870,
+0.873,0.834,0.773,0.775,1.549,2.578,2.231,1.749,3.915,0.748,
+3.029,2.877,1.299,2.071,2.271,2.241,0.886,0.684,0.555,0.840,
+0.664,0.632,0.470,0.471,0.799,0.110,0.755,0.849,0.681,0.827,
+0.514,0.922,1.314,1.459,1.068,1.041,1.402,1.986,1.458,1.137,
+1.558,0.281,2.160,2.108,0.946,2.012,1.367,1.442,0.935,1.473,
+1.191,1.080,0.113,0.217,0.186,0.150,1.730,0.324,2.029,2.180,
+1.066,2.368,1.771,1.699,0.856,0.681,0.595,0.891,0.819,1.134,
+0.951,0.951,1.755,0.262,2.141,2.303,1.386,1.674,1.968,2.380,
+1.578,0.889,0.753,1.189,0.914,0.650,0.576,0.835,0.939,0.088,
+0.747,0.899,0.989,0.814,3.099,1.529,0.918,0.639,0.518,0.675,
+0.750,0.567,0.581,0.634,0.727,0.077,0.809,0.866,0.622,0.626,
+1.815,1.061,0.654,0.755,0.564,0.815,0.066,0.065,0.063,0.118,
+0.641,0.078,0.751,0.800,0.483,0.604,0.739,0.926,0.771,0.496,
+0.497,0.941,0.671,0.490,0.484,0.916,0.903,0.073,0.738,1.147,
+0.970,0.661,1.026,1.933,1.669,1.299,0.827,1.370,1.330,1.378,
+1.024,1.109,1.168,0.161,1.089,1.307,1.011,1.216,0.980,1.369,
+1.407,1.204,0.810,1.033,1.391,1.300,1.186,1.216,1.176,0.168,
+1.537,1.827,0.774,1.137,1.396,1.292,0.999,1.256,0.922,1.098,
+0.135,0.201,0.149,0.198,1.287,0.215,1.510,1.774,0.847,1.679,
+1.482,1.677,0.975,0.759,0.658,1.044,1.430,1.331,1.287,1.933,
+1.224,0.135,1.691,1.922,1.074,1.139,1.496,2.029,1.001,0.593,
+0.555,0.690,0.957,0.895,0.797,0.820,1.072,0.167,1.232,1.294,
+0.692,0.870,1.072,1.454,0.079,0.100,0.062,0.073,0.107,0.216,
+0.117,0.110,0.106,0.033,0.195,0.170,0.072,0.183,0.154,0.137,
+0.821,1.061,0.883,0.934,0.092,0.148,0.135,0.161,1.367,0.253,
+1.689,1.762,0.774,1.605,1.795,1.566,0.799,0.592,0.654,0.748,
+1.111,1.143,1.245,1.520,3.080,0.277,2.193,3.749,1.154,1.277,
+1.963,2.224,1.134,0.639,0.589,0.932,0.785,0.665,0.501,0.599,
+0.797,0.101,0.664,0.872,0.747,0.625,0.701,1.234,0.962,0.730,
+0.609,0.862,0.849,0.933,0.807,0.817,0.755,0.097,0.917,1.172,
+0.700,0.986,0.839,1.193,0.856,0.884,0.883,1.083,0.070,0.090,
+0.086,0.120,1.112,0.129,1.345,1.597,0.917,1.344,1.493,1.673,
+1.124,0.655,0.804,1.375,0.936,0.996,1.083,1.349,1.547,0.121,
+1.848,2.603,1.836,1.558,2.238,2.825,2.813,1.504,1.345,2.223,
+1.713,1.174,1.126,1.265,1.351,0.168,0.960,1.759,1.582,1.452,
+1.096,1.678,1.404,0.974,0.665,0.875,1.403,0.912,0.830,0.901,
+1.342,0.274,0.909,0.933,0.919,1.937,0.801,1.003,1.134,0.832,
+0.794,0.999,0.098,0.079,0.089,0.161,0.797,0.093,0.901,1.668,
+0.606,0.847,0.936,1.216,1.373,0.536,0.512,0.962,0.894,0.646,
+0.645,0.927,0.700,0.065,0.663,1.028,0.855,0.522,0.924,1.859,
+2.234,1.571,1.039,1.525,1.887,1.502,1.317,1.163,1.137,0.156,
+0.938,1.232,0.929,1.213,0.806,1.132,1.961,1.450,1.019,1.015,
+1.677,1.051,1.292,1.072,1.506,0.251,1.372,1.555,0.913,2.067,
+0.859,1.011,1.474,1.492,1.236,1.452,0.180,0.209,0.198,0.275,
+1.740,0.294,2.040,5.398,0.852,1.733,1.677,2.087,1.075,0.746,
+0.551,0.898,1.394,1.250,1.096,1.467,1.087,0.123,1.114,1.849,
+0.871,0.931,1.259,3.263,1.395,0.883,0.957,1.161,1.631,1.369,
+1.364,1.187,1.423,0.230,1.184,1.145,1.031,1.275,1.019,1.268,
+0.144,0.151,0.117,0.151,0.199,0.222,0.200,0.182,0.170,0.045,
+0.238,0.205,0.150,0.336,0.184,0.201,1.278,1.758,1.235,1.097,
+0.156,0.180,0.227,0.206,1.598,0.302,1.896,1.854,0.788,1.736,
+1.973,1.452,0.801,0.649,0.558,0.727,1.325,1.337,1.517,1.404,
+1.335,0.177,1.531,1.695,0.892,0.969,1.564,1.735,1.435,0.666,
+0.614,0.978,0.959,0.683,0.631,0.625,0.818,0.091,0.611,0.686,
+0.946,0.733,0.678,1.116,1.419,0.911,0.927,1.308,1.267,1.010,
+0.921,0.946,0.885,0.100,0.983,1.096,0.810,1.044,0.847,1.130,
+1.009,1.133,1.006,1.136,0.112,0.121,0.143,0.168,1.291,0.164,
+1.428,1.741,1.126,2.075,2.209,1.894,1.172,0.773,0.703,1.205,
+0.814,0.702,0.876,1.137,1.408,0.136,1.422,1.989,1.677,1.519,
+2.012,3.308,0.187,0.136,0.098,0.142,0.161,0.176,0.140,0.129,
+0.140,0.023,0.107,0.295,0.097,0.138,0.098,0.159,0.177,0.156,
+0.102,0.127,0.204,0.226,0.200,0.161,0.147,0.037,0.166,0.163,
+0.094,0.166,0.131,0.139,0.093,0.113,0.122,0.117,0.017,0.033,
+0.032,0.028,0.109,0.025,0.157,0.473,0.060,0.112,0.135,0.201,
+0.098,0.058,0.058,0.104,0.137,0.140,0.102,0.147,0.086,0.015,
+0.101,0.184,0.083,0.070,0.120,0.224,0.191,0.208,0.107,0.127,
+0.225,0.288,0.234,0.151,0.150,0.040,0.136,0.165,0.083,0.142,
+0.096,0.117,0.251,0.305,0.171,0.164,0.332,0.277,0.340,0.235,
+0.274,0.093,0.331,0.321,0.112,0.254,0.175,0.171,0.219,0.254,
+0.174,0.178,0.070,0.115,0.117,0.076,0.320,0.141,0.430,1.218,
+0.108,0.317,0.368,0.340,0.117,0.087,0.071,0.104,0.251,0.250,
+0.213,0.214,0.161,0.032,0.196,0.266,0.088,0.111,0.176,0.309,
+0.139,0.107,0.071,0.089,0.195,0.254,0.234,0.153,0.153,0.048,
+0.159,0.133,0.075,0.137,0.108,0.120,0.020,0.045,0.028,0.040,
+0.053,0.110,0.089,0.058,0.046,0.049,0.100,0.070,0.014,0.049,
+0.046,0.030,0.201,0.327,0.213,0.171,0.046,0.105,0.138,0.061,
+0.345,0.170,0.439,0.421,0.107,0.364,0.404,0.257,0.123,0.095,
+0.079,0.094,0.213,0.323,0.321,0.248,0.215,0.069,0.319,0.311,
+0.091,0.147,0.230,0.220,0.124,0.096,0.078,0.122,0.105,0.113,
+0.103,0.087,0.090,0.016,0.085,0.087,0.085,0.090,0.093,0.123,
+0.181,0.188,0.165,0.695,0.226,0.319,0.234,0.235,0.159,0.037,
+0.225,0.221,0.116,0.216,0.187,0.212,0.100,0.154,0.147,0.154,
+0.019,0.038,0.043,0.043,0.190,0.050,0.254,0.323,0.111,0.236,
+0.428,0.250,0.111,0.099,0.079,0.140,0.112,0.128,0.122,0.142,
+0.162,0.023,0.194,0.237,0.143,0.161,0.235,0.329,2.243,1.560,
+1.167,1.712,1.268,1.182,0.983,1.079,1.244,0.140,1.057,1.250,
+0.767,0.764,0.734,0.970,2.224,1.779,1.025,1.156,1.947,1.827,
+1.629,1.444,1.647,0.282,2.331,2.142,0.740,1.267,1.013,1.263,
+1.099,1.399,1.272,1.249,0.200,0.297,0.314,0.346,1.651,0.296,
+2.277,2.835,0.712,1.495,1.379,1.487,0.996,0.635,0.606,0.892,
+1.225,1.146,1.092,1.270,1.212,0.158,1.674,1.960,0.822,0.818,
+1.267,1.898,0.205,0.200,0.089,0.117,0.202,0.294,0.211,0.191,
+0.126,0.043,0.161,0.171,0.071,0.121,0.082,0.109,0.195,0.299,
+0.110,0.119,0.266,0.328,0.259,0.206,0.168,0.080,0.308,0.253,
+0.073,0.167,0.118,0.111,0.133,0.321,0.200,0.172,0.051,0.135,
+0.157,0.078,0.294,0.162,0.546,1.181,0.094,0.297,0.271,0.287,
+0.137,0.116,0.075,0.130,0.245,0.349,0.270,0.290,0.169,0.041,
+0.281,0.411,0.094,0.123,0.171,0.286,3.867,2.420,1.302,1.005,
+1.993,3.086,2.193,1.476,2.042,0.483,3.971,2.167,0.856,1.338,
+1.740,1.449,0.346,0.910,0.214,0.143,0.389,1.060,0.442,0.255,
+0.348,0.190,0.878,0.455,0.127,0.345,0.305,0.197,1.898,2.996,
+2.758,1.640,0.403,0.551,0.849,0.372,2.811,0.627,1.362,2.043,
+1.140,2.036,2.957,2.121,1.094,1.002,0.889,0.807,1.778,2.354,
+2.447,1.802,2.115,0.401,4.705,3.151,0.945,1.373,2.660,2.164,
+1.320,0.904,0.717,0.870,0.868,0.989,0.633,0.592,0.878,0.131,
+1.272,0.984,0.619,0.688,0.721,0.894,1.563,2.511,1.164,1.036,
+1.809,3.140,1.723,1.293,1.645,0.342,3.369,2.401,0.878,1.570,
+1.575,1.341,1.319,2.013,1.608,1.454,0.194,0.428,0.336,0.284,
+2.717,0.471,3.887,4.515,1.186,2.512,2.753,2.660,1.018,0.843,
+0.734,0.953,1.171,1.515,1.288,1.238,1.827,0.230,3.332,2.733,
+1.263,1.573,2.332,2.527,1.596,0.861,0.716,1.177,1.004,0.666,
+0.640,0.777,0.796,0.087,0.596,0.806,0.782,0.674,0.762,1.068,
+1.182,0.816,0.505,0.678,0.899,0.707,0.626,0.713,0.694,0.083,
+0.708,0.835,0.551,0.630,0.578,0.756,0.905,0.706,0.594,0.762,
+0.087,0.089,0.091,0.133,0.883,0.103,1.030,1.348,0.717,0.790,
+0.877,1.119,0.854,0.463,0.431,0.758,0.755,0.578,0.601,0.805,
+0.744,0.069,0.693,1.002,0.785,0.615,0.863,1.597,2.042,1.609,
+0.919,1.327,1.676,1.494,1.427,1.246,1.248,0.151,1.172,1.293,
+0.870,1.049,0.796,1.245,1.676,1.537,0.843,1.018,1.773,1.560,
+1.471,1.398,1.200,0.168,1.528,1.794,0.842,1.058,0.925,1.093,
+1.279,1.959,1.307,1.399,0.160,0.266,0.232,0.263,1.978,0.339,
+2.581,4.324,1.080,2.149,2.081,2.370,1.297,0.931,0.718,1.091,
+1.668,1.752,1.645,1.938,1.414,0.189,1.737,2.335,0.964,1.161,
+1.394,2.062,1.811,1.038,0.804,0.962,1.402,1.388,1.400,1.212,
+1.204,0.189,1.630,1.466,0.764,0.926,1.159,1.522,0.132,0.207,
+0.093,0.105,0.173,0.309,0.219,0.177,0.131,0.047,0.299,0.236,
+0.091,0.168,0.150,0.159,1.508,2.120,1.603,1.653,0.199,0.257,
+0.290,0.264,2.363,0.424,2.742,3.216,1.156,2.225,2.845,2.524,
+1.179,1.034,0.974,1.063,2.296,2.150,2.127,2.282,1.986,0.272,
+3.143,3.886,1.117,1.464,2.510,2.641,1.488,0.738,0.736,1.083,
+0.888,0.712,0.681,0.708,0.855,0.112,0.795,0.951,0.796,0.645,
+0.750,1.266,1.188,1.037,0.655,0.929,1.078,1.213,1.037,1.041,
+0.945,0.105,1.363,1.502,0.745,0.894,0.935,1.211,1.458,1.490,
+1.250,1.587,0.132,0.163,0.144,0.206,2.116,0.244,2.702,3.520,
+1.401,2.184,2.645,2.714,1.570,0.909,0.929,1.611,1.388,1.373,
+1.328,1.704,1.841,0.166,2.489,3.329,1.810,1.588,2.578,3.299,
+3.092,1.416,1.178,2.349,1.414,0.903,0.723,0.987,1.186,0.115,
+0.621,0.992,1.669,1.296,0.836,1.535,1.367,0.785,0.513,0.793,
+0.933,0.549,0.482,0.578,0.810,0.075,0.570,0.646,0.704,0.770,
+0.532,0.807,0.945,0.646,0.572,0.959,0.080,0.060,0.058,0.124,
+0.710,0.065,0.569,0.854,0.632,0.707,0.690,1.026,1.282,0.577,
+0.530,1.180,0.896,0.553,0.512,0.895,0.776,0.064,0.667,0.956,
+1.140,0.667,0.931,2.085,1.642,0.945,0.607,1.081,1.103,0.675,
+0.532,0.679,0.676,0.074,0.400,0.614,0.616,0.564,0.400,0.782,
+1.148,0.705,0.430,0.689,0.766,0.457,0.444,0.521,0.782,0.073,
+0.482,0.641,0.539,0.592,0.431,0.631,0.903,0.734,0.574,0.808,
+0.073,0.072,0.065,0.096,0.739,0.071,0.602,1.129,0.574,0.743,
+0.666,0.929,0.673,0.453,0.312,0.588,0.657,0.492,0.405,0.617,
+0.590,0.047,0.467,0.740,0.574,0.477,0.639,1.284,1.181,0.688,
+0.567,0.792,0.957,0.654,0.569,0.713,0.849,0.106,0.520,0.622,
+0.804,0.738,0.541,1.073,0.102,0.077,0.052,0.086,0.092,0.077,
+0.063,0.087,0.078,0.013,0.066,0.086,0.105,0.133,0.074,0.138,
+0.724,0.680,0.573,0.681,0.076,0.060,0.066,0.092,0.768,0.103,
+0.666,0.845,0.622,0.853,0.890,0.997,0.629,0.424,0.379,0.616,
+0.792,0.589,0.573,0.802,0.740,0.073,0.689,0.953,0.715,0.627,
+0.823,1.357,1.853,0.946,0.570,1.109,0.807,0.489,0.470,0.614,
+0.836,0.071,0.485,0.627,1.177,0.733,0.614,1.318,1.097,0.676,
+0.523,0.808,0.674,0.474,0.426,0.540,0.629,0.053,0.544,0.666,
+0.739,0.715,0.569,0.985,0.820,0.817,0.613,0.828,0.066,0.052,
+0.063,0.084,0.824,0.074,0.644,0.898,0.822,1.144,1.112,1.346,
+1.145,0.659,0.601,1.200,0.739,0.537,0.606,0.864,1.107,0.081,
+0.900,1.412,1.636,1.401,1.664,3.061,2.379,1.294,0.935,1.693,
+1.570,1.180,0.808,1.015,1.236,0.125,0.784,1.370,1.175,1.072,
+0.815,1.475,1.570,0.986,0.674,1.001,1.353,0.982,0.829,0.912,
+1.153,0.110,1.029,1.047,0.756,0.856,0.718,1.045,0.885,0.750,
+0.679,0.978,0.093,0.088,0.074,0.137,0.825,0.098,0.742,1.538,
+0.622,0.841,0.874,1.389,0.909,0.489,0.468,0.946,0.979,0.751,
+0.551,0.947,0.763,0.077,0.633,1.246,0.851,0.679,0.884,1.970,
+1.819,1.252,0.672,1.167,1.520,1.198,0.817,0.882,1.082,0.109,
+0.586,0.914,0.766,0.819,0.548,1.013,1.590,1.314,0.681,0.896,
+1.379,0.859,0.848,0.902,1.722,0.181,1.016,1.182,0.754,0.964,
+0.711,0.974,1.267,1.211,0.829,1.094,0.162,0.158,0.126,0.165,
+1.420,0.206,1.126,2.419,0.892,1.479,1.311,1.787,0.828,0.561,
+0.429,0.774,1.163,0.989,0.724,0.982,0.880,0.082,0.719,1.179,
+0.830,0.707,0.873,1.635,1.172,0.720,0.534,0.804,1.176,1.062,
+0.888,0.904,0.984,0.138,0.608,0.848,0.686,0.772,0.810,1.224,
+0.071,0.088,0.056,0.130,0.100,0.145,0.103,0.104,0.090,0.030,
+0.099,0.134,0.073,0.132,0.096,0.127,1.114,1.205,0.853,0.984,
+0.107,0.138,0.136,0.139,1.333,0.225,1.176,1.555,0.758,1.408,
+1.470,1.786,0.869,0.626,0.537,0.833,1.217,1.277,1.092,1.362,
+1.152,0.127,1.162,1.683,0.832,0.925,1.365,2.034,1.197,0.767,
+0.555,0.940,0.935,0.609,0.531,0.677,0.773,0.075,0.521,0.684,
+0.790,0.650,0.639,1.175,1.153,0.860,0.725,1.426,0.929,0.916,
+0.761,0.879,0.845,0.099,0.842,1.025,0.736,0.979,0.809,1.165,
+0.894,0.894,0.807,1.018,0.073,0.089,0.087,0.106,0.943,0.107,
+1.025,1.345,0.810,1.238,1.837,1.881,1.029,0.632,0.585,0.966,
+0.842,0.780,0.697,0.762,1.103,0.087,1.035,1.546,1.207,1.159,
+1.453,2.475,2.237,1.449,0.953,1.661,1.270,1.176,0.753,1.023,
+1.166,0.115,0.701,1.067,1.050,0.922,0.716,1.210,1.805,1.502,
+0.847,1.266,1.530,1.279,1.017,1.080,1.435,0.180,1.294,1.461,
+0.950,1.334,0.972,1.462,1.153,1.484,0.941,1.377,0.139,0.208,
+0.152,0.251,1.267,0.168,1.208,1.656,0.793,1.387,1.234,1.661,
+1.175,0.795,0.604,1.148,1.264,1.092,0.862,1.249,1.243,0.133,
+1.188,1.735,1.179,0.986,1.666,2.801,0.150,0.139,0.071,0.111,
+0.143,0.175,0.095,0.120,0.113,0.024,0.087,0.105,0.093,0.121,
+0.065,0.120,0.148,0.162,0.079,0.109,0.172,0.190,0.122,0.130,
+0.134,0.034,0.164,0.155,0.088,0.143,0.101,0.130,0.095,0.186,
+0.097,0.116,0.019,0.058,0.039,0.031,0.159,0.056,0.207,0.299,
+0.082,0.200,0.171,0.191,0.123,0.102,0.065,0.129,0.173,0.221,
+0.140,0.192,0.147,0.025,0.154,0.216,0.116,0.139,0.169,0.276,
+2.057,1.333,0.913,1.034,1.747,1.782,1.496,1.318,1.589,0.301,
+1.917,1.491,0.957,1.322,1.416,1.697,0.153,0.226,0.095,0.098,
+0.167,0.277,0.165,0.142,0.200,0.067,0.308,0.204,0.118,0.240,
+0.193,0.181,1.686,2.392,1.892,1.672,0.226,0.359,0.346,0.267,
+2.760,0.484,1.978,2.624,1.304,2.674,2.893,2.878,1.223,1.006,
+0.905,1.091,1.741,2.139,2.046,1.902,2.267,0.326,3.368,3.281,
+1.487,1.846,4.348,3.622,1.461,0.971,0.771,1.105,1.104,0.885,
+0.705,0.850,0.937,0.117,1.021,1.162,0.928,0.912,0.821,1.426,
+1.729,1.605,0.908,1.182,1.551,1.627,1.120,1.101,1.568,0.207,
+2.208,1.961,1.191,1.760,1.494,1.753,1.562,1.897,1.414,1.703,
+0.138,0.229,0.185,0.193,2.360,0.278,2.549,2.938,1.620,2.792,
+2.890,3.007,1.337,0.953,0.837,1.249,1.194,1.344,1.324,1.295,
+1.972,0.187,2.632,2.520,1.763,2.037,3.013,3.449,3.794,1.417,
+0.977,2.005,1.481,0.926,0.681,1.031,1.190,0.104,0.691,1.050,
+1.391,1.031,1.012,1.774,1.385,0.870,0.490,0.825,0.965,0.709,
+0.517,0.698,0.908,0.084,0.669,1.017,0.723,0.708,0.639,1.069,
+1.158,1.055,0.638,1.177,0.097,0.102,0.075,0.150,0.983,0.097,
+0.787,1.193,0.814,1.000,0.932,1.496,1.868,0.998,0.709,1.594,
+1.158,0.825,0.686,1.247,1.455,0.110,0.938,1.549,1.659,1.178,
+1.561,3.494,2.376,1.437,0.849,1.518,1.546,1.187,0.848,1.101,
+1.099,0.117,0.912,1.164,1.026,1.054,0.780,1.397,1.695,1.281,
+0.689,1.140,1.600,1.192,0.806,1.231,1.097,0.116,0.996,1.289,
+0.812,1.020,0.767,1.227,1.366,1.651,1.106,1.444,0.105,0.146,
+0.104,0.165,1.439,0.175,1.547,2.007,1.031,1.724,1.560,2.061,
+1.512,1.025,0.728,1.378,1.345,1.224,0.987,1.624,1.628,0.128,
+1.254,1.803,1.253,1.286,1.508,2.580,2.126,1.167,0.894,1.255,
+1.619,1.199,1.125,1.365,1.519,0.199,1.226,1.600,1.242,1.270,
+1.309,2.230,0.134,0.125,0.070,0.116,0.130,0.144,0.111,0.126,
+0.104,0.024,0.140,0.160,0.114,0.158,0.124,0.200,1.815,1.919,
+1.423,1.972,0.144,0.175,0.154,0.217,2.300,0.302,2.397,2.799,
+1.516,2.363,2.708,3.490,1.679,1.200,1.082,1.565,1.940,1.761,
+1.696,2.295,2.220,0.214,2.745,3.859,1.731,1.783,3.276,4.707,
+3.696,1.383,1.064,2.143,1.273,0.892,0.828,1.157,1.438,0.127,
+0.960,1.497,1.914,1.399,1.377,3.226,1.814,1.292,0.831,1.413,
+1.390,1.245,0.984,1.162,1.310,0.119,1.284,1.739,1.386,1.545,
+1.227,2.294,1.984,1.813,1.484,2.417,0.119,0.137,0.107,0.202,
+2.466,0.203,2.277,3.305,2.155,2.679,3.171,4.310,3.120,1.289,
+1.213,3.044,1.528,1.424,1.272,2.228,2.321,0.160,2.219,3.951,
+2.456,2.091,2.771,6.048,5.143,1.887,1.473,3.436,2.317,1.288,
+1.221,1.761,2.812,0.236,1.097,1.766,6.372,2.835,1.896,3.153,
+2.767,1.434,0.975,1.443,1.588,0.868,0.807,0.920,1.697,0.106,
+0.927,1.212,1.736,1.175,0.990,1.662,2.564,1.617,1.307,2.043,
+0.187,0.139,0.119,0.267,1.558,0.121,0.808,1.219,1.725,1.561,
+1.184,1.920,4.287,1.704,1.712,3.780,2.364,1.487,1.464,2.760,
+2.097,0.173,1.180,1.896,3.170,1.771,2.077,3.607,3.109,1.464,
+1.007,1.568,1.596,0.912,0.830,0.888,1.386,0.124,0.601,1.022,
+1.377,1.089,0.632,1.261,1.896,1.046,0.618,0.892,1.026,0.513,
+0.516,0.541,1.055,0.085,0.578,0.784,0.747,0.643,0.494,0.818,
+1.522,1.264,0.751,1.051,0.109,0.079,0.066,0.100,1.100,0.089,
+0.613,0.887,0.842,0.954,0.665,0.982,1.314,0.818,0.603,1.058,
+1.130,0.764,0.788,0.927,1.205,0.080,0.641,0.990,1.140,0.841,
+0.827,1.658,2.095,0.916,0.817,1.337,1.249,0.649,0.674,0.857,
+1.397,0.144,0.642,1.110,1.535,1.103,0.927,1.789,0.146,0.089,
+0.061,0.104,0.102,0.071,0.059,0.078,0.106,0.013,0.082,0.118,
+0.151,0.157,0.110,0.194,1.019,0.830,0.671,0.953,0.079,0.060,
+0.053,0.094,0.848,0.074,0.470,0.668,0.713,0.706,0.737,0.848,
+1.105,0.613,0.596,1.023,1.056,0.717,0.691,1.069,1.063,0.089,
+0.749,1.176,0.970,0.837,0.975,1.617,3.741,1.299,1.163,2.417,
+1.224,0.647,0.745,0.976,1.565,0.145,0.790,1.270,2.680,1.551,
+1.345,3.107,2.146,1.143,0.959,1.421,1.164,0.717,0.716,0.856,
+1.329,0.084,1.178,1.431,1.655,1.290,1.252,1.965,1.319,1.074,
+0.807,1.303,0.102,0.074,0.063,0.107,1.202,0.079,0.668,1.095,
+1.166,1.131,1.029,1.479,2.051,1.072,1.007,2.233,1.171,0.766,
+0.772,1.342,1.622,0.097,1.099,1.836,2.296,1.621,1.681,3.370,
+3.164,1.569,1.270,2.184,1.432,0.977,0.856,1.123,1.245,0.119,
+0.646,1.106,1.543,1.215,0.836,1.630,1.596,0.993,0.674,0.974,
+1.012,0.651,0.618,0.692,0.861,0.068,0.541,0.857,0.718,0.682,
+0.569,1.126,1.171,1.129,0.797,1.046,0.090,0.102,0.066,0.119,
+0.728,0.068,0.505,0.763,0.665,0.780,0.589,1.009,1.151,0.609,
+0.599,1.037,0.979,0.799,0.595,0.888,1.019,0.090,0.474,0.802,
+0.984,0.702,0.784,1.612,2.002,1.204,0.654,1.109,1.146,0.848,
+0.562,0.650,0.896,0.089,0.406,0.689,0.813,0.756,0.413,0.814,
+1.091,0.769,0.446,0.606,0.628,0.334,0.388,0.404,0.659,0.060,
+0.400,0.612,0.425,0.476,0.369,0.539,0.891,1.252,0.542,0.697,
+0.075,0.138,0.051,0.062,0.748,0.099,0.496,0.658,0.516,0.842,
+0.559,0.730,0.714,0.545,0.377,0.588,0.703,0.758,0.375,0.498,
+0.871,0.070,0.385,0.591,0.593,0.526,0.457,0.952,1.545,0.755,
+0.638,0.898,0.988,0.705,0.703,0.759,0.892,0.101,0.515,1.024,
+0.779,0.733,0.618,1.169,0.099,0.078,0.056,0.075,0.061,0.077,
+0.058,0.055,0.060,0.014,0.062,0.093,0.061,0.095,0.069,0.102,
+0.865,0.866,0.706,0.813,0.070,0.071,0.063,0.076,0.734,0.086,
+0.601,0.738,0.529,0.733,0.883,0.863,0.692,0.409,0.425,0.717,
+0.703,0.660,0.581,0.721,0.722,0.057,0.585,0.828,0.561,0.502,
+0.803,1.035,1.521,0.694,0.657,1.017,0.753,0.498,0.659,0.608,
+0.720,0.059,0.443,0.772,0.955,0.643,0.566,1.420,1.574,0.739,
+0.706,0.886,0.752,0.580,0.576,0.630,0.652,0.060,0.670,1.127,
+0.699,0.781,0.763,1.164,0.786,0.780,0.662,0.875,0.058,0.057,
+0.044,0.076,0.640,0.054,0.537,0.795,0.565,0.702,0.762,1.027,
+0.916,0.525,0.521,0.929,0.648,0.531,0.469,0.763,0.817,0.058,
+0.633,1.024,1.019,0.892,0.980,1.942,1.921,1.093,0.852,1.451,
+0.879,0.650,0.590,0.766,0.996,0.100,0.497,0.720,1.132,0.916,
+0.544,1.067,1.284,0.853,0.585,0.857,0.790,0.521,0.618,0.663,
+0.938,0.092,0.543,0.754,0.707,0.845,0.535,0.887,1.111,1.218,
+0.745,1.131,0.118,0.233,0.082,0.157,0.819,0.090,0.441,0.722,
+0.696,0.929,0.519,1.083,1.124,0.667,0.616,1.197,0.853,0.822,
+0.572,0.899,1.115,0.089,0.587,1.016,1.083,0.811,0.881,2.407,
+0.139,0.101,0.064,0.109,0.101,0.099,0.075,0.074,0.088,0.014,
+0.050,0.071,0.099,0.114,0.059,0.105,0.105,0.083,0.045,0.069,
+0.089,0.076,0.071,0.076,0.085,0.014,0.059,0.073,0.067,0.083,
+0.048,0.080,0.087,0.131,0.063,0.092,0.012,0.027,0.013,0.015,
+0.090,0.017,0.067,0.106,0.083,0.116,0.061,0.098,0.137,0.093,
+0.071,0.132,0.136,0.151,0.103,0.151,0.136,0.013,0.081,0.124,
+0.129,0.108,0.100,0.226,0.964,0.638,0.484,0.618,0.652,0.532,
+0.459,0.543,0.795,0.103,0.496,0.658,0.621,0.600,0.502,0.735,
+0.074,0.062,0.038,0.051,0.042,0.055,0.043,0.046,0.064,0.015,
+0.053,0.062,0.066,0.086,0.051,0.064,0.690,0.722,0.503,0.573,
+0.057,0.070,0.053,0.063,0.736,0.091,0.507,0.645,0.521,0.668,
+0.520,0.621,0.602,0.419,0.389,0.492,0.589,0.596,0.486,0.604,
+0.901,0.111,0.617,0.882,0.521,0.630,0.572,0.924,1.010,0.343,
+0.401,0.682,0.673,0.378,0.372,0.473,0.650,0.060,0.383,0.594,
+0.819,0.517,0.342,0.647,1.104,0.511,0.427,0.735,0.718,0.647,
+0.531,0.654,0.861,0.068,0.560,0.789,0.792,0.717,0.386,0.620,
+0.814,0.820,0.572,1.002,0.073,0.084,0.050,0.100,0.904,0.075,
+0.642,1.035,0.753,0.953,0.677,1.015,0.919,0.510,0.555,0.805,
+0.714,0.614,0.558,0.766,1.069,0.082,0.766,1.239,1.164,1.044,
+0.935,1.999,3.036,1.471,1.112,2.342,1.067,0.653,0.678,0.964,
+1.201,0.110,0.567,0.981,1.987,1.174,0.878,1.936,1.231,0.690,
+0.497,0.825,0.739,0.359,0.383,0.620,0.730,0.048,0.457,0.698,
+0.750,0.553,0.454,0.946,1.618,1.521,1.029,1.464,0.106,0.098,
+0.069,0.157,0.929,0.076,0.407,0.720,0.817,0.786,0.515,1.081,
+1.686,0.839,0.845,1.972,0.983,0.651,0.658,1.205,1.140,0.086,
+0.953,1.162,1.633,1.047,1.169,3.369,1.878,1.049,0.687,1.317,
+1.192,0.781,0.616,0.797,1.006,0.093,0.573,0.945,1.098,0.994,
+0.679,1.219,1.206,0.712,0.415,0.772,0.837,0.492,0.433,0.669,
+0.731,0.060,0.457,0.771,0.643,0.609,0.410,0.771,0.985,0.886,
+0.503,0.943,0.066,0.064,0.044,0.087,0.847,0.081,0.476,0.861,
+0.970,0.901,0.618,0.998,1.260,0.683,0.550,1.076,0.930,0.699,
+0.588,0.993,0.955,0.067,0.623,0.968,1.083,0.822,0.790,1.820,
+1.194,0.671,0.512,0.890,0.863,0.543,0.603,0.715,0.929,0.095,
+0.713,0.814,0.822,0.759,0.726,1.157,0.080,0.059,0.041,0.070,
+0.058,0.055,0.048,0.053,0.066,7.85e-3,0.065,0.076,0.074,0.075,
+0.061,0.102,0.953,0.810,0.537,0.857,0.062,0.049,0.040,0.073,
+1.033,0.076,0.550,0.724,0.687,0.731,0.667,0.912,0.845,0.568,
+0.564,0.914,0.841,0.568,0.580,0.956,0.998,0.080,0.697,1.182,
+0.856,0.785,0.803,1.613,2.322,0.859,0.858,1.625,0.977,0.591,
+0.627,0.779,1.097,0.094,0.691,1.002,1.573,1.006,0.908,2.253,
+1.069,0.607,0.475,0.830,0.703,0.452,0.482,0.655,0.769,0.050,
+0.572,0.953,0.909,0.798,0.632,1.335,1.278,1.108,0.780,1.394,
+0.080,0.068,0.048,0.101,1.263,0.083,0.724,1.261,1.344,1.389,
+1.058,1.793,2.235,1.081,1.331,2.515,1.367,1.015,0.936,1.706,
+1.833,0.103,1.293,2.336,3.214,2.202,2.251,7.400,3.361,1.922,
+1.763,2.795,1.989,1.177,0.992,1.325,1.721,0.153,0.827,1.266,
+2.472,1.864,1.271,2.040,2.124,1.354,0.817,1.053,1.284,0.802,
+0.706,0.771,1.215,0.085,0.798,1.080,0.916,0.958,0.846,1.214,
+1.176,1.140,0.746,1.114,0.094,0.088,0.075,0.135,0.834,0.082,
+0.560,0.785,0.902,1.019,0.878,1.347,1.645,0.992,0.703,1.612,
+1.156,0.939,0.786,1.299,1.018,0.091,0.696,1.103,1.359,0.964,
+1.188,2.239,2.204,1.359,0.823,1.166,1.410,1.045,0.640,0.736,
+1.058,0.139,0.541,0.820,0.989,1.120,0.625,1.063,1.370,0.920,
+0.517,0.634,0.872,0.540,0.521,0.530,0.911,0.112,0.649,0.948,
+0.568,0.701,0.510,0.685,0.866,1.027,0.482,0.598,0.070,0.077,
+0.066,0.070,0.756,0.088,0.567,0.789,0.591,0.897,0.593,0.757,
+0.729,0.633,0.425,0.581,0.750,0.667,0.904,0.634,0.776,0.061,
+0.513,0.741,0.700,0.691,0.663,1.204,1.066,0.620,0.493,0.706,
+1.055,0.603,0.481,0.637,1.002,0.107,0.427,0.753,0.739,0.665,
+0.534,1.059,0.073,0.071,0.052,0.071,0.075,0.085,0.055,0.077,
+0.067,0.014,0.062,0.089,0.070,0.110,0.067,0.108,0.619,0.734,
+0.468,0.524,0.058,0.054,0.043,0.065,0.562,0.063,0.432,0.584,
+0.466,0.586,0.514,0.618,0.628,0.515,0.353,0.590,0.680,0.675,
+0.496,0.732,0.699,0.074,0.545,0.801,0.574,0.613,0.684,1.028,
+1.249,0.590,0.513,1.041,0.741,0.397,0.368,0.502,0.843,0.080,
+0.399,0.683,1.035,0.693,0.564,1.457,0.946,0.686,0.610,0.831,
+0.687,0.549,0.541,0.643,0.602,0.057,0.627,0.838,0.609,0.735,
+0.578,0.924,0.625,0.582,0.445,0.728,0.047,0.046,0.049,0.073,
+0.553,0.050,0.539,0.728,0.526,0.649,0.599,0.925,0.908,0.562,
+0.530,1.022,0.584,0.472,0.461,0.719,0.876,0.068,0.654,1.073,
+1.089,0.979,1.112,2.187,2.092,1.321,1.036,1.584,1.349,1.014,
+0.823,1.103,0.880,0.085,0.475,0.788,1.281,0.998,0.691,1.361,
+1.203,1.005,0.627,0.739,0.943,0.731,0.699,0.742,0.734,0.078,
+0.543,0.816,0.569,0.719,0.527,1.082,0.692,0.782,0.532,0.729,
+0.065,0.080,0.059,0.085,0.613,0.062,0.440,0.568,0.908,0.732,
+0.569,0.988,0.761,0.460,0.394,0.720,0.730,0.760,0.489,0.675,
+0.599,0.058,0.401,0.585,1.325,0.676,0.699,1.363,1.308,1.075,
+0.511,0.745,0.963,1.012,0.472,0.538,0.643,0.076,0.383,0.575,
+0.583,0.683,0.359,0.639,0.848,0.793,0.402,0.438,0.462,0.141,
+0.334,0.326,0.495,0.076,0.390,0.588,0.334,0.567,0.325,0.483,
+0.617,0.937,0.390,0.494,0.056,0.088,0.050,0.057,0.563,0.096,
+0.437,0.639,0.436,0.980,0.538,0.670,0.480,0.439,0.309,0.425,
+0.561,0.674,0.343,0.424,0.482,0.049,0.351,0.529,0.449,0.510,
+0.415,0.857,1.010,0.686,0.915,0.825,1.034,0.838,0.625,0.723,
+0.806,0.116,0.419,0.894,0.620,0.802,0.485,0.991,0.061,0.086,
+0.133,0.075,0.071,0.132,0.074,0.061,0.069,0.035,0.066,0.080,
+0.044,0.164,0.054,0.078,0.576,0.891,0.529,0.566,0.072,0.157,
+0.063,0.066,0.602,0.085,0.494,0.658,0.423,0.763,0.776,0.743,
+0.591,0.513,0.429,0.574,0.795,1.463,0.701,0.740,0.977,0.085,
+0.519,0.798,0.588,0.599,0.671,0.970,0.871,0.548,0.484,0.774,
+0.625,0.459,0.348,0.437,0.541,0.054,0.351,0.639,0.849,0.561,
+0.435,1.235,0.694,0.621,0.720,0.817,0.594,0.641,0.513,0.555,
+0.484,0.064,0.500,0.833,0.421,0.816,0.455,0.729,0.548,0.657,
+0.478,0.697,0.047,0.055,0.039,0.058,0.451,0.051,0.459,0.632,
+0.419,0.646,0.628,0.841,0.592,0.425,0.361,0.696,0.582,0.563,
+0.431,0.608,0.738,0.052,0.463,0.787,0.751,0.853,0.785,1.628,
+1.187,0.864,0.769,1.043,0.832,0.627,0.410,0.624,0.698,0.079,
+0.386,0.544,0.729,0.762,0.507,0.864,0.971,0.932,0.424,0.605,
+0.666,0.583,0.470,0.515,0.743,0.084,0.529,0.672,0.481,0.741,
+0.447,0.674,0.703,1.065,0.522,0.857,0.062,0.093,0.061,0.131,
+0.619,0.080,0.410,0.677,0.430,0.714,0.456,1.157,0.655,0.512,
+0.327,0.732,0.552,0.590,0.418,0.644,0.658,0.070,0.447,0.761,
+0.668,0.557,0.626,1.434,0.069,0.071,0.039,0.055,0.077,0.091,
+0.048,0.055,0.063,0.010,0.041,0.054,0.053,0.076,0.053,0.077,
+0.066,0.077,0.033,0.042,0.078,0.093,0.059,0.062,0.063,0.020,
+0.061,0.074,0.049,0.073,0.058,0.055,0.047,0.092,0.039,0.049,
+9.61e-3,0.023,0.016,0.011,0.065,0.023,0.065,0.077,0.040,0.091,
+0.056,0.083,0.054,0.049,0.031,0.055,0.077,0.114,0.063,0.080,
+0.068,9.36e-3,0.061,0.085,0.060,0.065,0.066,0.114,0.796,0.698,
+0.503,0.607,0.838,0.887,0.508,0.667,0.883,0.133,0.469,0.603,
+0.628,0.708,0.461,0.685,0.052,0.084,0.040,0.041,0.057,0.167,
+0.054,0.045,0.061,0.018,0.059,0.056,0.051,0.089,0.046,0.055,
+0.509,0.829,0.412,0.501,0.055,0.112,0.057,0.061,0.671,0.113,
+0.405,0.593,0.398,0.748,0.476,0.599,0.441,0.526,0.316,0.412,
+0.660,1.536,0.495,0.580,0.855,0.126,0.690,0.790,0.452,0.662,
+0.570,0.773,0.768,0.521,0.427,0.866,0.665,0.466,0.451,0.487,
+0.584,0.071,0.369,0.962,0.587,0.635,0.371,0.885,0.686,0.700,
+0.412,0.534,0.641,0.963,0.453,0.537,0.723,0.082,0.541,0.786,
+0.587,1.131,0.469,0.708,0.580,0.830,0.502,0.637,0.045,0.085,
+0.045,0.055,0.727,0.086,0.552,0.817,0.591,1.085,0.649,0.888,
+0.562,0.412,0.341,0.601,0.498,0.573,0.419,0.520,0.816,0.069,
+0.692,1.049,0.788,0.970,0.834,1.388,1.273,0.674,0.525,1.141,
+0.694,0.416,0.359,0.860,0.653,0.055,0.335,0.618,0.829,0.601,
+0.440,1.004,0.736,0.574,0.303,0.504,0.450,0.322,0.259,0.445,
+0.438,0.035,0.322,0.733,0.450,0.383,0.333,0.644,0.581,0.536,
+0.320,0.600,0.043,0.032,0.025,0.071,0.442,0.041,0.285,0.491,
+0.427,0.416,0.318,0.658,0.714,0.417,0.341,0.840,0.478,0.318,
+0.267,0.630,0.547,0.041,0.366,0.684,0.751,0.482,0.565,1.625,
+1.016,0.673,0.399,0.773,0.798,0.676,0.403,0.617,0.654,0.069,
+0.385,0.630,0.636,0.684,0.446,0.808,0.739,0.626,0.293,0.507,
+0.729,0.529,0.342,0.595,0.534,0.058,0.407,0.709,0.453,0.530,
+0.393,0.623,0.472,0.543,0.277,0.458,0.039,0.047,0.033,0.056,
+0.519,0.058,0.380,0.648,0.425,0.663,0.410,0.686,0.527,0.386,
+0.291,0.547,0.619,0.530,0.365,0.645,0.553,0.045,0.447,0.727,
+0.578,0.539,0.601,1.153,0.717,0.472,0.383,0.570,0.605,0.501,
+0.418,0.577,0.716,0.083,0.427,0.649,0.552,0.534,0.492,0.899,
+0.042,0.045,0.024,0.040,0.038,0.068,0.044,0.042,0.041,9.53e-3,
+0.034,0.053,0.038,0.059,0.040,0.062,0.565,0.601,0.356,0.526,
+0.041,0.046,0.034,0.061,0.641,0.063,0.408,0.629,0.447,0.695,
+0.505,0.706,0.522,0.502,0.359,0.605,0.566,0.590,0.399,0.719,
+0.891,0.158,0.603,0.939,0.588,0.699,0.673,1.095,0.955,0.550,
+0.467,0.872,0.571,0.411,0.415,0.544,0.597,0.062,0.364,0.703,
+0.756,0.537,0.500,1.198,0.626,0.486,0.316,0.553,0.482,0.457,
+0.351,0.480,0.444,0.035,0.376,0.605,0.521,0.557,0.432,0.861,
+0.769,0.732,0.479,0.822,0.049,0.050,0.034,0.067,0.730,0.058,
+0.534,0.949,0.791,0.963,0.772,1.246,1.041,0.603,0.673,1.367,
+0.818,0.670,0.597,1.033,1.127,0.078,0.878,1.584,1.622,1.223,
+1.411,2.475,4.852,1.446,1.487,2.517,1.744,1.029,0.974,1.117,
+1.321,0.133,0.766,0.977,1.963,1.317,0.919,1.615,1.404,0.726,
+0.497,0.786,0.941,0.507,0.643,0.611,0.782,0.117,0.646,0.614,
+0.671,0.718,0.549,0.753,1.021,0.758,0.566,1.014,0.097,0.062,
+0.062,0.126,0.764,0.067,0.442,0.850,0.653,0.673,0.609,0.932,
+1.385,0.610,0.493,1.111,1.169,0.697,0.615,1.006,0.747,0.061,
+0.492,0.724,1.024,0.576,0.815,1.546,2.299,1.137,0.926,1.519,
+1.378,0.941,0.821,0.887,1.097,0.179,0.596,0.804,1.064,1.226,
+0.567,1.285,1.224,0.877,0.509,0.695,0.882,0.564,0.573,0.575,
+2.322,0.975,0.729,0.845,0.832,1.911,0.442,0.683,0.999,0.967,
+0.602,0.866,0.107,0.091,0.083,0.113,0.985,0.117,0.639,1.186,
+0.697,0.966,0.700,0.937,1.188,0.626,0.438,0.893,1.378,0.835,
+0.662,0.953,0.944,0.089,0.541,0.807,0.888,0.729,0.690,1.369,
+1.379,0.607,0.526,0.867,1.113,0.742,0.791,0.816,1.362,0.148,
+0.647,0.836,0.959,0.828,0.671,1.193,0.106,0.086,0.056,0.094,
+0.114,0.116,0.086,0.096,0.115,0.028,0.087,0.102,0.119,0.196,
+0.093,0.161,0.625,0.540,0.490,0.628,0.076,0.056,0.057,0.085,
+0.724,0.110,0.402,0.530,0.444,0.687,0.466,0.570,0.688,0.383,
+0.413,0.583,0.867,0.647,0.637,0.867,0.679,0.074,0.711,0.712,
+0.646,0.599,0.644,1.067,1.718,0.624,0.610,1.255,0.841,0.482,
+0.507,0.690,1.024,0.098,0.509,0.769,1.453,0.951,0.669,1.627,
+1.083,0.653,0.579,0.852,0.856,0.570,0.607,0.701,0.854,0.082,
+0.627,0.811,0.922,0.953,0.632,1.052,0.920,0.710,0.566,0.890,
+0.082,0.055,0.056,0.100,0.747,0.069,0.542,0.884,0.741,0.854,
+0.782,1.132,1.293,0.657,0.565,1.227,0.832,0.520,0.622,0.947,
+1.026,0.085,0.814,1.271,1.666,1.224,1.536,3.098,0.282,0.115,
+0.094,0.142,0.151,0.102,0.085,0.115,0.109,0.012,0.054,0.077,
+0.117,0.111,0.069,0.116,0.125,0.093,0.063,0.089,0.115,0.095,
+0.091,0.096,0.076,0.015,0.068,0.071,0.058,0.082,0.064,0.093,
+0.086,0.080,0.059,0.087,0.015,0.014,0.013,0.018,0.074,0.015,
+0.054,0.080,0.061,0.081,0.060,0.086,0.101,0.060,0.046,0.097,
+0.120,0.099,0.076,0.111,0.093,0.014,0.052,0.077,0.099,0.081,
+0.081,0.156,0.182,0.122,0.068,0.109,0.131,0.118,0.088,0.087,
+0.084,0.013,0.049,0.072,0.067,0.087,0.044,0.094,0.123,0.118,
+0.060,0.072,0.104,0.069,0.087,0.079,0.124,0.041,0.068,0.081,
+0.054,0.097,0.048,0.071,0.085,0.111,0.065,0.081,0.016,0.024,
+0.021,0.015,0.103,0.025,0.078,0.100,0.056,0.110,0.075,0.092,
+0.095,0.062,0.048,0.083,0.119,0.105,0.076,0.089,0.084,9.44e-3,
+0.051,0.077,0.072,0.067,0.066,0.140,0.125,0.071,0.057,0.072,
+0.113,0.113,0.108,0.082,0.104,0.017,0.060,0.078,0.069,0.091,
+0.074,0.106,0.010,0.015,9.86e-3,0.011,0.020,0.036,0.022,0.015,
+0.013,0.010,0.021,0.019,8.10e-3,0.020,0.012,0.013,0.072,0.086,
+0.071,0.077,0.013,0.023,0.019,0.014,0.170,0.065,0.074,0.086,
+0.056,0.151,0.097,0.085,0.075,0.054,0.053,0.069,0.099,0.115,
+0.098,0.115,0.093,0.016,0.081,0.093,0.075,0.074,0.087,0.133,
+0.192,0.122,0.120,0.147,0.120,0.085,0.084,0.091,0.110,0.013,
+0.075,0.098,0.149,0.125,0.105,0.212,0.197,0.140,0.149,0.158,
+0.186,0.172,0.155,0.149,0.147,0.019,0.147,0.158,0.134,0.184,
+0.134,0.178,0.089,0.104,0.087,0.109,0.012,0.014,0.012,0.017,
+0.099,0.016,0.085,0.126,0.089,0.128,0.137,0.156,0.140,0.100,
+0.080,0.132,0.123,0.109,0.126,0.142,0.132,0.013,0.099,0.149,
+0.168,0.146,0.173,0.325,2.040,0.825,0.770,1.111,0.847,0.536,
+0.498,0.678,0.840,0.081,0.511,0.591,0.682,0.595,0.430,0.752,
+0.964,0.730,0.466,0.675,0.714,0.553,0.578,0.610,0.792,0.084,
+0.564,0.681,0.475,0.596,0.430,0.668,0.921,0.929,0.913,1.060,
+0.126,0.114,0.262,0.204,1.104,0.104,0.668,0.901,0.603,0.885,
+0.617,1.046,0.861,0.504,0.489,1.063,0.825,0.612,0.857,1.029,
+0.901,0.083,0.579,0.937,0.788,0.670,0.838,1.613,0.120,0.078,
+0.052,0.091,0.092,0.094,0.063,0.097,0.069,0.011,0.054,0.062,
+0.061,0.068,0.041,0.078,0.072,0.066,0.035,0.048,0.081,0.076,
+0.071,0.078,0.082,0.029,0.075,0.072,0.041,0.066,0.042,0.050,
+0.080,0.109,0.135,0.092,0.018,0.024,0.100,0.020,0.101,0.027,
+0.091,0.115,0.062,0.103,0.078,0.086,0.106,0.068,0.054,0.113,
+0.121,0.119,0.173,0.136,0.089,0.011,0.063,0.108,0.074,0.068,
+0.069,0.135,1.103,0.660,0.523,0.588,0.898,0.790,0.711,0.729,
+0.803,0.119,0.801,0.851,0.487,0.581,0.705,0.788,0.076,0.091,
+0.060,0.061,0.085,0.127,0.086,0.060,0.086,0.024,0.155,0.114,
+0.051,0.091,0.067,0.074,0.777,0.848,0.682,0.691,0.101,0.107,
+0.109,0.102,0.941,0.132,0.285,0.520,0.466,0.666,0.630,0.705,
+0.583,0.438,0.411,0.490,0.742,0.740,0.647,0.687,0.862,0.097,
+0.778,0.941,0.498,0.570,0.770,0.906,0.874,0.500,0.440,0.684,
+0.630,0.424,0.337,0.459,0.628,0.072,0.704,0.725,0.614,0.573,
+0.571,0.856,0.886,0.794,0.600,0.700,0.964,0.992,0.680,0.665,
+0.763,0.096,0.860,0.916,0.654,0.857,0.618,0.784,0.875,1.144,
+0.788,1.044,0.093,0.154,0.093,0.113,1.097,0.120,1.066,1.312,
+0.745,1.114,1.001,1.205,0.825,0.547,0.474,0.790,0.720,0.723,
+0.582,0.756,1.000,0.083,0.945,1.280,0.919,0.933,1.077,1.553,
+3.625,0.777,0.619,1.231,0.720,0.446,0.392,0.704,0.649,0.062,
+0.325,0.532,0.944,0.590,0.415,0.998,0.997,0.542,0.355,0.560,
+0.498,0.460,0.319,0.465,0.425,0.039,0.252,0.451,0.405,0.340,
+0.274,0.520,0.810,0.609,0.528,0.819,0.072,0.055,0.063,0.126,
+0.586,0.054,0.355,0.580,0.810,0.648,0.486,0.810,1.132,0.502,
+0.467,1.086,0.804,0.481,0.502,1.301,0.584,0.046,0.361,0.653,
+1.038,0.605,0.637,1.462,1.771,0.954,0.657,1.280,0.981,0.738,
+0.606,0.837,0.794,0.076,0.507,0.726,0.834,0.775,0.479,1.086,
+0.916,0.678,0.440,0.682,0.818,0.802,0.587,0.795,0.736,0.073,
+0.515,0.693,0.514,0.563,0.377,0.620,0.831,0.873,0.852,0.901,
+0.070,0.087,0.135,0.109,0.816,0.085,0.605,0.977,0.704,0.960,
+0.701,0.968,1.029,0.624,0.589,1.082,1.019,0.836,0.795,1.312,
+0.780,0.060,0.537,0.934,0.862,0.757,0.658,1.405,1.197,0.841,
+0.630,0.753,1.044,1.616,0.848,0.842,0.785,0.106,0.596,0.825,
+0.624,0.644,0.695,1.085,0.086,0.163,0.050,0.068,0.155,0.681,
+0.097,0.098,0.058,0.022,0.071,0.085,0.060,0.097,0.056,0.088,
+0.778,0.990,0.617,0.857,0.083,0.144,0.066,0.100,0.841,0.094,
+0.580,0.864,0.650,0.889,0.706,0.911,0.810,0.648,0.546,0.791,
+0.958,0.968,0.835,1.235,0.899,0.078,0.807,1.378,0.809,0.787,
+0.948,1.427,1.498,0.680,0.634,1.093,0.774,0.640,0.488,0.596,
+0.817,0.102,0.495,0.888,0.910,0.634,0.593,1.341,0.968,0.875,
+0.466,0.821,0.926,1.558,0.591,0.719,0.641,0.063,0.529,0.785,
+0.677,0.663,0.555,0.955,0.976,1.010,0.784,1.253,0.087,0.109,
+0.058,0.120,1.095,0.103,0.893,1.475,1.142,1.326,1.166,1.539,
+1.560,0.808,0.778,1.653,1.098,0.957,0.813,1.413,1.349,0.091,
+1.086,2.090,1.967,1.430,1.619,2.978,3.655,1.621,1.925,3.717,
+1.999,0.973,0.933,1.347,1.841,0.157,0.783,1.393,2.659,1.704,
+1.130,2.447,1.494,0.628,0.526,0.852,0.919,0.399,0.451,0.588,
+0.854,0.058,0.555,0.688,0.717,0.589,0.415,0.716,1.339,0.724,
+0.609,1.062,0.090,0.052,0.048,0.122,0.724,0.053,0.436,0.762,
+0.751,0.687,0.562,1.070,1.932,0.858,0.796,1.687,1.114,0.677,
+0.617,1.116,1.147,0.093,1.227,1.178,1.737,0.974,1.178,2.702,
+1.737,0.784,0.623,1.131,0.932,0.471,0.396,0.595,0.768,0.073,
+0.386,0.627,0.990,0.735,0.478,1.184,0.966,0.541,0.381,0.577,
+0.517,0.263,0.279,0.362,0.923,0.182,0.409,0.502,0.594,0.621,
+0.336,0.650,0.871,0.692,0.498,0.752,0.062,0.041,0.041,0.066,
+0.678,0.048,0.395,0.692,0.678,0.646,0.495,0.849,1.016,0.512,
+0.412,0.786,0.760,0.425,0.389,0.593,0.982,0.059,0.669,0.680,
+1.025,0.573,0.606,1.495,1.379,0.571,0.572,0.997,0.810,0.506,
+0.511,0.707,1.024,0.094,0.545,0.720,1.232,0.785,0.620,1.399,
+0.094,0.053,0.047,0.088,0.066,0.052,0.044,0.067,0.079,7.19e-3,
+0.050,0.073,0.121,0.110,0.060,0.139,0.669,0.523,0.534,0.809,
+0.055,0.035,0.036,0.074,0.694,0.058,0.330,0.526,0.659,0.594,
+0.503,0.750,0.779,0.418,0.549,0.875,0.672,0.429,0.469,0.812,
+0.685,0.053,0.483,0.710,0.863,0.607,0.696,1.395,2.228,0.785,
+0.841,1.735,0.916,0.479,0.527,0.835,1.316,0.100,0.689,1.048,
+3.081,1.352,1.072,2.480,1.182,0.606,0.636,1.007,0.662,0.418,
+0.457,0.675,0.914,0.058,0.754,0.919,1.239,0.931,0.751,1.182,
+0.950,0.673,0.633,1.042,0.072,0.042,0.051,0.085,0.924,0.060,
+0.579,0.924,1.205,0.886,0.756,1.264,1.717,0.833,0.783,1.784,
+0.937,0.598,0.746,1.129,1.387,0.089,0.943,1.603,2.335,1.516,
+1.632,3.854,2.495,1.180,1.028,1.913,1.490,0.809,0.749,1.064,
+1.325,0.101,0.527,0.866,1.392,1.014,0.696,1.522,1.454,0.730,
+0.583,0.964,0.953,0.543,0.611,0.765,0.724,0.062,0.562,0.690,
+0.607,0.638,0.525,0.945,0.928,0.730,0.548,0.934,0.075,0.067,
+0.050,0.113,0.636,0.067,0.464,0.778,0.629,0.752,0.578,0.989,
+1.034,0.559,0.491,1.009,0.890,0.672,0.517,0.986,0.971,0.128,
+0.524,0.762,1.067,0.886,0.825,1.695,1.788,0.879,0.550,1.024,
+1.077,0.625,0.449,0.634,0.638,0.063,0.328,0.629,0.672,0.611,
+0.369,0.884,0.995,0.735,0.455,0.657,0.682,0.399,0.399,0.513,
+0.591,0.064,0.414,0.560,0.450,0.503,0.403,0.675,0.752,0.750,
+0.441,0.703,0.070,0.065,0.042,0.068,0.702,0.079,0.459,0.667,
+0.585,0.844,0.535,0.885,0.775,0.497,0.372,0.739,0.789,0.602,
+0.385,0.608,0.600,0.047,0.383,0.649,0.637,0.511,0.477,1.189,
+1.303,0.592,0.524,0.801,0.904,0.570,0.829,0.710,0.864,0.096,
+0.425,0.596,0.832,0.766,0.660,1.089,0.067,0.057,0.042,0.072,
+0.061,0.069,0.059,0.065,0.055,9.61e-3,0.058,0.060,0.069,0.102,
+0.061,0.088,0.755,0.747,0.542,0.795,0.066,0.063,0.050,0.080,
+0.868,0.142,0.428,0.670,0.614,0.954,0.666,0.912,0.827,0.516,
+0.443,0.827,0.797,0.687,0.654,0.953,0.808,0.067,0.514,0.764,
+0.777,0.631,0.759,1.371,1.656,0.783,0.912,1.212,0.833,0.471,
+0.539,0.661,0.843,0.077,0.636,0.771,1.261,0.921,0.827,1.611,
+1.266,0.863,0.904,1.044,0.833,0.635,0.711,0.794,0.874,0.079,
+1.205,1.079,0.991,1.179,1.082,1.252,0.784,0.720,0.647,0.960,
+0.065,0.057,0.063,0.083,0.818,0.065,0.630,0.979,0.836,0.896,
+0.852,1.391,1.190,0.671,0.677,1.119,1.132,0.784,1.355,1.110,
+1.167,0.078,0.801,1.205,1.621,1.025,1.159,2.376,1.912,0.815,
+0.749,1.291,0.806,0.481,0.429,0.647,0.960,0.075,0.457,0.664,
+0.962,0.681,0.598,1.048,1.078,0.751,0.460,0.843,0.707,0.453,
+0.404,0.563,0.829,0.068,0.468,0.660,0.657,0.707,0.490,0.872,
+1.055,0.872,0.560,1.003,0.172,0.088,0.072,0.135,0.899,0.077,
+0.594,0.853,0.685,0.856,0.597,1.036,0.977,0.558,0.434,1.055,
+0.979,0.573,0.449,0.790,1.021,0.084,0.597,1.216,1.179,0.854,
+0.891,1.960,0.098,0.063,0.045,0.080,0.080,0.057,0.041,0.066,
+0.065,8.19e-3,0.036,0.049,0.076,0.074,0.058,0.100,0.060,0.052,
+0.033,0.055,0.062,0.067,0.040,0.058,0.066,8.77e-3,0.045,0.060,
+0.052,0.060,0.041,0.060,0.102,0.077,0.054,0.077,0.011,9.53e-3,
+0.011,9.69e-3,0.087,0.012,0.098,0.086,0.064,0.084,0.065,0.082,
+0.097,0.059,0.042,0.101,0.125,0.091,0.055,0.091,0.083,7.44e-3,
+0.061,0.097,0.102,0.083,0.067,0.148,0.961,0.551,0.418,0.625,
+0.719,0.567,0.475,0.617,0.728,0.100,0.503,0.602,0.648,0.757,
+0.902,0.993,0.057,0.053,0.030,0.046,0.050,0.056,0.040,0.040,
+0.052,0.010,0.052,0.050,0.060,0.094,0.070,0.073,0.665,0.753,
+0.499,0.685,0.062,0.069,0.051,0.071,0.876,0.086,0.413,0.618,
+0.541,0.765,0.946,0.832,0.738,0.463,0.394,0.664,0.744,0.732,
+0.529,0.700,0.827,0.069,0.699,0.834,0.671,0.711,0.822,1.211,
+1.075,0.445,0.451,0.863,0.642,0.425,0.393,0.564,0.718,0.062,
+0.591,0.688,1.080,0.733,1.637,1.057,1.039,0.692,0.512,0.797,
+0.793,0.737,0.536,0.605,0.809,0.068,0.708,0.813,0.956,0.999,
+0.745,0.894,1.265,1.035,0.694,1.146,0.091,0.145,0.057,0.094,
+1.199,0.086,0.821,1.190,1.405,1.232,1.151,1.496,1.050,0.622,
+0.549,1.034,0.864,0.817,0.608,0.858,1.204,0.080,0.996,1.418,
+1.399,1.151,1.246,2.122,3.460,1.149,0.971,2.033,1.136,0.573,
+0.552,1.041,1.179,0.089,0.524,0.971,2.161,1.037,0.771,1.816,
+1.392,0.627,0.442,0.802,0.722,0.396,0.369,0.691,0.755,0.050,
+0.381,0.638,0.759,0.531,0.469,0.942,1.223,0.847,0.577,1.201,
+0.112,0.074,0.053,0.140,0.813,0.065,0.430,0.796,1.047,0.920,
+0.620,1.206,2.041,0.841,0.749,1.831,1.251,0.638,0.578,1.303,
+1.263,0.087,0.703,1.348,2.775,1.419,1.251,3.545,1.634,0.762,
+0.567,1.140,1.034,0.528,0.457,0.789,0.791,0.063,0.406,0.727,
+1.030,0.806,0.549,1.345,0.888,0.520,0.360,0.676,0.634,0.376,
+0.323,0.616,0.618,0.048,0.443,0.673,0.538,0.552,0.441,0.798,
+0.960,0.706,0.560,0.905,0.076,0.052,0.036,0.073,0.783,0.062,
+0.535,0.825,0.857,1.043,0.659,1.205,1.392,0.616,0.546,1.145,
+1.486,0.695,0.520,1.046,0.873,0.057,0.528,1.010,1.254,0.932,
+0.846,2.084,1.693,0.889,0.963,1.169,1.235,1.015,0.885,1.042,
+1.405,0.119,0.584,0.946,1.212,1.087,1.059,1.858,0.097,0.080,
+0.060,0.090,0.083,0.142,0.125,0.080,0.078,6.77e-3,0.045,0.068,
+0.103,0.105,0.071,0.136,1.223,1.023,0.749,1.280,0.075,0.077,
+0.054,0.112,1.081,0.092,0.628,1.029,1.068,1.109,0.949,1.513,
+1.416,1.018,0.801,1.355,1.290,1.084,0.918,1.754,1.286,0.110,
+1.056,1.677,1.378,1.174,1.261,2.441,3.119,1.100,1.030,2.139,
+1.213,0.738,0.657,1.006,1.620,0.114,0.758,1.380,2.247,1.392,
+1.329,3.532,1.818,0.992,0.745,1.363,1.241,1.120,0.771,1.034,
+1.291,0.074,0.821,1.286,1.506,1.249,1.115,2.097,1.923,1.520,
+1.228,2.235,0.098,0.095,0.066,0.147,1.892,0.113,1.275,2.244,
+2.231,2.289,2.138,3.455,3.886,1.722,1.712,3.949,2.205,1.534,
+1.329,2.641,2.674,0.136,2.075,3.804,4.980,2.685,3.153,6.045,
+4.173,2.546,2.279,3.974,2.595,1.827,1.543,1.990,2.998,0.307,
+1.541,2.322,3.797,2.957,1.884,3.000,3.148,1.970,1.253,1.669,
+1.799,1.209,1.090,1.196,1.974,0.168,1.279,1.593,1.470,1.606,
+1.269,1.722,2.119,1.704,1.368,1.863,0.199,0.176,0.153,0.269,
+1.772,0.174,1.099,1.518,1.559,1.828,1.546,1.989,3.183,1.528,
+1.490,2.784,2.393,1.618,1.642,2.430,2.176,0.214,1.460,2.106,
+2.473,1.808,2.100,3.264,3.183,1.902,1.384,1.985,1.919,1.491,
+1.156,1.272,1.883,0.221,0.983,1.357,1.475,1.600,0.907,1.474,
+2.344,1.740,1.086,1.288,1.390,0.951,0.942,0.893,1.660,0.180,
+1.104,1.590,0.951,1.161,0.914,1.139,1.607,1.972,1.036,1.260,
+0.164,0.217,0.125,0.146,1.910,0.213,1.232,1.687,0.999,1.679,
+1.235,1.450,1.218,0.999,0.764,1.185,1.476,1.414,1.191,1.232,
+1.765,0.180,1.138,1.576,1.274,1.333,1.295,2.165,1.860,0.996,
+0.931,1.223,1.480,0.876,0.839,0.898,1.538,0.196,0.839,1.240,
+1.150,1.117,0.972,1.546,0.159,0.130,0.103,0.119,0.121,0.112,
+0.091,0.094,0.155,0.032,0.119,0.163,0.127,0.233,0.140,0.211,
+1.013,0.989,0.795,0.889,0.108,0.097,0.094,0.114,1.173,0.174,
+0.785,0.905,0.717,1.052,0.994,0.899,1.120,0.719,0.608,0.921,
+1.298,0.981,0.867,1.243,1.561,0.169,1.223,1.459,1.041,1.144,
+1.261,1.671,2.746,1.079,1.033,2.143,1.377,0.747,0.939,1.091,
+1.347,0.132,0.723,1.141,1.799,1.289,1.149,2.441,2.283,1.332,
+1.166,1.343,1.348,0.998,0.847,0.988,1.301,0.121,0.978,1.361,
+1.196,1.449,1.085,1.856,1.322,1.292,0.953,1.388,0.121,0.109,
+0.092,0.138,1.412,0.121,0.959,1.313,1.156,1.419,1.220,1.487,
+1.820,1.103,1.007,2.001,1.240,0.900,0.929,1.536,1.928,0.146,
+1.469,2.380,2.111,1.992,2.074,3.596,3.336,2.435,1.990,2.775,
+2.074,1.923,1.576,1.883,1.836,0.238,1.178,1.540,1.630,1.860,
+1.196,1.923,2.092,1.861,1.160,1.440,1.497,1.276,1.333,1.300,
+1.465,0.194,1.290,1.568,0.898,1.292,1.020,1.367,1.510,2.129,
+1.221,1.305,0.201,0.347,0.161,0.199,1.497,0.198,1.167,1.407,
+1.234,1.694,1.272,1.567,1.577,1.043,0.839,1.244,1.750,1.945,
+1.113,1.329,1.790,0.449,0.940,1.297,1.868,1.399,1.417,2.415,
+2.407,2.143,1.115,1.520,1.626,2.041,1.241,1.200,1.684,0.235,
+0.961,1.228,1.082,1.477,0.776,1.225,1.606,1.719,0.915,0.978,
+1.189,0.819,1.017,0.847,1.465,0.223,1.079,1.432,0.717,1.307,
+0.914,1.004,1.590,4.300,1.548,1.344,0.232,0.853,0.174,0.166,
+1.945,0.402,1.674,2.169,0.963,2.832,1.884,1.853,0.872,1.224,
+0.664,0.826,1.353,2.826,0.823,0.919,2.094,0.303,1.072,1.389,
+0.980,1.387,1.115,1.767,1.660,1.236,1.277,1.081,1.655,1.495,
+1.445,1.165,1.509,0.273,1.219,1.385,0.855,1.317,1.088,1.300,
+0.127,0.225,0.195,0.128,0.131,0.229,0.185,0.122,0.179,0.073,
+0.225,0.204,0.086,0.293,0.152,0.146,1.221,1.765,1.695,1.145,
+0.197,0.266,0.223,0.167,1.946,0.353,1.478,1.722,0.760,1.939,
+2.058,1.503,1.012,0.839,0.719,0.864,1.548,1.821,1.439,1.423,
+2.330,0.229,1.565,1.759,0.800,1.128,1.477,1.623,1.443,0.794,
+0.881,1.169,0.956,0.749,2.123,1.025,0.815,0.093,0.617,0.797,
+0.918,0.767,0.735,1.150,1.438,1.367,1.254,1.108,1.041,1.195,
+1.033,0.947,1.006,0.145,1.021,1.236,0.731,1.480,0.983,1.249,
+1.023,1.422,1.155,1.268,0.098,0.149,0.110,0.122,1.213,0.154,
+1.173,1.454,0.790,1.409,1.509,1.536,1.136,0.825,0.766,1.086,
+1.038,1.037,0.753,1.038,1.695,0.140,1.192,1.808,1.322,1.524,
+1.674,2.436,1.887,1.449,0.906,1.488,0.947,0.896,0.659,0.816,
+1.083,0.116,0.681,0.899,1.048,1.007,0.643,1.114,1.366,1.213,
+0.704,1.040,0.969,0.763,0.817,0.841,1.325,0.176,1.063,1.292,
+0.778,1.153,0.737,1.081,0.980,1.338,0.991,1.414,0.123,0.178,
+0.131,0.227,1.229,0.161,0.854,1.304,0.788,1.273,0.796,1.201,
+1.058,0.717,0.640,1.148,0.993,0.974,0.783,1.012,1.304,0.156,
+0.855,1.402,1.117,1.056,1.190,2.495,0.125,0.127,0.078,0.108,
+0.112,0.150,0.088,0.087,0.123,0.027,0.079,0.092,0.094,0.139,
+0.071,0.109,0.124,0.164,0.083,0.099,0.143,0.172,0.132,0.103,
+0.155,0.041,0.139,0.154,0.082,0.167,0.089,0.127,0.086,0.216,
+0.101,0.114,0.019,0.049,0.031,0.025,0.160,0.047,0.154,0.183,
+0.092,0.238,0.122,0.138,0.106,0.103,0.067,0.107,0.170,0.255,
+0.139,0.165,0.251,0.045,0.147,0.182,0.124,0.166,0.143,0.252,
+1.053,0.815,0.994,0.820,0.826,0.877,0.829,0.694,1.361,0.238,
+0.939,0.999,0.657,0.890,0.738,0.856,0.096,0.134,0.098,0.087,
+0.080,0.138,0.108,0.074,0.170,0.049,0.150,0.133,0.089,0.186,
+0.112,0.101,0.836,1.305,0.907,0.846,0.107,0.175,0.145,0.120,
+1.508,0.261,0.845,1.253,0.612,1.387,1.030,1.009,0.824,0.680,
+0.565,0.642,0.993,1.178,0.921,0.919,3.284,0.723,1.387,1.585,
+0.901,1.502,1.103,1.368,0.955,0.434,0.430,1.061,0.664,0.483,
+0.445,0.506,0.806,0.077,0.471,0.674,0.820,0.593,0.367,0.713,
+1.140,0.940,0.780,1.020,0.866,0.955,0.822,0.912,1.285,0.148,
+0.955,1.211,0.890,1.193,0.716,0.949,1.127,1.445,0.976,1.113,
+0.110,0.177,0.108,0.129,1.712,0.174,1.134,1.462,1.038,1.596,
+1.171,1.365,1.126,0.775,0.705,0.934,1.062,1.035,0.829,0.975,
+2.149,0.218,1.532,2.005,1.438,1.567,1.457,2.368,2.327,1.414,
+1.046,1.840,1.083,0.826,0.627,0.759,1.107,0.116,0.573,0.926,
+1.255,1.029,0.735,1.601,1.234,0.770,0.507,0.784,0.772,0.461,
+0.438,0.616,0.733,0.072,0.442,0.695,0.578,0.653,0.451,0.813,
+1.013,0.938,0.652,1.189,0.113,0.122,0.076,0.162,1.032,0.087,
+0.493,0.789,0.682,0.829,0.591,0.986,1.371,0.649,0.588,1.363,
+0.931,0.771,0.567,0.938,0.960,0.096,0.672,1.011,1.281,0.957,
+1.060,2.522,1.959,1.283,0.938,1.459,1.388,1.158,0.792,0.897,
+1.289,0.147,0.726,1.153,1.109,1.182,0.817,1.439,1.354,1.230,
+0.722,1.007,1.207,0.981,0.837,0.863,1.068,0.136,0.811,1.208,
+0.767,1.055,0.648,1.389,0.973,1.072,0.623,0.961,0.092,0.131,
+0.082,0.121,1.197,0.141,0.816,1.173,0.786,1.424,1.005,1.237,
+0.990,0.686,0.506,0.929,1.125,1.097,0.741,1.140,1.224,0.119,
+0.880,1.246,1.043,1.074,1.080,1.952,0.979,0.627,0.501,0.746,
+0.779,0.586,0.551,0.705,0.999,0.142,0.726,0.875,0.715,0.797,
+0.735,1.233,0.071,0.073,0.052,0.084,0.066,0.071,0.061,0.066,
+0.086,0.019,0.085,0.111,0.071,0.124,0.079,0.126,0.740,0.831,
+0.614,0.788,0.075,0.081,0.085,0.089,1.000,0.118,0.625,0.855,
+0.593,0.952,0.898,0.982,0.746,0.595,0.473,0.727,0.976,0.781,
+0.726,0.984,1.500,0.270,0.897,1.356,0.961,1.124,1.036,1.750,
+1.708,0.740,0.643,1.207,0.911,0.548,0.561,0.687,0.956,0.079,
+0.514,0.859,1.261,0.874,0.764,1.851,0.984,0.657,0.531,0.919,
+0.863,0.560,0.731,1.061,0.816,0.074,0.641,1.100,0.780,0.863,
+0.650,1.183,1.322,1.299,0.803,1.306,0.108,0.100,0.069,0.119,
+1.492,0.114,0.895,1.389,1.335,1.505,1.289,1.848,1.929,1.085,
+0.968,1.955,1.456,1.206,1.002,1.564,2.265,0.142,1.584,2.663,
+2.710,2.075,2.306,4.609,3.366,2.506,1.999,3.009,2.329,1.948,
+1.461,1.640,2.302,0.261,1.380,1.764,2.276,2.230,1.421,2.119,
+2.569,2.061,1.321,1.529,2.080,1.536,1.437,1.317,1.822,0.205,
+1.627,1.832,1.057,1.442,1.382,1.535,1.431,1.374,1.147,1.393,
+0.137,0.152,0.168,0.200,1.336,0.154,1.027,1.145,1.156,1.370,
+1.380,1.381,1.689,1.030,0.931,1.585,1.512,1.307,1.687,1.540,
+1.450,0.157,1.212,1.449,1.984,1.265,1.570,2.361,2.802,2.209,
+1.388,1.772,2.178,2.126,1.417,1.260,1.821,0.285,1.229,1.389,
+1.218,1.688,0.922,1.349,2.177,2.176,1.186,1.304,1.737,1.434,
+1.437,1.150,1.877,0.350,1.771,2.417,0.889,1.651,1.093,1.174,
+1.232,1.930,1.108,1.009,0.168,0.273,0.339,0.170,1.732,0.321,
+1.542,1.589,0.843,2.179,1.371,1.208,0.926,1.016,1.134,0.837,
+1.425,1.575,4.360,1.483,1.470,0.182,1.237,1.409,0.968,1.313,
+1.319,1.713,1.299,0.953,1.168,0.944,1.263,1.045,0.929,0.873,
+1.494,0.241,0.864,1.088,0.830,1.104,0.870,1.373,0.106,0.163,
+0.193,0.113,0.144,0.184,0.159,0.120,0.157,0.065,0.173,0.181,
+0.095,0.306,0.151,0.170,0.759,1.030,0.793,0.733,0.105,0.133,
+0.123,0.111,1.031,0.176,0.940,0.975,0.515,1.095,0.931,0.827,
+0.653,0.599,0.488,0.632,0.904,1.034,0.834,0.950,1.507,0.192,
+1.126,1.349,0.790,1.081,1.210,1.493,1.600,0.703,0.688,1.393,
+0.803,0.521,0.481,0.583,0.909,0.103,0.536,0.744,1.189,0.957,
+0.827,1.809,1.288,1.086,1.073,1.059,1.240,1.059,0.867,0.897,
+0.980,0.143,0.909,1.230,0.759,1.370,0.891,1.178,0.873,0.838,
+0.737,1.165,0.086,0.090,0.083,0.112,0.952,0.110,0.916,1.080,
+0.649,1.085,0.988,1.097,1.075,0.808,0.740,1.305,0.781,0.776,
+0.671,0.897,1.576,0.173,1.113,1.633,1.369,1.681,1.553,2.521,
+2.872,2.271,1.812,2.226,2.348,2.432,1.781,1.949,1.577,0.236,
+1.065,1.409,1.516,1.680,1.057,1.621,2.244,2.104,1.604,1.458,
+2.103,2.054,2.662,1.947,1.545,0.299,1.558,1.833,0.893,1.516,
+1.087,1.296,1.261,1.577,1.234,1.174,0.184,0.221,0.204,0.208,
+1.713,0.206,1.199,1.251,3.098,1.610,1.292,1.381,1.243,0.755,
+0.770,1.067,1.447,1.528,1.221,1.169,1.324,0.149,0.955,1.136,
+5.548,1.326,1.383,2.096,2.548,2.407,1.111,1.243,2.240,2.965,
+1.411,1.210,1.838,0.302,1.226,1.443,1.046,1.558,0.793,1.217,
+1.731,1.831,1.082,0.911,0.890,0.391,0.877,0.660,1.421,0.403,
+1.269,1.639,0.634,1.700,0.866,0.946,1.215,2.272,1.055,1.016,
+0.196,0.448,0.230,0.182,1.736,0.429,1.405,2.083,0.906,2.654,
+1.594,1.543,0.776,0.856,0.559,0.651,1.359,2.102,1.068,0.983,
+1.347,0.208,1.184,1.459,0.939,1.207,1.022,1.451,1.719,1.567,
+4.280,1.604,1.799,2.173,1.807,1.281,1.854,0.489,1.305,1.444,
+0.985,2.407,1.224,1.354,0.187,0.333,1.126,0.257,0.198,0.468,
+0.361,0.185,0.330,0.247,0.321,0.267,0.159,0.995,0.224,0.181,
+1.094,2.047,1.556,1.169,0.193,0.456,0.309,0.216,1.739,0.382,
+1.524,1.681,0.752,2.383,2.044,1.510,0.933,0.833,0.770,0.766,
+1.595,2.707,1.758,1.585,3.583,0.360,1.985,2.069,1.146,1.637,
+1.687,1.945,1.253,0.819,1.146,1.429,0.978,0.822,0.705,0.654,
+0.890,0.120,0.612,0.758,1.149,0.967,0.729,1.061,1.294,1.583,
+3.028,1.501,1.354,1.999,1.507,1.185,1.324,0.319,1.172,1.504,
+0.754,2.428,1.035,1.124,1.041,1.314,1.068,1.234,0.113,0.171,
+0.117,0.121,1.081,0.169,1.437,1.497,0.749,1.562,1.551,1.451,
+0.905,0.729,0.594,0.938,0.999,1.132,0.729,0.938,2.331,0.189,
+1.272,1.698,1.231,1.641,1.558,2.190,1.627,1.372,0.999,1.385,
+1.112,1.206,0.667,0.885,1.212,0.147,0.925,0.859,0.878,0.971,
+0.605,0.986,1.641,1.838,0.773,1.103,1.590,1.582,1.204,1.113,
+1.488,0.263,1.468,1.477,0.699,1.343,0.741,1.013,1.111,1.684,
+1.128,1.777,0.145,0.242,0.164,0.269,1.252,0.222,0.956,1.338,
+0.668,1.413,0.823,1.186,1.050,0.732,0.544,1.167,1.079,1.258,
+0.831,1.161,1.170,0.158,0.983,1.610,1.030,1.064,1.076,2.051,
+0.120,0.140,0.090,0.107,0.169,0.338,0.119,0.122,0.241,0.042,
+0.113,0.103,0.085,0.150,0.082,0.110,0.141,0.218,0.096,0.130,
+0.248,0.390,0.242,0.173,0.192,0.134,0.263,0.231,0.072,0.224,
+0.105,0.107,0.091,0.220,0.118,0.109,0.040,0.123,0.080,0.043,
+0.183,0.107,0.227,0.230,0.074,0.323,0.172,0.137,0.083,0.087,
+0.055,0.091,0.223,0.360,0.208,0.184,0.154,0.043,0.185,0.228,
+0.097,0.148,0.133,0.186,1.637,1.592,2.209,1.436,1.657,2.211,
+1.397,1.208,1.768,0.383,1.322,1.314,0.828,1.466,0.967,1.214,
+0.178,0.342,0.224,0.165,0.209,0.551,0.299,0.181,0.242,0.129,
+0.348,0.256,0.116,0.362,0.169,0.150,1.134,2.144,1.201,1.197,
+0.197,0.381,0.253,0.196,1.960,0.453,1.081,1.687,0.763,2.289,
+1.279,1.371,1.067,0.972,0.666,1.011,1.517,2.409,1.392,1.579,
+3.162,0.466,2.097,2.400,1.055,1.761,1.406,1.786,1.121,0.821,
+1.051,2.438,0.840,0.798,0.620,0.671,0.897,0.117,0.610,0.925,
+0.706,0.827,0.496,1.154,1.391,1.645,1.043,1.187,1.694,2.243,
+1.507,1.274,1.733,0.313,1.696,2.029,0.905,2.102,1.158,1.417,
+1.113,1.728,1.139,1.255,0.124,0.264,0.161,0.147,1.771,0.306,
+1.576,1.945,1.002,2.598,1.502,1.607,0.994,0.855,0.646,1.325,
+1.017,1.311,0.909,1.146,2.167,0.223,1.989,2.663,1.345,2.101,
+1.717,2.343,1.409,0.865,0.667,1.219,0.864,0.668,0.438,0.776,
+0.880,0.088,0.636,0.759,0.875,0.733,0.546,1.043,1.164,0.803,
+0.425,0.657,0.794,0.541,0.440,0.584,0.683,0.080,0.498,0.715,
+0.487,0.579,0.390,0.685,0.764,0.714,0.487,0.841,0.068,0.063,
+0.047,0.115,0.937,0.107,0.460,0.757,0.544,0.696,0.459,0.743,
+0.932,0.510,0.413,0.930,0.670,0.536,0.411,0.839,0.768,0.091,
+0.571,0.909,0.937,0.693,0.746,1.609,1.454,1.176,0.627,1.087,
+1.342,1.727,0.780,0.918,1.279,0.163,0.820,1.031,0.875,1.112,
+0.651,1.020,1.247,1.258,0.563,0.815,1.748,1.393,0.920,1.007,
+1.249,0.239,1.057,1.398,0.737,1.367,0.728,1.008,0.682,1.085,
+0.594,0.739,0.100,0.177,0.124,0.129,1.184,0.187,0.977,1.271,
+0.618,1.446,0.876,1.057,0.660,0.540,0.392,0.683,1.100,1.219,
+0.849,1.220,1.009,0.149,1.044,1.391,0.736,0.962,0.937,1.480,
+0.851,0.639,0.712,0.646,0.857,0.881,0.693,0.798,1.029,0.189,
+0.813,0.949,0.612,0.857,0.697,1.113,0.068,0.080,0.075,0.068,
+0.079,0.143,0.092,0.084,0.093,0.039,0.099,0.101,0.058,0.158,
+0.093,0.103,0.688,1.028,0.613,0.736,0.079,0.117,0.083,0.118,
+1.158,0.215,0.865,1.171,0.572,1.410,0.948,1.006,0.663,0.714,
+0.472,0.665,0.918,1.186,0.781,1.095,2.271,0.906,1.394,1.627,
+0.838,1.905,1.060,1.420,1.155,0.673,0.558,0.999,0.661,0.539,
+0.439,0.549,0.727,0.074,0.481,0.714,0.770,0.668,0.570,1.411,
+0.852,0.730,0.518,0.687,0.799,0.807,0.625,0.781,0.697,0.079,
+0.652,0.922,0.643,0.890,0.665,1.288,1.100,0.973,0.693,1.016,
+0.085,0.081,0.055,0.101,1.172,0.128,0.987,1.479,0.911,1.491,
+1.248,1.520,1.168,0.848,0.678,1.371,1.061,1.133,0.856,1.191,
+1.604,0.202,1.459,2.223,1.734,1.957,1.851,2.142,2.230,1.573,
+1.359,2.335,1.890,1.691,1.424,1.479,1.644,0.194,0.970,1.441,
+1.769,1.715,0.999,1.624,1.381,1.040,0.722,0.964,1.227,0.967,
+0.942,0.897,0.944,0.140,0.960,1.411,0.759,1.053,0.786,1.020,
+1.055,0.982,0.764,1.140,0.119,0.112,0.102,0.211,0.976,0.141,
+0.852,3.044,0.664,0.963,0.848,1.425,1.503,0.695,0.586,1.124,
+1.576,0.913,0.859,1.105,0.904,0.106,0.899,1.210,1.066,0.765,
+0.956,1.579,2.427,1.834,1.385,1.715,2.216,1.938,1.624,1.357,
+1.606,0.262,1.157,1.267,1.145,1.599,0.852,1.289,1.842,1.847,
+1.075,1.153,1.904,1.483,1.593,1.233,1.787,0.379,1.456,1.949,
+0.887,1.769,1.053,1.128,1.471,2.144,1.233,1.378,0.279,0.331,
+0.265,0.295,2.116,0.458,2.027,4.044,0.940,2.526,1.738,1.881,
+1.320,0.890,0.599,0.934,3.489,1.840,1.395,1.495,1.396,0.170,
+1.213,1.548,1.028,1.164,1.151,1.889,1.281,0.906,0.761,0.913,
+1.538,1.295,1.576,1.127,1.717,0.322,1.058,1.116,1.013,1.546,
+1.001,1.372,0.122,0.157,0.110,0.141,0.187,0.222,0.224,0.169,
+0.227,0.069,0.248,0.222,0.166,0.434,0.212,0.306,0.834,1.126,
+0.944,0.994,0.142,0.195,0.197,0.201,2.487,0.836,1.289,1.287,
+0.718,2.540,1.081,0.976,0.695,0.558,0.532,0.684,1.210,1.211,
+1.289,1.338,1.283,0.239,3.168,1.520,0.776,1.103,1.249,1.448,
+1.379,0.660,0.713,1.200,0.823,0.581,0.696,0.885,0.873,0.112,
+0.570,0.721,1.230,1.189,0.742,1.467,1.162,0.923,0.812,1.039,
+1.096,0.980,1.027,0.936,1.175,0.155,0.986,1.155,0.982,1.502,
+0.933,1.428,0.955,1.074,0.866,1.141,0.113,0.124,0.138,0.159,
+1.303,0.198,1.316,1.660,1.007,1.635,1.412,1.560,1.216,0.907,
+0.671,1.260,0.961,0.791,0.931,1.163,1.502,0.172,1.746,1.853,
+1.738,1.777,2.218,3.327,0.134,0.126,0.090,0.121,0.160,0.203,
+0.121,0.132,0.107,0.024,0.069,0.093,0.096,0.141,0.071,0.100,
+0.153,0.162,0.112,0.112,0.205,0.236,0.232,0.163,0.130,0.054,
+0.162,0.160,0.071,0.148,0.119,0.114,0.085,0.139,0.088,0.098,
+0.024,0.038,0.036,0.030,0.116,0.038,0.125,0.177,0.096,0.144,
+0.116,0.122,0.109,0.069,0.061,0.142,0.164,0.172,0.122,0.137,
+0.111,0.023,0.102,0.128,0.183,0.122,0.119,0.163,0.181,0.223,
+0.112,0.123,0.226,0.331,0.209,0.142,0.145,0.053,0.132,0.122,
+0.084,0.164,0.094,0.103,0.226,0.346,0.183,0.133,0.339,0.293,
+0.360,0.215,0.258,0.134,0.257,0.255,0.092,0.254,0.171,0.148,
+0.136,0.325,0.162,0.132,0.055,0.166,0.116,0.056,0.266,0.163,
+0.329,0.332,0.088,0.397,0.285,0.231,0.098,0.110,0.068,0.095,
+0.274,0.336,0.192,0.174,0.168,0.048,0.168,0.170,0.086,0.147,
+0.146,0.191,0.102,0.110,0.109,0.070,0.161,0.232,0.217,0.133,
+0.161,0.073,0.145,0.122,0.067,0.203,0.102,0.107,0.021,0.045,
+0.041,0.025,0.053,0.111,0.119,0.049,0.066,0.086,0.127,0.072,
+0.017,0.087,0.058,0.035,0.099,0.253,0.197,0.140,0.047,0.127,
+0.134,0.057,0.958,0.850,0.325,0.269,0.108,1.074,0.277,0.174,
+0.086,0.094,0.076,0.082,0.167,0.311,0.262,0.208,0.235,0.099,
+0.337,0.226,0.081,0.188,0.194,0.203,0.119,0.107,0.100,0.120,
+0.111,0.096,0.120,0.110,0.089,0.017,0.076,0.089,0.104,0.136,
+0.107,0.151,0.185,0.220,0.214,0.178,0.248,0.316,0.296,0.236,
+0.227,0.074,0.241,0.246,0.141,0.393,0.230,0.231,0.100,0.207,
+0.159,0.146,0.023,0.046,0.052,0.036,0.225,0.088,0.264,0.286,
+0.113,0.308,0.289,0.230,0.118,0.140,0.089,0.118,0.122,0.157,
+0.138,0.143,0.199,0.034,0.227,0.230,0.159,0.211,0.249,0.318,
+1.688,1.234,0.996,1.425,1.222,1.209,0.907,1.048,1.307,0.149,
+0.808,0.931,0.808,0.840,0.659,0.936,1.272,1.320,0.829,1.034,
+1.515,1.466,1.586,1.233,1.604,0.255,1.608,1.502,0.685,1.262,
+0.971,1.095,1.152,1.681,1.217,1.437,0.204,0.297,0.282,0.371,
+2.285,0.329,1.582,1.925,0.859,1.886,1.249,1.693,1.129,0.751,
+0.579,1.087,1.462,1.287,1.116,1.683,1.447,0.198,1.236,1.777,
+1.051,1.195,1.243,2.281,0.133,0.157,0.081,0.111,0.206,0.266,
+0.174,0.174,0.152,0.041,0.135,0.120,0.075,0.134,0.077,0.105,
+0.136,0.204,0.111,0.112,0.265,0.300,0.339,0.224,0.222,0.101,
+0.336,0.270,0.074,0.198,0.136,0.127,0.126,0.326,0.176,0.148,
+0.042,0.129,0.109,0.065,0.358,0.210,0.410,0.416,0.108,0.415,
+0.244,0.220,0.145,0.106,0.070,0.123,0.273,0.349,0.229,0.272,
+0.206,0.052,0.226,0.258,0.112,0.156,0.152,0.231,1.365,1.375,
+0.809,0.786,1.608,2.146,1.883,1.305,1.630,0.383,1.924,1.472,
+0.656,1.170,1.167,1.160,0.133,0.288,0.155,0.129,0.227,0.433,
+0.517,0.186,0.270,0.138,0.687,0.323,0.101,0.315,0.246,0.180,
+1.251,2.264,1.655,1.397,0.282,0.444,0.501,0.314,2.348,0.517,
+1.011,1.563,0.816,2.037,1.881,1.548,0.926,0.913,0.694,0.715,
+1.572,2.216,2.098,1.670,2.178,0.384,2.328,2.099,0.899,1.581,
+1.655,1.719,1.083,0.793,0.614,0.877,1.014,0.845,0.622,0.683,
+0.946,0.138,0.922,0.955,0.734,0.863,0.641,1.013,1.481,1.740,
+1.117,1.140,2.198,2.551,2.141,1.428,1.757,0.330,2.738,2.194,
+1.048,1.975,1.509,1.544,1.679,3.940,1.526,1.616,0.259,0.735,
+0.315,0.281,2.530,0.484,3.530,3.488,1.423,3.066,2.491,2.343,
+1.203,1.191,0.815,1.168,1.362,2.017,1.366,1.405,2.170,0.267,
+2.557,2.830,1.513,2.129,2.236,2.817,1.681,0.861,0.709,1.269,
+0.952,0.707,0.596,0.876,0.916,0.103,0.487,0.768,0.999,0.934,
+0.558,1.231,0.986,0.746,0.454,0.671,0.768,0.609,0.535,0.626,
+0.663,0.077,0.464,0.766,0.472,0.609,0.439,0.662,0.903,0.878,
+0.604,0.911,0.116,0.104,0.075,0.155,0.929,0.106,0.625,0.949,
+0.697,1.007,0.766,1.121,1.724,0.680,0.536,1.022,1.229,0.825,
+0.614,1.084,0.827,0.083,0.519,0.874,1.119,0.938,0.880,1.779,
+1.938,1.449,0.878,1.597,1.827,1.495,1.264,1.338,1.338,0.192,
+1.070,1.249,1.066,1.353,0.796,1.332,1.549,1.712,0.872,1.226,
+1.955,1.779,1.660,1.585,1.478,0.267,1.523,1.747,0.838,1.668,
+1.048,1.209,1.223,2.147,1.150,1.345,0.174,0.342,0.231,0.273,
+2.088,0.422,1.886,2.515,1.236,3.446,1.854,2.254,1.449,0.956,
+0.720,1.235,1.928,1.956,1.573,2.171,1.563,0.191,1.352,1.886,
+1.315,1.606,1.397,2.242,1.436,0.998,0.677,0.946,1.516,1.501,
+1.448,1.215,1.305,0.217,1.249,1.548,0.746,1.068,1.003,1.414,
+0.111,0.149,0.077,0.101,0.152,0.290,0.215,0.149,0.121,0.055,
+0.214,0.209,0.080,0.184,0.128,0.148,1.159,1.910,1.252,1.405,
+0.187,0.283,0.229,0.264,1.946,0.419,1.624,1.928,0.912,2.218,
+1.912,1.825,1.269,1.030,0.773,1.053,1.802,1.895,1.926,2.253,
+1.773,0.277,1.814,2.171,1.102,1.484,1.756,2.132,1.516,0.813,
+0.648,1.118,1.004,0.747,0.664,0.731,0.923,0.107,0.678,0.954,
+1.032,0.891,0.774,1.524,1.244,1.308,0.636,1.003,1.147,1.226,
+1.078,1.080,0.950,0.121,0.960,1.390,0.804,1.058,0.935,1.344,
+1.311,1.940,1.204,1.654,0.150,0.256,0.127,0.200,2.110,0.279,
+2.170,2.889,1.663,2.665,2.461,2.516,1.805,1.291,1.051,1.993,
+1.607,1.694,1.479,2.068,2.370,0.215,2.184,3.170,2.428,2.391,
+2.605,3.367,2.382,1.452,1.622,3.952,1.542,1.059,0.885,1.430,
+1.583,0.151,0.844,1.354,2.106,1.674,1.065,1.930,1.629,0.962,
+0.746,1.194,0.978,0.599,0.583,0.745,0.936,0.087,0.773,0.901,
+1.009,1.009,0.890,1.278,1.411,1.025,0.992,1.252,0.096,0.083,
+0.076,0.153,0.915,0.098,0.788,1.174,0.850,1.043,0.870,1.395,
+1.680,0.852,0.877,1.536,1.171,0.794,0.770,1.143,1.182,0.168,
+3.212,1.549,1.514,1.127,1.515,2.489,1.698,0.950,0.716,1.316,
+1.190,0.719,0.567,0.764,0.917,0.106,0.555,0.834,0.912,0.959,
+0.580,1.227,1.145,0.835,0.553,0.830,0.756,0.571,0.513,0.610,
+0.961,0.105,0.583,0.871,0.694,0.817,0.632,1.079,0.899,0.909,
+0.650,0.993,0.087,0.081,0.070,0.109,1.044,0.109,0.893,1.333,
+0.762,1.063,0.852,1.243,0.905,0.627,0.525,0.892,1.000,0.692,
+0.687,0.801,1.003,0.103,1.855,1.146,0.921,0.802,0.994,1.864,
+1.266,0.691,0.729,0.998,0.936,0.780,0.777,0.806,1.028,0.135,
+0.562,0.912,1.033,0.969,0.706,1.394,0.086,0.075,0.063,0.091,
+0.074,0.074,0.066,0.075,0.082,0.017,0.069,0.095,0.122,0.175,
+0.097,0.164,0.693,0.717,0.644,0.900,0.066,0.073,0.072,0.106,
+1.058,0.159,0.709,0.879,0.665,1.057,0.809,1.086,0.890,0.548,
+0.504,0.845,0.869,0.646,0.630,0.960,0.919,0.100,1.137,1.080,
+0.886,0.872,1.042,1.703,1.568,0.670,0.711,1.431,0.741,0.485,
+0.532,0.736,1.061,0.101,0.604,0.921,1.752,1.153,0.889,1.882,
+1.074,0.727,0.672,1.129,0.723,0.507,0.533,0.668,0.876,0.074,
+0.711,0.858,1.264,1.252,0.906,1.483,1.056,0.948,0.798,1.201,
+0.080,0.065,0.070,0.115,1.028,0.090,0.960,1.221,1.170,1.307,
+1.220,1.810,1.444,1.224,0.817,1.726,0.896,0.731,0.733,1.181,
+1.477,0.134,1.365,1.828,2.199,1.932,2.260,4.329,2.653,1.698,
+1.415,2.528,2.086,1.489,1.112,1.508,1.636,0.178,0.915,1.369,
+1.800,1.600,1.145,1.850,2.129,1.375,1.048,1.637,1.666,1.338,
+1.214,1.341,1.399,0.170,1.460,1.599,0.935,1.330,1.262,1.558,
+1.211,1.329,0.968,1.412,0.134,0.172,0.123,0.205,1.207,0.174,
+1.091,1.627,0.993,1.447,1.252,1.791,1.406,0.886,0.782,1.507,
+1.469,1.413,0.947,1.492,1.310,0.184,1.073,1.375,1.489,1.285,
+1.385,2.351,2.217,1.593,0.956,1.505,1.575,1.423,0.993,1.133,
+1.279,0.182,0.806,1.115,1.068,1.259,0.764,1.427,1.827,1.764,
+1.056,1.296,1.612,1.149,1.206,1.271,1.535,0.252,1.262,1.572,
+0.916,1.547,1.148,1.692,1.181,1.698,0.966,1.340,0.146,0.228,
+0.153,0.185,1.897,0.325,1.507,1.924,1.052,2.362,1.683,2.191,
+0.991,0.929,0.675,1.252,1.336,1.645,0.896,1.298,1.495,0.167,
+1.421,1.660,1.077,1.265,1.275,2.317,1.417,0.914,0.838,1.000,
+1.660,1.376,1.266,1.217,1.406,0.259,0.944,1.131,0.978,1.416,
+0.904,1.534,0.098,0.137,0.130,0.115,0.147,0.229,0.200,0.168,
+0.157,0.071,0.176,0.168,0.106,0.348,0.161,0.176,1.086,1.769,
+1.174,1.260,0.149,0.248,0.187,0.205,2.806,0.979,1.383,1.762,
+1.044,3.429,1.838,1.839,1.209,1.097,0.703,1.121,1.525,2.026,
+1.483,1.912,1.691,0.240,1.538,1.957,1.100,1.455,1.651,2.464,
+1.444,0.932,1.042,1.334,1.015,0.762,0.804,0.938,1.072,0.119,
+0.828,1.049,1.349,1.289,0.990,1.744,1.560,1.456,1.949,1.677,
+1.399,1.481,1.560,1.400,1.726,0.274,1.785,1.831,1.541,3.514,
+1.847,2.046,1.078,1.340,1.316,1.511,0.112,0.141,0.170,0.167,
+1.800,0.245,1.964,2.383,1.361,2.278,2.186,2.456,1.363,1.247,
+0.942,1.394,1.317,1.279,1.313,1.517,1.848,0.160,1.789,2.444,
+1.886,1.988,2.165,3.546,1.750,0.993,0.749,1.361,0.879,0.752,
+0.515,0.770,1.064,0.104,0.617,0.856,0.950,0.845,0.669,1.086,
+1.285,1.145,0.657,1.056,1.046,1.004,0.735,0.804,1.202,0.168,
+1.025,1.193,0.792,1.245,0.869,1.167,1.096,1.345,0.929,1.286,
+0.150,0.190,0.149,0.238,1.560,0.222,1.936,1.706,0.948,1.629,
+1.314,1.704,1.091,0.732,0.562,1.178,1.071,1.055,0.726,1.142,
+1.419,0.170,1.256,1.772,1.369,1.277,1.419,2.787,0.108,0.090,
+0.054,0.096,0.097,0.124,0.068,0.094,0.086,0.019,0.076,0.080,
+0.075,0.115,0.056,0.105,0.101,0.128,0.061,0.077,0.142,0.256,
+0.107,0.107,0.127,0.039,0.149,0.143,0.070,0.167,0.084,0.108,
+0.092,0.134,0.084,0.085,0.018,0.040,0.034,0.022,0.227,0.070,
+0.543,0.235,0.107,0.220,0.177,0.146,0.096,0.089,0.056,0.102,
+0.140,0.223,0.102,0.150,0.147,0.030,0.190,0.193,0.118,0.137,
+0.122,0.221,1.099,0.833,0.636,0.824,1.016,1.199,0.970,0.946,
+1.202,0.224,0.922,1.028,0.741,1.027,1.023,1.222,0.082,0.119,
+0.072,0.080,0.102,0.171,0.123,0.091,0.137,0.044,0.161,0.131,
+0.097,0.215,0.166,0.145,0.941,1.580,1.020,1.099,0.138,0.251,
+0.196,0.191,2.103,0.357,1.117,1.664,0.907,1.960,1.592,1.574,
+0.875,0.782,0.617,0.819,1.242,1.655,1.318,1.481,1.993,0.282,
+1.663,1.955,1.027,1.565,1.547,2.069,1.324,0.519,0.535,0.969,
+0.805,0.646,0.532,0.790,1.035,0.105,0.781,0.956,1.013,0.843,
+0.744,1.069,1.371,1.101,0.866,1.055,1.237,1.321,0.988,0.998,
+1.535,0.191,1.484,1.616,1.226,1.747,1.744,1.465,4.093,2.156,
+1.264,1.607,0.251,0.272,0.158,0.204,2.557,0.268,2.258,2.673,
+3.265,2.787,2.935,2.738,1.488,1.093,0.858,1.388,1.323,1.377,
+1.143,1.441,2.400,0.203,2.436,3.041,2.118,2.132,2.305,3.310,
+2.389,1.071,0.842,1.747,1.127,0.651,0.545,1.045,1.207,0.112,
+0.592,1.035,1.448,1.128,0.775,1.585,1.430,0.770,0.471,0.814,
+0.969,0.546,0.457,0.770,0.845,0.077,0.533,0.783,0.696,0.736,
+0.589,0.924,1.056,1.030,0.619,1.172,0.116,0.117,0.073,0.171,
+0.973,0.106,0.733,1.008,0.936,1.126,0.819,1.343,1.439,0.759,
+0.582,1.311,0.958,0.688,0.548,1.041,1.078,0.093,0.780,1.258,
+1.729,1.236,1.150,2.923,1.690,1.029,0.690,1.498,1.200,0.844,
+0.638,1.006,1.000,0.105,0.657,1.016,1.087,1.307,0.619,1.449,
+1.277,1.002,0.567,0.941,1.105,0.993,0.624,0.916,1.068,0.129,
+0.896,1.171,0.769,1.341,0.674,1.145,0.945,0.979,0.610,1.034,
+0.080,0.113,0.071,0.115,1.212,0.147,1.494,1.387,0.972,1.577,
+1.077,1.644,1.170,0.771,0.582,1.141,1.201,1.072,0.747,1.264,
+1.149,0.113,0.963,1.381,1.283,1.486,1.132,2.867,1.471,0.899,
+0.716,1.035,1.182,0.998,0.822,1.096,1.301,0.168,0.819,1.319,
+1.154,1.237,1.055,1.879,0.094,0.097,0.054,0.085,0.088,0.119,
+0.083,0.097,0.097,0.022,0.086,0.118,0.110,0.161,0.091,0.168,
+1.130,1.386,0.979,1.571,0.101,0.137,0.109,0.170,1.618,0.225,
+1.177,1.740,1.097,1.849,1.582,2.007,1.397,1.139,0.805,1.291,
+1.407,1.319,1.282,2.001,2.160,0.279,1.620,2.352,1.486,1.732,
+1.708,2.972,2.313,1.012,0.918,1.718,1.101,0.739,0.631,0.964,
+1.452,0.131,0.871,1.513,1.829,1.454,1.228,2.777,1.545,1.083,
+0.768,1.237,1.265,1.244,0.864,1.164,1.480,0.120,1.133,1.735,
+1.272,1.427,1.202,2.342,1.817,1.710,1.297,2.175,0.122,0.140,
+0.100,0.198,2.323,0.189,1.960,3.169,2.249,2.777,2.891,3.798,
+2.890,1.612,1.558,3.260,1.986,1.886,1.542,2.932,3.077,0.217,
+3.011,4.579,3.633,2.941,3.464,4.554,9.767,2.252,2.195,3.181,
+2.610,1.301,1.329,1.585,2.556,0.221,1.275,1.734,3.461,2.269,
+1.575,2.397,2.664,1.599,1.186,1.419,1.596,1.022,1.052,0.949,
+1.557,0.185,1.178,1.180,1.305,1.571,1.288,1.418,1.889,1.080,
+1.165,1.500,0.212,0.111,0.154,0.206,1.144,0.113,1.042,1.149,
+1.163,1.334,2.773,1.859,2.292,0.993,1.141,2.334,1.783,1.056,
+1.306,1.867,1.398,0.122,1.206,1.588,1.675,1.180,1.776,2.415,
+2.583,1.356,0.851,1.243,1.577,1.039,0.791,0.919,1.014,0.107,
+0.718,0.864,0.996,1.078,0.795,1.127,1.745,1.292,0.824,0.974,
+1.248,0.718,0.775,0.687,1.029,0.112,0.953,1.024,0.728,0.854,
+1.017,0.959,2.103,1.328,0.710,0.947,0.725,0.119,0.101,0.118,
+1.226,0.121,0.827,1.226,0.745,1.002,0.911,0.944,1.169,0.914,
+0.535,0.911,2.939,0.920,0.718,0.981,1.054,0.096,0.883,1.138,
+0.896,0.774,1.064,1.443,2.253,0.804,0.918,1.134,1.178,0.724,
+0.846,0.908,1.217,0.152,0.791,1.008,1.023,0.925,1.160,1.421,
+0.141,0.098,0.071,0.092,0.089,0.078,0.079,0.074,0.098,0.018,
+0.111,0.110,0.113,0.177,0.156,0.163,0.846,0.724,0.722,0.741,
+0.080,0.066,0.085,0.090,0.838,0.093,0.826,0.847,0.596,0.900,
+1.762,1.070,0.793,0.490,0.549,0.740,0.943,0.729,0.720,0.926,
+1.103,0.113,0.984,1.338,0.745,0.824,1.244,1.475,3.854,0.864,
+0.741,1.493,1.028,0.503,0.676,0.674,0.973,0.094,0.544,0.757,
+1.194,0.838,0.906,1.750,1.470,0.853,0.687,0.893,0.801,0.602,
+0.606,0.611,0.923,0.084,0.803,0.833,0.840,0.900,0.858,1.197,
+1.027,0.660,0.639,0.829,0.099,0.052,0.063,0.080,0.770,0.064,
+0.679,0.860,0.681,0.865,1.299,1.140,1.272,0.614,0.696,1.292,
+0.650,0.406,0.537,0.778,1.115,0.079,0.959,1.478,1.453,1.120,
+1.830,2.695,3.641,2.212,1.732,2.670,2.039,1.634,1.396,1.532,
+1.580,0.186,1.073,1.395,1.615,1.685,1.309,1.863,2.605,2.286,
+1.352,1.606,1.806,1.392,1.558,1.252,1.568,0.186,1.609,1.639,
+0.955,1.164,1.196,1.432,1.111,1.085,1.093,1.142,0.138,0.161,
+0.146,0.162,1.056,0.124,1.001,1.137,0.680,1.177,1.322,1.359,
+1.355,0.687,0.779,1.319,1.516,1.119,0.955,1.183,1.004,0.102,
+0.881,1.224,0.949,0.824,1.268,1.921,2.733,2.135,1.045,1.598,
+1.895,2.623,1.188,1.491,1.297,0.197,1.025,1.141,0.983,1.203,
+0.863,1.170,1.914,1.753,1.132,1.223,1.253,0.699,1.027,0.901,
+1.357,0.194,1.434,1.548,0.719,1.131,1.115,1.129,1.431,1.802,
+0.968,1.125,0.262,0.242,0.150,0.148,1.442,0.258,1.352,1.696,
+0.815,2.308,1.483,1.353,1.050,0.798,0.583,1.099,2.461,1.239,
+0.791,1.008,1.017,0.111,0.888,1.157,0.751,0.865,1.047,1.389,
+2.233,1.243,1.019,1.433,1.678,1.475,1.499,1.245,1.578,0.230,
+1.321,1.732,1.014,1.197,1.545,1.650,0.150,0.213,0.136,0.152,
+0.154,0.232,0.205,0.135,0.172,0.059,0.248,0.218,0.114,0.254,
+0.281,0.210,1.263,1.651,1.656,1.431,0.154,0.235,0.275,0.182,
+1.666,0.284,1.961,1.854,1.040,2.124,5.800,2.249,1.132,0.709,
+1.105,0.975,1.473,1.563,1.534,1.473,2.390,0.228,1.891,2.152,
+0.977,1.229,2.334,2.030,2.180,0.987,0.812,1.303,0.928,0.722,
+0.807,0.764,0.798,0.080,0.621,0.786,0.837,0.747,0.880,1.383,
+1.690,1.426,1.136,1.304,1.248,1.255,1.261,1.117,1.190,0.131,
+1.284,1.498,0.928,1.357,1.414,1.636,0.937,0.936,1.117,1.202,
+0.095,0.106,0.119,0.122,1.015,0.110,1.214,1.388,0.882,1.252,
+2.235,1.713,1.144,0.501,0.843,1.163,0.930,0.749,0.808,0.995,
+1.314,0.099,1.373,1.797,1.423,1.328,3.271,2.966,1.932,1.315,
+0.926,1.489,1.107,0.854,0.678,0.824,1.258,0.120,0.694,0.938,
+1.151,0.972,0.876,1.251,1.972,1.859,1.077,1.329,1.324,1.277,
+1.143,1.076,1.741,0.200,1.392,1.597,0.972,1.374,1.075,1.987,
+1.189,1.458,1.884,1.477,0.153,0.228,0.201,0.253,1.282,0.169,
+1.064,1.846,0.695,1.418,1.159,1.379,1.125,0.868,0.893,1.273,
+1.060,1.348,0.983,1.175,1.098,0.127,1.100,1.452,1.005,0.993,
+1.289,2.292,0.159,0.153,0.084,0.144,0.245,0.179,0.105,0.136,
+0.138,0.026,0.107,0.137,0.119,0.157,0.109,0.144,0.188,0.250,
+0.122,0.146,0.184,0.212,0.166,0.157,0.293,0.049,0.222,0.238,
+0.124,0.241,0.152,0.196,0.136,0.214,0.160,0.167,0.027,0.046,
+0.045,0.043,0.238,0.064,0.238,0.768,0.101,0.331,0.195,0.236,
+0.169,0.140,0.111,0.185,0.289,0.331,0.233,0.266,0.174,0.036,
+0.200,0.305,0.153,0.201,0.199,0.294,1.374,0.976,0.954,0.867,
+1.442,1.170,1.319,0.888,1.533,0.272,1.303,1.394,0.832,1.195,
+1.097,1.264,0.142,0.179,0.107,0.103,0.125,0.181,0.161,0.094,
+0.445,0.087,0.234,0.194,0.151,0.284,0.189,0.173,1.036,1.537,
+1.270,1.000,0.137,0.244,0.231,0.154,1.579,0.271,1.149,1.405,
+0.714,1.468,1.632,1.282,0.759,0.626,0.654,0.788,1.128,1.548,
+1.375,1.397,1.506,0.255,1.966,1.834,0.770,1.168,1.463,1.484,
+1.182,0.683,0.563,0.893,0.808,0.574,0.559,0.527,1.102,0.120,
+0.675,0.784,0.882,1.130,0.840,1.037,1.798,1.422,0.979,1.151,
+1.275,1.432,1.120,0.989,4.938,0.311,1.600,1.749,1.609,1.979,
+1.364,1.491,1.097,1.363,1.690,1.666,0.118,0.200,0.185,0.167,
+1.455,0.204,1.491,1.642,1.053,2.631,1.821,1.806,1.177,0.716,
+0.779,1.407,1.005,0.983,0.901,1.053,1.479,0.152,1.693,1.880,
+1.475,1.580,1.754,2.250,2.275,1.087,0.874,1.708,0.957,0.698,
+0.560,0.794,0.932,0.088,0.546,0.829,1.189,0.861,0.785,1.492,
+1.387,0.804,0.556,0.838,0.847,0.533,0.532,0.704,0.855,0.077,
+0.558,0.831,0.700,0.592,0.567,0.982,0.883,0.731,0.784,1.080,
+0.086,0.074,0.072,0.135,0.701,0.063,0.535,0.922,0.544,0.695,
+0.644,0.985,1.257,0.604,0.754,1.591,0.815,0.626,0.657,1.105,
+0.823,0.070,0.755,1.101,1.045,0.812,1.085,2.350,1.683,1.128,
+0.815,1.596,1.577,0.931,0.712,0.873,1.029,0.101,0.885,1.034,
+1.095,0.909,1.067,1.349,1.404,1.326,0.687,1.096,1.041,0.847,
+0.782,0.825,1.062,0.121,0.982,1.217,0.827,0.985,0.754,1.176,
+0.926,0.927,0.729,1.052,0.097,0.095,0.080,0.134,1.106,0.137,
+0.910,2.169,0.759,1.346,0.947,1.326,1.181,0.651,0.643,1.083,
+1.145,0.905,0.765,1.106,1.039,0.107,0.890,1.413,0.975,1.125,
+1.070,1.792,1.498,0.787,0.766,1.046,1.308,0.803,1.024,1.094,
+1.291,0.162,1.086,1.282,0.887,0.913,1.194,1.661,0.123,0.105,
+0.073,0.115,0.099,0.107,0.100,0.109,0.140,0.024,0.153,0.154,
+0.111,0.171,0.154,0.182,1.054,1.095,0.953,1.362,0.098,0.106,
+0.105,0.170,1.254,0.147,1.144,1.400,0.826,1.314,1.606,1.671,
+1.066,0.682,0.804,1.361,1.427,1.145,1.310,2.427,1.767,0.192,
+1.763,2.662,1.191,1.412,1.778,2.450,2.091,0.923,0.884,1.563,
+1.000,0.666,0.804,0.895,1.057,0.102,0.766,1.155,1.329,1.044,
+1.045,2.134,1.259,0.882,0.682,1.046,0.799,0.583,0.790,0.894,
+1.361,0.099,0.937,1.343,1.173,1.251,1.021,1.672,1.445,1.327,
+1.359,2.381,0.122,0.106,0.115,0.188,1.515,0.139,1.371,2.002,
+1.478,1.872,2.073,2.661,2.869,1.140,1.360,2.738,1.619,1.293,
+1.327,2.147,2.307,0.152,2.153,3.181,3.684,2.261,3.045,4.546,
+0.368,0.145,0.138,0.172,0.166,0.137,0.112,0.112,0.126,0.017,
+0.099,0.110,0.153,0.138,0.143,0.138,0.175,0.142,0.120,0.107,
+0.155,0.124,0.142,0.108,0.136,0.027,0.149,0.136,0.089,0.133,
+0.153,0.123,0.101,0.097,0.128,0.120,0.016,0.016,0.036,0.023,
+0.087,0.017,0.220,0.124,0.093,0.175,1.147,0.239,0.121,0.085,
+0.074,0.123,0.127,0.190,0.134,0.141,0.093,0.017,0.126,0.132,
+0.106,0.119,0.251,0.190,0.189,0.174,0.111,0.116,0.167,0.232,
+0.122,0.096,0.114,0.025,0.156,0.113,0.089,0.127,0.109,0.108,
+0.192,0.199,0.118,0.108,0.169,0.156,0.173,0.126,0.153,0.043,
+0.214,0.200,0.082,0.152,0.161,0.128,0.136,0.156,0.091,0.092,
+0.031,0.025,0.035,0.022,0.145,0.036,0.193,0.203,0.069,0.157,
+0.231,0.129,0.095,0.186,0.056,0.087,0.180,0.122,0.126,0.116,
+0.114,0.019,0.144,0.149,0.097,0.104,0.142,0.167,0.120,0.067,
+0.067,0.069,0.101,0.093,0.095,0.080,0.120,0.022,0.093,0.087,
+0.065,0.084,0.114,0.112,0.013,0.015,0.012,0.010,0.018,0.022,
+0.028,0.014,0.017,0.011,0.028,0.022,8.77e-3,0.022,0.029,0.022,
+0.071,0.077,0.088,0.069,0.011,0.014,0.023,0.013,0.098,0.025,
+0.138,0.106,0.058,0.121,0.517,0.158,0.076,0.043,0.047,0.054,
+0.083,0.088,0.093,0.097,0.175,0.023,0.136,0.140,0.080,0.083,
+0.200,0.152,0.182,0.068,0.061,0.097,0.073,0.047,0.055,0.057,
+0.074,9.78e-3,0.051,0.066,0.084,0.081,0.085,0.142,0.134,0.105,
+0.102,0.116,0.110,0.104,0.115,0.108,0.090,0.018,0.107,0.123,
+0.083,0.124,0.127,0.144,0.074,0.073,0.092,0.092,0.011,0.010,
+0.021,0.015,0.081,0.014,0.106,0.106,0.067,0.141,0.497,0.173,
+0.093,0.062,0.067,0.109,0.068,0.061,0.072,0.091,0.104,0.012,
+0.126,0.161,0.128,0.128,0.241,0.282,0.230,0.168,0.131,0.158,
+0.182,0.244,0.171,0.137,0.120,0.025,0.105,0.108,0.096,0.123,
+0.099,0.121,0.216,0.212,0.156,0.132,0.232,0.238,0.261,0.157,
+0.186,0.068,0.244,0.207,0.085,0.129,0.137,0.128,0.098,0.121,
+0.122,0.089,0.023,0.034,0.039,0.022,0.100,0.027,0.132,0.114,
+0.068,0.126,0.181,0.125,0.086,0.057,0.059,0.089,0.120,0.122,
+0.109,0.105,0.102,0.018,0.101,0.113,0.121,0.078,0.122,0.153,
+0.256,0.344,0.132,0.139,0.307,1.032,0.237,0.181,0.168,0.054,
+0.168,0.146,0.094,0.171,0.124,0.123,0.259,0.352,0.207,0.154,
+0.234,0.192,0.275,0.207,0.224,0.107,0.316,0.313,0.099,0.234,
+0.211,0.162,0.168,0.287,0.172,0.130,0.044,0.100,0.085,0.042,
+0.221,0.117,0.254,0.275,0.082,0.338,0.308,0.189,0.101,0.097,
+0.070,0.142,0.235,0.218,0.144,0.145,0.154,0.037,0.165,0.173,
+0.088,0.127,0.220,0.182,0.162,0.122,0.157,0.116,0.182,0.250,
+0.236,0.136,0.181,0.037,0.175,0.183,0.087,0.136,0.183,0.145,
+0.025,0.051,0.055,0.029,0.049,0.114,0.124,0.041,0.055,0.061,
+0.127,0.070,0.017,0.061,0.083,0.037,0.170,0.307,0.271,0.174,
+0.056,0.124,0.141,0.055,0.271,0.112,0.391,0.272,0.138,0.336,
+1.277,0.338,0.199,0.081,0.099,0.096,0.196,0.277,0.270,0.193,
+1.075,0.110,0.349,0.300,0.182,0.179,0.355,0.226,0.148,0.096,
+0.077,0.101,0.087,0.102,0.084,0.068,0.078,0.012,0.074,0.076,
+0.078,0.076,0.090,0.117,0.155,0.191,0.205,0.150,0.164,0.240,
+0.248,0.153,0.151,0.041,0.236,0.216,0.091,0.204,0.198,0.171,
+0.091,0.138,0.156,0.122,0.012,0.030,0.037,0.020,0.122,0.034,
+0.193,0.173,0.084,0.156,0.362,0.171,0.093,0.059,0.074,0.097,
+0.080,0.096,0.102,0.094,0.217,0.019,0.160,0.190,0.117,0.140,
+0.308,0.265,0.110,0.126,0.079,0.100,0.086,0.083,0.072,0.082,
+0.076,0.012,0.061,0.066,0.067,0.071,0.063,0.074,0.150,0.187,
+0.123,0.110,0.155,0.186,0.185,0.141,0.163,0.056,0.222,0.180,
+0.071,0.153,0.114,0.145,0.086,0.134,0.143,0.105,0.015,0.033,
+0.039,0.035,0.115,0.033,0.130,0.168,0.050,0.164,0.128,0.121,
+0.066,0.060,0.053,0.079,0.084,0.101,0.103,0.103,0.089,0.015,
+0.104,0.118,0.078,0.092,0.111,0.165,0.013,0.020,0.012,0.012,
+0.042,0.051,0.030,0.027,0.021,9.94e-3,0.027,0.020,0.019,0.022,
+0.032,0.014,0.030,0.058,0.029,0.023,0.045,0.091,0.081,0.051,
+0.039,0.049,0.088,0.061,0.019,0.059,0.039,0.031,0.015,0.049,
+0.047,0.024,0.010,0.039,0.056,0.018,0.043,0.051,0.094,0.090,
+0.012,0.080,0.077,0.034,9.44e-3,0.015,9.53e-3,0.013,0.023,0.042,
+0.040,0.032,0.024,0.010,0.051,0.038,0.013,0.023,0.031,0.029,
+0.126,0.135,0.143,0.085,0.141,0.212,0.257,0.123,0.161,0.056,
+0.243,0.198,0.077,0.191,0.159,0.156,0.021,0.048,0.029,0.018,
+0.034,0.098,0.089,0.034,0.056,0.066,0.141,0.071,0.018,0.063,
+0.056,0.028,0.131,0.333,0.223,0.134,0.037,0.141,0.112,0.043,
+0.245,0.132,0.266,0.260,0.086,0.365,0.333,0.191,0.076,0.080,
+0.074,0.088,0.146,0.297,0.254,0.225,0.258,0.099,0.367,0.308,
+0.089,0.192,0.238,0.211,0.098,0.079,0.069,0.100,0.071,0.067,
+0.071,0.060,0.095,0.019,0.076,0.092,0.081,0.191,0.080,0.111,
+0.166,0.204,0.152,0.135,0.189,0.295,0.252,0.161,0.369,0.071,
+0.300,0.288,0.143,0.345,0.240,0.187,0.107,0.217,0.233,0.160,
+0.018,0.061,0.103,0.031,0.204,0.086,0.293,0.273,0.157,0.831,
+0.402,0.314,0.082,0.080,0.076,0.110,0.131,0.130,0.141,0.117,
+0.167,0.033,0.230,0.244,0.140,0.260,0.222,0.250,0.139,0.096,
+0.078,0.126,0.111,0.075,0.066,0.131,0.102,0.010,0.060,0.094,
+0.096,0.083,0.100,0.126,0.120,0.094,0.059,0.087,0.095,0.078,
+0.082,0.091,0.092,0.015,0.080,0.104,0.070,0.067,0.066,0.090,
+0.073,0.073,0.071,0.087,8.77e-3,0.011,9.86e-3,0.019,0.070,9.44e-3,
+0.070,0.099,0.048,0.076,0.079,0.098,0.090,0.057,0.059,0.112,
+0.071,0.067,0.066,0.141,0.092,8.77e-3,0.073,0.139,0.099,0.073,
+0.108,0.227,0.175,0.140,0.108,0.156,0.268,0.160,0.144,0.136,
+0.142,0.023,0.186,0.141,0.194,0.153,0.638,0.209,0.189,0.202,
+0.114,0.148,0.210,0.211,0.216,0.194,0.164,0.038,0.228,0.240,
+0.126,0.209,0.173,0.183,0.096,0.153,0.119,0.133,0.016,0.029,
+0.029,0.030,0.171,0.037,0.184,0.386,0.091,0.223,0.169,0.187,
+0.119,0.090,0.080,0.134,0.146,0.156,0.148,0.237,0.146,0.021,
+0.168,0.239,0.120,0.156,0.185,0.254,0.118,0.073,0.073,0.091,
+0.102,0.099,0.120,0.108,0.119,0.026,0.148,0.150,0.076,0.101,
+0.160,0.206,0.016,0.014,0.012,0.016,0.021,0.038,0.031,0.020,
+0.020,0.014,0.047,0.033,0.012,0.028,0.041,0.028,0.098,0.150,
+0.134,0.123,0.018,0.034,0.036,0.026,0.157,0.044,0.190,0.189,
+0.082,0.210,0.283,0.187,0.089,0.065,0.079,0.107,0.128,0.139,
+0.161,0.226,0.244,0.048,0.259,0.453,0.115,0.160,0.233,0.257,
+0.154,0.092,0.078,0.126,0.093,0.078,0.081,0.104,0.086,0.014,
+0.076,0.111,0.099,0.099,0.105,0.194,0.117,0.101,0.083,0.129,
+0.094,0.103,0.112,0.120,0.109,0.016,0.137,0.150,0.093,0.122,
+0.108,0.166,0.113,0.136,0.138,0.177,0.012,0.017,0.019,0.024,
+0.147,0.024,0.170,0.232,0.114,0.251,0.235,0.253,0.166,0.093,
+0.104,0.181,0.128,0.123,0.129,0.194,0.193,0.018,0.222,0.322,
+0.250,0.231,0.294,0.385,2.766,1.717,1.509,2.606,1.814,1.320,
+1.403,1.524,1.399,0.155,1.123,1.539,1.943,1.507,1.324,1.846,
+1.652,1.129,0.894,1.137,1.361,0.935,1.092,1.011,1.047,0.124,
+1.191,1.134,0.887,1.024,1.112,1.223,0.999,0.989,1.004,1.140,
+0.099,0.091,0.123,0.173,0.945,0.107,1.136,1.489,0.698,0.903,
+1.457,1.320,0.997,0.526,0.548,0.990,0.805,0.577,0.654,0.945,
+0.768,0.071,0.782,1.058,0.906,0.544,1.057,1.528,2.330,1.574,
+1.665,1.670,1.909,1.554,1.564,1.455,1.265,0.189,1.190,1.284,
+0.972,1.214,0.860,1.222,2.215,1.733,1.281,1.266,1.841,1.193,
+1.739,1.342,1.738,0.267,1.850,2.022,1.007,1.505,1.131,1.285,
+1.422,1.713,1.386,1.488,0.223,0.223,0.254,0.319,2.175,0.382,
+2.349,5.897,0.956,2.017,2.061,2.175,0.899,0.676,0.554,0.871,
+1.488,1.171,1.023,1.409,1.019,0.131,1.098,1.767,0.858,0.876,
+1.327,1.711,1.602,0.841,0.833,0.975,1.413,1.194,1.347,1.153,
+1.371,0.205,1.229,1.241,0.877,1.063,1.513,1.477,0.192,0.210,
+0.147,0.165,0.245,0.247,0.272,0.223,0.226,0.069,0.325,0.277,
+0.179,0.404,0.306,0.314,1.188,1.259,1.391,1.222,0.158,0.168,
+0.265,0.221,1.724,0.278,2.063,2.006,0.804,1.620,3.002,1.642,
+0.875,0.644,0.560,0.701,1.368,1.157,1.350,1.386,1.195,0.149,
+1.615,1.511,0.899,0.969,1.610,1.604,1.592,0.695,0.657,1.091,
+0.808,0.607,0.663,0.720,0.705,0.085,0.614,0.830,0.897,0.774,
+0.904,1.298,1.461,1.360,0.915,1.065,1.149,1.050,1.066,0.974,
+1.046,0.126,1.237,1.278,0.888,1.374,1.257,1.591,1.096,1.245,
+1.235,1.251,0.115,0.125,0.185,0.186,1.596,0.184,1.853,2.024,
+1.069,1.645,3.763,2.168,1.128,0.702,0.690,1.166,0.838,0.622,
+0.913,1.231,1.340,0.128,1.519,1.935,1.617,1.382,2.331,3.121,
+0.176,0.198,0.109,0.157,0.163,0.166,0.151,0.171,0.104,0.024,
+0.087,0.099,0.101,0.115,0.103,0.120,0.190,0.201,0.132,0.134,
+0.218,0.225,0.267,0.181,0.149,0.055,0.243,0.202,0.110,0.167,
+0.168,0.157,0.077,0.124,0.097,0.092,0.021,0.037,0.038,0.031,
+0.095,0.026,0.153,0.167,0.051,0.121,0.211,0.130,0.081,0.051,
+0.048,0.078,0.113,0.113,0.093,0.107,0.071,0.012,0.091,0.105,
+0.072,0.069,0.118,0.151,0.174,0.206,0.125,0.126,0.193,0.315,
+0.225,0.225,0.137,0.040,0.149,0.109,0.071,0.122,0.091,0.099,
+0.232,0.288,0.184,0.148,0.252,0.213,0.314,0.224,0.200,0.101,
+0.303,0.262,0.094,0.202,0.172,0.168,0.103,0.200,0.125,0.111,
+0.040,0.085,0.090,0.043,0.209,0.117,0.280,0.396,0.079,0.245,
+0.284,0.197,0.076,0.067,0.050,0.069,0.147,0.146,0.123,0.123,
+0.092,0.023,0.125,0.155,0.059,0.087,0.124,0.140,0.134,0.114,
+0.087,0.077,0.198,0.256,0.291,0.159,0.150,0.044,0.196,0.146,
+0.073,0.130,0.175,0.139,0.027,0.051,0.038,0.026,0.064,0.119,
+0.134,0.053,0.055,0.076,0.177,0.083,0.019,0.064,0.088,0.044,
+0.120,0.226,0.238,0.158,0.041,0.095,0.178,0.055,0.269,0.163,
+0.522,0.308,0.121,0.329,1.390,0.346,0.083,0.071,0.072,0.074,
+0.160,0.219,0.253,0.174,0.230,0.062,0.302,0.217,0.081,0.126,
+0.315,0.200,0.159,0.132,0.099,0.124,0.109,0.104,0.110,0.098,
+0.081,0.014,0.082,0.098,0.089,0.111,0.151,0.167,0.220,0.250,
+0.178,0.183,0.269,0.367,0.302,0.228,0.198,0.057,0.283,0.253,
+0.144,0.301,0.298,0.271,0.141,0.166,0.211,0.145,0.018,0.033,
+0.065,0.035,0.189,0.047,0.335,0.266,0.188,0.268,1.364,0.355,
+0.104,0.080,0.081,0.107,0.104,0.098,0.145,0.135,0.137,0.023,
+0.194,0.212,0.150,0.161,0.367,0.334,1.959,3.521,1.287,2.128,
+1.387,1.287,1.101,2.185,1.302,0.168,1.142,1.178,0.889,0.800,
+0.742,1.027,1.762,1.882,1.166,1.327,1.880,1.791,2.354,2.201,
+1.931,0.322,2.404,2.174,0.845,1.428,1.237,1.365,1.379,1.715,
+1.388,1.423,0.222,0.316,0.296,0.402,2.282,0.343,2.601,3.371,
+0.947,1.766,1.702,2.080,0.959,0.717,0.573,0.918,1.161,1.063,
+0.974,1.233,1.353,0.162,1.559,1.950,1.002,0.939,1.702,2.148,
+0.176,0.295,0.119,0.203,0.223,0.310,0.276,0.878,0.157,0.052,
+0.364,0.209,0.082,0.130,0.112,0.138,0.205,0.286,0.221,0.218,
+0.345,0.403,0.559,0.814,0.261,0.127,0.583,0.430,0.095,0.225,
+0.166,0.185,0.161,0.341,0.198,0.172,0.053,0.129,0.147,0.100,
+0.364,0.192,0.563,0.796,0.116,0.370,0.366,0.310,0.118,0.112,
+0.069,0.119,0.210,0.269,0.222,0.270,0.175,0.043,0.258,0.331,
+0.101,0.125,0.193,0.249,2.152,1.399,1.309,0.726,1.820,2.022,
+2.303,1.663,1.829,0.380,2.681,2.110,0.753,1.188,1.742,1.610,
+0.206,0.335,0.321,0.150,0.225,0.417,0.411,0.216,0.413,0.188,
+0.739,0.514,0.120,0.321,0.335,0.227,1.608,1.853,1.700,1.286,
+0.306,0.305,0.469,0.240,1.274,0.316,0.424,0.712,0.656,1.121,
+1.750,1.387,0.815,0.850,0.846,0.620,1.216,1.429,1.737,1.151,
+1.506,0.305,3.047,2.235,0.701,1.140,2.101,1.871,1.229,0.823,
+0.707,0.859,0.840,0.711,0.649,0.749,0.787,0.108,0.957,0.903,
+0.603,0.722,0.693,1.018,1.576,1.748,1.267,1.056,1.683,2.119,
+1.738,1.291,1.894,0.307,2.506,2.206,0.927,1.962,1.567,1.375,
+1.266,1.700,1.626,1.421,0.174,0.306,0.295,0.227,2.288,0.395,
+4.641,3.551,1.077,2.560,3.485,2.464,0.915,0.780,0.748,0.896,
+1.059,1.165,1.198,1.076,1.534,0.199,3.031,2.588,1.246,1.501,
+2.385,2.411,1.665,1.135,0.757,1.358,0.954,0.697,0.685,0.954,
+0.846,0.109,0.786,0.922,0.930,0.951,0.653,1.088,1.229,0.873,
+0.599,0.784,0.915,0.684,1.017,0.928,0.729,0.081,0.738,0.814,
+0.499,0.568,0.561,0.729,0.878,0.840,0.633,0.849,0.095,0.097,
+0.094,0.158,0.931,0.108,0.987,1.486,0.611,0.835,0.971,1.175,
+0.912,0.533,0.442,0.847,0.773,0.569,0.545,0.896,0.715,0.064,
+0.661,1.048,0.834,0.638,1.017,1.553,1.750,1.483,1.050,1.633,
+1.588,1.477,1.903,2.368,1.173,0.204,3.065,1.647,0.857,1.015,
+1.020,1.226,1.779,1.747,1.357,1.480,1.958,1.842,3.214,2.486,
+1.468,0.231,2.700,2.312,0.842,1.330,1.152,1.326,1.167,1.842,
+1.155,1.270,0.162,0.260,0.241,0.313,2.004,0.371,2.471,4.786,
+0.923,2.213,2.092,2.278,1.082,0.836,0.609,1.087,1.325,1.333,
+1.235,1.694,1.168,0.146,1.499,2.147,0.939,1.044,1.265,1.862,
+1.683,1.133,0.842,0.953,1.515,1.352,1.761,1.348,1.315,0.198,
+1.651,1.703,0.776,0.993,1.466,1.669,0.161,0.203,0.129,0.137,
+0.214,0.309,0.385,0.221,0.170,0.071,0.350,0.287,0.114,0.228,
+0.252,0.208,1.694,2.167,1.763,1.687,0.227,0.280,0.355,0.295,
+2.669,0.508,2.916,3.288,1.141,2.332,4.265,2.830,1.052,0.920,
+0.911,1.058,1.743,1.689,2.079,2.155,1.665,0.242,3.086,3.272,
+1.087,1.378,2.796,2.703,1.565,0.897,0.707,1.073,0.905,0.736,
+0.779,0.786,0.835,0.102,0.854,0.946,0.909,0.795,0.900,1.335,
+1.485,1.296,0.876,1.043,1.252,1.254,1.428,1.268,1.050,0.120,
+1.375,1.602,0.922,1.093,1.158,1.360,1.443,1.703,1.515,1.694,
+0.137,0.171,0.184,0.223,2.166,0.269,3.139,3.867,1.258,2.010,
+2.967,2.488,1.642,1.054,0.988,1.677,1.505,1.299,1.519,1.783,
+1.818,0.163,2.669,3.335,1.902,1.701,2.765,3.319,3.089,1.422,
+1.387,2.753,1.393,0.847,0.880,1.099,1.203,0.113,0.726,1.164,
+1.719,1.227,1.017,1.742,1.622,0.900,0.727,1.082,1.033,0.602,
+0.636,0.690,0.942,0.076,0.841,0.858,0.837,0.807,0.723,0.961,
+1.001,0.790,0.700,0.989,0.099,0.082,0.077,0.129,0.725,0.067,
+0.668,0.865,0.549,0.716,0.946,1.101,1.368,0.649,0.658,1.220,
+1.155,0.677,0.638,0.913,0.852,0.075,0.894,1.102,1.105,0.775,
+1.131,1.965,1.748,1.090,0.873,1.215,1.182,0.822,0.699,0.758,
+0.711,0.076,0.557,0.762,0.711,0.679,0.542,1.032,1.316,0.889,
+0.633,0.796,0.936,0.643,0.686,0.633,0.803,0.074,0.731,0.880,
+0.681,0.665,0.608,0.892,0.882,0.719,0.597,0.728,0.078,0.073,
+0.069,0.088,0.885,0.082,0.709,1.371,0.697,0.848,0.810,0.981,
+0.828,0.521,0.390,0.632,0.793,0.589,0.468,0.655,0.675,0.054,
+0.656,0.896,0.698,0.576,0.866,1.295,3.192,0.795,0.643,0.961,
+1.132,0.661,0.677,0.796,0.936,0.108,0.515,0.775,0.858,0.711,
+0.739,1.215,0.186,0.091,0.064,0.095,0.111,0.079,0.079,0.085,
+0.102,0.016,0.084,0.106,0.124,0.156,0.114,0.156,1.206,0.796,
+0.929,0.972,0.096,0.073,0.093,0.109,1.098,0.116,0.853,1.121,
+0.755,1.027,1.438,1.250,2.307,0.572,0.578,0.772,1.049,0.698,
+0.746,0.927,0.949,0.088,0.922,1.206,0.918,0.802,1.262,1.694,
+1.921,0.630,0.580,1.130,0.786,0.476,0.514,0.615,0.716,0.066,
+0.525,0.724,1.289,0.709,0.730,1.400,1.288,0.806,0.609,0.897,
+0.825,0.549,0.558,0.591,0.797,0.062,0.758,0.874,0.854,0.902,
+0.841,1.165,0.962,0.771,0.846,0.986,0.071,0.058,0.119,0.097,
+0.841,0.067,0.831,1.027,0.784,0.901,1.613,1.377,1.415,0.705,
+0.669,1.318,0.803,0.523,0.769,0.977,1.093,0.080,1.055,1.747,
+1.462,1.201,1.887,3.328,2.896,1.838,1.474,2.698,1.986,1.512,
+1.430,1.620,1.318,0.148,1.056,1.433,1.459,1.338,1.228,1.968,
+2.218,1.551,1.276,1.627,1.783,1.316,1.454,1.349,1.528,0.176,
+2.048,1.983,0.972,1.232,1.307,1.569,1.138,1.141,1.087,1.378,
+0.124,0.158,0.134,0.185,1.230,0.141,1.244,1.670,0.737,1.148,
+1.462,1.703,1.274,0.744,0.717,1.206,1.515,1.251,0.943,1.280,
+0.971,0.102,0.930,1.434,1.118,0.969,1.309,2.346,2.352,1.788,
+1.031,1.641,1.873,1.797,1.333,1.480,1.151,0.148,0.905,1.172,
+0.948,1.065,0.850,1.360,2.102,2.014,1.241,1.444,1.897,1.209,
+1.479,1.395,1.662,0.227,1.841,1.997,1.026,1.472,1.325,1.478,
+1.144,1.343,0.892,1.145,0.131,0.189,0.146,0.149,1.680,0.255,
+1.421,1.995,1.073,1.971,1.578,1.902,0.981,0.714,0.523,0.820,
+1.122,1.114,0.817,1.017,0.968,0.110,0.960,1.327,0.835,0.922,
+1.166,1.688,1.927,1.191,0.975,1.153,1.975,1.826,1.880,1.517,
+1.522,0.248,1.266,1.435,0.993,1.294,1.412,1.789,0.137,0.177,
+0.116,0.143,0.195,0.270,0.249,0.191,0.157,0.068,0.267,0.231,
+0.129,0.298,0.253,0.232,1.410,1.792,2.071,1.936,0.179,0.263,
+0.338,0.265,2.169,0.447,2.196,2.663,1.378,2.841,4.477,3.015,
+1.233,0.920,0.946,1.194,1.744,1.776,1.999,2.048,2.012,0.212,
+2.191,2.624,1.308,1.503,2.762,2.889,1.985,1.080,0.967,1.358,
+1.085,0.890,1.005,1.001,0.919,0.104,0.947,1.151,1.053,1.034,
+1.250,1.859,2.002,1.822,1.512,1.650,1.575,1.717,1.756,1.571,
+1.607,0.201,2.297,2.302,1.344,2.383,2.291,2.222,1.189,1.217,
+2.440,1.717,0.122,0.146,0.619,0.222,1.506,0.183,2.162,2.325,
+1.226,1.876,5.092,2.939,1.266,0.853,1.024,1.323,1.320,1.077,
+1.883,1.510,1.460,0.118,1.732,2.451,1.561,1.437,2.645,3.438,
+2.407,1.604,1.124,1.732,1.110,0.997,0.749,1.181,1.185,0.115,
+0.764,1.070,1.184,0.870,0.752,1.265,1.797,1.546,0.981,1.240,
+1.499,1.277,1.245,1.149,1.735,0.191,1.546,1.774,1.019,1.317,
+1.080,1.450,1.070,1.341,1.221,1.281,0.138,0.189,0.162,0.225,
+1.673,0.196,1.345,1.922,0.917,1.485,1.551,1.737,1.052,0.725,
+0.717,1.127,1.187,1.019,0.866,1.096,1.238,0.129,1.172,1.804,
+1.206,1.046,1.757,2.701,0.135,0.138,0.127,0.131,0.126,0.154,
+0.117,0.207,0.103,0.023,0.105,0.113,0.086,0.118,0.086,0.131,
+0.145,0.189,0.103,0.120,0.210,0.254,0.230,0.227,0.190,0.063,
+0.259,0.258,0.105,0.201,0.153,0.154,0.088,0.159,0.108,0.111,
+0.026,0.046,0.044,0.032,0.203,0.064,0.246,0.345,0.105,0.247,
+0.334,0.218,0.104,0.087,0.064,0.113,0.155,0.188,0.142,0.178,
+0.124,0.032,0.152,0.235,0.113,0.132,0.176,0.240,1.992,1.363,
+1.058,1.091,1.622,1.840,1.995,1.466,1.508,0.300,1.660,1.667,
+1.084,1.417,1.688,1.854,0.152,0.214,0.114,0.110,0.167,0.253,
+0.197,0.136,0.204,0.080,0.269,0.225,0.137,0.299,0.241,0.200,
+1.454,2.070,1.881,1.636,0.207,0.328,0.353,0.259,2.575,0.466,
+1.483,2.468,1.187,2.454,3.684,2.620,1.135,1.004,0.992,1.074,
+1.619,2.048,2.160,1.811,1.777,0.282,2.893,3.259,1.228,1.759,
+2.750,3.050,1.643,0.994,0.753,1.132,1.052,0.932,0.876,0.918,
+1.035,0.119,1.084,1.320,1.169,0.946,0.996,1.499,2.182,2.279,
+1.379,1.524,1.841,2.228,1.604,1.364,2.014,0.231,2.378,2.632,
+1.535,2.544,2.436,2.260,1.688,1.842,1.927,1.921,0.183,0.274,
+0.323,0.255,2.510,0.296,3.461,3.901,1.894,3.643,9.915,4.771,
+1.360,1.004,1.027,1.342,1.288,1.372,1.734,1.427,2.017,0.187,
+3.066,3.635,1.834,2.007,3.830,4.480,3.084,1.361,0.938,1.814,
+1.201,0.780,0.632,1.066,1.218,0.116,0.824,1.126,1.386,1.000,
+0.834,1.665,1.581,0.895,0.522,0.892,0.976,0.628,0.586,0.766,
+1.063,0.078,0.685,0.934,0.779,0.660,0.600,0.997,1.096,0.961,
+0.687,1.175,0.115,0.119,0.085,0.183,1.021,0.096,0.767,1.248,
+0.884,1.019,0.953,1.307,1.342,0.608,0.595,1.125,0.913,0.600,
+0.555,0.972,0.981,0.079,0.739,1.383,1.426,0.908,1.265,2.709,
+1.779,1.158,1.054,1.451,1.214,0.958,0.973,1.214,0.910,0.098,
+1.036,1.100,0.914,0.937,0.738,1.345,1.440,1.130,0.744,1.077,
+1.274,1.081,1.104,1.224,1.146,0.126,1.259,1.538,0.880,1.112,
+0.846,1.309,0.949,1.038,0.727,1.092,0.082,0.110,0.088,0.124,
+1.348,0.154,1.275,2.235,1.050,1.629,1.535,1.944,1.083,0.703,
+0.569,0.999,1.031,0.883,0.746,1.122,1.135,0.149,1.029,1.696,
+1.126,1.121,1.262,2.130,2.185,1.274,1.040,1.541,1.657,1.286,
+1.285,1.599,1.583,0.202,1.230,1.716,1.305,1.334,1.580,2.411,
+0.154,0.147,0.091,0.135,0.140,0.161,0.134,0.148,0.129,0.029,
+0.148,0.176,0.152,0.207,0.167,0.227,1.827,2.043,1.603,1.962,
+0.159,0.199,0.193,0.238,2.453,0.320,2.328,3.100,1.685,2.632,
+3.634,3.672,1.598,1.339,1.168,1.616,1.870,1.792,1.927,2.443,
+2.252,0.257,2.698,3.965,1.794,1.900,2.750,4.043,2.940,1.335,
+0.978,1.879,1.216,0.912,0.859,1.258,1.259,0.121,1.014,1.461,
+1.698,1.288,1.481,2.791,2.065,1.599,1.041,1.472,1.581,1.523,
+1.115,1.308,1.530,0.123,1.534,2.051,1.650,1.611,1.585,2.301,
+1.937,1.963,1.595,2.341,0.136,0.161,0.171,0.215,2.451,0.199,
+2.581,3.710,2.077,2.753,4.427,4.805,2.658,1.440,1.309,2.770,
+1.767,1.548,1.564,2.290,2.475,0.192,2.858,4.630,3.193,2.502,
+3.697,5.945,6.156,2.499,2.189,4.936,2.323,1.371,1.334,2.088,
+3.027,0.237,1.219,1.994,4.400,2.851,1.830,3.612,2.542,1.311,
+0.994,1.496,1.463,0.829,0.824,0.996,1.426,0.092,0.782,1.084,
+1.729,1.107,1.032,1.547,1.891,1.030,0.993,1.779,0.131,0.089,
+0.093,0.255,1.002,0.085,0.659,1.010,1.041,0.995,1.133,1.546,
+2.629,1.108,1.179,3.079,1.681,1.000,1.128,2.430,1.320,0.102,
+0.887,1.558,1.926,1.224,1.536,3.199,2.593,1.168,0.848,1.537,
+1.264,0.748,0.679,0.974,1.029,0.090,0.499,0.799,1.085,0.892,
+0.628,1.209,1.524,0.920,0.575,0.811,0.866,0.448,0.478,0.541,
+0.785,0.066,0.568,0.691,0.713,0.590,0.575,0.757,1.293,0.798,
+0.565,0.912,0.135,0.061,0.047,0.084,0.956,0.070,0.649,0.812,
+0.625,0.709,0.588,0.840,1.159,0.694,0.550,1.077,1.171,0.665,
+0.551,1.052,0.896,0.061,0.539,0.930,0.840,0.700,0.778,1.563,
+1.845,0.796,0.722,1.315,1.104,0.633,0.654,0.954,1.180,0.122,
+0.598,1.029,1.330,0.987,0.896,1.824,0.128,0.087,0.073,0.121,
+0.086,0.072,0.059,0.088,0.085,0.012,0.070,0.104,0.146,0.151,
+0.122,0.204,0.967,0.663,0.811,0.948,0.068,0.048,0.060,0.089,
+0.741,0.064,0.520,0.712,0.632,0.725,1.182,1.101,0.943,0.550,
+0.626,0.991,0.958,0.665,0.667,1.015,0.977,0.087,0.737,1.193,
+0.773,0.819,1.159,1.838,2.983,1.020,0.957,1.931,1.081,0.601,
+0.686,0.934,1.158,0.108,0.703,1.035,1.792,1.159,1.052,2.473,
+1.633,0.932,0.807,1.221,0.897,0.643,0.621,0.850,0.895,0.065,
+0.702,0.977,1.132,0.970,0.894,1.492,0.977,0.745,0.887,1.217,
+0.084,0.057,0.065,0.113,0.995,0.064,0.689,1.054,0.880,0.958,
+1.070,1.462,1.717,0.860,1.086,1.951,1.017,0.702,0.761,1.194,
+1.419,0.082,1.067,1.789,2.175,1.593,2.244,4.363,3.043,1.531,
+1.259,2.404,1.570,0.963,0.851,1.196,1.367,0.105,0.580,1.044,
+1.680,1.191,0.912,1.815,1.825,0.988,0.851,1.200,1.046,0.634,
+0.667,0.734,0.894,0.066,0.592,0.825,0.734,0.654,0.664,1.068,
+0.920,0.521,0.530,0.858,0.079,0.067,0.059,0.100,0.611,0.048,
+0.361,0.544,0.556,0.632,0.624,0.917,1.042,0.446,0.526,1.114,
+0.904,0.605,0.488,0.828,0.680,0.052,0.434,0.735,0.862,0.657,
+0.809,1.787,1.967,1.192,0.664,1.222,1.056,0.933,0.569,0.734,
+0.778,0.067,0.426,0.628,0.918,0.709,0.483,1.161,1.152,0.868,
+0.484,0.664,0.721,0.343,0.400,0.454,0.644,0.058,0.455,0.642,
+0.502,0.521,0.456,0.668,1.046,0.803,0.452,0.690,0.087,0.077,
+0.045,0.067,0.647,0.077,0.389,0.649,0.544,0.807,0.545,0.767,
+0.817,0.500,0.388,0.770,0.841,0.598,0.379,0.597,0.682,0.058,
+0.392,0.719,0.651,0.741,0.594,1.235,1.538,0.765,0.656,1.021,
+1.008,0.691,0.686,0.759,1.161,0.114,0.602,0.889,1.151,0.828,
+0.701,1.224,0.079,0.078,0.056,0.087,0.068,0.087,0.070,0.068,
+0.073,0.015,0.071,0.084,0.093,0.102,0.084,0.117,0.827,0.844,
+0.631,0.820,0.062,0.121,0.063,0.080,0.728,0.070,0.508,0.650,
+0.570,0.770,1.192,0.910,0.737,0.518,0.518,0.812,0.788,0.816,
+0.638,0.870,0.965,0.073,0.739,1.011,0.757,0.717,0.988,1.366,
+1.333,0.646,0.580,1.019,0.706,0.467,0.515,0.567,0.652,0.052,
+0.394,0.593,0.803,0.584,0.529,1.166,0.962,0.696,0.599,0.847,
+0.609,0.534,0.599,0.649,0.561,0.052,0.531,0.693,0.622,0.648,
+0.602,0.952,0.667,0.418,0.607,0.934,0.045,0.052,0.040,0.069,
+0.688,0.053,0.461,0.695,0.627,0.744,0.762,1.050,0.843,0.344,
+0.541,0.975,0.658,0.481,0.458,0.720,0.922,0.057,0.665,1.090,
+1.161,1.045,1.317,2.248,2.170,1.281,0.824,1.726,1.039,0.773,
+0.530,0.895,0.999,0.092,0.496,0.903,1.178,0.973,0.817,1.312,
+1.693,1.064,0.677,1.235,0.926,0.654,0.650,0.792,0.982,0.091,
+0.631,0.924,0.893,0.935,0.770,1.372,1.130,0.925,0.805,1.196,
+0.099,0.117,0.077,0.180,0.717,0.069,0.400,0.738,0.588,0.813,
+0.551,1.007,1.399,0.783,0.708,1.553,1.026,1.086,0.674,1.229,
+0.875,0.077,0.578,1.007,1.224,0.913,1.175,2.736,0.178,0.150,
+0.068,0.137,0.127,0.100,0.061,0.102,0.089,0.014,0.054,0.086,
+0.116,0.137,0.074,0.148,0.161,0.131,0.063,0.108,0.119,0.094,
+0.071,0.082,0.113,0.013,0.075,0.113,0.106,0.123,0.082,0.146,
+0.104,0.104,0.072,0.112,0.012,0.014,9.78e-3,0.016,0.094,0.013,
+0.056,0.157,0.084,0.119,0.069,0.132,0.186,0.126,0.090,0.210,
+0.181,0.200,0.117,0.202,0.115,0.015,0.086,0.155,0.162,0.150,
+0.135,0.313,1.166,0.726,0.578,0.763,0.787,0.622,0.660,0.701,
+0.993,0.133,0.621,0.840,0.846,0.898,0.657,1.076,0.097,0.093,
+0.046,0.073,0.059,0.068,0.059,0.058,0.111,0.017,0.068,0.076,
+0.102,0.130,0.079,0.107,0.838,0.828,0.638,0.739,0.081,0.092,
+0.076,0.086,0.762,0.099,0.423,0.650,0.543,0.783,0.741,0.888,
+0.786,0.543,0.544,0.807,0.869,0.873,0.709,0.971,0.972,0.117,
+0.901,1.156,0.825,0.875,0.988,1.469,1.254,0.650,0.501,0.940,
+0.694,0.473,0.566,0.598,0.828,0.087,0.476,0.727,1.059,1.065,
+0.585,1.277,1.375,0.999,0.588,1.049,0.766,0.711,0.606,0.704,
+1.256,0.093,0.684,0.991,1.114,1.221,0.768,1.260,0.894,0.814,
+0.616,1.142,0.075,0.080,0.063,0.105,0.847,0.079,0.616,1.001,
+0.866,1.289,0.952,1.376,1.088,0.693,0.659,1.171,0.892,0.754,
+0.631,0.929,1.096,0.086,0.945,1.334,1.443,1.314,1.479,2.448,
+3.255,1.474,1.131,2.358,1.364,0.934,0.615,1.264,1.029,0.083,
+0.569,0.928,1.619,1.004,0.946,2.004,1.260,0.632,0.491,0.990,
+0.718,0.410,0.422,0.583,0.781,0.044,0.433,0.718,0.789,0.513,
+0.549,1.069,1.097,0.679,0.779,1.239,0.082,0.059,0.060,0.147,
+0.716,0.046,0.414,0.743,0.685,0.625,0.574,1.124,1.772,0.780,
+0.902,2.223,1.040,0.691,0.638,1.347,0.962,0.064,0.742,1.167,
+1.435,0.950,1.297,3.261,1.855,1.050,0.624,1.332,1.061,0.691,
+0.469,0.791,0.777,0.059,0.544,0.768,0.913,0.806,0.592,1.247,
+1.120,0.695,0.374,0.722,0.794,0.489,0.366,0.496,0.652,0.046,
+0.471,0.718,0.640,0.568,0.456,0.842,0.932,0.654,0.498,0.875,
+0.059,0.055,0.035,0.079,0.792,0.061,0.472,0.953,0.686,0.724,
+0.538,1.044,1.285,0.632,0.556,1.252,0.970,0.722,0.587,1.108,
+0.870,0.061,0.617,1.047,1.024,0.853,0.919,2.008,1.483,0.701,
+0.575,1.019,1.098,0.625,0.675,0.895,1.026,0.096,0.658,0.977,
+0.826,0.711,0.748,1.386,0.090,0.066,0.045,0.082,0.062,0.059,
+0.045,0.060,0.068,8.94e-3,0.068,0.089,0.080,0.087,0.068,0.114,
+0.919,0.698,0.701,1.065,0.063,0.051,0.048,0.098,0.786,0.063,
+0.549,0.802,0.665,0.770,0.808,1.194,1.045,0.603,0.673,1.223,
+1.158,0.778,0.818,1.466,1.237,0.100,1.042,1.636,1.007,0.967,
+1.288,2.305,2.474,1.036,0.884,1.855,1.063,0.665,0.705,0.963,
+1.119,0.091,0.689,1.142,1.594,1.112,0.981,2.701,1.391,0.882,
+0.588,1.150,0.785,0.574,0.634,0.766,0.929,0.058,0.652,1.131,
+1.081,0.917,0.771,1.526,1.454,1.083,1.108,2.015,0.096,0.077,
+0.065,0.147,1.263,0.083,0.871,1.641,1.448,1.424,1.374,2.299,
+2.887,1.312,1.373,3.511,1.784,1.480,1.253,2.227,2.718,0.143,
+1.873,3.447,4.150,2.641,3.288,6.353,3.213,1.869,1.805,2.913,
+1.873,1.132,1.142,1.391,1.596,0.153,0.976,1.381,2.192,1.824,
+1.388,2.320,2.079,1.289,1.166,1.367,1.483,0.878,0.920,0.959,
+1.075,0.105,1.002,1.058,0.939,0.924,1.077,1.340,1.406,0.898,
+1.017,1.317,0.111,0.086,0.150,0.187,0.954,0.160,2.129,1.563,
+0.830,1.042,2.606,1.785,1.615,0.912,0.783,1.694,1.287,0.844,
+0.911,1.366,1.027,0.102,1.010,1.384,1.465,1.217,1.550,2.605,
+2.305,1.408,0.986,1.410,1.342,1.047,0.762,0.891,1.078,0.150,
+0.791,0.915,1.025,1.167,0.774,1.213,1.619,1.136,0.847,0.958,
+1.025,0.740,0.843,0.843,0.968,0.108,1.327,1.134,0.713,0.866,
+1.150,1.007,1.314,0.985,0.754,0.962,0.110,0.086,0.104,0.111,
+1.527,0.162,2.407,1.601,0.729,1.071,1.360,1.098,1.000,0.885,
+0.488,0.883,1.006,0.724,0.690,0.950,0.930,0.085,0.963,1.102,
+0.974,0.913,1.053,1.717,1.302,0.696,0.598,0.908,0.904,0.603,
+0.635,0.797,0.916,0.123,0.536,0.810,0.846,0.784,0.773,1.430,
+0.094,0.072,0.060,0.091,0.083,0.084,0.075,0.084,0.071,0.015,
+0.074,0.096,0.089,0.126,0.127,0.159,0.869,0.638,0.676,0.726,
+0.076,0.064,0.081,0.099,0.754,0.080,0.666,0.803,0.603,0.774,
+1.773,1.315,0.751,0.494,0.469,0.801,0.886,0.773,0.684,0.964,
+0.950,0.095,0.806,1.228,0.852,0.880,1.409,1.914,1.711,0.711,
+0.622,1.207,0.746,0.477,0.496,0.667,0.732,0.088,0.455,0.715,
+1.067,0.861,0.718,1.660,1.347,0.788,0.716,1.035,0.871,0.730,
+0.649,0.833,0.651,0.077,0.643,0.916,0.801,0.910,0.802,1.271,
+0.825,0.638,0.660,1.088,0.083,0.057,0.066,0.132,0.754,0.077,
+0.624,0.883,0.688,0.884,1.228,1.522,1.152,0.669,0.758,1.378,
+0.824,0.629,0.633,1.027,1.031,0.093,0.917,1.487,1.623,1.402,
+1.897,3.321,2.740,1.629,1.337,2.086,1.687,1.391,1.143,1.288,
+1.137,0.125,0.804,1.014,1.276,1.184,0.961,1.632,2.128,1.364,
+0.970,1.265,1.408,1.031,1.117,1.024,1.006,0.120,0.920,1.095,
+0.699,0.821,0.912,1.193,1.147,0.844,0.736,0.957,0.094,0.089,
+0.083,0.125,0.750,0.075,0.580,0.730,0.625,0.785,0.862,1.434,
+1.052,0.580,0.516,1.138,1.014,0.832,0.679,0.958,0.736,0.065,
+0.599,0.918,0.999,0.728,0.969,1.853,2.177,1.764,0.887,1.249,
+1.562,2.559,0.951,0.973,0.922,0.124,0.700,0.843,0.812,0.970,
+0.643,1.088,1.638,1.402,0.901,1.021,1.148,0.545,0.838,0.864,
+0.923,0.140,0.877,1.124,0.633,0.968,0.830,1.039,1.964,1.399,
+0.779,0.961,0.206,0.170,0.102,0.124,1.094,0.164,0.886,1.114,
+0.627,1.262,1.212,1.231,0.989,0.661,0.465,0.890,1.246,1.042,
+0.639,0.834,0.858,0.082,0.709,0.973,0.734,0.819,0.981,1.539,
+1.534,0.953,0.851,1.128,1.242,1.165,1.023,0.971,1.305,0.160,
+0.814,1.052,0.921,1.010,0.981,1.436,0.113,0.132,0.116,0.141,
+0.105,0.191,0.147,0.111,0.104,0.040,0.133,0.140,0.084,0.173,
+0.144,0.149,1.388,1.389,1.063,1.129,0.136,0.239,0.153,0.154,
+1.086,0.158,1.018,1.131,0.724,1.309,2.492,1.569,1.154,0.706,
+0.636,1.204,1.234,1.489,1.153,1.360,2.075,0.178,1.354,1.616,
+1.066,1.268,1.745,2.059,1.355,0.741,0.592,0.968,0.819,0.646,
+0.525,0.594,0.646,0.061,0.494,0.638,0.796,0.666,0.652,1.265,
+1.223,0.993,0.896,1.119,0.910,1.053,1.077,1.022,0.747,0.099,
+0.911,1.173,0.683,0.988,0.919,1.262,0.836,0.818,0.736,1.041,
+0.065,0.082,0.075,0.098,0.712,0.069,0.705,0.907,0.641,0.907,
+1.197,1.302,1.088,0.640,0.577,1.054,0.785,0.771,0.646,0.891,
+1.008,0.079,0.939,1.375,1.193,1.210,1.660,2.455,1.646,1.174,
+0.835,1.493,0.883,0.726,0.542,0.733,0.781,0.086,0.530,0.800,
+0.839,0.824,0.585,1.051,1.400,1.197,0.806,1.231,1.089,0.958,
+0.783,0.832,0.920,0.138,0.899,1.162,0.727,1.368,0.720,1.162,
+0.839,0.918,0.801,1.105,0.094,0.119,0.105,0.187,0.728,0.104,
+0.621,0.783,0.477,0.899,0.653,1.049,0.881,0.599,0.504,1.116,
+0.761,0.797,0.628,1.001,0.831,0.093,0.845,1.051,0.965,0.939,
+1.089,2.241,0.085,0.087,0.042,0.075,0.083,0.111,0.058,0.068,
+0.064,0.013,0.052,0.063,0.109,0.096,0.067,0.102,0.101,0.116,
+0.057,0.082,0.116,0.168,0.116,0.098,0.094,0.027,0.109,0.118,
+0.073,0.136,0.083,0.104,0.069,0.101,0.066,0.079,0.016,0.026,
+0.027,0.019,0.095,0.026,0.098,0.123,0.055,0.128,0.100,0.135,
+0.086,0.068,0.047,0.102,0.112,0.132,0.097,0.147,0.085,0.016,
+0.095,0.132,0.092,0.102,0.102,0.195,1.318,0.956,0.840,0.883,
+0.982,0.985,1.068,0.876,1.022,0.167,0.896,1.077,0.741,1.074,
+0.837,1.307,0.106,0.127,0.070,0.088,0.086,0.147,0.121,0.086,
+0.117,0.034,0.153,0.141,0.086,0.178,0.117,0.133,1.474,1.472,
+0.903,0.977,0.131,0.190,0.143,0.139,1.189,0.201,0.761,1.084,
+0.686,1.352,1.259,1.363,1.012,0.682,0.573,0.828,1.242,1.425,
+1.109,1.283,1.524,0.218,1.330,1.705,1.027,1.416,1.600,2.172,
+1.258,0.776,0.580,1.013,0.780,0.595,0.512,0.588,0.741,0.103,
+0.524,0.822,0.889,1.201,0.581,1.400,1.509,1.267,0.798,1.107,
+1.120,1.325,0.985,0.980,1.190,0.157,1.181,1.629,0.996,1.806,
+1.158,1.655,1.138,1.232,1.003,1.167,0.092,0.128,0.121,0.123,
+1.145,0.171,1.050,1.560,1.021,2.505,1.496,1.876,1.137,0.742,
+0.683,1.241,0.942,0.970,0.949,1.079,1.336,0.135,1.527,2.198,
+1.740,1.991,2.127,3.344,1.868,0.995,0.823,1.685,0.997,0.701,
+0.520,1.003,0.869,0.075,0.519,0.860,1.093,0.792,0.929,1.487,
+1.144,0.837,0.542,0.944,0.760,0.556,0.535,0.647,0.676,0.060,
+0.536,0.787,0.690,0.580,0.631,0.946,0.784,0.680,0.643,1.091,
+0.061,0.059,0.053,0.129,0.620,0.059,0.567,0.764,0.542,0.596,
+0.595,1.112,1.024,0.567,0.575,1.374,0.686,0.493,0.527,1.147,
+0.819,0.065,0.726,1.139,1.194,0.752,1.007,2.493,1.617,1.083,
+0.643,1.243,1.205,0.900,0.605,0.798,0.877,0.088,0.702,0.954,
+1.049,0.943,0.979,1.447,1.189,0.863,0.509,0.828,1.008,0.859,
+0.686,0.812,0.802,0.085,0.828,1.116,0.696,0.785,0.687,1.091,
+0.855,0.904,0.602,0.938,0.075,0.089,0.065,0.122,0.977,0.121,
+0.758,1.255,0.667,1.028,0.777,1.327,0.929,0.622,0.511,1.115,
+0.987,0.852,0.737,1.454,0.947,0.079,0.852,1.386,0.992,0.917,
+1.056,2.098,1.312,0.700,0.621,0.994,0.986,0.705,0.707,0.904,
+0.991,0.125,0.849,1.098,0.828,0.821,0.901,1.615,0.087,0.070,
+0.047,0.080,0.074,0.095,0.075,0.074,0.069,0.016,0.143,0.107,
+0.073,0.099,0.089,0.120,1.085,0.947,0.712,0.949,0.079,0.093,
+0.073,0.118,0.997,0.134,0.887,1.139,0.700,1.136,1.184,1.449,
+0.933,0.621,0.616,1.028,1.147,0.959,0.949,1.495,1.623,0.175,
+1.263,2.153,1.145,1.327,1.692,2.598,1.918,0.787,0.714,1.359,
+0.982,0.611,0.566,0.743,0.905,0.098,0.574,0.993,1.116,0.873,
+0.740,1.967,1.502,0.826,0.617,1.043,0.838,0.731,0.758,0.807,
+0.758,0.070,0.926,1.141,0.681,0.701,0.613,1.154,1.204,0.984,
+0.965,1.527,0.078,0.072,0.066,0.137,1.145,0.107,1.004,1.571,
+1.091,1.473,1.451,2.169,1.705,0.915,1.013,2.132,1.179,1.060,
+1.068,1.906,1.707,0.123,1.575,2.755,2.599,2.261,2.673,4.332,
+3.249,1.912,1.727,3.314,2.170,1.438,1.436,1.688,1.627,0.167,
+0.897,1.725,2.524,1.749,1.335,2.372,1.898,1.150,0.917,1.326,
+1.565,0.891,0.975,1.111,1.058,0.125,0.822,1.071,1.049,1.099,
+0.991,1.541,1.599,1.033,0.966,1.644,0.115,0.084,0.090,0.189,
+0.908,0.086,0.738,1.165,0.807,0.977,1.058,1.533,1.795,0.760,
+0.731,1.590,1.137,0.752,0.756,1.196,0.940,0.078,0.720,1.190,
+1.273,0.717,1.185,2.405,2.887,1.714,1.178,2.017,2.193,1.568,
+1.345,1.447,1.208,0.148,0.794,1.261,1.361,1.410,0.915,1.631,
+2.094,1.506,0.959,1.339,1.680,0.990,1.102,1.176,1.282,0.147,
+1.165,1.439,0.979,1.202,1.000,1.279,1.656,1.438,1.022,1.458,
+0.169,0.152,0.133,0.220,1.474,0.188,1.266,2.524,0.950,1.500,
+1.408,1.864,1.434,0.950,0.636,1.242,1.820,1.339,1.062,1.647,
+1.218,0.109,0.933,1.662,1.288,1.097,1.451,2.816,1.947,1.063,
+0.930,1.438,2.168,1.297,1.332,1.426,1.420,0.229,0.883,1.191,
+1.468,1.535,1.235,1.943,0.185,0.145,0.103,0.153,0.205,0.181,
+0.166,0.182,0.152,0.031,0.157,0.199,0.208,0.305,0.201,0.295,
+1.226,1.174,1.064,1.261,0.133,0.116,0.136,0.182,1.252,0.152,
+0.968,1.290,0.868,1.317,1.586,1.741,1.052,0.666,0.621,0.978,
+1.596,1.243,1.196,1.583,1.312,0.144,1.273,1.715,1.342,1.159,
+1.588,2.405,2.311,1.040,0.865,1.654,1.320,0.823,0.936,1.030,
+0.992,0.112,0.662,0.974,1.623,1.163,1.023,2.052,1.783,1.140,
+1.018,1.434,1.420,1.022,0.986,1.159,1.040,0.097,0.957,1.320,
+1.249,1.256,1.170,1.834,1.435,1.287,1.078,1.616,0.133,0.109,
+0.126,0.199,1.487,0.143,1.291,1.793,1.269,1.881,2.041,2.483,
+1.845,1.036,0.978,1.966,1.288,0.847,1.053,1.657,2.118,0.156,
+1.739,2.746,2.641,2.077,3.029,5.026,0.214,0.148,0.111,0.183,
+0.173,0.142,0.120,0.144,0.103,0.015,0.064,0.123,0.132,0.130,
+0.092,0.163,0.193,0.152,0.113,0.141,0.182,0.147,0.147,0.142,
+0.106,0.023,0.096,0.122,0.098,0.107,0.114,0.162,0.133,0.096,
+0.075,0.115,0.019,0.018,0.020,0.021,0.080,0.014,0.077,0.139,
+0.061,0.088,0.100,0.139,0.126,0.062,0.059,0.129,0.130,0.105,
+0.087,0.136,0.081,8.61e-3,0.063,0.113,0.100,0.075,0.109,0.231,
+0.212,0.182,0.085,0.133,0.181,0.206,0.137,0.131,0.096,0.019,
+0.075,0.096,0.092,0.119,0.073,0.120,0.208,0.372,0.104,0.134,
+0.214,0.163,0.173,0.150,0.132,0.036,0.127,0.157,0.099,0.132,
+0.114,0.138,0.132,0.151,0.094,0.123,0.025,0.039,0.030,0.027,
+0.151,0.046,0.128,0.271,0.084,0.163,0.197,0.188,0.113,0.087,
+0.056,0.107,0.169,0.147,0.113,0.141,0.107,0.016,0.089,0.149,
+0.092,0.105,0.128,0.233,0.144,0.086,0.069,0.094,0.180,0.146,
+0.149,0.130,0.109,0.022,0.080,0.091,0.090,0.109,0.103,0.142,
+0.017,0.020,0.014,0.016,0.027,0.047,0.042,0.040,0.018,0.015,
+0.043,0.031,0.012,0.026,0.027,0.025,0.115,0.144,0.109,0.139,
+0.024,0.039,0.052,0.031,0.168,0.041,0.140,0.155,0.084,0.162,
+0.270,0.229,0.091,0.066,0.058,0.100,0.165,0.179,0.148,0.175,
+0.150,0.026,0.149,0.195,0.106,0.117,0.180,0.243,0.191,0.146,
+0.101,0.150,0.140,0.112,0.101,0.111,0.093,0.012,0.069,0.100,
+0.137,0.126,0.128,0.230,0.207,0.153,0.143,0.230,0.219,0.211,
+0.183,0.209,0.144,0.021,0.148,0.194,0.145,0.197,0.185,0.252,
+0.119,0.133,0.125,0.165,0.016,0.021,0.024,0.026,0.133,0.023,
+0.152,0.193,0.112,0.168,0.324,0.282,0.157,0.103,0.094,0.182,
+0.134,0.128,0.125,0.185,0.177,0.021,0.167,0.248,0.198,0.191,
+0.292,0.461,2.633,2.048,1.400,2.395,1.603,1.248,1.042,1.570,
+1.313,0.143,0.887,1.343,1.203,0.975,1.026,1.572,2.492,1.775,
+1.105,1.573,1.939,1.506,1.555,1.654,1.489,0.202,1.699,2.073,
+1.124,1.376,1.233,1.911,1.505,1.585,1.118,1.770,0.224,0.247,
+0.192,0.369,1.736,0.207,1.357,2.101,0.894,1.499,1.351,2.004,
+1.324,0.865,0.692,1.432,1.442,1.193,1.007,1.654,1.410,0.153,
+1.377,2.017,1.322,1.182,1.721,3.203,0.178,0.177,0.080,0.135,
+0.170,0.206,0.134,0.212,0.095,0.027,0.097,0.120,0.085,0.106,
+0.079,0.140,0.193,0.195,0.100,0.128,0.219,0.214,0.198,0.238,
+0.136,0.049,0.210,0.206,0.095,0.159,0.126,0.155,0.129,0.223,
+0.131,0.161,0.032,0.058,0.047,0.045,0.236,0.065,0.205,0.376,
+0.095,0.197,0.174,0.229,0.155,0.118,0.075,0.166,0.219,0.243,
+0.165,0.256,0.153,0.029,0.173,0.265,0.127,0.139,0.167,0.309,
+2.540,1.721,1.228,1.287,2.234,2.248,2.163,1.721,1.813,0.308,
+2.037,1.921,1.085,1.374,1.668,2.057,0.206,0.327,0.142,0.140,
+0.256,0.435,0.318,0.200,0.253,0.088,0.378,0.287,0.141,0.275,
+0.232,0.233,1.991,2.453,1.957,1.794,0.280,0.327,0.395,0.278,
+2.269,0.347,0.840,1.745,1.114,1.746,2.207,2.462,1.358,1.066,
+0.985,1.113,2.189,2.243,1.997,1.933,1.847,0.271,2.982,3.005,
+1.291,1.654,2.927,3.252,1.891,1.168,0.984,1.428,1.411,1.052,
+0.905,0.992,1.088,0.134,1.082,1.288,1.096,1.061,1.075,1.788,
+2.089,2.112,1.294,1.695,2.379,2.423,1.784,1.776,1.787,0.256,
+2.514,2.497,1.400,2.038,1.837,2.179,1.822,2.156,1.838,2.282,
+0.193,0.296,0.243,0.290,2.665,0.321,3.150,3.952,1.637,2.811,
+3.198,3.700,1.703,1.206,1.274,1.807,1.713,1.699,1.596,1.828,
+2.508,0.247,4.677,4.407,2.300,2.382,3.952,4.753,2.734,1.355,
+1.065,2.090,1.543,0.944,0.829,1.257,1.241,0.112,0.737,1.152,
+1.418,1.096,0.977,1.953,2.040,1.096,0.749,1.214,1.322,0.883,
+0.813,1.093,0.891,0.076,0.793,1.189,0.887,0.769,0.814,1.374,
+1.183,0.962,0.736,1.360,0.124,0.099,0.083,0.192,1.177,0.103,
+0.906,1.488,0.896,0.971,1.095,1.830,1.508,0.791,0.737,1.462,
+1.236,0.760,0.766,1.335,1.065,0.086,0.854,1.430,1.451,1.035,
+1.479,3.057,2.764,1.710,1.072,1.917,1.958,1.568,1.391,1.678,
+1.245,0.137,1.244,1.485,1.223,1.274,0.960,1.896,2.290,1.587,
+0.910,1.412,1.860,1.476,1.463,1.735,1.182,0.133,1.403,1.811,
+0.991,1.282,1.038,1.543,1.568,1.824,1.333,1.897,0.154,0.194,
+0.148,0.269,2.151,0.236,1.628,3.236,1.299,1.917,1.802,2.778,
+1.803,1.143,0.881,1.697,2.046,1.653,1.475,2.327,1.595,0.145,
+1.435,2.621,1.508,1.537,1.749,3.359,2.717,1.413,1.148,1.521,
+2.186,1.657,1.806,1.841,1.646,0.206,1.419,1.929,1.287,1.384,
+1.692,2.582,0.175,0.180,0.096,0.141,0.182,0.228,0.212,0.189,
+0.123,0.037,0.213,0.237,0.117,0.200,0.167,0.225,1.991,2.202,
+1.698,2.190,0.204,0.203,0.211,0.286,2.315,0.318,2.045,2.981,
+1.247,2.112,2.503,3.150,1.875,1.342,1.344,1.769,2.782,2.171,
+2.253,3.021,2.188,0.232,2.983,4.353,1.720,1.959,3.235,4.491,
+2.565,1.174,0.970,1.788,1.404,0.941,0.887,1.091,1.299,0.142,
+0.948,1.356,1.600,1.146,1.085,2.126,1.848,1.347,0.921,1.482,
+1.602,1.338,1.285,1.493,1.187,0.106,1.363,2.008,1.253,1.238,
+1.208,1.982,1.931,1.884,1.672,2.337,0.159,0.171,0.139,0.250,
+2.486,0.228,2.474,4.067,1.524,2.114,2.274,3.387,2.631,1.506,
+1.459,2.886,2.271,1.970,1.763,2.869,3.011,0.219,3.199,5.081,
+3.029,2.965,3.770,6.158,8.789,3.001,2.409,5.681,2.564,1.421,
+1.239,2.026,2.137,0.176,0.969,1.653,3.512,2.455,1.608,3.250,
+2.647,1.360,0.962,1.688,1.517,0.750,0.770,1.000,1.227,0.091,
+0.830,1.028,1.291,1.132,0.965,1.722,1.700,1.075,0.916,1.712,
+0.129,0.088,0.083,0.195,1.026,0.077,0.688,1.062,0.842,1.020,
+1.025,1.774,2.478,1.126,0.998,2.410,1.581,0.971,0.894,1.695,
+1.397,0.106,1.168,1.625,2.057,1.273,1.747,3.975,2.854,1.372,
+0.891,1.797,1.577,0.859,0.737,1.061,0.982,0.087,0.491,0.824,
+1.201,0.895,0.655,1.372,1.656,1.236,0.619,1.065,1.074,0.666,
+0.590,0.865,0.890,0.064,0.575,0.842,0.847,0.700,0.636,1.091,
+1.203,0.869,0.639,1.130,0.089,0.076,0.060,0.119,1.027,0.079,
+0.647,1.053,0.938,0.979,0.918,1.302,1.199,0.764,0.493,1.057,
+1.022,0.731,0.565,1.003,0.952,0.064,0.638,1.089,1.126,0.837,
+1.021,2.290,2.529,1.003,0.858,1.541,1.865,0.886,0.909,1.255,
+1.272,0.139,0.562,0.953,1.750,1.279,0.938,2.174,0.149,0.098,
+0.069,0.134,0.127,0.088,0.091,0.125,0.101,0.011,0.068,0.105,
+0.198,0.179,0.113,0.226,1.187,0.872,0.830,1.213,0.113,0.070,
+0.079,0.135,1.093,0.095,0.635,0.966,0.966,1.095,1.137,1.589,
+1.327,0.667,0.675,1.241,1.523,0.856,0.877,1.347,1.300,0.095,
+0.901,1.457,1.408,1.078,1.461,2.612,3.874,1.476,1.217,2.664,
+1.598,0.930,1.294,1.497,1.492,0.133,0.816,1.324,2.886,1.579,
+1.383,3.202,2.000,1.078,0.953,1.584,1.245,0.756,0.863,1.130,
+1.183,0.081,0.873,1.269,1.691,1.353,1.221,2.118,1.648,1.421,
+1.095,1.983,0.131,0.090,0.098,0.172,1.882,0.121,0.975,1.586,
+1.345,1.641,1.681,2.633,2.605,1.477,1.305,3.249,1.954,1.057,
+1.262,2.037,2.511,0.158,1.775,3.209,3.652,2.504,3.905,7.756,
+4.365,2.202,1.629,3.303,2.343,1.463,1.233,1.695,1.525,0.139,
+0.806,1.554,2.018,1.589,1.212,2.429,2.693,1.783,1.143,1.742,
+1.804,1.156,1.133,1.254,1.292,0.110,0.966,1.301,1.196,1.027,
+1.013,1.751,1.531,0.990,0.800,1.456,0.138,0.100,0.082,0.174,
+1.154,0.093,0.793,1.257,0.941,0.912,1.123,1.824,1.578,0.816,
+0.753,1.663,1.458,1.010,0.843,1.454,1.096,0.087,0.813,1.391,
+1.420,0.978,1.393,2.981,3.370,2.193,1.030,1.971,2.168,1.605,
+0.972,1.347,1.147,0.109,0.562,1.166,1.312,1.072,0.718,1.644,
+2.684,4.849,0.898,1.503,2.032,1.380,1.052,1.385,1.418,0.142,
+0.863,1.250,1.338,1.136,0.933,1.584,1.416,1.255,0.714,1.290,
+0.127,0.129,0.081,0.142,1.449,0.148,0.812,1.421,1.229,1.378,
+1.136,1.886,1.238,0.863,0.520,1.193,1.340,1.087,0.748,1.227,
+1.055,0.076,0.681,1.256,1.238,1.053,1.082,2.410,2.361,1.189,
+0.922,1.523,2.139,1.583,1.284,1.475,1.542,0.200,0.768,1.256,
+1.460,1.363,1.169,2.326,0.126,0.150,0.070,0.132,0.134,0.176,
+0.116,0.132,0.100,0.020,0.089,0.118,0.127,0.160,0.126,0.197,
+1.551,1.378,1.164,1.676,0.152,0.135,0.132,0.193,1.886,0.183,
+1.004,1.524,1.316,1.705,1.720,2.457,1.473,0.866,0.827,1.685,
+1.899,1.486,1.379,2.084,1.806,0.148,1.437,2.173,1.577,1.397,
+1.973,3.550,2.697,1.290,1.133,2.051,1.509,1.071,0.976,1.300,
+1.227,0.116,0.895,1.264,1.672,1.326,1.265,2.638,1.965,1.373,
+1.208,1.935,1.461,1.324,1.132,1.479,1.249,0.130,1.168,1.625,
+1.485,1.733,1.554,2.503,1.599,1.502,1.281,1.884,0.127,0.112,
+0.147,0.168,1.441,0.126,1.220,1.834,1.312,1.470,2.159,3.120,
+1.880,1.114,1.103,2.045,1.755,1.208,1.229,1.878,1.995,0.155,
+1.639,3.055,2.350,1.738,2.847,5.643,3.720,2.166,1.449,2.930,
+1.768,1.302,0.886,1.596,1.711,0.139,0.885,1.537,1.763,1.363,
+1.031,2.086,2.610,1.852,1.075,1.856,1.733,1.275,1.026,1.392,
+1.787,0.155,1.269,1.739,1.467,1.616,1.267,2.340,1.664,1.702,
+1.130,1.981,0.173,0.200,0.130,0.302,1.603,0.155,1.000,1.761,
+1.158,1.664,1.461,2.712,1.897,1.203,0.919,2.108,1.703,1.324,
+1.010,1.857,1.848,0.146,1.276,2.295,2.046,1.650,2.313,4.848,
+0.198,0.148,0.081,0.148,0.157,0.143,0.074,0.141,0.106,0.016,
+0.068,0.104,0.116,0.128,0.073,0.178,0.169,0.244,0.070,0.120,
+0.153,0.164,0.099,0.144,0.134,0.022,0.124,0.151,0.110,0.149,
+0.096,0.176,0.095,0.128,0.074,0.119,0.011,0.025,0.018,0.022,
+0.149,0.028,0.135,0.183,0.091,0.159,0.152,0.219,0.149,0.116,
+0.070,0.193,0.176,0.171,0.109,0.203,0.144,0.018,0.113,0.209,
+0.159,0.172,0.188,0.394,2.950,1.637,1.230,1.743,2.189,1.787,
+1.582,1.765,1.930,0.278,1.416,1.910,1.654,1.760,1.640,3.010,
+0.170,0.169,0.087,0.130,0.166,0.177,0.122,0.137,0.158,0.034,
+0.154,0.159,0.166,0.230,0.183,0.251,1.986,2.234,1.764,2.049,
+0.198,0.241,0.220,0.268,2.750,0.306,1.582,2.300,1.499,2.258,
+2.494,3.069,1.850,1.325,1.172,1.764,2.297,2.196,1.879,2.339,
+2.439,0.260,2.709,3.677,2.040,2.192,3.773,5.291,3.012,1.523,
+1.257,2.217,1.716,1.213,1.084,1.508,1.559,0.159,1.288,1.906,
+1.810,1.554,1.347,2.848,2.755,2.195,1.373,2.157,2.254,1.912,
+1.455,1.690,2.043,0.200,1.988,2.604,2.150,2.666,2.375,3.339,
+2.329,2.414,1.835,2.787,0.182,0.222,0.185,0.270,3.001,0.263,
+2.688,3.781,2.507,3.557,4.491,5.370,2.592,1.591,1.521,2.642,
+2.118,1.851,1.708,2.264,3.145,0.245,3.814,5.284,3.395,3.340,
+6.241,8.713,9.161,3.002,2.121,4.742,2.466,1.420,1.079,2.161,
+2.037,0.168,1.061,1.941,2.909,2.110,1.608,4.154,2.574,1.406,
+0.814,1.554,1.475,0.987,0.737,1.187,1.364,0.094,0.873,1.392,
+1.475,1.187,0.940,2.137,1.961,1.443,1.079,2.243,0.146,0.122,
+0.091,0.250,1.399,0.111,0.916,1.557,1.401,1.449,1.365,2.802,
+3.383,1.632,1.375,3.301,2.011,1.377,1.158,2.423,2.108,0.147,
+1.429,2.574,3.412,2.270,2.815,7.651,3.782,1.957,1.110,2.397,
+2.509,1.520,0.961,1.654,1.468,0.122,0.849,1.532,1.723,1.614,
+0.973,2.659,2.323,1.758,0.807,1.613,1.614,1.645,0.805,1.487,
+1.379,0.114,1.009,1.720,1.287,1.511,0.930,2.046,1.739,1.574,
+1.254,2.037,0.117,0.127,0.087,0.176,1.732,0.149,1.351,2.098,
+1.504,2.009,1.625,2.969,2.312,1.412,1.035,2.443,1.974,1.542,
+1.209,2.425,1.758,0.136,1.306,2.374,2.172,2.200,2.082,5.083,
+4.079,1.869,1.508,2.365,2.584,1.611,1.521,2.262,2.167,0.250,
+1.364,2.386,2.472,2.241,1.989,4.323,0.176,0.149,0.075,0.170,
+0.156,0.146,0.111,0.163,0.111,0.017,0.118,0.165,0.198,0.206,
+0.155,0.327,2.622,2.522,1.842,2.830,0.179,0.164,0.144,0.271,
+2.637,0.241,2.406,3.024,2.268,2.782,3.165,4.906,2.970,1.909,
+1.737,3.060,2.916,2.240,2.238,3.788,3.070,0.244,3.368,5.322,
+3.096,2.828,4.695,9.203,9.390,2.504,1.984,4.949,2.068,1.268,
+1.191,2.099,2.087,0.181,1.266,2.507,3.540,2.579,2.136,6.574,
+2.841,2.112,1.230,2.569,1.940,1.388,1.330,2.024,1.748,0.145,
+1.547,2.555,2.651,2.307,1.913,4.577,2.902,2.531,2.123,3.849,
+0.160,0.159,0.120,0.290,2.905,0.201,2.411,4.256,3.354,3.753,
+4.197,7.971,5.047,1.841,1.651,4.809,2.625,2.301,1.668,3.967,
+3.313,0.225,3.703,6.608,4.903,4.230,6.404,17.7,20.1,5.094,
+3.393,10.4,6.023,2.457,1.895,3.189,5.309,0.438,1.569,2.940,
+11.7,5.889,3.394,7.887,7.521,3.183,2.371,3.672,3.681,1.699,
+1.525,1.819,3.805,0.226,1.551,2.402,4.262,2.740,2.256,3.788,
+6.779,3.618,2.930,4.720,0.449,0.299,0.225,0.557,2.868,0.220,
+1.508,2.206,3.545,2.873,2.208,3.486,14.7,4.988,6.344,10.7,
+6.000,3.669,3.290,6.484,5.350,0.342,2.438,4.151,9.344,4.010,
+3.897,7.409,7.779,3.030,1.957,3.833,3.222,1.804,1.324,1.832,
+3.133,0.227,0.960,1.919,3.181,2.304,1.257,2.677,4.089,1.898,
+1.144,2.019,1.950,1.072,0.885,1.054,2.380,0.133,0.897,1.391,
+1.824,1.275,0.845,1.548,3.369,2.420,1.472,2.520,0.186,0.128,
+0.094,0.220,2.166,0.151,0.981,1.510,1.794,1.702,1.191,2.049,
+3.772,1.990,1.521,2.966,2.408,1.604,1.161,2.280,2.430,0.144,
+1.028,1.874,3.118,2.047,1.577,3.747,6.885,2.615,2.460,4.209,
+3.393,1.809,1.660,2.415,3.398,0.311,1.224,2.384,3.757,2.613,
+1.871,4.707,0.393,0.247,0.162,0.295,0.253,0.201,0.141,0.210,
+0.240,0.024,0.123,0.215,0.411,0.375,0.220,0.487,2.605,1.723,
+1.753,2.390,0.189,0.120,0.110,0.240,1.778,0.145,0.947,1.376,
+1.768,1.496,1.267,1.896,2.916,1.627,1.702,2.970,2.658,1.702,
+1.582,2.509,2.416,0.167,1.327,2.279,2.662,1.925,1.975,4.081,
+14.7,4.252,3.477,8.606,4.019,2.161,2.010,3.141,5.180,0.467,
+1.896,3.645,8.473,4.672,3.464,9.617,6.081,3.737,2.308,3.909,
+3.514,2.863,1.963,2.685,3.780,0.212,1.765,3.087,5.301,3.761,
+2.817,5.559,3.686,2.763,2.038,3.366,0.296,0.181,0.148,0.285,
+2.555,0.156,1.300,2.268,2.789,2.480,2.123,3.314,7.382,3.209,
+2.801,6.755,3.252,1.962,1.829,3.506,4.639,0.237,2.106,4.099,
+6.711,3.804,3.856,8.521,8.748,3.387,2.622,5.098,3.210,1.729,
+1.436,2.004,2.500,0.217,0.914,2.240,3.125,2.277,1.284,2.850,
+3.458,1.826,1.319,2.121,1.848,1.011,0.911,1.243,1.450,0.113,
+0.790,1.489,1.381,1.038,0.810,1.644,2.490,2.113,1.577,2.381,
+0.203,0.231,0.118,0.243,1.227,0.102,0.700,1.133,1.179,1.224,
+0.980,1.973,2.991,1.387,1.495,2.476,2.312,1.596,1.134,1.980,
+1.424,0.114,0.652,1.313,2.033,1.125,1.210,3.023,4.447,2.310,
+1.160,2.394,2.116,1.293,0.853,1.119,1.561,0.122,0.559,1.128,
+1.514,1.218,0.674,1.529,2.160,1.238,0.722,1.271,1.226,0.576,
+0.566,0.684,1.169,0.079,0.589,0.922,0.919,0.692,0.510,0.928,
+1.704,1.539,0.837,1.433,0.114,0.110,0.078,0.138,1.100,0.114,
+0.587,0.855,0.837,1.075,0.696,1.206,1.642,0.937,0.619,1.231,
+1.240,0.892,0.566,0.981,1.097,0.069,0.467,0.949,1.134,0.760,
+0.627,1.710,3.315,1.721,1.204,2.149,2.019,1.375,1.138,1.633,
+1.574,0.155,0.696,1.474,1.606,1.249,0.948,2.132,0.157,0.143,
+0.069,0.165,0.093,0.108,0.076,0.091,0.095,0.016,0.062,0.118,
+0.131,0.129,0.085,0.162,1.539,1.319,1.093,1.458,0.115,0.101,
+0.083,0.129,1.025,0.094,0.586,0.950,0.902,1.021,0.865,1.285,
+1.421,0.774,0.846,1.451,1.399,1.095,1.041,1.455,1.104,0.078,
+0.743,1.255,1.171,0.837,1.052,2.013,3.261,1.440,1.189,2.180,
+1.659,1.023,0.818,1.248,1.579,0.122,0.645,1.353,2.768,1.363,
+1.021,2.470,2.211,1.509,1.010,1.672,1.271,1.083,0.819,1.100,
+1.154,0.086,0.721,1.670,1.443,1.251,0.871,1.849,1.721,1.415,
+1.222,1.710,0.118,0.095,0.074,0.131,1.151,0.086,0.670,1.157,
+1.292,1.288,1.096,1.699,2.370,1.162,1.151,2.087,1.536,1.068,
+0.910,1.519,1.638,0.098,0.897,1.715,2.473,1.702,1.761,3.556,
+5.466,2.371,2.324,4.331,1.966,1.231,0.978,1.580,2.367,0.193,
+1.054,1.715,2.681,1.932,1.112,2.514,3.100,1.555,1.188,1.834,
+1.394,0.808,0.770,0.942,1.639,0.124,0.826,1.219,1.468,1.352,
+0.829,1.556,2.320,1.895,1.712,2.431,0.212,0.187,0.145,0.304,
+1.266,0.128,0.647,1.163,1.301,1.687,0.968,1.948,3.039,1.591,
+1.712,3.234,1.963,1.470,1.211,2.127,1.794,0.156,1.065,1.955,
+2.556,1.745,1.897,5.474,0.304,0.201,0.125,0.262,0.183,0.144,
+0.086,0.135,0.149,0.019,0.080,0.130,0.176,0.170,0.100,0.189,
+0.223,0.150,0.086,0.141,0.141,0.096,0.078,0.095,0.141,0.016,
+0.076,0.102,0.130,0.142,0.073,0.128,0.157,0.157,0.118,0.157,
+0.016,0.019,0.012,0.019,0.120,0.018,0.081,0.122,0.130,0.159,
+0.101,0.171,0.332,0.166,0.137,0.305,0.250,0.224,0.150,0.322,
+0.200,0.020,0.137,0.226,0.280,0.199,0.203,0.495,2.205,1.198,
+0.917,1.367,1.262,0.997,0.721,1.044,1.455,0.162,0.752,1.143,
+1.312,1.102,0.864,1.550,0.143,0.121,0.060,0.092,0.079,0.077,
+0.054,0.064,0.097,0.013,0.055,0.082,0.128,0.134,0.077,0.131,
+1.231,1.210,0.758,1.022,0.089,0.123,0.056,0.097,0.910,0.102,
+0.347,0.650,0.680,0.828,0.610,0.898,1.310,0.732,0.625,1.002,
+1.037,0.868,0.659,1.026,1.270,0.105,0.687,1.467,1.020,0.911,
+0.877,1.797,2.600,1.153,0.803,1.634,1.344,0.809,0.547,0.930,
+1.408,0.129,0.708,1.180,1.937,1.343,0.914,2.044,2.168,1.406,
+0.838,1.345,1.309,0.971,0.709,0.898,1.313,0.093,0.757,1.300,
+1.598,1.455,0.971,1.658,1.575,1.309,0.947,1.556,0.116,0.118,
+0.072,0.148,1.283,0.114,0.800,1.391,1.296,1.457,1.173,1.858,
+2.050,1.039,1.015,1.550,1.470,1.058,0.843,1.368,1.801,0.137,
+1.171,1.978,2.483,1.689,1.915,3.660,11.4,3.716,3.307,14.3,
+3.224,1.660,1.544,2.768,3.202,0.281,1.362,2.838,5.716,3.184,
+2.086,5.637,3.382,1.471,1.100,2.233,1.575,0.881,0.827,1.197,
+1.863,0.112,0.953,1.632,1.978,1.341,0.929,2.085,3.207,2.148,
+1.724,4.097,0.254,0.189,0.141,0.430,1.772,0.144,0.892,1.752,
+2.014,1.833,1.251,2.999,5.758,2.354,2.674,8.167,2.900,1.716,
+1.795,4.131,2.809,0.185,1.631,3.282,5.235,2.981,3.158,10.6,
+5.697,2.679,1.774,4.628,3.181,1.701,1.179,2.110,2.475,0.217,
+1.100,2.072,2.648,2.108,1.267,2.744,3.471,1.625,0.986,1.975,
+1.811,0.988,0.818,1.165,1.876,0.110,0.878,1.460,1.808,1.529,
+0.839,1.634,2.595,1.734,1.208,2.544,0.137,0.109,0.078,0.196,
+1.889,0.135,1.136,1.757,1.941,1.819,1.380,2.723,4.155,1.665,
+1.542,3.766,2.558,1.580,1.321,2.841,2.482,0.145,1.409,2.543,
+3.509,2.150,2.192,5.418,2.841,1.603,1.137,2.337,2.009,1.185,
+0.966,1.713,1.908,0.191,0.910,1.649,2.031,1.615,1.311,2.702,
+0.175,0.132,0.075,0.158,0.112,0.098,0.079,0.110,0.112,0.013,
+0.075,0.127,0.156,0.160,0.093,0.202,1.752,1.363,0.967,1.645,
+0.100,0.082,0.053,0.137,1.378,0.096,0.665,1.096,1.234,1.258,
+1.019,1.678,2.159,1.099,1.061,1.949,1.723,1.164,1.029,1.897,
+1.938,0.117,1.049,2.070,1.965,1.479,1.554,3.041,5.861,2.161,
+1.780,4.230,2.342,1.377,1.307,2.102,2.652,0.221,1.792,2.480,
+4.642,2.681,2.179,5.670,2.617,1.451,1.012,1.909,1.610,1.058,
+0.875,1.353,1.665,0.105,1.040,1.812,2.291,1.863,1.249,2.663,
+2.774,2.088,1.455,2.696,0.158,0.118,0.077,0.204,2.144,0.130,
+1.234,2.439,2.519,2.357,1.832,3.116,5.602,2.264,2.048,4.936,
+2.879,1.983,1.553,3.204,3.468,0.157,2.236,4.078,6.685,3.638,
+3.492,7.416,6.722,3.113,2.903,5.358,3.036,1.715,1.452,2.077,
+2.812,0.265,1.157,2.408,4.114,2.857,1.761,3.311,2.709,1.820,
+1.118,1.458,1.615,0.971,0.843,0.975,1.600,0.125,0.849,1.249,
+1.450,1.310,0.986,1.554,1.951,1.488,1.179,1.854,0.157,0.114,
+0.103,0.207,1.191,0.104,0.588,0.932,1.197,1.252,1.032,1.617,
+2.880,1.384,1.238,2.602,2.025,1.238,1.082,1.886,1.550,0.124,
+0.819,1.452,2.277,1.352,1.517,3.124,3.481,1.707,0.974,1.974,
+1.861,1.111,0.678,1.058,1.635,0.170,0.571,1.079,1.441,1.418,
+0.667,1.491,1.938,1.094,0.589,0.982,1.085,0.576,0.465,0.614,
+1.128,0.107,0.561,0.869,0.909,0.954,0.508,0.890,1.281,1.122,
+0.673,0.981,0.110,0.073,0.054,0.094,1.009,0.089,0.480,0.722,
+0.973,1.070,0.732,1.062,1.297,0.799,0.536,1.040,1.115,0.836,
+0.488,0.865,0.998,0.074,0.519,0.901,1.189,0.972,0.991,1.875,
+2.183,1.158,0.816,1.481,1.724,1.109,0.786,1.220,1.422,0.159,
+0.602,1.055,1.389,1.199,0.787,1.761,0.137,0.110,0.071,0.109,
+0.157,0.111,0.085,0.111,0.097,0.014,0.058,0.102,0.131,0.219,
+0.090,0.170,0.881,0.861,0.587,0.785,0.078,0.063,0.047,0.095,
+0.787,0.075,0.487,0.825,0.760,0.800,0.695,0.887,0.942,0.592,
+0.547,0.927,1.075,0.760,0.612,0.980,0.960,0.089,0.596,0.938,
+0.993,0.980,0.966,1.757,2.680,1.006,0.849,2.164,1.123,0.687,
+0.550,0.894,1.347,0.143,0.598,1.076,1.753,1.104,0.798,2.165,
+1.779,1.182,0.824,1.358,1.225,0.883,0.767,0.984,1.047,0.089,
+0.632,1.044,1.209,1.209,0.817,1.566,1.087,0.951,0.738,1.195,
+0.080,0.060,0.073,0.109,0.787,0.059,0.462,0.773,0.894,0.961,
+0.729,1.085,1.595,0.852,0.802,1.822,0.922,0.691,0.659,1.048,
+1.227,0.082,0.785,1.382,1.944,1.560,1.521,3.190,3.705,2.048,
+1.750,2.823,2.130,1.496,1.031,1.365,1.271,0.132,0.552,1.300,
+1.576,1.258,0.900,1.784,1.847,1.230,0.860,1.188,1.167,0.831,
+0.783,0.806,0.887,0.101,0.507,0.938,0.714,0.724,0.535,1.054,
+1.119,1.032,0.985,1.189,0.087,0.098,0.091,0.129,0.602,0.065,
+0.436,0.611,0.601,0.748,0.637,1.079,1.371,0.707,0.661,1.240,
+1.133,0.854,0.697,1.004,0.704,0.062,0.429,0.767,1.111,0.671,
+0.732,1.689,2.007,1.294,0.677,1.179,1.217,0.924,0.490,0.694,
+0.810,0.078,0.360,0.702,0.799,0.740,0.441,0.893,1.149,0.727,
+0.398,0.579,0.644,0.249,0.314,0.370,0.600,0.071,0.351,0.685,
+0.449,0.507,0.330,0.599,0.770,0.922,0.554,0.669,0.064,0.080,
+0.048,0.060,0.580,0.079,0.386,0.545,0.481,0.709,0.562,0.774,
+0.705,0.498,0.325,0.565,0.675,0.682,0.320,0.535,0.563,0.050,
+0.353,0.581,0.585,0.496,0.463,0.970,1.557,1.008,0.562,1.002,
+1.442,1.387,0.732,0.956,0.933,0.116,0.445,0.756,0.837,0.775,
+0.520,1.123,0.076,0.091,0.045,0.082,0.083,0.152,0.073,0.070,
+0.055,0.016,0.047,0.068,0.055,0.090,0.044,0.083,0.799,0.904,
+0.599,0.725,0.090,0.145,0.056,0.087,0.668,0.080,0.377,0.575,
+0.495,0.675,0.560,0.769,0.713,0.455,0.423,0.702,1.018,0.888,
+0.692,0.851,0.748,0.068,0.412,0.723,0.711,0.601,0.708,1.209,
+1.448,0.792,0.609,1.092,0.919,0.707,0.413,0.609,0.722,0.070,
+0.329,0.599,0.977,0.697,0.471,1.118,0.996,0.785,0.552,0.882,
+0.729,0.858,0.531,0.696,0.513,0.051,0.368,0.636,0.629,0.636,
+0.465,0.805,0.790,0.829,0.849,0.931,0.059,0.071,0.048,0.073,
+0.505,0.048,0.397,0.569,0.517,0.672,0.609,0.908,1.054,0.535,
+0.493,0.928,0.701,0.567,0.491,0.706,0.704,0.048,0.422,0.775,
+1.022,0.862,0.952,1.822,2.888,1.607,1.147,2.182,1.276,0.846,
+0.649,1.031,1.294,0.123,0.542,1.079,1.378,1.153,0.775,1.537,
+1.811,1.302,0.630,1.063,1.018,0.757,0.537,0.715,1.143,0.105,
+0.621,0.935,0.853,0.919,0.612,1.118,1.065,1.089,0.733,1.356,
+0.101,0.100,0.072,0.181,0.760,0.093,0.431,0.839,0.757,1.043,
+0.719,1.481,1.273,0.789,0.632,1.493,0.994,0.788,0.641,1.144,
+0.985,0.094,0.607,1.163,1.231,0.918,1.126,2.664,0.147,0.107,
+0.058,0.109,0.117,0.095,0.056,0.074,0.087,0.013,0.046,0.083,
+0.083,0.100,0.110,0.154,0.101,0.087,0.039,0.053,0.099,0.088,
+0.050,0.060,0.088,0.020,0.061,0.070,0.067,0.075,0.044,0.078,
+0.063,0.078,0.046,0.071,9.53e-3,0.015,0.014,0.013,0.079,0.017,
+0.057,0.077,0.069,0.097,0.076,0.110,0.095,0.065,0.050,0.110,
+0.123,0.108,0.072,0.125,0.081,0.013,0.069,0.109,0.093,0.085,
+0.112,0.179,1.485,1.102,0.573,1.040,1.134,1.131,0.597,0.980,
+1.153,0.190,1.666,1.644,0.844,0.964,0.765,1.301,0.085,0.195,
+0.043,0.064,0.064,0.123,0.051,0.061,0.063,0.020,0.074,0.081,
+0.069,0.113,0.057,0.083,0.725,1.132,0.503,0.706,0.067,0.099,
+0.051,0.087,0.827,0.120,0.395,0.691,0.522,0.801,0.560,0.805,
+0.685,0.608,0.382,0.625,0.756,0.867,0.526,0.782,1.118,0.110,
+0.699,0.947,0.710,0.747,0.749,1.286,1.224,0.740,0.432,0.945,
+0.693,0.463,0.291,0.490,0.769,0.087,0.487,0.764,0.880,0.822,
+0.498,1.158,1.103,0.978,0.481,0.804,0.784,0.773,0.419,0.575,
+0.740,0.075,0.554,0.892,0.762,0.898,0.564,0.951,0.792,0.776,
+0.508,0.775,0.055,0.059,0.040,0.065,0.911,0.102,0.557,0.856,
+0.684,0.937,0.687,1.087,0.896,0.573,0.413,0.859,0.644,0.562,
+0.406,0.665,1.152,0.093,0.793,1.144,1.167,1.051,1.079,1.860,
+3.423,1.371,1.202,2.949,1.211,0.727,0.618,1.087,1.304,0.126,
+0.549,1.491,1.753,1.148,0.848,2.124,1.693,0.920,0.545,1.037,
+0.907,0.514,0.434,0.700,0.936,0.061,0.439,1.067,0.906,0.610,
+0.470,1.079,1.154,0.891,0.674,1.378,0.077,0.058,0.052,0.153,
+0.709,0.063,0.364,0.791,0.850,0.775,0.609,1.377,1.677,0.872,
+0.860,2.144,1.009,0.603,0.594,1.344,0.919,0.066,0.524,1.156,
+1.602,0.977,1.107,3.270,3.102,1.338,0.814,1.789,1.733,0.892,
+0.610,0.888,1.311,0.119,0.580,1.254,1.238,1.084,0.806,1.557,
+1.697,0.880,0.508,0.900,1.258,0.659,0.432,0.689,1.141,0.077,
+0.515,0.894,0.947,0.775,0.488,0.985,0.921,0.764,0.530,0.946,
+0.070,0.064,0.042,0.087,0.910,0.081,0.573,0.900,1.046,1.061,
+0.917,1.516,1.190,0.656,0.722,1.275,1.041,0.815,0.657,1.267,
+0.919,0.078,0.768,1.089,1.222,0.971,1.270,2.092,1.567,0.861,
+0.591,1.078,1.129,0.836,0.583,0.997,1.162,0.128,0.641,1.158,
+1.047,0.929,0.762,1.626,0.090,0.077,0.040,0.073,0.058,0.068,
+0.051,0.062,0.056,7.44e-3,0.045,0.072,0.075,0.084,0.055,0.116,
+0.860,0.737,0.464,0.802,0.054,0.049,0.040,0.080,0.768,0.074,
+0.420,0.716,0.657,0.792,0.672,1.063,0.865,0.560,0.479,0.830,
+0.891,0.667,0.587,0.974,1.122,0.081,0.672,1.159,1.011,0.845,
+1.077,1.948,2.251,0.758,0.679,1.553,0.947,0.622,0.465,0.755,
+1.114,0.104,0.579,1.133,1.457,0.899,0.758,2.018,1.375,0.722,
+0.508,0.969,0.857,0.618,0.464,0.698,0.800,0.050,0.529,0.907,
+1.036,0.798,0.676,1.344,1.193,1.022,0.677,1.149,0.071,0.067,
+0.041,0.095,1.052,0.086,0.641,1.199,1.194,1.245,0.975,1.684,
+1.850,0.959,0.852,1.966,1.275,1.013,0.763,1.346,1.595,0.100,
+1.345,1.995,2.653,1.947,1.962,3.128,4.120,2.150,1.959,4.132,
+2.157,1.253,1.116,1.614,2.077,0.212,1.285,1.533,3.078,2.327,
+1.213,2.725,1.830,1.162,0.754,1.221,1.138,0.663,0.603,0.791,
+1.152,0.099,0.610,0.869,1.196,1.001,0.624,1.230,2.094,1.249,
+0.851,1.431,0.145,0.102,0.083,0.189,1.000,0.081,0.584,0.811,
+1.029,0.996,0.715,1.276,2.726,1.243,1.044,2.343,1.640,0.969,
+0.862,1.551,1.130,0.097,0.621,0.996,1.781,1.003,1.104,2.515,
+3.033,1.489,0.956,2.036,1.534,0.946,0.885,1.155,1.293,0.124,
+0.502,0.854,1.425,1.348,0.569,1.356,1.537,0.941,0.538,0.919,
+0.890,0.427,0.479,0.593,1.075,0.133,0.549,0.734,0.830,0.851,
+0.419,0.783,1.453,1.270,0.791,1.278,0.110,0.104,0.066,0.125,
+0.977,0.086,0.552,0.805,0.869,0.998,0.697,1.142,1.457,0.852,
+0.620,1.230,1.290,0.993,0.667,1.139,0.944,0.070,0.499,0.880,
+1.059,0.840,0.773,1.783,2.205,0.991,0.792,1.608,1.573,1.038,
+0.924,1.403,1.515,0.174,0.578,0.948,1.569,1.231,0.834,1.947,
+0.164,0.122,0.070,0.151,0.134,0.110,0.103,0.256,0.126,0.015,
+0.071,0.113,0.177,0.213,0.102,0.216,1.012,0.730,0.736,0.996,
+0.094,0.062,0.069,0.130,0.700,0.071,0.454,0.592,0.723,0.787,
+0.602,0.891,1.106,0.572,0.571,1.020,1.291,0.866,0.813,1.246,
+0.993,0.085,0.543,0.817,1.208,0.918,0.919,1.778,2.882,1.021,
+0.957,2.285,1.109,0.711,0.711,1.144,1.572,0.163,0.620,1.080,
+2.332,1.480,0.997,2.544,1.789,0.990,0.739,1.331,1.133,0.720,
+0.736,1.095,1.170,0.089,0.607,1.072,1.519,1.014,0.778,1.621,
+1.382,1.026,1.086,1.589,0.118,0.082,0.080,0.159,0.952,0.077,
+0.635,0.988,1.147,1.201,1.071,1.744,2.203,1.068,0.930,2.118,
+1.334,0.831,0.800,1.457,1.633,0.126,1.000,1.809,3.487,2.236,
+2.256,5.380,0.269,0.159,0.123,0.238,0.173,0.122,0.091,0.144,
+0.139,0.018,0.063,0.109,0.170,0.170,0.083,0.166,0.176,0.118,
+0.095,0.127,0.138,0.085,0.091,0.110,0.117,0.015,0.063,0.091,
+0.091,0.095,0.063,0.116,0.128,0.112,0.082,0.118,0.016,0.014,
+0.011,0.021,0.080,8.52e-3,0.048,0.079,0.073,0.089,0.062,0.118,
+0.174,0.101,0.074,0.157,0.163,0.123,0.100,0.151,0.107,0.012,
+0.058,0.092,0.135,0.091,0.090,0.210,0.185,0.127,0.066,0.135,
+0.124,0.096,0.070,0.093,0.092,9.36e-3,0.040,0.073,0.091,0.094,
+0.048,0.096,0.143,0.102,0.055,0.094,0.109,0.069,0.074,0.084,
+0.106,0.014,0.054,0.078,0.083,0.085,0.047,0.081,0.105,0.109,
+0.066,0.101,0.013,0.019,0.012,0.012,0.079,0.017,0.056,0.081,
+0.061,0.090,0.064,0.101,0.115,0.072,0.046,0.098,0.119,0.104,
+0.068,0.099,0.074,7.60e-3,0.043,0.074,0.073,0.074,0.062,0.144,
+0.144,0.087,0.058,0.112,0.124,0.119,0.089,0.110,0.108,0.017,
+0.052,0.074,0.096,0.103,0.068,0.135,8.77e-3,0.012,0.010,0.016,
+0.013,0.015,0.015,0.022,0.011,5.43e-3,0.012,0.012,0.012,0.019,
+0.010,0.014,0.083,0.092,0.085,0.101,0.013,0.014,0.024,0.014,
+0.082,0.014,0.063,0.066,0.068,0.108,0.074,0.092,0.103,0.052,
+0.057,0.107,0.120,0.109,0.112,0.130,0.090,9.53e-3,0.058,0.088,
+0.096,0.081,0.088,0.164,0.249,0.159,0.114,0.230,0.139,0.103,
+0.083,0.123,0.150,0.015,0.064,0.113,0.210,0.165,0.126,0.278,
+0.225,0.152,0.117,0.199,0.170,0.146,0.137,0.175,0.167,0.018,
+0.094,0.165,0.189,0.183,0.126,0.233,0.132,0.126,0.124,0.163,
+0.013,0.012,0.012,0.021,0.101,0.012,0.076,0.132,0.115,0.145,
+0.137,0.202,0.229,0.131,0.101,0.195,0.157,0.116,0.104,0.150,
+0.166,0.012,0.105,0.193,0.283,0.213,0.219,0.483,2.356,1.198,
+0.847,1.548,1.174,0.813,0.509,0.834,0.943,0.093,0.556,0.754,
+1.033,0.797,0.603,1.031,1.320,0.824,0.475,0.752,0.830,0.565,
+0.642,0.624,0.807,0.077,0.519,0.795,0.664,0.691,0.531,0.877,
+1.184,1.073,0.682,1.108,0.126,0.110,0.083,0.167,1.007,0.098,
+0.502,0.696,0.899,1.015,0.647,1.002,1.139,0.624,0.471,1.118,
+0.910,0.665,0.519,0.960,1.263,0.084,0.671,0.899,1.069,0.715,
+0.876,1.922,0.146,0.096,0.050,0.103,0.104,0.092,0.059,0.081,
+0.064,9.28e-3,0.036,0.054,0.068,0.066,0.038,0.084,0.077,0.061,
+0.036,0.050,0.079,0.058,0.096,0.074,0.060,0.011,0.050,0.060,
+0.048,0.051,0.036,0.063,0.078,0.087,0.047,0.077,0.015,0.015,
+0.014,0.013,0.069,0.015,0.066,0.064,0.060,0.081,0.057,0.071,
+0.119,0.069,0.046,0.113,0.105,0.102,0.062,0.116,0.090,8.69e-3,
+0.053,0.092,0.082,0.063,0.070,0.146,1.275,0.728,0.495,0.805,
+0.923,0.791,0.608,0.767,0.812,0.110,0.438,0.644,0.628,0.617,
+0.512,0.960,0.081,0.081,0.056,0.063,0.069,0.088,0.057,0.056,
+0.063,0.015,0.053,0.056,0.053,0.075,0.055,0.075,0.820,0.876,
+0.499,0.710,0.072,0.078,0.061,0.085,0.766,0.087,0.240,0.428,
+0.465,0.604,0.469,0.690,0.727,0.446,0.373,0.574,0.746,0.632,
+0.517,0.696,0.741,0.068,0.478,0.652,0.605,0.556,0.591,1.032,
+1.202,0.650,0.533,0.942,0.740,0.488,0.354,0.500,0.718,0.075,
+0.408,0.634,0.734,0.631,0.425,0.897,1.101,0.745,0.472,0.749,
+0.798,0.720,0.488,0.529,0.675,0.068,0.545,0.751,0.709,0.751,
+0.549,0.851,1.081,0.981,0.656,0.996,0.111,0.095,0.069,0.129,
+0.930,0.137,0.666,0.854,0.767,1.058,1.188,1.161,1.074,0.589,
+0.469,0.836,1.014,0.805,0.529,0.798,0.948,0.077,0.718,0.961,
+1.125,0.962,1.098,1.787,2.597,1.118,0.821,1.763,0.988,0.572,
+0.471,0.700,0.938,0.104,0.500,0.895,1.419,0.987,0.611,1.508,
+1.417,0.694,0.448,0.807,0.720,0.412,0.361,0.516,0.638,0.050,
+0.346,0.658,0.695,0.506,0.401,0.800,1.149,0.919,0.520,1.128,
+0.085,0.073,0.046,0.124,0.775,0.061,0.370,0.700,0.863,0.800,
+0.599,1.112,1.641,1.022,0.666,1.686,0.960,0.624,0.527,1.091,
+0.855,0.063,0.499,0.797,1.445,0.911,0.882,2.217,2.576,1.290,
+0.772,1.683,1.282,0.855,0.666,0.872,1.024,0.087,0.513,0.877,
+1.186,0.967,0.570,1.287,1.451,0.870,0.495,0.908,1.254,0.682,
+0.640,0.766,0.873,0.074,0.544,0.892,0.754,0.687,0.496,0.863,
+1.201,1.061,0.582,1.112,0.084,0.080,0.050,0.101,0.847,0.081,
+0.560,0.912,0.856,0.985,0.698,1.245,1.415,0.871,0.632,1.363,
+1.152,0.950,0.663,1.179,0.907,0.066,0.566,0.897,1.052,0.886,
+0.822,1.623,1.819,0.943,0.626,1.109,1.162,0.858,0.726,1.061,
+1.057,0.125,0.540,1.098,1.014,0.894,0.797,2.009,0.111,0.092,
+0.057,0.095,0.091,0.097,0.066,0.091,0.061,8.69e-3,0.063,0.089,
+0.089,0.101,0.121,0.136,1.017,0.953,0.584,0.991,0.069,0.066,
+0.055,0.104,0.946,0.087,0.549,0.798,0.814,1.031,0.766,1.110,
+1.092,0.686,0.609,1.009,1.094,0.858,0.798,1.293,1.028,0.075,
+0.751,1.125,1.178,0.919,1.170,1.821,2.251,0.837,0.715,1.608,
+0.963,0.598,0.542,0.776,1.206,0.140,0.630,1.112,1.217,0.832,
+0.723,1.972,1.469,0.871,0.607,1.153,0.946,0.723,0.647,0.789,
+0.870,0.067,0.954,1.260,1.004,0.821,0.850,1.445,1.457,1.269,
+0.872,1.548,0.108,0.098,0.066,0.140,1.226,0.109,0.869,1.451,
+1.347,1.411,1.402,1.978,2.296,1.149,1.016,2.338,1.557,1.237,
+0.973,1.711,1.676,0.113,1.267,2.175,3.040,1.948,2.162,4.366,
+8.336,3.473,2.921,7.091,3.161,1.675,1.435,2.369,3.119,0.270,
+1.140,2.374,6.030,4.013,1.856,4.303,2.587,1.405,0.930,1.609,
+1.316,0.726,0.637,0.881,1.737,0.106,0.713,1.042,1.775,1.409,
+0.720,1.439,2.842,1.714,1.157,2.294,0.205,0.122,0.094,0.242,
+1.413,0.106,0.638,1.076,1.706,1.419,0.950,1.911,10.2,2.811,
+2.074,4.244,2.750,1.560,1.326,2.474,2.287,0.163,1.042,1.791,
+3.915,2.086,1.914,5.154,3.300,1.429,0.958,2.124,1.708,0.801,
+0.632,1.001,1.323,0.109,0.421,0.955,1.734,1.341,0.594,1.569,
+1.588,0.844,0.509,1.019,0.763,0.402,0.349,0.523,0.962,0.065,
+0.410,0.664,1.079,0.802,0.428,0.834,1.696,1.119,0.791,1.388,
+0.105,0.066,0.053,0.110,1.332,0.078,0.484,0.843,1.405,1.088,
+0.713,1.277,2.129,1.035,0.809,1.547,1.226,0.827,0.584,1.038,
+1.076,0.065,0.534,1.059,1.456,1.027,0.876,2.283,2.912,1.198,
+1.045,2.288,1.824,1.023,0.910,1.767,1.735,0.174,0.700,1.216,
+2.619,1.782,1.029,2.889,0.184,0.101,0.076,0.169,0.123,0.082,
+0.071,0.148,0.129,0.010,0.060,0.110,0.259,0.217,0.100,0.247,
+1.357,0.895,0.800,1.305,0.105,0.059,0.057,0.132,0.883,0.076,
+0.386,0.645,1.215,1.000,0.664,1.172,1.536,0.741,0.766,1.565,
+1.306,0.798,0.784,1.433,1.036,0.072,0.573,1.027,1.621,1.156,
+1.068,2.440,4.556,1.453,1.356,3.820,1.656,0.876,0.910,1.698,
+2.390,0.190,0.880,1.707,5.756,2.606,1.588,4.877,2.271,1.055,
+0.918,1.770,1.206,0.708,0.698,1.202,1.644,0.094,0.774,1.391,
+2.480,1.680,1.021,2.282,1.881,1.288,1.213,1.962,0.144,0.078,
+0.083,0.167,1.733,0.104,0.816,1.448,1.873,1.601,1.276,2.176,
+3.905,1.632,1.508,3.654,2.015,1.171,1.110,2.256,2.501,0.141,
+1.767,2.829,5.172,3.360,3.096,8.167,4.359,2.055,1.570,3.486,
+2.064,1.192,0.992,1.607,1.848,0.158,0.643,1.325,2.534,2.030,
+1.021,2.373,2.411,1.219,0.952,1.801,1.353,0.777,0.777,1.022,
+1.277,0.089,0.577,1.041,1.232,1.029,0.653,1.448,1.761,1.362,
+0.885,1.766,0.133,0.107,0.078,0.172,0.950,0.090,0.495,1.044,
+1.205,1.180,0.779,1.619,2.558,1.181,0.953,1.964,1.780,1.104,
+0.918,1.609,1.328,0.120,0.564,1.125,1.782,1.049,1.047,2.617,
+2.600,1.321,0.794,1.871,1.361,0.833,0.624,0.889,0.975,0.078,
+0.341,0.865,1.259,0.993,0.513,1.310,1.546,0.983,0.508,1.210,
+0.923,0.547,0.435,0.683,0.895,0.065,0.375,0.684,1.065,0.728,
+0.403,0.877,1.276,1.057,0.643,1.261,0.090,0.092,0.063,0.106,
+0.901,0.088,0.473,0.931,0.956,1.082,0.649,1.275,1.349,0.782,
+0.539,1.132,1.186,0.930,0.564,0.893,0.749,0.050,0.379,0.783,
+1.084,0.776,0.617,1.596,2.010,0.966,0.725,1.547,1.282,0.861,
+0.746,1.134,1.106,0.127,0.418,0.814,1.409,1.191,0.722,1.867,
+0.095,0.077,0.046,0.113,0.069,0.063,0.053,0.083,0.066,0.011,
+0.041,0.076,0.108,0.114,0.059,0.126,1.120,0.997,0.893,1.201,
+0.084,0.073,0.106,0.109,0.820,0.075,0.452,0.828,0.915,1.064,
+0.735,1.230,1.276,0.678,0.724,1.567,1.274,0.968,1.160,1.324,
+0.947,0.083,0.548,1.048,1.241,0.879,0.986,2.104,2.731,1.208,
+0.977,2.305,1.244,0.749,0.689,1.068,1.404,0.114,0.546,1.051,
+2.200,1.355,1.008,2.672,1.770,1.002,0.840,1.673,1.076,0.788,
+0.761,1.077,1.156,0.081,0.664,1.199,1.549,1.341,0.936,1.841,
+1.333,1.116,1.016,1.663,0.095,0.074,0.062,0.123,0.960,0.074,
+0.664,1.386,1.189,1.272,1.081,1.976,2.235,1.067,0.982,2.035,
+1.584,0.990,0.855,1.270,1.442,0.094,0.873,1.754,2.577,1.851,
+1.789,4.281,2.698,1.407,1.048,2.275,1.421,0.862,0.579,1.109,
+1.250,0.102,0.546,0.996,1.711,1.180,0.808,1.582,1.886,1.114,
+0.599,1.208,0.977,0.642,0.537,0.697,1.062,0.084,0.542,0.963,
+1.029,1.010,0.619,1.266,1.556,1.396,0.861,1.812,0.136,0.134,
+0.081,0.205,1.121,0.099,0.569,1.122,1.003,1.164,0.744,1.560,
+1.847,1.041,0.753,1.816,1.277,0.973,0.707,1.436,1.526,0.114,
+0.695,1.365,1.788,1.119,1.209,3.052,0.148,0.099,0.063,0.160,
+0.106,0.083,0.050,0.085,0.090,8.19e-3,0.042,0.089,0.115,0.097,
+0.060,0.140,0.106,0.073,0.040,0.078,0.082,0.063,0.046,0.062,
+0.074,9.61e-3,0.055,0.074,0.073,0.074,0.046,0.089,0.098,0.158,
+0.059,0.108,8.36e-3,0.013,0.011,0.012,0.118,0.014,0.058,0.091,
+0.083,0.105,0.074,0.150,0.134,0.100,0.069,0.157,0.128,0.120,
+0.076,0.146,0.129,9.94e-3,0.063,0.109,0.134,0.099,0.095,0.239,
+1.579,0.969,0.649,1.254,1.093,0.956,0.728,1.080,1.009,0.122,
+0.674,0.885,0.987,0.995,0.926,1.780,0.095,0.111,0.041,0.077,
+0.059,0.060,0.042,0.052,0.062,9.28e-3,0.085,0.058,0.089,0.097,
+0.061,0.118,1.466,3.549,0.835,1.424,0.088,0.163,0.067,0.106,
+1.528,0.137,0.412,0.664,0.740,0.923,0.613,1.035,1.197,1.059,
+0.586,1.006,0.977,0.841,0.631,0.966,1.614,0.108,0.853,1.029,
+1.125,0.862,0.919,1.845,1.660,0.852,0.630,1.466,1.006,0.673,
+0.524,0.835,1.054,0.083,0.592,1.017,1.459,0.990,0.800,1.807,
+1.574,0.939,0.650,1.210,0.919,0.745,0.577,0.706,1.042,0.071,
+0.748,1.029,1.447,1.153,0.870,1.572,1.400,1.612,0.922,1.659,
+0.105,0.128,0.066,0.124,1.277,0.097,0.818,1.232,1.243,1.391,
+1.285,1.971,1.604,0.949,0.815,1.645,1.157,0.984,0.713,1.213,
+1.706,0.110,1.107,1.468,2.030,1.649,1.700,3.303,6.498,2.036,
+1.827,4.141,1.937,1.142,0.935,1.623,2.166,0.161,0.816,1.732,
+3.281,2.008,1.255,4.391,2.329,1.105,0.718,1.542,1.161,0.674,
+0.616,1.077,1.395,0.093,0.763,1.368,1.316,1.000,0.662,1.543,
+2.124,1.523,1.022,2.534,0.143,0.119,0.086,0.233,1.278,0.108,
+0.674,1.412,1.568,1.451,0.946,2.188,3.757,1.717,1.556,4.184,
+1.933,1.147,1.100,2.375,1.898,0.128,1.030,2.273,3.826,2.173,
+2.093,6.648,2.677,1.269,0.870,2.300,1.349,0.850,0.690,1.005,
+1.366,0.089,0.514,1.257,1.599,1.129,0.738,1.902,1.626,0.906,
+0.540,1.207,0.952,0.596,0.440,0.767,1.021,0.058,0.577,1.114,
+0.985,0.784,0.596,1.195,1.407,1.058,0.702,1.536,0.080,0.110,
+0.044,0.105,1.147,0.082,0.584,1.111,1.210,1.157,0.907,1.841,
+1.867,1.038,0.956,2.125,1.430,1.075,0.779,1.588,1.270,0.076,
+0.697,1.314,1.774,1.271,1.289,3.082,2.775,1.415,1.192,2.160,
+1.803,1.143,1.101,1.908,1.841,0.168,0.875,1.620,2.013,1.515,
+1.357,3.369,0.140,0.102,0.067,0.131,0.089,0.076,0.065,0.108,
+0.088,8.61e-3,0.063,0.108,0.136,0.121,0.081,0.200,1.803,1.720,
+1.076,1.950,0.098,0.084,0.060,0.149,1.488,0.105,0.704,1.228,
+1.420,1.352,1.194,2.076,2.288,1.317,1.207,2.194,1.896,1.260,
+1.218,2.335,2.136,0.118,1.233,2.043,2.298,1.484,1.934,3.661,
+6.397,1.890,1.727,4.346,2.160,1.262,1.088,1.864,3.025,0.189,
+1.177,2.365,4.897,2.426,2.103,6.337,3.112,1.692,1.166,2.306,
+1.813,1.503,1.042,1.495,2.347,0.121,1.188,2.178,2.661,1.926,
+1.479,3.622,3.233,2.446,1.726,3.396,0.147,0.112,0.085,0.212,
+2.637,0.143,1.518,2.842,3.149,2.734,2.476,4.704,7.404,3.131,
+2.637,6.840,3.484,2.233,2.033,4.357,4.250,0.234,2.634,5.432,
+9.131,5.694,4.742,13.0,6.393,3.379,2.603,5.478,3.472,2.151,
+1.665,2.388,3.779,0.331,1.711,2.578,5.228,3.590,2.195,3.762,
+3.732,2.062,1.372,2.144,2.071,1.240,0.997,1.198,2.011,0.148,
+1.004,1.422,1.906,1.612,1.065,1.877,2.860,2.271,1.455,2.212,
+0.233,0.270,0.133,0.270,1.702,0.150,0.762,1.153,1.580,1.753,
+1.126,1.823,4.544,2.223,1.965,3.703,2.935,2.123,1.884,2.868,
+2.404,0.178,1.065,1.864,3.138,1.851,1.809,3.505,4.603,1.534,
+0.961,2.004,2.211,1.420,0.851,1.274,1.814,0.170,0.570,1.109,
+1.655,1.329,0.657,1.280,2.555,1.278,0.654,1.127,1.305,0.773,
+0.570,0.699,1.323,0.121,0.567,0.926,0.993,1.004,0.505,0.822,
+1.688,1.658,0.707,1.171,0.105,0.111,0.061,0.109,1.314,0.125,
+0.614,0.896,0.884,1.305,0.747,1.151,1.546,1.151,0.642,1.234,
+1.393,1.243,0.633,1.139,1.354,0.100,0.682,1.108,1.356,1.069,
+0.969,1.891,2.142,1.090,0.776,1.504,1.509,0.912,0.805,1.403,
+1.405,0.159,0.567,1.132,1.354,1.140,0.784,1.909,0.140,0.116,
+0.066,0.119,0.105,0.092,0.069,0.102,0.098,0.014,0.059,0.103,
+0.145,0.164,0.087,0.170,1.004,0.890,0.650,0.838,0.085,0.068,
+0.054,0.098,0.849,0.088,0.379,0.606,0.660,0.790,0.583,0.782,
+1.201,0.783,0.784,1.037,1.336,0.951,0.723,1.187,1.157,0.100,
+0.685,1.074,1.226,0.984,1.063,1.754,3.458,1.439,1.056,2.502,
+1.533,0.840,0.817,1.377,1.569,0.144,0.606,1.214,2.487,1.587,
+1.101,2.862,2.128,1.482,0.952,1.593,1.417,0.972,1.000,1.221,
+1.320,0.096,0.778,1.126,1.614,1.435,0.980,1.752,1.458,1.318,
+1.020,1.510,0.131,0.093,0.093,0.134,1.081,0.091,0.619,1.005,
+1.181,1.436,0.942,1.359,2.173,1.363,1.225,2.299,1.392,1.041,
+1.018,1.600,2.012,0.161,1.094,2.159,2.541,1.995,2.012,3.934,
+4.295,2.515,1.578,2.866,2.201,1.654,1.080,1.449,1.511,0.162,
+0.814,1.172,1.756,1.492,0.889,1.647,2.231,1.911,0.934,1.322,
+1.437,1.070,0.835,0.959,0.987,0.098,0.612,0.908,0.921,0.881,
+0.533,0.978,1.671,3.081,0.933,1.234,0.332,1.054,0.117,0.191,
+1.067,0.150,0.521,0.770,0.784,1.139,0.630,1.093,1.782,1.370,
+0.791,1.366,2.078,2.796,0.854,1.268,0.985,0.106,0.469,1.018,
+1.256,0.952,0.889,1.892,2.521,1.659,0.702,1.182,1.426,1.189,
+0.601,0.721,0.972,0.106,0.355,0.646,0.751,0.849,0.412,0.806,
+1.428,1.108,0.507,0.636,0.890,0.464,0.471,0.461,0.788,0.104,
+0.358,0.575,0.555,0.687,0.378,0.576,0.996,1.385,0.543,0.866,
+0.104,0.195,0.090,0.134,1.047,0.147,0.450,0.648,0.621,1.321,
+0.550,0.841,0.917,0.743,0.387,0.674,1.004,1.076,0.452,0.745,
+0.830,0.077,0.341,0.643,0.762,0.799,0.525,1.097,1.324,1.039,
+0.554,0.988,1.209,1.052,0.768,1.054,0.861,0.107,0.428,0.679,
+0.688,0.688,0.531,0.927,0.081,0.175,0.047,0.077,0.068,0.093,
+0.063,0.064,0.077,0.018,0.047,0.077,0.063,0.095,0.053,0.083,
+0.841,1.017,0.605,0.689,0.086,0.113,0.069,0.086,0.778,0.089,
+0.431,0.643,0.500,0.805,0.615,0.741,0.821,0.596,0.492,0.741,
+1.012,1.056,0.703,0.887,0.800,0.073,0.533,0.822,0.687,0.676,
+0.755,1.128,1.286,0.870,0.552,0.959,0.926,0.667,0.505,0.682,
+0.802,0.071,0.298,0.534,0.942,0.716,0.480,1.001,1.135,1.100,
+0.580,0.798,0.822,0.805,0.587,0.674,1.103,0.079,0.373,0.622,
+0.715,0.779,0.471,0.795,0.911,1.041,0.642,0.843,0.076,0.107,
+0.047,0.082,0.750,0.065,0.475,0.707,0.680,0.843,0.761,0.956,
+1.096,0.757,0.583,0.958,0.961,0.922,0.578,1.008,1.005,0.082,
+0.605,1.058,1.314,1.147,1.205,1.947,2.065,1.325,0.827,1.851,
+1.050,0.807,0.537,0.812,0.994,0.104,0.424,0.747,1.191,0.955,
+0.551,1.107,1.609,1.221,0.707,1.134,0.904,0.747,0.518,0.604,
+0.926,0.098,0.474,0.671,0.799,0.893,0.483,0.822,1.190,1.350,
+0.907,1.244,0.122,0.176,0.082,0.168,0.730,0.094,0.391,0.585,
+0.678,1.133,0.552,0.992,1.288,0.853,0.685,1.343,1.055,0.890,
+0.603,0.965,0.911,0.098,0.542,0.989,1.181,1.037,0.926,2.516,
+0.132,0.114,0.049,0.138,0.109,0.115,0.054,0.079,0.091,0.016,
+0.042,0.060,0.091,0.103,0.056,0.091,0.114,0.176,0.049,0.087,
+0.108,0.126,0.083,0.075,0.097,0.018,0.059,0.073,0.080,0.116,
+0.058,0.075,0.092,0.117,0.060,0.081,9.36e-3,0.025,0.015,0.013,
+0.088,0.020,0.058,0.067,0.066,0.130,0.067,0.090,0.116,0.091,
+0.056,0.120,0.161,0.158,0.092,0.144,0.104,0.017,0.063,0.114,
+0.116,0.115,0.093,0.206,0.949,0.646,0.396,0.953,0.676,0.639,
+0.546,0.615,0.793,0.109,0.335,0.555,0.664,0.600,0.407,0.725,
+0.074,0.079,0.036,0.055,0.060,0.074,0.040,0.035,0.057,0.012,
+0.033,0.062,0.068,0.084,0.043,0.067,0.546,0.718,0.422,0.479,
+0.052,0.066,0.043,0.061,0.589,0.073,0.256,0.431,0.379,0.660,
+0.423,0.533,0.662,0.421,0.348,0.471,0.582,0.603,0.444,0.534,
+0.687,0.076,0.390,0.592,0.528,0.571,0.512,0.911,1.015,0.616,
+0.398,0.812,0.766,0.480,0.316,0.464,0.678,0.065,0.275,0.493,
+0.862,0.639,0.399,0.925,1.137,0.884,0.450,0.648,0.932,0.794,
+0.491,0.507,0.733,0.071,0.442,0.648,0.808,0.896,0.481,0.778,
+0.830,0.790,0.503,0.685,0.087,0.080,0.048,0.072,0.779,0.090,
+0.448,0.650,0.679,0.949,0.594,0.856,0.974,0.574,0.525,0.704,
+0.814,0.748,0.537,0.709,1.064,0.104,0.655,1.066,1.270,1.064,
+0.960,1.779,2.684,1.312,1.043,2.501,1.233,0.826,0.603,0.868,
+1.155,0.115,0.558,1.043,1.889,1.219,0.816,1.931,1.332,0.797,
+0.597,2.265,0.778,0.441,0.357,0.573,0.731,0.061,0.331,0.660,
+0.779,0.641,0.353,0.756,1.292,1.196,0.784,1.488,0.121,0.140,
+0.068,0.177,0.792,0.075,0.438,0.705,0.902,0.896,0.578,1.089,
+1.798,1.206,0.919,2.462,1.167,0.818,0.688,1.375,1.000,0.084,
+0.606,1.157,1.908,1.178,1.127,3.305,2.006,1.284,0.699,1.524,
+1.423,1.132,0.544,0.857,1.217,0.144,0.485,0.873,1.299,1.097,
+0.641,1.204,1.291,1.057,0.459,1.101,1.005,0.728,0.468,0.658,
+0.969,0.099,0.446,0.787,0.841,0.884,0.446,0.781,0.998,1.016,
+0.461,0.902,0.071,0.081,0.043,0.091,0.996,0.093,0.490,0.729,
+0.850,1.118,0.731,1.050,1.120,0.758,0.553,1.241,1.088,0.938,
+0.583,1.203,0.968,0.077,0.536,1.025,1.139,0.962,0.843,1.785,
+1.069,0.685,0.428,0.995,0.777,0.564,0.440,0.735,0.850,0.123,
+0.399,0.761,0.880,0.826,0.572,1.114,0.068,0.064,0.038,0.079,
+0.050,0.054,0.034,0.045,0.060,0.015,0.036,0.077,0.071,0.099,
+0.045,0.089,0.631,0.648,0.479,0.637,0.048,0.043,0.036,0.066,
+0.727,0.068,0.310,0.660,0.534,0.707,0.462,0.784,0.781,0.530,
+0.473,0.768,0.780,0.648,0.474,0.807,0.879,0.083,0.506,0.928,
+0.915,0.740,0.766,1.446,2.007,0.872,0.635,1.426,1.020,0.625,
+0.462,0.817,1.003,0.086,0.418,0.881,1.551,0.971,0.785,1.965,
+1.056,0.696,0.417,0.816,0.756,0.562,0.411,0.570,0.809,0.061,
+0.420,0.914,0.914,0.879,0.570,1.167,1.395,1.163,0.693,1.200,
+0.091,0.091,0.047,0.102,1.148,0.091,0.577,1.092,1.185,1.373,
+1.035,1.430,2.101,1.168,0.938,2.066,1.396,1.264,0.888,1.511,
+1.885,0.109,1.074,2.073,2.798,1.902,2.079,3.978,3.887,2.261,
+1.669,2.968,2.167,1.516,1.025,1.387,1.914,0.209,0.843,1.542,
+2.443,1.959,1.057,1.942,2.434,1.652,0.969,1.334,1.542,1.084,
+0.801,0.860,1.329,0.136,0.824,1.103,1.156,1.225,0.794,1.241,
+1.222,1.050,0.785,1.024,0.102,0.098,0.093,0.137,0.785,0.097,
+0.456,0.609,0.746,0.971,0.649,0.961,1.847,1.056,0.883,1.565,
+1.295,1.053,0.915,1.269,1.009,0.093,0.625,0.973,1.414,1.001,
+1.068,2.147,2.599,1.231,0.667,1.379,1.593,1.145,0.634,0.857,
+1.182,0.136,0.503,0.839,1.053,1.069,0.469,0.909,1.636,1.150,
+0.525,0.996,1.025,0.706,0.503,0.607,1.053,0.162,0.767,1.125,
+0.808,1.065,0.510,0.725,0.881,0.913,0.477,0.625,0.080,0.095,
+0.067,0.078,0.796,0.100,0.478,0.620,0.618,0.980,0.634,0.766,
+0.829,0.645,0.356,0.626,0.864,0.969,0.444,0.682,0.779,0.074,
+0.452,0.694,0.805,0.762,0.877,1.355,1.198,0.687,0.450,0.811,
+1.001,0.761,0.520,0.796,0.943,0.118,0.414,0.645,0.742,0.753,
+0.514,1.057,0.075,0.075,0.047,0.070,0.070,0.090,0.057,0.069,
+0.069,0.017,0.051,0.074,0.073,0.131,0.057,0.100,0.533,0.577,
+0.478,0.483,0.054,0.057,0.042,0.069,0.613,0.072,0.371,0.493,
+0.441,0.594,0.453,0.554,0.578,0.465,0.749,0.642,0.742,0.686,
+0.516,0.705,0.721,0.080,0.470,0.671,0.671,0.748,0.923,1.159,
+1.533,0.644,0.493,1.200,0.747,0.501,0.383,0.643,0.819,0.076,
+0.318,0.566,1.116,0.754,0.508,1.256,1.079,0.818,0.609,0.814,
+0.840,0.760,0.675,0.709,0.737,0.074,0.460,0.713,0.694,0.879,
+0.526,0.967,0.632,0.597,0.535,0.707,0.050,0.052,0.063,0.078,
+0.573,0.056,0.390,0.560,0.521,0.708,0.565,0.756,0.997,0.720,
+1.249,1.294,0.677,0.641,0.815,1.009,0.950,0.086,0.726,1.071,
+1.236,1.254,1.261,2.392,2.280,1.495,0.966,1.641,1.503,1.302,
+0.788,0.923,0.861,0.095,0.441,0.707,0.958,0.928,0.594,0.975,
+1.502,1.194,0.855,0.913,1.182,1.059,0.962,0.706,0.685,0.090,
+0.485,0.648,0.518,0.733,0.451,0.693,0.701,0.917,0.556,0.706,
+0.074,0.130,0.064,0.089,0.547,0.072,0.385,0.455,0.437,0.660,
+0.485,0.697,0.843,0.550,0.436,0.772,0.829,0.888,0.567,0.670,
+0.510,0.055,0.347,0.521,0.737,0.595,0.550,1.096,1.621,1.128,
+0.463,0.718,1.045,1.070,0.465,0.493,0.654,0.082,0.300,0.457,
+0.471,0.635,0.280,0.529,0.835,0.646,0.291,0.415,0.265,0.082,
+0.188,0.201,0.504,0.116,0.276,0.428,0.298,0.542,0.264,0.371,
+0.492,0.808,0.353,0.444,0.059,0.141,0.059,0.062,0.586,0.120,
+0.323,0.441,0.388,0.851,0.454,0.582,0.451,0.463,0.252,0.371,
+0.638,0.892,0.343,0.478,0.469,0.064,0.331,0.455,0.464,0.523,
+0.398,0.681,0.833,0.687,0.365,0.595,0.878,1.020,0.573,0.776,
+0.623,0.089,0.326,0.517,0.477,0.591,0.390,0.656,0.051,0.086,
+0.038,0.052,0.061,0.115,0.069,0.060,0.050,0.022,0.047,0.049,
+0.042,0.090,0.044,0.058,0.490,0.705,0.428,0.481,0.066,0.130,
+0.067,0.068,0.639,0.084,0.360,0.491,0.395,0.731,0.479,0.677,
+0.453,0.381,0.322,0.457,0.710,0.968,0.707,0.713,0.632,0.065,
+0.449,0.614,0.530,0.559,0.707,0.933,0.833,0.535,0.362,0.632,
+0.627,0.573,0.303,0.432,0.604,0.055,0.228,0.345,0.552,0.467,
+0.382,0.640,0.655,0.732,0.511,0.616,0.650,1.008,0.499,0.593,
+0.453,0.057,0.300,0.456,0.374,0.596,0.434,0.579,0.467,0.608,
+0.425,0.540,0.039,0.070,0.040,0.055,0.436,0.054,0.369,0.469,
+0.386,0.623,0.681,0.842,0.575,0.516,0.369,0.636,0.508,0.613,
+0.438,0.693,0.638,0.069,0.407,0.638,0.704,0.783,0.960,1.649,
+1.707,1.302,0.668,1.450,1.077,0.749,0.453,0.829,1.309,0.116,
+0.424,0.659,1.022,0.845,0.429,1.018,1.475,1.387,0.533,0.927,
+1.020,0.883,0.644,0.730,0.920,0.115,0.574,0.751,0.646,0.932,
+0.473,0.851,0.756,0.990,0.603,0.927,0.101,0.125,0.097,0.162,
+0.611,0.096,0.412,0.566,0.595,1.057,0.603,0.865,0.850,0.622,
+0.423,0.960,1.230,0.961,0.631,0.881,0.717,0.083,0.467,0.752,
+0.903,0.863,0.811,1.765,0.087,0.081,0.033,0.068,0.101,0.109,
+0.054,0.075,0.157,0.016,0.041,0.050,0.073,0.090,0.047,0.092,
+0.077,0.119,0.036,0.079,0.113,0.121,0.110,0.086,0.076,0.031,
+0.071,0.079,0.053,0.092,0.041,0.068,0.049,0.091,0.065,0.070,
+0.019,0.039,0.032,0.024,0.067,0.030,0.117,0.104,0.045,0.105,
+0.078,0.074,0.077,0.057,0.033,0.063,0.408,0.206,0.109,0.130,
+0.073,0.016,0.061,0.070,0.070,0.067,0.066,0.117,0.853,0.716,
+0.337,0.626,0.744,1.091,0.474,0.643,0.818,0.127,0.400,0.561,
+0.545,0.640,0.408,0.730,0.069,0.144,0.037,0.046,0.079,0.288,
+0.066,0.061,0.063,0.024,0.048,0.052,0.049,0.092,0.053,0.067,
+0.450,0.727,0.371,0.422,0.052,0.092,0.049,0.052,0.693,0.102,
+0.292,0.447,0.382,0.716,0.424,0.516,0.431,0.420,0.271,0.421,
+0.610,0.824,0.438,0.549,0.908,0.097,0.580,0.713,0.487,0.620,
+0.582,0.868,0.833,0.571,0.302,0.640,0.577,0.459,0.236,0.382,
+0.710,0.065,0.267,0.477,0.743,0.556,0.313,0.806,1.006,1.023,
+0.414,0.635,1.185,1.184,0.536,0.789,0.821,0.101,0.526,0.726,
+0.653,0.880,0.503,0.788,0.921,0.744,0.467,0.576,0.061,0.076,
+0.048,0.057,0.643,0.081,0.404,0.606,0.506,0.969,0.519,0.759,
+0.732,0.522,0.361,0.669,0.599,0.604,0.388,0.583,0.877,0.079,
+0.627,0.926,0.900,1.119,0.855,1.450,1.652,0.964,0.842,1.566,
+0.924,0.612,0.402,0.759,0.876,0.081,0.369,0.761,1.090,0.777,
+0.473,1.287,1.108,0.751,0.422,0.919,0.702,0.485,0.365,0.685,
+0.576,0.054,0.295,0.569,0.588,0.501,0.322,0.784,0.753,0.661,
+0.449,0.818,0.059,0.054,0.038,0.101,0.564,0.053,0.283,0.500,
+0.679,0.661,0.501,0.819,1.023,0.664,0.623,1.562,0.722,0.524,
+0.428,0.958,0.671,0.060,0.356,0.741,1.205,0.772,0.732,2.218,
+1.255,0.866,0.453,0.946,0.957,0.773,0.446,0.663,1.038,0.110,
+0.440,0.689,0.806,0.879,0.537,0.964,0.954,0.824,0.335,0.704,
+1.045,0.707,0.509,0.651,0.728,0.094,0.437,0.691,0.626,0.705,
+0.397,0.670,0.507,0.639,0.397,0.642,0.056,0.077,0.058,0.085,
+0.663,0.078,0.469,0.584,0.638,0.906,0.846,0.856,0.596,0.431,
+0.353,0.810,1.040,0.854,0.582,1.082,0.656,0.065,0.427,0.660,
+0.710,0.646,0.674,1.222,0.956,0.598,0.338,0.613,0.835,0.726,
+0.441,0.646,0.807,0.102,0.387,0.633,0.750,0.802,0.467,0.912,
+0.061,0.057,0.031,0.050,0.047,0.081,0.041,0.048,0.045,9.19e-3,
+0.034,0.055,0.051,0.069,0.045,0.071,0.447,0.510,0.328,0.506,
+0.037,0.044,0.042,0.059,0.616,0.070,0.330,0.516,0.441,0.635,
+0.450,0.636,0.554,0.468,0.318,0.611,0.627,0.678,0.467,0.741,
+0.802,0.075,0.527,0.848,0.774,0.653,0.733,1.265,1.215,0.641,
+0.401,0.849,0.637,0.505,0.303,0.485,0.693,0.060,0.322,0.558,
+0.972,0.630,0.536,1.173,0.903,0.598,0.392,0.809,0.609,0.571,
+0.384,0.670,0.624,0.069,0.455,0.657,0.654,0.637,0.609,1.056,
+0.871,0.748,0.480,0.762,0.054,0.060,0.034,0.071,0.629,0.057,
+0.433,0.673,0.679,0.828,0.629,0.970,1.122,0.736,0.572,1.285,
+0.892,0.933,0.605,1.141,1.114,0.083,0.792,1.331,1.729,1.412,
+1.628,2.347,2.219,1.492,1.273,2.231,1.792,1.036,0.853,1.146,
+1.421,0.151,0.685,1.239,1.933,1.496,0.830,1.641,1.473,1.035,
+1.166,1.020,0.936,0.615,0.649,0.669,0.845,0.082,0.425,0.614,
+0.837,0.859,0.532,0.851,1.175,0.972,0.727,1.113,0.104,0.088,
+0.070,0.139,0.729,0.076,0.411,0.596,0.660,0.760,0.569,0.908,
+1.634,0.858,0.666,1.388,1.230,0.796,0.769,1.119,0.839,0.073,
+0.512,0.738,1.208,0.783,0.921,1.759,1.868,1.304,0.679,1.296,
+1.498,1.088,0.844,0.962,0.924,0.105,0.350,0.590,0.893,0.946,
+0.436,0.877,1.208,0.945,0.500,0.709,0.965,0.597,0.667,0.591,
+0.911,0.109,0.420,0.621,0.658,0.848,0.386,0.603,1.028,1.221,
+0.746,1.240,0.101,0.106,0.073,0.148,0.899,0.116,0.619,0.812,
+0.672,1.036,0.681,1.018,0.932,0.698,0.426,0.825,1.135,0.937,
+0.593,1.058,0.821,0.062,0.402,0.711,0.851,0.706,0.651,1.337,
+1.236,0.674,0.535,1.124,1.216,0.845,0.779,1.318,1.009,0.136,
+0.387,0.699,1.130,0.921,0.595,1.224,0.097,0.088,0.052,0.119,
+0.089,0.091,0.074,0.106,0.093,0.021,0.054,0.077,0.134,0.189,
+0.080,0.158,0.703,0.606,0.565,0.868,0.080,0.064,0.067,0.119,
+0.658,0.083,0.393,0.513,0.635,0.779,0.625,0.792,0.749,0.421,
+0.363,0.703,0.939,0.717,0.647,0.964,0.692,0.075,0.442,0.668,
+1.040,0.772,0.788,1.749,1.497,0.689,0.569,1.497,0.744,0.477,
+0.522,0.857,0.813,0.085,0.337,0.627,1.387,0.950,0.653,1.501,
+1.150,0.760,0.505,0.960,0.758,0.622,0.578,0.792,0.823,0.086,
+0.428,0.736,0.998,1.025,0.568,1.049,0.894,0.797,0.687,1.066,
+0.087,0.064,0.069,0.120,0.733,0.070,0.539,0.787,0.835,0.980,
+0.816,1.189,1.248,0.817,0.623,1.364,0.849,0.595,0.629,0.994,
+1.067,0.098,0.804,1.203,1.950,1.573,1.696,2.994,0.128,0.091,
+0.103,0.104,0.108,0.086,0.058,0.084,0.080,0.011,0.033,0.053,
+0.086,0.091,0.048,0.084,0.112,0.103,0.228,0.112,0.108,0.090,
+0.107,0.089,0.074,0.018,0.059,0.066,0.059,0.091,0.049,0.072,
+0.069,0.113,0.059,0.075,0.012,0.029,0.012,0.014,0.055,0.011,
+0.039,0.052,0.043,0.071,0.054,0.074,0.091,0.070,0.048,0.096,
+0.104,0.127,0.071,0.104,0.068,9.86e-3,0.050,0.072,0.084,0.071,
+0.084,0.137,0.095,0.099,0.044,0.062,0.096,0.093,0.062,0.056,
+0.054,0.013,0.028,0.037,0.046,0.063,0.036,0.046,0.101,0.115,
+0.057,0.070,0.176,0.097,0.136,0.086,0.093,0.039,0.051,0.056,
+0.062,0.106,0.041,0.055,0.075,0.108,0.056,0.075,0.013,0.032,
+0.020,0.015,0.079,0.031,0.059,0.059,0.049,0.107,0.069,0.077,
+0.066,0.063,0.032,0.056,0.094,0.105,0.063,0.075,0.072,0.012,
+0.043,0.071,0.054,0.062,0.052,0.088,0.065,0.056,0.035,0.081,
+0.075,0.088,0.081,0.087,0.072,0.020,0.039,0.053,0.053,0.082,
+0.043,0.072,7.69e-3,0.015,7.69e-3,0.025,0.012,0.019,0.023,0.014,
+0.013,0.015,0.016,0.012,8.44e-3,0.021,9.11e-3,0.011,0.058,0.073,
+0.099,0.086,0.012,0.021,0.030,0.017,0.073,0.023,0.068,0.072,
+0.051,0.097,0.072,0.077,0.065,0.039,0.038,0.062,0.087,0.098,
+0.093,0.090,0.074,0.016,0.064,0.076,0.066,0.072,0.080,0.125,
+0.095,0.077,0.056,0.104,0.065,0.066,0.056,0.069,0.065,9.44e-3,
+0.031,0.052,0.094,0.084,0.061,0.122,0.120,0.107,0.071,0.148,
+0.105,0.118,0.097,0.106,0.099,0.020,0.060,0.082,0.086,0.139,
+0.071,0.109,0.067,0.091,0.068,0.084,9.86e-3,0.012,0.011,0.012,
+0.070,0.013,0.066,0.087,0.070,0.099,0.096,0.116,0.098,0.077,
+0.055,0.100,0.077,0.077,0.061,0.089,0.100,0.011,0.081,0.116,
+0.127,0.129,0.136,0.209,1.730,1.173,0.708,1.151,1.268,0.875,
+0.701,0.865,0.945,0.093,0.383,0.614,0.822,0.744,0.490,0.829,
+1.136,1.065,0.770,0.842,1.327,0.883,2.351,1.483,0.753,0.106,
+0.595,0.694,0.578,0.797,0.591,0.902,0.892,1.055,0.719,1.266,
+0.120,0.131,0.134,0.224,0.841,0.156,0.502,0.670,0.676,1.014,
+0.610,0.859,0.898,0.569,0.439,0.977,0.810,0.738,0.634,0.986,
+0.802,0.085,0.628,0.849,0.952,0.758,1.145,1.586,0.082,0.080,
+0.048,0.080,0.134,0.109,0.154,0.133,0.052,0.010,0.041,0.061,
+0.045,0.066,0.035,0.070,0.082,0.074,0.129,0.094,0.263,0.146,
+0.996,0.463,0.079,0.036,0.097,0.087,0.043,0.084,0.071,0.068,
+0.053,0.089,0.051,0.068,0.015,0.022,0.030,0.023,0.069,0.026,
+0.068,0.074,0.047,0.094,0.054,0.064,0.073,0.055,0.030,0.076,
+0.097,0.105,0.091,0.128,0.069,0.011,0.051,0.085,0.065,0.067,
+0.070,0.109,0.772,0.640,0.327,0.476,0.815,1.025,0.663,0.746,
+0.634,0.112,0.370,0.525,0.457,0.595,0.414,0.751,0.056,0.085,
+0.040,0.050,0.068,0.125,0.138,0.082,0.057,0.020,0.058,0.053,
+0.043,0.091,0.051,0.074,0.638,0.845,0.489,0.592,0.075,0.102,
+0.102,0.091,0.612,0.092,0.242,0.406,0.391,0.640,0.507,0.640,
+0.491,0.434,0.287,0.420,0.639,0.739,0.633,0.687,0.621,0.082,
+0.474,0.592,0.486,0.570,0.590,0.935,0.762,0.545,0.365,0.605,
+0.601,0.684,0.382,0.442,0.520,0.070,0.388,0.531,0.516,0.512,
+0.338,0.722,0.851,0.822,0.450,0.589,0.901,1.579,0.915,0.664,
+0.633,0.087,0.498,0.637,0.543,0.813,0.478,0.738,0.953,0.946,
+0.552,0.799,0.150,0.130,0.085,0.095,0.945,0.115,0.871,0.955,
+0.618,1.021,0.766,0.924,0.737,0.505,0.370,0.687,0.796,0.736,
+0.524,0.759,0.816,0.083,0.688,0.920,0.842,0.905,0.899,1.414,
+1.598,0.926,0.565,1.114,0.978,0.566,0.439,0.636,0.931,0.088,
+0.329,0.643,1.093,0.877,0.473,1.288,1.135,0.716,0.519,0.716,
+1.250,0.394,0.528,0.549,0.571,0.049,0.296,0.591,0.600,0.546,
+0.345,0.623,0.891,0.756,0.454,0.909,0.088,0.058,0.051,0.114,
+0.657,0.061,0.325,0.599,0.695,0.750,0.822,1.090,1.168,0.679,
+0.523,1.156,0.828,0.557,0.479,0.949,0.719,0.064,0.362,0.714,
+1.375,0.921,0.872,1.967,1.471,0.949,0.582,1.047,1.649,0.841,
+0.783,0.940,0.736,0.079,0.389,0.675,0.746,0.775,0.399,0.885,
+1.591,0.953,0.647,0.857,4.827,1.063,2.183,1.642,0.830,0.098,
+0.473,0.728,0.781,0.713,0.461,0.769,0.886,0.932,0.507,0.941,
+0.153,0.094,0.082,0.128,0.790,0.093,0.505,0.886,0.672,1.023,
+0.670,1.071,0.940,0.701,0.466,0.996,1.161,1.007,0.724,1.561,
+0.821,0.069,0.470,0.823,0.891,0.789,0.665,1.404,0.985,0.703,
+0.407,0.725,0.959,0.839,0.702,0.919,0.918,0.171,0.464,1.362,
+0.706,0.847,0.574,1.273,0.068,0.066,0.034,0.068,0.124,0.076,
+0.081,0.086,0.058,0.013,0.041,0.094,0.061,0.085,0.049,0.090,
+0.719,0.848,0.515,0.793,0.072,0.072,0.064,0.098,1.086,0.104,
+0.483,0.745,0.631,0.881,0.726,0.957,0.793,0.582,0.464,0.792,
+0.933,0.830,0.845,1.278,0.901,0.089,0.648,1.037,0.979,0.791,
+1.021,1.509,1.294,0.633,0.449,0.972,0.656,0.483,0.520,0.597,
+0.686,0.066,0.358,0.734,0.847,0.644,0.510,1.248,1.013,0.761,
+0.390,0.820,0.760,0.640,0.543,0.598,0.622,0.055,0.439,0.770,
+0.604,0.643,0.521,0.901,0.975,0.989,0.602,1.084,0.077,0.078,
+0.054,0.103,1.064,0.098,0.731,1.256,0.885,1.187,0.989,1.479,
+1.365,0.848,0.685,1.630,1.073,1.028,0.858,1.443,1.294,0.099,
+0.949,1.651,1.769,1.473,1.510,2.364,2.510,1.409,1.159,2.561,
+1.489,0.806,0.618,1.018,1.409,0.126,0.483,0.986,2.397,1.735,
+0.777,1.828,1.403,0.876,0.619,0.878,0.749,0.476,0.359,0.482,
+0.927,0.079,0.409,0.553,1.139,1.257,0.593,1.030,1.168,0.916,
+0.598,1.123,0.087,0.068,0.052,0.117,0.795,0.066,0.318,0.524,
+0.861,0.872,0.560,1.070,2.082,1.053,0.737,1.654,1.078,0.702,
+0.561,1.057,1.004,0.071,0.451,0.761,1.555,0.971,0.930,2.270,
+1.835,0.894,0.464,1.144,2.798,0.749,0.442,0.714,0.853,0.081,
+0.247,0.532,0.992,0.821,0.350,0.821,0.928,0.614,0.299,0.542,
+0.611,0.386,0.254,0.353,0.719,0.057,0.255,0.487,0.753,0.855,
+0.355,0.581,0.757,0.700,0.400,0.751,0.084,0.057,0.035,0.063,
+0.753,0.059,0.293,0.484,0.703,1.006,0.438,0.749,0.932,0.796,
+0.378,0.840,0.696,0.547,0.303,0.581,0.634,0.046,0.361,0.570,
+0.875,0.675,0.566,1.293,1.078,0.526,0.494,0.905,0.964,0.499,
+0.485,0.864,0.732,0.079,0.238,0.487,1.022,0.742,0.427,1.137,
+0.064,0.049,0.033,0.068,0.057,0.037,0.031,0.057,0.049,6.94e-3,
+0.022,0.044,0.102,0.108,0.045,0.110,0.582,0.515,0.353,0.603,
+0.052,0.040,0.033,0.063,0.598,0.057,0.231,0.344,0.673,0.700,
+0.405,0.623,0.623,0.426,0.358,0.695,0.659,0.564,0.410,0.627,
+0.577,0.050,0.365,0.553,0.852,0.648,0.610,1.260,1.654,0.685,
+0.582,1.524,0.763,0.425,0.480,0.970,0.935,0.085,0.343,0.711,
+1.992,1.044,0.685,1.893,0.957,0.559,0.387,0.788,0.620,0.361,
+0.343,0.537,0.646,0.049,0.323,0.571,1.042,0.932,0.515,1.112,
+0.779,0.667,0.528,0.967,0.060,0.042,0.039,0.077,0.655,0.048,
+0.381,0.604,0.890,0.922,0.722,1.169,1.427,0.818,0.724,1.624,
+0.842,0.609,0.559,0.961,1.083,0.089,1.275,1.373,2.030,1.674,
+1.652,3.507,2.050,1.164,1.022,1.626,1.131,0.798,0.574,0.828,
+0.973,0.091,0.364,0.707,1.299,1.053,0.537,1.242,1.381,0.925,
+1.270,1.032,0.926,0.709,0.537,0.626,0.830,0.088,0.635,0.813,
+0.707,0.935,0.459,0.933,0.908,0.957,0.578,0.964,0.079,0.108,
+0.062,0.126,0.588,0.066,0.353,0.623,0.674,0.792,0.576,1.036,
+1.151,0.713,0.544,1.197,1.053,0.890,0.611,1.159,0.676,0.060,
+0.394,0.660,1.014,0.738,0.749,1.645,1.418,0.899,0.439,0.897,
+1.064,0.714,0.474,0.558,0.598,0.062,0.214,0.409,0.640,0.595,
+0.336,0.665,1.091,0.958,0.404,0.694,0.888,0.555,0.411,0.487,
+0.605,0.077,0.300,0.443,0.626,0.724,0.328,0.578,0.737,0.860,
+0.574,0.844,0.080,0.115,0.130,0.114,0.642,0.089,0.373,0.536,
+0.689,0.923,0.627,1.007,0.801,0.607,0.355,0.738,0.992,0.895,
+0.541,0.689,0.575,0.056,0.319,0.587,0.897,0.833,0.579,1.139,
+0.805,0.486,0.338,0.708,0.711,0.542,0.463,0.796,0.563,0.084,
+0.246,0.426,0.598,0.593,0.338,0.795,0.045,0.051,0.030,0.080,
+0.045,0.053,0.043,0.060,0.046,0.013,0.033,0.042,0.056,0.086,
+0.039,0.069,0.612,0.662,0.523,0.650,0.061,0.066,0.093,0.080,
+0.571,0.077,0.332,0.632,0.602,0.911,0.520,0.798,0.647,0.426,
+0.396,0.789,0.771,0.784,0.883,0.902,0.605,0.054,0.381,0.636,
+0.752,0.652,0.685,1.230,1.028,0.590,0.446,0.888,0.594,0.429,
+0.423,0.645,0.702,0.063,0.290,0.500,1.019,0.698,0.476,1.140,
+0.896,0.722,0.487,0.947,0.651,0.598,0.505,0.677,0.638,0.072,
+0.357,0.629,0.778,1.080,0.483,0.936,0.656,0.768,0.532,0.861,
+0.059,0.055,0.045,0.072,0.587,0.058,0.431,0.811,0.680,0.964,
+0.681,1.098,1.015,0.687,0.553,1.015,0.788,0.707,0.520,0.828,
+0.871,0.071,0.616,1.079,1.313,1.239,1.146,2.231,1.390,0.927,
+0.627,1.245,0.830,0.612,0.394,0.658,0.834,0.073,0.328,0.607,
+0.987,0.745,0.429,0.942,0.975,0.731,0.414,0.667,0.729,0.619,
+0.541,0.517,0.644,0.068,0.426,0.586,0.577,0.751,0.475,0.772,
+0.880,0.969,0.589,1.129,0.092,0.095,0.067,0.147,0.779,0.086,
+0.515,0.688,0.664,0.940,0.591,1.005,0.991,0.634,0.462,1.041,
+0.826,0.669,0.507,0.848,0.950,0.084,0.562,0.916,1.185,0.904,
+0.999,1.974,0.065,0.057,0.031,0.069,0.077,0.059,0.039,0.057,
+0.045,5.60e-3,0.024,0.043,0.052,0.058,0.033,0.075,0.054,0.053,
+0.027,0.042,0.079,0.075,0.114,0.080,0.049,0.010,0.056,0.062,
+0.038,0.061,0.035,0.056,0.046,0.078,0.032,0.052,7.85e-3,0.012,
+6.77e-3,7.60e-3,0.049,0.014,0.040,0.048,0.045,0.075,0.041,0.066,
+0.067,0.060,0.035,0.072,0.085,0.076,0.046,0.083,0.069,0.010,
+0.035,0.067,0.075,0.072,0.061,0.128,0.787,0.604,0.354,0.535,
+0.634,0.659,0.457,0.594,0.584,0.085,0.290,0.468,0.529,0.604,
+0.435,1.181,0.046,0.065,0.022,0.038,0.040,0.058,0.041,0.035,
+0.041,0.010,0.032,0.035,0.048,0.078,0.043,0.143,0.682,1.951,
+0.485,0.665,0.054,0.104,0.057,0.063,0.690,0.100,0.309,0.448,
+0.440,0.789,0.472,0.707,0.586,0.729,0.350,0.529,0.620,0.709,
+0.519,0.630,0.791,0.080,0.471,0.649,0.606,0.654,0.615,1.150,
+0.877,0.552,0.369,0.751,0.613,0.485,0.436,0.560,0.588,0.064,
+0.358,0.586,0.751,0.635,0.458,1.110,0.876,0.670,0.406,0.697,
+0.644,0.658,0.512,0.503,0.599,0.059,0.398,0.643,0.693,0.864,
+0.555,1.248,0.997,1.094,0.553,0.898,0.186,0.091,0.071,0.081,
+0.876,0.085,0.563,0.868,0.783,1.131,0.774,1.212,0.919,0.632,
+0.524,0.898,0.869,0.773,0.594,0.717,1.071,0.090,0.782,1.158,
+1.164,1.140,1.190,2.140,2.283,0.828,0.652,1.617,1.121,0.609,
+0.452,0.908,1.204,0.100,0.411,0.845,1.739,1.035,0.567,1.622,
+1.114,0.573,0.343,0.691,0.686,0.415,0.325,0.504,0.669,0.050,
+0.327,0.594,0.596,0.551,0.277,0.747,0.991,0.851,0.543,1.220,
+0.082,0.084,0.050,0.146,0.810,0.065,0.372,0.741,0.882,0.890,
+0.560,1.262,1.436,0.746,0.631,1.632,0.837,0.562,0.509,1.041,
+0.940,0.073,0.488,1.117,1.669,1.087,0.985,3.122,1.388,0.809,
+0.485,1.053,0.930,0.595,0.422,0.654,0.683,0.061,0.323,0.612,
+0.841,0.735,0.401,1.009,1.041,0.694,0.316,0.681,0.990,0.566,
+0.450,0.618,0.625,0.047,0.369,0.612,0.591,0.608,0.353,0.779,
+0.756,0.643,0.372,0.753,0.051,0.048,0.030,0.063,0.675,0.056,
+0.348,0.662,0.662,0.753,0.555,1.015,0.977,0.696,0.510,1.054,
+0.849,0.625,0.443,0.954,0.797,0.054,0.433,0.841,1.054,0.830,
+0.762,1.814,1.298,0.811,0.683,0.951,0.936,0.761,0.698,0.999,
+0.947,0.117,0.417,0.907,0.945,0.880,0.683,1.730,0.074,0.080,
+0.035,0.065,0.056,0.053,0.046,0.061,0.051,6.85e-3,0.032,0.064,
+0.074,0.083,0.042,0.132,0.840,1.037,0.539,0.907,0.054,0.063,
+0.044,0.093,0.933,0.087,0.463,0.788,0.719,0.929,0.752,1.345,
+1.087,0.911,0.627,1.181,1.010,0.912,0.843,1.421,1.246,0.103,
+0.775,1.278,1.205,0.968,1.113,2.383,2.360,1.025,0.824,1.954,
+1.039,0.692,0.611,0.989,1.434,0.105,0.561,1.178,1.904,1.220,
+0.968,2.790,1.735,1.161,0.650,1.295,1.118,0.952,0.696,0.893,
+1.186,0.083,0.655,1.543,1.240,1.150,0.780,1.990,1.512,1.545,
+0.955,1.792,0.100,0.086,0.067,0.133,1.526,0.104,0.900,1.895,
+1.612,1.683,1.427,2.693,2.895,1.710,1.378,3.254,1.832,1.334,
+1.324,2.260,2.482,0.139,1.705,3.397,3.563,2.278,2.519,4.163,
+7.288,2.694,2.572,6.973,2.669,1.374,1.295,1.917,2.892,0.250,
+1.079,1.934,4.344,2.797,1.775,3.650,3.244,1.678,1.162,1.897,
+1.741,0.951,0.911,1.015,1.751,0.124,0.895,1.250,1.709,1.298,
+1.000,1.748,2.191,1.279,1.343,2.078,0.175,0.132,0.110,0.241,
+1.206,0.093,0.601,0.978,1.225,1.128,0.924,1.392,3.836,1.510,
+1.725,3.739,2.429,1.656,1.333,2.279,1.742,0.124,0.863,1.437,
+2.648,1.435,1.541,3.029,2.893,1.264,0.772,1.408,1.230,0.733,
+0.607,0.796,1.016,0.097,0.428,0.665,1.102,1.011,0.611,1.046,
+1.660,0.908,0.592,0.842,0.851,0.448,0.459,0.573,0.973,0.087,
+0.524,0.790,0.814,0.691,0.544,0.778,1.055,0.787,0.686,1.216,
+0.091,0.065,0.120,0.251,0.967,0.068,0.423,0.602,0.631,0.702,
+0.561,0.729,1.219,0.690,0.572,1.140,1.060,0.769,0.717,1.126,
+0.927,0.063,0.514,0.882,1.021,0.737,0.722,1.520,2.139,0.671,
+0.798,1.260,1.211,0.686,0.804,0.932,1.201,0.146,0.494,0.802,
+1.374,1.288,0.700,1.438,0.157,0.091,0.058,0.109,0.102,0.073,
+0.065,0.081,0.096,0.014,0.059,0.077,0.161,0.183,0.089,0.161,
+0.901,0.632,0.769,0.954,0.075,0.052,0.056,0.092,0.687,0.059,
+0.409,0.550,0.670,0.675,0.831,0.784,0.980,0.522,0.644,1.050,
+1.046,0.660,0.682,0.938,1.043,0.081,0.571,0.942,1.047,0.816,
+0.927,1.616,3.208,1.064,0.990,2.141,1.160,0.629,0.958,0.956,
+1.325,0.118,0.531,0.893,2.051,1.389,0.924,2.337,2.064,1.209,
+0.830,1.247,1.375,0.824,0.866,0.902,1.175,0.087,0.645,0.915,
+1.571,1.398,0.848,1.574,1.101,0.801,0.776,1.437,0.094,0.061,
+0.066,0.117,0.804,0.058,0.564,0.745,0.910,0.826,0.816,1.070,
+1.969,0.908,0.964,2.152,1.013,0.581,0.728,1.112,1.796,0.122,
+0.851,1.460,2.263,1.566,1.565,3.494,4.518,2.149,1.612,3.066,
+1.961,1.140,1.060,1.350,1.646,0.159,0.656,1.270,2.011,1.699,
+1.041,2.089,2.456,1.535,0.941,1.468,1.383,0.883,0.859,0.938,
+1.225,0.139,0.731,1.063,1.041,1.066,0.735,1.357,1.325,1.223,
+1.161,1.658,0.163,0.185,0.174,0.364,0.820,0.076,0.505,0.691,
+0.698,0.861,0.695,1.093,1.986,0.933,0.963,1.791,2.374,1.413,
+1.145,1.701,0.919,0.076,0.525,0.884,1.427,0.912,1.239,2.272,
+2.107,1.445,0.757,1.291,1.180,0.876,0.800,0.957,0.872,0.085,
+0.396,0.657,0.828,0.850,0.517,0.956,1.251,0.937,0.573,0.794,
+0.716,0.329,0.544,0.631,0.793,0.087,0.482,0.719,0.578,0.646,
+0.529,0.789,1.096,1.121,2.291,3.931,0.174,0.179,1.137,1.952,
+0.882,0.120,0.587,0.826,0.538,0.956,0.793,1.090,1.003,0.641,
+0.705,1.288,1.106,0.871,1.970,2.863,0.687,0.058,0.395,0.671,
+0.705,0.690,0.580,1.346,1.785,1.000,0.828,1.227,1.160,0.942,
+1.198,1.109,1.082,0.132,0.552,0.866,0.992,1.153,0.758,1.318,
+0.116,0.140,0.073,0.096,0.076,0.089,0.105,0.087,0.080,0.018,
+0.077,0.089,0.094,0.167,0.084,0.133,1.011,0.894,0.953,1.136,
+0.084,0.096,0.118,0.142,0.780,0.098,0.597,0.699,0.648,1.161,
+0.971,0.998,1.006,0.590,0.623,0.932,1.012,0.879,0.882,1.090,
+0.950,0.094,0.677,1.029,0.748,0.786,0.919,1.467,1.971,1.106,
+0.937,1.521,0.972,0.687,0.733,0.951,0.993,0.085,0.440,0.794,
+1.472,1.043,0.736,1.912,1.686,1.660,0.850,1.177,1.045,0.861,
+1.215,1.161,0.908,0.086,0.643,0.969,1.105,1.172,0.779,1.498,
+1.041,0.889,0.956,1.470,0.076,0.074,0.090,0.159,0.689,0.059,
+0.581,0.752,0.800,0.877,0.827,1.156,1.451,0.801,0.779,1.334,
+1.079,0.763,0.698,1.162,1.181,0.089,0.774,1.398,1.593,1.357,
+1.389,2.721,2.755,1.480,1.294,2.454,1.002,0.731,0.564,0.862,
+1.080,0.118,0.501,0.838,1.428,1.246,0.683,1.457,2.047,1.343,
+0.960,1.351,1.064,0.779,0.707,0.876,1.366,0.119,0.798,1.018,
+1.186,1.134,0.739,1.172,1.793,1.548,4.294,2.976,0.155,0.151,
+0.227,0.373,1.009,0.101,0.674,0.916,0.787,1.082,0.782,1.173,
+1.760,0.994,1.720,3.010,1.162,1.055,1.161,1.555,1.076,0.109,
+0.696,1.187,1.518,1.165,1.323,3.019,0.185,0.142,0.083,0.163,
+0.125,0.112,0.072,0.100,0.103,0.016,0.053,0.077,0.115,0.139,
+0.080,0.129,0.166,0.137,0.080,0.117,0.126,0.107,0.086,0.087,
+0.133,0.021,0.095,0.103,0.111,0.147,0.081,0.119,0.118,0.140,
+0.207,0.217,0.012,0.022,0.032,0.047,0.116,0.018,0.085,0.129,
+0.083,0.138,0.095,0.114,0.203,0.137,0.155,0.341,0.207,0.244,
+0.275,0.388,0.131,0.019,0.094,0.157,0.192,0.155,0.153,0.316,
+1.194,0.685,0.585,0.820,0.603,0.570,0.514,0.580,0.881,0.137,
+0.572,0.651,0.749,0.935,0.559,0.880,0.094,0.091,0.052,0.071,
+0.048,0.072,0.049,0.042,0.068,0.015,0.058,0.064,0.088,0.132,
+0.067,0.096,0.602,0.757,0.624,0.657,0.052,0.102,0.069,0.079,
+0.525,0.076,0.390,0.422,0.372,0.555,0.557,0.561,0.643,0.434,
+0.500,0.637,0.560,0.695,0.578,0.854,0.603,0.066,0.491,0.592,
+0.617,0.547,0.595,0.873,1.382,0.630,0.548,0.839,0.602,0.394,
+0.336,0.416,0.712,0.068,0.358,0.589,0.935,0.664,0.441,1.048,
+1.462,0.927,0.623,0.938,0.822,0.753,0.573,0.602,0.875,0.078,
+0.609,0.982,1.092,1.067,0.695,1.308,0.790,0.730,0.696,0.829,
+0.074,0.071,0.064,0.077,0.941,0.068,0.633,0.648,0.699,0.771,
+0.626,0.916,1.412,0.705,0.724,0.975,0.824,0.694,0.568,0.806,
+0.980,0.085,0.724,1.035,1.431,1.037,1.051,1.904,3.955,1.698,
+1.490,3.315,1.248,0.737,0.708,1.021,1.412,0.136,0.608,1.062,
+2.404,1.552,1.017,2.548,1.795,0.882,0.705,1.358,0.893,0.497,
+0.508,0.941,1.125,0.079,0.499,0.822,1.370,0.834,0.612,1.232,
+1.814,1.240,1.803,3.314,0.132,0.111,0.117,0.337,0.949,0.083,
+0.557,0.964,1.054,0.997,0.704,1.460,2.883,1.246,2.197,6.327,
+1.497,0.996,1.242,2.751,1.245,0.087,0.748,1.463,2.507,1.466,
+1.633,4.940,2.508,1.254,0.843,1.791,1.262,0.821,0.596,0.886,
+1.117,0.100,0.511,0.909,1.186,0.962,0.677,1.418,1.674,0.899,
+0.571,1.180,0.926,0.602,0.505,0.764,1.184,0.116,0.579,0.918,
+1.008,0.962,0.553,0.983,1.362,1.007,1.074,1.795,0.089,0.083,
+0.102,0.190,1.060,0.079,0.529,0.908,0.992,1.016,0.703,1.198,
+1.952,0.930,1.123,2.666,1.448,1.076,1.489,2.014,1.106,0.077,
+0.618,1.193,1.514,1.104,1.084,2.424,1.671,0.779,0.637,1.068,
+0.994,0.624,0.619,0.897,1.116,0.121,0.564,0.893,1.157,0.957,
+0.839,1.518,0.114,0.084,0.054,0.103,0.059,0.057,0.046,0.068,
+0.082,0.012,0.056,0.083,0.126,0.133,0.082,0.142,0.841,0.761,
+0.620,1.009,0.059,0.062,0.053,0.096,0.777,0.071,0.496,0.691,
+0.690,0.793,0.827,1.060,1.046,0.607,0.703,1.314,1.005,0.781,
+0.826,1.258,1.130,0.079,0.773,1.225,1.200,0.905,1.162,2.048,
+3.065,1.142,0.962,2.026,1.125,0.796,0.672,0.924,1.321,0.108,
+0.640,1.086,2.191,1.292,1.128,2.884,1.578,0.845,0.644,1.297,
+0.811,0.613,0.562,0.814,1.047,0.073,0.682,1.194,1.571,1.191,
+0.846,1.866,1.631,1.198,1.134,1.941,0.115,0.084,0.080,0.169,
+1.330,0.091,1.212,1.444,1.607,1.498,1.347,2.292,3.798,1.643,
+1.652,3.959,1.920,1.363,1.362,2.501,2.655,0.143,1.972,3.429,
+5.270,2.915,3.430,6.384,0.450,0.195,0.178,0.336,0.180,0.116,
+0.099,0.136,0.166,0.017,0.078,0.118,0.207,0.182,0.104,0.192,
+0.232,0.144,0.104,0.150,0.139,0.097,0.092,0.096,0.133,0.014,
+0.087,0.111,0.128,0.122,0.102,0.164,0.136,0.105,0.094,0.138,
+0.013,9.61e-3,0.012,0.020,0.075,6.52e-3,0.048,0.064,0.066,0.076,
+0.072,0.109,0.198,0.097,0.097,0.201,0.155,0.108,0.102,0.155,
+0.100,9.61e-3,0.068,0.108,0.139,0.103,0.119,0.266,0.216,0.121,
+0.092,0.141,0.126,0.094,0.066,0.087,0.103,0.015,0.065,0.081,
+0.097,0.108,0.070,0.107,0.157,0.112,0.067,0.092,0.098,0.065,
+0.068,0.087,0.115,0.017,0.088,0.114,0.095,0.100,0.090,0.100,
+0.083,0.082,0.058,0.085,0.011,0.011,0.013,0.015,0.094,9.78e-3,
+0.049,0.069,0.057,0.091,0.066,0.072,0.096,0.065,0.051,0.081,
+0.107,0.081,0.068,0.097,0.086,8.94e-3,0.060,0.086,0.084,0.079,
+0.087,0.148,0.142,0.077,0.066,0.097,0.096,0.068,0.078,0.089,
+0.089,0.017,0.051,0.071,0.083,0.101,0.072,0.132,0.013,0.017,
+0.013,0.011,0.013,0.014,0.013,0.012,0.012,3.76e-3,0.013,0.014,
+0.012,0.027,0.014,0.021,0.058,0.061,0.064,0.072,7.44e-3,0.011,
+9.69e-3,0.011,0.069,0.012,0.047,0.058,0.050,0.065,0.079,0.081,
+0.066,0.042,0.058,0.077,0.085,0.068,0.076,0.088,0.080,9.44e-3,
+0.061,0.082,0.076,0.072,0.095,0.140,0.196,0.082,0.065,0.154,
+0.090,0.063,0.067,0.094,0.104,0.014,0.051,0.084,0.144,0.117,
+0.073,0.189,0.165,0.117,0.096,0.133,0.122,0.105,0.101,0.110,
+0.107,0.012,0.083,0.118,0.120,0.140,0.096,0.196,0.088,0.066,
+0.087,0.142,9.28e-3,8.44e-3,0.011,0.015,0.085,7.35e-3,0.049,0.073,
+0.071,0.087,0.119,0.127,0.131,0.070,0.087,0.177,0.091,0.057,
+0.079,0.115,0.131,0.011,0.107,0.139,0.165,0.146,0.174,0.334,
+0.296,0.164,0.134,0.206,0.164,0.121,0.101,0.125,0.116,0.013,
+0.068,0.095,0.137,0.125,0.098,0.144,0.199,0.137,0.095,0.122,
+0.142,0.111,0.122,0.095,0.116,0.017,0.086,0.101,0.079,0.093,
+0.101,0.127,0.086,0.097,0.081,0.108,0.011,0.015,0.011,0.019,
+0.058,8.69e-3,0.047,0.054,0.051,0.074,0.063,0.090,0.111,0.061,
+0.065,0.115,0.126,0.101,0.080,0.112,0.062,8.02e-3,0.049,0.074,
+0.088,0.067,0.086,0.184,0.177,0.139,0.084,0.110,0.123,0.132,
+0.085,0.079,0.087,0.014,0.050,0.072,0.071,0.084,0.058,0.095,
+0.127,0.117,0.065,0.081,0.089,0.049,0.073,0.073,0.091,0.022,
+0.074,0.106,0.068,0.094,0.067,0.112,0.076,0.099,0.108,0.166,
+0.011,0.019,0.043,0.061,0.081,0.021,0.049,0.067,0.044,0.098,
+0.076,0.090,0.068,0.053,0.048,0.077,0.081,0.087,0.094,0.136,
+0.062,8.86e-3,0.042,0.070,0.062,0.070,0.059,0.118,0.145,0.088,
+0.073,0.088,0.117,0.106,0.135,0.092,0.093,0.018,0.063,0.085,
+0.076,0.098,0.076,0.125,0.015,0.015,0.012,0.013,0.013,0.021,
+0.025,0.012,0.012,6.85e-3,0.020,0.016,8.27e-3,0.023,0.013,0.015,
+0.081,0.104,0.087,0.097,0.013,0.033,0.021,0.014,0.087,0.017,
+0.070,0.070,0.050,0.103,0.089,0.095,0.067,0.051,0.051,0.067,
+0.099,0.106,0.116,0.100,0.094,0.013,0.074,0.093,0.067,0.073,
+0.107,0.144,0.162,0.101,0.081,0.140,0.093,0.073,0.083,0.093,
+0.087,9.94e-3,0.050,0.076,0.120,0.103,0.073,0.183,0.172,0.154,
+0.096,0.110,0.105,0.110,0.162,0.124,0.092,0.014,0.080,0.109,
+0.090,0.118,0.087,0.145,0.085,0.082,0.084,0.110,6.52e-3,0.010,
+9.61e-3,0.011,0.062,7.52e-3,0.060,0.079,0.066,0.086,0.090,0.107,
+0.108,0.064,0.068,0.111,0.083,0.070,0.065,0.105,0.096,0.011,
+0.073,0.128,0.135,0.159,0.155,0.288,0.183,0.126,0.087,0.209,
+0.088,0.069,0.052,0.092,0.093,9.86e-3,0.045,0.065,0.094,0.086,
+0.056,0.101,0.163,0.127,0.082,0.108,0.126,0.088,0.088,0.093,
+0.124,0.018,0.120,0.113,0.088,0.106,0.085,0.112,0.101,0.113,
+0.169,0.161,0.013,0.018,0.025,0.027,0.087,0.014,0.062,0.091,
+0.055,0.091,0.062,0.095,0.097,0.068,0.091,0.175,0.093,0.089,
+0.114,0.151,0.087,0.011,0.069,0.113,0.112,0.091,0.109,0.243,
+9.86e-3,0.012,6.35e-3,0.011,0.012,0.014,9.44e-3,8.36e-3,0.012,3.59e-3,
+6.60e-3,7.60e-3,8.02e-3,0.013,7.77e-3,0.011,0.014,0.020,0.010,0.010,
+0.026,0.021,0.019,0.013,0.014,0.012,0.021,0.018,8.94e-3,0.018,
+0.012,0.012,7.60e-3,0.014,0.016,0.012,3.09e-3,8.19e-3,0.014,7.02e-3,
+0.019,9.02e-3,0.016,0.025,7.44e-3,0.020,0.013,0.013,9.36e-3,7.60e-3,
+8.69e-3,0.017,0.017,0.018,0.025,0.030,0.012,3.51e-3,0.013,0.014,
+0.010,0.013,0.012,0.023,0.099,0.079,0.056,0.074,0.071,0.095,
+0.070,0.075,0.088,0.020,0.102,0.110,0.064,0.090,0.079,0.109,
+9.11e-3,0.016,8.94e-3,7.02e-3,0.010,0.025,0.016,8.44e-3,0.011,7.77e-3,
+0.017,0.014,9.53e-3,0.019,0.013,0.012,0.062,0.153,0.086,0.077,
+0.012,0.061,0.021,0.013,0.069,0.021,0.054,0.059,0.040,0.087,
+0.071,0.072,0.052,0.049,0.047,0.078,0.060,0.140,0.081,0.177,
+0.081,0.016,0.094,0.095,0.055,0.064,0.083,0.122,0.126,0.094,
+0.054,0.094,0.060,0.054,0.038,0.050,0.085,0.012,0.054,0.069,
+0.082,0.082,0.054,0.121,0.127,0.113,0.072,0.095,0.102,0.107,
+0.076,0.079,0.099,0.018,0.102,0.133,0.095,0.124,0.099,0.149,
+0.073,0.089,0.073,0.083,7.27e-3,0.014,9.36e-3,0.010,0.089,0.011,
+0.073,0.085,0.062,0.098,0.079,0.107,0.100,0.069,0.063,0.107,
+0.069,0.080,0.060,0.098,0.108,0.012,0.101,0.119,0.127,0.121,
+0.143,0.227,0.361,0.191,0.152,0.315,0.198,0.110,0.096,0.212,
+0.214,0.020,0.084,0.165,0.228,0.168,0.110,0.260,0.212,0.123,
+0.092,0.155,0.134,0.078,0.078,0.137,0.143,0.013,0.087,0.121,
+0.144,0.107,0.083,0.162,0.167,0.116,0.136,0.259,0.015,0.013,
+0.013,0.041,0.119,0.011,0.073,0.115,0.101,0.107,0.089,0.177,
+0.239,0.122,0.216,0.616,0.155,0.108,0.132,0.377,0.175,0.016,
+0.090,0.225,0.265,0.170,0.177,0.604,0.323,0.199,0.128,0.245,
+0.184,0.148,0.114,0.151,0.182,0.029,0.114,0.179,0.157,0.178,
+0.119,0.214,0.264,0.171,0.118,0.187,0.203,0.132,0.118,0.161,
+0.203,0.028,0.153,0.197,0.158,0.186,0.121,0.186,0.160,0.168,
+0.141,0.228,0.012,0.021,0.022,0.032,0.196,0.020,0.108,0.175,
+0.129,0.169,0.127,0.184,0.200,0.115,0.153,0.358,0.186,0.160,
+0.262,0.513,0.170,0.018,0.124,0.216,0.191,0.167,0.182,0.348,
+0.150,0.084,0.068,0.108,0.097,0.085,0.083,0.108,0.118,0.019,
+0.093,0.126,0.103,0.106,0.103,0.165,0.013,0.010,8.36e-3,0.013,
+0.011,0.012,0.012,0.011,0.011,2.67e-3,0.012,0.014,0.015,0.019,
+0.013,0.018,0.084,0.099,0.084,0.106,8.36e-3,0.013,0.010,0.015,
+0.108,0.016,0.072,0.099,0.071,0.108,0.106,0.138,0.101,0.067,
+0.073,0.138,0.115,0.099,0.106,0.174,0.163,0.013,0.115,0.171,
+0.132,0.108,0.171,0.269,0.293,0.141,0.105,0.203,0.129,0.106,
+0.081,0.121,0.144,0.017,0.083,0.140,0.192,0.137,0.117,0.299,
+0.230,0.110,0.088,0.146,0.107,0.094,0.100,0.119,0.123,0.013,
+0.131,0.159,0.164,0.145,0.128,0.242,0.150,0.127,0.123,0.204,
+0.011,9.86e-3,8.69e-3,0.021,0.148,0.014,0.116,0.162,0.138,0.170,
+0.159,0.249,0.298,0.151,0.154,0.368,0.184,0.138,0.153,0.262,
+0.224,0.018,0.220,0.344,0.414,0.305,0.384,0.588,3.041,1.296,
+1.492,2.335,1.257,0.812,0.775,0.972,1.222,0.109,0.601,0.931,
+1.630,1.231,0.755,1.507,1.391,0.891,0.589,0.865,0.890,0.569,
+0.536,0.558,0.890,0.071,0.497,0.569,0.846,0.804,0.544,0.850,
+0.957,0.772,0.642,0.983,0.090,0.064,0.062,0.117,0.728,0.059,
+0.402,0.562,0.587,0.626,0.551,0.807,1.210,0.537,0.544,1.126,
+0.890,0.521,0.483,0.802,0.657,0.050,0.446,0.632,0.973,0.524,
+0.754,1.590,1.652,1.010,0.563,1.050,1.014,0.892,0.525,0.654,
+0.836,0.076,0.359,0.543,0.828,0.800,0.420,0.783,1.164,0.852,
+0.454,0.595,0.801,0.481,0.504,0.507,1.014,0.089,0.571,0.709,
+0.690,0.674,0.423,0.646,0.894,0.839,0.696,0.835,0.086,0.078,
+0.075,0.105,0.801,0.092,0.530,0.771,0.709,0.872,0.762,0.791,
+0.779,0.525,0.501,0.656,0.844,0.618,0.485,0.722,0.687,0.055,
+0.418,0.638,0.759,0.613,0.629,1.227,1.581,0.709,0.579,1.228,
+1.222,0.782,0.733,1.080,1.132,0.132,0.736,0.935,1.105,1.062,
+0.757,1.784,0.132,0.123,0.081,0.115,0.119,0.099,0.101,0.114,
+0.114,0.021,0.258,0.130,0.155,0.244,0.122,0.235,0.852,0.736,
+1.110,1.107,0.086,0.062,0.098,0.119,0.741,0.083,0.558,0.670,
+0.621,0.824,0.826,0.921,0.708,0.451,0.577,0.746,0.985,0.678,
+0.919,1.004,0.740,0.067,0.549,0.832,0.948,0.696,0.957,1.371,
+1.654,0.639,0.539,1.152,0.793,0.486,0.467,0.640,0.854,0.094,
+0.444,0.721,1.336,1.167,0.615,1.666,1.165,0.815,0.556,0.884,
+0.816,0.577,0.593,0.664,0.819,0.078,0.847,1.024,1.019,1.210,
+0.655,1.420,0.841,0.783,0.876,1.077,0.081,0.058,0.074,0.112,
+0.715,0.062,0.557,0.794,0.852,0.943,1.023,1.314,1.168,0.632,
+0.658,1.342,0.779,0.514,0.611,0.950,1.128,0.107,0.754,1.326,
+1.791,1.431,1.435,2.905,0.182,0.114,0.081,0.134,0.112,0.084,
+0.065,0.093,0.087,0.012,0.043,0.067,0.105,0.109,0.064,0.116,
+0.132,0.105,0.070,0.083,0.117,0.094,0.091,0.079,0.089,0.016,
+0.062,0.071,0.102,0.094,0.073,0.095,0.070,0.070,0.057,0.077,
+9.53e-3,0.013,0.011,0.021,0.050,8.94e-3,0.040,0.069,0.042,0.065,
+0.051,0.076,0.084,0.052,0.048,0.085,0.089,0.074,0.060,0.083,
+0.053,7.69e-3,0.040,0.057,0.072,0.059,0.066,0.155,0.111,0.092,
+0.041,0.067,0.081,0.073,0.052,0.052,0.056,9.78e-3,0.028,0.040,
+0.044,0.057,0.035,0.058,0.098,0.097,0.051,0.061,0.091,0.062,
+0.075,0.058,0.079,0.020,0.060,0.073,0.059,0.070,0.048,0.088,
+0.057,0.075,0.069,0.099,0.011,0.018,0.027,0.034,0.074,0.025,
+0.059,0.072,0.045,0.089,0.066,0.071,0.057,0.044,0.037,0.054,
+0.069,0.059,0.060,0.075,0.048,6.60e-3,0.038,0.059,0.045,0.056,
+0.047,0.092,0.108,0.071,0.064,0.074,0.099,0.094,0.108,0.083,
+0.085,0.018,0.115,0.083,0.074,0.109,0.073,0.106,0.010,0.017,
+0.011,0.011,0.014,0.022,0.024,0.012,0.013,0.011,0.101,0.018,
+7.52e-3,0.024,0.017,0.014,0.066,0.076,0.085,0.082,0.010,0.019,
+0.030,0.014,0.080,0.019,0.085,0.072,0.050,0.108,0.101,0.088,
+0.061,0.045,0.047,0.061,0.082,0.078,0.098,0.081,0.066,0.013,
+0.069,0.081,0.057,0.064,0.086,0.109,0.145,0.104,0.079,0.135,
+0.087,0.066,0.065,0.073,0.087,0.011,0.049,0.083,0.128,0.130,
+0.082,0.201,0.147,0.120,0.082,0.116,0.114,0.110,0.114,0.115,
+0.099,0.015,0.169,0.123,0.117,0.174,0.097,0.180,0.076,0.085,
+0.077,0.106,7.85e-3,0.010,9.28e-3,0.015,0.071,0.011,0.060,0.084,
+0.078,0.105,0.113,0.141,0.100,0.066,0.059,0.108,0.076,0.060,
+0.063,0.089,0.096,0.012,0.073,0.115,0.130,0.125,0.132,0.245,
+1.441,1.317,0.668,1.243,1.047,0.765,0.481,0.657,0.840,0.081,
+0.437,0.658,0.945,0.704,0.456,0.771,1.385,1.012,0.569,0.794,
+1.066,0.719,0.996,0.749,1.019,0.110,0.952,0.951,0.978,0.874,
+0.972,0.998,0.920,0.911,0.657,0.863,0.110,0.111,0.094,0.169,
+0.778,0.091,0.717,0.801,0.633,0.838,0.665,0.867,0.748,0.461,
+0.380,0.754,0.715,0.560,0.454,0.761,0.807,0.073,0.631,0.874,
+1.104,0.644,0.811,1.433,0.113,0.107,0.039,0.070,0.142,0.112,
+0.059,0.078,0.061,0.013,0.056,0.078,0.065,0.069,0.040,0.071,
+0.100,0.091,0.052,0.058,0.144,0.092,0.121,0.088,0.088,0.023,
+0.217,0.151,0.054,0.079,0.060,0.072,0.073,0.096,0.059,0.070,
+0.013,0.022,0.021,0.014,0.114,0.028,0.111,0.138,0.062,0.109,
+0.082,0.096,0.079,0.054,0.039,0.072,0.095,0.098,0.071,0.101,
+0.072,0.011,0.061,0.090,0.088,0.067,0.068,0.119,1.363,0.617,
+0.486,0.548,0.821,0.709,0.645,0.611,0.722,0.113,0.612,0.621,
+0.661,0.589,0.586,0.778,0.091,0.103,0.073,0.074,0.079,0.097,
+0.090,0.050,0.076,0.021,0.105,0.082,0.067,0.112,0.085,0.082,
+0.841,0.631,0.656,0.650,0.102,0.075,0.099,0.076,0.437,0.069,
+0.151,0.227,0.300,0.409,0.469,0.485,0.487,0.337,0.339,0.367,
+0.602,0.512,0.539,0.501,0.569,0.071,0.620,0.599,0.452,0.466,
+0.665,0.798,1.026,0.506,0.359,0.591,0.632,0.381,0.284,0.361,
+0.519,0.063,0.362,0.485,0.539,0.461,0.344,0.636,0.944,0.727,
+0.511,0.755,0.737,0.719,0.544,0.484,0.712,0.075,0.642,0.721,
+0.572,0.768,0.578,0.719,0.745,0.709,0.570,0.741,0.074,0.077,
+0.069,0.085,0.746,0.086,0.742,0.777,0.555,0.829,0.795,0.901,
+0.703,0.435,0.366,0.609,0.651,0.535,0.444,0.582,0.802,0.074,
+0.819,0.916,0.907,0.862,0.965,1.256,1.696,0.842,0.591,1.180,
+0.855,0.540,0.414,0.641,0.862,0.091,0.431,0.663,1.102,0.928,
+0.508,1.202,1.316,0.670,0.368,0.638,0.974,0.398,0.396,0.558,
+0.690,0.049,0.334,0.483,0.636,0.481,0.409,0.706,0.879,0.699,
+0.487,0.910,0.083,0.067,0.049,0.139,0.723,0.070,0.472,1.032,
+0.764,0.739,0.586,0.994,1.069,0.600,0.488,1.150,0.776,0.481,
+0.427,1.017,0.754,0.063,0.406,0.834,1.063,0.750,0.714,1.648,
+1.686,0.978,0.543,0.994,1.167,0.845,0.604,0.738,0.823,0.082,
+0.492,0.821,0.801,0.716,0.424,0.964,1.403,0.998,0.512,0.821,
+1.283,0.786,0.760,0.922,1.049,0.093,0.868,1.058,0.698,0.729,
+0.488,0.804,0.838,0.885,0.598,0.832,0.075,0.099,0.072,0.117,
+0.866,0.111,0.701,1.087,0.668,0.976,0.747,1.054,1.169,0.726,
+0.505,0.936,1.000,0.851,0.670,1.131,0.769,0.070,0.591,0.965,
+0.835,0.809,0.715,1.438,1.412,0.704,0.540,0.886,0.934,0.690,
+0.867,0.936,1.078,0.107,0.559,0.866,1.024,0.777,0.678,1.381,
+0.106,0.085,0.061,0.087,0.091,0.095,0.126,0.095,0.084,0.014,
+0.087,0.097,0.088,0.128,0.080,0.124,0.940,0.885,0.719,0.921,
+0.076,0.071,0.083,0.112,1.288,0.152,0.725,1.028,0.795,1.054,
+1.006,1.208,0.827,0.571,0.553,0.766,0.960,0.845,0.866,1.144,
+0.979,0.087,0.878,1.284,0.891,0.800,1.110,1.610,1.510,0.706,
+0.526,1.035,0.735,0.481,0.439,0.550,0.809,0.073,0.441,0.663,
+1.024,0.666,0.561,1.328,1.112,0.721,0.509,0.858,0.761,0.666,
+0.670,0.663,0.749,0.061,0.572,0.813,0.810,0.749,0.632,1.074,
+1.098,0.961,0.742,1.139,0.082,0.074,0.060,0.104,1.091,0.099,
+0.915,1.280,0.993,1.135,1.173,1.562,1.444,0.756,0.734,1.451,
+1.039,0.856,0.832,1.246,1.297,0.096,1.135,1.723,1.812,1.306,
+1.705,2.480,4.845,1.510,1.268,2.718,1.291,0.725,0.611,0.927,
+1.245,0.108,0.483,0.895,2.014,1.396,0.810,1.770,1.407,0.782,
+0.476,0.793,0.764,0.430,0.369,0.465,0.875,0.063,0.429,0.548,
+0.933,0.913,0.491,0.860,1.010,0.704,0.521,0.993,0.089,0.060,
+0.051,0.117,0.589,0.042,0.319,0.522,0.593,0.613,0.519,0.891,
+1.645,0.754,0.734,1.556,0.995,0.601,0.511,0.938,0.787,0.055,
+0.443,0.771,1.332,0.753,0.884,2.330,1.719,0.909,0.531,1.045,
+0.915,0.561,0.355,0.560,0.666,0.058,0.286,0.496,0.774,0.634,
+0.395,0.794,0.896,0.504,0.292,0.533,0.637,0.308,0.281,0.333,
+0.608,0.040,0.302,0.511,0.645,0.513,0.343,0.557,0.818,0.486,
+0.353,0.585,0.050,0.038,0.030,0.052,0.495,0.040,0.228,0.374,
+0.614,0.688,0.405,0.620,0.715,0.415,0.345,0.654,0.568,0.351,
+0.268,0.482,0.519,0.033,0.284,0.503,0.692,0.498,0.478,1.130,
+1.558,0.694,0.518,0.907,0.957,0.647,0.553,0.820,0.972,0.093,
+0.326,0.655,1.146,0.868,0.541,1.324,0.105,0.067,0.046,0.079,
+0.074,0.055,0.042,0.064,0.097,9.36e-3,0.052,0.076,0.145,0.160,
+0.062,0.152,0.679,0.495,0.535,0.711,0.059,0.042,0.043,0.075,
+0.580,0.053,0.278,0.437,0.588,0.675,0.514,0.753,0.860,0.450,
+0.749,0.902,0.796,0.518,0.575,0.839,0.835,0.058,0.406,0.704,
+0.901,0.640,0.729,1.431,2.254,0.787,0.670,1.574,0.825,0.506,
+0.598,0.845,1.106,0.096,0.462,0.945,2.113,1.226,0.688,2.044,
+1.356,0.717,0.485,0.894,0.701,0.480,0.434,0.594,1.106,0.074,
+0.495,0.956,1.392,1.557,0.624,1.578,0.845,0.591,0.593,0.999,
+0.056,0.045,0.046,0.086,0.603,0.047,0.402,0.614,0.783,0.835,
+0.702,1.134,1.642,0.729,0.884,2.245,0.850,0.513,0.604,1.115,
+1.282,0.082,0.739,1.372,1.930,1.386,1.472,3.534,2.824,1.468,
+1.127,2.143,1.419,0.940,0.774,1.167,1.234,0.119,0.532,1.002,
+1.716,1.487,0.914,1.926,1.648,1.028,0.702,1.155,1.070,0.720,
+0.707,0.759,1.260,0.099,0.593,0.879,1.047,1.024,0.657,1.191,
+0.939,0.773,0.619,1.115,0.079,0.071,0.062,0.118,0.633,0.057,
+0.394,0.733,0.573,0.765,0.632,1.150,1.292,0.641,0.745,1.304,
+1.141,0.784,0.664,0.996,0.674,0.053,0.415,0.777,1.016,0.750,
+0.979,2.438,1.632,1.095,0.581,1.064,1.074,0.746,0.510,0.697,
+0.735,0.062,0.303,0.572,0.806,0.666,0.477,0.985,1.228,0.861,
+0.462,0.861,1.098,0.589,0.557,0.567,0.788,0.080,0.458,0.800,
+0.990,0.701,0.518,0.810,0.845,0.688,0.497,1.052,0.069,0.063,
+0.060,0.104,0.710,0.088,0.385,0.735,0.578,0.817,0.566,0.998,
+0.759,0.475,0.495,0.771,0.758,0.579,0.423,0.659,0.554,0.046,
+0.356,0.632,0.661,0.567,0.540,1.227,1.303,0.712,0.737,0.984,
+1.013,0.781,0.986,0.941,0.866,0.113,0.542,0.956,0.924,0.991,
+0.651,1.360,0.077,0.075,0.043,0.077,0.071,0.077,0.077,0.073,
+0.069,0.014,0.122,0.106,0.085,0.133,0.071,0.114,0.820,0.702,
+0.680,0.889,0.071,0.069,0.084,0.094,0.780,0.088,0.510,0.729,
+0.656,0.946,0.879,1.138,0.833,0.474,0.568,0.991,0.929,0.775,
+0.868,1.069,0.857,0.086,0.582,0.938,0.855,0.732,0.945,1.749,
+1.642,0.881,0.781,1.450,0.867,0.644,0.790,0.883,0.994,0.090,
+0.540,1.136,1.447,1.187,0.793,2.195,1.500,0.973,0.641,1.123,
+0.902,0.807,0.767,0.935,0.938,0.088,0.763,1.199,1.208,1.544,
+0.839,1.629,0.876,0.772,0.705,1.150,0.070,0.056,0.057,0.091,
+0.665,0.062,0.547,0.875,0.776,0.934,0.964,1.529,1.329,0.715,
+0.781,1.393,1.007,0.729,0.659,1.090,0.944,0.077,0.699,1.393,
+1.482,1.217,1.404,3.193,1.875,1.186,0.737,1.453,1.142,0.737,
+0.517,0.783,1.112,0.096,0.529,0.818,1.288,0.840,0.514,1.033,
+1.571,0.987,0.512,0.872,1.834,0.722,0.579,0.677,1.154,0.094,
+0.802,0.881,1.033,0.961,0.703,1.031,0.903,0.929,0.645,0.987,
+0.107,0.108,0.077,0.143,0.774,0.094,0.515,0.740,0.717,0.976,
+0.671,0.990,1.031,0.604,0.505,1.093,0.868,0.727,0.530,0.900,
+0.937,0.083,0.657,1.119,1.212,0.883,1.114,2.206,0.118,0.097,
+0.047,0.094,0.174,0.095,0.054,0.080,0.068,9.36e-3,0.041,0.066,
+0.081,0.079,0.041,0.089,0.153,0.105,0.040,0.063,0.688,0.140,
+0.071,0.095,0.099,0.019,0.084,0.088,0.094,0.098,0.058,0.080,
+0.062,0.073,0.044,0.060,0.019,0.014,0.010,8.19e-3,0.079,0.016,
+0.064,0.079,0.056,0.100,0.069,0.089,0.084,0.056,0.046,0.097,
+0.104,0.089,0.061,0.115,0.074,9.28e-3,0.055,0.095,0.096,0.083,
+0.080,0.156,1.220,0.714,0.516,0.656,0.930,0.785,1.195,0.823,
+0.806,0.121,0.538,0.705,0.786,0.777,0.715,1.122,0.078,0.085,
+0.037,0.055,0.139,0.070,0.062,0.048,0.062,0.014,0.056,0.062,
+0.081,0.109,0.080,0.100,0.800,0.830,0.690,0.771,0.069,0.079,
+0.072,0.086,0.767,0.103,0.363,0.573,0.518,0.778,0.727,0.844,
+0.754,0.551,0.477,0.651,0.755,0.765,0.773,0.759,0.831,0.106,
+0.748,0.884,0.729,0.748,0.849,1.314,1.343,0.727,0.488,0.902,
+0.724,0.584,0.497,0.591,0.714,0.081,0.498,0.751,0.857,0.801,
+0.557,1.189,1.336,0.942,0.593,0.960,0.994,0.817,0.627,0.660,
+0.940,0.087,0.842,1.112,1.073,1.312,0.974,1.479,0.932,0.888,
+0.656,0.979,0.075,0.073,0.058,0.089,0.927,0.086,0.756,1.037,
+0.943,1.201,1.073,1.449,1.230,0.705,0.680,1.030,0.834,0.766,
+0.671,0.895,1.237,0.102,1.071,1.515,1.385,1.250,1.501,2.410,
+3.355,1.289,0.936,2.022,1.217,0.703,0.562,0.974,1.401,0.136,
+0.803,1.096,1.954,1.377,0.866,1.916,1.682,0.846,0.423,0.858,
+1.107,0.527,0.414,0.712,1.074,0.073,0.474,0.746,0.949,0.697,
+0.470,0.901,1.241,1.016,0.693,1.425,0.134,0.116,0.081,0.211,
+0.910,0.080,0.468,0.903,1.125,1.121,0.683,1.346,1.670,0.711,
+0.718,1.815,0.964,0.604,0.592,1.150,1.006,0.072,0.587,1.162,
+1.764,1.145,1.154,3.607,1.997,1.043,0.714,1.264,1.175,0.875,
+0.625,0.791,0.839,0.073,0.462,0.759,1.085,0.777,0.602,1.242,
+1.523,0.892,0.418,0.830,1.825,0.733,0.484,0.726,0.974,0.073,
+0.575,0.869,0.849,0.760,0.489,0.967,0.976,0.753,0.509,0.923,
+0.065,0.067,0.039,0.082,0.794,0.068,0.517,0.864,0.839,0.929,
+0.651,1.254,1.156,0.667,0.588,1.195,0.922,0.668,0.550,1.021,
+0.883,0.055,0.547,1.013,1.202,0.845,0.866,2.025,1.898,0.918,
+0.690,1.123,1.247,0.870,0.830,1.220,1.265,0.136,0.626,1.140,
+1.415,1.086,0.949,2.102,0.128,0.093,0.048,0.094,0.115,0.105,
+0.066,0.091,0.086,9.02e-3,0.055,0.089,0.131,0.135,0.078,0.171,
+1.368,1.071,0.765,1.191,0.084,0.095,0.070,0.128,1.216,0.112,
+0.730,1.151,1.168,1.340,1.236,1.821,1.427,0.933,0.801,1.402,
+1.328,1.081,1.026,1.647,1.481,0.105,1.030,1.822,1.459,1.186,
+1.339,2.676,3.737,1.424,0.891,1.955,1.289,0.857,0.655,0.976,
+1.536,0.120,0.746,1.259,2.369,1.432,1.210,3.222,2.128,1.318,
+0.702,1.351,1.359,1.403,0.743,0.998,1.399,0.091,0.857,1.401,
+1.751,1.462,1.071,2.208,1.956,1.464,1.063,1.937,0.109,0.100,
+0.072,0.153,1.607,0.115,1.139,1.857,1.917,2.102,1.827,2.957,
+3.689,1.686,1.420,3.382,1.853,1.334,1.442,2.262,2.442,0.143,
+1.795,3.278,4.287,2.489,2.807,5.322,5.468,3.559,3.101,7.900,
+3.342,1.912,1.679,2.814,4.284,0.334,1.787,3.080,7.663,5.017,
+2.493,5.570,4.313,1.710,1.573,2.340,2.050,1.066,0.862,1.150,
+2.218,0.117,0.939,1.455,2.361,1.667,1.164,2.292,3.073,1.816,
+1.719,3.380,0.200,0.154,0.110,0.303,1.597,0.105,0.801,1.233,
+1.885,1.583,1.282,2.317,5.604,2.248,2.395,6.886,3.183,2.203,
+1.701,3.559,2.493,0.148,1.116,2.121,4.967,2.277,2.181,5.122,
+3.673,1.637,1.047,2.115,1.382,0.809,0.651,0.878,1.387,0.110,
+0.513,0.890,1.550,1.219,0.713,1.422,2.034,0.912,0.783,1.043,
+0.910,0.596,0.515,0.552,1.017,0.059,0.465,0.718,1.040,0.783,
+0.494,0.861,1.551,1.024,0.773,1.533,0.094,0.071,0.054,0.136,
+1.199,0.061,0.506,0.765,0.866,0.744,0.673,1.073,1.767,0.936,
+0.685,1.539,1.541,1.074,0.585,1.109,0.959,0.056,0.436,0.768,
+1.226,0.823,0.737,1.635,2.954,1.118,1.033,1.906,1.405,0.739,
+0.784,1.080,1.528,0.133,0.564,1.085,2.076,1.348,0.912,2.246,
+0.177,0.099,0.070,0.140,0.098,0.062,0.054,0.083,0.093,9.44e-3,
+0.049,0.086,0.190,0.174,0.091,0.200,1.198,0.778,0.764,1.118,
+0.081,0.049,0.048,0.097,0.876,0.063,0.444,0.640,0.973,0.781,
+0.737,1.145,1.361,0.761,0.757,1.502,1.277,0.780,0.708,1.147,
+1.149,0.076,0.575,1.012,1.439,1.031,1.109,2.399,5.447,1.605,
+1.524,4.334,1.790,0.918,1.161,1.588,2.479,0.186,0.942,1.628,
+5.046,2.133,1.499,4.104,2.607,1.355,1.116,1.881,1.393,0.800,
+0.809,1.071,1.468,0.084,0.766,1.236,2.173,1.565,1.106,2.167,
+1.882,1.262,1.208,2.046,0.121,0.078,0.094,0.167,1.337,0.080,
+1.386,1.407,1.541,1.261,1.381,2.082,3.580,1.585,1.680,4.491,
+1.766,1.131,1.141,2.154,2.449,0.134,1.373,2.428,4.650,2.704,
+2.889,7.146,3.955,1.818,1.438,3.126,1.600,0.921,0.773,1.173,
+1.513,0.104,0.558,1.070,2.017,1.371,0.919,2.065,1.833,1.192,
+0.833,1.349,0.865,0.487,0.482,0.637,0.825,0.059,0.393,0.675,
+0.848,0.655,0.505,1.086,1.239,0.999,0.805,1.434,0.110,0.092,
+0.069,0.155,0.778,0.052,0.354,0.563,0.741,0.726,0.548,0.980,
+1.826,1.051,0.983,2.447,1.626,0.925,0.765,1.357,0.936,0.060,
+0.427,0.860,1.504,0.880,1.155,2.358,2.031,1.089,0.608,1.296,
+0.959,0.629,0.458,0.681,0.793,0.062,0.311,0.625,0.883,0.690,
+0.423,0.989,0.949,0.612,0.352,0.577,0.502,0.223,0.272,0.354,
+0.528,0.035,0.267,0.467,0.542,0.435,0.319,0.639,0.915,0.756,
+0.840,1.548,0.072,0.066,0.204,0.419,0.678,0.075,0.330,0.550,
+0.509,0.634,0.429,0.755,1.123,0.616,0.498,1.126,0.824,0.556,
+0.577,1.067,0.665,0.042,0.296,0.601,0.751,0.599,0.469,1.245,
+1.634,0.910,0.826,1.479,1.026,0.682,1.103,1.126,1.016,0.092,
+0.472,0.957,1.168,0.874,0.670,1.443,0.081,0.087,0.045,0.093,
+0.047,0.044,0.052,0.058,0.057,6.85e-3,0.041,0.064,0.083,0.084,
+0.050,0.101,0.980,0.710,0.707,1.020,0.056,0.049,0.047,0.079,
+0.609,0.048,0.368,0.540,0.727,0.662,0.572,0.880,1.012,0.590,
+0.678,1.221,0.869,0.649,0.633,0.947,0.847,0.053,0.493,0.903,
+0.885,0.654,0.778,1.625,1.951,1.071,0.882,1.630,1.012,0.667,
+0.633,0.884,1.030,0.076,0.444,0.822,1.942,0.963,0.739,1.908,
+1.264,0.935,0.608,0.977,0.667,0.492,0.540,0.714,0.623,0.042,
+0.421,0.702,0.917,0.782,0.571,1.114,1.141,0.821,0.986,1.314,
+0.059,0.049,0.048,0.092,0.648,0.044,0.675,0.745,0.867,0.734,
+0.736,1.171,1.653,0.838,0.862,1.728,0.948,0.799,0.592,1.105,
+1.090,0.077,0.673,1.267,1.951,1.626,1.464,3.510,3.530,1.641,
+1.242,3.126,1.146,0.814,0.571,1.095,1.426,0.122,0.602,1.148,
+2.103,1.466,0.814,2.148,2.001,1.027,0.747,1.523,0.901,0.516,
+0.498,0.789,1.139,0.079,0.584,0.835,1.439,1.027,0.731,1.401,
+1.913,1.360,3.020,3.197,0.147,0.113,0.128,0.381,1.273,0.087,
+0.539,0.807,1.047,1.162,0.629,1.344,2.549,1.266,2.199,5.637,
+1.365,0.968,1.095,2.469,1.229,0.097,0.671,1.396,2.211,1.479,
+1.537,4.453,0.225,0.132,0.072,0.175,0.103,0.085,0.045,0.091,
+0.116,0.014,0.045,0.084,0.150,0.130,0.074,0.154,0.141,0.090,
+0.052,0.100,0.082,0.058,0.050,0.060,0.094,8.52e-3,0.057,0.069,
+0.128,0.106,0.060,0.106,0.132,0.108,0.122,0.189,8.61e-3,9.19e-3,
+9.53e-3,0.022,0.103,8.61e-3,0.046,0.074,0.095,0.103,0.056,0.114,
+0.261,0.141,0.170,0.593,0.180,0.160,0.141,0.382,0.117,9.11e-3,
+0.066,0.138,0.201,0.158,0.125,0.341,1.520,0.792,0.586,1.013,
+0.804,0.637,0.520,0.777,1.369,0.127,0.535,0.861,1.306,0.986,
+0.670,1.276,0.101,0.071,0.040,0.077,0.048,0.044,0.035,0.044,
+0.075,6.69e-3,0.039,0.056,0.121,0.100,0.057,0.101,1.147,1.139,
+0.622,0.952,0.069,0.063,0.050,0.087,0.660,0.061,0.319,0.466,
+0.542,0.610,0.481,0.792,1.152,0.794,0.672,1.222,0.781,0.695,
+0.546,1.027,0.982,0.070,0.540,0.841,0.960,0.732,0.785,1.506,
+1.820,0.783,0.625,1.285,0.779,0.492,0.401,0.612,1.234,0.091,
+0.479,0.848,1.983,0.979,0.618,1.614,1.476,0.844,0.558,1.063,
+0.766,0.548,0.440,0.559,0.890,0.060,0.527,0.862,1.485,0.988,
+0.679,1.351,1.118,0.909,0.750,1.129,0.074,0.060,0.048,0.088,
+0.819,0.056,0.524,0.763,0.939,0.937,0.715,1.331,1.842,0.941,
+1.028,1.713,1.049,0.818,0.654,1.127,1.395,0.105,0.879,1.448,
+2.355,1.526,1.558,3.369,6.895,2.880,2.277,6.126,1.894,1.171,
+1.021,1.573,2.556,0.179,1.002,1.851,5.597,2.601,1.706,4.817,
+2.383,1.268,0.910,2.144,1.125,0.565,0.575,1.061,1.432,0.083,
+0.665,1.110,2.117,1.170,0.945,1.960,2.777,1.749,3.694,5.521,
+0.180,0.130,0.177,0.552,1.739,0.124,1.299,1.542,1.978,1.485,
+1.158,2.554,7.680,3.091,5.385,24.2,3.003,1.727,2.298,6.449,
+2.451,0.162,1.559,3.070,5.595,2.403,3.184,10.9,3.631,1.655,
+1.023,2.547,1.526,0.967,0.592,1.128,1.626,0.108,0.670,1.201,
+1.988,1.301,0.899,2.022,1.897,0.881,0.574,1.239,0.982,0.565,
+0.473,0.768,1.140,0.068,0.575,0.954,1.358,1.030,0.641,1.195,
+1.944,1.222,1.346,2.617,0.090,0.082,0.075,0.203,1.524,0.083,
+0.635,1.123,1.412,1.195,0.753,1.629,3.155,1.451,1.847,6.146,
+1.862,1.310,1.342,3.770,1.560,0.087,0.741,1.728,2.318,1.568,
+1.317,3.547,2.373,1.079,0.815,1.745,1.325,0.773,0.681,1.221,
+1.678,0.132,0.675,1.230,1.964,1.230,1.091,2.212,0.133,0.082,
+0.054,0.143,0.062,0.057,0.047,0.077,0.090,8.02e-3,0.056,0.093,
+0.145,0.115,0.082,0.161,1.515,1.192,0.883,1.695,0.080,0.059,
+0.049,0.123,1.096,0.106,0.608,0.924,1.122,1.096,0.925,1.632,
+1.671,1.038,1.040,2.546,1.458,0.976,0.933,1.868,1.601,0.094,
+0.998,1.668,1.790,1.239,1.666,2.991,4.608,1.755,1.552,3.876,
+1.722,1.042,0.920,1.603,2.445,0.153,0.948,1.842,4.925,2.094,
+1.712,4.798,2.234,1.213,0.876,1.842,1.116,0.790,0.699,1.020,
+1.416,0.080,0.921,1.539,2.074,1.471,1.094,2.452,2.517,1.801,
+1.663,3.152,0.141,0.099,0.086,0.214,1.888,0.117,1.159,2.071,
+2.494,2.398,1.808,3.274,5.874,2.722,2.755,7.557,2.973,2.059,
+1.897,3.821,3.748,0.171,2.277,4.488,8.498,4.626,4.941,10.5,
+4.719,2.483,2.067,4.152,2.146,1.226,1.096,1.650,2.122,0.183,
+0.939,1.612,3.389,2.388,1.424,2.885,2.713,1.299,1.034,1.613,
+1.340,0.766,0.729,0.891,1.315,0.094,0.804,1.034,1.449,1.103,
+0.904,1.503,1.690,1.101,0.987,1.897,0.121,0.078,0.076,0.181,
+0.945,0.067,0.454,0.703,0.959,0.921,0.820,1.338,2.683,1.195,
+1.114,2.916,1.847,1.114,0.906,1.805,1.225,0.091,0.680,1.310,
+2.028,1.178,1.359,3.477,2.722,1.305,0.972,1.782,1.311,0.746,
+0.607,0.954,1.190,0.118,0.540,0.871,1.387,1.101,0.672,1.339,
+1.601,0.785,0.671,1.027,0.812,0.462,0.515,0.656,0.930,0.073,
+0.670,0.795,1.045,0.755,0.566,0.873,0.990,0.737,0.531,0.921,
+0.079,0.055,0.048,0.086,1.334,0.080,0.406,0.635,0.720,0.787,
+0.610,0.824,1.123,0.626,0.473,0.999,1.206,0.637,0.500,0.946,
+0.917,0.055,0.486,0.808,1.012,0.750,0.822,1.648,1.911,0.838,
+0.730,1.217,1.181,0.680,0.700,0.992,1.139,0.121,0.566,0.840,
+1.266,0.974,0.773,1.702,0.108,0.076,0.059,0.094,0.073,0.065,
+0.057,0.087,0.070,9.94e-3,0.049,0.072,0.111,0.127,0.078,0.162,
+0.808,0.604,0.569,0.811,0.068,0.054,0.054,0.086,0.902,0.065,
+0.388,0.572,0.744,0.753,0.722,1.136,0.947,0.558,0.544,1.089,
+0.984,0.705,0.690,1.051,0.980,0.077,0.578,0.872,1.044,0.909,
+1.028,1.886,2.304,0.831,0.727,1.698,0.986,0.589,0.589,0.874,
+1.219,0.119,0.510,0.981,1.978,1.188,0.764,2.051,1.581,0.889,
+0.714,1.293,0.939,0.704,0.644,0.906,0.886,0.071,0.611,0.965,
+1.160,1.156,0.783,1.704,0.975,0.725,0.808,1.414,0.080,0.052,
+0.092,0.151,1.027,0.063,0.513,0.754,0.883,0.843,0.870,1.243,
+1.643,0.826,0.873,2.139,0.941,0.658,0.777,1.263,1.349,0.089,
+1.146,1.561,2.045,1.560,1.901,3.673,3.199,1.680,1.316,2.392,
+1.502,0.977,0.806,1.039,1.138,0.101,0.752,0.862,1.574,1.176,
+0.938,1.524,1.895,1.078,0.733,1.085,0.987,0.711,0.702,0.742,
+0.810,0.075,0.498,0.690,0.761,0.668,0.572,0.897,0.905,0.744,
+0.619,1.020,0.073,0.068,0.050,0.104,0.537,0.050,0.311,0.421,
+0.528,0.664,0.533,0.848,1.156,0.658,0.610,1.542,1.110,0.781,
+0.572,1.000,0.643,0.050,0.378,0.631,1.000,0.700,0.786,1.847,
+1.767,1.073,0.715,1.071,1.001,0.885,0.578,0.688,0.755,0.070,
+0.428,0.618,0.843,0.741,0.434,0.898,1.171,0.761,0.441,0.643,
+0.727,0.322,0.437,0.515,0.635,0.065,0.403,0.567,0.662,0.571,
+0.406,0.691,0.713,0.666,0.486,0.766,0.059,0.059,0.054,0.090,
+0.676,0.077,0.310,0.480,0.466,0.701,0.478,0.719,0.724,0.474,
+0.406,0.730,0.686,0.583,0.415,0.726,0.619,0.044,0.319,0.591,
+0.630,0.604,0.483,1.203,1.475,0.752,0.614,0.969,1.098,0.760,
+0.926,0.815,0.827,0.087,0.465,0.663,0.911,0.750,0.573,1.203,
+0.110,0.078,0.048,0.090,0.068,0.078,0.080,0.070,0.049,9.44e-3,
+0.050,0.054,0.061,0.089,0.051,0.079,0.834,0.771,0.617,0.916,
+0.072,0.110,0.065,0.094,0.713,0.067,0.399,0.539,0.560,0.714,
+0.603,0.869,0.827,0.652,0.535,0.892,1.038,0.847,0.956,0.956,
+0.815,0.060,0.536,0.798,0.841,0.767,0.891,1.550,1.504,0.845,
+0.681,1.241,0.944,0.581,0.601,0.746,0.849,0.065,0.382,0.664,
+1.318,0.859,0.562,1.441,1.391,0.876,0.612,0.934,0.756,0.659,
+0.864,0.937,0.572,0.052,0.463,0.680,0.767,0.825,0.546,0.945,
+0.793,0.650,0.568,0.892,0.052,0.043,0.039,0.071,0.542,0.044,
+0.419,0.541,0.673,0.723,0.640,0.901,1.026,0.597,0.551,1.158,
+0.709,0.589,0.498,0.826,0.797,0.064,0.566,0.919,1.294,1.566,
+1.214,2.411,2.414,1.477,1.063,2.753,0.987,0.666,0.514,0.887,
+1.036,0.091,0.544,0.819,1.322,0.995,0.629,1.377,1.783,1.005,
+0.640,1.168,0.814,0.595,0.532,0.702,1.024,0.087,1.041,0.852,
+0.920,0.922,0.680,1.117,1.062,0.965,1.164,1.645,0.095,0.087,
+0.097,0.228,0.792,0.070,0.507,0.706,0.600,0.801,0.528,0.959,
+1.388,0.860,0.990,2.579,0.961,0.767,0.923,1.840,0.940,0.081,
+0.654,1.178,1.409,0.983,1.151,2.934,0.101,0.086,0.044,0.100,
+0.073,0.071,0.036,0.064,0.065,9.11e-3,0.045,0.060,0.089,0.093,
+0.050,0.092,0.092,0.075,0.040,0.063,0.075,0.069,0.055,0.056,
+0.084,0.016,0.082,0.068,0.075,0.107,0.052,0.083,0.054,0.066,
+0.059,0.084,5.68e-3,9.44e-3,0.012,0.018,0.103,0.011,0.044,0.078,
+0.055,0.070,0.052,0.078,0.092,0.070,0.065,0.198,0.109,0.108,
+0.114,0.256,0.085,8.61e-3,0.058,0.101,0.097,0.083,0.086,0.182,
+1.346,0.915,0.617,0.997,0.913,1.031,0.613,0.916,1.017,0.129,
+0.669,0.926,0.922,0.885,0.677,1.319,0.079,0.084,0.040,0.071,
+0.056,0.080,0.050,0.057,0.059,9.11e-3,0.062,0.068,0.081,0.092,
+0.062,0.103,0.734,0.981,0.574,0.822,0.060,0.144,0.057,0.089,
+0.649,0.082,0.356,0.545,0.480,0.694,0.529,0.821,0.763,0.597,
+0.503,0.925,0.766,0.986,0.645,1.297,0.918,0.085,0.629,0.922,
+0.830,0.759,0.878,1.738,1.509,1.094,0.584,1.325,0.723,0.601,
+0.383,0.580,0.913,0.094,0.482,0.755,1.170,0.894,0.602,1.454,
+1.346,0.993,0.561,0.968,0.819,0.764,0.536,0.657,0.843,0.073,
+0.750,1.014,0.987,1.038,0.766,1.395,0.852,0.859,0.660,0.988,
+0.052,0.068,0.049,0.084,0.728,0.061,0.501,0.765,0.673,0.930,
+0.666,1.124,1.185,0.770,0.679,1.539,0.771,0.696,0.572,1.048,
+1.120,0.083,0.895,1.340,1.612,1.325,1.423,2.695,3.651,1.731,
+1.373,3.424,1.507,0.806,0.700,1.449,1.854,0.129,0.750,1.388,
+2.496,1.505,1.026,2.570,1.819,0.883,0.668,1.324,0.862,0.505,
+0.485,0.812,1.015,0.063,0.638,0.919,1.125,0.750,0.667,1.272,
+1.590,1.037,1.131,2.318,0.099,0.076,0.073,0.271,1.157,0.069,
+0.710,0.929,1.020,0.875,0.718,1.501,2.523,1.223,1.970,6.052,
+1.347,0.873,1.117,3.795,1.538,0.102,0.829,1.886,2.599,1.396,
+1.587,5.162,2.618,1.459,0.911,2.027,1.306,1.040,0.672,1.131,
+1.330,0.121,0.841,1.299,1.464,1.247,0.817,1.711,1.679,0.886,
+0.591,1.174,1.024,0.705,0.574,0.919,1.140,0.093,0.807,1.133,
+1.106,0.949,0.775,1.214,1.253,1.015,0.875,1.797,0.077,0.077,
+0.071,0.229,1.864,0.102,0.633,1.131,1.142,1.084,0.771,1.475,
+1.658,0.979,1.099,3.624,1.494,1.217,1.322,4.998,1.500,0.102,
+0.893,1.913,1.589,1.251,1.239,2.960,1.697,0.851,0.668,1.221,
+1.098,0.788,0.622,1.050,1.242,0.120,0.699,1.104,1.279,1.021,
+0.975,1.889,0.107,0.066,0.047,0.093,0.051,0.059,0.054,0.066,
+0.056,6.85e-3,0.073,0.072,0.085,0.094,0.072,0.121,0.918,0.848,
+0.722,1.175,0.054,0.057,0.047,0.109,0.861,0.072,0.617,0.867,
+0.752,0.901,0.849,1.410,1.119,0.739,0.763,1.529,1.011,0.856,
+0.812,1.717,1.158,0.081,0.891,1.488,1.360,1.030,1.671,2.898,
+2.745,1.275,1.021,2.252,1.139,0.798,0.654,0.982,1.447,0.137,
+0.761,1.249,2.098,1.296,1.043,2.596,2.469,1.051,0.755,1.386,
+0.908,0.714,0.807,0.896,0.979,0.077,1.468,1.319,1.359,1.106,
+1.016,1.881,1.509,1.127,1.084,2.057,0.084,0.069,0.056,0.146,
+1.311,0.079,0.852,1.404,1.361,1.320,1.366,2.160,2.883,1.538,
+1.458,3.666,1.561,1.184,1.181,2.425,1.976,0.118,1.530,2.719,
+3.804,2.423,3.165,4.869,3.073,1.745,1.709,3.392,1.706,1.014,
+0.824,1.270,1.472,0.127,0.653,1.262,2.419,1.696,0.990,2.132,
+1.621,0.923,0.670,1.034,0.963,0.606,0.505,0.725,0.938,0.066,
+0.493,0.660,1.079,0.877,0.605,1.135,1.315,1.089,0.695,1.465,
+0.095,0.071,0.052,0.137,0.760,0.059,0.443,0.659,0.832,0.786,
+0.683,1.128,2.008,1.022,0.790,2.028,1.210,0.747,0.611,1.227,
+1.056,0.064,0.493,0.896,1.601,0.840,0.951,2.384,2.435,1.202,
+0.785,1.696,1.468,0.861,0.705,0.978,1.095,0.079,0.447,0.795,
+1.426,0.994,0.641,1.301,1.456,0.850,0.496,0.870,0.894,0.472,
+0.457,0.673,0.913,0.060,0.464,0.635,0.810,0.620,0.436,0.790,
+1.216,1.084,0.642,1.165,0.094,0.070,0.062,0.107,0.857,0.083,
+0.482,0.775,0.726,0.878,0.729,1.068,1.359,0.826,0.597,1.220,
+1.240,0.860,0.610,1.116,1.008,0.059,0.473,0.888,1.188,0.912,
+0.931,1.831,1.886,1.084,0.720,1.417,1.421,1.063,0.857,1.252,
+1.274,0.141,0.557,1.032,1.467,1.245,0.875,2.058,0.148,0.203,
+0.067,0.115,0.108,0.111,0.082,0.110,0.097,0.014,0.078,0.099,
+0.160,0.188,0.104,0.204,1.008,0.867,0.906,1.236,0.084,0.067,
+0.069,0.127,0.922,0.080,0.543,0.711,0.795,0.893,0.932,1.149,
+1.075,0.638,0.653,1.203,1.278,0.866,0.810,1.305,0.950,0.078,
+0.625,1.038,1.237,0.980,1.147,1.909,2.170,0.922,0.700,1.611,
+0.979,0.634,0.603,0.858,1.093,0.107,0.492,0.975,2.025,1.212,
+0.883,2.100,1.628,1.104,0.631,1.044,0.880,0.680,0.585,0.759,
+0.869,0.063,0.561,0.883,1.196,1.002,0.741,1.426,1.242,1.119,
+0.989,1.724,0.104,0.074,0.077,0.150,0.988,0.070,0.729,1.059,
+1.322,1.218,1.345,1.756,1.940,1.095,0.979,2.628,1.170,0.755,
+0.826,1.463,1.511,0.106,1.043,1.798,2.648,1.868,2.189,4.358,
+0.174,0.116,0.083,0.156,0.126,0.093,0.058,0.099,0.097,0.011,
+0.042,0.098,0.135,0.123,0.070,0.136,0.125,0.092,0.080,0.096,
+0.088,0.073,0.065,0.074,0.085,8.69e-3,0.047,0.064,0.086,0.090,
+0.063,0.099,0.081,0.079,0.053,0.100,0.010,8.69e-3,6.52e-3,0.013,
+0.063,6.60e-3,0.034,0.056,0.060,0.062,0.056,0.087,0.119,0.078,
+0.065,0.153,0.113,0.087,0.071,0.110,0.082,0.011,0.050,0.101,
+0.117,0.086,0.100,0.220,0.115,0.079,0.051,0.081,0.074,0.071,
+0.046,0.059,0.058,5.85e-3,0.029,0.046,0.063,0.060,0.037,0.077,
+0.101,0.079,0.044,0.060,0.086,0.087,0.065,0.068,0.066,9.44e-3,
+0.042,0.056,0.067,0.055,0.040,0.063,0.074,0.072,0.049,0.084,
+8.69e-3,9.78e-3,8.86e-3,0.011,0.083,0.020,0.040,0.059,0.042,0.073,
+0.083,0.077,0.087,0.058,0.043,0.083,0.077,0.067,0.053,0.075,
+0.069,5.77e-3,0.035,0.071,0.068,0.065,0.063,0.121,0.118,0.108,
+0.048,0.085,0.105,0.133,0.081,0.085,0.081,0.014,0.049,0.071,
+0.079,0.088,0.060,0.132,8.27e-3,0.014,6.35e-3,0.010,8.52e-3,0.015,
+0.011,9.28e-3,8.27e-3,2.93e-3,0.018,7.85e-3,9.11e-3,0.013,7.94e-3,0.012,
+0.086,0.080,0.075,0.104,0.010,0.011,0.011,0.013,0.122,0.012,
+0.055,0.070,0.073,0.087,0.082,0.098,0.089,0.053,0.062,0.101,
+0.109,0.083,0.080,0.112,0.086,9.28e-3,0.063,0.105,0.082,0.097,
+0.093,0.156,0.166,0.125,0.073,0.125,0.092,0.070,0.062,0.080,
+0.093,9.44e-3,0.048,0.080,0.153,0.125,0.093,0.201,0.196,0.120,
+0.073,0.115,0.107,0.106,0.087,0.109,0.090,7.85e-3,0.076,0.087,
+0.117,0.131,0.076,0.155,0.097,0.095,0.083,0.134,8.61e-3,8.36e-3,
+5.26e-3,0.015,0.079,7.77e-3,0.065,0.081,0.095,0.100,0.118,0.157,
+0.150,0.101,0.084,0.178,0.101,0.087,0.073,0.133,0.113,9.86e-3,
+0.083,0.139,0.173,0.158,0.158,0.329,2.186,1.309,0.918,1.651,
+1.106,0.771,0.508,0.884,0.932,0.077,0.467,0.797,1.008,0.712,
+0.673,1.175,1.820,0.929,0.575,0.903,1.030,0.681,0.742,0.825,
+0.956,0.085,0.701,0.819,0.821,0.866,0.886,1.236,1.059,1.043,
+0.740,1.275,0.118,0.120,0.084,0.199,0.866,0.075,0.591,0.752,
+0.637,0.831,0.723,1.075,1.163,0.688,0.655,1.437,1.085,0.817,
+0.645,1.343,1.282,0.092,0.978,1.290,1.270,0.907,1.619,2.419,
+0.110,0.089,0.043,0.078,0.091,0.080,0.046,0.069,0.058,8.02e-3,
+0.032,0.051,0.061,0.061,0.039,0.078,0.099,0.069,0.034,0.052,
+0.082,0.073,0.092,0.076,0.062,0.012,0.057,0.057,0.048,0.055,
+0.041,0.061,0.064,0.080,0.050,0.072,7.27e-3,0.014,8.19e-3,0.012,
+0.066,0.011,0.061,0.078,0.043,0.073,0.054,0.077,0.115,0.067,
+0.051,0.118,0.121,0.121,0.068,0.138,0.088,8.27e-3,0.069,0.107,
+0.094,0.080,0.097,0.171,1.321,0.797,0.511,0.786,1.171,0.949,
+0.833,0.836,0.872,0.115,0.548,0.755,0.828,0.779,0.669,1.297,
+0.093,0.094,0.047,0.073,0.081,0.088,0.067,0.057,0.083,0.016,
+0.065,0.061,0.072,0.100,0.065,0.108,0.968,1.025,0.730,1.130,
+0.089,0.079,0.076,0.108,0.748,0.081,0.304,0.530,0.480,0.628,
+0.621,0.865,0.830,0.576,0.470,0.719,0.996,0.830,0.691,0.910,
+0.899,0.093,1.051,0.920,0.790,0.676,0.955,1.452,1.449,0.923,
+0.528,0.990,0.801,0.580,0.430,0.564,0.789,0.080,0.432,0.706,
+0.865,0.703,0.540,1.237,1.410,0.991,0.614,0.900,1.088,0.883,
+0.631,0.671,0.929,0.081,0.727,0.875,0.840,0.925,0.668,1.146,
+1.099,1.083,0.860,1.249,0.076,0.091,0.068,0.104,0.920,0.080,
+0.821,1.022,0.765,0.973,0.978,1.371,1.209,0.802,0.657,1.280,
+1.075,0.815,0.719,1.117,1.395,0.129,1.099,1.344,1.526,1.489,
+1.562,2.419,2.649,1.188,0.965,1.900,1.129,0.629,0.513,0.839,
+1.041,0.087,0.485,0.927,1.512,1.005,0.824,1.850,1.609,0.724,
+0.480,0.904,0.895,0.461,0.446,0.650,0.750,0.049,0.409,0.744,
+0.782,0.609,0.555,1.051,1.355,0.920,0.679,1.437,0.096,0.068,
+0.054,0.151,0.946,0.071,0.608,1.187,0.967,0.881,0.729,1.436,
+1.816,0.987,0.877,2.599,1.113,0.731,0.638,1.470,1.311,0.099,
+0.775,2.516,1.737,1.219,1.270,3.015,2.587,1.325,0.777,1.588,
+1.434,0.948,0.726,1.027,1.159,0.089,0.625,1.000,1.431,1.010,
+0.708,1.539,1.620,0.975,0.537,0.973,1.229,0.792,0.842,0.991,
+1.026,0.067,0.693,0.991,0.826,0.750,0.566,0.979,1.449,1.147,
+0.798,1.365,0.085,0.091,0.062,0.128,1.052,0.086,0.693,1.291,
+0.907,1.071,0.834,1.539,1.919,1.075,0.825,1.847,1.588,1.215,
+0.928,1.802,1.240,0.086,0.794,1.620,1.394,1.263,1.221,2.442,
+2.418,1.030,0.750,1.505,1.366,0.989,0.978,1.328,1.407,0.137,
+0.686,1.325,1.388,1.188,1.005,2.851,0.132,0.090,0.061,0.109,
+0.077,0.091,0.144,0.097,0.070,8.94e-3,0.062,0.103,0.090,0.119,
+0.074,0.173,1.436,1.247,0.912,1.529,0.083,0.074,0.070,0.134,
+1.312,0.112,0.800,1.270,1.085,1.185,1.121,1.765,1.570,0.986,
+1.108,1.633,1.534,1.144,1.154,1.874,1.370,0.103,1.128,2.035,
+1.435,1.218,1.720,2.808,2.440,1.098,0.848,1.770,1.114,0.701,
+0.642,0.965,1.343,0.125,0.645,1.209,1.539,1.023,0.864,2.551,
+1.672,1.010,0.717,1.300,1.117,0.860,0.886,0.978,0.976,0.064,
+0.758,1.206,1.092,0.971,0.811,1.678,1.824,1.497,1.218,2.085,
+0.108,0.093,0.072,0.162,1.596,0.106,1.204,1.933,1.635,1.617,
+1.700,2.738,2.639,1.375,1.293,3.053,1.744,1.325,1.337,2.344,
+2.162,0.133,1.775,2.968,3.167,2.364,2.983,5.069,7.497,2.899,
+2.414,6.333,2.554,1.403,1.124,1.983,2.586,0.190,0.992,1.905,
+4.962,2.997,1.607,3.832,2.692,1.407,0.844,1.616,1.362,0.712,
+0.598,0.898,1.586,0.092,0.836,1.017,1.935,1.556,0.894,1.675,
+2.081,1.429,1.026,2.452,0.145,0.094,0.074,0.222,1.313,0.086,
+0.637,1.071,1.715,1.335,1.223,1.981,4.221,2.164,1.766,4.929,
+2.036,1.142,1.042,2.188,1.778,0.116,0.981,1.800,3.240,1.744,
+2.014,5.201,3.268,1.417,0.964,2.107,1.539,0.771,0.640,0.963,
+1.202,0.089,0.521,0.874,1.509,1.027,0.675,1.578,1.726,0.926,
+0.501,0.951,0.877,0.459,0.403,0.660,0.926,0.056,0.490,0.685,
+1.075,0.752,0.598,1.086,1.460,1.007,0.651,1.378,0.087,0.055,
+0.046,0.106,1.065,0.113,0.500,0.747,1.116,1.068,0.746,1.166,
+1.607,0.914,0.627,1.526,1.086,0.684,0.510,1.047,1.192,0.074,
+0.762,1.304,1.447,0.958,1.215,2.415,2.878,1.101,0.881,1.818,
+1.630,1.071,0.864,1.456,1.545,0.141,0.485,1.082,2.523,1.518,
+0.935,2.748,0.194,0.100,0.061,0.137,0.115,0.077,0.071,0.118,
+0.111,7.35e-3,0.049,0.104,0.233,0.185,0.086,0.231,1.225,0.886,
+0.790,1.361,0.104,0.060,0.055,0.124,0.930,0.070,0.434,0.759,
+1.074,0.980,0.856,1.459,1.679,0.841,0.906,2.084,1.537,0.861,
+0.860,1.623,1.317,0.086,0.744,1.296,1.739,1.176,1.294,2.959,
+4.810,1.621,1.350,3.714,1.703,0.936,1.005,1.617,2.202,0.158,
+0.870,1.850,5.661,2.190,1.528,4.467,2.680,1.208,0.893,1.688,
+1.210,0.785,0.720,1.067,1.521,0.085,0.740,1.346,2.401,1.731,
+1.061,2.528,1.851,1.288,1.163,2.448,0.120,0.078,0.081,0.187,
+1.301,0.079,0.987,1.456,1.865,1.610,1.815,2.718,4.419,1.990,
+2.254,8.685,2.251,1.226,1.388,2.989,2.857,0.171,1.714,3.035,
+5.569,3.379,4.177,10.7,3.399,1.767,1.251,2.981,1.794,1.056,
+0.756,1.318,1.624,0.125,0.598,1.178,2.396,1.739,0.993,2.351,
+1.910,1.161,0.851,1.650,1.134,0.721,0.599,0.914,1.612,0.100,
+0.567,0.887,1.306,1.226,0.725,1.511,1.262,0.950,0.650,1.480,
+0.097,0.081,0.049,0.132,0.801,0.065,0.409,0.782,1.002,0.966,
+0.735,1.531,1.809,0.991,0.932,2.173,1.408,1.024,0.714,1.334,
+1.058,0.084,0.578,1.240,1.691,1.332,1.387,3.631,2.036,1.197,
+0.718,1.330,1.089,0.745,0.501,0.726,0.942,0.067,0.317,0.671,
+1.025,0.782,0.488,1.307,1.324,0.893,0.419,0.831,0.760,0.553,
+0.375,0.616,0.772,0.055,0.387,0.590,0.931,0.686,0.427,0.864,
+1.100,0.799,0.527,1.141,0.071,0.060,0.042,0.086,1.131,0.119,
+0.414,0.904,0.816,0.954,0.675,1.194,1.158,0.675,0.470,1.116,
+1.023,0.728,0.478,0.916,0.892,0.057,0.406,1.143,1.021,0.809,
+0.775,1.765,1.861,0.851,0.684,1.370,1.125,0.784,0.833,1.131,
+1.037,0.107,0.419,0.945,1.334,1.120,0.743,1.986,0.097,0.069,
+0.040,0.089,0.064,0.070,0.072,0.078,0.058,6.77e-3,0.043,0.063,
+0.092,0.109,0.061,0.124,1.228,0.862,0.703,1.253,0.087,0.066,
+0.061,0.105,1.048,0.074,0.458,0.754,0.992,0.976,0.841,1.383,
+1.423,0.735,0.737,1.645,1.416,0.998,1.024,1.538,1.068,0.071,
+0.672,1.184,1.382,1.018,1.209,2.637,2.617,1.177,0.857,1.871,
+1.172,0.740,0.708,1.032,1.316,0.103,0.582,1.191,2.092,1.422,
+0.990,2.857,2.416,1.137,0.730,1.410,0.975,0.853,0.659,1.127,
+0.985,0.073,0.597,1.107,1.420,1.417,0.876,1.980,1.298,1.051,
+0.861,1.663,0.079,0.061,0.050,0.118,0.929,0.069,0.630,1.029,
+1.196,1.176,1.121,2.006,2.456,1.126,1.120,2.706,1.559,0.993,
+0.974,1.857,1.511,0.099,1.069,1.803,2.672,1.911,2.141,4.990,
+3.468,2.024,1.360,3.052,1.655,1.169,0.739,1.426,2.242,0.158,
+0.809,1.333,2.350,1.425,0.957,2.115,2.391,1.458,0.845,1.713,
+1.541,0.985,0.790,1.090,1.604,0.113,1.221,1.222,1.741,1.515,
+1.086,1.912,2.302,1.805,1.044,2.096,0.172,0.141,0.096,0.244,
+1.257,0.114,0.654,1.075,1.352,1.503,1.126,1.898,2.619,1.394,
+1.088,2.816,1.805,1.210,0.976,2.023,1.892,0.141,1.229,2.116,
+2.565,1.875,2.896,5.049,0.176,0.131,0.067,0.158,0.126,0.098,
+0.054,0.109,0.112,0.011,0.057,0.086,0.125,0.116,0.066,0.171,
+0.128,0.101,0.046,0.090,0.158,0.094,0.061,0.097,0.093,9.02e-3,
+0.153,0.088,0.105,0.102,0.067,0.132,0.108,0.102,0.053,0.104,
+9.36e-3,8.86e-3,4.09e-3,0.012,0.091,9.36e-3,0.052,0.078,0.092,0.107,
+0.075,0.136,0.196,0.122,0.076,0.217,0.149,0.132,0.086,0.202,
+0.121,0.013,0.086,0.159,0.182,0.149,0.160,0.348,2.436,1.294,
+0.822,1.415,1.598,1.316,0.935,1.350,1.494,0.197,0.735,1.415,
+1.585,1.788,1.133,3.133,0.121,0.092,0.046,0.093,0.102,0.084,
+0.056,0.072,0.083,9.69e-3,0.062,0.081,0.139,0.168,0.089,0.210,
+1.406,1.480,0.999,1.624,0.097,0.099,0.077,0.151,1.132,0.111,
+0.604,0.953,0.964,1.152,1.069,1.708,1.648,1.245,0.855,1.610,
+1.508,1.319,1.015,1.535,1.491,0.127,1.203,1.651,1.570,1.365,
+1.806,3.317,2.909,1.650,1.004,2.109,1.643,1.222,0.783,1.354,
+1.534,0.138,0.896,1.616,2.068,1.457,1.076,3.098,2.481,1.634,
+0.958,1.726,1.790,1.283,0.839,1.175,1.604,0.107,1.161,1.695,
+2.034,1.893,1.347,3.190,1.856,1.614,1.286,2.206,0.112,0.110,
+0.080,0.176,1.660,0.123,1.177,1.751,1.787,1.935,1.924,2.967,
+2.568,1.535,1.348,2.635,1.707,1.414,1.156,1.793,2.313,0.159,
+1.902,2.636,3.125,2.478,3.097,5.690,9.637,3.548,2.301,5.980,
+2.809,1.634,1.256,2.266,2.990,0.218,1.463,2.474,4.915,2.974,
+2.222,5.400,3.461,1.735,0.978,2.080,1.844,1.098,0.758,1.458,
+1.786,0.106,0.933,1.535,1.985,1.502,1.066,2.415,3.162,2.108,
+1.431,3.729,0.174,0.160,0.100,0.304,1.928,0.152,1.187,1.923,
+2.393,2.334,1.591,3.737,5.288,2.641,2.198,7.042,2.750,2.063,
+1.537,3.767,2.876,0.212,1.839,3.570,5.893,4.665,3.910,15.8,
+4.966,2.503,1.433,3.249,2.404,1.594,1.026,1.705,1.899,0.124,
+0.951,1.662,2.434,1.777,1.161,3.008,3.156,1.973,0.823,1.932,
+2.019,1.655,0.843,1.550,1.587,0.097,1.012,1.630,1.607,1.386,
+0.967,2.295,2.848,1.797,1.085,3.061,0.125,0.103,0.063,0.207,
+1.842,0.123,0.915,1.831,1.936,1.959,1.325,3.161,3.409,1.962,
+1.444,3.909,2.268,1.744,1.225,3.206,2.228,0.135,1.395,2.732,
+3.066,3.002,2.177,6.088,5.089,2.201,1.613,3.073,2.923,1.831,
+1.524,2.736,2.819,0.248,1.372,3.024,3.383,2.526,2.245,5.760,
+0.194,0.146,0.076,0.169,0.138,0.120,0.086,0.147,0.110,9.78e-3,
+0.082,0.154,0.204,0.187,0.121,0.340,2.980,2.257,1.636,3.186,
+0.155,0.129,0.096,0.252,2.329,0.162,1.558,2.397,2.417,2.462,
+2.418,4.793,3.878,2.461,2.022,4.095,3.222,2.632,2.186,4.230,
+3.516,0.216,2.761,4.318,4.078,3.090,4.307,8.027,12.5,4.334,
+2.888,7.386,3.938,2.498,1.783,3.207,4.515,0.306,2.161,4.204,
+7.527,4.406,3.479,12.8,5.635,3.421,1.730,3.715,3.042,2.319,
+1.557,2.606,3.050,0.168,1.936,3.303,4.236,3.215,2.470,6.650,
+5.195,3.810,2.640,5.778,0.226,0.182,0.125,0.334,4.142,0.220,
+2.837,4.957,5.255,4.576,5.012,9.191,13.4,5.764,3.837,12.0,
+4.665,3.266,3.097,6.898,6.244,0.339,4.540,9.245,11.2,6.216,
+6.991,14.5,8.999,3.275,2.179,5.229,4.410,2.279,1.900,2.788,
+4.538,0.424,1.567,2.937,6.306,4.371,2.548,4.474,4.694,2.511,
+2.188,3.276,2.859,1.642,1.485,1.698,2.742,0.209,1.316,1.866,
+2.443,2.011,1.553,2.558,4.309,3.204,2.304,3.858,0.384,0.353,
+0.219,0.483,2.605,0.231,1.187,1.894,2.472,2.516,1.665,2.730,
+6.145,2.697,2.795,5.869,4.204,2.872,2.297,4.284,3.194,0.255,
+1.527,2.622,4.220,2.325,2.425,4.388,5.942,3.001,1.664,3.070,
+2.952,1.862,1.353,1.697,2.476,0.249,0.900,1.628,2.180,1.989,
+1.111,1.999,3.213,1.810,1.064,1.731,1.783,1.151,0.876,0.973,
+1.884,0.159,0.872,1.250,1.318,1.228,0.793,1.211,2.506,2.397,
+1.249,1.991,0.182,0.157,0.117,0.191,1.853,0.174,0.900,1.388,
+1.261,1.623,1.088,1.670,2.265,1.328,0.969,1.853,2.106,1.557,
+1.049,1.640,1.843,0.143,0.965,1.487,1.693,1.344,1.295,2.508,
+3.900,1.693,1.380,2.248,2.574,1.499,1.266,1.595,2.172,0.246,
+0.925,1.764,1.950,1.625,1.300,2.605,0.275,0.191,0.121,0.219,
+0.246,0.192,0.118,0.155,0.184,0.029,0.147,0.201,0.245,0.290,
+0.174,0.297,1.852,1.645,1.308,1.794,0.177,0.154,0.145,0.224,
+1.558,0.201,1.514,1.612,1.115,1.318,1.289,1.392,1.738,1.155,
+1.096,1.924,2.093,1.692,1.341,1.875,1.764,0.167,1.416,1.942,
+1.590,1.434,1.471,2.592,6.289,2.711,1.930,4.826,2.456,1.390,
+1.229,1.808,2.752,0.314,1.157,2.290,3.745,2.560,2.003,4.837,
+3.978,2.326,1.701,2.692,2.432,1.752,1.300,1.599,2.339,0.178,
+1.383,2.124,2.668,2.519,1.870,3.153,2.493,2.259,1.604,2.624,
+0.221,0.179,0.155,0.248,1.930,0.153,1.212,1.915,1.897,2.059,
+1.630,2.393,3.663,1.859,1.673,3.704,2.312,1.505,1.434,2.227,
+2.902,0.187,1.579,3.012,3.475,2.637,2.439,4.818,5.738,3.174,
+2.563,4.113,2.666,1.955,1.447,1.757,2.117,0.240,0.901,1.787,
+2.318,2.325,1.254,2.411,2.869,2.000,1.512,2.007,2.049,1.332,
+1.098,1.335,1.489,0.172,0.899,1.408,1.216,1.297,0.898,1.663,
+2.128,2.366,1.412,2.070,0.227,0.241,0.163,0.263,1.276,0.144,
+0.798,1.179,1.057,1.460,0.979,1.658,2.256,1.208,1.121,2.076,
+2.300,1.725,1.161,1.746,1.361,0.127,0.654,1.214,1.714,1.028,
+1.141,2.564,3.712,2.471,1.172,1.932,2.389,1.828,1.057,1.142,
+1.716,0.189,0.675,1.100,1.404,1.587,0.727,1.327,2.051,1.539,
+0.853,1.211,1.473,0.835,0.772,0.781,1.216,0.155,0.699,1.071,
+0.809,1.015,0.610,0.977,1.608,2.161,0.887,1.324,0.152,0.204,
+0.113,0.141,1.274,0.195,0.711,1.182,0.799,1.702,0.953,1.346,
+1.319,1.013,0.560,1.006,1.449,1.449,0.746,1.029,1.253,0.119,
+0.550,1.032,0.947,0.964,0.725,1.615,2.251,1.347,0.912,1.529,
+1.921,1.800,1.177,1.236,1.461,0.181,0.655,1.110,1.132,1.136,
+0.857,1.571,0.129,0.165,0.077,0.184,0.129,0.260,0.123,0.113,
+0.120,0.027,0.085,0.133,0.097,0.160,0.095,0.159,1.570,2.152,
+1.225,1.577,0.181,0.224,0.162,0.175,1.395,0.167,0.864,1.233,
+0.872,1.385,1.210,1.330,1.083,0.814,0.670,1.084,1.583,1.671,
+1.256,1.352,1.330,0.121,0.809,1.295,1.140,1.007,1.125,1.742,
+2.067,1.106,0.879,1.565,1.365,1.069,0.685,0.929,1.229,0.121,
+0.516,1.032,1.419,1.082,0.777,1.793,1.710,1.484,0.974,1.481,
+1.304,1.483,0.922,1.097,1.307,0.113,0.707,1.244,1.002,1.262,
+0.866,1.521,1.534,2.085,1.196,1.645,0.145,0.174,0.100,0.162,
+1.354,0.130,0.897,1.419,1.067,1.456,1.304,1.839,1.661,1.066,
+0.911,1.524,1.389,1.262,0.931,1.330,1.622,0.121,0.924,1.665,
+1.806,1.667,1.601,2.925,3.240,1.959,1.374,2.688,1.561,1.098,
+0.780,1.229,1.519,0.171,0.675,1.264,1.508,1.458,0.777,1.708,
+2.111,1.459,1.189,1.465,1.200,0.870,0.763,0.821,1.259,0.135,
+0.713,1.002,0.939,1.226,0.624,1.214,1.565,1.844,1.244,1.857,
+0.184,0.247,0.143,0.296,1.013,0.141,0.616,1.211,0.864,1.412,
+0.795,1.707,1.696,1.161,1.031,1.982,1.430,1.419,0.883,1.572,
+1.400,0.172,0.821,1.590,1.476,1.225,1.395,3.548,0.208,0.168,
+0.121,0.257,0.167,0.155,0.092,0.133,0.134,0.022,0.068,0.113,
+0.116,0.152,0.068,0.141,0.160,0.141,0.088,0.136,0.134,0.128,
+0.085,0.084,0.126,0.025,0.078,0.107,0.092,0.136,0.062,0.112,
+0.121,0.207,0.116,0.148,0.021,0.048,0.024,0.025,0.123,0.031,
+0.090,0.157,0.097,0.201,0.096,0.167,0.179,0.129,0.100,0.195,
+0.233,0.297,0.169,0.248,0.162,0.024,0.114,0.183,0.170,0.171,
+0.160,0.334,1.422,1.039,0.694,1.041,1.117,1.170,0.732,0.773,
+1.129,0.194,1.289,1.277,0.785,0.957,0.741,1.053,0.132,0.233,
+0.061,0.078,0.090,0.183,0.068,0.064,0.115,0.026,0.088,0.092,
+0.089,0.164,0.074,0.101,1.088,2.356,0.735,0.882,0.179,0.762,
+0.094,0.123,0.995,0.197,0.447,0.811,0.604,1.064,0.588,0.759,
+0.962,0.743,0.471,0.661,1.058,1.796,0.681,0.888,1.134,0.141,
+0.659,0.963,0.682,0.942,0.699,1.030,1.688,0.922,0.640,1.422,
+1.011,0.672,0.446,0.673,0.977,0.110,0.482,0.888,1.097,0.935,
+0.586,1.315,1.880,1.309,0.736,1.031,1.195,1.120,0.642,0.713,
+1.152,0.138,0.671,1.044,1.182,1.406,0.700,1.168,1.449,1.737,
+0.900,1.646,0.150,0.261,0.090,0.182,1.355,0.166,0.956,2.749,
+1.009,1.527,0.963,1.672,1.501,0.836,0.720,1.060,1.551,1.385,
+0.761,1.098,1.622,0.155,1.084,1.757,1.655,1.548,1.351,2.370,
+4.653,2.470,2.034,4.981,1.950,1.091,0.937,1.608,1.752,0.190,
+0.780,1.507,2.887,2.187,1.262,2.961,2.221,1.088,1.023,1.580,
+1.312,0.743,0.609,0.847,1.164,0.114,0.694,1.204,1.304,1.336,
+0.672,1.359,1.729,1.471,1.055,2.152,0.163,0.126,0.107,0.246,
+1.050,0.102,0.555,1.094,1.096,1.234,0.727,1.669,2.660,1.400,
+1.495,3.572,1.777,1.238,1.099,2.196,1.603,0.136,1.060,1.828,
+2.525,1.766,1.868,4.927,3.657,2.129,1.686,5.603,2.175,1.407,
+1.051,1.901,1.690,0.178,0.784,1.684,1.514,1.492,0.910,1.811,
+2.209,1.354,0.912,2.293,1.529,1.015,0.756,1.057,1.293,0.126,
+0.687,1.338,1.134,1.125,0.603,1.218,1.530,1.487,1.071,1.772,
+0.116,0.138,0.089,0.181,1.321,0.133,0.710,1.396,1.081,1.464,
+0.851,1.810,1.894,1.048,0.979,1.982,1.802,1.520,1.035,2.087,
+1.495,0.120,0.905,1.600,1.673,1.473,1.391,3.082,1.910,1.026,
+0.788,1.537,1.664,1.027,0.773,1.260,1.466,0.215,0.777,1.258,
+1.346,1.552,0.997,1.706,0.143,0.112,0.070,0.127,0.111,0.115,
+0.075,0.093,0.105,0.014,0.075,0.132,0.134,0.170,0.081,0.143,
+1.291,1.553,0.903,1.367,0.112,0.168,0.071,0.161,1.297,0.128,
+0.623,1.025,0.927,1.364,0.917,1.314,1.351,0.876,0.785,1.416,
+1.539,1.317,0.983,1.681,1.619,0.130,0.888,1.515,1.250,1.257,
+1.222,1.962,3.296,1.426,1.196,2.862,1.583,1.014,0.736,1.237,
+1.721,0.162,0.789,1.493,2.453,1.631,1.363,3.323,1.935,1.095,
+0.782,1.364,1.256,0.929,0.687,0.898,1.249,0.098,0.790,1.401,
+1.924,1.519,0.945,1.829,2.060,1.899,1.227,2.208,0.155,0.142,
+0.089,0.195,1.814,0.131,1.090,2.117,2.000,2.148,1.586,2.553,
+2.968,1.599,1.337,3.125,2.574,1.956,1.371,2.390,2.898,0.175,
+1.779,3.229,4.649,3.164,2.783,5.302,5.124,3.076,2.789,4.444,
+3.380,2.225,1.664,2.178,2.862,0.347,1.402,2.387,3.564,3.073,
+1.889,2.886,2.921,2.291,1.398,1.789,2.353,1.673,1.269,1.320,
+2.047,0.231,1.283,1.551,1.479,1.807,1.353,1.698,2.008,2.446,
+1.685,2.411,0.211,0.254,0.158,0.294,1.855,0.181,0.818,1.175,
+1.248,1.666,1.377,1.675,2.361,1.331,1.075,2.248,2.294,1.767,
+1.186,2.006,1.811,0.240,0.941,1.663,2.111,1.462,1.523,2.890,
+3.328,2.191,1.096,2.006,3.125,1.997,1.043,1.274,1.791,0.250,
+0.820,1.224,1.389,1.699,0.828,1.473,2.027,1.692,0.831,1.349,
+1.645,1.127,0.765,0.924,1.555,0.242,1.206,1.512,0.946,1.434,
+0.753,1.063,1.330,1.817,0.834,1.025,0.169,0.166,0.117,0.141,
+1.505,0.211,0.827,1.081,0.921,1.667,0.972,1.187,1.168,0.897,
+0.498,0.893,1.524,1.361,0.688,1.102,1.224,0.130,0.747,1.105,
+1.055,1.048,1.083,1.895,2.001,1.642,0.787,1.371,3.177,2.680,
+1.092,1.492,1.671,0.271,0.977,1.263,1.169,1.281,0.898,1.493,
+0.258,0.267,0.101,0.187,0.894,0.386,0.150,0.194,0.175,0.038,
+0.139,0.187,0.156,0.261,0.128,0.182,1.209,2.521,1.087,1.175,
+0.187,0.187,0.117,0.192,1.316,0.202,1.272,2.022,0.805,1.303,
+1.109,1.281,0.899,0.920,0.918,1.049,1.500,1.511,0.955,1.363,
+1.448,0.202,1.430,1.790,1.142,1.283,1.174,1.849,2.376,1.265,
+0.956,2.474,1.404,1.137,0.636,0.963,1.342,0.210,0.942,1.145,
+1.571,1.216,1.016,2.048,2.264,1.768,1.082,1.916,2.614,2.033,
+1.042,1.317,1.321,0.167,0.984,1.364,1.146,1.511,0.963,1.534,
+1.280,1.462,1.216,1.777,0.161,0.142,0.287,0.286,1.082,0.132,
+0.764,1.252,0.873,1.549,0.978,1.417,1.567,1.020,1.538,1.889,
+1.156,1.025,1.076,1.331,1.636,0.156,1.070,1.781,1.981,2.440,
+1.691,3.391,3.496,2.459,2.536,2.788,2.641,2.296,1.527,1.660,
+1.556,0.216,0.833,1.473,1.512,1.565,1.103,1.715,1.999,1.820,
+1.103,1.243,2.064,1.843,1.365,1.228,1.357,0.250,0.985,1.336,
+0.835,1.252,0.768,1.215,1.438,2.009,1.494,1.455,0.185,0.244,
+0.195,0.226,1.019,0.157,0.798,0.920,0.783,1.287,0.941,1.289,
+1.459,0.808,0.760,1.264,1.693,1.558,1.069,1.416,0.999,0.119,
+0.631,0.907,1.590,0.884,0.940,1.927,2.228,1.872,0.832,1.247,
+1.953,2.151,0.952,1.013,1.282,0.181,0.616,0.866,0.866,1.163,
+0.677,0.947,1.520,1.487,0.721,0.885,1.029,0.580,0.675,0.721,
+1.115,0.239,0.803,1.128,0.555,1.114,0.594,0.786,1.142,2.168,
+0.756,0.897,0.150,0.264,0.134,0.150,1.059,0.228,0.807,1.158,
+0.625,1.598,1.164,1.170,0.872,0.864,0.425,0.642,1.265,1.843,
+0.697,1.018,0.938,0.128,0.691,0.999,0.736,0.845,0.783,1.347,
+1.630,1.619,0.695,1.053,2.521,4.364,1.277,1.255,1.684,0.342,
+0.818,1.052,0.920,1.278,0.766,1.183,0.116,0.289,0.095,0.153,
+0.304,0.896,0.201,0.152,0.128,0.058,0.124,0.147,0.076,0.204,
+0.098,0.118,1.420,2.717,1.100,1.125,0.260,0.435,0.198,0.183,
+1.587,0.242,0.948,1.168,0.894,1.563,1.677,1.233,0.869,0.848,
+0.704,0.848,1.970,2.476,2.020,1.640,1.789,0.193,0.999,1.296,
+1.130,1.226,1.252,1.577,1.257,0.972,0.566,1.105,1.217,1.525,
+0.530,0.707,0.926,0.122,0.514,0.712,0.963,0.991,0.593,1.068,
+1.172,1.543,0.815,1.272,1.500,3.090,0.975,1.079,0.800,0.136,
+0.666,0.922,0.597,1.128,0.747,0.954,1.196,2.423,1.147,1.432,
+0.143,0.292,0.125,0.144,0.891,0.132,0.825,1.007,0.688,1.241,
+1.178,1.338,1.078,0.842,0.710,1.037,1.158,1.267,0.966,1.043,
+1.143,0.105,0.758,1.129,1.251,1.475,1.402,2.179,2.191,1.801,
+1.029,1.723,1.476,1.157,0.724,1.228,1.549,0.174,0.620,1.065,
+1.126,1.128,0.598,1.217,1.777,2.077,0.795,1.180,1.419,1.385,
+0.843,1.040,1.366,0.251,0.966,1.388,0.855,1.364,0.576,1.170,
+0.976,1.647,0.909,1.328,0.133,0.228,0.144,0.280,1.019,0.190,
+0.690,1.570,0.607,1.308,0.755,1.563,0.942,0.803,0.496,1.131,
+1.069,1.313,0.779,1.305,1.074,0.133,0.856,1.667,0.949,0.852,
+0.932,2.498,0.135,0.147,0.066,0.127,0.215,0.228,0.142,0.147,
+0.205,0.046,0.104,0.116,0.086,0.151,0.081,0.121,0.121,0.244,
+0.062,0.109,0.168,0.214,0.120,0.121,0.148,0.068,0.139,0.148,
+0.066,0.155,0.065,0.098,0.090,0.215,0.092,0.108,0.025,0.082,
+0.052,0.034,0.155,0.072,0.150,0.194,0.071,0.198,0.137,0.156,
+0.081,0.091,0.048,0.099,0.180,0.323,0.147,0.209,0.124,0.028,
+0.118,0.162,0.097,0.106,0.107,0.185,1.487,2.284,0.786,1.194,
+1.358,1.950,1.076,1.114,2.002,0.692,11.4,6.961,0.839,1.758,
+1.456,1.443,0.210,1.311,0.118,0.137,0.140,0.371,0.155,0.111,
+0.169,0.088,0.378,0.295,0.094,0.355,0.115,0.122,1.093,3.548,
+0.859,0.960,0.160,0.460,0.139,0.157,1.345,0.325,0.793,1.190,
+0.621,1.577,0.965,1.066,0.662,0.985,0.419,0.699,1.140,2.164,
+0.935,1.236,1.719,0.248,1.249,1.371,0.751,1.106,0.977,1.237,
+1.283,0.981,0.480,0.996,0.865,0.737,0.419,0.545,0.893,0.161,
+1.037,1.062,0.863,1.351,0.585,1.104,1.525,2.566,0.748,1.007,
+1.349,1.872,0.875,0.985,1.246,0.247,1.105,1.388,0.938,1.886,
+0.788,1.129,1.639,2.144,0.893,1.198,0.124,0.208,0.104,0.143,
+1.320,0.229,1.032,1.579,0.806,1.742,1.055,1.422,0.836,0.701,
+0.446,0.839,0.937,1.160,0.648,0.904,1.303,0.145,1.204,1.505,
+1.118,1.388,1.166,1.870,2.087,1.296,0.920,2.010,1.185,0.727,
+0.546,1.001,1.067,0.116,0.444,1.132,1.349,1.000,0.586,1.517,
+1.353,0.939,0.526,0.991,0.951,0.656,0.496,0.822,0.904,0.111,
+0.554,2.604,0.863,0.737,0.408,1.122,0.862,0.916,0.563,1.019,
+0.077,0.080,0.054,0.134,0.598,0.075,0.393,0.917,0.579,0.702,
+0.496,1.050,1.138,0.699,0.562,1.468,0.882,0.693,0.511,1.118,
+0.801,0.074,0.532,1.150,1.064,0.766,0.824,2.113,1.936,1.311,
+0.841,1.946,1.834,1.350,0.965,1.668,1.516,0.175,0.736,1.225,
+0.965,1.169,0.654,1.248,1.349,1.191,0.554,1.127,1.222,1.177,
+0.724,1.008,1.053,0.156,0.698,1.193,0.740,1.043,0.550,0.989,
+0.820,1.239,0.600,0.952,0.082,0.159,0.090,0.155,0.963,0.154,
+0.718,1.282,0.701,1.207,0.795,1.299,0.836,0.678,0.488,1.017,
+1.314,1.499,0.899,1.861,0.969,0.110,0.789,1.251,0.959,0.956,
+0.925,1.802,1.318,0.972,0.598,1.144,1.353,1.301,0.801,1.209,
+1.316,0.220,1.275,1.565,0.995,1.120,0.879,1.436,0.096,0.190,
+0.054,0.093,0.113,0.169,0.084,0.089,0.080,0.021,0.078,0.122,
+0.079,0.131,0.081,0.115,0.888,1.443,0.651,1.018,0.102,0.135,
+0.069,0.130,1.099,0.164,0.706,1.057,0.713,1.258,0.945,1.182,
+0.781,0.699,0.510,0.832,1.157,1.212,0.774,1.250,1.428,0.177,
+1.010,1.379,0.959,1.089,1.226,1.652,1.742,0.998,0.677,1.908,
+1.026,0.952,0.503,0.811,1.060,0.124,0.554,1.065,1.144,0.924,
+0.737,1.729,1.402,1.097,0.592,1.169,1.048,1.128,0.617,0.845,
+0.843,0.082,0.587,1.027,1.044,0.996,0.728,1.386,1.656,1.488,
+0.898,1.507,0.137,0.106,0.070,0.143,1.203,0.131,0.871,1.510,
+1.147,1.626,1.413,1.848,1.590,1.064,0.857,1.852,1.729,1.544,
+0.977,1.541,1.751,0.155,1.389,2.327,2.409,2.225,2.102,2.996,
+3.033,1.774,1.492,2.892,2.044,1.583,1.197,1.527,1.484,0.206,
+0.920,1.254,2.217,2.071,0.987,1.948,1.605,1.246,0.661,1.076,
+1.284,0.846,0.666,0.811,0.987,0.122,0.589,0.811,0.880,1.021,
+0.622,1.060,1.254,1.149,0.866,1.319,0.138,0.121,0.089,0.182,
+0.954,0.094,0.524,0.745,0.790,0.976,0.716,1.154,1.663,0.868,
+0.745,1.580,1.489,0.998,0.807,1.304,0.932,0.085,0.513,0.916,
+1.270,0.802,0.909,1.997,2.540,1.602,1.062,1.893,2.017,1.476,
+2.130,2.073,1.350,0.192,0.592,0.948,1.240,1.435,0.672,1.329,
+1.507,1.182,0.614,1.113,1.155,0.639,0.756,0.849,1.277,0.234,
+0.695,0.896,0.783,1.134,0.529,0.844,1.384,1.559,0.933,1.281,
+0.176,0.156,0.136,0.205,1.259,0.165,0.808,1.093,0.797,1.371,
+0.953,1.261,1.160,0.766,0.519,1.033,1.635,1.317,0.823,1.284,
+1.010,0.104,0.589,0.992,0.905,0.884,0.853,1.932,1.723,0.922,
+0.600,1.152,1.723,1.205,1.191,1.225,1.570,0.235,0.571,0.888,
+1.474,1.374,0.794,1.528,0.147,0.144,0.081,0.188,0.189,0.163,
+0.120,0.154,0.158,0.035,0.102,0.133,0.172,0.331,0.126,0.197,
+1.155,1.011,0.853,1.017,0.130,0.102,0.102,0.158,0.942,0.131,
+0.582,0.772,0.655,1.055,0.798,1.068,0.902,0.539,0.498,0.875,
+1.341,1.077,0.872,1.180,0.978,0.109,0.614,0.876,0.911,0.953,
+0.898,1.494,1.956,0.871,0.648,1.598,0.987,0.671,0.603,0.865,
+1.164,0.140,0.497,0.877,1.554,1.146,0.772,1.899,1.522,1.027,
+0.752,1.451,1.198,0.850,0.756,0.955,1.061,0.117,0.694,1.003,
+1.106,1.179,0.717,1.294,1.218,1.232,1.036,1.486,0.134,0.110,
+0.103,0.192,0.985,0.104,0.681,1.042,0.990,1.381,1.093,1.607,
+1.685,0.957,0.813,1.674,1.370,1.074,0.836,1.352,1.457,0.140,
+1.023,1.824,2.498,2.153,2.025,4.135,0.204,0.141,0.126,0.151,
+0.161,0.144,0.101,0.128,0.125,0.019,0.053,0.082,0.122,0.155,
+0.071,0.131,0.163,0.129,0.083,0.113,0.166,0.131,0.127,0.123,
+0.115,0.024,0.069,0.102,0.079,0.111,0.068,0.170,0.116,0.145,
+0.087,0.116,0.033,0.030,0.017,0.028,0.082,0.016,0.058,0.080,
+0.065,0.107,0.073,0.106,0.132,0.083,0.066,0.120,0.223,0.184,
+0.108,0.143,0.095,0.014,0.058,0.101,0.122,0.079,0.096,0.179,
+0.173,0.152,0.078,0.126,0.162,0.178,0.156,0.184,0.129,0.028,
+0.052,0.081,0.090,0.133,0.061,0.096,0.173,0.168,0.084,0.122,
+0.198,0.151,0.142,0.149,0.164,0.048,0.089,0.122,0.070,0.144,
+0.069,0.123,0.120,0.200,0.102,0.119,0.029,0.047,0.033,0.030,
+0.143,0.047,0.098,0.119,0.070,0.172,0.123,0.123,0.107,0.092,
+0.054,0.097,0.198,0.219,0.121,0.147,0.103,0.018,0.073,0.100,
+0.087,0.101,0.085,0.185,0.119,0.086,0.049,0.094,0.153,0.206,
+0.138,0.116,0.132,0.040,0.061,0.078,0.085,0.135,0.075,0.101,
+0.015,0.019,0.014,0.045,0.028,0.047,0.037,0.025,0.025,0.020,
+0.024,0.024,9.36e-3,0.034,0.018,0.021,0.109,0.148,0.115,0.134,
+0.024,0.037,0.036,0.028,0.138,0.040,0.107,0.112,0.070,0.174,
+0.117,0.113,0.093,0.067,0.062,0.091,0.177,0.207,0.174,0.154,
+0.118,0.020,0.097,0.111,0.093,0.112,0.102,0.149,0.152,0.113,
+0.072,0.128,0.117,0.109,0.078,0.096,0.126,0.019,0.050,0.083,
+0.123,0.116,0.091,0.174,0.210,0.185,0.131,0.225,0.216,0.237,
+0.173,0.176,0.167,0.031,0.118,0.166,0.134,0.219,0.130,0.182,
+0.154,0.247,0.177,0.181,0.021,0.033,0.024,0.041,0.142,0.025,
+0.115,0.150,0.100,0.187,0.148,0.188,0.170,0.131,0.091,0.157,
+0.182,0.172,0.120,0.154,0.161,0.021,0.125,0.184,0.200,0.213,
+0.217,0.367,1.761,1.051,0.704,1.296,1.087,0.874,0.587,0.875,
+1.333,0.148,0.471,0.721,0.914,0.803,0.494,0.815,1.181,0.971,
+0.512,0.777,0.951,0.803,0.847,0.718,0.942,0.136,0.779,0.900,
+0.562,0.882,0.476,0.751,1.083,1.492,0.858,1.189,0.165,0.200,
+0.159,0.252,0.916,0.135,0.659,0.898,0.577,1.056,0.669,0.982,
+0.876,0.610,0.485,0.980,0.964,0.934,0.598,1.006,0.866,0.098,
+0.610,0.956,0.753,0.663,0.714,1.553,0.129,0.111,0.058,0.109,
+0.132,0.154,0.107,0.111,0.101,0.022,0.066,0.086,0.072,0.094,
+0.051,0.084,0.097,0.090,0.045,0.065,0.117,0.111,0.114,0.090,
+0.101,0.032,0.110,0.122,0.047,0.087,0.046,0.061,0.108,0.177,
+0.096,0.108,0.023,0.045,0.032,0.036,0.120,0.037,0.112,0.122,
+0.073,0.144,0.089,0.099,0.114,0.083,0.053,0.118,0.175,0.213,
+0.123,0.172,0.112,0.020,0.105,0.125,0.070,0.084,0.082,0.147,
+1.178,0.872,0.535,0.701,1.231,1.204,1.228,0.932,1.063,0.196,
+0.763,0.844,0.599,0.833,0.610,0.869,0.097,0.156,0.064,0.089,
+0.122,0.174,0.126,0.089,0.110,0.038,0.145,0.105,0.061,0.142,
+0.077,0.087,1.009,1.309,0.829,0.822,0.140,0.191,0.150,0.163,
+0.931,0.191,0.377,0.597,0.474,1.036,0.709,0.847,0.648,0.492,
+0.394,0.518,1.126,1.231,0.843,0.976,0.941,0.158,0.827,0.895,
+0.573,0.829,0.764,1.027,1.083,0.680,0.504,1.004,0.791,0.579,
+0.445,0.577,0.777,0.095,0.425,0.610,0.650,0.624,0.412,0.802,
+1.156,1.025,0.599,0.761,1.170,1.193,0.816,0.750,0.948,0.141,
+0.855,0.931,0.703,1.047,0.654,0.798,2.000,2.524,1.024,1.815,
+0.201,0.299,0.151,0.672,1.339,0.194,1.160,1.423,0.833,1.516,
+1.123,1.281,1.039,0.918,0.544,0.985,1.659,2.061,0.781,1.363,
+1.252,0.166,1.032,1.296,1.097,1.341,1.181,1.677,1.752,0.953,
+0.617,1.397,0.929,0.593,0.447,0.696,0.840,0.103,0.340,0.580,
+1.308,0.965,0.500,1.255,1.092,0.660,0.401,0.715,0.678,0.448,
+0.369,0.504,0.563,0.058,0.362,0.606,0.524,0.587,0.348,0.652,
+0.915,1.035,0.514,1.021,0.086,0.090,0.056,0.126,0.597,0.069,
+0.352,0.626,0.632,0.790,0.555,0.916,1.315,0.960,0.593,1.382,
+0.891,0.717,0.507,0.980,0.711,0.069,0.424,0.715,1.076,0.777,
+0.832,1.797,1.829,1.199,0.728,1.563,1.288,1.070,0.834,1.026,
+1.116,0.133,0.550,1.070,1.014,1.091,0.561,1.225,1.250,0.988,
+0.524,1.038,1.058,0.940,0.726,0.868,1.009,0.123,0.674,1.200,
+0.698,0.993,0.509,0.884,1.182,1.392,0.797,1.222,0.105,0.146,
+0.100,0.153,0.979,0.133,0.786,1.127,0.810,1.209,0.863,1.310,
+1.261,0.921,0.690,1.394,1.304,1.353,0.858,1.473,1.007,0.100,
+0.716,1.065,0.926,0.940,0.829,1.558,1.541,0.925,0.629,0.956,
+1.380,1.142,1.132,1.227,1.433,0.235,0.740,1.232,0.911,1.084,
+0.798,1.437,0.121,0.116,0.059,0.099,0.134,0.165,0.122,0.114,
+0.105,0.023,0.098,0.124,0.086,0.156,0.084,0.125,1.324,1.443,
+0.832,1.251,0.121,0.128,0.102,0.156,1.178,0.161,0.695,1.003,
+0.776,1.269,0.983,1.211,1.064,0.783,0.684,0.898,1.445,1.241,
+1.071,1.320,1.245,0.130,1.028,1.248,1.000,1.104,1.293,1.622,
+1.930,0.914,0.755,1.402,1.014,0.754,0.615,0.756,1.152,0.174,
+0.586,0.985,0.975,0.810,0.661,1.598,1.428,1.057,0.643,1.087,
+1.132,1.055,0.849,0.893,1.016,0.104,0.973,1.403,0.917,0.982,
+0.818,1.262,1.887,1.807,1.075,1.785,0.152,0.161,0.100,0.236,
+1.583,0.162,1.209,1.952,1.343,1.854,1.557,2.163,1.998,1.188,
+0.911,1.982,1.921,1.795,1.239,1.791,1.826,0.154,1.350,2.362,
+2.424,1.982,2.112,3.803,3.666,2.111,1.786,3.703,2.114,1.463,
+1.021,1.514,1.933,0.192,0.772,1.418,2.886,2.403,1.166,2.631,
+1.838,1.007,0.628,1.049,1.144,0.733,0.503,0.684,1.120,0.086,
+0.538,0.711,1.024,1.011,0.492,0.980,1.389,1.088,0.753,1.445,
+0.142,0.106,0.087,0.167,0.877,0.073,0.432,0.713,0.951,1.012,
+0.688,1.250,2.439,1.222,0.928,2.110,1.857,1.150,0.827,1.463,
+1.182,0.096,0.627,1.128,1.910,1.144,1.182,2.920,2.219,1.068,
+0.775,1.560,1.281,0.754,0.713,0.876,0.980,0.103,0.394,0.781,
+1.297,1.010,0.489,1.188,1.318,0.733,0.438,0.819,0.779,0.362,
+0.348,0.498,0.779,0.070,0.380,0.564,0.784,0.700,0.355,0.745,
+0.993,0.836,0.630,0.966,0.098,0.067,0.060,0.091,0.723,0.063,
+0.345,0.575,0.730,0.792,0.621,0.922,1.064,0.589,0.436,0.948,
+1.287,0.700,0.457,0.833,0.697,0.053,0.372,0.717,0.852,0.699,
+0.657,1.695,1.652,0.823,0.638,1.293,1.322,0.882,0.708,1.065,
+1.168,0.137,0.425,0.758,1.500,1.255,0.722,1.709,0.154,0.096,
+0.061,0.157,0.153,0.096,0.074,0.150,0.108,0.014,0.070,0.101,
+0.169,0.194,0.083,0.193,1.152,0.776,0.674,0.906,0.088,0.068,
+0.055,0.104,0.720,0.067,0.320,0.568,0.651,0.778,0.603,0.866,
+0.951,0.545,0.515,0.957,1.134,0.810,0.595,1.061,0.800,0.068,
+0.475,0.801,0.952,0.850,0.759,1.576,2.563,0.971,0.815,2.144,
+1.029,0.644,0.549,1.011,1.273,0.117,0.535,1.006,2.480,1.459,
+1.006,2.573,1.537,0.821,0.691,1.529,1.030,0.648,0.562,1.118,
+1.014,0.078,0.579,0.967,1.269,1.212,0.724,1.464,1.160,0.951,
+0.798,1.248,0.105,0.078,0.070,0.131,0.914,0.069,0.566,0.934,
+1.010,1.155,0.953,1.427,2.139,1.122,0.987,2.098,1.562,1.109,
+0.783,1.538,1.576,0.116,0.974,1.792,2.766,2.216,1.962,4.692,
+3.285,1.840,1.401,2.725,1.883,1.233,0.949,1.369,1.727,0.168,
+0.572,1.082,1.885,1.731,0.894,1.982,2.289,1.249,0.793,1.383,
+1.481,0.996,0.793,0.997,1.186,0.130,0.598,1.045,0.933,1.059,
+0.654,1.306,1.444,1.402,0.842,1.518,0.208,0.169,0.109,0.186,
+0.862,0.107,0.518,0.927,0.978,1.124,0.803,1.423,1.790,1.017,
+0.731,1.514,2.698,1.639,0.907,1.458,1.041,0.097,0.575,1.104,
+1.570,0.949,1.044,2.140,2.208,1.454,0.798,1.468,1.607,1.206,
+0.916,1.081,1.433,0.148,0.399,0.750,1.262,1.249,0.586,1.299,
+1.777,1.343,0.666,1.221,1.410,0.905,0.736,1.012,1.293,0.150,
+0.544,0.909,0.796,1.045,0.565,1.041,1.112,1.440,0.800,1.217,
+0.152,0.208,0.153,0.168,1.005,0.148,0.542,0.887,0.807,1.331,
+0.901,1.368,1.070,0.882,0.508,1.083,1.718,1.652,0.856,1.198,
+0.870,0.093,0.484,0.859,1.112,1.035,0.738,2.086,1.432,0.848,
+0.532,1.094,1.185,1.024,0.810,1.015,0.971,0.152,0.437,0.653,
+0.940,0.998,0.632,1.288,0.096,0.085,0.054,0.151,0.115,0.136,
+0.092,0.112,0.091,0.025,0.076,0.099,0.094,0.165,0.088,0.127,
+1.124,1.150,0.856,1.145,0.132,0.128,0.106,0.145,1.029,0.133,
+0.591,0.832,0.720,1.193,0.981,1.182,1.035,0.659,0.605,1.150,
+1.695,1.502,1.125,1.410,1.082,0.103,0.686,1.152,0.985,0.937,
+1.016,1.803,1.565,0.890,0.708,1.411,0.920,0.741,0.574,0.831,
+0.957,0.099,0.434,0.724,1.238,0.976,0.763,1.647,1.517,1.093,
+0.820,1.610,1.191,1.100,0.869,1.098,1.014,0.132,0.709,1.179,
+1.079,1.638,0.963,1.524,1.118,1.287,1.033,1.521,0.129,0.125,
+0.084,0.137,0.992,0.100,0.694,1.089,0.902,1.329,1.074,1.590,
+1.600,1.132,0.851,1.546,1.879,1.310,0.860,1.186,1.405,0.137,
+1.040,1.497,1.839,1.717,1.674,3.165,1.562,1.105,0.723,1.566,
+0.921,0.756,0.531,1.009,0.887,0.089,0.370,0.720,1.062,0.867,
+0.517,1.178,1.260,0.965,0.521,1.008,0.805,0.686,0.530,0.599,
+0.824,0.093,0.573,0.711,0.679,0.974,0.527,0.992,1.045,1.311,
+0.893,1.244,0.147,0.188,0.159,0.203,0.834,0.110,0.544,0.872,
+0.668,1.012,0.643,1.182,1.079,0.943,0.564,1.316,1.074,1.156,
+0.798,1.213,1.034,0.107,0.614,1.263,1.319,0.944,0.931,2.352,
+0.099,0.080,0.046,0.123,0.093,0.088,0.061,0.082,0.075,0.014,
+0.048,0.070,0.089,0.102,0.071,0.140,0.080,0.068,0.040,0.076,
+0.079,0.083,0.056,0.063,0.072,0.014,0.084,0.078,0.056,0.085,
+0.050,0.076,0.078,0.110,0.116,0.112,0.013,0.026,0.034,0.020,
+0.130,0.022,0.075,0.105,0.070,0.117,0.080,0.130,0.099,0.091,
+0.064,0.131,0.147,0.198,0.152,0.172,0.105,0.013,0.082,0.121,
+0.107,0.097,0.096,0.208,1.051,0.750,0.534,0.898,0.917,0.861,
+0.948,0.871,0.836,0.154,1.445,0.871,0.652,0.878,0.753,1.116,
+0.080,0.107,0.055,0.083,0.071,0.097,0.077,0.056,0.094,0.028,
+0.603,0.126,0.068,0.125,0.123,0.097,0.827,1.230,0.650,0.932,
+0.087,0.134,0.083,0.103,0.875,0.119,0.452,0.596,0.497,0.913,
+0.588,0.853,0.743,0.577,0.435,0.693,0.976,1.033,0.715,0.954,
+1.017,0.114,1.788,1.161,0.709,0.830,0.970,1.459,1.125,0.686,
+0.489,1.024,0.751,0.563,0.454,0.605,0.767,0.081,0.511,0.636,
+0.942,0.745,0.594,1.190,1.224,1.020,0.681,1.051,0.920,0.971,
+0.678,0.679,0.900,0.108,1.357,0.975,0.923,1.170,0.941,1.228,
+1.330,1.761,0.956,1.658,0.259,0.486,0.125,0.214,1.105,0.147,
+0.794,1.188,0.980,1.467,1.103,1.534,1.109,1.005,0.634,1.204,
+1.301,1.801,0.724,1.132,1.368,0.148,1.167,1.349,1.445,1.685,
+1.418,2.553,3.342,1.389,1.028,2.561,1.289,0.763,0.619,1.164,
+1.211,0.120,0.484,1.023,1.802,1.353,0.780,2.105,1.454,0.848,
+0.530,1.207,0.826,0.552,0.449,0.848,0.861,0.080,0.419,0.794,
+0.803,0.932,0.477,0.974,1.287,1.271,0.699,1.653,0.097,0.098,
+0.064,0.166,0.815,0.083,0.411,0.847,0.996,1.096,0.639,1.395,
+2.101,1.141,0.864,2.293,1.384,0.981,0.725,1.556,1.169,0.095,
+0.664,1.541,2.271,1.378,1.367,3.856,1.646,0.917,0.645,1.523,
+1.022,0.703,0.642,0.799,0.952,0.095,0.385,0.885,1.067,0.985,
+0.581,1.961,1.180,0.766,0.480,1.250,0.761,0.526,0.417,0.654,
+0.884,0.085,0.544,1.034,0.684,0.875,0.607,1.185,0.975,0.910,
+0.777,1.214,0.072,0.081,0.095,0.105,0.840,0.081,0.508,0.914,
+0.821,1.054,0.782,1.471,1.253,0.770,0.645,1.314,1.276,1.052,
+0.845,1.329,0.930,0.074,0.599,1.056,1.120,0.970,0.883,2.175,
+1.813,1.028,0.803,1.707,1.460,1.002,0.998,1.519,1.248,0.159,
+0.728,1.122,1.248,1.239,0.993,2.110,0.124,0.097,0.061,0.139,
+0.095,0.095,0.078,0.104,0.090,0.015,0.116,0.101,0.103,0.151,
+0.086,0.155,1.586,1.454,1.032,2.059,0.108,0.101,0.078,0.177,
+1.204,0.121,0.693,1.053,1.017,1.328,1.187,1.665,1.776,1.044,
+0.942,1.569,1.912,1.308,1.151,1.837,1.821,0.178,1.687,1.829,
+1.556,1.362,1.918,2.773,3.548,1.359,1.076,2.563,1.487,1.059,
+0.812,1.231,1.725,0.144,0.740,1.425,2.527,1.686,1.304,3.595,
+2.093,1.392,0.877,1.818,1.474,1.552,1.025,1.217,2.047,0.150,
+1.012,1.603,1.767,1.642,1.119,2.335,2.458,2.171,1.411,2.838,
+0.151,0.161,0.093,0.203,2.067,0.158,1.252,2.351,2.393,2.571,
+2.049,3.654,4.011,2.074,1.672,4.052,2.683,1.982,1.637,3.076,
+3.167,0.203,2.079,4.068,5.336,3.759,3.595,7.537,5.391,2.884,
+2.388,4.304,3.298,2.396,1.811,2.272,3.872,0.377,1.455,2.375,
+4.140,3.424,1.817,3.367,3.668,2.416,1.493,2.206,2.690,1.833,
+1.337,1.368,2.315,0.219,1.225,1.526,1.621,1.730,1.187,1.866,
+2.797,2.330,1.770,2.236,0.261,0.291,0.195,0.325,1.990,0.211,
+0.984,1.334,1.518,2.063,1.307,1.917,3.636,1.933,1.634,2.920,
+2.769,2.174,1.800,2.730,2.071,0.189,1.088,1.726,2.610,1.701,
+1.731,3.109,4.095,2.483,1.307,2.350,2.635,2.109,1.195,1.503,
+2.281,0.274,0.792,1.366,1.605,1.777,0.819,1.500,2.893,2.152,
+1.048,1.667,2.013,1.545,1.003,0.988,1.975,0.291,1.140,1.559,
+1.077,1.638,0.787,1.136,1.862,2.130,0.966,1.465,0.173,0.213,
+0.125,0.174,1.906,0.249,1.094,1.296,1.082,1.930,1.140,1.533,
+1.465,1.100,0.669,1.197,1.678,1.716,0.862,1.229,1.587,0.153,
+1.037,1.214,1.253,1.275,1.164,1.819,1.963,1.122,0.795,1.242,
+1.950,1.105,0.842,1.100,1.660,0.210,0.657,1.167,1.293,1.129,
+0.828,1.622,0.160,0.146,0.076,0.127,0.184,0.147,0.100,0.109,
+0.162,0.036,0.101,0.155,0.146,0.223,0.112,0.185,1.536,1.194,
+0.903,0.933,0.133,0.129,0.099,0.123,1.164,0.180,0.611,0.893,
+0.641,1.076,0.755,0.769,0.977,0.737,0.869,0.934,1.372,1.374,
+0.877,1.286,1.241,0.153,0.959,1.219,1.053,1.064,1.043,1.532,
+2.943,1.287,0.925,2.071,1.524,0.867,0.730,1.153,1.489,0.157,
+0.648,1.550,1.901,1.348,1.107,2.730,2.154,1.499,0.933,1.433,
+2.219,1.296,0.951,1.025,1.945,0.165,0.888,1.383,1.366,1.503,
+0.970,1.804,1.780,1.517,1.135,1.918,0.261,0.141,0.118,0.189,
+1.280,0.131,0.865,1.289,1.195,1.478,1.119,1.471,1.945,1.259,
+1.623,2.079,1.448,1.227,1.225,1.492,1.829,0.154,1.197,1.946,
+2.178,1.965,1.842,3.358,4.415,2.987,2.138,3.163,2.608,2.366,
+1.498,1.643,1.844,0.250,1.050,1.412,1.651,2.042,1.133,1.882,
+2.806,2.485,1.265,1.618,2.294,1.911,1.403,1.322,1.524,0.226,
+0.937,1.331,0.917,1.353,0.846,1.380,1.550,2.551,1.161,1.494,
+0.227,0.440,0.201,0.241,1.548,0.205,0.962,1.030,0.855,1.546,
+0.957,1.349,1.796,1.191,0.829,1.311,1.951,2.184,1.074,1.397,
+1.094,0.155,0.627,0.983,1.252,1.063,1.031,2.006,2.934,2.698,
+1.008,1.491,2.241,2.770,1.191,1.147,1.554,0.259,0.627,0.998,
+0.935,1.572,0.700,1.110,2.008,2.318,0.898,1.035,1.770,1.325,
+1.142,0.954,1.636,0.297,0.786,1.183,0.753,1.617,0.745,0.900,
+1.301,2.520,0.841,1.216,0.196,0.474,0.186,0.180,1.933,0.449,
+0.950,1.243,0.937,3.102,1.186,1.371,1.133,1.089,0.489,0.765,
+1.649,2.515,0.859,1.011,1.282,0.181,0.637,0.864,0.943,1.822,
+0.838,1.349,1.489,1.148,0.667,0.951,1.780,1.765,1.189,1.064,
+1.312,0.211,0.696,0.917,0.725,0.957,0.741,1.086,0.115,0.217,
+0.077,0.139,0.169,0.299,0.170,0.111,0.293,0.072,0.139,0.194,
+0.092,0.208,0.098,0.116,1.132,1.771,1.044,1.030,0.181,0.296,
+0.207,0.164,1.550,0.272,0.987,1.244,0.656,1.614,1.119,1.018,
+0.847,0.730,0.557,0.751,1.662,2.155,1.362,1.307,1.341,0.164,
+0.975,1.186,0.915,1.108,1.002,1.286,1.313,0.851,0.530,0.893,
+1.044,0.899,0.682,0.635,1.436,0.125,0.380,0.630,0.837,0.723,
+0.530,1.046,1.363,1.488,0.723,1.044,1.482,1.577,0.940,0.890,
+4.593,0.349,0.701,1.003,1.042,1.305,0.655,1.011,1.110,1.737,
+0.935,1.116,0.123,0.202,0.119,0.124,1.162,0.168,0.855,1.080,
+0.802,1.457,1.708,1.564,1.072,0.903,0.655,0.953,1.145,1.381,
+0.819,1.075,1.394,0.154,0.810,1.206,1.308,1.578,1.596,2.198,
+1.851,1.406,0.782,1.626,1.099,0.941,0.670,0.984,1.442,0.135,
+0.446,0.788,0.964,0.998,0.470,1.042,1.516,1.524,0.754,1.154,
+1.137,0.997,0.757,0.786,1.173,0.183,0.682,0.912,0.674,1.176,
+0.563,0.898,1.139,1.783,0.965,1.374,0.165,0.241,0.147,0.251,
+0.975,0.155,0.682,0.863,0.590,1.262,0.657,1.236,1.089,0.810,
+0.584,1.154,1.000,1.133,0.687,1.072,0.976,0.136,0.715,1.129,
+0.956,1.017,0.869,2.725,0.115,0.131,0.065,0.135,0.135,0.198,
+0.094,0.098,0.204,0.030,0.066,0.085,0.085,0.144,0.061,0.090,
+0.128,0.186,0.097,0.150,0.153,0.211,0.119,0.103,0.157,0.054,
+0.110,0.126,0.066,0.181,0.074,0.086,0.086,0.196,0.094,0.105,
+0.026,0.072,0.043,0.032,0.142,0.059,0.133,0.144,0.070,0.228,
+0.099,0.130,0.107,0.105,0.061,0.110,0.182,0.359,0.156,0.181,
+0.137,0.033,0.118,0.143,0.106,0.156,0.111,0.228,0.897,0.720,
+0.379,0.658,0.897,0.929,0.639,0.618,1.013,0.177,0.498,0.669,
+0.535,0.725,0.457,0.661,0.084,0.121,0.054,0.057,0.087,0.134,
+0.084,0.055,0.106,0.037,0.075,0.088,0.064,0.143,0.066,0.070,
+0.699,1.068,0.587,0.602,0.098,0.165,0.103,0.090,0.874,0.170,
+0.421,0.774,0.437,0.948,0.605,0.654,0.580,0.448,0.320,0.404,
+0.742,0.964,0.660,0.655,0.908,0.128,0.615,0.759,0.504,0.709,
+0.572,0.754,1.024,0.767,0.391,1.088,0.785,0.540,0.327,0.407,
+0.741,0.080,0.260,0.486,0.641,0.586,0.359,0.775,1.260,1.030,
+0.495,0.638,1.128,1.031,0.593,0.576,0.973,0.127,0.517,0.717,
+0.679,1.088,0.534,0.772,1.324,1.218,0.733,0.835,0.238,0.171,
+0.102,0.108,1.146,0.141,0.672,0.993,0.740,1.381,0.818,1.057,
+1.009,0.671,0.615,0.623,1.052,1.133,0.714,0.768,1.322,0.164,
+1.099,1.379,1.152,1.466,1.042,1.773,2.304,1.740,1.217,2.436,
+1.098,0.833,0.596,0.822,0.968,0.116,0.468,0.875,1.321,1.073,
+0.707,1.806,1.293,0.851,0.517,1.213,0.851,0.504,0.382,0.541,
+0.663,0.070,0.367,0.621,0.626,0.636,0.385,0.789,1.074,1.014,
+0.632,1.220,0.102,0.103,0.065,0.150,0.793,0.081,0.461,0.687,
+0.654,0.785,0.488,0.928,1.497,0.914,0.870,2.013,1.184,0.957,
+0.685,1.267,0.908,0.086,0.872,1.080,1.812,1.134,1.055,2.894,
+1.967,1.464,1.001,2.088,1.398,1.300,0.713,1.050,1.401,0.157,
+0.543,1.004,0.993,1.233,0.610,1.110,1.609,1.583,0.753,2.360,
+1.242,1.228,0.722,1.059,1.111,0.166,0.596,1.005,0.724,1.189,
+0.536,0.897,0.893,1.267,0.595,1.046,0.093,0.168,0.085,0.134,
+1.043,0.158,0.708,1.056,0.747,1.426,0.762,1.171,0.905,0.732,
+0.577,1.034,1.277,1.553,0.742,1.330,0.990,0.112,0.753,1.082,
+0.970,1.081,0.817,1.688,1.234,0.752,0.436,0.751,0.981,0.799,
+0.532,0.663,1.113,0.347,0.838,1.176,1.027,1.253,0.653,1.101,
+0.086,0.083,0.043,0.083,0.072,0.097,0.053,0.056,0.084,0.026,
+0.092,0.178,0.085,0.134,0.065,0.106,0.738,0.950,0.525,0.724,
+0.075,0.093,0.066,0.095,0.952,0.143,0.512,0.923,0.569,1.059,
+0.659,0.850,0.684,0.562,0.464,0.654,0.924,0.922,0.699,0.987,
+1.085,0.130,0.694,1.038,0.815,0.936,0.843,1.255,2.217,0.985,
+0.583,1.378,1.082,0.902,0.457,0.690,1.224,0.127,0.461,0.826,
+1.336,0.977,0.856,1.848,1.229,0.780,0.437,0.822,1.156,0.792,
+0.490,0.630,0.880,0.079,0.489,0.966,0.823,0.892,0.555,1.210,
+1.559,1.414,0.835,1.376,0.159,0.150,0.081,0.147,1.269,0.122,
+0.757,1.297,1.096,1.577,1.113,1.539,1.810,1.206,0.852,1.847,
+1.792,1.731,1.036,1.621,1.952,0.149,1.258,2.174,2.543,2.290,
+1.943,3.691,3.724,2.650,2.043,3.216,2.658,2.295,1.357,1.780,
+2.431,0.311,1.096,1.675,2.339,2.497,1.218,2.134,2.887,2.439,
+1.357,2.027,2.446,2.350,1.457,1.443,1.853,0.293,1.656,1.851,
+1.249,1.912,1.257,1.581,1.431,1.599,1.114,1.401,0.158,0.203,
+0.151,0.234,1.234,0.184,0.870,0.971,0.915,1.501,0.991,1.223,
+1.795,1.092,1.007,1.673,1.636,1.625,1.123,1.874,1.196,0.148,
+0.793,1.166,1.475,1.219,1.184,2.037,3.502,2.348,1.062,1.994,
+2.383,2.383,1.061,1.255,2.062,0.330,1.031,1.493,1.302,1.800,
+0.716,1.218,2.445,2.602,1.207,2.812,2.375,2.327,1.211,1.460,
+2.506,0.782,3.797,4.087,1.275,2.755,1.154,1.367,1.109,1.899,
+0.874,0.974,0.163,0.309,0.180,0.174,1.605,0.323,1.256,1.270,
+1.146,2.005,1.151,1.124,0.940,0.847,0.593,0.811,1.417,1.932,
+0.866,1.167,1.180,0.176,0.820,1.103,0.936,1.150,1.014,1.480,
+1.352,0.984,0.739,0.931,1.491,1.361,0.830,0.944,1.440,0.212,
+0.677,0.929,0.867,1.040,0.692,1.123,0.110,0.157,0.120,0.129,
+0.152,0.231,0.127,0.121,0.154,0.056,0.154,0.180,0.111,0.237,
+0.108,0.142,0.780,1.159,1.359,0.800,0.108,0.148,0.132,0.127,
+1.106,0.201,0.812,0.968,0.599,1.166,0.807,0.859,0.701,0.698,
+2.862,1.199,1.087,1.243,0.978,1.055,1.110,0.184,0.861,1.037,
+0.764,1.083,1.012,1.255,1.560,0.777,0.675,1.212,0.879,0.699,
+0.434,0.612,1.140,0.113,0.416,0.665,1.102,0.910,0.624,1.428,
+1.333,1.263,0.902,1.169,1.387,1.675,0.888,0.956,1.247,0.165,
+0.823,1.172,0.790,1.346,0.700,1.110,0.858,1.007,0.960,0.977,
+0.090,0.121,0.115,0.118,0.947,0.137,0.702,0.933,0.707,1.196,
+0.827,0.989,1.219,1.120,5.519,2.351,0.844,1.042,1.382,1.140,
+1.317,0.154,1.008,1.325,1.396,1.712,1.475,2.557,3.832,2.749,
+1.696,2.245,2.531,2.767,1.400,1.476,1.504,0.213,0.742,1.045,
+1.151,1.470,0.767,1.258,2.536,2.591,1.261,1.471,2.457,3.225,
+2.005,1.555,1.479,0.315,1.137,1.407,0.779,1.553,0.771,1.113,
+1.269,2.124,1.419,1.227,0.172,0.333,0.216,0.223,1.111,0.233,
+1.111,0.961,0.698,1.483,1.017,1.158,1.339,0.870,0.687,1.019,
+1.451,2.035,0.939,1.096,0.876,0.112,0.640,0.808,1.392,0.912,
+0.807,1.457,2.825,2.316,0.837,1.119,1.772,2.760,0.930,0.959,
+1.430,0.251,0.653,0.882,0.753,1.393,0.501,0.849,1.340,1.266,
+0.617,0.815,0.574,0.727,0.483,0.615,1.061,0.418,0.686,0.970,
+0.443,1.337,0.460,0.632,0.966,2.403,0.830,0.904,0.204,0.756,
+0.251,0.215,1.254,0.396,0.863,1.087,0.626,2.174,1.091,1.079,
+0.788,0.948,0.477,0.592,1.388,3.289,0.919,1.101,0.917,0.198,
+0.699,1.011,0.767,1.177,0.693,1.089,1.174,1.178,0.566,0.777,
+1.710,2.540,1.249,1.069,1.191,0.230,0.678,0.881,0.652,1.058,
+0.697,0.991,0.097,0.245,0.101,0.137,0.204,0.707,0.272,0.176,
+0.157,0.102,0.164,0.172,0.070,0.268,0.118,0.115,0.954,1.870,
+1.062,0.972,0.202,0.463,0.253,0.194,1.292,0.288,0.885,1.128,
+0.734,2.162,1.217,1.204,0.661,0.678,0.647,0.681,1.553,2.677,
+1.565,1.379,1.344,0.198,1.124,1.209,0.825,1.210,1.171,1.391,
+1.014,0.789,0.421,0.682,0.941,1.107,0.450,0.517,0.992,0.111,
+0.368,0.490,0.697,0.730,0.477,0.817,1.066,1.605,0.772,1.046,
+1.532,3.391,1.140,1.134,1.140,0.214,0.693,0.956,0.534,1.404,
+0.696,0.958,0.787,1.537,0.832,0.888,0.098,0.271,0.132,0.129,
+0.879,0.172,1.017,1.080,0.596,1.493,1.345,1.332,0.736,0.727,
+0.730,0.852,0.876,1.609,0.768,1.061,1.010,0.129,0.825,1.011,
+0.917,1.379,1.960,2.459,2.145,1.831,0.775,1.527,1.439,1.311,
+0.674,1.486,4.670,0.343,0.607,0.885,1.264,1.155,0.437,1.015,
+1.687,2.158,0.791,1.476,1.739,2.214,1.183,1.329,1.643,0.296,
+1.240,1.425,0.807,1.506,0.632,1.008,0.972,1.935,0.909,1.154,
+0.174,0.440,0.161,0.280,1.173,0.264,0.794,1.174,0.569,1.500,
+0.712,0.996,0.814,0.865,0.439,1.012,1.162,2.427,0.766,1.207,
+1.052,0.181,0.895,1.220,0.830,1.011,0.822,2.035,0.163,0.168,
+0.063,0.126,0.221,0.321,0.137,0.159,1.159,0.092,0.108,0.136,
+0.171,0.193,0.075,0.101,0.133,0.255,0.095,0.377,0.260,0.608,
+0.255,0.208,0.246,0.125,0.261,0.234,0.079,0.251,0.091,0.107,
+0.098,0.372,0.106,0.113,0.048,0.245,0.088,0.051,0.203,0.140,
+0.199,0.302,0.071,0.290,0.140,0.128,0.075,0.174,0.043,0.095,
+0.270,1.121,0.183,0.258,0.150,0.060,0.145,0.169,0.084,0.149,
+0.100,0.175,1.089,1.089,0.458,0.651,1.305,2.050,0.945,0.904,
+1.577,0.308,1.018,1.022,0.748,1.128,0.639,0.864,0.107,0.278,
+0.079,0.092,0.174,0.534,0.207,0.126,0.201,0.102,0.200,0.157,
+0.082,0.261,0.103,0.105,0.836,1.757,0.768,0.705,0.138,0.322,
+0.168,0.134,1.300,0.311,0.652,1.015,0.633,1.617,0.820,0.847,
+0.519,0.618,0.373,0.484,1.134,2.075,1.002,1.116,1.522,0.272,
+1.180,1.282,0.692,1.142,0.856,1.107,1.000,0.740,0.334,0.674,
+0.726,0.708,0.334,0.442,0.909,0.112,0.374,0.566,0.608,0.685,
+0.356,0.798,1.374,1.668,0.657,0.842,1.700,2.509,1.161,1.097,
+1.518,0.291,1.102,1.374,0.794,1.719,0.808,1.053,2.851,1.957,
+0.928,0.944,0.196,0.262,0.134,0.132,1.559,0.306,1.211,1.422,
+0.755,2.062,1.045,1.179,1.035,0.732,0.503,0.810,0.941,1.485,
+0.702,0.943,1.379,0.193,1.354,1.546,1.025,1.631,1.202,1.876,
+1.617,1.078,0.695,1.698,0.995,0.757,0.431,0.848,1.304,0.126,
+0.424,0.802,0.976,0.882,0.437,1.594,1.247,1.098,0.485,1.023,
+0.910,0.924,0.470,0.708,0.701,0.091,0.407,0.797,0.605,0.661,
+0.314,0.754,0.919,1.013,0.571,0.995,0.082,0.110,0.053,0.129,
+0.682,0.086,0.416,0.618,0.599,0.695,0.443,0.728,0.956,0.688,
+0.533,1.748,0.799,0.886,0.449,1.067,0.718,0.072,0.479,0.845,
+0.886,0.719,0.616,1.684,1.485,1.233,0.625,1.273,1.412,1.613,
+0.793,1.110,3.170,0.280,0.745,1.052,1.003,1.405,0.568,1.070,
+1.309,1.720,0.669,1.708,1.697,2.566,1.159,1.553,1.288,0.250,
+0.930,1.456,0.738,1.406,0.640,0.994,0.764,1.722,0.667,0.938,
+0.112,0.344,0.121,0.166,1.068,0.219,0.819,1.101,0.645,1.538,
+0.855,0.950,0.604,0.718,0.453,0.892,1.307,2.505,0.862,1.759,
+0.941,0.144,0.765,1.013,0.708,0.967,0.750,1.394,1.265,0.764,
+0.396,0.643,1.180,1.216,0.701,0.806,1.214,0.214,0.654,0.976,
+0.932,1.066,0.610,1.042,0.099,0.101,0.043,0.070,0.086,0.208,
+0.094,0.081,0.082,0.030,0.082,0.107,0.067,0.129,0.070,0.093,
+0.657,1.040,0.585,0.664,0.082,0.135,0.089,0.107,1.094,0.198,
+0.843,1.214,0.598,1.303,0.844,0.932,0.544,0.583,0.432,0.633,
+0.994,1.218,0.842,1.165,1.260,0.182,1.057,1.312,0.791,1.155,
+0.977,1.420,1.349,0.728,0.415,0.933,0.808,0.727,0.376,0.567,
+0.855,0.093,0.366,0.638,0.905,0.708,0.556,1.271,1.228,0.823,
+0.449,0.823,1.028,1.232,0.612,0.849,0.796,0.095,0.533,0.886,
+0.690,0.887,0.660,1.332,2.120,1.185,0.754,1.007,0.154,0.123,
+0.077,0.145,1.166,0.142,0.876,1.136,0.848,1.412,1.065,1.304,
+1.240,0.850,0.712,1.458,1.442,1.569,0.871,1.533,1.553,0.158,
+1.185,1.813,1.767,1.980,1.742,2.991,2.428,1.734,1.659,2.266,
+1.855,1.443,1.197,1.268,1.550,0.188,0.715,1.229,1.843,1.665,
+0.872,1.669,1.642,1.355,0.821,1.072,1.408,0.985,0.862,0.831,
+0.957,0.130,0.618,0.759,0.795,1.033,0.669,1.015,1.214,1.264,
+0.857,1.235,0.138,0.128,0.110,0.183,1.081,0.126,0.632,0.745,
+0.660,0.938,0.694,0.962,1.381,0.768,0.666,1.268,1.304,1.034,
+0.785,1.179,0.802,0.080,0.495,0.754,1.142,0.792,0.905,1.738,
+2.392,2.340,1.058,1.726,2.180,1.981,1.746,1.488,1.357,0.212,
+0.546,0.795,1.053,1.405,0.698,1.152,1.917,2.066,0.893,1.253,
+1.686,1.490,1.340,1.059,1.757,0.378,0.914,1.171,0.854,1.653,
+0.697,0.934,1.303,2.137,1.008,1.406,0.191,0.296,0.195,0.229,
+1.569,0.297,1.269,1.412,0.793,1.827,1.158,1.332,0.927,0.832,
+0.490,0.857,1.528,1.690,0.933,1.235,0.973,0.123,0.578,0.853,
+0.849,0.905,0.883,1.634,1.415,0.997,0.588,1.455,1.662,1.303,
+1.063,1.219,1.806,0.372,0.543,0.851,1.769,1.755,0.730,1.272,
+0.144,0.180,0.102,0.536,0.161,0.201,0.145,0.189,0.245,0.089,
+0.110,0.139,0.187,0.449,0.134,0.189,0.975,1.168,0.920,1.203,
+0.147,0.163,0.139,0.191,1.056,0.185,0.599,0.772,0.645,1.311,
+0.933,1.067,0.717,0.519,0.478,0.769,1.143,1.251,0.961,1.137,
+0.975,0.138,0.583,0.772,0.915,0.923,0.875,1.341,1.644,0.802,
+0.552,1.247,0.901,0.603,0.558,0.758,0.975,0.118,0.361,0.644,
+1.529,1.077,0.669,1.521,1.411,1.133,0.699,1.610,1.139,1.020,
+0.863,1.085,1.260,0.198,0.622,0.921,1.046,1.506,0.705,1.188,
+0.996,1.200,0.898,1.242,0.134,0.132,0.115,0.173,1.039,0.146,
+0.798,1.065,0.957,1.605,1.199,1.526,1.336,0.849,0.777,1.360,
+1.075,0.953,0.865,1.171,1.323,0.160,0.947,1.438,1.876,1.931,
+1.762,3.030,0.162,0.158,0.337,0.164,0.130,0.162,0.112,0.107,
+0.118,0.023,0.056,0.077,0.087,0.123,0.075,0.119,0.182,0.218,
+0.145,0.163,0.256,0.268,0.231,0.162,0.144,0.056,0.110,0.111,
+0.078,0.168,0.093,0.109,0.101,0.293,0.101,0.105,0.026,0.052,
+0.032,0.028,0.103,0.034,0.091,0.097,0.053,0.128,0.089,0.098,
+0.103,0.091,0.060,0.095,0.175,0.214,0.128,0.142,0.114,0.020,
+0.067,0.099,0.120,0.094,0.152,0.179,0.152,0.269,0.085,0.100,
+0.167,0.280,0.160,0.109,0.122,0.059,0.059,0.072,0.061,0.153,
+0.107,0.076,0.225,0.354,0.127,0.158,0.337,0.510,0.315,0.211,
+0.333,0.252,0.168,0.173,0.099,0.347,0.113,0.102,0.123,0.359,
+0.163,0.149,0.057,0.248,0.124,0.059,0.222,0.157,0.195,0.186,
+0.073,0.312,0.213,0.151,0.080,0.097,0.060,0.070,0.182,0.382,
+0.179,0.155,0.121,0.038,0.085,0.091,0.073,0.124,0.101,0.144,
+0.097,0.096,0.071,0.336,0.134,0.204,0.148,0.175,0.207,0.100,
+0.091,0.095,0.091,0.262,0.085,0.099,0.033,0.043,0.040,0.343,
+0.045,0.108,0.080,0.075,0.066,0.075,0.055,0.052,0.018,0.098,
+0.038,0.031,0.098,0.181,0.201,0.263,0.038,0.094,0.085,0.052,
+0.202,0.109,0.157,0.156,0.066,0.274,0.168,0.138,0.081,0.065,
+0.061,0.124,0.162,0.305,0.224,0.184,0.160,0.053,0.133,0.139,
+0.073,0.129,0.116,0.143,0.111,0.093,0.057,0.114,0.085,0.089,
+0.057,0.077,0.093,0.022,0.041,0.054,0.100,0.112,0.066,0.123,
+0.410,0.270,0.135,0.527,0.218,0.296,0.208,0.288,0.275,0.084,
+0.118,0.150,0.118,0.319,0.126,0.164,0.094,0.164,0.120,0.139,
+0.020,0.046,0.028,0.028,0.148,0.049,0.146,0.166,0.088,0.233,
+0.189,0.183,0.101,0.089,0.070,0.111,0.120,0.153,0.100,0.115,
+0.128,0.025,0.116,0.155,0.122,0.186,0.191,0.252,1.993,1.454,
+0.858,1.436,1.561,1.474,0.975,1.099,2.547,0.292,0.627,0.911,
+1.218,1.143,0.601,1.129,1.722,1.713,0.897,1.089,1.847,1.691,
+2.618,1.399,1.406,0.268,1.124,1.151,0.735,1.404,0.762,1.019,
+1.140,1.884,1.124,1.479,0.204,0.316,0.268,0.371,1.337,0.237,
+0.985,1.211,0.654,1.483,0.917,1.219,0.969,0.711,0.568,0.969,
+1.140,1.361,0.936,1.375,1.008,0.158,0.769,1.343,0.883,0.986,
+0.995,2.167,0.146,0.162,0.075,0.152,0.219,0.346,0.206,0.189,
+0.193,0.046,0.108,0.137,0.092,0.140,0.068,0.123,0.154,0.214,
+0.116,0.119,0.269,0.337,0.626,0.306,0.210,0.104,0.255,0.233,
+0.078,0.199,0.104,0.113,0.103,0.266,0.140,0.156,0.043,0.126,
+0.101,0.061,0.229,0.121,0.261,0.265,0.079,0.283,0.174,0.163,
+0.107,0.102,0.059,0.113,0.218,0.377,0.204,0.259,0.144,0.037,
+0.135,0.180,0.081,0.115,0.114,0.196,1.120,1.113,0.516,0.662,
+1.501,2.005,1.310,1.018,1.283,0.300,0.768,0.874,0.695,1.114,
+0.702,0.955,0.114,0.229,0.085,0.115,0.173,0.331,0.277,0.132,
+0.179,0.087,0.179,0.131,0.079,0.239,0.111,0.120,1.119,1.724,
+1.078,0.984,0.198,0.334,0.309,0.210,1.280,0.255,0.443,0.796,
+0.584,1.477,1.103,1.097,0.655,0.568,0.434,0.515,1.226,1.835,
+1.481,1.176,1.070,0.209,0.931,1.093,0.588,0.949,0.985,1.252,
+1.147,0.689,0.479,0.872,0.886,0.752,0.464,0.525,0.763,0.113,
+0.412,0.562,0.741,0.720,0.465,0.963,1.494,1.482,0.700,0.893,
+1.607,2.036,1.504,1.051,1.241,0.236,1.087,1.056,0.904,1.546,
+0.845,1.165,2.261,2.002,1.128,1.543,0.278,0.348,0.217,0.244,
+1.933,0.296,2.250,1.829,1.071,2.110,1.635,1.607,1.004,0.769,
+0.526,0.902,1.323,1.679,0.986,1.127,1.301,0.191,1.281,1.497,
+1.125,1.520,1.369,1.947,1.746,1.020,0.649,1.367,1.027,0.750,
+0.519,0.817,1.242,0.163,0.382,0.856,1.067,1.047,0.500,2.867,
+1.147,0.876,0.440,0.674,0.913,0.653,0.569,0.514,0.619,0.078,
+0.617,0.561,0.508,0.701,0.398,0.721,0.911,1.057,0.574,0.997,
+0.099,0.107,0.075,0.141,0.827,0.099,0.445,0.692,0.748,1.020,
+0.654,1.073,1.134,0.664,0.557,1.056,0.909,0.798,0.567,1.013,
+0.744,0.076,0.435,0.741,1.315,1.139,1.012,2.165,1.820,1.484,
+0.870,1.635,1.641,1.729,1.222,1.367,1.213,0.195,0.681,1.114,
+0.848,1.169,0.585,1.318,1.718,2.151,0.858,1.245,1.992,2.021,
+1.780,1.546,1.440,0.264,1.030,1.649,0.821,1.423,0.798,1.090,
+1.212,2.115,1.090,1.686,0.158,0.329,0.193,0.268,1.570,0.314,
+1.320,1.798,0.909,2.234,1.273,1.844,1.100,0.931,0.734,1.113,
+1.639,2.059,1.317,2.108,1.248,0.155,0.914,1.344,0.975,1.279,
+0.995,1.892,1.318,1.166,0.562,0.858,1.482,1.558,1.165,1.188,
+2.179,0.856,0.955,2.492,1.005,2.125,0.772,1.457,0.109,0.133,
+0.059,0.136,0.153,0.200,0.163,0.132,0.151,0.067,0.135,0.210,
+0.089,0.239,0.087,0.126,1.120,1.725,0.978,1.173,0.157,0.236,
+0.176,0.207,1.533,0.298,1.017,1.414,0.803,1.808,1.346,1.453,
+0.895,0.751,0.645,0.826,1.566,1.670,1.769,1.913,1.473,0.225,
+1.184,1.542,1.002,1.237,1.288,1.733,2.035,0.932,0.641,1.103,
+1.022,0.886,0.639,0.733,1.077,0.194,0.481,0.966,1.156,1.101,
+0.686,1.821,1.423,1.250,0.572,0.947,1.162,1.185,0.954,0.997,
+1.102,0.133,0.771,1.123,0.970,1.161,0.774,1.197,1.670,1.879,
+1.201,1.740,0.151,0.186,0.124,0.195,1.930,0.230,1.684,2.237,
+1.333,2.231,1.854,2.461,1.669,1.127,0.854,1.779,1.870,1.835,
+1.542,1.911,1.818,0.171,1.524,2.334,2.174,2.047,2.043,2.978,
+2.139,1.383,1.223,2.482,1.373,0.981,0.701,1.028,1.292,0.133,
+0.486,0.949,1.931,1.596,0.747,1.879,1.538,1.024,0.561,0.903,
+0.947,0.673,0.475,0.563,0.830,0.092,0.419,0.559,0.916,1.067,
+0.512,0.964,1.078,0.961,0.621,1.097,0.101,0.093,0.068,0.136,
+0.956,0.079,0.345,0.594,0.797,0.928,0.612,1.056,1.482,0.823,
+0.623,1.362,1.164,0.865,0.595,0.994,0.816,0.069,0.442,0.717,
+1.297,0.852,0.949,2.195,1.984,1.196,0.680,1.575,1.575,0.876,
+0.680,0.822,0.863,0.102,0.312,0.640,0.953,0.892,0.512,1.040,
+1.239,0.912,0.416,0.754,0.784,0.616,0.405,0.486,0.851,0.104,
+0.380,0.650,0.740,0.843,0.377,0.747,0.793,0.926,0.568,0.859,
+0.084,0.113,0.091,0.103,0.826,0.080,0.407,0.568,0.663,0.901,
+0.708,0.921,0.767,0.580,0.340,0.710,0.881,0.872,0.458,0.696,
+0.610,0.055,0.330,0.548,0.776,0.672,0.757,1.475,1.187,0.641,
+0.504,0.945,0.935,0.650,0.643,0.782,0.875,0.133,0.306,0.542,
+1.161,0.902,0.542,1.154,0.079,0.070,0.041,0.135,0.067,0.064,
+0.050,0.065,0.079,0.018,0.036,0.059,0.119,0.153,0.057,0.125,
+0.896,0.963,0.514,0.771,0.076,0.099,0.056,0.081,0.672,0.087,
+0.285,0.457,0.564,0.803,0.515,0.708,0.573,0.462,0.396,0.668,
+0.753,0.957,0.472,0.716,0.600,0.069,0.320,0.541,0.715,0.662,
+0.593,1.182,1.695,0.735,0.548,1.332,0.778,0.471,0.531,0.705,
+0.890,0.090,0.339,0.607,1.747,0.990,0.736,1.685,1.025,0.713,
+0.435,0.939,0.719,0.530,0.450,0.655,0.725,0.078,0.349,0.643,
+0.936,1.131,0.566,1.232,0.858,1.042,0.605,1.014,0.103,0.076,
+0.064,0.097,0.774,0.082,0.425,0.720,0.780,1.056,0.962,1.207,
+1.271,0.921,0.787,1.473,0.939,0.822,0.681,1.054,1.040,0.097,
+0.707,1.206,1.789,1.728,1.608,3.236,2.411,1.639,1.978,1.977,
+1.483,1.261,0.857,1.102,1.135,0.149,0.477,0.862,1.248,1.312,
+0.763,1.527,2.021,1.687,0.917,1.156,1.723,1.595,0.962,1.026,
+1.165,0.183,0.799,0.952,0.771,1.274,0.641,1.060,1.191,1.671,
+0.864,1.249,0.159,0.234,0.144,0.206,0.960,0.140,0.606,0.959,
+0.801,1.171,0.873,1.288,1.297,0.899,0.638,1.168,1.730,1.876,
+0.918,1.236,0.834,0.095,0.504,0.852,1.148,0.852,0.926,1.823,
+1.894,1.833,0.661,1.134,1.496,1.674,0.912,0.975,0.940,0.181,
+0.385,0.636,0.836,1.035,0.590,0.980,2.086,2.178,0.744,1.066,
+1.829,1.846,1.001,1.072,1.324,0.356,0.652,0.960,0.770,1.539,
+0.620,0.961,1.143,2.311,1.567,1.645,0.209,0.632,0.494,0.365,
+1.314,0.297,0.911,1.165,0.796,1.835,1.817,1.584,1.040,1.108,
+0.651,1.008,1.866,3.188,1.544,1.672,0.915,0.143,0.601,0.956,
+1.024,1.254,0.925,1.761,1.106,0.731,0.429,1.178,1.032,1.062,
+0.803,0.980,1.047,0.265,0.491,0.595,0.763,1.110,0.506,0.980,
+0.094,0.115,0.073,0.433,0.111,0.195,0.115,0.144,0.151,0.070,
+0.095,0.124,0.084,0.275,0.083,0.143,0.937,1.234,0.865,1.209,
+0.126,0.181,0.144,0.175,1.181,0.216,0.651,0.982,0.621,1.462,
+0.892,1.126,0.785,0.625,0.449,0.888,1.310,1.849,1.026,1.281,
+1.014,0.132,0.655,0.955,0.767,0.888,0.856,1.437,1.055,0.722,
+0.431,0.847,0.687,0.579,0.433,0.590,0.833,0.096,0.345,0.500,
+1.234,0.822,0.530,1.125,1.245,1.301,0.649,1.481,1.074,1.234,
+0.823,1.166,1.135,0.218,0.595,0.993,0.995,2.150,0.732,1.236,
+0.822,1.244,0.783,1.197,0.130,0.146,0.092,0.126,0.950,0.140,
+0.789,1.240,0.738,1.615,1.115,1.411,1.022,0.815,0.574,1.052,
+1.155,1.264,0.709,0.969,1.048,0.124,0.823,1.331,1.290,1.606,
+1.334,2.406,1.313,1.109,0.616,1.181,0.859,0.826,0.467,0.744,
+1.053,0.103,0.365,0.602,0.809,0.773,0.387,0.964,1.263,1.225,
+0.543,0.853,1.070,1.063,1.010,0.770,0.915,0.141,0.620,0.792,
+0.642,1.055,0.575,0.965,0.904,1.213,0.729,1.043,0.143,0.175,
+0.120,0.201,0.939,0.139,0.653,0.889,0.593,1.214,0.696,1.030,
+0.855,0.659,0.412,0.905,0.961,0.981,0.579,0.939,0.850,0.116,
+0.578,1.008,0.955,0.909,0.887,2.069,0.071,0.083,0.043,0.077,
+0.076,0.108,0.050,0.069,0.081,0.015,0.044,0.054,0.060,0.090,
+0.044,0.094,0.077,0.094,0.046,0.064,0.101,0.193,0.114,0.094,
+0.083,0.033,0.082,0.094,0.048,0.107,0.063,0.075,0.069,0.112,
+0.065,0.069,0.028,0.040,0.024,0.019,0.100,0.032,0.080,0.100,
+0.053,0.140,0.078,0.091,0.065,0.073,0.043,0.073,0.131,0.207,
+0.093,0.116,0.081,0.019,0.080,0.105,0.077,0.097,0.075,0.163,
+0.812,0.744,0.371,0.505,0.855,1.086,0.677,0.682,0.796,0.162,
+0.430,0.544,0.539,0.829,0.494,0.849,0.064,0.098,0.038,0.048,
+0.077,0.132,0.079,0.055,0.075,0.028,0.076,0.068,0.058,0.159,
+0.069,0.096,0.823,1.489,0.638,0.798,0.131,0.183,0.117,0.111,
+1.100,0.191,0.441,0.722,0.550,1.367,0.726,0.832,0.574,0.574,
+0.357,0.516,0.973,1.334,0.812,0.837,1.006,0.144,0.749,0.889,
+0.625,0.885,0.784,1.110,0.994,0.600,0.375,0.663,0.796,0.623,
+0.398,0.504,0.666,0.090,0.358,0.501,0.813,0.770,0.553,0.996,
+1.210,1.103,0.528,0.719,1.215,1.126,0.715,0.718,0.914,0.132,
+0.616,0.816,0.843,1.317,0.748,1.195,2.330,1.459,0.852,1.087,
+1.187,0.238,0.162,0.143,1.564,0.176,0.966,1.238,1.058,1.708,
+1.140,1.394,1.025,0.729,0.524,0.825,2.157,1.266,0.816,0.896,
+1.269,0.144,1.011,1.298,1.200,1.495,1.301,2.017,2.225,1.020,
+0.758,1.735,1.241,0.714,0.484,0.962,0.978,0.103,0.351,0.775,
+1.235,1.055,0.553,1.652,1.122,0.728,0.381,0.700,0.805,0.563,
+0.395,0.576,0.642,0.073,0.349,0.598,0.579,0.670,0.357,0.766,
+0.936,0.920,0.587,1.191,0.087,0.089,0.051,0.131,0.987,0.092,
+0.393,0.753,0.824,0.967,0.505,1.063,1.224,0.735,0.564,1.375,
+0.901,0.699,0.502,1.046,0.891,0.078,0.443,1.014,1.438,1.036,
+0.967,2.678,1.431,0.911,0.681,1.234,0.976,0.809,0.513,0.765,
+0.783,0.090,0.367,0.691,0.763,0.830,0.418,1.080,1.106,0.931,
+0.419,0.831,0.880,1.051,0.508,0.768,0.819,0.102,0.494,0.827,
+0.724,0.907,0.475,1.342,0.810,0.952,0.632,0.921,0.067,0.103,
+0.057,0.098,1.126,0.119,0.519,0.978,0.732,1.122,0.666,1.230,
+0.899,0.796,0.608,0.976,1.037,1.026,0.605,1.111,0.994,0.083,
+0.525,0.973,0.993,1.075,0.776,2.121,1.288,0.919,0.701,0.930,
+1.079,0.931,0.678,0.953,1.119,0.214,0.498,0.967,0.920,1.073,
+0.694,1.374,0.087,0.085,0.046,0.085,0.065,0.093,0.063,0.081,
+0.072,0.018,0.050,0.080,0.076,0.124,0.057,0.127,1.053,1.310,
+0.734,1.325,0.092,0.109,0.075,0.134,1.226,0.158,0.668,1.044,
+0.819,1.356,0.961,1.442,1.003,0.860,0.583,0.982,1.306,1.265,
+1.108,1.535,1.824,0.143,1.017,1.456,1.180,1.155,1.214,2.109,
+2.272,1.000,0.775,1.574,1.108,0.832,0.654,0.916,1.233,0.126,
+0.526,1.036,1.603,1.225,0.912,2.323,1.696,1.166,0.668,1.179,
+1.447,1.437,0.994,1.323,1.324,0.115,0.779,1.567,1.201,1.338,
+0.855,2.073,1.753,1.743,1.139,1.950,0.220,0.155,0.103,0.180,
+2.000,0.168,1.244,2.162,1.713,2.269,1.730,2.746,2.756,1.605,
+1.219,3.042,2.494,1.960,1.449,2.672,2.570,0.198,1.786,3.469,
+2.867,2.488,2.110,3.227,3.002,1.746,1.649,3.497,2.278,1.301,
+1.289,1.644,2.194,0.241,1.053,1.674,3.029,2.648,1.372,2.440,
+2.475,1.563,1.293,1.717,1.912,1.217,1.358,1.131,1.785,0.164,
+1.222,1.307,1.414,1.490,1.081,1.427,1.778,1.472,1.327,1.867,
+0.174,0.155,0.141,0.258,1.314,0.127,0.753,1.018,1.286,1.334,
+1.215,1.360,2.778,1.296,1.418,3.248,2.274,1.520,1.351,2.102,
+1.994,0.148,0.902,1.411,2.351,1.302,1.423,2.496,2.043,1.177,
+0.862,1.402,1.313,0.960,0.712,0.843,1.089,0.132,0.591,0.819,
+0.979,1.168,0.605,0.995,1.489,1.046,0.706,0.973,1.034,0.729,
+0.613,0.654,1.112,0.140,0.744,0.994,0.748,0.910,0.569,0.855,
+0.979,0.958,0.687,0.901,0.107,0.097,0.097,0.126,1.135,0.119,
+0.674,0.828,0.617,1.145,1.141,0.829,1.026,0.633,0.517,0.990,
+1.094,0.925,0.644,0.995,1.009,0.089,0.677,0.914,0.874,0.771,
+0.795,1.344,1.687,0.754,0.829,1.017,1.219,0.734,0.763,0.861,
+1.031,0.136,0.548,0.817,0.977,0.962,0.784,1.315,0.130,0.108,
+0.070,0.095,0.108,0.094,0.119,0.097,0.095,0.024,0.080,0.095,
+0.121,0.205,0.145,0.146,0.864,0.706,0.797,0.989,0.080,0.077,
+0.108,0.107,0.781,0.094,0.722,0.707,0.621,0.876,2.764,1.107,
+0.748,0.461,0.541,0.795,0.943,0.749,0.743,0.925,0.841,0.092,
+0.683,0.941,0.810,0.769,1.119,1.503,2.616,0.925,0.790,1.511,
+0.999,0.588,0.703,0.801,1.000,0.098,0.484,0.792,1.414,1.025,
+0.788,1.852,1.852,1.399,0.874,1.137,1.155,0.853,1.432,1.122,
+1.137,0.109,0.750,0.946,1.060,1.268,0.820,1.256,1.036,0.836,
+0.841,1.231,0.094,0.072,0.103,0.135,0.841,0.078,0.914,0.895,
+0.809,0.891,1.305,1.127,1.467,0.771,0.869,1.555,0.858,0.616,
+0.896,1.070,1.221,0.092,0.966,1.360,1.664,1.265,1.375,2.526,
+3.296,2.033,1.563,2.570,2.128,1.567,1.509,1.414,1.498,0.232,
+0.940,1.353,1.607,1.635,1.151,1.776,2.467,2.004,1.266,1.688,
+1.735,1.491,1.413,1.256,1.488,0.222,1.358,1.521,0.946,1.282,
+0.955,1.273,1.221,1.511,1.247,1.447,0.164,0.240,0.189,0.227,
+0.918,0.133,0.861,0.969,0.583,1.066,0.967,1.183,1.493,0.823,
+0.863,1.598,1.899,1.542,1.105,1.616,0.898,0.104,0.681,0.964,
+1.063,0.862,1.364,1.942,2.024,1.740,0.992,1.265,1.591,1.643,
+1.177,1.067,1.174,0.200,0.690,0.941,0.923,1.212,0.651,1.038,
+1.664,1.909,1.057,1.109,1.311,0.880,1.142,0.972,1.402,0.273,
+1.192,1.364,0.753,1.197,0.821,0.974,1.074,1.766,1.123,1.326,
+0.160,0.286,0.279,0.282,1.221,0.246,0.970,1.102,0.620,1.880,
+1.128,1.203,0.909,0.771,0.565,0.910,1.320,1.502,1.154,1.343,
+0.934,0.118,0.707,1.003,0.682,0.897,0.788,1.648,1.762,1.207,
+1.028,1.210,1.496,1.546,1.599,1.215,1.250,0.216,0.836,1.204,
+0.838,1.069,0.975,1.447,0.156,0.382,0.136,0.141,0.150,0.275,
+0.355,0.197,0.186,0.072,0.198,0.182,0.104,0.270,0.190,0.194,
+1.335,1.726,1.486,1.656,0.171,0.294,0.320,0.230,1.513,0.303,
+1.399,1.381,0.807,2.100,2.976,1.930,0.887,0.697,0.697,0.966,
+1.448,1.776,1.756,1.545,1.244,0.192,1.292,1.470,0.743,1.016,
+1.554,1.660,1.549,1.285,0.734,1.092,0.928,0.785,0.909,0.899,
+0.772,0.094,0.438,0.683,0.881,0.777,0.695,1.459,2.067,5.325,
+1.417,1.576,1.359,1.734,3.813,2.610,1.381,0.196,0.995,1.218,
+0.907,1.520,1.025,1.556,0.969,1.304,1.037,1.325,0.097,0.149,
+0.134,0.159,0.940,0.125,0.905,1.031,0.741,1.129,1.247,1.344,
+1.092,0.853,0.779,1.194,1.014,0.980,0.883,1.214,1.171,0.112,
+0.973,1.401,1.316,1.424,1.666,2.517,1.764,1.254,0.885,1.458,
+0.898,0.838,0.743,0.809,1.030,0.163,0.593,0.858,0.974,1.008,
+0.571,1.121,1.749,1.564,0.913,1.293,1.184,1.104,1.001,0.981,
+1.635,0.199,1.158,1.264,0.934,1.362,0.717,1.125,1.331,1.753,
+2.818,2.197,0.176,0.244,0.342,0.482,1.235,0.158,0.799,1.241,
+0.643,1.179,0.907,1.174,1.259,0.863,1.025,1.790,1.094,1.179,
+1.305,2.012,1.044,0.127,0.851,1.226,1.154,1.025,1.130,2.249,
+0.132,0.139,0.085,0.119,0.123,0.166,0.107,0.110,0.118,0.027,
+0.090,0.106,0.089,0.155,0.093,0.114,0.149,0.203,0.102,0.129,
+0.163,0.195,0.149,0.119,0.178,0.051,0.195,0.186,0.099,0.231,
+0.102,0.126,0.124,0.230,0.293,0.238,0.027,0.062,0.092,0.071,
+0.298,0.057,0.166,0.300,0.101,0.234,0.170,0.163,0.171,0.144,
+0.136,0.252,0.279,0.385,0.365,0.578,0.168,0.036,0.167,0.226,
+0.172,0.222,0.226,0.298,0.997,0.775,0.792,0.690,0.727,0.977,
+0.817,0.646,0.912,0.220,1.395,1.280,0.553,0.855,0.784,1.073,
+0.097,0.157,0.071,0.077,0.083,0.165,0.129,0.077,0.127,0.054,
+0.169,0.128,0.091,0.228,0.124,0.135,0.873,2.051,0.993,0.992,
+0.125,0.758,0.172,0.154,1.103,0.203,0.684,0.774,0.450,0.969,
+0.925,0.712,0.614,0.518,0.460,0.679,0.840,2.159,1.206,1.491,
+0.793,0.136,0.840,0.895,0.514,0.716,0.777,0.913,0.973,0.561,
+0.408,0.652,0.541,0.463,0.358,0.387,0.691,0.074,0.403,0.512,
+0.608,0.566,0.406,0.842,1.280,1.196,0.651,0.877,0.921,1.169,
+0.903,0.747,1.296,0.161,0.892,1.022,0.901,1.419,0.822,1.089,
+0.871,1.042,0.843,0.900,0.128,0.173,0.112,0.123,3.843,0.214,
+0.855,0.973,0.992,1.084,0.831,0.912,1.031,0.664,0.645,0.838,
+0.916,0.946,0.761,0.965,1.220,0.123,0.963,1.164,1.138,1.215,
+1.064,1.654,2.241,1.175,0.951,1.869,0.949,0.648,0.580,0.828,
+1.041,0.102,0.486,0.885,1.481,1.078,0.708,1.698,1.320,0.817,
+0.535,0.929,0.775,0.520,0.441,0.650,0.963,0.080,0.505,0.795,
+1.062,0.743,0.471,1.027,1.128,0.871,1.008,1.712,0.101,0.099,
+0.089,0.227,0.758,0.065,0.445,0.839,0.644,0.738,0.584,1.063,
+1.863,0.920,1.160,3.127,1.262,1.081,0.989,2.194,1.017,0.095,
+0.664,1.254,1.634,1.123,1.264,3.076,1.655,1.054,0.765,1.397,
+1.095,0.883,0.782,0.918,0.952,0.113,0.590,1.040,0.868,0.917,
+0.663,1.197,1.340,1.061,0.595,1.065,0.970,0.901,0.652,0.813,
+1.066,0.142,0.794,1.149,0.813,1.081,0.540,0.920,1.131,1.164,
+1.239,1.924,0.118,0.143,0.147,0.294,1.374,0.140,0.734,1.492,
+0.826,1.180,0.870,1.270,1.479,0.843,0.813,2.054,1.489,1.428,
+1.300,3.119,1.084,0.106,0.745,1.421,1.159,1.105,1.194,2.170,
+1.229,0.652,0.605,0.928,1.070,0.781,0.778,0.948,1.006,0.152,
+0.758,1.065,0.904,0.865,0.850,1.414,0.099,0.094,0.061,0.121,
+0.076,0.091,0.089,0.087,0.097,0.023,0.103,0.143,0.114,0.168,
+0.104,0.159,0.902,1.036,0.757,1.170,0.095,0.135,0.095,0.157,
+1.247,0.150,0.787,1.088,0.734,1.198,1.217,1.305,0.806,0.606,
+0.627,1.353,1.192,1.145,1.024,1.666,1.321,0.132,1.029,1.563,
+1.049,1.041,1.249,1.873,2.053,0.896,0.749,1.529,0.945,0.741,
+0.691,0.920,1.064,0.105,0.577,0.998,1.479,1.024,0.979,2.174,
+1.355,0.949,0.592,1.054,0.809,0.738,0.689,0.820,1.121,0.100,
+0.754,1.290,1.173,1.188,0.851,1.556,1.483,1.304,1.110,2.083,
+0.147,0.121,0.103,0.222,1.826,0.134,1.147,1.758,1.295,1.557,
+1.407,2.103,2.493,1.324,1.313,2.938,1.852,1.554,1.493,2.354,
+2.348,0.165,2.317,3.764,3.725,2.456,2.998,4.940,0.144,0.117,
+0.098,0.167,0.120,0.103,0.084,0.103,0.103,0.017,0.071,0.092,
+0.110,0.131,0.070,0.100,0.163,0.132,0.104,0.114,0.138,0.140,
+0.121,0.110,0.104,0.025,0.099,0.095,0.079,0.127,0.092,0.105,
+0.081,0.095,0.085,0.104,0.013,0.017,0.018,0.022,0.072,0.013,
+0.060,0.061,0.050,0.083,0.081,0.084,0.105,0.079,0.061,0.127,
+0.113,0.117,0.093,0.133,0.086,0.013,0.065,0.082,0.095,0.081,
+0.083,0.135,0.154,0.122,0.092,0.111,0.143,0.135,0.098,0.085,
+0.110,0.026,0.093,0.125,0.075,0.118,0.065,0.082,0.156,0.179,
+0.110,0.118,0.177,0.159,0.134,0.121,0.166,0.057,0.194,0.195,
+0.082,0.164,0.095,0.098,0.079,0.123,0.084,0.080,0.023,0.039,
+0.048,0.023,0.201,0.044,0.103,0.109,0.059,0.139,0.112,0.085,
+0.064,0.063,0.049,0.068,0.117,0.119,0.096,0.129,0.105,0.017,
+0.093,0.098,0.068,0.082,0.085,0.112,0.092,0.073,0.055,0.064,
+0.135,0.107,0.089,0.089,0.086,0.021,0.073,0.080,0.055,0.080,
+0.065,0.101,0.012,0.020,0.015,0.013,0.026,0.029,0.029,0.017,
+0.018,0.014,0.024,0.020,9.86e-3,0.035,0.018,0.021,0.062,0.097,
+0.091,0.075,0.012,0.025,0.026,0.016,0.080,0.028,0.096,0.098,
+0.047,0.110,0.157,0.114,0.045,0.040,0.081,0.065,0.087,0.108,
+0.100,0.103,0.080,0.020,0.094,0.100,0.058,0.083,0.097,0.116,
+0.138,0.073,0.060,0.098,0.081,0.058,0.053,0.107,0.081,0.011,
+0.054,0.073,0.092,0.088,0.071,0.195,0.143,0.145,0.096,0.118,
+0.125,0.156,0.175,0.128,0.100,0.027,0.106,0.127,0.078,0.154,
+0.096,0.155,0.075,0.085,0.119,0.155,0.011,0.015,0.023,0.024,
+0.084,0.021,0.085,0.111,0.063,0.115,0.312,0.209,0.090,0.060,
+0.171,0.135,0.073,0.083,0.108,0.116,0.104,0.013,0.101,0.144,
+0.104,0.133,0.146,0.250,0.172,0.157,0.112,0.139,0.174,0.200,
+0.153,0.122,0.106,0.024,0.080,0.102,0.081,0.118,0.083,0.102,
+0.191,0.200,0.125,0.122,0.192,0.251,0.217,0.146,0.129,0.058,
+0.167,0.163,0.061,0.132,0.095,0.106,0.077,0.137,0.108,0.091,
+0.018,0.042,0.044,0.026,0.078,0.028,0.111,0.091,0.039,0.096,
+0.084,0.080,0.079,0.055,0.054,0.086,0.125,0.152,0.109,0.115,
+0.090,0.018,0.074,0.086,0.068,0.064,0.087,0.123,0.182,0.235,
+0.114,0.108,0.214,0.355,0.194,0.122,0.143,0.050,0.114,0.120,
+0.079,0.136,0.091,0.092,0.209,0.414,0.181,0.156,0.222,0.225,
+0.244,0.191,0.220,0.130,0.267,0.274,0.072,0.252,0.144,0.125,
+0.101,0.275,0.142,0.118,0.039,0.131,0.099,0.044,0.171,0.091,
+0.166,0.159,0.055,0.240,0.184,0.124,0.077,0.083,0.063,0.069,
+0.150,0.266,0.161,0.147,0.113,0.033,0.126,0.127,0.062,0.104,
+0.105,0.137,0.122,0.115,0.077,0.084,0.178,0.258,0.211,0.116,
+0.128,0.040,0.125,0.137,0.061,0.098,0.094,0.132,0.020,0.063,
+0.031,0.021,0.042,0.121,0.142,0.044,0.040,0.057,0.077,0.054,
+0.011,0.047,0.040,0.035,0.134,0.242,0.181,0.122,0.040,0.123,
+0.119,0.049,0.195,0.095,0.236,0.172,0.064,0.223,0.247,0.164,
+0.068,0.059,0.064,0.066,0.157,0.268,0.293,0.181,0.158,0.049,
+0.206,0.180,0.063,0.115,0.182,0.171,0.109,0.109,0.064,0.082,
+0.093,0.100,0.104,0.080,0.085,0.013,0.053,0.070,0.074,0.072,
+0.065,0.145,0.164,0.492,0.152,0.138,0.166,0.321,0.593,0.284,
+0.129,0.044,0.148,0.164,0.072,0.182,0.129,0.216,0.083,0.158,
+0.115,0.104,0.015,0.040,0.036,0.021,0.098,0.030,0.134,0.117,
+0.057,0.133,0.148,0.140,0.075,0.063,0.066,0.081,0.090,0.120,
+0.107,0.112,0.109,0.019,0.121,0.140,0.089,0.136,0.176,0.293,
+0.098,0.100,0.068,0.080,0.077,0.096,0.077,0.077,0.114,0.016,
+0.064,0.060,0.059,0.073,0.044,0.063,0.138,0.158,0.089,0.092,
+0.137,0.174,0.203,0.136,0.138,0.056,0.197,0.148,0.069,0.164,
+0.081,0.110,0.087,0.161,0.225,0.142,0.021,0.054,0.083,0.063,
+0.179,0.047,0.106,0.185,0.048,0.124,0.082,0.091,0.058,0.055,
+0.058,0.095,0.090,0.125,0.196,0.209,0.092,0.019,0.084,0.107,
+0.064,0.083,0.095,0.148,0.010,0.021,0.011,0.010,0.022,0.045,
+0.041,0.022,0.027,0.012,0.024,0.020,7.69e-3,0.023,0.024,0.012,
+0.019,0.058,0.027,0.016,0.043,0.100,0.066,0.036,0.040,0.068,
+0.095,0.060,0.014,0.062,0.026,0.021,0.016,0.066,0.099,0.036,
+0.017,0.079,0.172,0.061,0.079,0.071,0.094,0.092,0.016,0.064,
+0.059,0.030,0.011,0.013,0.014,0.016,0.034,0.073,0.099,0.104,
+0.026,0.016,0.050,0.043,0.013,0.024,0.026,0.028,0.070,0.108,
+0.073,0.060,0.087,0.237,0.155,0.098,0.123,0.058,0.472,0.404,
+0.048,0.132,0.137,0.182,0.015,0.054,0.021,0.013,0.032,0.106,
+0.073,0.030,0.040,0.064,0.107,0.056,0.013,0.054,0.035,0.035,
+0.107,0.911,0.167,0.104,0.057,0.801,0.111,0.048,0.163,0.116,
+0.187,0.160,0.049,0.223,0.160,0.101,0.052,0.083,0.053,0.088,
+0.133,0.981,0.237,0.332,0.122,0.055,0.210,0.177,0.054,0.109,
+0.135,0.129,0.079,0.069,0.046,0.067,0.061,0.071,0.047,0.045,
+0.076,0.016,0.082,0.079,0.056,0.077,0.057,0.088,0.110,0.173,
+0.093,0.089,0.143,0.259,0.183,0.127,0.176,0.066,0.190,0.182,
+0.078,0.204,0.130,0.139,0.106,0.188,0.128,0.103,0.026,0.079,
+0.051,0.023,0.274,0.059,0.172,0.179,0.072,0.178,0.155,0.123,
+0.068,0.062,0.060,0.080,0.088,0.147,0.114,0.126,0.120,0.027,
+0.177,0.156,0.095,0.141,0.140,0.190,0.143,0.101,0.073,0.131,
+0.118,0.079,0.069,0.137,0.120,0.014,0.055,0.105,0.110,0.097,
+0.061,0.138,0.117,0.112,0.065,0.094,0.090,0.079,0.071,0.093,
+0.092,0.015,0.074,0.127,0.095,0.092,0.058,0.101,0.086,0.078,
+0.092,0.127,0.012,0.014,0.012,0.029,0.083,9.86e-3,0.057,0.094,
+0.054,0.077,0.067,0.099,0.122,0.071,0.091,0.249,0.110,0.106,
+0.102,0.290,0.105,0.014,0.069,0.160,0.122,0.100,0.120,0.291,
+0.168,0.145,0.128,0.170,0.165,0.170,0.216,0.179,0.176,0.029,
+0.127,0.174,0.098,0.161,0.115,0.149,0.182,0.227,0.126,0.167,
+0.205,0.257,0.189,0.197,0.198,0.056,0.225,0.266,0.117,0.279,
+0.135,0.156,0.126,0.219,0.238,0.304,0.028,0.059,0.094,0.137,
+0.284,0.048,0.165,0.325,0.092,0.229,0.178,0.197,0.151,0.117,
+0.117,0.282,0.241,0.297,0.382,1.013,0.168,0.032,0.180,0.278,
+0.129,0.172,0.188,0.306,0.094,0.064,0.058,0.077,0.113,0.131,
+0.151,0.111,0.116,0.034,0.134,0.160,0.069,0.111,0.103,0.137,
+0.012,0.017,9.78e-3,0.015,0.018,0.033,0.031,0.019,0.017,0.012,
+0.031,0.039,0.012,0.028,0.023,0.024,0.085,0.183,0.120,0.118,
+0.021,0.066,0.038,0.037,0.157,0.054,0.172,0.177,0.070,0.194,
+0.211,0.162,0.081,0.068,0.069,0.116,0.125,0.205,0.175,0.247,
+0.178,0.033,0.197,0.235,0.100,0.128,0.191,0.230,0.136,0.091,
+0.069,0.124,0.096,0.090,0.081,0.116,0.096,0.014,0.064,0.098,
+0.097,0.088,0.092,0.169,0.119,0.103,0.067,0.110,0.101,0.122,
+0.120,0.114,0.097,0.017,0.103,0.153,0.096,0.128,0.096,0.169,
+0.137,0.143,0.117,0.176,0.015,0.023,0.020,0.027,0.151,0.027,
+0.151,0.212,0.096,0.187,0.183,0.202,0.160,0.106,0.116,0.203,
+0.164,0.166,0.152,0.246,0.189,0.023,0.230,0.312,0.238,0.230,
+0.290,0.386,2.268,1.342,1.164,1.922,1.468,1.077,0.955,1.182,
+1.294,0.151,0.717,1.177,1.614,1.497,0.945,1.707,1.677,1.150,
+0.867,1.081,1.275,0.980,1.108,1.050,1.332,0.144,0.889,0.967,
+0.956,1.140,0.793,1.095,1.121,1.062,1.048,1.319,0.110,0.100,
+0.113,0.169,0.827,0.091,0.679,0.840,0.626,0.854,0.797,0.970,
+1.191,0.620,0.595,1.156,0.967,0.715,0.690,0.945,0.878,0.070,
+0.510,0.827,1.033,0.589,0.793,1.588,1.879,1.161,0.745,1.173,
+1.377,1.196,0.972,0.960,1.348,0.153,0.619,0.901,1.038,1.157,
+0.616,1.048,1.791,1.484,0.890,1.047,1.488,1.156,1.176,0.980,
+2.624,0.317,1.553,1.837,1.061,1.402,0.743,1.046,1.172,1.491,
+1.255,1.446,0.155,0.180,0.198,0.208,1.476,0.229,1.251,1.532,
+0.784,1.469,1.228,1.168,0.881,0.722,0.573,0.826,1.168,1.099,
+0.953,1.138,1.012,0.105,0.756,1.071,0.875,0.810,0.860,1.523,
+1.555,0.819,0.687,1.044,1.508,1.172,1.239,1.242,1.407,0.202,
+0.813,1.178,1.137,1.260,0.937,1.673,0.163,0.170,0.132,0.173,
+0.187,0.216,0.232,0.194,0.193,0.051,0.227,0.221,0.198,0.429,
+0.183,0.312,1.174,1.225,2.252,2.190,0.158,0.148,0.332,0.292,
+1.255,0.202,1.025,1.160,0.722,1.392,1.441,1.303,0.822,0.539,
+0.758,0.868,1.437,1.142,2.433,1.621,1.076,0.130,0.921,1.199,
+1.143,0.993,1.254,1.574,1.508,0.630,0.668,1.046,0.830,0.565,
+0.576,0.671,0.757,0.085,0.431,0.706,1.104,0.971,0.651,1.569,
+1.377,1.080,0.752,1.200,1.116,1.009,1.072,1.118,1.039,0.140,
+0.918,1.253,1.184,1.733,0.865,1.930,1.038,1.063,1.117,1.398,
+0.127,0.122,0.154,0.199,1.102,0.143,0.964,1.236,0.954,1.536,
+1.385,1.853,1.327,0.724,0.780,1.409,1.014,0.827,1.289,1.357,
+1.274,0.131,1.043,1.745,1.895,1.684,1.738,3.273,0.141,0.126,
+0.090,0.113,0.140,0.135,0.116,0.123,0.093,0.015,0.058,0.086,
+0.094,0.116,0.070,0.113,0.173,0.198,0.115,0.154,0.195,0.205,
+0.264,0.171,0.152,0.049,0.154,0.150,0.105,0.177,0.109,0.124,
+0.072,0.123,0.108,0.106,0.020,0.030,0.035,0.033,0.081,0.026,
+0.096,0.117,0.049,0.108,0.097,0.103,0.086,0.058,0.051,0.076,
+0.124,0.122,0.105,0.110,0.069,0.015,0.054,0.080,0.074,0.084,
+0.087,0.153,0.124,0.141,0.070,0.091,0.137,0.165,0.143,0.102,
+0.107,0.036,0.067,0.080,0.061,0.103,0.071,0.081,0.201,0.252,
+0.133,0.187,0.214,0.212,0.230,0.155,0.300,0.144,0.264,0.250,
+0.088,0.233,0.129,0.138,0.112,0.214,0.141,0.142,0.034,0.078,
+0.076,0.044,0.222,0.101,0.213,0.229,0.079,0.249,0.187,0.153,
+0.091,0.076,0.052,0.066,0.128,0.169,0.146,0.119,0.097,0.025,
+0.098,0.111,0.060,0.086,0.093,0.132,0.126,0.098,0.069,0.123,
+0.165,0.213,0.237,0.141,0.135,0.040,0.128,0.113,0.085,0.124,
+0.104,0.120,0.020,0.036,0.023,0.028,0.044,0.082,0.095,0.042,
+0.038,0.045,0.082,0.050,0.017,0.061,0.040,0.030,0.123,0.198,
+0.239,0.252,0.040,0.075,0.198,0.061,0.232,0.101,0.242,0.209,
+0.081,0.253,0.287,0.219,0.087,0.062,0.075,0.096,0.179,0.226,
+0.373,0.202,0.142,0.039,0.177,0.160,0.085,0.117,0.177,0.170,
+0.129,0.117,0.093,0.109,0.094,0.088,0.083,0.079,0.078,0.014,
+0.052,0.072,0.094,0.102,0.095,0.170,0.199,0.291,0.141,0.174,
+0.216,0.281,0.303,0.231,0.176,0.046,0.174,0.186,0.131,0.285,
+0.163,0.248,0.097,0.155,0.143,0.153,0.017,0.038,0.038,0.033,
+0.151,0.041,0.150,0.183,0.095,0.209,0.213,0.219,0.115,0.088,
+0.080,0.115,0.110,0.121,0.131,0.141,0.119,0.020,0.130,0.179,
+0.148,0.176,0.194,0.296,1.126,1.397,0.790,1.259,1.303,1.728,
+0.993,0.956,0.960,0.128,0.707,0.871,0.746,0.681,0.500,0.852,
+1.588,1.630,1.220,1.213,1.811,1.773,3.732,1.503,1.842,0.322,
+4.090,2.612,0.809,1.475,1.088,1.180,0.967,1.540,1.058,1.215,
+0.195,0.303,0.291,0.319,1.431,0.238,1.357,1.702,0.605,1.376,
+1.088,1.387,0.761,0.587,0.427,0.808,0.954,1.067,0.925,1.084,
+1.343,0.152,0.947,1.273,0.879,0.804,1.042,2.097,0.113,0.135,
+0.063,0.093,0.162,0.269,0.168,0.143,0.124,0.038,0.179,0.162,
+0.064,0.119,0.074,0.107,0.155,0.209,0.146,0.115,0.251,0.318,
+0.362,0.209,0.349,0.133,2.203,0.838,0.088,0.208,0.182,0.133,
+0.109,0.242,0.136,0.138,0.041,0.098,0.096,0.054,0.422,0.129,
+0.369,0.522,0.097,0.265,0.190,0.191,0.139,0.105,0.051,0.097,
+0.190,0.281,0.189,0.226,0.160,0.040,0.179,0.238,0.105,0.120,
+0.134,0.199,1.381,0.930,0.697,0.621,1.262,1.700,1.494,1.077,
+1.117,0.261,1.376,1.143,0.644,0.999,1.022,0.997,0.139,0.229,
+0.165,0.117,0.170,0.339,0.315,0.140,0.214,0.112,0.455,0.264,
+0.092,0.292,0.211,0.141,1.171,1.431,1.338,1.100,0.204,0.262,
+0.327,0.199,1.061,0.245,0.369,0.581,0.489,0.989,1.142,0.956,
+0.601,0.489,0.539,0.451,0.973,1.299,1.430,1.000,1.117,0.223,
+1.595,1.308,0.591,0.872,1.321,1.283,1.023,0.641,0.427,0.671,
+0.767,0.647,0.468,0.513,0.654,0.094,0.509,0.595,0.560,0.584,
+0.446,0.730,1.284,1.352,0.804,0.873,1.428,1.802,1.438,0.980,
+1.393,0.263,1.793,1.567,0.771,1.707,1.045,1.075,1.178,1.478,
+1.054,1.267,0.170,0.266,0.197,0.194,1.578,0.248,1.628,1.670,
+0.791,1.759,1.501,1.377,0.884,0.655,0.502,0.890,1.108,1.260,
+0.927,1.067,1.230,0.157,1.538,1.639,1.164,1.391,1.479,1.741,
+1.514,0.875,0.566,1.109,0.900,0.775,0.580,0.717,0.876,0.099,
+0.469,0.714,0.913,0.806,0.512,1.245,1.364,0.811,0.541,0.770,
+0.892,0.642,0.910,0.745,0.983,0.090,0.655,0.781,0.616,0.701,
+0.435,0.751,0.939,0.922,0.549,1.003,0.098,0.106,0.085,0.169,
+0.863,0.100,0.574,0.987,0.710,0.860,0.727,1.086,1.317,0.760,
+0.463,1.002,0.855,0.759,0.570,1.055,0.789,0.070,0.482,0.862,
+0.967,0.738,0.936,1.828,1.848,1.264,0.787,1.199,1.399,1.404,
+1.230,1.142,1.280,0.147,0.937,1.215,0.879,1.057,0.616,1.241,
+2.156,1.742,1.031,1.329,1.827,1.700,1.700,1.570,2.694,0.308,
+4.380,3.282,1.033,1.420,0.943,1.232,1.221,1.714,0.950,1.275,
+0.165,0.254,0.183,0.247,1.840,0.303,1.554,2.591,0.918,1.877,
+1.410,1.809,2.392,1.476,0.705,1.201,1.554,1.785,1.357,1.948,
+1.232,0.156,1.136,1.766,1.050,1.103,1.243,2.069,1.644,0.957,
+0.801,1.027,1.466,1.470,3.227,2.026,1.294,0.217,1.088,1.323,
+0.928,1.136,1.081,1.613,0.155,0.160,0.140,0.142,0.182,0.269,
+0.598,0.268,0.164,0.052,0.255,0.244,0.118,0.245,0.164,0.196,
+1.342,1.844,1.217,1.424,0.176,0.243,0.275,0.264,2.402,0.629,
+1.522,2.105,1.056,2.494,1.967,1.956,1.054,0.898,0.807,0.970,
+1.675,1.691,1.997,1.982,1.558,0.232,1.770,2.167,1.122,1.319,
+1.904,2.158,1.549,0.795,0.634,1.104,0.894,0.731,0.848,0.833,
+0.954,0.109,0.559,0.826,1.002,0.863,0.745,1.588,1.333,1.038,
+0.699,1.080,1.132,1.231,1.518,1.183,1.132,0.127,1.082,1.415,
+0.953,1.216,0.933,1.423,1.511,1.641,1.108,1.710,0.150,0.180,
+0.160,0.221,1.929,0.272,1.782,2.387,1.314,2.209,2.026,2.387,
+1.809,1.039,0.876,1.735,1.706,1.578,1.637,1.954,1.880,0.180,
+1.933,2.683,2.380,1.992,2.628,3.323,2.368,1.399,1.147,2.263,
+1.265,0.911,0.723,0.966,1.251,0.128,0.590,0.983,1.780,1.499,
+0.939,1.765,1.535,1.069,0.622,0.984,1.108,0.701,0.564,0.655,
+1.132,0.100,0.599,0.734,1.053,1.367,0.623,0.956,0.983,0.836,
+0.717,1.133,0.112,0.089,0.076,0.145,0.653,0.060,0.411,0.591,
+0.648,0.773,0.615,0.960,1.520,0.765,0.665,1.514,1.275,0.894,
+0.679,1.127,0.871,0.072,0.504,0.892,1.389,0.896,0.917,2.177,
+1.562,0.889,0.626,1.123,1.053,0.715,0.540,0.653,0.748,0.076,
+0.352,0.611,0.769,0.729,0.465,0.885,1.085,0.743,0.462,1.004,
+0.735,0.461,0.486,0.501,1.005,0.082,0.463,0.711,0.702,0.739,
+0.465,0.729,0.764,0.673,0.496,0.700,0.068,0.073,0.055,0.074,
+0.617,0.061,0.345,0.518,0.555,0.742,0.506,0.784,0.692,0.419,
+0.325,0.745,0.751,0.620,0.406,0.634,0.570,0.045,0.361,0.616,
+0.643,0.536,0.523,1.095,1.516,0.663,0.698,0.984,1.129,0.699,
+0.678,0.883,0.944,0.109,0.382,0.698,1.016,0.871,0.593,1.225,
+0.127,0.097,0.061,0.108,0.101,0.085,0.075,0.094,0.089,0.016,
+0.054,0.092,0.139,0.182,0.078,0.169,0.786,0.684,0.766,0.938,
+0.087,0.069,0.086,0.109,0.703,0.076,0.417,0.613,0.565,0.862,
+0.724,0.882,0.782,0.440,0.531,0.837,1.075,0.816,0.852,1.022,
+0.867,0.091,0.546,0.859,0.906,0.770,0.862,1.429,2.654,0.761,
+0.896,1.458,0.929,0.534,0.568,0.779,0.915,0.087,0.432,0.764,
+1.438,0.881,0.682,1.652,1.760,0.867,0.602,1.043,0.979,0.704,
+0.617,0.906,0.941,0.086,0.534,0.971,1.137,1.275,0.713,1.635,
+1.003,0.730,0.667,1.041,0.082,0.063,0.066,0.122,0.645,0.063,
+0.808,0.727,0.734,0.859,0.858,1.173,1.576,0.729,0.828,1.900,
+1.114,0.760,0.847,1.670,1.176,0.098,0.935,1.496,1.858,1.462,
+1.688,3.273,2.594,1.799,1.203,2.245,1.668,1.433,1.064,1.460,
+1.264,0.166,0.673,1.179,1.623,1.607,1.063,1.986,2.326,1.769,
+1.026,1.765,1.730,1.326,1.276,1.334,1.548,0.227,1.146,1.452,
+1.146,1.529,1.069,1.399,1.087,1.217,0.965,1.323,0.144,0.175,
+0.136,0.193,0.908,0.141,0.802,1.218,0.648,1.179,0.965,1.388,
+1.361,0.852,0.697,1.207,1.513,1.436,1.007,1.316,0.814,0.101,
+0.618,1.022,1.057,1.119,1.000,2.079,1.973,1.478,0.936,1.613,
+1.811,1.660,1.175,1.326,1.100,0.171,0.613,0.922,0.968,1.133,
+0.975,1.501,2.126,1.928,1.177,3.321,1.881,1.386,1.263,1.301,
+1.766,0.326,1.375,1.849,1.025,1.648,1.328,1.501,1.272,1.632,
+1.022,1.407,0.203,0.264,0.186,0.203,1.376,0.278,0.998,1.568,
+0.754,1.833,1.264,1.663,0.965,0.782,0.539,0.955,1.602,1.761,
+1.040,1.231,0.967,0.118,0.764,1.211,0.812,0.937,0.890,1.608,
+1.710,0.922,0.785,1.499,1.669,1.624,1.516,1.524,1.154,0.212,
+0.969,1.063,1.037,1.104,1.013,1.506,0.142,0.162,0.092,0.202,
+0.177,0.275,0.237,0.180,0.140,0.060,0.170,0.200,0.131,0.282,
+0.170,0.197,1.218,1.509,1.409,1.698,0.177,0.249,0.325,0.263,
+1.552,0.293,1.211,1.534,0.902,1.974,1.845,1.879,1.159,0.752,
+0.829,1.549,1.883,2.225,2.718,2.350,1.360,0.185,1.343,1.790,
+1.155,1.222,1.875,2.471,1.672,0.978,0.985,1.354,0.966,0.824,
+0.777,0.877,1.037,0.109,0.599,0.880,1.146,1.005,1.006,1.818,
+2.022,1.738,1.034,1.652,1.488,1.724,1.464,1.542,1.618,0.237,
+1.180,1.828,1.365,2.394,1.561,2.182,1.059,1.348,1.219,1.613,
+0.117,0.156,0.134,0.177,1.169,0.156,1.078,1.513,0.949,1.575,
+1.634,2.047,1.456,0.953,0.879,1.550,1.432,1.389,1.168,1.833,
+1.274,0.129,1.296,2.135,1.644,1.780,2.025,3.549,1.827,1.299,
+0.788,1.480,1.132,1.158,0.728,0.991,1.283,0.131,0.572,0.832,
+1.608,0.961,0.644,1.084,1.817,1.541,0.754,1.128,1.461,1.310,
+1.268,0.997,1.540,0.224,1.317,1.479,1.259,1.487,0.866,1.221,
+1.029,1.399,1.007,1.252,0.134,0.219,0.171,0.229,1.165,0.189,
+0.848,1.256,0.830,1.705,1.098,1.350,0.984,0.744,0.487,1.007,
+1.033,1.163,0.831,1.116,1.179,0.140,0.792,1.308,1.245,1.138,
+1.201,2.308,0.101,0.101,0.081,0.098,0.107,0.142,0.118,0.098,
+0.091,0.016,0.055,0.081,0.086,0.104,0.066,0.101,0.123,0.143,
+0.064,0.104,0.185,0.198,0.146,0.134,0.154,0.053,0.251,0.226,
+0.093,0.176,0.103,0.113,0.070,0.128,0.078,0.092,0.018,0.043,
+0.037,0.024,0.143,0.048,0.141,0.182,0.072,0.208,0.178,0.156,
+0.089,0.073,0.048,0.092,0.140,0.190,0.123,0.165,0.116,0.028,
+0.102,0.143,0.118,0.124,0.120,0.188,1.384,1.006,0.623,0.783,
+1.256,1.524,1.356,1.076,1.162,0.249,0.954,1.010,0.815,1.127,
+1.008,1.233,0.124,0.182,0.080,0.089,0.139,0.218,0.170,0.104,
+0.132,0.062,0.180,0.143,0.113,0.272,0.168,0.151,1.076,1.578,
+1.150,1.089,0.152,0.309,0.227,0.175,1.455,0.297,0.744,1.158,
+0.669,1.620,1.458,1.273,0.856,0.723,0.557,0.750,1.343,1.703,
+1.523,1.304,1.329,0.209,1.549,1.623,0.894,1.180,1.537,1.777,
+1.440,0.904,0.592,0.957,0.899,0.823,0.603,0.662,0.816,0.108,
+0.635,0.784,0.833,0.855,0.749,1.242,1.672,1.576,0.865,1.275,
+1.392,1.694,1.193,1.072,1.495,0.238,1.592,1.773,1.220,2.217,
+2.003,2.012,1.216,1.467,1.015,1.279,0.163,0.211,0.148,0.174,
+1.501,0.203,1.445,1.656,0.971,1.979,1.772,1.783,1.303,0.831,
+0.749,1.151,1.183,1.307,1.078,1.359,1.515,0.170,1.767,2.143,
+1.456,1.677,2.018,2.659,2.630,1.221,0.889,1.620,1.130,0.796,
+0.724,0.921,1.132,0.118,0.569,0.944,1.595,1.161,0.727,1.698,
+1.723,0.952,0.467,0.835,1.190,0.698,0.518,0.706,1.108,0.099,
+0.519,0.848,0.877,0.824,0.508,0.969,1.103,0.940,0.624,1.231,
+0.109,0.098,0.075,0.166,0.839,0.082,0.499,0.935,0.921,1.056,
+0.729,1.313,1.620,0.837,0.731,1.659,1.120,0.830,0.692,1.329,
+1.136,0.094,0.646,1.355,1.735,1.322,1.203,3.296,1.660,1.067,
+1.513,1.268,1.159,1.265,1.694,1.065,0.860,0.097,0.532,0.852,
+0.972,0.903,0.640,1.198,1.413,1.049,0.563,0.924,1.207,0.991,
+0.759,0.885,1.364,0.139,0.956,1.395,0.916,1.112,0.640,1.128,
+0.918,0.945,0.617,1.030,0.083,0.123,0.079,0.122,0.958,0.117,
+0.661,1.202,0.860,1.300,0.962,1.896,1.166,0.742,0.561,1.105,
+1.079,1.037,0.817,1.408,0.990,0.100,0.713,1.381,1.157,1.164,
+1.016,2.528,1.880,1.076,0.766,1.107,1.560,1.362,1.412,1.510,
+1.352,0.213,0.861,1.295,1.317,1.378,1.111,2.050,0.136,0.143,
+0.070,0.102,0.120,0.152,0.197,0.136,0.102,0.023,0.099,0.133,
+0.127,0.205,0.115,0.196,1.711,1.821,1.226,1.632,0.151,0.193,
+0.157,0.219,1.843,0.307,1.402,1.912,1.321,2.482,2.004,2.507,
+1.609,1.200,0.945,1.454,1.873,1.785,1.746,2.323,2.050,0.213,
+1.822,2.732,1.574,1.703,1.922,3.112,3.226,1.406,0.987,1.853,
+1.425,1.095,0.957,1.150,1.612,0.154,0.805,1.443,2.249,1.666,
+1.343,3.167,2.205,1.563,0.925,1.497,1.674,1.919,1.372,1.425,
+1.772,0.162,1.223,2.042,1.776,2.022,1.396,2.672,2.243,1.960,
+1.502,2.426,0.169,0.184,0.131,0.235,2.270,0.210,1.619,2.646,
+2.022,2.803,2.519,3.703,3.348,1.723,1.464,3.289,2.461,2.140,
+1.883,3.069,2.771,0.210,2.443,4.187,3.755,2.709,3.199,4.892,
+3.474,2.107,1.800,4.151,2.199,1.430,1.221,1.870,2.821,0.323,
+1.191,2.095,4.513,4.704,1.680,3.439,2.503,1.286,1.118,1.775,
+1.461,0.957,0.705,0.918,1.606,0.131,0.738,1.042,1.505,1.636,
+0.885,1.621,2.037,1.493,1.260,2.237,0.157,0.141,0.122,0.259,
+1.231,0.104,0.650,0.985,1.411,1.465,1.028,1.658,3.256,1.592,
+1.610,3.918,2.352,1.845,1.365,2.656,1.691,0.135,0.862,1.551,
+3.019,1.843,1.537,3.372,2.792,1.304,0.940,1.808,1.372,0.858,
+0.676,1.012,1.326,0.179,0.605,0.948,1.330,1.418,0.650,1.345,
+1.576,0.828,0.633,0.988,0.805,0.488,0.416,0.564,0.964,0.077,
+0.464,0.710,0.821,0.738,0.482,0.840,1.128,0.922,0.686,1.132,
+0.086,0.074,0.061,0.112,1.337,0.085,0.568,0.782,0.679,0.816,
+0.763,0.962,1.396,0.810,0.763,1.429,1.272,1.047,0.764,1.255,
+1.168,0.084,0.707,1.016,1.226,1.011,0.932,2.045,2.725,0.920,
+0.786,1.365,1.320,0.791,0.716,1.049,1.426,0.145,0.551,1.104,
+1.464,1.143,0.820,1.741,0.144,0.087,0.060,0.110,0.090,0.083,
+0.058,0.083,0.091,0.013,0.060,0.088,0.143,0.173,0.096,0.170,
+1.086,0.723,0.808,1.013,0.084,0.060,0.072,0.103,0.815,0.076,
+0.648,0.679,0.707,0.773,0.977,1.059,1.098,0.605,0.679,1.207,
+1.180,0.858,0.762,1.193,1.047,0.087,0.729,1.064,1.120,0.988,
+1.106,2.096,3.063,1.119,1.036,2.388,1.228,0.715,0.788,1.138,
+1.514,0.135,0.754,1.123,2.439,1.422,1.121,2.690,1.797,1.060,
+0.809,1.413,1.062,0.748,0.689,0.913,1.090,0.081,0.785,0.964,
+1.328,1.270,0.961,1.612,1.336,0.958,1.073,1.482,0.109,0.075,
+0.147,0.159,1.122,0.125,3.418,1.503,0.993,1.019,1.462,1.530,
+2.251,1.100,1.187,2.638,1.296,0.929,0.984,1.684,1.690,0.113,
+1.460,1.970,2.669,1.804,1.981,4.646,2.925,1.592,1.234,2.390,
+1.450,0.932,0.764,1.106,1.152,0.108,0.516,0.988,1.553,1.431,
+1.043,1.797,1.779,1.064,1.482,1.987,0.948,0.649,0.586,0.796,
+0.820,0.075,0.479,0.757,0.726,0.740,0.580,1.111,1.056,1.019,
+0.791,1.297,0.097,0.110,0.083,0.157,0.663,0.074,0.425,0.572,
+0.594,0.760,0.591,0.994,1.319,0.714,0.774,1.620,1.263,0.871,
+0.679,1.331,0.761,0.063,0.418,0.755,1.064,0.861,1.061,1.953,
+1.704,1.089,0.588,1.086,1.038,0.855,0.516,0.750,0.811,0.091,
+0.359,0.673,0.772,0.853,0.448,0.964,1.030,0.786,0.487,0.664,
+0.746,0.484,0.436,0.532,0.664,0.069,0.392,0.609,0.514,0.628,
+0.397,0.752,0.943,0.945,0.603,0.986,0.076,0.087,0.067,0.111,
+0.719,0.099,0.370,0.590,0.531,0.891,0.508,0.804,0.921,0.628,
+0.469,0.931,0.904,0.818,0.534,0.975,0.792,0.066,0.370,0.750,
+0.717,0.857,0.584,1.403,1.305,0.729,0.593,1.064,0.970,0.779,
+0.702,0.849,0.931,0.106,0.516,0.818,0.918,0.968,0.664,1.323,
+0.080,0.097,0.058,0.102,0.062,0.091,0.070,0.075,0.070,0.014,
+0.056,0.072,0.082,0.116,0.062,0.108,0.904,0.892,0.779,1.018,
+0.071,0.094,0.073,0.094,0.825,0.080,0.631,0.696,0.692,0.869,
+0.926,1.118,0.803,0.591,0.580,1.041,0.921,1.024,0.741,1.021,
+0.883,0.077,0.708,0.976,0.753,0.740,0.880,1.638,1.346,0.835,
+0.590,1.089,0.871,0.644,0.494,0.780,0.774,0.067,0.399,0.626,
+1.229,0.733,0.631,1.483,1.024,1.149,0.589,0.962,0.693,0.673,
+0.857,0.966,0.729,0.064,0.445,0.680,0.737,0.849,0.537,1.018,
+0.860,0.816,0.762,1.052,0.067,0.063,0.073,0.098,0.689,0.072,
+1.641,0.950,0.693,0.745,0.929,1.249,1.130,0.659,0.697,1.253,
+0.835,0.717,0.584,1.081,0.970,0.071,0.863,1.328,1.413,1.265,
+1.305,3.142,2.166,1.214,0.804,1.849,0.980,0.781,0.497,0.988,
+1.211,0.113,0.557,0.943,1.322,1.122,0.585,1.630,1.478,0.924,
+0.634,1.320,0.924,0.602,0.486,0.776,1.046,0.097,0.693,0.846,
+0.998,0.978,0.571,1.297,1.190,1.078,1.324,1.861,0.118,0.117,
+0.125,0.284,0.861,0.088,0.599,0.760,0.689,1.044,0.583,1.343,
+1.484,0.852,1.072,2.648,1.107,0.855,0.839,1.896,0.964,0.097,
+0.588,1.159,1.396,1.154,1.105,3.057,0.124,0.099,0.054,0.109,
+0.088,0.092,0.045,0.083,0.087,0.015,0.044,0.070,0.089,0.103,
+0.053,0.126,0.103,0.079,0.043,0.090,0.083,0.076,0.040,0.061,
+0.077,0.014,0.056,0.071,0.087,0.097,0.048,0.098,0.076,0.092,
+0.081,0.134,9.02e-3,0.015,0.018,0.024,0.093,0.014,0.056,0.088,
+0.075,0.103,0.058,0.111,0.174,0.112,0.118,0.297,0.181,0.182,
+0.147,0.371,0.119,0.014,0.069,0.140,0.151,0.146,0.130,0.288,
+1.039,0.645,0.437,0.754,0.768,0.808,0.511,0.710,1.116,0.145,
+0.646,0.868,0.841,0.813,0.573,1.161,0.081,0.076,0.038,0.062,
+0.057,0.071,0.046,0.053,0.083,0.016,0.057,0.071,0.090,0.115,
+0.060,0.097,0.848,0.947,0.716,1.088,0.078,0.138,0.077,0.107,
+0.979,0.112,0.499,0.682,0.595,0.802,0.588,0.865,0.769,0.538,
+0.521,0.832,0.787,0.977,0.655,1.023,0.916,0.095,0.624,0.908,
+0.721,0.790,0.794,1.376,1.268,0.634,0.419,0.939,0.651,0.525,
+0.319,0.542,0.776,0.079,0.365,0.636,1.036,0.740,0.510,1.197,
+1.199,0.803,0.467,0.791,0.745,0.680,0.445,0.546,0.792,0.072,
+0.509,0.733,0.994,0.959,0.595,1.080,0.891,0.829,0.668,1.001,
+0.086,0.087,0.059,0.098,1.281,0.077,0.621,0.802,0.780,0.950,
+0.715,1.169,1.331,0.730,0.839,1.222,0.936,0.835,0.634,1.012,
+1.222,0.104,0.874,1.386,1.579,1.372,1.357,2.800,3.215,1.468,
+1.182,2.802,1.223,0.866,0.706,1.096,1.278,0.114,0.597,1.118,
+2.195,1.429,0.977,2.625,1.504,0.709,0.582,1.273,0.816,0.462,
+0.381,0.679,0.927,0.063,0.484,0.805,1.067,0.780,0.557,1.313,
+1.506,1.051,1.413,3.018,0.122,0.102,0.098,0.343,0.887,0.071,
+0.575,1.077,0.921,0.929,0.697,1.676,2.799,1.319,2.162,7.510,
+1.587,1.240,1.248,3.636,1.259,0.104,0.852,1.837,2.391,1.458,
+1.818,5.072,1.919,0.998,0.704,1.647,1.114,0.823,0.509,1.024,
+0.969,0.089,0.513,0.968,1.117,0.921,0.625,1.688,1.210,0.693,
+0.456,1.056,0.734,0.552,0.380,0.668,0.762,0.066,0.468,0.787,
+0.878,0.770,0.446,0.971,1.111,0.894,0.841,1.889,0.077,0.079,
+0.064,0.221,0.977,0.083,0.499,1.039,0.813,0.926,0.606,1.331,
+1.865,1.024,1.165,4.132,1.586,1.260,1.232,4.559,1.167,0.094,
+0.720,1.776,1.572,1.394,1.262,3.328,1.702,0.733,0.605,1.294,
+1.106,0.780,0.638,1.266,1.234,0.124,0.638,1.083,1.228,0.964,
+0.869,1.855,0.099,0.069,0.048,0.108,0.061,0.066,0.045,0.075,
+0.077,7.44e-3,0.062,0.091,0.107,0.106,0.073,0.146,0.961,0.921,
+0.745,1.346,0.066,0.067,0.054,0.133,1.116,0.107,0.727,0.934,
+0.815,1.201,0.959,1.432,1.239,0.820,0.859,1.800,1.201,0.987,
+0.936,1.860,1.349,0.103,1.034,1.647,1.327,1.248,1.478,2.801,
+2.668,1.168,0.974,2.344,1.220,0.941,0.724,1.780,1.525,0.127,
+0.692,1.398,2.499,1.426,1.243,3.432,1.500,0.960,0.633,1.307,
+0.864,0.748,0.551,0.862,0.989,0.073,0.664,1.216,1.335,1.158,
+0.835,1.949,1.621,1.371,1.122,2.320,0.114,0.103,0.078,0.220,
+1.477,0.106,1.063,1.738,1.538,1.788,1.399,2.528,3.169,1.581,
+1.862,4.561,2.129,1.710,1.536,3.228,2.773,0.167,2.215,4.193,
+5.138,3.393,3.830,9.344,3.544,2.221,1.895,3.498,2.131,1.496,
+1.200,1.635,1.870,0.218,1.011,1.628,2.853,2.697,1.387,2.489,
+2.696,1.570,1.285,2.000,1.613,1.213,0.952,1.211,1.373,0.144,
+0.954,1.124,1.278,1.540,1.007,1.494,1.489,1.327,1.118,1.915,
+0.137,0.134,0.122,0.253,1.377,0.130,0.732,0.945,0.953,1.269,
+1.018,1.480,2.248,1.444,1.041,2.606,1.786,1.432,1.111,2.153,
+1.238,0.123,0.885,1.388,1.805,1.299,1.424,3.049,2.732,1.654,
+1.316,1.990,1.755,1.228,0.888,1.134,1.515,0.211,0.789,1.130,
+1.413,1.812,0.817,1.486,1.797,1.318,1.204,1.668,1.324,1.002,
+0.842,1.097,1.348,0.171,1.070,1.326,1.078,1.345,0.830,1.195,
+1.282,1.325,0.893,1.219,0.155,0.135,0.128,0.183,5.481,0.327,
+0.938,1.139,1.104,1.501,1.095,1.134,1.047,0.791,0.589,1.048,
+1.422,1.176,0.920,1.708,1.577,0.118,0.872,1.166,1.065,1.091,
+1.053,1.882,1.679,0.992,0.849,1.221,1.508,1.076,0.941,1.190,
+1.336,0.186,0.676,1.025,1.228,1.267,0.929,1.816,0.122,0.122,
+0.078,0.147,0.140,0.153,0.108,0.148,0.112,0.029,0.098,0.124,
+0.121,0.240,0.133,0.214,0.977,1.036,0.865,1.049,0.118,0.113,
+0.118,0.176,1.242,0.150,0.744,1.048,0.799,1.299,1.259,2.197,
+0.977,0.717,0.695,1.236,1.277,1.217,1.009,1.556,1.301,0.146,
+0.898,1.404,1.164,1.436,1.397,2.486,2.064,1.032,0.807,1.638,
+1.088,0.757,0.620,1.033,1.242,0.149,0.620,1.003,1.667,1.276,
+0.869,2.395,1.707,1.281,0.879,1.514,1.246,1.265,1.036,1.427,
+1.013,0.134,0.932,1.317,1.136,1.862,1.038,2.046,1.006,0.999,
+0.980,1.538,0.104,0.100,0.132,0.213,1.174,0.221,0.867,1.126,
+0.857,1.315,1.319,1.765,1.616,0.942,1.118,2.082,1.058,0.970,
+0.955,1.481,1.472,0.134,1.162,1.854,1.909,1.800,1.922,3.890,
+2.929,1.965,1.356,2.195,1.928,1.621,1.168,1.300,1.229,0.148,
+0.719,1.227,1.512,1.504,1.083,1.695,2.370,1.506,1.028,1.315,
+1.506,1.439,1.033,1.122,1.173,0.155,0.848,1.072,0.791,1.116,
+0.826,1.130,1.055,1.190,0.983,1.363,0.129,0.161,0.141,0.197,
+0.827,0.107,0.626,0.706,0.586,0.941,0.784,1.103,1.194,0.728,
+0.682,1.567,1.281,1.251,0.868,1.373,0.833,0.089,0.565,0.903,
+1.007,0.863,1.100,2.170,2.181,1.826,0.951,1.379,1.617,2.110,
+1.104,1.151,1.112,0.155,0.719,1.017,0.885,1.214,0.780,1.179,
+1.718,1.881,0.941,1.134,1.290,0.922,1.076,1.135,1.139,0.227,
+0.975,1.272,0.742,1.496,0.876,1.187,1.096,1.642,0.902,1.164,
+0.143,0.258,0.162,0.186,1.326,0.225,0.776,1.041,0.644,1.570,
+1.049,1.176,0.969,0.806,0.595,0.991,1.295,1.753,0.926,1.580,
+1.065,0.121,0.708,1.114,0.815,1.119,0.899,2.033,1.586,1.030,
+0.731,1.165,1.593,1.610,1.170,1.152,1.279,0.194,0.829,1.031,
+1.024,1.175,0.929,1.538,0.115,0.165,0.084,0.176,0.120,0.278,
+0.213,0.157,0.126,0.052,0.116,0.138,0.083,0.232,0.117,0.158,
+1.286,1.694,1.276,1.316,0.180,0.283,0.210,0.201,1.455,0.217,
+1.033,1.181,0.827,1.576,1.413,1.593,1.012,0.876,0.781,1.219,
+1.573,1.979,1.606,1.732,1.482,0.177,1.165,1.513,1.144,1.333,
+1.571,2.403,1.462,0.988,0.639,1.186,1.151,0.949,0.751,0.917,
+1.140,0.108,0.506,0.801,1.412,1.019,0.764,1.701,1.364,1.551,
+0.914,1.405,1.195,1.679,2.364,2.170,0.894,0.153,0.767,1.055,
+0.905,1.732,0.892,1.486,1.025,1.381,0.984,1.266,0.096,0.143,
+0.113,0.149,0.995,0.126,1.178,1.120,0.783,1.400,1.240,1.462,
+1.152,0.794,0.764,1.385,1.021,1.124,0.887,1.336,1.129,0.106,
+1.025,1.491,1.453,1.747,1.725,3.510,1.828,1.495,0.962,1.636,
+1.029,0.989,0.634,1.022,0.992,0.116,0.745,0.846,1.031,1.051,
+0.597,1.183,1.867,1.529,0.806,1.260,1.233,1.338,0.913,1.305,
+1.154,0.196,1.194,1.182,0.874,1.479,0.757,1.264,1.073,1.404,
+1.567,1.824,0.136,0.208,0.287,0.510,1.201,0.155,0.712,1.163,
+0.584,1.154,0.714,1.215,1.113,0.874,0.837,2.049,1.118,1.164,
+1.421,2.901,0.967,0.117,0.729,1.271,1.118,1.088,1.313,2.699,
+0.092,0.109,0.063,0.097,0.113,0.154,0.090,0.112,0.111,0.025,
+0.095,0.094,0.082,0.127,0.082,0.110,0.122,0.153,0.070,0.106,
+0.159,0.219,0.129,0.141,0.136,0.054,0.173,0.157,0.090,0.204,
+0.098,0.125,0.081,0.159,0.185,0.189,0.026,0.055,0.208,0.112,
+0.255,0.050,0.133,0.225,0.074,0.178,0.125,0.134,0.113,0.101,
+0.093,0.237,0.212,0.307,0.393,0.921,0.133,0.025,0.135,0.202,
+0.104,0.137,0.145,0.273,1.180,1.298,0.638,0.858,1.337,2.448,
+1.004,1.056,1.294,0.269,1.657,1.665,0.833,1.364,0.927,1.437,
+0.101,0.178,0.080,0.090,0.110,0.270,0.147,0.120,0.125,0.047,
+0.176,0.160,0.097,0.236,0.121,0.163,0.988,2.726,1.066,1.136,
+0.164,0.909,0.190,0.218,1.192,0.257,0.768,1.060,0.613,1.500,
+1.014,1.221,0.796,0.843,0.601,1.030,1.244,3.187,1.327,2.123,
+1.631,0.226,1.150,1.485,0.923,1.227,1.254,1.991,1.235,1.189,
+0.556,1.045,0.956,1.098,0.513,0.642,0.937,0.115,0.611,0.846,
+1.025,1.033,0.671,1.429,1.371,1.584,0.781,1.105,1.314,2.021,
+1.102,1.129,1.262,0.206,1.148,1.668,1.071,1.967,1.092,1.680,
+1.090,1.535,1.057,1.232,0.108,0.198,0.118,0.150,1.280,0.171,
+0.976,1.326,0.852,1.627,1.155,1.551,1.115,0.906,0.750,1.522,
+1.021,1.332,0.891,1.417,1.464,0.150,1.364,1.811,1.605,1.818,
+1.745,3.066,2.263,1.262,1.048,2.041,1.290,0.851,0.680,1.301,
+1.270,0.122,0.703,1.179,1.562,1.252,0.852,1.904,1.397,0.967,
+0.680,1.121,0.902,0.765,0.540,0.921,1.011,0.097,0.640,0.983,
+1.006,0.954,0.620,1.188,1.186,1.033,1.198,2.090,0.094,0.098,
+0.107,0.355,0.901,0.091,0.662,1.044,0.719,0.863,0.745,1.464,
+1.809,1.051,1.512,5.049,1.329,1.114,1.264,4.713,1.172,0.102,
+0.825,1.902,1.716,1.230,1.528,4.067,1.977,1.423,1.099,1.959,
+1.707,1.400,1.179,1.744,1.474,0.200,1.497,1.732,1.279,1.690,
+1.053,1.831,1.507,1.396,0.911,1.475,1.428,1.632,0.979,1.589,
+1.495,0.216,1.314,1.704,1.136,1.888,0.960,1.598,1.313,1.712,
+1.789,3.385,0.159,0.229,0.469,0.897,1.989,0.210,1.140,1.934,
+1.044,1.756,1.219,1.917,1.876,1.464,1.672,6.246,3.051,3.063,
+3.942,24.5,1.617,0.207,1.528,3.385,1.612,2.147,1.828,5.157,
+1.424,0.919,0.720,1.075,1.336,1.337,0.878,1.238,1.325,0.213,
+1.053,1.408,1.142,1.283,1.107,1.816,0.095,0.115,0.061,0.099,
+0.087,0.175,0.096,0.111,0.086,0.021,0.143,0.136,0.097,0.175,
+0.111,0.168,1.113,1.474,1.051,1.586,0.110,0.198,0.123,0.255,
+1.405,0.202,1.533,1.584,0.952,1.661,1.810,1.977,1.122,0.986,
+0.900,1.694,1.507,1.777,1.474,3.367,1.704,0.178,1.588,2.597,
+1.454,1.520,2.050,3.519,1.962,1.189,0.844,1.724,1.189,1.044,
+0.783,1.225,1.436,0.155,0.746,1.229,1.532,1.193,0.964,2.221,
+1.639,1.239,0.757,1.312,1.124,1.425,0.949,1.186,1.037,0.123,
+1.108,1.530,1.206,1.595,1.018,2.202,1.524,1.529,1.277,2.169,
+0.107,0.136,0.107,0.228,1.601,0.152,1.312,1.902,1.395,1.884,
+1.937,2.544,2.316,1.404,1.416,3.308,1.860,1.830,1.696,3.586,
+2.203,0.185,2.044,3.454,3.463,2.985,3.338,5.689,2.724,1.461,
+1.346,2.320,1.720,1.088,0.834,1.157,1.222,0.137,0.550,1.138,
+1.882,1.735,0.886,1.822,1.407,0.901,0.569,0.996,1.055,0.788,
+0.602,0.826,0.861,0.087,0.469,0.671,0.846,0.870,0.593,1.076,
+1.133,0.983,0.778,1.322,0.100,0.087,0.073,0.164,0.753,0.069,
+0.466,0.722,0.699,0.841,0.730,1.260,1.403,0.762,0.629,1.535,
+1.081,0.809,0.601,1.161,0.953,0.067,0.443,0.846,1.388,0.739,
+0.912,2.281,2.148,1.249,0.798,1.556,1.571,1.231,0.936,1.046,
+1.123,0.132,0.516,0.864,1.155,1.364,0.716,1.291,1.524,1.150,
+0.624,0.945,1.224,0.902,0.746,0.875,1.272,0.133,0.696,0.983,
+0.812,0.950,0.553,0.977,1.167,1.363,0.829,1.252,0.127,0.146,
+0.119,0.177,1.238,0.146,0.741,1.191,0.740,1.279,1.005,1.229,
+1.074,0.805,0.535,1.069,1.295,1.265,0.816,1.409,1.119,0.091,
+0.604,1.177,1.043,0.941,0.987,2.046,1.669,0.877,0.751,1.207,
+1.522,1.167,1.054,1.176,1.386,0.191,0.581,0.987,1.325,1.380,
+0.878,1.647,0.145,0.145,0.084,0.144,0.152,0.190,0.126,0.150,
+0.163,0.028,0.098,0.144,0.179,0.289,0.139,0.223,1.171,1.197,
+1.135,1.376,0.165,0.130,0.145,0.197,2.166,0.182,0.781,0.995,
+0.928,1.339,1.358,1.397,0.996,0.652,0.640,1.094,1.463,1.190,
+1.242,1.646,1.387,0.139,0.892,1.331,1.297,1.170,1.427,2.045,
+1.884,0.774,0.674,1.390,1.027,0.657,0.651,0.822,0.965,0.100,
+0.462,0.785,1.661,1.086,0.869,1.870,1.533,1.044,0.656,1.085,
+1.144,1.085,0.785,0.991,0.949,0.102,0.650,0.965,1.110,1.255,
+0.873,1.519,1.240,1.307,1.059,1.634,0.133,0.129,0.119,0.205,
+1.282,0.123,0.915,1.265,1.200,1.680,1.513,1.948,1.751,1.017,
+0.907,2.103,1.299,1.073,1.043,1.733,1.670,0.135,1.139,1.947,
+2.454,2.122,2.333,4.094,0.149,0.113,0.078,0.117,0.139,0.108,
+0.075,0.094,0.084,0.011,0.042,0.107,0.109,0.128,0.066,0.145,
+0.122,0.099,0.065,0.096,0.124,0.128,0.098,0.092,0.088,0.014,
+0.055,0.078,0.070,0.103,0.064,0.111,0.072,0.089,0.058,0.091,
+0.013,0.017,0.012,0.019,0.071,0.012,0.052,0.071,0.047,0.078,
+0.058,0.102,0.088,0.067,0.047,0.105,0.117,0.117,0.070,0.123,
+0.070,9.19e-3,0.045,0.090,0.084,0.085,0.090,0.211,0.123,0.096,
+0.049,0.082,0.109,0.136,0.079,0.077,0.076,0.016,0.041,0.058,
+0.057,0.090,0.047,0.074,0.138,0.169,0.065,0.096,0.197,0.271,
+0.131,0.131,0.119,0.040,0.081,0.108,0.067,0.124,0.061,0.091,
+0.090,0.153,0.077,0.104,0.017,0.038,0.030,0.024,0.171,0.051,
+0.098,0.126,0.056,0.144,0.124,0.117,0.081,0.067,0.044,0.073,
+0.127,0.160,0.096,0.127,0.096,0.015,0.058,0.091,0.064,0.078,
+0.080,0.152,0.107,0.064,0.045,0.070,0.098,0.119,0.100,0.087,
+0.097,0.019,0.049,0.068,0.068,0.083,0.063,0.098,0.012,0.016,
+9.53e-3,0.019,0.018,0.039,0.024,0.020,0.023,0.010,0.022,0.017,
+9.36e-3,0.025,0.014,0.015,0.106,0.184,0.104,0.131,0.031,0.042,
+0.047,0.033,0.606,0.054,0.109,0.115,0.112,0.163,0.146,0.131,
+0.075,0.054,0.070,0.098,0.131,0.160,0.152,0.171,0.160,0.021,
+0.097,0.148,0.085,0.090,0.122,0.165,0.123,0.091,0.060,0.097,
+0.089,0.080,0.072,0.080,0.081,0.011,0.041,0.063,0.114,0.098,
+0.081,0.159,0.150,0.145,0.078,0.135,0.140,0.236,0.146,0.163,
+0.109,0.023,0.085,0.103,0.105,0.169,0.110,0.171,0.088,0.128,
+0.103,0.145,0.017,0.023,0.020,0.036,0.157,0.022,0.111,0.125,
+0.088,0.164,0.140,0.200,0.131,0.095,0.076,0.156,0.108,0.127,
+0.102,0.197,0.126,0.014,0.102,0.152,0.158,0.169,0.176,0.344,
+1.566,1.171,0.758,1.363,1.045,1.105,0.619,0.889,0.967,0.102,
+0.537,0.714,0.912,0.715,0.548,0.931,1.520,1.167,0.634,0.923,
+1.309,1.121,1.327,1.008,1.106,0.161,1.060,1.181,0.729,1.105,
+0.695,1.115,0.949,1.289,1.022,1.320,0.139,0.197,0.160,0.307,
+0.970,0.135,0.743,1.001,0.584,1.106,0.822,1.146,0.946,0.634,
+0.557,1.162,1.061,0.975,0.765,1.574,1.464,0.126,0.849,1.268,
+1.016,0.916,1.159,2.320,0.102,0.089,0.045,0.084,0.105,0.140,
+0.075,0.092,0.080,0.018,0.056,0.072,0.061,0.084,0.043,0.084,
+0.114,0.134,0.057,0.068,0.139,0.152,0.128,0.111,0.114,0.033,
+0.185,0.156,0.054,0.108,0.061,0.081,0.075,0.146,0.086,0.105,
+0.022,0.047,0.037,0.028,0.128,0.036,0.113,0.155,0.057,0.135,
+0.098,0.107,0.107,0.080,0.058,0.126,0.163,0.228,0.131,0.268,
+0.128,0.021,0.125,0.181,0.087,0.110,0.128,0.221,1.263,0.919,
+0.581,0.688,1.369,1.534,1.257,1.024,1.114,0.204,0.887,0.947,
+0.771,0.997,0.863,1.147,0.116,0.168,0.081,0.088,0.142,0.248,
+0.179,0.112,0.143,0.045,0.177,0.144,0.085,0.194,0.128,0.138,
+1.216,1.816,1.542,1.348,0.176,0.223,0.274,0.209,1.353,0.218,
+0.530,0.886,0.647,1.303,1.398,1.234,0.839,0.645,0.656,0.734,
+1.324,1.530,1.462,1.442,1.271,0.166,1.328,1.510,0.825,1.038,
+1.398,1.710,1.222,0.791,0.537,0.971,0.875,0.757,0.483,0.588,
+0.804,0.094,0.503,0.675,0.809,0.730,0.530,1.050,1.467,1.297,
+0.718,0.955,1.416,1.641,1.079,0.983,1.175,0.169,1.199,1.280,
+0.891,1.538,0.998,1.278,1.408,1.666,1.533,1.735,0.148,0.223,
+0.178,0.224,1.551,0.182,1.334,1.521,0.975,1.785,1.534,1.758,
+1.226,0.898,0.791,1.443,1.316,1.406,1.073,1.501,1.720,0.188,
+1.567,1.752,1.555,2.074,1.911,2.698,2.223,0.975,0.721,1.431,
+0.931,0.647,0.521,0.733,0.883,0.091,0.444,0.778,1.189,0.932,
+0.645,1.455,1.305,0.729,0.468,0.828,0.826,0.583,0.528,0.652,
+0.754,0.062,0.430,0.806,0.673,0.708,0.484,1.038,1.183,0.917,
+0.766,1.278,0.101,0.093,0.075,0.177,0.871,0.081,0.556,1.030,
+0.818,0.888,0.742,1.349,1.415,0.757,0.698,1.610,1.016,0.817,
+0.659,1.375,0.968,0.079,0.625,1.236,1.357,1.040,1.372,2.721,
+2.184,1.211,0.719,1.400,1.351,1.142,0.898,1.048,1.116,0.115,
+0.683,1.215,1.112,1.125,0.648,1.513,1.618,1.270,0.598,1.082,
+1.375,1.192,0.973,1.150,1.330,0.135,0.957,1.612,0.823,1.124,
+0.654,1.243,1.385,1.593,0.942,1.507,0.140,0.191,0.121,0.249,
+1.358,0.173,1.052,1.880,0.910,1.580,1.228,1.849,1.623,1.050,
+0.841,1.661,1.727,1.689,1.324,2.991,1.371,0.164,1.221,2.756,
+1.320,1.454,1.627,3.133,5.103,1.120,0.791,1.208,1.832,1.410,
+1.416,1.490,1.475,0.205,0.881,1.441,1.194,1.241,1.058,2.053,
+0.271,0.115,0.074,0.140,0.138,0.193,0.180,0.151,0.104,0.023,
+0.122,0.207,0.102,0.168,0.115,0.203,1.857,1.823,1.324,1.780,
+0.147,0.165,0.167,0.237,1.917,0.261,1.313,1.904,1.169,1.953,
+1.823,2.249,2.037,1.056,2.156,1.907,1.915,1.649,1.895,2.652,
+1.770,0.198,1.832,3.174,1.649,1.538,2.294,3.179,2.303,1.021,
+0.768,1.551,1.184,0.850,0.736,1.240,1.325,0.148,0.662,1.179,
+1.376,1.086,0.906,2.374,1.641,1.032,0.686,1.317,1.222,1.194,
+1.087,1.228,1.081,0.099,0.911,1.533,1.010,1.234,0.968,1.963,
+2.102,1.910,1.519,2.444,0.158,0.153,0.127,0.257,2.282,0.210,
+1.712,2.674,1.821,2.467,2.327,3.395,2.504,1.354,1.361,3.271,
+2.094,1.819,1.762,2.748,2.481,0.194,2.106,3.562,3.147,2.898,
+3.201,5.396,4.387,2.027,1.660,4.042,1.839,1.163,0.901,1.482,
+1.797,0.173,0.785,1.379,2.985,2.355,1.182,2.909,1.916,1.199,
+0.700,1.336,1.107,0.729,0.518,0.764,1.138,0.093,0.638,0.785,
+1.411,1.493,0.782,1.330,1.463,1.206,0.867,1.890,0.127,0.102,
+0.078,0.199,0.970,0.082,0.441,0.825,1.218,1.190,0.869,1.542,
+2.292,1.181,0.981,2.590,1.593,1.071,0.810,1.737,1.216,0.099,
+0.648,1.450,2.178,1.381,1.388,3.670,2.479,1.227,0.794,1.632,
+1.218,0.799,0.612,0.838,0.858,0.089,0.399,0.725,1.051,0.957,
+0.538,1.278,1.475,0.855,0.490,0.957,0.809,0.534,0.417,0.634,
+0.879,0.071,0.447,0.657,0.851,0.853,0.547,0.969,1.071,0.920,
+0.586,1.115,0.093,0.076,0.060,0.107,1.221,0.086,0.383,0.673,
+0.934,1.089,0.648,1.036,1.046,0.646,0.449,1.099,0.941,0.747,
+0.499,1.042,0.816,0.056,0.482,0.946,0.943,0.811,0.800,2.008,
+1.945,0.837,0.756,1.378,1.409,0.922,1.118,1.262,1.244,0.145,
+0.399,0.822,1.870,1.444,0.749,1.855,0.144,0.105,0.062,0.129,
+0.130,0.106,0.109,0.133,0.116,0.012,0.055,0.094,0.221,0.221,
+0.092,0.214,1.022,0.857,0.746,1.132,0.104,0.086,0.078,0.137,
+1.100,0.088,0.388,0.671,0.862,1.011,0.769,1.254,1.131,0.652,
+0.654,1.399,1.293,0.958,0.859,1.524,1.043,0.086,0.622,1.130,
+1.295,1.067,1.089,2.203,2.782,1.030,0.919,2.088,1.122,0.717,
+0.948,1.019,1.262,0.111,0.545,1.041,2.587,1.391,1.004,2.491,
+1.629,0.929,0.636,1.173,0.955,0.754,0.701,0.862,1.040,0.077,
+0.529,0.948,1.428,1.352,0.817,1.752,1.241,1.083,0.889,1.447,
+0.098,0.078,0.075,0.143,0.944,0.073,0.690,0.966,1.169,1.264,
+1.169,1.898,2.437,1.185,1.221,3.092,1.531,1.155,1.064,2.196,
+1.728,0.124,1.116,1.963,3.192,2.243,2.552,5.904,3.070,1.743,
+1.280,2.770,1.725,1.163,0.905,1.404,1.450,0.143,0.704,1.197,
+2.327,2.058,0.961,2.635,1.911,1.193,0.791,1.344,1.239,0.989,
+0.655,0.909,1.345,0.103,0.644,0.943,1.125,1.256,0.683,1.529,
+1.109,1.059,0.672,1.358,0.110,0.111,0.072,0.158,0.973,0.096,
+0.441,0.825,0.817,1.111,0.754,1.464,1.365,0.936,0.666,1.578,
+1.431,1.377,0.770,1.454,0.878,0.084,0.506,1.089,1.241,1.215,
+1.075,2.837,2.072,1.309,0.683,1.341,1.342,1.250,0.662,0.912,
+0.975,0.101,0.360,0.718,0.940,1.040,0.534,1.313,1.622,1.276,
+0.548,1.210,1.234,1.237,0.636,0.887,0.957,0.115,0.542,0.778,
+0.839,1.059,0.587,1.052,1.264,1.327,0.658,1.299,0.143,0.162,
+0.094,0.148,2.211,0.232,0.522,1.008,0.924,1.469,0.817,1.351,
+1.048,0.806,0.443,1.014,1.373,1.507,0.696,1.271,1.206,0.089,
+0.465,0.944,0.952,1.049,0.777,2.042,1.552,0.794,0.589,1.185,
+1.141,0.922,0.799,1.082,0.955,0.118,0.388,0.698,1.027,1.017,
+0.665,1.560,0.086,0.082,0.042,0.107,0.077,0.152,0.071,0.092,
+0.100,0.018,0.047,0.072,0.090,0.140,0.069,0.136,1.151,1.180,
+0.776,1.346,0.137,0.113,0.092,0.159,2.949,0.184,0.581,0.923,
+1.115,1.321,0.983,1.436,1.137,0.698,0.666,1.500,1.360,1.304,
+1.358,1.986,1.361,0.096,0.768,1.279,1.269,1.042,1.276,2.500,
+1.733,1.002,0.705,1.348,1.028,0.775,0.746,0.873,1.170,0.098,
+0.468,0.781,1.454,1.061,0.834,1.936,1.509,1.267,0.638,1.201,
+0.955,1.330,0.743,1.034,1.016,0.108,0.576,0.975,1.086,1.531,
+0.941,1.825,1.036,1.070,0.934,1.540,0.091,0.093,0.075,0.206,
+1.237,0.091,0.694,0.998,0.963,1.248,1.049,1.825,1.655,1.017,
+0.949,2.078,1.609,1.290,1.367,5.050,1.479,0.117,1.101,1.707,
+2.409,2.080,2.101,5.424,2.284,1.543,0.981,2.191,1.340,1.238,
+0.692,1.308,1.430,0.124,0.602,1.111,1.610,1.181,0.695,1.667,
+1.748,1.312,0.668,1.394,1.212,1.040,0.796,1.015,1.257,0.132,
+0.801,1.253,1.248,1.372,0.811,1.656,1.385,1.610,1.051,1.701,
+0.144,0.186,0.137,0.277,1.155,0.135,0.614,1.090,0.983,1.770,
+1.076,1.674,1.715,1.284,0.788,1.944,1.424,1.345,0.940,1.848,
+1.685,0.155,0.919,1.712,1.858,1.807,1.876,3.851,0.124,0.106,
+0.067,0.113,0.134,0.130,0.067,0.102,0.082,0.012,0.045,0.072,
+0.100,0.097,0.051,0.129,0.104,0.104,0.047,0.092,0.106,0.122,
+0.068,0.094,0.097,0.016,0.080,0.105,0.092,0.119,0.066,0.129,
+0.081,0.105,0.069,0.108,0.012,0.024,0.020,0.019,0.113,0.023,
+0.060,0.100,0.077,0.139,0.093,0.138,0.142,0.103,0.064,0.175,
+0.148,0.179,0.110,0.237,0.115,0.015,0.077,0.145,0.141,0.156,
+0.165,0.389,1.644,1.118,0.700,1.089,1.484,1.591,1.044,1.228,
+1.219,0.200,0.760,1.087,1.136,1.329,0.967,2.120,0.104,0.113,
+0.056,0.091,0.114,0.148,0.092,0.088,0.105,0.025,0.104,0.108,
+0.112,0.179,0.096,0.196,1.323,1.582,1.131,1.490,0.139,0.188,
+0.156,0.199,1.462,0.202,0.733,1.317,0.877,1.601,1.388,1.832,
+1.265,0.880,0.722,1.269,1.504,1.584,1.389,1.644,1.571,0.173,
+1.353,1.853,1.265,1.466,1.938,2.948,2.005,1.346,0.792,1.494,
+1.375,1.163,0.664,0.981,1.164,0.123,0.715,1.091,1.510,1.151,
+0.902,2.144,1.851,1.570,0.855,1.382,1.612,1.446,0.864,1.074,
+1.504,0.148,1.125,1.519,1.646,1.992,1.320,2.544,1.743,1.835,
+1.913,2.586,0.184,0.179,0.153,0.291,1.854,0.174,1.280,1.721,
+1.541,2.313,1.933,2.695,1.982,1.267,1.196,2.027,1.600,1.582,
+1.269,1.961,2.129,0.177,1.889,2.293,2.491,2.563,2.867,4.901,
+5.382,2.168,1.444,3.382,1.798,1.200,1.069,1.628,1.786,0.176,
+0.900,1.668,2.596,1.981,1.346,3.404,2.133,1.192,0.676,1.446,
+1.201,0.874,0.565,0.995,1.255,0.097,0.626,1.225,1.249,1.183,
+0.708,1.772,1.926,1.584,1.074,2.410,0.136,0.131,0.094,0.256,
+1.287,0.126,0.753,1.486,1.400,1.736,1.243,2.495,3.198,1.776,
+1.346,3.693,1.816,1.469,1.148,2.836,1.943,0.167,1.310,2.459,
+3.148,2.806,2.441,6.852,2.978,1.626,1.056,2.059,1.889,1.371,
+0.962,1.374,1.224,0.116,0.703,1.214,1.476,1.313,0.784,2.070,
+2.059,1.411,0.643,1.416,1.481,1.519,0.719,1.307,1.309,0.113,
+0.766,1.407,1.225,1.295,0.745,2.207,1.744,1.651,0.976,2.132,
+0.114,0.135,0.085,0.220,1.518,0.150,0.816,1.692,1.427,1.954,
+1.287,3.076,2.040,1.300,0.981,2.470,1.716,1.611,1.172,3.487,
+1.515,0.139,1.105,2.282,2.106,2.426,1.843,10.0,3.210,1.611,
+1.050,1.872,2.199,1.632,1.270,2.000,1.839,0.220,0.997,1.871,
+2.113,1.908,1.482,3.618,0.159,0.132,0.066,0.148,0.126,0.141,
+0.091,0.156,0.102,0.013,0.096,0.146,0.167,0.200,0.111,0.348,
+2.594,2.293,1.505,2.732,0.158,0.155,0.122,0.270,2.302,0.221,
+1.420,2.193,1.912,2.635,2.447,3.824,2.737,1.726,1.549,2.777,
+2.700,2.216,1.987,3.597,2.893,0.237,2.274,3.853,2.843,2.569,
+3.300,6.176,6.456,3.027,1.776,4.303,2.460,1.667,1.257,2.136,
+2.845,0.246,1.224,2.561,4.300,2.966,2.175,6.507,3.275,2.401,
+1.265,2.729,2.152,2.016,1.354,2.529,2.198,0.168,1.389,2.840,
+2.911,2.800,1.909,8.147,3.753,3.013,2.204,4.641,0.219,0.188,
+0.133,0.390,3.814,0.262,2.262,4.275,3.770,4.182,3.743,7.395,
+6.823,2.768,2.318,6.259,3.578,2.351,2.434,6.640,4.512,0.283,
+3.377,6.866,5.453,4.596,4.060,10.1,11.0,2.836,2.512,4.761,
+3.241,1.540,1.639,2.449,3.739,0.300,1.282,2.130,4.825,2.851,
+2.041,3.400,4.231,1.806,1.553,2.064,1.998,1.030,1.143,1.220,
+2.397,0.148,1.205,1.531,1.847,1.460,1.317,1.921,3.600,2.010,
+1.674,2.599,0.265,0.180,0.153,0.316,2.645,0.188,1.129,1.477,
+1.851,1.916,1.541,2.087,5.337,2.226,2.193,4.808,2.901,1.990,
+1.773,3.172,2.694,0.198,1.637,2.304,3.497,2.002,2.277,3.772,
+4.297,2.241,1.771,2.370,2.242,1.403,1.249,1.326,2.081,0.207,
+1.047,1.449,1.731,1.662,1.203,1.740,2.491,1.485,1.042,1.409,
+1.467,0.805,0.868,0.910,1.671,0.134,0.938,1.166,1.042,0.973,
+0.810,1.032,1.946,1.613,1.146,1.501,0.147,0.128,0.131,0.145,
+1.852,0.161,1.027,1.342,1.054,1.424,1.011,1.310,1.834,1.114,
+0.918,1.615,1.505,1.100,1.223,1.532,1.909,0.123,1.078,1.419,
+1.564,1.174,1.295,2.022,2.741,1.208,1.237,1.765,1.523,0.929,
+1.012,1.138,1.852,0.200,0.925,1.427,1.551,1.285,1.125,2.220,
+0.189,0.131,0.099,0.282,0.142,0.101,0.091,0.126,0.164,0.020,
+0.144,0.163,0.180,0.207,0.147,0.253,1.309,1.055,0.988,1.402,
+0.104,0.076,0.083,0.145,1.429,0.127,0.770,0.995,0.881,1.058,
+0.887,1.081,1.371,0.816,0.949,1.720,1.395,1.041,1.115,1.559,
+1.731,0.171,2.567,1.804,1.301,1.191,1.531,2.278,4.270,1.767,
+1.550,3.189,1.574,0.959,1.011,1.355,2.113,0.215,1.058,1.840,
+2.968,1.970,1.785,4.198,2.541,1.611,1.265,2.216,1.673,0.971,
+1.018,1.429,1.870,0.134,1.352,1.964,1.929,1.613,1.634,2.510,
+1.863,1.498,1.140,1.681,0.141,0.109,0.096,0.168,1.791,0.124,
+1.173,1.754,1.413,1.517,1.481,1.922,2.629,1.386,1.303,2.949,
+1.417,0.999,1.067,1.914,2.504,0.149,1.717,2.486,2.891,2.021,
+2.290,3.917,3.914,2.073,1.647,2.867,1.853,1.190,1.147,1.371,
+1.595,0.145,0.713,1.292,1.676,1.536,0.918,1.677,2.069,1.302,
+0.977,1.691,1.208,0.735,0.934,0.933,1.184,0.100,0.723,0.988,
+0.839,0.880,0.733,1.289,1.379,1.306,0.822,1.157,0.144,0.136,
+0.084,0.142,2.271,0.127,0.742,0.837,0.874,1.066,0.728,1.160,
+1.622,0.872,0.813,1.398,1.530,1.310,0.811,1.220,1.363,0.127,
+0.732,1.003,1.148,0.925,1.042,1.918,2.555,1.715,1.053,1.572,
+1.548,1.175,0.978,0.966,1.319,0.138,0.631,0.958,1.082,1.136,
+0.715,1.043,1.440,1.070,0.633,1.092,0.922,0.462,0.577,0.588,
+1.091,0.102,0.610,0.891,0.660,0.747,0.652,0.708,1.128,1.403,
+0.738,0.928,0.101,0.145,0.082,0.098,1.307,0.156,0.768,0.936,
+0.797,1.688,0.834,1.012,1.105,0.731,0.536,0.869,1.110,0.977,
+0.774,1.068,1.633,0.115,0.641,0.941,1.046,0.880,0.885,1.346,
+1.483,0.935,0.716,2.632,1.268,0.845,0.788,1.254,1.007,0.130,
+0.537,0.923,0.771,0.784,0.722,1.284,0.107,0.123,0.122,1.181,
+0.081,0.080,0.078,0.119,0.087,0.022,0.070,0.120,0.070,0.121,
+0.085,0.130,0.938,1.015,0.814,1.237,0.081,0.098,0.072,0.113,
+0.957,0.112,0.630,0.814,0.580,1.073,0.908,0.940,0.856,0.500,
+0.599,0.953,0.972,0.921,0.774,1.001,0.932,0.086,0.798,1.033,
+0.640,0.690,0.863,1.214,1.581,0.891,0.744,1.506,0.958,0.726,
+0.738,0.734,0.920,0.091,0.487,0.836,1.077,0.784,0.735,1.530,
+1.382,1.010,0.906,3.491,0.972,0.846,0.631,0.842,0.921,0.089,
+0.649,1.098,0.819,0.923,0.787,1.341,1.045,1.059,0.893,1.194,
+0.088,0.096,0.070,0.103,1.040,0.092,0.803,1.250,0.816,1.048,
+1.015,1.469,1.359,0.719,0.747,1.285,1.146,0.807,0.689,1.082,
+1.555,0.096,0.925,1.471,1.488,1.226,1.399,2.307,3.126,1.776,
+1.541,3.281,1.273,0.850,0.753,1.064,1.639,0.155,0.691,1.039,
+1.566,1.288,0.703,1.449,1.951,1.334,0.797,1.415,1.044,0.700,
+0.638,0.773,1.403,0.135,0.750,0.957,1.000,1.182,0.647,1.079,
+1.328,1.304,0.887,1.344,0.142,0.145,0.103,0.202,1.139,0.119,
+0.685,0.849,0.773,1.158,0.712,1.298,1.634,1.122,0.982,1.910,
+1.457,1.108,0.780,1.304,1.803,0.160,0.948,1.370,1.571,1.150,
+1.271,2.885,0.190,0.137,0.087,0.172,0.140,0.108,0.073,0.099,
+0.111,0.017,0.060,0.087,0.098,0.111,0.070,0.120,0.133,0.105,
+0.057,0.100,0.096,0.079,0.060,0.063,0.111,0.018,0.068,0.083,
+0.075,0.100,0.049,0.080,0.106,0.120,0.068,0.093,0.016,0.019,
+0.014,0.016,0.116,0.021,0.075,0.102,0.075,0.129,0.074,0.110,
+0.180,0.126,0.091,0.182,0.207,0.197,0.133,0.193,0.178,0.022,
+0.127,0.156,0.159,0.137,0.130,0.274,1.289,0.782,0.733,0.960,
+0.820,0.710,0.555,0.684,1.000,0.144,0.578,0.843,0.687,0.741,
+0.626,1.064,0.092,0.084,0.045,0.098,0.060,0.072,0.045,0.051,
+0.095,0.015,0.070,0.070,0.082,0.103,0.066,0.089,0.874,0.975,
+0.649,0.836,0.081,0.101,0.068,0.116,0.894,0.108,0.514,0.724,
+0.506,0.821,0.638,0.775,1.017,0.588,0.481,0.667,0.833,0.813,
+0.623,0.877,1.135,0.123,1.438,1.243,0.699,0.872,0.880,1.152,
+1.326,0.653,0.531,1.014,0.704,0.446,0.337,0.492,0.810,0.083,
+0.430,0.748,0.969,0.722,0.505,1.176,1.322,0.903,0.634,1.220,
+0.877,0.731,0.531,0.618,1.010,0.083,0.600,0.870,1.103,1.037,
+0.653,1.014,1.271,1.047,0.878,1.072,0.108,0.098,0.070,0.128,
+1.133,0.110,0.793,1.156,0.954,1.412,0.966,1.381,1.240,0.667,
+0.701,0.988,1.171,0.832,0.639,0.898,1.364,0.117,1.132,1.600,
+1.538,1.351,1.357,2.598,4.100,1.970,1.881,5.301,1.297,0.737,
+0.771,1.188,1.531,0.144,0.629,1.244,2.224,1.391,0.984,2.435,
+1.604,0.797,0.614,1.337,0.828,0.433,0.440,0.675,1.128,0.080,
+0.546,0.924,0.861,0.749,0.501,1.102,1.262,0.894,0.664,1.563,
+0.101,0.083,0.066,0.172,0.940,0.080,0.492,0.847,0.832,0.849,
+0.610,1.206,1.922,0.929,0.973,2.357,1.252,0.830,0.762,1.446,
+1.544,0.152,0.943,1.454,2.056,1.518,1.439,3.714,2.566,1.301,
+0.999,2.014,1.302,0.809,0.736,0.955,1.315,0.116,0.610,1.115,
+1.164,1.012,0.706,1.318,1.501,0.813,0.567,0.985,0.905,0.570,
+0.518,0.609,1.005,0.088,0.527,0.942,0.792,0.741,0.462,0.820,
+1.339,0.961,0.596,1.023,0.079,0.073,0.063,0.095,1.103,0.089,
+0.616,1.049,0.875,0.921,0.626,1.079,1.491,0.828,0.689,1.359,
+1.201,0.894,0.769,1.203,1.356,0.097,0.778,1.318,1.330,1.023,
+0.978,2.136,1.507,0.796,0.772,1.800,0.936,0.601,0.621,0.927,
+1.052,0.135,0.632,0.996,0.935,0.865,0.764,1.418,0.087,0.069,
+0.050,0.149,0.056,0.047,0.046,0.060,0.072,8.94e-3,0.058,0.084,
+0.086,0.093,0.062,0.106,0.877,0.778,0.571,1.008,0.062,0.055,
+0.042,0.090,0.844,0.071,0.516,0.774,0.646,0.799,0.739,0.946,
+0.886,0.571,0.532,0.983,0.918,0.734,0.628,1.099,1.156,0.113,
+1.016,1.465,0.926,0.991,1.013,1.670,2.834,1.002,0.911,1.912,
+1.000,0.618,0.572,0.761,1.271,0.117,0.806,1.171,1.751,1.113,
+1.097,2.514,1.058,0.651,0.592,1.118,0.575,0.367,0.417,0.555,
+0.862,0.058,0.535,0.925,1.032,0.801,0.636,1.282,1.598,1.228,
+0.845,1.506,0.102,0.079,0.056,0.125,1.376,0.099,0.866,1.433,
+1.364,1.505,1.210,1.882,2.292,1.138,1.146,2.401,1.393,1.195,
+0.993,1.662,2.255,0.127,1.778,2.903,3.234,2.300,2.345,4.571,
+4.944,2.942,2.491,3.862,2.797,1.912,1.747,2.012,2.687,0.300,
+1.375,2.188,3.324,2.890,1.759,2.743,2.689,1.825,1.340,1.525,
+1.799,1.205,1.248,1.200,1.869,0.164,1.269,1.472,1.306,1.468,
+1.288,1.755,1.578,1.402,1.216,1.479,0.141,0.145,0.126,0.208,
+1.298,0.135,0.845,1.124,0.996,1.409,1.154,1.592,2.306,1.291,
+1.047,2.167,1.855,1.569,1.128,1.858,1.942,0.160,1.194,1.908,
+1.893,1.529,1.717,3.029,3.653,2.819,1.441,2.019,2.463,2.304,
+1.341,1.321,1.892,0.252,1.151,1.537,1.509,1.924,0.980,1.676,
+2.130,1.793,0.975,1.180,1.490,0.999,0.943,1.068,1.656,0.214,
+1.304,1.592,0.964,1.244,0.921,1.212,1.446,1.831,1.020,1.142,
+0.146,0.163,0.128,0.135,1.572,0.216,1.245,1.576,0.933,1.797,
+1.335,1.398,1.366,0.951,0.580,0.983,1.401,1.181,0.750,1.008,
+1.450,0.133,1.045,1.414,1.126,1.247,1.281,1.928,1.827,1.139,
+0.712,1.021,1.468,1.084,0.860,0.938,1.496,0.213,0.860,1.215,
+1.016,1.114,0.869,1.527,0.124,0.132,0.082,0.138,0.152,0.149,
+0.102,0.111,0.127,0.032,0.125,0.144,0.117,0.190,0.112,0.162,
+0.840,0.944,0.857,0.879,0.087,0.102,0.078,0.112,0.990,0.133,
+0.738,0.947,0.622,0.985,0.863,0.981,0.854,0.581,0.499,0.751,
+1.065,1.098,0.859,1.006,1.148,0.130,1.159,1.295,0.895,1.100,
+1.319,1.693,2.306,1.177,0.860,1.743,0.945,0.655,0.580,0.899,
+1.194,0.146,0.668,1.096,1.451,1.228,0.915,2.177,1.617,1.440,
+0.936,1.507,1.297,1.063,0.855,1.141,1.184,0.123,0.960,1.252,
+0.997,1.273,0.973,1.482,0.950,1.003,0.855,1.191,0.094,0.085,
+0.084,0.121,0.943,0.098,0.807,1.089,0.783,1.096,1.297,1.472,
+1.344,0.837,0.734,1.510,0.919,0.886,0.727,1.147,1.513,0.124,
+1.219,1.887,1.755,1.634,1.943,3.382,3.379,2.287,1.955,2.573,
+2.176,1.738,1.750,1.576,1.517,0.175,0.874,1.264,1.507,1.666,
+1.037,1.830,1.943,1.622,1.356,1.673,1.481,1.188,2.501,1.352,
+1.304,0.165,1.082,1.370,0.753,1.090,0.927,2.575,1.075,1.229,
+0.985,1.131,0.117,0.140,0.148,0.162,0.975,0.117,0.869,1.021,
+0.602,1.029,0.912,1.200,1.258,0.754,0.727,1.182,1.245,1.209,
+0.877,1.048,0.972,0.092,0.793,1.075,0.979,0.847,1.047,1.828,
+2.389,2.203,1.055,1.334,1.676,1.761,1.170,1.016,1.333,0.185,
+1.003,1.199,1.017,1.290,0.798,1.217,1.310,1.225,0.711,0.824,
+0.682,0.234,0.647,0.597,0.964,0.152,0.862,1.169,0.586,0.878,
+0.751,0.926,1.034,1.552,0.822,0.881,0.124,0.189,0.127,0.119,
+1.195,0.222,1.037,1.365,0.635,1.653,1.170,1.188,1.013,0.744,
+0.480,0.704,1.088,1.274,0.713,0.834,1.130,0.121,0.869,1.260,
+0.746,0.900,0.984,1.439,1.459,1.230,0.707,1.188,1.544,1.577,
+1.229,1.229,1.233,0.201,0.750,1.176,0.789,1.169,0.845,1.402,
+0.086,0.139,0.086,0.266,0.118,0.187,0.157,0.137,0.117,0.050,
+0.134,0.135,0.066,0.246,0.103,0.146,1.006,1.367,0.974,1.001,
+0.131,0.266,0.149,0.141,1.121,0.181,1.050,1.154,0.580,1.398,
+1.212,1.192,0.784,0.636,0.556,0.699,1.321,2.302,1.383,1.280,
+1.128,0.135,1.171,1.356,0.748,0.932,1.179,1.532,1.261,0.872,
+0.657,1.210,0.884,0.710,0.612,0.807,0.823,0.090,0.515,0.809,
+0.790,0.852,0.642,1.440,1.045,1.163,0.858,2.419,0.928,1.078,
+0.828,0.948,0.796,0.125,0.725,0.978,0.578,1.141,0.731,1.082,
+0.757,0.962,0.817,0.970,0.075,0.112,0.080,0.096,0.738,0.091,
+0.806,1.035,0.567,1.004,1.023,1.281,0.922,0.592,0.556,0.981,
+0.827,0.891,0.633,0.869,1.051,0.087,0.872,1.231,1.028,1.165,
+1.289,2.111,2.242,1.874,1.616,2.257,1.459,1.166,0.853,1.194,
+1.423,0.180,0.756,1.085,1.402,1.383,0.796,1.489,1.789,1.726,
+0.870,1.239,1.429,1.362,0.979,1.162,1.889,0.269,1.290,1.460,
+0.947,1.568,0.816,1.441,1.068,1.514,0.931,1.271,0.137,0.172,
+0.137,0.224,1.300,0.198,0.946,1.206,0.779,1.361,0.971,1.793,
+1.206,0.810,0.634,1.265,1.168,1.145,0.792,1.223,1.685,0.178,
+1.234,1.661,1.271,1.089,1.244,2.759,0.145,0.173,0.092,0.130,
+0.202,0.217,0.128,0.140,0.135,0.036,0.094,0.126,0.113,0.174,
+0.096,0.148,0.126,0.163,0.075,0.095,0.164,0.208,0.130,0.131,
+0.181,0.064,0.164,0.178,0.080,0.163,0.090,0.116,0.092,0.174,
+0.099,0.105,0.022,0.053,0.046,0.031,0.169,0.060,0.184,0.191,
+0.081,0.215,0.157,0.161,0.120,0.102,0.065,0.121,0.198,0.279,
+0.153,0.196,0.184,0.034,0.236,0.243,0.123,0.153,0.184,0.273,
+1.314,1.245,0.776,0.960,1.266,1.753,1.092,1.077,1.586,0.295,
+1.386,1.523,1.071,1.324,1.071,1.465,0.108,0.203,0.087,0.087,
+0.122,0.340,0.146,0.108,0.160,0.056,0.231,0.184,0.097,0.213,
+0.120,0.119,0.942,1.607,0.987,0.978,0.137,0.236,0.182,0.147,
+1.541,0.316,1.132,1.406,0.705,1.624,1.152,1.183,0.842,0.812,
+0.690,0.758,1.318,2.373,1.248,1.271,1.950,0.344,5.100,2.532,
+1.042,1.380,1.808,1.825,1.125,0.781,0.573,1.129,0.732,0.607,
+0.419,0.593,0.897,0.117,0.627,1.318,0.863,0.869,0.610,1.319,
+1.365,1.486,0.873,1.112,1.230,1.746,0.896,0.964,1.430,0.196,
+1.257,1.513,0.998,1.709,0.987,1.299,1.164,1.544,1.763,1.177,
+0.104,0.161,0.158,0.141,1.658,0.225,1.393,1.773,1.028,2.050,
+1.444,1.665,1.072,0.690,0.681,0.931,0.968,1.142,0.843,0.996,
+1.587,0.166,2.131,2.202,1.405,1.658,1.770,2.448,2.372,1.468,
+1.241,2.661,1.270,0.788,0.655,1.276,1.307,0.132,0.565,1.181,
+1.528,1.189,0.788,1.866,1.372,1.112,0.619,1.015,0.885,0.591,
+0.531,0.895,1.084,0.093,0.621,1.053,0.794,0.808,0.548,1.204,
+0.877,0.880,0.518,0.994,0.078,0.068,0.046,0.128,0.736,0.074,
+0.448,0.810,0.649,0.733,0.567,1.154,1.226,0.681,0.604,1.449,
+1.016,0.674,0.566,1.195,1.151,0.088,0.701,1.327,1.371,0.945,
+1.071,2.680,2.291,1.603,1.108,1.764,1.525,1.336,1.216,1.302,
+1.481,0.173,0.898,1.455,1.278,1.498,0.881,1.732,1.594,1.360,
+0.755,1.118,1.330,1.109,0.844,1.067,1.454,0.190,0.958,1.594,
+1.007,1.297,0.783,1.550,1.088,1.237,0.688,1.016,0.087,0.118,
+0.076,0.124,1.154,0.146,1.000,1.500,0.949,1.447,1.054,1.529,
+1.212,0.861,0.682,1.224,1.345,1.378,0.914,1.485,1.378,0.129,
+1.190,1.854,1.299,1.296,1.411,2.636,1.147,0.884,0.765,1.070,
+1.013,0.927,0.846,1.107,1.280,0.176,0.917,1.335,1.006,1.046,
+0.984,1.790,0.085,0.087,0.061,0.091,0.074,0.104,0.094,0.095,
+0.085,0.017,0.100,0.114,0.082,0.121,0.093,0.130,0.810,0.892,
+0.687,1.003,0.073,0.082,0.073,0.112,1.069,0.143,0.847,1.127,
+0.738,1.172,1.073,1.259,0.792,0.666,0.651,0.991,1.068,1.084,
+0.820,1.376,1.539,0.162,1.781,1.949,1.085,1.213,1.564,2.342,
+1.713,0.982,0.806,1.540,0.845,0.690,0.563,0.702,1.188,0.129,
+0.849,1.268,1.302,0.999,0.964,2.042,1.280,0.944,0.760,1.159,
+0.832,0.735,0.720,0.809,0.942,0.073,0.777,1.162,1.082,0.981,
+0.869,1.420,1.312,1.272,0.962,1.388,0.099,0.086,0.067,0.126,
+1.361,0.121,1.133,1.807,1.328,1.737,1.511,2.103,1.693,1.069,
+1.120,1.950,1.408,1.439,1.187,1.614,2.083,0.153,3.198,3.413,
+2.677,2.333,3.046,3.822,2.910,1.995,1.627,2.721,2.011,1.365,
+1.456,1.601,1.711,0.196,0.874,1.392,2.237,1.810,1.144,1.903,
+1.697,1.033,0.761,1.165,1.169,0.836,0.918,1.130,1.125,0.109,
+0.691,0.845,0.927,0.921,0.702,1.023,1.370,1.176,0.870,1.133,
+0.121,0.107,0.093,0.172,1.006,0.092,0.618,0.837,0.852,1.029,
+0.858,1.140,1.852,1.465,0.769,1.603,1.389,0.986,0.909,1.410,
+1.301,0.111,0.704,1.161,1.403,0.978,1.178,2.191,3.085,2.017,
+1.451,2.249,2.001,1.667,1.624,1.740,1.733,0.238,0.909,1.231,
+1.553,1.852,0.955,1.625,1.716,1.357,0.972,1.187,1.339,1.022,
+1.194,1.175,1.641,0.273,1.094,1.348,1.015,1.372,0.803,1.136,
+1.741,1.894,1.316,1.422,0.161,0.183,0.159,0.189,1.635,0.225,
+1.234,1.521,1.105,1.772,1.696,1.406,1.377,1.017,0.688,1.144,
+1.620,1.435,1.084,1.469,1.332,0.124,0.937,1.381,1.145,1.122,
+1.860,2.075,1.881,0.983,0.926,1.363,1.715,1.357,2.035,1.500,
+2.926,0.311,1.156,1.416,1.523,1.324,1.047,1.680,0.156,0.156,
+0.116,0.165,0.221,0.184,0.234,0.201,0.236,0.042,0.168,0.189,
+0.195,0.322,0.151,0.224,0.952,1.102,1.271,1.161,0.127,0.124,
+0.133,0.161,1.289,0.217,0.730,0.910,0.869,1.916,0.945,0.959,
+0.857,0.602,0.697,0.834,1.342,1.217,1.316,1.490,1.297,0.149,
+0.947,1.230,1.024,1.104,1.145,1.605,2.341,0.961,0.956,1.684,
+1.074,0.822,0.990,1.156,1.571,0.167,0.801,1.139,1.834,1.277,
+1.007,2.138,1.581,1.120,1.023,1.318,1.384,0.958,1.663,1.580,
+1.495,0.127,0.984,1.315,1.431,1.322,0.956,1.488,1.224,1.129,
+1.228,1.414,0.127,0.112,0.124,0.182,1.307,0.131,1.009,1.418,
+1.060,1.588,1.325,1.711,1.653,0.918,0.997,1.679,1.225,0.981,
+1.111,1.623,1.806,0.148,1.287,2.166,2.528,1.896,2.373,4.218,
+0.232,0.174,0.125,0.187,0.193,0.171,0.141,0.208,0.148,0.022,
+0.080,0.126,0.147,0.179,0.111,0.159,0.306,0.157,0.109,0.261,
+0.177,0.180,0.183,0.484,0.133,0.020,0.107,0.126,0.104,0.127,
+0.099,0.181,0.122,0.138,0.106,0.133,0.020,0.024,0.023,0.039,
+0.132,0.020,0.104,0.119,0.079,0.139,0.114,0.136,0.145,0.119,
+0.074,0.166,0.173,0.161,0.134,0.196,0.144,0.018,0.093,0.144,
+0.122,0.104,0.137,0.212,0.235,0.214,0.135,0.169,0.209,0.242,
+0.203,0.160,0.162,0.036,0.092,0.131,0.117,0.178,0.098,0.146,
+0.194,0.210,0.123,0.131,0.199,0.210,0.201,0.172,0.183,0.042,
+0.144,0.177,0.100,0.156,0.109,0.134,0.224,0.286,0.169,0.146,
+0.030,0.053,0.045,0.031,0.212,0.060,0.173,0.190,0.097,0.247,
+0.292,0.193,0.151,0.119,0.071,0.118,0.218,0.263,0.182,0.199,
+0.173,0.022,0.131,0.157,0.107,0.122,0.200,0.208,0.147,0.115,
+0.093,0.133,0.187,0.224,0.218,0.162,0.191,0.049,0.113,0.134,
+0.101,0.162,0.111,0.160,0.013,0.025,0.017,0.031,0.027,0.042,
+0.043,0.031,0.032,0.017,0.037,0.032,0.016,0.052,0.025,0.026,
+0.127,0.212,0.404,0.335,0.027,0.052,0.056,0.042,0.260,0.105,
+0.161,0.175,0.206,0.762,0.203,0.175,0.105,0.076,0.132,0.116,
+0.198,0.261,0.261,0.241,0.169,0.035,0.164,0.188,0.112,0.190,
+0.163,0.195,0.230,0.185,0.162,0.202,0.161,0.153,0.154,0.177,
+0.177,0.023,0.109,0.141,0.182,0.166,0.154,0.281,0.280,0.283,
+0.244,0.310,0.291,0.275,0.368,0.323,0.280,0.039,0.223,0.255,
+0.202,0.294,0.222,0.294,0.139,0.176,0.206,0.205,0.023,0.032,
+0.032,0.036,0.190,0.033,0.196,0.251,0.150,0.289,0.251,0.280,
+0.201,0.146,0.147,0.210,0.197,0.202,0.189,0.240,0.229,0.025,
+0.202,0.283,0.253,0.259,0.299,0.466,1.968,1.322,0.966,1.551,
+1.254,1.109,0.804,1.024,1.391,0.142,0.676,0.895,1.027,0.933,
+0.595,0.972,1.510,1.109,0.823,1.012,1.177,1.004,1.090,0.927,
+1.568,0.180,1.000,1.170,0.767,1.089,0.634,0.951,1.486,1.322,
+1.199,1.262,0.205,0.213,0.338,0.402,1.854,0.216,1.057,1.227,
+1.008,1.489,1.065,1.234,1.085,0.837,0.603,1.290,1.160,1.082,
+1.234,2.413,1.707,0.172,1.027,1.539,1.209,1.032,1.169,2.062,
+0.162,0.159,0.078,0.125,0.166,0.228,0.129,0.146,0.115,0.028,
+0.081,0.111,0.079,0.124,0.067,0.106,0.119,0.146,0.064,0.077,
+0.141,0.149,0.139,0.112,0.129,0.038,0.141,0.146,0.059,0.104,
+0.060,0.083,0.333,0.267,0.199,0.141,0.056,0.059,0.123,0.051,
+0.199,0.058,0.188,0.183,0.095,0.193,0.140,0.138,0.154,0.120,
+0.082,0.168,0.219,0.261,0.266,0.485,0.197,0.031,0.160,0.226,
+0.117,0.132,0.144,0.225,1.314,1.202,0.677,0.710,1.422,2.655,
+1.318,1.111,1.279,0.260,1.095,1.140,0.686,0.966,0.879,1.076,
+0.120,0.214,0.084,0.075,0.139,0.252,0.190,0.098,0.153,0.049,
+0.219,0.174,0.082,0.163,0.144,0.109,1.136,1.343,1.042,0.940,
+0.157,0.190,0.182,0.168,1.371,0.222,0.504,0.855,0.629,1.056,
+1.003,0.967,0.760,0.571,0.569,0.603,1.036,1.177,1.045,1.153,
+1.250,0.171,1.405,1.341,0.699,0.891,1.109,1.253,1.077,0.801,
+0.594,0.834,0.809,0.883,0.489,0.601,0.865,0.116,0.609,0.875,
+0.807,0.723,0.548,1.013,1.423,2.104,0.769,0.874,1.463,1.682,
+1.114,0.907,1.315,0.205,1.303,1.373,1.067,1.357,0.954,1.157,
+1.166,1.325,1.163,1.142,0.145,0.221,0.160,0.183,1.628,0.209,
+2.028,2.127,0.991,1.664,1.724,1.719,0.978,0.713,0.598,0.925,
+1.119,1.135,0.863,1.107,1.442,0.150,1.648,1.928,1.240,1.382,
+1.518,2.023,1.876,1.023,0.820,1.540,0.924,0.653,0.671,0.853,
+0.934,0.112,0.497,0.787,1.096,0.920,0.786,1.393,1.100,0.773,
+0.502,0.723,0.673,0.500,0.491,0.611,0.732,0.069,0.437,0.690,
+0.565,0.553,0.419,0.707,1.137,0.999,0.601,0.918,0.090,0.076,
+0.076,0.166,0.888,0.084,0.512,0.813,0.673,0.842,0.613,0.926,
+1.127,0.763,0.583,1.254,0.837,0.678,0.678,1.635,1.342,0.098,
+0.566,1.034,1.235,0.884,0.903,1.924,2.453,1.813,1.105,1.863,
+1.598,1.390,1.265,1.318,1.293,0.159,0.839,1.278,1.237,1.429,
+0.845,1.608,1.644,1.469,0.773,1.118,1.370,1.274,1.138,1.150,
+1.174,0.130,1.004,1.347,0.835,1.070,0.759,1.047,3.689,3.296,
+1.461,1.507,0.196,0.218,0.214,0.186,1.523,0.204,1.264,1.650,
+1.108,1.842,1.243,1.572,1.686,1.365,0.827,1.440,1.596,1.716,
+1.411,2.140,1.638,0.165,1.141,1.795,1.311,1.416,1.209,2.130,
+1.439,1.016,0.872,1.015,1.254,1.297,1.301,1.246,1.410,0.213,
+1.104,1.891,1.160,1.159,1.060,2.017,0.139,0.182,0.076,0.103,
+0.119,0.171,0.146,0.139,0.116,0.033,0.147,0.197,0.107,0.157,
+0.108,0.162,1.055,1.397,0.948,1.138,0.106,0.124,0.115,0.193,
+1.423,0.173,1.060,1.415,0.847,1.459,1.209,1.341,0.965,0.736,
+0.739,1.117,1.395,1.309,1.398,2.706,1.492,0.168,1.391,2.051,
+1.134,1.430,1.546,2.060,2.099,1.166,1.312,1.732,1.080,0.861,
+1.070,0.954,1.263,0.179,0.796,1.257,1.520,1.006,0.889,2.078,
+2.485,2.806,0.794,1.113,1.099,1.035,0.973,0.991,1.106,0.117,
+0.927,1.284,1.056,1.027,0.887,1.341,1.421,1.464,1.195,1.569,
+0.125,0.136,0.106,0.181,1.697,0.187,1.611,2.284,1.406,1.897,
+1.815,2.159,1.964,1.132,1.151,2.097,1.513,1.536,1.282,2.002,
+2.115,0.158,1.827,2.886,2.374,1.937,2.259,3.597,3.515,2.014,
+1.815,3.676,1.898,1.174,1.122,1.478,1.812,0.174,0.795,1.407,
+2.753,2.046,1.194,2.459,1.725,0.909,0.696,1.026,1.135,0.691,
+0.570,0.729,1.122,0.089,0.615,0.765,0.957,0.974,0.567,1.019,
+1.399,0.977,0.758,1.285,0.116,0.078,0.067,0.147,0.898,0.068,
+0.496,0.780,0.837,0.912,0.742,1.155,2.312,1.281,0.912,2.003,
+1.422,0.903,0.755,1.361,1.396,0.102,0.770,1.292,1.915,1.216,
+1.296,3.092,2.194,1.225,0.848,1.722,1.226,0.750,0.672,0.952,
+1.027,0.111,0.478,0.842,1.113,1.160,0.571,1.291,1.178,0.802,
+0.512,0.837,0.669,0.425,0.419,0.677,0.881,0.086,0.486,0.702,
+0.787,0.775,0.479,0.853,1.141,1.200,0.809,1.066,0.081,0.081,
+0.063,0.101,0.897,0.075,0.531,0.772,0.831,0.902,1.223,1.117,
+1.130,0.792,0.519,0.997,0.843,0.680,0.493,0.846,0.892,0.062,
+0.512,0.894,0.949,0.768,0.963,1.812,1.607,0.701,0.708,1.338,
+1.123,0.655,0.729,1.131,1.304,0.132,0.495,0.915,1.361,1.013,
+0.710,1.773,0.130,0.079,0.060,0.120,0.110,0.073,0.074,0.129,
+0.108,0.011,0.060,0.108,0.150,0.167,0.082,0.197,0.810,0.665,
+0.724,0.858,0.079,0.055,0.056,0.101,0.766,0.083,0.438,0.643,
+0.707,0.925,0.675,0.915,0.849,0.460,0.540,0.861,1.029,0.713,
+0.653,1.044,0.879,0.073,0.587,0.926,0.990,0.795,0.913,1.684,
+2.711,1.021,0.951,2.175,1.047,0.607,0.655,1.142,1.570,0.140,
+0.773,1.253,2.930,1.650,1.186,3.008,1.628,0.796,0.776,1.346,
+1.194,0.603,0.764,1.299,1.244,0.083,0.736,1.236,1.499,1.225,
+0.875,2.005,1.266,0.945,0.947,1.457,0.094,0.067,0.075,0.132,
+1.168,0.082,0.729,1.277,1.157,1.190,1.013,1.590,1.955,0.979,
+0.980,2.059,1.243,0.925,0.871,1.496,1.795,0.118,1.128,2.064,
+2.912,2.034,2.256,4.885,2.905,1.695,1.251,2.318,1.756,1.287,
+1.041,1.335,1.426,0.154,0.648,1.129,1.782,1.736,0.903,1.832,
+2.248,1.203,0.918,1.421,1.283,1.306,0.844,1.081,1.029,0.104,
+0.797,0.942,0.866,0.928,0.684,1.193,1.212,1.045,0.793,1.226,
+0.115,0.111,0.079,0.152,0.964,0.094,0.661,1.181,0.800,0.996,
+0.818,1.306,1.497,0.948,0.677,1.283,1.289,1.013,0.768,1.222,
+1.090,0.108,0.869,1.218,1.273,0.888,1.129,2.182,2.145,1.447,
+0.907,1.479,1.541,1.235,1.003,1.028,1.059,0.121,0.531,0.869,
+1.101,1.097,0.648,1.345,1.449,1.224,0.686,0.909,1.097,1.177,
+0.741,0.874,0.957,0.115,0.704,0.998,0.713,0.840,0.628,0.913,
+1.122,1.549,0.817,1.035,0.119,0.233,0.109,0.119,1.132,0.158,
+0.764,1.080,0.808,1.307,1.269,1.365,1.150,0.840,0.538,0.962,
+1.186,1.504,0.770,1.027,0.952,0.081,0.621,0.989,0.903,0.796,
+1.048,1.666,1.449,0.761,0.663,1.088,1.095,0.853,0.870,1.064,
+1.119,0.148,0.558,0.819,0.962,1.020,0.750,1.525,0.085,0.077,
+0.060,0.123,0.083,0.099,0.089,0.101,0.088,0.022,0.080,0.097,
+0.092,0.151,0.091,0.130,0.972,1.035,1.337,1.224,0.092,0.111,
+0.116,0.133,1.142,0.200,0.691,1.031,0.950,2.068,1.204,1.356,
+1.016,0.568,0.744,0.982,1.177,1.039,1.154,1.433,1.043,0.103,
+0.782,1.178,0.983,0.970,1.163,1.835,1.846,1.021,1.010,1.617,
+0.948,0.657,0.675,0.908,1.116,0.101,0.649,0.957,1.369,1.008,
+0.941,2.115,1.503,1.067,1.023,1.462,1.094,0.845,0.950,1.185,
+1.099,0.105,0.887,1.298,1.148,1.236,1.056,1.732,1.081,1.011,
+1.078,1.614,0.104,0.097,0.081,0.146,0.985,0.096,0.854,1.602,
+1.024,1.369,1.285,1.931,1.572,0.842,0.896,1.521,1.470,1.088,
+0.999,1.444,1.418,0.101,1.033,1.742,1.936,1.570,1.753,3.308,
+2.471,1.435,1.025,2.042,1.258,0.949,0.663,0.948,1.423,0.136,
+0.600,1.009,1.416,1.198,0.692,1.432,1.858,1.461,0.741,1.261,
+1.191,1.054,0.739,0.811,1.517,0.158,0.849,1.205,1.130,1.382,
+0.779,1.447,1.410,1.463,1.014,1.527,0.156,0.168,0.143,0.243,
+1.734,0.174,1.053,1.297,1.039,1.518,1.021,1.526,1.480,0.913,
+0.668,1.433,1.324,1.015,0.821,1.408,2.694,0.248,1.167,1.899,
+1.793,1.293,1.447,3.047,0.162,0.138,0.075,0.209,0.123,0.132,
+0.078,0.115,0.110,0.020,0.066,0.096,0.110,0.149,0.077,0.147,
+0.116,0.120,0.056,0.080,0.102,0.126,0.077,0.081,0.120,0.023,
+0.097,0.108,0.095,0.119,0.067,0.112,0.121,0.157,0.097,0.120,
+0.016,0.027,0.022,0.020,0.186,0.031,0.127,0.148,0.105,0.176,
+0.122,0.152,0.154,0.115,0.072,0.163,0.169,0.215,0.127,0.214,
+0.230,0.031,0.132,0.204,0.158,0.149,0.149,0.272,1.444,1.026,
+0.734,0.995,1.170,1.364,0.893,1.035,1.274,0.237,0.856,1.074,
+1.123,1.615,1.345,1.801,0.110,0.114,0.059,0.077,0.091,0.117,
+0.083,0.075,0.115,0.027,0.118,0.102,0.132,0.200,0.132,0.151,
+1.121,1.412,0.954,1.146,0.138,0.144,0.114,0.134,1.473,0.174,
+0.757,1.040,0.813,1.387,1.170,1.327,1.051,0.732,0.677,0.903,
+1.323,1.270,1.005,1.254,1.704,0.174,1.468,1.638,1.126,1.270,
+1.572,2.076,1.595,0.895,0.713,1.283,0.950,0.771,0.553,0.800,
+1.249,0.124,0.735,1.073,1.614,1.162,1.087,1.803,1.923,1.468,
+0.889,1.203,1.350,1.212,0.860,0.945,1.879,0.155,1.122,1.449,
+2.419,1.904,1.354,1.953,1.941,1.735,1.552,1.861,0.182,0.178,
+0.128,0.173,1.943,0.185,1.539,2.002,2.119,2.209,2.020,2.417,
+1.697,0.969,0.999,1.494,1.627,1.283,1.074,1.447,2.234,0.185,
+1.947,2.328,2.348,2.210,2.314,3.504,4.171,1.559,1.367,2.831,
+1.490,0.880,0.831,1.392,1.591,0.144,0.730,1.400,2.044,1.450,
+1.137,2.842,1.709,1.063,0.636,1.088,1.023,0.746,0.582,0.819,
+1.299,0.108,0.661,1.057,1.010,0.932,0.744,1.353,1.382,1.177,
+0.878,1.624,0.113,0.109,0.077,0.188,1.161,0.100,0.623,1.106,
+1.082,1.235,0.843,1.646,2.221,1.127,1.134,2.527,1.466,0.949,
+0.925,1.841,1.871,0.137,1.004,1.902,2.728,1.672,1.819,4.684,
+2.067,1.139,0.856,1.757,1.207,0.908,0.807,1.002,1.110,0.115,
+0.643,1.187,1.203,1.198,0.881,2.029,1.257,0.807,0.444,0.904,
+0.776,0.504,0.424,0.670,0.975,0.081,0.786,1.106,0.907,0.883,
+0.699,1.255,1.483,1.464,0.817,1.340,0.085,0.109,0.069,0.111,
+1.305,0.116,0.793,1.340,1.211,1.514,1.027,1.807,1.584,1.137,
+0.831,1.728,1.356,1.324,0.882,1.629,1.488,0.116,0.966,1.704,
+1.611,1.448,1.469,2.974,2.196,1.276,1.578,1.830,1.552,1.333,
+1.361,1.825,1.743,0.228,1.102,2.171,1.818,1.833,1.888,5.695,
+0.139,0.126,0.093,0.155,0.103,0.105,0.094,0.120,0.116,0.018,
+0.098,0.152,0.159,0.186,0.140,0.330,1.461,1.509,1.275,1.758,
+0.116,0.109,0.103,0.189,1.644,0.165,1.069,1.647,1.299,1.855,
+1.597,2.688,1.754,1.156,1.324,1.944,1.845,1.413,1.465,2.503,
+2.291,0.177,1.829,2.909,2.022,1.778,2.542,4.541,4.464,1.684,
+1.931,3.944,1.661,1.146,1.192,1.693,2.333,0.196,1.215,2.376,
+3.172,2.138,2.116,6.219,2.693,1.749,1.231,2.008,1.768,1.412,
+1.100,1.479,2.264,0.145,1.308,2.188,2.427,1.947,1.655,3.528,
+2.877,2.344,2.031,3.394,0.157,0.145,0.115,0.261,2.769,0.200,
+2.038,3.478,2.934,3.188,3.037,4.811,5.259,2.374,2.797,5.520,
+2.883,2.218,2.124,3.605,4.126,0.237,3.173,5.720,5.995,3.574,
+4.552,7.502,0.409,0.168,0.144,0.238,0.201,0.118,0.113,0.141,
+0.212,0.027,0.110,0.137,0.229,0.188,0.119,0.166,0.239,0.134,
+0.104,0.115,0.182,0.097,0.104,0.089,0.168,0.019,0.112,0.118,
+0.108,0.118,0.090,0.121,0.153,0.119,0.099,0.125,0.018,0.018,
+0.014,0.019,0.226,0.020,0.091,0.097,0.096,0.128,0.100,0.115,
+0.209,0.101,0.101,0.175,0.167,0.124,0.110,0.165,0.152,0.017,
+0.138,0.141,0.153,0.103,0.130,0.181,0.234,0.156,0.107,0.149,
+0.169,0.128,0.107,0.114,0.163,0.024,0.095,0.117,0.105,0.132,
+0.104,0.111,0.164,0.144,0.090,0.102,0.130,0.097,0.093,0.088,
+0.147,0.028,0.134,0.132,0.084,0.117,0.092,0.093,0.117,0.149,
+0.085,0.099,0.015,0.025,0.019,0.016,0.151,0.030,0.119,0.119,
+0.077,0.178,0.106,0.112,0.102,0.082,0.065,0.111,0.119,0.120,
+0.092,0.126,0.156,0.022,0.133,0.135,0.105,0.106,0.111,0.159,
+0.125,0.081,0.065,0.095,0.105,0.072,0.073,0.085,0.117,0.022,
+0.108,0.104,0.082,0.090,0.104,0.129,0.016,0.012,9.02e-3,0.012,
+0.025,0.012,0.011,0.012,0.015,5.85e-3,0.034,0.019,0.012,0.021,
+0.015,0.018,0.074,0.083,0.066,0.073,0.011,0.012,0.010,0.011,
+0.163,0.039,0.135,0.099,0.051,0.108,0.077,0.068,0.069,0.048,
+0.079,0.074,0.098,0.108,0.126,0.101,0.148,0.046,1.178,0.246,
+0.073,0.110,0.226,0.141,0.188,0.096,0.076,0.143,0.121,0.068,
+0.075,0.086,0.120,0.015,0.071,0.100,0.143,0.110,0.091,0.184,
+0.194,0.116,0.083,0.116,0.381,0.101,0.094,0.122,0.142,0.014,
+0.132,0.135,0.123,0.129,0.107,0.156,0.107,0.107,0.091,0.110,
+0.019,0.018,0.011,0.017,0.149,0.017,0.129,0.140,0.095,0.127,
+0.112,0.123,0.139,0.087,0.080,0.145,0.114,0.086,0.088,0.161,
+0.155,0.018,0.247,0.207,0.155,0.151,0.174,0.273,0.262,0.168,
+0.130,0.193,0.185,0.142,0.137,0.123,0.191,0.025,0.088,0.127,
+0.125,0.135,0.092,0.126,0.165,0.168,0.105,0.116,0.145,0.109,
+0.233,0.099,0.175,0.025,0.103,0.116,0.071,0.096,0.083,0.113,
+0.167,0.224,0.083,0.095,0.042,0.060,0.021,0.017,1.280,0.059,
+0.132,0.132,0.196,0.176,0.104,0.098,0.123,0.091,0.063,0.097,
+0.173,0.197,0.093,0.110,0.267,0.052,0.093,0.110,0.108,0.113,
+0.098,0.159,0.210,0.199,0.110,0.141,0.168,0.188,0.140,0.128,
+0.147,0.030,0.089,0.110,0.082,0.135,0.071,0.108,0.152,0.179,
+0.093,0.098,0.140,0.102,0.132,0.093,0.170,0.038,0.119,0.151,
+0.072,0.138,0.102,0.092,0.120,0.261,0.108,0.105,0.025,0.085,
+0.031,0.021,0.281,0.066,0.141,0.155,0.140,0.539,0.147,0.148,
+0.099,0.095,0.051,0.079,0.147,0.225,0.102,0.110,0.184,0.026,
+0.100,0.126,0.109,0.159,0.107,0.143,0.107,0.090,0.059,0.131,
+0.110,0.117,0.116,0.099,0.103,0.020,0.081,0.094,0.054,0.081,
+0.085,0.102,9.78e-3,0.020,0.011,0.042,0.014,0.027,0.024,0.012,
+0.027,0.014,0.030,0.025,8.19e-3,0.025,0.015,0.014,0.080,0.118,
+0.129,0.102,0.016,0.027,0.028,0.019,0.184,0.036,0.110,0.104,
+0.063,0.173,0.122,0.100,0.066,0.050,0.053,0.067,0.108,0.129,
+0.121,0.108,0.117,0.023,0.191,0.149,0.057,0.096,0.134,0.119,
+0.109,0.074,0.065,0.095,0.086,0.072,0.180,0.073,0.083,0.012,
+0.055,0.067,0.079,0.074,0.064,0.109,0.112,0.117,0.084,0.174,
+0.113,0.112,0.093,0.077,0.129,0.019,0.095,0.116,0.073,0.128,
+0.093,0.113,0.083,0.113,0.098,0.106,0.011,0.018,0.014,0.013,
+0.203,0.022,0.121,0.135,0.078,0.128,0.130,0.136,0.123,0.072,
+0.076,0.098,0.104,0.097,0.080,0.123,0.149,0.018,0.120,0.155,
+0.126,0.146,0.152,0.222,0.188,0.123,0.090,0.142,0.085,0.075,
+0.060,0.070,0.095,0.012,0.050,0.070,0.080,0.089,0.046,0.079,
+0.122,0.128,0.075,0.097,0.087,0.076,0.077,0.068,0.111,0.018,
+0.085,0.092,0.064,0.099,0.059,0.080,0.079,0.111,0.073,0.113,
+0.012,0.016,0.015,0.023,0.131,0.017,0.082,0.084,0.057,0.095,
+0.069,0.093,0.083,0.062,0.061,0.100,0.108,0.088,0.064,0.099,
+0.117,0.019,0.098,0.109,0.091,0.091,0.093,0.183,0.017,0.014,
+8.52e-3,0.011,0.014,0.021,0.012,0.013,0.015,7.27e-3,0.010,0.012,
+6.85e-3,0.015,8.36e-3,0.012,0.015,0.020,0.011,0.011,0.015,0.022,
+0.015,0.011,0.020,0.011,0.023,0.018,7.10e-3,0.018,0.011,9.61e-3,
+0.011,0.021,9.69e-3,0.011,3.43e-3,8.94e-3,9.02e-3,3.34e-3,0.022,0.013,
+0.021,0.019,8.02e-3,0.028,0.018,0.014,0.010,0.013,6.27e-3,0.011,
+0.019,0.029,0.019,0.020,0.019,6.18e-3,0.027,0.025,0.012,0.017,
+0.017,0.027,0.084,0.064,0.045,0.058,0.067,0.089,0.065,0.052,
+0.096,0.019,0.079,0.068,0.055,0.063,0.060,0.072,7.44e-3,0.015,
+6.85e-3,7.69e-3,8.02e-3,0.016,0.011,7.94e-3,0.013,9.28e-3,0.023,0.013,
+6.85e-3,0.016,8.77e-3,8.27e-3,0.057,0.111,0.068,0.059,0.011,0.021,
+0.017,0.011,0.103,0.033,0.083,0.099,0.041,0.093,0.079,0.067,
+0.059,0.048,0.043,0.044,0.071,0.111,0.094,0.077,0.152,0.038,
+0.438,0.164,0.061,0.095,0.122,0.111,0.090,0.044,0.034,0.069,
+0.048,0.037,0.029,0.031,0.063,0.011,0.040,0.052,0.068,0.057,
+0.039,0.076,0.100,0.093,0.055,0.070,0.083,0.091,0.062,0.058,
+0.101,0.015,0.083,0.084,0.075,0.105,0.067,0.088,0.077,0.092,
+0.153,0.084,0.011,0.018,0.018,0.011,0.122,0.021,0.105,0.119,
+0.076,0.123,0.099,0.112,0.087,0.055,0.068,0.067,0.083,0.086,
+0.073,0.078,0.147,0.019,0.191,0.174,0.115,0.135,0.139,0.182,
+0.218,0.128,0.104,0.230,0.085,0.062,0.061,0.072,0.098,0.012,
+0.049,0.084,0.123,0.097,0.070,0.139,0.105,0.069,0.053,0.099,
+0.067,0.044,0.041,0.058,0.086,8.69e-3,0.046,0.072,0.063,0.065,
+0.043,0.075,0.082,0.074,0.054,0.108,9.86e-3,0.012,8.52e-3,0.014,
+0.098,8.94e-3,0.044,0.070,0.057,0.075,0.048,0.083,0.113,0.070,
+0.072,0.152,0.096,0.072,0.066,0.112,0.100,0.010,0.080,0.117,
+0.143,0.113,0.110,0.243,0.175,0.136,0.091,0.144,0.123,0.113,
+0.088,0.093,0.129,0.023,0.081,0.114,0.104,0.151,0.084,0.142,
+0.134,0.119,0.082,0.105,0.132,0.100,0.084,0.085,0.122,0.021,
+0.098,0.123,0.078,0.120,0.086,0.088,0.100,0.112,0.057,0.090,
+0.014,0.018,0.012,0.013,0.120,0.020,0.079,0.119,0.092,0.148,
+0.091,0.113,0.109,0.081,0.060,0.104,0.120,0.128,0.090,0.132,
+0.128,0.017,0.109,0.142,0.121,0.134,0.139,0.199,0.094,0.081,
+0.055,0.102,0.073,0.066,0.056,0.070,0.106,0.025,0.080,0.098,
+0.081,0.092,0.077,0.116,8.44e-3,0.014,6.18e-3,0.022,7.85e-3,0.012,
+8.69e-3,8.61e-3,0.013,4.43e-3,0.016,0.018,0.010,0.015,9.36e-3,0.012,
+0.061,0.090,0.062,0.080,0.010,0.012,0.011,9.61e-3,0.094,0.018,
+0.074,0.089,0.051,0.095,0.106,0.091,0.064,0.052,0.050,0.085,
+0.094,0.093,0.096,0.125,0.155,0.054,0.378,0.221,0.083,0.133,
+0.128,0.162,0.170,0.083,0.063,0.117,0.077,0.064,0.051,0.062,
+0.102,0.011,0.057,0.094,0.114,0.094,0.082,0.179,0.116,0.097,
+0.055,0.101,0.079,0.047,0.053,0.075,0.092,9.53e-3,0.064,0.099,
+0.090,0.093,0.067,0.116,0.114,0.117,0.085,0.127,0.013,0.014,
+8.69e-3,0.013,0.197,0.019,0.097,0.151,0.115,0.158,0.148,0.179,
+0.171,0.102,0.095,0.185,0.145,0.131,0.129,0.162,0.220,0.019,
+0.208,0.285,0.292,0.238,0.250,0.429,0.260,0.183,0.140,0.187,
+0.161,0.145,0.124,0.121,0.159,0.032,0.099,0.143,0.152,0.173,
+0.099,0.134,0.178,0.153,0.114,0.111,0.153,0.132,0.204,0.111,
+0.151,0.029,0.146,0.134,0.089,0.130,0.102,0.127,0.089,0.104,
+0.090,0.086,0.013,0.017,0.019,0.018,0.091,0.021,0.081,0.088,
+0.053,0.105,0.084,0.089,0.115,0.077,0.060,0.103,0.114,0.100,
+0.085,0.110,0.112,0.015,0.090,0.113,0.102,0.090,0.104,0.151,
+0.219,0.209,0.105,0.124,0.166,0.196,0.127,0.109,0.149,0.037,
+0.121,0.128,0.088,0.143,0.079,0.103,0.175,0.230,0.110,0.117,
+0.162,0.160,0.137,0.146,0.181,0.060,0.233,0.268,0.077,0.164,
+0.100,0.141,0.095,0.194,0.101,0.082,0.021,0.056,0.044,0.022,
+0.151,0.063,0.177,0.164,0.066,0.205,0.138,0.115,0.074,0.083,
+0.044,0.057,0.111,0.121,0.083,0.086,0.123,0.028,0.109,0.150,
+0.070,0.105,0.108,0.156,0.101,0.082,0.048,0.060,0.095,0.093,
+0.086,0.077,0.110,0.027,0.087,0.088,0.058,0.085,0.063,0.077,
+0.012,0.020,0.011,0.012,0.017,0.026,0.024,0.014,0.018,0.014,
+0.033,0.021,7.10e-3,0.028,0.016,0.014,0.055,0.078,0.073,0.054,
+0.011,0.020,0.017,0.013,0.086,0.032,0.094,0.087,0.037,0.091,
+0.083,0.067,0.043,0.040,0.055,0.043,0.071,0.098,0.075,0.075,
+0.099,0.022,0.164,0.106,0.057,0.096,0.109,0.106,0.113,0.064,
+0.048,0.087,0.058,0.048,0.038,0.057,0.072,0.013,0.045,0.063,
+0.077,0.078,0.053,0.114,0.103,0.104,0.069,0.090,0.104,0.113,
+0.077,0.091,0.096,0.019,0.093,0.106,0.059,0.117,0.074,0.101,
+0.060,0.075,0.102,0.087,8.77e-3,0.014,0.015,9.28e-3,0.077,0.019,
+0.087,0.090,0.049,0.092,0.101,0.094,0.078,0.061,0.112,0.096,
+0.063,0.070,0.061,0.078,0.111,0.018,0.107,0.126,0.105,0.121,
+0.136,0.214,0.233,0.205,0.159,0.169,0.193,0.212,0.279,0.157,
+0.132,0.027,0.105,0.113,0.096,0.133,0.093,0.125,0.188,0.202,
+0.235,0.154,0.237,0.260,1.165,0.264,0.151,0.052,0.201,0.181,
+0.066,0.139,0.133,0.265,0.091,0.143,0.120,0.096,0.018,0.034,
+0.043,0.022,0.134,0.032,0.145,0.117,0.059,0.125,0.109,0.104,
+0.088,0.062,0.060,0.095,0.125,0.137,0.122,0.103,0.088,0.020,
+0.106,0.100,0.096,0.081,0.094,0.140,0.248,0.271,0.128,0.130,
+0.258,0.397,0.227,0.149,0.180,0.052,0.154,0.157,0.083,0.166,
+0.100,0.109,0.226,0.304,0.146,0.129,0.168,0.116,0.205,0.153,
+0.201,0.107,0.197,0.238,0.099,0.258,0.161,0.144,0.113,0.279,
+0.138,0.111,0.034,0.113,0.078,0.032,0.196,0.100,0.194,0.217,
+0.074,0.339,0.205,0.150,0.090,0.096,0.069,0.073,0.161,0.283,
+0.140,0.130,0.149,0.045,0.174,0.167,0.075,0.135,0.129,0.175,
+0.114,0.131,0.073,0.082,0.159,0.218,0.202,0.127,0.143,0.051,
+0.120,0.118,0.062,0.160,0.088,0.102,0.013,0.037,0.021,0.020,
+0.036,0.084,0.076,0.027,0.041,0.047,0.070,0.040,0.012,0.083,
+0.028,0.021,0.079,0.179,0.147,0.107,0.026,0.089,0.077,0.031,
+0.139,0.061,0.168,0.146,0.051,0.197,0.187,0.132,0.060,0.061,
+0.056,0.053,0.136,0.260,0.208,0.149,0.158,0.047,0.215,0.174,
+0.064,0.116,0.147,0.142,0.093,0.078,0.059,0.089,0.085,0.084,
+0.066,0.064,0.080,0.013,0.054,0.071,0.071,0.108,0.062,0.118,
+0.097,0.137,0.096,0.180,0.132,0.217,0.144,0.109,0.109,0.040,
+0.120,0.122,0.056,0.179,0.104,0.105,0.067,0.116,0.142,0.093,
+0.010,0.034,0.024,0.018,0.096,0.029,0.135,0.127,0.054,0.137,
+0.140,0.119,0.075,0.061,0.081,0.077,0.091,0.100,0.075,0.098,
+0.173,0.022,0.128,0.140,0.090,0.126,0.153,0.213,0.145,0.151,
+0.104,0.129,0.105,0.107,0.073,0.101,0.163,0.022,0.075,0.079,
+0.089,0.105,0.051,0.092,0.148,0.175,0.087,0.107,0.149,0.188,
+0.156,0.132,0.182,0.051,0.178,0.166,0.068,0.145,0.077,0.109,
+0.091,0.149,0.105,0.104,0.017,0.026,0.022,0.024,0.124,0.033,
+0.117,0.125,0.058,0.139,0.104,0.132,0.081,0.067,0.051,0.086,
+0.097,0.124,0.074,0.111,0.138,0.024,0.136,0.152,0.082,0.093,
+0.109,0.188,0.014,0.027,0.013,0.013,0.025,0.047,0.025,0.020,
+0.040,0.015,0.023,0.020,0.011,0.027,0.014,0.015,0.022,0.048,
+0.019,0.018,0.044,0.096,0.061,0.036,0.044,0.068,0.078,0.053,
+0.010,0.043,0.023,0.018,0.012,0.047,0.030,0.017,0.012,0.050,
+0.038,0.011,0.037,0.047,0.086,0.058,0.014,0.064,0.045,0.024,
+9.86e-3,0.014,9.36e-3,9.69e-3,0.028,0.059,0.030,0.029,0.026,0.019,
+0.068,0.042,0.013,0.023,0.026,0.028,0.112,0.135,0.080,0.090,
+0.140,0.330,0.168,0.115,0.177,0.060,0.187,0.155,0.079,0.147,
+0.236,0.119,0.016,0.052,0.024,0.016,0.033,0.150,0.064,0.028,
+0.041,0.048,0.110,0.050,0.012,0.053,0.036,0.019,0.087,0.191,
+0.164,0.104,0.024,0.087,0.068,0.028,0.186,0.104,0.210,0.202,
+0.063,0.210,0.163,0.118,0.069,0.073,0.073,0.073,0.132,0.260,
+0.194,0.143,0.244,0.103,1.132,0.341,0.087,0.171,0.237,0.180,
+0.075,0.072,0.068,0.161,0.057,0.066,0.042,0.045,0.079,0.016,
+0.058,0.103,0.058,0.077,0.048,0.115,0.113,0.156,0.107,0.093,
+0.141,0.276,0.140,0.105,0.173,0.053,0.203,0.188,0.085,0.229,
+0.115,0.123,0.135,0.198,1.005,0.204,0.016,0.056,0.094,0.025,
+0.183,0.063,0.244,0.223,0.083,0.234,0.193,0.151,0.081,0.073,
+0.141,0.085,0.086,0.127,0.123,0.098,0.183,0.036,0.319,0.242,
+0.105,0.164,0.180,0.194,0.159,0.110,0.083,0.154,0.092,0.073,
+0.055,0.093,0.106,0.012,0.050,0.085,0.102,0.086,0.058,0.130,
+0.101,0.099,0.053,0.077,0.077,0.063,0.073,0.082,0.082,0.012,
+0.063,0.088,0.056,0.067,0.045,0.086,0.067,0.073,0.053,0.074,
+5.51e-3,8.52e-3,6.52e-3,0.012,0.071,0.012,0.049,0.073,0.048,0.071,
+0.049,0.084,0.086,0.051,0.047,0.105,0.077,0.056,0.050,0.100,
+0.092,8.86e-3,0.067,0.110,0.099,0.073,0.083,0.199,0.155,0.138,
+0.086,0.122,0.143,0.152,0.125,0.132,0.187,0.029,0.109,0.139,
+0.092,0.139,0.084,0.123,0.145,0.159,0.079,0.110,0.162,0.198,
+0.129,0.148,0.159,0.045,0.156,0.214,0.091,0.173,0.083,0.124,
+0.080,0.147,0.089,0.100,0.013,0.033,0.029,0.022,0.141,0.040,
+0.157,0.181,0.075,0.202,0.129,0.140,0.084,0.066,0.052,0.087,
+0.119,0.172,0.110,0.155,0.128,0.028,0.149,0.188,0.090,0.118,
+0.122,0.201,0.092,0.078,0.057,0.072,0.092,0.123,0.093,0.095,
+0.115,0.029,0.119,0.127,0.071,0.095,0.089,0.124,9.53e-3,0.010,
+7.27e-3,7.27e-3,0.012,0.028,0.019,0.018,0.012,9.69e-3,0.030,0.020,
+6.69e-3,0.020,0.013,0.014,0.062,0.102,0.070,0.085,0.011,0.022,
+0.023,0.019,0.112,0.038,0.126,0.131,0.055,0.125,0.121,0.111,
+0.063,0.055,0.050,0.078,0.093,0.107,0.086,0.137,0.194,0.031,
+0.240,0.197,0.075,0.113,0.134,0.169,0.108,0.072,0.053,0.098,
+0.060,0.059,0.049,0.050,0.092,0.011,0.059,0.090,0.081,0.076,
+0.066,0.133,0.109,0.082,0.054,0.086,0.077,0.080,0.069,0.086,
+0.080,0.011,0.093,0.108,0.075,0.091,0.077,0.123,0.105,0.107,
+0.160,0.108,9.28e-3,0.014,0.013,0.013,0.132,0.025,0.126,0.158,
+0.088,0.158,0.141,0.165,0.113,0.079,0.091,0.133,0.109,0.129,
+0.131,0.150,0.176,0.021,0.276,0.271,0.182,0.202,0.252,0.298,
+0.181,0.120,0.098,0.128,0.129,0.103,0.102,0.124,0.115,0.018,
+0.071,0.117,0.126,0.124,0.082,0.114,0.106,0.085,0.056,0.067,
+0.124,0.073,0.077,0.077,0.084,0.015,0.067,0.070,0.073,0.075,
+0.061,0.076,0.080,0.076,0.072,0.074,9.02e-3,9.11e-3,0.011,0.012,
+0.067,0.011,0.059,0.087,0.047,0.066,0.065,0.068,0.100,0.073,
+0.048,0.077,0.082,0.064,0.062,0.083,0.074,8.44e-3,0.057,0.080,
+0.077,0.067,0.073,0.113,0.162,0.154,0.101,0.124,0.153,0.168,
+0.151,0.118,0.139,0.032,0.097,0.101,0.093,0.145,0.074,0.108,
+0.138,0.164,0.098,0.092,0.155,0.165,0.159,0.112,0.156,0.053,
+0.151,0.151,0.085,0.155,0.089,0.106,0.125,0.184,0.170,0.117,
+0.027,0.047,0.050,0.027,0.158,0.056,0.184,0.189,0.121,0.189,
+0.184,0.122,0.088,0.073,0.051,0.064,0.193,0.155,0.101,0.123,
+0.107,0.020,0.100,0.114,0.076,0.096,0.126,0.152,0.094,0.072,
+0.076,0.083,0.112,0.124,0.132,0.102,0.155,0.036,0.094,0.107,
+0.079,0.106,0.075,0.098,0.011,0.014,0.013,0.014,0.021,0.023,
+0.027,0.021,0.027,0.015,0.032,0.023,0.013,0.036,0.023,0.023,
+0.079,0.103,0.327,0.160,0.013,0.019,0.037,0.025,0.126,0.051,
+0.105,0.093,0.054,0.179,0.109,0.081,0.048,0.040,0.060,0.058,
+0.080,0.098,0.112,0.144,0.092,0.021,0.145,0.112,0.074,0.085,
+0.088,0.114,0.103,0.057,0.051,0.081,0.063,0.050,0.056,0.068,
+0.079,0.010,0.049,0.060,0.092,0.087,0.060,0.119,0.112,0.092,
+0.064,0.089,0.088,0.082,0.096,0.089,0.112,0.022,0.092,0.102,
+0.083,0.119,0.084,0.125,0.083,0.091,0.113,0.103,0.015,0.019,
+0.016,0.015,0.094,0.020,0.118,0.119,0.065,0.126,0.116,0.123,
+0.081,0.062,0.075,0.101,0.084,0.070,0.095,0.121,0.117,0.015,
+0.115,0.146,0.144,0.144,0.176,0.239,0.011,0.014,0.011,0.010,
+0.013,0.023,0.017,0.014,0.011,5.35e-3,0.011,0.022,9.94e-3,0.013,
+0.012,0.012,0.025,0.023,0.020,0.021,0.024,0.029,0.044,0.030,
+0.019,0.015,0.022,0.021,0.019,0.019,0.014,0.016,9.44e-3,0.021,
+0.020,0.014,3.93e-3,9.78e-3,9.53e-3,5.43e-3,0.029,8.77e-3,0.021,0.020,
+6.35e-3,0.016,0.017,0.010,0.012,0.013,7.94e-3,0.011,0.014,0.020,
+0.017,0.019,0.013,5.68e-3,0.028,0.032,8.44e-3,0.012,0.016,0.016,
+0.018,0.031,0.017,0.013,0.028,0.054,0.046,0.021,0.020,0.016,
+0.022,0.017,8.44e-3,0.022,0.019,0.014,0.031,0.052,0.028,0.018,
+0.055,0.068,0.078,0.039,0.038,0.045,0.062,0.041,0.016,0.040,
+0.029,0.034,0.015,0.043,0.031,0.018,0.015,0.049,0.045,0.014,
+0.038,0.052,0.066,0.045,0.012,0.063,0.066,0.029,0.013,0.019,
+0.011,9.02e-3,0.049,0.059,0.038,0.026,0.021,0.015,0.032,0.027,
+0.015,0.021,0.028,0.023,9.78e-3,0.014,0.014,9.78e-3,0.019,0.048,
+0.042,0.020,0.027,0.024,0.033,0.019,7.77e-3,0.022,0.013,0.013,
+3.34e-3,9.86e-3,7.85e-3,7.94e-3,0.011,0.028,0.032,0.011,0.018,0.031,
+0.041,0.021,2.84e-3,0.017,0.013,6.10e-3,0.020,0.042,0.243,0.099,
+0.011,0.036,0.060,0.017,0.067,0.080,0.072,0.050,0.016,0.105,
+0.061,0.026,8.69e-3,7.85e-3,0.025,0.012,0.022,0.056,0.059,0.038,
+0.027,0.027,0.060,0.046,7.19e-3,0.025,0.030,0.021,9.53e-3,0.012,
+8.44e-3,8.02e-3,9.44e-3,0.011,0.013,9.44e-3,0.010,2.93e-3,8.61e-3,9.36e-3,
+8.36e-3,0.013,0.011,0.014,0.032,0.030,0.018,0.022,0.022,0.035,
+0.035,0.023,0.026,0.015,0.035,0.028,0.013,0.033,0.023,0.023,
+0.010,0.021,0.039,0.023,3.84e-3,0.010,0.012,4.85e-3,0.024,0.016,
+0.047,0.036,0.013,0.036,0.035,0.025,0.013,0.012,0.011,0.013,
+0.011,0.019,0.021,0.019,0.021,6.85e-3,0.028,0.031,0.017,0.021,
+0.029,0.029,0.142,0.122,0.092,0.110,0.114,0.155,0.110,0.114,
+0.152,0.024,0.086,0.089,0.070,0.087,0.055,0.077,0.110,0.122,
+0.096,0.086,0.127,0.156,0.288,0.125,0.208,0.046,0.182,0.153,
+0.067,0.131,0.083,0.088,0.104,0.142,0.172,0.135,0.023,0.041,
+0.047,0.063,0.217,0.047,0.165,0.160,0.082,0.200,0.120,0.118,
+0.075,0.064,0.062,0.114,0.118,0.144,0.133,0.418,0.152,0.033,
+0.146,0.192,0.095,0.136,0.172,0.193,0.013,0.024,0.013,0.011,
+0.026,0.060,0.036,0.025,0.018,0.013,0.026,0.020,8.77e-3,0.019,
+0.011,0.013,0.020,0.035,0.017,0.015,0.044,0.064,0.089,0.037,
+0.036,0.040,0.071,0.052,0.010,0.033,0.021,0.016,0.023,0.053,
+0.035,0.019,0.017,0.054,0.054,0.016,0.057,0.099,0.106,0.069,
+0.015,0.066,0.050,0.030,0.013,0.017,0.011,0.015,0.030,0.052,
+0.039,0.068,0.029,0.023,0.052,0.039,0.011,0.023,0.023,0.026,
+0.104,0.171,0.077,0.060,0.180,0.811,0.268,0.141,0.144,0.066,
+0.203,0.162,0.052,0.134,0.107,0.117,0.015,0.042,0.021,0.012,
+0.030,0.092,0.120,0.026,0.041,0.044,0.115,0.045,0.012,0.045,
+0.030,0.021,0.098,0.187,0.176,0.115,0.032,0.076,0.108,0.039,
+0.201,0.083,0.120,0.163,0.061,0.172,0.194,0.135,0.053,0.053,
+0.056,0.056,0.126,0.202,0.234,0.191,0.155,0.057,0.271,0.201,
+0.063,0.126,0.157,0.141,0.077,0.084,0.055,0.073,0.068,0.138,
+0.058,0.053,0.076,0.017,0.071,0.077,0.068,0.071,0.053,0.088,
+0.165,0.241,0.106,0.086,0.139,0.226,0.221,0.110,0.154,0.047,
+0.250,0.187,0.129,0.179,0.132,0.124,0.113,0.208,0.172,0.115,
+0.023,0.077,0.056,0.027,0.199,0.062,0.353,0.301,0.107,0.238,
+0.230,0.187,0.072,0.076,0.061,0.077,0.099,0.162,0.116,0.128,
+0.160,0.038,0.260,0.231,0.111,0.171,0.189,0.200,0.125,0.090,
+0.066,0.103,0.084,0.074,0.062,0.073,0.086,0.020,0.049,0.069,
+0.084,0.092,0.062,0.125,0.097,0.081,0.042,0.051,0.064,0.052,
+0.064,0.056,0.068,0.011,0.052,0.064,0.050,0.060,0.045,0.062,
+0.116,0.082,0.057,0.081,9.94e-3,9.28e-3,0.011,0.022,0.076,0.015,
+0.060,0.081,0.077,0.085,0.068,0.083,0.084,0.059,0.042,0.102,
+0.077,0.072,0.071,0.240,0.106,0.011,0.057,0.101,0.102,0.104,
+0.091,0.170,0.176,0.169,0.097,0.141,0.155,0.177,0.162,0.146,
+0.121,0.030,0.113,0.152,0.098,0.153,0.086,0.131,0.206,0.230,
+0.105,0.123,0.225,0.194,0.232,0.170,0.155,0.051,0.183,0.215,
+0.084,0.174,0.102,0.122,0.236,0.284,0.130,0.140,0.027,0.055,
+0.045,0.034,0.195,0.067,0.212,0.237,0.094,0.272,0.194,0.196,
+0.116,0.109,0.073,0.115,0.166,0.200,0.169,0.333,0.171,0.046,
+0.167,0.226,0.113,0.176,0.142,0.213,0.112,0.114,0.066,0.077,
+0.122,0.210,0.162,0.133,0.144,0.055,0.140,0.218,0.080,0.138,
+0.107,0.164,0.038,0.034,8.44e-3,0.011,0.020,0.035,0.039,0.030,
+0.024,0.019,0.048,0.083,0.010,0.025,0.022,0.024,0.099,0.165,
+0.134,0.134,0.020,0.041,0.047,0.051,0.162,0.063,0.174,0.221,
+0.072,0.221,0.191,0.167,0.072,0.072,0.071,0.138,0.149,0.185,
+0.230,0.783,0.159,0.062,0.219,0.337,0.101,0.291,0.198,0.275,
+0.187,0.135,0.082,0.103,0.078,0.088,0.077,0.073,0.088,0.014,
+0.071,0.092,0.093,0.096,0.071,0.145,1.076,0.791,0.104,0.125,
+0.114,0.129,0.111,0.097,0.118,0.021,0.110,0.159,0.092,0.118,
+0.091,0.125,0.147,0.173,0.119,0.160,0.014,0.026,0.023,0.024,
+0.173,0.034,0.204,0.247,0.110,0.206,0.211,0.214,0.163,0.111,
+0.092,0.177,0.149,0.163,0.155,0.267,0.182,0.028,0.215,0.290,
+0.190,0.222,0.224,0.306,0.195,0.141,0.123,0.221,0.145,0.097,
+0.093,0.120,0.141,0.018,0.063,0.124,0.176,0.166,0.085,0.169,
+0.169,0.121,0.084,0.112,0.106,0.068,0.069,0.074,0.109,0.015,
+0.067,0.085,0.127,0.167,0.108,0.162,0.125,0.116,0.089,0.113,
+0.012,8.52e-3,9.19e-3,0.015,0.086,8.77e-3,0.055,0.069,0.083,0.108,
+0.085,0.119,0.143,0.107,0.076,0.162,0.120,0.069,0.072,0.113,
+0.097,0.011,0.102,0.106,0.139,0.110,0.118,0.221,0.173,0.123,
+0.073,0.143,0.195,0.097,0.075,0.094,0.104,0.016,0.049,0.079,
+0.099,0.109,0.056,0.115,0.113,0.099,0.064,0.079,0.077,0.068,
+0.060,0.076,0.098,0.017,0.070,0.092,0.089,0.114,0.066,0.100,
+0.086,0.112,0.083,0.101,0.011,0.014,0.015,0.012,0.100,0.017,
+0.071,0.092,0.082,0.112,0.125,0.112,0.088,0.077,0.049,0.089,
+0.085,0.079,0.052,0.081,0.091,0.010,0.061,0.099,0.080,0.085,
+0.101,0.164,0.108,0.059,0.058,0.094,0.087,0.062,0.072,0.085,
+0.098,0.015,0.055,0.086,0.096,0.090,0.065,0.140,9.78e-3,8.44e-3,
+6.10e-3,9.28e-3,0.010,9.28e-3,7.85e-3,0.011,0.010,3.34e-3,7.94e-3,0.013,
+0.015,0.022,0.012,0.021,0.061,0.066,0.102,0.079,7.02e-3,7.60e-3,
+9.44e-3,0.011,0.080,0.014,0.060,0.068,0.064,0.093,0.083,0.086,
+0.060,0.039,0.045,0.063,0.076,0.070,0.060,0.092,0.079,0.013,
+0.081,0.086,0.078,0.078,0.093,0.145,0.172,0.083,0.068,0.148,
+0.079,0.050,0.061,0.092,0.120,0.012,0.065,0.101,0.183,0.140,
+0.096,0.219,0.121,0.076,0.074,0.109,0.098,0.064,0.065,0.102,
+0.105,0.011,0.074,0.112,0.140,0.162,0.114,0.252,0.109,0.107,
+0.101,0.144,9.69e-3,8.86e-3,0.011,0.016,0.098,0.011,0.074,0.119,
+0.125,0.148,0.139,0.198,0.144,0.108,0.091,0.180,0.101,0.086,
+0.083,0.128,0.161,0.016,0.120,0.181,0.250,0.214,0.277,0.542,
+0.260,0.173,0.143,0.205,0.181,0.144,0.143,0.132,0.148,0.022,
+0.098,0.155,0.171,0.191,0.098,0.169,0.253,0.143,0.166,0.142,
+0.162,0.138,0.147,0.115,0.146,0.026,0.192,0.147,0.100,0.135,
+0.101,0.148,0.125,0.144,0.106,0.135,0.016,0.024,0.017,0.026,
+0.145,0.021,0.116,0.196,0.088,0.148,0.122,0.158,0.145,0.161,
+0.084,0.130,0.151,0.162,0.120,0.155,0.148,0.038,0.491,0.325,
+0.133,0.135,0.174,0.249,0.225,0.224,0.115,0.157,0.207,0.212,
+0.158,0.138,0.147,0.027,0.079,0.133,0.121,0.162,0.090,0.156,
+0.208,0.233,0.123,0.140,0.198,0.192,0.163,0.193,0.195,0.052,
+0.159,0.216,0.116,0.189,0.125,0.173,0.123,0.222,0.139,0.157,
+0.020,0.057,0.041,0.027,0.203,0.054,0.156,0.205,0.115,0.266,
+0.234,0.213,0.137,0.133,0.075,0.124,0.202,0.323,0.161,0.175,
+0.154,0.023,0.129,0.217,0.128,0.155,0.153,0.252,0.124,0.090,
+0.073,0.098,0.126,0.141,0.131,0.123,0.139,0.035,0.087,0.115,
+0.096,0.137,0.094,0.149,0.010,0.014,0.013,0.020,0.016,0.029,
+0.024,0.020,0.022,0.014,0.030,0.022,0.013,0.040,0.021,0.019,
+0.102,0.151,0.402,0.228,0.016,0.027,0.043,0.028,0.191,0.071,
+0.138,0.166,0.094,0.310,0.288,0.184,0.095,0.067,0.094,0.108,
+0.131,0.177,0.177,0.197,0.128,0.024,0.145,0.173,0.094,0.129,
+0.159,0.207,0.147,0.104,0.097,0.129,0.099,0.084,0.076,0.091,
+0.126,0.016,0.077,0.101,0.140,0.136,0.102,0.203,0.166,0.156,
+0.123,0.156,0.140,0.138,0.133,0.142,0.171,0.030,0.141,0.185,
+0.155,0.350,0.156,0.223,0.110,0.122,0.148,0.177,0.013,0.018,
+0.018,0.021,0.155,0.030,0.159,0.219,0.130,0.216,0.231,0.234,
+0.148,0.121,0.098,0.155,0.147,0.146,0.133,0.174,0.185,0.024,
+0.172,0.238,0.214,0.219,0.235,0.397,0.152,0.132,0.083,0.124,
+0.090,0.088,0.058,0.085,0.116,0.014,0.058,0.080,0.095,0.098,
+0.055,0.101,0.125,0.117,0.065,0.107,0.106,0.115,0.095,0.085,
+0.140,0.024,0.110,0.121,0.082,0.138,0.084,0.117,0.100,0.130,
+0.098,0.133,0.015,0.022,0.019,0.037,0.155,0.026,0.138,0.145,
+0.082,0.162,0.107,0.146,0.095,0.076,0.057,0.111,0.118,0.108,
+0.081,0.151,0.205,0.033,0.138,0.213,0.138,0.143,0.143,0.300,
+0.013,0.021,8.27e-3,0.013,0.013,0.021,0.011,0.011,0.013,4.43e-3,
+8.27e-3,0.011,0.010,0.020,0.010,0.014,0.016,0.021,0.011,9.44e-3,
+0.017,0.040,0.022,0.017,0.022,0.014,0.025,0.022,0.011,0.024,
+0.011,0.014,0.011,0.023,0.012,0.011,4.76e-3,0.013,0.010,4.93e-3,
+0.026,0.022,0.039,0.025,0.015,0.033,0.021,0.016,0.012,0.015,
+8.19e-3,0.014,0.020,0.034,0.018,0.026,0.032,0.028,0.038,0.037,
+0.017,0.027,0.020,0.037,0.102,0.095,0.059,0.069,0.102,0.202,
+0.121,0.089,0.125,0.040,0.107,0.106,0.072,0.128,0.113,0.128,
+0.011,0.017,0.010,8.19e-3,0.014,0.034,0.022,0.013,0.021,0.014,
+0.034,0.020,0.012,0.033,0.019,0.020,0.086,0.175,0.130,0.102,
+0.018,0.039,0.034,0.020,0.172,0.050,0.114,0.151,0.072,0.161,
+0.159,0.133,0.075,0.064,0.059,0.068,0.115,0.166,0.168,0.138,
+0.195,0.051,0.247,0.197,0.092,0.140,0.165,0.187,0.121,0.079,
+0.062,0.104,0.074,0.072,0.051,0.061,0.094,0.014,0.076,0.092,
+0.102,0.099,0.080,0.133,0.148,0.133,0.082,0.099,0.115,0.140,
+0.099,0.086,0.166,0.029,0.148,0.165,0.158,0.211,0.148,0.189,
+0.279,0.202,0.159,0.153,0.035,0.031,0.023,0.023,0.223,0.037,
+0.211,0.250,0.340,0.248,0.237,0.247,0.127,0.097,0.089,0.132,
+0.145,0.140,0.119,0.145,0.229,0.030,0.256,0.301,0.203,0.243,
+0.250,0.341,0.266,0.127,0.096,0.188,0.121,0.089,0.077,0.133,
+0.130,0.015,0.063,0.112,0.148,0.128,0.087,0.185,0.129,0.105,
+0.053,0.086,0.090,0.074,0.062,0.084,0.109,0.015,0.070,0.100,
+0.091,0.106,0.070,0.130,0.104,0.103,0.068,0.135,0.012,0.012,
+9.94e-3,0.023,0.099,0.014,0.065,0.103,0.087,0.122,0.078,0.148,
+0.145,0.096,0.075,0.167,0.117,0.083,0.082,0.169,0.136,0.013,
+0.095,0.170,0.199,0.164,0.140,0.362,0.157,0.119,0.081,0.146,
+0.108,0.101,0.096,0.105,0.102,0.016,0.070,0.121,0.099,0.129,
+0.093,0.160,0.146,0.106,0.057,0.092,0.102,0.097,0.071,0.096,
+0.114,0.021,0.105,0.129,0.088,0.124,0.083,0.149,0.111,0.121,
+0.064,0.118,0.011,0.018,9.02e-3,0.014,0.137,0.019,0.115,0.149,
+0.103,0.160,0.113,0.175,0.124,0.095,0.071,0.127,0.130,0.124,
+0.086,0.160,0.144,0.020,0.100,0.174,0.148,0.233,0.140,0.285,
+0.145,0.114,0.097,0.114,0.119,0.124,0.120,0.146,0.140,0.028,
+0.100,0.175,0.123,0.154,0.141,0.324,0.015,0.012,7.60e-3,0.013,
+0.011,0.016,0.014,0.014,0.012,5.35e-3,0.014,0.020,0.012,0.023,
+0.015,0.043,0.110,0.140,0.114,0.135,0.013,0.017,0.019,0.022,
+0.153,0.032,0.128,0.172,0.100,0.188,0.196,0.255,0.115,0.094,
+0.090,0.139,0.148,0.148,0.154,0.269,0.205,0.030,0.191,0.269,
+0.157,0.190,0.223,0.384,0.263,0.136,0.127,0.217,0.118,0.086,
+0.090,0.125,0.164,0.017,0.096,0.166,0.193,0.162,0.146,0.368,
+0.279,0.220,0.100,0.146,0.151,0.131,0.104,0.131,0.168,0.017,
+0.131,0.219,0.179,0.195,0.157,0.380,0.196,0.192,0.157,0.256,
+0.017,0.018,0.013,0.029,0.252,0.027,0.205,0.350,0.239,0.292,
+0.282,0.437,0.335,0.186,0.199,0.382,0.250,0.214,0.214,0.403,
+0.375,0.031,0.313,0.529,0.465,0.399,0.420,0.633,3.424,1.932,
+1.534,2.840,2.121,1.420,1.298,1.566,2.147,0.230,1.264,1.743,
+3.060,2.509,1.917,2.721,2.395,1.585,1.188,1.425,1.654,1.048,
+1.215,0.982,1.679,0.152,1.430,1.374,1.360,1.706,1.484,1.593,
+1.572,1.240,1.230,1.428,0.144,0.127,0.129,0.195,1.530,0.140,
+1.057,1.214,1.150,1.688,1.431,1.596,2.586,1.257,1.400,2.575,
+1.777,1.285,1.324,1.893,1.473,0.135,1.304,1.854,1.805,1.405,
+1.780,2.711,2.267,1.619,1.084,1.372,1.354,1.068,0.944,1.006,
+1.212,0.146,0.883,0.982,1.128,1.313,1.204,1.225,1.573,1.250,
+0.868,0.935,0.969,0.703,0.840,0.701,1.144,0.127,1.062,1.158,
+0.777,0.940,1.115,1.005,1.012,1.132,0.868,0.924,0.105,0.096,
+0.096,0.105,1.165,0.123,0.974,1.148,0.732,1.175,1.026,0.978,
+1.089,0.940,0.647,1.016,1.089,0.944,0.821,1.097,1.141,0.110,
+1.082,1.360,0.965,1.031,1.210,1.655,1.489,0.831,0.812,1.111,
+1.085,0.836,0.910,0.887,1.128,0.149,0.772,1.149,0.925,1.007,
+0.957,1.402,0.125,0.092,0.073,0.093,0.083,0.094,0.080,0.077,
+0.101,0.019,0.105,0.114,0.114,0.195,0.124,0.150,0.844,0.782,
+0.823,0.802,0.076,0.073,0.092,0.093,1.013,0.128,0.937,0.946,
+0.601,1.251,1.148,0.886,0.723,0.487,0.601,0.873,0.847,0.736,
+0.809,0.920,1.044,0.114,1.351,1.368,0.855,0.917,1.209,1.661,
+1.912,0.768,0.716,1.225,0.779,0.535,0.533,0.598,0.869,0.094,
+0.507,0.754,1.124,1.011,0.836,1.526,1.064,0.792,0.745,0.796,
+0.707,0.577,0.642,0.576,0.782,0.072,0.713,0.800,0.793,0.929,
+0.873,1.121,1.036,0.867,0.863,0.887,0.074,0.062,0.073,0.083,
+1.156,0.083,0.748,0.875,0.761,1.036,1.009,1.041,1.348,0.691,
+0.777,1.416,0.579,0.462,0.617,0.844,1.262,0.091,1.086,1.497,
+1.598,1.347,1.608,2.611,3.047,2.244,1.628,2.671,1.881,1.564,
+1.368,1.419,1.657,0.193,1.070,1.902,1.783,1.646,1.427,2.016,
+2.186,1.807,1.184,1.423,1.472,1.187,1.405,1.039,1.402,0.163,
+1.427,1.540,1.033,1.111,1.133,1.431,1.079,1.212,1.097,1.188,
+0.114,0.147,0.158,0.166,1.211,0.124,1.089,1.118,0.650,1.227,
+1.041,1.201,1.291,0.775,0.779,1.276,1.329,1.183,0.952,1.239,
+0.903,0.098,0.879,1.171,0.921,0.866,1.211,1.953,2.390,2.386,
+1.239,1.772,1.741,1.772,1.421,1.351,1.403,0.190,1.086,1.288,
+1.076,1.316,0.983,1.265,1.726,1.652,1.135,1.182,1.134,0.656,
+1.051,0.829,1.467,0.222,1.386,1.683,0.741,1.109,1.062,1.174,
+1.300,2.205,1.324,1.399,0.146,0.244,0.219,0.216,1.556,0.284,
+1.527,1.730,0.898,2.791,1.571,1.494,1.061,0.973,0.746,0.968,
+1.428,1.427,1.121,1.239,1.160,0.140,0.969,1.296,0.784,1.080,
+1.230,1.604,1.477,1.096,0.926,1.591,1.307,1.404,1.498,1.132,
+1.317,0.227,1.211,1.459,0.831,1.206,1.299,1.390,0.126,0.186,
+0.127,0.183,0.118,0.205,0.186,0.113,0.146,0.059,0.225,0.188,
+0.103,0.307,0.200,0.178,1.289,1.736,1.589,1.392,0.145,0.290,
+0.268,0.180,1.730,0.388,1.824,1.697,1.251,5.512,2.526,1.713,
+1.018,0.640,1.075,0.959,1.242,1.473,1.643,1.475,1.355,0.183,
+1.976,1.929,0.792,1.398,1.952,2.119,1.269,0.773,0.687,1.042,
+0.787,0.633,0.619,0.682,0.727,0.076,0.528,0.791,0.771,0.797,
+0.682,1.160,1.437,1.274,0.972,1.295,1.055,1.151,1.029,1.016,
+0.917,0.113,1.008,1.251,0.828,1.273,1.125,1.492,0.923,0.884,
+0.947,1.082,0.087,0.113,0.097,0.113,1.115,0.116,1.043,1.258,
+0.991,1.576,1.490,1.460,1.076,0.702,0.798,1.122,0.913,0.803,
+0.857,1.143,1.209,0.104,1.410,1.775,1.316,1.435,2.064,2.913,
+2.171,1.456,1.081,1.700,0.944,0.935,0.735,0.768,0.928,0.118,
+0.741,0.826,0.987,1.232,0.742,1.165,1.751,1.599,1.068,1.367,
+1.156,1.225,1.118,0.936,1.470,0.205,1.398,1.320,0.905,1.549,
+0.996,1.212,1.211,1.394,1.295,1.286,0.131,0.204,0.183,0.220,
+1.097,0.162,1.115,1.128,0.647,1.439,1.073,1.097,1.162,0.835,
+0.846,1.449,1.094,1.347,1.068,1.229,1.172,0.143,1.562,1.615,
+1.041,1.169,1.464,2.471,0.192,0.228,0.124,0.157,0.162,0.230,
+0.141,0.131,0.136,0.031,0.119,0.128,0.106,0.214,0.118,0.146,
+0.196,0.261,0.167,0.175,0.178,0.242,0.185,0.139,0.208,0.062,
+0.245,0.210,0.116,0.272,0.149,0.169,0.126,0.249,0.171,0.155,
+0.024,0.067,0.052,0.039,0.199,0.067,0.268,0.235,0.105,0.332,
+0.201,0.168,0.207,0.181,0.137,0.223,0.287,0.493,0.297,0.366,
+0.206,0.051,0.298,0.295,0.176,0.304,0.260,0.347,1.381,0.909,
+0.857,0.813,0.959,1.076,1.128,0.720,1.193,0.312,1.240,1.148,
+0.784,1.414,1.087,1.189,0.119,0.164,0.115,0.094,0.095,0.151,
+0.152,0.078,0.171,0.068,0.240,0.152,0.112,0.258,0.171,0.136,
+1.029,1.365,1.776,1.150,0.127,0.192,0.511,0.165,1.546,0.278,
+1.326,1.368,0.655,1.375,1.675,1.104,0.691,0.589,0.736,0.753,
+0.913,1.348,1.673,1.087,1.459,0.264,2.785,1.814,0.747,1.035,
+1.619,1.480,1.218,0.609,0.516,0.749,0.704,0.621,0.421,0.434,
+0.674,0.089,0.491,0.640,0.667,0.684,0.520,0.897,1.524,1.228,
+0.971,1.113,1.061,1.224,0.929,0.807,1.334,0.167,1.190,1.297,
+1.062,1.549,1.050,1.258,0.908,1.059,1.107,1.147,0.108,0.161,
+0.153,0.128,1.429,0.149,1.290,1.431,0.823,1.416,1.349,1.352,
+1.200,0.744,0.891,1.193,0.970,1.034,0.901,0.992,1.284,0.140,
+1.700,1.868,1.252,1.304,1.611,2.161,2.347,1.239,1.009,1.972,
+0.906,0.663,0.619,0.708,0.964,0.092,0.547,0.829,1.220,1.055,
+0.851,1.470,1.125,0.821,0.590,0.850,0.709,0.497,0.555,0.631,
+0.987,0.086,0.584,0.788,0.702,0.766,0.571,0.946,0.982,0.706,
+0.649,1.056,0.087,0.080,0.072,0.127,0.707,0.073,0.570,0.748,
+0.617,0.867,0.639,0.920,1.348,0.675,0.810,1.735,1.113,0.799,
+0.834,1.232,1.014,0.097,0.931,1.312,1.200,1.067,1.252,2.533,
+2.007,1.436,1.060,1.452,1.282,1.283,0.950,1.028,1.097,0.117,
+0.778,1.020,0.902,1.113,0.799,1.215,1.368,1.158,0.784,1.072,
+0.992,0.913,0.834,0.848,1.128,0.137,0.959,1.215,0.825,1.253,
+0.720,1.035,1.007,1.097,0.774,1.149,0.085,0.118,0.091,0.135,
+1.132,0.127,1.046,1.310,0.747,1.419,1.035,1.183,1.374,0.885,
+0.727,1.407,1.358,1.388,1.125,1.810,1.190,0.142,1.218,1.721,
+1.143,1.877,1.332,2.130,1.434,0.878,1.024,1.256,1.156,0.929,
+1.089,1.162,1.254,0.184,1.330,1.359,0.958,1.066,1.304,1.551,
+0.105,0.107,0.088,0.136,0.085,0.105,0.099,0.100,0.128,0.028,
+0.155,0.159,0.123,0.184,0.147,0.160,1.084,1.220,1.412,2.591,
+0.104,0.116,0.159,0.229,1.385,0.180,1.367,1.669,0.820,1.532,
+1.584,1.664,1.046,0.685,0.841,1.346,1.329,1.270,1.350,1.715,
+2.927,0.261,2.180,2.694,1.209,1.535,1.911,2.321,2.051,0.897,
+0.868,1.478,0.915,0.669,0.685,0.795,1.041,0.102,0.712,1.032,
+1.420,1.015,1.031,1.903,1.151,0.804,0.699,1.253,0.686,0.520,
+0.698,0.969,1.135,0.093,0.868,1.309,1.410,1.328,1.034,1.542,
+1.435,1.323,1.325,2.612,0.247,0.127,0.115,0.217,2.025,0.164,
+1.394,1.993,1.376,1.815,1.994,2.287,2.153,1.153,1.519,3.193,
+1.605,1.477,1.490,2.378,2.451,0.166,2.428,3.561,3.441,2.600,
+3.260,4.586,0.182,0.160,0.114,0.164,0.145,0.126,0.122,0.165,
+0.129,0.019,0.094,0.120,0.134,0.151,0.127,0.141,0.151,0.144,
+0.108,0.102,0.136,0.113,0.145,0.104,0.124,0.026,0.144,0.129,
+0.116,0.134,0.130,0.130,0.078,0.083,0.095,0.083,0.011,0.015,
+0.020,0.019,0.069,0.014,0.074,0.081,0.055,0.088,0.088,0.089,
+0.117,0.078,0.067,0.109,0.100,0.090,0.091,0.112,0.096,0.014,
+0.105,0.116,0.088,0.084,0.112,0.159,0.182,0.178,0.108,0.112,
+0.150,0.178,0.143,0.101,0.140,0.042,0.135,0.121,0.079,0.160,
+0.119,0.112,0.175,0.202,0.131,0.101,0.149,0.162,0.173,0.118,
+0.187,0.070,0.223,0.232,0.090,0.174,0.136,0.127,0.084,0.149,
+0.127,0.088,0.020,0.037,0.048,0.022,0.143,0.049,0.165,0.167,
+0.112,0.157,0.146,0.105,0.076,0.165,0.060,0.072,0.109,0.135,
+0.118,0.115,0.131,0.024,0.159,0.154,0.080,0.110,0.147,0.146,
+0.085,0.069,0.053,0.062,0.089,0.098,0.099,0.076,0.082,0.021,
+0.075,0.083,0.054,0.082,0.075,0.087,0.012,0.022,0.016,0.010,
+0.016,0.036,0.030,0.017,0.018,0.013,0.034,0.021,0.011,0.029,
+0.024,0.018,0.056,0.075,0.087,0.052,9.86e-3,0.018,0.030,0.014,
+0.084,0.029,0.127,0.096,0.044,0.101,0.152,0.099,0.049,0.037,
+0.042,0.044,0.073,0.090,0.108,0.083,0.111,0.025,0.183,0.121,
+0.061,0.083,0.131,0.111,0.112,0.067,0.054,0.077,0.056,0.051,
+0.044,0.047,0.062,8.86e-3,0.045,0.057,0.066,0.066,0.056,0.103,
+0.094,0.099,0.084,0.089,0.083,0.097,0.093,0.096,0.075,0.015,
+0.092,0.105,0.059,0.098,0.084,0.124,0.058,0.064,0.073,0.068,
+6.94e-3,0.011,0.013,8.86e-3,0.075,0.016,0.079,0.086,0.048,0.085,
+0.098,0.098,0.080,0.056,0.060,0.096,0.058,0.071,0.063,0.076,
+0.105,0.013,0.126,0.139,0.109,0.115,0.163,0.230,0.170,0.161,
+0.130,0.139,0.157,0.174,0.172,0.125,0.112,0.022,0.092,0.123,
+0.102,0.118,0.098,0.126,0.155,0.168,0.128,0.106,0.149,0.169,
+0.307,0.122,0.139,0.048,0.194,0.172,0.143,0.122,0.130,0.169,
+0.070,0.099,0.169,0.083,0.013,0.026,0.038,0.021,0.083,0.020,
+0.109,0.117,0.040,0.081,0.101,0.087,0.075,0.049,0.053,0.079,
+0.092,0.106,0.091,0.093,0.072,0.017,0.088,0.098,0.054,0.062,
+0.104,0.119,0.186,0.247,0.128,0.127,0.199,0.383,0.211,0.127,
+0.142,0.051,0.142,0.139,0.084,0.144,0.106,0.115,0.165,0.231,
+0.154,0.113,0.143,0.110,0.185,0.129,0.167,0.084,0.238,0.256,
+0.073,0.156,0.156,0.157,0.097,0.219,0.147,0.139,0.030,0.087,
+0.090,0.058,0.166,0.091,0.211,0.211,0.065,0.263,0.219,0.147,
+0.078,0.085,0.067,0.071,0.135,0.201,0.145,0.141,0.120,0.035,
+0.152,0.156,0.066,0.108,0.205,0.150,0.098,0.086,0.069,0.072,
+0.117,0.169,0.177,0.095,0.108,0.029,0.114,0.105,0.051,0.090,
+0.100,0.093,0.016,0.033,0.023,0.017,0.030,0.067,0.077,0.023,
+0.030,0.038,0.077,0.047,0.010,0.040,0.037,0.024,0.132,0.207,
+0.173,0.112,0.036,0.097,0.108,0.041,0.171,0.082,0.250,0.183,
+0.096,0.312,0.302,0.166,0.138,0.053,0.070,0.061,0.119,0.199,
+0.224,0.133,0.141,0.044,0.259,0.185,0.068,0.104,0.200,0.154,
+0.081,0.067,0.065,0.070,0.061,0.057,0.056,0.053,0.058,9.86e-3,
+0.050,0.059,0.044,0.056,0.053,0.082,0.091,0.123,0.090,0.105,
+0.096,0.146,0.124,0.095,0.077,0.025,0.118,0.113,0.052,0.118,
+0.097,0.105,0.057,0.081,0.087,0.074,9.78e-3,0.022,0.019,0.015,
+0.088,0.026,0.121,0.112,0.063,0.115,0.136,0.109,0.065,0.047,
+0.052,0.062,0.059,0.075,0.075,0.087,0.090,0.013,0.126,0.130,
+0.077,0.103,0.157,0.192,0.126,0.132,0.087,0.110,0.084,0.103,
+0.091,0.083,0.081,0.019,0.080,0.071,0.060,0.086,0.057,0.071,
+0.137,0.191,0.124,0.109,0.155,0.197,0.195,0.137,0.170,0.064,
+0.259,0.204,0.076,0.182,0.119,0.115,0.080,0.141,0.125,0.101,
+0.016,0.035,0.044,0.031,0.110,0.038,0.167,0.135,0.048,0.129,
+0.113,0.100,0.061,0.060,0.051,0.083,0.086,0.121,0.107,0.115,
+0.110,0.024,0.171,0.153,0.070,0.093,0.125,0.178,0.015,0.030,
+0.015,0.014,0.023,0.050,0.038,0.020,0.017,0.016,0.031,0.021,
+9.44e-3,0.025,0.019,0.014,0.027,0.066,0.032,0.018,0.049,0.087,
+0.078,0.038,0.045,0.066,0.106,0.072,0.014,0.056,0.031,0.026,
+0.014,0.052,0.035,0.018,0.012,0.055,0.067,0.020,0.040,0.068,
+0.125,0.076,0.010,0.065,0.063,0.027,0.010,0.016,0.012,0.011,
+0.029,0.064,0.047,0.038,0.027,0.022,0.076,0.049,0.012,0.029,
+0.035,0.030,0.090,0.102,0.080,0.058,0.102,0.176,0.198,0.089,
+0.122,0.057,0.246,0.149,0.063,0.193,0.141,0.122,0.016,0.045,
+0.028,0.013,0.028,0.077,0.087,0.024,0.044,0.061,0.159,0.061,
+0.011,0.049,0.044,0.021,0.097,0.212,0.374,0.123,0.036,0.113,
+0.301,0.057,0.200,0.131,0.398,0.238,0.056,0.197,0.288,0.139,
+0.062,0.066,0.118,0.063,0.109,0.238,0.433,0.160,0.284,0.112,
+1.284,0.379,0.078,0.159,0.325,0.185,0.074,0.065,0.048,0.066,
+0.051,0.062,0.049,0.045,0.062,0.014,0.064,0.076,0.049,0.068,
+0.052,0.079,0.111,0.149,0.100,0.095,0.124,0.187,0.158,0.113,
+0.155,0.051,0.212,0.196,0.080,0.167,0.132,0.139,0.076,0.137,
+0.207,0.096,0.016,0.047,0.065,0.022,0.162,0.061,0.239,0.207,
+0.066,0.187,0.171,0.139,0.067,0.057,0.071,0.078,0.088,0.119,
+0.119,0.094,0.125,0.033,0.321,0.215,0.094,0.143,0.192,0.190,
+0.201,0.133,0.102,0.163,0.139,0.094,0.081,0.161,0.129,0.015,
+0.062,0.121,0.116,0.107,0.093,0.149,0.115,0.108,0.074,0.095,
+0.089,0.077,0.085,0.100,0.104,0.016,0.088,0.110,0.073,0.089,
+0.076,0.109,0.081,0.074,0.063,0.098,0.010,0.010,0.010,0.016,
+0.064,9.02e-3,0.070,0.086,0.052,0.079,0.072,0.109,0.106,0.067,
+0.074,0.140,0.104,0.078,0.087,0.157,0.149,0.014,0.106,0.207,
+0.117,0.106,0.127,0.299,0.223,0.207,0.132,0.177,0.173,0.198,
+0.172,0.168,0.151,0.028,0.146,0.174,0.110,0.195,0.123,0.164,
+0.222,0.242,0.153,0.169,0.208,0.234,0.252,0.206,0.200,0.051,
+0.248,0.284,0.128,0.245,0.160,0.194,0.108,0.183,0.127,0.138,
+0.019,0.039,0.041,0.033,0.164,0.042,0.211,0.243,0.090,0.230,
+0.180,0.176,0.143,0.117,0.097,0.156,0.199,0.213,0.204,0.317,
+0.191,0.035,0.256,0.300,0.135,0.226,0.219,0.292,0.147,0.082,
+0.075,0.088,0.103,0.116,0.143,0.123,0.142,0.028,0.191,0.158,
+0.077,0.112,0.145,0.157,0.012,0.014,0.012,0.011,0.017,0.027,
+0.028,0.020,0.026,0.011,0.051,0.030,0.013,0.026,0.032,0.021,
+0.089,0.142,0.156,0.167,0.016,0.031,0.056,0.048,0.166,0.050,
+0.252,0.222,0.071,0.180,0.227,0.190,0.177,0.078,0.093,0.112,
+0.154,0.168,0.201,0.223,1.097,0.084,0.485,0.456,0.159,0.179,
+0.280,0.290,0.143,0.087,0.070,0.112,0.079,0.067,0.071,0.077,
+0.088,0.013,0.078,0.105,0.096,0.083,0.098,0.162,0.114,0.089,
+0.072,0.114,0.083,0.081,0.094,0.108,0.107,0.013,0.134,0.167,
+0.103,0.125,0.116,0.166,0.103,0.121,0.114,0.178,0.017,0.021,
+0.019,0.022,0.169,0.033,0.174,0.218,0.104,0.176,0.241,0.213,
+0.163,0.100,0.122,0.211,0.138,0.144,0.148,0.198,0.262,0.021,
+0.317,0.373,0.255,0.244,0.386,0.411,1.558,1.578,1.398,2.211,
+1.768,1.577,1.639,3.533,1.505,0.168,1.222,1.740,1.989,1.678,
+1.514,2.050,1.549,1.257,0.963,1.141,1.278,0.958,1.146,1.059,
+1.217,0.110,1.047,1.068,2.016,1.165,1.005,1.196,1.094,1.124,
+1.467,1.123,0.096,0.093,0.124,0.191,0.882,0.094,1.080,1.139,
+0.864,0.893,1.206,1.106,1.089,0.628,0.661,1.062,0.773,0.613,
+0.723,0.974,0.761,0.067,0.784,0.961,0.951,0.565,1.028,1.568,
+2.311,1.897,1.458,1.621,1.917,1.772,1.572,1.432,1.368,0.255,
+1.056,1.305,1.180,1.363,0.957,1.297,2.064,1.961,1.333,1.300,
+1.811,1.250,1.612,1.229,1.806,0.251,1.798,2.666,1.231,1.598,
+1.131,1.905,1.498,1.944,3.355,1.672,0.216,0.230,0.321,0.260,
+1.926,0.301,2.174,2.561,3.163,2.223,2.326,1.763,0.938,0.833,
+0.805,0.831,1.355,1.360,1.284,1.382,1.077,0.121,1.120,1.530,
+1.132,0.956,1.276,1.732,1.557,1.024,0.971,1.119,1.530,1.376,
+1.504,1.389,1.431,0.201,1.100,1.221,1.016,1.168,1.162,1.440,
+0.154,0.202,0.164,0.157,0.205,0.249,0.250,0.201,0.208,0.057,
+0.276,0.241,0.210,0.413,0.239,0.274,1.503,1.883,1.583,1.303,
+0.157,0.209,0.260,0.223,1.664,0.288,2.115,1.890,0.967,1.625,
+3.086,1.795,0.825,0.742,0.758,0.805,1.302,1.383,1.506,1.421,
+1.209,0.165,1.610,1.695,1.260,1.172,1.761,1.787,1.328,0.776,
+0.669,1.196,0.760,0.654,0.680,0.715,0.726,0.081,0.560,0.675,
+0.972,0.813,0.739,1.257,1.173,1.006,0.918,1.039,1.013,0.945,
+1.020,0.924,0.971,0.105,0.967,1.168,0.945,1.205,0.946,1.341,
+1.186,1.204,1.394,1.231,0.120,0.117,0.162,0.164,1.242,0.151,
+1.672,1.575,0.951,1.517,2.271,1.717,1.180,0.829,0.946,1.272,
+0.899,0.851,0.998,1.247,1.560,0.139,1.518,2.125,1.796,1.690,
+2.171,3.243,0.153,0.155,0.134,0.155,0.150,0.172,0.166,0.256,
+0.112,0.023,0.086,0.147,0.174,0.133,0.105,0.137,0.197,0.207,
+0.146,0.131,0.217,0.226,0.268,0.180,0.200,0.050,0.206,0.197,
+0.821,0.211,0.176,0.264,0.085,0.132,0.133,0.104,0.019,0.036,
+0.040,0.032,0.107,0.033,0.172,0.344,0.084,0.131,0.165,0.148,
+0.082,0.066,0.059,0.076,0.105,0.111,0.108,0.105,0.076,0.015,
+0.101,0.131,0.083,0.074,0.121,0.171,0.174,0.221,0.142,0.127,
+0.180,0.263,0.247,0.153,0.143,0.085,0.135,0.152,0.081,0.154,
+0.108,0.182,0.240,0.340,0.215,0.171,0.264,0.259,0.344,0.221,
+0.254,0.121,0.345,0.488,0.150,0.267,0.213,0.762,0.124,0.265,
+0.252,0.143,0.040,0.101,0.121,0.052,0.292,0.156,0.393,0.401,
+0.205,0.335,0.358,0.227,0.082,0.086,0.076,0.066,0.146,0.196,
+0.170,0.141,0.110,0.028,0.155,0.154,0.076,0.092,0.168,0.171,
+0.140,0.119,0.128,0.090,0.186,0.259,0.293,0.156,0.159,0.052,
+0.196,0.140,0.074,0.129,0.145,0.135,0.022,0.044,0.031,0.023,
+0.044,0.106,0.112,0.042,0.049,0.061,0.138,0.067,0.033,0.064,
+0.057,0.048,0.144,0.251,0.287,0.182,0.045,0.107,0.174,0.059,
+0.255,0.145,0.503,0.333,0.107,0.366,0.655,0.327,0.089,0.077,
+0.090,0.079,0.157,0.247,0.305,0.209,0.165,0.057,0.337,0.261,
+0.096,0.138,0.266,0.234,0.115,0.120,0.094,0.117,0.084,0.091,
+0.100,0.090,0.072,0.012,0.072,0.076,0.085,0.092,0.103,0.137,
+0.161,0.187,0.153,0.159,0.179,0.237,0.230,0.177,0.158,0.040,
+0.206,0.223,0.128,0.216,0.199,0.229,0.095,0.146,0.173,0.140,
+0.018,0.036,0.044,0.028,0.144,0.042,0.264,0.220,0.101,0.213,
+0.398,0.237,0.100,0.089,0.097,0.111,0.098,0.113,0.128,0.128,
+0.130,0.020,0.190,0.207,0.140,0.172,0.286,0.311,2.207,1.961,
+1.579,2.319,1.314,1.383,1.033,1.180,1.228,0.155,1.412,1.185,
+0.762,0.842,0.687,0.923,1.879,1.870,1.104,1.226,1.684,1.790,
+1.731,1.332,1.863,0.307,2.369,1.840,1.092,1.934,1.138,1.259,
+1.318,1.601,1.381,1.392,0.196,0.289,0.292,0.366,1.799,0.324,
+2.845,2.035,0.855,1.768,1.798,1.649,0.875,0.664,0.571,0.905,
+1.044,1.154,0.951,1.292,1.403,0.189,1.766,2.013,0.923,1.258,
+1.543,2.449,0.189,0.210,0.111,0.129,0.218,0.324,0.224,0.194,
+0.186,0.062,0.264,0.205,0.089,0.157,0.107,0.125,0.165,0.253,
+0.133,0.108,0.252,0.371,0.313,0.189,0.212,0.106,0.387,0.304,
+0.091,0.209,0.118,0.150,0.211,0.342,0.249,0.163,0.052,0.145,
+0.164,0.061,0.336,0.182,0.701,0.410,0.157,0.362,0.379,0.280,
+0.111,0.101,0.077,0.108,0.194,0.296,0.227,0.252,0.193,0.049,
+0.299,0.285,0.108,0.151,0.183,0.261,2.273,1.134,1.325,0.764,
+1.224,1.576,1.638,1.043,1.256,0.263,2.070,1.323,0.699,1.031,
+1.275,1.132,0.157,0.242,0.281,0.134,0.141,0.273,0.244,0.108,
+0.218,0.094,0.509,0.252,0.090,0.226,0.214,0.138,1.111,0.881,
+1.341,0.720,0.171,0.167,0.347,0.125,0.589,0.158,0.352,0.300,
+0.259,0.387,0.944,0.688,0.641,0.460,0.688,0.399,0.685,0.828,
+1.222,0.660,1.023,0.191,2.109,1.347,0.637,0.843,1.551,1.582,
+1.110,0.703,0.575,0.711,0.776,0.661,0.576,0.526,0.745,0.093,
+0.848,0.838,0.503,0.542,0.506,0.734,1.185,1.232,0.899,0.734,
+1.175,1.469,1.093,0.763,1.322,0.199,1.867,1.498,0.710,1.295,
+0.927,0.860,1.092,1.188,1.271,1.052,0.140,0.236,0.245,0.168,
+1.745,0.284,3.341,2.256,0.883,1.779,2.171,1.651,0.817,0.607,
+0.606,0.774,0.925,1.068,0.977,0.885,1.427,0.187,2.616,2.151,
+1.216,1.420,2.058,2.084,1.640,1.049,0.862,1.328,0.902,0.756,
+0.676,0.821,0.801,0.098,0.666,0.867,0.877,0.972,0.706,1.094,
+1.101,0.933,0.528,0.630,0.795,0.654,0.610,0.603,0.727,0.077,
+0.629,0.680,0.660,0.639,0.514,0.709,0.843,0.771,0.611,0.765,
+0.081,0.081,0.071,0.133,0.775,0.090,1.003,1.063,0.581,0.804,
+0.833,1.005,0.766,0.520,0.438,0.749,0.668,0.563,0.500,0.891,
+0.789,0.064,0.665,0.982,0.752,0.697,0.930,1.638,1.947,1.663,
+1.074,1.419,1.592,1.674,1.453,1.278,1.211,0.179,1.420,1.483,
+0.908,1.366,0.861,1.233,1.760,1.871,1.015,1.108,1.789,1.724,
+1.654,1.341,1.468,0.209,1.680,1.884,0.798,1.346,0.901,1.243,
+1.356,1.874,1.266,1.232,0.149,0.270,0.211,0.227,1.679,0.275,
+2.468,2.577,0.927,1.950,1.852,1.892,0.997,0.853,0.667,0.962,
+1.337,1.619,1.335,1.803,1.139,0.147,1.550,2.001,0.852,1.096,
+1.275,1.907,1.492,1.018,0.862,0.932,1.241,1.237,1.439,1.230,
+1.274,0.201,1.500,1.523,0.807,1.216,1.239,1.520,0.126,0.170,
+0.117,0.113,0.155,0.254,0.230,0.169,0.161,0.055,0.263,0.236,
+0.103,0.219,0.170,0.172,1.341,1.733,1.634,1.521,0.153,0.219,
+0.296,0.272,2.364,0.473,3.313,4.158,1.002,2.013,3.004,2.594,
+0.985,0.863,0.900,0.934,1.481,1.556,2.142,2.045,1.639,0.224,
+2.832,3.387,1.100,1.321,2.290,2.593,1.338,0.875,0.709,0.994,
+0.776,0.721,0.743,0.676,0.797,0.103,0.762,0.912,0.900,0.763,
+0.894,1.324,1.335,1.277,0.790,0.914,0.962,1.058,1.096,0.961,
+1.047,0.104,1.159,1.354,0.847,0.974,0.980,1.170,1.279,1.416,
+1.344,1.596,0.126,0.145,0.169,0.204,1.927,0.227,3.088,3.424,
+1.299,1.941,2.685,2.533,1.541,1.030,1.079,1.780,1.437,1.358,
+1.539,1.819,1.784,0.166,2.589,3.236,1.972,1.741,2.826,2.994,
+2.101,1.487,1.353,2.544,1.353,0.979,0.909,1.280,1.200,0.117,
+0.744,1.127,1.807,1.392,1.024,1.776,1.435,0.976,0.704,0.868,
+1.004,0.663,0.673,0.653,1.113,0.088,0.747,0.770,1.134,1.005,
+0.666,0.903,0.971,0.985,0.870,0.958,0.093,0.085,0.101,0.137,
+0.786,0.082,0.794,0.971,0.685,0.892,0.928,1.058,1.260,0.730,
+0.778,1.343,1.043,0.752,0.951,1.013,0.845,0.080,0.838,1.083,
+1.176,0.874,1.119,2.020,1.845,1.302,0.897,1.271,1.218,0.914,
+0.723,0.789,0.845,0.093,0.539,0.796,0.909,0.800,0.571,0.996,
+1.234,0.930,0.624,0.785,0.803,0.534,0.646,0.581,0.915,0.086,
+0.733,1.211,0.954,0.732,0.573,0.955,0.786,0.772,0.998,0.765,
+0.066,0.074,0.083,0.083,0.888,0.074,0.646,0.901,1.051,0.840,
+0.845,0.904,0.670,0.493,0.432,0.614,0.686,0.616,0.525,0.648,
+0.669,0.051,0.575,0.855,0.705,0.571,0.786,1.335,1.307,0.755,
+0.705,0.930,1.029,0.753,0.728,0.851,0.913,0.108,0.484,0.690,
+0.861,0.777,0.667,1.104,0.102,0.092,0.065,0.091,0.094,0.086,
+0.077,0.089,0.095,0.016,0.094,0.099,0.129,0.173,0.100,0.151,
+0.823,0.800,0.860,0.839,0.074,0.072,0.099,0.103,0.912,0.108,
+0.793,0.983,0.697,0.956,1.393,1.180,0.678,0.463,0.529,0.727,
+0.884,0.692,0.751,0.913,0.952,0.085,0.844,1.134,0.903,0.820,
+1.137,1.561,1.559,0.726,0.654,1.212,0.747,0.527,0.522,0.647,
+0.857,0.077,0.475,0.655,1.117,0.765,0.701,1.372,1.086,0.826,
+0.610,0.801,0.729,0.597,0.568,0.592,0.760,0.072,0.611,0.764,
+0.873,0.980,0.731,1.187,0.898,0.764,0.751,0.897,0.066,0.061,
+0.066,0.081,0.842,0.073,0.710,0.878,0.770,0.891,1.162,1.202,
+1.199,0.721,0.732,1.261,0.805,0.679,0.723,0.933,1.317,0.145,
+0.969,1.426,1.587,1.401,1.817,2.911,2.390,1.725,1.501,2.177,
+1.652,1.496,1.303,1.401,1.223,0.145,0.836,1.413,1.575,1.519,
+1.104,1.905,1.957,1.536,1.241,1.427,1.434,1.235,1.760,1.170,
+1.498,0.185,1.388,2.060,2.019,1.292,1.181,1.678,1.012,1.034,
+1.015,1.235,0.113,0.131,0.135,0.216,1.111,0.178,1.257,3.424,
+0.735,1.168,1.410,1.883,1.105,0.702,0.774,1.093,1.180,1.010,
+0.990,1.128,0.801,0.092,0.911,1.420,0.972,0.856,1.267,2.264,
+2.301,1.938,1.310,1.686,1.878,1.966,1.409,1.279,1.349,0.199,
+0.933,1.643,1.044,1.306,0.966,1.699,1.982,1.887,1.194,1.600,
+1.690,1.315,1.543,1.342,1.894,0.303,1.813,3.780,1.081,1.654,
+1.385,2.360,1.128,1.531,1.256,1.305,0.143,0.205,0.178,0.173,
+1.830,0.311,1.601,2.799,1.311,2.011,2.033,2.119,0.860,0.722,
+0.652,0.861,1.200,1.305,0.996,1.129,0.989,0.110,0.980,1.402,
+0.839,0.914,1.387,1.920,1.456,1.077,0.902,1.014,1.497,1.610,
+1.550,1.232,1.257,0.208,1.006,1.095,0.818,1.047,1.118,1.465,
+0.107,0.157,0.100,0.124,0.141,0.235,0.217,0.150,0.135,0.062,
+0.214,0.211,0.122,0.249,0.209,0.219,1.237,1.561,1.681,1.542,
+0.157,0.250,0.326,0.229,1.711,0.330,2.001,2.398,1.018,2.378,
+4.339,2.822,0.910,0.669,0.800,0.940,1.421,1.641,1.916,1.803,
+1.402,0.182,1.843,2.204,1.017,1.219,2.258,2.500,1.306,0.926,
+0.834,1.290,0.848,0.783,0.750,0.847,0.877,0.091,0.634,0.834,
+0.901,0.825,0.910,1.547,1.427,1.332,1.078,1.328,1.167,1.321,
+1.279,1.186,1.195,0.168,1.231,1.615,1.086,1.665,1.488,1.884,
+0.856,0.997,1.147,1.410,0.089,0.124,0.135,0.147,1.138,0.147,
+1.527,1.858,0.901,1.536,2.627,2.274,1.149,0.797,0.862,1.162,
+1.033,1.053,1.045,1.197,1.194,0.110,1.420,1.878,1.378,1.478,
+2.174,3.011,2.549,1.772,1.233,1.896,1.199,1.332,0.891,1.155,
+1.251,0.126,0.872,1.192,1.136,1.015,0.756,1.307,1.887,1.775,
+0.952,1.224,1.428,1.453,1.201,1.035,1.692,0.211,1.824,1.742,
+1.071,1.550,1.121,1.494,1.535,1.661,1.172,1.642,0.160,0.219,
+0.176,0.277,1.736,0.220,1.550,1.907,0.918,1.776,1.478,1.779,
+1.203,0.960,0.693,1.227,1.268,1.252,0.974,1.271,1.506,0.181,
+1.555,2.960,1.308,1.265,1.729,3.098,0.159,0.181,0.100,0.131,
+0.163,0.207,0.124,0.130,0.126,0.026,0.115,0.128,0.095,0.147,
+0.091,0.137,0.164,0.225,0.113,0.121,0.216,0.277,0.227,0.157,
+0.183,0.073,0.347,0.283,0.113,0.226,0.150,0.167,0.108,0.204,
+0.130,0.121,0.025,0.060,0.058,0.033,0.255,0.080,0.274,0.277,
+0.112,0.277,0.231,0.194,0.117,0.119,0.084,0.118,0.175,0.261,
+0.174,0.212,0.170,0.047,0.239,0.291,0.129,0.155,0.189,0.276,
+2.049,1.401,1.117,1.071,1.612,2.077,1.810,1.334,1.471,0.307,
+1.693,1.550,0.971,1.483,1.574,1.570,0.147,0.228,0.134,0.111,
+0.143,0.262,0.212,0.123,0.195,0.093,0.321,0.211,0.131,0.314,
+0.217,0.175,1.673,2.138,3.209,1.832,0.222,0.374,0.618,0.293,
+2.495,0.505,1.648,2.352,1.135,2.280,3.222,2.362,1.102,0.928,
+1.208,1.040,1.476,1.984,2.892,1.772,2.031,0.373,4.265,3.283,
+1.163,1.620,2.928,2.798,1.413,1.080,0.753,1.107,0.972,0.962,
+0.724,0.783,0.918,0.118,0.984,1.116,0.880,0.899,0.841,1.383,
+1.855,1.773,1.143,1.260,1.482,1.788,1.333,1.088,1.735,0.231,
+2.174,2.193,1.383,2.175,1.680,1.772,1.350,1.475,1.526,1.502,
+0.139,0.222,0.230,0.178,2.285,0.298,2.774,3.085,1.447,2.703,
+3.149,2.880,1.314,1.007,0.960,1.282,1.237,1.408,1.406,1.344,
+2.019,0.217,3.072,3.392,1.841,2.038,2.889,3.442,2.800,1.517,
+1.059,1.888,1.182,0.927,0.726,0.964,1.097,0.113,0.735,1.111,
+1.351,1.091,0.868,1.647,1.445,1.045,0.566,0.807,0.997,0.739,
+0.621,0.700,1.086,0.100,0.740,0.982,0.768,0.764,0.628,1.019,
+1.139,0.970,0.764,1.156,0.106,0.104,0.082,0.156,0.949,0.099,
+0.822,1.252,0.748,0.986,0.878,1.311,1.716,0.930,0.716,1.443,
+1.094,0.760,0.696,1.149,1.133,0.097,0.915,1.758,1.308,1.022,
+1.329,2.801,2.066,1.585,0.967,1.427,1.387,1.445,0.970,1.085,
+1.069,0.124,0.906,1.280,0.976,1.112,0.829,1.460,1.522,1.344,
+0.730,1.044,1.271,1.136,0.993,0.996,1.283,0.147,1.281,1.887,
+0.883,1.167,0.860,1.417,1.066,1.232,0.765,1.187,0.114,0.126,
+0.082,0.124,1.425,0.146,1.267,1.929,0.967,1.568,1.322,1.839,
+1.165,0.991,0.707,1.165,1.151,1.151,0.885,1.309,1.272,0.117,
+1.155,2.030,1.144,1.086,1.339,2.298,2.127,1.484,1.079,1.457,
+1.667,1.679,1.420,1.697,1.611,0.235,1.336,1.812,1.307,1.532,
+1.469,2.507,0.143,0.150,0.092,0.123,0.132,0.172,0.127,0.136,
+0.139,0.031,0.187,0.185,0.141,0.210,0.163,0.241,1.736,2.096,
+1.871,2.030,0.153,0.207,0.231,0.261,2.401,0.353,2.481,3.530,
+1.514,2.673,3.499,5.186,1.552,1.282,1.243,1.574,1.800,1.836,
+2.081,2.244,2.336,0.244,2.852,3.755,1.595,1.772,2.785,4.162,
+2.923,1.490,1.115,1.987,1.257,1.038,1.006,1.164,1.451,0.139,
+1.062,1.543,2.088,1.423,1.527,2.905,2.182,1.660,1.165,1.523,
+1.621,1.590,1.156,1.281,1.906,0.161,1.780,2.178,1.761,1.830,
+1.684,2.383,1.972,1.823,1.699,2.359,0.159,0.163,0.146,0.221,
+2.617,0.227,2.811,3.932,2.069,2.734,3.438,4.830,2.985,1.567,
+1.564,3.033,1.971,1.728,1.708,2.483,2.881,0.207,3.107,4.787,
+3.613,2.521,3.723,5.808,4.362,2.087,1.790,4.059,2.039,1.286,
+1.216,1.820,2.469,0.224,1.147,2.109,3.937,2.831,1.820,3.879,
+2.172,1.229,0.941,1.373,1.267,0.765,0.733,0.818,1.413,0.097,
+0.844,1.103,1.290,1.120,0.976,1.519,1.571,1.093,1.047,1.705,
+0.108,0.087,0.087,0.188,1.109,0.084,0.636,1.005,1.046,1.131,
+1.015,1.550,2.820,1.199,1.225,2.955,1.640,1.083,1.172,2.043,
+1.451,0.105,0.995,1.674,2.183,1.366,1.608,3.093,2.603,1.440,
+1.026,1.698,1.244,0.886,0.743,1.035,1.162,0.111,0.671,0.983,
+1.105,1.089,0.819,1.332,1.466,0.890,0.646,0.867,0.764,0.496,
+0.502,0.545,0.891,0.067,0.588,0.787,0.732,0.640,0.628,0.803,
+1.123,1.000,0.819,1.041,0.075,0.063,0.061,0.089,1.003,0.076,
+0.663,1.043,0.654,0.816,0.745,0.971,1.192,0.765,0.646,1.184,
+1.050,0.770,0.736,1.095,0.993,0.073,0.658,1.106,0.957,0.830,
+0.906,1.613,1.720,0.980,0.719,1.142,1.071,0.805,0.684,0.973,
+1.158,0.132,0.621,0.992,1.144,0.956,0.859,1.581,0.112,0.092,
+0.063,0.104,0.081,0.089,0.059,0.083,0.089,0.013,0.078,0.096,
+0.129,0.150,0.105,0.171,0.838,0.663,0.672,0.796,0.063,0.054,
+0.054,0.080,0.816,0.067,0.553,0.744,0.623,0.738,0.806,0.888,
+0.763,0.567,0.529,0.821,0.827,0.846,0.715,0.827,0.998,0.087,
+0.937,1.169,0.949,0.869,1.114,1.725,2.449,1.040,0.904,1.982,
+1.001,0.701,0.610,0.934,1.242,0.113,0.651,1.065,1.717,1.176,
+1.109,2.371,1.463,1.016,0.815,1.297,0.928,0.727,0.620,0.797,
+0.949,0.073,0.749,1.048,1.127,1.013,0.845,1.450,1.063,0.930,
+0.854,1.206,0.077,0.067,0.066,0.109,1.097,0.076,0.795,1.109,
+1.028,1.036,1.016,1.501,1.805,0.957,0.939,1.997,1.001,0.813,
+0.813,1.313,1.600,0.103,1.210,2.139,2.363,1.740,2.053,4.246,
+3.099,1.708,1.259,2.464,1.662,1.128,1.032,1.261,1.367,0.124,
+0.717,1.423,1.646,1.319,1.015,1.971,1.628,1.066,0.771,1.249,
+0.977,0.676,0.808,0.715,0.907,0.066,0.646,0.882,0.734,0.663,
+0.675,1.052,0.847,0.795,0.689,1.004,0.075,0.075,0.065,0.106,
+0.804,0.063,0.483,0.715,0.617,0.719,0.672,0.991,1.086,0.641,
+0.663,1.351,0.949,0.700,0.660,0.973,0.753,0.060,0.646,0.952,
+1.010,0.707,0.954,1.974,1.849,1.368,0.736,1.420,1.046,0.895,
+0.699,0.889,0.891,0.080,0.505,0.901,0.799,0.805,0.557,1.093,
+1.135,0.845,0.518,0.729,0.769,0.392,0.469,0.536,0.803,0.062,
+0.522,0.818,0.622,0.582,0.465,0.761,0.941,1.018,0.659,0.860,
+0.065,0.079,0.055,0.078,0.865,0.106,0.557,0.868,0.601,1.038,
+0.772,0.966,0.841,0.636,0.528,1.023,0.810,0.741,0.583,0.777,
+0.779,0.065,0.547,0.909,0.730,0.808,0.743,1.563,1.179,0.797,
+0.508,0.938,0.837,0.658,0.612,0.719,0.936,0.097,0.560,0.805,
+0.711,0.685,0.623,1.070,0.067,0.067,0.042,0.089,0.054,0.074,
+0.056,0.065,0.062,0.012,0.062,0.072,0.058,0.089,0.067,0.091,
+0.798,0.824,0.687,0.839,0.060,0.074,0.062,0.074,0.750,0.084,
+0.581,0.732,0.577,1.264,0.899,0.892,0.873,0.686,0.551,0.901,
+0.710,0.719,0.719,0.921,0.864,0.071,0.783,1.168,0.687,0.706,
+1.002,1.486,1.198,0.689,0.567,0.991,0.736,0.510,0.468,0.705,
+0.643,0.054,0.384,0.631,0.791,0.564,0.552,1.136,0.954,0.788,
+0.528,0.869,0.708,0.749,0.500,0.672,0.548,0.048,0.507,0.715,
+0.608,0.634,0.583,1.006,0.720,0.678,0.628,0.882,0.048,0.062,
+0.044,0.068,0.768,0.058,0.647,0.893,0.761,0.794,0.894,1.142,
+0.995,0.697,0.590,1.111,0.704,0.637,0.546,0.918,1.024,0.070,
+0.935,1.611,1.379,1.182,1.544,2.771,4.761,1.516,0.995,1.984,
+1.037,0.876,0.641,0.846,0.995,0.101,0.606,0.934,1.144,1.115,
+0.654,1.294,1.761,1.091,0.661,1.383,0.861,0.637,0.593,0.694,
+0.973,0.095,0.699,0.954,0.863,1.008,0.645,1.105,1.067,0.999,
+0.845,1.167,0.097,0.106,0.080,0.166,0.679,0.076,0.471,0.652,
+0.596,0.971,0.613,0.957,1.366,0.828,0.762,1.698,0.938,0.803,
+0.718,1.205,0.928,0.091,0.774,1.263,1.224,0.964,1.111,2.633,
+0.254,0.138,0.073,0.131,0.100,0.108,0.063,0.087,0.087,0.014,
+0.058,0.080,0.088,0.112,0.065,0.118,0.135,0.109,0.056,0.093,
+0.088,0.077,0.059,0.065,0.089,0.015,0.076,0.092,0.086,0.099,
+0.060,0.101,0.096,0.105,0.075,0.098,9.28e-3,0.017,0.014,0.013,
+0.082,0.014,0.068,0.089,0.066,0.113,0.081,0.106,0.167,0.118,
+0.089,0.198,0.166,0.178,0.121,0.211,0.114,0.016,0.104,0.171,
+0.136,0.136,0.133,0.270,1.966,0.812,0.636,0.844,0.956,0.743,
+0.645,0.741,1.167,0.158,0.814,1.117,0.961,0.984,0.823,1.358,
+0.108,0.088,0.055,0.073,0.058,0.072,0.057,0.047,0.095,0.018,
+0.083,0.089,0.101,0.123,0.076,0.110,0.965,0.993,0.903,0.988,
+0.081,0.093,0.131,0.096,0.922,0.114,0.548,0.831,0.624,0.881,
+0.977,0.972,0.864,0.615,0.707,0.993,0.888,1.001,0.865,0.978,
+1.186,0.123,1.393,1.494,0.906,0.937,1.274,1.735,3.157,0.712,
+0.524,0.995,0.726,0.523,0.360,0.504,0.854,0.082,0.485,0.814,
+1.023,0.852,0.545,1.189,1.527,0.924,0.625,0.971,0.781,0.725,
+0.536,0.635,0.921,0.083,0.717,0.973,0.952,1.054,0.738,1.257,
+1.006,0.953,0.759,1.081,0.078,0.096,0.068,0.093,1.043,0.089,
+0.778,1.094,0.927,1.285,1.280,1.504,1.348,0.777,0.775,1.316,
+0.972,0.905,0.680,1.053,1.365,0.116,1.331,2.037,1.691,1.500,
+1.887,3.210,3.737,1.591,1.234,2.855,1.091,0.804,0.691,0.821,
+1.117,0.099,0.638,1.030,1.716,1.159,1.048,2.160,1.342,0.776,
+0.558,1.338,0.763,0.418,0.440,0.684,0.934,0.066,0.504,0.857,
+0.815,0.675,0.589,1.131,1.116,0.751,0.803,1.441,0.077,0.061,
+0.063,0.144,0.794,0.060,0.559,0.917,0.745,0.750,0.648,1.204,
+1.770,0.914,1.067,3.020,1.026,0.672,0.851,1.546,1.015,0.083,
+0.920,1.801,1.641,1.069,1.444,3.380,2.184,1.318,0.840,1.601,
+1.104,0.939,0.599,0.929,0.993,0.087,0.594,0.974,0.989,0.952,
+0.674,1.382,1.202,0.782,0.477,0.884,0.770,0.530,0.441,0.655,
+0.821,0.059,0.547,0.949,0.786,0.678,0.485,0.852,0.965,0.800,
+0.617,1.138,0.060,0.055,0.045,0.096,0.921,0.072,0.569,1.058,
+0.753,0.894,0.673,1.146,1.345,0.818,0.724,1.746,1.083,0.869,
+0.881,1.702,0.989,0.072,0.840,1.531,1.112,1.145,1.134,2.189,
+1.593,0.736,0.678,1.247,0.982,0.678,0.645,0.985,1.084,0.120,
+0.856,1.138,1.016,0.857,1.080,1.767,0.088,0.078,0.046,0.116,
+0.054,0.059,0.052,0.070,0.083,9.78e-3,0.116,0.099,0.094,0.094,
+0.083,0.136,0.859,0.793,0.705,1.428,0.054,0.051,0.050,0.107,
+0.870,0.077,0.673,0.997,0.758,0.905,0.872,1.233,1.009,0.754,
+0.790,2.344,0.946,0.827,0.800,1.330,1.411,0.111,1.293,2.018,
+1.120,1.145,1.417,2.169,2.684,1.082,0.851,2.002,1.033,0.742,
+0.580,0.948,1.235,0.111,0.677,1.272,1.800,1.165,1.076,2.830,
+1.331,0.997,0.650,1.363,0.777,0.556,0.543,0.772,1.019,0.069,
+0.763,1.356,1.172,1.004,0.816,1.865,1.655,1.396,0.952,2.044,
+0.108,0.090,0.057,0.140,1.484,0.107,0.951,1.751,1.529,1.805,
+1.517,2.278,2.463,1.256,1.285,3.165,1.591,1.288,1.184,2.195,
+2.483,0.140,2.048,4.201,3.995,2.788,3.308,6.750,4.250,2.574,
+2.151,3.721,2.356,1.606,1.487,1.908,2.143,0.236,1.308,2.147,
+2.891,2.647,2.056,3.319,2.383,1.635,1.325,1.708,1.657,1.108,
+1.379,1.248,1.563,0.131,1.434,1.528,1.243,1.338,1.426,1.864,
+1.391,1.195,1.086,1.454,0.117,0.105,0.119,0.203,1.093,0.104,
+0.848,1.199,0.938,1.192,1.234,1.622,1.994,1.209,0.989,2.194,
+1.560,1.138,1.086,1.875,1.427,0.123,1.166,1.768,1.796,1.339,
+1.849,3.209,3.282,2.159,1.366,1.983,1.697,1.407,1.181,1.340,
+1.778,0.248,1.147,1.531,1.378,1.727,1.183,1.911,1.905,1.537,
+1.126,1.315,1.250,0.916,1.050,1.059,1.478,0.172,1.442,1.760,
+0.965,1.162,1.249,1.430,1.308,1.527,1.137,1.297,0.119,0.143,
+0.143,0.145,1.525,0.179,1.457,2.167,0.962,1.607,1.611,1.616,
+1.156,1.069,0.656,1.096,1.236,1.094,0.890,1.303,1.375,0.116,
+1.156,1.708,1.160,1.136,1.454,2.197,1.811,0.992,0.797,1.177,
+1.124,0.937,0.998,1.093,1.314,0.166,0.971,1.228,1.101,1.106,
+1.044,1.716,0.113,0.107,0.077,0.119,0.109,0.128,0.116,0.131,
+0.110,0.020,0.123,0.136,0.104,0.164,0.147,0.186,0.967,0.854,
+1.079,0.966,0.093,0.095,0.117,0.121,1.172,0.126,1.006,1.204,
+0.832,1.063,1.648,1.438,0.748,0.594,0.642,0.784,1.013,1.062,
+1.042,1.124,1.381,0.146,1.477,1.714,1.134,1.174,1.812,2.193,
+2.055,1.132,0.856,1.509,0.972,0.749,0.573,0.811,1.087,0.130,
+0.690,0.984,1.327,1.035,0.887,1.993,1.604,1.288,0.977,1.531,
+1.146,1.076,0.938,1.406,1.087,0.103,0.956,1.290,0.978,1.177,
+1.034,1.750,0.881,0.781,0.895,1.198,0.076,0.072,0.087,0.126,
+0.980,0.089,0.794,1.154,0.782,1.032,1.219,1.715,1.397,0.863,
+0.832,1.714,0.962,1.080,0.905,1.252,1.659,0.122,1.383,2.098,
+2.046,1.704,2.292,3.957,3.384,2.235,1.642,2.460,2.103,1.768,
+1.597,1.507,1.483,0.150,0.912,1.593,1.609,1.602,1.337,2.127,
+2.174,1.646,1.310,1.486,1.614,1.327,2.023,1.264,1.249,0.148,
+1.268,1.450,0.951,1.290,1.223,1.533,1.040,0.991,0.977,1.231,
+0.104,0.120,0.115,0.156,0.862,0.096,0.750,0.996,0.630,0.930,
+1.078,1.308,1.183,0.740,0.724,1.624,1.177,1.050,0.901,1.256,
+0.915,0.098,0.824,1.202,1.085,0.874,1.284,2.237,2.538,2.221,
+1.160,1.632,1.715,2.097,1.280,1.187,1.374,0.178,0.952,1.371,
+1.140,1.369,0.945,1.660,1.857,1.800,1.187,1.191,1.228,0.605,
+1.085,0.970,1.279,0.184,1.265,1.593,0.822,1.310,1.179,1.227,
+1.622,1.628,1.166,1.364,0.203,0.201,0.172,0.198,1.450,0.243,
+1.199,1.886,0.794,1.864,1.885,1.762,1.075,0.908,0.657,1.122,
+1.468,1.553,1.065,1.298,1.244,0.124,1.087,1.639,0.940,1.181,
+1.494,2.002,1.394,0.991,0.851,1.014,1.214,1.183,1.091,0.998,
+1.303,0.150,0.841,1.013,0.926,0.994,0.986,1.410,0.087,0.144,
+0.086,0.098,0.100,0.180,0.147,0.102,0.093,0.034,0.130,0.125,
+0.073,0.147,0.121,0.123,1.354,1.527,1.236,1.203,0.141,0.246,
+0.191,0.164,1.299,0.178,1.212,1.415,0.774,1.506,1.909,1.535,
+1.203,0.861,0.746,0.954,1.280,1.601,1.544,1.485,1.340,0.144,
+1.483,1.990,1.122,1.242,2.110,2.344,1.164,0.781,0.779,0.978,
+0.924,0.652,0.555,0.667,0.765,0.077,0.539,0.689,0.812,0.707,
+0.667,1.181,1.154,1.390,0.813,1.047,0.950,1.163,0.944,1.039,
+0.734,0.088,0.850,0.990,0.616,0.963,0.928,1.174,0.775,0.818,
+0.828,0.991,0.068,0.096,0.076,0.109,0.891,0.096,0.936,1.261,
+0.688,1.049,1.323,1.374,1.002,0.656,0.611,1.109,0.816,0.894,
+0.725,1.214,1.148,0.091,1.166,1.736,1.266,1.327,1.776,2.677,
+2.599,2.148,1.436,2.097,1.212,1.198,1.016,1.199,1.124,0.131,
+0.900,1.176,1.124,1.236,0.812,1.405,2.038,1.983,1.144,1.539,
+1.512,1.583,1.472,1.313,1.661,0.244,1.812,2.017,0.996,1.668,
+1.092,1.663,1.132,1.662,1.138,1.552,0.129,0.192,0.174,0.295,
+1.030,0.169,1.014,1.211,0.717,1.321,1.115,1.321,1.226,0.924,
+0.716,1.723,1.128,1.195,0.979,1.617,1.213,0.157,1.316,2.001,
+1.276,1.217,1.596,3.374,0.145,0.186,0.077,0.123,0.123,0.189,
+0.118,0.112,0.105,0.027,0.092,0.115,0.095,0.152,0.088,0.131,
+0.150,0.201,0.097,0.118,0.177,0.244,0.177,0.154,0.166,0.058,
+0.214,0.237,0.094,0.191,0.122,0.154,0.081,0.163,0.108,0.116,
+0.023,0.055,0.057,0.038,0.127,0.061,0.199,0.209,0.076,0.194,
+0.168,0.155,0.117,0.119,0.078,0.165,0.188,0.270,0.189,0.300,
+0.158,0.046,0.213,0.273,0.130,0.166,0.185,0.299,1.550,1.240,
+0.915,1.027,1.208,1.548,1.319,1.175,1.573,0.293,1.589,1.928,
+1.065,1.750,1.440,2.005,0.114,0.196,0.111,0.104,0.120,0.223,
+0.199,0.132,0.169,0.057,0.300,0.235,0.104,0.256,0.189,0.189,
+1.180,1.813,1.707,1.320,0.157,0.342,0.458,0.239,1.730,0.325,
+1.384,1.758,0.893,1.872,2.029,1.818,1.096,1.004,1.012,1.150,
+1.554,2.359,2.133,1.904,2.371,0.366,3.900,3.192,1.419,1.753,
+2.731,3.070,1.451,0.987,0.677,1.141,0.828,0.787,0.646,0.689,
+0.970,0.116,0.749,1.139,1.032,1.038,0.732,1.608,1.613,1.711,
+1.040,1.298,1.310,1.622,1.210,1.252,1.509,0.202,1.762,2.173,
+1.158,1.900,1.441,2.137,1.226,1.645,1.397,1.445,0.107,0.177,
+0.167,0.153,1.754,0.226,1.624,2.109,1.203,2.291,1.861,2.232,
+1.358,0.995,0.918,1.506,1.270,1.423,1.085,1.410,1.922,0.185,
+2.573,3.311,2.002,2.090,2.697,3.848,3.991,1.877,1.343,2.574,
+1.491,0.961,0.850,1.443,1.394,0.127,0.867,1.445,1.645,1.269,
+1.352,2.178,1.573,1.141,0.778,1.498,1.036,0.758,0.758,1.222,
+1.136,0.095,0.942,1.311,0.963,0.910,0.961,1.574,1.258,0.931,
+0.779,1.410,0.091,0.076,0.076,0.185,0.924,0.089,0.797,1.230,
+0.932,0.930,0.905,1.562,1.464,0.800,0.895,2.139,1.114,0.762,
+0.827,1.857,1.308,0.109,1.176,2.221,1.760,1.164,1.614,3.945,
+2.939,2.161,1.293,2.169,1.725,1.640,1.265,1.597,1.529,0.177,
+1.326,1.842,1.436,1.638,1.184,2.050,1.815,1.405,0.990,1.533,
+1.577,1.346,1.234,1.706,1.522,0.155,1.616,2.195,1.246,1.365,
+1.320,1.944,1.224,1.562,1.133,1.665,0.112,0.162,0.132,0.221,
+1.656,0.194,1.521,2.534,1.182,1.922,1.647,2.219,1.472,1.123,
+1.030,2.073,1.736,1.702,1.620,3.534,1.694,0.170,2.048,3.173,
+1.568,1.713,2.062,3.466,1.594,0.895,0.834,1.247,1.135,0.933,
+0.999,1.276,1.469,0.220,2.204,2.021,1.166,1.243,1.550,2.412,
+0.101,0.102,0.087,0.121,0.088,0.124,0.124,0.113,0.125,0.030,
+0.591,0.227,0.104,0.156,0.187,0.202,1.061,1.270,1.139,1.501,
+0.098,0.125,0.138,0.212,1.488,0.214,1.696,2.103,1.006,1.690,
+1.949,2.198,1.199,1.048,1.020,1.403,1.506,1.508,1.606,2.350,
+3.495,0.322,3.079,4.674,1.711,1.876,2.946,3.829,2.028,1.107,
+0.909,1.725,1.077,0.871,0.687,0.963,1.325,0.151,0.977,1.504,
+1.443,1.113,1.068,2.570,1.627,1.188,0.926,1.757,1.123,1.006,
+0.955,1.182,1.229,0.110,1.844,1.889,1.218,1.270,1.260,2.743,
+1.451,1.469,1.231,2.196,0.099,0.117,0.093,0.182,1.984,0.176,
+1.550,2.505,1.519,2.056,2.226,3.019,2.087,1.264,1.507,2.862,
+1.534,1.519,1.521,2.355,2.575,0.197,2.821,4.791,3.385,3.119,
+4.074,5.832,9.648,2.643,2.207,3.577,2.355,1.511,1.300,2.085,
+1.962,0.204,1.109,3.281,2.420,1.902,1.442,2.665,1.941,1.205,
+0.798,1.283,1.383,0.951,0.882,1.029,1.165,0.125,0.854,1.098,
+1.208,1.187,0.919,1.389,1.656,1.202,1.028,1.349,0.112,0.091,
+0.088,0.173,0.982,0.092,0.775,1.266,0.892,1.077,1.190,1.471,
+2.165,1.050,0.785,1.563,1.211,0.826,0.780,1.259,1.024,0.089,
+0.773,1.475,1.343,0.846,1.254,2.584,3.408,1.957,1.374,2.162,
+2.022,1.723,1.493,1.501,1.355,0.181,1.037,1.520,1.463,1.557,
+1.046,1.671,2.084,1.588,1.056,1.342,1.616,1.024,1.171,1.193,
+1.436,0.154,1.392,1.641,1.276,1.283,0.957,1.332,1.822,1.802,
+1.626,1.664,0.157,0.168,0.175,0.208,1.607,0.195,1.531,2.731,
+1.414,1.769,2.531,2.206,1.594,0.997,0.732,1.255,1.591,1.433,
+1.157,1.615,1.270,0.117,1.110,1.924,1.263,1.149,1.566,2.730,
+1.784,1.144,0.935,1.373,1.768,1.313,1.321,1.725,1.678,0.202,
+1.079,1.496,1.316,1.374,1.165,1.856,0.154,0.241,0.104,0.155,
+0.170,0.169,0.160,0.194,0.161,0.034,0.203,0.230,0.188,0.295,
+0.190,0.264,1.278,1.359,1.447,1.610,0.137,0.133,0.161,0.233,
+1.372,0.167,1.115,1.486,0.947,1.574,1.741,1.649,1.072,0.802,
+0.794,1.540,1.520,1.439,1.461,2.198,1.773,0.196,1.459,3.185,
+1.652,1.344,1.644,2.622,1.983,1.099,0.821,1.571,1.088,0.849,
+0.762,1.004,1.129,0.112,0.705,1.025,1.527,1.068,0.963,1.902,
+1.631,1.556,0.939,1.504,1.257,1.008,0.956,1.191,1.092,0.112,
+1.204,1.418,1.263,1.222,1.155,1.811,1.335,1.385,1.277,1.664,
+0.126,0.119,0.130,0.211,1.420,0.132,1.210,1.762,1.405,2.187,
+2.182,2.554,1.847,1.202,1.112,2.133,1.320,1.111,1.208,2.151,
+2.171,0.178,1.710,3.146,3.135,2.380,2.888,5.012,0.372,0.160,
+0.109,0.205,0.160,0.139,0.118,0.167,0.143,0.034,0.146,1.085,
+0.132,0.148,0.112,0.280,0.153,0.122,0.089,0.120,0.164,0.135,
+0.132,0.129,0.105,0.018,0.117,0.189,0.185,0.113,0.110,0.164,
+0.100,0.097,0.080,0.107,0.012,0.015,0.015,0.023,0.079,0.014,
+0.079,0.195,0.069,0.093,0.183,0.141,0.116,0.071,0.061,0.133,
+0.127,0.119,0.090,0.147,0.097,0.019,0.093,0.428,0.106,0.092,
+0.125,0.259,0.204,0.169,0.094,0.123,0.164,0.195,0.158,0.121,
+0.107,0.025,0.086,0.145,0.090,0.116,0.103,0.130,0.202,0.224,
+0.118,0.133,0.217,0.203,0.205,0.177,0.173,0.045,0.186,0.229,
+0.159,0.159,0.143,0.207,0.135,0.205,0.165,0.143,0.024,0.058,
+0.065,0.034,0.204,0.075,0.219,0.360,0.135,0.251,1.028,0.309,
+0.116,0.092,0.067,0.111,0.169,0.189,0.162,0.170,0.133,0.024,
+0.136,0.209,0.100,0.114,0.222,0.242,0.105,0.086,0.057,0.074,
+0.126,0.142,0.128,0.132,0.109,0.024,0.098,0.158,0.075,0.095,
+0.089,0.139,0.011,0.042,0.014,0.023,0.027,0.039,0.038,0.027,
+0.025,0.017,0.041,0.045,0.012,0.030,0.024,0.023,0.120,0.162,
+0.179,0.211,0.024,0.052,0.059,0.042,0.187,0.050,0.181,0.244,
+0.093,0.229,0.299,0.225,0.099,0.073,0.088,0.227,0.178,0.227,
+0.219,0.358,0.210,0.053,0.248,0.974,0.120,0.138,0.202,0.351,
+0.131,0.129,0.085,0.124,0.103,0.094,0.077,0.088,0.084,0.012,
+0.069,0.105,0.102,0.097,0.106,0.161,0.163,0.257,0.133,0.266,
+0.161,0.182,0.166,0.195,0.127,0.024,0.267,0.197,0.126,0.175,
+0.161,0.218,0.096,0.112,0.126,0.145,0.016,0.025,0.029,0.030,
+0.131,0.021,0.143,0.192,0.101,0.190,0.284,0.245,0.139,0.107,
+0.095,0.172,0.138,0.126,0.131,0.180,0.166,0.019,0.182,0.337,
+0.177,0.185,0.254,0.399,3.085,2.164,1.462,2.439,1.585,1.529,
+1.129,1.469,1.342,0.153,1.041,1.642,1.081,1.073,0.900,1.488,
+2.207,1.854,1.113,1.394,1.863,1.716,1.557,1.492,1.843,0.238,
+2.083,2.147,1.062,1.642,1.130,1.611,1.504,1.578,1.276,1.863,
+0.202,0.270,0.231,0.400,1.520,0.214,1.632,1.918,1.022,1.720,
+1.456,1.789,1.392,1.078,0.822,1.545,1.556,1.375,1.120,1.912,
+1.652,0.183,1.740,2.600,1.354,1.341,1.781,3.365,0.177,0.180,
+0.086,0.142,0.164,0.216,0.167,0.163,0.104,0.028,0.112,0.127,
+0.082,0.128,0.080,0.126,0.161,0.191,0.100,0.101,0.190,0.212,
+0.184,0.158,0.133,0.043,0.204,0.192,0.083,0.137,0.092,0.121,
+0.118,0.226,0.137,0.152,0.028,0.070,0.070,0.047,0.174,0.068,
+0.246,0.341,0.091,0.202,0.258,0.190,0.159,0.132,0.088,0.173,
+0.223,0.298,0.196,0.316,0.168,0.033,0.211,0.341,0.120,0.148,
+0.173,0.307,2.160,1.501,1.108,1.141,1.706,2.155,1.815,1.630,
+1.618,0.293,2.095,2.003,1.007,1.354,1.590,2.248,0.175,0.282,
+0.165,0.132,0.194,0.379,0.252,0.164,0.209,0.074,0.408,0.300,
+0.121,0.252,0.219,0.214,1.734,2.237,2.066,1.849,0.261,0.276,
+0.421,0.302,1.771,0.294,0.621,1.438,1.044,1.623,2.175,1.950,
+1.262,0.933,0.942,1.173,1.685,1.929,2.030,2.058,1.932,0.265,
+3.388,3.652,1.212,1.502,2.565,2.974,1.618,1.054,0.844,1.394,
+1.040,0.984,0.724,0.820,1.045,0.132,1.096,1.236,0.968,0.958,
+0.857,1.533,1.773,1.835,1.661,1.385,1.721,2.152,1.544,1.423,
+1.587,0.240,3.361,2.309,1.174,1.733,1.643,1.790,1.429,1.575,
+1.431,1.647,0.164,0.260,0.216,0.229,2.253,0.283,2.725,3.095,
+1.438,2.534,2.991,2.859,1.515,1.140,0.970,1.495,1.583,1.704,
+1.403,1.704,2.349,0.232,3.263,3.153,2.098,2.402,3.137,3.913,
+3.601,1.584,1.246,2.224,1.526,1.093,1.007,1.170,1.235,0.143,
+0.795,1.282,1.512,1.362,1.082,1.908,1.685,1.163,0.708,1.108,
+1.206,0.937,0.803,0.993,1.033,0.089,0.830,1.225,0.903,0.867,
+0.775,1.340,2.975,1.196,0.829,1.367,0.179,0.111,0.090,0.188,
+1.512,0.119,1.058,1.619,2.259,1.272,1.149,1.901,1.687,0.932,
+0.757,1.848,1.228,0.872,0.859,1.422,1.292,0.111,1.025,1.899,
+1.675,1.183,1.633,3.266,2.993,2.172,1.469,2.200,2.033,1.905,
+2.097,1.763,1.532,0.179,1.491,1.788,1.430,1.849,1.223,2.089,
+2.155,1.914,1.094,1.450,1.912,1.684,1.809,1.732,1.376,0.160,
+1.549,2.073,1.004,1.298,1.074,1.577,1.799,2.217,1.433,1.993,
+0.150,0.215,0.171,0.263,2.116,0.246,2.102,3.555,1.426,2.282,
+2.375,3.115,1.799,1.386,1.146,2.058,2.019,1.994,2.103,3.059,
+1.886,0.217,1.952,3.757,1.559,1.829,2.095,3.480,2.232,1.336,
+1.057,1.428,1.666,1.481,1.641,1.630,1.702,0.220,1.733,2.158,
+1.304,1.443,1.620,2.606,0.155,0.173,0.111,0.142,0.145,0.225,
+0.216,0.189,0.149,0.036,0.255,0.332,0.128,0.206,0.185,0.240,
+1.886,2.167,1.762,2.375,0.161,0.195,0.213,0.306,2.368,0.332,
+2.388,3.874,1.570,2.668,2.999,3.569,1.655,1.379,1.380,1.917,
+2.437,2.284,2.573,3.739,3.099,0.439,4.419,12.0,1.884,2.252,
+3.674,6.049,2.681,1.273,1.093,1.814,1.226,0.960,0.959,1.081,
+1.357,0.163,1.083,1.550,1.387,1.163,1.162,2.416,2.025,1.588,
+1.181,1.435,1.371,1.454,1.264,1.358,1.309,0.135,1.910,2.372,
+1.223,1.325,1.360,2.011,2.204,1.894,1.689,2.577,0.168,0.167,
+0.154,0.254,2.645,0.237,2.773,4.387,2.163,2.906,3.519,4.228,
+2.687,1.600,1.511,2.943,2.217,1.911,2.026,2.906,2.965,0.242,
+3.441,6.345,3.250,2.903,4.264,6.804,5.415,2.440,2.084,4.268,
+2.176,1.511,1.176,1.746,1.815,0.166,0.842,1.739,2.817,2.065,
+1.324,2.918,1.945,1.187,0.806,1.279,1.173,0.758,0.693,0.859,
+1.141,0.087,0.679,0.906,1.233,1.140,0.818,1.372,1.554,1.134,
+0.945,1.548,0.122,0.092,0.080,0.187,1.242,0.083,0.667,1.159,
+1.113,1.134,1.067,1.575,2.210,1.132,1.004,2.187,1.473,0.989,
+0.875,1.509,1.264,0.104,0.958,1.520,1.934,1.286,1.517,3.850,
+2.606,1.537,0.997,1.820,1.541,0.995,0.770,1.028,0.917,0.095,
+0.513,0.933,1.121,0.941,0.660,1.474,1.503,0.934,0.600,0.953,
+0.893,0.580,0.529,0.656,0.909,0.071,0.556,0.838,0.870,0.719,
+0.606,1.052,1.271,0.938,0.835,1.139,0.080,0.076,0.065,0.107,
+1.000,0.080,0.594,1.045,0.943,0.950,0.990,1.319,1.131,0.713,
+0.566,1.014,0.917,0.730,0.568,0.927,0.908,0.073,0.708,1.227,
+0.970,0.818,0.992,2.086,1.908,1.011,0.841,1.333,1.477,0.925,
+0.836,1.293,1.271,0.147,0.569,0.994,1.504,1.465,0.839,2.048,
+0.147,0.112,0.073,0.136,0.135,0.105,0.098,0.142,0.117,0.014,
+0.078,0.125,0.198,0.238,0.112,0.244,1.045,0.860,0.911,1.219,
+0.091,0.073,0.073,0.134,0.997,0.094,0.610,0.978,0.921,1.136,
+1.095,1.480,1.087,0.692,0.691,1.319,1.270,0.882,0.874,1.491,
+1.183,0.100,0.859,1.712,1.192,1.090,1.153,2.336,2.669,1.345,
+0.912,1.896,1.097,0.716,0.658,1.008,1.224,0.109,0.627,1.069,
+1.891,1.184,1.044,2.417,1.527,0.952,0.718,1.169,0.917,0.694,
+0.611,0.836,0.939,0.073,0.752,1.041,1.254,1.111,0.894,1.659,
+1.205,1.080,0.929,1.270,0.084,0.069,0.079,0.121,1.079,0.078,
+0.762,1.204,1.235,1.410,1.438,1.943,2.056,1.078,1.041,2.346,
+1.299,0.904,1.031,1.641,1.944,0.136,1.379,2.489,3.178,2.230,
+2.913,5.947,3.059,1.770,1.318,2.554,1.775,1.277,0.943,1.353,
+1.354,0.151,0.964,2.661,1.682,1.421,1.092,2.562,1.770,1.117,
+0.930,1.378,1.201,0.895,0.861,0.953,1.114,0.094,0.953,1.211,
+1.163,0.958,0.881,1.591,1.077,0.885,0.714,1.202,0.085,0.086,
+0.070,0.142,0.862,0.087,0.645,1.478,0.830,1.006,1.086,1.695,
+1.362,0.803,0.661,1.420,1.271,0.953,0.753,1.218,0.926,0.087,
+0.716,1.489,1.425,1.053,1.202,3.001,2.313,1.624,1.018,1.554,
+1.604,1.306,0.919,1.065,1.072,0.107,0.637,1.284,1.116,1.039,
+0.806,1.459,1.726,1.408,0.750,1.073,1.328,0.918,0.810,1.012,
+1.335,0.117,0.911,1.373,1.075,1.016,0.822,1.289,1.303,1.239,
+0.954,1.291,0.111,0.129,0.107,0.138,1.488,0.192,0.925,1.668,
+1.268,1.550,2.193,2.003,1.158,0.836,0.604,1.149,1.249,1.127,
+0.853,1.189,1.085,0.092,0.731,1.351,1.176,1.091,1.205,2.279,
+1.547,0.889,0.703,1.029,1.221,1.007,0.874,1.058,1.035,0.127,
+0.596,1.003,1.003,0.947,0.922,1.685,0.083,0.084,0.049,0.105,
+0.084,0.111,0.084,0.098,0.075,0.017,0.075,0.118,0.087,0.126,
+0.093,0.141,1.228,1.130,1.065,1.435,0.107,0.113,0.129,0.164,
+1.334,0.145,0.960,1.513,1.046,1.674,1.779,2.178,1.209,0.830,
+0.762,1.645,1.423,1.250,1.399,2.055,1.444,0.138,1.327,2.945,
+1.280,1.239,1.796,3.211,1.719,1.031,0.748,1.316,1.055,0.826,
+0.660,0.890,0.978,0.082,0.581,0.954,1.142,0.858,0.937,1.830,
+1.390,1.138,0.823,1.324,0.954,0.952,0.825,0.957,0.901,0.091,
+0.993,1.190,0.994,1.156,1.017,1.633,1.071,0.941,1.028,1.419,
+0.084,0.083,0.143,0.126,1.084,0.105,0.988,1.469,1.053,1.452,
+1.655,2.315,1.514,0.884,0.875,1.623,1.257,0.949,1.168,1.163,
+1.547,0.113,1.389,2.320,1.990,1.689,2.216,4.270,3.452,2.370,
+1.431,2.851,1.747,1.552,0.981,1.558,1.739,0.155,0.881,1.579,
+1.740,1.344,1.017,2.049,2.351,2.018,1.010,1.740,1.664,1.427,
+1.138,1.311,1.659,0.178,1.331,1.783,1.421,1.803,1.228,2.205,
+1.946,2.087,1.184,2.369,0.181,0.216,0.152,0.349,1.516,0.160,
+1.082,1.682,1.139,1.818,1.447,2.205,2.014,1.521,0.939,2.221,
+1.763,1.498,1.108,1.967,1.869,0.191,1.567,2.921,2.078,1.742,
+2.341,4.839,0.202,0.174,0.089,0.169,0.163,0.163,0.092,0.131,
+0.136,0.019,0.077,0.111,0.121,0.137,0.082,0.166,0.162,0.166,
+0.071,0.113,0.156,0.163,0.106,0.127,0.137,0.025,0.137,0.152,
+0.114,0.162,0.092,0.168,0.122,0.151,0.076,0.140,0.012,0.033,
+0.023,0.022,0.135,0.032,0.112,0.175,0.101,0.177,0.144,0.193,
+0.190,0.151,0.090,0.219,0.194,0.237,0.142,0.246,0.167,0.027,
+0.139,0.267,0.172,0.182,0.193,0.386,2.765,1.683,1.206,1.736,
+2.091,1.987,1.584,1.827,1.929,0.312,1.548,1.937,1.490,1.739,
+1.657,2.688,0.163,0.185,0.091,0.126,0.157,0.193,0.144,0.132,
+0.172,0.037,0.200,0.191,0.166,0.258,0.170,0.227,2.071,2.326,
+2.051,2.170,0.198,0.268,0.282,0.259,2.543,0.329,1.583,2.389,
+1.510,2.487,2.723,3.134,1.852,1.390,1.292,1.922,2.189,2.487,
+2.256,2.475,2.645,0.305,3.508,4.167,2.111,2.251,3.876,5.198,
+2.450,1.570,1.018,1.912,1.674,1.387,0.970,1.317,1.445,0.165,
+1.188,1.664,1.596,1.377,1.215,2.539,2.348,2.024,1.237,1.775,
+1.866,1.750,1.325,1.430,2.135,0.224,2.207,2.504,1.966,2.323,
+1.869,2.788,2.082,2.129,1.743,2.490,0.187,0.207,0.187,0.237,
+2.589,0.250,2.455,2.990,2.189,3.222,3.515,4.271,2.141,1.404,
+1.280,2.234,1.869,1.884,1.591,2.040,2.658,0.243,3.246,3.851,
+3.255,3.234,4.136,6.562,6.759,2.553,1.680,3.693,2.235,1.407,
+1.070,1.653,1.819,0.172,0.980,1.689,2.516,1.855,1.649,3.317,
+2.183,1.378,0.753,1.393,1.353,1.047,0.736,1.099,1.270,0.111,
+0.858,1.372,1.270,1.158,0.951,1.957,2.083,1.548,0.949,2.108,
+0.142,0.138,0.090,0.239,1.372,0.128,0.958,1.680,1.461,1.536,
+1.319,2.325,3.197,2.010,1.327,3.361,1.898,1.388,1.199,2.300,
+2.142,0.170,1.962,2.831,3.148,2.128,2.783,6.347,3.745,2.175,
+1.311,2.421,2.244,1.735,1.188,1.569,1.694,0.155,1.071,1.682,
+1.689,1.684,1.157,2.324,2.405,1.825,0.841,1.513,1.786,1.587,
+0.957,1.468,1.456,0.135,1.104,1.783,1.277,1.413,0.975,1.977,
+1.920,1.915,1.109,2.152,0.127,0.143,0.083,0.184,1.874,0.170,
+1.394,2.527,1.803,2.102,1.868,2.938,2.309,1.709,1.242,2.629,
+2.041,1.793,1.365,2.680,2.043,0.165,1.582,3.093,2.174,2.150,
+2.333,4.576,3.430,1.875,1.469,2.169,2.347,1.750,1.663,2.278,
+2.089,0.259,1.575,2.674,2.135,2.083,2.057,4.120,0.177,0.162,
+0.092,0.156,0.142,0.157,0.126,0.164,0.126,0.019,0.163,0.205,
+0.176,0.211,0.162,0.322,2.546,2.299,1.968,3.023,0.163,0.175,
+0.145,0.281,2.616,0.282,2.277,3.371,2.168,2.953,3.323,5.405,
+2.748,1.969,1.822,2.761,2.804,2.406,2.343,3.857,3.352,0.306,
+3.615,6.922,3.091,2.972,4.809,10.0,6.321,2.358,1.774,3.766,
+2.017,1.428,1.263,1.893,2.199,0.204,1.339,2.447,3.319,2.330,
+2.217,5.490,3.158,2.423,1.351,2.560,2.160,1.814,1.382,1.908,
+2.218,0.171,1.912,2.844,2.658,2.504,1.972,4.091,3.530,2.618,
+2.192,4.277,0.197,0.179,0.139,0.329,3.302,0.237,2.837,4.942,
+3.504,3.754,4.427,8.367,6.408,2.332,2.281,5.605,3.103,2.355,
+2.369,4.426,4.401,0.292,3.792,8.497,5.853,4.296,5.803,15.2,
+20.8,5.087,4.564,13.9,6.438,3.099,3.320,5.912,6.679,0.549,
+2.511,4.824,13.5,7.435,5.145,10.9,5.700,2.630,2.255,3.538,
+2.968,1.577,1.689,1.994,3.308,0.210,1.574,2.344,3.717,2.729,
+2.037,3.866,5.578,2.889,2.425,4.617,0.344,0.233,0.189,0.526,
+2.771,0.194,1.261,2.078,2.910,2.567,2.084,3.797,9.882,3.849,
+3.762,9.677,5.221,3.353,3.163,6.623,4.028,0.292,2.148,3.901,
+7.384,3.578,3.919,9.308,6.185,2.642,1.840,3.172,2.703,1.575,
+1.204,1.650,2.519,0.226,0.991,1.872,2.645,2.284,1.179,2.517,
+3.136,1.618,1.053,1.643,1.537,0.847,0.807,0.952,1.814,0.165,
+0.829,1.258,1.465,1.209,0.832,1.401,2.557,1.847,1.140,1.945,
+0.151,0.102,0.080,0.148,1.667,0.121,0.777,1.256,1.372,1.368,
+1.048,1.654,2.759,1.537,1.195,2.975,2.023,1.261,1.084,1.938,
+1.975,0.131,0.954,1.917,2.271,1.560,1.505,3.348,4.117,1.723,
+1.915,2.754,2.092,1.117,1.156,1.592,2.289,0.228,0.918,1.746,
+2.860,1.937,1.530,3.840,0.253,0.165,0.121,0.192,0.160,0.107,
+0.089,0.132,0.160,0.016,0.091,0.151,0.295,0.256,0.179,0.387,
+1.753,1.170,1.105,1.573,0.116,0.075,0.076,0.145,1.239,0.123,
+0.560,0.893,1.126,1.089,1.275,1.572,1.992,1.028,1.078,1.989,
+1.682,1.065,1.020,1.741,1.613,0.134,1.141,1.893,1.860,1.409,
+1.688,3.437,7.784,2.884,2.610,5.467,2.488,1.483,1.468,2.017,
+3.152,0.290,1.351,2.458,5.867,3.322,2.502,7.091,4.365,2.944,
+1.934,2.853,2.147,1.401,1.289,1.693,2.499,0.157,1.453,2.313,
+3.831,2.581,2.115,4.361,2.515,1.910,1.476,2.539,0.165,0.120,
+0.098,0.201,1.792,0.121,1.014,1.731,2.087,1.873,1.715,2.815,
+4.864,2.230,2.143,5.138,2.293,1.525,1.473,2.811,2.959,0.180,
+1.861,3.359,5.557,3.225,3.549,8.581,5.965,2.550,2.296,4.161,
+2.138,1.345,1.254,1.772,1.993,0.172,0.919,1.654,2.556,1.914,
+1.275,2.736,2.467,1.361,1.244,1.724,1.345,0.784,0.853,1.118,
+1.315,0.096,0.698,1.199,1.249,1.022,0.839,1.690,1.678,1.456,
+0.925,1.547,0.127,0.170,0.078,0.168,1.024,0.080,0.536,0.846,
+0.907,0.991,0.748,1.595,2.223,1.051,0.990,1.934,1.704,1.303,
+0.901,1.570,1.131,0.087,0.612,1.171,1.612,1.044,1.186,2.917,
+3.146,1.711,1.022,1.846,1.537,1.042,0.742,0.969,1.229,0.112,
+0.526,0.940,1.226,1.108,0.681,1.370,1.564,0.922,0.576,0.870,
+0.831,0.417,0.442,0.538,0.891,0.073,0.475,0.750,0.691,0.659,
+0.462,0.805,1.207,1.231,0.635,1.005,0.079,0.088,0.049,0.079,
+0.931,0.111,0.488,0.732,0.719,1.039,0.612,1.044,1.297,0.832,
+0.514,1.143,0.991,0.798,0.489,0.833,1.007,0.068,0.468,0.878,
+1.094,0.786,0.689,1.598,2.267,1.126,0.997,1.640,1.383,0.844,
+0.791,1.076,1.110,0.119,0.634,1.107,1.168,0.951,0.898,1.763,
+0.114,0.080,0.070,0.201,0.070,0.072,0.055,0.077,0.069,9.78e-3,
+0.057,0.083,0.093,0.097,0.077,0.125,1.222,0.972,1.303,1.221,
+0.080,0.074,0.063,0.091,1.023,0.095,0.551,0.745,0.752,0.860,
+0.859,1.090,1.088,0.566,0.698,1.024,1.069,0.684,0.693,0.975,
+0.829,0.061,0.663,0.989,0.900,0.658,0.968,1.688,2.795,1.113,
+1.304,2.041,1.365,0.813,0.756,1.006,1.332,0.111,0.617,1.140,
+1.858,1.178,0.899,2.324,2.233,1.170,1.140,1.670,1.167,0.828,
+0.760,0.952,1.018,0.071,0.734,1.285,1.415,1.205,0.915,1.849,
+1.359,1.108,1.026,1.495,0.086,0.074,0.057,0.110,0.991,0.075,
+0.618,1.039,0.953,1.066,0.989,1.864,1.771,0.921,0.981,1.688,
+1.235,0.874,0.780,1.322,1.451,0.096,1.061,1.789,2.057,1.511,
+1.811,3.486,3.806,1.879,1.421,3.211,1.548,0.998,0.903,1.306,
+1.641,0.157,0.788,1.326,2.386,1.574,0.903,2.198,2.170,1.240,
+0.811,1.518,1.147,0.661,0.643,0.852,1.428,0.103,0.667,1.142,
+1.318,1.241,0.725,1.508,1.655,1.366,0.908,1.780,0.147,0.140,
+0.086,0.226,1.035,0.100,0.571,0.929,1.006,1.278,0.735,1.565,
+2.404,1.201,1.117,2.593,1.584,1.063,0.917,1.719,1.595,0.140,
+0.899,1.846,2.228,1.523,1.575,5.034,0.218,0.158,0.089,0.184,
+0.137,0.114,0.084,0.110,0.125,0.016,0.063,0.108,0.145,0.151,
+0.080,0.160,0.142,0.112,0.062,0.105,0.104,0.085,0.063,0.088,
+0.111,0.014,0.056,0.089,0.101,0.114,0.055,0.108,0.118,0.114,
+0.064,0.117,0.013,0.013,9.02e-3,0.014,0.090,0.014,0.057,0.096,
+0.093,0.132,0.071,0.135,0.252,0.142,0.101,0.266,0.205,0.180,
+0.132,0.228,0.164,0.018,0.092,0.203,0.224,0.166,0.158,0.432,
+1.788,1.095,0.765,1.169,0.980,0.914,0.632,0.896,1.150,0.147,
+0.630,1.140,1.038,0.941,1.114,1.737,0.106,0.102,0.047,0.076,
+0.065,0.132,0.044,0.055,0.075,0.013,0.051,0.077,0.106,0.115,
+0.075,0.123,1.020,0.884,0.584,0.899,0.074,0.080,0.044,0.080,
+0.725,0.074,0.392,0.711,0.580,0.716,0.628,1.004,1.072,0.607,
+0.553,0.897,0.928,0.745,0.578,0.935,1.067,0.112,0.800,1.643,
+1.050,0.985,0.960,1.908,1.926,0.849,0.699,1.464,0.996,0.612,
+0.500,0.748,1.140,0.104,0.565,1.093,1.666,1.035,0.748,1.925,
+1.836,1.158,0.766,1.270,1.090,1.021,0.653,0.805,1.125,0.087,
+0.664,1.159,1.436,1.277,0.806,1.540,1.593,1.133,0.892,1.715,
+0.117,0.101,0.063,0.169,1.058,0.089,0.705,1.227,1.102,1.402,
+1.020,1.890,1.778,0.928,0.958,1.595,1.352,0.970,0.854,1.331,
+1.675,0.139,1.168,2.198,2.381,1.879,1.848,4.412,6.093,2.598,
+2.264,5.526,2.037,1.139,1.179,1.845,2.428,0.204,1.026,2.018,
+4.411,2.412,1.630,4.303,2.463,1.450,0.942,1.799,1.205,0.636,
+0.677,1.012,1.556,0.104,0.755,1.401,1.637,1.122,0.828,1.926,
+2.090,1.438,1.062,2.574,0.155,0.114,0.090,0.250,1.283,0.100,
+0.596,1.268,1.425,1.314,0.870,2.184,3.717,1.715,1.692,4.679,
+1.999,1.266,1.345,2.565,2.140,0.155,1.303,2.441,3.886,2.325,
+2.296,7.303,3.601,1.842,1.290,2.783,1.883,1.183,0.981,1.448,
+1.736,0.144,0.745,1.599,1.951,1.601,0.980,2.187,1.991,1.160,
+0.772,1.388,1.173,0.793,0.658,1.126,1.311,0.085,0.614,1.211,
+1.163,1.076,0.587,1.313,1.636,1.216,0.749,1.587,0.092,0.074,
+0.060,0.125,1.318,0.100,0.636,1.174,1.270,1.327,0.855,1.705,
+2.457,1.289,1.016,2.381,1.658,1.181,1.051,1.856,1.689,0.112,
+0.927,1.887,2.210,1.567,1.380,3.781,2.230,1.155,0.916,1.735,
+1.402,0.868,0.792,1.267,1.601,0.155,0.870,1.437,1.631,1.303,
+1.222,2.520,0.138,0.096,0.081,0.134,0.082,0.077,0.064,0.088,
+0.093,7.94e-3,0.069,0.110,0.130,0.129,0.091,0.178,1.302,1.074,
+0.838,1.810,0.076,0.062,0.049,0.126,1.137,0.086,0.720,1.007,
+0.981,1.032,1.438,1.663,1.421,0.917,0.882,1.740,1.356,0.939,
+0.926,1.688,1.564,0.110,1.109,2.045,1.597,1.335,1.700,3.172,
+4.918,1.728,1.635,4.144,1.785,1.151,1.300,1.482,2.273,0.174,
+1.166,2.079,3.469,2.052,1.732,4.788,2.281,1.284,1.266,1.856,
+1.359,0.943,1.036,1.175,1.468,0.090,0.922,1.619,1.987,1.530,
+1.027,2.266,2.496,1.836,1.480,2.980,0.138,0.106,0.099,0.179,
+1.923,0.116,1.121,2.081,2.180,2.126,1.981,3.279,4.813,2.053,
+2.098,4.948,2.630,1.927,2.226,3.162,3.639,0.193,2.662,4.808,
+7.200,4.234,4.532,12.0,5.596,2.961,2.700,4.834,2.734,1.676,
+1.450,2.102,2.734,0.265,1.208,1.999,3.893,3.135,1.766,3.400,
+2.714,1.619,1.132,1.513,1.511,0.893,0.875,1.003,1.606,0.114,
+0.855,1.179,1.441,1.350,1.046,1.707,1.645,1.404,0.979,1.652,
+0.111,0.104,0.077,0.163,0.994,0.086,0.566,0.820,1.091,1.223,
+0.924,1.518,2.794,1.433,1.081,2.509,1.743,1.347,1.045,1.738,
+1.801,0.129,0.901,1.467,2.284,1.577,1.647,3.484,3.406,1.878,
+1.080,1.759,1.622,1.201,0.732,0.960,1.839,0.258,0.813,1.095,
+1.565,1.827,0.778,1.555,1.783,1.062,0.627,0.850,0.981,0.579,
+0.482,0.633,1.123,0.160,0.660,0.936,0.818,0.934,0.558,0.950,
+1.150,1.240,0.603,0.891,0.080,0.073,0.054,0.079,0.908,0.090,
+0.545,0.732,0.820,1.014,0.698,1.008,1.181,0.810,0.479,1.011,
+0.965,0.773,0.481,0.799,1.081,0.084,0.618,1.002,1.080,1.050,
+0.887,1.811,1.722,0.943,0.630,1.074,1.188,0.791,0.544,0.811,
+1.110,0.124,0.448,0.814,1.106,0.983,0.711,1.579,0.129,0.092,
+0.053,0.090,0.144,0.111,0.053,0.082,0.083,0.012,0.050,0.079,
+0.102,0.134,0.077,0.142,0.745,0.668,0.480,0.714,0.062,0.050,
+0.039,0.068,0.560,0.055,0.329,0.543,0.531,0.583,0.485,0.835,
+0.784,0.534,0.425,0.812,0.808,0.695,0.508,0.824,0.781,0.072,
+0.599,0.893,0.868,0.835,0.925,1.631,2.174,1.045,0.852,1.794,
+1.014,0.598,0.488,0.736,1.249,0.127,0.565,0.931,1.680,1.220,
+0.807,2.261,1.483,1.077,0.739,1.200,0.988,0.733,0.552,0.801,
+0.824,0.064,0.598,0.942,1.033,1.046,0.736,1.341,0.872,0.738,
+0.620,1.119,0.065,0.051,0.047,0.094,0.692,0.053,0.557,0.737,
+0.782,0.791,0.741,1.271,1.423,0.850,0.703,1.659,0.893,0.693,
+0.596,1.161,1.350,0.099,0.943,1.608,2.150,1.598,1.655,3.519,
+3.418,1.837,1.506,2.436,1.876,1.240,1.084,1.385,1.257,0.119,
+0.640,1.034,1.658,1.271,0.847,1.698,1.690,1.139,0.842,1.111,
+1.108,0.698,1.227,0.979,0.858,0.078,0.582,0.852,0.752,0.730,
+0.612,1.140,1.001,0.870,0.646,0.963,0.074,0.076,0.059,0.105,
+0.580,0.058,0.448,0.581,0.577,0.697,0.574,1.100,1.384,0.756,
+0.569,1.169,1.040,0.906,0.607,0.945,0.745,0.065,0.504,0.775,
+1.215,1.073,0.880,2.095,2.092,1.356,0.674,1.109,1.286,1.179,
+0.579,0.710,0.835,0.086,0.459,0.664,0.819,0.889,0.463,0.956,
+1.257,0.822,0.455,0.594,0.643,0.194,0.387,0.428,0.593,0.070,
+0.432,0.656,0.496,0.599,0.373,0.668,0.775,0.914,0.446,0.659,
+0.056,0.076,0.038,0.062,0.628,0.092,0.531,0.641,0.480,0.798,
+0.540,0.911,0.800,0.595,0.410,0.709,0.759,0.823,0.358,0.607,
+0.653,0.056,0.436,0.711,0.718,0.669,0.620,1.352,1.493,1.006,
+0.618,0.965,1.123,0.893,0.631,0.787,0.796,0.088,0.396,0.725,
+0.765,0.731,0.558,1.169,0.067,0.084,0.049,0.090,0.060,0.113,
+0.058,0.059,0.048,0.013,0.045,0.058,0.054,0.093,0.045,0.080,
+0.755,0.834,0.561,0.737,0.072,0.152,0.045,0.075,0.516,0.057,
+0.383,0.507,0.425,0.605,0.580,0.761,0.692,0.429,0.487,0.667,
+0.815,0.905,0.603,0.797,0.649,0.057,0.500,0.763,0.700,0.600,
+0.734,1.419,1.500,0.798,0.646,1.147,0.878,0.590,0.423,0.622,
+0.767,0.067,0.406,0.695,1.151,0.714,0.561,1.560,0.985,0.760,
+0.599,1.004,0.696,0.742,0.506,0.654,0.588,0.052,0.432,0.737,
+0.627,0.756,0.520,0.932,0.794,0.804,0.606,1.051,0.064,0.067,
+0.039,0.077,0.604,0.056,0.472,0.639,0.681,0.715,0.681,1.231,
+1.061,0.609,0.545,1.119,1.000,0.748,0.559,1.004,0.965,0.071,
+0.596,0.955,1.328,1.097,1.135,2.390,2.137,1.473,1.180,2.096,
+1.204,0.874,0.612,0.945,1.117,0.108,0.553,0.921,1.413,1.118,
+0.665,1.578,1.482,1.289,0.573,0.941,0.932,0.841,0.546,0.702,
+1.129,0.113,0.610,0.981,0.854,0.993,0.622,1.156,1.036,1.221,
+0.615,1.129,0.093,0.099,0.056,0.155,0.821,0.098,0.467,0.783,
+0.648,0.928,0.557,1.251,1.605,0.829,0.608,1.544,1.054,0.824,
+0.631,1.111,1.043,0.096,0.691,1.212,1.291,0.928,1.006,2.821,
+0.105,0.095,0.050,0.092,0.098,0.129,0.058,0.074,0.077,0.015,
+0.044,0.071,0.090,0.118,0.057,0.121,0.081,0.086,0.035,0.055,
+0.089,0.161,0.061,0.073,0.086,0.013,0.055,0.077,0.060,0.088,
+0.050,0.075,0.062,0.083,0.048,0.069,8.36e-3,0.017,0.012,0.012,
+0.075,0.016,0.063,0.081,0.063,0.093,0.063,0.106,0.116,0.080,
+0.048,0.123,0.106,0.116,0.072,0.113,0.094,0.011,0.073,0.120,
+0.104,0.089,0.105,0.200,1.279,1.197,0.555,0.884,1.283,3.422,
+0.668,0.923,1.028,0.199,0.657,0.923,0.835,1.006,0.694,1.562,
+0.082,0.262,0.046,0.059,0.195,1.359,0.129,0.117,0.071,0.032,
+0.057,0.067,0.067,0.141,0.062,0.098,0.621,0.955,0.456,0.708,
+0.069,0.167,0.044,0.080,0.645,0.092,0.342,0.589,0.449,0.676,
+0.488,0.811,0.692,0.597,0.415,0.645,0.788,1.102,0.510,0.804,
+0.881,0.105,1.049,1.051,0.715,0.756,0.792,1.360,1.183,0.743,
+0.522,1.064,0.889,0.797,0.374,0.615,0.806,0.082,0.434,0.865,
+1.031,0.847,0.566,1.824,1.138,1.216,0.541,0.818,1.116,3.073,
+0.594,0.807,0.880,0.126,0.612,0.940,0.997,1.344,0.648,1.207,
+0.878,1.006,0.705,1.064,0.066,0.120,0.052,0.089,0.848,0.086,
+0.807,0.964,0.814,1.113,0.822,1.506,1.082,0.702,0.542,1.025,
+0.873,0.789,0.574,0.857,1.070,0.089,1.035,1.434,1.437,1.318,
+1.316,2.443,2.301,1.363,1.001,2.185,1.074,0.638,0.558,1.084,
+1.130,0.096,0.484,1.075,1.672,1.049,0.722,1.947,1.453,2.657,
+0.611,0.965,0.678,0.501,0.402,0.675,0.793,0.089,0.421,0.837,
+0.845,0.637,0.451,1.081,0.942,0.934,0.440,1.020,0.064,0.053,
+0.033,0.105,0.583,0.051,0.318,0.647,0.618,0.626,0.426,1.069,
+1.428,0.802,0.628,1.699,0.849,0.540,0.503,1.118,0.923,0.065,
+0.521,1.099,1.516,0.941,0.967,2.856,1.748,1.045,0.669,1.327,
+1.080,0.809,0.607,0.855,1.007,0.104,0.489,1.033,1.089,1.182,
+0.547,1.408,1.120,0.920,0.397,0.701,0.822,0.623,0.402,0.658,
+0.842,0.078,0.447,0.992,0.716,0.781,0.462,1.132,0.724,0.709,
+0.414,0.760,0.047,0.051,0.033,0.072,0.708,0.072,0.561,0.857,
+0.750,0.821,0.559,1.102,0.996,0.705,0.513,1.140,0.847,0.716,
+0.529,1.013,0.889,0.067,0.643,1.113,1.089,0.874,0.871,2.043,
+1.167,0.737,0.536,0.967,0.751,0.823,0.499,0.754,0.967,0.114,
+0.543,0.970,0.965,0.903,0.788,1.739,0.061,0.084,0.037,0.063,
+0.054,0.167,0.053,0.057,0.044,6.43e-3,0.038,0.061,0.066,0.083,
+0.053,0.108,0.662,0.649,0.440,1.108,0.040,0.051,0.031,0.136,
+0.650,0.057,0.366,0.658,0.578,0.677,0.628,0.998,0.808,0.642,
+0.487,0.948,0.822,0.702,0.542,1.226,0.912,0.082,0.739,1.161,
+0.930,0.942,1.031,1.912,1.632,0.937,0.772,1.611,0.779,0.575,
+0.479,0.628,1.108,0.101,0.591,1.169,1.384,0.943,0.887,2.427,
+1.148,0.802,0.578,1.024,0.728,0.768,0.512,0.711,0.751,0.053,
+0.519,0.891,0.997,0.843,0.701,1.394,1.254,1.108,0.767,1.488,
+0.065,0.066,0.048,0.114,0.993,0.077,0.708,1.189,1.203,1.296,
+1.037,1.966,2.040,1.092,0.993,2.118,1.384,1.149,1.246,1.649,
+1.701,0.114,1.606,2.402,2.900,2.239,2.689,4.338,4.256,2.321,
+1.923,3.772,2.348,1.515,1.401,1.927,2.072,0.218,0.896,1.502,
+3.407,2.623,1.319,2.777,1.996,1.103,0.682,1.141,1.180,0.732,
+0.724,0.868,1.300,0.265,0.587,0.820,1.185,1.326,0.690,1.275,
+1.468,1.159,0.771,1.376,0.118,0.088,0.066,0.170,0.903,0.083,
+0.494,0.798,0.984,1.097,0.845,1.369,2.287,1.407,0.846,1.998,
+1.592,1.105,0.834,1.574,1.366,0.117,0.726,1.163,1.881,1.175,
+1.362,2.847,3.531,1.799,1.141,2.127,1.799,1.296,1.001,1.318,
+1.803,0.404,0.628,1.038,1.937,2.846,0.759,1.893,1.749,1.252,
+0.619,1.003,1.033,0.720,0.607,0.782,4.288,2.231,0.900,1.281,
+1.363,3.423,0.575,1.085,1.474,1.485,0.819,1.287,0.122,0.096,
+0.070,0.137,1.139,0.153,0.594,0.990,0.960,1.229,0.963,1.267,
+1.632,1.034,0.651,1.447,1.734,1.070,0.744,1.373,1.347,0.146,
+0.669,1.225,1.445,1.244,1.290,2.515,2.121,0.933,0.790,1.390,
+1.483,0.992,1.051,1.234,1.701,0.182,0.623,0.988,1.639,1.277,
+0.867,2.111,0.153,0.112,0.069,0.132,0.137,0.106,0.107,0.134,
+0.171,0.038,0.073,0.103,0.200,0.281,0.111,0.233,0.850,0.665,
+0.622,0.914,0.081,0.055,0.054,0.116,0.609,0.062,0.341,0.540,
+0.591,0.737,0.546,0.855,0.995,0.517,0.510,0.944,1.216,0.789,
+0.716,1.306,0.832,0.078,0.722,0.930,1.192,0.887,0.924,1.726,
+3.255,1.273,1.110,2.541,1.381,1.040,0.899,1.298,1.847,0.179,
+0.714,1.239,3.142,1.927,1.138,3.398,2.013,1.200,0.872,1.384,
+1.359,0.908,1.051,1.213,1.493,0.146,0.750,1.128,1.941,1.571,
+0.958,1.997,1.267,0.992,0.850,1.453,0.107,0.073,0.072,0.147,
+0.911,0.081,0.652,1.029,1.146,1.212,1.053,1.795,2.489,1.251,
+1.107,2.443,1.477,0.918,0.974,1.794,1.866,0.143,1.646,2.320,
+4.074,2.392,2.920,6.222,0.272,0.153,0.107,0.190,0.185,0.126,
+0.113,0.164,0.134,0.016,0.054,0.098,0.190,0.145,0.087,0.188,
+0.173,0.105,0.079,0.117,0.112,0.080,0.095,0.119,0.089,0.015,
+0.056,0.082,0.087,0.105,0.069,0.123,0.112,0.093,0.057,0.105,
+0.012,0.014,0.011,0.020,0.065,9.11e-3,0.047,0.078,0.069,0.088,
+0.066,0.119,0.152,0.106,0.071,0.151,0.154,0.130,0.086,0.159,
+0.096,0.010,0.058,0.103,0.143,0.102,0.109,0.258,0.243,0.153,
+0.086,0.151,0.158,0.138,0.099,0.122,0.113,0.017,0.046,0.082,
+0.106,0.139,0.061,0.134,0.161,0.109,0.066,0.096,0.108,0.077,
+0.076,0.094,0.183,0.068,0.061,0.089,0.084,0.157,0.051,0.102,
+0.121,0.150,0.073,0.121,0.013,0.018,0.012,0.017,0.103,0.022,
+0.062,0.089,0.071,0.131,0.093,0.130,0.150,0.109,0.064,0.138,
+0.177,0.124,0.083,0.134,0.109,0.011,0.066,0.103,0.120,0.108,
+0.108,0.239,0.157,0.082,0.057,0.091,0.121,0.099,0.111,0.121,
+0.112,0.018,0.054,0.078,0.099,0.107,0.074,0.169,9.69e-3,0.011,
+6.27e-3,0.012,9.28e-3,0.012,0.013,0.010,7.77e-3,4.43e-3,0.011,0.010,
+0.011,0.018,9.19e-3,0.015,0.085,0.082,0.094,0.105,0.010,0.014,
+0.011,0.013,0.071,0.014,0.045,0.063,0.068,0.136,0.077,0.099,
+0.124,0.055,0.063,0.100,0.122,0.090,0.097,0.137,0.083,9.53e-3,
+0.071,0.102,0.103,0.090,0.103,0.191,0.309,0.192,0.145,0.230,
+0.171,0.140,0.122,0.157,0.168,0.021,0.077,0.139,0.266,0.203,
+0.160,0.396,0.258,0.167,0.145,0.206,0.199,0.146,0.169,0.193,
+0.173,0.018,0.113,0.161,0.210,0.211,0.160,0.273,0.121,0.099,
+0.102,0.141,0.013,0.012,9.19e-3,0.019,0.105,0.011,0.080,0.124,
+0.122,0.145,0.136,0.224,0.247,0.139,0.126,0.241,0.178,0.119,
+0.130,0.215,0.175,0.015,0.146,0.225,0.347,0.234,0.268,0.562,
+2.383,1.243,0.884,1.737,1.148,0.820,0.638,1.019,1.062,0.101,
+0.517,0.834,1.159,0.865,0.542,1.229,1.317,1.029,0.524,0.879,
+0.859,0.720,0.607,0.704,0.957,0.104,0.604,0.938,0.758,0.886,
+0.524,1.098,1.416,0.994,0.692,1.253,0.132,0.118,0.096,0.211,
+1.045,0.094,0.578,0.912,0.783,1.022,0.649,1.226,1.288,0.772,
+0.607,1.559,1.115,0.851,0.652,1.453,1.058,0.095,0.652,1.343,
+1.359,0.973,0.977,2.530,0.157,0.116,0.064,0.132,0.111,0.108,
+0.076,0.122,0.085,0.015,0.045,0.071,0.085,0.104,0.050,0.114,
+0.096,0.076,0.038,0.058,0.079,0.076,0.059,0.071,0.104,0.040,
+0.055,0.079,0.058,0.100,0.037,0.074,0.114,0.108,0.063,0.091,
+0.013,0.018,0.015,0.016,0.082,0.015,0.069,0.102,0.065,0.093,
+0.060,0.098,0.152,0.093,0.070,0.168,0.145,0.132,0.085,0.187,
+0.103,0.013,0.070,0.143,0.119,0.093,0.090,0.206,1.419,0.957,
+0.598,0.951,1.073,1.228,0.832,1.466,0.956,0.146,0.607,0.853,
+0.734,0.757,0.690,1.287,0.091,0.101,0.056,0.071,0.078,0.139,
+0.077,0.084,0.077,0.016,0.079,0.086,0.070,0.101,0.065,0.100,
+0.860,0.756,0.518,0.719,0.090,0.080,0.066,0.094,0.791,0.080,
+0.235,0.455,0.440,0.569,0.544,0.734,0.805,0.496,0.437,0.648,
+0.998,0.710,0.592,0.840,0.847,0.084,0.710,0.961,0.714,0.701,
+0.815,1.331,1.408,0.797,0.646,1.222,0.859,0.641,0.438,0.735,
+0.917,0.100,0.594,0.885,1.103,0.868,0.629,1.451,1.310,1.014,
+0.675,0.958,1.061,1.065,0.695,0.793,0.935,0.101,0.727,1.011,
+0.996,1.110,0.759,1.271,1.027,0.870,0.771,1.203,0.104,0.102,
+0.076,0.138,1.134,0.100,1.104,1.353,0.920,1.247,1.119,1.572,
+1.309,0.705,0.684,1.260,1.101,0.901,0.682,1.136,1.332,0.107,
+1.158,1.707,1.623,1.420,1.533,2.743,2.665,1.213,0.948,2.098,
+1.137,0.689,0.658,1.095,1.044,0.104,0.480,0.908,1.587,1.090,
+0.725,1.916,1.268,0.837,0.489,0.863,0.678,0.450,0.426,0.674,
+0.700,0.054,0.369,0.889,0.731,0.605,0.424,1.045,1.162,0.923,
+0.558,1.216,0.089,0.075,0.056,0.160,0.781,0.072,0.408,0.837,
+0.938,0.905,0.602,1.280,1.740,1.039,0.805,1.954,1.117,0.755,
+0.714,1.748,1.054,0.081,0.577,1.284,2.099,1.185,1.098,3.131,
+2.440,1.464,0.983,2.167,1.555,1.089,1.114,1.491,1.075,0.105,
+0.560,1.052,1.355,1.247,0.660,1.904,1.370,0.911,0.518,0.983,
+0.961,0.747,0.653,1.061,0.915,0.109,0.550,0.970,0.774,0.832,
+0.501,1.085,1.377,1.307,0.688,1.221,0.084,0.088,0.060,0.124,
+0.930,0.096,0.632,1.165,0.922,1.150,0.794,1.465,1.642,1.215,
+0.894,1.827,1.393,1.108,0.912,1.775,1.174,0.094,0.712,1.507,
+1.497,1.239,1.027,2.581,1.694,0.976,0.799,1.123,1.156,0.920,
+0.930,1.225,1.029,0.122,0.633,1.066,1.120,1.024,1.018,2.029,
+0.102,0.092,0.054,0.083,0.077,0.123,0.071,0.093,0.068,9.78e-3,
+0.061,0.088,0.093,0.110,0.074,0.147,0.974,0.912,0.636,1.050,
+0.075,0.069,0.052,0.114,0.928,0.080,0.544,0.883,0.807,0.936,
+0.874,1.270,1.188,0.733,0.634,1.137,1.319,0.941,0.969,1.784,
+1.170,0.092,0.946,1.604,1.274,1.086,1.405,2.452,2.577,1.165,
+1.318,2.169,1.218,0.832,0.852,1.036,1.381,0.160,0.759,1.390,
+1.787,1.208,1.040,3.023,1.684,1.154,0.743,1.205,1.070,0.889,
+0.755,0.976,1.003,0.071,0.735,1.202,1.228,1.020,0.854,1.785,
+1.497,1.246,1.052,1.853,0.107,0.097,0.076,0.160,1.476,0.108,
+1.065,1.939,1.561,1.727,1.557,2.514,2.681,1.317,1.205,2.815,
+1.846,1.468,1.273,2.211,2.263,0.145,1.700,3.193,3.810,2.627,
+2.838,5.856,6.017,3.402,3.148,6.461,3.280,1.845,1.637,2.517,
+3.155,0.243,1.214,2.319,5.257,3.490,1.954,5.043,2.967,1.366,
+0.969,1.580,1.687,1.070,0.783,1.019,1.641,0.143,0.839,1.092,
+1.682,1.694,0.769,1.565,2.260,1.407,1.083,2.008,0.149,0.097,
+0.072,0.198,1.223,0.090,0.669,1.140,1.414,1.319,0.952,1.970,
+4.183,2.024,1.693,3.670,2.225,1.310,1.142,2.204,2.109,0.146,
+1.281,2.097,3.781,2.093,2.056,5.851,3.270,1.497,1.112,2.106,
+1.652,0.834,0.693,1.017,1.436,0.155,0.530,1.002,1.845,1.793,
+0.732,2.116,1.598,0.909,0.613,1.004,0.772,0.435,0.409,0.659,
+1.682,0.478,0.549,0.807,1.112,1.288,0.550,1.060,1.801,1.680,
+0.923,1.403,0.088,0.066,0.056,0.095,1.139,0.086,0.498,0.846,
+1.152,1.093,0.859,1.377,1.766,1.108,0.750,1.647,1.122,0.707,
+0.555,1.056,1.320,0.080,0.620,1.173,1.653,1.138,1.112,3.212,
+2.632,1.059,1.023,1.868,1.451,0.790,0.828,1.326,1.743,0.156,
+0.655,1.248,2.481,1.525,1.012,2.995,0.177,0.093,0.080,0.138,
+0.105,0.069,0.066,0.111,0.126,0.013,0.058,0.106,0.242,0.206,
+0.097,0.248,1.227,0.891,0.849,1.251,0.084,0.052,0.052,0.111,
+0.937,0.067,0.439,0.741,1.025,0.900,0.871,1.318,1.411,0.698,
+0.814,1.496,1.199,0.734,0.716,1.402,1.160,0.078,0.706,1.305,
+1.670,1.153,1.344,3.092,5.033,1.777,1.736,4.366,1.764,1.028,
+1.039,1.778,2.827,0.214,1.153,2.091,7.397,3.133,1.950,6.698,
+2.667,1.278,1.100,1.834,1.376,0.798,0.850,1.252,1.839,0.108,
+0.981,1.547,2.848,1.998,1.227,2.700,1.905,1.363,1.194,2.065,
+0.112,0.081,0.075,0.154,1.488,0.093,0.915,1.644,1.806,1.608,
+1.471,2.567,3.694,1.667,1.696,4.044,1.916,1.139,1.227,2.265,
+2.646,0.165,1.805,3.196,5.740,3.331,3.591,9.243,3.967,1.899,
+1.551,3.169,2.032,1.176,1.101,1.560,1.699,0.127,0.632,1.234,
+2.585,1.706,1.075,2.394,2.094,1.050,0.904,1.396,1.214,0.728,
+0.813,0.948,0.973,0.078,0.581,0.921,1.019,0.948,0.667,1.320,
+1.431,1.088,0.799,1.426,0.093,0.077,0.056,0.136,0.851,0.080,
+0.523,1.010,0.992,1.001,0.752,1.553,1.820,0.985,0.844,1.764,
+1.470,1.001,0.788,1.479,1.071,0.088,0.639,1.130,1.822,1.078,
+1.215,2.996,2.509,1.318,0.804,1.563,1.383,1.012,0.711,0.941,
+0.929,0.086,0.378,0.780,1.155,1.039,0.535,1.368,1.430,0.930,
+0.604,0.940,0.864,0.569,0.501,0.776,0.794,0.087,0.460,0.748,
+0.747,0.697,0.480,0.950,1.118,1.164,0.593,1.050,0.074,0.080,
+0.046,0.077,0.942,0.107,0.481,0.806,0.884,1.350,0.711,1.302,
+1.307,0.849,0.572,1.241,1.090,0.834,0.522,0.909,0.884,0.063,
+0.450,0.832,1.147,0.861,0.784,2.165,2.149,0.860,0.766,1.294,
+1.224,0.716,0.952,1.061,1.106,0.111,0.482,0.809,1.415,1.054,
+0.831,1.919,0.096,0.060,0.048,0.092,0.068,0.060,0.070,0.078,
+0.057,6.85e-3,0.047,0.065,0.097,0.112,0.068,0.127,1.166,1.015,
+0.826,1.150,0.076,0.065,0.058,0.097,0.804,0.076,0.480,0.728,
+0.817,1.010,0.831,1.345,1.560,0.671,0.698,1.269,1.192,0.760,
+0.818,1.234,0.934,0.067,0.620,1.079,1.274,0.889,1.115,2.330,
+2.993,1.404,1.316,2.499,1.376,0.804,0.848,1.174,1.484,0.124,
+0.743,1.225,2.544,1.632,1.313,3.440,2.122,1.128,1.068,1.622,
+1.201,0.840,0.929,1.168,1.263,0.097,0.939,1.257,1.744,1.744,
+1.329,2.095,1.336,1.059,0.997,1.704,0.088,0.065,0.060,0.120,
+1.106,0.078,0.739,1.306,1.286,1.332,1.207,2.292,2.408,1.095,
+1.184,2.421,1.633,0.967,1.072,1.698,1.695,0.104,1.196,2.013,
+3.064,1.968,2.218,5.055,3.103,1.565,1.139,2.595,1.386,0.895,
+0.707,1.265,1.364,0.106,0.587,1.151,1.810,1.230,0.786,2.025,
+1.908,1.288,0.773,1.581,1.112,0.780,0.632,0.849,1.371,0.101,
+0.704,1.178,1.291,1.215,0.779,1.713,1.603,1.397,0.888,1.688,
+0.145,0.125,0.079,0.207,1.293,0.106,0.702,1.105,1.131,1.350,
+0.853,1.669,1.829,1.020,0.784,1.892,1.468,0.951,0.745,1.450,
+1.787,0.136,0.945,1.817,2.505,1.457,1.442,3.995,0.170,0.128,
+0.072,0.161,0.118,0.098,0.077,0.114,0.087,0.011,0.047,0.085,
+0.120,0.115,0.071,0.173,0.104,0.078,0.045,0.075,0.084,0.082,
+0.051,0.064,0.083,0.011,0.060,0.074,0.084,0.084,0.053,0.099,
+0.103,0.105,0.059,0.095,0.010,0.013,7.27e-3,0.012,0.100,0.012,
+0.068,0.099,0.090,0.117,0.079,0.130,0.161,0.105,0.073,0.172,
+0.147,0.128,0.077,0.161,0.136,0.013,0.070,0.160,0.179,0.131,
+0.112,0.284,1.876,1.056,0.739,1.267,1.178,1.107,0.804,1.359,
+1.169,0.154,0.727,1.093,1.181,1.208,1.041,2.504,0.102,0.089,
+0.045,0.078,0.067,0.131,0.050,0.061,0.080,0.010,0.071,0.069,
+0.107,0.131,0.078,0.155,1.104,1.208,0.717,1.128,0.087,0.083,
+0.061,0.101,1.275,0.108,0.497,0.768,0.841,1.017,0.901,1.213,
+1.388,0.764,0.673,1.079,1.234,1.022,0.834,1.163,1.453,0.105,
+0.926,1.329,1.356,1.175,1.334,2.413,2.173,1.047,0.850,1.820,
+1.082,0.738,0.597,0.993,1.312,0.112,0.847,1.299,1.814,1.259,
+1.150,2.652,2.152,1.365,0.983,1.594,1.253,1.191,0.856,0.964,
+1.486,0.108,0.980,1.365,1.975,1.746,1.268,2.205,1.859,1.555,
+1.283,2.278,0.130,0.120,0.081,0.152,1.788,0.122,1.238,1.789,
+1.751,2.005,1.614,2.568,2.177,1.174,1.220,2.119,1.629,1.295,
+1.068,1.665,2.240,0.155,1.789,2.704,2.975,2.489,2.686,5.401,
+6.472,2.499,2.023,4.819,2.216,1.265,1.321,2.113,2.259,0.182,
+0.968,2.242,4.224,2.239,1.667,4.539,2.466,1.413,0.847,1.697,
+1.264,0.790,0.720,1.157,1.558,0.105,0.728,1.462,1.636,1.188,
+1.023,2.146,2.222,1.676,1.130,2.546,0.151,0.132,0.092,0.238,
+1.480,0.129,0.766,1.517,2.085,1.837,1.187,2.603,4.146,1.944,
+1.796,4.393,2.303,1.391,1.337,2.745,2.438,0.175,1.443,2.905,
+8.292,3.283,2.784,10.2,3.281,1.838,1.362,2.999,2.122,1.355,
+1.463,1.987,1.412,0.119,0.708,1.590,2.052,1.536,1.080,3.044,
+1.800,1.000,0.648,1.237,1.094,0.699,0.629,0.975,1.178,0.083,
+0.828,1.233,1.211,1.088,0.888,1.539,1.674,1.408,0.879,1.760,
+0.095,0.117,0.055,0.137,1.344,0.113,0.753,1.451,1.642,1.739,
+1.059,2.196,2.295,1.394,1.146,2.578,1.824,1.303,0.992,2.074,
+1.654,0.116,0.939,2.004,2.727,2.212,1.561,4.416,3.133,1.632,
+1.613,2.382,2.001,1.331,1.577,2.129,2.217,0.207,1.054,2.175,
+2.695,1.972,1.999,5.134,0.164,0.118,0.087,0.141,0.111,0.101,
+0.093,0.116,0.098,9.28e-3,0.071,0.130,0.207,0.187,0.121,0.289,
+1.971,1.694,1.306,2.267,0.114,0.092,0.075,0.177,1.781,0.133,
+0.952,1.664,1.878,1.859,1.657,2.928,2.727,1.645,1.466,2.557,
+2.304,1.564,1.566,2.739,2.397,0.159,1.632,3.131,2.900,2.074,
+2.631,5.694,7.534,2.616,2.802,5.769,2.814,1.692,1.642,2.479,
+3.314,0.233,1.694,3.552,5.608,3.343,3.035,13.6,4.074,2.272,
+1.626,2.817,2.573,1.888,1.481,2.009,2.778,0.165,1.635,2.851,
+3.794,2.751,2.136,5.143,4.246,3.179,2.972,5.317,0.205,0.166,
+0.138,0.311,3.605,0.231,2.360,4.518,4.571,4.647,4.173,7.761,
+9.789,4.229,4.182,10.9,5.276,3.286,3.279,6.106,6.127,0.317,
+4.608,9.183,13.7,7.113,8.348,17.1,5.539,2.953,2.736,5.322,
+3.501,1.979,1.739,2.604,3.768,0.353,1.692,2.807,5.190,3.684,
+2.271,4.097,3.516,1.935,1.432,2.083,1.988,1.131,1.100,1.218,
+2.261,0.156,1.136,1.581,1.962,1.704,1.219,2.023,2.484,1.764,
+1.331,2.101,0.198,0.197,0.115,0.268,1.788,0.171,0.934,1.258,
+1.540,1.721,1.225,2.025,4.306,1.866,1.782,3.988,2.896,1.847,
+1.625,3.183,2.501,0.194,1.445,2.278,3.282,2.092,2.178,4.241,
+3.883,1.930,1.357,2.261,2.254,1.497,0.993,1.384,2.093,0.201,
+0.870,1.405,1.848,1.839,0.951,1.810,2.288,1.445,0.937,1.483,
+1.299,0.806,0.687,0.915,1.517,0.125,0.792,1.109,1.095,1.130,
+0.735,1.142,1.519,1.309,0.780,1.208,0.126,0.111,0.065,0.111,
+1.644,0.151,0.834,1.069,0.975,1.370,0.848,1.268,1.513,0.986,
+0.723,1.483,1.415,1.013,0.706,1.227,1.855,0.142,1.018,1.535,
+1.453,1.339,1.187,2.282,2.256,1.205,1.048,1.560,1.447,0.846,
+0.721,1.078,1.551,0.207,0.808,1.326,1.513,1.307,1.090,2.103,
+0.158,0.112,0.071,0.119,0.109,0.084,0.066,0.095,0.136,0.030,
+0.106,0.129,0.151,0.219,0.120,0.221,1.093,1.109,0.683,1.018,
+0.102,0.138,0.060,0.100,2.117,0.627,0.687,0.874,0.872,1.595,
+0.739,0.933,1.248,0.784,0.669,1.074,1.302,0.975,0.753,1.185,
+1.711,0.249,2.292,1.539,1.224,1.464,1.546,2.105,3.655,1.442,
+1.214,2.493,1.647,1.106,0.833,1.227,1.614,0.176,0.827,1.372,
+2.537,1.745,1.335,3.258,2.933,1.464,1.046,1.470,1.524,0.936,
+0.815,1.068,1.471,0.126,1.010,1.399,1.639,1.635,1.193,2.229,
+1.407,1.324,0.925,1.817,0.119,0.106,0.074,0.154,1.531,0.172,
+0.909,1.402,1.381,1.705,1.159,1.741,2.514,1.288,1.170,2.658,
+1.606,1.084,1.083,2.189,2.032,0.165,1.601,2.398,2.752,2.447,
+2.633,5.191,3.796,2.348,1.970,3.322,2.086,1.558,1.378,1.765,
+1.776,0.181,1.253,1.573,1.854,1.689,1.240,2.257,2.047,1.681,
+1.025,1.353,1.368,0.978,1.417,1.066,1.205,0.108,0.787,1.089,
+0.940,1.032,0.816,1.479,1.685,3.336,0.910,1.243,0.278,0.890,
+0.121,0.188,2.411,0.221,0.713,0.943,1.017,1.297,0.814,1.385,
+1.873,1.226,0.887,1.709,1.925,2.374,0.961,1.476,1.322,0.143,
+0.708,1.216,1.430,1.057,1.230,2.535,2.620,1.823,1.164,1.709,
+1.449,1.344,0.887,1.003,1.407,0.151,0.665,1.051,1.093,1.223,
+0.670,1.506,1.502,1.263,0.692,0.864,1.125,0.665,0.694,0.712,
+1.159,0.112,0.683,0.947,0.747,1.038,0.613,0.998,1.152,1.678,
+0.685,0.947,0.108,0.216,0.068,0.094,1.857,0.223,0.664,1.102,
+0.944,1.981,0.826,1.268,1.056,0.877,0.536,1.104,1.172,1.194,
+0.558,0.843,1.565,0.142,0.613,1.107,1.061,1.076,0.802,1.768,
+1.662,1.150,0.787,1.120,1.255,0.925,0.801,1.054,1.084,0.147,
+0.969,1.169,0.847,0.910,1.196,1.523,0.088,0.105,0.065,0.096,
+0.073,0.093,0.078,0.079,0.097,0.021,0.087,0.108,0.075,0.136,
+0.094,0.117,1.000,1.124,1.307,0.928,0.138,0.128,0.090,0.095,
+2.571,0.282,0.719,0.906,0.946,1.451,0.912,0.984,0.896,0.577,
+0.547,0.845,1.152,1.047,0.782,0.989,1.393,0.127,0.975,1.162,
+0.758,0.850,1.117,1.548,1.719,0.884,0.744,1.272,1.020,0.817,
+0.805,0.866,0.898,0.085,0.591,0.848,1.110,0.872,0.794,1.485,
+1.408,1.067,0.802,1.042,0.937,0.848,0.638,0.795,0.880,0.083,
+0.817,1.036,0.792,1.129,0.860,1.279,0.997,1.116,0.809,1.158,
+0.084,0.110,0.055,0.102,1.199,0.103,0.698,1.024,0.822,1.118,
+0.982,1.512,1.568,0.831,0.765,1.333,1.262,0.985,0.732,1.416,
+1.391,0.100,1.014,1.589,1.562,1.588,1.671,3.068,2.441,1.599,
+1.100,2.329,1.058,0.887,0.636,1.003,1.033,0.120,0.510,0.927,
+1.313,1.160,0.614,1.438,1.521,1.227,0.643,1.207,0.866,0.669,
+0.546,0.729,1.048,0.114,0.587,0.914,0.866,1.073,0.608,1.296,
+0.989,1.071,0.684,1.362,0.101,0.122,0.076,0.198,0.828,0.090,
+0.458,0.758,0.655,0.935,0.594,1.123,1.348,0.790,0.733,1.577,
+1.065,0.848,0.641,1.181,1.129,0.112,0.675,1.360,1.328,1.216,
+1.145,3.190,0.131,0.117,0.069,0.125,0.093,0.102,0.063,0.094,
+0.088,0.018,0.042,0.075,0.097,0.123,0.059,0.119,0.114,0.136,
+0.060,0.076,0.093,0.103,0.069,0.072,0.101,0.017,0.067,0.087,
+0.077,0.114,0.057,0.105,0.074,0.101,0.051,0.082,8.86e-3,0.017,
+0.011,0.012,0.095,0.015,0.061,0.078,0.069,0.124,0.065,0.101,
+0.120,0.097,0.065,0.134,0.144,0.155,0.088,0.148,0.154,0.022,
+0.093,0.147,0.137,0.143,0.116,0.265,1.380,0.827,0.629,0.828,
+0.783,0.825,0.501,0.616,1.014,0.146,0.505,0.797,0.794,0.809,
+0.582,1.100,0.094,0.093,0.046,0.066,0.057,0.087,0.048,0.042,
+0.085,0.017,0.056,0.077,0.087,0.124,0.064,0.098,0.738,0.997,
+0.541,0.734,0.062,0.080,0.054,0.072,0.777,0.108,0.365,0.636,
+0.475,0.799,0.576,0.867,0.803,0.552,0.455,0.690,0.753,0.763,
+0.556,0.759,1.297,0.253,1.160,1.188,0.810,1.270,0.950,1.471,
+1.254,0.673,0.483,1.020,0.730,0.527,0.350,0.529,0.856,0.083,
+0.395,0.798,1.155,0.843,0.539,1.465,1.351,0.945,0.616,0.965,
+0.913,0.835,0.538,0.628,0.982,0.086,0.614,0.906,1.034,1.167,
+0.682,1.180,0.993,1.036,0.957,1.117,0.090,0.095,0.064,0.110,
+1.125,0.105,0.652,1.044,0.922,1.244,0.901,1.532,1.346,0.792,
+0.776,1.181,1.041,0.966,0.785,1.096,1.504,0.151,1.316,1.980,
+1.731,1.808,1.700,3.352,2.933,1.634,1.235,2.823,1.211,0.828,
+0.695,1.073,1.225,0.124,0.545,1.147,1.843,1.388,0.834,2.177,
+1.495,0.954,0.661,1.169,0.887,0.542,0.470,0.785,0.987,0.073,
+0.408,0.846,0.852,0.816,0.505,1.168,1.114,1.045,0.622,1.531,
+0.111,0.126,0.063,0.172,0.843,0.068,0.361,0.746,0.779,0.857,
+0.529,1.218,1.866,0.962,0.913,2.233,1.265,0.938,0.769,1.507,
+1.163,0.095,0.671,1.363,1.881,1.394,1.289,3.679,2.328,1.456,
+1.010,1.859,1.332,1.009,0.711,1.064,1.249,0.130,0.613,1.141,
+1.247,1.372,0.737,1.505,1.438,1.082,0.884,1.141,1.166,0.909,
+0.771,0.858,1.033,0.114,0.551,0.976,0.854,1.094,0.560,1.060,
+0.957,0.956,0.518,0.971,0.077,0.088,0.054,0.100,0.970,0.101,
+0.522,0.927,0.895,1.225,0.674,1.244,1.258,0.939,0.630,1.344,
+1.234,1.038,0.800,1.327,1.218,0.103,0.700,1.351,1.376,1.353,
+1.073,2.388,1.319,0.806,0.541,1.055,0.898,0.632,0.511,0.848,
+1.014,0.142,0.572,0.996,0.971,1.076,0.811,1.702,0.100,0.071,
+0.046,0.115,0.061,0.055,0.046,0.063,0.080,0.014,0.061,0.089,
+0.087,0.142,0.080,0.134,0.750,0.862,0.560,0.979,0.053,0.057,
+0.061,0.096,0.847,0.088,0.448,0.726,0.639,0.958,0.787,1.092,
+0.879,0.625,0.524,1.156,0.928,0.810,0.682,1.221,1.237,0.161,
+0.914,1.371,1.074,1.363,1.188,2.226,2.377,0.987,0.785,1.878,
+1.072,0.696,0.597,0.924,1.321,0.112,0.607,1.386,1.861,1.304,
+0.973,2.733,1.428,1.052,0.748,1.687,1.026,0.650,0.656,0.910,
+1.051,0.077,0.592,1.116,1.123,1.226,0.753,1.572,1.403,1.343,
+0.855,1.701,0.108,0.091,0.069,0.138,1.692,0.122,0.779,1.504,
+1.462,1.650,1.337,2.455,2.558,1.352,1.227,2.852,1.907,1.587,
+1.722,2.264,2.451,0.161,1.746,3.401,3.713,3.070,3.148,7.146,
+4.190,2.614,2.385,3.897,2.529,1.821,1.411,1.838,2.618,0.286,
+1.162,1.955,2.992,2.556,1.431,2.675,2.671,1.807,1.278,1.555,
+1.747,1.229,1.493,1.183,1.707,0.146,1.045,1.357,1.379,1.393,
+1.032,1.585,1.251,1.115,0.952,1.269,0.113,0.103,0.104,0.160,
+1.086,0.100,0.679,0.801,0.863,1.157,0.872,1.338,1.974,1.184,
+0.883,1.888,1.471,1.222,0.986,1.498,1.596,0.146,0.914,1.328,
+1.804,1.393,1.445,2.827,3.231,1.994,1.181,1.921,1.891,1.553,
+0.934,1.159,1.859,0.274,0.973,1.274,1.435,1.668,0.761,1.559,
+1.986,1.721,0.883,1.149,1.363,1.155,0.831,0.970,1.334,0.188,
+1.021,1.518,0.943,1.432,0.695,1.177,1.036,1.187,0.716,0.926,
+0.097,0.122,0.131,0.101,1.122,0.138,0.815,0.955,0.728,1.267,
+0.835,1.072,0.976,0.784,0.535,0.840,1.074,0.984,0.903,0.863,
+1.327,0.110,0.779,1.149,1.018,1.127,0.941,1.764,1.457,1.099,
+0.616,0.923,1.074,0.816,0.667,0.854,1.134,0.145,0.570,0.809,
+0.919,0.898,0.720,1.355,0.086,0.102,0.059,0.082,0.087,0.095,
+0.072,0.080,0.085,0.021,0.066,0.089,0.085,0.148,0.083,0.135,
+0.642,0.702,0.527,0.598,0.060,0.058,0.056,0.074,0.663,0.085,
+0.421,0.577,0.445,0.641,0.556,0.658,0.663,0.565,0.424,0.653,
+0.826,0.757,0.507,0.758,0.888,0.109,0.720,0.949,0.862,1.049,
+1.356,1.602,1.973,0.912,0.665,1.361,0.885,0.566,0.460,0.708,
+0.974,0.095,0.494,0.754,1.497,1.118,0.767,1.996,1.424,1.057,
+0.702,1.020,1.071,0.893,0.605,0.779,0.899,0.094,0.730,0.976,
+0.859,1.139,0.781,1.266,0.760,0.730,0.641,1.167,0.060,0.058,
+0.056,0.098,0.747,0.070,0.558,0.829,0.633,0.906,0.743,1.161,
+1.327,0.953,0.762,1.502,0.871,0.802,0.622,1.125,1.283,0.124,
+0.933,1.423,1.752,1.806,1.718,3.452,3.108,1.998,1.492,2.369,
+2.059,1.687,1.774,1.595,1.342,0.145,0.805,1.182,1.378,1.323,
+0.862,1.555,1.982,1.487,1.464,1.301,1.794,1.568,5.598,1.856,
+1.060,0.146,1.037,1.136,0.811,1.041,0.895,1.239,0.895,0.941,
+0.712,0.911,0.091,0.117,0.133,0.122,0.832,0.083,0.593,0.694,
+0.757,0.829,0.671,0.993,1.108,0.670,0.570,1.107,1.104,1.049,
+0.881,0.961,0.839,0.080,0.613,0.840,1.591,0.916,0.934,1.922,
+2.794,2.008,0.950,1.337,1.696,1.926,0.944,0.996,1.226,0.161,
+0.904,1.101,0.985,1.292,0.670,1.353,2.027,1.587,0.869,1.040,
+1.120,0.703,0.849,0.854,1.163,0.241,0.833,1.147,0.855,1.505,
+0.687,1.142,0.875,1.240,0.630,0.850,0.100,0.207,0.094,0.098,
+1.092,0.178,0.663,0.917,0.637,1.376,0.810,1.108,0.892,0.782,
+0.551,0.838,1.140,1.550,0.676,0.881,1.017,0.119,0.744,1.072,
+0.838,1.064,0.837,1.798,1.480,1.432,0.958,0.907,1.179,1.266,
+0.941,1.003,0.945,0.157,0.580,0.759,0.738,0.938,0.686,1.083,
+0.080,0.139,0.139,0.095,0.093,0.197,0.145,0.099,0.088,0.039,
+0.089,0.084,0.063,0.184,0.080,0.097,0.741,1.009,0.747,0.794,
+0.082,0.182,0.110,0.103,0.825,0.109,0.598,0.715,0.450,0.949,
+0.817,0.873,0.615,0.483,0.442,0.639,0.961,1.199,0.881,0.974,
+1.131,0.100,0.805,1.014,0.715,0.837,1.088,1.432,1.498,0.843,
+0.608,1.038,0.992,0.742,0.470,0.696,0.845,0.082,0.437,0.702,
+1.156,0.779,0.560,1.172,1.043,1.031,0.862,1.031,1.032,1.468,
+0.848,0.900,0.806,0.099,0.597,0.823,0.612,1.060,0.606,0.968,
+0.739,0.845,0.706,1.037,0.065,0.097,0.055,0.086,0.684,0.080,
+0.659,0.823,0.551,0.907,0.833,1.244,1.023,0.689,0.556,1.075,
+0.867,1.002,0.647,1.203,1.112,0.099,0.779,1.179,1.254,1.457,
+1.337,2.755,2.118,1.528,1.084,1.853,1.214,1.074,0.652,0.998,
+1.223,0.128,0.575,0.886,1.248,1.239,0.574,1.471,1.657,1.454,
+0.617,1.058,1.234,1.194,0.854,0.931,1.214,0.148,0.828,1.135,
+0.833,1.175,0.610,1.282,0.962,1.096,0.703,1.209,0.103,0.117,
+0.079,0.164,0.912,0.111,0.534,0.845,0.618,0.985,0.602,1.030,
+1.177,0.757,0.582,1.382,0.996,0.942,0.657,1.126,1.144,0.121,
+0.770,1.368,1.152,1.062,1.068,2.481,0.115,0.113,0.059,0.098,
+0.115,0.189,0.074,0.094,0.116,0.024,0.067,0.081,0.092,0.155,
+0.061,0.131,0.097,0.126,0.049,0.071,0.137,0.271,0.120,0.110,
+0.120,0.050,0.112,0.118,0.065,0.143,0.061,0.094,0.064,0.097,
+0.065,0.080,0.019,0.038,0.029,0.020,0.101,0.035,0.097,0.103,
+0.061,0.138,0.086,0.097,0.085,0.072,0.051,0.104,0.134,0.188,
+0.094,0.140,0.114,0.021,0.109,0.147,0.085,0.114,0.103,0.187,
+1.574,1.347,0.789,1.041,1.325,2.613,0.812,0.962,1.261,0.245,
+0.741,1.040,0.829,1.179,0.837,1.597,0.098,0.164,0.075,0.081,
+0.119,0.443,0.130,0.089,0.120,0.048,0.129,0.116,0.084,0.194,
+0.092,0.124,0.728,1.079,0.661,0.816,0.082,0.151,0.092,0.100,
+0.935,0.157,0.567,0.884,0.498,1.027,0.706,0.911,0.768,0.595,
+0.445,0.746,1.044,1.215,0.765,1.071,1.431,0.197,1.989,1.556,
+0.819,1.152,1.107,1.624,1.264,0.838,0.597,1.190,0.790,0.777,
+0.408,0.568,0.885,0.099,0.465,0.895,0.993,0.917,0.561,2.061,
+1.370,1.255,0.708,0.964,1.274,1.713,0.852,0.893,1.302,0.169,
+0.965,1.263,0.987,1.763,0.852,1.433,0.998,1.180,1.795,1.367,
+0.077,0.114,0.126,0.116,1.161,0.144,0.892,1.360,0.820,1.620,
+1.177,1.513,1.220,0.911,0.740,1.335,0.958,1.018,0.778,1.208,
+1.577,0.147,1.544,2.101,1.541,1.920,1.699,2.904,2.046,1.177,
+0.858,1.935,1.034,0.704,0.525,0.952,1.017,0.097,0.467,0.934,
+1.262,0.941,0.569,1.641,1.548,1.257,0.525,0.947,0.813,0.552,
+0.573,0.754,0.777,0.071,0.413,0.794,0.663,0.654,0.399,1.019,
+0.865,0.703,0.426,0.903,0.063,0.049,0.040,0.098,0.902,0.070,
+0.359,0.622,0.593,0.670,0.393,0.868,1.226,0.661,0.549,1.441,
+0.830,0.593,0.498,1.107,1.130,0.080,0.579,1.112,1.356,0.987,
+0.884,2.504,1.750,1.221,0.751,1.430,1.290,1.265,0.680,0.957,
+1.208,0.139,0.674,1.089,1.022,1.252,0.619,1.404,1.298,1.181,
+0.539,0.886,1.404,1.302,0.664,0.948,1.180,0.189,0.725,1.189,
+0.856,1.409,0.606,1.137,0.839,0.819,0.535,0.874,0.073,0.097,
+0.063,0.122,0.958,0.123,0.712,0.958,0.714,1.203,0.733,1.073,
+0.829,0.624,0.581,1.157,0.975,0.997,0.689,1.262,1.153,0.103,
+0.818,1.384,1.016,1.121,1.011,2.026,1.352,0.868,0.534,0.889,
+0.975,1.152,0.583,0.863,0.969,0.137,0.606,0.943,0.817,0.976,
+0.666,1.470,0.072,0.066,0.040,0.073,0.058,0.117,0.055,0.070,
+0.062,0.013,0.059,0.082,0.058,0.108,0.063,0.110,0.623,0.753,
+0.450,0.811,0.046,0.069,0.043,0.100,0.739,0.089,0.506,0.780,
+0.512,0.860,0.655,0.914,0.765,0.617,0.450,1.138,0.857,0.923,
+0.617,1.330,1.169,0.195,0.979,1.382,0.876,1.140,1.076,1.958,
+1.778,0.977,0.630,1.393,0.827,0.664,0.460,0.721,1.094,0.100,
+0.550,1.128,1.212,0.920,0.712,2.013,1.323,0.868,0.566,1.045,
+0.861,0.844,0.608,1.210,0.860,0.068,0.654,1.051,0.897,0.992,
+0.771,1.573,1.057,1.014,0.774,1.263,0.078,0.081,0.055,0.109,
+1.459,0.103,0.768,1.288,0.997,1.398,1.127,1.802,1.765,1.020,
+0.960,1.987,1.307,1.577,1.180,1.879,1.869,0.155,1.686,2.636,
+2.575,2.864,2.808,3.853,2.734,1.733,1.543,2.823,1.934,1.393,
+1.204,1.526,1.739,0.182,0.889,1.625,2.822,2.127,1.212,2.170,
+1.445,0.962,0.678,1.116,1.078,0.688,0.730,0.775,0.928,0.093,
+0.621,0.849,0.971,0.953,0.664,1.063,1.282,0.947,0.676,1.120,
+0.105,0.082,0.065,0.148,0.815,0.078,0.616,0.994,0.763,0.895,
+0.706,1.225,1.650,0.924,0.659,1.490,1.511,0.914,0.725,1.254,
+0.989,0.093,0.705,1.074,1.390,1.151,1.068,2.133,2.375,1.551,
+0.981,1.733,1.805,1.265,1.047,1.147,1.402,0.206,0.632,0.981,
+1.437,2.090,0.679,1.493,1.473,1.200,0.694,1.076,1.324,0.875,
+0.840,0.943,1.304,0.255,0.721,0.993,0.828,1.288,0.589,0.933,
+1.426,1.222,0.887,1.158,0.257,0.134,0.100,0.145,1.193,0.156,
+0.782,1.450,0.874,1.400,0.947,1.227,1.433,0.847,0.504,1.017,
+4.011,1.367,0.762,1.184,1.203,0.110,0.662,1.096,1.193,1.140,
+1.028,2.066,1.379,0.846,0.787,1.053,1.212,0.952,0.923,1.047,
+1.295,0.185,0.595,0.966,1.257,1.291,0.794,1.546,0.112,0.103,
+0.073,0.111,0.113,0.111,0.101,0.118,0.125,0.029,0.098,0.122,
+0.170,0.282,0.119,0.205,1.006,0.682,0.895,0.900,0.083,0.072,
+0.083,0.131,0.777,0.110,0.493,0.693,0.512,0.955,0.600,0.781,
+0.728,0.471,0.447,0.673,1.083,0.899,0.746,1.149,0.814,0.095,
+1.298,0.952,0.926,0.979,0.992,1.500,1.823,0.988,0.776,1.532,
+0.999,0.679,0.655,0.934,1.106,0.122,0.554,0.872,1.939,1.590,
+0.937,2.208,1.337,0.937,0.680,1.055,1.040,0.821,0.730,0.914,
+1.127,0.113,0.767,1.002,1.374,1.581,0.943,1.669,0.981,0.955,
+0.791,1.187,0.117,0.077,0.078,0.151,0.915,0.093,0.883,1.222,
+1.008,1.306,1.114,1.568,1.648,0.968,0.840,1.803,1.350,0.934,
+0.997,1.530,1.559,0.145,1.480,1.924,2.596,2.262,3.254,4.929,
+0.137,0.095,0.067,0.103,0.127,0.098,0.069,0.103,0.077,0.013,
+0.042,0.077,0.113,0.109,0.058,0.108,0.099,0.082,0.064,0.074,
+0.108,0.094,0.150,0.091,0.069,0.014,0.055,0.067,0.068,0.083,
+0.058,0.082,0.071,0.098,0.053,0.069,0.011,0.021,0.011,0.015,
+0.070,0.011,0.050,0.067,0.044,0.081,0.053,0.082,0.101,0.104,
+0.051,0.100,0.124,0.117,0.074,0.112,0.076,0.013,0.058,0.092,
+0.093,0.099,0.080,0.178,0.128,0.137,0.063,0.090,0.124,0.132,
+0.086,0.081,0.078,0.017,0.050,0.053,0.064,0.108,0.054,0.084,
+0.137,0.160,0.075,0.084,0.213,0.214,0.148,0.125,0.108,0.041,
+0.096,0.098,0.069,0.131,0.069,0.090,0.090,0.120,0.093,0.084,
+0.026,0.037,0.023,0.016,0.110,0.038,0.079,0.096,0.052,0.139,
+0.093,0.108,0.113,0.073,0.045,0.081,0.377,0.162,0.075,0.104,
+0.101,0.017,0.058,0.088,0.076,0.093,0.091,0.216,0.077,0.069,
+0.049,0.053,0.084,0.131,0.078,0.074,0.076,0.027,0.055,0.062,
+0.058,0.095,0.055,0.102,8.44e-3,0.015,9.86e-3,0.013,0.013,0.022,
+0.025,0.014,0.017,0.020,0.024,0.017,8.86e-3,0.027,0.014,0.014,
+0.062,0.085,0.266,0.141,0.013,0.024,0.033,0.019,0.110,0.048,
+0.079,0.076,0.046,0.146,0.087,0.086,0.061,0.046,0.055,0.070,
+0.090,0.118,0.094,0.113,0.091,0.022,0.113,0.098,0.061,0.091,
+0.115,0.141,0.114,0.109,0.074,0.098,0.101,0.084,0.060,0.086,
+0.081,0.013,0.046,0.069,0.133,0.147,0.087,0.182,0.142,0.142,
+0.093,0.123,0.126,0.143,0.106,0.122,0.121,0.025,0.097,0.119,
+0.125,0.234,0.118,0.184,0.067,0.086,0.085,0.093,0.011,0.013,
+0.015,0.015,0.084,0.017,0.093,0.124,0.083,0.135,0.131,0.169,
+0.121,0.090,0.070,0.128,0.109,0.107,0.092,0.134,0.118,0.016,
+0.110,0.156,0.152,0.192,0.225,0.354,2.003,1.433,0.943,1.986,
+1.276,1.255,0.754,1.139,1.320,0.123,0.651,0.944,1.093,0.975,
+0.665,1.309,1.331,1.149,0.643,1.139,1.135,1.227,1.092,0.982,
+1.291,0.138,0.883,1.031,0.811,1.109,0.715,1.181,1.144,1.183,
+0.798,1.367,0.131,0.156,0.112,0.279,1.151,0.141,0.675,1.041,
+0.732,1.255,0.773,1.316,1.096,0.759,0.535,1.368,1.105,1.124,
+0.730,1.840,1.150,0.130,0.806,1.555,1.297,1.290,1.168,2.702,
+0.125,0.139,0.059,0.117,0.133,0.191,0.091,0.117,0.088,0.024,
+0.058,0.081,0.069,0.123,0.050,0.110,0.094,0.106,0.051,0.076,
+0.121,0.142,0.160,0.121,0.108,0.030,0.110,0.116,0.059,0.112,
+0.059,0.086,0.089,0.132,0.082,0.101,0.018,0.032,0.025,0.022,
+0.123,0.049,0.118,0.134,0.072,0.164,0.094,0.127,0.118,0.083,
+0.055,0.137,0.219,0.185,0.108,0.219,0.119,0.023,0.095,0.171,
+0.109,0.128,0.108,0.225,1.407,1.836,0.615,0.812,1.478,3.546,
+1.069,1.182,1.069,0.245,0.757,1.121,0.723,1.090,0.783,1.706,
+0.095,0.162,0.064,0.080,0.103,0.249,0.165,0.089,0.094,0.036,
+0.150,0.122,0.079,0.163,0.096,0.152,0.886,1.207,0.727,0.894,
+0.113,0.177,0.127,0.137,0.968,0.149,0.419,0.713,0.493,0.951,
+0.854,1.008,0.757,0.609,0.439,0.648,1.008,1.249,0.902,1.149,
+1.139,0.148,1.064,1.324,0.753,1.110,1.171,1.654,1.266,1.037,
+0.612,1.146,0.947,1.133,0.493,0.700,0.938,0.109,0.564,0.895,
+0.917,0.902,0.619,1.576,1.395,1.389,0.729,1.098,1.310,1.498,
+1.068,0.959,1.083,0.141,1.105,1.320,1.035,1.567,0.968,1.651,
+1.138,1.550,0.916,1.318,0.120,0.208,0.109,0.166,1.275,0.166,
+1.231,1.649,0.987,1.726,1.390,1.905,1.222,0.886,0.676,1.387,
+1.138,1.288,0.947,1.435,1.626,0.167,1.630,2.289,1.690,2.009,
+2.033,3.646,2.205,1.224,0.889,1.983,1.290,0.920,0.686,1.115,
+1.056,0.117,0.493,0.914,1.450,1.212,0.725,1.753,1.206,0.885,
+0.454,0.893,0.777,0.605,0.521,0.773,0.736,0.072,0.400,0.705,
+0.756,0.759,0.450,0.888,1.089,0.901,0.549,1.140,0.087,0.088,
+0.056,0.164,0.814,0.081,0.429,0.781,0.753,0.996,0.642,1.231,
+1.745,0.872,0.626,1.511,1.148,0.947,0.741,1.759,0.992,0.100,
+0.528,1.094,1.712,1.655,1.134,2.833,2.271,1.685,0.955,2.125,
+1.787,1.430,1.081,1.557,1.177,0.144,0.781,1.167,1.211,1.462,
+0.712,1.622,1.522,1.434,0.655,1.531,1.519,1.207,1.162,1.662,
+1.176,0.153,0.806,1.308,0.869,1.424,0.686,1.216,1.438,1.482,
+0.919,1.451,0.125,0.145,0.105,0.182,1.318,0.191,0.922,1.523,
+1.033,2.010,1.076,1.925,1.470,1.012,0.736,1.611,1.765,1.489,
+1.265,2.340,1.419,0.145,0.907,1.764,1.449,1.909,1.371,2.860,
+1.598,1.306,0.682,1.099,1.316,1.468,0.986,1.222,1.237,0.188,
+0.805,1.335,1.013,1.204,1.007,1.949,0.113,0.136,0.052,0.085,
+0.081,0.122,0.104,0.114,0.080,0.019,0.083,0.138,0.084,0.144,
+0.095,0.174,1.018,1.227,0.822,1.154,0.100,0.120,0.092,0.173,
+1.119,0.146,0.777,1.197,0.866,1.415,1.236,1.517,1.144,0.878,
+0.661,1.214,1.456,1.447,1.277,2.682,1.330,0.165,1.181,1.954,
+1.276,1.627,1.763,2.581,2.156,1.297,0.895,1.735,1.124,1.074,
+0.681,0.992,1.132,0.128,0.657,1.198,1.548,1.280,1.124,2.593,
+2.293,2.221,0.699,1.176,1.029,0.998,0.877,1.111,0.990,0.101,
+0.744,1.513,1.060,1.214,0.961,2.187,1.523,1.601,1.051,1.892,
+0.115,0.127,0.086,0.181,1.848,0.161,1.409,2.293,1.666,2.191,
+1.976,2.783,2.588,1.546,1.248,3.100,1.972,2.162,1.620,2.855,
+2.528,0.224,2.056,3.730,3.410,3.580,3.387,5.641,3.367,1.950,
+1.813,3.932,2.095,1.160,1.030,1.638,1.931,0.197,0.824,1.682,
+3.114,2.450,1.193,3.043,1.948,1.090,0.791,1.264,1.144,0.624,
+0.688,0.793,1.094,0.087,0.652,0.878,1.254,1.242,0.786,1.622,
+1.512,1.060,0.877,1.466,0.101,0.081,0.065,0.152,0.935,0.079,
+0.542,0.900,0.995,1.087,0.831,1.546,2.250,1.223,0.980,2.271,
+1.387,0.910,0.774,1.578,1.272,0.119,1.264,1.350,2.095,1.461,
+1.490,3.538,2.447,1.198,0.816,1.973,2.906,0.917,0.647,1.011,
+1.192,0.120,0.425,0.824,1.381,1.340,0.578,1.602,1.247,0.854,
+0.594,0.962,0.845,0.544,0.474,0.716,0.953,0.093,0.465,0.693,
+0.869,0.935,0.569,0.997,1.119,0.889,0.655,1.219,0.113,0.065,
+0.051,0.103,0.934,0.072,0.498,0.891,0.877,0.944,0.787,1.157,
+1.173,0.800,0.497,1.203,1.181,0.678,0.468,0.883,0.935,0.072,
+0.622,0.973,1.152,0.949,1.045,2.439,1.567,0.786,0.811,1.237,
+1.212,0.648,0.743,1.038,1.174,0.133,0.551,1.068,1.584,1.215,
+0.812,2.058,0.100,0.068,0.054,0.097,0.080,0.055,0.050,0.083,
+0.083,9.78e-3,0.050,0.087,0.166,0.188,0.089,0.211,0.864,0.764,
+0.683,0.935,0.067,0.049,0.052,0.092,0.938,0.088,0.552,0.769,
+0.747,0.838,0.730,1.098,0.924,0.587,0.497,1.000,0.880,0.673,
+0.567,1.064,0.885,0.079,0.700,1.007,1.158,0.989,1.089,2.342,
+2.387,1.154,0.925,2.134,1.126,0.622,0.668,1.131,1.492,0.148,
+0.691,1.236,2.770,1.993,1.267,3.383,1.455,0.867,0.729,1.292,
+0.991,0.577,0.595,0.909,1.145,0.084,0.743,1.086,1.805,1.778,
+1.102,2.356,1.110,1.004,0.811,1.483,0.081,0.063,0.060,0.123,
+1.070,0.078,0.781,1.532,1.263,1.322,1.219,2.157,2.104,1.414,
+1.107,2.659,1.262,0.910,0.919,1.754,1.740,0.134,1.312,2.195,
+3.181,2.520,3.123,8.293,2.973,1.652,1.279,2.635,1.956,1.166,
+0.911,1.368,1.425,0.135,0.609,1.201,2.352,1.725,0.872,2.138,
+1.953,1.096,0.932,1.361,1.493,0.895,1.051,1.007,1.028,0.096,
+0.800,0.966,0.920,1.017,0.724,1.276,1.295,1.081,0.718,1.390,
+0.107,0.111,0.067,0.162,0.917,0.098,0.607,1.123,0.894,1.156,
+0.790,1.596,1.582,1.015,0.746,1.710,1.400,1.135,0.776,1.658,
+1.042,0.127,0.848,1.231,1.548,1.187,1.186,2.876,2.133,1.516,
+0.783,1.594,1.524,1.109,0.719,0.937,0.959,0.102,0.441,0.775,
+1.049,1.048,0.549,1.338,1.559,1.382,0.716,1.017,1.335,1.028,
+0.748,1.095,0.983,0.118,0.661,0.889,0.914,1.058,0.615,1.252,
+1.155,1.165,0.690,1.110,0.103,0.125,0.080,0.115,1.106,0.149,
+0.629,1.064,0.883,1.362,0.853,1.491,1.359,0.904,0.585,1.179,
+1.502,1.284,0.622,1.044,1.100,0.095,0.606,1.064,1.214,1.146,
+0.962,2.617,1.422,0.854,0.769,1.025,1.116,0.928,0.766,1.002,
+1.042,0.153,0.512,0.854,1.076,1.153,0.721,1.537,0.080,0.084,
+0.062,0.098,0.081,0.096,0.082,0.099,0.080,0.025,0.070,0.085,
+0.100,0.200,0.084,0.145,0.966,1.088,1.146,1.123,0.090,0.110,
+0.096,0.120,1.023,0.138,0.656,0.901,0.738,1.307,1.096,1.374,
+1.056,0.705,0.670,1.153,1.098,1.077,0.988,1.347,0.982,0.092,
+0.750,1.134,1.059,1.054,1.271,2.353,1.726,1.142,0.863,1.529,
+1.088,0.728,0.636,0.960,1.203,0.127,0.602,0.949,1.929,1.694,
+1.125,2.291,1.569,1.200,1.036,1.403,1.218,1.090,0.893,1.191,
+1.346,0.173,0.908,1.246,1.797,3.828,1.290,2.330,0.978,0.998,
+0.978,1.519,0.081,0.083,0.070,0.129,1.125,0.125,1.058,1.617,
+1.159,1.722,1.577,2.387,1.652,1.130,1.077,1.782,1.327,1.168,
+1.007,1.746,1.554,0.126,1.249,1.996,2.316,2.290,2.306,5.114,
+2.496,1.532,0.881,2.159,1.067,0.880,0.542,0.984,1.129,0.108,
+0.533,1.010,1.269,1.051,0.643,1.914,1.502,1.151,0.661,1.535,
+0.987,0.879,0.689,0.891,1.101,0.115,0.713,1.034,0.946,1.214,
+0.776,1.526,1.314,1.193,0.772,1.464,0.124,0.125,0.088,0.208,
+1.198,0.133,0.862,1.152,0.911,1.344,0.862,1.575,1.427,0.934,
+0.650,1.687,1.212,1.018,0.681,1.428,1.449,0.151,0.884,1.677,
+1.756,1.605,1.388,3.511,0.130,0.131,0.054,0.131,0.097,0.092,
+0.049,0.089,0.072,0.011,0.041,0.072,0.079,0.105,0.052,0.137,
+0.080,0.078,0.044,0.074,0.088,0.135,0.060,0.079,0.080,0.016,
+0.075,0.082,0.066,0.098,0.054,0.094,0.075,0.082,0.047,0.079,
+7.85e-3,0.015,0.012,0.014,0.098,0.027,0.157,0.103,0.066,0.118,
+0.079,0.110,0.111,0.085,0.050,0.135,0.125,0.137,0.074,0.141,
+0.113,0.025,0.084,0.138,0.131,0.199,0.097,0.266,1.403,1.137,
+0.626,0.908,1.023,1.365,0.746,0.964,1.056,0.164,0.584,0.921,
+0.902,1.038,0.824,1.760,0.082,0.091,0.043,0.072,0.072,0.107,
+0.065,0.067,0.076,0.020,0.069,0.079,0.093,0.156,0.084,0.145,
+0.920,1.239,0.820,1.037,0.091,0.131,0.105,0.120,1.263,0.154,
+0.636,1.004,0.707,1.266,1.032,1.295,1.014,0.691,0.557,0.894,
+1.072,1.169,0.919,1.233,1.428,0.154,1.055,1.474,1.108,1.388,
+1.362,2.304,1.512,0.896,0.627,1.320,0.826,0.713,0.485,0.805,
+1.063,0.109,0.620,1.015,1.256,1.097,0.798,2.164,1.519,1.127,
+0.754,1.343,1.075,1.053,0.734,0.935,1.212,0.133,0.949,1.318,
+1.337,1.661,1.289,2.288,1.728,1.491,1.010,1.604,0.164,0.133,
+0.099,0.151,1.557,0.151,1.171,1.779,1.734,2.030,1.665,2.617,
+1.694,1.132,0.938,1.826,1.379,1.398,1.022,1.767,2.103,0.183,
+1.903,2.848,2.455,2.544,2.674,5.217,4.025,1.676,1.282,3.197,
+1.561,0.941,0.768,1.438,1.480,0.141,0.650,1.473,2.104,1.573,
+1.031,2.825,1.824,0.988,0.560,1.196,0.994,0.651,0.541,0.901,
+1.001,0.084,0.516,0.983,1.008,0.944,0.609,1.416,1.527,1.432,
+0.841,2.067,0.120,0.146,0.083,0.234,1.078,0.112,0.552,1.098,
+1.181,1.433,0.800,1.760,2.256,1.372,0.967,2.439,1.405,1.133,
+0.878,1.782,1.377,0.127,0.738,1.580,2.776,2.344,1.585,4.771,
+2.831,1.611,0.973,2.892,1.613,1.135,0.806,1.512,1.122,0.115,
+0.587,1.319,1.304,1.424,0.821,2.165,1.452,1.026,0.594,1.249,
+1.097,0.920,0.541,1.008,1.112,0.105,0.747,1.196,0.951,1.197,
+0.634,1.571,1.314,1.060,0.585,1.369,0.077,0.094,0.055,0.117,
+1.212,0.124,1.005,1.353,1.200,1.732,0.920,1.883,1.466,1.034,
+0.705,1.643,1.386,1.070,0.710,1.587,1.265,0.174,0.707,1.428,
+2.108,5.361,1.365,4.846,2.088,1.413,0.982,1.599,1.397,1.139,
+0.973,1.506,1.489,0.178,0.813,1.684,1.696,1.521,1.314,3.307,
+0.104,0.105,0.055,0.102,0.077,0.088,0.071,0.110,0.082,0.014,
+0.063,0.113,0.144,0.162,0.088,0.336,1.245,1.431,0.899,1.569,
+0.090,0.104,0.079,0.165,1.413,0.156,0.998,1.549,1.233,1.667,
+1.402,2.383,1.631,1.186,0.936,1.791,1.587,1.359,1.200,2.292,
+1.948,0.184,1.345,2.506,1.954,1.999,2.046,4.579,4.157,1.930,
+1.367,3.151,1.590,1.105,0.936,1.568,2.061,0.178,1.112,2.156,
+3.108,2.170,2.047,5.270,2.395,1.808,0.919,1.753,1.556,1.351,
+1.006,1.656,1.783,0.135,1.131,2.489,2.147,2.106,1.480,8.458,
+2.490,2.143,1.489,3.145,0.155,0.148,0.098,0.306,2.832,0.203,
+1.698,3.429,2.887,3.234,2.768,5.224,5.608,2.531,2.288,5.730,
+3.415,2.848,2.433,7.449,4.352,0.322,3.411,6.800,6.913,6.527,
+5.706,11.5,5.115,2.814,2.489,4.951,3.149,1.825,1.827,2.371,
+3.275,0.320,1.761,2.640,5.630,3.636,2.423,4.411,3.701,2.100,
+1.627,2.218,2.180,1.341,1.321,1.318,2.195,0.163,1.587,1.742,
+2.133,1.828,1.611,2.347,2.361,1.536,1.504,2.235,0.247,0.138,
+0.153,0.273,1.732,0.141,1.180,1.366,1.732,1.735,1.708,2.267,
+4.064,1.771,1.934,4.333,2.654,1.605,1.865,2.940,2.092,0.175,
+1.986,2.440,3.121,1.875,2.619,4.445,3.420,1.841,1.293,2.020,
+1.923,1.201,1.024,1.202,1.632,0.192,1.842,1.443,1.694,1.805,
+1.191,1.888,2.262,1.475,0.996,1.311,1.282,0.777,0.834,0.945,
+1.332,0.110,1.088,1.475,1.116,1.126,1.093,1.615,1.899,1.223,
+0.828,1.181,0.634,0.100,0.088,0.123,1.328,0.107,0.799,1.094,
+0.968,1.159,0.952,1.192,1.639,0.955,0.863,1.540,2.070,0.970,
+0.970,1.333,1.406,0.108,1.211,1.674,1.451,1.288,1.536,2.539,
+3.661,1.479,1.226,1.839,1.640,0.964,1.055,1.255,1.620,0.192,
+0.924,1.326,2.428,1.774,1.459,2.548,0.181,0.111,0.084,0.126,
+0.115,0.081,0.078,0.083,0.125,0.015,0.083,0.116,0.228,0.231,
+0.148,0.246,1.324,0.860,0.834,1.192,0.103,0.065,0.065,0.113,
+1.209,0.110,0.652,0.918,0.885,1.011,1.134,1.269,1.138,0.631,
+0.732,1.235,1.239,0.825,0.822,1.240,1.430,0.121,1.119,1.678,
+1.379,1.158,1.514,2.771,4.356,1.379,1.178,2.396,1.339,0.799,
+0.878,1.068,1.485,0.136,0.768,1.182,2.236,1.558,1.340,3.032,
+2.154,1.217,1.031,1.373,1.147,0.813,0.857,0.880,1.361,0.091,
+0.925,1.212,1.576,1.342,1.174,1.898,1.416,0.975,0.925,1.396,
+0.106,0.064,0.072,0.118,1.200,0.087,0.707,1.086,1.054,1.210,
+1.242,1.742,2.272,1.056,1.288,2.421,1.050,0.643,0.834,1.387,
+1.929,0.137,1.436,2.195,2.600,1.949,2.629,4.653,4.676,2.748,
+2.082,3.705,2.361,1.724,1.513,1.852,1.847,0.184,1.037,1.735,
+2.528,2.060,1.646,2.910,3.101,2.213,1.518,2.061,1.856,1.347,
+1.356,1.308,1.700,0.148,1.341,1.674,1.365,1.275,1.308,1.950,
+1.500,1.342,1.100,1.507,0.154,0.150,0.116,0.172,1.211,0.108,
+0.816,1.047,0.876,1.205,1.136,1.831,2.186,1.037,1.057,2.075,
+1.908,1.312,1.142,1.655,1.247,0.113,0.983,1.541,1.598,1.310,
+1.713,3.487,3.197,2.119,1.201,1.923,1.791,1.611,1.217,1.258,
+1.462,0.151,0.882,1.144,1.424,1.373,0.950,1.589,2.078,1.572,
+1.109,1.370,1.195,0.652,0.878,0.941,1.280,0.135,1.036,1.289,
+0.930,1.087,1.002,1.328,1.353,1.502,0.901,1.337,0.148,0.125,
+0.098,0.148,1.391,0.177,0.925,1.239,0.840,1.641,1.110,1.483,
+1.302,0.897,0.762,1.291,1.432,1.034,0.793,1.156,1.142,0.109,
+0.835,1.475,1.095,1.069,1.106,2.158,2.595,1.484,1.130,1.728,
+1.613,1.327,1.385,1.558,1.374,0.172,0.969,1.395,1.351,1.361,
+1.415,2.117,0.152,0.162,0.101,0.160,0.109,0.141,0.138,0.116,
+0.118,0.027,0.119,0.144,0.131,0.211,0.165,0.217,1.369,1.343,
+1.359,1.769,0.115,0.151,0.142,0.158,1.356,0.166,1.093,1.250,
+1.020,1.790,2.163,1.935,1.140,0.689,0.879,1.301,1.362,1.254,
+1.264,1.591,1.498,0.147,1.517,1.914,1.095,1.179,1.880,2.708,
+2.705,1.372,1.100,1.838,1.556,1.042,0.906,1.157,1.220,0.110,
+0.641,1.044,1.481,1.315,1.077,2.203,2.290,1.812,1.347,1.765,
+1.502,1.268,1.401,1.450,1.282,0.107,1.125,1.541,1.478,1.606,
+1.495,2.330,1.351,1.151,1.159,1.696,0.104,0.105,0.093,0.145,
+1.248,0.102,0.931,1.393,1.144,1.481,1.607,2.326,1.844,1.106,
+1.303,2.081,1.332,1.018,1.055,1.604,1.854,0.131,1.609,2.510,
+2.204,2.178,2.911,4.752,2.997,1.970,1.411,2.559,1.365,1.171,
+0.847,1.199,1.467,0.153,0.778,1.228,2.409,1.654,1.030,2.058,
+2.960,1.987,1.245,2.268,1.456,1.239,1.152,1.393,2.001,0.177,
+1.275,1.599,1.495,1.648,1.127,1.852,1.572,1.546,1.477,1.787,
+0.159,0.227,0.162,0.259,1.190,0.141,0.850,1.155,0.882,1.535,
+1.040,1.544,2.128,1.248,1.270,2.309,1.491,1.643,1.261,1.810,
+1.483,0.170,1.294,1.845,1.760,1.625,1.858,4.029,0.221,0.210,
+0.108,0.192,0.162,0.188,0.101,0.132,0.151,0.025,0.106,0.125,
+0.190,0.212,0.110,0.183,0.229,0.221,0.120,0.177,0.156,0.172,
+0.136,0.137,0.200,0.033,0.159,0.171,0.145,0.221,0.136,0.187,
+0.137,0.189,0.119,0.158,0.023,0.029,0.023,0.028,0.263,0.039,
+0.138,0.231,0.120,0.242,0.145,0.186,0.257,0.204,0.148,0.279,
+0.273,0.332,0.224,0.336,0.199,0.032,0.210,0.281,0.231,0.260,
+0.247,0.459,1.881,1.222,0.891,1.153,1.169,1.098,0.986,1.102,
+1.364,0.311,0.988,1.374,1.398,2.184,1.237,1.878,0.150,0.155,
+0.082,0.109,0.091,0.121,0.094,0.075,0.156,0.041,0.132,0.128,
+0.163,0.423,0.158,0.191,1.034,1.247,1.039,1.211,0.093,0.125,
+0.142,0.129,1.056,0.146,0.648,0.932,0.656,1.094,1.107,1.237,
+0.992,0.697,0.744,1.080,1.039,1.159,1.128,1.372,1.190,0.172,
+1.526,1.805,1.001,1.270,1.698,2.173,1.736,0.984,0.723,1.371,
+0.931,0.659,0.541,0.729,1.008,0.113,0.661,0.942,1.249,1.165,
+0.926,1.722,2.298,1.744,1.081,1.689,1.430,1.346,0.988,1.097,
+1.937,0.158,1.173,1.694,1.681,1.966,1.401,2.011,1.417,1.449,
+1.322,1.897,0.117,0.146,0.126,0.174,1.341,0.139,1.065,1.495,
+1.111,1.867,1.566,2.280,2.301,1.636,1.218,2.027,1.373,1.254,
+1.012,1.464,1.683,0.169,1.695,2.452,2.188,2.100,2.473,3.947,
+3.785,2.014,1.549,3.242,1.522,1.081,0.945,1.299,1.622,0.148,
+0.781,1.314,2.742,1.690,1.261,2.912,2.180,1.300,0.880,1.617,
+1.075,0.690,0.708,1.018,1.703,0.103,0.767,1.232,1.356,0.995,
+0.819,1.690,1.464,1.065,0.937,1.812,0.123,0.114,0.099,0.224,
+1.012,0.096,0.666,1.047,0.972,1.132,0.836,1.586,2.653,1.188,
+1.494,3.439,1.618,1.364,1.345,2.362,1.553,0.129,1.280,1.838,
+2.263,1.636,1.970,4.843,2.774,1.797,1.157,2.214,1.674,1.440,
+0.919,1.259,1.497,0.153,0.935,1.337,1.636,1.468,1.014,1.939,
+1.977,1.455,0.894,1.594,1.197,0.919,0.894,1.037,1.374,0.120,
+0.902,1.425,1.183,1.214,0.867,1.522,1.312,1.144,0.819,1.542,
+0.097,0.099,0.086,0.145,1.292,0.123,0.880,1.538,1.101,1.451,
+1.014,1.701,2.044,1.102,1.066,2.248,1.577,1.290,1.255,2.098,
+1.525,0.130,1.326,2.042,1.787,1.728,1.594,3.397,2.488,1.317,
+1.096,1.726,1.595,1.224,1.166,1.686,1.693,0.230,1.335,1.630,
+1.572,1.651,1.682,2.638,0.163,0.130,0.093,0.162,0.098,0.097,
+0.093,0.113,0.143,0.019,0.119,0.158,0.167,0.228,0.163,0.228,
+1.436,1.298,1.208,2.622,0.102,0.102,0.103,0.234,1.378,0.159,
+1.023,1.558,1.081,1.483,1.606,2.145,1.499,0.943,1.066,2.022,
+1.648,1.322,1.408,2.606,2.334,0.193,1.754,2.850,1.785,1.849,
+2.431,3.961,3.634,1.634,1.369,2.904,1.483,1.006,1.038,1.430,
+1.775,0.171,1.021,1.707,2.623,1.862,1.691,4.071,2.118,1.467,
+1.150,2.139,1.059,0.718,0.960,1.232,1.765,0.115,1.123,2.024,
+2.060,1.796,1.498,2.865,2.929,2.292,2.126,5.576,0.188,0.142,
+0.130,0.349,2.120,0.177,1.531,2.981,2.167,2.514,2.586,4.548,
+4.355,2.148,2.343,5.831,2.548,2.039,2.170,3.727,3.926,0.267,
+3.159,5.632,6.058,4.263,5.330,9.173,0.261,0.177,0.155,0.226,
+0.176,0.136,0.127,0.140,0.160,0.023,0.163,0.140,0.197,0.184,
+0.126,0.185,0.206,0.151,0.128,0.141,0.140,0.107,0.118,0.112,
+0.139,0.015,0.112,0.132,0.124,0.133,0.132,0.166,0.108,0.091,
+0.090,0.123,0.014,0.013,0.015,0.017,0.083,0.013,0.115,0.081,
+0.074,0.105,0.176,0.150,0.156,0.104,0.093,0.174,0.139,0.129,
+0.115,0.161,0.114,0.014,0.151,0.142,0.139,0.120,0.164,0.255,
+0.242,0.176,0.151,0.151,0.143,0.150,0.133,0.106,0.245,0.064,
+0.866,0.218,0.123,0.212,0.187,0.153,0.185,0.165,0.106,0.117,
+0.119,0.109,0.122,0.114,0.145,0.029,0.197,0.270,0.103,0.144,
+0.116,0.171,0.105,0.113,0.071,0.085,0.029,0.019,0.020,0.013,
+0.103,0.020,0.106,0.111,0.068,0.116,0.111,0.132,0.105,0.086,
+0.069,0.101,0.130,0.100,0.092,0.113,0.116,0.016,0.184,0.146,
+0.115,0.132,0.145,0.214,0.203,0.094,0.069,0.097,0.107,0.081,
+0.081,0.085,0.092,0.016,0.093,0.081,0.105,0.123,0.094,0.131,
+0.013,0.016,0.012,0.012,0.014,0.014,0.014,0.011,0.011,4.01e-3,
+0.018,0.013,0.013,0.024,0.017,0.016,0.073,0.067,0.062,0.078,
+9.78e-3,0.011,0.010,9.61e-3,0.089,0.012,0.064,0.067,0.057,0.085,
+0.128,0.103,0.061,0.038,0.051,0.074,0.082,0.075,0.074,0.091,
+0.091,0.012,0.108,0.113,0.090,0.092,0.161,0.181,0.216,0.084,
+0.073,0.140,0.087,0.063,0.063,0.075,0.098,0.013,0.071,0.075,
+0.134,0.111,0.090,0.191,0.159,0.121,0.094,0.162,0.103,0.100,
+0.089,0.096,0.095,0.012,0.089,0.122,0.109,0.141,0.104,0.174,
+0.099,0.069,0.073,0.116,8.61e-3,7.60e-3,8.86e-3,0.013,0.087,9.69e-3,
+0.065,0.094,0.067,0.105,0.133,0.144,0.127,0.080,0.088,0.161,
+0.084,0.071,0.076,0.114,0.139,0.015,0.173,0.188,0.180,0.188,
+0.219,0.406,0.232,0.166,0.135,0.180,0.157,0.159,0.134,0.130,
+0.105,0.016,0.070,0.096,0.119,0.116,0.094,0.146,0.182,0.159,
+0.125,0.129,0.153,0.136,0.267,0.127,0.120,0.024,0.122,0.128,
+0.084,0.103,0.114,0.146,0.080,0.083,0.075,0.082,0.013,0.015,
+0.016,0.015,0.066,0.014,0.066,0.069,0.045,0.079,0.095,0.118,
+0.105,0.055,0.063,0.113,0.111,0.102,0.090,0.111,0.077,9.61e-3,
+0.078,0.091,0.097,0.080,0.113,0.217,0.218,0.204,0.098,0.128,
+0.180,0.439,0.135,0.116,0.110,0.025,0.106,0.101,0.094,0.134,
+0.080,0.119,0.190,0.206,0.127,0.124,0.156,0.124,0.144,0.136,
+0.140,0.041,0.147,0.162,0.090,0.154,0.123,0.142,0.095,0.137,
+0.082,0.086,0.015,0.035,0.027,0.019,0.108,0.036,0.092,0.116,
+0.059,0.151,0.119,0.119,0.092,0.079,0.057,0.106,0.117,0.139,
+0.086,0.104,0.105,0.018,0.098,0.128,0.078,0.107,0.114,0.188,
+0.146,0.108,0.078,0.101,0.120,0.125,0.132,0.108,0.100,0.017,
+0.081,0.094,0.082,0.103,0.108,0.135,0.014,0.019,0.015,0.013,
+0.016,0.034,0.034,0.016,0.016,0.012,0.028,0.021,8.27e-3,0.025,
+0.023,0.018,0.098,0.139,0.116,0.218,0.017,0.056,0.036,0.023,
+0.107,0.029,0.104,0.105,0.070,0.137,0.247,0.149,0.078,0.051,
+0.064,0.096,0.103,0.147,0.134,0.159,0.200,0.042,0.151,0.150,
+0.085,0.106,0.176,0.187,0.158,0.092,0.083,0.117,0.116,0.081,
+0.070,0.080,0.085,8.52e-3,0.055,0.077,0.101,0.094,0.090,0.155,
+0.150,0.145,0.110,0.122,0.121,0.141,0.135,0.121,0.103,0.016,
+0.110,0.127,0.090,0.132,0.132,0.162,0.093,0.093,0.092,0.112,
+7.77e-3,0.013,0.012,0.012,0.093,0.015,0.084,0.104,0.073,0.113,
+0.139,0.158,0.109,0.073,0.088,0.125,0.093,0.094,0.091,0.132,
+0.124,0.014,0.138,0.176,0.145,0.202,0.216,0.363,0.144,0.122,
+0.095,0.148,0.073,0.080,0.061,0.078,0.082,0.011,0.064,0.072,
+0.098,0.091,0.060,0.111,0.148,0.138,0.095,0.147,0.106,0.112,
+0.104,0.105,0.140,0.026,0.127,0.126,0.078,0.131,0.087,0.123,
+0.083,0.100,0.082,0.096,9.61e-3,0.018,0.015,0.020,0.093,0.015,
+0.070,0.085,0.045,0.091,0.074,0.092,0.087,0.064,0.061,0.124,
+0.082,0.085,0.082,0.121,0.102,0.018,0.098,0.123,0.090,0.109,
+0.116,0.247,9.69e-3,0.017,8.27e-3,0.016,0.011,0.019,0.015,0.012,
+0.013,6.10e-3,0.022,0.011,9.11e-3,0.018,0.011,0.013,0.017,0.028,
+0.016,0.014,0.024,0.039,0.028,0.020,0.020,0.020,0.030,0.028,
+0.013,0.039,0.020,0.023,7.44e-3,0.020,0.013,0.011,4.26e-3,0.011,
+0.015,6.43e-3,0.028,0.020,0.034,0.029,7.44e-3,0.027,0.028,0.019,
+0.011,0.010,8.44e-3,0.014,0.017,0.024,0.020,0.022,0.015,6.35e-3,
+0.026,0.027,0.013,0.016,0.021,0.029,0.118,0.114,0.079,0.079,
+0.093,0.162,0.113,0.095,0.116,0.048,0.112,0.114,0.099,0.339,
+0.127,0.164,0.012,0.027,0.015,0.010,0.016,0.048,0.030,0.014,
+0.021,0.017,0.053,0.025,0.013,0.054,0.025,0.020,0.080,0.159,
+0.138,0.102,0.013,0.031,0.051,0.022,0.098,0.038,0.100,0.110,
+0.043,0.129,0.131,0.125,0.071,0.061,0.067,0.081,0.087,0.119,
+0.152,0.128,0.119,0.027,0.252,0.180,0.074,0.124,0.221,0.200,
+0.108,0.075,0.054,0.095,0.062,0.059,0.044,0.064,0.073,0.012,
+0.054,0.075,0.079,0.115,0.074,0.153,0.147,0.148,0.100,0.128,
+0.130,0.171,0.118,0.115,0.145,0.027,0.126,0.160,0.105,0.197,
+0.129,0.177,0.091,0.126,0.122,0.138,9.02e-3,0.021,0.028,0.023,
+0.112,0.027,0.117,0.160,0.075,0.208,0.164,0.337,0.117,0.105,
+0.076,0.126,0.117,0.110,0.096,0.120,0.136,0.020,0.170,0.212,
+0.153,0.191,0.233,0.341,0.233,0.156,0.122,0.215,0.154,0.097,
+0.087,0.184,0.145,0.014,0.068,0.133,0.196,0.129,0.090,0.213,
+0.176,0.202,0.085,0.141,0.101,0.075,0.080,0.122,0.127,0.013,
+0.080,0.116,0.109,0.092,0.086,0.157,0.097,0.087,0.074,0.128,
+9.28e-3,9.44e-3,0.010,0.020,0.076,9.02e-3,0.065,0.096,0.060,0.088,
+0.074,0.133,0.176,0.090,0.109,0.231,0.125,0.101,0.109,0.251,
+0.147,0.013,0.116,0.217,0.184,0.138,0.171,0.547,0.227,0.192,
+0.121,0.201,0.159,0.141,0.116,0.133,0.150,0.022,0.133,0.162,
+0.145,0.173,0.167,0.210,0.210,0.195,0.114,0.178,0.167,0.148,
+0.153,0.170,0.166,0.027,0.146,0.204,0.138,0.198,0.164,0.217,
+0.111,0.126,0.097,0.145,9.61e-3,0.016,0.018,0.023,0.137,0.021,
+0.122,0.183,0.095,0.173,0.125,0.178,0.155,0.104,0.111,0.212,
+0.158,0.149,0.159,0.300,0.155,0.020,0.180,0.268,0.169,0.188,
+0.196,0.394,0.157,0.092,0.079,0.105,0.111,0.106,0.101,0.130,
+0.124,0.027,0.126,0.132,0.105,0.155,0.143,0.212,0.013,0.014,
+0.010,0.014,0.013,0.016,0.018,0.015,0.012,4.60e-3,0.021,0.020,
+0.012,0.025,0.024,0.024,0.086,0.106,0.097,0.152,8.77e-3,0.014,
+0.017,0.024,0.113,0.021,0.114,0.132,0.071,0.128,0.160,0.180,
+0.131,0.077,0.083,0.139,0.118,0.110,0.131,0.219,0.266,0.026,
+0.196,0.270,0.144,0.163,0.253,0.364,0.230,0.129,0.099,0.194,
+0.110,0.089,0.085,0.122,0.148,0.019,0.086,0.146,0.183,0.158,
+0.136,0.318,0.182,0.143,0.100,0.171,0.128,0.097,0.102,0.138,
+0.136,0.013,0.123,0.175,0.156,0.164,0.145,0.288,0.164,0.152,
+0.139,0.310,0.014,0.016,0.014,0.039,0.161,0.021,0.134,0.255,
+0.136,0.200,0.217,0.386,0.256,0.144,0.153,0.332,0.184,0.170,
+0.193,0.380,0.270,0.030,0.292,0.462,0.392,0.440,0.493,0.843,
+3.469,2.308,1.993,3.866,2.406,1.732,1.725,2.566,2.059,0.217,
+1.254,2.264,3.146,2.450,1.764,3.052,2.189,1.442,1.117,1.653,
+1.513,1.038,1.111,1.239,1.399,0.116,1.052,1.302,1.538,1.446,
+1.268,1.858,1.435,1.266,1.146,1.549,0.141,0.116,0.106,0.203,
+1.090,0.102,0.941,1.275,1.012,1.200,1.282,1.780,1.756,0.888,
+0.861,1.707,1.272,0.880,0.852,1.388,1.203,0.099,1.071,1.418,
+1.611,0.987,1.570,3.013,3.550,2.308,1.715,2.384,2.142,1.700,
+1.438,1.544,1.648,0.185,1.188,1.389,1.621,1.745,1.120,1.848,
+2.633,1.789,1.291,1.531,1.736,1.100,1.322,1.249,2.189,0.233,
+1.518,1.918,1.406,1.725,1.152,1.675,1.486,1.544,1.395,1.532,
+0.184,0.158,0.155,0.210,1.693,0.209,1.473,2.503,1.351,1.799,
+1.774,2.251,1.367,0.926,0.845,1.255,1.617,1.331,1.060,1.569,
+1.268,0.122,1.167,1.747,1.430,1.448,1.744,3.142,2.280,1.192,
+0.884,1.622,1.839,1.384,1.371,1.673,1.473,0.201,0.942,1.358,
+1.663,1.737,1.486,2.346,0.227,0.190,0.124,0.202,0.230,0.200,
+0.183,0.229,0.184,0.040,0.171,0.209,0.265,0.457,0.236,0.350,
+1.340,1.276,1.189,1.727,0.140,0.127,0.150,0.224,1.311,0.172,
+1.136,1.361,0.932,1.403,1.834,1.776,1.108,0.742,0.694,1.081,
+1.587,1.354,1.285,1.780,1.352,0.175,1.388,1.724,1.719,1.468,
+1.851,2.508,2.336,1.094,0.894,1.844,1.192,0.895,0.912,1.183,
+1.190,0.137,0.716,1.052,1.877,1.653,1.253,2.437,1.994,1.405,
+1.065,1.517,1.429,1.105,1.147,1.518,1.335,0.127,1.110,1.434,
+1.702,1.972,1.436,2.209,1.429,1.347,1.321,1.810,0.131,0.124,
+0.134,0.225,1.608,0.148,1.321,1.771,1.281,1.863,2.184,2.547,
+1.983,1.181,1.166,2.258,1.512,1.241,1.350,2.384,2.152,0.320,
+2.335,2.834,3.430,3.009,3.489,5.846,0.194,0.163,0.116,0.181,
+0.163,0.146,0.129,0.172,0.103,0.017,0.067,0.102,0.134,0.128,
+0.102,0.149,0.178,0.151,0.129,0.136,0.164,0.146,0.180,0.140,
+0.123,0.024,0.117,0.122,0.157,0.138,0.125,0.157,0.078,0.101,
+0.075,0.093,0.015,0.029,0.021,0.024,0.076,0.015,0.073,0.110,
+0.055,0.105,0.107,0.125,0.108,0.066,0.062,0.099,0.116,0.105,
+0.093,0.117,0.081,0.012,0.076,0.100,0.105,0.094,0.132,0.231,
+0.206,0.199,0.108,0.133,0.158,0.200,0.141,0.126,0.163,0.026,
+0.082,0.089,0.096,0.124,0.090,0.119,0.194,0.202,0.124,0.140,
+0.165,0.143,0.171,0.143,0.149,0.046,0.153,0.179,0.101,0.172,
+0.133,0.205,0.094,0.138,0.088,0.096,0.017,0.039,0.037,0.026,
+0.149,0.056,0.139,0.172,0.078,0.178,0.151,0.156,0.105,0.075,
+0.064,0.080,0.124,0.138,0.094,0.109,0.093,0.019,0.101,0.124,
+0.080,0.106,0.130,0.204,0.143,0.107,0.074,0.094,0.148,0.175,
+0.169,0.144,0.120,0.030,0.101,0.097,0.090,0.133,0.130,0.160,
+0.019,0.028,0.018,0.015,0.027,0.042,0.049,0.027,0.018,0.021,
+0.042,0.027,0.012,0.040,0.032,0.027,0.096,0.131,0.134,0.193,
+0.023,0.042,0.056,0.030,0.135,0.053,0.164,0.154,0.079,0.172,
+0.333,0.204,0.079,0.064,0.069,0.084,0.118,0.147,0.160,0.152,
+0.119,0.030,0.165,0.165,0.097,0.126,0.190,0.218,0.201,0.163,
+0.112,0.165,0.136,0.120,0.105,0.122,0.104,0.014,0.068,0.095,
+0.151,0.151,0.169,0.238,0.227,0.188,0.146,0.192,0.197,0.215,
+0.200,0.216,0.142,0.024,0.162,0.180,0.165,0.242,0.209,0.266,
+0.109,0.130,0.137,0.167,0.013,0.023,0.025,0.027,0.123,0.025,
+0.144,0.183,0.119,0.182,0.322,0.284,0.143,0.103,0.102,0.169,
+0.128,0.133,0.152,0.200,0.156,0.028,0.225,0.243,0.222,0.240,
+0.320,0.502,2.351,2.482,1.705,2.615,1.698,1.598,1.132,1.602,
+1.612,0.149,1.006,1.371,1.298,1.145,0.925,1.555,2.481,2.084,
+1.353,1.627,1.994,1.768,1.897,1.674,2.117,0.247,2.083,2.086,
+1.196,1.799,1.337,1.701,1.574,1.773,1.227,1.754,0.201,0.252,
+0.212,0.366,2.183,0.247,1.641,2.082,1.103,1.845,1.519,1.937,
+1.471,0.995,0.735,1.477,1.418,1.343,1.063,1.617,1.779,0.186,
+1.505,2.206,1.555,1.585,1.839,3.466,0.192,0.209,0.105,0.158,
+0.199,0.248,0.154,0.262,0.136,0.031,0.133,0.142,0.097,0.135,
+0.092,0.150,0.197,0.231,0.129,0.140,0.238,0.265,0.262,0.264,
+0.200,0.063,0.278,0.249,0.098,0.184,0.126,0.148,0.156,0.233,
+0.128,0.151,0.025,0.069,0.055,0.042,0.228,0.081,0.277,0.327,
+0.101,0.253,0.204,0.209,0.164,0.120,0.081,0.147,0.198,0.249,
+0.186,0.241,0.174,0.038,0.180,0.261,0.146,0.173,0.170,0.344,
+2.865,1.609,1.291,1.275,1.878,1.965,1.811,1.671,1.727,0.282,
+1.828,1.882,1.135,1.466,1.788,2.323,0.187,0.255,0.187,0.151,
+0.169,0.270,0.229,0.145,0.217,0.072,0.349,0.276,0.129,0.264,
+0.204,0.217,2.019,1.723,1.584,1.654,0.234,0.189,0.269,0.210,
+1.353,0.217,0.461,0.860,0.829,1.055,1.558,1.941,1.241,0.867,
+0.891,0.930,1.296,1.342,1.568,1.297,1.520,0.212,2.305,2.242,
+1.139,1.383,2.443,2.792,1.811,1.186,0.844,1.488,1.114,0.900,
+0.700,0.872,1.028,0.116,0.913,1.135,0.958,0.954,0.881,1.603,
+2.064,1.892,1.422,1.634,1.720,1.892,1.478,1.325,1.660,0.206,
+1.898,1.950,1.241,1.873,1.459,1.797,1.502,1.587,1.335,1.731,
+0.159,0.224,0.180,0.211,2.026,0.261,2.734,2.774,1.442,2.505,
+2.557,2.843,1.533,1.085,0.956,1.560,1.447,1.501,1.269,1.486,
+2.051,0.216,3.063,3.247,2.169,2.529,3.156,4.239,2.788,1.672,
+1.231,2.305,1.502,1.144,0.938,1.437,1.481,0.147,0.858,1.342,
+1.735,1.430,1.082,2.197,2.001,1.331,0.820,1.269,1.242,0.908,
+0.913,1.247,1.093,0.095,0.810,1.112,0.901,0.897,0.799,1.422,
+1.274,1.139,0.758,1.303,0.112,0.112,0.091,0.198,1.239,0.119,
+0.956,1.468,0.939,1.199,1.084,1.743,1.621,0.963,0.884,1.628,
+1.190,0.941,0.834,1.523,1.340,0.104,0.985,1.572,1.587,1.334,
+1.582,3.442,2.897,2.073,1.237,2.215,2.136,2.059,1.544,1.878,
+1.547,0.178,1.445,1.766,1.452,1.682,1.210,2.201,2.644,2.209,
+1.309,1.705,2.086,1.741,2.045,1.951,1.789,0.185,1.685,2.153,
+1.183,1.564,1.142,1.974,1.502,1.817,1.083,1.620,0.142,0.199,
+0.158,0.230,1.916,0.281,1.942,3.065,1.194,2.270,1.808,2.552,
+1.702,1.183,0.972,1.624,1.689,1.691,1.424,2.297,1.498,0.159,
+1.561,2.558,1.561,1.720,1.781,3.363,2.913,1.586,1.231,1.564,
+1.890,1.634,1.731,1.873,1.807,0.233,1.652,2.046,1.598,1.749,
+2.669,3.038,0.189,0.186,0.130,0.154,0.173,0.236,0.220,0.197,
+0.156,0.034,0.213,0.228,0.159,0.259,0.228,0.269,1.964,2.178,
+1.697,2.209,0.179,0.194,0.213,0.270,2.465,0.347,2.161,3.250,
+1.619,2.573,3.394,3.435,1.808,1.353,1.254,1.658,2.140,2.055,
+2.254,2.612,2.040,0.239,2.836,3.906,1.923,2.089,3.508,4.458,
+3.016,1.492,1.160,2.032,1.466,1.174,1.046,1.262,1.571,0.162,
+1.124,1.536,2.021,1.514,1.662,2.796,2.245,1.762,1.236,1.699,
+1.552,1.450,1.574,1.542,1.500,0.131,1.525,2.019,1.660,1.653,
+1.568,2.290,2.304,2.369,1.762,2.860,0.171,0.190,0.160,0.281,
+2.905,0.307,3.161,5.788,2.585,3.451,3.778,5.095,3.156,1.890,
+1.762,3.565,2.504,2.411,2.214,3.112,3.232,0.281,3.947,5.855,
+4.080,3.534,5.066,7.914,4.308,2.583,2.334,5.063,2.191,1.404,
+1.390,1.956,2.114,0.176,1.058,1.864,3.458,2.425,1.672,3.520,
+2.603,1.588,1.107,1.669,1.456,0.857,0.861,1.073,1.723,0.110,
+1.038,1.178,1.673,1.605,1.077,1.766,1.809,1.467,1.112,1.772,
+0.135,0.111,0.095,0.205,1.157,0.094,0.802,1.152,1.116,1.304,
+1.184,1.927,2.464,1.382,1.242,2.620,1.746,1.171,1.063,1.830,
+1.472,0.118,1.131,1.757,2.353,1.650,2.182,4.556,3.306,2.036,
+1.389,2.384,1.689,1.167,0.917,1.147,1.316,0.119,0.784,1.131,
+1.645,1.335,1.013,1.866,2.029,1.254,0.865,1.248,1.107,0.723,
+0.740,0.936,1.372,0.089,0.878,1.196,1.339,1.093,0.877,1.482,
+1.193,0.994,0.850,1.156,0.091,0.072,0.061,0.100,1.163,0.095,
+0.722,1.211,1.075,1.121,1.051,1.618,1.271,0.983,0.684,1.213,
+1.112,0.892,0.659,1.066,1.114,0.083,0.863,1.392,1.455,1.140,
+1.616,3.182,2.741,1.136,0.968,1.555,1.542,0.916,0.931,1.285,
+1.376,0.144,0.610,1.068,1.807,1.397,1.159,2.252,0.184,0.122,
+0.079,0.130,0.121,0.095,0.078,0.113,0.118,0.014,0.074,0.113,
+0.210,0.237,0.133,0.234,1.548,1.195,1.190,1.542,0.102,0.071,
+0.089,0.148,1.251,0.116,0.810,1.196,1.096,1.256,1.461,1.888,
+1.420,0.744,0.839,1.322,1.372,0.918,0.979,1.486,1.354,0.105,
+1.120,2.001,1.719,1.411,1.936,3.503,3.178,1.283,1.154,2.390,
+1.345,0.855,0.926,1.197,1.526,0.128,0.905,1.247,2.411,1.579,
+1.432,2.978,2.182,1.378,0.967,1.474,1.111,0.863,0.824,0.991,
+1.298,0.086,0.934,1.237,1.762,1.659,1.219,2.133,1.495,1.238,
+1.171,1.717,0.105,0.082,0.095,0.141,1.256,0.088,0.935,1.338,
+1.311,1.335,1.595,2.206,2.468,1.259,1.384,2.784,1.591,1.120,
+1.290,2.003,2.223,0.154,1.800,2.822,3.373,2.596,3.799,7.271,
+4.287,2.591,2.089,3.913,2.365,1.796,1.594,2.038,1.757,0.171,
+1.077,1.723,2.400,2.001,1.606,3.100,3.139,1.826,1.608,2.192,
+1.884,1.307,1.611,1.589,1.809,0.163,1.641,1.792,1.613,1.539,
+1.476,2.239,1.513,1.297,1.243,1.700,0.122,0.131,0.114,0.188,
+1.252,0.126,1.056,1.703,0.977,1.497,1.542,2.269,1.909,1.079,
+1.134,1.994,1.839,1.337,1.285,1.819,1.265,0.111,1.054,1.585,
+1.895,1.624,2.113,3.981,3.523,2.474,1.416,2.461,2.220,2.195,
+1.292,1.536,1.517,0.144,0.856,1.342,1.832,1.488,1.063,2.003,
+2.500,1.764,1.157,1.795,1.812,1.153,1.212,1.445,1.599,0.163,
+1.334,2.017,1.359,1.558,1.385,2.115,1.335,1.296,0.970,1.391,
+0.112,0.129,0.089,0.122,1.636,0.210,1.042,1.741,1.150,1.735,
+1.510,2.300,1.325,0.955,0.742,1.257,1.504,1.323,0.867,1.219,
+1.159,0.100,0.968,1.473,1.312,1.325,1.541,2.761,2.517,1.408,
+1.128,1.629,2.025,1.822,1.785,1.766,1.871,0.228,0.969,1.335,
+1.779,1.646,1.701,2.677,0.149,0.142,0.097,0.148,0.141,0.180,
+0.157,0.146,0.125,0.033,0.125,0.148,0.156,0.245,0.199,0.256,
+1.655,1.635,1.634,2.340,0.162,0.165,0.187,0.230,1.679,0.221,
+1.418,1.942,1.480,2.385,2.931,3.147,1.474,1.008,1.055,1.630,
+1.803,1.543,1.781,2.231,1.778,0.165,1.753,2.570,1.796,1.871,
+2.703,3.971,3.133,1.732,1.430,2.303,1.817,1.463,1.218,1.508,
+1.472,0.145,1.022,1.479,1.990,1.681,1.819,3.299,2.970,1.990,
+1.631,2.229,1.781,1.883,1.636,1.908,1.785,0.170,1.735,2.101,
+2.036,2.499,2.220,3.143,1.536,1.379,1.730,2.316,0.121,0.124,
+0.179,0.201,1.521,0.149,1.637,2.229,1.610,2.226,3.303,3.778,
+2.163,1.312,1.574,2.532,1.942,1.516,1.772,2.625,2.131,0.170,
+2.562,3.318,3.102,2.915,4.199,6.887,4.100,2.650,2.044,3.059,
+1.753,1.579,1.161,1.621,1.885,0.164,1.198,1.698,1.872,1.568,
+1.219,2.229,3.181,2.272,1.404,2.030,1.930,1.568,1.509,1.462,
+2.356,0.206,1.865,2.138,1.664,2.053,1.557,2.284,1.933,2.080,
+1.389,2.058,0.232,0.221,0.188,0.301,2.033,0.209,1.251,1.931,
+1.371,2.192,2.001,2.654,2.128,1.429,1.100,2.120,2.075,1.598,
+1.480,1.896,2.254,0.210,1.611,3.194,2.389,2.250,2.602,5.148,
+0.207,0.189,0.146,0.181,0.153,0.180,0.111,0.151,0.121,0.018,
+0.089,0.118,0.118,0.154,0.106,0.188,0.177,0.189,0.094,0.129,
+0.189,0.196,0.152,0.143,0.175,0.035,0.196,0.218,0.131,0.202,
+0.134,0.187,0.099,0.153,0.095,0.132,0.023,0.034,0.029,0.021,
+0.185,0.047,0.153,0.215,0.113,0.236,0.229,0.234,0.173,0.129,
+0.095,0.169,0.266,0.227,0.281,0.232,0.161,0.030,0.148,0.249,
+0.178,0.205,0.205,0.358,3.066,2.113,1.402,1.672,2.136,2.106,
+1.966,1.853,2.324,0.375,1.605,2.012,1.892,2.266,2.175,2.957,
+0.185,0.219,0.112,0.144,0.150,0.193,0.159,0.125,0.182,0.051,
+0.181,0.176,0.199,0.327,0.219,0.241,1.947,2.272,2.106,2.498,
+0.195,0.246,0.326,0.268,2.533,0.362,1.304,2.270,1.473,2.468,
+2.859,3.046,1.736,1.193,1.278,1.648,1.914,1.997,3.083,2.270,
+1.979,0.265,2.838,3.308,1.854,2.286,3.481,4.480,2.769,1.800,
+1.281,2.388,1.603,1.369,1.114,1.470,1.738,0.174,1.387,1.925,
+1.823,1.611,1.545,3.097,3.084,2.589,1.748,2.568,2.176,2.166,
+1.670,1.658,2.480,0.236,2.368,2.885,2.449,3.103,2.450,3.185,
+2.044,2.058,1.883,2.601,0.168,0.216,0.218,0.243,2.816,0.275,
+2.836,3.769,2.202,3.639,5.468,5.234,2.473,1.589,1.600,2.504,
+2.073,2.079,2.201,2.361,2.855,0.257,3.681,4.961,3.479,3.626,
+5.209,7.328,5.336,2.640,1.813,3.725,1.946,1.387,1.097,1.704,
+1.936,0.180,1.207,1.838,2.684,2.043,1.607,3.595,2.580,1.635,
+0.918,1.620,1.466,0.918,0.842,1.205,1.508,0.115,0.951,1.536,
+1.383,1.233,1.051,1.872,1.939,1.643,1.097,2.149,0.161,0.162,
+0.121,0.262,1.552,0.134,0.967,1.751,1.438,1.727,1.371,2.204,
+2.941,1.478,1.263,2.708,1.725,1.184,1.211,1.978,1.820,0.143,
+1.232,2.399,2.595,2.064,2.342,5.762,3.040,1.917,1.300,2.338,
+1.861,1.421,1.127,1.549,1.405,0.125,0.966,1.641,1.615,1.612,
+1.136,2.542,2.211,1.697,0.928,1.587,1.542,1.192,1.087,1.291,
+1.695,0.149,1.314,1.989,1.388,1.525,1.165,2.125,1.434,1.413,
+0.906,1.675,0.109,0.108,0.081,0.150,1.652,0.166,1.247,2.321,
+1.438,2.085,1.656,2.722,1.927,1.434,1.032,1.872,1.642,1.261,
+1.201,1.848,1.591,0.139,1.277,2.379,1.820,1.823,1.876,4.039,
+3.613,2.060,1.529,2.256,2.393,1.882,1.755,2.471,2.697,0.303,
+1.510,2.387,2.729,2.385,2.542,4.327,0.217,0.176,0.101,0.163,
+0.157,0.166,0.140,0.178,0.152,0.024,0.123,0.180,0.238,0.275,
+0.201,0.331,2.728,2.586,2.083,2.955,0.184,0.183,0.205,0.285,
+2.846,0.309,2.380,3.584,2.458,3.417,3.866,5.663,2.672,2.108,
+1.759,2.560,2.619,2.144,2.771,3.272,2.973,0.256,2.834,4.693,
+2.694,2.776,4.224,7.276,5.716,2.522,1.854,3.693,2.175,1.579,
+1.399,2.039,2.533,0.232,1.582,2.570,4.286,2.632,3.082,5.773,
+3.704,2.558,1.682,2.600,2.389,2.007,1.600,2.109,2.485,0.193,
+2.018,3.094,3.197,3.090,2.571,4.501,3.510,3.123,2.613,4.384,
+0.234,0.211,0.188,0.347,3.672,0.281,3.206,5.889,3.751,4.433,
+5.622,10.3,5.731,2.751,2.615,5.438,4.027,3.000,2.957,4.649,
+4.704,0.334,4.624,9.105,7.412,5.311,8.073,16.3,22.3,9.407,
+6.710,19.4,6.302,3.685,3.296,5.811,6.441,0.545,2.493,5.048,
+12.5,8.082,4.640,11.7,5.811,2.941,2.255,3.777,2.912,1.676,
+1.562,2.009,3.229,0.192,1.589,2.335,3.813,2.856,2.092,3.980,
+4.114,2.291,1.897,4.000,0.264,0.192,0.145,0.424,2.262,0.156,
+1.031,1.817,2.358,2.193,1.737,3.534,7.527,3.146,2.890,7.920,
+4.518,2.737,2.541,5.624,3.506,0.240,1.949,3.605,6.296,3.591,
+3.584,10.1,5.920,2.580,1.766,3.258,2.628,1.515,1.220,1.808,
+2.250,0.238,0.991,1.650,2.460,2.136,1.198,2.822,3.003,1.575,
+1.049,1.651,1.363,0.798,0.746,0.953,1.549,0.105,0.841,1.385,
+1.513,1.176,0.937,1.704,2.142,1.537,1.004,1.696,0.159,0.090,
+0.071,0.136,2.046,0.120,0.843,1.333,1.321,1.333,0.971,1.647,
+2.612,1.511,1.135,2.383,2.080,1.382,1.108,2.153,1.939,0.118,
+1.021,2.095,2.200,1.719,1.968,3.704,4.063,1.898,1.496,2.669,
+2.021,1.138,1.189,1.691,1.981,0.204,0.939,1.596,2.733,1.973,
+1.605,3.784,0.230,0.156,0.106,0.177,0.146,0.110,0.087,0.120,
+0.135,0.014,0.075,0.142,0.294,0.272,0.163,0.356,1.814,1.154,
+1.079,1.742,0.117,0.071,0.067,0.149,1.336,0.105,0.635,1.109,
+1.243,1.191,1.290,1.927,1.625,0.963,1.005,1.841,1.713,1.291,
+1.063,1.818,1.747,0.137,1.099,2.085,2.262,1.749,2.104,4.555,
+6.329,2.467,2.099,4.850,2.662,1.406,1.423,2.069,2.652,0.222,
+1.166,2.158,4.591,2.790,2.241,6.041,3.644,2.134,1.673,2.601,
+2.059,1.478,1.284,1.553,2.037,0.133,1.185,1.985,3.059,2.393,
+1.832,3.709,2.390,1.721,1.537,2.749,0.176,0.122,0.105,0.212,
+2.092,0.125,1.141,2.359,2.003,1.938,1.890,3.371,4.884,2.357,
+2.172,5.000,2.797,2.053,1.641,2.935,3.297,0.205,2.052,4.045,
+5.760,4.204,4.785,12.7,5.861,3.008,2.291,4.577,2.473,1.477,
+1.305,2.064,2.016,0.158,0.834,1.674,2.980,1.958,1.588,3.443,
+2.750,1.650,1.598,2.303,1.411,0.901,0.902,1.111,1.421,0.098,
+0.757,1.239,1.348,1.032,1.005,1.858,1.492,1.273,0.858,1.628,
+0.124,0.158,0.071,0.159,0.982,0.075,0.476,0.802,0.887,0.906,
+0.779,1.634,2.156,1.096,1.138,2.318,1.596,1.105,0.842,1.575,
+1.125,0.088,0.699,1.398,1.684,1.185,1.539,3.578,3.128,1.922,
+1.019,1.926,1.629,1.462,0.817,1.132,1.196,0.099,0.559,1.019,
+1.437,1.180,0.789,1.971,1.813,1.259,0.727,1.102,1.124,0.663,
+0.598,0.779,1.032,0.070,0.660,0.941,1.055,0.823,0.667,1.301,
+1.267,1.107,0.622,1.076,0.077,0.077,0.046,0.080,1.026,0.119,
+0.439,0.799,0.775,1.024,0.657,1.330,1.412,0.878,0.651,1.380,
+1.071,0.853,0.585,1.019,1.071,0.083,0.562,1.382,1.197,1.218,
+1.017,2.417,2.387,1.243,0.933,1.710,1.470,0.882,0.937,1.246,
+1.256,0.126,0.720,1.179,1.512,1.222,1.078,2.156,0.106,0.095,
+0.066,0.118,0.075,0.084,0.065,0.080,0.075,0.011,0.065,0.097,
+0.124,0.111,0.094,0.161,1.249,1.124,0.884,1.555,0.083,0.131,
+0.058,0.106,0.986,0.084,0.544,0.802,0.835,0.961,0.981,1.352,
+1.189,0.780,0.756,1.505,1.136,0.986,0.839,1.361,1.244,0.106,
+1.053,1.593,1.239,1.022,1.373,2.611,2.649,1.274,1.036,1.995,
+3.218,0.895,0.787,1.145,1.266,0.092,0.547,1.010,1.823,1.133,
+0.995,2.373,1.736,1.204,0.952,1.398,1.221,0.845,0.809,1.074,
+0.984,0.070,0.709,1.210,1.371,1.109,0.990,1.835,1.247,0.966,
+0.897,1.654,0.090,0.066,0.050,0.113,1.009,0.069,0.602,1.073,
+1.031,1.039,1.091,1.966,1.955,1.028,1.101,2.241,1.340,0.967,
+0.842,1.617,1.663,0.104,1.110,2.257,2.629,2.084,2.311,5.395,
+4.732,2.727,1.769,4.135,1.829,1.217,0.894,1.585,1.734,0.155,
+0.839,1.564,2.649,1.834,1.237,2.697,3.107,1.974,1.220,3.287,
+1.293,0.871,0.971,1.312,1.659,0.122,0.933,1.458,1.643,1.544,
+1.104,2.432,1.720,1.447,1.230,2.123,0.146,0.141,0.106,0.263,
+1.053,0.105,0.539,0.926,1.038,1.422,0.995,1.821,2.990,1.688,
+1.576,3.924,1.847,1.398,1.239,2.481,1.575,0.142,1.035,2.025,
+2.742,1.921,2.662,6.810,0.239,0.187,0.089,0.190,0.129,0.124,
+0.072,0.118,0.128,0.018,0.063,0.107,0.161,0.165,0.087,0.190,
+0.200,0.162,0.079,0.150,0.110,0.097,0.068,0.103,0.131,0.015,
+0.088,0.133,0.149,0.141,0.091,0.180,0.117,0.124,0.073,0.140,
+9.94e-3,0.011,8.02e-3,0.016,0.110,0.014,0.055,0.095,0.094,0.135,
+0.087,0.162,0.306,0.195,0.144,0.376,0.236,0.207,0.145,0.291,
+0.148,0.016,0.102,0.220,0.248,0.212,0.212,0.519,2.352,1.338,
+0.888,1.447,1.164,0.900,0.876,1.191,1.498,0.181,0.846,1.306,
+1.495,1.424,1.167,2.251,0.170,0.142,0.071,0.127,0.082,0.076,
+0.063,0.071,0.112,0.016,0.075,0.099,0.167,0.177,0.112,0.178,
+1.485,1.254,0.921,1.433,0.089,0.083,0.075,0.118,0.999,0.099,
+0.536,0.835,0.842,1.007,0.943,1.355,1.498,0.867,0.912,1.635,
+1.256,1.077,0.926,1.506,1.250,0.135,1.230,1.812,1.444,1.328,
+1.669,2.987,2.642,1.341,0.913,1.936,1.182,0.748,0.685,1.004,
+1.352,0.128,0.745,1.301,1.971,1.504,1.154,2.706,2.766,2.150,
+1.000,1.816,1.276,1.060,0.783,1.006,1.488,0.112,0.917,1.462,
+1.978,1.792,1.272,2.315,1.693,1.427,1.094,2.080,0.107,0.101,
+0.071,0.152,1.312,0.105,0.836,1.464,1.312,1.839,1.487,2.534,
+2.814,1.558,1.500,3.103,1.626,1.281,1.103,1.978,2.079,0.165,
+1.767,3.149,3.181,2.682,3.063,6.726,7.258,3.890,2.785,6.604,
+2.690,1.935,1.530,2.236,2.740,0.213,1.272,2.329,4.873,2.791,
+2.269,5.762,3.178,1.880,1.294,2.983,1.541,0.862,0.957,1.486,
+2.650,0.134,1.046,1.891,2.238,1.428,1.272,3.288,2.397,1.579,
+1.422,3.267,0.176,0.126,0.102,0.307,1.662,0.116,0.887,1.626,
+1.630,1.522,1.296,3.025,5.066,2.226,2.561,8.159,2.716,1.689,
+1.832,3.775,2.573,0.167,1.725,3.167,4.527,2.663,3.424,9.893,
+3.946,2.300,1.386,2.981,1.990,1.437,1.012,1.510,1.893,0.142,
+1.002,1.764,2.172,1.823,1.123,2.814,2.352,1.600,0.889,1.764,
+1.323,1.026,0.770,1.109,1.514,0.102,0.964,1.982,1.649,1.254,
+0.882,2.141,1.812,1.395,0.960,2.082,0.101,0.094,0.063,0.153,
+1.616,0.110,0.780,1.552,1.485,1.429,1.072,2.263,3.256,1.718,
+1.457,3.978,2.323,1.593,1.403,2.977,1.971,0.128,1.337,2.664,
+2.866,2.105,2.081,5.395,3.313,1.722,1.218,2.360,2.080,1.268,
+1.312,1.995,2.086,0.228,1.161,1.933,2.309,1.972,1.815,3.933,
+0.228,0.184,0.083,0.197,0.106,0.096,0.082,0.117,0.132,0.016,
+0.095,0.154,0.203,0.206,0.135,0.274,1.999,1.622,1.247,2.853,
+0.120,0.084,0.078,0.198,1.554,0.125,0.943,1.660,1.540,1.665,
+1.493,2.613,2.204,1.253,1.341,2.727,2.309,1.499,1.446,2.760,
+2.371,0.165,1.794,3.090,2.700,2.261,2.768,5.854,6.378,2.972,
+2.088,5.035,2.473,1.554,1.542,2.421,3.042,0.256,1.500,3.038,
+5.150,3.271,2.691,8.901,4.471,3.789,1.667,3.325,1.960,1.389,
+1.375,1.758,2.493,0.193,1.457,2.819,3.201,2.648,1.927,4.470,
+3.678,2.771,2.256,5.494,0.190,0.159,0.117,0.336,2.978,0.189,
+1.791,3.739,3.464,3.347,3.098,6.097,7.757,3.740,3.822,13.1,
+4.263,3.182,3.084,5.989,6.231,0.341,4.406,9.698,13.0,7.775,
+8.876,23.2,6.937,4.060,3.512,6.410,3.437,2.148,1.952,2.770,
+3.127,0.339,1.546,2.566,5.018,3.908,2.518,4.823,3.603,2.204,
+1.723,2.599,2.156,1.340,1.266,1.549,1.888,0.131,1.279,1.686,
+1.912,1.691,1.770,2.568,2.063,1.461,1.308,2.163,0.140,0.110,
+0.115,0.248,1.281,0.115,1.204,1.289,1.283,1.499,1.519,2.365,
+3.142,1.672,1.503,3.545,2.200,1.441,1.405,2.779,1.832,0.142,
+1.581,2.194,2.769,1.987,2.323,5.261,4.654,2.702,1.890,2.747,
+2.274,1.999,1.199,1.613,4.010,1.018,2.066,1.858,2.370,3.193,
+1.412,2.476,2.936,1.712,1.202,1.685,1.509,1.154,0.952,1.214,
+1.619,0.176,1.271,1.801,1.410,1.426,1.229,1.863,1.594,1.442,
+0.975,1.385,0.106,0.096,0.082,0.127,1.355,0.125,1.048,1.387,
+1.013,1.398,1.170,1.520,1.692,1.220,0.810,1.557,1.437,1.098,
+0.858,1.405,1.551,0.131,1.067,1.696,1.819,1.687,1.537,3.054,
+3.095,1.309,0.960,1.719,1.591,0.970,0.885,1.367,1.442,0.179,
+0.723,1.133,1.682,1.389,1.142,2.433,0.162,0.124,0.074,0.135,
+0.136,0.099,0.076,0.113,0.096,0.014,0.072,0.109,0.152,0.181,
+0.128,0.224,1.392,0.848,0.833,1.199,0.096,0.064,0.067,0.118,
+1.214,0.087,0.611,0.913,0.951,0.965,1.111,1.604,1.182,0.717,
+0.839,1.521,1.151,0.916,0.865,1.393,1.308,0.113,1.091,1.675,
+1.556,1.387,1.857,3.341,3.324,1.474,1.169,2.406,1.597,1.070,
+0.898,1.215,1.695,0.181,0.731,1.240,2.346,1.703,1.236,3.093,
+2.487,1.523,1.158,1.825,1.444,1.231,0.875,1.213,1.236,0.108,
+0.885,1.431,1.678,1.711,1.231,2.359,1.320,0.993,0.956,1.722,
+0.092,0.066,0.076,0.145,1.196,0.084,0.714,1.311,1.054,1.184,
+1.157,2.087,2.229,1.219,1.317,2.718,1.506,1.194,1.011,1.685,
+1.948,0.142,1.462,2.511,2.907,2.925,2.731,6.315,5.423,2.953,
+2.469,4.001,2.754,2.243,1.598,2.054,1.634,0.166,0.851,1.670,
+2.416,1.942,1.493,2.940,3.112,2.016,1.788,2.256,2.090,1.680,
+1.531,1.562,1.408,0.171,1.031,1.411,1.236,1.223,1.290,1.918,
+1.391,1.111,0.914,1.430,0.102,0.108,0.078,0.152,0.835,0.078,
+0.539,0.765,0.792,0.983,0.924,1.818,1.859,0.984,0.908,2.301,
+1.436,1.160,1.015,1.592,1.050,0.091,0.784,1.324,1.591,1.244,
+1.403,3.664,3.445,2.778,1.290,1.895,2.380,5.563,1.294,1.497,
+1.271,0.189,0.719,1.097,1.335,1.548,0.912,1.847,2.882,2.150,
+1.333,1.764,2.307,1.678,1.356,1.740,1.375,0.150,1.050,1.515,
+1.396,1.645,1.184,1.969,1.395,1.403,0.711,1.089,0.104,0.173,
+0.067,0.105,1.073,0.140,0.609,0.939,0.759,1.374,0.947,1.467,
+1.440,1.123,0.672,1.480,1.305,1.625,0.707,1.133,1.201,0.107,
+0.782,1.337,1.290,1.546,1.173,2.907,2.260,1.301,0.990,1.774,
+1.571,1.299,1.049,1.447,1.163,0.117,0.747,1.029,1.336,1.199,
+1.145,1.999,0.120,0.123,0.080,0.141,0.097,0.189,0.101,0.106,
+0.073,0.019,0.073,0.102,0.100,0.140,0.109,0.153,1.543,1.405,
+1.023,1.559,0.114,0.204,0.100,0.145,1.101,0.107,0.699,0.950,
+0.863,1.195,1.322,1.512,1.300,0.781,0.850,1.810,1.306,1.393,
+1.158,1.748,1.444,0.116,1.089,1.847,1.517,1.311,1.806,3.153,
+2.328,1.181,0.998,1.709,1.937,0.973,0.740,1.051,1.044,0.083,
+0.658,0.906,1.492,1.165,1.246,2.258,1.896,1.407,1.084,1.499,
+1.354,1.392,1.044,1.391,1.033,0.090,0.866,1.195,1.182,1.320,
+1.372,2.054,1.357,1.057,0.929,1.451,0.079,0.082,0.061,0.117,
+0.907,0.075,0.662,1.030,0.954,1.156,1.197,1.896,1.811,0.962,
+1.256,1.993,1.291,1.223,0.999,1.756,1.424,0.104,1.260,2.008,
+2.223,2.558,2.479,5.645,3.463,2.392,1.979,3.679,1.584,1.197,
+0.972,1.472,1.529,0.139,0.892,1.423,1.819,1.580,1.114,2.343,
+2.485,1.936,1.233,2.601,1.460,1.433,1.029,1.305,1.698,0.171,
+1.234,1.591,1.306,1.739,1.082,2.124,1.418,1.418,1.073,2.034,
+0.129,0.146,0.114,0.299,1.259,0.116,0.653,1.022,0.816,1.268,
+0.858,1.703,2.184,1.326,1.120,3.167,1.466,1.305,1.123,2.463,
+1.466,0.161,1.211,2.161,2.023,1.725,2.100,6.237,0.144,0.143,
+0.081,0.143,0.103,0.169,0.067,0.102,0.112,0.025,0.075,0.097,
+0.114,0.157,0.076,0.160,0.146,0.138,0.062,0.115,0.139,0.241,
+0.094,0.109,0.120,0.025,0.099,0.123,0.103,0.157,0.085,0.153,
+0.077,0.103,0.063,0.108,8.36e-3,0.018,0.021,0.019,0.095,0.021,
+0.075,0.099,0.068,0.121,0.086,0.134,0.156,0.131,0.079,0.251,
+0.151,0.168,0.120,0.262,0.109,0.017,0.116,0.195,0.142,0.161,
+0.145,0.395,2.274,1.576,1.127,1.637,1.406,1.427,1.057,1.480,
+1.562,0.235,1.013,1.497,1.445,1.830,1.391,2.645,0.153,0.163,
+0.088,0.128,0.099,0.170,0.097,0.101,0.128,0.023,0.122,0.129,
+0.143,0.226,0.134,0.210,1.483,1.614,1.190,1.901,0.116,0.137,
+0.127,0.180,1.204,0.150,0.741,1.147,0.813,1.272,1.202,1.766,
+1.474,1.014,0.937,1.717,1.465,1.533,1.232,1.890,1.624,0.179,
+1.550,2.199,1.553,1.604,2.202,3.891,2.377,1.543,0.933,2.009,
+1.169,0.909,0.660,1.087,1.309,0.135,0.733,1.314,1.638,1.513,
+1.023,3.020,2.655,2.164,1.233,1.934,1.486,1.515,1.050,1.312,
+1.840,0.164,1.239,1.957,1.768,2.308,1.446,2.852,1.653,1.633,
+1.288,2.170,0.106,0.128,0.095,0.200,1.464,0.152,1.071,1.803,
+1.300,2.020,1.616,2.989,2.262,1.592,1.213,2.781,1.492,1.463,
+1.187,2.315,2.267,0.183,2.048,3.250,3.335,3.287,3.379,6.915,
+4.742,2.490,1.973,4.101,1.901,1.191,1.039,1.847,1.930,0.151,
+1.003,1.870,2.868,1.858,1.438,3.690,2.749,2.982,1.065,2.154,
+1.287,0.959,0.772,1.360,1.511,0.135,0.956,1.476,1.545,1.172,
+1.003,2.538,1.553,1.287,1.006,2.178,0.105,0.085,0.078,0.252,
+1.187,0.092,0.941,1.380,1.066,1.124,0.977,2.344,2.662,1.409,
+1.409,4.209,1.618,1.133,1.238,3.100,1.664,0.119,1.556,2.505,
+2.875,1.923,2.220,8.613,3.223,1.954,1.239,2.575,1.810,1.464,
+1.036,1.500,1.684,0.176,1.093,1.822,1.874,1.938,1.117,2.621,
+2.274,1.614,0.888,1.621,1.567,1.442,0.979,1.510,1.589,0.137,
+1.093,1.764,1.576,1.509,1.078,2.324,1.377,1.279,0.887,1.844,
+0.091,0.107,0.081,0.210,1.410,0.126,0.935,1.656,1.254,1.564,
+1.110,2.277,2.127,1.373,1.235,3.282,1.926,1.656,1.443,4.657,
+1.732,0.143,1.688,2.965,2.230,2.158,1.948,5.418,3.037,1.292,
+1.026,2.081,1.867,1.201,1.033,1.704,1.658,0.189,1.289,1.741,
+1.936,1.632,1.562,3.289,0.200,0.123,0.072,0.148,0.095,0.110,
+0.076,0.108,0.090,0.013,0.145,0.128,0.142,0.161,0.122,0.265,
+1.456,1.288,1.019,1.931,0.100,0.094,0.080,0.176,1.367,0.134,
+1.122,1.638,1.184,1.510,1.517,2.597,1.716,1.038,1.080,2.195,
+1.845,1.334,1.276,2.521,2.062,0.174,1.785,3.161,2.182,2.051,
+2.727,5.893,4.049,1.857,1.333,3.088,1.717,1.125,0.920,1.569,
+2.741,0.251,1.110,2.071,2.954,2.156,1.452,4.579,3.715,2.227,
+1.284,2.515,1.537,1.217,1.177,1.667,1.707,0.129,1.503,2.175,
+2.087,1.943,1.506,5.538,2.275,1.899,1.682,3.461,0.129,0.128,
+0.099,0.329,1.957,0.169,1.505,2.760,2.125,2.448,2.395,4.866,
+4.192,2.145,2.401,5.712,2.657,2.288,2.454,8.196,3.909,0.328,
+3.271,6.249,6.947,8.420,6.709,16.8,6.654,3.759,3.279,6.792,
+3.781,2.340,2.130,3.176,2.955,0.276,1.427,2.944,4.957,3.642,
+2.238,4.747,3.045,1.784,1.431,2.418,2.052,1.221,1.222,1.754,
+1.659,0.142,1.055,1.494,2.019,1.841,1.437,2.560,2.764,1.676,
+1.363,2.966,0.162,0.114,0.098,0.306,1.411,0.109,0.988,1.521,
+1.376,1.482,1.495,2.744,3.274,1.606,1.324,3.155,2.047,1.336,
+1.184,2.342,1.648,0.121,1.139,2.018,2.658,1.537,2.065,4.793,
+4.939,2.764,1.793,3.457,3.021,2.062,1.710,2.157,2.147,0.216,
+1.075,1.930,2.642,2.344,1.391,3.285,2.888,1.771,1.154,1.933,
+1.938,1.165,1.145,1.450,1.850,0.160,1.160,1.643,1.723,1.507,
+1.179,2.025,2.221,1.958,1.359,2.289,0.169,0.136,0.115,0.225,
+1.799,0.158,1.199,2.084,1.433,1.800,1.841,2.593,2.457,1.739,
+1.075,2.274,2.456,1.842,1.322,2.497,1.833,0.150,1.230,2.409,
+2.598,1.969,2.318,4.811,3.198,1.631,1.231,2.448,2.888,1.690,
+1.515,2.105,1.937,0.226,1.010,1.770,2.564,2.128,1.665,3.482,
+0.225,0.170,0.121,0.256,0.230,0.177,0.153,0.222,0.167,0.023,
+0.135,0.203,0.319,0.377,0.215,0.414,1.745,1.452,1.500,3.245,
+0.160,0.116,0.132,0.475,1.408,0.136,0.861,1.386,1.272,1.529,
+1.623,2.321,1.746,1.011,0.981,2.035,2.321,1.729,1.522,2.706,
+1.961,0.183,1.347,2.645,3.219,1.999,2.360,4.472,3.937,1.826,
+1.445,3.334,2.194,1.269,1.315,1.869,1.915,0.201,1.033,1.702,
+3.583,2.658,1.832,4.286,2.773,1.711,1.438,2.266,2.003,1.385,
+1.324,1.732,1.638,0.137,1.247,1.849,2.526,2.412,1.757,3.281,
+2.329,1.994,1.871,3.101,0.178,0.126,0.135,0.301,1.960,0.161,
+1.375,2.261,1.995,2.357,2.443,3.914,3.612,1.879,1.816,4.278,
+2.566,1.508,1.832,3.427,3.602,0.253,2.398,4.540,5.684,4.146,
+5.384,10.7,0.277,0.199,0.140,0.216,0.205,0.147,0.117,0.183,
+0.131,0.016,0.068,0.192,0.172,0.165,0.111,0.224,0.203,0.136,
+0.224,0.194,0.160,0.116,0.135,0.147,0.099,0.013,0.079,0.110,
+0.121,0.123,0.110,0.183,0.133,0.106,0.067,0.135,0.013,0.015,
+0.010,0.020,0.075,0.010,0.054,0.098,0.066,0.095,0.094,0.163,
+0.163,0.102,0.084,0.179,0.152,0.127,0.093,0.186,0.100,0.011,
+0.074,0.150,0.145,0.115,0.144,0.349,0.222,0.178,0.090,0.150,
+0.181,0.258,0.118,0.141,0.098,0.016,0.057,0.118,0.121,0.127,
+0.081,0.178,0.188,0.168,0.084,0.130,0.183,0.180,0.119,0.152,
+0.117,0.021,0.090,0.114,0.119,0.119,0.098,0.159,0.123,0.136,
+0.084,0.138,0.016,0.024,0.017,0.018,0.127,0.037,0.082,0.145,
+0.082,0.147,0.177,0.176,0.150,0.122,0.076,0.155,0.156,0.157,
+0.103,0.171,0.123,0.012,0.081,0.158,0.147,0.148,0.152,0.317,
+0.147,0.087,0.064,0.100,0.143,0.109,0.105,0.119,0.093,0.015,
+0.069,0.089,0.103,0.105,0.105,0.180,9.61e-3,0.014,0.011,0.015,
+0.015,0.021,0.016,0.019,0.011,6.35e-3,0.017,0.016,0.012,0.018,
+0.015,0.021,0.117,0.121,0.138,0.399,0.014,0.021,0.026,0.051,
+0.147,0.024,0.084,0.128,0.088,0.119,0.146,0.195,0.102,0.067,
+0.070,0.164,0.138,0.136,0.118,0.212,0.133,0.027,0.123,0.371,
+0.152,0.141,0.168,0.345,0.238,0.169,0.110,0.192,0.256,0.120,
+0.105,0.151,0.122,0.015,0.082,0.118,0.224,0.210,0.176,0.411,
+0.223,0.160,0.136,0.203,0.197,0.175,0.150,0.195,0.129,0.015,
+0.124,0.157,0.187,0.229,0.182,0.311,0.130,0.127,0.133,0.229,
+0.015,0.014,0.014,0.029,0.117,0.016,0.096,0.157,0.130,0.170,
+0.199,0.326,0.220,0.137,0.137,0.305,0.191,0.147,0.154,0.288,
+0.207,0.022,0.172,0.333,0.303,0.334,0.377,0.930,4.557,3.384,
+2.355,4.427,2.305,1.812,1.357,2.299,2.031,0.214,1.192,2.086,
+2.016,1.678,1.375,2.953,3.512,2.365,1.444,2.385,2.283,1.753,
+1.728,2.027,1.955,0.208,1.721,2.405,1.662,1.987,1.465,3.024,
+2.129,2.198,1.369,2.699,0.235,0.278,0.180,0.441,1.964,0.209,
+1.256,1.994,1.413,2.108,1.545,2.821,2.458,1.738,1.240,2.965,
+2.162,1.882,1.372,2.911,2.240,0.211,1.711,3.071,2.593,2.246,
+2.680,6.804,0.226,0.209,0.102,0.185,0.200,0.190,0.117,0.167,
+0.116,0.032,0.080,0.127,0.116,0.151,0.087,0.198,0.200,0.181,
+0.084,0.135,0.171,0.161,0.136,0.160,0.123,0.024,0.124,0.153,
+0.118,0.140,0.097,0.175,0.132,0.187,0.098,0.166,0.017,0.034,
+0.024,0.026,0.143,0.036,0.124,0.187,0.096,0.171,0.138,0.200,
+0.246,0.180,0.098,0.272,0.232,0.261,0.153,0.307,0.185,0.027,
+0.141,0.291,0.188,0.202,0.213,0.496,3.396,2.171,1.428,1.848,
+2.508,2.307,1.982,2.142,2.172,0.300,1.692,2.218,1.759,1.902,
+1.979,3.250,0.222,0.251,0.132,0.164,0.185,0.243,0.172,0.166,
+0.183,0.038,0.211,0.215,0.185,0.262,0.200,0.288,2.778,2.537,
+2.125,3.059,0.239,0.216,0.240,0.297,2.777,0.299,1.258,2.311,
+1.618,1.929,2.247,3.148,2.149,1.293,1.200,1.781,2.391,1.981,
+1.866,2.325,2.233,0.244,2.579,3.486,1.989,2.072,3.113,4.861,
+3.136,1.972,1.392,2.735,1.844,1.501,1.071,1.543,1.677,0.179,
+1.321,1.904,2.052,1.743,1.465,3.228,3.199,2.798,1.780,2.570,
+2.421,2.321,1.729,2.025,1.987,0.205,2.248,2.654,2.132,2.536,
+2.007,3.325,2.644,2.402,2.085,4.093,0.209,0.237,0.192,0.338,
+2.910,0.278,2.721,4.015,2.516,3.444,3.293,4.917,3.116,1.992,
+1.702,3.487,2.570,2.158,1.915,2.996,3.648,0.292,4.258,5.955,
+4.469,4.413,5.584,9.480,5.872,2.866,2.166,4.801,2.626,1.611,
+1.585,2.384,2.467,0.203,1.214,2.305,3.256,2.371,1.819,4.878,
+3.316,1.748,1.220,2.253,1.866,1.165,1.179,1.807,1.584,0.108,
+1.080,1.906,1.703,1.368,1.277,3.419,2.437,1.678,1.237,2.758,
+0.172,0.140,0.109,0.311,2.006,0.147,1.234,2.238,1.782,1.890,
+1.678,3.546,3.244,1.745,1.614,3.725,2.208,1.509,1.411,2.949,
+2.227,0.170,1.431,2.786,3.326,2.676,2.815,7.778,4.928,2.884,
+1.856,3.533,3.280,2.210,2.002,2.568,2.140,0.189,1.454,2.338,
+2.399,2.400,1.589,3.966,3.517,2.335,1.402,2.272,2.319,1.786,
+1.709,2.273,1.865,0.142,1.482,2.397,1.667,1.721,1.327,2.833,
+2.402,2.436,1.486,3.086,0.162,0.182,0.125,0.295,2.341,0.232,
+1.734,3.536,1.888,2.650,2.315,4.064,3.500,2.320,1.694,3.804,
+3.058,2.647,2.179,4.000,2.551,0.211,2.088,4.595,3.050,3.334,
+3.310,7.495,4.572,2.275,1.797,2.656,3.310,2.162,2.224,2.839,
+2.685,0.298,1.904,2.887,2.721,2.541,3.064,5.044,0.244,0.193,
+0.118,0.204,0.190,0.189,0.180,0.216,0.154,0.024,0.167,0.249,
+0.221,0.266,0.208,0.362,3.187,2.799,2.602,3.985,0.221,0.184,
+0.189,0.364,3.516,0.318,2.442,3.873,2.595,3.145,3.434,5.302,
+3.485,2.256,2.158,3.427,3.721,2.879,3.025,4.485,3.337,0.324,
+3.777,7.293,3.494,3.759,4.895,9.025,5.931,2.589,2.077,4.412,
+2.595,1.698,1.550,2.326,2.797,0.262,1.707,2.762,3.639,2.530,
+2.393,5.797,3.442,2.489,1.614,2.879,2.300,1.772,1.803,2.348,
+2.042,0.151,1.993,3.033,2.830,2.304,2.114,4.039,3.864,3.204,
+2.787,5.720,0.241,0.217,0.173,0.429,4.158,0.326,3.625,6.659,
+4.561,4.874,4.848,8.809,6.177,3.105,3.021,7.454,4.163,3.298,
+3.237,5.965,5.842,0.431,5.594,11.8,7.697,6.810,9.309,20.1,
+28.7,9.218,6.649,18.4,6.777,3.778,3.402,5.916,5.362,0.457,
+2.159,4.454,9.631,7.282,4.082,11.9,5.305,3.072,2.152,3.540,
+2.808,1.528,1.590,2.142,2.658,0.172,1.781,2.199,3.423,3.146,
+1.983,4.346,3.990,2.402,1.770,3.956,0.261,0.183,0.131,0.444,
+2.262,0.151,1.129,2.216,2.293,2.401,1.882,4.613,6.450,3.443,
+2.552,6.668,4.240,2.837,2.203,5.007,3.387,0.252,2.018,3.785,
+6.314,4.263,3.766,12.9,5.873,2.732,1.788,3.929,3.264,1.584,
+1.335,2.045,2.140,0.232,0.840,1.613,2.641,2.019,1.223,3.255,
+2.802,1.672,1.007,1.998,1.616,1.105,0.924,1.380,1.524,0.103,
+0.844,1.404,1.716,1.346,1.088,2.280,2.191,1.677,1.126,2.175,
+0.131,0.095,0.077,0.163,1.737,0.114,0.800,1.435,1.601,1.513,
+1.456,2.430,2.692,3.322,1.181,2.676,1.904,1.551,1.025,2.094,
+1.754,0.128,0.932,1.926,2.617,1.961,2.016,5.269,4.729,1.905,
+1.537,2.963,3.766,1.577,1.395,2.459,2.211,0.229,0.868,1.914,
+3.618,2.533,1.734,5.312,0.225,0.147,0.112,0.202,0.200,0.118,
+0.127,0.193,0.147,0.013,0.081,0.161,0.355,0.313,0.173,0.453,
+2.053,1.409,1.469,2.336,0.160,0.089,0.098,0.234,1.645,0.115,
+0.899,1.486,1.659,1.616,1.606,2.824,2.320,1.281,1.319,2.742,
+2.341,1.448,1.389,2.833,2.103,0.140,1.322,2.718,3.429,2.228,
+2.880,6.840,7.277,3.350,2.530,6.006,3.666,1.835,1.977,3.298,
+3.187,0.254,1.621,2.935,6.758,3.706,2.932,8.152,3.837,2.269,
+1.861,3.043,2.365,1.503,1.948,2.355,2.201,0.141,1.524,2.368,
+3.949,3.227,2.317,5.096,2.884,2.333,2.023,3.882,0.215,0.132,
+0.139,0.307,2.275,0.154,1.598,2.684,2.678,2.825,2.702,5.241,
+6.039,3.047,3.177,8.530,4.071,2.469,2.726,5.237,4.721,0.272,
+3.374,6.466,10.1,6.241,8.365,24.4,7.579,3.733,2.849,6.228,
+3.480,2.251,1.681,2.841,2.295,0.188,1.017,2.231,3.429,2.683,
+1.692,4.383,4.124,2.429,4.226,4.021,2.564,1.625,1.551,2.068,
+1.842,0.133,1.162,1.613,1.909,1.702,1.439,2.985,2.488,1.723,
+1.212,2.418,0.153,0.161,0.088,0.236,1.307,0.105,0.795,1.483,
+1.400,1.515,1.308,2.825,3.063,1.894,1.578,3.287,2.503,1.831,
+1.360,2.777,1.603,0.115,0.988,1.760,2.722,2.087,2.008,5.494,
+4.580,2.632,1.404,3.042,3.010,2.363,1.291,1.916,1.576,0.135,
+0.666,1.544,2.202,1.623,0.987,2.754,2.386,2.138,0.860,1.531,
+2.233,2.672,0.977,1.990,1.117,0.101,0.690,1.203,1.453,1.291,
+0.926,2.104,2.005,1.703,1.004,2.003,0.139,0.161,0.074,0.152,
+1.793,0.187,0.775,1.513,1.693,1.724,1.307,2.720,2.381,1.981,
+1.066,2.614,2.036,1.926,1.096,2.336,1.757,0.120,0.852,1.824,
+2.399,2.073,1.695,5.033,3.498,1.666,1.304,2.380,2.591,1.510,
+1.420,2.010,1.789,0.198,1.118,1.492,2.475,2.048,1.805,3.968,
+0.146,0.112,0.105,0.174,0.124,0.188,0.100,0.143,0.097,0.016,
+0.076,0.118,0.182,0.211,0.132,0.261,2.153,1.653,1.459,2.903,
+0.138,0.123,0.111,0.254,2.041,0.164,1.090,1.657,1.711,1.961,
+1.877,3.275,2.155,1.211,1.207,2.661,2.173,1.597,1.618,3.041,
+2.180,0.181,1.418,2.766,2.900,2.235,2.695,6.527,4.686,2.163,
+1.714,3.605,4.365,1.554,1.426,2.427,2.143,0.185,1.302,2.062,
+3.666,2.583,2.245,6.809,3.019,1.935,1.694,2.572,2.132,1.942,
+1.568,2.286,1.763,0.148,1.359,2.106,2.776,3.616,2.169,4.299,
+2.393,1.908,1.682,3.144,0.178,0.122,0.117,0.261,1.844,0.143,
+1.393,2.338,2.056,2.561,2.387,4.800,3.770,1.920,2.154,4.498,
+3.087,1.924,2.237,5.337,3.251,0.242,2.325,4.427,5.486,6.180,
+5.431,19.3,7.512,4.301,2.809,6.123,3.037,2.354,1.482,2.917,
+3.052,0.236,1.486,2.662,3.389,2.564,1.783,4.264,4.309,2.908,
+1.882,3.597,2.393,1.814,1.463,2.146,2.620,0.200,1.700,2.673,
+2.786,2.847,1.956,4.276,2.941,2.635,1.707,3.659,0.263,0.236,
+0.168,0.472,2.391,0.213,1.211,2.225,2.031,2.777,2.015,4.295,
+3.949,2.511,1.861,5.024,2.947,2.295,1.800,4.047,3.324,0.256,
+1.959,3.998,4.400,3.419,3.824,10.4,0.274,0.213,0.101,0.215,
+0.293,0.176,0.090,0.162,0.142,0.018,0.067,0.133,0.174,0.187,
+0.100,0.241,0.185,0.183,0.093,0.162,0.147,0.190,0.087,0.139,
+0.139,0.020,0.108,0.155,0.181,0.180,0.114,0.254,0.138,0.131,
+0.082,0.170,0.014,0.017,0.012,0.018,0.160,0.023,0.098,0.156,
+0.121,0.159,0.138,0.253,0.276,0.275,0.130,0.441,0.231,0.229,
+0.140,0.346,0.195,0.023,0.121,0.293,0.284,0.272,0.224,0.750,
+5.392,2.713,1.879,2.924,3.370,2.620,2.031,2.846,2.948,0.379,
+1.745,2.756,3.130,2.828,2.530,5.293,0.237,0.225,0.114,0.189,
+0.173,0.176,0.119,0.167,0.183,0.025,0.137,0.180,0.291,0.294,
+0.195,0.378,3.083,2.783,2.244,3.403,0.240,0.208,0.188,0.312,
+3.804,0.319,2.788,3.551,2.289,2.655,3.007,4.511,3.483,2.050,
+1.936,3.329,3.416,2.744,2.543,3.746,3.484,0.298,3.556,5.230,
+3.707,3.298,5.132,9.654,5.843,3.025,2.212,4.913,3.054,2.130,
+1.606,3.028,2.908,0.257,1.962,3.239,3.922,2.968,2.518,6.905,
+4.668,3.528,2.136,3.756,3.015,2.502,1.866,2.628,3.241,0.236,
+2.573,3.616,4.453,3.995,3.405,6.689,3.753,3.321,2.796,5.469,
+0.252,0.228,0.184,0.386,4.345,0.313,3.853,5.501,4.293,4.903,
+5.366,8.511,5.999,3.131,2.906,6.017,3.781,2.997,2.805,4.693,
+5.746,0.400,5.639,9.680,8.627,6.604,9.759,21.2,28.6,8.789,
+5.108,15.1,5.245,3.095,2.298,5.001,4.419,0.407,2.325,4.433,
+7.449,6.146,3.903,11.4,4.323,2.785,1.652,3.036,2.097,1.505,
+1.071,1.935,2.396,0.159,1.207,2.357,4.409,2.362,1.494,4.456,
+3.365,2.379,1.582,4.204,0.194,0.197,0.112,0.401,2.145,0.170,
+1.326,2.509,2.515,2.628,1.988,5.383,5.996,3.565,2.658,7.514,
+3.517,3.016,2.067,5.039,3.622,0.265,2.269,4.594,7.679,5.468,
+4.975,19.0,6.523,3.234,1.703,3.753,6.449,2.744,1.533,2.529,
+2.695,0.236,1.140,2.276,3.037,2.864,1.302,3.197,3.455,2.677,
+1.154,2.322,1.537,2.028,0.700,1.528,2.277,0.188,1.333,2.441,
+2.995,2.535,1.559,4.225,2.765,2.249,1.354,3.616,0.184,0.175,
+0.088,0.271,2.505,0.186,1.510,2.959,2.248,2.462,1.906,5.101,
+4.181,4.409,2.242,6.599,2.897,2.798,1.711,5.054,3.007,0.248,
+2.004,4.453,4.132,5.067,3.298,14.8,6.870,3.142,2.375,4.038,
+4.171,2.457,2.290,3.886,3.499,0.345,2.047,3.917,4.680,3.658,
+3.148,7.463,0.242,0.281,0.108,0.214,0.190,0.158,0.116,0.234,
+0.145,0.018,0.119,0.205,0.413,0.297,0.188,0.521,4.114,3.352,
+2.613,4.880,0.249,0.193,0.162,0.381,3.705,0.304,4.331,4.641,
+3.904,4.262,4.507,8.251,5.529,3.308,2.861,5.915,4.771,3.367,
+3.320,6.543,5.059,0.357,4.924,8.670,6.675,5.317,7.740,19.7,
+22.2,6.023,4.447,11.2,3.959,1.931,1.793,3.653,3.493,0.266,
+1.800,3.992,5.329,3.812,2.897,12.0,4.972,6.217,2.128,3.215,
+3.280,2.032,2.143,4.501,3.022,0.262,2.169,3.598,6.192,4.064,
+2.927,10.1,5.489,4.144,3.243,6.800,0.315,0.245,0.164,0.510,
+5.354,0.389,5.879,9.077,6.288,6.449,6.757,16.9,20.5,4.847,
+3.914,8.225,7.074,5.269,3.954,9.927,8.967,0.612,10.4,19.6,
+19.3,13.4,18.9,104.0
+};
+
+static double hg19_biasTable20_5[] = {
+0.723
+};
+
+static double hg19_biasTable21_5[] = {
+0.890,0.592,0.592,0.883
+};
+
+static double hg19_biasTable22_5[] = {
+1.215,0.836,0.606,0.961,0.714,0.597,0.486,0.602,0.861,0.108,
+0.600,0.832,0.828,0.857,0.709,1.194
+};
+
+static double hg19_biasTable23_5[] = {
+1.908,1.019,0.726,1.272,1.097,0.834,0.663,0.791,0.995,0.120,
+0.544,0.793,1.061,0.916,0.646,1.266,1.007,0.773,0.462,0.648,
+0.738,0.622,0.522,0.537,0.684,0.099,0.530,0.655,0.565,0.690,
+0.459,0.721,0.924,0.949,0.697,0.916,0.097,0.119,0.100,0.121,
+0.852,0.121,0.623,0.834,0.644,0.949,0.764,1.011,1.083,0.645,
+0.566,1.055,0.957,0.845,0.682,0.986,0.951,0.096,0.733,1.087,
+1.080,0.917,0.998,1.847
+};
+
+static double hg19_biasTable24_5[] = {
+3.016,1.495,1.128,2.102,1.394,0.956,0.753,1.007,1.240,0.126,
+0.609,0.955,1.567,1.226,0.793,1.548,1.617,1.124,0.704,0.986,
+1.088,0.805,0.730,0.748,0.978,0.116,0.732,0.856,0.773,0.865,
+0.601,0.954,1.124,1.030,0.773,1.097,0.111,0.118,0.097,0.156,
+0.800,0.102,0.550,0.749,0.662,0.882,0.650,1.006,1.425,0.753,
+0.682,1.429,1.081,0.843,0.681,1.094,0.924,0.090,0.613,0.982,
+1.218,0.861,0.952,2.082,1.556,0.976,0.573,0.958,1.046,0.850,
+0.586,0.652,0.748,0.098,0.416,0.605,0.667,0.723,0.428,0.798,
+1.046,0.867,0.452,0.619,0.808,0.628,0.535,0.544,0.739,0.131,
+0.544,0.701,0.491,0.664,0.412,0.605,0.740,0.833,0.510,0.684,
+0.085,0.122,0.096,0.100,0.749,0.121,0.545,0.734,0.500,0.834,
+0.564,0.752,0.724,0.507,0.366,0.682,0.786,0.732,0.510,0.770,
+0.639,0.067,0.447,0.702,0.623,0.603,0.568,1.119,1.430,0.840,
+0.606,0.861,1.143,0.980,0.836,0.878,1.101,0.166,0.683,0.871,
+0.856,0.898,0.723,1.223,0.107,0.127,0.068,0.090,0.108,0.154,
+0.124,0.094,0.109,0.045,0.133,0.116,0.094,0.171,0.097,0.126,
+0.859,0.986,0.760,0.846,0.104,0.138,0.127,0.120,0.928,0.158,
+0.628,0.805,0.587,0.984,0.847,0.953,0.784,0.556,0.508,0.751,
+0.990,0.994,0.833,1.020,0.994,0.124,0.862,1.115,0.799,0.835,
+0.971,1.475,1.733,0.800,0.622,1.214,0.851,0.587,0.505,0.659,
+0.932,0.093,0.490,0.770,1.200,0.852,0.665,1.548,1.291,1.014,
+0.641,0.922,0.978,0.933,0.724,0.787,0.934,0.110,0.737,0.976,
+0.920,1.098,0.744,1.227,1.012,0.986,0.772,1.074,0.091,0.102,
+0.084,0.111,0.973,0.107,0.799,1.086,0.849,1.136,1.034,1.373,
+1.436,0.786,0.729,1.407,1.011,0.856,0.734,1.109,1.285,0.106,
+1.040,1.596,1.716,1.410,1.537,2.824
+};
+
+static double hg19_biasTable25_5[] = {
+5.042,2.155,1.740,3.339,2.167,1.310,1.088,1.461,2.003,0.193,
+0.915,1.443,2.820,2.057,1.251,2.349,2.196,1.301,0.900,1.224,
+1.365,0.877,0.778,0.831,1.225,0.121,0.766,0.920,1.067,1.048,
+0.769,1.171,1.624,1.140,0.884,1.359,0.133,0.110,0.092,0.172,
+0.950,0.093,0.601,0.817,0.874,1.003,0.800,1.172,2.321,1.046,
+0.967,1.984,1.540,1.059,0.888,1.450,1.210,0.107,0.749,1.136,
+1.704,1.055,1.157,2.329,2.675,1.454,0.899,1.491,1.665,1.132,
+0.811,0.929,1.211,0.153,0.612,0.872,1.087,1.115,0.630,1.140,
+1.636,1.209,0.657,0.888,1.110,0.764,0.676,0.689,1.129,0.175,
+0.713,0.950,0.735,0.908,0.567,0.813,1.154,1.123,0.722,0.950,
+0.126,0.124,0.100,0.120,1.154,0.149,0.705,0.969,0.719,1.064,
+0.750,0.922,1.040,0.718,0.484,0.870,1.093,0.888,0.634,0.881,
+0.900,0.082,0.574,0.867,0.872,0.765,0.770,1.437,1.882,0.872,
+0.701,1.087,1.397,0.964,0.823,0.974,1.462,0.173,0.615,0.881,
+1.192,1.038,0.740,1.452,0.139,0.121,0.074,0.113,0.132,0.129,
+0.103,0.112,0.128,0.030,0.117,0.119,0.141,0.209,0.108,0.172,
+0.865,0.778,0.741,0.848,0.093,0.084,0.111,0.123,0.842,0.119,
+0.566,0.693,0.603,0.845,0.746,0.828,0.831,0.518,0.510,0.811,
+1.013,0.806,0.756,0.983,0.914,0.102,0.687,0.927,0.884,0.831,
+0.882,1.457,2.396,0.928,0.760,1.661,1.021,0.616,0.587,0.811,
+1.225,0.119,0.540,0.866,1.834,1.133,0.826,1.982,1.549,1.036,
+0.710,1.065,1.067,0.806,0.699,0.832,1.009,0.097,0.692,0.947,
+1.138,1.148,0.772,1.351,1.019,0.867,0.774,1.066,0.091,0.073,
+0.086,0.113,0.880,0.084,0.631,0.884,0.827,0.998,0.918,1.219,
+1.586,0.868,0.817,1.648,0.979,0.702,0.705,1.086,1.346,0.104,
+0.906,1.481,1.981,1.511,1.618,3.291,2.324,1.362,0.960,1.625,
+1.304,0.999,0.744,0.884,0.936,0.108,0.490,0.778,1.056,1.001,
+0.639,1.162,1.459,1.117,0.737,0.922,1.059,0.844,0.802,0.739,
+0.794,0.117,0.713,0.755,0.579,0.732,0.528,0.796,0.803,0.849,
+0.588,0.776,0.088,0.115,0.081,0.109,0.576,0.076,0.450,0.578,
+0.478,0.662,0.530,0.771,0.889,0.515,0.456,0.824,0.869,0.773,
+0.531,0.743,0.618,0.072,0.416,0.630,0.757,0.577,0.634,1.253,
+1.556,1.172,0.576,0.911,1.107,1.098,0.620,0.686,0.728,0.107,
+0.396,0.588,0.594,0.721,0.416,0.771,1.075,1.033,0.522,0.647,
+0.820,0.566,0.579,0.564,0.756,0.163,0.541,0.700,0.448,0.708,
+0.443,0.600,0.753,0.986,0.552,0.701,0.105,0.185,0.121,0.125,
+0.765,0.159,0.547,0.726,0.473,0.980,0.626,0.762,0.615,0.491,
+0.330,0.544,0.752,0.847,0.479,0.618,0.590,0.070,0.394,0.609,
+0.502,0.552,0.480,0.911,1.091,0.698,0.490,0.709,0.982,0.894,
+0.742,0.746,0.796,0.134,0.495,0.638,0.610,0.732,0.531,0.891,
+0.080,0.117,0.064,0.086,0.103,0.172,0.127,0.091,0.093,0.057,
+0.140,0.100,0.063,0.170,0.082,0.092,0.725,0.855,0.747,0.705,
+0.111,0.149,0.128,0.103,0.771,0.165,0.582,0.680,0.465,0.945,
+0.787,0.779,0.608,0.419,0.403,0.587,0.849,0.968,0.742,0.821,
+0.760,0.093,0.618,0.803,0.573,0.626,0.740,1.089,1.064,0.599,
+0.458,0.795,0.660,0.477,0.410,0.501,0.601,0.061,0.329,0.485,
+0.745,0.589,0.455,0.961,0.953,0.890,0.568,0.776,0.764,0.829,
+0.652,0.717,0.672,0.101,0.569,0.720,0.624,1.029,0.586,0.883,
+0.623,0.675,0.563,0.712,0.059,0.076,0.060,0.074,0.564,0.071,
+0.508,0.657,0.492,0.724,0.731,0.892,0.800,0.486,0.459,0.761,
+0.662,0.596,0.481,0.699,0.754,0.070,0.573,0.895,0.932,0.908,
+0.957,1.721,2.076,1.275,0.924,1.511,1.075,0.861,0.623,0.832,
+1.029,0.108,0.552,0.761,0.980,0.865,0.576,1.050,1.562,1.321,
+0.725,1.002,1.186,1.000,0.930,0.851,1.167,0.164,1.004,1.051,
+0.775,1.099,0.663,1.005,1.036,1.234,1.036,1.149,0.135,0.169,
+0.159,0.208,0.978,0.171,0.719,0.900,0.617,1.119,0.725,1.056,
+1.034,0.692,0.588,1.137,0.985,0.892,0.720,1.037,0.970,0.109,
+0.720,1.119,1.012,0.864,0.997,2.055,0.135,0.121,0.073,0.106,
+0.152,0.166,0.095,0.105,0.097,0.023,0.071,0.082,0.076,0.108,
+0.073,0.106,0.123,0.157,0.072,0.085,0.161,0.199,0.150,0.114,
+0.125,0.059,0.173,0.144,0.070,0.139,0.075,0.093,0.086,0.151,
+0.107,0.096,0.025,0.058,0.068,0.030,0.137,0.059,0.179,0.167,
+0.067,0.163,0.115,0.123,0.109,0.087,0.061,0.119,0.181,0.199,
+0.143,0.173,0.111,0.023,0.107,0.153,0.098,0.108,0.107,0.193,
+1.266,0.902,0.599,0.701,1.050,1.161,0.976,0.807,1.045,0.206,
+0.909,0.913,0.686,0.898,0.779,1.054,0.103,0.168,0.076,0.074,
+0.109,0.197,0.169,0.084,0.132,0.071,0.184,0.124,0.083,0.179,
+0.116,0.109,0.881,1.252,0.824,0.802,0.126,0.217,0.169,0.127,
+1.004,0.197,0.568,0.764,0.522,1.002,0.843,0.876,0.707,0.573,
+0.476,0.610,0.958,1.207,0.885,0.930,1.046,0.162,1.088,1.130,
+0.684,0.857,0.994,1.305,1.143,0.676,0.486,0.855,0.733,0.572,
+0.419,0.518,0.763,0.086,0.491,0.710,0.782,0.687,0.515,1.042,
+1.275,1.175,0.681,0.866,1.117,1.256,0.874,0.779,1.104,0.160,
+0.977,1.120,0.895,1.236,0.847,1.137,1.024,1.160,0.836,1.007,
+0.110,0.159,0.113,0.120,1.114,0.157,1.018,1.210,0.800,1.308,
+1.100,1.297,1.020,0.676,0.595,0.923,0.919,0.895,0.691,0.868,
+1.181,0.121,1.163,1.447,1.235,1.281,1.348,2.086,2.819,1.237,
+0.931,2.000,1.076,0.684,0.577,0.879,1.034,0.098,0.501,0.869,
+1.458,1.014,0.734,1.683,1.304,0.801,0.492,0.831,0.779,0.523,
+0.459,0.606,0.759,0.068,0.482,0.729,0.697,0.620,0.464,0.874,
+1.072,0.936,0.619,1.139,0.089,0.083,0.062,0.140,0.726,0.071,
+0.448,0.730,0.697,0.773,0.571,1.058,1.496,0.786,0.740,1.833,
+0.963,0.683,0.607,1.183,0.929,0.075,0.593,1.083,1.438,0.978,
+1.053,2.776,1.903,1.184,0.765,1.350,1.315,1.051,0.838,0.920,
+0.979,0.110,0.598,0.896,0.926,0.970,0.619,1.205,1.378,1.118,
+0.569,0.883,1.177,1.012,0.761,0.838,0.976,0.138,0.771,1.044,
+0.726,0.940,0.575,0.941,0.990,1.098,0.678,1.012,0.090,0.125,
+0.101,0.128,0.974,0.125,0.768,1.112,0.757,1.164,0.788,1.225,
+1.149,0.752,0.600,1.215,1.160,1.034,0.808,1.443,0.973,0.093,
+0.725,1.213,1.034,1.010,0.933,1.979,1.539,0.914,0.659,0.975,
+1.177,0.945,0.838,1.015,1.141,0.157,0.745,1.082,0.962,0.962,
+0.869,1.535,0.111,0.110,0.059,0.091,0.091,0.125,0.102,0.092,
+0.089,0.025,0.101,0.125,0.089,0.135,0.088,0.133,0.995,1.110,
+0.762,1.063,0.091,0.109,0.102,0.133,1.143,0.160,0.822,1.107,
+0.777,1.192,1.054,1.360,1.013,0.732,0.658,1.019,1.175,1.047,
+0.977,1.384,1.303,0.143,1.098,1.643,1.074,1.062,1.298,2.107,
+2.383,1.017,0.800,1.581,1.014,0.704,0.623,0.827,1.178,0.109,
+0.614,1.039,1.494,1.031,0.887,2.262,1.425,1.012,0.624,1.019,
+1.000,0.892,0.705,0.860,0.991,0.086,0.741,1.148,1.060,1.032,
+0.800,1.589,1.415,1.273,0.946,1.545,0.108,0.103,0.078,0.139,
+1.368,0.122,1.071,1.631,1.303,1.555,1.442,2.138,2.376,1.137,
+1.063,2.345,1.520,1.266,1.089,1.830,1.897,0.132,1.550,2.619,
+2.777,2.006,2.279,4.414
+};
+
+static double hg19_biasTable26_5[] = {
+9.988,3.249,2.404,5.023,3.307,1.777,1.506,2.096,3.249,0.288,
+1.369,2.117,4.722,3.133,1.944,3.677,3.714,1.885,1.323,1.818,
+1.974,1.181,1.032,1.082,1.890,0.154,1.032,1.300,1.647,1.456,
+1.082,1.698,2.884,1.739,1.388,2.068,0.212,0.169,0.135,0.260,
+1.503,0.138,0.886,1.166,1.436,1.549,1.163,1.668,4.319,1.727,
+1.762,3.561,2.545,1.701,1.501,2.527,1.994,0.159,1.118,1.763,
+2.943,1.646,1.709,3.174,3.992,1.816,1.147,1.897,1.973,1.274,
+0.901,1.089,1.622,0.167,0.755,1.090,1.424,1.345,0.788,1.367,
+2.258,1.370,0.796,1.071,1.289,0.848,0.690,0.701,1.296,0.141,
+0.730,0.966,0.872,0.931,0.651,0.887,1.590,1.351,0.832,1.163,
+0.151,0.123,0.092,0.126,1.279,0.133,0.722,0.950,0.820,1.123,
+0.751,1.010,1.470,0.947,0.674,1.202,1.376,1.010,0.774,1.072,
+1.233,0.098,0.710,1.053,1.183,0.959,0.908,1.661,2.916,1.137,
+1.049,1.458,1.661,0.957,0.903,1.071,1.564,0.183,0.689,1.124,
+1.468,1.244,0.931,1.830,0.188,0.133,0.084,0.130,0.136,0.116,
+0.089,0.100,0.130,0.024,0.092,0.125,0.164,0.210,0.118,0.198,
+1.152,0.897,0.825,0.952,0.103,0.083,0.080,0.108,0.951,0.114,
+0.605,0.755,0.716,0.876,0.821,0.885,1.122,0.682,0.665,1.048,
+1.251,0.915,0.784,1.084,1.148,0.111,0.852,1.131,1.042,0.963,
+1.021,1.689,4.119,1.412,1.189,2.636,1.468,0.816,0.834,1.090,
+1.759,0.160,0.739,1.238,2.376,1.501,1.202,2.902,2.343,1.414,
+0.995,1.439,1.432,0.987,0.868,0.984,1.379,0.106,0.842,1.246,
+1.548,1.404,1.053,1.826,1.451,1.124,0.959,1.342,0.116,0.088,
+0.104,0.125,1.103,0.089,0.783,1.054,1.043,1.140,1.026,1.365,
+2.298,1.254,1.099,2.218,1.232,0.854,0.844,1.314,1.687,0.116,
+1.076,1.777,2.341,1.689,1.749,3.607,4.185,2.335,1.573,2.685,
+1.994,1.435,1.108,1.314,1.515,0.164,0.730,1.212,1.665,1.539,
+1.015,1.783,2.337,1.905,1.092,1.392,1.479,1.109,0.991,0.983,
+1.201,0.159,0.830,1.075,0.860,1.015,0.736,1.133,1.324,1.406,
+0.953,1.202,0.141,0.199,0.116,0.162,0.913,0.105,0.677,0.780,
+0.702,1.002,0.766,1.055,1.486,0.822,0.766,1.300,1.386,1.186,
+0.810,1.114,0.966,0.115,0.575,0.893,1.085,0.830,0.902,1.772,
+2.509,1.855,0.866,1.357,1.613,1.488,0.856,0.941,1.106,0.146,
+0.557,0.833,0.866,1.040,0.611,1.065,1.536,1.394,0.701,0.840,
+1.053,0.638,0.720,0.662,0.987,0.153,0.685,0.893,0.586,0.847,
+0.590,0.755,1.139,1.552,0.821,1.070,0.134,0.241,0.150,0.204,
+1.055,0.210,0.712,0.910,0.641,1.526,0.752,0.951,0.944,0.731,
+0.489,0.796,1.068,1.099,0.659,0.859,0.908,0.100,0.507,0.774,
+0.707,0.801,0.610,1.166,1.688,1.113,0.731,1.125,1.358,1.146,
+1.038,0.979,1.106,0.159,0.673,0.979,0.842,0.952,0.782,1.248,
+0.120,0.181,0.081,0.134,0.110,0.165,0.128,0.095,0.109,0.044,
+0.123,0.127,0.082,0.173,0.103,0.126,1.089,1.257,1.320,1.006,
+0.150,0.191,0.140,0.123,1.003,0.163,0.776,0.898,0.624,1.288,
+1.067,0.974,0.870,0.600,0.623,0.811,1.112,1.257,0.909,1.024,
+1.010,0.111,0.831,1.073,0.697,0.777,0.934,1.305,1.569,0.847,
+0.654,1.107,0.953,0.646,0.636,0.672,0.795,0.075,0.420,0.658,
+0.952,0.718,0.586,1.243,1.352,1.263,0.758,1.053,0.960,0.958,
+0.814,0.857,0.854,0.096,0.654,0.959,0.742,0.989,0.697,1.119,
+0.919,0.931,0.788,0.979,0.079,0.093,0.068,0.091,0.761,0.082,
+0.640,0.830,0.653,0.900,0.868,1.080,1.139,0.662,0.658,1.045,
+0.868,0.747,0.584,0.876,1.045,0.102,0.755,1.209,1.238,1.186,
+1.258,2.111,2.976,1.528,1.214,1.895,1.143,0.866,0.653,0.851,
+1.242,0.123,0.589,0.871,1.271,1.118,0.679,1.308,1.954,1.560,
+0.900,1.227,1.143,0.939,0.951,0.874,1.285,0.155,0.854,1.022,
+0.947,1.198,0.692,1.087,1.341,1.445,1.704,1.446,0.143,0.177,
+0.155,0.223,0.919,0.119,0.629,0.819,0.680,1.109,0.684,1.071,
+1.414,0.901,0.900,1.590,1.133,1.044,0.828,1.183,1.067,0.110,
+0.693,1.106,1.236,0.992,1.079,2.530,0.185,0.151,0.085,0.136,
+0.147,0.156,0.086,0.098,0.114,0.024,0.069,0.090,0.101,0.141,
+0.089,0.126,0.160,0.185,0.085,0.104,0.143,0.175,0.110,0.095,
+0.139,0.039,0.113,0.121,0.093,0.169,0.080,0.108,0.108,0.164,
+0.122,0.119,0.019,0.040,0.035,0.025,0.139,0.036,0.147,0.157,
+0.081,0.175,0.099,0.123,0.165,0.122,0.096,0.183,0.208,0.243,
+0.168,0.222,0.139,0.023,0.113,0.158,0.144,0.152,0.134,0.260,
+1.300,0.836,0.606,0.745,0.889,0.832,0.756,0.665,1.151,0.232,
+0.760,0.857,0.764,0.965,0.714,0.984,0.107,0.131,0.062,0.072,
+0.078,0.114,0.086,0.060,0.153,0.090,0.107,0.097,0.095,0.207,
+0.090,0.101,0.830,1.144,0.725,0.703,0.097,0.175,0.116,0.094,
+0.915,0.158,0.544,0.667,0.510,0.907,0.675,0.700,0.740,0.561,
+0.503,0.625,0.842,1.000,0.741,0.831,1.013,0.149,0.881,0.981,
+0.654,0.818,0.785,1.076,1.299,0.665,0.488,0.897,0.737,0.490,
+0.385,0.472,0.879,0.088,0.429,0.669,0.924,0.748,0.509,1.083,
+1.415,1.103,0.648,0.908,0.979,0.943,0.663,0.663,1.193,0.156,
+0.731,0.977,0.973,1.187,0.725,1.072,0.976,1.040,0.745,0.925,
+0.098,0.137,0.080,0.098,1.025,0.129,0.678,0.971,0.734,1.124,
+0.791,1.087,1.189,0.720,0.690,0.958,0.980,0.869,0.655,0.851,
+1.173,0.118,0.945,1.312,1.319,1.300,1.187,2.064,3.756,1.662,
+1.303,2.939,1.269,0.797,0.704,0.960,1.299,0.119,0.591,1.043,
+2.159,1.347,0.959,2.219,1.550,0.875,0.610,1.077,0.835,0.511,
+0.501,0.633,0.960,0.078,0.512,0.814,0.928,0.749,0.539,1.050,
+1.442,1.044,0.891,1.570,0.117,0.099,0.078,0.182,0.853,0.074,
+0.464,0.787,0.838,0.863,0.593,1.187,2.117,1.004,1.166,3.159,
+1.272,0.876,0.833,1.585,1.183,0.093,0.750,1.298,1.876,1.215,
+1.321,3.563,2.329,1.356,0.882,1.663,1.416,1.030,0.816,0.929,
+1.163,0.119,0.600,0.973,1.126,1.115,0.719,1.331,1.570,1.116,
+0.606,1.012,1.068,0.881,0.600,0.704,1.053,0.140,0.649,0.982,
+0.854,1.032,0.538,0.939,1.166,1.053,0.704,1.142,0.088,0.103,
+0.079,0.120,1.013,0.104,0.666,1.015,0.839,1.120,0.698,1.154,
+1.465,0.820,0.731,1.568,1.289,1.070,0.837,1.435,1.104,0.090,
+0.721,1.192,1.255,1.125,0.996,2.067,1.505,0.862,0.663,1.072,
+1.118,0.762,0.696,0.914,1.205,0.160,0.725,1.043,1.026,0.970,
+0.859,1.440,0.110,0.100,0.057,0.101,0.075,0.082,0.065,0.072,
+0.104,0.026,0.086,0.137,0.102,0.139,0.084,0.131,0.927,0.935,
+0.683,1.005,0.077,0.079,0.079,0.104,1.010,0.105,0.602,0.844,
+0.717,0.943,0.833,1.074,0.968,0.659,0.631,1.071,1.090,0.887,
+0.816,1.225,1.315,0.135,0.882,1.390,1.030,1.000,1.067,1.810,
+2.572,1.094,0.907,1.802,1.120,0.730,0.760,0.891,1.444,0.116,
+0.648,1.107,1.839,1.187,1.018,2.589,1.362,0.895,0.611,1.072,
+0.860,0.632,0.589,0.745,0.996,0.081,0.648,1.126,1.121,1.042,
+0.746,1.463,1.516,1.283,0.957,1.664,0.114,0.097,0.072,0.137,
+1.351,0.104,0.838,1.358,1.347,1.486,1.244,1.884,2.576,1.269,
+1.265,2.867,1.683,1.355,1.154,1.892,2.176,0.131,1.533,2.671,
+3.534,2.335,2.523,4.892,3.331,1.961,1.528,2.533,2.024,1.302,
+0.967,1.189,1.593,0.181,0.828,1.268,2.034,1.715,1.029,1.757,
+1.951,1.368,0.857,1.069,1.428,1.012,0.796,0.787,1.124,0.128,
+0.804,0.937,0.838,0.957,0.736,1.023,1.094,0.953,0.718,1.005,
+0.110,0.102,0.086,0.135,0.756,0.090,0.519,0.611,0.655,0.849,
+0.718,0.918,1.464,0.802,0.660,1.322,1.292,0.956,0.708,1.077,
+0.960,0.113,0.597,0.907,1.155,0.879,0.935,1.708,2.309,1.457,
+0.835,1.275,1.773,1.218,0.720,0.793,1.210,0.203,0.698,0.888,
+0.931,1.142,0.613,1.039,1.522,1.262,0.638,0.847,1.165,0.889,
+0.668,0.675,1.116,0.214,0.857,1.074,0.636,0.956,0.587,0.815,
+0.902,1.021,0.577,0.698,0.134,0.133,0.106,0.100,1.289,0.179,
+0.689,0.757,0.582,1.023,0.686,0.755,0.746,0.628,0.366,0.592,
+0.930,0.785,0.561,0.683,0.771,0.085,0.523,0.750,0.674,0.694,
+0.698,1.150,1.244,0.739,0.501,0.749,1.211,0.851,0.640,0.726,
+1.025,0.142,0.505,0.697,0.741,0.761,0.563,1.057,0.099,0.109,
+0.064,0.084,0.132,0.153,0.093,0.091,0.097,0.034,0.092,0.102,
+0.079,0.156,0.085,0.118,0.610,0.670,0.512,0.537,0.076,0.078,
+0.069,0.081,0.628,0.097,0.485,0.606,0.417,0.634,0.624,0.658,
+0.576,0.402,0.410,0.547,0.756,0.694,0.529,0.691,0.726,0.094,
+0.580,0.744,0.603,0.681,0.739,1.080,1.407,0.648,0.499,1.021,
+0.738,0.461,0.365,0.509,0.781,0.090,0.376,0.588,0.914,0.689,
+0.506,1.206,1.160,0.890,0.588,0.861,0.966,0.846,0.602,0.713,
+0.710,0.088,0.552,0.785,0.641,0.849,0.562,0.937,0.640,0.586,
+0.566,0.713,0.069,0.057,0.082,0.085,0.576,0.076,0.425,0.606,
+0.476,0.674,0.617,0.782,0.923,0.549,0.637,0.974,0.622,0.533,
+0.501,0.676,0.845,0.078,0.627,1.005,1.070,1.004,1.028,1.944,
+2.230,1.474,1.020,1.536,1.529,1.345,0.900,0.947,0.925,0.121,
+0.511,0.761,0.962,0.993,0.632,1.081,1.556,1.267,0.767,0.881,
+1.329,1.185,1.079,0.876,0.821,0.148,0.693,0.834,0.529,0.851,
+0.573,0.828,0.735,0.852,0.622,0.725,0.092,0.127,0.100,0.113,
+0.541,0.084,0.463,0.504,0.481,0.651,0.527,0.714,0.775,0.466,
+0.401,0.752,0.822,0.844,0.545,0.693,0.617,0.077,0.419,0.572,
+0.821,0.579,0.599,1.124,1.557,1.327,0.604,0.836,1.252,1.557,
+0.696,0.680,0.793,0.133,0.498,0.684,0.559,0.780,0.425,0.857,
+1.097,1.056,0.554,0.596,0.730,0.443,0.565,0.542,0.733,0.207,
+0.617,0.772,0.398,0.792,0.476,0.613,0.778,1.080,0.555,0.646,
+0.134,0.247,0.147,0.135,0.717,0.176,0.566,0.717,0.402,1.008,
+0.687,0.724,0.545,0.478,0.312,0.468,0.766,0.992,0.493,0.613,
+0.587,0.084,0.461,0.656,0.453,0.570,0.510,0.892,1.058,0.778,
+0.552,0.653,1.189,1.240,0.824,0.733,0.865,0.172,0.539,0.653,
+0.571,0.876,0.554,0.847,0.093,0.150,0.094,0.087,0.161,0.298,
+0.190,0.106,0.121,0.089,0.161,0.121,0.063,0.281,0.094,0.092,
+0.783,0.998,0.659,0.658,0.161,0.215,0.153,0.115,0.731,0.156,
+0.618,0.692,0.426,0.922,0.841,0.742,0.593,0.429,0.379,0.513,
+1.002,1.271,0.876,0.849,0.906,0.115,0.690,0.823,0.575,0.664,
+0.797,1.031,0.875,0.547,0.401,0.646,0.664,0.528,0.356,0.428,
+0.542,0.060,0.306,0.422,0.575,0.497,0.376,0.745,0.847,0.869,
+0.593,0.733,0.842,1.112,0.738,0.747,0.608,0.120,0.539,0.669,
+0.439,0.876,0.504,0.692,0.549,0.706,0.523,0.602,0.063,0.091,
+0.062,0.069,0.465,0.069,0.490,0.559,0.388,0.651,0.682,0.743,
+0.634,0.415,0.371,0.597,0.560,0.606,0.470,0.594,0.641,0.063,
+0.507,0.729,0.701,0.787,0.831,1.363,1.466,1.077,0.702,1.154,
+0.935,0.726,0.498,0.656,0.840,0.097,0.474,0.584,0.749,0.775,
+0.501,0.840,1.286,1.272,0.579,0.827,1.089,1.019,0.751,0.747,
+1.023,0.182,0.886,0.906,0.595,1.117,0.528,0.788,0.714,0.980,
+0.685,0.836,0.108,0.142,0.123,0.169,0.677,0.117,0.536,0.669,
+0.423,0.802,0.555,0.803,0.715,0.508,0.396,0.834,0.822,0.756,
+0.571,0.829,0.694,0.089,0.544,0.811,0.714,0.645,0.713,1.515,
+0.103,0.099,0.049,0.072,0.144,0.155,0.092,0.081,0.102,0.026,
+0.063,0.069,0.063,0.102,0.086,0.102,0.101,0.171,0.063,0.084,
+0.162,0.256,0.160,0.116,0.124,0.098,0.153,0.136,0.058,0.160,
+0.069,0.080,0.066,0.141,0.091,0.078,0.034,0.082,0.077,0.036,
+0.128,0.070,0.208,0.161,0.052,0.152,0.106,0.094,0.071,0.064,
+0.041,0.078,0.226,0.205,0.124,0.155,0.086,0.025,0.101,0.117,
+0.067,0.083,0.086,0.136,0.947,0.885,0.503,0.594,0.878,1.175,
+0.730,0.669,0.920,0.195,0.985,0.924,0.552,0.808,0.617,0.865,
+0.089,0.224,0.071,0.067,0.107,0.263,0.149,0.086,0.118,0.077,
+0.191,0.130,0.064,0.168,0.093,0.090,0.620,1.271,0.629,0.602,
+0.104,0.297,0.158,0.109,0.832,0.218,0.570,0.720,0.405,0.960,
+0.669,0.695,0.507,0.511,0.364,0.493,0.810,1.430,0.744,0.857,
+0.992,0.187,1.035,0.991,0.535,0.770,0.795,1.035,0.817,0.573,
+0.368,0.697,0.552,0.460,0.295,0.382,0.590,0.074,0.362,0.603,
+0.588,0.578,0.370,0.831,1.015,1.190,0.540,0.692,1.081,1.377,
+0.726,0.759,0.963,0.169,0.822,1.036,0.652,1.108,0.642,0.905,
+0.728,0.956,0.697,0.703,0.075,0.128,0.089,0.084,0.795,0.145,
+0.693,0.857,0.530,1.085,0.716,0.902,0.687,0.513,0.408,0.697,
+0.687,0.699,0.498,0.648,0.881,0.102,0.889,1.107,0.888,1.024,
+0.966,1.504,1.556,0.824,0.631,1.266,0.792,0.504,0.417,0.691,
+0.746,0.071,0.366,0.657,0.892,0.677,0.544,1.090,0.946,0.706,
+0.380,0.637,0.597,0.452,0.360,0.508,0.567,0.061,0.380,0.652,
+0.500,0.488,0.365,0.666,0.661,0.610,0.422,0.729,0.055,0.053,
+0.040,0.096,0.475,0.049,0.318,0.486,0.421,0.490,0.363,0.675,
+0.872,0.486,0.477,1.171,0.617,0.460,0.397,0.897,0.617,0.052,
+0.401,0.762,0.866,0.596,0.661,1.756,1.377,0.923,0.579,0.962,
+1.084,0.906,0.900,0.753,0.873,0.112,0.526,0.777,0.729,0.876,
+0.575,0.956,1.024,0.928,0.445,0.688,1.001,0.991,0.629,0.727,
+0.885,0.169,0.648,0.942,0.621,0.970,0.506,0.809,0.645,0.867,
+0.508,0.706,0.078,0.117,0.092,0.121,0.751,0.111,0.610,0.827,
+0.543,0.947,0.577,0.835,0.689,0.507,0.425,0.895,0.951,0.900,
+0.692,1.662,0.714,0.079,0.616,0.953,0.707,0.743,0.713,1.395,
+0.895,0.595,0.410,0.608,0.789,0.733,0.541,0.655,0.815,0.120,
+0.578,0.758,0.619,0.662,0.587,0.994,0.065,0.078,0.038,0.058,
+0.062,0.110,0.069,0.062,0.062,0.021,0.083,0.081,0.054,0.094,
+0.064,0.085,0.547,0.685,0.441,0.599,0.058,0.081,0.062,0.084,
+0.694,0.110,0.547,0.700,0.450,0.756,0.637,0.798,0.546,0.441,
+0.380,0.611,0.711,0.734,0.579,0.893,0.995,0.147,0.758,1.085,
+0.672,0.756,0.855,1.317,1.190,0.643,0.479,0.904,0.617,0.479,
+0.372,0.489,0.716,0.076,0.399,0.656,0.781,0.591,0.498,1.187,
+0.925,0.671,0.408,0.663,0.667,0.650,0.490,0.599,0.644,0.065,
+0.515,0.729,0.620,0.660,0.499,1.041,0.851,0.751,0.564,0.875,
+0.086,0.065,0.049,0.086,0.759,0.078,0.603,0.868,0.703,0.933,
+0.823,1.146,1.154,0.660,0.630,1.305,0.939,0.851,0.701,1.180,
+1.173,0.102,1.014,1.569,1.639,1.435,1.527,2.352,3.023,1.593,
+1.467,2.346,1.680,1.166,1.020,1.271,1.574,0.158,0.800,1.199,
+1.868,1.527,0.999,1.686,1.501,1.051,0.779,1.009,1.111,0.757,
+0.779,0.820,0.959,0.129,0.657,0.770,0.819,0.899,0.679,0.962,
+1.277,0.998,0.750,1.146,0.107,0.092,0.083,0.152,0.773,0.081,
+0.571,0.812,0.628,0.784,0.693,0.956,1.416,0.719,0.592,1.219,
+1.065,0.783,0.646,0.992,0.851,0.075,0.571,0.833,1.058,0.657,
+0.870,1.640,2.366,1.500,0.938,1.487,1.738,1.353,1.112,1.131,
+1.207,0.164,0.650,0.900,1.032,1.180,0.677,1.144,1.623,1.486,
+0.754,0.938,1.293,0.876,0.958,0.897,1.400,0.285,0.902,1.216,
+0.779,1.162,0.635,0.870,1.243,1.394,0.959,1.127,0.153,0.177,
+0.154,0.178,1.283,0.197,1.027,1.583,0.815,1.283,1.023,1.123,
+1.034,0.725,0.489,0.869,1.328,1.194,0.803,1.114,0.924,0.095,
+0.646,1.009,0.850,0.789,0.853,1.553,1.618,0.852,0.655,1.053,
+1.551,1.154,1.115,1.149,2.133,0.244,0.854,0.985,1.212,1.175,
+0.843,1.403,0.150,0.163,0.093,0.141,0.170,0.175,0.167,0.167,
+0.192,0.049,0.235,0.168,0.167,0.309,0.152,0.210,0.919,0.923,
+1.040,1.082,0.120,0.120,0.238,0.210,1.074,0.193,0.794,0.846,
+0.626,1.135,0.954,0.923,0.759,0.500,0.484,0.742,1.144,0.991,
+1.150,1.235,0.975,0.121,0.830,1.004,0.924,0.907,0.954,1.477,
+1.650,0.730,0.589,1.188,0.871,0.584,0.580,0.751,1.045,0.111,
+0.493,0.717,1.374,1.007,0.701,1.499,1.307,1.059,0.657,0.969,
+1.041,0.831,0.807,0.921,1.012,0.121,0.839,0.939,1.010,1.177,
+0.759,1.236,0.966,0.949,0.876,1.117,0.101,0.090,0.104,0.143,
+0.975,0.108,0.779,1.043,0.829,1.176,1.161,1.352,1.300,0.750,
+0.674,1.346,0.914,0.687,0.763,1.116,1.377,0.120,0.988,1.532,
+1.902,1.528,1.716,3.128,0.175,0.130,0.106,0.133,0.137,0.129,
+0.103,0.117,0.101,0.019,0.063,0.112,0.105,0.123,0.078,0.118,
+0.160,0.151,0.161,0.147,0.163,0.160,0.199,0.152,0.114,0.038,
+0.121,0.112,0.101,0.121,0.093,0.111,0.090,0.130,0.080,0.090,
+0.018,0.027,0.024,0.023,0.080,0.020,0.085,0.104,0.053,0.095,
+0.085,0.098,0.094,0.065,0.053,0.093,0.117,0.118,0.088,0.110,
+0.087,0.014,0.078,0.121,0.086,0.075,0.109,0.160,0.154,0.157,
+0.079,0.104,0.156,0.210,0.146,0.129,0.102,0.033,0.070,0.084,
+0.067,0.108,0.079,0.090,0.172,0.266,0.111,0.107,0.209,0.209,
+0.221,0.164,0.188,0.104,0.157,0.159,0.077,0.175,0.097,0.114,
+0.105,0.185,0.111,0.104,0.034,0.095,0.071,0.037,0.192,0.090,
+0.191,0.224,0.084,0.195,0.176,0.131,0.085,0.074,0.049,0.074,
+0.141,0.187,0.117,0.119,0.093,0.020,0.083,0.106,0.065,0.081,
+0.089,0.138,0.116,0.088,0.063,0.082,0.144,0.175,0.166,0.124,
+0.148,0.043,0.147,0.097,0.073,0.121,0.088,0.106,0.018,0.037,
+0.021,0.027,0.038,0.079,0.076,0.041,0.043,0.054,0.136,0.045,
+0.013,0.050,0.035,0.023,0.097,0.154,0.170,0.138,0.032,0.067,
+0.099,0.038,0.225,0.141,0.209,0.153,0.074,0.263,0.210,0.136,
+0.076,0.058,0.060,0.077,0.137,0.186,0.180,0.153,0.127,0.038,
+0.148,0.153,0.078,0.137,0.128,0.155,0.137,0.113,0.075,0.114,
+0.099,0.086,0.075,0.087,0.095,0.014,0.061,0.075,0.117,0.112,
+0.090,0.159,0.183,0.282,0.122,0.168,0.188,0.218,0.191,0.206,
+0.168,0.043,0.208,0.160,0.128,0.239,0.144,0.186,0.090,0.123,
+0.111,0.120,0.015,0.028,0.026,0.024,0.120,0.033,0.132,0.146,
+0.086,0.161,0.209,0.168,0.117,0.087,0.071,0.119,0.104,0.110,
+0.096,0.124,0.130,0.018,0.120,0.163,0.150,0.159,0.181,0.286,
+1.676,1.217,0.865,1.350,1.105,0.969,0.694,0.876,0.954,0.110,
+0.609,0.744,0.755,0.684,0.530,0.852,1.400,1.207,0.733,0.886,
+1.341,1.112,1.289,0.964,1.221,0.187,1.356,1.213,0.649,0.986,
+0.700,0.917,0.970,1.253,0.919,1.069,0.154,0.205,0.227,0.244,
+1.296,0.308,0.993,1.092,0.603,1.292,0.784,1.009,0.840,0.576,
+0.459,0.885,0.929,0.863,0.787,1.047,0.982,0.122,0.844,1.209,
+0.833,0.785,0.942,1.693,0.126,0.128,0.064,0.098,0.179,0.233,
+0.129,0.146,0.092,0.028,0.094,0.094,0.060,0.091,0.058,0.087,
+0.122,0.158,0.082,0.079,0.201,0.212,0.236,0.155,0.137,0.067,
+0.293,0.184,0.058,0.118,0.080,0.082,0.097,0.185,0.144,0.104,
+0.032,0.081,0.129,0.041,0.172,0.095,0.247,0.234,0.065,0.178,
+0.135,0.122,0.100,0.078,0.054,0.100,0.157,0.203,0.180,0.179,
+0.115,0.027,0.127,0.204,0.078,0.092,0.101,0.168,1.343,0.946,
+0.645,0.630,1.230,1.500,1.409,0.940,1.054,0.215,1.103,0.953,
+0.588,0.819,0.844,0.988,0.116,0.200,0.113,0.082,0.146,0.279,
+0.341,0.113,0.152,0.079,0.291,0.162,0.076,0.175,0.147,0.115,
+0.976,1.214,0.984,0.874,0.158,0.210,0.255,0.169,0.993,0.209,
+0.446,0.640,0.463,0.876,0.887,0.848,0.639,0.500,0.451,0.508,
+0.956,1.108,1.023,0.948,0.944,0.160,1.184,1.106,0.579,0.758,
+1.006,1.181,0.996,0.630,0.482,0.735,0.725,0.633,0.460,0.492,
+0.656,0.086,0.526,0.645,0.601,0.580,0.460,0.817,1.154,1.186,
+0.764,0.769,1.224,1.557,1.272,0.837,1.036,0.175,1.217,1.141,
+0.785,1.144,0.870,0.964,1.007,1.289,0.903,1.030,0.129,0.211,
+0.156,0.159,1.228,0.206,1.512,1.481,0.720,1.346,1.214,1.273,
+0.842,0.605,0.505,0.795,0.908,0.947,0.729,0.868,1.117,0.128,
+1.330,1.431,1.030,1.169,1.301,1.753,1.787,0.894,0.660,1.266,
+0.884,0.607,0.512,0.714,0.793,0.086,0.418,0.656,0.957,0.757,
+0.544,1.190,1.128,0.718,0.443,0.661,0.747,0.502,0.499,0.562,
+0.600,0.059,0.435,0.595,0.499,0.502,0.401,0.681,0.901,0.862,
+0.501,0.818,0.083,0.079,0.064,0.121,0.701,0.076,0.477,0.724,
+0.619,0.722,0.603,0.925,1.053,0.605,0.486,1.004,0.800,0.575,
+0.508,0.885,0.720,0.064,0.468,0.824,0.961,0.717,0.798,1.720,
+1.826,1.269,0.753,1.282,1.423,1.323,0.973,1.050,0.955,0.122,
+0.736,0.932,0.829,0.955,0.586,1.118,1.488,1.398,0.692,0.937,
+1.534,1.227,1.241,1.128,1.046,0.155,1.088,1.239,0.651,0.920,
+0.679,0.899,1.090,1.435,0.895,1.056,0.119,0.185,0.174,0.166,
+1.156,0.185,1.080,1.527,0.753,1.391,1.016,1.348,1.162,0.813,
+0.608,1.039,1.290,1.241,1.024,1.425,1.021,0.120,0.854,1.433,
+0.906,0.982,0.953,1.739,1.633,0.975,0.663,0.891,1.276,1.175,
+1.144,1.096,1.132,0.181,0.860,1.221,0.808,0.957,0.888,1.404,
+0.145,0.128,0.076,0.100,0.126,0.197,0.194,0.129,0.102,0.036,
+0.148,0.171,0.081,0.163,0.109,0.133,1.069,1.385,0.927,1.125,
+0.121,0.157,0.170,0.189,1.421,0.259,1.066,1.383,0.773,1.493,
+1.259,1.369,0.939,0.716,0.699,0.874,1.281,1.208,1.265,1.520,
+1.168,0.148,1.266,1.857,0.936,1.045,1.367,1.872,1.591,0.774,
+0.642,1.094,0.852,0.632,0.569,0.662,0.892,0.107,0.548,0.844,
+0.932,0.722,0.646,1.411,1.282,0.973,0.598,0.865,0.976,0.947,
+0.853,0.834,0.829,0.087,0.776,1.092,0.772,0.850,0.738,1.135,
+1.212,1.266,0.924,1.351,0.108,0.128,0.098,0.152,1.373,0.154,
+1.316,1.846,1.079,1.496,1.453,1.797,1.583,0.896,0.827,1.663,
+1.320,1.248,1.078,1.526,1.539,0.129,1.468,2.294,1.881,1.591,
+1.923,3.031,4.261,1.891,1.635,3.575,1.733,1.030,0.885,1.326,
+1.661,0.148,0.699,1.236,2.741,1.904,1.064,2.343,1.682,0.935,
+0.677,1.031,0.983,0.580,0.531,0.654,0.957,0.077,0.591,0.696,
+0.987,0.919,0.599,1.031,1.291,0.905,0.705,1.256,0.105,0.078,
+0.065,0.144,0.792,0.066,0.448,0.709,0.795,0.852,0.670,1.177,
+2.145,0.963,0.876,1.879,1.291,0.832,0.718,1.237,1.069,0.086,
+0.737,1.072,1.705,1.064,1.146,2.870,2.109,1.080,0.703,1.351,
+1.243,0.722,0.533,0.737,0.853,0.086,0.386,0.653,0.987,0.833,
+0.479,1.045,1.181,0.774,0.455,0.728,0.724,0.464,0.405,0.509,
+0.764,0.081,0.402,0.607,0.673,0.634,0.418,0.714,0.919,0.755,
+0.546,0.837,0.075,0.066,0.052,0.081,0.810,0.098,0.402,0.646,
+0.688,0.873,0.567,0.825,0.929,0.619,0.420,0.837,0.788,0.600,
+0.426,0.681,0.689,0.053,0.432,0.695,0.798,0.636,0.651,1.434,
+1.814,0.784,0.617,1.117,1.220,0.938,0.656,0.980,1.194,0.128,
+0.437,0.739,1.385,1.011,0.639,1.549,0.122,0.082,0.055,0.101,
+0.096,0.079,0.064,0.094,0.094,0.013,0.059,0.083,0.157,0.165,
+0.078,0.163,0.804,0.649,0.621,0.853,0.073,0.059,0.059,0.094,
+0.744,0.078,0.399,0.584,0.670,0.769,0.631,0.868,0.885,0.500,
+0.499,0.926,0.922,0.649,0.590,0.948,0.833,0.085,0.524,0.856,
+0.985,0.800,0.836,1.632,2.471,0.940,0.776,1.836,1.036,0.622,
+0.587,0.918,1.359,0.116,0.570,0.939,2.783,1.372,0.917,2.371,
+1.419,0.813,0.615,1.028,0.862,0.591,0.549,0.749,0.965,0.074,
+0.563,0.839,1.383,1.203,0.736,1.451,1.045,0.832,0.730,1.127,
+0.081,0.059,0.061,0.101,0.897,0.067,0.560,0.868,0.982,1.032,
+0.926,1.418,1.855,0.944,0.890,2.100,1.174,0.754,0.741,1.271,
+1.511,0.104,0.960,1.661,2.668,1.869,2.027,4.635,2.762,1.541,
+1.177,2.180,1.584,1.116,0.883,1.179,1.225,0.131,0.670,1.061,
+1.514,1.377,0.850,1.693,1.828,1.181,1.002,1.320,1.298,0.948,
+1.010,0.997,1.060,0.127,1.232,1.025,0.853,0.973,0.736,1.145,
+1.082,1.042,0.712,1.104,0.104,0.114,0.085,0.140,0.788,0.095,
+0.587,0.945,0.690,0.918,0.759,1.235,1.220,0.720,0.616,1.170,
+1.172,0.975,0.692,1.071,0.842,0.086,0.613,0.969,1.069,0.847,
+0.951,1.990,2.036,1.383,0.768,1.367,1.447,1.234,0.799,1.033,
+0.929,0.121,0.468,0.773,0.900,0.974,0.578,1.110,1.522,1.487,
+0.736,1.069,1.316,1.004,0.832,0.923,1.155,0.207,0.723,1.002,
+0.744,1.059,0.630,0.956,1.017,1.163,0.743,1.015,0.124,0.168,
+0.127,0.141,1.132,0.171,0.730,1.085,0.790,1.243,0.929,1.260,
+0.897,0.696,0.479,0.854,1.068,1.162,0.670,0.915,0.786,0.079,
+0.534,0.929,0.791,0.775,0.737,1.491,1.531,0.830,0.638,1.002,
+1.265,1.043,0.960,1.180,1.090,0.167,0.648,0.847,0.966,1.014,
+0.714,1.382,0.091,0.103,0.063,0.106,0.107,0.151,0.118,0.126,
+0.103,0.043,0.153,0.111,0.095,0.191,0.098,0.130,0.956,1.046,
+0.880,1.048,0.105,0.134,0.125,0.138,1.163,0.213,0.739,0.988,
+0.750,1.368,1.093,1.287,0.923,0.601,0.561,0.964,1.178,1.218,
+1.025,1.282,1.050,0.113,0.820,1.189,0.958,0.963,1.120,1.892,
+1.693,0.897,0.710,1.334,0.951,0.658,0.592,0.832,0.989,0.095,
+0.542,0.793,1.361,1.042,0.781,1.723,1.459,1.213,0.819,1.204,
+1.090,1.062,0.907,1.109,1.091,0.149,0.909,1.112,1.205,2.070,
+1.018,1.565,0.949,0.959,0.846,1.163,0.083,0.093,0.088,0.113,
+0.925,0.101,0.786,1.106,0.851,1.208,1.232,1.613,1.325,0.792,
+0.745,1.298,1.133,0.942,0.793,1.223,1.224,0.101,0.926,1.504,
+1.661,1.534,1.592,3.201,2.287,1.314,0.942,1.682,1.152,0.908,
+0.665,0.970,1.130,0.104,0.559,0.863,1.170,0.910,0.620,1.225,
+1.646,1.286,0.707,1.095,1.222,0.954,0.788,0.850,1.178,0.138,
+0.975,1.103,0.927,1.147,0.754,1.254,1.148,1.291,0.883,1.279,
+0.139,0.156,0.140,0.202,1.075,0.143,0.744,1.058,0.779,1.311,
+0.904,1.379,1.187,0.799,0.610,1.274,1.090,0.939,0.729,1.128,
+1.171,0.118,0.822,1.390,1.288,1.061,1.284,2.542,0.130,0.108,
+0.094,0.118,0.145,0.129,0.075,0.098,0.082,0.015,0.062,0.078,
+0.081,0.100,0.070,0.114,0.109,0.122,0.058,0.078,0.148,0.159,
+0.102,0.097,0.105,0.032,0.138,0.144,0.073,0.119,0.075,0.104,
+0.077,0.119,0.077,0.087,0.016,0.032,0.034,0.019,0.124,0.034,
+0.123,0.130,0.073,0.151,0.125,0.158,0.103,0.083,0.055,0.117,
+0.144,0.154,0.106,0.143,0.105,0.018,0.090,0.142,0.106,0.108,
+0.110,0.212,1.519,0.971,0.664,0.853,1.229,1.212,1.068,0.979,
+1.087,0.187,0.841,0.958,0.857,1.040,0.978,1.418,0.102,0.125,
+0.062,0.075,0.108,0.145,0.107,0.079,0.107,0.038,0.157,0.110,
+0.096,0.170,0.138,0.134,1.131,1.458,0.992,1.063,0.149,0.200,
+0.159,0.141,1.314,0.208,0.735,1.053,0.719,1.293,1.164,1.284,
+0.957,0.739,0.596,0.834,1.258,1.361,1.069,1.140,1.290,0.161,
+1.317,1.478,0.981,1.112,1.421,1.967,1.489,0.848,0.616,1.117,
+0.935,0.725,0.548,0.736,0.953,0.098,0.662,0.947,1.037,0.866,
+0.735,1.466,1.544,1.272,0.790,1.121,1.227,1.229,0.872,0.887,
+1.265,0.144,1.174,1.354,1.208,1.545,1.192,1.643,1.446,1.408,
+1.039,1.398,0.145,0.167,0.131,0.143,1.448,0.155,1.238,1.590,
+1.237,1.728,1.716,1.964,1.383,0.879,0.788,1.265,1.159,1.098,
+0.901,1.133,1.584,0.137,1.525,1.979,1.735,1.677,1.977,3.125,
+4.266,1.593,1.151,2.575,1.381,0.843,0.687,1.176,1.321,0.117,
+0.639,1.138,1.855,1.298,0.919,2.285,1.621,0.937,0.546,0.970,
+0.956,0.640,0.497,0.737,0.927,0.076,0.625,0.886,0.880,0.760,
+0.564,1.124,1.324,1.285,0.683,1.466,0.103,0.102,0.067,0.165,
+0.898,0.085,0.545,0.942,0.930,1.035,0.740,1.469,1.977,1.070,
+0.856,2.114,1.187,0.840,0.706,1.414,1.218,0.094,0.774,1.481,
+2.087,1.412,1.461,4.169,2.128,1.215,0.874,1.529,1.397,0.995,
+0.735,0.976,0.950,0.090,0.550,0.922,1.044,0.970,0.638,1.453,
+1.469,1.078,0.548,0.931,1.176,0.984,0.617,0.833,0.957,0.097,
+0.733,1.063,0.803,0.912,0.605,1.149,1.094,1.094,0.644,1.172,
+0.078,0.097,0.066,0.108,1.018,0.104,0.737,1.135,0.914,1.244,
+0.878,1.598,1.314,0.894,0.658,1.410,1.153,0.966,0.712,1.332,
+1.080,0.087,0.729,1.326,1.295,1.244,1.096,2.791,2.172,1.263,
+0.917,1.352,1.549,1.152,1.005,1.416,1.445,0.174,0.848,1.349,
+1.417,1.294,1.166,2.340,0.127,0.140,0.064,0.106,0.104,0.117,
+0.087,0.106,0.091,0.018,0.091,0.117,0.122,0.150,0.099,0.187,
+1.459,1.476,1.020,1.557,0.109,0.122,0.100,0.159,1.509,0.172,
+1.096,1.533,1.184,1.627,1.517,2.241,1.617,1.129,0.945,1.550,
+1.645,1.391,1.277,1.952,1.807,0.156,1.523,2.325,1.680,1.491,
+1.938,3.522,4.233,1.577,1.188,2.558,1.484,0.994,0.818,1.285,
+1.693,0.138,0.875,1.568,2.465,1.647,1.404,3.945,2.174,1.562,
+0.894,1.507,1.523,1.379,0.923,1.291,1.536,0.116,1.053,1.683,
+1.762,1.611,1.241,2.789,2.121,1.822,1.363,2.327,0.127,0.125,
+0.097,0.183,2.028,0.153,1.553,2.501,2.110,2.352,2.293,3.808,
+4.248,1.752,1.552,3.641,2.193,1.666,1.458,2.815,2.748,0.171,
+2.223,4.045,4.161,2.787,3.236,7.856
+};
+
+static double hg19_biasTable27_5[] = {
+25.1,5.384,3.337,7.428,5.544,2.459,2.017,3.087,4.779,0.384,
+1.782,2.766,7.429,4.257,2.957,5.710,6.214,2.648,1.867,2.619,
+2.815,1.489,1.371,1.466,2.761,0.192,1.341,1.764,2.537,1.891,
+1.482,2.517,5.202,2.749,2.049,3.117,0.340,0.245,0.182,0.388,
+2.305,0.196,1.305,1.719,2.301,2.245,1.553,2.426,7.544,2.835,
+2.937,5.732,3.902,2.561,2.169,3.959,3.256,0.244,1.659,2.661,
+5.228,2.503,2.507,4.629,7.409,2.883,1.773,2.939,3.077,1.772,
+1.249,1.491,2.557,0.231,0.979,1.561,2.267,1.945,1.079,2.008,
+3.506,1.839,1.093,1.508,1.837,1.111,0.880,0.918,1.855,0.156,
+0.925,1.213,1.262,1.136,0.769,1.178,2.633,2.010,1.209,1.747,
+0.188,0.152,0.113,0.166,1.751,0.160,0.922,1.312,1.255,1.528,
+0.964,1.479,2.361,1.373,1.021,1.861,1.892,1.337,1.151,1.491,
+1.830,0.128,0.928,1.463,1.853,1.363,1.201,2.405,5.771,1.834,
+1.665,2.400,2.648,1.428,1.312,1.603,2.566,0.259,1.021,1.734,
+2.303,1.776,1.352,2.878,0.321,0.192,0.128,0.211,0.225,0.177,
+0.124,0.151,0.200,0.027,0.128,0.187,0.262,0.291,0.173,0.317,
+1.923,1.355,1.241,1.536,0.164,0.112,0.110,0.167,1.447,0.138,
+0.865,1.131,1.121,1.242,1.034,1.299,1.875,1.098,1.059,1.755,
+2.040,1.357,1.177,1.659,1.671,0.144,1.263,1.643,1.587,1.318,
+1.406,2.397,8.208,2.569,2.080,4.567,2.547,1.329,1.311,1.752,
+3.328,0.297,1.277,2.210,4.371,2.615,2.063,5.262,3.980,2.263,
+1.598,2.377,2.399,1.555,1.306,1.585,2.398,0.158,1.347,2.135,
+2.800,2.314,1.794,3.246,2.553,1.884,1.465,2.121,0.192,0.137,
+0.122,0.188,1.761,0.123,1.023,1.588,1.717,1.753,1.501,2.112,
+4.059,2.380,1.764,3.682,2.015,1.343,1.223,2.035,2.608,0.162,
+1.531,2.568,3.532,2.302,2.319,4.609,6.901,3.375,2.131,3.694,
+2.712,1.719,1.295,1.582,2.046,0.202,0.861,1.506,2.251,1.992,
+1.184,2.197,3.070,2.031,1.187,1.657,1.828,1.171,1.016,1.109,
+1.415,0.155,0.834,1.222,1.091,1.113,0.782,1.391,1.980,1.779,
+1.135,1.634,0.176,0.185,0.117,0.192,1.169,0.112,0.804,0.970,
+0.925,1.199,0.909,1.368,2.070,1.013,0.982,1.654,1.740,1.364,
+0.928,1.375,1.302,0.139,0.652,1.088,1.402,0.984,0.993,2.115,
+3.719,2.449,1.120,1.811,2.039,1.549,0.929,0.993,1.470,0.157,
+0.597,0.975,1.174,1.247,0.666,1.220,2.008,1.438,0.741,1.000,
+1.257,0.718,0.723,0.710,1.108,0.125,0.624,0.913,0.694,0.808,
+0.538,0.774,1.518,1.755,0.811,1.129,0.139,0.216,0.097,0.117,
+1.147,0.168,0.689,0.936,0.735,1.356,0.717,1.084,1.219,0.841,
+0.535,0.901,1.190,1.126,0.616,0.814,1.150,0.098,0.503,0.870,
+0.875,0.789,0.603,1.298,2.466,1.407,0.926,1.623,1.808,1.322,
+1.115,1.194,1.375,0.165,0.669,1.131,1.118,1.105,0.838,1.609,
+0.147,0.155,0.082,0.243,0.128,0.159,0.108,0.099,0.110,0.029,
+0.096,0.133,0.099,0.170,0.092,0.146,1.377,1.442,1.124,1.210,
+0.151,0.145,0.110,0.127,1.094,0.136,0.726,0.946,0.714,1.108,
+0.911,1.088,1.040,0.662,0.633,0.961,1.320,1.191,0.913,1.103,
+1.015,0.096,0.791,1.117,0.845,0.767,0.968,1.480,2.384,1.070,
+0.897,1.550,1.318,0.820,0.840,0.839,1.153,0.100,0.522,0.931,
+1.424,0.954,0.742,1.707,1.828,1.299,0.928,1.510,1.222,1.096,
+0.815,0.936,0.969,0.095,0.703,1.365,0.944,1.124,0.799,1.447,
+1.363,1.263,1.026,1.303,0.108,0.102,0.074,0.110,1.012,0.089,
+0.705,1.052,0.847,1.071,0.947,1.370,1.616,0.877,0.860,1.396,
+1.155,0.893,0.732,1.073,1.281,0.099,0.839,1.436,1.589,1.315,
+1.367,2.409,4.989,2.024,2.086,2.696,1.607,1.033,0.832,1.104,
+2.088,0.164,0.802,1.180,1.826,1.431,0.869,1.732,2.590,1.677,
+1.038,1.399,1.311,0.884,0.805,0.846,1.554,0.146,0.842,1.090,
+1.138,1.251,0.707,1.209,1.765,1.678,1.230,1.619,0.174,0.202,
+0.129,0.231,1.103,0.131,0.607,0.930,0.925,1.370,0.765,1.462,
+1.883,1.168,1.028,1.832,1.442,1.327,0.892,1.352,1.438,0.137,
+0.795,1.375,1.622,1.177,1.305,3.243,0.272,0.180,0.116,0.185,
+0.183,0.149,0.091,0.111,0.140,0.022,0.071,0.105,0.128,0.150,
+0.089,0.154,0.195,0.155,0.088,0.108,0.149,0.137,0.092,0.089,
+0.134,0.028,0.089,0.106,0.097,0.132,0.066,0.104,0.135,0.168,
+0.097,0.121,0.019,0.032,0.023,0.021,0.128,0.029,0.089,0.123,
+0.096,0.169,0.088,0.146,0.212,0.137,0.103,0.205,0.224,0.247,
+0.155,0.219,0.166,0.020,0.113,0.176,0.178,0.153,0.147,0.317,
+1.863,1.033,0.773,0.974,1.151,0.920,0.748,0.789,1.323,0.173,
+0.781,1.041,0.980,0.915,0.797,1.138,0.138,0.136,0.060,0.081,
+0.089,0.107,0.073,0.064,0.114,0.026,0.088,0.095,0.109,0.139,
+0.081,0.105,1.076,1.215,0.739,0.807,0.106,0.172,0.083,0.101,
+1.062,0.174,0.499,0.717,0.647,0.974,0.643,0.774,0.975,0.656,
+0.544,0.707,0.957,1.011,0.707,0.857,1.114,0.136,0.914,1.164,
+0.758,0.852,0.776,1.173,1.805,0.856,0.656,1.196,1.057,0.599,
+0.468,0.617,1.107,0.102,0.565,0.909,1.279,0.894,0.645,1.397,
+1.861,1.327,0.748,1.089,1.246,0.992,0.701,0.747,1.169,0.108,
+0.757,1.119,1.166,1.213,0.771,1.209,1.331,1.235,0.861,1.198,
+0.117,0.131,0.076,0.123,1.160,0.150,0.758,1.444,0.959,1.292,
+0.906,1.394,1.483,0.811,0.812,1.092,1.155,0.955,0.758,1.002,
+1.400,0.124,1.032,1.553,1.622,1.364,1.332,2.471,6.732,2.568,
+2.082,5.239,1.998,1.103,1.049,1.519,2.073,0.182,0.882,1.636,
+3.791,2.074,1.391,3.353,2.402,1.211,0.858,1.432,1.181,0.663,
+0.622,0.813,1.345,0.098,0.744,1.171,1.290,0.993,0.694,1.403,
+2.343,1.562,1.056,2.136,0.171,0.134,0.095,0.241,1.221,0.104,
+0.561,1.092,1.281,1.224,0.768,1.702,2.997,1.383,1.436,3.742,
+1.745,1.166,1.061,2.049,1.737,0.137,1.064,1.891,2.787,1.745,
+1.854,5.268,3.642,1.913,1.270,2.587,2.101,1.315,0.945,1.322,
+1.695,0.154,0.779,1.367,1.662,1.461,0.908,1.752,2.347,1.308,
+0.805,1.312,1.437,0.987,0.695,0.858,1.371,0.169,0.765,1.200,
+1.120,1.119,0.592,1.134,1.792,1.414,0.838,1.503,0.112,0.110,
+0.071,0.134,1.303,0.119,0.725,1.240,1.182,1.392,0.844,1.596,
+2.157,1.098,0.945,2.020,1.691,1.329,0.936,1.687,1.568,0.109,
+0.949,1.604,1.804,1.342,1.313,2.876,2.137,1.187,0.926,1.589,
+1.524,0.951,0.853,1.190,1.538,0.172,0.830,1.328,1.421,1.250,
+0.967,1.761,0.154,0.115,0.071,0.127,0.100,0.092,0.074,0.087,
+0.114,0.018,0.092,0.204,0.126,0.140,0.084,0.153,1.289,1.176,
+0.786,1.188,0.096,0.082,0.067,0.113,1.524,0.117,0.650,0.931,
+1.009,1.079,0.941,1.226,1.312,0.845,0.773,1.261,1.346,0.978,
+0.881,1.378,1.554,0.145,0.922,1.531,1.264,1.106,1.115,2.000,
+3.905,1.510,1.285,2.540,1.596,0.955,1.348,1.180,1.834,0.150,
+0.933,1.511,2.598,1.600,1.366,3.342,1.820,1.078,0.780,1.276,
+1.138,0.753,0.688,0.854,1.173,0.083,0.758,1.387,1.448,1.224,
+0.869,1.739,2.064,1.653,1.150,1.914,0.140,0.106,0.076,0.146,
+1.666,0.117,0.935,1.618,1.753,1.780,1.424,2.191,3.272,1.514,
+1.465,3.160,2.004,1.511,1.239,2.037,2.478,0.134,1.612,2.805,
+4.062,2.495,2.531,5.466,6.338,3.495,2.636,4.376,3.739,2.133,
+1.577,1.958,2.740,0.295,1.268,2.017,3.514,2.817,1.650,2.819,
+3.090,2.112,1.288,1.534,2.097,1.405,1.139,1.133,1.769,0.172,
+1.133,1.377,1.302,1.389,1.037,1.552,1.803,1.603,1.114,1.575,
+0.179,0.157,0.118,0.203,1.183,0.129,0.708,0.914,1.083,1.364,
+0.983,1.454,2.347,1.268,1.006,2.065,2.012,1.496,1.022,1.664,
+1.581,0.217,0.874,1.428,1.806,1.383,1.411,2.572,3.908,2.386,
+1.204,1.895,3.529,1.910,1.077,1.183,1.969,0.321,0.879,1.244,
+1.447,1.784,0.834,1.539,2.283,1.761,0.829,1.072,1.678,1.081,
+0.830,0.866,1.472,0.224,1.006,1.286,0.891,1.197,0.701,1.179,
+1.510,1.558,0.787,0.985,0.254,0.155,0.113,0.126,1.267,0.176,
+0.855,1.037,0.858,1.432,0.903,1.128,1.191,0.890,0.500,0.874,
+1.461,1.085,0.653,0.903,1.081,0.110,0.703,1.072,0.986,1.010,
+0.915,1.647,2.099,1.247,0.772,1.215,2.127,1.485,0.952,1.128,
+1.741,0.223,0.752,1.127,1.227,1.190,0.812,1.611,0.169,0.179,
+0.092,0.129,0.265,0.284,0.130,0.138,0.148,0.041,0.126,0.154,
+0.127,0.241,0.112,0.175,0.996,1.169,0.725,0.828,0.122,0.109,
+0.079,0.115,0.917,0.127,0.706,0.998,0.636,0.911,0.711,0.879,
+0.895,0.634,0.511,0.787,1.217,1.104,0.729,1.000,1.021,0.126,
+0.879,1.095,0.880,0.949,0.953,1.462,2.304,1.097,0.827,1.736,
+1.242,0.738,0.554,0.776,1.312,0.153,0.608,1.005,1.488,1.055,
+0.782,1.904,1.864,1.482,0.907,1.324,1.549,1.322,0.916,1.017,
+1.109,0.124,0.824,1.197,1.016,1.260,0.823,1.382,1.053,0.948,
+0.841,1.070,0.128,0.083,0.129,0.133,0.801,0.086,0.592,0.837,
+0.725,0.985,0.805,1.086,1.418,0.819,0.736,1.397,0.929,0.750,
+0.702,0.968,1.247,0.105,0.865,1.417,1.601,1.433,1.411,2.678,
+3.656,2.362,1.641,2.432,2.538,2.109,1.371,1.457,1.434,0.182,
+0.722,1.142,1.474,1.489,0.889,1.604,2.390,1.831,1.052,1.255,
+2.003,1.489,1.378,1.168,1.192,0.182,0.908,1.160,0.737,1.045,
+0.715,1.319,1.124,1.315,0.910,1.100,0.135,0.167,0.129,0.156,
+0.765,0.108,0.632,0.732,0.629,0.950,0.717,1.053,1.158,0.682,
+0.584,1.058,1.208,1.193,0.772,1.014,0.930,0.134,0.577,0.832,
+1.024,0.852,0.822,1.599,2.243,1.911,0.847,1.169,1.893,1.918,
+0.905,0.900,1.133,0.168,0.652,0.867,0.799,1.076,0.566,0.937,
+1.496,1.358,0.660,0.718,0.931,0.395,0.645,0.594,0.954,0.202,
+0.742,0.993,0.495,0.905,0.555,0.711,0.961,1.493,0.695,0.817,
+0.140,0.221,0.127,0.126,0.917,0.185,0.712,0.938,0.541,1.294,
+0.804,0.949,0.735,0.642,0.385,0.591,0.960,1.175,0.554,0.721,
+0.773,0.098,0.569,0.943,0.591,0.704,0.594,1.159,1.659,1.224,
+0.713,0.993,2.023,2.029,1.160,1.098,1.303,0.262,0.741,1.011,
+0.868,1.544,0.744,1.242,0.129,0.198,0.092,0.122,0.289,0.388,
+0.196,0.131,0.158,0.091,0.210,0.154,0.097,0.572,0.112,0.123,
+1.149,1.414,0.851,0.876,0.315,0.267,0.148,0.137,0.976,0.175,
+0.787,0.926,0.564,1.191,0.978,0.940,0.786,0.630,0.508,0.669,
+1.803,2.159,1.220,1.156,1.063,0.134,0.798,1.035,0.733,0.863,
+0.928,1.307,1.362,0.838,0.590,0.999,1.016,0.807,0.500,0.616,
+0.785,0.088,0.426,0.668,0.849,0.755,0.505,1.100,1.209,1.195,
+0.774,1.132,1.242,1.504,0.854,0.874,0.825,0.154,0.731,0.956,
+0.603,1.346,0.642,0.933,0.859,1.103,0.808,0.906,0.113,0.125,
+0.080,0.091,0.616,0.081,0.601,0.739,0.526,0.856,0.770,0.964,
+0.934,0.586,0.497,0.826,0.862,0.840,0.761,0.799,0.865,0.076,
+0.600,0.919,0.979,1.025,0.980,1.716,2.345,1.627,1.123,1.702,
+1.644,1.078,0.763,1.011,1.259,0.143,0.625,0.915,1.186,1.162,
+0.823,1.370,1.846,1.736,0.772,1.105,1.448,1.273,0.919,0.967,
+1.577,0.226,1.104,1.271,0.837,1.289,0.698,1.124,1.059,1.447,
+0.809,1.133,0.134,0.175,0.126,0.205,0.945,0.151,0.647,0.962,
+0.665,1.153,0.682,1.469,1.046,0.718,0.519,1.096,1.066,1.053,
+0.678,1.041,1.068,0.124,0.752,1.199,1.041,0.847,0.972,2.162,
+0.171,0.137,0.070,0.106,0.296,0.198,0.132,0.116,0.117,0.030,
+0.077,0.101,0.089,0.136,0.135,0.190,0.125,0.168,0.067,0.083,
+0.181,0.227,0.135,0.121,0.150,0.071,0.143,0.151,0.069,0.144,
+0.075,0.095,0.087,0.177,0.087,0.090,0.030,0.066,0.050,0.029,
+0.134,0.061,0.144,0.156,0.072,0.182,0.116,0.139,0.095,0.083,
+0.051,0.101,0.189,0.232,0.121,0.157,0.115,0.025,0.118,0.156,
+0.094,0.106,0.117,0.189,1.498,1.330,0.686,0.881,1.379,1.733,
+0.993,0.976,1.408,0.284,1.970,1.676,0.835,1.129,0.875,1.214,
+0.124,0.318,0.085,0.087,0.140,0.370,0.162,0.104,0.142,0.070,
+0.191,0.158,0.084,0.201,0.104,0.107,0.849,1.639,0.770,0.794,
+0.132,0.256,0.138,0.130,1.157,0.258,0.714,0.991,0.581,1.273,
+0.831,0.920,0.697,0.739,0.466,0.612,1.147,2.243,0.884,1.002,
+1.324,0.251,1.486,1.289,0.698,1.020,0.980,1.219,1.192,0.781,
+0.522,1.017,0.824,0.637,0.406,0.550,0.836,0.106,0.543,1.059,
+0.811,0.785,0.517,1.154,1.365,1.541,0.687,0.895,1.386,1.990,
+0.839,0.902,1.194,0.191,1.000,1.269,0.856,1.389,0.778,1.094,
+0.949,1.299,0.915,0.926,0.099,0.148,0.096,0.105,1.099,0.185,
+0.907,1.160,0.738,1.405,0.930,1.238,0.856,0.629,0.501,0.816,
+0.819,0.899,0.639,0.776,1.141,0.126,1.119,1.374,1.120,1.217,
+1.146,1.766,2.359,1.184,0.910,1.849,1.141,0.676,0.592,0.992,
+1.064,0.102,0.477,0.980,1.325,0.954,0.653,1.513,1.404,1.062,
+0.520,0.875,0.822,0.591,0.480,0.704,0.819,0.081,0.510,1.179,
+0.718,0.626,0.442,0.914,0.914,0.886,0.494,0.904,0.073,0.069,
+0.045,0.112,0.605,0.062,0.355,0.667,0.588,0.672,0.449,0.937,
+1.244,0.670,0.568,1.344,0.821,0.617,0.465,0.980,0.809,0.068,
+0.475,1.003,1.132,0.772,0.880,2.212,2.063,1.259,0.802,1.316,
+1.731,1.162,1.186,1.061,1.189,0.145,0.652,1.060,0.999,1.135,
+0.804,1.315,1.378,1.119,0.538,0.832,1.247,1.071,0.698,0.845,
+1.187,0.222,0.709,1.203,0.783,1.104,0.555,1.025,0.898,1.275,
+0.534,0.767,0.087,0.126,0.072,0.102,0.854,0.130,0.639,1.006,
+0.740,1.313,0.694,1.135,0.903,0.656,0.504,0.922,1.099,1.064,
+0.660,1.162,0.889,0.091,0.694,1.127,0.928,0.931,0.900,1.745,
+1.325,0.880,0.591,0.899,1.136,0.991,0.713,0.903,1.191,0.161,
+0.733,1.079,0.885,0.905,0.772,1.366,0.089,0.102,0.049,0.077,
+0.085,0.131,0.083,0.077,0.078,0.020,0.075,0.102,0.072,0.115,
+0.071,0.107,0.810,0.932,0.536,0.787,0.082,0.087,0.061,0.100,
+1.002,0.123,0.611,0.861,0.651,0.963,0.744,0.980,0.749,0.610,
+0.486,0.778,0.984,0.957,0.648,1.038,1.218,0.191,0.881,1.231,
+0.862,0.952,0.984,1.554,1.711,0.883,0.681,1.301,0.872,0.647,
+0.500,0.641,0.999,0.105,0.560,0.979,1.081,0.787,0.693,1.633,
+1.214,0.870,0.536,0.868,0.919,0.823,0.562,0.703,0.799,0.069,
+0.559,0.922,0.858,0.832,0.638,1.190,1.275,1.092,0.737,1.119,
+0.180,0.082,0.058,0.102,1.048,0.099,0.757,1.143,1.012,1.311,
+1.035,1.515,1.566,0.900,0.829,1.678,1.438,1.164,0.900,1.293,
+1.589,0.131,1.338,2.011,2.178,1.712,1.863,2.750,4.913,2.011,
+2.102,3.086,2.158,1.335,1.205,1.453,2.497,0.203,0.923,1.291,
+2.540,1.944,1.096,2.040,1.742,1.096,0.730,1.036,1.199,0.737,
+0.718,0.828,1.093,0.121,0.644,0.774,0.896,0.891,0.635,0.999,
+1.824,1.158,0.818,1.214,0.133,0.103,0.088,0.169,0.922,0.088,
+0.573,0.795,0.791,0.921,0.715,1.071,1.855,0.958,0.748,1.553,
+1.427,1.006,0.797,1.269,1.061,0.093,0.617,0.975,1.368,0.835,
+1.025,2.030,3.171,1.693,1.135,1.866,2.070,1.417,1.350,1.486,
+1.657,0.212,0.711,1.051,1.342,1.506,0.717,1.371,1.697,1.244,
+0.698,0.964,1.238,0.734,0.826,0.990,1.707,0.453,0.786,1.011,
+0.857,1.308,0.552,0.851,1.498,1.484,0.946,1.245,0.164,0.154,
+0.135,0.172,1.291,0.159,0.838,1.151,0.847,1.254,0.909,1.098,
+1.292,0.834,0.573,1.106,1.465,1.253,0.878,1.237,1.048,0.100,
+0.635,0.999,0.948,0.863,0.900,1.658,2.325,0.979,0.796,1.300,
+1.945,1.274,1.289,1.309,4.487,0.368,0.960,1.178,1.836,1.390,
+0.908,1.693,0.184,0.150,0.092,0.147,0.197,0.178,0.156,0.181,
+0.264,0.048,0.155,0.157,0.219,0.327,0.133,0.217,1.005,0.912,
+0.874,0.924,0.118,0.110,0.108,0.144,1.031,0.176,0.606,0.723,
+0.676,1.159,0.671,0.805,0.889,0.536,0.504,0.803,1.273,1.048,
+0.920,1.224,1.038,0.118,0.691,0.906,1.007,0.915,0.883,1.501,
+2.357,0.913,0.780,1.632,1.161,0.731,0.711,1.028,1.811,0.178,
+0.659,0.983,2.197,1.341,0.824,2.046,1.657,1.039,0.744,1.120,
+1.325,0.872,0.937,1.086,1.374,0.136,0.789,1.039,1.384,1.277,
+0.750,1.352,1.140,0.998,0.943,1.213,0.114,0.089,0.092,0.149,
+0.989,0.102,0.683,1.014,0.931,1.192,0.947,1.371,1.669,0.876,
+0.788,1.631,1.107,0.813,0.801,1.269,1.518,0.125,1.022,1.670,
+2.483,1.787,1.929,3.968,0.276,0.162,0.125,0.181,0.187,0.151,
+0.117,0.150,0.149,0.022,0.072,0.100,0.148,0.163,0.089,0.147,
+0.210,0.144,0.105,0.138,0.171,0.141,0.142,0.174,0.117,0.023,
+0.103,0.104,0.082,0.111,0.080,0.123,0.122,0.134,0.088,0.112,
+0.024,0.024,0.022,0.025,0.095,0.017,0.074,0.092,0.066,0.109,
+0.078,0.109,0.130,0.083,0.066,0.124,0.161,0.148,0.111,0.146,
+0.124,0.016,0.076,0.147,0.113,0.090,0.110,0.192,0.220,0.174,
+0.096,0.153,0.192,0.203,0.148,0.208,0.134,0.031,0.072,0.105,
+0.095,0.139,0.071,0.113,0.183,0.184,0.092,0.114,0.184,0.148,
+0.165,0.213,0.159,0.048,0.108,0.130,0.075,0.132,0.074,0.104,
+0.134,0.184,0.120,0.120,0.030,0.050,0.046,0.032,0.152,0.046,
+0.122,0.136,0.072,0.165,0.125,0.125,0.117,0.092,0.060,0.104,
+0.185,0.221,0.136,0.144,0.111,0.016,0.080,0.115,0.084,0.091,
+0.093,0.167,0.164,0.101,0.068,0.100,0.179,0.185,0.161,0.134,
+0.227,0.048,0.117,0.102,0.107,0.147,0.090,0.133,0.017,0.025,
+0.015,0.019,0.032,0.052,0.046,0.032,0.037,0.028,0.048,0.030,
+0.015,0.045,0.022,0.021,0.110,0.154,0.165,0.140,0.027,0.044,
+0.044,0.031,0.230,0.111,0.130,0.126,0.090,0.316,0.124,0.114,
+0.098,0.066,0.069,0.092,0.166,0.198,0.168,0.173,0.131,0.026,
+0.115,0.124,0.094,0.118,0.115,0.166,0.224,0.155,0.110,0.172,
+0.148,0.116,0.102,0.125,0.167,0.021,0.085,0.111,0.209,0.167,
+0.120,0.241,0.253,0.228,0.158,0.197,0.262,0.246,0.234,0.236,
+0.243,0.039,0.195,0.203,0.197,0.295,0.165,0.235,0.127,0.151,
+0.134,0.147,0.018,0.026,0.021,0.027,0.145,0.028,0.126,0.157,
+0.110,0.183,0.154,0.191,0.185,0.122,0.099,0.171,0.156,0.155,
+0.129,0.170,0.176,0.019,0.137,0.205,0.233,0.204,0.218,0.389,
+2.015,1.073,0.850,1.302,1.092,0.841,0.637,0.791,1.025,0.113,
+0.607,0.701,0.860,0.753,0.534,0.853,1.258,0.956,0.588,0.770,
+1.016,0.805,0.825,0.704,1.029,0.134,1.023,0.899,0.602,0.779,
+0.546,0.750,1.118,1.283,1.116,1.132,0.163,0.173,0.366,0.239,
+1.326,0.168,0.718,0.867,0.675,1.197,0.657,0.933,0.909,0.595,
+0.518,1.050,0.940,0.814,1.038,1.116,1.045,0.108,0.708,1.023,
+0.847,0.719,0.813,1.588,0.142,0.116,0.065,0.106,0.145,0.173,
+0.102,0.110,0.088,0.021,0.063,0.076,0.065,0.087,0.051,0.085,
+0.103,0.100,0.052,0.060,0.122,0.128,0.116,0.094,0.099,0.034,
+0.112,0.104,0.053,0.078,0.049,0.063,0.112,0.159,0.236,0.112,
+0.028,0.047,0.251,0.037,0.127,0.042,0.134,0.127,0.065,0.133,
+0.095,0.098,0.115,0.078,0.067,0.122,0.156,0.181,0.303,0.193,
+0.112,0.018,0.096,0.138,0.081,0.083,0.088,0.153,1.269,0.850,
+0.569,0.660,1.198,1.378,1.149,0.914,1.056,0.181,0.848,0.838,
+0.580,0.714,0.675,0.863,0.102,0.144,0.076,0.070,0.123,0.227,
+0.268,0.095,0.116,0.044,0.192,0.119,0.069,0.126,0.097,0.088,
+0.929,1.074,0.816,0.877,0.131,0.160,0.159,0.193,1.012,0.185,
+0.404,0.589,0.458,0.845,0.661,0.717,0.651,0.459,0.404,0.542,
+0.903,0.943,0.787,1.040,0.887,0.126,0.832,0.868,0.531,0.643,
+0.718,0.921,1.068,0.625,0.486,0.796,0.760,0.601,0.405,0.494,
+0.734,0.091,0.503,0.697,0.673,0.600,0.429,0.811,1.111,1.011,
+0.596,0.680,1.092,1.195,1.040,0.710,0.962,0.135,0.922,0.966,
+0.868,0.978,0.660,0.850,1.030,1.302,0.784,0.997,0.118,0.186,
+0.121,0.183,1.125,0.204,1.078,1.174,0.702,1.211,0.942,1.102,
+0.844,0.571,0.462,0.749,0.922,0.908,0.618,0.848,0.994,0.108,
+0.924,1.129,0.933,0.960,0.980,1.448,2.215,0.939,0.715,1.395,
+0.917,0.570,0.485,0.700,0.843,0.088,0.388,0.640,1.152,0.765,
+0.527,1.160,1.189,0.669,0.439,0.666,0.646,0.441,0.393,0.492,
+0.569,0.050,0.377,0.554,0.498,0.439,0.340,0.617,0.969,1.162,
+0.553,0.881,0.081,0.079,0.070,0.123,0.674,0.068,0.369,0.614,
+0.636,0.723,0.501,0.831,1.203,0.726,0.579,1.209,0.827,0.593,
+0.587,1.011,0.775,0.065,0.437,0.774,1.102,0.701,0.808,1.738,
+2.086,1.307,0.809,1.486,1.358,1.229,0.841,1.008,1.017,0.111,
+0.579,0.894,0.950,0.959,0.563,1.176,1.396,1.075,0.582,0.888,
+1.144,0.985,0.778,0.907,0.913,0.105,0.689,0.961,0.644,0.731,
+0.509,0.787,1.265,1.388,1.163,1.084,0.102,0.132,0.256,0.137,
+0.966,0.121,0.770,1.085,0.765,1.175,0.805,1.188,1.220,0.821,
+0.702,1.178,1.252,1.142,1.074,1.309,0.997,0.092,0.697,1.130,
+0.956,0.909,0.840,1.604,1.438,0.913,0.664,0.915,1.190,1.091,
+0.908,1.014,1.097,0.149,0.690,1.067,0.823,0.837,0.737,1.324,
+0.123,0.122,0.061,0.089,0.118,0.218,0.118,0.111,0.086,0.024,
+0.099,0.115,0.079,0.123,0.082,0.111,0.955,1.444,0.722,1.075,
+0.094,0.125,0.095,0.222,1.036,0.161,0.642,0.895,0.724,1.422,
+0.807,0.998,0.884,0.671,0.566,0.831,1.121,1.025,0.938,1.470,
+1.031,0.105,0.857,1.185,0.911,0.926,1.053,1.480,1.897,0.834,
+0.765,1.290,0.930,0.665,0.599,0.700,1.071,0.138,0.573,0.991,
+1.005,0.717,0.607,1.519,1.413,1.064,0.583,0.905,1.027,0.962,
+0.729,0.795,0.836,0.078,0.706,1.012,0.849,0.792,0.659,1.119,
+1.252,1.275,0.867,1.326,0.110,0.135,0.082,0.152,1.229,0.132,
+0.985,1.456,1.097,1.406,1.198,1.574,1.766,0.936,0.861,1.737,
+1.374,1.497,0.953,1.456,1.508,0.119,1.183,1.956,2.096,1.512,
+1.704,2.993,5.449,2.500,2.233,4.945,2.423,1.332,1.196,1.735,
+2.435,0.207,0.928,1.670,4.511,2.739,1.422,3.180,2.078,1.025,
+0.777,1.214,1.196,0.664,0.595,0.748,1.237,0.087,0.694,0.812,
+1.182,0.996,0.586,1.093,1.744,1.111,0.828,1.535,0.141,0.090,
+0.075,0.172,0.972,0.075,0.503,0.825,1.059,1.018,0.716,1.394,
+3.510,1.373,1.199,2.614,1.765,1.079,0.933,1.633,1.482,0.114,
+0.880,1.387,2.397,1.403,1.440,3.672,2.629,1.196,0.809,1.590,
+1.383,0.732,0.580,0.828,1.125,0.105,0.453,0.775,1.421,1.102,
+0.541,1.269,1.351,0.768,0.461,0.775,0.744,0.395,0.378,0.537,
+0.905,0.110,0.420,0.600,0.785,0.670,0.384,0.713,1.246,0.935,
+0.656,1.031,0.100,0.065,0.059,0.091,0.912,0.070,0.412,0.672,
+0.844,0.850,0.624,0.962,1.288,0.736,0.564,1.140,1.017,0.670,
+0.526,0.812,0.866,0.056,0.456,0.789,1.006,0.761,0.703,1.751,
+2.618,0.925,0.783,1.522,1.469,0.809,0.737,1.182,1.941,0.172,
+0.567,0.920,2.182,1.334,0.778,2.027,0.173,0.094,0.069,0.136,
+0.122,0.083,0.073,0.120,0.134,0.013,0.065,0.100,0.233,0.206,
+0.088,0.205,0.984,0.726,0.727,1.003,0.083,0.055,0.055,0.104,
+0.834,0.079,0.375,0.586,0.843,0.840,0.587,0.901,1.039,0.574,
+0.618,1.138,1.043,0.685,0.640,1.102,0.908,0.074,0.524,0.873,
+1.177,0.895,0.873,1.819,3.576,1.212,1.079,2.654,1.401,0.724,
+0.693,1.214,2.342,0.183,0.847,1.346,5.598,2.233,1.317,3.743,
+1.959,0.973,0.818,1.364,1.150,0.694,0.684,1.002,1.440,0.097,
+0.719,1.092,2.122,1.549,0.883,1.835,1.392,1.007,0.947,1.406,
+0.106,0.071,0.074,0.124,1.213,0.079,0.660,1.069,1.303,1.267,
+0.992,1.656,2.570,1.232,1.138,2.599,1.463,0.978,0.894,1.554,
+1.962,0.125,1.154,2.063,3.736,2.526,2.325,5.736,3.557,1.788,
+1.349,2.665,1.927,1.205,0.977,1.337,1.592,0.155,0.675,1.125,
+1.992,1.857,0.914,1.919,2.164,1.187,0.865,1.489,1.424,0.907,
+0.822,0.990,1.054,0.107,1.222,0.947,0.909,0.961,0.668,1.196,
+1.355,1.212,0.796,1.313,0.132,0.117,0.082,0.149,0.860,0.092,
+0.557,0.904,0.849,1.036,0.721,1.301,1.538,0.861,0.728,1.402,
+1.434,1.066,0.773,1.217,1.079,0.104,0.643,1.088,1.301,0.927,
+1.009,2.126,2.437,1.389,0.834,1.668,1.561,1.121,0.767,1.048,
+1.063,0.117,0.440,0.819,1.135,1.200,0.547,1.202,1.533,1.179,
+0.603,0.987,1.202,0.803,0.666,0.882,0.965,0.114,0.546,0.790,
+0.709,0.815,0.493,0.816,1.186,1.255,0.736,1.070,0.148,0.161,
+0.119,0.146,1.023,0.131,0.585,0.874,0.814,1.182,0.760,1.207,
+1.100,0.803,0.542,0.999,1.254,1.315,0.706,0.932,0.794,0.070,
+0.460,0.840,0.861,0.752,0.662,1.509,1.970,0.904,0.651,1.174,
+1.370,0.931,0.859,1.081,1.314,0.164,0.598,0.765,1.236,1.139,
+0.713,1.502,0.101,0.089,0.057,0.105,0.103,0.110,0.091,0.111,
+0.100,0.025,0.105,0.092,0.108,0.169,0.081,0.123,1.055,1.068,
+0.902,1.065,0.101,0.107,0.089,0.119,1.111,0.196,0.567,0.817,
+0.795,1.391,0.795,1.127,1.081,0.614,0.624,1.055,1.227,1.121,
+0.928,1.243,1.056,0.097,0.661,0.992,1.033,0.890,0.969,1.744,
+2.282,1.082,0.879,1.649,1.092,0.690,0.627,0.881,1.287,0.114,
+0.636,0.906,1.971,1.304,0.914,2.129,1.722,1.176,0.917,1.372,
+1.253,0.993,0.936,1.130,1.226,0.123,0.897,1.132,1.425,1.739,
+1.003,1.622,1.146,1.064,0.901,1.319,0.095,0.089,0.067,0.111,
+1.018,0.090,0.703,1.095,1.001,1.218,0.964,1.616,1.729,0.932,
+0.849,1.534,1.378,1.084,0.887,1.212,1.427,0.103,0.911,1.563,
+2.072,1.578,1.534,3.120,2.239,1.240,0.875,1.704,1.149,0.836,
+0.577,0.902,1.173,0.106,0.529,0.858,1.357,1.025,0.657,1.273,
+1.632,1.146,0.644,1.073,1.036,0.751,0.598,0.681,1.093,0.112,
+0.700,0.899,0.932,1.032,0.608,1.100,1.276,1.307,0.915,1.369,
+0.172,0.148,0.143,0.197,1.073,0.114,0.647,1.097,0.826,1.164,
+0.720,1.503,1.268,0.821,0.669,1.368,1.106,0.955,0.740,1.128,
+1.288,0.117,0.738,1.318,1.367,0.968,1.069,2.385,0.139,0.103,
+0.063,0.136,0.138,0.108,0.067,0.091,0.089,0.014,0.051,0.076,
+0.098,0.111,0.069,0.127,0.099,0.086,0.045,0.071,0.094,0.101,
+0.065,0.069,0.085,0.016,0.074,0.084,0.068,0.086,0.052,0.083,
+0.094,0.124,0.106,0.104,0.015,0.024,0.052,0.020,0.121,0.022,
+0.086,0.120,0.081,0.135,0.089,0.256,0.120,0.086,0.065,0.137,
+0.137,0.151,0.133,0.148,0.115,0.013,0.078,0.129,0.113,0.101,
+0.097,0.214,1.427,0.857,0.586,0.860,1.087,0.999,0.792,0.894,
+1.035,0.156,0.739,0.829,0.846,0.981,0.931,1.302,0.093,0.097,
+0.048,0.070,0.078,0.104,0.075,0.061,0.085,0.020,0.136,0.083,
+0.088,0.132,0.090,0.106,0.959,1.454,0.743,0.975,0.096,0.128,
+0.090,0.111,1.053,0.130,0.515,0.722,0.624,1.020,0.757,0.998,
+0.922,0.675,0.522,0.772,1.016,1.051,0.762,0.969,1.145,0.114,
+1.042,1.073,0.865,0.931,1.002,1.520,1.463,0.751,0.569,1.107,
+0.889,0.630,0.463,0.668,0.977,0.091,0.604,0.866,1.207,0.862,
+0.810,1.433,1.523,1.074,0.710,1.076,1.060,1.006,0.730,0.771,
+1.184,0.108,0.897,1.098,1.295,1.315,0.912,1.403,1.515,1.412,
+0.959,1.467,0.126,0.199,0.096,0.136,1.268,0.124,0.904,1.262,
+1.306,1.468,1.178,1.662,1.348,0.826,0.746,1.217,1.136,1.098,
+0.759,1.043,1.471,0.116,1.163,1.540,1.668,1.517,1.511,2.582,
+4.493,1.615,1.320,2.913,1.497,0.866,0.741,1.289,1.524,0.125,
+0.694,1.299,2.295,1.419,0.977,2.540,1.808,0.963,0.616,1.111,
+0.989,0.626,0.529,0.792,1.029,0.085,0.878,1.086,0.950,0.805,
+0.635,1.192,1.540,1.914,0.766,1.653,0.111,0.114,0.070,0.171,
+0.959,0.091,0.562,0.995,1.066,1.099,0.730,1.553,2.383,1.280,
+1.080,2.659,1.391,0.920,0.828,1.634,1.401,0.102,0.861,1.725,
+2.778,1.507,1.591,4.547,2.045,1.092,0.759,1.580,1.213,0.833,
+0.638,0.917,0.986,0.084,0.472,0.915,1.132,0.955,0.637,1.590,
+1.305,0.810,0.470,0.873,0.840,0.598,0.441,0.664,0.834,0.069,
+0.595,0.875,0.747,0.728,0.550,0.975,1.129,1.017,0.717,1.171,
+0.072,0.081,0.079,0.099,0.951,0.085,0.578,0.995,0.958,1.209,
+0.742,1.639,1.421,0.839,0.729,1.527,1.235,0.945,0.738,1.296,
+1.060,0.074,0.650,1.212,1.369,1.086,1.019,2.408,2.251,1.246,
+1.052,1.557,1.557,1.111,1.002,1.490,1.576,0.165,0.788,1.319,
+1.568,1.330,1.203,2.591,0.136,0.124,0.072,0.126,0.098,0.105,
+0.085,0.105,0.092,0.013,0.077,0.105,0.128,0.142,0.094,0.185,
+1.415,1.429,0.966,1.635,0.098,0.097,0.071,0.152,1.346,0.124,
+0.731,1.171,1.162,1.399,1.104,1.799,1.690,1.124,1.012,1.588,
+1.676,1.300,1.130,1.874,1.690,0.134,1.312,1.883,1.670,1.350,
+1.666,2.893,4.423,1.635,1.384,2.900,1.685,1.106,0.920,1.387,
+2.078,0.153,1.010,1.845,3.060,1.867,1.649,4.995,2.518,1.527,
+1.012,1.709,1.695,1.485,0.980,1.296,1.792,0.114,1.031,1.705,
+1.966,1.653,1.292,2.698,2.502,2.062,1.526,2.660,0.134,0.126,
+0.087,0.180,2.124,0.145,1.459,2.432,2.407,2.486,2.208,3.657,
+5.046,2.240,2.121,4.810,2.710,1.998,1.657,3.047,3.276,0.183,
+2.322,4.365,5.809,3.342,3.543,7.106,5.215,2.684,1.942,3.561,
+2.997,1.826,1.353,1.711,2.800,0.291,1.200,1.854,3.448,2.708,
+1.487,2.531,3.493,2.007,1.144,1.515,1.986,1.302,0.963,0.982,
+1.681,0.155,0.903,1.140,1.279,1.289,0.868,1.336,2.039,1.695,
+1.131,1.534,0.187,0.188,0.133,0.219,1.344,0.154,0.865,0.981,
+1.154,1.574,1.010,1.371,3.098,1.452,1.303,2.323,2.140,1.532,
+1.282,1.937,1.660,0.155,0.915,1.410,2.006,1.376,1.355,2.325,
+3.472,1.756,0.954,1.668,2.033,1.510,0.897,1.055,1.634,0.192,
+0.639,0.978,1.242,1.294,0.643,1.115,2.401,1.605,0.743,1.007,
+1.496,1.109,0.738,0.725,1.325,0.179,0.714,0.981,0.784,1.034,
+0.567,0.778,1.327,1.498,0.721,0.974,0.129,0.169,0.100,0.116,
+1.351,0.189,0.761,0.931,0.732,1.322,0.744,0.970,1.127,0.829,
+0.521,0.886,1.216,1.091,0.650,0.892,1.195,0.117,0.696,0.958,
+0.969,0.924,0.817,1.406,1.787,0.947,0.654,1.010,1.387,0.855,
+0.753,0.843,1.262,0.173,0.544,0.905,1.020,0.999,0.703,1.323,
+0.149,0.131,0.067,0.096,0.124,0.115,0.085,0.086,0.119,0.029,
+0.084,0.115,0.115,0.186,0.092,0.149,0.863,0.823,0.690,0.665,
+0.096,0.094,0.079,0.092,0.872,0.162,0.464,0.597,0.506,0.806,
+0.548,0.601,0.854,0.569,0.515,0.703,1.032,0.843,0.649,0.896,
+1.028,0.121,0.867,0.926,0.813,0.855,0.824,1.206,2.501,1.032,
+0.739,1.608,1.136,0.667,0.608,0.822,1.187,0.115,0.484,0.870,
+1.569,1.094,0.790,1.857,2.068,1.290,0.771,1.071,1.347,0.941,
+0.758,0.817,1.128,0.105,0.653,0.962,1.089,1.183,0.753,1.305,
+1.064,0.943,0.837,1.029,0.106,0.088,0.161,0.110,0.911,0.095,
+0.575,0.822,0.808,1.054,0.792,0.998,1.516,0.874,0.811,1.446,
+0.976,0.762,0.762,1.044,1.350,0.119,0.879,1.415,1.592,1.424,
+1.354,2.495,3.399,2.303,1.377,2.211,1.943,1.627,1.080,1.199,
+1.456,0.177,0.693,1.038,1.316,1.434,0.958,1.431,2.299,2.689,
+0.998,1.188,1.597,1.349,1.021,0.934,1.073,0.165,0.716,0.938,
+0.704,0.967,0.600,0.913,1.206,1.873,0.853,0.970,0.175,0.367,
+0.132,0.154,1.085,0.152,0.818,0.790,0.670,1.124,0.858,0.959,
+1.291,0.829,0.634,0.995,1.410,1.504,0.751,0.952,0.957,0.182,
+0.548,0.804,1.017,0.859,0.793,1.528,2.292,1.945,0.773,1.108,
+1.592,1.802,0.874,0.810,1.123,0.185,0.512,0.743,0.730,1.087,
+0.662,0.941,1.524,1.784,0.660,0.725,1.241,0.846,0.827,0.660,
+1.034,0.209,0.616,0.826,0.536,0.997,0.541,0.640,1.013,2.010,
+0.708,0.806,0.163,0.438,0.148,0.127,1.363,0.394,0.750,0.984,
+0.643,2.056,0.778,0.911,0.810,0.768,0.393,0.590,1.124,1.515,
+0.558,0.679,1.042,0.155,0.488,0.703,0.685,1.032,0.550,1.044,
+1.266,1.083,0.552,0.745,1.254,1.172,0.880,0.799,0.907,0.158,
+0.557,0.697,0.569,0.786,0.605,0.846,0.122,0.264,0.078,0.088,
+0.122,0.197,0.132,0.086,0.120,0.065,0.122,0.119,0.061,0.165,
+0.085,0.090,0.968,1.172,2.303,0.816,0.232,0.203,0.168,0.124,
+1.091,0.199,0.686,0.805,0.478,1.078,0.777,0.714,0.707,0.523,
+0.483,0.628,1.133,1.236,0.845,0.904,1.006,0.127,0.727,0.905,
+0.562,0.751,0.744,0.980,1.111,0.691,0.458,0.736,0.766,0.592,
+0.682,0.511,0.656,0.067,0.301,0.450,0.643,0.552,0.414,0.769,
+1.129,1.296,0.620,0.722,0.891,0.987,0.625,0.654,0.994,0.116,
+0.498,0.681,0.554,0.926,0.510,0.758,0.755,0.938,0.678,0.726,
+0.080,0.113,0.071,0.078,0.732,0.099,0.557,0.716,0.513,0.850,
+0.807,0.861,0.912,0.609,0.472,0.716,0.800,0.789,0.487,0.718,
+1.051,0.168,0.645,0.979,0.958,1.145,0.993,1.550,1.741,1.240,
+0.735,1.294,0.964,0.830,0.519,0.661,0.854,0.103,0.418,0.639,
+0.843,0.840,0.450,0.873,1.538,1.731,0.735,0.911,1.069,1.035,
+0.687,0.656,0.996,0.158,0.639,0.776,0.636,0.986,0.523,0.772,
+1.002,1.354,0.792,0.999,0.128,0.173,0.108,0.165,0.796,0.123,
+0.478,0.634,0.520,0.971,0.512,0.799,0.932,0.631,0.534,0.880,
+0.945,0.823,0.549,0.750,0.831,0.100,0.504,0.824,0.884,0.799,
+0.755,1.812,0.121,0.126,0.055,0.095,0.120,0.165,0.076,0.082,
+0.104,0.028,0.055,0.070,0.071,0.123,0.057,0.085,0.128,0.249,
+0.072,0.090,0.149,0.266,0.114,0.098,0.121,0.049,0.099,0.103,
+0.066,0.148,0.067,0.082,0.079,0.156,0.074,0.080,0.023,0.055,
+0.036,0.022,0.115,0.047,0.104,0.105,0.060,0.175,0.084,0.092,
+0.091,0.083,0.052,0.090,0.178,0.205,0.114,0.132,0.122,0.025,
+0.086,0.111,0.096,0.115,0.091,0.172,0.828,0.650,0.435,0.548,
+0.719,0.721,0.778,0.515,0.886,0.153,0.474,0.553,0.483,0.616,
+0.467,0.594,0.078,0.126,0.051,0.052,0.071,0.111,0.084,0.049,
+0.091,0.037,0.075,0.075,0.062,0.129,0.067,0.066,0.589,0.920,
+0.525,0.493,0.085,0.133,0.097,0.074,0.811,0.166,0.417,0.563,
+0.394,0.976,0.544,0.539,0.542,0.421,0.327,0.385,0.658,0.784,
+0.554,0.552,1.039,0.178,0.616,0.702,0.505,0.808,0.565,0.769,
+0.817,0.507,0.323,0.666,0.575,0.399,0.301,0.343,0.903,0.074,
+0.265,0.445,0.668,0.514,0.324,0.692,1.005,0.930,0.493,0.612,
+0.842,0.848,0.566,0.544,0.811,0.108,0.517,0.694,0.655,0.885,
+0.529,0.708,0.762,0.922,0.593,0.649,0.093,0.128,0.077,0.079,
+0.938,0.177,0.531,0.718,0.565,1.054,0.604,0.783,0.826,0.536,
+0.474,0.587,0.764,0.772,0.564,0.638,1.054,0.120,0.765,1.038,
+0.941,1.071,0.864,1.467,2.033,1.164,0.803,1.657,0.885,0.645,
+0.459,0.612,0.838,0.092,0.376,0.697,1.206,0.950,0.585,1.357,
+1.014,0.727,0.415,0.820,0.642,0.454,0.325,0.431,0.590,0.062,
+0.294,0.521,0.534,0.544,0.323,0.645,0.906,0.832,0.491,0.914,
+0.090,0.094,0.056,0.120,0.636,0.062,0.314,0.504,0.544,0.659,
+0.413,0.742,1.161,0.635,0.562,1.317,0.832,0.639,0.472,0.827,
+0.731,0.069,0.455,0.783,1.137,0.855,0.789,2.073,1.666,1.161,
+0.644,1.196,1.209,1.066,0.569,0.738,1.012,0.130,0.453,0.771,
+0.876,1.087,0.535,0.968,1.218,1.251,0.503,0.938,1.065,1.106,
+0.580,0.674,0.905,0.154,0.528,0.839,0.641,0.962,0.477,0.800,
+0.781,0.923,0.440,0.711,0.079,0.118,0.066,0.093,0.835,0.114,
+0.533,0.736,0.618,1.093,0.604,0.839,0.810,0.576,0.407,0.780,
+0.981,0.955,0.568,0.917,0.839,0.084,0.521,0.811,0.848,0.861,
+0.696,1.364,0.897,0.657,0.384,0.637,0.753,0.578,0.458,0.572,
+0.878,0.181,0.482,0.778,0.669,0.785,0.527,0.904,0.069,0.103,
+0.039,0.070,0.056,0.075,0.049,0.050,0.097,0.045,0.068,0.133,
+0.066,0.136,0.056,0.089,0.578,0.685,0.515,0.547,0.063,0.069,
+0.109,0.071,0.677,0.094,0.376,0.569,0.426,0.723,0.638,0.666,
+0.579,0.447,0.349,0.540,0.762,0.671,0.567,0.718,0.936,0.178,
+0.552,0.843,0.638,0.789,0.642,1.087,1.521,0.714,0.489,0.981,
+0.765,0.530,0.375,0.537,1.556,0.097,0.357,0.663,1.172,0.783,
+0.580,1.391,0.850,0.624,0.366,0.660,0.682,0.516,0.414,0.533,
+0.736,0.080,0.402,0.828,0.652,0.743,0.452,0.877,0.999,0.914,
+0.573,0.915,0.086,0.082,0.058,0.089,0.995,0.092,0.547,0.891,
+0.851,1.113,0.909,1.177,1.410,0.806,0.654,1.426,1.127,1.059,
+0.750,1.104,1.456,0.108,0.927,1.647,1.875,1.518,1.492,2.937,
+3.161,2.017,1.452,2.330,2.098,1.635,1.010,1.182,1.711,0.218,
+0.835,1.340,1.844,1.782,0.924,1.618,2.265,1.767,0.948,1.168,
+1.965,1.521,1.010,0.930,1.336,0.183,0.973,1.128,0.859,1.154,
+0.764,1.034,1.033,1.058,0.721,0.916,0.114,0.128,0.103,0.138,
+0.803,0.112,0.536,0.604,0.615,0.948,0.655,0.845,1.300,0.765,
+0.652,1.153,1.171,1.041,0.768,1.020,0.961,0.120,0.597,0.865,
+1.076,0.878,0.872,1.523,2.444,1.620,0.791,1.424,1.827,1.605,
+0.798,0.861,1.282,0.219,0.699,0.892,0.892,1.194,0.542,0.922,
+1.785,1.792,0.697,1.104,1.654,1.445,0.838,0.837,1.333,0.346,
+1.195,1.534,0.700,1.332,0.611,0.916,0.828,1.225,0.589,0.660,
+0.125,0.207,0.148,0.116,0.972,0.218,0.790,0.801,0.562,1.271,
+0.729,0.795,0.647,0.582,0.380,0.523,0.917,1.013,0.824,0.698,
+0.800,0.111,0.555,0.850,0.625,0.763,0.794,1.194,1.086,0.735,
+0.477,0.655,1.130,0.935,0.654,0.701,1.126,0.171,0.522,0.694,
+0.653,0.787,0.523,0.954,0.090,0.125,0.074,0.080,0.129,0.174,
+0.110,0.096,0.115,0.054,0.116,0.119,0.073,0.183,0.084,0.112,
+0.503,0.677,0.540,0.461,0.075,0.100,0.082,0.080,0.654,0.127,
+0.507,0.571,0.354,0.677,0.492,0.501,0.521,0.399,0.581,0.484,
+0.704,0.743,0.527,0.643,0.742,0.121,0.553,0.705,0.528,0.718,
+0.694,0.932,1.258,0.579,0.414,0.868,0.668,0.446,0.321,0.439,
+0.736,0.077,0.321,0.476,0.826,0.667,0.455,1.079,1.098,0.907,
+0.568,0.736,1.101,0.977,0.616,0.714,0.761,0.109,0.561,0.761,
+0.564,0.923,0.502,0.798,0.570,0.590,0.703,0.649,0.059,0.067,
+0.114,0.077,0.560,0.078,0.474,0.575,0.427,0.678,0.544,0.654,
+0.868,0.562,1.084,0.936,0.561,0.570,0.590,0.627,0.837,0.094,
+0.603,0.876,0.918,1.009,0.925,1.669,2.229,1.594,0.975,1.458,
+1.666,1.673,1.011,0.992,0.998,0.142,0.539,0.753,0.867,1.018,
+0.549,0.927,1.678,1.586,0.881,0.904,1.731,1.861,1.712,1.082,
+0.910,0.197,0.785,0.908,0.517,0.936,0.540,0.746,0.751,1.050,
+0.690,0.706,0.105,0.176,0.128,0.124,0.677,0.122,0.606,0.597,
+0.689,0.807,0.563,0.713,0.705,0.488,0.392,0.663,0.845,1.009,
+0.604,0.682,0.580,0.080,0.469,0.586,1.252,0.646,0.579,1.037,
+1.708,1.399,0.566,0.738,1.258,1.646,0.699,0.645,0.934,0.173,
+0.506,0.621,0.537,0.850,0.373,0.636,1.016,0.957,0.454,0.510,
+0.528,0.417,0.438,0.398,0.742,0.297,0.530,0.704,0.358,0.915,
+0.407,0.500,0.613,1.245,0.527,0.562,0.123,0.404,0.176,0.128,
+0.811,0.259,0.611,0.802,0.415,1.283,0.674,0.731,0.442,0.484,
+0.294,0.378,0.752,1.328,0.511,0.596,0.618,0.120,0.506,0.676,
+0.453,0.677,0.461,0.898,0.965,0.845,0.756,0.595,1.213,1.481,
+0.890,0.766,0.848,0.191,0.568,0.631,0.480,0.868,0.536,0.728,
+0.090,0.193,0.173,0.090,0.198,0.442,0.227,0.131,0.139,0.127,
+0.193,0.137,0.062,0.296,0.104,0.089,0.593,1.039,0.668,0.581,
+0.130,0.278,0.179,0.123,0.757,0.192,0.608,0.715,0.372,1.076,
+0.742,0.692,0.453,0.405,0.345,0.411,0.907,1.398,0.912,0.840,
+1.000,0.142,0.786,0.850,0.514,0.705,0.761,0.931,0.761,0.518,
+0.361,0.554,0.639,0.589,0.320,0.371,0.578,0.065,0.266,0.352,
+0.524,0.479,0.318,0.565,0.758,0.978,0.717,0.647,1.012,1.564,
+0.715,0.719,0.677,0.147,0.526,0.641,0.407,0.982,0.477,0.611,
+0.505,0.775,0.523,0.559,0.061,0.128,0.076,0.074,0.519,0.097,
+0.604,0.632,0.362,0.773,0.757,0.767,0.537,0.442,0.333,0.511,
+0.543,0.747,0.423,0.582,0.744,0.088,0.537,0.696,0.609,0.814,
+0.888,1.300,1.450,1.153,0.624,1.034,1.043,0.898,0.487,0.704,
+1.143,0.121,0.434,0.560,0.712,0.762,0.396,0.757,1.501,1.777,
+0.619,0.924,1.624,1.483,0.989,0.933,1.155,0.232,0.937,0.987,
+0.583,1.091,0.514,0.760,0.773,1.179,0.677,0.880,0.173,0.205,
+0.136,0.194,0.771,0.156,0.538,0.710,0.451,0.970,0.495,0.707,
+0.702,0.523,0.355,0.720,1.225,1.020,0.590,0.801,0.735,0.109,
+0.559,0.824,0.686,0.706,0.657,1.357,0.128,0.123,0.050,0.078,
+0.161,0.234,0.109,0.102,0.198,0.041,0.072,0.076,0.067,0.124,
+0.069,0.092,0.134,0.309,0.080,0.151,0.263,0.474,0.282,0.193,
+0.180,0.190,0.211,0.183,0.063,0.200,0.076,0.090,0.089,0.199,
+0.110,0.100,0.072,0.151,0.094,0.049,0.148,0.104,0.214,0.189,
+0.059,0.211,0.123,0.096,0.081,0.073,0.037,0.064,0.553,0.361,
+0.146,0.161,0.101,0.037,0.114,0.125,0.065,0.094,0.083,0.126,
+0.907,1.079,0.586,0.611,1.012,1.537,0.792,0.700,1.013,0.233,
+0.685,0.716,0.513,0.824,0.542,0.765,0.112,0.378,0.094,0.080,
+0.154,0.401,0.201,0.113,0.150,0.112,0.210,0.144,0.066,0.207,
+0.098,0.091,0.584,1.212,0.594,0.551,0.115,0.253,0.149,0.108,
+0.939,0.266,0.534,0.747,0.400,1.127,0.619,0.634,0.476,0.490,
+0.307,0.442,0.858,1.333,0.706,0.814,1.128,0.212,1.062,1.012,
+0.496,0.836,0.714,0.937,0.740,0.574,0.355,0.741,0.589,0.489,
+0.283,0.373,0.633,0.079,0.315,0.500,0.510,0.515,0.295,0.746,
+1.122,1.701,0.581,0.691,1.596,1.698,0.886,1.011,1.268,0.240,
+0.929,1.100,0.659,1.270,0.637,0.849,0.873,1.134,0.957,0.754,
+0.091,0.168,0.111,0.095,0.900,0.193,0.773,0.910,0.506,1.260,
+0.715,0.828,0.696,0.552,0.405,0.663,0.697,0.817,0.514,0.651,
+0.998,0.125,0.951,1.134,0.789,1.118,0.897,1.339,1.240,0.756,
+0.506,1.014,0.736,0.542,0.343,0.573,0.665,0.074,0.317,0.558,
+0.707,0.615,0.353,0.927,0.945,0.768,0.351,0.611,0.685,0.569,
+0.366,0.506,0.527,0.071,0.314,0.523,0.409,0.485,0.262,0.567,
+0.591,0.615,0.350,0.634,0.058,0.060,0.039,0.084,0.482,0.058,
+0.269,0.422,0.375,0.500,0.297,0.524,0.692,0.429,0.337,0.858,
+0.565,0.466,0.320,0.655,0.535,0.053,0.321,0.604,0.687,0.538,
+0.486,1.295,1.273,0.912,0.451,0.790,1.064,1.117,0.630,0.693,
+1.053,0.144,0.490,0.714,0.661,0.956,0.514,0.830,1.028,1.219,
+0.426,0.756,1.359,1.541,0.778,0.843,1.052,0.264,0.674,1.018,
+0.597,1.192,0.478,0.753,0.560,0.867,0.460,0.587,0.109,0.168,
+0.101,0.115,0.733,0.135,0.588,0.719,0.472,0.992,0.559,0.668,
+0.498,0.407,0.304,0.562,1.088,1.032,0.559,0.929,0.674,0.092,
+0.519,0.744,0.547,0.662,0.545,1.031,0.760,0.635,0.343,0.472,
+0.801,0.946,0.523,0.587,0.829,0.138,0.487,0.648,0.531,0.650,
+0.456,0.781,0.059,0.107,0.037,0.052,0.070,0.157,0.074,0.064,
+0.071,0.031,0.070,0.078,0.047,0.103,0.055,0.072,0.423,0.641,
+0.365,0.441,0.055,0.089,0.064,0.071,0.686,0.132,0.502,0.657,
+0.368,0.763,0.513,0.603,0.429,0.403,0.274,0.457,0.645,0.762,
+0.500,0.713,0.996,0.237,0.683,0.871,0.550,0.839,0.639,0.980,
+0.943,0.590,0.339,0.676,0.532,0.476,0.274,0.388,0.633,0.062,
+0.317,0.485,0.621,0.502,0.380,0.892,0.750,0.667,0.321,0.521,
+0.677,0.749,0.419,0.597,0.786,0.087,0.436,0.624,0.526,0.635,
+0.426,0.810,0.796,0.678,0.475,0.650,0.068,0.068,0.046,0.072,
+0.695,0.083,0.537,0.723,0.536,0.853,0.685,0.857,0.883,0.563,
+0.446,0.929,0.783,0.885,0.584,0.920,1.135,0.124,0.835,1.271,
+1.265,1.284,1.203,1.757,1.871,1.312,1.074,1.659,1.411,1.130,
+0.845,0.950,1.199,0.141,0.583,0.904,1.412,1.245,0.749,1.234,
+1.225,1.001,0.789,0.772,0.958,0.702,0.647,0.610,0.755,0.102,
+0.514,0.635,0.587,0.726,0.567,0.756,0.931,0.942,0.583,0.967,
+0.092,0.095,0.072,0.132,0.646,0.081,0.428,0.795,0.467,0.661,
+0.487,0.734,1.054,0.594,0.458,0.903,0.936,0.807,0.571,0.806,
+0.683,0.071,0.572,0.721,0.816,0.597,0.748,1.225,1.842,1.458,
+0.751,1.134,1.630,1.534,1.042,0.936,1.018,0.164,0.500,0.644,
+0.796,1.061,0.583,0.888,1.385,1.604,0.659,0.767,1.282,1.055,
+0.982,0.781,1.189,0.264,0.701,0.879,0.613,1.128,0.558,0.714,
+1.006,1.434,0.750,0.934,0.157,0.237,0.165,0.172,1.175,0.235,
+0.920,1.255,0.590,1.303,0.839,0.909,0.774,0.617,0.355,0.645,
+1.465,1.464,0.692,0.936,0.779,0.097,0.515,0.739,0.657,0.674,
+0.651,1.189,1.022,0.671,0.444,0.745,1.198,0.972,0.858,0.913,
+1.333,0.230,0.550,0.657,0.856,1.003,0.572,0.940,0.100,0.141,
+0.067,0.136,0.128,0.157,0.131,0.155,0.177,0.063,0.136,0.122,
+0.120,0.292,0.113,0.157,0.636,0.712,0.695,0.706,0.099,0.115,
+0.120,0.134,0.858,0.231,0.514,0.556,0.478,1.042,0.562,0.615,
+0.522,0.359,0.309,0.512,0.830,0.833,0.683,0.877,0.708,0.107,
+0.788,0.663,0.661,0.678,0.654,1.259,1.070,0.570,0.404,0.832,
+0.624,0.432,0.406,0.580,0.723,0.085,0.319,0.465,1.005,0.806,
+0.476,1.064,0.959,1.199,0.482,0.757,0.794,0.738,0.640,0.882,
+0.909,0.150,0.571,0.678,0.764,1.134,0.555,0.890,0.650,0.746,
+0.618,0.777,0.077,0.081,0.086,0.112,0.721,0.101,0.594,0.773,
+0.612,0.961,0.748,0.939,0.880,0.582,0.478,0.930,0.671,0.559,
+0.564,0.798,0.971,0.105,0.770,1.026,1.348,1.245,1.308,2.194,
+0.108,0.106,0.119,0.088,0.106,0.131,0.079,0.081,0.075,0.018,
+0.045,0.058,0.067,0.090,0.057,0.076,0.128,0.157,0.209,0.101,
+0.154,0.179,0.175,0.115,0.103,0.054,0.119,0.096,0.053,0.119,
+0.077,0.076,0.079,0.197,0.072,0.070,0.018,0.037,0.028,0.022,
+0.071,0.027,0.076,0.080,0.041,0.092,0.070,0.074,0.070,0.063,
+0.045,0.074,0.103,0.129,0.085,0.093,0.082,0.018,0.115,0.145,
+0.077,0.070,0.149,0.124,0.114,0.157,0.066,0.071,0.156,0.298,
+0.163,0.095,0.087,0.041,0.065,0.061,0.049,0.103,0.121,0.069,
+0.161,0.291,0.112,0.091,0.264,0.309,0.297,0.160,0.204,0.164,
+0.149,0.137,0.071,0.222,0.099,0.083,0.087,0.221,0.104,0.087,
+0.047,0.197,0.107,0.043,0.162,0.127,0.177,0.150,0.053,0.230,
+0.151,0.111,0.064,0.072,0.041,0.056,0.154,0.269,0.119,0.110,
+0.088,0.028,0.078,0.083,0.051,0.082,0.078,0.113,0.070,0.076,
+0.045,0.079,0.115,0.177,0.147,0.132,0.137,0.062,0.099,0.070,
+0.051,0.132,0.064,0.072,0.018,0.051,0.024,0.051,0.047,0.118,
+0.101,0.066,0.065,0.105,0.093,0.050,0.013,0.074,0.036,0.022,
+0.071,0.147,0.193,0.116,0.037,0.096,0.107,0.042,0.256,0.268,
+0.180,0.131,0.061,0.347,0.147,0.097,0.055,0.049,0.047,0.059,
+0.117,0.201,0.163,0.128,0.117,0.052,0.145,0.114,0.056,0.099,
+0.101,0.122,0.077,0.093,0.046,0.070,0.066,0.069,0.054,0.069,
+0.065,0.013,0.039,0.046,0.074,0.087,0.055,0.095,0.167,0.583,
+0.099,0.153,0.157,0.227,0.178,0.271,0.174,0.071,0.133,0.124,
+0.099,0.287,0.110,0.130,0.060,0.116,0.087,0.083,0.014,0.034,
+0.028,0.022,0.107,0.045,0.127,0.128,0.063,0.156,0.133,0.119,
+0.073,0.071,0.049,0.075,0.075,0.096,0.072,0.088,0.104,0.021,
+0.103,0.119,0.097,0.130,0.136,0.182,1.235,0.931,0.661,0.981,
+1.107,1.105,0.652,0.725,0.930,0.120,0.423,0.566,0.650,0.640,
+0.413,0.689,1.065,1.074,0.658,0.733,1.261,1.115,1.483,0.920,
+1.024,0.191,0.889,0.837,0.524,0.882,0.573,0.709,0.774,1.226,
+0.761,0.941,0.143,0.231,0.176,0.234,1.690,0.713,0.723,0.875,
+0.551,1.747,0.630,0.819,0.699,0.483,0.355,0.686,0.835,0.853,
+0.638,0.936,0.799,0.135,0.615,0.938,0.700,0.748,0.739,1.307,
+0.101,0.125,0.053,0.080,0.277,0.383,0.149,0.123,0.092,0.033,
+0.075,0.085,0.053,0.091,0.049,0.075,0.104,0.167,0.085,0.074,
+0.223,0.270,0.398,0.191,0.144,0.094,0.201,0.159,0.054,0.133,
+0.083,0.074,0.078,0.201,0.104,0.090,0.039,0.122,0.103,0.046,
+0.181,0.167,0.224,0.196,0.060,0.223,0.131,0.109,0.076,0.067,
+0.041,0.074,0.161,0.224,0.134,0.157,0.100,0.034,0.109,0.131,
+0.064,0.085,0.082,0.129,0.786,0.844,0.424,0.441,1.132,1.785,
+1.465,0.781,0.843,0.219,0.773,0.703,0.425,0.709,0.581,0.708,
+0.082,0.177,0.094,0.066,0.145,0.308,0.627,0.119,0.135,0.096,
+0.277,0.132,0.064,0.169,0.112,0.092,0.691,1.185,0.801,0.668,
+0.150,0.270,0.295,0.161,0.953,0.252,0.440,0.649,0.388,0.956,
+0.827,0.720,0.482,0.443,0.325,0.377,0.840,1.193,0.997,0.826,
+0.852,0.171,0.833,0.834,0.462,0.698,0.742,0.890,0.677,0.490,
+0.336,0.531,0.613,0.655,0.397,0.397,0.526,0.079,0.369,0.489,
+0.512,0.508,0.327,0.641,0.928,1.108,0.626,0.607,1.238,2.000,
+1.761,0.843,0.917,0.194,0.974,0.915,0.839,1.122,0.697,0.827,
+0.944,1.512,0.755,0.826,0.156,0.287,0.173,0.143,1.161,0.238,
+1.530,1.360,0.628,1.335,1.008,1.025,0.648,0.526,0.377,0.599,
+0.777,0.956,0.651,0.717,0.939,0.132,0.996,1.133,0.785,1.045,
+0.964,1.368,1.190,0.704,0.485,0.910,0.732,0.575,0.420,0.585,
+0.645,0.078,0.273,0.489,0.711,0.637,0.370,1.125,0.798,0.623,
+0.337,0.467,0.661,0.415,0.388,0.404,0.446,0.052,0.283,0.409,
+0.368,0.411,0.300,0.462,0.654,0.711,0.385,0.623,0.073,0.074,
+0.054,0.098,0.563,0.081,0.318,0.495,0.456,0.660,0.581,0.751,
+0.836,0.473,0.358,0.696,0.706,0.519,0.405,0.697,0.536,0.055,
+0.342,0.557,0.789,0.656,0.601,1.303,1.369,1.141,0.585,0.999,
+1.484,1.644,0.864,0.910,0.800,0.132,0.525,0.714,0.639,0.856,
+0.460,0.835,1.309,1.706,0.599,0.794,2.033,1.362,1.262,1.060,
+0.962,0.193,0.793,0.977,0.575,0.981,0.792,0.754,0.862,1.497,
+0.681,0.857,0.129,0.239,0.149,0.162,1.039,0.224,0.885,1.156,
+0.669,1.513,0.873,1.112,0.797,0.632,0.459,0.737,1.141,1.210,
+0.865,1.251,0.858,0.108,0.656,0.956,0.721,0.852,0.741,1.327,
+0.933,0.941,0.439,0.633,1.070,1.091,0.862,0.830,0.919,0.215,
+0.603,1.126,0.540,0.800,0.563,0.937,0.079,0.111,0.045,0.066,
+0.105,0.163,0.150,0.098,0.082,0.041,0.108,0.130,0.053,0.119,
+0.075,0.092,0.699,1.066,0.667,0.768,0.108,0.168,0.160,0.146,
+0.981,0.211,0.693,0.905,0.520,1.125,0.875,0.927,0.623,0.523,
+0.407,0.574,1.010,1.070,1.033,1.258,0.872,0.136,0.801,1.069,
+0.667,0.808,0.904,1.249,1.036,0.582,0.404,0.741,0.645,0.521,
+0.412,0.486,0.631,0.079,0.343,0.590,0.691,0.592,0.466,1.052,
+0.939,0.885,0.388,0.585,0.742,0.782,0.656,0.636,0.673,0.083,
+0.487,0.763,0.549,0.700,0.525,0.836,0.851,1.070,0.653,0.971,
+0.088,0.122,0.080,0.119,1.096,0.144,0.982,1.361,0.798,1.279,
+1.076,1.296,1.086,0.700,0.579,1.199,1.010,1.056,0.850,1.207,
+1.185,0.112,1.006,1.577,1.384,1.330,1.355,1.983,1.958,1.157,
+1.006,2.130,1.140,0.743,0.574,0.854,1.148,0.113,0.446,0.829,
+1.669,1.305,0.653,1.460,1.173,0.737,0.525,0.747,0.722,0.460,
+0.377,0.462,0.670,0.066,0.441,0.500,0.727,0.763,0.476,0.810,
+0.914,0.721,0.513,0.851,0.074,0.064,0.047,0.101,0.601,0.057,
+0.318,0.501,0.595,0.715,0.470,0.859,1.250,0.639,0.545,1.146,
+0.843,0.602,0.479,0.795,0.728,0.070,0.733,0.697,1.094,0.763,
+0.780,1.746,1.475,0.835,0.477,1.017,1.248,0.651,0.411,0.573,
+0.691,0.079,0.272,0.484,0.740,0.697,0.351,0.774,0.861,0.683,
+0.330,0.523,0.605,0.483,0.325,0.403,0.618,0.073,0.295,0.462,
+0.548,0.617,0.330,0.549,0.623,0.630,0.396,0.631,0.061,0.068,
+0.046,0.069,0.611,0.076,0.336,0.512,0.544,1.036,0.448,0.639,
+0.626,0.469,0.288,0.624,0.605,0.545,0.310,0.506,0.527,0.046,
+0.410,0.498,0.589,0.534,0.500,1.061,0.996,0.527,0.404,0.733,
+0.776,0.525,0.459,0.701,0.792,0.103,0.303,0.502,0.859,0.725,
+0.406,0.945,0.065,0.058,0.034,0.067,0.057,0.052,0.040,0.062,
+0.061,0.013,0.037,0.052,0.099,0.130,0.052,0.103,0.479,0.492,
+0.412,0.537,0.047,0.049,0.041,0.062,0.528,0.070,0.299,0.385,
+0.437,0.599,0.383,0.533,0.500,0.336,0.290,0.567,0.553,0.488,
+0.356,0.573,0.535,0.057,0.368,0.504,0.630,0.537,0.518,1.026,
+1.339,0.582,0.453,1.130,0.638,0.378,0.360,0.578,0.925,0.088,
+0.337,0.570,1.751,0.988,0.563,1.438,0.834,0.589,0.381,0.675,
+0.567,0.415,0.356,0.513,0.654,0.064,0.353,0.521,0.999,1.070,
+0.526,1.024,0.647,0.614,0.484,0.733,0.054,0.045,0.044,0.067,
+0.584,0.052,0.390,0.587,0.675,0.791,0.622,0.976,1.062,0.666,
+0.554,1.197,0.678,0.504,0.457,0.755,0.920,0.076,0.654,1.006,
+1.568,1.294,1.313,2.915,1.869,1.198,0.966,1.527,1.236,0.957,
+0.653,0.867,0.955,0.116,0.522,0.739,1.085,1.060,0.579,1.150,
+1.437,1.062,0.931,0.976,1.156,0.946,0.766,0.776,0.894,0.146,
+1.811,0.942,0.587,0.961,0.622,0.861,0.858,1.151,0.614,0.904,
+0.097,0.133,0.087,0.134,0.678,0.103,0.525,0.810,0.587,0.877,
+0.635,1.024,0.902,0.610,0.488,0.933,0.983,0.984,0.619,0.952,
+0.711,0.089,0.702,0.855,0.871,0.711,0.822,1.453,1.434,1.172,
+0.550,0.967,1.182,1.184,0.666,0.722,0.756,0.124,0.367,0.540,
+0.652,0.813,0.519,0.793,1.261,1.478,0.570,0.752,1.266,1.106,
+0.798,0.820,0.960,0.224,0.592,0.765,0.585,1.086,0.521,0.742,
+0.780,1.183,0.734,0.892,0.118,0.225,0.190,0.162,0.925,0.186,
+0.650,0.848,0.611,1.238,0.908,1.053,0.703,0.656,0.413,0.731,
+0.993,1.432,0.678,0.860,0.712,0.089,0.506,0.733,0.660,0.735,
+0.632,1.232,0.894,0.605,0.380,0.734,0.905,0.874,0.678,1.076,
+0.881,0.181,0.460,0.535,0.653,0.905,0.439,0.849,0.063,0.098,
+0.052,0.107,0.087,0.151,0.103,0.132,0.109,0.069,0.109,0.087,
+0.074,0.245,0.074,0.096,0.640,0.922,0.752,0.736,0.085,0.138,
+0.106,0.118,0.951,0.267,0.533,0.701,0.537,1.293,0.689,0.814,
+0.626,0.513,0.391,0.660,0.895,1.254,0.763,0.943,0.841,0.105,
+0.586,0.787,0.682,0.732,0.721,1.218,0.957,0.613,0.428,0.769,
+0.608,0.476,0.394,0.561,0.775,0.088,0.349,0.498,1.114,0.946,
+0.499,1.059,1.015,1.312,0.656,0.916,0.875,0.974,0.766,1.015,
+1.080,0.222,0.681,0.817,1.217,3.551,0.811,1.261,0.637,0.827,
+0.609,0.801,0.068,0.093,0.070,0.089,0.786,0.112,0.663,0.916,
+0.657,1.204,0.841,1.141,0.855,0.644,0.514,0.830,0.778,0.837,
+0.566,0.823,0.953,0.095,0.712,1.107,1.160,1.258,1.132,2.061,
+1.224,0.845,0.524,1.009,0.751,0.680,0.384,0.582,0.714,0.075,
+0.320,0.538,0.687,0.612,0.363,0.781,1.051,0.927,0.479,0.713,
+0.970,0.793,0.605,0.593,0.786,0.117,0.585,0.686,0.552,0.824,
+0.493,0.758,0.764,0.952,0.645,0.913,0.100,0.129,0.094,0.158,
+0.801,0.129,0.649,0.775,0.531,0.974,0.611,0.931,0.751,0.529,
+0.388,0.818,0.739,0.700,0.477,0.748,0.796,0.097,0.558,0.911,
+0.858,0.770,0.768,1.597,0.073,0.076,0.039,0.073,0.086,0.125,
+0.046,0.061,0.055,0.012,0.037,0.049,0.048,0.072,0.039,0.073,
+0.070,0.094,0.039,0.049,0.108,0.174,0.087,0.075,0.076,0.031,
+0.089,0.084,0.045,0.093,0.050,0.061,0.050,0.093,0.050,0.056,
+0.014,0.032,0.023,0.015,0.089,0.035,0.135,0.090,0.048,0.118,
+0.075,0.085,0.060,0.056,0.033,0.068,0.095,0.127,0.066,0.092,
+0.075,0.019,0.070,0.092,0.068,0.079,0.065,0.129,0.760,0.635,
+0.344,0.462,0.718,0.867,0.598,0.579,0.684,0.135,0.420,0.533,
+0.472,0.653,0.503,0.786,0.059,0.089,0.038,0.045,0.070,0.114,
+0.089,0.051,0.073,0.034,0.078,0.067,0.054,0.126,0.072,0.085,
+0.587,1.066,0.558,0.601,0.087,0.149,0.112,0.093,0.914,0.172,
+0.454,0.662,0.439,0.981,0.661,0.736,0.534,0.489,0.330,0.457,
+0.740,0.935,0.658,0.706,0.905,0.128,0.695,0.834,0.604,0.763,
+0.745,1.095,0.786,0.467,0.332,0.610,0.549,0.453,0.334,0.436,
+0.585,0.069,0.353,0.519,0.608,0.572,0.417,0.863,0.906,0.826,
+0.483,0.645,0.818,0.896,0.655,0.590,0.818,0.118,0.617,0.774,
+0.718,1.112,0.736,1.034,1.354,1.097,0.804,0.850,0.209,0.141,
+0.163,0.102,1.050,0.132,0.840,1.045,0.981,1.246,0.982,1.190,
+0.821,0.599,0.511,0.775,0.852,0.796,0.696,0.728,1.103,0.109,
+0.942,1.284,1.128,1.195,1.139,1.844,1.898,0.845,0.646,1.389,
+0.865,0.551,0.405,0.760,0.823,0.080,0.339,0.682,1.065,0.797,
+0.491,1.279,0.970,0.602,0.331,0.574,0.654,0.458,0.329,0.486,
+0.556,0.055,0.358,0.526,0.477,0.500,0.320,0.667,0.772,0.801,
+0.430,0.879,0.069,0.076,0.046,0.113,0.605,0.064,0.348,0.588,
+0.583,0.703,0.449,0.902,1.015,0.582,0.456,1.083,0.672,0.509,
+0.405,0.786,0.699,0.060,0.411,0.830,1.118,0.830,0.737,2.086,
+1.314,0.824,0.529,1.059,0.859,0.734,0.452,0.663,0.644,0.071,
+0.338,0.586,0.647,0.712,0.387,0.925,0.936,0.817,0.347,0.590,
+0.817,0.811,0.421,0.576,0.679,0.087,0.549,0.670,0.504,0.718,
+0.427,0.773,0.673,0.905,0.378,0.653,0.054,0.092,0.044,0.071,
+0.695,0.088,0.616,0.711,0.577,0.895,0.535,0.927,0.747,0.563,
+0.402,0.780,0.734,0.684,0.441,0.797,0.702,0.067,0.462,0.776,
+0.804,1.072,0.656,1.675,1.144,1.044,0.520,0.759,0.877,0.749,
+0.581,0.812,0.886,0.139,0.446,0.801,0.783,0.822,0.649,1.269,
+0.082,0.184,0.039,0.062,0.060,0.080,0.054,0.065,0.059,0.018,
+0.049,0.069,0.067,0.106,0.055,0.117,0.749,0.937,0.548,0.831,
+0.065,0.089,0.065,0.096,0.896,0.121,0.564,0.846,0.621,0.974,
+0.774,1.125,0.837,0.694,0.479,0.814,0.935,0.939,0.750,1.132,
+1.210,0.123,0.785,1.203,0.945,0.938,0.955,1.773,1.795,0.867,
+0.645,1.333,0.853,0.600,0.484,0.717,1.027,0.092,0.501,0.912,
+1.365,1.000,0.805,2.079,1.293,1.115,0.524,0.875,1.002,0.965,
+0.616,0.844,0.989,0.090,0.620,1.124,0.948,1.112,0.737,1.980,
+1.211,1.222,0.939,1.359,0.092,0.094,0.102,0.125,1.366,0.118,
+0.962,1.638,1.248,1.574,1.375,2.113,2.175,1.159,1.008,2.246,
+1.492,1.237,1.051,2.025,1.909,0.133,1.458,2.647,2.451,1.965,
+1.947,3.156,4.745,2.118,2.019,3.490,2.268,1.329,1.310,1.508,
+2.665,0.230,1.301,1.735,3.126,2.280,1.510,2.527,2.535,1.526,
+1.181,1.517,1.637,1.057,1.037,0.960,1.621,0.164,1.112,1.208,
+1.267,1.448,1.060,1.358,2.270,1.253,1.252,1.579,0.169,0.131,
+0.130,0.206,1.268,0.115,0.819,1.022,1.104,1.234,1.186,1.321,
+2.532,1.172,1.293,2.515,1.814,1.305,1.242,1.783,1.464,0.123,
+1.011,1.424,1.875,1.193,1.414,2.297,2.362,1.371,0.946,1.354,
+1.491,1.007,0.821,0.926,1.155,0.136,0.888,0.991,1.021,1.121,
+0.822,1.107,1.603,1.173,0.763,0.924,1.016,0.687,0.695,0.647,
+1.140,0.162,0.828,1.015,0.723,0.937,0.790,0.855,1.216,1.038,
+0.729,0.908,0.209,0.106,0.099,0.129,0.993,0.107,0.705,0.846,
+0.629,0.957,0.751,0.768,1.032,0.839,0.537,0.899,1.233,0.830,
+0.671,0.917,0.982,0.085,0.717,0.948,0.915,0.789,0.850,1.309,
+2.103,0.851,1.117,1.084,1.439,0.829,0.852,0.908,1.240,0.171,
+0.662,0.952,1.228,1.218,0.850,1.346,0.141,0.111,0.078,0.098,
+0.107,0.095,0.085,0.083,0.108,0.025,0.094,0.105,0.135,0.213,
+0.114,0.151,0.895,0.734,0.732,0.751,0.082,0.071,0.082,0.090,
+0.813,0.099,0.674,0.713,0.629,0.821,1.059,0.790,0.772,0.477,
+0.519,0.754,0.911,0.710,0.670,0.858,0.923,0.095,0.765,1.007,
+0.779,0.785,0.917,1.359,2.486,0.870,0.830,1.508,0.959,0.578,
+0.652,0.701,0.980,0.098,0.534,0.766,1.318,0.984,0.851,1.747,
+1.527,1.023,0.765,0.964,0.978,0.722,0.742,0.717,0.950,0.089,
+0.709,0.847,0.990,1.031,0.796,1.170,0.989,0.793,0.708,0.944,
+0.079,0.062,0.070,0.091,0.768,0.069,0.631,0.843,0.692,0.817,
+0.871,0.980,1.389,0.710,0.753,1.401,0.720,0.486,0.593,0.840,
+1.173,0.088,0.878,1.366,1.547,1.194,1.368,2.484,3.344,2.099,
+1.571,2.502,1.889,1.472,1.282,1.398,1.424,0.176,0.851,1.324,
+1.576,1.516,1.108,1.783,2.325,1.936,1.255,1.479,1.588,1.311,
+1.338,1.223,1.542,0.254,1.278,1.418,0.953,1.302,1.026,1.299,
+1.183,1.251,1.198,1.229,0.133,0.177,0.157,0.196,0.878,0.107,
+0.771,0.857,0.655,1.054,0.851,1.066,1.361,0.736,0.785,1.266,
+1.395,1.181,0.962,1.215,0.960,0.103,0.681,0.986,0.970,0.821,
+1.042,1.765,2.263,1.910,0.972,1.389,1.845,1.829,1.124,1.297,
+1.135,0.175,0.759,0.961,0.848,1.138,0.716,1.081,1.604,1.593,
+0.978,1.027,1.083,0.646,0.956,0.840,1.233,0.221,1.121,1.273,
+0.645,1.068,0.921,0.990,1.165,1.728,1.260,1.582,0.165,0.267,
+0.304,0.489,1.161,0.228,1.061,1.189,0.706,2.109,1.067,1.120,
+0.915,0.755,0.598,0.870,1.249,1.199,1.015,1.297,0.852,0.104,
+0.689,0.908,0.655,0.812,0.804,1.243,1.712,1.206,0.891,1.202,
+1.472,1.439,1.517,1.184,1.295,0.221,1.004,1.384,0.860,1.201,
+1.087,1.396,0.137,0.231,0.117,0.134,0.137,0.222,0.216,0.135,
+0.147,0.067,0.219,0.185,0.100,0.267,0.175,0.173,1.197,1.493,
+1.264,1.212,0.153,0.238,0.230,0.170,1.274,0.252,1.298,1.307,
+0.817,2.349,2.019,1.379,0.970,0.625,0.888,0.835,1.207,1.396,
+1.299,1.257,1.262,0.156,1.272,1.438,0.719,0.972,1.311,1.526,
+1.464,0.900,0.694,1.096,0.856,0.679,0.668,0.719,0.714,0.077,
+0.496,0.680,0.826,0.770,0.661,1.238,1.509,1.730,0.965,1.180,
+1.122,1.198,1.335,1.202,0.976,0.128,0.974,1.151,0.864,1.280,
+0.967,1.375,0.845,0.942,0.879,1.047,0.078,0.104,0.090,0.111,
+0.763,0.092,0.788,0.952,0.685,1.070,1.123,1.201,1.045,0.639,
+0.709,1.021,0.841,0.734,0.663,0.930,1.019,0.092,0.949,1.374,
+1.185,1.240,1.572,2.255,2.276,1.475,1.112,1.652,1.041,0.893,
+0.705,0.789,1.054,0.127,0.632,0.824,1.137,1.118,0.768,1.224,
+2.002,1.817,1.106,1.315,1.296,1.219,1.137,0.990,1.600,0.225,
+1.291,1.376,0.996,1.525,0.888,1.220,1.463,1.732,3.746,1.787,
+0.164,0.229,0.287,0.302,1.115,0.156,1.043,1.159,0.659,1.274,
+0.926,1.106,1.297,0.934,1.074,1.581,1.115,1.217,1.129,1.279,
+1.111,0.126,0.926,1.233,1.112,1.029,1.183,2.316,0.176,0.179,
+0.105,0.140,0.191,0.223,0.125,0.121,0.129,0.031,0.103,0.113,
+0.105,0.179,0.149,0.140,0.187,0.237,0.127,0.133,0.183,0.227,
+0.168,0.125,0.209,0.066,0.203,0.195,0.113,0.293,0.129,0.141,
+0.128,0.232,0.247,0.168,0.025,0.058,0.071,0.044,0.240,0.057,
+0.340,0.335,0.097,0.261,0.164,0.155,0.176,0.154,0.131,0.209,
+0.266,0.363,0.291,0.327,0.170,0.034,0.185,0.224,0.157,0.210,
+0.186,0.291,1.270,0.959,0.732,0.735,0.943,1.072,0.975,0.728,
+1.448,0.478,1.221,1.091,0.767,1.538,0.967,1.118,0.121,0.181,
+0.091,0.087,0.099,0.172,0.135,0.076,0.325,0.278,0.205,0.151,
+0.116,0.444,0.150,0.136,0.877,1.583,1.074,0.820,0.126,0.309,
+0.219,0.129,1.155,0.219,0.917,0.903,0.534,1.067,0.994,0.810,
+0.664,0.602,0.606,0.647,0.973,1.396,1.114,1.118,1.109,0.204,
+1.357,1.197,0.638,0.918,1.029,1.129,1.113,0.639,0.501,0.797,
+0.650,0.510,0.411,0.436,0.751,0.098,0.485,0.619,0.711,0.751,
+0.550,0.976,1.501,1.259,0.813,1.022,1.091,1.238,0.880,0.777,
+1.984,0.329,1.089,1.284,1.064,1.679,0.980,1.254,0.907,1.090,
+0.964,0.961,0.105,0.152,0.118,0.110,1.294,0.130,0.930,1.020,
+0.718,1.265,0.963,1.108,1.173,0.790,0.761,0.993,1.136,0.925,
+0.726,0.885,1.163,0.138,1.153,1.381,1.247,1.548,1.291,1.879,
+2.547,1.226,0.995,1.862,0.952,0.644,0.620,0.717,0.989,0.098,
+0.497,0.781,1.368,1.027,0.780,1.597,1.270,0.790,0.575,0.868,
+0.742,0.493,0.509,0.603,0.948,0.092,0.516,0.781,0.853,0.767,
+0.509,0.900,1.110,0.845,0.941,1.314,0.103,0.091,0.086,0.167,
+0.706,0.067,0.482,0.731,0.615,0.762,0.553,0.949,1.539,0.781,
+0.980,2.244,1.093,0.820,0.807,1.341,1.011,0.081,0.672,1.054,
+1.328,0.978,1.092,2.620,1.876,1.201,0.855,1.323,1.283,0.993,
+1.217,0.851,0.983,0.114,0.654,0.892,0.891,0.994,0.811,1.225,
+1.426,1.126,0.657,0.985,1.005,0.900,0.714,0.721,1.154,0.182,
+0.820,1.103,0.838,1.368,0.618,0.913,1.010,1.022,0.910,1.137,
+0.093,0.118,0.132,0.147,1.064,0.117,0.948,1.293,0.742,1.174,
+0.789,1.082,1.257,0.749,0.727,1.334,1.249,1.097,1.013,1.392,
+0.999,0.099,0.785,1.174,1.036,1.197,0.992,1.770,1.412,0.811,
+0.709,0.953,1.154,0.853,0.857,0.957,1.285,0.180,0.959,1.115,
+0.950,0.999,1.086,1.461,0.116,0.108,0.070,0.110,0.086,0.099,
+0.088,0.088,0.125,0.033,0.124,0.136,0.116,0.183,0.124,0.153,
+0.901,1.021,0.814,1.195,0.087,0.107,0.101,0.138,1.063,0.139,
+0.858,1.075,0.718,1.149,1.089,1.249,0.895,0.656,0.686,1.098,
+1.143,1.046,1.051,1.491,1.565,0.154,1.200,1.799,1.050,1.143,
+1.300,1.943,2.060,0.928,0.806,1.423,0.931,0.681,0.643,0.763,
+1.045,0.101,0.612,0.952,1.369,1.026,0.945,2.066,1.207,0.826,
+0.617,1.025,0.760,0.610,0.635,0.762,1.077,0.091,0.757,1.152,
+1.106,1.109,0.837,1.439,1.378,1.242,1.056,1.865,0.127,0.104,
+0.089,0.163,1.346,0.114,1.029,1.487,1.263,1.513,1.411,1.983,
+2.389,1.218,1.300,2.737,1.623,1.332,1.244,1.949,2.151,0.143,
+1.783,2.822,3.344,2.292,2.698,4.252,0.232,0.154,0.134,0.184,
+0.165,0.126,0.113,0.117,0.139,0.021,0.129,0.143,0.145,0.144,
+0.111,0.135,0.176,0.148,0.109,0.115,0.150,0.130,0.131,0.109,
+0.130,0.030,0.127,0.125,0.093,0.136,0.119,0.124,0.107,0.098,
+0.095,0.105,0.016,0.018,0.021,0.020,0.076,0.014,0.090,0.076,
+0.062,0.091,0.208,0.103,0.128,0.090,0.076,0.127,0.134,0.135,
+0.103,0.124,0.102,0.015,0.093,0.105,0.102,0.092,0.123,0.160,
+0.200,0.174,0.128,0.143,0.183,0.177,0.139,0.107,0.150,0.041,
+0.251,0.228,0.097,0.157,0.195,0.154,0.192,0.223,0.126,0.113,
+0.173,0.174,0.170,0.125,0.241,0.105,0.213,0.252,0.093,0.222,
+0.164,0.139,0.104,0.156,0.102,0.096,0.030,0.045,0.050,0.027,
+0.157,0.049,0.144,0.136,0.068,0.154,0.129,0.098,0.089,0.191,
+0.059,0.076,0.132,0.132,0.106,0.117,0.110,0.021,0.117,0.126,
+0.087,0.097,0.120,0.143,0.129,0.090,0.067,0.075,0.213,0.118,
+0.110,0.092,0.113,0.025,0.092,0.090,0.072,0.100,0.084,0.108,
+0.016,0.024,0.019,0.014,0.023,0.033,0.034,0.018,0.021,0.016,
+0.036,0.024,0.012,0.034,0.025,0.020,0.071,0.091,0.088,0.070,
+0.015,0.022,0.028,0.016,0.090,0.029,0.121,0.099,0.050,0.104,
+0.168,0.098,0.061,0.044,0.049,0.058,0.091,0.096,0.097,0.098,
+0.099,0.020,0.112,0.110,0.064,0.086,0.118,0.126,0.144,0.071,
+0.060,0.101,0.083,0.056,0.055,0.065,0.078,0.012,0.053,0.068,
+0.087,0.081,0.069,0.136,0.137,0.122,0.096,0.115,0.121,0.128,
+0.120,0.106,0.099,0.022,0.110,0.124,0.081,0.124,0.099,0.139,
+0.079,0.078,0.090,0.105,0.012,0.013,0.017,0.015,0.085,0.018,
+0.081,0.135,0.058,0.105,0.203,0.138,0.097,0.063,0.072,0.113,
+0.074,0.066,0.071,0.091,0.106,0.015,0.115,0.210,0.118,0.123,
+0.155,0.247,0.195,0.158,0.118,0.146,0.166,0.185,0.146,0.135,
+0.109,0.023,0.084,0.100,0.094,0.115,0.092,0.114,0.182,0.187,
+0.130,0.127,0.191,0.209,0.241,0.216,0.146,0.059,0.193,0.193,
+0.077,0.132,0.169,0.147,0.083,0.121,0.113,0.091,0.019,0.042,
+0.043,0.028,0.077,0.024,0.099,0.083,0.054,0.093,0.099,0.089,
+0.082,0.053,0.053,0.080,0.108,0.124,0.100,0.102,0.141,0.019,
+0.078,0.087,0.074,0.070,0.095,0.124,0.199,0.249,0.122,0.122,
+0.236,0.487,0.210,0.154,0.139,0.048,0.131,0.126,0.075,0.138,
+0.096,0.125,0.209,0.323,0.174,0.131,0.211,0.196,0.249,0.186,
+0.210,0.140,0.276,0.260,0.078,0.219,0.166,0.202,0.123,0.282,
+0.185,0.175,0.046,0.152,0.135,0.095,0.163,0.096,0.193,0.178,
+0.067,0.248,0.191,0.137,0.079,0.087,0.065,0.080,0.144,0.237,
+0.165,0.167,0.108,0.030,0.125,0.127,0.065,0.098,0.161,0.140,
+0.135,0.114,0.089,0.085,0.172,0.226,0.223,0.121,0.139,0.041,
+0.139,0.131,0.065,0.120,0.113,0.119,0.025,0.056,0.035,0.022,
+0.049,0.127,0.165,0.041,0.047,0.068,0.108,0.062,0.013,0.058,
+0.047,0.029,0.171,0.254,0.197,0.151,0.059,0.126,0.129,0.050,
+0.200,0.097,0.272,0.197,0.114,0.258,0.354,0.184,0.142,0.061,
+0.073,0.070,0.153,0.235,0.238,0.161,0.273,0.050,0.220,0.177,
+0.080,0.108,0.183,0.158,0.108,0.080,0.064,0.088,0.080,0.077,
+0.073,0.067,0.068,0.010,0.058,0.061,0.063,0.067,0.061,0.104,
+0.148,0.190,0.121,0.112,0.142,0.212,0.251,0.153,0.119,0.040,
+0.158,0.150,0.068,0.156,0.119,0.135,0.071,0.110,0.101,0.091,
+0.012,0.027,0.025,0.017,0.082,0.024,0.121,0.108,0.056,0.109,
+0.148,0.115,0.076,0.054,0.059,0.074,0.073,0.084,0.079,0.089,
+0.104,0.014,0.111,0.131,0.088,0.114,0.154,0.200,0.137,0.123,
+0.090,0.115,0.091,0.101,0.084,0.080,0.088,0.016,0.085,0.068,
+0.074,0.088,0.090,0.081,0.154,0.197,0.118,0.108,0.169,0.202,
+0.193,0.138,0.178,0.068,0.238,0.185,0.079,0.204,0.110,0.110,
+0.094,0.163,0.217,0.123,0.020,0.044,0.070,0.040,0.163,0.041,
+0.214,0.179,0.050,0.127,0.116,0.097,0.071,0.063,0.065,0.095,
+0.096,0.112,0.148,0.133,0.101,0.021,0.111,0.121,0.074,0.087,
+0.104,0.161,0.015,0.026,0.017,0.013,0.027,0.053,0.046,0.023,
+0.019,0.014,0.033,0.020,0.011,0.028,0.056,0.018,0.028,0.070,
+0.035,0.021,0.060,0.119,0.096,0.043,0.045,0.080,0.111,0.069,
+0.018,0.089,0.036,0.026,0.017,0.063,0.064,0.027,0.017,0.067,
+0.103,0.030,0.088,0.070,0.262,0.130,0.015,0.068,0.067,0.030,
+0.011,0.016,0.013,0.014,0.032,0.057,0.064,0.049,0.026,0.016,
+0.057,0.041,0.013,0.023,0.029,0.027,0.107,0.127,0.089,0.069,
+0.111,0.213,0.191,0.104,0.150,0.062,0.281,0.208,0.067,0.181,
+0.157,0.158,0.020,0.062,0.030,0.015,0.036,0.108,0.094,0.031,
+0.054,0.082,0.190,0.071,0.015,0.063,0.049,0.026,0.108,0.476,
+0.223,0.113,0.045,0.318,0.163,0.045,0.196,0.139,0.300,0.204,
+0.058,0.224,0.209,0.125,0.063,0.082,0.073,0.083,0.142,0.421,
+0.254,0.259,0.187,0.086,0.365,0.223,0.069,0.143,0.180,0.155,
+0.090,0.077,0.054,0.081,0.064,0.066,0.052,0.050,0.077,0.016,
+0.070,0.079,0.061,0.089,0.064,0.097,0.139,0.184,0.115,0.111,
+0.170,0.255,0.190,0.134,0.200,0.069,0.232,0.222,0.094,0.219,
+0.158,0.144,0.089,0.170,0.144,0.105,0.021,0.056,0.054,0.023,
+0.156,0.057,0.200,0.184,0.072,0.237,0.163,0.151,0.088,0.071,
+0.066,0.087,0.230,0.122,0.103,0.108,0.130,0.028,0.186,0.172,
+0.108,0.168,0.158,0.191,0.189,0.118,0.093,0.151,0.132,0.085,
+0.098,0.137,0.121,0.014,0.061,0.105,0.118,0.102,0.090,0.148,
+0.129,0.107,0.070,0.092,0.097,0.077,0.079,0.092,0.099,0.016,
+0.081,0.106,0.082,0.096,0.070,0.102,0.092,0.090,0.088,0.112,
+0.011,0.012,0.013,0.022,0.079,0.011,0.068,0.088,0.054,0.077,
+0.067,0.100,0.120,0.072,0.090,0.189,0.104,0.082,0.085,0.179,
+0.119,0.012,0.077,0.152,0.129,0.099,0.115,0.297,0.218,0.182,
+0.172,0.166,0.196,0.185,0.675,0.165,0.154,0.031,0.145,0.160,
+0.119,0.181,0.213,0.173,0.221,0.239,0.138,0.156,0.222,0.248,
+0.223,0.184,0.209,0.062,0.233,0.264,0.138,0.377,0.153,0.173,
+0.124,0.205,0.181,0.167,0.021,0.045,0.063,0.047,0.227,0.042,
+0.282,0.295,0.097,0.220,0.159,0.165,0.133,0.105,0.105,0.172,
+0.186,0.200,0.234,0.346,0.156,0.025,0.175,0.224,0.142,0.173,
+0.175,0.259,0.119,0.088,0.071,0.084,0.117,0.128,0.136,0.113,
+0.132,0.031,0.142,0.144,0.081,0.116,0.131,0.154,0.014,0.019,
+0.012,0.014,0.020,0.038,0.032,0.020,0.021,0.014,0.039,0.030,
+0.014,0.032,0.029,0.023,0.086,0.159,0.124,0.115,0.017,0.043,
+0.041,0.030,0.142,0.049,0.175,0.166,0.071,0.176,0.183,0.156,
+0.095,0.071,0.077,0.104,0.127,0.157,0.164,0.199,0.298,0.039,
+0.221,0.314,0.113,0.135,0.195,0.233,0.163,0.102,0.080,0.125,
+0.096,0.081,0.081,0.091,0.099,0.014,0.072,0.101,0.104,0.097,
+0.094,0.182,0.129,0.107,0.076,0.107,0.104,0.112,0.114,0.112,
+0.110,0.017,0.116,0.143,0.099,0.128,0.106,0.165,0.118,0.132,
+0.115,0.156,0.015,0.019,0.017,0.022,0.134,0.023,0.143,0.181,
+0.103,0.175,0.175,0.201,0.175,0.104,0.114,0.208,0.159,0.137,
+0.139,0.203,0.197,0.021,0.217,0.293,0.250,0.231,0.286,0.379,
+2.146,1.387,1.239,1.989,1.418,1.076,1.051,1.373,1.241,0.136,
+0.935,1.169,1.557,1.322,1.051,1.504,1.449,1.088,0.793,1.127,
+1.137,0.829,1.003,0.936,0.971,0.120,0.826,0.879,0.907,0.913,
+0.767,0.956,0.981,0.928,0.855,1.106,0.097,0.091,0.100,0.156,
+0.771,0.084,0.750,0.854,0.576,0.737,0.790,0.889,1.020,0.541,
+0.501,0.978,0.780,0.603,0.555,0.813,0.759,0.066,0.566,0.744,
+0.841,0.487,0.765,1.333,1.977,1.408,0.953,1.303,1.504,1.259,
+1.069,1.022,1.087,0.156,0.765,0.949,0.872,1.036,0.670,0.982,
+1.721,1.745,0.932,1.040,1.375,0.945,1.206,0.945,1.649,0.311,
+1.336,1.982,0.837,1.275,0.785,0.995,1.160,1.404,1.298,1.134,
+0.161,0.186,0.203,0.202,1.489,0.249,1.467,2.387,1.082,1.401,
+1.240,1.198,0.810,0.633,0.488,0.687,1.093,1.011,0.827,1.035,
+0.862,0.096,0.745,1.126,0.765,0.713,0.848,1.363,1.459,0.814,
+0.672,0.960,1.453,1.222,1.215,1.149,1.335,0.197,1.117,1.060,
+0.929,1.095,0.959,1.327,0.164,0.179,0.125,0.150,0.200,0.211,
+0.229,0.184,0.188,0.058,0.442,0.230,0.163,0.364,0.207,0.248,
+1.006,1.076,1.702,1.481,0.142,0.148,0.575,0.373,1.272,0.230,
+1.333,1.173,0.626,1.182,1.509,1.109,0.699,0.511,0.545,0.674,
+1.136,1.014,1.665,1.413,0.932,0.127,1.006,1.086,0.821,0.824,
+1.084,1.334,1.356,0.591,0.508,0.922,0.691,0.516,0.520,0.588,
+0.684,0.079,0.471,0.614,0.898,0.812,0.685,1.169,1.170,0.959,
+0.684,0.928,0.960,0.841,0.853,0.817,0.869,0.111,1.160,1.042,
+0.853,1.222,0.836,1.325,0.920,0.964,1.005,1.072,0.100,0.098,
+0.137,0.154,1.077,0.123,1.016,1.196,0.757,1.183,1.592,1.383,
+1.042,0.623,0.607,1.081,0.754,0.609,0.788,1.018,1.187,0.120,
+1.021,1.476,1.453,1.293,1.532,2.547,0.148,0.132,0.096,0.129,
+0.128,0.130,0.126,0.130,0.089,0.018,0.068,0.083,0.100,0.104,
+0.082,0.107,0.164,0.184,0.147,0.237,0.198,0.204,0.338,0.212,
+0.146,0.055,0.174,0.147,0.193,0.152,0.128,0.131,0.074,0.115,
+0.092,0.089,0.019,0.033,0.034,0.027,0.089,0.027,0.129,0.136,
+0.055,0.104,0.114,0.105,0.073,0.052,0.046,0.070,0.093,0.098,
+0.083,0.090,0.068,0.013,0.068,0.084,0.066,0.063,0.087,0.135,
+0.137,0.169,0.088,0.094,0.146,0.195,0.169,0.127,0.108,0.042,
+0.090,0.089,0.059,0.104,0.070,0.083,0.195,0.342,0.152,0.133,
+0.213,0.205,0.276,0.158,0.277,0.173,0.260,0.247,0.090,0.234,
+0.132,0.172,0.100,0.204,0.138,0.109,0.038,0.092,0.095,0.046,
+0.313,0.146,0.339,0.382,0.147,0.248,0.205,0.148,0.068,0.063,
+0.049,0.055,0.109,0.143,0.115,0.108,0.084,0.023,0.101,0.113,
+0.055,0.071,0.091,0.112,0.120,0.103,0.090,0.080,0.162,0.213,
+0.235,0.133,0.135,0.044,0.272,0.130,0.067,0.118,0.122,0.110,
+0.023,0.050,0.033,0.024,0.052,0.106,0.121,0.045,0.048,0.068,
+0.335,0.069,0.016,0.058,0.059,0.032,0.109,0.185,0.247,0.160,
+0.042,0.091,0.198,0.051,0.225,0.146,0.405,0.222,0.078,0.256,
+0.427,0.200,0.071,0.060,0.067,0.066,0.133,0.187,0.239,0.154,
+0.130,0.044,0.212,0.154,0.066,0.106,0.168,0.151,0.118,0.101,
+0.075,0.106,0.082,0.079,0.074,0.076,0.071,0.012,0.065,0.069,
+0.080,0.091,0.095,0.134,0.163,0.190,0.130,0.149,0.188,0.236,
+0.218,0.175,0.148,0.045,0.349,0.180,0.110,0.225,0.178,0.208,
+0.085,0.125,0.134,0.117,0.014,0.033,0.036,0.025,0.125,0.040,
+0.178,0.167,0.090,0.174,0.396,0.188,0.089,0.070,0.064,0.092,
+0.080,0.091,0.094,0.105,0.105,0.017,0.128,0.154,0.115,0.132,
+0.189,0.241,1.497,1.498,0.963,1.474,1.071,1.008,0.772,0.989,
+0.937,0.109,0.754,0.802,0.664,0.603,0.512,0.755,1.567,1.494,
+0.894,1.000,1.732,1.406,1.785,1.188,1.663,0.257,2.000,1.826,
+0.733,1.220,0.855,0.987,0.969,1.314,0.966,0.991,0.164,0.234,
+0.219,0.249,1.249,0.214,1.559,1.451,0.579,1.184,0.981,1.096,
+0.733,0.529,0.412,0.691,0.866,0.842,0.717,0.875,0.990,0.126,
+0.979,1.324,0.761,0.722,0.947,1.553,0.130,0.151,0.080,0.109,
+0.178,0.239,0.167,0.246,0.116,0.038,0.173,0.130,0.062,0.100,
+0.077,0.093,0.155,0.212,0.120,0.103,0.310,0.296,0.308,0.227,
+0.209,0.107,0.710,0.351,0.070,0.166,0.116,0.104,0.118,0.231,
+0.150,0.113,0.041,0.105,0.118,0.051,0.264,0.126,0.443,0.353,
+0.081,0.222,0.193,0.156,0.093,0.078,0.052,0.083,0.157,0.210,
+0.158,0.177,0.130,0.034,0.173,0.265,0.080,0.095,0.113,0.173,
+1.597,0.932,0.797,0.598,1.183,1.385,1.344,0.974,1.123,0.246,
+1.528,1.065,0.565,0.885,1.103,0.983,0.137,0.224,0.172,0.102,
+0.160,0.292,0.270,0.122,0.209,0.116,0.474,0.225,0.083,0.226,
+0.245,0.135,1.035,1.083,1.093,0.787,0.178,0.205,0.308,0.148,
+0.781,0.196,0.420,0.398,0.357,0.643,0.849,0.722,0.543,0.442,
+0.482,0.391,0.791,0.946,1.056,0.729,0.877,0.173,1.439,1.078,
+0.495,0.692,1.106,1.115,0.916,0.568,0.457,0.627,0.626,0.526,
+0.417,0.443,0.580,0.078,0.569,0.585,0.447,0.485,0.457,0.655,
+1.122,1.161,0.804,0.756,1.149,1.406,1.102,0.796,1.137,0.205,
+1.494,1.275,0.641,1.217,1.092,0.888,0.865,1.081,0.948,0.904,
+0.118,0.201,0.179,0.142,1.217,0.206,1.869,1.485,0.631,1.304,
+1.343,1.169,0.690,0.517,0.459,0.657,0.783,0.827,0.706,0.731,
+1.012,0.128,1.508,1.398,0.903,1.058,1.308,1.480,1.451,0.840,
+0.603,1.108,0.770,0.585,0.512,0.668,0.725,0.082,0.488,0.642,
+0.781,0.702,0.530,0.947,1.082,0.744,0.455,0.633,0.791,0.528,
+0.638,0.605,0.663,0.068,0.505,0.621,0.470,0.511,0.401,0.597,
+0.747,0.722,0.476,0.691,0.080,0.080,0.068,0.117,0.651,0.078,
+0.590,0.796,0.510,0.675,0.590,0.818,0.826,0.488,0.380,0.728,
+0.667,0.513,0.429,0.726,0.609,0.056,0.444,0.743,0.702,0.577,
+0.669,1.337,1.560,1.208,0.759,1.118,1.297,1.250,1.144,1.132,
+0.911,0.129,1.070,1.003,0.689,0.860,0.589,0.957,1.549,1.487,
+0.889,1.006,1.628,1.407,1.905,1.422,1.308,0.215,1.919,1.716,
+0.644,1.061,0.741,0.928,0.957,1.403,0.881,0.933,0.127,0.212,
+0.178,0.184,1.284,0.228,1.480,1.943,0.673,1.437,1.167,1.313,
+1.118,0.774,0.515,0.806,1.159,1.193,0.974,1.275,0.898,0.122,
+0.948,1.561,0.732,0.837,0.862,1.447,1.483,1.036,0.719,0.830,
+1.250,1.285,1.478,1.211,1.177,0.183,1.126,1.150,0.775,0.994,
+1.063,1.314,0.142,0.151,0.119,0.109,0.155,0.240,0.293,0.167,
+0.138,0.053,0.238,0.196,0.094,0.235,0.163,0.152,1.152,1.515,
+1.170,1.118,0.153,0.195,0.287,0.202,2.145,0.460,1.694,1.901,
+0.838,1.805,1.804,1.556,0.821,0.694,0.651,0.731,1.235,1.259,
+1.519,1.408,1.202,0.173,1.603,1.910,0.832,1.007,1.512,1.768,
+1.281,0.688,0.548,0.864,0.715,0.587,0.558,0.568,0.717,0.083,
+0.547,0.678,0.805,0.638,0.644,1.109,1.201,0.951,0.673,0.832,
+0.954,1.011,1.004,0.843,0.842,0.100,0.910,1.079,0.728,0.897,
+0.839,1.032,1.101,1.226,0.954,1.207,0.109,0.129,0.127,0.150,
+1.423,0.181,1.673,2.089,0.957,1.457,1.626,1.718,1.294,0.773,
+0.741,1.331,1.162,1.075,1.123,1.347,1.344,0.124,1.626,2.135,
+1.536,1.329,1.825,2.370,2.534,1.283,1.161,2.249,1.190,0.772,
+0.697,0.931,1.088,0.103,0.556,0.902,1.556,1.218,0.800,1.511,
+1.316,0.795,0.607,0.829,0.821,0.516,0.532,0.570,0.810,0.070,
+0.549,0.631,0.758,0.783,0.530,0.799,0.894,0.725,0.642,0.932,
+0.086,0.070,0.068,0.119,0.592,0.055,0.444,0.591,0.526,0.639,
+0.604,0.868,1.271,0.629,0.718,1.225,0.942,0.629,0.597,0.879,
+0.757,0.062,0.555,0.811,1.090,0.712,0.868,2.157,1.701,1.014,
+0.698,1.123,0.997,0.694,0.521,0.675,0.693,0.072,0.404,0.612,
+0.703,0.660,0.454,0.841,1.068,0.748,0.508,0.696,0.668,0.441,
+0.445,0.462,0.751,0.083,0.472,0.711,0.583,0.601,0.423,0.657,
+0.692,0.604,0.519,0.609,0.059,0.061,0.050,0.066,0.643,0.062,
+0.412,0.645,0.585,0.629,0.516,0.668,0.659,0.441,0.334,0.572,
+0.609,0.510,0.359,0.538,0.542,0.043,0.398,0.633,0.598,0.477,
+0.573,1.094,1.564,0.698,0.554,0.827,1.061,0.969,0.637,0.826,
+0.853,0.104,0.409,0.650,0.870,0.746,0.575,1.094,0.110,0.081,
+0.056,0.086,0.089,0.082,0.066,0.078,0.085,0.016,0.074,0.084,
+0.116,0.152,0.081,0.136,0.754,0.605,0.663,0.806,0.072,0.062,
+0.078,0.095,0.707,0.083,0.488,0.639,0.573,0.748,0.760,0.832,
+0.879,0.437,0.468,0.736,0.833,0.624,0.612,0.836,0.848,0.133,
+0.579,0.879,0.767,0.760,0.826,1.369,1.793,0.659,0.574,1.215,
+0.750,0.514,0.473,0.698,0.787,0.072,0.432,0.663,1.234,0.781,
+0.640,1.377,1.148,0.719,0.525,0.829,0.707,0.536,0.482,0.587,
+0.733,0.062,0.528,0.719,0.886,0.938,0.623,1.122,0.797,0.631,
+0.607,0.865,0.063,0.052,0.060,0.083,0.644,0.052,0.503,0.684,
+0.732,0.738,0.840,1.010,1.229,0.629,0.637,1.367,0.800,0.538,
+0.592,0.958,1.097,0.088,0.761,1.268,1.474,1.171,1.447,2.821,
+2.512,1.538,1.226,2.063,1.523,1.221,1.077,1.282,1.116,0.132,
+0.681,1.097,1.344,1.241,0.916,1.656,1.858,1.331,1.108,1.460,
+1.390,1.087,1.620,1.298,1.266,0.171,1.169,1.316,1.004,1.091,
+0.922,1.232,0.990,0.965,0.820,1.064,0.101,0.124,0.113,0.153,
+0.862,0.114,0.779,1.241,0.599,0.934,0.937,1.279,1.093,0.632,
+0.618,0.993,1.123,0.973,0.747,0.999,0.738,0.078,0.589,0.958,
+0.891,0.788,0.944,1.873,2.019,1.568,0.956,1.454,1.584,1.517,
+1.074,1.473,1.037,0.158,0.648,0.945,0.885,1.018,0.688,1.184,
+1.767,1.707,1.209,1.642,1.555,1.090,1.201,1.091,1.808,0.400,
+1.207,1.653,0.907,1.518,0.929,1.224,1.005,1.221,0.910,1.075,
+0.137,0.187,0.144,0.157,1.456,0.249,1.107,1.593,0.926,1.477,
+1.155,1.448,0.787,0.602,0.497,0.734,1.021,1.065,0.710,0.913,
+0.780,0.091,0.683,1.218,0.695,0.736,0.825,1.363,1.546,0.973,
+0.883,1.012,1.498,1.424,1.492,1.385,1.184,0.205,1.010,1.258,
+0.878,1.029,0.930,1.413,0.113,0.147,0.093,0.124,0.154,0.230,
+0.204,0.156,0.133,0.064,0.322,0.182,0.104,0.231,0.163,0.168,
+1.021,1.214,1.185,1.239,0.135,0.199,0.222,0.186,1.325,0.278,
+1.251,1.495,0.806,1.708,1.954,1.721,0.863,0.603,0.627,0.935,
+1.279,1.400,1.430,1.486,1.160,0.150,1.226,1.550,0.888,1.032,
+1.493,2.005,1.585,0.904,0.779,1.452,0.886,0.732,0.706,0.963,
+0.871,0.089,0.615,0.876,0.960,0.848,0.832,1.539,1.582,1.362,
+0.954,1.297,1.215,1.334,1.194,1.253,1.156,0.163,1.337,1.462,
+1.053,1.713,1.312,1.660,0.881,0.970,1.068,1.206,0.085,0.118,
+0.156,0.134,0.940,0.122,1.053,1.316,0.804,1.261,1.985,1.780,
+1.089,0.720,0.720,1.110,1.002,0.929,0.873,1.166,1.088,0.099,
+1.070,1.582,1.301,1.257,1.701,2.737,2.698,1.343,1.121,1.530,
+1.086,0.946,0.858,1.068,1.047,0.105,0.656,0.867,1.074,0.819,
+0.624,1.072,1.751,1.485,0.817,1.079,1.471,1.168,1.074,1.044,
+1.405,0.185,1.580,1.506,0.924,1.252,0.919,1.318,1.041,1.362,
+1.021,1.144,0.138,0.186,0.203,0.208,1.141,0.182,0.957,1.186,
+0.801,1.665,1.206,1.290,0.990,0.719,0.565,0.972,1.080,0.960,
+0.825,1.008,1.061,0.121,0.902,1.490,1.101,1.008,1.276,2.261,
+0.145,0.127,0.202,0.132,0.133,0.150,0.113,0.124,0.087,0.018,
+0.104,0.101,0.077,0.107,0.106,0.114,0.141,0.176,0.091,0.099,
+0.254,0.223,0.177,0.146,0.158,0.063,0.295,0.296,0.086,0.178,
+0.122,0.135,0.078,0.147,0.095,0.089,0.024,0.050,0.047,0.025,
+0.158,0.055,0.192,0.191,0.088,0.223,0.232,0.153,0.094,0.081,
+0.057,0.093,0.198,0.180,0.132,0.151,0.112,0.025,0.123,0.178,
+0.100,0.111,0.130,0.191,1.624,1.069,0.813,0.804,1.399,1.479,
+1.687,1.074,1.160,0.239,1.222,1.115,0.819,1.127,1.299,1.305,
+0.130,0.177,0.093,0.086,0.156,0.212,0.165,0.101,0.149,0.070,
+0.302,0.168,0.109,0.240,0.273,0.154,1.502,1.681,1.447,1.178,
+0.267,0.338,0.280,0.182,1.628,0.324,0.975,1.363,0.788,1.592,
+1.758,1.437,0.926,0.747,0.680,0.762,1.586,1.788,1.522,1.224,
+1.292,0.217,1.803,1.756,0.892,1.175,1.599,1.838,1.377,0.839,
+0.600,0.960,0.850,0.748,0.616,0.669,0.958,0.104,0.760,1.032,
+0.809,0.781,0.722,1.207,1.601,1.474,0.925,1.148,1.323,1.507,
+1.074,0.955,1.413,0.195,1.755,1.731,1.116,1.788,1.655,1.604,
+1.155,1.317,1.045,1.187,0.123,0.181,0.151,0.141,1.488,0.188,
+1.589,1.821,1.042,1.927,2.540,2.013,1.202,0.796,0.737,1.021,
+1.077,1.094,0.979,1.069,1.467,0.147,1.768,2.114,1.419,1.521,
+1.999,2.598,2.665,1.229,0.873,1.637,1.009,0.688,0.579,0.833,
+1.008,0.101,0.589,0.881,1.239,0.926,0.715,1.512,1.354,0.846,
+0.468,0.753,0.857,0.568,0.486,0.630,0.872,0.077,0.564,0.780,
+0.668,0.639,0.500,0.853,1.014,0.902,0.595,1.077,0.103,0.100,
+0.074,0.153,0.760,0.078,0.520,0.843,0.742,0.896,0.684,1.066,
+1.306,0.656,0.573,1.213,0.857,0.595,0.535,0.913,0.850,0.068,
+0.584,1.092,1.201,0.872,1.038,2.558,1.713,1.116,1.113,1.259,
+1.095,0.985,0.953,0.918,0.796,0.088,0.642,0.882,0.814,0.822,
+0.653,1.189,1.352,1.077,0.631,0.861,1.187,0.941,0.849,0.852,
+1.044,0.128,0.976,1.317,0.722,0.954,0.645,1.036,0.852,0.978,
+0.602,0.905,0.075,0.101,0.073,0.101,0.951,0.113,0.843,1.219,
+0.789,1.197,1.018,1.401,0.967,0.693,0.529,0.919,0.963,0.811,
+0.669,0.979,0.893,0.084,0.735,1.261,0.946,0.837,0.948,1.832,
+1.850,1.113,0.823,1.088,1.453,1.222,1.112,1.306,1.364,0.181,
+0.915,1.256,1.172,1.192,1.162,1.904,0.129,0.129,0.075,0.101,
+0.123,0.157,0.118,0.116,0.110,0.026,0.121,0.135,0.122,0.179,
+0.129,0.180,1.423,1.564,1.155,1.384,0.130,0.166,0.153,0.173,
+1.744,0.249,1.400,1.903,1.165,1.906,1.936,2.433,1.290,1.015,
+0.832,1.199,1.489,1.405,1.432,1.699,1.670,0.172,1.617,2.380,
+1.291,1.367,1.722,2.856,2.704,1.200,0.844,1.608,1.109,0.851,
+0.704,0.937,1.256,0.118,0.760,1.189,1.734,1.222,1.172,2.562,
+1.861,1.360,0.846,1.244,1.420,1.644,0.924,1.076,1.426,0.125,
+1.153,1.631,1.416,1.477,1.243,2.011,1.658,1.543,1.190,1.791,
+0.118,0.135,0.102,0.162,1.795,0.157,1.593,2.357,1.635,2.094,
+2.279,3.246,2.652,1.276,1.155,2.472,1.705,1.400,1.305,1.996,
+2.210,0.154,2.020,3.359,2.936,2.095,2.617,4.624,5.874,2.938,
+2.440,5.955,2.546,1.538,1.383,2.126,2.882,0.251,1.257,2.180,
+5.056,3.360,1.873,4.081,2.763,1.415,1.138,1.656,1.513,0.903,
+0.784,0.940,1.537,0.107,0.791,1.116,1.532,1.245,0.941,1.615,
+2.142,1.299,1.153,2.083,0.154,0.114,0.098,0.230,1.139,0.088,
+0.607,0.976,1.230,1.182,0.960,1.591,4.238,1.485,1.565,3.752,
+2.368,1.453,1.349,2.480,1.645,0.118,0.914,1.594,2.751,1.548,
+1.596,3.525,2.837,1.297,0.943,1.671,1.343,0.837,0.663,0.912,
+1.187,0.112,0.555,0.867,1.190,1.047,0.636,1.265,1.582,0.894,
+0.600,0.870,0.838,0.506,0.460,0.526,0.895,0.072,0.480,0.689,
+0.727,0.641,0.498,0.762,1.232,0.889,0.680,1.041,0.092,0.068,
+0.056,0.094,1.059,0.080,0.513,0.731,0.678,0.717,0.559,0.841,
+1.380,0.777,0.627,1.179,1.215,0.814,0.656,1.014,0.949,0.064,
+0.521,0.872,1.011,0.779,0.789,1.567,2.087,0.943,0.796,1.363,
+1.231,0.739,0.714,0.950,1.222,0.137,0.545,0.930,1.363,1.036,
+0.841,1.804,0.141,0.100,0.066,0.115,0.090,0.080,0.062,0.080,
+0.094,0.013,0.063,0.092,0.146,0.157,0.096,0.179,0.957,0.695,
+0.654,0.876,0.072,0.058,0.052,0.084,0.702,0.063,0.441,0.593,
+0.625,0.662,0.692,0.870,1.008,0.596,0.586,1.000,1.040,0.778,
+0.657,0.945,1.003,0.087,0.629,0.976,1.014,0.912,0.965,1.834,
+3.386,1.197,1.126,2.923,1.262,0.708,0.793,1.106,1.579,0.131,
+0.680,1.127,2.301,1.331,1.128,2.791,1.839,1.113,0.859,1.370,
+1.048,0.760,0.696,0.845,1.066,0.075,0.677,1.068,1.342,1.117,
+0.888,1.619,1.232,0.896,0.857,1.307,0.090,0.066,0.074,0.114,
+1.001,0.071,0.947,0.997,0.972,0.962,0.978,1.397,2.272,1.099,
+1.095,2.383,1.240,0.846,0.824,1.367,1.653,0.099,1.047,1.806,
+2.742,1.874,1.994,4.982,3.197,1.626,1.245,2.398,1.480,0.959,
+0.796,1.102,1.171,0.104,0.530,1.019,1.550,1.259,0.852,1.769,
+1.711,1.050,0.985,1.290,0.937,0.629,0.632,0.704,0.814,0.075,
+0.510,0.742,0.710,0.726,0.566,0.959,0.967,0.799,0.658,1.003,
+0.084,0.088,0.063,0.111,0.613,0.055,0.361,0.526,0.579,0.678,
+0.514,0.852,1.245,0.734,0.680,1.313,1.036,0.762,0.614,0.936,
+0.708,0.058,0.435,0.729,0.977,0.696,0.807,1.718,1.810,1.166,
+0.617,1.151,1.031,0.857,0.517,0.714,0.717,0.071,0.371,0.670,
+0.728,0.715,0.431,1.057,1.036,0.806,0.441,0.629,0.655,0.360,
+0.389,0.459,0.593,0.059,0.397,0.580,0.478,0.538,0.386,0.649,
+0.894,0.813,0.542,0.836,0.075,0.080,0.065,0.116,0.618,0.081,
+0.365,0.560,0.504,0.762,0.473,0.712,0.847,0.575,0.440,0.845,
+0.749,0.639,0.476,0.695,0.631,0.050,0.357,0.642,0.628,0.622,
+0.504,1.124,1.357,0.803,0.573,0.967,0.925,0.678,0.670,0.770,
+0.872,0.096,0.477,0.756,0.832,0.749,0.613,1.172,0.079,0.092,
+0.049,0.081,0.058,0.085,0.058,0.064,0.063,0.015,0.060,0.072,
+0.069,0.097,0.061,0.097,0.855,0.981,0.624,0.817,0.077,0.195,
+0.053,0.074,0.591,0.069,0.409,0.548,0.508,0.731,0.635,0.738,
+0.793,0.609,0.529,0.842,0.826,1.299,0.595,0.852,0.804,0.070,
+0.559,0.852,0.675,0.641,0.734,1.265,1.343,0.744,0.579,1.065,
+0.905,0.509,0.466,0.637,0.675,0.055,0.372,0.585,0.932,0.613,
+0.539,1.285,0.979,0.828,0.534,0.840,0.631,0.581,0.533,0.674,
+0.536,0.050,0.455,0.673,0.626,0.660,0.526,0.924,0.732,0.600,
+0.583,0.854,0.050,0.057,0.039,0.065,0.557,0.049,0.533,0.615,
+0.578,0.636,0.655,0.928,1.005,0.534,0.601,1.063,0.692,0.593,
+0.468,0.800,0.870,0.060,0.608,1.085,1.243,1.093,1.141,2.305,
+3.029,1.413,0.956,1.977,0.993,0.730,0.571,0.865,1.007,0.099,
+0.523,0.856,1.306,1.111,0.654,1.426,1.735,1.125,0.746,1.308,
+0.923,0.658,1.250,1.043,1.018,0.096,0.666,0.865,1.035,1.075,
+0.666,1.173,1.171,1.050,1.168,1.429,0.106,0.108,0.100,0.200,
+0.699,0.070,0.406,0.589,0.628,0.850,0.551,0.942,1.568,0.894,
+0.994,2.124,1.060,0.851,0.771,1.385,0.910,0.082,0.561,1.012,
+1.345,0.988,1.091,2.801,0.175,0.120,0.066,0.127,0.100,0.092,
+0.054,0.081,0.083,0.014,0.047,0.074,0.099,0.114,0.067,0.127,
+0.132,0.110,0.055,0.087,0.092,0.083,0.071,0.072,0.093,0.015,
+0.065,0.083,0.096,0.112,0.060,0.108,0.092,0.103,0.075,0.108,
+9.52e-3,0.016,0.013,0.015,0.082,0.013,0.061,0.083,0.071,0.100,
+0.061,0.101,0.181,0.117,0.097,0.234,0.168,0.163,0.119,0.214,
+0.101,0.012,0.072,0.127,0.145,0.132,0.114,0.264,1.273,0.717,
+0.504,0.741,0.758,0.641,0.568,0.642,0.994,0.137,0.600,0.774,
+0.843,0.837,0.648,1.114,0.092,0.087,0.046,0.068,0.056,0.069,
+0.056,0.054,0.086,0.020,0.062,0.069,0.096,0.119,0.066,0.097,
+0.801,0.916,0.583,0.710,0.075,0.096,0.070,0.074,0.664,0.081,
+0.358,0.500,0.478,0.645,0.535,0.689,0.793,0.579,0.547,0.775,
+0.807,0.844,0.612,0.834,0.855,0.091,0.702,0.891,0.727,0.719,
+0.786,1.253,1.497,0.667,0.479,0.950,0.675,0.465,0.371,0.498,
+0.798,0.081,0.411,0.717,1.058,0.855,0.528,1.285,1.315,0.918,
+0.547,0.926,0.758,0.732,0.524,0.602,0.881,0.081,0.577,0.834,
+1.032,0.999,0.637,1.141,0.928,0.942,0.590,0.911,0.080,0.146,
+0.053,0.082,0.791,0.074,0.509,0.738,0.711,0.936,0.706,1.087,
+1.296,0.755,0.726,1.178,0.908,0.849,0.586,0.893,1.102,0.094,
+0.853,1.305,1.492,1.278,1.282,2.508,3.798,1.728,1.359,3.062,
+1.259,0.811,0.701,1.009,1.320,0.105,0.617,1.073,2.317,1.362,
+1.104,2.607,1.538,0.803,0.610,1.213,0.788,0.445,0.572,0.703,
+0.982,0.062,0.511,0.809,1.053,0.718,0.642,1.278,1.458,0.960,
+1.114,1.962,0.107,0.079,0.076,0.203,0.873,0.064,0.517,0.844,
+0.925,0.826,0.647,1.373,2.821,1.235,1.740,5.595,1.447,0.907,
+1.009,2.175,1.275,0.088,0.829,1.493,2.285,1.315,1.571,4.368,
+2.175,1.171,0.779,1.576,1.111,0.773,0.559,0.822,0.985,0.081,
+0.527,0.878,1.097,0.949,0.670,1.420,1.328,0.815,0.472,0.849,
+0.794,0.570,0.429,0.582,0.813,0.067,0.503,0.826,0.842,0.757,
+0.479,0.938,1.110,0.882,0.652,1.239,0.068,0.069,0.051,0.108,
+0.879,0.066,0.481,0.839,0.830,0.853,0.570,1.118,1.663,0.868,
+0.861,2.179,1.264,0.934,0.859,1.794,1.027,0.071,0.650,1.213,
+1.357,1.170,1.012,2.307,1.611,0.812,0.648,1.130,1.066,0.687,
+0.636,0.953,1.162,0.120,0.659,0.996,1.095,0.889,0.882,1.665,
+0.102,0.078,0.049,0.098,0.060,0.062,0.050,0.065,0.086,0.010,
+0.064,0.087,0.100,0.104,0.072,0.130,0.960,0.888,0.645,1.125,
+0.062,0.061,0.049,0.095,0.829,0.074,0.535,0.820,0.733,0.848,
+0.729,1.180,1.103,0.702,0.732,1.413,1.134,0.877,0.795,1.340,
+1.296,0.095,0.896,1.444,1.187,1.016,1.237,2.260,2.854,1.241,
+1.062,2.288,1.206,0.771,0.715,1.103,1.431,0.118,0.703,1.322,
+2.268,1.366,1.200,3.630,1.597,1.075,0.693,1.357,0.878,0.666,
+0.641,0.852,1.032,0.072,0.692,1.184,1.309,1.130,0.839,1.832,
+1.661,1.348,1.072,2.001,0.105,0.099,0.065,0.150,1.435,0.095,
+0.860,1.469,1.547,1.575,1.309,2.242,3.278,1.561,1.667,4.243,
+2.013,1.559,1.415,2.531,2.673,0.144,1.841,3.496,4.949,3.115,
+3.438,7.207,3.679,2.213,1.921,3.286,2.149,1.342,1.180,1.514,
+1.811,0.195,1.134,1.616,2.668,2.147,1.458,2.487,2.320,1.467,
+1.098,1.477,1.544,1.014,0.931,0.996,1.282,0.130,0.998,1.141,
+1.109,1.171,1.047,1.411,1.452,1.075,0.954,1.444,0.133,0.107,
+0.105,0.180,0.978,0.106,0.764,0.867,0.876,1.016,1.102,1.292,
+2.102,1.108,0.918,1.964,1.877,1.189,0.957,1.521,1.222,0.107,
+0.838,1.253,1.655,1.187,1.355,2.610,2.732,1.671,1.247,1.704,
+1.617,1.216,0.880,1.036,1.515,0.250,1.063,1.274,1.313,1.488,
+0.951,1.591,1.857,1.309,0.912,1.141,1.190,0.878,0.851,0.890,
+1.492,0.209,1.077,1.333,0.876,1.133,0.917,1.113,1.191,1.168,
+0.843,1.066,0.135,0.130,0.116,0.132,2.794,0.285,0.991,1.078,
+0.854,1.264,1.004,1.020,1.070,0.929,0.536,0.906,1.242,0.934,
+0.708,1.033,1.108,0.101,0.733,1.019,1.010,0.925,1.004,1.672,
+1.693,0.901,0.697,1.061,1.458,0.900,0.852,0.997,1.154,0.154,
+0.668,0.890,1.022,0.992,0.842,1.575,0.121,0.112,0.073,0.113,
+0.119,0.127,0.099,0.112,0.106,0.026,0.095,0.115,0.103,0.170,
+0.122,0.167,0.885,0.774,0.711,0.798,0.093,0.084,0.090,0.113,
+0.865,0.106,0.618,0.771,0.634,0.856,1.167,1.167,0.836,0.540,
+0.528,0.867,1.026,0.854,0.776,1.034,1.066,0.109,0.796,1.081,
+0.948,0.985,1.210,1.822,1.948,0.853,0.702,1.395,0.982,0.612,
+0.537,0.765,1.014,0.118,0.533,0.809,1.274,0.967,0.731,1.733,
+1.568,1.068,0.794,1.288,1.134,0.985,0.777,1.042,0.887,0.101,
+0.725,1.072,0.912,1.112,0.831,1.450,0.875,0.744,0.707,1.071,
+0.081,0.067,0.080,0.121,0.880,0.129,0.569,0.925,0.705,0.952,
+0.986,1.288,1.323,0.763,0.734,1.477,0.936,0.760,0.681,1.041,
+1.214,0.102,0.943,1.575,1.658,1.471,1.647,3.236,2.880,1.809,
+1.365,2.129,1.777,1.459,1.099,1.231,1.183,0.137,0.710,1.066,
+1.430,1.373,1.012,1.700,2.032,1.490,1.039,1.265,1.466,1.224,
+1.163,1.134,1.053,0.159,0.902,1.102,0.800,1.327,0.914,1.159,
+0.992,0.937,0.793,1.018,0.110,0.126,0.105,0.145,0.660,0.083,
+0.523,0.613,0.583,0.767,0.744,1.015,1.172,0.652,0.583,1.223,
+1.146,1.078,0.720,0.989,0.885,0.086,0.563,0.802,1.016,0.774,
+0.917,1.763,2.108,1.786,0.897,1.334,1.665,2.365,0.989,1.049,
+0.986,0.146,0.713,1.143,0.839,1.076,0.682,1.777,1.695,1.625,
+0.943,1.041,1.279,0.788,0.954,1.017,1.049,0.196,0.944,1.155,
+0.670,1.157,0.801,1.099,1.445,1.342,0.843,1.074,0.234,0.233,
+0.170,0.214,1.002,0.179,0.759,0.971,0.592,1.248,1.112,1.098,
+0.936,0.710,0.518,0.839,1.236,1.286,0.773,1.009,0.866,0.091,
+0.655,0.922,0.713,0.820,0.870,1.455,1.502,0.947,0.696,0.954,
+1.402,1.273,1.040,0.964,1.209,0.211,0.731,0.854,0.882,1.055,
+0.834,1.317,0.134,0.159,0.091,0.118,0.130,0.247,0.178,0.125,
+0.153,0.081,0.148,0.136,0.082,0.246,0.116,0.128,1.253,1.357,
+0.936,1.038,0.152,0.223,0.162,0.153,1.011,0.163,0.820,0.941,
+0.666,1.194,1.347,1.172,1.046,0.638,0.603,0.915,1.200,1.397,
+1.160,1.257,1.411,0.140,0.973,1.246,0.989,1.000,1.337,1.750,
+1.285,0.758,0.600,0.962,0.936,0.652,0.547,0.669,0.757,0.078,
+0.482,0.614,0.878,0.705,0.628,1.234,1.313,1.146,0.795,1.070,
+1.030,1.219,1.203,1.276,0.847,0.153,0.765,0.945,0.691,1.095,
+0.794,1.111,0.770,0.858,0.672,0.862,0.067,0.086,0.070,0.095,
+0.654,0.077,0.650,0.768,0.617,0.884,1.108,1.162,1.001,0.587,
+0.606,0.984,0.779,0.771,0.642,0.925,0.913,0.076,0.793,1.186,
+1.144,1.220,1.349,2.305,1.974,1.425,0.989,1.785,0.991,0.840,
+0.670,0.840,0.914,0.110,0.786,0.804,1.036,1.106,0.735,1.173,
+1.673,1.411,0.816,1.193,1.158,1.141,0.931,0.971,1.205,0.204,
+1.292,1.199,0.891,1.964,0.805,1.174,0.947,1.151,1.071,1.229,
+0.111,0.149,0.170,0.243,0.886,0.121,0.761,0.862,0.535,0.975,
+0.959,0.971,1.053,0.738,0.654,1.441,0.938,0.876,0.901,1.369,
+0.887,0.103,0.766,1.117,1.066,0.953,1.134,2.410,0.103,0.110,
+0.059,0.093,0.103,0.139,0.085,0.086,0.080,0.020,0.072,0.081,
+0.085,0.122,0.108,0.117,0.121,0.148,0.072,0.087,0.149,0.210,
+0.135,0.115,0.125,0.053,0.152,0.143,0.084,0.226,0.090,0.114,
+0.073,0.132,0.109,0.100,0.021,0.047,0.067,0.037,0.169,0.047,
+0.218,0.188,0.064,0.148,0.122,0.113,0.097,0.087,0.062,0.134,
+0.150,0.188,0.175,0.259,0.106,0.022,0.118,0.150,0.096,0.108,
+0.118,0.202,1.294,1.042,0.677,0.829,1.028,1.302,0.968,0.910,
+1.132,0.207,1.077,1.158,0.806,1.135,0.915,1.367,0.102,0.159,
+0.076,0.085,0.099,0.200,0.143,0.098,0.128,0.046,0.179,0.149,
+0.092,0.206,0.122,0.136,0.954,1.853,0.963,0.964,0.127,0.381,
+0.200,0.155,1.055,0.214,0.749,0.951,0.588,1.237,1.032,1.111,
+0.799,0.748,0.617,0.857,1.118,1.811,1.166,1.446,1.404,0.217,
+1.354,1.473,0.888,1.111,1.326,1.855,1.261,0.872,0.553,1.020,
+0.743,0.664,0.446,0.567,0.826,0.099,0.530,0.802,0.980,0.937,
+0.613,1.352,1.457,1.408,0.788,1.091,1.236,1.670,1.013,1.030,
+1.231,0.178,1.142,1.576,1.015,1.590,1.005,1.552,1.046,1.249,
+0.880,1.054,0.091,0.145,0.102,0.117,1.046,0.146,0.908,1.193,
+0.813,1.488,1.072,1.412,1.124,0.812,0.673,1.236,1.093,0.977,
+0.748,1.075,1.279,0.130,1.324,1.770,1.546,1.624,1.679,2.760,
+2.461,1.253,1.026,2.068,1.173,0.718,0.643,1.072,1.147,0.097,
+0.619,0.996,1.429,1.048,1.113,1.794,1.325,0.946,0.585,0.983,
+0.792,0.580,0.528,0.743,0.835,0.077,0.626,0.846,0.799,0.765,
+0.701,1.098,1.061,0.867,0.768,1.283,0.080,0.070,0.066,0.166,
+0.756,0.067,0.588,0.779,0.673,0.718,0.648,1.151,1.445,0.784,
+0.927,2.344,0.986,0.688,0.723,1.803,1.018,0.078,0.739,1.308,
+1.530,0.987,1.175,3.274,2.004,1.359,0.913,1.596,1.394,1.183,
+1.253,1.111,1.131,0.132,0.835,1.194,1.156,1.268,0.891,1.543,
+1.494,1.167,0.685,1.040,1.228,1.138,0.843,1.063,1.141,0.149,
+0.998,1.365,0.988,1.333,0.856,1.310,1.020,1.172,0.888,1.323,
+0.098,0.135,0.140,0.226,1.251,0.140,0.947,1.340,0.877,1.297,
+0.909,1.385,1.233,0.872,0.799,1.956,1.472,1.346,1.353,4.307,
+1.157,0.112,1.088,1.750,1.228,1.236,1.251,2.583,1.395,0.793,
+0.642,0.986,1.117,0.905,0.804,1.025,1.122,0.151,0.971,1.178,
+0.988,0.994,1.001,1.693,0.099,0.089,0.054,0.090,0.076,0.119,
+0.091,0.089,0.078,0.019,0.155,0.115,0.084,0.131,0.100,0.141,
+0.879,1.032,0.749,1.068,0.077,0.107,0.087,0.136,0.984,0.137,
+0.912,1.132,0.719,1.139,1.123,1.468,0.922,0.688,0.689,1.124,
+1.104,1.085,1.019,1.655,1.602,0.148,1.281,1.997,1.183,1.156,
+1.620,2.543,1.960,1.006,0.822,1.532,0.976,0.724,0.642,0.844,
+1.151,0.122,0.654,1.070,1.329,0.985,0.834,2.067,1.628,1.060,
+0.704,1.175,0.985,0.934,0.891,1.009,0.918,0.087,0.973,1.243,
+1.011,1.064,0.836,2.033,1.262,1.118,0.947,1.595,0.091,0.091,
+0.074,0.149,1.184,0.109,0.989,1.447,1.172,1.418,1.426,2.039,
+2.015,1.086,1.144,2.433,1.407,1.242,1.201,2.349,1.822,0.139,
+1.694,2.743,2.897,2.578,2.795,4.658,3.379,1.706,1.507,2.707,
+1.773,1.152,1.004,1.351,1.401,0.154,0.782,1.470,2.007,1.628,
+1.126,1.999,1.618,1.052,0.840,1.133,1.173,0.775,0.778,0.929,
+1.045,0.182,0.662,0.814,0.910,1.095,0.763,1.154,1.412,1.000,
+0.772,1.372,0.106,0.080,0.073,0.157,0.774,0.071,0.548,0.859,
+0.689,0.831,0.797,1.150,1.766,0.799,0.672,1.471,1.140,0.748,
+0.671,1.102,0.933,0.072,0.556,0.934,1.229,0.723,0.964,2.010,
+2.525,1.479,0.934,1.677,1.787,1.242,1.013,1.123,1.095,0.126,
+0.641,0.979,1.138,1.146,0.761,1.359,1.729,1.471,0.739,1.008,
+1.304,0.791,0.837,0.903,1.125,0.140,0.820,1.100,0.824,0.993,
+0.659,0.954,1.343,1.283,0.895,1.226,0.135,0.134,0.116,0.168,
+1.218,0.151,0.904,1.688,0.799,1.204,1.136,1.316,1.278,0.838,
+0.552,1.056,1.359,1.139,0.832,1.279,1.026,0.090,0.702,1.213,
+1.044,0.918,1.037,2.044,1.703,0.961,0.724,1.236,1.640,1.178,
+1.125,1.255,1.468,0.187,0.843,1.070,1.257,1.252,0.956,1.681,
+0.152,0.186,0.092,0.136,0.159,0.156,0.157,0.154,0.145,0.030,
+0.235,0.167,0.167,0.264,0.159,0.223,1.050,1.016,0.998,1.276,
+0.120,0.107,0.155,0.194,1.179,0.145,0.743,0.951,0.739,1.218,
+1.120,1.186,0.939,0.602,0.598,0.997,1.356,1.092,1.396,1.461,
+1.240,0.133,0.886,1.388,1.225,1.241,1.214,1.884,1.849,0.858,
+0.673,1.387,1.024,0.668,0.696,0.829,0.989,0.104,0.539,0.819,
+1.445,1.101,0.833,1.740,1.468,1.083,0.733,1.110,1.110,0.890,
+0.832,0.953,0.929,0.093,0.904,1.026,1.066,1.119,0.918,1.436,
+1.178,1.116,0.979,1.436,0.114,0.094,0.103,0.161,1.145,0.107,
+0.840,1.216,1.035,1.399,1.413,1.745,1.627,0.938,0.840,1.770,
+1.145,0.787,0.925,1.411,1.867,0.134,1.166,2.001,2.364,1.824,
+2.133,3.892,0.172,0.121,0.091,0.136,0.127,0.109,0.089,0.110,
+0.092,0.016,0.070,0.213,0.106,0.139,0.086,0.146,0.142,0.123,
+0.200,0.125,0.130,0.118,0.158,0.119,0.092,0.020,0.090,0.102,
+0.085,0.104,0.089,0.117,0.085,0.084,0.068,0.092,0.012,0.015,
+0.014,0.017,0.066,0.011,0.060,0.113,0.050,0.077,0.080,0.107,
+0.103,0.062,0.053,0.105,0.113,0.100,0.076,0.114,0.080,0.012,
+0.060,0.135,0.089,0.079,0.098,0.193,0.145,0.131,0.066,0.097,
+0.132,0.158,0.106,0.095,0.078,0.018,0.056,0.080,0.064,0.089,
+0.062,0.099,0.154,0.270,0.088,0.096,0.176,0.180,0.149,0.132,
+0.123,0.042,0.115,0.129,0.076,0.124,0.086,0.108,0.100,0.133,
+0.087,0.102,0.022,0.043,0.037,0.027,0.150,0.048,0.128,0.236,
+0.073,0.146,0.234,0.145,0.091,0.071,0.047,0.082,0.123,0.137,
+0.099,0.118,0.093,0.015,0.076,0.117,0.073,0.082,0.098,0.165,
+0.111,0.076,0.052,0.072,0.120,0.128,0.125,0.104,0.098,0.021,
+0.110,0.088,0.068,0.092,0.078,0.112,0.013,0.023,0.014,0.016,
+0.023,0.042,0.038,0.026,0.022,0.017,0.074,0.030,9.87e-3,0.026,
+0.023,0.019,0.101,0.133,0.118,0.148,0.021,0.038,0.048,0.030,
+0.203,0.046,0.124,0.136,0.073,0.159,0.158,0.136,0.080,0.058,
+0.059,0.095,0.133,0.163,0.153,0.161,0.131,0.030,0.124,0.224,
+0.095,0.233,0.132,0.186,0.131,0.103,0.069,0.111,0.101,0.080,
+0.072,0.081,0.080,0.011,0.057,0.073,0.106,0.106,0.089,0.169,
+0.154,0.144,0.101,0.185,0.148,0.169,0.141,0.161,0.111,0.021,
+0.170,0.133,0.108,0.162,0.128,0.177,0.090,0.103,0.096,0.134,
+0.013,0.019,0.018,0.024,0.106,0.019,0.102,0.134,0.083,0.133,
+0.176,0.179,0.123,0.086,0.074,0.140,0.107,0.100,0.091,0.136,
+0.136,0.015,0.113,0.177,0.155,0.172,0.186,0.337,2.018,1.411,
+1.004,1.680,1.189,0.954,0.735,1.027,0.978,0.103,0.669,0.923,
+0.870,0.755,0.675,1.128,1.747,1.327,0.815,1.059,1.439,1.147,
+1.206,1.089,1.234,0.168,1.603,1.363,0.759,1.088,0.850,1.246,
+1.045,1.215,0.864,1.245,0.149,0.187,0.155,0.261,1.031,0.144,
+1.008,1.230,0.628,1.122,0.887,1.217,1.038,0.706,0.563,1.138,
+1.108,0.963,0.786,1.333,1.136,0.120,1.100,1.616,1.047,0.986,
+1.305,2.377,0.132,0.122,0.061,0.097,0.130,0.154,0.103,0.116,
+0.075,0.021,0.068,0.086,0.061,0.087,0.056,0.098,0.127,0.157,
+0.073,0.079,0.161,0.158,0.142,0.121,0.099,0.037,0.157,0.137,
+0.058,0.099,0.072,0.089,0.084,0.153,0.089,0.101,0.022,0.051,
+0.047,0.032,0.127,0.048,0.196,0.279,0.058,0.137,0.122,0.128,
+0.117,0.088,0.057,0.122,0.160,0.202,0.127,0.196,0.120,0.022,
+0.131,0.302,0.090,0.106,0.122,0.221,1.770,1.196,0.809,0.834,
+1.445,1.601,1.767,1.129,1.218,0.222,1.337,1.237,0.797,0.996,
+1.061,1.430,0.146,0.267,0.114,0.094,0.162,0.303,0.221,0.121,
+0.151,0.059,0.254,0.177,0.092,0.182,0.147,0.146,1.275,1.552,
+1.260,1.204,0.176,0.212,0.265,0.182,1.269,0.209,0.542,0.941,
+0.657,1.085,1.234,1.254,0.891,0.666,0.601,0.734,1.312,1.377,
+1.277,1.233,1.184,0.171,1.673,1.667,0.837,1.015,1.484,1.830,
+1.339,0.850,0.658,1.005,0.916,0.782,0.635,0.645,0.797,0.098,
+0.677,0.823,0.794,0.743,0.638,1.178,1.483,1.517,1.065,1.050,
+1.452,1.735,1.281,1.028,1.159,0.168,1.556,1.436,0.900,1.293,
+1.077,1.319,1.248,1.371,1.152,1.417,0.130,0.192,0.153,0.173,
+1.458,0.190,1.698,1.981,0.940,1.579,1.598,1.826,1.201,0.819,
+0.727,1.191,1.180,1.134,0.959,1.199,1.543,0.149,1.939,2.102,
+1.522,1.646,1.980,2.778,2.353,1.109,0.847,1.674,1.129,0.710,
+0.644,0.918,0.978,0.095,0.532,0.868,1.202,0.941,0.759,1.583,
+1.466,0.854,0.549,0.890,0.917,0.633,0.603,0.764,0.738,0.065,
+0.591,0.816,0.671,0.656,0.572,1.063,1.266,0.886,0.601,1.089,
+0.100,0.082,0.066,0.146,0.939,0.079,0.640,1.007,0.897,0.848,
+0.766,1.322,1.376,0.749,0.639,1.403,1.021,0.689,0.620,1.151,
+0.980,0.081,0.659,1.246,1.270,0.956,1.135,2.543,2.323,1.447,
+0.874,1.555,1.608,1.253,1.070,1.188,1.111,0.119,0.808,1.138,
+1.060,1.167,0.750,1.530,1.738,1.398,0.717,1.088,1.453,1.185,
+1.123,1.196,1.030,0.112,1.007,1.361,0.756,0.939,0.720,1.152,
+1.318,1.503,0.901,1.372,0.118,0.160,0.115,0.182,1.370,0.170,
+1.211,1.998,0.921,1.474,1.242,1.807,1.573,1.057,0.772,1.462,
+1.643,1.454,1.205,1.915,1.361,0.165,1.129,2.185,1.233,1.369,
+1.393,2.631,2.762,1.108,0.852,1.209,1.619,1.304,1.405,1.357,
+1.376,0.186,1.048,1.611,1.111,1.239,1.209,2.073,0.250,0.133,
+0.084,0.139,0.128,0.177,0.234,0.143,0.103,0.028,0.152,0.254,
+0.099,0.182,0.119,0.178,1.500,1.580,1.182,1.571,0.131,0.145,
+0.154,0.195,1.632,0.227,1.264,1.872,1.033,1.763,1.586,2.028,
+1.445,0.992,1.205,1.381,1.783,1.506,1.613,2.052,1.600,0.182,
+1.824,3.342,1.347,1.484,2.025,3.054,2.184,1.011,0.863,1.499,
+1.130,0.771,0.723,0.906,1.169,0.131,0.737,1.131,1.252,0.955,
+0.880,1.994,1.677,1.089,0.763,1.161,1.198,1.076,1.068,1.085,
+0.988,0.090,1.023,1.546,0.989,1.036,0.952,1.583,1.671,1.529,
+1.241,1.927,0.128,0.129,0.104,0.189,1.780,0.164,1.658,2.532,
+1.484,1.885,1.943,2.658,2.212,1.193,1.143,2.434,1.765,1.420,
+1.416,2.151,2.145,0.161,2.089,3.588,2.547,2.244,2.863,4.994,
+7.279,2.653,2.174,5.044,2.219,1.294,1.084,1.807,2.007,0.173,
+0.883,1.563,3.285,2.389,1.396,3.267,2.185,1.199,0.814,1.350,
+1.209,0.691,0.637,0.850,1.124,0.085,0.698,0.853,1.299,1.163,
+0.818,1.448,1.641,1.081,0.852,1.730,0.122,0.088,0.072,0.186,
+1.018,0.079,0.535,0.935,1.010,1.051,0.903,1.606,2.588,1.230,
+1.058,2.567,1.632,1.038,0.877,1.662,1.327,0.098,0.850,1.418,
+2.267,1.398,1.519,4.013,2.669,1.293,0.841,1.699,1.422,0.829,
+0.628,0.887,0.920,0.091,0.427,0.755,1.104,0.892,0.583,1.318,
+1.466,0.918,0.530,0.935,0.894,0.545,0.483,0.651,0.803,0.064,
+0.448,0.684,0.791,0.668,0.545,0.963,1.134,0.870,0.627,1.093,
+0.081,0.072,0.055,0.099,1.118,0.195,0.455,0.781,0.799,1.044,
+0.696,1.047,1.155,0.853,0.501,1.035,0.946,0.700,0.520,0.884,
+0.834,0.066,0.491,0.880,1.012,0.783,0.848,1.881,2.164,1.009,
+0.742,1.413,1.609,1.585,0.810,1.240,1.221,0.136,0.485,0.904,
+1.665,1.264,0.807,2.159,0.139,0.095,0.060,0.119,0.116,0.100,
+0.077,0.116,0.097,0.011,0.063,0.097,0.182,0.176,0.092,0.212,
+1.018,0.788,0.707,1.095,0.091,0.070,0.064,0.118,0.935,0.081,
+0.442,0.737,0.840,0.913,0.810,1.220,1.155,0.660,0.632,1.285,
+1.277,0.819,0.765,1.299,1.063,0.085,0.642,1.181,1.380,1.031,
+1.137,2.353,3.231,1.325,1.009,2.388,1.374,0.895,0.836,1.203,
+1.438,0.122,0.682,1.195,2.815,1.540,1.169,2.987,1.760,0.989,
+0.748,1.272,1.040,0.733,0.689,0.917,1.055,0.072,0.668,1.041,
+1.570,1.301,0.932,1.882,1.366,1.093,0.902,1.528,0.104,0.071,
+0.069,0.132,1.176,0.084,0.703,1.152,1.243,1.355,1.283,2.066,
+2.586,1.275,1.247,3.294,1.779,1.020,1.041,1.849,2.104,0.128,
+1.296,2.344,3.965,2.530,3.075,7.272,3.167,1.664,1.212,2.505,
+1.679,1.104,0.847,1.256,1.268,0.121,0.842,1.319,1.671,1.387,
+1.015,2.082,1.899,1.173,1.182,1.427,1.251,0.872,0.908,0.992,
+1.054,0.089,0.893,0.939,0.939,0.910,0.754,1.323,1.150,0.877,
+0.637,1.153,0.089,0.085,0.061,0.127,0.770,0.072,0.500,0.877,
+0.737,0.847,0.760,1.362,1.368,0.801,0.643,1.387,1.183,0.928,
+0.649,1.146,0.877,0.079,0.572,1.044,1.234,0.994,1.059,2.564,
+2.296,1.437,0.757,1.424,1.502,1.170,0.710,0.959,0.886,0.086,
+0.426,0.807,0.962,0.903,0.583,1.295,1.567,1.706,0.596,0.978,
+1.284,1.051,0.686,0.936,0.957,0.110,0.576,0.846,0.806,0.879,
+0.595,1.081,1.128,1.024,0.635,1.058,0.100,0.110,0.071,0.110,
+1.186,0.136,0.594,1.065,0.849,1.131,0.953,1.372,1.016,0.749,
+0.482,0.982,1.059,0.988,0.628,0.999,0.879,0.070,0.501,0.990,
+0.962,0.899,0.853,1.919,1.754,0.858,0.668,1.124,1.318,0.974,
+0.853,1.286,1.019,0.126,0.569,0.899,1.118,1.017,0.789,1.798,
+0.088,0.080,0.051,0.094,0.085,0.117,0.076,0.114,0.073,0.017,
+0.092,0.088,0.093,0.127,0.077,0.137,1.127,1.006,0.776,1.188,
+0.100,0.098,0.087,0.133,1.315,0.122,0.620,0.955,0.884,1.162,
+1.005,1.521,1.136,0.689,0.617,1.234,1.342,1.168,1.009,1.493,
+1.170,0.103,0.821,1.450,1.241,1.241,1.321,2.642,1.986,1.009,
+0.771,1.522,1.247,0.748,0.660,0.963,1.054,0.092,0.590,0.914,
+1.465,1.109,0.898,2.228,1.554,1.053,0.766,1.278,1.047,0.974,
+0.766,1.104,0.944,0.093,0.773,1.060,1.175,1.432,0.994,1.763,
+1.152,0.995,0.844,1.354,0.084,0.076,0.071,0.120,0.982,0.083,
+0.747,1.123,0.965,1.187,1.219,1.973,1.651,0.897,0.918,1.745,
+1.414,0.978,0.908,1.740,1.461,0.108,1.036,1.804,2.150,2.096,
+2.038,5.025,3.076,1.853,1.284,2.514,1.662,1.198,0.884,1.371,
+1.622,0.129,0.746,1.204,1.587,1.201,0.847,1.800,2.178,1.607,
+0.900,1.536,1.478,1.127,0.914,1.115,1.456,0.139,1.102,1.356,
+1.314,1.502,1.011,1.863,1.538,1.575,0.982,1.717,0.153,0.164,
+0.134,0.250,1.330,0.152,0.753,1.206,0.981,1.503,1.114,1.834,
+1.758,1.146,0.830,1.962,1.468,1.173,0.908,1.658,1.568,0.137,
+1.111,1.877,1.851,1.524,2.056,3.977,0.163,0.129,0.082,0.136,
+0.239,0.143,0.078,0.118,0.099,0.014,0.058,0.088,0.100,0.111,
+0.069,0.145,0.129,0.135,0.059,0.095,0.148,0.139,0.081,0.102,
+0.103,0.020,0.107,0.124,0.092,0.121,0.076,0.138,0.088,0.113,
+0.062,0.101,0.013,0.024,0.018,0.018,0.134,0.026,0.088,0.125,
+0.076,0.134,0.114,0.147,0.140,0.111,0.065,0.172,0.155,0.163,
+0.100,0.184,0.121,0.016,0.089,0.171,0.142,0.143,0.149,0.318,
+2.300,1.343,0.926,1.300,1.740,1.545,1.268,1.392,1.488,0.220,
+1.024,1.377,1.308,1.426,1.218,2.318,0.130,0.140,0.069,0.100,
+0.130,0.153,0.102,0.104,0.121,0.028,0.127,0.125,0.133,0.187,
+0.128,0.193,1.538,1.743,1.265,1.530,0.156,0.194,0.160,0.181,
+1.692,0.209,1.019,1.484,1.039,1.606,1.522,1.996,1.466,1.067,
+0.863,1.361,1.748,1.734,1.376,1.690,1.847,0.190,1.782,2.280,
+1.579,1.604,2.382,3.475,2.360,1.345,0.973,1.809,1.470,1.088,
+0.795,1.187,1.319,0.129,0.945,1.406,1.544,1.268,1.014,2.401,
+2.170,1.743,1.056,1.639,1.737,1.549,1.060,1.255,1.676,0.154,
+1.474,1.840,1.738,2.006,1.525,2.590,1.884,1.865,1.406,2.124,
+0.141,0.161,0.127,0.199,2.025,0.181,1.660,2.281,1.713,2.324,
+2.264,3.057,2.188,1.312,1.175,2.070,1.618,1.445,1.213,1.723,
+2.328,0.177,2.264,3.036,2.771,2.525,3.332,5.644,8.106,2.710,
+1.788,4.398,2.177,1.284,1.037,1.846,1.952,0.162,0.947,1.708,
+2.844,2.065,1.510,3.865,2.371,1.354,0.779,1.459,1.347,0.922,
+0.664,1.062,1.267,0.090,0.743,1.190,1.443,1.106,0.818,1.813,
+1.996,1.582,0.952,2.281,0.130,0.119,0.079,0.224,1.287,0.110,
+0.763,1.358,1.343,1.463,1.110,2.381,3.243,1.786,1.330,3.561,
+1.847,1.356,1.069,2.354,1.942,0.145,1.257,2.303,3.314,2.480,
+2.506,7.656,3.475,1.854,1.149,2.256,2.492,1.481,0.939,1.433,
+1.391,0.120,0.764,1.322,1.604,1.417,0.895,2.148,2.319,1.637,
+0.758,1.419,1.940,1.612,0.783,1.267,1.289,0.108,0.878,1.442,
+1.256,1.278,0.822,1.851,1.749,1.550,0.904,1.986,0.112,0.120,
+0.070,0.164,1.505,0.134,0.958,1.649,1.355,1.711,1.248,2.471,
+2.150,1.516,0.990,2.455,1.716,1.457,1.021,2.293,1.689,0.127,
+1.087,2.098,2.092,2.051,1.786,5.380,3.479,1.711,1.303,2.032,
+2.331,1.558,1.354,2.082,1.988,0.215,1.267,2.051,2.171,1.864,
+1.677,3.644,0.162,0.138,0.073,0.137,0.135,0.129,0.097,0.140,
+0.103,0.015,0.122,0.159,0.170,0.175,0.120,0.269,2.279,2.015,
+1.440,2.420,0.145,0.137,0.112,0.219,2.089,0.196,1.711,2.245,
+1.810,2.273,2.289,3.688,2.669,1.707,1.474,2.627,2.509,1.962,
+1.833,3.164,2.715,0.200,2.425,3.896,2.840,2.349,3.462,6.751,
+8.086,2.647,1.898,4.448,2.315,1.443,1.184,2.136,2.452,0.190,
+1.244,2.353,3.766,2.535,2.025,6.362,3.069,2.344,1.217,2.239,
+2.017,1.511,1.204,1.994,1.983,0.138,1.441,2.324,2.778,2.251,
+1.734,4.650,3.153,2.501,1.849,3.546,0.165,0.147,0.107,0.269,
+2.872,0.194,2.231,3.641,3.188,3.315,3.385,6.429,7.221,2.412,
+1.960,5.207,2.978,2.108,1.882,4.400,3.669,0.220,3.149,6.007,
+5.686,4.042,4.982,17.7
+};
+
+static double hg19_biasTable24_6[] = {
+0.768
+};
+
+static double hg19_biasTable25_6[] = {
+0.934,0.620,0.620,0.926
+};
+
+static double hg19_biasTable26_6[] = {
+1.267,0.870,0.630,0.998,0.743,0.624,0.508,0.627,0.898,0.113,
+0.626,0.866,0.858,0.895,0.738,1.246
+};
+
+static double hg19_biasTable27_6[] = {
+1.997,1.048,0.750,1.311,1.134,0.869,0.691,0.817,1.033,0.123,
+0.565,0.820,1.097,0.946,0.669,1.307,1.036,0.809,0.478,0.671,
+0.766,0.647,0.548,0.560,0.712,0.105,0.555,0.682,0.582,0.725,
+0.475,0.746,0.960,0.989,0.727,0.947,0.101,0.124,0.104,0.126,
+0.889,0.126,0.647,0.866,0.664,0.988,0.800,1.042,1.112,0.665,
+0.585,1.092,0.993,0.883,0.709,1.026,0.985,0.100,0.762,1.127,
+1.111,0.953,1.029,1.931
+};
+
+static double hg19_biasTable28_6[] = {
+3.193,1.534,1.164,2.158,1.433,0.979,0.772,1.032,1.278,0.128,
+0.630,0.982,1.608,1.255,0.819,1.590,1.660,1.159,0.734,1.014,
+1.123,0.824,0.780,0.779,1.008,0.121,0.771,0.887,0.792,0.900,
+0.618,0.980,1.164,1.070,0.806,1.126,0.114,0.122,0.101,0.160,
+0.831,0.104,0.570,0.775,0.682,0.909,0.679,1.034,1.461,0.773,
+0.702,1.478,1.111,0.873,0.701,1.124,0.952,0.094,0.637,1.013,
+1.254,0.886,0.977,2.143,1.594,0.999,0.591,0.983,1.088,0.890,
+0.612,0.676,0.770,0.101,0.431,0.625,0.682,0.744,0.450,0.827,
+1.072,0.906,0.464,0.645,0.845,0.645,0.554,0.565,0.774,0.145,
+0.564,0.737,0.504,0.701,0.427,0.627,0.767,0.865,0.531,0.708,
+0.091,0.127,0.101,0.108,0.779,0.127,0.561,0.772,0.518,0.877,
+0.583,0.771,0.740,0.525,0.376,0.702,0.825,0.764,0.532,0.807,
+0.655,0.069,0.459,0.733,0.635,0.627,0.586,1.157,1.487,0.870,
+0.628,0.884,1.177,1.033,0.876,0.905,1.144,0.173,0.714,0.903,
+0.878,0.936,0.746,1.254,0.111,0.135,0.070,0.093,0.112,0.162,
+0.129,0.096,0.113,0.047,0.142,0.120,0.095,0.183,0.102,0.128,
+0.888,1.035,0.790,0.877,0.109,0.144,0.131,0.125,0.972,0.166,
+0.645,0.825,0.602,1.028,0.885,0.977,0.805,0.572,0.527,0.771,
+1.023,1.043,0.863,1.055,1.041,0.131,0.907,1.152,0.815,0.864,
+0.996,1.520,1.777,0.815,0.634,1.246,0.871,0.604,0.524,0.677,
+0.969,0.095,0.503,0.790,1.246,0.875,0.681,1.592,1.323,1.069,
+0.657,0.951,1.009,0.983,0.754,0.819,0.973,0.114,0.766,1.005,
+0.951,1.146,0.769,1.268,1.049,1.015,0.803,1.102,0.096,0.106,
+0.089,0.114,1.007,0.112,0.832,1.122,0.871,1.170,1.084,1.417,
+1.465,0.806,0.749,1.446,1.044,0.887,0.762,1.149,1.319,0.109,
+1.067,1.643,1.762,1.466,1.580,2.980
+};
+
+static double hg19_biasTable29_6[] = {
+5.459,2.209,1.794,3.436,2.228,1.336,1.108,1.493,2.059,0.196,
+0.945,1.486,2.896,2.096,1.277,2.407,2.253,1.330,0.931,1.249,
+1.396,0.893,0.797,0.847,1.255,0.128,0.783,0.941,1.087,1.086,
+0.785,1.194,1.677,1.169,0.904,1.391,0.135,0.111,0.093,0.174,
+0.973,0.095,0.626,0.846,0.893,1.023,0.837,1.196,2.380,1.067,
+0.996,2.020,1.567,1.090,0.908,1.475,1.240,0.111,0.785,1.163,
+1.746,1.077,1.182,2.388,2.739,1.484,0.921,1.528,1.719,1.160,
+0.832,0.954,1.249,0.161,0.643,0.908,1.108,1.147,0.658,1.168,
+1.673,1.263,0.670,0.917,1.135,0.779,0.688,0.708,1.197,0.209,
+0.745,1.020,0.751,0.962,0.586,0.844,1.191,1.149,0.744,0.971,
+0.136,0.127,0.102,0.123,1.198,0.158,0.723,1.037,0.748,1.113,
+0.773,0.944,1.055,0.750,0.494,0.885,1.141,0.922,0.666,0.901,
+0.915,0.084,0.592,0.897,0.885,0.780,0.800,1.478,1.961,0.894,
+0.719,1.112,1.445,1.036,0.842,0.998,1.536,0.178,0.639,0.900,
+1.223,1.072,0.754,1.477,0.141,0.125,0.075,0.116,0.136,0.134,
+0.105,0.115,0.130,0.031,0.127,0.121,0.143,0.214,0.110,0.174,
+0.889,0.810,0.774,0.881,0.094,0.086,0.114,0.125,0.876,0.126,
+0.586,0.713,0.617,0.878,0.784,0.845,0.855,0.528,0.530,0.829,
+1.031,0.828,0.796,1.006,0.939,0.107,0.739,0.954,0.902,0.856,
+0.901,1.497,2.458,0.943,0.771,1.696,1.043,0.633,0.603,0.830,
+1.270,0.121,0.556,0.880,1.925,1.161,0.843,2.019,1.576,1.069,
+0.723,1.094,1.099,0.831,0.724,0.867,1.035,0.099,0.719,0.968,
+1.163,1.182,0.789,1.386,1.041,0.887,0.807,1.095,0.093,0.074,
+0.094,0.116,0.907,0.087,0.663,0.911,0.845,1.021,0.967,1.247,
+1.611,0.894,0.855,1.684,0.999,0.718,0.733,1.113,1.376,0.106,
+0.929,1.515,2.026,1.544,1.654,3.393,2.371,1.390,0.985,1.655,
+1.329,1.023,0.760,0.902,0.958,0.110,0.505,0.809,1.077,1.027,
+0.658,1.187,1.495,1.148,0.789,0.961,1.087,0.863,0.867,0.781,
+0.814,0.122,0.753,0.777,0.595,0.763,0.543,0.829,0.820,0.881,
+0.604,0.792,0.090,0.122,0.083,0.111,0.603,0.077,0.465,0.596,
+0.495,0.680,0.554,0.788,0.904,0.527,0.465,0.841,0.889,0.805,
+0.541,0.758,0.649,0.079,0.435,0.656,0.799,0.599,0.652,1.281,
+1.584,1.201,0.590,0.934,1.141,1.169,0.633,0.724,0.746,0.109,
+0.404,0.609,0.609,0.739,0.435,0.817,1.097,1.084,0.543,0.687,
+0.840,0.579,0.590,0.583,0.787,0.173,0.551,0.719,0.459,0.737,
+0.456,0.623,0.781,1.029,0.575,0.743,0.111,0.200,0.130,0.153,
+0.797,0.167,0.556,0.752,0.494,1.049,0.656,0.780,0.625,0.503,
+0.339,0.560,0.783,0.898,0.501,0.654,0.607,0.073,0.402,0.640,
+0.511,0.575,0.496,0.947,1.120,0.719,0.517,0.734,1.012,0.928,
+0.765,0.784,0.822,0.141,0.514,0.669,0.621,0.778,0.542,0.911,
+0.083,0.123,0.068,0.093,0.111,0.179,0.130,0.095,0.098,0.060,
+0.147,0.103,0.064,0.199,0.083,0.094,0.751,0.887,0.777,0.727,
+0.119,0.157,0.131,0.105,0.805,0.172,0.593,0.690,0.478,1.004,
+0.849,0.797,0.632,0.433,0.422,0.602,0.892,1.046,0.763,0.840,
+0.799,0.096,0.633,0.821,0.584,0.650,0.757,1.110,1.081,0.607,
+0.466,0.822,0.682,0.486,0.430,0.517,0.617,0.062,0.339,0.495,
+0.767,0.602,0.465,0.989,0.979,0.955,0.583,0.808,0.789,0.861,
+0.686,0.753,0.706,0.106,0.590,0.746,0.641,1.110,0.602,0.905,
+0.636,0.692,0.580,0.725,0.061,0.077,0.065,0.075,0.578,0.072,
+0.525,0.669,0.502,0.743,0.794,0.923,0.812,0.496,0.469,0.773,
+0.680,0.618,0.509,0.720,0.780,0.075,0.588,0.918,0.950,0.943,
+0.988,1.781,2.186,1.309,0.957,1.543,1.113,0.883,0.649,0.859,
+1.071,0.110,0.574,0.775,1.000,0.886,0.598,1.072,1.598,1.365,
+0.744,1.025,1.242,1.024,1.023,0.894,1.210,0.168,1.072,1.090,
+0.790,1.145,0.681,1.026,1.064,1.264,1.103,1.180,0.141,0.173,
+0.170,0.214,1.025,0.175,0.746,0.937,0.632,1.165,0.756,1.094,
+1.052,0.709,0.601,1.165,1.028,0.926,0.753,1.071,0.995,0.111,
+0.740,1.156,1.030,0.886,1.022,2.099,0.139,0.123,0.078,0.108,
+0.164,0.174,0.098,0.110,0.101,0.023,0.074,0.084,0.077,0.110,
+0.080,0.110,0.125,0.166,0.073,0.088,0.170,0.204,0.159,0.121,
+0.128,0.060,0.179,0.153,0.071,0.145,0.077,0.095,0.090,0.155,
+0.112,0.099,0.027,0.060,0.071,0.031,0.147,0.060,0.188,0.181,
+0.069,0.167,0.119,0.129,0.111,0.088,0.062,0.121,0.205,0.206,
+0.149,0.178,0.113,0.023,0.109,0.165,0.099,0.110,0.109,0.196,
+1.305,0.933,0.619,0.716,1.075,1.228,1.054,0.830,1.074,0.212,
+0.954,0.946,0.701,0.932,0.816,1.087,0.105,0.182,0.078,0.075,
+0.112,0.209,0.174,0.086,0.135,0.072,0.196,0.127,0.084,0.183,
+0.126,0.111,0.917,1.329,0.851,0.829,0.134,0.228,0.176,0.132,
+1.033,0.202,0.581,0.779,0.532,1.028,0.862,0.893,0.721,0.591,
+0.485,0.625,0.999,1.270,0.913,0.970,1.087,0.169,1.160,1.158,
+0.694,0.878,1.019,1.334,1.173,0.687,0.495,0.882,0.748,0.591,
+0.432,0.528,0.790,0.088,0.504,0.745,0.799,0.704,0.529,1.066,
+1.300,1.232,0.700,0.886,1.155,1.347,0.904,0.807,1.160,0.163,
+1.014,1.144,0.930,1.267,0.888,1.167,1.088,1.210,0.876,1.033,
+0.119,0.171,0.118,0.124,1.167,0.167,1.073,1.267,0.828,1.352,
+1.135,1.327,1.039,0.688,0.605,0.939,0.958,0.924,0.710,0.889,
+1.205,0.123,1.194,1.480,1.259,1.327,1.381,2.155,2.888,1.260,
+0.948,2.041,1.092,0.695,0.588,0.896,1.052,0.099,0.510,0.883,
+1.485,1.032,0.765,1.728,1.326,0.825,0.501,0.848,0.797,0.533,
+0.477,0.621,0.778,0.070,0.506,0.768,0.716,0.636,0.479,0.895,
+1.118,0.998,0.637,1.163,0.091,0.084,0.063,0.142,0.746,0.072,
+0.460,0.746,0.719,0.789,0.589,1.079,1.529,0.806,0.761,1.924,
+0.981,0.699,0.619,1.217,0.946,0.077,0.609,1.106,1.468,1.001,
+1.074,2.858,1.942,1.207,0.792,1.379,1.375,1.096,0.901,0.944,
+1.002,0.112,0.617,0.912,0.944,0.997,0.651,1.237,1.413,1.158,
+0.582,0.911,1.264,1.039,0.802,0.873,1.010,0.149,0.801,1.088,
+0.746,0.994,0.600,0.967,1.028,1.150,0.711,1.036,0.093,0.128,
+0.106,0.131,1.005,0.128,0.796,1.159,0.775,1.209,0.806,1.253,
+1.182,0.776,0.616,1.256,1.202,1.064,0.834,1.519,0.998,0.098,
+0.742,1.261,1.054,1.059,0.955,2.041,1.601,0.955,0.676,0.996,
+1.199,0.981,0.875,1.034,1.173,0.165,0.776,1.124,0.980,0.994,
+0.889,1.565,0.117,0.116,0.060,0.093,0.093,0.130,0.111,0.094,
+0.092,0.027,0.107,0.133,0.090,0.141,0.090,0.135,1.018,1.158,
+0.785,1.100,0.092,0.112,0.108,0.140,1.213,0.171,0.840,1.134,
+0.795,1.250,1.081,1.394,1.028,0.748,0.683,1.042,1.197,1.073,
+1.005,1.435,1.379,0.159,1.133,1.707,1.091,1.103,1.326,2.182,
+2.426,1.034,0.812,1.608,1.029,0.719,0.647,0.848,1.229,0.110,
+0.626,1.055,1.529,1.050,0.903,2.331,1.464,1.058,0.638,1.044,
+1.022,0.933,0.733,0.885,1.027,0.089,0.769,1.184,1.096,1.062,
+0.820,1.651,1.455,1.299,0.973,1.576,0.113,0.105,0.081,0.141,
+1.403,0.124,1.094,1.671,1.326,1.594,1.481,2.208,2.418,1.164,
+1.082,2.416,1.568,1.315,1.119,1.907,1.940,0.136,1.580,2.698,
+2.849,2.099,2.338,4.759
+};
+
+static double hg19_biasTable30_6[] = {
+11.1,3.337,2.483,5.230,3.402,1.805,1.534,2.129,3.349,0.291,
+1.412,2.166,4.865,3.183,1.980,3.788,3.835,1.925,1.355,1.845,
+2.016,1.201,1.049,1.095,1.924,0.157,1.047,1.321,1.673,1.512,
+1.101,1.723,2.994,1.769,1.414,2.098,0.214,0.171,0.137,0.262,
+1.544,0.140,0.932,1.196,1.473,1.581,1.223,1.700,4.441,1.754,
+1.837,3.618,2.578,1.738,1.534,2.565,2.035,0.162,1.138,1.792,
+3.034,1.674,1.738,3.228,4.101,1.853,1.170,1.930,2.015,1.298,
+0.921,1.109,1.659,0.170,0.793,1.128,1.443,1.369,0.819,1.391,
+2.313,1.394,0.810,1.091,1.315,0.864,0.699,0.710,1.325,0.147,
+0.745,0.990,0.880,0.953,0.666,0.903,1.640,1.379,0.843,1.181,
+0.167,0.126,0.094,0.129,1.309,0.136,0.734,0.967,0.834,1.154,
+0.764,1.026,1.488,0.975,0.684,1.219,1.428,1.035,0.824,1.095,
+1.253,0.100,0.726,1.074,1.196,0.976,0.930,1.692,3.025,1.161,
+1.081,1.480,1.715,0.975,0.920,1.088,1.597,0.187,0.703,1.147,
+1.505,1.286,0.949,1.854,0.190,0.135,0.085,0.131,0.138,0.118,
+0.090,0.101,0.131,0.024,0.093,0.126,0.165,0.215,0.120,0.200,
+1.181,0.918,0.842,0.971,0.105,0.085,0.082,0.109,0.987,0.127,
+0.641,0.777,0.732,0.909,0.867,0.900,1.143,0.695,0.683,1.067,
+1.269,0.937,0.801,1.102,1.175,0.114,0.932,1.155,1.067,0.978,
+1.042,1.717,4.238,1.431,1.205,2.688,1.496,0.829,0.855,1.106,
+1.840,0.162,0.758,1.258,2.423,1.518,1.224,2.941,2.375,1.439,
+1.009,1.465,1.469,1.012,0.897,1.010,1.408,0.107,0.858,1.275,
+1.570,1.428,1.070,1.852,1.483,1.143,0.987,1.372,0.118,0.089,
+0.115,0.127,1.129,0.092,0.863,1.088,1.060,1.160,1.070,1.389,
+2.337,1.308,1.124,2.246,1.255,0.869,0.868,1.336,1.715,0.119,
+1.102,1.811,2.383,1.718,1.779,3.715,4.272,2.393,1.599,2.737,
+2.035,1.463,1.124,1.335,1.547,0.166,0.742,1.247,1.690,1.579,
+1.052,1.817,2.377,1.974,1.140,1.432,1.502,1.127,1.017,1.018,
+1.238,0.173,0.842,1.093,0.873,1.057,0.755,1.156,1.354,1.470,
+0.979,1.227,0.145,0.220,0.119,0.167,0.989,0.109,0.713,0.798,
+0.718,1.040,0.829,1.077,1.504,0.843,0.781,1.323,1.415,1.244,
+0.823,1.133,1.017,0.135,0.589,0.919,1.109,0.862,0.923,1.802,
+2.551,1.903,0.882,1.384,1.671,1.564,0.873,1.000,1.126,0.148,
+0.565,0.849,0.882,1.064,0.641,1.103,1.561,1.429,0.715,0.858,
+1.072,0.649,0.731,0.677,1.003,0.156,0.694,0.907,0.594,0.865,
+0.610,0.777,1.168,1.660,0.849,1.177,0.139,0.281,0.161,0.291,
+1.107,0.233,0.725,0.937,0.665,1.735,0.771,0.971,0.956,0.746,
+0.498,0.817,1.102,1.174,0.682,0.935,0.943,0.107,0.515,0.792,
+0.719,0.861,0.627,1.198,1.728,1.154,0.745,1.163,1.382,1.167,
+1.062,1.006,1.125,0.162,0.685,1.031,0.852,0.977,0.796,1.275,
+0.125,0.198,0.082,0.147,0.113,0.168,0.130,0.097,0.112,0.044,
+0.125,0.130,0.083,0.178,0.104,0.127,1.124,1.309,1.356,1.032,
+0.164,0.206,0.142,0.125,1.040,0.168,0.790,0.910,0.641,1.407,
+1.175,0.997,0.904,0.619,0.677,0.831,1.152,1.373,0.926,1.043,
+1.051,0.114,0.855,1.090,0.708,0.799,0.958,1.327,1.588,0.858,
+0.663,1.123,0.993,0.657,0.690,0.684,0.811,0.075,0.428,0.670,
+0.969,0.728,0.594,1.262,1.381,1.354,0.770,1.096,0.980,0.984,
+0.864,0.891,0.906,0.099,0.666,1.024,0.756,1.013,0.708,1.145,
+0.935,0.948,0.798,0.991,0.080,0.096,0.070,0.092,0.780,0.084,
+0.672,0.846,0.663,0.925,0.918,1.109,1.155,0.673,0.667,1.057,
+0.884,0.763,0.595,0.888,1.086,0.116,0.776,1.243,1.257,1.235,
+1.292,2.160,3.157,1.564,1.260,1.928,1.173,0.885,0.671,0.865,
+1.278,0.124,0.605,0.882,1.294,1.142,0.701,1.328,1.998,1.644,
+0.928,1.253,1.171,0.974,1.122,0.949,1.313,0.158,0.872,1.041,
+0.960,1.238,0.704,1.106,1.371,1.478,1.869,1.484,0.144,0.182,
+0.160,0.228,0.954,0.123,0.647,0.854,0.689,1.135,0.699,1.092,
+1.435,0.930,0.924,1.630,1.158,1.095,0.855,1.214,1.090,0.112,
+0.706,1.123,1.251,1.011,1.096,2.570,0.188,0.153,0.086,0.138,
+0.153,0.162,0.088,0.100,0.115,0.024,0.070,0.091,0.102,0.143,
+0.095,0.128,0.162,0.195,0.086,0.105,0.145,0.186,0.113,0.098,
+0.142,0.040,0.115,0.124,0.094,0.179,0.081,0.110,0.110,0.167,
+0.127,0.121,0.019,0.041,0.037,0.026,0.151,0.037,0.156,0.176,
+0.082,0.179,0.100,0.125,0.166,0.124,0.097,0.187,0.212,0.249,
+0.175,0.227,0.141,0.023,0.115,0.162,0.145,0.156,0.136,0.263,
+1.335,0.852,0.625,0.761,0.904,0.855,0.825,0.680,1.198,0.247,
+0.792,0.892,0.781,1.019,0.742,1.012,0.108,0.134,0.063,0.072,
+0.079,0.118,0.088,0.062,0.160,0.092,0.109,0.099,0.096,0.212,
+0.092,0.102,0.855,1.216,0.746,0.719,0.100,0.190,0.123,0.097,
+0.953,0.171,0.556,0.681,0.523,0.949,0.688,0.710,0.753,0.576,
+0.514,0.638,0.869,1.039,0.762,0.864,1.065,0.160,0.934,1.012,
+0.663,0.842,0.797,1.092,1.358,0.673,0.496,0.914,0.748,0.500,
+0.395,0.477,0.924,0.090,0.439,0.683,0.942,0.770,0.522,1.099,
+1.439,1.122,0.655,0.923,0.999,0.975,0.676,0.677,1.319,0.160,
+0.747,1.000,0.999,1.213,0.740,1.090,0.997,1.074,0.763,0.941,
+0.101,0.151,0.082,0.100,1.134,0.150,0.698,1.041,0.750,1.186,
+0.804,1.107,1.215,0.731,0.700,0.974,1.019,0.898,0.665,0.864,
+1.198,0.123,0.964,1.335,1.340,1.387,1.203,2.108,3.838,1.695,
+1.325,3.017,1.284,0.809,0.716,0.975,1.318,0.120,0.599,1.055,
+2.209,1.367,0.985,2.249,1.571,0.894,0.624,1.100,0.849,0.521,
+0.528,0.650,0.987,0.080,0.525,0.836,0.944,0.775,0.550,1.069,
+1.535,1.062,0.922,1.605,0.119,0.101,0.079,0.185,0.877,0.075,
+0.478,0.806,0.854,0.878,0.600,1.201,2.160,1.018,1.213,3.376,
+1.294,0.898,0.848,1.628,1.200,0.095,0.769,1.322,1.904,1.239,
+1.338,3.619,2.365,1.374,0.898,1.689,1.450,1.050,0.852,0.945,
+1.184,0.122,0.610,0.986,1.145,1.141,0.754,1.364,1.611,1.147,
+0.620,1.043,1.097,0.913,0.613,0.720,1.088,0.154,0.664,1.014,
+0.878,1.107,0.553,0.963,1.195,1.078,0.726,1.159,0.089,0.106,
+0.084,0.122,1.044,0.105,0.688,1.064,0.855,1.154,0.710,1.171,
+1.490,0.829,0.748,1.604,1.315,1.098,0.865,1.478,1.118,0.092,
+0.740,1.220,1.274,1.185,1.018,2.100,1.538,0.877,0.678,1.093,
+1.139,0.779,0.716,0.928,1.248,0.175,0.753,1.084,1.046,1.013,
+0.879,1.466,0.112,0.103,0.058,0.102,0.076,0.083,0.066,0.073,
+0.113,0.031,0.089,0.152,0.103,0.148,0.085,0.132,0.945,0.963,
+0.708,1.038,0.078,0.081,0.087,0.105,1.104,0.110,0.613,0.864,
+0.737,0.968,0.870,1.094,0.982,0.671,0.645,1.095,1.111,0.904,
+0.839,1.248,1.408,0.157,0.912,1.442,1.045,1.040,1.085,1.843,
+2.614,1.107,0.920,1.822,1.136,0.745,0.809,0.910,1.574,0.118,
+0.663,1.124,1.883,1.208,1.033,2.644,1.385,0.912,0.622,1.094,
+0.875,0.644,0.604,0.762,1.040,0.086,0.664,1.167,1.148,1.081,
+0.757,1.488,1.551,1.306,0.975,1.694,0.116,0.100,0.073,0.138,
+1.390,0.106,0.855,1.386,1.369,1.518,1.282,1.921,2.607,1.286,
+1.288,2.955,1.710,1.385,1.179,1.928,2.216,0.134,1.557,2.737,
+3.599,2.393,2.567,5.087,3.394,1.997,1.556,2.569,2.078,1.324,
+0.978,1.203,1.616,0.184,0.863,1.305,2.069,1.743,1.050,1.785,
+1.991,1.388,0.872,1.086,1.468,1.030,0.813,0.799,1.146,0.131,
+0.820,0.959,0.847,0.977,0.754,1.045,1.114,0.977,0.730,1.027,
+0.112,0.104,0.088,0.136,0.772,0.092,0.548,0.631,0.671,0.870,
+0.777,0.943,1.484,0.824,0.674,1.340,1.319,0.992,0.723,1.095,
+0.987,0.124,0.610,0.928,1.175,0.904,0.954,1.736,2.354,1.477,
+0.858,1.323,1.838,1.244,0.731,0.804,1.270,0.223,0.758,0.953,
+0.953,1.192,0.659,1.084,1.547,1.289,0.649,0.887,1.195,0.905,
+0.679,0.688,1.200,0.245,0.926,1.177,0.651,1.017,0.625,0.871,
+0.938,1.041,0.586,0.711,0.150,0.136,0.108,0.101,1.349,0.192,
+0.717,0.776,0.596,1.054,0.706,0.771,0.756,0.667,0.375,0.599,
+0.973,0.801,0.610,0.698,0.782,0.087,0.535,0.784,0.685,0.710,
+0.751,1.199,1.273,0.756,0.510,0.758,1.277,0.893,0.648,0.738,
+1.060,0.145,0.515,0.709,0.753,0.782,0.570,1.075,0.100,0.113,
+0.065,0.085,0.142,0.166,0.094,0.092,0.099,0.035,0.094,0.104,
+0.080,0.160,0.086,0.119,0.630,0.737,0.526,0.553,0.078,0.080,
+0.070,0.082,0.641,0.099,0.500,0.632,0.423,0.646,0.661,0.673,
+0.585,0.411,0.440,0.556,0.770,0.717,0.542,0.704,0.743,0.096,
+0.623,0.775,0.612,0.693,0.758,1.101,1.430,0.656,0.505,1.035,
+0.758,0.471,0.373,0.520,0.796,0.091,0.386,0.595,0.930,0.702,
+0.517,1.229,1.183,0.908,0.599,0.881,1.006,0.884,0.620,0.742,
+0.725,0.090,0.562,0.798,0.649,0.871,0.568,0.955,0.655,0.603,
+0.621,0.746,0.073,0.058,0.097,0.093,0.598,0.083,0.438,0.633,
+0.486,0.696,0.664,0.812,0.935,0.559,0.737,1.000,0.634,0.544,
+0.538,0.698,0.864,0.080,0.642,1.036,1.083,1.026,1.051,1.984,
+2.263,1.497,1.039,1.557,1.555,1.386,0.924,0.967,0.948,0.122,
+0.521,0.782,0.982,1.017,0.647,1.108,1.611,1.286,0.793,0.906,
+1.380,1.218,1.217,0.939,0.835,0.151,0.703,0.857,0.542,0.903,
+0.596,0.903,0.747,0.863,0.642,0.743,0.093,0.129,0.102,0.115,
+0.553,0.085,0.470,0.512,0.522,0.663,0.539,0.730,0.793,0.475,
+0.408,0.770,0.839,0.871,0.556,0.706,0.659,0.083,0.428,0.586,
+0.943,0.605,0.611,1.145,1.581,1.356,0.617,0.852,1.287,1.709,
+0.709,0.698,0.813,0.135,0.510,0.729,0.571,0.796,0.438,0.973,
+1.118,1.077,0.570,0.608,0.743,0.452,0.577,0.554,0.746,0.211,
+0.628,0.786,0.404,0.809,0.490,0.645,0.828,1.107,0.571,0.670,
+0.145,0.257,0.155,0.144,0.729,0.179,0.573,0.730,0.409,1.030,
+0.715,0.736,0.558,0.486,0.322,0.482,0.800,1.030,0.511,0.633,
+0.598,0.085,0.469,0.687,0.461,0.583,0.534,0.942,1.083,0.798,
+0.597,0.668,1.248,1.324,0.839,0.747,0.909,0.191,0.557,0.664,
+0.584,0.997,0.564,0.863,0.099,0.155,0.105,0.090,0.190,0.322,
+0.195,0.109,0.135,0.100,0.172,0.124,0.066,0.381,0.095,0.093,
+0.832,1.048,0.670,0.672,0.180,0.225,0.156,0.116,0.744,0.158,
+0.628,0.700,0.435,0.942,0.894,0.756,0.637,0.445,0.389,0.525,
+1.099,1.377,0.908,0.867,0.992,0.119,0.703,0.837,0.591,0.682,
+0.814,1.048,0.888,0.552,0.409,0.662,0.680,0.541,0.365,0.438,
+0.560,0.061,0.313,0.430,0.590,0.511,0.384,0.765,0.881,0.894,
+0.624,0.763,0.894,1.185,0.797,0.783,0.648,0.133,0.558,0.682,
+0.453,0.967,0.514,0.707,0.564,0.737,0.532,0.612,0.066,0.093,
+0.064,0.070,0.473,0.071,0.504,0.568,0.397,0.666,0.751,0.785,
+0.644,0.422,0.380,0.604,0.578,0.622,0.510,0.611,0.675,0.065,
+0.518,0.743,0.716,0.811,0.881,1.418,1.510,1.100,0.718,1.177,
+0.979,0.739,0.509,0.666,0.890,0.099,0.508,0.594,0.761,0.797,
+0.537,0.863,1.320,1.314,0.588,0.848,1.151,1.039,0.780,0.771,
+1.051,0.186,0.917,0.923,0.606,1.220,0.541,0.803,0.735,1.001,
+0.712,0.860,0.118,0.147,0.130,0.175,0.714,0.118,0.551,0.689,
+0.432,0.817,0.611,0.854,0.726,0.518,0.402,0.848,0.900,0.790,
+0.599,0.854,0.707,0.090,0.557,0.825,0.726,0.657,0.730,1.547,
+0.110,0.100,0.050,0.073,0.163,0.158,0.095,0.083,0.114,0.026,
+0.064,0.070,0.064,0.104,0.100,0.112,0.104,0.190,0.065,0.091,
+0.168,0.260,0.172,0.124,0.127,0.100,0.155,0.138,0.059,0.171,
+0.070,0.082,0.071,0.147,0.096,0.082,0.040,0.085,0.080,0.037,
+0.143,0.072,0.214,0.170,0.053,0.154,0.109,0.096,0.072,0.066,
+0.041,0.079,0.304,0.219,0.131,0.161,0.088,0.025,0.103,0.119,
+0.067,0.084,0.088,0.137,0.965,0.927,0.526,0.607,0.895,1.256,
+0.749,0.682,0.938,0.199,1.030,0.973,0.564,0.837,0.632,0.895,
+0.092,0.254,0.072,0.068,0.109,0.285,0.151,0.088,0.120,0.078,
+0.195,0.132,0.065,0.172,0.094,0.091,0.633,1.355,0.650,0.614,
+0.106,0.308,0.168,0.111,0.846,0.221,0.581,0.730,0.410,0.975,
+0.680,0.704,0.514,0.529,0.371,0.508,0.835,1.551,0.768,0.913,
+1.056,0.198,1.182,1.020,0.544,0.793,0.814,1.054,0.832,0.588,
+0.378,0.751,0.564,0.481,0.303,0.392,0.603,0.076,0.370,0.663,
+0.598,0.592,0.379,0.854,1.042,1.303,0.548,0.710,1.147,1.542,
+0.745,0.812,1.003,0.172,0.837,1.057,0.666,1.137,0.650,0.923,
+0.768,0.981,0.758,0.726,0.077,0.131,0.092,0.086,0.812,0.148,
+0.708,0.875,0.536,1.121,0.729,0.920,0.698,0.523,0.415,0.708,
+0.728,0.716,0.510,0.662,0.900,0.103,0.915,1.125,0.898,1.046,
+0.979,1.535,1.577,0.836,0.641,1.286,0.803,0.509,0.423,0.701,
+0.758,0.072,0.376,0.667,0.902,0.688,0.614,1.115,0.962,0.751,
+0.385,0.650,0.606,0.459,0.368,0.519,0.577,0.062,0.391,0.725,
+0.507,0.503,0.391,0.685,0.676,0.628,0.432,0.744,0.056,0.053,
+0.041,0.097,0.491,0.050,0.328,0.495,0.429,0.500,0.374,0.685,
+0.886,0.494,0.488,1.217,0.626,0.470,0.402,0.922,0.626,0.053,
+0.409,0.777,0.879,0.606,0.673,1.820,1.420,0.940,0.592,0.983,
+1.146,0.926,1.016,0.771,0.910,0.115,0.535,0.789,0.743,0.905,
+0.632,0.984,1.048,0.962,0.452,0.713,1.053,1.018,0.653,0.751,
+0.945,0.196,0.661,0.987,0.640,1.060,0.521,0.830,0.672,0.927,
+0.532,0.726,0.084,0.122,0.097,0.126,0.792,0.115,0.622,0.852,
+0.559,1.020,0.585,0.846,0.700,0.516,0.434,0.927,1.015,0.930,
+0.721,1.833,0.728,0.082,0.631,0.979,0.719,0.771,0.726,1.423,
+0.913,0.609,0.416,0.618,0.802,0.770,0.549,0.662,0.827,0.122,
+0.610,0.771,0.627,0.674,0.598,1.009,0.066,0.082,0.039,0.059,
+0.064,0.114,0.071,0.063,0.063,0.021,0.095,0.083,0.055,0.096,
+0.065,0.086,0.557,0.703,0.448,0.614,0.059,0.083,0.064,0.085,
+0.727,0.111,0.559,0.714,0.458,0.769,0.647,0.813,0.555,0.449,
+0.385,0.625,0.725,0.755,0.589,0.919,1.123,0.178,0.789,1.143,
+0.687,0.807,0.871,1.352,1.205,0.651,0.484,0.919,0.625,0.489,
+0.381,0.497,0.731,0.076,0.407,0.667,0.790,0.598,0.505,1.206,
+0.947,0.690,0.416,0.680,0.683,0.671,0.516,0.621,0.681,0.067,
+0.562,0.746,0.631,0.675,0.510,1.078,0.911,0.765,0.579,0.894,
+0.099,0.066,0.049,0.087,0.783,0.079,0.615,0.886,0.714,0.956,
+0.850,1.171,1.175,0.670,0.640,1.329,0.976,0.873,0.719,1.232,
+1.225,0.109,1.037,1.600,1.668,1.494,1.561,2.447,3.276,1.631,
+1.522,2.396,1.715,1.191,1.042,1.319,1.622,0.161,0.821,1.251,
+1.901,1.557,1.022,1.715,1.528,1.086,0.833,1.043,1.129,0.770,
+0.806,0.845,1.002,0.149,0.674,0.793,0.845,0.945,0.691,0.977,
+1.318,1.035,0.771,1.194,0.108,0.093,0.084,0.155,0.788,0.082,
+0.584,0.860,0.637,0.794,0.709,0.972,1.442,0.734,0.601,1.239,
+1.084,0.810,0.657,1.009,0.876,0.076,0.596,0.859,1.077,0.667,
+0.893,1.668,2.411,1.534,0.959,1.519,1.770,1.390,1.154,1.183,
+1.235,0.170,0.664,0.924,1.048,1.209,0.700,1.163,1.659,1.625,
+0.766,0.964,1.317,0.893,0.973,0.933,1.526,0.376,0.927,1.347,
+0.799,1.268,0.646,0.901,1.276,1.425,1.012,1.157,0.158,0.180,
+0.156,0.181,1.313,0.201,1.046,1.789,0.875,1.308,1.056,1.155,
+1.051,0.742,0.498,0.883,1.393,1.266,0.818,1.140,0.938,0.097,
+0.657,1.047,0.862,0.799,0.873,1.586,1.654,0.870,0.669,1.087,
+1.580,1.179,1.143,1.179,2.303,0.251,0.908,1.007,1.242,1.214,
+0.863,1.427,0.152,0.172,0.095,0.149,0.173,0.177,0.172,0.176,
+0.198,0.051,0.268,0.173,0.170,0.319,0.156,0.214,0.938,0.946,
+1.117,1.146,0.121,0.123,0.246,0.216,1.129,0.204,0.810,0.864,
+0.641,1.195,1.002,0.944,0.770,0.506,0.501,0.764,1.162,1.010,
+1.265,1.272,0.995,0.123,0.898,1.040,0.942,0.946,0.974,1.549,
+1.678,0.741,0.596,1.207,0.886,0.596,0.597,0.775,1.069,0.113,
+0.506,0.727,1.412,1.036,0.713,1.517,1.330,1.125,0.670,1.011,
+1.070,0.848,0.840,0.979,1.041,0.128,0.905,0.966,1.034,1.219,
+0.781,1.284,0.985,0.971,0.905,1.142,0.103,0.091,0.106,0.145,
+1.002,0.109,0.795,1.068,0.845,1.201,1.236,1.377,1.315,0.766,
+0.686,1.366,0.930,0.702,0.792,1.140,1.404,0.122,1.013,1.571,
+1.934,1.559,1.748,3.189,0.178,0.131,0.113,0.135,0.138,0.131,
+0.104,0.120,0.102,0.019,0.065,0.132,0.106,0.126,0.080,0.121,
+0.164,0.154,0.192,0.165,0.165,0.161,0.214,0.165,0.116,0.039,
+0.123,0.114,0.113,0.124,0.095,0.114,0.092,0.143,0.082,0.092,
+0.018,0.027,0.024,0.023,0.081,0.021,0.086,0.109,0.054,0.096,
+0.087,0.100,0.094,0.066,0.053,0.094,0.119,0.120,0.089,0.112,
+0.090,0.015,0.084,0.138,0.087,0.076,0.118,0.163,0.155,0.160,
+0.080,0.105,0.158,0.223,0.151,0.139,0.103,0.034,0.071,0.085,
+0.068,0.110,0.087,0.092,0.175,0.289,0.112,0.111,0.211,0.212,
+0.224,0.174,0.201,0.115,0.159,0.165,0.080,0.188,0.098,0.122,
+0.107,0.188,0.114,0.106,0.035,0.097,0.072,0.037,0.196,0.092,
+0.193,0.242,0.095,0.200,0.191,0.135,0.086,0.075,0.050,0.075,
+0.148,0.198,0.118,0.122,0.094,0.021,0.084,0.110,0.066,0.082,
+0.091,0.141,0.118,0.090,0.066,0.087,0.145,0.178,0.169,0.130,
+0.152,0.045,0.156,0.099,0.074,0.126,0.090,0.107,0.018,0.038,
+0.022,0.031,0.039,0.080,0.077,0.045,0.044,0.055,0.143,0.045,
+0.014,0.052,0.036,0.023,0.099,0.157,0.193,0.150,0.032,0.068,
+0.101,0.039,0.244,0.150,0.212,0.156,0.079,0.292,0.231,0.140,
+0.077,0.059,0.062,0.079,0.139,0.190,0.184,0.157,0.129,0.039,
+0.151,0.162,0.079,0.152,0.131,0.159,0.138,0.114,0.075,0.116,
+0.100,0.087,0.076,0.089,0.096,0.014,0.062,0.075,0.119,0.114,
+0.091,0.161,0.187,0.338,0.124,0.181,0.191,0.222,0.195,0.223,
+0.173,0.045,0.222,0.162,0.131,0.248,0.147,0.191,0.091,0.125,
+0.114,0.122,0.015,0.028,0.027,0.025,0.122,0.034,0.135,0.148,
+0.088,0.166,0.247,0.172,0.118,0.088,0.072,0.120,0.106,0.113,
+0.099,0.126,0.131,0.018,0.122,0.166,0.152,0.161,0.184,0.289,
+1.726,1.264,0.883,1.379,1.138,0.997,0.713,0.907,0.994,0.113,
+0.626,0.759,0.770,0.696,0.543,0.867,1.431,1.228,0.756,0.902,
+1.406,1.132,1.427,1.004,1.297,0.191,1.496,1.286,0.667,1.005,
+0.726,0.938,0.994,1.276,0.951,1.096,0.157,0.208,0.241,0.250,
+1.366,0.315,1.027,1.147,0.620,1.364,0.799,1.032,0.856,0.584,
+0.469,0.906,0.955,0.883,0.824,1.096,1.013,0.124,0.874,1.285,
+0.850,0.815,0.972,1.737,0.128,0.131,0.065,0.100,0.194,0.251,
+0.133,0.161,0.094,0.028,0.097,0.096,0.061,0.092,0.059,0.088,
+0.124,0.162,0.084,0.080,0.214,0.215,0.253,0.167,0.139,0.068,
+0.299,0.195,0.059,0.120,0.081,0.084,0.101,0.187,0.147,0.106,
+0.033,0.081,0.131,0.042,0.183,0.097,0.256,0.259,0.067,0.180,
+0.137,0.124,0.101,0.078,0.054,0.101,0.160,0.206,0.183,0.184,
+0.117,0.027,0.129,0.239,0.079,0.093,0.102,0.171,1.401,0.990,
+0.665,0.642,1.262,1.630,1.528,0.973,1.074,0.220,1.156,0.978,
+0.598,0.840,0.883,1.015,0.119,0.221,0.117,0.084,0.150,0.300,
+0.354,0.116,0.154,0.079,0.310,0.165,0.078,0.177,0.161,0.117,
+0.994,1.242,1.006,0.912,0.160,0.213,0.259,0.182,1.015,0.212,
+0.456,0.651,0.469,0.893,0.903,0.863,0.649,0.511,0.457,0.519,
+0.973,1.127,1.042,0.991,0.960,0.161,1.219,1.125,0.586,0.770,
+1.025,1.203,1.012,0.641,0.490,0.752,0.738,0.661,0.478,0.502,
+0.667,0.087,0.536,0.656,0.616,0.593,0.470,0.832,1.177,1.252,
+0.811,0.786,1.253,1.687,1.335,0.859,1.060,0.177,1.277,1.162,
+0.850,1.167,0.914,0.983,1.047,1.363,0.923,1.051,0.133,0.222,
+0.159,0.166,1.271,0.220,1.661,1.562,0.734,1.384,1.243,1.298,
+0.854,0.614,0.510,0.807,0.929,0.972,0.742,0.889,1.135,0.131,
+1.372,1.460,1.047,1.197,1.324,1.793,1.858,0.906,0.668,1.283,
+0.895,0.616,0.521,0.726,0.809,0.087,0.425,0.668,0.971,0.774,
+0.554,1.254,1.149,0.731,0.451,0.673,0.774,0.511,0.520,0.576,
+0.615,0.059,0.453,0.611,0.508,0.509,0.409,0.696,0.938,0.902,
+0.511,0.828,0.084,0.079,0.066,0.123,0.722,0.077,0.486,0.739,
+0.669,0.741,0.645,0.956,1.077,0.618,0.494,1.018,0.817,0.585,
+0.518,0.911,0.739,0.066,0.478,0.847,0.977,0.737,0.820,1.750,
+1.856,1.294,0.766,1.306,1.477,1.415,0.998,1.087,0.970,0.124,
+0.774,0.949,0.844,0.975,0.601,1.139,1.525,1.460,0.709,0.963,
+1.703,1.252,1.342,1.195,1.068,0.159,1.130,1.286,0.664,0.945,
+0.724,0.919,1.154,1.495,0.952,1.079,0.121,0.187,0.177,0.168,
+1.185,0.188,1.106,1.607,0.768,1.421,1.035,1.374,1.225,0.845,
+0.625,1.058,1.322,1.268,1.042,1.459,1.064,0.134,0.867,1.525,
+0.920,1.025,0.977,1.775,1.779,1.038,0.681,0.911,1.300,1.233,
+1.233,1.119,1.168,0.192,0.882,1.299,0.821,0.996,0.906,1.431,
+0.167,0.133,0.081,0.107,0.129,0.209,0.224,0.133,0.104,0.037,
+0.152,0.182,0.082,0.171,0.112,0.135,1.098,1.488,0.958,1.176,
+0.123,0.162,0.184,0.211,1.539,0.293,1.090,1.420,0.795,1.645,
+1.287,1.394,0.955,0.734,0.759,0.894,1.301,1.233,1.305,1.616,
+1.194,0.152,1.285,1.935,0.947,1.080,1.390,1.917,1.627,0.786,
+0.651,1.107,0.862,0.643,0.583,0.671,0.909,0.109,0.553,0.855,
+0.950,0.733,0.654,1.433,1.348,1.024,0.611,0.883,0.992,0.981,
+0.897,0.851,0.847,0.089,0.794,1.125,0.790,0.868,0.757,1.160,
+1.234,1.293,0.941,1.372,0.109,0.131,0.100,0.154,1.403,0.158,
+1.346,1.897,1.095,1.533,1.477,1.840,1.607,0.911,0.840,1.699,
+1.345,1.329,1.102,1.566,1.560,0.131,1.493,2.364,1.909,1.631,
+1.968,3.164,4.395,1.915,1.663,3.629,1.767,1.046,0.895,1.349,
+1.689,0.150,0.712,1.254,2.803,1.933,1.077,2.382,1.700,0.947,
+0.689,1.044,0.996,0.588,0.541,0.664,0.969,0.078,0.606,0.706,
+0.999,0.939,0.608,1.051,1.313,0.919,0.716,1.272,0.106,0.078,
+0.066,0.145,0.804,0.067,0.456,0.720,0.804,0.865,0.682,1.192,
+2.188,0.977,0.887,1.907,1.308,0.849,0.732,1.252,1.084,0.087,
+0.820,1.095,1.728,1.083,1.166,2.969,2.137,1.094,0.715,1.373,
+1.300,0.735,0.540,0.749,0.868,0.088,0.395,0.663,1.006,0.848,
+0.489,1.062,1.198,0.795,0.463,0.748,0.737,0.470,0.411,0.521,
+0.789,0.090,0.413,0.627,0.686,0.653,0.425,0.731,0.939,0.774,
+0.559,0.852,0.077,0.068,0.053,0.082,0.853,0.110,0.409,0.670,
+0.710,0.974,0.585,0.840,0.940,0.659,0.427,0.852,0.812,0.617,
+0.436,0.691,0.700,0.054,0.462,0.712,0.808,0.646,0.669,1.474,
+1.940,0.807,0.629,1.141,1.254,1.138,0.672,1.005,1.227,0.131,
+0.450,0.753,1.417,1.032,0.647,1.572,0.123,0.082,0.055,0.103,
+0.096,0.081,0.064,0.095,0.095,0.013,0.061,0.084,0.159,0.168,
+0.079,0.165,0.822,0.662,0.638,0.878,0.074,0.060,0.060,0.095,
+0.772,0.080,0.406,0.594,0.684,0.788,0.645,0.878,0.936,0.508,
+0.508,0.944,0.938,0.667,0.604,0.962,0.863,0.099,0.540,0.869,
+0.997,0.829,0.845,1.660,2.523,0.957,0.784,1.878,1.052,0.650,
+0.602,0.937,1.406,0.118,0.586,0.952,3.003,1.414,0.933,2.416,
+1.440,0.825,0.623,1.050,0.876,0.601,0.562,0.769,0.984,0.075,
+0.575,0.851,1.417,1.238,0.750,1.488,1.061,0.846,0.745,1.146,
+0.082,0.060,0.063,0.102,0.922,0.067,0.575,0.884,1.002,1.048,
+0.952,1.441,1.876,0.962,0.901,2.154,1.196,0.771,0.758,1.299,
+1.540,0.107,0.979,1.686,2.736,1.904,2.069,4.787,2.803,1.559,
+1.219,2.215,1.608,1.133,0.901,1.201,1.248,0.132,0.703,1.107,
+1.543,1.406,0.868,1.722,1.866,1.204,1.098,1.388,1.323,0.962,
+1.085,1.053,1.083,0.130,1.360,1.063,0.880,0.995,0.751,1.172,
+1.103,1.081,0.727,1.118,0.106,0.116,0.087,0.142,0.804,0.096,
+0.597,0.984,0.699,0.933,0.773,1.257,1.236,0.736,0.626,1.190,
+1.199,1.009,0.707,1.092,0.868,0.090,0.659,1.018,1.085,0.873,
+0.978,2.035,2.069,1.412,0.792,1.410,1.478,1.276,0.816,1.098,
+0.951,0.123,0.475,0.790,0.926,1.003,0.602,1.135,1.554,1.606,
+0.787,1.191,1.351,1.025,0.846,0.957,1.233,0.229,0.737,1.038,
+0.770,1.120,0.643,0.987,1.043,1.191,0.787,1.049,0.131,0.179,
+0.144,0.153,1.188,0.176,0.743,1.127,0.831,1.279,0.986,1.294,
+0.911,0.715,0.495,0.878,1.116,1.243,0.712,0.951,0.803,0.081,
+0.547,0.997,0.804,0.791,0.756,1.539,1.572,0.848,0.681,1.038,
+1.292,1.069,1.004,1.282,1.122,0.172,0.682,0.901,0.984,1.039,
+0.729,1.412,0.092,0.104,0.064,0.113,0.108,0.154,0.120,0.134,
+0.106,0.044,0.164,0.114,0.096,0.197,0.100,0.132,0.970,1.067,
+0.932,1.079,0.107,0.137,0.128,0.141,1.229,0.224,0.751,1.003,
+0.770,1.435,1.161,1.315,0.938,0.617,0.571,0.987,1.209,1.299,
+1.052,1.311,1.073,0.116,0.833,1.218,0.969,0.998,1.140,1.926,
+1.723,0.912,0.725,1.405,0.979,0.669,0.606,0.872,1.011,0.096,
+0.561,0.810,1.407,1.067,0.797,1.785,1.490,1.269,0.831,1.244,
+1.111,1.083,0.928,1.159,1.124,0.153,0.947,1.131,1.239,2.253,
+1.052,1.599,0.965,0.973,0.885,1.184,0.084,0.095,0.102,0.115,
+0.946,0.103,0.804,1.127,0.868,1.236,1.325,1.656,1.342,0.808,
+0.761,1.319,1.165,0.993,0.851,1.269,1.248,0.102,0.948,1.540,
+1.691,1.589,1.621,3.310,2.420,1.337,0.987,1.711,1.190,0.929,
+0.718,1.015,1.160,0.105,0.576,0.879,1.191,0.927,0.633,1.248,
+1.672,1.305,0.720,1.116,1.285,0.971,0.820,0.879,1.209,0.139,
+1.053,1.144,0.941,1.165,0.768,1.274,1.177,1.323,0.915,1.304,
+0.147,0.159,0.157,0.206,1.114,0.148,0.777,1.089,0.798,1.375,
+0.936,1.427,1.203,0.817,0.619,1.296,1.121,0.966,0.763,1.152,
+1.195,0.119,0.839,1.420,1.307,1.083,1.312,2.580,0.131,0.109,
+0.115,0.122,0.158,0.134,0.078,0.100,0.083,0.015,0.065,0.080,
+0.081,0.102,0.077,0.116,0.111,0.124,0.059,0.079,0.160,0.161,
+0.104,0.100,0.107,0.033,0.151,0.163,0.073,0.120,0.077,0.106,
+0.079,0.121,0.083,0.089,0.017,0.033,0.039,0.020,0.129,0.035,
+0.134,0.135,0.074,0.155,0.135,0.173,0.104,0.085,0.056,0.118,
+0.151,0.157,0.114,0.145,0.107,0.019,0.091,0.146,0.107,0.110,
+0.112,0.215,1.551,0.988,0.681,0.868,1.256,1.244,1.167,1.002,
+1.107,0.190,0.887,0.977,0.872,1.067,1.035,1.455,0.104,0.128,
+0.063,0.076,0.111,0.148,0.109,0.080,0.108,0.038,0.179,0.113,
+0.097,0.173,0.161,0.137,1.212,1.579,1.032,1.093,0.173,0.210,
+0.164,0.144,1.344,0.211,0.750,1.071,0.733,1.316,1.196,1.310,
+0.978,0.763,0.604,0.849,1.348,1.424,1.113,1.165,1.315,0.164,
+1.367,1.502,0.993,1.132,1.463,2.016,1.511,0.857,0.624,1.133,
+0.952,0.739,0.564,0.750,0.982,0.099,0.679,0.999,1.052,0.880,
+0.757,1.499,1.563,1.297,0.804,1.143,1.254,1.262,0.891,0.904,
+1.294,0.145,1.226,1.379,1.236,1.577,1.279,1.700,1.586,1.465,
+1.092,1.435,0.172,0.188,0.143,0.148,1.484,0.159,1.274,1.644,
+1.310,1.765,1.791,2.013,1.403,0.892,0.800,1.282,1.209,1.137,
+0.938,1.162,1.609,0.138,1.553,2.027,1.773,1.714,2.044,3.257,
+4.335,1.621,1.172,2.606,1.400,0.856,0.698,1.197,1.338,0.117,
+0.648,1.154,1.875,1.313,0.933,2.332,1.638,0.952,0.555,0.984,
+0.975,0.651,0.507,0.753,0.943,0.077,0.675,0.927,0.918,0.771,
+0.578,1.147,1.354,1.446,0.695,1.491,0.104,0.104,0.068,0.166,
+0.912,0.087,0.558,0.956,0.941,1.052,0.751,1.491,2.014,1.108,
+0.868,2.158,1.203,0.857,0.717,1.438,1.235,0.095,0.792,1.501,
+2.133,1.442,1.484,4.314,2.158,1.238,0.934,1.564,1.475,1.037,
+0.771,0.997,0.966,0.091,0.566,0.940,1.061,0.991,0.656,1.488,
+1.498,1.102,0.559,0.949,1.267,1.002,0.634,0.858,0.972,0.099,
+0.779,1.108,0.820,0.936,0.623,1.180,1.118,1.149,0.671,1.200,
+0.079,0.100,0.070,0.110,1.040,0.106,0.786,1.163,0.931,1.278,
+0.907,1.646,1.340,0.933,0.673,1.469,1.185,0.992,0.731,1.364,
+1.103,0.090,0.745,1.360,1.320,1.299,1.118,2.915,2.207,1.332,
+0.943,1.376,1.569,1.177,1.033,1.438,1.474,0.179,0.884,1.379,
+1.440,1.320,1.190,2.378,0.129,0.151,0.065,0.108,0.105,0.120,
+0.091,0.107,0.092,0.018,0.097,0.120,0.123,0.152,0.101,0.190,
+1.487,1.513,1.043,1.595,0.111,0.123,0.102,0.162,1.543,0.175,
+1.115,1.558,1.203,1.663,1.544,2.305,1.635,1.151,0.962,1.572,
+1.671,1.424,1.310,1.999,1.852,0.160,1.572,2.373,1.700,1.520,
+1.984,3.683,4.288,1.608,1.203,2.605,1.505,1.012,0.835,1.330,
+1.727,0.139,0.888,1.589,2.519,1.678,1.429,4.096,2.208,1.648,
+0.912,1.539,1.558,1.467,0.947,1.327,1.575,0.118,1.081,1.724,
+1.840,1.650,1.275,2.927,2.155,1.853,1.416,2.368,0.129,0.127,
+0.104,0.186,2.062,0.154,1.578,2.549,2.141,2.402,2.349,3.959,
+4.318,1.810,1.577,3.751,2.282,1.721,1.501,2.969,2.795,0.174,
+2.260,4.166,4.294,2.973,3.321,8.743
+};
+
+static double hg19_biasTable31_6[] = {
+28.4,5.543,3.450,7.723,5.721,2.497,2.050,3.137,4.958,0.388,
+1.822,2.824,7.756,4.318,3.011,5.989,6.422,2.701,1.902,2.651,
+2.859,1.509,1.395,1.479,2.808,0.195,1.362,1.795,2.567,1.919,
+1.504,2.550,5.427,2.799,2.088,3.153,0.343,0.248,0.184,0.390,
+2.384,0.201,1.353,1.752,2.357,2.285,1.595,2.469,7.744,2.877,
+3.160,5.815,3.939,2.609,2.216,4.011,3.319,0.250,1.689,2.695,
+5.465,2.541,2.550,4.693,7.681,2.954,1.813,2.981,3.138,1.807,
+1.275,1.510,2.620,0.234,0.999,1.588,2.296,1.968,1.107,2.029,
+3.581,1.860,1.119,1.536,1.868,1.132,0.893,0.928,1.882,0.158,
+0.942,1.227,1.271,1.148,0.780,1.192,2.686,2.042,1.225,1.765,
+0.193,0.154,0.118,0.168,1.774,0.161,0.934,1.329,1.269,1.555,
+0.976,1.500,2.387,1.391,1.043,1.896,1.920,1.363,1.313,1.527,
+1.857,0.129,0.946,1.487,1.873,1.377,1.224,2.437,6.044,1.858,
+1.714,2.435,2.697,1.449,1.334,1.622,2.615,0.261,1.042,1.763,
+2.338,1.800,1.368,2.910,0.324,0.193,0.128,0.214,0.228,0.180,
+0.127,0.153,0.202,0.027,0.131,0.189,0.265,0.294,0.174,0.318,
+1.970,1.388,1.278,1.573,0.166,0.114,0.115,0.169,1.484,0.145,
+0.963,1.191,1.141,1.276,1.071,1.319,1.910,1.125,1.090,1.797,
+2.064,1.389,1.210,1.683,1.692,0.146,1.404,1.693,1.626,1.332,
+1.434,2.432,8.504,2.605,2.110,4.628,2.588,1.350,1.333,1.766,
+3.599,0.301,1.314,2.242,4.456,2.641,2.096,5.324,4.020,2.286,
+1.618,2.412,2.446,1.587,1.330,1.616,2.450,0.159,1.370,2.189,
+2.834,2.352,1.822,3.282,2.612,1.916,1.489,2.158,0.194,0.139,
+0.126,0.190,1.786,0.125,1.044,1.615,1.741,1.772,1.544,2.138,
+4.126,2.556,1.801,3.718,2.048,1.365,1.243,2.059,2.651,0.164,
+1.556,2.602,3.589,2.329,2.355,4.681,7.057,3.501,2.162,3.760,
+2.773,1.753,1.311,1.603,2.082,0.204,0.875,1.539,2.272,2.033,
+1.211,2.229,3.119,2.077,1.208,1.689,1.856,1.185,1.033,1.139,
+1.443,0.167,0.846,1.247,1.100,1.141,0.792,1.421,2.019,1.815,
+1.165,1.669,0.178,0.191,0.118,0.194,1.273,0.114,0.845,0.992,
+0.943,1.223,0.987,1.396,2.089,1.024,0.997,1.678,1.761,1.403,
+0.938,1.393,1.367,0.162,0.664,1.113,1.420,1.018,1.004,2.139,
+3.787,2.533,1.140,1.841,2.071,1.578,0.939,1.005,1.503,0.158,
+0.605,0.989,1.194,1.265,0.681,1.240,2.044,1.459,0.749,1.026,
+1.282,0.727,0.731,0.726,1.121,0.126,0.630,0.928,0.700,0.817,
+0.543,0.784,1.540,1.817,0.821,1.146,0.141,0.237,0.097,0.119,
+1.170,0.175,0.697,0.950,0.746,1.413,0.725,1.096,1.228,0.850,
+0.539,0.908,1.208,1.170,0.627,0.824,1.175,0.101,0.507,0.892,
+0.885,0.806,0.611,1.321,2.509,1.433,0.940,1.711,1.836,1.352,
+1.131,1.218,1.391,0.166,0.675,1.148,1.129,1.123,0.845,1.638,
+0.149,0.160,0.083,0.288,0.133,0.163,0.109,0.101,0.112,0.029,
+0.098,0.139,0.100,0.176,0.093,0.149,1.403,1.474,1.142,1.237,
+0.157,0.149,0.112,0.128,1.117,0.139,0.737,0.953,0.723,1.133,
+0.928,1.100,1.055,0.673,0.643,0.976,1.362,1.234,0.928,1.116,
+1.027,0.097,0.810,1.134,0.855,0.774,0.989,1.499,2.408,1.077,
+0.910,1.572,1.333,0.830,0.911,0.848,1.172,0.100,0.527,0.948,
+1.454,0.960,0.749,1.725,1.856,1.331,0.937,1.624,1.247,1.137,
+0.825,0.952,0.990,0.097,0.717,1.571,0.953,1.143,0.811,1.493,
+1.390,1.286,1.035,1.317,0.110,0.104,0.075,0.110,1.037,0.091,
+0.718,1.073,0.854,1.087,0.976,1.397,1.632,0.889,0.867,1.407,
+1.177,0.906,0.752,1.084,1.305,0.102,0.856,1.475,1.609,1.338,
+1.395,2.447,5.164,2.071,2.204,2.741,1.651,1.047,0.844,1.120,
+2.163,0.166,0.824,1.193,1.851,1.451,0.885,1.751,2.650,1.766,
+1.071,1.422,1.326,0.900,0.830,0.857,1.587,0.149,0.856,1.103,
+1.148,1.279,0.716,1.221,1.804,1.715,1.256,1.641,0.176,0.214,
+0.131,0.234,1.127,0.135,0.617,0.946,0.935,1.396,0.778,1.498,
+1.909,1.232,1.055,1.859,1.468,1.443,0.917,1.374,1.481,0.140,
+0.805,1.389,1.640,1.194,1.325,3.277,0.275,0.181,0.117,0.186,
+0.189,0.150,0.092,0.112,0.141,0.022,0.072,0.106,0.129,0.151,
+0.091,0.156,0.197,0.157,0.089,0.108,0.151,0.140,0.093,0.089,
+0.137,0.029,0.090,0.106,0.098,0.134,0.067,0.105,0.136,0.170,
+0.098,0.122,0.019,0.033,0.023,0.021,0.130,0.030,0.090,0.126,
+0.097,0.171,0.089,0.148,0.215,0.138,0.104,0.206,0.225,0.255,
+0.161,0.221,0.167,0.020,0.115,0.177,0.179,0.154,0.148,0.319,
+1.916,1.050,0.791,0.990,1.167,0.944,0.775,0.800,1.352,0.176,
+0.797,1.059,0.993,0.928,0.824,1.153,0.140,0.139,0.061,0.082,
+0.090,0.112,0.074,0.066,0.117,0.027,0.091,0.097,0.109,0.141,
+0.082,0.105,1.100,1.293,0.756,0.825,0.110,0.214,0.085,0.106,
+1.137,0.216,0.510,0.736,0.664,1.030,0.651,0.784,0.992,0.675,
+0.557,0.715,0.974,1.085,0.728,0.872,1.143,0.144,1.006,1.233,
+0.766,0.872,0.787,1.190,1.833,0.865,0.672,1.221,1.082,0.606,
+0.475,0.624,1.134,0.103,0.581,0.930,1.301,0.907,0.662,1.413,
+1.890,1.342,0.755,1.103,1.272,1.023,0.713,0.757,1.190,0.110,
+0.772,1.148,1.182,1.238,0.781,1.221,1.358,1.259,0.881,1.221,
+0.118,0.137,0.076,0.128,1.210,0.171,0.790,1.666,0.969,1.333,
+0.922,1.420,1.536,0.819,0.828,1.104,1.171,0.971,0.769,1.015,
+1.418,0.126,1.054,1.588,1.637,1.389,1.348,2.518,6.888,2.605,
+2.119,5.421,2.020,1.113,1.069,1.538,2.100,0.184,0.897,1.654,
+3.893,2.099,1.411,3.384,2.441,1.237,0.879,1.450,1.202,0.673,
+0.633,0.820,1.369,0.100,0.770,1.204,1.303,1.013,0.700,1.418,
+2.632,1.593,1.071,2.156,0.174,0.136,0.096,0.242,1.257,0.105,
+0.570,1.120,1.314,1.243,0.774,1.720,3.041,1.396,1.460,3.827,
+1.759,1.189,1.070,2.067,1.759,0.140,1.096,1.920,2.816,1.773,
+1.874,5.330,3.690,1.930,1.285,2.616,2.144,1.327,0.963,1.342,
+1.718,0.157,0.791,1.383,1.688,1.485,0.934,1.775,2.416,1.325,
+0.825,1.339,1.479,1.008,0.709,0.873,1.412,0.191,0.788,1.229,
+1.151,1.160,0.599,1.152,1.847,1.442,0.852,1.517,0.113,0.111,
+0.072,0.134,1.326,0.121,0.738,1.261,1.209,1.436,0.857,1.623,
+2.195,1.107,0.957,2.041,1.716,1.361,0.950,1.706,1.584,0.111,
+0.969,1.631,1.822,1.365,1.332,2.911,2.185,1.203,0.949,1.624,
+1.542,0.966,0.871,1.208,1.571,0.177,0.850,1.376,1.445,1.299,
+0.985,1.786,0.157,0.116,0.072,0.128,0.101,0.094,0.075,0.087,
+0.119,0.019,0.096,0.242,0.127,0.143,0.085,0.156,1.313,1.207,
+0.804,1.213,0.098,0.086,0.070,0.115,1.827,0.127,0.667,0.949,
+1.060,1.099,0.984,1.246,1.328,0.860,0.789,1.277,1.363,0.994,
+0.901,1.399,1.642,0.171,0.951,1.565,1.279,1.143,1.129,2.026,
+3.976,1.523,1.306,2.573,1.614,0.968,1.506,1.201,1.877,0.151,
+0.965,1.532,2.627,1.618,1.384,3.374,1.853,1.090,0.802,1.292,
+1.158,0.762,0.703,0.863,1.193,0.085,0.771,1.445,1.475,1.246,
+0.880,1.760,2.110,1.675,1.164,1.936,0.145,0.108,0.077,0.147,
+1.706,0.119,0.954,1.653,1.777,1.805,1.465,2.227,3.310,1.526,
+1.500,3.226,2.036,1.533,1.261,2.065,2.513,0.136,1.633,2.856,
+4.115,2.540,2.565,5.720,6.456,3.572,2.685,4.439,3.876,2.169,
+1.594,1.981,2.773,0.299,1.291,2.054,3.589,2.865,1.677,2.865,
+3.164,2.141,1.313,1.555,2.143,1.424,1.160,1.149,1.790,0.173,
+1.145,1.400,1.312,1.408,1.051,1.590,1.833,1.637,1.134,1.608,
+0.183,0.160,0.119,0.206,1.199,0.131,0.721,0.926,1.112,1.395,
+1.007,1.504,2.374,1.293,1.021,2.088,2.066,1.561,1.035,1.688,
+1.641,0.253,0.885,1.463,1.829,1.434,1.431,2.603,3.982,2.414,
+1.217,1.925,3.709,1.942,1.093,1.200,2.060,0.365,0.898,1.274,
+1.471,1.863,0.859,1.571,2.314,1.782,0.837,1.095,1.712,1.095,
+0.838,0.877,1.500,0.238,1.029,1.329,0.899,1.225,0.714,1.261,
+1.609,1.586,0.796,0.997,0.309,0.156,0.115,0.127,1.285,0.178,
+0.868,1.048,0.872,1.453,0.915,1.149,1.208,0.908,0.505,0.880,
+1.572,1.101,0.681,0.918,1.092,0.112,0.713,1.124,0.995,1.022,
+0.937,1.688,2.139,1.286,0.785,1.232,2.226,1.601,0.965,1.152,
+1.796,0.228,0.764,1.148,1.250,1.222,0.821,1.635,0.172,0.187,
+0.093,0.131,0.299,0.330,0.132,0.141,0.150,0.042,0.128,0.157,
+0.129,0.250,0.113,0.177,1.036,1.399,0.747,0.875,0.127,0.114,
+0.081,0.118,0.935,0.128,0.740,1.078,0.648,0.927,0.728,0.903,
+0.910,0.659,0.523,0.796,1.252,1.162,0.749,1.026,1.038,0.130,
+1.022,1.192,0.899,0.967,0.972,1.490,2.327,1.107,0.837,1.756,
+1.282,0.756,0.565,0.789,1.334,0.155,0.626,1.020,1.515,1.070,
+0.795,1.930,1.894,1.517,0.922,1.347,1.630,1.413,0.944,1.045,
+1.128,0.126,0.834,1.214,1.027,1.290,0.831,1.397,1.079,0.987,
+0.923,1.122,0.139,0.085,0.169,0.157,0.812,0.087,0.608,0.857,
+0.736,1.009,0.838,1.111,1.433,0.830,0.773,1.417,0.948,0.762,
+0.760,1.001,1.272,0.106,0.882,1.454,1.619,1.463,1.432,2.715,
+3.700,2.403,1.665,2.463,2.583,2.191,1.398,1.482,1.464,0.186,
+0.732,1.162,1.497,1.516,0.904,1.642,2.520,1.853,1.072,1.303,
+2.086,1.520,1.505,1.230,1.215,0.186,0.919,1.187,0.748,1.072,
+0.728,1.543,1.136,1.330,0.924,1.132,0.136,0.168,0.130,0.158,
+0.776,0.109,0.640,0.743,0.645,0.965,0.725,1.073,1.175,0.692,
+0.595,1.077,1.228,1.231,0.785,1.033,0.995,0.150,0.588,0.853,
+1.078,0.903,0.834,1.627,2.274,1.943,0.858,1.188,1.935,1.989,
+0.912,0.912,1.154,0.170,0.667,0.879,0.817,1.096,0.582,0.956,
+1.531,1.379,0.667,0.726,0.947,0.402,0.653,0.602,0.966,0.205,
+0.751,1.009,0.501,0.922,0.566,0.731,0.976,1.518,0.703,0.831,
+0.143,0.225,0.128,0.128,0.928,0.187,0.720,0.950,0.549,1.315,
+0.819,0.957,0.742,0.647,0.394,0.600,0.979,1.201,0.562,0.733,
+0.781,0.099,0.577,1.007,0.597,0.713,0.607,1.222,1.688,1.264,
+0.733,1.012,2.184,2.286,1.177,1.117,1.349,0.286,0.767,1.022,
+0.891,1.879,0.759,1.263,0.135,0.204,0.095,0.127,0.378,0.448,
+0.200,0.134,0.169,0.099,0.229,0.157,0.104,0.892,0.114,0.125,
+1.235,1.482,0.862,0.893,0.380,0.283,0.149,0.138,0.989,0.178,
+0.805,0.938,0.576,1.216,1.021,0.954,0.816,0.660,0.522,0.680,
+2.128,2.495,1.295,1.183,1.100,0.138,0.815,1.047,0.743,0.890,
+0.942,1.324,1.375,0.844,0.595,1.019,1.034,0.831,0.508,0.625,
+0.798,0.089,0.433,0.679,0.868,0.776,0.510,1.128,1.232,1.220,
+0.789,1.197,1.357,1.658,0.872,0.890,0.858,0.163,0.758,0.973,
+0.617,1.571,0.651,0.949,0.890,1.183,0.822,0.921,0.125,0.132,
+0.082,0.093,0.624,0.083,0.611,0.748,0.534,0.868,0.796,0.989,
+0.944,0.596,0.509,0.836,0.904,0.875,0.894,0.827,0.908,0.077,
+0.610,0.932,1.003,1.057,1.008,1.755,2.409,1.662,1.153,1.725,
+1.762,1.094,0.772,1.025,1.285,0.145,0.635,0.928,1.198,1.181,
+0.887,1.422,1.875,1.770,0.781,1.120,1.477,1.292,0.936,0.981,
+1.618,0.231,1.121,1.295,0.846,1.333,0.713,1.151,1.074,1.467,
+0.822,1.150,0.137,0.177,0.128,0.207,0.964,0.152,0.656,0.977,
+0.681,1.172,0.698,1.636,1.058,0.728,0.524,1.106,1.091,1.092,
+0.690,1.056,1.086,0.125,0.766,1.216,1.062,0.858,0.993,2.210,
+0.186,0.139,0.071,0.107,0.358,0.201,0.136,0.117,0.120,0.030,
+0.078,0.103,0.090,0.137,0.154,0.220,0.126,0.175,0.068,0.085,
+0.183,0.230,0.137,0.123,0.152,0.072,0.144,0.153,0.070,0.148,
+0.076,0.097,0.090,0.181,0.089,0.091,0.031,0.067,0.051,0.029,
+0.138,0.062,0.145,0.159,0.073,0.188,0.118,0.143,0.096,0.084,
+0.051,0.101,0.196,0.237,0.124,0.159,0.115,0.025,0.120,0.158,
+0.094,0.107,0.118,0.191,1.531,1.398,0.700,0.898,1.409,1.870,
+1.010,0.992,1.426,0.288,2.016,1.715,0.858,1.162,0.894,1.238,
+0.129,0.368,0.086,0.089,0.144,0.421,0.165,0.106,0.143,0.071,
+0.196,0.160,0.084,0.206,0.105,0.108,0.863,1.739,0.784,0.808,
+0.134,0.268,0.142,0.132,1.172,0.261,0.731,1.006,0.586,1.288,
+0.845,0.933,0.706,0.773,0.479,0.622,1.196,2.617,0.906,1.027,
+1.375,0.265,1.851,1.343,0.706,1.056,1.013,1.234,1.213,0.797,
+0.533,1.104,0.844,0.670,0.414,0.561,0.851,0.108,0.559,1.267,
+0.820,0.807,0.527,1.189,1.392,1.641,0.694,0.912,1.446,2.354,
+0.853,0.929,1.218,0.195,1.012,1.291,0.871,1.420,0.785,1.108,
+0.977,1.332,0.986,0.942,0.102,0.152,0.098,0.106,1.123,0.194,
+0.936,1.188,0.745,1.429,0.942,1.261,0.866,0.639,0.510,0.824,
+0.837,0.927,0.666,0.786,1.161,0.128,1.164,1.400,1.132,1.238,
+1.158,1.799,2.383,1.202,0.919,1.863,1.157,0.681,0.604,1.002,
+1.073,0.103,0.486,1.000,1.336,0.968,0.668,1.532,1.426,1.165,
+0.526,0.888,0.829,0.600,0.489,0.718,0.832,0.083,0.523,1.433,
+0.725,0.639,0.448,0.937,0.935,0.914,0.500,0.911,0.073,0.070,
+0.045,0.113,0.620,0.062,0.360,0.678,0.596,0.692,0.453,0.949,
+1.272,0.682,0.573,1.360,0.832,0.632,0.468,0.989,0.817,0.069,
+0.479,1.018,1.143,0.784,0.895,2.244,2.121,1.274,0.822,1.331,
+1.889,1.181,1.347,1.093,1.210,0.149,0.661,1.071,1.012,1.163,
+0.891,1.359,1.398,1.144,0.546,0.849,1.289,1.090,0.719,0.863,
+1.281,0.267,0.720,1.270,0.801,1.201,0.563,1.045,0.944,1.421,
+0.546,0.776,0.091,0.132,0.074,0.103,0.871,0.137,0.646,1.017,
+0.777,1.544,0.701,1.151,0.919,0.668,0.513,0.936,1.123,1.088,
+0.672,1.186,0.898,0.093,0.702,1.147,0.941,0.976,0.914,1.775,
+1.349,0.895,0.596,0.914,1.151,1.023,0.722,0.913,1.205,0.163,
+0.744,1.088,0.893,0.919,0.779,1.381,0.090,0.105,0.049,0.078,
+0.087,0.136,0.084,0.077,0.080,0.020,0.077,0.104,0.073,0.116,
+0.071,0.107,0.828,0.957,0.542,0.807,0.085,0.089,0.062,0.102,
+1.089,0.125,0.623,0.874,0.667,0.979,0.756,0.995,0.756,0.619,
+0.492,0.792,1.007,0.991,0.658,1.063,1.307,0.226,0.922,1.263,
+0.875,1.005,0.994,1.586,1.732,0.892,0.687,1.321,0.884,0.656,
+0.510,0.648,1.008,0.106,0.566,0.999,1.088,0.794,0.701,1.653,
+1.234,0.883,0.547,0.883,0.941,0.845,0.568,0.710,0.815,0.070,
+0.564,0.939,0.868,0.843,0.644,1.206,1.378,1.112,0.751,1.135,
+0.226,0.083,0.059,0.103,1.085,0.101,0.769,1.162,1.034,1.357,
+1.061,1.549,1.590,0.909,0.841,1.704,1.538,1.196,0.927,1.316,
+1.640,0.140,1.366,2.047,2.209,1.757,1.896,2.819,5.373,2.047,
+2.181,3.153,2.206,1.364,1.235,1.480,2.604,0.205,0.955,1.310,
+2.575,1.981,1.111,2.069,1.778,1.142,0.744,1.053,1.218,0.748,
+0.730,0.860,1.122,0.132,0.658,0.784,0.904,0.913,0.642,1.012,
+1.881,1.185,0.834,1.239,0.135,0.104,0.089,0.172,0.941,0.089,
+0.585,0.816,0.799,0.932,0.724,1.080,1.879,0.984,0.756,1.572,
+1.452,1.040,0.806,1.289,1.095,0.094,0.632,1.000,1.386,0.846,
+1.047,2.052,3.236,1.712,1.162,1.919,2.111,1.440,1.467,1.634,
+1.713,0.226,0.723,1.069,1.356,1.551,0.730,1.391,1.724,1.292,
+0.704,0.983,1.256,0.750,0.840,1.081,2.043,0.750,0.818,1.047,
+0.879,1.558,0.558,0.867,1.532,1.507,0.963,1.270,0.169,0.155,
+0.136,0.175,1.313,0.162,0.846,1.179,0.858,1.269,0.937,1.113,
+1.310,0.844,0.578,1.121,1.510,1.311,0.893,1.269,1.062,0.102,
+0.645,1.018,0.955,0.871,0.927,1.682,2.389,0.989,0.808,1.323,
+1.980,1.304,1.316,1.337,5.030,0.378,1.001,1.200,1.897,1.428,
+0.926,1.709,0.185,0.152,0.092,0.150,0.199,0.181,0.159,0.194,
+0.270,0.049,0.166,0.159,0.224,0.336,0.135,0.219,1.026,0.940,
+0.927,0.956,0.119,0.115,0.112,0.147,1.064,0.187,0.617,0.735,
+0.696,1.254,0.685,0.817,0.896,0.540,0.513,0.815,1.288,1.069,
+0.949,1.258,1.052,0.119,0.716,0.922,1.019,0.931,0.896,1.541,
+2.390,0.920,0.790,1.656,1.183,0.753,0.735,1.073,1.863,0.182,
+0.676,0.992,2.276,1.376,0.833,2.064,1.687,1.058,0.754,1.152,
+1.379,0.890,0.989,1.170,1.413,0.142,0.828,1.055,1.427,1.325,
+0.759,1.374,1.157,1.010,0.979,1.231,0.115,0.090,0.094,0.151,
+1.004,0.103,0.692,1.032,0.943,1.214,0.959,1.391,1.680,0.889,
+0.797,1.648,1.122,0.831,0.814,1.289,1.537,0.126,1.042,1.693,
+2.521,1.809,1.955,4.025,0.282,0.163,0.127,0.183,0.188,0.152,
+0.118,0.154,0.150,0.022,0.074,0.101,0.149,0.165,0.089,0.148,
+0.218,0.145,0.109,0.143,0.173,0.142,0.144,0.199,0.118,0.023,
+0.105,0.105,0.083,0.112,0.080,0.128,0.123,0.137,0.090,0.113,
+0.024,0.024,0.022,0.026,0.096,0.017,0.074,0.092,0.067,0.111,
+0.079,0.109,0.130,0.084,0.067,0.126,0.163,0.151,0.112,0.148,
+0.129,0.016,0.078,0.164,0.114,0.092,0.112,0.194,0.221,0.175,
+0.097,0.156,0.194,0.207,0.151,0.236,0.136,0.032,0.072,0.106,
+0.095,0.140,0.072,0.114,0.185,0.187,0.093,0.118,0.186,0.150,
+0.168,0.248,0.164,0.051,0.109,0.132,0.075,0.136,0.074,0.107,
+0.138,0.186,0.123,0.121,0.031,0.050,0.047,0.032,0.153,0.047,
+0.123,0.137,0.074,0.168,0.129,0.126,0.118,0.093,0.060,0.105,
+0.200,0.237,0.138,0.147,0.111,0.016,0.080,0.118,0.084,0.092,
+0.094,0.169,0.167,0.102,0.069,0.102,0.181,0.189,0.163,0.136,
+0.232,0.049,0.126,0.103,0.108,0.150,0.091,0.134,0.017,0.025,
+0.015,0.020,0.032,0.053,0.046,0.033,0.038,0.029,0.052,0.030,
+0.015,0.046,0.022,0.021,0.111,0.158,0.187,0.154,0.027,0.045,
+0.045,0.032,0.247,0.124,0.131,0.127,0.099,0.386,0.127,0.116,
+0.099,0.066,0.071,0.093,0.168,0.203,0.171,0.177,0.132,0.027,
+0.117,0.125,0.095,0.123,0.116,0.168,0.225,0.155,0.111,0.174,
+0.149,0.118,0.103,0.127,0.168,0.021,0.087,0.111,0.215,0.170,
+0.121,0.242,0.256,0.232,0.160,0.201,0.266,0.250,0.238,0.246,
+0.250,0.040,0.210,0.207,0.203,0.303,0.167,0.238,0.127,0.153,
+0.136,0.149,0.018,0.026,0.021,0.027,0.148,0.029,0.128,0.159,
+0.111,0.190,0.157,0.194,0.185,0.123,0.100,0.171,0.158,0.163,
+0.133,0.172,0.178,0.019,0.139,0.208,0.237,0.206,0.219,0.392,
+2.086,1.086,0.873,1.321,1.110,0.854,0.654,0.802,1.059,0.115,
+0.633,0.708,0.874,0.769,0.550,0.864,1.277,0.970,0.601,0.782,
+1.035,0.822,0.862,0.719,1.054,0.137,1.230,0.927,0.613,0.790,
+0.569,0.760,1.154,1.315,1.192,1.170,0.167,0.177,0.413,0.248,
+1.405,0.173,0.734,0.882,0.693,1.295,0.670,0.947,0.922,0.604,
+0.532,1.078,0.963,0.842,1.132,1.189,1.084,0.111,0.749,1.052,
+0.857,0.751,0.839,1.623,0.143,0.116,0.065,0.108,0.148,0.177,
+0.103,0.113,0.089,0.021,0.064,0.077,0.065,0.087,0.052,0.086,
+0.104,0.102,0.052,0.061,0.125,0.134,0.118,0.097,0.100,0.034,
+0.116,0.105,0.054,0.079,0.050,0.064,0.123,0.161,0.243,0.117,
+0.029,0.047,0.256,0.038,0.129,0.042,0.137,0.129,0.066,0.136,
+0.095,0.100,0.116,0.079,0.068,0.124,0.158,0.185,0.309,0.203,
+0.113,0.018,0.097,0.141,0.081,0.084,0.088,0.155,1.313,0.872,
+0.577,0.675,1.228,1.560,1.193,0.958,1.076,0.184,0.886,0.853,
+0.586,0.725,0.699,0.879,0.103,0.151,0.078,0.072,0.127,0.269,
+0.279,0.098,0.117,0.044,0.215,0.121,0.070,0.127,0.102,0.089,
+0.947,1.104,0.834,0.958,0.133,0.164,0.162,0.238,1.035,0.190,
+0.410,0.597,0.464,0.871,0.668,0.733,0.666,0.470,0.409,0.559,
+0.916,0.961,0.801,1.154,0.902,0.127,0.853,0.879,0.537,0.651,
+0.727,0.933,1.084,0.635,0.492,0.814,0.774,0.630,0.410,0.502,
+0.752,0.092,0.510,0.710,0.691,0.617,0.435,0.818,1.130,1.074,
+0.612,0.691,1.112,1.276,1.073,0.726,0.988,0.137,0.962,0.978,
+0.957,0.995,0.674,0.864,1.076,1.411,0.797,1.027,0.121,0.202,
+0.123,0.205,1.184,0.240,1.151,1.223,0.718,1.282,0.954,1.131,
+0.855,0.581,0.467,0.759,0.941,0.943,0.625,0.878,1.007,0.110,
+0.936,1.145,0.944,0.977,0.990,1.469,2.390,0.952,0.725,1.408,
+0.926,0.574,0.491,0.706,0.862,0.090,0.393,0.647,1.167,0.776,
+0.537,1.189,1.209,0.677,0.446,0.672,0.656,0.450,0.401,0.500,
+0.575,0.051,0.397,0.564,0.502,0.442,0.344,0.625,1.006,1.269,
+0.571,0.891,0.082,0.080,0.073,0.126,0.694,0.069,0.376,0.624,
+0.645,0.740,0.514,0.842,1.223,0.746,0.589,1.224,0.836,0.602,
+0.610,1.047,0.802,0.068,0.444,0.785,1.113,0.711,0.828,1.755,
+2.117,1.324,0.821,1.511,1.373,1.256,0.851,1.022,1.028,0.112,
+0.585,0.903,0.962,0.971,0.574,1.195,1.418,1.098,0.588,0.908,
+1.183,1.009,0.794,0.945,0.930,0.107,0.701,0.980,0.654,0.744,
+0.523,0.798,1.439,1.489,1.316,1.113,0.105,0.134,0.264,0.139,
+0.981,0.123,0.789,1.105,0.779,1.207,0.821,1.213,1.251,0.842,
+0.726,1.193,1.280,1.165,1.090,1.335,1.012,0.095,0.705,1.161,
+0.965,0.933,0.852,1.625,1.468,0.944,0.671,0.925,1.203,1.167,
+0.926,1.030,1.118,0.152,0.700,1.099,0.834,0.853,0.747,1.342,
+0.125,0.127,0.062,0.090,0.121,0.256,0.122,0.115,0.087,0.024,
+0.101,0.116,0.080,0.126,0.085,0.112,0.982,1.738,0.739,1.198,
+0.096,0.133,0.099,0.295,1.076,0.175,0.649,0.907,0.748,1.668,
+0.821,1.012,0.890,0.699,0.575,0.849,1.133,1.054,0.954,1.672,
+1.047,0.107,0.867,1.205,0.919,0.960,1.063,1.504,1.959,0.844,
+0.774,1.303,0.940,0.680,0.609,0.705,1.091,0.139,0.577,1.000,
+1.027,0.728,0.611,1.539,1.459,1.143,0.588,0.919,1.046,1.025,
+0.739,0.806,0.847,0.079,0.715,1.026,0.864,0.801,0.665,1.134,
+1.274,1.313,0.879,1.347,0.111,0.143,0.082,0.157,1.254,0.135,
+1.004,1.478,1.108,1.440,1.214,1.598,1.796,0.954,0.869,1.756,
+1.402,1.747,0.965,1.487,1.524,0.122,1.194,1.983,2.129,1.536,
+1.720,3.077,5.584,2.529,2.267,5.026,2.487,1.355,1.212,1.751,
+2.477,0.209,0.939,1.692,4.666,2.781,1.441,3.239,2.097,1.038,
+0.786,1.227,1.211,0.675,0.602,0.758,1.252,0.088,0.709,0.822,
+1.193,1.021,0.594,1.105,1.774,1.128,0.836,1.550,0.142,0.090,
+0.075,0.172,0.984,0.075,0.509,0.834,1.071,1.026,0.722,1.406,
+3.609,1.392,1.210,2.661,1.789,1.101,0.943,1.652,1.502,0.115,
+0.937,1.408,2.419,1.422,1.458,3.715,2.663,1.207,0.819,1.612,
+1.417,0.740,0.591,0.843,1.147,0.106,0.468,0.787,1.460,1.126,
+0.547,1.286,1.374,0.782,0.464,0.784,0.757,0.399,0.381,0.553,
+0.953,0.136,0.432,0.610,0.798,0.701,0.387,0.722,1.286,0.964,
+0.668,1.048,0.105,0.065,0.061,0.092,0.936,0.071,0.416,0.684,
+0.856,0.877,0.648,0.978,1.303,0.747,0.573,1.161,1.070,0.686,
+0.541,0.822,0.877,0.057,0.474,0.799,1.016,0.768,0.712,1.795,
+2.963,0.936,0.794,1.548,1.492,0.826,0.747,1.197,2.016,0.175,
+0.587,0.932,2.248,1.360,0.787,2.048,0.177,0.094,0.069,0.137,
+0.123,0.084,0.073,0.122,0.136,0.014,0.066,0.101,0.237,0.211,
+0.089,0.206,1.003,0.743,0.750,1.033,0.084,0.056,0.056,0.105,
+0.865,0.082,0.381,0.595,0.870,0.867,0.595,0.909,1.049,0.581,
+0.633,1.165,1.056,0.696,0.653,1.119,0.917,0.075,0.534,0.880,
+1.189,0.906,0.879,1.840,3.648,1.223,1.089,2.710,1.420,0.732,
+0.699,1.230,2.451,0.189,0.884,1.363,6.189,2.315,1.338,3.826,
+1.993,0.982,0.828,1.388,1.172,0.703,0.697,1.034,1.468,0.099,
+0.730,1.104,2.186,1.602,0.893,1.863,1.406,1.016,0.964,1.427,
+0.107,0.072,0.075,0.126,1.247,0.080,0.676,1.089,1.323,1.283,
+1.017,1.684,2.588,1.251,1.149,2.650,1.486,1.006,0.910,1.577,
+1.983,0.127,1.172,2.083,3.788,2.562,2.353,5.816,3.602,1.802,
+1.371,2.708,1.946,1.220,0.992,1.353,1.623,0.156,0.688,1.140,
+2.014,1.894,0.926,1.939,2.206,1.199,0.885,1.540,1.441,0.920,
+0.836,1.020,1.070,0.108,1.282,0.961,0.918,0.980,0.673,1.220,
+1.373,1.241,0.810,1.332,0.136,0.118,0.083,0.150,0.873,0.093,
+0.563,0.920,0.858,1.051,0.727,1.316,1.555,0.879,0.735,1.423,
+1.468,1.096,0.786,1.234,1.125,0.110,0.675,1.135,1.322,0.964,
+1.032,2.162,2.476,1.404,0.862,1.740,1.589,1.140,0.781,1.105,
+1.093,0.119,0.446,0.835,1.163,1.250,0.557,1.227,1.552,1.223,
+0.614,1.024,1.229,0.828,0.674,0.951,0.990,0.117,0.552,0.801,
+0.720,0.837,0.501,0.833,1.227,1.283,0.774,1.096,0.164,0.169,
+0.135,0.161,1.051,0.134,0.591,0.892,0.834,1.223,0.789,1.235,
+1.122,0.826,0.558,1.024,1.356,1.427,0.742,0.964,0.803,0.071,
+0.465,0.888,0.875,0.768,0.673,1.555,2.030,0.918,0.660,1.194,
+1.396,0.946,0.880,1.111,1.342,0.166,0.639,0.774,1.250,1.157,
+0.723,1.515,0.102,0.090,0.057,0.108,0.104,0.112,0.093,0.116,
+0.102,0.025,0.119,0.092,0.109,0.172,0.082,0.124,1.067,1.089,
+0.958,1.089,0.103,0.108,0.091,0.121,1.155,0.210,0.573,0.830,
+0.822,1.522,0.817,1.144,1.098,0.623,0.637,1.078,1.252,1.175,
+0.947,1.268,1.079,0.098,0.672,1.004,1.042,0.909,0.985,1.764,
+2.316,1.095,0.895,1.670,1.102,0.698,0.633,0.890,1.307,0.114,
+0.668,0.913,2.032,1.331,0.931,2.151,1.748,1.196,0.929,1.403,
+1.277,1.011,0.955,1.169,1.262,0.125,0.948,1.149,1.457,1.811,
+1.032,1.646,1.156,1.076,0.913,1.337,0.096,0.092,0.069,0.113,
+1.038,0.091,0.718,1.124,1.017,1.241,0.983,1.656,1.750,0.950,
+0.860,1.550,1.425,1.180,0.964,1.243,1.455,0.105,0.929,1.600,
+2.106,1.604,1.551,3.163,2.304,1.253,0.890,1.730,1.165,0.848,
+0.590,0.916,1.199,0.108,0.545,0.873,1.384,1.049,0.667,1.289,
+1.648,1.175,0.655,1.099,1.057,0.768,0.613,0.691,1.123,0.114,
+0.728,0.919,0.946,1.051,0.614,1.113,1.313,1.348,0.961,1.400,
+0.190,0.154,0.164,0.201,1.101,0.115,0.665,1.154,0.841,1.189,
+0.729,1.613,1.280,0.848,0.683,1.389,1.138,1.005,0.786,1.155,
+1.321,0.120,0.751,1.342,1.388,0.983,1.095,2.420,0.140,0.104,
+0.064,0.141,0.146,0.109,0.069,0.092,0.090,0.014,0.052,0.077,
+0.098,0.113,0.070,0.129,0.099,0.087,0.045,0.072,0.095,0.103,
+0.066,0.071,0.086,0.016,0.076,0.087,0.069,0.087,0.052,0.084,
+0.098,0.128,0.123,0.107,0.016,0.024,0.066,0.021,0.125,0.022,
+0.090,0.125,0.082,0.137,0.091,0.309,0.120,0.087,0.067,0.138,
+0.140,0.154,0.153,0.151,0.116,0.014,0.079,0.132,0.114,0.101,
+0.098,0.218,1.452,0.869,0.596,0.877,1.105,1.032,0.819,0.915,
+1.048,0.158,0.805,0.845,0.856,1.011,0.979,1.329,0.094,0.100,
+0.048,0.071,0.079,0.109,0.077,0.061,0.086,0.021,0.164,0.085,
+0.088,0.134,0.094,0.107,0.999,1.737,0.761,1.012,0.098,0.136,
+0.093,0.116,1.075,0.133,0.522,0.730,0.632,1.044,0.772,1.024,
+0.942,0.712,0.527,0.782,1.036,1.087,0.778,0.990,1.162,0.115,
+1.143,1.096,0.871,0.949,1.021,1.553,1.482,0.757,0.574,1.123,
+0.905,0.645,0.469,0.674,0.997,0.092,0.622,0.881,1.226,0.875,
+0.845,1.456,1.541,1.093,0.725,1.103,1.070,1.032,0.741,0.785,
+1.208,0.109,0.946,1.114,1.323,1.331,0.927,1.426,1.659,1.523,
+1.000,1.524,0.137,0.268,0.101,0.141,1.298,0.131,0.923,1.318,
+1.411,1.503,1.197,1.702,1.363,0.841,0.756,1.230,1.172,1.182,
+0.778,1.060,1.491,0.117,1.182,1.563,1.690,1.545,1.529,2.631,
+4.568,1.637,1.349,2.939,1.512,0.874,0.749,1.303,1.541,0.125,
+0.706,1.321,2.312,1.432,0.987,2.574,1.825,0.981,0.626,1.128,
+1.007,0.636,0.540,0.812,1.047,0.086,1.021,1.184,0.960,0.819,
+0.660,1.220,1.591,2.473,0.779,1.676,0.112,0.120,0.071,0.173,
+0.972,0.093,0.583,1.017,1.074,1.118,0.738,1.578,2.410,1.355,
+1.095,2.717,1.407,0.937,0.841,1.660,1.414,0.103,0.880,1.748,
+2.860,1.525,1.614,4.615,2.065,1.108,0.773,1.610,1.235,0.850,
+0.652,0.928,1.002,0.084,0.479,0.932,1.145,0.976,0.648,1.626,
+1.326,0.820,0.476,0.888,0.854,0.607,0.446,0.680,0.842,0.069,
+0.621,0.893,0.757,0.743,0.569,0.992,1.158,1.059,0.783,1.193,
+0.073,0.083,0.092,0.101,0.965,0.085,0.601,1.015,0.970,1.242,
+0.756,1.732,1.454,0.856,0.745,1.555,1.285,0.977,0.770,1.322,
+1.069,0.074,0.660,1.233,1.386,1.102,1.034,2.446,2.278,1.286,
+1.081,1.588,1.569,1.137,1.024,1.513,1.613,0.167,0.803,1.335,
+1.591,1.349,1.226,2.628,0.137,0.128,0.073,0.128,0.098,0.109,
+0.090,0.106,0.093,0.013,0.080,0.107,0.129,0.143,0.095,0.186,
+1.434,1.486,0.981,1.692,0.098,0.098,0.072,0.157,1.376,0.125,
+0.740,1.189,1.181,1.434,1.122,1.832,1.709,1.138,1.035,1.610,
+1.697,1.332,1.146,1.923,1.724,0.139,1.394,1.913,1.686,1.371,
+1.705,2.952,4.468,1.655,1.396,2.929,1.698,1.122,0.933,1.403,
+2.127,0.153,1.026,1.861,3.119,1.895,1.672,5.204,2.542,1.556,
+1.031,1.733,1.719,1.525,1.000,1.316,1.844,0.116,1.047,1.728,
+1.995,1.679,1.317,2.748,2.537,2.094,1.554,2.706,0.135,0.130,
+0.089,0.182,2.150,0.147,1.479,2.469,2.440,2.544,2.264,3.745,
+5.097,2.274,2.150,4.926,2.758,2.061,1.682,3.117,3.318,0.185,
+2.347,4.449,5.997,3.493,3.586,7.422,5.317,2.729,1.973,3.597,
+3.065,1.855,1.370,1.725,2.835,0.293,1.236,1.883,3.489,2.745,
+1.513,2.560,3.616,2.049,1.161,1.529,2.028,1.319,0.974,0.991,
+1.700,0.156,0.913,1.151,1.288,1.304,0.878,1.351,2.066,1.719,
+1.151,1.547,0.189,0.192,0.135,0.220,1.377,0.159,0.969,1.004,
+1.176,1.610,1.070,1.399,3.162,1.468,1.330,2.347,2.166,1.554,
+1.315,1.961,1.691,0.158,0.939,1.429,2.031,1.396,1.375,2.358,
+3.531,1.791,0.964,1.708,2.063,1.533,0.907,1.064,1.668,0.194,
+0.647,0.989,1.259,1.309,0.659,1.129,2.489,1.635,0.754,1.025,
+1.526,1.132,0.745,0.733,1.350,0.185,0.730,1.008,0.790,1.052,
+0.575,0.790,1.348,1.533,0.730,0.991,0.132,0.177,0.101,0.117,
+1.381,0.195,0.774,0.944,0.742,1.368,0.755,0.990,1.140,0.837,
+0.526,0.892,1.233,1.118,0.669,0.905,1.224,0.120,0.714,0.972,
+0.977,0.948,0.840,1.434,1.818,0.959,0.668,1.026,1.429,0.867,
+0.773,0.857,1.283,0.175,0.554,0.919,1.038,1.029,0.722,1.339,
+0.151,0.134,0.067,0.098,0.126,0.116,0.086,0.087,0.121,0.030,
+0.085,0.117,0.115,0.190,0.093,0.150,0.887,0.845,0.698,0.674,
+0.099,0.098,0.080,0.093,0.944,0.204,0.476,0.609,0.517,0.866,
+0.557,0.609,0.873,0.580,0.535,0.710,1.049,0.861,0.664,0.922,
+1.064,0.127,1.012,0.944,0.850,0.872,0.845,1.227,2.531,1.046,
+0.745,1.629,1.159,0.681,0.628,0.845,1.206,0.116,0.492,0.894,
+1.592,1.103,0.801,1.879,2.103,1.315,0.781,1.096,1.395,0.968,
+0.790,0.844,1.157,0.106,0.661,0.981,1.107,1.199,0.762,1.326,
+1.088,0.952,0.884,1.049,0.108,0.089,0.196,0.113,0.933,0.099,
+0.586,0.834,0.827,1.080,0.812,1.008,1.531,0.883,0.840,1.460,
+0.991,0.772,0.806,1.068,1.374,0.124,0.898,1.435,1.608,1.448,
+1.374,2.536,3.443,2.349,1.403,2.258,1.971,1.647,1.090,1.215,
+1.504,0.180,0.705,1.063,1.334,1.474,1.042,1.477,2.336,2.842,
+1.022,1.202,1.625,1.374,1.055,0.948,1.090,0.167,0.725,0.949,
+0.712,0.981,0.608,0.927,1.240,2.044,0.873,0.985,0.185,0.439,
+0.135,0.156,1.257,0.162,0.884,0.813,0.699,1.186,1.002,0.990,
+1.307,0.859,0.650,1.016,1.448,1.645,0.759,0.964,1.043,0.238,
+0.568,0.834,1.067,0.924,0.816,1.565,2.314,1.981,0.787,1.127,
+1.611,1.851,0.892,0.824,1.143,0.187,0.518,0.756,0.740,1.115,
+0.737,0.991,1.548,1.846,0.675,0.738,1.266,0.860,0.841,0.667,
+1.050,0.212,0.623,0.839,0.541,1.020,0.551,0.649,1.043,2.314,
+0.727,0.828,0.172,0.561,0.153,0.130,1.500,0.469,0.760,1.027,
+0.674,2.422,0.791,0.928,0.823,0.796,0.402,0.597,1.158,1.705,
+0.568,0.694,1.137,0.175,0.498,0.720,0.702,1.190,0.560,1.083,
+1.297,1.163,0.567,0.759,1.275,1.187,0.897,0.820,0.919,0.160,
+0.567,0.705,0.575,0.803,0.615,0.861,0.134,0.312,0.080,0.090,
+0.125,0.199,0.133,0.087,0.124,0.066,0.124,0.121,0.062,0.168,
+0.086,0.090,1.022,1.195,2.375,0.833,0.277,0.207,0.169,0.127,
+1.176,0.207,0.694,0.820,0.491,1.119,0.791,0.722,0.725,0.532,
+0.492,0.648,1.189,1.263,0.857,0.932,1.047,0.131,0.743,0.918,
+0.568,0.779,0.757,0.992,1.122,0.703,0.465,0.744,0.777,0.600,
+0.801,0.522,0.678,0.067,0.306,0.454,0.650,0.556,0.421,0.776,
+1.162,1.407,0.632,0.731,0.909,1.004,0.635,0.668,1.144,0.122,
+0.507,0.701,0.568,0.943,0.518,0.774,0.770,0.954,0.684,0.732,
+0.083,0.117,0.073,0.079,0.754,0.103,0.566,0.725,0.521,0.869,
+0.879,0.901,0.930,0.621,0.479,0.722,0.819,0.809,0.495,0.729,
+1.148,0.215,0.663,1.004,0.972,1.238,1.035,1.583,1.776,1.274,
+0.750,1.315,0.987,0.851,0.529,0.667,0.871,0.104,0.428,0.643,
+0.850,0.849,0.457,0.883,1.573,1.920,0.748,0.924,1.108,1.116,
+0.710,0.670,1.007,0.161,0.645,0.784,0.641,1.009,0.532,0.781,
+1.028,1.403,0.810,1.027,0.131,0.177,0.109,0.167,0.812,0.124,
+0.486,0.645,0.525,0.985,0.522,0.814,0.944,0.643,0.547,0.890,
+0.979,0.848,0.558,0.759,0.840,0.101,0.511,0.832,0.897,0.808,
+0.766,1.843,0.122,0.129,0.056,0.096,0.122,0.170,0.078,0.084,
+0.107,0.028,0.055,0.070,0.071,0.125,0.058,0.086,0.130,0.281,
+0.073,0.092,0.153,0.300,0.118,0.103,0.122,0.049,0.100,0.104,
+0.067,0.151,0.068,0.084,0.081,0.160,0.075,0.082,0.024,0.057,
+0.037,0.023,0.117,0.048,0.106,0.108,0.061,0.178,0.086,0.093,
+0.092,0.084,0.053,0.091,0.184,0.211,0.116,0.134,0.123,0.025,
+0.087,0.112,0.096,0.117,0.092,0.173,0.841,0.662,0.463,0.565,
+0.733,0.744,0.983,0.535,0.909,0.156,0.488,0.560,0.489,0.626,
+0.503,0.602,0.078,0.130,0.052,0.052,0.072,0.114,0.087,0.050,
+0.093,0.037,0.076,0.076,0.062,0.132,0.068,0.067,0.598,0.941,
+0.535,0.502,0.086,0.135,0.099,0.075,0.839,0.171,0.427,0.573,
+0.402,1.046,0.553,0.546,0.553,0.426,0.333,0.387,0.670,0.797,
+0.565,0.559,1.118,0.198,0.646,0.714,0.513,0.835,0.573,0.782,
+0.826,0.512,0.329,0.681,0.580,0.406,0.318,0.347,0.994,0.075,
+0.267,0.450,0.682,0.521,0.328,0.698,1.016,0.959,0.497,0.618,
+0.864,0.876,0.580,0.564,0.832,0.111,0.526,0.708,0.667,0.899,
+0.542,0.718,0.780,0.937,0.612,0.657,0.095,0.132,0.078,0.080,
+1.028,0.230,0.546,0.732,0.576,1.147,0.612,0.794,0.840,0.542,
+0.481,0.596,0.776,0.787,0.574,0.646,1.082,0.125,0.785,1.053,
+0.953,1.097,0.875,1.496,2.055,1.191,0.813,1.679,0.893,0.653,
+0.467,0.616,0.849,0.093,0.380,0.705,1.216,0.963,0.593,1.378,
+1.023,0.745,0.426,0.852,0.655,0.468,0.330,0.438,0.603,0.065,
+0.297,0.531,0.540,0.561,0.328,0.661,0.927,0.845,0.498,0.928,
+0.091,0.096,0.057,0.121,0.657,0.062,0.324,0.509,0.550,0.666,
+0.420,0.751,1.173,0.644,0.573,1.340,0.846,0.656,0.478,0.837,
+0.742,0.071,0.468,0.795,1.156,0.877,0.799,2.103,1.692,1.179,
+0.656,1.220,1.231,1.088,0.579,0.750,1.037,0.133,0.458,0.777,
+0.890,1.113,0.551,0.985,1.237,1.317,0.513,0.986,1.099,1.172,
+0.595,0.700,0.931,0.165,0.539,0.862,0.656,0.999,0.512,0.833,
+0.799,0.945,0.445,0.721,0.081,0.121,0.067,0.094,0.845,0.115,
+0.546,0.753,0.624,1.121,0.611,0.847,0.816,0.583,0.411,0.791,
+1.002,0.978,0.581,0.939,0.845,0.085,0.528,0.820,0.859,0.886,
+0.709,1.380,0.914,0.677,0.392,0.648,0.765,0.595,0.479,0.583,
+0.939,0.223,0.524,0.851,0.691,0.854,0.543,0.926,0.071,0.112,
+0.040,0.071,0.056,0.078,0.050,0.051,0.118,0.063,0.073,0.150,
+0.069,0.163,0.057,0.091,0.589,0.700,0.570,0.557,0.064,0.069,
+0.134,0.072,0.700,0.098,0.382,0.585,0.431,0.742,0.702,0.681,
+0.589,0.457,0.359,0.545,0.783,0.684,0.606,0.731,1.015,0.235,
+0.592,0.872,0.651,0.858,0.659,1.111,1.542,0.725,0.497,0.989,
+0.778,0.538,0.381,0.547,1.989,0.103,0.364,0.675,1.236,0.799,
+0.589,1.411,0.864,0.639,0.369,0.671,0.697,0.525,0.419,0.547,
+0.793,0.096,0.413,0.884,0.673,0.786,0.460,0.892,1.031,0.927,
+0.587,0.928,0.087,0.084,0.060,0.090,1.025,0.095,0.555,0.906,
+0.864,1.138,0.969,1.203,1.424,0.814,0.660,1.445,1.140,1.088,
+0.775,1.121,1.492,0.112,0.939,1.680,1.895,1.556,1.517,2.998,
+3.200,2.043,1.481,2.356,2.132,1.662,1.020,1.193,1.737,0.219,
+0.852,1.365,1.864,1.807,0.936,1.638,2.303,1.788,0.964,1.186,
+2.040,1.553,1.041,0.943,1.369,0.189,0.997,1.167,0.867,1.174,
+0.784,1.060,1.052,1.089,0.733,0.937,0.116,0.130,0.105,0.140,
+0.824,0.113,0.546,0.613,0.630,0.974,0.675,0.863,1.314,0.779,
+0.680,1.173,1.185,1.070,0.794,1.038,0.983,0.125,0.611,0.879,
+1.111,0.896,0.893,1.551,2.498,1.637,0.810,1.548,1.851,1.630,
+0.807,0.872,1.316,0.229,0.726,0.927,0.907,1.220,0.571,0.950,
+1.814,1.833,0.712,1.211,1.712,1.478,0.854,0.858,1.445,0.419,
+1.368,1.836,0.719,1.429,0.649,1.024,0.841,1.242,0.598,0.671,
+0.128,0.209,0.153,0.118,0.981,0.221,0.806,0.816,0.575,1.309,
+0.746,0.819,0.652,0.593,0.402,0.532,0.935,1.034,0.980,0.718,
+0.810,0.114,0.566,0.918,0.636,0.790,0.941,1.319,1.100,0.741,
+0.491,0.663,1.148,0.946,0.661,0.709,1.173,0.174,0.529,0.702,
+0.667,0.812,0.530,0.975,0.091,0.126,0.076,0.080,0.132,0.177,
+0.111,0.097,0.117,0.055,0.118,0.120,0.074,0.188,0.085,0.113,
+0.509,0.691,0.557,0.465,0.076,0.102,0.082,0.080,0.666,0.129,
+0.515,0.578,0.360,0.690,0.501,0.505,0.528,0.402,0.677,0.498,
+0.711,0.755,0.542,0.653,0.758,0.124,0.566,0.714,0.537,0.733,
+0.713,0.948,1.291,0.586,0.423,0.887,0.677,0.452,0.331,0.447,
+0.756,0.078,0.326,0.480,0.839,0.678,0.467,1.110,1.119,0.920,
+0.583,0.750,1.142,0.992,0.631,0.749,0.779,0.110,0.574,0.772,
+0.571,0.947,0.508,0.809,0.584,0.599,0.818,0.675,0.060,0.068,
+0.131,0.079,0.568,0.079,0.486,0.584,0.439,0.686,0.565,0.667,
+0.888,0.573,1.433,0.994,0.569,0.580,0.653,0.643,0.858,0.096,
+0.616,0.885,0.927,1.021,0.951,1.700,2.255,1.617,0.994,1.479,
+1.685,1.701,1.051,1.014,1.025,0.143,0.546,0.766,0.879,1.036,
+0.560,0.945,1.717,1.613,0.926,0.923,1.820,1.928,2.086,1.168,
+0.919,0.199,0.798,0.930,0.524,0.952,0.553,0.779,0.762,1.065,
+0.720,0.718,0.106,0.179,0.130,0.126,0.701,0.123,0.619,0.608,
+0.823,0.825,0.572,0.726,0.717,0.497,0.399,0.678,0.860,1.028,
+0.616,0.693,0.599,0.082,0.480,0.601,1.660,0.678,0.589,1.058,
+1.736,1.420,0.587,0.748,1.273,1.696,0.706,0.653,0.973,0.174,
+0.512,0.633,0.543,0.862,0.379,0.656,1.029,0.975,0.463,0.517,
+0.537,0.422,0.449,0.405,0.757,0.304,0.538,0.721,0.363,0.932,
+0.416,0.512,0.621,1.268,0.535,0.569,0.125,0.415,0.178,0.130,
+0.825,0.263,0.616,0.819,0.421,1.308,0.684,0.743,0.446,0.488,
+0.305,0.384,0.764,1.358,0.521,0.608,0.627,0.123,0.515,0.710,
+0.466,0.693,0.473,0.997,0.986,0.859,0.890,0.617,1.256,1.506,
+0.904,0.784,0.871,0.201,0.586,0.640,0.488,0.923,0.548,0.744,
+0.094,0.198,0.208,0.093,0.221,0.449,0.233,0.134,0.149,0.135,
+0.206,0.139,0.064,0.327,0.105,0.090,0.602,1.060,0.681,0.587,
+0.133,0.285,0.180,0.124,0.767,0.194,0.613,0.723,0.377,1.099,
+0.754,0.701,0.464,0.409,0.352,0.415,0.932,1.429,0.929,0.849,
+1.074,0.145,0.804,0.864,0.527,0.715,0.772,0.942,0.770,0.522,
+0.374,0.576,0.651,0.597,0.326,0.376,0.603,0.066,0.270,0.357,
+0.545,0.491,0.328,0.575,0.770,0.999,0.797,0.666,1.069,1.619,
+0.733,0.734,0.711,0.155,0.540,0.651,0.416,1.028,0.486,0.620,
+0.516,0.787,0.532,0.565,0.062,0.130,0.077,0.074,0.527,0.099,
+0.617,0.640,0.367,0.786,0.818,0.807,0.543,0.449,0.343,0.516,
+0.555,0.760,0.433,0.595,0.811,0.092,0.547,0.712,0.620,0.834,
+1.024,1.367,1.494,1.176,0.633,1.049,1.081,0.915,0.495,0.714,
+1.289,0.125,0.447,0.565,0.730,0.773,0.410,0.770,1.549,1.888,
+0.631,0.968,1.821,1.514,1.053,0.981,1.181,0.235,0.950,1.001,
+0.592,1.111,0.523,0.772,0.823,1.217,0.709,0.923,0.208,0.220,
+0.147,0.208,0.797,0.158,0.557,0.741,0.460,0.981,0.504,0.719,
+0.717,0.534,0.361,0.731,1.485,1.102,0.637,0.843,0.748,0.110,
+0.573,0.836,0.700,0.718,0.666,1.383,0.139,0.127,0.051,0.081,
+0.168,0.239,0.112,0.105,0.241,0.042,0.073,0.077,0.069,0.127,
+0.074,0.095,0.140,0.377,0.083,0.178,0.282,0.484,0.326,0.221,
+0.186,0.196,0.214,0.189,0.063,0.205,0.077,0.092,0.106,0.214,
+0.120,0.112,0.092,0.163,0.098,0.054,0.159,0.107,0.231,0.209,
+0.061,0.214,0.126,0.097,0.085,0.076,0.038,0.066,0.844,0.405,
+0.158,0.172,0.102,0.037,0.117,0.127,0.066,0.095,0.085,0.129,
+0.923,1.157,0.649,0.633,1.037,1.694,0.815,0.713,1.030,0.236,
+0.695,0.727,0.521,0.837,0.551,0.790,0.116,0.441,0.096,0.082,
+0.158,0.432,0.204,0.116,0.152,0.112,0.214,0.146,0.067,0.209,
+0.099,0.092,0.594,1.236,0.603,0.557,0.117,0.257,0.151,0.109,
+0.956,0.269,0.541,0.755,0.404,1.138,0.627,0.638,0.482,0.500,
+0.312,0.452,0.872,1.361,0.716,0.837,1.186,0.218,1.190,1.034,
+0.502,0.849,0.730,0.955,0.753,0.597,0.377,0.862,0.604,0.507,
+0.294,0.390,0.653,0.080,0.318,0.513,0.518,0.522,0.297,0.772,
+1.168,2.000,0.592,0.717,1.745,1.780,0.908,1.164,1.348,0.244,
+0.943,1.119,0.678,1.296,0.643,0.862,0.976,1.164,1.110,0.809,
+0.095,0.171,0.115,0.098,0.915,0.196,0.789,0.923,0.511,1.283,
+0.728,0.841,0.715,0.562,0.417,0.681,0.719,0.833,0.524,0.666,
+1.024,0.126,0.974,1.147,0.797,1.136,0.907,1.364,1.256,0.764,
+0.513,1.028,0.741,0.548,0.346,0.577,0.678,0.074,0.323,0.565,
+0.714,0.623,0.361,0.962,0.960,0.790,0.355,0.626,0.706,0.575,
+0.376,0.515,0.537,0.074,0.318,0.542,0.414,0.497,0.265,0.584,
+0.606,0.629,0.358,0.659,0.061,0.061,0.039,0.086,0.499,0.060,
+0.272,0.429,0.381,0.512,0.302,0.530,0.698,0.434,0.344,0.897,
+0.577,0.475,0.326,0.675,0.546,0.054,0.326,0.619,0.701,0.549,
+0.493,1.334,1.358,0.927,0.456,0.805,1.097,1.145,0.649,0.706,
+1.157,0.149,0.496,0.727,0.677,0.989,0.567,0.852,1.059,1.304,
+0.434,0.819,1.483,1.596,0.834,0.891,1.166,0.318,0.687,1.100,
+0.615,1.299,0.492,0.774,0.602,0.912,0.492,0.624,0.131,0.180,
+0.109,0.124,0.759,0.138,0.609,0.748,0.482,1.019,0.568,0.673,
+0.508,0.414,0.313,0.588,1.271,1.093,0.591,0.971,0.687,0.095,
+0.527,0.757,0.554,0.679,0.554,1.055,0.774,0.664,0.351,0.479,
+0.815,1.045,0.530,0.593,0.842,0.142,0.493,0.658,0.537,0.662,
+0.461,0.793,0.060,0.117,0.038,0.053,0.071,0.165,0.075,0.065,
+0.074,0.033,0.071,0.079,0.047,0.107,0.056,0.072,0.428,0.651,
+0.371,0.448,0.055,0.091,0.065,0.072,0.710,0.134,0.509,0.671,
+0.372,0.777,0.518,0.610,0.437,0.411,0.277,0.470,0.657,0.783,
+0.508,0.726,1.135,0.321,0.714,0.895,0.568,0.956,0.648,1.001,
+0.953,0.597,0.342,0.692,0.538,0.487,0.277,0.393,0.654,0.063,
+0.322,0.492,0.627,0.506,0.385,0.906,0.768,0.697,0.324,0.536,
+0.693,0.763,0.424,0.621,0.895,0.094,0.446,0.635,0.542,0.650,
+0.434,0.832,0.909,0.690,0.501,0.668,0.072,0.069,0.047,0.074,
+0.720,0.084,0.546,0.733,0.543,0.868,0.701,0.870,0.911,0.571,
+0.451,0.942,0.797,0.909,0.601,0.958,1.260,0.142,0.852,1.300,
+1.302,1.346,1.242,1.827,1.938,1.343,1.114,1.681,1.441,1.159,
+0.855,0.962,1.219,0.142,0.597,0.928,1.432,1.267,0.770,1.256,
+1.242,1.033,0.889,0.789,0.974,0.710,0.662,0.621,0.764,0.104,
+0.524,0.656,0.591,0.737,0.577,0.767,0.973,1.013,0.599,1.020,
+0.093,0.098,0.073,0.134,0.658,0.083,0.437,0.886,0.470,0.669,
+0.493,0.749,1.073,0.604,0.465,0.914,0.955,0.854,0.578,0.816,
+0.706,0.072,0.636,0.765,0.829,0.609,0.787,1.245,1.879,1.511,
+0.767,1.150,1.663,1.610,1.062,0.950,1.030,0.166,0.508,0.653,
+0.805,1.080,0.623,0.906,1.410,1.778,0.669,0.781,1.304,1.075,
+0.997,0.796,1.235,0.288,0.713,0.901,0.619,1.174,0.568,0.738,
+1.031,1.462,0.772,0.958,0.161,0.244,0.167,0.175,1.200,0.238,
+0.934,1.322,0.598,1.332,0.851,0.924,0.789,0.630,0.358,0.657,
+1.636,1.653,0.708,0.968,0.789,0.098,0.532,0.758,0.663,0.681,
+0.665,1.217,1.031,0.689,0.453,0.781,1.211,0.987,0.876,0.949,
+1.381,0.243,0.581,0.667,0.870,1.061,0.584,0.951,0.101,0.149,
+0.068,0.158,0.129,0.160,0.133,0.172,0.187,0.067,0.149,0.123,
+0.122,0.308,0.116,0.161,0.649,0.722,0.772,0.740,0.099,0.117,
+0.122,0.137,0.889,0.242,0.524,0.564,0.486,1.094,0.569,0.627,
+0.530,0.362,0.318,0.527,0.839,0.846,0.701,0.895,0.719,0.109,
+0.988,0.694,0.668,0.690,0.675,1.444,1.082,0.579,0.407,0.843,
+0.629,0.436,0.412,0.602,0.733,0.087,0.325,0.468,1.023,0.826,
+0.481,1.072,0.974,1.357,0.489,0.806,0.807,0.756,0.653,0.979,
+0.952,0.166,0.613,0.689,0.777,1.189,0.564,0.911,0.659,0.756,
+0.636,0.789,0.078,0.082,0.087,0.113,0.734,0.103,0.611,0.788,
+0.624,0.981,0.756,0.949,0.889,0.602,0.487,0.939,0.686,0.570,
+0.573,0.807,0.985,0.106,0.802,1.042,1.369,1.267,1.340,2.239,
+0.109,0.108,0.140,0.089,0.107,0.134,0.080,0.081,0.076,0.018,
+0.046,0.059,0.067,0.090,0.059,0.078,0.130,0.160,0.271,0.107,
+0.156,0.180,0.180,0.118,0.105,0.055,0.122,0.098,0.054,0.122,
+0.078,0.077,0.084,0.238,0.075,0.071,0.019,0.038,0.028,0.022,
+0.072,0.027,0.077,0.081,0.042,0.094,0.072,0.075,0.071,0.066,
+0.046,0.076,0.104,0.133,0.086,0.094,0.087,0.018,0.133,0.174,
+0.080,0.071,0.179,0.126,0.115,0.161,0.068,0.072,0.161,0.338,
+0.176,0.098,0.089,0.042,0.067,0.062,0.049,0.106,0.149,0.071,
+0.163,0.306,0.113,0.093,0.268,0.313,0.302,0.163,0.223,0.182,
+0.151,0.141,0.072,0.246,0.100,0.084,0.088,0.226,0.107,0.089,
+0.047,0.202,0.109,0.044,0.164,0.129,0.178,0.152,0.054,0.235,
+0.154,0.113,0.065,0.074,0.041,0.056,0.163,0.295,0.121,0.114,
+0.089,0.028,0.079,0.085,0.051,0.084,0.079,0.116,0.071,0.077,
+0.047,0.093,0.116,0.181,0.149,0.149,0.145,0.066,0.107,0.071,
+0.052,0.143,0.065,0.072,0.018,0.052,0.025,0.068,0.047,0.119,
+0.102,0.078,0.068,0.109,0.096,0.051,0.013,0.079,0.036,0.022,
+0.072,0.149,0.232,0.130,0.038,0.097,0.109,0.043,0.268,0.282,
+0.183,0.132,0.063,0.376,0.151,0.098,0.055,0.049,0.048,0.061,
+0.118,0.206,0.165,0.130,0.119,0.053,0.151,0.116,0.056,0.101,
+0.102,0.127,0.078,0.094,0.046,0.071,0.067,0.070,0.055,0.072,
+0.066,0.013,0.040,0.046,0.075,0.089,0.056,0.096,0.175,0.784,
+0.101,0.175,0.158,0.231,0.181,0.321,0.185,0.075,0.146,0.127,
+0.101,0.304,0.111,0.132,0.061,0.118,0.090,0.084,0.014,0.034,
+0.029,0.023,0.109,0.046,0.129,0.129,0.063,0.160,0.136,0.120,
+0.073,0.072,0.049,0.076,0.076,0.098,0.073,0.089,0.106,0.021,
+0.105,0.120,0.098,0.131,0.138,0.184,1.262,0.946,0.669,0.997,
+1.167,1.177,0.667,0.735,0.995,0.124,0.427,0.571,0.666,0.649,
+0.418,0.703,1.080,1.089,0.680,0.746,1.333,1.135,1.664,0.974,
+1.050,0.194,0.913,0.851,0.536,0.895,0.585,0.722,0.786,1.244,
+0.777,0.959,0.146,0.234,0.180,0.239,1.800,0.729,0.740,0.888,
+0.570,1.902,0.641,0.831,0.718,0.488,0.361,0.699,0.864,0.874,
+0.655,0.980,0.815,0.136,0.630,0.959,0.715,0.795,0.766,1.333,
+0.103,0.129,0.054,0.083,0.326,0.444,0.153,0.126,0.094,0.033,
+0.076,0.086,0.054,0.092,0.051,0.076,0.105,0.170,0.088,0.076,
+0.234,0.273,0.447,0.210,0.146,0.095,0.204,0.162,0.055,0.135,
+0.086,0.076,0.079,0.203,0.106,0.092,0.039,0.123,0.103,0.046,
+0.186,0.169,0.231,0.199,0.060,0.227,0.132,0.110,0.077,0.067,
+0.041,0.074,0.166,0.229,0.136,0.160,0.100,0.034,0.110,0.133,
+0.064,0.087,0.083,0.131,0.799,0.870,0.430,0.446,1.162,2.040,
+1.519,0.798,0.854,0.224,0.816,0.722,0.429,0.724,0.594,0.720,
+0.083,0.180,0.096,0.067,0.146,0.321,0.656,0.122,0.138,0.097,
+0.314,0.134,0.067,0.170,0.115,0.093,0.699,1.204,0.816,0.676,
+0.151,0.274,0.298,0.165,0.970,0.254,0.452,0.658,0.392,0.969,
+0.840,0.729,0.487,0.450,0.327,0.381,0.847,1.210,1.012,0.841,
+0.866,0.173,0.848,0.844,0.467,0.705,0.749,0.903,0.684,0.496,
+0.340,0.542,0.623,0.701,0.406,0.405,0.535,0.080,0.378,0.498,
+0.542,0.522,0.331,0.651,0.942,1.146,0.648,0.621,1.277,2.280,
+1.879,0.873,0.937,0.197,1.027,0.932,0.997,1.148,0.712,0.847,
+1.008,1.656,0.778,0.840,0.167,0.312,0.179,0.145,1.219,0.254,
+1.896,1.518,0.645,1.371,1.044,1.045,0.657,0.537,0.381,0.607,
+0.802,0.994,0.665,0.732,0.952,0.134,1.030,1.157,0.795,1.061,
+0.976,1.396,1.210,0.715,0.491,0.925,0.745,0.595,0.426,0.598,
+0.662,0.079,0.276,0.503,0.723,0.648,0.377,1.307,0.809,0.639,
+0.346,0.473,0.717,0.423,0.400,0.410,0.457,0.053,0.294,0.416,
+0.374,0.416,0.313,0.472,0.668,0.731,0.393,0.630,0.074,0.075,
+0.055,0.100,0.574,0.082,0.325,0.505,0.470,0.686,0.714,0.835,
+0.855,0.479,0.363,0.703,0.730,0.525,0.412,0.715,0.543,0.056,
+0.358,0.566,0.802,0.684,0.623,1.331,1.395,1.180,0.595,1.021,
+1.606,1.897,0.878,0.930,0.810,0.134,0.531,0.723,0.654,0.869,
+0.476,0.856,1.369,1.861,0.610,0.821,2.534,1.397,1.351,1.118,
+0.986,0.198,0.815,0.995,0.592,1.007,0.925,0.778,0.890,1.573,
+0.702,0.879,0.133,0.242,0.151,0.164,1.057,0.226,0.900,1.174,
+0.683,1.542,0.890,1.130,0.812,0.643,0.470,0.749,1.175,1.234,
+0.883,1.283,0.867,0.110,0.662,0.969,0.730,0.866,0.765,1.347,
+0.954,1.062,0.450,0.647,1.084,1.144,0.875,0.841,0.961,0.246,
+0.620,1.272,0.548,0.851,0.570,0.957,0.081,0.115,0.046,0.068,
+0.108,0.167,0.153,0.100,0.083,0.042,0.110,0.134,0.054,0.121,
+0.077,0.093,0.708,1.089,0.682,0.784,0.109,0.170,0.168,0.151,
+1.012,0.215,0.701,0.913,0.526,1.156,0.894,0.938,0.628,0.528,
+0.411,0.585,1.024,1.084,1.052,1.369,0.884,0.139,0.812,1.089,
+0.676,0.833,0.915,1.276,1.050,0.596,0.407,0.750,0.651,0.535,
+0.419,0.494,0.640,0.081,0.346,0.600,0.700,0.600,0.472,1.071,
+1.003,0.952,0.392,0.596,0.753,0.806,0.669,0.652,0.700,0.084,
+0.494,0.774,0.566,0.712,0.534,0.849,0.866,1.096,0.664,0.990,
+0.088,0.124,0.081,0.120,1.119,0.145,1.025,1.390,0.806,1.304,
+1.088,1.315,1.096,0.707,0.584,1.216,1.023,1.081,0.859,1.242,
+1.199,0.113,1.016,1.596,1.399,1.363,1.371,2.032,1.981,1.170,
+1.021,2.152,1.157,0.752,0.579,0.863,1.162,0.114,0.453,0.841,
+1.689,1.323,0.660,1.487,1.182,0.743,0.540,0.754,0.730,0.464,
+0.381,0.466,0.674,0.066,0.450,0.508,0.733,0.771,0.483,0.827,
+0.932,0.732,0.520,0.858,0.075,0.065,0.048,0.101,0.615,0.057,
+0.329,0.511,0.601,0.731,0.478,0.866,1.263,0.644,0.553,1.156,
+0.851,0.616,0.488,0.803,0.739,0.073,0.982,0.732,1.104,0.778,
+0.810,1.786,1.493,0.845,0.482,1.042,1.387,0.667,0.415,0.580,
+0.698,0.079,0.275,0.490,0.751,0.709,0.360,0.789,0.867,0.701,
+0.332,0.529,0.615,0.490,0.328,0.408,0.627,0.075,0.301,0.475,
+0.555,0.631,0.336,0.562,0.629,0.640,0.405,0.643,0.062,0.071,
+0.048,0.071,0.621,0.079,0.346,0.526,0.570,1.313,0.463,0.650,
+0.630,0.475,0.292,0.638,0.621,0.568,0.320,0.515,0.533,0.047,
+0.496,0.514,0.593,0.548,0.525,1.090,1.020,0.536,0.411,0.749,
+0.789,0.536,0.471,0.729,0.806,0.105,0.311,0.512,0.876,0.745,
+0.410,0.957,0.065,0.058,0.034,0.068,0.057,0.053,0.040,0.063,
+0.062,0.013,0.038,0.052,0.099,0.132,0.052,0.104,0.488,0.506,
+0.430,0.554,0.047,0.050,0.041,0.062,0.543,0.072,0.311,0.396,
+0.441,0.615,0.393,0.538,0.512,0.341,0.293,0.576,0.560,0.511,
+0.360,0.578,0.541,0.059,0.395,0.509,0.634,0.543,0.524,1.047,
+1.350,0.592,0.457,1.157,0.645,0.383,0.365,0.590,0.949,0.090,
+0.345,0.576,1.851,1.018,0.579,1.460,0.840,0.596,0.384,0.689,
+0.577,0.420,0.362,0.528,0.662,0.065,0.360,0.526,1.019,1.099,
+0.542,1.048,0.655,0.624,0.492,0.740,0.055,0.045,0.045,0.068,
+0.593,0.052,0.401,0.598,0.687,0.804,0.637,0.993,1.072,0.685,
+0.562,1.209,0.688,0.514,0.465,0.764,0.931,0.077,0.676,1.018,
+1.586,1.320,1.350,3.087,1.895,1.219,1.053,1.551,1.262,0.973,
+0.661,0.877,0.969,0.117,0.542,0.753,1.111,1.076,0.595,1.164,
+1.477,1.088,1.060,1.011,1.179,0.960,0.789,0.792,0.913,0.150,
+2.052,1.007,0.592,0.985,0.638,0.880,0.877,1.250,0.632,0.916,
+0.098,0.137,0.090,0.137,0.686,0.104,0.534,0.824,0.594,0.889,
+0.647,1.034,0.909,0.625,0.497,0.953,1.003,1.020,0.639,0.981,
+0.737,0.093,0.828,0.928,0.886,0.730,0.867,1.477,1.452,1.207,
+0.566,0.985,1.211,1.239,0.685,0.737,0.766,0.126,0.373,0.546,
+0.665,0.828,0.576,0.811,1.291,1.596,0.582,0.773,1.314,1.126,
+0.813,0.839,1.000,0.244,0.602,0.782,0.596,1.132,0.532,0.759,
+0.796,1.230,0.845,0.960,0.124,0.255,0.242,0.190,0.939,0.189,
+0.667,0.862,0.622,1.274,1.014,1.080,0.712,0.670,0.435,0.756,
+1.038,1.581,0.776,0.922,0.720,0.090,0.530,0.758,0.664,0.746,
+0.648,1.278,0.908,0.618,0.389,0.796,0.929,0.902,0.700,1.258,
+0.914,0.190,0.496,0.547,0.665,0.947,0.444,0.865,0.063,0.100,
+0.053,0.126,0.088,0.154,0.104,0.148,0.114,0.072,0.119,0.089,
+0.075,0.259,0.075,0.098,0.648,0.936,0.844,0.771,0.087,0.143,
+0.109,0.122,0.973,0.278,0.541,0.708,0.547,1.352,0.710,0.825,
+0.634,0.542,0.400,0.672,0.927,1.457,0.787,0.966,0.851,0.107,
+0.596,0.795,0.686,0.744,0.728,1.232,0.972,0.622,0.431,0.780,
+0.615,0.481,0.399,0.579,0.793,0.089,0.358,0.503,1.179,0.974,
+0.505,1.075,1.030,1.429,0.664,0.959,0.890,0.988,0.780,1.092,
+1.124,0.233,0.716,0.833,1.268,4.096,0.829,1.285,0.647,0.836,
+0.627,0.812,0.071,0.095,0.074,0.091,0.807,0.115,0.682,0.930,
+0.670,1.237,0.864,1.168,0.864,0.663,0.524,0.837,0.794,0.886,
+0.591,0.838,0.964,0.097,0.726,1.128,1.172,1.284,1.155,2.107,
+1.247,0.864,0.531,1.028,0.770,0.697,0.390,0.588,0.725,0.076,
+0.323,0.544,0.695,0.619,0.366,0.799,1.068,0.938,0.487,0.728,
+1.065,0.808,0.640,0.610,0.796,0.118,0.596,0.694,0.556,0.835,
+0.498,0.765,0.774,0.963,0.654,0.924,0.102,0.131,0.097,0.160,
+0.818,0.130,0.726,0.789,0.537,0.991,0.625,0.942,0.759,0.536,
+0.390,0.826,0.752,0.713,0.485,0.757,0.805,0.097,0.575,0.924,
+0.872,0.782,0.778,1.617,0.074,0.077,0.041,0.074,0.089,0.133,
+0.046,0.062,0.056,0.012,0.037,0.049,0.049,0.073,0.040,0.074,
+0.070,0.096,0.039,0.049,0.115,0.177,0.090,0.078,0.077,0.031,
+0.091,0.086,0.045,0.094,0.051,0.061,0.052,0.095,0.051,0.056,
+0.014,0.032,0.024,0.015,0.092,0.036,0.168,0.093,0.048,0.120,
+0.078,0.086,0.060,0.057,0.034,0.068,0.097,0.130,0.068,0.092,
+0.075,0.019,0.073,0.093,0.068,0.080,0.066,0.130,0.770,0.648,
+0.348,0.469,0.727,0.903,0.611,0.588,0.690,0.137,0.428,0.541,
+0.478,0.668,0.512,0.809,0.060,0.091,0.039,0.045,0.072,0.117,
+0.091,0.052,0.073,0.034,0.081,0.068,0.055,0.127,0.074,0.087,
+0.601,1.154,0.570,0.612,0.090,0.151,0.113,0.093,0.939,0.174,
+0.463,0.669,0.447,1.000,0.677,0.744,0.541,0.504,0.333,0.461,
+0.754,0.951,0.668,0.714,0.917,0.129,0.711,0.841,0.611,0.773,
+0.755,1.122,0.800,0.471,0.335,0.620,0.556,0.460,0.342,0.444,
+0.592,0.069,0.357,0.528,0.617,0.583,0.428,0.885,0.920,0.845,
+0.489,0.658,0.841,0.920,0.674,0.602,0.831,0.119,0.629,0.783,
+0.741,1.135,0.752,1.071,1.679,1.151,0.900,0.874,0.293,0.151,
+0.199,0.105,1.091,0.134,0.888,1.068,1.125,1.274,1.009,1.215,
+0.837,0.609,0.527,0.785,0.948,0.821,0.765,0.742,1.117,0.110,
+0.958,1.311,1.167,1.224,1.158,1.889,1.920,0.855,0.655,1.402,
+0.874,0.558,0.408,0.770,0.829,0.081,0.342,0.688,1.076,0.808,
+0.498,1.306,0.983,0.609,0.335,0.579,0.668,0.467,0.334,0.494,
+0.560,0.055,0.378,0.537,0.480,0.505,0.326,0.683,0.781,0.829,
+0.435,0.895,0.070,0.077,0.046,0.113,0.612,0.065,0.363,0.594,
+0.587,0.712,0.458,0.917,1.023,0.590,0.459,1.093,0.677,0.514,
+0.408,0.797,0.704,0.061,0.422,0.840,1.130,0.843,0.744,2.118,
+1.332,0.840,0.548,1.089,0.875,0.763,0.464,0.672,0.656,0.071,
+0.348,0.592,0.656,0.729,0.397,0.950,0.954,0.842,0.352,0.599,
+0.866,0.823,0.431,0.586,0.689,0.089,0.618,0.687,0.510,0.744,
+0.452,0.793,0.690,1.016,0.389,0.662,0.055,0.098,0.046,0.072,
+0.709,0.090,0.744,0.733,0.582,0.914,0.556,0.943,0.754,0.579,
+0.410,0.792,0.745,0.704,0.452,0.812,0.708,0.068,0.481,0.789,
+0.812,1.130,0.668,1.728,1.167,1.233,0.543,0.774,0.885,0.771,
+0.592,0.825,0.904,0.153,0.452,0.823,0.798,0.849,0.662,1.287,
+0.085,0.218,0.040,0.063,0.061,0.082,0.054,0.066,0.060,0.019,
+0.050,0.070,0.068,0.108,0.055,0.119,0.766,0.963,0.563,0.860,
+0.065,0.090,0.066,0.097,0.911,0.123,0.578,0.858,0.633,0.991,
+0.788,1.146,0.845,0.710,0.484,0.824,0.945,0.969,0.769,1.162,
+1.267,0.129,0.805,1.221,0.956,0.962,0.966,1.818,1.811,0.887,
+0.655,1.365,0.862,0.606,0.493,0.729,1.043,0.093,0.510,0.922,
+1.382,1.013,0.816,2.124,1.317,1.190,0.531,0.889,1.025,0.984,
+0.633,0.866,1.010,0.091,0.632,1.155,0.967,1.135,0.757,2.109,
+1.240,1.247,1.064,1.388,0.096,0.095,0.122,0.128,1.393,0.119,
+0.985,1.667,1.264,1.596,1.409,2.153,2.199,1.180,1.027,2.288,
+1.538,1.271,1.092,2.120,1.939,0.135,1.489,2.701,2.500,2.055,
+1.979,3.329,5.275,2.174,2.101,3.725,2.328,1.346,1.344,1.533,
+2.764,0.232,1.352,1.785,3.190,2.323,1.540,2.576,2.584,1.553,
+1.207,1.547,1.681,1.080,1.051,0.974,1.657,0.172,1.130,1.228,
+1.289,1.605,1.084,1.379,2.372,1.272,1.277,1.602,0.173,0.133,
+0.131,0.207,1.294,0.116,0.838,1.055,1.137,1.263,1.300,1.343,
+2.569,1.191,1.316,2.550,1.841,1.343,1.264,1.803,1.499,0.124,
+1.022,1.459,1.900,1.215,1.439,2.327,2.398,1.390,0.968,1.376,
+1.539,1.029,0.850,0.959,1.180,0.139,0.987,1.081,1.035,1.158,
+0.885,1.143,1.625,1.194,0.772,0.941,1.037,0.696,0.702,0.654,
+1.180,0.177,0.842,1.052,0.731,0.977,0.817,0.874,1.308,1.064,
+0.739,0.930,0.262,0.108,0.101,0.138,1.021,0.108,0.714,0.867,
+0.648,0.992,0.772,0.776,1.046,0.910,0.542,0.909,1.352,0.852,
+0.684,0.935,0.993,0.086,0.730,0.966,0.927,0.807,0.865,1.324,
+2.162,0.886,1.158,1.098,1.532,0.848,0.864,0.929,1.272,0.178,
+0.676,0.982,1.290,1.310,0.869,1.366,0.143,0.114,0.078,0.099,
+0.109,0.096,0.086,0.083,0.108,0.026,0.095,0.106,0.137,0.221,
+0.116,0.152,0.911,0.746,0.744,0.765,0.083,0.072,0.083,0.091,
+0.832,0.101,0.691,0.720,0.649,0.847,1.177,0.806,0.784,0.480,
+0.532,0.762,0.925,0.717,0.679,0.865,0.943,0.097,0.788,1.020,
+0.787,0.799,0.936,1.377,2.539,0.881,0.841,1.527,0.977,0.587,
+0.673,0.710,0.992,0.098,0.546,0.777,1.333,1.001,0.867,1.772,
+1.548,1.052,0.776,0.977,1.005,0.736,0.778,0.743,0.967,0.090,
+0.722,0.857,1.005,1.053,0.806,1.188,1.011,0.813,0.727,0.978,
+0.080,0.063,0.071,0.092,0.785,0.071,0.658,0.886,0.704,0.830,
+0.933,1.011,1.413,0.717,0.771,1.422,0.729,0.490,0.608,0.852,
+1.193,0.089,0.897,1.409,1.564,1.216,1.388,2.527,3.408,2.127,
+1.592,2.551,1.928,1.506,1.305,1.428,1.448,0.180,0.862,1.368,
+1.607,1.562,1.129,1.806,2.355,1.968,1.280,1.506,1.606,1.332,
+1.369,1.295,1.626,0.295,1.295,1.443,0.975,1.403,1.073,1.331,
+1.206,1.271,1.230,1.252,0.135,0.183,0.159,0.206,0.904,0.109,
+0.787,0.869,0.665,1.096,0.873,1.083,1.377,0.746,0.798,1.283,
+1.424,1.209,0.982,1.241,1.006,0.108,0.689,1.013,0.982,0.835,
+1.066,1.784,2.305,1.953,0.987,1.421,2.004,2.015,1.151,1.483,
+1.150,0.177,0.771,0.975,0.867,1.174,0.733,1.102,1.624,1.619,
+0.997,1.050,1.097,0.657,0.969,0.865,1.254,0.227,1.135,1.287,
+0.653,1.094,0.975,1.034,1.195,1.779,1.325,1.909,0.171,0.285,
+0.337,0.803,1.187,0.236,1.084,1.217,0.746,2.484,1.102,1.152,
+0.927,0.770,0.613,0.901,1.310,1.245,1.073,1.534,0.867,0.105,
+0.699,0.922,0.664,0.846,0.842,1.276,1.759,1.231,0.909,1.231,
+1.498,1.459,1.551,1.215,1.321,0.226,1.024,1.542,0.870,1.242,
+1.113,1.430,0.139,0.241,0.118,0.136,0.138,0.224,0.221,0.137,
+0.150,0.068,0.221,0.188,0.101,0.274,0.178,0.174,1.222,1.518,
+1.293,1.245,0.155,0.244,0.235,0.172,1.296,0.259,1.322,1.323,
+0.847,2.714,2.382,1.433,1.052,0.637,1.063,0.858,1.225,1.431,
+1.326,1.271,1.331,0.158,1.308,1.457,0.731,1.002,1.360,1.556,
+1.481,0.914,0.704,1.116,0.869,0.691,0.688,0.733,0.720,0.078,
+0.510,0.695,0.834,0.788,0.668,1.256,1.537,1.895,0.981,1.205,
+1.141,1.227,1.490,1.278,1.000,0.130,0.985,1.170,0.882,1.317,
+0.980,1.401,0.854,0.958,0.890,1.061,0.079,0.104,0.092,0.113,
+0.774,0.094,0.806,0.965,0.700,1.112,1.187,1.224,1.057,0.648,
+0.723,1.031,0.850,0.742,0.670,0.940,1.035,0.094,0.976,1.403,
+1.195,1.270,1.607,2.298,2.333,1.504,1.132,1.674,1.067,0.913,
+0.718,0.798,1.079,0.130,0.645,0.834,1.167,1.154,0.807,1.245,
+2.036,1.848,1.127,1.330,1.318,1.240,1.169,1.007,1.644,0.230,
+1.314,1.410,1.007,1.586,0.901,1.246,1.487,1.756,4.272,1.842,
+0.165,0.232,0.302,0.310,1.187,0.163,1.084,1.253,0.669,1.310,
+0.943,1.124,1.318,0.952,1.099,1.622,1.134,1.251,1.180,1.328,
+1.135,0.127,0.947,1.261,1.123,1.051,1.197,2.357,0.178,0.181,
+0.108,0.141,0.203,0.241,0.127,0.124,0.131,0.032,0.105,0.115,
+0.107,0.183,0.169,0.143,0.189,0.240,0.129,0.134,0.185,0.230,
+0.169,0.126,0.216,0.068,0.205,0.202,0.115,0.323,0.131,0.143,
+0.130,0.235,0.260,0.171,0.026,0.059,0.076,0.045,0.279,0.060,
+0.371,0.402,0.100,0.268,0.167,0.160,0.177,0.156,0.134,0.213,
+0.270,0.370,0.308,0.336,0.173,0.035,0.189,0.232,0.158,0.221,
+0.189,0.295,1.294,0.980,0.748,0.749,0.958,1.105,0.999,0.743,
+1.544,0.528,1.299,1.186,0.794,1.701,0.998,1.163,0.121,0.183,
+0.092,0.088,0.100,0.178,0.137,0.076,0.346,0.283,0.208,0.154,
+0.119,0.461,0.154,0.138,0.908,1.713,1.116,0.840,0.130,0.321,
+0.242,0.133,1.182,0.222,0.933,0.918,0.544,1.090,1.018,0.820,
+0.673,0.618,0.620,0.668,1.024,1.435,1.154,1.209,1.179,0.217,
+1.424,1.221,0.650,0.951,1.046,1.145,1.132,0.645,0.506,0.809,
+0.656,0.518,0.417,0.438,0.788,0.101,0.498,0.634,0.723,0.787,
+0.572,0.995,1.525,1.272,0.823,1.041,1.107,1.266,0.891,0.788,
+2.414,0.338,1.111,1.318,1.113,1.720,1.005,1.283,0.922,1.111,
+0.987,0.979,0.107,0.156,0.120,0.112,1.550,0.135,0.950,1.044,
+0.748,1.351,0.979,1.131,1.189,0.807,0.768,1.017,1.240,0.942,
+0.735,0.902,1.197,0.147,1.169,1.401,1.272,1.817,1.308,1.918,
+2.593,1.243,1.008,1.885,0.963,0.653,0.626,0.730,1.003,0.098,
+0.501,0.788,1.380,1.047,0.799,1.616,1.286,0.802,0.585,0.881,
+0.751,0.502,0.521,0.618,0.977,0.096,0.522,0.807,0.874,0.817,
+0.516,0.912,1.131,0.854,0.968,1.339,0.104,0.092,0.088,0.170,
+0.722,0.068,0.492,0.752,0.620,0.780,0.559,0.956,1.559,0.790,
+1.006,2.322,1.119,0.843,0.826,1.375,1.024,0.082,0.684,1.069,
+1.336,0.999,1.100,2.646,1.902,1.218,0.876,1.342,1.330,1.018,
+1.315,0.865,1.000,0.116,0.667,0.907,0.906,1.024,0.878,1.276,
+1.471,1.149,0.674,1.012,1.025,0.926,0.727,0.731,1.210,0.201,
+0.833,1.148,0.863,1.556,0.628,0.927,1.027,1.042,0.960,1.155,
+0.095,0.123,0.148,0.151,1.136,0.120,0.998,1.431,0.758,1.218,
+0.807,1.100,1.279,0.759,0.751,1.365,1.274,1.126,1.078,1.431,
+1.017,0.102,0.814,1.208,1.053,1.319,1.019,1.797,1.439,0.822,
+0.724,0.973,1.188,0.873,0.870,0.970,1.331,0.186,0.989,1.141,
+0.964,1.027,1.110,1.487,0.118,0.109,0.071,0.113,0.087,0.100,
+0.089,0.089,0.129,0.034,0.126,0.138,0.117,0.186,0.126,0.154,
+0.914,1.046,0.829,1.246,0.088,0.108,0.104,0.139,1.089,0.141,
+0.868,1.095,0.725,1.187,1.115,1.268,0.906,0.665,0.698,1.121,
+1.167,1.061,1.072,1.525,1.716,0.164,1.226,1.903,1.066,1.180,
+1.315,1.970,2.084,0.936,0.816,1.435,0.945,0.703,0.652,0.776,
+1.063,0.102,0.622,0.966,1.385,1.048,0.957,2.092,1.223,0.837,
+0.624,1.049,0.768,0.622,0.646,0.781,1.151,0.093,0.770,1.174,
+1.130,1.145,0.849,1.460,1.400,1.263,1.071,1.905,0.130,0.105,
+0.090,0.165,1.393,0.115,1.049,1.518,1.288,1.553,1.446,2.028,
+2.414,1.238,1.319,2.787,1.652,1.354,1.266,1.986,2.184,0.144,
+1.806,2.879,3.391,2.349,2.746,4.320,0.236,0.155,0.136,0.188,
+0.167,0.127,0.114,0.119,0.140,0.021,0.140,0.159,0.146,0.145,
+0.115,0.137,0.177,0.149,0.110,0.117,0.151,0.132,0.132,0.111,
+0.133,0.031,0.128,0.126,0.094,0.142,0.122,0.125,0.108,0.099,
+0.097,0.107,0.016,0.018,0.021,0.020,0.077,0.014,0.094,0.077,
+0.063,0.094,0.281,0.107,0.129,0.093,0.077,0.128,0.135,0.140,
+0.104,0.125,0.104,0.015,0.095,0.106,0.102,0.093,0.128,0.162,
+0.202,0.177,0.132,0.149,0.186,0.183,0.142,0.109,0.156,0.043,
+0.313,0.296,0.100,0.166,0.252,0.179,0.193,0.228,0.127,0.114,
+0.174,0.175,0.171,0.126,0.266,0.124,0.219,0.268,0.095,0.246,
+0.186,0.146,0.106,0.160,0.104,0.097,0.031,0.046,0.051,0.028,
+0.161,0.050,0.146,0.139,0.071,0.156,0.133,0.100,0.091,0.239,
+0.060,0.077,0.135,0.135,0.108,0.118,0.111,0.021,0.119,0.129,
+0.089,0.099,0.125,0.145,0.133,0.094,0.067,0.075,0.255,0.122,
+0.111,0.094,0.116,0.025,0.094,0.093,0.072,0.102,0.085,0.109,
+0.016,0.025,0.019,0.014,0.024,0.034,0.034,0.018,0.021,0.016,
+0.036,0.024,0.013,0.034,0.025,0.020,0.072,0.093,0.090,0.071,
+0.015,0.022,0.028,0.016,0.091,0.030,0.123,0.100,0.050,0.105,
+0.185,0.101,0.064,0.044,0.050,0.058,0.092,0.097,0.099,0.099,
+0.102,0.021,0.114,0.112,0.064,0.087,0.120,0.128,0.145,0.071,
+0.060,0.101,0.085,0.057,0.056,0.067,0.078,0.012,0.054,0.069,
+0.087,0.082,0.071,0.139,0.138,0.123,0.096,0.117,0.122,0.131,
+0.123,0.108,0.100,0.022,0.112,0.125,0.081,0.126,0.100,0.143,
+0.081,0.079,0.095,0.111,0.012,0.013,0.018,0.016,0.088,0.019,
+0.083,0.148,0.060,0.110,0.261,0.156,0.098,0.063,0.075,0.115,
+0.074,0.067,0.072,0.093,0.107,0.015,0.118,0.237,0.119,0.125,
+0.159,0.251,0.197,0.159,0.119,0.147,0.167,0.191,0.147,0.138,
+0.110,0.023,0.084,0.103,0.096,0.117,0.094,0.115,0.184,0.188,
+0.132,0.132,0.193,0.212,0.254,0.257,0.148,0.060,0.195,0.205,
+0.080,0.136,0.189,0.159,0.083,0.123,0.115,0.092,0.020,0.044,
+0.044,0.029,0.078,0.024,0.100,0.084,0.054,0.095,0.102,0.090,
+0.084,0.053,0.053,0.081,0.109,0.127,0.101,0.104,0.166,0.020,
+0.079,0.089,0.076,0.071,0.097,0.125,0.201,0.257,0.123,0.123,
+0.246,0.576,0.213,0.164,0.140,0.048,0.133,0.129,0.076,0.140,
+0.098,0.133,0.211,0.327,0.176,0.134,0.213,0.199,0.251,0.189,
+0.213,0.144,0.280,0.264,0.079,0.223,0.171,0.233,0.126,0.301,
+0.199,0.191,0.048,0.164,0.150,0.108,0.167,0.097,0.195,0.180,
+0.069,0.257,0.197,0.140,0.081,0.089,0.067,0.083,0.149,0.258,
+0.179,0.179,0.110,0.030,0.127,0.128,0.066,0.100,0.186,0.145,
+0.137,0.115,0.091,0.086,0.175,0.230,0.226,0.122,0.142,0.042,
+0.141,0.136,0.066,0.123,0.115,0.121,0.026,0.056,0.035,0.022,
+0.050,0.129,0.168,0.042,0.048,0.070,0.109,0.063,0.013,0.060,
+0.047,0.030,0.174,0.261,0.200,0.153,0.060,0.130,0.132,0.050,
+0.203,0.098,0.275,0.199,0.116,0.262,0.413,0.190,0.181,0.063,
+0.076,0.072,0.157,0.242,0.241,0.165,0.325,0.052,0.223,0.178,
+0.083,0.109,0.190,0.160,0.109,0.080,0.064,0.091,0.081,0.078,
+0.074,0.068,0.068,0.010,0.059,0.062,0.064,0.068,0.062,0.105,
+0.160,0.198,0.124,0.114,0.145,0.217,0.284,0.159,0.122,0.041,
+0.160,0.151,0.069,0.161,0.121,0.139,0.072,0.112,0.103,0.092,
+0.012,0.027,0.026,0.018,0.083,0.024,0.123,0.109,0.057,0.111,
+0.159,0.117,0.077,0.054,0.059,0.075,0.074,0.085,0.081,0.090,
+0.108,0.014,0.113,0.132,0.088,0.116,0.159,0.204,0.139,0.125,
+0.091,0.117,0.092,0.103,0.085,0.081,0.089,0.017,0.091,0.069,
+0.075,0.090,0.102,0.084,0.156,0.198,0.119,0.108,0.173,0.204,
+0.197,0.140,0.181,0.068,0.241,0.188,0.080,0.221,0.112,0.112,
+0.095,0.164,0.228,0.124,0.020,0.045,0.074,0.041,0.189,0.042,
+0.216,0.186,0.051,0.129,0.122,0.098,0.071,0.063,0.066,0.096,
+0.097,0.114,0.160,0.138,0.103,0.022,0.112,0.123,0.075,0.089,
+0.105,0.162,0.015,0.026,0.018,0.013,0.028,0.054,0.047,0.024,
+0.020,0.014,0.033,0.021,0.011,0.029,0.071,0.018,0.028,0.071,
+0.035,0.021,0.061,0.120,0.097,0.044,0.045,0.081,0.112,0.070,
+0.018,0.102,0.037,0.027,0.017,0.064,0.068,0.027,0.017,0.068,
+0.107,0.030,0.108,0.071,0.265,0.135,0.015,0.069,0.067,0.030,
+0.011,0.017,0.013,0.014,0.032,0.058,0.069,0.051,0.027,0.016,
+0.058,0.042,0.014,0.024,0.029,0.028,0.108,0.129,0.090,0.070,
+0.112,0.220,0.195,0.106,0.155,0.065,0.318,0.262,0.068,0.195,
+0.165,0.183,0.020,0.064,0.031,0.015,0.037,0.109,0.095,0.032,
+0.055,0.082,0.194,0.073,0.015,0.065,0.051,0.027,0.112,0.529,
+0.243,0.116,0.046,0.332,0.184,0.047,0.199,0.142,0.304,0.207,
+0.058,0.230,0.212,0.127,0.065,0.086,0.075,0.092,0.148,0.440,
+0.276,0.324,0.203,0.095,0.406,0.232,0.070,0.152,0.183,0.158,
+0.091,0.078,0.055,0.084,0.065,0.067,0.053,0.050,0.078,0.016,
+0.073,0.083,0.062,0.093,0.066,0.098,0.140,0.187,0.116,0.113,
+0.173,0.261,0.192,0.137,0.211,0.069,0.235,0.225,0.096,0.224,
+0.162,0.148,0.091,0.174,0.148,0.107,0.021,0.057,0.055,0.023,
+0.162,0.058,0.202,0.188,0.074,0.267,0.165,0.159,0.090,0.071,
+0.066,0.088,0.277,0.125,0.105,0.113,0.133,0.028,0.189,0.173,
+0.110,0.176,0.159,0.195,0.190,0.118,0.094,0.152,0.133,0.085,
+0.099,0.138,0.122,0.014,0.061,0.105,0.119,0.103,0.097,0.150,
+0.130,0.108,0.070,0.093,0.097,0.078,0.080,0.093,0.100,0.016,
+0.081,0.109,0.083,0.100,0.072,0.103,0.093,0.091,0.089,0.113,
+0.011,0.012,0.013,0.022,0.083,0.011,0.069,0.089,0.055,0.078,
+0.068,0.100,0.121,0.072,0.091,0.194,0.105,0.083,0.086,0.183,
+0.120,0.012,0.078,0.154,0.129,0.100,0.116,0.300,0.221,0.184,
+0.180,0.168,0.201,0.188,0.807,0.166,0.156,0.031,0.148,0.162,
+0.121,0.186,0.252,0.179,0.226,0.242,0.139,0.158,0.226,0.251,
+0.228,0.187,0.214,0.065,0.236,0.271,0.142,0.433,0.156,0.175,
+0.125,0.211,0.192,0.169,0.021,0.045,0.067,0.048,0.262,0.043,
+0.285,0.313,0.099,0.225,0.161,0.167,0.135,0.106,0.107,0.176,
+0.189,0.202,0.248,0.359,0.159,0.025,0.178,0.230,0.148,0.182,
+0.177,0.262,0.122,0.088,0.071,0.084,0.119,0.130,0.138,0.113,
+0.133,0.031,0.147,0.149,0.081,0.117,0.134,0.158,0.014,0.019,
+0.012,0.014,0.021,0.038,0.033,0.020,0.021,0.014,0.041,0.031,
+0.014,0.032,0.029,0.023,0.086,0.163,0.126,0.116,0.017,0.045,
+0.042,0.031,0.146,0.050,0.177,0.169,0.071,0.178,0.186,0.158,
+0.098,0.072,0.078,0.106,0.130,0.162,0.167,0.207,0.376,0.041,
+0.230,0.375,0.117,0.138,0.197,0.238,0.163,0.102,0.081,0.125,
+0.096,0.082,0.082,0.093,0.099,0.014,0.073,0.102,0.105,0.098,
+0.095,0.183,0.130,0.108,0.076,0.109,0.105,0.114,0.120,0.114,
+0.112,0.017,0.121,0.145,0.100,0.131,0.107,0.166,0.121,0.133,
+0.116,0.157,0.015,0.019,0.017,0.022,0.136,0.023,0.144,0.185,
+0.104,0.180,0.179,0.204,0.177,0.105,0.116,0.210,0.163,0.138,
+0.140,0.206,0.201,0.021,0.218,0.299,0.252,0.233,0.290,0.386,
+2.218,1.417,1.273,2.036,1.433,1.097,1.076,1.501,1.263,0.137,
+0.952,1.196,1.590,1.342,1.085,1.524,1.469,1.108,0.818,1.192,
+1.151,0.838,1.054,0.970,0.992,0.123,0.840,0.912,0.975,0.931,
+0.783,0.970,1.002,0.951,0.888,1.166,0.099,0.092,0.101,0.161,
+0.782,0.085,0.763,0.886,0.590,0.744,0.811,0.902,1.038,0.547,
+0.509,0.997,0.790,0.613,0.564,0.829,0.781,0.067,0.575,0.756,
+0.857,0.492,0.774,1.358,2.000,1.437,0.981,1.331,1.519,1.281,
+1.083,1.048,1.105,0.162,0.786,0.991,0.888,1.051,0.683,0.998,
+1.757,1.899,0.946,1.081,1.398,0.958,1.224,0.964,1.727,0.343,
+1.365,2.391,0.859,1.334,0.797,1.055,1.192,1.432,1.441,1.174,
+0.165,0.188,0.206,0.207,1.525,0.254,1.491,2.804,1.278,1.430,
+1.264,1.243,0.826,0.652,0.508,0.699,1.111,1.029,0.841,1.053,
+0.878,0.097,0.755,1.194,0.786,0.720,0.865,1.398,1.488,0.825,
+0.693,0.990,1.477,1.244,1.235,1.169,1.361,0.199,1.184,1.083,
+0.943,1.122,0.982,1.359,0.166,0.182,0.128,0.153,0.203,0.212,
+0.233,0.187,0.190,0.059,0.491,0.237,0.165,0.371,0.213,0.256,
+1.029,1.103,1.833,1.581,0.144,0.151,0.589,0.379,1.325,0.246,
+1.361,1.199,0.642,1.218,1.642,1.144,0.715,0.519,0.568,0.690,
+1.156,1.030,1.859,1.455,0.948,0.130,1.029,1.101,0.836,0.844,
+1.107,1.363,1.388,0.597,0.513,0.942,0.699,0.523,0.525,0.599,
+0.693,0.080,0.481,0.628,0.913,0.836,0.696,1.192,1.185,0.979,
+0.699,0.976,0.983,0.851,0.874,0.840,0.880,0.113,1.247,1.088,
+0.872,1.256,0.864,1.440,0.949,0.994,1.038,1.100,0.102,0.099,
+0.141,0.156,1.120,0.125,1.033,1.238,0.775,1.210,1.814,1.420,
+1.059,0.631,0.621,1.100,0.765,0.622,0.850,1.045,1.215,0.123,
+1.046,1.529,1.480,1.335,1.556,2.608,0.150,0.133,0.097,0.132,
+0.129,0.130,0.129,0.135,0.090,0.019,0.069,0.084,0.103,0.105,
+0.084,0.109,0.166,0.187,0.155,0.290,0.202,0.205,0.378,0.234,
+0.150,0.056,0.175,0.151,0.238,0.155,0.131,0.135,0.075,0.117,
+0.093,0.091,0.019,0.033,0.034,0.027,0.090,0.027,0.131,0.142,
+0.057,0.104,0.116,0.106,0.073,0.052,0.047,0.071,0.094,0.099,
+0.084,0.091,0.069,0.013,0.069,0.086,0.066,0.063,0.088,0.137,
+0.138,0.172,0.089,0.096,0.147,0.201,0.171,0.133,0.110,0.044,
+0.091,0.091,0.061,0.106,0.070,0.085,0.198,0.375,0.154,0.139,
+0.216,0.207,0.280,0.161,0.305,0.195,0.263,0.260,0.095,0.255,
+0.134,0.196,0.101,0.206,0.142,0.110,0.038,0.093,0.096,0.047,
+0.319,0.149,0.341,0.392,0.183,0.253,0.209,0.151,0.069,0.064,
+0.050,0.055,0.110,0.146,0.116,0.110,0.085,0.023,0.102,0.118,
+0.057,0.072,0.093,0.114,0.121,0.104,0.098,0.083,0.163,0.214,
+0.239,0.135,0.136,0.044,0.276,0.135,0.068,0.122,0.124,0.111,
+0.024,0.051,0.034,0.024,0.052,0.107,0.122,0.045,0.048,0.068,
+0.340,0.069,0.017,0.059,0.060,0.032,0.110,0.187,0.275,0.167,
+0.043,0.092,0.202,0.052,0.237,0.155,0.413,0.225,0.080,0.269,
+0.498,0.212,0.073,0.061,0.069,0.066,0.134,0.189,0.245,0.156,
+0.134,0.045,0.214,0.155,0.066,0.108,0.172,0.153,0.119,0.102,
+0.075,0.110,0.083,0.080,0.075,0.077,0.071,0.012,0.065,0.070,
+0.081,0.092,0.097,0.136,0.165,0.193,0.132,0.155,0.190,0.239,
+0.222,0.178,0.149,0.045,0.355,0.182,0.112,0.228,0.183,0.220,
+0.086,0.126,0.139,0.119,0.015,0.033,0.038,0.025,0.126,0.042,
+0.181,0.169,0.094,0.181,0.526,0.194,0.089,0.070,0.065,0.092,
+0.080,0.092,0.097,0.106,0.106,0.018,0.129,0.156,0.116,0.134,
+0.194,0.245,1.535,1.625,0.980,1.518,1.097,1.023,0.799,1.069,
+0.976,0.110,0.768,0.819,0.676,0.616,0.521,0.765,1.610,1.517,
+0.923,1.023,1.865,1.429,2.079,1.253,1.867,0.263,2.055,2.016,
+0.767,1.249,0.892,1.012,0.990,1.334,0.980,1.007,0.167,0.237,
+0.224,0.254,1.305,0.218,1.598,1.544,0.591,1.212,0.996,1.133,
+0.749,0.536,0.417,0.700,0.891,0.851,0.738,0.895,1.026,0.128,
+0.994,1.421,0.783,0.737,0.967,1.592,0.131,0.155,0.082,0.112,
+0.183,0.243,0.171,0.297,0.118,0.038,0.182,0.134,0.063,0.101,
+0.079,0.094,0.158,0.215,0.122,0.107,0.344,0.298,0.319,0.252,
+0.215,0.108,0.722,0.388,0.071,0.170,0.118,0.107,0.120,0.232,
+0.152,0.115,0.042,0.106,0.118,0.052,0.295,0.128,0.448,0.385,
+0.084,0.224,0.195,0.159,0.096,0.079,0.053,0.084,0.159,0.211,
+0.160,0.181,0.133,0.034,0.176,0.318,0.082,0.096,0.114,0.177,
+1.623,0.946,0.811,0.609,1.199,1.407,1.384,1.002,1.139,0.249,
+1.568,1.087,0.575,0.914,1.185,1.007,0.138,0.228,0.175,0.103,
+0.163,0.295,0.274,0.124,0.211,0.117,0.482,0.228,0.084,0.230,
+0.291,0.138,1.052,1.101,1.112,0.814,0.182,0.207,0.312,0.152,
+0.797,0.200,0.428,0.407,0.361,0.655,0.864,0.732,0.547,0.448,
+0.487,0.397,0.809,0.958,1.077,0.743,0.887,0.175,1.470,1.093,
+0.502,0.703,1.128,1.136,0.932,0.573,0.464,0.636,0.640,0.531,
+0.425,0.454,0.588,0.078,0.574,0.595,0.451,0.493,0.472,0.667,
+1.137,1.178,0.820,0.771,1.165,1.428,1.122,0.810,1.162,0.207,
+1.520,1.295,0.654,1.239,1.200,0.907,0.876,1.097,0.963,0.920,
+0.119,0.202,0.181,0.143,1.240,0.210,1.943,1.512,0.639,1.326,
+1.371,1.184,0.698,0.521,0.463,0.669,0.799,0.836,0.715,0.742,
+1.026,0.129,1.541,1.417,0.920,1.081,1.327,1.505,1.478,0.852,
+0.608,1.123,0.776,0.591,0.524,0.682,0.737,0.083,0.497,0.651,
+0.792,0.728,0.539,0.964,1.103,0.752,0.463,0.647,0.814,0.533,
+0.688,0.629,0.693,0.068,0.519,0.643,0.482,0.520,0.408,0.605,
+0.763,0.736,0.481,0.697,0.080,0.081,0.069,0.118,0.663,0.079,
+0.596,0.813,0.519,0.687,0.598,0.829,0.860,0.500,0.384,0.735,
+0.679,0.522,0.434,0.747,0.621,0.056,0.449,0.761,0.709,0.587,
+0.686,1.358,1.579,1.230,0.777,1.144,1.329,1.315,1.198,1.222,
+0.923,0.131,1.195,1.032,0.701,0.877,0.606,0.973,1.572,1.509,
+0.922,1.033,1.718,1.424,2.161,1.557,1.333,0.221,2.027,1.824,
+0.653,1.096,0.758,0.946,0.983,1.426,0.905,0.946,0.129,0.214,
+0.180,0.187,1.329,0.232,1.502,2.090,0.684,1.459,1.182,1.338,
+1.290,0.837,0.526,0.822,1.182,1.217,0.989,1.302,0.921,0.126,
+0.958,1.692,0.744,0.858,0.874,1.472,1.534,1.097,0.748,0.846,
+1.274,1.349,1.668,1.245,1.204,0.187,1.149,1.166,0.787,1.022,
+1.085,1.328,0.148,0.153,0.127,0.111,0.157,0.243,0.331,0.171,
+0.141,0.055,0.244,0.198,0.095,0.251,0.170,0.153,1.182,1.575,
+1.225,1.138,0.158,0.204,0.326,0.207,2.478,0.571,1.751,1.974,
+0.868,2.009,1.852,1.585,0.831,0.708,0.670,0.739,1.253,1.288,
+1.598,1.434,1.236,0.182,1.628,1.947,0.840,1.031,1.536,1.807,
+1.298,0.698,0.555,0.873,0.721,0.593,0.578,0.573,0.727,0.084,
+0.552,0.683,0.823,0.646,0.651,1.119,1.230,0.971,0.691,0.847,
+0.962,1.029,1.062,0.858,0.855,0.102,0.927,1.096,0.745,0.917,
+0.863,1.047,1.116,1.244,0.971,1.224,0.110,0.130,0.133,0.152,
+1.460,0.189,1.702,2.174,0.969,1.494,1.651,1.752,1.307,0.783,
+0.752,1.359,1.179,1.100,1.158,1.375,1.359,0.125,1.655,2.175,
+1.554,1.349,1.856,2.442,2.716,1.301,1.187,2.285,1.207,0.780,
+0.705,0.944,1.104,0.103,0.562,0.910,1.576,1.236,0.808,1.524,
+1.329,0.802,0.615,0.841,0.829,0.520,0.544,0.580,0.821,0.071,
+0.559,0.640,0.768,0.801,0.536,0.810,0.905,0.736,0.661,0.946,
+0.087,0.071,0.070,0.120,0.598,0.055,0.450,0.599,0.534,0.650,
+0.616,0.882,1.289,0.636,0.727,1.244,0.958,0.637,0.619,0.893,
+0.770,0.063,0.567,0.823,1.106,0.722,0.879,2.359,1.725,1.032,
+0.719,1.137,1.012,0.705,0.525,0.691,0.706,0.073,0.411,0.621,
+0.713,0.668,0.465,0.855,1.086,0.768,0.526,0.740,0.679,0.446,
+0.454,0.471,0.777,0.087,0.483,0.752,0.597,0.615,0.428,0.675,
+0.703,0.613,0.539,0.616,0.059,0.062,0.051,0.066,0.667,0.063,
+0.415,0.679,0.615,0.641,0.524,0.679,0.665,0.452,0.339,0.581,
+0.615,0.519,0.363,0.543,0.548,0.044,0.403,0.650,0.604,0.481,
+0.585,1.125,1.654,0.715,0.571,0.841,1.088,1.060,0.651,0.844,
+0.869,0.106,0.416,0.662,0.878,0.755,0.582,1.104,0.112,0.082,
+0.056,0.087,0.089,0.083,0.067,0.079,0.086,0.017,0.077,0.084,
+0.117,0.155,0.083,0.138,0.785,0.613,0.675,0.830,0.073,0.063,
+0.079,0.095,0.725,0.086,0.492,0.645,0.579,0.765,0.783,0.842,
+1.048,0.450,0.476,0.746,0.857,0.644,0.628,0.846,0.935,0.184,
+0.593,0.898,0.780,0.841,0.834,1.392,1.833,0.667,0.581,1.256,
+0.758,0.525,0.480,0.721,0.799,0.073,0.437,0.674,1.253,0.790,
+0.648,1.390,1.163,0.732,0.532,0.853,0.718,0.543,0.487,0.598,
+0.751,0.063,0.538,0.729,0.901,0.956,0.635,1.176,0.817,0.640,
+0.626,0.886,0.063,0.052,0.066,0.084,0.655,0.053,0.517,0.694,
+0.763,0.748,0.875,1.022,1.249,0.637,0.642,1.389,0.815,0.546,
+0.607,0.996,1.135,0.096,0.774,1.293,1.493,1.192,1.464,2.873,
+2.548,1.555,1.255,2.090,1.540,1.240,1.105,1.314,1.131,0.133,
+0.691,1.116,1.374,1.264,0.928,1.677,1.886,1.349,1.168,1.561,
+1.415,1.101,1.805,1.426,1.292,0.175,1.193,1.350,1.079,1.111,
+0.937,1.253,1.009,0.977,0.831,1.074,0.102,0.125,0.115,0.155,
+0.885,0.115,0.792,1.331,0.608,0.949,0.950,1.303,1.113,0.640,
+0.630,1.005,1.148,1.003,0.757,1.010,0.751,0.079,0.598,0.993,
+0.899,0.806,0.953,1.911,2.046,1.596,0.986,1.503,1.610,1.570,
+1.091,1.638,1.065,0.162,0.656,0.964,0.918,1.041,0.703,1.210,
+1.803,1.790,1.370,2.030,1.587,1.105,1.219,1.116,2.020,0.462,
+1.230,1.740,0.955,1.651,0.949,1.280,1.026,1.240,0.926,1.096,
+0.142,0.190,0.147,0.160,1.544,0.256,1.119,1.644,1.025,1.503,
+1.178,1.486,0.796,0.611,0.512,0.749,1.044,1.099,0.723,0.933,
+0.796,0.093,0.695,1.379,0.707,0.748,0.843,1.396,1.589,1.003,
+1.017,1.046,1.526,1.446,1.587,1.458,1.221,0.209,1.037,1.404,
+0.901,1.045,0.950,1.440,0.114,0.149,0.096,0.129,0.155,0.231,
+0.206,0.158,0.135,0.064,0.327,0.185,0.105,0.234,0.166,0.170,
+1.034,1.233,1.230,1.265,0.138,0.201,0.227,0.188,1.360,0.291,
+1.273,1.518,0.821,1.753,2.161,1.773,0.882,0.613,0.636,0.952,
+1.308,1.431,1.458,1.508,1.186,0.155,1.242,1.575,0.896,1.057,
+1.524,2.040,1.612,0.916,0.805,1.668,0.898,0.744,0.730,1.051,
+0.890,0.090,0.628,0.907,0.969,0.857,0.846,1.573,1.613,1.402,
+0.966,1.334,1.232,1.359,1.219,1.289,1.178,0.165,1.360,1.481,
+1.065,1.744,1.359,1.698,0.894,0.981,1.175,1.234,0.086,0.119,
+0.202,0.139,0.950,0.124,1.071,1.332,0.824,1.281,2.256,1.820,
+1.100,0.731,0.733,1.127,1.021,0.955,0.954,1.200,1.110,0.100,
+1.100,1.621,1.318,1.280,1.730,2.802,3.062,1.371,1.246,1.564,
+1.114,0.966,0.951,1.163,1.071,0.106,0.684,0.882,1.095,0.830,
+0.646,1.086,1.793,1.497,0.835,1.096,1.569,1.182,1.121,1.110,
+1.456,0.187,1.807,1.610,0.936,1.267,0.951,1.343,1.066,1.400,
+1.070,1.166,0.143,0.190,0.233,0.212,1.171,0.190,0.977,1.209,
+0.834,1.841,1.279,1.322,1.005,0.732,0.575,0.981,1.128,0.980,
+0.880,1.031,1.076,0.122,0.915,1.527,1.115,1.041,1.301,2.289,
+0.148,0.128,0.279,0.139,0.138,0.152,0.118,0.129,0.089,0.018,
+0.114,0.105,0.078,0.108,0.131,0.116,0.144,0.179,0.093,0.102,
+0.288,0.225,0.180,0.152,0.162,0.064,0.339,0.363,0.087,0.181,
+0.128,0.139,0.079,0.149,0.098,0.091,0.025,0.051,0.048,0.025,
+0.163,0.055,0.198,0.197,0.091,0.232,0.259,0.158,0.095,0.082,
+0.058,0.093,0.218,0.183,0.139,0.153,0.116,0.025,0.125,0.188,
+0.102,0.115,0.133,0.192,1.666,1.084,0.849,0.814,1.444,1.502,
+1.975,1.107,1.182,0.242,1.296,1.142,0.831,1.150,1.441,1.326,
+0.133,0.180,0.095,0.087,0.165,0.214,0.170,0.103,0.151,0.071,
+0.354,0.176,0.110,0.243,0.353,0.158,1.739,1.760,1.543,1.219,
+0.355,0.365,0.293,0.186,1.667,0.329,0.995,1.385,0.813,1.617,
+1.819,1.458,0.964,0.766,0.695,0.775,1.864,1.943,1.647,1.260,
+1.324,0.223,1.845,1.779,0.904,1.197,1.632,1.863,1.397,0.847,
+0.609,0.978,0.863,0.758,0.645,0.682,1.022,0.106,0.787,1.192,
+0.820,0.793,0.747,1.238,1.620,1.489,0.938,1.172,1.348,1.537,
+1.092,0.971,1.435,0.197,1.857,1.770,1.137,1.828,1.919,1.699,
+1.191,1.335,1.070,1.199,0.131,0.184,0.155,0.143,1.508,0.190,
+1.614,1.845,1.060,1.963,2.715,2.068,1.217,0.804,0.743,1.034,
+1.116,1.115,1.011,1.112,1.489,0.148,1.790,2.148,1.438,1.548,
+2.047,2.675,2.708,1.271,0.897,1.659,1.017,0.700,0.593,0.844,
+1.020,0.101,0.596,0.891,1.252,0.934,0.727,1.526,1.367,0.854,
+0.473,0.760,0.873,0.574,0.493,0.641,0.886,0.078,0.586,0.800,
+0.675,0.644,0.509,0.863,1.032,0.914,0.607,1.094,0.104,0.101,
+0.076,0.155,0.768,0.078,0.523,0.848,0.749,0.911,0.696,1.075,
+1.338,0.666,0.584,1.226,0.871,0.601,0.545,0.922,0.860,0.069,
+0.590,1.103,1.213,0.885,1.052,2.597,1.733,1.138,1.296,1.298,
+1.120,1.050,1.044,0.945,0.801,0.089,0.671,0.897,0.822,0.834,
+0.683,1.208,1.368,1.092,0.649,0.873,1.249,0.954,0.876,0.870,
+1.059,0.130,1.043,1.405,0.730,0.975,0.658,1.055,0.861,1.007,
+0.615,0.921,0.076,0.103,0.075,0.102,0.966,0.114,0.859,1.251,
+0.808,1.225,1.068,1.428,0.993,0.714,0.538,0.930,0.989,0.823,
+0.687,0.989,0.910,0.090,0.744,1.302,0.962,0.881,0.960,1.862,
+1.876,1.135,0.839,1.103,1.472,1.245,1.156,1.322,1.391,0.183,
+0.932,1.273,1.187,1.209,1.185,1.926,0.130,0.130,0.077,0.102,
+0.125,0.163,0.121,0.117,0.111,0.027,0.125,0.137,0.123,0.181,
+0.133,0.181,1.456,1.593,1.191,1.399,0.135,0.168,0.158,0.174,
+1.790,0.259,1.420,1.935,1.182,1.949,1.974,2.523,1.303,1.036,
+0.843,1.209,1.519,1.434,1.485,1.721,1.698,0.175,1.638,2.416,
+1.302,1.387,1.766,2.938,2.736,1.226,0.853,1.629,1.116,0.869,
+0.718,0.952,1.271,0.119,0.768,1.211,1.776,1.239,1.198,2.614,
+1.887,1.394,0.862,1.258,1.452,1.885,0.942,1.092,1.452,0.127,
+1.181,1.666,1.440,1.509,1.282,2.067,1.674,1.560,1.214,1.807,
+0.119,0.137,0.105,0.164,1.818,0.158,1.613,2.404,1.651,2.127,
+2.329,3.403,2.680,1.295,1.169,2.513,1.745,1.434,1.337,2.041,
+2.242,0.155,2.049,3.464,2.992,2.162,2.685,4.927,6.053,2.981,
+2.487,6.161,2.573,1.553,1.399,2.152,2.917,0.252,1.287,2.218,
+5.139,3.394,1.892,4.131,2.814,1.434,1.175,1.675,1.533,0.917,
+0.795,0.949,1.556,0.109,0.798,1.127,1.567,1.265,0.953,1.632,
+2.180,1.314,1.165,2.116,0.155,0.115,0.099,0.233,1.155,0.089,
+0.619,1.000,1.252,1.193,0.975,1.611,4.368,1.503,1.582,3.802,
+2.392,1.477,1.369,2.516,1.666,0.118,0.923,1.613,2.802,1.565,
+1.610,3.583,2.864,1.307,0.954,1.688,1.357,0.846,0.672,0.921,
+1.200,0.114,0.571,0.883,1.198,1.060,0.648,1.280,1.600,0.906,
+0.608,0.878,0.847,0.512,0.466,0.532,0.913,0.073,0.488,0.700,
+0.733,0.653,0.506,0.770,1.251,0.898,0.685,1.050,0.095,0.068,
+0.056,0.095,1.084,0.083,0.525,0.743,0.688,0.727,0.564,0.853,
+1.394,0.787,0.631,1.190,1.248,0.829,0.663,1.029,0.956,0.065,
+0.530,0.891,1.019,0.787,0.812,1.600,2.130,0.958,0.804,1.379,
+1.250,0.753,0.724,0.958,1.242,0.142,0.552,0.941,1.380,1.050,
+0.852,1.822,0.142,0.102,0.067,0.116,0.091,0.081,0.062,0.080,
+0.095,0.013,0.064,0.093,0.146,0.158,0.096,0.180,0.976,0.708,
+0.659,0.886,0.073,0.059,0.053,0.084,0.713,0.064,0.453,0.599,
+0.631,0.670,0.707,0.881,1.022,0.602,0.590,1.011,1.051,0.802,
+0.663,0.953,1.025,0.089,0.638,0.986,1.022,0.922,0.973,1.860,
+3.436,1.207,1.138,3.001,1.283,0.714,0.806,1.116,1.593,0.131,
+0.695,1.137,2.340,1.339,1.148,2.819,1.854,1.125,0.873,1.393,
+1.061,0.779,0.713,0.855,1.079,0.076,0.692,1.093,1.354,1.128,
+0.901,1.637,1.244,0.905,0.873,1.326,0.091,0.067,0.078,0.115,
+1.033,0.074,1.207,1.041,0.982,0.976,1.022,1.417,2.304,1.114,
+1.103,2.405,1.266,0.861,0.835,1.385,1.670,0.100,1.079,1.832,
+2.801,1.903,2.023,5.222,3.241,1.642,1.260,2.425,1.500,0.971,
+0.804,1.113,1.182,0.104,0.535,1.048,1.567,1.283,0.866,1.792,
+1.738,1.064,1.098,1.368,0.946,0.636,0.650,0.721,0.825,0.077,
+0.514,0.748,0.716,0.747,0.574,0.969,0.978,0.816,0.671,1.019,
+0.085,0.091,0.064,0.112,0.631,0.057,0.367,0.533,0.584,0.692,
+0.522,0.859,1.256,0.764,0.691,1.331,1.050,0.779,0.626,0.947,
+0.719,0.059,0.447,0.740,0.985,0.709,0.826,1.743,1.825,1.182,
+0.628,1.170,1.050,0.889,0.524,0.735,0.723,0.071,0.375,0.689,
+0.738,0.722,0.436,1.112,1.048,0.825,0.449,0.636,0.660,0.363,
+0.395,0.465,0.601,0.059,0.403,0.587,0.486,0.547,0.395,0.666,
+0.918,0.828,0.552,0.875,0.077,0.083,0.067,0.137,0.632,0.084,
+0.371,0.573,0.515,0.801,0.486,0.723,0.858,0.582,0.444,0.874,
+0.763,0.656,0.485,0.719,0.638,0.051,0.363,0.656,0.634,0.646,
+0.514,1.146,1.384,0.825,0.578,0.980,0.939,0.689,0.688,0.792,
+0.883,0.098,0.484,0.782,0.841,0.766,0.619,1.192,0.080,0.096,
+0.050,0.082,0.059,0.088,0.059,0.065,0.065,0.015,0.062,0.073,
+0.070,0.100,0.061,0.097,0.883,1.098,0.634,0.837,0.080,0.239,
+0.054,0.075,0.601,0.071,0.416,0.554,0.519,0.766,0.667,0.751,
+0.809,0.647,0.551,0.856,0.861,1.650,0.605,0.866,0.840,0.072,
+0.578,0.867,0.685,0.660,0.744,1.281,1.359,0.750,0.583,1.073,
+1.022,0.517,0.477,0.646,0.687,0.056,0.380,0.593,0.947,0.618,
+0.545,1.311,0.997,0.869,0.540,0.856,0.642,0.594,0.556,0.693,
+0.547,0.052,0.464,0.692,0.634,0.671,0.531,0.934,0.740,0.612,
+0.590,0.864,0.050,0.059,0.040,0.066,0.570,0.051,0.622,0.633,
+0.584,0.651,0.684,0.946,1.013,0.541,0.608,1.076,0.701,0.610,
+0.471,0.809,0.891,0.062,0.624,1.115,1.269,1.133,1.164,2.362,
+3.457,1.438,0.975,2.006,1.012,0.744,0.602,0.885,1.023,0.100,
+0.537,0.865,1.324,1.134,0.674,1.449,1.767,1.144,0.783,1.349,
+0.954,0.673,1.844,1.292,1.034,0.097,0.688,0.881,1.055,1.112,
+0.681,1.191,1.190,1.061,1.223,1.458,0.107,0.110,0.103,0.205,
+0.720,0.071,0.416,0.604,0.636,0.870,0.567,0.951,1.584,0.908,
+1.014,2.185,1.071,0.869,0.785,1.421,0.919,0.082,0.568,1.024,
+1.358,1.003,1.110,2.836,0.181,0.121,0.066,0.128,0.101,0.094,
+0.055,0.081,0.084,0.014,0.048,0.074,0.100,0.115,0.069,0.128,
+0.133,0.111,0.055,0.087,0.093,0.083,0.076,0.074,0.093,0.015,
+0.066,0.084,0.096,0.115,0.060,0.109,0.093,0.105,0.075,0.108,
+9.56e-3,0.016,0.013,0.015,0.084,0.013,0.063,0.088,0.071,0.101,
+0.061,0.101,0.182,0.118,0.098,0.239,0.170,0.165,0.121,0.220,
+0.102,0.012,0.072,0.130,0.146,0.135,0.115,0.267,1.312,0.727,
+0.512,0.753,0.770,0.649,0.585,0.654,1.022,0.141,0.613,0.792,
+0.859,0.863,0.664,1.149,0.093,0.088,0.046,0.069,0.057,0.070,
+0.058,0.055,0.087,0.021,0.063,0.069,0.097,0.120,0.066,0.098,
+0.830,0.966,0.593,0.722,0.077,0.099,0.072,0.075,0.678,0.082,
+0.363,0.507,0.491,0.655,0.540,0.698,0.806,0.594,0.554,0.791,
+0.831,0.868,0.617,0.851,0.879,0.093,0.718,0.901,0.733,0.729,
+0.792,1.265,1.670,0.675,0.483,0.962,0.683,0.476,0.377,0.503,
+0.814,0.082,0.416,0.726,1.075,0.880,0.534,1.300,1.340,0.931,
+0.552,0.940,0.768,0.765,0.537,0.614,0.915,0.082,0.589,0.842,
+1.054,1.011,0.642,1.154,0.944,1.013,0.595,0.919,0.083,0.186,
+0.054,0.083,0.829,0.077,0.518,0.750,0.718,0.960,0.713,1.097,
+1.308,0.766,0.731,1.190,0.926,0.914,0.590,0.902,1.114,0.095,
+0.862,1.316,1.514,1.304,1.295,2.549,3.866,1.767,1.377,3.121,
+1.271,0.829,0.710,1.030,1.335,0.105,0.623,1.080,2.374,1.376,
+1.156,2.639,1.551,0.815,0.619,1.234,0.797,0.449,0.646,0.733,
+1.015,0.063,0.520,0.819,1.070,0.730,0.662,1.302,1.487,0.971,
+1.177,2.025,0.107,0.080,0.077,0.211,0.890,0.065,0.539,0.862,
+0.941,0.835,0.655,1.389,2.896,1.253,1.848,6.184,1.469,0.921,
+1.028,2.263,1.289,0.089,0.843,1.524,2.329,1.330,1.591,4.445,
+2.204,1.184,0.790,1.596,1.125,0.786,0.565,0.834,0.997,0.082,
+0.533,0.886,1.112,0.964,0.696,1.448,1.350,0.826,0.479,0.859,
+0.809,0.580,0.435,0.589,0.823,0.069,0.515,0.852,0.858,0.786,
+0.488,0.960,1.125,0.905,0.663,1.254,0.068,0.071,0.052,0.109,
+0.895,0.067,0.489,0.860,0.842,0.865,0.577,1.129,1.686,0.875,
+0.881,2.246,1.285,0.951,0.874,1.868,1.036,0.072,0.662,1.242,
+1.377,1.233,1.031,2.344,1.636,0.819,0.657,1.144,1.081,0.698,
+0.657,0.963,1.185,0.123,0.674,1.007,1.107,0.908,0.896,1.690,
+0.103,0.078,0.049,0.099,0.060,0.063,0.052,0.066,0.089,0.011,
+0.067,0.088,0.100,0.107,0.073,0.131,0.975,0.919,0.658,1.157,
+0.063,0.063,0.049,0.096,0.851,0.076,0.543,0.841,0.743,0.865,
+0.738,1.201,1.114,0.711,0.746,1.455,1.150,0.893,0.804,1.355,
+1.340,0.099,0.916,1.471,1.197,1.032,1.256,2.297,2.889,1.254,
+1.071,2.307,1.221,0.785,0.730,1.130,1.450,0.119,0.712,1.335,
+2.317,1.383,1.213,3.745,1.615,1.099,0.701,1.386,0.887,0.679,
+0.664,0.871,1.053,0.074,0.716,1.200,1.331,1.176,0.849,1.862,
+1.687,1.377,1.095,2.025,0.106,0.106,0.066,0.151,1.466,0.096,
+0.873,1.494,1.563,1.603,1.328,2.270,3.304,1.582,1.689,4.424,
+2.036,1.593,1.437,2.573,2.710,0.145,1.869,3.590,5.055,3.184,
+3.485,7.535,3.732,2.242,1.946,3.323,2.175,1.356,1.193,1.529,
+1.834,0.197,1.220,1.676,2.703,2.178,1.490,2.518,2.351,1.489,
+1.111,1.499,1.569,1.028,0.943,1.007,1.308,0.134,1.023,1.159,
+1.120,1.200,1.074,1.426,1.477,1.097,0.966,1.469,0.134,0.108,
+0.107,0.182,1.000,0.111,0.852,0.921,0.891,1.033,1.229,1.316,
+2.131,1.148,0.929,1.985,1.906,1.224,0.974,1.542,1.242,0.108,
+0.861,1.280,1.670,1.210,1.382,2.650,2.769,1.696,1.296,1.736,
+1.647,1.250,0.891,1.049,1.617,0.277,1.190,1.398,1.351,1.566,
+1.030,1.681,1.887,1.339,0.927,1.162,1.206,0.887,0.865,0.904,
+1.664,0.233,1.145,1.382,0.901,1.225,0.997,1.140,1.215,1.193,
+0.853,1.090,0.139,0.133,0.117,0.134,2.994,0.331,1.067,1.118,
+0.880,1.324,1.047,1.035,1.083,1.010,0.542,0.915,1.277,0.951,
+0.719,1.051,1.126,0.104,0.752,1.036,1.029,0.943,1.041,1.694,
+1.745,0.915,0.703,1.070,1.563,0.928,0.860,1.009,1.181,0.158,
+0.680,0.902,1.032,1.012,0.849,1.593,0.123,0.116,0.073,0.114,
+0.121,0.131,0.100,0.114,0.109,0.027,0.098,0.115,0.104,0.173,
+0.124,0.169,0.912,0.792,0.719,0.807,0.094,0.085,0.091,0.113,
+0.882,0.108,0.630,0.779,0.641,0.870,1.270,1.193,0.848,0.545,
+0.533,0.877,1.036,0.871,0.787,1.048,1.091,0.110,0.807,1.093,
+0.956,0.996,1.240,1.854,1.977,0.864,0.707,1.408,1.003,0.624,
+0.544,0.785,1.028,0.120,0.546,0.817,1.288,0.988,0.744,1.757,
+1.600,1.087,0.803,1.323,1.158,1.022,0.800,1.089,0.906,0.105,
+0.739,1.089,0.922,1.140,0.840,1.486,0.889,0.757,0.733,1.114,
+0.082,0.068,0.085,0.126,0.945,0.153,0.588,0.982,0.716,0.998,
+1.067,1.350,1.334,0.775,0.745,1.497,0.953,0.779,0.704,1.076,
+1.237,0.104,0.965,1.626,1.678,1.511,1.683,3.307,2.927,1.829,
+1.392,2.153,1.806,1.493,1.123,1.254,1.209,0.138,0.732,1.108,
+1.471,1.416,1.040,1.745,2.072,1.507,1.069,1.292,1.487,1.244,
+1.220,1.198,1.069,0.164,0.915,1.129,0.825,1.485,0.956,1.192,
+1.014,0.948,0.818,1.040,0.112,0.128,0.106,0.147,0.668,0.084,
+0.530,0.622,0.589,0.777,0.765,1.041,1.209,0.664,0.592,1.257,
+1.173,1.122,0.734,1.005,0.946,0.089,0.571,0.818,1.044,0.791,
+0.937,1.789,2.136,1.834,0.912,1.360,1.730,2.765,1.015,1.085,
+0.999,0.149,0.738,1.293,0.855,1.101,0.705,2.193,1.725,1.656,
+0.985,1.065,1.300,0.803,0.975,1.039,1.063,0.199,0.963,1.172,
+0.682,1.181,0.827,1.163,1.613,1.382,0.873,1.130,0.271,0.248,
+0.185,0.237,1.022,0.183,0.769,0.988,0.602,1.273,1.187,1.119,
+0.972,0.728,0.534,0.873,1.329,1.356,0.810,1.048,0.884,0.092,
+0.667,0.940,0.723,0.839,0.920,1.492,1.544,0.965,0.713,0.968,
+1.432,1.318,1.060,0.977,1.305,0.253,0.756,0.871,0.899,1.137,
+0.847,1.340,0.146,0.166,0.096,0.122,0.135,0.276,0.184,0.128,
+0.188,0.106,0.158,0.140,0.085,0.288,0.118,0.130,1.344,1.458,
+0.949,1.064,0.155,0.236,0.165,0.155,1.032,0.167,0.831,0.949,
+0.677,1.217,1.456,1.194,1.149,0.662,0.614,0.941,1.231,1.445,
+1.186,1.286,1.594,0.148,0.984,1.271,1.024,1.030,1.370,1.780,
+1.307,0.766,0.607,0.975,0.965,0.664,0.563,0.690,0.783,0.082,
+0.500,0.629,0.894,0.722,0.644,1.267,1.401,1.184,0.818,1.102,
+1.061,1.287,1.374,1.379,0.935,0.185,0.795,0.966,0.719,1.172,
+0.810,1.136,0.788,0.885,0.681,0.875,0.068,0.088,0.072,0.097,
+0.664,0.078,0.676,0.781,0.636,0.911,1.281,1.255,1.019,0.594,
+0.617,0.997,0.793,0.783,0.655,0.946,0.941,0.077,0.812,1.207,
+1.163,1.256,1.382,2.398,2.027,1.452,1.006,1.832,1.004,0.854,
+0.694,0.852,0.931,0.112,0.890,0.820,1.052,1.159,0.785,1.190,
+1.722,1.430,0.828,1.214,1.177,1.161,0.957,0.998,1.243,0.212,
+1.378,1.220,0.915,2.291,0.827,1.191,0.963,1.173,1.116,1.261,
+0.113,0.151,0.180,0.249,0.959,0.123,0.786,0.888,0.545,0.999,
+1.151,0.992,1.065,0.754,0.662,1.468,0.947,0.887,0.940,1.403,
+0.904,0.104,0.784,1.135,1.078,0.973,1.168,2.454,0.104,0.111,
+0.060,0.093,0.105,0.142,0.086,0.086,0.081,0.020,0.074,0.082,
+0.088,0.126,0.124,0.121,0.122,0.150,0.073,0.088,0.150,0.212,
+0.137,0.116,0.127,0.054,0.155,0.144,0.085,0.249,0.092,0.116,
+0.075,0.134,0.115,0.101,0.021,0.048,0.070,0.038,0.198,0.048,
+0.221,0.196,0.066,0.150,0.126,0.116,0.098,0.088,0.063,0.135,
+0.151,0.190,0.185,0.267,0.109,0.022,0.119,0.153,0.097,0.109,
+0.120,0.204,1.310,1.055,0.686,0.837,1.037,1.326,0.992,0.929,
+1.156,0.212,1.162,1.256,0.816,1.185,0.935,1.410,0.103,0.163,
+0.076,0.086,0.100,0.206,0.145,0.099,0.130,0.046,0.184,0.152,
+0.093,0.212,0.123,0.138,0.977,2.017,1.001,0.987,0.129,0.397,
+0.219,0.159,1.070,0.218,0.762,0.964,0.597,1.257,1.049,1.125,
+0.811,0.773,0.626,0.887,1.142,1.867,1.210,1.569,1.526,0.233,
+1.432,1.498,0.904,1.143,1.349,1.885,1.282,0.889,0.558,1.035,
+0.752,0.695,0.459,0.575,0.839,0.100,0.539,0.817,1.000,0.960,
+0.632,1.376,1.485,1.459,0.798,1.116,1.281,1.877,1.043,1.060,
+1.268,0.182,1.168,1.610,1.030,1.634,1.018,1.587,1.068,1.274,
+0.899,1.071,0.093,0.150,0.104,0.119,1.063,0.148,0.917,1.217,
+0.824,1.557,1.091,1.438,1.133,0.826,0.676,1.250,1.172,0.996,
+0.757,1.100,1.300,0.132,1.353,1.792,1.564,1.658,1.701,2.812,
+2.494,1.268,1.044,2.113,1.188,0.728,0.650,1.094,1.169,0.098,
+0.642,1.005,1.447,1.064,1.366,1.832,1.347,0.995,0.592,1.003,
+0.799,0.588,0.538,0.758,0.847,0.077,0.650,0.861,0.814,0.791,
+0.790,1.129,1.080,0.889,0.788,1.305,0.081,0.071,0.067,0.168,
+0.781,0.068,0.617,0.793,0.688,0.725,0.677,1.167,1.462,0.797,
+0.952,2.450,0.996,0.697,0.733,1.861,1.031,0.078,0.761,1.330,
+1.554,0.999,1.196,3.443,2.028,1.389,0.928,1.640,1.435,1.210,
+1.324,1.133,1.145,0.133,0.847,1.209,1.177,1.308,0.949,1.576,
+1.528,1.188,0.693,1.053,1.255,1.156,0.856,1.084,1.164,0.154,
+1.020,1.391,1.018,1.432,0.888,1.347,1.036,1.211,0.923,1.351,
+0.099,0.137,0.147,0.232,1.335,0.143,0.959,1.381,0.889,1.328,
+0.920,1.401,1.245,0.886,0.812,2.033,1.498,1.372,1.404,4.882,
+1.183,0.117,1.127,1.810,1.248,1.272,1.273,2.631,1.422,0.798,
+0.650,1.001,1.136,0.918,0.814,1.035,1.137,0.154,1.074,1.202,
+1.000,1.010,1.028,1.718,0.102,0.090,0.055,0.091,0.076,0.120,
+0.094,0.090,0.080,0.019,0.199,0.119,0.085,0.133,0.104,0.142,
+0.892,1.060,0.759,1.094,0.078,0.109,0.088,0.138,0.999,0.139,
+0.935,1.157,0.727,1.154,1.141,1.500,0.937,0.701,0.699,1.147,
+1.119,1.105,1.032,1.706,1.793,0.155,1.319,2.109,1.203,1.183,
+1.657,2.613,1.983,1.019,0.830,1.551,0.987,0.737,0.662,0.862,
+1.177,0.123,0.673,1.081,1.346,1.000,0.847,2.097,1.673,1.087,
+0.719,1.204,1.006,0.975,0.976,1.056,0.937,0.089,1.141,1.277,
+1.027,1.093,0.863,2.129,1.283,1.135,0.963,1.630,0.092,0.092,
+0.075,0.151,1.209,0.110,1.011,1.480,1.183,1.442,1.482,2.080,
+2.041,1.105,1.160,2.477,1.431,1.265,1.222,2.482,1.848,0.140,
+1.729,2.785,2.933,2.689,2.843,4.860,3.728,1.745,1.558,2.754,
+1.808,1.168,1.017,1.374,1.431,0.160,0.795,1.596,2.032,1.659,
+1.140,2.031,1.642,1.088,0.907,1.165,1.192,0.793,0.803,0.946,
+1.149,0.244,0.688,0.837,0.930,1.224,0.774,1.172,1.442,1.018,
+0.786,1.416,0.108,0.080,0.073,0.159,0.786,0.073,0.561,0.901,
+0.697,0.841,0.821,1.170,1.798,0.810,0.682,1.490,1.157,0.758,
+0.687,1.118,0.949,0.073,0.562,0.956,1.251,0.732,0.982,2.044,
+2.562,1.504,0.943,1.700,1.813,1.260,1.028,1.134,1.110,0.128,
+0.651,1.002,1.154,1.171,0.782,1.374,1.774,1.651,0.753,1.031,
+1.329,0.806,0.845,0.918,1.152,0.147,0.840,1.165,0.849,1.052,
+0.671,0.970,1.372,1.320,0.921,1.249,0.137,0.135,0.117,0.170,
+1.244,0.154,0.927,1.994,0.823,1.223,1.199,1.361,1.292,0.857,
+0.558,1.069,1.380,1.161,0.843,1.293,1.036,0.092,0.708,1.252,
+1.054,0.931,1.053,2.074,1.732,0.992,0.735,1.274,1.671,1.202,
+1.165,1.283,1.497,0.190,0.911,1.094,1.276,1.276,0.976,1.707,
+0.155,0.209,0.094,0.139,0.161,0.158,0.165,0.156,0.148,0.030,
+0.294,0.175,0.169,0.269,0.164,0.225,1.065,1.038,1.039,1.358,
+0.122,0.108,0.164,0.205,1.273,0.149,0.754,0.970,0.754,1.270,
+1.153,1.206,0.949,0.608,0.618,1.039,1.377,1.108,1.615,1.506,
+1.276,0.136,0.904,1.463,1.256,1.344,1.232,1.912,1.873,0.873,
+0.679,1.400,1.040,0.680,0.726,0.839,1.000,0.105,0.552,0.829,
+1.467,1.128,0.849,1.754,1.492,1.129,0.748,1.141,1.129,0.910,
+0.873,0.976,0.940,0.095,0.997,1.054,1.078,1.138,0.951,1.463,
+1.193,1.143,0.997,1.468,0.116,0.095,0.104,0.163,1.174,0.108,
+0.855,1.236,1.048,1.423,1.461,1.770,1.643,0.954,0.848,1.797,
+1.162,0.798,0.951,1.441,1.901,0.135,1.182,2.052,2.392,1.852,
+2.163,3.940,0.174,0.122,0.093,0.138,0.128,0.110,0.090,0.111,
+0.094,0.016,0.073,0.290,0.107,0.144,0.088,0.151,0.145,0.126,
+0.248,0.132,0.131,0.118,0.169,0.121,0.094,0.021,0.094,0.106,
+0.088,0.107,0.091,0.118,0.087,0.085,0.070,0.094,0.012,0.015,
+0.014,0.018,0.067,0.011,0.061,0.124,0.050,0.078,0.083,0.109,
+0.103,0.063,0.054,0.106,0.114,0.101,0.077,0.116,0.081,0.012,
+0.061,0.156,0.090,0.080,0.100,0.196,0.147,0.133,0.066,0.097,
+0.133,0.163,0.107,0.096,0.078,0.018,0.057,0.083,0.065,0.090,
+0.063,0.100,0.157,0.311,0.089,0.097,0.178,0.183,0.150,0.134,
+0.126,0.043,0.117,0.132,0.078,0.128,0.087,0.111,0.102,0.135,
+0.088,0.104,0.022,0.043,0.038,0.028,0.154,0.049,0.131,0.293,
+0.077,0.150,0.282,0.153,0.092,0.072,0.048,0.082,0.124,0.140,
+0.100,0.119,0.094,0.015,0.077,0.123,0.073,0.083,0.101,0.167,
+0.113,0.079,0.053,0.073,0.121,0.129,0.129,0.106,0.099,0.022,
+0.127,0.092,0.068,0.093,0.080,0.114,0.014,0.024,0.015,0.016,
+0.023,0.043,0.039,0.028,0.022,0.017,0.090,0.031,9.91e-3,0.026,
+0.024,0.019,0.103,0.138,0.123,0.160,0.022,0.038,0.048,0.031,
+0.235,0.047,0.126,0.141,0.075,0.166,0.165,0.138,0.080,0.058,
+0.061,0.099,0.135,0.166,0.158,0.166,0.135,0.031,0.126,0.257,
+0.097,0.283,0.134,0.190,0.131,0.104,0.069,0.112,0.103,0.081,
+0.074,0.082,0.080,0.011,0.059,0.073,0.107,0.106,0.090,0.172,
+0.157,0.148,0.103,0.204,0.150,0.171,0.145,0.166,0.112,0.021,
+0.196,0.136,0.109,0.164,0.131,0.178,0.091,0.104,0.097,0.138,
+0.013,0.019,0.019,0.024,0.108,0.019,0.104,0.136,0.084,0.136,
+0.189,0.181,0.123,0.088,0.075,0.141,0.109,0.101,0.093,0.138,
+0.137,0.016,0.115,0.181,0.156,0.176,0.188,0.341,2.064,1.438,
+1.024,1.706,1.208,0.961,0.748,1.049,0.996,0.104,0.689,0.949,
+0.880,0.763,0.691,1.149,1.783,1.353,0.838,1.069,1.470,1.161,
+1.257,1.110,1.279,0.173,1.868,1.420,0.769,1.104,0.878,1.275,
+1.063,1.230,0.877,1.272,0.150,0.188,0.157,0.266,1.060,0.146,
+1.061,1.322,0.642,1.140,0.903,1.239,1.048,0.716,0.573,1.164,
+1.127,0.980,0.799,1.388,1.161,0.122,1.144,1.764,1.060,1.010,
+1.343,2.431,0.135,0.123,0.062,0.097,0.132,0.156,0.106,0.120,
+0.075,0.021,0.069,0.087,0.061,0.088,0.056,0.099,0.129,0.165,
+0.074,0.079,0.166,0.160,0.144,0.124,0.100,0.037,0.162,0.140,
+0.058,0.100,0.073,0.090,0.085,0.154,0.090,0.102,0.023,0.051,
+0.047,0.032,0.133,0.049,0.214,0.341,0.059,0.139,0.126,0.132,
+0.118,0.089,0.057,0.123,0.161,0.205,0.128,0.199,0.124,0.024,
+0.134,0.385,0.090,0.109,0.124,0.226,1.908,1.302,0.856,0.848,
+1.488,1.679,2.103,1.165,1.243,0.227,1.424,1.272,0.812,1.016,
+1.092,1.474,0.154,0.334,0.124,0.096,0.166,0.330,0.231,0.123,
+0.153,0.060,0.268,0.180,0.093,0.185,0.152,0.148,1.296,1.590,
+1.286,1.231,0.178,0.214,0.268,0.185,1.292,0.211,0.552,0.956,
+0.664,1.099,1.256,1.276,0.902,0.681,0.611,0.746,1.334,1.400,
+1.297,1.253,1.202,0.172,1.735,1.702,0.846,1.034,1.514,1.864,
+1.359,0.870,0.672,1.029,0.929,0.805,0.683,0.653,0.803,0.098,
+0.692,0.830,0.802,0.752,0.650,1.204,1.520,1.659,1.198,1.074,
+1.484,1.862,1.353,1.046,1.180,0.171,1.677,1.462,0.920,1.315,
+1.108,1.335,1.274,1.397,1.172,1.435,0.132,0.196,0.155,0.175,
+1.480,0.191,1.781,2.061,0.948,1.597,1.627,1.855,1.215,0.827,
+0.735,1.205,1.198,1.149,0.976,1.219,1.570,0.151,2.019,2.149,
+1.545,1.693,2.023,2.843,2.398,1.115,0.856,1.689,1.140,0.715,
+0.651,0.928,0.988,0.096,0.538,0.882,1.216,0.956,0.771,1.605,
+1.491,0.866,0.556,0.907,0.930,0.645,0.615,0.778,0.747,0.066,
+0.616,0.836,0.680,0.663,0.579,1.090,1.341,0.899,0.609,1.101,
+0.101,0.082,0.066,0.148,0.972,0.080,0.651,1.026,1.062,0.865,
+0.777,1.338,1.394,0.757,0.646,1.422,1.036,0.697,0.626,1.172,
+1.004,0.085,0.668,1.291,1.294,0.981,1.159,2.584,2.357,1.463,
+0.880,1.568,1.644,1.276,1.087,1.203,1.130,0.120,0.822,1.153,
+1.076,1.201,0.764,1.549,1.768,1.435,0.726,1.109,1.498,1.201,
+1.155,1.223,1.040,0.114,1.030,1.397,0.769,0.955,0.735,1.172,
+1.346,1.530,0.926,1.396,0.119,0.161,0.116,0.184,1.401,0.174,
+1.249,2.128,0.938,1.500,1.263,1.835,1.605,1.087,0.789,1.485,
+1.675,1.483,1.221,1.955,1.485,0.215,1.151,2.356,1.256,1.476,
+1.435,2.691,3.225,1.136,0.872,1.240,1.658,1.334,1.540,1.376,
+1.420,0.193,1.079,1.720,1.125,1.291,1.236,2.121,0.324,0.142,
+0.090,0.163,0.131,0.182,0.309,0.148,0.106,0.028,0.160,0.289,
+0.100,0.192,0.122,0.183,1.539,1.609,1.215,1.604,0.132,0.146,
+0.161,0.197,1.694,0.238,1.279,1.911,1.057,1.891,1.608,2.064,
+1.478,1.012,1.413,1.420,1.811,1.524,1.655,2.101,1.631,0.186,
+1.851,3.553,1.362,1.535,2.062,3.128,2.222,1.020,0.873,1.514,
+1.142,0.778,0.740,0.919,1.189,0.132,0.743,1.146,1.267,0.966,
+0.888,2.021,1.799,1.119,0.785,1.185,1.219,1.101,1.159,1.104,
+1.003,0.091,1.056,1.632,1.008,1.060,0.981,1.632,1.697,1.547,
+1.264,1.947,0.129,0.129,0.105,0.190,1.808,0.166,1.677,2.584,
+1.507,1.926,1.976,2.736,2.246,1.212,1.165,2.501,1.799,1.439,
+1.447,2.201,2.176,0.165,2.129,3.758,2.580,2.313,2.966,5.280,
+7.415,2.678,2.199,5.091,2.246,1.309,1.095,1.853,2.035,0.175,
+0.907,1.589,3.310,2.418,1.411,3.308,2.208,1.214,0.828,1.363,
+1.223,0.699,0.649,0.861,1.135,0.089,0.716,0.862,1.310,1.183,
+0.831,1.479,1.661,1.091,0.862,1.750,0.122,0.089,0.073,0.186,
+1.031,0.080,0.542,0.947,1.018,1.062,0.924,1.625,2.613,1.249,
+1.068,2.587,1.647,1.056,0.888,1.674,1.338,0.099,0.874,1.434,
+2.300,1.425,1.535,4.100,2.691,1.306,0.849,1.718,1.452,0.843,
+0.633,0.893,0.933,0.093,0.436,0.762,1.115,0.901,0.594,1.335,
+1.478,0.946,0.536,0.955,0.907,0.549,0.490,0.665,0.814,0.065,
+0.458,0.696,0.807,0.678,0.558,0.983,1.147,0.891,0.633,1.110,
+0.082,0.074,0.055,0.099,1.222,0.235,0.465,0.812,0.817,1.132,
+0.722,1.064,1.168,0.981,0.511,1.045,0.959,0.714,0.529,0.892,
+0.849,0.068,0.505,0.900,1.025,0.794,0.869,1.918,2.195,1.055,
+0.749,1.442,1.670,2.253,0.830,1.270,1.236,0.139,0.497,0.919,
+1.686,1.287,0.814,2.196,0.140,0.096,0.061,0.119,0.116,0.106,
+0.078,0.117,0.098,0.011,0.067,0.098,0.183,0.177,0.092,0.214,
+1.029,0.798,0.715,1.115,0.092,0.072,0.065,0.118,0.972,0.083,
+0.445,0.746,0.853,0.925,0.824,1.231,1.168,0.666,0.637,1.300,
+1.290,0.834,0.784,1.317,1.079,0.087,0.650,1.198,1.392,1.046,
+1.151,2.386,3.296,1.357,1.017,2.414,1.397,0.980,0.870,1.224,
+1.458,0.122,0.690,1.210,2.895,1.562,1.182,3.025,1.779,1.003,
+0.757,1.286,1.050,0.748,0.713,0.933,1.069,0.073,0.684,1.053,
+1.589,1.327,0.944,1.909,1.380,1.118,0.910,1.548,0.104,0.072,
+0.070,0.133,1.213,0.085,0.716,1.168,1.255,1.371,1.303,2.089,
+2.613,1.295,1.261,3.403,1.812,1.036,1.062,1.880,2.136,0.129,
+1.311,2.374,4.126,2.571,3.145,7.528,3.203,1.678,1.237,2.537,
+1.705,1.118,0.864,1.278,1.290,0.123,0.931,1.447,1.696,1.412,
+1.043,2.130,1.929,1.200,1.346,1.500,1.278,0.883,0.980,1.041,
+1.076,0.090,0.979,0.971,0.954,0.924,0.772,1.355,1.171,0.888,
+0.650,1.164,0.090,0.086,0.061,0.128,0.786,0.072,0.510,0.907,
+0.743,0.856,0.778,1.395,1.380,0.818,0.651,1.405,1.198,0.957,
+0.660,1.165,0.890,0.081,0.587,1.079,1.246,1.017,1.085,2.630,
+2.330,1.468,0.774,1.443,1.531,1.201,0.720,0.977,0.899,0.087,
+0.430,0.829,0.978,0.917,0.594,1.319,1.596,1.926,0.608,1.021,
+1.303,1.066,0.697,0.955,0.982,0.113,0.587,0.864,0.833,0.913,
+0.603,1.106,1.145,1.037,0.644,1.073,0.102,0.112,0.072,0.112,
+1.279,0.142,0.605,1.146,0.877,1.161,1.020,1.403,1.025,0.776,
+0.490,1.001,1.076,1.017,0.645,1.024,0.907,0.071,0.508,1.030,
+0.980,0.916,0.877,1.970,1.786,0.867,0.689,1.147,1.340,1.004,
+0.883,1.407,1.035,0.128,0.598,0.947,1.133,1.034,0.810,1.849,
+0.090,0.081,0.052,0.096,0.085,0.119,0.078,0.122,0.074,0.017,
+0.105,0.090,0.095,0.129,0.079,0.138,1.141,1.027,0.791,1.220,
+0.101,0.099,0.088,0.136,1.470,0.125,0.628,0.970,0.909,1.191,
+1.031,1.546,1.149,0.703,0.624,1.265,1.370,1.206,1.037,1.528,
+1.197,0.105,0.835,1.518,1.261,1.319,1.343,2.697,2.019,1.027,
+0.781,1.558,1.320,0.763,0.674,1.000,1.075,0.093,0.604,0.932,
+1.492,1.131,0.919,2.392,1.595,1.074,0.776,1.318,1.068,0.997,
+0.782,1.142,0.962,0.094,0.811,1.077,1.194,1.466,1.021,1.800,
+1.174,1.013,0.867,1.375,0.086,0.076,0.079,0.122,1.007,0.084,
+0.763,1.139,0.977,1.210,1.261,2.018,1.671,0.910,0.940,1.779,
+1.446,1.003,0.960,1.828,1.483,0.110,1.056,1.838,2.192,2.226,
+2.072,5.267,3.125,1.877,1.311,2.540,1.742,1.227,0.984,1.431,
+1.668,0.130,0.763,1.229,1.607,1.219,0.861,1.834,2.198,1.625,
+0.913,1.555,1.514,1.142,0.936,1.135,1.484,0.140,1.149,1.383,
+1.337,1.523,1.022,1.889,1.573,1.603,1.000,1.742,0.156,0.165,
+0.147,0.253,1.403,0.161,0.767,1.230,0.999,1.533,1.145,1.864,
+1.778,1.164,0.837,2.000,1.492,1.189,0.928,1.690,1.598,0.138,
+1.131,1.910,1.867,1.547,2.097,4.027,0.165,0.130,0.087,0.137,
+0.273,0.147,0.081,0.121,0.101,0.014,0.059,0.089,0.101,0.113,
+0.071,0.147,0.130,0.137,0.059,0.096,0.156,0.141,0.082,0.103,
+0.104,0.020,0.113,0.129,0.093,0.122,0.077,0.139,0.089,0.114,
+0.063,0.102,0.014,0.025,0.018,0.018,0.143,0.026,0.092,0.130,
+0.077,0.136,0.121,0.149,0.141,0.113,0.066,0.175,0.157,0.165,
+0.101,0.186,0.123,0.016,0.090,0.177,0.143,0.144,0.151,0.322,
+2.342,1.365,0.944,1.322,1.764,1.570,1.332,1.415,1.520,0.224,
+1.053,1.395,1.334,1.460,1.241,2.379,0.130,0.144,0.070,0.101,
+0.131,0.156,0.103,0.104,0.122,0.028,0.133,0.126,0.134,0.189,
+0.132,0.195,1.571,1.783,1.293,1.552,0.162,0.198,0.162,0.182,
+1.721,0.210,1.033,1.512,1.051,1.622,1.546,2.033,1.479,1.087,
+0.869,1.389,1.793,1.770,1.401,1.717,1.877,0.192,1.813,2.312,
+1.596,1.626,2.477,3.571,2.381,1.359,0.986,1.827,1.494,1.108,
+0.809,1.211,1.338,0.129,0.960,1.433,1.559,1.283,1.024,2.442,
+2.190,1.784,1.075,1.656,1.778,1.590,1.080,1.276,1.723,0.156,
+1.517,1.870,1.772,2.044,1.570,2.653,1.917,1.900,1.451,2.171,
+0.145,0.163,0.130,0.206,2.067,0.183,1.700,2.383,1.744,2.359,
+2.315,3.111,2.212,1.325,1.186,2.093,1.642,1.467,1.235,1.761,
+2.360,0.178,2.306,3.127,2.833,2.577,3.493,5.964,8.196,2.737,
+1.805,4.447,2.209,1.302,1.053,1.888,1.973,0.163,0.957,1.731,
+2.876,2.090,1.533,3.959,2.390,1.378,0.791,1.479,1.369,0.936,
+0.673,1.081,1.288,0.090,0.756,1.219,1.575,1.125,0.829,1.843,
+2.027,1.617,0.969,2.318,0.130,0.120,0.079,0.226,1.305,0.111,
+0.774,1.374,1.361,1.481,1.122,2.410,3.310,1.836,1.344,3.629,
+1.869,1.390,1.084,2.393,1.975,0.147,1.288,2.328,3.374,2.540,
+2.541,8.045,3.526,1.882,1.170,2.284,2.729,1.529,0.957,1.462,
+1.413,0.121,0.777,1.351,1.633,1.444,0.912,2.194,2.367,1.675,
+0.767,1.448,2.172,1.640,0.800,1.316,1.309,0.110,0.900,1.490,
+1.293,1.303,0.834,1.907,1.783,1.586,0.915,2.044,0.114,0.122,
+0.071,0.167,1.540,0.136,0.988,1.680,1.380,1.757,1.275,2.516,
+2.181,1.609,1.011,2.631,1.747,1.487,1.033,2.359,1.746,0.132,
+1.107,2.145,2.140,2.137,1.824,5.718,3.530,1.733,1.326,2.054,
+2.365,1.580,1.382,2.110,2.013,0.219,1.368,2.106,2.202,1.893,
+1.706,3.700,0.166,0.140,0.073,0.138,0.138,0.130,0.101,0.142,
+0.104,0.015,0.137,0.169,0.175,0.177,0.122,0.274,2.314,2.042,
+1.458,2.460,0.147,0.138,0.113,0.221,2.122,0.198,1.739,2.273,
+1.828,2.311,2.315,3.777,2.694,1.736,1.496,2.663,2.547,1.991,
+1.870,3.236,2.760,0.202,2.489,3.983,2.872,2.391,3.536,7.162,
+8.175,2.691,1.921,4.535,2.363,1.467,1.208,2.268,2.490,0.191,
+1.261,2.380,3.840,2.589,2.054,6.605,3.120,2.537,1.238,2.302,
+2.064,1.560,1.238,2.064,2.027,0.139,1.489,2.385,3.005,2.308,
+1.774,4.924,3.193,2.537,1.881,3.600,0.168,0.149,0.109,0.274,
+2.917,0.196,2.259,3.698,3.234,3.381,3.439,6.705,7.359,2.557,
+1.983,5.396,3.182,2.175,1.940,4.763,3.726,0.226,3.195,6.202,
+5.866,4.440,5.141,20.3
+};
+
+static double hg19_biasTable28_7[] = {
+0.794
+};
+
+static double hg19_biasTable29_7[] = {
+0.961,0.641,0.641,0.954
+};
+
+static double hg19_biasTable30_7[] = {
+1.300,0.897,0.649,1.023,0.764,0.647,0.526,0.646,0.926,0.117,
+0.647,0.893,0.878,0.923,0.760,1.281
+};
+
+static double hg19_biasTable31_7[] = {
+2.051,1.070,0.767,1.337,1.162,0.898,0.713,0.838,1.063,0.126,
+0.583,0.842,1.120,0.968,0.687,1.335,1.056,0.838,0.491,0.689,
+0.789,0.667,0.572,0.579,0.734,0.110,0.575,0.703,0.596,0.751,
+0.488,0.764,0.986,1.022,0.752,0.969,0.105,0.128,0.109,0.129,
+0.918,0.130,0.665,0.892,0.680,1.020,0.831,1.065,1.131,0.681,
+0.601,1.115,1.019,0.915,0.729,1.054,1.011,0.104,0.785,1.158,
+1.133,0.979,1.050,1.988
+};
+
+static double hg19_biasTable32_7[] = {
+3.301,1.562,1.190,2.197,1.461,0.996,0.786,1.054,1.304,0.130,
+0.648,1.003,1.636,1.275,0.841,1.619,1.688,1.186,0.759,1.036,
+1.153,0.838,0.825,0.804,1.030,0.125,0.802,0.916,0.808,0.931,
+0.632,0.999,1.190,1.106,0.831,1.147,0.116,0.125,0.105,0.162,
+0.856,0.106,0.588,0.797,0.696,0.930,0.705,1.054,1.482,0.787,
+0.719,1.509,1.129,0.898,0.716,1.145,0.973,0.097,0.657,1.038,
+1.286,0.903,0.994,2.182,1.619,1.015,0.607,1.000,1.125,0.928,
+0.628,0.698,0.786,0.103,0.445,0.640,0.692,0.760,0.469,0.852,
+1.091,0.946,0.473,0.666,0.876,0.658,0.568,0.583,0.802,0.157,
+0.580,0.766,0.514,0.732,0.441,0.647,0.787,0.890,0.552,0.724,
+0.095,0.132,0.105,0.113,0.803,0.131,0.575,0.808,0.534,0.912,
+0.601,0.786,0.754,0.542,0.383,0.716,0.850,0.794,0.552,0.832,
+0.667,0.071,0.467,0.760,0.643,0.644,0.601,1.184,1.527,0.894,
+0.645,0.902,1.201,1.080,0.912,0.926,1.175,0.179,0.741,0.936,
+0.891,0.965,0.763,1.274,0.114,0.143,0.072,0.097,0.116,0.169,
+0.133,0.099,0.116,0.048,0.151,0.124,0.096,0.189,0.105,0.130,
+0.910,1.076,0.814,0.902,0.114,0.149,0.135,0.129,1.007,0.172,
+0.658,0.839,0.613,1.066,0.919,0.994,0.821,0.583,0.542,0.785,
+1.048,1.086,0.887,1.085,1.083,0.138,0.946,1.184,0.825,0.888,
+1.013,1.553,1.804,0.825,0.642,1.270,0.885,0.615,0.543,0.691,
+1.004,0.096,0.513,0.805,1.277,0.889,0.692,1.621,1.348,1.107,
+0.670,0.973,1.033,1.025,0.781,0.849,1.004,0.116,0.789,1.027,
+0.976,1.178,0.788,1.298,1.077,1.042,0.830,1.121,0.100,0.110,
+0.093,0.116,1.033,0.116,0.858,1.149,0.887,1.197,1.124,1.449,
+1.482,0.823,0.772,1.472,1.071,0.911,0.782,1.178,1.343,0.112,
+1.086,1.676,1.792,1.506,1.609,3.095
+};
+
+static double hg19_biasTable32_8[] = {
+0.814
+};
+
+double *GenomeIndex::hg19_biasTables_large[GenomeIndex::largestKeySize + 1][GenomeIndex::largestBiasTable + 1] = {
+ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
+ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
+ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
+ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, hg19_biasTable16_4_large, hg19_biasTable17_4_large, hg19_biasTable18_4_large, hg19_biasTable19_4_large, hg19_biasTable20_4_large, hg19_biasTable21_4_large, hg19_biasTable22_4_large, hg19_biasTable23_4_large, hg19_biasTable24_4_large, hg19_biasTable25_4_large, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
+ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, hg19_biasTable20_5_large, hg19_biasTable21_5_large, hg19_biasTable22_5_large, hg19_biasTable23_5_large, hg19_biasTable24_5_large, hg19_biasTable25_5_large, hg19_biasTable26_5_large, hg19_biasTable27_5_large, NULL, NULL, NULL, NULL, NULL },
+ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, hg19_biasTable24_6_large, hg19_biasTable25_6_large, hg19_biasTable26_6_large, hg19_biasTable27_6_large, hg19_biasTable28_6_large, hg19_biasTable29_6_large, hg19_biasTable30_6_large, hg19_biasTable31_6_large, NULL },
+ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, hg19_biasTable28_7_large, hg19_biasTable29_7_large, hg19_biasTable30_7_large, hg19_biasTable31_7_large, hg19_biasTable32_7_large },
+ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, hg19_biasTable32_8_large }
+};
+
+double *GenomeIndex::hg19_biasTables[GenomeIndex::largestKeySize+1][GenomeIndex::largestBiasTable+1] = {
+ {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL},
+ {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL},
+ {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL},
+ {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, },
+ {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, hg19_biasTable16_4, hg19_biasTable17_4, hg19_biasTable18_4, hg19_biasTable19_4, hg19_biasTable20_4, hg19_biasTable21_4, hg19_biasTable22_4, hg19_biasTable23_4, hg19_biasTable24_4, hg19_biasTable25_4, NULL, NULL, NULL, NULL, NULL, NULL, NULL },
+ {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, hg19_biasTable20_5, hg19_biasTable21_5, hg19_biasTable22_5, hg19_biasTable23_5, hg19_biasTable24_5, hg19_biasTable25_5, hg19_biasTable26_5, hg19_biasTable27_5, NULL, NULL, NULL, NULL, NULL},
+ {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, hg19_biasTable24_6, hg19_biasTable25_6, hg19_biasTable26_6, hg19_biasTable27_6, hg19_biasTable28_6, hg19_biasTable29_6, hg19_biasTable30_6, hg19_biasTable31_6, NULL},
+ {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, hg19_biasTable28_7, hg19_biasTable29_7, hg19_biasTable30_7, hg19_biasTable31_7, hg19_biasTable32_7},
+ {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, hg19_biasTable32_8}
+};
diff --git a/SNAPLib/BigAlloc.cpp b/SNAPLib/BigAlloc.cpp
new file mode 100644
index 0000000..d0f2d6b
--- /dev/null
+++ b/SNAPLib/BigAlloc.cpp
@@ -0,0 +1,572 @@
+/*++
+
+Module Name:
+
+ bigalloc.cpp
+
+Abstract:
+
+ Allocator that uses big pages where appropriate and possible.
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+#include "stdafx.h"
+#include "BigAlloc.h"
+#include "Compat.h"
+#include "exit.h"
+#include "Error.h"
+
+bool BigAllocUseHugePages = false;
+
+
+#ifdef PROFILE_BIGALLOC
+
+struct ProfileEntry
+{
+ ProfileEntry() : caller(NULL), total(0), count(0) {}
+ const char* caller;
+ size_t total;
+ size_t count;
+};
+
+static const int MaxCallers = 1000;
+static int NCallers = 0;
+static int LastCaller = 0;
+static ProfileEntry AllocProfile[1000];
+
+static ProfileEntry ProfileTotal;
+static ProfileEntry LastPrintProfile;
+
+void *BigAllocInternal(
+ size_t sizeToAllocate,
+ size_t *sizeAllocated,
+ bool reserveOnly = FALSE,
+ size_t *pageSize = NULL);
+
+void RecordAllocProfile(size_t bytes, const char* caller)
+{
+ if (caller) {
+ if (LastCaller >= NCallers || strcmp(AllocProfile[LastCaller].caller, caller)) {
+ LastCaller = NCallers;
+ for (int i = 0; i < NCallers; i++) {
+ if (0 == strcmp(AllocProfile[i].caller, caller)) {
+ LastCaller = i;
+ break;
+ }
+ }
+ if (LastCaller == NCallers && NCallers < MaxCallers) {
+ NCallers++;
+ char* buffer = (char*) malloc(strlen(caller) + 1);
+ strcpy(buffer, caller);
+ AllocProfile[LastCaller].caller = buffer;
+ AllocProfile[LastCaller].total = AllocProfile[LastCaller].count = 0;
+ }
+ }
+ if (LastCaller < MaxCallers) {
+ AllocProfile[LastCaller].count++;
+ AllocProfile[LastCaller].total += bytes;
+ }
+ }
+ ProfileTotal.count++;
+ ProfileTotal.total += bytes;
+ if (ProfileTotal.count - LastPrintProfile.count >= 1000 || ProfileTotal.total - LastPrintProfile.total >= ((size_t)1 << 30)) {
+ fprintf(stderr, "BigAllocProfile %lld allocs, %lld total; caller %s alloc %lld\n", ProfileTotal.count, ProfileTotal.total, caller ? caller : "?", bytes);
+ LastPrintProfile = ProfileTotal;
+ }
+}
+
+void *BigAllocProfile(
+ size_t sizeToAllocate,
+ size_t *sizeAllocated,
+ const char *caller)
+{
+ RecordAllocProfile(sizeToAllocate, caller);
+ return BigAllocInternal(sizeToAllocate, sizeAllocated);
+}
+
+#endif
+
+#ifdef _MSC_VER
+
+//
+// Assert an NT privilege for this thread.
+//
+BOOL
+AssertPrivilege(
+ IN LPCSTR PrivilegeName
+ )
+
+{
+ BOOL b;
+ HANDLE hThread;
+ HANDLE hProcess;
+ TOKEN_PRIVILEGES tokenPrivileges, oldTokenPrivileges;
+ DWORD oldPrivilegesLength;
+
+
+ b = OpenThreadToken(GetCurrentThread(), TOKEN_ADJUST_PRIVILEGES |
+ TOKEN_QUERY, TRUE, &hThread);
+ if (!b) {
+ if (GetLastError() != ERROR_NO_TOKEN) {
+ return b;
+ }
+
+ b = OpenProcessToken(GetCurrentProcess(), TOKEN_DUPLICATE, &hProcess);
+ if (!b) {
+ return b;
+ }
+
+ b = DuplicateTokenEx(hProcess, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY |
+ TOKEN_IMPERSONATE, NULL, SecurityImpersonation,
+ TokenImpersonation, &hThread);
+ if (!b) {
+ CloseHandle(hProcess);
+ return b;
+ }
+
+ b = SetThreadToken(NULL, hThread);
+ if (!b) {
+ CloseHandle(hProcess);
+ CloseHandle(hThread);
+ return b;
+ }
+
+ CloseHandle(hProcess);
+ }
+
+ ZeroMemory(&tokenPrivileges, sizeof(tokenPrivileges));
+
+ b = LookupPrivilegeValue(NULL,PrivilegeName,&tokenPrivileges.Privileges[0].Luid);
+ if (!b) {
+ return b;
+ }
+
+ tokenPrivileges.PrivilegeCount = 1;
+ tokenPrivileges.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
+
+ b = AdjustTokenPrivileges(hThread, FALSE, &tokenPrivileges,
+ sizeof(tokenPrivileges), &oldTokenPrivileges,
+ &oldPrivilegesLength);
+
+ CloseHandle(hThread);
+
+ return b;
+}
+
+
+void *BigAllocInternal(
+ size_t sizeToAllocate,
+ size_t *sizeAllocated,
+ bool reserveOnly,
+ size_t *pageSize)
+/*++
+
+Routine Description:
+
+ Allocate memory, using large pages if both appropriate and possible, and always using
+ VirtualAlloc (meaning that this will always use at least one VM page, so you shouldn't
+ use it for small stuff, only gigantic data structures for which you want to reduce TLB
+ misses and cache misses on the page table). Use malloc or new for ordinary allocations.
+
+Arguments:
+
+ sizeToAllocate - The amount of memory that is needed
+ sizeAllocated - Optional parameter that if provided returns the amount of memory actually allocated, which
+ will always be >= sizeToAllocate (unless the allocation fails).
+ reserveOnly - If TRUE, will only reserve address space, must call BigCommit to commit memory
+ pageSize - Optional parameter that if provided returns the page size (not large page size)
+
+Return Value:
+
+ pointer to the memory allocated, or NULL if the allocation failed.
+
+--*/
+{
+ if (sizeToAllocate == 0) {
+ sizeToAllocate = 1;
+ }
+
+ static bool warningPrinted = false;
+
+ void *allocatedMemory;
+
+ SYSTEM_INFO systemInfo[1];
+ GetSystemInfo(systemInfo);
+
+ size_t virtualAllocSize = ((sizeToAllocate + systemInfo->dwPageSize - 1) / systemInfo->dwPageSize) * systemInfo->dwPageSize;
+ if (pageSize != NULL) {
+ *pageSize = systemInfo->dwPageSize;
+ }
+
+ //
+ // Try to do the VirtualAlloc using large pages if the size we're getting is at last one large page.
+ // Callers should have asserted the SeLockMemoryPrivilege if they want large pages.
+ //
+
+ size_t largePageSize = GetLargePageMinimum();
+ DWORD commitFlag = reserveOnly ? 0 : MEM_COMMIT;
+ if (0 != largePageSize && virtualAllocSize >= largePageSize) {
+ //
+ // Start by asserting the SeLockMemoryPrivilege, which is necessary for large page allocations. It's overkill to
+ // do this every time, it only has to happen once/thread. However, a BigAllocation is a big deal and shouldn't be
+ // happening very much, so we just don't worry about the extra cost.
+ //
+ BOOL assertPrivilegeWorked = AssertPrivilege("SeLockMemoryPrivilege");
+ DWORD assertPrivilegeError = GetLastError();
+
+ size_t largePageSizeToAllocate = ((virtualAllocSize + largePageSize - 1) / largePageSize) * largePageSize;
+
+#if _DEBUG
+ largePageSizeToAllocate += largePageSize; // For the guard page.
+#endif // DEBUG
+
+ allocatedMemory = (BYTE *)VirtualAlloc(0,largePageSizeToAllocate,commitFlag|MEM_RESERVE|((BigAllocUseHugePages && !reserveOnly) ? MEM_LARGE_PAGES : 0),PAGE_READWRITE);
+
+ if (NULL != allocatedMemory) {
+#if _DEBUG
+ DWORD oldProtect;
+ if (!VirtualProtect((char *)allocatedMemory + virtualAllocSize, systemInfo->dwPageSize, PAGE_NOACCESS, &oldProtect)) {
+ static bool printedVirtualProtectedWarning = false;
+ if (! printedVirtualProtectedWarning) {
+ //WriteErrorMessage("VirtualProtect for guard page failed, %d\n", GetLastError());
+ printedVirtualProtectedWarning = true;
+ }
+ }
+ largePageSizeToAllocate -= largePageSize; // Back out the guard page
+#endif // DEBUG
+ if (NULL != sizeAllocated) {
+ *sizeAllocated = largePageSizeToAllocate;
+ }
+ return allocatedMemory;
+ } else if (!warningPrinted) {
+ //
+ // The first time we fail, print out a warning and then fall back to VirtualAlloc. We want be able to use
+ // the fallback because the caller might not be able to assert the appropriate privilege and we'd still like
+ // to run. The check for printing only once isn't thread safe, so you might get more than one printed
+ // if multiple threads fail at the same time.
+ //
+ warningPrinted = true;
+ WriteErrorMessage("BigAlloc: WARNING: Unable to allocate large page memory, %d. Falling back to VirtualAlloc. Performance may be adversely affected. Size = %lld\n", GetLastError(), largePageSizeToAllocate);
+ if (!assertPrivilegeWorked || GetLastError() == 1314) { // TODO: Look up the error code name for 1314.
+ WriteErrorMessage("BigAlloc: Unable to assert the SeLockMemoryPrivilege (%d), which is probably why it failed.\n"
+ "Try secpol.msc, then SecuritySettings, Local Policies, User Rights Assignment.\n"
+ "Then double click 'Lock Pages in Memory,' add the current user directly or by being\n"
+ "In a group and then reboot (you MUST reboot) for it to work.\n", GetLastError());
+ }
+ }
+ }
+
+ allocatedMemory = (BYTE *)VirtualAlloc(0,virtualAllocSize,commitFlag|MEM_RESERVE,PAGE_READWRITE);
+
+ if (NULL != allocatedMemory && NULL != sizeAllocated) {
+ *sizeAllocated = virtualAllocSize;
+ }
+
+ if (NULL == allocatedMemory) {
+ WriteErrorMessage("BigAlloc of size %lld failed.\n", sizeToAllocate);
+#ifdef PROFILE_BIGALLOC
+ PrintBigAllocProfile();
+#endif
+ soft_exit(1);
+ }
+
+ return allocatedMemory;
+
+}
+
+#ifndef PROFILE_BIGALLOC
+void *BigAlloc(
+ size_t sizeToAllocate,
+ size_t *sizeAllocated)
+{
+ return BigAllocInternal(sizeToAllocate, sizeAllocated, FALSE, NULL);
+}
+#endif
+
+void BigDealloc(void *memory)
+/*++
+
+Routine Description:
+
+ Free memory allocated by BigAlloc.
+
+Arguments:
+
+ memory - address of the memory to free.
+
+
+--*/
+{
+ if (NULL == memory) return;
+ VirtualFree(memory,0,MEM_RELEASE);
+}
+
+#ifdef PROFILE_BIGALLOC
+void *BigReserveProfile(
+ size_t sizeToReserve,
+ size_t *sizeReserved,
+ size_t *pageSize,
+ const char* caller)
+{
+ char buffer[1000];
+ strncpy(buffer, caller, sizeof(buffer));
+ strncat(buffer, "(RESERVE)", sizeof(buffer));
+ RecordAllocProfile(sizeToReserve, buffer);
+ return BigAllocInternal(sizeToReserve, sizeReserved, TRUE, pageSize);
+}
+
+bool BigCommitProfile(
+ void *memoryToCommit,
+ size_t sizeToCommit,
+ const char* caller)
+{
+ char buffer[1000];
+ strncpy(buffer, caller, sizeof(buffer));
+ strncat(buffer, "(COMMIT)", sizeof(buffer));
+ RecordAllocProfile(sizeToCommit, buffer);
+ void* allocatedMemory = VirtualAlloc(memoryToCommit, sizeToCommit, MEM_COMMIT, PAGE_READWRITE);
+ if (allocatedMemory == NULL) {
+ WriteErrorMessage("BigCommit VirtualAlloc failed with error 0x%x\n", GetLastError());
+ }
+ return allocatedMemory != NULL;
+}
+#else
+void *BigReserve(
+ size_t sizeToReserve,
+ size_t *sizeReserved,
+ size_t *pageSize)
+{
+ return BigAllocInternal(sizeToReserve, sizeReserved, TRUE, pageSize);
+}
+
+bool BigCommit(
+ void *memoryToCommit,
+ size_t sizeToCommit)
+{
+ void* allocatedMemory = VirtualAlloc(memoryToCommit, sizeToCommit, MEM_COMMIT, PAGE_READWRITE);
+ if (allocatedMemory == NULL) {
+ WriteErrorMessage("BigCommit VirtualAlloc failed with error 0x%x\n", GetLastError());
+ }
+ return allocatedMemory != NULL;
+}
+#endif
+
+
+#else /* no _MSC_VER */
+
+#ifdef PROFILE_BIGALLOC
+void *BigAllocInternal(
+#else
+void *BigAlloc(
+#endif
+ size_t sizeToAllocate,
+ size_t *sizeAllocated)
+{
+ // Make space to include the allocated size at the start of our region; this is necessary
+ // so that we can BigDealloc the memory later.
+ sizeToAllocate += sizeof(size_t);
+
+ const size_t ALIGN_SIZE = 4096;
+ if (sizeToAllocate % ALIGN_SIZE != 0) {
+ sizeToAllocate += ALIGN_SIZE - (sizeToAllocate % ALIGN_SIZE);
+ }
+ if (sizeAllocated != NULL) {
+ *sizeAllocated = sizeToAllocate - sizeof(size_t);
+ }
+
+ int flags = MAP_PRIVATE|MAP_ANONYMOUS;
+#ifdef USE_HUGETLB
+ flags |= MAP_HUGETLB;
+#endif
+ char *mem = (char *) mmap(NULL, sizeToAllocate, PROT_READ|PROT_WRITE, flags, -1, 0);
+ if (mem == MAP_FAILED) {
+ perror("mmap");
+ soft_exit(1);
+ }
+
+#if (defined(MADV_HUGEPAGE) && !defined(USE_HUGETLB))
+ // Tell Linux to use huge pages for this range
+ if (BigAllocUseHugePages) {
+ if (madvise(mem, sizeToAllocate, MADV_HUGEPAGE) == -1) {
+ WriteErrorMessage("WARNING: failed to enable huge pages -- your kernel may not support it\n");
+ }
+ }
+#endif
+
+ // Remember the size allocated in the first sizeof(size_t) bytes
+ *((size_t *) mem) = sizeToAllocate;
+ return (void *) (mem + sizeof(size_t));
+}
+
+
+void BigDealloc(void *memory)
+{
+ if (NULL == memory) return;
+ // Figure out the size we had allocated
+ char *startAddress = ((char *) memory) - sizeof(size_t);
+ size_t sizeAllocated = *((size_t *) startAddress);
+ if (munmap(startAddress, sizeAllocated) != 0) {
+ perror("munmap");
+ soft_exit(1);
+ }
+}
+
+void *BigReserve(
+ size_t sizeToReserve,
+ size_t *sizeReserved,
+ size_t *pageSize)
+{
+ // TODO: use actual reserve/commit API; this is a temporary hack
+ if (pageSize != NULL) {
+ *pageSize = 4096;
+ }
+#ifdef PROFILE_BIGALLOC
+ return BigAllocInternal(sizeToReserve, sizeReserved);
+#else
+ return BigAlloc(sizeToReserve, sizeReserved);
+#endif
+}
+
+bool BigCommit(
+ void *memoryToCommit,
+ size_t sizeToCommit)
+{
+ // TODO: use actual reserve/commit API; this is a temporary hack
+ return true;
+}
+
+
+
+#endif /* _MSC_VER */
+
+BigAllocator::BigAllocator(size_t i_maxMemory, size_t i_allocationGranularity) : maxMemory(i_maxMemory), allocationGranularity(i_allocationGranularity)
+{
+#if _DEBUG
+ maxMemory += maxCanaries * sizeof(unsigned);
+#endif // DEBUG
+ basePointer = (char *)BigAlloc(__max(maxMemory, 2 * 1024 * 1024)); // The 2MB minimum is to assure this lands in a big page
+ allocPointer = basePointer;
+
+#if _DEBUG
+ //
+ // Stick a canary at the beginning of the array so that we can detect underflows for whatever's allocated first.
+ //
+ canaries[0] = (unsigned *) allocPointer;
+ *canaries[0] = canaryValue;
+ nCanaries = 1;
+ allocPointer += sizeof(unsigned);
+#endif // _DEBUG
+}
+
+BigAllocator::~BigAllocator()
+{
+ BigDealloc(basePointer);
+}
+
+void *
+BigAllocator::allocate(size_t amountToAllocate)
+{
+ //
+ // Round up to the allocation granularity.
+ //
+ if ((size_t)allocPointer % allocationGranularity != 0) {
+ allocPointer = (char *)((size_t)allocPointer + allocationGranularity - (size_t)allocPointer % allocationGranularity);
+ _ASSERT((size_t)allocPointer % allocationGranularity == 0);
+ }
+
+ if (allocPointer + amountToAllocate > basePointer + maxMemory) {
+ WriteErrorMessage("BigAllocator: allocating too much memory, %lld > %lld\n", allocPointer + amountToAllocate - basePointer , maxMemory);
+ soft_exit(1);
+ }
+
+ void *retVal = allocPointer;
+ allocPointer += amountToAllocate;
+
+#if _DEBUG
+ if (nCanaries < maxCanaries) {
+ _ASSERT(allocPointer + sizeof(unsigned) <= basePointer + maxMemory);
+ canaries[nCanaries] = (unsigned *)allocPointer;
+ *canaries[nCanaries] = canaryValue;
+ nCanaries++;
+ allocPointer += sizeof(unsigned);
+ }
+#endif // DEBUG
+ return retVal;
+}
+
+#if _DEBUG
+ void
+BigAllocator::checkCanaries()
+{
+ bool allOK = true;
+ for (unsigned i = 0; i < nCanaries; i++) {
+ if (*canaries[i] != canaryValue) {
+ WriteErrorMessage("Memory corruption detected: canary at 0x%llx has value 0x%llx\n",canaries[i], *canaries[i]);
+ allOK = false;
+ }
+ }
+ _ASSERT(allOK);
+}
+#endif // DEBUG
+
+
+ void *
+CountingBigAllocator::allocate(size_t sizeToAllocate)
+{
+ size += sizeToAllocate + allocationGranularity - 1; // Add in the max roundoff
+
+ Allocation *allocation = new Allocation;
+ allocation->next = allocations;
+ allocation->ptr = malloc(sizeToAllocate);
+ allocations = allocation;
+ return allocation->ptr;
+}
+
+CountingBigAllocator::~CountingBigAllocator()
+{
+ while (NULL != allocations) {
+ Allocation *allocation = allocations;
+ allocations = allocation->next;
+ free(allocation->ptr);
+ delete allocation;
+ }
+}
+
+void PrintBigAllocProfile()
+{
+#ifdef PROFILE_BIGALLOC
+ WriteStatusMessage("BigAlloc usage\n");
+ for (int i = 0; i < NCallers; i++) {
+ WriteStatusMessage("%7.1f Mb %7lld %s\n",
+ AllocProfile[i].total * 1e-6, AllocProfile[i].count, AllocProfile[i].caller);
+ }
+#endif
+}
+
+void* zalloc(void* opaque, unsigned items, unsigned size)
+{
+ size_t bytes = items * (size_t) size;
+ void* result = ((ThreadHeap*) opaque)->alloc(bytes);
+ static int printed = 0;
+ if ((! result) && printed++ < 10) {
+ WriteErrorMessage("warning: zalloc using malloc for %lld bytes\n", bytes);
+ }
+ return result ? result : malloc(bytes);
+}
+
+void zfree(void* opaque, void* p)
+{
+ if (! ((ThreadHeap*) opaque)->free(p)) {
+ free(p);
+ }
+}
diff --git a/SNAPLib/BigAlloc.h b/SNAPLib/BigAlloc.h
new file mode 100644
index 0000000..9416569
--- /dev/null
+++ b/SNAPLib/BigAlloc.h
@@ -0,0 +1,177 @@
+/*++
+
+Module Name:
+
+ bigalloc.h
+
+Abstract:
+
+ Headers for an allocator that uses big pages where appropriate and possible.
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+#pragma once
+
+inline unsigned RoundUpToPageSize(unsigned size)
+{
+ const unsigned pageSize = 4096;
+ return ((size + pageSize - 1) / pageSize) * pageSize;
+}
+
+//#define PROFILE_BIGALLOC
+
+#ifdef PROFILE_BIGALLOC
+
+#define BigAlloc(s) BigAllocProfile((s), NULL, __FUNCTION__)
+#define BigAlloc2(s,p) BigAllocProfile((s), (p), __FUNCTION__)
+#define BigReserve(s) BigReserveProfile((s), NULL, NULL, __FUNCTION__)
+#define BigCommit(p, s) BigCommitProfile((p), (s), __FUNCTION__)
+
+void *BigAllocProfile(
+ size_t sizeToAllocate,
+ size_t *sizeAllocated = NULL,
+ const char* caller = NULL);
+
+void *BigReserveProfile(
+ size_t sizeToReserve,
+ size_t *sizeReserved = NULL,
+ size_t *pageSize = NULL,
+ const char* caller = NULL);
+
+bool BigCommitProfile(
+ void *memoryToCommit,
+ size_t sizeToCommit,
+ const char* caller = NULL);
+
+#else
+
+void *BigAlloc(
+ size_t sizeToAllocate,
+ size_t *sizeAllocated = NULL);
+#define BigAlloc2(s,p) BigAlloc((s), (p))
+
+void *BigReserve(
+ size_t sizeToReserve,
+ size_t *sizeReserved = NULL,
+ size_t *pageSize = NULL);
+
+bool BigCommit(
+ void *memoryToCommit,
+ size_t sizeToCommit);
+
+#endif
+
+void PrintBigAllocProfile();
+
+void BigDealloc(void *memory);
+
+//
+// This class is used to allocate a group of objects all onto a single set of big pages. It requires knowing
+// the amount of memory to be allocated when it's created. It does not support deleting memory other than
+// all at once.
+//
+class BigAllocator {
+public:
+ BigAllocator(size_t i_maxMemory, size_t i_allocationGranularity = 8);
+ ~BigAllocator();
+
+ virtual void *allocate(size_t amountToAllocate);
+
+#if _DEBUG
+ void checkCanaries();
+#else // DEBUG
+ void checkCanaries() {}
+#endif // DEBUG
+private:
+
+ char *basePointer;
+ char *allocPointer;
+ size_t maxMemory;
+ size_t allocationGranularity;
+
+#if _DEBUG
+ //
+ // Stick a canary between each allocation and
+ unsigned nCanaries;
+ static const unsigned maxCanaries = 100;
+ static const unsigned canaryValue = 0xca4a71e5;
+ unsigned *canaries[maxCanaries];
+#endif // DEBUG
+};
+
+//
+// An allocator that doesn't actually allocate, it just counts how much it would allocate. The idea is that
+// you can write allocations in a fairly normal looking way, call them with this to see how much would be
+// allocated, then create a real BigAllocator with that amount of memory. That way, you don't need to
+// keep in sync the actual allocation and the code that knows how much memory will be needed.
+//
+class CountingBigAllocator : public BigAllocator
+{
+public:
+ CountingBigAllocator(size_t i_allocationGranularity = 8) :size(0), allocations(NULL), BigAllocator(0), allocationGranularity(i_allocationGranularity) {}
+ ~CountingBigAllocator();
+
+ virtual void *allocate(size_t amountToAllocate);
+ virtual void assertAllMemoryUsed() {}
+ size_t getMemoryUsed() {return size;}
+
+private:
+ size_t size;
+ size_t allocationGranularity;
+
+ struct Allocation {
+ void *ptr;
+ Allocation *next;
+ } *allocations;
+};
+
+extern bool BigAllocUseHugePages;
+
+
+// trivial per-thread heap for use in zalloc
+struct ThreadHeap
+{
+ char* start;
+ char* end;
+ char* next;
+ ThreadHeap(size_t bytes)
+ {
+ next = start = (char*) BigAlloc(bytes);
+ end = start + bytes;
+ }
+ void* alloc(size_t bytes)
+ {
+ if (next + bytes <= end) {
+ void* result = next;
+ next += bytes;
+ return result;
+ }
+ return NULL;
+ }
+ bool free(void* p)
+ {
+ return (char*)p >= start && (char*) p <= end;
+ }
+ void reset()
+ {
+ next = start;
+ }
+ ~ThreadHeap()
+ {
+ BigDealloc(start);
+ }
+};
+
+void* zalloc(void* opaque, unsigned items, unsigned size);
+
+void zfree(void* opaque, void* p);
diff --git a/SNAPLib/BufferedAsync.cpp b/SNAPLib/BufferedAsync.cpp
new file mode 100644
index 0000000..e2a00d5
--- /dev/null
+++ b/SNAPLib/BufferedAsync.cpp
@@ -0,0 +1,223 @@
+/*++
+
+Module Name:
+
+ BufferedAsync.cpp
+
+Abstract:
+
+ Double-buffered asynchronous file I/O
+
+Environment:
+
+ User mode service.
+
+ This class is NOT thread safe. It's the caller's responsibility to ensure that
+ at most one thread uses an instance at any time.
+
+--*/
+
+#include "stdafx.h"
+#include "Compat.h"
+#include "BigAlloc.h"
+#include "BufferedAsync.h"
+#include "Error.h"
+
+using std::min;
+
+
+ bool
+BufferedAsyncReader::open(
+ AsyncFile* file,
+ size_t offset,
+ size_t bytes,
+ size_t i_bufferSize,
+ bool async,
+ void* buffer0,
+ void* buffer1)
+{
+ _ASSERT((buffer0 == NULL) == (buffer1 == NULL)); // both null or both non-null
+ waitTime = 0;
+ reader[0] = file->getReader();
+ reader[1] = file->getReader();
+ bufferSize = i_bufferSize;
+ fileSize = offset + bytes;
+ ownBuffer = buffer0 == NULL;
+ buffer[0] = (char*) (buffer0 != NULL ? buffer0 : BigAlloc(bufferSize));
+ buffer[1] = (char*) (buffer1 != NULL ? buffer1 : BigAlloc(bufferSize));
+ if (reader[0] == NULL || reader[1] == NULL || buffer[0] == NULL || buffer[1] == NULL) {
+ WriteErrorMessage("unable to setup temp file reader\n");
+ return false;
+ }
+ length[0] = min(bytes, bufferSize);
+ _int64 start = timeInNanos();
+ reader[0]->beginRead(buffer[0],length[0], offset, NULL);
+ if (bytes > bufferSize) {
+ length[1] = min(bytes - bufferSize, bufferSize);
+ reader[1]->beginRead(buffer[1], length[1], offset + bufferSize, NULL);
+ } else {
+ length[1] = 0;
+ }
+ waitTime += timeInNanos() - start;
+ reading = 0;
+ readOffset = 0;
+ nextFileOffset = offset + min(bytes, 2 * bufferSize);
+ if (! async) {
+ endOpen();
+ }
+ return true;
+}
+
+ void
+BufferedAsyncReader::endOpen()
+{
+ _int64 start = timeInNanos();
+ reader[reading]->waitForCompletion();
+ waitTime += timeInNanos() - start;
+}
+
+ bool
+BufferedAsyncReader::atEnd()
+{
+ return length[reading] == 0;
+}
+
+ bool
+BufferedAsyncReader::read(
+ void* data,
+ size_t bytes)
+{
+ if (bytes == 0) {
+ return true;
+ }
+ if (atEnd()) {
+ return false;
+ }
+ size_t first = min(bytes, length[reading] - readOffset);
+ memcpy(data, buffer[reading] + readOffset, first);
+ readOffset += bytes;
+ if (readOffset >= length[reading]) {
+ // switch buffers
+ readOffset -= length[reading];
+ reading = 1 - reading;
+ _int64 start = timeInNanos();
+ reader[reading]->waitForCompletion();
+ waitTime += timeInNanos() - start;
+ if (readOffset > 0) {
+ // copy second part of read segment
+ // todo: allow for longer reads
+ if (readOffset > length[reading]) {
+ WriteErrorMessage("read length too big\n");
+ return false;
+ }
+ memcpy((char*) data + first, buffer[reading], readOffset);
+ }
+ // begin read of next block
+ if (nextFileOffset < fileSize) {
+ length[1 - reading] = min(fileSize - nextFileOffset, bufferSize);
+ start = timeInNanos();
+ reader[1 - reading]->beginRead(buffer[1 - reading], length[1 - reading], nextFileOffset, NULL);
+ waitTime += timeInNanos() - start;
+ nextFileOffset += length[1 - reading];
+ } else {
+ length[1 - reading] = 0;
+ }
+ }
+ return true;
+}
+
+ bool
+BufferedAsyncReader::close()
+{
+ delete reader[0];
+ delete reader[1];
+ if (ownBuffer) {
+ BigDealloc(buffer[0]);
+ BigDealloc(buffer[1]);
+ }
+ return true;
+}
+
+ bool
+BufferedAsyncWriter::open(
+ AsyncFile* file,
+ size_t i_bufferSize,
+ volatile _int64* sharedOffset)
+{
+ waitTime = 0;
+ writer[0] = file->getWriter();
+ writer[1] = file->getWriter();
+ bufferSize = i_bufferSize;
+ buffer[0] = (char*) BigAlloc(bufferSize);
+ buffer[1] = (char*) BigAlloc(bufferSize);
+ writeOffset = 0;
+ writing = 0;
+ privateFileOffset = 0;
+ nextFileOffset = sharedOffset != NULL ? sharedOffset : &privateFileOffset;
+ return writer[0] != NULL && writer[1] != NULL && buffer[0] != NULL && buffer[1] != NULL;
+}
+
+ bool
+BufferedAsyncWriter::write(
+ void* data,
+ size_t bytes)
+{
+ void* p = forWrite(bytes);
+ if (p == NULL) {
+ // todo: allow bytes > bufferSize using synchronous writes
+ return false;
+ }
+ memcpy(p, data, bytes);
+ return true;
+}
+
+ void*
+BufferedAsyncWriter::forWrite(
+ size_t bytes)
+{
+ bool ok = true;
+ if (writeOffset + bytes <= bufferSize) {
+ writeOffset += bytes;
+ return buffer[writing] + writeOffset - bytes;
+ } else {
+ _int64 fileOffset = InterlockedAdd64AndReturnNewValue(nextFileOffset, writeOffset) - writeOffset;
+ _int64 start = timeInNanos();
+ ok = writer[writing]->beginWrite(buffer[writing], writeOffset, fileOffset, NULL);
+ ok &= writer[1 - writing]->waitForCompletion();
+ waitTime += timeInNanos() - start;
+ writing = 1 - writing;
+ if (! ok) {
+ WriteErrorMessage("BufferedAsyncWriter write failed\n");
+ return NULL;
+ }
+ if (bytes <= bufferSize) {
+ writeOffset = bytes;
+ return buffer[writing];
+ } else {
+ // too big to be async
+ WriteErrorMessage("BufferedAsyncWriter write too large\n");
+ return NULL;
+ }
+ }
+}
+
+ bool
+BufferedAsyncWriter::close()
+{
+ _int64 start = timeInNanos();
+ bool ok = writer[1 - writing]->waitForCompletion();
+ waitTime += timeInNanos() - start;
+ if (writeOffset > 0) {
+ _int64 fileOffset = InterlockedAdd64AndReturnNewValue(nextFileOffset, writeOffset) - writeOffset;
+ _int64 start = timeInNanos();
+ ok &= writer[writing]->beginWrite(buffer[writing], writeOffset, fileOffset, NULL);
+ ok &= writer[writing]->waitForCompletion();
+ waitTime += timeInNanos() - start;
+ }
+ delete writer[0];
+ delete writer[1];
+ BigDealloc(buffer[0]);
+ BigDealloc(buffer[1]);
+ return ok;
+}
+
\ No newline at end of file
diff --git a/SNAPLib/BufferedAsync.h b/SNAPLib/BufferedAsync.h
new file mode 100644
index 0000000..d6955c3
--- /dev/null
+++ b/SNAPLib/BufferedAsync.h
@@ -0,0 +1,66 @@
+/*++
+
+Module Name:
+
+ BufferedAsync.h
+
+Abstract:
+
+ Double-buffered asynchronous file I/O
+
+Environment:
+
+ User mode service.
+
+ This class is NOT thread safe. It's the caller's responsibility to ensure that
+ at most one thread uses an instance at any time.
+
+--*/
+
+#pragma once
+
+#include "stdafx.h"
+#include "Compat.h"
+
+class BufferedAsyncReader
+{
+public:
+ bool open(AsyncFile* file, size_t offset, size_t length, size_t bufferSize, bool async = false, void* buffer0 = NULL, void* buffer1 = NULL);
+ void endOpen();
+ bool atEnd();
+ bool read(void* data, size_t bytes);
+ bool close();
+ _int64 getWaitTimeInMillis() { return waitTime / 1000000; }
+
+private:
+ int reading; // 0 or 1
+ size_t readOffset;
+ size_t bufferSize;
+ size_t nextFileOffset;
+ size_t fileSize;
+ AsyncFile::Reader* reader[2];
+ char* buffer[2];
+ size_t length[2];
+ bool ownBuffer;
+ _int64 waitTime; // in nanos
+};
+
+class BufferedAsyncWriter
+{
+public:
+ bool open(AsyncFile* file, size_t bufferSize, volatile _int64* sharedOffset = NULL);
+ bool write(void* data, size_t bytes);
+ void* forWrite(size_t bytes);
+ bool close();
+ _int64 getWaitTimeInMillis() { return waitTime / 1000000; }
+
+private:
+ int writing; // 0 or 1
+ size_t writeOffset; // within buffer
+ size_t bufferSize;
+ volatile _int64 privateFileOffset; // used by default
+ volatile _int64* nextFileOffset; // for current buffer to write
+ AsyncFile::Writer* writer[2];
+ char* buffer[2];
+ _int64 waitTime; // in nanos
+};
diff --git a/SNAPLib/ChimericPairedEndAligner.cpp b/SNAPLib/ChimericPairedEndAligner.cpp
new file mode 100644
index 0000000..27d4bf1
--- /dev/null
+++ b/SNAPLib/ChimericPairedEndAligner.cpp
@@ -0,0 +1,208 @@
+/*++
+
+Module Name:
+
+ ChimericPairedEndAligner.cpp
+
+Abstract:
+
+ A paired-end aligner calls into a different paired-end aligner, and if
+ it fails to find an alignment, aligns each of the reads singly. This handles
+ chimeric reads that would otherwise be unalignable.
+
+Authors:
+
+ Bill Bolosky, June, 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+
+#include "stdafx.h"
+#include "ChimericPairedEndAligner.h"
+#include "mapq.h"
+#include "directions.h"
+#include "BigAlloc.h"
+#include "Util.h"
+
+using namespace std;
+
+#ifdef TRACE_PAIRED_ALIGNER
+#define TRACE printf
+#else
+#define TRACE(...) {}
+#endif
+
+ChimericPairedEndAligner::ChimericPairedEndAligner(
+ GenomeIndex *index_,
+ unsigned maxReadSize,
+ unsigned maxHits,
+ unsigned maxK,
+ unsigned maxSeedsFromCommandLine,
+ double seedCoverage,
+ unsigned minWeightToCheck,
+ bool forceSpacing_,
+ unsigned extraSearchDepth,
+ bool noUkkonen,
+ bool noOrderedEvaluation,
+ bool noTruncation,
+ PairedEndAligner *underlyingPairedEndAligner_,
+ unsigned minReadLength_,
+ int maxSecondaryAlignmentsPerContig,
+ BigAllocator *allocator)
+ : underlyingPairedEndAligner(underlyingPairedEndAligner_), forceSpacing(forceSpacing_), index(index_), minReadLength(minReadLength_)
+{
+ // Create single-end aligners.
+ singleAligner = new (allocator) BaseAligner(index, maxHits, maxK, maxReadSize,
+ maxSeedsFromCommandLine, seedCoverage, minWeightToCheck, extraSearchDepth, noUkkonen, noOrderedEvaluation, noTruncation, maxSecondaryAlignmentsPerContig, &lv, &reverseLV, NULL, allocator);
+
+ underlyingPairedEndAligner->setLandauVishkin(&lv, &reverseLV);
+
+ singleSecondary[0] = singleSecondary[1] = NULL;
+}
+
+ size_t
+ChimericPairedEndAligner::getBigAllocatorReservation(
+ GenomeIndex * index,
+ unsigned maxReadSize,
+ unsigned maxHits,
+ unsigned seedLen,
+ unsigned maxSeedsFromCommandLine,
+ double seedCoverage,
+ unsigned maxEditDistanceToConsider,
+ unsigned maxExtraSearchDepth,
+ unsigned maxCandidatePoolSize,
+ int maxSecondaryAlignmentsPerContig)
+{
+ return BaseAligner::getBigAllocatorReservation(index, false, maxHits, maxReadSize, seedLen, maxSeedsFromCommandLine, seedCoverage, maxSecondaryAlignmentsPerContig) + sizeof(ChimericPairedEndAligner)+sizeof(_uint64);
+}
+
+
+ChimericPairedEndAligner::~ChimericPairedEndAligner()
+{
+ singleAligner->~BaseAligner();
+}
+
+#ifdef _DEBUG
+extern bool _DumpAlignments;
+#endif // _DEBUG
+
+
+void ChimericPairedEndAligner::align(
+ Read *read0,
+ Read *read1,
+ PairedAlignmentResult *result,
+ int maxEditDistanceForSecondaryResults,
+ int secondaryResultBufferSize,
+ int *nSecondaryResults,
+ PairedAlignmentResult *secondaryResults, // The caller passes in a buffer of secondaryResultBufferSize and it's filled in by AlignRead()
+ int singleSecondaryBufferSize,
+ int maxSecondaryAlignmentsToReturn,
+ int *nSingleEndSecondaryResultsForFirstRead,
+ int *nSingleEndSecondaryResultsForSecondRead,
+ SingleAlignmentResult *singleEndSecondaryResults // Single-end secondary alignments for when the paired-end alignment didn't work properly
+ )
+{
+ result->status[0] = result->status[1] = NotFound;
+ *nSecondaryResults = 0;
+ *nSingleEndSecondaryResultsForFirstRead = 0;
+ *nSingleEndSecondaryResultsForSecondRead = 0;
+
+ if (read0->getDataLength() < minReadLength && read1->getDataLength() < minReadLength) {
+ TRACE("Reads are both too short -- returning");
+ for (int whichRead = 0; whichRead < NUM_READS_PER_PAIR; whichRead++) {
+ result->location[whichRead] = 0;
+ result->mapq[whichRead] = 0;
+ result->score[whichRead] = 0;
+ result->status[whichRead] = NotFound;
+ }
+ result->alignedAsPair = false;
+ result->fromAlignTogether = false;
+ result->nanosInAlignTogether = 0;
+ result->nLVCalls = 0;
+ result->nSmallHits = 0;
+ return;
+ }
+
+ _int64 start = timeInNanos();
+ if (read0->getDataLength() >= minReadLength && read1->getDataLength() >= minReadLength) {
+ //
+ // Let the LVs use the cache that we built up.
+ //
+ underlyingPairedEndAligner->align(read0, read1, result, maxEditDistanceForSecondaryResults, secondaryResultBufferSize, nSecondaryResults, secondaryResults,
+ singleSecondaryBufferSize, maxSecondaryAlignmentsToReturn, nSingleEndSecondaryResultsForFirstRead, nSingleEndSecondaryResultsForSecondRead,
+ singleEndSecondaryResults);
+
+ _int64 end = timeInNanos();
+
+ result->nanosInAlignTogether = end - start;
+ result->fromAlignTogether = true;
+ result->alignedAsPair = true;
+
+ if (forceSpacing) {
+ if (result->status[0] == NotFound) {
+ result->fromAlignTogether = false;
+ }
+ else {
+ _ASSERT(result->status[1] != NotFound); // If one's not found, so is the other
+ }
+ return;
+ }
+
+ if (result->status[0] != NotFound && result->status[1] != NotFound) {
+ //
+ // Not a chimeric read.
+ //
+ return;
+ }
+ }
+
+ //
+ // If the intersecting aligner didn't find an alignment for these reads, then they may be
+ // chimeric and so we should just align them with the single end aligner and apply a MAPQ penalty.
+ //
+ Read *read[NUM_READS_PER_PAIR] = {read0, read1};
+ int *resultCount[2] = {nSingleEndSecondaryResultsForFirstRead, nSingleEndSecondaryResultsForSecondRead};
+
+ for (int r = 0; r < NUM_READS_PER_PAIR; r++) {
+ SingleAlignmentResult singleResult;
+ int singleEndSecondaryResultsThisTime = 0;
+
+ if (read[r]->getDataLength() < minReadLength) {
+ result->status[r] = NotFound;
+ result->mapq[r] = 0;
+ result->direction[r] = FORWARD;
+ result->location[r] = 0;
+ result->score[r] = 0;
+ } else {
+ // We're using *nSingleEndSecondaryResultsForFirstRead because it's either 0 or what all we've seen (i.e., we know NUM_READS_PER_PAIR is 2)
+ singleAligner->AlignRead(read[r], &singleResult, maxEditDistanceForSecondaryResults,
+ singleSecondaryBufferSize - *nSingleEndSecondaryResultsForFirstRead, &singleEndSecondaryResultsThisTime,
+ maxSecondaryAlignmentsToReturn, singleEndSecondaryResults + *nSingleEndSecondaryResultsForFirstRead);
+
+ *(resultCount[r]) = singleEndSecondaryResultsThisTime;
+
+ result->status[r] = singleResult.status;
+ result->mapq[r] = singleResult.mapq / 3; // Heavy quality penalty for chimeric reads
+ result->direction[r] = singleResult.direction;
+ result->location[r] = singleResult.location;
+ result->score[r] = singleResult.score;
+ }
+ }
+
+ result->fromAlignTogether = false;
+ result->alignedAsPair = false;
+
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("ChimericPairedEndAligner: (%u, %u) score (%d, %d), MAPQ (%d, %d)\n\n\n",result->location[0], result->location[1],
+ result->score[0], result->score[1], result->mapq[0], result->mapq[1]);
+ }
+#endif // _DEBUG
+
+}
diff --git a/SNAPLib/ChimericPairedEndAligner.h b/SNAPLib/ChimericPairedEndAligner.h
new file mode 100644
index 0000000..cb1f3b3
--- /dev/null
+++ b/SNAPLib/ChimericPairedEndAligner.h
@@ -0,0 +1,101 @@
+/*++
+
+Module Name:
+
+ ChimericPairedEndAligner.h
+
+Abstract:
+
+ A paired-end aligner calls into a different paired-end aligner, and if
+ it fails to find an alignment, aligns each of the reads singly. This handles
+ chimeric reads that would otherwise be unalignable.
+
+Authors:
+
+ Bill Bolosky, June, 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+#pragma once
+
+#include "PairedEndAligner.h"
+#include "BaseAligner.h"
+#include "BigAlloc.h"
+
+class ChimericPairedEndAligner : public PairedEndAligner {
+public:
+ ChimericPairedEndAligner(
+ GenomeIndex *index_,
+ unsigned maxReadSize,
+ unsigned maxHits,
+ unsigned maxK,
+ unsigned maxSeedsFromCommandLine,
+ double seedCoverage,
+ unsigned minWeightToCheck,
+ bool forceSpacing_,
+ unsigned extraSearchDepth,
+ bool noUkkonen,
+ bool noOrderedEvaluation,
+ bool noTruncation,
+ PairedEndAligner *underlyingPairedEndAligner_,
+ unsigned minReadLength_,
+ int maxSecondaryAlignmentsPerContig,
+ BigAllocator *allocator);
+
+ virtual ~ChimericPairedEndAligner();
+
+ static unsigned getMaxSingleEndSecondaryResults(unsigned maxSeedsToUse, double maxSeedCoverage, unsigned maxReadSize, unsigned maxHits, unsigned seedLength)
+ {
+ return BaseAligner::getMaxSecondaryResults(maxSeedsToUse, maxSeedCoverage, maxReadSize, maxHits, seedLength) * NUM_READS_PER_PAIR;
+ }
+
+ static size_t getBigAllocatorReservation(GenomeIndex * index, unsigned maxReadSize, unsigned maxHits, unsigned seedLen, unsigned maxSeedsFromCommandLine,
+ double seedCoverage, unsigned maxEditDistanceToConsider, unsigned maxExtraSearchDepth, unsigned maxCandidatePoolSize,
+ int maxSecondaryAlignmentsPerContig);
+
+ void *operator new(size_t size, BigAllocator *allocator) {_ASSERT(size == sizeof(ChimericPairedEndAligner)); return allocator->allocate(size);}
+ void operator delete(void *ptr, BigAllocator *allocator) {/* do nothing. Memory gets cleaned up when the allocator is deleted.*/}
+
+ virtual void align(
+ Read *read0,
+ Read *read1,
+ PairedAlignmentResult *result,
+ int maxEditDistanceForSecondaryResults,
+ int secondaryResultBufferSize,
+ int *nSecondaryResults,
+ PairedAlignmentResult *secondaryResults, // The caller passes in a buffer of secondaryResultBufferSize and it's filled in by AlignRead()
+ int singleSecondaryBufferSize,
+ int maxSecondaryAlignmentsToReturn,
+ int *nSingleEndSecondaryResultsForFirstRead,
+ int *nSingleEndSecondaryResultsForSecondRead,
+ SingleAlignmentResult *singleEndSecondaryResults // Single-end secondary alignments for when the paired-end alignment didn't work properly
+ );
+
+ void *operator new(size_t size) {return BigAlloc(size);}
+ void operator delete(void *ptr) {BigDealloc(ptr);}
+
+ virtual _int64 getLocationsScored() const {
+ return underlyingPairedEndAligner->getLocationsScored() + singleAligner->getLocationsScored();
+ }
+
+private:
+
+ bool forceSpacing;
+ BaseAligner *singleAligner;
+ PairedEndAligner *underlyingPairedEndAligner;
+
+ // avoid allocation in aligner calls
+ IdPairVector* singleSecondary[2];
+
+ LandauVishkin<1> lv;
+ LandauVishkin<-1> reverseLV;
+
+ GenomeIndex *index;
+ unsigned minReadLength;
+};
diff --git a/SNAPLib/CommandProcessor.cpp b/SNAPLib/CommandProcessor.cpp
new file mode 100644
index 0000000..c0ed872
--- /dev/null
+++ b/SNAPLib/CommandProcessor.cpp
@@ -0,0 +1,182 @@
+/*++
+
+Module Name:
+
+CommandProcessor.cpp
+
+Abstract:
+
+Code for running the top-level commands of SNAP
+
+Authors:
+
+Bill Bolosky, November, 2014
+
+Environment:
+`
+User mode service.
+
+Revision History:
+
+Pulled from the main program and expanded to handle daemon mode
+
+--*/
+
+#include "stdafx.h"
+#include "options.h"
+#include "FASTA.h"
+#include "GenomeIndex.h"
+#include "SingleAligner.h"
+#include "PairedAligner.h"
+#include "exit.h"
+#include "SeedSequencer.h"
+#include "AlignerOptions.h"
+#include "CommandProcessor.h"
+#include "Error.h"
+#include "Compat.h"
+
+const char *SNAP_VERSION = "1.0beta.18";
+
+static void usage()
+{
+ WriteErrorMessage(
+ "Usage: snap <command> [<options>]\n"
+ "Commands:\n"
+ " index build a genome index\n"
+ " single align single-end reads\n"
+ " paired align paired-end reads\n"
+ " daemon run in daemon mode--accept commands remotely\n"
+ "Type a command without arguments to see its help.\n");
+}
+
+void ProcessNonDaemonCommands(int argc, const char **argv) {
+ if (strcmp(argv[1], "index") == 0) {
+ if (CommandPipe == NULL) {
+ GenomeIndex::runIndexer(argc - 2, argv + 2);
+ } else {
+ //
+ // The error cases in index build don't really free memory properly, so we just don't allows it in daemon mode.
+ //
+ WriteErrorMessage("The index command is not available in daemon mode. Please run 'snap index' directly.\n");
+ }
+ } else if (strcmp(argv[1], "single") == 0 || strcmp(argv[1], "paired") == 0) {
+ for (int i = 1; i < argc; /* i is increased below */) {
+ unsigned nArgsConsumed;
+ if (strcmp(argv[i], "single") == 0) {
+ SingleAlignerContext single;
+ single.runAlignment(argc - i, argv + i, SNAP_VERSION, &nArgsConsumed);
+ } else if (strcmp(argv[i], "paired") == 0) {
+ PairedAlignerContext paired;
+ paired.runAlignment(argc - i, argv + i, SNAP_VERSION, &nArgsConsumed);
+ } else {
+ fprintf(stderr, "Invalid command: %s\n\n", argv[i]);
+ usage();
+ return;
+ }
+ _ASSERT(nArgsConsumed > 0);
+ i += nArgsConsumed;
+ }
+ } else {
+ WriteErrorMessage("Invalid command: %s\n\n", argv[1]);
+ usage();
+ }
+}
+
+static void daemonUsage()
+{
+ fprintf(stderr, "Usage: snap daemon [Named pipe name]\n");
+ soft_exit_no_print(1); // Don't use soft_exit, it's confusing people to get an "error" message after the usage
+}
+
+void RunDaemonMode(int argc, const char **argv)
+{
+ if (argc < 2 || argc > 3) {
+ daemonUsage();
+ }
+
+ printf("SNAP in daemon mode, waiting for commands to execute\n");
+
+ const char *pipeName = argc == 3 ? argv[2] : DEFAULT_NAMED_PIPE_NAME;
+ CommandPipe = OpenNamedPipe(pipeName, true);
+
+ if (NULL == CommandPipe) {
+ WriteErrorMessage("Unable to open named pipe for command IO.\n");
+ soft_exit(1);
+ }
+
+ const size_t commandBufferSize = 10000; // Yes, this is fixed size, no it's not a buffer overflow. The named pipe reader just quits if it's too long.
+ char commandBuffer[commandBufferSize];
+
+ //
+ // Format of commands is argc (in ascii) followed by argc arguments, each in one line.
+ //
+ for (;;) {
+ if (!ReadFromNamedPipe(CommandPipe, commandBuffer, commandBufferSize)) {
+ CloseNamedPipe(CommandPipe);
+ CommandPipe = NULL;
+ WriteStatusMessage("Named pipe closed. Exiting\n");
+ soft_exit_no_print(0);
+ }
+
+ int argc = atoi(commandBuffer);
+ if (0 == argc) {
+ WriteErrorMessage("Expected argument count on named pipe, got '%s'; ignoring.\n", commandBuffer);
+ } else {
+ char **argv = new char*[argc];
+ for (int i = 0; i < argc; i++) {
+ argv[i] = new char[commandBufferSize];
+ if (!ReadFromNamedPipe(CommandPipe, argv[i], commandBufferSize)) {
+ CloseNamedPipe(CommandPipe);
+ CommandPipe = NULL;
+ WriteStatusMessage("Error reading argument #%d from named pipe.\n", i);
+ soft_exit(1);
+ }
+ } // for each arg
+
+ if (argc > 1 && strcmp(argv[1], "exit") == 0) {
+ WriteStatusMessage("SNAP server exiting by request\n");
+ WriteToNamedPipe(CommandPipe, CommandExecutedString);
+ soft_exit_no_print(1);
+ }
+
+ printf("Executing command: ");
+ for (int i = 1; i < argc; i++) {
+ printf("%s ", argv[i]);
+ }
+ printf("\n");
+
+ ProcessNonDaemonCommands(argc, (const char **) argv);
+
+ printf("\n");
+
+ for (int i = 0; i < argc; i++) {
+ delete[] argv[i];
+ argv[i] = NULL;
+ }
+ delete[] argv;
+ argv = NULL;
+ }
+ WriteToNamedPipe(CommandPipe, CommandExecutedString);
+ }
+}
+
+void ProcessTopLevelCommands(int argc, const char **argv)
+{
+ fprintf(stderr, "Welcome to SNAP version %s.\n\n", SNAP_VERSION); // Can't use WriteStatusMessage, because we haven't parsed args yet to determine if -hdp is specified. Just stick with stderr.
+
+ InitializeSeedSequencers();
+
+ if (argc < 2) {
+ usage();
+ soft_exit_no_print(1);
+ }
+
+ if (strcmp(argv[1], "daemon") == 0) {
+ RunDaemonMode(argc, argv);
+ } else {
+ ProcessNonDaemonCommands(argc, argv);
+ }
+}
+
+NamedPipe *CommandPipe = NULL;
+const char *CommandExecutedString = "***SNAP Command completed execution***";
diff --git a/SNAPLib/CommandProcessor.h b/SNAPLib/CommandProcessor.h
new file mode 100644
index 0000000..cdd0319
--- /dev/null
+++ b/SNAPLib/CommandProcessor.h
@@ -0,0 +1,29 @@
+/*++
+
+Module Name:
+
+CommandProcessor.h
+
+Abstract:
+
+Header for running the top-level commands of SNAP
+
+Authors:
+
+Bill Bolosky, November, 2014
+
+Environment:
+`
+User mode service.
+
+Revision History:
+
+--*/
+
+#pragma once
+#include "Compat.h"
+
+extern void ProcessTopLevelCommands(int argc, const char **argv);
+
+extern NamedPipe *CommandPipe;
+extern const char *CommandExecutedString; // Sent back along the command pipe to indicate that the whole thing is done and SNAPCommand should exit
diff --git a/SNAPLib/Compat.cpp b/SNAPLib/Compat.cpp
new file mode 100644
index 0000000..c74e749
--- /dev/null
+++ b/SNAPLib/Compat.cpp
@@ -0,0 +1,2217 @@
+/*++
+
+Module Name:
+
+ compat.cpp
+
+Abstract:
+
+ Functions that provide compatibility between the Windows and Linux versions,
+ and mostly that serve to keep #ifdef's out of the main code in order to
+ improve readibility.
+
+Authors:
+
+ Bill Bolosky, November, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+#include "stdafx.h"
+#include "Compat.h"
+#include "BigAlloc.h"
+#ifndef _MSC_VER
+#include <fcntl.h>
+#include <aio.h>
+#include <err.h>
+#include <unistd.h>
+#include <signal.h>
+#endif
+#include "exit.h"
+#ifdef PROFILE_WAIT
+#include <map>
+#endif
+#include "DataWriter.h"
+#include "Error.h"
+
+using std::min;
+using std::max;
+
+#ifdef PROFILE_WAIT
+
+#undef AcquireExclusiveLock
+#undef WaitForSingleWaiterObject
+#undef WaitForEvent
+
+void AcquireUnderlyingExclusiveLock(UnderlyingExclusiveLock *lock);
+bool WaitForSingleWaiterObject(SingleWaiterObject *singleWaiterObject);
+void WaitForEvent(EventObject *eventObject);
+
+using std::map;
+using std::string;
+static map<string,_int64> times;
+
+void addTime(const char* fn, int line, _int64 time)
+{
+ if (time > 0) {
+ char s[20];
+ sprintf(s, ":%d", line);
+ string key = string(fn) + string(s);
+ times[key] += time;
+ }
+}
+
+void AcquireExclusiveLockProfile(ExclusiveLock *lock, const char* fn, int line)
+{
+ _int64 start = timeInMillis();
+ AcquireExclusiveLock(lock);
+ addTime(fn, line, timeInMillis() - start);
+}
+
+bool WaitForSingleWaiterObjectProfile(SingleWaiterObject *singleWaiterObject, const char* fn, int line)
+{
+ _int64 start = timeInMillis();
+ bool result = WaitForSingleWaiterObject(singleWaiterObject);
+ addTime(fn, line, timeInMillis() - start);
+ return result;
+}
+
+void WaitForEventProfile(EventObject *eventObject, const char* fn, int line)
+{
+ _int64 start = timeInMillis();
+ WaitForEvent(eventObject);
+ addTime(fn, line, timeInMillis() - start);
+}
+
+#endif
+
+void PrintWaitProfile()
+{
+#ifdef PROFILE_WAIT
+ printf("function:line wait_time (s)\n");
+ for (map<string,_int64>::iterator lt = times.begin(); lt != times.end(); lt++) {
+ printf("%s %.3f\n", lt->first.data(), lt->second * 0.0001);
+ }
+#endif
+}
+
+#ifdef _MSC_VER
+
+const void* memmem(const void* data, const size_t dataLength, const void* pattern, const size_t patternLength)
+{
+ if (dataLength < patternLength) {
+ return NULL;
+ }
+ const void* p = data;
+ const char first = *(char*)pattern;
+ size_t count = dataLength - patternLength + 1;
+ while (count > 0) {
+ const void* q = memchr(p, first, count);
+ if (q == NULL) {
+ return NULL;
+ }
+ if (0 == memcmp(q, pattern, patternLength)) {
+ return q;
+ }
+ count -= ((char*)q - (char*)p) + 1;
+ p = (char*)q + 1;
+ }
+ return NULL;
+}
+
+_int64 timeInMillis()
+/**
+ * Get the current time in milliseconds since some arbitrary starting point
+ * (e.g. system boot or epoch)
+ */
+{
+ return GetTickCount64();
+}
+
+_int64 timeInNanos()
+{
+ static _int64 performanceFrequency = 0;
+
+ if (0 == performanceFrequency) {
+ QueryPerformanceFrequency((PLARGE_INTEGER)&performanceFrequency);
+ }
+
+ LARGE_INTEGER perfCount;
+ QueryPerformanceCounter(&perfCount);
+ return perfCount.QuadPart * 1000000000 / performanceFrequency;
+}
+
+void AcquireUnderlyingExclusiveLock(UnderlyingExclusiveLock *lock) {
+ EnterCriticalSection(lock);
+}
+
+void ReleaseUnderlyingExclusiveLock(UnderlyingExclusiveLock *lock) {
+ LeaveCriticalSection(lock);
+}
+
+bool InitializeUnderlyingExclusiveLock(UnderlyingExclusiveLock *lock) {
+ InitializeCriticalSection(lock);
+ return true;
+}
+
+bool DestroyUnderlyingExclusiveLock(UnderlyingExclusiveLock *lock) {
+ DeleteCriticalSection(lock);
+ return true;
+}
+
+bool CreateSingleWaiterObject(SingleWaiterObject *newWaiter)
+{
+ *newWaiter = CreateEvent(NULL,TRUE,FALSE,NULL);
+ if (NULL == *newWaiter) {
+ return false;
+ }
+ return true;
+}
+
+void DestroySingleWaiterObject(SingleWaiterObject *waiter)
+{
+ CloseHandle(*waiter);
+}
+
+void SignalSingleWaiterObject(SingleWaiterObject *singleWaiterObject) {
+ SetEvent(*singleWaiterObject);
+}
+
+bool WaitForSingleWaiterObject(SingleWaiterObject *singleWaiterObject) {
+ DWORD retVal = WaitForSingleObject(*singleWaiterObject,INFINITE);
+ if (WAIT_OBJECT_0 != retVal) {
+ return false;
+ }
+ return true;
+}
+
+void ResetSingleWaiterObject(SingleWaiterObject *singleWaiterObject) {
+ ResetEvent(*singleWaiterObject);
+}
+
+//
+// In Windows, the single waiter objects are already implemented using events.
+//
+void CreateEventObject(EventObject *newEvent) {CreateSingleWaiterObject(newEvent);}
+void DestroyEventObject(EventObject *eventObject) {DestroySingleWaiterObject(eventObject);}
+void AllowEventWaitersToProceed(EventObject *eventObject) {SignalSingleWaiterObject(eventObject);}
+void PreventEventWaitersFromProceeding(EventObject *eventObject) {ResetSingleWaiterObject(eventObject);}
+void WaitForEvent(EventObject *eventObject) {WaitForSingleWaiterObject(eventObject);}
+bool WaitForEventWithTimeout(EventObject *eventObject, _int64 timeoutInMillis)
+{
+ DWORD retVal = WaitForSingleObjectEx(*eventObject, (unsigned)timeoutInMillis, FALSE);
+
+ if (retVal == WAIT_OBJECT_0) {
+ return true;
+ } else if (retVal == WAIT_TIMEOUT) {
+ return false;
+ }
+ WriteErrorMessage("WaitForSingleObject returned unexpected result %d (error %d)\n", retVal, GetLastError());
+ soft_exit(1);
+ return false; // NOTREACHED: Just to avoid the compiler complaining.
+}
+
+
+void BindThreadToProcessor(unsigned processorNumber) // This hard binds a thread to a processor. You can no-op it at some perf hit.
+{
+ if (!SetThreadAffinityMask(GetCurrentThread(),((unsigned _int64)1) << processorNumber)) {
+ WriteErrorMessage("Binding thread to processor %d failed, %d\n",processorNumber,GetLastError());
+ }
+}
+
+int InterlockedIncrementAndReturnNewValue(volatile int *valueToIncrement)
+{
+ return InterlockedIncrement((volatile long *)valueToIncrement);
+}
+
+int InterlockedDecrementAndReturnNewValue(volatile int *valueToDecrement)
+{
+ return InterlockedDecrement((volatile long *)valueToDecrement);
+}
+
+_uint32 InterlockedCompareExchange32AndReturnOldValue(volatile _uint32 *valueToUpdate, _uint32 replacementValue, _uint32 desiredPreviousValue)
+{
+ return (_uint32) InterlockedCompareExchange(valueToUpdate, replacementValue, desiredPreviousValue);
+}
+
+_uint64 InterlockedCompareExchange64AndReturnOldValue(volatile _uint64 *valueToUpdate, _uint64 replacementValue, _uint64 desiredPreviousValue)
+{
+ return (_uint64) InterlockedCompareExchange(valueToUpdate, replacementValue, desiredPreviousValue);
+}
+
+void* InterlockedCompareExchangePointerAndReturnOldValue(void * volatile *valueToUpdate, void* replacementValue, void* desiredPreviousValue)
+{
+ return InterlockedCompareExchangePointer(valueToUpdate, replacementValue, desiredPreviousValue);
+}
+
+struct WrapperThreadContext {
+ ThreadMainFunction mainFunction;
+ void *mainFunctionParameter;
+};
+
+ DWORD WINAPI
+WrapperThreadMain(PVOID Context)
+{
+ WrapperThreadContext *context = (WrapperThreadContext *)Context;
+
+ (*context->mainFunction)(context->mainFunctionParameter);
+ delete context;
+ context = NULL;
+ return 0;
+}
+
+
+bool StartNewThread(ThreadMainFunction threadMainFunction, void *threadMainFunctionParameter)
+{
+ WrapperThreadContext *context = new WrapperThreadContext;
+ if (NULL == context) {
+ return false;
+ }
+ context->mainFunction = threadMainFunction;
+ context->mainFunctionParameter = threadMainFunctionParameter;
+
+ HANDLE hThread;
+ DWORD threadId;
+ hThread = CreateThread(NULL,0,WrapperThreadMain,context,0,&threadId);
+ if (NULL == hThread) {
+ WriteErrorMessage("Create thread failed, %d\n",GetLastError());
+ delete context;
+ context = NULL;
+ return false;
+ }
+
+ CloseHandle(hThread);
+ hThread = NULL;
+ return true;
+}
+
+void SleepForMillis(unsigned millis)
+{
+ Sleep(millis);
+}
+
+unsigned GetNumberOfProcessors()
+{
+ SYSTEM_INFO systemInfo[1];
+ GetSystemInfo(systemInfo);
+
+ return systemInfo->dwNumberOfProcessors;
+}
+
+_int64 QueryFileSize(const char *fileName) {
+ HANDLE hFile = CreateFile(fileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
+ if (INVALID_HANDLE_VALUE == hFile) {
+ WriteErrorMessage("Unable to open file '%s' for QueryFileSize, %d\n", fileName, GetLastError());
+ soft_exit(1);
+ }
+ LARGE_INTEGER fileSize;
+ if (!GetFileSizeEx(hFile,&fileSize)) {
+ WriteErrorMessage("GetFileSize failed, %d\n",GetLastError());
+ soft_exit(1);
+ }
+ CloseHandle(hFile);
+
+ return fileSize.QuadPart;
+}
+
+ bool
+DeleteSingleFile(
+ const char* filename)
+{
+ return DeleteFile(filename) ? true : false;
+}
+
+ bool
+MoveSingleFile(
+ const char* oldFileName,
+ const char* newFileName)
+{
+ return MoveFile(oldFileName, newFileName) ? true : false;
+}
+
+class LargeFileHandle
+{
+public:
+ HANDLE handle;
+};
+
+ LargeFileHandle*
+OpenLargeFile(
+ const char* filename,
+ const char* mode)
+{
+ _ASSERT(strlen(mode) == 1 && (*mode == 'r' || *mode == 'w' || *mode == 'a'));
+ LargeFileHandle* result = new LargeFileHandle();
+ result->handle = CreateFile(filename,
+ *mode == 'r' ? GENERIC_READ :
+ *mode == 'a' ? FILE_APPEND_DATA
+ : GENERIC_WRITE,
+ 0 /* exclusive */,
+ NULL,
+ *mode == 'w' ? CREATE_ALWAYS : OPEN_EXISTING,
+ FILE_FLAG_SEQUENTIAL_SCAN,
+ NULL);
+ if (result->handle == NULL) {
+ WriteErrorMessage("open large file %s failed with 0x%x\n", filename, GetLastError());
+ delete (void*) result;
+ return NULL;
+ }
+ return result;
+}
+
+ size_t
+WriteLargeFile(
+ LargeFileHandle* file,
+ void* buffer,
+ size_t bytes)
+{
+ size_t count = bytes;
+ while (count > 0) {
+ DWORD step = 0;
+ if ((! WriteFile(file->handle, buffer, (DWORD) min(count, (size_t) 0x2000000), &step, NULL)) || step == 0) {
+ WriteErrorMessage("WriteLargeFile failed at %lu of %lu bytes with 0x%x\n", bytes - count, bytes, GetLastError());
+ return bytes - count;
+ }
+ count -= step;
+ buffer = ((char*) buffer) + step;
+ }
+ return bytes;
+}
+
+
+ size_t
+ReadLargeFile(
+ LargeFileHandle* file,
+ void* buffer,
+ size_t bytes)
+{
+ size_t count = bytes;
+ while (count > 0) {
+ DWORD step = 0;
+ if ((! ReadFile(file->handle, buffer, (DWORD) min(count, (size_t) 0x1000000), &step, NULL)) || step == 0) {
+ WriteErrorMessage("ReadLargeFile failed at %lu of %lu bytes with 0x%x\n", bytes - count, bytes, GetLastError());
+ return bytes - count;
+ }
+ count -= step;
+ buffer = ((char*) buffer) + step;
+ }
+ return bytes;
+}
+
+ void
+CloseLargeFile(
+ LargeFileHandle* file)
+{
+ if (CloseHandle(file->handle)) {
+ delete (void*) file;
+ }
+}
+
+class MemoryMappedFile
+{
+public:
+ HANDLE fileHandle;
+ HANDLE fileMapping;
+ void* mappedAddress;
+};
+
+
+ MemoryMappedFile*
+OpenMemoryMappedFile(
+ const char* filename,
+ size_t offset,
+ size_t length,
+ void** o_contents,
+ bool write,
+ bool sequential)
+{
+ MemoryMappedFile* result = new MemoryMappedFile();
+ result->fileHandle = CreateFile(filename, (write ? GENERIC_WRITE : 0) | GENERIC_READ, 0, NULL, OPEN_EXISTING,
+ FILE_ATTRIBUTE_NORMAL | (sequential ? FILE_FLAG_SEQUENTIAL_SCAN : FILE_FLAG_RANDOM_ACCESS), NULL);
+ if (result->fileHandle == NULL) {
+ WriteErrorMessage("unable to open mapped file %s error 0x%x\n", filename, GetLastError());
+ delete result;
+ return NULL;
+ }
+ result->fileMapping = CreateFileMapping(result->fileHandle, NULL, write ? PAGE_READWRITE : PAGE_READONLY, 0, 0, NULL);
+ if (result->fileMapping == NULL) {
+ WriteErrorMessage("unable to create file mapping %s error 0x%x\n", filename, GetLastError());
+ delete result;
+ return NULL;
+ }
+ *o_contents = result->mappedAddress = MapViewOfFile(result->fileMapping,
+ write ? FILE_MAP_WRITE : FILE_MAP_READ,
+ (DWORD) (offset >> (8 * sizeof(DWORD))),
+ (DWORD) offset,
+ length);
+ if (*o_contents == NULL) {
+ WriteErrorMessage("unable to map file %s error 0x%x\n", filename, GetLastError());
+ delete result;
+ return NULL;
+ }
+ return result;
+}
+
+ void
+CloseMemoryMappedFile(
+ MemoryMappedFile* mappedFile)
+{
+ bool ok = UnmapViewOfFile(mappedFile->mappedAddress) &&
+ CloseHandle(mappedFile->fileMapping) &&
+ CloseHandle(mappedFile->fileHandle);
+ if (ok) {
+ delete (void*) mappedFile;
+ } else {
+ WriteErrorMessage("unable to close memory mapped file, error 0x%x\n", GetLastError());
+ }
+}
+
+void AdviseMemoryMappedFilePrefetch(const MemoryMappedFile *mappedFile)
+{
+ // No-op on WIndows.
+}
+
+
+class WindowsAsyncFile : public AsyncFile
+{
+public:
+ static WindowsAsyncFile* open(const char* filename, bool write);
+
+ WindowsAsyncFile(HANDLE i_hFile);
+
+ virtual bool close();
+
+ class Writer : public AsyncFile::Writer
+ {
+ public:
+ Writer(WindowsAsyncFile* i_file);
+
+ virtual bool close();
+
+ virtual bool beginWrite(void* buffer, size_t length, size_t offset, size_t *bytesWritten);
+
+ virtual bool waitForCompletion();
+
+ private:
+ WindowsAsyncFile* file;
+ bool writing;
+ OVERLAPPED lap;
+ };
+
+ virtual AsyncFile::Writer* getWriter();
+
+ class Reader : public AsyncFile::Reader
+ {
+ public:
+ Reader(WindowsAsyncFile* i_file);
+
+ virtual bool close();
+
+ virtual bool beginRead(void* buffer, size_t length, size_t offset, size_t *bytesRead);
+
+ virtual bool waitForCompletion();
+
+ private:
+ WindowsAsyncFile* file;
+ bool reading;
+ OVERLAPPED lap;
+ };
+
+ virtual AsyncFile::Reader* getReader();
+
+private:
+ HANDLE hFile;
+};
+
+ WindowsAsyncFile*
+WindowsAsyncFile::open(
+ const char* filename,
+ bool write)
+{
+ HANDLE hFile = CreateFile(filename,
+ GENERIC_READ | (write ? GENERIC_WRITE : 0),
+ write ? 0 : FILE_SHARE_READ,
+ NULL,
+ write ? CREATE_ALWAYS : OPEN_EXISTING,
+ FILE_FLAG_OVERLAPPED,
+ NULL);
+ if (INVALID_HANDLE_VALUE == hFile) {
+ WriteErrorMessage("Unable to create SAM file '%s', %d\n",filename,GetLastError());
+ return NULL;
+ }
+ return new WindowsAsyncFile(hFile);
+}
+
+WindowsAsyncFile::WindowsAsyncFile(
+ HANDLE i_hFile)
+ : hFile(i_hFile)
+{
+}
+
+ bool
+WindowsAsyncFile::close()
+{
+ return CloseHandle(hFile) ? true : false;
+}
+
+ AsyncFile::Writer*
+WindowsAsyncFile::getWriter()
+{
+ return new Writer(this);
+}
+
+WindowsAsyncFile::Writer::Writer(WindowsAsyncFile* i_file)
+ : file(i_file), writing(false)
+{
+ lap.hEvent = CreateEvent(NULL,FALSE,FALSE,NULL);
+}
+
+ bool
+WindowsAsyncFile::Writer::close()
+{
+ waitForCompletion();
+ return CloseHandle(lap.hEvent) ? true : false;
+}
+
+ bool
+WindowsAsyncFile::Writer::beginWrite(
+ void* buffer,
+ size_t length,
+ size_t offset,
+ size_t *bytesWritten)
+{
+ if (! waitForCompletion()) {
+ return false;
+ }
+ lap.OffsetHigh = (DWORD) (offset >> (8 * sizeof(DWORD)));
+ lap.Offset = (DWORD) offset;
+ if (!WriteFile(file->hFile,buffer, (DWORD) length, (LPDWORD) bytesWritten, &lap)) {
+ if (ERROR_IO_PENDING != GetLastError()) {
+ WriteErrorMessage("WindowsAsyncFile: WriteFile failed, %d\n",GetLastError());
+ return false;
+ }
+ }
+ writing = true;
+ return true;
+}
+
+ bool
+WindowsAsyncFile::Writer::waitForCompletion()
+{
+ if (writing) {
+ DWORD nBytesTransferred;
+ if (!GetOverlappedResult(file->hFile,&lap,&nBytesTransferred,TRUE)) {
+ return false;
+ }
+ writing = false;
+ }
+ return true;
+}
+
+ AsyncFile::Reader*
+WindowsAsyncFile::getReader()
+{
+ return new Reader(this);
+}
+
+WindowsAsyncFile::Reader::Reader(
+ WindowsAsyncFile* i_file)
+ : file(i_file), reading(false)
+{
+ lap.hEvent = CreateEvent(NULL,FALSE,FALSE,NULL);
+}
+
+ bool
+WindowsAsyncFile::Reader::close()
+{
+ return CloseHandle(lap.hEvent) ? true : false;
+}
+
+ bool
+WindowsAsyncFile::Reader::beginRead(
+ void* buffer,
+ size_t length,
+ size_t offset,
+ size_t* bytesRead)
+{
+ if (! waitForCompletion()) {
+ return false;
+ }
+ lap.OffsetHigh = (DWORD) (offset >> (8 * sizeof(DWORD)));
+ lap.Offset = (DWORD) offset;
+ if (!ReadFile(file->hFile, buffer,(DWORD) length, (LPDWORD) bytesRead, &lap)) {
+ if (ERROR_IO_PENDING != GetLastError()) {
+ WriteErrorMessage("WindowsSAMWriter: WriteFile failed, %d\n",GetLastError());
+ return false;
+ }
+ }
+ reading = true;
+ return true;
+}
+
+ bool
+WindowsAsyncFile::Reader::waitForCompletion()
+{
+ if (reading) {
+ DWORD nBytesTransferred;
+ if (!GetOverlappedResult(file->hFile,&lap,&nBytesTransferred,TRUE)) {
+ return false;
+ }
+ reading = false;
+ }
+ return true;
+}
+
+_int64 InterlockedAdd64AndReturnNewValue(volatile _int64 *valueToWhichToAdd, _int64 amountToAdd)
+{
+ return InterlockedAdd64((volatile LONGLONG *)valueToWhichToAdd,(LONGLONG)amountToAdd);
+}
+
+int _fseek64bit(FILE *stream, _int64 offset, int origin)
+{
+ return _fseeki64(stream,offset,origin);
+}
+
+int getpagesize()
+{
+ SYSTEM_INFO systemInfo;
+ GetSystemInfo(&systemInfo);
+ return systemInfo.dwAllocationGranularity;
+}
+
+FileMapper::FileMapper()
+{
+ hFile = INVALID_HANDLE_VALUE;
+ hMapping = NULL;
+ initialized = false;
+ pagesize = getpagesize();
+ mapCount = 0;
+
+#if 0
+ hFilePrefetch = INVALID_HANDLE_VALUE;
+ lap->hEvent = NULL;
+ prefetchBuffer = BigAlloc(prefetchBufferSize);
+ isPrefetchOutstanding = false;
+ lastPrefetch = 0;
+#endif
+
+ millisSpentInReadFile = 0;
+ countOfImmediateCompletions = 0;
+ countOfDelayedCompletions = 0;
+ countOfFailures = 0;
+}
+
+bool
+FileMapper::init(const char *i_fileName)
+{
+ if (initialized) {
+ if (strcmp(fileName, i_fileName)) {
+ WriteErrorMessage("FileMapper already initialized with %s, cannot init with %s\n", fileName, i_fileName);
+ return false;
+ }
+ return true;
+ }
+ fileName = i_fileName;
+ hFile = CreateFile(fileName, GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_FLAG_SEQUENTIAL_SCAN,NULL);
+ if (INVALID_HANDLE_VALUE == hFile) {
+ WriteErrorMessage("Failed to open '%s', error %d\n",fileName, GetLastError());
+ return false;
+ }
+
+#if 0
+ hFilePrefetch = CreateFile(fileName, GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);
+ if (INVALID_HANDLE_VALUE == hFilePrefetch) {
+ WriteErrorMessage("Failed to open '%s' for prefetch, error %d\n",fileName, GetLastError());
+ CloseHandle(hFile);
+ return false;
+ }
+#endif
+
+ BY_HANDLE_FILE_INFORMATION fileInfo;
+ if (!GetFileInformationByHandle(hFile,&fileInfo)) {
+ WriteErrorMessage("Unable to get file information for '%s', error %d\n", fileName, GetLastError());
+ CloseHandle(hFile);
+#if 0
+ CloseHandle(hFilePrefetch);
+#endif
+ return false;
+ }
+ LARGE_INTEGER liFileSize;
+ liFileSize.HighPart = fileInfo.nFileSizeHigh;
+ liFileSize.LowPart = fileInfo.nFileSizeLow;
+ fileSize = liFileSize.QuadPart;
+
+ hMapping = CreateFileMapping(hFile,NULL,PAGE_READONLY,0,0,NULL);
+ if (NULL == hMapping) {
+ WriteErrorMessage("Unable to create mapping to file '%s', %d\n", fileName, GetLastError());
+ CloseHandle(hFile);
+#if 0
+ CloseHandle(hFilePrefetch);
+#endif
+ return false;
+ }
+#if 0
+ lap->hEvent = CreateEvent(NULL,FALSE,FALSE,NULL);
+#endif
+ initialized = true;
+
+
+ return true;
+}
+
+char *
+FileMapper::createMapping(size_t offset, size_t amountToMap, void** o_mappedBase)
+{
+ size_t beginRounding = offset % pagesize;
+ LARGE_INTEGER liStartingOffset;
+ liStartingOffset.QuadPart = offset - beginRounding;
+
+ size_t endRounding = 0;
+ if ((amountToMap + beginRounding) % pagesize != 0) {
+ endRounding = pagesize - (amountToMap + beginRounding) % pagesize;
+ }
+ size_t mapRequestSize = beginRounding + amountToMap + endRounding;
+ _ASSERT(mapRequestSize % pagesize == 0);
+ if (mapRequestSize + liStartingOffset.QuadPart >= fileSize) {
+ mapRequestSize = 0; // Says to just map the whole thing.
+ }
+
+ char* mappedBase = (char *)MapViewOfFile(hMapping,FILE_MAP_READ,liStartingOffset.HighPart,liStartingOffset.LowPart, mapRequestSize);
+ if (NULL == mappedBase) {
+ WriteErrorMessage("Unable to map file, %d\n", GetLastError());
+ return NULL;
+ }
+ char* mappedRegion = mappedBase + beginRounding;
+
+#if 0
+ prefetch(0);
+#endif
+
+ InterlockedIncrementAndReturnNewValue(&mapCount);
+ *o_mappedBase = mappedBase;
+ return mappedRegion;
+}
+
+void
+FileMapper::unmap(void* mappedBase)
+{
+ _ASSERT(mapCount > 0);
+ if (mapCount > 0) {
+ int n = InterlockedDecrementAndReturnNewValue(&mapCount);
+ _ASSERT(n >= 0);
+ if (!UnmapViewOfFile(mappedBase)) {
+ WriteErrorMessage("Unmap of file failed, %d\n", GetLastError());
+ }
+ }
+}
+
+FileMapper::~FileMapper()
+{
+ _ASSERT(mapCount == 0);
+#if 0
+ if (isPrefetchOutstanding) {
+ DWORD numberOfBytesTransferred;
+ GetOverlappedResult(hFile,lap,&numberOfBytesTransferred,TRUE);
+ }
+ BigDealloc(prefetchBuffer);
+ prefetchBuffer = NULL;
+ CloseHandle(hFilePrefetch);
+ CloseHandle(lap->hEvent);
+#endif
+ CloseHandle(hMapping);
+ CloseHandle(hFile);
+ WriteErrorMessage("FileMapper: %lld immediate completions, %lld delayed completions, %lld failures, %lld ms in readfile (%lld ms/call)\n",countOfImmediateCompletions, countOfDelayedCompletions, countOfFailures, millisSpentInReadFile,
+ millisSpentInReadFile/max(1, countOfImmediateCompletions + countOfDelayedCompletions + countOfFailures));
+}
+
+#if 0
+void
+FileMapper::prefetch(size_t currentRead)
+{
+ if (currentRead + prefetchBufferSize / 2 <= lastPrefetch || lastPrefetch + prefetchBufferSize >= amountMapped) {
+ //
+ // Nothing to do; we're either not ready for more prefetching or we're at the end of our region.
+ //
+ return;
+ }
+
+ if (isPrefetchOutstanding) {
+ //
+ // See if the last prefetch is done.
+ //
+ DWORD numberOfBytesTransferred;
+ if (GetOverlappedResult(hFile,lap,&numberOfBytesTransferred,FALSE)) {
+ isPrefetchOutstanding = false;
+ } else {
+#if DBG
+ if (GetLastError() != ERROR_IO_PENDING) {
+ WriteErrorMessage("mapped file prefetcher: GetOverlappedResult failed, %d\n", GetLastError());
+ }
+#endif // DBG
+ return; // There's still IO on outstanding, we can't start more.
+ }
+ }
+
+ DWORD amountToRead = (DWORD)__min(prefetchBufferSize, amountMapped - lastPrefetch);
+ _ASSERT(amountToRead > 0); // Else we should have failed the initial check and returned
+ LARGE_INTEGER liReadOffset;
+ lastPrefetch += prefetchBufferSize;
+ liReadOffset.QuadPart = lastPrefetch;
+ lap->OffsetHigh = liReadOffset.HighPart;
+ lap->Offset = liReadOffset.LowPart;
+ DWORD nBytesRead;
+
+ _int64 start = timeInMillis();
+ if (!ReadFile(hFilePrefetch,prefetchBuffer,amountToRead,&nBytesRead,lap)) {
+ if (GetLastError() == ERROR_IO_PENDING) {
+ InterlockedAdd64AndReturnNewValue(&countOfDelayedCompletions,1);
+ isPrefetchOutstanding = true;
+ } else {
+ InterlockedAdd64AndReturnNewValue(&countOfFailures,1);
+#if DBG
+ if (GetLastError() != ERROR_IO_PENDING) {
+ WriteErrorMessage("mapped file prefetcher: ReadFile failed, %d\n", GetLastError());
+ }
+#endif // DBG
+ isPrefetchOutstanding = false; // Just ignore it
+ }
+ } else {
+ InterlockedAdd64AndReturnNewValue(&countOfImmediateCompletions,1);
+ isPrefetchOutstanding = false;
+ }
+ InterlockedAdd64AndReturnNewValue(&millisSpentInReadFile,timeInMillis() - start);
+}
+#endif
+
+void PreventMachineHibernationWhileThisThreadIsAlive()
+{
+ SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED);
+}
+
+void SetToLowSchedulingPriority()
+{
+ if (!SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS)) {
+ WriteErrorMessage("Unable to set process to background priority class, %d. Ignoring and proceeding at normal priority\n", GetLastError());
+ }
+}
+
+struct NamedPipe {
+ HANDLE hPipe;
+};
+
+NamedPipe *OpenNamedPipe(const char *pipeName, bool serverSide)
+{
+ NamedPipe *pipe = new NamedPipe;
+ const char *prefix = "\\\\.\\pipe\\";
+
+ char *fullyQualifiedPipeName = new char[strlen(prefix) + strlen(pipeName) + 1]; // +1 for null
+
+ sprintf(fullyQualifiedPipeName, "%s%s", prefix, pipeName);
+
+ if (serverSide) {
+ pipe->hPipe = CreateNamedPipe(fullyQualifiedPipeName, PIPE_ACCESS_DUPLEX | FILE_FLAG_FIRST_PIPE_INSTANCE, PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT | PIPE_REJECT_REMOTE_CLIENTS, 1, 100000, 100000, 0, NULL);
+ if (INVALID_HANDLE_VALUE == pipe->hPipe) {
+ WriteErrorMessage("OpenNamedPipe('%s'): unable to open pipe, %d\n", fullyQualifiedPipeName, GetLastError());
+ delete pipe;
+ return NULL;
+ }
+
+ if (!ConnectNamedPipe(pipe->hPipe, NULL) && ERROR_PIPE_CONNECTED != GetLastError()) {
+ WriteErrorMessage("Unable to connect named pipe, %d\n", GetLastError());
+ delete pipe;
+ return NULL;
+ }
+ } else {
+ pipe->hPipe = CreateFile(fullyQualifiedPipeName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
+ while (INVALID_HANDLE_VALUE == pipe->hPipe && GetLastError() == ERROR_PIPE_BUSY) {
+ WriteStatusMessage("Server is busy. Waiting.\n");
+ if (!WaitNamedPipe(fullyQualifiedPipeName, NMPWAIT_WAIT_FOREVER)) {
+ fprintf(stderr, "Waiting for server connection failed, %d\n", GetLastError());
+ delete pipe;
+ return NULL;
+ }
+ pipe->hPipe = CreateFile(fullyQualifiedPipeName, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
+ }
+
+ if (INVALID_HANDLE_VALUE == pipe->hPipe) {
+ WriteErrorMessage("Unable to open server connection '%s', %d\n", fullyQualifiedPipeName, GetLastError());
+ delete pipe;
+ return NULL;
+ }
+ }
+
+ return pipe;
+}
+
+bool ReadFromNamedPipe(NamedPipe *pipe, char *outputBuffer, size_t outputBufferSize)
+{
+ DWORD bytesRead;
+ while (!ReadFile(pipe->hPipe, outputBuffer, (DWORD)outputBufferSize, &bytesRead, NULL)) {
+ if (GetLastError() != ERROR_BROKEN_PIPE && GetLastError() != ERROR_NO_DATA) {
+ fprintf(stderr, "Read named pipe failed, %d\n", GetLastError()); // Don't use WriteErrorMessage, it will try to send on the pipe
+ return false;
+ }
+
+ if (GetLastError() == ERROR_BROKEN_PIPE) {
+ if (!DisconnectNamedPipe(pipe->hPipe)) {
+ fprintf(stderr, "Disconnect named pipe failed, %d; ignoring\n", GetLastError());
+ }
+ if (!ConnectNamedPipe(pipe->hPipe, NULL) && ERROR_PIPE_CONNECTED != GetLastError()) {
+ fprintf(stderr, "ReadFromNamedPipe: reconnecting to pipe failed, %d\n", GetLastError());
+ return false;
+ }
+ }
+ }
+ return true;
+}
+
+bool WriteToNamedPipe(NamedPipe *pipe, const char *stringToWrite)
+{
+ DWORD bytesWritten;
+ if (!WriteFile(pipe->hPipe, stringToWrite, (DWORD)strlen(stringToWrite) + 1, &bytesWritten, NULL)) { // +1 sends terminating NULL
+ fprintf(stderr, "WriteToNamedPipe: write failed, %d\n", GetLastError());
+ return false;
+ }
+
+ FlushFileBuffers(pipe->hPipe);
+
+ if (bytesWritten != strlen(stringToWrite) + 1) {
+ fprintf(stderr, "WriteToNamedPipe: expected to write %lld bytes, actually wrote %d\n", strlen(stringToWrite) + 1, bytesWritten);
+ }
+
+ return bytesWritten == strlen(stringToWrite) + 1;
+}
+
+void CloseNamedPipe(NamedPipe *pipe)
+{
+ CloseHandle(pipe->hPipe);
+ delete pipe;
+}
+
+const char *DEFAULT_NAMED_PIPE_NAME = "SNAP";
+#else // _MSC_VER
+
+#if defined(__MACH__)
+#include <mach/clock.h>
+#include <mach/mach.h>
+#endif
+
+_int64 timeInMillis()
+/**
+ * Get the current time in milliseconds since some arbitrary starting point
+ * (e.g. system boot or epoch)
+ */
+{
+ timeval t;
+ gettimeofday(&t, NULL);
+ return ((_int64) t.tv_sec) * 1000 + ((_int64) t.tv_usec) / 1000;
+}
+
+_int64 timeInNanos()
+{
+ timespec ts;
+#if defined(__linux__)
+ clock_gettime(CLOCK_REALTIME, &ts); // Works on Linux
+#elif defined(__MACH__)
+ clock_serv_t cclock;
+ mach_timespec_t mts;
+ host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock);
+ clock_get_time(cclock, &mts);
+ mach_port_deallocate(mach_task_self(), cclock);
+ ts.tv_sec = mts.tv_sec;
+ ts.tv_nsec = mts.tv_nsec;
+#else
+ #error "Don't know how to get time in nanos on your platform"
+#endif
+ return ((_int64) ts.tv_sec) * 1000000000 + (_int64) ts.tv_nsec;
+}
+
+void AcquireUnderlyingExclusiveLock(UnderlyingExclusiveLock *lock)
+{
+ pthread_mutex_lock(lock);
+}
+
+void ReleaseUnderlyingExclusiveLock(UnderlyingExclusiveLock *lock)
+{
+ pthread_mutex_unlock(lock);
+}
+
+bool InitializeUnderlyingExclusiveLock(UnderlyingExclusiveLock *lock)
+{
+ return pthread_mutex_init(lock, NULL) == 0;
+}
+
+bool DestroyUnderlyingExclusiveLock(UnderlyingExclusiveLock *lock)
+{
+ return pthread_mutex_destroy(lock) == 0;
+}
+
+class SingleWaiterObjectImpl {
+protected:
+ pthread_mutex_t lock;
+ pthread_cond_t cond;
+ bool set;
+
+public:
+ bool init() {
+ if (pthread_mutex_init(&lock, NULL) != 0) {
+ return false;
+ }
+ if (pthread_cond_init(&cond, NULL) != 0) {
+ pthread_mutex_destroy(&lock);
+ return false;
+ }
+ set = false;
+ return true;
+ }
+
+ void signal() {
+ pthread_mutex_lock(&lock);
+ set = true;
+ pthread_cond_signal(&cond);
+ pthread_mutex_unlock(&lock);
+ }
+
+ void wait() {
+ pthread_mutex_lock(&lock);
+ while (!set) {
+ pthread_cond_wait(&cond, &lock);
+ }
+ pthread_mutex_unlock(&lock);
+ }
+
+ bool waitWithTimeout(_int64 timeoutInMillis) {
+ struct timespec wakeTime;
+#ifdef __LINUX__
+ clock_gettime(CLOCK_REALTIME, &wakeTime);
+ wakeTime.tv_nsec += timeoutInMillis * 1000000;
+#elif defined(__MACH__)
+ clock_serv_t cclock;
+ mach_timespec_t mts;
+ host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock);
+ clock_get_time(cclock, &mts);
+ mach_port_deallocate(mach_task_self(), cclock);
+ wakeTime.tv_nsec = mts.tv_nsec + timeoutInMillis * 1000000;
+ wakeTime.tv_sec = mts.tv_sec;
+#endif
+ wakeTime.tv_sec += wakeTime.tv_nsec / 1000000000;
+ wakeTime.tv_nsec = wakeTime.tv_nsec % 1000000000;
+
+ bool timedOut = false;
+
+ pthread_mutex_lock(&lock);
+ while (!set) {
+ int retVal = pthread_cond_timedwait(&cond, &lock, &wakeTime);
+ if (retVal == ETIMEDOUT) {
+ timedOut = true;
+ break;
+ }
+ }
+ pthread_mutex_unlock(&lock);
+ return !timedOut;
+ }
+
+ bool destroy() {
+ pthread_cond_destroy(&cond);
+ pthread_mutex_destroy(&lock);
+ }
+};
+
+bool CreateSingleWaiterObject(SingleWaiterObject *waiter)
+{
+ SingleWaiterObjectImpl *obj = new SingleWaiterObjectImpl;
+ if (obj == NULL) {
+ return false;
+ }
+ if (!obj->init()) {
+ delete obj;
+ return false;
+ }
+ *waiter = obj;
+ return true;
+}
+
+void DestroySingleWaiterObject(SingleWaiterObject *waiter)
+{
+ (*waiter)->destroy();
+ delete *waiter;
+}
+
+void SignalSingleWaiterObject(SingleWaiterObject *waiter)
+{
+ (*waiter)->signal();
+}
+
+bool WaitForSingleWaiterObject(SingleWaiterObject *waiter)
+{
+ (*waiter)->wait();
+ return true;
+}
+
+void ResetSingleWaiterObject(SingleWaiterObject *waiter)
+{
+ (*waiter)->init();
+}
+
+class EventObjectImpl : public SingleWaiterObjectImpl
+{
+public:
+ void signalAll()
+ {
+ pthread_mutex_lock(&lock);
+ set = true;
+ pthread_cond_broadcast(&cond);
+ pthread_mutex_unlock(&lock);
+ }
+ void blockAll()
+ {
+ pthread_mutex_lock(&lock);
+ set = false;
+ pthread_mutex_unlock(&lock);
+ }
+};
+
+void CreateEventObject(EventObject *newEvent)
+{
+ EventObjectImpl* obj = new EventObjectImpl();
+ if (obj == NULL) {
+ return;
+ }
+ if (!obj->init()) {
+ delete obj;
+ return;
+ }
+ *newEvent = obj;
+}
+
+void DestroyEventObject(EventObject *eventObject)
+{
+ (*eventObject)->destroy();
+ delete *eventObject;
+}
+
+void AllowEventWaitersToProceed(EventObject *eventObject)
+{
+ (*eventObject)->signalAll();
+}
+
+void PreventEventWaitersFromProceeding(EventObject *eventObject)
+{
+ (*eventObject)->blockAll();
+}
+
+void WaitForEvent(EventObject *eventObject)
+{
+ (*eventObject)->wait();
+}
+
+bool WaitForEventWithTimeout(EventObject *eventObject, _int64 timeoutInMillis)
+{
+ return (*eventObject)->waitWithTimeout(timeoutInMillis);
+}
+
+int InterlockedIncrementAndReturnNewValue(volatile int *valueToDecrement)
+{
+ return (int) __sync_fetch_and_add((volatile int*) valueToDecrement, 1) + 1;
+}
+
+int InterlockedDecrementAndReturnNewValue(volatile int *valueToDecrement)
+{
+ return __sync_fetch_and_sub(valueToDecrement, 1) - 1;
+}
+
+_int64 InterlockedAdd64AndReturnNewValue(volatile _int64 *valueToWhichToAdd, _int64 amountToAdd)
+{
+ return __sync_fetch_and_add(valueToWhichToAdd, amountToAdd) + amountToAdd;
+}
+
+_uint32 InterlockedCompareExchange32AndReturnOldValue(volatile _uint32 *valueToUpdate, _uint32 replacementValue, _uint32 desiredPreviousValue)
+{
+ return __sync_val_compare_and_swap(valueToUpdate, desiredPreviousValue, replacementValue);
+}
+
+_uint64 InterlockedCompareExchange64AndReturnOldValue(volatile _uint64 *valueToUpdate, _uint64 replacementValue, _uint64 desiredPreviousValue)
+{
+ return (_uint64) __sync_val_compare_and_swap((volatile _int64 *) valueToUpdate, desiredPreviousValue, replacementValue);
+}
+
+void* InterlockedCompareExchangePointerAndReturnOldValue(void * volatile *valueToUpdate, void* replacementValue, void* desiredPreviousValue)
+{
+ return __sync_val_compare_and_swap(valueToUpdate, desiredPreviousValue, replacementValue);
+}
+
+namespace {
+
+// POSIX thread functions need to return void*, so we wrap the ThreadMainFunction in our API
+struct ThreadInfo {
+ ThreadMainFunction function;
+ void *parameter;
+
+ ThreadInfo(ThreadMainFunction f, void *p): function(f), parameter(p) {}
+};
+
+void* runThread(void* infoVoidPtr) {
+ ThreadInfo *info = (ThreadInfo*) infoVoidPtr;
+ info->function(info->parameter);
+ delete info;
+ return NULL;
+}
+
+}
+
+bool StartNewThread(ThreadMainFunction threadMainFunction, void *threadMainFunctionParameter)
+{
+ ThreadInfo *info = new ThreadInfo(threadMainFunction, threadMainFunctionParameter);
+ pthread_t thread;
+ return pthread_create(&thread, NULL, runThread, info) == 0;
+}
+
+void BindThreadToProcessor(unsigned processorNumber)
+{
+#ifdef __linux__
+ cpu_set_t cpuset;
+ CPU_ZERO(&cpuset);
+ CPU_SET(processorNumber, &cpuset);
+ if (sched_setaffinity(0, sizeof(cpu_set_t), &cpuset) != 0) {
+ perror("sched_setaffinity");
+ }
+#endif
+}
+
+unsigned GetNumberOfProcessors()
+{
+ return (unsigned) sysconf(_SC_NPROCESSORS_ONLN);
+}
+
+void SleepForMillis(unsigned millis)
+{
+ usleep(millis*1000);
+}
+
+_int64 QueryFileSize(const char *fileName)
+{
+ int fd = open(fileName, O_RDONLY);
+ _ASSERT(fd != -1);
+ struct stat sb;
+ int r = fstat(fd, &sb);
+ _ASSERT(r != -1);
+ _int64 fileSize = sb.st_size;
+ close(fd);
+ return fileSize;
+}
+
+ bool
+DeleteSingleFile(
+ const char* filename)
+{
+ return unlink(filename) == 0;
+}
+
+ bool
+MoveSingleFile(
+ const char* from,
+ const char* to)
+{
+ return rename(from, to) == 0;
+}
+
+class LargeFileHandle
+{
+public:
+ FILE* file;
+};
+
+ LargeFileHandle*
+OpenLargeFile(
+ const char* filename,
+ const char* mode)
+{
+ _ASSERT(strlen(mode) == 1 && (*mode == 'r' || *mode == 'w' || *mode == 'a'));
+ char fmode[3];
+ fmode[0] = mode[0]; fmode[1] = 'b'; fmode[2] = '\0';
+ FILE* file = fopen(filename, fmode);
+ if (file == NULL) {
+ return NULL;
+ }
+ LargeFileHandle* result = new LargeFileHandle();
+ result->file = file;
+ return result;
+}
+
+ size_t
+WriteLargeFile(
+ LargeFileHandle* file,
+ void* buffer,
+ size_t bytes)
+{
+ return fwrite(buffer, 1, bytes, file->file);
+}
+
+
+ size_t
+ReadLargeFile(
+ LargeFileHandle* file,
+ void* buffer,
+ size_t bytes)
+{
+ return fread(buffer, 1, bytes, file->file);
+}
+
+ void
+CloseLargeFile(
+ LargeFileHandle* file)
+{
+ if (0 == fclose(file->file)) {
+ delete file;
+ }
+}
+
+class MemoryMappedFile
+{
+public:
+ int fd;
+ void* map;
+ size_t length;
+};
+
+ MemoryMappedFile*
+OpenMemoryMappedFile(
+ const char* filename,
+ size_t offset,
+ size_t length,
+ void** o_contents,
+ bool write,
+ bool sequential)
+{
+ int fd = open(filename, write ? O_CREAT | O_RDWR : O_RDONLY, S_IRUSR | S_IWUSR);
+ if (fd < 0) {
+ warn("OpenMemoryMappedFile %s failed", filename);
+ return NULL;
+ }
+ // todo: large page support
+ size_t page = getpagesize();
+ size_t extra = offset % page;
+ void* map = mmap(NULL, length + extra, (write ? PROT_WRITE : 0) | PROT_READ, MAP_PRIVATE, fd, offset - extra);
+ if (map == NULL || map == MAP_FAILED) {
+ warn("OpenMemoryMappedFile %s mmap failed", filename);
+ close(fd);
+ return NULL;
+ }
+ int e = madvise(map, length + extra, sequential ? MADV_SEQUENTIAL : MADV_RANDOM);
+ if (e < 0) {
+ warn("OpenMemoryMappedFile %s madvise failed", filename);
+ }
+ MemoryMappedFile* result = new MemoryMappedFile();
+ result->fd = fd;
+ result->map = map;
+ result->length = length + extra;
+ *o_contents = (char*)map + extra;
+ return result;
+}
+
+ void
+CloseMemoryMappedFile(
+ MemoryMappedFile* mappedFile)
+{
+ int e = munmap(mappedFile->map, mappedFile->length);
+ int e2 = close(mappedFile->fd);
+ if (e != 0 || e2 != 0) {
+ WriteErrorMessage("CloseMemoryMapped file failed\n");
+ }
+}
+
+void AdviseMemoryMappedFilePrefetch(const MemoryMappedFile *mappedFile)
+{
+ if (madvise(mappedFile->map, mappedFile->length, MADV_SEQUENTIAL)) {
+ WriteErrorMessage("madvise MADV_SEQUENTIAL failed (since it's only an optimization, this is OK). Errno %d\n", errno);
+ }
+
+ if (madvise(mappedFile->map, mappedFile->length, MADV_WILLNEED)) {
+ WriteErrorMessage("madvise MADV_WILLNEED failed (since it's only an optimization, this is OK). Errno %d\n", errno);
+ }
+}
+
+#ifdef __linux__
+
+class PosixAsyncFile : public AsyncFile
+{
+public:
+ static PosixAsyncFile* open(const char* filename, bool write);
+
+ PosixAsyncFile(int i_fd);
+
+ virtual bool close();
+
+ class Writer : public AsyncFile::Writer
+ {
+ public:
+ Writer(PosixAsyncFile* i_file);
+
+ virtual bool close();
+
+ virtual bool beginWrite(void* buffer, size_t length, size_t offset, size_t *bytesWritten);
+
+ virtual bool waitForCompletion();
+
+ private:
+ PosixAsyncFile* file;
+ bool writing;
+ SingleWaiterObject ready;
+ struct aiocb aiocb;
+ size_t* result;
+ };
+
+ virtual AsyncFile::Writer* getWriter();
+
+ class Reader : public AsyncFile::Reader
+ {
+ public:
+ Reader(PosixAsyncFile* i_file);
+
+ virtual bool close();
+
+ virtual bool beginRead(void* buffer, size_t length, size_t offset, size_t *bytesRead);
+
+ virtual bool waitForCompletion();
+
+ private:
+ PosixAsyncFile* file;
+ bool reading;
+ SingleWaiterObject ready;
+ struct aiocb aiocb;
+ size_t* result;
+ };
+
+ virtual AsyncFile::Reader* getReader();
+
+private:
+ int fd;
+};
+
+ PosixAsyncFile*
+PosixAsyncFile::open(
+ const char* filename,
+ bool write)
+{
+ int fd = ::open(filename, write ? O_CREAT | O_RDWR | O_TRUNC : O_RDONLY, write ? S_IRWXU | S_IRGRP : 0);
+ if (fd < 0) {
+ WriteErrorMessage("Unable to create SAM file '%s', %d\n",filename,errno);
+ return NULL;
+ }
+ return new PosixAsyncFile(fd);
+}
+
+PosixAsyncFile::PosixAsyncFile(
+ int i_fd)
+ : fd(i_fd)
+{
+}
+
+ bool
+PosixAsyncFile::close()
+{
+ return ::close(fd) == 0;
+}
+
+ AsyncFile::Writer*
+PosixAsyncFile::getWriter()
+{
+ return new Writer(this);
+}
+
+PosixAsyncFile::Writer::Writer(PosixAsyncFile* i_file)
+ : file(i_file), writing(false)
+{
+ memset(&aiocb, 0, sizeof(aiocb));
+ if (! CreateSingleWaiterObject(&ready)) {
+ WriteErrorMessage("PosixAsyncFile: cannot create waiter\n");
+ soft_exit(1);
+ }
+}
+
+ bool
+PosixAsyncFile::Writer::close()
+{
+ waitForCompletion();
+ DestroySingleWaiterObject(&ready);
+ return true;
+}
+
+ void
+sigev_ready(
+ union sigval val)
+{
+ SignalSingleWaiterObject((SingleWaiterObject*) val.sival_ptr);
+}
+
+ void
+aio_setup(
+ struct aiocb* control,
+ SingleWaiterObject* ready,
+ int fd,
+ void* buffer,
+ size_t length,
+ size_t offset)
+{
+ control->aio_fildes = fd;
+ control->aio_buf = buffer;
+ control->aio_nbytes = length;
+ control->aio_offset = offset;
+ control->aio_sigevent.sigev_notify = SIGEV_THREAD;
+ control->aio_sigevent.sigev_value.sival_ptr = ready;
+ control->aio_sigevent.sigev_notify_function = sigev_ready;
+}
+
+
+ bool
+PosixAsyncFile::Writer::beginWrite(
+ void* buffer,
+ size_t length,
+ size_t offset,
+ size_t *bytesWritten)
+{
+ if (! waitForCompletion()) {
+ return false;
+ }
+ aio_setup(&aiocb, &ready, file->fd, buffer, length, offset);
+ result = bytesWritten;
+ if (aio_write(&aiocb) < 0) {
+ warn("PosixAsyncFile aio_write failed");
+ return false;
+ }
+ writing = true;
+ return true;
+}
+
+ bool
+PosixAsyncFile::Writer::waitForCompletion()
+{
+ if (writing) {
+ WaitForSingleWaiterObject(&ready);
+ ResetSingleWaiterObject(&ready);
+ writing = false;
+ ssize_t ret = aio_return(&aiocb);
+ if (ret < 0 && errno != 0) {
+ warn("PosixAsyncFile Writer aio_return failed");
+ return false;
+ }
+ if (result != NULL) {
+ *result = max((ssize_t)0, ret);
+ }
+ }
+ return true;
+}
+
+ AsyncFile::Reader*
+PosixAsyncFile::getReader()
+{
+ return new Reader(this);
+}
+
+PosixAsyncFile::Reader::Reader(
+ PosixAsyncFile* i_file)
+ : file(i_file), reading(false)
+{
+ memset(&aiocb, 0, sizeof(aiocb));
+ if (! CreateSingleWaiterObject(&ready)) {
+ WriteErrorMessage("PosixAsyncFile cannot create waiter\n");
+ soft_exit(1);
+ }
+}
+
+ bool
+PosixAsyncFile::Reader::close()
+{
+ DestroySingleWaiterObject(&ready);
+ return true;
+}
+
+ bool
+PosixAsyncFile::Reader::beginRead(
+ void* buffer,
+ size_t length,
+ size_t offset,
+ size_t* bytesRead)
+{
+ if (! waitForCompletion()) {
+ return false;
+ }
+ aio_setup(&aiocb, &ready, file->fd, buffer, length, offset);
+ result = bytesRead;
+ if (aio_read(&aiocb) < 0) {
+ warn("PosixAsyncFile Reader aio_read failed");
+ return false;
+ }
+ reading = true;
+ return true;
+}
+
+ bool
+PosixAsyncFile::Reader::waitForCompletion()
+{
+ if (reading) {
+ WaitForSingleWaiterObject(&ready);
+ ResetSingleWaiterObject(&ready);
+ reading = false;
+ ssize_t ret = aio_return(&aiocb);
+ if (ret < 0 && errno != 0) {
+ warn("PosixAsyncFile Reader aio_return");
+ return false;
+ }
+ if (result != NULL) {
+ *result = max((ssize_t)0, ret);
+ }
+ }
+ return true;
+}
+
+#else
+
+// todo: make this actually async!
+
+class OsxAsyncFile : public AsyncFile
+{
+public:
+ static OsxAsyncFile* open(const char* filename, bool write);
+
+ OsxAsyncFile(int i_fd);
+
+ virtual bool close();
+
+ class Writer : public AsyncFile::Writer
+ {
+ public:
+ Writer(OsxAsyncFile* i_file);
+
+ virtual bool close();
+
+ virtual bool beginWrite(void* buffer, size_t length, size_t offset, size_t *bytesWritten);
+
+ virtual bool waitForCompletion();
+
+ private:
+ OsxAsyncFile* file;
+ bool writing;
+ SingleWaiterObject ready;
+ struct aiocb aiocb;
+ size_t* result;
+ };
+
+ virtual AsyncFile::Writer* getWriter();
+
+ class Reader : public AsyncFile::Reader
+ {
+ public:
+ Reader(OsxAsyncFile* i_file);
+
+ virtual bool close();
+
+ virtual bool beginRead(void* buffer, size_t length, size_t offset, size_t *bytesRead);
+
+ virtual bool waitForCompletion();
+
+ private:
+ OsxAsyncFile* file;
+ bool reading;
+ size_t* result;
+ };
+
+ virtual AsyncFile::Reader* getReader();
+
+private:
+ int fd;
+};
+
+ OsxAsyncFile*
+OsxAsyncFile::open(
+ const char* filename,
+ bool write)
+{
+ int fd = ::open(filename, write ? O_CREAT | O_RDWR | O_TRUNC : O_RDONLY, write ? S_IRWXU | S_IRGRP : 0);
+ if (fd < 0) {
+ WriteErrorMessage("Unable to create SAM file '%s', %d\n",filename,errno);
+ return NULL;
+ }
+ return new OsxAsyncFile(fd);
+}
+
+OsxAsyncFile::OsxAsyncFile(
+ int i_fd)
+ : fd(i_fd)
+{
+}
+
+ bool
+OsxAsyncFile::close()
+{
+ return ::close(fd) == 0;
+}
+
+ AsyncFile::Writer*
+OsxAsyncFile::getWriter()
+{
+ return new Writer(this);
+}
+
+OsxAsyncFile::Writer::Writer(OsxAsyncFile* i_file)
+ : file(i_file), writing(false)
+{
+}
+
+ bool
+OsxAsyncFile::Writer::close()
+{
+ return true;
+}
+
+ bool
+OsxAsyncFile::Writer::beginWrite(
+ void* buffer,
+ size_t length,
+ size_t offset,
+ size_t *bytesWritten)
+{
+ size_t m = ::lseek(file->fd, offset, SEEK_SET);
+ if (m == -1) {
+ return false;
+ }
+ size_t n = ::write(file->fd, buffer, length);
+ if (bytesWritten) {
+ *bytesWritten = n;
+ }
+ return n != -1;
+}
+
+ bool
+OsxAsyncFile::Writer::waitForCompletion()
+{
+ return true;
+}
+
+ AsyncFile::Reader*
+OsxAsyncFile::getReader()
+{
+ return new Reader(this);
+}
+
+OsxAsyncFile::Reader::Reader(
+ OsxAsyncFile* i_file)
+ : file(i_file), reading(false)
+{
+}
+
+ bool
+OsxAsyncFile::Reader::close()
+{
+ return true;
+}
+
+ bool
+OsxAsyncFile::Reader::beginRead(
+ void* buffer,
+ size_t length,
+ size_t offset,
+ size_t* bytesRead)
+{
+ size_t m = ::lseek(file->fd, offset, SEEK_SET);
+ if (m == -1) {
+ return false;
+ }
+ size_t n = ::read(file->fd, buffer, length);
+ if (bytesRead) {
+ *bytesRead = n;
+ }
+ return n != -1;
+}
+
+ bool
+OsxAsyncFile::Reader::waitForCompletion()
+{
+ return true;
+}
+
+#endif
+
+int _fseek64bit(FILE *stream, _int64 offset, int origin)
+{
+#ifdef __APPLE__
+ // Apple's file pointers are already 64-bit so just use fseeko.
+ fseeko(stream, offset, origin);
+#else
+ return fseeko64(stream, offset, origin);
+#endif
+}
+
+FileMapper::FileMapper()
+{
+ fd = -1;
+ initialized = false;
+ mapCount = 0;
+ pagesize = getpagesize();
+}
+
+bool
+FileMapper::init(const char *i_fileName)
+{
+ if (initialized) {
+ if (strcmp(fileName, i_fileName)) {
+ WriteErrorMessage("FileMapper already initialized with %s, cannot init with %s\n", fileName, i_fileName);
+ return false;
+ }
+ return true;
+ }
+ fileName = i_fileName;
+ fd = open(fileName, O_RDONLY);
+ if (fd == -1) {
+ WriteErrorMessage("Failed to open %s\n", fileName);
+ return false;
+ }
+
+ struct stat sb;
+ int r = fstat(fd, &sb);
+ if (r == -1) {
+ WriteErrorMessage("Failed to stat %s\n", fileName);
+ return false;
+ }
+ fileSize = sb.st_size;
+
+ initialized = true;
+
+ return true;
+}
+
+char *
+FileMapper::createMapping(size_t offset, size_t amountToMap, void** o_token)
+{
+ size_t beginRounding = offset % pagesize;
+
+ size_t mapRequestSize = beginRounding + amountToMap;
+ //_ASSERT(mapRequestSize % pagesize == 0);
+ if (mapRequestSize + offset >= fileSize) {
+ mapRequestSize = 0; // Says to just map the whole thing.
+ }
+
+ char* mappedBase = (char *) mmap(NULL, amountToMap + beginRounding, PROT_READ, MAP_SHARED, fd, offset - beginRounding);
+ if (mappedBase == MAP_FAILED) {
+ WriteErrorMessage("mmap failed.\n");
+ return NULL;
+ }
+
+ int r = madvise(mappedBase, min((size_t) madviseSize, amountToMap + beginRounding), MADV_WILLNEED | MADV_SEQUENTIAL);
+ _ASSERT(r == 0);
+ lastPosMadvised = 0;
+
+ InterlockedIncrementAndReturnNewValue(&mapCount);
+ *o_token = new UnmapToken(mappedBase, amountToMap);
+ return mappedBase + beginRounding;
+}
+
+void
+FileMapper::unmap(void* i_token)
+{
+ _ASSERT(mapCount > 0);
+ if (mapCount > 0) {
+ int n = InterlockedDecrementAndReturnNewValue(&mapCount);
+ _ASSERT(n >= 0);
+ UnmapToken* token = (UnmapToken*) i_token;
+ munmap(token->first, token->second);
+ delete token;
+ }
+}
+
+FileMapper::~FileMapper()
+{
+ _ASSERT(mapCount == 0);
+ close(fd);
+}
+
+#if 0
+void
+FileMapper::prefetch(size_t currentRead)
+{
+ if (currentRead > lastPosMadvised + madviseSize / 2) {
+ _uint64 offset = lastPosMadvised + madviseSize;
+ _uint64 len = (offset > amountMapped ? 0 : min(amountMapped - offset, (_uint64) madviseSize));
+ if (len > 0) {
+ // Start reading new range
+ int r = madvise(mappedBase + offset, len, MADV_WILLNEED);
+ _ASSERT(r == 0);
+ }
+ if (lastPosMadvised > 0) {
+ // Unload the range we had before our current one
+ int r = madvise(mappedBase + lastPosMadvised - madviseSize, madviseSize, MADV_DONTNEED);
+ _ASSERT(r == 0);
+ }
+ lastPosMadvised = offset;
+ }
+}
+#endif
+
+void PreventMachineHibernationWhileThisThreadIsAlive()
+{
+ // Only implemented for Windows
+}
+
+void SetToLowSchedulingPriority()
+{
+ // Only implemented for Windows (the Linux version is per-thread, and I'm too lazy to do it now).
+ WriteErrorMessage("The Linux code for running at low priority is not implemented, so SNAP will run at normal priority\n");
+}
+
+//
+// Linux named pipes are unidirectional, so we need two of them.
+//
+struct NamedPipe {
+ bool serverSide;
+ char * pipeName;
+ FILE * input;
+ FILE * output;
+};
+
+bool createPipe(const char *fullyQualifiedPipeName)
+{
+ if (mkfifo(fullyQualifiedPipeName, S_IRUSR | S_IWUSR)) {
+ if (errno != EEXIST) {
+ if (errno == ENOENT) {
+ WriteErrorMessage("OpenNamedPipe: unable to create named pipe at path '%s' because a directory in the path doesn't exist. Please create it or use a different pipe name\n", fullyQualifiedPipeName);
+ return false;
+ }
+
+ if (errno == EACCES) {
+ WriteErrorMessage("OpenNamedPipe: unable to create named pipe at path '%s' because you do not have sufficient permissions.\n", fullyQualifiedPipeName);
+ return false;
+ }
+
+ if (errno == ENOTDIR) {
+ WriteErrorMessage("OpenNamedPipe: a component of your pipe path isn't a directory. '%s'\n", fullyQualifiedPipeName);
+ return false;
+ }
+
+ WriteErrorMessage("OpenNamedPipe: unexpectedly failed to create named pipe '%s', errno %d\n", fullyQualifiedPipeName, errno);
+ return false;
+ }
+ }
+ return true;
+}
+
+FILE *connectPipe(char *fullyQualifiedPipeName, bool forInput)
+{
+ FILE *pipeFile = fopen(fullyQualifiedPipeName, forInput ? "r" : "w");
+ if (NULL == pipeFile) {
+ WriteErrorMessage("OpenNamedPipe: unable to open pipe file '%s', errno %d\n", fullyQualifiedPipeName, errno);
+ }
+ return pipeFile;
+}
+
+char *createFullyQualifiedPipeName(const char *pipeName, bool serverSide, bool forInput)
+{
+ char *fullyQualifiedPipeName;
+ const char *defaultPipeDirectory = "/tmp/";
+ const char *pipeDirectory;
+ const char *toServer = "-toServer";
+ const char *toClient = "-toClient";
+
+ if (pipeName[0] != '/') {
+ pipeDirectory = defaultPipeDirectory;
+ } else {
+ pipeDirectory = "";
+ }
+
+ fullyQualifiedPipeName = new char[strlen(pipeDirectory) + strlen(pipeName) + __max(strlen(toServer), strlen(toClient)) + 1]; // +1 for trailing null
+
+ sprintf(fullyQualifiedPipeName, "%s%s%s", pipeDirectory, pipeName, (serverSide == forInput) ? toServer : toClient);
+
+ return fullyQualifiedPipeName;
+}
+
+bool connectNamedPipes(NamedPipe *pipe)
+{
+ char *inputPipeName = createFullyQualifiedPipeName(pipe->pipeName, pipe->serverSide, true);
+ char *outputPipeName = createFullyQualifiedPipeName(pipe->pipeName, pipe->serverSide, false);
+
+ if (pipe->input != NULL) {
+ fclose(pipe->input);
+ pipe->input = NULL;
+ }
+
+ if (pipe->output != NULL) {
+ fclose(pipe->output);
+ pipe->output = NULL;
+ }
+
+ //
+ // Connecting pipes is synchronous, so the server and client need to connect
+ // in opposite order.
+ //
+ if (pipe->serverSide) {
+ signal(SIGPIPE, SIG_IGN);// If the client hits ^C, we'll get this. Ignore it, let the fwrite fail, and continue
+ pipe->input = connectPipe(inputPipeName, true);
+ pipe->output = connectPipe(outputPipeName, false);
+ //
+ // Release any exclusive lock on the toServer pipe that may have been left by a now-dead client
+ //
+ struct flock lock;
+ lock.l_type = F_UNLCK;
+ lock.l_whence = SEEK_SET;
+ lock.l_start = 0;
+ lock.l_len = 1;
+ lock.l_pid = 0;
+
+ if (fcntl(fileno(pipe->output), F_SETLKW, &lock) < 0) {
+ fprintf(stderr,"Unable to clear named pipe lock, errno %d\n", errno);
+ delete pipe;
+ return NULL;
+ }
+ } else {
+ pipe->output = connectPipe(outputPipeName, false);
+ pipe->input = connectPipe(inputPipeName, true);
+ }
+
+ delete [] inputPipeName;
+ delete [] outputPipeName;
+
+ return pipe->input != NULL && pipe->output != NULL;
+}
+
+
+NamedPipe *OpenNamedPipe(const char *pipeName, bool serverSide)
+{
+ char *inputPipeName = createFullyQualifiedPipeName(pipeName, serverSide, true);
+ char *outputPipeName = createFullyQualifiedPipeName(pipeName, serverSide, false);
+
+ NamedPipe *pipe = new NamedPipe;
+ pipe->pipeName = new char[strlen(pipeName) + 1];
+ strcpy(pipe->pipeName, pipeName);
+ pipe->input = pipe->output = NULL;
+ pipe->serverSide = serverSide;
+
+ if (serverSide) {
+ if (!createPipe(inputPipeName)) {
+ delete pipe;
+ return NULL;
+ }
+ if (!createPipe(outputPipeName)) {
+ delete pipe;
+ return NULL;
+ }
+ }
+
+
+ delete [] inputPipeName;
+ delete [] outputPipeName;
+
+ if (!connectNamedPipes(pipe)) {
+ delete pipe;
+ return NULL;
+ }
+
+ if (!serverSide) {
+ //
+ // Take an exclusive lock on the toServer pipe so that only one client is sending at a time.
+ //
+ struct flock lock;
+ lock.l_type = F_WRLCK;
+ lock.l_whence = SEEK_SET;
+ lock.l_start = 0;
+ lock.l_len = 1;
+ lock.l_pid = 0;
+
+ if (fcntl(fileno(pipe->output), F_SETLKW, &lock) < 0) {
+ fprintf(stderr,"OpenNamedPipe: F_SETLKW failed, errno %d\n", errno);
+ delete pipe;
+ return NULL;
+ }
+ }
+
+ return pipe;
+}
+
+
+//
+// Our Linux version of named pipe IO sends strings with 4 byte byte counts first.
+//
+bool ReadFromNamedPipe(NamedPipe *pipe, char *outputBuffer, size_t outputBufferSize)
+{
+ unsigned int size;
+
+ for (;;) {
+ if (1 != fread(&size, sizeof(size), 1, pipe->input)) {
+ if (!pipe->serverSide) {
+ return false;
+ }
+ if (!connectNamedPipes(pipe)) {
+ return false;
+ }
+ continue;
+ }
+
+ if (size >= outputBufferSize) {
+ WriteErrorMessage("Trying to read too big a chunk from named pipe, %d >= %lld\n", size, outputBufferSize);
+ return false;
+ }
+
+ if (1 != fread(outputBuffer, size, 1, pipe->input)) {
+ if (!pipe->serverSide) {
+ return false;
+ }
+ if (!connectNamedPipes(pipe)) {
+ return false;
+ }
+ continue;
+ }
+
+ break;
+ }
+
+ outputBuffer[size] = '\0';
+ return true;
+}
+
+bool WriteToNamedPipe(NamedPipe *pipe, const char *stringToWrite)
+{
+ unsigned int size = (unsigned int)strlen(stringToWrite);
+
+ if (1 != fwrite(&size, sizeof(size), 1, pipe->output)) {
+ return false;
+ }
+
+ if (1 != fwrite(stringToWrite, size, 1, pipe->output)) {
+ return false;
+ }
+
+ fflush(pipe->output);
+
+ return true;
+}
+
+void CloseNamedPipe(NamedPipe *pipe)
+{
+ fclose(pipe->input);
+ fclose(pipe->output);
+ delete pipe;
+}
+
+const char *DEFAULT_NAMED_PIPE_NAME = "SNAP";
+
+#endif // _MSC_VER
+
+AsyncFile* AsyncFile::open(const char* filename, bool write)
+{
+ if (!strcmp("-", filename) && write) {
+ return StdoutAsyncFile::open("-", true);
+ }
+#ifdef _MSC_VER
+ return WindowsAsyncFile::open(filename, write);
+#else
+#ifdef __linux__
+ return PosixAsyncFile::open(filename, write);
+#else
+ return OsxAsyncFile::open(filename, write);
+#endif
+#endif
+}
diff --git a/SNAPLib/Compat.h b/SNAPLib/Compat.h
new file mode 100644
index 0000000..97177bb
--- /dev/null
+++ b/SNAPLib/Compat.h
@@ -0,0 +1,516 @@
+/*++
+
+Module Name:
+
+ compat.h
+
+Abstract:
+
+ Functions that provide compatibility between the Windows and Linux versions,
+ and mostly that serve to keep #ifdef's out of the main code in order to
+ improve readibility.
+
+Authors:
+
+ Bill Bolosky, November, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+
+#ifdef _MSC_VER
+#include <Windows.h>
+
+typedef unsigned _int64 _uint64;
+typedef unsigned _int32 _uint32;
+typedef unsigned char _uint8;
+typedef unsigned short _uint16;
+
+// <http://stackoverflow.com/questions/126279/c99-stdint-h-header-and-ms-visual-studio>
+const _uint64 UINT64_MAX = MAXUINT64;
+const _int64 INT64_MAX = MAXINT64;
+const _int64 INT64_MIN = MININT64;
+const _uint32 UINT32_MAX = MAXUINT32;
+const _int32 INT32_MIN = MININT32;
+const _int32 INT32_MAX = MAXINT32;
+const _uint16 UINT16_MAX = MAXUINT16;
+const _int16 INT16_MAX = MAXINT16;
+const _int16 INT16_MIN = MININT16;
+
+static const double LOG10 = log(10.0);
+inline double exp10(double x) { return exp(x * LOG10); }
+
+const void* memmem(const void* data, const size_t dataLength, const void* pattern, const size_t patternLength);
+
+typedef CRITICAL_SECTION UnderlyingExclusiveLock;
+typedef HANDLE SingleWaiterObject; // This is an event in Windows. It's just a synchronization object that you can wait for and set. "Single" means only one thread can wait on it at a time.
+typedef HANDLE EventObject;
+
+#define PATH_SEP '\\'
+#define snprintf _snprintf
+#define mkdir(path, mode) _mkdir(path)
+#define strdup(s) _strdup(s)
+
+// <http://stackoverflow.com/questions/9021502/whats-the-difference-between-strtok-r-and-strtok-s-in-c>
+#define strtok_r strtok_s
+#define strncasecmp _strnicmp
+#define atoll(S) _atoi64(S)
+
+#define bit_rotate_right(value, shift) _rotr(value, shift)
+#define bit_rotate_left(value, shift) _rotl(value, shift)
+#define bit_rotate_right64(value, shift) _rotr64(value, shift)
+#define bit_rotate_left64(value, shift) _rotl64(value, shift)
+
+int getpagesize();
+#else // _MSC_VER
+
+#include <pthread.h>
+// <http://stackoverflow.com/questions/986426/what-do-stdc-limit-macros-and-stdc-constant-macros-mean>
+#define __STDC_LIMIT_MACROS
+#include <stdint.h>
+#include <assert.h>
+#include <float.h>
+
+#ifdef __linux__
+#include <sched.h> // For sched_setaffinity
+#endif
+
+#ifndef __APPLE__
+#include <xmmintrin.h> // This is currently (in Dec 2013) broken on Mac OS X 10.9 (Apple clang-500.2.79)
+#else
+#define _mm_prefetch(...) {}
+#endif
+
+typedef int64_t _int64;
+typedef uint64_t _uint64;
+typedef int32_t _int32;
+typedef uint32_t _uint32;
+typedef uint16_t _uint16;
+typedef int16_t _int16;
+typedef uint8_t BYTE;
+typedef uint8_t _uint8;
+typedef int8_t _int8;
+typedef void *PVOID;
+
+// TODO: check if Linux libs have exp10 function
+#include <math.h>
+static const double LOG10 = log(10.0);
+inline double exp10(double x) { return exp(x * LOG10); }
+
+#define __in /* nothing */
+
+#define PATH_SEP '/'
+
+#ifdef DEBUG
+#define _ASSERT assert
+#ifndef _DEBUG
+#define _DEBUG 1 // Compat with Windows version
+#endif // !_DEBUG
+#else
+#define _ASSERT(x) {}
+#endif
+
+#define __min(x,y) ((x)<(y) ? (x) : (y))
+#define __max(x,y) ((x)>(y) ? (x) : (y))
+#ifdef max
+#undef max
+#endif
+#ifdef min
+#undef min
+#endif
+#define MAX_PATH 4096
+#define __cdecl __attribute__((__cdecl__))
+
+#define _stricmp strcasecmp
+
+inline bool _BitScanForward64(unsigned long *result, _uint64 x) {
+ *result = __builtin_ctzll(x);
+ return x != 0;
+}
+
+// We implement SingleWaiterObject using a mutex because POSIX unnamed semaphores don't work on OS X
+class SingleWaiterObjectImpl;
+
+typedef pthread_mutex_t UnderlyingExclusiveLock;
+typedef SingleWaiterObjectImpl *SingleWaiterObject; // "Single" means only one thread can wait on it at a time.
+
+class EventObjectImpl;
+typedef EventObjectImpl *EventObject;
+
+inline unsigned bit_rotate_right(unsigned value, unsigned shift)
+{
+ if (shift%32 == 0) return value;
+ return value >> (shift%32) | (value << (32 - shift%32));
+}
+
+inline unsigned bit_rotate_left(unsigned value, unsigned shift)
+{
+ if (shift%32 == 0) return value;
+ return value << (shift %32) | (value >> (32 - shift%32));
+}
+
+inline _uint64 bit_rotate_right64(_uint64 value, unsigned shift)
+{
+ if (shift%64 == 0) return value;
+ return value >> (shift%64) | (value << (64 - shift%64));
+}
+
+inline _uint64 bit_rotate_left64(_uint64 value, unsigned shift)
+{
+ if (shift%64 == 0) return value;
+ return value << (shift %64) | (value >> (64 - shift%64));
+}
+
+#endif // _MSC_VER
+
+struct NamedPipe; // It's bi-directional, which in Unix means it's actually two pipes
+
+extern NamedPipe *OpenNamedPipe(const char *pipeName, bool serverSide);
+extern bool ReadFromNamedPipe(NamedPipe *pipe, char *outputBuffer, size_t outputBufferSize);
+extern bool WriteToNamedPipe(NamedPipe *pipe, const char *stringToWrite); // Null-terminated string
+extern void CloseNamedPipe(NamedPipe *pipe);
+
+extern const char *DEFAULT_NAMED_PIPE_NAME;
+
+//
+// Get the time since some predefined time. The predefined time must not change during any particular program run.
+//
+_int64 timeInMillis();
+_int64 timeInNanos();
+
+//#define PROFILE_WAIT
+
+void PrintWaitProfile();
+
+
+//
+// Exclusive locks. These have the obvious semantics: At most one thread can acquire one at any time, the others block
+// until the first one releases it. In the DEBUG build we wrap the lock in a class that ensures that it's initialized before
+// it's used (which we found out the hard way isn't always so obvious).
+//
+extern void AcquireUnderlyingExclusiveLock(UnderlyingExclusiveLock *);
+bool InitializeUnderlyingExclusiveLock(UnderlyingExclusiveLock *lock);
+void ReleaseUnderlyingExclusiveLock(UnderlyingExclusiveLock *lock);
+bool DestroyUnderlyingExclusiveLock(UnderlyingExclusiveLock *lock);
+
+#ifdef _DEBUG
+class ExclusiveLock {
+public:
+ UnderlyingExclusiveLock lock;
+ bool initialized;
+ bool wholeProgramScope;
+
+#ifdef _MSC_VER
+ DWORD holderThreadId;
+#endif // _MSC_VER
+
+
+ ExclusiveLock() : initialized(false), holderThreadId(0), wholeProgramScope(false) {}
+ ~ExclusiveLock() {_ASSERT(!initialized || wholeProgramScope);} // Must DestroyExclusiveLock first
+};
+
+inline void SetExclusiveLockWholeProgramScope(ExclusiveLock *lock)
+{
+ lock->wholeProgramScope = true;
+}
+
+inline void AcquireExclusiveLock(ExclusiveLock *lock)
+{
+ _ASSERT(lock->initialized);
+ AcquireUnderlyingExclusiveLock(&lock->lock);
+#ifdef _MSC_VER
+ // If you see this go off, you're probably trying a recursive lock acquisition (i.e., twice on the same thead),
+ // which is legal in Windows and a deadlock in Linux.
+ _ASSERT(lock->holderThreadId == 0);
+ lock->holderThreadId = GetCurrentThreadId();
+#endif // _MSC_VER
+
+}
+
+inline void AssertExclusiveLockHeld(ExclusiveLock *lock)
+{
+#ifdef _MSC_VER
+ _ASSERT(GetCurrentThreadId() == lock->holderThreadId);
+#endif // _MSC_VER
+
+}
+
+inline bool InitializeExclusiveLock(ExclusiveLock *lock)
+{
+ _ASSERT(!lock->initialized);
+ lock->initialized = true;
+ return InitializeUnderlyingExclusiveLock(&lock->lock);
+}
+
+inline void ReleaseExclusiveLock (ExclusiveLock *lock)
+{
+ _ASSERT(lock->initialized);
+#ifdef _MSC_VER
+ _ASSERT(GetCurrentThreadId() == lock->holderThreadId);
+ lock->holderThreadId = 0;
+#endif // _MSC_VER
+
+ ReleaseUnderlyingExclusiveLock(&lock->lock);
+}
+
+inline void DestroyExclusiveLock(ExclusiveLock *lock)
+{
+#ifdef _MSC_VER
+ _ASSERT(lock->holderThreadId == 0);
+#endif // _MSC_VER
+
+ _ASSERT(!lock->wholeProgramScope);
+ _ASSERT(lock->initialized);
+ lock->initialized = false;
+ DestroyUnderlyingExclusiveLock(&lock->lock);
+}
+#else // _DEBUG
+#define ExclusiveLock UnderlyingExclusiveLock
+#define InitializeExclusiveLock InitializeUnderlyingExclusiveLock
+#define ReleaseExclusiveLock ReleaseUnderlyingExclusiveLock
+#define DestroyExclusiveLock DestroyUnderlyingExclusiveLock
+#define AssertExclusiveLockHeld(l) /* nothing */
+#define SetExclusiveLockWholeProgramScope(l) /*nothing*/
+#endif // _DEBUG
+
+#ifdef PROFILE_WAIT
+#define AcquireExclusiveLock(lock) AcquireExclusiveLockProfile((lock), __FUNCTION__, __LINE__)
+void AcquireExclusiveLockProfile(ExclusiveLock *lock, const char* fn, int line);
+#elif _DEBUG
+// already defined above
+#else // !debug, !profile_wait
+#define AcquireExclusiveLock AcquireUnderlyingExclusiveLock
+#endif
+
+
+//
+// Single waiter objects. The semantics are that a single thread can wait on one of these, and when it's
+// set by any thread, the waiter will proceed. It works regardless of the order of waiting and signalling.
+// Can be reset back to unsignalled state.
+//
+
+
+bool CreateSingleWaiterObject(SingleWaiterObject *newWaiter);
+void DestroySingleWaiterObject(SingleWaiterObject *waiter);
+void SignalSingleWaiterObject(SingleWaiterObject *singleWaiterObject);
+#ifdef PROFILE_WAIT
+#define WaitForSingleWaiterObject(o) WaitForSingleWaiterObjectProfile((o), __FUNCTION__, __LINE__)
+bool WaitForSingleWaiterObjectProfile(SingleWaiterObject *singleWaiterObject, const char* fn, int line);
+#else
+bool WaitForSingleWaiterObject(SingleWaiterObject *singleWaiterObject);
+#endif
+void ResetSingleWaiterObject(SingleWaiterObject *singleWaiterObject);
+
+//
+// An Event is a synchronization object that acts as a gateway: it can either be open
+// or closed. Open events allow all waiters to proceed, while closed ones block all
+// waiters. Events can be opened and closed multiple times, and can have any number of
+// waiters.
+//
+
+void CreateEventObject(EventObject *newEvent);
+void DestroyEventObject(EventObject *eventObject);
+void AllowEventWaitersToProceed(EventObject *eventObject);
+void PreventEventWaitersFromProceeding(EventObject *eventObject);
+#ifdef PROFILE_WAIT
+#define WaitForEvent(o) WaitForEventProfile((o), __FUNCTION__, __LINE__)
+void WaitForEventProfile(EventObject *eventObject, const char* fn, int line);
+#else
+void WaitForEvent(EventObject *eventObject);
+#endif
+bool WaitForEventWithTimeout(EventObject *eventObject, _int64 timeoutInMillis); // Returns true if the event was set, false if the timeout happened
+
+//
+// Thread-safe read-modify-write operations
+//
+int InterlockedIncrementAndReturnNewValue(volatile int *valueToIncrement);
+int InterlockedDecrementAndReturnNewValue(volatile int *valueToDecrement);
+_int64 InterlockedAdd64AndReturnNewValue(volatile _int64 *valueToWhichToAdd, _int64 amountToAdd);
+_uint32 InterlockedCompareExchange32AndReturnOldValue(volatile _uint32 *valueToUpdate, _uint32 replacementValue, _uint32 desiredPreviousValue);
+_uint64 InterlockedCompareExchange64AndReturnOldValue(volatile _uint64 *valueToUpdate, _uint64 replacementValue, _uint64 desiredPreviousValue);
+void* InterlockedCompareExchangePointerAndReturnOldValue(void * volatile *valueToUpdate, void* replacementValue, void* desiredPreviousValue);
+
+//
+// Functions for creating and binding threads.
+//
+typedef void (*ThreadMainFunction) (void *threadMainFunctionParameter);
+bool StartNewThread(ThreadMainFunction threadMainFunction, void *threadMainFunctionParameter);
+void BindThreadToProcessor(unsigned processorNumber); // This hard binds a thread to a processor. You can no-op it at some perf hit.
+#ifdef _MSC_VER
+#define GetThreadId() GetCurrentThreadId()
+#else // _MSC_VER
+#define GetThreadId() pthread_self()
+#endif // _MSC_VER
+
+void SleepForMillis(unsigned millis);
+
+unsigned GetNumberOfProcessors();
+
+_int64 QueryFileSize(const char *fileName);
+
+// returns true on success
+bool DeleteSingleFile(const char* filename); // DeleteFile is a Windows macro...
+
+// returns true on success
+bool MoveSingleFile(const char* oldFileName, const char* newFileName);
+
+class LargeFileHandle;
+
+// open binary file, supports "r" for read, "w" for rewrite/create, "a" for append
+LargeFileHandle* OpenLargeFile(const char* filename, const char* mode);
+
+size_t WriteLargeFile(LargeFileHandle* file, void* buffer, size_t bytes);
+
+size_t ReadLargeFile(LargeFileHandle* file, void* buffer, size_t bytes);
+
+// closes and deallocates
+void CloseLargeFile(LargeFileHandle* file);
+
+// open and close memory mapped files
+// currently just readonly, could add flags for r/w if necessary
+
+class MemoryMappedFile;
+
+MemoryMappedFile* OpenMemoryMappedFile(const char* filename, size_t offset, size_t length, void** o_contents, bool write = false, bool sequential = false);
+
+// closes and deallocates the file structure
+void CloseMemoryMappedFile(MemoryMappedFile* mappedFile);
+
+//
+void AdviseMemoryMappedFilePrefetch(const MemoryMappedFile *mappedFile);
+
+class AsyncFile
+{
+public:
+
+ // open a new file for reading and/or writing
+ static AsyncFile* open(const char* filename, bool write);
+
+ // free resources; must have destroyed all readers & writers first
+ virtual bool close() = 0;
+
+ // abstract class for asynchronous writes
+ class Writer
+ {
+ public:
+ // waits for all writes to complete, frees resources
+ virtual bool close() = 0;
+
+ // begin a write; if there is already a write in progress, might wait for it to complete
+ virtual bool beginWrite(void* buffer, size_t length, size_t offset, size_t *bytesWritten) = 0;
+
+ // wait for all prior beginWrites to complete
+ virtual bool waitForCompletion() = 0;
+ };
+
+ // get a new writer, e.g. for another thread to use
+ virtual Writer* getWriter() = 0;
+
+ // abstract class for asynchronous reads
+ class Reader
+ {
+ public:
+ // waits for alls reads to complete, frees resources
+ virtual bool close() = 0;
+
+ // begin a new read; if there is already a read in progress, might wait for it to complete
+ virtual bool beginRead(void* buffer, size_t length, size_t offset, size_t *bytesRead) = 0;
+
+ // wait for all prior beginReads to complete
+ virtual bool waitForCompletion() = 0;
+ };
+
+ // get a new reader, e.g. for another thread to use
+ virtual Reader* getReader() = 0;
+};
+
+
+//
+// Macro for counting trailing zeros of a 64-bit value
+//
+#ifdef _MSC_VER
+#define CountLeadingZeroes(x, ans) {_BitScanReverse64(&ans, x);}
+#define CountTrailingZeroes(x, ans) {_BitScanForward64(&ans, x);}
+#define ByteSwapUI64(x) (_byteswap_uint64(x))
+#else
+#define CountLeadingZeroes(x, ans) {ans = __builtin_clzll(x);}
+#define CountTrailingZeroes(x, ans) {ans = __builtin_ctzll(x);}
+#define ByteSwapUI64(x) (__builtin_bswap64(x))
+#endif
+
+//
+// 64 bit version of fseek.
+//
+
+int _fseek64bit(FILE *stream, _int64 offset, int origin);
+
+#ifndef _MSC_VER
+
+#define MININT32 ((int32_t) 0x80000000)
+#define MAXINT32 ((int32_t) 0x7fffffff)
+
+#endif
+
+//
+// Class for handling mapped files. It's got the same interface for both platforms, but different implementations.
+//
+class FileMapper {
+public:
+ FileMapper();
+ ~FileMapper();
+
+ // can only be called once - only usable for a single file
+ bool init(const char *fileName);
+
+ const size_t getFileSize() {
+ _ASSERT(initialized);
+ return fileSize;
+ }
+
+ // can get multiple mappings on the same file
+ char *createMapping(size_t offset, size_t amountToMap, void** o_token);
+
+ // MUST call unmap on each token out of createMapping, the destructor WILL NOT cleanup
+ void unmap(void* token);
+
+private:
+ bool initialized;
+ const char* fileName;
+ size_t fileSize;
+ size_t pagesize;
+ int mapCount; // simple count of mappings that have not yet been unmapped
+
+#ifdef _MSC_VER
+ HANDLE hFile;
+ HANDLE hMapping;
+
+ _int64 millisSpentInReadFile;
+ _int64 countOfImmediateCompletions;
+ _int64 countOfDelayedCompletions;
+ _int64 countOfFailures;
+#else // _MSC_VER
+ static const int madviseSize = 4 * 1024 * 1024;
+ typedef std::pair<void*,size_t> UnmapToken;
+
+ int fd;
+ _uint64 lastPosMadvised;
+#endif // _MSC_VER
+};
+
+//
+// Call to keep the OS from putting the machine asleep
+//
+void PreventMachineHibernationWhileThisThreadIsAlive();
+
+//
+// Reduce our scheduling priority to be nicer to other jobs.
+//
+void SetToLowSchedulingPriority();
+
diff --git a/SNAPLib/DataReader.cpp b/SNAPLib/DataReader.cpp
new file mode 100644
index 0000000..be829d1
--- /dev/null
+++ b/SNAPLib/DataReader.cpp
@@ -0,0 +1,2535 @@
+/*++
+
+Module Name:
+
+ DataReader.cpp
+
+Abstract:
+
+ Concrete implementation classes for DataReader and DataSupplier.
+
+ These are completely opaque, and are only exposed through static supplier objects
+ defined in DataReader.h
+
+Environment:
+
+ User mode service.
+
+--*/
+
+#include "stdafx.h"
+#include "BigAlloc.h"
+#include "Compat.h"
+#include "RangeSplitter.h"
+#include "ParallelTask.h"
+#include "DataReader.h"
+#include "Bam.h"
+#include "zlib.h"
+#include "exit.h"
+#include "Error.h"
+
+using std::max;
+using std::min;
+using std::map;
+using std::string;
+
+//
+// Read-Based
+//
+//
+// A data reader that uses a read-type call to get its data (as opposed to memory mapping).
+// This class contains the generic implementation, it must be subclassed to implement
+// startIo() and waitForBuffer(), which do the actual IO.
+//
+class ReadBasedDataReader : public DataReader
+{
+public:
+
+ ReadBasedDataReader(unsigned i_nBuffers, _int64 i_overflowBytes, double extraFactor, size_t bufferSpace = 0);
+
+ virtual ~ReadBasedDataReader();
+
+ virtual bool init(const char* fileName) = 0;
+
+ char* readHeader(_int64* io_headerSize);
+
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess);
+
+ virtual bool getData(char** o_buffer, _int64* o_validBytes, _int64* o_startBytes = NULL);
+
+ virtual void advance(_int64 bytes);
+
+ virtual void nextBatch();
+
+ virtual bool isEOF();
+
+ virtual DataBatch getBatch();
+
+ virtual void holdBatch(DataBatch batch);
+
+ virtual bool releaseBatch(DataBatch batch);
+
+ virtual _int64 getFileOffset();
+
+ virtual void getExtra(char** o_extra, _int64* o_length);
+
+ virtual const char* getFilename() = 0;
+
+protected:
+
+ // must hold the lock to call
+ virtual void startIo() = 0;
+
+ // must hold the lock to call
+ virtual void waitForBuffer(unsigned bufferNumber) = 0;
+
+ // must hold the lock to call
+ virtual void addBuffer();
+
+ static const unsigned BUFFER_SIZE = 4 * 1024 * 1024 - 4096;
+
+ enum BufferState {Empty, Reading, Full, InUse};
+
+ struct BufferInfo
+ {
+ char *buffer;
+ BufferState state;
+ unsigned validBytes;
+ unsigned nBytesThatMayBeginARead;
+ bool isEOF;
+ unsigned offset; // How far has the consumer gotten in current buffer
+ _int64 fileOffset;
+ _uint32 batchID;
+ int holds;
+ char* extra;
+ int next, previous; // index of next/previous in free/ready list, -1 if end
+ bool headerBuffer; // Set if this is a special buffer that holds the rewound header. These get read once and deallocated.
+
+ void operator=(BufferInfo &peer) {
+ buffer = peer.buffer;
+ state = peer.state;
+ validBytes = peer.validBytes;
+ nBytesThatMayBeginARead = peer.nBytesThatMayBeginARead;
+ isEOF = peer.isEOF;
+ offset = peer.offset;
+ fileOffset = peer.fileOffset;
+ batchID = peer.batchID;
+ holds = peer.holds;
+ extra = peer.extra;
+ next = peer.next;
+ previous = peer.previous;
+ headerBuffer = peer.headerBuffer;
+ }
+ };
+
+ unsigned nBuffers;
+ const unsigned maxBuffers;
+ int headerBuffersOutstanding;
+ bool startedReadingHeader;
+ _int64 extraBytes;
+ _int64 overflowBytes;
+ BufferInfo* bufferInfo;
+ _uint32 nextBatchID;
+ int nextBufferForReader; // list head (singly linked), -1 if empty
+ int nextBufferForConsumer; // list head (doubly linked), -1 if empty
+ int lastBufferForConsumer; // list tail, -1 if empty
+
+ EventObject releaseEvent;
+ _int64 releaseWaitInMillis;
+
+ ExclusiveLock lock;
+
+private:
+
+ virtual bool getDataInternal(char** o_buffer, _int64* o_validBytes, _int64* o_startBytes = NULL);
+
+ //
+ // Stuff for handling the header read. We allow arbitrarily large header reads, and service them by copying data from the underlying
+ // data reader into a local buffer. We might wind up reading more than the actual header, so we serve reads out of the header buffer
+ // until it's used up.
+ //
+ char *headerBuffer;
+ _int64 headerBufferSize;
+ char *headerExtra; // Allocated in one go with the headerBuffer
+ _int64 headerExtraSize;
+ _int64 amountAdvancedThroughUnderlyingStoreByUs;
+ unsigned nHeaderBuffersAllocated;
+ bool hitEOFReadingHeader;
+protected:
+ const size_t bufferSize;
+};
+
+ReadBasedDataReader::ReadBasedDataReader(
+ unsigned i_nBuffers,
+ _int64 i_overflowBytes,
+ double extraFactor,
+ size_t i_bufferSpace)
+ : DataReader(), nBuffers(i_nBuffers), overflowBytes(i_overflowBytes),
+ maxBuffers(i_nBuffers * (i_nBuffers == 1 ? 2 : 4)),
+ bufferSize(i_bufferSpace > 0 ? i_bufferSpace / (i_nBuffers * 2) : BUFFER_SIZE),
+ headerBuffer(NULL), headerBufferSize(0), amountAdvancedThroughUnderlyingStoreByUs(0),
+ headerExtra(NULL), headerExtraSize(0), startedReadingHeader(false), headerBuffersOutstanding(0), nHeaderBuffersAllocated(0),
+ hitEOFReadingHeader(false)
+{
+ //
+ // Initialize the buffer info struct.
+ //
+
+ // allocate all the data in one big block
+ // NOTE: buffers are not null-terminated (since memmap version can't do it)
+ _ASSERT(extraFactor >= 0 && i_nBuffers > 0);
+ bufferInfo = new BufferInfo[maxBuffers];
+ extraBytes = max((_int64) 0, (_int64) ((bufferSize + overflowBytes) * extraFactor));
+ char* allocated = (char*) BigReserve(maxBuffers * (bufferSize + extraBytes + overflowBytes));
+ BigCommit(allocated, nBuffers * (bufferSize + extraBytes + overflowBytes));
+ if (NULL == allocated) {
+ WriteErrorMessage("ReadBasedDataReader: unable to allocate IO buffer\n");
+ soft_exit(1);
+ }
+ for (unsigned i = 0 ; i < nBuffers; i++) {
+ bufferInfo[i].buffer = allocated;
+ allocated += bufferSize + overflowBytes;
+ bufferInfo[i].extra = extraBytes > 0 ? allocated : NULL;
+ allocated += extraBytes;
+
+ bufferInfo[i].state = Empty;
+ bufferInfo[i].isEOF = false;
+ bufferInfo[i].offset = 0;
+ bufferInfo[i].next = i < nBuffers - 1 ? i + 1 : -1;
+ bufferInfo[i].previous = i > 0 ? i - 1 : -1;
+ bufferInfo[i].holds = 0;
+ bufferInfo[i].headerBuffer = false;
+ }
+ nextBatchID = 1;
+
+ nextBufferForConsumer = -1;
+ lastBufferForConsumer = -1;
+ nextBufferForReader = 0;
+ CreateEventObject(&releaseEvent);
+ releaseWaitInMillis = 5; // wait up to 5 ms before allocating a new buffer
+
+ InitializeExclusiveLock(&lock);
+}
+
+ReadBasedDataReader::~ReadBasedDataReader()
+{
+ BigDealloc(bufferInfo[0].buffer);
+ for (unsigned i = 0; i < nBuffers; i++) {
+ bufferInfo[i].buffer = bufferInfo[i].extra = NULL;
+ }
+
+ if (NULL != headerBuffer) {
+ delete[] headerBuffer;
+ headerBuffer = NULL;
+ }
+
+ if (NULL != headerExtra) {
+ delete[] headerExtra;
+ headerExtra = NULL;
+ }
+
+ DestroyExclusiveLock(&lock);
+ DestroyEventObject(&releaseEvent);
+}
+
+ char *
+ReadBasedDataReader::readHeader(_int64* io_headerSize)
+{
+ _ASSERT(!startedReadingHeader);
+
+ _int64 validBytesInHeader;
+ if (NULL != headerBuffer) {
+ if (*io_headerSize <= headerBufferSize) {
+ return headerBuffer;
+ }
+
+ //
+ // We need more data for the header. Reallocate the buffer, copy the data from the old buffer into the new, and then get more
+ // data from the underlying reader.
+ //
+ char *newHeaderBuffer = new char[*io_headerSize];
+ memcpy(newHeaderBuffer, headerBuffer, headerBufferSize);
+
+ delete[] headerBuffer;
+
+ headerBuffer = newHeaderBuffer;
+
+ validBytesInHeader = headerBufferSize;
+ headerBufferSize = *io_headerSize;
+ } else {
+ reinit(0, 0);
+ headerBufferSize = *io_headerSize;
+ headerBuffer = new char[headerBufferSize];
+ validBytesInHeader = 0;
+ }
+
+ //
+ // Run through the underlying data provider getting data until we've filled the header buffer or hit EOF.
+ //
+ _int64 bytesLeftToGet = headerBufferSize - validBytesInHeader;
+ _ASSERT(bytesLeftToGet);
+ while (bytesLeftToGet != 0) {
+ if (amountAdvancedThroughUnderlyingStoreByUs < validBytesInHeader) {
+ _int64 amountToAdvance = validBytesInHeader - amountAdvancedThroughUnderlyingStoreByUs - overflowBytes; // Leave overflowBytes left over, since we
+ if (amountToAdvance <= 0) {
+ //
+ // We're probably almost at EOF. Consume the overflow bytes, too.
+ //
+ amountToAdvance = validBytesInHeader - amountAdvancedThroughUnderlyingStoreByUs;
+ }
+ advance(amountToAdvance);
+ amountAdvancedThroughUnderlyingStoreByUs += amountToAdvance;
+ }
+
+ char *dataFromUnderlyingStore;
+ _int64 dataSizeFromUnderlyingStore;
+
+ if (!getDataInternal(&dataFromUnderlyingStore, &dataSizeFromUnderlyingStore)) {
+ nextBatch();
+ if (!getDataInternal(&dataFromUnderlyingStore, &dataSizeFromUnderlyingStore)) {
+ //
+ // Hit EOF while reading header.
+ //
+ hitEOFReadingHeader = true;
+ headerBufferSize = *io_headerSize = validBytesInHeader;
+ return headerBuffer;
+ }
+ }
+
+ //
+ // Adjust for the fact that we don't advance as far as we've read, so that we leave some overlap for
+ // subsequent readers who want the data, not the header.
+ //
+ _ASSERT(amountAdvancedThroughUnderlyingStoreByUs <= validBytesInHeader); // We haven't advanced over something we need.
+ _int64 offsetIntoBuffer = validBytesInHeader - amountAdvancedThroughUnderlyingStoreByUs;
+ _ASSERT(dataSizeFromUnderlyingStore >= offsetIntoBuffer);
+ dataSizeFromUnderlyingStore -= offsetIntoBuffer;
+
+ _int64 bytesToCopy = __min(dataSizeFromUnderlyingStore, bytesLeftToGet);
+
+ memcpy(headerBuffer + validBytesInHeader, dataFromUnderlyingStore + offsetIntoBuffer, bytesToCopy);
+ bytesLeftToGet -= bytesToCopy;
+ validBytesInHeader += bytesToCopy;
+ }
+
+ return headerBuffer; // No need to reset *io_headerSize, we read as much as was requested
+}
+
+
+//
+// This gets called only for subclasses that can't implement their own. It's able to put the header reads
+// back on the queue, but can't seek anywhere else.
+//
+ void
+ReadBasedDataReader::reinit(
+ _int64 startingOffset,
+ _int64 amountOfFileToProcess)
+{
+ AcquireExclusiveLock(&lock);
+
+ if (0 != amountOfFileToProcess) {
+ WriteErrorMessage("ReadBasedDataReader:reinit called with non-zero amountOfFileToProcess (%lld, %lld)\n", startingOffset, amountOfFileToProcess);
+ soft_exit(1);
+ }
+
+ if (startedReadingHeader || 0 != headerBuffersOutstanding) {
+ WriteErrorMessage("ReadBasedDataReader:reinit called after reading some data (%lld, %lld)\n", startingOffset, amountOfFileToProcess);
+ soft_exit(1);
+ }
+
+ //
+ // We've already read a bunch of data from the underlying reader during header read. Create some new virtual buffers that point into the
+ // header buffer, and stick them at the head of the "already read" list.
+ //
+ _ASSERT(!startedReadingHeader && 0 == headerBuffersOutstanding);
+ if (0 != headerBufferSize) {
+ startedReadingHeader = true;
+ }
+
+ //
+ // First let any pending IO complete.
+ //
+ for (unsigned i = 0; i < nBuffers; i++) {
+ if (bufferInfo[i].state == Reading) {
+ waitForBuffer(i);
+ }
+ }
+
+ _ASSERT(amountAdvancedThroughUnderlyingStoreByUs <= headerBufferSize);
+ if (amountAdvancedThroughUnderlyingStoreByUs == 0) {
+ nHeaderBuffersAllocated = 0;
+ } else {
+ nHeaderBuffersAllocated = (int)((amountAdvancedThroughUnderlyingStoreByUs + bufferSize - 1) / (bufferSize - overflowBytes)); // Round up, in case we read the last buffer.
+ }
+ int totalBuffersNeeded = (int)(maxBuffers + nHeaderBuffersAllocated);
+
+ //
+ // Reallocate the buffers array.
+ //
+ BufferInfo *newBuffers = new BufferInfo[totalBuffersNeeded];
+ for (unsigned i = 0; i < maxBuffers; i++) {
+ newBuffers[i] = bufferInfo[i];
+ }
+
+ delete[] bufferInfo;
+ bufferInfo = newBuffers;
+ //
+ // Don't increase maxBuffers, so the buffer adder won't use the headerBuffers for anything.
+ //
+
+ //
+ // Now construct the header buffers.
+ //
+ headerExtraSize = extraBytes * nHeaderBuffersAllocated;
+ headerExtra = new char[headerExtraSize];
+
+ char *headerPointer = headerBuffer;
+ char *headerExtraPointer = headerExtra;
+ _int64 fileOffset = 0;
+ _int64 bytesRemaining = amountAdvancedThroughUnderlyingStoreByUs;
+
+ for (int i = maxBuffers; i < totalBuffersNeeded; i++) {
+
+
+ bufferInfo[i].state = Full;
+ bufferInfo[i].isEOF = false;
+ bufferInfo[i].offset = 0;
+ bufferInfo[i].next = (i == totalBuffersNeeded - 1) ? nextBufferForConsumer : i + 1;
+ bufferInfo[i].previous = (i == maxBuffers) ? -1 : i - 1;
+ bufferInfo[i].holds = 0;
+ bufferInfo[i].headerBuffer = true;
+ bufferInfo[i].validBytes = (int)__min(bytesRemaining, (_int64) bufferSize);
+ bufferInfo[i].nBytesThatMayBeginARead = (int)((bytesRemaining <= (_int64) bufferSize) ? bytesRemaining : __max(bufferInfo[i].validBytes - overflowBytes, 0));
+ bufferInfo[i].offset = 0;
+ bufferInfo[i].fileOffset = fileOffset;
+ bufferInfo[i].batchID = nextBatchID++;
+
+ bufferInfo[i].buffer = headerPointer;
+ headerPointer += bufferInfo[i].nBytesThatMayBeginARead; // NB: don't add overflowBytes; these buffers overlap
+ fileOffset += bufferInfo[i].nBytesThatMayBeginARead;
+ bufferInfo[i].extra = headerExtraPointer;
+ headerExtraPointer += extraBytes;
+
+ headerBuffersOutstanding++;
+ bytesRemaining -= bufferInfo[i].nBytesThatMayBeginARead;
+ }
+
+ if (nHeaderBuffersAllocated > 0) {
+ _ASSERT(bufferInfo[nextBufferForConsumer].previous == -1);
+ bufferInfo[nextBufferForConsumer].previous = totalBuffersNeeded - 1;
+ nextBufferForConsumer = maxBuffers;
+ if (hitEOFReadingHeader) {
+ bufferInfo[totalBuffersNeeded - 1].isEOF = true;
+ }
+ }
+
+ //
+ // Kick off IO, wait for the first buffer to be read
+ //
+ startIo();
+ waitForBuffer(nextBufferForConsumer);
+
+ ReleaseExclusiveLock(&lock);
+
+ //
+ // Now, consume data until we've gotten to startingOffset.
+ //
+ _int64 bytesToSkip = startingOffset;
+
+ while (bytesToSkip > 0) {
+ char *p;
+ _int64 valid, start;
+ bool ok = getData(&p, &valid, &start);
+ if (!ok) {
+ WriteErrorMessage("ReadBasedDataReader::init() failure getting data\n");
+ soft_exit(1);
+ }
+
+ _int64 bytesToSkipThisTime = __min(valid, bytesToSkip);
+ advance(bytesToSkipThisTime);
+ if (bytesToSkipThisTime > start) {
+ nextBatch();
+ }
+ getData(&p, &valid, &start);
+
+ bytesToSkip -= bytesToSkipThisTime;
+ }
+}
+
+ bool
+ReadBasedDataReader::getData(
+ char** o_buffer,
+ _int64* o_validBytes,
+ _int64* o_startBytes)
+{
+ if (NULL != headerBuffer && !startedReadingHeader) {
+ delete[] headerBuffer;
+ headerBuffer = NULL;
+ _ASSERT(NULL == headerExtra);
+ }
+ return getDataInternal(o_buffer, o_validBytes, o_startBytes);
+}
+
+
+ bool
+ReadBasedDataReader::getDataInternal(
+ char** o_buffer,
+ _int64* o_validBytes,
+ _int64* o_startBytes)
+{
+ _ASSERT(nextBufferForConsumer >= 0);
+ BufferInfo *info = &bufferInfo[nextBufferForConsumer];
+ if (info->isEOF && info->offset >= info->validBytes) {
+ //
+ // EOF.
+ //
+ return false;
+ }
+
+ if (info->offset >= info->nBytesThatMayBeginARead) {
+ //
+ // Past the end of our section.
+ //
+ return false;
+ }
+
+ if (info->state != Full) {
+ _ASSERT(info->state != InUse);
+ AcquireExclusiveLock(&lock);
+ waitForBuffer(nextBufferForConsumer);
+ ReleaseExclusiveLock(&lock);
+ }
+
+ *o_buffer = info->buffer + info->offset;
+ *o_validBytes = info->validBytes - info->offset;
+ if (o_startBytes != NULL) {
+ *o_startBytes = info->nBytesThatMayBeginARead - info->offset;
+ }
+
+ return true;
+}
+
+ void
+ReadBasedDataReader::advance(
+ _int64 bytes)
+{
+ BufferInfo* info = &bufferInfo[nextBufferForConsumer];
+ _ASSERT(info->validBytes >= info->offset && bytes >= 0 && bytes <= info->validBytes - info->offset);
+ info->offset += min(info->validBytes - info->offset, (unsigned)max((_int64)0, bytes));
+}
+
+ void
+ReadBasedDataReader::nextBatch()
+{
+ AcquireExclusiveLock(&lock);
+ _ASSERT(nextBufferForConsumer >= 0);
+ BufferInfo* info = &bufferInfo[nextBufferForConsumer];
+ if (info->isEOF) {
+ ReleaseExclusiveLock(&lock);
+ if (info->holds == 0) {
+ releaseBatch(DataBatch(info->batchID));
+ }
+ return;
+ }
+ DataBatch priorBatch = DataBatch(info->batchID);
+
+ info->state = InUse;
+ _uint32 overflow = max((unsigned) info->offset, info->nBytesThatMayBeginARead) - info->nBytesThatMayBeginARead;
+ _int64 nextStart = info->fileOffset + info->nBytesThatMayBeginARead; // for validation
+ //fprintf(stderr, "ReadBasedDataReader:nextBatch() finished buffer %d, starting buffer %d\n", nextBufferForConsumer, info->next);
+ //fprintf(stderr, "ReadBasedDataReader:nextBatch() skipping %u overflow bytes used in previous batch\n", overflow);
+ nextBufferForConsumer = info->next;
+
+ bool first = true;
+ while (nextBufferForConsumer == -1) {
+ nextStart = 0; // can no longer count on getting sequential buffers from file
+ ReleaseExclusiveLock(&lock);
+ if (! first) {
+ //fprintf(stderr, "ReadBasedDataReader::nextBatch thread %d wait for release\n", GetCurrentThreadId());
+ _int64 start = timeInNanos();
+ bool waitSucceeded = WaitForEventWithTimeout(&releaseEvent, releaseWaitInMillis);
+ InterlockedAdd64AndReturnNewValue(&ReleaseWaitTime, timeInNanos() - start);
+ //fprintf(stderr, "ReadBasedDataReader::nextBatch thread %d released\n", GetCurrentThreadId());
+ if (!waitSucceeded) {
+ AcquireExclusiveLock(&lock);
+ addBuffer();
+ ReleaseExclusiveLock(&lock);
+ }
+ }
+ first = false;
+ AcquireExclusiveLock(&lock);
+ startIo();
+ }
+
+ if (bufferInfo[nextBufferForConsumer].state != Full) {
+ waitForBuffer(nextBufferForConsumer);
+ }
+
+ bufferInfo[nextBufferForConsumer].offset = overflow;
+ bufferInfo[nextBufferForConsumer].holds = 0;
+ //fprintf(stderr,"emitting buffer starting at 0x%llx\n", info->fileOffset);
+ //if (nextStart != 0) fprintf(stderr, "checking NextStart 0x%llx\n", nextStart);
+ _ASSERT(nextStart == 0 || nextStart == bufferInfo[nextBufferForConsumer].fileOffset || bufferInfo[nextBufferForConsumer].isEOF);
+
+ ReleaseExclusiveLock(&lock);
+
+ if (info->holds == 0) {
+ releaseBatch(priorBatch);
+ }
+}
+
+ bool
+ReadBasedDataReader::isEOF()
+{
+ return bufferInfo[nextBufferForConsumer].isEOF;
+}
+
+ DataBatch
+ReadBasedDataReader::getBatch()
+{
+ return DataBatch(bufferInfo[nextBufferForConsumer].batchID);
+}
+
+ void
+ReadBasedDataReader::holdBatch(
+ DataBatch batch)
+{
+ AcquireExclusiveLock(&lock);
+ for (unsigned i = 0; i < maxBuffers + nHeaderBuffersAllocated; i = (i == nBuffers - 1) ? maxBuffers : i+1) { // Goofy loop is because headerBuffers get tacked on beyond maxBuffers
+ BufferInfo *info = &bufferInfo[i];
+ if (info->batchID == batch.batchID) {
+ //fprintf(stderr, "%x holdBatch batch 0x%x, holds on buffer %d now %d\n", (unsigned) this, batch.batchID, i, info->holds);
+ info->holds++;
+ }
+ }
+ ReleaseExclusiveLock(&lock);
+}
+
+
+ bool
+ReadBasedDataReader::releaseBatch(
+ DataBatch batch)
+{
+ AcquireExclusiveLock(&lock);
+
+ bool released = false;
+ bool result = true;
+ for (unsigned i = 0; i < maxBuffers + nHeaderBuffersAllocated; i = (i == nBuffers - 1) ? maxBuffers : i + 1) { // Goofy loop is because headerBuffers get tacked on beyond maxBuffers
+ BufferInfo* info = &bufferInfo[i];
+ if (info->batchID == batch.batchID) {
+ switch (info->state) {
+ case Empty:
+ // should never happen
+ break;
+
+ case Reading:
+ // should never happen
+ _ASSERT(false);
+ break;
+
+ case InUse:
+ released = info->holds <= 1;
+ // fall through
+
+ case Full:
+ if (info->holds > 0) {
+ info->holds--;
+ }
+ if (info->holds == 0) {
+ //fprintf(stderr,"%x releaseBatch batch %d, releasing %s buffer %d\n", (unsigned) this, batch.batchID, info->state == InUse ? "InUse" : "Full", i);
+ info->state = Empty;
+ // remove from ready list
+ if (i == nextBufferForConsumer) {
+ //fprintf(stderr, "ReadBasedDataReader::releaseBatch change nextBufferForConsumer %d->%d\n", nextBufferForConsumer, info->next);
+ nextBufferForConsumer = info->next;
+ }
+ if (i == lastBufferForConsumer) {
+ lastBufferForConsumer = info->previous;
+ }
+ if (info->next != -1) {
+ bufferInfo[info->next].previous = info->previous;
+ }
+ if (info->previous != -1) {
+ bufferInfo[info->previous].next = info->next;
+ }
+
+ if (info->headerBuffer) {
+ // Header buffers never get reused. Just get rid of it.
+ info->buffer = NULL;
+ info->extra = NULL;
+ _ASSERT(headerBuffersOutstanding > 0);
+ if (headerBuffersOutstanding > 0) {
+ headerBuffersOutstanding--;
+ if (0 == headerBuffersOutstanding) {
+ delete[] headerBuffer;
+ delete[] headerExtra;
+ headerBuffer = headerExtra = NULL;
+ nHeaderBuffersAllocated = 0;
+ }
+ }
+ } else {
+ // add to head of free list
+ info->next = nextBufferForReader;
+ info->batchID = 0;
+#ifdef _DEBUG
+ memset(info->buffer, 0xde, bufferSize + extraBytes);
+#endif
+ nextBufferForReader = i;
+ }
+ result = true;
+ } else {
+ //fprintf(stderr,"%x releaseBatch batch %d, holds on buffer %d now %d\n", (unsigned) this, batch.batchID, i, info->holds);
+ result = false;
+ }
+ break;
+
+ default:
+ WriteErrorMessage("ReadBasedDataReader::releaseBatch():invalid enum\n");
+ soft_exit(1);
+ }
+ }
+ }
+
+ startIo();
+
+ if (released) {
+ //fprintf(stderr, "releaseBatch set releaseEvent\n");
+ AllowEventWaitersToProceed(&releaseEvent);
+ }
+
+ ReleaseExclusiveLock(&lock);
+
+ return result;
+}
+
+ _int64
+ReadBasedDataReader::getFileOffset()
+{
+ return bufferInfo[nextBufferForConsumer].fileOffset + bufferInfo[nextBufferForConsumer].offset;
+}
+
+ void
+ReadBasedDataReader::getExtra(
+ char** o_extra,
+ _int64* o_length)
+{
+ // hack: return valid buffer even when no consumer buffers - this may happen when reading header
+ *o_extra = bufferInfo[max(0, nextBufferForConsumer)].extra;
+ *o_length = extraBytes;
+}
+
+
+ void
+ReadBasedDataReader::addBuffer()
+{
+ if (nBuffers == maxBuffers) {
+ //fprintf(stderr, "ReadBasedDataReader: addBuffer at limit\n");
+ return;
+ }
+ _ASSERT(nBuffers < maxBuffers);
+ //fprintf(stderr, "ReadBasedDataReader: addBuffer %d of %d\n", nBuffers, maxBuffers);
+ size_t bytes = bufferSize + extraBytes + overflowBytes;
+ bufferInfo[nBuffers].buffer = bufferInfo[nBuffers-1].buffer + bytes;
+ if (! BigCommit(bufferInfo[nBuffers].buffer, bytes)) {
+ WriteErrorMessage("ReadBasedDataReader: unable to commit IO buffer\n");
+ soft_exit(1);
+ }
+ bufferInfo[nBuffers].extra = extraBytes > 0 ? bufferInfo[nBuffers].buffer + bytes - extraBytes : NULL;
+
+
+ bufferInfo[nBuffers].state = Empty;
+ bufferInfo[nBuffers].isEOF= false;
+ bufferInfo[nBuffers].offset = 0;
+ bufferInfo[nBuffers].next = nextBufferForReader;
+ bufferInfo[nBuffers].previous = -1;
+ bufferInfo[nBuffers].headerBuffer = false;
+ nextBufferForReader = nBuffers;
+ nBuffers++;
+ _ASSERT(nBuffers <= maxBuffers);
+ if (nBuffers == maxBuffers) {
+ releaseWaitInMillis = 1000 * 3600 * 24 * 7; // A week
+ }
+}
+
+class StdioDataReader : public ReadBasedDataReader
+{
+public:
+ StdioDataReader(unsigned i_nBuffers, _int64 i_overflowBytes, double extraFactor);
+ ~StdioDataReader();
+
+ virtual bool init(const char* i_fileName);
+
+ virtual const char* getFilename()
+ { return "-"; }
+
+ protected:
+
+ // must hold the lock to call
+ virtual void startIo();
+
+ // must hold the lock to call
+ virtual void waitForBuffer(unsigned bufferNumber);
+
+private:
+ //
+ // Because reads don't necessarily divide evenly into buffers, we have to assure that
+ // the buffers that we read can overlap. In file-IO based readers, we do this by reading
+ // a buffer's worth of data each time, but advancing the file pointer only by
+ // bufferSize - overflowBytes, so each buffer ovelaps with its predecessor by a little.
+ // That doesn't work for stdio, since it can't rewind. So, instead, we allocate
+ // storage on the side to hold a copy of the last overflowBytes
+ // and then just copy those bytes into the beginning of the next buffer to read.
+ // We also use this buffer to hold the header (the first read), and to allow
+ // reading the header plus some extra data, parsing the header, and then seeking
+ // backward to the actual end of the header.
+ //
+
+ char *overflowBuffer;
+ bool overflowBufferFilled; // For the very first read, there may be no overlap buffer data.
+
+ bool started;
+ bool hitEOF;
+
+ _int64 readOffset;
+};
+
+StdioDataReader::StdioDataReader(unsigned i_nBuffers, _int64 i_overflowBytes, double extraFactor) :
+ ReadBasedDataReader(i_nBuffers, i_overflowBytes, extraFactor), started(false), hitEOF(false), overflowBufferFilled(false),
+ readOffset(0), overflowBuffer(NULL)
+{
+}
+
+StdioDataReader::~StdioDataReader()
+{
+ BigDealloc(overflowBuffer);
+ overflowBuffer = NULL;
+}
+
+bool
+StdioDataReader::init(const char * i_fileName)
+{
+ if (strcmp(i_fileName, "-")) {
+ WriteErrorMessage("StdioDataReader: must have filename of '-', got '%s'\n", i_fileName);
+ soft_exit(1);
+ }
+
+#ifdef _MSC_VER
+ int result = _setmode( _fileno( stdin ), _O_BINARY ); // puts stdin in to non-translated mode, so if we're reading compressed data windows' CRLF processing doesn't destroy it.
+ if (-1 == result) {
+ WriteErrorMessage("StdioDataReader::freopen to change to untranslated mode failed\n");
+ soft_exit(1);
+ }
+#endif // _MSC_VER
+
+ return true;
+}
+
+void
+StdioDataReader::startIo()
+{
+ AssertExclusiveLockHeld(&lock);
+
+ started = true;
+
+ //
+ // Synchronously read data into whatever buffers are ready.
+ //
+ while (nextBufferForReader != -1) {
+ // remove from free list
+ BufferInfo* info = &bufferInfo[nextBufferForReader];
+ _ASSERT(info->state == Empty);
+ int index = nextBufferForReader;
+ nextBufferForReader = info->next;
+ info->batchID = nextBatchID++;
+ // add to end of consumer list
+ if (lastBufferForConsumer != -1) {
+ _ASSERT(bufferInfo[lastBufferForConsumer].next == -1);
+ bufferInfo[lastBufferForConsumer].next = index;
+ }
+ info->next = -1;
+ info->previous = lastBufferForConsumer;
+ lastBufferForConsumer = index;
+ if (nextBufferForConsumer == -1) {
+ //fprintf(stderr, "StdioDataReader::startIo set nextBufferForConsumder -1 -> %d\n", index);
+ nextBufferForConsumer = index;
+ }
+
+ if (hitEOF) {
+ info->validBytes = 0;
+ info->buffer[0] = '\0';
+ info->nBytesThatMayBeginARead = 0;
+ info->isEOF = true;
+ info->state = Full;
+ return;
+ }
+
+ size_t amountToRead;
+ size_t bufferOffset;
+ if (overflowBufferFilled) {
+ //
+ // Copy the bytes from the overflow buffer into our buffer.
+ //
+ memcpy(info->buffer, overflowBuffer, overflowBytes);
+ bufferOffset = overflowBytes;
+ amountToRead = bufferSize - overflowBytes;
+ info->fileOffset = readOffset - overflowBytes;
+ } else {
+ amountToRead = bufferSize;
+ bufferOffset = 0;
+ info->fileOffset = readOffset;
+ }
+
+ //
+ // We have to run this holding the lock, because otherwise there's no way to make the overflow buffer work properly.
+ //
+ size_t bytesRead = fread(info->buffer + bufferOffset, 1, amountToRead, stdin);
+ //fprintf(stderr,"StdioDataReader:startIO(): Read offset 0x%llx into buffer at 0x%llx, size %d, copied 0x%x overflow bytes, start at 0x%llx, tid %d\n", readOffset, info->buffer, bytesRead, bufferOffset, readOffset - bufferOffset, GetCurrentThreadId());
+
+ readOffset += bytesRead;
+
+ if (bytesRead != amountToRead) {
+ if (feof(stdin)) {
+ info->isEOF = true;
+ hitEOF = true;
+ } else {
+ WriteErrorMessage("StdinDataReader: Error reading stdin (but not EOF).\n");
+ soft_exit(1);
+ }
+ } else {
+ info->isEOF = false;
+ }
+
+ info->validBytes = (unsigned)(bytesRead + bufferOffset);
+
+ if (hitEOF) {
+ info->nBytesThatMayBeginARead = (unsigned)(bytesRead + bufferOffset);
+ overflowBufferFilled = false;
+ } else {
+ info->nBytesThatMayBeginARead = (unsigned)(bytesRead + bufferOffset - overflowBytes);
+ //
+ // Fill the overflow buffer with the last bytes from this buffer.
+ //
+ if (NULL == overflowBuffer) {
+ //
+ // We can get here if we never called readHeader(). If so, we know we never will and so
+ // we can just allocate the overflow buffer to be the size of the header.
+ //
+ overflowBuffer = (char *)BigAlloc(overflowBytes);
+ }
+ memcpy(overflowBuffer, info->buffer + bufferOffset + bytesRead - overflowBytes, overflowBytes);
+ overflowBufferFilled = true;
+ }
+ info->state = Full;
+ }
+
+ if (nextBufferForConsumer == -1) {
+ //fprintf(stderr, "startIo thread %x reset releaseEvent\n", GetCurrentThreadId());
+ PreventEventWaitersFromProceeding(&releaseEvent);
+ }
+}
+
+ void
+StdioDataReader::waitForBuffer(
+ unsigned bufferNumber)
+{
+ _ASSERT(bufferNumber >= 0 && (bufferNumber < nBuffers || bufferNumber >= maxBuffers && 0 != headerBuffersOutstanding));
+ BufferInfo *info = &bufferInfo[bufferNumber];
+
+ while (info->state == InUse) {
+ //fprintf(stderr, "StdioDataReader::waitForBuffer %d InUse...\n", bufferNumber);
+ // must already have lock to call, release & wait & reacquire
+ ReleaseExclusiveLock(&lock);
+ // TODO: implement timed wait on Linux
+#ifdef _MSC_VER
+ _int64 start = timeInNanos();
+ _uint32 waitTime;
+ if (releaseWaitInMillis > 0xffffffff) {
+ waitTime = INFINITE;
+ } else {
+ waitTime = (_uint32)releaseWaitInMillis;
+ }
+ _uint32 result = WaitForSingleObject(releaseEvent, waitTime);
+ InterlockedAdd64AndReturnNewValue(&ReleaseWaitTime, timeInNanos() - start);
+#else
+ WaitForEvent(&releaseEvent);
+#endif
+ AcquireExclusiveLock(&lock);
+#ifdef _MSC_VER
+ if (result == WAIT_TIMEOUT) {
+ // this isn't going to directly make this buffer available, but will reduce pressure
+ addBuffer();
+ }
+#endif
+ }
+
+ if (info->state == Full) {
+ return;
+ }
+
+ _ASSERT(info->state != Reading); // We're synchronous, we don't use Reading
+ startIo();
+
+ info->state = Full;
+ info->buffer[info->validBytes] = 0;
+}
+
+class StdioDataSupplier : public DataSupplier
+{
+public:
+ StdioDataSupplier() : DataSupplier() {}
+ virtual DataReader* getDataReader(int bufferCount, _int64 overflowBytes, double extraFactor = 0.0, size_t bufferSpace = 0)
+ {
+ if (supplied) {
+ WriteErrorMessage("You can only use stdin input for one run per execution of SNAP (i.e., if you use ',' to run SNAP more than once without reloading the index, you can only use stdin once)\n");
+ soft_exit_no_print(1);
+ }
+
+ supplied = true;
+
+ return new StdioDataReader(bufferCount, overflowBytes, extraFactor);
+ }
+private:
+
+ static bool supplied;
+};
+
+bool StdioDataSupplier::supplied = false;
+
+
+#ifdef _MSC_VER
+class WindowsOverlappedDataReader : public ReadBasedDataReader
+{
+public:
+
+ WindowsOverlappedDataReader(unsigned i_nBuffers, _int64 i_overflowBytes, double extraFactor, size_t bufferSpace);
+
+ virtual ~WindowsOverlappedDataReader();
+
+ virtual bool init(const char* i_fileName);
+
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess);
+
+// virtual char* readHeader(_int64* io_headerSize);
+
+ virtual const char* getFilename()
+ { return fileName; }
+
+ protected:
+
+ // must hold the lock to call
+ virtual void startIo();
+
+ // must hold the lock to call
+ virtual void waitForBuffer(unsigned bufferNumber);
+
+ // must hold the lock to call
+ virtual void addBuffer();
+
+ OVERLAPPED *bufferLaps;
+
+ const char* fileName;
+ LARGE_INTEGER fileSize;
+ HANDLE hFile;
+
+ LARGE_INTEGER readOffset;
+ _int64 endingOffset;
+
+};
+
+WindowsOverlappedDataReader::WindowsOverlappedDataReader(unsigned i_nBuffers, _int64 i_overflowBytes, double extraFactor, size_t bufferSpace) :
+ ReadBasedDataReader(i_nBuffers, i_overflowBytes, extraFactor, bufferSpace), fileName(NULL), hFile(INVALID_HANDLE_VALUE), endingOffset(0)
+{
+ readOffset.QuadPart = 0;
+ bufferLaps = (OVERLAPPED *)malloc(sizeof(OVERLAPPED) * maxBuffers);
+ for (unsigned i = 0; i < i_nBuffers; i++) {
+ bufferLaps[i].hEvent = CreateEvent(NULL,TRUE,FALSE,NULL);
+ if (NULL == bufferLaps[i].hEvent) {
+ WriteErrorMessage("WindowsOverlappedDataReader: Unable to create event\n");
+ soft_exit(1);
+ }
+ }
+}
+
+WindowsOverlappedDataReader::~WindowsOverlappedDataReader()
+{
+ for (unsigned i = 0; i < nBuffers; i++) {
+ CloseHandle(bufferLaps[i].hEvent);
+ }
+ free(bufferLaps);
+ bufferLaps = NULL;
+ CloseHandle(hFile);
+}
+
+bool
+WindowsOverlappedDataReader::init(const char* i_fileName)
+{
+ fileName = i_fileName;
+ hFile = CreateFile(fileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);
+ if (INVALID_HANDLE_VALUE == hFile) {
+ return false;
+ }
+
+ if (!GetFileSizeEx(hFile,&fileSize)) {
+ WriteErrorMessage("WindowsOverlappedDataReader: unable to get file size of '%s', %d\n",fileName,GetLastError());
+ return false;
+ }
+ return true;
+}
+
+ void
+WindowsOverlappedDataReader::reinit(
+ _int64 i_startingOffset,
+ _int64 amountOfFileToProcess)
+{
+ _ASSERT(INVALID_HANDLE_VALUE != hFile); // Must call init() before reinit()
+
+ AcquireExclusiveLock(&lock);
+
+ //
+ // First let any pending IO complete.
+ //
+ for (unsigned i = 0; i < nBuffers; i++) {
+ if (bufferInfo[i].state == Reading) {
+ waitForBuffer(i);
+ }
+ bufferInfo[i].state = Empty;
+ bufferInfo[i].isEOF= false;
+ bufferInfo[i].offset = 0;
+ bufferInfo[i].next = i < nBuffers - 1 ? i + 1 : -1;
+ bufferInfo[i].previous = i > 0 ? i - 1 : -1;
+ }
+
+ nextBufferForConsumer = -1;
+ lastBufferForConsumer = -1;
+ nextBufferForReader = 0;
+
+ readOffset.QuadPart = i_startingOffset;
+ if (amountOfFileToProcess == 0) {
+ //
+ // This means just read the whole file.
+ //
+ endingOffset = fileSize.QuadPart;
+ } else {
+ endingOffset = min(fileSize.QuadPart,i_startingOffset + amountOfFileToProcess);
+ }
+
+ //
+ // Kick off IO, wait for the first buffer to be read
+ //
+ startIo();
+ waitForBuffer(nextBufferForConsumer);
+
+ ReleaseExclusiveLock(&lock);
+}
+
+
+ void
+WindowsOverlappedDataReader::startIo()
+{
+ //
+ // Launch reads on whatever buffers are ready.
+ //
+ AssertExclusiveLockHeld(&lock);
+
+ while (nextBufferForReader != -1) {
+ // remove from free list
+ BufferInfo* info = &bufferInfo[nextBufferForReader];
+ OVERLAPPED *bufferLap = &bufferLaps[nextBufferForReader];
+ _ASSERT(info->state == Empty);
+ int index = nextBufferForReader;
+ nextBufferForReader = info->next;
+ info->batchID = nextBatchID++;
+ // add to end of consumer list
+ if (lastBufferForConsumer != -1) {
+ _ASSERT(bufferInfo[lastBufferForConsumer].next == -1);
+ bufferInfo[lastBufferForConsumer].next = index;
+ }
+ info->next = -1;
+ info->previous = lastBufferForConsumer;
+ lastBufferForConsumer = index;
+
+ if (nextBufferForConsumer == -1) {
+ nextBufferForConsumer = index;
+ }
+
+ if (readOffset.QuadPart >= fileSize.QuadPart || readOffset.QuadPart >= endingOffset) {
+ info->validBytes = 0;
+ info->nBytesThatMayBeginARead = 0;
+ info->isEOF = true;
+ info->state = Full;
+ SetEvent(bufferLap->hEvent);
+ return;
+ }
+
+ unsigned amountToRead;
+ _int64 finalOffset = min(fileSize.QuadPart, endingOffset + overflowBytes);
+ _int64 finalStartOffset = min(fileSize.QuadPart, endingOffset);
+ amountToRead = (unsigned)min(finalOffset - readOffset.QuadPart, (_int64) bufferSize); // Cast OK because can't be longer than unsigned bufferSize
+ info->isEOF = readOffset.QuadPart + amountToRead == finalOffset;
+ info->nBytesThatMayBeginARead = (unsigned)min((_int64)bufferSize - overflowBytes, finalStartOffset - readOffset.QuadPart);
+
+ _ASSERT(amountToRead >= info->nBytesThatMayBeginARead && (!info->isEOF || finalOffset == readOffset.QuadPart + amountToRead));
+ ResetEvent(bufferLap->hEvent);
+ bufferLap->Offset = readOffset.LowPart;
+ bufferLap->OffsetHigh = readOffset.HighPart;
+ info->fileOffset = readOffset.QuadPart;
+
+ readOffset.QuadPart += info->nBytesThatMayBeginARead;
+ info->state = Reading;
+ info->offset = 0;
+
+ //fprintf(stderr, "startIo on %d at %lld for %uB\n", index, readOffset, amountToRead);
+ if (!ReadFile(
+ hFile,
+ info->buffer,
+ amountToRead,
+ (DWORD *)&info->validBytes,
+ bufferLap)) {
+
+ if (GetLastError() != ERROR_IO_PENDING) {
+ WriteErrorMessage("WindowsOverlappedDataReader::startIo(): readFile failed, %d\n",GetLastError());
+ soft_exit(1);
+ }
+ }
+ }
+ if (nextBufferForConsumer == -1) {
+ //fprintf(stderr, "startIo thread %x reset releaseEvent\n", GetCurrentThreadId());
+ ResetEvent(releaseEvent);
+ }
+}
+
+ void
+WindowsOverlappedDataReader::waitForBuffer(
+ unsigned bufferNumber)
+{
+ _ASSERT(bufferNumber >= 0 && bufferNumber < nBuffers);
+ BufferInfo *info = &bufferInfo[bufferNumber];
+ OVERLAPPED *bufferLap = &bufferLaps[bufferNumber];
+
+ while (info->state == InUse) {
+ //fprintf(stderr, "WindowsOverlappedDataReader::waitForBuffer %d InUse...\n", bufferNumber);
+ // must already have lock to call, release & wait & reacquire
+ ReleaseExclusiveLock(&lock);
+ _int64 start = timeInNanos();
+ DWORD waitTime;
+ if (releaseWaitInMillis > 0xffffffff) {
+ waitTime = INFINITE;
+ } else {
+ waitTime = (DWORD)releaseWaitInMillis;
+ }
+ DWORD result = WaitForSingleObject(releaseEvent, waitTime);
+ InterlockedAdd64AndReturnNewValue(&ReleaseWaitTime, timeInNanos() - start);
+ AcquireExclusiveLock(&lock);
+ if (result == WAIT_TIMEOUT) {
+ // this isn't going to directly make this buffer available, but will reduce pressure
+ addBuffer();
+ }
+ }
+
+ if (info->state == Full) {
+ return;
+ }
+
+ if (info->state != Reading) {
+ startIo();
+ }
+
+ _int64 start = timeInNanos();
+ if (!GetOverlappedResult(hFile, bufferLap, (DWORD *)&info->validBytes,TRUE)) {
+ WriteErrorMessage("Error reading FASTQ file, %d\n",GetLastError());
+ soft_exit(1);
+ }
+ InterlockedAdd64AndReturnNewValue(&ReadWaitTime, timeInNanos() - start);
+
+ info->state = Full;
+ info->buffer[info->validBytes] = 0;
+ ResetEvent(bufferLap->hEvent);
+}
+
+void
+WindowsOverlappedDataReader::addBuffer()
+{
+ if (nBuffers == maxBuffers) {
+ WriteErrorMessage("WindowsOverlappedDataReader: addBuffer at limit\n");
+ return;
+ }
+ _ASSERT(nBuffers < maxBuffers);
+
+ bufferLaps[nBuffers].hEvent = CreateEvent(NULL,TRUE,FALSE,NULL);
+ if (NULL == bufferLaps[nBuffers].hEvent) {
+ WriteErrorMessage("WindowsOverlappedDataReader: Unable to create event\n");
+ soft_exit(1);
+ }
+
+ ReadBasedDataReader::addBuffer();
+}
+
+class WindowsOverlappedDataSupplier : public DataSupplier
+{
+public:
+ WindowsOverlappedDataSupplier() : DataSupplier() {}
+ virtual DataReader* getDataReader(int bufferCount, _int64 overflowBytes, double extraFactor, size_t bufferSpace)
+ {
+ // add some buffers for read-ahead
+ return new WindowsOverlappedDataReader(bufferCount + (bufferCount > 1 ? 4 : 0), overflowBytes, extraFactor, bufferSpace);
+ }
+};
+
+DataSupplier* DataSupplier::WindowsOverlapped = new WindowsOverlappedDataSupplier();
+
+#endif // _MSC_VER
+
+//
+// Decompress
+//
+
+static const int windowBits = 15;
+static const int ENABLE_ZLIB_GZIP = 32;
+
+static const double MIN_FACTOR = 1.2;
+static const double MAX_FACTOR = 10.0;
+
+class DecompressDataReader : public DataReader
+{
+public:
+
+ DecompressDataReader(DataReader* i_inner, int i_count, _int64 totalExtra, _int64 i_extraBytes, _int64 i_overflowBytes, int i_chunkSize = BAM_BLOCK);
+
+ virtual ~DecompressDataReader();
+
+ virtual bool init(const char* fileName);
+
+ virtual char* readHeader(_int64* io_headerSize);
+
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess);
+
+ virtual bool getData(char** o_buffer, _int64* o_validBytes, _int64* o_startBytes = NULL);
+
+ virtual void advance(_int64 bytes);
+
+ virtual void nextBatch();
+
+ virtual bool isEOF();
+
+ virtual DataBatch getBatch();
+
+ virtual void holdBatch(DataBatch batch);
+
+ virtual bool releaseBatch(DataBatch batch);
+
+ virtual _int64 getFileOffset();
+
+ virtual void getExtra(char** o_extra, _int64* o_length);
+
+ virtual const char* getFilename()
+ { return inner->getFilename(); }
+
+ enum DecompressMode { SingleBlock, ContinueMultiBlock, StartMultiBlock };
+
+ static bool decompress(z_stream* zstream, ThreadHeap* heap, char* input, _int64 inputSize, _int64* o_inputUsed,
+ char* output, _int64 outputSize, _int64* o_outputUsed, DecompressMode mode);
+
+ // debugging
+ char* findPointer(void* p);
+
+private:
+
+
+ static void decompressThread(void *context);
+
+ static void decompressThreadContinuous(void *context);
+
+ friend class DecompressManager;
+ friend class DecompressWorker;
+
+ enum EntryState
+ {
+ EntryReady, // for reading by client, on first list
+ EntryHeld, // finished reading but not released, not on a list
+ EntryAvailable, // released by client, on available list
+ EntryReading // reading or decompressing, not on a list
+ };
+
+ struct Entry
+ {
+ Entry* next; // next entry on first/available list
+ EntryState state;
+ DataBatch batch;
+ char* compressed;
+ _int64 compressedStart; // limit to start a new zip block
+ _int64 compressedValid; // total available data
+ char* decompressed;
+ _int64 decompressedStart;
+ _int64 decompressedValid;
+ bool allocated; // if decompressed has been allocated specially, not from inner extra data
+ };
+
+ // use only these routines to manipulate the linked lists
+ Entry* peekReady(); // from first, block if none
+ void popReady(); // from first
+ void enqueueReady(Entry* entry); // as last
+ Entry* dequeueAvailable(); // as available, block if none
+ void enqueueAvailable(Entry* entry); // from available
+
+ DataReader* inner; // inner reader for compressed data
+ const _int64 extraBytes; // number of bytes of extra that I get to use
+ const _int64 overflowBytes; // overflow between batches
+ const _int64 totalExtra; // total extra data
+ const int chunkSize; // max size of decompressed data
+ _int64 offset; // into current entry
+ bool threadStarted; // whether thread has been started
+ bool eof; // true when we've read to eof of previous
+ volatile bool stopping; // set to stop everything
+ EventObject decompressThreadDone; // signalled by background thread on exit
+
+ // entry lists
+ Entry* entries; // ring buffer of batches from inner reader
+ int count; // # of entries
+ Entry* first; // first ready buffer, NULL if none, currently being read by client
+ Entry* last; // last ready buffer, NULL if none
+ EventObject readyEvent; // signalled by bg thread when first goes NULL->non-NULL
+ Entry* available; // first non-ready buffer (head of freelist), NULL if none
+ EventObject availableEvent; // signalled by main thread when available goes NULL->non-NULL
+ ExclusiveLock lock; // lock on linked list pointers in this object and in Entry
+};
+
+
+DecompressDataReader::DecompressDataReader(
+ DataReader* i_inner,
+ int i_count,
+ _int64 i_totalExtra,
+ _int64 i_extraBytes,
+ _int64 i_overflowBytes,
+ int i_chunkSize)
+ : DataReader(), inner(i_inner), count(i_count), offset(i_overflowBytes),
+ totalExtra(i_totalExtra), extraBytes(i_extraBytes), overflowBytes(i_overflowBytes),
+ chunkSize(i_chunkSize), threadStarted(false), eof(false), stopping(false)
+{
+ entries = new Entry[count];
+ for (int i = 0; i < count; i++) {
+ Entry* entry = &entries[i];
+ entry->state = EntryAvailable;
+ entry->next = i < count - 1 ? &entries[i + 1] : NULL;
+ entry->decompressed = NULL;
+ entry->allocated = false;
+ entry->batch = DataBatch(0, 0);
+ }
+ available = entries;
+ first = last = NULL;
+ CreateEventObject(&readyEvent);
+ PreventEventWaitersFromProceeding(&readyEvent);
+ CreateEventObject(&availableEvent);
+ AllowEventWaitersToProceed(&availableEvent);
+ CreateEventObject(&decompressThreadDone);
+ PreventEventWaitersFromProceeding(&decompressThreadDone);
+ InitializeExclusiveLock(&lock);
+}
+
+DecompressDataReader::~DecompressDataReader()
+{
+ if (threadStarted) {
+ stopping = true;
+ AllowEventWaitersToProceed(&availableEvent);
+ WaitForEvent(&decompressThreadDone);
+ }
+ for (int i = 0; i < count; i++) {
+ if (entries[i].allocated) {
+ BigDealloc(entries[i].decompressed);
+ }
+ }
+ DestroyExclusiveLock(&lock);
+ delete inner;
+}
+
+ bool
+DecompressDataReader::init(
+ const char* fileName)
+{
+ return inner->init(fileName);
+}
+
+ char*
+DecompressDataReader::readHeader(
+ _int64* io_headerSize)
+{
+ z_stream zstream;
+ ThreadHeap heap(max(chunkSize,1000));
+ _int64 compressedBytes = (_int64)(*io_headerSize / MIN_FACTOR);
+ char* compressed = inner->readHeader(&compressedBytes);
+ char* header;
+ _int64 total;
+ inner->getExtra(&header, &total);
+ _ASSERT(total >= totalExtra);
+ _int64 headerSize = 0;
+ while (headerSize < *io_headerSize && compressedBytes > 0) {
+ _int64 compressedBlockSize, decompressedBlockSize;
+ //fprintf(stderr,"decompress chunkSize %d compressedBytes %d headerSize %d totalExtra %d\n", chunkSize, compressedBytes, headerSize, totalExtra);
+ decompress(&zstream, chunkSize != 0 ? &heap : NULL,
+ compressed, compressedBytes, &compressedBlockSize,
+ header + headerSize, totalExtra - headerSize, &decompressedBlockSize,
+ StartMultiBlock);
+ // This just gets reinit()'ed later, and in the interim confuses the non-rewind stdio data reader. inner->advance(compressedBlockSize);
+ compressed += compressedBlockSize;
+ compressedBytes -= compressedBlockSize;
+ headerSize += decompressedBlockSize;
+ }
+ *io_headerSize = headerSize;
+ return header;
+}
+
+ void
+DecompressDataReader::reinit(
+ _int64 startingOffset,
+ _int64 amountOfFileToProcess)
+{
+ if (threadStarted) {
+ WriteErrorMessage("DecompressDataReader reinit called twice\n");
+ soft_exit(1);
+ }
+ // todo: transform start/amount to add for compression? I don't think so...
+ inner->reinit(startingOffset, amountOfFileToProcess);
+ threadStarted = true;
+ if (! StartNewThread(chunkSize > 0 ? decompressThread : decompressThreadContinuous, this)) {
+ WriteErrorMessage("failed to start decompressThread\n");
+ soft_exit(1);
+ }
+}
+
+ bool
+DecompressDataReader::getData(
+ char** o_buffer,
+ _int64* o_validBytes,
+ _int64* o_startBytes)
+{
+ if (eof) {
+ return false;
+ }
+ Entry* entry = peekReady();
+ if (offset >= entry->decompressedStart) {
+ return false;
+ }
+ *o_buffer = entry->decompressed + offset;
+ *o_validBytes = entry->decompressedValid - offset;
+ if (o_startBytes != NULL) {
+ *o_startBytes = entry->decompressedStart- offset;
+ }
+ return true;
+}
+
+ void
+DecompressDataReader::advance(
+ _int64 bytes)
+
+{
+ offset = min(offset + max(bytes, (_int64) 0), peekReady()->decompressedValid);
+}
+
+ void
+DecompressDataReader::nextBatch()
+{
+ if (eof) {
+ return;
+ }
+ Entry* old = peekReady();
+ popReady();
+ if (old->decompressedValid == overflowBytes) {
+ eof = true;
+ return;
+ }
+ Entry* next = peekReady();
+ _ASSERT(next->state == EntryReady && next->decompressed != NULL);
+ _int64 copy = old->decompressedValid - max(offset, old->decompressedStart);
+ memcpy(next->decompressed + overflowBytes - copy, old->decompressed + old->decompressedValid - copy, copy);
+ offset = overflowBytes - copy;
+ //fprintf(stderr,"DecompressDataReader nextBatch %d:%d #%d -> %d:%d #%d copy %lld + %lld/%lld\n", old->batch.fileID, old->batch.batchID, old-entries, next->batch.fileID, next->batch.batchID, next-entries, copy, next->decompressedStart, next->decompressedValid);
+ releaseBatch(old->batch); // holdBatch was called in decompress thread, release now if no customers added holds
+ if (offset == next->decompressedValid) {
+ eof = true;
+ _ASSERT(inner->isEOF());
+ }
+}
+
+ bool
+DecompressDataReader::isEOF()
+{
+ return eof;
+}
+
+ DataBatch
+DecompressDataReader::getBatch()
+{
+ return peekReady()->batch;
+}
+
+ void
+DecompressDataReader::holdBatch(DataBatch batch)
+{
+ inner->holdBatch(batch);
+}
+
+ bool
+DecompressDataReader::releaseBatch(DataBatch batch)
+{
+ if (! inner->releaseBatch(batch)) {
+ return false;
+ }
+ // truly released, find matching entry & put back on available list
+ AcquireExclusiveLock(&lock);
+ for (int i = 0; i < count; i++) {
+ Entry* entry = &entries[i];
+ if (entry->batch == batch) {
+ //fprintf(stderr,"DecompressDataReader releaseBatch %d:0x%x #%d\n", batch.fileID, batch.batchID, i);
+ if (entry->state == EntryHeld) {
+ enqueueAvailable(entry);
+ } else {
+ _ASSERT(entry->state == EntryAvailable);
+ }
+ break;
+ }
+ }
+ ReleaseExclusiveLock(&lock);
+ return true;
+}
+
+ _int64
+DecompressDataReader::getFileOffset()
+{
+ return inner->getFileOffset();
+}
+
+ void
+DecompressDataReader::getExtra(
+ char** o_extra,
+ _int64* o_length)
+{
+ *o_extra = peekReady()->decompressed + extraBytes;
+ *o_length = totalExtra - extraBytes;
+}
+
+ bool
+DecompressDataReader::decompress(
+ z_stream* zstream,
+ ThreadHeap* heap,
+ char* input,
+ _int64 inputBytes,
+ _int64* o_inputRead,
+ char* output,
+ _int64 outputBytes,
+ _int64* o_outputWritten,
+ DecompressMode mode)
+{
+ if (inputBytes > 0xffffffff || outputBytes > 0xffffffff) {
+ WriteErrorMessage("GzipDataReader: inputBytes or outputBytes > max unsigned int\n");
+ soft_exit(1);
+ }
+ zstream->next_in = (Bytef*) input;
+ zstream->avail_in = (uInt)inputBytes;
+ zstream->next_out = (Bytef*) output;
+ zstream->avail_out = (uInt)outputBytes;
+ if (heap != NULL) {
+ zstream->zalloc = zalloc;
+ zstream->zfree = zfree;
+ zstream->opaque = heap;
+ } else {
+ zstream->zalloc = NULL;
+ zstream->zfree = NULL;
+ }
+ uInt oldAvailOut, oldAvailIn;
+ int block = 0;
+ bool multiBlock = true;
+ int status;
+ do {
+ if (mode != ContinueMultiBlock || block != 0) {
+ if (heap != NULL) {
+ heap->reset();
+ }
+ status = inflateInit2(zstream, windowBits | ENABLE_ZLIB_GZIP);
+ if (status < 0) {
+ WriteErrorMessage("GzipDataReader: inflateInit2 failed with %d\n", status);
+ return false;
+ }
+ }
+ oldAvailOut = zstream->avail_out;
+ oldAvailIn = zstream->avail_in;
+ status = inflate(zstream, mode == SingleBlock ? Z_NO_FLUSH : Z_FINISH);
+ // fprintf(stderr, "decompress block #%d %lld -> %lld = %d\n", block, zstream.next_in - lastIn, zstream.next_out - lastOut, status);
+ block++;
+ if (status < 0 && status != Z_BUF_ERROR) {
+ WriteErrorMessage("GzipDataReader: inflate failed with %d\n", status);
+ soft_exit(1);
+ }
+ if (status < 0 && zstream->avail_out == 0 && zstream->avail_in > 0) {
+ WriteErrorMessage("insufficient decompression buffer space - increase expansion factor, currently -xf %.1f\n", DataSupplier::ExpansionFactor);
+ soft_exit(1);
+ }
+ } while (zstream->avail_in != 0 && (zstream->avail_out != oldAvailOut || zstream->avail_in != oldAvailIn) && mode != SingleBlock);
+ // fprintf(stderr, "end decompress status=%d, avail_in=%lld, last block=%lld->%lld, avail_out=%lld\n", status, zstream.avail_in, zstream.next_in - lastIn, zstream.next_out - lastOut, zstream.avail_out);
+ if (o_inputRead) {
+ *o_inputRead = inputBytes - zstream->avail_in;
+ }
+ if (o_outputWritten) {
+ *o_outputWritten = outputBytes - zstream->avail_out;
+ }
+ return zstream->avail_in == 0;
+}
+
+ char*
+DecompressDataReader::findPointer(
+ void* p)
+{
+ static char result[100];
+ sprintf(result, "not found");
+ for (int i = 0; i < count; i++) {
+ Entry* e = &entries[i];
+ if (e->compressed <= p && p < e->compressed + e->compressedValid) {
+ sprintf(result, "compressed #%d @ %lld", i, (char*)p - e->compressed);
+ break;
+ }
+ if (e->decompressed <= p && p < e->decompressed + extraBytes) {
+ sprintf(result, "decompressed #%d %lld", i, (char*) p - e->decompressed);
+ break;
+ }
+ if (e->decompressed + extraBytes <= p && p < e->decompressed + totalExtra) {
+ sprintf(result, "extra #%d %lld", i, (char*) p - e->decompressed - extraBytes);
+ break;
+ }
+ }
+ return result;
+}
+
+typedef VariableSizeVector<_int64> OffsetVector;
+
+class DecompressWorker : public ParallelWorker
+{
+public:
+ DecompressWorker();
+
+ virtual void step();
+
+private:
+ z_stream zstream;
+ ThreadHeap heap;
+};
+
+class DecompressManager: public ParallelWorkerManager
+{
+public:
+ DecompressManager(OffsetVector* i_inputs, OffsetVector* i_outputs)
+ : inputs(i_inputs), outputs(i_outputs)
+ {}
+
+ virtual ParallelWorker* createWorker()
+ { return new DecompressWorker(); }
+
+ OffsetVector* inputs;
+ OffsetVector* outputs;
+ DecompressDataReader::Entry* entry;
+
+ friend class DecompressWorker;
+};
+
+DecompressWorker::DecompressWorker()
+ : heap(BAM_BLOCK)
+{
+ zstream.zalloc = zalloc;
+ zstream.zfree = zfree;
+ zstream.opaque = &heap;
+}
+
+ void
+DecompressWorker::step()
+{
+ DecompressManager* manager = (DecompressManager*) getManager();
+ for (int i = getThreadNum(); i < manager->inputs->size() - 1; i += getNumThreads()) {
+ _int64 inputUsed, outputUsed;
+ DecompressDataReader::decompress(&zstream,
+ &heap,
+ manager->entry->compressed + (*manager->inputs)[i],
+ (*manager->inputs)[i + 1] - (*manager->inputs)[i],
+ &inputUsed,
+ manager->entry->decompressed + (*manager->outputs)[i],
+ (*manager->outputs)[i + 1] - (*manager->outputs)[i],
+ &outputUsed,
+ DecompressDataReader::SingleBlock);
+ _ASSERT(inputUsed == (*manager->inputs)[i + 1] - (*manager->inputs)[i] &&
+ outputUsed == (*manager->outputs)[i + 1] - (*manager->outputs)[i]);
+ }
+}
+
+ void
+DecompressDataReader::decompressThread(
+ void* context)
+{
+ DecompressDataReader* reader = (DecompressDataReader*) context;
+ OffsetVector inputs, outputs;
+ DecompressManager manager(&inputs, &outputs);
+ ParallelCoworker coworker(min(8, DataSupplier::ThreadCount), false, &manager);
+ coworker.start();
+ // keep reading & decompressing entries until stopped
+ bool stop = false;
+ while (! stop) {
+ Entry* entry = reader->dequeueAvailable();
+ if (reader->stopping) {
+ break;
+ }
+ // always starts with a fresh batch - advances after reading it all
+ bool ok = reader->inner->getData(&entry->compressed, &entry->compressedValid, &entry->compressedStart);
+ int index = (int) (entry - reader->entries);
+ if (! ok) {
+ //fprintf(stderr, "decompressThread #%d %d:%d eof\n", index, reader->inner->getBatch().fileID, reader->inner->getBatch().batchID);
+ if (! reader->inner->isEOF()) {
+ WriteErrorMessage("error reading file at offset %lld\n", reader->getFileOffset());
+ soft_exit(1);
+ }
+ // mark as eof - no data
+ entry->decompressedValid = entry->decompressedStart = reader->overflowBytes;
+ DataBatch b = reader->inner->getBatch();
+ entry->batch = DataBatch(b.batchID + 1, b.fileID);
+ // decompressed buffer is same as next-to-last batch, need to allocate own buffer
+ entry->decompressed = (char*) BigAlloc(reader->totalExtra);
+ entry->allocated = true;
+ stop = true;
+ } else {
+ _int64 extraSize;
+ reader->inner->getExtra(&entry->decompressed, &extraSize);
+ _ASSERT(extraSize >= reader->extraBytes && extraSize >= reader->overflowBytes);
+ // figure out offsets and advance inner data
+ inputs.clear();
+ outputs.clear();
+ _int64 input = 0;
+ _int64 output = reader->overflowBytes;
+ do {
+ inputs.push_back(input);
+ outputs.push_back(output);
+ BgzfHeader* zip = (BgzfHeader*) (entry->compressed + input);
+ input += zip->BSIZE() + 1;
+ output += zip->ISIZE();
+
+ if (output > reader->extraBytes) {
+ fprintf(stderr, "insufficient decompression space, increase -xf parameter\n");
+ soft_exit(1);
+ }
+ if (input > entry->compressedValid || zip->BSIZE() >= BAM_BLOCK || zip->ISIZE() > BAM_BLOCK) {
+ fprintf(stderr, "error reading BAM file at offset %lld\n", reader->getFileOffset());
+ soft_exit(1);
+ }
+ } while (input < entry->compressedStart);
+ // append final offsets
+ inputs.push_back(input);
+ outputs.push_back(output);
+ //fprintf(stderr, "decompressThread read #%d %lld->%lld\n", index, input, output);
+ reader->inner->advance(input);
+ entry->decompressedValid = output;
+ entry->decompressedStart = output - reader->overflowBytes;
+ entry->batch = reader->inner->getBatch();
+ reader->holdBatch(entry->batch); // hold batch while decompressing
+ reader->inner->nextBatch(); // start reading next batch
+ // decompress all chunks synchronously on multiple threads
+ manager.entry = entry;
+ coworker.step();
+ }
+ // make buffer available for clients & go on to next
+ //fprintf(stderr, "decompressThread #%d %d:%d ready\n", index, entry->batch.fileID, entry->batch.batchID);
+ reader->enqueueReady(entry);
+ }
+ coworker.stop();
+ AllowEventWaitersToProceed(&reader->decompressThreadDone);
+}
+
+ void
+DecompressDataReader::decompressThreadContinuous(
+ void* context)
+{
+ DecompressDataReader* reader = (DecompressDataReader*) context;
+ z_stream zstream;
+ bool first = true;
+ bool stop = false;
+ while (! stop) {
+ Entry* entry = reader->dequeueAvailable();
+ if (reader->stopping) {
+ break;
+ }
+ // always starts with a fresh batch - advances after reading it all
+ bool ok = reader->inner->getData(&entry->compressed, &entry->compressedValid, &entry->compressedStart);
+ int index = (int) (entry - reader->entries);
+ if (! ok) {
+ //fprintf(stderr, "decompressThreadContinuous#%d %d:%d eof\n", index, reader->inner->getBatch().fileID, reader->inner->getBatch().batchID);
+ if (! reader->inner->isEOF()) {
+ WriteErrorMessage("error reading file at offset %lld\n", reader->getFileOffset());
+ soft_exit(1);
+ }
+ // mark as eof - no data
+ entry->decompressedValid = entry->decompressedStart = reader->overflowBytes;
+ DataBatch b = reader->inner->getBatch();
+ entry->batch = DataBatch(b.batchID + 1, b.fileID);
+ entry->decompressed = (char*) BigAlloc(reader->totalExtra);
+ entry->allocated = true;
+ stop = true;
+ } else {
+ // figure out offsets and advance inner data
+ _int64 ignore;
+ reader->inner->getExtra(&entry->decompressed, &ignore);
+ _ASSERT(ignore >= reader->extraBytes && ignore >= reader->overflowBytes);
+ _int64 compressedRead, decompressedWritten;
+ entry->batch = reader->inner->getBatch();
+ reader->holdBatch(entry->batch); // hold batch while decompressing
+ reader->inner->advance(entry->compressedValid);
+ reader->inner->nextBatch(); // start reading next batch
+ decompress(&zstream, NULL,
+ entry->compressed, entry->compressedValid, &compressedRead,
+ entry->decompressed + reader->overflowBytes, reader->extraBytes - reader->overflowBytes, &decompressedWritten,
+ first ? StartMultiBlock : ContinueMultiBlock);
+ _ASSERT(compressedRead == entry->compressedValid && decompressedWritten <= reader->extraBytes - reader->overflowBytes);
+ entry->decompressedValid = reader->overflowBytes + decompressedWritten;
+ entry->decompressedStart = decompressedWritten;
+ first = false;
+ }
+ // make buffer available for clients & go on to next
+ //fprintf(stderr, "decompressThreadContinuous#%d %d:%d ready\n", index, entry->batch.fileID, entry->batch.batchID);
+ reader->enqueueReady(entry);
+ }
+ AllowEventWaitersToProceed(&reader->decompressThreadDone);
+}
+
+ DecompressDataReader::Entry*
+DecompressDataReader::peekReady()
+{
+ // not thread-safe relative to popReady!
+ if (first == NULL) {
+ WaitForEvent(&readyEvent);
+ }
+ _ASSERT(first->state == EntryReady);
+ return first;
+}
+
+ void
+DecompressDataReader::popReady()
+{
+ while (true) {
+ AcquireExclusiveLock(&lock);
+ if (first != NULL) {
+ _ASSERT(first->state == EntryReady);
+ //fprintf(stderr, "popReady %d:%d #%d -> held\n", first->batch.fileID, first->batch.batchID, first - entries);
+ first->state = EntryHeld;
+ if (first->next == NULL) {
+ _ASSERT(last == first);
+ last = NULL;
+ PreventEventWaitersFromProceeding(&readyEvent);
+ }
+ first = first->next;
+ _ASSERT(first == NULL || first->state == EntryReady);
+ ReleaseExclusiveLock(&lock);
+ return;
+ }
+ ReleaseExclusiveLock(&lock);
+ WaitForEvent(&readyEvent);
+ }
+}
+
+ void
+DecompressDataReader::enqueueReady(Entry* entry)
+{
+ AcquireExclusiveLock(&lock);
+ _ASSERT(entry->state == EntryReading);
+ entry->next = NULL;
+ entry->state = EntryReady;
+ if (last == NULL) {
+ first = last = entry;
+ AllowEventWaitersToProceed(&readyEvent);
+ } else {
+ last->next = entry;
+ last = entry;
+ }
+ ReleaseExclusiveLock(&lock);
+}
+
+ DecompressDataReader::Entry*
+DecompressDataReader::dequeueAvailable()
+{
+ while (true) {
+ AcquireExclusiveLock(&lock);
+ //fprintf(stderr, "dequeueAvailable #%d\n", available == NULL ? -1 : available - entries);
+ if (available!= NULL) {
+ _ASSERT(available->state == EntryAvailable);
+ available->state = EntryReading;
+ Entry* result = available;
+ available = available->next;
+ if (available == NULL) {
+ PreventEventWaitersFromProceeding(&availableEvent);
+ }
+ ReleaseExclusiveLock(&lock);
+ return result;
+ }
+ ReleaseExclusiveLock(&lock);
+ WaitForEvent(&availableEvent);
+ if (stopping) {
+ return NULL;
+ }
+ }
+}
+
+ void
+DecompressDataReader::enqueueAvailable(Entry* entry)
+{
+ AssertExclusiveLockHeld(&lock);
+ _ASSERT(entry->state == EntryHeld);
+ entry->state = EntryAvailable;
+ entry->next = available;
+ available = entry;
+ if (entry->next == NULL) {
+ AllowEventWaitersToProceed(&availableEvent);
+ }
+}
+
+class DecompressDataReaderSupplier : public DataSupplier
+{
+public:
+ DecompressDataReaderSupplier(DataSupplier* i_inner, int i_blockSize = BAM_BLOCK)
+ : DataSupplier(), inner(i_inner), blockSize(i_blockSize)
+ {}
+
+ virtual DataReader* getDataReader(int bufferCount, _int64 overflowBytes, double extraFactor, size_t bufferSpace);
+
+private:
+ DataSupplier* inner;
+ const int blockSize;
+};
+
+ DataReader*
+DecompressDataReaderSupplier::getDataReader(
+ int bufferCount,
+ _int64 overflowBytes,
+ double extraFactor,
+ size_t bufferSpace)
+{
+ // adjust extra factor for compression ratio
+ double expand = MAX_FACTOR * DataSupplier::ExpansionFactor;
+ double totalFactor = expand * (1.0 + extraFactor);
+ // get inner reader with no overflow since zlib can't deal with it
+ // add 2 buffers for compression thread
+ DataReader* data = inner->getDataReader(bufferCount + 2, blockSize, totalFactor, bufferSpace);
+ // compute how many extra bytes are owned by this layer
+ char* p;
+ _int64 totalExtra;
+ data->getExtra(&p, &totalExtra);
+ _int64 mine = (_int64)(totalExtra * expand / totalFactor);
+ // create new reader, telling it how many bytes it owns
+ // it will subtract overflow off the end of each batch
+ return new DecompressDataReader(data, bufferCount, totalExtra, mine, overflowBytes, blockSize);
+}
+
+ DataSupplier*
+DataSupplier::GzipBam(
+ DataSupplier* inner)
+{
+ return new DecompressDataReaderSupplier(inner, BAM_BLOCK);
+}
+
+ DataSupplier*
+DataSupplier::Gzip(
+ DataSupplier* inner)
+{
+ return new DecompressDataReaderSupplier(inner, 0);
+}
+ DataSupplier*
+DataSupplier::StdioSupplier()
+{
+ return new StdioDataSupplier();
+}
+//
+// MemMap
+//
+
+class MemMapDataSupplier : public DataSupplier
+{
+public:
+ MemMapDataSupplier();
+
+ virtual ~MemMapDataSupplier();
+
+ virtual DataReader* getDataReader(int bufferCount, _int64 overflowBytes, double extraFactor, size_t bufferSpace);
+
+ FileMapper* getMapper(const char* fileName);
+ void releaseMapper(const char* fileName);
+
+private:
+ ExclusiveLock lock;
+ map<string,FileMapper*> mappers;
+ map<string,int> refcounts;
+};
+
+class MemMapDataReader : public DataReader
+{
+public:
+
+ MemMapDataReader(MemMapDataSupplier* i_supplier, int i_batchCount, _int64 i_batchSize, _int64 i_overflowBytes, _int64 i_batchExtra);
+
+ virtual ~MemMapDataReader();
+
+ virtual bool init(const char* fileName);
+
+ virtual char* readHeader(_int64* io_headerSize);
+
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess);
+
+ virtual bool getData(char** o_buffer, _int64* o_validBytes, _int64* o_startBytes = NULL);
+
+ virtual void advance(_int64 bytes);
+
+ virtual void nextBatch();
+
+ virtual bool isEOF();
+
+ virtual DataBatch getBatch();
+
+ virtual void holdBatch(DataBatch batch);
+
+ virtual bool releaseBatch(DataBatch batch);
+
+ virtual _int64 getFileOffset();
+
+ virtual void getExtra(char** o_extra, _int64* o_length);
+
+ virtual const char* getFilename()
+ { return fileName; }
+
+private:
+
+ void acquireLock()
+ {
+ if (batchCount != 1) {
+ AcquireExclusiveLock(&lock);
+ }
+ }
+
+ void releaseLock()
+ {
+ if (batchCount != 1) {
+ ReleaseExclusiveLock(&lock);
+ }
+ }
+
+ const int batchCount; // number of batches
+ const _int64 batchSizeParam; // bytes per batch, 0 for entire file
+ _int64 batchSize; // actual batch size for this file
+ const _int64 overflowBytes;
+ const _int64 batchExtra; // extra bytes per batch
+ const char* fileName; // current file name for diagnostics
+ _int64 fileSize; // total size of current file
+ char* currentMap; // currently mapped block if non-NULL
+ _int64 currentMapOffset; // current file offset of mapped region
+ _int64 currentMapStartSize; // start size of mapped region (not incl overflow)
+ _int64 currentMapSize; // total valid size of mapped region (incl overflow)
+ void* currentMappedBase; // mapped base for unmap
+ char* extra; // extra data buffer
+ int extraUsed; // number of extra data buffers in use
+ DataBatch* extraBatches; // non-zero for each extra buffer that is in use
+ int* extraHolds; // keeps hold count for each extra buffer
+ int currentExtraIndex; // index of extra block for current batch
+ _int64 offset; // into current batch
+ _uint32 currentBatch; // current batch number starting at 1
+ _int64 startBytes; // in current batch
+ _int64 validBytes; // in current batch
+ MemMapDataSupplier* supplier;
+ FileMapper* mapper;
+ SingleWaiterObject waiter; // flow control
+ ExclusiveLock lock; // lock around flow control members (currentBatch, extraUsed, etc.)
+};
+
+
+MemMapDataReader::MemMapDataReader(MemMapDataSupplier* i_supplier, int i_batchCount, _int64 i_batchSize, _int64 i_overflowBytes, _int64 i_batchExtra)
+ : DataReader(),
+ batchCount(i_batchCount),
+ batchSizeParam(i_batchSize),
+ overflowBytes(i_overflowBytes),
+ batchExtra(i_batchExtra),
+ currentBatch(1),
+ extraUsed(0),
+ currentMap(NULL),
+ currentMapOffset(0),
+ currentMapSize(0),
+ currentExtraIndex(0),
+ supplier(i_supplier),
+ mapper(NULL)
+{
+ _ASSERT(batchCount > 0 && batchSizeParam >= 0 && batchExtra >= 0);
+ if (batchExtra > 0) {
+ extra = (char*) BigAlloc(batchCount * batchExtra);
+ extraBatches = new DataBatch[batchCount];
+ memset(extraBatches, 0, batchCount * sizeof(DataBatch));
+ extraHolds = new int[batchCount];
+ memset(extraHolds, 0, batchCount * sizeof(int));
+ } else {
+ extra = NULL;
+ extraBatches = NULL;
+ }
+ if (! (CreateSingleWaiterObject(&waiter) && InitializeExclusiveLock(&lock))) {
+ WriteErrorMessage("MemMapDataReader: CreateSingleWaiterObject failed\n");
+ soft_exit(1);
+ }
+}
+
+MemMapDataReader::~MemMapDataReader()
+{
+ if (extra != NULL) {
+ BigDealloc(extra);
+ extra = NULL;
+ }
+ if (extraBatches != NULL) {
+ delete [] extraBatches;
+ }
+ DestroyExclusiveLock(&lock);
+ DestroySingleWaiterObject(&waiter);
+ if (mapper != NULL) {
+ if (currentMap != NULL) {
+ mapper->unmap(currentMappedBase);
+ }
+ supplier->releaseMapper(fileName);
+ }
+}
+
+ bool
+MemMapDataReader::init(
+ const char* i_fileName)
+{
+ if (mapper != NULL) {
+ supplier->releaseMapper(fileName);
+ }
+ mapper = supplier->getMapper(i_fileName);
+ if (mapper == NULL) {
+ return false;
+ }
+ fileName = i_fileName;
+ fileSize = mapper->getFileSize();
+ batchSize = batchSizeParam == 0 ? fileSize : batchSizeParam;
+ return true;
+}
+
+ char*
+MemMapDataReader::readHeader(
+ _int64* io_headerSize)
+{
+ *io_headerSize = min(*io_headerSize, fileSize);
+ reinit(0, *io_headerSize);
+ return currentMap;
+}
+
+ void
+MemMapDataReader::reinit(
+ _int64 i_startingOffset,
+ _int64 amountOfFileToProcess)
+{
+ _ASSERT(i_startingOffset >= 0 && amountOfFileToProcess >= 0);
+ if (currentMap != NULL) {
+ mapper->unmap(currentMappedBase);
+ }
+ _int64 oldAmount = amountOfFileToProcess;
+ _int64 startSize = amountOfFileToProcess == 0 ? fileSize - i_startingOffset
+ : max((_int64) 0, min(fileSize - i_startingOffset, amountOfFileToProcess));
+ amountOfFileToProcess = max((_int64)0, min(startSize + overflowBytes, fileSize - i_startingOffset));
+ currentMap = mapper->createMapping(i_startingOffset, amountOfFileToProcess, ¤tMappedBase);
+ if (currentMap == NULL) {
+ WriteErrorMessage("MemMapDataReader: fail to map %s at %lld,%lld\n", fileName, i_startingOffset, amountOfFileToProcess);
+ soft_exit(1);
+ }
+ acquireLock();
+ currentMapOffset = i_startingOffset;
+ currentMapStartSize = startSize;
+ currentMapSize = amountOfFileToProcess;
+ offset = 0;
+ startBytes = min(batchSize, currentMapStartSize - (currentBatch - 1) * batchSize);
+ validBytes = min(batchSize + overflowBytes, currentMapSize - (currentBatch - 1) * batchSize);
+ currentBatch = 1;
+ extraUsed = 1;
+ currentExtraIndex = 0;
+ if (extraBatches != NULL) {
+ memset(extraBatches, 0, sizeof(DataBatch) * batchCount);
+ extraBatches[currentExtraIndex] = currentBatch;
+ memset(extraHolds, 0, sizeof(int) * batchCount);
+ }
+ releaseLock();
+ if (batchCount != 1) {
+ SignalSingleWaiterObject(&waiter);
+ }
+}
+
+ bool
+MemMapDataReader::getData(
+ char** o_buffer,
+ _int64* o_validBytes,
+ _int64* o_startBytes)
+{
+ if (offset >= startBytes) {
+ return false;
+ }
+ *o_buffer = currentMap + (currentBatch - 1) * batchSize + offset;
+ *o_validBytes = validBytes - offset;
+ if (o_startBytes) {
+ *o_startBytes = max((_int64)0, startBytes - offset);
+ }
+ return *o_validBytes > 0;
+}
+
+ void
+MemMapDataReader::advance(
+ _int64 bytes)
+{
+ _ASSERT(bytes >= 0);
+ offset = min(offset + max((_int64)0, bytes), validBytes);
+}
+
+ void
+MemMapDataReader::nextBatch()
+{
+ if (isEOF()) {
+ return;
+ }
+ while (true) {
+ acquireLock();
+ if (extraBatches == NULL || extraUsed < batchCount) {
+ currentBatch++;
+ if (extraBatches != NULL) {
+ bool found = false;
+ for (int i = 0; i < batchCount; i++) {
+ if (extraBatches[i].batchID == 0) {
+ extraBatches[i].batchID = currentBatch;
+ currentExtraIndex = i;
+ found = true;
+ break;
+ }
+ }
+ _ASSERT(found);
+ extraUsed++;
+ //fprintf(stderr, "MemMap nextBatch %d:%d = index %d used %d of %d\n", 0, currentBatch, currentExtraIndex, extraUsed, batchCount);
+ if (extraUsed == batchCount) {
+ ResetSingleWaiterObject(&waiter);
+ }
+ }
+ releaseLock();
+ offset = max(offset, startBytes) - startBytes;
+ startBytes = min(batchSize, currentMapStartSize - (currentBatch - 1) * batchSize);
+ validBytes = min(batchSize + overflowBytes, currentMapSize - (currentBatch - 1) * batchSize);
+ _ASSERT(validBytes >= 0);
+ return;
+ }
+ releaseLock();
+ WaitForSingleWaiterObject(&waiter);
+ }
+}
+
+ bool
+MemMapDataReader::isEOF()
+{
+ return currentBatch * batchSize >= currentMapSize;
+}
+
+ DataBatch
+MemMapDataReader::getBatch()
+{
+ return DataBatch(currentBatch);
+}
+
+ void
+MemMapDataReader::holdBatch(
+ DataBatch batch)
+{
+ if (extraBatches == NULL) {
+ return;
+ }
+ acquireLock();
+ for (int i = 0; i < batchCount; i++) {
+ if (extraBatches[i] == batch) {
+ extraHolds[i]++;
+ break;
+ }
+ }
+ releaseLock();
+}
+
+ bool
+MemMapDataReader::releaseBatch(
+ DataBatch batch)
+{
+ if (extraBatches == NULL) {
+ return true;
+ }
+ bool result = true;
+ acquireLock();
+ for (int i = 0; i < batchCount; i++) {
+ if (extraBatches[i] == batch) {
+ if (extraHolds[i] > 0) {
+ extraHolds[i]--;
+ }
+ if (extraHolds[i] == 0) {
+ extraBatches[i].batchID = 0;
+ _ASSERT(extraUsed > 0);
+ extraUsed--;
+ //fprintf(stderr,"MemMap: releaseBatch %d:%d = index %d now using %d of %d\n", batch.fileID, batch.batchID, i, extraUsed, batchCount);
+ if (extraUsed == batchCount - 1) {
+ SignalSingleWaiterObject(&waiter);
+ }
+ releaseLock();
+ } else {
+ result = false;
+ }
+ break;
+ }
+ }
+ releaseLock();
+ return result;
+}
+
+ _int64
+MemMapDataReader::getFileOffset()
+{
+ return currentMapOffset + (currentBatch - 1) * batchSize + offset;
+}
+
+ void
+MemMapDataReader::getExtra(
+ char** o_extra,
+ _int64* o_length)
+{
+ if (extra == NULL) {
+ *o_extra = NULL;
+ *o_length = 0;
+ } else {
+ *o_extra = extra + currentExtraIndex * batchExtra;
+ *o_length = batchExtra;
+ }
+}
+
+MemMapDataSupplier::MemMapDataSupplier() : DataSupplier()
+{
+ InitializeExclusiveLock(&lock);
+}
+
+MemMapDataSupplier::~MemMapDataSupplier()
+{
+ DestroyExclusiveLock(&lock);
+}
+
+ DataReader*
+MemMapDataSupplier::getDataReader(
+ int bufferCount,
+ _int64 overflowBytes,
+ double extraFactor,
+ size_t bufferSpace /*not relevant*/)
+{
+ _ASSERT(extraFactor >= 0 && overflowBytes >= 0);
+ if (extraFactor == 0) {
+ // no per-batch expansion factor, so can read entire file as a batch
+ return new MemMapDataReader(this, 1, 0, overflowBytes, 0);
+ } else {
+ // break up into 4Mb batches
+ _int64 batch = 4 * 1024 * 1024;
+ _int64 extra = (_int64)(batch * extraFactor);
+ return new MemMapDataReader(this, bufferCount, batch, overflowBytes, extra);
+ }
+}
+
+ FileMapper*
+MemMapDataSupplier::getMapper(
+ const char* fileName)
+{
+ AcquireExclusiveLock(&lock);
+ FileMapper* result = mappers[fileName];
+ if (result == NULL) {
+ result = new FileMapper();
+ result->init(fileName);
+ mappers[fileName] = result;
+ }
+ ++refcounts[fileName];
+ ReleaseExclusiveLock(&lock);
+ return result;
+}
+
+ void
+MemMapDataSupplier::releaseMapper(
+ const char* fileName)
+{
+ AcquireExclusiveLock(&lock);
+ int n = refcounts[fileName];
+ if (n > 0 && 0 == --refcounts[fileName]) {
+ delete mappers[fileName];
+ mappers[fileName] = NULL;
+ }
+ ReleaseExclusiveLock(&lock);
+}
+
+//
+// BatchTracker
+//
+
+BatchTracker::BatchTracker(int i_capacity)
+ : pending(i_capacity)
+{
+}
+
+ bool
+BatchTracker::holdBatch(
+ DataBatch batch)
+{
+ DataBatch::Key key = batch.asKey();
+ unsigned* p = pending.tryFind(key);
+ int n = 1;
+ if (p != NULL) {
+ n = ++(*p);
+ } else {
+ pending.put(key, 1);
+ }
+ //_ASSERT(pending.tryFind(DataBatch(batch.batchID, 1^batch.fileID).asKey) != p);
+ //unsigned* q = pending.tryFind(key); _ASSERT(q && (p == NULL || p == q) && *q == n);
+ //fprintf(stderr, "thread %d tracker %lx addRead %u:%u = %d\n", GetCurrentThreadId(), this, batch.fileID, batch.batchID, n);
+ return p == NULL;
+}
+
+ bool
+BatchTracker::releaseBatch(
+ DataBatch removed)
+{
+ DataBatch::Key key = removed.asKey();
+ unsigned* p = pending.tryFind(key);
+ //fprintf(stderr, "thread %d tracker %lx removeRead %u:%u = %d\n", GetCurrentThreadId(), this, removed.fileID, removed.batchID, p ? *p - 1 : -1);
+ _ASSERT(p != NULL && *p > 0);
+ if (p != NULL) {
+ if (*p > 1) {
+ pending.put(key, *p - 1);
+ //unsigned* q = pending.tryFind(key); _ASSERT(q == p);
+ //_ASSERT(pending.tryFind(DataBatch(removed.batchID, 1^removed.fileID).asKey) != p);
+ return false;
+ }
+ pending.erase(key);
+ }
+ return true;
+}
+
+//
+// public static suppliers
+//
+
+DataSupplier* DataSupplier::MemMap = new MemMapDataSupplier();
+
+#ifdef _MSC_VER
+DataSupplier* DataSupplier::Default = DataSupplier::WindowsOverlapped;
+#else
+DataSupplier* DataSupplier::Default = DataSupplier::MemMap;
+#endif
+
+DataSupplier* DataSupplier::GzipDefault = DataSupplier::Gzip(DataSupplier::Default);
+
+DataSupplier* DataSupplier::GzipBamDefault = DataSupplier::GzipBam(DataSupplier::Default);
+
+DataSupplier* DataSupplier::Stdio = DataSupplier::StdioSupplier();
+
+DataSupplier* DataSupplier::GzipStdio = DataSupplier::Gzip(DataSupplier::Stdio);
+
+DataSupplier* DataSupplier::GzipBamStdio = DataSupplier::GzipBam(DataSupplier::Stdio);
+
+
+int DataSupplier::ThreadCount = 1;
+
+double DataSupplier::ExpansionFactor = 1.0;
+
+volatile _int64 DataReader::ReadWaitTime = 0;
+volatile _int64 DataReader::ReleaseWaitTime = 0;
diff --git a/SNAPLib/DataReader.h b/SNAPLib/DataReader.h
new file mode 100644
index 0000000..15eeef1
--- /dev/null
+++ b/SNAPLib/DataReader.h
@@ -0,0 +1,210 @@
+/*++
+
+Module Name:
+
+ DataReader.h
+
+Abstract:
+
+ Headers for the DataReader & related classes for the SNAP sequencer
+
+Authors:
+
+ Ravi Pandya, Jan 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+#pragma once
+
+#include "Compat.h"
+#include "VariableSizeMap.h"
+//
+// This defines a family of composable classes for efficiently reading data with flow control.
+//
+// DataReader
+// Reads data from one or more files either sequentially, in ranges, or memory-mapped.
+// A DataReader should be accessed by only one thread at a time,
+// except for release() which may be called from any thread.
+// Divides data into sequential batches each of which is identified by a file ID and batch ID.
+// Data in a batch will remain stable until it is released by the consumer.
+// Consumers should release batches as soon as possible to make buffers free for read-ahead.
+// Batches may include extra data for higher layers that also remains stable.
+// Extra data size is defined as a factor of the underlying data size, and/or a fixed number of bytes.
+//
+// DataSupplier
+// A factory for DataReaders, which may be called from multiple threads.
+//
+
+struct DataBatch
+{
+ _uint32 fileID;
+ _uint32 batchID;
+
+ inline DataBatch() : fileID(0), batchID(0) {}
+
+ inline DataBatch(_uint32 i_batchID, _uint32 i_fileID = 0) : fileID(i_fileID), batchID(i_batchID) {}
+
+ inline DataBatch(const DataBatch& o) : fileID(o.fileID), batchID(o.batchID) {}
+
+ static bool comparator(const DataBatch& a, const DataBatch& b)
+ { return a.fileID < b.fileID || (a.fileID == b.fileID && a.batchID < b.batchID); }
+
+ inline bool operator<=(const DataBatch& b) const
+ { return fileID < b.fileID || (fileID == b.fileID && batchID <= b.batchID); }
+
+ inline bool operator<(const DataBatch& b) const
+ { return fileID < b.fileID || (fileID == b.fileID && batchID < b.batchID); }
+
+ inline bool operator==(const DataBatch& b) const
+ { return fileID == b.fileID && batchID == b.batchID; }
+
+ inline bool operator!=(const DataBatch& b) const
+ { return batchID != b.batchID || fileID != b.fileID; }
+
+ inline DataBatch Min(const DataBatch& b) const
+ { return *this <= b ? *this : b; }
+
+ inline bool isZero() const
+ { return fileID == 0 && batchID == 0; }
+
+ // convert to _int64 for use as a hashtable key
+
+ typedef _int64 Key;
+
+ inline Key asKey()
+ { return (((_int64) fileID) << 32) + (_int64) batchID; }
+
+ inline DataBatch(Key key) : fileID((_uint32) (key >> 32)), batchID((_uint32) key) {}
+};
+
+// read data from a file or other source
+// should all be called from a single thread, except for hold/releaseBatch which are thread-safe
+class DataReader
+{
+public:
+ DataReader() {}
+
+ virtual ~DataReader() {}
+
+ // initialize to use a specific filename
+ virtual bool init(const char* fileName) = 0;
+
+ // read bytes from the beginning of the file for the header
+ virtual char* readHeader(_int64* io_headerSize) = 0;
+
+ // seek to a particular range in the file
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess) = 0;
+
+ // get all remaining data in current batch
+ // return false if no more data in current batch
+ // startBytes is data "owned" by this block in which reads may start
+ // validBytes may also include overflow bytes to handle records spanning batches
+ // if you advance() past startBytes, nextBatch() will start offset at that point
+ virtual bool getData(char** o_buffer, _int64* o_validBytes, _int64* o_startBytes = NULL) = 0;
+
+ // advance through data in current batch, reducing results from next getData call
+ virtual void advance(_int64 bytes) = 0;
+
+ // advance to next batch
+ // by default automatically releases previous batch
+ virtual void nextBatch() = 0;
+
+ // whether current batch is last in file
+ virtual bool isEOF() = 0;
+
+ // get current batch identifier
+ virtual DataBatch getBatch() = 0;
+
+ // hold buffers associated with this batch for reuse, increments refcount
+ // NOTE: this may be called from another thread,
+ // so anything it touches must be thread-safe!
+ virtual void holdBatch(DataBatch batch) = 0;
+
+ // release buffers associated with this batch for reuse
+ // decrements refcount, returns true if last release
+ // NOTE: this may be called from another thread,
+ // so anything it touches must be thread-safe!
+ virtual bool releaseBatch(DataBatch batch) = 0;
+
+ // get current offset into file
+ virtual _int64 getFileOffset() = 0;
+
+ // get pointer to extra data area for current batch
+ // todo: allow this to grow dynamically while keeping stable pointers to previous data
+ virtual void getExtra(char** o_extra, _int64* o_length) = 0;
+
+ // get filename for debugging / error printing
+ virtual const char* getFilename() = 0;
+
+ // timing for performance tuning (in nanos)
+ static volatile _int64 ReadWaitTime;
+ static volatile _int64 ReleaseWaitTime;
+};
+
+class DataSupplier
+{
+public:
+ DataSupplier() {}
+
+ virtual ~DataSupplier() {}
+
+ virtual DataReader* getDataReader(int bufferCount, _int64 overflowBytes, double extraFactor, size_t bufferSpace) = 0;
+
+ //
+ // creating specific factories
+ //
+
+ //
+ static DataSupplier* GzipBam(DataSupplier* inner);
+ static DataSupplier* Gzip(DataSupplier* inner);
+ static DataSupplier* StdioSupplier();
+
+ // memmap works on both platforms (but better on Linux)
+ static DataSupplier* MemMap;
+
+#ifdef _MSC_VER
+ // overlapped is only on Windows
+ static DataSupplier* WindowsOverlapped;
+#endif
+
+ // default raw data supplier for platform
+ static DataSupplier* Default;
+ static DataSupplier* GzipDefault;
+ static DataSupplier* GzipBamDefault;
+
+ static DataSupplier* GzipStdio;
+ static DataSupplier* Stdio;
+ static DataSupplier* GzipBamStdio;
+
+ // hack: must be set to communicate thread count into suppliers
+ static int ThreadCount;
+
+ // hack: global for additional expansion factor
+ static double ExpansionFactor;
+};
+
+// manages lifetime tracking for batches of reads
+class BatchTracker
+{
+public:
+ BatchTracker(int i_capacity);
+
+ // reference was added from a batch, increment reference count
+ // return true if first hold
+ bool holdBatch(DataBatch batch);
+
+ // reference was removed from a batch
+ // returns true if the batch has no more references
+ bool releaseBatch(DataBatch batch);
+
+private:
+ typedef VariableSizeMap<DataBatch::Key,unsigned> BatchMap;
+ BatchMap pending;
+};
+
diff --git a/SNAPLib/DataWriter.cpp b/SNAPLib/DataWriter.cpp
new file mode 100644
index 0000000..9c32ef7
--- /dev/null
+++ b/SNAPLib/DataWriter.cpp
@@ -0,0 +1,876 @@
+/*++
+
+Module Name:
+
+ DataWriter.cpp
+
+Abstract:
+
+ General file writer.
+
+Environment:
+
+ User mode service.
+
+ Not thread safe.
+
+--*/
+
+#include "stdafx.h"
+#include "BigAlloc.h"
+#include "Compat.h"
+#include "DataWriter.h"
+#include "ParallelTask.h"
+#include "exit.h"
+#include "Bam.h"
+#include "Error.h"
+
+using std::min;
+using std::max;
+
+class AsyncDataWriterSupplier : public DataWriterSupplier
+{
+public:
+ AsyncDataWriterSupplier(const char* i_filename, DataWriter::FilterSupplier* i_filterSupplier,
+ FileEncoder* i_encoder, int i_bufferCount, size_t i_bufferSize);
+
+ virtual DataWriter* getWriter();
+
+ virtual void close();
+
+private:
+ friend class AsyncDataWriter;
+ friend class FileEncoder;
+ void advance(size_t physical, size_t logical, size_t* o_physical, size_t* o_logical);
+
+ const char* filename;
+ AsyncFile* file;
+ DataWriter::FilterSupplier* filterSupplier;
+ FileEncoder* encoder;
+ const int bufferCount;
+ const size_t bufferSize;
+ ExclusiveLock lock;
+ size_t sharedOffset;
+ size_t sharedLogical;
+ bool closing;
+};
+
+class AsyncDataWriter : public DataWriter
+{
+public:
+
+ AsyncDataWriter(AsyncFile* i_file, AsyncDataWriterSupplier* i_supplier,
+ int i_count, size_t i_bufferSize, Filter* i_filter, FileEncoder* i_encoder);
+
+ virtual ~AsyncDataWriter()
+ {
+ for (int i = 0; i < count; i++) {
+ delete batches[i].file;
+ }
+ BigDealloc(batches[0].buffer); // all in one big block
+ delete [] batches;
+ if (encoder != NULL) {
+ delete encoder;
+ }
+ DestroyExclusiveLock(&lock);
+ }
+
+ virtual bool getBuffer(char** o_buffer, size_t* o_size);
+
+ virtual void advance(GenomeDistance bytes, GenomeLocation location = 0);
+
+ virtual bool getBatch(int relative, char** o_buffer, size_t* o_size, size_t* o_used, size_t* o_offset, size_t* o_logicalUsed = 0, size_t* o_logicalOffset = NULL);
+
+ virtual bool nextBatch();
+
+ virtual void close();
+
+private:
+
+ void acquireLock()
+ { if (encoder != NULL) { AcquireExclusiveLock(&lock); } }
+
+ void releaseLock()
+ { if (encoder != NULL) { ReleaseExclusiveLock(&lock); } }
+
+ struct Batch
+ {
+ char* buffer;
+ AsyncFile::Writer* file;
+ size_t used;
+ size_t fileOffset;
+ size_t logicalUsed;
+ size_t logicalOffset;
+ EventObject encoded;
+ };
+ Batch* batches;
+ const int count;
+ const size_t bufferSize;
+ AsyncDataWriterSupplier* supplier;
+ int current;
+ FileEncoder* encoder;
+ ExclusiveLock lock;
+
+ friend class FileEncoder;
+};
+
+FileEncoder::FileEncoder(
+ int numThreads,
+ bool bindToProcessors,
+ ParallelWorkerManager* i_manager)
+ :
+ encoderRunning(false),
+ coworker(numThreads == 0 ? NULL
+ : new ParallelCoworker(numThreads, bindToProcessors, i_manager, FileEncoder::outputReadyCallback, this))
+{}
+
+ void
+FileEncoder::initialize(
+ AsyncDataWriter* i_writer)
+{
+ writer = i_writer;
+ lock = &writer->lock;
+ encoderBatch = writer->count - 1;
+ if (coworker != NULL) {
+ coworker->getManager()->initialize(this);
+ coworker->start();
+ }
+}
+
+ void
+FileEncoder::inputReady()
+{
+ AcquireExclusiveLock(lock);
+ if (! encoderRunning) {
+ checkForInput();
+ }
+ ReleaseExclusiveLock(lock);
+}
+
+ void
+FileEncoder::close()
+{
+ // wait for pending encodes
+ AcquireExclusiveLock(lock);
+ int start = encoderBatch;
+ int pending = (writer->current + writer->count - start) % writer->count;
+ ReleaseExclusiveLock(lock);
+ for (int i = 0; i < pending; i++) {
+ WaitForEvent(&writer->batches[(start + i) % writer->count].encoded);
+ }
+ coworker->stop();
+}
+
+ void
+FileEncoder::outputReadyCallback(
+ void *p)
+{
+ ((FileEncoder*) p)->outputReady();
+}
+
+ void
+FileEncoder::outputReady()
+{
+ AcquireExclusiveLock(lock);
+
+ encoderRunning = false;
+
+ // begin writing the buffer to disk
+ AsyncDataWriter::Batch* write = &writer->batches[encoderBatch];
+ writer->supplier->advance(write->used, 0, &write->fileOffset, &write->logicalOffset);
+ //fprintf(stderr, "outputReady write batch %d @%lld:%lld\n", encoderBatch, write->fileOffset, write->used);
+ if (! write->file->beginWrite(write->buffer, write->used, write->fileOffset, NULL)) {
+ WriteErrorMessage("error: file write %lld bytes at offset %lld failed\n", write->used, write->fileOffset);
+ soft_exit(1);
+ }
+ AllowEventWaitersToProceed(&write->encoded);
+
+ // check for more work
+ checkForInput();
+
+ ReleaseExclusiveLock(lock);
+}
+
+ void
+FileEncoder::checkForInput()
+{
+ // look for another block ready to encode
+ while (true) {
+ int nextBatch = (encoderBatch + 1) % writer->count;
+ if (nextBatch == writer->current) {
+ break;
+ }
+ encoderBatch = nextBatch;
+ AsyncDataWriter::Batch* encode = &writer->batches[encoderBatch];
+ if (encode->used > 0) {
+ encoderRunning = true;
+ coworker->step();
+ break;
+ }
+ }
+}
+
+ void
+FileEncoder::setupEncode(
+ int relative)
+{
+ encoderBatch = (writer->current + relative + writer->count) % writer->count;
+}
+
+ void
+FileEncoder::getEncodeBatch(
+ char** o_batch,
+ size_t* o_batchSize,
+ size_t* o_batchUsed)
+{
+ AsyncDataWriter::Batch* batch = &writer->batches[encoderBatch];
+ *o_batch = batch->buffer;
+ *o_batchSize = writer->bufferSize;
+ *o_batchUsed = batch->used;
+ //fprintf(stderr, "getEncodeBatch #%d: %lld/%lld\n", encoderBatch, batch->used, writer->bufferSize);
+}
+
+ void
+FileEncoder::getOffsets(
+ size_t* o_logicalOffset,
+ size_t* o_physicalOffset)
+{
+ // logical has already been set correctly in batch
+ *o_logicalOffset = writer->batches[encoderBatch].logicalOffset;
+ // physical is not yet updated, use shared
+ *o_physicalOffset = writer->supplier->sharedOffset;
+}
+
+ void
+FileEncoder::setEncodedBatchSize(
+ size_t newSize)
+{
+ size_t old = writer->batches[encoderBatch].used;
+//fprintf(stderr, "setEncodedBatchSize #%d %lld -> %lld\n", encoderBatch, old, newSize);
+ if (newSize != old) {
+ AcquireExclusiveLock(lock);
+ AsyncDataWriter::Batch* batch = &writer->batches[encoderBatch];
+ batch->logicalUsed = batch->used;
+ batch->used = newSize;
+ ReleaseExclusiveLock(lock);
+ }
+}
+
+AsyncDataWriter::AsyncDataWriter(
+ AsyncFile* i_file,
+ AsyncDataWriterSupplier* i_supplier,
+ int i_count,
+ size_t i_bufferSize,
+ Filter* i_filter,
+ FileEncoder* i_encoder)
+ :
+ DataWriter(i_filter),
+ encoder(i_encoder),
+ supplier(i_supplier),
+ count(i_count),
+ bufferSize(i_bufferSize),
+ current(0)
+{
+ _ASSERT(count >= 2);
+ char* block = (char*) BigAlloc(count * bufferSize);
+ if (block == NULL) {
+ WriteErrorMessage("Unable to allocate %lld bytes for write buffers\n", count * bufferSize);
+ soft_exit(1);
+ }
+ batches = new Batch[count];
+ for (int i = 0; i < count; i++) {
+ batches[i].buffer = block + i * bufferSize;
+ batches[i].file = i_file->getWriter();
+ batches[i].used = 0;
+ batches[i].fileOffset = 0;
+ batches[i].logicalUsed = 0;
+ batches[i].logicalOffset = 0;
+ if (encoder != NULL) {
+ CreateEventObject(&batches[i].encoded);
+ AllowEventWaitersToProceed(&batches[i].encoded); // initialize so empty bufs are available
+ }
+ }
+
+ InitializeExclusiveLock(&lock);
+ if (encoder != NULL) {
+ encoder->initialize(this);
+ }
+}
+
+ bool
+AsyncDataWriter::getBuffer(
+ char** o_buffer,
+ size_t* o_size)
+{
+ *o_buffer = batches[current].buffer + batches[current].used;
+ *o_size = bufferSize - batches[current].used;
+ return true;
+}
+
+ void
+AsyncDataWriter::advance(
+ GenomeDistance bytes,
+ GenomeLocation location)
+{
+ _ASSERT((size_t)bytes <= bufferSize - batches[current].used);
+ char* data = batches[current].buffer + batches[current].used;
+ size_t batchOffset = batches[current].used;
+ batches[current].used = min<long long>(bufferSize, batchOffset + bytes);
+ if (filter != NULL) {
+ //_int64 start = timeInNanos();
+ filter->onAdvance(this, batchOffset, data, bytes, location);
+ //InterlockedAdd64AndReturnNewValue(&FilterTime, timeInNanos() - start);
+ }
+}
+
+ bool
+AsyncDataWriter::getBatch(
+ int relative,
+ char** o_buffer,
+ size_t* o_size,
+ size_t* o_used,
+ size_t* o_offset,
+ size_t* o_logicalUsed,
+ size_t* o_logicalOffset)
+{
+ if (relative < 1 - count || relative > count - 1) {
+ return false;
+ }
+ if (encoder != NULL && relative <= ((encoder->encoderBatch - current + count) % count) - count) {
+ return false;
+ }
+ int index = (current + relative + count) % count; // ensure non-negative
+ Batch* batch = &batches[index];
+ *o_buffer = batch->buffer;
+ if (o_size != NULL) {
+ *o_size = bufferSize;
+ }
+ if (o_used != NULL) {
+ *o_used = relative <= 0 ? batch->used : 0;
+ }
+ if (o_offset != NULL) {
+ *o_offset = relative <= 0 ? batch->fileOffset : 0;
+ }
+ if (o_logicalUsed != NULL) {
+ *o_logicalUsed = relative <=0 ? batch->logicalUsed: 0;
+ }
+ if (o_logicalOffset != NULL) {
+ *o_logicalOffset = relative <=0 ? batch->logicalOffset : 0;
+ }
+ if (relative >= 0) {
+ if (encoder != NULL) {
+ WaitForEvent(&batch->encoded);
+ }
+ batch->file->waitForCompletion();
+ }
+ return true;
+}
+
+ bool
+AsyncDataWriter::nextBatch()
+{
+ _int64 start = timeInNanos();
+ if (encoder != NULL) {
+ WaitForEvent(&batches[(current + 1) % count].encoded);
+ }
+ acquireLock();
+ int written = current;
+ Batch* write = &batches[written];
+ write->logicalUsed = write->used;
+ current = (current + 1) % count;
+ //fprintf(stderr, "nextBatch reset %d used=0\n", current);
+ batches[current].used = 0;
+ bool newBuffer = filter != NULL && (filter->filterType == CopyFilter || filter->filterType == TransformFilter);
+ bool newSize = filter != NULL && (filter->filterType == TransformFilter || filter->filterType == ResizeFilter);
+ if (newSize) {
+ // advisory only
+ write->fileOffset = supplier->sharedOffset;
+ write->logicalOffset = supplier->sharedLogical;
+ } else {
+ supplier->advance(encoder == NULL ? write->used : 0, write->logicalUsed, &write->fileOffset, &write->logicalOffset);
+ }
+ if (filter != NULL) {
+ size_t n = filter->onNextBatch(this, write->fileOffset, write->used);
+ if (newSize) {
+ write->used = n;
+ supplier->advance(encoder == NULL ? write->used : 0, write->logicalUsed, &write->fileOffset, &write->logicalOffset);
+ }
+ if (newBuffer) {
+ // current has used>0, written has logicalUsed>0, for compressed & uncompressed data respectively
+ batches[current].used = write->used;
+ batches[current].fileOffset = write->fileOffset;
+ batches[current].logicalUsed = 0;
+ batches[current].logicalOffset = write->logicalOffset;
+ write->used = 0;
+ written = current;
+ write = &batches[written];
+ current = (current + 1) % count;
+ batches[current].used = 0;
+ batches[current].logicalUsed = 0;
+ }
+ }
+ _int64 start2 = timeInNanos();
+ releaseLock();
+
+ InterlockedAdd64AndReturnNewValue(&FilterTime, start2 - start);
+ if (encoder == NULL) {
+ //fprintf(stderr, "nextBatch beginWrite #%d @%lld: %lld bytes\n", write-batches, write->fileOffset, write->used);
+ //_ASSERT(BgzfHeader::validate(write->buffer, write->used)); //!! remove before checkin
+ if (! write->file->beginWrite(write->buffer, write->used, write->fileOffset, NULL)) {
+ WriteErrorMessage("error: file write %lld bytes at offset %lld failed\n", write->used, write->fileOffset);
+ soft_exit(1);
+ }
+ } else {
+ PreventEventWaitersFromProceeding(&write->encoded);
+ encoder->inputReady();
+ }
+ if (! batches[current].file->waitForCompletion()) {
+ WriteErrorMessage("error: file write failed\n");
+ soft_exit(1);
+ }
+ InterlockedAdd64AndReturnNewValue(&WaitTime, timeInNanos() - start2);
+ return true;
+}
+
+ void
+AsyncDataWriter::close()
+{
+ nextBatch(); // ensure last buffer gets written
+ if (encoder != NULL) {
+ encoder->close();
+ for (int i = 0; i < count; i++) {
+ DestroyEventObject(&batches[i].encoded);
+ }
+ }
+ for (int i = 0; i < count; i++) {
+ batches[i].file->close();
+ }
+}
+
+AsyncDataWriterSupplier::AsyncDataWriterSupplier(
+ const char* i_filename,
+ DataWriter::FilterSupplier* i_filterSupplier,
+ FileEncoder* i_encoder,
+ int i_bufferCount,
+ size_t i_bufferSize)
+ :
+ filename(i_filename),
+ filterSupplier(i_filterSupplier),
+ encoder(i_encoder),
+ bufferCount(i_bufferCount),
+ bufferSize(i_bufferSize),
+ sharedOffset(0),
+ sharedLogical(0),
+ closing(false)
+{
+ file = AsyncFile::open(filename, true);
+ if (file == NULL) {
+ WriteErrorMessage("failed to open %s for write\n", filename);
+ soft_exit(1);
+ }
+ InitializeExclusiveLock(&lock);
+}
+
+ DataWriter*
+AsyncDataWriterSupplier::getWriter()
+{
+ return new AsyncDataWriter(file, this, bufferCount, bufferSize,
+ filterSupplier && ! closing ? filterSupplier->getFilter() : NULL,
+ closing ? NULL : encoder);
+}
+
+ void
+AsyncDataWriterSupplier::close()
+{
+ closing = true;
+ if (filterSupplier != NULL) {
+ filterSupplier->onClosing(this);
+ }
+ file->close();
+ if (filterSupplier != NULL) {
+ filterSupplier->onClosed(this);
+ }
+ DestroyExclusiveLock(&lock);
+}
+ void
+AsyncDataWriterSupplier::advance(
+ size_t physical,
+ size_t logical,
+ size_t* o_physical,
+ size_t* o_logical)
+{
+ AcquireExclusiveLock(&lock);
+ *o_physical = sharedOffset;
+ sharedOffset += physical;
+ *o_logical = sharedLogical;
+ sharedLogical += logical;
+ //fprintf(stderr, "advance %lld + %lld = %lld, logical %lld + %lld = %lld\n", *o_physical, physical, sharedOffset, *o_logical, logical, sharedLogical);
+ ReleaseExclusiveLock(&lock);
+}
+
+ DataWriterSupplier*
+DataWriterSupplier::create(
+ const char* filename,
+ size_t bufferSize,
+ DataWriter::FilterSupplier* filterSupplier,
+ FileEncoder* encoder,
+ int count)
+{
+ return new AsyncDataWriterSupplier(filename, filterSupplier, encoder, count, bufferSize);
+}
+
+class ComposeFilter : public DataWriter::Filter
+{
+public:
+ ComposeFilter(DataWriter::Filter* i_a, DataWriter::Filter* i_b) :
+ Filter(max(i_a->filterType, i_b->filterType)), a(i_a), b(i_b) {}
+
+ virtual ~ComposeFilter()
+ { delete a; delete b; }
+
+ virtual void inHeader(bool flag)
+ {
+ a->inHeader(flag);
+ b->inHeader(flag);
+ }
+
+ virtual void onAdvance(DataWriter* writer, size_t batchOffset, char* data, GenomeDistance bytes, GenomeLocation location)
+ {
+ a->onAdvance(writer, batchOffset, data, bytes, location);
+ b->onAdvance(writer, batchOffset, data, bytes, location);
+ }
+
+ virtual size_t onNextBatch(DataWriter* writer, size_t offset, size_t bytes)
+ {
+ size_t sa = a->onNextBatch(writer, offset, bytes);
+ size_t sb = b->onNextBatch(writer, offset, sa);
+ return sb;
+ }
+
+private:
+ DataWriter::Filter* a;
+ DataWriter::Filter* b;
+};
+
+class ComposeFilterSupplier : public DataWriter::FilterSupplier
+{
+public:
+ ComposeFilterSupplier(DataWriter::FilterSupplier* i_a, DataWriter::FilterSupplier* i_b) :
+ FilterSupplier(max(i_a->filterType, i_b->filterType)), a(i_a), b(i_b) {}
+
+ virtual ~ComposeFilterSupplier()
+ { delete a; delete b; }
+
+ virtual DataWriter::Filter* getFilter()
+ { return new ComposeFilter(a->getFilter(), b->getFilter()); }
+
+ virtual void onClosing(DataWriterSupplier* supplier)
+ {
+ a->onClosing(supplier);
+ b->onClosing(supplier);
+ }
+
+ virtual void onClosed(DataWriterSupplier* supplier)
+ {
+ a->onClosed(supplier);
+ b->onClosed(supplier);
+ }
+
+private:
+ DataWriter::FilterSupplier* a;
+ DataWriter::FilterSupplier* b;
+};
+
+ DataWriter::FilterSupplier*
+DataWriter::FilterSupplier::compose(
+ DataWriter::FilterSupplier* other)
+{
+ return new ComposeFilterSupplier(this, other);
+}
+
+volatile _int64 DataWriter::WaitTime = 0;
+volatile _int64 DataWriter::FilterTime = 0;
+
+
+StdoutAsyncFile::StdoutAsyncFile()
+{
+ if (anyCreated) {
+ WriteErrorMessage("You can only ever write to stdout once per SNAP run (even if you're doing multiple runs with the comma syntax\n");
+ soft_exit(1);
+ }
+ anyCreated = true;
+
+#ifdef _MSC_VER
+ int result = _setmode( _fileno( stdout ), _O_BINARY ); // puts stdout in to non-translated mode, so if we're writing compressed data windows' CRLF processing doesn't destroy it.
+ if (-1 == result) {
+ WriteErrorMessage("StdoutAsyncFile::freopen to change to untranslated mode failed\n");
+ soft_exit(1);
+ }
+#endif // _MSC_VER
+
+ writeElementQueue->next = writeElementQueue->prev = writeElementQueue;
+ highestOffsetCompleted = 0;
+
+ InitializeExclusiveLock(&lock);
+ CreateEventObject(&unexaminedElementsOnQueue);
+ CreateEventObject(&elementsCompleted);
+ PreventEventWaitersFromProceeding(&unexaminedElementsOnQueue);
+ PreventEventWaitersFromProceeding(&elementsCompleted);
+ CreateSingleWaiterObject(&consumerThreadDone);
+
+
+ closing = false;
+
+ StartNewThread(ConsumerThreadMain, this);
+}
+
+ StdoutAsyncFile *
+StdoutAsyncFile::open(const char *filename, bool write)
+{
+ if (strcmp("-", filename) || !write) {
+ WriteErrorMessage("StdoutAsynFile must be named - and must be opened for write.\n");
+ soft_exit(1);
+ }
+
+ return new StdoutAsyncFile();
+}
+class StdoutAsyncFileWriter : public AsyncFile::Writer
+{
+public:
+ StdoutAsyncFileWriter(StdoutAsyncFile *i_asyncFile);
+ ~StdoutAsyncFileWriter() {}
+
+ // waits for all writes to complete, frees resources
+ bool close();
+
+ // begin a write; if there is already a write in progress, might wait for it to complete
+ bool beginWrite(void* buffer, size_t length, size_t offset, size_t *bytesWritten);
+
+ // wait for all prior beginWrites to complete
+ bool waitForCompletion();
+
+private:
+ bool anyWritesStarted;
+ size_t highestOffsetWritten;
+ StdoutAsyncFile *asyncFile;
+};
+
+StdoutAsyncFileWriter::StdoutAsyncFileWriter(StdoutAsyncFile *i_asyncFile)
+{
+ asyncFile = i_asyncFile;
+ highestOffsetWritten = 0;
+ anyWritesStarted = false;
+}
+
+ bool
+StdoutAsyncFileWriter::close()
+ {
+ return waitForCompletion();
+ }
+
+ bool
+StdoutAsyncFileWriter::beginWrite(void* buffer, size_t length, size_t offset, size_t *bytesWritten)
+{
+ _ASSERT(offset > highestOffsetWritten || !anyWritesStarted);
+ //fprintf(stderr, "StdoutAsyncFileWriter::beginWrite(0x%llx, %lld, %lld)\n", buffer, length, offset);
+ asyncFile->beginWrite(buffer, length, offset, bytesWritten);
+ highestOffsetWritten = offset + length;
+ anyWritesStarted = true;
+
+ return true;
+}
+
+ bool
+StdoutAsyncFileWriter::waitForCompletion()
+{
+ if (!anyWritesStarted) {
+ return true;
+ }
+ asyncFile->waitForCompletion(highestOffsetWritten);
+
+ return true;
+}
+
+StdoutAsyncFile::~StdoutAsyncFile()
+{
+ DestroyExclusiveLock(&lock);
+ DestroyEventObject(&unexaminedElementsOnQueue);
+ DestroyEventObject(&elementsCompleted);
+}
+
+ bool
+StdoutAsyncFile::close()
+{
+ AcquireExclusiveLock(&lock);
+ closing = true;
+ AllowEventWaitersToProceed(&unexaminedElementsOnQueue);
+ ReleaseExclusiveLock(&lock);
+
+ WaitForSingleWaiterObject(&consumerThreadDone);
+
+ return true;
+}
+
+ AsyncFile::Writer*
+StdoutAsyncFile::getWriter()
+{
+ return new StdoutAsyncFileWriter(this);
+}
+
+ AsyncFile::Reader*
+StdoutAsyncFile::getReader()
+{
+ WriteErrorMessage("StdoutAsyncFile::getReader() called.\n");
+ soft_exit(1);
+ return NULL;
+}
+
+ void
+StdoutAsyncFile::ConsumerThreadMain(void *param)
+{
+ StdoutAsyncFile *file = (StdoutAsyncFile *)param;
+ SingleWaiterObject *doneObject = &file->consumerThreadDone;
+ file->runConsumer();
+ SignalSingleWaiterObject(doneObject);
+}
+
+ void
+StdoutAsyncFile::beginWrite(void *buffer, size_t length, size_t offset, size_t *o_bytesWritten)
+{
+ if (0 == length) {
+ return;
+ }
+ WriteElement *element = new WriteElement;
+ element->buffer = buffer;
+ element->length = length;
+ element->offset = offset;
+ element->o_bytesWritten = o_bytesWritten;
+
+ AcquireExclusiveLock(&lock);
+ _ASSERT(offset >= highestOffsetCompleted);
+ //
+ // The queue is in order. See if this element goes first.
+ //
+ if (isQueueEmpty() || offset < writeElementQueue->next->offset) {
+ _ASSERT(isQueueEmpty() || offset <= writeElementQueue->next->offset); // It fits entirely before the next element
+ element->enqueue(writeElementQueue);
+ if (element->offset == highestOffsetCompleted) {
+ //
+ // Wake the consumer, this is ready to write.
+ //
+ AllowEventWaitersToProceed(&unexaminedElementsOnQueue);
+ }
+ } else {
+ //
+ // It isn't the first thing on the queue. Figure out where it goes.
+ //
+ WriteElement *possiblePredecessor = writeElementQueue->next;
+ while (possiblePredecessor->next != writeElementQueue && possiblePredecessor->next->offset < offset) {
+ possiblePredecessor = possiblePredecessor->next;
+ }
+ _ASSERT(possiblePredecessor->offset < offset);
+
+ element->enqueue(possiblePredecessor);
+ }
+ ReleaseExclusiveLock(&lock);
+}
+ void
+StdoutAsyncFile::waitForCompletion(size_t offset)
+{
+ AcquireExclusiveLock(&lock);
+ while (offset > highestOffsetCompleted) {
+ PreventEventWaitersFromProceeding(&elementsCompleted);
+ ReleaseExclusiveLock(&lock);
+ WaitForEvent(&elementsCompleted);
+ AcquireExclusiveLock(&lock);
+ }
+ ReleaseExclusiveLock(&lock);
+}
+
+ void
+StdoutAsyncFile::runConsumer()
+{
+ size_t maxWriteSize = 1024 * 1024;
+
+ AcquireExclusiveLock(&lock);
+ for (;;) {
+ if (isQueueEmpty() && closing) {
+ ReleaseExclusiveLock(&lock);
+ //
+ // Done. The caller is responsible for signalling the consumerThreadDone object.
+ //
+ return;
+ }
+
+ if (isQueueEmpty() || writeElementQueue->next->offset != highestOffsetCompleted) {
+ //
+ // Wait for work.
+ //
+ ReleaseExclusiveLock(&lock);
+ WaitForEvent(&unexaminedElementsOnQueue);
+ AcquireExclusiveLock(&lock);
+ PreventEventWaitersFromProceeding(&unexaminedElementsOnQueue);
+ continue;
+ }
+
+ //
+ // We have the next write queued. Write it. Use a loop in case fwrite doesn't take the whole thing at once.
+ //
+ WriteElement *element = writeElementQueue->next;
+ //fprintf(stderr,"StdoutAsyncFile::runConsumer(): writing buffer at 0x%llx, size %lld\n", element->buffer, element->length);
+ ReleaseExclusiveLock(&lock);
+ size_t bytesLeftToWrite = element->length;
+ size_t totalBytesWritten = 0;
+ while (bytesLeftToWrite > 0) {
+ size_t bytesToWrite = __min(bytesLeftToWrite, maxWriteSize);
+ size_t bytesWritten = fwrite((char *)element->buffer + totalBytesWritten, 1, bytesToWrite, stdout);
+ _ASSERT(bytesWritten <= bytesToWrite);
+ if (0 == bytesWritten) {
+ if (ENOMEM == errno && maxWriteSize > 1024) {
+ //
+ // For whatever reason, sometimes trying to write too much to stdout generates an ENOMEM (though we have tons of memory).
+ // If we see that and we're not already at a small size, just reduce our max write size and try again.
+ //
+ maxWriteSize /= 2;
+ } else {
+ WriteErrorMessage("StdoutAsyncFile::runConsumer(): fwrite failed %d\n", errno);
+ soft_exit(1);
+ }
+ }
+ bytesLeftToWrite -= bytesWritten;
+ totalBytesWritten += bytesWritten;
+ }
+
+ if (NULL != element->o_bytesWritten) {
+ *element->o_bytesWritten = totalBytesWritten;
+ }
+
+ AcquireExclusiveLock(&lock);
+ _ASSERT(writeElementQueue->next == element);
+ element->dequeue();
+ highestOffsetCompleted = element->offset + element->length;
+
+ AllowEventWaitersToProceed(&elementsCompleted);
+ delete element;
+ }
+ /*NOTREACHED*/
+}
+ void
+StdoutAsyncFile::WriteElement::enqueue(WriteElement *previous)
+{
+ next = previous->next;
+ prev = previous;
+ prev->next = this;
+ next->prev = this;
+}
+
+ void
+StdoutAsyncFile::WriteElement::dequeue()
+{
+ next->prev = prev;
+ prev->next = next;
+
+ next = prev = NULL;
+}
+
+bool StdoutAsyncFile::anyCreated = false;
diff --git a/SNAPLib/DataWriter.h b/SNAPLib/DataWriter.h
new file mode 100644
index 0000000..52679e7
--- /dev/null
+++ b/SNAPLib/DataWriter.h
@@ -0,0 +1,271 @@
+/*++
+
+Module Name:
+
+ DataWriter.h
+
+Abstract:
+
+ Headers for the DataWriter & related classes for the SNAP sequencer
+
+Authors:
+
+ Ravi Pandya, Feb 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+#pragma once
+
+#include "Compat.h"
+#include "Read.h"
+#include "ParallelTask.h"
+#include "Genome.h"
+
+class DataWriterSupplier;
+
+// per-thread writer for data into a single destination
+class DataWriter
+{
+public:
+
+ enum FilterType
+ {
+ ReadFilter, // reads data but does not modify it
+ ModifyFilter, // modifies data in place
+ CopyFilter, // copies data into new buffer, same size
+ TransformFilter, // copies data into new buffer, possibly different size
+ ResizeFilter, // rewrites data in same buffer, possibly different size
+ };
+ // single filter instance per thread
+ // points to filterSupplier for common data
+ class Filter
+ {
+ public:
+ Filter (FilterType i_filterType) : filterType(i_filterType) {}
+
+ const FilterType filterType;
+
+ virtual ~Filter() {}
+
+ // called to set whether we're writing a header vs. individual reads
+ virtual void inHeader(bool flag) {} // default do nothing
+
+ // called when a chunk of data (i.e. a single read) has been written into the file
+ virtual void onAdvance(DataWriter* writer, size_t batchOffset, char* data, GenomeDistance bytes, GenomeLocation location) = 0;
+
+ // called when a batch has been completed, after advancing to the next
+ // e.g. so use getBatch(-1, ...) to get the one that was just completed
+ // TransformFilters return #byte of transformed data in current buffer, so we need to advance again
+ // TransformFilters should call getBatch(0) to ensure current buffer has been written before they write into it
+ virtual size_t onNextBatch(DataWriter* writer, size_t offset, size_t bytes) = 0;
+ };
+
+ // factory for per-thread filters
+ class FilterSupplier
+ {
+ public:
+ FilterSupplier (FilterType i_filterType) : filterType(i_filterType) {}
+
+ const FilterType filterType;
+
+ virtual ~FilterSupplier() {}
+
+ FilterSupplier* compose(FilterSupplier* other);
+
+ virtual Filter* getFilter() = 0;
+
+ // called when entire file is done; onClosing before file is closed, onClosed after
+ virtual void onClosing(DataWriterSupplier* supplier) = 0;
+ virtual void onClosed(DataWriterSupplier* supplier) = 0;
+ };
+
+ DataWriter(Filter* i_filter) : filter(i_filter) {}
+
+ virtual ~DataWriter() {}
+
+ void inHeader(bool flag)
+ { if (filter != NULL) { filter->inHeader(flag); } }
+
+ // get remaining space in current buffer for writing
+ virtual bool getBuffer(char** o_buffer, size_t* o_size) = 0;
+
+ // advance within current buffer, reducing available space
+ // should be called on each read, with the location
+ virtual void advance(GenomeDistance bytes, GenomeLocation location = 0) = 0;
+
+ // get complete data buffer in batch, relative==0 is current, relative==-1 is previous, etc.
+ // if negative gets old data written, else waits for write to complete so you can write into it
+ // o_offset gets physical offset (e.g. compressed), o_logical gets data offset (e.g. uncompressed)
+ virtual bool getBatch(int relative, char** o_buffer, size_t* o_size = NULL, size_t* o_used = NULL, size_t* o_offset = NULL, size_t* o_logicalUsed = 0, size_t* o_logicalOffset = NULL) = 0;
+
+ // advance to next buffer
+ virtual bool nextBatch() = 0;
+
+ // this thread is complete
+ virtual void close() = 0;
+
+ // nanosecond timers
+ static volatile _int64 FilterTime;
+ static volatile _int64 WaitTime;
+
+protected:
+ Filter* filter;
+};
+
+class FileFormat;
+class Genome;
+class GzipWriterFilterSupplier;
+class FileEncoder;
+
+// creates writers for multiple threads
+class DataWriterSupplier
+{
+public:
+ virtual ~DataWriterSupplier() {}
+
+ virtual DataWriter* getWriter() = 0;
+
+ // call when all threads are done, all filters destroyed
+ virtual void close() = 0;
+
+ static DataWriterSupplier* create(
+ const char* filename,
+ size_t bufferSize,
+ DataWriter::FilterSupplier* filterSupplier = NULL,
+ FileEncoder* encoder = NULL,
+ int count = 4);
+
+ static DataWriterSupplier* sorted(
+ const FileFormat* format,
+ const Genome* genome,
+ const char* tempFileName,
+ size_t tempBufferMemory,
+ int numThreads,
+ const char* sortedFileName,
+ DataWriter::FilterSupplier* sortedFilterSupplier,
+ size_t maxBufferSize,
+ FileEncoder* encoder = NULL);
+
+ // defaults follow BAM output spec
+ static GzipWriterFilterSupplier* gzip(bool bamFormat, size_t chunkSize, int numThreads, bool bindToProcessors, bool multiThreaded);
+
+ static DataWriter::FilterSupplier* markDuplicates(const Genome* genome);
+
+ static DataWriter::FilterSupplier* bamIndex(const char* indexFileName, const Genome* genome, GzipWriterFilterSupplier* gzipSupplier);
+};
+
+class AsyncDataWriter;
+
+class FileEncoder
+{
+public:
+ FileEncoder(int numThreads, bool bindToProcessors, ParallelWorkerManager* i_supplier);
+
+ ~FileEncoder()
+ {
+ if (coworker != NULL) {
+ _ASSERT(! encoderRunning); coworker->stop(); delete coworker;
+ }
+ }
+
+ static FileEncoder* gzip(GzipWriterFilterSupplier* filterSupplier, int numThreads, bool bindToProcessor, size_t chunkSize = 65536, bool bam = true);
+
+ // post-construction initialization
+ void initialize(AsyncDataWriter* i_writer);
+
+ // called by writer when there is data to encode; threadsafe
+ void inputReady();
+
+ void close();
+
+ // called by supplier to get/set information about current batch
+
+ void setupEncode(int relative);
+
+ void getEncodeBatch(char** o_batch, size_t* o_batchSize, size_t* o_batchUsed);
+
+ void getOffsets(size_t* o_logicalOffset, size_t* o_physicalOffset);
+
+ void setEncodedBatchSize(size_t newSize);
+
+private:
+ // static callback for encoder; threadsafe
+ static void outputReadyCallback(void *p);
+
+ // called by encoder when a block of data has been encoded; threadsafe
+ void outputReady();
+
+ // scans writer and kicks off encoder if there is something ready; must hold lock
+ void checkForInput();
+
+ AsyncDataWriter* writer;
+ ParallelCoworker* coworker;
+ ExclusiveLock* lock;
+ bool encoderRunning;
+ int encoderBatch;
+
+ friend class AsyncDataWriter;
+};
+
+class StdoutAsyncFile : public AsyncFile
+{
+public:
+ StdoutAsyncFile();
+ virtual ~StdoutAsyncFile();
+
+ bool close();
+
+ static StdoutAsyncFile *open(const char *filename, bool write);
+
+ AsyncFile::Writer* getWriter();
+ AsyncFile::Reader* getReader();
+
+ void beginWrite(void *buffer, size_t length, size_t offset, size_t *o_bytesWritten);
+ void waitForCompletion(size_t offset);
+
+private:
+ ExclusiveLock lock;
+
+ struct WriteElement {
+ void *buffer;
+ size_t length;
+ size_t offset;
+ size_t *o_bytesWritten;
+
+ WriteElement *next;
+ WriteElement *prev;
+
+ void enqueue(WriteElement *previous);
+ void dequeue();
+ };
+
+ bool isQueueEmpty() {
+ return writeElementQueue->next == writeElementQueue;
+ }
+
+ size_t highestOffsetCompleted;
+
+ //
+ // The queue is kept in order, and the writer writes without gaps, so if you put on blocks 10 and 12, the writer will write
+ // 10, and then leave 12 on the queue and wait for 11 to be added and written before processing 12.
+ //
+ WriteElement writeElementQueue[1];
+
+ EventObject unexaminedElementsOnQueue; // This gets set when a writer puts a block on the queue, and cleared when the consumer has seen it.
+ EventObject elementsCompleted; // This gets set when any element is completed by the consumer, and reset when a waiter starts
+
+ SingleWaiterObject consumerThreadDone;
+
+ bool closing;
+
+ static void ConsumerThreadMain(void *param);
+ void runConsumer();
+
+ static bool anyCreated; // Because there's no way to multiplex stdout, you only get one per run of SNAP
+};
diff --git a/SNAPLib/Error.cpp b/SNAPLib/Error.cpp
new file mode 100644
index 0000000..66c16ba
--- /dev/null
+++ b/SNAPLib/Error.cpp
@@ -0,0 +1,89 @@
+/*++
+
+Module Name:
+
+ Error.cpp
+
+Abstract:
+
+ SNAP error-message writer
+
+Authors:
+
+ Bill Bolosky, Feburary, 2014
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "Compat.h"
+#include "Error.h"
+#include "AlignerOptions.h"
+#include "CommandProcessor.h"
+
+ void
+WriteMessageToFile(FILE *file, const char *message)
+{
+ if (AlignerOptions::useHadoopErrorMessages) {
+ fprintf(stderr,"reporter:status:%s", message); // Always use stderr in Hadoop mode, regardless of whether this is an error
+ fprintf(stderr, "%s", message); // And also print without the prefix, so it shows up in both logs
+ fflush(stderr);
+ } else {
+ if (AlignerOptions::outputToStdout && stdout == file) {
+ fprintf(stderr, "%s", message);
+ fflush(stderr);
+ } else {
+ fprintf(file, "%s", message);
+ fflush(file);
+ }
+ }
+}
+
+
+ void
+WriteErrorMessage(const char *message, ...)
+{
+ va_list args;
+ va_start(args, message);
+ const size_t bufferSize = 10240;
+ char buffer[bufferSize];
+ vsnprintf(buffer, bufferSize - 1, message, args);
+ WriteMessageToFile(stderr, buffer);
+ if (NULL != CommandPipe) {
+ WriteToNamedPipe(CommandPipe, buffer);
+ }
+}
+
+ void
+WriteStatusMessage(const char *message, ...)
+{
+ va_list args;
+ va_start(args, message);
+ const size_t bufferSize = 10240;
+ char buffer[bufferSize];
+ vsnprintf(buffer, bufferSize - 1, message, args);
+ WriteMessageToFile(stdout, buffer);
+ if (NULL != CommandPipe) {
+ WriteToNamedPipe(CommandPipe, buffer);
+ }
+}
+
+ void
+WriteProgressCounter(const char *counterName, _int64 increment)
+{
+ if (!AlignerOptions::useHadoopErrorMessages) {
+ //
+ // No counters unless in Hadoop mode.
+ //
+ return;
+ }
+
+ fprintf(stderr,"reporter:counter:SNAP,%s,%lld\n", counterName, increment);
+ fflush(stderr);
+}
diff --git a/SNAPLib/Error.h b/SNAPLib/Error.h
new file mode 100644
index 0000000..cd014ea
--- /dev/null
+++ b/SNAPLib/Error.h
@@ -0,0 +1,34 @@
+/*++
+
+Module Name:
+
+ Error.h
+
+Abstract:
+
+ Header for SNAP error-message writer
+
+Authors:
+
+ Bill Bolosky, Feburary, 2014
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+#include "Compat.h"
+
+ void
+WriteErrorMessage(const char *message, ...);
+
+ void
+WriteStatusMessage(const char *message, ...);
+
+ void
+WriteProgressCounter(const char *counterName, _int64 increment);
\ No newline at end of file
diff --git a/SNAPLib/FASTA.cpp b/SNAPLib/FASTA.cpp
new file mode 100644
index 0000000..712cbab
--- /dev/null
+++ b/SNAPLib/FASTA.cpp
@@ -0,0 +1,198 @@
+/*++
+
+Module Name:
+
+ FASTA.cpp
+
+Abstract:
+
+ FASTA reader
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#include "stdafx.h"
+#include "Compat.h"
+#include "FASTA.h"
+#include "Error.h"
+#include "exit.h"
+
+using namespace std;
+
+ const Genome *
+ReadFASTAGenome(
+ const char *fileName,
+ const char *pieceNameTerminatorCharacters,
+ bool spaceIsAPieceNameTerminator,
+ unsigned chromosomePaddingSize)
+{
+ //
+ // We need to know a bound on the size of the genome before we create the Genome object.
+ // A bound is the number of bytes in the FASTA file, because we store at most one base per
+ // byte. Get the file size to use for this bound.
+ //
+ _int64 fileSize = QueryFileSize(fileName);
+ bool isValidGenomeCharacter[256];
+
+ for (int i = 0; i < 256; i++) {
+ isValidGenomeCharacter[i] = false;
+ }
+
+ isValidGenomeCharacter['A'] = isValidGenomeCharacter['T'] = isValidGenomeCharacter['C'] = isValidGenomeCharacter['G'] = isValidGenomeCharacter['N'] = true;
+ isValidGenomeCharacter['a'] = isValidGenomeCharacter['t'] = isValidGenomeCharacter['c'] = isValidGenomeCharacter['g'] = isValidGenomeCharacter['n'] = true;
+
+ FILE *fastaFile = fopen(fileName, "r");
+ if (fastaFile == NULL) {
+ WriteErrorMessage("Unable to open FASTA file '%s' (even though we already got its size)\n",fileName);
+ return NULL;
+ }
+
+ const size_t lineBufferSize = 4096;
+ char lineBuffer[lineBufferSize];
+
+ //
+ // Count the chromosomes
+ //
+ unsigned nChromosomes = 0;
+
+ while (NULL != fgets(lineBuffer,lineBufferSize,fastaFile)) {
+ if (lineBuffer[0] == '>') {
+ nChromosomes++;
+ }
+ }
+ rewind(fastaFile);
+
+ Genome *genome = new Genome(fileSize + (nChromosomes+1) * (size_t)chromosomePaddingSize, fileSize + (nChromosomes+1) * (size_t)chromosomePaddingSize, chromosomePaddingSize, nChromosomes + 1);
+
+ char *paddingBuffer = new char[chromosomePaddingSize+1];
+ for (unsigned i = 0; i < chromosomePaddingSize; i++) {
+ paddingBuffer[i] = 'n';
+ }
+ paddingBuffer[chromosomePaddingSize] = '\0';
+
+ bool warningIssued = false;
+ bool inAContig = false;
+
+ while (NULL != fgets(lineBuffer,lineBufferSize,fastaFile)) {
+ if (lineBuffer[0] == '>') {
+ inAContig = true;
+ //
+ // A new contig. Add in the padding first.
+ //
+ genome->addData(paddingBuffer);
+
+ //
+ // Now supply the chromosome name.
+ //
+ if (NULL != pieceNameTerminatorCharacters) {
+ for (int i = 0; i < strlen(pieceNameTerminatorCharacters); i++) {
+ char *terminator = strchr(lineBuffer+1, pieceNameTerminatorCharacters[i]);
+ if (NULL != terminator) {
+ *terminator = '\0';
+ }
+ }
+ }
+ if (spaceIsAPieceNameTerminator) {
+ char *terminator = strchr(lineBuffer, ' ');
+ if (NULL != terminator) {
+ *terminator = '\0';
+ }
+ terminator = strchr(lineBuffer, '\t');
+ if (NULL != terminator) {
+ *terminator = '\0';
+ }
+ }
+ char *terminator = strchr(lineBuffer, '\n');
+ if (NULL != terminator) {
+ *terminator = '\0';
+ }
+ terminator = strchr(lineBuffer, '\r');
+ if (NULL != terminator) {
+ *terminator = '\0';
+ }
+ genome->startContig(lineBuffer+1);
+ } else {
+ if (!inAContig) {
+ WriteErrorMessage("\nFASTA file doesn't beging with a contig name (i.e., the first line doesn't start with '>').\n");
+ soft_exit(1);
+ }
+
+ //
+ // Convert it to upper case and truncate the newline before adding it to the genome.
+ //
+
+ char *newline = strchr(lineBuffer, '\n');
+ if (NULL != newline) {
+ *newline = 0;
+ }
+
+ //
+ // But convert any 'N' to 'n'. This is so we don't match the N from the genome with N
+ // in reads (where we just do a straight text comparison.
+ //
+ size_t lineLen = strlen(lineBuffer);
+
+ for (unsigned i = 0; i < lineLen; i++) {
+ lineBuffer[i] = toupper(lineBuffer[i]);
+ }
+
+ for (unsigned i = 0; i < lineLen; i++) {
+ if ('N' == lineBuffer[i]) {
+ lineBuffer[i] = 'n';
+ }
+
+ if (!isValidGenomeCharacter[(unsigned char)lineBuffer[i]]) {
+ if (!warningIssued) {
+ WriteErrorMessage("\nFASTA file contained a character that's not a valid base (or N): '%c', full line '%s'; \nconverting to 'N'. This may happen again, but there will be no more warnings.\n", lineBuffer[i], lineBuffer);
+ warningIssued = true;
+ }
+ lineBuffer[i] = 'N';
+ }
+ }
+ genome->addData(lineBuffer);
+ }
+ }
+
+ //
+ // And finally add padding at the end of the genome.
+ //
+ genome->addData(paddingBuffer);
+ genome->fillInContigLengths();
+ genome->sortContigsByName();
+
+ fclose(fastaFile);
+ delete [] paddingBuffer;
+ return genome;
+}
+
+//
+// TODO: Reduce code duplication with the mutator.
+//
+bool AppendFASTAGenome(const Genome *genome, FILE *fasta, const char *prefix="")
+{
+ int nContigs = genome->getNumContigs();
+ const Genome::Contig *contigs = genome->getContigs();
+ for (int i = 0; i < nContigs; ++i) {
+ const Genome::Contig &contig = contigs[i];
+ GenomeLocation start = contig.beginningLocation;
+ GenomeLocation end = i + 1 < nContigs ? contigs[i + 1].beginningLocation : genome->getCountOfBases();
+ GenomeDistance size = end - start;
+ const char *bases = genome->getSubstring(start, size);
+
+ fprintf(fasta, ">%s%s\n", prefix, contig.name);
+ fwrite(bases, 1, size, fasta);
+ fputc('\n', fasta);
+ }
+ return !ferror(fasta);
+}
diff --git a/SNAPLib/FASTA.h b/SNAPLib/FASTA.h
new file mode 100644
index 0000000..6e542f3
--- /dev/null
+++ b/SNAPLib/FASTA.h
@@ -0,0 +1,49 @@
+/*++
+
+Module Name:
+
+ FASTA.h
+
+Abstract:
+
+ FASTA reader
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#pragma once
+
+#include "Genome.h"
+
+ const Genome *
+ReadFASTAGenome(const char *fileName, const char *pieceNameTerminatorCharacters, bool spaceIsAPieceNameTerminator, unsigned chromosomePaddingSize);
+
+//
+// The FASTA appending functions return whether the write was successful.
+//
+// WARNING: They write very long lines.
+// According to Wikipedia, a FASTA file's line limit should be 120, or better, 79.
+// Unix workaround if the piece names aren't too long: 'fold -w 79'.
+//
+
+ bool
+AppendFASTAGenome(const Genome *, FILE *fasta);
+
+//
+// This is arbitrary; is there some existing convention?
+//
+inline const char *diploidFASTASexPrefix(bool male)
+{
+ return male ? "PATERNAL|" : "MATERNAL|";
+}
diff --git a/SNAPLib/FASTQ.cpp b/SNAPLib/FASTQ.cpp
new file mode 100644
index 0000000..f297f5f
--- /dev/null
+++ b/SNAPLib/FASTQ.cpp
@@ -0,0 +1,669 @@
+/*++
+
+Module Name:
+
+ FASTQ.cpp
+
+Abstract:
+
+ Fast FASTQ genome "query" reader.
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+ This class is NOT thread safe. It's the caller's responsibility to ensure that
+ at most one thread uses an instance at any time.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#include "stdafx.h"
+#include "FASTQ.h"
+#include "Compat.h"
+#include "BigAlloc.h"
+#include "Read.h"
+#include "Util.h"
+#include "exit.h"
+#include "Error.h"
+
+using std::min;
+using util::strnchr;
+
+FASTQReader::FASTQReader(
+ DataReader* i_data,
+ const ReaderContext& i_context)
+ :
+ ReadReader(i_context),
+ data(i_data)
+{
+}
+
+FASTQReader::~FASTQReader()
+{
+ delete data;
+ data = NULL;
+}
+
+
+ FASTQReader*
+FASTQReader::create(
+ DataSupplier* supplier,
+ const char *fileName,
+ int bufferCount,
+ _int64 startingOffset,
+ _int64 amountOfFileToProcess,
+ const ReaderContext& context)
+{
+ DataReader* data = supplier->getDataReader(bufferCount, maxReadSizeInBytes, 0.0, 0);
+ FASTQReader* fastq = new FASTQReader(data, context);
+ if (! fastq->init(fileName)) {
+ WriteErrorMessage("Unable to initialize FASTQReader for file %s\n", fileName);
+ soft_exit(1);
+ }
+ fastq->reinit(startingOffset, amountOfFileToProcess);
+ return fastq;
+}
+
+ void
+FASTQReader::readHeader(
+ const char* fileName,
+ ReaderContext& context)
+{
+ // no header in FQ files
+ context.header = NULL;
+ context.headerLength = context.headerBytes = 0;
+}
+
+ bool
+FASTQReader::init(
+ const char* i_fileName)
+{
+ fileName = i_fileName;
+ return data->init(fileName);
+}
+
+
+ void
+FASTQReader::reinit(
+ _int64 startingOffset,
+ _int64 amountOfFileToProcess)
+{
+ data->reinit(startingOffset, amountOfFileToProcess);
+ char* buffer;
+ _int64 bytes;
+ if (! data->getData(&buffer, &bytes)) {
+ return;
+ }
+
+ // If we're not at the start of the file, we might have the tail end of a read that someone
+ // who got the previous range will process; advance past that. This is fairly tricky because
+ // there can be '@' signs in the quality string (and maybe even in read names?).
+ if (startingOffset != 0) {
+ if (!skipPartialRecord(data)) {
+ //
+ // There wasn't a whole record in our range. Skip over what we had.
+ //
+ data->advance(bytes);
+ return;
+ }
+ }
+}
+
+ bool
+FASTQReader::skipPartialRecord(DataReader *data)
+{
+ //
+ // Just assume that a single FASTQ read is smaller than our buffer, so we won't exceed the buffer here.
+ // Look for the pattern '{0|\n}@*\n{A|T|C|G|N}*\n+' That is, either the beginning of the buffer or a
+ // newline, followed by an '@' and some text, another newline followed by a list of bases and a newline,
+ // and then a plus.
+ //
+ char* buffer;
+ _int64 validBytes;
+ data->getData(&buffer, &validBytes);
+
+ char *firstLineCandidate = buffer;
+ if (*firstLineCandidate != '@') {
+ firstLineCandidate = strnchr(buffer, '\n', validBytes) + 1;
+ }
+
+ for (;;) {
+ if (firstLineCandidate - buffer >= validBytes) {
+ // This happens for very small files.
+ return false;
+ }
+
+ char *secondLineCandidate = strnchr(firstLineCandidate, '\n', validBytes - (firstLineCandidate - buffer)) + 1;
+ if (NULL == (secondLineCandidate-1)) {
+ WriteErrorMessage("Unable to find a read in FASTQ buffer (2) at %d\n", data->getFileOffset());
+ return false;
+ }
+
+ if (*firstLineCandidate != '@') {
+ firstLineCandidate = secondLineCandidate;
+ continue;
+ }
+
+ //
+ // Scan through the second line making sure it's all bases (or 'N'). We don't have to
+ // check for end-of-buffer because we know there's a null there.
+ //
+ char *thirdLineCandidate = secondLineCandidate;
+ while (*thirdLineCandidate == 'A' || *thirdLineCandidate == 'C' || *thirdLineCandidate == 'T' || *thirdLineCandidate == 'G' ||
+ *thirdLineCandidate == 'N' || *thirdLineCandidate == 'a' || *thirdLineCandidate == 'c' || *thirdLineCandidate == 't' ||
+ *thirdLineCandidate == 'g' || *thirdLineCandidate == 'n') {
+ thirdLineCandidate++;
+ }
+
+ if (*thirdLineCandidate == '\r') {
+ //
+ // CRLF text; skip the CR.
+ //
+ thirdLineCandidate++;
+ }
+
+ if (*thirdLineCandidate != '\n') {
+ //
+ // We found something that's not a base and not a newline. It wasn't a read data (second) line. Move up a line
+ // and try again.
+ //
+ firstLineCandidate = secondLineCandidate;
+ continue;
+ }
+
+ thirdLineCandidate++;
+ if (*thirdLineCandidate != '+') {
+ firstLineCandidate = secondLineCandidate;
+ continue;
+ }
+
+ break;
+ }
+
+ data->advance(firstLineCandidate - buffer);
+ return true;
+}
+
+//
+// Try to parse a read starting at a given position pos, updating readToUpdate with it.
+// Returns 0 if the parse failed or the first position past the read if it succeeds. In
+// addition, if exitOnFailure is set, print a warning and exit if there is a parse error.
+// (The one time we don't set this is when trying to find the first read in a chunk.)
+//
+ bool
+FASTQReader::getNextRead(Read *readToUpdate)
+{
+ //
+ // Find the next newline.
+ //
+
+ char* buffer;
+ _int64 validBytes;
+ if (! data->getData(&buffer, &validBytes)) {
+ data->nextBatch();
+ if (! data->getData(&buffer, &validBytes)) {
+ return false;
+ }
+ }
+
+ _int64 bytesConsumed = getReadFromBuffer(buffer, validBytes, readToUpdate, fileName, data, context);
+ if (bytesConsumed == 0) {
+ return false;
+ }
+
+ data->advance(bytesConsumed);
+ return true;
+}
+
+// static char LAST[100000]; static int LASTLEN = 0;
+
+ _int64
+FASTQReader::getReadFromBuffer(char *buffer, _int64 validBytes, Read *readToUpdate, const char *fileName, DataReader *data, const ReaderContext &context)
+{
+ //
+ // Get the next four lines.
+ //
+ char* lines[nLinesPerFastqQuery];
+ unsigned lineLengths[nLinesPerFastqQuery];
+ char* scan = buffer;
+
+ for (unsigned i = 0; i < nLinesPerFastqQuery; i++) {
+
+ char *newLine = strnchr(scan, '\n', validBytes - (scan - buffer));
+ if (NULL == newLine) {
+ if (validBytes - (scan - buffer) == 1 && *scan == 0x1a && data->isEOF()) {
+ // sometimes DOS files will have extra ^Z at end
+ return false;
+ }
+ //
+ // There was no next newline
+ //
+ if (data->isEOF()) {
+ WriteErrorMessage("FASTQ file doesn't end with a newline! Failing. fileOffset = %lld, validBytes = %d\n",
+ data->getFileOffset(),validBytes);
+ soft_exit(1);
+ }
+ WriteErrorMessage("FASTQ record larger than buffer size at %s:%lld\n", fileName, data->getFileOffset());
+ soft_exit(1);
+ }
+
+ const size_t lineLen = newLine - scan;
+ if (0 == lineLen) {
+ WriteErrorMessage("Syntax error in FASTQ file: blank line.\n");
+ soft_exit(1);
+ }
+ if (! isValidStartingCharacterForNextLine[(i + 3) % 4][*scan]) {
+ WriteErrorMessage("FASTQ file %s has invalid starting character at offset %lld, line type %d, char %c\n", data->getFilename(), data->getFileOffset(), i, *scan);
+ WriteErrorMessage("Line in question: '%.*s'\n", lineLen, scan);
+ //WriteErrorMessage("Preceding record: '%.*s'\n", LASTLEN, LAST);
+ soft_exit(1);
+ }
+ lines[i] = scan;
+ lineLengths[i] = (unsigned) lineLen - (scan[lineLen-1] == '\r' ? 1 : 0);
+ scan = newLine + (newLine[1] == '\r' ? 2 : 1);
+ }
+
+ const char *id = lines[0] + 1; // The '@' on the first line is not part of the ID
+ const char* space = strnchr(id, ' ', lineLengths[0] - 1);
+ readToUpdate->init(id, space != NULL ? (unsigned) (space - id) : (unsigned) lineLengths[0] - 1, lines[1], lines[3], lineLengths[1]);
+ readToUpdate->clip(context.clipping);
+ readToUpdate->setBatch(data->getBatch());
+ readToUpdate->setReadGroup(context.defaultReadGroup);
+
+ // memcpy(LAST, buffer, scan - buffer); LASTLEN = scan - buffer;
+
+ return scan - buffer;
+
+}
+
+//
+// static data & initialization
+//
+
+bool FASTQReader::isValidStartingCharacterForNextLine[FASTQReader::nLinesPerFastqQuery][256];
+
+FASTQReader::_init FASTQReader::_initializer;
+
+
+FASTQReader::_init::_init()
+{
+ //
+ // Initialize the isValidStartingCharacterForNextLine array.
+ //
+ memset(isValidStartingCharacterForNextLine, 0, sizeof(isValidStartingCharacterForNextLine));
+
+ //
+ // The first line is the descriptor line and must start with an '@'
+ //
+ isValidStartingCharacterForNextLine[3]['@'] = true;
+
+ //
+ // The second line is the read itself and must start with a base or an
+ // 'N' in either case. A . is just a different way to encode an N.
+ //
+ for (const char*p = "ACTGNURYKMSWBDHVNX."; *p; p++) {
+ isValidStartingCharacterForNextLine[0][*p] = true;
+ isValidStartingCharacterForNextLine[0][tolower(*p)] = true;
+ }
+
+ //
+
+ //
+ // The third line is additional sequence idenfitier info and must
+ // start with a '+'.
+ //
+ isValidStartingCharacterForNextLine[1]['+'] = true;
+
+ //
+ // Line 4 is the quality line. It starts with a printable ascii character.
+ // It would be nice to rule out the bases, N, + and @ because it might confsue the parser,
+ // but some quality lines do start with those...
+ //
+ for (char i = '!'; i <= '~'; i++) {
+ isValidStartingCharacterForNextLine[2][i] = true;
+ }
+}
+
+//
+// PairedInterleavedFASTQReader
+//
+
+PairedInterleavedFASTQReader::PairedInterleavedFASTQReader(
+ DataReader* i_data,
+ const ReaderContext& i_context) :
+ data(i_data), context(i_context)
+{
+}
+
+ PairedInterleavedFASTQReader*
+PairedInterleavedFASTQReader::create(DataSupplier* supplier, const char *fileName, int bufferCount, _int64 startingOffset, _int64 amountOfFileToProcess,
+ const ReaderContext& context)
+{
+ DataReader* data = supplier->getDataReader(bufferCount, 2 * maxReadSizeInBytes, 0.0, 0); // 2* because we read in pairs
+ PairedInterleavedFASTQReader* fastq = new PairedInterleavedFASTQReader(data, context);
+ if (! fastq->init(fileName)) {
+ WriteErrorMessage("Unable to initialize PairedInterleavedFASTQReader for file %s\n", fileName);
+ soft_exit(1);
+ }
+ fastq->reinit(startingOffset, amountOfFileToProcess);
+ return fastq;
+}
+
+
+ bool
+PairedInterleavedFASTQReader::init(const char* i_fileName)
+{
+ fileName = i_fileName;
+ return data->init(fileName);
+}
+
+ bool
+PairedInterleavedFASTQReader::getNextReadPair(Read *read0, Read *read1)
+{
+ //
+ // Find the next newline.
+ //
+
+ char* buffer;
+ _int64 validBytes;
+ if (! data->getData(&buffer, &validBytes)) {
+ data->nextBatch();
+ if (! data->getData(&buffer, &validBytes)) {
+ return false;
+ }
+ }
+
+ _int64 bytesConsumed = FASTQReader::getReadFromBuffer(buffer, validBytes, read0, fileName, data, context);
+ if (bytesConsumed == validBytes) {
+ WriteErrorMessage("Input file seems to have an odd number of reads. Ignoring the last one.");
+ return false;
+ }
+ bytesConsumed += FASTQReader::getReadFromBuffer(buffer + bytesConsumed, validBytes - bytesConsumed, read1, fileName, data, context);
+
+ //
+ // Validate the Read IDs.
+ //
+ if (read0->getIdLength() < 2 || memcmp(read0->getId() + read0->getIdLength() - 2, "/1", 2)) {
+ WriteErrorMessage("PairedInterleavedFASTQReader: first read of batch doesn't have ID ending with /1: '%.*s'\n", read0->getIdLength(), read0->getId());
+ soft_exit(1);
+ }
+
+ if (read1->getIdLength() < 2 || memcmp(read1->getId() + read1->getIdLength() - 2, "/2", 2)) {
+ WriteErrorMessage("PairedInterleavedFASTQReader: second read of batch doesn't have ID ending with /2: '%.*s'\n", read1->getIdLength(), read1->getId());
+ soft_exit(1);
+ }
+
+ data->advance(bytesConsumed);
+ return true;
+}
+
+ void
+PairedInterleavedFASTQReader::reinit(_int64 startingOffset, _int64 amountOfFileToProcess)
+{
+ data->reinit(startingOffset, amountOfFileToProcess);
+ char* buffer;
+ _int64 bytes;
+ if (! data->getData(&buffer, &bytes)) {
+ return;
+ }
+
+ // If we're not at the start of the file, we might have the tail end of a read that someone
+ // who got the previous range will process; advance past that. This is fairly tricky because
+ // there can be '@' signs in the quality string (and maybe even in read names?).
+ if (startingOffset != 0) {
+ if (!FASTQReader::skipPartialRecord(data)) {
+ return;
+ }
+ }
+
+ //
+ // Grab the first read from the buffer, and see if it's /1 or /2.
+ //
+ if (!data->getData(&buffer, &bytes)) {
+ return;
+ }
+
+ Read read;
+ _int64 bytesForFirstRead = FASTQReader::getReadFromBuffer(buffer, bytes, &read, fileName, data, context);
+ if (read.getIdLength() < 2 || read.getId()[read.getIdLength() - 2] != '/' || (read.getId()[read.getIdLength() - 1] != '1' && read.getId()[read.getIdLength() -1] != '2') ) {
+ WriteErrorMessage("PairedInterleavedFASTQReader: read ID doesn't appear to end with /1 or /2, you can't use this as a paired FASTQ file: '%.*s'\n", read.getIdLength(), read.getId());
+ soft_exit(1);
+ }
+
+ if (read.getId()[read.getIdLength()-1] == '2') {
+ //
+ // This is the second half of a pair. Skip it.
+ //
+ data->advance(bytesForFirstRead);
+
+ //
+ // Now make sure that the next read is /1.
+ //
+ if (!data->getData(&buffer, &bytes)) {
+ //
+ // This was the last read in the file.
+ //
+ return;
+ }
+
+ FASTQReader::getReadFromBuffer(buffer, bytes, &read, fileName, data, context);
+ if (read.getIdLength() < 2 || read.getId()[read.getIdLength()-2] != '/' || read.getId()[read.getIdLength()-1] != '1') {
+ WriteErrorMessage("PairedInterleavedFASTQReader: first read of pair doesn't appear to have an ID that ends in /1: '%.*s'\n", read.getIdLength(), read.getId());
+ soft_exit(1);
+ }
+ }
+}
+
+
+//
+// FASTQWriter
+//
+
+ FASTQWriter *
+FASTQWriter::Factory(const char *filename)
+{
+ FILE *file = fopen(filename,"wb");
+ if (NULL == file) {
+ return NULL;
+ }
+
+ return new FASTQWriter(file);
+}
+
+ bool
+FASTQWriter::writeRead(Read *read)
+{
+ size_t len = read->getIdLength() + 2 * (read->getDataLength() + 2) /* @ and + */ + 10 /* crlf + padding + null */;
+
+ if (bufferSize - bufferOffset <= len) {
+ flushBuffer();
+ }
+
+ size_t bytesUsed = snprintf(buffer + bufferOffset, bufferSize - bufferOffset, "@%.*s\n%.*s\n+\n%.*s\n", read->getIdLength(), read->getId(), read->getDataLength(), read->getData(), read->getDataLength(), read->getQuality());
+
+ bufferOffset += bytesUsed;
+ return true;
+}
+
+
+PairedFASTQReader::~PairedFASTQReader()
+{
+ for (int i = 0; i < 2; i++) {
+ delete readers[i];
+ readers[i] = NULL;
+ }
+}
+
+ PairedFASTQReader *
+PairedFASTQReader::create(
+ DataSupplier* supplier,
+ const char *fileName0,
+ const char *fileName1,
+ int bufferCount,
+ _int64 startingOffset,
+ _int64 amountOfFileToProcess,
+ const ReaderContext& context)
+{
+ PairedFASTQReader *reader = new PairedFASTQReader;
+ reader->readers[0] = FASTQReader::create(supplier, fileName0, bufferCount, startingOffset, amountOfFileToProcess, context);
+ reader->readers[1] = FASTQReader::create(supplier, fileName1, bufferCount, startingOffset, amountOfFileToProcess, context);
+
+ for (int i = 0; i < 2; i++) {
+ if (NULL == reader->readers[i]) {
+ delete reader;
+ reader = NULL;
+ return NULL;
+ }
+ }
+
+ return reader;
+}
+
+ bool
+PairedFASTQReader::getNextReadPair(Read *read0, Read *read1)
+{
+ bool worked = readers[0]->getNextRead(read0);
+
+ if (readers[1]->getNextRead(read1) != worked) {
+ WriteErrorMessage("PairedFASTQReader: reads of both ends responded differently. The FASTQ files may not match properly.\n");
+ soft_exit(1);
+ }
+
+ return worked;
+}
+
+ PairedReadSupplierGenerator *
+PairedFASTQReader::createPairedReadSupplierGenerator(
+ const char *fileName0,
+ const char *fileName1,
+ int numThreads,
+ const ReaderContext& context,
+ bool gzip)
+{
+ const char *fileNames[2] = {fileName0, fileName1};
+ //
+ // Decide whether to use the range splitter or a queue based on whether the files are the same size.
+ //
+ if (!strcmp("-", fileNames[0]) || !strcmp("-", fileNames[1]) || QueryFileSize(fileNames[0]) != QueryFileSize(fileNames[1]) || gzip) {
+ //WriteStatusMessage("FASTQ using supplier queue\n");
+ DataSupplier* dataSupplier[2];
+ size_t fileSize[2];
+
+ for (int i = 0; i < 2; i++) {
+ if (!strcmp(fileNames[i], "-")) {
+ fileSize[i] = 0;
+ if (gzip) {
+ dataSupplier[i] = DataSupplier::GzipStdio;
+ } else {
+ dataSupplier[i] = DataSupplier::Stdio;
+ }
+ } else {
+ fileSize[i] = QueryFileSize(fileNames[i]);
+ if (gzip) {
+ dataSupplier[i] = DataSupplier::GzipDefault;
+ } else {
+ dataSupplier[i] = DataSupplier::Default;
+ }
+ }
+ }
+
+
+ int bufferCount = ReadSupplierQueue::BufferCount(numThreads);
+ ReadReader *reader1 = FASTQReader::create(dataSupplier[0], fileName0, bufferCount, 0, fileSize[0],context);
+ ReadReader *reader2 = FASTQReader::create(dataSupplier[1], fileName1, bufferCount, 0, fileSize[1],context);
+ if (NULL == reader1 || NULL == reader2) {
+ delete reader1;
+ delete reader2;
+ return NULL;
+ }
+ ReadSupplierQueue *queue = new ReadSupplierQueue(reader1,reader2);
+ queue->startReaders();
+ return queue;
+ } else {
+ //WriteStatusMessage("FASTQ using range splitter\n");
+ return new RangeSplittingPairedReadSupplierGenerator(fileName0, fileName1, FASTQFile, numThreads, false, context);
+ }
+}
+
+ ReadSupplierGenerator *
+FASTQReader::createReadSupplierGenerator(
+ const char *fileName,
+ int numThreads,
+ const ReaderContext& context,
+ bool gzip)
+{
+ bool isStdin = !strcmp(fileName,"-");
+ if (! gzip && !isStdin) {
+ //
+ // Single ended uncompressed FASTQ files can be handled by a range splitter.
+ //
+ return new RangeSplittingReadSupplierGenerator(fileName, false, numThreads, context);
+ } else {
+ ReadReader* fastq;
+ //
+ // Because we can only have one stdin reader, we need to use a queue if we're reading from stdin
+ //
+ if (isStdin) {
+ if (gzip) {
+ fastq = FASTQReader::create(DataSupplier::GzipStdio, fileName, ReadSupplierQueue::BufferCount(numThreads), 0, 0, context);
+ } else {
+ fastq = FASTQReader::create(DataSupplier::Stdio, fileName, ReadSupplierQueue::BufferCount(numThreads), 0, 0, context);
+ }
+ } else {
+ fastq = FASTQReader::create(DataSupplier::GzipDefault, fileName, ReadSupplierQueue::BufferCount(numThreads), 0, QueryFileSize(fileName), context);
+ }
+ if (fastq == NULL) {
+ delete fastq;
+ return NULL;
+ }
+ ReadSupplierQueue *queue = new ReadSupplierQueue(fastq);
+ queue->startReaders();
+ return queue;
+ }
+}
+
+ PairedReadSupplierGenerator *
+PairedInterleavedFASTQReader::createPairedReadSupplierGenerator(
+ const char *fileName,
+ int numThreads,
+ const ReaderContext& context,
+ bool gzip)
+{
+ bool isStdin = !strcmp(fileName,"-");
+
+ if (gzip || isStdin) {
+ //WriteStatusMessage("PairedInterleavedFASTQ using supplier queue\n");
+ DataSupplier *dataSupplier;
+ if (isStdin) {
+ if (gzip) {
+ dataSupplier = DataSupplier::GzipStdio;
+ } else {
+ dataSupplier = DataSupplier::Stdio;
+ }
+ } else {
+ dataSupplier = DataSupplier::GzipDefault;
+ }
+
+ PairedReadReader *reader = PairedInterleavedFASTQReader::create(dataSupplier, fileName,
+ ReadSupplierQueue::BufferCount(numThreads), 0,(stdin ? 0 : QueryFileSize(fileName)),context);
+
+ if (NULL == reader ) {
+ delete reader;
+ return NULL;
+ }
+ ReadSupplierQueue *queue = new ReadSupplierQueue(reader);
+ queue->startReaders();
+ return queue;
+ } else {
+ //WriteStatusMessage("PairedInterleavedFASTQ using range splitter\n");
+ return new RangeSplittingPairedReadSupplierGenerator(fileName, NULL, InterleavedFASTQFile, numThreads, false, context);
+ }
+}
diff --git a/SNAPLib/FASTQ.h b/SNAPLib/FASTQ.h
new file mode 100644
index 0000000..78572a2
--- /dev/null
+++ b/SNAPLib/FASTQ.h
@@ -0,0 +1,213 @@
+/*++
+
+Module Name:
+
+ FASTQ.h
+
+Abstract:
+
+ Headers for fast FASTQ genome "query" reader.
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+ This class is NOT thread safe. It's the caller's responsibility to ensure that
+ at most one thread uses an instance at any time.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#pragma once
+
+#include "Compat.h"
+#include "Read.h"
+#include "ReadSupplierQueue.h"
+#include "RangeSplitter.h"
+#include "DataReader.h"
+#include "Error.h"
+
+class FASTQReader : public ReadReader {
+public:
+
+ FASTQReader(DataReader* data, const ReaderContext& i_context);
+
+ virtual ~FASTQReader();
+
+ static FASTQReader* create(DataSupplier* supplier,
+ const char *fileName,
+ int bufferCount,
+ _int64 startingOffset,
+ _int64 amountOfFileToProcess,
+ const ReaderContext& i_context);
+
+ static void readHeader(const char* fileName, ReaderContext& context);
+
+ bool init(const char* i_fileName);
+
+ static ReadSupplierGenerator *createReadSupplierGenerator(const char *fileName, int numThreads, const ReaderContext& context, bool gzip = false);
+
+ virtual bool getNextRead(Read *readToUpdate);
+
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess);
+
+ virtual void holdBatch(DataBatch batch)
+ { data->holdBatch(batch); }
+
+ virtual bool releaseBatch(DataBatch batch)
+ { return data->releaseBatch(batch); }
+
+ static _int64 getReadFromBuffer(char *buffer, _int64 bufferSize, Read *readToUpdate, const char *fileName, DataReader *data, const ReaderContext &context); // Returns the number of bytes consumed.
+
+ static bool skipPartialRecord(DataReader *data);
+
+private:
+
+ static const int maxReadSizeInBytes = MAX_READ_LENGTH * 2 + 1000; // Read as in sequencer read, not read-from-the-filesystem. +1000 is for ID string, + line, newlines, etc.
+
+ DataReader* data;
+ const char* fileName;
+
+ static const unsigned maxLineLen = MAX_READ_LENGTH + 500;
+ static const unsigned nLinesPerFastqQuery = 4;
+
+ static bool isValidStartingCharacterForNextLine[nLinesPerFastqQuery][256];
+ static class _init
+ {
+ public:
+ _init();
+ } _initializer;
+};
+
+//
+// Get read pairs from an interleaved FASTQ. It's the same as an ordinary FASTQ reader, except that it has a different version of
+// skipPartialRecord() that goes until it hits the first read in a pair. It identifies the pairs by looking for /1 and /2 at the
+// end of the read IDs.
+//
+class PairedInterleavedFASTQReader : public PairedReadReader {
+public:
+ PairedInterleavedFASTQReader(DataReader* data, const ReaderContext& i_context);
+
+ virtual ~PairedInterleavedFASTQReader() {}
+
+ static PairedInterleavedFASTQReader* create(DataSupplier* supplier, const char *fileName, int bufferCount, _int64 startingOffset, _int64 amountOfFileToProcess,
+ const ReaderContext& i_context);
+
+ static void readHeader(const char* fileName, ReaderContext& context) {
+ FASTQReader::readHeader(fileName, context);
+ }
+
+ bool init(const char* i_fileName);
+
+ static PairedReadSupplierGenerator *createPairedReadSupplierGenerator(const char *fileName, int numThreads, const ReaderContext& context, bool gzip);
+
+ virtual bool getNextReadPair(Read *read0, Read *read1);
+
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess);
+
+ virtual void holdBatch(DataBatch batch)
+ { data->holdBatch(batch); }
+
+ virtual bool releaseBatch(DataBatch batch)
+ { return data->releaseBatch(batch); }
+
+ virtual ReaderContext* getContext()
+ { return &context; }
+
+private:
+
+ static const int maxReadSizeInBytes = MAX_READ_LENGTH * 2 + 1000; // Read as in sequencer read, not read-from-the-filesystem. +1000 is for ID string, + line, newlines, etc.
+
+ DataReader* data;
+ const char* fileName;
+ ReaderContext context;
+};
+
+class PairedFASTQReader: public PairedReadReader {
+public:
+ virtual ~PairedFASTQReader();
+
+
+ static PairedFASTQReader* create(DataSupplier* supplier, const char *fileName0, const char *fileName1,
+ int bufferCount, _int64 startingOffset, _int64 amountOfFileToProcess, const ReaderContext& context);
+
+ virtual bool getNextReadPair(Read *read0, Read *read1);
+
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess) {
+ for (int i = 0; i < 2; i++) {
+ readers[i]->reinit(startingOffset,amountOfFileToProcess);
+ }
+ }
+
+ virtual ReadReader *getReaderToInitializeRead(int whichHalfOfPair)
+ {
+ _ASSERT(0 == whichHalfOfPair || 1 == whichHalfOfPair);
+ return readers[whichHalfOfPair];
+ }
+
+ static PairedReadSupplierGenerator *createPairedReadSupplierGenerator(const char *fileName0, const char *fileName1, int numThreads, const ReaderContext& context, bool gzip = false);
+
+ virtual void holdBatch(DataBatch batch)
+ { _ASSERT(false); /* not supported */ }
+
+ virtual bool releaseBatch(DataBatch batch)
+ { _ASSERT(false); /* not supported */ return false; }
+
+ virtual ReaderContext* getContext()
+ { return readers[0]->getContext(); }
+
+private:
+
+ PairedFASTQReader()
+ {
+ for (int i =0; i < 2; i++) {
+ readers[i] = NULL;
+ }
+ }
+
+ FASTQReader *readers[2];
+};
+
+
+class FASTQWriter {
+public:
+ ~FASTQWriter() {flushBuffer(); delete [] buffer; fclose(outputFile);}
+ static FASTQWriter *Factory(const char *filename);
+
+ bool writeRead(Read *readToWrite);
+
+private:
+
+ void flushBuffer()
+ {
+ if (0 == bufferOffset) {
+ return;
+ }
+ if (1 != fwrite(buffer, bufferOffset, 1, outputFile)) {
+ WriteErrorMessage("FASTQWriter: error writing file\n");
+ }
+
+ bufferOffset = 0;
+ }
+
+ FASTQWriter(FILE *i_outputFile) : outputFile(i_outputFile) {
+ bufferSize = 20 * 1024 * 1024;
+ buffer = new char[bufferSize];
+ bufferOffset = 0;
+ }
+
+ FILE *outputFile;
+
+ char *buffer;
+ size_t bufferSize;
+ size_t bufferOffset;
+};
+
+
diff --git a/SNAPLib/FileFormat.h b/SNAPLib/FileFormat.h
new file mode 100644
index 0000000..74734f3
--- /dev/null
+++ b/SNAPLib/FileFormat.h
@@ -0,0 +1,108 @@
+/*++
+
+
+Module Name:
+
+ FileFormat.h
+
+Abstract:
+
+ Headers for the FileFormat class for the SNAP sequencer
+
+Authors:
+
+ Ravi Pandya, February 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+#pragma once
+
+#include "Compat.h"
+#include "Tables.h"
+#include "Read.h"
+#include "Genome.h"
+#include "LandauVishkin.h"
+#include "AlignerOptions.h"
+#include "Genome.h"
+
+//
+// abstract class defining format-specific operations
+// for reading and writing files of reads
+//
+class FileFormat
+{
+public:
+ //
+ // files
+ //
+
+ // reading
+ //
+
+ virtual void getSortInfo(const Genome* genome, char* buffer, _int64 bytes, GenomeLocation* o_location, GenomeDistance* o_readBytes, int* o_refID = NULL, int* o_pos = NULL) const = 0;
+
+ /*
+
+ virtual ReadReader* createReader(const DataSupplier* supplier, const char *fileName,
+ const Genome *genome, _int64 startingOffset, _int64 amountOfFileToProcess,
+ ReadClippingType clipping = ClipBack) = 0;
+
+ virtual PairedReadReader* createPairedReader(const DataSupplier* supplier, const char *fileName,
+ const Genome *genome, _int64 startingOffset, _int64 amountOfFileToProcess,
+ ReadClippingType clipping = ClipBack) = 0;
+
+ virtual ReadSupplierGenerator *createReadSupplierGenerator(const char *fileName, int numThreads,
+ const Genome *genome, ReadClippingType clipping = ClipBack) = 0;
+
+ virtual PairedReadSupplierGenerator *createPairedReadSupplierGenerator(const char *fileName,
+ int numThreads, const Genome *genome, ReadClippingType clipping = ClipBack) = 0;
+
+ // parse header and match against genome
+ virtual bool parseHeader(const char *fileName, char *firstLine, char *endOfBuffer,
+ const Genome *genome, _int64 *o_headerSize) = 0;
+
+ */
+
+protected:
+
+ static const char* RGLineToAux;
+
+ static void setupReaderContext(AlignerOptions* options, ReaderContext* readerContext, bool bam);
+
+public:
+
+ virtual void setupReaderContext(AlignerOptions* options, ReaderContext* readerContext) const = 0;
+
+ //
+ // writing
+ //
+
+ virtual ReadWriterSupplier* getWriterSupplier(AlignerOptions* options, const Genome* genome) const = 0;
+
+ virtual bool writeHeader(
+ const ReaderContext& context, char *header, size_t headerBufferSize, size_t *headerActualSize,
+ bool sorted, int argc, const char **argv, const char *version, const char *rgLine, bool omitSQLines) const = 0;
+
+ virtual bool writeRead(
+ const ReaderContext& context, LandauVishkinWithCigar * lv, char * buffer, size_t bufferSpace,
+ size_t * spaceUsed, size_t qnameLen, Read * read, AlignmentResult result,
+ int mapQuality, GenomeLocation genomeLocation, Direction direction, bool secondaryAlignment, int* o_addFrontClipping,
+ bool hasMate = false, bool firstInPair = false, Read * mate = NULL,
+ AlignmentResult mateResult = NotFound, GenomeLocation mateLocation = 0, Direction mateDirection = FORWARD,
+ bool alignedAsPair = false) const = 0;
+
+ //
+ // formats
+ //
+
+ static const FileFormat* SAM[2]; // 0 for =, 1 for M (useM flag)
+ static const FileFormat* BAM[2];
+ static const FileFormat* FASTQ;
+ static const FileFormat* FASTQZ;
+};
diff --git a/SNAPLib/FixedSizeMap.h b/SNAPLib/FixedSizeMap.h
new file mode 100644
index 0000000..bca97a5
--- /dev/null
+++ b/SNAPLib/FixedSizeMap.h
@@ -0,0 +1,296 @@
+#pragma once
+
+#include "Compat.h"
+#include "BigAlloc.h"
+#include "exit.h"
+#include "Error.h"
+
+
+//
+// A hash function for numeric types.
+//
+template<typename T>
+class NumericHash
+{
+public:
+ inline _uint64 operator() (T value) {
+ return (_uint64) (value * 131);
+ }
+};
+
+
+//
+// A fixed-size hash map that allows for efficient clearing and reuse through epochs
+// and does not perform any memory allocation.
+//
+// This class only allows the capacity to be a power of 2.
+//
+// Use epoch + 1 as a tombstone for deleted values
+//
+// K must be a numeric type that supports shift, mask and xor operators.
+//
+template< typename K, typename V, typename Hash = NumericHash<K> >
+class FixedSizeMap
+{
+public:
+ FixedSizeMap(unsigned capacity_ = 16): entries(NULL), size(0) {
+ reserve(capacity_);
+ }
+
+ ~FixedSizeMap() {
+ delete[] entries;
+ }
+
+ void reserve(unsigned capacity) {
+ if (!isPowerOf2(capacity)) {
+ WriteErrorMessage("FixedSizeMap capacity must be a power of 2\n");
+ soft_exit(1);
+ }
+ if (entries != NULL) {
+ if (size > 0) {
+ WriteErrorMessage("reserve() called on a non-empty FixedSizeMap\n");
+ soft_exit(1);
+ }
+ delete[] entries;
+ }
+ this->capacity = capacity;
+ this->mask = capacity - 1;
+ entries = new Entry[capacity];
+ for (unsigned i = 0; i < capacity; i++) {
+ entries[i].epoch = 0;
+ }
+ epoch = 1;
+
+ clearBloomFilter();
+ }
+
+ void clear() {
+ size = 0;
+ epoch += 2;
+ if (epoch > 100000000) {
+ // Reset the epoch of every bucket to 0 and the current epoch to 1
+ for (unsigned i = 0; i < capacity; i++) {
+ entries[i].epoch = 0;
+ }
+ epoch = 1;
+ }
+
+ clearBloomFilter();
+ }
+
+ void resize(unsigned size)
+ {
+ // Do something here to limit the size of the hash table to reduce cache missing.
+ _ASSERT(size <= capacity);
+ }
+
+ static const unsigned MaxQuadraticProbes = 4;
+
+ inline V get(K key) {
+ unsigned pos = hash(key) & mask;
+#if 0
+ //
+ // Prefetch the data. If it hits in the Bloom Filter then we can overlap the cache fetch
+ // with the Bloom Filter computation, making the latter essentially free. If it's not in the
+ // Bloom Filter, then this will bring the cache line in for the add that's doubtless coming
+ // soon after.
+ //
+ _mm_prefetch((const char *)(&entries[pos]),_MM_HINT_T2);
+
+ if (!checkBloomFilter(key)) {
+ //
+ // Not in the Bloom Filter means not in the cache.
+ //
+ return V();
+ }
+#endif // 0
+
+ unsigned i = 1;
+ while (true) {
+ if (entries[pos].epoch < epoch) {
+ return V();
+ } else if (entries[pos].key == key && entries[pos].epoch == epoch) {
+ return entries[pos].value;
+ } else {
+ pos = (pos + (i <= MaxQuadraticProbes ? i : 1)) & mask;
+ i++;
+ if (i > capacity + MaxQuadraticProbes) {
+ return V();
+ }
+ }
+ }
+ }
+
+ inline void put(K key, V value) {
+ _ASSERT(size < capacity);
+// addToBloomFilter(key);
+
+ unsigned pos = hash(key) & mask;
+ unsigned i = 1;
+
+ while (true) {
+ if (entries[pos].epoch != epoch) {
+ entries[pos].key = key;
+ entries[pos].value = value;
+ entries[pos].epoch = epoch;
+ size++;
+ return;
+ } else if (entries[pos].key == key) {
+ entries[pos].value = value;
+ return;
+ } else {
+ pos = (pos + (i <= MaxQuadraticProbes ? i : 1)) & mask;
+ i++;
+ _ASSERT(i <= capacity + MaxQuadraticProbes); // todo: overlow condition?
+ }
+ }
+ }
+
+ inline void erase(K key) {
+ _ASSERT(size <= capacity);
+ unsigned pos = hash(key) & mask;
+ unsigned i = 1;
+ while (true) {
+ if (entries[pos].epoch < epoch) {
+ return;
+ } else if (entries[pos].key == key && entries[pos].epoch == epoch) {
+ entries[pos].epoch = epoch + 1; // mark with tombstone
+ size--;
+ return;
+ } else {
+ pos = (pos + (i <= MaxQuadraticProbes ? i : 1)) & mask;
+ i++;
+ _ASSERT(i <= capacity + MaxQuadraticProbes); // todo: overlow condition?
+ }
+ }
+ }
+
+ inline int getSize() { return size; }
+
+ void *operator new(size_t size) {return BigAlloc(size);}
+ void operator delete(void *ptr) {BigDealloc(ptr);}
+
+ typedef void* iterator;
+
+ iterator begin()
+ {
+ return next(&entries[-1]);
+ }
+
+ iterator next(iterator i)
+ {
+ Entry* final = &entries[capacity];
+ Entry* x = (Entry*) i;
+ if (x < final) {
+ do {
+ x++;
+ } while (x < final && x->epoch != epoch);
+ }
+ return x;
+ }
+
+ iterator end()
+ {
+ return &entries[capacity];
+ }
+
+ K key(iterator i)
+ {
+ return ((Entry*)i)->key;
+ }
+
+ V& value(iterator i)
+ {
+ return ((Entry*)i)->value;
+ }
+
+private:
+ //
+ // To avoid cache misses on failed lookups, we have a cheezy Bloom filter. It's fixed at 512 bits (which is 64 bytes, typically
+ // a cache line), and two features.
+ //
+ static const unsigned bloomFilterFeatureSizeInBits = 9; // Must be >=3. Using 9 results in 64 bytes of Bloom Filter, which is cache-line sized (though not necessarily aligned)
+ static const unsigned bloomFilterSizeInChar = (1 << (bloomFilterFeatureSizeInBits - 3));
+ static const _uint64 bloomFilterFeatureMask = (1 << bloomFilterFeatureSizeInBits) - 1;
+
+ unsigned char bloomFilter[bloomFilterSizeInChar];
+
+ static inline void getBloomFilterFeatures(K key, unsigned *feature0Word, unsigned *feature0Bit, unsigned *feature1Word, unsigned *feature1Bit)
+ {
+ //
+ // We know the bloom filter is 2^bloomFilterFeatureSizeInBits bits wide. Use alternating bloomFilterFeatureSizeInBits bit chunks from the key to build up each of the features.
+ //
+ _uint64 feature[2] = {0, 0};
+
+ for (int i = 0; i < sizeof(K) * 8; i += bloomFilterFeatureSizeInBits * 2) {
+ feature[0] ^= ((key >> i) & bloomFilterFeatureMask);
+ feature[1] ^= ((key >> (i+bloomFilterFeatureSizeInBits)) & bloomFilterFeatureMask);
+ }
+
+ *feature0Word = feature[0] / 8;
+ *feature0Bit = feature[0] % 8;
+ *feature1Word = feature[1] / 8;
+ *feature1Bit = feature[1] % 8;
+
+ _ASSERT(*feature0Word < bloomFilterSizeInChar && *feature1Word < bloomFilterSizeInChar);
+ }
+
+ //
+ // false means that this entry is NOT in the cache. true means we can't say for sure.
+ //
+ inline bool checkBloomFilter(K key)
+ {
+ unsigned feature0Word, feature0Bit, feature1Word, feature1Bit;
+
+ getBloomFilterFeatures(key, &feature0Word, &feature0Bit, &feature1Word, &feature1Bit);
+
+ return (bloomFilter[feature0Word] & (1 << feature0Bit)) && (bloomFilter[feature1Word] & (1 << feature1Bit));
+ }
+
+ inline void addToBloomFilter(K key)
+ {
+ unsigned feature0Word, feature0Bit, feature1Word, feature1Bit;
+
+ getBloomFilterFeatures(key, &feature0Word, &feature0Bit, &feature1Word, &feature1Bit);
+
+ bloomFilter[feature0Word] |= 1 << feature0Bit;
+ bloomFilter[feature1Word] |= 1 << feature1Bit;
+ }
+
+ void clearBloomFilter()
+ {
+ memset(bloomFilter, 0, bloomFilterSizeInChar * sizeof(bloomFilter[0]));
+ }
+
+ struct Entry {
+ K key;
+ V value;
+ int epoch;
+
+ void *operator new[](size_t size) {return BigAlloc(size);}
+ void operator delete[](void *ptr) {BigDealloc(ptr);}
+ };
+
+ Entry *entries;
+ unsigned capacity;
+ unsigned size;
+ int mask;
+ int epoch;
+ Hash hash;
+
+
+
+ bool isPowerOf2(int n) {
+ while (n > 0) {
+ if (n == 1) {
+ return true;
+ } else if (n % 2 == 1) {
+ return false;
+ } else {
+ n /= 2;
+ }
+ }
+ return false;
+ }
+};
+
diff --git a/SNAPLib/FixedSizeSet.h b/SNAPLib/FixedSizeSet.h
new file mode 100644
index 0000000..66eea28
--- /dev/null
+++ b/SNAPLib/FixedSizeSet.h
@@ -0,0 +1,131 @@
+#pragma once
+
+#include "Compat.h"
+#include "BigAlloc.h"
+#include "FixedSizeMap.h"
+#include "exit.h"
+#include "Error.h"
+
+
+//
+// A fixed-capacity hash set that allows for efficient clearing and reuse through epochs
+// and does not perform any memory allocation.
+//
+// This class only allows the capacity to be a power of 2.
+//
+template< typename K, typename Hash = NumericHash<K> >
+class FixedSizeSet
+{
+public:
+ FixedSizeSet(int capacity_ = 16): entries(NULL), size(0) {
+ reserve(capacity_);
+ }
+
+ ~FixedSizeSet() {
+ delete[] entries;
+ }
+
+ void reserve(int capacity) {
+ if (!isPowerOf2(capacity)) {
+ WriteErrorMessage("FixedSizeSet capacity must be a power of 2\n");
+ soft_exit(1);
+ }
+ if (entries != NULL) {
+ if (size > 0) {
+ WriteErrorMessage("reserve() called on a non-empty FixedSizeSet\n");
+ soft_exit(1);
+ }
+ delete[] entries;
+ }
+ this->capacity = capacity;
+ this->mask = capacity - 1;
+ entries = new Entry[capacity];
+ for (int i = 0; i < capacity; i++) {
+ entries[i].epoch = 0;
+ }
+ epoch = 1;
+ }
+
+ void clear() {
+ size = 0;
+ epoch++;
+ if (epoch > 100000000) {
+ // Reset the epoch of every bucket to 0 and the current epoch to 1
+ for (int i = 0; i < capacity; i++) {
+ entries[i].epoch = 0;
+ }
+ epoch = 1;
+ }
+ }
+
+ inline bool contains(K key) {
+ unsigned pos = hash(key) & mask;
+ int i = 1;
+ while (true) {
+ if (entries[pos].epoch != epoch) {
+ return false;
+ } else if (entries[pos].key == key) {
+ return true;
+ } else {
+ pos = (pos + i) & mask;
+ i++;
+ }
+ }
+ }
+
+ inline void add(K key) {
+ _ASSERT(size < capacity);
+ unsigned pos = hash(key) & mask;
+ int i = 1;
+ while (true) {
+ if (entries[pos].epoch != epoch) {
+ entries[pos].key = key;
+ entries[pos].epoch = epoch;
+ size++;
+ if (size >= capacity) { // Can't be exactly equal, because then contains with a non-existant element infinite loops
+ WriteErrorMessage("FixedSizeSet overflowed. Code bug.\n");
+ soft_exit(1);
+ }
+ return;
+ } else if (entries[pos].key == key) {
+ return;
+ } else {
+ pos = (pos + i) & mask;
+ i++;
+ }
+ }
+ }
+
+ void *operator new(size_t size) {return BigAlloc(size);}
+ void operator delete(void *ptr) {BigDealloc(ptr);}
+
+private:
+ struct Entry {
+ K key;
+ int epoch;
+
+ void *operator new[](size_t size) {return BigAlloc(size);}
+ void operator delete[](void *ptr) {BigDealloc(ptr);}
+ };
+
+ Entry *entries;
+ int capacity;
+ int size;
+ int maxSize;
+ int mask;
+ int epoch;
+ Hash hash;
+
+ bool isPowerOf2(int n) {
+ while (n > 0) {
+ if (n == 1) {
+ return true;
+ } else if (n % 2 == 1) {
+ return false;
+ } else {
+ n /= 2;
+ }
+ }
+ return false;
+ }
+};
diff --git a/SNAPLib/FixedSizeVector.h b/SNAPLib/FixedSizeVector.h
new file mode 100644
index 0000000..ad29f6e
--- /dev/null
+++ b/SNAPLib/FixedSizeVector.h
@@ -0,0 +1,72 @@
+#pragma once
+
+#include "exit.h"
+#include "Error.h"
+
+//
+// A fixed-size vector that does not perform any memory allocation.
+//
+template<typename V>
+class FixedSizeVector
+{
+public:
+ FixedSizeVector(int capacity_ = 16): entries(NULL), curSize(0) {
+ reserve(capacity_);
+ }
+
+ // Create a fixed size vector initialized to size copies of an initialValue
+ FixedSizeVector(int size, V initialValue): entries(NULL), curSize(0) {
+ reserve(size);
+ for (int i = 0; i < size; i++) {
+ push_back(initialValue);
+ }
+ }
+
+ ~FixedSizeVector() {
+ delete[] entries;
+ }
+
+ void reserve(int capacity) {
+ if (entries != NULL) {
+ if (curSize > 0) {
+ WriteErrorMessage("reserve() called on a non-empty FixedSizeVector\n");
+ soft_exit(1);
+ }
+ delete[] entries;
+ }
+ this->capacity = capacity;
+ entries = new V[capacity];
+ }
+
+ void clear() {
+ curSize = 0;
+ }
+
+ int size() {
+ return curSize;
+ }
+
+ inline void push_back(const V& value) {
+ _ASSERT(curSize < capacity);
+ entries[curSize++] = value;
+ }
+
+ inline V& operator[] (int index) {
+ return entries[index];
+ }
+
+ typedef V *iterator;
+
+ iterator begin() {
+ return entries;
+ }
+
+ iterator end() {
+ return entries + curSize;
+ }
+
+private:
+ V *entries;
+ int capacity;
+ int curSize;
+};
diff --git a/SNAPLib/GenericFile.cpp b/SNAPLib/GenericFile.cpp
new file mode 100755
index 0000000..82b87f5
--- /dev/null
+++ b/SNAPLib/GenericFile.cpp
@@ -0,0 +1,109 @@
+/*++
+
+Module Name:
+
+ GenericFile.cpp
+
+Abstract:
+
+ Generic IO class for SNAP that can read from either the filesystem or HDFS.
+
+Authors:
+
+ Jeremy Elson, February 2014
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include <string.h>
+
+#include "Compat.h"
+#include "GenericFile.h"
+#include "GenericFile_stdio.h"
+
+#ifdef SNAP_HDFS
+# include "GenericFile_HDFS.h"
+#endif
+
+const char *GenericFile::HDFS_PREFIX = "hdfs:/";
+
+GenericFile::GenericFile()
+{
+ _filename = NULL;
+}
+
+GenericFile::~GenericFile()
+{
+ free(_filename);
+}
+
+GenericFile *GenericFile::open(const char *filename, Mode mode)
+{
+ if (NULL == filename) {
+ return NULL;
+ }
+
+ GenericFile *retval = NULL;
+
+ if (0 == strncmp(filename, HDFS_PREFIX, strlen(HDFS_PREFIX))) {
+#ifdef SNAP_HDFS
+ retval = GenericFile_HDFS::open(filename, mode);
+#else
+ fprintf(stderr, "SNAP not compiled with HDFS support. Set HADOOP_HOME and recompile.\n");
+ retval = NULL;
+#endif
+ } else {
+ retval = GenericFile_stdio::open(filename, mode);
+ }
+
+ if (NULL != retval) {
+ retval->_filename = strdup(filename);
+ retval->_mode = mode;
+ }
+
+ return retval;
+}
+
+// gets -- read until a newline. Based on the K&R implementation.
+char *GenericFile::_gets_impl(char *buf, size_t count)
+{
+ int c;
+ char *next;
+
+ if (count == 0) {
+ return NULL;
+ }
+
+ next = buf;
+ while (--count > 0 && (c = getchar()) != EOF) {
+ // put the input char into the current pointer position, then increment it.
+ // if a newline is encountered, break
+ if ((*next++ = c) == '\n')
+ break;
+ }
+
+ *next = '\0';
+ return (c == EOF && next == buf) ? NULL : buf;
+}
+
+ _int64
+GenericFile::prefetch()
+{
+ const size_t ioSize = 128 * 1024 * 1024;
+
+ char *buffer = new char[ioSize];
+
+ for (;;) {
+ if (0 == read(buffer, ioSize)) {
+ delete[] buffer;
+ return 0;
+ }
+ }
+}
\ No newline at end of file
diff --git a/SNAPLib/GenericFile.h b/SNAPLib/GenericFile.h
new file mode 100755
index 0000000..3950d27
--- /dev/null
+++ b/SNAPLib/GenericFile.h
@@ -0,0 +1,75 @@
+/*++
+
+Module Name:
+
+ GenericFile.h
+
+Abstract:
+
+ Generic IO class for SNAP that can read from either stdlib or HDFS.
+
+Authors:
+
+ Jeremy Elson, February 2014
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+#include "Compat.h"
+
+class GenericFile
+{
+public:
+ enum Mode
+ {
+ ReadOnly,
+ WriteOnly,
+ };
+
+ static const char *HDFS_PREFIX;
+
+ // Factory that returns either:
+ // * a GenericFile_HDFS object if the filename starts with "hdfs://"
+ // * a GenericFile_stdio object otherwise
+ static GenericFile *open(const char *fileName, Mode mode);
+
+ // Read 'count' bytes into the memory pointed at by 'ptr'.
+ // Returns the actual number of bytes read, or -1 on error.
+ virtual size_t read(void *ptr, size_t count) = 0;
+
+ // Gets a single character from the stream, like stdio getc.
+ // On success, returns the char promoted to an int.
+ // On failure, returns EOF.
+ virtual int getchar() = 0;
+
+ // Gets a string from the file and store it as a c string in 'str' until (num-1)
+ // characters have ben read or either a newline or eod-of-file is reached,
+ // whichever happens first.
+ virtual char *gets(char *buf, size_t count) = 0;
+
+ // Advance forward or back by byteOffset bytes in the file.
+ virtual int advance(long long byteOffset) = 0;
+
+ // Close the file.
+ virtual void close() = 0;
+
+ // Return the name of the file.
+ char *getFilename() { return _filename; }
+
+ virtual ~GenericFile();
+
+ virtual _int64 prefetch(); // Ignore the return value, it's just to trick the compiler into not optimizing it away.
+
+protected:
+ char *_gets_impl(char *buf, size_t count);
+ GenericFile();
+ Mode _mode;
+ char *_filename;
+};
diff --git a/SNAPLib/GenericFile_Blob.cpp b/SNAPLib/GenericFile_Blob.cpp
new file mode 100644
index 0000000..d207232
--- /dev/null
+++ b/SNAPLib/GenericFile_Blob.cpp
@@ -0,0 +1,125 @@
+/*++
+
+Module Name:
+
+ GenericFile_Blob.cpp
+
+Abstract:
+
+ Generic IO class for SNAP that can read from an in-memory blob.
+
+Authors:
+
+ Bill Bolosky, March, 2014
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "GenericFile_Blob.h"
+
+GenericFile_Blob::GenericFile_Blob(void *i_blob, size_t i_blobSize) : blob((char *)i_blob), readPointer((char *)i_blob), blobSize(i_blobSize), blobEnd((char *)i_blob + i_blobSize)
+{
+}
+
+GenericFile_Blob *
+GenericFile_Blob::open(void *i_blob, size_t i_blobSize)
+{
+ GenericFile_Blob *file = new GenericFile_Blob(i_blob, i_blobSize);
+
+ return file;
+}
+
+size_t
+GenericFile_Blob::read(void *ptr, size_t count)
+{
+ size_t bytesReturned;
+ void *base = mapAndAdvance(count, &bytesReturned);
+
+ memcpy(ptr, base, bytesReturned);
+ return bytesReturned;
+}
+
+int
+GenericFile_Blob::advance(long long offset)
+{
+ if (offset < 0) {
+ if (readPointer - blob > -1 * offset) {
+ return 1;
+ }
+ readPointer += offset;
+ return 0;
+ }
+
+ long long amountRemaining = blobEnd - readPointer;
+ if (amountRemaining < offset) {
+ return EOF;
+ }
+ readPointer += offset;
+
+ return 0;
+}
+
+
+ void
+GenericFile_Blob::close()
+{
+ blob = readPointer = blobEnd = NULL;
+ blobSize = 0;
+}
+
+GenericFile_Blob::~GenericFile_Blob()
+{
+ close();
+}
+
+ int
+GenericFile_Blob::getchar()
+{
+ if (readPointer >= blobEnd) {
+ return EOF;
+ }
+
+ unsigned char c = *(unsigned char *)readPointer;
+ readPointer++;
+
+ return (int)c;
+}
+
+char *GenericFile_Blob::gets(char *buf, size_t count)
+{
+ return _gets_impl(buf, count);
+}
+
+ //
+ // This gives a pointer into the blob rather than copying it.
+ // It's the caller's responsibility to assure that the blob doesn't
+ // go away while this pointer's still in use.
+ //
+ void *
+GenericFile_Blob::mapAndAdvance(size_t count, size_t *bytesReturned)
+{
+ size_t amountRemaining = blobEnd - readPointer;
+
+ if (count > amountRemaining) {
+ *bytesReturned = amountRemaining;
+ } else {
+ *bytesReturned = count;
+ }
+
+ void *retVal = readPointer;
+ readPointer += *bytesReturned;
+
+ return retVal;
+}
+ size_t
+GenericFile_Blob::getAmountUsed()
+{
+ return readPointer - blob;
+}
diff --git a/SNAPLib/GenericFile_Blob.h b/SNAPLib/GenericFile_Blob.h
new file mode 100644
index 0000000..82633fc
--- /dev/null
+++ b/SNAPLib/GenericFile_Blob.h
@@ -0,0 +1,66 @@
+/*++
+
+Module Name:
+
+ GenericFile_Blob.h
+
+Abstract:
+
+ Generic IO class for SNAP that can read from an in-memory blob.
+
+Authors:
+
+ Bill Bolosky, March, 2014
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+
+#include "GenericFile.h"
+
+class GenericFile_Blob: public GenericFile
+{
+public:
+ //
+ // This object does not take ownership of the blob, so it's the caller's
+ // responsibility to assure that it continues to exist as long as the
+ // GenericFile_Blob object does, and to free the memory as necessary.
+ // In addition, if anyone calls mapAndAdvance, the caller must
+ // assure that the blob continues to exist until all uses of that
+ // pointer are finished as well.
+ //
+ static GenericFile_Blob *open(void *i_blob, size_t i_blobSize);
+
+ virtual size_t read(void *ptr, size_t count);
+ virtual int getchar();
+ virtual char *gets(char *buf, size_t count);
+ virtual int advance(long long offset);
+ virtual void close();
+ virtual ~GenericFile_Blob();
+ virtual size_t getAmountUsed();
+
+
+
+ //
+ // This gives a pointer into the blob rather than copying it.
+ // It's the caller's responsibility to assure that the blob doesn't
+ // go away while this pointer's still in use.
+ //
+ void *mapAndAdvance(size_t count, size_t *bytesReturned);
+
+protected:
+ GenericFile_Blob(void *i_blob, size_t i_blobSize);
+
+private:
+ char *blob;
+ char *blobEnd;
+ char *readPointer;
+ size_t blobSize;
+};
diff --git a/SNAPLib/GenericFile_HDFS.cpp b/SNAPLib/GenericFile_HDFS.cpp
new file mode 100755
index 0000000..0f44e08
--- /dev/null
+++ b/SNAPLib/GenericFile_HDFS.cpp
@@ -0,0 +1,382 @@
+/*++
+
+Module Name:
+
+ GenericFile_HDFS.cpp
+
+Abstract:
+
+ Generic IO class for SNAP that can read from HDFS.
+
+Authors:
+
+ Jeremy Elson, February 2014
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+
+#ifdef SNAP_HDFS
+
+#include "Compat.h"
+#include "Error.h"
+#include "GenericFile.h"
+#include "GenericFile_HDFS.h"
+#include "Util.h"
+
+ExclusiveLock GenericFile_HDFS::_staticLock;
+hdfsFS GenericFile_HDFS::_fs;
+
+// this goes last so staticInit runs after others are initialized;
+// it has side-effects that initialize the other members
+int GenericFile_HDFS::_initFlag = GenericFile_HDFS::_staticInit();
+
+int GenericFile_HDFS::_staticInit()
+{
+ InitializeExclusiveLock(&_staticLock);
+ SetExclusiveLockWholeProgramScope(&_staticLock);
+
+ _fs = NULL;
+ srand(unsigned(time(NULL)));
+
+ return 1;
+}
+
+GenericFile_HDFS::GenericFile_HDFS()
+{
+ _file = NULL;
+}
+
+GenericFile_HDFS::~GenericFile_HDFS()
+{
+}
+
+GenericFile_HDFS *GenericFile_HDFS::open(const char *filename, Mode mode)
+{
+ GenericFile_HDFS *retval = new GenericFile_HDFS();
+ bool noFs = false;
+
+ AcquireExclusiveLock(&_staticLock);
+
+ if (NULL == _fs) {
+ // note, because we're now holding this globally due to HDFS' ridiculous
+ // bug (see: https://issues.apache.org/jira/browse/HDFS-925), this never gets closed.
+ // sorry. feel free to refcount it and hdfsDisconnect() it in ::close(). --JE
+ _fs = hdfsConnect("default", 0);
+
+ if (NULL == _fs) {
+ fprintf(stderr, "can't open HDFS");
+ noFs = true;
+ }
+ }
+
+ ReleaseExclusiveLock(&_staticLock);
+
+ if (noFs) {
+ goto fail;
+ }
+
+ switch (mode) {
+ case ReadOnly:
+ retval->_file = hdfsOpenFile(retval->_fs, filename, O_RDONLY, 0, 0, 0);
+ break;
+ case WriteOnly:
+ retval->_file = hdfsOpenFile(retval->_fs, filename, O_WRONLY | O_CREAT, 0, 0, 0);
+ break;
+ default:
+ fprintf(stderr, "GenericFile_HDFS::open::unknown file mode");
+ break;
+ }
+
+ if (0 == retval->_file) {
+ fprintf(stderr, "couldn't open hdfs file");
+ goto fail;
+ }
+
+ return retval;
+
+fail:
+ delete retval;
+ return NULL;
+
+}
+
+// for debugging; ignore
+static char *startingBytes(char *ptr, size_t totalRead)
+{
+ static char buf[100];
+
+ for (size_t i = 0; i < min(totalRead, 10); i++)
+ sprintf(buf+i*3, "%02x:", (unsigned char) ptr[i]);
+
+ return buf;
+}
+
+size_t GenericFile_HDFS::_readSingleThreaded(void *ptr, size_t count)
+{
+ size_t totalRead = 0;
+
+ while (true) {
+ // HDFS takes read arguments as signed 32-bit ints, so do smaller
+ // reads if we got a larger argument
+ size_t desiredRead = count - totalRead;
+ tSize readSize;
+
+ if (desiredRead > INT32_MAX) {
+ readSize = INT32_MAX;
+ } else {
+ readSize = (tSize) desiredRead;
+ }
+
+ // WriteErrorMessage("reading 0x%x from 0x%llx --> %x\n", readSize, hdfsTell(_fs, _file), (char *) ptr+totalRead);
+
+ tSize retval = hdfsRead(_fs, _file, ((char *) ptr) + totalRead, readSize);
+
+ if (retval < 0) {
+ perror("hdfsRead");
+ return totalRead;
+ } else {
+ totalRead += retval;
+
+ if (retval == 0 || totalRead >= count) {
+ // WriteErrorMessage("...read at 0x%x, %ld bytes, starts with %s\n", ptr, totalRead, startingBytes((char *)ptr, totalRead));
+ return totalRead;
+ }
+ }
+ }
+}
+
+
+/////////////////
+/// Implementation of multi-threaded work queue for HDFS reads
+////////////////
+
+GenericFile_HDFS::_HdfsWorkQueue::_HdfsWorkQueue(GenericFile_HDFS *gFile, void *void_ptr, tOffset startOffset, size_t count)
+{
+ InitializeExclusiveLock(&_workQueueLock);
+ _error = false;
+
+ this->_gFile = gFile;
+
+ // cast to char ptr necessary to do pointer math
+ char *ptr = (char *) void_ptr;
+
+ while (count > 0) {
+ long readSize = count >= _READ_CHUNK_SIZE ? _READ_CHUNK_SIZE : (long) count;
+
+ _workItemList.push_back(new _HdfsWorkItem(ptr, startOffset, readSize));
+
+ ptr += readSize;
+ startOffset += readSize;
+ count -= readSize;
+ };
+
+ std::random_shuffle(_workItemList.begin(), _workItemList.end());
+}
+
+size_t GenericFile_HDFS::_HdfsWorkQueue::size()
+{
+ AcquireExclusiveLock(&_workQueueLock);
+ size_t retval = _workItemList.size();
+ ReleaseExclusiveLock(&_workQueueLock);
+ return retval;
+}
+
+GenericFile_HDFS::_HdfsWorkItem *GenericFile_HDFS::_HdfsWorkQueue::getOne()
+{
+ _HdfsWorkItem *retval = NULL;
+
+ // If an error has been thrown, don't bother with the rest of the work
+ if (isErrorThrown()) {
+ return NULL;
+ }
+
+ AcquireExclusiveLock(&_workQueueLock);
+
+ if (_workItemList.empty()) {
+ retval = NULL;
+ } else {
+ retval = _workItemList.back();
+ _workItemList.pop_back();
+ }
+
+ ReleaseExclusiveLock(&_workQueueLock);
+ return retval;
+}
+
+void GenericFile_HDFS::_HdfsWorkQueue::createNWaiter(size_t n)
+{
+ _nWaiter = new NWaiter(n);
+}
+
+void GenericFile_HDFS::_HdfsWorkQueue::signalThreadDone()
+{
+ _nWaiter->signal();
+}
+
+void GenericFile_HDFS::_HdfsWorkQueue::wait()
+{
+ _nWaiter->wait();
+}
+
+GenericFile_HDFS::_HdfsWorkQueue::~_HdfsWorkQueue()
+{
+ if (!_workItemList.empty()) {
+ WriteErrorMessage("HDFS work queue not empty when destroyed! This is a bug. A grave one.");
+ exit(1);
+ }
+
+ DestroyExclusiveLock(&_workQueueLock);
+ delete _nWaiter;
+}
+
+
+size_t GenericFile_HDFS::_readMultiThreaded(void *ptr, size_t count)
+{
+ _HdfsWorkQueue *workQueue = new _HdfsWorkQueue(this, ptr, hdfsTell(_fs, _file), count);
+ size_t numThreads = workQueue->size();
+
+ if (numThreads > _MAX_READ_THREADS) {
+ numThreads = _MAX_READ_THREADS;
+ }
+
+ // WriteErrorMessage("Reading %lld bytes with %d threads (%lld work queue items)\n", count, numThreads, workQueue->size());
+
+ // Tell the work queue how many threads we're creating
+ workQueue->createNWaiter(numThreads);
+
+ for (size_t i = 0; i < numThreads; i++) {
+ StartNewThread(_hdfsReaderThread, workQueue);
+ }
+
+ // Wait for all threads to finish
+ workQueue->wait();
+
+ size_t retval;
+
+ if (workQueue->isErrorThrown()) {
+ retval = 0;
+ } else {
+ retval = count;
+ }
+
+ delete workQueue;
+ return retval;
+}
+
+void GenericFile_HDFS::_hdfsReaderThread(void *workQueueVoid)
+{
+ _HdfsWorkQueue *workQueue = static_cast<_HdfsWorkQueue*>(workQueueVoid);
+
+ if (NULL == workQueue) {
+ WriteErrorMessage("HDFS reader thread didn't get a valid work queue!\n");
+ exit(-1); // can't even signal the thread is done
+ }
+
+ // we need a separate file structure so that we can seek independently
+ GenericFile_HDFS *localFile = GenericFile_HDFS::open(workQueue->getFile()->getFilename(), ReadOnly);
+
+ if (NULL == localFile) {
+ WriteErrorMessage("HDFS reader thread could not open file!\n");
+ workQueue->signalError();
+ goto done;
+ }
+
+ while (true) {
+ _HdfsWorkItem *nextItem = workQueue->getOne();
+
+ if (NULL == nextItem)
+ goto done;
+
+ localFile->seek(nextItem->startOffset);
+
+ // WriteErrorMessage("readerThread: reading 0x%x from %x --> %x\n", nextItem->count, nextItem->startOffset, nextItem->ptr);
+
+ size_t retval = localFile->_readSingleThreaded(nextItem->ptr, nextItem->count);
+
+ if (retval != nextItem->count) {
+ WriteErrorMessage("HDFS read error: starting at offset %lld, tried to read %lld, only got %lld\n",
+ nextItem->startOffset, nextItem->count, retval);
+ workQueue->signalError();
+ }
+ }
+
+done:
+ if (NULL != localFile) {
+ localFile->close();
+ delete localFile;
+ }
+
+ workQueue->signalThreadDone();
+}
+
+
+size_t GenericFile_HDFS::read(void *ptr, size_t count)
+{
+ if (count <= _READ_CHUNK_SIZE || _MAX_READ_THREADS == 0) {
+ return _readSingleThreaded(ptr, count);
+ } else {
+ size_t retval = _readMultiThreaded(ptr, count);
+
+ // move the file pointer forward on the "main" file,
+ // because the multi threaded reader will open its own file pointers
+ advance(count);
+
+ return retval;
+ }
+}
+
+
+// ridiculously slow implementaiton of getChar.
+int GenericFile_HDFS::getchar()
+{
+ char buf[1];
+
+ if (1 == read(buf, sizeof(buf))) {
+ return buf[0];
+ } else {
+ return EOF;
+ }
+}
+
+// very slow because we're going all the way out to the JVM
+// for each character. We can buffer locally if perf hurts too much.
+char *GenericFile_HDFS::gets(char *buf, size_t count)
+{
+ return _gets_impl(buf, count);
+}
+
+int GenericFile_HDFS::advance(long long offset)
+{
+ if (offset == 0)
+ return 0;
+
+ tOffset currOffset = hdfsTell(_fs, _file);
+ return hdfsSeek(_fs, _file, currOffset + offset);
+}
+
+int GenericFile_HDFS::seek(long long offset)
+{
+ return hdfsSeek(_fs, _file, offset);
+}
+
+void GenericFile_HDFS::close()
+{
+ if (_mode == GenericFile::WriteOnly) {
+ if (hdfsFlush(_fs, _file)) {
+ fprintf(stderr, "Failed to flush %s!\n", _filename);
+ }
+ }
+
+ hdfsCloseFile(_fs, _file);
+}
+
+
+#endif // SNAP_HDFS
diff --git a/SNAPLib/GenericFile_HDFS.h b/SNAPLib/GenericFile_HDFS.h
new file mode 100755
index 0000000..5aa203f
--- /dev/null
+++ b/SNAPLib/GenericFile_HDFS.h
@@ -0,0 +1,106 @@
+/*++
+
+Module Name:
+
+ GenericFile_HDFS.h
+
+Abstract:
+
+ Generic IO class for SNAP that can read from HDFS.
+
+Authors:
+
+ Jeremy Elson, February 2014
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+
+#include "GenericFile.h"
+#include "Util.h"
+
+#include "hdfs.h"
+
+#include <vector>
+
+class GenericFile_HDFS : public GenericFile
+{
+public:
+ static GenericFile_HDFS *open(const char *filename, Mode mode);
+
+ virtual size_t read(void *ptr, size_t count);
+ virtual int getchar();
+ virtual char *gets(char *buf, size_t count);
+ virtual int advance(long long offset);
+ int seek(long long offset);
+ virtual void close();
+ virtual ~GenericFile_HDFS();
+
+private:
+ // private constructor -- must use factory
+ GenericFile_HDFS();
+
+ // private methods and data
+ static int _initFlag;
+ static int _staticInit();
+ static ExclusiveLock _staticLock;
+ size_t _readMultiThreaded(void *ptr, size_t count);
+ size_t _readSingleThreaded(void *ptr, size_t count);
+
+ // this is static because of an apparent bug in the HDFS library
+ // that prevents clients from holding more than one handle. If you
+ // open two connections to the same filesystem, then close one,
+ // the other is also closed. Ugh. As a work-around we'll just keep
+ // one global.
+ // See: https://issues.apache.org/jira/browse/HDFS-925
+ static hdfsFS _fs;
+
+ hdfsFile _file;
+
+ class _HdfsWorkItem {
+ public:
+ void *ptr;
+ tOffset startOffset;
+ size_t count;
+
+ _HdfsWorkItem(void *ptrArg, tOffset startOffsetArg, size_t countArg)
+ {
+ this->ptr = ptrArg;
+ this->startOffset = startOffsetArg;
+ this->count = countArg;
+ }
+ };
+
+ class _HdfsWorkQueue {
+ public:
+ _HdfsWorkQueue(GenericFile_HDFS *gFile, void *ptr, tOffset startOffset, size_t count);
+ size_t size();
+ _HdfsWorkItem *getOne();
+ GenericFile_HDFS *getFile() { return _gFile; }
+ void createNWaiter(size_t n);
+ void wait();
+ void signalThreadDone();
+ void signalError() { _error = true; }
+ bool isErrorThrown() { return _error; }
+ ~_HdfsWorkQueue();
+
+ private:
+ GenericFile_HDFS *_gFile;
+ ExclusiveLock _workQueueLock;
+ NWaiter *_nWaiter;
+ std::vector<_HdfsWorkItem *> _workItemList;
+ bool _error;
+ };
+
+ static void _hdfsReaderThread(void *workQueueObject);
+ static const size_t _MAX_READ_THREADS = 32;
+ static const size_t _READ_CHUNK_SIZE = 16*1024*1024; // 16MB
+};
+
diff --git a/SNAPLib/GenericFile_map.cpp b/SNAPLib/GenericFile_map.cpp
new file mode 100644
index 0000000..4a1b91b
--- /dev/null
+++ b/SNAPLib/GenericFile_map.cpp
@@ -0,0 +1,71 @@
+/*++
+
+Module Name:
+
+GenericFile_map.cpp
+
+Abstract:
+
+Generic IO class for SNAP that can map an input file.
+
+Authors:
+
+Bill Bolosky, September, 2014
+
+Environment:
+
+User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "GenericFile_map.h"
+#include "Error.h"
+#include "exit.h"
+
+GenericFile_map *GenericFile_map::open(const char *filename)
+{
+ size_t fileSize = QueryFileSize(filename);
+ void *contents;
+ MemoryMappedFile *mappedFile = OpenMemoryMappedFile(filename, 0, fileSize, &contents);
+
+ return new GenericFile_map(mappedFile, contents, fileSize);
+}
+
+GenericFile_map::GenericFile_map(MemoryMappedFile *i_mappedFile, void *i_contents, size_t i_fileSize) : mappedFile(i_mappedFile), contents((const char *)i_contents), fileSize(i_fileSize), GenericFile_Blob(i_contents, i_fileSize)
+{
+}
+
+ void
+GenericFile_map::close()
+{
+ if (NULL != mappedFile) {
+ CloseMemoryMappedFile(mappedFile);
+ mappedFile = NULL;
+
+ GenericFile_Blob::close();
+ }
+}
+
+GenericFile_map::~GenericFile_map()
+{
+ close();
+}
+
+ _int64
+GenericFile_map::prefetch()
+{
+ AdviseMemoryMappedFilePrefetch(mappedFile);
+ int pageSize = getpagesize();
+
+ _int64 total = 0;
+
+ for (size_t offset = 0; offset < fileSize / sizeof (_int64); offset += 4 ) {
+ total += ((_int64 *)contents)[offset];
+ }
+
+ return total; // We're returning this just to keep the compiler from optimizing away the whole thing.
+}
diff --git a/SNAPLib/GenericFile_map.h b/SNAPLib/GenericFile_map.h
new file mode 100644
index 0000000..3d0bbca
--- /dev/null
+++ b/SNAPLib/GenericFile_map.h
@@ -0,0 +1,43 @@
+/*++
+
+Module Name:
+
+GenericFile_map.h
+
+Abstract:
+
+Generic IO class for SNAP that can map an input file.
+
+Authors:
+
+Bill Bolosky, September, 2014
+
+Environment:
+
+User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+
+#include "GenericFile_Blob.h"
+#include "Compat.h"
+
+class GenericFile_map : public GenericFile_Blob
+{
+public:
+ static GenericFile_map *open(const char *filename);
+ virtual ~GenericFile_map();
+ virtual _int64 prefetch(); // Ignore the return value, it's just to trick the compiler into not optimizing it away.
+ virtual void close();
+
+private:
+ GenericFile_map(MemoryMappedFile *i_mappedFile, void *i_contents, size_t i_fileSize);
+
+ MemoryMappedFile *mappedFile;
+ const char *contents;
+ size_t fileSize;
+};
diff --git a/SNAPLib/GenericFile_stdio.cpp b/SNAPLib/GenericFile_stdio.cpp
new file mode 100755
index 0000000..3e161fa
--- /dev/null
+++ b/SNAPLib/GenericFile_stdio.cpp
@@ -0,0 +1,94 @@
+/*++
+
+Module Name:
+
+ GenericFile_stdio.cpp
+
+Abstract:
+
+ Generic IO class for SNAP that can read from stdio.
+
+Authors:
+
+ Jeremy Elson, February 2014
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "Compat.h"
+#include "GenericFile_stdio.h"
+#include "Error.h"
+
+GenericFile_stdio::GenericFile_stdio()
+{
+ _file = NULL;
+}
+
+GenericFile_stdio::~GenericFile_stdio()
+{
+}
+
+GenericFile_stdio *GenericFile_stdio::open(const char *filename, Mode mode)
+{
+ GenericFile_stdio *retval = new GenericFile_stdio();
+ retval->_mode = mode;
+
+ const char *fMode = NULL;
+
+ switch (mode) {
+ case ReadOnly:
+ fMode = "rb";
+ break;
+ case WriteOnly:
+ fMode = "wb";
+ break;
+ }
+
+ retval->_file = fopen(filename, fMode);
+
+ if (retval->_file == NULL) {
+ delete retval;
+ return NULL;
+ }
+
+ return retval;
+}
+
+GenericFile_stdio *GenericFile_stdio::open(const char *filename)
+{
+ return open(filename, ReadOnly);
+}
+
+size_t GenericFile_stdio::read(void *ptr, size_t count)
+{
+
+ return fread(ptr, 1, count, _file);
+
+}
+
+int GenericFile_stdio::getchar()
+{
+ return fgetc(_file);
+}
+
+char *GenericFile_stdio::gets(char *buf, size_t count)
+{
+ return fgets(buf, (int) count, _file);
+}
+
+int GenericFile_stdio::advance(long long offset)
+{
+ return _fseek64bit(_file, offset, SEEK_CUR);
+}
+
+void GenericFile_stdio::close()
+{
+ fclose(_file);
+}
diff --git a/SNAPLib/GenericFile_stdio.h b/SNAPLib/GenericFile_stdio.h
new file mode 100755
index 0000000..d9cc5fc
--- /dev/null
+++ b/SNAPLib/GenericFile_stdio.h
@@ -0,0 +1,44 @@
+/*++
+
+Module Name:
+
+ GenericFile_stdio.h
+
+Abstract:
+
+ Generic IO class for SNAP that can read from stdio.
+
+Authors:
+
+ Jeremy Elson, February 2014
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+
+#include "GenericFile.h"
+
+class GenericFile_stdio : public GenericFile
+{
+public:
+ static GenericFile_stdio *open(const char *filename, Mode mode);
+ static GenericFile_stdio *open(const char *filename); // no Mode means ReadOnly
+ virtual size_t read(void *ptr, size_t count);
+ virtual int getchar();
+ virtual char *gets(char *buf, size_t count);
+ virtual int advance(long long offset);
+ virtual ~GenericFile_stdio();
+ virtual void close();
+
+private:
+ GenericFile_stdio();
+
+ FILE *_file;
+};
diff --git a/SNAPLib/Genome.cpp b/SNAPLib/Genome.cpp
new file mode 100755
index 0000000..102cdd7
--- /dev/null
+++ b/SNAPLib/Genome.cpp
@@ -0,0 +1,492 @@
+/*++
+
+Module Name:
+
+ geonome.cpp
+
+Abstract:
+
+ Genome class for the SNAP sequencer
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#include "stdafx.h"
+#include "Genome.h"
+#include "GenericFile.h"
+#include "GenericFile_map.h"
+#include "Compat.h"
+#include "BigAlloc.h"
+#include "exit.h"
+#include "Error.h"
+
+Genome::Genome(GenomeDistance i_maxBases, GenomeDistance nBasesStored, unsigned i_chromosomePadding, unsigned i_maxContigs)
+: maxBases(i_maxBases), minLocation(0), maxLocation(i_maxBases), chromosomePadding(i_chromosomePadding), maxContigs(i_maxContigs),
+ mappedFile(NULL)
+{
+ bases = ((char *) BigAlloc(nBasesStored + 2 * N_PADDING)) + N_PADDING;
+ if (NULL == bases) {
+ WriteErrorMessage("Genome: unable to allocate memory for %llu bases\n", GenomeLocationAsInt64(maxBases));
+ soft_exit(1);
+ }
+
+ // Add N's for the N_PADDING bases before and after the genome itself
+ memset(bases - N_PADDING, 'n', N_PADDING);
+ memset(bases + nBasesStored, 'n', N_PADDING);
+
+ nBases = 0;
+
+ nContigs = 0;
+ contigs = new Contig[maxContigs];
+ contigsByName = NULL;
+}
+
+ void
+Genome::addData(const char *data, GenomeDistance len)
+{
+ if (nBases + len > GenomeLocationAsInt64(maxBases)) {
+ WriteErrorMessage("Tried to write beyond allocated genome size (or tried to write into a genome that was loaded from a file).\n"
+ "Size = %lld\n", GenomeLocationAsInt64(maxBases));
+ soft_exit(1);
+ }
+
+ memcpy(bases + nBases,data,len);
+ nBases += (unsigned)len;
+}
+
+ void
+Genome::addData(const char *data)
+{
+ addData(data, strlen(data));
+}
+
+ void
+Genome::startContig(const char *contigName)
+{
+ if (nContigs == maxContigs) {
+ //
+ // Reallocate (maybe we're sequencing a tree that's got lots of chromosomes).
+ //
+ int newMaxContigs = maxContigs * 2;
+ Contig *newContigs = new Contig[newMaxContigs];
+ if (NULL == newContigs) {
+ WriteErrorMessage("Genome: unable to reallocate contig array to size %d\n", newMaxContigs);
+ soft_exit(1);
+ }
+ for (int i = 0; i < nContigs; i++) {
+ newContigs[i] = contigs[i];
+ }
+
+ delete [] contigs;
+ contigs = newContigs;
+ maxContigs = newMaxContigs;
+ }
+
+ contigs[nContigs].beginningLocation = nBases;
+ size_t len = strlen(contigName) + 1;
+ contigs[nContigs].name = new char[len];
+ contigs[nContigs].nameLength = (unsigned)len-1;
+
+ strncpy(contigs[nContigs].name,contigName,len);
+ contigs[nContigs].name[len-1] = '\0';
+
+ nContigs++;
+}
+
+
+Genome::~Genome()
+{
+ BigDealloc(bases - N_PADDING);
+ for (int i = 0; i < nContigs; i++) {
+ delete [] contigs[i].name;
+ contigs[i].name = NULL;
+ }
+
+ delete [] contigs;
+ if (contigsByName) {
+ delete [] contigsByName;
+ }
+ contigs = NULL;
+
+ if (NULL != mappedFile) {
+ mappedFile->close();
+ delete mappedFile;
+ }
+}
+
+
+ bool
+Genome::saveToFile(const char *fileName) const
+{
+ //
+ // Save file format is (in binary) the number of bases, the number of contigs, followed by
+ // the contigs themselves, rounded up to 4K, followed by the bases.
+ //
+
+ FILE *saveFile = fopen(fileName,"wb");
+ if (saveFile == NULL) {
+ WriteErrorMessage("Genome::saveToFile: unable to open file '%s'\n",fileName);
+ return false;
+ }
+
+ fprintf(saveFile,"%lld %d\n",nBases, nContigs);
+ char *curChar = NULL;
+
+ for (int i = 0; i < nContigs; i++) {
+ for (int n = 0; n < strlen(contigs[i].name); n++){
+ curChar = contigs[i].name + n;
+ if (*curChar == ' '){ *curChar = '_'; }
+ }
+ fprintf(saveFile,"%lld %s\n",contigs[i].beginningLocation, contigs[i].name);
+ }
+
+ //
+ // Write it out in (big) chunks. For whatever reason, fwrite with really big sizes seems not to
+ // work as well as one would like.
+ //
+ const size_t max_chunk_size = 1 * 1024 * 1024 * 1024; // 1 GB (or GiB for the obsessively precise)
+
+ size_t bases_to_write = nBases;
+ size_t bases_written = 0;
+ while (bases_to_write > 0) {
+ size_t bases_this_write = __min(bases_to_write, max_chunk_size);
+ if (bases_this_write != fwrite(bases + bases_written, 1, bases_this_write, saveFile)) {
+ WriteErrorMessage("Genome::saveToFile: fwrite failed\n");
+ fclose(saveFile);
+ return false;
+ }
+ bases_to_write -= bases_this_write;
+ bases_written += bases_this_write;
+ }
+
+ _ASSERT(bases_written == nBases);
+
+ fclose(saveFile);
+ return true;
+}
+
+ const Genome *
+Genome::loadFromFile(const char *fileName, unsigned chromosomePadding, GenomeLocation minLocation, GenomeDistance length, bool map)
+{
+ GenericFile *loadFile;
+ GenomeDistance nBases;
+ unsigned nContigs;
+
+ if (!openFileAndGetSizes(fileName, &loadFile, &nBases, &nContigs, map)) {
+ //
+ // It already printed an error. Just fail.
+ //
+ return NULL;
+ }
+
+ GenomeLocation maxLocation(nBases);
+
+ if (0 == length) {
+ length = maxLocation - minLocation;
+ } else {
+ //
+ // Don't let length go beyond nBases.
+ //
+ length = __min(length, maxLocation - minLocation);
+ maxLocation = minLocation + length;
+ }
+
+ Genome *genome = new Genome(nBases, length, chromosomePadding);
+
+ genome->nBases = nBases;
+ genome->nContigs = genome->maxContigs = nContigs;
+ genome->contigs = new Contig[nContigs];
+ genome->minLocation = minLocation;
+ if (GenomeLocationAsInt64(minLocation) >= nBases) {
+ WriteErrorMessage("Genome::loadFromFile: specified minOffset %u >= nBases %u\n", GenomeLocationAsInt64(minLocation), nBases);
+ soft_exit(-1);
+ }
+
+ genome->maxLocation = maxLocation;
+
+ static const unsigned contigNameBufferSize = 512;
+ char contigNameBuffer[contigNameBufferSize];
+ unsigned n;
+ size_t contigSize;
+ char *curName;
+ for (unsigned i = 0; i < nContigs; i++) {
+ if (NULL == loadFile->gets(contigNameBuffer, contigNameBufferSize)){
+
+ WriteErrorMessage("Unable to read contig description\n");
+ delete genome;
+ return NULL;
+ }
+
+ for (n = 0; n < contigNameBufferSize; n++){
+ if (contigNameBuffer[n] == ' ') {
+ contigNameBuffer[n] = '\0';
+ break;
+ }
+ }
+
+ _int64 contigStart;
+ if (1 != sscanf(contigNameBuffer, "%lld", &contigStart)) {
+ WriteErrorMessage("Unable to parse contig start in genome file '%s', '%s%'\n", fileName, contigNameBuffer);
+ soft_exit(1);
+ }
+ genome->contigs[i].beginningLocation = GenomeLocation(contigStart);
+ contigNameBuffer[n] = ' ';
+ n++; // increment n so we start copying at the position after the space
+ contigSize = strlen(contigNameBuffer + n) - 1; //don't include the final \n
+ genome->contigs[i].name = new char[contigSize + 1];
+ genome->contigs[i].nameLength = (unsigned)contigSize;
+ curName = genome->contigs[i].name;
+ for (unsigned pos = 0; pos < contigSize; pos++) {
+ curName[pos] = contigNameBuffer[pos + n];
+ }
+ curName[contigSize] = '\0';
+ }
+
+ if (0 != loadFile->advance(GenomeLocationAsInt64(minLocation))) {
+ WriteErrorMessage("Genome::loadFromFile: _fseek64bit failed\n");
+ soft_exit(1);
+ }
+
+ size_t readSize;
+ if (map) {
+ GenericFile_map *mappedFile = (GenericFile_map *)loadFile;
+ genome->bases = (char *)mappedFile->mapAndAdvance(length, &readSize);
+ genome->mappedFile = mappedFile;
+ mappedFile->prefetch();
+ } else {
+ readSize = loadFile->read(genome->bases, length);
+
+ loadFile->close();
+ delete loadFile;
+ loadFile = NULL;
+ }
+
+ if (length != readSize) {
+ WriteErrorMessage("Genome::loadFromFile: fread of bases failed; wanted %u, got %d\n", length, readSize);
+ delete loadFile;
+ delete genome;
+ return NULL;
+ }
+
+ genome->fillInContigLengths();
+ genome->sortContigsByName();
+ return genome;
+}
+
+ bool
+contigComparator(
+ const Genome::Contig& a,
+ const Genome::Contig& b)
+{
+ return strcmp(a.name, b.name) < 0;
+}
+
+ void
+Genome::sortContigsByName()
+{
+ if (contigsByName) {
+ delete [] contigsByName;
+ }
+ contigsByName = new Contig[nContigs];
+ memcpy(contigsByName, contigs, nContigs * sizeof(Contig));
+ std::sort(contigsByName, contigsByName + nContigs, contigComparator);
+}
+
+ bool
+Genome::openFileAndGetSizes(const char *filename, GenericFile **file, GenomeDistance *nBases, unsigned *nContigs, bool map)
+{
+ if (map) {
+ *file = GenericFile_map::open(filename);
+ } else {
+ *file = GenericFile::open(filename, GenericFile::ReadOnly);
+ }
+
+ if (*file == NULL) {
+ WriteErrorMessage("Genome::openFileAndGetSizes: unable to open file '%s'\n",filename);
+ return false;
+ }
+
+ char linebuf[2000];
+ char *retval = (*file)->gets(linebuf, sizeof(linebuf));
+
+ if (NULL == retval || 2 != sscanf(linebuf,"%lld %d\n", nBases, nContigs)) {
+ (*file)->close();
+ delete *file;
+ *file = NULL;
+ WriteErrorMessage("Genome::openFileAndGetSizes: unable to read header\n");
+ return false;
+ }
+ return true;
+}
+
+
+ bool
+Genome::getSizeFromFile(const char *fileName, GenomeDistance *nBases, unsigned *nContigs)
+{
+ GenericFile *file;
+ GenomeDistance localNBases;
+ unsigned localnContigs;
+
+ if (!openFileAndGetSizes(fileName,&file, nBases ? nBases : &localNBases, nContigs ? nContigs : &localnContigs, false)) {
+ return false;
+ }
+
+ file->close();
+ delete file;
+ return true;
+}
+
+
+ bool
+Genome::getLocationOfContig(const char *contigName, GenomeLocation *location, int * index) const
+{
+ if (contigsByName) {
+ int low = 0;
+ int high = nContigs - 1;
+ while (low <= high) {
+ int mid = (low + high) / 2;
+ int c = strcmp(contigsByName[mid].name, contigName);
+ if (c == 0) {
+ if (location != NULL) {
+ *location = contigsByName[mid].beginningLocation;
+ }
+ if (index != NULL) {
+ *index = mid;
+ }
+ return true;
+ } else if (c < 0) {
+ low = mid + 1;
+ } else {
+ high = mid - 1;
+ }
+ }
+ return false;
+ }
+ for (int i = 0; i < nContigs; i++) {
+ if (!strcmp(contigName,contigs[i].name)) {
+ if (NULL != location) {
+ *location = contigs[i].beginningLocation;
+ }
+ if (index != NULL) {
+ *index = i;
+ }
+ return true;
+ }
+ }
+ return false;
+}
+
+
+ const Genome::Contig *
+Genome::getContigAtLocation(GenomeLocation location) const
+{
+ _ASSERT(location < nBases);
+ int low = 0;
+ int high = nContigs - 1;
+ while (low <= high) {
+ int mid = (low + high) / 2;
+ if (contigs[mid].beginningLocation <= location &&
+ (mid == nContigs-1 || contigs[mid+1].beginningLocation > location)) {
+ return &contigs[mid];
+ } else if (contigs[mid].beginningLocation <= location) {
+ low = mid + 1;
+ } else {
+ high = mid - 1;
+ }
+ }
+ return NULL; // Should not be reached
+}
+
+ int
+Genome::getContigNumAtLocation(GenomeLocation location) const
+{
+ const Contig *contig = getContigAtLocation(location);
+ return (int)(contig - contigs);
+}
+
+ const Genome::Contig *
+Genome::getNextContigAfterLocation(GenomeLocation location) const
+{
+ _ASSERT(location < nBases);
+ if (nContigs > 0 && location < contigs[0].beginningLocation) {
+ return &contigs[0];
+ }
+
+ int low = 0;
+ int high = nContigs - 1;
+ while (low <= high) {
+ int mid = (low + high) / 2;
+ if (contigs[mid].beginningLocation <= location &&
+ (mid == nContigs-1 || contigs[mid+1].beginningLocation > location)) {
+ if (mid >= nContigs - 1) {
+ //
+ // This location landed in the last contig, so return NULL for the next one.
+ //
+ return NULL;
+ } else {
+ return &contigs[mid+1];
+ }
+ } else if (contigs[mid].beginningLocation <= location) {
+ low = mid + 1;
+ } else {
+ high = mid - 1;
+ }
+ }
+ return NULL; // Should not be reached
+}
+
+GenomeDistance DistanceBetweenGenomeLocations(GenomeLocation locationA, GenomeLocation locationB)
+{
+ if (locationA > locationB) return locationA - locationB;
+ return locationB - locationA;
+}
+
+void Genome::fillInContigLengths()
+{
+ if (nContigs == 0) return;
+
+ for (int i = 0; i < nContigs - 1; i++) {
+ contigs[i].length = contigs[i+1].beginningLocation - contigs[i].beginningLocation;
+ }
+
+ contigs[nContigs-1].length = nBases - GenomeLocationAsInt64(contigs[nContigs-1].beginningLocation);
+}
+
+const Genome::Contig *Genome::getContigForRead(GenomeLocation location, unsigned readLength, GenomeDistance *extraBasesClippedBefore) const
+{
+ const Contig *contig = getContigAtLocation(location);
+
+ //
+ // Sometimes, a read aligns before the beginning of a chromosome (imagine prepending a few bases to the read).
+ // In that case, we want to handle it by soft-clipping the bases off of the beginning of the read. We detect it
+ // here by looking to see if the aligned location plus the read length crosses a contig boundary. It also might
+ // happen that it is aligned before the first contig, in which case contig will be NULL.
+ //
+ if (NULL == contig || location + readLength > contig->beginningLocation + contig->length) {
+ //
+ // We should never align over the end of a chromosome, only before the beginning. So move this into the next
+ // chromosome.
+ //
+ contig = getNextContigAfterLocation(location);
+ _ASSERT(NULL != contig);
+ _ASSERT(contig->beginningLocation > location && contig->beginningLocation < location + readLength);
+ *extraBasesClippedBefore = contig->beginningLocation - location;
+ } else {
+ *extraBasesClippedBefore = 0;
+ }
+
+ return contig;
+}
+
+GenomeLocation InvalidGenomeLocation; // Gets set on genome build/load
\ No newline at end of file
diff --git a/SNAPLib/Genome.h b/SNAPLib/Genome.h
new file mode 100644
index 0000000..84e94f5
--- /dev/null
+++ b/SNAPLib/Genome.h
@@ -0,0 +1,309 @@
+/*++
+
+Module Name:
+
+ geonome.h
+
+Abstract:
+
+ Genome class for the SNAP sequencer
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#pragma once
+#include "Compat.h"
+#include "GenericFile.h"
+#include "GenericFile_map.h"
+
+//
+// We have two different classes to represent a place in a genome and a distance between places in a genome.
+// In reality, they're both just 64 bit ints, but the classes are set up to encourage the user to keep
+// in mind the difference. So, a genome location might be something
+// like "chromosome 12, base 12345" which would be represented in (0-based) genome coordinates as some
+// 64 bit int that's the base of cheomosome 12 + 12344 (one less because we're 0-based and the nomenclature
+// uses 1-based).
+// In the non-debug build, GenomeLocation is just defined as an _int64, so that no matter how dumb the compiler
+// can't possibly screw it up. However, in the debug build you get the happy type checking.
+//
+
+typedef _int64 GenomeDistance;
+
+#ifdef _DEBUG
+
+class GenomeLocation {
+public:
+ GenomeLocation(_int64 i_location) : location(i_location) {}
+ GenomeLocation(const GenomeLocation &peer) : location(peer.location) {}
+ GenomeLocation() {location = -1;}
+
+ inline GenomeLocation operator=(const GenomeLocation &peer) {
+ location = peer.location;
+ return *this;
+ }
+
+ inline GenomeLocation operator=(const _int64 value) {
+ location = value;
+ return *this;
+ }
+
+ inline GenomeLocation operator++() {
+ location++;
+ return *this;
+ }
+
+ inline GenomeLocation operator--() {
+ location--;
+ return *this;
+ }
+
+ // The postfix versions
+ inline GenomeLocation operator++(int foo) {
+ location++;
+ return *this - 1;
+ }
+
+ inline GenomeLocation operator--(int foo) {
+ location--;
+ return *this + 1;
+ }
+
+ inline bool operator==(const GenomeLocation &peer) const {
+ return location == peer.location;
+ }
+
+ inline bool operator>=(const GenomeLocation &peer) const {
+ return location >= peer.location;
+ }
+
+ inline bool operator>(const GenomeLocation &peer) const {
+ return location > peer.location;
+ }
+
+ inline bool operator<=(const GenomeLocation &peer) const {
+ return location <= peer.location;
+ }
+
+ inline bool operator<(const GenomeLocation &peer) const {
+ return location < peer.location;
+ }
+
+ inline bool operator!=(const GenomeLocation &peer) const {
+ return location != peer.location;
+ }
+
+ inline GenomeLocation operator+(const GenomeDistance distance) const {
+ GenomeLocation retVal(location + distance);
+ return retVal;
+ }
+
+ inline GenomeDistance operator-(const GenomeLocation &otherLoc) const {
+ return location - otherLoc.location;
+ }
+
+ inline GenomeLocation operator-(const GenomeDistance distance) const {
+ return location - distance;
+ }
+
+ inline GenomeLocation operator+=(const GenomeDistance distance) {
+ location += distance;
+ return *this;
+ }
+
+ inline GenomeLocation operator-=(const GenomeDistance distance) {
+ location -= distance;
+ return *this;
+ }
+
+ _int64 location;
+};
+
+inline _int64 GenomeLocationAsInt64(GenomeLocation genomeLocation) {
+ return genomeLocation.location;
+}
+
+inline unsigned GenomeLocationAsInt32(GenomeLocation genomeLocation) {
+ _ASSERT(genomeLocation.location <= 0xffffffff && genomeLocation.location >= 0);
+ return (unsigned)genomeLocation.location;
+}
+#else // _DEBUG
+typedef _int64 GenomeLocation;
+
+inline _int64 GenomeLocationAsInt64(GenomeLocation genomeLocation)
+{
+ return genomeLocation;
+}
+
+inline unsigned GenomeLocationAsInt32(GenomeLocation genomeLocation) {
+ _ASSERT(genomeLocation <= 0xffffffff && genomeLocation>= 0); // One might wonder about the value of an _ASSERT in code that's only non-_DEBUG. Think of it as an uppity comment. :-)
+ return (unsigned)genomeLocation;
+}
+
+#endif // _DEBUG
+
+typedef _int64 GenomeDistance;
+
+extern GenomeLocation InvalidGenomeLocation;
+
+class Genome {
+public:
+ //
+ // Methods for building a genome.
+ //
+
+ //
+ // Create a new genome. It's got a limit on the number of bases, but there's no need to
+ // store that many, it's just an upper bound. It will, of course, use memory proportional
+ // to the bound.
+ //
+ Genome(
+ GenomeDistance i_maxBases,
+ GenomeDistance nBasesStored,
+ unsigned i_chromosomePadding,
+ unsigned maxContigs = 32);
+
+ void startContig(
+ const char *contigName);
+
+ void addData(
+ const char *data);
+
+ void addData(const char *data, GenomeDistance len);
+
+ const unsigned getChromosomePadding() const {return chromosomePadding;}
+
+ ~Genome();
+
+ //
+ // Methods for loading a genome from a file, and saving one to a file. When you save and
+ // then load a genome the space used is reduced from the max that was reserved when it was
+ // first created to the amount actually used (rounded up to a page size). However, saved
+ // and loaded genomes can't be added to, they're read only.
+ //
+ // minOffset and length are used to read in only a part of a whole genome.
+ //
+ static const Genome *loadFromFile(const char *fileName, unsigned chromosomePadding, GenomeLocation i_minLocation = 0, GenomeDistance length = 0, bool map = false);
+ // This loads from a genome save
+ // file, not a FASTA file. Use
+ // FASTA.h for FASTA loads.
+
+ static bool getSizeFromFile(const char *fileName, GenomeDistance *nBases, unsigned *nContigs);
+
+ bool saveToFile(const char *fileName) const;
+
+ //
+ // Methods to read the genome.
+ //
+ inline const char *getSubstring(GenomeLocation location, GenomeDistance lengthNeeded) const {
+ if (location > nBases || location + lengthNeeded > nBases + N_PADDING) {
+ // The first part of the test is for the unsigned version of a negative offset.
+ return NULL;
+ }
+
+ // If we're in the padding, then the base will be an n, and we can't short circuit. Recall that we use lower case n in the reference so it won't match with N in the read.
+ if (lengthNeeded <= chromosomePadding && bases[GenomeLocationAsInt64(location)] != 'n') {
+ return bases + (location - minLocation);
+ }
+
+ _ASSERT(location >= minLocation && location + lengthNeeded <= maxLocation + N_PADDING); // If the caller asks for a genome slice, it's only legal to look within it.
+
+ if (lengthNeeded == 0) {
+ return bases + (location - minLocation);
+ }
+
+ const Contig *contig = getContigAtLocation(location);
+ if (NULL == contig) {
+ return NULL;
+ }
+
+ _ASSERT(contig->beginningLocation <= location && contig->beginningLocation + contig->length >= location);
+ if (contig->beginningLocation + contig->length <= location + lengthNeeded) {
+ return NULL;
+ }
+
+ return bases + (location - minLocation);
+ }
+
+ inline GenomeDistance getCountOfBases() const {return nBases;}
+
+ bool getLocationOfContig(const char *contigName, GenomeLocation *location, int* index = NULL) const;
+
+ inline void prefetchData(GenomeLocation genomeLocation) const {
+ _mm_prefetch(bases + GenomeLocationAsInt64(genomeLocation), _MM_HINT_T2);
+ _mm_prefetch(bases + GenomeLocationAsInt64(genomeLocation) + 64, _MM_HINT_T2);
+ }
+
+ struct Contig {
+ Contig() : beginningLocation(InvalidGenomeLocation), length(0), nameLength(0), name(NULL) {}
+ GenomeLocation beginningLocation;
+ GenomeDistance length;
+ unsigned nameLength;
+ char *name;
+ };
+
+ inline const Contig *getContigs() const { return contigs; }
+
+ inline int getNumContigs() const { return nContigs; }
+
+ const Contig *getContigAtLocation(GenomeLocation location) const;
+ const Contig *getContigForRead(GenomeLocation location, unsigned readLength, GenomeDistance *extraBasesClippedBefore) const;
+ const Contig *getNextContigAfterLocation(GenomeLocation location) const;
+ int getContigNumAtLocation(GenomeLocation location) const; // Returns the contig number, which runs from 0 .. getNumContigs() - 1.
+
+// unused Genome *copy() const {return copy(true,true,true);}
+// unused Genome *copyGenomeOneSex(bool useY, bool useM) const {return copy(!useY,useY,useM);}
+
+ //
+ // These are only public so creators of new genomes (i.e., FASTA) can use them.
+ //
+ void fillInContigLengths();
+ void sortContigsByName();
+
+private:
+
+ static const int N_PADDING = 100; // Padding to add on either end of the genome to allow substring reads past it
+
+ //
+ // The actual genome.
+ char *bases; // Will point to offset N_PADDING in an array of nBases + 2 * N_PADDING
+ GenomeDistance nBases;
+ GenomeLocation maxBases;
+
+ GenomeLocation minLocation;
+ GenomeLocation maxLocation;
+
+ //
+ // A genome is made up of a bunch of contigs, typically chromosomes. Contigs have names,
+ // which are stored here.
+ //
+ int nContigs;
+ int maxContigs;
+
+ Contig *contigs; // This is always in order (it's not possible to express it otherwise in FASTA).
+
+ Contig *contigsByName;
+ Genome *copy(bool copyX, bool copyY, bool copyM) const;
+
+ static bool openFileAndGetSizes(const char *filename, GenericFile **file, GenomeDistance *nBases, unsigned *nContigs, bool map);
+
+ const unsigned chromosomePadding;
+
+ GenericFile_map *mappedFile;
+};
+
+GenomeDistance DistanceBetweenGenomeLocations(GenomeLocation locationA, GenomeLocation locationB);
+inline bool genomeLocationIsWithin(GenomeLocation locationA, GenomeLocation locationB, GenomeDistance distance)
+{
+ return DistanceBetweenGenomeLocations(locationA, locationB) <= distance;
+}
diff --git a/SNAPLib/GenomeIndex.cpp b/SNAPLib/GenomeIndex.cpp
new file mode 100644
index 0000000..3bfe61c
--- /dev/null
+++ b/SNAPLib/GenomeIndex.cpp
@@ -0,0 +1,2067 @@
+/*++
+
+Module Name:
+
+ GenomeIndex.cpp
+
+Abstract:
+
+ Index (hash table) builder for the SNAP sequencer
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#include "stdafx.h"
+#include "ApproximateCounter.h"
+#include "BigAlloc.h"
+#include "Compat.h"
+#include "FASTA.h"
+#include "FixedSizeSet.h"
+#include "FixedSizeVector.h"
+#include "GenericFile.h"
+#include "GenericFile_stdio.h"
+#include "Genome.h"
+#include "GenomeIndex.h"
+#include "HashTable.h"
+#include "Seed.h"
+#include "exit.h"
+#include "Error.h"
+#include "directions.h"
+
+using namespace std;
+
+static const int DEFAULT_SEED_SIZE = 20;
+static const double DEFAULT_SLACK = 0.3;
+static const unsigned DEFAULT_PADDING = 500;
+static const unsigned DEFAULT_KEY_BYTES = 4;
+static const unsigned DEFAULT_LOCATION_SIZE = 4;
+
+
+static void usage()
+{
+ WriteErrorMessage(
+ "Usage: snap index <input.fa> <output-dir> [<options>]\n"
+ "Options:\n"
+ " -s Seed size (default: %d)\n"
+ " -h Hash table slack (default: %.1f)\n"
+ " -hg19 Use pre-computed table bias for hg19, which results in better speed, balance, and a smaller index, but only works for the complete human reference.\n"
+ " -Ofactor This parameter is deprecated and will be ignored.\n"
+ " -tMaxThreads Specify the maximum number of threads to use. Default is the number of cores.\n"
+ " -B<chars> Specify characters to use as chromosome name terminators in the FASTA header line; these characters and anything after are\n"
+ " not part of the chromosome name. You must specify all characters on a single -B switch. So, for example, with -B_|,\n"
+ " the FASTA header line '>chr1|Chromosome 1' would generate a chromosome named 'chr1'. There's a separate flag for\n"
+ " indicating that a space is a terminator.\n"
+ " -bSpace Indicates that the space character is a terminator for chromosome names (see -B above). This may be used in addition\n"
+ " to other terminators specified by -B. -B and -bSpace are case sensitive.\n"
+ " -pPadding Specify the number of Ns to put as padding between chromosomes. This must be as large as the largest\n"
+ " edit distance you'll ever use, and there's a performance advantage to have it be bigger than any\n"
+ " read you'll process. Default is %d\n"
+ " -HHistogramFile Build a histogram of seed popularity. This is just for information, it's not used by SNAP.\n"
+ " -exact Compute hash table sizes exactly. This will slow down index build, but usually will result in smaller indices.\n"
+ " -keysize The number of bytes to use for the hash table key. Larger values increase SNAP's memory footprint, but allow larger seeds. Default: %d\n"
+ " -large Build a larger index that's a little faster, particualrly for runs with quick/inaccurate parameters. Increases index size by\n"
+ " about 30%%, depending on the other index parameters and the contents of the reference genome\n"
+ " -locationSize The size of the genome locations stored in the index. This can be from 4 to 8 bytes. The locations need to be big enough\n"
+ " not only to index the genome, but also to allow some space for representing seeds that occur multiple times. For the\n"
+ " human genome, it will fit with four byte locations if the seed size is 19 or larger, but needs 5 (or more) for smaller\n"
+ " seeds. Making the location size bigger than necessary will just waste (lots of) space, so unless you're doing something\n"
+ " quite unusual, the right answer is 4 or 5. Default is %d\n"
+ " -sm Use a temp file to work better in smaller memory. This only helps a little, but can be the difference if you're close.\n"
+ " In particular, this will generally use less memory than the index will use once it's built, so if this doesn't work you\n"
+ " won't be able to use the index anyway. However, if you've got sufficient memory to begin with, this option will just\n"
+ " slow down the index build by doing extra, useless IO.\n"
+ ,
+ DEFAULT_SEED_SIZE,
+ DEFAULT_SLACK,
+ DEFAULT_PADDING,
+ DEFAULT_KEY_BYTES,
+ DEFAULT_LOCATION_SIZE);
+ soft_exit_no_print(1); // Don't use soft-exit, it's confusing people to get an error message after the usage
+}
+
+
+ void
+GenomeIndex::runIndexer(
+ int argc,
+ const char **argv)
+{
+ if (argc < 2) {
+ usage();
+ }
+
+ const char *fastaFile = argv[0];
+ const char *outputDir = argv[1];
+
+ unsigned maxThreads = GetNumberOfProcessors();
+
+ int seedLen = DEFAULT_SEED_SIZE;
+ double slack = DEFAULT_SLACK;
+ bool computeBias = true;
+ const char *pieceNameTerminatorCharacters = NULL;
+ bool spaceIsAPieceNameTerminator = false;
+ const char *histogramFileName = NULL;
+ unsigned chromosomePadding = DEFAULT_PADDING;
+ bool forceExact = false;
+ unsigned keySizeInBytes = DEFAULT_KEY_BYTES;
+ bool large = false;
+ unsigned locationSize = DEFAULT_LOCATION_SIZE;
+ bool smallMemory = false;
+
+ for (int n = 2; n < argc; n++) {
+ if (strcmp(argv[n], "-s") == 0) {
+ if (n + 1 < argc) {
+ seedLen = atoi(argv[n+1]);
+ n++;
+ } else {
+ usage();
+ }
+ } else if (strcmp(argv[n], "-h") == 0) {
+ if (n + 1 < argc) {
+ slack = atof(argv[n+1]);
+ n++;
+ } else {
+ usage();
+ }
+ } else if (strcmp(argv[n], "-exact") == 0) {
+ forceExact = true;
+ } else if (strcmp(argv[n], "-hg19") == 0) {
+ computeBias = false;
+ } else if (strcmp(argv[n], "-locationSize") == 0) {
+ if (n + 1 < argc) {
+ locationSize = atoi(argv[n+1]);
+ if (locationSize < 4 || locationSize > 8) {
+ WriteErrorMessage("Location size must be between 4 and 8 inclusive\n");
+ soft_exit(1);
+ }
+ n++;
+ } else {
+ usage();
+ }
+ } else if (strcmp(argv[n], "-large") == 0) {
+ large = true;
+ } else if (argv[n][0] == '-' && argv[n][1] == 'H') {
+ histogramFileName = argv[n] + 2;
+ } else if (argv[n][0] == '-' && argv[n][1] == 'O') {
+ // Deprecated, ignored parameter
+ } else if (argv[n][0] == '-' && argv[n][1] == 't') {
+ maxThreads = atoi(argv[n]+2);
+ if (maxThreads < 1 || maxThreads > 100) {
+ WriteErrorMessage("maxThreads must be between 1 and 100 inclusive (and you need not to leave a space after '-t')\n");
+ soft_exit(1);
+ }
+ } else if (argv[n][0] == '-' && argv[n][1] == 'p') {
+ chromosomePadding = atoi(argv[n] + 2);
+ if (0 == chromosomePadding) {
+ WriteErrorMessage("Invalid chromosome padding specified, must be at least one (and in practice as large as any max edit distance you might use).\n");
+ soft_exit(1);
+ }
+ } else if (argv[n][0] == '-' && argv[n][1] == 's' && argv[n][2] == 'm') {
+ smallMemory = true;
+ }
+ else if (strcmp(argv[n], "-keysize") == 0) {
+ if (n + 1 < argc) {
+ keySizeInBytes = atoi(argv[n+1]);
+ if (keySizeInBytes < 4 || keySizeInBytes > 8) {
+ WriteErrorMessage("Key size must be between 4 and 8 inclusive\n");
+ soft_exit(1);
+ }
+ n++;
+ } else {
+ usage();
+ }
+ } else if (argv[n][0] == '-' && argv[n][1] == 'B') {
+ pieceNameTerminatorCharacters = argv[n] + 2;
+ } else if (!strcmp(argv[n], "-bSpace")) {
+ spaceIsAPieceNameTerminator = true;
+ } else {
+ WriteErrorMessage("Invalid argument: %s\n\n", argv[n]);
+ usage();
+ }
+ }
+
+ if (seedLen < 16 || seedLen > 32) {
+ // Seeds are stored in 64 bits, so they can't be larger than 32 bases for now.
+ WriteErrorMessage("Seed length must be between 16 and 32, inclusive\n");
+ soft_exit(1);
+ }
+
+ if (seedLen < 19 && !computeBias && locationSize < 5) {
+ WriteErrorMessage("For hg19 with seedLen < 19, you'll need to use 5 byte location size (which will use more memory). Setting that option for you.\n");
+ locationSize = 5;
+ }
+
+ if ((unsigned)seedLen * 2 < keySizeInBytes * 8) {
+ WriteErrorMessage("You must specify a smaller keysize or a larger seed size. The seed must be big enough to fill the key\n"
+ "and takes two bits per base of seed.\n");
+ soft_exit(1);
+ }
+
+ if (seedLen * 2 - keySizeInBytes * 8 > 16) {
+ WriteErrorMessage("You must specify a biger keysize or smaller seed len. SNAP restricts the number of hash tables to 4^8,\n"
+ "and needs 4^{excess seed len} hash tables, where excess seed len is the seed size minus the four times the key size.\n");
+ soft_exit(1);
+ }
+
+
+ WriteStatusMessage("Hash table slack %lf\nLoading FASTA file '%s' into memory...", slack, fastaFile);
+
+ BigAllocUseHugePages = false;
+
+ _int64 start = timeInMillis();
+ const Genome *genome = ReadFASTAGenome(fastaFile, pieceNameTerminatorCharacters, spaceIsAPieceNameTerminator, chromosomePadding);
+ if (NULL == genome) {
+ WriteErrorMessage("Unable to read FASTA file\n");
+ soft_exit(1);
+ }
+ WriteStatusMessage("%llds\n", (timeInMillis() + 500 - start) / 1000);
+
+ GenomeDistance nBases = genome->getCountOfBases();
+
+ if (!GenomeIndex::BuildIndexToDirectory(genome, seedLen, slack, computeBias, outputDir, maxThreads, chromosomePadding, forceExact, keySizeInBytes,
+ large, histogramFileName, locationSize, smallMemory)) {
+ WriteErrorMessage("Genome index build failed\n");
+ soft_exit(1);
+ }
+ genome = NULL; // It's deleted by BuildIndexToDirectory.
+
+ _int64 end = timeInMillis();
+ WriteStatusMessage("Index build and save took %llds (%lld bases/s)\n",
+ (end - start) / 1000, nBases / max((end - start) / 1000, (_int64) 1));
+}
+
+//
+// Compute the value of InvalidGenomeLoctaion based on the number of bytes we're using in the hash table to
+// store genome locations.
+//
+ void
+SetInvalidGenomeLocation(unsigned locationSize)
+{
+ if (locationSize == 8) {
+ InvalidGenomeLocation = 0xffffffffffffffff;
+ } else {
+ InvalidGenomeLocation = ((_int64) 1 << (locationSize * 8)) - 1;
+ }
+}
+
+ bool
+GenomeIndex::BuildIndexToDirectory(const Genome *genome, int seedLen, double slack, bool computeBias, const char *directoryName,
+ unsigned maxThreads, unsigned chromosomePaddingSize, bool forceExact, unsigned hashTableKeySize,
+ bool large, const char *histogramFileName, unsigned locationSize, bool smallMemory)
+{
+ PreventMachineHibernationWhileThisThreadIsAlive();
+
+ SetInvalidGenomeLocation(locationSize);
+
+ bool buildHistogram = (histogramFileName != NULL);
+ FILE *histogramFile;
+ if (buildHistogram) {
+ histogramFile = fopen(histogramFileName, "w");
+ if (NULL == histogramFile) {
+ WriteErrorMessage("Unable to open histogram file '%s', skipping it.\n", histogramFileName);
+ buildHistogram = false;
+ }
+ }
+
+ if (mkdir(directoryName, 0777) != 0 && errno != EEXIST) {
+ WriteErrorMessage("BuildIndex: failed to create directory %s\n",directoryName);
+ return false;
+ }
+
+ const unsigned filenameBufferSize = MAX_PATH+1;
+ char filenameBuffer[filenameBufferSize];
+
+ fprintf(stderr,"Saving genome...");
+ _int64 start = timeInMillis();
+ snprintf(filenameBuffer,filenameBufferSize,"%s%cGenome",directoryName,PATH_SEP);
+ if (!genome->saveToFile(filenameBuffer)) {
+ WriteErrorMessage("GenomeIndex::saveToDirectory: Failed to save the genome itself\n");
+ return false;
+ }
+ fprintf(stderr,"%llds\n", (timeInMillis() + 500 - start) / 1000);
+
+ GenomeIndex *index = new GenomeIndex();
+ index->genome = NULL; // We always delete the index when we're done, but we delete the genome first to save space during the overflow table build.
+
+ GenomeDistance countOfBases = genome->getCountOfBases();
+ if (locationSize != 8 && countOfBases > ((_int64) 1 << (locationSize*8)) - 16) {
+ WriteErrorMessage("Genome is too big for %d byte genome locations. Specify a larger location size with -locationSize\n", locationSize);
+ soft_exit(1);
+ }
+
+ // Compute bias table sizes, unless we're using the precomputed ones hardcoded in BiasTables.cpp
+ double *biasTable = NULL;
+ if (!computeBias) {
+ if (large) {
+ biasTable = hg19_biasTables_large[hashTableKeySize][seedLen];
+ } else {
+ biasTable = hg19_biasTables[hashTableKeySize][seedLen];
+ }
+
+ if (NULL == biasTable) {
+ WriteErrorMessage("-hg19 not available for this seed length/key size/small-or-large combo. Computing bias tables the hard way.\n");
+ computeBias = true;
+ }
+ }
+
+ if (computeBias) {
+ unsigned nHashTables = 1 << ((max((unsigned)seedLen, hashTableKeySize * 4) - hashTableKeySize * 4) * 2);
+ biasTable = new double[nHashTables];
+ ComputeBiasTable(genome, seedLen, biasTable, maxThreads, forceExact, hashTableKeySize, large);
+ }
+
+ WriteStatusMessage("Allocating memory for hash tables...");
+ start = timeInMillis();
+ unsigned nHashTables;
+ SNAPHashTable** hashTables = index->hashTables =
+ allocateHashTables(&nHashTables, countOfBases, slack, seedLen, hashTableKeySize, large, locationSize, biasTable);
+ index->nHashTables = nHashTables;
+
+ //
+ // Set up the hash tables. Each table has a key value of the lower 32 bits of the seed, and data
+ // of two integers. There is one integer each for the seed and its reverse complement (i.e., what you'd
+ // get from the complementary DNA strand, A<->T and G<->C with the string order reversed).
+ // The first integer is always for the version of the seed with "lower" value, using an arbitrary
+ // total order that we define in Seed.h. Some seeds are their own reverse complements (e.g.,
+ // AGCT), in which case only the first integer is used.
+ //
+
+ OverflowBackpointerAnchor *overflowAnchor = new OverflowBackpointerAnchor(__min(((locationSize == 8) ? (_int64)0x8effffffffffffff : GenomeLocationAsInt64(InvalidGenomeLocation)) - countOfBases, countOfBases)); // i.e., as much as the address space will allow.
+
+ WriteStatusMessage("%llds\nBuilding hash tables.\n", (timeInMillis() + 500 - start) / 1000);
+
+ start = timeInMillis();
+ volatile _int64 nextOverflowBackpointer = 0;
+
+ volatile _int64 nonSeeds = 0;
+ volatile _int64 seedsWithMultipleOccurrences = 0;
+ volatile _int64 genomeLocationsInOverflowTable = 0; // Number of extra hits on duplicate indices. This should come out once we implement the overflow table.
+ volatile _int64 bothComplementsUsed = 0; // Number of hash buckets where both complements are used
+ volatile _int64 noBaseAvailable = 0; // Number of places where getSubstring returned null.
+ volatile _int64 nBasesProcessed = 0;
+ volatile int runningThreadCount;
+
+ SingleWaiterObject doneObject;
+ CreateSingleWaiterObject(&doneObject);
+
+ unsigned nThreads = __min(GetNumberOfProcessors(), maxThreads);
+ BuildHashTablesThreadContext *threadContexts = new BuildHashTablesThreadContext[nThreads];
+
+ ExclusiveLock *hashTableLocks = new ExclusiveLock[nHashTables];
+ for (unsigned i = 0; i < nHashTables; i++) {
+ InitializeExclusiveLock(&hashTableLocks[i]);
+ }
+
+ runningThreadCount = nThreads;
+
+ GenomeDistance nextChunkToProcess = 0;
+ _int64 * lastBackpointerIndexUsedByThread = NULL;
+ ExclusiveLock backpointerSpillLock;
+ FILE *backpointerSpillFile = NULL;
+ char *backpointerSpillFileName = NULL;
+ InitializeExclusiveLock(&backpointerSpillLock);
+
+ if (smallMemory) {
+ lastBackpointerIndexUsedByThread = new _int64[nThreads];
+ for (unsigned i = 0; i < nThreads; i++) {
+ lastBackpointerIndexUsedByThread[i] = 0;
+ }
+#define BACKPOINTER_TABLE_SPILL_FILE_NAME "BackpointerTableSpillFile"
+ backpointerSpillFileName = new char[strlen(directoryName) + 1 + strlen(BACKPOINTER_TABLE_SPILL_FILE_NAME) + 1];
+ sprintf(backpointerSpillFileName, "%s%c%s", directoryName, PATH_SEP, BACKPOINTER_TABLE_SPILL_FILE_NAME);
+ backpointerSpillFile = fopen(backpointerSpillFileName, "w+b");
+ if (NULL == backpointerSpillFile) {
+ WriteErrorMessage("Unable to create spill file '%s' for -sm\n", backpointerSpillFileName);
+ soft_exit(1);
+ }
+ }
+
+ for (unsigned i = 0; i < nThreads; i++) {
+ threadContexts[i].whichThread = i;
+ threadContexts[i].nThreads = nThreads;
+ threadContexts[i].doneObject = &doneObject;
+ threadContexts[i].genome = genome;
+ threadContexts[i].genomeChunkStart = nextChunkToProcess;
+ if (i == nThreads - 1) {
+ nextChunkToProcess = countOfBases - seedLen - 1;
+ } else {
+ nextChunkToProcess += (countOfBases - seedLen) / nThreads;
+ }
+ threadContexts[i].genomeChunkEnd = nextChunkToProcess;
+ threadContexts[i].nBasesProcessed = &nBasesProcessed;
+ threadContexts[i].index = index;
+ threadContexts[i].runningThreadCount = &runningThreadCount;
+ threadContexts[i].seedLen = seedLen;
+ threadContexts[i].noBaseAvailable = &noBaseAvailable;
+ threadContexts[i].nonSeeds = &nonSeeds;
+ threadContexts[i].seedsWithMultipleOccurrences = &seedsWithMultipleOccurrences;
+ threadContexts[i].genomeLocationsInOverflowTable = &genomeLocationsInOverflowTable;
+ threadContexts[i].bothComplementsUsed = &bothComplementsUsed;
+ threadContexts[i].overflowAnchor = overflowAnchor;
+ threadContexts[i].nextOverflowBackpointer = &nextOverflowBackpointer;
+ threadContexts[i].hashTableLocks = hashTableLocks;
+ threadContexts[i].hashTableKeySize = hashTableKeySize;
+ threadContexts[i].large = large;
+ threadContexts[i].locationSize = locationSize;
+ threadContexts[i].backpointerSpillLock = &backpointerSpillLock;
+ threadContexts[i].lastBackpointerIndexUsedByThread = lastBackpointerIndexUsedByThread;
+ threadContexts[i].backpointerSpillFile = backpointerSpillFile;
+
+ StartNewThread(BuildHashTablesWorkerThreadMain, &threadContexts[i]);
+ }
+
+ WaitForSingleWaiterObject(&doneObject);
+ DestroySingleWaiterObject(&doneObject);
+ DestroyExclusiveLock(&backpointerSpillLock);
+ delete[] lastBackpointerIndexUsedByThread;
+
+ if (locationSize != 8 && seedsWithMultipleOccurrences + genomeLocationsInOverflowTable + (_int64)genome->getCountOfBases() > ((_int64)1 << (8 * locationSize)) - 15) { // Only really need -1 for InvalidGenomeLocation, the rest is just spare
+ WriteErrorMessage("Ran out of overflow table namespace. This genome cannot be indexed with this seed and location size. Increase at least one.\n");
+ exit(1);
+ }
+
+ size_t totalUsedHashTableElements = 0;
+ for (unsigned j = 0; j < index->nHashTables; j++) {
+ totalUsedHashTableElements += hashTables[j]->GetUsedElementCount();
+// printf("HashTable[%d] has %lld used elements, loading %lld%%\n",j,(_int64)hashTables[j]->GetUsedElementCount(),
+// (_int64)hashTables[j]->GetUsedElementCount() * 100 / (_int64)hashTables[j]->GetTableSize());
+ }
+
+ WriteStatusMessage("%lld(%lld%%) seeds occur more than once, total of %lld(%lld%%) genome locations are not unique, %lld(%lld%%) bad seeds, %lld both complements used %lld no string\n",
+ seedsWithMultipleOccurrences,
+ (seedsWithMultipleOccurrences * 100) / countOfBases,
+ genomeLocationsInOverflowTable,
+ genomeLocationsInOverflowTable * 100 / countOfBases,
+ nonSeeds,
+ (nonSeeds * 100) / countOfBases,
+ bothComplementsUsed,
+ noBaseAvailable);
+
+ WriteStatusMessage("Hash table build took %llds\n",(timeInMillis() + 500 - start) / 1000);
+
+ //
+ // We're done with the raw genome. Delete it to save some memory.
+ //
+
+ delete genome;
+ genome = NULL;
+
+ char *halfBuiltHashTableSpillFileName = NULL;
+
+ if (smallMemory) {
+ //
+ // In the hash table build, we use the backpointer table sequentially, and the hash tables randomly. In the
+ // overflow table build, it's the opposite. So, we spill out the half-built hash tables (except for #0, which
+ // we need immediately anyway), and then load back in the backpointer table.
+ //
+ _int64 startSpill = timeInMillis();
+ WriteStatusMessage("Spilling half-built hash tables to disk..");
+#define HALF_BUILT_HASH_TABLE_SPILL_FILE_NAME "HalfBuiltHashTables"
+ halfBuiltHashTableSpillFileName = new char[strlen(directoryName) + 1 + strlen(HALF_BUILT_HASH_TABLE_SPILL_FILE_NAME) + 20]; // +20 is for the number and trailing null
+
+ for (unsigned i = 1; i < nHashTables; i++) {
+ sprintf(halfBuiltHashTableSpillFileName, "%s%c%s.%d", directoryName, PATH_SEP, HALF_BUILT_HASH_TABLE_SPILL_FILE_NAME, i);
+ size_t bytesWritten;
+ hashTables[i]->saveToFile(halfBuiltHashTableSpillFileName, &bytesWritten);
+ delete hashTables[i];
+ hashTables[i] = NULL;
+ }
+
+ _int64 spillDone = timeInMillis();
+ WriteStatusMessage("%llds\nReloading backpointer table from disk...", (spillDone - startSpill + 500) / 1000);
+
+ overflowAnchor->loadFromFile(backpointerSpillFile);
+ fclose(backpointerSpillFile);
+ DeleteSingleFile(backpointerSpillFileName);
+ delete[] backpointerSpillFileName;
+
+ WriteStatusMessage("%llds\n", (timeInMillis() - spillDone + 500) / 1000);
+ }
+
+ WriteStatusMessage("Building overflow table.\n");
+ start = timeInMillis();
+ fflush(stdout);
+
+ //
+ // Now build the real overflow table and simultaneously fixup the hash table entries.
+ // If locationSize == 4, then it's built from 32 bit entries, otherwise from 64.
+ // Its format is one entry of the number of genome locations matching the
+ // particular seed, followed by that many genome locations, reverse sorted
+ // (the reverse part is for historical reasons, but it's necessary for correct functioning).
+ // For each seed with multiple occurrences in the genome, there is one count.
+ // For each genome location that's not unique, there is one list entry. So, the size
+ // of the overflow table is the number of non-unique seeds plus the number of non-unique
+ // genome locations.
+ //
+ index->overflowTableSize = seedsWithMultipleOccurrences + genomeLocationsInOverflowTable;
+ if (locationSize > 4) {
+ index->overflowTable64 = (_int64 *)BigAlloc(index->overflowTableSize * sizeof(*index->overflowTable64));
+ } else {
+ index->overflowTable32 = (unsigned *)BigAlloc(index->overflowTableSize * sizeof(*index->overflowTable32));
+ }
+
+ if ((_int64)index->overflowTableSize + countOfBases >= GenomeLocationAsInt64(InvalidGenomeLocation) - 15) {
+ WriteErrorMessage("Not enough address space to index this genome with this seed size. Try a larger seed or location size.\n");
+ soft_exit(1);
+ }
+
+ _uint64 nBackpointersProcessed = 0;
+ _int64 lastPrintTime = timeInMillis();
+
+ const unsigned maxHistogramEntry = 500000;
+ _uint64 countOfTooBigForHistogram = 0;
+ _uint64 sumOfTooBigForHistogram = 0;
+ _uint64 largestSeed = 0;
+ unsigned *histogram = NULL;
+ if (buildHistogram) {
+ histogram = new unsigned[maxHistogramEntry+1];
+ for (unsigned i = 0; i <= maxHistogramEntry; i++) {
+ histogram[i] = 0;
+ }
+ }
+
+ //
+ // Build the overflow table by walking each of the hash tables and looking for elements to fix up.
+ // Write the hash tables as we go so that we can free their memory on the fly.
+ //
+ snprintf(filenameBuffer,filenameBufferSize,"%s%cGenomeIndexHash", directoryName, PATH_SEP);
+ FILE *tablesFile = fopen(filenameBuffer, "wb");
+ if (NULL == tablesFile) {
+ WriteErrorMessage("Unable to open hash table file '%s'\n", filenameBuffer);
+ soft_exit(1);
+ }
+
+ size_t totalBytesWritten = 0;
+ _uint64 overflowTableIndex = 0;
+ _uint64 duplicateSeedsProcessed = 0;
+
+ for (unsigned whichHashTable = 0; whichHashTable < nHashTables; whichHashTable++) {
+ if (NULL == hashTables[whichHashTable]) {
+ _ASSERT(smallMemory);
+ sprintf(halfBuiltHashTableSpillFileName, "%s%c%s.%d", directoryName, PATH_SEP, HALF_BUILT_HASH_TABLE_SPILL_FILE_NAME, whichHashTable);
+ GenericFile_stdio *file = GenericFile_stdio::open(halfBuiltHashTableSpillFileName);
+ if (NULL == file) {
+ WriteErrorMessage("Unable to open file '%s' to reload spilled hash table.\n", halfBuiltHashTableSpillFileName);
+ soft_exit(1);
+ }
+ hashTables[whichHashTable] = SNAPHashTable::loadFromGenericFile(file);
+ file->close();
+ DeleteSingleFile(halfBuiltHashTableSpillFileName);
+ }
+
+ for (_uint64 whichEntry = 0; whichEntry < hashTables[whichHashTable]->GetTableSize(); whichEntry++) {
+ unsigned *values32 = (unsigned *)hashTables[whichHashTable]->getEntryValues(whichEntry);
+ char *values64 = (char *)values32; // char * because it's variable sized
+ for (int i = 0; i < (large ? NUM_DIRECTIONS : 1); i++) {
+ _int64 value;
+ if (locationSize > 4) {
+ value = 0;
+ memcpy((char *)&value, values64 + locationSize * i, locationSize); // assumes little endian
+ } else {
+ value = values32[i];
+ }
+ if (value >= countOfBases && value != GenomeLocationAsInt64(InvalidGenomeLocation) && value != GenomeLocationAsInt64(InvalidGenomeLocation) - 1) {
+ //
+ // This is an overflow pointer. Fix it up. Count the number of occurrences of this
+ // seed by walking the overflow chain.
+ //
+ duplicateSeedsProcessed++;
+
+ _uint64 nOccurrences = 0;
+ _int64 backpointerIndex = value - countOfBases;
+ while (backpointerIndex != -1) {
+ nOccurrences++;
+ OverflowBackpointer *backpointer = overflowAnchor->getBackpointer(backpointerIndex);
+ _ASSERT(overflowTableIndex + nOccurrences < index->overflowTableSize);
+ if (locationSize > 4) {
+ index->overflowTable64[overflowTableIndex + nOccurrences] = GenomeLocationAsInt64(backpointer->genomeLocation);
+ } else {
+ index->overflowTable32[overflowTableIndex + nOccurrences] = GenomeLocationAsInt32(backpointer->genomeLocation);
+ }
+ backpointerIndex = backpointer->nextIndex;
+ }
+
+ _ASSERT(nOccurrences > 1);
+
+ //
+ // Fill the count in as the first thing in the overflow table
+ // and patch the value into the hash table.
+ //
+ _ASSERT(overflowTableIndex < index->overflowTableSize);
+ if (locationSize > 4) {
+ index->overflowTable64[overflowTableIndex] = nOccurrences;
+ _int64 newValue = overflowTableIndex + countOfBases;
+ memcpy(values64 + locationSize * i, &newValue, locationSize); // Assumes little endian
+ } else {
+ index->overflowTable32[overflowTableIndex] = (unsigned)nOccurrences;
+ values32[i] = (unsigned)(overflowTableIndex + countOfBases);
+ }
+
+ overflowTableIndex += 1 + nOccurrences;
+ _ASSERT(overflowTableIndex <= index->overflowTableSize);
+ nBackpointersProcessed += nOccurrences;
+
+ //
+ // Sort the overflow table entries, because the paired-end aligner relies on this. Sort them backwards, because that's
+ // what it expects. For those who are desparately curious, this is because it was originally built this way by accident
+ // before there was any concept of doing binary search over a seed's hits. When the binary search was built, it relied
+ // on this. Then, when the index build was parallelized it was easier just to preserve the old order than to change the
+ // code in the aligner. So now you know.
+ //
+ if (locationSize > 4) {
+ qsort(&index->overflowTable64[overflowTableIndex -nOccurrences], nOccurrences, sizeof(index->overflowTable64[0]), BackwardsInt64Compare);
+ } else {
+ qsort(&index->overflowTable32[overflowTableIndex -nOccurrences], nOccurrences, sizeof(index->overflowTable32[0]), BackwardsUnsignedCompare);
+ }
+
+ if (timeInMillis() - lastPrintTime > 60 * 1000) {
+ WriteStatusMessage("%lld/%lld duplicate seeds, %lld/%lld backpointers, %d/%d hash tables processed\n",
+ duplicateSeedsProcessed, seedsWithMultipleOccurrences, nBackpointersProcessed, genomeLocationsInOverflowTable,
+ whichHashTable, nHashTables);
+ lastPrintTime = timeInMillis();
+ }
+
+ //
+ // If we're building a histogram, update it.
+ //
+ if (buildHistogram) {
+ if (nOccurrences > maxHistogramEntry) {
+ countOfTooBigForHistogram++;
+ sumOfTooBigForHistogram += nOccurrences;
+ } else {
+ histogram[nOccurrences]++;
+ }
+ largestSeed = __max(largestSeed, nOccurrences);
+ }
+
+ } // If this entry needs patching
+ } // forward and RC if large table
+ } // for each entry in the hash table
+
+ //
+ // We're done with this hash table, free it to releive memory pressure.
+ //
+ size_t bytesWrittenThisHashTable;
+ if (!hashTables[whichHashTable]->saveToFile(tablesFile, &bytesWrittenThisHashTable)) {
+ WriteErrorMessage("GenomeIndex::saveToDirectory: Failed to save hash table %d\n", whichHashTable);
+ return false;
+ }
+ totalBytesWritten += bytesWrittenThisHashTable;
+
+ delete hashTables[whichHashTable];
+ hashTables[whichHashTable] = NULL;
+ } // for each hash table
+
+ fclose(tablesFile);
+
+ _ASSERT(overflowTableIndex == index->overflowTableSize); // We used exactly what we expected to use.
+
+ delete overflowAnchor;
+ overflowAnchor = NULL;
+
+ if (buildHistogram) {
+ histogram[1] = (unsigned)(totalUsedHashTableElements - seedsWithMultipleOccurrences);
+ for (unsigned i = 0; i <= maxHistogramEntry; i++) {
+ if (histogram[i] != 0) {
+ fprintf(histogramFile,"%d\t%d\n", i, histogram[i]);
+ }
+ }
+ fprintf(histogramFile, "%d larger than %d with %d total genome locations, largest seed %d\n", countOfTooBigForHistogram, maxHistogramEntry, sumOfTooBigForHistogram, largestSeed);
+ fclose(histogramFile);
+ delete [] histogram;
+ }
+
+ //
+ // Now save out the part of the index that's independent of the genome itself.
+ //
+ WriteStatusMessage("Overflow table build and hash table save took %llds\nSaving overflow table...", (timeInMillis() + 500 - start)/1000);
+ start = timeInMillis();
+
+
+ snprintf(filenameBuffer, filenameBufferSize, "%s%cOverflowTable", directoryName, PATH_SEP);
+ FILE* fOverflowTable = fopen(filenameBuffer, "wb");
+ if (fOverflowTable == NULL) {
+ WriteErrorMessage("Unable to open overflow table file, '%s', %d\n", filenameBuffer, errno);
+ return false;
+ }
+
+ const unsigned writeSize = 32 * 1024 * 1024;
+ unsigned overflowElementSize = (locationSize > 4) ? sizeof(*index->overflowTable64) : sizeof(*index->overflowTable32);
+ char *tableToWriteAsChar = (locationSize > 4) ? (char *)index->overflowTable64 : (char *)index->overflowTable32;
+ for (size_t writeOffset = 0; writeOffset < index->overflowTableSize * overflowElementSize; ) {
+ unsigned amountToWrite = (unsigned)__min((size_t)writeSize,(size_t)index->overflowTableSize * overflowElementSize - writeOffset);
+
+ size_t amountWritten = fwrite(tableToWriteAsChar + writeOffset, 1, amountToWrite, fOverflowTable);
+ if (amountWritten < amountToWrite) {
+ WriteErrorMessage("GenomeIndex::saveToDirectory: fwrite failed, %d\n",errno);
+ fclose(fOverflowTable);
+ return false;
+ }
+ writeOffset += amountWritten;
+ }
+ fclose(fOverflowTable);
+ fOverflowTable = NULL;
+
+ //
+ // The save format is:
+ // file 'GenomeIndex' contains in order major version, minor version, nHashTables, overflowTableSize, seedLen, chromosomePaddingSize.
+ // File 'overflowTable' overflowTableSize bytes of the overflow table.
+ // Each hash table is saved in file base name 'GenomeIndexHash%d' where %d is the
+ // table number.
+ // And the genome itself is already saved in the same directory in its own format.
+ //
+ snprintf(filenameBuffer, filenameBufferSize, "%s%cGenomeIndex", directoryName, PATH_SEP);
+
+ FILE *indexFile = fopen(filenameBuffer,"w");
+ if (indexFile == NULL) {
+ WriteErrorMessage("Unable to open file '%s' for write.\n", filenameBuffer);
+ return false;
+ }
+
+ fprintf(indexFile,"%d %d %d %lld %d %d %d %lld %d %d", GenomeIndexFormatMajorVersion, GenomeIndexFormatMinorVersion, index->nHashTables,
+ index->overflowTableSize, seedLen, chromosomePaddingSize, hashTableKeySize, totalBytesWritten, large ? 0 : 1, locationSize);
+
+ fclose(indexFile);
+
+ delete index;
+ if (computeBias && biasTable != NULL) {
+ delete[] biasTable;
+ }
+
+ WriteStatusMessage("%llds\n", (timeInMillis() + 500 - start) / 1000);
+
+ return true;
+}
+
+
+
+SNAPHashTable** GenomeIndex::allocateHashTables(
+ unsigned* o_nTables,
+ GenomeDistance countOfBases,
+ double slack,
+ int seedLen,
+ unsigned hashTableKeySize,
+ bool large,
+ unsigned locationSize,
+ double* biasTable)
+{
+ _ASSERT(NULL != biasTable);
+
+ BigAllocUseHugePages = false; // Huge pages just slow down allocation and don't help much for hash table build, so don't use them.
+
+ if (slack <= 0) {
+ WriteErrorMessage("allocateHashTables: must have positive slack for the hash table to work. 0.3 is probably OK, 0.1 is minimal, less will wreak havoc with perf.\n");
+ soft_exit(1);
+ }
+
+ if (seedLen <= 0) {
+ WriteErrorMessage("allocateHashTables: seedLen is too small (must be > 0, and practically should be >= 15 or so.\n");
+ soft_exit(1);
+ }
+
+ if (hashTableKeySize < 4 || hashTableKeySize > 8) {
+ WriteErrorMessage("allocateHashTables: key size must be 4-8 inclusive\n");
+ soft_exit(1);
+ }
+
+ if ((unsigned)seedLen < hashTableKeySize * 4) {
+ WriteErrorMessage("allocateHashTables: key size too large for seedLen.\n");
+ soft_exit(1);
+ }
+
+ if ((unsigned)seedLen > hashTableKeySize * 4 + 9) {
+ WriteErrorMessage("allocateHashTables: key size too small for seeLen.\n");
+ soft_exit(1);
+ }
+
+ if (locationSize < 4 || locationSize > 8) {
+ WriteErrorMessage("Location size must be between 4 and 8 inclusive.\n");
+ soft_exit(1);
+ }
+
+ //
+ // Make an array of HashTables, size depending on the seed size. The way the index works is that we use
+ // the low bits of the seed as a hash key. Any remaining bases are used as an index into the
+ // particular hash table in question. The division between "low" and "high" depends on the hash table key size.
+ //
+ unsigned nHashTablesToBuild = 1 << ((seedLen - hashTableKeySize * 4) * 2);
+
+ if (nHashTablesToBuild > 256 * 1024) {
+ WriteErrorMessage("allocateHashTables: key size too small for seedLen. Try specifying -keySize and giving it a larger value.\n");
+ soft_exit(1);
+ }
+ //
+ // Average size of the hash table. We bias this later based on the actual content of the genome.
+ //
+ size_t hashTableSize = (size_t) ((double)countOfBases * (slack + 1.0) / nHashTablesToBuild);
+
+ SNAPHashTable **hashTables = new SNAPHashTable*[nHashTablesToBuild];
+
+ for (unsigned i = 0; i < nHashTablesToBuild; i++) {
+ //
+ // Create the actual hash tables. It turns out that the human genome is highly non-uniform in its
+ // sequences of bases, so we bias the hash table sizes based on their popularity (which is emperically
+ // measured), or use the estimates that we generated and passed in as "biasTable."
+ //
+ double bias = biasTable[i];
+ unsigned biasedSize = (unsigned) (hashTableSize * bias);
+ if (biasedSize < 100) {
+ biasedSize = 100;
+ }
+
+ hashTables[i] = new SNAPHashTable(biasedSize, hashTableKeySize, locationSize, large ? 2 : 1, GenomeLocationAsInt64(InvalidGenomeLocation));
+
+ if (NULL == hashTables[i]) {
+ WriteErrorMessage("IndexBuilder: unable to allocate HashTable %d of %d\n", i+1, nHashTablesToBuild);
+ soft_exit(1);
+ }
+ }
+
+ *o_nTables = nHashTablesToBuild;
+ return hashTables;
+}
+
+
+
+
+GenomeIndex::GenomeIndex() : nHashTables(0), hashTables(NULL), overflowTable32(NULL), overflowTable64(NULL), genome(NULL), tablesBlob(NULL), mappedOverflowTable(NULL), mappedTables(NULL)
+{
+}
+
+
+GenomeIndex::~GenomeIndex()
+{
+ if (NULL != hashTables) {
+ for (unsigned i = 0; i < nHashTables; i++) {
+ delete hashTables[i];
+ hashTables[i] = NULL;
+ }
+ }
+
+ delete [] hashTables;
+ hashTables = NULL;
+
+ if (NULL != mappedTables) {
+ mappedTables->close();
+ mappedOverflowTable->close();
+ } else {
+ if (NULL != overflowTable32) {
+ BigDealloc(overflowTable32);
+ overflowTable32 = NULL;
+ }
+
+ if (NULL != overflowTable64) {
+ BigDealloc(overflowTable64);
+ overflowTable64 = NULL;
+ }
+
+ if (NULL != tablesBlob) {
+ BigDealloc(tablesBlob);
+ tablesBlob = NULL;
+ }
+ }
+
+ delete genome;
+ genome = NULL;
+
+}
+
+ void
+GenomeIndex::ComputeBiasTable(const Genome* genome, int seedLen, double* table, unsigned maxThreads, bool forceExact, unsigned hashTableKeySize, bool large)
+/**
+ * Fill in table with the table size biases for a given genome and seed size.
+ * We assume that table is already of the correct size for our seed size
+ * (namely 4**(seedLen-hashTableKeySize*4)), and just fill in the values.
+ *
+ * If the genome is less than 2^20 bases, we count the seeds in each table exactly;
+ * otherwise, we estimate them using Flajolet-Martin approximate counters.
+ */
+{
+ _int64 start = timeInMillis();
+ WriteStatusMessage("Computing bias table.\n");
+
+ unsigned nHashTables = ((unsigned)seedLen <= (hashTableKeySize * 4) ? 1 : 1 << (((unsigned)seedLen - hashTableKeySize * 4) * 2));
+ GenomeDistance countOfBases = genome->getCountOfBases();
+
+ static const unsigned GENOME_SIZE_FOR_EXACT_COUNT = 1 << 20; // Needs to be a power of 2 for hash sets
+
+ bool computeExactly = (countOfBases < GENOME_SIZE_FOR_EXACT_COUNT) || forceExact;
+ if (countOfBases >= (((_int64)1) << 62) && forceExact) {
+ WriteErrorMessage("You can't use -exact for genomes with >= 2^62 bases (not that you have that much memory or disk anyway).\n");
+ soft_exit(1);
+ }
+
+ _uint64 *numExactSeeds = NULL;
+ vector<ApproximateCounter> approxCounters(nHashTables);
+
+ _int64 validSeeds = 0;
+
+ if (computeExactly) {
+ numExactSeeds = new _uint64[nHashTables];
+ for (unsigned i = 0; i < nHashTables; i++) {
+ numExactSeeds[i] = 0;
+ }
+
+ //
+ // Create a hash table to record all of the seeds we've already seen. The key is the seed, and the value is just one byte
+ // that the hash table package needs to be able to differentiate empty from non-empty entries. The *11/10 is to leave some slack
+ // in the hash table. In any case, this table should be smaller than the final index (because it doesn't need
+ // any genome locations, not to mention an overflow table), so it should fit in memory.
+ //
+ SNAPHashTable *seedsSeen = new SNAPHashTable((countOfBases * 11) / 10, ((seedLen + 3) * 2) / 8, 1, 1, 0xff);
+ for (_int64 i = 0; i < countOfBases - seedLen; i++) {
+ if (i % 100000000 == 0) {
+ WriteStatusMessage("Bias computation: %lld / %lld\n",(_int64)i, (_int64)countOfBases);
+ }
+ const char *bases = genome->getSubstring(i,seedLen);
+ //
+ // Check it for NULL, because Genome won't return strings that cross contig boundaries.
+ //
+ if (NULL == bases) {
+ continue;
+ }
+
+ //
+ // We don't build seeds out of sections of the genome that contain 'N.' If this is one, skip it.
+ //
+ if (!Seed::DoesTextRepresentASeed(bases, seedLen)) {
+ continue;
+ }
+
+ Seed seed(bases, seedLen);
+ validSeeds++;
+
+ if (large && seed.isBiggerThanItsReverseComplement()) {
+ // For large hash tables, because seeds and their reverse complements are stored
+ // together, figure out which one is used for the hash table key, and use that
+ // one.
+ seed = ~seed;
+ }
+
+ _ASSERT(seed.getHighBases(hashTableKeySize) < nHashTables);
+
+
+ if (NULL == seedsSeen->GetFirstValueForKey(seed.getBases())) {
+ _uint64 value = 42;
+ seedsSeen->Insert(seed.getBases(), &value);
+ numExactSeeds[seed.getHighBases(hashTableKeySize)]++;
+ }
+ }
+
+// for (unsigned i = 0; i < nHashTables; i++) printf("Hash table %d is predicted to have %lld entries\n", i, numExactSeeds[i]);
+ delete seedsSeen;
+ seedsSeen = NULL;
+ } else {
+ //
+ // Run through the table in parallel.
+ //
+ unsigned nThreads = __min(GetNumberOfProcessors(), maxThreads);
+ volatile int runningThreadCount = nThreads;
+ volatile _int64 nBasesProcessed = 0;
+ SingleWaiterObject doneObject;
+
+ ExclusiveLock *locks;
+ locks = new ExclusiveLock[nHashTables];
+ for (unsigned i = 0; i < nHashTables; i++) {
+ InitializeExclusiveLock(&locks[i]);
+ }
+
+ CreateSingleWaiterObject(&doneObject);
+
+ ComputeBiasTableThreadContext *contexts = new ComputeBiasTableThreadContext[nThreads];
+ GenomeDistance nextChunkToProcess = 0;
+ for (unsigned i = 0; i < nThreads; i++) {
+ contexts[i].approxCounters = &approxCounters;
+ contexts[i].doneObject = &doneObject;
+ contexts[i].genomeChunkStart = nextChunkToProcess;
+ if (i == nThreads - 1) {
+ nextChunkToProcess = countOfBases - seedLen - 1;
+ } else {
+ nextChunkToProcess += (countOfBases - seedLen) / nThreads;
+ }
+ contexts[i].genomeChunkEnd = nextChunkToProcess;
+ contexts[i].nHashTables = nHashTables;
+ contexts[i].hashTableKeySize = hashTableKeySize;
+ contexts[i].runningThreadCount = &runningThreadCount;
+ contexts[i].genome = genome;
+ contexts[i].nBasesProcessed = &nBasesProcessed;
+ contexts[i].seedLen = seedLen;
+ contexts[i].validSeeds = &validSeeds;
+ contexts[i].approximateCounterLocks = locks;
+ contexts[i].large = large;
+
+ StartNewThread(ComputeBiasTableWorkerThreadMain, &contexts[i]);
+ }
+
+ WaitForSingleWaiterObject(&doneObject);
+ DestroySingleWaiterObject(&doneObject);
+
+ for (unsigned i = 0; i < nHashTables; i++) {
+ DestroyExclusiveLock(&locks[i]);
+ }
+ delete [] locks;
+ }
+
+
+ double distinctSeeds = 0;
+ for (unsigned i = 0; i < nHashTables; i++) {
+ distinctSeeds += computeExactly ? numExactSeeds[i] : approxCounters[i].getCount();
+ }
+
+ for (unsigned i = 0; i < nHashTables; i++) {
+ _uint64 count = computeExactly ? numExactSeeds[i] : approxCounters[i].getCount();
+ table[i] = ((double)count * nHashTables) / (double)countOfBases;
+ }
+
+ delete numExactSeeds;
+ numExactSeeds = NULL;
+
+ WriteStatusMessage("Computed bias table in %llds\n", (timeInMillis() + 500 - start) / 1000);
+}
+
+struct PerCounterBatch {
+ PerCounterBatch() : nUsed(0) {}
+ static const unsigned nSeedsPerBatch = 1000;
+
+ unsigned nUsed;
+ _uint64 lowBases[nSeedsPerBatch];
+
+ bool addSeed(_uint64 seedLowBases) {
+ _ASSERT(nUsed < nSeedsPerBatch);
+ lowBases[nUsed] = seedLowBases;
+ nUsed++;
+ return nUsed >= nSeedsPerBatch;
+ }
+
+ void apply(ApproximateCounter *counter) {
+ for (unsigned i = 0; i < nUsed; i++) {
+ counter->add(lowBases[i]);
+ }
+ nUsed = 0;
+ }
+};
+
+
+ void
+GenomeIndex::ComputeBiasTableWorkerThreadMain(void *param)
+{
+ ComputeBiasTableThreadContext *context = (ComputeBiasTableThreadContext *)param;
+ bool large = context->large;
+
+ GenomeDistance countOfBases = context->genome->getCountOfBases();
+ _int64 validSeeds = 0;
+
+ //
+ // Batch the insertions into the approximate counters, because otherwise we spend all of
+ // our time acquiring and releasing locks.
+ //
+
+ PerCounterBatch *batches = new PerCounterBatch[context->nHashTables];
+
+ _uint64 unrecordedSkippedSeeds = 0;
+
+ const _uint64 printBatchSize = 100000000;
+ for (GenomeDistance i = context->genomeChunkStart; i < context->genomeChunkEnd; i++) {
+
+ const char *bases = context->genome->getSubstring(i, context->seedLen);
+ //
+ // Check it for NULL, because Genome won't return strings that cross contig boundaries.
+ //
+ if (NULL == bases) {
+ continue;
+ }
+
+ //
+ // We don't build seeds out of sections of the genome that contain 'N.' If this is one, skip it.
+ //
+ if (!Seed::DoesTextRepresentASeed(bases, context->seedLen)) {
+ unrecordedSkippedSeeds++;
+ continue;
+ }
+
+ Seed seed(bases, context->seedLen);
+ validSeeds++;
+
+ if (large && seed.isBiggerThanItsReverseComplement()) {
+ //
+ // Figure out if we're using this base or its complement.
+ //
+ seed = ~seed; // Couldn't resist using ~ for this.
+ }
+
+ unsigned whichHashTable = seed.getHighBases(context->hashTableKeySize);
+
+ _ASSERT(whichHashTable < context->nHashTables);
+
+ if (batches[whichHashTable].addSeed(seed.getLowBases(context->hashTableKeySize))) {
+ PerCounterBatch *batch = &batches[whichHashTable];
+ AcquireExclusiveLock(&context->approximateCounterLocks[whichHashTable]);
+ batch->apply(&(*context->approxCounters)[whichHashTable]);
+ ReleaseExclusiveLock(&context->approximateCounterLocks[whichHashTable]);
+
+ _int64 basesProcessed = InterlockedAdd64AndReturnNewValue(context->nBasesProcessed, PerCounterBatch::nSeedsPerBatch + unrecordedSkippedSeeds);
+
+ if ((_uint64)basesProcessed / printBatchSize > ((_uint64)basesProcessed - PerCounterBatch::nSeedsPerBatch - unrecordedSkippedSeeds)/printBatchSize) {
+ WriteStatusMessage("Bias computation: %lld / %lld\n",(basesProcessed/printBatchSize)*printBatchSize, (_int64)countOfBases);
+ }
+ unrecordedSkippedSeeds= 0; // We've now recorded them.
+ }
+ }
+
+ for (unsigned i = 0; i < context->nHashTables; i++) {
+ _int64 basesProcessed = InterlockedAdd64AndReturnNewValue(context->nBasesProcessed, batches[i].nUsed + unrecordedSkippedSeeds);
+
+ if ((_uint64)basesProcessed / printBatchSize > ((_uint64)basesProcessed - batches[i].nUsed - unrecordedSkippedSeeds)/printBatchSize) {
+ WriteStatusMessage("Bias computation: %lld / %lld\n",(basesProcessed/printBatchSize)*printBatchSize, (_int64)countOfBases);
+ }
+
+ unrecordedSkippedSeeds = 0; // All except the first time through the loop this will be 0.
+
+ AcquireExclusiveLock(&context->approximateCounterLocks[i]);
+ batches[i].apply(&(*context->approxCounters)[i]);
+ ReleaseExclusiveLock(&context->approximateCounterLocks[i]);
+
+
+ }
+
+ delete [] batches;
+
+ InterlockedAdd64AndReturnNewValue(context->validSeeds, validSeeds);
+
+ if (0 == InterlockedDecrementAndReturnNewValue(context->runningThreadCount)) {
+ SignalSingleWaiterObject(context->doneObject);
+ }
+}
+
+
+
+ void
+GenomeIndex::BuildHashTablesWorkerThreadMain(void *param)
+{
+ BuildHashTablesThreadContext *context = (BuildHashTablesThreadContext *)param;
+
+ context->index->BuildHashTablesWorkerThread(context);
+}
+
+ void
+GenomeIndex::BuildHashTablesWorkerThread(BuildHashTablesThreadContext *context)
+{
+ GenomeDistance countOfBases = context->genome->getCountOfBases();
+ const Genome *genome = context->genome;
+ unsigned seedLen = context->seedLen;
+ bool large = context->large;
+
+ //
+ // Batch the insertions into the hash tables, because otherwise we spend all of
+ // our time acquiring and releasing locks.
+ //
+
+ PerHashTableBatch *batches = new PerHashTableBatch[nHashTables];
+ IndexBuildStats stats;
+
+ for (GenomeLocation genomeLocation = context->genomeChunkStart; genomeLocation < context->genomeChunkEnd; genomeLocation++) {
+ const char *bases = genome->getSubstring(genomeLocation, seedLen);
+ //
+ // Check it for NULL, because Genome won't return strings that cross contig boundaries.
+ //
+ if (NULL == bases) {
+ stats.noBaseAvailable++;
+ stats.unrecordedSkippedSeeds++;
+ continue;
+ }
+
+ //
+ // We don't build seeds out of sections of the genome that contain 'N.' If this is one, skip it.
+ //
+ if (!Seed::DoesTextRepresentASeed(bases, seedLen)) {
+ stats.nonSeeds++;
+ stats.unrecordedSkippedSeeds++;
+ continue;
+ }
+
+ Seed seed(bases, seedLen);
+
+ indexSeed(genomeLocation, seed, batches, context, &stats, large);
+ } // For each genome base in our area
+
+ //
+ // Now apply the updates from the batches that were left over
+ //
+
+ completeIndexing(batches, context, &stats, large);
+
+ InterlockedAdd64AndReturnNewValue(context->noBaseAvailable, stats.noBaseAvailable);
+ InterlockedAdd64AndReturnNewValue(context->nonSeeds, stats.nonSeeds);
+ InterlockedAdd64AndReturnNewValue(context->bothComplementsUsed, stats.bothComplementsUsed);
+ InterlockedAdd64AndReturnNewValue(context->genomeLocationsInOverflowTable, stats.genomeLocationsInOverflowTable);
+ InterlockedAdd64AndReturnNewValue(context->seedsWithMultipleOccurrences, stats.seedsWithMultipleOccurrences);
+
+ delete [] batches;
+
+ if (0 == InterlockedDecrementAndReturnNewValue(context->runningThreadCount)) {
+ SignalSingleWaiterObject(context->doneObject);
+ }
+
+}
+
+const _int64 GenomeIndex::printPeriod = 100000000;
+
+
+
+ void
+GenomeIndex::indexSeed(GenomeLocation genomeLocation, Seed seed, PerHashTableBatch *batches, BuildHashTablesThreadContext *context, IndexBuildStats *stats, bool large)
+{
+ bool usingComplement = large && seed.isBiggerThanItsReverseComplement();
+ if (usingComplement) {
+ seed = ~seed; // Couldn't resist using ~ for this.
+ }
+
+ unsigned whichHashTable = seed.getHighBases(context->hashTableKeySize);
+ _ASSERT(whichHashTable < nHashTables);
+
+ if (batches[whichHashTable].addSeed(genomeLocation, seed.getLowBases(context->hashTableKeySize), usingComplement)) {
+ AcquireExclusiveLock(&context->hashTableLocks[whichHashTable]);
+ for (unsigned i = 0; i < batches[whichHashTable].nUsed; i++) {
+ ApplyHashTableUpdate(context, whichHashTable, batches[whichHashTable].entries[i].genomeLocation,
+ batches[whichHashTable].entries[i].lowBases, batches[whichHashTable].entries[i].usingComplement,
+ &stats->bothComplementsUsed, &stats->genomeLocationsInOverflowTable, &stats->seedsWithMultipleOccurrences, large);
+ }
+ ReleaseExclusiveLock(&context->hashTableLocks[whichHashTable]);
+
+ _int64 newNBasesProcessed = InterlockedAdd64AndReturnNewValue(context->nBasesProcessed, batches[whichHashTable].nUsed + stats->unrecordedSkippedSeeds);
+
+ if ((unsigned)(newNBasesProcessed / printPeriod) > (unsigned)((newNBasesProcessed - batches[whichHashTable].nUsed - stats->unrecordedSkippedSeeds) / printPeriod)) {
+ WriteStatusMessage("Indexing %lld / %lld\n", (newNBasesProcessed / printPeriod) * printPeriod, context->genome->getCountOfBases());
+ }
+ stats->unrecordedSkippedSeeds = 0;
+ batches[whichHashTable].clear();
+ } // If we filled a batch
+}
+
+ void
+GenomeIndex::ApplyHashTableUpdate(BuildHashTablesThreadContext *context, _uint64 whichHashTable, GenomeLocation genomeLocation, _uint64 lowBases, bool usingComplement,
+ _int64 *bothComplementsUsed, _int64 *genomeLocationsInOverflowTable, _int64 *seedsWithMultipleOccurrences, bool large)
+{
+ _ASSERT(large || !usingComplement);
+ GenomeIndex *index = context->index;
+ GenomeDistance countOfBases = context->genome->getCountOfBases();
+ SNAPHashTable *hashTable = index->hashTables[whichHashTable];
+ unsigned locationSize = context->locationSize;
+ unsigned *entry32 = (unsigned *)hashTable->SlowLookup(lowBases); // use SlowLookup because we might have overflowed the table. Cast is OK because valueSize == 4 when we use entry32
+ char *entry64 = (char *)entry32; // Char * because it's variable sized
+ if (NULL == entry64) {
+ SNAPHashTable::ValueType newEntry[2]; // We only use [0] if !large, but it doesn't hurt to declare two
+ if (large) {
+ //
+ // We haven't yet seen either this seed or its complement. Make a new hash table
+ // entry.
+ //
+ if (!usingComplement) {
+ newEntry[0] = GenomeLocationAsInt64(genomeLocation);
+ newEntry[1] = GenomeLocationAsInt64(InvalidGenomeLocation) - 1; // Use 0xfffffffe for unused, because we gave 0xffffffff to the hash table package.
+ } else{
+ newEntry[0] = GenomeLocationAsInt64(InvalidGenomeLocation) - 1; // Use 0xfffffffe for unused, because we gave 0xffffffff to the hash table package.
+ newEntry[1] = GenomeLocationAsInt64(genomeLocation);
+ }
+ } else {
+ newEntry[0] = GenomeLocationAsInt64(genomeLocation);
+ }
+
+ _ASSERT(0 != GenomeLocationAsInt64(genomeLocation));
+
+ if (!hashTable->Insert(lowBases, newEntry)) {
+ for (unsigned j = 0; j < index->nHashTables; j++) {
+ WriteErrorMessage("HashTable[%d] has %lld used elements\n",j,(_int64)index->hashTables[j]->GetUsedElementCount());
+ }
+ WriteErrorMessage("IndexBuilder: exceeded size of hash table %d.\n"
+ "If you're indexing a non-human genome, make sure not to pass the -hg19 option. Otheriwse, use -exact or increase slack with -h.\n",
+ whichHashTable);
+ soft_exit(1);
+ }
+ } else {
+ //
+ // This entry already exists in the hash table. It might just be because we've already seen the seed's complement
+ // in which case we update our half of the entry. Otherwise, it's a repeat in the genome, and we need to insert
+ // it in the overflow table.
+ //
+ int entryIndex = usingComplement ? 1 : 0;
+ void *entryPointer = entry64 + locationSize * entryIndex;
+ if (locationSize > 4) {
+ entry32 = NULL; // Using this would be bad
+ _int64 entryValue = 0;
+ memcpy(&entryValue, entryPointer, locationSize); // Assumes little endian
+ if (large && GenomeLocationAsInt64(InvalidGenomeLocation) - 1 == entryValue) {
+ _int64 locationAsInt64 = GenomeLocationAsInt64(genomeLocation);
+ memcpy(entryPointer, &locationAsInt64, locationSize); // Assumes little endian
+ (*bothComplementsUsed)++;
+ } else if (entryValue < countOfBases) {
+
+ (*seedsWithMultipleOccurrences)++;
+ (*genomeLocationsInOverflowTable) += 2;
+
+ _int64 overflowIndex = AddOverflowBackpointer(-1, context, entryValue);
+ overflowIndex = AddOverflowBackpointer(overflowIndex, context, GenomeLocationAsInt64(genomeLocation));
+
+ _int64 entryValue = overflowIndex + countOfBases;
+ memcpy(entryPointer, &entryValue, locationSize);
+ } else {
+ //
+ // Stick another entry in the existing overflow bucket.
+ //
+
+ _int64 overflowIndex = AddOverflowBackpointer(entryValue - countOfBases, context, genomeLocation);
+ _int64 entryValue = overflowIndex + countOfBases;
+ memcpy(entryPointer, &entryValue, locationSize); // Assumes little endian
+
+ (*genomeLocationsInOverflowTable)++;
+ } // If the existing entry had the complement empty, needed a new overflow entry or extended an old one
+ } else {
+ entry64 = NULL; // Using this would be bad
+ if (large && GenomeLocationAsInt32(InvalidGenomeLocation) - 1 == entry32[entryIndex]) {
+ entry32[entryIndex] = GenomeLocationAsInt32(genomeLocation);
+ (*bothComplementsUsed)++;
+ } else if (entry32[entryIndex] < (unsigned)countOfBases) { // cast OK, because locationSize <= 4
+
+ (*seedsWithMultipleOccurrences)++;
+ (*genomeLocationsInOverflowTable) += 2;
+
+ _int64 overflowIndex = AddOverflowBackpointer(-1, context, entry32[entryIndex]);
+ overflowIndex = AddOverflowBackpointer(overflowIndex, context, GenomeLocationAsInt64(genomeLocation));
+
+ entry32[entryIndex] = (unsigned)(overflowIndex + countOfBases);
+ } else {
+ //
+ // Stick another entry in the existing overflow bucket.
+ //
+
+ _int64 overflowIndex = AddOverflowBackpointer(entry32[entryIndex] - countOfBases, context, genomeLocation);
+ entry32[entryIndex] = (unsigned)(overflowIndex + countOfBases);
+
+ (*genomeLocationsInOverflowTable)++;
+ } // If the existing entry had the complement empty, needed a new overflow entry or extended an old one
+ }
+ } // If new or existing entry.
+}
+
+ _int64
+GenomeIndex::AddOverflowBackpointer(
+ _int64 previousOverflowBackpointer,
+ BuildHashTablesThreadContext*context,
+ GenomeLocation genomeLocation)
+{
+ _int64 overflowBackpointerIndex = InterlockedAdd64AndReturnNewValue(context->nextOverflowBackpointer, 1) - 1;
+ OverflowBackpointer *newBackpointer = context->overflowAnchor->getBackpointer(overflowBackpointerIndex);
+
+ newBackpointer->nextIndex = previousOverflowBackpointer;
+ newBackpointer->genomeLocation = genomeLocation;
+
+ if (overflowBackpointerIndex % 100000 == 1 && NULL != context->lastBackpointerIndexUsedByThread) {
+ AcquireExclusiveLock(context->backpointerSpillLock);
+ context->lastBackpointerIndexUsedByThread[context->whichThread] = overflowBackpointerIndex - 1;
+ _int64 trimToIndex = context->lastBackpointerIndexUsedByThread[0];
+ for (unsigned i = 1; i < context->nThreads; i++) {
+ trimToIndex = __min(trimToIndex, context->lastBackpointerIndexUsedByThread[i]);
+ }
+ context->overflowAnchor->trimTo(trimToIndex, context->backpointerSpillFile);
+ ReleaseExclusiveLock(context->backpointerSpillLock);
+ }
+
+ return overflowBackpointerIndex;
+}
+
+//
+// A comparison method for qsort that sorts unsigned ints backwards (SNAP expects them to be backwards due to
+// a historical artifact).
+//
+int
+GenomeIndex::BackwardsUnsignedCompare(const void *first, const void *second)
+{
+ if (*(const unsigned *) first > *(const unsigned *)second) {
+ return -1;
+ } else if (*(const unsigned *) first == *(const unsigned *)second) {
+ return 0;
+ } else {
+ return 1;
+ }
+}
+
+int
+GenomeIndex::BackwardsInt64Compare(const void *first, const void *second)
+{
+ if (*(const _int64 *) first > *(const _int64 *)second) {
+ return -1;
+ } else if (*(const _int64 *) first == *(const _int64 *)second) {
+ return 0;
+ } else {
+ return 1;
+ }
+}
+
+
+ void
+GenomeIndex::completeIndexing(PerHashTableBatch *batches, BuildHashTablesThreadContext *context, IndexBuildStats *stats, bool large)
+{
+ for (unsigned whichHashTable = 0; whichHashTable < nHashTables; whichHashTable++) {
+ _int64 basesProcessed = InterlockedAdd64AndReturnNewValue(context->nBasesProcessed, batches[whichHashTable].nUsed + stats->unrecordedSkippedSeeds);
+
+ if ((_uint64)basesProcessed / printPeriod > ((_uint64)basesProcessed - batches[whichHashTable].nUsed - stats->unrecordedSkippedSeeds)/printPeriod) {
+ WriteStatusMessage("Indexing %lld / %lld\n",(basesProcessed/printPeriod)*printPeriod, context->genome->getCountOfBases());
+ }
+
+ stats->unrecordedSkippedSeeds = 0; // All except the first time through the loop this will be 0.
+ AcquireExclusiveLock(&context->hashTableLocks[whichHashTable]);
+ for (unsigned i = 0; i < batches[whichHashTable].nUsed; i++) {
+ ApplyHashTableUpdate(context, whichHashTable, batches[whichHashTable].entries[i].genomeLocation,
+ batches[whichHashTable].entries[i].lowBases, batches[whichHashTable].entries[i].usingComplement,
+ &stats->bothComplementsUsed, &stats->genomeLocationsInOverflowTable,
+ &stats->seedsWithMultipleOccurrences, large);
+ }
+ ReleaseExclusiveLock(&context->hashTableLocks[whichHashTable]);
+ }
+}
+
+GenomeIndex::OverflowBackpointerAnchor::OverflowBackpointerAnchor(_int64 maxOverflowEntries_) : maxOverflowEntries(maxOverflowEntries_)
+{
+ _ASSERT(maxOverflowEntries > 0);
+ _int64 roundedUpMaxOverflowEntries = (maxOverflowEntries + batchSize - 1) / batchSize * batchSize; // Round up to the next batch size
+
+ table = new OverflowBackpointer *[roundedUpMaxOverflowEntries / batchSize];
+
+ for (unsigned i = 0; i < roundedUpMaxOverflowEntries / batchSize; i++) {
+ table[i] = NULL;
+ }
+
+ InitializeExclusiveLock(&lock);
+}
+
+GenomeIndex::OverflowBackpointerAnchor::~OverflowBackpointerAnchor()
+{
+ for (unsigned i = 0; i < maxOverflowEntries / batchSize; i++) {
+ if (table[i] != NULL) {
+ BigDealloc(table[i]);
+ table[i] = NULL;
+ }
+ }
+
+ delete [] table;
+ table = NULL;
+
+ DestroyExclusiveLock(&lock);
+}
+
+ GenomeIndex::OverflowBackpointer *
+GenomeIndex::OverflowBackpointerAnchor::getBackpointer(_int64 index)
+{
+ if (index >= maxOverflowEntries) {
+ WriteErrorMessage("Trying to use too many overflow entries. To index this genome, you either need a larger seed size or a larger location size.\n");
+ soft_exit(1);
+ }
+ _int64 tableSlot = index / batchSize;
+ if (table[tableSlot] == NULL) {
+ AcquireExclusiveLock(&lock);
+ if (table[tableSlot] == NULL) {
+ OverflowBackpointer *newTableEntry = (OverflowBackpointer *)BigAlloc(batchSize * sizeof(OverflowBackpointer));
+ for (unsigned i = 0; i < batchSize; i++) {
+ newTableEntry[i].genomeLocation = 0xffffffffffffffff;
+ newTableEntry[i].nextIndex = 0xffffffffffffffff;
+ }
+
+ //
+ // Don't fill in the table[] pointer until initialization is complete in order to avoid racing with someone writing while we're
+ // initializing.
+ //
+ table[tableSlot] = newTableEntry;
+ }
+ ReleaseExclusiveLock(&lock);
+ } else {
+ if (&spilledTableSlot == table[tableSlot]) {
+ WriteErrorMessage("Looking up spilled table slot. Something is very wrong. Try not using -sm and contact the developers.\n");
+ soft_exit(1);
+ }
+ }
+ return &table[tableSlot][index % batchSize];
+}
+
+ void
+GenomeIndex::OverflowBackpointerAnchor::trimTo(_int64 trimToIndex, FILE *trimFile)
+{
+ //
+ // Run through the anchor table, and spill out any table slots whose indices are all less than trimToIndex and that aren't
+ // yet spilled out.
+ //
+ for (_int64 tableSlot = 0; (tableSlot + 1) * batchSize < trimToIndex; tableSlot++) {
+ if (&spilledTableSlot != table[tableSlot] && NULL != table[tableSlot]) {
+ if (batchSize != fwrite(table[tableSlot], sizeof(*table[tableSlot]), batchSize, trimFile)) {
+ WriteErrorMessage("Failure writing to trim file. Maybe you're out of disk space or encountered some other error. Perhaps try without -sm.\n");
+ soft_exit(1);
+ }
+ BigDealloc((void *)table[tableSlot]);
+ table[tableSlot] = &spilledTableSlot;
+ }
+ }
+}
+ void
+GenomeIndex::OverflowBackpointerAnchor::loadFromFile(FILE *file)
+{
+ rewind(file);
+ for (int i = 0; i < maxOverflowEntries / batchSize; i++) {
+ if (table[i] == &spilledTableSlot) {
+ table[i] = (OverflowBackpointer *)BigAlloc(batchSize * sizeof(OverflowBackpointer));
+ if (batchSize != fread(table[i], sizeof(OverflowBackpointer), batchSize, file)) {
+ WriteErrorMessage("Failed to read overflow table batch i from spill file\n", i);
+ soft_exit(1);
+ }
+ }
+ }
+}
+
+const unsigned GenomeIndex::OverflowBackpointerAnchor::batchSize = 1024 * 1024;
+GenomeIndex::OverflowBackpointer GenomeIndex::OverflowBackpointerAnchor::spilledTableSlot;
+
+ void
+GenomeIndex::printBiasTables()
+{
+ for (int keySize = 0; keySize <= largestKeySize; keySize++) {
+ for (int seedSize = 0; seedSize <= largestBiasTable; seedSize++) {
+ if (NULL != hg19_biasTables_large[keySize][seedSize]) {
+ printf("static double hg19_biasTable%d_%d_large[] = {\n", seedSize, keySize);
+ unsigned bitsOfSeed = seedSize * 2;
+ unsigned bitsOfKey = keySize * 8; // 8 == nBits / byte
+ unsigned numHashTables = 1 << (bitsOfSeed - bitsOfKey);
+ for (unsigned hashTable = 0; hashTable < numHashTables; hashTable++) {
+ if (hg19_biasTables_large[keySize][seedSize][hashTable] == 0) {
+ printf("0");
+ } else if (hg19_biasTables_large[keySize][seedSize][hashTable] > 1000 || hg19_biasTables_large[keySize][seedSize][hashTable] < .01) {
+ printf("%1.2e", hg19_biasTables_large[keySize][seedSize][hashTable]);
+ } else if (hg19_biasTables_large[keySize][seedSize][hashTable] > 10) {
+ printf("%1.1f", hg19_biasTables_large[keySize][seedSize][hashTable]);
+ } else {
+ printf("%1.3f", hg19_biasTables_large[keySize][seedSize][hashTable]);
+ }
+
+ if (hashTable != numHashTables-1) {
+ printf(",");
+ }
+
+ if (hashTable % 10 == 9) {
+ printf("\n");
+ }
+ } // for each hash table
+ printf("\n};\n\n");
+ } // if there is a bias entry for this key * seed size
+ } // for each seed size
+ } // for each key size
+
+ for (int keySize = 0; keySize <= largestKeySize; keySize++) {
+ for (int seedSize = 0; seedSize <= largestBiasTable; seedSize++) {
+ if (NULL != hg19_biasTables[keySize][seedSize]) {
+ printf("static double hg19_biasTable%d_%d[] = {\n", seedSize, keySize);
+ unsigned bitsOfSeed = seedSize * 2;
+ unsigned bitsOfKey = keySize * 8; // 8 == nBits / byte
+ unsigned numHashTables = 1 << (bitsOfSeed - bitsOfKey);
+ for (unsigned hashTable = 0; hashTable < numHashTables; hashTable++) {
+ if (hg19_biasTables[keySize][seedSize][hashTable] == 0) {
+ printf("0");
+ } else if (hg19_biasTables[keySize][seedSize][hashTable] > 1000 || hg19_biasTables[keySize][seedSize][hashTable] < .01) {
+ printf("%1.2e", hg19_biasTables[keySize][seedSize][hashTable]);
+ } else if (hg19_biasTables[keySize][seedSize][hashTable] > 10) {
+ printf("%1.1f", hg19_biasTables[keySize][seedSize][hashTable]);
+ } else {
+ printf("%1.3f", hg19_biasTables[keySize][seedSize][hashTable]);
+ }
+
+ if (hashTable != numHashTables-1) {
+ printf(",");
+ }
+
+ if (hashTable % 10 == 9) {
+ printf("\n");
+ }
+ } // for each hash table
+ printf("\n};\n\n");
+ } // if there is a bias entry for this key * seed size
+ } // for each seed size
+ } // for each key size
+}
+
+ GenomeIndex *
+GenomeIndex::loadFromDirectory(char *directoryName, bool map, bool prefetch)
+{
+ const unsigned filenameBufferSize = MAX_PATH+1;
+ char filenameBuffer[filenameBufferSize];
+
+ snprintf(filenameBuffer,filenameBufferSize,"%s%cGenomeIndex",directoryName,PATH_SEP);
+
+ GenericFile *indexFile = GenericFile::open(filenameBuffer, GenericFile::ReadOnly);
+
+ if (NULL == indexFile) {
+ WriteErrorMessage("Unable to open file '%s' for read.\n",filenameBuffer);
+ return NULL;
+ }
+
+ char indexFileBuf[1000];
+ size_t indexFileSize = indexFile->read(indexFileBuf, sizeof(indexFileBuf) - 1);
+ indexFileBuf[indexFileSize] = 0;
+
+ unsigned seedLen;
+ unsigned majorVersion, minorVersion, chromosomePadding;
+ int nRead;
+ size_t hashTablesFileSize;
+ unsigned nHashTables;
+ _int64 overflowTableSize;
+ unsigned hashTableKeySize;
+ unsigned smallHashTable;
+ unsigned locationSize;
+ if (10 != (nRead = sscanf(indexFileBuf,"%d %d %d %lld %d %d %d %lld %d %d", &majorVersion, &minorVersion, &nHashTables, &overflowTableSize, &seedLen, &chromosomePadding,
+ &hashTableKeySize, &hashTablesFileSize, &smallHashTable, &locationSize))) {
+ if (3 == nRead || 6 == nRead || 7 == nRead || 9 == nRead) {
+ WriteErrorMessage("Indices built by versions before 1.0dev.21 are no longer supported. Please rebuild your index.\n");
+ } else {
+ WriteErrorMessage("GenomeIndex::LoadFromDirectory: didn't read initial values\n");
+ }
+ indexFile->close();
+ delete indexFile;
+ return NULL;
+ }
+ indexFile->close();
+ delete indexFile;
+
+ if (majorVersion != GenomeIndexFormatMajorVersion) {
+ WriteErrorMessage("This genome index appears to be from a different version of SNAP than this, and so we can't read it. Index version %d, SNAP index format version %d\n",
+ majorVersion, GenomeIndexFormatMajorVersion);
+ soft_exit(1);
+ }
+
+ if (0 == seedLen) {
+ WriteErrorMessage("GenomeIndex::LoadFromDirectory: saw seed size of 0.\n");
+ return NULL;
+ }
+
+ SetInvalidGenomeLocation(locationSize);
+
+ GenomeIndex *index;
+ index = new GenomeIndex();
+
+ index->nHashTables = nHashTables;
+ index->overflowTableSize = overflowTableSize;
+ index->hashTableKeySize = hashTableKeySize;
+ index->seedLen = seedLen;
+ index->locationSize = locationSize;
+ index->largeHashTable = !smallHashTable;
+
+ unsigned overflowEntrySize = (locationSize > 4) ? sizeof(*index->overflowTable64) : sizeof(*index->overflowTable32);
+
+ size_t overflowTableSizeInBytes = (size_t)index->overflowTableSize * overflowEntrySize;
+
+ snprintf(filenameBuffer,filenameBufferSize, "%s%cOverflowTable", directoryName, PATH_SEP);
+
+ if (map) {
+ if (prefetch) {
+ GenericFile *overflowTableFile = GenericFile::open(filenameBuffer, GenericFile::ReadOnly);
+ if (NULL == overflowTableFile) {
+ WriteErrorMessage("Unable to open file '%s'\n", filenameBuffer);
+ soft_exit(1);
+ }
+
+ overflowTableFile->prefetch();
+ overflowTableFile->close();
+ delete overflowTableFile;
+ }
+
+ index->mappedOverflowTable = GenericFile_map::open(filenameBuffer);
+ if (NULL == index->mappedOverflowTable) {
+ WriteErrorMessage("Unable to open file '%s'\n", filenameBuffer);
+ soft_exit(1);
+ }
+
+ size_t bytesMapped;
+ if (locationSize > 4) {
+ index->overflowTable64 = (_int64 *)index->mappedOverflowTable->mapAndAdvance(overflowTableSizeInBytes, &bytesMapped);
+ } else {
+ index->overflowTable32 = (unsigned *)index->mappedOverflowTable->mapAndAdvance(overflowTableSizeInBytes, &bytesMapped);
+ }
+
+ if (bytesMapped != overflowTableSizeInBytes) {
+ WriteErrorMessage("read (via mapping) only %lld bytes of '%s', expected %lld\n", bytesMapped, filenameBuffer, overflowTableSizeInBytes);
+ soft_exit(1);
+ }
+
+ index->mappedOverflowTable->prefetch(); // NB: This is different than the -pre prefetch. This one maps the whole thing (and reads it sequentially in case you didn't use -pre)
+ } else {
+ char *tableAsCharStar;
+ if (locationSize > 4) {
+ index->overflowTable64 = (_int64 *)BigAlloc(overflowTableSizeInBytes);
+ tableAsCharStar = (char *)index->overflowTable64;
+ _ASSERT(NULL == index->overflowTable32);
+ } else {
+ index->overflowTable32 = (unsigned *)BigAlloc(overflowTableSizeInBytes);
+ tableAsCharStar = (char *)index->overflowTable32;
+ _ASSERT(NULL == index->overflowTable64);
+ }
+
+ GenericFile *fOverflowTable = GenericFile::open(filenameBuffer, GenericFile::ReadOnly);
+
+ if (NULL == fOverflowTable) {
+ WriteErrorMessage("Unable to open overflow table file, '%s', %d\n", filenameBuffer, errno);
+ delete index;
+ return NULL;
+ }
+
+ size_t amountRead = fOverflowTable->read(tableAsCharStar, overflowTableSizeInBytes);
+ if (amountRead != overflowTableSizeInBytes) {
+ WriteErrorMessage("Error reading overflow table, %lld != %lld bytes read.\n", amountRead, overflowTableSizeInBytes);
+ soft_exit(1);
+ }
+
+ fOverflowTable->close();
+ delete fOverflowTable;
+ fOverflowTable = NULL;
+ }
+
+ index->hashTables = new SNAPHashTable*[index->nHashTables];
+
+ for (unsigned i = 0; i < index->nHashTables; i++) {
+ index->hashTables[i] = NULL; // We need to do this so the destructor doesn't crash if loading a hash table fails.
+ }
+
+ snprintf(filenameBuffer, filenameBufferSize, "%s%cGenomeIndexHash", directoryName, PATH_SEP);
+
+ GenericFile_Blob *blobFile = NULL;
+ GenericFile *tablesFile = NULL;
+
+ if (map) {
+ if (prefetch) {
+ GenericFile *hashTableFile = GenericFile::open(filenameBuffer, GenericFile::ReadOnly);
+ if (NULL == hashTableFile) {
+ WriteErrorMessage("Unable to open genome hash table file '%s'\n", filenameBuffer);
+ soft_exit(1);
+ }
+
+ hashTableFile->prefetch();
+ hashTableFile->close();
+ delete hashTableFile;
+ }
+
+ if (QueryFileSize(filenameBuffer) != hashTablesFileSize) {
+ WriteErrorMessage("File '%s' had unexpected size, %lld != %lld\n", filenameBuffer, QueryFileSize(filenameBuffer), hashTablesFileSize);
+ delete index;
+ return NULL;
+ }
+
+ index->mappedTables = GenericFile_map::open(filenameBuffer);
+ index->mappedTables->prefetch();
+ blobFile = index->mappedTables;
+ index->tablesBlob = NULL;
+ } else {
+ tablesFile = GenericFile::open(filenameBuffer, GenericFile::ReadOnly);
+ if (NULL == tablesFile) {
+ WriteErrorMessage("Unable to open genome hash table file '%s'\n", filenameBuffer);
+ soft_exit(1);
+ }
+
+ index->tablesBlob = BigAlloc(hashTablesFileSize);
+ size_t amountRead = tablesFile->read(index->tablesBlob, hashTablesFileSize);
+ if (amountRead != hashTablesFileSize) {
+ WriteErrorMessage("Read incorrect amount for GenomeIndexHash file, %lld != %lld\n", hashTablesFileSize, amountRead);
+ delete index;
+ return NULL;
+ }
+
+ blobFile = GenericFile_Blob::open(index->tablesBlob, hashTablesFileSize);
+ }
+
+ for (unsigned i = 0; i < index->nHashTables; i++) {
+ if (NULL == (index->hashTables[i] = SNAPHashTable::loadFromBlob(blobFile))) {
+ WriteErrorMessage("GenomeIndex::loadFromDirectory: Failed to load hash table %d\n",i);
+ delete index;
+ return NULL;
+ }
+
+ unsigned expectedValueCount;
+ if (smallHashTable) {
+ expectedValueCount = 1;
+ } else {
+ expectedValueCount = 2;
+ }
+
+ if (index->hashTables[i]->GetValueCount() != expectedValueCount) {
+ WriteErrorMessage("Expected loaded hash table to have value count of %d, but it had %d. Index corrupt\n", expectedValueCount, index->hashTables[i]->GetValueCount());
+ delete index;
+ return NULL;
+ }
+ }
+
+ if (!map) {
+ tablesFile->close();
+ delete tablesFile;
+ tablesFile = NULL;
+
+ blobFile->close();
+ delete blobFile;
+ blobFile = NULL;
+ }
+
+ snprintf(filenameBuffer,filenameBufferSize,"%s%cGenome",directoryName,PATH_SEP);
+ if (NULL == (index->genome = Genome::loadFromFile(filenameBuffer, chromosomePadding, 0, 0, map))) {
+ WriteErrorMessage("GenomeIndex::loadFromDirectory: Failed to load the genome itself\n");
+ delete index;
+ return NULL;
+ }
+
+ if ((_int64)index->genome->getCountOfBases() + (_int64)index->overflowTableSize > 0xfffffff0 && locationSize == 4) {
+ WriteErrorMessage("\nThis index has too many overflow entries to be valid. Some early versions of SNAP\n"
+ "allowed building indices with too small of a seed size, and this appears to be such\n"
+ "an index. You can no longer build indices like this, and you also can't use them\n"
+ "because they are corrupt and would produce incorrect results. Please use an index\n"
+ "built with a larger seed size. For hg19, the seed size must be at least 19.\n"
+ "For other reference genomes this quantity will vary.\n");
+ soft_exit(1);
+ }
+
+ return index;
+}
+
+ void
+GenomeIndex::lookupSeed32(
+ Seed seed,
+ _int64 *nHits,
+ const unsigned **hits,
+ _int64 *nRCHits,
+ const unsigned **rcHits)
+{
+ _ASSERT(locationSize == 4); // This is the caller's responsibility to check.
+
+ if (largeHashTable) {
+ bool lookedUpComplement;
+
+ lookedUpComplement = seed.isBiggerThanItsReverseComplement();
+ if (lookedUpComplement) {
+ seed = ~seed;
+ }
+
+ _ASSERT(seed.getHighBases(hashTableKeySize) < nHashTables);
+ _uint64 lowBases = seed.getLowBases(hashTableKeySize);
+ _ASSERT(hashTables[seed.getHighBases(hashTableKeySize)]->GetValueSizeInBytes() == 4);
+ const unsigned *entry = (const unsigned *)hashTables[seed.getHighBases(hashTableKeySize)]->GetFirstValueForKey(lowBases); // Cast OK because valueSize == 4
+ if (NULL == entry) {
+ *nHits = 0;
+ *nRCHits = 0;
+ return;
+ }
+
+ //
+ // Fill in the caller's answers for the main and complement of the seed looked up.
+ // Because of our hash table design, we may have had to take the complement before the
+ // lookup, in which case we reverse the results so the caller gets the right thing.
+ // Also, if the seed is its own reverse complement, we need to fill the same hits
+ // in both return arrays.
+ //
+ fillInLookedUpResults32((lookedUpComplement ? entry + 1 : entry), nHits, hits);
+ if (seed.isOwnReverseComplement()) {
+ *nRCHits = *nHits;
+ *rcHits = *hits;
+ } else {
+ fillInLookedUpResults32((lookedUpComplement ? entry : entry + 1), nRCHits, rcHits);
+ }
+ } else {
+ for (int dir = 0; dir < NUM_DIRECTIONS; dir++) {
+ _ASSERT(seed.getHighBases(hashTableKeySize) < nHashTables);
+ _uint64 lowBases = seed.getLowBases(hashTableKeySize);
+ _ASSERT(hashTables[seed.getHighBases(hashTableKeySize)]->GetValueSizeInBytes() == 4);
+ unsigned *entry = (unsigned int *)hashTables[seed.getHighBases(hashTableKeySize)]->GetFirstValueForKey(lowBases); // Cast OK because valueSize == 4
+ if (NULL == entry) {
+ if (FORWARD == dir) {
+ *nHits = 0;
+ } else {
+ *nRCHits = 0;
+ }
+ } else if (FORWARD == dir) {
+ fillInLookedUpResults32(entry, nHits, hits);
+ } else {
+ fillInLookedUpResults32(entry, nRCHits, rcHits);
+ }
+ seed = ~seed;
+ } // For each direction
+ }
+}
+
+ void
+GenomeIndex::fillInLookedUpResults32(
+ const unsigned *subEntry,
+ _int64 *nHits,
+ const unsigned **hits)
+{
+ //
+ // WARNING: the code in the IntersectingPairedEndAligner relies on being able to look at
+ // hits[-1]. It doesn't care about the value, but it must not be a bogus pointer. This
+ // is true with the current layout (where it will either be the hit count, the key or
+ // forward pointer in the hash table entry or some intermediate hit in the case where the
+ // search is constrained by minLocation/maxLocation). If you change this, be sure to look
+ // at the code and fix it.
+ //
+ if (*subEntry < genome->getCountOfBases()) {
+ //
+ // It's a singleton.
+ //
+ *nHits = 1;
+ *hits = subEntry;
+ } else if (*subEntry == 0xfffffffe) {
+ //
+ // It's unused, the other complement must exist.
+ //
+ _ASSERT(largeHashTable);
+ *nHits = 0;
+ } else {
+ //
+ // Multiple hits. Recall that the overflow table format is first a count of
+ // the number of hits for that seed, followed by the list of hits.
+ //
+ unsigned overflowTableOffset = *subEntry - (unsigned)genome->getCountOfBases();
+
+ _ASSERT(overflowTableOffset < overflowTableSize);
+
+ int hitCount = overflowTable32[overflowTableOffset];
+
+ _ASSERT(hitCount >= 2);
+ _ASSERT(hitCount + overflowTableOffset < overflowTableSize);
+
+ *nHits = hitCount;
+ *hits = &overflowTable32[overflowTableOffset + 1];
+ }
+}
+
+ void
+GenomeIndex::lookupSeed(
+ Seed seed,
+ _int64 * nHits,
+ const GenomeLocation ** hits,
+ _int64 * nRCHits,
+ const GenomeLocation ** rcHits,
+ GenomeLocation * singleHit,
+ GenomeLocation * singleRCHit)
+{
+ _ASSERT(locationSize > 4 && locationSize <= 8);
+
+ if (largeHashTable) {
+ bool lookedUpComplement;
+
+ lookedUpComplement = seed.isBiggerThanItsReverseComplement();
+ if (lookedUpComplement) {
+ seed = ~seed;
+ }
+
+ _ASSERT(seed.getHighBases(hashTableKeySize) < nHashTables);
+ _uint64 lowBases = seed.getLowBases(hashTableKeySize);
+ _ASSERT(hashTables[seed.getHighBases(hashTableKeySize)]->GetValueSizeInBytes() > 4);
+
+ const char *entry = (char *)hashTables[seed.getHighBases(hashTableKeySize)]->GetFirstValueForKey(lowBases);
+ if (NULL == entry) {
+ *nHits = 0;
+ *nRCHits = 0;
+ return;
+ }
+
+ GenomeLocation entryByValue[NUM_DIRECTIONS];
+ entryByValue[0] = 0;
+ entryByValue[1] = 0;
+
+ memcpy(&entryByValue[0], entry, locationSize); // Works because we're litte-endian
+ memcpy(&entryByValue[1], entry + locationSize, locationSize); // Again, required litte-endianness.
+
+ //
+ // Fill in the caller's answers for the main and complement of the seed looked up.
+ // Because of our hash table design, we may have had to take the complement before the
+ // lookup, in which case we reverse the results so the caller gets the right thing.
+ // Also, if the seed is its own reverse complement, we need to fill the same hits
+ // in both return arrays.
+ //
+ fillInLookedUpResults(entryByValue[lookedUpComplement ? 1 : 0], nHits, hits, singleHit);
+
+ if (seed.isOwnReverseComplement()) {
+ *nRCHits = *nHits;
+ *rcHits = *hits;
+ } else {
+ fillInLookedUpResults(entryByValue[lookedUpComplement ? 0 : 1], nRCHits, rcHits, singleRCHit);
+ }
+ } else {
+ for (int dir = 0; dir < NUM_DIRECTIONS; dir++) {
+ _ASSERT(seed.getHighBases(hashTableKeySize) < nHashTables);
+ _uint64 lowBases = seed.getLowBases(hashTableKeySize);
+ _ASSERT(hashTables[seed.getHighBases(hashTableKeySize)]->GetValueSizeInBytes() > 4);
+ const char *entry = (char *)hashTables[seed.getHighBases(hashTableKeySize)]->GetFirstValueForKey(lowBases);
+
+ if (NULL == entry) {
+ if (FORWARD == dir) {
+ *nHits = 0;
+ } else {
+ *nRCHits = 0;
+ }
+ } else {
+ GenomeLocation entryByValue = 0;
+ memcpy(&entryByValue, entry, locationSize); // Assumes little endian
+
+ if (FORWARD == dir) {
+ fillInLookedUpResults(entryByValue, nHits, hits, singleHit);
+ } else {
+ fillInLookedUpResults(entryByValue, nRCHits, rcHits, singleRCHit);
+ }
+ }
+ seed = ~seed;
+ } // For each direction
+ }
+}
+
+
+ void
+GenomeIndex::fillInLookedUpResults(GenomeLocation lookedUpLocation, _int64 *nHits, const GenomeLocation **hits, GenomeLocation *singleHitLocation)
+{
+ //
+ // WARNING: the code in the IntersectingPairedEndAligner relies on being able to look at
+ // hits[-1]. It doesn't care about the value, but it must not be a bogus pointer. This
+ // is true with the current layout (where it will either be the hit count, the key or
+ // forward pointer in the hash table entry or some intermediate hit in the case where the
+ // search is constrained by minLocation/maxLocation). If you change this, be sure to look
+ // at the code and fix it. You don't need to worry about this in the case of singleHitLocation,
+ // that's the caller's problem.
+ //
+ if (lookedUpLocation < genome->getCountOfBases()) {
+ //
+ // It's a singleton.
+ //
+ *nHits = 1;
+ *hits = singleHitLocation;
+ *singleHitLocation = lookedUpLocation;
+ } else if (lookedUpLocation == InvalidGenomeLocation - 1) {
+ //
+ // It's unused, the other complement must exist.
+ //
+ _ASSERT(largeHashTable);
+ *nHits = 0;
+ } else {
+ //
+ // Multiple hits. Recall that the overflow table format is first a count of
+ // the number of hits for that seed, followed by the list of hits.
+ //
+ _int64 overflowTableOffset = GenomeLocationAsInt64(lookedUpLocation) - genome->getCountOfBases();
+
+ _ASSERT(overflowTableOffset < (_int64)overflowTableSize);
+
+ _int64 hitCount = overflowTable64[overflowTableOffset];
+
+ _ASSERT(hitCount >= 2);
+ _ASSERT(hitCount + overflowTableOffset < (_int64)overflowTableSize);
+
+ *nHits = hitCount;
+ *hits = (const GenomeLocation *)&overflowTable64[overflowTableOffset + 1];
+ }
+}
diff --git a/SNAPLib/GenomeIndex.h b/SNAPLib/GenomeIndex.h
new file mode 100644
index 0000000..2165461
--- /dev/null
+++ b/SNAPLib/GenomeIndex.h
@@ -0,0 +1,299 @@
+/*++
+
+Module Name:
+
+ GenomeIndex.h
+
+Abstract:
+
+ Headers for the index builder for the SNAP sequencer
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#pragma once
+
+#include "HashTable.h"
+#include "Seed.h"
+#include "Genome.h"
+#include "ApproximateCounter.h"
+#include "GenericFile_map.h"
+
+class GenomeIndex {
+public:
+ const Genome *getGenome() {return genome;}
+
+ //
+ // This looks up a seed and its reverse complement, and returns the number and list of hits for each.
+ // It guarantees that if the lookup succeeds that hits[-1] and rcHits[-1] are valid memory with
+ // arbirtary values. The -32 version is used for indices with 32 bit genome offsets; using the version
+ // that doesn't match the genome index GenomeLocation size is an error. Check the index type with
+ // doesGenomeIndexHave64BitLocations();
+ //
+ // The 64 bit version requires the called to supply a special location for storing a single forward or
+ // reverse hit. This is because in the hash table (but not overflow table), these may be stored in
+ // 5-7 bytes in order to save space. This means that there's no address in the hash table that can
+ // be pointed to as a return value. When only a single hit is returned, *hits == singleHit, so there's
+ // no need to check on the caller's side.
+ //
+ void lookupSeed(Seed seed, _int64 *nHits, const GenomeLocation **hits, _int64 *nRCHits, const GenomeLocation **rcHits, GenomeLocation *singleHit, GenomeLocation *singleRCHit);
+ void lookupSeed32(Seed seed, _int64 *nHits, const unsigned **hits, _int64 *nRCHits, const unsigned **rcHits);
+
+ bool doesGenomeIndexHave64BitLocations() const {return locationSize > 4;}
+
+ //
+ // Looks up a seed and its reverse complement, restricting the search to a given range of locations,
+ // and returns the number and list of hits for each.
+ //
+// virtual void lookupSeed(Seed seed, unsigned minLocation, unsigned maxLocation,
+// unsigned *nHits, const unsigned **hits, unsigned *nRCHits, const unsigned **rcHits) = 0;
+
+ //
+ // This issues a compiler prefetch for the genome data.
+ //
+ inline void prefetchGenomeData(GenomeLocation genomeLocation) const {
+ genome->prefetchData(genomeLocation);
+ }
+
+ inline int getSeedLength() const { return seedLen; }
+
+ virtual ~GenomeIndex();
+
+ //
+ // run the indexer from command line arguments
+ //
+ static void runIndexer(int argc, const char **argv);
+
+ static GenomeIndex *loadFromDirectory(char *directoryName, bool map, bool prefetch);
+
+ static void printBiasTables();
+
+protected:
+
+ int seedLen;
+ unsigned hashTableKeySize;
+ unsigned nHashTables;
+ const Genome *genome;
+
+ bool largeHashTable;
+ unsigned locationSize;
+
+ //
+ // The overflow table is indexed by numbers > than the number of bases in the genome.
+ // The hash table(s) point into the overflow table when they have a seed that's got more
+ // than one instance in the genome. For locationSize <= 4, the table is made of 32
+ // bit entries (and pointed to by overflowTable32), otherwise it's 64 bit entries.
+ //
+ _uint64 overflowTableSize;
+ unsigned *overflowTable32;
+ _int64 *overflowTable64;
+ GenericFile_map *mappedOverflowTable;
+
+ void *tablesBlob; // All of the hash tables in one giant blob
+ GenericFile_map *mappedTables;
+
+ //
+ // We have to build the overflow table in two stages. While we're walking the genome, we first
+ // assign tentative overflow table locations, and build up a list of places where each repeat
+ // occurs. Once we've read the whole thing (and so know the exact number of instances of each
+ // repeated seed) we build the actual overflow table and go back and update the entries in the
+ // hash table.
+ //
+ // The list of repeats works as a singly linked list, headed by the hash table entry. The entries
+ // use the index in the overflow table as links, rather than using real pointers, in order to save
+ // space. So that we can dynamically allocate overflow entries while still using indices to
+ // find them, they're built in a two level table.
+ //
+
+ struct OverflowBackpointer {
+ _int64 nextIndex;
+ GenomeLocation genomeLocation;
+ };
+
+ class OverflowBackpointerAnchor {
+ public:
+ OverflowBackpointerAnchor(_int64 maxOverflowEntries_);
+ ~OverflowBackpointerAnchor();
+
+ OverflowBackpointer *getBackpointer(_int64 index);
+ void trimTo(_int64 trimToIndex, FILE *trimFile);
+ void loadFromFile(FILE *tripFile);
+
+ private:
+
+ ExclusiveLock lock;
+
+ static const unsigned batchSize;
+ _int64 maxOverflowEntries;
+
+ OverflowBackpointer **table;
+
+ static OverflowBackpointer spilledTableSlot; // This value is used to indicate that the table slot in question has been spilled
+ };
+
+
+ //
+ // Build a genome index and write it to a directory. If you don't already have a saved index
+ // the only way to get one is to build it into a directory and then load it from the directory.
+ // NB: This deletes the Genome that's passed into it.
+ //
+ static bool BuildIndexToDirectory(const Genome *genome, int seedLen, double slack,
+ bool computeBias, const char *directory,
+ unsigned maxThreads, unsigned chromosomePaddingSize, bool forceExact,
+ unsigned hashTableKeySize, bool large, const char *histogramFileName,
+ unsigned locationSize, bool smallMemory);
+
+
+ //
+ // Allocate set of hash tables indexed by seeds with bias
+ //
+ static SNAPHashTable** allocateHashTables(unsigned* o_nTables, GenomeDistance countOfBases, double slack,
+ int seedLen, unsigned hashTableKeySize, bool large, unsigned locationSize, double* biasTable = NULL);
+
+ static const unsigned GenomeIndexFormatMajorVersion = 5;
+ static const unsigned GenomeIndexFormatMinorVersion = 0;
+
+ static const unsigned largestBiasTable = 32; // Can't be bigger than the biggest seed size, which is set in Seed.h. Bigger than 32 means a new Seed structure.
+ static const unsigned largestKeySize = 8;
+ static double *hg19_biasTables[largestKeySize+1][largestBiasTable+1];
+ static double *hg19_biasTables_large[largestKeySize+1][largestBiasTable+1];
+
+ static void ComputeBiasTable(const Genome* genome, int seedSize, double* table, unsigned maxThreads, bool forceExact, unsigned hashTableKeySize, bool large);
+
+ struct ComputeBiasTableThreadContext {
+ SingleWaiterObject *doneObject;
+ volatile int *runningThreadCount;
+ GenomeDistance genomeChunkStart;
+ GenomeDistance genomeChunkEnd;
+ unsigned nHashTables;
+ unsigned hashTableKeySize;
+ std::vector<ApproximateCounter> *approxCounters;
+ const Genome *genome;
+ volatile _int64 *nBasesProcessed;
+ unsigned seedLen;
+ volatile _int64 *validSeeds;
+ bool large;
+
+ ExclusiveLock *approximateCounterLocks;
+ };
+
+ static void ComputeBiasTableWorkerThreadMain(void *param);
+
+ struct OverflowBackpointer;
+
+ struct BuildHashTablesThreadContext {
+ unsigned nThreads;
+ unsigned whichThread;
+ SingleWaiterObject *doneObject;
+ volatile int *runningThreadCount;
+ GenomeLocation genomeChunkStart;
+ GenomeLocation genomeChunkEnd;
+ const Genome *genome;
+ volatile _int64 *nBasesProcessed;
+ unsigned seedLen;
+ volatile _int64 *noBaseAvailable;
+ volatile _int64 *nonSeeds;
+ volatile _int64 *seedsWithMultipleOccurrences;
+ volatile _int64 *bothComplementsUsed;
+ GenomeIndex *index;
+ OverflowBackpointerAnchor *overflowAnchor;
+ volatile _int64 *nextOverflowBackpointer;
+ volatile _int64 *genomeLocationsInOverflowTable;
+ unsigned hashTableKeySize;
+ bool large;
+ unsigned locationSize;
+
+ //
+ // The "small memory" option causes SNAP to write out the backpointer table as it's
+ // built in order to save the memory it uses, because it's accessed sequentially as
+ // the table is built. In order to be able to tell when it's safe to free some of the
+ // table, each thread occasionally records the largest backpointer index that it's done
+ // with. It's safe to free table chunks that are less than the least of these. The lock
+ // is used to keep more than one thread from trying to spill table at a time.
+ //
+ _int64 *lastBackpointerIndexUsedByThread;
+ ExclusiveLock *backpointerSpillLock;
+ FILE *backpointerSpillFile;
+
+ ExclusiveLock *hashTableLocks;
+ ExclusiveLock *overflowTableLock;
+ };
+
+ struct PerHashTableBatch {
+ PerHashTableBatch() : nUsed(0) {}
+
+ static const unsigned nSeedsPerBatch = 1000;
+
+ unsigned nUsed;
+
+ struct Entry {
+ bool usingComplement;
+ _uint64 lowBases;
+ GenomeLocation genomeLocation;
+ };
+
+ Entry entries[nSeedsPerBatch];
+
+ bool addSeed(GenomeLocation genomeLocation, _uint64 seedLowBases, bool seedUsingComplement) {
+ _ASSERT(nUsed < nSeedsPerBatch);
+ entries[nUsed].lowBases = seedLowBases;
+ entries[nUsed].usingComplement = seedUsingComplement;
+ entries[nUsed].genomeLocation = genomeLocation;
+ nUsed++;
+ return nUsed >= nSeedsPerBatch;
+ }
+
+ void clear()
+ {
+ nUsed = 0;
+ }
+ };
+
+ struct IndexBuildStats {
+ IndexBuildStats() : noBaseAvailable(0), nonSeeds(0), bothComplementsUsed(0), genomeLocationsInOverflowTable(0),
+ unrecordedSkippedSeeds(0), seedsWithMultipleOccurrences(0) {}
+ _int64 noBaseAvailable;
+ _int64 nonSeeds;
+ _int64 bothComplementsUsed;
+ _int64 genomeLocationsInOverflowTable;
+ _int64 seedsWithMultipleOccurrences;
+ _uint64 unrecordedSkippedSeeds;
+ };
+
+ static const _int64 printPeriod;
+
+ virtual void indexSeed(GenomeLocation genomeLocation, Seed seed, PerHashTableBatch *batches, BuildHashTablesThreadContext *context, IndexBuildStats *stats, bool large);
+ virtual void completeIndexing(PerHashTableBatch *batches, BuildHashTablesThreadContext *context, IndexBuildStats *stats, bool large);
+
+ static void BuildHashTablesWorkerThreadMain(void *param);
+ void BuildHashTablesWorkerThread(BuildHashTablesThreadContext *context);
+ static void ApplyHashTableUpdate(BuildHashTablesThreadContext *context, _uint64 whichHashTable, GenomeLocation genomeLocation, _uint64 lowBases, bool usingComplement,
+ _int64 *bothComplementsUsed, _int64 *genomeLocationsInOverflowTable, _int64 *seedsWithMultipleOccurrences, bool large);
+
+ static int BackwardsUnsignedCompare(const void *, const void *);
+ static int BackwardsInt64Compare(const void *, const void *);
+
+ GenomeIndex();
+
+
+ SNAPHashTable **hashTables;
+
+ static _int64 AddOverflowBackpointer(
+ _int64 previousOverflowBackpointer,
+ BuildHashTablesThreadContext*context,
+ GenomeLocation genomeLocation);
+
+ void fillInLookedUpResults32(const unsigned *subEntry, _int64 *nHits, const unsigned **hits);
+ void fillInLookedUpResults(GenomeLocation lookedUpLocation, _int64 *nHits, const GenomeLocation **hits, GenomeLocation *singleHitLocation);
+};
diff --git a/SNAPLib/GzipDataWriter.cpp b/SNAPLib/GzipDataWriter.cpp
new file mode 100644
index 0000000..cfc2767
--- /dev/null
+++ b/SNAPLib/GzipDataWriter.cpp
@@ -0,0 +1,439 @@
+/*++
+
+Module Name:
+
+ GzipDataWriter.cpp
+
+Abstract:
+
+ File writer that compresses data into zip format.
+
+Environment:
+
+ User mode service.
+
+ Not thread safe.
+
+--*/
+
+#include "stdafx.h"
+#include "GzipDataWriter.h"
+#include "BigAlloc.h"
+#include "VariableSizeVector.h"
+#include "ParallelTask.h"
+#include "RangeSplitter.h"
+#include "Bam.h"
+#include "zlib.h"
+#include "exit.h"
+#include "Error.h"
+
+using std::min;
+using std::max;
+using std::pair;
+
+class GzipWriterFilterSupplier;
+
+class GzipCompressWorkerManager : public ParallelWorkerManager
+{
+public:
+ GzipCompressWorkerManager(GzipWriterFilterSupplier* i_filterSupplier)
+ : filterSupplier(i_filterSupplier), buffer(NULL),
+ chunkSize(i_filterSupplier->chunkSize), bam(i_filterSupplier->bamFormat)
+ {}
+
+ virtual ~GzipCompressWorkerManager();
+
+ virtual void initialize(void* i_writer);
+
+ virtual ParallelWorker* createWorker();
+
+ virtual void beginStep();
+
+ virtual void finishStep();
+
+private:
+ VariableSizeVector<size_t> sizes;
+ volatile int nChunks;
+ const size_t chunkSize;
+ const bool bam;
+ FileEncoder* encoder;
+ GzipWriterFilterSupplier* filterSupplier;
+ char* input;
+ size_t inputSize;
+ size_t inputUsed;
+ char* buffer;
+ VariableSizeVector< pair<_uint64,_uint64> > translation;
+
+ friend class GzipCompressWorker;
+};
+
+class GzipCompressWorker : public ParallelWorker
+{
+public:
+ GzipCompressWorker() : heap(NULL) {}
+
+ virtual ~GzipCompressWorker() { delete heap; }
+
+ virtual void step();
+
+ static size_t compressChunk(z_stream& zstream, bool bamFormat, char* toBuffer, size_t toSize, char* fromBuffer, size_t fromUsed);
+
+private:
+ z_stream zstream;
+ ThreadHeap* heap;
+};
+
+// used for case where each thread compresses by itself
+
+class GzipWriterFilter : public DataWriter::Filter
+{
+public:
+ GzipWriterFilter(GzipWriterFilterSupplier* i_supplier);
+
+ virtual void onAdvance(DataWriter* writer, size_t batchOffset, char* data, GenomeDistance bytes, GenomeLocation location);
+
+ virtual size_t onNextBatch(DataWriter* writer, size_t offset, size_t bytes);
+
+private:
+
+ GzipWriterFilterSupplier* supplier;
+ // if doing inline compression, filled in with minimally initialized objects
+ GzipCompressWorkerManager* manager;
+ ParallelWorker* worker;
+ FileEncoder* encoder;
+};
+
+GzipCompressWorkerManager::~GzipCompressWorkerManager()
+{
+ if (buffer != NULL) {
+ delete buffer;
+ }
+}
+
+ void
+GzipCompressWorkerManager::initialize(
+ void* i_encoder)
+{
+ encoder = (FileEncoder*) i_encoder;
+}
+
+ ParallelWorker*
+GzipCompressWorkerManager::createWorker()
+{
+ return new GzipCompressWorker();
+}
+
+ void
+GzipCompressWorkerManager::beginStep()
+{
+ if (filterSupplier->closing) {
+ nChunks = 0;
+ return;
+ }
+ encoder->getEncodeBatch(&input, &inputSize, &inputUsed);
+ nChunks = (int) ((inputUsed + chunkSize - 1) / chunkSize);
+ sizes.clear();
+ sizes.extend(nChunks);
+
+ if (buffer == NULL) {
+ buffer = (char*) BigAlloc(inputSize);
+ }
+}
+
+ void
+GzipCompressWorkerManager::finishStep()
+{
+ if (filterSupplier->closing) {
+ return;
+ }
+ size_t toUsed = 0, logicalOffset, physicalOffset;
+ encoder->getOffsets(&logicalOffset, &physicalOffset);
+ for (int i = 0; i < nChunks; i++) {
+ translation.push_back(pair<_uint64,_uint64>(logicalOffset, physicalOffset + toUsed));
+ _ASSERT(i * chunkSize < inputUsed);
+ _ASSERT(sizes[i] <= chunkSize);
+ size_t logicalChunk = min(chunkSize, inputUsed - i * chunkSize);
+ logicalOffset += logicalChunk;
+ _ASSERT(((BgzfHeader*)(buffer + i * chunkSize))->validate(sizes[i], logicalChunk));
+ memcpy(input + toUsed, buffer + i * chunkSize, sizes[i]);
+ toUsed += sizes[i];
+ }
+ _ASSERT(BgzfHeader::validate(input, toUsed));
+ encoder->setEncodedBatchSize(toUsed);
+ filterSupplier->addTranslations(&translation);
+ translation.clear();
+}
+
+ void
+GzipCompressWorker::step()
+{
+ GzipCompressWorkerManager* supplier = (GzipCompressWorkerManager*) getManager();
+ if (heap == NULL) {
+ heap = new ThreadHeap(supplier->chunkSize * 8); // appears to use 4*chunkSize per run
+ zstream.zalloc = zalloc;
+ zstream.zfree = zfree;
+ zstream.opaque = heap;
+ }
+ //fprintf(stderr, "zip task thread %d begin\n", GetCurrentThreadId());
+ _int64 start = timeInMillis();
+ int begin = (getThreadNum() * supplier->nChunks) / getNumThreads();
+ int end = ((1 + getThreadNum()) * supplier->nChunks) / getNumThreads();
+ for (int i = begin; i < end; i++) {
+ size_t bytes = min(supplier->chunkSize, supplier->inputUsed - i * supplier->chunkSize);
+ supplier->sizes[i] = compressChunk(zstream, supplier->bam,
+ supplier->buffer + i * supplier->chunkSize, supplier->chunkSize,
+ supplier->input + i * supplier->chunkSize, bytes);
+ _ASSERT(supplier->sizes[i] <= supplier->chunkSize); // can't grow!
+ }
+}
+
+
+ size_t
+GzipCompressWorker::compressChunk(
+ z_stream& zstream,
+ bool bamFormat,
+ char* toBuffer,
+ size_t toSize,
+ char* fromBuffer,
+ size_t fromUsed)
+{
+ if (bamFormat && fromUsed > BAM_BLOCK) {
+ WriteErrorMessage("exceeded BAM chunk size\n");
+ soft_exit(1);
+ }
+ if (zstream.opaque != NULL) {
+ ((ThreadHeap*)zstream.opaque)->reset();
+ }
+ // set up BAM header structure
+ gz_header header;
+ _uint8 bamExtraData[6];
+ if (bamFormat) {
+ header.text = false;
+ header.time = 0;
+ header.xflags = 0;
+ header.os = 0;
+ header.extra = bamExtraData;
+ header.extra_len = 6;
+ header.extra_max = 6;
+ header.name = NULL;
+ header.name_max = 0;
+ header.comment = NULL;
+ header.comm_max = 0;
+ header.hcrc = false;
+ header.done = true;
+ bamExtraData[0] = 'B';
+ bamExtraData[1] = 'C';
+ bamExtraData[2] = 2;
+ bamExtraData[3] = 0;
+ bamExtraData[4] = 3; // will be filled in later
+ bamExtraData[5] = 7; // will be filled in later
+ }
+
+ if (fromUsed > 0xffffffff || toSize > 0xffffffff) {
+ WriteErrorMessage("GZipDataWriter: fromUsed or toSize too big\n");
+ soft_exit(1);
+ }
+
+ // based on sample code at http://www.lemoda.net/c/zlib-open-write/index.html
+ const int windowBits = 15;
+ const int GZIP_ENCODING = 16;
+ zstream.next_in = (Bytef*) fromBuffer;
+ zstream.avail_in = (uInt)fromUsed;
+ zstream.next_out = (Bytef*) toBuffer;
+ zstream.avail_out = (uInt)toSize;
+ uInt oldAvail;
+ int status;
+
+ status = deflateInit2(&zstream, Z_DEFAULT_COMPRESSION, Z_DEFLATED, windowBits | GZIP_ENCODING, 8, Z_DEFAULT_STRATEGY);
+ if (status < 0) {
+ WriteErrorMessage("GzipWriterFilter: deflateInit2 failed with %d\n", status);
+ soft_exit(1);
+ }
+ if (bamFormat) {
+ status = deflateSetHeader(&zstream, &header);
+ if (status != Z_OK) {
+ WriteErrorMessage("GzipWriterFilter: defaultSetHeader failed with %d\n", status);
+ soft_exit(1);
+ }
+ }
+ oldAvail = zstream.avail_out;
+ status = deflate(&zstream, Z_FINISH);
+ if (status < 0 && status != Z_BUF_ERROR) {
+ WriteErrorMessage("GzipWriterFilter: deflate failed with %d\n", status);
+ soft_exit(1);
+ }
+
+ // make sure it all got written out in a single compressed block
+ if (zstream.avail_in != 0) {
+ WriteErrorMessage("GzipWriterFilter: default failed to read all input\n");
+ soft_exit(1);
+ }
+ if (zstream.avail_out == oldAvail) {
+ WriteErrorMessage("GzipWriterFilter: default failed to write output\n");
+ soft_exit(1);
+ }
+ status = deflateEnd(&zstream);
+ if (status < 0) {
+ WriteErrorMessage("GzipWriterFilter: deflateEnd failed with %d\n", status);
+ soft_exit(1);
+ }
+
+ size_t toUsed = toSize - zstream.avail_out;
+ if (bamFormat) {
+ // backpatch compressed block size into gzip header
+ if (toUsed >= BAM_BLOCK) {
+ WriteErrorMessage("exceeded BAM chunk size\n");
+ soft_exit(1);
+ }
+ * (_uint16*) (toBuffer + 16) = (_uint16) (toUsed - 1);
+ }
+ return toUsed;
+}
+
+GzipWriterFilter::GzipWriterFilter(GzipWriterFilterSupplier* i_supplier)
+ : DataWriter::Filter(DataWriter::ResizeFilter), supplier(i_supplier), manager(NULL), worker(NULL)
+{}
+
+
+ void
+GzipWriterFilter::onAdvance(
+ DataWriter* writer,
+ size_t batchOffset,
+ char* data,
+ GenomeDistance bytes,
+ GenomeLocation location)
+{
+ // nothing
+}
+
+ size_t
+GzipWriterFilter::onNextBatch(
+ DataWriter* writer,
+ size_t offset,
+ size_t bytes)
+{
+ char* fromBuffer;
+ size_t fromSize, fromUsed, physicalOffset, logicalOffset;
+ writer->getBatch(-1, &fromBuffer, &fromSize, &fromUsed, &physicalOffset, NULL, &logicalOffset);
+ if (fromUsed == 0 || supplier->multiThreaded || supplier->closing) {
+ return fromUsed;
+ }
+ // do compress buffer synchronously in-place
+ if (manager == NULL) {
+ manager = new GzipCompressWorkerManager(supplier);
+ worker = manager->createWorker();
+ encoder = new FileEncoder(0, false, manager);
+ encoder->initialize((AsyncDataWriter*) writer);
+ manager->initialize(encoder);
+ manager->configure(worker, 0, 1);
+ }
+ encoder->setupEncode(-1);
+ manager->beginStep();
+ worker->step();
+ manager->finishStep();
+ writer->getBatch(-1, &fromBuffer, &fromSize, &fromUsed, &physicalOffset, NULL, &logicalOffset);
+ return fromUsed;
+}
+
+ GzipWriterFilterSupplier*
+DataWriterSupplier::gzip(
+ bool bamFormat,
+ size_t chunkSize,
+ int numThreads,
+ bool bindToProcessors,
+ bool multiThreaded)
+{
+ return new GzipWriterFilterSupplier(bamFormat, chunkSize, numThreads, bindToProcessors, multiThreaded);
+}
+
+ DataWriter::Filter*
+GzipWriterFilterSupplier::getFilter()
+{
+ return new GzipWriterFilter(this);
+}
+
+ void
+GzipWriterFilterSupplier::onClosing(
+ DataWriterSupplier* supplier)
+{
+ if (bamFormat) {
+ closing = true;
+ DataWriter* writer = supplier->getWriter();
+ // write empty block as BAM end of file marker
+ static _uint8 eof[] = {
+ 0x1f, 0x8b, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x06, 0x00, 0x42, 0x43,
+ 0x02, 0x00, 0x1b, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ };
+ char* buffer;
+ size_t bytes;
+ if (! (writer->getBuffer(&buffer, &bytes) && bytes >= sizeof(eof))) {
+ WriteErrorMessage("no space to write eof marker\n");
+ soft_exit(1);
+ }
+ memcpy(buffer, eof, sizeof(eof));
+ writer->advance(sizeof(eof));
+
+ // add final translation for last empty block
+ writer->nextBatch();
+ char* ignore;
+ pair<_uint64,_uint64> last;
+ size_t used;
+ writer->getBatch(-1, &ignore, NULL, &used, (size_t*) &last.second, NULL, (size_t*) &last.first);
+ last.second += used;
+ translation.push_back(last);
+
+ writer->close();
+ delete writer;
+ }
+
+ // sort translations
+ std::sort(translation.begin(), translation.end(), translationComparator);
+}
+
+ void
+GzipWriterFilterSupplier::addTranslations(
+ VariableSizeVector< pair<_uint64,_uint64> >* moreTranslations)
+{
+ AcquireExclusiveLock(&lock);
+ translation.append(moreTranslations);
+ ReleaseExclusiveLock(&lock);
+}
+
+
+ bool
+GzipWriterFilterSupplier::translate(
+ _uint64 logical,
+ _uint64* o_physical,
+ _uint64* o_logicalDelta)
+{
+ pair<_uint64,_uint64> value;
+ value.first = logical;
+ value.second = 0; //ignored
+ pair<_uint64,_uint64>* upper = std::upper_bound(translation.begin(), translation.end(), value, translationComparator);
+ if (upper == translation.begin()) {
+ return false;
+ }
+ upper--;
+ *o_physical = upper->second;
+ *o_logicalDelta = logical - upper->first;
+ return true;
+}
+
+ bool
+GzipWriterFilterSupplier::translationComparator(
+ const pair<_uint64,_uint64>& a,
+ const pair<_uint64,_uint64>& b)
+{
+ return a.first < b.first;
+}
+
+ FileEncoder*
+FileEncoder::gzip(
+ GzipWriterFilterSupplier* filterSupplier,
+ int numThreads,
+ bool bindToProcessor,
+ size_t chunkSize,
+ bool bam)
+{
+ return new FileEncoder(numThreads, bindToProcessor, new GzipCompressWorkerManager(filterSupplier));
+}
diff --git a/SNAPLib/GzipDataWriter.h b/SNAPLib/GzipDataWriter.h
new file mode 100644
index 0000000..f70d2a4
--- /dev/null
+++ b/SNAPLib/GzipDataWriter.h
@@ -0,0 +1,101 @@
+/*++
+
+Module Name:
+
+ GzipDataWriter.h
+
+Abstract:
+
+ Headers for the GzipDataWriter & related classes for the SNAP sequencer
+
+Authors:
+
+ Ravi Pandya, Mar 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+#pragma once
+
+#include "Compat.h"
+#include "Read.h"
+#include "Compat.h"
+#include "DataWriter.h"
+#include "VariableSizeVector.h"
+#include "stdafx.h"
+#include "zlib.h"
+#include "Error.h"
+
+using std::pair;
+
+class GzipWriterFilterSupplier : public DataWriter::FilterSupplier
+{
+public:
+ GzipWriterFilterSupplier(bool i_bamFormat, size_t i_chunkSize, int i_numThreads, bool i_bindToProcessors, bool i_multiThreaded)
+ :
+ FilterSupplier(DataWriter::ResizeFilter),
+ bamFormat(i_bamFormat),
+ chunkSize(i_chunkSize),
+ numThreads(i_numThreads),
+ bindToProcessors(i_bindToProcessors),
+ multiThreaded(i_multiThreaded),
+ closing(false)
+ {
+ InitializeExclusiveLock(&lock);
+ }
+
+ virtual ~GzipWriterFilterSupplier()
+ {
+ DestroyExclusiveLock(&lock);
+ }
+
+ const bool multiThreaded;
+
+ virtual DataWriter::Filter* getFilter();
+
+ virtual void onClosing(DataWriterSupplier* supplier);
+ virtual void onClosed(DataWriterSupplier* supplier) {}
+
+ void addTranslations(VariableSizeVector< pair<_uint64,_uint64> >* translation);
+
+ bool translate(_uint64 logical, _uint64* o_physical, _uint64* delta);
+
+ // translate to BAM virtual offset format
+ _uint64 toVirtualOffset(_uint64 logical)
+ {
+ _uint64 physical, delta;
+ if (logical != UINT64_MAX && translate(logical, &physical, &delta)) {
+ if (delta < 65536 && physical < ((_uint64) 1 << 48)) {
+ return (physical << 16) | delta;
+ }
+ WriteErrorMessage( "Invalid virtual file offset, logical=%llu, start=%llu, delta=%llu\n", logical, physical, delta);
+ }
+ return 0;
+ }
+
+private:
+ friend class GzipWriterFilter;
+ friend class GzipCompressWorkerManager;
+
+ void addTranslation(_uint64 logical, _uint64 physical)
+ {
+ AcquireExclusiveLock(&lock);
+ translation.push_back(pair<_uint64,_uint64>(logical, physical));
+ ReleaseExclusiveLock(&lock);
+ }
+
+ static bool translationComparator(const pair<_uint64,_uint64>& a, const pair<_uint64,_uint64>& b);
+
+ const bool bamFormat;
+ const size_t chunkSize;
+ const int numThreads;
+ const bool bindToProcessors;
+ ExclusiveLock lock;
+ VariableSizeVector< pair<_uint64,_uint64> > translation;
+ bool closing;
+};
diff --git a/SNAPLib/HashTable.cpp b/SNAPLib/HashTable.cpp
new file mode 100755
index 0000000..1e20730
--- /dev/null
+++ b/SNAPLib/HashTable.cpp
@@ -0,0 +1,343 @@
+/*++
+
+Module Name:
+
+ HashTable.cpp
+
+Abstract:
+
+ Large closed hash table, specialized for SNAP
+
+Authors:
+
+ Bill Bolosky, March, 2011
+
+Environment:
+
+
+--*/
+#include "stdafx.h"
+#include "HashTable.h"
+#include "BigAlloc.h"
+#include "exit.h"
+#include "Genome.h"
+#include "Error.h"
+#include "GenericFile_Blob.h"
+
+SNAPHashTable::SNAPHashTable(
+ _int64 i_tableSize,
+ unsigned i_keySizeInBytes,
+ unsigned i_valueSizeInBytes,
+ unsigned i_valueCount,
+ _uint64 i_invalidValueValue)
+/*++
+
+Routine Description:
+
+ Constructor for a new, empty closed hash table.
+
+Arguments:
+ tableSize - How many slots should the table have.
+--*/
+{
+ keySizeInBytes = i_keySizeInBytes;
+ valueSizeInBytes = i_valueSizeInBytes;
+ valueCount = i_valueCount;
+ invalidValueValue = i_invalidValueValue;
+ elementSize = keySizeInBytes + valueSizeInBytes * valueCount;
+ tableSize = i_tableSize;
+ usedElementCount = 0;
+ Table = NULL;
+
+ if (tableSize <= 0) {
+ tableSize = 0;
+ return;
+ }
+
+ Table = BigAlloc(tableSize * elementSize);
+ ownsMemoryForTable = true;
+
+ //
+ // Run through the table and set all of the first values to invalidValueValue, which means
+ // unused.
+ //
+
+ for (size_t i = 0; i < tableSize; i++) {
+ void *entry = getEntry(i);
+ _ASSERT(entry >= Table && entry <= (char *)Table + tableSize * elementSize);
+ clearKey(entry);
+ memcpy(getEntry(i), &invalidValueValue, valueSizeInBytes);
+ }
+}
+
+SNAPHashTable *SNAPHashTable::loadFromBlob(GenericFile_Blob *loadFile)
+{
+ SNAPHashTable *table = loadCommon(loadFile);
+
+ size_t bytesMapped;
+ table->Table = loadFile->mapAndAdvance(table->tableSize * table->elementSize, &bytesMapped);
+ if (bytesMapped != table->tableSize * table->elementSize) {
+ WriteErrorMessage("SNAPHashTable: unable to map table\n");
+ soft_exit(1);
+ }
+ table->ownsMemoryForTable = false;
+
+ return table;
+}
+
+SNAPHashTable *SNAPHashTable::loadFromGenericFile(GenericFile *loadFile)
+{
+ SNAPHashTable *table = loadCommon(loadFile);
+ table->Table = BigAlloc(table->tableSize * table->elementSize);
+ loadFile->read(table->Table, table->tableSize * table->elementSize);
+ table->ownsMemoryForTable = true;
+
+ return table;
+}
+
+SNAPHashTable *SNAPHashTable::loadCommon(GenericFile *loadFile)
+{
+ SNAPHashTable *table = new SNAPHashTable();
+
+ unsigned fileMagic;
+ if (sizeof(magic) != loadFile->read(&fileMagic, sizeof(magic))) {
+ WriteErrorMessage("Magic number mismatch on hash table load. %d != %d\n", fileMagic, magic);
+ soft_exit(1);
+ }
+
+ if (fileMagic != magic) {
+ WriteErrorMessage("SNAPHashTable: magic number mismatch. Perhaps you have a corruped index. %d != %d\n", fileMagic, magic);
+ soft_exit(1);
+ }
+
+ if (sizeof(table->tableSize) != loadFile->read(&table->tableSize, sizeof(table->tableSize))) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable fread table size failed\n");
+ soft_exit(1);
+ }
+
+ if (sizeof(table->usedElementCount) != loadFile->read(&table->usedElementCount, sizeof(table->usedElementCount))) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable fread used element count failed\n");
+ soft_exit(1);
+ }
+
+ if (sizeof(table->keySizeInBytes) != loadFile->read(&table->keySizeInBytes, sizeof(table->keySizeInBytes))) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable fread keySizeInBytes size failed. Perhaps this is an old format hash table and needs to be rebuilt.\n");
+ soft_exit(1);
+ }
+
+ if (table->keySizeInBytes < 4 || table->keySizeInBytes > 8) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable Key size must be between 4 and 8 inclusive. Perhaps this is an old format hash table and needs to be rebuilt.\n");
+ soft_exit(1);
+ }
+
+ if (sizeof(table->valueSizeInBytes) != loadFile->read(&table->valueSizeInBytes, sizeof(table->valueSizeInBytes))) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable fread dataSizeInBytes size failed. Perhaps this is an old format hash table and needs to be rebuilt.\n");
+ soft_exit(1);
+ }
+
+ if (table->valueSizeInBytes == 0 || table->valueSizeInBytes > sizeof(_uint64)) {
+ //
+ // It must be at least one byte, because we need that much for the unused value value. The code stuffs
+ // values into _uint64, so it can't be bigger than that.
+ //
+ WriteErrorMessage(
+ "SNAPHashTable::SNAPHashTable value size in bytes (%d) must be between 1 and 8. Perhaps you have a hash table from a future version of SNAP? Or else it's corrupt.\n", table->valueSizeInBytes);
+ soft_exit(1);
+ }
+
+ if (sizeof(table->valueCount) != loadFile->read(&table->valueCount, sizeof(table->valueCount))) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable: value count failed to read.\n");
+ soft_exit(1);
+ }
+
+ if (table->valueCount == 0 || table->valueCount > 2) {
+ // Technically, > 2 would work fine with the code, but SNAP doesn't use it, so the check is here to detect corruption.
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable: invalid value count (%d), possible corruption or bad file format.\n", table->valueCount);
+ soft_exit(1);
+ }
+
+ table->invalidValueValue = 0; // Need this in case valueSizeInBytes < sizeof(ValueType)
+ if (table->valueSizeInBytes != loadFile->read(&table->invalidValueValue, table->valueSizeInBytes)) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable: unable to read invalid value value\n");
+ soft_exit(1);
+ }
+
+ if (table->tableSize <= 0) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable Zero or negative hash table size\n");
+ soft_exit(1);
+ }
+
+ table->elementSize = table->keySizeInBytes + table->valueSizeInBytes * table->valueCount;
+
+
+
+ return table;
+}
+
+SNAPHashTable::~SNAPHashTable()
+{
+ if (ownsMemoryForTable) {
+ BigDealloc(Table);
+ }
+}
+
+ bool
+SNAPHashTable::saveToFile(const char *saveFileName, size_t *bytesWritten)
+{
+ FILE *saveFile = fopen(saveFileName,"wb");
+ if (saveFile == NULL) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable(%s) fopen failed\n",saveFileName);
+ return false;
+ }
+
+ bool worked = saveToFile(saveFile, bytesWritten);
+ fclose(saveFile);
+
+ return worked;
+}
+
+bool
+SNAPHashTable::saveToFile(FILE *saveFile, size_t *bytesWritten)
+{
+ *bytesWritten = 0;
+ if (1 != fwrite(&magic,sizeof(magic), 1, saveFile)) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable fwrite magic number failed\n");
+ return false;
+ }
+ (*bytesWritten) += sizeof(magic);
+
+ if (1 != fwrite(&tableSize,sizeof(tableSize), 1, saveFile)) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable fwrite table size failed\n");
+ return false;
+ }
+ (*bytesWritten) += sizeof(tableSize);
+
+ if (1 != fwrite(&usedElementCount,sizeof(usedElementCount), 1, saveFile)) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable fwrite used element count size failed\n");
+ return false;
+ }
+ (*bytesWritten) += sizeof(usedElementCount);
+
+ if (1 != fwrite(&keySizeInBytes, sizeof(keySizeInBytes), 1, saveFile)) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable fwrite key size failed\n");
+ return false;
+ }
+ (*bytesWritten) += sizeof(keySizeInBytes);
+
+ if (1 != fwrite(&valueSizeInBytes, sizeof(valueSizeInBytes), 1, saveFile)) {
+ WriteErrorMessage("SNAPHashTable::SNAPHashTable fwrite data size failed\n");
+ return false;
+ }
+ (*bytesWritten) += sizeof(valueSizeInBytes);
+
+ if (1 != fwrite(&valueCount, sizeof(valueCount), 1, saveFile)) {
+ WriteErrorMessage("SNAPHashTable: fwrite value count failed\n");
+ return false;
+ }
+ (*bytesWritten) += sizeof(valueCount);
+
+ if (1 != fwrite(&invalidValueValue, valueSizeInBytes, 1, saveFile)) {
+ WriteErrorMessage("SNAPHashTable: fwrite invalid value value failed\n");
+ return false;
+ }
+ (*bytesWritten) += valueSizeInBytes;
+
+ size_t maxWriteSize = 100 * 1024 * 1024;
+ size_t writeOffset = 0;
+ while (writeOffset < tableSize * elementSize) {
+ size_t amountToWrite = __min(maxWriteSize,tableSize * elementSize - writeOffset);
+ size_t thisWrite = fwrite((char*)Table + writeOffset, 1, amountToWrite, saveFile);
+ if (thisWrite < amountToWrite) {
+ WriteErrorMessage("SNAPHashTable::saveToFile: fwrite failed, %d\n"
+ "handle %p, addr %p, atr: %lu, &bw %p\n",errno, saveFile,(char*)Table + writeOffset, amountToWrite, &bytesWritten);
+ return false;
+ }
+ writeOffset += thisWrite;
+ (*bytesWritten) += thisWrite;
+ }
+
+ return true;
+}
+
+_int64 nCallsToGetEntryForKey = 0;
+_int64 nProbesInGetEntryForKey = 0;
+
+void *
+SNAPHashTable::getEntryForKey(KeyType key) const
+{
+ nCallsToGetEntryForKey++;
+
+ _uint64 tableIndex = hash(key) % tableSize;
+
+ bool wrapped = false;
+ _uint64 nProbes = 1;
+
+ //
+ // Chain through the table until we hit either a match on the key or an unused element
+ //
+ void *entry = getEntry(tableIndex);
+ while (!isKeyEqual(entry, key) && !doesEntryHaveInvalidValue(entry)) {
+ nProbesInGetEntryForKey++;
+
+ if (nProbes < QUADRATIC_CHAINING_DEPTH) {
+ tableIndex += nProbes * nProbes;
+ } else {
+ tableIndex++;
+ }
+
+ nProbes++;
+
+ if (tableIndex >= tableSize) {
+ if (wrapped) {
+ return NULL;
+ }
+ wrapped = true;
+ tableIndex = tableIndex % tableSize;
+ }
+
+ entry = getEntry(tableIndex);
+ }
+
+ nProbesInGetEntryForKey++;
+
+ return entry;
+}
+
+
+
+ SNAPHashTable::ValueType *
+SNAPHashTable::SlowLookup(KeyType key)
+{
+ void *entry = getEntryForKey(key);
+
+ if (NULL == entry || doesEntryHaveInvalidValue(entry)) {
+ return NULL;
+ }
+
+ return (ValueType *)entry;
+}
+
+ bool
+SNAPHashTable::Insert(KeyType key, ValueType *data)
+{
+ void *entry = getEntryForKey(key);
+
+ if (NULL == entry) {
+ return false;
+ }
+
+ if (!isKeyEqual(entry, key)) {
+ setKey(entry, key);
+ usedElementCount++;
+ }
+
+ for (unsigned i = 0; i < valueCount; i++) {
+ memcpy((char *)entry + i * valueSizeInBytes, &data[i], valueSizeInBytes); // Assumes little endian
+ }
+
+ return true;
+}
+
+
+
+const unsigned SNAPHashTable::magic = 0xb111b010;
diff --git a/SNAPLib/HashTable.h b/SNAPLib/HashTable.h
new file mode 100644
index 0000000..87238e3
--- /dev/null
+++ b/SNAPLib/HashTable.h
@@ -0,0 +1,219 @@
+/*++
+
+Module Name:
+
+ HashTable.h
+
+Abstract:
+
+ Headers for large closed hash table that used to be general, but now just handles
+ seeds for SNAP.
+
+Authors:
+
+ Bill Bolosky, March, 2011
+
+Environment:
+
+
+--*/
+
+#pragma once
+
+#include "Compat.h"
+#include "GenericFile_Blob.h"
+#include "Genome.h"
+
+
+class SNAPHashTable {
+ public:
+
+ typedef _uint64 ValueType; // Values can be smaller than this, but they're expanded in the interface
+ typedef _uint64 KeyType; // Likewise for keys.
+
+ SNAPHashTable(
+ _int64 i_tableSize,
+ unsigned i_keySizeInBytes,
+ unsigned i_valueSizeInBytes,
+ unsigned i_valueCount,
+ _uint64 i_invalidValueValue);
+
+ //
+ // Load from file.
+ //
+ static SNAPHashTable *loadFromBlob(GenericFile_Blob *loadFile);
+ static SNAPHashTable *loadFromGenericFile(GenericFile *loadFile);
+
+ ~SNAPHashTable();
+
+ bool saveToFile(const char *saveFileName, size_t *bytesWritten);
+
+ bool saveToFile(FILE *saveFile, size_t *bytesWritten);
+
+ //
+ // Fails if either the table is full or key already exists. Inserts ALL
+ // values for a key.
+ //
+ bool Insert(KeyType key, ValueType *data);
+
+ size_t GetUsedElementCount() const {return usedElementCount;}
+ size_t GetTableSize() const {return tableSize;}
+
+ unsigned GetKeySizeInBytes() const {return keySizeInBytes;}
+ unsigned GetValueSizeInBytes() const {return valueSizeInBytes;}
+ unsigned GetValueCount() const {return valueCount;}
+
+ void *getEntryValues(_uint64 whichEntry)
+ {
+ _ASSERT(whichEntry < GetTableSize());
+ return getEntry(whichEntry);
+ }
+
+ static inline _uint64 hash(_uint64 key) {
+ //
+ // Hash the key. Use the hash finalizer from the 64 bit MurmurHash3, http://code.google.com/p/smhasher/wiki/MurmurHash3,
+ // which is public domain code.
+ //
+
+ key ^= key >> 33;
+ key *= 0xff51afd7ed558ccd;
+ key ^= key >> 33;
+ key *= 0xc4ceb9fe1a85ec53;
+ key ^= key >> 33;
+
+ return key;
+ }
+
+ inline ValueType *GetFirstValueForKey(KeyType key) const {
+ _ASSERT(keySizeInBytes == 8 || (key & ~((((_uint64)1) << (keySizeInBytes * 8)) - 1)) == 0); // High bits of the key aren't set.
+ _uint64 tableIndex = hash(key) % tableSize;
+ void *entry = getEntry(tableIndex);
+ if (isKeyEqual(entry, key) && !doesEntryHaveInvalidValue(entry)) {
+ return (ValueType *)entry;
+ } else {
+ unsigned nProbes = 0;
+ void* entry;
+ do {
+ nProbes++;
+ if (nProbes > tableSize + QUADRATIC_CHAINING_DEPTH) {
+ return NULL;
+ }
+ if (nProbes < QUADRATIC_CHAINING_DEPTH) {
+ tableIndex = (tableIndex + nProbes * nProbes) % tableSize;
+ } else {
+ tableIndex = (tableIndex + 1) % tableSize;
+ }
+ entry = getEntry(tableIndex);
+ } while (!isKeyEqual(entry, key) && !doesEntryHaveInvalidValue(entry));
+
+ extern _int64 nProbesInGetEntryForKey;
+ nProbesInGetEntryForKey += nProbes;
+
+ if (doesEntryHaveInvalidValue(entry)) {
+ return NULL;
+ } else {
+ return (ValueType *)entry;
+ }
+ }
+ }
+
+
+ inline bool Lookup(KeyType key, unsigned nValuesToFill, ValueType *values) const {
+ _ASSERT(nValuesToFill <= valueCount);
+ char *entry = (char *)GetFirstValueForKey(key);
+ if (NULL == entry) {
+ return false;
+ }
+
+ for (unsigned i = 0; i < nValuesToFill; i++) {
+ values[i] = 0;
+ memcpy(values + i, entry + i * valueSizeInBytes, valueSizeInBytes);
+ }
+
+ return true;
+ }
+ //
+ // A version of Lookup that works properly when the table is (nearly) full and the key being looked up isn't
+ // there. It's, as you might imagine, slower than Lookup.
+ //
+ ValueType *SlowLookup(KeyType key);
+
+private:
+
+ SNAPHashTable() {}
+
+ static const unsigned QUADRATIC_CHAINING_DEPTH = 5; // Chain quadratically for this long, then linerarly Set to 0 for linear chaining
+ static SNAPHashTable *loadCommon(GenericFile *loadFile);
+
+ //
+ // A hash table entry consists of a set of valueCount values, each of valueSizeInBytes bytes, followed by
+ // a key of keySizeInBytes bytes. The key size must be between 4 and 8 bytes, inclusive.
+ //
+ // Because the size of the fields and the count of values is variable, we can't use a struct and are stuck
+ // with ugly memory manipulation to access the hash table entries.
+ //
+ // The format is 1 or 2 (valueCount) values of size valueSize, followed by keySize bytes of key.
+ //
+#if 0
+ struct Entry {
+ unsigned value1;
+ unsigned value2;
+ unsigned char key[1]; // Actual size of key determined by keySizeInBytes
+ };
+#endif // 0
+
+ // Free Entries have the first valueSizeInByes bytes of value == invalidValueValue. The following methods
+ // understand the format and try to make it less opaque to use them.
+
+ inline void *getEntry(_uint64 whichEntry) const {
+ return ((char *)Table + elementSize * whichEntry);
+ }
+
+ inline bool doesEntryHaveInvalidValue(void *entry) const
+ {
+ return !memcmp(entry, &invalidValueValue, valueSizeInBytes);
+ }
+
+ inline ValueType getValueFromEntry(void *entry, unsigned whichValue) const
+ {
+ _ASSERT(whichValue < valueCount);
+ ValueType value = 0; // Need =0 because valueSizeInBytes might be < sizeeof(ValueType)
+ memcpy(&value, (char *)entry + whichValue * valueSizeInBytes, valueSizeInBytes); // Assumes little-endian
+ return value;
+ }
+
+ inline bool isKeyEqual(const void *entry, KeyType key) const
+ {
+ return !memcmp((const char *)entry + valueSizeInBytes * valueCount, &key, keySizeInBytes);
+ }
+
+ inline void clearKey(void *entry)
+ {
+ memset((char *)entry + valueSizeInBytes * valueCount, 0 , keySizeInBytes);
+ }
+
+ inline void setKey(void *entry, KeyType key)
+ {
+ memcpy((char *)entry + valueSizeInBytes * valueCount, &key, keySizeInBytes);
+ }
+
+ void *Table;
+ size_t tableSize;
+ unsigned keySizeInBytes;
+ unsigned elementSize;
+ size_t usedElementCount;
+ bool ownsMemoryForTable;
+ unsigned valueSizeInBytes;
+ unsigned valueCount;
+ ValueType invalidValueValue;
+
+ //
+ // Returns either the entry for this key, or else the entry where the key would be
+ // inserted if it's not in the table.
+ //
+ void* getEntryForKey(__in KeyType key) const;
+
+ friend class SeedCountIterator;
+
+ static const unsigned magic;
+};
diff --git a/SNAPLib/Histogram.cpp b/SNAPLib/Histogram.cpp
new file mode 100644
index 0000000..84d280a
--- /dev/null
+++ b/SNAPLib/Histogram.cpp
@@ -0,0 +1,103 @@
+/*++
+
+Module Name:
+
+ histogram.cpp
+
+Abstract:
+
+ Cheezy histogram class
+
+Authors:
+
+ Bill Bolosky, September, 2011
+
+Environment:
+
+ User mode service.
+
+ This class is NOT thread safe. It's the caller's responsibility to ensure that
+ at most one thread uses an instance at any time.
+
+Revision History:
+
+--*/
+
+#include "stdafx.h"
+#include "Compat.h"
+#include "Histogram.h"
+#include "exit.h"
+
+Histogram::Histogram(unsigned i_nBuckets, bool i_isExponential) :
+ nBuckets(i_nBuckets), isExponential(i_isExponential)
+{
+ _ASSERT(nBuckets > 0);
+
+ buckets = new Bucket[nBuckets];
+
+ buckets[0].maxValue = 1;
+ buckets[0].count = 0;
+
+ for (unsigned i = 1; i < nBuckets; i++) {
+ if (isExponential) {
+ buckets[i].maxValue = buckets[i-1].maxValue * 2;
+ } else {
+ buckets[i].maxValue = buckets[i-1].maxValue +1;
+ }
+ buckets[i].count = 0;
+ }
+}
+
+ unsigned
+Histogram::getBucketCount(unsigned whichBucket) const
+{
+ _ASSERT(whichBucket < nBuckets);
+ return buckets[whichBucket].count;
+}
+
+ unsigned
+Histogram::getBucketMax(unsigned whichBucket) const
+{
+ _ASSERT(whichBucket < nBuckets);
+ return buckets[whichBucket].maxValue;
+}
+
+ unsigned
+Histogram::getBucketMin(unsigned whichBucket) const
+{
+ _ASSERT(whichBucket < nBuckets);
+ if (0 == whichBucket) {
+ return 0;
+ }
+ return buckets[whichBucket-1].maxValue + 1;
+}
+
+ void
+Histogram::addToCount(unsigned value, unsigned amountToAdd)
+{
+ for (unsigned i = 0 ; i < nBuckets; i++) { // It is called "cheezy" after all
+ if (value <= buckets[i].maxValue) {
+ buckets[i].count += amountToAdd;
+ return;
+ }
+ }
+ //
+ // Overflow. Just drop it.
+ //
+}
+
+ void
+Histogram::print() const
+{
+ printf("MaxValue Count\n");
+ printf("-------- --------\n");
+ for (unsigned i = 0; i < nBuckets; i++) {
+ printf("%8d %8d\n",buckets[i].maxValue, buckets[i].count);
+ }
+}
+
+Histogram::~Histogram()
+{
+ delete [] buckets;
+ buckets = NULL;
+}
diff --git a/SNAPLib/Histogram.h b/SNAPLib/Histogram.h
new file mode 100644
index 0000000..efab46f
--- /dev/null
+++ b/SNAPLib/Histogram.h
@@ -0,0 +1,55 @@
+/*++
+
+Module Name:
+
+ histogram.h
+
+Abstract:
+
+ Header for cheezy histogram class
+
+Authors:
+
+ Bill Bolosky, September, 2011
+
+Environment:
+
+ User mode service.
+
+ This class is NOT thread safe. It's the caller's responsibility to ensure that
+ at most one thread uses an instance at any time.
+
+Revision History:
+
+--*/
+
+#pragma once
+
+class Histogram {
+public:
+ Histogram(unsigned i_nBuckets, bool i_isExponential);
+
+ ~Histogram();
+
+ unsigned getNBuckets() const {return nBuckets;}
+ bool getIsExponential() const {return isExponential;}
+ unsigned getBucketCount(unsigned whichBucket) const;
+ unsigned getBucketMax(unsigned whichBucket) const;
+ unsigned getBucketMin(unsigned whichBucket) const;
+
+ void print() const;
+
+ void addToCount(unsigned value, unsigned amountToAdd = 1);
+
+private:
+
+ unsigned nBuckets;
+ bool isExponential;
+
+ struct Bucket {
+ unsigned maxValue;
+ unsigned count;
+ };
+
+ Bucket *buckets;
+};
diff --git a/SNAPLib/IntersectingPairedEndAligner.cpp b/SNAPLib/IntersectingPairedEndAligner.cpp
new file mode 100644
index 0000000..df63cec
--- /dev/null
+++ b/SNAPLib/IntersectingPairedEndAligner.cpp
@@ -0,0 +1,1423 @@
+/*++
+
+Module Name:
+
+ IntersectingPairedEndAligner.cpp
+
+Abstract:
+
+ A paired-end aligner based on set intersections to narrow down possible candidate locations.
+
+Authors:
+
+ Bill Bolosky, February, 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+#include "stdafx.h"
+#include "IntersectingPairedEndAligner.h"
+#include "SeedSequencer.h"
+#include "mapq.h"
+#include "exit.h"
+#include "Error.h"
+#include "BigAlloc.h"
+#include "AlignerOptions.h"
+
+#ifdef _DEBUG
+extern bool _DumpAlignments; // From BaseAligner.cpp
+#endif // _DEBUG
+
+IntersectingPairedEndAligner::IntersectingPairedEndAligner(
+ GenomeIndex *index_,
+ unsigned maxReadSize_,
+ unsigned maxHits_,
+ unsigned maxK_,
+ unsigned numSeedsFromCommandLine_,
+ double seedCoverage_,
+ unsigned minSpacing_, // Minimum distance to allow between the two ends.
+ unsigned maxSpacing_, // Maximum distance to allow between the two ends.
+ unsigned maxBigHits_,
+ unsigned extraSearchDepth_,
+ unsigned maxCandidatePoolSize,
+ int maxSecondaryAlignmentsPerContig_,
+ BigAllocator *allocator,
+ bool noUkkonen_,
+ bool noOrderedEvaluation_,
+ bool noTruncation_) :
+ index(index_), maxReadSize(maxReadSize_), maxHits(maxHits_), maxK(maxK_), numSeedsFromCommandLine(__min(MAX_MAX_SEEDS,numSeedsFromCommandLine_)), minSpacing(minSpacing_), maxSpacing(maxSpacing_),
+ landauVishkin(NULL), reverseLandauVishkin(NULL), maxBigHits(maxBigHits_), seedCoverage(seedCoverage_),
+ extraSearchDepth(extraSearchDepth_), nLocationsScored(0), noUkkonen(noUkkonen_), noOrderedEvaluation(noOrderedEvaluation_), noTruncation(noTruncation_),
+ maxSecondaryAlignmentsPerContig(maxSecondaryAlignmentsPerContig_)
+{
+ doesGenomeIndexHave64BitLocations = index->doesGenomeIndexHave64BitLocations();
+
+ unsigned maxSeedsToUse;
+ if (0 != numSeedsFromCommandLine) {
+ maxSeedsToUse = numSeedsFromCommandLine;
+ } else {
+ maxSeedsToUse = (unsigned)(maxReadSize * seedCoverage / index->getSeedLength());
+ }
+ allocateDynamicMemory(allocator, maxReadSize, maxBigHits, maxSeedsToUse, maxK, extraSearchDepth, maxCandidatePoolSize, maxSecondaryAlignmentsPerContig);
+
+ rcTranslationTable['A'] = 'T';
+ rcTranslationTable['G'] = 'C';
+ rcTranslationTable['C'] = 'G';
+ rcTranslationTable['T'] = 'A';
+ rcTranslationTable['N'] = 'N';
+
+ for (unsigned i = 0; i < 256; i++) {
+ nTable[i] = 0;
+ }
+
+ nTable['N'] = 1;
+
+ seedLen = index->getSeedLength();
+
+ genome = index->getGenome();
+ genomeSize = genome->getCountOfBases();
+}
+
+IntersectingPairedEndAligner::~IntersectingPairedEndAligner()
+{
+}
+
+ size_t
+IntersectingPairedEndAligner::getBigAllocatorReservation(GenomeIndex * index, unsigned maxBigHitsToConsider, unsigned maxReadSize, unsigned seedLen, unsigned numSeedsFromCommandLine,
+ double seedCoverage, unsigned maxEditDistanceToConsider, unsigned maxExtraSearchDepth, unsigned maxCandidatePoolSize,
+ int maxSecondaryAlignmentsPerContig)
+{
+ unsigned maxSeedsToUse;
+ if (0 != numSeedsFromCommandLine) {
+ maxSeedsToUse = numSeedsFromCommandLine;
+ } else {
+ maxSeedsToUse = (unsigned)(maxReadSize * seedCoverage / index->getSeedLength());
+ }
+ CountingBigAllocator countingAllocator;
+ {
+ IntersectingPairedEndAligner aligner; // This has to be in a nested scope so its destructor is called before that of the countingAllocator
+ aligner.index = index;
+
+ aligner.allocateDynamicMemory(&countingAllocator, maxReadSize, maxBigHitsToConsider, maxSeedsToUse, maxEditDistanceToConsider, maxExtraSearchDepth, maxCandidatePoolSize,
+ maxSecondaryAlignmentsPerContig);
+ return sizeof(aligner) + countingAllocator.getMemoryUsed();
+ }
+}
+
+ void
+IntersectingPairedEndAligner::allocateDynamicMemory(BigAllocator *allocator, unsigned maxReadSize, unsigned maxBigHitsToConsider, unsigned maxSeedsToUse,
+ unsigned maxEditDistanceToConsider, unsigned maxExtraSearchDepth, unsigned maxCandidatePoolSize,
+ int maxSecondaryAlignmentsPerContig)
+{
+ seedUsed = (BYTE *) allocator->allocate(100 + (maxReadSize + 7) / 8);
+
+ for (unsigned whichRead = 0; whichRead < NUM_READS_PER_PAIR; whichRead++) {
+ rcReadData[whichRead] = (char *)allocator->allocate(maxReadSize);
+ rcReadQuality[whichRead] = (char *)allocator->allocate(maxReadSize);
+
+ for (Direction dir = 0; dir < NUM_DIRECTIONS; dir++) {
+ reversedRead[whichRead][dir] = (char *)allocator->allocate(maxReadSize);
+ hashTableHitSets[whichRead][dir] =(HashTableHitSet *)allocator->allocate(sizeof(HashTableHitSet)); /*new HashTableHitSet();*/
+ hashTableHitSets[whichRead][dir]->firstInit(maxSeedsToUse, maxMergeDistance, allocator, doesGenomeIndexHave64BitLocations);
+ }
+ }
+
+ scoringCandidatePoolSize = min(maxCandidatePoolSize, maxBigHitsToConsider * maxSeedsToUse * NUM_READS_PER_PAIR);
+
+ scoringCandidates = (ScoringCandidate **) allocator->allocate(sizeof(ScoringCandidate *) * (maxEditDistanceToConsider + maxExtraSearchDepth + 1)); //+1 is for 0.
+ scoringCandidatePool = (ScoringCandidate *)allocator->allocate(sizeof(ScoringCandidate) * scoringCandidatePoolSize);
+
+ for (unsigned i = 0; i < NUM_READS_PER_PAIR; i++) {
+ scoringMateCandidates[i] = (ScoringMateCandidate *) allocator->allocate(sizeof(ScoringMateCandidate) * scoringCandidatePoolSize / NUM_READS_PER_PAIR);
+ }
+
+ mergeAnchorPoolSize = scoringCandidatePoolSize;
+ mergeAnchorPool = (MergeAnchor *)allocator->allocate(sizeof(MergeAnchor) * mergeAnchorPoolSize);
+
+ if (maxSecondaryAlignmentsPerContig > 0) {
+ size_t size = sizeof(*hitsPerContigCounts) * index->getGenome()->getNumContigs();
+ hitsPerContigCounts = (HitsPerContigCounts *)allocator->allocate(size);
+ memset(hitsPerContigCounts, 0, size);
+ contigCountEpoch = 0;
+ } else {
+ hitsPerContigCounts = NULL;
+ }
+}
+
+ void
+IntersectingPairedEndAligner::align(
+ Read *read0,
+ Read *read1,
+ PairedAlignmentResult *result,
+ int maxEditDistanceForSecondaryResults,
+ int secondaryResultBufferSize,
+ int *nSecondaryResults,
+ PairedAlignmentResult *secondaryResults, // The caller passes in a buffer of secondaryResultBufferSize and it's filled in by align()
+ int singleSecondaryBufferSize,
+ int maxSecondaryResultsToReturn,
+ int *nSingleEndSecondaryResultsForFirstRead,
+ int *nSingleEndSecondaryResultsForSecondRead,
+ SingleAlignmentResult *singleEndSecondaryResults // Single-end secondary alignments for when the paired-end alignment didn't work properly
+ )
+{
+ result->nLVCalls = 0;
+ result->nSmallHits = 0;
+
+ *nSecondaryResults = 0;
+ *nSingleEndSecondaryResultsForFirstRead = 0;
+ *nSingleEndSecondaryResultsForSecondRead = 0;
+
+ int maxSeeds;
+ if (numSeedsFromCommandLine != 0) {
+ maxSeeds = (int)numSeedsFromCommandLine;
+ } else {
+ maxSeeds = (int)(max(read0->getDataLength(), read1->getDataLength()) * seedCoverage / index->getSeedLength());
+ }
+
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("\nIntersectingAligner aligning reads '%*.s' and '%.*s' with data '%.*s' and '%.*s'\n", read0->getIdLength(), read0->getId(), read1->getIdLength(), read1->getId(), read0->getDataLength(), read0->getData(), read1->getDataLength(), read1->getData());
+ }
+#endif // _DEBUG
+
+ lowestFreeScoringCandidatePoolEntry = 0;
+ for (unsigned k = 0; k <= maxK + extraSearchDepth; k++) {
+ scoringCandidates[k] = NULL;
+ }
+
+ for (unsigned i = 0; i < NUM_SET_PAIRS; i++) {
+ lowestFreeScoringMateCandidate[i] = 0;
+ }
+ firstFreeMergeAnchor = 0;
+
+ Read rcReads[NUM_READS_PER_PAIR];
+
+ GenomeLocation bestResultGenomeLocation[NUM_READS_PER_PAIR];
+ Direction bestResultDirection[NUM_READS_PER_PAIR];
+ unsigned bestResultScore[NUM_READS_PER_PAIR];
+ unsigned popularSeedsSkipped[NUM_READS_PER_PAIR];
+
+ reads[0][FORWARD] = read0;
+ reads[1][FORWARD] = read1;
+
+ //
+ // Don't bother if one or both reads are too short. The minimum read length here is the seed length, but usually there's a longer
+ // minimum enforced by our called
+ //
+ if (read0->getDataLength() < seedLen || read1->getDataLength() < seedLen) {
+ return;
+ }
+
+ //
+ // Build the RC reads.
+ //
+ unsigned countOfNs = 0;
+
+ for (unsigned whichRead = 0; whichRead < NUM_READS_PER_PAIR; whichRead++) {
+ Read *read = reads[whichRead][FORWARD];
+ readLen[whichRead] = read->getDataLength();
+ popularSeedsSkipped[whichRead] = 0;
+ countOfHashTableLookups[whichRead] = 0;
+#if 0
+ hitLocations[whichRead]->clear();
+ mateHitLocations[whichRead]->clear();
+#endif // 0
+
+ for (Direction dir = FORWARD; dir < NUM_DIRECTIONS; dir++) {
+ totalHashTableHits[whichRead][dir] = 0;
+ largestHashTableHit[whichRead][dir] = 0;
+ hashTableHitSets[whichRead][dir]->init();
+ }
+
+ if (readLen[whichRead] > maxReadSize) {
+ WriteErrorMessage("IntersectingPairedEndAligner:: got too big read (%d > %d)\n"
+ "Change MAX_READ_LENTH at the beginning of Read.h and recompile.\n", readLen[whichRead], maxReadSize);
+ soft_exit(1);
+ }
+
+ for (unsigned i = 0; i < reads[whichRead][FORWARD]->getDataLength(); i++) {
+ rcReadData[whichRead][i] = rcTranslationTable[read->getData()[readLen[whichRead] - i - 1]];
+ rcReadQuality[whichRead][i] = read->getQuality()[readLen[whichRead] - i - 1];
+ countOfNs += nTable[read->getData()[i]];
+ }
+ reads[whichRead][RC] = &rcReads[whichRead];
+ reads[whichRead][RC]->init(read->getId(), read->getIdLength(), rcReadData[whichRead], rcReadQuality[whichRead], read->getDataLength());
+ }
+
+ if (countOfNs > maxK) {
+ return;
+ }
+
+ //
+ // Build the reverse data for both reads in both directions for the backwards LV to use.
+ //
+ for (unsigned whichRead = 0; whichRead < NUM_READS_PER_PAIR; whichRead++) {
+ for (Direction dir = 0; dir < NUM_DIRECTIONS; dir++) {
+ Read *read = reads[whichRead][dir];
+
+ for (unsigned i = 0; i < read->getDataLength(); i++) {
+ reversedRead[whichRead][dir][i] = read->getData()[read->getDataLength() - i - 1];
+ }
+ }
+ }
+
+ unsigned thisPassSeedsNotSkipped[NUM_READS_PER_PAIR][NUM_DIRECTIONS] = {{0,0}, {0,0}};
+
+ //
+ // Initialize the member variables that are effectively stack locals, but are in the object
+ // to avoid having to pass them to score.
+ //
+ double probabilityOfBestPair = 0;
+ localBestPairProbability[0] = 0;
+ localBestPairProbability[1] = 0;
+ double probabilityOfAllPairs = 0;
+ unsigned bestPairScore = 65536;
+ unsigned scoreLimit = maxK + extraSearchDepth;
+
+ //
+ // Phase 1: do the hash table lookups for each of the seeds for each of the reads and add them to the hit sets.
+ //
+ for (unsigned whichRead = 0; whichRead < NUM_READS_PER_PAIR; whichRead++) {
+ int nextSeedToTest = 0;
+ unsigned wrapCount = 0;
+ int nPossibleSeeds = (int)readLen[whichRead] - seedLen + 1;
+ memset(seedUsed, 0, (__max(readLen[0], readLen[1]) + 7) / 8);
+ bool beginsDisjointHitSet[NUM_DIRECTIONS] = {true, true};
+
+ while (countOfHashTableLookups[whichRead] < nPossibleSeeds && countOfHashTableLookups[whichRead] < maxSeeds) {
+ if (nextSeedToTest >= nPossibleSeeds) {
+ wrapCount++;
+ beginsDisjointHitSet[FORWARD] = beginsDisjointHitSet[RC] = true;
+ if (wrapCount >= seedLen) {
+ //
+ // There aren't enough valid seeds in this read to reach our target.
+ //
+ break;
+ }
+ nextSeedToTest = GetWrappedNextSeedToTest(seedLen, wrapCount);
+ }
+
+
+ while (nextSeedToTest < nPossibleSeeds && IsSeedUsed(nextSeedToTest)) {
+ //
+ // This seed is already used. Try the next one.
+ //
+ nextSeedToTest++;
+ }
+
+ if (nextSeedToTest >= nPossibleSeeds) {
+ //
+ // Unusable seeds have pushed us past the end of the read. Go back around the outer loop so we wrap properly.
+ //
+ continue;
+ }
+
+ SetSeedUsed(nextSeedToTest);
+
+ if (!Seed::DoesTextRepresentASeed(reads[whichRead][FORWARD]->getData() + nextSeedToTest, seedLen)) {
+ //
+ // It's got Ns in it, so just skip it.
+ //
+ nextSeedToTest++;
+ continue;
+ }
+
+ Seed seed(reads[whichRead][FORWARD]->getData() + nextSeedToTest, seedLen);
+ //
+ // Find all instances of this seed in the genome.
+ //
+ _int64 nHits[NUM_DIRECTIONS];
+ const GenomeLocation *hits[NUM_DIRECTIONS];
+ const unsigned *hits32[NUM_DIRECTIONS];
+
+ if (doesGenomeIndexHave64BitLocations) {
+ index->lookupSeed(seed, &nHits[FORWARD], &hits[FORWARD], &nHits[RC], &hits[RC],
+ hashTableHitSets[whichRead][FORWARD]->getNextSingletonLocation(), hashTableHitSets[whichRead][RC]->getNextSingletonLocation());
+ } else {
+ index->lookupSeed32(seed, &nHits[FORWARD], &hits32[FORWARD], &nHits[RC], &hits32[RC]);
+ }
+
+ countOfHashTableLookups[whichRead]++;
+ for (Direction dir = FORWARD; dir < NUM_DIRECTIONS; dir++) {
+ int offset;
+ if (dir == FORWARD) {
+ offset = nextSeedToTest;
+ } else {
+ offset = readLen[whichRead] - seedLen - nextSeedToTest;
+ }
+ if (nHits[dir] < maxBigHits) {
+ totalHashTableHits[whichRead][dir] += nHits[dir];
+ if (doesGenomeIndexHave64BitLocations) {
+ hashTableHitSets[whichRead][dir]->recordLookup(offset, nHits[dir], hits[dir], beginsDisjointHitSet[dir]);
+ } else {
+ hashTableHitSets[whichRead][dir]->recordLookup(offset, nHits[dir], hits32[dir], beginsDisjointHitSet[dir]);
+ }
+ beginsDisjointHitSet[dir]= false;
+ } else {
+ popularSeedsSkipped[whichRead]++;
+ }
+ }
+
+ //
+ // If we don't have enough seeds left to reach the end of the read, space out the seeds more-or-less evenly.
+ //
+ if ((maxSeeds - countOfHashTableLookups[whichRead] + 1) * (int)seedLen + nextSeedToTest < nPossibleSeeds) {
+ _ASSERT((nPossibleSeeds - nextSeedToTest - 1) / (maxSeeds - countOfHashTableLookups[whichRead] + 1) >= (int)seedLen);
+ nextSeedToTest += (nPossibleSeeds - nextSeedToTest - 1) / (maxSeeds - countOfHashTableLookups[whichRead] + 1);
+ _ASSERT(nextSeedToTest < nPossibleSeeds); // We haven't run off the end of the read.
+ } else {
+ nextSeedToTest += seedLen;
+ }
+ } // while we need to lookup seeds for this read
+ } // for each read
+
+ readWithMoreHits = totalHashTableHits[0][FORWARD] + totalHashTableHits[0][RC] > totalHashTableHits[1][FORWARD] + totalHashTableHits[1][RC] ? 0 : 1;
+ readWithFewerHits = 1 - readWithMoreHits;
+
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("Read 0 has %d hits, read 1 has %d hits\n", totalHashTableHits[0][FORWARD] + totalHashTableHits[0][RC], totalHashTableHits[1][FORWARD] + totalHashTableHits[1][RC]);
+ }
+#endif // _DEBUG
+
+ Direction setPairDirection[NUM_SET_PAIRS][NUM_READS_PER_PAIR] = {{FORWARD, RC}, {RC, FORWARD}};
+
+
+ //
+ // Phase 2: find all possible candidates and add them to candidate lists (for the reads with fewer and more hits).
+ //
+ unsigned maxUsedBestPossibleScoreList = 0;
+
+ for (unsigned whichSetPair = 0; whichSetPair < NUM_SET_PAIRS; whichSetPair++) {
+ HashTableHitSet *setPair[NUM_READS_PER_PAIR];
+
+ if (whichSetPair == 0) {
+ setPair[0] = hashTableHitSets[0][FORWARD];
+ setPair[1] = hashTableHitSets[1][RC];
+ } else {
+ setPair[0] = hashTableHitSets[0][RC];
+ setPair[1] = hashTableHitSets[1][FORWARD];
+ }
+
+
+ unsigned lastSeedOffsetForReadWithFewerHits;
+ GenomeLocation lastGenomeLocationForReadWithFewerHits;
+ GenomeLocation lastGenomeLocationForReadWithMoreHits;
+ unsigned lastSeedOffsetForReadWithMoreHits;
+
+ bool outOfMoreHitsLocations = false;
+
+ //
+ // Seed the intersection state by doing a first lookup.
+ //
+ if (setPair[readWithFewerHits]->getFirstHit(&lastGenomeLocationForReadWithFewerHits, &lastSeedOffsetForReadWithFewerHits)) {
+ //
+ // No hits in this direction.
+ //
+ continue; // The outer loop over set pairs.
+ }
+
+ lastGenomeLocationForReadWithMoreHits = InvalidGenomeLocation;
+
+ //
+ // Loop over the candidates in for the read with more hits. At the top of the loop, we have a candidate but don't know if it has
+ // a mate. Each pass through the loop considers a single hit on the read with fewer hits.
+ //
+ for (;;) {
+
+ //
+ // Loop invariant: lastGenomeLocationForReadWithFewerHits is the highest genome offset that has not been considered.
+ // lastGenomeLocationForReadWithMoreHits is also the highest genome offset on that side that has not been
+ // considered (or is InvalidGenomeLocation), but higher ones within the appropriate range might already be in scoringMateCandidates.
+ // We go once through this loop for each
+ //
+
+ if (lastGenomeLocationForReadWithMoreHits > lastGenomeLocationForReadWithFewerHits + maxSpacing) {
+ //
+ // The more hits side is too high to be a mate candidate for the fewer hits side. Move it down to the largest
+ // location that's not too high.
+ //
+ if (!setPair[readWithMoreHits]->getNextHitLessThanOrEqualTo(lastGenomeLocationForReadWithFewerHits + maxSpacing,
+ &lastGenomeLocationForReadWithMoreHits, &lastSeedOffsetForReadWithMoreHits)) {
+ break; // End of all of the mates. We're done with this set pair.
+ }
+ }
+
+ if ((lastGenomeLocationForReadWithMoreHits + maxSpacing < lastGenomeLocationForReadWithFewerHits || outOfMoreHitsLocations) &&
+ (0 == lowestFreeScoringMateCandidate[whichSetPair] ||
+ !genomeLocationIsWithin(scoringMateCandidates[whichSetPair][lowestFreeScoringMateCandidate[whichSetPair]-1].readWithMoreHitsGenomeLocation, lastGenomeLocationForReadWithFewerHits, maxSpacing))) {
+ //
+ // No mates for the hit on the read with fewer hits. Skip to the next candidate.
+ //
+ if (outOfMoreHitsLocations) {
+ //
+ // Nothing left on the more hits side, we're done with this set pair.
+ //
+ break;
+ }
+
+ if (!setPair[readWithFewerHits]->getNextHitLessThanOrEqualTo(lastGenomeLocationForReadWithMoreHits + maxSpacing, &lastGenomeLocationForReadWithFewerHits,
+ &lastSeedOffsetForReadWithFewerHits)) {
+ //
+ // No more candidates on the read with fewer hits side. We're done with this set pair.
+ //
+ break;
+ }
+ continue;
+ }
+
+ //
+ // Add all of the mate candidates for this fewer side hit.
+ //
+
+ GenomeLocation previousMoreHitsLocation = lastGenomeLocationForReadWithMoreHits;
+ while (lastGenomeLocationForReadWithMoreHits + maxSpacing >= lastGenomeLocationForReadWithFewerHits && !outOfMoreHitsLocations) {
+ unsigned bestPossibleScoreForReadWithMoreHits;
+ if (noTruncation) {
+ bestPossibleScoreForReadWithMoreHits = 0;
+ } else {
+ bestPossibleScoreForReadWithMoreHits = setPair[readWithMoreHits]->computeBestPossibleScoreForCurrentHit();
+ }
+
+ if (lowestFreeScoringMateCandidate[whichSetPair] >= scoringCandidatePoolSize / NUM_READS_PER_PAIR) {
+ WriteErrorMessage("Ran out of scoring candidate pool entries. Perhaps trying with a larger value of -mcp will help.\n");
+ soft_exit(1);
+ }
+ scoringMateCandidates[whichSetPair][lowestFreeScoringMateCandidate[whichSetPair]].init(
+ lastGenomeLocationForReadWithMoreHits, bestPossibleScoreForReadWithMoreHits, lastSeedOffsetForReadWithMoreHits);
+
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("SetPair %d, added more hits candidate %d at genome location %u, bestPossibleScore %d, seedOffset %d\n",
+ whichSetPair, lowestFreeScoringMateCandidate[whichSetPair], lastGenomeLocationForReadWithMoreHits,
+ bestPossibleScoreForReadWithMoreHits,
+ lastSeedOffsetForReadWithMoreHits);
+ }
+#endif // _DEBUG
+
+ lowestFreeScoringMateCandidate[whichSetPair]++;
+
+ previousMoreHitsLocation = lastGenomeLocationForReadWithMoreHits;
+
+ if (!setPair[readWithMoreHits]->getNextLowerHit(&lastGenomeLocationForReadWithMoreHits, &lastSeedOffsetForReadWithMoreHits)) {
+ lastGenomeLocationForReadWithMoreHits = 0;
+ outOfMoreHitsLocations = true;
+ break; // out of the loop looking for candidates on the more hits side.
+ }
+ }
+
+ //
+ // And finally add the hit from the fewer hit side. To compute its best possible score, we need to look at all of the mates; we couldn't do it in the
+ // loop immediately above because some of them might have already been in the mate list from a different, nearby fewer hit location.
+ //
+ unsigned bestPossibleScoreForReadWithFewerHits;
+
+ if (noTruncation) {
+ bestPossibleScoreForReadWithFewerHits = 0;
+ } else {
+ bestPossibleScoreForReadWithFewerHits = setPair[readWithFewerHits]->computeBestPossibleScoreForCurrentHit();
+ }
+
+ unsigned lowestBestPossibleScoreOfAnyPossibleMate = maxK + extraSearchDepth;
+ for (int i = lowestFreeScoringMateCandidate[whichSetPair] - 1; i >= 0; i--) {
+ if (scoringMateCandidates[whichSetPair][i].readWithMoreHitsGenomeLocation > lastGenomeLocationForReadWithFewerHits + maxSpacing) {
+ break;
+ }
+ lowestBestPossibleScoreOfAnyPossibleMate = __min(lowestBestPossibleScoreOfAnyPossibleMate, scoringMateCandidates[whichSetPair][i].bestPossibleScore);
+ }
+
+ if (lowestBestPossibleScoreOfAnyPossibleMate + bestPossibleScoreForReadWithFewerHits <= maxK + extraSearchDepth) {
+ //
+ // There's a set of ends that we can't prove doesn't have too large of a score. Allocate a fewer hit candidate and stick it in the
+ // correct weight list.
+ //
+ if (lowestFreeScoringCandidatePoolEntry >= scoringCandidatePoolSize) {
+ WriteErrorMessage("Ran out of scoring candidate pool entries. Perhaps rerunning with a larger value of -mcp will help.\n");
+ soft_exit(1);
+ }
+
+ //
+ // If we have noOrderedEvaluation set, just stick everything on list 0, regardless of what it really is. This will cause us to
+ // evaluate the candidates in more-or-less inverse genome order.
+ //
+ unsigned bestPossibleScore = noOrderedEvaluation ? 0 : lowestBestPossibleScoreOfAnyPossibleMate + bestPossibleScoreForReadWithFewerHits;
+
+ scoringCandidatePool[lowestFreeScoringCandidatePoolEntry].init(lastGenomeLocationForReadWithFewerHits, whichSetPair, lowestFreeScoringMateCandidate[whichSetPair] - 1,
+ lastSeedOffsetForReadWithFewerHits, bestPossibleScoreForReadWithFewerHits,
+ scoringCandidates[bestPossibleScore]);
+
+
+ scoringCandidates[bestPossibleScore] = &scoringCandidatePool[lowestFreeScoringCandidatePoolEntry];
+
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("SetPair %d, added fewer hits candidate %d at genome location %u, bestPossibleScore %d, seedOffset %d\n",
+ whichSetPair, lowestFreeScoringCandidatePoolEntry, lastGenomeLocationForReadWithFewerHits,
+ lowestBestPossibleScoreOfAnyPossibleMate + bestPossibleScoreForReadWithFewerHits,
+ lastSeedOffsetForReadWithFewerHits);
+ }
+#endif // _DEBUG
+
+ lowestFreeScoringCandidatePoolEntry++;
+ maxUsedBestPossibleScoreList = max(maxUsedBestPossibleScoreList, bestPossibleScore);
+ }
+
+ if (!setPair[readWithFewerHits]->getNextLowerHit(&lastGenomeLocationForReadWithFewerHits, &lastSeedOffsetForReadWithFewerHits)) {
+ break;
+ }
+ }
+ } // For each set pair
+
+
+ //
+ // Phase 3: score and merge the candidates we've found.
+ //
+ unsigned currentBestPossibleScoreList = 0;
+ scoreLimit = maxK + extraSearchDepth;
+ //
+ // Loop until we've scored all of the candidates, or proven that what's left must have too high of a score to be interesting.
+ //
+ while (currentBestPossibleScoreList <= maxUsedBestPossibleScoreList && currentBestPossibleScoreList <= scoreLimit) {
+ if (scoringCandidates[currentBestPossibleScoreList] == NULL) {
+ //
+ // No more candidates on this list. Skip to the next one.
+ //
+ currentBestPossibleScoreList++;
+ continue;
+ }
+
+
+ //
+ // Grab the first candidate on the highest list and score it.
+ //
+ ScoringCandidate *candidate = scoringCandidates[currentBestPossibleScoreList];
+
+ unsigned fewerEndScore;
+ double fewerEndMatchProbability;
+ int fewerEndGenomeLocationOffset;
+
+ scoreLocation(readWithFewerHits, setPairDirection[candidate->whichSetPair][readWithFewerHits], candidate->readWithFewerHitsGenomeLocation,
+ candidate->seedOffset, scoreLimit, &fewerEndScore, &fewerEndMatchProbability, &fewerEndGenomeLocationOffset);
+
+ _ASSERT(-1 == fewerEndScore || fewerEndScore >= candidate->bestPossibleScore);
+
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("Scored fewer end candidate %d, set pair %d, read %d, location %u, seed offset %d, score limit %d, score %d, offset %d\n", (int)(candidate - scoringCandidatePool),
+ candidate->whichSetPair, readWithFewerHits, candidate->readWithFewerHitsGenomeLocation, candidate->seedOffset,
+ scoreLimit, fewerEndScore, fewerEndGenomeLocationOffset);
+ }
+#endif // DEBUG
+
+ if (fewerEndScore != -1) {
+ //
+ // Find and score mates. The index in scoringMateCandidateIndex is the lowest mate (i.e., the highest index number).
+ //
+ unsigned mateIndex = candidate->scoringMateCandidateIndex;
+
+ for (;;) {
+
+ ScoringMateCandidate *mate = &scoringMateCandidates[candidate->whichSetPair][mateIndex];
+ _ASSERT(genomeLocationIsWithin(mate->readWithMoreHitsGenomeLocation, candidate->readWithFewerHitsGenomeLocation, maxSpacing));
+ if (!genomeLocationIsWithin(mate->readWithMoreHitsGenomeLocation, candidate->readWithFewerHitsGenomeLocation, minSpacing) && mate->bestPossibleScore <= scoreLimit - fewerEndScore) {
+ //
+ // It's within the range and not necessarily too poor of a match. Consider it.
+ //
+
+ //
+ // If we haven't yet scored this mate, or we've scored it and not gotten an answer, but had a higher score limit than we'd
+ // use now, score it.
+ //
+ if (mate->score == -2 || mate->score == -1 && mate->scoreLimit < scoreLimit - fewerEndScore) {
+ scoreLocation(readWithMoreHits, setPairDirection[candidate->whichSetPair][readWithMoreHits], mate->readWithMoreHitsGenomeLocation,
+ mate->seedOffset, scoreLimit - fewerEndScore, &mate->score, &mate->matchProbability,
+ &mate->genomeOffset);
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("Scored mate candidate %d, set pair %d, read %d, location %u, seed offset %d, score limit %d, score %d, offset %d\n",
+ (int)(mate - scoringMateCandidates[candidate->whichSetPair]), candidate->whichSetPair, readWithMoreHits, mate->readWithMoreHitsGenomeLocation,
+ mate->seedOffset, scoreLimit - fewerEndScore, mate->score, mate->genomeOffset);
+ }
+#endif // _DEBUG
+
+ _ASSERT(-1 == mate->score || mate->score >= mate->bestPossibleScore);
+
+ mate->scoreLimit = scoreLimit - fewerEndScore;
+ }
+
+ if (mate->score != -1) {
+ double pairProbability = mate->matchProbability * fewerEndMatchProbability;
+ unsigned pairScore = mate->score + fewerEndScore;
+ //
+ // See if this should be ignored as a merge, or if we need to back out a previously scored location
+ // because it's a worse version of this location.
+ //
+ MergeAnchor *mergeAnchor = candidate->mergeAnchor;
+
+ if (NULL == mergeAnchor) {
+ //
+ // Look up and down the array of candidates to see if we have possible merge candidates.
+ //
+ for (ScoringCandidate *mergeCandidate = candidate - 1;
+ mergeCandidate >= scoringCandidatePool &&
+ genomeLocationIsWithin(mergeCandidate->readWithFewerHitsGenomeLocation, candidate->readWithFewerHitsGenomeLocation + fewerEndGenomeLocationOffset, 50) &&
+ mergeCandidate->whichSetPair == candidate->whichSetPair;
+ mergeCandidate--) {
+
+ if (mergeCandidate->mergeAnchor != NULL) {
+ candidate->mergeAnchor = mergeAnchor = mergeCandidate->mergeAnchor;
+ break;
+ }
+ }
+
+ if (NULL == mergeAnchor) {
+ for (ScoringCandidate *mergeCandidate = candidate + 1;
+ mergeCandidate < scoringCandidatePool + lowestFreeScoringCandidatePoolEntry &&
+ genomeLocationIsWithin(mergeCandidate->readWithFewerHitsGenomeLocation, candidate->readWithFewerHitsGenomeLocation + fewerEndGenomeLocationOffset, 50) &&
+ mergeCandidate->whichSetPair == candidate->whichSetPair;
+ mergeCandidate--) {
+
+ if (mergeCandidate->mergeAnchor != NULL) {
+ candidate->mergeAnchor = mergeAnchor = mergeCandidate->mergeAnchor;
+ break;
+ }
+ }
+ }
+ }
+
+ bool merged;
+
+ double oldPairProbability;
+
+ if (NULL == mergeAnchor) {
+ if (firstFreeMergeAnchor >= mergeAnchorPoolSize) {
+ WriteErrorMessage("Ran out of merge anchor pool entries. Perhaps rerunning with a larger value of -mcp will help\n");
+ soft_exit(1);
+ }
+
+ mergeAnchor = &mergeAnchorPool[firstFreeMergeAnchor];
+
+ firstFreeMergeAnchor++;
+
+ mergeAnchor->init(mate->readWithMoreHitsGenomeLocation + mate->genomeOffset, candidate->readWithFewerHitsGenomeLocation + fewerEndGenomeLocationOffset,
+ pairProbability, pairScore);
+
+ merged = false;
+ oldPairProbability = 0;
+ candidate->mergeAnchor = mergeAnchor;
+ } else {
+ merged = mergeAnchor->checkMerge(mate->readWithMoreHitsGenomeLocation + mate->genomeOffset, candidate->readWithFewerHitsGenomeLocation + fewerEndGenomeLocationOffset,
+ pairProbability, pairScore, &oldPairProbability);
+ }
+
+ if (!merged) {
+ //
+ // Back out the probability of the old match that we're merged with, if any. The max
+ // is necessary because a + b - b is not necessarily a in floating point. If there
+ // was no merge, the oldPairProbability is 0.
+ //
+ probabilityOfAllPairs = __max(0, probabilityOfAllPairs - oldPairProbability);
+
+ bool isBestHit = false;
+
+ if (pairScore <= maxK && (pairScore < bestPairScore ||
+ (pairScore == bestPairScore && pairProbability > probabilityOfBestPair))) {
+ //
+ // A new best hit.
+ //
+ if (maxEditDistanceForSecondaryResults != -1 && (unsigned)maxEditDistanceForSecondaryResults >= pairScore - bestPairScore) {
+ //
+ // Move the old best to be a secondary alignment. This won't happen on the first time we get a valid alignment,
+ // because bestPairScore is initialized to be very large.
+ //
+ //
+ if (*nSecondaryResults >= secondaryResultBufferSize) {
+ WriteErrorMessage("IntersectingPairedEndAligner::align(): out of secondary result buffer\n");
+ soft_exit(1);
+ }
+
+ PairedAlignmentResult *result = &secondaryResults[*nSecondaryResults];
+ result->alignedAsPair = true;
+ result->fromAlignTogether = true;
+
+ for (int r = 0; r < NUM_READS_PER_PAIR; r++) {
+ result->direction[r] = bestResultDirection[r];
+ result->location[r] = bestResultGenomeLocation[r];
+ result->mapq[r] = 0;
+ result->score[r] = bestResultScore[r];
+ result->status[r] = MultipleHits;
+ }
+
+ (*nSecondaryResults)++;
+
+ }
+ bestPairScore = pairScore;
+ probabilityOfBestPair = pairProbability;
+ bestResultGenomeLocation[readWithFewerHits] = candidate->readWithFewerHitsGenomeLocation + fewerEndGenomeLocationOffset;
+ bestResultGenomeLocation[readWithMoreHits] = mate->readWithMoreHitsGenomeLocation + mate->genomeOffset;
+ bestResultScore[readWithFewerHits] = fewerEndScore;
+ bestResultScore[readWithMoreHits] = mate->score;
+ bestResultDirection[readWithFewerHits] = setPairDirection[candidate->whichSetPair][readWithFewerHits];
+ bestResultDirection[readWithMoreHits] = setPairDirection[candidate->whichSetPair][readWithMoreHits];
+
+ if (!noUkkonen) {
+ scoreLimit = bestPairScore + extraSearchDepth;
+ }
+
+ isBestHit = true;
+ } else {
+ if (maxEditDistanceForSecondaryResults != -1 && (unsigned)maxEditDistanceForSecondaryResults >= pairScore - bestPairScore) {
+ //
+ // A secondary result to save.
+ //
+ if (*nSecondaryResults >= secondaryResultBufferSize) {
+ WriteErrorMessage("IntersectingPairedEndAligner::align(): out of secondary result buffer. Read ID %.*s\n", read0->getIdLength(), read0->getId());
+ soft_exit(1);
+ }
+
+ PairedAlignmentResult *result = &secondaryResults[*nSecondaryResults];
+ result->alignedAsPair = true;
+ result->direction[readWithMoreHits] = setPairDirection[candidate->whichSetPair][readWithMoreHits];
+ result->direction[readWithFewerHits] = setPairDirection[candidate->whichSetPair][readWithFewerHits];
+ result->fromAlignTogether = true;
+ result->location[readWithMoreHits] = mate->readWithMoreHitsGenomeLocation + mate->genomeOffset;
+ result->location[readWithFewerHits] = candidate->readWithFewerHitsGenomeLocation + fewerEndGenomeLocationOffset;
+ result->mapq[0] = result->mapq[1] = 0;
+ result->score[readWithMoreHits] = mate->score;
+ result->score[readWithFewerHits] = fewerEndScore;
+ result->status[readWithFewerHits] = result->status[readWithMoreHits] = MultipleHits;
+
+ (*nSecondaryResults)++;
+ }
+ }
+
+ probabilityOfAllPairs += pairProbability;
+ #ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("Added %e (= %e * %e) @ (%u, %u), giving new probability of all pairs %e, score %d = %d + %d%s\n",
+ pairProbability, mate->matchProbability , fewerEndMatchProbability,
+ candidate->readWithFewerHitsGenomeLocation + fewerEndGenomeLocationOffset, mate->readWithMoreHitsGenomeLocation + mate->genomeOffset,
+ probabilityOfAllPairs,
+ pairScore, fewerEndScore, mate->score, isBestHit ? " New best hit" : "");
+ }
+ #endif // _DEBUG
+
+ if (probabilityOfAllPairs >= 4.9 && -1 == maxEditDistanceForSecondaryResults) {
+ //
+ // Nothing will rescue us from a 0 MAPQ, so just stop looking.
+ //
+ goto doneScoring;
+ }
+ }
+ }// if the mate has a non -1 score
+ }
+
+ if (mateIndex == 0 || !genomeLocationIsWithin(scoringMateCandidates[candidate->whichSetPair][mateIndex-1].readWithMoreHitsGenomeLocation, candidate->readWithFewerHitsGenomeLocation, maxSpacing)) {
+ //
+ // Out of mate candidates.
+ //
+ break;
+ }
+
+ mateIndex--;
+ }
+ }
+
+ //
+ // Remove us from the head of the list and proceed to the next candidate to score.
+ //
+ scoringCandidates[currentBestPossibleScoreList] = candidate->scoreListNext;
+ }
+
+doneScoring:
+
+ if (bestPairScore == 65536) {
+ //
+ // Found nothing.
+ //
+ for (unsigned whichRead = 0; whichRead < NUM_READS_PER_PAIR; whichRead++) {
+ result->location[whichRead] = InvalidGenomeLocation;
+ result->mapq[whichRead] = 0;
+ result->score[whichRead] = -1;
+ result->status[whichRead] = NotFound;
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("No sufficiently good pairs found.\n");
+ }
+#endif // DEBUG
+ }
+ } else {
+ for (unsigned whichRead = 0; whichRead < NUM_READS_PER_PAIR; whichRead++) {
+ result->location[whichRead] = bestResultGenomeLocation[whichRead];
+ result->direction[whichRead] = bestResultDirection[whichRead];
+ result->mapq[whichRead] = computeMAPQ(probabilityOfAllPairs, probabilityOfBestPair, bestResultScore[whichRead], popularSeedsSkipped[0] + popularSeedsSkipped[1]);
+ result->status[whichRead] = result->mapq[whichRead] > MAPQ_LIMIT_FOR_SINGLE_HIT ? SingleHit : MultipleHits;
+ result->score[whichRead] = bestResultScore[whichRead];
+ }
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("Returned %u %s %u %s with MAPQ %d and %d, probability of all pairs %e, probability of best pair %e\n",
+ result->location[0], result->direction[0] == RC ? "RC" : "", result->location[1], result->direction[1] == RC ? "RC" : "", result->mapq[0], result->mapq[1],
+ probabilityOfAllPairs, probabilityOfBestPair);
+ }
+#endif // DEBUG
+ }
+
+ //
+ // Get rid of any secondary results that are too far away from the best score. (NB: the rest of the code in align() is very similar to BaseAligner::finalizeSecondaryResults. Sorry)
+ //
+ int i = 0;
+ while (i < *nSecondaryResults) {
+ if ((int)(secondaryResults[i].score[0] + secondaryResults[i].score[1]) > (int)bestPairScore + maxEditDistanceForSecondaryResults) {
+ secondaryResults[i] = secondaryResults[(*nSecondaryResults) - 1];
+ (*nSecondaryResults)--;
+ } else {
+ i++;
+ }
+ }
+
+ //
+ // Now check to see if there are too many for any particular contig.
+ //
+ if (maxSecondaryAlignmentsPerContig > 0 && result->status[0] != NotFound) {
+ //
+ // Run through the results and count the number of results per contig, to see if any of them are too big.
+ // First, record the primary result.
+ //
+
+ bool anyContigHasTooManyResults = false;
+ contigCountEpoch++;
+
+ int primaryContigNum = genome->getContigNumAtLocation(result->location[0]);
+ hitsPerContigCounts[primaryContigNum].hits = 1;
+ hitsPerContigCounts[primaryContigNum].epoch = contigCountEpoch;
+
+
+ for (i = 0; i < *nSecondaryResults; i++) {
+ int contigNum = genome->getContigNumAtLocation(secondaryResults[i].location[0]); // We know they're on the same contig, so either will do
+ if (hitsPerContigCounts[contigNum].epoch != contigCountEpoch) {
+ hitsPerContigCounts[contigNum].epoch = contigCountEpoch;
+ hitsPerContigCounts[contigNum].hits = 0;
+ }
+
+ hitsPerContigCounts[contigNum].hits++;
+ if (hitsPerContigCounts[contigNum].hits > maxSecondaryAlignmentsPerContig) {
+ anyContigHasTooManyResults = true;
+ break;
+ }
+ }
+
+ if (anyContigHasTooManyResults) {
+ //
+ // Just sort them all, in order of contig then hit depth.
+ //
+ qsort(secondaryResults, *nSecondaryResults, sizeof(*secondaryResults), PairedAlignmentResult::compareByContigAndScore);
+
+ //
+ // Now run through and eliminate any contigs with too many hits. We can't use the same trick at the first loop above, because the
+ // counting here relies on the results being sorted. So, instead, we just copy them as we go.
+ //
+ int currentContigNum = -1;
+ int currentContigCount = 0;
+ int destResult = 0;
+
+ for (int sourceResult = 0; sourceResult < *nSecondaryResults; sourceResult++) {
+ int contigNum = genome->getContigNumAtLocation(secondaryResults[sourceResult].location[0]);
+ if (contigNum != currentContigNum) {
+ currentContigNum = contigNum;
+ currentContigCount = (contigNum == primaryContigNum) ? 1 : 0;
+ }
+
+ currentContigCount++;
+
+ if (currentContigCount <= maxSecondaryAlignmentsPerContig) {
+ //
+ // Keep it. If we don't get here, then we don't copy the result and
+ // don't increment destResult. And yes, this will sometimes copy a
+ // result over itself. That's harmless.
+ //
+ secondaryResults[destResult] = secondaryResults[sourceResult];
+ destResult++;
+ }
+ } // for each source result
+ *nSecondaryResults = destResult;
+ }
+ } // if we're limiting by contig
+
+
+ if (*nSecondaryResults > maxSecondaryResultsToReturn) {
+ qsort(secondaryResults, *nSecondaryResults, sizeof(*secondaryResults), PairedAlignmentResult::compareByScore);
+ *nSecondaryResults = maxSecondaryResultsToReturn; // Just truncate it
+ }
+}
+
+ void
+IntersectingPairedEndAligner::scoreLocation(
+ unsigned whichRead,
+ Direction direction,
+ GenomeLocation genomeLocation,
+ unsigned seedOffset,
+ unsigned scoreLimit,
+ unsigned *score,
+ double *matchProbability,
+ int *genomeLocationOffset)
+{
+ nLocationsScored++;
+
+ Read *readToScore = reads[whichRead][direction];
+ unsigned readDataLength = readToScore->getDataLength();
+ GenomeDistance genomeDataLength = readDataLength + MAX_K; // Leave extra space in case the read has deletions
+ const char *data = genome->getSubstring(genomeLocation, genomeDataLength);
+
+#if 0 // This only happens when genomeLocation is in the padding, which can lead to no good. Just say no.
+ if (NULL == data) {
+ //
+ // We're up against the end of a contig. Reduce the extra space enough that it isn't too
+ // long. We're willing to reduce it to less than the length of a read, because the read could
+ // butt up against the end of the contig and have insertions in it.
+ //
+ const Genome::Contig *contig = genome->getContigAtLocation(genomeLocation);
+
+ GenomeLocation endLocation;
+ if (genomeLocation + readDataLength + MAX_K >= genome->getCountOfBases()) {
+ endLocation = genome->getCountOfBases();
+ } else {
+ const Genome::Contig *nextContig = genome->getContigAtLocation(genomeLocation + readDataLength + MAX_K);
+ _ASSERT(NULL != contig && contig->beginningLocation <= genomeLocation && contig != nextContig);
+
+ endLocation = nextContig->beginningLocation;
+ }
+ genomeDataLength = endLocation - genomeLocation - 1;
+ if (genomeDataLength >= readDataLength - MAX_K) {
+ data = genome->getSubstring(genomeLocation, genomeDataLength);
+ _ASSERT(NULL != data);
+ }
+ }
+
+#endif // 0 This only happens when genomeLocation is in the padding, which can lead to no good. Just say no.
+
+ if (NULL == data) {
+ *score = -1;
+ *matchProbability = 0;
+ return;
+ }
+
+
+ // Compute the distance separately in the forward and backward directions from the seed, to allow
+ // arbitrary offsets at both the start and end but not have to pay the cost of exploring all start
+ // shifts in BoundedStringDistance
+ double matchProb1, matchProb2;
+ int score1, score2;
+ // First, do the forward direction from where the seed aligns to past of it
+ int readLen = readToScore->getDataLength();
+ int seedLen = index->getSeedLength();
+ int tailStart = seedOffset + seedLen;
+
+ _ASSERT(!memcmp(data+seedOffset, readToScore->getData() + seedOffset, seedLen)); // that the seed actually matches
+
+ int textLen;
+ if (genomeDataLength - tailStart > INT32_MAX) {
+ textLen = INT32_MAX;
+ } else {
+ textLen = (int)(genomeDataLength - tailStart);
+ }
+ score1 = landauVishkin->computeEditDistance(data + tailStart, textLen, readToScore->getData() + tailStart, readToScore->getQuality() + tailStart, readLen - tailStart,
+ scoreLimit, &matchProb1);
+ if (score1 == -1) {
+ *score = -1;
+ } else {
+ // The tail of the read matched; now let's reverse the reference genome data and match the head
+ int limitLeft = scoreLimit - score1;
+ score2 = reverseLandauVishkin->computeEditDistance(data + seedOffset, seedOffset + MAX_K, reversedRead[whichRead][direction] + readLen - seedOffset,
+ reads[whichRead][OppositeDirection(direction)]->getQuality() + readLen - seedOffset, seedOffset, limitLeft, &matchProb2, genomeLocationOffset);
+
+ if (score2 == -1) {
+ *score = -1;
+ } else {
+ *score = score1 + score2;
+ _ASSERT(*score <= scoreLimit);
+ // Map probabilities for substrings can be multiplied, but make sure to count seed too
+ *matchProbability = matchProb1 * matchProb2 * pow(1 - SNP_PROB, seedLen);
+ }
+ }
+
+ if (*score == -1) {
+ *matchProbability = 0;
+ }
+}
+
+ void
+ IntersectingPairedEndAligner::HashTableHitSet::firstInit(unsigned maxSeeds_, unsigned maxMergeDistance_, BigAllocator *allocator, bool doesGenomeIndexHave64BitLocations_)
+ {
+ maxSeeds = maxSeeds_;
+ maxMergeDistance = maxMergeDistance_;
+ doesGenomeIndexHave64BitLocations = doesGenomeIndexHave64BitLocations_;
+ nLookupsUsed = 0;
+ if (doesGenomeIndexHave64BitLocations) {
+ lookups64 = (HashTableLookup<GenomeLocation> *)allocator->allocate(sizeof(HashTableLookup<GenomeLocation>) * maxSeeds);
+ lookups32 = NULL;
+ } else {
+ lookups32 = (HashTableLookup<unsigned> *)allocator->allocate(sizeof(HashTableLookup<unsigned>) * maxSeeds);
+ lookups64 = NULL;
+ }
+ disjointHitSets = (DisjointHitSet *)allocator->allocate(sizeof(DisjointHitSet) * maxSeeds);
+ }
+ void
+IntersectingPairedEndAligner::HashTableHitSet::init()
+{
+ nLookupsUsed = 0;
+ currentDisjointHitSet = -1;
+ if (doesGenomeIndexHave64BitLocations) {
+ lookupListHead64->nextLookupWithRemainingMembers = lookupListHead64->prevLookupWithRemainingMembers = lookupListHead64;
+ lookupListHead32->nextLookupWithRemainingMembers = lookupListHead32->prevLookupWithRemainingMembers = NULL;
+ } else {
+ lookupListHead32->nextLookupWithRemainingMembers = lookupListHead32->prevLookupWithRemainingMembers = lookupListHead32;
+ lookupListHead64->nextLookupWithRemainingMembers = lookupListHead64->prevLookupWithRemainingMembers = NULL;
+ }
+}
+
+
+//
+// I apologize for this, but I had to do two versions of recordLookup, one for the 32 bit and one for the 64 bit version. The options were
+// copying the code or doing a macro with the types as parameters. I chose macro, so you get ugly but unlikely to accidentally diverge.
+// At least it's just isolated to the HashTableHitSet class.
+//
+
+#define RL(lookups, glType, lookupListHead) \
+ void \
+IntersectingPairedEndAligner::HashTableHitSet::recordLookup(unsigned seedOffset, _int64 nHits, const glType *hits, bool beginsDisjointHitSet) \
+{ \
+ _ASSERT(nLookupsUsed < maxSeeds); \
+ if (beginsDisjointHitSet) { \
+ currentDisjointHitSet++; \
+ _ASSERT(currentDisjointHitSet < (int)maxSeeds); \
+ disjointHitSets[currentDisjointHitSet].countOfExhaustedHits = 0; \
+ } \
+ \
+ if (0 == nHits) { \
+ disjointHitSets[currentDisjointHitSet].countOfExhaustedHits++; \
+ } else { \
+ _ASSERT(currentDisjointHitSet != -1); /* Essentially that beginsDisjointHitSet is set for the first recordLookup call */ \
+ lookups[nLookupsUsed].currentHitForIntersection = 0; \
+ lookups[nLookupsUsed].hits = hits; \
+ lookups[nLookupsUsed].nHits = nHits; \
+ lookups[nLookupsUsed].seedOffset = seedOffset; \
+ lookups[nLookupsUsed].whichDisjointHitSet = currentDisjointHitSet; \
+ \
+ /* Trim off any hits that are smaller than seedOffset, since they are clearly meaningless. */ \
+ \
+ while (lookups[nLookupsUsed].nHits > 0 && lookups[nLookupsUsed].hits[lookups[nLookupsUsed].nHits - 1] < lookups[nLookupsUsed].seedOffset) { \
+ lookups[nLookupsUsed].nHits--; \
+ } \
+ \
+ /* Add this lookup into the non-empty lookup list. */ \
+ \
+ lookups[nLookupsUsed].prevLookupWithRemainingMembers = lookupListHead; \
+ lookups[nLookupsUsed].nextLookupWithRemainingMembers = lookupListHead->nextLookupWithRemainingMembers; \
+ lookups[nLookupsUsed].prevLookupWithRemainingMembers->nextLookupWithRemainingMembers = \
+ lookups[nLookupsUsed].nextLookupWithRemainingMembers->prevLookupWithRemainingMembers = &lookups[nLookupsUsed]; \
+ \
+ if (doAlignerPrefetch) { \
+ _mm_prefetch((const char *)&lookups[nLookupsUsed].hits[lookups[nLookupsUsed].nHits / 2], _MM_HINT_T2); \
+ } \
+ \
+ nLookupsUsed++; \
+ } \
+}
+
+RL(lookups32, unsigned, lookupListHead32)
+RL(lookups64, GenomeLocation, lookupListHead64)
+
+#undef RL
+
+
+ unsigned
+IntersectingPairedEndAligner::HashTableHitSet::computeBestPossibleScoreForCurrentHit()
+{
+ //
+ // Now compute the best possible score for the hit. This is the largest number of misses in any disjoint hit set.
+ //
+ for (int i = 0; i <= currentDisjointHitSet; i++) {
+ disjointHitSets[i].missCount = disjointHitSets[i].countOfExhaustedHits;
+ }
+
+ //
+ // Another macro. Sorry again.
+ //
+#define loop(glType, lookupListHead) \
+ for (HashTableLookup<glType> *lookup = lookupListHead->nextLookupWithRemainingMembers; lookup != lookupListHead; \
+ lookup = lookup->nextLookupWithRemainingMembers) { \
+ \
+ if (!(lookup->currentHitForIntersection != lookup->nHits && \
+ genomeLocationIsWithin(lookup->hits[lookup->currentHitForIntersection], mostRecentLocationReturned + lookup->seedOffset, maxMergeDistance) || \
+ lookup->currentHitForIntersection != 0 && \
+ genomeLocationIsWithin(lookup->hits[lookup->currentHitForIntersection-1], mostRecentLocationReturned + lookup->seedOffset, maxMergeDistance))) { \
+ \
+ /* This one was not close enough. */ \
+ \
+ disjointHitSets[lookup->whichDisjointHitSet].missCount++; \
+ } \
+ }
+
+ if (doesGenomeIndexHave64BitLocations) {
+ loop(GenomeLocation, lookupListHead64);
+ } else {
+ loop(unsigned, lookupListHead32);
+ }
+#undef loop
+
+ unsigned bestPossibleScoreSoFar = 0;
+ for (int i = 0; i <= currentDisjointHitSet; i++) {
+ bestPossibleScoreSoFar = max(bestPossibleScoreSoFar, disjointHitSets[i].missCount);
+ }
+
+ return bestPossibleScoreSoFar;
+}
+
+ bool
+IntersectingPairedEndAligner::HashTableHitSet::getNextHitLessThanOrEqualTo(GenomeLocation maxGenomeLocationToFind, GenomeLocation *actualGenomeLocationFound, unsigned *seedOffsetFound)
+{
+
+ bool anyFound = false;
+ GenomeLocation bestLocationFound = 0;
+ for (unsigned i = 0; i < nLookupsUsed; i++) {
+ //
+ // Binary search from the current starting offset to either the right place or the end.
+ //
+ _int64 limit[2];
+ GenomeLocation maxGenomeLocationToFindThisSeed;
+
+ if (doesGenomeIndexHave64BitLocations) {
+ limit[0] = (_int64)lookups64[i].currentHitForIntersection;
+ limit[1] = (_int64)lookups64[i].nHits - 1;
+ maxGenomeLocationToFindThisSeed = maxGenomeLocationToFind + lookups64[i].seedOffset;
+ } else {
+ limit[0] = (_int64)lookups32[i].currentHitForIntersection;
+ limit[1] = (_int64)lookups32[i].nHits - 1;
+ maxGenomeLocationToFindThisSeed = maxGenomeLocationToFind + lookups32[i].seedOffset;
+ }
+
+ while (limit[0] <= limit[1]) {
+ _int64 probe = (limit[0] + limit[1]) / 2;
+ if (doAlignerPrefetch) { // not clear this helps. We're probably not far enough ahead.
+ if (doesGenomeIndexHave64BitLocations) {
+ _mm_prefetch((const char *)&lookups64[i].hits[(limit[0] + probe) / 2 - 1], _MM_HINT_T2);
+ _mm_prefetch((const char *)&lookups64[i].hits[(limit[1] + probe) / 2 + 1], _MM_HINT_T2);
+ } else {
+ _mm_prefetch((const char *)&lookups32[i].hits[(limit[0] + probe) / 2 - 1], _MM_HINT_T2);
+ _mm_prefetch((const char *)&lookups32[i].hits[(limit[1] + probe) / 2 + 1], _MM_HINT_T2);
+ }
+ }
+ //
+ // Recall that the hit sets are sorted from largest to smallest, so the strange looking logic is actually right.
+ // We're evaluating the expression "lookups[i].hits[probe] <= maxGenomeOffsetToFindThisSeed && (probe == 0 || lookups[i].hits[probe-1] > maxGenomeOffsetToFindThisSeed)"
+ // It's written in this strange way just so the profile tool will show us where the time's going.
+ //
+ GenomeLocation probeHit;
+ GenomeLocation probeMinusOneHit;
+ unsigned seedOffset;
+ if (doesGenomeIndexHave64BitLocations) {
+ probeHit = lookups64[i].hits[probe];
+ probeMinusOneHit = lookups64[i].hits[probe-1];
+ seedOffset = lookups64[i].seedOffset;
+ } else {
+ probeHit = lookups32[i].hits[probe];
+ probeMinusOneHit = lookups32[i].hits[probe-1];
+ seedOffset = lookups32[i].seedOffset;
+ }
+ unsigned clause1 = probeHit <= maxGenomeLocationToFindThisSeed;
+ unsigned clause2 = probe == 0;
+
+ if (clause1 && (clause2 || probeMinusOneHit > maxGenomeLocationToFindThisSeed)) {
+ if (probeHit - seedOffset > bestLocationFound) {
+ anyFound = true;
+ mostRecentLocationReturned = *actualGenomeLocationFound = bestLocationFound = probeHit - seedOffset;
+ *seedOffsetFound = seedOffset;
+ }
+
+ if (doesGenomeIndexHave64BitLocations) {
+ lookups64[i].currentHitForIntersection = probe;
+ } else {
+ lookups32[i].currentHitForIntersection = probe;
+ }
+ break;
+ }
+
+ if (probeHit > maxGenomeLocationToFindThisSeed) { // Recode this without the if to avoid the hard-to-predict branch.
+ limit[0] = probe + 1;
+ } else {
+ limit[1] = probe - 1;
+ }
+ } // While we're looking
+
+ if (limit[0] > limit[1]) {
+ // We're done with this lookup.
+ if (doesGenomeIndexHave64BitLocations) {
+ lookups64[i].currentHitForIntersection = lookups64[i].nHits;
+ } else {
+ lookups32[i].currentHitForIntersection = lookups32[i].nHits;
+ }
+ }
+ } // For each lookup
+
+ _ASSERT(!anyFound || *actualGenomeLocationFound <= maxGenomeLocationToFind);
+
+ return anyFound;
+}
+
+
+ bool
+IntersectingPairedEndAligner::HashTableHitSet::getFirstHit(GenomeLocation *genomeLocation, unsigned *seedOffsetFound)
+{
+ bool anyFound = false;
+ *genomeLocation = 0;
+
+ //
+ // Yet another macro. This makes me want to write in a better language sometimes. But then it would be too slow. :-(
+ //
+
+#define LOOP(lookups) \
+ for (unsigned i = 0; i < nLookupsUsed; i++) { \
+ if (lookups[i].nHits > 0 && lookups[i].hits[0] - lookups[i].seedOffset > GenomeLocationAsInt64(*genomeLocation)) { \
+ mostRecentLocationReturned = *genomeLocation = lookups[i].hits[0] - lookups[i].seedOffset; \
+ *seedOffsetFound = lookups[i].seedOffset; \
+ anyFound = true; \
+ } \
+ }
+
+ if (doesGenomeIndexHave64BitLocations) {
+ LOOP(lookups64);
+ } else {
+ LOOP(lookups32);
+ }
+
+#undef LOOP
+
+ return !anyFound;
+}
+
+ bool
+IntersectingPairedEndAligner::HashTableHitSet::getNextLowerHit(GenomeLocation *genomeLocation, unsigned *seedOffsetFound)
+{
+ //
+ // Look through all of the lookups and find the one with the highest location smaller than the current one.
+ //
+ GenomeLocation foundLocation = 0;
+ bool anyFound = false;
+
+ //
+ // Run through the lookups pushing up any that are at the most recently returned
+ //
+
+ for (unsigned i = 0; i < nLookupsUsed; i++) {
+ _int64 *currentHitForIntersection;
+ _int64 nHits;
+ GenomeLocation hitLocation;
+ unsigned seedOffset;
+
+ //
+ // A macro to initialize stuff that we need to avoid a bigger macro later.
+ //
+#define initVars(lookups) \
+ currentHitForIntersection = &lookups[i].currentHitForIntersection; \
+ nHits = lookups[i].nHits; \
+ seedOffset = lookups[i].seedOffset; \
+ if (nHits != *currentHitForIntersection) { \
+ hitLocation = lookups[i].hits[*currentHitForIntersection]; \
+ }
+
+
+ if (doesGenomeIndexHave64BitLocations) {
+ initVars(lookups64);
+ } else {
+ initVars(lookups32);
+ }
+#undef initVars
+
+ _ASSERT(*currentHitForIntersection == nHits || hitLocation - seedOffset <= mostRecentLocationReturned || hitLocation < seedOffset);
+
+ if (*currentHitForIntersection != nHits && hitLocation - seedOffset == mostRecentLocationReturned) {
+ (*currentHitForIntersection)++;
+ if (*currentHitForIntersection == nHits) {
+ continue;
+ }
+ if (doesGenomeIndexHave64BitLocations) {
+ hitLocation = lookups64[i].hits[*currentHitForIntersection];
+ } else {
+ hitLocation = lookups32[i].hits[*currentHitForIntersection];
+ }
+ }
+
+ if (*currentHitForIntersection != nHits) {
+ if (foundLocation < hitLocation - seedOffset && // found location is OK
+ hitLocation >= seedOffset) // found location isn't too small to push us before the beginning of the genome
+ {
+ *genomeLocation = foundLocation = hitLocation - seedOffset;
+ *seedOffsetFound = seedOffset;
+ anyFound = true;
+ }
+ }
+ }
+
+ if (anyFound) {
+ mostRecentLocationReturned = foundLocation;
+ }
+
+ return anyFound;
+}
+
+ bool
+IntersectingPairedEndAligner::MergeAnchor::checkMerge(GenomeLocation newMoreHitLocation, GenomeLocation newFewerHitLocation, double newMatchProbability, int newPairScore,
+ double *oldMatchProbability)
+{
+ if (locationForReadWithMoreHits == InvalidGenomeLocation || !doesRangeMatch(newMoreHitLocation, newFewerHitLocation)) {
+ //
+ // No merge. Remember the new one.
+ //
+ locationForReadWithMoreHits = newMoreHitLocation;
+ locationForReadWithFewerHits = newFewerHitLocation;
+ matchProbability = newMatchProbability;
+ pairScore = newPairScore;
+ *oldMatchProbability = 0.0;
+ return false;
+ } else {
+ //
+ // Within merge distance. Keep the better score (or if they're tied the better match probability).
+ //
+ if (newPairScore < pairScore || newPairScore == pairScore && newMatchProbability > matchProbability) {
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("Merge replacement at anchor (%u, %u), loc (%u, %u), old match prob %e, new match prob %e, old pair score %d, new pair score %d\n",
+ locationForReadWithMoreHits, locationForReadWithFewerHits, newMoreHitLocation, newFewerHitLocation,
+ matchProbability, newMatchProbability, pairScore, newPairScore);
+ }
+#endif // DEBUG
+
+ *oldMatchProbability = matchProbability;
+ matchProbability = newMatchProbability;
+ pairScore = newPairScore;
+ return false;
+ } else {
+ //
+ // The new one should just be ignored.
+ //
+#ifdef _DEBUG
+ if (_DumpAlignments) {
+ printf("Merged at anchor (%u, %u), loc (%u, %u), old match prob %e, new match prob %e, old pair score %d, new pair score %d\n",
+ locationForReadWithMoreHits, locationForReadWithFewerHits, newMoreHitLocation, newFewerHitLocation,
+ matchProbability, newMatchProbability, pairScore, newPairScore);
+ }
+#endif // DEBUG
+ return true;
+ }
+ }
+
+ _ASSERT(!"NOTREACHED");
+}
+
+const unsigned IntersectingPairedEndAligner::maxMergeDistance = 31;
diff --git a/SNAPLib/IntersectingPairedEndAligner.h b/SNAPLib/IntersectingPairedEndAligner.h
new file mode 100644
index 0000000..9bc6029
--- /dev/null
+++ b/SNAPLib/IntersectingPairedEndAligner.h
@@ -0,0 +1,476 @@
+/*++
+
+Module Name:
+
+ IntersectingPairedEndAligner.h
+
+Abstract:
+
+ A paired-end aligner based on set intersections to narrow down possible candidate locations.
+
+Authors:
+
+ Bill Bolosky, February, 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+#pragma once
+
+#include "PairedEndAligner.h"
+#include "BaseAligner.h"
+#include "BigAlloc.h"
+#include "directions.h"
+#include "LandauVishkin.h"
+#include "FixedSizeMap.h"
+
+const unsigned DEFAULT_INTERSECTING_ALIGNER_MAX_HITS = 2000;
+const unsigned DEFAULT_MAX_CANDIDATE_POOL_SIZE = 1000000;
+
+class IntersectingPairedEndAligner : public PairedEndAligner
+{
+public:
+ IntersectingPairedEndAligner(
+ GenomeIndex *index_,
+ unsigned maxReadSize_,
+ unsigned maxHits_,
+ unsigned maxK_,
+ unsigned maxSeedsFromCommandLine_,
+ double seedCoverage_,
+ unsigned minSpacing_, // Minimum distance to allow between the two ends.
+ unsigned maxSpacing_, // Maximum distance to allow between the two ends.
+ unsigned maxBigHits_,
+ unsigned extraSearchDepth_,
+ unsigned maxCandidatePoolSize,
+ int maxSecondaryAlignmentsPerContig_,
+ BigAllocator *allocator,
+ bool noUkkonen_,
+ bool noOrderedEvaluation_,
+ bool noTruncation_);
+
+ static unsigned getMaxSecondaryResults(unsigned numSeedsFromCommandLine, double seedCoverage, unsigned maxReadSize, unsigned maxHits, unsigned seedLength, unsigned minSpacing, unsigned maxSpacing)
+ {
+ unsigned maxSeedsToUse;
+ if (0 != numSeedsFromCommandLine) {
+ maxSeedsToUse = numSeedsFromCommandLine;
+ } else {
+ maxSeedsToUse = (unsigned)(maxReadSize * seedCoverage / seedLength);
+ }
+
+ //
+ // The number of hits we can conceivably get is for each seed a result for every hit, times every possible pair for that hit. The possible pairs
+ // run from min to max distance on either side, but if they're within max merge distance then they'll be merged.
+ //
+ return NUM_DIRECTIONS * maxHits * maxSeedsToUse * (maxSpacing - minSpacing + 1 + maxMergeDistance - 1) / maxMergeDistance * 2;
+ }
+
+ void setLandauVishkin(
+ LandauVishkin<1> *landauVishkin_,
+ LandauVishkin<-1> *reverseLandauVishkin_)
+ {
+ landauVishkin = landauVishkin_;
+ reverseLandauVishkin = reverseLandauVishkin_;
+ }
+
+ virtual ~IntersectingPairedEndAligner();
+
+ virtual void align(
+ Read *read0,
+ Read *read1,
+ PairedAlignmentResult *result,
+ int maxEditDistanceForSecondaryResults,
+ int secondaryResultBufferSize,
+ int *nSecondaryResults,
+ PairedAlignmentResult *secondaryResults, // The caller passes in a buffer of secondaryResultBufferSize and it's filled in by align()
+ int singleSecondaryBufferSize,
+ int maxSecondaryResultsToReturn,
+ int *nSingleEndSecondaryResultsForFirstRead,
+ int *nSingleEndSecondaryResultsForSecondRead,
+ SingleAlignmentResult *singleEndSecondaryResults // Single-end secondary alignments for when the paired-end alignment didn't work properly
+ );
+
+ static size_t getBigAllocatorReservation(GenomeIndex * index, unsigned maxBigHitsToConsider, unsigned maxReadSize, unsigned seedLen, unsigned maxSeedsFromCommandLine,
+ double seedCoverage, unsigned maxEditDistanceToConsider, unsigned maxExtraSearchDepth, unsigned maxCandidatePoolSize,
+ int maxSecondaryAlignmentsPerContig);
+
+ void *operator new(size_t size, BigAllocator *allocator) {_ASSERT(size == sizeof(IntersectingPairedEndAligner)); return allocator->allocate(size);}
+ void operator delete(void *ptr, BigAllocator *allocator) {/* do nothing. Memory gets cleaned up when the allocator is deleted.*/}
+
+ void *operator new(size_t size) {return BigAlloc(size);}
+ void operator delete(void *ptr) {BigDealloc(ptr);}
+
+ virtual _int64 getLocationsScored() const {
+ return nLocationsScored;
+ }
+
+
+private:
+
+ IntersectingPairedEndAligner() {} // This is for the counting allocator, it doesn't build a useful object
+
+ static const int NUM_SET_PAIRS = 2; // A "set pair" is read0 FORWARD + read1 RC, or read0 RC + read1 FORWARD. Again, it doesn't make sense to change this.
+
+ void allocateDynamicMemory(BigAllocator *allocator, unsigned maxReadSize, unsigned maxBigHitsToConsider, unsigned maxSeedsToUse,
+ unsigned maxEditDistanceToConsider, unsigned maxExtraSearchDepth, unsigned maxCandidatePoolSize,
+ int maxSecondaryAlignmentsPerContig);
+
+ GenomeIndex * index;
+ const Genome * genome;
+ GenomeDistance genomeSize;
+ unsigned maxReadSize;
+ unsigned maxHits;
+ unsigned maxBigHits;
+ unsigned extraSearchDepth;
+ unsigned maxK;
+ unsigned numSeedsFromCommandLine;
+ double seedCoverage;
+ static const unsigned MAX_MAX_SEEDS = 30;
+ unsigned minSpacing;
+ unsigned maxSpacing;
+ unsigned seedLen;
+ bool doesGenomeIndexHave64BitLocations;
+ _int64 nLocationsScored;
+ bool noUkkonen;
+ bool noOrderedEvaluation;
+ bool noTruncation;
+
+ static const unsigned maxMergeDistance;
+
+ //
+ // It's a template, because we
+ // have different sizes of genome locations depending on the hash table format. So, GL must be unsigned or GenomeLocation
+ //
+ template<class GL> struct HashTableLookup {
+ unsigned seedOffset;
+ _int64 nHits;
+ const GL * hits;
+ unsigned whichDisjointHitSet;
+
+ //
+ // We keep the hash table lookups that haven't been exhaused in a circular list.
+ //
+ HashTableLookup<GL> *nextLookupWithRemainingMembers;
+ HashTableLookup<GL> *prevLookupWithRemainingMembers;
+
+ //
+ // State for handling the binary search of a location in this lookup.
+ // This would ordinarily be stack local state in the binary search
+ // routine, but because a) we want to interleave the steps of the binary
+ // search in order to allow cache prefetches to have time to execute;
+ // and b) we don't want to do dynamic memory allocation (really at all),
+ // it gets stuck here.
+ //
+ int limit[2]; // The upper and lower limits of the current binary search in hits
+ GL maxGenomeLocationToFindThisSeed;
+
+ //
+ // A linked list of lookups that haven't yet completed this binary search. This is a linked
+ // list with no header element, so testing for emptiness needs to happen at removal time.
+ // It's done that way to avoid a comparison for list head that would result in a hard-to-predict
+ // branch.
+ //
+ HashTableLookup<GL> *nextLookupForCurrentBinarySearch;
+ HashTableLookup<GL> *prevLookupForCurrentBinarySearch;
+
+ _int64 currentHitForIntersection;
+
+ //
+ // A place for the hash table to write in singletons. We need this because when the hash table is
+ // built with > 4 byte genome locations, it usually doesn't store 8 bytes, so we need to
+ // provide the lookup function a place to write the result. Since we need one per
+ // lookup, it goes here.
+ //
+ GL singletonGenomeLocation[2]; // The [2] is because we need to look one before sometimes, and that allows space
+ };
+
+ //
+ // A set of seed hits, represented by the lookups that came out of the big hash table. It can be over 32 or
+ // 64 bit indices, but its external interface is always 64 bits (it extends on the way out if necessary).
+ //
+ class HashTableHitSet {
+ public:
+ HashTableHitSet() {}
+ void firstInit(unsigned maxSeeds_, unsigned maxMergeDistance_, BigAllocator *allocator, bool doesGenomeIndexHave64BitLocations_);
+
+ //
+ // Reset to empty state.
+ //
+ void init();
+
+ //
+ // Record a hash table lookup. All recording must be done before any
+ // calls to getNextHitLessThanOrEqualTo. A disjoint hit set is a set of hits
+ // that don't share any bases in the read. This is interesting because the edit
+ // distance of a read must be at least the number of seeds that didn't hit for
+ // any disjoint hit set (because there must be a difference in the read within a
+ // seed for it not to hit, and since the reads are disjoint there can't be a case
+ // where the same difference caused two seeds to miss).
+ //
+ void recordLookup(unsigned seedOffset, _int64 nHits, const unsigned *hits, bool beginsDisjointHitSet);
+ void recordLookup(unsigned seedOffset, _int64 nHits, const GenomeLocation *hits, bool beginsDisjointHitSet);
+
+ //
+ // This efficiently works through the set looking for the next hit at or below this address.
+ // A HashTableHitSet only allows a single iteration through its address space per call to
+ // init().
+ //
+ bool getNextHitLessThanOrEqualTo(GenomeLocation maxGenomeLocationToFind, GenomeLocation *actualGenomeLocationFound, unsigned *seedOffsetFound);
+
+ //
+ // Walk down just one step, don't binary search.
+ //
+ bool getNextLowerHit(GenomeLocation *genomeLocation, unsigned *seedOffsetFound);
+
+
+ //
+ // Find the highest genome address.
+ //
+ bool getFirstHit(GenomeLocation *genomeLocation, unsigned *seedOffsetFound);
+
+ unsigned computeBestPossibleScoreForCurrentHit();
+
+ //
+ // This is bit of storage that the 64 bit lookup needs in order to extend singleton hits into 64 bits, since they may be
+ // stored in the index in fewer.
+ //
+ GenomeLocation *getNextSingletonLocation()
+ {
+ return &lookups64[nLookupsUsed].singletonGenomeLocation[1];
+ }
+
+
+ private:
+ struct DisjointHitSet {
+ unsigned countOfExhaustedHits;
+ unsigned missCount;
+ };
+
+ int currentDisjointHitSet;
+ DisjointHitSet * disjointHitSets;
+ HashTableLookup<unsigned> * lookups32;
+ HashTableLookup<GenomeLocation> * lookups64;
+ HashTableLookup<unsigned> lookupListHead32[1];
+ HashTableLookup<GenomeLocation> lookupListHead64[1];
+ unsigned maxSeeds;
+ unsigned nLookupsUsed;
+ GenomeLocation mostRecentLocationReturned;
+ unsigned maxMergeDistance;
+ bool doesGenomeIndexHave64BitLocations;
+ };
+
+ HashTableHitSet * hashTableHitSets[NUM_READS_PER_PAIR][NUM_DIRECTIONS];
+
+ int countOfHashTableLookups[NUM_READS_PER_PAIR];
+ _int64 totalHashTableHits[NUM_READS_PER_PAIR][NUM_DIRECTIONS];
+ _int64 largestHashTableHit[NUM_READS_PER_PAIR][NUM_DIRECTIONS];
+ unsigned readWithMoreHits;
+ unsigned readWithFewerHits;
+
+ //
+ // A location that's been scored (or waiting to be scored). This is needed in order to do merging
+ // of close-together hits and to track potential mate pairs.
+ //
+ struct HitLocation {
+ GenomeLocation genomeLocation;
+ int genomeLocationOffset; // This is needed because we might get an offset back from scoring (because it's really scoring a range).
+ unsigned seedOffset;
+ bool isScored; // Mate pairs are sometimes not scored when they're inserted, because they
+ unsigned score;
+ unsigned maxK; // The maxK that this was scored with (we may need to rescore if we need a higher maxK and score is -1)
+ double matchProbability;
+ unsigned bestPossibleScore;
+
+ //
+ // We have to be careful in the case where lots of offsets in a row match well against the read (think
+ // about repetitive short sequences, i.e., ATTATTATTATT...). We want to merge the close ones together,
+ // but if the repetitive sequence extends longer than maxMerge, we don't want to just slide the window
+ // over the whole range and declare it all to be one. There is really no good definition for the right
+ // thing to do here, so instead all we do is that when we declare two candidates to be matched we
+ // pick one of them to be the match primary and then coalesce all matches that are within maxMatchDistance
+ // of the match primary. No one can match with any of the locations in the set that's beyond maxMatchDistance
+ // from the set primary. This means that in the case of repetitve sequences that we'll declare locations
+ // right next to one another not to be matches. There's really no way around this while avoiding
+ // matching things that are possibly much more than maxMatchDistance apart.
+ //
+ GenomeLocation genomeLocationOfNearestMatchedCandidate;
+ };
+
+
+ char *rcReadData[NUM_READS_PER_PAIR]; // the reverse complement of the data for each read
+ char *rcReadQuality[NUM_READS_PER_PAIR]; // the reversed quality strings for each read
+ unsigned readLen[NUM_READS_PER_PAIR];
+
+ Read *reads[NUM_READS_PER_PAIR][NUM_DIRECTIONS]; // These are the reads that are provided in the align call, together with their reverse complements, which are computed.
+ Read rcReads[NUM_READS_PER_PAIR][NUM_DIRECTIONS];
+
+ char *reversedRead[NUM_READS_PER_PAIR][NUM_DIRECTIONS]; // The reversed data for each read for forward and RC. This is used in the backwards LV
+
+ LandauVishkin<> *landauVishkin;
+ LandauVishkin<-1> *reverseLandauVishkin;
+
+ char rcTranslationTable[256];
+ unsigned nTable[256];
+
+ BYTE *seedUsed;
+
+ inline bool IsSeedUsed(_int64 indexInRead) const {
+ return (seedUsed[indexInRead / 8] & (1 << (indexInRead % 8))) != 0;
+ }
+
+ inline void SetSeedUsed(_int64 indexInRead) {
+ seedUsed[indexInRead / 8] |= (1 << (indexInRead % 8));
+ }
+
+ //
+ // "Local probability" means the probability that each end is correct given that the pair itself is correct.
+ // Consider the example where there's exactly one decent match for one read, but the other one has several
+ // that are all within the correct range for the first one. Then the local probability for the second read
+ // is lower than the first. The overall probability of an alignment then is
+ // pairProbability * localProbability/ allPairProbability.
+ //
+ double localBestPairProbability[NUM_READS_PER_PAIR];
+
+ void scoreLocation(
+ unsigned whichRead,
+ Direction direction,
+ GenomeLocation genomeLocation,
+ unsigned seedOffset,
+ unsigned scoreLimit,
+ unsigned *score,
+ double *matchProbability,
+ int *genomeLocationOffset // The computed offset for genomeLocation (which is needed because we scan several different possible starting locations)
+ );
+
+ //
+ // These are used to keep track of places where we should merge together candidate locations for MAPQ purposes, because they're sufficiently
+ // close in the genome.
+ //
+ struct MergeAnchor {
+ double matchProbability;
+ GenomeLocation locationForReadWithMoreHits;
+ GenomeLocation locationForReadWithFewerHits;
+ int pairScore;
+
+ void init(GenomeLocation locationForReadWithMoreHits_, GenomeLocation locationForReadWithFewerHits_, double matchProbability_, int pairScore_) {
+ locationForReadWithMoreHits = locationForReadWithMoreHits_;
+ locationForReadWithFewerHits = locationForReadWithFewerHits_;
+ matchProbability = matchProbability_;
+ pairScore = pairScore_;
+ }
+
+ //
+ // Returns whether this candidate is a match for this merge anchor.
+ //
+ bool doesRangeMatch(GenomeLocation newMoreHitLocation, GenomeLocation newFewerHitLocation) {
+ GenomeDistance deltaMore = DistanceBetweenGenomeLocations(locationForReadWithMoreHits, newMoreHitLocation);
+ GenomeDistance deltaFewer = DistanceBetweenGenomeLocations(locationForReadWithFewerHits, newFewerHitLocation);
+
+ return deltaMore < 50 && deltaFewer < 50;
+ }
+
+
+ //
+ // Returns true and sets oldMatchProbability if this should be eliminated due to a match.
+ //
+ bool checkMerge(GenomeLocation newMoreHitLocation, GenomeLocation newFewerHitLocation, double newMatchProbability, int newPairScore,
+ double *oldMatchProbability);
+ };
+
+ //
+ // We keep track of pairs of locations to score using two structs, one for each end. The ends for the read with fewer hits points into
+ // a list of structs for the end with more hits, so that we don't need one stuct for each pair, just one for each end, and also so that
+ // we don't need to score the mates more than once if they could be paired with more than one location from the end with fewer hits.
+ //
+
+ struct ScoringMateCandidate {
+ //
+ // These are kept in arrays in decreasing genome order, one for each set pair, so you can find the next largest location by just looking one
+ // index lower, and vice versa.
+ //
+ double matchProbability;
+ GenomeLocation readWithMoreHitsGenomeLocation;
+ unsigned bestPossibleScore;
+ unsigned score;
+ unsigned scoreLimit; // The scoreLimit with which score was computed
+ unsigned seedOffset;
+ int genomeOffset;
+
+ void init(GenomeLocation readWithMoreHitsGenomeLocation_, unsigned bestPossibleScore_, unsigned seedOffset_) {
+ readWithMoreHitsGenomeLocation = readWithMoreHitsGenomeLocation_;
+ bestPossibleScore = bestPossibleScore_;
+ seedOffset = seedOffset_;
+ score = -2;
+ scoreLimit = -1;
+ matchProbability = 0;
+ genomeOffset = 0;
+ }
+ };
+
+ struct ScoringCandidate {
+ ScoringCandidate * scoreListNext; // This is a singly-linked list
+ MergeAnchor * mergeAnchor;
+ unsigned scoringMateCandidateIndex; // Index into the array of scoring mate candidates where we should look
+ GenomeLocation readWithFewerHitsGenomeLocation;
+ unsigned whichSetPair;
+ unsigned seedOffset;
+
+ unsigned bestPossibleScore;
+
+ void init(GenomeLocation readWithFewerHitsGenomeLocation_, unsigned whichSetPair_, unsigned scoringMateCandidateIndex_, unsigned seedOffset_,
+ unsigned bestPossibleScore_, ScoringCandidate *scoreListNext_)
+ {
+ readWithFewerHitsGenomeLocation = readWithFewerHitsGenomeLocation_;
+ whichSetPair = whichSetPair_;
+ _ASSERT(whichSetPair < NUM_SET_PAIRS); // You wouldn't think this would be necessary, but...
+ scoringMateCandidateIndex = scoringMateCandidateIndex_;
+ seedOffset = seedOffset_;
+ bestPossibleScore = bestPossibleScore_;
+ scoreListNext = scoreListNext_;
+ mergeAnchor = NULL;
+ }
+ };
+
+ //
+ // A pool of scoring candidates. For each alignment call, we free them all by resetting lowestFreeScoringCandidatePoolEntry to 0,
+ // and then fill in the content when they're initialized. This means that for alignments with few candidates we'll be using the same
+ // entries over and over, so they're likely to be in the cache. We have maxK * maxSeeds * 2 of these in the pool, so we can't possibly run
+ // out. We rely on their being allocated in descending genome order within a set pair.
+ //
+ ScoringCandidate *scoringCandidatePool;
+ unsigned scoringCandidatePoolSize;
+ unsigned lowestFreeScoringCandidatePoolEntry;
+
+ //
+ // maxK + 1 lists of Scoring Candidates. The lists correspond to bestPossibleScore for the candidate and its best mate.
+ //
+
+ ScoringCandidate **scoringCandidates;
+
+ //
+ // The scoring mates. The each set scoringCandidatePoolSize / 2.
+ //
+ ScoringMateCandidate * scoringMateCandidates[NUM_SET_PAIRS];
+ unsigned lowestFreeScoringMateCandidate[NUM_SET_PAIRS];
+
+ //
+ // Merge anchors. Again, we allocate an upper bound number of them, which is the same as the number of scoring candidates.
+ //
+ MergeAnchor *mergeAnchorPool;
+ unsigned firstFreeMergeAnchor;
+ unsigned mergeAnchorPoolSize;
+
+
+ struct HitsPerContigCounts {
+ _int64 epoch; // Rather than zeroing this whole array every time, we just bump the epoch number; results with an old epoch are considered zero
+ int hits;
+ };
+
+ HitsPerContigCounts *hitsPerContigCounts; // How many alignments are we reporting for each contig. Used to implement -mpc, otheriwse unallocated.
+ int maxSecondaryAlignmentsPerContig;
+ _int64 contigCountEpoch;
+};
diff --git a/SNAPLib/LandauVishkin.cpp b/SNAPLib/LandauVishkin.cpp
new file mode 100644
index 0000000..a68512d
--- /dev/null
+++ b/SNAPLib/LandauVishkin.cpp
@@ -0,0 +1,766 @@
+#include "stdafx.h"
+#include "Compat.h"
+#include "LandauVishkin.h"
+#include "mapq.h"
+#include "Read.h"
+#include "BaseAligner.h"
+#include "Bam.h"
+#include "exit.h"
+#include "Error.h"
+
+using std::make_pair;
+using std::min;
+
+
+LandauVishkinWithCigar::LandauVishkinWithCigar()
+{
+ for (int i = 0; i < MAX_K+1; i++) {
+ for (int j = 0; j < 2*MAX_K+1; j++) {
+ L[i][j] = -2;
+ }
+ }
+ totalIndels[0][MAX_K] = 0;
+}
+
+/*++
+ Write cigar to buffer, return true if it fits
+ null-terminates buffer if it returns false (i.e. fills up buffer)
+--*/
+bool writeCigar(char** o_buf, int* o_buflen, int count, char code, CigarFormat format)
+{
+ _ASSERT(count >= 0);
+ if (count <= 0) {
+ return true;
+ }
+ switch (format) {
+ case EXPANDED_CIGAR_STRING: {
+ int n = min(*o_buflen, count);
+ for (int i = 0; i < n; i++) {
+ *(*o_buf)++ = code;
+ }
+ *o_buflen -= n;
+ if (*o_buflen == 0) {
+ *(*o_buf - 1) = '\0';
+ }
+ return *o_buflen > 0;
+ }
+ case COMPACT_CIGAR_STRING: {
+ if (*o_buflen == 0) {
+ *(*o_buf - 1) = '\0';
+ return false;
+ }
+ int written = snprintf(*o_buf, *o_buflen, "%d%c", count, code);
+ if (written > *o_buflen - 1) {
+ *o_buf = '\0';
+ return false;
+ } else {
+ *o_buf += written;
+ *o_buflen -= written;
+ return true;
+ }
+ }
+ case COMPACT_CIGAR_BINARY:
+ // binary format with non-zero count byte followed by char (easier to examine programmatically)
+ while (true) {
+ if (*o_buflen < 3) {
+ *(*o_buf) = '\0';
+ return false;
+ }
+ *(*o_buf)++ = min(count, 255);
+ *(*o_buf)++ = code;
+ *o_buflen -= 2;
+ if (count <= 255) {
+ return true;
+ }
+ count -= 255;
+ }
+ case BAM_CIGAR_OPS:
+ if (*o_buflen < 4 || count >= (1 << 28)) {
+ return false;
+ }
+ *(_uint32*)*o_buf = (count << 4) | BAMAlignment::CigarToCode[code];
+ *o_buf += 4;
+ *o_buflen -= 4;
+ return true;
+ default:
+ WriteErrorMessage( "invalid cigar format %d\n", format);
+ soft_exit(1);
+ return false; // Not reached. This is just here to suppress a compiler warning.
+ } // switch
+}
+
+#if 0
+inline void validateAction(char& last, char current)
+{
+ _ASSERT(last != current);
+ last = current;
+}
+#else
+inline void validateAction(char& last, char current) {}
+#endif
+
+
+ void
+LandauVishkinWithCigar::printLinear(
+ char* buffer,
+ int bufferSize,
+ unsigned variant)
+{
+ _ASSERT(bufferSize >= 12);
+ int inserts = (variant >> CigarInsertCShift) & CigarInsertCount;
+ if (inserts > 0) {
+ *buffer++ = '0' + inserts;
+ *buffer++ = 'I';
+ for (int i = 0; i < inserts; i++) {
+ *buffer++ = VALUE_BASE[(variant >> (CigarInsertBShift + 2 * i)) & 3];
+ }
+ }
+ unsigned op = variant & CigarOpcode;
+ if (op >= CigarReplace && op < CigarDelete) {
+ *buffer++ = 'X';
+ *buffer++ = VALUE_BASE[op - CigarReplace];
+ } else if (op == CigarDelete) {
+ *buffer++ = 'D';
+ }
+ *buffer++ = 0;
+}
+
+#if 0
+static const int PrevDelta[3][3] = // Version that minimizes NET indels (ie., |#ins - #del|
+ {{+1, 0, -1}, // d < 0
+ {0, -1, +1}, // d == 0
+ {-1, 0, +1}}; // d > 0
+#else // 0
+ static const int PrevDelta[3][3] = // Version that minimizes absolute indels (ie., #ins + #del)
+ { { 0, +1, -1}, // d < 0
+ { 0, +1, -1 }, // d == 0
+ { 0, -1, +1 } }; // d > 0
+#endif // 0
+
+int LandauVishkinWithCigar::computeEditDistance(
+ const char* text, int textLen,
+ const char* pattern, int patternLen,
+ int k,
+ char *cigarBuf, int cigarBufLen, bool useM,
+ CigarFormat format, int* o_cigarBufUsed, int* o_textUsed,
+ int *o_netIndel)
+{
+ int localNetIndel;
+ if (NULL == o_netIndel) {
+ //
+ // If the user doesn't want netIndel, just use a stack local to avoid
+ // having to check it all the time.
+ //
+ o_netIndel = &localNetIndel;
+ }
+ _ASSERT(k < MAX_K);
+
+ *o_netIndel = 0;
+
+ _ASSERT(patternLen >= 0 && textLen >= 0);
+ _ASSERT(k < MAX_K);
+ const char* p = pattern;
+ const char* t = text;
+ char* cigarBufStart = cigarBuf;
+ if (NULL == text) {
+ return -1; // This happens when we're trying to read past the end of the genome.
+ }
+
+ int end = min(patternLen, textLen);
+ const char* pend = pattern + end;
+ while (p < pend) {
+ _uint64 x = *((_uint64*) p) ^ *((_uint64*) t);
+ if (x) {
+ unsigned long zeroes;
+ CountTrailingZeroes(x, zeroes);
+ zeroes >>= 3;
+ L[0][MAX_K] = min((int)(p - pattern) + (int)zeroes, end);
+ goto done1;
+ }
+ p += 8;
+ t += 8;
+ }
+ L[0][MAX_K] = end;
+done1:
+ if (L[0][MAX_K] == end) {
+ // We matched the text exactly; fill the CIGAR string with all ='s (or M's)
+ if (useM) {
+ if (! writeCigar(&cigarBuf, &cigarBufLen, patternLen, 'M', format)) {
+ return -2;
+ }
+ // todo: should this also write X's like '=' case? or is 'M' special?
+ } else {
+ if (! writeCigar(&cigarBuf, &cigarBufLen, end, '=', format)) {
+ return -2;
+ }
+ if (patternLen > end) {
+ // Also need to write a bunch of X's past the end of the text
+ if (! writeCigar(&cigarBuf, &cigarBufLen, patternLen - end, 'X', format)) {
+ return -2;
+ }
+ }
+ }
+ // todo: should this null-terminate?
+ if (o_cigarBufUsed != NULL) {
+ *o_cigarBufUsed = (int)(cigarBuf - cigarBufStart);
+ }
+ if (o_textUsed != NULL) {
+ *o_textUsed = end;
+ }
+ return 0;
+ }
+
+ char lastAction = '*';
+
+ int e;
+ int lastBestIndels = MAX_K + 1;
+ int lastBestD = MAX_K + 1;
+ int lastBestBest;
+
+ for (e = 1; e <= k; e++) {
+ // Go through the offsets, d, in the order 0, -1, 1, -2, 2, etc, in order to find CIGAR strings
+ // with few indels first if possible.
+ for (int d = 0; d != -(e+1); d = (d >= 0 ? -(d+1) : -d)) {
+ int bestdelta = 0;
+ int bestbest = -1;
+ int bestBestIndels = MAX_K + 1;
+ // extend previous solutions as far as possible, pick best, minimizing indels
+ int dy = (d >= 0) + (d > 0);
+ for (int dx = 0; dx < 3; dx++) {
+ int delta = PrevDelta[dy][dx];
+ int best = L[e-1][MAX_K+d + delta] + (delta >= 0);
+ int bestIndels = totalIndels[e - 1][MAX_K + d + delta] + (delta != 0); // Our parent, plus one if this is an indel
+ if (best < 0) {
+ continue;
+ }
+ const char* p = pattern + best;
+ const char* t = (text + d) + best;
+ if (*p == *t) {
+ int end = min(patternLen, textLen - d);
+ const char* pend = pattern + end;
+
+ while (true) {
+ _uint64 x = *((_uint64*) p) ^ *((_uint64*) t);
+ if (x) {
+ unsigned long zeroes;
+ CountTrailingZeroes(x, zeroes);
+ zeroes >>= 3;
+ best = min((int)(p - pattern) + (int)zeroes, end);
+ break;
+ }
+ p += 8;
+ if (p >= pend) {
+ best = end;
+ break;
+ }
+ t += 8;
+ }
+ }
+ if (best > bestbest || best == bestbest && bestIndels < bestBestIndels) {
+ bestbest = best;
+ bestdelta = delta;
+ bestBestIndels = bestIndels;
+ }
+ }
+ int best = bestbest;
+ A[e][MAX_K+d] = "DXI"[bestdelta + 1];
+
+ L[e][MAX_K+d] = best;
+ totalIndels[e][MAX_K + d] = bestBestIndels;
+
+ if (best == patternLen) {
+
+ if (bestBestIndels == 0) {
+ lastBestIndels = bestBestIndels;
+ lastBestD = d;
+ lastBestBest = best;
+ goto got_answer;
+ }
+
+ if (abs(lastBestIndels) > bestBestIndels) {
+ lastBestIndels = bestBestIndels;
+ lastBestD = d;
+ lastBestBest = best;
+ }
+ } // if best == patternlen
+ } // for d
+
+ if (lastBestD != MAX_K + 1) {
+ goto got_answer;
+ }
+ } // for e
+
+ // Could not align strings with at most K edits
+ *(cigarBuf - (cigarBufLen == 0 ? 1 : 0)) = '\0'; // terminate string
+ return -1;
+
+got_answer:
+ // We're done. First, let's see whether we can reach e errors with no indels. Otherwise, we'll
+ // trace back through the dynamic programming array to build up the CIGAR string.
+
+ int straightMismatches = 0;
+ for (int i = 0; i < end; i++) {
+ if (pattern[i] != text[i]) {
+ straightMismatches++;
+ }
+ }
+ straightMismatches += patternLen - end;
+ if (straightMismatches == e) {
+ // We can match with no indels; let's do that
+ if (useM) {
+ //
+ // No inserts or deletes, and with useM equal and SNP look the same, so just
+ // emit a simple string.
+ //
+ validateAction(lastAction, 'M');
+ if (!writeCigar(&cigarBuf, &cigarBufLen, patternLen, 'M', format)) {
+ return -2;
+ }
+ }
+ else {
+ int streakStart = 0;
+ bool matching = (pattern[0] == text[0]);
+ for (int i = 0; i < end; i++) {
+ bool newMatching = (pattern[i] == text[i]);
+ if (newMatching != matching) {
+ validateAction(lastAction, matching ? '=' : 'X');
+ if (!writeCigar(&cigarBuf, &cigarBufLen, i - streakStart, (matching ? '=' : 'X'), format)) {
+ return -2;
+ }
+ matching = newMatching;
+ streakStart = i;
+ }
+ }
+
+ // Write the last '=' or 'X' streak
+ if (patternLen > streakStart) {
+ if (!matching) {
+ // Write out X's all the way to patternLen
+ validateAction(lastAction, 'X');
+ if (!writeCigar(&cigarBuf, &cigarBufLen, patternLen - streakStart, 'X', format)) {
+ return -2;
+ }
+ }
+ else {
+ // Write out some ='s and then possibly X's if pattern is longer than text
+ validateAction(lastAction, '=');
+ if (!writeCigar(&cigarBuf, &cigarBufLen, end - streakStart, '=', format)) {
+ return -2;
+ }
+ if (patternLen > end) {
+ validateAction(lastAction, 'X');
+ if (!writeCigar(&cigarBuf, &cigarBufLen, patternLen - end, 'X', format)) {
+ return -2;
+ }
+ }
+ }
+ }
+ }
+ *(cigarBuf - (cigarBufLen == 0 ? 1 : 0)) = '\0'; // terminate string
+ if (o_cigarBufUsed != NULL) {
+ *o_cigarBufUsed = (int)(cigarBuf - cigarBufStart);
+ }
+ if (o_textUsed != NULL) {
+ *o_textUsed = end;
+ }
+ return e;
+ }
+
+#ifdef TRACE_LV
+ // Dump the contents of the various arrays
+ printf("Done with e=%d, d=%d\n", e, d);
+ for (int ee = 0; ee <= e; ee++) {
+ for (int dd = -e; dd <= e; dd++) {
+ if (dd >= -ee && dd <= ee)
+ printf("%3d ", L[ee][MAX_K + dd]);
+ else
+ printf(" ");
+ }
+ printf("\n");
+ }
+ for (int ee = 0; ee <= e; ee++) {
+ for (int dd = -e; dd <= e; dd++) {
+ if (dd >= -ee && dd <= ee)
+ printf("%3c ", A[ee][MAX_K + dd]);
+ else
+ printf(" ");
+ }
+ printf("\n");
+ }
+#endif
+
+ // Trace backward to build up the CIGAR string. We do this by filling in the backtraceAction,
+ // backtraceMatched and backtraceD arrays, then going through them in the forward direction to
+ // figure out our string.
+ int curD = lastBestD;
+ for (int curE = e; curE >= 1; curE--) {
+ backtraceAction[curE] = A[curE][MAX_K + curD];
+ if (backtraceAction[curE] == 'I') {
+ backtraceD[curE] = curD + 1;
+ backtraceMatched[curE] = L[curE][MAX_K + curD] - L[curE - 1][MAX_K + curD + 1] - 1;
+ }
+ else if (backtraceAction[curE] == 'D') {
+ backtraceD[curE] = curD - 1;
+ backtraceMatched[curE] = L[curE][MAX_K + curD] - L[curE - 1][MAX_K + curD - 1];
+ }
+ else { // backtraceAction[curE] == 'X'
+ backtraceD[curE] = curD;
+ backtraceMatched[curE] = L[curE][MAX_K + curD] - L[curE - 1][MAX_K + curD] - 1;
+ }
+ curD = backtraceD[curE];
+#ifdef TRACE_LV
+ printf("%d %d: %d %c %d %d\n", curE, curD, L[curE][MAX_K + curD],
+ backtraceAction[curE], backtraceD[curE], backtraceMatched[curE]);
+#endif
+ }
+
+ int accumulatedMs; // Count of Ms that we need to emit before an I or D (or ending).
+ if (useM) {
+ accumulatedMs = L[0][MAX_K + 0];
+ }
+ else {
+ // Write out ='s for the first patch of exact matches that brought us to L[0][0]
+ if (L[0][MAX_K + 0] > 0) {
+ validateAction(lastAction, '=');
+ if (!writeCigar(&cigarBuf, &cigarBufLen, L[0][MAX_K + 0], '=', format)) {
+ return -2;
+ }
+ }
+ }
+
+ int curE = 1;
+ while (curE <= e) {
+ // First write the action, possibly with a repeat if it occurred multiple times with no exact matches
+ char action = backtraceAction[curE];
+ int actionCount = 1;
+ while (curE + 1 <= e && backtraceMatched[curE] == 0 && backtraceAction[curE + 1] == action) {
+ actionCount++;
+ curE++;
+ }
+
+ if (action == 'I') {
+ *o_netIndel -= actionCount;
+ } else if (action == 'D') {
+ *o_netIndel += actionCount;
+ }
+
+ if (useM) {
+ if (action == '=' || action == 'X') {
+ accumulatedMs += actionCount;
+ }
+ else {
+ if (accumulatedMs != 0) {
+ validateAction(lastAction, 'M');
+ if (!writeCigar(&cigarBuf, &cigarBufLen, accumulatedMs, 'M', format)) {
+ return -2;
+ }
+ accumulatedMs = 0;
+ }
+ validateAction(lastAction, action);
+ if (!writeCigar(&cigarBuf, &cigarBufLen, actionCount, action, format)) {
+ return -2;
+ }
+ }
+ }
+ else {
+ validateAction(lastAction, action);
+ if (!writeCigar(&cigarBuf, &cigarBufLen, actionCount, action, format)) {
+ return -2;
+ }
+ }
+ // Next, write out ='s for the exact match
+ if (backtraceMatched[curE] > 0) {
+ if (useM) {
+ accumulatedMs += backtraceMatched[curE];
+ }
+ else {
+ validateAction(lastAction, '=');
+ if (!writeCigar(&cigarBuf, &cigarBufLen, backtraceMatched[curE], '=', format)) {
+ return -2;
+ }
+ }
+ }
+ curE++;
+ }
+ if (useM && accumulatedMs != 0) {
+ //
+ // Write out the trailing Ms.
+ //
+ validateAction(lastAction, 'M');
+ if (!writeCigar(&cigarBuf, &cigarBufLen, accumulatedMs, 'M', format)) {
+ return -2;
+ }
+ }
+ if (format != BAM_CIGAR_OPS) {
+ *(cigarBuf - (cigarBufLen == 0 ? 1 : 0)) = '\0'; // terminate string
+ }
+ if (o_cigarBufUsed != NULL) {
+ *o_cigarBufUsed = (int)(cigarBuf - cigarBufStart);
+ }
+ if (o_textUsed != NULL) {
+ *o_textUsed = min(textLen, lastBestBest + lastBestD);
+ }
+ return e;
+}
+
+int LandauVishkinWithCigar::computeEditDistanceNormalized(
+ const char* text, int textLen,
+ const char* pattern, int patternLen,
+ int k,
+ char *cigarBuf, int cigarBufLen, bool useM,
+ CigarFormat format, int* o_cigarBufUsed,
+ int* o_addFrontClipping,
+ int *o_netIndel)
+{
+ if (format != BAM_CIGAR_OPS && format != COMPACT_CIGAR_STRING) {
+ WriteErrorMessage("LandauVishkinWithCigar::computeEditDistanceNormalized invalid parameter\n");
+ soft_exit(1);
+ }
+ int bamBufLen = (format == BAM_CIGAR_OPS ? 1 : 2) * cigarBufLen; // should be enough
+ char* bamBuf = (char*)alloca(bamBufLen);
+ int bamBufUsed, textUsed;
+ int score = computeEditDistance(text, (int)textLen, pattern, (int)patternLen, k, bamBuf, bamBufLen,
+ useM, BAM_CIGAR_OPS, &bamBufUsed, &textUsed, o_netIndel);
+ if (score < 0) {
+ return score;
+ }
+
+ _uint32* bamOps = (_uint32*)bamBuf;
+ int bamOpCount = bamBufUsed / sizeof(_uint32);
+
+#if 0 // Not sure this is necessary, and it seems to cause problems with the new LV that won't put indels at the end
+ bool hasIndels = false;
+ for (int i = 0; i < bamOpCount; i++) {
+ char c = BAMAlignment::CodeToCigar[BAMAlignment::GetCigarOpCode(bamOps[i])];
+ if (c == 'I' || c == 'D') {
+ hasIndels = true;
+ break;
+ }
+ }
+
+
+ if (hasIndels) {
+ // run it again in reverse so it pushes indels towards the beginning
+ char* text2 = (char*)alloca(textLen + 1);
+ _ASSERT(textUsed <= textLen);
+ util::memrevcpy(text2, text, textUsed);
+ char* pattern2 = (char*)alloca(patternLen + 1);
+ util::memrevcpy(pattern2, pattern, patternLen);
+ char* bamBuf2 = (char*)alloca(bamBufLen);
+ int bamBufUsed2, textUsed2;
+ int score2 = computeEditDistance(text2, textUsed, pattern2, patternLen, k, bamBuf2, bamBufLen,
+ useM, BAM_CIGAR_OPS, &bamBufUsed2, &textUsed2);
+ if (score == score2 /* && bamBufUsed2 == bamBufUsed && textUsed2 == textUsed*/) {
+ bamBuf = bamBuf2;
+ bamBufUsed = bamBufUsed2;
+ bamOpCount = bamBufUsed2 / sizeof(_uint32);
+ textUsed = textUsed2;
+ // reverse the operations
+ for (int i = 0; i < bamOpCount; i++) {
+ bamOps[i] = ((_uint32*)bamBuf2)[bamOpCount - 1 - i];
+ }
+ } else if (false) { // debugging
+ text2[textUsed2] = 0;
+ pattern2[patternLen] = 0;
+ WriteErrorMessage("inconsistent forward/reverse comparison\nreverse score %d, textUsed %d, bamUsed %d, text/pattern:\n%s\n%s\n",
+ score2, textUsed2, bamBufUsed2, text2, pattern2);
+ memcpy(text2, text, textLen);
+ text2[textLen] = 0;
+ memcpy(pattern2, pattern, patternLen);
+ pattern2[patternLen] = 0;
+ WriteErrorMessage("forward score %d, textUsed %d, bamUsed %d, text/pattern:\n%s\n%s\n",
+ score, textUsed, bamBufUsed, text2, pattern2);
+ }
+ }
+#endif // 0 // Not sure this is necessary, and it seems to cause problems with the new LV that won't put indels at the end
+
+#if 0 // This shouldn't happen anymore, the basic computeEditDistance doesn't allow it
+
+ //
+ // Trim out any trailing insertions, which can just be changed or merge in to X (or M as the case may be).
+ //
+ _ASSERT(bamOpCount > 0);
+ char lastCode = BAMAlignment::CodeToCigar[BAMAlignment::GetCigarOpCode(bamOps[bamOpCount - 1])];
+ if ('I' == lastCode) {
+ //
+ // See if it merges into the previous cigar code (which it will if it's M or X, but not D or =).
+ //
+ if (bamOpCount != 1) {
+ char previousOp = BAMAlignment::CodeToCigar[BAMAlignment::GetCigarOpCode(bamOps[bamOpCount - 2])];
+ if ('X' == previousOp || 'M' == previousOp) {
+ int newCount = BAMAlignment::GetCigarOpCount(bamOps[bamOpCount - 1]) + BAMAlignment::GetCigarOpCount(bamOps[bamOpCount - 2]);
+ bamOps[bamOpCount - 2] = (newCount << 4) | BAMAlignment::CigarToCode[previousOp];
+ bamOpCount--;
+ bamBufUsed -= sizeof(_uint32);
+ } else if ('=' == previousOp) {
+ //
+ // The previous op was =, which this obviously doesn't. Convert the final code to X or M.
+ //
+ bamOps[bamOpCount - 1] = (BAMAlignment::GetCigarOpCount(bamOps[bamOpCount - 1]) << 4) | BAMAlignment::CigarToCode[useM ? 'M' : 'X'];
+ }
+ }
+ }
+
+#endif // 0 // This shouldn't happen anymore, the basic computeEditDistance doesn't allow it. Just assert it
+ _ASSERT('I' != BAMAlignment::CodeToCigar[BAMAlignment::GetCigarOpCode(bamOps[bamOpCount - 1])]);
+
+ //
+ // Turn leading 'D' into soft clipping, and 'I' into an alignment change followed by an X.
+ //
+ if (o_addFrontClipping != NULL) {
+ char firstCode = BAMAlignment::CodeToCigar[BAMAlignment::GetCigarOpCode(bamOps[0])];
+ if (firstCode == 'D') {
+ *o_addFrontClipping = BAMAlignment::GetCigarOpCount(bamOps[0]);
+ if (*o_addFrontClipping != 0) {
+ return 0; // can fail, will be rerun with new clipping
+ }
+ } else if (firstCode == 'I') {
+ *o_addFrontClipping = -1 * BAMAlignment::GetCigarOpCount(bamOps[0]);
+ } else {
+ *o_addFrontClipping = 0;
+ }
+ }
+
+
+ _ASSERT(bamOpCount <= 1 || BAMAlignment::CodeToCigar[BAMAlignment::GetCigarOpCode(bamOps[bamOpCount - 1])] != 'I'); // We should have cleared all of these out
+ _ASSERT(bamOpCount <= 1 || BAMAlignment::CodeToCigar[BAMAlignment::GetCigarOpCode(bamOps[bamOpCount - 1])] != 'D'); // And none of these should happen, either.
+// Seems to happen; TODO: fix this _ASSERT(bamOpCount <= 1 || BAMAlignment::CodeToCigar[BAMAlignment::GetCigarOpCode(bamOps[0])] != 'D');
+// Seems to happen; TODO: fix this _ASSERT(bamOpCount <= 1 || BAMAlignment::CodeToCigar[BAMAlignment::GetCigarOpCode(bamOps[0])] != 'I');
+
+ // copy out cigar info
+ if (format == BAM_CIGAR_OPS) {
+ memcpy(cigarBuf, bamOps, bamBufUsed);
+ if (o_cigarBufUsed != NULL) {
+ *o_cigarBufUsed = bamBufUsed;
+ }
+ } else {
+ bool ok = BAMAlignment::decodeCigar(cigarBuf, cigarBufLen, bamOps, bamOpCount);
+ if (! ok) {
+ return -1;
+ }
+ if (o_cigarBufUsed != NULL) {
+ *o_cigarBufUsed = (int)strlen(cigarBuf) + 1;
+ }
+
+
+ }
+ return score;
+}
+
+ int
+LandauVishkinWithCigar::linearizeCompactBinary(
+ _uint16* o_linear,
+ int referenceSize,
+ char* cigar,
+ int cigarSize,
+ char* sample,
+ int sampleSize)
+{
+ memset(o_linear, 0, referenceSize * 2); // zero-init
+ int ic = 0, ir = 0, is = 0; // index into cigar, linear/reference, and sample
+ while (ic < cigarSize) {
+ int n = (unsigned char) cigar[ic++];
+ char code = cigar[ic++];
+ int ii, base;
+ for (int i = 0; i < n; i++) {
+ if ((code != 'I' && ir >= referenceSize) || (code != 'D' && is >= sampleSize)) {
+ return ir;
+ }
+ if (code != 'D') {
+ base = sample[is] != 'N' ? BASE_VALUE[sample[is]] : 0;
+ is++;
+ }
+ switch (code) {
+ case '=':
+ ir++;
+ break;
+ case 'X':
+ o_linear[ir++] |= CigarReplace + base;
+ break;
+ case 'D':
+ o_linear[ir++] |= CigarDelete;
+ break;
+ case 'I':
+ ii = (o_linear[ir] >> CigarInsertCShift) & CigarInsertCount;
+ if (ii < 4) {
+ o_linear[ir] = (base << (2 * ii + CigarInsertBShift)) | ((ii + 1) << CigarInsertCShift);
+ } else if (ii < 7) {
+ o_linear[ir] = (o_linear[ir] & CigarInsertBases) | ((ii + 1) << CigarInsertCShift);
+ }
+ break;
+ default:
+ _ASSERT(false);
+ }
+ }
+ }
+ return ir;
+}
+
+ void
+setLVProbabilities(double *i_indelProbabilities, double *i_phredToProbability, double mutationProbability)
+{
+ lv_indelProbabilities = i_indelProbabilities;
+
+ //
+ // Compute the phred table to incorporate the mutation probability, assuming that machine errors and mutations
+ // are independent (which there's no reason not to think is the case). If P(A) and P(B) are independent, then
+ // P(A or B) = P(not (not-A and not-B)) = 1-(1-P(A))(1-P(B)).
+ //
+ for (unsigned i = 0; i < 255; i++) {
+ lv_phredToProbability[i] = 1.0-(1.0 - i_phredToProbability[i]) * (1.0 - mutationProbability);
+ }
+}
+
+ void
+initializeLVProbabilitiesToPhredPlus33()
+{
+ static bool alreadyInitialized = false;
+ if (alreadyInitialized) {
+ return;
+ }
+ alreadyInitialized = true;
+
+ //
+ // indel probability is .0001 for any indel (10% of a SNP real difference), and then 10% worse for each longer base.
+ //
+ _ASSERT(NULL == lv_phredToProbability);
+ lv_phredToProbability = (double *)BigAlloc(sizeof(double) * 256);
+
+ static const int maxIndels = 10000; // Way more than we'll see, and in practice enough to result in p=0.0;
+ _ASSERT(NULL == lv_indelProbabilities);
+ lv_indelProbabilities = (double *)BigAlloc(sizeof(double) * maxIndels);
+
+ const double mutationRate = SNP_PROB;
+ lv_indelProbabilities = new double[maxIndels+1];
+ lv_indelProbabilities[0] = 1.0;
+ lv_indelProbabilities[1] = GAP_OPEN_PROB;
+ for (int i = 2; i <= maxIndels; i++) {
+ lv_indelProbabilities[i] = lv_indelProbabilities[i-1] * GAP_EXTEND_PROB;
+ }
+
+ //
+ // Use 0.001 as the probability of a real SNP, then or it with the Phred+33 probability.
+ //
+ for (int i = 0; i < 33; i++) {
+ lv_phredToProbability[i] = mutationRate; // This isn't a sensible Phred score
+ }
+ for (int i = 33; i <= 93 + 33; i++) {
+ lv_phredToProbability[i] = 1.0-(1.0 - pow(10.0,-1.0 * (i - 33.0) / 10.0)) * (1.0 - mutationRate);
+ }
+ for (int i = 93 + 33 + 1; i < 256; i++) {
+ lv_phredToProbability[i] = mutationRate; // This isn't a sensible Phred score
+ }
+
+ _ASSERT(NULL == lv_perfectMatchProbability);
+ lv_perfectMatchProbability = new double[MaxReadLength+1];
+ lv_perfectMatchProbability[0] = 1.0;
+ for (unsigned i = 1; i <= MaxReadLength; i++) {
+ lv_perfectMatchProbability[i] = lv_perfectMatchProbability[i - 1] * (1 - SNP_PROB);
+ }
+
+ initializeMapqTables();
+}
+
+double *lv_phredToProbability = NULL;
+double *lv_indelProbabilities = NULL;
+double *lv_perfectMatchProbability = NULL;
diff --git a/SNAPLib/LandauVishkin.h b/SNAPLib/LandauVishkin.h
new file mode 100644
index 0000000..5f8ad20
--- /dev/null
+++ b/SNAPLib/LandauVishkin.h
@@ -0,0 +1,512 @@
+#pragma once
+#include "Compat.h"
+#include "FixedSizeMap.h"
+#include "BigAlloc.h"
+#include "exit.h"
+#include "Genome.h"
+
+const int MAX_K = 63;
+
+//
+// These are global so there are only one for both senses of the template
+//
+
+extern double *lv_indelProbabilities; // Maps indels by length to probability of occurance.
+extern double *lv_phredToProbability; // Maps ASCII phred character to probability of error, including
+extern double *lv_perfectMatchProbability; // Probability that a read of this length has no mutations
+
+struct LVResult {
+ short k;
+ short result;
+ short netIndel;
+ double matchProbability;
+
+ LVResult() { k = -1; result = -1; netIndel = 0;}
+
+ LVResult(short k_, short result_, short netIndel_, double matchProbability_) {
+ k = k_;
+ result = result_;
+ netIndel = netIndel_;
+ matchProbability = matchProbability_;
+ }
+
+ inline bool isValid() { return k != -1; }
+};
+
+
+
+static inline void memsetint(int* p, int value, int count)
+{
+// this is required to get around a GCC optimization bug
+#ifndef _MSC_VER
+ volatile
+#endif
+ int * q = p;
+ for (int i = 0; i < count; i++) {
+ q[i] = value;
+ }
+}
+
+// Computes the edit distance between two strings without returning the edits themselves.
+// Set TEXT_DIRECTION to -1 to run backwards through the text.
+template<int TEXT_DIRECTION = 1> class LandauVishkin {
+
+//
+// Macros to make arrays with negative indices seem "natural" in the code.
+//
+#define L(e,d) L_zero [(e) * (2 * MAX_K + 1) + (d)]
+#define A(e,d) A_zero [(e) * (2 * MAX_K + 1) + (d)]
+
+public:
+ LandauVishkin()
+{
+ if (TEXT_DIRECTION != 1 && TEXT_DIRECTION != -1) {
+ fprintf(stderr, "You can't possibly be serious.\n");
+ soft_exit(1);
+ }
+
+ memsetint(L_space, -2, (MAX_K + 1) * (2 * MAX_K + 1));
+
+ L_zero = L_space + MAX_K; // The address of L(0,0)
+ A_zero = A_space + MAX_K; // The address of A(0,0)
+
+ //
+ // Initialize dTable, which is used to avoid a branch misprediction in our inner loop.
+ // The d values are 0, -1, 1, -2, 2, etc.
+ //
+ for (int i = 0, d = 0; i < 2 * (MAX_K + 1) + 1; i++, d = (d > 0 ? -d : -d+1)) {
+ dTable[i] = d;
+ }
+}
+/*
+ void pushBackCacheStats()
+ {
+ if (NULL != cache) {
+ cache->pushBackCacheStats();
+ }
+ }
+*/
+ static size_t getBigAllocatorReservation() {return sizeof(LandauVishkin<TEXT_DIRECTION>);} // maybe we should worry about allocating the cache with a BigAllocator, but not for now.
+
+ ~LandauVishkin()
+{
+}
+
+ // Compute the edit distance between two strings, if it is <= k, or return -1 otherwise.
+
+ //
+ // The essential method is to build up the L array row by row. L[e][d] is the farthest that you can get
+ // through the pattern (read data) with e changes (single base substition, insert or delete) and a net indel of d.
+ // Once you get to the end of the read, you've computed the best edit distance (e). L[e][d] can be computed
+ // by looking at L[e-1][d-1 .. d+1], depending on whether the next change is a deletion, insertion or
+ // substitution.
+ //
+ // Because d can be negative, the L array doesn't really use L[e][d]. Instead, it uses L[e][MAX_K+d], because MAX_K is
+ // the largest possible edit distance, and hence d can never be less than -MAX_K, so MAX_K + d >= 0. However, the L and A macros
+ // conceal this internally.
+ //
+ // Also, because of the way the alignment algorithms work, sometimes SNAP wants to run the edit distance
+ // backward. This is built as a template with TEXT_DIRECTION either 1 for forward or -1 for backward, just to make
+ // it extra confusing.
+ //
+
+ int computeEditDistance(
+ const char* text,
+ int textLen,
+ const char* pattern,
+ const char *qualityString,
+ int patternLen,
+ int k,
+ double *matchProbability,
+ int *o_netIndel = NULL) // the net of insertions and deletions in the alignment. Negative for insertions, positive for deleteions (and 0 if there are non in net). Filled in only if matchProbability is non-NULL
+{
+ int localNetIndel;
+ int d;
+ if (NULL == o_netIndel) {
+ //
+ // If the user doesn't want netIndel, just use a stack local to avoid
+ // having to check it all the time.
+ //
+ o_netIndel = &localNetIndel;
+ }
+ _ASSERT(k < MAX_K);
+
+ *o_netIndel = 0;
+
+ k = __min(MAX_K - 1, k); // enforce limit even in non-debug builds
+ if (NULL == text) {
+ // This happens when we're trying to read past the end of the genome.
+ if (NULL != matchProbability) {
+ *matchProbability = 0.0;
+ }
+ return -1;
+ }
+
+ if (NULL != matchProbability) {
+ //
+ // Start with perfect match probability and work our way down.
+ //
+ *matchProbability = 1.0;
+ }
+
+ if (TEXT_DIRECTION == -1) {
+ text--; // so now it points at the "first" character of t, not after it.
+ }
+
+ const char* p = pattern;
+ const char* t = text;
+ int end = __min(patternLen, textLen);
+ const char* pend = pattern + end;
+
+ L(0, 0) = countPerfectMatch(p, t, end);
+
+ if (L(0, 0) == end) {
+ int result = (patternLen > end ? patternLen - end : 0); // Could need some deletions at the end
+ if (NULL != matchProbability) {
+ *matchProbability = lv_perfectMatchProbability[patternLen]; // Becuase the chance of a perfect match is < 1
+ }
+ if (result > k) {
+ //
+ // The deletions at the end pushed us oevr the score limit.
+ //
+ return -1;
+ }
+ return result;
+ }
+
+ int lastBestD = MAX_K + 1;
+ int e;
+
+ for (e = 1; e <= k; e++) {
+ // Search d's in the order 0, 1, -1, 2, -2, etc to find an alignment with as few indels as possible.
+ // dTable is just precomputed d = (d > 0 ? -d : -d+1) to save the branch misprediction from (d > 0)
+ int i =0;
+ for (d = 0; d != e+1 ; i++, d = dTable[i]) {
+ int best = L(e-1, d) + 1; // up
+ A(e, d) = 'X';
+
+ const char* p = pattern + best;
+ const char* t = (text + d * TEXT_DIRECTION) + best * TEXT_DIRECTION;
+ if (*p == *t && best >= 0) {
+ int end = __min(patternLen, textLen - d);
+ const char* pend = pattern + end;
+
+ best += countPerfectMatch(p, t, (int)(end - (p - pattern)));
+ }
+
+
+ int left = L(e-1, d-1);
+ p = pattern + left;
+ t = (text + d * TEXT_DIRECTION) + left * TEXT_DIRECTION;
+ if (*p == *t && left >= 0) {
+ int end = __min(patternLen, textLen - d);
+ const char* pend = pattern + end;
+
+ left += countPerfectMatch(p, t, (int)(end - (p - pattern)));
+ }
+
+ if (left > best) {
+ best = left;
+ A(e, d) = 'D';
+ }
+
+ int right = L(e-1, d+1) + 1;
+ p = pattern + right;
+ t = (text + d * TEXT_DIRECTION) + right * TEXT_DIRECTION;
+ if (*p == *t && right >= 0) {
+ int end = __min(patternLen, textLen - d);
+ const char* pend = pattern + end;
+
+ right += countPerfectMatch(p, t, (int)(end - (p - pattern)));
+ }
+
+ if (right > best) {
+ best = right;
+ A(e, d) = 'I';
+ }
+
+ if (best == patternLen) {
+ //
+ // We're through on this iteration.
+ //
+
+ if ('X' == A(e, d)) {
+ //
+ // The last step wasn't an indel, so we're sure it's the right one.
+ //
+ lastBestD = d;
+ goto got_answer;
+ } else {
+ //
+ // We're done on this round, but maybe there's a better answer, so keep looking.
+ //
+ if (abs(d) < abs(lastBestD)) {
+ lastBestD = d;
+ }
+ }
+ } // if best==patternLen
+
+ L(e, d) = best;
+ } // for d
+
+ if (MAX_K + 1 != lastBestD) {
+ break;
+ }
+ } // for e
+
+ if (MAX_K + 1 == lastBestD) {
+ return -1;
+ }
+
+got_answer:
+
+ _ASSERT(abs(lastBestD) < MAX_K + 1);
+
+ if (NULL != matchProbability) {
+
+ _ASSERT(*matchProbability == 1.0);
+ //
+ // We're done. Compute the match probability.
+ //
+
+ //
+ // Trace backward to build up the CIGAR string. We do this by filling in the backtraceAction,
+ // backtraceMatched and backtraceD arrays, then going through them in the forward direction to
+ // figure out our string.
+ int curD = lastBestD;
+ for (int curE = e; curE >= 1; curE--) {
+ backtraceAction[curE] = A(curE, curD);
+ if (backtraceAction[curE] == 'I') {
+ backtraceD[curE] = curD + 1;
+ backtraceMatched[curE] = L(curE, curD) - L(curE - 1, curD + 1) - 1;
+ } else if (backtraceAction[curE] == 'D') {
+ backtraceD[curE] = curD - 1;
+ backtraceMatched[curE] = L(curE, curD) - L(curE - 1, curD - 1);
+ } else { // backtraceAction[curE] == 'X'
+ backtraceD[curE] = curD;
+ backtraceMatched[curE] = L(curE, curD) - L(curE - 1, curD) - 1;
+ }
+ curD = backtraceD[curE];
+#ifdef TRACE_LV
+ printf("%d %d: %d %c %d %d\n", curE, curD, L(curE, curD),
+ backtraceAction[curE], backtraceD[curE], backtraceMatched[curE]);
+#endif
+ }
+
+ int curE = 1;
+ int offset = L(0, 0);
+ _ASSERT(*o_netIndel == 0);
+ while (curE <= e) {
+ // First write the action, possibly with a repeat if it occurred multiple times with no exact matches
+ char action = backtraceAction[curE];
+ int actionCount = 1;
+ while (curE + 1 <= e && backtraceMatched[curE] == 0 && backtraceAction[curE + 1] == action) {
+ actionCount++;
+ curE++;
+ }
+ if (action == 'I') {
+ *matchProbability *= lv_indelProbabilities[actionCount];
+ offset += actionCount;
+ *o_netIndel += actionCount;
+ }
+ else if (action == 'D') {
+ *matchProbability *= lv_indelProbabilities[actionCount];
+ offset -= actionCount;
+ *o_netIndel -= actionCount;
+ }
+ else {
+ _ASSERT(action == 'X');
+ for (int i = 0; i < actionCount; i++) {
+ *matchProbability *= lv_phredToProbability[qualityString[/*BUGBUG - think about what to do here*/__min(patternLen - 1, __max(offset, 0))]];
+ offset++;
+ }
+ }
+
+ offset += backtraceMatched[curE]; // Skip over the matching bases.
+ curE++;
+ }
+
+ *matchProbability *= lv_perfectMatchProbability[patternLen - e]; // Accounting for the < 1.0 chance of no changes for matching bases
+ } else {
+ //
+ // Not tracking match probability.
+ //
+ }
+
+ _ASSERT(e <= k);
+ return e;
+}
+
+
+ // Version that does not requre match probability and quality string
+ inline int computeEditDistance(
+ const char* text,
+ int textLen,
+ const char* pattern,
+ int patternLen,
+ int k)
+ {
+ return computeEditDistance(text, textLen, pattern, NULL, patternLen, k, NULL);
+ }
+
+ void *operator new(size_t size) {return BigAlloc(size);}
+ void operator delete(void *ptr) {BigDealloc(ptr);}
+
+ void *operator new(size_t size, BigAllocator *allocator) {_ASSERT(size == sizeof(LandauVishkin<TEXT_DIRECTION>)); return allocator->allocate(size);}
+ void operator delete(void *ptr, BigAllocator *allocator) {/*Do nothing. The memory is freed when the allocator is deleted.*/}
+
+private:
+ //
+ // Count characters of a perfect match until a mismatch or the end of one or the other string, the
+ // minimum length of which is represented by the end parameter. Advances p & t to the first mismatch
+ // or first character beyond the end.
+ //
+ inline int countPerfectMatch(const char *& p, const char *& t, int availBytes) // This is essentially duplicated in LandauVishkinWithCigar
+ {
+ const char *pBase = p;
+ const char *pend = p + availBytes;
+ while (true) {
+ _uint64 x;
+ if (TEXT_DIRECTION == 1) {
+ x = *((_uint64*)p) ^ *((_uint64*)t);
+ } else {
+ _uint64 T = *(_uint64 *)(t - 7);
+ _uint64 tSwap = ByteSwapUI64(T);
+ x = *((_uint64*)p) ^ tSwap;
+ }
+
+ if (x) {
+ unsigned long zeroes;
+ CountTrailingZeroes(x, zeroes);
+ zeroes >>= 3;
+ return __min((int)(p - pBase) + (int)zeroes, availBytes);
+ } // if (x)
+
+ p += 8;
+ if (p >= pend) {
+ return availBytes;
+ }
+
+ t += 8 * TEXT_DIRECTION;
+ } // while true
+
+ return 0;
+ }
+
+
+ //
+ // Table of d values for the inner loop in computeEditDistance. This allows us to avoid the line d = (d > 0 ? -d : -d+1), which causes
+ // a branch misprediction every time.
+ //
+ int dTable[2 * (MAX_K + 1) + 1];
+
+ //
+ // Note on state arrays:
+ //
+ // We have several arrays that need to be indexed on edit distance and net indels. Because net indels is signed, we want them
+ // to have their second coordinate (d) run from [-MAX_K .. MAX_K]. When computing the opening or closing of an indel, we add more than
+ // one edit distance, which means we compute LInsert[e][x] based on L[e-OpenPenalty][x+1]. When we're at edit distance < the gap open
+ // penalty, of course we can't fill in LInsert; however, rather than just checking it each time (and incurring a branch prediction miss),
+ // we just let it happily index into negative space, which is initialized with -2 and so will never be used. So, we want our arrays to
+ // run from [-MAX_GAP..MAX_K][-MAX_K .. MAX_K]. To do this, we just allocate the space and compute a pointer that would be at [0][0].
+ // We use macros to do the indexing, because it's tricky to convince C++ to do this kind of thing statically.
+ //
+ // Also, conceptually these arrays are local to each computation. They're here to save memory allocation and initialization overhead.
+ // Note that the important parts for the initialization is never overwritten, though the rest is.
+ //
+
+
+ // TODO: For long reads, we should include a version that only has L be 2 x (2*MAX_K+1) cells
+ int L_space[(MAX_K + 1) * (2 * MAX_K + 1)];
+ int *L_zero;
+
+ // Action we did to get to each position: 'D' = deletion, 'I' = insertion, 'X' = substitution. This is needed to compute match probability.
+ char A_space[(MAX_K + 1) * (2 * MAX_K + 1)];
+ char *A_zero;
+
+ // Arrays for backtracing the actions required to match two strings
+ char backtraceAction[MAX_K+1];
+ int backtraceMatched[MAX_K+1];
+ int backtraceD[MAX_K+1];
+
+#undef L
+#undef A
+};
+
+void setLVProbabilities(double *i_indelProbabilities, double *i_phredToProbability, double mutationProbability);
+void initializeLVProbabilitiesToPhredPlus33();
+
+
+// Computes the edit distance between two strings and returns a CIGAR string for the edits.
+
+enum CigarFormat
+{
+ COMPACT_CIGAR_STRING = 0,
+ EXPANDED_CIGAR_STRING = 1,
+ COMPACT_CIGAR_BINARY = 2,
+ BAM_CIGAR_OPS = 3,
+};
+
+// express cigar as 2 byte per reference base summarizing the changes
+// at that location; may lose information for longer inserts
+enum LinearCigarFlags
+{
+ CigarInsertFlags = 0xfff8, // 13 bits for insert
+ CigarInsertCShift= 3, // shift to get count
+ CigarInsertCount = 0x7, // after shifting, mask to get # insertions
+ CigarInsertBShift= 6, // shift to get bases
+ CigarInsertBases = 0xffc0, // up to 5 inserted bases, low-order bits first
+ CigarInsertNBases= 5,
+
+ CigarOpcode = 0x07, // opcode for ref base
+ CigarNoop = 0x00, // no change
+ CigarReplace = 0x01, // base is n-1
+ CigarDelete = 0x05, // delete
+};
+
+class LandauVishkinWithCigar {
+public:
+ LandauVishkinWithCigar();
+
+ // Compute the edit distance between two strings and write the CIGAR string in cigarBuf.
+ // Returns -1 if the edit distance exceeds k or -2 if we run out of space in cigarBuf.
+ int computeEditDistance(const char* text, int textLen, const char* pattern, int patternLen, int k,
+ char* cigarBuf, int cigarBufLen, bool useM,
+ CigarFormat format = COMPACT_CIGAR_STRING,
+ int* o_cigarBufUsed = NULL,
+ int* o_textUsed = NULL,
+ int *o_netIndel = NULL);
+
+ // same, but places indels as early as possible, following BWA & VCF conventions
+ int computeEditDistanceNormalized(const char* text, int textLen, const char* pattern, int patternLen, int k,
+ char* cigarBuf, int cigarBufLen, bool useM,
+ CigarFormat format = COMPACT_CIGAR_STRING,
+ int* o_cigarBufUsed = NULL,
+ int* o_textUsed = NULL,
+ int *o_netIndel = NULL);
+
+ // take a compact cigar binary format and turn it into one byte per reference base
+ // describing the difference from the reference at that location
+ // might lose information for large inserts
+ // returns number of bytes in result
+ static int linearizeCompactBinary(_uint16* o_linear, int referenceSize,
+ char* cigar, int cigarSize, char* sample, int sampleSize);
+
+ static void printLinear(char* buffer, int bufferSize, unsigned variant);
+private:
+ int L[MAX_K+1][2 * MAX_K + 1];
+
+ // Action we did to get to each position: 'D' = deletion, 'I' = insertion, 'X' = substitution.
+ char A[MAX_K+1][2 * MAX_K + 1];
+
+ //
+ // Total (not net) indels at this point. Parallel to L and A arrays. Used to select the least-indel path
+ // consistent with the lowest edit distance.
+ //
+ int totalIndels[MAX_K + 1][2 * MAX_K + 1];
+
+ // Arrays for backtracing the actions required to match two strings
+ char backtraceAction[MAX_K+1];
+ int backtraceMatched[MAX_K+1];
+ int backtraceD[MAX_K+1];
+};
diff --git a/SNAPLib/MultiInputReadSupplier.cpp b/SNAPLib/MultiInputReadSupplier.cpp
new file mode 100644
index 0000000..ef38b56
--- /dev/null
+++ b/SNAPLib/MultiInputReadSupplier.cpp
@@ -0,0 +1,298 @@
+/*++
+
+Module Name:
+
+ MultiInputReadSupplier.cpp
+
+Abstract:
+
+ A read supplier that combines other read suppliers. It's used when there are muliple input files to process.
+
+Authors:
+
+ Bill Bolosky, November, 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "Read.h"
+#include "Compat.h"
+#include "MultiInputReadSupplier.h"
+
+
+MultiInputReadSupplier::MultiInputReadSupplier(int i_nReadSuppliers, ReadSupplier **i_readSuppliers)
+{
+ readSuppliers = i_readSuppliers; // We get to own the array
+ nRemainingReadSuppliers = nReadSuppliers = i_nReadSuppliers;
+ nextReadSupplier = 0;
+ activeReadSuppliers = new ActiveRead[nReadSuppliers];
+ for (int i = 0; i < nReadSuppliers; i++) {
+ activeReadSuppliers[i].index = i;
+ activeReadSuppliers[i].lastBatch = DataBatch();
+ activeReadSuppliers[i].firstReadInNextBatch = NULL;
+ }
+}
+
+MultiInputReadSupplier::~MultiInputReadSupplier()
+{
+ for (int i = 0; i < nReadSuppliers; i++) {
+ delete readSuppliers[i];
+ readSuppliers[i] = NULL;
+ }
+ delete [] readSuppliers;
+ delete [] activeReadSuppliers;
+}
+
+ Read *
+MultiInputReadSupplier::getNextRead()
+{
+ while (true) {
+ if (0 == nRemainingReadSuppliers) {
+ return NULL;
+ }
+ _ASSERT(nextReadSupplier < nRemainingReadSuppliers);
+
+ ActiveRead* active = &activeReadSuppliers[nextReadSupplier];
+ DataBatch last = active->lastBatch;
+ Read *read;
+
+ if (active->firstReadInNextBatch != NULL) {
+ read = active->firstReadInNextBatch;
+ active->firstReadInNextBatch = NULL;
+ active->lastBatch = read->getBatch();
+ return read;
+ }
+
+ read = readSuppliers[active->index]->getNextRead();
+ if (read != NULL) {
+ read->setBatch(DataBatch(read->getBatch().batchID,
+ read->getBatch().fileID * nReadSuppliers + active->index));
+ active->lastBatch = read->getBatch();
+ if (read->getBatch() == last || last == DataBatch()) {
+ return read;
+ }
+ // end of batch from current supplier, round-robin through suppliers
+ active->firstReadInNextBatch = read;
+ nextReadSupplier = (nextReadSupplier + 1) % nRemainingReadSuppliers;
+ } else {
+ //
+ // This supplier is done. Update our array to pull the
+ // last live read supplier into the slot that we just vacated (this will result
+ // in violating a strict round robin, but we don't promise any such thing
+ // anyway). Can't delete because it might be retaining read data in use downstream.
+ //
+ nRemainingReadSuppliers--;
+ activeReadSuppliers[nextReadSupplier] = activeReadSuppliers[nRemainingReadSuppliers];
+ nextReadSupplier = 0; // (Bluntly) handles the case where nextReadSupplier is the last one.
+ }
+ }
+}
+
+ void
+MultiInputReadSupplier::holdBatch(
+ DataBatch batch)
+{
+ int index = batch.fileID % nReadSuppliers;
+ _ASSERT(index >= 0 && index < nReadSuppliers);
+ readSuppliers[index]->holdBatch(DataBatch(batch.batchID, batch.fileID / nReadSuppliers));
+}
+
+ bool
+MultiInputReadSupplier::releaseBatch(
+ DataBatch batch)
+{
+ int index = batch.fileID % nReadSuppliers;
+ _ASSERT(index >= 0 && index < nReadSuppliers);
+ return readSuppliers[index]->releaseBatch(DataBatch(batch.batchID, batch.fileID / nReadSuppliers));
+}
+
+MultiInputPairedReadSupplier::MultiInputPairedReadSupplier(int i_nReadSuppliers, PairedReadSupplier **i_pairedReadSuppliers)
+{
+ pairedReadSuppliers = i_pairedReadSuppliers; // We get to own the array
+ nRemainingReadSuppliers = nReadSuppliers = i_nReadSuppliers;
+ nextReadSupplier = 0;
+ activeReadSuppliers = new ActiveRead[nReadSuppliers];
+ for (int i = 0; i < nReadSuppliers; i++) {
+ activeReadSuppliers[i].index = i;
+ activeReadSuppliers[i].lastBatch[0] = activeReadSuppliers[i].lastBatch[1] = DataBatch();
+ activeReadSuppliers[i].firstReadInNextBatch[0] = activeReadSuppliers[i].firstReadInNextBatch[1] = NULL;
+ }
+}
+
+MultiInputPairedReadSupplier::~MultiInputPairedReadSupplier()
+{
+ for (int i = 0; i < nReadSuppliers; i++) {
+ delete pairedReadSuppliers[i];
+ pairedReadSuppliers[i] = NULL;
+ }
+
+ delete [] pairedReadSuppliers;
+ delete [] activeReadSuppliers;
+}
+
+ bool
+MultiInputPairedReadSupplier::getNextReadPair(Read **read0, Read **read1)
+{
+ if (0 == nRemainingReadSuppliers) {
+ return NULL;
+ }
+
+ _ASSERT(nextReadSupplier < nRemainingReadSuppliers);
+
+ ActiveRead* active = &activeReadSuppliers[nextReadSupplier];
+ bool hasReads = pairedReadSuppliers[active->index]->getNextReadPair(read0, read1);
+ bool nextBatch = hasReads && ((*read0)->getBatch() != active->lastBatch[0] || (*read1)->getBatch() != active->lastBatch[1]);
+ if (nextBatch) {
+ active->firstReadInNextBatch[0] = *read0;
+ active->firstReadInNextBatch[1] = *read1;
+ }
+ if (nextBatch || ! hasReads) {
+ while (true) {
+ // end of batch from current supplier, round-robin through suppliers
+ if (nextBatch) {
+ nextReadSupplier = (nextReadSupplier + 1) % nRemainingReadSuppliers;
+ nextBatch = false;
+ }
+ active = &activeReadSuppliers[nextReadSupplier];
+ if (active->firstReadInNextBatch[0] != NULL) {
+ _ASSERT(active->firstReadInNextBatch[1] != NULL);
+ *read0 = active->firstReadInNextBatch[0];
+ *read1 = active->firstReadInNextBatch[1];
+ active->firstReadInNextBatch[0] = active->firstReadInNextBatch[1] = NULL;
+ break;
+ }
+ if (pairedReadSuppliers[active->index]->getNextReadPair(read0, read1)) {
+ break;
+ }
+ nRemainingReadSuppliers--;
+ if (0 == nRemainingReadSuppliers) {
+ return false;
+ }
+ //
+ // This supplier is done. Update our array to pull the
+ // last live read supplier into the slot that we just vacated (this will result
+ // in violating a strict round robin, but we don't promise any such thing
+ // anyway). Can't delete because it might be retaining read data in use downstream.
+ //
+ activeReadSuppliers[nextReadSupplier] = activeReadSuppliers[nRemainingReadSuppliers];
+ nextReadSupplier = 0; // (Bluntly) handles the case where nextReadSupplier is the last one.
+ }
+ }
+ active->lastBatch[0] = (*read0)->getBatch();
+ (*read0)->setBatch(DataBatch(active->lastBatch[0].fileID * nReadSuppliers + active->index, active->lastBatch[0].batchID));
+ active->lastBatch[1] = (*read1)->getBatch();
+ (*read1)->setBatch(DataBatch(active->lastBatch[1].fileID * nReadSuppliers + active->index, active->lastBatch[1].batchID));
+
+ return true;
+}
+
+ void
+MultiInputPairedReadSupplier::holdBatch(
+ DataBatch batch)
+{
+ int index = batch.fileID % nReadSuppliers;
+ _ASSERT(index >= 0 && index < nReadSuppliers);
+ pairedReadSuppliers[index]->holdBatch(DataBatch(batch.batchID, batch.fileID / nReadSuppliers));
+}
+
+ bool
+MultiInputPairedReadSupplier::releaseBatch(
+ DataBatch batch)
+{
+ int index = batch.fileID % nReadSuppliers;
+ _ASSERT(index >= 0 && index < nReadSuppliers);
+ return pairedReadSuppliers[index]->releaseBatch(DataBatch(batch.batchID, batch.fileID / nReadSuppliers));
+}
+
+
+MultiInputReadSupplierGenerator::MultiInputReadSupplierGenerator(int i_nReadSuppliers, ReadSupplierGenerator **i_readSupplierGenerators)
+{
+ nReadSuppliers = i_nReadSuppliers;
+ readSupplierGenerators = i_readSupplierGenerators; // We take ownership of the array
+}
+
+MultiInputReadSupplierGenerator::~MultiInputReadSupplierGenerator()
+{
+ for (int i = 0; i < nReadSuppliers; i++) {
+ delete readSupplierGenerators[i];
+ }
+ delete [] readSupplierGenerators;
+ readSupplierGenerators = NULL;
+}
+
+ ReadSupplier *
+MultiInputReadSupplierGenerator::generateNewReadSupplier()
+{
+ ReadSupplier **readSuppliers = new ReadSupplier *[nReadSuppliers];
+ for (int i = 0; i < nReadSuppliers; ) {
+ readSuppliers[i] = readSupplierGenerators[i]->generateNewReadSupplier();
+ if (NULL == readSuppliers[i]) {
+ nReadSuppliers--;
+ } else {
+ i++;
+ }
+ }
+
+ if (0 == nReadSuppliers) {
+ delete [] readSuppliers;
+ return NULL;
+ }
+
+ return new MultiInputReadSupplier(nReadSuppliers,readSuppliers); // The Supplier owns the array and suppliers we created
+}
+
+
+ ReaderContext*
+MultiInputReadSupplierGenerator::getContext()
+{
+ return readSupplierGenerators[0]->getContext();
+}
+
+
+MultiInputPairedReadSupplierGenerator::MultiInputPairedReadSupplierGenerator(int i_nReadSuppliers, PairedReadSupplierGenerator **i_readSupplierGenerators)
+{
+ nReadSuppliers = i_nReadSuppliers;
+ readSupplierGenerators = i_readSupplierGenerators; // We own the array and the generators.
+}
+
+MultiInputPairedReadSupplierGenerator::~MultiInputPairedReadSupplierGenerator()
+{
+ for (int i = 0; i < nReadSuppliers; i++) {
+ delete readSupplierGenerators[i];
+ readSupplierGenerators[i] = NULL;
+ }
+ delete [] readSupplierGenerators;
+ readSupplierGenerators = NULL;
+}
+
+ PairedReadSupplier *
+MultiInputPairedReadSupplierGenerator::generateNewPairedReadSupplier()
+{
+ PairedReadSupplier **readSuppliers = new PairedReadSupplier *[nReadSuppliers];
+ for (int i = 0; i < nReadSuppliers; ) {
+ readSuppliers[i] = readSupplierGenerators[i]->generateNewPairedReadSupplier();
+ if (NULL == readSuppliers[i]) {
+ nReadSuppliers--;
+ } else {
+ i++;
+ }
+ }
+ if (0 == nReadSuppliers) {
+ delete [] readSuppliers;
+ return NULL;
+ }
+ return new MultiInputPairedReadSupplier(nReadSuppliers,readSuppliers);
+}
+
+ ReaderContext*
+MultiInputPairedReadSupplierGenerator::getContext()
+{
+ return readSupplierGenerators[0]->getContext();
+}
diff --git a/SNAPLib/MultiInputReadSupplier.h b/SNAPLib/MultiInputReadSupplier.h
new file mode 100644
index 0000000..a3cb193
--- /dev/null
+++ b/SNAPLib/MultiInputReadSupplier.h
@@ -0,0 +1,111 @@
+/*++
+
+Module Name:
+
+ MultiInputReadSupplier.h
+
+Abstract:
+
+ Headers for a read supplier that combines other read suppliers. It's used when there are muliple input files to process.
+
+Authors:
+
+ Bill Bolosky, November, 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+#include "Read.h"
+#include "Compat.h"
+
+class MultiInputReadSupplier: public ReadSupplier {
+public:
+ MultiInputReadSupplier(int nReadSuppliers, ReadSupplier **i_readSuppliers);
+ virtual ~MultiInputReadSupplier();
+
+ virtual Read *getNextRead();
+
+ virtual void holdBatch(DataBatch batch);
+ virtual bool releaseBatch(DataBatch batch);
+
+private:
+
+ // info for a currently active supplier
+ struct ActiveRead
+ {
+ int index; // index in readSuppliers array
+ DataBatch lastBatch; // last batch read from this supplier
+ Read* firstReadInNextBatch;
+ };
+
+ int nRemainingReadSuppliers;
+ int nReadSuppliers;
+ int nextReadSupplier;
+ ReadSupplier **readSuppliers;
+ ActiveRead *activeReadSuppliers;
+};
+
+class MultiInputPairedReadSupplier: public PairedReadSupplier {
+public:
+ MultiInputPairedReadSupplier(int nReadSuppliers, PairedReadSupplier **i_pairedReadSuppliers);
+ virtual ~MultiInputPairedReadSupplier();
+
+ virtual bool getNextReadPair(Read **read0, Read **read1);
+
+ virtual void holdBatch(DataBatch batch);
+
+ virtual bool releaseBatch(DataBatch batch);
+
+private:
+
+ // info for a currently active supplier
+ struct ActiveRead
+ {
+ int index; // index in readSuppliers array
+ DataBatch lastBatch[2]; // last batch read from this supplier
+ Read* firstReadInNextBatch[2];
+ };
+
+ int nRemainingReadSuppliers;
+ int nReadSuppliers;
+ int nextReadSupplier;
+ PairedReadSupplier **pairedReadSuppliers;
+ ActiveRead *activeReadSuppliers;
+};
+
+class MultiInputReadSupplierGenerator: public ReadSupplierGenerator
+{
+public:
+ MultiInputReadSupplierGenerator(int i_nReadSuppliers, ReadSupplierGenerator **i_readSupplierGenerators);
+ virtual ~MultiInputReadSupplierGenerator();
+
+ virtual ReadSupplier *generateNewReadSupplier();
+ virtual ReaderContext* getContext();
+
+private:
+
+ int nReadSuppliers;
+ ReadSupplierGenerator **readSupplierGenerators;
+};
+
+class MultiInputPairedReadSupplierGenerator: public PairedReadSupplierGenerator
+{
+public:
+ MultiInputPairedReadSupplierGenerator(int i_nReadSuppliers, PairedReadSupplierGenerator **i_readSupplierGenerators);
+ virtual ~MultiInputPairedReadSupplierGenerator();
+
+ virtual PairedReadSupplier *generateNewPairedReadSupplier();
+ virtual ReaderContext* getContext();
+
+private:
+
+ int nReadSuppliers;
+ PairedReadSupplierGenerator **readSupplierGenerators;
+};
diff --git a/SNAPLib/PairedAligner.cpp b/SNAPLib/PairedAligner.cpp
new file mode 100644
index 0000000..89bad2f
--- /dev/null
+++ b/SNAPLib/PairedAligner.cpp
@@ -0,0 +1,657 @@
+/*++
+
+Module Name:
+
+ PairedAligner.cpp
+
+Abstract:
+
+ Functions for running the paired end aligner sub-program.
+
+
+Authors:
+
+ Matei Zaharia, February, 2012
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+ Adapted from cSNAP, which was in turn adapted from the scala prototype
+
+--*/
+
+//
+// TODO: This is really similar to the single-end aligner overall. It would be nice
+// to avoid code duplication.
+//
+
+#include "stdafx.h"
+#include "options.h"
+#include <time.h>
+#include "Compat.h"
+#include "RangeSplitter.h"
+#include "GenomeIndex.h"
+#include "SAM.h"
+#include "ChimericPairedEndAligner.h"
+#include "Tables.h"
+#include "AlignerOptions.h"
+#include "AlignerContext.h"
+#include "AlignerStats.h"
+#include "FASTQ.h"
+#include "PairedAligner.h"
+#include "MultiInputReadSupplier.h"
+#include "Util.h"
+#include "IntersectingPairedEndAligner.h"
+#include "exit.h"
+#include "Error.h"
+
+using namespace std;
+
+using util::stringEndsWith;
+
+static const int DEFAULT_MIN_SPACING = 50;
+static const int DEFAULT_MAX_SPACING = 1000;
+
+struct PairedAlignerStats : public AlignerStats
+{
+ // TODO: make these constants configurable
+ static const int MAX_DISTANCE = 1000;
+ static const int MAX_SCORE = 15;
+
+ _int64 sameComplement;
+ _int64* distanceCounts; // histogram of distances
+ // TODO: could save a bit of memory & time since this is a triangular matrix
+ _int64* scoreCounts; // 2-d histogram of scores for paired ends
+ static const unsigned maxMapq = 70;
+ static const unsigned nTimeBuckets = 32;
+ static const unsigned nHitsBuckets = 32;
+ static const unsigned nLVCallsBuckets = 32;
+
+ _int64 alignTogetherByMapqHistogram[maxMapq+1][nTimeBuckets];
+ _int64 totalTimeByMapqHistogram[maxMapq+1][nTimeBuckets];
+ _int64 nSmallHitsByTimeHistogram[nHitsBuckets][nTimeBuckets];
+ _int64 nLVCallsByTimeHistogram[nLVCallsBuckets][nTimeBuckets];
+ _int64 mapqByNLVCallsHistogram[maxMapq+1][nLVCallsBuckets];
+ _int64 mapqByNSmallHitsHistogram[maxMapq+1][nHitsBuckets];
+
+ PairedAlignerStats(AbstractStats* i_extra = NULL);
+
+ virtual ~PairedAlignerStats();
+
+ inline void incrementDistance(int distance) {
+ distanceCounts[max(0, min(MAX_DISTANCE, distance))]++;
+ }
+
+ inline void incrementScore(int s0, int s1)
+ {
+ // ensure s0 <= s1, both within range
+ s0 = max(0, min(MAX_SCORE, s0));
+ s1 = max(0, min(MAX_SCORE, s1));
+ if (s0 > s1) {
+ int t = s0; s0 = s1; s1 = t;
+ }
+ scoreCounts[s0*(MAX_SCORE+1)+s1]++;
+ }
+
+ inline void recordAlignTogetherMapqAndTime(unsigned mapq, _int64 timeInNanos, unsigned nSmallHits, unsigned nLVCalls) {
+ int timeBucket;
+ _int64 dividedTime = timeInNanos;
+ for (timeBucket = 0; timeBucket < nTimeBuckets-1; timeBucket++) {
+ if (dividedTime == 0) break;
+ dividedTime /= 2;
+ }
+
+ alignTogetherByMapqHistogram[mapq][timeBucket]++;
+ totalTimeByMapqHistogram[mapq][timeBucket] += timeInNanos;
+
+ int nHitsBucket;
+ int dividedHits = nSmallHits;
+ for (nHitsBucket = 0; nHitsBucket < nHitsBuckets; nHitsBucket++) {
+ if (0 == dividedHits) break;
+ dividedHits /= 2;
+ }
+ _ASSERT((char *)&nSmallHitsByTimeHistogram[nHitsBucket][timeBucket] < (char *)(this + 1));
+ nSmallHitsByTimeHistogram[nHitsBucket][timeBucket]++;
+
+ int nLVCallsBucket;
+ int dividedLVCalls = nLVCalls;
+ for (nLVCallsBucket = 0; nLVCallsBucket < nLVCallsBuckets; nLVCallsBucket++) {
+ if (dividedLVCalls == 0) break;
+ dividedLVCalls /= 2;
+ }
+ _ASSERT((char *)&nLVCallsByTimeHistogram[nLVCallsBucket][timeBucket] < (char *)(this + 1));
+ nLVCallsByTimeHistogram[nLVCallsBucket][timeBucket]++;
+
+ _ASSERT((char *)&mapqByNLVCallsHistogram[mapq][nLVCallsBucket] < (char *)(this + 1));
+ mapqByNLVCallsHistogram[mapq][nLVCallsBucket]++;
+
+ _ASSERT((char *)&mapqByNSmallHitsHistogram[mapq][nHitsBucket] < (char *)(this + 1));
+ mapqByNSmallHitsHistogram[mapq][nHitsBucket]++;
+ }
+
+
+
+ virtual void add(const AbstractStats * other);
+
+ virtual void printHistograms(FILE* output);
+};
+
+const int PairedAlignerStats::MAX_DISTANCE;
+const int PairedAlignerStats::MAX_SCORE;
+
+PairedAlignerStats::PairedAlignerStats(AbstractStats* i_extra)
+ : AlignerStats(i_extra),
+ sameComplement(0)
+{
+ int dsize = sizeof(_int64) * (MAX_DISTANCE+1);
+ distanceCounts = (_int64*)BigAlloc(dsize);
+ memset(distanceCounts, 0, dsize);
+
+ int ssize = sizeof(_int64) * (MAX_SCORE+1)*(MAX_SCORE+1);
+ scoreCounts = (_int64*)BigAlloc(ssize);
+ memset(scoreCounts, 0, ssize);
+
+ for (unsigned mapq = 0; mapq <= maxMapq; mapq++) {
+ for (unsigned timeBucket = 0; timeBucket < nTimeBuckets; timeBucket++) {
+ alignTogetherByMapqHistogram[mapq][timeBucket] = 0;
+ totalTimeByMapqHistogram[mapq][timeBucket] = 0;
+ }
+ for (unsigned smallHits = 0; smallHits < nHitsBuckets; smallHits++) {
+ mapqByNSmallHitsHistogram[mapq][smallHits] = 0;
+ }
+ for (unsigned lvCalls = 0; lvCalls < nLVCallsBuckets; lvCalls++) {
+ mapqByNLVCallsHistogram[mapq][lvCalls] = 0;
+ }
+ }
+
+ for (unsigned timeBucket = 0; timeBucket < nTimeBuckets; timeBucket++) {
+ for (unsigned smallHits = 0; smallHits < nHitsBuckets; smallHits++) {
+ nSmallHitsByTimeHistogram[smallHits][timeBucket] = 0;
+ }
+ for (unsigned lvCalls = 0; lvCalls < nLVCallsBuckets; lvCalls++) {
+ nLVCallsByTimeHistogram[lvCalls][timeBucket] = 0;
+ }
+ }
+
+}
+
+PairedAlignerStats::~PairedAlignerStats()
+{
+ BigDealloc(distanceCounts);
+ BigDealloc(scoreCounts);
+}
+
+void PairedAlignerStats::add(const AbstractStats * i_other)
+{
+ AlignerStats::add(i_other);
+ PairedAlignerStats* other = (PairedAlignerStats*) i_other;
+ for (int i = 0; i < MAX_DISTANCE + 1; i++) {
+ distanceCounts[i] += other->distanceCounts[i];
+ }
+ for (int i = 0; i < (MAX_SCORE + 1) * (MAX_SCORE + 1); i++) {
+ scoreCounts[i] += other->scoreCounts[i];
+ }
+
+ for (unsigned mapq = 0; mapq <= maxMapq; mapq++) {
+ for (unsigned timeBucket = 0; timeBucket < nTimeBuckets; timeBucket++) {
+ alignTogetherByMapqHistogram[mapq][timeBucket] += other->alignTogetherByMapqHistogram[mapq][timeBucket];
+ totalTimeByMapqHistogram[mapq][timeBucket] += other->totalTimeByMapqHistogram[mapq][timeBucket];
+ }
+ for (unsigned smallHits = 0; smallHits < nHitsBuckets; smallHits++) {
+ mapqByNSmallHitsHistogram[mapq][smallHits] += other->mapqByNSmallHitsHistogram[mapq][smallHits];
+ }
+ for (unsigned lvCalls = 0; lvCalls < nLVCallsBuckets; lvCalls++) {
+ mapqByNLVCallsHistogram[mapq][lvCalls] += other->mapqByNLVCallsHistogram[mapq][lvCalls];
+ }
+ }
+
+ for (unsigned timeBucket = 0; timeBucket < nTimeBuckets; timeBucket++) {
+ for (unsigned smallHits = 0; smallHits < nHitsBuckets; smallHits++) {
+ nSmallHitsByTimeHistogram[smallHits][timeBucket] += other->nSmallHitsByTimeHistogram[smallHits][timeBucket];
+ }
+ for (unsigned lvCalls = 0; lvCalls < nLVCallsBuckets; lvCalls++) {
+ nLVCallsByTimeHistogram[lvCalls][timeBucket] += other->nLVCallsByTimeHistogram[lvCalls][timeBucket];
+ }
+ }
+
+}
+
+void PairedAlignerStats::printHistograms(FILE* output)
+{
+ AlignerStats::printHistograms(output);
+}
+
+PairedAlignerOptions::PairedAlignerOptions(const char* i_commandLine)
+ : AlignerOptions(i_commandLine, true),
+ minSpacing(DEFAULT_MIN_SPACING),
+ maxSpacing(DEFAULT_MAX_SPACING),
+ forceSpacing(false),
+ intersectingAlignerMaxHits(DEFAULT_INTERSECTING_ALIGNER_MAX_HITS),
+ maxCandidatePoolSize(DEFAULT_MAX_CANDIDATE_POOL_SIZE),
+ quicklyDropUnpairedReads(true)
+{
+}
+
+void PairedAlignerOptions::usageMessage()
+{
+ AlignerOptions::usageMessage();
+ WriteErrorMessage(
+ "\n"
+ " -s min and max spacing to allow between paired ends (default: %d %d).\n"
+ " -fs force spacing to lie between min and max.\n"
+ " -H max hits for intersecting aligner (default: %d).\n"
+ " -mcp specifies the maximum candidate pool size (An internal data structure. \n"
+ " Only increase this if you get an error message saying to do so. If you're running\n"
+ " out of memory, you may want to reduce it. Default: %d)\n"
+ " -F b additional option to -F to require both mates to satisfy filter (default is just one)\n"
+ " If you specify -F b together with one of the other -F options, -F b MUST be second\n"
+ " -ku Keep unpaired-looking reads in SAM/BAM input. Ordinarily, if a read doesn't specify\n"
+ " mate information (RNEXT field is * and/or PNEXT is 0) then the code that matches reads will immdeiately\n"
+ " discard it. Specifying this flag may cause large memory usage for some input files,\n"
+ " but may be necessary for some strangely formatted input files. You'll also need to specify this\n"
+ " flag for SAM/BAM files that were aligned by a single-end aligner.\n"
+ ,
+ DEFAULT_MIN_SPACING,
+ DEFAULT_MAX_SPACING,
+ DEFAULT_INTERSECTING_ALIGNER_MAX_HITS,
+ DEFAULT_MAX_CANDIDATE_POOL_SIZE);
+}
+
+bool PairedAlignerOptions::parse(const char** argv, int argc, int& n, bool *done)
+{
+ *done = false;
+
+ if (strcmp(argv[n], "-s") == 0) {
+ if (n + 2 < argc) {
+ minSpacing = atoi(argv[n+1]);
+ maxSpacing = atoi(argv[n+2]);
+ n += 2;
+ return true;
+ }
+ return false;
+ } else if (strcmp(argv[n], "-H") == 0) {
+ if (n + 1 < argc) {
+ intersectingAlignerMaxHits = atoi(argv[n+1]);
+ n += 1;
+ return true;
+ }
+ return false;
+ } else if (strcmp(argv[n], "-fs") == 0) {
+ forceSpacing = true;
+ return true;
+ } else if (strcmp(argv[n], "-ku") == 0) {
+ quicklyDropUnpairedReads = false;
+ return true;
+ } else if (strcmp(argv[n], "-mcp") == 0) {
+ if (n + 1 < argc) {
+ maxCandidatePoolSize = atoi(argv[n+1]);
+ n += 1;
+ return true;
+ }
+ return false;
+ } else if (strcmp(argv[n], "-F") == 0 && n + 1 < argc && strcmp(argv[n + 1],"b") == 0) {
+ filterFlags |= FilterBothMatesMatch;
+ n += 1;
+ return true;
+ }
+ return AlignerOptions::parse(argv, argc, n, done);
+}
+
+PairedAlignerContext::PairedAlignerContext(AlignerExtension* i_extension)
+ : AlignerContext( 0, NULL, NULL, i_extension)
+{
+}
+
+bool PairedAlignerContext::initialize()
+{
+ AlignerContext::initialize();
+ PairedAlignerOptions* options2 = (PairedAlignerOptions*) options;
+ minSpacing = options2->minSpacing;
+ maxSpacing = options2->maxSpacing;
+ forceSpacing = options2->forceSpacing;
+ maxCandidatePoolSize = options2->maxCandidatePoolSize;
+ intersectingAlignerMaxHits = options2->intersectingAlignerMaxHits;
+ ignoreMismatchedIDs = options2->ignoreMismatchedIDs;
+ quicklyDropUnpairedReads = options2->quicklyDropUnpairedReads;
+ noUkkonen = options->noUkkonen;
+ noOrderedEvaluation = options->noOrderedEvaluation;
+
+ return true;
+}
+
+AlignerStats* PairedAlignerContext::newStats()
+{
+ return new PairedAlignerStats();
+}
+
+void PairedAlignerContext::runTask()
+{
+ ParallelTask<PairedAlignerContext> task(this);
+ task.run();
+}
+
+
+void PairedAlignerContext::runIterationThread()
+{
+ PreventMachineHibernationWhileThisThreadIsAlive();
+
+ PairedReadSupplier *supplier = pairedReadSupplierGenerator->generateNewPairedReadSupplier();
+
+ if (NULL == supplier) {
+ //
+ // No work for this thread to do.
+ //
+ return;
+ }
+
+ if (extension->runIterationThread(supplier, this)) {
+ delete supplier;
+ return;
+ }
+
+ Read *reads[NUM_READS_PER_PAIR];
+ int nSingleResults[2] = { 0, 0 };
+
+ if (index == NULL) {
+ // no alignment, just input/output
+ PairedAlignmentResult result;
+ memset(&result, 0, sizeof(result));
+ result.location[0] = result.location[1] = InvalidGenomeLocation;
+
+
+ while (supplier->getNextReadPair(&reads[0],&reads[1])) {
+ // Check that the two IDs form a pair; they will usually be foo/1 and foo/2 for some foo.
+ if (!ignoreMismatchedIDs && !readIdsMatch(reads[0], reads[1])) {
+ unsigned n[2] = {min(reads[0]->getIdLength(), 200u), min(reads[1]->getIdLength(), 200u)};
+ char* p[2] = {(char*) alloca(n[0] + 1), (char*) alloca(n[1] + 1)};
+ memcpy(p[0], reads[0]->getId(), n[0]); p[0][n[0]] = 0;
+ memcpy(p[1], reads[1]->getId(), n[1]); p[1][n[1]] = 0;
+ WriteErrorMessage( "Unmatched read IDs '%s' and '%s'. Use the -I option to ignore this.\n", p[0], p[1]);
+ soft_exit(1);
+ }
+ stats->totalReads += 2;
+
+ bool pass0 = options->passFilter(reads[0], result.status[0], false);
+ bool pass1 = options->passFilter(reads[1], result.status[1], false);
+ bool pass = (options->filterFlags & AlignerOptions::FilterBothMatesMatch)
+ ? (pass0 && pass1) : (pass0 || pass1);
+
+ if (pass && NULL != readWriter) {
+ readWriter->writePairs(readerContext, reads, &result, 1, NULL, nSingleResults, true);
+ }
+ }
+ delete supplier;
+ return;
+ }
+
+ int maxReadSize = MAX_READ_LENGTH;
+ size_t memoryPoolSize = IntersectingPairedEndAligner::getBigAllocatorReservation(index, intersectingAlignerMaxHits, maxReadSize, index->getSeedLength(),
+ numSeedsFromCommandLine, seedCoverage, maxDist, extraSearchDepth, maxCandidatePoolSize,
+ maxSecondaryAlignmentsPerContig);
+
+ memoryPoolSize += ChimericPairedEndAligner::getBigAllocatorReservation(index, maxReadSize, maxHits, index->getSeedLength(), numSeedsFromCommandLine, seedCoverage, maxDist,
+ extraSearchDepth, maxCandidatePoolSize, maxSecondaryAlignmentsPerContig);
+
+ unsigned maxPairedSecondaryHits;
+ unsigned maxSingleSecondaryHits;
+
+ if (maxSecondaryAlignmentAdditionalEditDistance < 0) {
+ maxPairedSecondaryHits = 0;
+ maxSingleSecondaryHits = 0;
+ } else {
+ maxPairedSecondaryHits = IntersectingPairedEndAligner::getMaxSecondaryResults(numSeedsFromCommandLine, seedCoverage, maxReadSize, maxHits, index->getSeedLength(), minSpacing, maxSpacing);
+ maxSingleSecondaryHits = ChimericPairedEndAligner::getMaxSingleEndSecondaryResults(numSeedsFromCommandLine, seedCoverage, maxReadSize, maxHits, index->getSeedLength());
+ }
+
+ memoryPoolSize += maxPairedSecondaryHits * sizeof(PairedAlignmentResult) + maxSingleSecondaryHits * sizeof(SingleAlignmentResult);
+
+ BigAllocator *allocator = new BigAllocator(memoryPoolSize);
+
+ IntersectingPairedEndAligner *intersectingAligner = new (allocator) IntersectingPairedEndAligner(index, maxReadSize, maxHits, maxDist, numSeedsFromCommandLine,
+ seedCoverage, minSpacing, maxSpacing, intersectingAlignerMaxHits, extraSearchDepth,
+ maxCandidatePoolSize, maxSecondaryAlignmentsPerContig ,allocator, noUkkonen, noOrderedEvaluation, noTruncation);
+
+
+ ChimericPairedEndAligner *aligner = new (allocator) ChimericPairedEndAligner(
+ index,
+ maxReadSize,
+ maxHits,
+ maxDist,
+ numSeedsFromCommandLine,
+ seedCoverage,
+ minWeightToCheck,
+ forceSpacing,
+ extraSearchDepth,
+ noUkkonen,
+ noOrderedEvaluation,
+ noTruncation,
+ intersectingAligner,
+ minReadLength,
+ maxSecondaryAlignmentsPerContig,
+ allocator);
+
+ allocator->checkCanaries();
+
+ PairedAlignmentResult *results = (PairedAlignmentResult *)allocator->allocate((1 + maxPairedSecondaryHits) * sizeof(*results)); // 1 + is for the primary result
+ SingleAlignmentResult *singleSecondaryResults = (SingleAlignmentResult *)allocator->allocate(maxSingleSecondaryHits * sizeof(*singleSecondaryResults));
+
+ ReadWriter *readWriter = this->readWriter;
+
+#ifdef _MSC_VER
+ if (options->useTimingBarrier) {
+ if (0 == InterlockedDecrementAndReturnNewValue(nThreadsAllocatingMemory)) {
+ AllowEventWaitersToProceed(memoryAllocationCompleteBarrier);
+ } else {
+ WaitForEvent(memoryAllocationCompleteBarrier);
+ }
+ }
+#endif // _MSC_VER
+
+ // Align the reads.
+ _uint64 lastReportTime = timeInMillis();
+ _uint64 readsWhenLastReported = 0;
+
+ while (supplier->getNextReadPair(&reads[0],&reads[1])) {
+ // Check that the two IDs form a pair; they will usually be foo/1 and foo/2 for some foo.
+ if (!ignoreMismatchedIDs) {
+ Read::checkIdMatch(reads[0], reads[1]);
+ }
+
+ stats->totalReads += 2;
+
+ // Skip the pair if there are too many Ns or 2s.
+ int maxDist = this->maxDist;
+ bool useful0 = reads[0]->getDataLength() >= minReadLength && (int)reads[0]->countOfNs() <= maxDist;
+ bool useful1 = reads[1]->getDataLength() >= minReadLength && (int)reads[1]->countOfNs() <= maxDist;
+ if (!useful0 && !useful1) {
+ PairedAlignmentResult result;
+ result.status[0] = NotFound;
+ result.status[1] = NotFound;
+ result.location[0] = InvalidGenomeLocation;
+ result.location[1] = InvalidGenomeLocation;
+ nSingleResults[0] = nSingleResults[1] = 0;
+
+ bool pass0 = options->passFilter(reads[0], result.status[0], false);
+ bool pass1 = options->passFilter(reads[1], result.status[1], false);
+ bool pass = (options->filterFlags & AlignerOptions::FilterBothMatesMatch)
+ ? (pass0 && pass1) : (pass0 || pass1);
+
+
+ if (pass && NULL != readWriter) {
+ readWriter->writePairs(readerContext, reads, &result, 1, NULL, nSingleResults, true);
+ }
+
+ continue;
+ } else {
+ // Here one the reads might still be hopeless, but maybe we can align the other.
+ stats->usefulReads += (useful0 && useful1) ? 2 : 1;
+ }
+
+ if (AlignerOptions::useHadoopErrorMessages && stats->totalReads % 10000 == 0 && timeInMillis() - lastReportTime > 10000) {
+ fprintf(stderr,"reporter:counter:SNAP,readsAligned,%lu\n",stats->totalReads - readsWhenLastReported);
+ readsWhenLastReported = stats->totalReads;
+ lastReportTime = timeInMillis();
+ }
+
+
+ #if TIME_HISTOGRAM
+ _int64 startTime = timeInNanos();
+#endif // TIME_HISTOGRAM
+
+ int nSecondaryResults;
+ int nSingleSecondaryResults[2];
+
+ aligner->align(reads[0], reads[1], results, maxSecondaryAlignmentAdditionalEditDistance, maxPairedSecondaryHits, &nSecondaryResults, results + 1,
+ maxSingleSecondaryHits, maxSecondaryAlignments, &nSingleSecondaryResults[0], &nSingleSecondaryResults[1], singleSecondaryResults);
+
+#if TIME_HISTOGRAM
+ _int64 runTime = timeInNanos() - startTime;
+ int timeBucket = min(30, cheezyLogBase2(runTime));
+ stats->countByTimeBucket[timeBucket]++;
+ stats->nanosByTimeBucket[timeBucket] += runTime;
+#endif // TIME_HISTOGRAM
+
+ if (forceSpacing && isOneLocation(results[0].status[0]) != isOneLocation(results[0].status[1])) {
+ // either both align or neither do
+ results[0].status[0] = results[0].status[1] = NotFound;
+ results[0].location[0] = results[0].location[1] = InvalidGenomeLocation;
+ }
+
+ if (NULL != readWriter) {
+ bool firstIsPrimary = true;
+ for (int i = 0; i <= nSecondaryResults + 1; i++) { // Loop runs to <= nSecondaryResults because there's a primary result, too.
+ bool pass0 = options->passFilter(reads[0], results[i].status[0], false);
+ bool pass1 = options->passFilter(reads[1], results[i].status[1], false);
+ bool pass = (options->filterFlags & AlignerOptions::FilterBothMatesMatch)
+ ? (pass0 && pass1) : (pass0 || pass1);
+
+ if (!pass) {
+ //
+ // Remove this one from the list by copying the last one here.
+ //
+ results[i] = results[nSecondaryResults];
+ nSecondaryResults--;
+ if (0 == i) {
+ firstIsPrimary = false;
+ }
+ i--;
+ }
+
+ }
+
+ //
+ // Now check the single secondary alignments
+ //
+ SingleAlignmentResult *singleResults[2] = { singleSecondaryResults, singleSecondaryResults + nSingleSecondaryResults[0] };
+ for (int whichRead = 0; whichRead < NUM_READS_PER_PAIR; whichRead++) {
+ for (int whichAlignment = 0; whichAlignment < nSingleSecondaryResults[whichRead]; whichAlignment++) {
+ if (!options->passFilter(reads[whichRead], singleResults[whichRead][whichAlignment].status, false)) {
+ singleResults[whichRead][whichAlignment] = singleResults[whichRead][nSingleSecondaryResults[whichRead] - 1];
+ nSingleSecondaryResults[whichRead]--;
+ whichAlignment--;
+ }
+ }
+ }
+
+ readWriter->writePairs(readerContext, reads, results, nSecondaryResults + 1, singleResults, nSingleSecondaryResults, firstIsPrimary);
+ }
+
+ updateStats((PairedAlignerStats*) stats, reads[0], reads[1], &results[0], useful0, useful1);
+
+ }
+
+ stats->lvCalls = aligner->getLocationsScored();
+
+ allocator->checkCanaries();
+
+ aligner->~ChimericPairedEndAligner();
+ delete supplier;
+
+ intersectingAligner->~IntersectingPairedEndAligner();
+ delete allocator;
+}
+
+
+void PairedAlignerContext::updateStats(PairedAlignerStats* stats, Read* read0, Read* read1, PairedAlignmentResult* result, bool useful0, bool useful1)
+{
+ bool useful[2] = { useful0, useful1 };
+
+ // Update stats
+ for (int r = 0; r < 2; r++) {
+ if (useful[r]) {
+ if (isOneLocation(result->status[r])) {
+ stats->singleHits++;
+ } else if (result->status[r] == MultipleHits) {
+ stats->multiHits++;
+ } else {
+ _ASSERT(result->status[r] == NotFound);
+ stats->notFound++;
+ }
+ }
+ // Add in MAPQ stats
+ if (result->status[r] != NotFound) {
+ int mapq = result->mapq[r];
+ _ASSERT(mapq >= 0 && mapq <= AlignerStats::maxMapq);
+ stats->mapqHistogram[mapq]++;
+ }
+ }
+
+ if (result->direction[0] == result->direction[1]) {
+ stats->sameComplement++;
+ }
+
+ if (isOneLocation(result->status[0]) && isOneLocation(result->status[1])) {
+ stats->incrementDistance(abs((int) (result->location[0] - result->location[1])));
+ stats->incrementScore(result->score[0], result->score[1]);
+ }
+
+ if (result->fromAlignTogether) {
+ stats->recordAlignTogetherMapqAndTime(__max(result->mapq[0], result->mapq[1]), result->nanosInAlignTogether, result->nSmallHits, result->nLVCalls);
+ }
+
+ if (result->alignedAsPair) {
+ stats->alignedAsPairs += 2; // They are a pair, after all. Hence, +2.
+ }
+}
+
+ void
+PairedAlignerContext::typeSpecificBeginIteration()
+{
+ if (1 == options->nInputs) {
+ //
+ // We've only got one input, so just connect it directly to the consumer.
+ //
+ pairedReadSupplierGenerator = options->inputs[0].createPairedReadSupplierGenerator(options->numThreads, quicklyDropUnpairedReads, readerContext);
+ } else {
+ //
+ // We've got multiple inputs, so use a MultiInputReadSupplier to combine the individual inputs.
+ //
+ PairedReadSupplierGenerator **generators = new PairedReadSupplierGenerator *[options->nInputs];
+ // use separate context for each supplier, initialized from common
+ for (int i = 0; i < options->nInputs; i++) {
+ ReaderContext context(readerContext);
+ generators[i] = options->inputs[i].createPairedReadSupplierGenerator(options->numThreads, quicklyDropUnpairedReads, context);
+ }
+ pairedReadSupplierGenerator = new MultiInputPairedReadSupplierGenerator(options->nInputs,generators);
+ }
+ ReaderContext* context = pairedReadSupplierGenerator->getContext();
+ readerContext.header = context->header;
+ readerContext.headerBytes = context->headerBytes;
+ readerContext.headerLength = context->headerLength;
+ readerContext.headerMatchesIndex = context->headerMatchesIndex;
+}
+ void
+PairedAlignerContext::typeSpecificNextIteration()
+{
+ if (readerContext.header != NULL) {
+ delete [] readerContext.header;
+ readerContext.header = NULL;
+ readerContext.headerLength = readerContext.headerBytes = 0;
+ readerContext.headerMatchesIndex = false;
+ }
+ delete pairedReadSupplierGenerator;
+ pairedReadSupplierGenerator = NULL;
+}
diff --git a/SNAPLib/PairedAligner.h b/SNAPLib/PairedAligner.h
new file mode 100644
index 0000000..d5cf20a
--- /dev/null
+++ b/SNAPLib/PairedAligner.h
@@ -0,0 +1,91 @@
+/*++
+
+Module Name:
+
+ SingleAligner.cpp
+
+Abstract:
+
+ Functions for running the single end aligner sub-program.
+
+Authors:
+
+ Matei Zaharia, February, 2012
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+ Adapted from cSNAP, which was in turn adapted from the scala prototype
+
+--*/
+
+#pragma once
+#include "stdafx.h"
+#include "AlignerContext.h"
+#include "ReadSupplierQueue.h"
+
+struct PairedAlignerStats;
+
+class PairedAlignerContext : public AlignerContext
+{
+public:
+
+ PairedAlignerContext(AlignerExtension* i_extension = NULL);
+
+protected:
+
+ // AlignerContext
+
+ virtual bool initialize();
+
+ virtual AlignerStats* newStats();
+
+ virtual void runTask();
+
+ virtual void runIterationThread();
+
+ // for subclasses
+
+ virtual void updateStats(PairedAlignerStats* stats, Read* read0, Read* read1, PairedAlignmentResult* result, bool useful0, bool useful1);
+
+ bool isPaired() {return true;}
+
+protected:
+
+ virtual void typeSpecificBeginIteration();
+ virtual void typeSpecificNextIteration();
+
+ PairedReadSupplierGenerator *pairedReadSupplierGenerator;
+
+ int minSpacing;
+ int maxSpacing;
+ bool forceSpacing;
+ unsigned intersectingAlignerMaxHits;
+ unsigned maxCandidatePoolSize;
+ const char *fastqFile1;
+ bool ignoreMismatchedIDs;
+ bool quicklyDropUnpairedReads;
+
+ friend class AlignerContext2;
+};
+
+struct PairedAlignerOptions : public AlignerOptions
+{
+ PairedAlignerOptions(const char* i_commandLine);
+
+ virtual void usageMessage();
+
+ virtual bool parse(const char** argv, int argc, int& n, bool *done);
+
+ virtual bool isPaired() { return true; }
+
+ int minSpacing;
+ int maxSpacing;
+ bool forceSpacing;
+ unsigned intersectingAlignerMaxHits;
+ unsigned maxCandidatePoolSize;
+ bool quicklyDropUnpairedReads;
+};
diff --git a/SNAPLib/PairedEndAligner.h b/SNAPLib/PairedEndAligner.h
new file mode 100644
index 0000000..0f29d6f
--- /dev/null
+++ b/SNAPLib/PairedEndAligner.h
@@ -0,0 +1,62 @@
+/*++
+
+Module Name:
+
+ PairedEndAligner.h
+
+Abstract:
+
+ Superclass for implementations of paired end aligners
+
+Authors:
+
+ Matei Zaharia, December, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+#pragma once
+
+#include "AlignmentResult.h"
+#include "directions.h"
+#include "LandauVishkin.h"
+#include "Read.h"
+
+
+
+/**
+ * Abstract interface for paired-end aligners.
+ */
+class PairedEndAligner
+{
+public:
+ virtual ~PairedEndAligner() {}
+
+ virtual void align(
+ Read *read0,
+ Read *read1,
+ PairedAlignmentResult *result,
+ int maxEditDistanceForSecondaryResults,
+ int secondaryResultBufferSize,
+ int *nSecondaryResults,
+ PairedAlignmentResult *secondaryResults, // The caller passes in a buffer of secondaryResultBufferSize and it's filled in by align()
+ int singleSecondaryBufferSize,
+ int maxSecondaryAlignmentsToReturn,
+ int *nSingleEndSecondaryResultsForFirstRead,
+ int *nSingleEndSecondaryResultsForSecondRead,
+ SingleAlignmentResult *singleEndSecondaryResults // Single-end secondary alignments for when the paired-end alignment didn't work properly
+ ) = 0;
+
+ virtual void setLandauVishkin(
+ LandauVishkin<1> *landauVishkin,
+ LandauVishkin<-1> *reverseLandauVishkin)
+ {
+ }
+
+ virtual _int64 getLocationsScored() const = 0;
+};
diff --git a/SNAPLib/PairedReadMatcher.cpp b/SNAPLib/PairedReadMatcher.cpp
new file mode 100644
index 0000000..cd0cb55
--- /dev/null
+++ b/SNAPLib/PairedReadMatcher.cpp
@@ -0,0 +1,433 @@
+/*++
+
+Module Name:
+
+ PairedReadMatcher.cpp
+
+Abstract:
+
+ Match paired-end reads coming in from different streams
+
+Authors:
+
+ Bill Bolosky, November, 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include <map>
+#include "Compat.h"
+#include "Util.h"
+#include "Read.h"
+#include "DataReader.h"
+#include "VariableSizeMap.h"
+#include "PairedEndAligner.h"
+#include "SAM.h"
+#include "Error.h"
+
+// turn on to debug matching process
+//#define VALIDATE_MATCH
+
+// turn on to gather paired stats
+//#define STATISTICS
+
+using std::pair;
+
+
+class PairedReadMatcher: public PairedReadReader
+{
+public:
+ PairedReadMatcher(ReadReader* i_single, bool i_quicklyDropUnpairedReads);
+
+ // PairedReadReader
+
+ virtual ~PairedReadMatcher();
+
+ virtual bool getNextReadPair(Read *read1, Read *read2);
+
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess)
+ { single->reinit(startingOffset, amountOfFileToProcess); }
+
+ virtual void holdBatch(DataBatch batch)
+ { single->holdBatch(batch); }
+
+ virtual bool releaseBatch(DataBatch batch);
+
+ virtual ReaderContext* getContext()
+ { return single->getContext(); }
+
+private:
+
+ ReadWithOwnMemory* allocOverflowRead();
+ void freeOverflowRead(ReadWithOwnMemory* read);
+
+ ReadReader* single; // reader for single reads
+ typedef _uint64 StringHash;
+ typedef VariableSizeMap<StringHash,Read> ReadMap;
+ DataBatch currentBatch; // for dropped reads
+ bool allDroppedInCurrentBatch;
+ DataBatch batch[2]; // 0 = current, 1 = previous
+ ReadMap unmatched[2]; // read id -> Read
+ typedef VariableSizeMap<PairedReadMatcher::StringHash,ReadWithOwnMemory*,150,MapNumericHash<PairedReadMatcher::StringHash>,80,0,true> OverflowMap;
+ OverflowMap overflow; // read id -> Read
+ typedef VariableSizeVector<ReadWithOwnMemory*> OverflowReadVector;
+ OverflowReadVector blocks; // BigAlloc blocks
+ static const int BlockSize = 10000; // # ReadWithOwnMemory per block
+ ExclusiveLock blockLock; // protects adding to blocks list
+ ReadWithOwnMemory* freeList; // head of free list, NULL if empty, use interlocked ops to update
+ typedef VariableSizeMap<_uint64,OverflowReadVector*> OverflowReadReleaseMap;
+ OverflowReadReleaseMap overflowRelease;
+#ifdef VALIDATE_MATCH
+ typedef VariableSizeMap<StringHash,char*> StringMap;
+ StringMap strings;
+ typedef VariableSizeMap<StringHash,int> HashSet;
+ HashSet overflowUsed;
+#endif
+ int overflowTotal, overflowPeak;
+
+ bool quicklyDropUnpairedReads;
+ _uint64 nReadsQuicklyDropped;
+
+ Read localRead;
+
+#ifdef STATISTICS
+ typedef struct
+ {
+ _int64 oldPairs; // # pairs matched from overflow
+ _int64 oldBatches; // # distinct matches matched from overflow
+ _int64 internalPairs; // #pairs matched within batch
+ _int64 previousPairs; // #pairs matched with previous batch
+ _int64 overflowPairs; // #pairs left over
+ _int64 totalReads; // total reads in batch
+ void clear() { memset(this, 0, sizeof(*this)); }
+ } BatchStats;
+ BatchStats currentStats, totalStats;
+ VariableSizeMap<_int64,int> currentBatches;
+#endif
+};
+
+PairedReadMatcher::PairedReadMatcher(
+ ReadReader* i_single,
+ bool i_quicklyDropUnpairedReads)
+ : single(i_single),
+ overflowTotal(0), overflowPeak(0),
+ quicklyDropUnpairedReads(i_quicklyDropUnpairedReads),
+ nReadsQuicklyDropped(0), freeList(NULL),
+ currentBatch(0, 0), allDroppedInCurrentBatch(false)
+{
+ new (&unmatched[0]) VariableSizeMap<StringHash,Read>(10000);
+ new (&unmatched[1]) VariableSizeMap<StringHash,Read>(10000);
+ InitializeExclusiveLock(&blockLock);
+#ifdef STATISTICS
+ currentStats.clear();
+ totalStats.clear();
+#endif
+}
+
+PairedReadMatcher::~PairedReadMatcher()
+{
+ for (OverflowReadVector::iterator i = blocks.begin(); i != blocks.end(); i++) {
+ BigDealloc(*i);
+ }
+ delete single;
+ DestroyExclusiveLock(&blockLock);
+}
+
+ ReadWithOwnMemory*
+PairedReadMatcher::allocOverflowRead()
+{
+ while (true) {
+ ReadWithOwnMemory* next = freeList;
+ if (next == NULL) {
+ // alloc & init a new block of reads
+ ReadWithOwnMemory* block = (ReadWithOwnMemory*) BigAlloc(BlockSize * sizeof(ReadWithOwnMemory));
+ AcquireExclusiveLock(&blockLock);
+ blocks.push_back(block);
+ ReleaseExclusiveLock(&blockLock);
+ for (int i = 0; i < BlockSize - 1; i++) {
+ *(ReadWithOwnMemory**)&block[i] = &block[i+1];
+ }
+ while (true) {
+ ReadWithOwnMemory* head = freeList;
+ *(ReadWithOwnMemory**)&block[BlockSize-1] = head;
+ if (InterlockedCompareExchangePointerAndReturnOldValue((void*volatile*)&freeList, block, head) == head) {
+ break;
+ }
+ }
+ } else {
+ ReadWithOwnMemory* nextHead = *(ReadWithOwnMemory**)next;
+ if (InterlockedCompareExchangePointerAndReturnOldValue((void*volatile*)&freeList, nextHead, next) == next) {
+ return next;
+ }
+ }
+ }
+}
+
+ void
+PairedReadMatcher::freeOverflowRead(
+ ReadWithOwnMemory* read)
+{
+ while (true) {
+ ReadWithOwnMemory* head = freeList;
+ *(ReadWithOwnMemory**)read = head;
+ if (InterlockedCompareExchangePointerAndReturnOldValue((void*volatile*)&freeList, read, head) == head) {
+ return;
+ }
+ }
+}
+
+ bool
+PairedReadMatcher::getNextReadPair(
+ Read *read1,
+ Read *read2)
+{
+ Read *outputReads[NUM_READS_PER_PAIR];
+ outputReads[0] = read1;
+ outputReads[1] = read2;
+ int readOneToOutputRead; // This is used to determine which of the output reads corresponds to one (the read that just came from getNextRead())
+ // That, in turn, is determined by the S/BAM flags in the read saying whether it was first-in-template.
+
+ int skipped = 0;
+ while (true) {
+ if (skipped++ == 10000) {
+ WriteErrorMessage( "warning: no matching read pairs in 10,000 reads, input file might be unsorted or have unexpected read id format\n");
+ }
+
+ if (! single->getNextRead(&localRead)) {
+#ifdef USE_DEVTEAM_OPTIONS
+ WriteErrorMessage("overflow total %d, peak %d\n", overflowTotal, overflowPeak);
+#endif
+ int n = unmatched[0].size() + unmatched[1].size() + overflow.size();
+ if (n > 0) {
+ WriteErrorMessage( " warning: PairedReadMatcher discarding %d unpaired reads at eof\n", n);
+#ifdef USE_DEVTEAM_OPTIONS
+ int printed = 0;
+ char buffer[200];
+ for (OverflowMap::iterator i = overflow.begin(); i != overflow.end() && printed < 10; i = overflow.next(i)) {
+ int l = min((unsigned) sizeof(buffer)-1, i->value->getIdLength());
+ memcpy(buffer, i->value->getId(), l);
+ buffer[l] = 0;
+ WriteErrorMessage("%s\n", buffer);
+ printed++;
+ }
+#endif
+#ifdef VALIDATE_MATCH
+ for (int i = 0; i < 2; i++) {
+ fprintf(stdout, "unmatched[%d]\n", i);
+ for (ReadMap::iterator j = unmatched[i].begin(); j != unmatched[i].end(); j = unmatched[i].next(j)) {
+ fprintf(stdout, "%s\n", strings[j->key]);
+ }
+ }
+ int printed = 0;
+ fprintf(stdout, "sample of overflow\n");
+ for (OverflowMap::iterator o = overflow.begin(); printed < 500 && o != overflow.end(); o = overflow.next(o)) {
+ if (NULL == overflowUsed.tryFind(o->key)) {
+ printed++;
+ fprintf(stdout, "%s\n", strings[o->key]);
+ }
+ }
+#endif
+ }
+ if (nReadsQuicklyDropped > 0) {
+ WriteErrorMessage(" warning: PairedReadMatcher dropped %lld reads because they didn't have RNEXT and PNEXT filled in.\n"
+ " If your input file was generated by a single-end alignment (or this seems too big), use the -ku flag\n",
+ nReadsQuicklyDropped);
+ }
+ single->releaseBatch(batch[0]);
+ single->releaseBatch(batch[1]);
+ return false;
+ }
+
+ if (quicklyDropUnpairedReads) {
+ if (localRead.getOriginalPNEXT() == 0 || localRead.getOriginalRNEXTLength() == 1 && localRead.getOriginalRNEXT()[0] == '*') {
+ nReadsQuicklyDropped++;
+ skipped--;
+ continue;
+ }
+ }
+
+ if (localRead.getOriginalSAMFlags() & SAM_FIRST_SEGMENT) {
+ readOneToOutputRead = 0;
+ } else {
+ readOneToOutputRead = 1;
+ }
+
+ // build key for pending read table, removing /1 or /2 at end
+ const char* id = localRead.getId();
+ unsigned idLength = localRead.getIdLength();
+ // truncate at space or slash
+ char* slash = (char*) memchr((void*)id, '/', idLength);
+ if (slash != NULL) {
+ idLength = (unsigned)(slash - id);
+ }
+ char* space = (char*) memchr((void*)id, ' ', idLength);
+ if (space != NULL) {
+ idLength = (unsigned)(space - id);
+ }
+ StringHash key = util::hash64(id, idLength);
+#ifdef VALIDATE_MATCH
+ char* s = new char[idLength+1];
+ memcpy(s, id, idLength);
+ s[idLength] = 0;
+ char** p = strings.tryFind(key);
+ if (p != NULL && strcmp(*p, s)) {
+ WriteErrorMessage( "hash collision %ld of %s and %s\n", key, *p, s);
+ soft_exit(1);
+ }
+ if (p == NULL) {
+ strings.put(key, s);
+ }
+#endif
+ if (localRead.getBatch() != batch[0]) {
+#ifdef STATISTICS
+ currentStats.oldBatches = currentBatches.size();
+ currentStats.overflowPairs = unmatched[1].size();
+ totalStats.internalPairs += currentStats.internalPairs;
+ totalStats.previousPairs += currentStats.previousPairs;
+ totalStats.oldBatches += currentStats.oldBatches;
+ totalStats.oldPairs += currentStats.oldPairs;
+ totalStats.overflowPairs += currentStats.overflowPairs;
+ totalStats.totalReads += currentStats.totalReads;
+ fprintf(stderr,"batch %d:%d: internal %d pairs, previous %d pairs, old %d pairs from %d batches, overflow %d pairs\n"
+ "cumulative: internal %d pairs, previous %d pairs, old %d pairs from %d batches, overflow %d pairs\n",
+ batch[0].fileID, batch[0].batchID, currentStats.internalPairs, currentStats.previousPairs, currentStats.oldPairs, currentStats.oldBatches, currentStats.overflowPairs,
+ totalStats.internalPairs, totalStats.previousPairs, totalStats.oldPairs, totalStats.oldBatches, totalStats.overflowPairs);
+ currentStats.clear();
+ currentBatches.clear();
+#endif
+ // roll over batches
+ if (unmatched[1].size() > 0) {
+ // copy remaining reads into overflow map
+ //fprintf(stderr,"warning: PairedReadMatcher overflow %d unpaired reads from %d:%d\n", unmatched[1].size(), batch[1].fileID, batch[1].batchID); //!!
+ //char* buf = (char*) alloca(500);
+ for (ReadMap::iterator r = unmatched[1].begin(); r != unmatched[1].end(); r = unmatched[1].next(r)) {
+ ReadWithOwnMemory* p = allocOverflowRead();
+ new (p) ReadWithOwnMemory(r->value);
+ _ASSERT(p->getData()[0]);
+ overflow.put(r->key, p);
+#ifdef VALIDATE_MATCH
+ char*s2 = *strings.tryFind(r->key);
+ int len = strlen(s2);
+ _ASSERT(! strncmp(s2, r->value.getId(), len));
+ ReadWithOwnMemory* rd = overflow.tryFind(r->key);
+ _ASSERT(! strncmp(s2, rd->getId(), len));
+#endif
+ //memcpy(buf, r->value.getId(), r->value.getIdLength());
+ //buf[r->value.getIdLength()] = 0;
+ //fprintf(stderr, "overflow add %d:%d %s\n", batch[1].fileID, batch[1].batchID, buf);
+ }
+ overflowTotal += unmatched[1].size();
+ overflowPeak = max(overflow.size(), overflowPeak);
+ }
+ for (ReadMap::iterator i = unmatched[1].begin(); i != unmatched[1].end(); i = unmatched[1].next(i)) {
+ i->value.dispose();
+ }
+ unmatched[1].exchange(unmatched[0]);
+ unmatched[0].clear();
+ single->releaseBatch(batch[1]);
+ batch[1] = batch[0];
+ batch[0] = localRead.getBatch();
+ single->holdBatch(batch[0]);
+#ifdef STATISTICS
+ currentStats.totalReads++;
+#endif
+ }
+
+ ReadMap::iterator found = unmatched[0].find(key);
+ if (found != unmatched[0].end()) {
+ *outputReads[1-readOneToOutputRead] = found->value;
+ //fprintf(stderr, "current matched %d:%d->%d:%d %s\n", outputReads[1-readOneToOutputRead]->getBatch().fileID, outputReads[1-readOneToOutputRead]->getBatch().batchID, batch[0].fileID, batch[0].batchID, outputReads[1-readOneToOutputRead]->getId()); //!!
+ unmatched[0].erase(found->key);
+#ifdef STATISTICS
+ currentStats.internalPairs++;
+#endif
+ } else {
+ // try previous batch
+ found = unmatched[1].find(key);
+ if (found == unmatched[1].end()) {
+ // try overflow
+ OverflowMap::iterator found2 = overflow.find(key);
+ if (found2 == overflow.end()) {
+ // no match, remember it for later matching
+ unmatched[0].put(key, localRead);
+ _ASSERT(localRead.getData()[0] && unmatched[0][key].getData()[0]);
+ //fprintf(stderr, "unmatched add %d:%d %lx\n", batch[0].fileID, batch[0].batchID, key); //!!
+ continue;
+ } else {
+ // copy data into read, move from overflow table to release vector for current batch
+ found2->value->setBatch(batch[0]); // overwrite batch to match current
+ *outputReads[1-readOneToOutputRead] = * (Read*) found2->value;
+ _ASSERT(outputReads[1-readOneToOutputRead]->getData()[0]);
+ OverflowReadVector* v;
+ if (! overflowRelease.tryGet(batch[0].asKey(), &v)) {
+ v = new OverflowReadVector();
+ overflowRelease.put(batch[0].asKey(), v);
+ //fprintf(stderr,"overflow fetch into %d:%d\n", batch[0].fileID, batch[0].batchID);
+ }
+ v->push_back(found2->value);
+ overflow.erase(key);
+ //fprintf(stderr,"overflow matched %d:%d %s\n", read2->getBatch().fileID, read2->getBatch().batchID, read2->getId()); //!!
+#ifdef VALIDATE_MATCH
+ overflowUsed.put(key, 1);
+#endif
+#ifdef STATISTICS
+ currentStats.oldPairs++;
+ currentBatches.put(read2->getBatch().asKey(), 1);
+#endif
+ }
+ } else {
+ // found a match in preceding batch
+ *outputReads[1-readOneToOutputRead] = found->value;
+ //fprintf(stderr,"prior matched %d:%d->%d:%d %s\n", found->value.getBatch().fileID, found->gvalue.etBatch().batchID, batch[0].fileID, batch[0].batchID, found->value.getId()); //!!
+ unmatched[1].erase(found->key);
+#ifdef STATISTICS
+ currentStats.previousPairs++;
+#endif
+ }
+ }
+
+ // found a match
+ *outputReads[readOneToOutputRead] = localRead;
+ return true;
+ }
+}
+
+ bool
+PairedReadMatcher::releaseBatch(
+ DataBatch batch)
+{
+ if (batch.asKey() == 0) {
+ return true;
+ } else if (single->releaseBatch(batch)) {
+ OverflowReadVector* v = NULL;
+ if (overflowRelease.tryGet(batch.asKey(), &v)) {
+ // free memory for overflow reads
+ //fprintf(stderr, "PairedReadMatcher release %d overflow reads for batch %d:%d\n", v->size(), batch.fileID, batch.batchID);
+ for (OverflowReadVector::iterator i = v->begin(); i != v->end(); i++) {
+ freeOverflowRead(*i);
+ }
+ delete v;
+ overflowRelease.erase(batch.asKey());
+ }
+ return true;
+ } else {
+ return false;
+ }
+}
+
+// define static factory function
+
+ PairedReadReader*
+PairedReadReader::PairMatcher(
+ ReadReader* single,
+ bool quicklyDropUnpairedReads)
+{
+ return new PairedReadMatcher(single, quicklyDropUnpairedReads);
+}
diff --git a/SNAPLib/ParallelTask.cpp b/SNAPLib/ParallelTask.cpp
new file mode 100644
index 0000000..c473ad8
--- /dev/null
+++ b/SNAPLib/ParallelTask.cpp
@@ -0,0 +1,144 @@
+/*++
+
+Module Name:
+
+ ParallelTask.cpp
+
+Abstract:
+
+ Parallel task management
+
+Environment:
+
+ User mode service.
+
+--*/
+
+#include "stdafx.h"
+#include "ParallelTask.h"
+#include "Error.h"
+
+using std::max;
+
+ParallelCoworker::ParallelCoworker(int i_numThreads, bool i_bindToProcessors, ParallelWorkerManager* i_manager, Callback i_callback, void* i_parameter)
+ : stopped(false), numThreads(i_numThreads), bindToProcessors(i_bindToProcessors), manager(i_manager), callback(i_callback), parameter(i_parameter)
+{
+ workReady = new EventObject[numThreads];
+ workDone = new EventObject[numThreads];
+ workers = new ParallelWorker*[max(numThreads, 1)];
+ for (int i = 0; i < numThreads; i++) {
+ CreateEventObject(&workReady[i]);
+ PreventEventWaitersFromProceeding(&workReady[i]);
+ CreateEventObject(&workDone[i]);
+ PreventEventWaitersFromProceeding(&workDone[i]);
+ workers[i] = manager->createWorker();
+ workers[i]->configure(manager, i, numThreads);
+ }
+ CreateSingleWaiterObject(&finished);
+}
+
+ParallelCoworker::~ParallelCoworker()
+{
+ for (int i = 0; i < numThreads; i++) {
+ DestroyEventObject(&workReady[i]);
+ DestroyEventObject(&workDone[i]);
+ delete workers[i];
+ }
+ delete [] workReady;
+ delete [] workDone;
+ delete [] workers;
+ delete task;
+ delete context;
+}
+
+void ParallelCoworker::start()
+{
+ context = new WorkerContext();
+ context->shared = this;
+ context->totalThreads = numThreads;
+ context->bindToProcessors = bindToProcessors;
+#ifdef _MSC_VER
+ context->useTimingBarrier = false;
+#endif
+ task = new ParallelTask<WorkerContext>(context);
+ task->fork();
+}
+
+void ParallelCoworker::step()
+{
+ manager->beginStep();
+ for (int i = 0; i < numThreads; i++) {
+ PreventEventWaitersFromProceeding(&workDone[i]);
+ AllowEventWaitersToProceed(&workReady[i]);
+ }
+ // if async, thread 0 will callback when all workers finish
+ // if sync, wait for all workers to finish
+ if (callback == NULL) {
+ for (int i = 0; i < numThreads; i++) {
+ WaitForEvent(&workDone[i]);
+ }
+ manager->finishStep();
+ }
+}
+
+void ParallelCoworker::stop()
+{
+ stopped = true;
+ for (int i = 0; i < numThreads; i++) {
+ AllowEventWaitersToProceed(&workReady[i]);
+ }
+ if (!WaitForSingleWaiterObject(&finished)) {
+ WriteErrorMessage("Waiting for all threads to finish failed\n");
+ soft_exit(1);
+ }
+}
+
+ void
+WorkerContext::initializeThread()
+{
+ shared->workers[threadNum]->initialize();
+}
+
+ void
+WorkerContext::runThread()
+{
+ while (true) {
+ //fprintf(stderr, "worker task thread %d waiting to begin\n", GetCurrentThreadId());
+ WaitForEvent(&shared->workReady[threadNum]);
+ PreventEventWaitersFromProceeding(&shared->workReady[threadNum]);
+ if (shared->stopped) {
+ return;
+ }
+ //fprintf(stderr, "worker task thread %d begin\n", GetCurrentThreadId());
+ _int64 start = timeInMillis();
+ shared->workers[threadNum]->step();
+ //fprintf(stderr, "zip task thread %d done %lld ms\n", GetCurrentThreadId(), timeInMillis() - start);
+ AllowEventWaitersToProceed(&shared->workDone[threadNum]);
+
+ // if async, thread 0 will wait for everyone to finish and invoke callback
+ if (threadNum == 0 && shared->callback != NULL) {
+ for (int i = 1; i < shared->numThreads; i++) {
+ WaitForEvent(&shared->workDone[i]);
+ }
+ shared->manager->finishStep();
+ shared->callback(shared->parameter);
+ }
+ }
+}
+
+ void
+WorkerContext::finishThread(WorkerContext* common)
+{
+ if (threadNum == totalThreads - 1) {
+ SignalSingleWaiterObject(&shared->finished);
+ }
+}
+
+ void
+ParallelWorkerManager::configure(
+ ParallelWorker* worker,
+ int threadNum,
+ int totalThreads)
+{
+ worker->configure(this, threadNum, totalThreads);
+}
diff --git a/SNAPLib/ParallelTask.h b/SNAPLib/ParallelTask.h
new file mode 100644
index 0000000..b08cd3d
--- /dev/null
+++ b/SNAPLib/ParallelTask.h
@@ -0,0 +1,299 @@
+/*++
+
+Module Name:
+
+ ParallelTask.h
+
+Abstract:
+
+ Simple parallel task manager
+
+Authors:
+
+ Ravi Pandya, May 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+#pragma once
+#include "stdafx.h"
+#include "Compat.h"
+#include "exit.h"
+#include "Error.h"
+
+/*++
+ Simple class to handle parallelized algorithms.
+ TContext should extend TContextBase, and provide the following methods:
+ void initializeThread()
+ Called once on main thread after TContext has been assigned from common,
+ and threadNum set.
+ void runThread()
+ Called to run the thread's work until termination.
+ May use something like RangeSplitter to get work.
+ void finishThread(TContext* common)
+ Called once on main thread after all threads have finished,
+ to write results back to common.
+--*/
+ template <class TContext>
+class ParallelTask
+{
+public:
+
+ inline TContext* getCommonContext() { return common; }
+
+ // i_common should have totalThreads & bindToProcessors set
+ ParallelTask(TContext* i_common);
+
+ // run all threads until completion, gather results in common
+ void run();
+
+ // run all tasks on a separate thread
+ void fork();
+
+private:
+
+ // initial & final context
+ TContext* common;
+
+ // array of per-thread contexts
+ TContext* contexts;
+
+ static void threadWorker(void* threadContext);
+
+ static void forkWorker(void* threadContext);
+};
+
+/*++
+ Base for type parameter to parallel task
+--*/
+struct TaskContextBase
+{
+ // should be set before passing to ParallelTask constructor
+ int totalThreads;
+ bool bindToProcessors;
+
+ // time taken to run in millis
+ _int64 time;
+
+ // for internal use:
+ int threadNum; // current thread number, 0...totalThreads-1
+ SingleWaiterObject *doneWaiter; // Gets notified when the last thread ends.
+ volatile int runningThreads;
+ volatile int *pRunningThreads;
+#ifdef _MSC_VER
+ volatile int *nThreadsAllocatingMemory;
+ EventObject *memoryAllocationCompleteBarrier;
+ bool useTimingBarrier;
+#endif // _MSC_VER
+};
+
+
+
+ template <class TContext>
+ParallelTask<TContext>::ParallelTask(
+ TContext* i_common)
+ : common(i_common), contexts(NULL)
+{
+ _ASSERT(i_common->totalThreads > 0);
+}
+
+ template <class TContext>
+ void
+ParallelTask<TContext>::run()
+{
+ _int64 start = timeInMillis();
+ SingleWaiterObject doneWaiter;
+ if (!CreateSingleWaiterObject(&doneWaiter)) {
+ WriteErrorMessage( "Failed to create single waiter object for thread completion.\n");
+ soft_exit(1);
+ }
+
+#ifdef _MSC_VER
+ int nThreadsAllocatingMemory = common->totalThreads;
+ EventObject memoryAllocationCompleteBarrier;
+ CreateEventObject(&memoryAllocationCompleteBarrier);
+
+ common->nThreadsAllocatingMemory = &nThreadsAllocatingMemory;
+ common->memoryAllocationCompleteBarrier = &memoryAllocationCompleteBarrier;
+#endif // _MSC_VER
+ common->doneWaiter = &doneWaiter;
+ common->runningThreads = common->totalThreads;
+ common->pRunningThreads = &common->runningThreads;
+
+ contexts = new TContext[common->totalThreads];
+ for (int i = 0; i < common->totalThreads; i++) {
+ contexts[i] = *common;
+ contexts[i].threadNum = i;
+ contexts[i].initializeThread();
+
+ if (!StartNewThread(ParallelTask<TContext>::threadWorker, &contexts[i])) {
+ WriteErrorMessage( "Unable to start worker thread.\n");
+ soft_exit(1);
+ }
+ }
+
+#ifdef _MSC_VER
+ if (common->useTimingBarrier) {
+ WaitForEvent(&memoryAllocationCompleteBarrier);
+ WriteStatusMessage("Cleared timing barrier.\n");
+ start = timeInMillis();
+ }
+#endif // _MSC_VER
+
+ if (!WaitForSingleWaiterObject(&doneWaiter)) {
+ WriteErrorMessage( "Waiting for all threads to finish failed\n");
+ soft_exit(1);
+ }
+ DestroySingleWaiterObject(&doneWaiter);
+#ifdef _MSC_VER
+ DestroyEventObject(&memoryAllocationCompleteBarrier);
+#endif // _MSC_VER
+
+ for (int i = 0; i < common->totalThreads; i++) {
+ contexts[i].finishThread(common);
+ }
+
+ common->time = timeInMillis() - start;
+}
+
+ template <class TContext>
+ void
+ParallelTask<TContext>::fork()
+{
+ if (!StartNewThread(ParallelTask<TContext>::forkWorker, this)) {
+ WriteErrorMessage( "Unable to fork task thread.\n");
+ soft_exit(1);
+ }
+}
+
+ template <class TContext>
+ void
+ParallelTask<TContext>::forkWorker(
+ void* forkArg)
+{
+ ((ParallelTask<TContext>*) forkArg)->run();
+}
+
+ template <class TContext>
+ void
+ParallelTask<TContext>::threadWorker(
+ void* threadArg)
+{
+ TContext* context = (TContext*) threadArg;
+ if (context->bindToProcessors) {
+ BindThreadToProcessor(context->threadNum);
+ }
+
+ context->runThread();
+
+ // Decrement the running thread count and wake up the waiter if it hits 0.
+ if (0 == InterlockedDecrementAndReturnNewValue(context->pRunningThreads)) {
+ SignalSingleWaiterObject(context->doneWaiter);
+ }
+}
+
+struct WorkerContext;
+class ParallelWorker;
+class ParallelWorkerManager;
+
+// coroutined parallel workers
+// does code inline if numThreads = 0
+// can either callback when done, or synchronously wait for all to complete
+class ParallelCoworker
+{
+public:
+
+ typedef void (*Callback)(void*);
+ ParallelCoworker(int i_numThreads, bool i_bindToProcessors, ParallelWorkerManager* supplier, Callback callback = NULL, void* parameter = NULL);
+
+ ~ParallelCoworker();
+
+ // start forked thread running
+ void start();
+
+ // do one unit of work, asynchronously if callback, else synchronously
+ void step();
+
+ // stop everything, waits until all threads exit
+ void stop();
+
+ ParallelWorkerManager* getManager() { return manager; }
+
+private:
+ EventObject *workReady; // One per worker thread
+ EventObject *workDone; // One per worker thread
+ ParallelWorker** workers; // one per worker thread
+ ParallelWorkerManager* manager;
+ volatile bool stopped;
+ const int numThreads;
+ const bool bindToProcessors;
+ Callback callback;
+ void* parameter;
+ WorkerContext* context;
+ ParallelTask<WorkerContext>* task;
+ SingleWaiterObject finished;
+
+ friend struct WorkerContext;
+};
+
+// abstract classes for specifying the actual work
+
+// creates new per-thread workers
+class ParallelWorker;
+
+class ParallelWorkerManager
+{
+public:
+
+ // todo: using void* context pointers to avoid pain of templates but should really be made typesafe
+ virtual void initialize(void* context) {}
+
+ virtual ParallelWorker* createWorker() = 0;
+
+ virtual void beginStep() {}
+
+ virtual void finishStep() {}
+
+ void configure(ParallelWorker* worker, int threadNum, int totalThreads); // special case
+};
+
+// per-thread worker
+class ParallelWorker
+{
+public:
+ ParallelWorker() {}
+ virtual ~ParallelWorker() {}
+
+ virtual void initialize() {}
+ virtual void step() = 0;
+
+protected:
+ ParallelWorkerManager* getManager() { return manager; }
+ int getThreadNum() { return threadNum; }
+ int getNumThreads() { return numThreads; }
+
+private:
+ friend class ParallelCoworker;
+ friend class ParallelWorkerManager;
+ void configure(ParallelWorkerManager* i_manager, int i_threadNum, int i_numThreads)
+ { manager = i_manager; threadNum = i_threadNum; numThreads = i_numThreads; }
+
+ ParallelWorkerManager* manager;
+ int threadNum;
+ int numThreads;
+};
+
+struct WorkerContext : public TaskContextBase
+{
+ ParallelCoworker* shared;
+
+ void initializeThread();
+ void runThread();
+ void finishThread(WorkerContext* common);
+};
+
diff --git a/SNAPLib/PriorityQueue.h b/SNAPLib/PriorityQueue.h
new file mode 100644
index 0000000..61ae85b
--- /dev/null
+++ b/SNAPLib/PriorityQueue.h
@@ -0,0 +1,117 @@
+#pragma once
+
+#include "Compat.h"
+#include "stdafx.h"
+#include "BigAlloc.h"
+#include "VariableSizeMap.h"
+
+using std::max;
+using std::min;
+
+// adapted from http://visualstudiomagazine.com/articles/2012/11/01/priority-queues-with-c.aspx
+
+template <typename P, typename V>
+class PriorityQueue
+{
+private:
+ struct Entry
+ {
+ Entry() : value(), priority(0) {}
+ Entry(V v, P p) : value(v), priority(p) {}
+ void operator=(const Entry& e) { value = e.value; priority = e.priority; }
+ V value;
+ P priority;
+ };
+ typedef VariableSizeVector<Entry> EntryVector;
+
+#if 0
+ inline void check()
+ { _ASSERT(validate()); }
+#else
+ inline void check() {}
+#endif
+
+public:
+ // add an element with specific priority
+ void add(V value, P pri)
+ {
+ queue.push_back(Entry(value, pri));
+ _int64 ci = queue.size() - 1;
+ while (ci > 0) {
+ _int64 pi = (ci - 1) / 2; // parent index
+ if (queue[ci].priority >= queue[pi].priority) {
+ break; // child >= parent so stop
+ }
+ Entry tmp = queue[ci]; queue[ci] = queue[pi]; queue[pi] = tmp;
+ ci = pi;
+ }
+ check();
+ }
+
+ V pop(P* o_priority = NULL)
+ {
+ _int64 li = queue.size() - 1; // last index (before removal)
+ Entry frontItem = queue[0]; // fetch the front
+ queue[0] = queue[li];
+ queue.erase(li);
+
+ --li; // last index (after removal)
+ int pi = 0; // parent index. start at front of pq
+ while (true) {
+ int ci = pi * 2 + 1; // left child index of parent
+ if (ci > li) {
+ break; // no children so done
+ }
+ int rc = ci + 1; // right child
+ if (rc <= li && queue[rc].priority < queue[ci].priority) {
+ // if there is a rc (ci + 1), and it is smaller than left child, use the rc instead
+ ci = rc;
+ }
+ if (queue[pi].priority <= queue[ci].priority) {
+ break; // parent is smaller than (or equal to) smallest child so done
+ }
+ Entry tmp = queue[pi]; queue[pi] = queue[ci]; queue[ci] = tmp; // swap parent and child
+ pi = ci;
+ }
+ check();
+ if (o_priority != NULL) {
+ *o_priority = frontItem.priority;
+ }
+ return frontItem.value;
+ }
+
+ V peek(P* o_priority = NULL) const
+ {
+ if (o_priority != NULL) {
+ *o_priority = queue[0].priority;
+ }
+ return queue[0].value;
+ }
+
+ void clear()
+ { queue.clear(); }
+
+ _int64 size() const
+ { return queue.size(); }
+
+ bool validate()
+ {
+ // is the heap property true for all queue?
+ if (queue.size() == 0) {
+ return true;
+ }
+ int li = queue.size() - 1; // last index
+ for (int pi = 0; pi <= li; ++pi) {
+ int lci = 2 * pi + 1; // left child index
+ int rci = 2 * pi + 2; // right child index
+
+ if (lci <= li && queue[pi].priority > queue[lci].priority) return false; // if lc exists and it's greater than parent then bad.
+ if (rci <= li && queue[pi].priority > queue[rci].priority) return false; // check the right child too.
+ }
+ return true;
+ }
+
+private:
+
+ EntryVector queue; // sorted list
+};
diff --git a/SNAPLib/ProbabilityDistance.cpp b/SNAPLib/ProbabilityDistance.cpp
new file mode 100644
index 0000000..6900124
--- /dev/null
+++ b/SNAPLib/ProbabilityDistance.cpp
@@ -0,0 +1,135 @@
+#include "stdafx.h"
+#include "ProbabilityDistance.h"
+#include "Compat.h"
+
+
+#ifdef TRACE_PROBABILITY_DISTANCE
+#define TRACE printf
+#else
+#define TRACE(...) {}
+#endif
+
+
+namespace {
+ inline double max3(double d1, double d2, double d3) {
+ if (d1 > d2) {
+ return (d1 > d3) ? d1 : d3;
+ } else {
+ return (d2 > d3) ? d2 : d3;
+ }
+ }
+}
+
+
+ProbabilityDistance::ProbabilityDistance(double snpProb, double gapOpenProb, double gapExtensionProb)
+{
+ snpLogProb = log(snpProb);
+ gapOpenLogProb = log(gapOpenProb);
+ gapExtensionLogProb = log(gapExtensionProb);
+
+ // Fill in the matchLogProb and mismatchLogProb tables for base quality values; assumes Phred+33 encoding
+ for (int q = 0; q < 256; q++) {
+ if (q < 33) {
+ matchLogProb[q] = NO_PROB;
+ mismatchLogProb[q] = NO_PROB;
+ } else {
+ // Probability that we misread this base
+ double errorProb = pow(10.0, -(q - 33) / 10.0);
+ // A match occurs if we didn't misread the base and it wasn't a SNP (technically it could also
+ // be that we misread it and it *was* a SNP, but that's pretty unlikely)
+ double matchProb = (1.0 - errorProb) * (1.0 - snpProb);
+ double mismatchProb = 1.0 - matchProb;
+ matchLogProb[q] = log(matchProb);
+ mismatchLogProb[q] = log(mismatchProb);
+ if (q >= 33 && q <= 'J') {
+ TRACE("q=%c: match %.04f, mismatch %.04f\n", q, matchProb, mismatchProb);
+ }
+ // TODO: Might be good to check the numerical stability of this (1 - small) stuff
+ }
+ }
+}
+
+
+int ProbabilityDistance::compute(
+ const char *reference,
+ const char *read,
+ const char *quality,
+ int readLen,
+ int maxStartShift,
+ int maxShift, // Maximum overall shift to consider
+ double *matchProbability)
+{
+ _ASSERT(maxStartShift < MAX_SHIFT);
+ _ASSERT(maxShift < MAX_SHIFT);
+ _ASSERT(maxStartShift <= maxShift);
+
+ // Fill in the readPos = 0 row to allow us to start only at -maxStartShift..+maxStartShift
+ for (int s = -maxShift-1; s <= maxShift+1; s++) {
+ d[0][MAX_SHIFT+s][READ_GAP] = NO_PROB;
+ d[0][MAX_SHIFT+s][REF_GAP] = NO_PROB;
+ if (s < -maxStartShift || s > maxStartShift) {
+ d[0][MAX_SHIFT+s][NO_GAP] = NO_PROB;
+ } else {
+ d[0][MAX_SHIFT+s][NO_GAP] = log(1.0);
+ }
+ }
+
+ // Now go through each readPos from 1 to readLen and compute how to best get there
+ for (int r = 1; r <= readLen; r++) {
+ // Add sentinels at the end of the array
+ d[r][MAX_SHIFT-maxShift-1][READ_GAP] = NO_PROB;
+ d[r][MAX_SHIFT+maxShift+1][READ_GAP] = NO_PROB;
+ d[r][MAX_SHIFT-maxShift-1][REF_GAP] = NO_PROB;
+ d[r][MAX_SHIFT+maxShift+1][REF_GAP] = NO_PROB;
+ d[r][MAX_SHIFT-maxShift-1][NO_GAP] = NO_PROB;
+ d[r][MAX_SHIFT+maxShift+1][NO_GAP] = NO_PROB;
+
+ // Fill in the rest of the values using dynamic program recurrence
+ for (int s = -maxShift; s <= maxShift; s++) {
+ // The NO_GAP case; we get here either from a previous NO_GAP or by closing a gap from the
+ // previous readPos, and in either case, we need to match the current base
+ double thisBaseProb = (read[r-1] == reference[r-1+s]) ? matchLogProb[quality[r-1]] : mismatchLogProb[quality[r-1]];
+ d[r][MAX_SHIFT+s][NO_GAP] = max3(d[r-1][MAX_SHIFT+s][NO_GAP] + thisBaseProb,
+ d[r-1][MAX_SHIFT+s][REF_GAP] + thisBaseProb,
+ d[r-1][MAX_SHIFT+s][READ_GAP] + thisBaseProb);
+
+ // The READ_GAP case; we can either open a new gap from the previous NO_GAP or REF_GAP cases, or
+ // extend a gap computed in the previous READ_GAP case
+ d[r][MAX_SHIFT+s][READ_GAP] = max3(d[r-1][MAX_SHIFT+s+1][NO_GAP] + gapOpenLogProb,
+ d[r-1][MAX_SHIFT+s+1][REF_GAP] + gapOpenLogProb,
+ d[r-1][MAX_SHIFT+s+1][READ_GAP] + gapExtensionLogProb);
+
+ // The REF_GAP case; we can either open a new gap from NO_GAP/READ_GAP, or extend one
+ d[r][MAX_SHIFT+s][REF_GAP] = max3(d[r][MAX_SHIFT+s-1][NO_GAP] + gapOpenLogProb,
+ d[r][MAX_SHIFT+s-1][REF_GAP] + gapExtensionLogProb,
+ d[r][MAX_SHIFT+s-1][READ_GAP] + gapOpenLogProb);
+ }
+ }
+
+#ifdef TRACE_PROBABILITY_DISTANCE
+ printf("Here is the final matrix:\n");
+ for (int r = 0; r <= readLen; r++) {
+ printf("%d: ", r);
+ for (int g = 0; g < 3; g++) {
+ for (int s = -maxShift; s <= maxShift; s++) {
+ printf("%7.2g ", d[r][MAX_SHIFT+s][g]);
+ }
+ if (g < 2) {
+ printf("| ");
+ }
+ }
+ printf("\n");
+ }
+#endif
+
+ // Return the best probability, and a somewhat arbitrary score for it (TODO: need to actually compute # of edits)
+ double best = NO_PROB;
+ for (int s = -maxShift; s <= maxShift; s++) {
+ for (int g = 0; g < 3; g++) {
+ best = __max(best, d[readLen][MAX_SHIFT+s][g]);
+ }
+ }
+ *matchProbability = exp(best);
+ TRACE("Best match probability: %g (log: %.2g)\n", exp(best), best);
+ return 5;
+}
diff --git a/SNAPLib/ProbabilityDistance.h b/SNAPLib/ProbabilityDistance.h
new file mode 100644
index 0000000..db08aca
--- /dev/null
+++ b/SNAPLib/ProbabilityDistance.h
@@ -0,0 +1,56 @@
+#pragma once
+
+#include "Read.h"
+
+//
+// Similar to BoundedStringDistance and LandauVishkin, but computes the probability of a read
+// string being generated from a reference sequence given an error model, mutation model and
+// the quality scores of the bases in the read. For now, we assume that the statistical model
+// for errors is one with a "gap open probability" and a fixed "gap extension probability"
+// per base. For substitions, we could have different probabilities for each transition, but
+// we assume that they all have the same probability right now.
+//
+class ProbabilityDistance {
+public:
+ static const int MAX_READ = MAX_READ_LENGTH;
+ static const int MAX_SHIFT = 20;
+
+ ProbabilityDistance(double snpProb, double gapOpenProb, double gapExtensionProb);
+
+ int compute(
+ const char *reference,
+ const char *read,
+ const char *quality,
+ int readLen,
+ int maxStartShift,
+ int maxTotalShift,
+ double *matchProbability);
+
+private:
+ double snpLogProb;
+ double gapOpenLogProb;
+ double gapExtensionLogProb;
+
+ double matchLogProb[256]; // [baseQuality]
+ double mismatchLogProb[256]; // [baseQuality]
+
+#define NO_PROB -1000000.0; // A really negative log probability -- basically zero. VC compiler won't allow static const double in a class.
+
+ enum GapStatus { NO_GAP, READ_GAP, REF_GAP };
+
+ // d[readPos][shift][gapStatus] is the best possible log probability for aligning the
+ // substring read[0..readPos] to reference[?..readPos + shift]. The "?" in reference is
+ // because we allow starting an alignment from reference[-maxStartShift..maxStartShift]
+ // instead of just reference[0], to deal with indels toward the start of the read.
+ double d[MAX_READ][2*MAX_SHIFT+1][3]; // [readPos][shift][gapStatus]
+
+ // A state in the D array, used for backtracking pointers
+ struct State {
+ int readPos;
+ int shift;
+ int gapStatus;
+ };
+
+ // Previous state in our dynamic program, for backtracking to print CIGAR strings
+ State prev[MAX_READ][2*MAX_SHIFT+1][3]; // [readPos][shift][gapStatus]
+};
diff --git a/SNAPLib/RangeSplitter.cpp b/SNAPLib/RangeSplitter.cpp
new file mode 100644
index 0000000..99e0a2a
--- /dev/null
+++ b/SNAPLib/RangeSplitter.cpp
@@ -0,0 +1,260 @@
+/*++
+
+Module Name:
+
+ RangeSplitter.cpp
+
+Abstract:
+
+ Code to split a range into pieces for multiple cores to process. It's designed
+ to handle cores that proceed at varying rates.
+
+Authors:
+
+ Bill Bolosky, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Pulled out of cSNAP.cpp to make it useful for various versions of the aligner.
+ Generalized from FileSplitter to ranges, e.g. for scanning the genome /ravip/5/2012/
+
+--*/
+
+#include "stdafx.h"
+#include "RangeSplitter.h"
+#include "SAM.h"
+#include "FASTQ.h"
+
+using std::max;
+using std::min;
+
+
+RangeSplitter::RangeSplitter(_int64 rangeEnd_, int numThreads_, unsigned divisionSize_, _int64 rangeBegin_, unsigned minMillis_, unsigned minRangeSize_)
+{
+ numThreads = numThreads_;
+ rangeEnd = rangeEnd_;
+ rangeBegin = rangeBegin_;
+ position = rangeBegin_;
+ startTime = 0; // We'll initialize it when getNextRange() is first called
+ divisionSize = divisionSize_;
+ minMillis = minMillis_;
+ minRangeSize = minRangeSize_;
+}
+
+
+bool RangeSplitter::getNextRange(_int64 *rangeStart, _int64 *rangeLength)
+{
+ // If there are multiple threads, start each of them off with (rangeEnd / divionSize / numThreads),
+ // and then keep giving everyone 1 / (divisionSize * numThreads) of the remaining data or the amount
+ // of units processed per thread in minMillis ms, whichever is bigger.
+ // If there's just one thread, we give it the whole range at the beginning.
+
+ if (startTime == 0) {
+ // There's a possible "race" here if multiple threads start at the same time, but that's
+ // actually OK; we just want a rough idea of when we started the processing.
+ startTime = timeInMillis();
+ }
+
+ _int64 amountLeft = rangeEnd - position;
+ if (amountLeft <= 0) {
+ return false;
+ }
+
+ _int64 amountToTake;
+ if (numThreads == 1) {
+ amountToTake = rangeEnd;
+ } else if (amountLeft >= (rangeEnd - rangeBegin) / divisionSize) {
+ amountToTake = (rangeEnd - rangeBegin) / divisionSize / numThreads;
+ if (amountToTake == 0) {
+ amountToTake = amountLeft;
+ } else {
+ amountToTake = min(amountLeft, max(amountToTake, (_int64) minRangeSize));
+ }
+ } else {
+ // Figure out units processed in minMillis ms per thread (keeping in mind we ran numThreads in total).
+ _int64 unitsInMinms = (position - rangeBegin) * minMillis / max((_int64) (timeInMillis() - startTime) * numThreads, (_int64) 1);
+ amountToTake = max(amountLeft / divisionSize / numThreads, unitsInMinms);
+ amountToTake = max(amountToTake, (_int64) minRangeSize); // Avoid getting really tiny amounts at the end.
+ }
+
+ _ASSERT(amountToTake > 0);
+ _int64 oldPosition = position; // for debugging
+ _int64 startOffset = InterlockedAdd64AndReturnNewValue(&position, amountToTake) - amountToTake;
+ _ASSERT(position >= rangeBegin);
+ if (startOffset >= rangeEnd) {
+ // No work left to allocate.
+ return false;
+ }
+
+ // Don't run past EOF if there was a race above (threads looking at amountLeft at the same time).
+ amountToTake = min(amountToTake, rangeEnd - startOffset);
+ _ASSERT(amountToTake > 0);
+
+ *rangeStart = startOffset;
+ *rangeLength = amountToTake;
+ _ASSERT(startOffset >= rangeBegin && startOffset + amountToTake <= rangeEnd);
+ return true;
+}
+
+RangeSplittingReadSupplierGenerator::RangeSplittingReadSupplierGenerator(
+ const char *i_fileName,
+ bool i_isSAM,
+ unsigned i_numThreads,
+ const ReaderContext& i_context)
+ : isSAM(i_isSAM), context(i_context), numThreads(i_numThreads)
+{
+ fileName = new char[strlen(i_fileName) + 1];
+ strcpy(fileName, i_fileName);
+
+ //
+ // Figure out the header size based on file type. We set up the range splitter to skip the header. This both makes the work allocation more even,
+ // and also assures that in the case where the header is bigger than what would otherwise be the first work unit that the second guy in doesn't see
+ // header.
+ //
+ _int64 headerSize;
+ if (isSAM) {
+ SAMReader *reader = SAMReader::create(DataSupplier::Default, fileName, ReadSupplierQueue::BufferCount(numThreads), context, 0, 0);
+ if (!reader) {
+ WriteErrorMessage("Unable to create reader for SAM file '%s'\n", fileName);
+ soft_exit(1);
+ }
+ headerSize = reader->getContext()->headerBytes;
+ delete reader;
+ reader = NULL;
+ } else {
+ // FASTQ has no header.
+ headerSize = 0;
+ }
+
+ splitter = new RangeSplitter(QueryFileSize(fileName), numThreads, 5, headerSize, 200, 10 * MAX_READ_LENGTH);
+}
+
+ReadSupplier *
+RangeSplittingReadSupplierGenerator::generateNewReadSupplier()
+{
+ _int64 rangeStart, rangeLength;
+ if (!splitter->getNextRange(&rangeStart, &rangeLength)) {
+ return NULL;
+ }
+
+ ReadReader *underlyingReader;
+ // todo: implement layered factory model
+ if (isSAM) {
+ underlyingReader = SAMReader::create(DataSupplier::Default, fileName, 2, context, rangeStart, rangeLength);
+ } else {
+ underlyingReader = FASTQReader::create(DataSupplier::Default, fileName, 2, rangeStart, rangeLength, context);
+ }
+ return new RangeSplittingReadSupplier(splitter,underlyingReader);
+}
+
+RangeSplittingReadSupplier::~RangeSplittingReadSupplier()
+{
+}
+
+
+ Read *
+RangeSplittingReadSupplier::getNextRead()
+{
+ if (underlyingReader->getNextRead(&read)) {
+ return &read;
+ }
+
+ _int64 rangeStart, rangeLength;
+ if (!splitter->getNextRange(&rangeStart, &rangeLength)) {
+ return NULL;
+ }
+ underlyingReader->reinit(rangeStart,rangeLength);
+ if (!underlyingReader->getNextRead(&read)) {
+ return NULL;
+ }
+ return &read;
+}
+
+RangeSplittingPairedReadSupplier::~RangeSplittingPairedReadSupplier()
+{
+}
+
+ bool
+RangeSplittingPairedReadSupplier::getNextReadPair(Read **read1, Read **read2)
+{
+ *read1 = &internalRead1;
+ *read2 = &internalRead2;
+ if (underlyingReader->getNextReadPair(&internalRead1,&internalRead2)) {
+ return true;
+ }
+
+ //
+ // We need to clear out the reads, because they may contain references to the buffers in the readers.
+ // These buffer reference counts get reset to 0 at reinit time, which causes problems when they're
+ // still live in read.
+ //
+
+ _int64 rangeStart, rangeLength;
+ if (!splitter->getNextRange(&rangeStart, &rangeLength)) {
+ return false;
+ }
+
+ underlyingReader->reinit(rangeStart,rangeLength);
+ return underlyingReader->getNextReadPair(&internalRead1, &internalRead2);
+}
+
+RangeSplittingPairedReadSupplierGenerator::RangeSplittingPairedReadSupplierGenerator(
+ const char *i_fileName1, const char *i_fileName2, FileType i_fileType, unsigned i_numThreads,
+ bool i_quicklyDropUnpairedReads, const ReaderContext& i_context) :
+ fileType(i_fileType), numThreads(i_numThreads), context(i_context), quicklyDropUnpairedReads(i_quicklyDropUnpairedReads)
+{
+ _ASSERT(strcmp(i_fileName1, "-") && (NULL == i_fileName2 || strcmp(i_fileName2, "-"))); // Can't use range splitter on stdin, because you can't seek or query size
+ fileName1 = new char[strlen(i_fileName1) + 1];
+ strcpy(fileName1, i_fileName1);
+
+ if (FASTQFile == fileType) {
+ fileName2 = new char[strlen(i_fileName2) + 1];
+ strcpy(fileName2, i_fileName2);
+ } else {
+ fileName2 = NULL;
+ }
+
+ splitter = new RangeSplitter(QueryFileSize(fileName1),numThreads);
+}
+
+RangeSplittingPairedReadSupplierGenerator::~RangeSplittingPairedReadSupplierGenerator()
+{
+ delete [] fileName1;
+ delete [] fileName2;
+ delete splitter;
+}
+
+ PairedReadSupplier *
+RangeSplittingPairedReadSupplierGenerator::generateNewPairedReadSupplier()
+{
+ _int64 rangeStart, rangeLength;
+ if (!splitter->getNextRange(&rangeStart, &rangeLength)) {
+ return NULL;
+ }
+
+ PairedReadReader *underlyingReader;
+ switch (fileType) {
+ case SAMFile:
+ underlyingReader = SAMReader::createPairedReader(DataSupplier::Default, fileName1, 2, rangeStart, rangeLength, quicklyDropUnpairedReads, context);
+ break;
+
+ case FASTQFile:
+ underlyingReader = PairedFASTQReader::create(DataSupplier::Default, fileName1, fileName2, 2, rangeStart, rangeLength, context);
+ break;
+
+ case InterleavedFASTQFile:
+ underlyingReader = PairedInterleavedFASTQReader::create(DataSupplier::Default, fileName1, 2, rangeStart, rangeLength, context);
+ break;
+
+ default:
+ WriteErrorMessage("RangeSplittingPairedReadSupplierGenerator::generateNewPairedReadSupplier(): unknown file type %d\n", fileType);
+ soft_exit(1);
+ }
+
+ return new RangeSplittingPairedReadSupplier(splitter,underlyingReader);
+}
+
diff --git a/SNAPLib/RangeSplitter.h b/SNAPLib/RangeSplitter.h
new file mode 100644
index 0000000..dfc74a4
--- /dev/null
+++ b/SNAPLib/RangeSplitter.h
@@ -0,0 +1,132 @@
+/*++
+
+Module Name:
+
+ RangeSplitter.h
+
+Abstract:
+
+ Headers for code to split a range into pieces for multiple cores to process. It's designed
+ to handle cores that proceed at varying rates.
+
+Authors:
+
+ Bill Bolosky, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Pulled out of cSNAP.cpp to make it useful for various versions of the aligner
+ Generalized from FileSplitter to ranges, e.g. for scanning the genome /ravip/5/2012/
+
+--*/
+
+#pragma once
+
+#include "Compat.h"
+#include "Read.h"
+#include "Genome.h"
+#include "AlignerOptions.h"
+
+//
+// Utility class for letting multiple threads split chunks of a range to process.
+// This is used by the parallel versions of the aligners.
+//
+class RangeSplitter
+{
+public:
+ RangeSplitter(_int64 rangeEnd_, int numThreads_, unsigned divisonSize_ = 5, _int64 rangeBegin_ = 0, unsigned minMillis_ = 200, unsigned minRangeSize_ = 32768);
+
+ // Get the next range for a thread to process, or return false if the whole range is done.
+ bool getNextRange(_int64 *rangeStart, _int64 *rangeLength);
+
+private:
+ int numThreads;
+ _int64 rangeBegin;
+ _int64 rangeEnd;
+ unsigned divisionSize;
+ unsigned minMillis;
+ unsigned minRangeSize;
+ volatile _int64 position;
+ volatile _int64 startTime;
+};
+
+class RangeSplittingReadSupplier : public ReadSupplier {
+public:
+ RangeSplittingReadSupplier(RangeSplitter *i_splitter, ReadReader *i_underlyingReader) :
+ splitter(i_splitter), underlyingReader(i_underlyingReader), read() {}
+
+ virtual ~RangeSplittingReadSupplier();
+
+ Read *getNextRead();
+
+ virtual void holdBatch(DataBatch batch)
+ { underlyingReader->holdBatch(batch); }
+
+ virtual bool releaseBatch(DataBatch batch)
+ { return underlyingReader->releaseBatch(batch); }
+
+private:
+ RangeSplitter *splitter;
+ ReadReader *underlyingReader;
+ Read read;
+};
+
+class RangeSplittingReadSupplierGenerator: public ReadSupplierGenerator {
+public:
+ RangeSplittingReadSupplierGenerator(const char *i_fileName, bool i_isSAM, unsigned numThreads, const ReaderContext& context);
+ ~RangeSplittingReadSupplierGenerator() {delete splitter; delete [] fileName;}
+
+ ReadSupplier *generateNewReadSupplier();
+ ReaderContext* getContext() { return &context; }
+
+private:
+ RangeSplitter *splitter;
+ char *fileName;
+ const bool isSAM;
+ const int numThreads;
+ ReaderContext context;
+};
+
+
+class RangeSplittingPairedReadSupplier : public PairedReadSupplier {
+public:
+ RangeSplittingPairedReadSupplier(RangeSplitter *i_splitter, PairedReadReader *i_underlyingReader) : splitter(i_splitter), underlyingReader(i_underlyingReader) {}
+ virtual ~RangeSplittingPairedReadSupplier();
+
+ virtual bool getNextReadPair(Read **read1, Read **read2);
+
+ virtual void holdBatch(DataBatch batch)
+ { underlyingReader->releaseBatch(batch); }
+
+ virtual bool releaseBatch(DataBatch batch)
+ { return underlyingReader->releaseBatch(batch); }
+
+ private:
+ PairedReadReader *underlyingReader;
+ RangeSplitter *splitter;
+ Read internalRead1;
+ Read internalRead2;
+ };
+
+class RangeSplittingPairedReadSupplierGenerator: public PairedReadSupplierGenerator {
+public:
+ RangeSplittingPairedReadSupplierGenerator(const char *i_fileName1, const char *i_fileName2, enum FileType i_fileType, unsigned numThreads, bool i_quicklyDropUnpairedReads, const ReaderContext& context);
+ ~RangeSplittingPairedReadSupplierGenerator();
+
+ PairedReadSupplier *generateNewPairedReadSupplier();
+ ReaderContext* getContext() { return &context; }
+
+private:
+ RangeSplitter *splitter;
+ char *fileName1;
+ char *fileName2;
+ const int numThreads;
+ enum FileType fileType;
+ ReaderContext context;
+ bool quicklyDropUnpairedReads;
+};
+
diff --git a/SNAPLib/Read.cpp b/SNAPLib/Read.cpp
new file mode 100644
index 0000000..a2e4703
--- /dev/null
+++ b/SNAPLib/Read.cpp
@@ -0,0 +1,53 @@
+/*++
+
+
+Module Name:
+
+ Read.cpp
+
+Abstract:
+
+ Read class for the SNAP sequencer
+
+Authors:
+
+ Bill Bolosky, May, 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+--*/
+
+#include "stdafx.h"
+#include "Read.h"
+#include "SAM.h"
+#include "Error.h"
+
+ bool
+isAValidAlignmentResult(
+ AlignmentResult result)
+{
+ return result == NotFound || result == SingleHit || result == MultipleHits || result == UnknownAlignment;
+}
+
+ void
+Read::checkIdMatch(
+ Read* read0,
+ Read* read1)
+{
+ if (!readIdsMatch(read0, read1)) {
+ unsigned n[2] = {min(read0->getIdLength(), 200u), min(read1->getIdLength(), 200u)};
+ char* p[2] = {(char*) alloca(n[0] + 1), (char*) alloca(n[1] + 1)};
+ memcpy(p[0], read0->getId(), n[0]); p[0][n[0]] = 0;
+ memcpy(p[1], read1->getId(), n[1]); p[1][n[1]] = 0;
+ WriteErrorMessage("Unmatched read IDs '%s' and '%s'. Use the -I option to ignore this.\n", p[0], p[1]);
+ soft_exit(1);
+ }
+}
+
+
+const unsigned Read::localBufferLength = 3 * MAX_READ_LENGTH;
+const unsigned DEFAULT_MIN_READ_LENGTH = 50;
diff --git a/SNAPLib/Read.h b/SNAPLib/Read.h
new file mode 100644
index 0000000..a784b59
--- /dev/null
+++ b/SNAPLib/Read.h
@@ -0,0 +1,860 @@
+/*++
+
+
+Module Name:
+
+ Read.h
+
+Abstract:
+
+ Headers for the Read class for the SNAP sequencer
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#pragma once
+
+#include "Compat.h"
+#include "Tables.h"
+#include "DataReader.h"
+#include "DataWriter.h"
+#include "directions.h"
+#include "Error.h"
+#include "Genome.h"
+#include "AlignmentResult.h"
+
+class FileFormat;
+
+class Genome;
+
+struct PairedAlignmentResult;
+
+
+
+//#define LONG_READS
+#ifdef LONG_READS
+#define MAX_READ_LENGTH 400000
+#else
+#define MAX_READ_LENGTH 400
+#endif
+
+//
+// Here's a brief description of the classes for input in SNAP:
+// Read:
+// A Read is some data that's come from a NGS machine. It includes some bases and associated quality score, as well as an ID.
+// Reads may be clipped (because the sequencing machine was unsure of some bases). They may be switched between forward and
+// reverse complement sense. They may or may not own their own memory for the various fields.
+//
+// ReadReader:
+// A ReadReader understands how to generate reads from some input source (i.e., a FASTQ, SAM, BAM or CRAM file, for instance).
+// It owns the storage for the read's information (i.e., the base string), but does not own the Read object itself. It is responsible
+// for assuring that the memory for the read data is valid for the lifetime of the ReadReader (which, in practice, means it needs
+// to use mapped files). ReadReaders may assume that they will only be called from one thread.
+//
+// PairedReadReader:
+// Similar to a ReadReader, except that it gets mate pairs of Reads.
+//
+// ReadSupplier:
+// A class that supplies reads to a consumer. It looks similar to a ReadReader, except that it own the storage for the
+// ReadObject. The idea here is to allow the supplier to manage the memory that the Read object lives in so that a supplier
+// can be implemented by a parallel queue with batches of reads in it. Supplier may, of course, also be implemented in
+// different ways, such as range splitters. Like ReadReaders, ReadSuppliers will be called from only one thread. In
+// practice, ReadSuppliers will have underlying ReadReaders (which might be behind a shared queue, for example).
+//
+// ReadSupplierGenerator:
+// A class that creates a ReadSupplier. This has to be thread safe. The usual pattern is that the initialization code will
+// create a read supplier generator, which will then be called on each of the threads to create a supplier, which will supply
+// the reads to be aligned.
+//
+// PairedReadSupplierGenerator:
+// The paired version of a ReadSupplier.
+//
+
+const int MaxReadLength = MAX_READ_LENGTH;
+
+class Read;
+
+enum ReadClippingType {NoClipping, ClipFront, ClipBack, ClipFrontAndBack};
+
+struct ReaderContext
+{
+ const Genome* genome;
+ const char* defaultReadGroup;
+ const char* defaultReadGroupAux; // SAM or BAM depending on output format
+ int defaultReadGroupAuxLen;
+ ReadClippingType clipping;
+ bool paired;
+ bool ignoreSecondaryAlignments; // Should we just ignore reads with the Secondary Alignment bit set?
+ bool ignoreSupplementaryAlignments; // Should we just ignore reads with the Supplementary Alignment bit set?
+ const char* header; // allocated buffer for header
+ size_t headerLength; // length of string
+ size_t headerBytes; // bytes used for header in file
+ bool headerMatchesIndex; // header refseq matches current index
+};
+
+class ReadReader {
+public:
+ ReadReader(const ReaderContext& i_context) : context(i_context) {}
+
+ virtual ~ReadReader() {}
+
+ // reading
+
+ virtual bool getNextRead(Read *readToUpdate) = 0;
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess) = 0;
+
+ // if you keep a read after the next call to getNextRead, you must call holdBatch
+ // this increments the reference count to the batch
+ virtual void holdBatch(DataBatch batch) = 0;
+
+ // decremens hold refcount, when all holds are released the batch is no longer valid
+ virtual bool releaseBatch(DataBatch batch) = 0;
+
+ ReaderContext* getContext() { return &context; }
+
+protected:
+ ReaderContext context;
+};
+
+class PairedReadReader {
+public:
+ virtual ~PairedReadReader() {}
+
+ // reading
+
+ virtual bool getNextReadPair(Read *read1, Read *read2) = 0;
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess) = 0;
+
+ virtual void holdBatch(DataBatch batch) = 0;
+ virtual bool releaseBatch(DataBatch batch) = 0;
+
+ virtual ReaderContext* getContext() = 0;
+
+ // wrap a single read source with a matcher that buffers reads until their mate is found
+ static PairedReadReader* PairMatcher(ReadReader* single, bool quicklyDropUnpairedReads);
+ static const int MatchBuffers = 2;
+};
+
+class ReadSupplier {
+public:
+ virtual Read *getNextRead() = 0; // This read is valid until you call getNextRead, then it's done. Don't worry about deallocating it.
+ virtual ~ReadSupplier() {}
+
+ virtual void holdBatch(DataBatch batch) = 0;
+ virtual bool releaseBatch(DataBatch batch) = 0;
+};
+
+class PairedReadSupplier {
+public:
+ // These read are valid until you call getNextRead, then they're done. Don't worry about deallocating them.
+ virtual bool getNextReadPair(Read **read0, Read **read1) = 0;
+ virtual ~PairedReadSupplier() {}
+
+ virtual void holdBatch(DataBatch batch) = 0;
+ virtual bool releaseBatch(DataBatch batch) = 0;
+};
+
+class ReadSupplierGenerator {
+public:
+ virtual ReadSupplier *generateNewReadSupplier() = 0;
+ virtual ReaderContext* getContext() = 0;
+ virtual ~ReadSupplierGenerator() {}
+};
+
+class PairedReadSupplierGenerator {
+public:
+ virtual PairedReadSupplier *generateNewPairedReadSupplier() = 0;
+ virtual ReaderContext* getContext() = 0;
+ virtual ~PairedReadSupplierGenerator() {}
+};
+
+class ReadWriter {
+public:
+
+ virtual ~ReadWriter() {}
+
+ // write out header
+ virtual bool writeHeader(const ReaderContext& context, bool sorted, int argc, const char **argv, const char *version, const char *rgLine, bool omitSQLines) = 0;
+
+ //
+ // write a batch of single reads, the first one of which is a primary alignment and the rest secondary.
+ //
+ virtual bool writeReads(const ReaderContext& context, Read *read, SingleAlignmentResult *results, int nResults, bool firstIsPrimary) = 0;
+
+ //
+ // Write a batch of paired alignments, including some single secondary alignments. reads needs to be exactly two reads, singleAlignmentResult is a pointer to two arrays of
+ // SingleAlignmentResults for single alignments of the respective reads, and the number of results is given by the two ints pointed to by nSingleResults. The first paired
+ // result is primary, all others are secondary.
+ //
+ virtual bool writePairs(const ReaderContext& context, Read **reads /* array of size 2 */, PairedAlignmentResult *result, int nResults,
+ SingleAlignmentResult **singleResults /* array of size 2*/, int *nSingleResults /* array of size 2*/, bool firstIsPrimary) = 0;
+
+
+ // close out this thread
+ virtual void close() = 0;
+};
+
+class DataWriterSupplier;
+
+class ReadWriterSupplier
+{
+public:
+ virtual ReadWriter* getWriter() = 0;
+
+ virtual void close() = 0;
+
+ static ReadWriterSupplier* create(const FileFormat* format, DataWriterSupplier* dataSupplier,
+ const Genome* genome);
+};
+
+#define READ_GROUP_FROM_AUX ((const char*) -1)
+
+class Read {
+public:
+ Read() :
+ id(NULL), data(NULL), quality(NULL),
+ localBufferAllocationOffset(0),
+ clippingState(NoClipping), currentReadDirection(FORWARD),
+ upcaseForwardRead(NULL), auxiliaryData(NULL), auxiliaryDataLength(0),
+ readGroup(NULL), originalAlignedLocation(-1), originalMAPQ(-1), originalSAMFlags(0),
+ originalFrontClipping(0), originalBackClipping(0), originalFrontHardClipping(0), originalBackHardClipping(0),
+ originalRNEXT(NULL), originalRNEXTLength(0), originalPNEXT(0), additionalFrontClipping(0)
+ {}
+
+ Read(const Read& other) : localBufferAllocationOffset(0)
+ {
+ copyFromOtherRead(other);
+ }
+
+ ~Read()
+ {
+ }
+
+ void dispose()
+ {
+ localBufferAllocationOffset = 0;
+ data = quality = unclippedData = unclippedQuality = externalData = NULL;
+ }
+
+ void operator=(const Read& other)
+ {
+ copyFromOtherRead(other);
+ }
+
+ void copyFromOtherRead(const Read& other)
+ {
+ id = other.id;
+ idLength = other.idLength;
+ frontClippedLength = other.frontClippedLength;
+ dataLength = other.dataLength;
+ externalData = other.externalData;
+ externalQuality = other.externalQuality;
+ currentReadDirection = other.currentReadDirection;
+ localBufferAllocationOffset = 0; // Clears out any allocations that might previously have been in the buffer
+ upcaseForwardRead = rcData = rcQuality = NULL;
+ unclippedLength = other.unclippedLength;
+
+ if (other.localBufferAllocationOffset != 0) {
+ //
+ // Copy the other read's local buffer to us.
+ //
+ assureLocalBufferLargeEnough();
+ _ASSERT(other.localBufferAllocationOffset <= localBufferLength);
+ memcpy(localBuffer, other.localBuffer, other.localBufferAllocationOffset);
+ localBufferAllocationOffset = other.localBufferAllocationOffset;
+
+ if (NULL != other.upcaseForwardRead) {
+ //
+ // Assert that it's in the other read's local buffer.
+ //
+ _ASSERT(other.upcaseForwardRead >= other.localBuffer && other.upcaseForwardRead <= other.localBuffer + other.localBufferAllocationOffset - unclippedLength);
+
+ //
+ // And put ours at the same offset in our local buffer.
+ //
+ upcaseForwardRead = localBuffer + (other.upcaseForwardRead - other.localBuffer);
+ }
+
+ if (NULL != other.rcData) {
+ //
+ // Assert that it's in the other read's local buffer.
+ //
+ _ASSERT(other.rcData >= other.localBuffer && other.rcData <= other.localBuffer + other.localBufferAllocationOffset - unclippedLength);
+
+ //
+ // And put ours at the same offset in our local buffer.
+ //
+ rcData = localBuffer + (other.rcData - other.localBuffer);
+
+ //
+ // And the same for RC quality.
+ //
+ _ASSERT(other.rcQuality >= other.localBuffer && other.rcQuality <= other.localBuffer + other.localBufferAllocationOffset - unclippedLength);
+ rcQuality = localBuffer + (other.rcQuality - other.localBuffer);
+ } else {
+ _ASSERT(NULL == other.rcQuality);
+ }
+ } else {
+ _ASSERT(other.upcaseForwardRead == NULL && other.rcData == NULL && other.rcQuality == NULL);
+ }
+
+ //
+ // Now set up the data, unclippedData, quality and unclippedQuality pointers.
+ //
+ if (NULL == other.localBuffer || other.data < other.localBuffer || other.data >= other.localBuffer + other.localBufferAllocationOffset - dataLength) {
+ //
+ // Not in the other read's local buffer, so it must be external. Copy it.
+ //
+ data = other.data;
+ _ASSERT(NULL == other.localBuffer || other.quality < other.localBuffer || other.quality >= other.localBuffer + other.localBufferAllocationOffset);
+ quality = other.quality;
+ _ASSERT(NULL == other.localBuffer || other.unclippedData < other.localBuffer || other.unclippedData >= other.localBuffer + other.localBufferAllocationOffset);
+ unclippedData = other.unclippedData;
+ _ASSERT(NULL == other.localBuffer || other.unclippedQuality < other.localBuffer || other.unclippedQuality >= other.localBuffer + other.localBufferAllocationOffset);
+ unclippedQuality = other.unclippedQuality;
+ } else {
+ //
+ // It is in the other read's local buffer. Copy the local buffer offsets from the other read into this one.
+ //
+ data = localBuffer + (other.data - other.localBuffer);
+ _ASSERT(other.quality >= other.localBuffer && other.quality <= other.localBuffer + other.localBufferAllocationOffset - dataLength);
+ quality = localBuffer + (other.quality - other.localBuffer);
+ _ASSERT(other.unclippedData >= other.localBuffer && other.unclippedData <= other.localBuffer + other.localBufferAllocationOffset - unclippedLength);
+ unclippedData = localBuffer + (other.unclippedData - other.localBuffer);
+ _ASSERT(other.unclippedQuality >= other.localBuffer && other.unclippedQuality <= other.localBuffer + other.localBufferAllocationOffset - unclippedLength);
+ unclippedQuality = localBuffer + (other.unclippedQuality - other.localBuffer);
+ }
+
+ clippingState = other.clippingState;
+ batch = other.batch;
+ readGroup = other.readGroup;
+ auxiliaryData = other.auxiliaryData;
+ auxiliaryDataLength = other.auxiliaryDataLength;
+ originalAlignedLocation = other.originalAlignedLocation;
+ originalMAPQ = other.originalMAPQ;
+ originalSAMFlags = other.originalSAMFlags;
+ originalFrontClipping = other.originalFrontClipping;
+ originalBackClipping = other.originalBackClipping;
+ originalFrontHardClipping = other.originalFrontHardClipping;
+ originalBackHardClipping = other.originalBackHardClipping;
+ originalRNEXT = other.originalRNEXT;
+ originalRNEXTLength = other.originalRNEXTLength;
+ originalPNEXT = other.originalPNEXT;
+ additionalFrontClipping = other.additionalFrontClipping;
+ }
+
+ //
+ // Initialize the Read. Reads do NOT take ownership of the memory to which they
+ // point, and it's the caller's responsibility to make sure that it continues to
+ // exist as long as the Read does. This is so that the caller can read a bunch of
+ // read data into a buffer, and then carve Reads out of it without doing further
+ // memory allocations, which would slow down the sequencing.
+ //
+
+ void init(
+ const char *i_id,
+ unsigned i_idLength,
+ const char *i_data,
+ const char *i_quality,
+ unsigned i_dataLength)
+ {
+ init(i_id, i_idLength, i_data, i_quality, i_dataLength, InvalidGenomeLocation, -1, 0, 0, 0, 0, 0, NULL, 0, 0);
+ }
+
+ void init(
+ const char * i_id,
+ unsigned i_idLength,
+ const char * i_data,
+ const char * i_quality,
+ unsigned i_dataLength,
+ GenomeLocation i_originalAlignedLocation,
+ unsigned i_originalMAPQ,
+ unsigned i_originalSAMFlags,
+ unsigned i_originalFrontClipping,
+ unsigned i_originalBackClipping,
+ unsigned i_originalFrontHardClipping,
+ unsigned i_originalBackHardClipping,
+ const char * i_originalRNEXT,
+ unsigned i_originalRNEXTLength,
+ unsigned i_originalPNEXT,
+ bool allUpper = false)
+ {
+ id = i_id;
+ idLength = i_idLength;
+ data = unclippedData = externalData = i_data;
+ quality = unclippedQuality = externalQuality = i_quality;
+ dataLength = i_dataLength;
+ unclippedLength = dataLength;
+ frontClippedLength = 0;
+ clippingState = NoClipping;
+ additionalFrontClipping = 0;
+ originalAlignedLocation = i_originalAlignedLocation;
+ originalMAPQ = i_originalMAPQ;
+ originalSAMFlags = i_originalSAMFlags;
+ originalFrontClipping = i_originalFrontClipping;
+ originalBackClipping = i_originalBackClipping;
+ originalFrontHardClipping = i_originalFrontHardClipping;
+ originalBackHardClipping = i_originalBackHardClipping;
+ originalRNEXT = i_originalRNEXT;
+ originalRNEXTLength = i_originalRNEXTLength;
+ originalPNEXT = i_originalPNEXT;
+ currentReadDirection = FORWARD;
+
+ localBufferAllocationOffset = 0; // Clears out any allocations that might previously have been in the buffer
+ upcaseForwardRead = rcData = rcQuality = NULL;
+
+ //
+ // Check for lower case letters in the data, and convert to upper case if there are any. Also convert
+ // '.' to N.
+ //
+ if (! allUpper) {
+ unsigned anyLowerCase = 0;
+ for (unsigned i = 0; i < dataLength; i++) {
+ anyLowerCase |= IS_LOWER_CASE_OR_DOT[data[i]];
+ }
+
+ if (anyLowerCase) {
+ assureLocalBufferLargeEnough();
+ upcaseForwardRead = localBuffer;
+ localBufferAllocationOffset += unclippedLength;
+ for (unsigned i = 0; i < dataLength; i++) {
+ upcaseForwardRead[i] = TO_UPPER_CASE_DOT_TO_N[data[i]];
+ }
+
+ unclippedData = data = upcaseForwardRead;
+ }
+ }
+ }
+
+ // For efficiency, this class holds id, data and quality pointers that are
+ // *NOT* guaranteed to be to null-terminated strings; use the the length fields
+ // to figure out how far to read into these strings.
+ inline const char *getId() const {return id;}
+ inline unsigned getIdLength() const {return idLength;}
+ inline const char *getData() const {return data;}
+ inline const char *getUnclippedData() const {return unclippedData;}
+ inline const char *getQuality() const {return quality;}
+ inline const char *getUnclippedQuality() const {return unclippedQuality;}
+ inline unsigned getDataLength() const {return dataLength;}
+ inline unsigned getUnclippedLength() const {return unclippedLength;}
+ inline unsigned getFrontClippedLength() const {return (unsigned)(data - unclippedData);} // number of bases clipped from the front of the read
+ inline unsigned getBackClippedLength() const {return unclippedLength - dataLength - getFrontClippedLength();}
+ inline void setUnclippedLength(unsigned length) {unclippedLength = length;}
+ inline ReadClippingType getClippingState() const {return clippingState;}
+ inline DataBatch getBatch() { return batch; }
+ inline void setBatch(DataBatch b) { batch = b; }
+ inline const char* getReadGroup() const { return readGroup; }
+ inline void setReadGroup(const char* rg) { readGroup = rg; }
+ inline GenomeLocation getOriginalAlignedLocation() {return originalAlignedLocation;}
+ inline unsigned getOriginalMAPQ() {return originalMAPQ;}
+ inline unsigned getOriginalSAMFlags() {return originalSAMFlags;}
+ inline unsigned getOriginalFrontClipping() {return originalFrontClipping;}
+ inline unsigned getOriginalBackClipping() {return originalBackClipping;}
+ inline unsigned getOriginalFrontHardClipping() {return originalFrontHardClipping;}
+ inline unsigned getOriginalBackHardClipping() {return originalBackHardClipping;}
+ inline const char *getOriginalRNEXT() {return originalRNEXT;}
+ inline unsigned getOriginalRNEXTLength() {return originalRNEXTLength;}
+ inline unsigned getOriginalPNEXT() {return originalPNEXT;}
+ inline void setAdditionalFrontClipping(int clipping)
+ {
+ data += clipping - additionalFrontClipping;
+ dataLength -= clipping - additionalFrontClipping;
+ quality += clipping - additionalFrontClipping;
+ additionalFrontClipping = clipping;
+ }
+
+ inline char* getAuxiliaryData(unsigned* o_length, bool * o_isSAM) const
+ {
+ *o_length = auxiliaryDataLength;
+ *o_isSAM = auxiliaryData && auxiliaryDataLength >= 5 && auxiliaryData[2] == ':';
+ return auxiliaryData;
+ }
+ inline void setAuxiliaryData(char* data, unsigned len)
+ { auxiliaryData = data; auxiliaryDataLength = len; }
+
+ void clip(ReadClippingType clipping, bool maintainOriginalClipping = false) {
+ if (clipping == clippingState) {
+ //
+ // Already in the right state.
+ //
+ return;
+ }
+
+ //
+ // Revert to unclipped, then clip to the correct state.
+ //
+
+ dataLength = unclippedLength;
+ frontClippedLength = 0;
+ data = unclippedData;
+ quality = unclippedQuality;
+
+ //
+ // First clip from the back.
+ //
+ if (ClipBack == clipping || ClipFrontAndBack == clipping) {
+ unsigned backClipping = 0;
+ while (dataLength > 0 && quality[dataLength - 1] == '#') {
+ dataLength--;
+ backClipping++;
+ }
+
+ if (maintainOriginalClipping && backClipping < originalBackClipping) {
+ dataLength -= (originalBackClipping - backClipping);
+ }
+ }
+
+ //
+ // Then clip from the beginning.
+ //
+ if (ClipFront == clipping || ClipFrontAndBack == clipping) {
+ frontClippedLength = 0;
+ while (frontClippedLength < dataLength && quality[frontClippedLength] == '#') {
+ frontClippedLength++;
+ }
+
+ if (maintainOriginalClipping) {
+ frontClippedLength = max(frontClippedLength, originalFrontClipping);
+ }
+ }
+
+ _ASSERT(frontClippedLength <= dataLength);
+
+ dataLength -= frontClippedLength;
+ data += frontClippedLength;
+ quality += frontClippedLength;
+
+ clippingState = clipping;
+ };
+
+ unsigned countOfTrailing2sInQuality() const { // 2 here is represented in Phred+33, or ascii '#'
+ unsigned count = 0;
+ while (count < dataLength && quality[dataLength - 1 - count] == '#') {
+ count++;
+ }
+ return count;
+ }
+
+ unsigned countOfNs() const {
+ unsigned count = 0;
+ for (unsigned i = 0; i < dataLength; i++) {
+ count += IS_N[data[i]];
+ }
+ return count;
+ }
+
+ void computeReverseCompliment(char *outputBuffer) { // Caller guarantees that outputBuffer is at least getDataLength() bytes
+ for (unsigned i = 0; i < dataLength; i++) {
+ outputBuffer[i] = COMPLEMENT[data[dataLength - i - 1]];
+ }
+ }
+
+ void becomeRC()
+ {
+ if (RC == currentReadDirection) {
+ //
+ // We've already RCed ourself. Switch back.
+ //
+ if (NULL != upcaseForwardRead) {
+ unclippedData = upcaseForwardRead;
+ } else {
+ unclippedData = externalData;
+ }
+ unclippedQuality = externalQuality;
+
+ currentReadDirection = FORWARD;
+ } else {
+
+ if (rcData != NULL) {
+ //
+ // We've already been RC, just switch back.
+ //
+ unclippedData = rcData;
+ unclippedQuality = rcQuality;
+ } else {
+ assureLocalBufferLargeEnough();
+ rcData = localBuffer + localBufferAllocationOffset;
+ localBufferAllocationOffset += unclippedLength;
+ rcQuality = localBuffer + localBufferAllocationOffset;
+ localBufferAllocationOffset += unclippedLength;
+
+ _ASSERT(localBufferAllocationOffset <= localBufferLength);
+
+ for (unsigned i = 0; i < unclippedLength; i++) {
+ rcData[i] = COMPLEMENT[unclippedData[unclippedLength - i - 1]];
+ rcQuality[unclippedLength-i-1] = unclippedQuality[i];
+ }
+
+ unclippedData = rcData;
+ unclippedQuality = rcQuality;
+ }
+
+ currentReadDirection = RC;
+ }
+
+ //
+ // The clipping reverses as we go to/from RC.
+ //
+ frontClippedLength = unclippedLength - dataLength - frontClippedLength;
+ data = unclippedData + frontClippedLength;
+ quality = unclippedQuality + frontClippedLength;
+
+ unsigned temp = originalFrontClipping;
+ originalFrontClipping = originalBackClipping;
+ originalBackClipping = temp;
+ temp = originalFrontHardClipping;
+ originalFrontHardClipping = originalBackHardClipping;
+ originalBackHardClipping = temp;
+ }
+
+
+ static void checkIdMatch(Read* read0, Read* read1);
+
+ static void computeClippingFromCigar(const char *cigarBuffer, unsigned *originalFrontClipping, unsigned *originalBackClipping, unsigned *originalFrontHardClipping, unsigned *originalBackHardClipping)
+ {
+ size_t cigarSize;
+ const size_t cigarLimit = 1000;
+ for (cigarSize = 0; cigarSize < cigarLimit && cigarBuffer[cigarSize] != '\0' && cigarBuffer[cigarSize] != '\t'; cigarSize++) {
+ // This loop body intentionally left blank.
+ }
+
+ if (cigarSize == cigarLimit) {
+ WriteErrorMessage( "Absurdly long cigar string.\n");
+ soft_exit(1);
+ }
+
+ size_t frontHardClippingChars, backHardClippingChars, frontClippingChars, backClippingChars;
+
+ //
+ // Pull off the hard clipping first.
+ //
+ ExtractClipping(cigarBuffer, cigarSize, originalFrontHardClipping, originalBackHardClipping, 'H', &frontHardClippingChars, &backHardClippingChars);
+ _ASSERT(frontHardClippingChars + backHardClippingChars <= cigarSize);
+
+ //
+ // Now look at what's left of the cigar string to see if there's soft clipping.
+ //
+ ExtractClipping(cigarBuffer + frontHardClippingChars, cigarSize - frontHardClippingChars - backHardClippingChars, originalFrontClipping, originalBackClipping,
+ 'S', &frontClippingChars, &backClippingChars);
+
+ }
+
+private:
+
+ const char *id;
+ const char *data;
+ const char *unclippedData;
+ const char *unclippedQuality;
+ const char *quality;
+ const char *readGroup;
+ unsigned idLength;
+ unsigned dataLength;
+ unsigned unclippedLength;
+ unsigned frontClippedLength;
+ ReadClippingType clippingState;
+ int additionalFrontClipping;
+
+ //
+ // Alignment data that was in the read when it was read from a file. While this should probably also be the place to put
+ // information that'll be used by the read writer, for now it's not. Hence, they're all called "original."
+ //
+ GenomeLocation originalAlignedLocation;
+ unsigned originalMAPQ;
+ unsigned originalSAMFlags;
+ unsigned originalFrontClipping;
+ unsigned originalBackClipping;
+ unsigned originalFrontHardClipping;
+ unsigned originalBackHardClipping;
+ const char *originalRNEXT;
+ unsigned originalRNEXTLength;
+ unsigned originalPNEXT;
+
+
+ //
+ // Memory that's local to this read and that is used to contain an upcased version of the read as well as
+ // RC read & quality strings. It survives init() so as to avoid memory allocation overhead.
+ //
+ char localBuffer[MAX_READ_LENGTH * 3];
+ static const unsigned localBufferLength;
+ unsigned localBufferAllocationOffset; // The next location to allocate in the local buffer.
+ char *upcaseForwardRead; // Either NULL or points into localBuffer. Used when the incoming read isn't all capitalized. Unclipped.
+ char *rcData; // Either NULL or points into localBuffer. Used when we've computed a reverse complement of the read, whether we're using it or not. Unclipped.
+ char *rcQuality; // Ditto for quality.
+ const char *externalData; // The data that was passed in at init() time, memory doesn't belong to this.
+ const char *externalQuality; // The quality that was passed in at init() time, memory doens't belong to this.
+ Direction currentReadDirection;
+
+ inline void assureLocalBufferLargeEnough()
+ {
+#if 0 // Always true with static allocation
+ if (localBufferLength < 3 * unclippedLength) {
+ _ASSERT(0 == localBufferAllocationOffset); // Can only do this when the buffer is empty
+ if (NULL != localBuffer) {
+ BigDealloc(localBuffer);
+ }
+ localBufferLength = RoundUpToPageSize(3 * unclippedLength);
+ localBuffer = (char *)BigAlloc(localBufferLength);
+ }
+
+#endif // 0
+ }
+
+ // batch for managing lifetime during input
+ DataBatch batch;
+
+ // auxiliary data in BAM or SAM format (can tell by looking at 3rd byte), if available
+ char* auxiliaryData;
+ unsigned auxiliaryDataLength;
+
+ //
+ // Pull the clipping info from the front and back of a cigar string.
+ static void ExtractClipping(const char *cigarBuffer, size_t cigarSize, unsigned *frontClipping, unsigned *backClipping, char clippingChar, size_t *frontClippingChars, size_t *backClippingChars)
+ {
+
+ *frontClipping = 0;
+ const size_t bufferSize = 20;
+ char buffer[bufferSize+1]; // +1 for trailing null
+ unsigned i;
+ for (i = 0; i < bufferSize && i < cigarSize && cigarBuffer[i] >= '0' && cigarBuffer[i] <= '9'; i++) {
+ buffer[i] = cigarBuffer[i];
+ }
+ if (cigarBuffer[i] == clippingChar) {
+ buffer[i] = '\0';
+ *frontClipping = atoi(buffer);
+ *frontClippingChars = i + 1;
+ } else {
+ *frontClippingChars = 0;
+ }
+
+ *backClipping = 0;
+ *backClippingChars = 0;
+ //
+ // Find the end of the cigar string by looking for either the end of the string or a tab. Just start where we
+ // were.
+ //
+ for (;i < cigarSize && cigarBuffer[i] != '\t' && cigarBuffer[i] != '\0'; i++) {
+ // This loop body intentionally left blank.
+ }
+ if (i > 1 && cigarBuffer[i-1] == clippingChar) {
+ for (i = i - 2; i >=0 && cigarBuffer[i] >= '0' && cigarBuffer[i] <= '9'; i--) {
+ // This loop body intentionally left blank.
+ }
+ //
+ // If we've gotten back to the beginning of the string, then the whole thing is one big soft clip. We arbitrarily
+ // select that to be front clipping, and so leave the back clipping alone.
+ if (i > 0) {
+ unsigned stringStart = i + 1;
+ for (i = stringStart; cigarBuffer[i] >= '0' && cigarBuffer[i] <= '9'; i++) {
+ buffer[i - stringStart] = cigarBuffer[i];
+ }
+ buffer[i - stringStart] = '\0';
+ *backClipping = atoi(buffer);
+ *backClippingChars = i - stringStart + 1;
+ }
+ }
+ }
+};
+
+//
+// Reads that copy the memory for their strings. They're less efficient than the base
+// Read class, but you can keep them around without holding references to the IO buffers
+// and eventually stopping the IO.
+//
+class ReadWithOwnMemory : public Read {
+public:
+ ReadWithOwnMemory() : Read(), extraBuffer(NULL), dataBuffer(NULL), idBuffer(NULL), qualityBuffer(NULL), auxBuffer(NULL) {}
+
+ ReadWithOwnMemory(const Read &baseRead) {
+ set(baseRead);
+ }
+
+ // must manually call destructor!
+ void dispose() {
+ if (extraBuffer != NULL) {
+ delete [] extraBuffer;
+ }
+ }
+
+private:
+
+ void set(const Read &baseRead)
+ {
+ // allocate space in ownBuffer if possible; id/aux might need extraBuffer
+ dataBuffer = ownBuffer;
+ int ownBufferUsed = baseRead.getUnclippedLength() + 1;
+ qualityBuffer = ownBuffer + ownBufferUsed;
+ ownBufferUsed += baseRead.getUnclippedLength() + 1;
+ unsigned auxLen;
+ bool auxSam;
+ char* aux = baseRead.getAuxiliaryData(&auxLen, &auxSam);
+ if (baseRead.getIdLength() + 1 < sizeof(ownBuffer) - ownBufferUsed) {
+ idBuffer = ownBuffer + ownBufferUsed;
+ ownBufferUsed += baseRead.getIdLength() + 1;
+ } else {
+ idBuffer = NULL;
+ }
+ if (auxLen > 0 && auxLen < sizeof(ownBuffer) - ownBufferUsed) {
+ auxBuffer = ownBuffer + ownBufferUsed;
+ ownBufferUsed += auxLen;
+ } else {
+ auxBuffer = NULL;
+ }
+ if (idBuffer == NULL || (auxLen > 0 && auxBuffer == NULL)) {
+ extraBuffer = new char[(idBuffer == NULL ? baseRead.getIdLength() + 1 : 0) + auxLen];
+ int extraBufferUsed = 0;
+ if (idBuffer == NULL) {
+ idBuffer = extraBuffer;
+ extraBufferUsed += baseRead.getIdLength() + 1;
+ }
+ if (auxLen > 0 && auxBuffer == NULL) {
+ auxBuffer = extraBuffer + extraBufferUsed;
+ }
+ } else {
+ extraBuffer = NULL;
+ }
+
+ // copy data into buffers
+ memcpy(idBuffer,baseRead.getId(),baseRead.getIdLength());
+ idBuffer[baseRead.getIdLength()] = '\0'; // Even though it doesn't need to be null terminated, it seems like a good idea.
+
+ memcpy(dataBuffer,baseRead.getUnclippedData(),baseRead.getUnclippedLength());
+ dataBuffer[baseRead.getUnclippedLength()] = '\0';
+
+ memcpy(qualityBuffer,baseRead.getUnclippedQuality(),baseRead.getUnclippedLength());
+ qualityBuffer[baseRead.getUnclippedLength()] = '\0';
+
+ init(idBuffer,baseRead.getIdLength(),dataBuffer,qualityBuffer,baseRead.getUnclippedLength());
+ clip(baseRead.getClippingState());
+
+ setReadGroup(baseRead.getReadGroup());
+
+ if (aux != NULL && auxLen > 0) {
+ memcpy(auxBuffer, aux, auxLen);
+ setAuxiliaryData(auxBuffer, auxLen);
+ } else {
+ setAuxiliaryData(NULL, 0);
+ }
+ }
+
+ char ownBuffer[MAX_READ_LENGTH * 2 + 1000]; // internal buffer for copied data
+ char* extraBuffer; // extra buffer if internal buffer not big enough
+
+ // should all point into ownBuffer or extraBuffer
+ char *idBuffer;
+ char *dataBuffer;
+ char *qualityBuffer;
+ char *auxBuffer;
+};
+
+extern const unsigned DEFAULT_MIN_READ_LENGTH;
diff --git a/SNAPLib/ReadReader.cpp b/SNAPLib/ReadReader.cpp
new file mode 100644
index 0000000..58592d1
--- /dev/null
+++ b/SNAPLib/ReadReader.cpp
@@ -0,0 +1,57 @@
+/*++
+
+Module Name:
+
+ ReadReader.cpp
+
+Abstract:
+
+ Concrete file reading classes
+
+Environment:
+
+ User mode service.
+
+--*/
+
+#include "stdafx.h"
+#include "BigAlloc.h"
+#include "Compat.h"
+#include "Read.h"
+#include "AlignmentResult.h"
+#include "FileFormat.h"
+
+class SimpleReadReader : public ReadReader
+{
+public:
+ SimpleReadReader(const FileFormat* i_format, DataReader* i_data, const ReaderContext& i_context)
+ : ReadReader(i_context), format(i_format), data(i_data), headerSize(0)
+ {}
+
+ virtual ~SimpleReadReader()
+ {
+ delete data;
+ }
+
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess);
+
+ virtual bool getNextRead(Read *readToUpdate);
+
+ virtual bool getNextRead(Read *read, AlignmentResult *alignmentResult, unsigned *genomeLocation, bool *isRC, unsigned *mapQ,
+ unsigned *flag, const char **cigar)
+ {
+ // return getNextRead(read,alignmentResult,genomeLocation,isRC,mapQ,flag,false,cigar);
+ }
+
+ virtual void holdBatch(DataBatch batch)
+ { data->holdBatch(batch); }
+
+ virtual bool releaseBatch(DataBatch batch)
+ { return data->releaseBatch(batch); }
+
+
+private:
+ const FileFormat* format;
+ DataReader* data;
+ _int64 headerSize;
+};
diff --git a/SNAPLib/ReadSupplierQueue.cpp b/SNAPLib/ReadSupplierQueue.cpp
new file mode 100644
index 0000000..b8bddfe
--- /dev/null
+++ b/SNAPLib/ReadSupplierQueue.cpp
@@ -0,0 +1,729 @@
+/*++
+
+Module Name:
+
+ ReadSupplierQueue.cpp
+
+Abstract:
+
+ Code for parallel queue of reads
+
+Authors:
+
+ Bill Bolosky, November, 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "Read.h"
+#include "Compat.h"
+#include "ReadSupplierQueue.h"
+#include "exit.h"
+#include "SAM.h"
+
+//#define PAIR_MATCH_DEBUG
+
+ ReadSupplierQueue::ReadSupplierQueue(ReadReader *reader)
+ : tracker(64)
+{
+ commonInit();
+
+ singleReader[0] = reader;
+}
+
+ReadSupplierQueue::ReadSupplierQueue(ReadReader *firstHalfReader, ReadReader *secondHalfReader)
+ : tracker(64)
+{
+ commonInit();
+
+ singleReader[0] = firstHalfReader;
+ singleReader[1] = secondHalfReader;
+}
+
+ReadSupplierQueue::ReadSupplierQueue(PairedReadReader *i_pairedReader)
+ : tracker(128)
+{
+ commonInit();
+ pairedReader = i_pairedReader;
+}
+
+void
+ReadSupplierQueue::commonInit()
+{
+ nReadersRunning = 0;
+ nSuppliersRunning = 0;
+ allReadsQueued = false;
+
+ balance = 0;
+
+ emptyQueue->next = emptyQueue->prev = emptyQueue;
+ readyQueue[0].next = readyQueue[0].prev = &readyQueue[0];
+ readyQueue[1].next = readyQueue[1].prev = &readyQueue[1];
+
+ InitializeExclusiveLock(&lock);
+ CreateEventObject(&readsReady);
+ CreateEventObject(&emptyBuffersAvailable);
+ CreateEventObject(&allReadsConsumed);
+
+ //
+ // Create 2 buffers for the reader. We'll add more buffers as we add suppliers.
+ //
+ for (int i = 0 ; i < 2; i++) {
+ ReadQueueElement *element = new ReadQueueElement;
+ element->addToTail(emptyQueue);
+ }
+
+ AllowEventWaitersToProceed(&emptyBuffersAvailable);
+
+ for (int i = 0; i < 2; i++) {
+ CreateEventObject(&throttle[i]);
+ AllowEventWaitersToProceed(&throttle[i]);
+ singleReader[i] = NULL;
+ }
+ pairedReader = NULL;
+ elementSize = ReadQueueElement::MaxReadsPerElement;
+}
+
+ReadSupplierQueue::~ReadSupplierQueue()
+{
+ delete singleReader[0];
+ delete singleReader[1];
+ delete pairedReader;
+
+ DestroyEventObject(&throttle[0]);
+ DestroyEventObject(&throttle[1]);
+ DestroyExclusiveLock(&lock);
+}
+
+
+ bool
+ReadSupplierQueue::startReaders()
+{
+ bool worked = true;
+
+ if (singleReader[1] == NULL) {
+ nReadersRunning = 1;
+ } else {
+ nReadersRunning = 2;
+ }
+
+ ReaderThreadParams *readerParams = new ReaderThreadParams;
+ readerParams->isSecondReader = false;
+ readerParams->queue = this;
+ if (!StartNewThread(ReaderThreadMain, readerParams)) {
+ return false;
+ }
+
+ if (singleReader[1] == NULL) {
+ return true;
+ }
+
+ readerParams = new ReaderThreadParams;
+ readerParams->isSecondReader = true;
+ readerParams->queue = this;
+ return (StartNewThread(ReaderThreadMain, readerParams));
+}
+
+ void
+ReadSupplierQueue::waitUntilFinished()
+{
+ WaitForEvent(&allReadsConsumed);
+}
+
+
+ ReadSupplier *
+ReadSupplierQueue::generateNewReadSupplier()
+{
+ AcquireExclusiveLock(&lock);
+ nSuppliersRunning++;
+ //
+ // Add more queue elements for this supplier.
+ //
+ for (int i = 0; i < 2; i++) {
+ ReadQueueElement *element = new ReadQueueElement;
+ element->addToTail(emptyQueue);
+ }
+
+ AllowEventWaitersToProceed(&emptyBuffersAvailable);
+ ReleaseExclusiveLock(&lock);
+
+ return new ReadSupplierFromQueue(this);
+}
+
+ PairedReadSupplier *
+ReadSupplierQueue::generateNewPairedReadSupplier()
+{
+ const int addElements = (singleReader[1] == NULL) ? 2 : 4 + MaxImbalance;
+ ReadQueueElement * newElements[MaxImbalance + 4];
+ for (int i = 0 ; i < addElements; i++) {
+ newElements[i] = new ReadQueueElement;
+ }
+
+ AcquireExclusiveLock(&lock);
+ nSuppliersRunning++;
+ //
+ // Add two more queue elements (4+MaxImbalance for paired-end, double file).
+ //
+ for (int i = 0; i < addElements; i++) {
+ ReadQueueElement *element = newElements[i];
+ element->addToTail(emptyQueue);
+ }
+
+ AllowEventWaitersToProceed(&emptyBuffersAvailable);
+ ReleaseExclusiveLock(&lock);
+
+ return new PairedReadSupplierFromQueue(this, singleReader[1] != NULL);
+}
+
+ ReaderContext*
+ReadSupplierQueue::getContext()
+{
+ return singleReader[0] != NULL ? singleReader[0]->getContext() : pairedReader->getContext();
+}
+
+ ReadQueueElement *
+ReadSupplierQueue::getElement()
+{
+ _ASSERT(singleReader[1] == NULL); // i.e., we're doing file (but possibly single or paired end) reads
+ //WriteErrorMessage("Thread %u: getElement wait acquire lock\n", GetThreadId());
+ AcquireExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: getElement acquired lock\n", GetThreadId());
+ while (!areAnyReadsReady()) {
+ //WriteErrorMessage("Thread %u: getElement loop releasing lock\n", GetThreadId());
+ ReleaseExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: getElement loop released lock\n", GetThreadId());
+ if (allReadsQueued) {
+ //
+ // Everything's queued and the queue is empty. No more work.
+ //
+ //WriteErrorMessage("Thread %u: getElement loop exit allReadsQueued\n", GetThreadId());
+ return NULL;
+ }
+ //WriteErrorMessage("Thread %u: getElement loop wait readsReady\n", GetThreadId());
+ WaitForEvent(&readsReady);
+ //WriteErrorMessage("Thread %u: getElement loop wait acquire lock\n", GetThreadId());
+ AcquireExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: getElement loop acquired lock\n", GetThreadId());
+ }
+
+ ReadQueueElement *element = readyQueue[0].next;
+ _ASSERT(element != &readyQueue[0]);
+ element->removeFromQueue();
+
+ if (!areAnyReadsReady() && !allReadsQueued) {
+ //WriteErrorMessage("Thread %u: getElement block readsReady\n", GetThreadId());
+ PreventEventWaitersFromProceeding(&readsReady);
+ }
+ ReleaseExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: getElement released lock\n", GetThreadId());
+
+ return element;
+}
+
+ bool
+ReadSupplierQueue::getElements(ReadQueueElement **element1, ReadQueueElement **element2)
+{
+ _ASSERT(singleReader[1] != NULL); // i.e., we're doing paired file reads
+
+ //WriteErrorMessage("Thread %u: getElements wait acquire lock\n", GetThreadId());
+ AcquireExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: getElements acquired lock\n", GetThreadId());
+ while (!areAnyReadsReady()) {
+ //WriteErrorMessage("Thread %u: getElements loop releasing lock\n", GetThreadId());
+ ReleaseExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: getElements loop released lock\n", GetThreadId());
+ if (allReadsQueued) {
+ //
+ // Everything's queued and the queue is empty. No more work.
+ //
+ //WriteErrorMessage("Thread %u: getElement loop exit allReadsQueued\n", GetThreadId());
+ return NULL;
+ }
+ //WriteErrorMessage("Thread %u: getElements loop wait readsReady\n", GetThreadId());
+ WaitForEvent(&readsReady);
+ //WriteErrorMessage("Thread %u: getElements loop wait acquire lock\n", GetThreadId());
+ AcquireExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: getElements loop acquired lock\n", GetThreadId());
+ }
+
+ ReadQueueElement* copyOut = NULL; // for adjusting sizes
+ *element1 = readyQueue[0].next;
+ *element2 = readyQueue[1].next;
+ if ((*element1)->totalReads != (*element2)->totalReads) {
+ copyOut = getEmptyElement(); // might release/acquire lock so state could change!
+ *element1 = readyQueue[0].next;
+ *element2 = readyQueue[1].next;
+ if ((*element1)->totalReads == (*element2)->totalReads) {
+ doneWithElement(copyOut);
+ }
+ }
+
+ if ((*element1)->totalReads == (*element2)->totalReads) {
+ (*element1)->removeFromQueue();
+ (*element2)->removeFromQueue();
+ } else {
+ //fprintf(stderr,"getElements different sizes %d %d\n", (*element1)->totalReads, (*element2)->totalReads);
+ // need to balance out reads between the two
+ // make a copy of the min# of reads from larger element
+ // shrink the larger element and leave it there
+ ReadQueueElement* elements[2] = {*element1, *element2};
+ int sizes[2] = {elements[0]->totalReads, elements[1]->totalReads};
+ int largerOne = elements[1]->totalReads > elements[0]->totalReads;
+ int minReads = elements[1-largerOne]->totalReads;
+ memcpy(copyOut->reads, elements[largerOne]->reads, minReads * sizeof(Read));
+ _ASSERT(elements[0]->totalReads == sizes[0] && elements[1]->totalReads == sizes[1] && elements[largerOne]->totalReads > elements[1-largerOne]->totalReads);
+ copyOut->totalReads = minReads;
+ _ASSERT(elements[0]->totalReads == sizes[0] && elements[1]->totalReads == sizes[1] && elements[largerOne]->totalReads > elements[1-largerOne]->totalReads);
+ memmove(elements[largerOne]->reads, &elements[largerOne]->reads[minReads],
+ (elements[largerOne]->totalReads - minReads) * sizeof(Read));
+ elements[largerOne]->totalReads -= minReads;
+ copyOut->batches.append(&elements[largerOne]->batches);
+ for (BatchVector::iterator i = copyOut->batches.begin(); i != copyOut->batches.end(); i++) {
+ holdBatch(*i);
+ }
+ if (largerOne == 0) {
+ *element1 = copyOut;
+ (*element2)->removeFromQueue();
+ } else {
+ (*element1)->removeFromQueue();
+ *element2 = copyOut;
+ }
+ //WriteErrorMessage("Thread %u: balanced sizes %d %d\n", GetThreadId(), sizes[0], sizes[1]);
+ }
+ //fprintf(stderr,"getElements %x/%x with %d/%d reads\n", (int) (*element1), (int) (*element2), (*element1)->totalReads, (*element2)->totalReads);
+
+ if (!areAnyReadsReady() && !allReadsQueued) {
+ //WriteErrorMessage("Thread %u: getElements block readsReady\n", GetThreadId());
+ PreventEventWaitersFromProceeding(&readsReady);
+ }
+
+ //WriteErrorMessage("Thread %u: getElements releasing lock\n", GetThreadId());
+ ReleaseExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: getElements released lock", GetThreadId());
+ return true;
+}
+
+ bool
+ReadSupplierQueue::areAnyReadsReady() // must hold the lock to call this.
+{
+ if (readyQueue[0].next == &readyQueue[0]) {
+ return false;
+ }
+
+ if (singleReader[1] == NULL) {
+ return true;
+ }
+
+ return readyQueue[1].next != &readyQueue[1];
+}
+
+ void
+ReadSupplierQueue::doneWithElement(ReadQueueElement *element)
+{
+ //WriteErrorMessage("Thread %u: doneWithElement wait acquire lock\n", GetThreadId());
+ AcquireExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: doneWithElement acquired lock\n", GetThreadId());
+ _ASSERT(element->totalReads > 0);
+ VariableSizeVector<DataBatch> batches = element->batches;
+ element->batches.clear();
+ element->addToTail(emptyQueue);
+ AllowEventWaitersToProceed(&emptyBuffersAvailable);
+ //WriteErrorMessage("Thread %u: doneWithElement releasing lock\n", GetThreadId());
+ ReleaseExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: doneWithElement released lock\n", GetThreadId());
+ for (VariableSizeVector<DataBatch>::iterator b = batches.begin(); b != batches.end(); b++) {
+ releaseBatch(*b);
+ }
+}
+
+ void
+ReadSupplierQueue::supplierFinished()
+{
+ //WriteErrorMessage("Thread %u: supplierFinished wait acquire lock\n", GetThreadId());
+ AcquireExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: supplierFinished acquired lock\n", GetThreadId());
+ _ASSERT(allReadsQueued);
+ _ASSERT(nSuppliersRunning > 0);
+ nSuppliersRunning--;
+ if (0 == nSuppliersRunning) {
+ AllowEventWaitersToProceed(&allReadsConsumed);
+ }
+ //WriteErrorMessage("Thread %u: supplierFinished releasing lock\n", GetThreadId());
+ ReleaseExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: supplierFinished released lock\n", GetThreadId());
+}
+
+ void
+ReadSupplierQueue::holdBatch(
+ DataBatch batch)
+{
+ if (pairedReader != NULL) {
+ pairedReader->holdBatch(batch);
+ } else if (singleReader[1] == NULL) {
+ singleReader[0]->holdBatch(batch);
+ } else {
+ singleReader[batch.fileID % 2]->holdBatch(DataBatch(batch.batchID, batch.fileID / 2));
+ }
+}
+
+ bool
+ReadSupplierQueue::releaseBatch(
+ DataBatch batch)
+{
+ if (pairedReader != NULL) {
+ return pairedReader->releaseBatch(batch);
+ } else if (singleReader[1] == NULL) {
+ return singleReader[0]->releaseBatch(batch);
+ } else {
+ return singleReader[batch.fileID % 2]->releaseBatch(DataBatch(batch.batchID, batch.fileID / 2));
+ }
+}
+
+ void
+ReadSupplierQueue::ReaderThreadMain(void *param)
+{
+ ReaderThreadParams *params = (ReaderThreadParams *)param;
+ params->queue->ReaderThread(params);
+ delete params;
+}
+
+ ReadQueueElement*
+ReadSupplierQueue::getEmptyElement()
+{
+ while (emptyQueue->next == emptyQueue) {
+ // Wait for a buffer.
+ //WriteErrorMessage("Thread %u: getEmptyElement releasing lock\n", GetThreadId());
+ ReleaseExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: getEmptyElement released lock\n", GetThreadId());
+ WaitForEvent(&emptyBuffersAvailable);
+ //WriteErrorMessage("Thread %u: getEmptyElement acquiring lock\n", GetThreadId());
+ AcquireExclusiveLock(&lock);
+ //WriteErrorMessage("Thread %u: getEmptyElement acquired lock\n", GetThreadId());
+ }
+
+ ReadQueueElement *element = emptyQueue->next;
+ element->removeFromQueue();
+ if (emptyQueue->next == emptyQueue) {
+ PreventEventWaitersFromProceeding(&emptyBuffersAvailable);
+ }
+
+ return element;
+}
+
+ void
+ReadSupplierQueue::ReaderThread(ReaderThreadParams *params)
+{
+ AcquireExclusiveLock(&lock);
+ bool done = false;
+ ReadReader *reader;
+ if (params->isSecondReader) {
+ reader = singleReader[1];
+ } else {
+ reader = singleReader[0]; // In the pairedReader case, this will just be NULL
+ }
+ int increment = (NULL == reader) ? 2 : 1;
+ int balanceIncrement = params->isSecondReader ? -1 : 1;
+ int firstOrSecond = params->isSecondReader ? 1 : 0;
+ bool isSingleReader = (NULL == singleReader[1]);
+
+ _int64 balanceTime = 0;
+ _int64 bufferWaitTime = 0;
+ _int64 processingTime = 0;
+ _int64 startTime = timeInNanos();
+
+ // may pass reads forward from element loops to maintain batching or element size
+ Read firstReadForNextElement[2];
+ bool hasFirstReadForNextElement = false;
+
+ while (!done) {
+ if ((!isSingleReader) && balance * balanceIncrement > MaxImbalance) {
+ //
+ // We're over full. Wait to get back in balance.
+ //
+ ReleaseExclusiveLock(&lock);
+
+ _int64 now = timeInNanos();
+ processingTime += now - startTime;
+ startTime = now;
+
+ WaitForEvent(&throttle[firstOrSecond]);
+
+ now = timeInNanos();
+ balanceTime += now - startTime;
+ startTime = now;
+
+ AcquireExclusiveLock(&lock);
+ _ASSERT(balance * balanceIncrement <= MaxImbalance);
+ }
+
+ // pull an empty element from the queue
+ _int64 now = timeInNanos();
+ processingTime += now - startTime;
+ startTime = now;
+ ReadQueueElement* element = getEmptyElement();
+ now = timeInNanos();
+ bufferWaitTime += now - startTime;
+ startTime = now;
+
+ //
+ // Now fill in the reads from the reader into the element until it's
+ // full or the reader finishes or it exceeds batch count
+ //
+ ReleaseExclusiveLock(&lock);
+ element->totalReads = 0;
+ for (; element->totalReads <= (int) elementSize - increment; element->totalReads += increment) {
+
+ if (NULL != reader) {
+ Read* read = &element->reads[element->totalReads];
+ if (hasFirstReadForNextElement) {
+ _ASSERT(element->totalReads == 0);
+ *read = firstReadForNextElement[0];
+ // already called holdBatch when firstReadForNextElement set
+ element->batches.push_back(read->getBatch());
+ hasFirstReadForNextElement = false;
+ } else {
+ done = ! reader->getNextRead(read);
+ if (done) {
+ break;
+ }
+ if (! isSingleReader) {
+ read->setBatch(DataBatch(read->getBatch().batchID, read->getBatch().fileID * 2 + firstOrSecond));
+ }
+ bool newBatch = element->totalReads == 0 ||
+ (read->getBatch() != read[-1].getBatch() && element->batches.search(read->getBatch()) == element->batches.end());
+ if (element->batches.size() + newBatch <= BatchesPerElement) {
+ // won't exceed limit for this element
+ if (newBatch && element->batches.add(read->getBatch())) {
+ holdBatch(read->getBatch());
+ }
+ } else {
+ // too many batches, hold for next queue element
+ firstReadForNextElement[0] = *read;
+ hasFirstReadForNextElement = true;
+ holdBatch(read->getBatch());
+ break;
+ }
+ }
+ } else if (NULL != pairedReader) {
+ Read* read = &element->reads[element->totalReads];
+ if (hasFirstReadForNextElement) {
+ _ASSERT(element->totalReads == 0);
+ read[0] = firstReadForNextElement[0];
+ read[1] = firstReadForNextElement[1];
+ // already called holdBatch when firstReadForNextElement set
+ element->batches.push_back(read[0].getBatch());
+ if (read[1].getBatch() != read[0].getBatch()) {
+ element->batches.push_back(read[1].getBatch());
+ }
+ hasFirstReadForNextElement = false;
+ } else {
+ done = !pairedReader->getNextReadPair(&read[0], &read[1]);
+ if (done) {
+ break;
+ }
+ DataBatch b[2] = {read[0].getBatch(), read[1].getBatch()};
+ bool newBatch[2] =
+ {(element->totalReads == 0 || read[-2].getBatch() != b[0]) &&
+ element->batches.search(b[0]) == element->batches.end(),
+ b[0] != b[1] && (element->totalReads == 0 || read[-1].getBatch() != b[1]) &&
+ element->batches.search(b[1]) == element->batches.end()};
+ if (element->batches.size() + newBatch[0] + newBatch[1] <= BatchesPerElement) {
+ if (newBatch[0] && element->batches.add(b[0])) {
+ holdBatch(b[0]);
+ }
+ if (newBatch[1] && element->batches.add(b[1])) {
+ holdBatch(b[1]);
+ }
+ } else {
+ firstReadForNextElement[0] = read[0];
+ firstReadForNextElement[1] = read[1];
+ holdBatch(b[0]);
+ if (b[1] != b[0]) {
+ holdBatch(b[1]);
+ }
+ hasFirstReadForNextElement = true;
+ break;
+ }
+ //WriteErrorMessage("ReadSupplierQueue::ReaderThread element %x batches %d:%d, %d:%d\n", (int) element, b[0].fileID, b[0].batchID, b[1].fileID, b[1].batchID);
+ }
+ }
+ }
+
+ //WriteErrorMessage("ReadSupplierQueue element[%d] %x with %d reads %d batches\n", firstOrSecond, (int) element, element->totalReads, element->batches.size());
+
+ AcquireExclusiveLock(&lock);
+
+ // do this before AllowEventWaitersToProceed to avoid race condition
+ if (done && 1 == nReadersRunning) {
+ //WriteErrorMessage("Thread %u: set allReadsQueued (%d) in ReaderThread...\n", GetThreadId(), element->totalReads);
+ allReadsQueued = true;
+ AllowEventWaitersToProceed(&readsReady); // Even if we have nothing to queue, allow the consumers to wake up so they can exit
+ }
+
+ if (element->totalReads > 0) {
+ element->addToTail(&readyQueue[firstOrSecond]);
+ if (isSingleReader || &readyQueue[1-firstOrSecond] != readyQueue[1-firstOrSecond].next) {
+ //
+ // Signal that an element is ready.
+ //
+ //WriteErrorMessage("Thread %u: signal readsReady in ReaderThread...\n", GetThreadId());
+ AllowEventWaitersToProceed(&readsReady);
+ }
+
+ if (!isSingleReader) {
+ //WriteErrorMessage("Thread %u: balance %d %+d = %d...\n", GetThreadId(), balance, balanceIncrement, balance + balanceIncrement);
+ balance += balanceIncrement;
+ if (balance * balanceIncrement > MaxImbalance) {
+ _ASSERT(balance * balanceIncrement == MaxImbalance + 1); // We can get at most one past the limit
+ //
+ // We're too far ahead. Close our throttle.
+ //
+ //WriteErrorMessage("Thread %u: close throttle %d in ReaderThread...\n", GetThreadId(), firstOrSecond);
+ PreventEventWaitersFromProceeding(&throttle[firstOrSecond]);
+ } else if (balance * -1 * balanceIncrement == MaxImbalance) {
+ //
+ // We just pushed it back into balance (barely) for the other guy. Allow him to
+ // proceed.
+ //
+ //WriteErrorMessage("Thread %u: release throttle %d in ReaderThread...\n", GetThreadId(), 1-firstOrSecond);
+ AllowEventWaitersToProceed(&throttle[1-firstOrSecond]);
+ }
+ }
+ }
+ } // While ! done
+
+ processingTime += timeInNanos() - startTime;
+
+ //WriteErrorMessage("ReadSupplier: %llds processing, %llds waiting for balance, %llds waiting for buffer\n", processingTime / 1000000000, balanceTime / 1000000000, bufferWaitTime / 1000000000);
+
+ _ASSERT(nReadersRunning > 0);
+ nReadersRunning--;
+ ReleaseExclusiveLock(&lock);
+}
+
+ReadSupplierFromQueue::ReadSupplierFromQueue(
+ ReadSupplierQueue *i_queue)
+ :
+ queue(i_queue),
+ outOfReads(false),
+ currentElement(NULL),
+ nextReadIndex(0),
+ done(false)
+{
+}
+
+ Read *
+ReadSupplierFromQueue::getNextRead()
+{
+ if (done) {
+ return NULL;
+ }
+
+ ReadQueueElement* doneElement = NULL;
+ if (NULL != currentElement && nextReadIndex >= currentElement->totalReads) {
+ doneElement = currentElement;
+ currentElement = NULL;
+ }
+
+ if (NULL == currentElement) {
+ currentElement = queue->getElement();
+ if (doneElement != NULL) {
+ queue->doneWithElement(doneElement);
+ }
+ if (NULL == currentElement) {
+ done = true;
+ queue->supplierFinished();
+ return NULL;
+ }
+ nextReadIndex = 0;
+ }
+
+ return ¤tElement->reads[nextReadIndex++]; // Note the post increment.
+}
+
+PairedReadSupplierFromQueue::PairedReadSupplierFromQueue(ReadSupplierQueue *i_queue, bool i_twoFiles) :
+ queue(i_queue), twoFiles(i_twoFiles), done(false),
+ currentElement(NULL), currentSecondElement(NULL), nextReadIndex(0) {}
+
+PairedReadSupplierFromQueue::~PairedReadSupplierFromQueue()
+{}
+
+
+ bool
+PairedReadSupplierFromQueue::getNextReadPair(Read **read0, Read **read1)
+{
+ if (done) {
+ *read0 = NULL;
+ *read1 = NULL;
+ return false;
+ }
+
+ if (NULL != currentElement && nextReadIndex >= currentElement->totalReads) {
+ //fprintf(stderr,"PairedReadSupplierFromQueue finished element %x with %d reads %d batches:", (int) currentElement, currentElement->totalReads, currentElement->batches.size()); for (BatchVector::iterator i = currentElement->batches.begin(); i != currentElement->batches.end(); i++) { fprintf(stderr," %d:%d", i->fileID, i->batchID); } fprintf(stderr,"\n");
+ queue->doneWithElement(currentElement);
+ currentElement = NULL;
+ if (twoFiles) {
+ //fprintf(stderr,"PairedReadSupplierFromQueue finished 2nd element %x with %d reads %d batches:", (int) currentSecondElement, currentSecondElement->totalReads, currentSecondElement->batches.size()); for (BatchVector::iterator i = currentSecondElement->batches.begin(); i != currentSecondElement->batches.end(); i++) { printf(" %d:%d", i->fileID, i->batchID); } printf("\n");
+ queue->doneWithElement(currentSecondElement);
+ currentSecondElement = NULL;
+ }
+ }
+
+ if (NULL == currentElement) {
+ if ((twoFiles && !queue->getElements(¤tElement, ¤tSecondElement)) ||
+ (!twoFiles && NULL == (currentElement = queue->getElement()))) {
+
+ done = true;
+ queue->supplierFinished();
+ *read0 = NULL;
+ *read1 = NULL;
+ return false;
+ }
+ nextReadIndex = 0;
+ }
+ if (twoFiles) {
+ // Assert that both elements match.
+ _ASSERT(currentSecondElement->totalReads == currentElement->totalReads);
+#ifdef PAIR_MATCH_DEBUG
+ for (int i = 0; i < currentElement->totalReads; i++) {
+ Read::checkIdMatch(¤tElement->reads[i], ¤tSecondElement->reads[i]);
+ }
+#endif
+ } else {
+ //
+ // Assert that there are an even number of reads (since they're in pairs)
+ //
+ _ASSERT(currentElement->totalReads % 2 == 0);
+#ifdef PAIR_MATCH_DEBUG
+ for (int i = 0; i < currentElement->totalReads; i += 2) {
+ Read::checkIdMatch(¤tElement->reads[i], ¤tElement->reads[i+1]);
+ }
+#endif
+ }
+
+ if (twoFiles) {
+ *read0 = ¤tElement->reads[nextReadIndex];
+ *read1 = ¤tSecondElement->reads[nextReadIndex];
+#ifdef PAIR_MATCH_DEBUG
+ Read::checkIdMatch(*read0, *read1);
+#endif
+ nextReadIndex++;
+ } else {
+ *read0 = ¤tElement->reads[nextReadIndex];
+ *read1 = ¤tElement->reads[nextReadIndex+1];
+#ifdef PAIR_MATCH_DEBUG
+ Read::checkIdMatch(*read0, *read1);
+#endif
+ nextReadIndex += 2;
+ }
+
+ return true;
+}
+
diff --git a/SNAPLib/ReadSupplierQueue.h b/SNAPLib/ReadSupplierQueue.h
new file mode 100644
index 0000000..4f5628e
--- /dev/null
+++ b/SNAPLib/ReadSupplierQueue.h
@@ -0,0 +1,221 @@
+/*++
+
+Module Name:
+
+ ReadSupplierQueue.h
+
+Abstract:
+
+ Headers for parallel queue of reads
+
+Authors:
+
+ Bill Bolosky, November, 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+#include "Read.h"
+#include "Compat.h"
+#include "VariableSizeVector.h"
+#include "VariableSizeMap.h"
+
+using std::pair;
+
+class ReadSupplierFromQueue;
+class PairedReadSupplierFromQueue;
+
+typedef VariableSizeVector<DataBatch> BatchVector;
+
+struct ReadQueueElement {
+ ReadQueueElement()
+ : next(NULL), prev(NULL)
+ {
+ reads = (Read*) BigAlloc(MaxReadsPerElement * sizeof(Read));
+ }
+
+ ~ReadQueueElement()
+ {
+ BigDealloc(reads);
+ reads = NULL;
+ }
+
+ // note this should be about read buffer size for input reads
+#ifdef LONG_READS
+ static const int MaxReadsPerElement = 400;
+#else
+ static const int MaxReadsPerElement = 5000;
+#endif
+ ReadQueueElement *next;
+ ReadQueueElement *prev;
+ int totalReads;
+ Read* reads;
+ BatchVector batches;
+
+ void addToTail(ReadQueueElement *queueHead) {
+ next = queueHead;
+ prev = queueHead->prev;
+ prev->next = this;
+ next->prev = this;
+ }
+
+ void removeFromQueue() {
+ prev->next = next;
+ next->prev = prev;
+ prev = next = NULL;
+ }
+};
+
+class ReadSupplierQueue: public ReadSupplierGenerator, public PairedReadSupplierGenerator {
+public:
+ //
+ // This queue can handle several different kinds of inputs and outputs. It will do either single
+ // ended or paired reads. In both cases, it can accept multiple independent readers (typically
+ // one per (pair of) input file(s). For paired reads that come from pairs of input files (think
+ // FASTQ) it will run them independently and then combine the results as they're extracted. For
+ // paired reads that come from single files (SAM/BAM/CRAM, etc.) it still uses two queues internally,
+ // but they're both written by a single PairedReadReader.
+ //
+
+ //
+ // The version for single ended reads. This is useful for formats that can't be divided by the
+ // RangeSplitter, like BAM (though that's theoretically possible, so maybe..) It takes a set
+ // of readers (presumably for different files), each of which runs independently and in parallel.
+ //
+ ReadSupplierQueue(ReadReader *i_reader);
+
+ //
+ // The version for paired reads for which each end comes from a different Reader (and presumably
+ // file, think FASTQ). This is mostly useful for cases where the RangeSplitter can't handle
+ // the files, probably because they FASTQ files with unequal length reads).
+ //
+ ReadSupplierQueue(ReadReader *i_firstHalfReader, ReadReader *i_secondHalfReader);
+
+ //
+ // The version for paired reads that come from a single file but for which RangeSplitter won't
+ // work (BAM, CRAM, compressed FASTQ, maybe SRA).
+ //
+ ReadSupplierQueue(PairedReadReader *pairedReader);
+
+ virtual ~ReadSupplierQueue();
+
+ bool startReaders();
+ void waitUntilFinished();
+ ReadSupplier *generateNewReadSupplier();
+ PairedReadSupplier *generateNewPairedReadSupplier();
+ ReaderContext* getContext();
+
+ ReadQueueElement *getElement(); // Called from the supplier threads
+ bool getElements(ReadQueueElement **element1, ReadQueueElement **element2); // Called from supplier threads
+ void doneWithElement(ReadQueueElement *element);
+ void supplierFinished();
+
+ void holdBatch(DataBatch batch);
+ bool releaseBatch(DataBatch batch);
+
+ static int BufferCount(int numThreads)
+ { return (__max(numThreads,2) + 1) * BatchesPerElement; }
+
+private:
+
+ static const int BatchesPerElement = 4;
+
+ void commonInit();
+
+ ReadReader *singleReader[2]; // Only [0] is filled in for single ended reads
+ PairedReadReader *pairedReader; // This is filled in iff there are no single readers
+
+ ReadQueueElement readyQueue[2]; // Queue [1] is used only when there are two single end readers
+
+ BatchTracker tracker; // track batches used in queues, use refcount per element (not per read)
+
+ EventObject throttle[2]; // Two throttles, one for each of the readers. At least one must be open at all times.
+ int balance; // The size of readyQueue[0] - the size of readyQueue[1]. This is used to throttle.
+ static const int MaxImbalance = 5; // Engage the throttle when |balance| > MaxImbalance
+
+ volatile unsigned elementSize; // reads per element, used to ensure paired single readers use same size that is ~ buffer size
+
+ int nReadersRunning;
+ int nSuppliersRunning;
+ volatile bool allReadsQueued;
+
+ ReadQueueElement* getEmptyElement(); // must hold the lock to call this
+
+ bool areAnyReadsReady(); // must hold the lock to call this.
+
+ //
+ // Empty buffers waiting for the readers.
+ //
+ ReadQueueElement emptyQueue[1];
+
+ //
+ // Just one lock for all of the shared objects (the queues and Waiter objects, and counts of
+ // readers and suppliers running, as well as allReadsQueued).
+ //
+ ExclusiveLock lock;
+ EventObject readsReady;
+ EventObject emptyBuffersAvailable;
+
+ EventObject allReadsConsumed;
+
+ struct ReaderThreadParams {
+ ReadSupplierQueue *queue;
+ bool isSecondReader;
+ };
+
+ static void ReaderThreadMain(void *);
+ void ReaderThread(ReaderThreadParams *params);
+};
+
+//
+// A read supplier that takes its data from a ReadSupplierQueue.
+//
+class ReadSupplierFromQueue: public ReadSupplier {
+public:
+ ReadSupplierFromQueue(ReadSupplierQueue *i_queue);
+ ~ReadSupplierFromQueue() {}
+
+ Read *getNextRead();
+
+ virtual void holdBatch(DataBatch batch)
+ { queue->holdBatch(batch); }
+
+ virtual bool releaseBatch(DataBatch batch)
+ { return queue->releaseBatch(batch); }
+
+private:
+ bool done;
+ ReadSupplierQueue *queue;
+ bool outOfReads;
+ ReadQueueElement *currentElement;
+ int nextReadIndex;
+};
+
+class PairedReadSupplierFromQueue: public PairedReadSupplier {
+public:
+ PairedReadSupplierFromQueue(ReadSupplierQueue *i_queue, bool i_twoFiles);
+ ~PairedReadSupplierFromQueue();
+
+ bool getNextReadPair(Read **read0, Read **read1);
+
+ virtual void holdBatch(DataBatch batch)
+ { queue->holdBatch(batch); }
+
+ virtual bool releaseBatch(DataBatch batch)
+ { return queue->releaseBatch(batch); }
+
+private:
+ ReadSupplierQueue *queue;
+ bool done;
+ bool twoFiles;
+ ReadQueueElement *currentElement;
+ ReadQueueElement *currentSecondElement;
+ int nextReadIndex;
+};
diff --git a/SNAPLib/ReadWriter.cpp b/SNAPLib/ReadWriter.cpp
new file mode 100644
index 0000000..ec38495
--- /dev/null
+++ b/SNAPLib/ReadWriter.cpp
@@ -0,0 +1,548 @@
+/*++
+
+Module Name:
+
+ ReadWriter.cpp
+
+Abstract:
+
+ General file writer.
+
+Environment:
+
+ User mode service.
+
+ Not thread safe.
+
+--*/
+
+#include "stdafx.h"
+#include "BigAlloc.h"
+#include "Compat.h"
+#include "Read.h"
+#include "SAM.h"
+#include "Tables.h"
+#include "RangeSplitter.h"
+#include "ParallelTask.h"
+#include "Util.h"
+#include "ReadSupplierQueue.h"
+#include "FileFormat.h"
+#include "exit.h"
+#include "Error.h"
+#include "Genome.h"
+
+class SimpleReadWriter : public ReadWriter
+{
+public:
+ SimpleReadWriter(const FileFormat* i_format, DataWriter* i_writer, const Genome* i_genome)
+ : format(i_format), writer(i_writer), genome(i_genome)
+ {}
+
+ virtual ~SimpleReadWriter()
+ {
+ delete writer;
+ }
+
+ virtual bool writeHeader(const ReaderContext& context, bool sorted, int argc, const char **argv, const char *version, const char *rgLine, bool omitSQLines);
+
+ virtual bool writeReads(const ReaderContext& context, Read *read, SingleAlignmentResult *results, int nResults, bool firstIsPrimary);
+
+ virtual bool writePairs(const ReaderContext& context, Read **reads /* array of size 2 */, PairedAlignmentResult *result, int nResults,
+ SingleAlignmentResult **singleResults /* array of size 2*/, int *nSingleResults /* array of size 2*/, bool firstIsPrimary);
+
+ virtual void close();
+
+private:
+ const FileFormat* format;
+ DataWriter* writer;
+ const Genome* genome;
+ LandauVishkinWithCigar lvc;
+};
+
+ bool
+SimpleReadWriter::writeHeader(
+ const ReaderContext& context,
+ bool sorted,
+ int argc,
+ const char **argv,
+ const char *version,
+ const char *rgLine,
+ bool omitSQLines)
+{
+ char* buffer;
+ size_t size;
+ size_t used;
+
+ char *localBuffer = NULL;
+
+ writer->inHeader(true);
+ if (! writer->getBuffer(&buffer, &size)) {
+ return false;
+ }
+
+ char *writerBuffer = buffer;
+ size_t writerBufferSize = size;
+
+ while (!format->writeHeader(context, buffer, size, &used, sorted, argc, argv, version, rgLine, omitSQLines)) {
+ delete[] localBuffer;
+ size = 2 * size;
+ localBuffer = new char[size];
+ buffer = localBuffer;
+ }
+
+ if (NULL == localBuffer) {
+ _ASSERT(writerBuffer == buffer);
+ writer->advance((unsigned)used, 0);
+ writer->nextBatch();
+ } else {
+ size_t bytesRemainingToWrite = used;
+ size_t bytesWritten = 0;
+ while (bytesRemainingToWrite > 0) {
+ size_t bytesToWrite = __min(bytesRemainingToWrite, writerBufferSize);
+ memcpy(writerBuffer, localBuffer + bytesWritten, bytesToWrite);
+ writer->advance(bytesToWrite);
+ writer->nextBatch();
+ if (!writer->getBuffer(&writerBuffer, &writerBufferSize)) {
+ return false;
+ }
+ bytesWritten += bytesToWrite;
+ bytesRemainingToWrite -= bytesToWrite;
+ }
+
+ delete[] localBuffer;
+ }
+
+ writer->inHeader(false);
+ return true;
+}
+
+ bool
+SimpleReadWriter::writeReads(
+ const ReaderContext& context,
+ Read *read,
+ SingleAlignmentResult *results,
+ int nResults,
+ bool firstIsPrimary)
+{
+ char* buffer;
+ size_t size;
+ size_t used;
+ bool result = false;
+
+ for (int i = 0; i < nResults; i++) {
+ if (results[i].status == NotFound) {
+ results[i].location = InvalidGenomeLocation;
+ }
+ }
+
+ //
+ // We need to keep track of the offsets of all of the alignments in the output buffer so we can commit them. However,
+ // we want to avoid dynamic memory allocation as much as possible. So, we have a static buffer on the stack that's big enough
+ // for the great majority of cases, and then allocate dynamically if that's too small. Makes for annoying, but efficient
+ // code.
+ //
+
+ const int staticUsedBufferSize = 2000;
+ size_t staticUsedBuffer[staticUsedBufferSize];
+
+ GenomeLocation staticFinalLocationsBuffer[staticUsedBufferSize];
+
+ size_t *usedBuffer;
+ GenomeLocation *finalLocations;
+ if (nResults <= staticUsedBufferSize) {
+ usedBuffer = staticUsedBuffer;
+ finalLocations = staticFinalLocationsBuffer;
+ } else {
+ usedBuffer = new size_t[nResults];
+ finalLocations = new GenomeLocation[nResults];
+ }
+
+
+ for (int pass = 0; pass < 2; pass++) { // Make two passes, one with whatever buffer space is left and one with a clean buffer.
+ bool blewBuffer = false;
+
+ if (!writer->getBuffer(&buffer, &size)) {
+ goto done;
+ }
+
+ used = 0;
+
+ for (int whichResult = 0; whichResult < nResults; whichResult++) {
+ int addFrontClipping = 0;
+ read->setAdditionalFrontClipping(0);
+ int cumulativeAddFrontClipping = 0;
+ finalLocations[whichResult] = results[whichResult].location;
+
+ while (!format->writeRead(context, &lvc, buffer + used, size - used, &usedBuffer[whichResult], read->getIdLength(), read, results[whichResult].status,
+ results[whichResult].mapq, finalLocations[whichResult], results[whichResult].direction, (whichResult > 0) || !firstIsPrimary, &addFrontClipping)) {
+
+ if (0 == addFrontClipping) {
+ blewBuffer = true;
+ break;
+ }
+
+ // redo if read modified (e.g. to add soft clipping, or move alignment for a leading I.
+ const Genome::Contig *originalContig = results[whichResult].status == NotFound ? NULL
+ : genome->getContigAtLocation(results[whichResult].location);
+ const Genome::Contig *newContig = results[whichResult].status == NotFound ? NULL
+ : genome->getContigAtLocation(results[whichResult].location + addFrontClipping);
+ if (newContig == NULL || newContig != originalContig || finalLocations[whichResult] + addFrontClipping > originalContig->beginningLocation + originalContig->length - genome->getChromosomePadding()) {
+ //
+ // Altering this would push us over a contig boundary. Just give up on the read.
+ //
+ results[whichResult].status = NotFound;
+ results[whichResult].location = InvalidGenomeLocation;
+ finalLocations[whichResult] = InvalidGenomeLocation;
+ } else {
+ cumulativeAddFrontClipping += addFrontClipping;
+ if (addFrontClipping > 0) {
+ read->setAdditionalFrontClipping(cumulativeAddFrontClipping);
+ }
+ finalLocations[whichResult] = results[whichResult].location + cumulativeAddFrontClipping;
+ }
+ } // while formatting doesn't work
+
+ if (blewBuffer) {
+ break;
+ }
+
+ used += usedBuffer[whichResult];
+ _ASSERT(used <= size);
+
+ if (used > 0xffffffff) {
+ WriteErrorMessage("SimpleReadWriter:writeReads: used too big\n");
+ soft_exit(1);
+ }
+ } // for each result.
+
+ if (!blewBuffer) {
+ //
+ // Everything worked OK.
+ //
+ for (int whichResult = 0; whichResult < nResults; whichResult++) {
+ writer->advance((unsigned)usedBuffer[whichResult], finalLocations[whichResult]);
+ }
+ result = true;
+ goto done;
+ }
+
+ if (pass == 1) {
+ WriteErrorMessage("Failed to write into fresh buffer; trying providing the -wbs switch with a larger value\n");
+ soft_exit(1);
+ }
+
+ if (!writer->nextBatch()) {
+ goto done;
+ }
+ } // for each pass (i.e., not empty, empty buffer)
+
+done:
+ if (usedBuffer != staticUsedBuffer) {
+ delete[] usedBuffer;
+ usedBuffer = NULL;
+
+ delete[] finalLocations;
+ finalLocations = NULL;
+ }
+
+ read->setAdditionalFrontClipping(0);
+
+ return result;
+}
+
+ bool
+SimpleReadWriter::writePairs(
+ const ReaderContext& context,
+ Read **reads /* array of size NUM_READS_PER_PAIR */,
+ PairedAlignmentResult *result,
+ int nResults,
+ SingleAlignmentResult **singleResults /* array of size NUM_READS_PER_PAIR*/,
+ int *nSingleResults /* array of size NUM_READS_PER_PAIR*/,
+ bool firstIsPrimary)
+{
+ bool retVal = false;
+ //
+ // We need to write all alignments for the pair into the same buffer, so that a write from
+ // some other thread doesn't separate them. We make two passes, trying to write into the
+ // existing buffer, and then into a clean one. If that doesn't work, abort the alignment
+ // run and ask for a bigger write buffer.
+ //
+ const int staticUsedBufferSize = 2000;
+ size_t staticUsedBuffer[NUM_READS_PER_PAIR][staticUsedBufferSize];
+ GenomeLocation staticLocationBuffer[NUM_READS_PER_PAIR][staticUsedBufferSize];
+
+ GenomeLocation *finalLocations[NUM_READS_PER_PAIR];
+ size_t *usedBuffer[NUM_READS_PER_PAIR];
+ if (nResults + nSingleResults[0] <= staticUsedBufferSize && nResults + nSingleResults[1] <= staticUsedBufferSize) {
+ usedBuffer[0] = staticUsedBuffer[0];
+ usedBuffer[1] = staticUsedBuffer[1];
+ finalLocations[0] = staticLocationBuffer[0];
+ finalLocations[1] = staticLocationBuffer[1];
+ } else {
+ usedBuffer[0] = new size_t[nResults * NUM_READS_PER_PAIR + nSingleResults[0] + nSingleResults[1]];
+ usedBuffer[1] = usedBuffer[0] + nResults + nSingleResults[0];
+ finalLocations[0] = new GenomeLocation[nResults * NUM_READS_PER_PAIR + nSingleResults[0] + nSingleResults[1]];
+ finalLocations[1] = finalLocations[0] + nResults + nSingleResults[0];
+ }
+
+
+ //
+ // For paired reads, we need to have the same QNAME for both of them, and it needs to be unique among all other
+ // reads in the dataset. For now, all we do is see if the read names end in /1 and /2, and if so truncate them.
+ //
+ size_t idLengths[NUM_READS_PER_PAIR];
+ idLengths[0] = reads[0]->getIdLength();
+ idLengths[1] = reads[1]->getIdLength();
+ if (idLengths[0] == idLengths[1] && idLengths[0] > 2 && reads[0]->getId()[idLengths[0]-2] == '/' && reads[1]->getId()[idLengths[0]-2] == '/') {
+ char lastChar0, lastChar1;
+ lastChar0 = reads[0]->getId()[idLengths[0] - 1];
+ lastChar1 = reads[1]->getId()[idLengths[1] - 1];
+ if ((lastChar0 == '1' || lastChar0 == '2') && (lastChar1 == '1' || lastChar1 == '2') &&
+ lastChar0 != lastChar1) {
+ idLengths[0] -= 2;
+ idLengths[1] -= 2;
+ }
+ }
+
+ for (int pass = 0; pass < 2; pass++) {
+
+ char* buffer;
+ size_t size;
+ size_t used = 0;
+
+ bool fitInBuffer = true;
+
+ if (!writer->getBuffer(&buffer, &size)) {
+ goto done;
+ }
+
+ //
+ // Write all of the pair alignments into the buffer.
+ //
+ for (int whichAlignmentPair = 0; whichAlignmentPair < nResults; whichAlignmentPair++) {
+ reads[0]->setAdditionalFrontClipping(0);
+ reads[1]->setAdditionalFrontClipping(0);
+
+ GenomeLocation locations[2];
+ locations[0] = result[whichAlignmentPair].status[0] != NotFound ? result[whichAlignmentPair].location[0] : InvalidGenomeLocation;
+ locations[1] = result[whichAlignmentPair].status[1] != NotFound ? result[whichAlignmentPair].location[1] : InvalidGenomeLocation;
+
+ int writeOrder[2]; // The order in which we write the reads, which is just numerical by genome location. SO writeOrder[0] gets written first, and writeOrder[1] second.
+
+ if (locations[0] <= locations[1]) {
+ writeOrder[0] = 0;
+ writeOrder[1] = 1;
+ } else {
+ writeOrder[0] = 1;
+ writeOrder[1] = 0;
+ }
+
+ bool secondReadLocationChanged;
+ int cumulativePositiveAddFrontClipping[NUM_READS_PER_PAIR] = { 0, 0 };
+
+ do {
+ size_t tentativeUsed = 0;
+ secondReadLocationChanged = false;
+
+ for (int firstOrSecond = 0; firstOrSecond < NUM_READS_PER_PAIR; firstOrSecond++) { // looping over the order in which the reads are written, not the order in which they arrived
+ int whichRead = writeOrder[firstOrSecond];
+ //
+ // Loop until we get a write with no additional front clipping.
+ //
+ int addFrontClipping = 0;
+
+ while (!format->writeRead(context, &lvc, buffer + used + tentativeUsed, size - used - tentativeUsed, &usedBuffer[firstOrSecond][whichAlignmentPair],
+ idLengths[whichRead], reads[whichRead], result[whichAlignmentPair].status[whichRead], result[whichAlignmentPair].mapq[whichRead], locations[whichRead], result[whichAlignmentPair].direction[whichRead],
+ whichAlignmentPair != 0 || !firstIsPrimary, &addFrontClipping, true, writeOrder[firstOrSecond] == 0,
+ reads[1 - whichRead], result[whichAlignmentPair].status[1 - whichRead], locations[1 - whichRead], result[whichAlignmentPair].direction[1 - whichRead],
+ result[whichAlignmentPair].alignedAsPair)) {
+
+ if (0 == addFrontClipping || locations[whichRead] == InvalidGenomeLocation) {
+ //
+ // We failed because we ran out of buffer.
+ //
+ goto blownBuffer;
+ }
+
+ if (1 == firstOrSecond) {
+ //
+ // If the location of the second read changed, we need to redo the first one as well, because it includes an offset to the second read
+ //
+ secondReadLocationChanged = true;
+ }
+
+ const Genome::Contig *originalContig = genome->getContigAtLocation(locations[whichRead]);
+ const Genome::Contig *newContig = genome->getContigAtLocation(locations[whichRead] + addFrontClipping);
+ if (newContig != originalContig || NULL == newContig || locations[whichRead] + addFrontClipping > originalContig->beginningLocation + originalContig->length - genome->getChromosomePadding()) {
+ //
+ // Altering this would push us over a contig boundary. Just give up on the read.
+ //
+ result[whichAlignmentPair].status[whichRead] = NotFound;
+ result[whichAlignmentPair].location[whichRead] = InvalidGenomeLocation;
+ locations[whichRead] = InvalidGenomeLocation;
+ } else {
+ if (addFrontClipping > 0) {
+ cumulativePositiveAddFrontClipping[firstOrSecond] += addFrontClipping;
+ reads[whichRead]->setAdditionalFrontClipping(cumulativePositiveAddFrontClipping[firstOrSecond]);
+ }
+ locations[whichRead] += addFrontClipping;
+ }
+ } // While formatting didn't work
+ tentativeUsed += usedBuffer[firstOrSecond][whichAlignmentPair];
+ } // for first or second read
+
+ } while (secondReadLocationChanged);
+ used += usedBuffer[0][whichAlignmentPair] + usedBuffer[1][whichAlignmentPair];
+
+ //
+ // Both reads are written into the buffer. Save the final locations we used for when we commit.
+ //
+ for (int whichRead = 0; whichRead < NUM_READS_PER_PAIR; whichRead++) {
+ finalLocations[whichRead][whichAlignmentPair] = locations[whichRead];
+ }
+ } // for each pair.
+
+ //
+ // Now write the single alignments.
+ //
+ for (int whichRead = 0; whichRead < NUM_READS_PER_PAIR; whichRead++) {
+ for (int whichAlignment = 0; whichAlignment < nSingleResults[whichRead]; whichAlignment++) {
+ int addFrontClipping;
+ reads[whichRead]->setAdditionalFrontClipping(0);
+ GenomeLocation location = singleResults[whichRead][whichAlignment].status != NotFound ? singleResults[whichRead][whichAlignment].location : InvalidGenomeLocation;
+ int cumulativePositiveAddFrontClipping = 0;
+
+ while (!format->writeRead(context, &lvc, buffer + used, size - used, &usedBuffer[whichRead][nResults + whichAlignment], reads[whichRead]->getIdLength(),
+ reads[whichRead], singleResults[whichRead][whichAlignment].status, singleResults[whichRead][whichAlignment].mapq, location, singleResults[whichRead][whichAlignment].direction,
+ true, &addFrontClipping)) {
+
+ if (0 == addFrontClipping) {
+ goto blownBuffer;
+ }
+
+ const Genome::Contig *originalContig = genome->getContigAtLocation(location);
+ const Genome::Contig *newContig = genome->getContigAtLocation(location + addFrontClipping);
+ if (newContig != originalContig || NULL == newContig || location + addFrontClipping > originalContig->beginningLocation + originalContig->length - genome->getChromosomePadding()) {
+ //
+ // Altering this would push us over a contig boundary. Just give up on the read.
+ //
+ singleResults[whichRead][whichAlignment].status = NotFound;
+ location = InvalidGenomeLocation;
+ } else {
+ if (addFrontClipping > 0) {
+ cumulativePositiveAddFrontClipping += addFrontClipping;
+ reads[whichRead]->setAdditionalFrontClipping(cumulativePositiveAddFrontClipping);
+ }
+ location += addFrontClipping;
+ }
+ }
+
+ finalLocations[whichRead][nResults + whichAlignment] = location;
+ used += usedBuffer[whichRead][nResults + whichAlignment];
+ } // For each single alignment of a read
+ } // For each read
+
+ //
+ // They all fit into the buffer.
+ //
+
+ //
+ // Commit the updates for the pairs.
+ //
+ for (int whichReadPair = 0; whichReadPair < nResults; whichReadPair++) {
+ for (int firstOrSecond = 0; firstOrSecond < NUM_READS_PER_PAIR; firstOrSecond++) {
+ // adjust for write order
+ int writeFirstOrSecond = (!!firstOrSecond) ^ (finalLocations[0][whichReadPair] > finalLocations[1][whichReadPair]); // goofy looking !! converts int to bool
+ writer->advance((unsigned)usedBuffer[firstOrSecond][whichReadPair],
+ finalLocations[writeFirstOrSecond][whichReadPair] == InvalidGenomeLocation ? finalLocations[1 - writeFirstOrSecond][whichReadPair] : finalLocations[writeFirstOrSecond][whichReadPair]);
+ }
+ }
+
+ //
+ // Now commit the updates for the single reads.
+ //
+ for (int whichRead = 0; whichRead < NUM_READS_PER_PAIR; whichRead++) {
+ for (int whichAlignment = 0; whichAlignment < nSingleResults[whichRead]; whichAlignment++) {
+ writer->advance((unsigned)usedBuffer[whichRead][nResults + whichAlignment], finalLocations[whichRead][nResults + whichAlignment]);
+ }
+ }
+
+ retVal = true;
+ break;
+
+blownBuffer:
+ if (pass > 0) {
+ WriteErrorMessage("Unable to fit all alignments for one read pair into a single write buffer. Increase the size of the write buffer with -wbs, or reduce the number of alignments with -om or -omax\n");
+ WriteErrorMessage("Read id: '%.*s'\n", reads[0]->getIdLength(), reads[0]->getId());
+ soft_exit(1);
+ }
+
+ if (!writer->nextBatch()) {
+ goto done;
+ }
+
+ } // For each buffer full pass
+
+
+
+done:
+ if (usedBuffer[0] != staticUsedBuffer[0]) {
+ delete[] usedBuffer[0];
+ usedBuffer[0] = usedBuffer[1] = NULL;
+
+ delete[] finalLocations[0];
+ finalLocations[0] = finalLocations[1] = NULL;
+ }
+
+ reads[0]->setAdditionalFrontClipping(0);
+ reads[1]->setAdditionalFrontClipping(0);
+
+ return retVal;
+}
+
+ void
+SimpleReadWriter::close()
+{
+ writer->close();
+}
+
+class SimpleReadWriterSupplier : public ReadWriterSupplier
+{
+public:
+ SimpleReadWriterSupplier(const FileFormat* i_format, DataWriterSupplier* i_dataSupplier, const Genome* i_genome)
+ :
+ format(i_format),
+ dataSupplier(i_dataSupplier),
+ genome(i_genome)
+ {}
+
+ ~SimpleReadWriterSupplier()
+ {
+ delete dataSupplier;
+ }
+
+ virtual ReadWriter* getWriter()
+ {
+ return new SimpleReadWriter(format, dataSupplier->getWriter(), genome);
+ }
+
+ virtual void close()
+ {
+ dataSupplier->close();
+ }
+
+private:
+ const FileFormat* format;
+ DataWriterSupplier* dataSupplier;
+ const Genome* genome;
+};
+
+ ReadWriterSupplier*
+ReadWriterSupplier::create(
+ const FileFormat* format,
+ DataWriterSupplier* dataSupplier,
+ const Genome* genome)
+{
+ return new SimpleReadWriterSupplier(format, dataSupplier, genome);
+}
+
diff --git a/SNAPLib/SAM.cpp b/SNAPLib/SAM.cpp
new file mode 100644
index 0000000..073cf93
--- /dev/null
+++ b/SNAPLib/SAM.cpp
@@ -0,0 +1,1721 @@
+/*++
+
+Module Name:
+
+ SAM.cpp
+
+Abstract:
+
+ Sequence Alignment Map (SAM) file writer and reader.
+
+Environment:
+
+ User mode service.
+
+ SamWriter and SamReader (and their subclasses) aren't thread safe.
+
+--*/
+
+#include "stdafx.h"
+#include "BigAlloc.h"
+#include "Compat.h"
+#include "Read.h"
+#include "SAM.h"
+#include "Bam.h"
+#include "Tables.h"
+#include "RangeSplitter.h"
+#include "ParallelTask.h"
+#include "Util.h"
+#include "ReadSupplierQueue.h"
+#include "FileFormat.h"
+#include "AlignerOptions.h"
+#include "directions.h"
+#include "exit.h"
+
+using std::max;
+using std::min;
+using util::strnchr;
+
+bool readIdsMatch(const char* id0, const char* id1)
+{
+ for (unsigned i = 0; ; i++) {
+ char c0 = id0[i];
+ char c1 = id1[i];
+
+ if (c0 != c1) return false;
+
+ // don't parse the read ID after the first space or slash, which can represent metadata (or which half of the mate pair the read is).
+ if (c0 == 0 || c0 == ' ' || c0 == '/') return true;
+ }
+ return true;
+}
+
+bool readIdsMatch(Read *read0, Read *read1)
+{
+ if (read0->getIdLength() != read1->getIdLength()) {
+ return false;
+ }
+ for (unsigned i = 0; i < read0->getIdLength(); i++) {
+ char c0 = read0->getId()[i];
+ char c1 = read1->getId()[i];
+
+ if (c0 != c1) return false;
+
+ // don't parse the read ID after the first space or slash, which can represent metadata (or which half of the mate pair the read is).
+ if (c0 == ' ' || c0 == '/') return true;
+ }
+ return true;
+}
+
+ char *
+strnchrs(char *str, char charToFind, char charToFind2, size_t maxLen) // Hokey version that looks for either of two chars
+{
+ for (size_t i = 0; i < maxLen; i++) {
+ if (str[i] == charToFind || str[i] == charToFind2) {
+ return str + i;
+ }
+ if (str[i] == 0) {
+ return NULL;
+ }
+ }
+ return NULL;
+}
+
+ char *
+SAMReader::skipToBeyondNextFieldSeparator(char *str, const char *endOfBuffer, size_t *o_charsUntilFirstSeparator)
+{
+ if (NULL == str) return NULL;
+
+ char *nextChar = str;
+ while (nextChar < endOfBuffer && *nextChar != '\n' && *nextChar != '\t' && *nextChar != '\r' /* for Windows CRLF text */) {
+ nextChar++;
+ }
+
+ if (NULL != o_charsUntilFirstSeparator) {
+ *o_charsUntilFirstSeparator = nextChar - str;
+ }
+
+ if (nextChar >= endOfBuffer || *nextChar == '\n') {
+ return NULL;
+ }
+
+ while (nextChar < endOfBuffer && ('\t' == *nextChar || '\r' == *nextChar)) {
+ nextChar++;
+ }
+
+ if (nextChar >= endOfBuffer) {
+ return NULL;
+ }
+
+ return nextChar;
+}
+
+
+ SAMReader *
+SAMReader::create(
+ DataSupplier* supplier,
+ const char *fileName,
+ int bufferCount,
+ const ReaderContext& context,
+ _int64 startingOffset,
+ _int64 amountOfFileToProcess)
+{
+ DataReader* data = supplier->getDataReader(bufferCount, maxLineLen, 0.0, 0);
+ SAMReader *reader = new SAMReader(data, context);
+ reader->init(fileName, startingOffset, amountOfFileToProcess);
+ return reader;
+}
+
+ void
+SAMReader::readHeader(const char *fileName)
+{
+ // todo: allow for larger headers
+ _int64 headerSize = 512 * 1024; // 1M header initially (it's doubled before we use it)
+ _int64 oldHeaderSize = 0;
+
+ char* buffer;
+ bool sawWholeHeader;
+ do {
+ headerSize *= 2;
+ buffer = data->readHeader(&headerSize);
+ if (oldHeaderSize >= headerSize) {
+ //
+ // No new data, we hit EOF
+ //
+ return;
+ }
+ oldHeaderSize = headerSize;
+
+ if (!parseHeader(fileName, buffer, buffer + headerSize, context.genome, &headerSize, &context.headerMatchesIndex, &sawWholeHeader)) {
+ WriteErrorMessage("SAMReader: failed to parse header on '%s'\n", fileName);
+ soft_exit(1);
+ }
+ } while (!sawWholeHeader);
+ _ASSERT(context.header == NULL);
+ char* p = new char[headerSize + 1];
+ memcpy(p, buffer, headerSize);
+ p[headerSize] = 0;
+ context.header = p;
+ context.headerBytes = context.headerLength = headerSize;
+}
+
+SAMReader::SAMReader(
+ DataReader* i_data,
+ const ReaderContext& i_context)
+ : ReadReader(i_context), data(i_data), headerSize(-1), clipping(i_context.clipping)
+{
+}
+
+
+//
+// Implement the ReadReader form of getNextRead, which doesn't include the
+// alignment results by simply throwing them away.
+//
+ bool
+SAMReader::getNextRead(Read *readToUpdate)
+{
+ return getNextRead(readToUpdate, NULL, NULL, NULL, NULL, NULL, NULL);
+}
+
+ bool
+SAMReader::parseHeader(
+ const char *fileName,
+ char *firstLine,
+ char *endOfBuffer,
+ const Genome *genome,
+ _int64 *o_headerSize,
+ bool *o_headerMatchesIndex,
+ bool *o_sawWholeHeader)
+{
+ char *nextLineToProcess = firstLine;
+ *o_headerMatchesIndex = true;
+ int numSQLines = 0;
+ while (NULL != nextLineToProcess && nextLineToProcess < endOfBuffer && '@' == *nextLineToProcess) {
+ //
+ // Make sure we have the complete line.
+ //
+ bool foundCompleteLine = false;
+
+ for (char *c = nextLineToProcess; c < endOfBuffer; c++) {
+ if (*c == '\n') {
+ foundCompleteLine = true;
+ break;
+ }
+ }
+ if (!foundCompleteLine) {
+ *o_sawWholeHeader = false;
+ return true; // Parsed OK, but incomplete
+ }
+
+
+ if (!strncmp("@SQ",nextLineToProcess,3)) {
+ //
+ // These lines represent sequences in the reference genome, what are
+ // called "contigs" in the Genome class. (Roughly, chromosomes or major
+ // variants like some versions of the MHC genes on chr6; or more
+ // particularly the things that come in different FASTA files from the
+ // reference assembly).
+ //
+ // Verify that they actually match what's in our reference genome.
+ //
+ numSQLines++;
+ if (nextLineToProcess + 3 >= endOfBuffer || ' ' != nextLineToProcess[3] && '\t' != nextLineToProcess[3]) {
+ WriteErrorMessage("Malformed SAM file '%s' has @SQ without a following space or tab.\n",fileName);
+ return false;
+ }
+
+ char *snStart = nextLineToProcess + 4;
+ while (snStart < endOfBuffer && strncmp(snStart,"SN:",__min(3,endOfBuffer-snStart)) && *snStart != '\n' && *snStart != 0) {
+ snStart++;
+ }
+
+ if (snStart >= endOfBuffer || *snStart == '\n' || *snStart == 0) {
+ WriteErrorMessage("Malformed @SQ line doesn't have 'SN:' in file '%s'\n",fileName);
+ return false;
+ }
+
+ const size_t contigNameBufferSize = 512;
+ char contigName[contigNameBufferSize];
+ for (unsigned i = 0; i < contigNameBufferSize && snStart+3+i < endOfBuffer; i++) {
+ if (snStart[3+i] == ' ' || snStart[3+i] == '\t' || snStart[3+i] == '\n' || snStart[3+i] == 0) {
+ contigName[i] = '\0';
+ } else {
+ contigName[i] = snStart[3+i];
+ }
+ }
+ contigName[contigNameBufferSize - 1] = '\0';
+
+ if (genome == NULL || !genome->getLocationOfContig(contigName, NULL)) {
+ *o_headerMatchesIndex = false;
+ }
+ } else if (!strncmp("@HD",nextLineToProcess,3) || !strncmp("@RG",nextLineToProcess,3) || !strncmp("@PG",nextLineToProcess,3) ||
+ !strncmp("@CO",nextLineToProcess,3)) {
+ //
+ // Ignore these lines.
+ //
+ } else {
+ WriteErrorMessage("Unrecognized header line in SAM file.\n");
+ return false;
+ }
+ char * p = strnchr(nextLineToProcess,'\n',endOfBuffer-nextLineToProcess);
+ if (p == NULL) {
+ // no newline, look for null to truncate buffer
+ p = (char*) memchr(nextLineToProcess, 0, endOfBuffer - nextLineToProcess);
+ nextLineToProcess = p != NULL ? p + 1 : endOfBuffer;
+ break;
+ }
+ nextLineToProcess = p + 1;
+ }
+
+ *o_headerMatchesIndex &= genome != NULL && numSQLines == genome->getNumContigs();
+ *o_headerSize = nextLineToProcess - firstLine;
+ if (NULL != o_sawWholeHeader) {
+ *o_sawWholeHeader = nextLineToProcess < endOfBuffer;
+ }
+ return true;
+}
+
+ bool
+SAMReader::parseLine(char *line, char *endOfBuffer, char *result[], size_t *linelength, size_t fieldLengths[])
+{
+ *linelength = 0;
+
+ char *next = line;
+ char *endOfLine = strnchr(line,'\n',endOfBuffer-line);
+ if (NULL == endOfLine) {
+ return false;
+ }
+
+ //
+ // Skip over any leading spaces and tabs
+ //
+ while (next < endOfLine && (*next == ' ' || *next == '\t')) {
+ next++;
+ }
+
+ for (unsigned i = 0; i < nSAMFields; i++) {
+ if (NULL == next || next >= endOfLine) {
+ if (i == OPT) {
+ // no optional fields
+ result[OPT] = NULL;
+ break;
+ } else {
+ //
+ // Too few fields.
+ //
+ return false;
+ }
+ }
+
+ result[i] = next;
+ if (i == OPT) {
+ // OPT field is actually all fields until end of line
+ fieldLengths[OPT] = endOfLine - next;
+ break;
+ }
+
+ next = skipToBeyondNextFieldSeparator(next,endOfLine,&fieldLengths[i]);
+ }
+
+ *linelength = endOfLine - line + 1; // +1 skips over the \n
+ return true;
+}
+
+ void
+SAMReader::getReadFromLine(
+ const Genome *genome,
+ char *line,
+ char *endOfBuffer,
+ Read *read,
+ AlignmentResult *alignmentResult,
+ GenomeLocation *out_genomeLocation,
+ Direction *direction,
+ unsigned *mapQ,
+ size_t *lineLength,
+ unsigned * flag,
+ const char ** cigar,
+ ReadClippingType clipping
+ )
+{
+ char *field[nSAMFields];
+ size_t fieldLength[nSAMFields];
+
+ if (!parseLine(line, endOfBuffer, field, lineLength, fieldLength)) {
+ WriteErrorMessage( "Failed to parse SAM line:\n%.*s\n", lineLength, line);
+ soft_exit(1);
+ }
+
+ //
+ // We have to copy the contig name (RNAME) into its own buffer because the code in Genome expects
+ // it to be a null-terminated string, while all we've got is one that's space delimited.
+ //
+ const size_t contigNameBufferSize = 512;
+ char contigName[contigNameBufferSize];
+ GenomeLocation locationOfContig;
+ parseContigName(genome, contigName, contigNameBufferSize, &locationOfContig, NULL, field, fieldLength);
+
+ GenomeLocation genomeLocation = parseLocation(locationOfContig, field, fieldLength);
+
+ if (NULL != out_genomeLocation) {
+ *out_genomeLocation = genomeLocation;
+ }
+
+ if (fieldLength[SEQ] != fieldLength[QUAL]) {
+ WriteErrorMessage("SAMReader: QUAL string unequal in length to SEQ string.\n");
+ soft_exit(1);
+ }
+
+ unsigned _flag;
+ const size_t flagBufferSize = 20; // More than enough
+ char flagBuffer[flagBufferSize];
+ if (fieldLength[FLAG] >= flagBufferSize) {
+ WriteErrorMessage("SAMReader: flag field is too long.\n");
+ soft_exit(1);
+ }
+ memcpy(flagBuffer,field[FLAG],fieldLength[FLAG]);
+ flagBuffer[fieldLength[FLAG]] = '\0';
+ if (1 != sscanf(flagBuffer,"%d",&_flag)) {
+ WriteErrorMessage("SAMReader: couldn't parse FLAG field.\n");
+ soft_exit(1);
+ }
+
+ if (NULL != read) {
+ //
+ // Clip reads where the quality strings end in '#'
+ //
+
+ unsigned originalFrontClipping, originalBackClipping, originalFrontHardClipping, originalBackHardClipping;
+ Read::computeClippingFromCigar(field[CIGAR], &originalFrontClipping, &originalBackClipping, &originalFrontHardClipping, &originalBackHardClipping);
+
+ unsigned pnext = atoi(field[PNEXT]); // Relies on atoi() returning 0 for non-numeric fields (i.e., *)
+
+ read->init(field[QNAME],(unsigned)fieldLength[QNAME],field[SEQ],field[QUAL],(unsigned)fieldLength[SEQ], genomeLocation, atoi(field[MAPQ]), _flag,
+ originalFrontClipping, originalBackClipping, originalFrontHardClipping, originalBackHardClipping, field[RNEXT], (unsigned)fieldLength[RNEXT], pnext);
+ //
+ // If this read is RC in the SAM file, we need to reverse it here, since Reads are always the sense that they were as they came
+ // out of the base caller.
+ //
+
+ if (_flag & SAM_REVERSE_COMPLEMENT) {
+ read->becomeRC();
+ }
+ read->clip(clipping);
+
+ if (field[OPT] != NULL) {
+ unsigned n = (unsigned) fieldLength[OPT];
+ while (n > 0 && (field[OPT][n-1] == '\n' || field[OPT][n-1] == '\r')) {
+ n--;
+ }
+ read->setAuxiliaryData(field[OPT], n);
+ for (char* p = field[OPT]; p != NULL && p < field[OPT] + fieldLength[OPT]; p = SAMReader::skipToBeyondNextFieldSeparator(p, field[OPT] + fieldLength[OPT])) {
+ if (strncmp(p, "RG:Z:", 5) == 0) {
+ read->setReadGroup(READ_GROUP_FROM_AUX);
+ break;
+ }
+ }
+ }
+ }
+
+ if (NULL != alignmentResult) {
+ if (_flag & SAM_UNMAPPED) {
+ *alignmentResult = NotFound;
+ } else {
+ if ('*' == contigName[0]) {
+ WriteErrorMessage("SAMReader: mapped read didn't have RNAME filled in.\n");
+ soft_exit(1);
+ }
+ *alignmentResult = SingleHit; // NB: This isn't quite right, we should look at MAPQ.
+ }
+ }
+
+ if (NULL != direction) {
+ *direction = (_flag & SAM_REVERSE_COMPLEMENT) ? RC : FORWARD;
+ }
+
+ if (NULL != mapQ) {
+ *mapQ = atoi(field[MAPQ]);
+ if (*mapQ > 255) {
+ WriteErrorMessage("SAMReader: MAPQ field has bogus value\n");
+ soft_exit(1);
+ }
+ }
+
+ if (NULL != flag) {
+ *flag = _flag;
+ }
+
+ if (NULL != cigar) {
+ *cigar = field[CIGAR];
+ }
+}
+
+ void
+SAMReader::parseContigName(
+ const Genome* genome,
+ char* contigName,
+ size_t contigNameBufferSize,
+ GenomeLocation* o_locationOfContig,
+ int* o_indexOfContig,
+ char* field[],
+ size_t fieldLength[],
+ unsigned rfield)
+{
+ if (fieldLength[rfield] >= contigNameBufferSize) { // >= because we need a byte for the \0
+ WriteErrorMessage("SAMReader: too long an RNAME. Can't parse.\n");
+ soft_exit(1);
+ }
+
+ memcpy(contigName,field[rfield],fieldLength[rfield]);
+ contigName[fieldLength[rfield]] = '\0';
+
+ *o_locationOfContig = 0;
+ if ('*' != contigName[0] && genome != NULL && !genome->getLocationOfContig(contigName, o_locationOfContig, o_indexOfContig)) {
+ //WriteErrorMessage("Unable to find contig '%s' in genome. SAM file malformed.\n",contigName);
+ //soft_exit(1);
+ }
+}
+
+ GenomeLocation
+SAMReader::parseLocation(
+ GenomeLocation locationOfContig,
+ char* field[],
+ size_t fieldLength[],
+ unsigned rfield,
+ unsigned posfield)
+{
+ unsigned oneBasedOffsetWithinContig = 0;
+ if ('*' != field[rfield][0] && '*' != field[posfield][0]) {
+ //
+ // We can't call sscanf directly into the mapped file, becuase it reads to the end of the
+ // string even when it's satisfied all of its fields. Since this can be gigabytes, it's not
+ // really good for perf. Instead, copy the POS field into a local buffer and null terminate it.
+ //
+
+ const unsigned posBufferSize = 20;
+ char posBuffer[posBufferSize];
+ if (fieldLength[posfield] >= posBufferSize) {
+ WriteErrorMessage("SAMReader: POS field too long.\n");
+ soft_exit(1);
+ }
+ memcpy(posBuffer,field[posfield],fieldLength[posfield]);
+ posBuffer[fieldLength[posfield]] = '\0';
+ if (0 == sscanf(posBuffer,"%d",&oneBasedOffsetWithinContig)) {
+ WriteErrorMessage("SAMReader: Unable to parse position when it was expected.\n");
+ soft_exit(1);
+ }
+ if (0 == oneBasedOffsetWithinContig) {
+ WriteErrorMessage("SAMReader: Position parsed as 0 when it was expected.\n");
+ soft_exit(1);
+ }
+ return locationOfContig + oneBasedOffsetWithinContig - 1; // -1 is because our offset is 0 based, while SAM is 1 based.
+ } else {
+ return InvalidGenomeLocation;
+ }
+}
+
+ void
+SAMReader::init(
+ const char *fileName,
+ _int64 startingOffset,
+ _int64 amountOfFileToProcess)
+{
+ if (! data->init(fileName)) {
+ WriteErrorMessage( "Unable to read file %s\n", fileName);
+ soft_exit(1);
+ }
+
+ if (0 == startingOffset) {
+ readHeader(fileName);
+ }
+
+ headerSize = context.headerBytes;
+ reinit(max(startingOffset, (_int64) context.headerBytes),
+ amountOfFileToProcess == 0 || startingOffset >= (_int64) context.headerBytes ? amountOfFileToProcess
+ : amountOfFileToProcess - (context.headerBytes - startingOffset));
+}
+
+ void
+SAMReader::reinit(_int64 startingOffset, _int64 amountOfFileToProcess)
+{
+ _ASSERT(-1 != headerSize && startingOffset >= headerSize); // Must call init() before reinit()
+ //
+ // There's no way to tell if we start at the very beginning of a read, we need to see the previous newline.
+ // So, read one byte before our assigned read in case that was the terminating newline of the previous read.
+ //
+ if (startingOffset > headerSize) {
+ startingOffset--;
+ amountOfFileToProcess++;
+ }
+ data->reinit(startingOffset, amountOfFileToProcess);
+ char* buffer;
+ _int64 validBytes;
+ if (!data->getData(&buffer, &validBytes)) {
+ return;
+ }
+ if (startingOffset != headerSize) {
+ char *firstNewline = strnchr(buffer,'\n',validBytes);
+ if (NULL == firstNewline) {
+ return;
+ }
+
+ data->advance((unsigned)(firstNewline - buffer + 1)); // +1 skips over the newline.
+ }
+}
+
+ bool
+SAMReader::getNextRead(
+ Read *read,
+ AlignmentResult *alignmentResult,
+ GenomeLocation *genomeLocation,
+ Direction *direction,
+ unsigned *mapQ,
+ unsigned *flag,
+ bool ignoreEndOfRange,
+ const char **cigar)
+{
+ unsigned local_flag;
+ if (NULL == flag) {
+ flag = &local_flag;
+ }
+ do {
+ char* buffer;
+ _int64 bytes;
+ if (! data->getData(&buffer, &bytes)) {
+ data->nextBatch();
+ if (! data->getData(&buffer, &bytes)) {
+ return false;
+ }
+ }
+ char *newLine = strnchr(buffer, '\n', bytes);
+ if (NULL == newLine) {
+ //
+ // There is no newline, so the line crosses the end of the buffer.
+ // This should never happen since underlying reader manages overflow between chunks.
+ //
+ WriteErrorMessage("SAM file has too long a line, or doesn't end with a newline! Failing. fileOffset = %lld\n", data->getFileOffset());
+ soft_exit(1);
+ }
+
+ size_t lineLength;
+ read->setReadGroup(context.defaultReadGroup);
+ getReadFromLine(context.genome, buffer,buffer + bytes, read, alignmentResult, genomeLocation, direction, mapQ, &lineLength, flag, cigar, clipping);
+ read->setBatch(data->getBatch());
+ data->advance((newLine + 1) - buffer);
+ } while ((context.ignoreSecondaryAlignments && ((*flag) & SAM_SECONDARY)) ||
+ (context.ignoreSupplementaryAlignments && ((*flag) & SAM_SUPPLEMENTARY)));
+
+ return true;
+}
+
+ ReadSupplierGenerator *
+SAMReader::createReadSupplierGenerator(
+ const char *fileName,
+ int numThreads,
+ const ReaderContext& context)
+{
+ //
+ // single-ended SAM files always can be read with the range splitter, unless reading from stdin, which needs a queue
+ //
+ if (!strcmp(fileName, "-")) {
+ //
+ // Stdin must run from a queue, not range splitter.
+ //
+ ReadReader* reader;
+ //
+ // Because we can only have one stdin reader, we need to use a queue if we're reading from stdin
+ //
+ reader = SAMReader::create(DataSupplier::Stdio, "-", ReadSupplierQueue::BufferCount(numThreads), context, 0, 0);
+
+ if (reader == NULL) {
+ return NULL;
+ }
+ ReadSupplierQueue *queue = new ReadSupplierQueue(reader);
+ queue->startReaders();
+ return queue;
+ } else {
+ RangeSplitter *splitter = new RangeSplitter(QueryFileSize(fileName), numThreads, 100);
+ return new RangeSplittingReadSupplierGenerator(fileName, true, numThreads, context);
+ }
+}
+
+ PairedReadReader*
+SAMReader::createPairedReader(
+ const DataSupplier* supplier,
+ const char *fileName,
+ int bufferCount,
+ _int64 startingOffset,
+ _int64 amountOfFileToProcess,
+ bool quicklyDropUnpairedReads,
+ const ReaderContext& context)
+{
+ DataSupplier *data;
+ if (!strcmp("-", fileName)) {
+ data = DataSupplier::Stdio;
+ } else {
+ data = DataSupplier::Default;
+ }
+
+ SAMReader* reader = SAMReader::create(data, fileName, bufferCount + PairedReadReader::MatchBuffers, context, 0, 0);
+ if (reader == NULL) {
+ return NULL;
+ }
+ return PairedReadReader::PairMatcher(reader, quicklyDropUnpairedReads);
+}
+
+
+ PairedReadSupplierGenerator *
+SAMReader::createPairedReadSupplierGenerator(
+ const char *fileName,
+ int numThreads,
+ bool quicklyDropUnpairedReads,
+ const ReaderContext& context)
+{
+ //
+ // need to use a queue so that pairs can be matched
+ //
+
+ PairedReadReader* paired = SAMReader::createPairedReader(DataSupplier::Default, fileName,
+ ReadSupplierQueue::BufferCount(numThreads), 0, 0, quicklyDropUnpairedReads, context);
+ if (paired == NULL) {
+ WriteErrorMessage( "Cannot create reader on %s\n", fileName);
+ soft_exit(1);
+ }
+ ReadSupplierQueue* queue = new ReadSupplierQueue(paired);
+ queue->startReaders();
+ return queue;
+}
+
+
+const FileFormat* FileFormat::SAM[] = { new SAMFormat(false), new SAMFormat(true) };
+
+ void
+SAMFormat::getSortInfo(
+ const Genome* genome,
+ char* buffer,
+ _int64 bytes,
+ GenomeLocation* o_location,
+ GenomeDistance* o_readBytes,
+ int* o_refID,
+ int* o_pos) const
+{
+ char* fields[SAMReader::nSAMFields];
+ size_t lengths[SAMReader::nSAMFields];
+ size_t lineLength;
+ SAMReader::parseLine(buffer, buffer + bytes, fields, &lineLength, lengths);
+ _ASSERT(lineLength < UINT32_MAX);
+ if (o_readBytes != NULL) {
+ *o_readBytes = (unsigned) lineLength;
+ }
+ if (lengths[SAMReader::POS] == 0 || fields[SAMReader::POS][0] == '*') {
+ if (lengths[SAMReader::PNEXT] == 0 || fields[SAMReader::PNEXT][0] == '*') {
+ if (o_location != NULL) {
+ *o_location = UINT32_MAX;
+ }
+ if (o_refID != NULL) {
+ *o_refID = -1;
+ }
+ if (o_pos != NULL) {
+ *o_pos = 0;
+ }
+ } else {
+ const size_t contigNameBufferSize = 512;
+ char contigName[contigNameBufferSize];
+ GenomeLocation locationOfContig;
+ SAMReader::parseContigName(genome, contigName, contigNameBufferSize, &locationOfContig, o_refID, fields, lengths, SAMReader::RNEXT);
+ if (o_location != NULL) {
+ *o_location = SAMReader::parseLocation(locationOfContig, fields, lengths, SAMReader::RNEXT, SAMReader::PNEXT);
+ }
+ }
+ } else {
+ const size_t contigNameBufferSize = 512;
+ char contigName[contigNameBufferSize];
+ GenomeLocation locationOfContig;
+ SAMReader::parseContigName(genome, contigName, contigNameBufferSize, &locationOfContig, o_refID, fields, lengths);
+ if (o_location != NULL) {
+ *o_location = SAMReader::parseLocation(locationOfContig, fields, lengths);
+ }
+ }
+}
+
+// which @RG line fields to put in aux data of every read
+const char* FileFormat::RGLineToAux = "IDLBPLPUSM";
+
+ void
+FileFormat::setupReaderContext(
+ AlignerOptions* options,
+ ReaderContext* readerContext,
+ bool bam)
+{
+ if (options->rgLineContents == NULL || *options->rgLineContents == '\0') {
+ readerContext->defaultReadGroupAux = "";
+ readerContext->defaultReadGroupAuxLen = 0;
+ return;
+ }
+ char* buffer = new char[strlen(options->rgLineContents) * 3]; // can't expend > 2x
+ const char* from = options->rgLineContents;
+ char* to = buffer;
+ // skip @RG
+ _ASSERT(strncmp(from, "@RG", 3) == 0);
+ while (*from && *from != '\t') {
+ from++;
+ }
+ while (*from) {
+ if (!(from[0] == '\t' && from[1] && from[1] != '\t' && from[2] && from[2] != '\t' && from[3] == ':')) {
+ WriteErrorMessage("Invalid @RG line: %s\n", options->rgLineContents);
+ soft_exit(1);
+ }
+ bool keep = false;
+ bool isID = false;
+ for (const char* a = RGLineToAux; *a; a += 2) {
+ if (from[1] == a[0] && from[2] == a[1]) {
+ keep = true;
+ isID = from[1] == 'I' && from[2] == 'D';
+ break;
+ }
+ }
+ if (keep) {
+ if (bam) {
+ BAMAlignAux* aux = (BAMAlignAux*)to;
+ aux->tag[0] = isID ? 'R' : from[1];
+ aux->tag[1] = isID ? 'G' : from[2];
+ aux->val_type = 'Z';
+ from += 4; // skip \tXX:
+ to = (char*)aux->value();
+ while (*from && *from != '\t') {
+ *to++ = *from++;
+ }
+ *to++ = 0;
+ } else {
+ // turn \tXX: into \tXX:Z:, change ID to RG
+ *to++ = *from++;
+ if (isID) {
+ *to++ = 'R';
+ *to++ = 'G';
+ from += 2;
+ } else {
+ *to++ = *from++;
+ *to++ = *from++;
+ }
+ *to++ = *from++;
+ *to++ = 'Z';
+ *to++ = ':';
+ // copy string attribute
+ while (*from && *from != '\t') {
+ *to++ = *from++;
+ }
+ }
+ } else {
+ from += 4;
+ while (*from && *from != '\t') {
+ from++;
+ }
+ }
+ }
+ readerContext->defaultReadGroupAux = buffer;
+ readerContext->defaultReadGroupAuxLen = (int) (to - buffer);
+}
+
+ ReadWriterSupplier*
+SAMFormat::getWriterSupplier(
+ AlignerOptions* options,
+ const Genome* genome) const
+{
+ DataWriterSupplier* dataSupplier;
+ if (options->sortOutput) {
+ size_t len = strlen(options->outputFile.fileName);
+ // todo: this is going to leak, but there's no easy way to free it, and it's small...
+ char* tempFileName = (char*) malloc(5 + len);
+ strcpy(tempFileName, options->outputFile.fileName);
+ strcpy(tempFileName + len, ".tmp");
+ dataSupplier = DataWriterSupplier::sorted(this, genome, tempFileName, options->sortMemory * (1ULL << 30),
+ options->numThreads, options->outputFile.fileName, NULL, options->writeBufferSize);
+ } else {
+ dataSupplier = DataWriterSupplier::create(options->outputFile.fileName, options->writeBufferSize);
+ }
+ return ReadWriterSupplier::create(this, dataSupplier, genome);
+}
+
+ bool
+SAMFormat::writeHeader(
+ const ReaderContext& context,
+ char *header,
+ size_t headerBufferSize,
+ size_t *headerActualSize,
+ bool sorted,
+ int argc,
+ const char **argv,
+ const char *version,
+ const char *rgLine,
+ bool omitSQLines) // Hacky option for Charles
+ const
+{
+ char *commandLine;
+ size_t commandLineSize = 0;
+ for (int i = 0; i < argc; i++) {
+ commandLineSize += strlen(argv[i]) + 1; // +1 is either a space or the terminating null
+ }
+ commandLine = new char[commandLineSize];
+ commandLine[0] = '\0';
+ for (int i = 0; i < argc; i++) {
+ strcat(commandLine,argv[i]);
+ if (i != argc-1) {
+ strcat(commandLine," ");
+ }
+ }
+
+ size_t bytesConsumed = snprintf(header, headerBufferSize, "@HD\tVN:1.4\tSO:%s\n%s%s at PG\tID:SNAP\tPN:SNAP\tCL:%s\tVN:%s\n",
+ sorted ? "coordinate" : "unsorted",
+ context.header == NULL ? (rgLine == NULL ? "@RG\tID:FASTQ\tSM:sample" : rgLine) : "",
+ context.header == NULL ? "\n" : "",
+ commandLine,version);
+
+ delete [] commandLine;
+ commandLine = NULL;
+ if (bytesConsumed >= headerBufferSize) {
+ //WriteErrorMessage("SAMWriter: header buffer too small\n");
+ return false;
+ }
+
+ if (context.header != NULL) {
+ bool hasRG = false;
+ for (const char* p = context.header; p < context.header + context.headerLength; ) {
+ const char* newline = strnchr(p, '\n', (context.header + context.headerLength) - p);
+ if (newline == NULL) {
+ newline = context.header + context.headerLength;
+ }
+ _ASSERT(newline - p >= 3);
+ // skip @HD lines, and also @SQ lines if header does not match index
+ hasRG |= strncmp(p, "@RG", 3) == 0;
+ if (strncmp(p, "@HD", 3) != 0 &&
+ (context.headerMatchesIndex || strncmp(p, "@SQ", 3) != 0) &&
+ strncmp(p, "@PG\tID:SNAP\t", 12) != 0) {
+ if (bytesConsumed + (newline - p) + 1 >= headerBufferSize) {
+ //WriteErrorMessage("SAMWriter: header buffer too small\n");
+ return false;
+ }
+ memcpy(header + bytesConsumed, p, (newline - p));
+ * (header + bytesConsumed + (newline - p)) = '\n';
+ bytesConsumed += (newline - p) + 1;
+ }
+ p = newline + 1;
+ }
+ if (! hasRG) {
+ int n = snprintf(header + bytesConsumed, headerBufferSize - bytesConsumed, "%s\n",
+ rgLine == NULL ? "@RG\tID:FASTQ\tSM:sample" : rgLine);
+ if (n > headerBufferSize - bytesConsumed) {
+ //WriteErrorMessage( "SAMWriter: header buffer too small\n");
+ return false;
+ }
+ bytesConsumed += n;
+ }
+ }
+#ifndef SKIP_SQ_LINES
+ if ((context.header == NULL || ! context.headerMatchesIndex) && context.genome != NULL && !omitSQLines) {
+ // Write an @SQ line for each chromosome / contig in the genome
+ const Genome::Contig *contigs = context.genome->getContigs();
+ int numContigs = context.genome->getNumContigs();
+ GenomeDistance genomeLen = context.genome->getCountOfBases();
+ size_t originalBytesConsumed = bytesConsumed;
+ for (int i = 0; i < numContigs; i++) {
+ GenomeLocation start = contigs[i].beginningLocation;
+ GenomeLocation end = ((i + 1 < numContigs) ? contigs[i+1].beginningLocation : genomeLen) - context.genome->getChromosomePadding();
+ bytesConsumed += snprintf(header + bytesConsumed, headerBufferSize - bytesConsumed, "@SQ\tSN:%s\tLN:%u\n", contigs[i].name, end - start);
+
+ if (bytesConsumed >= headerBufferSize) {
+ // todo: increase buffer size (or change to write in batch
+ bytesConsumed = originalBytesConsumed;
+ //WriteErrorMessage("SAMWriter: header buffer too small, skipping @SQ lines\n");
+ return false;
+ }
+ }
+ }
+#endif // SKIP_SQ_LINES
+
+ *headerActualSize = bytesConsumed;
+ return true;
+}
+
+ bool
+SAMFormat::createSAMLine(
+ const Genome * genome,
+ LandauVishkinWithCigar * lv,
+ // output data
+ char* data,
+ char* quality,
+ GenomeDistance dataSize,
+ const char*& contigName,
+ int& contigIndex,
+ int& flags,
+ GenomeDistance& positionInContig,
+ int& mapQuality,
+ const char*& matecontigName,
+ int& mateContigIndex,
+ GenomeDistance& matePositionInContig,
+ _int64& templateLength,
+ unsigned& fullLength,
+ const char*& clippedData,
+ unsigned& clippedLength,
+ unsigned& basesClippedBefore,
+ unsigned& basesClippedAfter,
+ // input data
+ size_t& qnameLen,
+ Read * read,
+ AlignmentResult result,
+ GenomeLocation genomeLocation,
+ Direction direction,
+ bool secondaryAlignment,
+ bool useM,
+ bool hasMate,
+ bool firstInPair,
+ bool alignedAsPair,
+ Read * mate,
+ AlignmentResult mateResult,
+ GenomeLocation mateLocation,
+ Direction mateDirection,
+ GenomeDistance *extraBasesClippedBefore)
+{
+ contigName = "*";
+ positionInContig = 0;
+ const char *cigar = "*";
+ templateLength = 0;
+
+ if (secondaryAlignment) {
+ flags |= SAM_SECONDARY;
+ }
+
+ if (0 == qnameLen) {
+ qnameLen = read->getIdLength();
+ }
+
+ //
+ // If the aligner said it didn't find anything, treat it as such. Sometimes it will emit the
+ // best match that it found, even if it's not within the maximum edit distance limit (but will
+ // then say NotFound). Here, we force that to be SAM_UNMAPPED.
+ //
+ if (NotFound == result) {
+ genomeLocation = InvalidGenomeLocation;
+ }
+
+ if (InvalidGenomeLocation == genomeLocation) {
+ //
+ // If it's unmapped, then always emit it in the forward direction. This is necessary because we don't even include
+ // the SAM_REVERSE_COMPLEMENT flag for unmapped reads, so there's no way to tell that we reversed it.
+ //
+ direction = FORWARD;
+ }
+
+ // Write the data and quality strings. If the read is reverse complemented, these need to
+ // be backwards from the original read. Also, both need to be unclipped.
+ clippedLength = read->getDataLength();
+ fullLength = read->getUnclippedLength();
+ if (fullLength > dataSize) {
+ return false;
+ }
+
+ if (direction == RC) {
+ for (unsigned i = 0; i < fullLength; i++) {
+ data[fullLength - 1 - i] = COMPLEMENT[read->getUnclippedData()[i]];
+ quality[fullLength - 1 - i] = read->getUnclippedQuality()[i];
+ }
+ clippedData = &data[fullLength - clippedLength - read->getFrontClippedLength()];
+ basesClippedBefore = fullLength - clippedLength - read->getFrontClippedLength();
+ basesClippedAfter = read->getFrontClippedLength();
+ } else {
+ memcpy(data, read->getUnclippedData(), read->getUnclippedLength());
+ memcpy(quality, read->getUnclippedQuality(), read->getUnclippedLength());
+ clippedData = read->getData();
+ basesClippedBefore = read->getFrontClippedLength();
+ basesClippedAfter = fullLength - clippedLength - basesClippedBefore;
+ }
+
+ int editDistance = -1;
+ if (genomeLocation != InvalidGenomeLocation) {
+ if (direction == RC) {
+ flags |= SAM_REVERSE_COMPLEMENT;
+ }
+ const Genome::Contig *contig = genome->getContigForRead(genomeLocation, read->getDataLength(), extraBasesClippedBefore);
+ _ASSERT(NULL != contig && contig->length > genome->getChromosomePadding());
+ genomeLocation += *extraBasesClippedBefore;
+
+ contigName = contig->name;
+ contigIndex = (int)(contig - genome->getContigs());
+ positionInContig = genomeLocation - contig->beginningLocation + 1; // SAM is 1-based
+ mapQuality = max(0, min(70, mapQuality)); // FIXME: manifest constant.
+ } else {
+ flags |= SAM_UNMAPPED;
+ mapQuality = 0;
+ *extraBasesClippedBefore = 0;
+ }
+
+ if (hasMate) {
+ flags |= SAM_MULTI_SEGMENT;
+ flags |= (firstInPair ? SAM_FIRST_SEGMENT : SAM_LAST_SEGMENT);
+ if (mateLocation != InvalidGenomeLocation) {
+ GenomeDistance mateExtraBasesClippedBefore;
+ const Genome::Contig *mateContig = genome->getContigForRead(mateLocation, mate->getDataLength(), &mateExtraBasesClippedBefore);
+ mateLocation += mateExtraBasesClippedBefore;
+ matecontigName = mateContig->name;
+ mateContigIndex = (int)(mateContig - genome->getContigs());
+ matePositionInContig = mateLocation - mateContig->beginningLocation + 1;
+
+ if (mateDirection == RC) {
+ flags |= SAM_NEXT_REVERSED;
+ }
+
+ if (genomeLocation == InvalidGenomeLocation) {
+ //
+ // The SAM spec says that for paired reads where exactly one end is unmapped that the unmapped
+ // half should just have RNAME and POS copied from the mate.
+ //
+ contigName = matecontigName;
+ contigIndex = mateContigIndex;
+ matecontigName = "=";
+ positionInContig = matePositionInContig;
+ }
+
+ } else {
+ flags |= SAM_NEXT_UNMAPPED;
+ //
+ // The mate's unmapped, so point it at us.
+ //
+ matecontigName = "=";
+ mateContigIndex = contigIndex;
+ matePositionInContig = positionInContig;
+ }
+
+ if (genomeLocation != InvalidGenomeLocation && mateLocation != InvalidGenomeLocation) {
+ if (alignedAsPair) {
+ flags |= SAM_ALL_ALIGNED;
+ }
+ // Also compute the length of the whole paired-end string whose ends we saw. This is slightly
+ // tricky because (a) we may have clipped some bases before/after each end and (b) we need to
+ // give a signed result based on whether our read is first or second in the pair.
+ GenomeLocation myStart = genomeLocation - basesClippedBefore;
+ GenomeLocation myEnd = genomeLocation + clippedLength + basesClippedAfter;
+ _int64 mateBasesClippedBefore = mate->getFrontClippedLength();
+ _int64 mateBasesClippedAfter = mate->getUnclippedLength() - mate->getDataLength() - mateBasesClippedBefore;
+ GenomeLocation mateStart = mateLocation - (mateDirection == RC ? mateBasesClippedAfter : mateBasesClippedBefore);
+ GenomeLocation mateEnd = mateLocation + mate->getDataLength() + (mateDirection == FORWARD ? mateBasesClippedAfter : mateBasesClippedBefore);
+ if (contigName == matecontigName) { // pointer (not value) comparison, but that's OK.
+ if (myStart < mateStart) {
+ templateLength = mateEnd - myStart;
+ } else {
+ templateLength = -(myEnd - mateStart);
+ }
+ } // otherwise leave TLEN as zero.
+ }
+
+ if (contigName == matecontigName) {
+ matecontigName = "="; // SAM Spec says to do this when they're equal (and not *, which won't happen because this is a pointer, not string, compare)
+ }
+ }
+ return true;
+}
+
+ bool
+SAMFormat::writeRead(
+ const ReaderContext& context,
+ LandauVishkinWithCigar * lv,
+ char * buffer,
+ size_t bufferSpace,
+ size_t * spaceUsed,
+ size_t qnameLen,
+ Read * read,
+ AlignmentResult result,
+ int mapQuality,
+ GenomeLocation genomeLocation,
+ Direction direction,
+ bool secondaryAlignment,
+ int * o_addFrontClipping,
+ bool hasMate,
+ bool firstInPair,
+ Read * mate,
+ AlignmentResult mateResult,
+ GenomeLocation mateLocation,
+ Direction mateDirection,
+ bool alignedAsPair
+ ) const
+{
+ const int MAX_READ = MAX_READ_LENGTH;
+ const int cigarBufSize = MAX_READ * 2;
+ char cigarBuf[cigarBufSize];
+
+ const int cigarBufWithClippingSize = MAX_READ * 2 + 32;
+ char cigarBufWithClipping[cigarBufWithClippingSize];
+
+ int flags = 0;
+ const char *contigName = "*";
+ int contigIndex = -1;
+ GenomeDistance positionInContig = 0;
+ const char *cigar = "*";
+ const char *matecontigName = "*";
+ int mateContigIndex = -1;
+ GenomeDistance matePositionInContig = 0;
+ _int64 templateLength = 0;
+
+ char data[MAX_READ];
+ char quality[MAX_READ];
+
+ const char* clippedData;
+ unsigned fullLength;
+ unsigned clippedLength;
+ unsigned basesClippedBefore;
+ GenomeDistance extraBasesClippedBefore; // Clipping added if we align before the beginning of a chromosome
+ unsigned basesClippedAfter;
+ int editDistance = -1;
+
+ *o_addFrontClipping = 0;
+
+ if (!createSAMLine(context.genome, lv, data, quality, MAX_READ, contigName, contigIndex,
+ flags, positionInContig, mapQuality, matecontigName, mateContigIndex, matePositionInContig, templateLength,
+ fullLength, clippedData, clippedLength, basesClippedBefore, basesClippedAfter,
+ qnameLen, read, result, genomeLocation, direction, secondaryAlignment, useM,
+ hasMate, firstInPair, alignedAsPair, mate, mateResult, mateLocation, mateDirection,
+ &extraBasesClippedBefore))
+ {
+ return false;
+ }
+
+ if (genomeLocation != InvalidGenomeLocation) {
+ cigar = computeCigarString(context.genome, lv, cigarBuf, cigarBufSize, cigarBufWithClipping, cigarBufWithClippingSize,
+ clippedData, clippedLength, basesClippedBefore, extraBasesClippedBefore, basesClippedAfter,
+ read->getOriginalFrontHardClipping(), read->getOriginalBackHardClipping(), genomeLocation, direction, useM,
+ &editDistance, o_addFrontClipping);
+ if (*o_addFrontClipping != 0) {
+ return false;
+ }
+ }
+
+
+ // Write the SAM entry, which requires the following fields:
+ //
+ // 1. QNAME: Query name of the read or the read pair
+ // 2. FLAG: Bitwise flag (pairing, strand, mate strand, etc.)
+ // 3. RNAME: Reference sequence name
+ // 4. POS: 1-Based leftmost position of clipped alignment
+ // 5. MAPQ: Mapping quality (Phred-scaled)
+ // 6. CIGAR: Extended CIGAR string (operations: MIDNSHP)
+ // 7. MRNM: Mate reference name (‘=’ if same as RNAME)
+ // 8. MPOS: 1-based leftmost mate position
+ // 9. ISIZE: Inferred insert size
+ // 10. SEQQuery: Sequence on the same strand as the reference
+ // 11. QUAL: Query quality (ASCII-33=Phred base quality)
+
+ //
+ // Some FASTQ files have spaces in their ID strings, which is illegal in SAM. Just truncate them at the space.
+ //
+ const char *firstSpace = strnchr(read->getId(),' ',qnameLen);
+ if (NULL != firstSpace) {
+ qnameLen = (unsigned)(firstSpace - read->getId());
+ }
+
+ const int nmStringSize = 30;// Big enough that it won't buffer overflow regardless of the value of editDistance
+ char nmString[nmStringSize];
+ snprintf(nmString, nmStringSize, "\tNM:i:%d",editDistance);
+
+ unsigned auxLen;
+ bool auxSAM;
+ char* aux = read->getAuxiliaryData(&auxLen, &auxSAM);
+ static bool warningPrinted = false;
+ const char* readGroupSeparator = "";
+ const char* readGroupString = "";
+ if (aux != NULL && (! auxSAM)) {
+ if (! warningPrinted) {
+ WriteErrorMessage( "warning: translating optional fields from BAM->SAM not yet implemented, optional fields will not be included in output\n");
+ warningPrinted = true;
+ }
+ if (read->getReadGroup() == READ_GROUP_FROM_AUX) {
+ for (BAMAlignAux* bamAux = (BAMAlignAux*) aux; (char*) bamAux < aux + auxLen; bamAux = bamAux->next()) {
+ if (bamAux->tag[0] == 'R' && bamAux->tag[1] == 'G' && bamAux->val_type == 'Z') {
+ readGroupSeparator = "\tRG:Z:";
+ readGroupString = (char*) bamAux->value();
+ break;
+ }
+ }
+ }
+ aux = NULL;
+ auxLen = 0;
+ }
+ const char* rglineAux = "";
+ int rglineAuxLen = 0;
+ if (read->getReadGroup() != NULL && read->getReadGroup() != READ_GROUP_FROM_AUX) {
+ if (*readGroupString == 0 || strcmp(readGroupString, context.defaultReadGroup) == 0) {
+ readGroupSeparator = "";
+ readGroupString = "";
+ rglineAux = context.defaultReadGroupAux;
+ rglineAuxLen = context.defaultReadGroupAuxLen;
+ } else {
+ readGroupSeparator = "\tRG:Z:";
+ readGroupString = read->getReadGroup();
+ }
+ }
+ int charsInString = snprintf(buffer, bufferSpace, "%.*s\t%d\t%s\t%u\t%d\t%s\t%s\t%u\t%lld\t%.*s\t%.*s%s%.*s%s%s\tPG:Z:SNAP%s%.*s\n",
+ qnameLen, read->getId(),
+ flags,
+ contigName,
+ positionInContig,
+ mapQuality,
+ cigar,
+ matecontigName,
+ matePositionInContig,
+ templateLength,
+ fullLength, data,
+ fullLength, quality,
+ aux != NULL ? "\t" : "", auxLen, aux != NULL ? aux : "",
+ readGroupSeparator, readGroupString,
+ nmString, rglineAuxLen, rglineAux);
+
+ if (charsInString > bufferSpace) {
+ //
+ // Out of buffer space.
+ //
+ return false;
+ } else if (charsInString == bufferSpace) {
+ buffer[bufferSpace-1] = '\n'; // overwrite trailing null with newline
+ }
+
+
+ if (NULL != spaceUsed) {
+ *spaceUsed = charsInString;
+ }
+ return true;
+}
+
+//
+// Common cigar string computation between SAM and BAM formats.
+//
+ void
+SAMFormat::computeCigar(
+ CigarFormat cigarFormat,
+ const Genome * genome,
+ LandauVishkinWithCigar * lv,
+ char * cigarBuf,
+ int cigarBufLen,
+ const char * data,
+ GenomeDistance dataLength,
+ unsigned basesClippedBefore,
+ GenomeDistance extraBasesClippedBefore,
+ unsigned basesClippedAfter,
+ GenomeDistance *o_extraBasesClippedAfter,
+ GenomeLocation genomeLocation,
+ bool useM,
+ int * o_editDistance,
+ int *o_cigarBufUsed,
+ int * o_addFrontClipping)
+{
+ if (dataLength > INT32_MAX - MAX_K) {
+ dataLength = INT32_MAX - MAX_K;
+ }
+
+ int netIndel;
+ *o_extraBasesClippedAfter = 0;
+
+
+ //
+ // Apply the extra clipping.
+ //
+ genomeLocation += extraBasesClippedBefore;
+ data += extraBasesClippedBefore;
+ dataLength -= extraBasesClippedBefore;
+
+ const Genome::Contig *contig = genome->getContigAtLocation(genomeLocation);
+
+ if (genomeLocation + dataLength > contig->beginningLocation + contig->length - genome->getChromosomePadding()) {
+ //
+ // The read hangs off the end of the contig. Soft clip it at the end. This is a tentative amount that assumes no net indels in the
+ // mapping, we'll refine it later if needed.
+ //
+ *o_extraBasesClippedAfter = genomeLocation + dataLength - (contig->beginningLocation + contig->length - genome->getChromosomePadding());
+ } else {
+ *o_extraBasesClippedAfter = 0;
+ }
+
+ const char *reference = genome->getSubstring(genomeLocation, dataLength);
+ if (NULL == reference) {
+ //
+ // Fell off the end of the contig.
+ //
+ *o_editDistance = 0;
+ *o_addFrontClipping = 0;
+ *o_cigarBufUsed = 0;
+ *cigarBuf = '*';
+ return;
+ }
+
+ *o_editDistance = lv->computeEditDistanceNormalized(
+ reference,
+ (int)(dataLength - *o_extraBasesClippedAfter + MAX_K), // Add space incase of indels. We know there's enough, because the reference is padded.
+ data,
+ (int)(dataLength - *o_extraBasesClippedAfter),
+ MAX_K - 1,
+ cigarBuf,
+ cigarBufLen,
+ useM,
+ cigarFormat,
+ o_cigarBufUsed,
+ o_addFrontClipping,
+ &netIndel);
+
+ if (*o_addFrontClipping != 0) {
+ //
+ // On this path, there really isn't a returned cigar string, it's sort of like an exception. We're going up a level and
+ // trying a different alignment.
+ //
+ return;
+ }
+
+ //
+ // Normally, we'd be done. However, if the amount that we would clip at the end of the read because of hanging off of the end
+ // of the contig changed, then we need to recompute. In some cases this is an iterative processess as we add or remove bits
+ // of read.
+ //
+ GenomeDistance newExtraBasesClippedAfter = __max(0, genomeLocation + dataLength + netIndel - (contig->beginningLocation + contig->length - genome->getChromosomePadding()));
+ for (GenomeDistance pass = 0; pass < dataLength; pass++) {
+ if (newExtraBasesClippedAfter == *o_extraBasesClippedAfter) {
+ *o_extraBasesClippedAfter = newExtraBasesClippedAfter;
+ return;
+ }
+
+ *o_extraBasesClippedAfter = newExtraBasesClippedAfter;
+
+ *o_editDistance = lv->computeEditDistanceNormalized(
+ reference,
+ (int)(dataLength - *o_extraBasesClippedAfter + MAX_K), // Add space incase of indels. We know there's enough, because the reference is padded.
+ data,
+ (int)(dataLength - *o_extraBasesClippedAfter),
+ MAX_K - 1,
+ cigarBuf,
+ cigarBufLen,
+ useM,
+ cigarFormat,
+ o_cigarBufUsed,
+ o_addFrontClipping,
+ &netIndel);
+
+ newExtraBasesClippedAfter = __max(0, genomeLocation + dataLength + netIndel - (contig->beginningLocation + contig->length - genome->getChromosomePadding()));
+ }
+
+ _ASSERT(!"cigar computation didn't converge");
+ *o_extraBasesClippedAfter = newExtraBasesClippedAfter;
+}
+
+// Compute the CIGAR edit sequence string for a read against a given genome location.
+// Returns this string if possible or "*" if we fail to compute it (which would likely
+// be a bug due to lack of buffer space). The pointer returned may be to cigarBuf so it
+// will only be valid until computeCigarString is called again.
+ const char *
+SAMFormat::computeCigarString(
+ const Genome * genome,
+ LandauVishkinWithCigar * lv,
+ char * cigarBuf,
+ int cigarBufLen,
+ char * cigarBufWithClipping,
+ int cigarBufWithClippingLen,
+ const char * data,
+ GenomeDistance dataLength,
+ unsigned basesClippedBefore,
+ GenomeDistance extraBasesClippedBefore,
+ unsigned basesClippedAfter,
+ unsigned frontHardClipping,
+ unsigned backHardClipping,
+ GenomeLocation genomeLocation,
+ Direction direction,
+ bool useM,
+ int * o_editDistance,
+ int * o_addFrontClipping
+)
+{
+ GenomeDistance extraBasesClippedAfter;
+ int cigarBufUsed;
+
+ computeCigar(COMPACT_CIGAR_STRING, genome, lv, cigarBuf, cigarBufLen, data, dataLength, basesClippedBefore,
+ extraBasesClippedBefore, basesClippedAfter, &extraBasesClippedAfter, genomeLocation, useM,
+ o_editDistance, &cigarBufUsed, o_addFrontClipping);
+
+ if (*o_addFrontClipping != 0) {
+ return NULL;
+ }
+
+ if (*o_editDistance == -2) {
+ WriteErrorMessage( "WARNING: computeEditDistance returned -2; cigarBuf may be too small\n");
+ return "*";
+ } else if (*o_editDistance == -1) {
+ static bool warningPrinted = false;
+ if (!warningPrinted) {
+ WriteErrorMessage( "WARNING: computeEditDistance returned -1; this shouldn't happen\n");
+ warningPrinted = true;
+ }
+ return "*";
+ } else {
+ // Add some CIGAR instructions for soft-clipping if we've ignored some bases in the read.
+ char clipBefore[16] = {'\0'};
+ char clipAfter[16] = {'\0'};
+ char hardClipBefore[16] = {'\0'};
+ char hardClipAfter[16] = {'\0'};
+ if (frontHardClipping > 0) {
+ snprintf(hardClipBefore, sizeof(hardClipBefore), "%uH", frontHardClipping);
+ }
+ if (basesClippedBefore + extraBasesClippedBefore > 0) {
+ snprintf(clipBefore, sizeof(clipBefore), "%lluS", basesClippedBefore + extraBasesClippedBefore);
+ }
+ if (basesClippedAfter + extraBasesClippedAfter > 0) {
+ snprintf(clipAfter, sizeof(clipAfter), "%lluS", basesClippedAfter + extraBasesClippedAfter);
+ }
+ if (backHardClipping > 0) {
+ snprintf(hardClipAfter, sizeof(hardClipAfter), "%uH", backHardClipping);
+ }
+ snprintf(cigarBufWithClipping, cigarBufWithClippingLen, "%s%s%s%s%s", hardClipBefore, clipBefore, cigarBuf, clipAfter, hardClipAfter);
+
+ validateCigarString(genome, cigarBufWithClipping, cigarBufWithClippingLen,
+ data - basesClippedBefore, dataLength + (basesClippedBefore + basesClippedAfter), genomeLocation + extraBasesClippedBefore, direction, useM);
+
+ return cigarBufWithClipping;
+ }
+}
+
+#ifdef _DEBUG
+ void
+SAMFormat::validateCigarString(
+ const Genome *genome, const char * cigarBuf, int cigarBufLen, const char *data, GenomeDistance dataLength, GenomeLocation genomeLocation, Direction direction, bool useM)
+{
+ const char *nextChunkOfCigar = cigarBuf;
+ GenomeDistance offsetInData = 0;
+ const char *reference = genome->getSubstring(genomeLocation, dataLength);
+ if (NULL == reference) {
+ WriteErrorMessage("validateCigarString: couldn't look up genome data for location %lld\n", genomeLocation);
+ soft_exit(1);
+ }
+ GenomeDistance offsetInReference = 0;
+ bool sawNonH = false; // This is to make sure that the clipping types (H & S) occur only at the beginning or end of the cigar string.
+ bool sawTailS = false; // Did we see a S
+ bool sawLeadingS = false; // Have we seen the soft clip at the front of the cigar string?
+ bool sawTrailingH = false;
+ char previousOp = '\0'; // Make sure that we don't have two consecutive ops of the same type that should be merged
+ bool sawXorM = false;
+ bool lastItemWasIndel = false;
+
+ //
+ // First check to see that it's null terminated
+ //
+ bool nullTerminated = false;
+ for (size_t offset = 0; offset < cigarBufLen; offset++) {
+ if ('\0' == cigarBuf[offset]) {
+ nullTerminated = true;
+ break;
+ }
+ }
+
+ if (!nullTerminated) {
+ WriteErrorMessage("validateCigarString: non-null-terminated or overflow cigar string: '%.*s'\n", cigarBufLen, cigarBuf);
+ soft_exit(1);
+ }
+
+ const Genome::Contig *contig = genome->getContigAtLocation(genomeLocation);
+ if (NULL == contig) {
+ WriteErrorMessage("validateCigarString: read alignment location isn't in a chromosome, genomeLocation %lld\n", GenomeLocationAsInt64(genomeLocation));
+ soft_exit(1);
+ }
+
+ if (genomeLocation >= contig->beginningLocation + contig->length - genome->getChromosomePadding()) {
+ WriteErrorMessage("validateCigarString: alignment location is in genome padding: %lld, contig name %s, base %lld, len %lld, padding size %d\n",
+ GenomeLocationAsInt64(genomeLocation), contig->name, GenomeLocationAsInt64(contig->beginningLocation), contig->length, genome->getChromosomePadding());
+ soft_exit(1);
+ }
+
+ while ('\0' != *nextChunkOfCigar) {
+ unsigned len;
+ char op;
+ int fieldsScanned = sscanf(nextChunkOfCigar, "%d%c", &len, &op);
+ if (2 != fieldsScanned) {
+ WriteErrorMessage("validateCigarString: didn't scan two fields here '%s' in overall cigar string '%s'\n", nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ if (0 == len) {
+ WriteErrorMessage("validateCigarString: got zero length field here '%s' in overall cigar string '%s'\n", nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ if (op != 'H' && sawTailS) {
+ WriteErrorMessage("validateCigarString: saw incorrect op type after what should have been the terminal soft or hard clipping here '%s', in overall cigar string '%s'\n",
+ nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ if (sawTrailingH) {
+ WriteErrorMessage("validateCigarString: saw op after what should have been the terminal hard clip here '%s' in overall cigar '%s'\n", nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ if (op == previousOp) {
+ WriteErrorMessage("validateCigarString: saw consecutive ops of the same type '%c' here '%s' in overall cigar '%s'\n", op, nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ switch (op) {
+ case 'M':
+ {
+ if (!useM) {
+ WriteErrorMessage("validateCigarString: generated an M when we were supposed to use X and = here '%s' in overall cigar string '%s'\n", nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+ offsetInData += len;
+ sawNonH = true;
+ sawXorM = true;
+ lastItemWasIndel = false;
+ break;
+ }
+
+ case 'X':
+ case '=':
+ {
+ if (useM) {
+ WriteErrorMessage("validateCigarString: generated an %c when were supposed to use M here '%s' in overall cigar string '%s'\n", op, nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ if (len + offsetInData > dataLength) {
+ WriteErrorMessage("validateCigarString: cigar string overflowed read length, here '%s', overall cigar '%s'\n", nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ for (unsigned offset = 0; offset < len; offset++) {
+ if ((data[offset + offsetInData] == reference[offset + offsetInReference]) == ('X' == op)) {
+ WriteErrorMessage("validateCigarString: saw a (non-)matching base in an %c range, offset %d, offsetInData %lld, offsetInReference %lld, data '%.*s', reference '%.*s', here '%s', overall cigar '%s'\n",
+ op, offset, offsetInData, offsetInReference, dataLength, data, dataLength, reference, nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+ }
+
+ offsetInData += len;
+ offsetInReference += len;
+ sawNonH = true;
+ sawXorM = true;
+ lastItemWasIndel = false;
+ break;
+ }
+
+ case 'I':
+ {
+ //
+ // Insertion uses up bases in the read but not in the reference.
+ //
+ if (len + offsetInData > dataLength) {
+ WriteErrorMessage("validateCigarString: insertion pushes cigar string overlength, here '%s' in overall cigar '%s'\n", nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ if (!sawXorM) {
+ WriteErrorMessage("validateCigarString: cigar string started with I (after clipping) here '%s' in overall cigar '%s'\n", nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ if (previousOp == 'D') {
+ WriteErrorMessage("validateCigarString: cigar string had D immediately followed by I here '%'s in overall cigar '%s'\n", nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ offsetInData += len;
+ sawNonH = true;
+ lastItemWasIndel = true;
+ break;
+ }
+
+ case 'D':
+ {
+ if (!sawXorM) {
+ WriteErrorMessage("validateCigarString: cigar string started with D (after clipping) here '%s' in overall cigar '%s'\n", nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ if (previousOp == 'I') {
+ WriteErrorMessage("validateCigarString: cigar string had I immediately followed by D here '%'s in overall cigar '%s'\n", nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ //
+ // D uses up bases in the reference but not the read.
+ //
+ offsetInReference += len;
+ sawNonH = true;
+ lastItemWasIndel = true;
+ break;
+ }
+
+ case 'N':
+ case 'P':
+ {
+ WriteErrorMessage("validateCigarString: saw valid op type '%c' that SNAP shouldn't generate, here '%s' in overall cigar string '%s'\n", op, nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+
+ case 'H':
+ {
+ //
+ // Hard clip bases do not occur in the read string at all. All we can validate is that this is the first or last thing in the cigar string.
+ //
+ if (nextChunkOfCigar == cigarBuf) {
+ //
+ // First thing, this is OK.
+ //
+ break;
+ }
+ sawTrailingH = true;
+ break;
+ }
+
+ case 'S':
+ {
+ if (sawNonH) {
+ sawTailS = true;
+ }
+ sawNonH = true;
+ offsetInData += len;
+ break;
+ }
+
+
+ default: {
+ WriteErrorMessage("validateCigarString: got unrecognized cigar op '%c', here '%s' in overall string '%s'\n", op, nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+ }
+
+ previousOp = op;
+ //
+ // Now scan over the current op.
+ //
+ while ('0' <= *nextChunkOfCigar && '9' >= *nextChunkOfCigar) {
+ nextChunkOfCigar++;
+ }
+ if (*nextChunkOfCigar != op) {
+ WriteErrorMessage("validateCigarString: bug in validation code; expected op '%c', got '%c' at '%s' in '%s'\n", op, *nextChunkOfCigar, nextChunkOfCigar, cigarBuf);
+ soft_exit(1);
+ }
+ nextChunkOfCigar++;
+ }
+
+ if (offsetInData != dataLength) {
+ WriteErrorMessage("validateCigarString: Didn't consume entire read data, got %lld of %lld, cigar '%s'\n", offsetInData, dataLength, cigarBuf);
+ soft_exit(1);
+ }
+
+ if (lastItemWasIndel) {
+ WriteErrorMessage("validateCigarString: cigar string ended with indel '%s'\n", cigarBuf);
+ soft_exit(1);
+ }
+
+ //
+ // Make sure none of the non-soft-clipped part of the read is mapped onto padding.
+ //
+ if (genomeLocation + offsetInReference > contig->beginningLocation + contig->length - genome->getChromosomePadding()) {
+ WriteErrorMessage("validateCigarString: alignment runs into contig padding: %lld, contig name %s, base %lld, len %lld, padding size %d, offsetInReference %lld\n",
+ GenomeLocationAsInt64(genomeLocation), contig->name, GenomeLocationAsInt64(contig->beginningLocation), contig->length, genome->getChromosomePadding(), offsetInReference);
+ soft_exit(1);
+ }
+}
+
+#endif // _DEBUG
+
+
+
diff --git a/SNAPLib/SAM.h b/SNAPLib/SAM.h
new file mode 100644
index 0000000..b09cf94
--- /dev/null
+++ b/SNAPLib/SAM.h
@@ -0,0 +1,236 @@
+/*++
+
+Module Name:
+
+ SAM.h
+
+Abstract:
+
+ Sequence Alignment Map (SAM) file writer.
+
+Environment:
+
+ User mode service.
+
+ This class is NOT thread safe. It's the caller's responsibility to ensure that
+ at most one thread uses an instance at any time.
+
+--*/
+
+#pragma once
+
+#include "Compat.h"
+#include "LandauVishkin.h"
+#include "PairedEndAligner.h"
+#include "VariableSizeVector.h"
+#include "BufferedAsync.h"
+#include "directions.h"
+#include "Read.h"
+#include "DataReader.h"
+#include "FileFormat.h"
+
+bool readIdsMatch(const char* id0, const char* id1);
+
+bool readIdsMatch(Read *read0, Read *read1);
+
+/*
+ * Flags for the SAM file format; see http://samtools.sourceforge.net/SAM1.pdf for details.
+ */
+const int SAM_MULTI_SEGMENT = 0x001; // Read had multiple segments (i.e., paired ends).
+const int SAM_ALL_ALIGNED = 0x002; // All segments of a multi-segment read were aligned.
+const int SAM_UNMAPPED = 0x004; // This segment of the read is unmapped.
+const int SAM_NEXT_UNMAPPED = 0x008; // Next segment of the read is unmapped.
+const int SAM_REVERSE_COMPLEMENT = 0x010; // This segment of the read is reverse complemented.
+const int SAM_NEXT_REVERSED = 0x020; // Next segment of the read is reverse complemented.
+const int SAM_FIRST_SEGMENT = 0x040; // This is the first segment in the read.
+const int SAM_LAST_SEGMENT = 0x080; // This is the last segment in the read.
+const int SAM_SECONDARY = 0x100; // Secondary alignment for a read with multiple hits.
+const int SAM_FAILED_QC = 0x200; // Not passing quality controls.
+const int SAM_DUPLICATE = 0x400; // PCR or optical duplicate.
+const int SAM_SUPPLEMENTARY = 0x800; // Supplementary alignment
+
+class SAMReader : public ReadReader {
+public:
+ virtual ~SAMReader() {}
+
+ SAMReader(DataReader* i_data, const ReaderContext& i_context);
+
+ virtual void reinit(_int64 startingOffset, _int64 amountOfFileToProcess);
+
+ virtual bool getNextRead(Read *readToUpdate);
+
+ virtual bool getNextRead(Read *read, AlignmentResult *alignmentResult, GenomeLocation *genomeLocation, Direction *direction, unsigned *mapQ,
+ unsigned *flag, const char **cigar)
+ {
+ return getNextRead(read, alignmentResult, genomeLocation, direction, mapQ, flag, false, cigar);
+ }
+
+ virtual void holdBatch(DataBatch batch)
+ { data->holdBatch(batch); }
+
+ virtual bool releaseBatch(DataBatch batch)
+ { return data->releaseBatch(batch); }
+
+ static SAMReader* create(DataSupplier* supplier, const char *fileName,
+ int bufferCount, const ReaderContext& i_context,
+ _int64 startingOffset, _int64 amountOfFileToProcess);
+
+ static PairedReadReader* createPairedReader(const DataSupplier* supplier,
+ const char *fileName, int bufferCount, _int64 startingOffset, _int64 amountOfFileToProcess,
+ bool quicklyDropUnpairedReads, const ReaderContext& context);
+
+ static ReadSupplierGenerator *createReadSupplierGenerator(
+ const char *fileName, int numThreads, const ReaderContext& context);
+
+ static PairedReadSupplierGenerator *createPairedReadSupplierGenerator(
+ const char *fileName, int numThreads, bool quicklyDropUnpairedReads, const ReaderContext& context);
+
+ // result and fieldLengths must be of size nSAMFields
+ static bool parseHeader(const char *fileName, char *firstLine, char *endOfBuffer, const Genome *genome, _int64 *o_headerSize, bool* o_headerMatchesIndex, bool *o_sawWholeHeader = NULL);
+
+ static char* skipToBeyondNextFieldSeparator(char *str, const char *endOfBuffer, size_t *o_charsUntilFirstSeparator = NULL);
+
+
+protected:
+
+ //
+ // 0-based Field numbers for the fields within a SAM line.
+ //
+ static const unsigned QNAME = 0;
+ static const unsigned FLAG = 1;
+ static const unsigned RNAME = 2;
+ static const unsigned POS = 3;
+ static const unsigned MAPQ = 4;
+ static const unsigned CIGAR = 5;
+ static const unsigned RNEXT = 6;
+ static const unsigned PNEXT = 7;
+ static const unsigned TLEN = 8;
+ static const unsigned SEQ = 9;
+ static const unsigned QUAL = 10;
+ static const unsigned OPT = 11;
+ static const unsigned nSAMFields = 12;
+
+ static const int maxLineLen = MAX_READ_LENGTH * 5;
+
+ static bool parseLine(char *line, char *endOfBuffer, char *result[],
+ size_t *lineLength, size_t fieldLengths[]);
+
+ static void parseContigName(const Genome* genome, char* contigName,
+ size_t contigNameBufferSize, GenomeLocation * o_locationOfContig, int* o_indexOfContig,
+ char* field[], size_t fieldLength[], unsigned rfield = RNAME);
+
+ static GenomeLocation parseLocation(GenomeLocation locationOfContig, char* field[], size_t fieldLength[], unsigned rfield = RNAME, unsigned posfield = POS);
+
+ virtual bool getNextRead(Read *read, AlignmentResult *alignmentResult,
+ GenomeLocation *genomeLocation, Direction *direction, unsigned *mapQ, unsigned *flag, bool ignoreEndOfRange, const char **cigar);
+
+ static void getReadFromLine(const Genome *genome, char *line, char *endOfBuffer, Read *read, AlignmentResult *alignmentResult,
+ GenomeLocation *genomeLocation, Direction *direction, unsigned *mapQ,
+ size_t *lineLength, unsigned *flag, const char **cigar, ReadClippingType clipping);
+
+
+private:
+ void readHeader(const char* fileName);
+
+ bool skipPartialHeader(_int64 *o_headerBytes);
+
+ void init(const char *fileName, _int64 startingOffset, _int64 amountOfFileToProcess);
+
+ DataReader* data;
+ _int64 headerSize;
+ ReadClippingType clipping;
+
+ bool didInitialSkip; // Have we skipped to the beginning of the first SAM line? We may start in the middle of one.
+
+ friend class SAMFormat;
+};
+
+class SAMFormat : public FileFormat
+{
+public:
+ SAMFormat(bool i_useM) : useM(i_useM) {}
+
+ virtual void getSortInfo(const Genome* genome, char* buffer, _int64 bytes, GenomeLocation* o_location, GenomeDistance* o_readBytes, int* o_refID, int* o_pos) const;
+
+ virtual void setupReaderContext(AlignerOptions* options, ReaderContext* readerContext) const
+ { FileFormat::setupReaderContext(options, readerContext, false); }
+
+ virtual ReadWriterSupplier* getWriterSupplier(AlignerOptions* options, const Genome* genome) const;
+
+ virtual bool writeHeader(
+ const ReaderContext& context, char *header, size_t headerBufferSize, size_t *headerActualSize,
+ bool sorted, int argc, const char **argv, const char *version, const char *rgLine, bool omitSQLines) const;
+
+ virtual bool writeRead(
+ const ReaderContext& context, LandauVishkinWithCigar * lv, char * buffer, size_t bufferSpace,
+ size_t * spaceUsed, size_t qnameLen, Read * read, AlignmentResult result,
+ int mapQuality, GenomeLocation genomeLocation, Direction direction, bool secondaryAlignment, int* o_addFrontClipping,
+ bool hasMate = false, bool firstInPair = false, Read * mate = NULL,
+ AlignmentResult mateResult = NotFound, GenomeLocation mateLocation = 0, Direction mateDirection = FORWARD,
+ bool alignedAsPair = false) const;
+
+ // calculate data needed to write SAM/BAM record
+ // very long argument list since this was extracted from
+ // original SAM record writing routine so it could be shared with BAM
+
+ static bool
+ createSAMLine(
+ const Genome * genome,
+ LandauVishkinWithCigar * lv,
+ // output data
+ char* data,
+ char* quality,
+ GenomeDistance dataSize,
+ const char*& contigName,
+ int& contigIndex,
+ int& flags,
+ GenomeDistance& positionInContig,
+ int& mapQuality,
+ const char*& mateContigName,
+ int& mateContigIndex,
+ GenomeDistance& matePositionInContig,
+ _int64& templateLength,
+ unsigned& fullLength,
+ const char*& clippedData,
+ unsigned& clippedLength,
+ unsigned& basesClippedBefore,
+ unsigned& basesClippedAfter,
+ // input data
+ size_t& qnameLen,
+ Read * read,
+ AlignmentResult result,
+ GenomeLocation genomeLocation,
+ Direction direction,
+ bool secondaryAlignment,
+ bool useM,
+ bool hasMate,
+ bool firstInPair,
+ bool alignedAsPair,
+ Read * mate,
+ AlignmentResult mateResult,
+ GenomeLocation mateLocation,
+ Direction mateDirection,
+ GenomeDistance *extraBasesClippedBefore);
+
+ static void computeCigar(CigarFormat cigarFormat, const Genome * genome, LandauVishkinWithCigar * lv,
+ char * cigarBuf, int cigarBufLen,
+ const char * data, GenomeDistance dataLength, unsigned basesClippedBefore, GenomeDistance extraBasesClippedBefore, unsigned basesClippedAfter,
+ GenomeDistance *o_extraBasesClippedAfter,
+ GenomeLocation genomeLocation, bool useM, int * o_editDistance, int *o_cigarBufUsed, int * o_addFrontClipping);
+
+private:
+ static const char * computeCigarString(const Genome * genome, LandauVishkinWithCigar * lv,
+ char * cigarBuf, int cigarBufLen, char * cigarBufWithClipping, int cigarBufWithClippingLen,
+ const char * data, GenomeDistance dataLength, unsigned basesClippedBefore, GenomeDistance extraBasesClippedBefore, unsigned basesClippedAfter,
+ unsigned frontHardClipped, unsigned backHardClipped,
+ GenomeLocation genomeLocation, Direction direction, bool useM, int * o_editDistance, int * o_addFrontClipping);
+
+#ifdef _DEBUG
+ static void validateCigarString(const Genome *genome, const char * cigarBuf, int cigarBufLen, const char *data, GenomeDistance dataLength, GenomeLocation genomeLocation, Direction direction, bool useM);
+#else // DEBUG
+ inline static void validateCigarString(const Genome *genome, const char * cigarBuf, int cigarBufLen, const char *data, GenomeDistance dataLength, GenomeLocation genomeLocation, Direction direction, bool useM) {}
+#endif // DEBUG
+
+
+ const bool useM;
+};
diff --git a/SNAPLib/SNAPLib.vcxproj b/SNAPLib/SNAPLib.vcxproj
new file mode 100644
index 0000000..7eb93b2
--- /dev/null
+++ b/SNAPLib/SNAPLib.vcxproj
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>SNAPLib</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <OutDir>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)obj\obj\snaplib\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <OutDir>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)obj\obj\snaplib\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <OutDir>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)obj\obj\snaplib\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)obj\obj\snaplib\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Full</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>..\import\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_LIB;SNAP_HDFS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <AdditionalIncludeDirectories>..\import\;..\import\pdclibhdfs\inc</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>Full</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+ <AdditionalIncludeDirectories>..\import\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>Full</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions);SNAP_HDFS</PreprocessorDefinitions>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
+ <AdditionalIncludeDirectories>..\import\;..\import\pdclibhdfs\inc</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="AlignerContext.h" />
+ <ClInclude Include="AlignerOptions.h" />
+ <ClInclude Include="AlignerStats.h" />
+ <ClInclude Include="AlignmentResult.h" />
+ <ClInclude Include="ApproximateCounter.h" />
+ <ClInclude Include="Bam.h" />
+ <ClInclude Include="BaseAligner.h" />
+ <ClInclude Include="BigAlloc.h" />
+ <ClInclude Include="BufferedAsync.h" />
+ <ClInclude Include="ChimericPairedEndAligner.h" />
+ <ClInclude Include="CommandProcessor.h" />
+ <ClInclude Include="Compat.h" />
+ <ClInclude Include="DataReader.h" />
+ <ClInclude Include="DataWriter.h" />
+ <ClInclude Include="directions.h" />
+ <ClInclude Include="Error.h" />
+ <ClInclude Include="exit.h" />
+ <ClInclude Include="FASTA.h" />
+ <ClInclude Include="FASTQ.h" />
+ <ClInclude Include="FileFormat.h" />
+ <ClInclude Include="FixedSizeMap.h" />
+ <ClInclude Include="FixedSizeSet.h" />
+ <ClInclude Include="FixedSizeVector.h" />
+ <ClInclude Include="GenericFile.h" />
+ <ClInclude Include="GenericFile_Blob.h" />
+ <ClInclude Include="GenericFile_HDFS.h" />
+ <ClInclude Include="GenericFile_map.h" />
+ <ClInclude Include="GenericFile_stdio.h" />
+ <ClInclude Include="Genome.h" />
+ <ClInclude Include="GenomeIndex.h" />
+ <ClInclude Include="GzipDataWriter.h" />
+ <ClInclude Include="HashTable.h" />
+ <ClInclude Include="Histogram.h" />
+ <ClInclude Include="IntersectingPairedEndAligner.h" />
+ <ClInclude Include="LandauVishkin.h" />
+ <ClInclude Include="mapq.h" />
+ <ClInclude Include="MultiInputReadSupplier.h" />
+ <ClInclude Include="options.h" />
+ <ClInclude Include="PairedAligner.h" />
+ <ClInclude Include="PairedEndAligner.h" />
+ <ClInclude Include="ParallelTask.h" />
+ <ClInclude Include="PriorityQueue.h" />
+ <ClInclude Include="ProbabilityDistance.h" />
+ <ClInclude Include="RangeSplitter.h" />
+ <ClInclude Include="Read.h" />
+ <ClInclude Include="ReadSupplierQueue.h" />
+ <ClInclude Include="SAM.h" />
+ <ClInclude Include="Seed.h" />
+ <ClInclude Include="SeedSequencer.h" />
+ <ClInclude Include="SingleAligner.h" />
+ <ClInclude Include="stdafx.h" />
+ <ClInclude Include="Tables.h" />
+ <ClInclude Include="targetver.h" />
+ <ClInclude Include="Util.h" />
+ <ClInclude Include="VariableSizeMap.h" />
+ <ClInclude Include="VariableSizeVector.h" />
+ <ClInclude Include="WindowsFileMapper.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="AlignerContext.cpp" />
+ <ClCompile Include="AlignerOptions.cpp" />
+ <ClCompile Include="AlignerStats.cpp" />
+ <ClCompile Include="AlignmentResult.cpp" />
+ <ClCompile Include="ApproximateCounter.cpp" />
+ <ClCompile Include="Bam.cpp" />
+ <ClCompile Include="BaseAligner.cpp" />
+ <ClCompile Include="BiasTables.cpp" />
+ <ClCompile Include="BigAlloc.cpp" />
+ <ClCompile Include="BufferedAsync.cpp" />
+ <ClCompile Include="ChimericPairedEndAligner.cpp" />
+ <ClCompile Include="CommandProcessor.cpp" />
+ <ClCompile Include="Compat.cpp" />
+ <ClCompile Include="DataReader.cpp" />
+ <ClCompile Include="DataWriter.cpp" />
+ <ClCompile Include="Error.cpp" />
+ <ClCompile Include="exit.cpp" />
+ <ClCompile Include="FASTA.cpp" />
+ <ClCompile Include="FASTQ.cpp" />
+ <ClCompile Include="GenericFile.cpp" />
+ <ClCompile Include="GenericFile_Blob.cpp" />
+ <ClCompile Include="GenericFile_HDFS.cpp" />
+ <ClCompile Include="GenericFile_map.cpp" />
+ <ClCompile Include="GenericFile_stdio.cpp" />
+ <ClCompile Include="Genome.cpp" />
+ <ClCompile Include="GenomeIndex.cpp" />
+ <ClCompile Include="GzipDataWriter.cpp" />
+ <ClCompile Include="HashTable.cpp" />
+ <ClCompile Include="Histogram.cpp" />
+ <ClCompile Include="IntersectingPairedEndAligner.cpp" />
+ <ClCompile Include="LandauVishkin.cpp" />
+ <ClCompile Include="mapq.cpp" />
+ <ClCompile Include="MultiInputReadSupplier.cpp" />
+ <ClCompile Include="PairedAligner.cpp" />
+ <ClCompile Include="PairedReadMatcher.cpp" />
+ <ClCompile Include="ParallelTask.cpp" />
+ <ClCompile Include="ProbabilityDistance.cpp" />
+ <ClCompile Include="RangeSplitter.cpp" />
+ <ClCompile Include="Read.cpp" />
+ <ClCompile Include="ReadReader.cpp" />
+ <ClCompile Include="ReadSupplierQueue.cpp" />
+ <ClCompile Include="ReadWriter.cpp" />
+ <ClCompile Include="SAM.cpp" />
+ <ClCompile Include="Seed.cpp" />
+ <ClCompile Include="SeedSequencer.cpp" />
+ <ClCompile Include="SingleAligner.cpp" />
+ <ClCompile Include="SortedDataWriter.cpp" />
+ <ClCompile Include="stdafx.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="Tables.cpp" />
+ <ClCompile Include="Util.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/SNAPLib/SNAPLib.vcxproj.filters b/SNAPLib/SNAPLib.vcxproj.filters
new file mode 100644
index 0000000..18fe612
--- /dev/null
+++ b/SNAPLib/SNAPLib.vcxproj.filters
@@ -0,0 +1,342 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="targetver.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="AlignerContext.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="AlignerOptions.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="AlignerStats.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ApproximateCounter.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Bam.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="BaseAligner.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="BigAlloc.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="BufferedAsync.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Compat.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="DataReader.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="DataWriter.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="directions.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="exit.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="FASTA.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="FASTQ.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="FileFormat.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="FixedSizeMap.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="FixedSizeSet.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="FixedSizeVector.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Genome.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="GenomeIndex.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="GzipDataWriter.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="HashTable.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Histogram.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="IntersectingPairedEndAligner.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="LandauVishkin.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="mapq.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="MultiInputReadSupplier.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="options.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PairedAligner.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PairedEndAligner.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ParallelTask.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ProbabilityDistance.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="RangeSplitter.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Read.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ReadSupplierQueue.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="SAM.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Seed.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="SeedSequencer.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="SingleAligner.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Tables.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Util.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="VariableSizeMap.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="VariableSizeVector.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="WindowsFileMapper.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="PriorityQueue.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="ChimericPairedEndAligner.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="Error.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="GenericFile.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="GenericFile_HDFS.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="GenericFile_stdio.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="GenericFile_Blob.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="AlignmentResult.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="GenericFile_map.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="CommandProcessor.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="AlignerContext.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="AlignerOptions.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="AlignerStats.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ApproximateCounter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Bam.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="BaseAligner.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="BiasTables.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="BigAlloc.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="BufferedAsync.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Compat.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="DataReader.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="DataWriter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="exit.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="FASTA.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="FASTQ.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Genome.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="GenomeIndex.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="GzipDataWriter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="HashTable.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Histogram.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="IntersectingPairedEndAligner.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="LandauVishkin.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="mapq.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="MultiInputReadSupplier.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PairedAligner.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="PairedReadMatcher.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ProbabilityDistance.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="RangeSplitter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ReadReader.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ReadSupplierQueue.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ReadWriter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="SAM.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Seed.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="SingleAligner.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="SortedDataWriter.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Tables.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Util.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Read.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ChimericPairedEndAligner.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="SeedSequencer.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ParallelTask.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Error.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="GenericFile.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="GenericFile_HDFS.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="GenericFile_stdio.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="GenericFile_Blob.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="GenericFile_map.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="CommandProcessor.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="AlignmentResult.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/SNAPLib/Seed.cpp b/SNAPLib/Seed.cpp
new file mode 100644
index 0000000..ff253b3
--- /dev/null
+++ b/SNAPLib/Seed.cpp
@@ -0,0 +1,56 @@
+/*++
+
+Module Name:
+
+ Seed.cpp
+
+Abstract:
+
+ Code to handle seeds in the SNAP sequencer.
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#include "stdafx.h"
+#include "Seed.h"
+
+ bool
+Seed::DoesTextRepresentASeed(const char *textBases, unsigned seedLen)
+{
+ for (unsigned i = 0; i < seedLen; i++) {
+ switch (textBases[i]) {
+ case 'A':
+ case 'G':
+ case 'C':
+ case 'T':
+ break;
+ default: return false;
+ }
+ }
+ return true;
+}
+
+ Seed
+Seed::fromBases(
+ _int64 bases,
+ int seedLength)
+{
+ _int64 rc = 0;
+ _int64 b = bases;
+ for (int i = 0; i < seedLength; i++) {
+ rc = (rc << 2) | ((b & 3) ^ 3);
+ b = b >> 2;
+ }
+ return Seed(bases, rc);
+}
\ No newline at end of file
diff --git a/SNAPLib/Seed.h b/SNAPLib/Seed.h
new file mode 100644
index 0000000..10eeb6a
--- /dev/null
+++ b/SNAPLib/Seed.h
@@ -0,0 +1,200 @@
+/*++
+
+Module Name:
+
+ Seed.h
+
+Abstract:
+
+ Headers for code to handle seeds in the SNAP sequencer.
+
+Authors:
+
+ Bill Bolosky, August, 2011
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#pragma once
+
+#include "Compat.h"
+#include "Tables.h"
+#include "Util.h"
+
+const unsigned LargestSeedSize = 32;
+
+
+struct Seed {
+ //
+ // We exclude seeds with "N" in them. This checks for that (or other garbage).
+ //
+ static bool DoesTextRepresentASeed(const char *textBases, unsigned seedLen);
+
+ inline Seed(const char *textBases, unsigned seedLen)
+ {
+
+ bases = 0;
+ reverseComplement = 0;
+
+ for (unsigned i = 0; i < seedLen; i++) {
+ _uint64 encodedBase = BASE_VALUE[textBases[i]];
+ _ASSERT(255 != encodedBase);
+
+ bases |= encodedBase << ((seedLen - i - 1) * 2);
+ reverseComplement |= (encodedBase ^ 0x3) << (i * 2);
+ }
+ }
+
+ inline Seed() {}
+
+ inline Seed(_int64 i_bases, _int64 i_reverseComplement)
+ : bases(i_bases), reverseComplement(i_reverseComplement)
+ {
+ }
+
+ inline _uint64 getLowBases(unsigned keySizeInBytes) const { // Returns the lowest bases as an unsigned
+ if (keySizeInBytes == 8) {
+ return bases;
+ } else {
+ return bases & (((_uint64)1 << (keySizeInBytes * 8)) - 1);
+ }
+ }
+
+ inline unsigned getHighBases(unsigned keySizeInBytes) const { // Returns any high as an unsigned. If seedLen <= 16, returns 0.
+ if (keySizeInBytes == 8) {
+ return 0;
+ } else {
+ return (unsigned)(bases >> (keySizeInBytes * 8));
+ }
+ }
+
+ inline _uint64 getBases() const {
+ return bases;
+ }
+
+ inline _uint64 getRCBases() const {
+ return reverseComplement;
+ }
+
+ inline Seed operator~() const
+ //
+ // Compute the reverse complement of this. We just copy it from when our constructor ran.
+ //
+ {
+ Seed rc;
+
+ rc.bases = reverseComplement;
+ rc.reverseComplement = bases;
+
+ return rc;
+ }
+
+ inline bool isBiggerThanItsReverseComplement() const {
+ return bases > reverseComplement;
+ }
+
+ inline bool isOwnReverseComplement() const {
+ return bases == reverseComplement;
+ }
+
+ inline bool operator>(Seed &peer) const {
+ return bases > peer.bases;
+ }
+
+ inline bool operator>=(Seed &peer) const {
+ return bases >= peer.bases;
+ }
+
+ inline bool operator<(Seed &peer) const {
+ return bases < peer.bases;
+ }
+
+ inline bool operator<=(Seed &peer) const {
+ return bases <= peer.bases;
+ }
+
+ inline bool operator==(Seed &peer) const {
+ return bases == peer.bases;
+ }
+
+ inline bool operator!=(Seed &peer) const {
+ return bases != peer.bases;
+ }
+
+ inline void setBase(int i, int seedLen, int value) {
+ int shift = (seedLen - i - 1) * 2;
+ _int64 mask = (_int64) 3 << shift;
+ bases = (bases & ~mask) | (((_int64) value << shift) & mask);
+ int shift2 = i * 2;
+ _int64 mask2 = (_int64) 3 << shift2;
+ reverseComplement = (reverseComplement & ~mask2) | (((_int64) (value ^ 3) << shift2) & mask2);
+ }
+
+ inline int getBase(int i, int seedLen) {
+ return (int) (bases >> ((seedLen - i - 1) * 2)) & 3;
+ }
+
+ inline void shiftIn(int b, int seedLen) {
+ int shift = (seedLen - 1) * 2;
+ bases = ((bases << 2) & ~((_uint64) 3 << (shift + 2))) | (b & 3);
+ reverseComplement = ((_uint64) reverseComplement >> 2) | (((_uint64) (b ^ 3) & 3) << shift);
+ }
+
+ inline void toString(char* o_bases, int seedLength) {
+ for (int i = (seedLength - 1) * 2; i >= 0; i -= 2) {
+ *o_bases++ = VALUE_BASE[(bases >> i) & 3];
+ }
+ }
+
+ static Seed fromBases(_int64 bases, int seedLength);
+
+ inline _uint64 hash64()
+ {
+ return 1+util::hash64(min(bases, reverseComplement));
+ }
+
+ inline unsigned hash()
+ {
+ return (unsigned) hash64();
+ }
+
+ static _uint64 hash64(const char* sequence, int length)
+ {
+ if (length <= MaxBases) {
+ Seed s(sequence, length);
+ return s.hash64();
+ } else {
+ // string compare seq & reverse, hash smallest one
+ for (int i = 0; i < length / 2; i++) {
+ char c = sequence[i];
+ char r = COMPLEMENT[sequence[length - 1 - i]];
+ if (c < r) {
+ return util::hash(sequence, length);
+ } else if (r < c) {
+ char* rc = (char*) alloca(length);
+ util::toComplement(rc, sequence, length);
+ return util::hash64(rc, length);
+ }
+ }
+ return util::hash(sequence, length); // rc palindrome
+ }
+ }
+
+ static const int MaxBases = 32;
+private:
+
+ _uint64 bases;
+
+ //
+ // Since we pretty much always compute the reverse complement of a seed, we just keep it
+ // here. That way we only execute the loop once: when the constructor runs.
+ //
+ _uint64 reverseComplement;
+};
diff --git a/SNAPLib/SeedSequencer.cpp b/SNAPLib/SeedSequencer.cpp
new file mode 100644
index 0000000..b27e5b2
--- /dev/null
+++ b/SNAPLib/SeedSequencer.cpp
@@ -0,0 +1,109 @@
+/*++
+
+Module Name:
+
+ SeedSequencer.cpp
+
+Abstract:
+
+ Code for determining the order of seeds in a read.
+
+Authors:
+
+ Bill Bolosky, August, 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "SeedSequencer.h"
+
+static SeedSequencer *Sequencers[LargestSeedSize + 1];
+
+void InitializeSeedSequencers()
+{
+ for (unsigned i = 1; i <= LargestSeedSize; i++) {
+ Sequencers[i] = new SeedSequencer(i);
+ }
+}
+
+SeedSequencer::SeedSequencer(unsigned i_seedSize) : seedSize(i_seedSize)
+{
+ offsets = new unsigned[seedSize];
+ for (unsigned i = 0; i < seedSize; i++) {
+ offsets[i] = 0;
+ }
+
+ if (seedSize == 1) return; // Not that seed size 1 makes any sense or is in any way supported. But it's in the array, so we generate it.
+
+ struct WorkItem {
+ unsigned lowerBound;
+ unsigned upperBound;
+ WorkItem *next;
+ };
+
+ unsigned nFilledOffsets = 1;
+ WorkItem *workItems = new WorkItem;
+ WorkItem *tail = NULL;
+ workItems->next = NULL;
+ workItems->lowerBound = 1;
+ workItems->upperBound = seedSize - 1;
+
+ while (NULL != workItems) {
+ WorkItem *itemToProcess = workItems;
+ workItems = itemToProcess->next;
+ if (NULL == workItems) {
+ tail = NULL;
+ }
+
+ unsigned selectedLocation = (itemToProcess->lowerBound + itemToProcess->upperBound) / 2;
+ _ASSERT(offsets[selectedLocation] == 0);
+ offsets[selectedLocation] = nFilledOffsets;
+ nFilledOffsets++;
+
+ //
+ // Add the upper half to the tail. It will be the larger of the two if they're not equal, since / 2 rounds down.
+ //
+ if (itemToProcess->upperBound > selectedLocation) {
+ WorkItem *upperItem = new WorkItem;
+ upperItem->next = NULL;
+ upperItem->upperBound = itemToProcess->upperBound;
+ upperItem->lowerBound = selectedLocation + 1;
+
+ //
+ // Add it to the tail.
+ //
+ if (NULL != tail) {
+ tail->next = upperItem;
+ tail = upperItem;
+ } else {
+ _ASSERT(workItems == NULL);
+ workItems = tail = upperItem;
+ }
+ }
+
+ if (itemToProcess->lowerBound < selectedLocation) {
+ _ASSERT(workItems != NULL); // We must have already added an upper half.
+ itemToProcess->upperBound = selectedLocation - 1;
+ itemToProcess->next = NULL;
+ tail->next = itemToProcess;
+ tail = itemToProcess;
+ } else {
+ delete itemToProcess;
+ }
+ }
+
+ _ASSERT(nFilledOffsets == seedSize);
+}
+
+unsigned GetWrappedNextSeedToTest(unsigned seedLen, unsigned wrapCount)
+{
+ _ASSERT(seedLen <= LargestSeedSize);
+ return Sequencers[seedLen]->GetWrappedNextSeedToTest(wrapCount);
+}
diff --git a/SNAPLib/SeedSequencer.h b/SNAPLib/SeedSequencer.h
new file mode 100644
index 0000000..cc12fdf
--- /dev/null
+++ b/SNAPLib/SeedSequencer.h
@@ -0,0 +1,388 @@
+/*++
+
+Module Name:
+
+ SeedSequencer.h
+
+Abstract:
+
+ Code for determining the order of seeds in a read.
+
+Authors:
+
+ Bill Bolosky, February, 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Factored out of BaseAligner
+
+--*/
+
+#pragma once
+#include "exit.h"
+#include "Seed.h"
+#include "Error.h"
+
+
+class SeedSequencer {
+public:
+ SeedSequencer(unsigned i_seedSize);
+
+ inline unsigned SeedOffset(unsigned wrapCount) {
+ _ASSERT(wrapCount < seedSize);
+ return offsets[wrapCount];
+ }
+
+ inline unsigned GetWrappedNextSeedToTest(unsigned wrapCount) {
+ _ASSERT(wrapCount < seedSize);
+ return(offsets[wrapCount]);
+ }
+
+private:
+
+ unsigned seedSize;
+ unsigned *offsets;
+};
+
+
+
+void InitializeSeedSequencers();
+
+unsigned GetWrappedNextSeedToTest(unsigned seedLen, unsigned wrapCount)
+#if 1
+ ; // The definition is in SeedSequencer.cpp
+#else // 1 -- old style with switch/case
+{
+ if (0 == wrapCount) {
+ return 0;
+ }
+ switch (seedLen) {
+ case 32: {
+ switch (wrapCount) {
+ case 1: return 16;
+ case 2: return 8;
+ case 3: return 24;
+ case 4: return 4;
+ case 5: return 20;
+ case 6: return 12;
+ case 7: return 28;
+ case 8: return 6;
+ case 9: return 18;
+ case 10: return 10;
+ case 11: return 26;
+ case 12: return 2;
+ case 13: return 14;
+ case 14: return 22;
+ case 15: return 30;
+ case 16: return 3;
+ case 17: return 17;
+ case 18: return 9;
+ case 19: return 23;
+ case 20: return 29;
+ case 21: return 7;
+ case 22: return 19;
+ case 23: return 27;
+ case 24: return 5;
+ case 25: return 25;
+ case 26: return 11;
+ case 27: return 21;
+ case 28: return 31;
+ case 29: return 15;
+ case 30: return 1;
+ case 31: return 13;
+ }
+ }
+ case 31: {
+ switch (wrapCount) {
+ case 1: return 15;
+ case 2: return 23;
+ case 3: return 8;
+ case 4: return 19;
+ case 5: return 4;
+ case 6: return 27;
+ case 7: return 11;
+ case 8: return 17;
+ case 9: return 6;
+ case 10: return 25;
+ case 11: return 2;
+ case 12: return 29;
+ case 13: return 13;
+ case 14: return 21;
+ case 15: return 9;
+ case 16: return 24;
+ case 17: return 3;
+ case 18: return 18;
+ case 19: return 10;
+ case 20: return 26;
+ case 21: return 5;
+ case 22: return 30;
+ case 23: return 14;
+ case 24: return 7;
+ case 25: return 22;
+ case 26: return 1;
+ case 27: return 16;
+ case 28: return 28;
+ case 29: return 12;
+ case 30: return 20;
+ }
+ }
+ case 25: {
+ switch (wrapCount) {
+ case 1: return 13;
+ case 2: return 6;
+ case 3: return 19;
+ case 4: return 3;
+ case 5: return 16;
+ case 6: return 22;
+ case 7: return 9;
+ case 8: return 11;
+ case 9: return 1;
+ case 10: return 14;
+ case 11: return 7;
+ case 12: return 20;
+ case 13: return 4;
+ case 14: return 17;
+ case 15: return 23;
+ case 16: return 2;
+ case 17: return 15;
+ case 18: return 5;
+ case 19: return 21;
+ case 20: return 8;
+ case 21: return 24;
+ case 22: return 10;
+ case 23: return 18;
+ case 24: return 12;
+ }
+ }
+
+ case 24:{
+ switch (wrapCount) {
+ case 1: return 12;
+ case 2: return 6;
+ case 3: return 18;
+ case 4: return 3;
+ case 5: return 15;
+ case 6: return 21;
+ case 7: return 9;
+ case 8: return 1;
+ case 9: return 13;
+ case 10: return 19;
+ case 11: return 7;
+ case 12: return 16;
+ case 13: return 4;
+ case 14: return 22;
+ case 15: return 10;
+ case 16: return 2;
+ case 17: return 14;
+ case 18: return 20;
+ case 19: return 5;
+ case 20: return 17;
+ case 21: return 8;
+ case 22: return 23;
+ case 23: return 11;
+ }
+ }
+
+ case 23: {
+ switch (wrapCount) {
+ case 1: return 12;
+ case 2: return 6;
+ case 3: return 17;
+ case 4: return 3;
+ case 5: return 9;
+ case 6: return 20;
+ case 7: return 14;
+ case 8: return 1;
+ case 9: return 4;
+ case 10: return 7;
+ case 11: return 10;
+ case 12: return 15;
+ case 13: return 18;
+ case 14: return 21;
+ case 15: return 4;
+ case 16: return 2;
+ case 17: return 5;
+ case 18: return 11;
+ case 19: return 16;
+ case 20: return 19;
+ case 21: return 22;
+ case 22: return 8;
+ }
+ }
+
+ case 22: {
+ switch (wrapCount) {
+ case 1: return 11;
+ case 2: return 6;
+ case 3: return 16;
+ case 4: return 3;
+ case 5: return 9;
+ case 6: return 14;
+ case 7: return 19;
+ case 8: return 2;
+ case 9: return 7;
+ case 10: return 12;
+ case 11: return 17;
+ case 12: return 20;
+ case 13: return 4;
+ case 14: return 1;
+ case 15: return 10;
+ case 16: return 13;
+ case 17: return 15;
+ case 18: return 18;
+ case 19: return 21;
+ case 20: return 5;
+ case 21: return 8;
+ default: _ASSERT(!"NOTREACHED");
+ }
+ }
+
+ case 21: {
+ switch (wrapCount) {
+ case 1: return 11;
+ case 2: return 6;
+ case 3: return 16;
+ case 4: return 3;
+ case 5: return 9;
+ case 6: return 13;
+ case 7: return 17;
+ case 8: return 18;
+ case 9: return 2;
+ case 10: return 5;
+ case 11: return 8;
+ case 12: return 15;
+ case 13: return 20;
+ case 14: return 1;
+ case 15: return 4;
+ case 16: return 7;
+ case 17: return 10;
+ case 18: return 12;
+ case 19: return 14;
+ case 20: return 19;
+ default: _ASSERT(!"NOTREACHED");
+ }
+ }
+
+ case 20: {
+ switch (wrapCount) {
+ case 1: return 10;
+ case 2: return 5;
+ case 3: return 15;
+ case 4: return 2;
+ case 5: return 7;
+ case 6: return 12;
+ case 7: return 17;
+ case 8: return 3;
+ case 9: return 9;
+ case 10: return 11;
+ case 11: return 13;
+ case 12: return 19;
+ case 13: return 1;
+ case 14: return 4;
+ case 15: return 6;
+ case 16: return 8;
+ case 17: return 14;
+ case 18: return 18;
+ case 19: return 16;
+ default: _ASSERT(!"NOTREACHED");
+ }
+ }
+
+ case 19: {
+ switch (wrapCount) {
+ case 1: return 10;
+ case 2: return 4;
+ case 3: return 14;
+ case 4: return 2;
+ case 5: return 6;
+ case 6: return 8;
+ case 7: return 12;
+ case 8: return 16;
+ case 9: return 18;
+ case 10: return 1;
+ case 11: return 3;
+ case 12: return 5;
+ case 13: return 7;
+ case 14: return 9;
+ case 15: return 11;
+ case 16: return 13;
+ case 17: return 15;
+ case 18: return 17;
+ default: _ASSERT(!"NOTREACHED");
+ }
+ }
+
+ case 18: {
+ switch (wrapCount) {
+ case 1: return 9;
+ case 2: return 4;
+ case 3: return 13;
+ case 4: return 2;
+ case 5: return 6;
+ case 6: return 11;
+ case 7: return 15;
+ case 8: return 1;
+ case 9: return 3;
+ case 10: return 5;
+ case 11: return 7;
+ case 12: return 8;
+ case 13: return 10;
+ case 14: return 12;
+ case 15: return 14;
+ case 16: return 16;
+ case 17: return 17;
+ default: _ASSERT(!"NOTREACHED");
+ }
+ }
+
+ case 17: {
+ switch (wrapCount) {
+ case 1: return 8;
+ case 2: return 4;
+ case 3: return 12;
+ case 4: return 2;
+ case 5: return 6;
+ case 6: return 10;
+ case 7: return 14;
+ case 8: return 1;
+ case 9: return 3;
+ case 10: return 5;
+ case 11: return 7;
+ case 12: return 9;
+ case 13: return 11;
+ case 14: return 13;
+ case 15: return 15;
+ case 16: return 16;
+ default: _ASSERT(!"NOTREACHED");
+ }
+ }
+
+ case 16: {
+ switch (wrapCount) {
+ case 1: return 8;
+ case 2: return 4;
+ case 3: return 12;
+ case 4: return 2;
+ case 5: return 6;
+ case 6: return 10;
+ case 7: return 14;
+ case 8: return 1;
+ case 9: return 3;
+ case 10: return 5;
+ case 11: return 7;
+ case 12: return 9;
+ case 13: return 11;
+ case 14: return 13;
+ case 15: return 15;
+ default: _ASSERT(!"NOTREACHED");
+ }
+ } // inner switch
+ default: WriteErrorMessage("SeedSequencer: Not set up to run with this seed size\n"); soft_exit(1);
+ } // outer switch
+ return 0;
+}
+#endif // 1
\ No newline at end of file
diff --git a/SNAPLib/SingleAligner.cpp b/SNAPLib/SingleAligner.cpp
new file mode 100644
index 0000000..9921e72
--- /dev/null
+++ b/SNAPLib/SingleAligner.cpp
@@ -0,0 +1,304 @@
+/*++
+
+Module Name:
+
+ SingleAligner.cpp
+
+Abstract:
+
+ Functions for running the single end aligner sub-program.
+
+Authors:
+
+ Matei Zaharia, February, 2012
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+ Adapted from cSNAP, which was in turn adapted from the scala prototype
+
+--*/
+
+#include "stdafx.h"
+#include "options.h"
+#include "BaseAligner.h"
+#include "Compat.h"
+#include "RangeSplitter.h"
+#include "GenomeIndex.h"
+#include "SAM.h"
+#include "Tables.h"
+#include "AlignerContext.h"
+#include "AlignerOptions.h"
+#include "FASTQ.h"
+#include "Util.h"
+#include "SingleAligner.h"
+#include "MultiInputReadSupplier.h"
+
+using namespace std;
+using util::stringEndsWith;
+
+SingleAlignerContext::SingleAlignerContext(AlignerExtension* i_extension)
+ : AlignerContext(0, NULL, NULL, i_extension)
+{
+}
+
+
+ AlignerStats*
+SingleAlignerContext::newStats()
+{
+ return new AlignerStats();
+}
+
+ void
+SingleAlignerContext::runTask()
+{
+ ParallelTask<SingleAlignerContext> task(this);
+ task.run();
+}
+
+ void
+SingleAlignerContext::runIterationThread()
+{
+ PreventMachineHibernationWhileThisThreadIsAlive();
+
+ ReadSupplier *supplier = readSupplierGenerator->generateNewReadSupplier();
+ if (NULL == supplier) {
+ //
+ // No work for this thread to do.
+ //
+ return;
+ }
+ if (extension->runIterationThread(supplier, this)) {
+ delete supplier;
+ return;
+ }
+ if (index == NULL) {
+ // no alignment, just input/output
+ Read *read;
+ while (NULL != (read = supplier->getNextRead())) {
+ stats->totalReads++;
+ SingleAlignmentResult result;
+ result.status = NotFound;
+ result.direction = FORWARD;
+ result.mapq = 0;
+ result.score = 0;
+ result.location = InvalidGenomeLocation;
+ if (NULL != readWriter && options->passFilter(read, NotFound, false)) {
+ readWriter->writeReads(readerContext, read, &result, 1, true);
+ }
+ }
+ delete supplier;
+ return;
+ }
+
+ int maxReadSize = MAX_READ_LENGTH;
+
+ SingleAlignmentResult *alignmentResults = NULL;
+ unsigned alignmentResultBufferCount;
+ if (maxSecondaryAlignmentAdditionalEditDistance < 0) {
+ alignmentResultBufferCount = 1; // For the primary alignment
+ } else {
+ alignmentResultBufferCount = BaseAligner::getMaxSecondaryResults(numSeedsFromCommandLine, seedCoverage, maxReadSize, maxHits, index->getSeedLength()) + 1; // +1 for the primary alignment
+ }
+ size_t alignmentResultBufferSize = sizeof(*alignmentResults) * (alignmentResultBufferCount + 1); // +1 is for primary result
+
+ BigAllocator *allocator = new BigAllocator(BaseAligner::getBigAllocatorReservation(index, true, maxHits, maxReadSize, index->getSeedLength(), numSeedsFromCommandLine, seedCoverage, maxSecondaryAlignmentsPerContig)
+ + alignmentResultBufferSize);
+
+ BaseAligner *aligner = new (allocator) BaseAligner(
+ index,
+ maxHits,
+ maxDist,
+ maxReadSize,
+ numSeedsFromCommandLine,
+ seedCoverage,
+ minWeightToCheck,
+ extraSearchDepth,
+ noUkkonen,
+ noOrderedEvaluation,
+ noTruncation,
+ maxSecondaryAlignmentsPerContig,
+ NULL, // LV (no need to cache in the single aligner)
+ NULL, // reverse LV
+ stats,
+ allocator);
+
+ alignmentResults = (SingleAlignmentResult *)allocator->allocate(alignmentResultBufferSize);
+
+ allocator->checkCanaries();
+
+ aligner->setExplorePopularSeeds(options->explorePopularSeeds);
+ aligner->setStopOnFirstHit(options->stopOnFirstHit);
+
+#ifdef _MSC_VER
+ if (options->useTimingBarrier) {
+ if (0 == InterlockedDecrementAndReturnNewValue(nThreadsAllocatingMemory)) {
+ AllowEventWaitersToProceed(memoryAllocationCompleteBarrier);
+ } else {
+ WaitForEvent(memoryAllocationCompleteBarrier);
+ }
+ }
+#endif // _MSC_VER
+
+ // Align the reads.
+ Read *read;
+ _uint64 lastReportTime = timeInMillis();
+ _uint64 readsWhenLastReported = 0;
+
+ while (NULL != (read = supplier->getNextRead())) {
+ stats->totalReads++;
+
+ if (AlignerOptions::useHadoopErrorMessages && stats->totalReads % 10000 == 0 && timeInMillis() - lastReportTime > 10000) {
+ fprintf(stderr,"reporter:counter:SNAP,readsAligned,%lu\n",stats->totalReads - readsWhenLastReported);
+ readsWhenLastReported = stats->totalReads;
+ lastReportTime = timeInMillis();
+ }
+
+ // Skip the read if it has too many Ns or trailing 2 quality scores.
+ if (read->getDataLength() < minReadLength || read->countOfNs() > maxDist) {
+ if (readWriter != NULL && options->passFilter(read, NotFound, true)) {
+ SingleAlignmentResult result;
+ result.status = NotFound;
+ result.location = InvalidGenomeLocation;
+ result.mapq = 0;
+ result.direction = FORWARD;
+ readWriter->writeReads(readerContext, read, &result, 1, true);
+ }
+ continue;
+ } else {
+ stats->usefulReads++;
+ }
+
+#if TIME_HISTOGRAM
+ _int64 startTime = timeInNanos();
+#endif // TIME_HISTOGRAM
+
+ int nSecondaryResults = 0;
+
+#ifdef LONG_READS
+ int oldMaxK = aligner->getMaxK();
+ if (options->maxDistFraction > 0.0) {
+ aligner->setMaxK(min(MAX_K, (int)(read->getDataLength() * options->maxDistFraction)));
+ }
+#endif
+
+ aligner->AlignRead(read, alignmentResults, maxSecondaryAlignmentAdditionalEditDistance, alignmentResultBufferCount - 1, &nSecondaryResults, maxSecondaryAlignments, alignmentResults + 1);
+#ifdef LONG_READS
+ aligner->setMaxK(oldMaxK);
+#endif
+
+#if TIME_HISTOGRAM
+ _int64 runTime = timeInNanos() - startTime;
+ int timeBucket = min(30, cheezyLogBase2(runTime));
+ stats->countByTimeBucket[timeBucket]++;
+ stats->nanosByTimeBucket[timeBucket] += runTime;
+#endif // TIME_HISTOGRAM
+
+ allocator->checkCanaries();
+
+ updateStats(stats, read, alignmentResults[0].status, alignmentResults[0].score, alignmentResults[0].mapq);
+
+ if (NULL != readWriter) {
+ //
+ // Remove any reads that don't pass the filter, then send the remainder down to the writer.
+ //
+ bool containsPrimary = true;
+ for (int i = 0; i <= nSecondaryResults; i++) {
+ if (!options->passFilter(read, alignmentResults[i].status, false)) {
+ if (i == 0) {
+ containsPrimary = false;
+ }
+ //
+ // Copy the last result here.
+ //
+ alignmentResults[i] = alignmentResults[nSecondaryResults];
+ nSecondaryResults--;
+
+ //
+ // And back up so it gets checked.
+ //
+ i--;
+ }
+ } // For each result
+
+ readWriter->writeReads(readerContext, read, alignmentResults, nSecondaryResults + 1, containsPrimary);
+
+ }
+
+ }
+
+ aligner->~BaseAligner(); // This calls the destructor without calling operator delete, allocator owns the memory.
+
+ if (supplier != NULL) {
+ delete supplier;
+ }
+
+ delete allocator; // This is what actually frees the memory.
+}
+
+ void
+SingleAlignerContext::updateStats(
+ AlignerStats* stats,
+ Read* read,
+ AlignmentResult result,
+ int score,
+ int mapq)
+{
+ if (isOneLocation(result)) {
+ stats->singleHits++;
+ } else if (result == MultipleHits) {
+ stats->multiHits++;
+ } else {
+ _ASSERT(result == NotFound);
+ stats->notFound++;
+ }
+
+ if (result != NotFound) {
+ _ASSERT(mapq >= 0 && mapq <= AlignerStats::maxMapq);
+ stats->mapqHistogram[mapq]++;
+ }
+}
+
+ void
+SingleAlignerContext::typeSpecificBeginIteration()
+{
+ if (1 == options->nInputs) {
+ //
+ // We've only got one input, so just connect it directly to the consumer.
+ //
+ readSupplierGenerator = options->inputs[0].createReadSupplierGenerator(options->numThreads, readerContext);
+ } else {
+ //
+ // We've got multiple inputs, so use a MultiInputReadSupplier to combine the individual inputs.
+ //
+ ReadSupplierGenerator **generators = new ReadSupplierGenerator *[options->nInputs];
+ // use separate context for each supplier, initialized from common
+ for (int i = 0; i < options->nInputs; i++) {
+ ReaderContext context(readerContext);
+ generators[i] = options->inputs[i].createReadSupplierGenerator(options->numThreads, context);
+ }
+ readSupplierGenerator = new MultiInputReadSupplierGenerator(options->nInputs,generators);
+ }
+ ReaderContext* context = readSupplierGenerator->getContext();
+ readerContext.header = context->header;
+ readerContext.headerBytes = context->headerBytes;
+ readerContext.headerLength = context->headerLength;
+ readerContext.headerMatchesIndex = context->headerMatchesIndex;
+}
+ void
+SingleAlignerContext::typeSpecificNextIteration()
+ {
+ if (readerContext.header != NULL) {
+ delete [] readerContext.header;
+ readerContext.header = NULL;
+ readerContext.headerLength = readerContext.headerBytes = 0;
+ readerContext.headerMatchesIndex = false;
+ }
+ delete readSupplierGenerator;
+ readSupplierGenerator = NULL;
+}
+
+
diff --git a/SNAPLib/SingleAligner.h b/SNAPLib/SingleAligner.h
new file mode 100644
index 0000000..f673f41
--- /dev/null
+++ b/SNAPLib/SingleAligner.h
@@ -0,0 +1,63 @@
+/*++
+
+Module Name:
+
+ SingleAligner.cpp
+
+Abstract:
+
+ Functions for running the single end aligner sub-program.
+
+Authors:
+
+ Matei Zaharia, February, 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Adapted from cSNAP, which was in turn adapted from the scala prototype
+
+--*/
+
+#pragma once
+#include "stdafx.h"
+#include "AlignerContext.h"
+#include "AlignerStats.h"
+#include "ReadSupplierQueue.h"
+#include "AlignmentResult.h"
+
+class SingleAlignerContext : public AlignerContext
+{
+public:
+
+ SingleAlignerContext(AlignerExtension* i_extension = NULL);
+
+
+protected:
+
+ // AlignerContext overrides
+
+ virtual AlignerStats* newStats();
+
+ virtual void runTask();
+
+ virtual void runIterationThread();
+
+ virtual void typeSpecificBeginIteration();
+ virtual void typeSpecificNextIteration();
+
+ // for subclasses
+
+ virtual void updateStats(AlignerStats* stats, Read* read, AlignmentResult result, int score, int mapq);
+
+ //RangeSplittingReadSupplierGenerator *readSupplierGenerator;
+
+ ReadSupplierGenerator *readSupplierGenerator;
+
+ friend class AlignerContext2;
+
+ bool isPaired() {return false;}
+};
diff --git a/SNAPLib/SortedDataWriter.cpp b/SNAPLib/SortedDataWriter.cpp
new file mode 100644
index 0000000..85ad336
--- /dev/null
+++ b/SNAPLib/SortedDataWriter.cpp
@@ -0,0 +1,507 @@
+/*++
+
+Module Name:
+
+ SortedDataWriter.cpp
+
+Abstract:
+
+ File writer that sorts records using a temporary file.
+
+Environment:
+
+ User mode service.
+
+ Not thread safe.
+
+--*/
+
+#include "stdafx.h"
+#include "BigAlloc.h"
+#include "Compat.h"
+#include "Util.h"
+#include "DataWriter.h"
+#include "BufferedAsync.h"
+#include "VariableSizeVector.h"
+#include "FileFormat.h"
+#include "PriorityQueue.h"
+#include "exit.h"
+#include "Bam.h"
+#include "Error.h"
+
+#define USE_DEVTEAM_OPTIONS 1
+//#define VALIDATE_SORT 1
+
+using std::max;
+
+#pragma pack(push, 4)
+struct SortEntry
+{
+ SortEntry() : offset(0), length(0), location(0) {}
+ SortEntry(size_t i_offset, GenomeDistance i_length, GenomeLocation i_location)
+ : offset(i_offset), length(i_length), location(i_location) {}
+ size_t offset; // offset in file
+ GenomeDistance length; // number of bytes
+ GenomeLocation location; // location in genome
+ static bool comparator(const SortEntry& e1, const SortEntry& e2)
+ {
+ return e1.location < e2.location;
+ }
+};
+#pragma pack(pop)
+
+typedef VariableSizeVector<SortEntry,150,true> SortVector;
+
+struct SortBlock
+{
+#ifdef VALIDATE_SORT
+ SortBlock() : start(0), bytes(0), location(0), length(0), reader(NULL), minLocation(0), maxLocation(0) {}
+#else
+ SortBlock() : start(0), bytes(0), location(0), length(0), reader(NULL) {}
+#endif
+ SortBlock(const SortBlock& other) { *this = other; }
+ void operator=(const SortBlock& other);
+
+ size_t start;
+ size_t bytes;
+#ifdef VALIDATE_SORT
+ GenomeLocation minLocation, maxLocation;
+#endif
+ // for mergesort phase
+ DataReader* reader;
+ GenomeLocation location; // genome location of current read
+ char* data; // read data in read buffer
+ GenomeDistance length; // length in bytes
+};
+
+ void
+SortBlock::operator=(
+ const SortBlock& other)
+{
+ start = other.start;
+ bytes = other.bytes;
+ location = other.location;
+ length = other.length;
+ reader = other.reader;
+#ifdef VALIDATE_SORT
+ minLocation = other.minLocation;
+ maxLocation = other.maxLocation;
+#endif
+}
+
+typedef VariableSizeVector<SortBlock> SortBlockVector;
+
+class SortedDataFilterSupplier;
+
+class SortedDataFilter : public DataWriter::Filter
+{
+public:
+ SortedDataFilter(SortedDataFilterSupplier* i_parent)
+ : Filter(DataWriter::CopyFilter), parent(i_parent), locations(10000000)
+ {}
+
+ virtual ~SortedDataFilter() {}
+
+ virtual void onAdvance(DataWriter* writer, size_t batchOffset, char* data, GenomeDistance bytes, GenomeLocation location);
+
+ virtual size_t onNextBatch(DataWriter* writer, size_t offset, size_t bytes);
+
+private:
+ SortedDataFilterSupplier* parent;
+ SortVector locations;
+};
+
+class SortedDataFilterSupplier : public DataWriter::FilterSupplier
+{
+public:
+
+ SortedDataFilterSupplier(
+ const FileFormat* i_fileFormat,
+ const Genome* i_genome,
+ const char* i_tempFileName,
+ const char* i_sortedFileName,
+ DataWriter::FilterSupplier* i_sortedFilterSupplier,
+ size_t i_bufferSize,
+ size_t i_bufferSpace,
+ FileEncoder* i_encoder = NULL)
+ :
+ format(i_fileFormat),
+ genome(i_genome),
+ FilterSupplier(DataWriter::CopyFilter),
+ encoder(i_encoder),
+ tempFileName(i_tempFileName),
+ sortedFileName(i_sortedFileName),
+ sortedFilterSupplier(i_sortedFilterSupplier),
+ bufferSize(i_bufferSize),
+ bufferSpace(i_bufferSpace),
+ blocks()
+ {
+ InitializeExclusiveLock(&lock);
+ }
+
+ virtual ~SortedDataFilterSupplier()
+ {
+ DestroyExclusiveLock(&lock);
+ }
+
+ virtual DataWriter::Filter* getFilter();
+
+ virtual void onClosing(DataWriterSupplier* supplier) {}
+ virtual void onClosed(DataWriterSupplier* supplier);
+
+ void setHeaderSize(size_t bytes)
+ { headerSize = bytes; }
+
+#ifndef VALIDATE_SORT
+ void addBlock(size_t start, size_t bytes);
+#else
+ void addBlock(size_t start, size_t bytes, GenomeLocation minLocation, GenomeLocation maxLocation);
+#endif
+
+private:
+ bool mergeSort();
+
+ const Genome* genome;
+ const FileFormat* format;
+ const char* tempFileName;
+ const char* sortedFileName;
+ DataWriter::FilterSupplier* sortedFilterSupplier;
+ FileEncoder* encoder;
+ size_t headerSize;
+ ExclusiveLock lock; // for adding blocks
+ SortBlockVector blocks;
+ size_t bufferSize;
+ size_t bufferSpace;
+
+ friend class SortedDataFilter;
+};
+
+ void
+SortedDataFilter::onAdvance(
+ DataWriter* writer,
+ size_t batchOffset,
+ char* data,
+ GenomeDistance bytes,
+ GenomeLocation location)
+{
+ SortEntry entry(batchOffset, bytes, location);
+#ifdef VALIDATE_SORT
+ if (memcmp(data, "BAM", 3) != 0 && memcmp(data, "@HD", 3) != 0) { // skip header block
+ GenomeLocation loc;
+ GenomeDistance len;
+ parent->format->getSortInfo(parent->genome, data, bytes, &loc, &len);
+ _ASSERT(loc == location);
+ }
+#endif
+ locations.push_back(entry);
+}
+
+ size_t
+SortedDataFilter::onNextBatch(
+ DataWriter* writer,
+ size_t offset,
+ size_t bytes)
+{
+ // sort buffered reads by location for later merge sort
+ std::stable_sort(locations.begin(), locations.end(), SortEntry::comparator);
+
+ // copy from previous buffer into current in sorted order
+ char* fromBuffer;
+ size_t fromSize, fromUsed;
+ char* toBuffer;
+ size_t toSize, toUsed;
+ if (! (writer->getBatch(-1, &fromBuffer, &fromSize, &fromUsed) &&
+ writer->getBatch(0, &toBuffer, &toSize, &toUsed)))
+ {
+ WriteErrorMessage( "SortedDataFilter::onNextBatch getBatch failed\n");
+ soft_exit(1);
+ }
+ size_t target = 0;
+ GenomeLocation previous = 0;
+ for (VariableSizeVector<SortEntry>::iterator i = locations.begin(); i != locations.end(); i++) {
+#ifdef VALIDATE_SORT
+ if (locations.size() > 1) { // skip header block
+ GenomeLocation loc;
+ GenomeDistance len;
+ parent->format->getSortInfo(parent->genome, fromBuffer + i->offset, i->length, &loc, &len);
+ _ASSERT(loc >= previous);
+ previous = loc;
+ }
+#endif
+ memcpy(toBuffer + target, fromBuffer + i->offset, i->length);
+ target += i->length;
+ }
+
+ // remember block extent for later merge sort
+ SortBlock block;
+ // handle header specially
+ size_t header = offset > 0 ? 0 : locations[0].length;
+ if (header > 0) {
+ parent->setHeaderSize(header);
+ }
+ int first = offset == 0;
+#ifdef VALIDATE_SORT
+ GenomeLocation minLocation = locations.size() > first ? locations[first].location : 0;
+ GenomeLocation maxLocation = locations.size() > first ? locations[locations.size() - 1].location : UINT32_MAX;
+ parent->addBlock(offset + header, bytes - header, minLocation, maxLocation);
+#else
+ parent->addBlock(offset + header, bytes - header);
+#endif
+ locations.clear();
+
+ return target;
+}
+
+ DataWriter::Filter*
+SortedDataFilterSupplier::getFilter()
+{
+ return new SortedDataFilter(this);
+}
+
+ void
+SortedDataFilterSupplier::onClosed(
+ DataWriterSupplier* supplier)
+{
+ if (blocks.size() == 1 && sortedFilterSupplier == NULL) {
+ // just rename/move temp file to real file, we're done
+ DeleteSingleFile(sortedFileName); // if it exists
+ if (! MoveSingleFile(tempFileName, sortedFileName)) {
+ WriteErrorMessage( "unable to move temp file %s to final sorted file %s\n", tempFileName, sortedFileName);
+ soft_exit(1);
+ }
+ return;
+ }
+ // merge sort into final file
+ if (! mergeSort()) {
+ WriteErrorMessage( "merge sort failed\n");
+ soft_exit(1);
+ }
+}
+
+ void
+SortedDataFilterSupplier::addBlock(
+ size_t start,
+ size_t bytes
+#ifdef VALIDATE_SORT
+ , GenomeLocation minLocation
+ , GenomeLocation maxLocation
+#endif
+ )
+{
+ if (bytes > 0) {
+ AcquireExclusiveLock(&lock);
+#if VALIDATE_SORT
+ for (SortBlockVector::iterator i = blocks.begin(); i != blocks.end(); i++) {
+ _ASSERT(i->start + i->length <= start || start + bytes <= i->start);
+ }
+#endif
+ SortBlock block;
+ block.start = start;
+ block.bytes = bytes;
+#if VALIDATE_SORT
+ block.minLocation = minLocation;
+ block.maxLocation = maxLocation;
+#endif
+ blocks.push_back(block);
+ ReleaseExclusiveLock(&lock);
+ }
+}
+
+ bool
+SortedDataFilterSupplier::mergeSort()
+{
+ // merge sort from temp file into sorted file
+#if USE_DEVTEAM_OPTIONS
+ WriteStatusMessage("sorting...");
+ _int64 start = timeInMillis();
+ _int64 startReadWaitTime = DataReader::ReadWaitTime;
+ _int64 startReleaseWaitTime = DataReader::ReleaseWaitTime;
+ _int64 startWriteWaitTime = DataWriter::WaitTime;
+ _int64 startWriteFilterTime = DataWriter::FilterTime;
+#endif
+
+ // set up buffered output
+ DataWriterSupplier* writerSupplier = DataWriterSupplier::create(sortedFileName, bufferSize, sortedFilterSupplier,
+ encoder, encoder != NULL ? 6 : 4); // use more buffers to let encoder run async
+ DataWriter* writer = writerSupplier->getWriter();
+ if (writer == NULL) {
+ WriteErrorMessage( "open sorted file for write failed\n");
+ return false;
+ }
+ DataSupplier* readerSupplier = DataSupplier::Default; // autorelease
+ // setup - open all files, read first block, begin read for second
+ if (blocks.size() > 5000) {
+ WriteErrorMessage("warning: merging %d blocks could be slow, try increasing sort memory with -sm option\n", blocks.size());
+ }
+ for (SortBlockVector::iterator i = blocks.begin(); i != blocks.end(); i++) {
+ i->reader = readerSupplier->getDataReader(1, MAX_READ_LENGTH * 8, 0.0,
+ min(1UL << 23, max(1UL << 17, bufferSpace / blocks.size()))); // 128kB to 8MB buffer space per block
+ i->reader->init(tempFileName);
+ i->reader->reinit(i->start, i->bytes);
+ }
+
+ // write out header
+ if (headerSize > 0xffffffff) {
+ WriteErrorMessage("SortedDataFilterSupplier: headerSize too big\n");
+ soft_exit(1);
+ }
+ if (headerSize > 0) {
+ blocks[0].reader->reinit(0, headerSize);
+ writer->inHeader(true);
+ char* rbuffer;
+ _int64 rbytes;
+ char* wbuffer;
+ size_t wbytes;
+ for (size_t left = headerSize; left > 0; ) {
+ if ((! blocks[0].reader->getData(&rbuffer, &rbytes)) || rbytes == 0) {
+ blocks[0].reader->nextBatch();
+ if (! blocks[0].reader->getData(&rbuffer, &rbytes)) {
+ WriteErrorMessage( "read header failed\n");
+ soft_exit(1);
+ }
+ }
+ if ((! writer->getBuffer(&wbuffer, &wbytes)) || wbytes == 0) {
+ writer->nextBatch();
+ if (! writer->getBuffer(&wbuffer, &wbytes)) {
+ WriteErrorMessage( "write header failed\n");
+ soft_exit(1);
+ }
+ }
+ size_t xfer = min(left, min((size_t) rbytes, wbytes));
+ _ASSERT(xfer > 0 && xfer <= UINT32_MAX);
+ memcpy(wbuffer, rbuffer, xfer);
+ blocks[0].reader->advance(xfer);
+ writer->advance((unsigned) xfer);
+ left -= xfer;
+ }
+ blocks[0].reader->reinit(blocks[0].start, blocks[0].bytes);
+ writer->nextBatch();
+ writer->inHeader(false);
+ }
+
+ // merge temp blocks into output
+ _int64 total = 0;
+ // get initial merge sort data
+ typedef PriorityQueue<GenomeLocation, _int64> BlockQueue;
+ BlockQueue queue;
+ for (SortBlockVector::iterator b = blocks.begin(); b != blocks.end(); b++) {
+ _int64 bytes;
+ b->reader->getData(&b->data, &bytes);
+ format->getSortInfo(genome, b->data, bytes, &b->location, &b->length);
+ queue.add((_uint32) (b - blocks.begin()), b->location);
+ }
+ GenomeLocation current = 0; // current location for validation
+ int lastRefID = -1, lastPos = 0;
+ while (queue.size() > 0) {
+#if VALIDATE_SORT
+ GenomeLocation check;
+ queue.peek(&check);
+ _ASSERT(check >= current);
+#endif
+ GenomeLocation secondLocation;
+ _int64 smallestIndex = queue.pop();
+ _int64 secondIndex = queue.size() > 0 ? queue.peek(&secondLocation) : -1;
+ GenomeLocation limit = secondIndex != -1 ? secondLocation : InvalidGenomeLocation;
+ SortBlock* b = &blocks[smallestIndex];
+ char* writeBuffer;
+ size_t writeBytes;
+ writer->getBuffer(&writeBuffer, &writeBytes);
+ const int NBLOCKS = 20;
+ SortBlock oldBlocks[NBLOCKS];
+ int oldBlockIndex = 0;
+ while (b->location <= limit) {
+#if VALIDATE_SORT
+ _ASSERT(b->location >= b->minLocation && b->location <= b->maxLocation);
+#endif
+ if (writeBytes < (size_t)b->length) {
+ writer->nextBatch();
+ writer->getBuffer(&writeBuffer, &writeBytes);
+ if (writeBytes < (size_t)b->length) {
+ WriteErrorMessage( "mergeSort: buffer size too small\n");
+ return false;
+ }
+ }
+ memcpy(writeBuffer, b->data, b->length);
+#ifdef VALIDATE_BAM
+ if (format == FileFormat::BAM[0] || format == FileFormat::BAM[1]) {
+ ((BAMAlignment*)b->data)->validate();
+ }
+#endif
+#if VALIDATE_SORT
+ int refID, pos;
+ format->getSortInfo(genome, b->data, b->length, NULL, NULL, &refID, &pos);
+ _ASSERT(refID == -1 || refID > lastRefID || (refID == lastRefID && pos >= lastPos));
+ if (refID != -1) {
+ lastRefID = refID;
+ lastPos = pos;
+ }
+#endif
+ total++;
+ writer->advance(b->length);
+ writeBytes -= b->length;
+ writeBuffer += b->length;
+ oldBlocks[oldBlockIndex] = *b;
+ oldBlockIndex = (oldBlockIndex + 1) % NBLOCKS;
+ b->reader->advance(b->length);
+ _ASSERT(b->location >= current);
+ current = b->location;
+ _int64 readBytes;
+ if (! b->reader->getData(&b->data, &readBytes)) {
+ b->reader->nextBatch();
+ if (! b->reader->getData(&b->data, &readBytes)) {
+ _ASSERT(b->reader->isEOF());
+ delete b->reader;
+ b->reader = NULL;
+ break;
+ }
+ }
+ GenomeLocation previous = b->location;
+ format->getSortInfo(genome, b->data, readBytes, &b->location, &b->length);
+ _ASSERT(b->length <= readBytes && b->location >= previous);
+ }
+ if (b->reader != NULL) {
+ queue.add(smallestIndex, b->location);
+ }
+ }
+
+ // close everything
+ writer->close();
+ delete writer;
+ writerSupplier->close();
+ delete writerSupplier;
+ if (! DeleteSingleFile(tempFileName)) {
+ WriteErrorMessage( "warning: failure deleting temp file %s\n", tempFileName);
+ }
+
+#if USE_DEVTEAM_OPTIONS
+ WriteStatusMessage("sorted %lld reads in %u blocks, %lld s\n"
+ "read wait align %.3f s + merge %.3f s, read release align %.3f s + merge %.3f s\n"
+ "write wait %.3f s align + %.3f s merge, write filter %.3f s align + %.3f s merge\n",
+ total, blocks.size(), (timeInMillis() - start)/1000,
+ startReadWaitTime * 1e-9, (DataReader::ReadWaitTime - startReadWaitTime) * 1e-9,
+ startReleaseWaitTime * 1e-9, (DataReader::ReleaseWaitTime - startReleaseWaitTime) * 1e-9,
+ startWriteWaitTime * 1e-9, (DataWriter::WaitTime - startWriteWaitTime) * 1e-9,
+ startWriteFilterTime * 1e-9, (DataWriter::FilterTime - startWriteFilterTime) * 1e-9);
+#endif
+ return true;
+}
+
+ DataWriterSupplier*
+DataWriterSupplier::sorted(
+ const FileFormat* format,
+ const Genome* genome,
+ const char* tempFileName,
+ size_t tempBufferMemory,
+ int numThreads,
+ const char* sortedFileName,
+ DataWriter::FilterSupplier* sortedFilterSuppler,
+ size_t maxBufferSize,
+ FileEncoder* encoder)
+{
+ const int bufferCount = 3;
+ const size_t bufferSpace = tempBufferMemory > 0 ? tempBufferMemory : (numThreads * (size_t)1 << 30);
+ const size_t bufferSize = bufferSpace / (bufferCount * numThreads);
+ DataWriter::FilterSupplier* filterSupplier =
+ new SortedDataFilterSupplier(format, genome, tempFileName, sortedFileName, sortedFilterSuppler, bufferSize, bufferSpace, encoder);
+ return DataWriterSupplier::create(tempFileName, bufferSize, filterSupplier, NULL, bufferCount);
+}
diff --git a/SNAPLib/Tables.cpp b/SNAPLib/Tables.cpp
new file mode 100644
index 0000000..a04e4ed
--- /dev/null
+++ b/SNAPLib/Tables.cpp
@@ -0,0 +1,94 @@
+#include "stdafx.h"
+#include "Tables.h"
+
+
+static const Tables tables;
+
+const char *COMPLEMENT = tables.getComplement();
+const char *IS_N = tables.getIsN();
+const int *BASE_VALUE = tables.getBaseValue();
+const int *BASE_VALUE_NO_N = tables.getBaseValueNoN();
+const char *VALUE_BASE = tables.getValueBase();
+const unsigned char *VALUE4_RC = tables.getValue4RC();
+const char *PACKED_BASE_VALUE = tables.getPackedBaseValue();
+const char *PACKED_QUALITY_MASK = tables.getPackedQualityMask();
+const char *PACKED_VALUE_BASE = tables.getPackedValueBase();
+const unsigned *IS_LOWER_CASE_OR_DOT = tables.getIsLowerCaseOrDot();
+const char *TO_UPPER_CASE_DOT_TO_N = tables.getToUpperCaseDotToN();
+const char *PACKED_VALUE_BASE_RC = tables.getPackedValueBaseRC();
+const char *CIGAR_QUAL_TO_SAM = tables.getCigarQualToSam();
+
+Tables::Tables()
+{
+ memset(complement, 0, sizeof(complement));
+ memset(isN, 0, sizeof(isN));
+
+ complement['A'] = 'T';
+ complement['C'] = 'G';
+ complement['G'] = 'C';
+ complement['T'] = 'A';
+ complement['N'] = 'N';
+ complement['n'] = 'n';
+
+ isN['N'] = 1;
+ isN['n'] = 1;
+
+ // Base values chosen so that complements are bitwise opposites.
+ for (unsigned i = 0; i < 256; i++) {
+ baseValue[i] = 4;// Everything's an N unless it's not
+ }
+ baseValue['A'] = 0;
+ baseValue['G'] = 1;
+ baseValue['C'] = 2;
+ baseValue['T'] = 3;
+
+ // inverse of BASE_VALUE
+ valueBase[0] = 'A';
+ valueBase[1] = 'G';
+ valueBase[2] = 'C';
+ valueBase[3] = 'T';
+ valueBase[4] = 'N';
+
+ // Version that maps N's value to 0 instead of 4
+ memset(baseValueNoN, 0, sizeof(baseValueNoN));
+ baseValueNoN['A'] = 0;
+ baseValueNoN['G'] = 1;
+ baseValueNoN['C'] = 2;
+ baseValueNoN['T'] = 3;
+
+ // reverse complement of a byte of 4x2-bit values
+ for (int i = 0; i < 256; i++) {
+ value4RC[i] = 0xff ^ (((i & 0x03) << 6) | ((i & 0x0c) << 2) | ((i & 0x30) >> 2) | ((i & 0xc0) >> 6));
+ }
+
+ // packed base tables
+ for (int i = 0; i < 256; i++) {
+ packedValueBase[i] = i < 4 ? 'N' : "AGCT"[i >> 6];
+ packedValueBaseRC[i] = i < 4 ? 'N' : "TCGA"[i >> 6];
+ }
+
+ memset(packedBaseValue, 0, sizeof(packedBaseValue));
+ packedBaseValue['A'] = packedBaseValue['a'] = 0x00;
+ packedBaseValue['G'] = packedBaseValue['g'] = 0x40;
+ packedBaseValue['C'] = packedBaseValue['c'] = (char) 0x80;
+ packedBaseValue['T'] = packedBaseValue['t'] = (char) 0xc0;
+
+ memset(packedQualityMask, 0, 4);
+ memset(packedQualityMask + 4, 0x3f, sizeof(packedQualityMask) - 4);
+
+ for (unsigned i = 0; i < 256; i++) {
+ isLowerCaseOrDot[i] = 0;
+ toUpperCaseDotToN[i] = i;
+ }
+ for (unsigned i = 0x61; i <= 0x7a; i++) {
+ isLowerCaseOrDot[i] = 1;
+ toUpperCaseDotToN[i] = i - 0x20;
+ }
+
+ isLowerCaseOrDot['.'] = 1;
+ toUpperCaseDotToN['.'] = 'N';
+
+ for (unsigned i = 0; i < 256; i++) {
+ cigarQualToSam[i] = i > ('~' - '!') ? '!' : '!' + i;
+ }
+}
diff --git a/SNAPLib/Tables.h b/SNAPLib/Tables.h
new file mode 100644
index 0000000..ca235be
--- /dev/null
+++ b/SNAPLib/Tables.h
@@ -0,0 +1,64 @@
+//
+// Lookup tables that are too annoying to initialize with array expressions.
+// These includes things like complements of bases, numerical values, etc.
+//
+// To avoid having an init() function that everyone must call, we stow these
+// in a special class and have one static instance of that class and variables
+// pointing to it to ensure that the initializer (class constructor) is run.
+//
+
+#pragma once
+
+
+class Tables
+{
+ char complement[256];
+ char isN[256];
+ int baseValue[256];
+ int baseValueNoN[256]; // Same as above but N maps to 0 instead of 4
+ char valueBase[5];
+ unsigned char value4RC[256]; // reverse complement of 4 bases/byte
+
+ unsigned isLowerCaseOrDot[256];
+ char toUpperCaseDotToN[256];
+
+ char packedBaseValue[256];
+ char packedQualityMask[256];
+ char packedValueBase[256];
+ char packedValueBaseRC[256];
+
+ char cigarQualToSam[256];
+
+public:
+ Tables();
+
+ const char *getComplement() const { return complement; }
+ const char *getIsN() const { return isN; }
+ const int *getBaseValue() const { return baseValue; }
+ const int *getBaseValueNoN() const { return baseValueNoN; }
+ const char *getValueBase() const { return valueBase; }
+ const unsigned char *getValue4RC() const { return value4RC; }
+
+ const char* getPackedBaseValue() const { return packedBaseValue; }
+ const char* getPackedQualityMask() const { return packedQualityMask; }
+ const char* getPackedValueBase() const { return packedValueBase; }
+ const char* getPackedValueBaseRC() const { return packedValueBaseRC; }
+ const unsigned *getIsLowerCaseOrDot() const {return isLowerCaseOrDot; }
+ const char *getToUpperCaseDotToN() const { return toUpperCaseDotToN; }
+ const char *getCigarQualToSam() const { return cigarQualToSam; }
+};
+
+extern const char *COMPLEMENT;
+extern const char *IS_N;
+extern const int *BASE_VALUE;
+extern const char *VALUE_BASE;
+extern const unsigned char *VALUE4_RC;
+extern const char *PACKED_BASE_VALUE;
+extern const char *PACKED_QUALITY_MASK;
+extern const char *PACKED_VALUE_BASE;
+extern const char *PACKED_VALUE_BASE_RC;
+extern const int *BASE_VALUE_NO_N;
+extern const unsigned *IS_LOWER_CASE_OR_DOT;
+extern const char *TO_UPPER_CASE_DOT_TO_N;
+extern const char *CIGAR_QUAL_TO_SAM;
+
diff --git a/SNAPLib/Util.cpp b/SNAPLib/Util.cpp
new file mode 100644
index 0000000..3647071
--- /dev/null
+++ b/SNAPLib/Util.cpp
@@ -0,0 +1,177 @@
+/*++
+
+Module Name:
+
+ Util.cpp
+
+Abstract:
+
+ Generic support routines that don't seem to belong elsewhere.
+
+Authors:
+
+ Bill Bolosky, March, 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Factored from other places
+
+--*/
+
+#include "stdafx.h"
+#include "Util.h"
+#include "Error.h"
+
+
+_int64 FirstPowerOf2GreaterThanOrEqualTo(_int64 value)
+{
+ int highestBitSet;
+ for (highestBitSet = 0; highestBitSet <= 62; highestBitSet++) { // Only go to 63, since this is signed
+ if (!(value & ~((((_int64)1) << highestBitSet) - 1))) {
+ highestBitSet -= 1;
+ break;
+ }
+ }
+ if (((_int64)1) << highestBitSet == value) return value;
+ return ((_int64)1) << (highestBitSet + 1);
+}
+
+int cheezyLogBase2(_int64 value)
+{
+ int retVal = 0;
+ value /= 2; // Since 2^0 = 1; we'll also define cheezyLogBase2(x) = 0 where x<= 0.
+ while (value > 0) {
+ retVal++;
+ value /= 2;
+ }
+ return retVal;
+}
+
+ void
+util::memrevcpy(
+ void* dst,
+ const void* src,
+ size_t bytes)
+{
+ size_t dwords = bytes >> 3;
+ _uint64* p = (_uint64*) dst;
+ const _uint64* q = (const _uint64*) ((const char*)src + bytes - 8);
+ for (size_t i = 0; i < dwords; i++) {
+ *p++ = ByteSwapUI64(*q--);
+ }
+ int left = (int) (bytes & 7);
+ if (left > 0) {
+ char* p2 = (char*) p;
+ const char* q2 = (left - 1) + (const char*) src;
+ for (int i = 0; i < left; i++) {
+ *p2++ = *q2--;
+ }
+ }
+}
+
+NWaiter::NWaiter(size_t n)
+{
+ _signalsRequired = n;
+ _signalsReceived = 0;
+ InitializeExclusiveLock(&_lock);
+ CreateEventObject(&_waiter);
+}
+
+NWaiter::~NWaiter()
+{
+ DestroyExclusiveLock(&_lock);
+ DestroyEventObject(&_waiter);
+}
+
+
+void NWaiter::wait()
+{
+ while (true) {
+ bool done;
+
+ AcquireExclusiveLock(&_lock);
+ done = (_signalsReceived >= _signalsRequired);
+ ReleaseExclusiveLock(&_lock);
+
+ if (done)
+ return;
+ else {
+ WaitForEvent(&_waiter);
+ }
+ }
+}
+
+void NWaiter::signal()
+{
+ AcquireExclusiveLock(&_lock);
+ _signalsReceived += 1;
+ ReleaseExclusiveLock(&_lock);
+
+ AllowEventWaitersToProceed(&_waiter);
+}
+
+char *FormatUIntWithCommas(_uint64 val, char *outputBuffer, size_t outputBufferSize)
+{
+ //
+ // First, figure out the number of digits.
+ //
+ unsigned nDigits = 0;
+ _uint64 x = val;
+ while (x > 0) {
+ nDigits++;
+ x = x / 10;
+ }
+
+ if (0 == nDigits) {
+ //
+ // Special case for the value 0 (which, I suppose if the world was rational, would be represented by the empty string. :-))
+ //
+ _ASSERT(0 == val);
+ nDigits = 1;
+ }
+
+ int nCommas = (nDigits - 1) / 3;
+
+ if (outputBufferSize < nDigits + nCommas + 1) {
+ WriteErrorMessage("Internal error: too small buffer for FormatUIntWithCommas, value %lld, outputBufferSize %lld\n", val, outputBufferSize);
+ if (outputBufferSize > 0) {
+ *outputBuffer = 0;
+ } else {
+ soft_exit(1);
+ }
+ return outputBuffer;
+ }
+
+ //
+ // Now build up the string backwards.
+ //
+ size_t offset = nDigits + nCommas;
+ outputBuffer[offset] = '\0';
+
+ if (0 == val) {
+ outputBuffer[0] = '0';
+ return outputBuffer;
+ }
+
+ x = val;
+ while (x > 0) {
+ char tempBuf[5];
+ if (x > 999) {
+ sprintf(tempBuf, ",%03lld", x % 1000);
+ _ASSERT(strlen(tempBuf) == 4);
+ } else {
+ sprintf(tempBuf, "%d", x);
+ }
+
+ _ASSERT(offset >= strlen(tempBuf));
+ offset -= strlen(tempBuf);
+ memcpy(outputBuffer + offset, tempBuf, strlen(tempBuf));
+ x /= 1000;
+ }
+
+ return outputBuffer;
+}
diff --git a/SNAPLib/Util.h b/SNAPLib/Util.h
new file mode 100644
index 0000000..d5076da
--- /dev/null
+++ b/SNAPLib/Util.h
@@ -0,0 +1,538 @@
+#pragma once
+
+#include <map>
+#include "stdafx.h"
+#include "Compat.h"
+#include "Tables.h"
+#include "exit.h"
+using std::max;
+using std::min;
+
+//
+// General utilities.
+//
+
+namespace util {
+
+#define BEGEND(container) (container).begin(), (container).end()
+
+inline double ratio(double a, double b=1)
+{
+ return a / (a + b);
+}
+
+//
+// Turn the value into a string with comma formatting (so 1,234,567 instead of 1234567).
+// Produces a null-terminated string.
+//
+extern char *FormatUIntWithCommas(_uint64 val, char *outputBuffer, size_t outputBufferSize);
+
+const int MAXLINE = 1024;
+
+//
+// You'd think this would be in the C library.
+// Like strchr, but with a max length so it doesn't
+// run over the end of the buffer. Basically,
+// strings suck in C.
+//
+
+ inline char *
+strnchr(char *str, char charToFind, size_t maxLen)
+{
+ for (size_t i = 0; i < maxLen; i++) {
+ if (str[i] == charToFind) {
+ return str + i;
+ }
+ if (str[i] == 0) {
+ return NULL;
+ }
+ }
+ return NULL;
+}
+
+ inline const char *
+strnchr(const char *str, char charToFind, size_t maxLen)
+{
+ for (size_t i = 0; i < maxLen; i++) {
+ if (str[i] == charToFind) {
+ return str + i;
+ }
+ if (str[i] == 0) {
+ return NULL;
+ }
+ }
+ return NULL;
+}
+
+// Check whether a string str ends with a given pattern
+ inline bool
+stringEndsWith(const char* str, const char* pattern)
+{
+ if (strlen(str) < strlen(pattern)) {
+ return false;
+ } else {
+#ifdef _MSC_VER
+ return _stricmp(str + (strlen(str) - strlen(pattern)), pattern) == 0;
+#else
+ return strcmp(str + (strlen(str) - strlen(pattern)), pattern) == 0;
+#endif
+ }
+}
+
+template <class Key, class T>
+const T &getOrElse(const std::map<Key, T> &m, typename std::map<Key, T>::const_iterator p,
+ const T &d=T())
+{
+ return p == m.end() ? d : p->second;
+}
+
+//
+// Scala map method: lookup with default if not found.
+//
+template <class Key, class T>
+const T &getOrElse(const std::map<Key, T> &m, const Key &k, const T &d=T())
+{
+ return getOrElse(m, m.find(k), d);
+}
+
+template <class RandIter, class T>
+size_t findIndex(RandIter first, RandIter last, const T &value)
+{
+ return std::find(first, last, value) - first;
+}
+
+//
+// Analogue of Scala's 'mkString' method.
+//
+template <class InIter>
+std::string joinWithSep(InIter first, InIter last, char sep)
+{
+ std::string joined;
+ if (first == last)
+ return joined;
+ joined += *first++;
+ while (first != last)
+ (joined += sep) += *first++;
+ return joined;
+}
+
+template <class T>
+void addIfAbsent(std::vector<T> *v, const T &e)
+{
+ if (!std::count(v->begin(), v->end(), e))
+ v->push_back(e);
+}
+
+inline bool startsWith(const char *s, const char *prefix)
+{
+ return strstr(s, prefix) == s;
+}
+
+inline const char *strstrAfter(const char *s, const char *t)
+{
+ const char *tins = strstr(s, t);
+ return tins ? tins + strlen(t) : NULL;
+}
+
+ inline void
+toComplement(
+ char* rc,
+ const char* bases = NULL,
+ int length = -1,
+ bool toLower = false)
+{
+ if (length < 0) {
+ length = (int) strlen(bases != NULL ? bases : rc);
+ if (bases != NULL) {
+ rc[length] = '\0';
+ }
+ }
+ if (bases != NULL && bases != rc) {
+ if (! toLower) {
+ for (int i = 0; i < length; i++) {
+ rc[i] = COMPLEMENT[bases[length - i - 1]];
+ }
+ } else {
+ for (int i = 0; i < length; i++) {
+ rc[i] = tolower(COMPLEMENT[bases[length - i - 1]]);
+ }
+ }
+ } else {
+ // reverse complement in place
+ for (int i = 0; i < length / 2; i++) {
+ char t = COMPLEMENT[rc[i]];
+ rc[i] = toLower ? tolower(COMPLEMENT[rc[length - i - 1]]) : COMPLEMENT[rc[length - i - 1]];
+ rc[length - i - 1] = toLower ? tolower(t) : t;
+ }
+ if (length % 2 == 1) {
+ rc[length / 2] = toLower ? tolower(COMPLEMENT[rc[length / 2]]) : COMPLEMENT[rc[length / 2]];
+ }
+ }
+}
+
+ inline void
+diffSequence(
+ char* io_sequence,
+ int length,
+ const char* reference,
+ int refLength,
+ int offset) // offset of sequence from reference
+{
+ int overlap = min(offset + length, refLength) - max(offset, 0); // # bases offset
+ int start = max(-offset, 0); // index in sequence
+ int last = 0;
+ for (int i = 0; i < overlap; i++) {
+ int is = start + i;
+ int ir = start + i + offset;
+ int found = 0;
+ for (int j = 0; j < 3; j++) {
+ int delta = j == 0 ? last :
+ j == 1 ? (last ? 0 : -1) :
+ (last ? -last : +1);
+ if (ir + delta >= 0 && ir + delta < refLength && toupper(reference[ir + delta]) == toupper(io_sequence[is])) {
+ io_sequence[is] = (islower(io_sequence[is]) ? "-,+" : "-.+")[1 + delta];
+ found = delta;
+ break;
+ }
+ }
+ last = found;
+ }
+}
+
+ inline void
+toLower(
+ char* buffer,
+ int length)
+{
+ for (int i = 0; i < length; i++) {
+ buffer[i] = tolower(buffer[i]);
+ }
+}
+
+ inline unsigned
+log10bucket(
+ unsigned n)
+{
+ unsigned factor = 1;
+ while (n >= 10) {
+ n /= 10;
+ factor *= 10;
+ }
+ return n * factor;
+}
+
+ inline int
+log10bucket(
+ int n)
+{
+ unsigned factor = 1;
+ if (n < 0) {
+ n = -n;
+ factor = -1;
+ }
+ while (n >= 10) {
+ n /= 10;
+ factor *= 10;
+ }
+ return n * factor;
+}
+
+ inline _int64
+log10bucket(
+ _int64 n)
+{
+ _int64 factor = 1;
+ while (abs(n) >= 10) {
+ n /= 10;
+ factor *= 10;
+ }
+ return n * factor;
+}
+ // from MurmurHash3, public domain, http://code.google.com/p/smhasher/wiki/MurmurHash3
+#define ROTL32(x,y) bit_rotate_left(x,y)
+#define ROTL64(x,y) bit_rotate_left64(x,y)
+
+#ifdef _MSC_VER
+#define BIG_CONSTANT(x) (x)
+#else
+#define BIG_CONSTANT(x) (x##LLU)
+#endif
+
+ inline _uint32
+fmix32(
+ _uint32 h)
+{
+ h ^= h >> 16;
+ h *= 0x85ebca6b;
+ h ^= h >> 13;
+ h *= 0xc2b2ae35;
+ h ^= h >> 16;
+ return h;
+}
+
+ inline _uint64
+fmix64(
+ _uint64 k)
+
+{
+ k ^= k >> 33;
+ k *= BIG_CONSTANT(0xff51afd7ed558ccd);
+ k ^= k >> 33;
+ k *= BIG_CONSTANT(0xc4ceb9fe1a85ec53);
+ k ^= k >> 33;
+ return k;
+}
+ inline _uint32
+hash(
+ const void* key,
+ int len)
+{
+ const _uint8* data = (const _uint8*) key;
+ const int nblocks = len / 4;
+
+ _uint32 h1 = 0x811f6d67; // seed, const from a random guid for now
+
+ const _uint32 c1 = 0xcc9e2d51;
+ const _uint32 c2 = 0x1b873593;
+
+ //----------
+ // body
+
+ const _uint32 * blocks = (const _uint32 *)(data + nblocks*4);
+
+ for(int i = -nblocks; i; i++)
+ {
+ _uint32 k1 = blocks[i];
+
+ k1 *= c1;
+ k1 = ROTL32(k1,15);
+ k1 *= c2;
+
+ h1 ^= k1;
+ h1 = ROTL32(h1,13);
+ h1 = h1*5+0xe6546b64;
+ }
+
+ //----------
+ // tail
+
+ const _uint32 * tail = (const _uint32*)(data + nblocks*4);
+ _uint32 k1 = 0;
+
+ switch(len & 3)
+ {
+ case 3: k1 ^= tail[2] << 16;
+ case 2: k1 ^= tail[1] << 8;
+ case 1: k1 ^= tail[0];
+ k1 *= c1; k1 = ROTL32(k1,15); k1 *= c2; h1 ^= k1;
+ };
+
+ //----------
+ // finalization
+
+ h1 ^= len;
+ h1 = fmix32(h1);
+ return h1;
+}
+
+ inline _uint64
+hash64(
+ _uint64 x)
+{
+ return fmix64(x);
+}
+
+ inline _uint64
+hash64(
+ const void* key,
+ int len)
+{
+ const _uint8* data = (const _uint8*) key;
+ const int nblocks = len / 16;
+
+ _uint64 h1 = 0x460a5856818aaba3LL;
+ _uint64 h2 = h1;
+
+ const _uint64 c1 = BIG_CONSTANT(0x87c37b91114253d5);
+ const _uint64 c2 = BIG_CONSTANT(0x4cf5ad432745937f);
+
+ //----------
+ // body
+
+ const _uint64 * blocks = (const _uint64 *)(data);
+
+ for(int i = 0; i < nblocks; i++)
+ {
+ _uint64 k1 = blocks[i*2+0];
+ _uint64 k2 = blocks[i*2+1];
+
+ k1 *= c1; k1 = ROTL64(k1,31); k1 *= c2; h1 ^= k1;
+
+ h1 = ROTL64(h1,27); h1 += h2; h1 = h1*5+0x52dce729;
+
+ k2 *= c2; k2 = ROTL64(k2,33); k2 *= c1; h2 ^= k2;
+
+ h2 = ROTL64(h2,31); h2 += h1; h2 = h2*5+0x38495ab5;
+ }
+
+ //----------
+ // tail
+
+ const _uint8 * tail = (const _uint8*)(data + nblocks*16);
+
+ _uint64 k1 = 0;
+ _uint64 k2 = 0;
+
+ switch(len & 15)
+ {
+ case 15: k2 ^= ((_uint64)tail[14]) << 48;
+ case 14: k2 ^= ((_uint64)tail[13]) << 40;
+ case 13: k2 ^= ((_uint64)tail[12]) << 32;
+ case 12: k2 ^= ((_uint64)tail[11]) << 24;
+ case 11: k2 ^= ((_uint64)tail[10]) << 16;
+ case 10: k2 ^= ((_uint64)tail[ 9]) << 8;
+ case 9: k2 ^= ((_uint64)tail[ 8]) << 0;
+ k2 *= c2; k2 = ROTL64(k2,33); k2 *= c1; h2 ^= k2;
+
+ case 8: k1 ^= ((_uint64)tail[ 7]) << 56;
+ case 7: k1 ^= ((_uint64)tail[ 6]) << 48;
+ case 6: k1 ^= ((_uint64)tail[ 5]) << 40;
+ case 5: k1 ^= ((_uint64)tail[ 4]) << 32;
+ case 4: k1 ^= ((_uint64)tail[ 3]) << 24;
+ case 3: k1 ^= ((_uint64)tail[ 2]) << 16;
+ case 2: k1 ^= ((_uint64)tail[ 1]) << 8;
+ case 1: k1 ^= ((_uint64)tail[ 0]) << 0;
+ k1 *= c1; k1 = ROTL64(k1,31); k1 *= c2; h1 ^= k1;
+ };
+
+ //----------
+ // finalization
+
+ h1 ^= len; h2 ^= len;
+
+ h1 += h2;
+ h2 += h1;
+
+ h1 = fmix64(h1);
+ h2 = fmix64(h2);
+
+ h1 += h2;
+ h2 += h1;
+
+ return h2;
+}
+
+struct IdPair
+{
+ unsigned id, value;
+ bool operator==(const IdPair& b) const
+ {
+ return id == b.id && value == b.value;
+ }
+ static bool comparator(const IdPair& a, const IdPair& b)
+ {
+ return a.id < b.id || (a.id == b.id && a.value < b.value);
+ }
+ static bool valueComparator(const IdPair& a, const IdPair& b)
+ {
+ return a.value < b.value || (a.value == b.value && a.id < b.id);
+ }
+ static bool valueComparatorDescending(const IdPair& a, const IdPair& b)
+ {
+ return a.value > b.value;
+ }
+ IdPair() : id(0), value(0) {}
+ IdPair(unsigned i_id, unsigned i_value) : id(i_id), value(i_value){}
+ // for use as key in VariableSizeMap
+ IdPair(int i) : id((unsigned) i), value(0) {}
+ bool operator==(int x) const
+ { return id == (unsigned) x && value == 0; }
+ bool operator!=(int x) const
+ { return id != (unsigned) x || value != 0; }
+ operator _uint64()
+ { return (((_uint64) id) << 32) | (_uint32) value; }
+};
+
+struct IdIntPair
+{
+ unsigned id;
+ int value;
+ bool operator==(const IdIntPair& b) const
+ {
+ return id == b.id && value == b.value;
+ }
+ static bool comparator(const IdIntPair& a, const IdIntPair& b)
+ {
+ return a.id < b.id || (a.id == b.id && a.value < b.value);
+ }
+ static bool valueComparator(const IdIntPair& a, const IdIntPair& b)
+ {
+ return a.value < b.value;
+ }
+ IdIntPair()
+ : id(0), value(0)
+ {}
+ IdIntPair(unsigned i_id, int i_value)
+ : id(i_id), value(i_value)
+ {}
+ IdIntPair(_uint64 x)
+ : id((unsigned) (x >> 32)), value((int) x)
+ {}
+ // for use as key in VariableSizeMap
+ IdIntPair(int i) : id((unsigned) i), value(0) {}
+ bool operator==(int x) const
+ { return id == (unsigned) x && value == 0; }
+ bool operator!=(int x) const
+ { return id != (unsigned) x || value != 0; }
+ operator _uint64()
+ { return (((_uint64) id) << 32) | (_uint32) value; }
+};
+
+
+void memrevcpy(void* dst, const void* src, size_t bytes);
+
+
+} // namespace util
+
+_int64 FirstPowerOf2GreaterThanOrEqualTo(_int64 value);
+int cheezyLogBase2(_int64 value);
+
+//
+// Check if a is within distance of b, coping properly with the varagies of unsigneds.
+// There's a similar function for GenomeLocations defined in Genome.h.
+//
+inline bool isWithin(unsigned a, unsigned b, unsigned distance)
+ {
+ return a <= b && a+distance >= b || a >= b && a <= b + distance;
+}
+
+inline int getSignBit64(_int64 value)
+{
+ return (value >> 63) & 1;
+}
+
+inline int getSignBit32(int value)
+{
+ return (value >> 31) & 1;
+}
+
+
+// Utility class for synchronization: NWaiter.
+// This class is initialized with a number, n.
+// It has two public methods: wait() and signal().
+// wait() will block until signal() has been called n times.
+class NWaiter
+{
+public:
+ void wait();
+ void signal();
+ NWaiter(size_t n);
+ ~NWaiter();
+
+private:
+ size_t _signalsRequired;
+ size_t _signalsReceived;
+ EventObject _waiter;
+ ExclusiveLock _lock;
+};
+
diff --git a/SNAPLib/VariableSizeMap.h b/SNAPLib/VariableSizeMap.h
new file mode 100644
index 0000000..218d2b7
--- /dev/null
+++ b/SNAPLib/VariableSizeMap.h
@@ -0,0 +1,665 @@
+#pragma once
+
+#include "Compat.h"
+#include "BigAlloc.h"
+#include "VariableSizeVector.h"
+
+//
+// A hash function for numeric types.
+//
+template<typename T>
+class MapNumericHash
+{
+public:
+ inline _uint64 operator() (T value) const {
+ return ((_uint64)value * 131);
+ }
+};
+
+template<typename K, typename V>
+struct VariableSizeMapEntry
+{
+ VariableSizeMapEntry() : key(), value() {}
+ VariableSizeMapEntry(K k, V v) : key(k), value(v) {}
+ K key;
+ V value;
+};
+
+//
+// A variable-size hash map that allows automatic growth
+// and does not perform any memory allocation except when growing.
+// Allows multi-threaded put, as long as growth=0 (i.e. fixed-size)
+// Shared base class for single- and multi-valued maps
+//
+using std::max;
+using std::min;
+template<
+ typename K,
+ typename V,
+ int growth = 150,
+ typename Hash = MapNumericHash<K>,
+ int fill = 80,
+ int _empty = 0,
+ int _tombstone = -1,
+ bool multi = false,
+ bool _big = false>
+class VariableSizeMapBase
+{
+protected:
+ VariableSizeMapBase(int i_capacity = 16)
+ : entries(NULL), count(0), capacity(i_capacity), occupied(0)
+ {
+ reserve(max(16,i_capacity));
+ }
+
+ VariableSizeMapBase(void** data, unsigned i_capacity)
+ : entries((Entry*) (3 + (_int64*) *data)),
+ capacity(i_capacity),
+ count((int) ((_int64*)*data)[0]),
+ limit((int) ((_int64*)*data)[1]),
+ occupied((int) ((_int64*)*data)[2])
+ {
+ *data = ((char*)*data) + (size_t) i_capacity * sizeof(Entry) + 3 * sizeof(_int64);
+ }
+
+ inline void grow()
+ {
+ _ASSERT(growth > 100);
+ _int64 larger = ((_int64) capacity * growth) / 100;
+ _ASSERT(larger < INT32_MAX);
+ reserve((int) larger);
+ }
+
+ inline void assign(VariableSizeMapBase<K,V>* other)
+ {
+ if (entries != NULL) {
+ if (_big) {
+ BigDealloc(entries);
+ } else {
+ delete [] entries;
+ }
+ }
+ entries = other->entries;
+ capacity = other->capacity;
+ count = other->count;
+ limit = other->limit;
+ hash = other->hash;
+ occupied = other->occupied;
+ other->entries = NULL;
+ other->count = 0;
+ }
+
+public:
+
+ inline int size()
+ { return count; }
+
+ inline int getCapacity()
+ { return capacity; }
+
+ ~VariableSizeMapBase()
+ {
+ if (entries != NULL) {
+ if (_big) {
+ BigDealloc(entries);
+ } else {
+ delete [] entries;
+ }
+ }
+ entries = NULL;
+ count = 0;
+ }
+
+ void reserve(int larger)
+ {
+ Entry* old = entries;
+ int small = capacity;
+ capacity = larger;
+ if (_big) {
+ entries = (Entry*) BigAlloc(larger * sizeof(Entry));
+ } else {
+ entries = new Entry[larger];
+ }
+ _ASSERT(entries != NULL);
+ clear();
+ count = 0;
+ // grow before it gets to a certain fraction; always leave 1 slot for empty sentinel
+ limit = growth == 0 ? capacity - 1 : min(capacity - 1, (int) (((_int64) capacity * fill) / 100));
+ _ASSERT(limit > 0);
+ if (old != NULL) {
+ for (int i = 0; i < small; i++) {
+ K k = old[i].key;
+ if (k != _empty && k != _tombstone) {
+ Entry* p = this->scan(k, true);
+ _ASSERT(p != NULL);
+ p->key = k;
+ p->value = old[i].value;
+ count++;
+ }
+ }
+ occupied = count;
+ if (_big) {
+ BigDealloc(old);
+ } else {
+ delete [] old;
+ }
+ }
+ }
+
+ void clear()
+ {
+ if (entries != NULL) {
+ if (_empty == 0 && sizeof(Entry) < 4 * sizeof(K) && ! _big) {
+ // optimize zero case
+ memset(entries, 0, capacity * sizeof(Entry));
+ } else {
+ const K e(_empty);
+ for (int i = 0; i < capacity; i++) {
+ entries[i].key = e;
+ }
+ }
+ }
+ count = occupied = 0;
+ }
+
+ typedef VariableSizeMapEntry<K,V> Entry;
+
+ typedef Entry* iterator;
+
+ iterator begin()
+ {
+ return next(&entries[-1]);
+ }
+
+ iterator next(iterator x)
+ {
+ Entry* final = &entries[capacity];
+ if (x < final) {
+ do {
+ x++;
+ } while (x < final && (x->key == _empty || x->key == _tombstone));
+ }
+ return x;
+ }
+
+ iterator end()
+ {
+ return &entries[capacity];
+ }
+
+ iterator find(K key)
+ {
+ Entry* p = this->scan(key, false);
+ return p != NULL ? p : end();
+ }
+
+ void writeFile(LargeFileHandle* file)
+ {
+ _int64 x = (_int64) count;
+ WriteLargeFile(file, &x, sizeof(_int64));
+ x = (_int64) limit;
+ WriteLargeFile(file, &x, sizeof(_int64));
+ x = (_int64) occupied;
+ WriteLargeFile(file, &x, sizeof(_int64));
+ WriteLargeFile(file, entries, sizeof(Entry) * (size_t) capacity);
+ }
+
+protected:
+
+ static const int MaxQuadraticProbes = 3;
+
+ void init(int& pos, int& i, K key)
+ {
+ _ASSERT(key != _empty && key != _tombstone);
+ pos = hash(key) % capacity;
+ i = 1;
+ if (entries == NULL) {
+ reserve(capacity);
+ }
+ }
+
+ bool advance(int& pos, int& i, K key) const
+ {
+ if (i >= capacity + MaxQuadraticProbes) {
+ pos = capacity;
+ return false;
+ }
+ pos = (pos + (i <= MaxQuadraticProbes ? i : 1)) % capacity;
+ i++;
+ return true;
+ }
+
+ Entry* scan(K key, bool add)
+ {
+ int pos;
+ int i;
+ init(pos, i, key);
+ if (pos == capacity) {
+ return NULL;
+ }
+ while (true) {
+ Entry* p = &entries[pos];
+ K k = p->key;
+ if (k == key && ! (multi && add)) {
+ return p;
+ } else if (k == _empty) {
+ return add ? p : NULL;
+ } else if (add && k == _tombstone && ! multi) {
+ return p;
+ } else if (! advance(pos, i, key)) {
+ return NULL;
+ }
+ }
+ }
+
+ Entry *entries;
+ int capacity;
+ int count;
+ int occupied; // number of non-empty slots (includes tombstones)
+ int limit; // current limit (capacity * fill / 100)
+ Hash hash;
+};
+
+//
+// Single-valued map
+//
+template< typename K, typename V, int growth = 150, typename Hash = MapNumericHash<K>,
+ int fill = 80, int _empty = 0, int _tombstone = -1, bool _big = false >
+class VariableSizeMap
+ : public VariableSizeMapBase<K,V,growth,Hash,fill,_empty,_tombstone,false,_big>
+{
+public:
+ VariableSizeMap(int i_capacity = 16)
+ : VariableSizeMapBase<K,V,growth,Hash,fill,_empty,_tombstone,false,_big>(i_capacity)
+ {}
+
+ VariableSizeMap(const VariableSizeMap<K,V>& other)
+ {
+ this->assign((VariableSizeMapBase<K,V>*)&other);
+ }
+
+ VariableSizeMap(void** data, unsigned i_capacity)
+ : VariableSizeMapBase<K,V,growth,Hash,fill,_empty,_tombstone,false>(data, i_capacity)
+ {
+ }
+
+ typedef VariableSizeMapEntry<K,V> Entry;
+
+ inline void operator=(const VariableSizeMap<K,V>& other)
+ {
+ this->assign((VariableSizeMapBase<K,V>*)&other);
+ }
+
+ ~VariableSizeMap()
+ {}
+
+
+ inline bool tryGet(K key, V* o_value)
+ {
+ Entry* p = this->scan(key, false);
+ if (p != NULL) {
+ *o_value = p->value;
+ }
+ return p != NULL;
+ }
+
+ inline V* tryFind(K key)
+ {
+ Entry* p = this->scan(key, false);
+ return p != NULL ? &p->value : NULL;
+ }
+
+ inline V get(K key)
+ {
+ Entry* p = this->scan(key, false);
+ _ASSERT(p != NULL);
+ return p->value;
+ }
+
+ bool erase(K key)
+ {
+ Entry* p = this->scan(key, false);
+ if (p != NULL) {
+ p->key = K(_tombstone);
+ this->count--;
+ }
+ return p != NULL;
+ }
+
+ inline V& operator[](K key)
+ {
+ Entry* p = this->scan(key, false);
+ _ASSERT(p != NULL);
+ return p->value;
+ }
+
+ inline void put(K key, V value)
+ {
+ V* p;
+ if (! tryAdd(key, value, &p)) {
+ *p = value;
+ }
+ }
+
+ inline V* getOrAdd(K key)
+ {
+ V* p = tryFind(key);
+ if (p == NULL) {
+ tryAdd(key, V(), &p);
+ }
+ return p;
+ }
+
+ inline bool tryAdd(K key, V value, V** o_pvalue)
+ {
+ while (true) {
+ Entry* p = this->scan(key, true);
+ if (p == NULL) {
+ this->grow();
+ p = this->scan(key, true);
+ _ASSERT(p != NULL);
+ }
+ K prior = p->key;
+ if (prior == key) {
+ *o_pvalue = &p->value;
+ return false;
+ }
+ if (prior == _empty || prior == _tombstone) {
+ // single-threaded
+ p->key = key;
+ p->value = value;
+ this->count++;
+ // hack!! to get around gcc bug
+ int o = this->occupied;
+ int l = this->limit;
+ bool occupy = prior == _empty;
+ if (o < l || ! occupy) {
+ this->occupied += occupy;
+ *o_pvalue = &p->value;
+ } else {
+ this->grow();
+ *o_pvalue = &this->scan(key, false)->value; // lookup again after rehashing
+ }
+ return true;
+ }
+ }
+ }
+
+ void exchange(VariableSizeMap& other)
+ {
+ Entry* e = this->entries; this->entries = other.entries; other.entries = e;
+ int x = this->capacity; this->capacity = other.capacity; other.capacity = x;
+ x = this->count; this->count = other.count; other.count = x;
+ x = this->limit; this->limit = other.limit; other.limit = x;
+ x = this->occupied; this->occupied = other.occupied; other.occupied = x;
+ }
+};
+
+template< typename K, typename V>
+class VariableSizeMapBig
+ : public VariableSizeMap<K,V,150,MapNumericHash<K>,80,0,-1,true>
+{
+public:
+ VariableSizeMapBig(int n = 10000) : VariableSizeMap<K,V,150,MapNumericHash<K>,80,0,-1,true>(n) {}
+
+ void assign(VariableSizeMapBig<K,V>* other)
+ {
+ // todo: avoid copying from base class, c++ inheritance is nonsensical
+ if (this->entries != NULL) {
+ BigDealloc(this->entries);
+ }
+ this->entries = other->entries;
+ this->capacity = other->capacity;
+ this->count = other->count;
+ this->limit = other->limit;
+ this->hash = other->hash;
+ this->occupied = other->occupied;
+ other->entries = NULL;
+ other->count = 0;
+ }
+};
+
+typedef VariableSizeMap<unsigned,unsigned> IdMap;
+typedef VariableSizeMap<unsigned,int> IdIntMap;
+//
+// Single-valued map
+//
+template< typename K, typename V, int growth = 150, typename Hash = MapNumericHash<K>, int fill = 80, int _empty = 0, int _tombstone = -1, bool _big = false >
+class VariableSizeMultiMap
+ : public VariableSizeMapBase<K,V,growth,Hash,fill,_empty,_tombstone,true, _big >
+{
+public:
+ VariableSizeMultiMap(int i_capacity = 16)
+ : VariableSizeMapBase<K,V,growth,Hash,fill,_empty,_tombstone,true>(i_capacity)
+ {}
+
+ VariableSizeMultiMap(VariableSizeMultiMap& other)
+ : VariableSizeMapBase<K,V,growth,Hash,fill,_empty,_tombstone,true>(other.capacity)
+ {
+ this->assign(&other);
+ }
+
+ VariableSizeMultiMap(void** data, unsigned i_capacity)
+ : VariableSizeMapBase<K,V,growth,Hash,fill,_empty,_tombstone,true>(data, i_capacity)
+ {
+ }
+
+ typedef VariableSizeMapEntry<K,V> Entry;
+
+ inline void operator=(VariableSizeMultiMap<K,V> other)
+ {
+ this->assign(&other);
+ }
+
+ ~VariableSizeMultiMap()
+ {}
+
+ class valueIterator
+ {
+ public:
+ bool hasValue()
+ { return pos < map->capacity && map->entries[pos].key != _empty; }
+
+ Entry* operator*() const
+ { _ASSERT(pos < map->capacity); return &map->entries[pos]; }
+
+ Entry* operator->() const
+ { _ASSERT(pos < map->capacity); return &map->entries[pos]; }
+
+ void next()
+ {
+ if (hasValue()) {
+ K k;
+ do {
+ if (! map->advance(pos, i, key)) {
+ pos = map->capacity;
+ return;
+ }
+ } while ((k = map->entries[pos].key) != key && k != _empty);
+ }
+ }
+
+ valueIterator()
+ : map(NULL), pos(0), i(0), key()
+ {
+ }
+
+ valueIterator(const valueIterator& other)
+ : map(other.map), pos(other.pos), i(other.i), key(other.key)
+ {}
+
+ void operator= (const valueIterator& other)
+ {
+ map = other.map;
+ pos = other.pos;
+ i = other.i;
+ key = other.key;
+ }
+
+ private:
+ valueIterator(VariableSizeMultiMap* i_map, K i_key)
+ : map(i_map), key(i_key)
+ {
+ map->init(pos, i, key);
+ K k = map->entries[pos].key;
+ if (k != key && k != _empty) {
+ next(); // skip tombstones & other keys
+ }
+ }
+
+ friend class VariableSizeMultiMap;
+
+ VariableSizeMultiMap* map;
+ int pos;
+ int i;
+ K key;
+ };
+
+ friend class valueIterator;
+
+ inline valueIterator getAll(K key)
+ {
+ return valueIterator(this, key);
+ }
+
+ inline bool hasKey(K key)
+ {
+ return getAll(key).hasValue(); // todo: optimize
+ }
+
+ inline bool contains(K key, V value)
+ {
+ for (valueIterator i = getAll(key); i.hasValue(); i.next()) {
+ if (i->value == value) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ // always add even if value exists for key
+ inline void add(K key, V value)
+ {
+ if (this->occupied >= this->limit) {
+ this->grow();
+ }
+ Entry* p = this->scan(key, true);
+ if (p == NULL) {
+ // full of tombstones
+ this->grow();
+ p = this->scan(key, true);
+ _ASSERT(p != NULL);
+ }
+ this->occupied += p->key == _empty;
+ p->key = key;
+ p->value = value;
+ this->count++;
+ }
+
+ // if key-value exists, return false; else add & return true
+ inline bool put(K key, V value)
+ {
+ int pos; int i;
+ this->init(pos, i, key);
+ if (pos == this->capacity) {
+ this->add(key, value);
+ return true;
+ }
+ Entry* slot = NULL;
+ while (pos != this->capacity) {
+ Entry* p = &this->entries[pos];
+ if (p->key == key) {
+ if (p->value == value) {
+ return false;
+ }
+ // keep looking...
+ } else if (p->key == _tombstone) {
+ if (slot == NULL) {
+ slot = p; // remember in case we don't find a match
+ }
+ // keep looking...
+ } else if (p->key == _empty) {
+ if (slot == NULL) {
+ slot = p;
+ }
+ break; // got to end with no match
+ }
+ if (! this->advance(pos, i, key)) {
+ break;
+ }
+ }
+ if (slot != NULL) {
+ _ASSERT(slot->key == _empty || slot->key == _tombstone);
+ // hack!! to get around gcc bug
+ int o = this->occupied;
+ int l = this->limit;
+ bool occupy = slot->key == _empty;
+ if (o < l || ! occupy) {
+ slot->key = key;
+ slot->value = value;
+ this->count++;
+ this->occupied += occupy;
+ } else {
+ this->grow();
+ return this->put(key, value);
+ }
+ } else {
+ this->add(key, value);
+ }
+ _ASSERT(this->contains(key, value));
+ return true;
+ }
+
+ inline bool erase(K key, V value)
+ {
+ for (valueIterator i = getAll(key); i.hasValue(); i.next()) {
+ if (i->value == value) {
+ i->key = _tombstone;
+ this->count--;
+ return true;
+ }
+ }
+ return false;
+ }
+
+ inline int eraseAll(K key)
+ {
+ int n = 0;
+ for (valueIterator i = getAll(key); i.hasValue(); i.next()) {
+ i->key = _tombstone;
+ this->count--;
+ n++;
+ }
+ return n;
+ }
+
+ // whether a's values are a subset of b's values
+ inline bool isSubset(K a, K b)
+ {
+ for (valueIterator i = getAll(a); i.hasValue(); i.next()) {
+ if (! contains(b, i->value)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ inline bool intersects(K a, K b)
+ {
+ for (valueIterator i = getAll(a); i.hasValue(); i.next()) {
+ if (contains(b, i->value)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ inline void getAll(K key, VariableSizeVector<K>& o_result)
+ {
+ for (valueIterator i = getAll(key); i.hasValue(); i.next()) {
+ o_result.push_back(i->value);
+ }
+ }
+};
+
+typedef VariableSizeMultiMap<unsigned,unsigned> IdMultiMap;
diff --git a/SNAPLib/VariableSizeVector.h b/SNAPLib/VariableSizeVector.h
new file mode 100644
index 0000000..e32d3dc
--- /dev/null
+++ b/SNAPLib/VariableSizeVector.h
@@ -0,0 +1,250 @@
+#pragma once
+
+#include "Util.h"
+
+//
+// A variable-size vector that does not perform any memory allocation except to grow.
+//
+template<typename V, int grow = 150, bool big = false>
+class VariableSizeVector
+{
+private:
+
+ inline static void* allocate(size_t bytes)
+ {
+#ifdef USE_DEVTEAM_OPTIONS
+ if (bytes > (1L << 23) && ! big) {
+ WriteErrorMessage("%s: allocate %lld - consider using BigAlloc\n", __FUNCTION__, bytes);
+ }
+#endif
+ return big ? BigAlloc(bytes) : malloc(bytes);
+ }
+
+ inline static void deallocate(void* p)
+ {
+ if (big) { BigDealloc(p); } else { free(p); }
+ }
+
+public:
+ VariableSizeVector(int i_capacity = 16)
+ : entries(NULL), count(0), capacity(i_capacity)
+ {}
+
+ VariableSizeVector(VariableSizeVector& other)
+ : entries(other.entries), count(other.count), capacity(other.capacity)
+ {
+ other.count = 0;
+ other.entries = NULL;
+ }
+
+ ~VariableSizeVector()
+ {
+ if (entries != NULL) {
+ deallocate(entries);
+ entries = NULL;
+ count = 0;
+ }
+ }
+
+private:
+ inline void increase()
+ {
+ if (entries == NULL) {
+ reserve(capacity);
+ } else if (count == capacity) {
+ reserve((int) (((_int64) count * grow) / 100));
+ }
+ }
+
+public:
+ void operator=(VariableSizeVector<V>& other)
+ {
+ entries = other.entries;
+ capacity = other.capacity;
+ count = other.count;
+ other.entries = NULL;
+ other.count = 0;
+ }
+
+ void reserve(_int64 newCapacity)
+ {
+ _ASSERT(newCapacity >= 0);
+ if (newCapacity <= capacity && entries != NULL) {
+ return;
+ }
+ V* old = entries;
+ capacity = __max(newCapacity, capacity);
+ entries = (V*) allocate(capacity * sizeof(V));
+ if (old != NULL) {
+ memcpy(entries, old, count * sizeof(V));
+ deallocate(old);
+ }
+ }
+
+ inline void clear()
+ {
+ count = 0;
+ }
+
+ inline void clean()
+ {
+ if (entries != NULL) {
+ deallocate(entries);
+ entries = NULL;
+ count = 0;
+ }
+ }
+
+ inline _int64 size() const
+ {
+ return count;
+ }
+
+ void truncate(int newCount)
+ {
+ if (newCount < count) {
+ count = newCount;
+ }
+ }
+
+ inline void push_back(V& value)
+ {
+ if (entries == NULL) {
+ reserve(capacity);
+ } else if (count == capacity) {
+ reserve((int) (((_int64) count * grow) / 100));
+ }
+ _ASSERT(count < capacity);
+ entries[count++] = value;
+ }
+
+ inline void push_back(const V& value)
+ {
+ increase();
+ _ASSERT(count < capacity);
+ entries[count++] = value;
+ }
+
+ inline void append(VariableSizeVector<V>* other)
+ {
+ if (other->count == 0) {
+ return;
+ }
+ reserve(count + other->count);
+ // todo: allow for operator assign/copy constructor?
+ memcpy(&entries[count], other->entries, other->count * sizeof(V));
+ count += other->count;
+ }
+
+ typedef bool comparator(const V& a, const V& b);
+
+ inline int insertionIndex(const V& value, comparator compare, bool before = false)
+ {
+ V* p = before ? std::lower_bound(entries, entries + count, value, compare)
+ : std::upper_bound(entries, entries + count, value, compare);
+ int index = (int) (p - entries);
+ _ASSERT(index >= 0 && index <= count);
+ return index;
+ }
+
+ // insert into sorted list, AFTER existing elements with same value
+ inline int insert(const V& value, comparator compare, bool before = false)
+ {
+ int index = insertionIndex( value, compare, before);
+ increase(); // todo: could fold memmove into new array copy to save time...
+ _ASSERT(count < capacity);
+ if (index < count) {
+ memmove(entries + (index + 1), entries + index, (count - index) * sizeof(V));
+ }
+ entries[index] = value;
+ count++;
+ return index;
+ }
+
+ inline bool add(const V& value)
+ {
+ for (int i = 0; i < count; i++) {
+ if (entries[i] == value) {
+ return false;
+ }
+ }
+ push_back(value);
+ return true;
+ }
+
+ inline void erase(_int64 index)
+ {
+ _ASSERT(index >= 0 && index < count);
+ if (index < 0 || index >= count) {
+ return;
+ }
+ if (index < count - 1) {
+ memmove(entries + index, entries + index + 1, (count - index - 1) * sizeof(V));
+ }
+ count--;
+ }
+
+ inline void extend(int size)
+ {
+ if (count < size) {
+ reserve(size);
+ memset(((V*)entries) + count, 0, sizeof(V) * (size - count));
+ count = size;
+ }
+ }
+
+ inline V& operator[](_int64 index) const
+ {
+ _ASSERT(index >= 0 && index < count);
+ return entries[index];
+ }
+
+ typedef V* iterator;
+
+ inline iterator findRange(const V& low, const V& high, comparator compare, iterator* o_end)
+ {
+ *o_end = entries + insertionIndex(high, compare, true);
+ return entries + insertionIndex(low, compare, true);
+ }
+
+ // unsorted search
+ inline iterator search(const V& value)
+ {
+ for (iterator i = begin(); i != end(); i++) {
+ if (*i == value) {
+ return i;
+ }
+ }
+ return end();
+ }
+ iterator begin()
+ {
+ return entries;
+ }
+
+ iterator end()
+ {
+ return &entries[count];
+ }
+
+ inline void remove(iterator p)
+ {
+ _ASSERT(p >= entries && p < entries + count);
+ if (p < entries + count - 1) {
+ memmove(p, p + 1, (count - (p - entries) - 1) * sizeof(V));
+ }
+ count--;
+ }
+
+private:
+ V *entries;
+ _int64 capacity;
+ _int64 count;
+};
+
+typedef VariableSizeVector<unsigned> IdVector;
+typedef VariableSizeVector<int> IntVector;
+using util::IdPair;
+using util::IdIntPair;
+typedef VariableSizeVector<IdPair> IdPairVector;
+typedef VariableSizeVector<IdIntPair> IdIntPairVector;
diff --git a/SNAPLib/WindowsFileMapper.h b/SNAPLib/WindowsFileMapper.h
new file mode 100644
index 0000000..10a07ca
--- /dev/null
+++ b/SNAPLib/WindowsFileMapper.h
@@ -0,0 +1,36 @@
+/*++
+
+Module Name:
+
+ WindowsFileMapper.h
+
+Abstract:
+
+ Header for support code for file mapping on Windows
+
+Authors:
+
+ Bill Bolosky, November, 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+
+#ifdef _MSC_VER
+class WindowsFileMapper {
+public:
+ WindowsFileMapper();
+
+ bool init(const char *fileName);
+ const _int64 getFileSize();
+
+ char *createMapping(size_t offset);
+ void deleteMapping();
+#endif // _MSC_VER
\ No newline at end of file
diff --git a/SNAPLib/directions.h b/SNAPLib/directions.h
new file mode 100644
index 0000000..f3ca5f4
--- /dev/null
+++ b/SNAPLib/directions.h
@@ -0,0 +1,36 @@
+/*++
+
+Module Name:
+
+ directions.h
+
+Abstract:
+
+ Definitions for basic read directions (forward & reverse compliment)
+
+Authors:
+
+ Bill Bolosky, January, 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+
+const int NUM_DIRECTIONS = 2; // Forward and reverse compliment
+
+typedef int Direction;
+
+const int FORWARD = 0;
+const int RC = 1;
+
+inline Direction OppositeDirection(Direction direction) {
+ _ASSERT(FORWARD == direction || RC == direction);
+ return 1-direction;
+}
\ No newline at end of file
diff --git a/SNAPLib/exit.cpp b/SNAPLib/exit.cpp
new file mode 100644
index 0000000..2695bda
--- /dev/null
+++ b/SNAPLib/exit.cpp
@@ -0,0 +1,42 @@
+/*++
+
+Module Name:
+
+ exit.cpp
+
+Abstract:
+
+ SNAP soft exit function
+
+Authors:
+
+ Bill Bolosky, February, 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "exit.h"
+#include "Error.h"
+
+//
+// This exists solely as a place to set a breakpoint when debugging SNAP. It gets called both from the
+// soft_exit function and also from a few places in the code where we want to exit without printing the
+// warning message (like after printing the usage string), which was causing confusion.
+//
+void soft_exit_no_print(int n)
+{
+ exit(n);
+}
+
+void soft_exit_function(int n, const char *fileName, int lineNum)
+{
+ WriteErrorMessage("SNAP exited with exit code %d from line %d of file %s\n", n, lineNum, fileName);
+ soft_exit_no_print(n);
+}
diff --git a/SNAPLib/exit.h b/SNAPLib/exit.h
new file mode 100644
index 0000000..2cd86e4
--- /dev/null
+++ b/SNAPLib/exit.h
@@ -0,0 +1,30 @@
+/*++
+
+Module Name:
+
+ exit.h
+
+Abstract:
+
+ Header for SNAP soft exit function
+
+Authors:
+
+ Bill Bolosky, February, 2013
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+
+#define soft_exit(n) soft_exit_function(n, __FILE__, __LINE__)
+
+void soft_exit_no_print(int n);
+
+void soft_exit_function(int n, const char *fileName, int lineNum);
diff --git a/SNAPLib/mapq.cpp b/SNAPLib/mapq.cpp
new file mode 100644
index 0000000..d4b831e
--- /dev/null
+++ b/SNAPLib/mapq.cpp
@@ -0,0 +1,45 @@
+/*++
+
+Module Name:
+
+ mapq.cpp
+
+Abstract:
+
+ Support functions for mapping quality
+
+Authors:
+
+ Bill Bolosky, December, 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "Compat.h"
+#include "mapq.h"
+
+const int maxMAPQ = 70;
+
+static double mapqToProbabilityTable[maxMAPQ+1];
+
+void initializeMapqTables()
+{
+ mapqToProbabilityTable[0] = .1; // This should technically be 0, but in practice it's a little better than that, so leave some chance here.
+ for (int i = 1; i <= maxMAPQ; i++) {
+ mapqToProbabilityTable[i] = 1- pow(10.0,((double)i) / -10.0);
+ }
+
+}
+
+double mapqToProbability(int mapq)
+{
+ _ASSERT(mapq >= 0 && mapq <= maxMAPQ);
+ return mapqToProbabilityTable[mapq];
+}
diff --git a/SNAPLib/mapq.h b/SNAPLib/mapq.h
new file mode 100644
index 0000000..d288878
--- /dev/null
+++ b/SNAPLib/mapq.h
@@ -0,0 +1,68 @@
+/*++
+
+Module Name:
+
+ mapq.h
+
+Abstract:
+
+ Support functions for mapping quality
+
+Authors:
+
+ Bill Bolosky, December, 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#pragma once
+
+#include "directions.h"
+
+void initializeMapqTables();
+
+double mapqToProbability(int mapq); // The probability of a match for the given MAPQ
+
+inline int computeMAPQ(
+ double probabilityOfAllCandidates,
+ double probabilityOfBestCandidate,
+ int score,
+ int popularSeedsSkipped)
+{
+ probabilityOfAllCandidates = __max(probabilityOfAllCandidates, probabilityOfBestCandidate); // You'd think this wouldn't be necessary, but floating point limited precision causes it to be.
+ _ASSERT(probabilityOfBestCandidate >= 0.0);
+ // Special case for MAPQ 70, which we generate only if there is no evidence of a mismatch at all.
+
+ // cheese is off, so no special casing MAPQ 70. If you want to turn is back on, return these three lines and then change the two instance of 70 to 69 in the
+ // next set below (baseMAPQ =, twice).
+ //
+// if (probabilityOfAllCandidates == probabilityOfBestCandidate && popularSeedsSkipped == 0 && score < 5) {
+// return 70;
+// }
+
+ double correctnessProbability = probabilityOfBestCandidate / probabilityOfAllCandidates;
+ int baseMAPQ;
+ if (correctnessProbability >= 1) {
+ baseMAPQ = 70;
+ } else {
+ baseMAPQ = __min(70, (int)(-10 * log10(1 - correctnessProbability)));
+ }
+
+ //
+ // Apply a penalty based on the number of overly popular seeds in the read
+ //
+ baseMAPQ = __max(0, baseMAPQ - __max(0, popularSeedsSkipped-10) / 2);
+
+#ifdef TRACE_ALIGNER
+ printf("computeMAPQ called at %u: score %d, pThis %g, pAll %g, result %d\n",
+ location, score, probabilityOfBestCandidate, probabilityOfAllCandidates, baseMAPQ);
+#endif
+
+ return baseMAPQ;
+}
diff --git a/SNAPLib/options.h b/SNAPLib/options.h
new file mode 100644
index 0000000..a47243e
--- /dev/null
+++ b/SNAPLib/options.h
@@ -0,0 +1,32 @@
+/*++
+
+Module Name:
+
+ options.h
+
+Abstract:
+
+ Compile time options for cSNAP
+
+Authors:
+
+ Bill Bolosky, September, 2011
+
+Environment:
+
+ User mode service.
+
+ This class is NOT thread safe. It's the caller's responsibility to ensure that
+ at most one thread uses an instance at any time.
+
+Revision History:
+
+ Adapted from Matei Zaharia's Scala implementation.
+
+--*/
+
+#pragma once
+
+#ifndef USE_DEVTEAM_OPTIONS
+#define USE_DEVTEAM_OPTIONS 1 // Options only for the development team, not for the release version
+#endif
diff --git a/SNAPLib/stdafx.cpp b/SNAPLib/stdafx.cpp
new file mode 100644
index 0000000..e392466
--- /dev/null
+++ b/SNAPLib/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// SNAPLib.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/SNAPLib/stdafx.h b/SNAPLib/stdafx.h
new file mode 100644
index 0000000..4968795
--- /dev/null
+++ b/SNAPLib/stdafx.h
@@ -0,0 +1,53 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+#pragma once
+
+#ifdef _MSC_VER
+#include "targetver.h"
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+#endif
+
+#include <algorithm>
+#include <fstream>
+#include <iostream>
+#include <string>
+#include <vector>
+
+#include <ctype.h>
+#include <errno.h>
+#include <memory.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdarg.h>
+
+#ifdef _MSC_VER
+
+#include <tchar.h>
+#include <crtdbg.h>
+#include <windows.h>
+#include <direct.h>
+#include <wincrypt.h>
+#include <fcntl.h>
+#include <io.h>
+
+#else // _MSC_VER
+
+#include <assert.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+// MAP_ANONYMOUS is called MAP_ANON on OS X
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+#endif // _MSC_VER
+
diff --git a/SNAPLib/targetver.h b/SNAPLib/targetver.h
new file mode 100644
index 0000000..87c0086
--- /dev/null
+++ b/SNAPLib/targetver.h
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>
diff --git a/apps/ComputeROC/.gitignore b/apps/ComputeROC/.gitignore
new file mode 100644
index 0000000..0f3a6b1
--- /dev/null
+++ b/apps/ComputeROC/.gitignore
@@ -0,0 +1,2 @@
+Debug
+Release
diff --git a/apps/ComputeROC/ComputeROC.cpp b/apps/ComputeROC/ComputeROC.cpp
new file mode 100644
index 0000000..451e001
--- /dev/null
+++ b/apps/ComputeROC/ComputeROC.cpp
@@ -0,0 +1,431 @@
+/*++
+
+Module Name:
+
+ ComputeROC.cpp
+
+Abstract:
+
+ Take a SAM file with simulated reads and compute a ROC curve from it.
+
+Authors:
+
+ Bill Bolosky, December, 2012
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "SAM.h"
+#include "Bam.h"
+#include "Genome.h"
+#include "Compat.h"
+#include "Read.h"
+#include "RangeSplitter.h"
+#include "BigAlloc.h"
+
+void usage()
+{
+ fprintf(stderr,"usage: ComputeROC genomeDirectory inputFile {-b}\n");
+ fprintf(stderr," -b means to accept reads that match either end of the range regardless of RC\n");
+ fprintf(stderr," -c means to just count the number of reads that are aligned, not to worry about correctness\n");
+ fprintf(stderr," -v means to correct for the error in generating the wgsim coordinates in the Venter data\n");
+ fprintf(stderr," -e means to print out misaligned reads where the aligned location has a lower edit distance than the 'correct' one.\n");
+ fprintf(stderr," -70 means to print out any misaligned reads with MAPQ 70.\n");
+ fprintf(stderr,"You can specify only one of -b or -c\n");
+ exit(1);
+}
+
+ReadSupplierGenerator *readSupplierGenerator;
+volatile _int64 nRunningThreads;
+SingleWaiterObject allThreadsDone;
+const char *inputFileName;
+const Genome *genome;
+bool matchBothWays = false;
+bool justCount = false;
+bool venter = false;
+unsigned slackAmount = 151;
+bool printBetterErrors = false;
+bool printErrorsAtMAPQ70 = false;
+
+static const int MaxMAPQ = 70;
+const unsigned MaxEditDistance = 100;
+struct ThreadContext {
+ unsigned whichThread;
+
+ _int64 countOfReads[MaxMAPQ+1];
+ _int64 countOfMisalignments[MaxMAPQ+1];
+ _int64 countOfMisalignetsWithBetterEditDistance[MaxMAPQ+1];
+ _int64 nUnaligned;
+ _int64 totalReads;
+
+ _int64 countOfReadsByEditDistance[MaxMAPQ+1][MaxEditDistance+1];
+ _int64 countOfMisalignmentsByEditDistance[MaxMAPQ+1][MaxEditDistance+1];
+ _int64 countOfMisalignetsWithBetterEditDistanceByEditDistance[MaxMAPQ+1][MaxEditDistance+1];
+
+
+ ThreadContext() {
+ nUnaligned = 0;
+ totalReads = 0;
+ for (int i = 0; i <= MaxMAPQ; i++) {
+ countOfReads[i] = countOfMisalignments[i] = countOfMisalignetsWithBetterEditDistance[i] = 0;
+ for (int j = 0; j <= MaxEditDistance; j++) {
+ countOfReadsByEditDistance[i][j] = 0;
+ countOfMisalignmentsByEditDistance[i][j] = 0;
+ countOfMisalignetsWithBetterEditDistanceByEditDistance[i][j] = 0;
+ }
+ }
+ }
+
+};
+
+bool inline isADigit(char x) {
+ return x >= '0' && x <= '9';
+}
+
+void
+WorkerThreadMain(void *param)
+{
+ ThreadContext *context = (ThreadContext *)param;
+
+ ReadSupplier *readSupplier = readSupplierGenerator->generateNewReadSupplier();
+
+ Read *read;
+ LandauVishkinWithCigar lv;
+ while (NULL != (read = readSupplier->getNextRead())) {
+ unsigned mapQ = read->getOriginalMAPQ();
+ unsigned genomeLocation = read->getOriginalAlignedLocation();
+ unsigned flag = read->getOriginalSAMFlags();
+
+ if (flag & SAM_UNMAPPED) {
+ genomeLocation = 0xffffffff;
+ }
+
+ if (mapQ < 0 || mapQ > MaxMAPQ) {
+ fprintf(stderr,"Invalid MAPQ: %d\n",mapQ);
+ exit(1);
+ }
+
+ context->totalReads++;
+
+ if (0xffffffff == genomeLocation) {
+ context->nUnaligned++;
+ } else if (justCount) {
+ context->countOfReads[mapQ]++;
+ } else if (!justCount) {
+ if (flag & SAM_REVERSE_COMPLEMENT) {
+ read->becomeRC();
+ }
+
+ const Genome::Contig *contig = genome->getContigAtLocation(genomeLocation);
+ if (NULL == contig) {
+ fprintf(stderr,"couldn't find genome contig for offset %u\n",genomeLocation);
+ exit(1);
+ }
+ unsigned offsetA, offsetB;
+ bool matched;
+
+ const unsigned cigarBufLen = 1000;
+ char cigarForAligned[cigarBufLen];
+ const char *alignedGenomeData = genome->getSubstring(genomeLocation, 1);
+ int editDistance = lv.computeEditDistance(alignedGenomeData, read->getDataLength() + 20, read->getData(), read->getDataLength(), 30, cigarForAligned, cigarBufLen, false);
+
+ if (editDistance == -1 || editDistance > MaxEditDistance) {
+ editDistance = MaxEditDistance;
+ }
+
+ //
+ // Parse the read ID. The format is ChrName_OffsetA_OffsetB_?:<more stuff>. This would be simple to parse, except that
+ // ChrName can include "_". So, we parse it by looking for the first : and then working backward.
+ //
+ char idBuffer[10000]; // Hopefully big enough. I'm not worried about malicious input data here.
+
+ memcpy(idBuffer,read->getId(),read->getIdLength());
+ idBuffer[read->getIdLength()] = 0;
+
+ const char *firstColon = strchr(idBuffer,':');
+ bool badParse = true;
+ size_t chrNameLen;
+ const char *beginningOfSecondNumber;
+ const char *beginningOfFirstNumber; int stage = 0;
+ unsigned offsetOfCorrectChromosome;
+
+ if (NULL != firstColon && firstColon - 3 > idBuffer && (*(firstColon-1) == '?' || isADigit(*(firstColon - 1)))) {
+ //
+ // We've parsed backwards to see that we have at least #: or ?: where '#' is a digit and ? is literal. If it's
+ // a digit, then scan backwards through that number.
+ //
+ const char *underscoreBeforeFirstColon = firstColon - 2;
+ while (underscoreBeforeFirstColon > idBuffer && isADigit(*underscoreBeforeFirstColon)) {
+ underscoreBeforeFirstColon--;
+ }
+
+ if (*underscoreBeforeFirstColon == '_' && (isADigit(*(underscoreBeforeFirstColon - 1)) || *(underscoreBeforeFirstColon - 1) == '_')) {
+ stage = 1;
+ if (isADigit(*(underscoreBeforeFirstColon - 1))) {
+ beginningOfSecondNumber = firstColon - 3;
+ while (beginningOfSecondNumber > idBuffer && isADigit(*beginningOfSecondNumber)) {
+ beginningOfSecondNumber--;
+ }
+ beginningOfSecondNumber++; // That loop actually moved us back one char before the beginning;
+ } else {
+ //
+ // There's only one number, we have two consecutive underscores.
+ //
+ beginningOfSecondNumber = underscoreBeforeFirstColon;
+ }
+ if (beginningOfSecondNumber - 2 > idBuffer && *(beginningOfSecondNumber - 1) == '_' && isADigit(*(beginningOfSecondNumber - 2))) {
+ stage = 2;
+ beginningOfFirstNumber = beginningOfSecondNumber - 2;
+ while (beginningOfFirstNumber > idBuffer && isADigit(*beginningOfFirstNumber)) {
+ beginningOfFirstNumber--;
+ }
+ beginningOfFirstNumber++; // Again, we went one too far.
+
+ offsetA = -1;
+ offsetB = -1;
+
+ if (*(beginningOfFirstNumber - 1) == '_' && 1 == sscanf(beginningOfFirstNumber,"%u",&offsetA) &&
+ ('_' == *beginningOfSecondNumber || 1 == sscanf(beginningOfSecondNumber,"%u", &offsetB))) {
+ stage = 3;
+
+ chrNameLen = (beginningOfFirstNumber - 1) - idBuffer;
+ char correctChromosomeName[1000];
+ memcpy(correctChromosomeName, idBuffer, chrNameLen);
+ correctChromosomeName[chrNameLen] = '\0';
+
+ if (venter && offsetB >= read->getDataLength()) {
+ offsetB -= read->getDataLength();
+ }
+
+ if (!genome->getOffsetOfContig(correctChromosomeName, &offsetOfCorrectChromosome)) {
+ fprintf(stderr, "Couldn't parse chromosome name '%s' from read id\n", correctChromosomeName);
+ } else {
+ badParse = false;
+ }
+ }
+ }
+ }
+
+ if (badParse) {
+ fprintf(stderr,"Unable to parse read ID '%s', perhaps this isn't simulated data. contiglen = %d, contigName = '%s', contig offset = %u, genome offset = %u\n", idBuffer, strlen(contig->name), contig->name, contig->beginningOffset, genomeLocation);
+ exit(1);
+ }
+
+
+ bool match0 = false;
+ bool match1 = false;
+ if (-1 == offsetA || -1 == offsetB) {
+ matched = false;
+ } else if(strncmp(contig->name, idBuffer, __min(read->getIdLength(), chrNameLen))) {
+ matched = false;
+ } else {
+ if (isWithin(offsetA, genomeLocation - contig->beginningOffset, slackAmount)) {
+ matched = true;
+ match0 = true;
+ } else if (isWithin(offsetB, genomeLocation - contig->beginningOffset, slackAmount)) {
+ matched = true;
+ match1 = true;
+ } else {
+ matched = false;
+ if (flag & SAM_FIRST_SEGMENT) {
+ match0 = true;
+ } else {
+ match1 = true;
+ }
+ }
+ }
+
+ context->countOfReads[mapQ]++;
+ context->countOfReadsByEditDistance[mapQ][editDistance]++;
+
+ if (!matched) {
+ context->countOfMisalignments[mapQ]++;
+ context->countOfMisalignmentsByEditDistance[mapQ][editDistance]++;
+
+ if ((70 == mapQ && printErrorsAtMAPQ70) || printBetterErrors) {
+
+ //
+ // We don't know which offset is correct, because neither one matched. Just take the one with the lower edit distance.
+ //
+ unsigned correctLocationA = offsetOfCorrectChromosome + offsetA;
+ unsigned correctLocationB = offsetOfCorrectChromosome + offsetB;
+
+ unsigned correctLocation = 0;
+ const char *correctData = NULL;
+
+ const char *dataA = genome->getSubstring(correctLocationA, 1);
+ const char *dataB = genome->getSubstring(correctLocationB, 1);
+ int distanceA, distanceB;
+ char cigarA[cigarBufLen];
+ char cigarB[cigarBufLen];
+
+ cigarA[0] = '*'; cigarA[1] = '\0';
+ cigarB[0] = '*'; cigarB[1] = '\0';
+
+ if (dataA == NULL) {
+ distanceA = -1;
+ } else {
+ distanceA = lv.computeEditDistance(dataA, read->getDataLength() + 20, read->getData(), read->getDataLength(), 30, cigarA, cigarBufLen, false);
+ }
+
+ if (dataB == NULL) {
+ distanceB = -1;
+ } else {
+ distanceB = lv.computeEditDistance(dataB, read->getDataLength() + 20, read->getData(), read->getDataLength(), 30, cigarB, cigarBufLen, false);
+ }
+
+ const char *correctGenomeData;
+ char *cigarForCorrect;
+
+ if (distanceA != -1 && distanceA <= distanceB || distanceB == -1) {
+ correctGenomeData = dataA;
+ correctLocation = correctLocationA;
+ cigarForCorrect = cigarA;
+ } else {
+ correctGenomeData = dataB;
+ correctLocation = correctLocationB;
+ cigarForCorrect = cigarB;
+ }
+
+ bool betterEditDistance = ((distanceA > editDistance && distanceB > editDistance) || (-1 == distanceA && -1 == distanceB));
+ if (betterEditDistance) {
+ context->countOfMisalignetsWithBetterEditDistanceByEditDistance[mapQ][editDistance]++;
+ context->countOfMisalignetsWithBetterEditDistance[mapQ]++;
+ }
+
+ // if (!printBetterErrors || (printBetterErrors && betterEditDistance)) {
+
+ // printf("%s\t%d\t%s\t%u\t%d\t%s\t*\t*\t100\t%.*s\t%.*s\tAlignedGenomeLocation:%u\tCorrectGenomeLocation: %u\tCigarForCorrect: %s\tCorrectData: %.*s\tAlignedData: %.*s\n",
+ // idBuffer, flag, contig->name, genomeLocation - contig->beginningOffset, mapQ, cigarForAligned, read.getDataLength(), read.getData(),
+ // read.getDataLength(), read.getQuality(), genomeLocation, correctLocation, cigarForCorrect, read.getDataLength(),
+ // correctGenomeData, read.getDataLength(), alignedGenomeData);
+ //}
+ }
+ }
+ }
+ } // if it was mapped
+ } // for each read from the sam reader
+
+ if (0 == InterlockedAdd64AndReturnNewValue(&nRunningThreads, -1)) {
+ SignalSingleWaiterObject(&allThreadsDone);
+ }
+}
+
+
+int main(int argc, char * argv[])
+{
+ BigAllocUseHugePages = false;
+
+ if (argc < 3) usage();
+
+ for (int i = 3; i < argc; i++) {
+ if (!strcmp(argv[i], "-b")) {
+ matchBothWays = true;
+ } else if (!strcmp(argv[i], "-c")) {
+ justCount = true;
+ } else if (!strcmp(argv[i], "-v")) {
+ venter = true;
+ } else if (!strcmp(argv[i], "-e")) {
+ printBetterErrors = true;
+ } else if (!strcmp(argv[i], "-70")) {
+ printErrorsAtMAPQ70 = true;
+ } else {
+ usage();
+ }
+ }
+
+ static const char *genomeSuffix = "Genome";
+ size_t filenameLen = strlen(argv[1]) + 1 + strlen(genomeSuffix) + 1;
+ char *fileName = new char[strlen(argv[1]) + 1 + strlen(genomeSuffix) + 1];
+ snprintf(fileName,filenameLen,"%s%c%s",argv[1],PATH_SEP,genomeSuffix);
+ genome = Genome::loadFromFile(fileName, 0);
+ if (NULL == genome) {
+ fprintf(stderr,"Unable to load genome from file '%s'\n",fileName);
+ return -1;
+ }
+ delete [] fileName;
+ fileName = NULL;
+
+ inputFileName = argv[2];
+
+ unsigned nThreads;
+#ifdef _DEBUG
+ nThreads = 1;
+#else // _DEBUG
+ nThreads = GetNumberOfProcessors();
+#endif // _DEBUG
+
+
+ DataSupplier::ThreadCount = nThreads;
+ nRunningThreads = nThreads;
+
+ ReaderContext readerContext;
+ readerContext.clipping = NoClipping;
+ readerContext.defaultReadGroup = "";
+ readerContext.genome = genome;
+ readerContext.ignoreSecondaryAlignments = true;
+ readerContext.ignoreSupplementaryAlignments = true;
+ readerContext.header = NULL;
+ readerContext.headerLength = 0;
+ readerContext.headerBytes = 0;
+
+ if (NULL != strrchr(inputFileName, '.') && !_stricmp(strrchr(inputFileName, '.'), ".bam")) {
+ readSupplierGenerator = BAMReader::createReadSupplierGenerator(inputFileName, nThreads, readerContext);
+ } else {
+ readSupplierGenerator = SAMReader::createReadSupplierGenerator(inputFileName, nThreads, readerContext);
+ }
+
+ CreateSingleWaiterObject(&allThreadsDone);
+ ThreadContext *contexts = new ThreadContext[nThreads];
+
+ for (unsigned i = 0; i < nThreads; i++) {
+ contexts[i].whichThread = i;
+
+ StartNewThread(WorkerThreadMain, &contexts[i]);
+ }
+
+ WaitForSingleWaiterObject(&allThreadsDone);
+
+ _int64 nUnaligned = 0;
+ _int64 totalReads = 0;
+ for (unsigned i = 0; i < nThreads; i++) {
+ nUnaligned += contexts[i].nUnaligned;
+ totalReads += contexts[i].totalReads;
+ }
+ printf("%lld reads, %lld unaligned (%0.2f%%)\n", (long long)totalReads, (long long)nUnaligned, 100. * (double)nUnaligned / (double)totalReads);
+
+ printf("MAPQ\tnReads\tnMisaligned");
+ if (printBetterErrors) {
+ printf("\tBetterMisaligned");
+ }
+ printf("\n");
+ for (int i = 0; i <= MaxMAPQ; i++) {
+ _int64 nReads = 0;
+ _int64 nMisaligned = 0;
+ _int64 betterMisaligned = 0;
+ for (unsigned j = 0; j < nThreads; j++) {
+ nReads += contexts[j].countOfReads[i];
+ nMisaligned += contexts[j].countOfMisalignments[i];
+ betterMisaligned += contexts[j].countOfMisalignetsWithBetterEditDistance[i];
+ }
+ printf("%d\t%lld\t%lld", i, (long long)nReads, (long long)nMisaligned);
+ if (printBetterErrors) {
+ printf("\t%lld", (long long)betterMisaligned);
+ }
+ printf("\n");
+ }
+
+ int maxEditDistanceSeen = 0;
+ for (unsigned i = 0; i < nThreads; i++) {
+ }
+
+ return 0;
+}
+
diff --git a/apps/ComputeROC/ComputeROC.vcxproj b/apps/ComputeROC/ComputeROC.vcxproj
new file mode 100644
index 0000000..c439a7b
--- /dev/null
+++ b/apps/ComputeROC/ComputeROC.vcxproj
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{EB694CE8-E805-41A0-9D08-C8BEED857166}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>ComputeROC</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\ComputeROC\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\ComputeROC\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>libhdfs.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>libhdfs.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h" />
+ <ClInclude Include="targetver.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="ComputeROC.cpp" />
+ <ClCompile Include="stdafx.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
+ </ClCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/ComputeROC/ComputeROC.vcxproj.filters b/apps/ComputeROC/ComputeROC.vcxproj.filters
new file mode 100644
index 0000000..db4af98
--- /dev/null
+++ b/apps/ComputeROC/ComputeROC.vcxproj.filters
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="targetver.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ComputeROC.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/ComputeROC/stdafx.cpp b/apps/ComputeROC/stdafx.cpp
new file mode 100644
index 0000000..ef4f015
--- /dev/null
+++ b/apps/ComputeROC/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// snap.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/apps/ComputeROC/stdafx.h b/apps/ComputeROC/stdafx.h
new file mode 100644
index 0000000..7c82d2b
--- /dev/null
+++ b/apps/ComputeROC/stdafx.h
@@ -0,0 +1,5 @@
+#ifdef _MSC_VER
+#include "..\..\SNAPLib\stdafx.h"
+#else
+#include "../../SNAPLib/stdafx.h"
+#endif
diff --git a/apps/ComputeROC/targetver.h b/apps/ComputeROC/targetver.h
new file mode 100644
index 0000000..87c0086
--- /dev/null
+++ b/apps/ComputeROC/targetver.h
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>
diff --git a/apps/DistanceHist/DistanceHist.cpp b/apps/DistanceHist/DistanceHist.cpp
new file mode 100644
index 0000000..b578b83
--- /dev/null
+++ b/apps/DistanceHist/DistanceHist.cpp
@@ -0,0 +1,234 @@
+/*++
+
+Module Name:
+
+ DistanceHist.cpp
+
+Abstract:
+
+ Compute a histogram of the edit distances between simulated reads and their correct
+ alignments.
+
+Authors:
+
+ Bill Bolosky, May 2013
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+
+#include "stdafx.h"
+#include "Compat.h"
+#include "Genome.h"
+#include "exit.h"
+#include "SAM.h"
+#include "FASTQ.h"
+#include "WGsim.h"
+#include "LandauVishkin.h"
+#include "Tables.h"
+
+const Genome *genome = NULL;
+
+struct DistHistogram {
+ static const unsigned MaxDistance = 100;
+ unsigned counts[MaxDistance+2];
+
+ DistHistogram() {
+ for (unsigned i = 0 ; i < MaxDistance+2; i++) {
+ counts[i] = 0;
+ }
+ }
+
+ void addIn(const DistHistogram &peer) {
+ for (unsigned i = 0; i < MaxDistance+2; i++) {
+ counts[i] += peer.counts[i];
+ }
+ }
+};
+
+ReadSupplierGenerator *readSupplierGenerator = NULL;
+volatile int nRunningThreads;
+SingleWaiterObject threadsDone;
+
+void
+usage()
+{
+ fprintf(stderr,"usage: DistanceHist index inputFile\n");
+ soft_exit(1);
+}
+
+void workerThreadMain(void *context)
+{
+ DistHistogram histogram; // Don't use the context one until the end to avoid false sharing
+
+ LandauVishkinWithCigar lv;
+
+ ReadSupplier *readSupplier = readSupplierGenerator->generateNewReadSupplier();
+
+ const unsigned maxReadLen = MAX_READ_LENGTH;
+ char *rcBuffer = new char[maxReadLen];
+
+ Read *read;
+ while (NULL != (read = readSupplier->getNextRead())) {
+ unsigned readLen = read->getDataLength();
+ unsigned highOffset, lowOffset;
+ const char *readData = read->getData();
+ const char *quality = read->getQuality();
+
+ bool lowQual = false;
+ for (unsigned i = 0 ; i < readLen; i++) {
+ if (quality[i] < '?') {
+ lowQual = true;
+ break;
+ }
+ }
+ if (lowQual) {
+ continue;
+ }
+
+ char cigar[4][100];
+ const char *genomeData[4];
+ int edit[4];
+
+ //
+ // We don't care if it's misaligned (or in fact if it's aligned at all). Just get the
+ // offsets from the wgsim name.
+ //
+ wgsimReadMisaligned(read, 0, genome, 0, &lowOffset, &highOffset);
+
+ unsigned bestAt = 0;
+ cigar[0][0] = '\0';
+ int bestDistance = read->getDataLength();
+ genomeData[0] = genome->getSubstring(lowOffset, readLen + 20);
+ int dist = edit[0] = lv.computeEditDistance(genome->getSubstring(lowOffset, readLen + 20), readLen + 20, readData, readLen, MAX_K - 1, cigar[0], 100, false);
+ if (dist >= 0) {
+ bestDistance = dist;
+ }
+
+ genomeData[1] = genome->getSubstring(highOffset, readLen + 20);
+ edit[1] = dist = lv.computeEditDistance(genome->getSubstring(highOffset, readLen + 20), readLen + 20, readData, readLen, MAX_K - 1, cigar[1], 100, false);
+
+ if (dist >= 0 && dist < bestDistance) {
+ bestDistance = dist;
+ bestAt = 1;
+ }
+
+ for (unsigned i = 0; i < readLen; i++) {
+ rcBuffer[readLen - i - 1] = COMPLEMENT[readData[i]];
+ }
+
+ genomeData[2] = genome->getSubstring(lowOffset, readLen + 20);
+ edit[2] = dist = lv.computeEditDistance(genome->getSubstring(lowOffset, readLen + 20), readLen + 20, rcBuffer, readLen, MAX_K - 1, cigar[2], 100, false);
+ if (dist >= 0 && dist < bestDistance) {
+ bestDistance =dist;
+ bestAt = 2;
+ }
+
+ genomeData[3] = genome->getSubstring(highOffset, readLen + 20);
+ edit[3] = dist = lv.computeEditDistance(genome->getSubstring(highOffset, readLen + 20), readLen + 20, rcBuffer, readLen, MAX_K - 1, cigar[3], 100, false);
+
+ if (dist >= 0 && dist < bestDistance) {
+ bestDistance = dist;
+ bestAt = 3;
+ }
+
+ bool containsIndels = false;
+ for (size_t i = 0; i < strlen(cigar[bestAt]); i++) {
+ if (cigar[bestAt][i] == 'I' || cigar[bestAt][i] == 'D') {
+ containsIndels = true;
+ break;
+ }
+ }
+
+ if (containsIndels) {
+ continue;
+ }
+
+ if (bestDistance <0 || bestDistance > DistHistogram::MaxDistance) {
+ histogram.counts[DistHistogram::MaxDistance]++;
+ } else {
+ histogram.counts[bestDistance]++;
+ }
+ }
+
+ ((DistHistogram *)context)->addIn(histogram);
+ if (0 == InterlockedDecrementAndReturnNewValue(&nRunningThreads)) {
+ SignalSingleWaiterObject(&threadsDone);
+ }
+
+ delete rcBuffer; // Cause I'm just that kinda guy.
+}
+
+void main(int argc, char * argv[])
+{
+ if (3 != argc) usage();
+
+ BigAllocUseHugePages = false;
+
+ const char *genomeFileName = "Genome";
+ char *pathname = new char[strlen(argv[1]) + 1 /* for directory separator */ + strlen(genomeFileName) + 1 /* for null */];
+ sprintf(pathname, "%s%c%s", argv[1], PATH_SEP, genomeFileName);
+
+ _int64 start = timeInMillis();
+ printf("Loading genome...");
+ genome = Genome::loadFromFile(pathname, 0);
+ if (NULL == genome) {
+ fprintf(stderr,"Unable to load genome from file '%s'\n",pathname);
+ soft_exit(1);
+ }
+ printf("%llds.\n", (timeInMillis() + 500 - start) / 1000);
+
+ unsigned threadCount = GetNumberOfProcessors();
+#ifdef _DEBUG
+ threadCount = 1; // BJB
+#endif // _DEBUG
+
+ const char *lastDot = strchr(argv[2], '.');
+ if (NULL != lastDot && !_stricmp(lastDot,".sam")) {
+ readSupplierGenerator = SAMReader::createReadSupplierGenerator(argv[2], threadCount, genome);
+ } else {
+ readSupplierGenerator = FASTQReader::createReadSupplierGenerator(argv[2], threadCount);
+ }
+
+ if (NULL == readSupplierGenerator) {
+ fprintf(stderr,"Unable to open file '%s' to get reads\n", argv[2]);
+ soft_exit(1);
+ }
+
+ nRunningThreads = threadCount;
+ DistHistogram *histograms = new DistHistogram[threadCount];
+ CreateSingleWaiterObject(&threadsDone);
+
+ for (unsigned i = 0; i < threadCount; i++) {
+ StartNewThread(workerThreadMain, &histograms[i]);
+ }
+
+ WaitForSingleWaiterObject(&threadsDone);
+
+ for (unsigned i = 1; i < threadCount; i++) {
+ histograms[0].addIn(histograms[i]);
+ }
+
+
+ unsigned totalReads = 0;
+ for (unsigned i = 0; i < DistHistogram::MaxDistance+1; i++) {
+ printf("%d\t%d\n",i,histograms[0].counts[i]);
+ totalReads += histograms[0].counts[i];
+ }
+
+ if (histograms[0].counts[DistHistogram::MaxDistance+1] != 0) {
+ printf("More\t%d\n", histograms[0].counts[DistHistogram::MaxDistance+1]);
+ totalReads += histograms[0].counts[DistHistogram::MaxDistance+1];
+ }
+
+ _int64 stop = timeInMillis();
+ printf("\nProcessed %d reads in %llds, %lld reads/s\n", totalReads, (stop + 500 - start) / 1000, ((_int64) totalReads) * 1000 / (stop - start));
+
+}
+
diff --git a/apps/DistanceHist/DistanceHist.vcxproj b/apps/DistanceHist/DistanceHist.vcxproj
new file mode 100644
index 0000000..830ef91
--- /dev/null
+++ b/apps/DistanceHist/DistanceHist.vcxproj
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{029221BC-7BC0-448C-9A68-12D94A25F412}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>DistanceHist</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h" />
+ <ClInclude Include="targetver.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="DistanceHist.cpp" />
+ <ClCompile Include="stdafx.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
+ </ClCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/DistanceHist/DistanceHist.vcxproj.filters b/apps/DistanceHist/DistanceHist.vcxproj.filters
new file mode 100644
index 0000000..6dd986b
--- /dev/null
+++ b/apps/DistanceHist/DistanceHist.vcxproj.filters
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="targetver.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="DistanceHist.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/DistanceHist/stdafx.cpp b/apps/DistanceHist/stdafx.cpp
new file mode 100644
index 0000000..8d96bae
--- /dev/null
+++ b/apps/DistanceHist/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// DistanceHist.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/apps/DistanceHist/stdafx.h b/apps/DistanceHist/stdafx.h
new file mode 100644
index 0000000..45028a6
--- /dev/null
+++ b/apps/DistanceHist/stdafx.h
@@ -0,0 +1,50 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+#pragma once
+
+#ifdef _MSC_VER
+#include "targetver.h"
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+#endif
+
+#include <algorithm>
+#include <fstream>
+#include <iostream>
+#include <string>
+#include <vector>
+
+#include <ctype.h>
+#include <errno.h>
+#include <memory.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef _MSC_VER
+
+#include <tchar.h>
+#include <crtdbg.h>
+#include <windows.h>
+#include <direct.h>
+#include <wincrypt.h>
+
+#else
+
+#include <assert.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+// MAP_ANONYMOUS is called MAP_ANON on OS X
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+#endif
+
diff --git a/apps/DistanceHist/targetver.h b/apps/DistanceHist/targetver.h
new file mode 100644
index 0000000..87c0086
--- /dev/null
+++ b/apps/DistanceHist/targetver.h
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>
diff --git a/apps/ExtractReads/ExtractReads.cpp b/apps/ExtractReads/ExtractReads.cpp
new file mode 100644
index 0000000..f432509
--- /dev/null
+++ b/apps/ExtractReads/ExtractReads.cpp
@@ -0,0 +1,109 @@
+/*++
+
+Module Name:
+
+ ComputeROC.cpp
+
+Abstract:
+
+ Take a SAM file with simulated reads and compute a ROC curve from it.
+
+Authors:
+
+ Bill Bolosky, December, 2012
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "SAM.h"
+#include "BAM.h"
+#include "Genome.h"
+#include "Compat.h"
+#include "Read.h"
+#include "RangeSplitter.h"
+#include "BigAlloc.h"
+
+void usage()
+{
+ fprintf(stderr,"usage: ExtractReads genomeDirectory input.bam output.sam chromosome\n");
+ exit(1);
+}
+
+
+int main(int argc, char * argv[])
+{
+ BigAllocUseHugePages = false;
+
+ if (argc != 5) usage();
+
+ static const char *genomeSuffix = "Genome";
+ size_t filenameLen = strlen(argv[1]) + 1 + strlen(genomeSuffix) + 1;
+ char *fileName = new char[strlen(argv[1]) + 1 + strlen(genomeSuffix) + 1];
+ snprintf(fileName,filenameLen,"%s%c%s",argv[1],PATH_SEP,genomeSuffix);
+ const Genome *genome = Genome::loadFromFile(fileName, 0);
+ if (NULL == genome) {
+ fprintf(stderr,"Unable to load genome from file '%s'\n",fileName);
+ return -1;
+ }
+ delete [] fileName;
+ fileName = NULL;
+
+ ReaderContext readerContext;
+ readerContext.header = NULL;
+ readerContext.genome = genome;
+ readerContext.clipping = NoClipping;
+ readerContext.paired = false;
+ readerContext.ignoreSecondaryAlignments = true;
+ readerContext.ignoreSupplementaryAlignments = true;
+ readerContext.defaultReadGroup = "";
+
+ ReadSupplierGenerator *readSupplierGenerator = BAMReader::createReadSupplierGenerator(fileName,1, readerContext);
+ ReadSupplier *readSupplier = readSupplierGenerator->generateNewReadSupplier();
+
+ AlignerOptions options("");
+ options.outputFileTemplate = argv[4];
+ options.sortOutput = false;
+
+ const FileFormat* format =
+ FileFormat::SAM[0]->isFormatOf(argv[3]) ? FileFormat::SAM[false] :
+ FileFormat::BAM[0]->isFormatOf(argv[3]) ? FileFormat::BAM[false] :
+ NULL;
+
+ if (NULL == format) {
+ fprintf(stderr,"Can't determine format for output file (does it end in .sam or .bam?)\n");
+ return 0;
+ }
+
+ ReadWriterSupplier *writerSupplier = format->getWriterSupplier(&options, readerContext.genome);
+ ReadWriter* writer = writerSupplier->getWriter();
+ writer->writeHeader(readerContext, options.sortOutput, argc, (const char **)argv, "", "");
+
+ Read *read;
+ AlignmentResult alignmentResult;
+ unsigned genomeLocation;
+ bool isRC;
+ unsigned mapQ;
+ _int64 totalReads = 0;
+ _int64 emittedReads = 0;
+ while (readSupplier->getNextRead()) {
+ totalReads++;
+ const Genome::Contig *contig = genome->getContigAtLocation(genomeLocation);
+ if (NULL != contig && !strcmp(contig->name, argv[4])) {
+ emittedReads++;
+ writer->writeRead(read, alignmentResult, mapQ, genomeLocation, isRC ? RC : FORWARD);
+ }
+ }
+ writer->close();
+
+ printf("Processed %lld reads, of which %lld were emitted\n", totalReads, emittedReads);
+
+ return 0;
+}
+
diff --git a/apps/ExtractReads/ExtractReads.vcxproj b/apps/ExtractReads/ExtractReads.vcxproj
new file mode 100644
index 0000000..7c719af
--- /dev/null
+++ b/apps/ExtractReads/ExtractReads.vcxproj
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{FD52DC05-194B-4BD8-828E-A5679777D6C8}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>ExtractReads</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\ComputeROC\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\ComputeROC\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\ComputeROC\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\ComputeROC\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions));_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions));_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions));_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions));_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h" />
+ <ClInclude Include="targetver.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="ExtractReads.cpp" />
+ <ClCompile Include="stdafx.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/ExtractReads/ExtractReads.vcxproj.filters b/apps/ExtractReads/ExtractReads.vcxproj.filters
new file mode 100644
index 0000000..719f5d6
--- /dev/null
+++ b/apps/ExtractReads/ExtractReads.vcxproj.filters
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="targetver.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ExtractReads.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/ExtractReads/stdafx.cpp b/apps/ExtractReads/stdafx.cpp
new file mode 100644
index 0000000..f4641da
--- /dev/null
+++ b/apps/ExtractReads/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// ExtractReads.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/apps/ExtractReads/stdafx.h b/apps/ExtractReads/stdafx.h
new file mode 100644
index 0000000..7c82d2b
--- /dev/null
+++ b/apps/ExtractReads/stdafx.h
@@ -0,0 +1,5 @@
+#ifdef _MSC_VER
+#include "..\..\SNAPLib\stdafx.h"
+#else
+#include "../../SNAPLib/stdafx.h"
+#endif
diff --git a/apps/ExtractReads/targetver.h b/apps/ExtractReads/targetver.h
new file mode 100644
index 0000000..87c0086
--- /dev/null
+++ b/apps/ExtractReads/targetver.h
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>
diff --git a/apps/RandomizePIfastq/GoodRandom.cpp b/apps/RandomizePIfastq/GoodRandom.cpp
new file mode 100644
index 0000000..e251b06
--- /dev/null
+++ b/apps/RandomizePIfastq/GoodRandom.cpp
@@ -0,0 +1,159 @@
+/*++
+
+
+Module Name:
+
+ GoodRandom.cpp
+
+Abstract:
+
+ Cryptographically secure random number generator that's fast because it batches getting its random
+ source from CryptGenRand(). It's careful not to bias results when the request range isn't a power
+ of two.
+
+ In Linux, uses the Mersenne Twister to get the raw numbers and mostly just applies the anti-biasing
+ related to random number ranges that aren't powers of two.
+
+Authors:
+
+ Bill Bolosky, April, 2011
+
+Environment:
+
+--*/
+#include "stdafx.h"
+#include "GoodRandom.h"
+//#include "mt64.h"
+
+unsigned MinBytesToStore(_uint64 maxValue)
+{
+ if (0 == maxValue) {
+ return 0;
+ } else if (maxValue < 0x100) {
+ return 1;
+ } else if (maxValue < 0x10000) {
+ return 2;
+ } else if (maxValue < 0x1000000) {
+ return 3;
+ } else if (maxValue < 0x100000000) {
+ return 4;
+ } else if (maxValue < 0x10000000000) {
+ return 5;
+ } else if (maxValue < 0x1000000000000) {
+ return 6;
+ } else if (maxValue < 0x100000000000000) {
+ return 7;
+ } else {
+ // Wow
+ return 8;
+ }
+}
+
+#ifdef _MSC_VER
+const unsigned GFRandomBufferSize = 10 * 1024 * 1024;
+
+struct GFRandomState {
+ char *buffer;
+ unsigned bufferUsed;
+};
+
+__declspec(thread) GFRandomState *g_randomState = NULL;
+
+__declspec(thread) HCRYPTPROV g_hRandomCryptProv;
+#endif
+
+_uint64 GoodFastRandom(_uint64 maxValue)
+{
+ if (0 == maxValue) {
+ return 0;
+ }
+#ifdef _MSC_VER
+ if (maxValue > 0xffffffffffffff && maxValue != 0xffffffffffffffff) {
+ fprintf(stderr,"GoodFastRandom: writeme\n");
+ exit(1);
+ // This case requires different math in the roundoff error check below, because as written
+ // it would use 1 << 64, which isn't representable. I'm too lazy to write it now.
+ }
+
+ if (NULL == g_randomState) {
+ g_randomState= new GFRandomState;
+ g_randomState->buffer = new char[GFRandomBufferSize];
+ g_randomState->bufferUsed = GFRandomBufferSize; // Forces us to get new random data the first time through.
+
+ BOOL worked = CryptAcquireContext(
+ &g_hRandomCryptProv,
+ "BillKeyContainer",
+ NULL, // default provider
+ PROV_RSA_FULL,
+ CRYPT_MACHINE_KEYSET);
+
+ if (!worked && NTE_BAD_KEYSET == GetLastError()) {
+ worked = CryptAcquireContext(
+ &g_hRandomCryptProv,
+ "BillKeyContainer",
+ NULL, // default provider
+ PROV_RSA_FULL,
+ CRYPT_MACHINE_KEYSET | CRYPT_NEWKEYSET);
+
+ }
+
+ if (!worked) {
+ fprintf(stderr,"Unable to get crypt provider, %d\n",GetLastError());
+ exit(1);
+ }
+ }
+#endif // _MSC_VER
+
+ unsigned bytesToGet = MinBytesToStore(maxValue);
+
+ for (;;) {
+ _uint64 rawValue = 0;
+
+#ifdef _MSC_VER
+ if (g_randomState->bufferUsed + bytesToGet > GFRandomBufferSize) {
+ if (!CryptGenRandom(g_hRandomCryptProv,GFRandomBufferSize,(PBYTE)g_randomState->buffer)) {
+ fprintf(stderr,"CryptGenRandom failed, %d\b\n",GetLastError());
+ exit(1);
+ }
+ g_randomState->bufferUsed = 0;
+ }
+
+ memcpy(&rawValue,g_randomState->buffer + g_randomState->bufferUsed,bytesToGet);
+ g_randomState->bufferUsed += bytesToGet;
+#else // _MSC_VER
+ #ifdef RELEASE
+ #if RAND_MAX % 0x100 != 0xff
+ fprintf(stderr,"Jesse was too lazy to correct random bias on your platform.\n");
+ exit(1);
+ #endif
+ for (unsigned b = 0; b < bytesToGet; ++b) {
+ // RAND_MAX could in theory be less than 0xffff.
+ _uint64 randomByte = rand() & 0xff;
+ rawValue |= randomByte << (b * 8);
+ }
+ #else
+ rawValue = genrand64_int64() >> (8 - bytesToGet) * 8;
+ #endif // RELEASE
+#endif // _MSC_VER
+
+ //
+ // Be careful here not to bias the result. If maxValue + 1 doesn't go evenly into 256^bytesToGet
+ // then there would be a bias toward the lower values, since they get one extra representation.
+ // So, if the value is in the last part, throw it away and try again.
+ //
+ if (0xffffffffffffffff == maxValue) {
+ //
+ // Special case for full range, because it wouldn't work with the code below.
+ //
+ return rawValue;
+ }
+
+ _uint64 maxRawValuePlusOne = ((_uint64)1) << (bytesToGet * 8);
+ if (rawValue < maxRawValuePlusOne - maxRawValuePlusOne % (maxValue+1)) {
+ return rawValue % (maxValue+1);
+ }
+ }
+
+ /*NOTREACHED*/
+}
+
diff --git a/apps/RandomizePIfastq/GoodRandom.h b/apps/RandomizePIfastq/GoodRandom.h
new file mode 100644
index 0000000..bb9ddc0
--- /dev/null
+++ b/apps/RandomizePIfastq/GoodRandom.h
@@ -0,0 +1,33 @@
+/*++
+
+
+Module Name:
+
+ GoodRandom.h
+
+Abstract:
+
+ Cryptographically secure random number generator that's fast because it batches getting its random
+ source from CryptGenRand(). It's careful not to bias results when the request range isn't a power
+ of two.
+
+Authors:
+
+ Bill Bolosky, April, 2011
+
+Environment:
+
+ Not thread safe.
+
+--*/
+#pragma once
+
+#include "Compat.h"
+
+unsigned MinBytesToStore(_uint64 maxValue);
+
+//
+// This returns a cryptographically secure random number from {0..maxValue} (NOT {0..maxValue-1}!)
+// It's computationally efficient, too.
+//
+_uint64 GoodFastRandom(_uint64 maxValue);
diff --git a/apps/RandomizePIfastq/RandomizePIfastq.cpp b/apps/RandomizePIfastq/RandomizePIfastq.cpp
new file mode 100644
index 0000000..fa291a9
--- /dev/null
+++ b/apps/RandomizePIfastq/RandomizePIfastq.cpp
@@ -0,0 +1,177 @@
+/*++
+
+Module Name:
+
+ RandomizePIfastq.cpp
+
+Abstract:
+
+ Cheezy little app that takes a paired, interleaved FASTQ and more-or-less randomizes it.
+
+Authors:
+
+ Bill Bolosky, September, 2013
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "GoodRandom.h"
+
+class IntermediateFile {
+public:
+ IntermediateFile(const char *fileName, size_t i_bufferSize);
+ ~IntermediateFile();
+
+
+ void addLines(char *lines, size_t size);
+ void close();
+
+private:
+ void flush();
+
+
+ HANDLE hFile;
+ size_t bufferSize;
+ size_t bufferUsed;
+ char *buffer;
+};
+
+IntermediateFile::IntermediateFile(const char *fileName, size_t i_bufferSize) : bufferSize(i_bufferSize)
+{
+ hFile = CreateFile(fileName, GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (INVALID_HANDLE_VALUE == hFile) {
+ fprintf(stderr,"Unable to open intermediate file '%s', %d\n", fileName, GetLastError());
+ return;
+ }
+ buffer = new char[bufferSize];
+ bufferUsed = 0;
+}
+
+IntermediateFile::~IntermediateFile()
+{
+ close();
+}
+
+ void
+IntermediateFile::addLines(char *lines, size_t size)
+{
+ if (size + bufferUsed > bufferSize) {
+ flush();
+ }
+
+ memcpy(buffer + bufferUsed, lines, size);
+
+ bufferUsed += size;
+}
+
+ void
+IntermediateFile::close()
+{
+ flush();
+ CloseHandle(hFile);
+ hFile = NULL;
+}
+
+ void
+IntermediateFile::flush()
+{
+ DWORD bytesWritten;
+ if (!WriteFile(hFile, buffer, bufferUsed, &bytesWritten, NULL)) {
+ fprintf(stderr,"WriteFile failed, %d\n", GetLastError());
+ return;
+ }
+ bufferUsed = 0;
+}
+
+ void
+usage()
+{
+ fprintf(stderr,"usage: RandomizePIfastq inputFile outputFile\n");
+}
+
+const int inputBufferSize = 100 * 1024 * 1024;
+char *inputBuffer[2];
+
+ void
+main(int argc, const char **argv)
+{
+ for (int i = 0; i < 2; i++) {
+ inputBuffer[i] = new char[inputBufferSize];
+ }
+ const int nFiles = 1000;
+
+ if (3 != argc) {
+ usage();
+ return;
+ }
+
+ HANDLE hInputFile = CreateFile(argv[1],GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,NULL);
+ if (INVALID_HANDLE_VALUE == hInputFile) {
+ fprintf(stderr,"Unable to open '%s' for input, error %d\n", argv[1], GetLastError());
+ return;
+ }
+
+ IntermediateFile **files = new IntermediateFile *[nFiles];
+ for (int i = 0; i < nFiles; i++) {
+ char fileName[100];
+ sprintf(fileName,"piFQ.piece.%04d", i);
+ files[i] = new IntermediateFile(fileName, 10 * 1024 * 1024);
+ }
+
+
+ const int nLinesPerItem = 8;
+
+ int whichInputBuffer = 0;
+ DWORD usedBytes = 0;
+ DWORD validBytes = 0;
+ bool done = false;
+ for (;;) {
+ DWORD leftoverBytes = validBytes - usedBytes; // i.e., how much was in the old buffer minus what we used.
+ memcpy(inputBuffer[whichInputBuffer], inputBuffer[1 - whichInputBuffer] + usedBytes, leftoverBytes);
+ DWORD bytesRead;
+ if (!ReadFile(hInputFile, inputBuffer[whichInputBuffer] + leftoverBytes, inputBufferSize - leftoverBytes, &bytesRead, NULL)) {
+ fprintf(stderr,"Read error on input file %d\n", GetLastError());
+ return;
+ }
+
+ if (0 == bytesRead) {
+ if (0 != leftoverBytes) {
+ fprintf(stderr,"Input file doesn't seem to have a multiple of %d lines\n", nLinesPerItem);
+ }
+ break;
+ }
+
+ validBytes = leftoverBytes + bytesRead; // i.e., what we copied from the last one, plus what's new
+ usedBytes = 0;
+
+ for (;;) {
+
+ char *nextItem = inputBuffer[whichInputBuffer] + usedBytes;
+
+ int nNewLines = 0;
+ while (nNewLines < nLinesPerItem && usedBytes < validBytes) {
+ if (inputBuffer[whichInputBuffer][usedBytes] == '\n') {
+ nNewLines++;
+ }
+ usedBytes++; // NB: deliberately eating the \n
+ }
+
+ if (nNewLines < nLinesPerItem) {
+ usedBytes = nextItem - inputBuffer[whichInputBuffer];
+ break;
+ }
+
+ _uint64 whichFile = GoodFastRandom(nFiles - 1);
+ files[whichFile]->addLines(nextItem, usedBytes - (nextItem - inputBuffer[whichInputBuffer]));
+ }
+
+ whichInputBuffer = 1 - whichInputBuffer;
+ }
+
+ for (int i = 0; i < nFiles; i++) {
+ delete files[i]; // This also flushes them
+ }
+}
\ No newline at end of file
diff --git a/apps/RandomizePIfastq/RandomizePIfastq.vcxproj b/apps/RandomizePIfastq/RandomizePIfastq.vcxproj
new file mode 100644
index 0000000..3528ef9
--- /dev/null
+++ b/apps/RandomizePIfastq/RandomizePIfastq.vcxproj
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{1C797460-0410-4DE3-AA1A-8ECA471BA8C4}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>RandomizePIfastq</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\;..\..\import</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)\import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\;..\..\import</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)\import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\;..\..\import</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)\import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\;..\..\import</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)\import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="GoodRandom.h" />
+ <ClInclude Include="stdafx.h" />
+ <ClInclude Include="targetver.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="GoodRandom.cpp" />
+ <ClCompile Include="RandomizePIfastq.cpp" />
+ <ClCompile Include="stdafx.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
+ </ClCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/RandomizePIfastq/RandomizePIfastq.vcxproj.filters b/apps/RandomizePIfastq/RandomizePIfastq.vcxproj.filters
new file mode 100644
index 0000000..bf7eb0f
--- /dev/null
+++ b/apps/RandomizePIfastq/RandomizePIfastq.vcxproj.filters
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="targetver.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="GoodRandom.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="RandomizePIfastq.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="GoodRandom.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/RandomizePIfastq/stdafx.cpp b/apps/RandomizePIfastq/stdafx.cpp
new file mode 100644
index 0000000..2e33b3b
--- /dev/null
+++ b/apps/RandomizePIfastq/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// RandomizePIfastq.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/apps/RandomizePIfastq/stdafx.h b/apps/RandomizePIfastq/stdafx.h
new file mode 100644
index 0000000..7c82d2b
--- /dev/null
+++ b/apps/RandomizePIfastq/stdafx.h
@@ -0,0 +1,5 @@
+#ifdef _MSC_VER
+#include "..\..\SNAPLib\stdafx.h"
+#else
+#include "../../SNAPLib/stdafx.h"
+#endif
diff --git a/apps/RandomizePIfastq/targetver.h b/apps/RandomizePIfastq/targetver.h
new file mode 100644
index 0000000..87c0086
--- /dev/null
+++ b/apps/RandomizePIfastq/targetver.h
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>
diff --git a/apps/SNAPCommand/SNAPCommand.cpp b/apps/SNAPCommand/SNAPCommand.cpp
new file mode 100644
index 0000000..f3d9b7a
--- /dev/null
+++ b/apps/SNAPCommand/SNAPCommand.cpp
@@ -0,0 +1,105 @@
+/*++
+
+Module Name:
+
+SNAPCommand.cpp
+
+Abstract:
+
+Send a command to SNAP running daemon mode
+
+Authors:
+
+Matei Zaharia & Bill Bolosky, February, 2012
+
+Environment:
+
+User mode service.
+
+Revision History:
+
+Adapted from cSNAP, which was in turn adapted from the scala prototype
+
+--*/
+
+#include "stdafx.h"
+#include "Compat.h"
+#include "exit.h"
+#include "CommandProcessor.h"
+
+void
+usage()
+{
+ fprintf(stderr, "usage: SNAPCommand {-p PipeName} <command to send to SNAP>\n");
+ fprintf(stderr, "Send command 'exit' to SNAP to have the server process exit.\n");
+ soft_exit_no_print(1);
+}
+
+
+int main(int argc, const char **argv)
+{
+ if (argc < 2) {
+ usage();
+ }
+
+ const char *pipeName;
+ int startingArg;
+
+ if (strcmp(argv[1], "-p") == 0) {
+ if (argc < 4) usage();
+
+ pipeName = argv[2];
+ startingArg = 3;
+ } else {
+ pipeName = DEFAULT_NAMED_PIPE_NAME;
+ startingArg = 1;
+ }
+
+ NamedPipe *serverPipe = OpenNamedPipe(pipeName, false);
+
+ if (NULL == serverPipe) {
+ fprintf(stderr, "Unable to open pipe to server\n");
+ soft_exit(1);
+ }
+
+ //
+ // Send down the args.
+ //
+ char argcBuffer[100];
+ sprintf(argcBuffer, "%d", argc - startingArg + 1); // +1 is for the command name, argv[0]
+ if (!WriteToNamedPipe(serverPipe, argcBuffer)) {
+ fprintf(stderr, "Unable to send arg count to server\n");
+ soft_exit(1);
+ }
+
+ if (!WriteToNamedPipe(serverPipe, argv[0])) {
+ fprintf(stderr, "Error sending arg '%s' to server\n", argv[0]);
+ soft_exit(1);
+ }
+
+ for (int i = startingArg; i < argc; i++) {
+ if (!WriteToNamedPipe(serverPipe, argv[i])) {
+ fprintf(stderr, "Error sending arg '%s' to server\n", argv[i]);
+ soft_exit(1);
+ }
+ }
+
+ //
+ // Now process the results from SNAP, printing them out and waiting for the terminator.
+ //
+ const size_t outputBufferSize = 100000;
+ char outputBuffer[outputBufferSize];
+
+ while (ReadFromNamedPipe(serverPipe, outputBuffer, outputBufferSize)) {
+ if (strcmp(outputBuffer, CommandExecutedString) == 0) {
+ soft_exit_no_print(0);
+ }
+ printf("%s", outputBuffer);
+ fflush(stdout);
+ }
+
+ fprintf(stderr, "Error reading from server pipe\n");
+ soft_exit(1);
+
+ return 1;
+}
diff --git a/apps/SNAPCommand/SNAPCommand.vcxproj b/apps/SNAPCommand/SNAPCommand.vcxproj
new file mode 100644
index 0000000..d1a07d8
--- /dev/null
+++ b/apps/SNAPCommand/SNAPCommand.vcxproj
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{F555A574-597E-4C0E-ADFD-FC4C897B2085}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>SNAPCommand</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\SNAPCommand\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\SNAPCommand\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions); _CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>libhdfs.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions); _CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>libhdfs.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="SNAPCommand.cpp" />
+ <ClCompile Include="stdafx.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
+ </ClCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/SNAPCommand/SNAPCommand.vcxproj.filters b/apps/SNAPCommand/SNAPCommand.vcxproj.filters
new file mode 100644
index 0000000..c85781f
--- /dev/null
+++ b/apps/SNAPCommand/SNAPCommand.vcxproj.filters
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="SNAPCommand.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/SNAPCommand/stdafx.cpp b/apps/SNAPCommand/stdafx.cpp
new file mode 100644
index 0000000..e9217b3
--- /dev/null
+++ b/apps/SNAPCommand/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// SNAPCommand.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/apps/SNAPCommand/stdafx.h b/apps/SNAPCommand/stdafx.h
new file mode 100644
index 0000000..45028a6
--- /dev/null
+++ b/apps/SNAPCommand/stdafx.h
@@ -0,0 +1,50 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+#pragma once
+
+#ifdef _MSC_VER
+#include "targetver.h"
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+#endif
+
+#include <algorithm>
+#include <fstream>
+#include <iostream>
+#include <string>
+#include <vector>
+
+#include <ctype.h>
+#include <errno.h>
+#include <memory.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef _MSC_VER
+
+#include <tchar.h>
+#include <crtdbg.h>
+#include <windows.h>
+#include <direct.h>
+#include <wincrypt.h>
+
+#else
+
+#include <assert.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+// MAP_ANONYMOUS is called MAP_ANON on OS X
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+#endif
+
diff --git a/apps/ToFASTQ/ToFASTQ.cpp b/apps/ToFASTQ/ToFASTQ.cpp
new file mode 100644
index 0000000..2f79c52
--- /dev/null
+++ b/apps/ToFASTQ/ToFASTQ.cpp
@@ -0,0 +1,223 @@
+/*++
+
+Module Name:
+
+ ToFASTQ.cpp
+
+Abstract:
+
+ Take a set of reads in SAM or BAM format and convert them to FASTQ
+
+Authors:
+
+ Bill Bolosky, January, 2014
+
+Environment:
+`
+ User mode service.
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "SAM.h"
+#include "Bam.h"
+#include "Genome.h"
+#include "Compat.h"
+#include "Read.h"
+#include "RangeSplitter.h"
+#include "BigAlloc.h"
+#include "FASTQ.h"
+
+void usage()
+{
+ fprintf(stderr,"usage: ToFASTQ genomeIndex inputFile outputFile {outputFile2}\n");
+ fprintf(stderr," Specifying two output files means that the input is paired. If you specify only one output file, then\n");
+ fprintf(stderr," ToFASTQ will generate a single-ended FASTQ even for a paired input.\n");
+ fprintf(stderr," The genomeIndex must contain the same set of contigs used to align the input file.\n");
+ fprintf(stderr," To produce interleaved paired-end FASTQ, specify outputFile2 as '-i'.\n");
+ soft_exit(1);
+}
+
+ReadSupplierGenerator *readSupplierGenerator = NULL;
+
+volatile _int64 nRunningThreads;
+SingleWaiterObject allThreadsDone;
+const char *inputFileName;
+const Genome *genome;
+FASTQWriter *fastqWriter[2] = {NULL, NULL};
+
+struct ThreadContext {
+ unsigned whichThread;
+
+ _int64 totalReads;
+
+ ThreadContext() {
+ totalReads = 0;
+ }
+};
+
+bool inline isADigit(char x) {
+ return x >= '0' && x <= '9';
+}
+
+void
+WorkerThreadMain(void *param)
+{
+ ThreadContext *context = (ThreadContext *)param;
+
+ ReadSupplier *readSupplier = readSupplierGenerator->generateNewReadSupplier();
+
+ Read *read;
+ while (NULL != (read = readSupplier->getNextRead())) {
+ context->totalReads++;
+ fastqWriter[0]->writeRead(read);
+ } // for each read from the reader
+
+ if (0 == InterlockedAdd64AndReturnNewValue(&nRunningThreads, -1)) {
+ SignalSingleWaiterObject(&allThreadsDone);
+ }
+}
+
+_int64
+ProcessPairedInput(PairedReadSupplierGenerator *pairedReadSupplierGenerator)
+{
+ //
+ // This runs single threaded, because it's the only easy way to assure that the two output files match.
+ //
+ PairedReadSupplier *readSupplier = pairedReadSupplierGenerator->generateNewPairedReadSupplier();
+
+ Read *read[NUM_READS_PER_PAIR];
+
+ const size_t idBufferSize = 10000;
+ char idBuffer[idBufferSize];
+
+ _int64 totalReads = 0;
+
+ while (readSupplier->getNextReadPair(&read[0], &read[1])) {
+ for (int i = 0; i < NUM_READS_PER_PAIR; i++) {
+ //
+ // Create a new read with an ID that includes /1 or /2. Don't bother to fill in the stuff that the
+ // FASTQ writer doesn't care about anyway.
+ //
+ snprintf(idBuffer, idBufferSize-1,"%.*s/%d", read[i]->getIdLength(), read[i]->getId(), i+1);
+ Read local;
+ local.init(idBuffer, (unsigned)strlen(idBuffer),read[i]->getUnclippedData(), read[i]->getUnclippedQuality(), read[i]->getUnclippedLength(),
+ 0,0,0,0,0,0,0,NULL,0,0);
+ fastqWriter[i]->writeRead(&local);
+ }
+ totalReads += 2;
+ }
+
+ return totalReads;
+}
+
+
+int main(int argc, char * argv[])
+{
+ BigAllocUseHugePages = false;
+
+ if (4 != argc && 5 != argc) usage();
+
+ static const char *genomeSuffix = "Genome";
+ size_t filenameLen = strlen(argv[1]) + 1 + strlen(genomeSuffix) + 1;
+ char *fileName = new char[strlen(argv[1]) + 1 + strlen(genomeSuffix) + 1];
+ snprintf(fileName,filenameLen,"%s%c%s",argv[1],PATH_SEP,genomeSuffix);
+ genome = Genome::loadFromFile(fileName, 0);
+ if (NULL == genome) {
+ fprintf(stderr,"Unable to load genome from file '%s'\n",fileName);
+ return -1;
+ }
+ delete [] fileName;
+ fileName = NULL;
+
+ inputFileName = argv[2];
+
+ fastqWriter[0] = FASTQWriter::Factory(argv[3]);
+ if (NULL == fastqWriter[0]) {
+ fprintf(stderr,"Unable to open FASTQ writer for output file '%s'\n", argv[3]);
+ soft_exit(1);
+ }
+
+ _int64 totalReads = 0;
+ unsigned nThreads;
+
+#ifdef _DEBUG
+ nThreads = 1;
+#else // _DEBUG
+ if (5 == argc) {
+ nThreads = 1;
+ } else {
+ nThreads = GetNumberOfProcessors();
+ }
+#endif // _DEBUG
+
+
+ DataSupplier::ThreadCount = nThreads;
+ nRunningThreads = nThreads;
+
+ ReaderContext readerContext;
+ readerContext.clipping = NoClipping;
+ readerContext.defaultReadGroup = "";
+ readerContext.genome = genome;
+ readerContext.ignoreSecondaryAlignments = true;
+ readerContext.ignoreSupplementaryAlignments = true;
+ readerContext.header = NULL;
+ readerContext.headerLength = 0;
+ readerContext.headerBytes = 0;
+
+ if (5 == argc) {
+ if (!strcmp(argv[4], "-i")) {
+ fastqWriter[1] = fastqWriter[0]; // Interleaved
+ } else {
+ fastqWriter[1] = FASTQWriter::Factory(argv[4]);
+ if (NULL == fastqWriter[1]) {
+ fprintf(stderr,"Unable to open FASTQ writer for output file '%s'\n", argv[4]);
+ soft_exit(1);
+ }
+ }
+
+ PairedReadSupplierGenerator *pairedReadSupplierGenerator;
+ if (NULL != strrchr(inputFileName, '.') && !_stricmp(strrchr(inputFileName, '.'), ".bam")) {
+ pairedReadSupplierGenerator = BAMReader::createPairedReadSupplierGenerator(inputFileName, nThreads, true, readerContext);
+ } else {
+ pairedReadSupplierGenerator = SAMReader::createPairedReadSupplierGenerator(inputFileName, nThreads, true, readerContext);
+ }
+
+
+ totalReads = ProcessPairedInput(pairedReadSupplierGenerator);
+ if (fastqWriter[1] != fastqWriter[0]) {
+ delete fastqWriter[1];
+ } else {
+ fastqWriter[1] = NULL;
+ }
+ } else {
+ if (NULL != strrchr(inputFileName, '.') && !_stricmp(strrchr(inputFileName, '.'), ".bam")) {
+ readSupplierGenerator = BAMReader::createReadSupplierGenerator(inputFileName, nThreads, readerContext);
+ } else {
+ readSupplierGenerator = SAMReader::createReadSupplierGenerator(inputFileName, nThreads, readerContext);
+ }
+
+ CreateSingleWaiterObject(&allThreadsDone);
+ ThreadContext *contexts = new ThreadContext[nThreads];
+
+ for (unsigned i = 0; i < nThreads; i++) {
+ contexts[i].whichThread = i;
+
+ StartNewThread(WorkerThreadMain, &contexts[i]);
+ }
+
+ WaitForSingleWaiterObject(&allThreadsDone);
+
+ for (unsigned i = 0; i < nThreads; i++) {
+ totalReads += contexts[i].totalReads;
+ }
+ }
+ printf("%lld reads\n", totalReads);
+ delete fastqWriter[0];
+
+ return 0;
+}
+
diff --git a/apps/ToFASTQ/ToFASTQ.vcxproj b/apps/ToFASTQ/ToFASTQ.vcxproj
new file mode 100644
index 0000000..53f266a
--- /dev/null
+++ b/apps/ToFASTQ/ToFASTQ.vcxproj
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{E58705DB-9DFF-4892-B3BD-C76A352F9F37}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>ToFASTQ</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\ToFASTQ\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\ToFASTQ\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>libhdfs.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib;libhdfs.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>libhdfs.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="ToFASTQ.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/ToFASTQ/ToFASTQ.vcxproj.filters b/apps/ToFASTQ/ToFASTQ.vcxproj.filters
new file mode 100644
index 0000000..a6de0a3
--- /dev/null
+++ b/apps/ToFASTQ/ToFASTQ.vcxproj.filters
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ToFASTQ.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/ToFASTQ/stdafx.cpp b/apps/ToFASTQ/stdafx.cpp
new file mode 100644
index 0000000..0a5e0b1
--- /dev/null
+++ b/apps/ToFASTQ/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// ToFASTQ.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/apps/ToFASTQ/stdafx.h b/apps/ToFASTQ/stdafx.h
new file mode 100644
index 0000000..7c82d2b
--- /dev/null
+++ b/apps/ToFASTQ/stdafx.h
@@ -0,0 +1,5 @@
+#ifdef _MSC_VER
+#include "..\..\SNAPLib\stdafx.h"
+#else
+#include "../../SNAPLib/stdafx.h"
+#endif
diff --git a/apps/snap/Main.cpp b/apps/snap/Main.cpp
new file mode 100644
index 0000000..eaa3d5e
--- /dev/null
+++ b/apps/snap/Main.cpp
@@ -0,0 +1,33 @@
+/*++
+
+Module Name:
+
+ Main.cpp
+
+Abstract:
+
+ Just call into the command processor from SNAPLib
+
+Authors:
+
+ Matei Zaharia & Bill Bolosky, February, 2012
+
+Environment:
+
+ User mode service.
+
+Revision History:
+
+ Adapted from cSNAP, which was in turn adapted from the scala prototype
+
+--*/
+
+#include "stdafx.h"
+#include "CommandProcessor.h"
+
+//The SNAP_VERSION string moved to SNAPLib\CommandProcessor.cpp
+
+int main(int argc, const char **argv)
+{
+ ProcessTopLevelCommands(argc, argv);
+}
diff --git a/apps/snap/snap.vcxproj b/apps/snap/snap.vcxproj
new file mode 100644
index 0000000..61b6c7a
--- /dev/null
+++ b/apps/snap/snap.vcxproj
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{76E127A5-2247-4A10-9DC8-59518C7C6636}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>snap</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions); _CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>libhdfs.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ <StackReserveSize>8000000</StackReserveSize>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions); _CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>libhdfs.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ <StackReserveSize>8000000</StackReserveSize>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="Main.cpp" />
+ <ClCompile Include="stdafx.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
+ </ClCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/snap/snap.vcxproj.filters b/apps/snap/snap.vcxproj.filters
new file mode 100644
index 0000000..b82949c
--- /dev/null
+++ b/apps/snap/snap.vcxproj.filters
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="Main.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/snap/stdafx.cpp b/apps/snap/stdafx.cpp
new file mode 100644
index 0000000..e392466
--- /dev/null
+++ b/apps/snap/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// SNAPLib.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/apps/snap/stdafx.h b/apps/snap/stdafx.h
new file mode 100644
index 0000000..45028a6
--- /dev/null
+++ b/apps/snap/stdafx.h
@@ -0,0 +1,50 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+#pragma once
+
+#ifdef _MSC_VER
+#include "targetver.h"
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+#endif
+
+#include <algorithm>
+#include <fstream>
+#include <iostream>
+#include <string>
+#include <vector>
+
+#include <ctype.h>
+#include <errno.h>
+#include <memory.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifdef _MSC_VER
+
+#include <tchar.h>
+#include <crtdbg.h>
+#include <windows.h>
+#include <direct.h>
+#include <wincrypt.h>
+
+#else
+
+#include <assert.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <unistd.h>
+
+// MAP_ANONYMOUS is called MAP_ANON on OS X
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+#endif
+
diff --git a/apps/stringz/GoodRandom.cpp b/apps/stringz/GoodRandom.cpp
new file mode 100644
index 0000000..e251b06
--- /dev/null
+++ b/apps/stringz/GoodRandom.cpp
@@ -0,0 +1,159 @@
+/*++
+
+
+Module Name:
+
+ GoodRandom.cpp
+
+Abstract:
+
+ Cryptographically secure random number generator that's fast because it batches getting its random
+ source from CryptGenRand(). It's careful not to bias results when the request range isn't a power
+ of two.
+
+ In Linux, uses the Mersenne Twister to get the raw numbers and mostly just applies the anti-biasing
+ related to random number ranges that aren't powers of two.
+
+Authors:
+
+ Bill Bolosky, April, 2011
+
+Environment:
+
+--*/
+#include "stdafx.h"
+#include "GoodRandom.h"
+//#include "mt64.h"
+
+unsigned MinBytesToStore(_uint64 maxValue)
+{
+ if (0 == maxValue) {
+ return 0;
+ } else if (maxValue < 0x100) {
+ return 1;
+ } else if (maxValue < 0x10000) {
+ return 2;
+ } else if (maxValue < 0x1000000) {
+ return 3;
+ } else if (maxValue < 0x100000000) {
+ return 4;
+ } else if (maxValue < 0x10000000000) {
+ return 5;
+ } else if (maxValue < 0x1000000000000) {
+ return 6;
+ } else if (maxValue < 0x100000000000000) {
+ return 7;
+ } else {
+ // Wow
+ return 8;
+ }
+}
+
+#ifdef _MSC_VER
+const unsigned GFRandomBufferSize = 10 * 1024 * 1024;
+
+struct GFRandomState {
+ char *buffer;
+ unsigned bufferUsed;
+};
+
+__declspec(thread) GFRandomState *g_randomState = NULL;
+
+__declspec(thread) HCRYPTPROV g_hRandomCryptProv;
+#endif
+
+_uint64 GoodFastRandom(_uint64 maxValue)
+{
+ if (0 == maxValue) {
+ return 0;
+ }
+#ifdef _MSC_VER
+ if (maxValue > 0xffffffffffffff && maxValue != 0xffffffffffffffff) {
+ fprintf(stderr,"GoodFastRandom: writeme\n");
+ exit(1);
+ // This case requires different math in the roundoff error check below, because as written
+ // it would use 1 << 64, which isn't representable. I'm too lazy to write it now.
+ }
+
+ if (NULL == g_randomState) {
+ g_randomState= new GFRandomState;
+ g_randomState->buffer = new char[GFRandomBufferSize];
+ g_randomState->bufferUsed = GFRandomBufferSize; // Forces us to get new random data the first time through.
+
+ BOOL worked = CryptAcquireContext(
+ &g_hRandomCryptProv,
+ "BillKeyContainer",
+ NULL, // default provider
+ PROV_RSA_FULL,
+ CRYPT_MACHINE_KEYSET);
+
+ if (!worked && NTE_BAD_KEYSET == GetLastError()) {
+ worked = CryptAcquireContext(
+ &g_hRandomCryptProv,
+ "BillKeyContainer",
+ NULL, // default provider
+ PROV_RSA_FULL,
+ CRYPT_MACHINE_KEYSET | CRYPT_NEWKEYSET);
+
+ }
+
+ if (!worked) {
+ fprintf(stderr,"Unable to get crypt provider, %d\n",GetLastError());
+ exit(1);
+ }
+ }
+#endif // _MSC_VER
+
+ unsigned bytesToGet = MinBytesToStore(maxValue);
+
+ for (;;) {
+ _uint64 rawValue = 0;
+
+#ifdef _MSC_VER
+ if (g_randomState->bufferUsed + bytesToGet > GFRandomBufferSize) {
+ if (!CryptGenRandom(g_hRandomCryptProv,GFRandomBufferSize,(PBYTE)g_randomState->buffer)) {
+ fprintf(stderr,"CryptGenRandom failed, %d\b\n",GetLastError());
+ exit(1);
+ }
+ g_randomState->bufferUsed = 0;
+ }
+
+ memcpy(&rawValue,g_randomState->buffer + g_randomState->bufferUsed,bytesToGet);
+ g_randomState->bufferUsed += bytesToGet;
+#else // _MSC_VER
+ #ifdef RELEASE
+ #if RAND_MAX % 0x100 != 0xff
+ fprintf(stderr,"Jesse was too lazy to correct random bias on your platform.\n");
+ exit(1);
+ #endif
+ for (unsigned b = 0; b < bytesToGet; ++b) {
+ // RAND_MAX could in theory be less than 0xffff.
+ _uint64 randomByte = rand() & 0xff;
+ rawValue |= randomByte << (b * 8);
+ }
+ #else
+ rawValue = genrand64_int64() >> (8 - bytesToGet) * 8;
+ #endif // RELEASE
+#endif // _MSC_VER
+
+ //
+ // Be careful here not to bias the result. If maxValue + 1 doesn't go evenly into 256^bytesToGet
+ // then there would be a bias toward the lower values, since they get one extra representation.
+ // So, if the value is in the last part, throw it away and try again.
+ //
+ if (0xffffffffffffffff == maxValue) {
+ //
+ // Special case for full range, because it wouldn't work with the code below.
+ //
+ return rawValue;
+ }
+
+ _uint64 maxRawValuePlusOne = ((_uint64)1) << (bytesToGet * 8);
+ if (rawValue < maxRawValuePlusOne - maxRawValuePlusOne % (maxValue+1)) {
+ return rawValue % (maxValue+1);
+ }
+ }
+
+ /*NOTREACHED*/
+}
+
diff --git a/apps/stringz/GoodRandom.h b/apps/stringz/GoodRandom.h
new file mode 100644
index 0000000..bb9ddc0
--- /dev/null
+++ b/apps/stringz/GoodRandom.h
@@ -0,0 +1,33 @@
+/*++
+
+
+Module Name:
+
+ GoodRandom.h
+
+Abstract:
+
+ Cryptographically secure random number generator that's fast because it batches getting its random
+ source from CryptGenRand(). It's careful not to bias results when the request range isn't a power
+ of two.
+
+Authors:
+
+ Bill Bolosky, April, 2011
+
+Environment:
+
+ Not thread safe.
+
+--*/
+#pragma once
+
+#include "Compat.h"
+
+unsigned MinBytesToStore(_uint64 maxValue);
+
+//
+// This returns a cryptographically secure random number from {0..maxValue} (NOT {0..maxValue-1}!)
+// It's computationally efficient, too.
+//
+_uint64 GoodFastRandom(_uint64 maxValue);
diff --git a/apps/stringz/stdafx.cpp b/apps/stringz/stdafx.cpp
new file mode 100644
index 0000000..d875710
--- /dev/null
+++ b/apps/stringz/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// stringz.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/apps/stringz/stdafx.h b/apps/stringz/stdafx.h
new file mode 100644
index 0000000..7c82d2b
--- /dev/null
+++ b/apps/stringz/stdafx.h
@@ -0,0 +1,5 @@
+#ifdef _MSC_VER
+#include "..\..\SNAPLib\stdafx.h"
+#else
+#include "../../SNAPLib/stdafx.h"
+#endif
diff --git a/apps/stringz/stringz.cpp b/apps/stringz/stringz.cpp
new file mode 100644
index 0000000..7349b47
--- /dev/null
+++ b/apps/stringz/stringz.cpp
@@ -0,0 +1,245 @@
+// stringz.cpp : Defines the entry point for the console application.
+//
+
+#include "stdafx.h"
+#include "GoodRandom.h"
+#include <math.h>
+
+
+size_t bigStringSize = 1000000;
+unsigned smallStringSize = 11;
+char *bigString = NULL;
+unsigned alphabetSize = 4;
+double differenceProb = .001;
+unsigned unitDifferenceTable[256];
+char *alphabetTable = NULL;
+double *probByEditDistance = NULL;
+
+void
+GenerateBigString()
+{
+ bigString = new char[bigStringSize];
+ alphabetTable = new char[alphabetSize];
+ if (alphabetSize == 4) {
+ //
+ // Special case 4 to be the genetic bases.
+ //
+ alphabetTable[0] = 'A';
+ alphabetTable[1] = 'C';
+ alphabetTable[2] = 'G';
+ alphabetTable[3] = 'T';
+ } else {
+ for (unsigned i = 0; i < alphabetSize; i++) {
+ alphabetTable[i] = 'A' + i;
+ }
+ }
+
+ for (size_t i = 0; i < bigStringSize; i++) {
+ bigString[i] = alphabetTable[GoodFastRandom(alphabetSize-1)];
+ }
+}
+
+void Hamming(const char *str1, const char *str2, size_t len, double *matchProb, unsigned *editDistance)
+{
+ *editDistance = 0;
+
+ for (size_t i = 0; i < len; i++) {
+ char xorValue = str1[i] ^ str2[i]; // This is 0 if they're equal, and not if they're not.
+ *editDistance += unitDifferenceTable[xorValue]; // Ditto for edit distance
+ }
+
+ *matchProb = probByEditDistance[*editDistance];
+}
+
+void
+usage()
+{
+ fprintf(stderr,"usage: stringz nStrings [smallStringSize [bigStringSize [differenceProb [alphabetSize]]]]\n");
+ exit(1);
+}
+
+const unsigned max_MAPQ = 70;
+
+struct PerMAPQ {
+ size_t count;
+ size_t errors;
+
+ PerMAPQ() : count(0), errors(0) {}
+};
+
+struct MAPQHistogram {
+ PerMAPQ perMAPQ[max_MAPQ+1];
+
+ void operator+=(MAPQHistogram &peer)
+ {
+ for (unsigned i = 0; i <= max_MAPQ; i++) {
+ perMAPQ[i].count += peer.perMAPQ[i].count;
+ perMAPQ[i].errors += peer.perMAPQ[i].errors;
+ }
+ }
+};
+
+void runTest(size_t count, MAPQHistogram *result)
+{
+ MAPQHistogram histogram;
+
+ char *smallString = new char[smallStringSize] + 1;
+ smallString[smallStringSize] = 0; // Not that anything looks at this.
+ unsigned oneHundredPer = (unsigned)(100/differenceProb); // The odds of a difference are 100 per this many. It lets us use GoodFastRandom to determine whether to introduce a difference.
+
+ for (size_t i = 0; i < count; i++) {
+ //
+ // Select a random offset in the big string.
+ //
+ size_t bigStringOffset = (size_t)GoodFastRandom(bigStringSize - smallStringSize);
+
+ //
+ // Mutate the string
+ //
+ for (unsigned j = 0; j < smallStringSize; j++) {
+ if (GoodFastRandom(oneHundredPer-1) < 100) {
+ smallString[j] = alphabetTable[(bigString[j+bigStringOffset] + 1)%alphabetSize];
+ } else {
+ smallString[j] = bigString[j+bigStringOffset];
+ }
+ }
+
+ size_t bestOffset = -1;
+ unsigned bestEditDistance = smallStringSize + 1;
+ double bestProbability = 0;
+ double totalProbability = 0;
+ size_t bestLocation = bigStringSize;
+
+ for (size_t j = 0; j < bigStringSize - smallStringSize; j++) {
+ double matchProb;
+ unsigned editDistance;
+ Hamming(smallString, bigString + j, smallStringSize, &matchProb, &editDistance);
+ if (editDistance < bestEditDistance) {
+ bestEditDistance = editDistance;
+ bestProbability = matchProb;
+ bestLocation = j;
+ }
+ totalProbability += matchProb;
+ }
+
+ //
+ // Compute MAPQ and update the histogram
+ //
+
+ unsigned MAPQ;
+ if (bestProbability == totalProbability) {
+ MAPQ = max_MAPQ;
+ } else {
+ MAPQ = __min(max_MAPQ-1, (int)(-10 * log10(1 - bestProbability/totalProbability)));
+ }
+
+ histogram.perMAPQ[MAPQ].count++;
+ if (bestLocation != bigStringOffset) {
+ histogram.perMAPQ[MAPQ].errors++;
+ }
+ }
+
+ *result = histogram;
+}
+
+struct ThreadContext {
+ MAPQHistogram histogram;
+ size_t count;
+};
+
+volatile int nThreadsRunning;
+SingleWaiterObject threadsDone;
+
+void WorkerThreadMain(void *param)
+{
+ ThreadContext *context = (ThreadContext *)param;
+ runTest(context->count, &context->histogram);
+
+ if (0 == InterlockedDecrementAndReturnNewValue(&nThreadsRunning)) {
+ SignalSingleWaiterObject(&threadsDone);
+ }
+}
+
+
+void main(int argc, char* argv[])
+{
+ if (argc < 2 || argc > 6) usage();
+
+ size_t nStringz;
+ if (1 != sscanf(argv[1],"%lld", &nStringz) || nStringz <= 0) {
+ usage();
+ }
+
+ if (argc > 2) {
+ if (1 != sscanf(argv[2], "%d", &smallStringSize) || smallStringSize <= 0) usage();
+ if (argc > 3) {
+ if (1 != sscanf(argv[3], "%d", &bigStringSize) || bigStringSize <= 0) usage();
+ if (argc > 4) {
+ if (1 != sscanf(argv[4], "%lf", &differenceProb) || differenceProb <= 0.0) usage();
+ if (argc > 5) {
+ if (1 != sscanf(argv[5], "%d", &alphabetSize) || alphabetSize <=0 || alphabetSize >= 26) usage();
+ }
+ }
+ }
+ }
+
+ if (smallStringSize > bigStringSize) usage();
+
+ for (int i = 1; i < 256; i++) {
+ unitDifferenceTable[i] = 1;
+ }
+ unitDifferenceTable[0] = 0;
+
+ probByEditDistance = new double[smallStringSize+1];
+ for (unsigned i = 0; i <= smallStringSize; i++) {
+ probByEditDistance[i] = 1.0;
+ for (unsigned j = 0; j < i; j++) {
+ probByEditDistance[i] *= differenceProb/(alphabetSize - 1);
+ }
+ for (unsigned j = i+1; j <= smallStringSize; j++) {
+ probByEditDistance[i] *= (1 - differenceProb)/*/(alphabetSize - 1)*/;
+ }
+ }
+
+#ifdef _MSC_VER
+ if (!SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS)) {
+ fprintf(stderr,"SetPriorityClass failed, %d\n", GetLastError());
+ }
+#endif // _MSC_VER
+
+
+ GenerateBigString();
+
+ unsigned nThreads = GetNumberOfProcessors();
+ ThreadContext *threadContexts = new ThreadContext[nThreads];
+
+ _int64 start = timeInMillis();
+
+ nThreadsRunning = nThreads;
+ CreateSingleWaiterObject(&threadsDone);
+
+ for (unsigned i = 0; i < nThreads - 1; i++) {
+ threadContexts[i].count = nStringz / nThreads;
+ StartNewThread(WorkerThreadMain, &threadContexts[i]);
+ }
+ threadContexts[nThreads-1].count = nStringz - (nStringz/nThreads) * (nThreads - 1);
+ StartNewThread(WorkerThreadMain, &threadContexts[nThreads - 1]);
+
+ WaitForSingleWaiterObject(&threadsDone);
+
+ MAPQHistogram result;
+
+ for (unsigned i = 0; i < nThreads; i++) {
+ result += threadContexts[i].histogram;
+ }
+
+ for (unsigned i = 0; i <= max_MAPQ; i++) {
+ printf("%d\t%lld\t%lld\n", i, result.perMAPQ[i].count, result.perMAPQ[i].errors);
+ }
+
+ _int64 stop = timeInMillis();
+ printf("\nProcessed %lld stringz in %llds, %lld stringz/s\n", nStringz, (stop - start + 500) / 1000, (nStringz * 1000) / (stop - start));
+
+
+}
+
diff --git a/apps/stringz/stringz.vcxproj b/apps/stringz/stringz.vcxproj
new file mode 100644
index 0000000..3707f21
--- /dev/null
+++ b/apps/stringz/stringz.vcxproj
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{A587E829-823D-4CA9-9CD4-C563A4617474}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>stringz</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\;..\..\import</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)\import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>zlibstat.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\;..\..\import</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)\import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>zlibstat.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\;..\..\import</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)\import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>zlibstat.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\;..\..\import</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)\import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>zlibstat.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <None Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h" />
+ <ClInclude Include="targetver.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="GoodRandom.cpp" />
+ <ClCompile Include="stdafx.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="stringz.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/stringz/stringz.vcxproj.filters b/apps/stringz/stringz.vcxproj.filters
new file mode 100644
index 0000000..ab37645
--- /dev/null
+++ b/apps/stringz/stringz.vcxproj.filters
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="targetver.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="stringz.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="GoodRandom.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/stringz/targetver.h b/apps/stringz/targetver.h
new file mode 100644
index 0000000..87c0086
--- /dev/null
+++ b/apps/stringz/targetver.h
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>
diff --git a/apps/wc/stdafx.cpp b/apps/wc/stdafx.cpp
new file mode 100644
index 0000000..cda96d8
--- /dev/null
+++ b/apps/wc/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// wc.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/apps/wc/stdafx.h b/apps/wc/stdafx.h
new file mode 100644
index 0000000..7c82d2b
--- /dev/null
+++ b/apps/wc/stdafx.h
@@ -0,0 +1,5 @@
+#ifdef _MSC_VER
+#include "..\..\SNAPLib\stdafx.h"
+#else
+#include "../../SNAPLib/stdafx.h"
+#endif
diff --git a/apps/wc/targetver.h b/apps/wc/targetver.h
new file mode 100644
index 0000000..87c0086
--- /dev/null
+++ b/apps/wc/targetver.h
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>
diff --git a/apps/wc/wc.cpp b/apps/wc/wc.cpp
new file mode 100644
index 0000000..a116dde
--- /dev/null
+++ b/apps/wc/wc.cpp
@@ -0,0 +1,259 @@
+/*++
+
+Module Name:
+
+ wc.cpp
+
+Abstract:
+
+ Version of the standard wc (word count) program that uses 64 bit counters.
+
+Authors:
+
+ Bill Bolosky, September, 2013
+
+Revision History:
+
+
+--*/
+
+#include "stdafx.h"
+#include "Compat.h"
+#include "exit.h"
+
+void usage()
+{
+ fprintf(stderr,"usage: wc [-lwc] [files]\n");
+ soft_exit(1);
+}
+
+struct InputFile {
+ InputFile() : lines(0), words(0), chars(0), next(NULL) {}
+
+ char *fileName;
+ _uint64 lines, words, chars;
+ InputFile *next;
+};
+
+SingleWaiterObject allThreadsDone;
+volatile _int64 nRunningThreads;
+
+void WorkerThreadMain(void *context)
+{
+ InputFile *inputFile = (InputFile *)context;
+
+ FILE *file;
+
+ if (!strcmp(inputFile->fileName, "-")) {
+ file = stdin;
+ } else {
+ file = fopen(inputFile->fileName, "rb");
+ if (NULL == file) {
+ fprintf(stderr,"wc: unable to open input file '%s'\n", inputFile->fileName);
+ soft_exit(1);
+ }
+ }
+
+ const size_t bufferSize = 8 * 1024 * 1024; // A decent disk IO size
+ unsigned char *buffer = new unsigned char[bufferSize];
+
+ _uint64 lines = 0, words = 0, chars = 0;
+
+ //
+ // Rather than using conditional branches, use lookup tables.
+ //
+ int isSeparator[256];
+ int isLineBreak[256];
+ int isWordPart[256];
+
+ for (int x = 0; x < 256; x++) {
+ isSeparator[x] = isLineBreak[x] = isWordPart[x] = 0;
+ }
+
+ //
+ // Characters that come between words. Personally, I'd include punctuation, but the old wc doesn't.
+ //
+ isSeparator[' '] = 1;
+ isSeparator['\t'] = 1;
+ isSeparator['\n'] = 1;
+ isSeparator['\r'] = 1;
+
+ //
+ // Characters that end a line. We don't include "\r" because then CRLF text would look like it has twice
+ // as many lines as it does.
+ //
+ isLineBreak['\n'] = 1;
+
+ //
+ // Characters that are parts of words.
+ //
+ for (int x = 'a'; x <= 'z'; x++) {
+ isWordPart[x] = 1;
+ }
+
+ for (int x = 'A'; x <= 'Z'; x++) {
+ isWordPart[x] = 1;
+ }
+
+ for (int x = '0'; x <= '9'; x++) {
+ isWordPart[x] = 1;
+ }
+
+ //
+ // Now process the input file.
+ //
+ _uint64 notInAWord = 1;
+
+ size_t validBytes;
+ while (0 != (validBytes = fread(buffer, 1, bufferSize, file))) {
+ chars += validBytes;
+
+ for (size_t i = 0; i < validBytes; i++) {
+ unsigned char nextChar = buffer[i];
+
+ lines += isLineBreak[nextChar];
+
+ //
+ // Use branch-free logic to compute the word count.
+ //
+ words += notInAWord * isWordPart[nextChar]; // if (notInAWord && isWordPart) words++
+
+ notInAWord = 1 - ((1 - isSeparator[nextChar]) * (1 - notInAWord)); // notInAWord = isSeparator || notInAWord
+ notInAWord = notInAWord * (1 - isWordPart[nextChar]); // notInAWord = notInAWord && !isWordPart
+ } // for each char of the buffer
+ }
+
+ if (!feof(file)) {
+ fprintf(stderr,"Error reading file '%s'\n", inputFile->fileName);
+ soft_exit(1);
+ }
+
+ inputFile->chars = chars;
+ inputFile->words = words;
+ inputFile->lines = lines;
+
+ fclose(file);
+ delete [] buffer;
+
+ if (0 == InterlockedAdd64AndReturnNewValue(&nRunningThreads, -1)) {
+ SignalSingleWaiterObject(&allThreadsDone);
+ }
+}
+
+void printOutputLine(
+ _uint64 chars,
+ _uint64 words,
+ _uint64 lines,
+ const char *fileName,
+ bool printChars,
+ bool printWords,
+ bool printLines)
+{
+ printf("\t"); // Not sure why, but unix wc does this, so I'll keep it.
+ if (printLines) {
+ printf("%llu\t", lines);
+ }
+ if (printWords) {
+ printf("%llu\t", words);
+ }
+ if (printChars) {
+ printf("%llu\t", chars);
+ }
+ printf("%s\n", fileName);
+}
+
+
+int main(int argc, char* argv[])
+{
+ bool cmdLinePrintChars = false, cmdLinePrintWords = false, cmdLinePrintLines = false, seenStdin = false;
+
+ InputFile *inputFiles = NULL;
+ InputFile *lastInputFile = NULL;
+
+ _uint64 nInputFiles = 0;
+
+ for (int i = 1; i < argc; i++) {
+ if (argv[i][0] == '-' && argv[i][1] != '\0') {
+ //
+ // Option.
+ //
+ for (size_t j = 1; j < strlen(argv[i]); j++) {
+ switch (argv[i][j]) {
+ case 'l': cmdLinePrintLines = true; break;
+ case 'w': cmdLinePrintWords = true; break;
+ case 'c': cmdLinePrintChars = true; break;
+ default: usage();
+ } // switch
+ } // for each char in options
+ } else {
+ nInputFiles++;
+
+ if (!strcmp(argv[i], "-")) {
+ if (seenStdin) {
+ fprintf(stderr,"Can't specify '-' (read input from stdin) more than once\n");
+ soft_exit(1);
+ }
+ seenStdin = true;
+ }
+ InputFile *inputFile = new InputFile;
+ inputFile->fileName = argv[i];
+ if (lastInputFile == NULL) {
+ inputFiles = lastInputFile = inputFile;
+ } else {
+ lastInputFile->next = inputFile;
+ lastInputFile = inputFile;
+ }
+ }
+ } // for all args
+
+ if (0 == nInputFiles) {
+ //
+ // Read from stdin
+ //
+ InputFile *inputFile = new InputFile;
+ inputFile->fileName = "-";
+ inputFiles = lastInputFile = inputFile;
+ nInputFiles = 1;
+ }
+
+ //
+ // Fire up a thread for each file.
+ //
+ CreateSingleWaiterObject(&allThreadsDone);
+ nRunningThreads = nInputFiles;
+
+ InputFile *inputFile = inputFiles;
+ while (NULL != inputFile) {
+ StartNewThread(WorkerThreadMain, inputFile);
+ inputFile = inputFile->next;
+ }
+ WaitForSingleWaiterObject(&allThreadsDone);
+
+ _uint64 chars = 0, words = 0, lines = 0;
+
+ bool printChars, printWords, printLines;
+
+ if (cmdLinePrintChars || cmdLinePrintWords || cmdLinePrintLines) {
+ printChars = cmdLinePrintChars;
+ printWords = cmdLinePrintWords;
+ printLines = cmdLinePrintLines;
+ } else {
+ printChars = printWords = printLines = true;
+ }
+
+ inputFile = inputFiles;
+ while (NULL != inputFile) {
+ printOutputLine(inputFile->chars, inputFile->words, inputFile->lines, inputFile->fileName, printChars, printWords, printLines);
+
+ chars += inputFile->chars;
+ words += inputFile->words;
+ lines += inputFile->lines;
+
+ inputFile = inputFile->next;
+ }
+
+ if (nInputFiles > 1) {
+ printOutputLine(chars, words, lines, "Totals", printChars, printWords, printLines);
+ }
+}
+
diff --git a/apps/wc/wc.vcxproj b/apps/wc/wc.vcxproj
new file mode 100644
index 0000000..a005639
--- /dev/null
+++ b/apps/wc/wc.vcxproj
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{70D9DA2A-E423-4705-BC71-0198C365A730}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>wc</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ <AdditionalDependencies>snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h" />
+ <ClInclude Include="targetver.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
+ </ClCompile>
+ <ClCompile Include="wc.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/apps/wc/wc.vcxproj.filters b/apps/wc/wc.vcxproj.filters
new file mode 100644
index 0000000..3b6cf66
--- /dev/null
+++ b/apps/wc/wc.vcxproj.filters
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="targetver.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="wc.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/docs/Manual.docx b/docs/Manual.docx
new file mode 100644
index 0000000..2675062
Binary files /dev/null and b/docs/Manual.docx differ
diff --git a/docs/Manual.pdf b/docs/Manual.pdf
new file mode 100644
index 0000000..d854f8a
Binary files /dev/null and b/docs/Manual.pdf differ
diff --git a/docs/QuickStart.docx b/docs/QuickStart.docx
new file mode 100644
index 0000000..d9f4fa9
Binary files /dev/null and b/docs/QuickStart.docx differ
diff --git a/docs/QuickStart.pdf b/docs/QuickStart.pdf
new file mode 100644
index 0000000..431a7bd
Binary files /dev/null and b/docs/QuickStart.pdf differ
diff --git a/import/libhdfs.lib b/import/libhdfs.lib
new file mode 100755
index 0000000..cbe8a6f
Binary files /dev/null and b/import/libhdfs.lib differ
diff --git a/import/pdclibhdfs/inc/exception.h b/import/pdclibhdfs/inc/exception.h
new file mode 100755
index 0000000..33e9807
--- /dev/null
+++ b/import/pdclibhdfs/inc/exception.h
@@ -0,0 +1,172 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef LIBHDFS_EXCEPTION_H
+#define LIBHDFS_EXCEPTION_H
+
+/**
+ * Exception handling routines for libhdfs.
+ *
+ * The convention we follow here is to clear pending exceptions as soon as they
+ * are raised. Never assume that the caller of your function will clean up
+ * after you-- do it yourself. Unhandled exceptions can lead to memory leaks
+ * and other undefined behavior.
+ *
+ * If you encounter an exception, return a local reference to it. The caller is
+ * responsible for freeing the local reference, by calling a function like
+ * PrintExceptionAndFree. (You can also free exceptions directly by calling
+ * DeleteLocalRef. However, that would not produce an error message, so it's
+ * usually not what you want.)
+ */
+
+#include <jni.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <errno.h>
+
+#ifndef ENOLINK
+#define ENOLINK 67
+#endif
+
+#ifndef ENOTSUP
+# define ENOTSUP 95
+#endif
+
+/**
+ * Exception noprint flags
+ *
+ * Theses flags determine which exceptions should NOT be printed to stderr by
+ * the exception printing routines. For example, if you expect to see
+ * FileNotFound, you might use NOPRINT_EXC_FILE_NOT_FOUND, to avoid filling the
+ * logs with messages about routine events.
+ *
+ * On the other hand, if you don't expect any failures, you might pass
+ * PRINT_EXC_ALL.
+ *
+ * You can OR these flags together to avoid printing multiple classes of
+ * exceptions.
+ */
+#define PRINT_EXC_ALL 0x00
+#define NOPRINT_EXC_FILE_NOT_FOUND 0x01
+#define NOPRINT_EXC_ACCESS_CONTROL 0x02
+#define NOPRINT_EXC_UNRESOLVED_LINK 0x04
+#define NOPRINT_EXC_PARENT_NOT_DIRECTORY 0x08
+#define NOPRINT_EXC_ILLEGAL_ARGUMENT 0x10
+
+/* If we're not using GNU C, elide __attribute__ */
+#ifndef __GNUC__
+# define __attribute__(x) /*NOTHING*/
+#endif
+
+/**
+ * Get information about an exception.
+ *
+ * @param excName The Exception name.
+ * This is a Java class name in JNI format.
+ * @param noPrintFlags Flags which determine which exceptions we should NOT
+ * print.
+ * @param excErrno (out param) The POSIX error number associated with the
+ * exception.
+ * @param shouldPrint (out param) Nonzero if we should print this exception,
+ * based on the noPrintFlags and its name.
+ */
+void getExceptionInfo ( const char *excName, int noPrintFlags,
+ int *excErrno, int *shouldPrint );
+
+/**
+ * Print out information about an exception and free it.
+ *
+ * @param env The JNI environment
+ * @param exc The exception to print and free
+ * @param noPrintFlags Flags which determine which exceptions we should NOT
+ * print.
+ * @param fmt Printf-style format list
+ * @param ap Printf-style varargs
+ *
+ * @return The POSIX error number associated with the exception
+ * object.
+ */
+int printExceptionAndFreeV ( JNIEnv *env,
+ jthrowable exc,
+ int noPrintFlags,
+ const char *fmt, va_list ap );
+
+/**
+ * Print out information about an exception and free it.
+ *
+ * @param env The JNI environment
+ * @param exc The exception to print and free
+ * @param noPrintFlags Flags which determine which exceptions we should NOT
+ * print.
+ * @param fmt Printf-style format list
+ * @param ... Printf-style varargs
+ *
+ * @return The POSIX error number associated with the exception
+ * object.
+ */
+
+int printExceptionAndFree ( JNIEnv *env,
+ jthrowable exc,
+ int noPrintFlags,
+ const char *fmt, ... ) __attribute__((format(printf, 4, 5)));
+
+/**
+ * Print out information about the pending exception and free it.
+ *
+ * @param env The JNI environment
+ * @param noPrintFlags Flags which determine which exceptions we should NOT
+ * print.
+ * @param fmt Printf-style format list
+ * @param ... Printf-style varargs
+ *
+ * @return The POSIX error number associated with the exception
+ * object.
+ */
+
+int printPendingExceptionAndFree ( JNIEnv *env,
+ int noPrintFlags,
+ const char *fmt, ... ) __attribute__((format(printf, 3, 4)));
+
+/**
+ * Get a local reference to the pending exception and clear it.
+ *
+ * Once it is cleared, the exception will no longer be pending. The caller will
+ * have to decide what to do with the exception object.
+ *
+ * @param env The JNI environment
+ *
+ * @return The exception, or NULL if there was no exception
+ */
+jthrowable getPendingExceptionAndClear ( JNIEnv *env );
+
+/**
+ * Create a new runtime error.
+ *
+ * This creates (but does not throw) a new RuntimeError.
+ *
+ * @param env The JNI environment
+ * @param fmt Printf-style format list
+ * @param ... Printf-style varargs
+ *
+ * @return A local reference to a RuntimeError
+ */
+jthrowable newRuntimeError ( JNIEnv *env,
+ const char *fmt, ... ) __attribute__((format(printf, 2, 3)));
+
+#endif
diff --git a/import/pdclibhdfs/inc/expect.h b/import/pdclibhdfs/inc/expect.h
new file mode 100755
index 0000000..83bfb6b
--- /dev/null
+++ b/import/pdclibhdfs/inc/expect.h
@@ -0,0 +1,120 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef LIBHDFS_NATIVE_TESTS_EXPECT_H
+#define LIBHDFS_NATIVE_TESTS_EXPECT_H
+
+#include <stdio.h>
+
+#define EXPECT_ZERO(x) \
+ do { \
+ int __my_ret__ = x; \
+ if (__my_ret__) { \
+ int __my_errno__ = errno; \
+ fprintf(stderr, "TEST_ERROR: failed on line %d with return " \
+ "code %d (errno: %d): got nonzero from %s\n", \
+ __LINE__, __my_ret__, __my_errno__, #x); \
+ return __my_ret__; \
+ } \
+ } while (0);
+
+#define EXPECT_NULL(x) \
+ do { \
+ void* __my_ret__ = x; \
+ int __my_errno__ = errno; \
+ if (__my_ret__ != NULL) { \
+ fprintf(stderr, "TEST_ERROR: failed on line %d (errno: %d): " \
+ "got non-NULL value %p from %s\n", \
+ __LINE__, __my_errno__, __my_ret__, #x); \
+ return -1; \
+ } \
+ } while (0);
+
+#define EXPECT_NONNULL(x) \
+ do { \
+ void* __my_ret__ = x; \
+ int __my_errno__ = errno; \
+ if (__my_ret__ == NULL) { \
+ fprintf(stderr, "TEST_ERROR: failed on line %d (errno: %d): " \
+ "got NULL from %s\n", __LINE__, __my_errno__, #x); \
+ return -1; \
+ } \
+ } while (0);
+
+#define EXPECT_NEGATIVE_ONE_WITH_ERRNO(x, e) \
+ do { \
+ int __my_ret__ = x; \
+ int __my_errno__ = errno; \
+ if (__my_ret__ != -1) { \
+ fprintf(stderr, "TEST_ERROR: failed on line %d with return " \
+ "code %d (errno: %d): expected -1 from %s\n", __LINE__, \
+ __my_ret__, __my_errno__, #x); \
+ return -1; \
+ } \
+ if (__my_errno__ != e) { \
+ fprintf(stderr, "TEST_ERROR: failed on line %d with return " \
+ "code %d (errno: %d): expected errno = %d from %s\n", \
+ __LINE__, __my_ret__, __my_errno__, e, #x); \
+ return -1; \
+ } \
+ } while (0);
+
+#define EXPECT_NONZERO(x) \
+ do { \
+ int __my_ret__ = x; \
+ int __my_errno__ = errno; \
+ if (!__my_ret__) { \
+ fprintf(stderr, "TEST_ERROR: failed on line %d with return " \
+ "code %d (errno: %d): got zero from %s\n", __LINE__, \
+ __my_ret__, __my_errno__, #x); \
+ return -1; \
+ } \
+ } while (0);
+
+#define EXPECT_NONNEGATIVE(x) \
+ do { \
+ int __my_ret__ = x; \
+ int __my_errno__ = errno; \
+ if (__my_ret__ < 0) { \
+ fprintf(stderr, "TEST_ERROR: failed on line %d with return " \
+ "code %d (errno: %d): got negative return from %s\n", \
+ __LINE__, __my_ret__, __my_errno__, #x); \
+ return __my_ret__; \
+ } \
+ } while (0);
+
+#define EXPECT_INT_EQ(x, y) \
+ do { \
+ int __my_ret__ = y; \
+ int __my_errno__ = errno; \
+ if (__my_ret__ != (x)) { \
+ fprintf(stderr, "TEST_ERROR: failed on line %d with return " \
+ "code %d (errno: %d): expected %d\n", \
+ __LINE__, __my_ret__, __my_errno__, (x)); \
+ return -1; \
+ } \
+ } while (0);
+
+#define RETRY_ON_EINTR_GET_ERRNO(ret, expr) do { \
+ ret = expr; \
+ if (!ret) \
+ break; \
+ ret = -errno; \
+ } while (ret == -EINTR);
+
+#endif
diff --git a/import/pdclibhdfs/inc/hdfs.h b/import/pdclibhdfs/inc/hdfs.h
new file mode 100755
index 0000000..f887247
--- /dev/null
+++ b/import/pdclibhdfs/inc/hdfs.h
@@ -0,0 +1,768 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef LIBHDFS_HDFS_H
+#define LIBHDFS_HDFS_H
+
+#include <fcntl.h> /* for O_RDONLY, O_WRONLY */
+#include <time.h> /* for time_t */
+
+#ifdef WIN32
+
+# ifdef WIN32_EXP
+# define WIN32EXP extern __declspec(dllexport)
+# else
+# define WIN32EXP extern __declspec(dllimport)
+# endif
+
+#ifndef O_ACCMODE
+# define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR)
+#endif
+
+#if _MSC_VER >= 1600
+#include <stdint.h>
+#else
+
+#if (_MSC_VER < 1300)
+ typedef signed char int8_t;
+ typedef signed short int16_t;
+ typedef signed int int32_t;
+ typedef unsigned char uint8_t;
+ typedef unsigned short uint16_t;
+ typedef unsigned int uint32_t;
+#else
+ typedef signed __int8 int8_t;
+ typedef signed __int16 int16_t;
+ typedef signed __int32 int32_t;
+ typedef unsigned __int8 uint8_t;
+ typedef unsigned __int16 uint16_t;
+ typedef unsigned __int32 uint32_t;
+#endif
+
+typedef signed __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+
+#endif
+
+#else
+#define WIN32EXP
+#include <stdint.h>
+#endif
+
+#ifndef WIN32
+ typedef int32_t tSize; /* size of data for read/write io ops */
+ typedef int64_t tOffset; /* offset within the file */
+ typedef uint16_t tPort; /* port */
+#else
+ typedef int tSize; /* size of data for read/write io ops */
+ typedef long long tOffset; /* offset within the file */
+ typedef unsigned short tPort; /* port */
+#endif
+
+#ifndef PRId64
+#define PRId64 "I64d"
+#endif
+
+#ifndef O_RDONLY
+#define O_RDONLY 1
+#endif
+
+#ifndef O_WRONLY
+#define O_WRONLY 2
+#endif
+
+#ifndef EINTERNAL
+#define EINTERNAL 255
+#endif
+
+#undef WIN32EXP
+#define WIN32EXP
+
+/** All APIs set errno to meaningful values */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+ // jelson
+ void staticLibInit();
+
+ /**
+ * Some utility decls used in libhdfs.
+ */
+ struct hdfsBuilder;
+
+ typedef time_t tTime; /* time type in seconds */
+
+ typedef enum tObjectKind {
+ kObjectKindFile = 'F',
+ kObjectKindDirectory = 'D',
+ } tObjectKind;
+
+ /**
+ * The C reflection of org.apache.org.hadoop.FileSystem .
+ */
+ struct hdfs_internal;
+ typedef struct hdfs_internal* hdfsFS;
+
+ struct hdfsFile_internal;
+ typedef struct hdfsFile_internal* hdfsFile;
+
+ WIN32EXP int hdfsLibInit ( void * );
+
+ /**
+ * Disable the direct read optimization for a file.
+ *
+ * This is mainly provided for unit testing purposes.
+ *
+ * @param file The HDFS file
+ */
+ WIN32EXP void hdfsFileDisableDirectRead(hdfsFile file);
+
+ /**
+ * Determine if a file is using the "direct read" optimization.
+ *
+ * @param file The HDFS file
+ * @return 1 if the file is using the direct read optimization,
+ * 0 otherwise.
+ */
+ WIN32EXP int hdfsFileUsesDirectRead(hdfsFile file);
+
+ /**
+ * Determine if a file is open for read.
+ *
+ * @param file The HDFS file
+ * @return 1 if the file is open for read; 0 otherwise
+ */
+ WIN32EXP int hdfsFileIsOpenForRead(hdfsFile file);
+
+ /**
+ * Determine if a file is open for write.
+ *
+ * @param file The HDFS file
+ * @return 1 if the file is open for write; 0 otherwise
+ */
+ WIN32EXP int hdfsFileIsOpenForWrite(hdfsFile file);
+
+ struct hdfsReadStatistics {
+ uint64_t totalBytesRead;
+ uint64_t totalLocalBytesRead;
+ uint64_t totalShortCircuitBytesRead;
+ };
+
+ /**
+ * Get read statistics about a file. This is only applicable to files
+ * opened for reading.
+ *
+ * @param file The HDFS file
+ * @param stats (out parameter) on a successful return, the read
+ * statistics. Unchanged otherwise. You must free the
+ * returned statistics with hdfsFileFreeReadStatistics.
+ * @return 0 if the statistics were successfully returned,
+ * -1 otherwise. On a failure, please check errno against
+ * ENOTSUP. webhdfs, LocalFilesystem, and so forth may
+ * not support read statistics.
+ */
+ WIN32EXP int hdfsFileGetReadStatistics(hdfsFile file,
+ struct hdfsReadStatistics **stats);
+
+ /**
+ * @param stats HDFS read statistics for a file.
+ *
+ * @return the number of remote bytes read.
+ */
+ WIN32EXP int64_t hdfsReadStatisticsGetRemoteBytesRead(
+ const struct hdfsReadStatistics *stats);
+
+ /**
+ * Free some HDFS read statistics.
+ *
+ * @param stats The HDFS read statistics to free.
+ */
+ WIN32EXP void hdfsFileFreeReadStatistics(struct hdfsReadStatistics *stats);
+
+ /**
+ * hdfsConnectAsUser - Connect to a hdfs file system as a specific user
+ * Connect to the hdfs.
+ * @param nn The NameNode. See hdfsBuilderSetNameNode for details.
+ * @param port The port on which the server is listening.
+ * @param user the user name (this is hadoop domain user). Or NULL is equivelant to hhdfsConnect(host, port)
+ * @return Returns a handle to the filesystem or NULL on error.
+ * @deprecated Use hdfsBuilderConnect instead.
+ */
+ WIN32EXP hdfsFS hdfsConnectAsUser(const char* nn, tPort port, const char *user);
+
+ /**
+ * hdfsConnect - Connect to a hdfs file system.
+ * Connect to the hdfs.
+ * @param nn The NameNode. See hdfsBuilderSetNameNode for details.
+ * @param port The port on which the server is listening.
+ * @return Returns a handle to the filesystem or NULL on error.
+ * @deprecated Use hdfsBuilderConnect instead.
+ */
+ WIN32EXP hdfsFS hdfsConnect(const char* nn, tPort port);
+
+ /**
+ * hdfsConnect - Connect to an hdfs file system.
+ *
+ * Forces a new instance to be created
+ *
+ * @param nn The NameNode. See hdfsBuilderSetNameNode for details.
+ * @param port The port on which the server is listening.
+ * @param user The user name to use when connecting
+ * @return Returns a handle to the filesystem or NULL on error.
+ * @deprecated Use hdfsBuilderConnect instead.
+ */
+ WIN32EXP hdfsFS hdfsConnectAsUserNewInstance ( const char* nn, tPort port,
+ const char *user );
+
+ /**
+ * hdfsConnect - Connect to an hdfs file system.
+ *
+ * Forces a new instance to be created
+ *
+ * @param nn The NameNode. See hdfsBuilderSetNameNode for details.
+ * @param port The port on which the server is listening.
+ * @return Returns a handle to the filesystem or NULL on error.
+ * @deprecated Use hdfsBuilderConnect instead.
+ */
+ WIN32EXP hdfsFS hdfsConnectNewInstance(const char* nn, tPort port);
+
+ /**
+ * Connect to HDFS using the parameters defined by the builder.
+ *
+ * The HDFS builder will be freed, whether or not the connection was
+ * successful.
+ *
+ * Every successful call to hdfsBuilderConnect should be matched with a call
+ * to hdfsDisconnect, when the hdfsFS is no longer needed.
+ *
+ * @param bld The HDFS builder
+ * @return Returns a handle to the filesystem, or NULL on error.
+ */
+ WIN32EXP hdfsFS hdfsBuilderConnect(struct hdfsBuilder *bld);
+
+ /**
+ * Create an HDFS builder.
+ *
+ * @return The HDFS builder, or NULL on error.
+ */
+ WIN32EXP struct hdfsBuilder *hdfsNewBuilder(void);
+
+ /**
+ * Force the builder to always create a new instance of the FileSystem,
+ * rather than possibly finding one in the cache.
+ *
+ * @param bld The HDFS builder
+ */
+ WIN32EXP void hdfsBuilderSetForceNewInstance(struct hdfsBuilder *bld);
+
+ /**
+ * Set the HDFS NameNode to connect to.
+ *
+ * @param bld The HDFS builder
+ * @param nn The NameNode to use.
+ *
+ * If the string given is 'default', the default NameNode
+ * configuration will be used (from the XML configuration files)
+ *
+ * If NULL is given, a LocalFileSystem will be created.
+ *
+ * If the string starts with a protocol type such as file:// or
+ * hdfs://, this protocol type will be used. If not, the
+ * hdfs:// protocol type will be used.
+ *
+ * You may specify a NameNode port in the usual way by
+ * passing a string of the format hdfs://<hostname>:<port>.
+ * Alternately, you may set the port with
+ * hdfsBuilderSetNameNodePort. However, you must not pass the
+ * port in two different ways.
+ */
+ WIN32EXP void hdfsBuilderSetNameNode(struct hdfsBuilder *bld, const char *nn);
+
+ /**
+ * Set the port of the HDFS NameNode to connect to.
+ *
+ * @param bld The HDFS builder
+ * @param port The port.
+ */
+ WIN32EXP void hdfsBuilderSetNameNodePort(struct hdfsBuilder *bld, tPort port);
+
+ /**
+ * Set the username to use when connecting to the HDFS cluster.
+ *
+ * @param bld The HDFS builder
+ * @param userName The user name. The string will be shallow-copied.
+ */
+ WIN32EXP void hdfsBuilderSetUserName(struct hdfsBuilder *bld, const char *userName);
+
+ /**
+ * Set the path to the Kerberos ticket cache to use when connecting to
+ * the HDFS cluster.
+ *
+ * @param bld The HDFS builder
+ * @param kerbTicketCachePath The Kerberos ticket cache path. The string
+ * will be shallow-copied.
+ */
+ WIN32EXP void hdfsBuilderSetKerbTicketCachePath(struct hdfsBuilder *bld,
+ const char *kerbTicketCachePath);
+
+ /**
+ * Free an HDFS builder.
+ *
+ * It is normally not necessary to call this function since
+ * hdfsBuilderConnect frees the builder.
+ *
+ * @param bld The HDFS builder
+ */
+ WIN32EXP void hdfsFreeBuilder(struct hdfsBuilder *bld);
+
+ /**
+ * Set a configuration string for an HdfsBuilder.
+ *
+ * @param key The key to set.
+ * @param val The value, or NULL to set no value.
+ * This will be shallow-copied. You are responsible for
+ * ensuring that it remains valid until the builder is
+ * freed.
+ *
+ * @return 0 on success; nonzero error code otherwise.
+ */
+ WIN32EXP int hdfsBuilderConfSetStr(struct hdfsBuilder *bld, const char *key,
+ const char *val);
+
+ /**
+ * Get a configuration string.
+ *
+ * @param key The key to find
+ * @param val (out param) The value. This will be set to NULL if the
+ * key isn't found. You must free this string with
+ * hdfsConfStrFree.
+ *
+ * @return 0 on success; nonzero error code otherwise.
+ * Failure to find the key is not an error.
+ */
+ WIN32EXP int hdfsConfGetStr(const char *key, char **val);
+
+ /**
+ * Get a configuration integer.
+ *
+ * @param key The key to find
+ * @param val (out param) The value. This will NOT be changed if the
+ * key isn't found.
+ *
+ * @return 0 on success; nonzero error code otherwise.
+ * Failure to find the key is not an error.
+ */
+ WIN32EXP int hdfsConfGetInt(const char *key, int32_t *val);
+
+ /**
+ * Free a configuration string found with hdfsConfGetStr.
+ *
+ * @param val A configuration string obtained from hdfsConfGetStr
+ */
+ WIN32EXP void hdfsConfStrFree(char *val);
+
+ /**
+ * hdfsDisconnect - Disconnect from the hdfs file system.
+ * Disconnect from hdfs.
+ * @param fs The configured filesystem handle.
+ * @return Returns 0 on success, -1 on error.
+ * Even if there is an error, the resources associated with the
+ * hdfsFS will be freed.
+ */
+ WIN32EXP int hdfsDisconnect(hdfsFS fs);
+
+
+ /**
+ * hdfsOpenFile - Open a hdfs file in given mode.
+ * @param fs The configured filesystem handle.
+ * @param path The full path to the file.
+ * @param flags - an | of bits/fcntl.h file flags - supported flags are O_RDONLY, O_WRONLY (meaning create or overwrite i.e., implies O_TRUNCAT),
+ * O_WRONLY|O_APPEND. Other flags are generally ignored other than (O_RDWR || (O_EXCL & O_CREAT)) which return NULL and set errno equal ENOTSUP.
+ * @param bufferSize Size of buffer for read/write - pass 0 if you want
+ * to use the default configured values.
+ * @param replication Block replication - pass 0 if you want to use
+ * the default configured values.
+ * @param blocksize Size of block - pass 0 if you want to use the
+ * default configured values.
+ * @return Returns the handle to the open file or NULL on error.
+ */
+ WIN32EXP hdfsFile hdfsOpenFile(hdfsFS fs, const char* path, int flags,
+ int bufferSize, short replication, tSize blocksize);
+
+
+ /**
+ * hdfsCloseFile - Close an open file.
+ * @param fs The configured filesystem handle.
+ * @param file The file handle.
+ * @return Returns 0 on success, -1 on error.
+ * On error, errno will be set appropriately.
+ * If the hdfs file was valid, the memory associated with it will
+ * be freed at the end of this call, even if there was an I/O
+ * error.
+ */
+ WIN32EXP int hdfsCloseFile(hdfsFS fs, hdfsFile file);
+
+
+ /**
+ * hdfsExists - Checks if a given path exsits on the filesystem
+ * @param fs The configured filesystem handle.
+ * @param path The path to look for
+ * @return Returns 0 on success, -1 on error.
+ */
+ WIN32EXP int hdfsExists(hdfsFS fs, const char *path);
+
+
+ /**
+ * hdfsSeek - Seek to given offset in file.
+ * This works only for files opened in read-only mode.
+ * @param fs The configured filesystem handle.
+ * @param file The file handle.
+ * @param desiredPos Offset into the file to seek into.
+ * @return Returns 0 on success, -1 on error.
+ */
+ WIN32EXP int hdfsSeek(hdfsFS fs, hdfsFile file, tOffset desiredPos);
+
+
+ /**
+ * hdfsTell - Get the current offset in the file, in bytes.
+ * @param fs The configured filesystem handle.
+ * @param file The file handle.
+ * @return Current offset, -1 on error.
+ */
+ WIN32EXP tOffset hdfsTell(hdfsFS fs, hdfsFile file);
+
+
+ /**
+ * hdfsRead - Read data from an open file.
+ * @param fs The configured filesystem handle.
+ * @param file The file handle.
+ * @param buffer The buffer to copy read bytes into.
+ * @param length The length of the buffer.
+ * @return On success, a positive number indicating how many bytes
+ * were read.
+ * On end-of-file, 0.
+ * On error, -1. Errno will be set to the error code.
+ * Just like the POSIX read function, hdfsRead will return -1
+ * and set errno to EINTR if data is temporarily unavailable,
+ * but we are not yet at the end of the file.
+ */
+ WIN32EXP tSize hdfsRead(hdfsFS fs, hdfsFile file, void* buffer, tSize length);
+
+ /**
+ * hdfsPread - Positional read of data from an open file.
+ * @param fs The configured filesystem handle.
+ * @param file The file handle.
+ * @param position Position from which to read
+ * @param buffer The buffer to copy read bytes into.
+ * @param length The length of the buffer.
+ * @return See hdfsRead
+ */
+ WIN32EXP tSize hdfsPread(hdfsFS fs, hdfsFile file, tOffset position,
+ void* buffer, tSize length);
+
+
+ /**
+ * hdfsWrite - Write data into an open file.
+ * @param fs The configured filesystem handle.
+ * @param file The file handle.
+ * @param buffer The data.
+ * @param length The no. of bytes to write.
+ * @return Returns the number of bytes written, -1 on error.
+ */
+ WIN32EXP tSize hdfsWrite(hdfsFS fs, hdfsFile file, const void* buffer,
+ tSize length);
+
+
+ /**
+ * hdfsWrite - Flush the data.
+ * @param fs The configured filesystem handle.
+ * @param file The file handle.
+ * @return Returns 0 on success, -1 on error.
+ */
+ WIN32EXP int hdfsFlush(hdfsFS fs, hdfsFile file);
+
+
+ /**
+ * hdfsHFlush - Flush out the data in client's user buffer. After the
+ * return of this call, new readers will see the data.
+ * @param fs configured filesystem handle
+ * @param file file handle
+ * @return 0 on success, -1 on error and sets errno
+ */
+ WIN32EXP int hdfsHFlush(hdfsFS fs, hdfsFile file);
+
+
+ /**
+ * hdfsHSync - Similar to posix fsync, Flush out the data in client's
+ * user buffer. all the way to the disk device (but the disk may have
+ * it in its cache).
+ * @param fs configured filesystem handle
+ * @param file file handle
+ * @return 0 on success, -1 on error and sets errno
+ */
+ WIN32EXP int hdfsHSync(hdfsFS fs, hdfsFile file);
+
+
+ /**
+ * hdfsAvailable - Number of bytes that can be read from this
+ * input stream without blocking.
+ * @param fs The configured filesystem handle.
+ * @param file The file handle.
+ * @return Returns available bytes; -1 on error.
+ */
+ WIN32EXP int hdfsAvailable(hdfsFS fs, hdfsFile file);
+
+
+ /**
+ * hdfsCopy - Copy file from one filesystem to another.
+ * @param srcFS The handle to source filesystem.
+ * @param src The path of source file.
+ * @param dstFS The handle to destination filesystem.
+ * @param dst The path of destination file.
+ * @return Returns 0 on success, -1 on error.
+ */
+ WIN32EXP int hdfsCopy(hdfsFS srcFS, const char* src, hdfsFS dstFS, const char* dst);
+
+
+ /**
+ * hdfsMove - Move file from one filesystem to another.
+ * @param srcFS The handle to source filesystem.
+ * @param src The path of source file.
+ * @param dstFS The handle to destination filesystem.
+ * @param dst The path of destination file.
+ * @return Returns 0 on success, -1 on error.
+ */
+ WIN32EXP int hdfsMove(hdfsFS srcFS, const char* src, hdfsFS dstFS, const char* dst);
+
+
+ /**
+ * hdfsDelete - Delete file.
+ * @param fs The configured filesystem handle.
+ * @param path The path of the file.
+ * @param recursive if path is a directory and set to
+ * non-zero, the directory is deleted else throws an exception. In
+ * case of a file the recursive argument is irrelevant.
+ * @return Returns 0 on success, -1 on error.
+ */
+ WIN32EXP int hdfsDelete(hdfsFS fs, const char* path, int recursive);
+
+ /**
+ * hdfsRename - Rename file.
+ * @param fs The configured filesystem handle.
+ * @param oldPath The path of the source file.
+ * @param newPath The path of the destination file.
+ * @return Returns 0 on success, -1 on error.
+ */
+ WIN32EXP int hdfsRename(hdfsFS fs, const char* oldPath, const char* newPath);
+
+
+ /**
+ * hdfsGetWorkingDirectory - Get the current working directory for
+ * the given filesystem.
+ * @param fs The configured filesystem handle.
+ * @param buffer The user-buffer to copy path of cwd into.
+ * @param bufferSize The length of user-buffer.
+ * @return Returns buffer, NULL on error.
+ */
+ WIN32EXP char* hdfsGetWorkingDirectory(hdfsFS fs, char *buffer, size_t bufferSize);
+
+
+ /**
+ * hdfsSetWorkingDirectory - Set the working directory. All relative
+ * paths will be resolved relative to it.
+ * @param fs The configured filesystem handle.
+ * @param path The path of the new 'cwd'.
+ * @return Returns 0 on success, -1 on error.
+ */
+ WIN32EXP int hdfsSetWorkingDirectory(hdfsFS fs, const char* path);
+
+
+ /**
+ * hdfsCreateDirectory - Make the given file and all non-existent
+ * parents into directories.
+ * @param fs The configured filesystem handle.
+ * @param path The path of the directory.
+ * @return Returns 0 on success, -1 on error.
+ */
+ WIN32EXP int hdfsCreateDirectory(hdfsFS fs, const char* path);
+
+
+ /**
+ * hdfsSetReplication - Set the replication of the specified
+ * file to the supplied value
+ * @param fs The configured filesystem handle.
+ * @param path The path of the file.
+ * @return Returns 0 on success, -1 on error.
+ */
+ WIN32EXP int hdfsSetReplication(hdfsFS fs, const char* path, int16_t replication);
+
+ /**
+ * hdfsFileInfo - Information about a file/directory.
+ */
+ typedef struct {
+ tObjectKind mKind; /* file or directory */
+ char *mName; /* the name of the file */
+ tTime mLastMod; /* the last modification time for the file in seconds */
+ tOffset mSize; /* the size of the file in bytes */
+ short mReplication; /* the count of replicas */
+ tOffset mBlockSize; /* the block size for the file */
+ char *mOwner; /* the owner of the file */
+ char *mGroup; /* the group associated with the file */
+ short mPermissions; /* the permissions associated with the file */
+ tTime mLastAccess; /* the last access time for the file in seconds */
+ } hdfsFileInfo;
+
+ /**
+ * hdfsListDirectory - Get list of files/directories for a given
+ * directory-path. hdfsFreeFileInfo should be called to deallocate memory.
+ * @param fs The configured filesystem handle.
+ * @param path The path of the directory.
+ * @param numEntries Set to the number of files/directories in path.
+ * @return Returns a dynamically-allocated array of hdfsFileInfo
+ * objects; NULL on error.
+ */
+ WIN32EXP hdfsFileInfo *hdfsListDirectory(hdfsFS fs, const char* path,
+ int *numEntries);
+
+ /**
+ * hdfsGetPathInfo - Get information about a path as a (dynamically
+ * allocated) single hdfsFileInfo struct. hdfsFreeFileInfo should be
+ * called when the pointer is no longer needed.
+ * @param fs The configured filesystem handle.
+ * @param path The path of the file.
+ * @return Returns a dynamically-allocated hdfsFileInfo object;
+ * NULL on error.
+ */
+ WIN32EXP hdfsFileInfo *hdfsGetPathInfo(hdfsFS fs, const char* path);
+
+
+ /**
+ * hdfsFreeFileInfo - Free up the hdfsFileInfo array (including fields)
+ * @param hdfsFileInfo The array of dynamically-allocated hdfsFileInfo
+ * objects.
+ * @param numEntries The size of the array.
+ */
+ WIN32EXP void hdfsFreeFileInfo(hdfsFileInfo *hdfsFileInfo, int numEntries);
+
+
+ /**
+ * hdfsGetHosts - Get hostnames where a particular block (determined by
+ * pos & blocksize) of a file is stored. The last element in the array
+ * is NULL. Due to replication, a single block could be present on
+ * multiple hosts.
+ * @param fs The configured filesystem handle.
+ * @param path The path of the file.
+ * @param start The start of the block.
+ * @param length The length of the block.
+ * @return Returns a dynamically-allocated 2-d array of blocks-hosts;
+ * NULL on error.
+ */
+ WIN32EXP char*** hdfsGetHosts(hdfsFS fs, const char* path,
+ tOffset start, tOffset length);
+
+
+ /**
+ * hdfsFreeHosts - Free up the structure returned by hdfsGetHosts
+ * @param hdfsFileInfo The array of dynamically-allocated hdfsFileInfo
+ * objects.
+ * @param numEntries The size of the array.
+ */
+ WIN32EXP void hdfsFreeHosts(char ***blockHosts);
+
+
+ /**
+ * hdfsGetDefaultBlockSize - Get the default blocksize.
+ *
+ * @param fs The configured filesystem handle.
+ * @deprecated Use hdfsGetDefaultBlockSizeAtPath instead.
+ *
+ * @return Returns the default blocksize, or -1 on error.
+ */
+ WIN32EXP tOffset hdfsGetDefaultBlockSize(hdfsFS fs);
+
+
+ /**
+ * hdfsGetDefaultBlockSizeAtPath - Get the default blocksize at the
+ * filesystem indicated by a given path.
+ *
+ * @param fs The configured filesystem handle.
+ * @param path The given path will be used to locate the actual
+ * filesystem. The full path does not have to exist.
+ *
+ * @return Returns the default blocksize, or -1 on error.
+ */
+ WIN32EXP tOffset hdfsGetDefaultBlockSizeAtPath(hdfsFS fs, const char *path);
+
+
+ /**
+ * hdfsGetCapacity - Return the raw capacity of the filesystem.
+ * @param fs The configured filesystem handle.
+ * @return Returns the raw-capacity; -1 on error.
+ */
+ WIN32EXP tOffset hdfsGetCapacity(hdfsFS fs);
+
+
+ /**
+ * hdfsGetUsed - Return the total raw size of all files in the filesystem.
+ * @param fs The configured filesystem handle.
+ * @return Returns the total-size; -1 on error.
+ */
+ WIN32EXP tOffset hdfsGetUsed(hdfsFS fs);
+
+ /**
+ * Change the user and/or group of a file or directory.
+ *
+ * @param fs The configured filesystem handle.
+ * @param path the path to the file or directory
+ * @param owner User string. Set to NULL for 'no change'
+ * @param group Group string. Set to NULL for 'no change'
+ * @return 0 on success else -1
+ */
+ WIN32EXP int hdfsChown(hdfsFS fs, const char* path, const char *owner,
+ const char *group);
+
+ /**
+ * hdfsChmod
+ * @param fs The configured filesystem handle.
+ * @param path the path to the file or directory
+ * @param mode the bitmask to set it to
+ * @return 0 on success else -1
+ */
+ WIN32EXP int hdfsChmod(hdfsFS fs, const char* path, short mode);
+
+ /**
+ * hdfsUtime
+ * @param fs The configured filesystem handle.
+ * @param path the path to the file or directory
+ * @param mtime new modification time or -1 for no change
+ * @param atime new access time or -1 for no change
+ * @return 0 on success else -1
+ */
+ WIN32EXP int hdfsUtime(hdfsFS fs, const char* path, tTime mtime, tTime atime);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /*LIBHDFS_HDFS_H*/
+
+/**
+ * vim: ts=4: sw=4: et
+ */
diff --git a/import/pdclibhdfs/inc/hdfs_test.h b/import/pdclibhdfs/inc/hdfs_test.h
new file mode 100755
index 0000000..95b25b7
--- /dev/null
+++ b/import/pdclibhdfs/inc/hdfs_test.h
@@ -0,0 +1,39 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef LIBHDFS_HDFS_TEST_H
+#define LIBHDFS_HDFS_TEST_H
+
+struct hdfsFile_internal;
+
+/**
+ * Some functions that are visible only for testing.
+ *
+ * This header is not meant to be exported or used outside of the libhdfs unit
+ * tests.
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/import/pdclibhdfs/inc/jni_helper.h b/import/pdclibhdfs/inc/jni_helper.h
new file mode 100755
index 0000000..f42779f
--- /dev/null
+++ b/import/pdclibhdfs/inc/jni_helper.h
@@ -0,0 +1,128 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef LIBHDFS_JNI_HELPER_H
+#define LIBHDFS_JNI_HELPER_H
+
+#include <jni.h>
+#include <stdio.h>
+
+#include <stdlib.h>
+#include <stdarg.h>
+
+#ifdef WIN32
+#include <windows.h>
+#endif
+
+#ifndef WIN32
+#include <search.h>
+#include <pthread.h>
+#endif
+
+#include <errno.h>
+
+#define PATH_SEPARATOR ':'
+
+/** Denote the method we want to invoke as STATIC or INSTANCE */
+typedef enum {
+ STATIC,
+ INSTANCE
+} MethType;
+
+/**
+ * Create a new malloc'ed C string from a Java string.
+ *
+ * @param env The JNI environment
+ * @param jstr The Java string
+ * @param out (out param) the malloc'ed C string
+ *
+ * @return NULL on success; the exception otherwise
+ */
+jthrowable newCStr(JNIEnv *env, jstring jstr, char **out);
+
+/**
+ * Create a new Java string from a C string.
+ *
+ * @param env The JNI environment
+ * @param str The C string
+ * @param out (out param) the java string
+ *
+ * @return NULL on success; the exception otherwise
+ */
+jthrowable newJavaStr(JNIEnv *env, const char *str, jstring *out);
+
+/**
+ * Helper function to destroy a local reference of java.lang.Object
+ * @param env: The JNIEnv pointer.
+ * @param jFile: The local reference of java.lang.Object object
+ * @return None.
+ */
+void destroyLocalReference(JNIEnv *env, jobject jObject);
+
+/** invokeMethod: Invoke a Static or Instance method.
+ * className: Name of the class where the method can be found
+ * methName: Name of the method
+ * methSignature: the signature of the method "(arg-types)ret-type"
+ * methType: The type of the method (STATIC or INSTANCE)
+ * instObj: Required if the methType is INSTANCE. The object to invoke
+ the method on.
+ * env: The JNIEnv pointer
+ * retval: The pointer to a union type which will contain the result of the
+ method invocation, e.g. if the method returns an Object, retval will be
+ set to that, if the method returns boolean, retval will be set to the
+ value (JNI_TRUE or JNI_FALSE), etc.
+ * exc: If the methods throws any exception, this will contain the reference
+ * Arguments (the method arguments) must be passed after methSignature
+ * RETURNS: -1 on error and 0 on success. If -1 is returned, exc will have
+ a valid exception reference, and the result stored at retval is undefined.
+ */
+jthrowable invokeMethod(JNIEnv *env, jvalue *retval, MethType methType,
+ jobject instObj, const char *className, const char *methName,
+ const char *methSignature, ...);
+
+jthrowable constructNewObjectOfClass(JNIEnv *env, jobject *out, const char *className,
+ const char *ctorSignature, ...);
+
+jthrowable methodIdFromClass(const char *className, const char *methName,
+ const char *methSignature, MethType methType,
+ JNIEnv *env, jmethodID *out);
+
+jthrowable globalClassReference(const char *className, JNIEnv *env, jclass *out);
+
+/** classNameOfObject: Get an object's class name.
+ * @param jobj: The object.
+ * @param env: The JNIEnv pointer.
+ * @param name: (out param) On success, will contain a string containing the
+ * class name. This string must be freed by the caller.
+ * @return NULL on success, or the exception
+ */
+jthrowable classNameOfObject(jobject jobj, JNIEnv *env, char **name);
+
+/** getJNIEnv: A helper function to get the JNIEnv* for the given thread.
+ * If no JVM exists, then one will be created. JVM command line arguments
+ * are obtained from the LIBHDFS_OPTS environment variable.
+ * @param: None.
+ * @return The JNIEnv* corresponding to the thread.
+ * */
+JNIEnv* getJNIEnv(void);
+
+#endif /*LIBHDFS_JNI_HELPER_H*/
+
+/**
+ * vim: ts=4: sw=4: et:
+ */
diff --git a/import/pdclibhdfs/inc/native_mini_dfs.h b/import/pdclibhdfs/inc/native_mini_dfs.h
new file mode 100755
index 0000000..0508fa9
--- /dev/null
+++ b/import/pdclibhdfs/inc/native_mini_dfs.h
@@ -0,0 +1,104 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef LIBHDFS_NATIVE_MINI_DFS_H
+#define LIBHDFS_NATIVE_MINI_DFS_H
+
+#include <jni.h> /* for jboolean */
+
+struct NativeMiniDfsCluster;
+
+/**
+ * Represents a configuration to use for creating a Native MiniDFSCluster
+ */
+struct NativeMiniDfsConf {
+ /**
+ * Nonzero if the cluster should be formatted prior to startup
+ */
+ jboolean doFormat;
+ /**
+ * Whether or not to enable webhdfs in MiniDfsCluster
+ */
+ jboolean webhdfsEnabled;
+ /**
+ * The http port of the namenode in MiniDfsCluster
+ */
+ jint namenodeHttpPort;
+};
+
+/**
+ * Create a NativeMiniDfsBuilder
+ *
+ * @param conf (inout) The cluster configuration
+ *
+ * @return a NativeMiniDfsBuilder, or a NULL pointer on error.
+ */
+struct NativeMiniDfsCluster* nmdCreate(struct NativeMiniDfsConf *conf);
+
+/**
+ * Wait until a MiniDFSCluster comes out of safe mode.
+ *
+ * @param cl The cluster
+ *
+ * @return 0 on success; a non-zero error code if the cluster fails to
+ * come out of safe mode.
+ */
+int nmdWaitClusterUp(struct NativeMiniDfsCluster *cl);
+
+/**
+ * Shut down a NativeMiniDFS cluster
+ *
+ * @param cl The cluster
+ *
+ * @return 0 on success; a non-zero error code if an exception is
+ * thrown.
+ */
+int nmdShutdown(struct NativeMiniDfsCluster *cl);
+
+/**
+ * Destroy a Native MiniDFSCluster
+ *
+ * @param cl The cluster to destroy
+ */
+void nmdFree(struct NativeMiniDfsCluster* cl);
+
+/**
+ * Get the port that's in use by the given (non-HA) nativeMiniDfs
+ *
+ * @param cl The initialized NativeMiniDfsCluster
+ *
+ * @return the port, or a negative error code
+ */
+int nmdGetNameNodePort(const struct NativeMiniDfsCluster *cl);
+
+/**
+ * Get the http address that's in use by the given (non-HA) nativeMiniDfs
+ *
+ * @param cl The initialized NativeMiniDfsCluster
+ * @param port Used to capture the http port of the NameNode
+ * of the NativeMiniDfsCluster
+ * @param hostName Used to capture the http hostname of the NameNode
+ * of the NativeMiniDfsCluster
+ *
+ * @return 0 on success; a non-zero error code if failing to
+ * get the information.
+ */
+int nmdGetNameNodeHttpAddress(const struct NativeMiniDfsCluster *cl,
+ int *port, const char **hostName);
+
+#endif
diff --git a/import/pdclibhdfs/inc/stdint.h-xx b/import/pdclibhdfs/inc/stdint.h-xx
new file mode 100755
index 0000000..f8c7d47
--- /dev/null
+++ b/import/pdclibhdfs/inc/stdint.h-xx
@@ -0,0 +1,259 @@
+// ISO C9x compliant stdint.h for Microsoft Visual Studio
+// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
+//
+// Copyright (c) 2006-2013 Alexander Chemeris
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are met:
+//
+// 1. Redistributions of source code must retain the above copyright notice,
+// this list of conditions and the following disclaimer.
+//
+// 2. Redistributions in binary form must reproduce the above copyright
+// notice, this list of conditions and the following disclaimer in the
+// documentation and/or other materials provided with the distribution.
+//
+// 3. Neither the name of the product nor the names of its contributors may
+// be used to endorse or promote products derived from this software
+// without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#ifndef _MSC_VER // [
+#error "Use this header only with Microsoft Visual C++ compilers!"
+#endif // _MSC_VER ]
+
+#ifndef _MSC_STDINT_H_ // [
+#define _MSC_STDINT_H_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif
+
+#if _MSC_VER >= 1600 // [
+#include <stdint.h>
+#else // ] _MSC_VER >= 1600 [
+
+#include <limits.h>
+
+// For Visual Studio 6 in C++ mode and for many Visual Studio versions when
+// compiling for ARM we should wrap <wchar.h> include with 'extern "C++" {}'
+// or compiler give many errors like this:
+// error C2733: second C linkage of overloaded function 'wmemchr' not allowed
+#ifdef __cplusplus
+extern "C" {
+#endif
+# include <wchar.h>
+#ifdef __cplusplus
+}
+#endif
+
+// Define _W64 macros to mark types changing their size, like intptr_t.
+#ifndef _W64
+# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
+# define _W64 __w64
+# else
+# define _W64
+# endif
+#endif
+
+
+// 7.18.1 Integer types
+
+// 7.18.1.1 Exact-width integer types
+
+// Visual Studio 6 and Embedded Visual C++ 4 doesn't
+// realize that, e.g. char has the same size as __int8
+// so we give up on __intX for them.
+#if (_MSC_VER < 1300)
+ typedef signed char int8_t;
+ typedef signed short int16_t;
+ typedef signed int int32_t;
+ typedef unsigned char uint8_t;
+ typedef unsigned short uint16_t;
+ typedef unsigned int uint32_t;
+#else
+ typedef signed __int8 int8_t;
+ typedef signed __int16 int16_t;
+ typedef signed __int32 int32_t;
+ typedef unsigned __int8 uint8_t;
+ typedef unsigned __int16 uint16_t;
+ typedef unsigned __int32 uint32_t;
+#endif
+typedef signed __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+
+
+// 7.18.1.2 Minimum-width integer types
+typedef int8_t int_least8_t;
+typedef int16_t int_least16_t;
+typedef int32_t int_least32_t;
+typedef int64_t int_least64_t;
+typedef uint8_t uint_least8_t;
+typedef uint16_t uint_least16_t;
+typedef uint32_t uint_least32_t;
+typedef uint64_t uint_least64_t;
+
+// 7.18.1.3 Fastest minimum-width integer types
+typedef int8_t int_fast8_t;
+typedef int16_t int_fast16_t;
+typedef int32_t int_fast32_t;
+typedef int64_t int_fast64_t;
+typedef uint8_t uint_fast8_t;
+typedef uint16_t uint_fast16_t;
+typedef uint32_t uint_fast32_t;
+typedef uint64_t uint_fast64_t;
+
+// 7.18.1.4 Integer types capable of holding object pointers
+#ifdef _WIN64 // [
+ typedef signed __int64 intptr_t;
+ typedef unsigned __int64 uintptr_t;
+#else // _WIN64 ][
+ typedef _W64 signed int intptr_t;
+ typedef _W64 unsigned int uintptr_t;
+#endif // _WIN64 ]
+
+// 7.18.1.5 Greatest-width integer types
+typedef int64_t intmax_t;
+typedef uint64_t uintmax_t;
+
+
+// 7.18.2 Limits of specified-width integer types
+
+#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259
+
+// 7.18.2.1 Limits of exact-width integer types
+#define INT8_MIN ((int8_t)_I8_MIN)
+#define INT8_MAX _I8_MAX
+#define INT16_MIN ((int16_t)_I16_MIN)
+#define INT16_MAX _I16_MAX
+#define INT32_MIN ((int32_t)_I32_MIN)
+#define INT32_MAX _I32_MAX
+#define INT64_MIN ((int64_t)_I64_MIN)
+#define INT64_MAX _I64_MAX
+#define UINT8_MAX _UI8_MAX
+#define UINT16_MAX _UI16_MAX
+#define UINT32_MAX _UI32_MAX
+#define UINT64_MAX _UI64_MAX
+
+// 7.18.2.2 Limits of minimum-width integer types
+#define INT_LEAST8_MIN INT8_MIN
+#define INT_LEAST8_MAX INT8_MAX
+#define INT_LEAST16_MIN INT16_MIN
+#define INT_LEAST16_MAX INT16_MAX
+#define INT_LEAST32_MIN INT32_MIN
+#define INT_LEAST32_MAX INT32_MAX
+#define INT_LEAST64_MIN INT64_MIN
+#define INT_LEAST64_MAX INT64_MAX
+#define UINT_LEAST8_MAX UINT8_MAX
+#define UINT_LEAST16_MAX UINT16_MAX
+#define UINT_LEAST32_MAX UINT32_MAX
+#define UINT_LEAST64_MAX UINT64_MAX
+
+// 7.18.2.3 Limits of fastest minimum-width integer types
+#define INT_FAST8_MIN INT8_MIN
+#define INT_FAST8_MAX INT8_MAX
+#define INT_FAST16_MIN INT16_MIN
+#define INT_FAST16_MAX INT16_MAX
+#define INT_FAST32_MIN INT32_MIN
+#define INT_FAST32_MAX INT32_MAX
+#define INT_FAST64_MIN INT64_MIN
+#define INT_FAST64_MAX INT64_MAX
+#define UINT_FAST8_MAX UINT8_MAX
+#define UINT_FAST16_MAX UINT16_MAX
+#define UINT_FAST32_MAX UINT32_MAX
+#define UINT_FAST64_MAX UINT64_MAX
+
+// 7.18.2.4 Limits of integer types capable of holding object pointers
+#ifdef _WIN64 // [
+# define INTPTR_MIN INT64_MIN
+# define INTPTR_MAX INT64_MAX
+# define UINTPTR_MAX UINT64_MAX
+#else // _WIN64 ][
+# define INTPTR_MIN INT32_MIN
+# define INTPTR_MAX INT32_MAX
+# define UINTPTR_MAX UINT32_MAX
+#endif // _WIN64 ]
+
+// 7.18.2.5 Limits of greatest-width integer types
+#define INTMAX_MIN INT64_MIN
+#define INTMAX_MAX INT64_MAX
+#define UINTMAX_MAX UINT64_MAX
+
+// 7.18.3 Limits of other integer types
+
+#ifdef _WIN64 // [
+# define PTRDIFF_MIN _I64_MIN
+# define PTRDIFF_MAX _I64_MAX
+#else // _WIN64 ][
+# define PTRDIFF_MIN _I32_MIN
+# define PTRDIFF_MAX _I32_MAX
+#endif // _WIN64 ]
+
+#define SIG_ATOMIC_MIN INT_MIN
+#define SIG_ATOMIC_MAX INT_MAX
+
+#ifndef SIZE_MAX // [
+# ifdef _WIN64 // [
+# define SIZE_MAX _UI64_MAX
+# else // _WIN64 ][
+# define SIZE_MAX _UI32_MAX
+# endif // _WIN64 ]
+#endif // SIZE_MAX ]
+
+// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h>
+#ifndef WCHAR_MIN // [
+# define WCHAR_MIN 0
+#endif // WCHAR_MIN ]
+#ifndef WCHAR_MAX // [
+# define WCHAR_MAX _UI16_MAX
+#endif // WCHAR_MAX ]
+
+#define WINT_MIN 0
+#define WINT_MAX _UI16_MAX
+
+#endif // __STDC_LIMIT_MACROS ]
+
+
+// 7.18.4 Limits of other integer types
+
+#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260
+
+// 7.18.4.1 Macros for minimum-width integer constants
+
+#define INT8_C(val) val##i8
+#define INT16_C(val) val##i16
+#define INT32_C(val) val##i32
+#define INT64_C(val) val##i64
+
+#define UINT8_C(val) val##ui8
+#define UINT16_C(val) val##ui16
+#define UINT32_C(val) val##ui32
+#define UINT64_C(val) val##ui64
+
+// 7.18.4.2 Macros for greatest-width integer constants
+// These #ifndef's are needed to prevent collisions with <boost/cstdint.hpp>.
+// Check out Issue 9 for the details.
+#ifndef INTMAX_C // [
+# define INTMAX_C INT64_C
+#endif // INTMAX_C ]
+#ifndef UINTMAX_C // [
+# define UINTMAX_C UINT64_C
+#endif // UINTMAX_C ]
+
+#endif // __STDC_CONSTANT_MACROS ]
+
+#endif // _MSC_VER >= 1600 ]
+
+#endif // _MSC_STDINT_H_ ]
diff --git a/import/pdclibhdfs/inc/uthash.h b/import/pdclibhdfs/inc/uthash.h
new file mode 100755
index 0000000..72acf11
--- /dev/null
+++ b/import/pdclibhdfs/inc/uthash.h
@@ -0,0 +1,948 @@
+/*
+Copyright (c) 2003-2013, Troy D. Hanson http://troydhanson.github.com/uthash/
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#ifndef UTHASH_H
+#define UTHASH_H
+
+#include <string.h> /* memcmp,strlen */
+#include <stddef.h> /* ptrdiff_t */
+#include <stdlib.h> /* exit() */
+
+/* These macros use decltype or the earlier __typeof GNU extension.
+ As decltype is only available in newer compilers (VS2010 or gcc 4.3+
+ when compiling c++ source) this code uses whatever method is needed
+ or, for VS2008 where neither is available, uses casting workarounds. */
+#ifdef _MSC_VER /* MS compiler */
+#if _MSC_VER >= 1600 && defined(__cplusplus) /* VS2010 or newer in C++ mode */
+#define DECLTYPE(x) (decltype(x))
+#else /* VS2008 or older (or VS2010 in C mode) */
+#define NO_DECLTYPE
+#define DECLTYPE(x)
+#endif
+#else /* GNU, Sun and other compilers */
+#define DECLTYPE(x) (__typeof(x))
+#endif
+
+#ifdef NO_DECLTYPE
+#define DECLTYPE_ASSIGN(dst,src) \
+do { \
+ char **_da_dst = (char**)(&(dst)); \
+ *_da_dst = (char*)(src); \
+} while(0)
+#else
+#define DECLTYPE_ASSIGN(dst,src) \
+do { \
+ (dst) = DECLTYPE(dst)(src); \
+} while(0)
+#endif
+
+/* a number of the hash function use uint32_t which isn't defined on win32 */
+#ifdef _MSC_VER
+typedef unsigned int uint32_t;
+typedef unsigned char uint8_t;
+#else
+#include <inttypes.h> /* uint32_t */
+#endif
+
+#define UTHASH_VERSION 1.9.8
+
+#ifndef uthash_fatal
+#define uthash_fatal(msg) exit(-1) /* fatal error (out of memory,etc) */
+#endif
+#ifndef uthash_malloc
+#define uthash_malloc(sz) malloc(sz) /* malloc fcn */
+#endif
+#ifndef uthash_free
+#define uthash_free(ptr,sz) free(ptr) /* free fcn */
+#endif
+
+#ifndef uthash_noexpand_fyi
+#define uthash_noexpand_fyi(tbl) /* can be defined to log noexpand */
+#endif
+#ifndef uthash_expand_fyi
+#define uthash_expand_fyi(tbl) /* can be defined to log expands */
+#endif
+
+/* initial number of buckets */
+#define HASH_INITIAL_NUM_BUCKETS 32 /* initial number of buckets */
+#define HASH_INITIAL_NUM_BUCKETS_LOG2 5 /* lg2 of initial number of buckets */
+#define HASH_BKT_CAPACITY_THRESH 10 /* expand when bucket count reaches */
+
+/* calculate the element whose hash handle address is hhe */
+#define ELMT_FROM_HH(tbl,hhp) ((void*)(((char*)(hhp)) - ((tbl)->hho)))
+
+#define HASH_FIND(hh,head,keyptr,keylen,out) \
+do { \
+ unsigned _hf_bkt,_hf_hashv; \
+ out=NULL; \
+ if (head) { \
+ HASH_FCN(keyptr,keylen, (head)->hh.tbl->num_buckets, _hf_hashv, _hf_bkt); \
+ if (HASH_BLOOM_TEST((head)->hh.tbl, _hf_hashv)) { \
+ HASH_FIND_IN_BKT((head)->hh.tbl, hh, (head)->hh.tbl->buckets[ _hf_bkt ], \
+ keyptr,keylen,out); \
+ } \
+ } \
+} while (0)
+
+#ifdef HASH_BLOOM
+#define HASH_BLOOM_BITLEN (1ULL << HASH_BLOOM)
+#define HASH_BLOOM_BYTELEN (HASH_BLOOM_BITLEN/8) + ((HASH_BLOOM_BITLEN%8) ? 1:0)
+#define HASH_BLOOM_MAKE(tbl) \
+do { \
+ (tbl)->bloom_nbits = HASH_BLOOM; \
+ (tbl)->bloom_bv = (uint8_t*)uthash_malloc(HASH_BLOOM_BYTELEN); \
+ if (!((tbl)->bloom_bv)) { uthash_fatal( "out of memory"); } \
+ memset((tbl)->bloom_bv, 0, HASH_BLOOM_BYTELEN); \
+ (tbl)->bloom_sig = HASH_BLOOM_SIGNATURE; \
+} while (0)
+
+#define HASH_BLOOM_FREE(tbl) \
+do { \
+ uthash_free((tbl)->bloom_bv, HASH_BLOOM_BYTELEN); \
+} while (0)
+
+#define HASH_BLOOM_BITSET(bv,idx) (bv[(idx)/8] |= (1U << ((idx)%8)))
+#define HASH_BLOOM_BITTEST(bv,idx) (bv[(idx)/8] & (1U << ((idx)%8)))
+
+#define HASH_BLOOM_ADD(tbl,hashv) \
+ HASH_BLOOM_BITSET((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1)))
+
+#define HASH_BLOOM_TEST(tbl,hashv) \
+ HASH_BLOOM_BITTEST((tbl)->bloom_bv, (hashv & (uint32_t)((1ULL << (tbl)->bloom_nbits) - 1)))
+
+#else
+#define HASH_BLOOM_MAKE(tbl)
+#define HASH_BLOOM_FREE(tbl)
+#define HASH_BLOOM_ADD(tbl,hashv)
+#define HASH_BLOOM_TEST(tbl,hashv) (1)
+#define HASH_BLOOM_BYTELEN 0
+#endif
+
+#define HASH_MAKE_TABLE(hh,head) \
+do { \
+ (head)->hh.tbl = (UT_hash_table*)uthash_malloc( \
+ sizeof(UT_hash_table)); \
+ if (!((head)->hh.tbl)) { uthash_fatal( "out of memory"); } \
+ memset((head)->hh.tbl, 0, sizeof(UT_hash_table)); \
+ (head)->hh.tbl->tail = &((head)->hh); \
+ (head)->hh.tbl->num_buckets = HASH_INITIAL_NUM_BUCKETS; \
+ (head)->hh.tbl->log2_num_buckets = HASH_INITIAL_NUM_BUCKETS_LOG2; \
+ (head)->hh.tbl->hho = (char*)(&(head)->hh) - (char*)(head); \
+ (head)->hh.tbl->buckets = (UT_hash_bucket*)uthash_malloc( \
+ HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \
+ if (! (head)->hh.tbl->buckets) { uthash_fatal( "out of memory"); } \
+ memset((head)->hh.tbl->buckets, 0, \
+ HASH_INITIAL_NUM_BUCKETS*sizeof(struct UT_hash_bucket)); \
+ HASH_BLOOM_MAKE((head)->hh.tbl); \
+ (head)->hh.tbl->signature = HASH_SIGNATURE; \
+} while(0)
+
+#define HASH_ADD(hh,head,fieldname,keylen_in,add) \
+ HASH_ADD_KEYPTR(hh,head,&((add)->fieldname),keylen_in,add)
+
+#define HASH_REPLACE(hh,head,fieldname,keylen_in,add,replaced) \
+do { \
+ replaced=NULL; \
+ HASH_FIND(hh,head,&((add)->fieldname),keylen_in,replaced); \
+ if (replaced!=NULL) { \
+ HASH_DELETE(hh,head,replaced); \
+ }; \
+ HASH_ADD(hh,head,fieldname,keylen_in,add); \
+} while(0)
+
+#define HASH_ADD_KEYPTR(hh,head,keyptr,keylen_in,add) \
+do { \
+ unsigned _ha_bkt; \
+ (add)->hh.next = NULL; \
+ (add)->hh.key = (char*)(keyptr); \
+ (add)->hh.keylen = (unsigned)(keylen_in); \
+ if (!(head)) { \
+ head = (add); \
+ (head)->hh.prev = NULL; \
+ HASH_MAKE_TABLE(hh,head); \
+ } else { \
+ (head)->hh.tbl->tail->next = (add); \
+ (add)->hh.prev = ELMT_FROM_HH((head)->hh.tbl, (head)->hh.tbl->tail); \
+ (head)->hh.tbl->tail = &((add)->hh); \
+ } \
+ (head)->hh.tbl->num_items++; \
+ (add)->hh.tbl = (head)->hh.tbl; \
+ HASH_FCN(keyptr,keylen_in, (head)->hh.tbl->num_buckets, \
+ (add)->hh.hashv, _ha_bkt); \
+ HASH_ADD_TO_BKT((head)->hh.tbl->buckets[_ha_bkt],&(add)->hh); \
+ HASH_BLOOM_ADD((head)->hh.tbl,(add)->hh.hashv); \
+ HASH_EMIT_KEY(hh,head,keyptr,keylen_in); \
+ HASH_FSCK(hh,head); \
+} while(0)
+
+#define HASH_TO_BKT( hashv, num_bkts, bkt ) \
+do { \
+ bkt = ((hashv) & ((num_bkts) - 1)); \
+} while(0)
+
+/* delete "delptr" from the hash table.
+ * "the usual" patch-up process for the app-order doubly-linked-list.
+ * The use of _hd_hh_del below deserves special explanation.
+ * These used to be expressed using (delptr) but that led to a bug
+ * if someone used the same symbol for the head and deletee, like
+ * HASH_DELETE(hh,users,users);
+ * We want that to work, but by changing the head (users) below
+ * we were forfeiting our ability to further refer to the deletee (users)
+ * in the patch-up process. Solution: use scratch space to
+ * copy the deletee pointer, then the latter references are via that
+ * scratch pointer rather than through the repointed (users) symbol.
+ */
+#define HASH_DELETE(hh,head,delptr) \
+do { \
+ unsigned _hd_bkt; \
+ struct UT_hash_handle *_hd_hh_del; \
+ if ( ((delptr)->hh.prev == NULL) && ((delptr)->hh.next == NULL) ) { \
+ uthash_free((head)->hh.tbl->buckets, \
+ (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \
+ HASH_BLOOM_FREE((head)->hh.tbl); \
+ uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \
+ head = NULL; \
+ } else { \
+ _hd_hh_del = &((delptr)->hh); \
+ if ((delptr) == ELMT_FROM_HH((head)->hh.tbl,(head)->hh.tbl->tail)) { \
+ (head)->hh.tbl->tail = \
+ (UT_hash_handle*)((ptrdiff_t)((delptr)->hh.prev) + \
+ (head)->hh.tbl->hho); \
+ } \
+ if ((delptr)->hh.prev) { \
+ ((UT_hash_handle*)((ptrdiff_t)((delptr)->hh.prev) + \
+ (head)->hh.tbl->hho))->next = (delptr)->hh.next; \
+ } else { \
+ DECLTYPE_ASSIGN(head,(delptr)->hh.next); \
+ } \
+ if (_hd_hh_del->next) { \
+ ((UT_hash_handle*)((ptrdiff_t)_hd_hh_del->next + \
+ (head)->hh.tbl->hho))->prev = \
+ _hd_hh_del->prev; \
+ } \
+ HASH_TO_BKT( _hd_hh_del->hashv, (head)->hh.tbl->num_buckets, _hd_bkt); \
+ HASH_DEL_IN_BKT(hh,(head)->hh.tbl->buckets[_hd_bkt], _hd_hh_del); \
+ (head)->hh.tbl->num_items--; \
+ } \
+ HASH_FSCK(hh,head); \
+} while (0)
+
+
+/* convenience forms of HASH_FIND/HASH_ADD/HASH_DEL */
+#define HASH_FIND_STR(head,findstr,out) \
+ HASH_FIND(hh,head,findstr,strlen(findstr),out)
+#define HASH_ADD_STR(head,strfield,add) \
+ HASH_ADD(hh,head,strfield,strlen(add->strfield),add)
+#define HASH_REPLACE_STR(head,strfield,add,replaced) \
+ HASH_REPLACE(hh,head,strfield,strlen(add->strfield),add,replaced)
+#define HASH_FIND_INT(head,findint,out) \
+ HASH_FIND(hh,head,findint,sizeof(int),out)
+#define HASH_ADD_INT(head,intfield,add) \
+ HASH_ADD(hh,head,intfield,sizeof(int),add)
+#define HASH_REPLACE_INT(head,intfield,add,replaced) \
+ HASH_REPLACE(hh,head,intfield,sizeof(int),add,replaced)
+#define HASH_FIND_PTR(head,findptr,out) \
+ HASH_FIND(hh,head,findptr,sizeof(void *),out)
+#define HASH_ADD_PTR(head,ptrfield,add) \
+ HASH_ADD(hh,head,ptrfield,sizeof(void *),add)
+#define HASH_REPLACE_PTR(head,ptrfield,add) \
+ HASH_REPLACE(hh,head,ptrfield,sizeof(void *),add,replaced)
+#define HASH_DEL(head,delptr) \
+ HASH_DELETE(hh,head,delptr)
+
+/* HASH_FSCK checks hash integrity on every add/delete when HASH_DEBUG is defined.
+ * This is for uthash developer only; it compiles away if HASH_DEBUG isn't defined.
+ */
+#ifdef HASH_DEBUG
+#define HASH_OOPS(...) do { fprintf(stderr,__VA_ARGS__); exit(-1); } while (0)
+#define HASH_FSCK(hh,head) \
+do { \
+ unsigned _bkt_i; \
+ unsigned _count, _bkt_count; \
+ char *_prev; \
+ struct UT_hash_handle *_thh; \
+ if (head) { \
+ _count = 0; \
+ for( _bkt_i = 0; _bkt_i < (head)->hh.tbl->num_buckets; _bkt_i++) { \
+ _bkt_count = 0; \
+ _thh = (head)->hh.tbl->buckets[_bkt_i].hh_head; \
+ _prev = NULL; \
+ while (_thh) { \
+ if (_prev != (char*)(_thh->hh_prev)) { \
+ HASH_OOPS("invalid hh_prev %p, actual %p\n", \
+ _thh->hh_prev, _prev ); \
+ } \
+ _bkt_count++; \
+ _prev = (char*)(_thh); \
+ _thh = _thh->hh_next; \
+ } \
+ _count += _bkt_count; \
+ if ((head)->hh.tbl->buckets[_bkt_i].count != _bkt_count) { \
+ HASH_OOPS("invalid bucket count %d, actual %d\n", \
+ (head)->hh.tbl->buckets[_bkt_i].count, _bkt_count); \
+ } \
+ } \
+ if (_count != (head)->hh.tbl->num_items) { \
+ HASH_OOPS("invalid hh item count %d, actual %d\n", \
+ (head)->hh.tbl->num_items, _count ); \
+ } \
+ /* traverse hh in app order; check next/prev integrity, count */ \
+ _count = 0; \
+ _prev = NULL; \
+ _thh = &(head)->hh; \
+ while (_thh) { \
+ _count++; \
+ if (_prev !=(char*)(_thh->prev)) { \
+ HASH_OOPS("invalid prev %p, actual %p\n", \
+ _thh->prev, _prev ); \
+ } \
+ _prev = (char*)ELMT_FROM_HH((head)->hh.tbl, _thh); \
+ _thh = ( _thh->next ? (UT_hash_handle*)((char*)(_thh->next) + \
+ (head)->hh.tbl->hho) : NULL ); \
+ } \
+ if (_count != (head)->hh.tbl->num_items) { \
+ HASH_OOPS("invalid app item count %d, actual %d\n", \
+ (head)->hh.tbl->num_items, _count ); \
+ } \
+ } \
+} while (0)
+#else
+#define HASH_FSCK(hh,head)
+#endif
+
+/* When compiled with -DHASH_EMIT_KEYS, length-prefixed keys are emitted to
+ * the descriptor to which this macro is defined for tuning the hash function.
+ * The app can #include <unistd.h> to get the prototype for write(2). */
+#ifdef HASH_EMIT_KEYS
+#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen) \
+do { \
+ unsigned _klen = fieldlen; \
+ write(HASH_EMIT_KEYS, &_klen, sizeof(_klen)); \
+ write(HASH_EMIT_KEYS, keyptr, fieldlen); \
+} while (0)
+#else
+#define HASH_EMIT_KEY(hh,head,keyptr,fieldlen)
+#endif
+
+/* default to Jenkin's hash unless overridden e.g. DHASH_FUNCTION=HASH_SAX */
+#ifdef HASH_FUNCTION
+#define HASH_FCN HASH_FUNCTION
+#else
+#define HASH_FCN HASH_JEN
+#endif
+
+/* The Bernstein hash function, used in Perl prior to v5.6 */
+#define HASH_BER(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ unsigned _hb_keylen=keylen; \
+ char *_hb_key=(char*)(key); \
+ (hashv) = 0; \
+ while (_hb_keylen--) { (hashv) = ((hashv) * 33) + *_hb_key++; } \
+ bkt = (hashv) & (num_bkts-1); \
+} while (0)
+
+
+/* SAX/FNV/OAT/JEN hash functions are macro variants of those listed at
+ * http://eternallyconfuzzled.com/tuts/algorithms/jsw_tut_hashing.aspx */
+#define HASH_SAX(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ unsigned _sx_i; \
+ char *_hs_key=(char*)(key); \
+ hashv = 0; \
+ for(_sx_i=0; _sx_i < keylen; _sx_i++) \
+ hashv ^= (hashv << 5) + (hashv >> 2) + _hs_key[_sx_i]; \
+ bkt = hashv & (num_bkts-1); \
+} while (0)
+
+#define HASH_FNV(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ unsigned _fn_i; \
+ char *_hf_key=(char*)(key); \
+ hashv = 2166136261UL; \
+ for(_fn_i=0; _fn_i < keylen; _fn_i++) \
+ hashv = (hashv * 16777619) ^ _hf_key[_fn_i]; \
+ bkt = hashv & (num_bkts-1); \
+} while(0)
+
+#define HASH_OAT(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ unsigned _ho_i; \
+ char *_ho_key=(char*)(key); \
+ hashv = 0; \
+ for(_ho_i=0; _ho_i < keylen; _ho_i++) { \
+ hashv += _ho_key[_ho_i]; \
+ hashv += (hashv << 10); \
+ hashv ^= (hashv >> 6); \
+ } \
+ hashv += (hashv << 3); \
+ hashv ^= (hashv >> 11); \
+ hashv += (hashv << 15); \
+ bkt = hashv & (num_bkts-1); \
+} while(0)
+
+#define HASH_JEN_MIX(a,b,c) \
+do { \
+ a -= b; a -= c; a ^= ( c >> 13 ); \
+ b -= c; b -= a; b ^= ( a << 8 ); \
+ c -= a; c -= b; c ^= ( b >> 13 ); \
+ a -= b; a -= c; a ^= ( c >> 12 ); \
+ b -= c; b -= a; b ^= ( a << 16 ); \
+ c -= a; c -= b; c ^= ( b >> 5 ); \
+ a -= b; a -= c; a ^= ( c >> 3 ); \
+ b -= c; b -= a; b ^= ( a << 10 ); \
+ c -= a; c -= b; c ^= ( b >> 15 ); \
+} while (0)
+
+#define HASH_JEN(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ unsigned _hj_i,_hj_j,_hj_k; \
+ unsigned char *_hj_key=(unsigned char*)(key); \
+ hashv = 0xfeedbeef; \
+ _hj_i = _hj_j = 0x9e3779b9; \
+ _hj_k = (unsigned)(keylen); \
+ while (_hj_k >= 12) { \
+ _hj_i += (_hj_key[0] + ( (unsigned)_hj_key[1] << 8 ) \
+ + ( (unsigned)_hj_key[2] << 16 ) \
+ + ( (unsigned)_hj_key[3] << 24 ) ); \
+ _hj_j += (_hj_key[4] + ( (unsigned)_hj_key[5] << 8 ) \
+ + ( (unsigned)_hj_key[6] << 16 ) \
+ + ( (unsigned)_hj_key[7] << 24 ) ); \
+ hashv += (_hj_key[8] + ( (unsigned)_hj_key[9] << 8 ) \
+ + ( (unsigned)_hj_key[10] << 16 ) \
+ + ( (unsigned)_hj_key[11] << 24 ) ); \
+ \
+ HASH_JEN_MIX(_hj_i, _hj_j, hashv); \
+ \
+ _hj_key += 12; \
+ _hj_k -= 12; \
+ } \
+ hashv += keylen; \
+ switch ( _hj_k ) { \
+ case 11: hashv += ( (unsigned)_hj_key[10] << 24 ); \
+ case 10: hashv += ( (unsigned)_hj_key[9] << 16 ); \
+ case 9: hashv += ( (unsigned)_hj_key[8] << 8 ); \
+ case 8: _hj_j += ( (unsigned)_hj_key[7] << 24 ); \
+ case 7: _hj_j += ( (unsigned)_hj_key[6] << 16 ); \
+ case 6: _hj_j += ( (unsigned)_hj_key[5] << 8 ); \
+ case 5: _hj_j += _hj_key[4]; \
+ case 4: _hj_i += ( (unsigned)_hj_key[3] << 24 ); \
+ case 3: _hj_i += ( (unsigned)_hj_key[2] << 16 ); \
+ case 2: _hj_i += ( (unsigned)_hj_key[1] << 8 ); \
+ case 1: _hj_i += _hj_key[0]; \
+ } \
+ HASH_JEN_MIX(_hj_i, _hj_j, hashv); \
+ bkt = hashv & (num_bkts-1); \
+} while(0)
+
+/* The Paul Hsieh hash function */
+#undef get16bits
+#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \
+ || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__)
+#define get16bits(d) (*((const uint16_t *) (d)))
+#endif
+
+#if !defined (get16bits)
+#define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8) \
+ +(uint32_t)(((const uint8_t *)(d))[0]) )
+#endif
+#define HASH_SFH(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ unsigned char *_sfh_key=(unsigned char*)(key); \
+ uint32_t _sfh_tmp, _sfh_len = keylen; \
+ \
+ int _sfh_rem = _sfh_len & 3; \
+ _sfh_len >>= 2; \
+ hashv = 0xcafebabe; \
+ \
+ /* Main loop */ \
+ for (;_sfh_len > 0; _sfh_len--) { \
+ hashv += get16bits (_sfh_key); \
+ _sfh_tmp = (uint32_t)(get16bits (_sfh_key+2)) << 11 ^ hashv; \
+ hashv = (hashv << 16) ^ _sfh_tmp; \
+ _sfh_key += 2*sizeof (uint16_t); \
+ hashv += hashv >> 11; \
+ } \
+ \
+ /* Handle end cases */ \
+ switch (_sfh_rem) { \
+ case 3: hashv += get16bits (_sfh_key); \
+ hashv ^= hashv << 16; \
+ hashv ^= (uint32_t)(_sfh_key[sizeof (uint16_t)] << 18); \
+ hashv += hashv >> 11; \
+ break; \
+ case 2: hashv += get16bits (_sfh_key); \
+ hashv ^= hashv << 11; \
+ hashv += hashv >> 17; \
+ break; \
+ case 1: hashv += *_sfh_key; \
+ hashv ^= hashv << 10; \
+ hashv += hashv >> 1; \
+ } \
+ \
+ /* Force "avalanching" of final 127 bits */ \
+ hashv ^= hashv << 3; \
+ hashv += hashv >> 5; \
+ hashv ^= hashv << 4; \
+ hashv += hashv >> 17; \
+ hashv ^= hashv << 25; \
+ hashv += hashv >> 6; \
+ bkt = hashv & (num_bkts-1); \
+} while(0)
+
+#ifdef HASH_USING_NO_STRICT_ALIASING
+/* The MurmurHash exploits some CPU's (x86,x86_64) tolerance for unaligned reads.
+ * For other types of CPU's (e.g. Sparc) an unaligned read causes a bus error.
+ * MurmurHash uses the faster approach only on CPU's where we know it's safe.
+ *
+ * Note the preprocessor built-in defines can be emitted using:
+ *
+ * gcc -m64 -dM -E - < /dev/null (on gcc)
+ * cc -## a.c (where a.c is a simple test file) (Sun Studio)
+ */
+#if (defined(__i386__) || defined(__x86_64__) || defined(_M_IX86))
+#define MUR_GETBLOCK(p,i) p[i]
+#else /* non intel */
+#define MUR_PLUS0_ALIGNED(p) (((unsigned long)p & 0x3) == 0)
+#define MUR_PLUS1_ALIGNED(p) (((unsigned long)p & 0x3) == 1)
+#define MUR_PLUS2_ALIGNED(p) (((unsigned long)p & 0x3) == 2)
+#define MUR_PLUS3_ALIGNED(p) (((unsigned long)p & 0x3) == 3)
+#define WP(p) ((uint32_t*)((unsigned long)(p) & ~3UL))
+#if (defined(__BIG_ENDIAN__) || defined(SPARC) || defined(__ppc__) || defined(__ppc64__))
+#define MUR_THREE_ONE(p) ((((*WP(p))&0x00ffffff) << 8) | (((*(WP(p)+1))&0xff000000) >> 24))
+#define MUR_TWO_TWO(p) ((((*WP(p))&0x0000ffff) <<16) | (((*(WP(p)+1))&0xffff0000) >> 16))
+#define MUR_ONE_THREE(p) ((((*WP(p))&0x000000ff) <<24) | (((*(WP(p)+1))&0xffffff00) >> 8))
+#else /* assume little endian non-intel */
+#define MUR_THREE_ONE(p) ((((*WP(p))&0xffffff00) >> 8) | (((*(WP(p)+1))&0x000000ff) << 24))
+#define MUR_TWO_TWO(p) ((((*WP(p))&0xffff0000) >>16) | (((*(WP(p)+1))&0x0000ffff) << 16))
+#define MUR_ONE_THREE(p) ((((*WP(p))&0xff000000) >>24) | (((*(WP(p)+1))&0x00ffffff) << 8))
+#endif
+#define MUR_GETBLOCK(p,i) (MUR_PLUS0_ALIGNED(p) ? ((p)[i]) : \
+ (MUR_PLUS1_ALIGNED(p) ? MUR_THREE_ONE(p) : \
+ (MUR_PLUS2_ALIGNED(p) ? MUR_TWO_TWO(p) : \
+ MUR_ONE_THREE(p))))
+#endif
+#define MUR_ROTL32(x,r) (((x) << (r)) | ((x) >> (32 - (r))))
+#define MUR_FMIX(_h) \
+do { \
+ _h ^= _h >> 16; \
+ _h *= 0x85ebca6b; \
+ _h ^= _h >> 13; \
+ _h *= 0xc2b2ae35l; \
+ _h ^= _h >> 16; \
+} while(0)
+
+#define HASH_MUR(key,keylen,num_bkts,hashv,bkt) \
+do { \
+ const uint8_t *_mur_data = (const uint8_t*)(key); \
+ const int _mur_nblocks = (keylen) / 4; \
+ uint32_t _mur_h1 = 0xf88D5353; \
+ uint32_t _mur_c1 = 0xcc9e2d51; \
+ uint32_t _mur_c2 = 0x1b873593; \
+ uint32_t _mur_k1 = 0; \
+ const uint8_t *_mur_tail; \
+ const uint32_t *_mur_blocks = (const uint32_t*)(_mur_data+_mur_nblocks*4); \
+ int _mur_i; \
+ for(_mur_i = -_mur_nblocks; _mur_i; _mur_i++) { \
+ _mur_k1 = MUR_GETBLOCK(_mur_blocks,_mur_i); \
+ _mur_k1 *= _mur_c1; \
+ _mur_k1 = MUR_ROTL32(_mur_k1,15); \
+ _mur_k1 *= _mur_c2; \
+ \
+ _mur_h1 ^= _mur_k1; \
+ _mur_h1 = MUR_ROTL32(_mur_h1,13); \
+ _mur_h1 = _mur_h1*5+0xe6546b64; \
+ } \
+ _mur_tail = (const uint8_t*)(_mur_data + _mur_nblocks*4); \
+ _mur_k1=0; \
+ switch((keylen) & 3) { \
+ case 3: _mur_k1 ^= _mur_tail[2] << 16; \
+ case 2: _mur_k1 ^= _mur_tail[1] << 8; \
+ case 1: _mur_k1 ^= _mur_tail[0]; \
+ _mur_k1 *= _mur_c1; \
+ _mur_k1 = MUR_ROTL32(_mur_k1,15); \
+ _mur_k1 *= _mur_c2; \
+ _mur_h1 ^= _mur_k1; \
+ } \
+ _mur_h1 ^= (keylen); \
+ MUR_FMIX(_mur_h1); \
+ hashv = _mur_h1; \
+ bkt = hashv & (num_bkts-1); \
+} while(0)
+#endif /* HASH_USING_NO_STRICT_ALIASING */
+
+/* key comparison function; return 0 if keys equal */
+#define HASH_KEYCMP(a,b,len) memcmp(a,b,len)
+
+/* iterate over items in a known bucket to find desired item */
+#define HASH_FIND_IN_BKT(tbl,hh,head,keyptr,keylen_in,out) \
+do { \
+ if (head.hh_head) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,head.hh_head)); \
+ else out=NULL; \
+ while (out) { \
+ if ((out)->hh.keylen == keylen_in) { \
+ if ((HASH_KEYCMP((out)->hh.key,keyptr,keylen_in)) == 0) break; \
+ } \
+ if ((out)->hh.hh_next) DECLTYPE_ASSIGN(out,ELMT_FROM_HH(tbl,(out)->hh.hh_next)); \
+ else out = NULL; \
+ } \
+} while(0)
+
+/* add an item to a bucket */
+#define HASH_ADD_TO_BKT(head,addhh) \
+do { \
+ head.count++; \
+ (addhh)->hh_next = head.hh_head; \
+ (addhh)->hh_prev = NULL; \
+ if (head.hh_head) { (head).hh_head->hh_prev = (addhh); } \
+ (head).hh_head=addhh; \
+ if (head.count >= ((head.expand_mult+1) * HASH_BKT_CAPACITY_THRESH) \
+ && (addhh)->tbl->noexpand != 1) { \
+ HASH_EXPAND_BUCKETS((addhh)->tbl); \
+ } \
+} while(0)
+
+/* remove an item from a given bucket */
+#define HASH_DEL_IN_BKT(hh,head,hh_del) \
+ (head).count--; \
+ if ((head).hh_head == hh_del) { \
+ (head).hh_head = hh_del->hh_next; \
+ } \
+ if (hh_del->hh_prev) { \
+ hh_del->hh_prev->hh_next = hh_del->hh_next; \
+ } \
+ if (hh_del->hh_next) { \
+ hh_del->hh_next->hh_prev = hh_del->hh_prev; \
+ }
+
+/* Bucket expansion has the effect of doubling the number of buckets
+ * and redistributing the items into the new buckets. Ideally the
+ * items will distribute more or less evenly into the new buckets
+ * (the extent to which this is true is a measure of the quality of
+ * the hash function as it applies to the key domain).
+ *
+ * With the items distributed into more buckets, the chain length
+ * (item count) in each bucket is reduced. Thus by expanding buckets
+ * the hash keeps a bound on the chain length. This bounded chain
+ * length is the essence of how a hash provides constant time lookup.
+ *
+ * The calculation of tbl->ideal_chain_maxlen below deserves some
+ * explanation. First, keep in mind that we're calculating the ideal
+ * maximum chain length based on the *new* (doubled) bucket count.
+ * In fractions this is just n/b (n=number of items,b=new num buckets).
+ * Since the ideal chain length is an integer, we want to calculate
+ * ceil(n/b). We don't depend on floating point arithmetic in this
+ * hash, so to calculate ceil(n/b) with integers we could write
+ *
+ * ceil(n/b) = (n/b) + ((n%b)?1:0)
+ *
+ * and in fact a previous version of this hash did just that.
+ * But now we have improved things a bit by recognizing that b is
+ * always a power of two. We keep its base 2 log handy (call it lb),
+ * so now we can write this with a bit shift and logical AND:
+ *
+ * ceil(n/b) = (n>>lb) + ( (n & (b-1)) ? 1:0)
+ *
+ */
+#define HASH_EXPAND_BUCKETS(tbl) \
+do { \
+ unsigned _he_bkt; \
+ unsigned _he_bkt_i; \
+ struct UT_hash_handle *_he_thh, *_he_hh_nxt; \
+ UT_hash_bucket *_he_new_buckets, *_he_newbkt; \
+ _he_new_buckets = (UT_hash_bucket*)uthash_malloc( \
+ 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \
+ if (!_he_new_buckets) { uthash_fatal( "out of memory"); } \
+ memset(_he_new_buckets, 0, \
+ 2 * tbl->num_buckets * sizeof(struct UT_hash_bucket)); \
+ tbl->ideal_chain_maxlen = \
+ (tbl->num_items >> (tbl->log2_num_buckets+1)) + \
+ ((tbl->num_items & ((tbl->num_buckets*2)-1)) ? 1 : 0); \
+ tbl->nonideal_items = 0; \
+ for(_he_bkt_i = 0; _he_bkt_i < tbl->num_buckets; _he_bkt_i++) \
+ { \
+ _he_thh = tbl->buckets[ _he_bkt_i ].hh_head; \
+ while (_he_thh) { \
+ _he_hh_nxt = _he_thh->hh_next; \
+ HASH_TO_BKT( _he_thh->hashv, tbl->num_buckets*2, _he_bkt); \
+ _he_newbkt = &(_he_new_buckets[ _he_bkt ]); \
+ if (++(_he_newbkt->count) > tbl->ideal_chain_maxlen) { \
+ tbl->nonideal_items++; \
+ _he_newbkt->expand_mult = _he_newbkt->count / \
+ tbl->ideal_chain_maxlen; \
+ } \
+ _he_thh->hh_prev = NULL; \
+ _he_thh->hh_next = _he_newbkt->hh_head; \
+ if (_he_newbkt->hh_head) _he_newbkt->hh_head->hh_prev = \
+ _he_thh; \
+ _he_newbkt->hh_head = _he_thh; \
+ _he_thh = _he_hh_nxt; \
+ } \
+ } \
+ uthash_free( tbl->buckets, tbl->num_buckets*sizeof(struct UT_hash_bucket) ); \
+ tbl->num_buckets *= 2; \
+ tbl->log2_num_buckets++; \
+ tbl->buckets = _he_new_buckets; \
+ tbl->ineff_expands = (tbl->nonideal_items > (tbl->num_items >> 1)) ? \
+ (tbl->ineff_expands+1) : 0; \
+ if (tbl->ineff_expands > 1) { \
+ tbl->noexpand=1; \
+ uthash_noexpand_fyi(tbl); \
+ } \
+ uthash_expand_fyi(tbl); \
+} while(0)
+
+
+/* This is an adaptation of Simon Tatham's O(n log(n)) mergesort */
+/* Note that HASH_SORT assumes the hash handle name to be hh.
+ * HASH_SRT was added to allow the hash handle name to be passed in. */
+#define HASH_SORT(head,cmpfcn) HASH_SRT(hh,head,cmpfcn)
+#define HASH_SRT(hh,head,cmpfcn) \
+do { \
+ unsigned _hs_i; \
+ unsigned _hs_looping,_hs_nmerges,_hs_insize,_hs_psize,_hs_qsize; \
+ struct UT_hash_handle *_hs_p, *_hs_q, *_hs_e, *_hs_list, *_hs_tail; \
+ if (head) { \
+ _hs_insize = 1; \
+ _hs_looping = 1; \
+ _hs_list = &((head)->hh); \
+ while (_hs_looping) { \
+ _hs_p = _hs_list; \
+ _hs_list = NULL; \
+ _hs_tail = NULL; \
+ _hs_nmerges = 0; \
+ while (_hs_p) { \
+ _hs_nmerges++; \
+ _hs_q = _hs_p; \
+ _hs_psize = 0; \
+ for ( _hs_i = 0; _hs_i < _hs_insize; _hs_i++ ) { \
+ _hs_psize++; \
+ _hs_q = (UT_hash_handle*)((_hs_q->next) ? \
+ ((void*)((char*)(_hs_q->next) + \
+ (head)->hh.tbl->hho)) : NULL); \
+ if (! (_hs_q) ) break; \
+ } \
+ _hs_qsize = _hs_insize; \
+ while ((_hs_psize > 0) || ((_hs_qsize > 0) && _hs_q )) { \
+ if (_hs_psize == 0) { \
+ _hs_e = _hs_q; \
+ _hs_q = (UT_hash_handle*)((_hs_q->next) ? \
+ ((void*)((char*)(_hs_q->next) + \
+ (head)->hh.tbl->hho)) : NULL); \
+ _hs_qsize--; \
+ } else if ( (_hs_qsize == 0) || !(_hs_q) ) { \
+ _hs_e = _hs_p; \
+ if (_hs_p){ \
+ _hs_p = (UT_hash_handle*)((_hs_p->next) ? \
+ ((void*)((char*)(_hs_p->next) + \
+ (head)->hh.tbl->hho)) : NULL); \
+ } \
+ _hs_psize--; \
+ } else if (( \
+ cmpfcn(DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_p)), \
+ DECLTYPE(head)(ELMT_FROM_HH((head)->hh.tbl,_hs_q))) \
+ ) <= 0) { \
+ _hs_e = _hs_p; \
+ if (_hs_p){ \
+ _hs_p = (UT_hash_handle*)((_hs_p->next) ? \
+ ((void*)((char*)(_hs_p->next) + \
+ (head)->hh.tbl->hho)) : NULL); \
+ } \
+ _hs_psize--; \
+ } else { \
+ _hs_e = _hs_q; \
+ _hs_q = (UT_hash_handle*)((_hs_q->next) ? \
+ ((void*)((char*)(_hs_q->next) + \
+ (head)->hh.tbl->hho)) : NULL); \
+ _hs_qsize--; \
+ } \
+ if ( _hs_tail ) { \
+ _hs_tail->next = ((_hs_e) ? \
+ ELMT_FROM_HH((head)->hh.tbl,_hs_e) : NULL); \
+ } else { \
+ _hs_list = _hs_e; \
+ } \
+ if (_hs_e) { \
+ _hs_e->prev = ((_hs_tail) ? \
+ ELMT_FROM_HH((head)->hh.tbl,_hs_tail) : NULL); \
+ } \
+ _hs_tail = _hs_e; \
+ } \
+ _hs_p = _hs_q; \
+ } \
+ if (_hs_tail){ \
+ _hs_tail->next = NULL; \
+ } \
+ if ( _hs_nmerges <= 1 ) { \
+ _hs_looping=0; \
+ (head)->hh.tbl->tail = _hs_tail; \
+ DECLTYPE_ASSIGN(head,ELMT_FROM_HH((head)->hh.tbl, _hs_list)); \
+ } \
+ _hs_insize *= 2; \
+ } \
+ HASH_FSCK(hh,head); \
+ } \
+} while (0)
+
+/* This function selects items from one hash into another hash.
+ * The end result is that the selected items have dual presence
+ * in both hashes. There is no copy of the items made; rather
+ * they are added into the new hash through a secondary hash
+ * hash handle that must be present in the structure. */
+#define HASH_SELECT(hh_dst, dst, hh_src, src, cond) \
+do { \
+ unsigned _src_bkt, _dst_bkt; \
+ void *_last_elt=NULL, *_elt; \
+ UT_hash_handle *_src_hh, *_dst_hh, *_last_elt_hh=NULL; \
+ ptrdiff_t _dst_hho = ((char*)(&(dst)->hh_dst) - (char*)(dst)); \
+ if (src) { \
+ for(_src_bkt=0; _src_bkt < (src)->hh_src.tbl->num_buckets; _src_bkt++) { \
+ for(_src_hh = (src)->hh_src.tbl->buckets[_src_bkt].hh_head; \
+ _src_hh; \
+ _src_hh = _src_hh->hh_next) { \
+ _elt = ELMT_FROM_HH((src)->hh_src.tbl, _src_hh); \
+ if (cond(_elt)) { \
+ _dst_hh = (UT_hash_handle*)(((char*)_elt) + _dst_hho); \
+ _dst_hh->key = _src_hh->key; \
+ _dst_hh->keylen = _src_hh->keylen; \
+ _dst_hh->hashv = _src_hh->hashv; \
+ _dst_hh->prev = _last_elt; \
+ _dst_hh->next = NULL; \
+ if (_last_elt_hh) { _last_elt_hh->next = _elt; } \
+ if (!dst) { \
+ DECLTYPE_ASSIGN(dst,_elt); \
+ HASH_MAKE_TABLE(hh_dst,dst); \
+ } else { \
+ _dst_hh->tbl = (dst)->hh_dst.tbl; \
+ } \
+ HASH_TO_BKT(_dst_hh->hashv, _dst_hh->tbl->num_buckets, _dst_bkt); \
+ HASH_ADD_TO_BKT(_dst_hh->tbl->buckets[_dst_bkt],_dst_hh); \
+ (dst)->hh_dst.tbl->num_items++; \
+ _last_elt = _elt; \
+ _last_elt_hh = _dst_hh; \
+ } \
+ } \
+ } \
+ } \
+ HASH_FSCK(hh_dst,dst); \
+} while (0)
+
+#define HASH_CLEAR(hh,head) \
+do { \
+ if (head) { \
+ uthash_free((head)->hh.tbl->buckets, \
+ (head)->hh.tbl->num_buckets*sizeof(struct UT_hash_bucket)); \
+ HASH_BLOOM_FREE((head)->hh.tbl); \
+ uthash_free((head)->hh.tbl, sizeof(UT_hash_table)); \
+ (head)=NULL; \
+ } \
+} while(0)
+
+#define HASH_OVERHEAD(hh,head) \
+ (size_t)((((head)->hh.tbl->num_items * sizeof(UT_hash_handle)) + \
+ ((head)->hh.tbl->num_buckets * sizeof(UT_hash_bucket)) + \
+ (sizeof(UT_hash_table)) + \
+ (HASH_BLOOM_BYTELEN)))
+
+#ifdef NO_DECLTYPE
+#define HASH_ITER(hh,head,el,tmp) \
+for((el)=(head), (*(char**)(&(tmp)))=(char*)((head)?(head)->hh.next:NULL); \
+ el; (el)=(tmp),(*(char**)(&(tmp)))=(char*)((tmp)?(tmp)->hh.next:NULL))
+#else
+#define HASH_ITER(hh,head,el,tmp) \
+for((el)=(head),(tmp)=DECLTYPE(el)((head)?(head)->hh.next:NULL); \
+ el; (el)=(tmp),(tmp)=DECLTYPE(el)((tmp)?(tmp)->hh.next:NULL))
+#endif
+
+/* obtain a count of items in the hash */
+#define HASH_COUNT(head) HASH_CNT(hh,head)
+#define HASH_CNT(hh,head) ((head)?((head)->hh.tbl->num_items):0)
+
+typedef struct UT_hash_bucket {
+ struct UT_hash_handle *hh_head;
+ unsigned count;
+
+ /* expand_mult is normally set to 0. In this situation, the max chain length
+ * threshold is enforced at its default value, HASH_BKT_CAPACITY_THRESH. (If
+ * the bucket's chain exceeds this length, bucket expansion is triggered).
+ * However, setting expand_mult to a non-zero value delays bucket expansion
+ * (that would be triggered by additions to this particular bucket)
+ * until its chain length reaches a *multiple* of HASH_BKT_CAPACITY_THRESH.
+ * (The multiplier is simply expand_mult+1). The whole idea of this
+ * multiplier is to reduce bucket expansions, since they are expensive, in
+ * situations where we know that a particular bucket tends to be overused.
+ * It is better to let its chain length grow to a longer yet-still-bounded
+ * value, than to do an O(n) bucket expansion too often.
+ */
+ unsigned expand_mult;
+
+} UT_hash_bucket;
+
+/* random signature used only to find hash tables in external analysis */
+#define HASH_SIGNATURE 0xa0111fe1
+#define HASH_BLOOM_SIGNATURE 0xb12220f2
+
+typedef struct UT_hash_table {
+ UT_hash_bucket *buckets;
+ unsigned num_buckets, log2_num_buckets;
+ unsigned num_items;
+ struct UT_hash_handle *tail; /* tail hh in app order, for fast append */
+ ptrdiff_t hho; /* hash handle offset (byte pos of hash handle in element */
+
+ /* in an ideal situation (all buckets used equally), no bucket would have
+ * more than ceil(#items/#buckets) items. that's the ideal chain length. */
+ unsigned ideal_chain_maxlen;
+
+ /* nonideal_items is the number of items in the hash whose chain position
+ * exceeds the ideal chain maxlen. these items pay the penalty for an uneven
+ * hash distribution; reaching them in a chain traversal takes >ideal steps */
+ unsigned nonideal_items;
+
+ /* ineffective expands occur when a bucket doubling was performed, but
+ * afterward, more than half the items in the hash had nonideal chain
+ * positions. If this happens on two consecutive expansions we inhibit any
+ * further expansion, as it's not helping; this happens when the hash
+ * function isn't a good fit for the key domain. When expansion is inhibited
+ * the hash will still work, albeit no longer in constant time. */
+ unsigned ineff_expands, noexpand;
+
+ uint32_t signature; /* used only to find hash tables in external analysis */
+#ifdef HASH_BLOOM
+ uint32_t bloom_sig; /* used only to test bloom exists in external analysis */
+ uint8_t *bloom_bv;
+ char bloom_nbits;
+#endif
+
+} UT_hash_table;
+
+typedef struct UT_hash_handle {
+ struct UT_hash_table *tbl;
+ void *prev; /* prev element in app order */
+ void *next; /* next element in app order */
+ struct UT_hash_handle *hh_prev; /* previous hh in bucket order */
+ struct UT_hash_handle *hh_next; /* next hh in bucket order */
+ void *key; /* ptr to enclosing struct's key */
+ unsigned keylen; /* enclosing struct's key len */
+ unsigned hashv; /* result of hash-fcn(key) */
+} UT_hash_handle;
+
+#endif /* UTHASH_H */
diff --git a/import/pdclibhdfs/libhdfs.sln b/import/pdclibhdfs/libhdfs.sln
new file mode 100755
index 0000000..5f49967
--- /dev/null
+++ b/import/pdclibhdfs/libhdfs.sln
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libhdfs", "libhdfs\libhdfs.vcxproj", "{5B359A57-EC8A-4577-9F43-B3A00D9E5ECD}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5B359A57-EC8A-4577-9F43-B3A00D9E5ECD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5B359A57-EC8A-4577-9F43-B3A00D9E5ECD}.Debug|Win32.Build.0 = Debug|Win32
+ {5B359A57-EC8A-4577-9F43-B3A00D9E5ECD}.Debug|x64.ActiveCfg = Debug|x64
+ {5B359A57-EC8A-4577-9F43-B3A00D9E5ECD}.Debug|x64.Build.0 = Debug|x64
+ {5B359A57-EC8A-4577-9F43-B3A00D9E5ECD}.Release|Win32.ActiveCfg = Release|Win32
+ {5B359A57-EC8A-4577-9F43-B3A00D9E5ECD}.Release|Win32.Build.0 = Release|Win32
+ {5B359A57-EC8A-4577-9F43-B3A00D9E5ECD}.Release|x64.ActiveCfg = Release|x64
+ {5B359A57-EC8A-4577-9F43-B3A00D9E5ECD}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/import/pdclibhdfs/libhdfs/ReadMe.txt b/import/pdclibhdfs/libhdfs/ReadMe.txt
new file mode 100755
index 0000000..5c886e1
--- /dev/null
+++ b/import/pdclibhdfs/libhdfs/ReadMe.txt
@@ -0,0 +1,37 @@
+========================================================================
+ STATIC LIBRARY : libhdfs Project Overview
+========================================================================
+
+AppWizard has created this libhdfs library project for you.
+
+This file contains a summary of what you will find in each of the files that
+make up your libhdfs application.
+
+
+libhdfs.vcxproj
+ This is the main project file for VC++ projects generated using an Application Wizard.
+ It contains information about the version of Visual C++ that generated the file, and
+ information about the platforms, configurations, and project features selected with the
+ Application Wizard.
+
+libhdfs.vcxproj.filters
+ This is the filters file for VC++ projects generated using an Application Wizard.
+ It contains information about the association between the files in your project
+ and the filters. This association is used in the IDE to show grouping of files with
+ similar extensions under a specific node (for e.g. ".cpp" files are associated with the
+ "Source Files" filter).
+
+
+/////////////////////////////////////////////////////////////////////////////
+
+StdAfx.h, StdAfx.cpp
+ These files are used to build a precompiled header (PCH) file
+ named libhdfs.pch and a precompiled types file named StdAfx.obj.
+
+/////////////////////////////////////////////////////////////////////////////
+Other notes:
+
+AppWizard uses "TODO:" comments to indicate parts of the source code you
+should add to or customize.
+
+/////////////////////////////////////////////////////////////////////////////
diff --git a/import/pdclibhdfs/libhdfs/libhdfs.vcxproj b/import/pdclibhdfs/libhdfs/libhdfs.vcxproj
new file mode 100755
index 0000000..ae37376
--- /dev/null
+++ b/import/pdclibhdfs/libhdfs/libhdfs.vcxproj
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{5B359A57-EC8A-4577-9F43-B3A00D9E5ECD}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>libhdfs</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v110</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v110</PlatformToolset>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v110</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>StaticLibrary</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v110</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>Unicode</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <OutDir>$(SolutionDir)..</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\libhdfs\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>Use</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+ <AdditionalIncludeDirectories>C:\Program Files\Java\jdk1.7.0_51\include;C:\Program Files\Java\jdk1.7.0_51\include\win32;..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+ <AdditionalIncludeDirectories>..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <SDLCheck>true</SDLCheck>
+ <AdditionalIncludeDirectories>C:\Program Files\Java\jdk1.7.0_51\include\win32;C:\Program Files\Java\jdk1.7.0_51\include;..\inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Windows</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <Text Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\inc\exception.h" />
+ <ClInclude Include="..\inc\expect.h" />
+ <ClInclude Include="..\inc\hdfs.h" />
+ <ClInclude Include="..\inc\hdfs_test.h" />
+ <ClInclude Include="..\inc\jni_helper.h" />
+ <ClInclude Include="..\inc\native_mini_dfs.h" />
+ <ClInclude Include="..\inc\uthash.h" />
+ <ClInclude Include="stdafx.h" />
+ <ClInclude Include="targetver.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\src\exception.c" />
+ <ClCompile Include="..\src\hdfs.c" />
+ <ClCompile Include="..\src\jni_helper.c" />
+ <ClCompile Include="..\src\native_mini_dfs.c" />
+ <ClCompile Include="stdafx.cpp">
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
+ <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
+ </ClCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/import/pdclibhdfs/libhdfs/libhdfs.vcxproj.filters b/import/pdclibhdfs/libhdfs/libhdfs.vcxproj.filters
new file mode 100755
index 0000000..e5dd724
--- /dev/null
+++ b/import/pdclibhdfs/libhdfs/libhdfs.vcxproj.filters
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <Text Include="ReadMe.txt" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="stdafx.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="targetver.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\inc\exception.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\inc\expect.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\inc\hdfs.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\inc\hdfs_test.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\inc\jni_helper.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\inc\native_mini_dfs.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\inc\uthash.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="stdafx.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\exception.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\hdfs.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\jni_helper.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\native_mini_dfs.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/import/pdclibhdfs/libhdfs/stdafx.cpp b/import/pdclibhdfs/libhdfs/stdafx.cpp
new file mode 100755
index 0000000..075e31d
--- /dev/null
+++ b/import/pdclibhdfs/libhdfs/stdafx.cpp
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// libhdfs.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
diff --git a/import/pdclibhdfs/libhdfs/stdafx.h b/import/pdclibhdfs/libhdfs/stdafx.h
new file mode 100755
index 0000000..c4ddfed
--- /dev/null
+++ b/import/pdclibhdfs/libhdfs/stdafx.h
@@ -0,0 +1,14 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+#include "targetver.h"
+
+#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
+
+
+
+// TODO: reference additional headers your program requires here
diff --git a/import/pdclibhdfs/libhdfs/targetver.h b/import/pdclibhdfs/libhdfs/targetver.h
new file mode 100755
index 0000000..90e767b
--- /dev/null
+++ b/import/pdclibhdfs/libhdfs/targetver.h
@@ -0,0 +1,8 @@
+#pragma once
+
+// Including SDKDDKVer.h defines the highest available Windows platform.
+
+// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
+// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
+
+#include <SDKDDKVer.h>
diff --git a/import/pdclibhdfs/src/.cmake.state b/import/pdclibhdfs/src/.cmake.state
new file mode 100755
index 0000000..d363c9d
Binary files /dev/null and b/import/pdclibhdfs/src/.cmake.state differ
diff --git a/import/pdclibhdfs/src/LICENSE.txt b/import/pdclibhdfs/src/LICENSE.txt
new file mode 100755
index 0000000..07b79c2
--- /dev/null
+++ b/import/pdclibhdfs/src/LICENSE.txt
@@ -0,0 +1,271 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+
+APACHE HADOOP SUBCOMPONENTS:
+
+The Apache Hadoop project contains subcomponents with separate copyright
+notices and license terms. Your use of the source code for the these
+subcomponents is subject to the terms and conditions of the following
+licenses.
+
+For the org.apache.hadoop.util.bloom.* classes:
+
+/**
+ *
+ * Copyright (c) 2005, European Commission project OneLab under contract
+ * 034819 (http://www.one-lab.org)
+ * All rights reserved.
+ * Redistribution and use in source and binary forms, with or
+ * without modification, are permitted provided that the following
+ * conditions are met:
+ * - Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the distribution.
+ * - Neither the name of the University Catholique de Louvain - UCL
+ * nor the names of its contributors may be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+For src/main/native/util/tree.h:
+
+/*-
+ * Copyright 2002 Niels Provos <provos at citi.umich.edu>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
diff --git a/import/pdclibhdfs/src/NOTICE.txt b/import/pdclibhdfs/src/NOTICE.txt
new file mode 100755
index 0000000..fa3bb79
--- /dev/null
+++ b/import/pdclibhdfs/src/NOTICE.txt
@@ -0,0 +1,2 @@
+This product includes software developed by The Apache Software
+Foundation (http://www.apache.org/).
diff --git a/import/pdclibhdfs/src/TstOpsHdfs.tdprj.xml b/import/pdclibhdfs/src/TstOpsHdfs.tdprj.xml
new file mode 100755
index 0000000..752cdf5
--- /dev/null
+++ b/import/pdclibhdfs/src/TstOpsHdfs.tdprj.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="US-ASCII" ?>
+<!--
+******************************************************************************
+* *
+* TITLE: TstOpsHdfs.tdprj.xml *
+* *
+* Copyright 2009-2010 by Teradata Corporation. *
+* *
+* ALL RIGHTS RESERVED. *
+* *
+* TERADATA CONFIDENTIAL AND TRADE SECRET *
+* *
+* Purpose: To create makefiles used by SCM build process. *
+* *
+* Description: A XML file. *
+* *
+* Revision Date DR DID Comments *
+* =========== ======== ===== ======== ===================================== *
+* 14.00.00.00 08052010 116734 JR185072 Initial version *
+* *
+******************************************************************************
+-->
+
+<Project Name="TstOpsHdfs"
+ ProductGroupName="tstlibhdfs">
+ <Package Package="No"/>
+
+ <ToolClassConfiguration ToolClass="MicrosoftResourceOtbePreprocessor">
+ <Set SetName="Defines" Name="TWBResource">
+ BUILDPRODUCTNAME="\"Teradata Parallel Transporter\""
+ BUILDPROJECT="\"Test libhdfs Read\""
+ BUILDVERSION=$(CNFP_TBUILD_VERSION)
+ </Set>
+ </ToolClassConfiguration>
+
+ <FileDefinitions>
+ <File Path="test_libhdfs_ops.c"/>
+ </FileDefinitions>
+
+</Project>
diff --git a/import/pdclibhdfs/src/TstReadHdfs.tdprj.xml b/import/pdclibhdfs/src/TstReadHdfs.tdprj.xml
new file mode 100755
index 0000000..23ef93f
--- /dev/null
+++ b/import/pdclibhdfs/src/TstReadHdfs.tdprj.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="US-ASCII" ?>
+<!--
+******************************************************************************
+* *
+* TITLE: TstReadHdfs.tdprj.xml *
+* *
+* Copyright 2009-2010 by Teradata Corporation. *
+* *
+* ALL RIGHTS RESERVED. *
+* *
+* TERADATA CONFIDENTIAL AND TRADE SECRET *
+* *
+* Purpose: To create makefiles used by SCM build process. *
+* *
+* Description: A XML file. *
+* *
+* Revision Date DR DID Comments *
+* =========== ======== ===== ======== ===================================== *
+* 14.00.00.00 08052010 116734 JR185072 Initial version *
+* *
+******************************************************************************
+-->
+
+<Project Name="TstReadHdfs"
+ ProductGroupName="tstlibhdfs">
+ <Package Package="No"/>
+
+ <ToolClassConfiguration ToolClass="MicrosoftResourceOtbePreprocessor">
+ <Set SetName="Defines" Name="TWBResource">
+ BUILDPRODUCTNAME="\"Teradata Parallel Transporter\""
+ BUILDPROJECT="\"Test libhdfs Read\""
+ BUILDVERSION=$(CNFP_TBUILD_VERSION)
+ </Set>
+ </ToolClassConfiguration>
+
+ <FileDefinitions>
+ <File Path="test_libhdfs_read.c"/>
+ </FileDefinitions>
+
+</Project>
diff --git a/import/pdclibhdfs/src/TstWriteHdfs.tdprj.xml b/import/pdclibhdfs/src/TstWriteHdfs.tdprj.xml
new file mode 100755
index 0000000..92ada5e
--- /dev/null
+++ b/import/pdclibhdfs/src/TstWriteHdfs.tdprj.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="US-ASCII" ?>
+<!--
+******************************************************************************
+* *
+* TITLE: TstWriteHdfs.tdprj.xml *
+* *
+* Copyright 2009-2010 by Teradata Corporation. *
+* *
+* ALL RIGHTS RESERVED. *
+* *
+* TERADATA CONFIDENTIAL AND TRADE SECRET *
+* *
+* Purpose: To create makefiles used by SCM build process. *
+* *
+* Description: A XML file. *
+* *
+* Revision Date DR DID Comments *
+* =========== ======== ===== ======== ===================================== *
+* 14.00.00.00 08052010 116734 JR185072 Initial version *
+* *
+******************************************************************************
+-->
+
+<Project Name="TstWriteHdfs"
+ ProductGroupName="tstlibhdfs">
+ <Package Package="No"/>
+
+ <ToolClassConfiguration ToolClass="MicrosoftResourceOtbePreprocessor">
+ <Set SetName="Defines" Name="TWBResource">
+ BUILDPRODUCTNAME="\"Teradata Parallel Transporter\""
+ BUILDPROJECT="\"Test libhdfs Read\""
+ BUILDVERSION=$(CNFP_TBUILD_VERSION)
+ </Set>
+ </ToolClassConfiguration>
+
+ <FileDefinitions>
+ <File Path="test_libhdfs_write.c"/>
+ </FileDefinitions>
+
+</Project>
diff --git a/import/pdclibhdfs/src/exception.c b/import/pdclibhdfs/src/exception.c
new file mode 100755
index 0000000..25f0144
--- /dev/null
+++ b/import/pdclibhdfs/src/exception.c
@@ -0,0 +1,232 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "exception.h"
+#include "hdfs.h"
+#include "jni_helper.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#define EXCEPTION_INFO_LEN (sizeof(gExceptionInfo)/sizeof(gExceptionInfo[0]))
+
+struct ExceptionInfo {
+ const char * const name;
+ int noPrintFlag;
+ int excErrno;
+};
+
+static const struct ExceptionInfo gExceptionInfo[] = {
+ {
+ "java/io/FileNotFoundException",
+ NOPRINT_EXC_FILE_NOT_FOUND,
+ ENOENT
+ },
+ {
+ "org/apache/hadoop/security/AccessControlException",
+ NOPRINT_EXC_ACCESS_CONTROL,
+ EACCES
+ },
+ {
+ "org/apache/hadoop/fs/UnresolvedLinkException",
+ NOPRINT_EXC_UNRESOLVED_LINK,
+ ENOLINK
+ },
+ {
+ "org/apache/hadoop/fs/ParentNotDirectoryException",
+ NOPRINT_EXC_PARENT_NOT_DIRECTORY,
+ ENOTDIR
+ },
+ {
+ "java/lang/IllegalArgumentException",
+ NOPRINT_EXC_ILLEGAL_ARGUMENT,
+ EINVAL
+ },
+ {
+ "java/lang/OutOfMemoryError",
+ 0,
+ ENOMEM
+ }
+
+};
+
+void getExceptionInfo ( const char *excName, int noPrintFlags,
+ int *excErrno, int *shouldPrint )
+{
+ int i;
+ for (i = 0; i < EXCEPTION_INFO_LEN; i++) {
+ if (strstr(gExceptionInfo[i].name, excName)) {
+ break;
+ }
+ }
+ if (i < EXCEPTION_INFO_LEN) {
+ *shouldPrint = !(gExceptionInfo[i].noPrintFlag & noPrintFlags);
+ *excErrno = gExceptionInfo[i].excErrno;
+ } else {
+ *shouldPrint = 1;
+ *excErrno = EINTERNAL;
+ }
+}
+
+int printExceptionAndFreeV ( JNIEnv *env,
+ jthrowable exc,
+ int noPrintFlags,
+ const char *fmt, va_list ap )
+{
+
+ int i, noPrint, excErrno;
+ char *className = NULL;
+ jstring jStr = NULL;
+ jvalue jVal;
+ jthrowable jthr;
+ const char *stackTrace;
+
+ jthr = classNameOfObject(exc, env, &className);
+ if (jthr) {
+ fprintf(stderr, "PrintExceptionAndFree: error determining class name "
+ "of exception.\n");
+ className = _strdup("(unknown)");
+ destroyLocalReference(env, jthr);
+ }
+
+ for (i = 0; i < EXCEPTION_INFO_LEN; i++) {
+ if (!strcmp(gExceptionInfo[i].name, className)) {
+ break;
+ }
+ }
+
+ if (i < EXCEPTION_INFO_LEN) {
+ noPrint = (gExceptionInfo[i].noPrintFlag & noPrintFlags);
+ excErrno = gExceptionInfo[i].excErrno;
+ } else {
+ noPrint = 0;
+ excErrno = EINTERNAL;
+ }
+
+ if (!noPrint) {
+
+ vfprintf(stderr, fmt, ap);
+ fprintf(stderr, " error:\n");
+
+ /* We don't want to use ExceptionDescribe here, because that requires a
+ pending exception. Instead, use ExceptionUtils. */
+ jthr = invokeMethod(env, &jVal, STATIC, NULL,
+ "org/apache/commons/lang/exception/ExceptionUtils",
+ "getStackTrace", "(Ljava/lang/Throwable;)Ljava/lang/String;", exc);
+
+ if (jthr) {
+ fprintf(stderr, "(unable to get stack trace for %s exception: "
+ "ExceptionUtils::getStackTrace error.)\n", className);
+ destroyLocalReference(env, jthr);
+ } else {
+ jStr = jVal.l;
+ stackTrace = (*env)->GetStringUTFChars(env, jStr, NULL);
+ if (!stackTrace) {
+ fprintf(stderr, "(unable to get stack trace for %s exception: "
+ "GetStringUTFChars error.)\n", className);
+ } else {
+ fprintf(stderr, "%s", stackTrace);
+ (*env)->ReleaseStringUTFChars(env, jStr, stackTrace);
+ }
+ }
+ }
+
+ destroyLocalReference(env, jStr);
+ destroyLocalReference(env, exc);
+ free(className);
+ return excErrno;
+
+}
+
+int printExceptionAndFree ( JNIEnv *env,
+ jthrowable exc,
+ int noPrintFlags,
+ const char *fmt, ... )
+{
+ va_list ap;
+ int ret = 0;
+
+ va_start(ap, fmt);
+ ret = printExceptionAndFreeV ( env, exc, noPrintFlags, fmt, ap );
+ va_end(ap);
+
+ return ret;
+
+}
+
+int printPendingExceptionAndFree ( JNIEnv *env,
+ int noPrintFlags,
+ const char *fmt, ... )
+{
+ va_list ap;
+ int ret;
+ jthrowable exc;
+
+ exc = (*env)->ExceptionOccurred(env);
+ if (!exc) {
+ va_start(ap, fmt);
+ vfprintf(stderr, fmt, ap);
+ va_end(ap);
+ fprintf(stderr, " error: (no exception)");
+ ret = 0;
+ } else {
+ (*env)->ExceptionClear(env);
+ va_start(ap, fmt);
+ ret = printExceptionAndFreeV(env, exc, noPrintFlags, fmt, ap);
+ va_end(ap);
+ }
+ return ret;
+}
+
+jthrowable getPendingExceptionAndClear ( JNIEnv *env )
+{
+ jthrowable jthr = (*env)->ExceptionOccurred(env);
+ if (!jthr) return NULL;
+ (*env)->ExceptionClear(env);
+ return jthr;
+}
+
+jthrowable newRuntimeError ( JNIEnv *env, const char *fmt, ... )
+{
+ char buf[512];
+ jobject out, exc;
+ jstring jstr;
+ va_list ap;
+
+ va_start(ap, fmt);
+ vsnprintf_s(buf, sizeof(buf), sizeof(buf)-1, fmt, ap);
+ va_end(ap);
+
+ jstr = (*env)->NewStringUTF(env, buf);
+ if (!jstr) {
+ /* We got an out of memory exception rather than a RuntimeException.
+ Too bad... */
+ return getPendingExceptionAndClear(env);
+ }
+
+ exc = constructNewObjectOfClass(env, &out, "RuntimeException",
+ "(java/lang/String;)V", jstr);
+
+ (*env)->DeleteLocalRef(env, jstr);
+
+ /* Again, we'll either get an out of memory exception or the
+ RuntimeException we wanted. */
+ return (exc) ? exc : out;
+
+}
diff --git a/import/pdclibhdfs/src/hdfs.c b/import/pdclibhdfs/src/hdfs.c
new file mode 100755
index 0000000..c5dde87
--- /dev/null
+++ b/import/pdclibhdfs/src/hdfs.c
@@ -0,0 +1,3016 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "exception.h"
+#include "hdfs.h"
+#include "jni_helper.h"
+
+#include <stdio.h>
+#include <string.h>
+
+/* Some frequently used Java paths */
+#define HADOOP_CONF "org/apache/hadoop/conf/Configuration"
+#define HADOOP_PATH "org/apache/hadoop/fs/Path"
+#define HADOOP_LOCALFS "org/apache/hadoop/fs/LocalFileSystem"
+#define HADOOP_FS "org/apache/hadoop/fs/FileSystem"
+#define HADOOP_FSSTATUS "org/apache/hadoop/fs/FsStatus"
+#define HADOOP_BLK_LOC "org/apache/hadoop/fs/BlockLocation"
+#define HADOOP_DFS "org/apache/hadoop/hdfs/DistributedFileSystem"
+#define HADOOP_ISTRM "org/apache/hadoop/fs/FSDataInputStream"
+#define HADOOP_OSTRM "org/apache/hadoop/fs/FSDataOutputStream"
+#define HADOOP_STAT "org/apache/hadoop/fs/FileStatus"
+#define HADOOP_FSPERM "org/apache/hadoop/fs/permission/FsPermission"
+#define JAVA_NET_ISA "java/net/InetSocketAddress"
+#define JAVA_NET_URI "java/net/URI"
+#define JAVA_STRING "java/lang/String"
+
+#define JAVA_VOID "V"
+
+/* Macros for constructing method signatures */
+#define JPARAM(X) "L" X ";"
+#define JARRPARAM(X) "[L" X ";"
+#define JMETHOD1(X, R) "(" X ")" R
+#define JMETHOD2(X, Y, R) "(" X Y ")" R
+#define JMETHOD3(X, Y, Z, R) "(" X Y Z")" R
+
+#define KERBEROS_TICKET_CACHE_PATH "hadoop.security.kerberos.ticket.cache.path"
+
+/* Bit fields for hdfsFile_internal flags */
+#define HDFS_FILE_SUPPORTS_DIRECT_READ (1<<0)
+
+static tSize readDirect(hdfsFS fs, hdfsFile f, void* buffer, tSize length);
+static void hdfsFreeFileInfoEntry(hdfsFileInfo *hdfsFileInfo);
+
+/**
+ * hdfsJniEnv: A wrapper struct to be used as 'value'
+ * while saving thread -> JNIEnv* mappings
+ */
+typedef struct
+{
+ JNIEnv* env;
+} hdfsJniEnv;
+
+
+/**
+ * The C equivalent of org.apache.org.hadoop.FSData(Input|Output)Stream .
+ */
+enum hdfsStreamType
+{
+ UNINITIALIZED = 0,
+ TYPEIN = 1,
+ TYPEOUT = 2,
+};
+
+/**
+ * The 'file-handle' to a file in hdfs.
+ */
+struct hdfsFile_internal {
+ void* file;
+ enum hdfsStreamType type;
+ int flags;
+};
+
+struct hdfsBuilderConfOpt {
+ struct hdfsBuilderConfOpt *next;
+ const char *key;
+ const char *val;
+};
+
+struct hdfsBuilder {
+ int forceNewInstance;
+ const char *nn;
+ tPort port;
+ const char *kerbTicketCachePath;
+ const char *userName;
+ struct hdfsBuilderConfOpt *opts;
+};
+
+int hdfsFileIsOpenForRead (hdfsFile file)
+{
+ return (file->type == TYPEIN);
+}
+
+int hdfsFileGetReadStatistics ( hdfsFile file,
+ struct hdfsReadStatistics **stats )
+{
+ jthrowable jthr;
+ jobject readStats = NULL;
+ jvalue jVal;
+ struct hdfsReadStatistics *s = NULL;
+ int ret;
+ JNIEnv* env = getJNIEnv();
+
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ if (file->type != TYPEIN) {
+ ret = EINVAL;
+ goto done;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, file->file,
+ "org/apache/hadoop/hdfs/client/HdfsDataInputStream",
+ "getReadStatistics",
+ "()Lorg/apache/hadoop/hdfs/DFSInputStream$ReadStatistics;");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsFileGetReadStatistics: getReadStatistics failed");
+ goto done;
+ }
+
+ readStats = jVal.l;
+ s = malloc(sizeof(struct hdfsReadStatistics));
+ if (!s) {
+ ret = ENOMEM;
+ goto done;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, readStats,
+ "org/apache/hadoop/hdfs/DFSInputStream$ReadStatistics",
+ "getTotalBytesRead", "()J");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsFileGetReadStatistics: getTotalBytesRead failed");
+ goto done;
+ }
+
+ s->totalBytesRead = jVal.j;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, readStats,
+ "org/apache/hadoop/hdfs/DFSInputStream$ReadStatistics",
+ "getTotalLocalBytesRead", "()J");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsFileGetReadStatistics: getTotalLocalBytesRead failed");
+ goto done;
+ }
+
+ s->totalLocalBytesRead = jVal.j;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, readStats,
+ "org/apache/hadoop/hdfs/DFSInputStream$ReadStatistics",
+ "getTotalShortCircuitBytesRead", "()J");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsFileGetReadStatistics: getTotalShortCircuitBytesRead failed");
+ goto done;
+ }
+
+ s->totalShortCircuitBytesRead = jVal.j;
+ *stats = s;
+ s = NULL;
+ ret = 0;
+
+done:
+ destroyLocalReference(env, readStats);
+ free(s);
+
+ if (ret) {
+ errno = ret;
+ return -1;
+ }
+
+ return 0;
+}
+
+int64_t hdfsReadStatisticsGetRemoteBytesRead(
+ const struct hdfsReadStatistics *stats)
+{
+ return stats->totalBytesRead - stats->totalLocalBytesRead;
+}
+
+void hdfsFileFreeReadStatistics(struct hdfsReadStatistics *stats)
+{
+ free(stats);
+}
+
+int hdfsFileIsOpenForWrite(hdfsFile file)
+{
+ return (file->type == TYPEOUT);
+}
+
+int hdfsFileUsesDirectRead(hdfsFile file)
+{
+ return !!(file->flags & HDFS_FILE_SUPPORTS_DIRECT_READ);
+}
+
+void hdfsFileDisableDirectRead(hdfsFile file)
+{
+ file->flags &= ~HDFS_FILE_SUPPORTS_DIRECT_READ;
+}
+
+/**
+ * Helper function to create a org.apache.hadoop.fs.Path object.
+ * @param env: The JNIEnv pointer.
+ * @param path: The file-path for which to construct org.apache.hadoop.fs.Path
+ * object.
+ * @return Returns a jobject on success and NULL on error.
+ */
+static jthrowable constructNewObjectOfPath(JNIEnv *env, const char *path,
+ jobject *out)
+{
+ jthrowable jthr;
+ jstring jPathString;
+ jobject jPath;
+
+ /*Construct a java.lang.String object*/
+ jthr = newJavaStr(env, path, &jPathString);
+ if (jthr)
+ return jthr;
+
+ /*Construct the org.apache.hadoop.fs.Path object */
+ jthr = constructNewObjectOfClass(env, &jPath, "org/apache/hadoop/fs/Path",
+ "(Ljava/lang/String;)V", jPathString);
+ destroyLocalReference(env, jPathString);
+ if (jthr)
+ return jthr;
+
+ *out = jPath;
+ return NULL;
+}
+
+/**
+ * Set a configuration value.
+ *
+ * @param env The JNI environment
+ * @param jConfiguration The configuration object to modify
+ * @param key The key to modify
+ * @param value The value to set the key to
+ *
+ * @return NULL on success; exception otherwise
+ */
+static jthrowable hadoopConfSetStr(JNIEnv *env, jobject jConfiguration,
+ const char *key, const char *value)
+{
+ jthrowable jthr;
+ jstring jkey = NULL, jvalue = NULL;
+
+ jthr = newJavaStr(env, key, &jkey);
+ if (jthr)
+ goto done;
+
+ jthr = newJavaStr(env, value, &jvalue);
+ if (jthr)
+ goto done;
+
+ jthr = invokeMethod(env, NULL, INSTANCE, jConfiguration,
+ HADOOP_CONF, "set", JMETHOD2(JPARAM(JAVA_STRING),
+ JPARAM(JAVA_STRING), JAVA_VOID),
+ jkey, jvalue);
+
+done:
+ destroyLocalReference(env, jkey);
+ destroyLocalReference(env, jvalue);
+ return jthr;
+
+}
+
+/**
+ * Get a configuration value.
+ *
+ * @param env The JNI environment
+ * @param jConfiguration The configuration object to read
+ * @param key The key to fetch
+ * @param value The value to be returned
+ *
+ * @return NULL on success; exception otherwise
+ */
+static jthrowable hadoopConfGetStr(JNIEnv *env, jobject jConfiguration,
+ const char *key, char **val)
+{
+ jthrowable jthr;
+ jvalue jVal;
+ jstring jkey = NULL, jRet = NULL;
+
+ jthr = newJavaStr(env, key, &jkey);
+ if (jthr)
+ goto done;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jConfiguration,
+ HADOOP_CONF, "get", JMETHOD1(JPARAM(JAVA_STRING),
+ JPARAM(JAVA_STRING)), jkey);
+ if (jthr)
+ goto done;
+
+ jRet = jVal.l;
+ jthr = newCStr(env, jRet, val);
+
+done:
+ destroyLocalReference(env, jkey);
+ destroyLocalReference(env, jRet);
+ return jthr;
+}
+
+int hdfsConfGetStr(const char *key, char **val)
+{
+ JNIEnv *env;
+ int ret;
+ jthrowable jthr;
+ jobject jConfiguration = NULL;
+
+ env = getJNIEnv();
+ if (env == NULL) {
+ ret = EINTERNAL;
+ goto done;
+ }
+
+ jthr = constructNewObjectOfClass(env, &jConfiguration, HADOOP_CONF, "()V");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsConfGetStr(%s): new Configuration", key);
+ goto done;
+ }
+
+ jthr = hadoopConfGetStr(env, jConfiguration, key, val);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsConfGetStr(%s): hadoopConfGetStr", key);
+ goto done;
+ }
+
+ ret = 0;
+
+done:
+ destroyLocalReference(env, jConfiguration);
+ if (ret)
+ errno = ret;
+
+ return ret;
+}
+
+void hdfsConfStrFree(char *val)
+{
+ free(val);
+}
+
+static jthrowable hadoopConfGetInt(JNIEnv *env, jobject jConfiguration,
+ const char *key, int32_t *val)
+{
+ jthrowable jthr = NULL;
+ jvalue jVal;
+ jstring jkey = NULL;
+
+ jthr = newJavaStr(env, key, &jkey);
+ if (jthr)
+ return jthr;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jConfiguration,
+ HADOOP_CONF, "getInt", JMETHOD2(JPARAM(JAVA_STRING), "I", "I"),
+ jkey, (jint)(*val));
+ destroyLocalReference(env, jkey);
+
+ if (jthr)
+ return jthr;
+
+ *val = jVal.i;
+ return NULL;
+}
+
+int hdfsConfGetInt(const char *key, int32_t *val)
+{
+ JNIEnv *env;
+ int ret;
+ jobject jConfiguration = NULL;
+ jthrowable jthr;
+
+ env = getJNIEnv();
+ if (env == NULL) {
+ ret = EINTERNAL;
+ goto done;
+ }
+
+ jthr = constructNewObjectOfClass(env, &jConfiguration, HADOOP_CONF, "()V");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsConfGetInt(%s): new Configuration", key);
+ goto done;
+ }
+
+ jthr = hadoopConfGetInt(env, jConfiguration, key, val);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsConfGetInt(%s): hadoopConfGetInt", key);
+ goto done;
+ }
+
+ ret = 0;
+
+done:
+ destroyLocalReference(env, jConfiguration);
+ if (ret)
+ errno = ret;
+ return ret;
+}
+
+
+struct hdfsBuilder *hdfsNewBuilder(void)
+{
+ struct hdfsBuilder *bld = calloc(1, sizeof(struct hdfsBuilder));
+
+ if (!bld) {
+ errno = ENOMEM;
+ return NULL;
+ }
+
+ return bld;
+}
+
+int hdfsBuilderConfSetStr(struct hdfsBuilder *bld, const char *key,
+ const char *val)
+{
+ struct hdfsBuilderConfOpt *opt, *next;
+
+ opt = calloc(1, sizeof(struct hdfsBuilderConfOpt));
+ if (!opt)
+ return -ENOMEM;
+
+ next = bld->opts;
+ bld->opts = opt;
+ opt->next = next;
+ opt->key = key;
+ opt->val = val;
+ return 0;
+}
+
+void hdfsFreeBuilder(struct hdfsBuilder *bld)
+{
+ struct hdfsBuilderConfOpt *cur, *next;
+
+ cur = bld->opts;
+ for (cur = bld->opts; cur; ) {
+ next = cur->next;
+ free(cur);
+ cur = next;
+ }
+
+ free(bld);
+
+}
+
+void hdfsBuilderSetForceNewInstance(struct hdfsBuilder *bld)
+{
+ bld->forceNewInstance = 1;
+}
+
+void hdfsBuilderSetNameNode(struct hdfsBuilder *bld, const char *nn)
+{
+ bld->nn = nn;
+}
+
+void hdfsBuilderSetNameNodePort(struct hdfsBuilder *bld, tPort port)
+{
+ bld->port = port;
+}
+
+void hdfsBuilderSetUserName(struct hdfsBuilder *bld, const char *userName)
+{
+ bld->userName = userName;
+}
+
+void hdfsBuilderSetKerbTicketCachePath(struct hdfsBuilder *bld,
+ const char *kerbTicketCachePath)
+{
+ bld->kerbTicketCachePath = kerbTicketCachePath;
+}
+
+hdfsFS hdfsConnect(const char* host, tPort port)
+{
+ struct hdfsBuilder *bld = hdfsNewBuilder();
+ if (!bld)
+ return NULL;
+
+ hdfsBuilderSetNameNode(bld, host);
+ hdfsBuilderSetNameNodePort(bld, port);
+
+ return hdfsBuilderConnect(bld);
+
+}
+
+/** Always return a new FileSystem handle */
+hdfsFS hdfsConnectNewInstance(const char* host, tPort port)
+{
+ struct hdfsBuilder *bld = hdfsNewBuilder();
+ if (!bld)
+ return NULL;
+
+ hdfsBuilderSetNameNode(bld, host);
+ hdfsBuilderSetNameNodePort(bld, port);
+ hdfsBuilderSetForceNewInstance(bld);
+
+ return hdfsBuilderConnect(bld);
+}
+
+hdfsFS hdfsConnectAsUser(const char* host, tPort port, const char *user)
+{
+ struct hdfsBuilder *bld = hdfsNewBuilder();
+ if (!bld)
+ return NULL;
+
+ hdfsBuilderSetNameNode(bld, host);
+ hdfsBuilderSetNameNodePort(bld, port);
+ hdfsBuilderSetUserName(bld, user);
+
+ return hdfsBuilderConnect(bld);
+}
+
+/** Always return a new FileSystem handle */
+hdfsFS hdfsConnectAsUserNewInstance(const char* host, tPort port,
+ const char *user)
+{
+ struct hdfsBuilder *bld = hdfsNewBuilder();
+ if (!bld)
+ return NULL;
+
+ hdfsBuilderSetNameNode(bld, host);
+ hdfsBuilderSetNameNodePort(bld, port);
+ hdfsBuilderSetForceNewInstance(bld);
+ hdfsBuilderSetUserName(bld, user);
+
+ return hdfsBuilderConnect(bld);
+}
+
+
+/**
+ * Calculate the effective URI to use, given a builder configuration.
+ *
+ * If there is not already a URI scheme, we prepend 'hdfs://'.
+ *
+ * If there is not already a port specified, and a port was given to the
+ * builder, we suffix that port. If there is a port specified but also one in
+ * the URI, that is an error.
+ *
+ * @param bld The hdfs builder object
+ * @param uri (out param) dynamically allocated string representing the
+ * effective URI
+ *
+ * @return 0 on success; error code otherwise
+ */
+static int calcEffectiveURI ( struct hdfsBuilder *bld, char ** uri )
+{
+
+ const char *scheme;
+ char suffix[64];
+ const char *lastColon;
+ char *u;
+ size_t uriLen;
+
+ if (!bld->nn)
+ return EINVAL;
+
+ scheme = (strstr(bld->nn, "://")) ? "" : "hdfs://";
+
+ if (bld->port == 0) {
+ suffix[0] = '\0';
+ } else {
+ lastColon = strrchr (bld->nn, ':');
+ if (lastColon && (strspn(lastColon + 1, "0123456789") ==
+ strlen(lastColon + 1))) {
+ fprintf(stderr, "port %d was given, but URI '%s' already "
+ "contains a port!\n", bld->port, bld->nn);
+ return EINVAL;
+ }
+ /*snprintf(suffix, sizeof(suffix), ":%d", bld->port);*/
+ sprintf_s(suffix, sizeof(suffix), ":%d", bld->port);
+ }
+
+ uriLen = strlen(scheme) + strlen(bld->nn) + strlen(suffix);
+ u = malloc((uriLen + 1) * (sizeof(char)));
+ if (!u) {
+ fprintf(stderr, "calcEffectiveURI: out of memory");
+ return ENOMEM;
+ }
+
+ /* snprintf(u, uriLen + 1, "%s%s%s", scheme, bld->nn, suffix);*/
+ sprintf_s ( u, uriLen + 1, "%s%s%s", scheme, bld->nn, suffix);
+ *uri = u;
+ return 0;
+
+}
+
+static const char *maybeNull(const char *str)
+{
+ return str ? str : "(NULL)";
+}
+
+static const char *hdfsBuilderToStr(const struct hdfsBuilder *bld,
+ char *buf, size_t bufLen)
+{
+ /* snprintf(buf, bufLen, "forceNewInstance=%d, nn=%s, port=%d, "*/
+ sprintf_s ( buf, bufLen, "forceNewInstance=%d, nn=%s, port=%d, "
+ "kerbTicketCachePath=%s, userName=%s",
+ bld->forceNewInstance, maybeNull(bld->nn), bld->port,
+ maybeNull(bld->kerbTicketCachePath), maybeNull(bld->userName));
+ return buf;
+}
+
+hdfsFS hdfsBuilderConnect ( struct hdfsBuilder *bld )
+{
+ JNIEnv *env = 0;
+ jobject jConfiguration = NULL, jFS = NULL, jURI = NULL, jCachePath = NULL;
+ jstring jURIString = NULL, jUserString = NULL;
+ jvalue jVal;
+ jthrowable jthr = NULL;
+ char *cURI = 0, buf[512];
+ int ret;
+ jobject jRet = NULL;
+ struct hdfsBuilderConfOpt *opt;
+
+ /*Get the JNIEnv* corresponding to current thread */
+ env = getJNIEnv();
+ if (env == NULL) {
+ ret = EINTERNAL;
+ goto done;
+ }
+
+ /* jConfiguration = new Configuration(); */
+ jthr = constructNewObjectOfClass(env, &jConfiguration, HADOOP_CONF, "()V");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsBuilderConnect(%s)", hdfsBuilderToStr(bld, buf, sizeof(buf)));
+ goto done;
+ }
+
+ /* set configuration value */
+ for (opt = bld->opts; opt; opt = opt->next) {
+ jthr = hadoopConfSetStr(env, jConfiguration, opt->key, opt->val);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsBuilderConnect(%s): error setting conf '%s' to '%s'",
+ hdfsBuilderToStr(bld, buf, sizeof(buf)), opt->key, opt->val);
+ goto done;
+ }
+ }
+
+ /*Check what type of FileSystem the caller wants... */
+ if (bld->nn == NULL) {
+
+ /* Get a local filesystem. */
+ if (bld->forceNewInstance) {
+ /* fs = FileSytem#newInstanceLocal(conf); */
+ jthr = invokeMethod(env, &jVal, STATIC, NULL, HADOOP_FS,
+ "newInstanceLocal", JMETHOD1(JPARAM(HADOOP_CONF),
+ JPARAM(HADOOP_LOCALFS)), jConfiguration);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsBuilderConnect(%s)",
+ hdfsBuilderToStr(bld, buf, sizeof(buf)));
+ goto done;
+ }
+ jFS = jVal.l;
+ } else {
+ /* fs = FileSytem#getLocal(conf); */
+ jthr = invokeMethod(env, &jVal, STATIC, NULL, HADOOP_FS, "getLocal",
+ JMETHOD1(JPARAM(HADOOP_CONF),
+ JPARAM(HADOOP_LOCALFS)),
+ jConfiguration);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsBuilderConnect(%s)",
+ hdfsBuilderToStr(bld, buf, sizeof(buf)));
+ goto done;
+ }
+ jFS = jVal.l;
+ }
+
+ } else {
+
+ if (!strcmp(bld->nn, "default")) {
+ /* jURI = FileSystem.getDefaultUri(conf) */
+ jthr = invokeMethod(env, &jVal, STATIC, NULL, HADOOP_FS,
+ "getDefaultUri",
+ "(Lorg/apache/hadoop/conf/Configuration;)Ljava/net/URI;",
+ jConfiguration);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsBuilderConnect(%s)",
+ hdfsBuilderToStr(bld, buf, sizeof(buf)));
+ goto done;
+ }
+
+ jURI = jVal.l;
+ } else {
+
+ /* fs = FileSystem#get(URI, conf, ugi); */
+ ret = calcEffectiveURI(bld, &cURI);
+ if (ret)
+ goto done;
+
+ jthr = newJavaStr(env, cURI, &jURIString);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsBuilderConnect(%s)",
+ hdfsBuilderToStr(bld, buf, sizeof(buf)));
+ goto done;
+ }
+
+ jthr = invokeMethod(env, &jVal, STATIC, NULL, JAVA_NET_URI,
+ "create", "(Ljava/lang/String;)Ljava/net/URI;",
+ jURIString);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsBuilderConnect(%s)",
+ hdfsBuilderToStr(bld, buf, sizeof(buf)));
+ goto done;
+ }
+
+ jURI = jVal.l;
+
+ }
+
+ if (bld->kerbTicketCachePath) {
+ jthr = hadoopConfSetStr(env, jConfiguration,
+ KERBEROS_TICKET_CACHE_PATH, bld->kerbTicketCachePath);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsBuilderConnect(%s)",
+ hdfsBuilderToStr(bld, buf, sizeof(buf)));
+ goto done;
+ }
+ }
+
+ jthr = newJavaStr(env, bld->userName, &jUserString);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsBuilderConnect(%s)",
+ hdfsBuilderToStr(bld, buf, sizeof(buf)));
+ goto done;
+ }
+
+ if (bld->forceNewInstance) {
+ jthr = invokeMethod(env, &jVal, STATIC, NULL, HADOOP_FS,
+ "newInstance", JMETHOD3(JPARAM(JAVA_NET_URI),
+ JPARAM(HADOOP_CONF), JPARAM(JAVA_STRING),
+ JPARAM(HADOOP_FS)),
+ jURI, jConfiguration, jUserString);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsBuilderConnect(%s)",
+ hdfsBuilderToStr(bld, buf, sizeof(buf)));
+ goto done;
+ }
+ jFS = jVal.l;
+ } else {
+ jthr = invokeMethod(env, &jVal, STATIC, NULL, HADOOP_FS, "get",
+ JMETHOD3(JPARAM(JAVA_NET_URI), JPARAM(HADOOP_CONF),
+ JPARAM(JAVA_STRING), JPARAM(HADOOP_FS)),
+ jURI, jConfiguration, jUserString);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsBuilderConnect(%s)",
+ hdfsBuilderToStr(bld, buf, sizeof(buf)));
+ goto done;
+ }
+ jFS = jVal.l;
+ }
+
+ }
+
+ jRet = (*env)->NewGlobalRef(env, jFS);
+ if (!jRet) {
+ ret = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsBuilderConnect(%s)",
+ hdfsBuilderToStr(bld, buf, sizeof(buf)));
+ goto done;
+ }
+
+ ret = 0;
+
+done:
+ /* Release unnecessary local references */
+ destroyLocalReference(env, jConfiguration);
+ destroyLocalReference(env, jFS);
+ destroyLocalReference(env, jURI);
+ destroyLocalReference(env, jCachePath);
+ destroyLocalReference(env, jURIString);
+ destroyLocalReference(env, jUserString);
+ free(cURI);
+ hdfsFreeBuilder(bld);
+
+ if (ret) {
+ errno = ret;
+ return NULL;
+ }
+
+ return (hdfsFS)jRet;
+}
+
+int hdfsDisconnect(hdfsFS fs)
+{
+ /* JAVA EQUIVALENT:
+ fs.close() */
+
+ jobject jFS;
+ int ret;
+ jthrowable jthr;
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /*Parameters */
+ jFS = (jobject) fs;
+
+ /*Sanity check */
+ if (fs == NULL) {
+ errno = EBADF;
+ return -1;
+ }
+
+ jthr = invokeMethod(env, NULL, INSTANCE, jFS, HADOOP_FS,
+ "close", "()V");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsDisconnect: FileSystem#close");
+ } else {
+ ret = 0;
+ }
+
+ (*env)->DeleteGlobalRef(env, jFS);
+ if (ret) {
+ errno = ret;
+ return -1;
+ }
+
+ return 0;
+
+}
+
+/**
+ * Get the default block size of a FileSystem object.
+ *
+ * @param env The Java env
+ * @param jFS The FileSystem object
+ * @param jPath The path to find the default blocksize at
+ * @param out (out param) the default block size
+ *
+ * @return NULL on success; or the exception
+ */
+static jthrowable getDefaultBlockSize(JNIEnv *env, jobject jFS,
+ jobject jPath, jlong *out)
+{
+ jthrowable jthr;
+ jvalue jVal;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ "getDefaultBlockSize", JMETHOD1(JPARAM(HADOOP_PATH), "J"), jPath);
+ if (jthr)
+ return jthr;
+
+ *out = jVal.j;
+ return NULL;
+
+}
+
+hdfsFile hdfsOpenFile(hdfsFS fs, const char* path, int flags,
+ int bufferSize, short replication, tSize blockSize)
+{
+ /*
+ JAVA EQUIVALENT:
+ File f = new File(path);
+ FSData{Input|Output}Stream f{is|os} = fs.create(f);
+ return f{is|os};
+ */
+ /* Get the JNIEnv* corresponding to current thread */
+
+ JNIEnv* env = getJNIEnv();
+ int accmode = flags & O_ACCMODE;
+
+ jstring jStrBufferSize = NULL, jStrReplication = NULL;
+ jobject jConfiguration = NULL, jPath = NULL, jFile = NULL;
+ jobject jFS = (jobject)fs;
+ jthrowable jthr;
+ jvalue jVal;
+ hdfsFile file = NULL;
+ int ret;
+ const char* method = NULL;
+ const char* signature = NULL;
+
+ jint jBufferSize;
+ jshort jReplication;
+
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return NULL;
+ }
+
+ if (accmode == O_RDONLY || accmode == O_WRONLY) {
+ /* yay */
+ } else if (accmode == O_RDWR) {
+ fprintf(stderr, "ERROR: cannot open an hdfs file in O_RDWR mode\n");
+ errno = ENOTSUP;
+ return NULL;
+ } else {
+ fprintf(stderr, "ERROR: cannot open an hdfs file in mode 0x%x\n", accmode);
+ errno = EINVAL;
+ return NULL;
+ }
+
+ if ((flags & O_CREAT) && (flags & O_EXCL)) {
+ fprintf(stderr, "WARN: hdfs does not truly support O_CREATE && O_EXCL\n");
+ }
+
+ /* The hadoop java api/signature */
+
+ if (accmode == O_RDONLY) {
+ method = "open";
+ signature = JMETHOD2(JPARAM(HADOOP_PATH), "I", JPARAM(HADOOP_ISTRM));
+ } else if (flags & O_APPEND) {
+ method = "append";
+ signature = JMETHOD1(JPARAM(HADOOP_PATH), JPARAM(HADOOP_OSTRM));
+ } else {
+ method = "create";
+ signature = JMETHOD2(JPARAM(HADOOP_PATH), "ZISJ", JPARAM(HADOOP_OSTRM));
+ }
+
+ /* Create an object of org.apache.hadoop.fs.Path */
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsOpenFile(%s): constructNewObjectOfPath", path);
+ goto done;
+ }
+
+ /* Get the Configuration object from the FileSystem object */
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ "getConf", JMETHOD1("", JPARAM(HADOOP_CONF)));
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsOpenFile(%s): FileSystem#getConf", path);
+ goto done;
+ }
+
+ jConfiguration = jVal.l;
+
+ jStrBufferSize = (*env)->NewStringUTF(env, "io.file.buffer.size");
+
+ if (!jStrBufferSize) {
+ ret = printPendingExceptionAndFree(env, PRINT_EXC_ALL, "OOM");
+ goto done;
+ }
+
+ jStrReplication = (*env)->NewStringUTF(env, "dfs.replication");
+ if (!jStrReplication) {
+ ret = printPendingExceptionAndFree(env, PRINT_EXC_ALL, "OOM");
+ goto done;
+ }
+
+ if (!bufferSize) {
+ jthr = invokeMethod(env, &jVal, INSTANCE, jConfiguration,
+ HADOOP_CONF, "getInt", "(Ljava/lang/String;I)I",
+ jStrBufferSize, 4096);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, NOPRINT_EXC_FILE_NOT_FOUND |
+ NOPRINT_EXC_ACCESS_CONTROL | NOPRINT_EXC_UNRESOLVED_LINK,
+ "hdfsOpenFile(%s): Configuration#getInt(io.file.buffer.size)",
+ path);
+ goto done;
+ }
+ jBufferSize = jVal.i;
+ }
+
+ if ((accmode == O_WRONLY) && (flags & O_APPEND) == 0) {
+ if (!replication) {
+ jthr = invokeMethod(env, &jVal, INSTANCE, jConfiguration,
+ HADOOP_CONF, "getInt", "(Ljava/lang/String;I)I",
+ jStrReplication, 1);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsOpenFile(%s): Configuration#getInt(dfs.replication)",
+ path);
+ goto done;
+ }
+ jReplication = jVal.i;
+ }
+ }
+
+ /* Create and return either the FSDataInputStream or
+ FSDataOutputStream references jobject jStream */
+
+ /* READ? */
+ if (accmode == O_RDONLY) {
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ method, signature, jPath, jBufferSize);
+ } else if ((accmode == O_WRONLY) && (flags & O_APPEND)) {
+ /* WRITE/APPEND? */
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ method, signature, jPath);
+ } else {
+ /* WRITE/CREATE */
+ jboolean jOverWrite = 1;
+ jlong jBlockSize = blockSize;
+
+ if (jBlockSize == 0) {
+ jthr = getDefaultBlockSize(env, jFS, jPath, &jBlockSize);
+ if (jthr) {
+ ret = EIO;
+ goto done;
+ }
+ }
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ method, signature, jPath, jOverWrite,
+ jBufferSize, jReplication, jBlockSize);
+ }
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsOpenFile(%s): FileSystem#%s(%s)", path, method, signature);
+ goto done;
+ }
+ jFile = jVal.l;
+
+ file = calloc(1, sizeof(struct hdfsFile_internal));
+ if (!file) {
+ fprintf(stderr, "hdfsOpenFile(%s): OOM create hdfsFile\n", path);
+ ret = ENOMEM;
+ goto done;
+ }
+
+ file->file = (*env)->NewGlobalRef(env, jFile);
+ if (!file->file) {
+ ret = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsOpenFile(%s): NewGlobalRef", path);
+ goto done;
+ }
+
+ file->type = (((flags & O_WRONLY) == 0) ? TYPEIN : TYPEOUT);
+ file->flags = 0;
+
+ if ((flags & O_WRONLY) == 0) {
+ /* Try a test read to see if we can do direct reads */
+#if 0
+ char buf;
+ if (readDirect(fs, file, &buf, 0) == 0) {
+ /* Success - 0-byte read should return 0 */
+ file->flags |= HDFS_FILE_SUPPORTS_DIRECT_READ;
+ } else if (errno != ENOTSUP) {
+ /* Unexpected error. Clear it, don't set the direct flag.*/
+ fprintf(stderr,
+ "hdfsOpenFile(%s): WARN: Unexpected error %d when testing "
+ "for direct read compatibility\n", path, errno);
+ }
+#endif
+ }
+
+ ret = 0;
+
+done:
+ destroyLocalReference(env, jStrBufferSize);
+ destroyLocalReference(env, jStrReplication);
+ destroyLocalReference(env, jConfiguration);
+ destroyLocalReference(env, jPath);
+ destroyLocalReference(env, jFile);
+
+ if (ret) {
+ if (file) {
+ if (file->file) {
+ (*env)->DeleteGlobalRef(env, file->file);
+ }
+ free(file);
+ }
+ errno = ret;
+ return NULL;
+ }
+
+ return file;
+}
+
+int hdfsCloseFile(hdfsFS fs, hdfsFile file)
+{
+ int ret;
+ /* JAVA EQUIVALENT:
+ file.close */
+
+ /* Caught exception */
+ jthrowable jthr;
+ char* mInterface;
+
+ /* Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /* Sanity check */
+ if (!file || file->type == UNINITIALIZED) {
+ errno = EBADF;
+ return -1;
+ }
+
+ /* The interface whose 'close' method to be called */
+ if (file->type == TYPEIN)
+ mInterface = HADOOP_ISTRM;
+ else
+ mInterface = HADOOP_OSTRM;
+
+ jthr = invokeMethod(env, NULL, INSTANCE, file->file,
+ mInterface,
+ "close", "()V");
+ if (jthr) {
+ const char *interfaceShortName = (file->type == TYPEIN) ?
+ "FSDataInputStream" : "FSDataOutputStream";
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "%s#close", interfaceShortName);
+ } else {
+ ret = 0;
+ }
+
+ /*De-allocate memory */
+ (*env)->DeleteGlobalRef(env, file->file);
+ free(file);
+
+ if (ret) {
+ errno = ret;
+ return -1;
+ }
+
+ return 0;
+
+}
+
+int hdfsExists(hdfsFS fs, const char *path)
+{
+
+ jobject jPath;
+ jvalue jVal;
+ jobject jFS = (jobject)fs;
+ jthrowable jthr;
+
+ JNIEnv *env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ if (path == NULL) {
+ errno = EINVAL;
+ return -1;
+ }
+
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsExists: constructNewObjectOfPath");
+ return -1;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ "exists", JMETHOD1(JPARAM(HADOOP_PATH), "Z"), jPath);
+ destroyLocalReference(env, jPath);
+
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsExists: invokeMethod(%s)",
+ JMETHOD1(JPARAM(HADOOP_PATH), "Z"));
+ return -1;
+ }
+
+ if (jVal.z) {
+ return 0;
+ } else {
+ errno = ENOENT;
+ return -1;
+ }
+
+}
+
+/* Checks input file for readiness for reading. */
+static int readPrepare(JNIEnv* env, hdfsFS fs, hdfsFile f,
+ jobject* jInputStream)
+{
+
+ *jInputStream = (jobject)(f ? f->file : NULL);
+
+ /*Sanity check */
+ if (!f || f->type == UNINITIALIZED) {
+ errno = EBADF;
+ return -1;
+ }
+
+ /*Error checking... make sure that this file is 'readable' */
+ if (f->type != TYPEIN) {
+ fprintf(stderr, "Cannot read from a non-InputStream object!\n");
+ errno = EINVAL;
+ return -1;
+ }
+
+ return 0;
+}
+
+tSize hdfsRead(hdfsFS fs, hdfsFile f, void* buffer, tSize length)
+{
+
+ JNIEnv* env;
+ jobject jInputStream;
+ jbyteArray jbRarray;
+ jint noReadBytes = length;
+ jvalue jVal;
+ jthrowable jthr;
+
+ if (length == 0) {
+ return 0;
+ } else if (length < 0) {
+ fprintf(stderr, "hdfsRead: trying to read negative length of %d\n", length);
+ errno = EINVAL;
+ return -1;
+ }
+ if (f->flags & HDFS_FILE_SUPPORTS_DIRECT_READ) {
+ return readDirect(fs, f, buffer, length);
+ }
+
+ /* JAVA EQUIVALENT:
+ byte [] bR = new byte[length];
+ fis.read(bR); */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /*Parameters */
+ if (readPrepare(env, fs, f, &jInputStream) == -1) {
+ return -1;
+ }
+
+ /*Read the requisite bytes */
+ jbRarray = (*env)->NewByteArray(env, length);
+ if (!jbRarray) {
+ errno = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsRead: NewByteArray");
+ return -1;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jInputStream, HADOOP_ISTRM,
+ "read", "([B)I", jbRarray);
+ if (jthr) {
+ destroyLocalReference(env, jbRarray);
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsRead: FSDataInputStream#read");
+ return -1;
+ }
+
+ if (jVal.i < 0) {
+ /* EOF */
+ destroyLocalReference(env, jbRarray);
+ return 0;
+ } else if (jVal.i == 0) {
+ destroyLocalReference(env, jbRarray);
+ errno = EINTR;
+ return -1;
+ }
+
+ (*env)->GetByteArrayRegion(env, jbRarray, 0, noReadBytes, buffer);
+ destroyLocalReference(env, jbRarray);
+
+ if ((*env)->ExceptionCheck(env)) {
+ errno = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsRead: GetByteArrayRegion");
+ return -1;
+ }
+
+ return jVal.i;
+}
+
+/* Reads using the read(ByteBuffer) API, which does fewer copies */
+tSize readDirect(hdfsFS fs, hdfsFile f, void* buffer, tSize length)
+{
+ /* JAVA EQUIVALENT:
+ ByteBuffer bbuffer = ByteBuffer.allocateDirect(length) // wraps C buffer
+ fis.read(bbuffer); */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ jobject jInputStream;
+ JNIEnv* env = getJNIEnv();
+ jvalue jVal;
+ jthrowable jthr;
+ jobject bb;
+
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ if (readPrepare(env, fs, f, &jInputStream) == -1) {
+ return -1;
+ }
+
+ /*Read the requisite bytes */
+ bb = (*env)->NewDirectByteBuffer(env, buffer, length);
+ if (bb == NULL) {
+ errno = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "readDirect: NewDirectByteBuffer");
+ return -1;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jInputStream,
+ HADOOP_ISTRM, "read", "(Ljava/nio/ByteBuffer;)I", bb);
+ destroyLocalReference(env, bb);
+
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "readDirect: FSDataInputStream#read");
+ return -1;
+ }
+
+ return (jVal.i < 0) ? 0 : jVal.i;
+}
+
+tSize hdfsPread(hdfsFS fs, hdfsFile f, tOffset position,
+ void* buffer, tSize length)
+{
+ JNIEnv* env;
+ jbyteArray jbRarray;
+ jvalue jVal;
+ jthrowable jthr;
+
+ if (length == 0) {
+ return 0;
+ } else if (length < 0) {
+ errno = EINVAL;
+ return -1;
+ }
+
+ if (!f || f->type == UNINITIALIZED) {
+ errno = EBADF;
+ return -1;
+ }
+
+ env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /*Error checking... make sure that this file is 'readable' */
+ if (f->type != TYPEIN) {
+ fprintf(stderr, "Cannot read from a non-InputStream object!\n");
+ errno = EINVAL;
+ return -1;
+ }
+
+ /* JAVA EQUIVALENT:
+ byte [] bR = new byte[length];
+ fis.read(pos, bR, 0, length); */
+ jbRarray = (*env)->NewByteArray(env, length);
+ if (!jbRarray) {
+ errno = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsPread: NewByteArray");
+ return -1;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, f->file, HADOOP_ISTRM,
+ "read", "(J[BII)I", position, jbRarray, 0, length);
+ if (jthr) {
+ destroyLocalReference(env, jbRarray);
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsPread: FSDataInputStream#read");
+ return -1;
+ }
+
+ if (jVal.i < 0) {
+ /* EOF */
+ destroyLocalReference(env, jbRarray);
+ return 0;
+ } else if (jVal.i == 0) {
+ destroyLocalReference(env, jbRarray);
+ errno = EINTR;
+ return -1;
+ }
+
+ (*env)->GetByteArrayRegion(env, jbRarray, 0, jVal.i, buffer);
+ destroyLocalReference(env, jbRarray);
+
+ if ((*env)->ExceptionCheck(env)) {
+ errno = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsPread: GetByteArrayRegion");
+ return -1;
+ }
+
+ return jVal.i;
+
+}
+
+tSize hdfsWrite(hdfsFS fs, hdfsFile f, const void* buffer, tSize length)
+{
+ /* JAVA EQUIVALENT
+ byte b[] = str.getBytes();
+ fso.write(b); */
+
+ jobject jOutputStream = f->file;
+ jbyteArray jbWarray;
+ jthrowable jthr;
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /*Sanity check */
+ if (!f || f->type == UNINITIALIZED) {
+ errno = EBADF;
+ return -1;
+ }
+
+ if (length < 0) {
+ errno = EINVAL;
+ return -1;
+ }
+
+ /*Error checking... make sure that this file is 'writable' */
+ if (f->type != TYPEOUT) {
+ fprintf(stderr, "Cannot write into a non-OutputStream object!\n");
+ errno = EINVAL;
+ return -1;
+ }
+
+ if (length < 0) {
+ errno = EINVAL;
+ return -1;
+ }
+ if (length == 0) {
+ return 0;
+ }
+
+ /*Write the requisite bytes into the file */
+ jbWarray = (*env)->NewByteArray(env, length);
+ if (!jbWarray) {
+ errno = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsWrite: NewByteArray");
+ return -1;
+ }
+
+ (*env)->SetByteArrayRegion(env, jbWarray, 0, length, buffer);
+ if ((*env)->ExceptionCheck(env)) {
+ destroyLocalReference(env, jbWarray);
+ errno = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsWrite(length = %d): SetByteArrayRegion", length);
+ return -1;
+ }
+
+ jthr = invokeMethod(env, NULL, INSTANCE, jOutputStream,
+ HADOOP_OSTRM, "write", "([B)V", jbWarray);
+ destroyLocalReference(env, jbWarray);
+
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsWrite: FSDataOutputStream#write");
+ return -1;
+ }
+
+ /* Unlike most Java streams, FSDataOutputStream never does partial writes.
+ If we succeeded, all the data was written. */
+ return length;
+
+}
+
+int hdfsSeek(hdfsFS fs, hdfsFile f, tOffset desiredPos)
+{
+ /* JAVA EQUIVALENT
+ fis.seek(pos); */
+ jobject jInputStream = f->file;
+ jthrowable jthr;
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /*Sanity check */
+ if (!f || f->type != TYPEIN) {
+ errno = EBADF;
+ return -1;
+ }
+
+ jthr = invokeMethod(env, NULL, INSTANCE, jInputStream,
+ HADOOP_ISTRM, "seek", "(J)V", desiredPos);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsSeek(desiredPos=%" PRId64 ")"
+ ": FSDataInputStream#seek", desiredPos);
+ return -1;
+ }
+
+ return 0;
+}
+
+
+
+tOffset hdfsTell(hdfsFS fs, hdfsFile f)
+{
+ /* JAVA EQUIVALENT
+ pos = f.getPos(); */
+
+ jobject jStream = f->file;
+ char* mInterface;
+ jvalue jVal;
+ jthrowable jthr;
+
+ /* Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /* Sanity check */
+ if (!f || f->type == UNINITIALIZED) {
+ errno = EBADF;
+ return -1;
+ }
+
+ /* The interface whose 'close' method to be called */
+ if (f->type == TYPEIN)
+ mInterface = HADOOP_ISTRM;
+ else
+ mInterface = HADOOP_OSTRM;
+
+ /* Parameters */
+ jthr = invokeMethod(env, &jVal, INSTANCE, jStream,
+ mInterface, "getPos", "()J");
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsTell: %s#getPos",
+ ((f->type == TYPEIN) ? "FSDataInputStream" :
+ "FSDataOutputStream"));
+ return -1;
+ }
+
+ return jVal.j;
+
+}
+
+int hdfsFlush(hdfsFS fs, hdfsFile f)
+{
+ /* JAVA EQUIVALENT
+ fos.flush(); */
+
+ jthrowable jthr;
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /*Sanity check */
+ if (!f || f->type != TYPEOUT) {
+ errno = EBADF;
+ return -1;
+ }
+
+ jthr = invokeMethod(env, NULL, INSTANCE, f->file,
+ HADOOP_OSTRM, "flush", "()V");
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsFlush: FSDataInputStream#flush");
+ return -1;
+ }
+
+ return 0;
+}
+
+int hdfsHFlush(hdfsFS fs, hdfsFile f)
+{
+
+ jobject jOutputStream = f->file;
+ jthrowable jthr;
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /*Sanity check */
+ if (!f || f->type != TYPEOUT) {
+ errno = EBADF;
+ return -1;
+ }
+
+ jthr = invokeMethod(env, NULL, INSTANCE, jOutputStream,
+ HADOOP_OSTRM, "hflush", "()V");
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsHFlush: FSDataOutputStream#hflush");
+ return -1;
+ }
+
+ return 0;
+}
+
+int hdfsHSync(hdfsFS fs, hdfsFile f)
+{
+
+ jobject jOutputStream = f->file;
+ jthrowable jthr;
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /*Sanity check */
+ if (!f || f->type != TYPEOUT) {
+ errno = EBADF;
+ return -1;
+ }
+
+ jthr = invokeMethod(env, NULL, INSTANCE, jOutputStream,
+ HADOOP_OSTRM, "hsync", "()V");
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsHSync: FSDataOutputStream#hsync");
+ return -1;
+ }
+
+ return 0;
+
+}
+
+int hdfsAvailable(hdfsFS fs, hdfsFile f)
+{
+ /* JAVA EQUIVALENT
+ fis.available(); */
+
+ jobject jInputStream = f->file;
+ jvalue jVal;
+ jthrowable jthr;
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /*Sanity check */
+ if (!f || f->type != TYPEIN) {
+ errno = EBADF;
+ return -1;
+ }
+
+ /*Parameters */
+ jthr = invokeMethod(env, &jVal, INSTANCE, jInputStream,
+ HADOOP_ISTRM, "available", "()I");
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsAvailable: FSDataInputStream#available");
+ return -1;
+ }
+
+ return jVal.i;
+}
+
+static int hdfsCopyImpl(hdfsFS srcFS, const char* src, hdfsFS dstFS,
+ const char* dst, jboolean deleteSource)
+{
+
+
+ /*Parameters */
+ jobject jSrcFS = (jobject)srcFS;
+ jobject jDstFS = (jobject)dstFS;
+ jobject jConfiguration = NULL, jSrcPath = NULL, jDstPath = NULL;
+ jthrowable jthr;
+ jvalue jVal;
+ int ret;
+
+ /*JAVA EQUIVALENT
+ FileUtil#copy(srcFS, srcPath, dstFS, dstPath,
+ deleteSource = false, conf) */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ jthr = constructNewObjectOfPath(env, src, &jSrcPath);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsCopyImpl(src=%s): constructNewObjectOfPath", src);
+ goto done;
+ }
+
+ jthr = constructNewObjectOfPath(env, dst, &jDstPath);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsCopyImpl(dst=%s): constructNewObjectOfPath", dst);
+ goto done;
+ }
+
+ /*Create the org.apache.hadoop.conf.Configuration object */
+ jthr = constructNewObjectOfClass(env, &jConfiguration,
+ HADOOP_CONF, "()V");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsCopyImpl: Configuration constructor");
+ goto done;
+ }
+
+ /*FileUtil#copy */
+ jthr = invokeMethod(env, &jVal, STATIC,
+ NULL, "org/apache/hadoop/fs/FileUtil", "copy",
+ "(Lorg/apache/hadoop/fs/FileSystem;Lorg/apache/hadoop/fs/Path;"
+ "Lorg/apache/hadoop/fs/FileSystem;Lorg/apache/hadoop/fs/Path;"
+ "ZLorg/apache/hadoop/conf/Configuration;)Z",
+ jSrcFS, jSrcPath, jDstFS, jDstPath, deleteSource,
+ jConfiguration);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsCopyImpl(src=%s, dst=%s, deleteSource=%d): "
+ "FileUtil#copy", src, dst, deleteSource);
+ goto done;
+ }
+
+ if (!jVal.z) {
+ ret = EIO;
+ goto done;
+ }
+
+ ret = 0;
+
+done:
+ destroyLocalReference(env, jConfiguration);
+ destroyLocalReference(env, jSrcPath);
+ destroyLocalReference(env, jDstPath);
+
+ if (ret) {
+ errno = ret;
+ return -1;
+ }
+
+ return 0;
+}
+
+int hdfsCopy(hdfsFS srcFS, const char* src, hdfsFS dstFS, const char* dst)
+{
+ return hdfsCopyImpl(srcFS, src, dstFS, dst, 0);
+}
+
+int hdfsMove(hdfsFS srcFS, const char* src, hdfsFS dstFS, const char* dst)
+{
+ return hdfsCopyImpl(srcFS, src, dstFS, dst, 1);
+}
+
+int hdfsDelete(hdfsFS fs, const char* path, int recursive)
+{
+
+ jobject jFS = (jobject)fs;
+ jthrowable jthr;
+ jobject jPath;
+ jvalue jVal;
+ jboolean jRecursive = recursive ? JNI_TRUE : JNI_FALSE;
+
+ /* JAVA EQUIVALENT:
+ Path p = new Path(path);
+ bool retval = fs.delete(p, recursive); */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsDelete(path=%s): constructNewObjectOfPath", path);
+ return -1;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ "delete", "(Lorg/apache/hadoop/fs/Path;Z)Z",
+ jPath, jRecursive);
+ destroyLocalReference(env, jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsDelete(path=%s, recursive=%d): "
+ "FileSystem#delete", path, recursive);
+ return -1;
+ }
+
+ if (!jVal.z) {
+ errno = EIO;
+ return -1;
+ }
+
+ return 0;
+}
+
+
+
+int hdfsRename(hdfsFS fs, const char* oldPath, const char* newPath)
+{
+
+ jobject jFS = (jobject)fs;
+ jthrowable jthr;
+ jobject jOldPath = NULL, jNewPath = NULL;
+ int ret = -1;
+ jvalue jVal;
+
+ /* JAVA EQUIVALENT:
+ Path old = new Path(oldPath);
+ Path new = new Path(newPath);
+ fs.rename(old, new); */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ jthr = constructNewObjectOfPath(env, oldPath, &jOldPath );
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsRename: constructNewObjectOfPath(%s)", oldPath);
+ goto done;
+ }
+
+ jthr = constructNewObjectOfPath(env, newPath, &jNewPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsRename: constructNewObjectOfPath(%s)", newPath);
+ goto done;
+ }
+
+ /* Rename the file
+ TODO: use rename2 here? (See HDFS-3592) */
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS, "rename",
+ JMETHOD2(JPARAM(HADOOP_PATH), JPARAM(HADOOP_PATH), "Z"),
+ jOldPath, jNewPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsRename(oldPath=%s, newPath=%s): FileSystem#rename",
+ oldPath, newPath);
+ goto done;
+ }
+
+ if (!jVal.z) {
+ errno = EIO;
+ goto done;
+ }
+
+ ret = 0;
+
+done:
+ destroyLocalReference(env, jOldPath);
+ destroyLocalReference(env, jNewPath);
+ return ret;
+}
+
+
+
+char* hdfsGetWorkingDirectory(hdfsFS fs, char* buffer, size_t bufferSize)
+{
+
+ jobject jPath = NULL;
+ jstring jPathString = NULL;
+ jobject jFS = (jobject)fs;
+ jvalue jVal;
+ jthrowable jthr;
+ int ret;
+ const char *jPathChars = NULL;
+
+ /* JAVA EQUIVALENT:
+ Path p = fs.getWorkingDirectory();
+ return p.toString() */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return NULL;
+ }
+
+ /*FileSystem#getWorkingDirectory() */
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS,
+ HADOOP_FS, "getWorkingDirectory",
+ "()Lorg/apache/hadoop/fs/Path;");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetWorkingDirectory: FileSystem#getWorkingDirectory");
+ goto done;
+ }
+
+ jPath = jVal.l;
+ if (!jPath) {
+ fprintf(stderr, "hdfsGetWorkingDirectory: "
+ "FileSystem#getWorkingDirectory returned NULL");
+ ret = -EIO;
+ goto done;
+ }
+
+ /*Path#toString() */
+ jthr = invokeMethod(env, &jVal, INSTANCE, jPath,
+ "org/apache/hadoop/fs/Path", "toString",
+ "()Ljava/lang/String;");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetWorkingDirectory: Path#toString");
+ goto done;
+ }
+
+ jPathString = jVal.l;
+ jPathChars = (*env)->GetStringUTFChars(env, jPathString, NULL);
+ if (!jPathChars) {
+ ret = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsGetWorkingDirectory: GetStringUTFChars");
+ goto done;
+ }
+
+ /*Copy to user-provided buffer */
+ /* ret = snprintf(buffer, bufferSize, "%s", jPathChars); */
+ ret = sprintf_s (buffer, bufferSize, "%s", jPathChars);
+ if (ret >= bufferSize) {
+ ret = ENAMETOOLONG;
+ goto done;
+ }
+
+ ret = 0;
+
+done:
+ if (jPathChars) {
+ (*env)->ReleaseStringUTFChars(env, jPathString, jPathChars);
+ }
+ destroyLocalReference(env, jPath);
+ destroyLocalReference(env, jPathString);
+
+ if (ret) {
+ errno = ret;
+ return NULL;
+ }
+
+ return buffer;
+}
+
+
+
+int hdfsSetWorkingDirectory(hdfsFS fs, const char* path)
+{
+
+ jobject jFS = (jobject)fs;
+ jthrowable jthr;
+ jobject jPath;
+
+ /* JAVA EQUIVALENT:
+ fs.setWorkingDirectory(Path(path)); */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /*Create an object of org.apache.hadoop.fs.Path */
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsSetWorkingDirectory(%s): constructNewObjectOfPath",
+ path);
+ return -1;
+ }
+
+ /*FileSystem#setWorkingDirectory() */
+ jthr = invokeMethod(env, NULL, INSTANCE, jFS, HADOOP_FS,
+ "setWorkingDirectory",
+ "(Lorg/apache/hadoop/fs/Path;)V", jPath);
+ destroyLocalReference(env, jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, NOPRINT_EXC_ILLEGAL_ARGUMENT,
+ "hdfsSetWorkingDirectory(%s): FileSystem#setWorkingDirectory",
+ path);
+ return -1;
+ }
+
+ return 0;
+}
+
+
+
+int hdfsCreateDirectory(hdfsFS fs, const char* path)
+{
+
+ jobject jFS = (jobject)fs;
+ jobject jPath;
+ jthrowable jthr;
+ jvalue jVal;
+
+ /* JAVA EQUIVALENT:
+ fs.mkdirs(new Path(path)); */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /*Create an object of org.apache.hadoop.fs.Path */
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsCreateDirectory(%s): constructNewObjectOfPath", path);
+ return -1;
+ }
+
+ /*Create the directory */
+ jVal.z = 0;
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ "mkdirs", "(Lorg/apache/hadoop/fs/Path;)Z",
+ jPath);
+ destroyLocalReference(env, jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr,
+ NOPRINT_EXC_ACCESS_CONTROL | NOPRINT_EXC_FILE_NOT_FOUND |
+ NOPRINT_EXC_UNRESOLVED_LINK | NOPRINT_EXC_PARENT_NOT_DIRECTORY,
+ "hdfsCreateDirectory(%s): FileSystem#mkdirs", path);
+ return -1;
+ }
+
+ if (!jVal.z) {
+ /* It's unclear under exactly which conditions FileSystem#mkdirs */
+ /* is supposed to return false (as opposed to throwing an exception.) */
+ /* It seems like the current code never actually returns false.
+ So we're going to translate this to EIO, since there seems to be
+ nothing more specific we can do with it. */
+ errno = EIO;
+ return -1;
+ }
+
+ return 0;
+}
+
+
+int hdfsSetReplication(hdfsFS fs, const char* path, int16_t replication)
+{
+
+ jobject jFS = (jobject)fs;
+ jthrowable jthr;
+ jvalue jVal;
+
+ /*Create an object of org.apache.hadoop.fs.Path */
+ jobject jPath;
+
+ /* JAVA EQUIVALENT:
+ fs.setReplication(new Path(path), replication); */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsSetReplication(path=%s): constructNewObjectOfPath", path);
+ return -1;
+ }
+
+ /*Create the directory */
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ "setReplication", "(Lorg/apache/hadoop/fs/Path;S)Z",
+ jPath, replication);
+ destroyLocalReference(env, jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsSetReplication(path=%s, replication=%d): "
+ "FileSystem#setReplication", path, replication);
+ return -1;
+ }
+
+ if (!jVal.z) {
+ /* setReplication returns false "if file does not exist or is a
+ directory." So the nearest translation to that is ENOENT. */
+ errno = ENOENT;
+ return -1;
+ }
+
+ return 0;
+}
+
+int hdfsChown(hdfsFS fs, const char* path, const char *owner, const char *group)
+{
+
+ jobject jFS = (jobject)fs;
+ jobject jPath = NULL;
+ jstring jOwner = NULL, jGroup = NULL;
+ jthrowable jthr;
+ int ret;
+
+ /* JAVA EQUIVALENT:
+ fs.setOwner(path, owner, group) */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ if (owner == NULL && group == NULL) {
+ return 0;
+ }
+
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsChown(path=%s): constructNewObjectOfPath", path);
+ goto done;
+ }
+
+ jthr = newJavaStr(env, owner, &jOwner);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsChown(path=%s): newJavaStr(%s)", path, owner);
+ goto done;
+ }
+
+ jthr = newJavaStr(env, group, &jGroup);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsChown(path=%s): newJavaStr(%s)", path, group);
+ goto done;
+ }
+
+ /*Create the directory */
+ jthr = invokeMethod(env, NULL, INSTANCE, jFS, HADOOP_FS,
+ "setOwner", JMETHOD3(JPARAM(HADOOP_PATH),
+ JPARAM(JAVA_STRING), JPARAM(JAVA_STRING), JAVA_VOID),
+ jPath, jOwner, jGroup);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr,
+ NOPRINT_EXC_ACCESS_CONTROL | NOPRINT_EXC_FILE_NOT_FOUND |
+ NOPRINT_EXC_UNRESOLVED_LINK,
+ "hdfsChown(path=%s, owner=%s, group=%s): "
+ "FileSystem#setOwner", path, owner, group);
+ goto done;
+ }
+
+ ret = 0;
+
+done:
+ destroyLocalReference(env, jPath);
+ destroyLocalReference(env, jOwner);
+ destroyLocalReference(env, jGroup);
+
+ if (ret) {
+ errno = ret;
+ return -1;
+ }
+
+ return 0;
+}
+
+int hdfsChmod(hdfsFS fs, const char* path, short mode)
+{
+ int ret;
+
+ jthrowable jthr;
+ jobject jPath = NULL, jPermObj = NULL;
+ jobject jFS = (jobject)fs;
+
+ /* construct jPerm = FsPermission.createImmutable(short mode);*/
+ jshort jmode = mode;
+
+ /* JAVA EQUIVALENT:
+ fs.setPermission(path, FsPermission) */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ jthr = constructNewObjectOfClass(env, &jPermObj,
+ HADOOP_FSPERM,"(S)V",jmode);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "constructNewObjectOfClass(%s)", HADOOP_FSPERM);
+ return -1;
+ }
+
+ /*Create an object of org.apache.hadoop.fs.Path */
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsChmod(%s): constructNewObjectOfPath", path);
+ goto done;
+ }
+
+ /*Create the directory */
+ jthr = invokeMethod(env, NULL, INSTANCE, jFS, HADOOP_FS,
+ "setPermission",
+ JMETHOD2(JPARAM(HADOOP_PATH), JPARAM(HADOOP_FSPERM), JAVA_VOID),
+ jPath, jPermObj);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr,
+ NOPRINT_EXC_ACCESS_CONTROL | NOPRINT_EXC_FILE_NOT_FOUND |
+ NOPRINT_EXC_UNRESOLVED_LINK,
+ "hdfsChmod(%s): FileSystem#setPermission", path);
+ goto done;
+ }
+
+ ret = 0;
+
+done:
+ destroyLocalReference(env, jPath);
+ destroyLocalReference(env, jPermObj);
+
+ if (ret) {
+ errno = ret;
+ return -1;
+ }
+
+ return 0;
+}
+
+int hdfsUtime(hdfsFS fs, const char* path, tTime mtime, tTime atime)
+{
+
+ /* JAVA EQUIVALENT:
+ fs.setTimes(src, mtime, atime) */
+ jthrowable jthr;
+ jobject jFS = (jobject)fs;
+ jobject jPath;
+ const tTime NO_CHANGE = -1;
+ jlong jmtime = (mtime == NO_CHANGE) ? -1 : (mtime * (jlong)1000);
+ jlong jatime = (atime == NO_CHANGE) ? -1 : (atime * (jlong)1000);
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ /*Create an object of org.apache.hadoop.fs.Path */
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsUtime(path=%s): constructNewObjectOfPath", path);
+ return -1;
+ }
+
+ jthr = invokeMethod(env, NULL, INSTANCE, jFS, HADOOP_FS,
+ "setTimes", JMETHOD3(JPARAM(HADOOP_PATH), "J", "J", JAVA_VOID),
+ jPath, jmtime, jatime);
+ destroyLocalReference(env, jPath);
+
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr,
+ NOPRINT_EXC_ACCESS_CONTROL | NOPRINT_EXC_FILE_NOT_FOUND |
+ NOPRINT_EXC_UNRESOLVED_LINK,
+ "hdfsUtime(path=%s): FileSystem#setTimes", path);
+ return -1;
+ }
+
+ return 0;
+}
+
+char***
+hdfsGetHosts(hdfsFS fs, const char* path, tOffset start, tOffset length)
+{
+ /* JAVA EQUIVALENT:
+ fs.getFileBlockLoctions(new Path(path), start, length); */
+ jthrowable jthr;
+ jobject jPath = NULL;
+ jobject jFileStatus = NULL;
+ jvalue jFSVal, jVal;
+ jobjectArray jBlockLocations = NULL, jFileBlockHosts = NULL;
+ jstring jHost = NULL;
+ char*** blockHosts = NULL;
+ int i, j, ret;
+ jsize jNumFileBlocks = 0;
+ jobject jFS = (jobject)fs;
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return NULL;
+ }
+
+ /*Create an object of org.apache.hadoop.fs.Path */
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetHosts(path=%s): constructNewObjectOfPath", path);
+ goto done;
+ }
+
+ jthr = invokeMethod(env, &jFSVal, INSTANCE, jFS,
+ HADOOP_FS, "getFileStatus", "(Lorg/apache/hadoop/fs/Path;)"
+ "Lorg/apache/hadoop/fs/FileStatus;", jPath);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, NOPRINT_EXC_FILE_NOT_FOUND,
+ "hdfsGetHosts(path=%s, start=%"PRId64", length=%"PRId64"):"
+ "FileSystem#getFileStatus", path, start, length);
+ destroyLocalReference(env, jPath);
+ goto done;
+ }
+
+ jFileStatus = jFSVal.l;
+
+ /*org.apache.hadoop.fs.FileSystem#getFileBlockLocations */
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS,
+ HADOOP_FS, "getFileBlockLocations",
+ "(Lorg/apache/hadoop/fs/FileStatus;JJ)"
+ "[Lorg/apache/hadoop/fs/BlockLocation;",
+ jFileStatus, start, length);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetHosts(path=%s, start=%"PRId64", length=%"PRId64"):"
+ "FileSystem#getFileBlockLocations", path, start, length);
+ goto done;
+ }
+
+ jBlockLocations = jVal.l;
+
+ /*Figure out no of entries in jBlockLocations
+ Allocate memory and add NULL at the end */
+ jNumFileBlocks = (*env)->GetArrayLength(env, jBlockLocations);
+
+ blockHosts = calloc(jNumFileBlocks + 1, sizeof(char**));
+ if (blockHosts == NULL) {
+ ret = ENOMEM;
+ goto done;
+ }
+ if (jNumFileBlocks == 0) {
+ ret = 0;
+ goto done;
+ }
+
+ /*Now parse each block to get hostnames */
+ for (i = 0; i < jNumFileBlocks; ++i) {
+
+ jsize jNumBlockHosts;
+ const char *hostName;
+ jobject jFileBlock =
+ (*env)->GetObjectArrayElement(env, jBlockLocations, i);
+
+ if (!jFileBlock) {
+ ret = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsGetHosts(path=%s, start=%"PRId64", length=%"PRId64"):"
+ "GetObjectArrayElement(%d)", path, start, length, i);
+ goto done;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFileBlock, HADOOP_BLK_LOC,
+ "getHosts", "()[Ljava/lang/String;");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetHosts(path=%s, start=%"PRId64", length=%"PRId64"):"
+ "BlockLocation#getHosts", path, start, length);
+ goto done;
+ }
+
+ jFileBlockHosts = jVal.l;
+ if (!jFileBlockHosts) {
+ fprintf(stderr,
+ "hdfsGetHosts(path=%s, start=%"PRId64", length=%"PRId64"):"
+ "BlockLocation#getHosts returned NULL", path, start, length);
+ ret = EINTERNAL;
+ goto done;
+ }
+
+ /*Figure out no of hosts in jFileBlockHosts, and allocate the memory */
+ jNumBlockHosts = (*env)->GetArrayLength(env, jFileBlockHosts);
+ blockHosts[i] = calloc(jNumBlockHosts + 1, sizeof(char*));
+ if (!blockHosts[i]) {
+ ret = ENOMEM;
+ goto done;
+ }
+
+ /*Now parse each hostname */
+ for (j = 0; j < jNumBlockHosts; ++j) {
+
+ jHost = (*env)->GetObjectArrayElement(env, jFileBlockHosts, j);
+ if (!jHost) {
+ ret = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsGetHosts(path=%s, start=%"PRId64", length=%"PRId64"): "
+ "NewByteArray", path, start, length);
+ goto done;
+ }
+
+ hostName =
+ (const char*)((*env)->GetStringUTFChars(env, jHost, NULL));
+
+ if (!hostName) {
+ ret = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsGetHosts(path=%s, start=%"PRId64", length=%"PRId64", "
+ "j=%d out of %d): GetStringUTFChars",
+ path, start, length, j, jNumBlockHosts);
+ goto done;
+ }
+
+ blockHosts[i][j] = _strdup(hostName);
+ (*env)->ReleaseStringUTFChars(env, jHost, hostName);
+
+ if (!blockHosts[i][j]) {
+ ret = ENOMEM;
+ goto done;
+ }
+
+ destroyLocalReference(env, jHost);
+ jHost = NULL;
+
+ } /*end host name loop */
+
+ destroyLocalReference(env, jFileBlockHosts);
+ jFileBlockHosts = NULL;
+
+ } /*end block loop */
+
+ ret = 0;
+
+done:
+ destroyLocalReference(env, jPath);
+ destroyLocalReference(env, jFileStatus);
+ destroyLocalReference(env, jBlockLocations);
+ destroyLocalReference(env, jFileBlockHosts);
+ destroyLocalReference(env, jHost);
+ if (ret) {
+ if (blockHosts) {
+ hdfsFreeHosts(blockHosts);
+ }
+ return NULL;
+ }
+
+ return blockHosts;
+}
+
+
+void hdfsFreeHosts(char ***blockHosts)
+{
+ int i, j;
+
+ for (i=0; blockHosts[i]; i++) {
+ for (j=0; blockHosts[i][j]; j++) {
+ free(blockHosts[i][j]);
+ }
+ free(blockHosts[i]);
+ }
+
+ free(blockHosts);
+}
+
+
+tOffset hdfsGetDefaultBlockSize(hdfsFS fs)
+{
+
+ jobject jFS = (jobject)fs;
+
+ /*FileSystem#getDefaultBlockSize() */
+ jvalue jVal;
+ jthrowable jthr;
+
+ /* JAVA EQUIVALENT:
+ fs.getDefaultBlockSize(); */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ "getDefaultBlockSize", "()J");
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetDefaultBlockSize: FileSystem#getDefaultBlockSize");
+ return -1;
+ }
+
+ return jVal.j;
+}
+
+
+tOffset hdfsGetDefaultBlockSizeAtPath(hdfsFS fs, const char *path)
+{
+ /* JAVA EQUIVALENT:
+ fs.getDefaultBlockSize(path); */
+
+ jthrowable jthr;
+ jobject jFS = (jobject)fs;
+ jobject jPath;
+ tOffset blockSize;
+ JNIEnv* env = getJNIEnv();
+
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetDefaultBlockSize(path=%s): constructNewObjectOfPath",
+ path);
+ return -1;
+ }
+
+ jthr = getDefaultBlockSize(env, jFS, jPath, &blockSize);
+ (*env)->DeleteLocalRef(env, jPath);
+
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetDefaultBlockSize(path=%s): "
+ "FileSystem#getDefaultBlockSize", path);
+ return -1;
+ }
+
+ return blockSize;
+}
+
+
+tOffset hdfsGetCapacity(hdfsFS fs)
+{
+
+ jobject jFS = (jobject)fs;
+
+ /*FileSystem#getStatus */
+ jvalue jVal;
+ jthrowable jthr;
+ jobject fss;
+
+ /* JAVA EQUIVALENT:
+ FsStatus fss = fs.getStatus();
+ return Fss.getCapacity(); */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ "getStatus", "()Lorg/apache/hadoop/fs/FsStatus;");
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetCapacity: FileSystem#getStatus");
+ return -1;
+ }
+
+ fss = (jobject)jVal.l;
+ jthr = invokeMethod(env, &jVal, INSTANCE, fss, HADOOP_FSSTATUS,
+ "getCapacity", "()J");
+ destroyLocalReference(env, fss);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetCapacity: FsStatus#getCapacity");
+ return -1;
+ }
+
+ return jVal.j;
+}
+
+
+
+tOffset hdfsGetUsed(hdfsFS fs)
+{
+
+ jobject jFS = (jobject)fs;
+
+ /*FileSystem#getStatus */
+ jvalue jVal;
+ jthrowable jthr;
+ jobject fss;
+
+ /* JAVA EQUIVALENT:
+ FsStatus fss = fs.getStatus();
+ return Fss.getUsed(); */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return -1;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ "getStatus", "()Lorg/apache/hadoop/fs/FsStatus;");
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetUsed: FileSystem#getStatus");
+ return -1;
+ }
+
+ fss = (jobject)jVal.l;
+ jthr = invokeMethod(env, &jVal, INSTANCE, fss, HADOOP_FSSTATUS,
+ "getUsed", "()J");
+ destroyLocalReference(env, fss);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetUsed: FsStatus#getUsed");
+ return -1;
+ }
+
+ return jVal.j;
+}
+
+
+
+static jthrowable
+getFileInfoFromStat(JNIEnv *env, jobject jStat, hdfsFileInfo *fileInfo)
+{
+
+ jvalue jVal;
+ jthrowable jthr;
+ jobject jPath = NULL;
+ jstring jPathName = NULL;
+ jstring jUserName = NULL;
+ jstring jGroupName = NULL;
+ jobject jPermission = NULL;
+
+ const char *cPathName;
+ const char* cUserName;
+ const char* cGroupName;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jStat,
+ HADOOP_STAT, "isDir", "()Z");
+ if (jthr)
+ goto done;
+ fileInfo->mKind = jVal.z ? kObjectKindDirectory : kObjectKindFile;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jStat,
+ HADOOP_STAT, "getReplication", "()S");
+ if (jthr)
+ goto done;
+ fileInfo->mReplication = jVal.s;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jStat,
+ HADOOP_STAT, "getBlockSize", "()J");
+ if (jthr)
+ goto done;
+ fileInfo->mBlockSize = jVal.j;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jStat,
+ HADOOP_STAT, "getModificationTime", "()J");
+ if (jthr)
+ goto done;
+ fileInfo->mLastMod = jVal.j / 1000;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jStat,
+ HADOOP_STAT, "getAccessTime", "()J");
+ if (jthr)
+ goto done;
+ fileInfo->mLastAccess = (tTime) (jVal.j / 1000);
+
+ if (fileInfo->mKind == kObjectKindFile) {
+ jthr = invokeMethod(env, &jVal, INSTANCE, jStat,
+ HADOOP_STAT, "getLen", "()J");
+ if (jthr)
+ goto done;
+ fileInfo->mSize = jVal.j;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jStat, HADOOP_STAT,
+ "getPath", "()Lorg/apache/hadoop/fs/Path;");
+ if (jthr)
+ goto done;
+
+ jPath = jVal.l;
+ if (jPath == NULL) {
+ jthr = newRuntimeError(env, "org.apache.hadoop.fs.FileStatus#"
+ "getPath returned NULL!");
+ goto done;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jPath, HADOOP_PATH,
+ "toString", "()Ljava/lang/String;");
+ if (jthr)
+ goto done;
+ jPathName = jVal.l;
+
+ cPathName =
+ (const char*) ((*env)->GetStringUTFChars(env, jPathName, NULL));
+ if (!cPathName) {
+ jthr = getPendingExceptionAndClear(env);
+ goto done;
+ }
+
+ fileInfo->mName = _strdup(cPathName);
+ (*env)->ReleaseStringUTFChars(env, jPathName, cPathName);
+ jthr = invokeMethod(env, &jVal, INSTANCE, jStat, HADOOP_STAT,
+ "getOwner", "()Ljava/lang/String;");
+ if (jthr)
+ goto done;
+ jUserName = jVal.l;
+
+ cUserName =
+ (const char*) ((*env)->GetStringUTFChars(env, jUserName, NULL));
+ if (!cUserName) {
+ jthr = getPendingExceptionAndClear(env);
+ goto done;
+ }
+ fileInfo->mOwner = _strdup(cUserName);
+ (*env)->ReleaseStringUTFChars(env, jUserName, cUserName);
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jStat, HADOOP_STAT,
+ "getGroup", "()Ljava/lang/String;");
+ if (jthr)
+ goto done;
+ jGroupName = jVal.l;
+ cGroupName = (const char*) ((*env)->GetStringUTFChars(env, jGroupName, NULL));
+ if (!cGroupName) {
+ jthr = getPendingExceptionAndClear(env);
+ goto done;
+ }
+ fileInfo->mGroup = _strdup(cGroupName);
+ (*env)->ReleaseStringUTFChars(env, jGroupName, cGroupName);
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jStat, HADOOP_STAT,
+ "getPermission",
+ "()Lorg/apache/hadoop/fs/permission/FsPermission;");
+ if (jthr)
+ goto done;
+ if (jVal.l == NULL) {
+ jthr = newRuntimeError(env, "%s#getPermission returned NULL!",
+ HADOOP_STAT);
+ goto done;
+ }
+
+ jPermission = jVal.l;
+ jthr = invokeMethod(env, &jVal, INSTANCE, jPermission, HADOOP_FSPERM,
+ "toShort", "()S");
+ if (jthr)
+ goto done;
+
+ fileInfo->mPermissions = jVal.s;
+ jthr = NULL;
+
+done:
+ if (jthr)
+ hdfsFreeFileInfoEntry(fileInfo);
+ destroyLocalReference(env, jPath);
+ destroyLocalReference(env, jPathName);
+ destroyLocalReference(env, jUserName);
+ destroyLocalReference(env, jGroupName);
+ destroyLocalReference(env, jPermission);
+ destroyLocalReference(env, jPath);
+ return jthr;
+}
+
+static jthrowable
+getFileInfo(JNIEnv *env, jobject jFS, jobject jPath, hdfsFileInfo **fileInfo)
+{
+
+ /* JAVA EQUIVALENT:
+ fs.isDirectory(f)
+ fs.getModificationTime()
+ fs.getAccessTime()
+ fs.getLength(f)
+ f.getPath()
+ f.getOwner()
+ f.getGroup()
+ f.getPermission().toShort() */
+ jobject jStat;
+ jvalue jVal;
+ jthrowable jthr;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_FS,
+ "exists", JMETHOD1(JPARAM(HADOOP_PATH), "Z"),
+ jPath);
+ if (jthr)
+ return jthr;
+ if (jVal.z == 0) {
+ *fileInfo = NULL;
+ return NULL;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS,
+ HADOOP_FS, "getFileStatus",
+ JMETHOD1(JPARAM(HADOOP_PATH), JPARAM(HADOOP_STAT)), jPath);
+ if (jthr)
+ return jthr;
+
+ jStat = jVal.l;
+ *fileInfo = calloc(1, sizeof(hdfsFileInfo));
+ if (!*fileInfo) {
+ destroyLocalReference(env, jStat);
+ return newRuntimeError(env, "getFileInfo: OOM allocating hdfsFileInfo");
+ }
+
+ jthr = getFileInfoFromStat(env, jStat, *fileInfo);
+ destroyLocalReference(env, jStat);
+ return jthr;
+}
+
+
+
+hdfsFileInfo* hdfsListDirectory(hdfsFS fs, const char* path, int *numEntries)
+{
+
+ /* JAVA EQUIVALENT:
+ Path p(path);
+ Path []pathList = fs.listPaths(p)
+ foreach path in pathList
+ getFileInfo(path) */
+
+ jthrowable jthr;
+ jobject jPath = NULL;
+ hdfsFileInfo *pathList = NULL;
+ jobjectArray jPathList = NULL;
+ jvalue jVal;
+ jsize jPathListSize = 0;
+ int ret;
+ jobject jFS = (jobject)fs;
+
+ /*Save path information in pathList */
+ jsize i;
+ jobject tmpStat;
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return NULL;
+ }
+
+ /*Create an object of org.apache.hadoop.fs.Path */
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsListDirectory(%s): constructNewObjectOfPath", path);
+ goto done;
+ }
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jFS, HADOOP_DFS, "listStatus",
+ JMETHOD1(JPARAM(HADOOP_PATH), JARRPARAM(HADOOP_STAT)),
+ jPath);
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr,
+ NOPRINT_EXC_ACCESS_CONTROL | NOPRINT_EXC_FILE_NOT_FOUND |
+ NOPRINT_EXC_UNRESOLVED_LINK,
+ "hdfsListDirectory(%s): FileSystem#listStatus", path);
+ goto done;
+ }
+
+ jPathList = jVal.l;
+
+ /*Figure out the number of entries in that directory */
+ jPathListSize = (*env)->GetArrayLength(env, jPathList);
+ if (jPathListSize == 0) {
+ ret = 0;
+ goto done;
+ }
+
+ /*Allocate memory */
+ pathList = calloc(jPathListSize, sizeof(hdfsFileInfo));
+ if (pathList == NULL) {
+ ret = ENOMEM;
+ goto done;
+ }
+
+ for (i=0; i < jPathListSize; ++i) {
+
+ tmpStat = (*env)->GetObjectArrayElement(env, jPathList, i);
+ if (!tmpStat) {
+ ret = printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "hdfsListDirectory(%s): GetObjectArrayElement(%d out of %d)",
+ path, i, jPathListSize);
+ goto done;
+ }
+
+ jthr = getFileInfoFromStat(env, tmpStat, &pathList[i]);
+ destroyLocalReference(env, tmpStat);
+
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsListDirectory(%s): getFileInfoFromStat(%d out of %d)",
+ path, i, jPathListSize);
+ goto done;
+ }
+
+ } /*end path list loop */
+
+ ret = 0;
+
+done:
+ destroyLocalReference(env, jPath);
+ destroyLocalReference(env, jPathList);
+
+ if (ret) {
+ hdfsFreeFileInfo(pathList, jPathListSize);
+ errno = ret;
+ return NULL;
+ }
+ *numEntries = jPathListSize;
+ return pathList;
+}
+
+
+
+hdfsFileInfo *hdfsGetPathInfo(hdfsFS fs, const char* path)
+{
+
+ jobject jFS = (jobject)fs;
+
+ /*Create an object of org.apache.hadoop.fs.Path */
+ jobject jPath;
+ jthrowable jthr;
+ hdfsFileInfo *fileInfo;
+
+ /* JAVA EQUIVALENT:
+ File f(path);
+ fs.isDirectory(f)
+ fs.lastModified() ??
+ fs.getLength(f)
+ f.getPath() */
+
+ /*Get the JNIEnv* corresponding to current thread */
+ JNIEnv* env = getJNIEnv();
+ if (env == NULL) {
+ errno = EINTERNAL;
+ return NULL;
+ }
+
+ jthr = constructNewObjectOfPath(env, path, &jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "hdfsGetPathInfo(%s): constructNewObjectOfPath", path);
+ return NULL;
+ }
+
+ jthr = getFileInfo(env, jFS, jPath, &fileInfo);
+ destroyLocalReference(env, jPath);
+ if (jthr) {
+ errno = printExceptionAndFree(env, jthr,
+ NOPRINT_EXC_ACCESS_CONTROL | NOPRINT_EXC_FILE_NOT_FOUND |
+ NOPRINT_EXC_UNRESOLVED_LINK,
+ "hdfsGetPathInfo(%s): getFileInfo", path);
+ return NULL;
+ }
+
+ if (!fileInfo) {
+ errno = ENOENT;
+ return NULL;
+ }
+
+ return fileInfo;
+}
+
+static void hdfsFreeFileInfoEntry(hdfsFileInfo *hdfsFileInfo)
+{
+ free(hdfsFileInfo->mName);
+ free(hdfsFileInfo->mOwner);
+ free(hdfsFileInfo->mGroup);
+ memset(hdfsFileInfo, 0, sizeof(hdfsFileInfo));
+}
+
+void hdfsFreeFileInfo(hdfsFileInfo *hdfsFileInfo, int numEntries)
+{
+ /*Free the mName, mOwner, and mGroup */
+ int i;
+ for (i=0; i < numEntries; ++i) {
+ hdfsFreeFileInfoEntry(hdfsFileInfo + i);
+ }
+
+ /*Free entire block */
+ free(hdfsFileInfo);
+}
+
+
+/**
+ * vim: ts=4: sw=4: et:
+ */
diff --git a/import/pdclibhdfs/src/jni_helper.c b/import/pdclibhdfs/src/jni_helper.c
new file mode 100755
index 0000000..520a3ae
--- /dev/null
+++ b/import/pdclibhdfs/src/jni_helper.c
@@ -0,0 +1,1181 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define _CRT_SECURE_NO_WARNINGS
+
+/*#include "config.h"*/
+#include "exception.h"
+#include "jni_helper.h"
+
+#include <stdio.h>
+#include <string.h>
+
+#ifdef WIN32
+#include "uthash.h"
+#endif
+
+static void hdfsThreadDestructor(void *v);
+
+/** Pthreads thread-local storage for each library thread. */
+typedef struct HdfsTls {
+ JNIEnv *env;
+} HDFSTLS;
+
+static JavaVM * hdfs_JVM = NULL;
+static short hdfs_InitLib = 0;
+
+#ifndef WIN32
+
+static void* hdfs_dl_handle = NULL;
+
+/*static pthread_rwlock_t hdfs_HashLock;*/
+
+static pthread_mutex_t hdfs_HashMutex = PTHREAD_MUTEX_INITIALIZER;
+static pthread_mutex_t hdfs_JvmMutex = PTHREAD_MUTEX_INITIALIZER;
+
+static int hdfs_hashTableInited = 0;
+
+/* SetUp Control variables */
+static pthread_once_t hdfs_threadInit_Once = PTHREAD_ONCE_INIT;
+static pthread_once_t hdfs_hashTable_Once = PTHREAD_ONCE_INIT;
+
+/** nonzero if we succeeded in initializing gTlsKey */
+static int hdfs_gTlsKeyInitialized = 0;
+
+/** Key that allows us to retrieve thread-local storage */
+static pthread_key_t hdfs_gTlsKey = 0;
+
+#define LOCK_HASH_TABLE() pthread_mutex_lock(&hdfs_HashMutex)
+#define UNLOCK_HASH_TABLE() pthread_mutex_unlock(&hdfs_HashMutex)
+
+#else
+
+typedef struct {
+ const char * key;
+ void * cls;
+ UT_hash_handle hh;
+} HASHITEM, * PHASHITEM;
+
+PHASHITEM hdfs_HashTls = NULL;
+
+static DWORD hdfs_dwTlsIndex1 = 0;
+static HINSTANCE hdfs_hinstLib = 0;
+
+static HANDLE hdfs_JvmMutex = 0;
+static PSRWLOCK hdfs_HashLock = NULL;
+
+#endif
+
+#ifdef WIN32
+#define LOCK_JVM_MUTEX() \
+dwWaitResult = WaitForSingleObject(hdfs_JvmMutex,INFINITE)
+#else
+#define LOCK_JVM_MUTEX() \
+pthread_mutex_lock(&hdfs_JvmMutex)
+#endif
+
+#ifdef WIN32
+#define UNLOCK_JVM_MUTEX() \
+ ReleaseMutex(hdfs_JvmMutex)
+#else
+#define UNLOCK_JVM_MUTEX() \
+ pthread_mutex_unlock(&hdfs_JvmMutex)
+#endif
+
+/** The Native return types that methods could return */
+#define JVOID 'V'
+#define JOBJECT 'L'
+#define JARRAYOBJECT '['
+#define JBOOLEAN 'Z'
+#define JBYTE 'B'
+#define JCHAR 'C'
+#define JSHORT 'S'
+#define JINT 'I'
+#define JLONG 'J'
+#define JFLOAT 'F'
+#define JDOUBLE 'D'
+
+/**
+ * MAX_HASH_TABLE_ELEM: The maximum no. of entries in the hashtable.
+ * It's set to 4096 to account for (classNames + No. of threads)
+ */
+#define MAX_HASH_TABLE_ELEM 4096
+
+#ifndef WIN32
+
+/* Invoked By "pthread_once" to create the thread key */
+static void Make_Thread_Key()
+{
+ int ret = pthread_key_create(&hdfs_gTlsKey, hdfsThreadDestructor);
+ if (ret) {
+ fprintf(stderr, "getJNIEnv: pthread_key_create failed with "
+ "error %d\n", ret);
+ return;
+ }
+ hdfs_gTlsKeyInitialized = 1;
+}
+
+/* Invoked By "pthread_once" to create the Hash Table */
+static void hashTableInit ()
+{
+
+ /* if ( pthread_rwlock_init (&hdfs_HashLock, NULL) != 0 ) {
+ fprintf (stderr, "can't create rwlock for hash table");
+ return;
+ } */
+
+ if ( hcreate(MAX_HASH_TABLE_ELEM) == 0 ) {
+ fprintf ( stderr, "error creating hashtable, <%d>: %s\n",
+ errno, strerror(errno) );
+ return;
+ }
+ hdfs_hashTableInited = 1;
+}
+
+static int insertEntryIntoTable ( const char *key, void *data )
+{
+
+ ENTRY e, *ep = NULL;
+ if (key == NULL || data == NULL) {
+ return 0;
+ }
+
+ pthread_once ( &hdfs_hashTable_Once, hashTableInit );
+ if ( !hdfs_hashTableInited ) {
+ return -1;
+ }
+
+ e.data = data;
+ e.key = (char*) key;
+
+ /* if ( pthread_rwlock_wrlock(&hdfs_HashLock) != 0 ) {
+ fprintf (stderr, "can't get hash table wlock");
+ return -1;
+ } */
+
+ LOCK_HASH_TABLE();
+ ep = hsearch(e, ENTER);
+ UNLOCK_HASH_TABLE();
+
+ /*pthread_rwlock_unlock(&hdfs_HashLock); */
+
+ if (ep == NULL) {
+ fprintf(stderr, "warn adding key (%s) to hash table, <%d>: %s\n",
+ key, errno, strerror(errno));
+ }
+
+ return 0;
+
+}
+
+static void* searchEntryFromTable ( const char *key )
+{
+
+ ENTRY e, *ep = NULL;
+ if (key == NULL) {
+ return NULL;
+ }
+
+ pthread_once ( &hdfs_hashTable_Once, hashTableInit );
+ if ( !hdfs_hashTableInited ) {
+ return NULL;
+ }
+
+ e.key = (char*)key;
+
+ /* if ( pthread_rwlock_rdlock(&hdfs_HashLock) != 0 ) {
+ fprintf (stderr, "can't get hash table rdlock");
+ return NULL;
+ }*/
+
+ LOCK_HASH_TABLE();
+ ep = hsearch(e, FIND);
+ UNLOCK_HASH_TABLE();
+
+ /*pthread_rwlock_unlock(&hdfs_HashLock);*/
+
+ if (ep != NULL) {
+ return ep->data;
+ }
+
+ return NULL;
+
+}
+#else
+
+static int insertEntryIntoTable ( const char *key, void *cls )
+{
+
+ PHASHITEM item = NULL;
+ DWORD dwWaitResult;
+
+ if (key == NULL || cls == NULL) {
+ return 0;
+ }
+
+ item = (PHASHITEM) calloc ( 1, sizeof(HASHITEM) );
+
+ item->key = key;
+ item->cls = cls;
+
+ AcquireSRWLockExclusive ( hdfs_HashLock );
+
+ HASH_ADD_KEYPTR ( hh, hdfs_HashTls, item->key, strlen(item->key), item );
+
+ ReleaseSRWLockExclusive ( hdfs_HashLock );
+
+ return 0;
+
+}
+
+static void* searchEntryFromTable ( const char *key )
+{
+
+ PHASHITEM item = NULL;
+ DWORD dwWaitResult;
+
+ if (key == NULL) {
+ return NULL;
+ }
+
+ AcquireSRWLockShared ( hdfs_HashLock );
+
+ if (!hdfs_HashTls) {
+
+ // char *mykey = "dummy";
+
+ ReleaseSRWLockShared ( hdfs_HashLock );
+
+ /* add dummy entry for testing */
+ // insertEntryIntoTable ( mykey, -1 );
+ // HASH_FIND_STR( hdfs_HashTls, mykey, item);
+ // printf ("Test Hash mykey: %s\n", item->key);
+
+ return NULL;
+
+ }
+
+ HASH_FIND_STR( hdfs_HashTls, key, item);
+
+ ReleaseSRWLockShared ( hdfs_HashLock );
+
+ if (item != NULL) {
+ return item->cls;
+ }
+
+ return NULL;
+
+}
+
+#endif
+
+
+/**
+ * The function that is called whenever a thread with libhdfs thread local data
+ * is destroyed.
+ *
+ * @param v The thread-local data
+ */
+static void hdfsThreadDestructor(void *v)
+{
+ HDFSTLS *tls = v;
+ JavaVM *vm;
+ JNIEnv *env = tls->env;
+ jint ret;
+
+ ret = (*env)->GetJavaVM(env, &vm);
+ if (ret) {
+ fprintf(stderr, "hdfsThreadDestructor: GetJavaVM failed with "
+ "error %d\n", ret);
+ (*env)->ExceptionDescribe(env);
+ } else {
+ (*vm)->DetachCurrentThread(vm);
+ }
+
+ free(tls);
+
+}
+
+#ifdef WIN32
+BOOL WINAPI DllMain (
+ HINSTANCE hinstDLL, // handle to DLL module
+ DWORD fdwReason, // reason for calling function
+ LPVOID lpReserved ) // reserved
+{
+
+ HDFSTLS *tls = NULL;
+
+ // Perform actions based on the reason for calling.
+ switch( fdwReason )
+ {
+ case DLL_PROCESS_ATTACH:
+
+ if ((hdfs_dwTlsIndex1 = TlsAlloc()) == TLS_OUT_OF_INDEXES)
+ return FALSE;
+
+ hdfs_HashLock = (PSRWLOCK) calloc ( 1, sizeof ( SRWLOCK ) );
+ if (!hdfs_HashLock) {
+ fprintf (stderr, " Could not allocate Hash Table Lock\n" );
+ return FALSE;
+ }
+
+ InitializeSRWLock ( hdfs_HashLock );
+
+ hdfs_JvmMutex = CreateMutex (
+ NULL, // default security attributes
+ FALSE, // initially not owned
+ NULL ); // unnamed mutex
+
+ if (hdfs_JvmMutex == NULL)
+ {
+ fprintf (stderr, "Create JVM Mutex error: %d\n", GetLastError() );
+ return FALSE;
+ }
+
+ fprintf (stderr, "dll attached\n" );
+ fprintf (stderr, "dll: tls1=%d\n", hdfs_dwTlsIndex1 );
+
+ // Initialize once for each new process.
+ // Return FALSE to fail DLL load.
+ break;
+
+ case DLL_THREAD_ATTACH:
+
+ // Do thread-specific initialization.
+ fprintf (stderr, "dll: thread attach\n" );
+
+ break;
+
+ case DLL_THREAD_DETACH:
+
+ // Do thread-specific cleanup.
+ fprintf (stderr, "dll: detach thread\n" );
+
+ tls = TlsGetValue(hdfs_dwTlsIndex1);
+ if (tls) {
+ fprintf (stderr, "dll thread: invoke thread destructor\n" );
+ hdfsThreadDestructor(tls);
+ TlsSetValue(hdfs_dwTlsIndex1, NULL);
+ }
+
+ break;
+
+ case DLL_PROCESS_DETACH:
+
+ // Perform any necessary cleanup.
+ fprintf (stderr, "dll: detach process\n" );
+
+ if (hdfs_HashTls) {
+ PHASHITEM item, tmp;
+ fprintf (stderr, "dll: clean up hash table\n" );
+ HASH_ITER ( hh, hdfs_HashTls, item, tmp ) {
+ fprintf (stderr, "dll: delete key %s\n", item->key );
+ HASH_DEL ( hdfs_HashTls, item );
+ free ( item );
+ }
+ }
+
+ tls = TlsGetValue(hdfs_dwTlsIndex1);
+ if (tls) {
+ fprintf (stderr, "dll: invoke thread destructor\n" );
+ hdfsThreadDestructor(tls);
+ }
+
+ // Release the TLS index.
+
+ TlsFree(hdfs_dwTlsIndex1);
+
+ if (hdfs_JvmMutex) CloseHandle(hdfs_JvmMutex);
+ if (hdfs_HashLock) free(hdfs_HashLock);
+
+ fprintf (stderr, "dll detached\n" );
+
+ break;
+ }
+
+ return TRUE; // Successful DLL_PROCESS_ATTACH.
+
+}
+
+// jelson changes: start
+INIT_ONCE g_InitOnce = INIT_ONCE_STATIC_INIT;
+
+BOOL CALLBACK staticLibInit(PINIT_ONCE InitOnce, PVOID Parameter, PVOID *lpContext)
+{
+ DllMain(NULL, DLL_PROCESS_ATTACH, NULL);
+}
+
+void maybePerformStaticLibInit()
+{
+ InitOnceExecuteOnce(&g_InitOnce, staticLibInit, NULL, NULL);
+}
+// jelson changes: end
+
+
+#endif
+
+int hdfsLibInit ( void * parms )
+{
+
+ JNIEnv* env = getJNIEnv();
+
+ if (!env) return 1;
+
+ hdfs_InitLib = 1;
+
+ return 0;
+
+}
+
+// test compiler
+
+void destroyLocalReference(JNIEnv *env, jobject jObject)
+{
+ if (jObject)
+ (*env)->DeleteLocalRef(env, jObject);
+}
+
+static jthrowable validateMethodType(JNIEnv *env, MethType methType)
+{
+ if (methType != STATIC && methType != INSTANCE) {
+ return newRuntimeError(env, "validateMethodType(methType=%d): "
+ "illegal method type.\n", methType);
+ }
+ return NULL;
+}
+
+jthrowable newJavaStr(JNIEnv *env, const char *str, jstring *out)
+{
+ jstring jstr;
+
+ if (!str) {
+ /* Can't pass NULL to NewStringUTF: the result would be
+ * implementation-defined. */
+ *out = NULL;
+ return NULL;
+ }
+
+ jstr = (*env)->NewStringUTF(env, str);
+ if (!jstr) {
+ /* If NewStringUTF returns NULL, an exception has been thrown,
+ * which we need to handle. Probaly an OOM. */
+ return getPendingExceptionAndClear(env);
+ }
+
+ *out = jstr;
+ return NULL;
+
+}
+
+jthrowable newCStr(JNIEnv *env, jstring jstr, char **out)
+{
+ const char *tmp;
+
+ if (!jstr) {
+ *out = NULL;
+ return NULL;
+ }
+
+ tmp = (*env)->GetStringUTFChars(env, jstr, NULL);
+ if (!tmp) {
+ return getPendingExceptionAndClear(env);
+ }
+
+ *out = _strdup(tmp);
+ (*env)->ReleaseStringUTFChars(env, jstr, tmp);
+ return NULL;
+
+}
+
+
+jthrowable invokeMethod ( JNIEnv *env, jvalue *retval, MethType methType,
+ jobject instObj, const char *className,
+ const char *methName, const char *methSignature, ... )
+{
+
+ va_list args;
+ jclass cls;
+ jmethodID mid = NULL;
+ jthrowable jthr;
+ const char *str;
+ char returnType;
+
+ jthr = validateMethodType(env, methType);
+ if (jthr)
+ return jthr;
+
+ jthr = globalClassReference(className, env, &cls);
+ if (jthr)
+ return jthr;
+
+ jthr = methodIdFromClass(className, methName, methSignature,
+ methType, env, &mid);
+ if (jthr) {
+ return jthr;
+ }
+
+ str = methSignature;
+ while (*str != ')') str++;
+ str++;
+ returnType = *str;
+
+// printf ("Begin Method Invokation:%s ## %s\n", className, methName );
+
+ va_start(args, methSignature);
+ if (returnType == JOBJECT || returnType == JARRAYOBJECT) {
+ jobject jobj = NULL;
+ if (methType == STATIC) {
+ jobj = (*env)->CallStaticObjectMethodV(env, cls, mid, args);
+ }
+ else if (methType == INSTANCE) {
+ jobj = (*env)->CallObjectMethodV(env, instObj, mid, args);
+ }
+ retval->l = jobj;
+ }
+ else if (returnType == JVOID) {
+ if (methType == STATIC) {
+ (*env)->CallStaticVoidMethodV(env, cls, mid, args);
+ }
+ else if (methType == INSTANCE) {
+ (*env)->CallVoidMethodV(env, instObj, mid, args);
+ }
+ }
+ else if (returnType == JBOOLEAN) {
+ jboolean jbool = 0;
+ if (methType == STATIC) {
+ jbool = (*env)->CallStaticBooleanMethodV(env, cls, mid, args);
+ }
+ else if (methType == INSTANCE) {
+ jbool = (*env)->CallBooleanMethodV(env, instObj, mid, args);
+ }
+ retval->z = jbool;
+ }
+ else if (returnType == JSHORT) {
+ jshort js = 0;
+ if (methType == STATIC) {
+ js = (*env)->CallStaticShortMethodV(env, cls, mid, args);
+ }
+ else if (methType == INSTANCE) {
+ js = (*env)->CallShortMethodV(env, instObj, mid, args);
+ }
+ retval->s = js;
+ }
+ else if (returnType == JLONG) {
+ jlong jl = -1;
+ if (methType == STATIC) {
+ jl = (*env)->CallStaticLongMethodV(env, cls, mid, args);
+ }
+ else if (methType == INSTANCE) {
+ jl = (*env)->CallLongMethodV(env, instObj, mid, args);
+ }
+ retval->j = jl;
+ }
+ else if (returnType == JINT) {
+ jint ji = -1;
+ if (methType == STATIC) {
+ ji = (*env)->CallStaticIntMethodV(env, cls, mid, args);
+ }
+ else if (methType == INSTANCE) {
+ ji = (*env)->CallIntMethodV(env, instObj, mid, args);
+ }
+ retval->i = ji;
+ }
+ va_end(args);
+
+// printf ("End Method Invokation\n");
+
+ jthr = (*env)->ExceptionOccurred(env);
+ if (jthr) {
+ (*env)->ExceptionClear(env);
+ return jthr;
+ }
+
+// printf ("Method success\n");
+
+ return NULL;
+
+}
+
+jthrowable constructNewObjectOfClass(JNIEnv *env, jobject *out, const char *className,
+ const char *ctorSignature, ...)
+{
+
+ va_list args;
+ jclass cls;
+ jmethodID mid = NULL;
+ jobject jobj;
+ jthrowable jthr;
+
+ jthr = globalClassReference(className, env, &cls);
+ if (jthr)
+ return jthr;
+
+ jthr = methodIdFromClass(className, "<init>", ctorSignature,
+ INSTANCE, env, &mid);
+ if (jthr)
+ return jthr;
+
+ va_start(args, ctorSignature);
+ jobj = (*env)->NewObjectV(env, cls, mid, args);
+ va_end(args);
+
+ if (!jobj)
+ return getPendingExceptionAndClear(env);
+
+ *out = jobj;
+ return NULL;
+
+}
+
+
+jthrowable methodIdFromClass(const char *className, const char *methName,
+ const char *methSignature, MethType methType,
+ JNIEnv *env, jmethodID *out)
+{
+
+ jclass cls;
+ jthrowable jthr;
+ jmethodID mid = NULL;
+
+ jthr = validateMethodType(env, methType);
+ if (jthr)
+ return jthr;
+
+ jthr = globalClassReference(className, env, &cls);
+ if (jthr)
+ return jthr;
+
+ if (methType == STATIC) {
+ mid = (*env)->GetStaticMethodID(env, cls, methName, methSignature);
+ }
+ else if (methType == INSTANCE) {
+ mid = (*env)->GetMethodID(env, cls, methName, methSignature);
+ }
+
+ if (mid == NULL) {
+ fprintf(stderr, "could not find method %s from class %s with "
+ "signature %s\n", methName, className, methSignature);
+ return getPendingExceptionAndClear(env);
+ }
+
+ *out = mid;
+ return NULL;
+
+}
+
+jthrowable globalClassReference(const char *className, JNIEnv *env, jclass *out)
+{
+ jclass clsLocalRef;
+
+ jclass cls = searchEntryFromTable(className);
+ if (cls) {
+ *out = cls;
+ return NULL;
+ }
+
+ clsLocalRef = (*env)->FindClass(env,className);
+ if (clsLocalRef == NULL) {
+ return getPendingExceptionAndClear(env);
+ }
+
+ cls = (*env)->NewGlobalRef(env, clsLocalRef);
+ if (cls == NULL) {
+ (*env)->DeleteLocalRef(env, clsLocalRef);
+ return getPendingExceptionAndClear(env);
+ }
+
+ (*env)->DeleteLocalRef(env, clsLocalRef);
+
+ insertEntryIntoTable(className, cls);
+
+ *out = cls;
+ return NULL;
+
+}
+
+
+jthrowable classNameOfObject(jobject jobj, JNIEnv *env, char **name)
+{
+
+ jthrowable jthr;
+ jclass cls, clsClass = NULL;
+ jmethodID mid = NULL;
+ jstring str = NULL;
+ const char *cstr = NULL;
+ char *newstr;
+
+ cls = (*env)->GetObjectClass(env, jobj);
+ if (cls == NULL) {
+ jthr = getPendingExceptionAndClear(env);
+ goto done;
+ }
+
+ clsClass = (*env)->FindClass(env, "java/lang/Class");
+ if (clsClass == NULL) {
+ jthr = getPendingExceptionAndClear(env);
+ goto done;
+ }
+
+ mid = (*env)->GetMethodID(env, clsClass, "getName", "()Ljava/lang/String;");
+ if (mid == NULL) {
+ jthr = getPendingExceptionAndClear(env);
+ goto done;
+ }
+
+ str = (*env)->CallObjectMethod(env, cls, mid);
+ if (str == NULL) {
+ jthr = getPendingExceptionAndClear(env);
+ goto done;
+ }
+
+ cstr = (*env)->GetStringUTFChars(env, str, NULL);
+ if (!cstr) {
+ jthr = getPendingExceptionAndClear(env);
+ goto done;
+ }
+
+ newstr = _strdup(cstr);
+ if (newstr == NULL) {
+ jthr = newRuntimeError(env, "classNameOfObject: out of memory");
+ goto done;
+ }
+
+ *name = newstr;
+ jthr = NULL;
+
+done:
+ destroyLocalReference(env, cls);
+ destroyLocalReference(env, clsClass);
+ if (str) {
+ if (cstr)
+ (*env)->ReleaseStringUTFChars(env, str, cstr);
+ (*env)->DeleteLocalRef(env, str);
+ }
+ return jthr;
+
+}
+
+
+/**
+ * Get the global JNI environemnt.
+ *
+ * We only have to create the JVM once. After that, we can use it in
+ * every thread. You must be holding the jvmMutex when you call this
+ * function.
+ *
+ * @return The JNIEnv on success; error code otherwise
+ */
+static JNIEnv* getGlobalJNIEnv(void)
+{
+
+ const jsize vmBufLength = 1;
+ JavaVM* vmBuf[1];
+ JNIEnv *env = NULL;
+ jint rv = 0;
+ jint noVMs = 0;
+ jthrowable jthr;
+ /*JavaVM *vm = NULL; */
+ char *error = NULL;
+
+ typedef jint (*FGetVMS) (JavaVM**, const jsize, jint* );
+ FGetVMS fpGetVM = NULL;
+
+ typedef jint (*FCreateVM) (JavaVM**, void**, JavaVMInitArgs* );
+ FCreateVM fpCreateVM = NULL;
+
+// printf ( "Get Global JNI\n" );
+
+ #ifndef WIN32
+
+ char *JVMPath = getenv("LIBHDFS_JVM_PATH");
+ char jvmPath [2000] = "";
+
+ if (JVMPath) {
+ strcpy (jvmPath, JVMPath);
+ } else {
+ strcpy (jvmPath, "libjvm.so");
+ }
+
+ if (!hdfs_dl_handle) {
+ hdfs_dl_handle = (void*) dlopen( jvmPath, 0 );
+ if (!hdfs_dl_handle) {
+ printf( "!!! %s\n", dlerror() );
+ return NULL;
+ }
+ }
+
+ if (hdfs_dl_handle) {
+
+ fpGetVM = (FGetVMS) dlsym( hdfs_dl_handle, "JNI_GetCreatedJavaVMs" );
+ error = (char*) dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "!!! %s\n", error );
+ return NULL;
+ }
+
+ fpCreateVM = (FCreateVM) dlsym( hdfs_dl_handle, "JNI_CreateJavaVM" );
+ error = (char*) dlerror();
+ if (error != NULL) {
+ fprintf(stderr, "!!! %s\n", error );
+ return NULL;
+ }
+
+ }
+
+ #else
+
+ if (hdfs_hinstLib == NULL) {
+ wchar_t *env_libhdfs_jvm_path;
+ size_t env_libhdfs_jvm_path_size;
+
+ wchar_t jvmPath[2000];
+
+ fprintf (stderr, "libhdfs: loading jvm\n" );
+
+ _wdupenv_s(&env_libhdfs_jvm_path, &env_libhdfs_jvm_path_size, L"LIBHDFS_JVM_PATH");
+
+ if (env_libhdfs_jvm_path != NULL) {
+ fprintf(stderr, "using value from LIBHDFS_JVM_PATH: %S\n", env_libhdfs_jvm_path);
+ wcscpy_s (jvmPath, _countof(jvmPath), env_libhdfs_jvm_path);
+ } else {
+ wchar_t *env_java_home;
+ size_t env_java_home_size;
+
+ _wdupenv_s(&env_java_home, &env_java_home_size, L"JAVA_HOME");
+
+ if (env_java_home != NULL) {
+ _snwprintf(jvmPath, _countof(jvmPath), L"%s\\jre\\bin\\server\\jvm.dll", env_java_home);
+ fprintf(stderr, "Found JAVA_HOME of %S; trying jvm path of '%S'\n", env_java_home, jvmPath);
+ } else {
+ wcscpy_s (jvmPath, _countof(jvmPath), L"c:\\program files\\java\\jre\\bin\\server\\jvm.dll");
+ fprintf(stderr, "LIBHDFS_JVM_PATH and JAVA_HOME both not set; blindingly trying %S\n", jvmPath);
+ }
+ }
+
+ hdfs_hinstLib = LoadLibrary ( jvmPath );
+ if (!hdfs_hinstLib) {
+
+ LPVOID lpMsgBuf;
+ DWORD dw = GetLastError();
+
+ FormatMessage (
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL,
+ dw,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (LPTSTR) &lpMsgBuf,
+ 0, NULL );
+
+ fprintf (stderr, "jvm load failed\n" );
+ fprintf (stderr, "Error Code:%d %s\n", dw, lpMsgBuf );
+
+ LocalFree(lpMsgBuf);
+
+ return NULL;
+
+ }
+
+ } /* endif load the dll */
+
+ if (hdfs_hinstLib)
+ {
+
+ // fprintf (stderr, "dll: get proc addresses\n" );
+
+ fpGetVM = (FGetVMS) GetProcAddress ( hdfs_hinstLib,
+ "JNI_GetCreatedJavaVMs" );
+
+ if (!fpGetVM) {
+ fprintf (stderr, "dll: could not get proc 'JNI_GetCreatedJavaVMs'\n" );
+ return NULL;
+ }
+
+ fpCreateVM = (FCreateVM) GetProcAddress ( hdfs_hinstLib,
+ "JNI_CreateJavaVM" );
+ if (!fpCreateVM) {
+ fprintf (stderr, "dll: could not get proc 'JNI_CreateJavaVM'\n" );
+ return NULL;
+ }
+
+ }
+
+ #endif
+
+ /*rv = JNI_GetCreatedJavaVMs(vmBuf, vmBufLength, &noVMs);*/
+ rv = (fpGetVM) (vmBuf, vmBufLength, &noVMs);
+ if (rv != 0) {
+ fprintf(stderr, "JNI_GetCreatedJavaVMs failed with error: %d\n", rv);
+ return NULL;
+ }
+
+ if (noVMs == 0) {
+
+ /*Get the environment variables for initializing the JVM */
+ char *hadoopClassPath = getenv("LIBHDFS_CLASSPATH");
+ char *hadoopClassPathVMArg = "-Djava.class.path=";
+ /*char *hadoopClassPathVMArg = "-cp ";*/
+ int optHadoopClassPathLen;
+ char *optHadoopClassPath = NULL;
+
+ int noArgs = 1, cnt = 0;
+ char *hadoopJvmArgs = NULL;
+ char jvmArgDelims[] = " ";
+ char *str, *token, *savePtr;
+ JavaVMOption *options = NULL;
+ JavaVMInitArgs vm_args;
+
+ if (hadoopClassPath == NULL) {
+ fprintf(stderr, "libhdfs: Environment variable LIBHDFS_CLASSPATH not set!\n");
+ return NULL;
+ }
+
+ optHadoopClassPathLen = strlen(hadoopClassPath) +
+ strlen(hadoopClassPathVMArg) + 1;
+
+ optHadoopClassPath = malloc(sizeof(char)*optHadoopClassPathLen);
+ /* snprintf ( optHadoopClassPath, optHadoopClassPathLen,
+ "%s%s", hadoopClassPathVMArg, hadoopClassPath );*/
+
+ #if 0
+ savePtr = strdup(hadoopClassPath);
+ str = strdup(hadoopClassPath);
+ savePtr[0] = 0;
+
+ cnt = strlen (str);
+ token = strtok (str, "\\");
+
+ while (token) {
+ strcat (savePtr,token);
+ if (strlen(savePtr) == cnt) break;
+ strcat (savePtr,"/");
+ token = strtok (NULL, "\\");
+ }
+
+ sprintf ( optHadoopClassPath,
+ "%s%s", hadoopClassPathVMArg, savePtr );
+
+ free (savePtr);
+ free (str);
+ #endif
+
+ sprintf ( optHadoopClassPath,
+ "%s%s", hadoopClassPathVMArg, hadoopClassPath );
+
+ /* Determine the # of LIBHDFS_OPTS args */
+ hadoopJvmArgs = getenv("LIBHDFS_OPTS");
+
+ if (hadoopJvmArgs != NULL) {
+ hadoopJvmArgs = _strdup(hadoopJvmArgs);
+ for (noArgs = 1, str = hadoopJvmArgs; ; noArgs++, str = NULL) {
+ /* token = strtok_r(str, jvmArgDelims, &savePtr);*/
+ token = strtok (str, jvmArgDelims);
+ if (NULL == token) {
+ break;
+ }
+ }
+ free(hadoopJvmArgs);
+ }
+
+ /* Now that we know the # args, populate the options array */
+ options = calloc(noArgs, sizeof(JavaVMOption));
+ options[0].optionString = optHadoopClassPath;
+
+ hadoopJvmArgs = getenv("LIBHDFS_OPTS");
+
+ if (hadoopJvmArgs != NULL) {
+ hadoopJvmArgs = _strdup(hadoopJvmArgs);
+ for (noArgs = 1, str = hadoopJvmArgs; ; noArgs++, str = NULL) {
+ /* token = strtok_r(str, jvmArgDelims, &savePtr);*/
+ token = strtok (str, jvmArgDelims);
+ if (NULL == token) {
+ break;
+ }
+ options[noArgs].optionString = token;
+ }
+ }
+
+ /*Create the VM */
+ vm_args.version = JNI_VERSION_1_2;
+ vm_args.options = options;
+ vm_args.nOptions = noArgs;
+ vm_args.ignoreUnrecognized = 1;
+
+ /*rv = JNI_CreateJavaVM(&vm, (void**) &env, &vm_args);*/
+ rv = (fpCreateVM) (&hdfs_JVM, (void**) &env, &vm_args);
+
+ if (hadoopJvmArgs != NULL) {
+ free(hadoopJvmArgs);
+ }
+
+ free(optHadoopClassPath);
+ free(options);
+
+ if (rv != 0) {
+ fprintf(stderr, "Call to JNI_CreateJavaVM failed "
+ "with error: %d\n", rv);
+ return NULL;
+ }
+
+ fprintf (stderr, "dll: jvm created\n" );
+
+ /*This is not backwards comaptible */
+ /*
+ jthr = invokeMethod ( env, NULL, STATIC, NULL,
+ "org/apache/hadoop/fs/FileSystem",
+ "loadFileSystems", "()V" );
+ if (jthr) {
+ printExceptionAndFree ( env, jthr, PRINT_EXC_ALL,
+ "loadFileSystems" );
+ return NULL;
+ }
+
+ printf ( "dll: return from GetEnv\n" ); */
+
+ return env;
+
+ }
+
+ // fprintf (stderr, "dll: attach current thread \n" );
+
+ /*Attach this thread to the VM */
+ /*vm = vmBuf[0];
+ rv = (*vm)->AttachCurrentThread(vm, (void**) &env, 0); */
+
+ if (!hdfs_JVM) hdfs_JVM = vmBuf[0];
+
+ rv = (*hdfs_JVM)->AttachCurrentThread(hdfs_JVM, (void**) &env, 0);
+ if (rv != 0) {
+ fprintf(stderr, "Call to AttachCurrentThread "
+ "failed with error: %d\n", rv);
+ return NULL;
+ }
+
+ // fprintf (stderr, "dll: return from GetEnv attach \n" );
+ return env;
+
+}
+
+/**
+ * getJNIEnv: A helper function to get the JNIEnv* for the given thread.
+ * If no JVM exists, then one will be created. JVM command line arguments
+ * are obtained from the LIBHDFS_OPTS environment variable.
+ *
+ * Implementation note: we rely on POSIX thread-local storage (tls).
+ * This allows us to associate a destructor function with each thread, that
+ * will detach the thread from the Java VM when the thread terminates. If we
+ * failt to do this, it will cause a memory leak.
+ *
+ * However, POSIX TLS is not the most efficient way to do things. It requires a
+ * key to be initialized before it can be used. Since we don't know if this key
+ * is initialized at the start of this function, we have to lock a mutex first
+ * and check. Luckily, most operating systems support the more efficient
+ * __thread construct, which is initialized by the linker.
+ *
+ * @param: None.
+ * @return The JNIEnv* corresponding to the thread.
+ */
+
+JNIEnv* getJNIEnv(void)
+{
+ JNIEnv *env = NULL;
+ HDFSTLS *tls = NULL;
+ int ret = 0;
+ jint rv = 0;
+
+#ifdef WIN32
+ DWORD dwWaitResult;
+
+ maybePerformStaticLibInit();
+
+ tls = TlsGetValue(hdfs_dwTlsIndex1);
+ if (tls) return tls->env;
+#endif
+
+#ifdef HAVE_BETTER_TLS
+ static __thread HDFSTLS *quickTls = NULL;
+ if (quickTls) return quickTls->env;
+#endif
+
+#ifndef WIN32
+
+ pthread_once(&hdfs_threadInit_Once, Make_Thread_Key);
+
+ if (!hdfs_gTlsKeyInitialized)
+ return NULL;
+
+ tls = pthread_getspecific(hdfs_gTlsKey);
+ if (tls) {
+ return tls->env;
+ }
+
+#endif
+
+ if (!hdfs_InitLib) {
+ LOCK_JVM_MUTEX();
+ env = getGlobalJNIEnv();
+ UNLOCK_JVM_MUTEX();
+ } else {
+ rv = (*hdfs_JVM)->AttachCurrentThread(hdfs_JVM, (void**) &env, 0);
+ if (rv != 0) {
+ fprintf(stderr, "Call to AttachCurrentThread "
+ "failed with error: %d\n", rv);
+ return NULL;
+ }
+ }
+
+ if (!env) {
+ fprintf(stderr, "getJNIEnv: getGlobalJNIEnv failed\n");
+ return NULL;
+ }
+
+ tls = calloc ( 1, sizeof(HDFSTLS) );
+ if (!tls) {
+ fprintf(stderr, "getJNIEnv: OOM allocating %zd bytes\n",
+ sizeof(HDFSTLS) );
+ return NULL;
+ }
+
+ tls->env = env;
+
+#ifdef WIN32
+ // fprintf (stderr, "dll: save environment\n" );
+ if (!TlsSetValue(hdfs_dwTlsIndex1, tls))
+ return NULL;
+ return env;
+#endif
+
+#ifdef HAVE_BETTER_TLS
+ quickTls = tls;
+ return env;
+#endif
+
+#ifndef WIN32
+ ret = pthread_setspecific(hdfs_gTlsKey, tls);
+ if (ret) {
+ fprintf(stderr, "getJNIEnv: pthread_setspecific failed with "
+ "error code %d\n", ret);
+ hdfsThreadDestructor(tls);
+ return NULL;
+ }
+#endif
+
+ return env;
+
+}
diff --git a/import/pdclibhdfs/src/makefile.twb b/import/pdclibhdfs/src/makefile.twb
new file mode 100755
index 0000000..35f080d
--- /dev/null
+++ b/import/pdclibhdfs/src/makefile.twb
@@ -0,0 +1,88 @@
+#############################################
+# DO NOT HAND-EDIT THIS GENERATED FILE!!!!! #
+#############################################
+CNFP_PRODUCTNAME := twb
+CNFP_PRODUCT_OUTSUBDIR :=
+CNFP_TOPDIR := ../../
+CNFP_PRODUCTDIR :=
+CNFP_CURDIR := pdclibhdfs/src/
+PRODUCT_CONFIG_XML_FILES := config/twb.tdprod.xml
+include $(CNFP_TOPDIR)../tdv/etc/build_common.mk
+LOCAL_LEAFMKFILE := $(CNFP_TOPDIR)pdclibhdfs/src/makefile.twb
+LOCAL_GLBLPRJSNIPPETS :=
+
+ifeq ($(IDEBUILD_PROJID),TstOpsHdfs)
+sinclude $(CNFP_TOPDIR)config/build.twb/$(HATAVARDIR)/ProjectIde/TstOpsHdfs.tdsubmk
+else
+ifeq ($(IDEBUILD_PROJID),)
+sinclude $(CNFP_TOPDIR)config/build.twb/$(HATAVARDIR)/ProjectLocal/TstOpsHdfs.tdsubmk
+ifeq ($(LAST_INCLUDED_PROJID),TstOpsHdfs)
+LOCAL_GLBLPRJSNIPPETS += $(PROJECTGLOBAL_DIR)TstOpsHdfs.tdsubmk
+$(CNFP_TstOpsHdfs_GLOBALEMITDONES) $(CNFP_TstOpsHdfs_EXES) $(CNFP_TstOpsHdfs_LIBS) $(CNFP_TstOpsHdfs_OBJS): $(CNFP_TstOpsHdfs_DRVSRC) $(CNFP_PUBLICDRVSRC)
+endif
+endif
+endif
+
+ifeq ($(IDEBUILD_PROJID),TstReadHdfs)
+sinclude $(CNFP_TOPDIR)config/build.twb/$(HATAVARDIR)/ProjectIde/TstReadHdfs.tdsubmk
+else
+ifeq ($(IDEBUILD_PROJID),)
+sinclude $(CNFP_TOPDIR)config/build.twb/$(HATAVARDIR)/ProjectLocal/TstReadHdfs.tdsubmk
+ifeq ($(LAST_INCLUDED_PROJID),TstReadHdfs)
+LOCAL_GLBLPRJSNIPPETS += $(PROJECTGLOBAL_DIR)TstReadHdfs.tdsubmk
+$(CNFP_TstReadHdfs_GLOBALEMITDONES) $(CNFP_TstReadHdfs_EXES) $(CNFP_TstReadHdfs_LIBS) $(CNFP_TstReadHdfs_OBJS): $(CNFP_TstReadHdfs_DRVSRC) $(CNFP_PUBLICDRVSRC)
+endif
+endif
+endif
+
+ifeq ($(IDEBUILD_PROJID),TstWriteHdfs)
+sinclude $(CNFP_TOPDIR)config/build.twb/$(HATAVARDIR)/ProjectIde/TstWriteHdfs.tdsubmk
+else
+ifeq ($(IDEBUILD_PROJID),)
+sinclude $(CNFP_TOPDIR)config/build.twb/$(HATAVARDIR)/ProjectLocal/TstWriteHdfs.tdsubmk
+ifeq ($(LAST_INCLUDED_PROJID),TstWriteHdfs)
+LOCAL_GLBLPRJSNIPPETS += $(PROJECTGLOBAL_DIR)TstWriteHdfs.tdsubmk
+$(CNFP_TstWriteHdfs_GLOBALEMITDONES) $(CNFP_TstWriteHdfs_EXES) $(CNFP_TstWriteHdfs_LIBS) $(CNFP_TstWriteHdfs_OBJS): $(CNFP_TstWriteHdfs_DRVSRC) $(CNFP_PUBLICDRVSRC)
+endif
+endif
+endif
+
+ifeq ($(IDEBUILD_PROJID),pdclibhdfs)
+sinclude $(CNFP_TOPDIR)config/build.twb/$(HATAVARDIR)/ProjectIde/pdclibhdfs.tdsubmk
+else
+ifeq ($(IDEBUILD_PROJID),)
+sinclude $(CNFP_TOPDIR)config/build.twb/$(HATAVARDIR)/ProjectLocal/pdclibhdfs.tdsubmk
+ifeq ($(LAST_INCLUDED_PROJID),pdclibhdfs)
+LOCAL_GLBLPRJSNIPPETS += $(PROJECTGLOBAL_DIR)pdclibhdfs.tdsubmk
+$(CNFP_pdclibhdfs_GLOBALEMITDONES) $(CNFP_pdclibhdfs_EXES) $(CNFP_pdclibhdfs_LIBS) $(CNFP_pdclibhdfs_OBJS): $(CNFP_pdclibhdfs_DRVSRC) $(CNFP_PUBLICDRVSRC)
+endif
+endif
+endif
+
+.PHONY: preppkg all globalemitdones exes libs objs $(LOCAL_PHONY_FILETARGS) drvsrc publicdrvsrc drvdir clean clobber
+preppkg: $(CNFP_LOCAL_PREPPKG)
+all: globalemitdones exes libs objs drvsrc
+globalemitdones: $(CNFP_LOCAL_GLOBALEMITDONES)
+exes: $(CNFP_LOCAL_EXES)
+libs: $(CNFP_LOCAL_LIBS)
+objs: $(CNFP_LOCAL_OBJS)
+drvsrc: $(CNFP_LOCAL_DRVSRC)
+publicdrvsrc: $(CNFP_LOCAL_PUBLICDRVSRC)
+eclipseinfo: $(CNFP_LOCAL_ECLIPSEINFO)
+drvdir: $(CNFP_OUTDIRLIST)
+clean: $(CNFP_LOCAL_CLEAN)
+clobber: $(CNFP_LOCAL_CLOBBER)
+
+.NO_CMP_SCRIPT: $(CNFP_OUTDIRLIST)
+$(CNFP_OUTDIRLIST):
+ $(MKDIR) -p $@
+
+ifneq ($(CNFP_SNAPSHOT_CONTEXT),ThisShouldBeNull)
+preppkg all globalemitdones exes libs objs $(LOCAL_PHONY_FILETARGS) drvsrc publicdrvsrc clean clobber : $(CNFP_OUTDIRLIST)
+endif
+
+$(CNFP_RMT_GLOBALEMITDONES) $(CNFP_RMT_EXES) $(CNFP_RMT_LIBS) $(CNFP_RMT_OBJS): $(CNFP_PUBLICDRVSRC)
+
+preppkg all globalemitdones exes libs objs drvsrc publicdrvsrc drvdir clean clobber : $(GLOBAL_BLDENV_FILES) $(LOCAL_LEAFMKFILE) $(LOCAL_GLBLPRJSNIPPETS)
+
+sinclude $(PRODUCT_HATAVAR_70_SNIPPET)
diff --git a/import/pdclibhdfs/src/makefile.twb.options b/import/pdclibhdfs/src/makefile.twb.options
new file mode 100755
index 0000000..ba5a1ca
--- /dev/null
+++ b/import/pdclibhdfs/src/makefile.twb.options
@@ -0,0 +1,5 @@
+#############################################
+# DO NOT HAND-EDIT THIS GENERATED FILE!!!!! #
+#############################################
+CLEARCASE_MAKE_COMPAT = gnu
+sinclude makefile.twb.options_myown
diff --git a/import/pdclibhdfs/src/native_mini_dfs.c b/import/pdclibhdfs/src/native_mini_dfs.c
new file mode 100755
index 0000000..7249ce9
--- /dev/null
+++ b/import/pdclibhdfs/src/native_mini_dfs.c
@@ -0,0 +1,274 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "exception.h"
+#include "jni_helper.h"
+#include "native_mini_dfs.h"
+
+#include <errno.h>
+#include <jni.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#define MINIDFS_CLUSTER_BUILDER "org/apache/hadoop/hdfs/MiniDFSCluster$Builder"
+#define MINIDFS_CLUSTER "org/apache/hadoop/hdfs/MiniDFSCluster"
+#define HADOOP_CONF "org/apache/hadoop/conf/Configuration"
+#define HADOOP_NAMENODE "org/apache/hadoop/hdfs/server/namenode/NameNode"
+#define JAVA_INETSOCKETADDRESS "java/net/InetSocketAddress"
+
+#define DFS_WEBHDFS_ENABLED_KEY "dfs.webhdfs.enabled"
+
+struct NativeMiniDfsCluster {
+ /**
+ * The NativeMiniDfsCluster object
+ */
+ jobject obj;
+};
+
+struct NativeMiniDfsCluster* nmdCreate(struct NativeMiniDfsConf *conf)
+{
+ struct NativeMiniDfsCluster* cl = NULL;
+ jobject bld = NULL, cobj = NULL, cluster = NULL;
+ jvalue val;
+ JNIEnv *env = getJNIEnv();
+ jthrowable jthr;
+ jstring jconfStr = NULL;
+
+ if (!env) {
+ fprintf(stderr, "nmdCreate: unable to construct JNIEnv.\n");
+ return NULL;
+ }
+ cl = calloc(1, sizeof(struct NativeMiniDfsCluster));
+ if (!cl) {
+ fprintf(stderr, "nmdCreate: OOM");
+ goto error;
+ }
+ jthr = constructNewObjectOfClass(env, &cobj, HADOOP_CONF, "()V");
+ if (jthr) {
+ printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "nmdCreate: new Configuration");
+ goto error;
+ }
+ if (conf->webhdfsEnabled) {
+ jthr = newJavaStr(env, DFS_WEBHDFS_ENABLED_KEY, &jconfStr);
+ if (jthr) {
+ printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "nmdCreate: new String");
+ goto error;
+ }
+ jthr = invokeMethod(env, NULL, INSTANCE, cobj, HADOOP_CONF,
+ "setBoolean", "(Ljava/lang/String;Z)V",
+ jconfStr, conf->webhdfsEnabled);
+ if (jthr) {
+ printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "nmdCreate: Configuration::setBoolean");
+ goto error;
+ }
+ }
+ jthr = constructNewObjectOfClass(env, &bld, MINIDFS_CLUSTER_BUILDER,
+ "(L"HADOOP_CONF";)V", cobj);
+ if (jthr) {
+ printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "nmdCreate: NativeMiniDfsCluster#Builder#Builder");
+ goto error;
+ }
+ jthr = invokeMethod(env, &val, INSTANCE, bld, MINIDFS_CLUSTER_BUILDER,
+ "format", "(Z)L" MINIDFS_CLUSTER_BUILDER ";", conf->doFormat);
+ if (jthr) {
+ printExceptionAndFree(env, jthr, PRINT_EXC_ALL, "nmdCreate: "
+ "Builder::format");
+ goto error;
+ }
+ (*env)->DeleteLocalRef(env, val.l);
+ if (conf->webhdfsEnabled) {
+ jthr = invokeMethod(env, &val, INSTANCE, bld, MINIDFS_CLUSTER_BUILDER,
+ "nameNodeHttpPort", "(I)L" MINIDFS_CLUSTER_BUILDER ";",
+ conf->namenodeHttpPort);
+ if (jthr) {
+ printExceptionAndFree(env, jthr, PRINT_EXC_ALL, "nmdCreate: "
+ "Builder::nameNodeHttpPort");
+ goto error;
+ }
+ (*env)->DeleteLocalRef(env, val.l);
+ }
+ jthr = invokeMethod(env, &val, INSTANCE, bld, MINIDFS_CLUSTER_BUILDER,
+ "build", "()L" MINIDFS_CLUSTER ";");
+ if (jthr) {
+ printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "nmdCreate: Builder#build");
+ goto error;
+ }
+ cluster = val.l;
+ cl->obj = (*env)->NewGlobalRef(env, val.l);
+ if (!cl->obj) {
+ printPendingExceptionAndFree(env, PRINT_EXC_ALL,
+ "nmdCreate: NewGlobalRef");
+ goto error;
+ }
+ (*env)->DeleteLocalRef(env, cluster);
+ (*env)->DeleteLocalRef(env, bld);
+ (*env)->DeleteLocalRef(env, cobj);
+ (*env)->DeleteLocalRef(env, jconfStr);
+ return cl;
+
+error:
+ (*env)->DeleteLocalRef(env, cluster);
+ (*env)->DeleteLocalRef(env, bld);
+ (*env)->DeleteLocalRef(env, cobj);
+ (*env)->DeleteLocalRef(env, jconfStr);
+ free(cl);
+ return NULL;
+}
+
+void nmdFree(struct NativeMiniDfsCluster* cl)
+{
+ JNIEnv *env = getJNIEnv();
+ if (!env) {
+ fprintf(stderr, "nmdFree: getJNIEnv failed\n");
+ free(cl);
+ return;
+ }
+ (*env)->DeleteGlobalRef(env, cl->obj);
+ free(cl);
+}
+
+int nmdShutdown(struct NativeMiniDfsCluster* cl)
+{
+ JNIEnv *env = getJNIEnv();
+ jthrowable jthr;
+
+ if (!env) {
+ fprintf(stderr, "nmdShutdown: getJNIEnv failed\n");
+ return -EIO;
+ }
+ jthr = invokeMethod(env, NULL, INSTANCE, cl->obj,
+ MINIDFS_CLUSTER, "shutdown", "()V");
+ if (jthr) {
+ printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "nmdShutdown: MiniDFSCluster#shutdown");
+ return -EIO;
+ }
+ return 0;
+}
+
+int nmdWaitClusterUp(struct NativeMiniDfsCluster *cl)
+{
+ jthrowable jthr;
+ JNIEnv *env = getJNIEnv();
+ if (!env) {
+ fprintf(stderr, "nmdWaitClusterUp: getJNIEnv failed\n");
+ return -EIO;
+ }
+ jthr = invokeMethod(env, NULL, INSTANCE, cl->obj,
+ MINIDFS_CLUSTER, "waitClusterUp", "()V");
+ if (jthr) {
+ printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "nmdWaitClusterUp: MiniDFSCluster#waitClusterUp ");
+ return -EIO;
+ }
+ return 0;
+}
+
+int nmdGetNameNodePort(const struct NativeMiniDfsCluster *cl)
+{
+ JNIEnv *env = getJNIEnv();
+ jvalue jVal;
+ jthrowable jthr;
+
+ if (!env) {
+ fprintf(stderr, "nmdHdfsConnect: getJNIEnv failed\n");
+ return -EIO;
+ }
+ // Note: this will have to be updated when HA nativeMiniDfs clusters are
+ // supported
+ jthr = invokeMethod(env, &jVal, INSTANCE, cl->obj,
+ MINIDFS_CLUSTER, "getNameNodePort", "()I");
+ if (jthr) {
+ printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "nmdHdfsConnect: MiniDFSCluster#getNameNodePort");
+ return -EIO;
+ }
+ return jVal.i;
+}
+
+int nmdGetNameNodeHttpAddress(const struct NativeMiniDfsCluster *cl,
+ int *port, const char **hostName)
+{
+ JNIEnv *env = getJNIEnv();
+ jvalue jVal;
+ jobject jNameNode, jAddress;
+ jthrowable jthr;
+ int ret = 0;
+ const char *host;
+
+ if (!env) {
+ fprintf(stderr, "nmdHdfsConnect: getJNIEnv failed\n");
+ return -EIO;
+ }
+ // First get the (first) NameNode of the cluster
+ jthr = invokeMethod(env, &jVal, INSTANCE, cl->obj, MINIDFS_CLUSTER,
+ "getNameNode", "()L" HADOOP_NAMENODE ";");
+ if (jthr) {
+ printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "nmdGetNameNodeHttpAddress: "
+ "MiniDFSCluster#getNameNode");
+ return -EIO;
+ }
+ jNameNode = jVal.l;
+
+ // Then get the http address (InetSocketAddress) of the NameNode
+ jthr = invokeMethod(env, &jVal, INSTANCE, jNameNode, HADOOP_NAMENODE,
+ "getHttpAddress", "()L" JAVA_INETSOCKETADDRESS ";");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "nmdGetNameNodeHttpAddress: "
+ "NameNode#getHttpAddress");
+ goto error_dlr_nn;
+ }
+ jAddress = jVal.l;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jAddress,
+ JAVA_INETSOCKETADDRESS, "getPort", "()I");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "nmdGetNameNodeHttpAddress: "
+ "InetSocketAddress#getPort");
+ goto error_dlr_addr;
+ }
+ *port = jVal.i;
+
+ jthr = invokeMethod(env, &jVal, INSTANCE, jAddress, JAVA_INETSOCKETADDRESS,
+ "getHostName", "()Ljava/lang/String;");
+ if (jthr) {
+ ret = printExceptionAndFree(env, jthr, PRINT_EXC_ALL,
+ "nmdGetNameNodeHttpAddress: "
+ "InetSocketAddress#getHostName");
+ goto error_dlr_addr;
+ }
+ host = (*env)->GetStringUTFChars(env, jVal.l, NULL);
+ *hostName = _strdup(host);
+ (*env)->ReleaseStringUTFChars(env, jVal.l, host);
+
+error_dlr_addr:
+ (*env)->DeleteLocalRef(env, jAddress);
+error_dlr_nn:
+ (*env)->DeleteLocalRef(env, jNameNode);
+
+ return ret;
+}
diff --git a/import/pdclibhdfs/src/pdclibhdfs.tdprj.xml b/import/pdclibhdfs/src/pdclibhdfs.tdprj.xml
new file mode 100755
index 0000000..6b0534f
--- /dev/null
+++ b/import/pdclibhdfs/src/pdclibhdfs.tdprj.xml
@@ -0,0 +1,196 @@
+<?xml version="1.0" encoding="US-ASCII" ?>
+
+<!--
+******************************************************************************
+* *
+* TITLE: pdclibhdfs.tdprj.xml *
+* *
+* Copyright 2005-2006, 2008-2010 by Teradata Corporation. *
+* *
+* ALL RIGHTS RESERVED. *
+* *
+* TERADATA CONFIDENTIAL AND TRADE SECRET *
+* *
+* Purpose: To create makefiles used by SCM build process. *
+* *
+* Description: A XML file. *
+* *
+* Revision Date DR DID Comments *
+* =========== ======== ========= ======== ================================== *
+* 15.00.00.01 11062013 TPT17170 SJB Initial version *
+* *
+******************************************************************************
+-->
+
+<Project Name="dclibhdfs"
+ ProductGroupName="Msg_Build"
+ >
+ <Package Package="No"/>
+
+ <Set SetName="Defines" Name="TWBResource">
+ BUILDPRODUCTNAME="\"Teradata Parallel Transporter\""
+ BUILDPROJECT="\"Teradata PT Hdfs Library\""
+ BUILDVERSION=$(CNFP_TBUILD_VERSION)
+ </Set>
+
+ <ToolClassConfiguration ToolClass="CCompiler">
+
+ <HaTaVar OsType="Unix">
+
+ <OptionValues
+ PositionIndependentCode="Yes"
+ />
+ </HaTaVar>
+
+ <HaTaVar OsType="Windows">
+ <Set SetName="Defines" Order="10">
+ _CRT_NONSTDC_NO_DEPRECATE
+ WIN32_EXP
+ </Set>
+ <OptionValues
+ RequiredLibraryType="MultiThreadedShared"
+ />
+ </HaTaVar>
+
+ <HaTaVar Ta="aix-power.32">
+ <Set SetName="IncludePath" Order="10">
+ $(CNFP_TOPDIR)../java/aix-power.32/include
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="aix-power">
+ <Set SetName="IncludePath" Order="10" Name="64inc">
+ $(CNFP_TOPDIR)../java/aix-power/include
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="hpux-pa.32,hpux-pa">
+ <Set SetName="IncludePath" Order="10">
+ $(CNFP_TOPDIR)../java/hpux-pa/include
+ $(CNFP_TOPDIR)../java/hpux-pa/include/hp-ux
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="hpux-pa">
+ <Set SetName="IncludePath" Order="10" Name="64inc">
+ $(CNFP_TOPDIR)../java/hpux-pa/include
+ $(CNFP_TOPDIR)../java/hpux-pa/include/hp-ux
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="hpux-ia64.32">
+ <Set SetName="IncludePath" Order="10">
+ $(CNFP_TOPDIR)../java/hpux-ia64/include
+ $(CNFP_TOPDIR)../java/hpux-ia64/include/hp-ux
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="hpux-ia64">
+ <Set SetName="IncludePath" Order="10" Name="64inc">
+ $(CNFP_TOPDIR)../java/hpux-ia64/include
+ $(CNFP_TOPDIR)../java/hpux-ia64/include/hp-ux
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="redhatlinux-i386,redhatlinux-ia64,suselinux-i386">
+ <Set SetName="IncludePath" Order="10">
+ $(CNFP_TOPDIR)../java/redhatlinux-i386/include
+ $(CNFP_TOPDIR)../java/redhatlinux-i386/include/linux
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="redhatlinux-x8664,suselinux-x8664">
+ <Set SetName="IncludePath" Order="10" Name="64inc">
+ $(CNFP_TOPDIR)../java/redhatlinux-x8664/include
+ $(CNFP_TOPDIR)../java/redhatlinux-x8664/include/linux
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="macos-x8664,macos-x64,macos-i386">
+ <Set SetName="IncludePath" Order="10">
+ $(CNFP_TOPDIR)../java/macos-x8664/include
+ $(CNFP_TOPDIR)../java/macos-x8664/include/linux
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="suselinux-390.32">
+ <Set SetName="IncludePath" Order="10">
+ $(CNFP_TOPDIR)../java/suselinux-390.32/include
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="suselinux-390">
+ <Set SetName="IncludePath" Order="10" Name="64inc">
+ $(CNFP_TOPDIR)../java/suselinux-390/include
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="solaris-sparc.32">
+ <Set SetName="IncludePath" Order="10">
+ $(CNFP_TOPDIR)../java/solaris-sparc/include
+ $(CNFP_TOPDIR)../java/solaris-sparc/include/include
+ $(CNFP_TOPDIR)../java/solaris-sparc/include/solaris
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="solaris-sparc">
+ <Set SetName="IncludePath" Order="10" Name="64inc">
+ $(CNFP_TOPDIR)../java/solaris-sparc/include
+ $(CNFP_TOPDIR)../java/solaris-sparc/include/include
+ $(CNFP_TOPDIR)../java/solaris-sparc/include/solaris
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="solaris-i386">
+ <Set SetName="IncludePath" Order="10">
+ $(CNFP_TOPDIR)../java/solaris-i386/include
+ $(CNFP_TOPDIR)../java/solaris-i386/include/solaris
+ </Set>
+ </HaTaVar>
+ <HaTaVar Ta="solaris-x8664">
+ <Set SetName="IncludePath" Order="10" Name="64inc">
+ $(CNFP_TOPDIR)../java/solaris-x8664/include
+ $(CNFP_TOPDIR)../java/solaris-x8664/include/solaris
+ </Set>
+ </HaTaVar>
+ <HaTaVar OsType="Windows">
+ <Set SetName="IncludePath" Order="10">
+ $(CNFP_TOPDIR)../java/$(TARGET_ARCH)/include
+ $(CNFP_TOPDIR)../java/$(TARGET_ARCH)/include/win32
+ </Set>
+ </HaTaVar>
+
+ </ToolClassConfiguration>
+
+ <ToolClassConfiguration ToolClass="MicrosoftResourceCompiler">
+ <Set SetName="IncludePath" Order="50">
+ $(CNFP_TOPDIR)../java/$(TARGET_ARCH)/include
+ $(CNFP_TOPDIR)../java/$(TARGET_ARCH)/include/win32
+ </Set>
+ </ToolClassConfiguration>
+
+ <ToolClassConfiguration ToolClass="Linker">
+ <HaTaVar OsType="Windows">
+ <Set SetName="LinkLibraries" Order="20">
+ oldnames
+ </Set>
+ </HaTaVar>
+
+ <HaTaVar Ta="hpux-pa,hpux-ia64">
+ <Set SetName="LinkLibraries" Order="20">
+ dld
+ </Set>
+ </HaTaVar>
+
+ <HaTaVar Ta="redhatlinux-i386,suselinux-390,suselinux-390.32,suselinux-i386,suselinux-x8664">
+ <Set SetName="LinkLibraries" Order="20">
+ dl
+ pthread
+ </Set>
+ </HaTaVar>
+
+ <HaTaVar Ta="solaris-sparc,solaris-x8664">
+ <Set SetName="LinkLibraries" Order="20">
+ dl
+ </Set>
+ </HaTaVar>
+
+ </ToolClassConfiguration>
+
+ <FileDefinitions>
+ <File Path="hdfs.c"/>
+ <File Path="exception.c"/>
+ <File Path="jni_helper.c"/>
+ <HaTaVar OsType="Windows">
+ <File Path="$(CNFP_TOPDIR)pcommon/src/version.opprc"/>
+ </HaTaVar>
+ </FileDefinitions>
+
+</Project>
diff --git a/import/pdclibhdfs/src/test_libhdfs_ops.c b/import/pdclibhdfs/src/test_libhdfs_ops.c
new file mode 100755
index 0000000..ebb7984
--- /dev/null
+++ b/import/pdclibhdfs/src/test_libhdfs_ops.c
@@ -0,0 +1,582 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "hdfs.h"
+#include "hdfs_test.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <errno.h>
+
+void permission_disp(short permissions, char *rtr) {
+ int i;
+ rtr[9] = '\0';
+
+ for(i=2;i>=0;i--)
+ {
+ short permissionsId = permissions >> (i * 3) & (short)7;
+ char* perm;
+ switch(permissionsId) {
+ case 7:
+ perm = "rwx"; break;
+ case 6:
+ perm = "rw-"; break;
+ case 5:
+ perm = "r-x"; break;
+ case 4:
+ perm = "r--"; break;
+ case 3:
+ perm = "-wx"; break;
+ case 2:
+ perm = "-w-"; break;
+ case 1:
+ perm = "--x"; break;
+ case 0:
+ perm = "---"; break;
+ default:
+ perm = "???";
+ }
+ strncpy(rtr, perm, 3);
+ rtr+=3;
+ }
+}
+
+int main(int argc, char **argv) {
+
+ char buffer[32];
+ int num_written_bytes;
+ const char* writePath = "/tmp/testfile.txt";
+
+ #ifdef WIN32
+ const char* writePathLcl = "C:\\tmp\\testfile.txt";
+ #else
+ const char* writePathLcl = "/tmp/testfile.txt";
+ #endif
+
+ const char* fileContents = "Hello, World!";
+ hdfsFS fs;
+ hdfsFS lfs;
+ int totalResult = 0;
+ int result = 0;
+
+ /*fs = hdfsConnectNewInstance("default", 0);*/
+ fs = hdfsConnect("default", 0);
+ if(!fs) {
+ fprintf(stderr, "Oops! Failed to connect to hdfs!\n");
+ exit(-1);
+ }
+
+ /*lfs = hdfsConnectNewInstance(NULL, 0);*/
+ lfs = hdfsConnect(NULL, 0);
+ if(!lfs) {
+ fprintf(stderr, "Oops! Failed to connect to 'local' hdfs!\n");
+ exit(-1);
+ }
+
+
+ {
+ /*Write tests */
+
+ int currentPos = -1;
+
+ hdfsFile writeFile = hdfsOpenFile(fs, writePath, O_WRONLY|O_CREAT, 0, 0, 0);
+ if(!writeFile) {
+ fprintf(stderr, "Failed to open %s for writing!\n", writePath);
+ exit(-1);
+ }
+
+ fprintf(stderr, "Opened %s for writing successfully...\n", writePath);
+ num_written_bytes =
+ hdfsWrite(fs, writeFile, (void*)fileContents, strlen(fileContents)+1);
+
+ if (num_written_bytes != strlen(fileContents) + 1) {
+ fprintf(stderr, "Failed to write correct number of bytes - expected %d, got %d\n",
+ (int)(strlen(fileContents) + 1), (int)num_written_bytes);
+ exit(-1);
+ }
+ fprintf(stderr, "Wrote %d bytes\n", num_written_bytes);
+
+ if ((currentPos = hdfsTell(fs, writeFile)) == -1) {
+ fprintf(stderr,
+ "Failed to get current file position correctly! Got %ld!\n",
+ currentPos);
+ exit(-1);
+ }
+ fprintf(stderr, "Current position: %ld\n", currentPos);
+
+ if (hdfsFlush(fs, writeFile)) {
+ fprintf(stderr, "Failed to 'flush' %s\n", writePath);
+ exit(-1);
+ }
+ fprintf(stderr, "Flushed %s successfully!\n", writePath);
+
+ /*if (hdfsHFlush(fs, writeFile)) {
+ fprintf(stderr, "Failed to 'hflush' %s\n", writePath);
+ exit(-1);
+ }
+ fprintf(stderr, "HFlushed %s successfully!\n", writePath); */
+
+ hdfsCloseFile(fs, writeFile);
+ }
+
+ {
+ /*Read tests */
+
+ const char* readPath = "/tmp/testfile.txt";
+ int exists = hdfsExists(fs, readPath);
+ hdfsFile readFile;
+ int seekPos = 1;
+ int currentPos = -1;
+ int num_read_bytes;
+ hdfsFile localFile;
+
+ if (exists) {
+ fprintf(stderr, "Failed to validate existence of %s\n", readPath);
+ exit(-1);
+ }
+
+ readFile = hdfsOpenFile(fs, readPath, O_RDONLY, 0, 0, 0);
+ if (!readFile) {
+ fprintf(stderr, "Failed to open %s for reading!\n", readPath);
+ exit(-1);
+ }
+
+ if (!hdfsFileIsOpenForRead(readFile)) {
+ fprintf(stderr, "hdfsFileIsOpenForRead: we just opened a file "
+ "with O_RDONLY, and it did not show up as 'open for "
+ "read'\n");
+ exit(-1);
+ }
+
+ fprintf(stderr, "hdfsAvailable: %d\n", hdfsAvailable(fs, readFile));
+
+ if(hdfsSeek(fs, readFile, seekPos)) {
+ fprintf(stderr, "Failed to seek %s for reading!\n", readPath);
+ exit(-1);
+ }
+
+ if((currentPos = hdfsTell(fs, readFile)) != seekPos) {
+ fprintf(stderr,
+ "Failed to get current file position correctly! Got %ld!\n",
+ currentPos);
+ exit(-1);
+ }
+ fprintf(stderr, "Current position: %ld\n", currentPos);
+
+ if (!hdfsFileUsesDirectRead(readFile)) {
+
+ fprintf(stderr, "Direct read support not detected "
+ "for HDFS filesystem\n");
+
+ } else {
+
+ fprintf(stderr, "Direct read support detected for HDFS\n");
+
+ /* Test the direct read path */
+ if(hdfsSeek(fs, readFile, 0)) {
+ fprintf(stderr, "Failed to seek %s for reading!\n", readPath);
+ exit(-1);
+ }
+
+ memset(buffer, 0, sizeof(buffer));
+ num_read_bytes = hdfsRead(fs, readFile, (void*)buffer,
+ sizeof(buffer));
+
+ if (strncmp(fileContents, buffer, strlen(fileContents)) != 0) {
+ fprintf(stderr, "Failed to read (direct). Expected %s but got %s (%d bytes)\n",
+ fileContents, buffer, num_read_bytes);
+ exit(-1);
+ }
+ fprintf(stderr, "Read (direct) following %d bytes:\n%s\n",
+ num_read_bytes, buffer);
+
+ if (hdfsSeek(fs, readFile, 0L)) {
+ fprintf(stderr, "Failed to seek to file start!\n");
+ exit(-1);
+ }
+
+ /* Disable the direct read path so that we really go through the slow
+ read path */
+ hdfsFileDisableDirectRead(readFile);
+
+ }
+
+ num_read_bytes = hdfsRead(fs, readFile, (void*)buffer,
+ sizeof(buffer));
+ fprintf(stderr, "Read following %d bytes:\n%s\n",
+ num_read_bytes, buffer);
+
+ memset(buffer, 0, strlen(fileContents + 1));
+
+ num_read_bytes = hdfsPread(fs, readFile, 0, (void*)buffer,
+ sizeof(buffer));
+ fprintf(stderr, "Read following %d bytes:\n%s\n",
+ num_read_bytes, buffer);
+
+ hdfsCloseFile(fs, readFile);
+
+ fprintf(stderr,"Test Local File System %s\n", writePathLcl );
+
+ /* Test correct behaviour for unsupported filesystems */
+ localFile = hdfsOpenFile(lfs, writePathLcl, O_WRONLY|O_CREAT, 0, 0, 0);
+ if(!localFile) {
+ fprintf(stderr, "Failed to open %s for writing!\n", writePathLcl);
+ exit(-1);
+ }
+
+ num_written_bytes = hdfsWrite(lfs, localFile, (void*)fileContents,
+ strlen(fileContents) + 1);
+
+ hdfsCloseFile(lfs, localFile);
+ localFile = hdfsOpenFile(lfs, writePathLcl, O_RDONLY, 0, 0, 0);
+
+ if (hdfsFileUsesDirectRead(localFile)) {
+ fprintf(stderr, "Direct read support not detected for local "
+ "filesystem\n");
+ }
+
+ hdfsCloseFile(lfs, localFile);
+
+ }
+
+
+ {
+ /*Generic file-system operations */
+
+ const char* srcPath = "/tmp/testfile.txt";
+ const char* dstPath = "/tmp/testfile2.txt";
+ const char* slashTmp = "/tmp";
+ const char* newDirectory = "/tmp/newdir";
+ char buffer[256];
+ const char *resp;
+ hdfsFileInfo *fileInfo = NULL;
+ hdfsFileInfo *fileList = 0;
+ int numEntries = 0;
+ char*** hosts;
+ char *newOwner = "root";
+
+ /* setting tmp dir to 777 so later when connectAsUser nobody, we can write to it*/
+ short newPerm = 0666;
+ tTime newMtime = time(NULL);
+ tTime newAtime = time(NULL);
+ hdfsFileInfo *finfo;
+
+ fprintf(stderr, "hdfsCopy(remote-local): %s\n", ((result = hdfsCopy(fs, srcPath, lfs, srcPath)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsCopy(remote-remote): %s\n", ((result = hdfsCopy(fs, srcPath, fs, dstPath)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsMove(local-local): %s\n", ((result = hdfsMove(lfs, srcPath, lfs, dstPath)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsMove(remote-local): %s\n", ((result = hdfsMove(fs, srcPath, lfs, srcPath)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsRename: %s\n", ((result = hdfsRename(fs, dstPath, srcPath)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsCopy(remote-remote): %s\n", ((result = hdfsCopy(fs, srcPath, fs, dstPath)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsCreateDirectory: %s\n", ((result = hdfsCreateDirectory(fs, newDirectory)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsSetReplication: %s\n", ((result = hdfsSetReplication(fs, srcPath, 2)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+
+ fprintf(stderr, "hdfsGetWorkingDirectory: %s\n", ((resp = hdfsGetWorkingDirectory(fs, buffer, sizeof(buffer))) ? buffer : "Failed!"));
+ totalResult += (resp ? 0 : 1);
+
+ fprintf(stderr, "hdfsSetWorkingDirectory: %s\n", ((result = hdfsSetWorkingDirectory(fs, slashTmp)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsGetWorkingDirectory: %s\n", ((resp = hdfsGetWorkingDirectory(fs, buffer, sizeof(buffer))) ? buffer : "Failed!"));
+ totalResult += (resp ? 0 : 1);
+
+ fprintf(stderr, "hdfsGetDefaultBlockSize: %ld\n", hdfsGetDefaultBlockSize(fs));
+ fprintf(stderr, "hdfsGetCapacity: %ld\n", hdfsGetCapacity(fs));
+ fprintf(stderr, "hdfsGetUsed: %ld\n", hdfsGetUsed(fs));
+
+
+ if((fileInfo = hdfsGetPathInfo(fs, slashTmp)) != NULL) {
+ char permissions[10];
+ fprintf(stderr, "hdfsGetPathInfo - SUCCESS!\n");
+ fprintf(stderr, "Name: %s, ", fileInfo->mName);
+ fprintf(stderr, "Type: %c, ", (char)(fileInfo->mKind));
+ fprintf(stderr, "Replication: %d, ", fileInfo->mReplication);
+ fprintf(stderr, "BlockSize: %ld, ", fileInfo->mBlockSize);
+ fprintf(stderr, "Size: %ld, ", fileInfo->mSize);
+ fprintf(stderr, "LastMod: %s", ctime(&fileInfo->mLastMod));
+ fprintf(stderr, "Owner: %s, ", fileInfo->mOwner);
+ fprintf(stderr, "Group: %s, ", fileInfo->mGroup);
+
+ permission_disp(fileInfo->mPermissions, permissions);
+ fprintf(stderr, "Permissions: %d (%s)\n", fileInfo->mPermissions, permissions);
+ hdfsFreeFileInfo(fileInfo, 1);
+ } else {
+ totalResult++;
+ fprintf(stderr, "waah! hdfsGetPathInfo for %s - FAILED!\n", slashTmp);
+ }
+
+
+ if((fileList = hdfsListDirectory(fs, slashTmp, &numEntries)) != NULL) {
+ int i = 0;
+ char permissions[10];
+ for(i=0; i < numEntries; ++i) {
+ fprintf(stderr, "Name: %s, ", fileList[i].mName);
+ fprintf(stderr, "Type: %c, ", (char)fileList[i].mKind);
+ fprintf(stderr, "Replication: %d, ", fileList[i].mReplication);
+ fprintf(stderr, "BlockSize: %ld, ", fileList[i].mBlockSize);
+ fprintf(stderr, "Size: %ld, ", fileList[i].mSize);
+ fprintf(stderr, "LastMod: %s", ctime(&fileList[i].mLastMod));
+ fprintf(stderr, "Owner: %s, ", fileList[i].mOwner);
+ fprintf(stderr, "Group: %s, ", fileList[i].mGroup);
+
+ permission_disp(fileList[i].mPermissions, permissions);
+ fprintf(stderr, "Permissions: %d (%s)\n", fileList[i].mPermissions, permissions);
+ }
+ hdfsFreeFileInfo(fileList, numEntries);
+ } else {
+ if (errno) {
+ totalResult++;
+ fprintf(stderr, "waah! hdfsListDirectory - FAILED!\n");
+ } else {
+ fprintf(stderr, "Empty directory!\n");
+ }
+ }
+
+ hosts = hdfsGetHosts(fs, srcPath, 0, 1);
+ if(hosts) {
+ int i=0;
+ fprintf(stderr, "hdfsGetHosts - SUCCESS! ... \n");
+ while(hosts[i]) {
+ int j = 0;
+ while(hosts[i][j]) {
+ fprintf(stderr,
+ "\thosts[%d][%d] - %s\n", i, j, hosts[i][j]);
+ ++j;
+ }
+ ++i;
+ }
+ } else {
+ totalResult++;
+ fprintf(stderr, "waah! hdfsGetHosts - FAILED!\n");
+ }
+
+
+ /* chown write */
+ fprintf(stderr, "hdfsChown: %s\n", ((result = hdfsChown(fs, writePath, NULL, "users")) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsChown: %s\n", ((result = hdfsChown(fs, writePath, newOwner, NULL)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ /* chmod write */
+ fprintf(stderr, "hdfsChmod: %s\n", ((result = hdfsChmod(fs, writePath, newPerm)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+#ifndef WIN32
+ sleep(2);
+#endif
+
+ /* utime write */
+ fprintf(stderr, "hdfsUtime: %s\n", ((result = hdfsUtime(fs, writePath, newMtime, newAtime)) ? "Failed!" : "Success!"));
+
+ totalResult += result;
+
+ /* chown/chmod/utime read */
+ finfo = hdfsGetPathInfo(fs, writePath);
+
+ fprintf(stderr, "hdfsChown read: %s\n", ((result = (strcmp(finfo->mOwner, newOwner) != 0)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsChmod read: %s\n", ((result = (finfo->mPermissions != newPerm)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ /* will later use /tmp/ as a different user so enable it */
+ fprintf(stderr, "hdfsChmod: %s\n", ((result = hdfsChmod(fs, "/tmp/", 0777)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr,"newMTime=%ld\n",newMtime);
+ fprintf(stderr,"curMTime=%ld\n",finfo->mLastMod);
+
+
+ fprintf(stderr, "hdfsUtime read (mtime): %s\n", ((result = (finfo->mLastMod != newMtime)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ /* No easy way to turn on access times from hdfs_test right now
+ // fprintf(stderr, "hdfsUtime read (atime): %s\n", ((result = (finfo->mLastAccess != newAtime)) ? "Failed!" : "Success!"));
+ // totalResult += result; */
+
+ hdfsFreeFileInfo(finfo, 1);
+
+ /* Clean up */
+ fprintf(stderr, "hdfsDelete: %s\n", ((result = hdfsDelete(fs, newDirectory, 1)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsDelete: %s\n", ((result = hdfsDelete(fs, srcPath, 1)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsDelete: %s\n", ((result = hdfsDelete(lfs, srcPath, 1)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsDelete: %s\n", ((result = hdfsDelete(lfs, dstPath, 1)) ? "Failed!" : "Success!"));
+ totalResult += result;
+
+ fprintf(stderr, "hdfsExists: %s\n", ((result = hdfsExists(fs, newDirectory)) ? "Success!" : "Failed!"));
+ totalResult += (result ? 0 : 1);
+ }
+
+ {
+
+ /* TEST APPENDS */
+ const char *writePath = "/tmp/appends";
+ char* buffer = "Hello,";
+ int num_written_bytes;
+ hdfsFileInfo *finfo;
+ hdfsFile readFile;
+ char rdbuffer[32];
+ int num_read_bytes;
+
+ /* CREATE */
+ hdfsFile writeFile = hdfsOpenFile(fs, writePath, O_WRONLY, 0, 0, 0);
+ if(!writeFile) {
+ fprintf(stderr, "Failed to open %s for writing!\n", writePath);
+ exit(-1);
+ }
+ fprintf(stderr, "Opened %s for writing successfully...\n", writePath);
+
+ num_written_bytes = hdfsWrite(fs, writeFile, (void*)buffer, strlen(buffer));
+ fprintf(stderr, "Wrote %d bytes\n", num_written_bytes);
+
+ if (hdfsFlush(fs, writeFile)) {
+ fprintf(stderr, "Failed to 'flush' %s\n", writePath);
+ exit(-1);
+ }
+ fprintf(stderr, "Flushed %s successfully!\n", writePath);
+
+ hdfsCloseFile(fs, writeFile);
+
+ fprintf(stderr,"Open file in append mode:%s\n", writePath );
+
+ /* RE-OPEN */
+ writeFile = hdfsOpenFile(fs, writePath, O_WRONLY|O_APPEND, 0, 0, 0);
+ if(!writeFile) {
+ fprintf(stderr, "Failed to open %s for writing!\n", writePath);
+ exit(-1);
+ }
+ fprintf(stderr, "Opened %s for writing successfully...\n", writePath);
+
+ buffer = " World";
+ num_written_bytes = hdfsWrite(fs, writeFile, (void*)buffer, strlen(buffer) + 1);
+ fprintf(stderr, "Wrote %d bytes\n", num_written_bytes);
+
+ if (hdfsFlush(fs, writeFile)) {
+ fprintf(stderr, "Failed to 'flush' %s\n", writePath);
+ exit(-1);
+ }
+ fprintf(stderr, "Flushed %s successfully!\n", writePath);
+
+ hdfsCloseFile(fs, writeFile);
+
+ /* CHECK size */
+ finfo = hdfsGetPathInfo(fs, writePath);
+ fprintf(stderr, "fileinfo->mSize: == total %s\n", ((result = (finfo->mSize == strlen("Hello, World") + 1)) ? "Success!" : "Failed!"));
+ totalResult += (result ? 0 : 1);
+
+ /* READ and check data */
+ readFile = hdfsOpenFile(fs, writePath, O_RDONLY, 0, 0, 0);
+ if (!readFile) {
+ fprintf(stderr, "Failed to open %s for reading!\n", writePath);
+ exit(-1);
+ }
+
+ num_read_bytes = hdfsRead(fs, readFile, (void*)rdbuffer, sizeof(rdbuffer));
+ fprintf(stderr, "Read following %d bytes:\n%s\n",
+ num_read_bytes, rdbuffer);
+
+ fprintf(stderr, "read == Hello, World %s\n", (result = (strcmp(rdbuffer, "Hello, World") == 0)) ? "Success!" : "Failed!");
+
+ hdfsCloseFile(fs, readFile);
+
+ /* DONE test appends */
+ }
+
+
+ totalResult += (hdfsDisconnect(fs) != 0);
+
+ {
+
+ /* Now test as connecting as a specific user
+ // This is only meant to test that we connected as that user, not to test
+ // the actual fs user capabilities. Thus just create a file and read
+ // the owner is correct. */
+
+ const char *tuser = "nobody";
+ char* buffer = "Hello, World!";
+ const char* writePath = "/tmp/usertestfile.txt";
+ hdfsFile writeFile;
+ int num_written_bytes;
+ hdfsFileInfo *finfo;
+
+ fs = hdfsConnectAsUser("default", 0, tuser);
+ /*fs = hdfsConnectAsUserNewInstance("default", 0, tuser);*/
+ if(!fs) {
+ fprintf(stderr, "Oops! Failed to connect to hdfs as user %s!\n",tuser);
+ exit(-1);
+ }
+
+ writeFile = hdfsOpenFile(fs, writePath, O_WRONLY|O_CREAT, 0, 0, 0);
+ if(!writeFile) {
+ fprintf(stderr, "Failed to open %s for writing!\n", writePath);
+ exit(-1);
+ }
+ fprintf(stderr, "Opened %s for writing successfully...\n", writePath);
+
+ num_written_bytes = hdfsWrite(fs, writeFile, (void*)buffer, strlen(buffer)+1);
+ fprintf(stderr, "Wrote %d bytes\n", num_written_bytes);
+
+ if (hdfsFlush(fs, writeFile)) {
+ fprintf(stderr, "Failed to 'flush' %s\n", writePath);
+ exit(-1);
+ }
+ fprintf(stderr, "Flushed %s successfully!\n", writePath);
+
+ hdfsCloseFile(fs, writeFile);
+
+ finfo = hdfsGetPathInfo(fs, writePath);
+ fprintf(stderr, "hdfs new file user is correct: %s\n", ((result = (strcmp(finfo->mOwner, tuser) != 0)) ? "Failed!" : "Success!"));
+ totalResult += result;
+ }
+
+ totalResult += (hdfsDisconnect(fs) != 0);
+
+ if (totalResult != 0) {
+ return -1;
+ } else {
+ return 0;
+ }
+}
+
+/**
+ * vim: ts=4: sw=4: et:
+ */
diff --git a/import/pdclibhdfs/src/test_libhdfs_read.c b/import/pdclibhdfs/src/test_libhdfs_read.c
new file mode 100755
index 0000000..8613424
--- /dev/null
+++ b/import/pdclibhdfs/src/test_libhdfs_read.c
@@ -0,0 +1,79 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifdef WIN32
+#include <windows.h>
+#endif
+
+#include "hdfs.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+
+int main(int argc, char **argv) {
+
+ hdfsFS fs;
+ char* rfile;
+ int bufferSize;
+ hdfsFile readFile;
+ char* buffer;
+ int curSize;
+
+ if (argc != 4) {
+ fprintf(stderr, "Usage: hdfs_read <filename> <filesize> <buffersize>\n");
+ exit(-1);
+ }
+
+ fs = hdfsConnect("default", 0);
+ if (!fs) {
+ fprintf(stderr, "Oops! Failed to connect to hdfs!\n");
+ exit(-1);
+ }
+
+ rfile = argv[1];
+ bufferSize = strtoul(argv[3], NULL, 10);
+
+ readFile = hdfsOpenFile(fs, rfile, O_RDONLY, bufferSize, 0, 0);
+ if (!readFile) {
+ fprintf(stderr, "Failed to open %s for writing!\n", rfile);
+ exit(-2);
+ }
+
+ /* data to be written to the file */
+ buffer = malloc(sizeof(char) * bufferSize);
+ if(buffer == NULL) {
+ return -2;
+ }
+
+ /* read from the file */
+ curSize = bufferSize;
+ for (; curSize == bufferSize;) {
+ curSize = hdfsRead(fs, readFile, (void*)buffer, curSize);
+ }
+
+ free(buffer);
+ hdfsCloseFile(fs, readFile);
+ hdfsDisconnect(fs);
+
+ return 0;
+}
+
+/**
+ * vim: ts=4: sw=4: et:
+ */
+
diff --git a/import/pdclibhdfs/src/test_libhdfs_threaded.c b/import/pdclibhdfs/src/test_libhdfs_threaded.c
new file mode 100755
index 0000000..73d40af
--- /dev/null
+++ b/import/pdclibhdfs/src/test_libhdfs_threaded.c
@@ -0,0 +1,310 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "expect.h"
+#include "hdfs.h"
+#include "native_mini_dfs.h"
+
+#include <errno.h>
+#include <stdint.h>
+#include <semaphore.h>
+#include <pthread.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#define TO_STR_HELPER(X) #X
+#define TO_STR(X) TO_STR_HELPER(X)
+
+#define TLH_MAX_THREADS 100
+
+#define TLH_DEFAULT_BLOCK_SIZE 134217728
+
+static sem_t tlhSem;
+
+static struct NativeMiniDfsCluster* tlhCluster;
+
+struct tlhThreadInfo {
+ /** Thread index */
+ int threadIdx;
+ /** 0 = thread was successful; error code otherwise */
+ int success;
+ /** pthread identifier */
+ pthread_t thread;
+};
+
+static int hdfsSingleNameNodeConnect(struct NativeMiniDfsCluster *cl, hdfsFS *fs)
+{
+ int ret, port;
+ hdfsFS hdfs;
+ struct hdfsBuilder *bld;
+
+ port = nmdGetNameNodePort(cl);
+ if (port < 0) {
+ fprintf(stderr, "hdfsSingleNameNodeConnect: nmdGetNameNodePort "
+ "returned error %d\n", port);
+ return port;
+ }
+ bld = hdfsNewBuilder();
+ if (!bld)
+ return -ENOMEM;
+ hdfsBuilderSetForceNewInstance(bld);
+ hdfsBuilderSetNameNode(bld, "localhost");
+ hdfsBuilderSetNameNodePort(bld, port);
+ hdfsBuilderConfSetStr(bld, "dfs.block.size",
+ TO_STR(TLH_DEFAULT_BLOCK_SIZE));
+ hdfsBuilderConfSetStr(bld, "dfs.blocksize",
+ TO_STR(TLH_DEFAULT_BLOCK_SIZE));
+ hdfs = hdfsBuilderConnect(bld);
+ if (!hdfs) {
+ ret = -errno;
+ return ret;
+ }
+ *fs = hdfs;
+ return 0;
+}
+
+static int doTestGetDefaultBlockSize(hdfsFS fs, const char *path)
+{
+ uint64_t blockSize;
+ int ret;
+
+ blockSize = hdfsGetDefaultBlockSize(fs);
+ if (blockSize < 0) {
+ ret = errno;
+ fprintf(stderr, "hdfsGetDefaultBlockSize failed with error %d\n", ret);
+ return ret;
+ } else if (blockSize != TLH_DEFAULT_BLOCK_SIZE) {
+ fprintf(stderr, "hdfsGetDefaultBlockSize got %"PRId64", but we "
+ "expected %d\n", blockSize, TLH_DEFAULT_BLOCK_SIZE);
+ return EIO;
+ }
+
+ blockSize = hdfsGetDefaultBlockSizeAtPath(fs, path);
+ if (blockSize < 0) {
+ ret = errno;
+ fprintf(stderr, "hdfsGetDefaultBlockSizeAtPath(%s) failed with "
+ "error %d\n", path, ret);
+ return ret;
+ } else if (blockSize != TLH_DEFAULT_BLOCK_SIZE) {
+ fprintf(stderr, "hdfsGetDefaultBlockSizeAtPath(%s) got "
+ "%"PRId64", but we expected %d\n",
+ path, blockSize, TLH_DEFAULT_BLOCK_SIZE);
+ return EIO;
+ }
+ return 0;
+}
+
+static int doTestHdfsOperations(struct tlhThreadInfo *ti, hdfsFS fs)
+{
+ char prefix[256], tmp[256];
+ hdfsFile file;
+ int ret, expected;
+ hdfsFileInfo *fileInfo;
+ struct hdfsReadStatistics *readStats = NULL;
+
+ snprintf(prefix, sizeof(prefix), "/tlhData%04d", ti->threadIdx);
+
+ if (hdfsExists(fs, prefix) == 0) {
+ EXPECT_ZERO(hdfsDelete(fs, prefix, 1));
+ }
+ EXPECT_ZERO(hdfsCreateDirectory(fs, prefix));
+ snprintf(tmp, sizeof(tmp), "%s/file", prefix);
+
+ EXPECT_ZERO(doTestGetDefaultBlockSize(fs, prefix));
+
+ /* There should not be any file to open for reading. */
+ EXPECT_NULL(hdfsOpenFile(fs, tmp, O_RDONLY, 0, 0, 0));
+
+ /* hdfsOpenFile should not accept mode = 3 */
+ EXPECT_NULL(hdfsOpenFile(fs, tmp, 3, 0, 0, 0));
+
+ file = hdfsOpenFile(fs, tmp, O_WRONLY, 0, 0, 0);
+ EXPECT_NONNULL(file);
+
+ /* TODO: implement writeFully and use it here */
+ expected = strlen(prefix);
+ ret = hdfsWrite(fs, file, prefix, expected);
+ if (ret < 0) {
+ ret = errno;
+ fprintf(stderr, "hdfsWrite failed and set errno %d\n", ret);
+ return ret;
+ }
+ if (ret != expected) {
+ fprintf(stderr, "hdfsWrite was supposed to write %d bytes, but "
+ "it wrote %d\n", ret, expected);
+ return EIO;
+ }
+ EXPECT_ZERO(hdfsFlush(fs, file));
+ EXPECT_ZERO(hdfsHSync(fs, file));
+ EXPECT_ZERO(hdfsCloseFile(fs, file));
+
+ /* Let's re-open the file for reading */
+ file = hdfsOpenFile(fs, tmp, O_RDONLY, 0, 0, 0);
+ EXPECT_NONNULL(file);
+
+ EXPECT_ZERO(hdfsFileGetReadStatistics(file, &readStats));
+ errno = 0;
+ EXPECT_ZERO(readStats->totalBytesRead);
+ EXPECT_ZERO(readStats->totalLocalBytesRead);
+ EXPECT_ZERO(readStats->totalShortCircuitBytesRead);
+ hdfsFileFreeReadStatistics(readStats);
+ /* TODO: implement readFully and use it here */
+ ret = hdfsRead(fs, file, tmp, sizeof(tmp));
+ if (ret < 0) {
+ ret = errno;
+ fprintf(stderr, "hdfsRead failed and set errno %d\n", ret);
+ return ret;
+ }
+ if (ret != expected) {
+ fprintf(stderr, "hdfsRead was supposed to read %d bytes, but "
+ "it read %d\n", ret, expected);
+ return EIO;
+ }
+ EXPECT_ZERO(hdfsFileGetReadStatistics(file, &readStats));
+ errno = 0;
+ EXPECT_INT_EQ(expected, readStats->totalBytesRead);
+ hdfsFileFreeReadStatistics(readStats);
+ EXPECT_ZERO(memcmp(prefix, tmp, expected));
+ EXPECT_ZERO(hdfsCloseFile(fs, file));
+
+ // TODO: Non-recursive delete should fail?
+ //EXPECT_NONZERO(hdfsDelete(fs, prefix, 0));
+
+ snprintf(tmp, sizeof(tmp), "%s/file", prefix);
+ EXPECT_ZERO(hdfsChown(fs, tmp, NULL, NULL));
+ EXPECT_ZERO(hdfsChown(fs, tmp, NULL, "doop"));
+ fileInfo = hdfsGetPathInfo(fs, tmp);
+ EXPECT_NONNULL(fileInfo);
+ EXPECT_ZERO(strcmp("doop", fileInfo->mGroup));
+ hdfsFreeFileInfo(fileInfo, 1);
+
+ EXPECT_ZERO(hdfsChown(fs, tmp, "ha", "doop2"));
+ fileInfo = hdfsGetPathInfo(fs, tmp);
+ EXPECT_NONNULL(fileInfo);
+ EXPECT_ZERO(strcmp("ha", fileInfo->mOwner));
+ EXPECT_ZERO(strcmp("doop2", fileInfo->mGroup));
+ hdfsFreeFileInfo(fileInfo, 1);
+
+ EXPECT_ZERO(hdfsChown(fs, tmp, "ha2", NULL));
+ fileInfo = hdfsGetPathInfo(fs, tmp);
+ EXPECT_NONNULL(fileInfo);
+ EXPECT_ZERO(strcmp("ha2", fileInfo->mOwner));
+ EXPECT_ZERO(strcmp("doop2", fileInfo->mGroup));
+ hdfsFreeFileInfo(fileInfo, 1);
+
+ EXPECT_ZERO(hdfsDelete(fs, prefix, 1));
+ return 0;
+}
+
+static void *testHdfsOperations(void *v)
+{
+ struct tlhThreadInfo *ti = (struct tlhThreadInfo*)v;
+ hdfsFS fs = NULL;
+ int ret;
+
+ fprintf(stderr, "testHdfsOperations(threadIdx=%d): starting\n",
+ ti->threadIdx);
+ ret = hdfsSingleNameNodeConnect(tlhCluster, &fs);
+ if (ret) {
+ fprintf(stderr, "testHdfsOperations(threadIdx=%d): "
+ "hdfsSingleNameNodeConnect failed with error %d.\n",
+ ti->threadIdx, ret);
+ ti->success = EIO;
+ return NULL;
+ }
+ ti->success = doTestHdfsOperations(ti, fs);
+ if (hdfsDisconnect(fs)) {
+ ret = errno;
+ fprintf(stderr, "hdfsDisconnect error %d\n", ret);
+ ti->success = ret;
+ }
+ return NULL;
+}
+
+static int checkFailures(struct tlhThreadInfo *ti, int tlhNumThreads)
+{
+ int i, threadsFailed = 0;
+ const char *sep = "";
+
+ for (i = 0; i < tlhNumThreads; i++) {
+ if (ti[i].success != 0) {
+ threadsFailed = 1;
+ }
+ }
+ if (!threadsFailed) {
+ fprintf(stderr, "testLibHdfs: all threads succeeded. SUCCESS.\n");
+ return EXIT_SUCCESS;
+ }
+ fprintf(stderr, "testLibHdfs: some threads failed: [");
+ for (i = 0; i < tlhNumThreads; i++) {
+ if (ti[i].success != 0) {
+ fprintf(stderr, "%s%d", sep, i);
+ sep = ", ";
+ }
+ }
+ fprintf(stderr, "]. FAILURE.\n");
+ return EXIT_FAILURE;
+}
+
+/**
+ * Test that we can write a file with libhdfs and then read it back
+ */
+int main(void)
+{
+ int i, tlhNumThreads;
+ const char *tlhNumThreadsStr;
+ struct tlhThreadInfo ti[TLH_MAX_THREADS];
+ struct NativeMiniDfsConf conf = {
+ .doFormat = 1,
+ };
+
+ tlhNumThreadsStr = getenv("TLH_NUM_THREADS");
+ if (!tlhNumThreadsStr) {
+ tlhNumThreadsStr = "3";
+ }
+ tlhNumThreads = atoi(tlhNumThreadsStr);
+ if ((tlhNumThreads <= 0) || (tlhNumThreads > TLH_MAX_THREADS)) {
+ fprintf(stderr, "testLibHdfs: must have a number of threads "
+ "between 1 and %d inclusive, not %d\n",
+ TLH_MAX_THREADS, tlhNumThreads);
+ return EXIT_FAILURE;
+ }
+ memset(&ti[0], 0, sizeof(ti));
+ for (i = 0; i < tlhNumThreads; i++) {
+ ti[i].threadIdx = i;
+ }
+
+ EXPECT_ZERO(sem_init(&tlhSem, 0, tlhNumThreads));
+ tlhCluster = nmdCreate(&conf);
+ EXPECT_NONNULL(tlhCluster);
+ EXPECT_ZERO(nmdWaitClusterUp(tlhCluster));
+
+ for (i = 0; i < tlhNumThreads; i++) {
+ EXPECT_ZERO(pthread_create(&ti[i].thread, NULL,
+ testHdfsOperations, &ti[i]));
+ }
+ for (i = 0; i < tlhNumThreads; i++) {
+ EXPECT_ZERO(pthread_join(ti[i].thread, NULL));
+ }
+
+ EXPECT_ZERO(nmdShutdown(tlhCluster));
+ nmdFree(tlhCluster);
+ EXPECT_ZERO(sem_destroy(&tlhSem));
+ return checkFailures(ti, tlhNumThreads);
+}
diff --git a/import/pdclibhdfs/src/test_libhdfs_write.c b/import/pdclibhdfs/src/test_libhdfs_write.c
new file mode 100755
index 0000000..376cfac
--- /dev/null
+++ b/import/pdclibhdfs/src/test_libhdfs_write.c
@@ -0,0 +1,103 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "hdfs.h"
+
+#include <limits.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+int main(int argc, char **argv) {
+
+ hdfsFS fs;
+ char* writeFileName;
+ int fileTotalSize;
+ long long tmpBufferSize;
+ int bufferSize;
+ hdfsFile writeFile;
+ char* buffer;
+ int i = 0;
+ int nrRemaining;
+
+ if (argc != 4) {
+ fprintf(stderr, "Usage: hdfs_write <filename> <filesize> <buffersize>\n");
+ exit(-1);
+ }
+
+ fs = hdfsConnect("default", 0);
+ if (!fs) {
+ fprintf(stderr, "Oops! Failed to connect to hdfs!\n");
+ exit(-1);
+ }
+
+ writeFileName = argv[1];
+ fileTotalSize = strtoul(argv[2], NULL, 10);
+ tmpBufferSize = strtoul(argv[3], NULL, 10);
+
+ /* sanity check */ /*
+ if(fileTotalSize == ULONG_MAX && errno == ERANGE) {
+ fprintf(stderr, "invalid file size %s - must be <= %lu\n", argv[2], ULONG_MAX);
+ exit(-3);
+ } */
+
+ /* currently libhdfs writes are of tSize which is int32 */
+ if(tmpBufferSize > INT_MAX) {
+ fprintf(stderr, "invalid buffer size libhdfs API write chunks must be <= %d\n",INT_MAX);
+ exit(-3);
+ }
+
+ bufferSize = tmpBufferSize;
+
+ writeFile = hdfsOpenFile(fs, writeFileName, O_WRONLY, bufferSize, 0, 0);
+ if (!writeFile) {
+ fprintf(stderr, "Failed to open %s for writing!\n", writeFileName);
+ exit(-2);
+ }
+
+ /* data to be written to the file */
+ buffer = malloc(sizeof(char) * bufferSize);
+ if(buffer == NULL) {
+ fprintf(stderr, "Could not allocate buffer of size %d\n", bufferSize);
+ return -2;
+ }
+
+ for (i=0; i < bufferSize; ++i) {
+ buffer[i] = 'a' + (i%26);
+ }
+
+ /* write to the file */
+ for (nrRemaining = fileTotalSize; nrRemaining > 0; nrRemaining -= bufferSize ) {
+ tSize curSize = ( bufferSize < nrRemaining ) ? bufferSize : (tSize)nrRemaining;
+ tSize written;
+ if ((written = hdfsWrite(fs, writeFile, (void*)buffer, curSize)) != curSize) {
+ fprintf(stderr, "ERROR: hdfsWrite returned an error on write: %d\n", written);
+ exit(-3);
+ }
+ }
+
+ free(buffer);
+ hdfsCloseFile(fs, writeFile);
+ hdfsDisconnect(fs);
+
+ return 0;
+}
+
+/**
+ * vim: ts=4: sw=4: et:
+ */
+
diff --git a/import/pdclibhdfs/src/test_native_mini_dfs.c b/import/pdclibhdfs/src/test_native_mini_dfs.c
new file mode 100755
index 0000000..ae4f868
--- /dev/null
+++ b/import/pdclibhdfs/src/test_native_mini_dfs.c
@@ -0,0 +1,41 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "expect.h"
+#include "native_mini_dfs.h"
+
+#include <errno.h>
+
+static struct NativeMiniDfsConf conf = {
+ .doFormat = 1,
+};
+
+/**
+ * Test that we can create a MiniDFSCluster and shut it down.
+ */
+int main(void) {
+ struct NativeMiniDfsCluster* cl;
+
+ cl = nmdCreate(&conf);
+ EXPECT_NONNULL(cl);
+ EXPECT_ZERO(nmdWaitClusterUp(cl));
+ EXPECT_ZERO(nmdShutdown(cl));
+ nmdFree(cl);
+
+ return 0;
+}
diff --git a/import/zconf.h b/import/zconf.h
new file mode 100644
index 0000000..9987a77
--- /dev/null
+++ b/import/zconf.h
@@ -0,0 +1,511 @@
+/* zconf.h -- configuration of the zlib compression library
+ * Copyright (C) 1995-2013 Jean-loup Gailly.
+ * For conditions of distribution and use, see copyright notice in zlib.h
+ */
+
+/* @(#) $Id$ */
+
+#ifndef ZCONF_H
+#define ZCONF_H
+
+/*
+ * If you *really* need a unique prefix for all types and library functions,
+ * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
+ * Even better than compiling with -DZ_PREFIX would be to use configure to set
+ * this permanently in zconf.h using "./configure --zprefix".
+ */
+#ifdef Z_PREFIX /* may be set to #if 1 by ./configure */
+# define Z_PREFIX_SET
+
+/* all linked symbols */
+# define _dist_code z__dist_code
+# define _length_code z__length_code
+# define _tr_align z__tr_align
+# define _tr_flush_bits z__tr_flush_bits
+# define _tr_flush_block z__tr_flush_block
+# define _tr_init z__tr_init
+# define _tr_stored_block z__tr_stored_block
+# define _tr_tally z__tr_tally
+# define adler32 z_adler32
+# define adler32_combine z_adler32_combine
+# define adler32_combine64 z_adler32_combine64
+# ifndef Z_SOLO
+# define compress z_compress
+# define compress2 z_compress2
+# define compressBound z_compressBound
+# endif
+# define crc32 z_crc32
+# define crc32_combine z_crc32_combine
+# define crc32_combine64 z_crc32_combine64
+# define deflate z_deflate
+# define deflateBound z_deflateBound
+# define deflateCopy z_deflateCopy
+# define deflateEnd z_deflateEnd
+# define deflateInit2_ z_deflateInit2_
+# define deflateInit_ z_deflateInit_
+# define deflateParams z_deflateParams
+# define deflatePending z_deflatePending
+# define deflatePrime z_deflatePrime
+# define deflateReset z_deflateReset
+# define deflateResetKeep z_deflateResetKeep
+# define deflateSetDictionary z_deflateSetDictionary
+# define deflateSetHeader z_deflateSetHeader
+# define deflateTune z_deflateTune
+# define deflate_copyright z_deflate_copyright
+# define get_crc_table z_get_crc_table
+# ifndef Z_SOLO
+# define gz_error z_gz_error
+# define gz_intmax z_gz_intmax
+# define gz_strwinerror z_gz_strwinerror
+# define gzbuffer z_gzbuffer
+# define gzclearerr z_gzclearerr
+# define gzclose z_gzclose
+# define gzclose_r z_gzclose_r
+# define gzclose_w z_gzclose_w
+# define gzdirect z_gzdirect
+# define gzdopen z_gzdopen
+# define gzeof z_gzeof
+# define gzerror z_gzerror
+# define gzflush z_gzflush
+# define gzgetc z_gzgetc
+# define gzgetc_ z_gzgetc_
+# define gzgets z_gzgets
+# define gzoffset z_gzoffset
+# define gzoffset64 z_gzoffset64
+# define gzopen z_gzopen
+# define gzopen64 z_gzopen64
+# ifdef _WIN32
+# define gzopen_w z_gzopen_w
+# endif
+# define gzprintf z_gzprintf
+# define gzvprintf z_gzvprintf
+# define gzputc z_gzputc
+# define gzputs z_gzputs
+# define gzread z_gzread
+# define gzrewind z_gzrewind
+# define gzseek z_gzseek
+# define gzseek64 z_gzseek64
+# define gzsetparams z_gzsetparams
+# define gztell z_gztell
+# define gztell64 z_gztell64
+# define gzungetc z_gzungetc
+# define gzwrite z_gzwrite
+# endif
+# define inflate z_inflate
+# define inflateBack z_inflateBack
+# define inflateBackEnd z_inflateBackEnd
+# define inflateBackInit_ z_inflateBackInit_
+# define inflateCopy z_inflateCopy
+# define inflateEnd z_inflateEnd
+# define inflateGetHeader z_inflateGetHeader
+# define inflateInit2_ z_inflateInit2_
+# define inflateInit_ z_inflateInit_
+# define inflateMark z_inflateMark
+# define inflatePrime z_inflatePrime
+# define inflateReset z_inflateReset
+# define inflateReset2 z_inflateReset2
+# define inflateSetDictionary z_inflateSetDictionary
+# define inflateGetDictionary z_inflateGetDictionary
+# define inflateSync z_inflateSync
+# define inflateSyncPoint z_inflateSyncPoint
+# define inflateUndermine z_inflateUndermine
+# define inflateResetKeep z_inflateResetKeep
+# define inflate_copyright z_inflate_copyright
+# define inflate_fast z_inflate_fast
+# define inflate_table z_inflate_table
+# ifndef Z_SOLO
+# define uncompress z_uncompress
+# endif
+# define zError z_zError
+# ifndef Z_SOLO
+# define zcalloc z_zcalloc
+# define zcfree z_zcfree
+# endif
+# define zlibCompileFlags z_zlibCompileFlags
+# define zlibVersion z_zlibVersion
+
+/* all zlib typedefs in zlib.h and zconf.h */
+# define Byte z_Byte
+# define Bytef z_Bytef
+# define alloc_func z_alloc_func
+# define charf z_charf
+# define free_func z_free_func
+# ifndef Z_SOLO
+# define gzFile z_gzFile
+# endif
+# define gz_header z_gz_header
+# define gz_headerp z_gz_headerp
+# define in_func z_in_func
+# define intf z_intf
+# define out_func z_out_func
+# define uInt z_uInt
+# define uIntf z_uIntf
+# define uLong z_uLong
+# define uLongf z_uLongf
+# define voidp z_voidp
+# define voidpc z_voidpc
+# define voidpf z_voidpf
+
+/* all zlib structs in zlib.h and zconf.h */
+# define gz_header_s z_gz_header_s
+# define internal_state z_internal_state
+
+#endif
+
+#if defined(__MSDOS__) && !defined(MSDOS)
+# define MSDOS
+#endif
+#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
+# define OS2
+#endif
+#if defined(_WINDOWS) && !defined(WINDOWS)
+# define WINDOWS
+#endif
+#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
+# ifndef WIN32
+# define WIN32
+# endif
+#endif
+#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
+# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
+# ifndef SYS16BIT
+# define SYS16BIT
+# endif
+# endif
+#endif
+
+/*
+ * Compile with -DMAXSEG_64K if the alloc function cannot allocate more
+ * than 64k bytes at a time (needed on systems with 16-bit int).
+ */
+#ifdef SYS16BIT
+# define MAXSEG_64K
+#endif
+#ifdef MSDOS
+# define UNALIGNED_OK
+#endif
+
+#ifdef __STDC_VERSION__
+# ifndef STDC
+# define STDC
+# endif
+# if __STDC_VERSION__ >= 199901L
+# ifndef STDC99
+# define STDC99
+# endif
+# endif
+#endif
+#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
+# define STDC
+#endif
+#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
+# define STDC
+#endif
+#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
+# define STDC
+#endif
+#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
+# define STDC
+#endif
+
+#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
+# define STDC
+#endif
+
+#ifndef STDC
+# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
+# define const /* note: need a more gentle solution here */
+# endif
+#endif
+
+#if defined(ZLIB_CONST) && !defined(z_const)
+# define z_const const
+#else
+# define z_const
+#endif
+
+/* Some Mac compilers merge all .h files incorrectly: */
+#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
+# define NO_DUMMY_DECL
+#endif
+
+/* Maximum value for memLevel in deflateInit2 */
+#ifndef MAX_MEM_LEVEL
+# ifdef MAXSEG_64K
+# define MAX_MEM_LEVEL 8
+# else
+# define MAX_MEM_LEVEL 9
+# endif
+#endif
+
+/* Maximum value for windowBits in deflateInit2 and inflateInit2.
+ * WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
+ * created by gzip. (Files created by minigzip can still be extracted by
+ * gzip.)
+ */
+#ifndef MAX_WBITS
+# define MAX_WBITS 15 /* 32K LZ77 window */
+#endif
+
+/* The memory requirements for deflate are (in bytes):
+ (1 << (windowBits+2)) + (1 << (memLevel+9))
+ that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
+ plus a few kilobytes for small objects. For example, if you want to reduce
+ the default memory requirements from 256K to 128K, compile with
+ make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
+ Of course this will generally degrade compression (there's no free lunch).
+
+ The memory requirements for inflate are (in bytes) 1 << windowBits
+ that is, 32K for windowBits=15 (default value) plus a few kilobytes
+ for small objects.
+*/
+
+ /* Type declarations */
+
+#ifndef OF /* function prototypes */
+# ifdef STDC
+# define OF(args) args
+# else
+# define OF(args) ()
+# endif
+#endif
+
+#ifndef Z_ARG /* function prototypes for stdarg */
+# if defined(STDC) || defined(Z_HAVE_STDARG_H)
+# define Z_ARG(args) args
+# else
+# define Z_ARG(args) ()
+# endif
+#endif
+
+/* The following definitions for FAR are needed only for MSDOS mixed
+ * model programming (small or medium model with some far allocations).
+ * This was tested only with MSC; for other MSDOS compilers you may have
+ * to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
+ * just define FAR to be empty.
+ */
+#ifdef SYS16BIT
+# if defined(M_I86SM) || defined(M_I86MM)
+ /* MSC small or medium model */
+# define SMALL_MEDIUM
+# ifdef _MSC_VER
+# define FAR _far
+# else
+# define FAR far
+# endif
+# endif
+# if (defined(__SMALL__) || defined(__MEDIUM__))
+ /* Turbo C small or medium model */
+# define SMALL_MEDIUM
+# ifdef __BORLANDC__
+# define FAR _far
+# else
+# define FAR far
+# endif
+# endif
+#endif
+
+#if defined(WINDOWS) || defined(WIN32)
+ /* If building or using zlib as a DLL, define ZLIB_DLL.
+ * This is not mandatory, but it offers a little performance increase.
+ */
+# ifdef ZLIB_DLL
+# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
+# ifdef ZLIB_INTERNAL
+# define ZEXTERN extern __declspec(dllexport)
+# else
+# define ZEXTERN extern __declspec(dllimport)
+# endif
+# endif
+# endif /* ZLIB_DLL */
+ /* If building or using zlib with the WINAPI/WINAPIV calling convention,
+ * define ZLIB_WINAPI.
+ * Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
+ */
+# ifdef ZLIB_WINAPI
+# ifdef FAR
+# undef FAR
+# endif
+# include <windows.h>
+ /* No need for _export, use ZLIB.DEF instead. */
+ /* For complete Windows compatibility, use WINAPI, not __stdcall. */
+# define ZEXPORT WINAPI
+# ifdef WIN32
+# define ZEXPORTVA WINAPIV
+# else
+# define ZEXPORTVA FAR CDECL
+# endif
+# endif
+#endif
+
+#if defined (__BEOS__)
+# ifdef ZLIB_DLL
+# ifdef ZLIB_INTERNAL
+# define ZEXPORT __declspec(dllexport)
+# define ZEXPORTVA __declspec(dllexport)
+# else
+# define ZEXPORT __declspec(dllimport)
+# define ZEXPORTVA __declspec(dllimport)
+# endif
+# endif
+#endif
+
+#ifndef ZEXTERN
+# define ZEXTERN extern
+#endif
+#ifndef ZEXPORT
+# define ZEXPORT
+#endif
+#ifndef ZEXPORTVA
+# define ZEXPORTVA
+#endif
+
+#ifndef FAR
+# define FAR
+#endif
+
+#if !defined(__MACTYPES__)
+typedef unsigned char Byte; /* 8 bits */
+#endif
+typedef unsigned int uInt; /* 16 bits or more */
+typedef unsigned long uLong; /* 32 bits or more */
+
+#ifdef SMALL_MEDIUM
+ /* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
+# define Bytef Byte FAR
+#else
+ typedef Byte FAR Bytef;
+#endif
+typedef char FAR charf;
+typedef int FAR intf;
+typedef uInt FAR uIntf;
+typedef uLong FAR uLongf;
+
+#ifdef STDC
+ typedef void const *voidpc;
+ typedef void FAR *voidpf;
+ typedef void *voidp;
+#else
+ typedef Byte const *voidpc;
+ typedef Byte FAR *voidpf;
+ typedef Byte *voidp;
+#endif
+
+#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
+# include <limits.h>
+# if (UINT_MAX == 0xffffffffUL)
+# define Z_U4 unsigned
+# elif (ULONG_MAX == 0xffffffffUL)
+# define Z_U4 unsigned long
+# elif (USHRT_MAX == 0xffffffffUL)
+# define Z_U4 unsigned short
+# endif
+#endif
+
+#ifdef Z_U4
+ typedef Z_U4 z_crc_t;
+#else
+ typedef unsigned long z_crc_t;
+#endif
+
+#ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */
+# define Z_HAVE_UNISTD_H
+#endif
+
+#ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */
+# define Z_HAVE_STDARG_H
+#endif
+
+#ifdef STDC
+# ifndef Z_SOLO
+# include <sys/types.h> /* for off_t */
+# endif
+#endif
+
+#if defined(STDC) || defined(Z_HAVE_STDARG_H)
+# ifndef Z_SOLO
+# include <stdarg.h> /* for va_list */
+# endif
+#endif
+
+#ifdef _WIN32
+# ifndef Z_SOLO
+# include <stddef.h> /* for wchar_t */
+# endif
+#endif
+
+/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
+ * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
+ * though the former does not conform to the LFS document), but considering
+ * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
+ * equivalently requesting no 64-bit operations
+ */
+#if defined(_LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
+# undef _LARGEFILE64_SOURCE
+#endif
+
+#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
+# define Z_HAVE_UNISTD_H
+#endif
+#ifndef Z_SOLO
+# if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
+# include <unistd.h> /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
+# ifdef VMS
+# include <unixio.h> /* for off_t */
+# endif
+# ifndef z_off_t
+# define z_off_t off_t
+# endif
+# endif
+#endif
+
+#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
+# define Z_LFS64
+#endif
+
+#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
+# define Z_LARGE64
+#endif
+
+#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
+# define Z_WANT64
+#endif
+
+#if !defined(SEEK_SET) && !defined(Z_SOLO)
+# define SEEK_SET 0 /* Seek from beginning of file. */
+# define SEEK_CUR 1 /* Seek from current position. */
+# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
+#endif
+
+#ifndef z_off_t
+# define z_off_t long
+#endif
+
+#if !defined(_WIN32) && defined(Z_LARGE64)
+# define z_off64_t off64_t
+#else
+# if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
+# define z_off64_t __int64
+# else
+# define z_off64_t z_off_t
+# endif
+#endif
+
+/* MVS linker does not support external names larger than 8 bytes */
+#if defined(__MVS__)
+ #pragma map(deflateInit_,"DEIN")
+ #pragma map(deflateInit2_,"DEIN2")
+ #pragma map(deflateEnd,"DEEND")
+ #pragma map(deflateBound,"DEBND")
+ #pragma map(inflateInit_,"ININ")
+ #pragma map(inflateInit2_,"ININ2")
+ #pragma map(inflateEnd,"INEND")
+ #pragma map(inflateSync,"INSY")
+ #pragma map(inflateSetDictionary,"INSEDI")
+ #pragma map(compressBound,"CMBND")
+ #pragma map(inflate_table,"INTABL")
+ #pragma map(inflate_fast,"INFA")
+ #pragma map(inflate_copyright,"INCOPY")
+#endif
+
+#endif /* ZCONF_H */
diff --git a/import/zlib.h b/import/zlib.h
new file mode 100644
index 0000000..3e0c767
--- /dev/null
+++ b/import/zlib.h
@@ -0,0 +1,1768 @@
+/* zlib.h -- interface of the 'zlib' general purpose compression library
+ version 1.2.8, April 28th, 2013
+
+ Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+ Jean-loup Gailly Mark Adler
+ jloup at gzip.org madler at alumni.caltech.edu
+
+
+ The data format used by the zlib library is described by RFCs (Request for
+ Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950
+ (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format).
+*/
+
+#ifndef ZLIB_H
+#define ZLIB_H
+
+#include "zconf.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define ZLIB_VERSION "1.2.8"
+#define ZLIB_VERNUM 0x1280
+#define ZLIB_VER_MAJOR 1
+#define ZLIB_VER_MINOR 2
+#define ZLIB_VER_REVISION 8
+#define ZLIB_VER_SUBREVISION 0
+
+/*
+ The 'zlib' compression library provides in-memory compression and
+ decompression functions, including integrity checks of the uncompressed data.
+ This version of the library supports only one compression method (deflation)
+ but other algorithms will be added later and will have the same stream
+ interface.
+
+ Compression can be done in a single step if the buffers are large enough,
+ or can be done by repeated calls of the compression function. In the latter
+ case, the application must provide more input and/or consume the output
+ (providing more output space) before each call.
+
+ The compressed data format used by default by the in-memory functions is
+ the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped
+ around a deflate stream, which is itself documented in RFC 1951.
+
+ The library also supports reading and writing files in gzip (.gz) format
+ with an interface similar to that of stdio using the functions that start
+ with "gz". The gzip format is different from the zlib format. gzip is a
+ gzip wrapper, documented in RFC 1952, wrapped around a deflate stream.
+
+ This library can optionally read and write gzip streams in memory as well.
+
+ The zlib format was designed to be compact and fast for use in memory
+ and on communications channels. The gzip format was designed for single-
+ file compression on file systems, has a larger header than zlib to maintain
+ directory information, and uses a different, slower check method than zlib.
+
+ The library does not install any signal handler. The decoder checks
+ the consistency of the compressed data, so the library should never crash
+ even in case of corrupted input.
+*/
+
+typedef voidpf (*alloc_func) OF((voidpf opaque, uInt items, uInt size));
+typedef void (*free_func) OF((voidpf opaque, voidpf address));
+
+struct internal_state;
+
+typedef struct z_stream_s {
+ z_const Bytef *next_in; /* next input byte */
+ uInt avail_in; /* number of bytes available at next_in */
+ uLong total_in; /* total number of input bytes read so far */
+
+ Bytef *next_out; /* next output byte should be put there */
+ uInt avail_out; /* remaining free space at next_out */
+ uLong total_out; /* total number of bytes output so far */
+
+ z_const char *msg; /* last error message, NULL if no error */
+ struct internal_state FAR *state; /* not visible by applications */
+
+ alloc_func zalloc; /* used to allocate the internal state */
+ free_func zfree; /* used to free the internal state */
+ voidpf opaque; /* private data object passed to zalloc and zfree */
+
+ int data_type; /* best guess about the data type: binary or text */
+ uLong adler; /* adler32 value of the uncompressed data */
+ uLong reserved; /* reserved for future use */
+} z_stream;
+
+typedef z_stream FAR *z_streamp;
+
+/*
+ gzip header information passed to and from zlib routines. See RFC 1952
+ for more details on the meanings of these fields.
+*/
+typedef struct gz_header_s {
+ int text; /* true if compressed data believed to be text */
+ uLong time; /* modification time */
+ int xflags; /* extra flags (not used when writing a gzip file) */
+ int os; /* operating system */
+ Bytef *extra; /* pointer to extra field or Z_NULL if none */
+ uInt extra_len; /* extra field length (valid if extra != Z_NULL) */
+ uInt extra_max; /* space at extra (only when reading header) */
+ Bytef *name; /* pointer to zero-terminated file name or Z_NULL */
+ uInt name_max; /* space at name (only when reading header) */
+ Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */
+ uInt comm_max; /* space at comment (only when reading header) */
+ int hcrc; /* true if there was or will be a header crc */
+ int done; /* true when done reading gzip header (not used
+ when writing a gzip file) */
+} gz_header;
+
+typedef gz_header FAR *gz_headerp;
+
+/*
+ The application must update next_in and avail_in when avail_in has dropped
+ to zero. It must update next_out and avail_out when avail_out has dropped
+ to zero. The application must initialize zalloc, zfree and opaque before
+ calling the init function. All other fields are set by the compression
+ library and must not be updated by the application.
+
+ The opaque value provided by the application will be passed as the first
+ parameter for calls of zalloc and zfree. This can be useful for custom
+ memory management. The compression library attaches no meaning to the
+ opaque value.
+
+ zalloc must return Z_NULL if there is not enough memory for the object.
+ If zlib is used in a multi-threaded application, zalloc and zfree must be
+ thread safe.
+
+ On 16-bit systems, the functions zalloc and zfree must be able to allocate
+ exactly 65536 bytes, but will not be required to allocate more than this if
+ the symbol MAXSEG_64K is defined (see zconf.h). WARNING: On MSDOS, pointers
+ returned by zalloc for objects of exactly 65536 bytes *must* have their
+ offset normalized to zero. The default allocation function provided by this
+ library ensures this (see zutil.c). To reduce memory requirements and avoid
+ any allocation of 64K objects, at the expense of compression ratio, compile
+ the library with -DMAX_WBITS=14 (see zconf.h).
+
+ The fields total_in and total_out can be used for statistics or progress
+ reports. After compression, total_in holds the total size of the
+ uncompressed data and may be saved for use in the decompressor (particularly
+ if the decompressor wants to decompress everything in a single step).
+*/
+
+ /* constants */
+
+#define Z_NO_FLUSH 0
+#define Z_PARTIAL_FLUSH 1
+#define Z_SYNC_FLUSH 2
+#define Z_FULL_FLUSH 3
+#define Z_FINISH 4
+#define Z_BLOCK 5
+#define Z_TREES 6
+/* Allowed flush values; see deflate() and inflate() below for details */
+
+#define Z_OK 0
+#define Z_STREAM_END 1
+#define Z_NEED_DICT 2
+#define Z_ERRNO (-1)
+#define Z_STREAM_ERROR (-2)
+#define Z_DATA_ERROR (-3)
+#define Z_MEM_ERROR (-4)
+#define Z_BUF_ERROR (-5)
+#define Z_VERSION_ERROR (-6)
+/* Return codes for the compression/decompression functions. Negative values
+ * are errors, positive values are used for special but normal events.
+ */
+
+#define Z_NO_COMPRESSION 0
+#define Z_BEST_SPEED 1
+#define Z_BEST_COMPRESSION 9
+#define Z_DEFAULT_COMPRESSION (-1)
+/* compression levels */
+
+#define Z_FILTERED 1
+#define Z_HUFFMAN_ONLY 2
+#define Z_RLE 3
+#define Z_FIXED 4
+#define Z_DEFAULT_STRATEGY 0
+/* compression strategy; see deflateInit2() below for details */
+
+#define Z_BINARY 0
+#define Z_TEXT 1
+#define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */
+#define Z_UNKNOWN 2
+/* Possible values of the data_type field (though see inflate()) */
+
+#define Z_DEFLATED 8
+/* The deflate compression method (the only one supported in this version) */
+
+#define Z_NULL 0 /* for initializing zalloc, zfree, opaque */
+
+#define zlib_version zlibVersion()
+/* for compatibility with versions < 1.0.2 */
+
+
+ /* basic functions */
+
+ZEXTERN const char * ZEXPORT zlibVersion OF((void));
+/* The application can compare zlibVersion and ZLIB_VERSION for consistency.
+ If the first character differs, the library code actually used is not
+ compatible with the zlib.h header file used by the application. This check
+ is automatically made by deflateInit and inflateInit.
+ */
+
+/*
+ZEXTERN int ZEXPORT deflateInit OF((z_streamp strm, int level));
+
+ Initializes the internal stream state for compression. The fields
+ zalloc, zfree and opaque must be initialized before by the caller. If
+ zalloc and zfree are set to Z_NULL, deflateInit updates them to use default
+ allocation functions.
+
+ The compression level must be Z_DEFAULT_COMPRESSION, or between 0 and 9:
+ 1 gives best speed, 9 gives best compression, 0 gives no compression at all
+ (the input data is simply copied a block at a time). Z_DEFAULT_COMPRESSION
+ requests a default compromise between speed and compression (currently
+ equivalent to level 6).
+
+ deflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_STREAM_ERROR if level is not a valid compression level, or
+ Z_VERSION_ERROR if the zlib library version (zlib_version) is incompatible
+ with the version assumed by the caller (ZLIB_VERSION). msg is set to null
+ if there is no error message. deflateInit does not perform any compression:
+ this will be done by deflate().
+*/
+
+
+ZEXTERN int ZEXPORT deflate OF((z_streamp strm, int flush));
+/*
+ deflate compresses as much data as possible, and stops when the input
+ buffer becomes empty or the output buffer becomes full. It may introduce
+ some output latency (reading input without producing any output) except when
+ forced to flush.
+
+ The detailed semantics are as follows. deflate performs one or both of the
+ following actions:
+
+ - Compress more input starting at next_in and update next_in and avail_in
+ accordingly. If not all input can be processed (because there is not
+ enough room in the output buffer), next_in and avail_in are updated and
+ processing will resume at this point for the next call of deflate().
+
+ - Provide more output starting at next_out and update next_out and avail_out
+ accordingly. This action is forced if the parameter flush is non zero.
+ Forcing flush frequently degrades the compression ratio, so this parameter
+ should be set only when necessary (in interactive applications). Some
+ output may be provided even if flush is not set.
+
+ Before the call of deflate(), the application should ensure that at least
+ one of the actions is possible, by providing more input and/or consuming more
+ output, and updating avail_in or avail_out accordingly; avail_out should
+ never be zero before the call. The application can consume the compressed
+ output when it wants, for example when the output buffer is full (avail_out
+ == 0), or after each call of deflate(). If deflate returns Z_OK and with
+ zero avail_out, it must be called again after making room in the output
+ buffer because there might be more output pending.
+
+ Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to
+ decide how much data to accumulate before producing output, in order to
+ maximize compression.
+
+ If the parameter flush is set to Z_SYNC_FLUSH, all pending output is
+ flushed to the output buffer and the output is aligned on a byte boundary, so
+ that the decompressor can get all input data available so far. (In
+ particular avail_in is zero after the call if enough output space has been
+ provided before the call.) Flushing may degrade compression for some
+ compression algorithms and so it should be used only when necessary. This
+ completes the current deflate block and follows it with an empty stored block
+ that is three bits plus filler bits to the next byte, followed by four bytes
+ (00 00 ff ff).
+
+ If flush is set to Z_PARTIAL_FLUSH, all pending output is flushed to the
+ output buffer, but the output is not aligned to a byte boundary. All of the
+ input data so far will be available to the decompressor, as for Z_SYNC_FLUSH.
+ This completes the current deflate block and follows it with an empty fixed
+ codes block that is 10 bits long. This assures that enough bytes are output
+ in order for the decompressor to finish the block before the empty fixed code
+ block.
+
+ If flush is set to Z_BLOCK, a deflate block is completed and emitted, as
+ for Z_SYNC_FLUSH, but the output is not aligned on a byte boundary, and up to
+ seven bits of the current block are held to be written as the next byte after
+ the next deflate block is completed. In this case, the decompressor may not
+ be provided enough bits at this point in order to complete decompression of
+ the data provided so far to the compressor. It may need to wait for the next
+ block to be emitted. This is for advanced applications that need to control
+ the emission of deflate blocks.
+
+ If flush is set to Z_FULL_FLUSH, all output is flushed as with
+ Z_SYNC_FLUSH, and the compression state is reset so that decompression can
+ restart from this point if previous compressed data has been damaged or if
+ random access is desired. Using Z_FULL_FLUSH too often can seriously degrade
+ compression.
+
+ If deflate returns with avail_out == 0, this function must be called again
+ with the same value of the flush parameter and more output space (updated
+ avail_out), until the flush is complete (deflate returns with non-zero
+ avail_out). In the case of a Z_FULL_FLUSH or Z_SYNC_FLUSH, make sure that
+ avail_out is greater than six to avoid repeated flush markers due to
+ avail_out == 0 on return.
+
+ If the parameter flush is set to Z_FINISH, pending input is processed,
+ pending output is flushed and deflate returns with Z_STREAM_END if there was
+ enough output space; if deflate returns with Z_OK, this function must be
+ called again with Z_FINISH and more output space (updated avail_out) but no
+ more input data, until it returns with Z_STREAM_END or an error. After
+ deflate has returned Z_STREAM_END, the only possible operations on the stream
+ are deflateReset or deflateEnd.
+
+ Z_FINISH can be used immediately after deflateInit if all the compression
+ is to be done in a single step. In this case, avail_out must be at least the
+ value returned by deflateBound (see below). Then deflate is guaranteed to
+ return Z_STREAM_END. If not enough output space is provided, deflate will
+ not return Z_STREAM_END, and it must be called again as described above.
+
+ deflate() sets strm->adler to the adler32 checksum of all input read
+ so far (that is, total_in bytes).
+
+ deflate() may update strm->data_type if it can make a good guess about
+ the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered
+ binary. This field is only for information purposes and does not affect the
+ compression algorithm in any manner.
+
+ deflate() returns Z_OK if some progress has been made (more input
+ processed or more output produced), Z_STREAM_END if all input has been
+ consumed and all output has been produced (only when flush is set to
+ Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for example
+ if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible
+ (for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
+ fatal, and deflate() can be called again with more input and more output
+ space to continue compressing.
+*/
+
+
+ZEXTERN int ZEXPORT deflateEnd OF((z_streamp strm));
+/*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any pending
+ output.
+
+ deflateEnd returns Z_OK if success, Z_STREAM_ERROR if the
+ stream state was inconsistent, Z_DATA_ERROR if the stream was freed
+ prematurely (some input or output was discarded). In the error case, msg
+ may be set but then points to a static string (which must not be
+ deallocated).
+*/
+
+
+/*
+ZEXTERN int ZEXPORT inflateInit OF((z_streamp strm));
+
+ Initializes the internal stream state for decompression. The fields
+ next_in, avail_in, zalloc, zfree and opaque must be initialized before by
+ the caller. If next_in is not Z_NULL and avail_in is large enough (the
+ exact value depends on the compression method), inflateInit determines the
+ compression method from the zlib header and allocates all data structures
+ accordingly; otherwise the allocation will be deferred to the first call of
+ inflate. If zalloc and zfree are set to Z_NULL, inflateInit updates them to
+ use default allocation functions.
+
+ inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
+ version assumed by the caller, or Z_STREAM_ERROR if the parameters are
+ invalid, such as a null pointer to the structure. msg is set to null if
+ there is no error message. inflateInit does not perform any decompression
+ apart from possibly reading the zlib header if present: actual decompression
+ will be done by inflate(). (So next_in and avail_in may be modified, but
+ next_out and avail_out are unused and unchanged.) The current implementation
+ of inflateInit() does not process any header information -- that is deferred
+ until inflate() is called.
+*/
+
+
+ZEXTERN int ZEXPORT inflate OF((z_streamp strm, int flush));
+/*
+ inflate decompresses as much data as possible, and stops when the input
+ buffer becomes empty or the output buffer becomes full. It may introduce
+ some output latency (reading input without producing any output) except when
+ forced to flush.
+
+ The detailed semantics are as follows. inflate performs one or both of the
+ following actions:
+
+ - Decompress more input starting at next_in and update next_in and avail_in
+ accordingly. If not all input can be processed (because there is not
+ enough room in the output buffer), next_in is updated and processing will
+ resume at this point for the next call of inflate().
+
+ - Provide more output starting at next_out and update next_out and avail_out
+ accordingly. inflate() provides as much output as possible, until there is
+ no more input data or no more space in the output buffer (see below about
+ the flush parameter).
+
+ Before the call of inflate(), the application should ensure that at least
+ one of the actions is possible, by providing more input and/or consuming more
+ output, and updating the next_* and avail_* values accordingly. The
+ application can consume the uncompressed output when it wants, for example
+ when the output buffer is full (avail_out == 0), or after each call of
+ inflate(). If inflate returns Z_OK and with zero avail_out, it must be
+ called again after making room in the output buffer because there might be
+ more output pending.
+
+ The flush parameter of inflate() can be Z_NO_FLUSH, Z_SYNC_FLUSH, Z_FINISH,
+ Z_BLOCK, or Z_TREES. Z_SYNC_FLUSH requests that inflate() flush as much
+ output as possible to the output buffer. Z_BLOCK requests that inflate()
+ stop if and when it gets to the next deflate block boundary. When decoding
+ the zlib or gzip format, this will cause inflate() to return immediately
+ after the header and before the first block. When doing a raw inflate,
+ inflate() will go ahead and process the first block, and will return when it
+ gets to the end of that block, or when it runs out of data.
+
+ The Z_BLOCK option assists in appending to or combining deflate streams.
+ Also to assist in this, on return inflate() will set strm->data_type to the
+ number of unused bits in the last byte taken from strm->next_in, plus 64 if
+ inflate() is currently decoding the last block in the deflate stream, plus
+ 128 if inflate() returned immediately after decoding an end-of-block code or
+ decoding the complete header up to just before the first byte of the deflate
+ stream. The end-of-block will not be indicated until all of the uncompressed
+ data from that block has been written to strm->next_out. The number of
+ unused bits may in general be greater than seven, except when bit 7 of
+ data_type is set, in which case the number of unused bits will be less than
+ eight. data_type is set as noted here every time inflate() returns for all
+ flush options, and so can be used to determine the amount of currently
+ consumed input in bits.
+
+ The Z_TREES option behaves as Z_BLOCK does, but it also returns when the
+ end of each deflate block header is reached, before any actual data in that
+ block is decoded. This allows the caller to determine the length of the
+ deflate block header for later use in random access within a deflate block.
+ 256 is added to the value of strm->data_type when inflate() returns
+ immediately after reaching the end of the deflate block header.
+
+ inflate() should normally be called until it returns Z_STREAM_END or an
+ error. However if all decompression is to be performed in a single step (a
+ single call of inflate), the parameter flush should be set to Z_FINISH. In
+ this case all pending input is processed and all pending output is flushed;
+ avail_out must be large enough to hold all of the uncompressed data for the
+ operation to complete. (The size of the uncompressed data may have been
+ saved by the compressor for this purpose.) The use of Z_FINISH is not
+ required to perform an inflation in one step. However it may be used to
+ inform inflate that a faster approach can be used for the single inflate()
+ call. Z_FINISH also informs inflate to not maintain a sliding window if the
+ stream completes, which reduces inflate's memory footprint. If the stream
+ does not complete, either because not all of the stream is provided or not
+ enough output space is provided, then a sliding window will be allocated and
+ inflate() can be called again to continue the operation as if Z_NO_FLUSH had
+ been used.
+
+ In this implementation, inflate() always flushes as much output as
+ possible to the output buffer, and always uses the faster approach on the
+ first call. So the effects of the flush parameter in this implementation are
+ on the return value of inflate() as noted below, when inflate() returns early
+ when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of
+ memory for a sliding window when Z_FINISH is used.
+
+ If a preset dictionary is needed after this call (see inflateSetDictionary
+ below), inflate sets strm->adler to the Adler-32 checksum of the dictionary
+ chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
+ strm->adler to the Adler-32 checksum of all output produced so far (that is,
+ total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
+ below. At the end of the stream, inflate() checks that its computed adler32
+ checksum is equal to that saved by the compressor and returns Z_STREAM_END
+ only if the checksum is correct.
+
+ inflate() can decompress and check either zlib-wrapped or gzip-wrapped
+ deflate data. The header type is detected automatically, if requested when
+ initializing with inflateInit2(). Any information contained in the gzip
+ header is not retained, so applications that need that information should
+ instead use raw inflate, see inflateInit2() below, or inflateBack() and
+ perform their own processing of the gzip header and trailer. When processing
+ gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output
+ producted so far. The CRC-32 is checked against the gzip trailer.
+
+ inflate() returns Z_OK if some progress has been made (more input processed
+ or more output produced), Z_STREAM_END if the end of the compressed data has
+ been reached and all uncompressed output has been produced, Z_NEED_DICT if a
+ preset dictionary is needed at this point, Z_DATA_ERROR if the input data was
+ corrupted (input stream not conforming to the zlib format or incorrect check
+ value), Z_STREAM_ERROR if the stream structure was inconsistent (for example
+ next_in or next_out was Z_NULL), Z_MEM_ERROR if there was not enough memory,
+ Z_BUF_ERROR if no progress is possible or if there was not enough room in the
+ output buffer when Z_FINISH is used. Note that Z_BUF_ERROR is not fatal, and
+ inflate() can be called again with more input and more output space to
+ continue decompressing. If Z_DATA_ERROR is returned, the application may
+ then call inflateSync() to look for a good compression block if a partial
+ recovery of the data is desired.
+*/
+
+
+ZEXTERN int ZEXPORT inflateEnd OF((z_streamp strm));
+/*
+ All dynamically allocated data structures for this stream are freed.
+ This function discards any unprocessed input and does not flush any pending
+ output.
+
+ inflateEnd returns Z_OK if success, Z_STREAM_ERROR if the stream state
+ was inconsistent. In the error case, msg may be set but then points to a
+ static string (which must not be deallocated).
+*/
+
+
+ /* Advanced functions */
+
+/*
+ The following functions are needed only in some special applications.
+*/
+
+/*
+ZEXTERN int ZEXPORT deflateInit2 OF((z_streamp strm,
+ int level,
+ int method,
+ int windowBits,
+ int memLevel,
+ int strategy));
+
+ This is another version of deflateInit with more compression options. The
+ fields next_in, zalloc, zfree and opaque must be initialized before by the
+ caller.
+
+ The method parameter is the compression method. It must be Z_DEFLATED in
+ this version of the library.
+
+ The windowBits parameter is the base two logarithm of the window size
+ (the size of the history buffer). It should be in the range 8..15 for this
+ version of the library. Larger values of this parameter result in better
+ compression at the expense of memory usage. The default value is 15 if
+ deflateInit is used instead.
+
+ windowBits can also be -8..-15 for raw deflate. In this case, -windowBits
+ determines the window size. deflate() will then generate raw deflate data
+ with no zlib header or trailer, and will not compute an adler32 check value.
+
+ windowBits can also be greater than 15 for optional gzip encoding. Add
+ 16 to windowBits to write a simple gzip header and trailer around the
+ compressed data instead of a zlib wrapper. The gzip header will have no
+ file name, no extra data, no comment, no modification time (set to zero), no
+ header crc, and the operating system will be set to 255 (unknown). If a
+ gzip stream is being written, strm->adler is a crc32 instead of an adler32.
+
+ The memLevel parameter specifies how much memory should be allocated
+ for the internal compression state. memLevel=1 uses minimum memory but is
+ slow and reduces compression ratio; memLevel=9 uses maximum memory for
+ optimal speed. The default value is 8. See zconf.h for total memory usage
+ as a function of windowBits and memLevel.
+
+ The strategy parameter is used to tune the compression algorithm. Use the
+ value Z_DEFAULT_STRATEGY for normal data, Z_FILTERED for data produced by a
+ filter (or predictor), Z_HUFFMAN_ONLY to force Huffman encoding only (no
+ string match), or Z_RLE to limit match distances to one (run-length
+ encoding). Filtered data consists mostly of small values with a somewhat
+ random distribution. In this case, the compression algorithm is tuned to
+ compress them better. The effect of Z_FILTERED is to force more Huffman
+ coding and less string matching; it is somewhat intermediate between
+ Z_DEFAULT_STRATEGY and Z_HUFFMAN_ONLY. Z_RLE is designed to be almost as
+ fast as Z_HUFFMAN_ONLY, but give better compression for PNG image data. The
+ strategy parameter only affects the compression ratio but not the
+ correctness of the compressed output even if it is not set appropriately.
+ Z_FIXED prevents the use of dynamic Huffman codes, allowing for a simpler
+ decoder for special applications.
+
+ deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_STREAM_ERROR if any parameter is invalid (such as an invalid
+ method), or Z_VERSION_ERROR if the zlib library version (zlib_version) is
+ incompatible with the version assumed by the caller (ZLIB_VERSION). msg is
+ set to null if there is no error message. deflateInit2 does not perform any
+ compression: this will be done by deflate().
+*/
+
+ZEXTERN int ZEXPORT deflateSetDictionary OF((z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength));
+/*
+ Initializes the compression dictionary from the given byte sequence
+ without producing any compressed output. When using the zlib format, this
+ function must be called immediately after deflateInit, deflateInit2 or
+ deflateReset, and before any call of deflate. When doing raw deflate, this
+ function must be called either before any call of deflate, or immediately
+ after the completion of a deflate block, i.e. after all input has been
+ consumed and all output has been delivered when using any of the flush
+ options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH. The
+ compressor and decompressor must use exactly the same dictionary (see
+ inflateSetDictionary).
+
+ The dictionary should consist of strings (byte sequences) that are likely
+ to be encountered later in the data to be compressed, with the most commonly
+ used strings preferably put towards the end of the dictionary. Using a
+ dictionary is most useful when the data to be compressed is short and can be
+ predicted with good accuracy; the data can then be compressed better than
+ with the default empty dictionary.
+
+ Depending on the size of the compression data structures selected by
+ deflateInit or deflateInit2, a part of the dictionary may in effect be
+ discarded, for example if the dictionary is larger than the window size
+ provided in deflateInit or deflateInit2. Thus the strings most likely to be
+ useful should be put at the end of the dictionary, not at the front. In
+ addition, the current implementation of deflate will use at most the window
+ size minus 262 bytes of the provided dictionary.
+
+ Upon return of this function, strm->adler is set to the adler32 value
+ of the dictionary; the decompressor may later use this value to determine
+ which dictionary has been used by the compressor. (The adler32 value
+ applies to the whole dictionary even if only a subset of the dictionary is
+ actually used by the compressor.) If a raw deflate was requested, then the
+ adler32 value is not computed and strm->adler is not set.
+
+ deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
+ parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
+ inconsistent (for example if deflate has already been called for this stream
+ or if not at a block boundary for raw deflate). deflateSetDictionary does
+ not perform any compression: this will be done by deflate().
+*/
+
+ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
+ z_streamp source));
+/*
+ Sets the destination stream as a complete copy of the source stream.
+
+ This function can be useful when several compression strategies will be
+ tried, for example when there are several ways of pre-processing the input
+ data with a filter. The streams that will be discarded should then be freed
+ by calling deflateEnd. Note that deflateCopy duplicates the internal
+ compression state which can be quite large, so this strategy is slow and can
+ consume lots of memory.
+
+ deflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
+ (such as zalloc being Z_NULL). msg is left unchanged in both source and
+ destination.
+*/
+
+ZEXTERN int ZEXPORT deflateReset OF((z_streamp strm));
+/*
+ This function is equivalent to deflateEnd followed by deflateInit,
+ but does not free and reallocate all the internal compression state. The
+ stream will keep the same compression level and any other attributes that
+ may have been set by deflateInit2.
+
+ deflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent (such as zalloc or state being Z_NULL).
+*/
+
+ZEXTERN int ZEXPORT deflateParams OF((z_streamp strm,
+ int level,
+ int strategy));
+/*
+ Dynamically update the compression level and compression strategy. The
+ interpretation of level and strategy is as in deflateInit2. This can be
+ used to switch between compression and straight copy of the input data, or
+ to switch to a different kind of input data requiring a different strategy.
+ If the compression level is changed, the input available so far is
+ compressed with the old level (and may be flushed); the new level will take
+ effect only at the next call of deflate().
+
+ Before the call of deflateParams, the stream state must be set as for
+ a call of deflate(), since the currently available input may have to be
+ compressed and flushed. In particular, strm->avail_out must be non-zero.
+
+ deflateParams returns Z_OK if success, Z_STREAM_ERROR if the source
+ stream state was inconsistent or if a parameter was invalid, Z_BUF_ERROR if
+ strm->avail_out was zero.
+*/
+
+ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm,
+ int good_length,
+ int max_lazy,
+ int nice_length,
+ int max_chain));
+/*
+ Fine tune deflate's internal compression parameters. This should only be
+ used by someone who understands the algorithm used by zlib's deflate for
+ searching for the best matching string, and even then only by the most
+ fanatic optimizer trying to squeeze out the last compressed bit for their
+ specific input data. Read the deflate.c source code for the meaning of the
+ max_lazy, good_length, nice_length, and max_chain parameters.
+
+ deflateTune() can be called after deflateInit() or deflateInit2(), and
+ returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream.
+ */
+
+ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm,
+ uLong sourceLen));
+/*
+ deflateBound() returns an upper bound on the compressed size after
+ deflation of sourceLen bytes. It must be called after deflateInit() or
+ deflateInit2(), and after deflateSetHeader(), if used. This would be used
+ to allocate an output buffer for deflation in a single pass, and so would be
+ called before deflate(). If that first deflate() call is provided the
+ sourceLen input bytes, an output buffer allocated to the size returned by
+ deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed
+ to return Z_STREAM_END. Note that it is possible for the compressed size to
+ be larger than the value returned by deflateBound() if flush options other
+ than Z_FINISH or Z_NO_FLUSH are used.
+*/
+
+ZEXTERN int ZEXPORT deflatePending OF((z_streamp strm,
+ unsigned *pending,
+ int *bits));
+/*
+ deflatePending() returns the number of bytes and bits of output that have
+ been generated, but not yet provided in the available output. The bytes not
+ provided would be due to the available output space having being consumed.
+ The number of bits of output not provided are between 0 and 7, where they
+ await more bits to join them in order to fill out a full byte. If pending
+ or bits are Z_NULL, then those values are not set.
+
+ deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent.
+ */
+
+ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
+ int bits,
+ int value));
+/*
+ deflatePrime() inserts bits in the deflate output stream. The intent
+ is that this function is used to start off the deflate output with the bits
+ leftover from a previous deflate stream when appending to it. As such, this
+ function can only be used for raw deflate, and must be used before the first
+ deflate() call after a deflateInit2() or deflateReset(). bits must be less
+ than or equal to 16, and that many of the least significant bits of value
+ will be inserted in the output.
+
+ deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough
+ room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the
+ source stream state was inconsistent.
+*/
+
+ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm,
+ gz_headerp head));
+/*
+ deflateSetHeader() provides gzip header information for when a gzip
+ stream is requested by deflateInit2(). deflateSetHeader() may be called
+ after deflateInit2() or deflateReset() and before the first call of
+ deflate(). The text, time, os, extra field, name, and comment information
+ in the provided gz_header structure are written to the gzip header (xflag is
+ ignored -- the extra flags are set according to the compression level). The
+ caller must assure that, if not Z_NULL, name and comment are terminated with
+ a zero byte, and that if extra is not Z_NULL, that extra_len bytes are
+ available there. If hcrc is true, a gzip header crc is included. Note that
+ the current versions of the command-line version of gzip (up through version
+ 1.3.x) do not support header crc's, and will report that it is a "multi-part
+ gzip file" and give up.
+
+ If deflateSetHeader is not used, the default gzip header has text false,
+ the time set to zero, and os set to 255, with no extra, name, or comment
+ fields. The gzip header is returned to the default state by deflateReset().
+
+ deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent.
+*/
+
+/*
+ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm,
+ int windowBits));
+
+ This is another version of inflateInit with an extra parameter. The
+ fields next_in, avail_in, zalloc, zfree and opaque must be initialized
+ before by the caller.
+
+ The windowBits parameter is the base two logarithm of the maximum window
+ size (the size of the history buffer). It should be in the range 8..15 for
+ this version of the library. The default value is 15 if inflateInit is used
+ instead. windowBits must be greater than or equal to the windowBits value
+ provided to deflateInit2() while compressing, or it must be equal to 15 if
+ deflateInit2() was not used. If a compressed stream with a larger window
+ size is given as input, inflate() will return with the error code
+ Z_DATA_ERROR instead of trying to allocate a larger window.
+
+ windowBits can also be zero to request that inflate use the window size in
+ the zlib header of the compressed stream.
+
+ windowBits can also be -8..-15 for raw inflate. In this case, -windowBits
+ determines the window size. inflate() will then process raw deflate data,
+ not looking for a zlib or gzip header, not generating a check value, and not
+ looking for any check values for comparison at the end of the stream. This
+ is for use with other formats that use the deflate compressed data format
+ such as zip. Those formats provide their own check values. If a custom
+ format is developed using the raw deflate format for compressed data, it is
+ recommended that a check value such as an adler32 or a crc32 be applied to
+ the uncompressed data as is done in the zlib, gzip, and zip formats. For
+ most applications, the zlib format should be used as is. Note that comments
+ above on the use in deflateInit2() applies to the magnitude of windowBits.
+
+ windowBits can also be greater than 15 for optional gzip decoding. Add
+ 32 to windowBits to enable zlib and gzip decoding with automatic header
+ detection, or add 16 to decode only the gzip format (the zlib format will
+ return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is a
+ crc32 instead of an adler32.
+
+ inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_VERSION_ERROR if the zlib library version is incompatible with the
+ version assumed by the caller, or Z_STREAM_ERROR if the parameters are
+ invalid, such as a null pointer to the structure. msg is set to null if
+ there is no error message. inflateInit2 does not perform any decompression
+ apart from possibly reading the zlib header if present: actual decompression
+ will be done by inflate(). (So next_in and avail_in may be modified, but
+ next_out and avail_out are unused and unchanged.) The current implementation
+ of inflateInit2() does not process any header information -- that is
+ deferred until inflate() is called.
+*/
+
+ZEXTERN int ZEXPORT inflateSetDictionary OF((z_streamp strm,
+ const Bytef *dictionary,
+ uInt dictLength));
+/*
+ Initializes the decompression dictionary from the given uncompressed byte
+ sequence. This function must be called immediately after a call of inflate,
+ if that call returned Z_NEED_DICT. The dictionary chosen by the compressor
+ can be determined from the adler32 value returned by that call of inflate.
+ The compressor and decompressor must use exactly the same dictionary (see
+ deflateSetDictionary). For raw inflate, this function can be called at any
+ time to set the dictionary. If the provided dictionary is smaller than the
+ window and there is already data in the window, then the provided dictionary
+ will amend what's there. The application must insure that the dictionary
+ that was used for compression is provided.
+
+ inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
+ parameter is invalid (e.g. dictionary being Z_NULL) or the stream state is
+ inconsistent, Z_DATA_ERROR if the given dictionary doesn't match the
+ expected one (incorrect adler32 value). inflateSetDictionary does not
+ perform any decompression: this will be done by subsequent calls of
+ inflate().
+*/
+
+ZEXTERN int ZEXPORT inflateGetDictionary OF((z_streamp strm,
+ Bytef *dictionary,
+ uInt *dictLength));
+/*
+ Returns the sliding dictionary being maintained by inflate. dictLength is
+ set to the number of bytes in the dictionary, and that many bytes are copied
+ to dictionary. dictionary must have enough space, where 32768 bytes is
+ always enough. If inflateGetDictionary() is called with dictionary equal to
+ Z_NULL, then only the dictionary length is returned, and nothing is copied.
+ Similary, if dictLength is Z_NULL, then it is not set.
+
+ inflateGetDictionary returns Z_OK on success, or Z_STREAM_ERROR if the
+ stream state is inconsistent.
+*/
+
+ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
+/*
+ Skips invalid compressed data until a possible full flush point (see above
+ for the description of deflate with Z_FULL_FLUSH) can be found, or until all
+ available input is skipped. No output is provided.
+
+ inflateSync searches for a 00 00 FF FF pattern in the compressed data.
+ All full flush points have this pattern, but not all occurrences of this
+ pattern are full flush points.
+
+ inflateSync returns Z_OK if a possible full flush point has been found,
+ Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point
+ has been found, or Z_STREAM_ERROR if the stream structure was inconsistent.
+ In the success case, the application may save the current current value of
+ total_in which indicates where valid compressed data was found. In the
+ error case, the application may repeatedly call inflateSync, providing more
+ input each time, until success or end of the input data.
+*/
+
+ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
+ z_streamp source));
+/*
+ Sets the destination stream as a complete copy of the source stream.
+
+ This function can be useful when randomly accessing a large stream. The
+ first pass through the stream can periodically record the inflate state,
+ allowing restarting inflate at those points when randomly accessing the
+ stream.
+
+ inflateCopy returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_STREAM_ERROR if the source stream state was inconsistent
+ (such as zalloc being Z_NULL). msg is left unchanged in both source and
+ destination.
+*/
+
+ZEXTERN int ZEXPORT inflateReset OF((z_streamp strm));
+/*
+ This function is equivalent to inflateEnd followed by inflateInit,
+ but does not free and reallocate all the internal decompression state. The
+ stream will keep attributes that may have been set by inflateInit2.
+
+ inflateReset returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent (such as zalloc or state being Z_NULL).
+*/
+
+ZEXTERN int ZEXPORT inflateReset2 OF((z_streamp strm,
+ int windowBits));
+/*
+ This function is the same as inflateReset, but it also permits changing
+ the wrap and window size requests. The windowBits parameter is interpreted
+ the same as it is for inflateInit2.
+
+ inflateReset2 returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent (such as zalloc or state being Z_NULL), or if
+ the windowBits parameter is invalid.
+*/
+
+ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm,
+ int bits,
+ int value));
+/*
+ This function inserts bits in the inflate input stream. The intent is
+ that this function is used to start inflating at a bit position in the
+ middle of a byte. The provided bits will be used before any bytes are used
+ from next_in. This function should only be used with raw inflate, and
+ should be used before the first inflate() call after inflateInit2() or
+ inflateReset(). bits must be less than or equal to 16, and that many of the
+ least significant bits of value will be inserted in the input.
+
+ If bits is negative, then the input stream bit buffer is emptied. Then
+ inflatePrime() can be called again to put bits in the buffer. This is used
+ to clear out bits leftover after feeding inflate a block description prior
+ to feeding inflate codes.
+
+ inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent.
+*/
+
+ZEXTERN long ZEXPORT inflateMark OF((z_streamp strm));
+/*
+ This function returns two values, one in the lower 16 bits of the return
+ value, and the other in the remaining upper bits, obtained by shifting the
+ return value down 16 bits. If the upper value is -1 and the lower value is
+ zero, then inflate() is currently decoding information outside of a block.
+ If the upper value is -1 and the lower value is non-zero, then inflate is in
+ the middle of a stored block, with the lower value equaling the number of
+ bytes from the input remaining to copy. If the upper value is not -1, then
+ it is the number of bits back from the current bit position in the input of
+ the code (literal or length/distance pair) currently being processed. In
+ that case the lower value is the number of bytes already emitted for that
+ code.
+
+ A code is being processed if inflate is waiting for more input to complete
+ decoding of the code, or if it has completed decoding but is waiting for
+ more output space to write the literal or match data.
+
+ inflateMark() is used to mark locations in the input data for random
+ access, which may be at bit positions, and to note those cases where the
+ output of a code may span boundaries of random access blocks. The current
+ location in the input stream can be determined from avail_in and data_type
+ as noted in the description for the Z_BLOCK flush parameter for inflate.
+
+ inflateMark returns the value noted above or -1 << 16 if the provided
+ source stream state was inconsistent.
+*/
+
+ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm,
+ gz_headerp head));
+/*
+ inflateGetHeader() requests that gzip header information be stored in the
+ provided gz_header structure. inflateGetHeader() may be called after
+ inflateInit2() or inflateReset(), and before the first call of inflate().
+ As inflate() processes the gzip stream, head->done is zero until the header
+ is completed, at which time head->done is set to one. If a zlib stream is
+ being decoded, then head->done is set to -1 to indicate that there will be
+ no gzip header information forthcoming. Note that Z_BLOCK or Z_TREES can be
+ used to force inflate() to return immediately after header processing is
+ complete and before any actual data is decompressed.
+
+ The text, time, xflags, and os fields are filled in with the gzip header
+ contents. hcrc is set to true if there is a header CRC. (The header CRC
+ was valid if done is set to one.) If extra is not Z_NULL, then extra_max
+ contains the maximum number of bytes to write to extra. Once done is true,
+ extra_len contains the actual extra field length, and extra contains the
+ extra field, or that field truncated if extra_max is less than extra_len.
+ If name is not Z_NULL, then up to name_max characters are written there,
+ terminated with a zero unless the length is greater than name_max. If
+ comment is not Z_NULL, then up to comm_max characters are written there,
+ terminated with a zero unless the length is greater than comm_max. When any
+ of extra, name, or comment are not Z_NULL and the respective field is not
+ present in the header, then that field is set to Z_NULL to signal its
+ absence. This allows the use of deflateSetHeader() with the returned
+ structure to duplicate the header. However if those fields are set to
+ allocated memory, then the application will need to save those pointers
+ elsewhere so that they can be eventually freed.
+
+ If inflateGetHeader is not used, then the header information is simply
+ discarded. The header is always checked for validity, including the header
+ CRC if present. inflateReset() will reset the process to discard the header
+ information. The application would need to call inflateGetHeader() again to
+ retrieve the header from the next gzip stream.
+
+ inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source
+ stream state was inconsistent.
+*/
+
+/*
+ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits,
+ unsigned char FAR *window));
+
+ Initialize the internal stream state for decompression using inflateBack()
+ calls. The fields zalloc, zfree and opaque in strm must be initialized
+ before the call. If zalloc and zfree are Z_NULL, then the default library-
+ derived memory allocation routines are used. windowBits is the base two
+ logarithm of the window size, in the range 8..15. window is a caller
+ supplied buffer of that size. Except for special applications where it is
+ assured that deflate was used with small window sizes, windowBits must be 15
+ and a 32K byte window must be supplied to be able to decompress general
+ deflate streams.
+
+ See inflateBack() for the usage of these routines.
+
+ inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
+ the parameters are invalid, Z_MEM_ERROR if the internal state could not be
+ allocated, or Z_VERSION_ERROR if the version of the library does not match
+ the version of the header file.
+*/
+
+typedef unsigned (*in_func) OF((void FAR *,
+ z_const unsigned char FAR * FAR *));
+typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned));
+
+ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm,
+ in_func in, void FAR *in_desc,
+ out_func out, void FAR *out_desc));
+/*
+ inflateBack() does a raw inflate with a single call using a call-back
+ interface for input and output. This is potentially more efficient than
+ inflate() for file i/o applications, in that it avoids copying between the
+ output and the sliding window by simply making the window itself the output
+ buffer. inflate() can be faster on modern CPUs when used with large
+ buffers. inflateBack() trusts the application to not change the output
+ buffer passed by the output function, at least until inflateBack() returns.
+
+ inflateBackInit() must be called first to allocate the internal state
+ and to initialize the state with the user-provided window buffer.
+ inflateBack() may then be used multiple times to inflate a complete, raw
+ deflate stream with each call. inflateBackEnd() is then called to free the
+ allocated state.
+
+ A raw deflate stream is one with no zlib or gzip header or trailer.
+ This routine would normally be used in a utility that reads zip or gzip
+ files and writes out uncompressed files. The utility would decode the
+ header and process the trailer on its own, hence this routine expects only
+ the raw deflate stream to decompress. This is different from the normal
+ behavior of inflate(), which expects either a zlib or gzip header and
+ trailer around the deflate stream.
+
+ inflateBack() uses two subroutines supplied by the caller that are then
+ called by inflateBack() for input and output. inflateBack() calls those
+ routines until it reads a complete deflate stream and writes out all of the
+ uncompressed data, or until it encounters an error. The function's
+ parameters and return types are defined above in the in_func and out_func
+ typedefs. inflateBack() will call in(in_desc, &buf) which should return the
+ number of bytes of provided input, and a pointer to that input in buf. If
+ there is no input available, in() must return zero--buf is ignored in that
+ case--and inflateBack() will return a buffer error. inflateBack() will call
+ out(out_desc, buf, len) to write the uncompressed data buf[0..len-1]. out()
+ should return zero on success, or non-zero on failure. If out() returns
+ non-zero, inflateBack() will return with an error. Neither in() nor out()
+ are permitted to change the contents of the window provided to
+ inflateBackInit(), which is also the buffer that out() uses to write from.
+ The length written by out() will be at most the window size. Any non-zero
+ amount of input may be provided by in().
+
+ For convenience, inflateBack() can be provided input on the first call by
+ setting strm->next_in and strm->avail_in. If that input is exhausted, then
+ in() will be called. Therefore strm->next_in must be initialized before
+ calling inflateBack(). If strm->next_in is Z_NULL, then in() will be called
+ immediately for input. If strm->next_in is not Z_NULL, then strm->avail_in
+ must also be initialized, and then if strm->avail_in is not zero, input will
+ initially be taken from strm->next_in[0 .. strm->avail_in - 1].
+
+ The in_desc and out_desc parameters of inflateBack() is passed as the
+ first parameter of in() and out() respectively when they are called. These
+ descriptors can be optionally used to pass any information that the caller-
+ supplied in() and out() functions need to do their job.
+
+ On return, inflateBack() will set strm->next_in and strm->avail_in to
+ pass back any unused input that was provided by the last in() call. The
+ return values of inflateBack() can be Z_STREAM_END on success, Z_BUF_ERROR
+ if in() or out() returned an error, Z_DATA_ERROR if there was a format error
+ in the deflate stream (in which case strm->msg is set to indicate the nature
+ of the error), or Z_STREAM_ERROR if the stream was not properly initialized.
+ In the case of Z_BUF_ERROR, an input or output error can be distinguished
+ using strm->next_in which will be Z_NULL only if in() returned an error. If
+ strm->next_in is not Z_NULL, then the Z_BUF_ERROR was due to out() returning
+ non-zero. (in() will always be called before out(), so strm->next_in is
+ assured to be defined if out() returns non-zero.) Note that inflateBack()
+ cannot return Z_OK.
+*/
+
+ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm));
+/*
+ All memory allocated by inflateBackInit() is freed.
+
+ inflateBackEnd() returns Z_OK on success, or Z_STREAM_ERROR if the stream
+ state was inconsistent.
+*/
+
+ZEXTERN uLong ZEXPORT zlibCompileFlags OF((void));
+/* Return flags indicating compile-time options.
+
+ Type sizes, two bits each, 00 = 16 bits, 01 = 32, 10 = 64, 11 = other:
+ 1.0: size of uInt
+ 3.2: size of uLong
+ 5.4: size of voidpf (pointer)
+ 7.6: size of z_off_t
+
+ Compiler, assembler, and debug options:
+ 8: DEBUG
+ 9: ASMV or ASMINF -- use ASM code
+ 10: ZLIB_WINAPI -- exported functions use the WINAPI calling convention
+ 11: 0 (reserved)
+
+ One-time table building (smaller code, but not thread-safe if true):
+ 12: BUILDFIXED -- build static block decoding tables when needed
+ 13: DYNAMIC_CRC_TABLE -- build CRC calculation tables when needed
+ 14,15: 0 (reserved)
+
+ Library content (indicates missing functionality):
+ 16: NO_GZCOMPRESS -- gz* functions cannot compress (to avoid linking
+ deflate code when not needed)
+ 17: NO_GZIP -- deflate can't write gzip streams, and inflate can't detect
+ and decode gzip streams (to avoid linking crc code)
+ 18-19: 0 (reserved)
+
+ Operation variations (changes in library functionality):
+ 20: PKZIP_BUG_WORKAROUND -- slightly more permissive inflate
+ 21: FASTEST -- deflate algorithm with only one, lowest compression level
+ 22,23: 0 (reserved)
+
+ The sprintf variant used by gzprintf (zero is best):
+ 24: 0 = vs*, 1 = s* -- 1 means limited to 20 arguments after the format
+ 25: 0 = *nprintf, 1 = *printf -- 1 means gzprintf() not secure!
+ 26: 0 = returns value, 1 = void -- 1 means inferred string length returned
+
+ Remainder:
+ 27-31: 0 (reserved)
+ */
+
+#ifndef Z_SOLO
+
+ /* utility functions */
+
+/*
+ The following utility functions are implemented on top of the basic
+ stream-oriented functions. To simplify the interface, some default options
+ are assumed (compression level and memory usage, standard memory allocation
+ functions). The source code of these utility functions can be modified if
+ you need special options.
+*/
+
+ZEXTERN int ZEXPORT compress OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen));
+/*
+ Compresses the source buffer into the destination buffer. sourceLen is
+ the byte length of the source buffer. Upon entry, destLen is the total size
+ of the destination buffer, which must be at least the value returned by
+ compressBound(sourceLen). Upon exit, destLen is the actual size of the
+ compressed buffer.
+
+ compress returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_BUF_ERROR if there was not enough room in the output
+ buffer.
+*/
+
+ZEXTERN int ZEXPORT compress2 OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen,
+ int level));
+/*
+ Compresses the source buffer into the destination buffer. The level
+ parameter has the same meaning as in deflateInit. sourceLen is the byte
+ length of the source buffer. Upon entry, destLen is the total size of the
+ destination buffer, which must be at least the value returned by
+ compressBound(sourceLen). Upon exit, destLen is the actual size of the
+ compressed buffer.
+
+ compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
+ memory, Z_BUF_ERROR if there was not enough room in the output buffer,
+ Z_STREAM_ERROR if the level parameter is invalid.
+*/
+
+ZEXTERN uLong ZEXPORT compressBound OF((uLong sourceLen));
+/*
+ compressBound() returns an upper bound on the compressed size after
+ compress() or compress2() on sourceLen bytes. It would be used before a
+ compress() or compress2() call to allocate the destination buffer.
+*/
+
+ZEXTERN int ZEXPORT uncompress OF((Bytef *dest, uLongf *destLen,
+ const Bytef *source, uLong sourceLen));
+/*
+ Decompresses the source buffer into the destination buffer. sourceLen is
+ the byte length of the source buffer. Upon entry, destLen is the total size
+ of the destination buffer, which must be large enough to hold the entire
+ uncompressed data. (The size of the uncompressed data must have been saved
+ previously by the compressor and transmitted to the decompressor by some
+ mechanism outside the scope of this compression library.) Upon exit, destLen
+ is the actual size of the uncompressed buffer.
+
+ uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
+ enough memory, Z_BUF_ERROR if there was not enough room in the output
+ buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete. In
+ the case where there is not enough room, uncompress() will fill the output
+ buffer with the uncompressed data up to that point.
+*/
+
+ /* gzip file access functions */
+
+/*
+ This library supports reading and writing files in gzip (.gz) format with
+ an interface similar to that of stdio, using the functions that start with
+ "gz". The gzip format is different from the zlib format. gzip is a gzip
+ wrapper, documented in RFC 1952, wrapped around a deflate stream.
+*/
+
+typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */
+
+/*
+ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
+
+ Opens a gzip (.gz) file for reading or writing. The mode parameter is as
+ in fopen ("rb" or "wb") but can also include a compression level ("wb9") or
+ a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only
+ compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F'
+ for fixed code compression as in "wb9F". (See the description of
+ deflateInit2 for more information about the strategy parameter.) 'T' will
+ request transparent writing or appending with no compression and not using
+ the gzip format.
+
+ "a" can be used instead of "w" to request that the gzip stream that will
+ be written be appended to the file. "+" will result in an error, since
+ reading and writing to the same gzip file is not supported. The addition of
+ "x" when writing will create the file exclusively, which fails if the file
+ already exists. On systems that support it, the addition of "e" when
+ reading or writing will set the flag to close the file on an execve() call.
+
+ These functions, as well as gzip, will read and decode a sequence of gzip
+ streams in a file. The append function of gzopen() can be used to create
+ such a file. (Also see gzflush() for another way to do this.) When
+ appending, gzopen does not test whether the file begins with a gzip stream,
+ nor does it look for the end of the gzip streams to begin appending. gzopen
+ will simply append a gzip stream to the existing file.
+
+ gzopen can be used to read a file which is not in gzip format; in this
+ case gzread will directly read from the file without decompression. When
+ reading, this will be detected automatically by looking for the magic two-
+ byte gzip header.
+
+ gzopen returns NULL if the file could not be opened, if there was
+ insufficient memory to allocate the gzFile state, or if an invalid mode was
+ specified (an 'r', 'w', or 'a' was not provided, or '+' was provided).
+ errno can be checked to determine if the reason gzopen failed was that the
+ file could not be opened.
+*/
+
+ZEXTERN gzFile ZEXPORT gzdopen OF((int fd, const char *mode));
+/*
+ gzdopen associates a gzFile with the file descriptor fd. File descriptors
+ are obtained from calls like open, dup, creat, pipe or fileno (if the file
+ has been previously opened with fopen). The mode parameter is as in gzopen.
+
+ The next call of gzclose on the returned gzFile will also close the file
+ descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor
+ fd. If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd,
+ mode);. The duplicated descriptor should be saved to avoid a leak, since
+ gzdopen does not close fd if it fails. If you are using fileno() to get the
+ file descriptor from a FILE *, then you will have to use dup() to avoid
+ double-close()ing the file descriptor. Both gzclose() and fclose() will
+ close the associated file descriptor, so they need to have different file
+ descriptors.
+
+ gzdopen returns NULL if there was insufficient memory to allocate the
+ gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not
+ provided, or '+' was provided), or if fd is -1. The file descriptor is not
+ used until the next gz* read, write, seek, or close operation, so gzdopen
+ will not detect if fd is invalid (unless fd is -1).
+*/
+
+ZEXTERN int ZEXPORT gzbuffer OF((gzFile file, unsigned size));
+/*
+ Set the internal buffer size used by this library's functions. The
+ default buffer size is 8192 bytes. This function must be called after
+ gzopen() or gzdopen(), and before any other calls that read or write the
+ file. The buffer memory allocation is always deferred to the first read or
+ write. Two buffers are allocated, either both of the specified size when
+ writing, or one of the specified size and the other twice that size when
+ reading. A larger buffer size of, for example, 64K or 128K bytes will
+ noticeably increase the speed of decompression (reading).
+
+ The new buffer size also affects the maximum length for gzprintf().
+
+ gzbuffer() returns 0 on success, or -1 on failure, such as being called
+ too late.
+*/
+
+ZEXTERN int ZEXPORT gzsetparams OF((gzFile file, int level, int strategy));
+/*
+ Dynamically update the compression level or strategy. See the description
+ of deflateInit2 for the meaning of these parameters.
+
+ gzsetparams returns Z_OK if success, or Z_STREAM_ERROR if the file was not
+ opened for writing.
+*/
+
+ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
+/*
+ Reads the given number of uncompressed bytes from the compressed file. If
+ the input file is not in gzip format, gzread copies the given number of
+ bytes into the buffer directly from the file.
+
+ After reaching the end of a gzip stream in the input, gzread will continue
+ to read, looking for another gzip stream. Any number of gzip streams may be
+ concatenated in the input file, and will all be decompressed by gzread().
+ If something other than a gzip stream is encountered after a gzip stream,
+ that remaining trailing garbage is ignored (and no error is returned).
+
+ gzread can be used to read a gzip file that is being concurrently written.
+ Upon reaching the end of the input, gzread will return with the available
+ data. If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then
+ gzclearerr can be used to clear the end of file indicator in order to permit
+ gzread to be tried again. Z_OK indicates that a gzip stream was completed
+ on the last gzread. Z_BUF_ERROR indicates that the input file ended in the
+ middle of a gzip stream. Note that gzread does not return -1 in the event
+ of an incomplete gzip stream. This error is deferred until gzclose(), which
+ will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip
+ stream. Alternatively, gzerror can be used before gzclose to detect this
+ case.
+
+ gzread returns the number of uncompressed bytes actually read, less than
+ len for end of file, or -1 for error.
+*/
+
+ZEXTERN int ZEXPORT gzwrite OF((gzFile file,
+ voidpc buf, unsigned len));
+/*
+ Writes the given number of uncompressed bytes into the compressed file.
+ gzwrite returns the number of uncompressed bytes written or 0 in case of
+ error.
+*/
+
+ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...));
+/*
+ Converts, formats, and writes the arguments to the compressed file under
+ control of the format string, as in fprintf. gzprintf returns the number of
+ uncompressed bytes actually written, or 0 in case of error. The number of
+ uncompressed bytes written is limited to 8191, or one less than the buffer
+ size given to gzbuffer(). The caller should assure that this limit is not
+ exceeded. If it is exceeded, then gzprintf() will return an error (0) with
+ nothing written. In this case, there may also be a buffer overflow with
+ unpredictable consequences, which is possible only if zlib was compiled with
+ the insecure functions sprintf() or vsprintf() because the secure snprintf()
+ or vsnprintf() functions were not available. This can be determined using
+ zlibCompileFlags().
+*/
+
+ZEXTERN int ZEXPORT gzputs OF((gzFile file, const char *s));
+/*
+ Writes the given null-terminated string to the compressed file, excluding
+ the terminating null character.
+
+ gzputs returns the number of characters written, or -1 in case of error.
+*/
+
+ZEXTERN char * ZEXPORT gzgets OF((gzFile file, char *buf, int len));
+/*
+ Reads bytes from the compressed file until len-1 characters are read, or a
+ newline character is read and transferred to buf, or an end-of-file
+ condition is encountered. If any characters are read or if len == 1, the
+ string is terminated with a null character. If no characters are read due
+ to an end-of-file or len < 1, then the buffer is left untouched.
+
+ gzgets returns buf which is a null-terminated string, or it returns NULL
+ for end-of-file or in case of error. If there was an error, the contents at
+ buf are indeterminate.
+*/
+
+ZEXTERN int ZEXPORT gzputc OF((gzFile file, int c));
+/*
+ Writes c, converted to an unsigned char, into the compressed file. gzputc
+ returns the value that was written, or -1 in case of error.
+*/
+
+ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
+/*
+ Reads one byte from the compressed file. gzgetc returns this byte or -1
+ in case of end of file or error. This is implemented as a macro for speed.
+ As such, it does not do all of the checking the other functions do. I.e.
+ it does not check to see if file is NULL, nor whether the structure file
+ points to has been clobbered or not.
+*/
+
+ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
+/*
+ Push one character back onto the stream to be read as the first character
+ on the next read. At least one character of push-back is allowed.
+ gzungetc() returns the character pushed, or -1 on failure. gzungetc() will
+ fail if c is -1, and may fail if a character has been pushed but not read
+ yet. If gzungetc is used immediately after gzopen or gzdopen, at least the
+ output buffer size of pushed characters is allowed. (See gzbuffer above.)
+ The pushed character will be discarded if the stream is repositioned with
+ gzseek() or gzrewind().
+*/
+
+ZEXTERN int ZEXPORT gzflush OF((gzFile file, int flush));
+/*
+ Flushes all pending output into the compressed file. The parameter flush
+ is as in the deflate() function. The return value is the zlib error number
+ (see function gzerror below). gzflush is only permitted when writing.
+
+ If the flush parameter is Z_FINISH, the remaining data is written and the
+ gzip stream is completed in the output. If gzwrite() is called again, a new
+ gzip stream will be started in the output. gzread() is able to read such
+ concatented gzip streams.
+
+ gzflush should be called only when strictly necessary because it will
+ degrade compression if called too often.
+*/
+
+/*
+ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile file,
+ z_off_t offset, int whence));
+
+ Sets the starting position for the next gzread or gzwrite on the given
+ compressed file. The offset represents a number of bytes in the
+ uncompressed data stream. The whence parameter is defined as in lseek(2);
+ the value SEEK_END is not supported.
+
+ If the file is opened for reading, this function is emulated but can be
+ extremely slow. If the file is opened for writing, only forward seeks are
+ supported; gzseek then compresses a sequence of zeroes up to the new
+ starting position.
+
+ gzseek returns the resulting offset location as measured in bytes from
+ the beginning of the uncompressed stream, or -1 in case of error, in
+ particular if the file is opened for writing and the new starting position
+ would be before the current position.
+*/
+
+ZEXTERN int ZEXPORT gzrewind OF((gzFile file));
+/*
+ Rewinds the given file. This function is supported only for reading.
+
+ gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET)
+*/
+
+/*
+ZEXTERN z_off_t ZEXPORT gztell OF((gzFile file));
+
+ Returns the starting position for the next gzread or gzwrite on the given
+ compressed file. This position represents a number of bytes in the
+ uncompressed data stream, and is zero when starting, even if appending or
+ reading a gzip stream from the middle of a file using gzdopen().
+
+ gztell(file) is equivalent to gzseek(file, 0L, SEEK_CUR)
+*/
+
+/*
+ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile file));
+
+ Returns the current offset in the file being read or written. This offset
+ includes the count of bytes that precede the gzip stream, for example when
+ appending or when using gzdopen() for reading. When reading, the offset
+ does not include as yet unused buffered input. This information can be used
+ for a progress indicator. On error, gzoffset() returns -1.
+*/
+
+ZEXTERN int ZEXPORT gzeof OF((gzFile file));
+/*
+ Returns true (1) if the end-of-file indicator has been set while reading,
+ false (0) otherwise. Note that the end-of-file indicator is set only if the
+ read tried to go past the end of the input, but came up short. Therefore,
+ just like feof(), gzeof() may return false even if there is no more data to
+ read, in the event that the last read request was for the exact number of
+ bytes remaining in the input file. This will happen if the input file size
+ is an exact multiple of the buffer size.
+
+ If gzeof() returns true, then the read functions will return no more data,
+ unless the end-of-file indicator is reset by gzclearerr() and the input file
+ has grown since the previous end of file was detected.
+*/
+
+ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
+/*
+ Returns true (1) if file is being copied directly while reading, or false
+ (0) if file is a gzip stream being decompressed.
+
+ If the input file is empty, gzdirect() will return true, since the input
+ does not contain a gzip stream.
+
+ If gzdirect() is used immediately after gzopen() or gzdopen() it will
+ cause buffers to be allocated to allow reading the file to determine if it
+ is a gzip file. Therefore if gzbuffer() is used, it should be called before
+ gzdirect().
+
+ When writing, gzdirect() returns true (1) if transparent writing was
+ requested ("wT" for the gzopen() mode), or false (0) otherwise. (Note:
+ gzdirect() is not needed when writing. Transparent writing must be
+ explicitly requested, so the application already knows the answer. When
+ linking statically, using gzdirect() will include all of the zlib code for
+ gzip file reading and decompression, which may not be desired.)
+*/
+
+ZEXTERN int ZEXPORT gzclose OF((gzFile file));
+/*
+ Flushes all pending output if necessary, closes the compressed file and
+ deallocates the (de)compression state. Note that once file is closed, you
+ cannot call gzerror with file, since its structures have been deallocated.
+ gzclose must not be called more than once on the same file, just as free
+ must not be called more than once on the same allocation.
+
+ gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a
+ file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the
+ last read ended in the middle of a gzip stream, or Z_OK on success.
+*/
+
+ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
+ZEXTERN int ZEXPORT gzclose_w OF((gzFile file));
+/*
+ Same as gzclose(), but gzclose_r() is only for use when reading, and
+ gzclose_w() is only for use when writing or appending. The advantage to
+ using these instead of gzclose() is that they avoid linking in zlib
+ compression or decompression code that is not used when only reading or only
+ writing respectively. If gzclose() is used, then both compression and
+ decompression code will be included the application when linking to a static
+ zlib library.
+*/
+
+ZEXTERN const char * ZEXPORT gzerror OF((gzFile file, int *errnum));
+/*
+ Returns the error message for the last error which occurred on the given
+ compressed file. errnum is set to zlib error number. If an error occurred
+ in the file system and not in the compression library, errnum is set to
+ Z_ERRNO and the application may consult errno to get the exact error code.
+
+ The application must not modify the returned string. Future calls to
+ this function may invalidate the previously returned string. If file is
+ closed, then the string previously returned by gzerror will no longer be
+ available.
+
+ gzerror() should be used to distinguish errors from end-of-file for those
+ functions above that do not distinguish those cases in their return values.
+*/
+
+ZEXTERN void ZEXPORT gzclearerr OF((gzFile file));
+/*
+ Clears the error and end-of-file flags for file. This is analogous to the
+ clearerr() function in stdio. This is useful for continuing to read a gzip
+ file that is being written concurrently.
+*/
+
+#endif /* !Z_SOLO */
+
+ /* checksum functions */
+
+/*
+ These functions are not related to compression but are exported
+ anyway because they might be useful in applications using the compression
+ library.
+*/
+
+ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len));
+/*
+ Update a running Adler-32 checksum with the bytes buf[0..len-1] and
+ return the updated checksum. If buf is Z_NULL, this function returns the
+ required initial value for the checksum.
+
+ An Adler-32 checksum is almost as reliable as a CRC32 but can be computed
+ much faster.
+
+ Usage example:
+
+ uLong adler = adler32(0L, Z_NULL, 0);
+
+ while (read_buffer(buffer, length) != EOF) {
+ adler = adler32(adler, buffer, length);
+ }
+ if (adler != original_adler) error();
+*/
+
+/*
+ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2,
+ z_off_t len2));
+
+ Combine two Adler-32 checksums into one. For two sequences of bytes, seq1
+ and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
+ each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of
+ seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. Note
+ that the z_off_t type (like off_t) is a signed integer. If len2 is
+ negative, the result has no meaning or utility.
+*/
+
+ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len));
+/*
+ Update a running CRC-32 with the bytes buf[0..len-1] and return the
+ updated CRC-32. If buf is Z_NULL, this function returns the required
+ initial value for the crc. Pre- and post-conditioning (one's complement) is
+ performed within this function so it shouldn't be done by the application.
+
+ Usage example:
+
+ uLong crc = crc32(0L, Z_NULL, 0);
+
+ while (read_buffer(buffer, length) != EOF) {
+ crc = crc32(crc, buffer, length);
+ }
+ if (crc != original_crc) error();
+*/
+
+/*
+ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2));
+
+ Combine two CRC-32 check values into one. For two sequences of bytes,
+ seq1 and seq2 with lengths len1 and len2, CRC-32 check values were
+ calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32
+ check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and
+ len2.
+*/
+
+
+ /* various hacks, don't look :) */
+
+/* deflateInit and inflateInit are macros to allow checking the zlib version
+ * and the compiler's view of z_stream:
+ */
+ZEXTERN int ZEXPORT deflateInit_ OF((z_streamp strm, int level,
+ const char *version, int stream_size));
+ZEXTERN int ZEXPORT inflateInit_ OF((z_streamp strm,
+ const char *version, int stream_size));
+ZEXTERN int ZEXPORT deflateInit2_ OF((z_streamp strm, int level, int method,
+ int windowBits, int memLevel,
+ int strategy, const char *version,
+ int stream_size));
+ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits,
+ const char *version, int stream_size));
+ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
+ unsigned char FAR *window,
+ const char *version,
+ int stream_size));
+#define deflateInit(strm, level) \
+ deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
+#define inflateInit(strm) \
+ inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
+#define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
+ deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
+ (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
+#define inflateInit2(strm, windowBits) \
+ inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
+ (int)sizeof(z_stream))
+#define inflateBackInit(strm, windowBits, window) \
+ inflateBackInit_((strm), (windowBits), (window), \
+ ZLIB_VERSION, (int)sizeof(z_stream))
+
+#ifndef Z_SOLO
+
+/* gzgetc() macro and its supporting function and exposed data structure. Note
+ * that the real internal state is much larger than the exposed structure.
+ * This abbreviated structure exposes just enough for the gzgetc() macro. The
+ * user should not mess with these exposed elements, since their names or
+ * behavior could change in the future, perhaps even capriciously. They can
+ * only be used by the gzgetc() macro. You have been warned.
+ */
+struct gzFile_s {
+ unsigned have;
+ unsigned char *next;
+ z_off64_t pos;
+};
+ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file)); /* backward compatibility */
+#ifdef Z_PREFIX_SET
+# undef z_gzgetc
+# define z_gzgetc(g) \
+ ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g))
+#else
+# define gzgetc(g) \
+ ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g))
+#endif
+
+/* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
+ * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if
+ * both are true, the application gets the *64 functions, and the regular
+ * functions are changed to 64 bits) -- in case these are set on systems
+ * without large file support, _LFS64_LARGEFILE must also be true
+ */
+#ifdef Z_LARGE64
+ ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+ ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
+ ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
+ ZEXTERN z_off64_t ZEXPORT gzoffset64 OF((gzFile));
+ ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off64_t));
+ ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
+#endif
+
+#if !defined(ZLIB_INTERNAL) && defined(Z_WANT64)
+# ifdef Z_PREFIX_SET
+# define z_gzopen z_gzopen64
+# define z_gzseek z_gzseek64
+# define z_gztell z_gztell64
+# define z_gzoffset z_gzoffset64
+# define z_adler32_combine z_adler32_combine64
+# define z_crc32_combine z_crc32_combine64
+# else
+# define gzopen gzopen64
+# define gzseek gzseek64
+# define gztell gztell64
+# define gzoffset gzoffset64
+# define adler32_combine adler32_combine64
+# define crc32_combine crc32_combine64
+# endif
+# ifndef Z_LARGE64
+ ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+ ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
+ ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
+ ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
+ ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
+ ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
+# endif
+#else
+ ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
+ ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int));
+ ZEXTERN z_off_t ZEXPORT gztell OF((gzFile));
+ ZEXTERN z_off_t ZEXPORT gzoffset OF((gzFile));
+ ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
+ ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
+#endif
+
+#else /* Z_SOLO */
+
+ ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
+ ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
+
+#endif /* !Z_SOLO */
+
+/* hack for buggy compilers */
+#if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
+ struct internal_state {int dummy;};
+#endif
+
+/* undocumented functions */
+ZEXTERN const char * ZEXPORT zError OF((int));
+ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp));
+ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table OF((void));
+ZEXTERN int ZEXPORT inflateUndermine OF((z_streamp, int));
+ZEXTERN int ZEXPORT inflateResetKeep OF((z_streamp));
+ZEXTERN int ZEXPORT deflateResetKeep OF((z_streamp));
+#if defined(_WIN32) && !defined(Z_SOLO)
+ZEXTERN gzFile ZEXPORT gzopen_w OF((const wchar_t *path,
+ const char *mode));
+#endif
+#if defined(STDC) || defined(Z_HAVE_STDARG_H)
+# ifndef Z_SOLO
+ZEXTERN int ZEXPORTVA gzvprintf Z_ARG((gzFile file,
+ const char *format,
+ va_list va));
+# endif
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZLIB_H */
diff --git a/import/zlibstat.lib b/import/zlibstat.lib
new file mode 100644
index 0000000..538e247
Binary files /dev/null and b/import/zlibstat.lib differ
diff --git a/scripts/testhdfs.bat b/scripts/testhdfs.bat
new file mode 100755
index 0000000..005b7bd
--- /dev/null
+++ b/scripts/testhdfs.bat
@@ -0,0 +1,28 @@
+rem This script demonstrates which env variables need to be set under windows
+rem to get SNAP to run with HDFS support.
+rem
+rem To run, ensure that JAVA_HOME and HADOOP_HOME are set in your shell.
+rem If not, you can set them here.
+
+rem set JAVA_HOME=c:\program files\java\jre6
+rem set HADOOP_HOME=c:\hadoop\hadoop-1.2.0.1.3.0.0-0380
+
+
+setlocal ENABLEEXTENSIONS
+setlocal ENABLEDELAYEDEXPANSION
+
+rem set LIBHDFS_OPTS=-verbose:jni
+
+set LIBHDFS_CLASSPATH=
+
+for %%i in (%HADOOP_HOME%\lib\*.jar) do (
+set LIBHDFS_CLASSPATH=!LIBHDFS_CLASSPATH!;%%i
+)
+
+for %%i in (%HADOOP_HOME%\*.jar) do (
+set LIBHDFS_CLASSPATH=!LIBHDFS_CLASSPATH!;%%i
+)
+
+set LIBHDFS_CLASSPATH=!LIBHDFS_CLASSPATH!;%HADOOP_HOME%\conf
+
+..\obj\bin\Debug\x64\snap paired hdfs:///scratch/moonshot/indices/hg19-20-5 example.bam
diff --git a/snap.sln b/snap.sln
new file mode 100644
index 0000000..9831a82
--- /dev/null
+++ b/snap.sln
@@ -0,0 +1,189 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.21005.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "snap", "apps\snap\snap.vcxproj", "{76E127A5-2247-4A10-9DC8-59518C7C6636}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC} = {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SNAPLib", "SNAPLib\SNAPLib.vcxproj", "{E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DistanceHist", "apps\DistanceHist\DistanceHist.vcxproj", "{029221BC-7BC0-448C-9A68-12D94A25F412}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC} = {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stringz", "apps\stringz\stringz.vcxproj", "{A587E829-823D-4CA9-9CD4-C563A4617474}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC} = {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ComputeROC", "apps\ComputeROC\ComputeROC.vcxproj", "{EB694CE8-E805-41A0-9D08-C8BEED857166}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC} = {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wc", "apps\wc\wc.vcxproj", "{70D9DA2A-E423-4705-BC71-0198C365A730}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC} = {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ExtractReads", "apps\ExtractReads\ExtractReads.vcxproj", "{FD52DC05-194B-4BD8-828E-A5679777D6C8}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ToFASTQ", "apps\ToFASTQ\ToFASTQ.vcxproj", "{E58705DB-9DFF-4892-B3BD-C76A352F9F37}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC} = {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RandomizePIfastq", "apps\RandomizePIfastq\RandomizePIfastq.vcxproj", "{1C797460-0410-4DE3-AA1A-8ECA471BA8C4}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC} = {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tests", "tests\tests.vcxproj", "{CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC} = {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SNAPCommand", "apps\SNAPCommand\SNAPCommand.vcxproj", "{F555A574-597E-4C0E-ADFD-FC4C897B2085}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC} = {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|Mixed Platforms = Debug|Mixed Platforms
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Any CPU = Release|Any CPU
+ Release|Mixed Platforms = Release|Mixed Platforms
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Debug|Mixed Platforms.Build.0 = Debug|x64
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Debug|Win32.ActiveCfg = Debug|x64
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Debug|Win32.Build.0 = Debug|x64
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Debug|x64.ActiveCfg = Debug|x64
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Debug|x64.Build.0 = Debug|x64
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Release|Any CPU.ActiveCfg = Release|Win32
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Release|Mixed Platforms.Build.0 = Release|x64
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Release|Win32.ActiveCfg = Release|x64
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Release|Win32.Build.0 = Release|x64
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Release|x64.ActiveCfg = Release|x64
+ {76E127A5-2247-4A10-9DC8-59518C7C6636}.Release|x64.Build.0 = Release|x64
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Debug|Mixed Platforms.Build.0 = Debug|x64
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Debug|Win32.ActiveCfg = Debug|x64
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Debug|Win32.Build.0 = Debug|x64
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Debug|x64.ActiveCfg = Debug|x64
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Debug|x64.Build.0 = Debug|x64
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Release|Any CPU.ActiveCfg = Release|Win32
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Release|Mixed Platforms.Build.0 = Release|x64
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Release|Win32.ActiveCfg = Release|x64
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Release|Win32.Build.0 = Release|x64
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Release|x64.ActiveCfg = Release|x64
+ {E620DC13-195C-41EF-B33B-8FE7DE9F8ADC}.Release|x64.Build.0 = Release|x64
+ {029221BC-7BC0-448C-9A68-12D94A25F412}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {029221BC-7BC0-448C-9A68-12D94A25F412}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {029221BC-7BC0-448C-9A68-12D94A25F412}.Debug|Win32.ActiveCfg = Debug|x64
+ {029221BC-7BC0-448C-9A68-12D94A25F412}.Debug|x64.ActiveCfg = Debug|x64
+ {029221BC-7BC0-448C-9A68-12D94A25F412}.Release|Any CPU.ActiveCfg = Release|Win32
+ {029221BC-7BC0-448C-9A68-12D94A25F412}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {029221BC-7BC0-448C-9A68-12D94A25F412}.Release|Win32.ActiveCfg = Release|x64
+ {029221BC-7BC0-448C-9A68-12D94A25F412}.Release|x64.ActiveCfg = Release|x64
+ {A587E829-823D-4CA9-9CD4-C563A4617474}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {A587E829-823D-4CA9-9CD4-C563A4617474}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {A587E829-823D-4CA9-9CD4-C563A4617474}.Debug|Win32.ActiveCfg = Debug|x64
+ {A587E829-823D-4CA9-9CD4-C563A4617474}.Debug|x64.ActiveCfg = Debug|x64
+ {A587E829-823D-4CA9-9CD4-C563A4617474}.Release|Any CPU.ActiveCfg = Release|Win32
+ {A587E829-823D-4CA9-9CD4-C563A4617474}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {A587E829-823D-4CA9-9CD4-C563A4617474}.Release|Win32.ActiveCfg = Release|x64
+ {A587E829-823D-4CA9-9CD4-C563A4617474}.Release|x64.ActiveCfg = Release|x64
+ {EB694CE8-E805-41A0-9D08-C8BEED857166}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {EB694CE8-E805-41A0-9D08-C8BEED857166}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {EB694CE8-E805-41A0-9D08-C8BEED857166}.Debug|Win32.ActiveCfg = Debug|x64
+ {EB694CE8-E805-41A0-9D08-C8BEED857166}.Debug|Win32.Build.0 = Debug|x64
+ {EB694CE8-E805-41A0-9D08-C8BEED857166}.Debug|x64.ActiveCfg = Debug|x64
+ {EB694CE8-E805-41A0-9D08-C8BEED857166}.Release|Any CPU.ActiveCfg = Release|Win32
+ {EB694CE8-E805-41A0-9D08-C8BEED857166}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {EB694CE8-E805-41A0-9D08-C8BEED857166}.Release|Win32.ActiveCfg = Release|x64
+ {EB694CE8-E805-41A0-9D08-C8BEED857166}.Release|Win32.Build.0 = Release|x64
+ {EB694CE8-E805-41A0-9D08-C8BEED857166}.Release|x64.ActiveCfg = Release|x64
+ {70D9DA2A-E423-4705-BC71-0198C365A730}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {70D9DA2A-E423-4705-BC71-0198C365A730}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {70D9DA2A-E423-4705-BC71-0198C365A730}.Debug|Win32.ActiveCfg = Debug|x64
+ {70D9DA2A-E423-4705-BC71-0198C365A730}.Debug|x64.ActiveCfg = Debug|x64
+ {70D9DA2A-E423-4705-BC71-0198C365A730}.Release|Any CPU.ActiveCfg = Release|Win32
+ {70D9DA2A-E423-4705-BC71-0198C365A730}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {70D9DA2A-E423-4705-BC71-0198C365A730}.Release|Win32.ActiveCfg = Release|x64
+ {70D9DA2A-E423-4705-BC71-0198C365A730}.Release|x64.ActiveCfg = Release|x64
+ {FD52DC05-194B-4BD8-828E-A5679777D6C8}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {FD52DC05-194B-4BD8-828E-A5679777D6C8}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {FD52DC05-194B-4BD8-828E-A5679777D6C8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {FD52DC05-194B-4BD8-828E-A5679777D6C8}.Debug|Win32.Build.0 = Debug|Win32
+ {FD52DC05-194B-4BD8-828E-A5679777D6C8}.Debug|x64.ActiveCfg = Debug|x64
+ {FD52DC05-194B-4BD8-828E-A5679777D6C8}.Release|Any CPU.ActiveCfg = Release|Win32
+ {FD52DC05-194B-4BD8-828E-A5679777D6C8}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {FD52DC05-194B-4BD8-828E-A5679777D6C8}.Release|Win32.ActiveCfg = Release|Win32
+ {FD52DC05-194B-4BD8-828E-A5679777D6C8}.Release|Win32.Build.0 = Release|Win32
+ {FD52DC05-194B-4BD8-828E-A5679777D6C8}.Release|x64.ActiveCfg = Release|x64
+ {E58705DB-9DFF-4892-B3BD-C76A352F9F37}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {E58705DB-9DFF-4892-B3BD-C76A352F9F37}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {E58705DB-9DFF-4892-B3BD-C76A352F9F37}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E58705DB-9DFF-4892-B3BD-C76A352F9F37}.Debug|Win32.Build.0 = Debug|Win32
+ {E58705DB-9DFF-4892-B3BD-C76A352F9F37}.Debug|x64.ActiveCfg = Debug|x64
+ {E58705DB-9DFF-4892-B3BD-C76A352F9F37}.Release|Any CPU.ActiveCfg = Release|Win32
+ {E58705DB-9DFF-4892-B3BD-C76A352F9F37}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {E58705DB-9DFF-4892-B3BD-C76A352F9F37}.Release|Win32.ActiveCfg = Release|Win32
+ {E58705DB-9DFF-4892-B3BD-C76A352F9F37}.Release|Win32.Build.0 = Release|Win32
+ {E58705DB-9DFF-4892-B3BD-C76A352F9F37}.Release|x64.ActiveCfg = Release|x64
+ {1C797460-0410-4DE3-AA1A-8ECA471BA8C4}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {1C797460-0410-4DE3-AA1A-8ECA471BA8C4}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {1C797460-0410-4DE3-AA1A-8ECA471BA8C4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1C797460-0410-4DE3-AA1A-8ECA471BA8C4}.Debug|Win32.Build.0 = Debug|Win32
+ {1C797460-0410-4DE3-AA1A-8ECA471BA8C4}.Debug|x64.ActiveCfg = Debug|x64
+ {1C797460-0410-4DE3-AA1A-8ECA471BA8C4}.Release|Any CPU.ActiveCfg = Release|Win32
+ {1C797460-0410-4DE3-AA1A-8ECA471BA8C4}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {1C797460-0410-4DE3-AA1A-8ECA471BA8C4}.Release|Win32.ActiveCfg = Release|Win32
+ {1C797460-0410-4DE3-AA1A-8ECA471BA8C4}.Release|Win32.Build.0 = Release|Win32
+ {1C797460-0410-4DE3-AA1A-8ECA471BA8C4}.Release|x64.ActiveCfg = Release|x64
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Debug|Mixed Platforms.Build.0 = Debug|x64
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Debug|Win32.Build.0 = Debug|Win32
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Debug|x64.ActiveCfg = Debug|x64
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Debug|x64.Build.0 = Debug|x64
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Release|Any CPU.ActiveCfg = Release|Win32
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Release|Win32.ActiveCfg = Release|Win32
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Release|Win32.Build.0 = Release|Win32
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Release|x64.ActiveCfg = Release|x64
+ {CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}.Release|x64.Build.0 = Release|x64
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Debug|Any CPU.ActiveCfg = Debug|Win32
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Debug|Mixed Platforms.ActiveCfg = Debug|x64
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Debug|Mixed Platforms.Build.0 = Debug|x64
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Debug|Win32.ActiveCfg = Debug|Win32
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Debug|Win32.Build.0 = Debug|Win32
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Debug|x64.ActiveCfg = Debug|x64
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Debug|x64.Build.0 = Debug|x64
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Release|Any CPU.ActiveCfg = Release|Win32
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Release|Mixed Platforms.ActiveCfg = Release|x64
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Release|Win32.ActiveCfg = Release|Win32
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Release|Win32.Build.0 = Release|Win32
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Release|x64.ActiveCfg = Release|x64
+ {F555A574-597E-4C0E-ADFD-FC4C897B2085}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/tests/.gitignore b/tests/.gitignore
new file mode 100644
index 0000000..1269488
--- /dev/null
+++ b/tests/.gitignore
@@ -0,0 +1 @@
+data
diff --git a/tests/EventTest.cpp b/tests/EventTest.cpp
new file mode 100644
index 0000000..fc29042
--- /dev/null
+++ b/tests/EventTest.cpp
@@ -0,0 +1,137 @@
+#include "stdafx.h"
+#include "TestLib.h"
+#include "LandauVishkin.h"
+
+struct EventTest;
+
+struct TestContext {
+ EventTest* parent;
+ int index;
+ SingleWaiterObject singleWaiterObject;
+
+ void init(EventTest* parent, int i);
+};
+
+struct EventTest {
+ EventObject event;
+ TestContext* contexts;
+ bool bind;
+ volatile int started;
+ volatile int proceeded;
+
+ void testManyWaiters(int threads, bool bind);
+ void testSingleWaiters(int threads, bool bind);
+};
+
+void TestContext::init(EventTest* i_parent, int i) {
+ this->parent = i_parent;
+ index = i;
+ CreateSingleWaiterObject(&singleWaiterObject);
+}
+
+void waitEqual(int value, volatile int* variable, const char* message)
+{
+ for (int i = 0; i < 1000; i++) {
+ if (*variable == value) {
+ return;
+ }
+ SleepForMillis(5);
+ }
+ ASSERT_EQ_M(value, *variable, message);
+}
+
+void testManyWaitersMain(void* c)
+{
+ TestContext* context = (TestContext*) c;
+ if (context->parent->bind) {
+ BindThreadToProcessor(context->index%GetNumberOfProcessors());
+ }
+ //printf("start thread %d%s\n", context->index, context->parent->bind ? " bind" : "");
+ InterlockedIncrementAndReturnNewValue(&context->parent->started);
+ WaitForEvent(&context->parent->event);
+ //printf("proceed thread %d\n", context->index);
+ InterlockedIncrementAndReturnNewValue(&context->parent->proceeded);
+}
+
+void EventTest::testManyWaiters(int threads, bool i_bind)
+{
+ //printf("testing many %d threads%s\n", threads, i_bind ? " (bind)" : "");
+ contexts = new TestContext[threads];
+ CreateEventObject(&event);
+ PreventEventWaitersFromProceeding(&event);
+ started = proceeded = 0;
+ bind = i_bind;
+ for (int i = 0; i < threads; i++) {
+ contexts[i].init(this, i);
+ StartNewThread(testManyWaitersMain, &contexts[i]);
+ }
+ char buf[100];
+ sprintf(buf, "many started %d%s\n", threads, i_bind ? " bind" : "");
+ waitEqual(threads, &started, buf);
+ AllowEventWaitersToProceed(&event);
+ sprintf(buf, "many proceeded %d%s\n", threads, i_bind ? " bind" : "");
+ waitEqual(threads, &proceeded, buf);
+ DestroyEventObject(&event);
+}
+
+TEST_F(EventTest, "many waiters") {
+ for (int i = 0; i < 100; i++) {
+ for (int threads = 1; threads <= 64; threads *= 2) {
+ for (int bind = 0; bind < (threads <= 16 ? 2 : 1); bind++) {
+ testManyWaiters(threads, bind);
+ }
+ }
+ }
+}
+
+void testSingleWaitersMain(void* c)
+{
+ TestContext* context = (TestContext*) c;
+ if (context->parent->bind) {
+ BindThreadToProcessor(context->index%GetNumberOfProcessors());
+ }
+ //printf("start thread %d%s\n", context->index, context->parent->bind ? " bind" : "");
+ InterlockedIncrementAndReturnNewValue(&context->parent->started);
+ WaitForSingleWaiterObject(&context->singleWaiterObject);
+ //printf("proceed thread %d\n", context->index);
+ InterlockedIncrementAndReturnNewValue(&context->parent->proceeded);
+ ResetSingleWaiterObject(&context->singleWaiterObject);
+}
+
+void EventTest::testSingleWaiters(int threads, bool i_bind)
+{
+ //printf("testing single %d threads%s\n", threads, i_bind ? " (bind)" : "");
+ contexts = new TestContext[threads];
+ started = proceeded = 0;
+ bind = i_bind;
+ for (int i = 0; i < threads; i++) {
+ contexts[i].init(this, i);
+ StartNewThread(testSingleWaitersMain, &contexts[i]);
+ }
+ //SleepForMillis(50);
+ char buf[100];
+ sprintf(buf, "single started %d%s\n", threads, i_bind ? " bind" : "");
+ waitEqual(threads, &started, buf);
+ for (int i = 0; i < threads; i++) {
+ SignalSingleWaiterObject(&contexts[i].singleWaiterObject);
+ sprintf(buf, "single proceeded %d of %d%s\n", i, threads, i_bind ? " bind" : "");
+ waitEqual(i + 1, &proceeded, buf);
+ //SleepForMillis(10); // allow more threads to release
+ sprintf(buf, "single after proceeded %d of %d%s\n", i, threads, i_bind ? " bind" : "");
+ ASSERT_EQ_M(i + 1, proceeded, buf);
+ }
+
+ for (int i = 0; i < threads; i++) {
+ DestroySingleWaiterObject(&contexts[i].singleWaiterObject);
+ }
+}
+
+TEST_F(EventTest, "single waiters") {
+ for (int i = 0; i < 50; i++) {
+ for (int threads = 1; threads <= 64; threads *= 2) {
+ for (int bind = 0; bind < (threads <= 16 ? 2 : 1); bind++) {
+ testSingleWaiters(threads, bind);
+ }
+ }
+ }
+}
diff --git a/tests/LandauVishkinTest.cpp b/tests/LandauVishkinTest.cpp
new file mode 100644
index 0000000..87920b4
--- /dev/null
+++ b/tests/LandauVishkinTest.cpp
@@ -0,0 +1,129 @@
+#include "stdafx.h"
+#include "TestLib.h"
+#include "LandauVishkin.h"
+
+// Test fixture for all the Landau-Viskhin Tests
+struct LandauVishkinTest {
+ LandauVishkin<> lv;
+ LandauVishkinWithCigar lvc;
+};
+
+TEST_F(LandauVishkinTest, "equal strings") {
+ ASSERT_EQ(0, lv.computeEditDistance("abcde", 5, "abcde", 5, 2));
+}
+
+TEST_F(LandauVishkinTest, "prefixes") {
+ ASSERT_EQ(0, lv.computeEditDistance("abcde", 5, "abcd", 4, 2));
+ ASSERT_EQ(0, lv.computeEditDistance("abcde", 5, "abc", 3, 2));
+ ASSERT_EQ(0, lv.computeEditDistance("abcde", 5, "ab", 2, 2));
+}
+
+TEST_F(LandauVishkinTest, "non-equal strings") {
+ ASSERT_EQ(1, lv.computeEditDistance("abcde", 5, "abcdX", 5, 2));
+ ASSERT_EQ(1, lv.computeEditDistance("abcde", 5, "abde", 4, 2));
+ ASSERT_EQ(1, lv.computeEditDistance("abcde", 5, "bcde", 4, 2));
+ ASSERT_EQ(1, lv.computeEditDistance("abcde", 5, "abcXde", 6, 2));
+ ASSERT_EQ(2, lv.computeEditDistance("abcde", 5, "abXXe", 5, 2));
+ ASSERT_EQ(2, lv.computeEditDistance("abcde", 5, "abcXXde", 7, 2));
+}
+
+TEST_F(LandauVishkinTest, "overly distant strings") {
+ ASSERT_EQ(-1, lv.computeEditDistance("abcde", 5, "XXXXX", 5, 2));
+}
+
+TEST_F(LandauVishkinTest, "CIGAR strings") {
+ char cigarBuf[1024];
+ int bufLen = sizeof(cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "abcde", 5, 2, cigarBuf, bufLen, false);
+ ASSERT_STREQ("5=", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "abcde", 5, 2, cigarBuf, bufLen, true);
+ ASSERT_STREQ("5M", cigarBuf);
+
+ lvc.computeEditDistance("abcdef", 6, "abcde", 5, 2, cigarBuf, bufLen, false);
+ ASSERT_STREQ("5=", cigarBuf);
+
+ lvc.computeEditDistance("abcdef", 6, "abcde", 5, 2, cigarBuf, bufLen, true);
+ ASSERT_STREQ("5M", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "abcdX", 5, 2, cigarBuf, bufLen, false);
+ ASSERT_STREQ("4=1X", cigarBuf); // This used to give 4=1I before
+
+ lvc.computeEditDistance("abcde", 5, "abcdX", 5, 2, cigarBuf, bufLen, true);
+ ASSERT_STREQ("5M", cigarBuf); // This used to give 4=1I before
+
+ lvc.computeEditDistance("abcde", 5, "Xbcde", 5, 2, cigarBuf, bufLen, false);
+ ASSERT_STREQ("1X4=", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "Xbcde", 5, 2, cigarBuf, bufLen, true);
+ ASSERT_STREQ("5M", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "abde", 4, 2, cigarBuf, bufLen, false);
+ ASSERT_STREQ("2=1D2=", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "abde", 4, 2, cigarBuf, bufLen, true);
+ ASSERT_STREQ("2M1D2M", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "bcde", 4, 2, cigarBuf, bufLen, false);
+ ASSERT_STREQ("1D4=", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "bcde", 4, 2, cigarBuf, bufLen, true);
+ ASSERT_STREQ("1D4M", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "abcXde", 6, 2, cigarBuf, bufLen, false);
+ ASSERT_STREQ("3=1I2=", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "abcXde", 6, 2, cigarBuf, bufLen, true);
+ ASSERT_STREQ("3M1I2M", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "abXXe", 5, 2, cigarBuf, bufLen, false);
+ ASSERT_STREQ("2=2X1=", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "abXXe", 5, 2, cigarBuf, bufLen, true);
+ ASSERT_STREQ("5M", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "abcXXde", 7, 3, cigarBuf, bufLen, false);
+ ASSERT_STREQ("3=2I2=", cigarBuf);
+
+ lvc.computeEditDistance("abcde", 5, "abcXXde", 7, 3, cigarBuf, bufLen, true);
+ ASSERT_STREQ("3M2I2M", cigarBuf);
+
+ lvc.computeEditDistance("ttttc", 5, "tttc", 4, 3, cigarBuf, bufLen, false);
+ ASSERT_STREQ("3=1X", cigarBuf);
+
+ lvc.computeEditDistance("ttttc", 5, "tttc", 4, 3, cigarBuf, bufLen, true);
+ ASSERT_STREQ("4M", cigarBuf);
+
+ lvc.computeEditDistance("tttcc", 5, "ttttc", 5, 3, cigarBuf, bufLen, false);
+ ASSERT_STREQ("3=1X1=", cigarBuf);
+
+ lvc.computeEditDistance("tttcc", 5, "ttttc", 5, 3, cigarBuf, bufLen, true);
+ ASSERT_STREQ("5M", cigarBuf);
+
+ lvc.computeEditDistance("tttcc", 5, "tttaa", 5, 3, cigarBuf, bufLen, false);
+ ASSERT_STREQ("3=2X", cigarBuf);
+
+ lvc.computeEditDistance("tttcc", 5, "tttaa", 5, 3, cigarBuf, bufLen, true);
+ ASSERT_STREQ("5M", cigarBuf);
+
+ // A real example where we used to give 1D and later 1I instead of 2X
+ lvc.computeEditDistance("atctcag", 7, "acttcag", 7, 3, cigarBuf, bufLen, false);
+ ASSERT_STREQ("1=2X4=", cigarBuf);
+
+ lvc.computeEditDistance("atctcag", 7, "acttcag", 7, 3, cigarBuf, bufLen, true);
+ ASSERT_STREQ("7M", cigarBuf);
+
+ // Edge cases when pattern is longer than available text
+ lvc.computeEditDistance("abc", 3, "abcde", 5, 3, cigarBuf, bufLen, false);
+ ASSERT_STREQ("3=2X", cigarBuf);
+
+ lvc.computeEditDistance("abc", 3, "abcde", 5, 3, cigarBuf, bufLen, true);
+ ASSERT_STREQ("5M", cigarBuf);
+
+ lvc.computeEditDistance("abc", 3, "abXde", 5, 3, cigarBuf, bufLen, false);
+ ASSERT_STREQ("2=3X", cigarBuf);
+
+ lvc.computeEditDistance("abc", 3, "abXde", 5, 3, cigarBuf, bufLen, true);
+ ASSERT_STREQ("5M", cigarBuf);
+}
diff --git a/tests/ProbabilityDistanceTest.cpp b/tests/ProbabilityDistanceTest.cpp
new file mode 100644
index 0000000..f0a63f6
--- /dev/null
+++ b/tests/ProbabilityDistanceTest.cpp
@@ -0,0 +1,70 @@
+#include "stdafx.h"
+#include "Compat.h"
+#include "TestLib.h"
+#include "ProbabilityDistance.h"
+
+// Test fixture for all the ProbabilityDistance tests
+struct ProbabilityDistanceTest {
+ ProbabilityDistance dist;
+ double prob;
+
+ ProbabilityDistanceTest(): dist(0.1, 0.01, 0.2) {}
+};
+
+
+TEST_F(ProbabilityDistanceTest, "basic probabilities") {
+ dist.compute("A", "A", "I", 1, 0, 0, &prob);
+ ASSERT_NEAR(0.9, prob);
+
+ dist.compute("A", "C", "I", 1, 0, 0, &prob);
+ ASSERT_NEAR(0.1, prob);
+
+ char quality10[2] = {43, 0};
+ dist.compute("A", "C", quality10, 1, 0, 0, &prob);
+ ASSERT_NEAR(0.19, prob); // 1 - (1 - 0.9) * (1 - 0.9)
+
+ // Check that allowing a shift at the start doesn't change it
+ dist.compute("A", "A", "I", 1, 1, 2, &prob);
+ ASSERT_NEAR(0.9, prob);
+
+ dist.compute("A", "C", "I", 1, 1, 2, &prob);
+ ASSERT_NEAR(0.1, prob);
+
+ dist.compute("A", "C", quality10, 1, 1, 2, &prob);
+ ASSERT_NEAR(0.19, prob); // 1 - (1 - 0.9) * (1 - 0.9)
+
+ dist.compute("AAAAA", "AAAAA", "IIIII", 5, 1, 2, &prob);
+ ASSERT_NEAR(pow(0.9, 5), prob);
+
+ dist.compute("AAAAA", "AACAA", "IIIII", 5, 1, 2, &prob);
+ ASSERT_NEAR(pow(0.9, 4) * 0.1, prob);
+}
+
+
+TEST_F(ProbabilityDistanceTest, "indels") {
+ dist.compute("ACGTA", "ACGGTA", "IIIIII", 6, 1, 2, &prob);
+ ASSERT_NEAR(pow(0.9, 5) * 0.01, prob);
+
+ // Here it's better to count things as two substitutions than an indel and two mismatches
+ dist.compute("ACGTA", "ACTA", "IIII", 4, 1, 2, &prob);
+ ASSERT_NEAR(pow(0.9, 2) * pow(0.1, 2), prob);
+
+ dist.compute("ACGTACGT", "ACGTTACGT", "IIIIIIIII", 9, 1, 2, &prob);
+ ASSERT_NEAR(pow(0.9, 8) * 0.01, prob);
+
+ dist.compute("ACGTACGT", "ACGACGT", "IIIIIII", 7, 1, 2, &prob);
+ ASSERT_NEAR(pow(0.9, 7) * 0.01, prob);
+
+ dist.compute("ACGTACGT", "ACTACGT", "IIIIIII", 7, 0, 2, &prob);
+ ASSERT_NEAR(pow(0.9, 7) * 0.01, prob);
+
+ // Here we can start at shift 1 and get a better probability with substitutions than indels
+ dist.compute("ACGTACGT", "ACTACGT", "IIIIIII", 7, 1, 2, &prob);
+ ASSERT_NEAR(pow(0.9, 5) * pow(0.1, 2), prob);
+
+ dist.compute("ACGTACGT", "ACGTTTACGT", "IIIIIIIIII", 10, 1, 2, &prob);
+ ASSERT_NEAR(pow(0.9, 8) * 0.01 * 0.2, prob);
+
+ dist.compute("ACGTTTACGT", "ACGTACGT", "IIIIIIII", 8, 1, 2, &prob);
+ ASSERT_NEAR(pow(0.9, 8) * 0.01 * 0.2, prob);
+}
diff --git a/tests/TestLib.cpp b/tests/TestLib.cpp
new file mode 100644
index 0000000..f96ce4d
--- /dev/null
+++ b/tests/TestLib.cpp
@@ -0,0 +1,43 @@
+#include <iostream>
+#include <cstring>
+
+#include "TestLib.h"
+
+using namespace std;
+using namespace test;
+
+int test::runAllTests(char *filter) {
+ const std::vector<TestCase*> &testCases = TestCase::getCases();
+ int tested = 0;
+ int passed = 0;
+ const char *prevFixture = "";
+
+ for (int i = 0; i < testCases.size(); i++) {
+ TestCase *tc = testCases[i];
+ if (filter != NULL && strstr(tc->fixture, filter) == NULL && strstr(tc->name, filter) == NULL) {
+ // Test name does not pass filter
+ continue;
+ }
+ tested++;
+ if (strcmp(tc->fixture, prevFixture) != 0) {
+ if (strlen(prevFixture) != 0) {
+ cout << endl;
+ }
+ cout << tc->fixture << ":" << endl;
+ prevFixture = tc->fixture;
+ }
+ cout << "- " << tc->name << ": " << flush;
+ try {
+ tc->run();
+ cout << "[OK]" << endl;
+ passed++;
+ } catch (TestFailedException &e) {
+ cout << "[FAILED]" << endl;
+ cout << " " << e.message << endl;
+ cout << " (" << e.file << ":" << e.line << ")" << endl;
+ }
+ }
+
+ cout << endl << passed << " / " << tested << " tests passed." << endl;
+ return (passed == tested ? 0 : 1);
+}
diff --git a/tests/TestLib.h b/tests/TestLib.h
new file mode 100644
index 0000000..69065da
--- /dev/null
+++ b/tests/TestLib.h
@@ -0,0 +1,152 @@
+#pragma once
+
+/**
+ * A tiny unit testing library in the spirit of Google Test.
+ *
+ * To inplement a standalone test, write:
+ *
+ * TEST("description") { body }
+ *
+ * For fixture-based tests, define a struct Fixture with the fields you want
+ * available (all public) and any setup and teardown code, then use TEST_F:
+ *
+ * struct MyFixture {
+ * int field1;
+ * MyFixture() {} // Optional setup code
+ * ~MyFixture() {} // Optional teardown code
+ * }
+ *
+ * TEST_F(MyFixture, "description") { body }
+ *
+ * TEST_F(MyFixture, "description 2") { another body }
+ *
+ * In the body of a test, you can use the following macros and assertions:
+ *
+ * ASSERT(expression)
+ * ASSERT_M(expression, message)
+ * ASSERT_EQ(expected, actualValue)
+ * ASSERT_NE(expected, actualValue)
+ * ASSERT_STREQ(expected, actualValue) (for C strings)
+ * ASSERT_STRNE(expected, actualValue)
+ * ASSERT_NEAR(expected, actualValue) (for floats/doubles)
+ * FAIL(message)
+ */
+
+#include <iostream>
+#include <string>
+#include <sstream>
+#include <vector>
+
+namespace test {
+
+struct TestCase;
+
+typedef void (*FunctionPtr)();
+
+struct TestCase {
+ TestCase(const char *fixture_, const char *name_, FunctionPtr func_)
+ : fixture(fixture_), name(name_), func(func_) {
+ getCases().push_back(this);
+ }
+
+ void run() { func(); };
+
+ const char *fixture;
+ const char *name;
+ FunctionPtr func;
+
+ static std::vector<TestCase*>& getCases() {
+ static std::vector<TestCase*> cases;
+ return cases;
+ };
+};
+
+struct TestFailedException {
+ TestFailedException(const char *file_, int line_, const std::string& message_)
+ : file(file_), line(line_), message(message_) {}
+
+ const char *file;
+ int line;
+ std::string message;
+};
+
+int runAllTests(char *filter);
+
+}
+
+#define CONCAT1( x, y ) x ## y
+#define CONCAT2( x, y ) CONCAT1( x, y ) /* To escape weird macro expansion rules */
+#define TEST_FUNC(line) CONCAT2(_test_func_, line)
+#define TEST_CASE(line) CONCAT2(_test_case_, line)
+#define TEST_CLASS(line) CONCAT2(_test_class_, line)
+
+#define TEST(name) \
+ static void TEST_FUNC(__LINE__) (); \
+ static test::TestCase TEST_CASE(__LINE__) (__FILE__, name, &TEST_FUNC(__LINE__)); \
+ static void TEST_FUNC(__LINE__) () /* body follows */
+
+#define TEST_F(fixture, name) \
+ namespace { struct TEST_CLASS(__LINE__) : public fixture { void _run(); }; } \
+ static void TEST_FUNC(__LINE__) () { TEST_CLASS(__LINE__) cls; cls._run(); } \
+ static test::TestCase TEST_CASE(__LINE__) (#fixture, name, &TEST_FUNC(__LINE__)); \
+ void TEST_CLASS(__LINE__)::_run() /* body follows */
+
+#define ASSERT(expr) \
+ if (!(expr)) { \
+ std::ostringstream oss; \
+ oss << "assertion failed: " #expr; \
+ throw test::TestFailedException(__FILE__, __LINE__, oss.str()); \
+ }
+
+#define ASSERT_M(expr, message) \
+ if (!(expr)) { \
+ std::ostringstream oss; \
+ oss << "assertion failed: " << message; \
+ throw test::TestFailedException(__FILE__, __LINE__, oss.str()); \
+ }
+
+#define ASSERT_EQ(expected, actual) \
+ if (!((expected) == (actual))) { \
+ std::ostringstream oss; \
+ oss << #actual << " was " << (actual) << ", expected " << (expected); \
+ throw test::TestFailedException(__FILE__, __LINE__, oss.str()); \
+ }
+
+#define ASSERT_EQ_M(expected, actual, message) \
+ if (!((expected) == (actual))) { \
+ std::ostringstream oss; \
+ oss << #actual << " was " << (actual) << ", expected " << (expected) << ": " << (message); \
+ throw test::TestFailedException(__FILE__, __LINE__, oss.str()); \
+ }
+
+#define ASSERT_NE(expected, actual) \
+ if (!((expected) != (actual))) { \
+ std::ostringstream oss; \
+ oss << #actual << " was " << (expected); \
+ throw test::TestFailedException(__FILE__, __LINE__, oss.str()); \
+ }
+
+#define ASSERT_STREQ(expected, actual) \
+ if (strcmp((expected), (actual)) != 0) { \
+ std::ostringstream oss; \
+ oss << #actual << " was \"" << (actual) << "\", expected \"" << (expected) << "\""; \
+ throw test::TestFailedException(__FILE__, __LINE__, oss.str()); \
+ }
+
+#define ASSERT_STRNE(expected, actual) \
+ if (strcmp((expected), (actual)) == 0) { \
+ std::ostringstream oss; \
+ oss << #actual << " was \"" << (expected) << "\""; \
+ throw test::TestFailedException(__FILE__, __LINE__, oss.str()); \
+ }
+
+#define ASSERT_NEAR(expected, actual) \
+ if ((expected) < 0.99 * (actual) || (expected) > 1.01 * (actual)) { \
+ std::ostringstream oss; \
+ oss << #actual << " was " << (actual) << ", expected near " << (expected); \
+ throw test::TestFailedException(__FILE__, __LINE__, oss.str()); \
+ }
+
+
+#define FAIL(message) \
+ throw test::TestFailedException(__FILE__, __LINE__, message);
diff --git a/tests/bin/ValidateSamFile.jar b/tests/bin/ValidateSamFile.jar
new file mode 100644
index 0000000..eafc722
Binary files /dev/null and b/tests/bin/ValidateSamFile.jar differ
diff --git a/tests/bin/diff.exe b/tests/bin/diff.exe
new file mode 100644
index 0000000..bc4df3f
Binary files /dev/null and b/tests/bin/diff.exe differ
diff --git a/tests/bin/grep.exe b/tests/bin/grep.exe
new file mode 100644
index 0000000..745bb80
Binary files /dev/null and b/tests/bin/grep.exe differ
diff --git a/tests/bin/gzip.exe b/tests/bin/gzip.exe
new file mode 100644
index 0000000..6ff816f
Binary files /dev/null and b/tests/bin/gzip.exe differ
diff --git a/tests/bin/msys-1.0.dll b/tests/bin/msys-1.0.dll
new file mode 100644
index 0000000..4aa4878
Binary files /dev/null and b/tests/bin/msys-1.0.dll differ
diff --git a/tests/bin/samtools.exe b/tests/bin/samtools.exe
new file mode 100644
index 0000000..f425d4f
Binary files /dev/null and b/tests/bin/samtools.exe differ
diff --git a/tests/bin/sort.exe b/tests/bin/sort.exe
new file mode 100644
index 0000000..554ea8b
Binary files /dev/null and b/tests/bin/sort.exe differ
diff --git a/tests/datatest.py b/tests/datatest.py
new file mode 100644
index 0000000..8230421
--- /dev/null
+++ b/tests/datatest.py
@@ -0,0 +1,109 @@
+# datatest.py
+#
+# Run data i/o tests on SNAP
+#
+# There are 3 possibilities for input:
+# FQ |SAM | BAM
+#
+# There are 2 references datatest.fa and datatest2.fa (with an extra refseq)
+#
+# There are 2 possibilities for output:
+# SAM | BAM
+#
+# There are four possible reference files for output
+# FQ | SAM input file (BAM is like SAM)
+# datatest | datatest2 reference file
+#
+# Input & reference files are stored in datatest
+# Temp files are put in datatest/temp
+#
+
+import sys
+import os
+import shutil
+import subprocess
+
+if len(sys.argv) != 4:
+ print "usage: %s data_dir snap bin_dir" % sys.argv[0]
+ exit(1)
+
+data = sys.argv[1]
+snap = sys.argv[2]
+bin = sys.argv[3]
+quick = False
+
+run = "" # declare global
+
+def _f(name):
+ return os.path.normpath(data + "/" + name.replace("#", run))
+
+def _ff(names):
+ return [_f(x) for x in names]
+
+def runit(args, tag, strict=False, stdout=None, stdin=None):
+ print "> %s" % ' '.join(args)
+ fout = _f(("temp/stdout-%s" % tag)) if stdout == None else stdout
+ ferr = _f("temp/stderr-%s" % tag)
+ retcode = subprocess.call(args, stdout=open(fout, "w"), stderr=open(ferr, "w"))
+ if retcode != 0:
+ print "Run %s exited with %d" % (tag.replace("#", run), retcode)
+ print open(ferr, "r").read(),
+ if strict:
+ exit(1)
+ return False
+ else:
+ return True
+
+# setup data & temp directories with all needed input files
+
+temp = os.path.normpath(data + "/temp")
+if not quick:
+ if os.path.exists(temp):
+ shutil.rmtree(temp)
+ os.mkdir(temp)
+ # create indexex
+ runit([snap, "index", _f("datatest.fa"), _f("temp/datatest.idx"), "-c"], "snap-index", strict=True)
+ runit([snap, "index", _f("datatest2.fa"), _f("temp/datatest2.idx"), "-c", "-O500"], "snap-index", strict=True)
+
+runs = 0
+succeeded = 0
+for input_format in ["fq", "bam", "sam"]:
+ for index in ["datatest", "datatest2"]:
+ for output_format in ["sam", "bam"]:
+ runs += 1
+ temps = [] # temporary files, deleted on success
+ # build & run snap command line
+ outfile = _f("temp/%s-%s.%s" % (input_format, index, output_format))
+ args = [snap, "single", _f("temp/%s.idx" % index), _f("datatest." + input_format), "-t", "1", "-rg", "group1", "-o", outfile]
+ run = "%s-%s-%s" % (input_format, index, output_format)
+ ok = runit(args, "snap-#")
+ temps.append(outfile)
+ if not ok: continue
+ # validate output
+ ok = runit(["java", "-jar", _f("ValidateSamFile.jar"), "input=" + outfile, "output=" + _f("temp/validate-#")], "validate-#")
+ temps.append(_f("temp/validate-#"))
+ if not ok: continue
+ # translate output to sam if needed
+ check_output = outfile
+ if output_format == "bam":
+ check_output = outfile + ".sam"
+ ok = runit([bin + "samtools", "view", "-h", outfile, "-o", check_output], "bam2sam-#")
+ temps.append(check_output)
+ if not ok: continue
+ # compare with reference file
+ # don't yet translate attrs from bam<->sam
+ if input_format == "fq" or input_format == output_format:
+ # remove @PG line from output file
+ checkfile = _f("temp/nopg-#.sam")
+ temps.append(checkfile)
+ ok = runit([bin + "grep", "-v", "@PG", check_output],"grep-#", stdout=checkfile)
+ if not ok: continue
+ reffile = _f("correct-%s-%s.sam" % ((input_format if input_format != "bam" else "sam"), index))
+ ok = runit([bin + "diff", checkfile, reffile], "diff-#")
+ if not ok: continue
+ # delete temp files
+ for f in temps:
+ os.remove(f)
+ succeeded += 1
+
+print "completed %d runs, %d failures" % (runs, runs - succeeded)
diff --git a/tests/datatest/.gitignore b/tests/datatest/.gitignore
new file mode 100644
index 0000000..3602361
--- /dev/null
+++ b/tests/datatest/.gitignore
@@ -0,0 +1 @@
+temp
\ No newline at end of file
diff --git a/tests/datatest/ValidateSamFile.jar b/tests/datatest/ValidateSamFile.jar
new file mode 100644
index 0000000..0a57ffd
Binary files /dev/null and b/tests/datatest/ValidateSamFile.jar differ
diff --git a/tests/datatest/correct-fq-datatest.sam b/tests/datatest/correct-fq-datatest.sam
new file mode 100644
index 0000000..6f7444f
--- /dev/null
+++ b/tests/datatest/correct-fq-datatest.sam
@@ -0,0 +1,5 @@
+ at HD VN:1.4 SO:unsorted
+ at RG ID:group1 SM:sample
+ at SQ SN:ref1 LN:202
+read1 0 ref1 1 70 101= * 0 0 GTCACAAATGCCACAGAGCAAATGGTCCTGAACAAGCAAACAGAACAGGCCCAGAACACGCCAACCTGTTGAAGACAGAAAGTAGCTTCGTGGCCGGGGGG - at 4>3.>,;$B;A>@&A<<5:@5A?<6<1,>='=7A99=<;7;61></'3+5(<&5,0)30%/=:(&(842&54-+,578)776;.*,&/538)/%$(1,- RG:Z:group1 PG:Z:SNAP NM:i:0
+read1 0 ref1 102 70 101= * 0 0 CCACAGCTCTGACTCCTGCATCCTTCTCCTGTGAAGGGGAGGGAGGTGGTGCTGCAGGGGAGGGGAGGGGGCTAGGAGATGTCACTGGGAGCGGAAACGGC 9;6@;:>:2(5.293?+,72$78:974?C>382;A?=:83;96:AB1>=D at 4A;C=AD+<E9=;CBC$<EB2 at A;BF=EE.FA5>ECE(%FFCDBB1A??F RG:Z:group1 PG:Z:SNAP NM:i:0
diff --git a/tests/datatest/correct-fq-datatest2.sam b/tests/datatest/correct-fq-datatest2.sam
new file mode 100644
index 0000000..7b256cc
--- /dev/null
+++ b/tests/datatest/correct-fq-datatest2.sam
@@ -0,0 +1,6 @@
+ at HD VN:1.4 SO:unsorted
+ at RG ID:group1 SM:sample
+ at SQ SN:ref1 LN:202
+ at SQ SN:ref2 LN:202
+read1 0 ref1 1 70 101= * 0 0 GTCACAAATGCCACAGAGCAAATGGTCCTGAACAAGCAAACAGAACAGGCCCAGAACACGCCAACCTGTTGAAGACAGAAAGTAGCTTCGTGGCCGGGGGG - at 4>3.>,;$B;A>@&A<<5:@5A?<6<1,>='=7A99=<;7;61></'3+5(<&5,0)30%/=:(&(842&54-+,578)776;.*,&/538)/%$(1,- RG:Z:group1 PG:Z:SNAP NM:i:0
+read1 0 ref1 102 70 101= * 0 0 CCACAGCTCTGACTCCTGCATCCTTCTCCTGTGAAGGGGAGGGAGGTGGTGCTGCAGGGGAGGGGAGGGGGCTAGGAGATGTCACTGGGAGCGGAAACGGC 9;6@;:>:2(5.293?+,72$78:974?C>382;A?=:83;96:AB1>=D at 4A;C=AD+<E9=;CBC$<EB2 at A;BF=EE.FA5>ECE(%FFCDBB1A??F RG:Z:group1 PG:Z:SNAP NM:i:0
diff --git a/tests/datatest/correct-sam-datatest.sam b/tests/datatest/correct-sam-datatest.sam
new file mode 100644
index 0000000..ae95ab5
--- /dev/null
+++ b/tests/datatest/correct-sam-datatest.sam
@@ -0,0 +1,6 @@
+ at HD VN:1.4 SO:unsorted
+ at SQ SN:ref1 LN:202 SP:random
+ at RG ID:group1 SM:sample
+ at CO sample input file for testing header and attribute processing
+read1 0 ref1 1 70 101= * 0 0 GTCACAAATGCCACAGAGCAAATGGTCCTGAACAAGCAAACAGAACAGGCCCAGAACACGCCAACCTGTTGAAGACAGAAAGTAGCTTCGTGGCCGGGGGG - at 4>3.>,;$B;A>@&A<<5:@5A?<6<1,>='=7A99=<;7;61></'3+5(<&5,0)30%/=:(&(842&54-+,578)776;.*,&/538)/%$(1,- X0:Z:value0 X1:Z:value1 RG:Z:group1 PG:Z:SNAP NM:i:0
+read1 16 ref1 102 70 101= * 0 0 CCACAGCTCTGACTCCTGCATCCTTCTCCTGTGAAGGGGAGGGAGGTGGTGCTGCAGGGGAGGGGAGGGGGCTAGGAGATGTCACTGGGAGCGGAAACGGC 9;6@;:>:2(5.293?+,72$78:974?C>382;A?=:83;96:AB1>=D at 4A;C=AD+<E9=;CBC$<EB2 at A;BF=EE.FA5>ECE(%FFCDBB1A??F X0:Z:value0 X1:Z:value1 RG:Z:group1 PG:Z:SNAP NM:i:0
diff --git a/tests/datatest/correct-sam-datatest2.sam b/tests/datatest/correct-sam-datatest2.sam
new file mode 100644
index 0000000..ed62f19
--- /dev/null
+++ b/tests/datatest/correct-sam-datatest2.sam
@@ -0,0 +1,7 @@
+ at HD VN:1.4 SO:unsorted
+ at RG ID:group1 SM:sample
+ at CO sample input file for testing header and attribute processing
+ at SQ SN:ref1 LN:202
+ at SQ SN:ref2 LN:202
+read1 0 ref1 1 70 101= * 0 0 GTCACAAATGCCACAGAGCAAATGGTCCTGAACAAGCAAACAGAACAGGCCCAGAACACGCCAACCTGTTGAAGACAGAAAGTAGCTTCGTGGCCGGGGGG - at 4>3.>,;$B;A>@&A<<5:@5A?<6<1,>='=7A99=<;7;61></'3+5(<&5,0)30%/=:(&(842&54-+,578)776;.*,&/538)/%$(1,- X0:Z:value0 X1:Z:value1 RG:Z:group1 PG:Z:SNAP NM:i:0
+read1 16 ref1 102 70 101= * 0 0 CCACAGCTCTGACTCCTGCATCCTTCTCCTGTGAAGGGGAGGGAGGTGGTGCTGCAGGGGAGGGGAGGGGGCTAGGAGATGTCACTGGGAGCGGAAACGGC 9;6@;:>:2(5.293?+,72$78:974?C>382;A?=:83;96:AB1>=D at 4A;C=AD+<E9=;CBC$<EB2 at A;BF=EE.FA5>ECE(%FFCDBB1A??F X0:Z:value0 X1:Z:value1 RG:Z:group1 PG:Z:SNAP NM:i:0
diff --git a/tests/datatest/datatest.bam b/tests/datatest/datatest.bam
new file mode 100644
index 0000000..15780f5
Binary files /dev/null and b/tests/datatest/datatest.bam differ
diff --git a/tests/datatest/datatest.fa b/tests/datatest/datatest.fa
new file mode 100644
index 0000000..c17ea31
--- /dev/null
+++ b/tests/datatest/datatest.fa
@@ -0,0 +1,3 @@
+>ref1
+GTCACAAATGCCACAGAGCAAATGGTCCTGAACAAGCAAACAGAACAGGCCCAGAACACGCCAACCTGTTGAAGACAGAAAGTAGCTTCGTGGCCGGGGGG
+CCACAGCTCTGACTCCTGCATCCTTCTCCTGTGAAGGGGAGGGAGGTGGTGCTGCAGGGGAGGGGAGGGGGCTAGGAGATGTCACTGGGAGCGGAAACGGC
diff --git a/tests/datatest/datatest.fq b/tests/datatest/datatest.fq
new file mode 100644
index 0000000..5d5ac24
--- /dev/null
+++ b/tests/datatest/datatest.fq
@@ -0,0 +1,8 @@
+ at read1
+GTCACAAATGCCACAGAGCAAATGGTCCTGAACAAGCAAACAGAACAGGCCCAGAACACGCCAACCTGTTGAAGACAGAAAGTAGCTTCGTGGCCGGGGGG
++
+- at 4>3.>,;$B;A>@&A<<5:@5A?<6<1,>='=7A99=<;7;61></'3+5(<&5,0)30%/=:(&(842&54-+,578)776;.*,&/538)/%$(1,-
+ at read1
+CCACAGCTCTGACTCCTGCATCCTTCTCCTGTGAAGGGGAGGGAGGTGGTGCTGCAGGGGAGGGGAGGGGGCTAGGAGATGTCACTGGGAGCGGAAACGGC
++
+9;6@;:>:2(5.293?+,72$78:974?C>382;A?=:83;96:AB1>=D at 4A;C=AD+<E9=;CBC$<EB2 at A;BF=EE.FA5>ECE(%FFCDBB1A??F
diff --git a/tests/datatest/datatest.sam b/tests/datatest/datatest.sam
new file mode 100644
index 0000000..f8262fa
--- /dev/null
+++ b/tests/datatest/datatest.sam
@@ -0,0 +1,6 @@
+ at HD VN:1.4 SO:coordinate
+ at SQ SN:ref1 LN:202 SP:random
+ at RG ID:group1 SM:sample
+ at CO sample input file for testing header and attribute processing
+read1 99 ref1 3908 69 15=1X42=1X2=1X31=1X2=2X3= = 4442 635 GTCACAAATGCCACAGAGCAAATGGTCCTGAACAAGCAAACAGAACAGGCCCAGAACACGCCAACCTGTTGAAGACAGAAAGTAGCTTCGTGGCCGGGGGG - at 4>3.>,;$B;A>@&A<<5:@5A?<6<1,>='=7A99=<;7;61></'3+5(<&5,0)30%/=:(&(842&54-+,578)776;.*,&/538)/%$(1,- X0:Z:value0 X1:Z:value1 RG:Z:group1
+read1 147 ref1 4442 70 20=1X67=1X12= = 3908 -635 CCACAGCTCTGACTCCTGCATCCTTCTCCTGTGAAGGGGAGGGAGGTGGTGCTGCAGGGGAGGGGAGGGGGCTAGGAGATGTCACTGGGAGCGGAAACGGC 9;6@;:>:2(5.293?+,72$78:974?C>382;A?=:83;96:AB1>=D at 4A;C=AD+<E9=;CBC$<EB2 at A;BF=EE.FA5>ECE(%FFCDBB1A??F X0:Z:value0 X1:Z:value1
diff --git a/tests/datatest/datatest2.fa b/tests/datatest/datatest2.fa
new file mode 100644
index 0000000..7a961d0
--- /dev/null
+++ b/tests/datatest/datatest2.fa
@@ -0,0 +1,6 @@
+>ref1
+GTCACAAATGCCACAGAGCAAATGGTCCTGAACAAGCAAACAGAACAGGCCCAGAACACGCCAACCTGTTGAAGACAGAAAGTAGCTTCGTGGCCGGGGGG
+CCACAGCTCTGACTCCTGCATCCTTCTCCTGTGAAGGGGAGGGAGGTGGTGCTGCAGGGGAGGGGAGGGGGCTAGGAGATGTCACTGGGAGCGGAAACGGC
+>ref2
+GTCACAAGGGGCACAGAGCAAATGGTCCTGAACAAGCAAACAGAACAGGCCCAGAACACGCCAACCTGTTGAAGACAGAAAGTAGCTTCGTGGCCGGGGGG
+CCACAGCTCTGTTTTCTGCATCCTTCTCCTGTGAAGGGGAGGGAGGTGGTGCTGCAGGGGAGGGGAGGGGGCTAGGAGATGTCACTGGGAGCGGAAACGGC
diff --git a/tests/dup_reads.py b/tests/dup_reads.py
new file mode 100644
index 0000000..13eb353
--- /dev/null
+++ b/tests/dup_reads.py
@@ -0,0 +1,42 @@
+# dup_reads.py
+#
+# create duplicate reads
+#
+
+import sys
+import random
+
+def readread(f):
+ result = [f.readline(),f.readline(),f.readline(),f.readline()]
+ if (result[0] and (result[0][0] != "@" or result[2][0] != "+" or len(result[1]) != len(result[3]))):
+ sys.stderr.write("invalid fasta file near %s" % (result[0]))
+ exit(1)
+ return result
+
+def writeread(f, r):
+ for i in range(4):
+ f.write(r[i])
+
+if (len(sys.argv) < 4 or len(sys.argv) > 5):
+ print "usage: %s <# of duplicate reads> <max duplication> read1.fq [read2.fq]" % sys.argv[p]
+ exit(1)
+
+dupcount = int(sys.argv[1])
+maxdup = int(sys.argv[2])
+
+in1 = open(sys.argv[3], "r")
+out1 = open("dup_" + sys.argv[3], "w")
+paired = len(sys.argv) >= 5
+if paired:
+ in2 = open(sys.argv[4], "r")
+ out2 = open("dup_" + sys.argv[4], "w")
+
+for i in range(0, dupcount):
+ r1 = readread(in1)
+ if paired:
+ r2 = readread(in2)
+ ndup = random.randint(2,maxdup)
+ for j in range(0, ndup):
+ writeread(out1, ["@dup%d_%s" % (j, r1[0][1:]), r1[1], r1[2], r1[3]])
+ if paired:
+ writeread(out2, ["@dup%d_%s" % (j, r2[0][1:]), r2[1], r2[2], r2[3]])
diff --git a/tests/filetest.py b/tests/filetest.py
new file mode 100644
index 0000000..e997d3f
--- /dev/null
+++ b/tests/filetest.py
@@ -0,0 +1,175 @@
+# filetest.py
+#
+# Run file i/o tests on SNAP
+#
+# There are 4x2 possibilities for input:
+# FQ | FQZ | SAM | BAM
+# Single | paired
+#
+# There is a compressed reference in data/xx.fa.gz
+#
+# There are 3 input files stored:
+# xx_in1.fq.gz xx_in2.fq.gz xx_in12.bam
+# The others are created from these using gunzip and samtools
+# FQ/FQZ single : in1
+# FQ/FQZ paired : in1 & in2
+# BAM/SAM single/paired : in12
+#
+# There are 2x2 possibilities for output:
+# SAM | BAM
+# Unsorted | sorted
+#
+# These are validated against 4 output files using samtools & diff
+# xx_ref1.bam xx_sorted_ref1.bam xx_ref12.bam xx_sorted_ref12.bam
+#
+# Input & output files are stored in data
+# Temp files are put in data/temp
+#
+
+import sys
+import os
+import shutil
+import subprocess
+
+if (len(sys.argv) < 5 or len(sys.argv) > 6):
+ print "usage: %s data_dir file_base snap bin_dir [-quick]" % sys.argv[0]
+ exit(1)
+
+data = sys.argv[1]
+template = sys.argv[2]
+snap = sys.argv[3]
+bin = sys.argv[4]
+quick = len(sys.argv) == 6
+
+run = "" # declare global
+
+def _f(name):
+ return os.path.normpath(data + "/" + name.replace("^", template).replace("#", run))
+
+def _ff(names):
+ return [_f(x) for x in names]
+
+def runit(args, tag, strict=False, stdout=None, stdin=None):
+ print "$ %s%s%s" % (' '.join(args), "" if stdin == None else " < "+stdin, "" if stdout == None else " > "+stdout)
+ fout = _f(("temp/stdout-%s" % tag)) if stdout == None else stdout
+ ferr = _f("temp/stderr-%s" % tag)
+ retcode = subprocess.call(args, stdout=open(fout, "w"), stderr=open(ferr, "w"), stdin=(None if stdin==None else open(stdin, "r")))
+ if retcode != 0:
+ print "Run %s exited with %d" % (tag.replace("#", run), retcode)
+ print open(ferr, "r").read(),
+ if strict:
+ exit(1)
+ return False
+ else:
+ return True
+
+# setup data & temp directories with all needed input files
+
+temp = os.path.normpath(data + "/temp")
+if not quick:
+ if os.path.exists(temp):
+ shutil.rmtree(temp)
+ os.mkdir(temp)
+
+ runit([bin + "gzip", "-d", "-c", _f("^.fa.gz")], "gunzip-ref", strict=True, stdout=_f("temp/^.fa"))
+ runit([bin + "gzip", "-d", "-c", _f("^_in1.fq.gz")], "gunzip1", strict=True, stdout=_f("temp/^_in1.fq"))
+ runit([bin + "gzip", "-d", "-c", _f("^_in2.fq.gz")], "gunzip2", strict=True, stdout=_f("temp/^_in2.fq"))
+ runit([bin + "samtools", "view", "-h", _f("^_in12.bam"), "-o", _f("temp/^_in12.sam")], "samtools1", strict=True)
+ runit([bin + "samtools", "view", _f("^_ref1.bam"), "-o", _f("temp/^_ref1u.sam")], "samtools2", strict=True)
+ runit([bin + "sort", _f("temp/^_ref1u.sam")], "namesort-ref1", stdout=_f("temp/^_ref1.sam"), strict=True)
+ os.remove(_f("temp/^_ref1u.sam"))
+ runit([bin + "samtools", "view", _f("^_sorted_ref1.bam"), "-o", _f("temp/^_sorted_ref1.sam")], "samtools3", strict=True)
+ runit([bin + "samtools", "view", _f("^_ref12.bam"), "-o", _f("temp/^_ref12u.sam")], "samtools4", strict=True)
+ runit([bin + "sort", _f("temp/^_ref12u.sam")], "namesort-ref12", stdout=_f("temp/^_ref12.sam"), strict=True)
+ os.remove(_f("temp/^_ref12u.sam"))
+ runit([bin + "samtools", "view", _f("^_sorted_ref12.bam"), "-o", _f("temp/^_sorted_ref12.sam")], "samtools5", strict=True)
+ # create index
+ runit([snap, "index", _f("temp/^.fa"), _f("temp/^.idx")], "snap-index", strict=True)
+
+inputs = {
+ "fq": [["temp/^_in1.fq"], ["temp/^_in1.fq", "temp/^_in2.fq"]],
+ "fq.gz": [["^_in1.fq.gz"], ["^_in1.fq.gz", "^_in2.fq.gz"]],
+ "sam": [["temp/^_in12.sam"], ["temp/^_in12.sam"]],
+ "bam": [["^_in12.bam"], ["^_in12.bam"]]
+}
+
+formats = {
+ "fq": "-fastq",
+ "fq.gz": "-compressedFastq",
+ "sam": "-sam",
+ "bam": "-bam"
+}
+
+runs = 0
+failed = 0
+for input_format in ["fq", "fq.gz", "bam", "sam"]:
+ for paired in [0, 1]:
+ for input_format_2 in ["", "fq", "fq.gz", "bam", "sam"]:
+ test_output_format = ["sam", "bam"] if input_format == "fq" and input_format_2 == "" else ["bam"]
+ test_sorted = [0, 1] if (input_format == "fq" or input_format == "bam") and input_format_2 == "" else [0]
+ for output_format in test_output_format:
+ for sorted in test_sorted:
+ test_pipe = [0, 1] if sorted == 0 and (input_format == "bam" or input_format == "sam" or paired == 0) and input_format_2 == "" else [0]
+ for pipe in test_pipe:
+ test_threads = ["1", "4"] if input_format == "fq" and output_format == "bam" and sorted == 1 and pipe == 0 else ["4"]
+ for threads in test_threads:
+ runs += 1
+ temps = [] # temporary files, deleted on success
+ # build & run snap command line
+ args = [snap, ["single", "paired"][paired], _f("temp/^.idx")]
+ args = args + ["-t", threads, "-b", "-="]
+ if pipe == 0:
+ args = args + _ff(inputs[input_format][paired])
+ if input_format_2 != "":
+ args = args + _ff(inputs[input_format_2][paired])
+ else:
+ args = args + [formats[input_format], "-"]
+ if sorted:
+ args.append("-so")
+ run = "%s-%s-%s-%s-%s-%s-%s" % (input_format, input_format_2, ["single", "paired"][paired], output_format, ["unsorted", "sorted"][sorted], threads, ["file", "pipe"][pipe])
+ outfile = _f("temp/output-#." + output_format)
+ if pipe == 0:
+ args = args + ["-o", outfile]
+ else:
+ args = args + ["-o", formats[output_format], "-"]
+ ok = runit(args, "snap-#") if pipe ==0 else runit(args, "snap-#", stdin=_f(inputs[input_format][paired][0]), stdout=outfile)
+ temps.append(outfile)
+ if not ok:
+ failed += 1
+ continue
+ # validate output
+ ok = runit(["java", "-jar", _f("ValidateSamFile.jar"), "input=" + outfile, "output=" + _f("temp/validate-#")], "validate-#")
+ temps.append(_f("temp/validate-#"))
+ if not ok:
+ failed += 1
+ continue
+ if False:
+ # todo: need more sophisticated diff
+ # remove header, convert to SAM if needed
+ samfile = _f("temp/output-nh-#.sam")
+ ok = runit([bin + "samtools", "view"] + {"bam":[], "sam":["-S"]}[output_format] + [outfile, "-o", samfile], "samtools-view-#")
+ temps.append(samfile)
+ if not ok:
+ failed += 1
+ continue
+ outfile = samfile
+ # sort by name if not sorted by coordinate
+ if sorted == 0:
+ sortfile = _f("temp/output-namesort-#.sam")
+ ok = runit([bin + "sort", outfile], "namesort-#", stdout=sortfile)
+ temps.append(sortfile)
+ if not ok:
+ failed += 1
+ continue
+ outfile = sortfile
+ # compare with reference file
+ use12 = "12" if paired or input_format == "sam" or input_format == "bam" else "1"
+ reffile = _f("temp/^%s_ref%s.sam" % (["", "_sorted"][sorted], use12))
+ ok = runit([bin + "diff", outfile, reffile], "diff-#")
+ if not ok:
+ failed += 1
+ continue
+ # delete temp files
+ for f in temps:
+ os.remove(f)
+print "completed %d runs, %d failures" % (runs, failed)
diff --git a/tests/main.cpp b/tests/main.cpp
new file mode 100644
index 0000000..743505b
--- /dev/null
+++ b/tests/main.cpp
@@ -0,0 +1,7 @@
+#include "TestLib.h"
+
+int main(int argc, char **argv) {
+ // Allow passing in a substring to search for in test names
+ char *filter = (argc == 2 ? argv[1] : NULL);
+ return test::runAllTests(filter);
+}
diff --git a/tests/tests.vcxproj b/tests/tests.vcxproj
new file mode 100644
index 0000000..44f1735
--- /dev/null
+++ b/tests/tests.vcxproj
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="EventTest.cpp" />
+ <ClCompile Include="LandauVishkinTest.cpp" />
+ <ClCompile Include="main.cpp" />
+ <ClCompile Include="ProbabilityDistanceTest.cpp" />
+ <ClCompile Include="TestLib.cpp" />
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="TestLib.h" />
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{CC0CF065-B3A9-46E4-829C-9386F8FE0A0E}</ProjectGuid>
+ <Keyword>Win32Proj</Keyword>
+ <RootNamespace>tests</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <LinkIncremental>true</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\test\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\snap\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <LinkIncremental>false</LinkIncremental>
+ <OutDir>$(SolutionDir)\obj\bin\$(Configuration)\$(Platform)\</OutDir>
+ <IntDir>$(SolutionDir)\obj\obj\test\$(Configuration)\$(Platform)\</IntDir>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>libhdfs.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <ClCompile>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <AdditionalDependencies>libhdfs.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>libhdfs.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions);_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
+ <AdditionalIncludeDirectories>..\snaplib\</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <SubSystem>Console</SubSystem>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ <AdditionalDependencies>libhdfs.lib;snaplib.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);zlibstat.lib</AdditionalDependencies>
+ <AdditionalLibraryDirectories>$(SolutionDir)obj\lib\$(Configuration)\$(Platform)\;$(SolutionDir)import</AdditionalLibraryDirectories>
+ </Link>
+ </ItemDefinitionGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/tests/tests.vcxproj.filters b/tests/tests.vcxproj.filters
new file mode 100644
index 0000000..aa69803
--- /dev/null
+++ b/tests/tests.vcxproj.filters
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Source Files">
+ <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+ <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+ </Filter>
+ <Filter Include="Header Files">
+ <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+ <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
+ </Filter>
+ <Filter Include="Resource Files">
+ <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
+ <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="EventTest.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="LandauVishkinTest.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="main.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="ProbabilityDistanceTest.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="TestLib.cpp">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="TestLib.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ </ItemGroup>
+</Project>
\ No newline at end of file
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/snap-aligner.git
More information about the debian-med-commit
mailing list